- 1、本文档共86页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 输入/输出 第一节 输入/输出的编址方式 第二节 CPU与外设之间的数据传送 第三节 中断 第四节 8086/8088的中断方式 第五节 中断控制器8259A 第三节 中断 中断工作过程 外设需要CPU服务时 外设→I/O接口→CPU 发中断请求,INTR=H(中断请求有效) CPU执行完当前指令后, (注: 若IF = 1) CPU → I/O接口 →外设发中断响应,INTA = L CPU执行中断服务程序, CPU←→I/O接口←→外设读写数据 中断控制方式中的信息 中断请求(状态信息) 输入设备准备好数据 输出设备准备接收数据 中断响应(控制信息) 外设可以进入数据传送 中断服务(数据信息) CPU 与外设读写数据 二. 中断系统的功能 (1)进行中断优先权排队 (2)实现中断嵌套 (3)自动响应中断 CPU在响应中断时通常要自动做三件事: 自动关闭中断和把原执行程序的断点地址压入堆栈 按中断源提供的中断矢量自动转入相应中断服务程序执行 自动或通过安排在中断服务程序中指令来撤消本次中断请求,以避免再次响应本次中断的请求 三、中断优先权的确定 第四节 8086/8088的中断方式 中断特点: 矢量型中断,有256个中断矢量号(设备号) (0~255) 1. 硬件中断(外部中断) (1)非屏蔽中断 (2)可屏蔽中断 特点: 对INTR请求的响应受中断标志位IF的控制 中断矢量号为不固定, 中断优先级及屏蔽状态有中断控制器8259A控制 中断响应需要两个总线周期 CPU响应外部中断、并进入中断子程序的过程中,要依次做几件事: (1)从数据总线上读取中断矢量号,将其存入内部暂存器 (2)将标志寄存器FR的值进栈 (3)把FR的中断允许标志IF和单步标志TF清零 (4)将断点保护到堆栈中 断点:是指响应中断时,主程序中当前指令下面的一条指令的地址,包括CS和IP的值 (5)依据获得的中断矢量号,到内存中断矢量表中找到中断矢量,再依据该中断矢量转入相应的中断服务程序 中断服务(处理)子程序的结构模式: (1)现场保护,既通过一系列进栈指令保护中断现场,如保护CPU各寄存器的值 (2)用指令设置中断允许标志IF开中断,以允许级别更高的中断进入 (3)中断处理的具体内容 (4)现场恢复 (5)中断返回指令IRET,目的将堆栈中保护的断点值和标志值分别装入IP、CS和标志寄存器中 2. 软件中断(内部中断) 特点: 中断矢量号由CPU内部自动提供,不需要执行中断响应总线周期去读取矢量号 除单步中断外,所有内部中断都不可以用软件屏蔽,即都不能通过执行CLI指令使IF清0来禁止对它们的响应 除单步中断外,所有内部中断的优先级别均高于外部中断 软中断不具有随机性 二、8086/8088中断处理过程 优先级从高到低顺序如下: 内部中断 NMI INTR 单步中断 8086/8088的中断处理流程 NMI、INTR、单步和除法错中断同时产生时的中断处理过程 2. 中断矢量和中断矢量表 中断矢量:是中断处理子程序的入口地址,每个中断 类型对应一个中断矢量 中断矢量表范围: 00000H ~003FFH(1KB) 每一个中断服务程序的入口地址占四个字节单元(256×4=1024B),高字节放的是段地址(CS),低字节放的是偏移地址(IP) 每个中断源对应一个中断服务程序,每一个中断服务程序都有固定的入口地址 例6-1: 键盘中断的矢量号为09H,它的中断服务程序入口地址为0BA9H:0125H,求它在中断矢量表中的地址及相应单元内容 3、中断类型号的获得 ⑴ 除法错误,单步中断,非屏蔽中断。断点中断和溢出中 断分别由CPU内部自动提供中断类型号(0-4)。 ⑵ 软件中断则是从指令流中,即在第2个字节中读得中断 类型号。 ⑶ 外部中断INTR可以用不同的方法获得中断类型号,通 常由硬件提供,如8259A芯片可以将中断类型号送到数据总 线上,由CPU读取而获得。 4 中断处理顺序 第五节 中断控制器8259A 功能: 在有多个中断源系统中,协助CPU实现对外部中断的管理,对它们进行优先级排队后向CPU发出中断请求信号 1. 内部结构 数据总线缓冲器:与DB挂接(低8位),传送控制字状态信息,中断向量。有了缓冲器,可直接挂接在总线上,没有缓冲器的设备,不能直接挂接在总线上 级联缓冲器/比较器:用于多8259A系统,也称缓冲方式 SP/EN:双功能信号,用于级联控制 缓冲方式时,EN=0,表示允许8259A通过缓冲存储器输出 EN=1,表示CPU写8259A 非缓冲方式时
文档评论(0)