计算机组成原理(十二)

5.4 程序中断方式及接口

1.定义

 CPU暂时中止现行程序的执行,转去执行为某个随机事态服务的中断处理程序。处理完毕后自动恢复原程序的执行。

2.实质和特点

(1)实质

程序切换:1.方法:保存断点,获取服务程序入口地址;(中断处理前)返回断点。(中断处理后)

                  2.时间:一条指令完整结束时切换,保证程序的完整性。

(2)特点

随机性:1.随机发生的事态(按键、故障)

              2.有意调用,随机请求与处理的事态(调用打印机)

              3.随机插入的事态(软中断指令插入程序任何位置)

注意中断与转子的区别

1.子程序的执行由程序员事先安排,而中断服务程序的执行则是由随机中断事件触发

2.子程序的执行受主程序或上层程序控制,而中断服务程序一般与被中断的现行程序无关。

3.一般不存在同时调用多个子程序的情况,但可能发生多个外设同时向CPU发出中断服务请求的情况。

3.中断分类 

中断源:引起中断的原因或事件

(1)硬中断与软中断

硬中断:由硬件请求信号引发中断

软中断:由软中断指令引发中断

(2)内中断与外中断

内中断:中断源来自主机内部(比如:掉电、除法错、溢出INTO、……)

外中断:中断源来自主机外部(比如打印机、键盘等外设)

(3)可屏蔽中断与非屏蔽中断

可屏蔽中断:可通过屏蔽字屏蔽请求;关中断时不响应请求。

非屏蔽中断:与屏蔽字无关;请求的响应与开/关中断无关。

(4)*向量中断与非向量中断(根据中断源获取服务程序入口地址)

非向量中断:由软件提供服务程序入口地址

向量中断:由硬件提供服务程序入口地址

4.中断典型应用

1)管理中、低速I/O操作,比如键盘、打印机等

2)处理突发故障

硬件故障:掉电、校验错、…

软件故障:溢出、越界访问、……

3)实时处理

某事件出现的实际时间内及时处理,不是批量处理。利用时钟中断定时采集参数,检测,调节。

4)系统调度

多任务切换、缺页中断、……

5)人机交互

5、中断系统的硬、软件组织

1)中断请求源

1.外部硬件中断源:8种,IREQ0~IREQ7

2.内部中断源:掉电、溢出、校验错中断等

3.软中断:模型机软中断为INT11~INTn

2)中断服务程序    

在主存中的空间不必连续。

3)中断向量表    

存放在模型机中主存的2号单元开始;    

向量地址=中断号+2

6.中断请求过程(外中断) 

1.中断请求的提出与传递

条件:

1.外设工作 :“完成”标志为1

2.CPU允许请求:“屏蔽”标志为0

2、中断请求的传送(如何传送中断请求?)

稍微看看就行下面的例子

7.中断请求优先级判断

当这些中断源同时提出申请时,CPU该响应哪个请求?该中断请求是否能够中断CPU现行程序执行?所有这些都由中断判优处理逻辑电路来处理。

(1)优先顺序

从左到右依次是:故障、内中断、DMA、外中断。

基本原则:高速操作优于低速操作,输入优于输出。

(2)CPU现行程序与外设请求的判优

在一般计算机中,CPU进行简单的判优处理,根据CPU标志寄存器中的“允许中断”控制位(IF)状态,确定是否响应该中断请求。

补充:

 IF(Interrupt Enable Flag)————中断允许标志位。

IF=1使CPU可以响应可屏蔽中断请求。 

   回忆一下之前讲过的标志位:

6个状态位:CF(进位标志位)、PF(奇偶标志位)、AF(辅助进位标志位)、ZF(零标志位)、SF(符号标志位)、OF(溢出标志位)      

3个控制标志位:IF(中断允许标志位)、TF(陷阱标志位)、DF(方向标志位)

 在性能更强的计算机中,除了设置IF中断控制位外,还在程序状态字PSW中设定现行程序优先级,以便进一步细分现行程序任务的重要程度。

 (3).各外设请求的判优方式

 a.软件判优    由程序查询顺序确定优先级。可灵活修改优先级。

 b.硬件判优    

并行优先排队逻辑、链式优先排队逻辑、二维结构的优先排队、中断控制器判优等。

例子如下:

 

最后一个图补充:

(1) 当编码器有多个输入(INTi)同时为1时, 编码器只输出优先级最高的编码;

(2) 正在处理的中断优先权编码通过CPU执行软件送往优先权寄存器;

(3) CPU响应中断并进入中断响应周期送出INTA信号, 打开三态缓冲器, 新产生的中断对应的中断源的优先权编码送往CPU; CPU识别后产生新的中断向量, 转去执行优先级更高的中断服务程序;

(4) 如果当前CPU没有执行任何中断服务程序, 则设置优先权失效信号为“1”, 使任何请求信号都INTi能通过“与门2”到达CPU。

 8.中断响应(服务程序入口地址的获取方式)

1)响应条件

1.外设有请求,且未被屏蔽;

2.CPU开中断;

3.中断源优先级高于当前程序的优先

4.一条指令(非停机)结束,即ET之后。

1、向量中断
1)概念

a.中断向量:   

采用向量化的中断响应方式,将中断服务程序的入口地址及其程序状态字存放在特定的存储区中,所有的中断服务程序入口地址和状态字一起,称为中断向量

b.中断向量表:

即用来存放中断向量的一张表。在实际的系统中,常将所有中断服务程序的入口地址(或包括服务程序状态字)组织成一张一维表格,并存放于主存的一段连续的存储区,此表就是中断向量表。  c.向量地址:

访问中断向量表的地址码,即读取中断向量所需的地址(也可称为中断指针)。

2)向量中断:

将各个中断服务程序的入口地址(或包括状态字)组织成中断向量表;响应中断时,由硬件直接产生对应于中断源的向量地址;据此访问中断向量表,从中读取服务程序入口地址,由此转向服务程序的执行。这些工作在中断周期IT中由硬件直接实现(不需编写程序实现)

3)中断向量表的组成  

在模型机中,中断向量表在主存中占用0~1023号地址单元(即1K),每个中断源占用4个单元,因此,该表中可存放256个中断源。

4)如何从中断向量表中获取中断服务程序入口地址

2、非向量中断    

CPU响应中断时只产生一个固定的地址,由此读取中断查询程序的入口地址,从而转向查询程序,通过软件查询,确定被优先批准的中断源,然后分支进入相应的中断服务程序

3、响应中断的条件

1)有中断请求信号发生,如IREQi或INT n。

2)该中断请求被屏蔽。

3)CPU处于开中断状态,即中断允许触发器TIEN=1(或中断允许标志位IF=1)。

4)没有更重要的事件要处理(如因故障引起的内部中断,或是其优先权高于程序中断的DMA请求等)。

5)CPU刚刚执行的指令不是停机指令(HLT指令)。

6)在一条指令完整结束时响应(因为程序中断的过程是程序切换过程, 不能在一条指令执行的中间就切换)。

4、响应过程

9.模型机中断接口

1.组成(寄存器级)

(1)寄存器选择——对接口寄存器寻址。

(2)命令字寄存器——接收CPU发向外设的命令字,转换为相应操作命令送外设。

(3)状态字寄存器——反映设备和接口的运行状态。(状态字格式的拟定:用代码表示各种状态。)

(4)数据缓冲器——传送数据,实现缓冲。

(5)控制逻辑——请求信号产生、电平转换逻辑、串-并转换逻辑(串口)、针对设备特性的逻辑

(6)公用中断控制器——1.接收外设请求,判优,送出公共请求INT;2.接收中断批准INTA,送出中断号(中断类型码)

2.工作过程(外中断)

1)初始化:设置工作方式,送屏蔽字,送中断号(确定高位)。

2)发启动命令(送命令字),启动设备。

3)设备完成工作,申请中断。

4)中断控制器汇集各请求,经屏蔽、判优,形成中断号,并向CPU送INT。

5)CPU响应,发INTA

6)中断控制器送出中断号

7)CPU执行中断隐指令,转中断服务程序

3.接口设计(涉及命令字、状态字格式的拟定,中断源的扩展。)

这里主要是中断源的扩展

例 模型机需扩展两个外中断源,共用一个中断号。假设通过IRQ2进行扩展

(1)接口组成

两个扩展中断源共用一个接口。

主机发向外设的命令包括:启动、停止、数据选通

外设的状态包括:忙、完成、出错

(2)判断中断源

1.向量中断与非向量中断相结合(软件扩展)

2.请求1与请求2在控制逻辑中形成公共请求IRQ2,送入8259参加判优;

3.CPU响应后执行IRQ2服务程序(向量中断过程)

4.CPU在IRQ2服务程序中查询各设备状态,判中断源,转入相应设备服务程序(非向量中断过程)

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大卞老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值