微型计算机组成原理jnz意思,计算机组成原理第10章 节 输入输出系统.ppt

计算机组成原理第10章 节 输入输出系统.ppt

10.3 程序中断方式 九、中断服务程序 中断服务程序由3部分组成;即前处理部分、主体部分和后处理部分,如图11.16所示。 1.前处理部分 ①封锁优先级与本设备相同或比本设备低的中断请求。因为这些中断请求虽然没有得到响应,但请求信号依然存在,这样CPU每执行一条指令,就要判断一下是否响应,而因优先级不比本设备高,判断结果为不能响应,然后再转回执行服务程序。只要这些中断请求信号存在,就总是干扰着服务程序的执行。封锁操作是通过对接口屏蔽触发器的重新设置来实现的,称这一操作为设置新屏蔽码。 10.3 程序中断方式 ②保护中断时的CPU现场。除了PC和PSW外,如果服务程序中还要使用其它寄存器,那么必须将它们原来的内容也压入堆栈。一般来说,动用哪个寄存器,就保存哪个寄存器的内容,以尽量减少时间开销。 ③开放中断。在中断响应时,CPU内的中断允许触发器是自动关闭的,其目的是在替换新老屏蔽字和保护现场操作时禁止一切中断,以免引起CPU现场混乱。何时允许中断,要根据前处理指令条数而定。前处理的最后一条指令是开中断指令,它将中断允许触发器置1。 10.3 程序中断方式 四、中断优先权 所谓优先权是指有多个中断同时发生时,对各个中断响应的优先次序。中断的优先权由排队电路来裁决。 ? 五、CPU响应中断的条件 1. 在CPU内部设置的中断允许触发器必须是开放的,STI指令开中断;CLI指令关中断。 2. 外设有中断请求时,中断请求触发器必须处于“1”状态,保持中断请求信号。 3.外设(接口)中断屏蔽触发器必须为“0”,这样才能把外设中断请求送至CPU。 4.CPU在现行指令结束的最后一个状态周期。 5.无DMA请求。 一旦CPU响应中断的条件得到满足,CPU开始响应中断,转入中断服务程序,进行中断处理。 10.3 程序中断方式 六、 程序中断的处理过程 1.关中断 进入不可再次响应中断的状态,由硬件自动实现。 2.保存断点 为了在中断处理结束后能正确地返回到中断点,在响应中断时,必须把当前的程序计数器PC中的内容(即断点)保存起来。 3.识别中断源,转向中断服务程序。 在多个中断源同时请求中断的情况下,本次实际响应的只能是优先权最高的那个中断源。所以,需进一步判别中断源,并转入相应的中断服务程序入口。 10.3 程序中断方式 4.保存现场、交换屏蔽字 进入中断服务程序后首先要保存现场,现场信息一般指的是程序状态字,中断屏蔽寄存器和CPU中某些寄存器的内容。保存旧的屏蔽字是为了中断返回前恢复屏蔽字,设置新的屏蔽字是为了实现屏蔽字改变中断优先级或控制中断的产生。 5.开中断。 因为接下去就要执行中断服务程序,开中断将允许更高级中断请求得到响应,实现中断嵌套。 6.执行中断服务程序主体。 不同中断源的中断服务程序是不同的,实际有效的中断处理工作是在此程序段中实现的。 10.3 程序中断方式 7.关中断 是为了在恢复现场和屏蔽字时不被中断打断。 8.恢复现场和屏蔽字 将现场和屏蔽字恢复到进入中断前的状态。 9.中断返回 中断返回是用一条IRET指令实现的,它完成恢复断点的功能,从而返回到原程序执行。 中断的处理过程如图10.6所示。 10.3 程序中断方式 进入中断时执行的关中断、保存断点操作是由硬件实现的,它类似于一条指令,但它与一般的指令不同,不能被编写在程序中。因此,常常称为“中断隐指令”。 七、中断识别的方法 如何确定中断源,并转入被响应的中断服务程序入口,大致有三种不同的方法。 程序查询法 硬件查询法 独立请求法 10.3 程序中断方式 1.程序查询法 如图10.7所示,每一个中断源都附带一个标志,该标志置位代表相应中断源请求中断,因此,判别中断条件只需用测试指令按一定优先次序检查这些标志,先遇到的第一个“1”标志即优先得到服务,在此之前,遇到“0”标志均跳过而继续检查下一个。中断查询法程序流程图如图10.8所示。 10.3 程序中断方式 在这种查询方式下,当有中断请求时,CPU就转向固定的中断查询程序入口,执行流程图的程序,程序查询的顺序决定了设备中断优先权。当确定了请求中断的最高优先设备后,立即转去执行该设备的中断服务程序。 这种软件查询方法适用于低速和中速设备。它的优点是中断条件标志的优先级可用程序任意改变,灵活性好。缺点是设备多时速度太慢。 10.3 程序中断方式 图10.7 中断请求逻辑图 图10.8 中断查询程序流程图 2.硬件查询法 硬件查询法的逻辑线路如图10.9所示。每个中断请求信号保存在“中断请求”触发器中,经“中断屏蔽”触发器控制后,产生来自中断请求触发器的请求信号IR1、IR2、IR3、IR4。 中断屏蔽寄存器的作用是改变中断处理的优先级别,在此假设中断屏蔽寄存器是全“0”,即将所有中断全设为允

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值