第6章IO接口.ppt_第1页
第6章IO接口.ppt_第2页
第6章IO接口.ppt_第3页
第6章IO接口.ppt_第4页
第6章IO接口.ppt_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

6 1I O接口的基本功能与结构6 2I O端口的编址方式6 3I O同步控制方式6 4I O接口中的中断技术6 5I O接口中的DMA技术6 6I O接口中的数据缓存技术6 7接口的分类 第六章I O接口 两者的信息类型可能不一样即使都是数字量信息 两者的信息格式 信号时序 传输速度还可能不一样 6 1I O接口的基本功能和结构 I O设备是微机系统必不可少的组成部分 但外部I O设备并不能直接与微机相连 而需要通过I O接口与微机相连 这是因为 6 1 1接口的基本功能6 1 2接口的基本结构 总之 就是完成三大总线的转换和连接任务 不同外设的接口 其功能及与外设的连接 通信方式各不相同 但任何接口电路的基本功能是相同的 有三 6 1 2接口的基本功能 作为微型机与外设传递数据的缓冲站正确寻址与微机交换数据的外设提供微型机与外设间交换数据所需的控制逻辑和状态信号 同样 不同外设接口的内部结构可能千差万别 但其基本结构也是相似的 与接口的基本功能相对应 接口电路必须包含以下三种基本逻辑部件 I O数据缓冲寄存器 与功能1 对应寄存器地址译码器 与功能2 对应读 写控制逻辑 与功能3 对应 对于一些比较复杂的接口 为了增强功能和适应不同I O同步控制方式的需要 往往还要引入一些别的逻辑电路 6 1 2接口的基本结构 1 接口电路的典型结构 6 1 2接口的基本结构 用以确定接口电路的工作方式和功能 输入缓存器和状态寄存器的输出接在数据总线上 因此它必须有三态输出功能 通常把接口中可被CPU读 写的寄存器称为I O端口 端口寄存器的全部或部分端口线被连接到外设上 如图所示 所谓的I O操作 是指I O端口操作 而不是指I O设备操作 即CPU访问的是与外设相连的I O端口 而不是笼统的I O设备 2 I O操作 6 1 2接口的基本结构 6 2 1存储器映象方式6 2 2隔离I O方式6 2 3Intel系列处理器的I O编址方式 6 2I O端口的编址方式 6 2 1存储器映象方式 这种方式是将I O端口与存储器单元同等看待 一起编址 所以也叫统一编址方式 6 2 1存储器映象方式 2 I O端口数目 即外设数目 只受总存储容量的限制 大大增加了系统的吞吐率 1 优点 1 I O操作与存储器操作完全相同 无需使用专用I O指令 而存储器操作指令及其寻址方式非常丰富 从而使I O功能增强 编程方便 灵活 3 使微机系统的读写控制逻辑简单 6 2 1存储器映象方式 2 为识别一个端口 必须对全部地址线译码 增加了地址译码电路的复杂性 并使外设寻址时间增长 1 占用了存储器的一部分地址空间 使可用的内存空间减少 2 缺点 3 访问存储器与I O操作区别不明显 将I O端口和存储器分开编址 即两者的地址空间是互相 隔离 的 6 2 2隔离I O方式 有两个地址空间 MPU使用不同的读写控制信号访问存储器和I O端口 MPU必须采用专用I O指令访问I O端口 以便产生相应的I O读写信号 2 优点 6 2 2隔离I O方式 存储器全部地址空间都不受I O寻址影响 I O地址译码较简单 I O寻址速度较快 使用专用I O指令和存储器访问指令有明显区别 可使编制的程序清晰易懂 便于检查 2 缺点 6 2 2隔离I O方式 I O指令类型少 不如存储器访问指令丰富 使程序设计灵活性较差 I O指令只能在规定的内部寄存器和I O端口间交换信息 处理能力和灵活性不如存储器映象式强 MPU必须提供存储器和I O两组读写控制信号 增加了控制逻辑的复杂性 8088 8086CPU的I O编址方式采用I O独立编址方式 但地址线与存储器共用 地址线上的地址信号用来区分 时为I O地址I O操作只使用20根地址线中的16根 A15 A0可寻址的I O端口数为64K 65536 个I O地址范围为0 FFFFHIBMPC只使用了1024个I O地址 0 3FFH 6 3I O同步控制方式 I O同步控制方式是微机基本系统与I O外设之间数据传送的管理方法 是微机系统的一种调度策略 输入过程 输出过程 输入 输出 由输入指令完成 由输出指令完成 I O设备的同步控制方式通常有四种 程序查询式控制中断驱动式控制直接存储器存取式控制延时等待式控制 6 3I O同步控制方式 1 特点 I O操作总是由MPU通过程序查询外设的状态来启动 即总是MPU主动 I O被动 2 硬件接口结构 输入接口输出接口 1 程序查询式控制 1 查询式2 中断式3 DMA式4 等待式 6 3I O同步控制方式 输入接口硬件结构 1 查询式2 中断式3 DMA式4 等待式 6 3I O同步控制方式 输出接口 MPU 1 查询式2 中断式3 DMA式4 等待式 6 3I O同步控制方式 它是一种天然的同步控制机构 能很好地协调MPU与外设之间的工作 数据传送可靠 接口简单 硬件电路不多 查询程序也不复杂 在MPU使用效率与响应实时性间有矛盾 软件开销大 MPU使用效率低 缺点 这种I O控制方式是优是劣 不能一概而论 要看具体应用场合 优点 3 评价 1 查询式2 中断式3 DMA式4 等待式 6 3I O同步控制方式 1 查询式2 中断式3 DMA式4 等待式 1 特点 每次I O操作都是由I O设备向MPU发中断请求而启动的 即I O主动 MPU被动 2 接口电路结构 1 中断驱动式控制 6 3I O同步控制方式 6 3I O同步控制方式 1 查询式2 中断式3 DMA式4 等待式 I O设备较多时 硬件复杂 需以一系列中断逻辑电路作为支持 因为中断方式本身是一种异步控制机构 中断请求信号的出现完全是随机的 故软件开发和调试比程序查询式复杂 困难 缺点 优点 既能节省MPU时间 提高计算机使用效率 又能使I O设备的服务请求得到及时响应 较好地解决了效率与实时性间的矛盾 鉴于上述原因 如不是实时性要求很高 非使用中断驱动式控制不可的地方 还是尽量用程序查询式控制为好 或者把两种控制方式结合起来 3 优缺点 3 直接存储器存取 DMA 式控制 I O设备必须通过MPU才能和存储器交换信息 每次I O操作的引发方式无论是软件查询引发还是硬件中断引发 引发后的具体数据传输过程则都是由软件控制完成的 而DMA方式无需MPU介入 进入DMA工作状态后 数据完全是在硬件 DMAC 控制下在I O设备和存储器间直接交换 因此速度可大大提高 前两种的共同特点是 6 3I O同步控制方式 1 查询式2 中断式3 DMA式4 等待式 DirectMemoryAccess 软件延时硬件延时 这是一种无需控制的I O操作方式 只有在外部控制过程的各种动作时间是固定的 且是已知的条件下才能使用 两种方法 4 延时等待式控制 1 查询式2 中断式3 DMA式4 等待式 6 4 1中断的基本概念与分类6 4 2中断优先级与中断嵌套6 4 3中断响应条件6 4 4中断服务判决6 4 5中断处理过程 6 4I O接口中的中断技术 6 4 1中断的基本概念与分类 1 中断的定义中断是指CPU在执行当前程序的过程中 由于某种随机出现的外设请求或CPU内部的异常事件 使CPU暂停正在执行的程序而转去执行相应的服务处理程序 当服务处理程序运行完毕后 CPU再返回到暂停处继续执行原来的程序 中断是为解决CPU与外设之间的信息交换问题而引入的 但现代意义上的中断已不仅仅应用于I O控制 也应用到CPU内部的指令中断和内部异常处理 与生活场景的比较 正在看书 电话铃响 接电话 继续看书 执行程序 事件发生 事件处理 继续执行程序 中断处理 中断请求及响应 实际场景 计算机 中断返回 微机系统的中断可分为两大类 2 中断分类 硬件中断软件中断 指由CPU外部事件引起的中断 又叫外中断 简称中断 又分为 非屏蔽中断NMI 可屏蔽中断INTR前者不受CPU内部的中断允许标志IF的控制 而后者受控制 指由CPU内部原因引起的中断 也叫内中断 统称为异常 又分为两大类 指令引起的异常 处理器检测的异常 6 4 1中断的基本概念与分类 NMI INTR 中断逻辑 软件中断指令 溢出中断 除法错 单步中断 非屏蔽中断请求 中断控制器8259APIC 8086 8088CPU内部逻辑 断点中断 可屏蔽中断请求 n 4 3 0 1 2 8086 8088中断源类型 6 4 2中断优先级与中断嵌套 当多个中断源同时申请中断时 CPU同一时刻只能响应一个中断源的申请 应按各中断源的轻重缓急程度来确定它们的优先级别 优先级高的中断先响应 中断嵌套是指在优先级已定的情况下 低优先级的中断服务程序可以被高优先级的中断源所中断 等高优先级的中断服务程序结束后 再返回去执行被中断的低优先级中断服务程序 主程序 1 中断服务程序 2 中断服务程序 3 中断服务程序 中断优先级 3 2 1 嵌套的级数原则上不限 只取决于堆栈深度 实际上与要求的中断响应速度也有关 中断嵌套示意图 6 4 2中断优先级与中断嵌套 1 中断服务程序 2 中断服务程序 3 中断服务程序 6 4 3CPU响应中断的条件 CPU对中断源发出的中断请求是否响应 视中断源而有所不同 对内中断和非屏蔽中断请求 可在当前指令执行后直接转入中断周期 由内部硬件自动执行预定的操作 对外部可屏蔽中断请求 通常要满足一定的条件才能响应 CPU响应外部可屏蔽中断请求 通常要满足以下条件 置位了中断请求触发器 中断屏蔽触发器处于非屏蔽状态 CPU内部是中断开放的 CPU内部中断允许触发器IF 1 没有更高优先级别的中断请求正在被响应或正发出 正挂起 CPU正在执行的现行指令已经结束 6 4 3CPU响应中断的条件 6 4 4中断服务判决 在有多中断源的微机系统中 凡存在多个中断源合用一根中断请求线的情况 都存在一个多中断请求的服务判决问题 主要包括两方面 判别哪个中断请求源的优先权最高 确定为谁服务 将程序转移到相应的中断处理程序入口 程序查询式判决中断向量式判决 6 4 4中断服务判决 解决这一问题的方法通常有两种 这是一种软件为主的判决方法 所需的硬件支持最少 主要需要一个带三态缓冲的中断请求锁存器作为状态输入口 以供MPU查询用 1 查询式判决原理 程序查询式判决 中断向量式判决 6 4 4中断服务判决 程序查询式判决 中断向量式判决 2 查询式中断流程图 6 4 4中断服务判决 优点 硬件简单 程序层次分明 只要改变程序中查询的顺序而不必改变硬件连接 即可方便地改变外设的中断优先级 缺点 中断源较多时 中断响应速度慢 CPU使用效率降低 3 查询式判决的优缺点 程序查询式判决 中断向量式判决 6 4 4中断服务判决 这是一种硬件为主的判决方法 主要用硬件电路对中断源进行优先级排队 并将程序引导到有关I O的中断服务程序入口 具体实现方案有 菊花链优先级判决 并行优先级判决 中断向量式判决 程序查询式判决 中断向量式判决 6 4 4中断服务判决 每个I O设备除有中断请求逻辑外 还必须包含一个中断向量发生器 当IACK有效并到达某个提出了中断请求的I O设备的输入端时 该设备将其识别码 也叫中断向量号 置于数据总线上 1 菊花链优先级判决 程序查询式判决 中断向量式判决 6 4 4中断服务判决 其核心部件是一个优先级编码器和各中断源公用的中断向量发生器 当IACK有效时 中断向量发生器将把与最高优先级中断请求源对应的中断向量号送上数据总线DB 2 并行优先级判决 程序查询式判决 中断向量式判决 6 4 4中断服务判决 无论菊花链还是并行结构 当MPU在中断响应周期中收到中断向量号后 便通过计算或查表得到中断向量 即中断服务程序入口地址 并自动进入和执行相应的中断服务程序 8088系统采用中断类型 向量 码来识别不同的中断源 每个中断源都有一个与它相对应的中断类型码 溢出 断点 除法溢出 单步 非屏蔽中断的类型码为固定值软件中断的类型码由指令给出可屏蔽中断的类型码由PIC给出CPU响应INTR中断时 会产生两个中断响应总线周期 要求PIC在第2个中断响应总线周期把中断类型码放到数据总线上 供CPU读入 中断向量表 00000H 003FFH 1KB 中断向量表 存放各类中断的中断服务程序的入口地址每个入口占用4Bytes 低字为段内偏移 高字为段基址表的地址位于内存的00000H 003FFH 大小为1KB 共存放256个中断服务子程序的入口地址 例 INT21H指令 其中断向量号为21H 21H 4 84H则在0000 0084H开始的4个内存单元重存放的就是21H号中断的中断服务程序入口地址 中断服务子程序的入口地址为 4030H 2010H 中断向量表的初始化 可以通过直接写中断向量表将用户自定义的中断服务程序入口地址放入向量表例 将中断向量码为48H的服务程序入口地址放入向量表 中断向量表的初始化 直接写中断向量表MOVAX 0MOVDS AXMOVSI 48H 4MOVDX OFFSETint procMOV SI DXMOVDX SEGint procMOV SI 2 DX 设置中断向量入口参数 AH 25H AL 类型号DS DX 中断向量执行INT21H取中断向量入口参数 AH 35H AL 类型号执行INT21H返回时ES BX 中断向量 用DOS功能调用来设置中断向量 例 使用DOS功能调用设置中断向量 MOVAH 25H 设置中断向量MOVAL 48H 中断类型号为入口参数MOVBX SEGint procMOVDS BXMOVDX OFFSETint procINT21H 8086 8088系统的中断源内部中断除法溢出 类型号0 商大于目的操作数所能表达的范围时产生 单步中断 类型号1 TF 1时产生 当前指令需执行完 断点中断 类型号3 这是一个软件中断 即INT3指令 溢出中断 类型号4 这是一个软件中断 即INTO指令 软件中断 即INTn指令 类型号n 0 255 外部中断非屏蔽中断NMI 类型号2 不可用软件屏蔽 CPU必须响应它 可屏蔽中断INTR 类型号由PIC提供 IF 1时CPU才能响应 8088 8086中断系统的优先级 优先级从高到低的顺序为 内部中断NMI中断INTR中断单步中断 6 4 5中断处理过程 响应中断请求 保证中断处理完毕后能返回原程序 从断点开始正确执行 保护内容包括 CPU标志寄存器FR 断点地址PC 中断处理将用到的CPU内部寄存器 以便执行中断服务程序时 能响应更高级别的中断源请求 完成I O操作或异常事件处理 是整个中断处理程序的核心 以便恢复现场时不被其他中断打断 以便中断返回后可响应新的中断 执行中断返回指令IRETIRET指令将使CPU把堆栈内保存的断点信息弹出到IP

温馨提示

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

评论

0/150

提交评论