第6章.输入与输出中断.ppt

  1. 1、本文档共118页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三、 中断向量表 中断向量表也称中断入口地址表。该表说明了中断类型号和中断服务程序的入口地址之间的联系。中断向量表放在存储单元地址的最低部位00000H到003FFH之间,占有1K字节的存储空间。中断向量表分成256组,每组由两个字(即4个字节)组成一个双字长的指针。每个双字指针指示一种中断类型,所以8086最多能识别256种不同类型的中断. 三、 中断向量表 通过这张中断向量表产生出各个中断服务程序的入口地址。在双字长指针的高地址中存放的字是中断服务程序入口地址所在的代码段的16位段地址(CS),低地址字是中断服务程序入口地址相对于段起始地址的偏移值(IP)。CPU通过CS和IP的值得到一个20位的地址,它就是中断服务程序的实际入口地址,其计算方法同求一个存储 器单元实际地址的方法一样,就是将16位的CS段地址左移4位,然后加上IP值。 每个中断向量具有一个相应的中断类型号,由中断类型号 确定在中断向量表中的中断向量。中断类型号乘4,将给出中 断向量表中的中断向量入口第1字节的物理地址。例如,若中 断类型号为8,它指出中断向量表的第9个入口,则这个向量的 第1字节的地址为: 类型号8×4=32=20H 若类型8中,安排的CS= 1000H,IP=0200H,则它们 形成的服务程序的入口地址 为10200H。CPU一旦响应中 断类型8,则将转去执行从地 址10200H开始的类型号为8 的中断服务程序。 如图6.24所示。 四、 可屏蔽中断的过程 (一) INTR中断的全过程 首先,中断请求信号INTR由外部设备产生并送至8086的INTR引脚上。CPU是否响应取决于CPU内部的IF标志,如果IF标志为0,则在IF变成1以前CPU不会识别中断;当IF=1并出现INTR请求信号时,CPU在完成正在执行的指令后,便开始响应中断。 步骤如下: (1) CPU读取中断类型号n。CPU将通过其INTA引脚向中断接口电路发响应信号,并启动中断过程。这个响应 信号将使发出中断请求的接口把其1个字节的中断类型号通过数据总线送给CPU; (2) 按先后顺序把PSW、CS和IP的当前内容压入堆栈; (3) 清除IF和TF标志; (4) 把4×n+2的字存储单元中的内容读入CS中,把 4×n的字存储单元中内容读入IP中。 于是,CPU从新的CS:IP值开始执行中断服务程序。若允许中断嵌套,则一般在中断服务程序保存各寄存器内容之后安排一条STI开放中断指令,这是因为CPU响应中断后便自动清除了IF与TF位,当执行了STI指令后,IF=1,以便优先权较高的中断源获准中断响应。中断服务程序中安排一条 IRET 中断返回指令,就能控制CPU返回到发生中断处去。 至于CPU响应NMI或内部中断请求时的操作顺序基本上与上述过程相同,只是不需要第1项的操作,因为它们的中断类型码是直接从指令中获得或由CPU内部自动产生。一旦CPU接到NMI引脚上的中断请求或内部中断请求时,CPU就会自动地转向它们各自的中断服务程序。 (二) 中断类型号的获得 (1) 除法错误,单步中断,非屏蔽中断,断点中断和溢出中断分别由CPU芯片内的硬件自提供类型号0~4。 (2) 软件中断则是从指令流中,即在第2个字节中读得中断类型号。 (3) 外部中断INTR可以用不同的方法获得中断类型号。例如,在PC系列微机中,可以由Intel 8259A芯片或集成了 8259A的超大规模集成外围芯片来提供中断类型号(第7章)。 五、 中断响应时序 下面以8086 CPU的最小方式以及用户定义的硬件中断为例来讨论中断响应的时序,如图6.26所示。   如果在前一个总线周期中CPU的中断系统检测到INTR引脚是高电平,而且程序状态字的IF位为1,则CPU在完成当前的一条指令后,便执行一个中断响应时序。8086 的中断响应时序由两个INTA中断响应总线周期组成,中间由两个空闲时钟周期T1隔开。在两个总线周期中,INTA输出为低电平,以响应这个中断。 第1个INTA总线周期表示一个中断响应正在进行,这样可以使申请中断的设备有时间去准备在第2个INTA总线周期内发出中断类型号。第2个INTA总线周期中,中断类型号必须在16位数据总线的低半部分(AD0~AD7)上传送给8086。因此,提供中断类型号的中断接口电路(例如8259A)的8位数据线是接在16位数据总线的低半部上。在中断响应总线周期期间,经DT/R和DEN的配合作用,使得 8086 可以从申请中断的接口电路中取得一个单字节的中

您可能关注的文档

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档