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

下载本文档

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

文档简介

第二章I O端口地址译码技术 徐承彬 2 第二章I O端口地址译码技术 基本概念接口内部包含一个或多个CPU可进行读写的寄存器 这些寄存器称为I O端口 数据端口 状态端口和控制端口 CPU对外设的各种操作 最终都归结为对接口中各端口的读 写操作 而不是直接对外设进行操作 为了区分不同的端口 需为每个端口分配一个地址编号 称为I O端口地址 由于CPU地址总线既连接到存储器又连接到I O端口 因此 需要一种机制来区分和寻址要操作的内存单元或I O端口 这种机制称为编址方式 常用的两种I O编址方式 I O端口与内存统一编址 I O端口与内存独立编址 2 1I O端口编址 3 基本内容I O端口与内存单元统一进行地址分配 使用统一的指令访问I O端口或者内存单元 又称存储器映射编址方式 Motorola公司的68系列 Apple系列微机即是统一编址 1 I O端口与内存统一编址 4 优点把I O端口当做存储单元来看待 可使用访存指令来访问I O端口 故无需专门的I O指令 访存指令种类多 功能全 可为访问外设提供方便 I O控制信号可与存储器的控制器信号共用 应用方便 I O端口数目几乎不受限制 缺点I O端口与内存单元共同统一的地址空间 相对减少了内存可用的地址范围 从指令形式上不易区分访存还是访问外设 程序可读性低 访存指令比专用I O指令长 译码较为复杂 执行速度较慢 5 基本内容I O端口与内存单元有各自独立的地址空间 访问I O端口使用专门的I O指令 又称I O映射编址方式 8086 8088CPU IBM PC系列和Z80系列机采用独立编址 2 I O端口与内存独立编址 6 优点I O端口与内存空间相对独立 I O端口单独编址 不占用内存空间 由于使用了专门的I O指令 指令简短 译码简单 速度快 I O指令与访存指令区别明显 程序可读性强 缺点专用的I O指令增加了指令系统的复杂性 且指令类型少 功能弱 程序设计灵活性差 CPU需提供I O读写与存储器读写2套控制信号 增加了控制逻辑的复杂性 7 指令类型IN 从I O端口读入数据到微处理器的累加器中 OUT 将微处理器累加器中的数据写入到I O端口 注意 数据只在累加器 AX或AL 和端口间进行传递 原则 传输字节数据时使用AL 传输字数据时使用AX 寻址方式直接寻址 当端口地址 0FFH时 采用直接寻址 即在指令中直接写明端口地址 也可用间接寻址方式 间接寻址 当端口地址 0FFH时 采用间接寻址 使用DX存放端口地址 3 独立编址下的I O指令 8 直接寻址指令格式输入 INAL AX port port是8位地址 0FFH输出 OUTport AL AX 9 INAL 2CH 从2CH端口读入 到AL中INAX 5BH 从5BH端口读入 到AX中OUT61H AL 将AL中的 写入到61H端口中OUT1DH AX 将AX中的 写入到1DH端口中 间接寻址指令格式输入 MOVDX port port是16位地址 0FFHINAL AX DX输出 MOVDX portOUTDX AL AX 10 判断下列指令格式是否正确 1 从218H端口读入一个字数据 INAL 218H 2 将一个字节的数据写入到254端口 OUT254H AX 11 MOVDX 218HINAL DX MOVDX 254HOUTDX AX OUT254 AL或OUT0FEH AL 12 内容概要 统一编址独立编址独立编址下的I O指令高级语言的输入输出操作 外设 接口 200 203 201 11111111 00000001 a 送外设 Movdx 203H MovAL 0FFH OUTdx AL MOVdx 201H INAL DX TESTAL 01H JZL1 Movdx 200H MovAL a JZL1 OUTdx AL 1 I O端口地址线80 x86系列PC采用独立编址方式 I O地址线有16根 对应64K空间 实际微机主板上仅使用A9 A010根地址线 共1024个端口 地址范围为000H 03FFH 根据其复杂程度和应用形式 PC系列微机中I O接口硬件电路可分为2类 系统板上的I O接口芯片 大多是可编程大规模集成电路 如定时 计数器 中断控制器 DMA控制器 并口等 扩展槽上的I O接口控制卡 如图形卡 声卡等 2 2I O端口地址分配 14 2 系统板上的I O接口芯片端口地址分配 15 3 扩展槽上的I O接口控制卡端口地址分配 16 允许用户使用 系统配置占用了的端口地址不能使用 计算机厂家声明保留的地址不能使用 用户可使用300 31FH的地址 但为了避免与其它用户开发的接口卡发生冲突 最好采用DIP开关进行地址设置 4 I O端口地址选用原则 17 可通过 附件 系统信息 硬件资源 I O 选项来查看I O端口的地址分配状况 18 内容概要 I O端口地址线系统板上的I O接口芯片端口地址分配扩展槽上的I O接口控制卡端口地址分配I O端口地址选用原则 1 基本概念与原理基本概念当执行I O指令时 CPU首先在总线上发出要访问的端口地址和必要的控制信号 然后通过一个转换电路将这些信号转换为相应的I O端口选通信号 这个转换过程就是I O端口地址译码 完整这个过程的转换电路称为I O端口地址译码电路 译码信号译码的实质 对地址线和控制信号进行逻辑组合 产生相应的选通信号 低电平有效 参与译码的主要信号 地址信号线A9 A0 控制信号 非DMA传送 2 3I O端口地址译码 19 原理把地址线分为高低两部分 分别用于片间寻址和片内寻址 片间寻址 高位地址线与CPU的控制信号相结合 经译码电路产生I O接口芯片的片选信号 实现片间寻址 通常都由接口芯片外部的译码电路来完成 20 片内寻址 低位地址线不参加片间寻址译码 而是直接连接到I O接口芯片 实现芯片内部的片内端口寻址 通常由接口芯片内部的地址译码电路来完成 用于片内寻址的低位地址线条数取决于接口内端口的数目例 一个接口内部有3个端口 A9A8A7A6A5A4A3A2A1A0 21 22 译码方式按照地址译码电路采用的元器件 分为 门电路译码专用译码器译码开关式译码可编程逻辑器件译码按照译码电路的形式 分为 固定式译码可选式译码 23 特点 接口中的端口地址固定 不能修改 一般接口卡中大多采用该形式 单端口地址译码接口中只有一个端口地址 多采用与 或 非门等基本门电路来实现 多端口地址译码系统中有多个接口芯片 或有多个端口 连续范围 多采用集成的译码器来实现 如74LS138 74LS154等 24 2 I O端口地址的固定式译码 门电路译码常用的逻辑门符号与门或门非门常用的门电路集成芯片74LS04 反相器 6门集成 74LS08 与门 4门集成 74LS20 4输入与非门 2门集成 74LS30 8输入与非门 1门集成 74LS32 2输入或门 4门集成 25 例2 1 单端口地址为2F8H的只读端口译码电路 26 采用标准集成电路的电路形式 27 例2 2 分析该译码电路的功能 28 可进行读 写操作 端口地址为2F8H的译码电路IOR有效时从端口读数据 IOW有效时向端口写数据 例2 3 某接口芯片内部有4个端口 地址范围为2F0H 2F3H 请使用门电路为其设计一个端口地址译码电路 分析 地址范围为2F0H 2F3H 故CPU访问该接口芯片时 地址线上的信号为 可用A1A0作为端口选择 将高位地址线A9 A2和AEN信号组合起来 用门电路产生一个低有效的接口芯片片选信号CS 29 xx 00 01 10 11 对应4个端口 30 译码器译码多端口时 有多个接口芯片 或接口芯片有多个端口 常采用专用译码器译码 常用的译码器74LS138 3 8译码器74LS139 双2 4译码器74LS154 4 16译码器 31 74LS138译码器工作原理 32 74LS139译码器工作原理 33 74LS154译码器工作原理 34 例2 4 已知并行接口芯片8255A有4个端口 片选信号CS低电平有效 试用74LS138设计一个译码电路 使该芯片的4个端口地址为2F0H 2F3H 分析 4个端口 可用低位地址A1A0进行片内译码 而高位地址A9 A2和AEN则用于片选 为使4个端口的地址为2F0H 2F3H 地址线为 35 G G2A G2BC B A CBA 36 CBA 例2 5 设计一个译码电路 要求产生2A8H 2AFH共8个端口的选通信号 分析 多端口 采用译码器实现 可选用74LS138译码器输出8个信号 地址范围为2A8H 2AFH 故地址线为 37 G G2A G2BC B A CBA 38 CBA 例2 6 请设计一个系统板上接口芯片的I O端口地址译码电路 并且让每个接口芯片内部的端口数目为32个 分析 每个接口芯片内部的端口数目为32个 故可用低5位地址A4 A0进行片内寻址 系统板上的接口芯片 其端口地址分配范围为000 0FFH 故仅用低8位地址译码即可 A9 A8 00 系统板上有8253 8259 8237 8255等接口芯片 可用其余的地址线A7 A5通过74LS138译码器进行片选 访问系统板I O接口芯片时 CPU控制总线 即非DMA操作 且为I O访问 故和可参与译码 控制G端 39 40 A4 A0可用于片内寻址 A9 A8 00 可用于控制74LS138的G2A和G2B端 G端由组合信号AEN 控制 非DMA操作 且为I O操作 A7 A5可用于对8253 8255等进行片选 作为C B A输入 41 结论 通过倒推分析 每个接口内部有32个端口 各接口芯片的地址范围同表2 2一致 译码电路总的地址范围为000 0FFH 后续的自行分析 同系统板的地址范围一致 例2 7 已知某微机系统硬件如下图 编程实现 当端口2中最高位为1时 从端口1中读数 A2A1A0选择端口0 7 42 分析 要使接口芯片的CS信号有效 3 8译码器的Y0端须有效 此时A8A6A4 000 A9A7A5A3 1111 访问内部端口2时 A2A1A0 010 故端口2的地址为 访问内部端口1时 A2A1A0 001 故端口2的地址为 43 已知端口1和端口2的地址 可根据题意编写程序如下 44 MOVDX 2AAH 读端口2数据L1 INAL DXTESTAL 10000000B 判断端口2的最高位是否为1JZL1MOVDX 2A9H 从端口1读取数据INAL DX 特点 接口中的端口地址具有一定的可变性 可根据要求改变端口地址 而无需修改硬件电路 当用户要求接口卡的端口地址能够适应不同的地址场合 或为系统以后扩充留有余地时 可用此方式 常用的实现方法比较器地址开关跳线器 45 3 I O端口地址的可选式译码 比较器常用的比较器74LS85 4位比较器74LS688 8位比较器比较器译码原理比较器的P7 P0输入端连系统总线 Q7 Q0输入端与配置寄存器相连 当P7 0 Q7 0时 输出低电平 否则 输出高电平 46 47 芯片地址可通过寄存器U1进行配置 端口内部地址可通过A2A1A0进行选择 地址开关 48 跳线开关每个输入可接反相器或者不接 有2种选择 10位地址线可有1024种选择 可通过此改变译码结果 49 由于读 写操作不会同时进行 一个输

温馨提示

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

评论

0/150

提交评论