- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2016第六章输入输出技术
第六章 输入/输出技术 6.1 I/O接口 I/O接口的基本概念 输入/输出(I/O):是指主机与外部设备交换信息—即通信。 I/O接口: CPU与外设进行信息交换的中介部件。 I/O系统:包括I/O接口、I/O设备、I/O管理部件和I/O有关的软件。 CPU与外设间交换信息 状态信号 是指CPU与I/O外设之间交换数据时的联络信息。CPU通过对外设状态信号的读取,来判断外设的工作状态,以控制与外设的数据交流。 控制信号 用于设置I/O外设(包括I/O接口)的工作模式。 状态信息和控制信息与数据是不同性质的信息,必须要分别传送。但在大部分微型机中(8086也如此),只有通用的IN和OUT指令,因此,外设的状态也必须作为一种数据输入;而CPU的控制命令也必须作为一种数据输出。所以,一个外设往往要几个端口地址,CPU寻址的是端口,而不是笼统的外设。 接口电路的功能 数据缓冲功能:用于解决高速主机与低速外设处理数据速度差异的矛盾。 联络功能:接口电路应提供外设的状态 设备选择:能进行I/O端口地址译码。 信号与信息格式的转换:能进行数据格式的转换,如正负逻辑转换、串并行间的转换等。 中断管理功能:如建立中断请求、进行中断优先权排队、提供中断识别码等。 能提供有关电器特性的适配。 接收CPU控制总线的读/写等控制信号以实现对各寄存器的读/写操作和提供时序控制等。 I/O接口的基本结构 I/O端口:在I/O接口电路中的用于与CPU交换信息的寄存器称为I/O端口寄存器,简称“端口” 。 I/O端口的分类 端口可分三类: 数据端口:存放数据信。 状态端口:存放状态信息。 控制端口:存放控制信息。 I/O端口编址方式 一个I/O接口电路往往有多个端口地址, CPU实际寻址的是端口寄存器。I/O端口有两种编址方式: I/O端口单独编址 内存地址空间和I/O端口地址是相对独立。因此,对于I/O端口,CPU的指令系统中设置了专用的访问I/O端口的指令IN和,OUT。在8086CPU中, 内存地址为: 00000H ~ FFFFFH。 端口和存储单元统一编址 这种编址方式又叫做存储器映像方式,是从存储器空间划出一部分地址给I/O端口。I/O端口地址就是存储空间的一部分把一个I/O端口看成是一个存储单元。 6.2 输入/输出控制方式 无条件传送方式 传送特点: CPU无需查询状态,直接用IN和OUT指令完成与接口之间的数据传送。 使用条件: 传送不能太频繁,以保证每次传送时外设处于就序状态。 无条件传送方式一般用在对简单外设的操作。如开关、七段显示器等。 工作原理 输入: 由于数据保持时间相对于CPU的处理时间长,可直接将输入缓冲器与CPU的数据总线相连。当CPU执行IN指令时,I/O读信号IOR有效, 来自输入设备的数据到达数据总线,传给CPU。 输出:由于外设速度较慢,要求接口有锁存能力。当CPU执行OUT指令时,I/O读信号IOW有效, CPU输出的信息经数据总线进入输出锁存器并保存着,直到外设取走。 查询方式 查询方式传送信息过程有三个环节组成: ① CPU从I/O端口读取状态字; ② CPU检测状态字,判断是否满足“准备就绪”条件,若不满足,则再读状态字; ③若满足“就绪”,则传送数据。 查询式输入 输入过程: 当数据准备好后,输入设备发送选通信号,其作用是把输入数据存入输入数据锁存器,并 使状态标志触发器置‘1’,这使得三态缓冲器的READY位置‘1’ ; CPU读状态口, 当查询到READY位为‘1’, 就表示输入数据已准备就绪; CPU读数据口,取走数据,并使标志触发器复位, 为输入下一个数据作准备。 查询式输入的流程图与程序: SCAN: IN AL , 状态口地址 TEST AL , 80H JZ SCAN IN AL , 数据口地址 查询式输出 输出设备取得数据后,发确认信号ACK, 使状态触发器置0,表示输出设备空闲。 输出设备空闲时,将状态标志触发器置0,即BUSY位为0,表示为空闲状态,为CPU输出下一数据作准备。 读取状态信息 查询式输出的程序段: SCAN: IN AL , 状态口地址 ;读状态信息 TEST AL, 01H ;检测BUSY标志 JNZ SCAN ;忙,继续查状态 MOV AL ,数据 OUT 数据口地址 , AL ;空,输出数据 例 从终端往缓冲区输入一字符行,当遇到回车符(ODH)或字符行超过80个字符时,输入结束,并自动加上换行符(OAH), 若在输入的81个字符中未见回车符,则在终端上输出信息“BUFFER OVE
原创力文档


文档评论(0)