汇编语言第8章输入输出接口

上传人:tian****1990 文档编号:74789997 上传时间:2019-01-29 格式:PPT 页数:40 大小:305.96KB
返回 下载 相关 举报
汇编语言第8章输入输出接口_第1页
第1页 / 共40页
汇编语言第8章输入输出接口_第2页
第2页 / 共40页
汇编语言第8章输入输出接口_第3页
第3页 / 共40页
汇编语言第8章输入输出接口_第4页
第4页 / 共40页
汇编语言第8章输入输出接口_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《汇编语言第8章输入输出接口》由会员分享,可在线阅读,更多相关《汇编语言第8章输入输出接口(40页珍藏版)》请在金锄头文库上搜索。

1、第8章 I/O 接口与DMA技术,本章主要内容,(1) I/O接口的基本概念 (2) I/O控制方式 (3) DMA接口技术 (4) 可编程DMA控制器8237,8.1 I/O接口概述,8.1.1 I/O接口的基本功能 (1) 数据缓冲 (2) 提供联络信息 (3) 信号与信息格式的转换 (4) 设备选择 (5) 中断管理 (6) 可编程功能,8.1.2 I/O接口的基本结构 I/O接口的基本结构如图8.1所示。,cpu,外 围 设 备,数据输入寄存器,数据输出寄存器,状态寄存器,控制寄存器,中断控制逻辑,数据总线,地址总线,控制总线,图8.1 I/O 接口的基本结构,I/O接口,8.1.3

2、I/O端口的编址方式,输入输出接口包含一组称为I/O端口的寄存器。为了让CPU能够访问这些I/O端口,每个I/O端口都需有自己的端口地址(或端口号)。 在一个微型计算机系统中,如何编排这些I/O接口的端口地址,称为I/O端口的编址方式。,常见的I/O端口编址方式有两种: 一种是I/O端口和存储器统一编址,也称存储器映像的I/O(MemoryMapped I/O)方式; 另一种是I/O端口和存储器分开编址,也称I/O映像的I/O(I/O Mapped I/O)方式,1. I/O端口和存储器统一编址 (Memory-mapped I/O) I/O端口和存储器统一编址的地址空间分布情况如图8.2所示

3、。,I/O 端口,存储单元,I/O 地址空间,存储器地址空间,整个地址空间,图8.2 I/O 端口和存储器统一编址,这种编址方式的优点是,可以用访向存储器的指令来访问I/O端口,而访问存储器的指令功能比较强,不仅有一般的传送指令,还有算术、逻辑运算指令,以及各种移位、比较指令等,并且可以实现直接对I/O端口内的数据进行处理。 例如,若一个存储器映像的I/O端口地址为3000H, 则可以直接用指令“ADD AL, DS:3000H”对端口的内容进行算术运算。,缺点是: 由于I/O端口占用了一部分存储器地址空间,因而使用户的存储地址空间相对减小; 另外,由于利用访问存储器的指令来进行I/O操作,指

4、令的长度通常比单独I/O指令要长,因而指令的执行时间也较长。 微处理器MC6800系列、6502系列以及MC680x0系列采用这种编址方式。,2. I/O端口和存储器单独编址 (I/O- mapped I/O) I/O端口和存储器单独编址的地址空间分布如图8.3所示。,存储单元,存储地址空间,I/O 端口,I/O 地址空间,图8.3 I/O 端口和存储器单独编址,这种编址方式的优点是: 第一,I/O端口不占用存储器地址,故不会减少用户的存储器地址空间; 第二,单独I/O指令的地址码较短,地址译码方便,I/O指令短,执行速度快; 第三,采用单独的I/O指令,使程序中I/O操作和其他操作层次清晰,

5、便于理解。,这种编址方式的缺点是: 第一,单独I/O指令的功能有限,只能对端口数据进行输入/输出操作,不能直接进行移位、比较等其他操作; 第二,由于采用了专用的I/O操作时序及I/O控制信号线,因而增加了微处理器本身控制逻辑的复杂性。 微处理器Z80系列、Intel 80x86系列采用了这种编址方式。,8.1.4 I/O接口的地址分配,表8-1 系统板I/O端口地址分配,表8-2 扩展槽I/O端口地址分配,8.1.5 I/O接口的地址译码及片选信号的产生,在一个微机系统中通常具有多台外设,当CPU与外设进行通信时,需要对各个设备所对应的接口芯片进行逻辑选择,从而实现与相应的设备进行数据交换。

6、这种逻辑选择功能是由I/O接口电路中的地址译码器实现的。 目前常见的一种做法是:先通过对I/O端口地址的某几位高位地址进行译码,产生有效的片选信号,从而选中对应的接口芯片,再利用I/O端口地址的低位地址作为对接口芯片内部有关寄存器的选择。,例如,在IBMPC/XT微机中,其系统板上有数片I/O接口芯片,其中包括DMA控制器8237、中断控制器8259A、并行接口8255A、计数器/定时器8253等。 这些接口芯片必须是在相应的片选信号有效时才能工作。 图8.4所示的就是在该微机系统中片选信号的产生电路。,A Y0 B Y1 C Y2 Y3 Y4 G2B Y5 G2A Y6 G1 Y7,A5,A

7、6,A8,74LS138,A7,A9,AEN,PPICS,T/C CS,INTRCS,DMACS,IOW,WRTDMAPG(写DMA页面寄存器),WRTNMIREG(写NMI屏蔽寄存器),图8.4 片选信号的产生,8.2 I/O控制方式,主机与外围设备之间的数据传送控制方式(即I/O控制方式)主要有三种: 程序控制方式、中断控制方式和直接存储器存取(DMA)方式。 8.2.1 程序控制方式 程序控制方式是指在程序控制下进行的数据传送方式。它又分为无条件传送和程序查询传送两种。 1. 无条件传送方式 优点: 缺点:,2. 程序查询传送方式 优点: 缺点:,8.2.2 中断控制方式,与程序查询方式

8、相比,中断控制方式的数据交换具有如下特点: (1) 提高了CPU的工作效率; (2) 外围设备具有申请服务的主动权; (3) CPU可以和外设并行工作; (4) 可适合实时系统对I/O处理的要求。,8.2.3 DMA方式,1. DMA的基本概念 采用程序控制方式以及中断方式进行数据传送时,都是靠CPU执行程序指令来实现数据的输入/输出的。 采用程序控制方式及中断方式时,数据的传输率不会很高。 对于高速外设,如高速磁盘装置或高速数据采集系统等,采用这样的传送方式,往往满足不了其数据传输率的要求。 例如,对于磁盘装置,其数据传输率通常在20万字节/秒以上,即传输一个字节的时间要小于5s。,对于通常

9、的PC机来说,执行一条程序指令平均需要几s时间。显然,采用程序控制或中断方式不能满足这种高速外设的要求。 由此产生不需要CPU干预(不需CPU执行程序指令),而在专门硬件控制电路控制之下进行的外设与存储器间直接数据传送的方式,称为直接存储器存取(Direct Memory Access),简称DMA方式。 这一专门的硬件控制电路称为DMA控制器,简称DMAC。,CPU,外设,存储器,总线,:执行程序指令的数据传送路径; :DMA方式的数据传送路径,图8.7 两种不同的数据传送路径,2. 几种不同形式的DMA传送,外设,外设,DMAC,内存,内存,DMAC,图 8-8 DMA传送的几种形式,8.

10、3 DMA接口技术,8.3.1 DMA控制器的基本功能 (1) 能接收I/O接口的DMA请求,并向CPU发出总线请求信号; (2) 当CPU发出总线回答信号后,接管对总线的控制,进入DMA传送过程; (3) 能实现有效的寻址,即能输出地址信息并在数据传送过程中自动修改地址;,(4) 能向存储器和I/O接口发出相应的读/写控制信号; (5) 能控制数据传送的字节数,控制DMA传送是否结束; (6) 在DMA传送结束后,能释放总线给CPU,恢复CPU对总线的控制。,8.3.2 DMA控制器的一般结构 一个单通道DMA控制器的一般结构及其与I/O接口的连接如图8.9所示。 图8.9的上半部分是I/O

11、接口,下半部分是DMA控制器。,计数结束信号 (可作为中断请求信号),控制寄存器,状态寄存器,数据输入寄存器,数据输出寄存器,控制寄存器,状态寄存器,地址寄存器,字节计数寄存器,数据总线,控制总线,数据总线,控制总线,地址总线,地址总线,地址译码器,DMA控制器,DMA请求,DMA响应,中断请求,外设,I/O 接口,总线回答,总线请求,图8.9 DMA控制器的一般结构及其与I/O 接口的连接,8.3.3 DMA控制器的工作方式,DMA控制器的工作方式通常有“单字节传输方式”、“块传输方式”以及“请求传输方式”等,下面分别予以说明。 1. 单字节传输方式 在单字节传输方式下,DMA控制器每次请求

12、总线只传送一个字节数据,传送完后即释放总线控制权。 在此方式下,总线控制权处于CPU与DMA控制器交替控制之中,其间,总线控制权经过多次交换。 2. 块传输方式(也称成组传输方式) 块传输方式是指DMA控制器每次请求总线即连续传送一个数据块,待整个数据块全部传送完成后再释放总线控制权。,3. 请求传输方式 每传输完一个字节,DMA控制器都要检测由I/O接口发来的“DMA请求”信号是否仍然有效,如果该信号仍有效,则继续进行DMA传输; 否则,就暂停传输,交还总线控制权给CPU,直至“DMA请求”信号再次变为有效,数据块传输则从刚才暂停的那一点继续进行下去。,8.3.4 DMA工作过程,在DMA方

13、式下,往往传送的是一个数据块,但传送这个数据块的具体操作方式,可以采用上面介绍的单字节传输方式,也可采用块传输或请求传输方式。 下面先以从内存输出一个字节数据到外设的DMA传送过程为例,具体说明DMA的操作过程。 然后再给出以DMA方式输入一个数据块的工作过程。以DMA方式从内存输出一个字节数据到外设的具体工作过程如图8.10中第步所示。,(6) 内存把数据送数据总线,(7) 接口锁存数据,内存,接口,DMA 控制器,I/O 设备,8086 和总线 控制逻辑,HOLD HLDA,(1) 接口准备就绪,发DMA请求,(2) 发总线请求,(3) 总线允许,(5) DMA请求得到确认,(9) 808

14、6收回总线控制权,(8) 撤销总线请求,(4) DMA控制器把地址送地址总线,数据总线,控制总线,地址总线,图 8-10 以DMA方式输出一个字节数据的工作过程,若从外设往内存输入一个数据块(输入过程),在单字节传输方式下,其主要工作过程为: (1) I/O接口向DMA控制器发送DMA请求信号; (2) DMA控制器向CPU发总线请求信号,当得到CPU送来的总线允许信号后,DMA控制器获得总线控制权; (3) DMA控制器将其地址寄存器的内容送到地址总线上。,(4) DMA控制器往I/O接口发送DMA响应信号,并接着发出读I/O接口信号IOR,令I/O接口把数据送到数据总线上; (5) DMA控制器发出存储器写信号MEMW,将数据传送到由地址总线上的地址所指向的内存单元; (6) DMA控制器放弃对总线的控制权; (7) 地址寄存器加1; (8) 字节计数寄存器减1; (9) 如果字节计数寄存器的值不为零,则返回第一步,否则结束。,第8章 作业,8.1 8.2 8.3 8.5 8.6 8.7 8.11,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号