第2章 IO端口地址译码技术.ppt_第1页
第2章 IO端口地址译码技术.ppt_第2页
第2章 IO端口地址译码技术.ppt_第3页
第2章 IO端口地址译码技术.ppt_第4页
第2章 IO端口地址译码技术.ppt_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章I/O端口地址解码技术、许可证、第二章I/O端口地址解码技术包括在基本概念接口内的一个或多个CPU可读写寄存器,将这些寄存器称为I/O端口。 数据端口、状态端口和控制端口。 CPU对外围设备的各种操作最终归结为对接口内各端口的读取/写入操作,而不是直接操作外围设备。 要区分不同的端口,必须为每个端口分配一个称为I/O端口地址的地址号。 CPU地址总线同时连接到内存和I/O端口,因此需要一种机制来区别寻址要操作的内存单元或I/O端口。 这种机制称为寻址方式。 两种常见的I/O地址方法: I/O端口和内存的统一地址。 I/O端口是独立于内存寻址的。 2.1 I/O端口地址、3、基本内容I/O

2、端口与存储单元一起进行地址分配,通过一起的指令访问I/O端口或存储单元。 也称为内存映射地址方式。 摩托罗拉的68系列、苹果系列微机为统一地址。 (1) I/O端口和内存的统一地址,4,优点是将I/O端口看作内存单元,可以使用访问命令访问I/O端口,所以不需要特别的I/O命令。 访问指令的种类多,功能丰富,对外围设备的访问非常方便。 I/O控制信号可与存储器的控制器信号共享,使用方便。 I/O端口数量几乎没有限制。 缺陷I/O端口和内存单元共同统一的地址空间相对减少了内存可使用的地址范围。 很难区分是以命令形式访问还是访问外围设备,程序的可读性低。 访问命令比专用I/O命令长,解码复杂,执行速

3、度慢。5、基本内容I/O端口和内存单元各有独立的地址空间,访问I/O端口使用专用的I/O命令。 也称为I/O映射地址方式。 8086/8088 CPU、IBM-PC系列、Z80系列机采用独立的地址。 (2) I/O端口和内存独立地址、6、优势I/O端口和内存空间相对独立,I/O端口是独立地址,不占用内存空间。 使用专用I/O命令,命令短、解码简单、速度快。 I/O命令和访问命令的区别很明显,程序的可读性很高。 缺点专用的I/O指令增加了指令系统的复杂性,指令类型少,功能弱,编程灵活性差。 CPU需要提供I/O读写和内存读写两组控制信号,这增加了控制逻辑的复杂性。7、指令类型in :从I/o端口

4、向微处理器的累加器读取数据。 OUT :将微处理器累加器的数据写入I/O端口。 注意:数据仅在累加器(AX或AL )和端口之间传输。 原则:传输字节数据时使用AL传输字数据时使用AX。 地址方式直接地址:端口地址0FFH时,在直接地址即命令中直接记载端口地址。 (也可以是间接地址方式)间接地址:端口地址0FFH时,使用间接地址,使用DX存储端口地址。 (3)独立地址的I/O命令、8、直接地址命令格式输入: IN AL/AX、端口; 端口是8位地址、0FFH输出:输出端口、AL/AX、9、IN AL、2CH; 从2CH端口读取吗? 在铝中加入ax、5BH; 从5BH端口读取吗? 向AX输出61

5、h、AL; AL中的? 写入61H端口的OUT 1DH、AX; AX中的? 写入1DH端口,间接寻址指令格式输入: MOV DX,port; 端口是16位地址、0FFH IN AL/AX、DX输出: MOV DX、端口out dx、AL/AX、10,判断以下命令格式是否正确。 (从218H端口读取1个字数据。 IN AL,218H (2)将1字节的数据写入254端口。 输出203H、AX、11、MOV DX、203H输入AL、DX、MOV DX、203H输出DX、AX、输出254、AL或输出0FFH、al 203、201、111111、0000001、a发送外围设备、MOV DX AL、Mov

6、 dx、201H、in JZ L1:OUT dx、AL、(1) I/O端口地址线80 x86系列PC采用独立地址方式,I/O地址线有16条,与64K空间对应。实际的微机板只使用A9A0 10条地址线,合订1024端口,地址范围为000H03FFH。 根据其复杂性和应用形式,PC系列微机的I/O接口硬件电路分为两种:系统主板上的I/O接口芯片:定时器/计数器、中断控制器、DMA控制器、残奥报告扩展插槽的I/O接口控制卡(显卡、声卡等)。 2.2 I/O端口地址分配,14,(2)系统板上的I/O接口芯片端口地址分配,15,(3)扩展槽上的I/O接口控制卡端口地址分配,16,用户使用授权,机密用户可

7、以使用30031FH的地址。 但是,为了避免与其他用户开发的接口卡发生冲突,建议使用DIP开关进行寻址。 (4) I/O端口地址选择策略,17,“附件”“系统信息”“硬件资源”“I/O”选项,可以显示I/O端口的地址分配情况、18、内容概要和I/o (1)基本概念和原理基本概念CPU首先在总线上发出接入的端口地址和必要的控制信号,然后通过转换电路将这些信号转换为对应的I/O端口选通信号。 该转换过程是I/O端口地址解码,将该过程整体的转换电路称为I/O端口地址解码电路。 解码信号的解码本质:逻辑组合地址线和控制信号,产生对应的门信号,低电平有效。 与解码有关的主要信号:地址信号线A9A0、控制

8、信号、(非DMA传送)。2.3 I/O端口地址解码、19、原理将地址线分成高低两部分,分别用于芯片间地址和芯片内地址。 芯片间地址:结合上位地址线和CPU的控制信号,经过解码电路发生I/O接口芯片的芯片选择信号,实现芯片间地址。 通常在接口芯片外部的解码电路中进行。 芯片上地址:低地址线不参与芯片上地址解码,直接与I/O接口芯片连接,实现芯片内部的芯片上端口地址。 通常在接口芯片内部的地址解码电路中进行。 用于片上寻址的低位地址线的数量取决于接口内端口的数量示例。 一个接口内有三个端口,a9a8a7a6a4a3a1a 0。21、22、解码方式根据地址解码电路采用的部件,门电路解码专用解码器解码

9、开关式解码可编程逻辑器件解码根据解码电路的形式,固定式解码可选式解码,23、特征:接口一般的接口卡多采用这种形式。 单端口地址解码接口只有一个端口地址。 多使用and、or、not等基本门电路来实现。 多端口地址解码系统可以具有多个接口芯片或者具有多个端口(连续范围)。 通常可以使用诸如74ls138、74ls154等集成解码器来实现。24、(2) I/O端口地址的固定式解码、门解码常用的逻辑门符号和门反相器常用的门集成芯片74LS04 :反相器(6门集成) 74LS08 :门(4门集成) 74LS20:4输入和反相器(4门集成) 27、【例2-2】分析该解码电路的功能。 28、可进行读/写动

10、作,在端口地址为2F8H的解码电路IOR有效时从端口读取数据在IOW有效时向端口写入数据,【例2-3】某接口芯片内部具有4个端口,地址范围为2 f0h 22 请使用门电路设定、修改端口地址解码电路。 解析:由于地址范围为2F0H 2F3H,所以当CPU接入该接口芯片时,地址线上的信号可以选择A1A0作为端口。 高位地址线A9 A2和AEN信号组合来生成在栅极电路中低有效的接口芯片选择信号CS。在对应于、29、xx=00、01、10、11、四个端口、30、解码器多端口时(如果具有多个接口芯片或接口芯片具有多个端口),大多采用专用解码器解码器。 一般的解码器74LS138:3-8解码器74LS13

11、9 :双2-4解码器74LS154:4-16解码器、31,74ls 138解码器的操作原理、32,74ls 139解码器的操作原理、33,74ls 138可以在这个芯片中尝试4个解析: 4个端口可以用低位地址A1A0进行片上解码,高位地址A9A2和AEN用于片上选择。 4个端口的地址为2F0H 2F3H,地址线为:35,g,G2A,G2B C,b,a,C B A,36,C B A,【例2-5】的解析:通过多端口、解码器实现。 可通过74LS138解码器输出8个信号。 地址范围为2A8H 2AFH,因此请将地址线设定为:37、g、G2A、G2B C、b、a、C B A、38、C B A、【例2-

12、6】进行分析:由于各接口芯片内部的端口数为32个,因此下位5位地址aa 系统板上的接口芯片的端口地址分配范围为0000FFH,所以只要用低位8位地址进行解码即可,A9A8=00。 系统主板有8253、8259、8237、8255等接口芯片,可通过其合适的地址线A7A5,利用74LS138解码器进行芯片选择。 当访问系统板上的I/O接口芯片时,由于CPU控制总线、即非DMA操作和I/O访问,所以CPU可以涉及解码。 控制g端子。 39,40,A4A0可用于片上寻址。 A9A8=00可用于控制74LS138的G2A和G2B端子。 g端子由组合信号AEN控制(I/O动作,而不是DMA动作)。 A7A

13、5可用于芯片选择,如8253、8255等作为c、b、a输入。 41、结论:经偏移分析,接口内部有32个端口,每个接口芯片的地址范围与表2.2一致。 解码电路的总地址范围为0000FFH (后续的自我分析),与系统板的地址范围一致。 图例2-7某微机系统的硬件如下图所示为人所知。 编程实现:端口2的最高位为1时,从端口1读取。 A2A1A0选择端口07。42、解析:接口芯片的CS信号要有效,3-8解码器的Y0侧必须有效。 此时,A8A6A4=000,A9A7A5A3=1111。 在访问内部端口2时,因为A2A1A0=010,所以端口2的地址是在访问内部端口1时,因为A2A1A0=001,所以用、

14、43、已知的端口1和端口2的地址,按照主题写程序判断端口2的最上位是否是1 JZ L1 MOV DX、2A9H。 从端口1读取数据IN AL、DX。 特征:接口中的端口地址有一定的可变性。 您可以根据需要更改端口地址,而无需更改硬件电路。 如果用户要求接口卡的端口地址能够支持不同的地址,或者为了将来的系统扩展而保留占地,则可以使用这种方式。 常用的实现方式比较器地址开关跳线,(3) I/O端口地址的可选解码,比较器常用的比较器74LS85:4位比较器74LS688:8位比较器解码原理比较器的P7P0输入连接到系统总线,以及Q7Q0输入P70=Q70时,输出低电平。 否则,输出高电平。 可以通过寄存器U1来配置、46、47、芯片地址。 端口内部地址可通过A2A1A0选择。 地址开关、48、跳线开关可以在每个输入端连接或不连接反相器,有两种选择。 10位地址线有1024种选择。 由此,能够变更解码结果。 49、不能同时读取和写入,因此一个输入端口和另一个输出端口可以使用相同的地址码。 一般来说,数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论