1、1,Ch03-输入和输出方式,Computer Principle,输入和输出方式 天津工业大学计算机学院 丁 刚 ,2,Ch04-输入和输出方式,章节内容,输入输出概述 CPU与外设数据传送的方式,3,1-输入和输出概述,接口作用,外部设备为什么一定要通过接口电路与主机相连? 存储器用来保存信息,传送方式单一(字/字节),品种有限(只读/可读写),存储速度与CPU相匹配 外设功能多样(输入/输出,模拟/数字,串行/并行) 同一时刻CPU只能与一个外设交换信息 外设速度低,接口用来缓冲和联络 转换方式,缓冲/锁存数据,4,1-输入和输出概述,端口与接口,I/O端口接口中的寄存器,每个端口有一个
2、端口地址。(数据、状态、控制) I/O接口将外设连接到总线上的一组逻辑电路的总称,实现外设与主机之间的信息交换。,5,1-输入和输出概述,端口与接口,输入/输出中用到的地址是端口地址 一个双向工作的接口芯片通常有4个端口:数据输入、数据输出、状态、控制端口。 节省地址空间:数据输入/输出端口对应一个端口地址,状态/控制端口对应一个端口地址。,6,1-输入和输出概述,端口编址方式 统一,内存和端口地址统一编址 指令及控制信号统一 内存地址资源减少,7,1-输入和输出概述,端口编址方式 统一,特点:把外设端口看作存储器的一个单元,占有一个存储器地址。从外设输入数据,看作存储器读操作;向外设输出数据
3、,看作存储器写操作; 优点:内存和外设地址由一个译码器解决,不需专门I/O指令,全部存储器指令可用,指令多,使用方便; 缺点:占用内存空间,寻址的地址字节增加,增加了指令的执行时间。,8,1-输入和输出概述,端口编址方式 独立,内存和端口地址独立编址 内存地址资源充分利用 用于端口的指令较少,9,1-输入和输出概述,端口编址方式 独立,特点:Pentium微处理器采用独立编址方式 CPU有专门I/O指令,用地址区分不同的外设 8086用一个字节寻址,可寻址256个端口; 用DX间接寻址外设时,端口地址是16位的,可寻址64K个端口地址,10,1-输入和输出概述,端口编址方式,在80X86CPU
4、构成的系统中: 内存地址可用于接口,即统一编址方式; 接口地址不能作为内存地址使用,但可作为外存使用,用于存放数据或程序,用的时候先读到内存中然后再用。,11,1-输入和输出概述,端口编址方式,Ex:80X86采用独立I/O方式编址时,I/O地址与存储器地址一样由段基址和偏移地址两部分组成( ),分析: 采用独立I/O方式编址时,I/O地址是线性地址 采用存储器映象方式编址,I/O地址是二维的,由段基址和偏移地址两部分组成。,12,1-输入和输出概述,接口的构成,13,2-CPU与外设数据传送的方式,接口信息,数据信息 状态信息 控制信息,14,2-CPU与外设数据传送的方式,接口信息数据,数
5、字量 读入或写出的二进制数据或ASCII码数据,8位 模拟量 如现场控制信号:温度等经过传感器转换为电量,并经放大得到模拟电压或电流(A/D,D/A) 开关量 1位二进制表示两种状态,15,2-CPU与外设数据传送的方式,接口信息状态.控制,状态信息 输入设备:READY表示输入信息就绪;输出设备:BUSY表示输出设备空闲 控制信息 CPU通过接口传送给外设,CPU通过发送控制信息控制外设工作,16,2-CPU与外设数据传送的方式,传送方式,程序方式:(无条件方式和条件查询方式)程序用指令直接实现传送(IN, OUT) 中断方式:用于复杂外设的数据传送 DMA方式:外设和CPU直接传输,17,
6、2-CPU与外设数据传送的方式,程序方式无条件,适用于总是处于准备好状态的外设 优点:软件及接口硬件简单,IN/OUT 缺点:只适用于简单外设,适应范围较窄 一般只需一个数据端口 外部设备的各种动作时间是已知的、固定的,18,2-CPU与外设数据传送的方式,程序方式条件查询,适用于:外设并不总是准备好,对传送速率和效率要求不高的场合 对外设及接口的要求:外设应提供设备状态信息,接口应具备状态端口 优点:软件比较简单 缺点:CPU效率低,数据传送实时性差,速度较慢 不同的外设的状态信息可以使用同一个端口的不同位来表示,19,2-CPU与外设数据传送的方式,中断方式,CPU执行程序时,由于发生了某
7、种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。,20,2-CPU与外设数据传送的方式,中断方式,引入中断的原因: 提高数据传输率,匹配高速内存和低速外设; 避免了CPU不断检测外设状态的过程,提高了CPU的利用率; 实现对特殊事件的实时响应。,21,2-CPU与外设数据传送的方式,DMA方式,外设直接与存储器进行数据交换,CPU不再担当数据传输的中介者; 总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控
8、制信号均由DMAC提供。,22,2-CPU与外设数据传送的方式,DMA原理,23,2-CPU与外设数据传送的方式,DMA原理,1. 外设向DMA控制器发出“DMA传送请求”信号DRQ; 2. DMA控制器收到请求后,向CPU发出“总线请求”信号HOLD; 3. CPU在完成当前总线周期后会立即发出HLDA信号,对HOLD信号进行响应; 4. DMA控制器收到HLDA信号后,就开始控制总线,并向外设发出DMA响应信号DACK,24,2-CPU与外设数据传送的方式,DMA原理,5. 控制器送出地址信号和相应的控制信号,实现外设与内存或内存与内存之间的直接数据传送; 6. DMA控制器自动修改地址和
9、字节计数器,并判断是否需要重复传送操作。当规定的数据传送完后,DMA控制器就撤销发往CPU的HOLD信号。CPU检测到HOLD失效后,紧接着撤销HLDA信号,并在下一时钟周期重新开始控制总线。,25,2-CPU与外设数据传送的方式,DMA形式,存储器外设 存储器存储器 外设外设,26,2-CPU与外设数据传送的方式,DMA操作方法,周期挪用 周期扩展 CPU停机方式,27,2-CPU与外设数据传送的方式,DMA操作周期挪用,原理:把CPU不访问存储器的那些周期“挪用”来进行DMA操作,DMAC可以使用总线而不用通知也不影响CPU 主要问题:如何识别可挪用的周期,以避免与CPU的操作发生冲突 缺
10、点:电路复杂,数据的传送是不连续合不规则的,使用不普遍,28,2-CPU与外设数据传送的方式,DMA操作周期扩展,原理:使用专门的时钟发生器/驱动器电路,当需要进行DMA操作时,由DMAC发出请求信号给时钟电路。于是时钟电路把CPU的时钟周期加宽,而提供给存储器和DMAC的时钟周期不变,这样CPU在加宽的时钟周期内操作不往下进行,而这加宽的时钟周期相当于若干个正常的时钟周期,可用来进行DMA操作。在加宽的时钟结束后,CPU仍按正常的时钟继续操作。 缺点:降低CPU处理速度,且加宽CPU时钟周期有限制,一次只能传送一个字节,29,2-CPU与外设数据传送的方式,DMA操作CPU停机,原理:DMA
11、C要进行DMA传送时,向CPU请求其让出总线控制权,使DMAC控制总线进行数据传送,直至DMAC完成传送后,CPU再恢复对系统总线的控制,继续被中断了的操作 缺点:CPU处于空闲期间,降低处理效率,且会影响CPU对中断的响应和动态存储器的刷新 应用:单字节、块传送,应用普遍,30,2-CPU与外设数据传送的方式,传送方式举例,Ex:(东南大学2000年考研试题)从硬件角度而言,采用硬件最少的数据传送方式是 ( )A.DMA传送 B.中断传送C.查询传送 D.无条件传送,D,31,2-CPU与外设数据传送的方式,传送方式举例,Ex:(国防科技大学2001年考研试题)在三种基本I/O同步控制方式中,以DMA式控制最好,中断驱动次之,程序查询式最差( ),32,Ch04-输入和输出方式,章节回顾,输入输出概述 CPU与外设数据传送的方式,