第3章IO端口地址译码技术概要.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章IO端口地址译码技术概要

计算机接口技术 计算机接口技术 计算机接口技术 * 计算机接口技术 * 第3章 I/O 端口地址译码技术 本章主要内容 I/O 端口的基本概念 I/O 端口译码的基本原理 I/O 端口译码电路的设计 3.1 I/O 地址空间 * 计算机接口技术 * 如果忽略I/O地址空间的物理特征,仅从软件编程的角度来看,和存储器地址空间一样,I/O地址空间也是一片连续的地址单元,可供各种外设与CPU交换信息时,存放数据、状态和命令代码之用。 实际上,一个I/O地址空间的地址单元是对应接口电路中的一个寄存器或控制器,所以把它们称为接口中的端口。 I/O端口地址与存储器的存储单元一样,都是以数据字节来组织的。无论是早期微机还是现代微机的I/O地址线都只有16位,因此I/O端 口地址空间范围为0000H~FFFFH,是连续的64KB地址,每一个 地址对应一个8位的I/O端口,两个相邻的8位端口可以构成一个16位的端口;4个相邻的8位端口可以构成一个32位的端口。 3.2 I/O 端口 3.2.1 什么是端口 端口(port)是接口(Interface)电路中能被CPU访问的寄存器的地址,是物理电路中寄存器的抽象。微机系统给接口电路中的每个寄存器分配一个端口,因此,CPU在访问这些寄存器时,只需指明它们的端口,不需指明什么寄存器。这样,我们在输入/输出程序中,只看到端口,而看不到相应的具体寄存器。也就是说,访问端口就是访问接口电路中的寄存器。可见,端口是为了编程从抽象的逻辑概念来定义的,而寄存器是从物理含义来定义的。 接口电路中有三种不同类型的端口,存储不同的信息,分别是数据口、状态口和控制口。 * 计算机接口技术 * CPU 数据口 状态口 控制口 外设 3.2 .2 I/O 端口共用技术 一般情况下,一个端口只接收一种信息(命令、状态或数据) 的访问,但有些接口芯片,允许同一端口既作命令口用,又作状态口用, 或允许向同一个命令口写入多个命令字,这就产生端口共用的问题。 端口共用问题的处理方法是: 对命令口和状态口共用的处理方法是,根据读/写操作来区分。向该口 写,就是写命令,作命令口用;从该端口读,就是读状态,作状态口用 例如,串行接口芯片8251A采用这种办法。 对多个命令字写到同一个命令口时,可采用两种办法解决:其一,在 命令字中设置特征位,根据特征位的不同,就可以识别不同的命令,例如 82C55A接口芯片采用这种办法;其二,在编写初始化程序段时,按先后顺 序向同一个端口写入不同的命令字,命令寄存器就根据先后顺序的约定来 识别不同的命令,8251A接口芯片采用这种方法。 * 计算机接口技术 * 3.2.3 I/O 端口地址编址方式 * 计算机接口技术 * 接口中的端口地址单独编址而不和存储空间合在一起 优点 缺点 I/O地址不占用存储器空间 I/O指令类型少 I/O指令短,执行速度快 需要增加芯片引脚 地址线少,简化译码电路 指令区别明显,程序可读性好 I/O端口有独立编址和统一编址两种方式 * 计算机接口技术 * 从存储空间中划出一部分地址空间给I/O设备使用,把I/O接口中的端口当做存储器单元一样进行访问 优点 缺点 使用访问存储器的指令,I/O处理能力增强 占用存储器地址空间使其容量减少 拥有较大的寻址空间 指令更长,执行时间长地址线多,译码电路复杂 3.2.4 I/O 端口访问 本节只讨论累加器I/O指令IN和OUT,它们用于在I/O端口和AL、AX、EAX之间交换数据。 例如: * 计算机接口技术 * 分累加器 I/O 指令和串 I/O 指令 IN AL,0F4H ;从端口0F4H输入8位数据到AL IN AX,0F4H ;将端口F4H和F5H的16位数据送AX IN EAX,0F4H ;将端口F4H、F5H、F6H和F7H的32位数据送 ;EAX IN EAX,DX ;从DX指出的端口输入32位数据到EAX OUT DX,EAX ;EAX内容输出到DX指出的32位数据端口 1. I/O指令 I/O指令表示,CPU从端口读数据或向端口写数据, 仅仅是指I/O端口与CPU的累加器之间的数据传输, 并未涉及数据是否传输到存储器的问题。若要将端口的数据传输到存储器,还得用MOV指令进行传输。 例如: * 计算机接口技术 * MOV [DI],AL ;将数据从AL→存储器

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档