微机原理与接口技术-第六章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.1.3I/O端口及其编址方式 一、I/O端口和I/O操作 1.I/O端口 端口(port)是接口电路中能被CPU直接访问的寄存器的地址。CPU通过这些地址即端口向接口电路中的寄存器发送命令,读取状态和传送数据,因此,一个接口可以有几个端口,如命令口、状态口和数据口,分别对应于命令寄存器、状态寄存器和数据寄存器。 I/O操作 通常所说的I/O操作是指对I/O端口的操作,而不是对I/O设备的操作,即CPU所访问的是与I/O设备相关的端口,而不是I/O设备本身。 端口地址编址方式 对上述端口有两种编址方式: 一种是端口地址和存储器地址统一编址,即存储器映射方式; 另一种是I/O端口地址和存储器地址分开独立编址,即I/O映射方式。 1.统一编址 这种方式,是从存储器空间划出一部分地址空间给I/O设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令,有一部分对存储器使用的指令也可用于端口。 2.独立编址 这种方式是接口中的端口地址单独编址而不和存储空间合在一起,大型计算机通常采用这种方式, 统一编址优点: 1、由于对I/O设备的访问是使用访问存储器的指令,所以指令类型多,功能齐全,这不仅使访问I/O端口可实现输入/输出操作,而且还可对端口内容进行算术逻辑运算,移位等等; 2、另外,能给端口有较大的编址空间,这对大型控制系统和数据通信系统是很有意义的。 这种方式的缺点是端口占用了存储器的地址空间,使存储器容量减小,另外指令长度比专门I/O指令要长,因而执行速度较慢。 独立编址主要优点是: 1、I/O端口地址不占用存储器空间;使用专门的I/O指令对端口进行操作,I/O指令短,执行速度快。 2、并且由于专门I/O指令与存储器访问指令有明显的区别,使程序中I/O操作和存储器操作层次清晰,程序的可读性强。 3、同时,由于使用专门的I/O指令访问端口,并且I/O端口地址和存储器地址是分开的,故I/O端口地址和存储器地址可以重叠,而不会相互混淆。 独立编址方式的端口访问 1.I/O指令中端口地址的宽度 IBM-PC系列采用I/O指令访问端口。实现数据的I/O传送。在I/O指令中可采用单字节地址或双字节地址寻址方式。若用单字节地址作为端口地址,则最多可访问256个端口。是直接在指令中给出端口地址,其指令格式为 IN AL,PORT ;输入 OUT PORT,AL ;输出 这里,PORT是一个8位的字节地址。 若用双字节地址作为端口地址,则最多可寻址216=64K个端口。 采用双字节地址,并且是用寄存器间接给出端口地址,地址总是放在寄存器DX中。其指令格式为 MOV DX, xxxxH IN AL,DX ;8位传送 MOV DX, xxxxH OUT DX,AL ;8位传送 这里,xxxxH为 16位的两字节地址。 I/O端口访问 所谓对端口的访问就是CPU对端口的读/写。 而通常所说的微处理器CPU从端口读数据或向端口写数据,仅仅是指I/O端口与CPU的累加器之间的数据传送,并未涉及数据是否传送到存储器(RAM)的问题。 例如: 输入时 MOV DX,300H ; I/O端口 IN AL,DX ;从端口读数据到AL MOV [DI],AL ;将数据从AL存储器 输出时 MOV DX,301H ; I/O端口 MOV AL,[SI] ;从内存取数到AL OUT DX,AL ;数据从Al送端口 I/O端口地址分配 对于接口设计者来说,搞清楚系统I/O端口地址分配十分重等。因为要把新的I/O设备加入到系统中去就要在I/O地址空间中占一席之地。哪些地址已分配给了别的设备,哪些是计算机制造商为今后的开发而保留的,哪些地址是空闲的,了解了这些信息才能为我所用。下面以IBM-PC系列为例来分析I/O端口地址分配情况。 不同的微机系统对I/O端口地址的分配是不同的。PC微机是根据上述I/O接口的硬件分类,把I/O空间分成两部分。 虽然,PC微机I/O地址线可有16根,对应的I/O端口编址可达64K,但由于IBM公司当初设计微机主板及规划接口卡时,其端口地址译码是采用非完全译码方式,即只考虑了低10位地址线AO?A9,而没有考虑高6位地址线A10?A15,故其I/O端口地址范围是0000H?03FFH,总共只有1024个端口,并

文档评论(0)

gcl123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档