第6章输入输出技术内容摘要:

20/11/4 41  前面三种 I/O方式都需要 CPU作为中介: 两个含义: 1)软件:外设与内存之间的数据传送是通过 CPU执行程序来完成的(程序控制方式); 2)硬件: I/O接口和存储器的读写控制信号、地址信号都是由 CPU发出的(总线由 CPU控制)。 缺点:程序的执行速度限定了传送的最大速度(约为几十 KB/秒) —— 解决: DMA传输 外设 CPU 内存 2020/11/4 42 直接存储器存取方式 (DMA) DMA( Direct Memory Access)意为直接数据访问。 它是在内存的不同区域之间,或者在内存与外设端口之间 直接进行 数据传送,而 不经过 CPU中转 的一种数据传送方式,可以大大提高数据的传送速度。 2020/11/4 43 (1)DMA方式与其它方式比较 DMA控制器 内存 /外设 外设 /内存 无需 CPU指令 外设 /内存 CPU MOV [XX],AL OUT DX,AL IN AL,DX MOV AL,[XX] 内存 /外设 2020/11/4 44 (2)DMA传输的特点  外设直接与存储器进行数据交换 , CPU不再担当数据传输的中介者;  总线由 DMA控制器 ( DMAC) 进行控制( CPU要放弃总线控制权 ) , 内存 /外设的地址和读写控制信号均由 DMAC提供。  优点:数据传输 由 DMA硬件来控制 , 数据直接在内存和外设之间交换 , 可以达到很高的传输速率 ( 可达几 MB/秒 ) 外设 内存 2020/11/4 45 DMA控制器 CPU 外设 由外设向 DMAC发出 DMA请求 通过 HOLD信号线发出 DMA请求 通过 HLDA信号线发出 DMA响应 发出 DMA应答信号 通过 HOLD信号线撤消 DMA请求 使 HLDA信号无效 与内存传送数据(在 DMA控制器控制下) (3)DMA传输的工作过程 2020/11/4 46 练习  对 I/O端口的编址一般有 方式和 方式。 PC机采用的是 方式。  在 PC系列微机中 , I/O指令采用直接寻址方式的 I/O端口有 个。 采用 DX间接寻址方式可寻址的 I/O端口有 个。  CPU在执行 OUT DX, AL指令时 , 寄存器的内容送到地址总线上 , 寄存器的内容送到数据总线上。  数据输入 /输出的几种方式是 、 、和。 2020/11/4 47 中断传送方式 2020/11/4 48 为何计算机中要引入中断。  提高数据传输率;  避免 CPU不断检测外设状态,提高 CPU的利用率。  实现对特殊事件的实时响应。 如多任务系统操作系统中:  缺页中断  设备中断  各类异常  实时钟,等 2020/11/4 49  什么是中断 ?  与生活场景的比较 正在看书 电话铃响 接电话 继续看书 事件发生 事件处理 继续执行程序 实际场景 执行程序 计算机 中断请求及响应 中断处理 中断返回 . 中断的基本概念 2020/11/4 50 中断服务程序 发申请 中断服务程序 发 申 请 外 设 •外设准备数据, CPU执行程序 ,此时, CPU与外设并行工作; • 外设准备就绪,向 CPU发中断申请, CPU暂停原程序执行,响应中断,进行数据传输。 此时,CPU与外设是串行工作。 中断传送方式 2020/11/4 51 断点 主程序 中断服务程序 中断请求 对外设进行处理 返回断点 CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序 . 2020/11/4 52 1000:150H 主程序 、 、 、 MOV AX, 0 ADD AX, DX MOV [ DI ], AX 、 、 、 CPU在执行此指令时, 某中断源发申请中断。 CPU在执行完该指令后 ,转去执行中断子程 . 断点概念 : PUSH AX 、 、 IRET 断点 中断服务程序 2020/11/4 53 中断源  引起 CPU中断的事件 —— 中断源。  外设 —— 请求输入输出数据 , 报告故障等  事件 —— 掉电 、 硬件故障 、 软件错误 、 非法操作 、 定时到 中断源分为:外部中断、内部中断 内部中断: CPU内部执行程序时自身产生的中断 外部中断: CPU以外的设备、部件产生的中断 8086/8088的外部中断信号: INTR、 NMI INTR—— 可屏蔽中断请求,高电平有效,受 IF标志的控制。 IF=1时,执行完当前指令后 CPU对它作出响应。 NMI—— 非屏蔽中断请求,上升沿有效,任何时候 CPU都要 响应此中断请求信号。 2020/11/4 54 2. 中断传送方式的特点  效率更高的程序传送方式  中断服务程序是预先设计好的  中断请求是随机的  CPU对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚 2020/11/4 55 8088的中断系统 8088的中断系统采用向量中断机制 能够处理 256个中断,用中断向量号 0~ 255区别 可屏蔽中断还需要借助专用中断控制器 Intel 8259A实现优先权管理 与中断有关的控制线为: NMI、 INTR、 INTA* 2020/11/4 56 NMI INTR 中断 逻辑 软件中断指令 溢出中断 除法错 单步中断 非屏蔽中断请求 中断控 制器 8259A PIC 8086/8088CPU内部逻辑 断点中断 n 4 3 0 1 2 可屏蔽中断请求 2020/11/4 57 外部中断  是由于 8088外部提出中断请求引起的  利用外部中断,微机系统可以实时响应外设的数据传送请求,及时处理外部意外或紧急事件  外部中断的原因是处理器外部 随机 产生的,所以是真正的中断( Interrupt)  内部中断的原因是处理器执行程序出现异常,所以经常被称为异常( Exception) 非屏蔽中断 —— 中断类型码 n= 2 可屏蔽中断 —— 中断类型码 n由申请中断的中断源提供 2020/11/4 58 ⑴ 非屏蔽中断 NMI  通过非屏蔽中断请求信号 NMI向微处理器提出的中断请求 , 微处理器无法禁止 , 将在当前指令执行结束予以响应 , 这个中断被称为非屏蔽中断  8088的非屏蔽中断的向量号为 2  非屏蔽中断主要用于处理系统的意外或故障。 例如:  电源掉电前的数据保护  存储器读写错误的处理 2020/11/4 59 ⑵ 可屏蔽中断  外部通过可屏蔽中断请求信号 INTR向微处理器提出的中断 , 微处理器在允许可屏蔽中断的条件下 , 在当前指令执行结束予以响应INTA* , 同时输出可屏蔽中断响应信号 , 这个中断就是可屏蔽中断 IF 控制可屏蔽中断的响应  IF= 1,允许中断; IF= 0,禁止中断。  8088通常需要配合中断控制器 8259A共同处理可屏蔽中断  可屏蔽中断主要用于主机与外设交换数据 2020/11/4 60 内部中断  8088内部执行程序出现异常引起的  利用内部中断 , 微处理器为用户提供了发现 、调试并解决程序执行时异常情况的有效途径  例如 , ROMBIOS和 DOS系统利用内部中断为程序员提供了各种功能调用 内部中断的中断向量号已定 2020/11/4 61 ⑴ 除法错中断  在执行除法指令时 , 若除数为 0或商超过了寄存器所能表达的范围 , 则 CPU会 自动产生 一个向量号为 0的内部中断 , 称为除法错中断  0号中断没有。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。