- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
直接存储器读取(DMA)方式 为了进一步提高CPU的利用率,人们提出了直接内存访文技术,即Direct Memory Access,简称DMA技术。 在DMA方式下,外部设备利用专门的接口电路直接和内存进行高速的数据交换,不需要CPU的干预。这样在进行数据传输时就不需要像中断那样要进行保护断点之类的一系列操作,使CPU的利用率得到大幅度的提高。 利用DMA方式进行数据传输时,当然要利用系统中的数据总线,地址总线和控制总线,但是系统的总线是由CPU管理控制的。因此用DMA方式进行数据传输的时候,接口电路需要向CPU发送总线请求,申请CPU让出总线,即把总线控制权交给控制DMA传输的接口电路。 这种能够控制系统总线完成外设与内存之间大量数据交换的接口电路就是DMA控制器。 第6章 输入输出接口技术 本章重点 I/O接口的基本概念 输入输出IN/OUT指令 程序查询输入输出方式 中断输入输出方式 DMA输入输出方式 I/O端口地址分配 I/O端口地址译码 计算机系统的I/O接口 为什么输入输出设备不能像存储器一样直接连在总线上? 6.1 接口技术基本概念 ALU CPU I/O 设备 CU 主存M I/O接口 地址总线AB 控制总线CB 数据总线DB 外设接口(I/O接口)的必要性 外设的种类繁多,而存储器的种类单一,必须经过接口电路连接到总线上。 外设的速度较慢,而存储器的速度较快,必须经过接口电路进行数据的缓冲和锁存。 外设的信号多种多样,必须经过接口电路转换成处理器可以识别的信号。 I/O接口的作用相当与一个转换器,它可以保证外围设备用计算机所要求的形式发送或接受信息。 I/O接口的功能 进行译码选址——在具有多台外设的系统中,外设接口必须能够进行地址译码,确定本设备是否被选中 转换信息格式——接口电路完成串/并转换、并/串转换 协调定时差异——为了缓解主机与外设之间的速度差异,对传输的数据或地址加以缓冲或锁存 提供联络信号——接口电路向主机提供外部设备“就绪”、“忙”,数据缓冲器“满”、“空”等状态信号 中断管理功能——接口电路有产生并管理中断请求和DMA请求的能力,以满足实时系统以及大批量数据传送的能力 可编程——对一些通用的接口电路,应该具有通过软件编程控制外设工作方式的能力 错误检测功能——对通信过程中的传输错误或者溢出错误能够进行实时检测 I/O接口的组成 控制寄存器 地址译码器 状态 寄存器 数据缓冲 寄存器 控制逻辑电路 I/O接口 外 部 设 备 数据线 数据线 C P U 控制 命令线 状态 状态线 地址线 I/O接口与I/O端口 端口:CPU能够直接访问的I/O接口内部的寄存器称为端口 端口号:每一个端口的访问地址 I/O接口 CPU与I/O接口传递的信息 数据信息: CPU 输入输出设备 CPU 输入输出设备 控制信息: CPU 输入输出设备 控制命令 外设状态 状态信息: 输入输出设备 CPU 数据信息、状态信息和控制信息都是通过数据总线传送的。 CPU写入控制端口的数据是CPU对外设的控制信息; CPU读状态端口的数据是外设的状态信息; CPU写数据端口的数据是CPU送给外设的数据 CPU读数据端口的数据是外设送给CPU的数据 I/O端口编址方式 为了便于CPU访问端口,每一个端口都有一个地址,系统有两种方式为端口分配地址: I/O端口和存储器统一编址 统一编址就是从存储器空间中划分出一部分给I/O设备,把I/O端口当作存储单元来访问。 例如:设CPU有16根地址线,存储空间为64K,规定地址总线的最高位A15=1访问I/O端口,A15=0访问存储器,则0~32K为存储器地址空间,32K~64K为I/O端口地址空间。 统一编址的优点是不需要专门的I/O指令,凡对存储器有效的访问指令都可以访问I/O端口,访问形式灵活。缺点是端口占用了一定的存储空间,存储器空间变小。 6.3 I/O端口编址方式及地址译码 20 16 统一编址方式 I/O端口和存储器独立编址 独立编址就是I/O端口地址补占用存储器地址空间,两者的地址空间完全独立,都从0开始编址。独立编址需要专门的I/O端口访问指令。 8086采用存储器与I/O端口独立编址方式,即内存单元和I/O端口从0单元开始编址。当引脚M/IO为高电平时访问存储器,当M/IO为低电平时访问I/O端口。 8086有专门的访问I/O端口的指令(IN和OUT),当8086在执
文档评论(0)