- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 3 章 地址译码技术及存储器接口 学习目的 通过对本章的学习,您应该能够达到下列要求: 描述端口的编址方式 说明端口地址译码的作用 端口地址译码电路的设计 重点与难点 存储器地址译码电路的设计 3.1 I/O端口 3.1.1.概述 I/O端口:是微处理器与输入输出设备直接通信的寄存器或某些特定的器件。一个接口可以有多个端口,如命令端口、状态端口和数据端口等。 I/O操作:CPU对I/O接口电路(与设备相关)的操作.不是访问I/O设备. 计算机给接口电路中的每个寄存器分配一个端口,因此,CPU在访问这些寄存器时,只需指明它们的端口,不需指出是什么寄存器。 CPU对数据端口进行一次读或写操作,也就是与该接口连接的外设进行一次数据传输 CPU对状态端口进行一次读操作,就可以获得外设或接口自身的状态代码 CPU把若干位控制代码写入控制端口,则意味着对该接口或外设发出一个控制命令,要求该接口或外设按规定的要求工作 3.1 I/O端口 3.2.2.端口编址方式 CPU 寻址外设有两种方式: 端口地址和存储器地址统一编址,也称存储器映射方式 I/O端口地址和存储器地址分开独立编址,也称I/O映射方式 统一编址方式 从存储器空间划出一部分地址空间给I/O设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令 优点: 访问I/O端口可实现输入/输出操作,还可以对端口内容进行算术逻辑运算、移位等等; 能给端口有较大的编址空间,这对大型控制系统 和数据通信系统是很有意义的; 缺点: 端口占用了存储器的地址空间,使存储器容量减小; 指令长度比专门I/O指令要长,因而执行速度较慢; 独立编址方式 I/O端口地址空间和存储器地址空间是独立的、分开的,即I/O端口地址不占用存储器地址空间。 优点 I/O端口地址不占用存储器空间; 使用专门的I/O指令对端口进行操作,I/O指令短、执行速度快; 并且由于专门I/O指令与存储器访问指令有明显的区别,使程序中I/O操作和存储器操作层次清晰,程序的可读性强。 缺点 这种编址方式中,微处理器对存储器及I/O端口是采用不同的控制线进行选择的,因而接口电路比较复杂。 3.1.3 I/O端口访问指令 80x86 CPU构成的计算机,其CPU外围接口芯片及I/O接口部件皆采用独立编址方式,采用IN和OUT指令实现数据的输入和输出操作。 1)8086/8088采用I/O端口与累加器传送数据。 若端口地址在 0~FFH 范围内,则用直接寻址 IN AL,端口地址 (输入) OUT 端口地址 ,AL (输出) 执行的操作为: (AL)—(PORT) (字节操作) (AX)—(PORT+1,PORT) (字操作) 如: IN AL, 20H OUT 80H, AX OUT 84H, AL 3.1.3 I/O端口访问指令 若端口地址在 0100~FFFFH 范围内,则用 DX间接寻址: MOV DX, 端口地址 IN AL, DX OUT DX, AL 如: MOV DX, 300H IN AL, DX 3.1.3 I/O端口访问指令 2)80286和80386还支持I/O端口直接与RAM之间传送数据。 输入: MOV DX,PORT LES DI,BUFFER_IN INSB(INSW) 输出: MOV DX,PORT LES SI,BUFFER_OUT OUTSB(OUTSW) 3.1.3 I/O端口访问指令 3)c语言中的端口读写函数 4)VC++程序 3.1.4. I/O端口地址分配 IBM PC/XT I/O 端口地址分配图 3.2 I/O端口地址译码 3.2.1.I/O端口地址译码方法 端口地址译码:就是把地址信号与控制信号进行逻辑组合,产生对芯片的选择信号. 例: 用BHE信号控制奇偶地址 用AEN信号控制非DMA传送,AEN=1,CPU掌管总线,可以进行I/O端口访问. 用IOR和IOW控制读写 用I/OCS16来控制是8位还是16位 在设计地址译码电路时,除了要精心选择地址范围外,还有根据CPU与I/O端口交换数据时的数据流向(读/写)、数据宽度(8位
文档评论(0)