- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第06章. 输入与输出中断
6.1 输入输出接口概述 计算机在应用中,必然同各种各样的外设打交道. 外设与计算机的连接不能像存储器那样直接挂到总线(DB、AB、CB)上,而必须通过各自的专用接口电路(接口芯片)与主机连接. 接口电路的信息可分为3类:数据信息;状态信息;控制信息。 (1) 3种信息应通过不同的端口分别传送。如数据输入/输出寄存器(缓冲器)、状态寄存器与命令控制寄存器各占一个端口,每个端口都有自己的端口地址 (2) 外设的状态作为一种输入数据,而CPU的控制命令,是作为一种输出数据,从而可通过数据总线来分别传送。 (3) 端口地址由CPU地址总线的低8位或低16位地址信息来确定,CPU根据I/O指令提供的端口地址来寻址端口,然后同外设交换信息。 6.2 CPU与外设之间数据传送的方式 输入输出(无条件程序传送)原理图 查询输入部分的程序: POLL: IN AL,STATUSPORT ;读状态端口的信息 TEST AL,80H ;设“准备就绪”(READY)信息 在D7位 JZ POLL ;未“准备就绪”,则循环再查 IN AL,DATA_PORT ;已“准备就绪”(READY=1),则 读入数据 查询输出部分的程序: POLL: IN AL,STATUS_PORT ;查状态端口中的状态信息D7 TEST AL,80H JNZ POLL; ;D7=1即忙线=1,则循环再查 MOV AL,STORE ;否则,外设空闲,由内存读取数据 OUT DATA_PORT,AL ;输出到DATA地址端口单元 二、 中断传送 中断是外设或其他中断源中止CPU当前正在执行的程序,而转向为该外设服务(如完成它与CPU之间传送一个数据)的程序,一旦服务结束,又返回原程序继续工作。 CPU在每一条指令执行的结尾阶段,均查询是否有中断请求信号,若有,则暂停执行现行的程序,转去为申请中断的某个外设服务,以完成数据传送。 三、 直接存储器存取(DMA)传送 前面三种I/O方式都需要CPU作为中介: 外设 CPU 内存 两个含义: 1)软件:外设与内存之间的数据传送是通过CPU执行程序来完成的; 2)硬件:I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的(总线由CPU控制)。 缺点:程序的执行速度限定了传送的最大速度(约为几十KB/秒)— 解决:DMA传输 DMA传输: 外设 内存 外设直接与存储器进行数据交换 ,CPU不再担当数据传输的中介者; 总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供。 优点:数据传输由DMA硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率(可达几MB/秒) 6.3 中断技术 (二) 中断系统及其功能 中断系统应具有下列功能: 1. 能响应中断、处理中断与返回 是否响应该中断请求? HOW TO保护断点和现场 找中断服务程序的入口 恢复现场和断点 返回断点 2. 能实现优先权排队 有可能出现两个或两个以上中断源同时提出中断请求 3. 高级中断源能中断低级的中断 二、 单个中断源的中断 (二) CPU响应中断的条件 2. CPU在现行指令结束后响应中断 (三) CPU响应中断及处理过程 1.关中断 2.保留断点 3.保护现场 4.给出中断入口(地址),转入相应的中断服务程序 5.恢复现场 6.开中断与返回 6.4 8086/8088的中断系统和中断处理 一、8086/8088的中断系统 可屏蔽中断是由用户定义的外部硬件中断 当8086/8088CPU的INTR引脚上出现一高电平有效请求信号时,它必须保持到当前指令的结束。这是因为CPU只在每条指令的最后一个时钟周期才对INTR引脚的状态进行采样 如果CPU采样到有INTR产生,它是否响应还要取决于IF的状态。若IF=0,此时CPU是处
文档评论(0)