文档详情

32位微机原理与接口技术钱晓捷课件07.ppt

发布:2018-01-06约1.37万字共94页下载文档
文本预览下载声明
微机原理与接口技术--基于IA-32处理器和32位汇编语言·第4版 第7章 输入输出接口 第 7 章 输入输出接口 7.1 I/O接口概述 7.2 无条件传送和程序查询传送 7.3 中断控制系统 7.4 DMA传送 7.1 I/O接口概述 微机的外部设备多种多样 工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大 它们不能与CPU直接相连 必须经过中间电路(I/O接口)再与系统相连 I/O接口是位于基本系统与外设间、实现两者数据交换的控制电路 在PC机主板上的可编程接口电路 系统总线插槽中的电路卡(Card) 7.1.1 I/O接口的典型结构 1. 内部结构 数据寄存器 保存处理器与外设之间交换的数据 数据输入寄存器:保存从输入设备获取的数据,处理器选择合适的方式进行读取 数据输出寄存器:保存处理器发往输出设备的数据,适时到达输出设备 状态寄存器 保存接口电路和外设当前的工作状态信息 控制寄存器 保存处理器控制接口电路和外设操作的有关信息 2. 外部特性 接口电路的外部特性由其引出信号来体现 I/O接口处于处理器与外设之间: 面向微处理器一侧的信号 与处理器总线或系统总线类似 有数据信号、地址信号和控制信号等 面向外设一侧的信号 与外设有关 外设数据信号、外设状态信号和外设控制信号 3. 基本功能 数据缓冲 匹配快速的处理器与相对慢速的外设的数据交换 缓冲:实现接口双方数据传输的速度匹配 信号变换 把信号相互转换为适合对方的形式 计算机直接处理的信号 数字量(0和1组成的信号编码) 开关量(只有两种状态的信号) 脉冲量(低脉冲信号,高脉冲信号) 4. 软件编程 接口芯片具有可编程性(Programmable) 命令字(控制字) 写入接口芯片、选择工作方式、控制数据传输 初始化程序 选择I/O接口工作方式、设置原始工作状态等 驱动程序 操纵I/O接口完成具体工作 7.1.2 I/O端口的编址 I/O端口=I/O地址,对应I/O接口的寄存器 一个接口电路可以具有多个I/O端口,每个端口用来保存和交换不同的信息 数据寄存器、状态寄存器和控制寄存器占有的I/O地址常依次被称为数据端口、状态端口和控制端口 输入、输出端口可以是同一个I/O地址 1. I/O端口与存储器地址独立编址 I/O端口单独编排地址,独立于存储器地址 优点: I/O端口的地址空间独立 控制和地址译码电路相对简单 专门的I/O指令使程序清晰易读 缺点: I/O指令没有存储器指令丰富 2. I/O端口与存储器地址统一编址 将I/O端口与存储器地址统一编排 优点: 不需要专门的I/O指令 I/O数据存取灵活 缺点: 占去部分存储器空间 程序不易阅读 3. I/O地址译码 与存储器地址译码在原理和方法上完全相同 I/O地址不太强调连续,多采用部分译码 7.1.3 输入输出指令 输入指令IN:数据从I/O接口输入到微处理器 IN AL/AX/EAX,i8/DX 输出指令OUT:数据从微处理器输出I/O接口 OUT i8/DX,AL/AX/EAX 串输入INS指令 串输出OUTS指令 1. I/O寻址方式 直接寻址 I/O指令直接提供8位I/O地址 只能寻址最低256个I/O地址(00~FFH) 用i8表示I/O地址,表达形式上与立即数一样 DX间接寻址 用DX寄存器保存访问的I/O地址 可寻址全部I/O地址(0000~FFFFH) 直接书写成DX,表示I/O地址 2. I/O数据传输量 8位I/O传输:I/O指令使用AL 16位I/O传输:I/O指令使用AX 32位I/O传输:I/O指令使用EAX 3. I/O保护 I/O敏感指令 IN、OUT和INS、OUTS,CLI和STI IA-32处理器保护方式下,I/O特权和I/O许可位图限制I/O敏感指令的执行 程序的当前特权高于或等于程序的I/O特权,I/O敏感指令才可以执行 I/O许可位图给特权低的程序或虚拟8086方式的程序提供有限的I/O地址访问权限 Windows限制应用程序访问I/O地址 教材将利用DOS操作系统实践I/O程序 7.1.4 16位DOS应用程序 16位DOS操作系统运行于 Intel 8086和8088处理器 IA-32处理器的实地址工作方式 DOS平台下使用实地址存储模型 只能访问1MB存储空间,分成不大于64KB的段 默认采用16位操作数尺寸: 使用16位或8位寄存器、操作数和寻址方式 堆栈以16位为单位压入PUSH和弹出POP数据 IA-32处理器的实地址工作方式 还允许使用32位寄存器、操作数和寻址方式 执行大多数新增的32位通用指令 1. DOS平台的源程序框架 ; eg0700.asm in DOS include io16.inc ; 包含16位输入输出文
显示全部
相似文档