程序中断

原创 2016年08月30日 17:02:28

中断请求触发器(INTR),中断屏蔽触发器(MASK)二者成对出现。
接口中的完成触发器D,为1表示设备准备就绪。
中断源:凡是能够向CPU提出中断请求的各种因素都叫中断源。

因此,有多个中断源,但是,CPU某一时刻只接受一个中断源。那么其他的中断源怎么办?
老办法:排队等候啊。
如何选择中断源?也是老办法,谁优先级高就选谁。正在处理中断呢,能不能被打断?
答案是可以的,优先级的作用也在这里,且是双向的,更高优先级的可以打断,但级别低的不许打断。MASK就是封锁级别低的中断请求的触发器。

CPU在何时查询中断请求?

答案是统一的时间:在每条指令执行阶段的最后时刻,查询所有的设备时候有中断请求。

如何对中断源排序?
有个原则:速度越高的I/O设备,优先级越高,因为若CPU不及时响应高速I/O设备的请求,信息可能会立即损失。

中断向量
CPU响应中断的流程是:暂停现有程序,转去执行该设备的中断服务程序。不同的设备有不同的中断服务程序。
每个服务程序都有一个入口地址,CPU要找到这个入口地址。
中断向量是中断服务程序的入口地址的地址

向量地址送到PC,查找中断服务程序的入口地址。
因为向量地址中存放的是无条件转移指令。

一次中断处理过程可归纳为中断请求,中断判优,中断响应,中断服务和中断返回。

中断服务程序的流程,主要是四大部分:保护现场,中断服务,恢复现场,中断返回。

保护现场又分为两个部分的保护:
保护程序的断点(PC):由中断隐指令完成(一关,二保,三引)
保护通用寄存器和状态寄存器的内容:由中断服务程序完成

版权声明:本文为博主原创文章,未经博主允许不得转载。

中断处理程序与中断服务例程

1. 什么是中断 简单来说中断就是硬件设备与处理器的一种交流方式,比如当我按下一个键时,只有当处理器知道我按下了这个键并且做出相应的处理时,按键这个操作才是有效的。我们知道处理器的速度远远高于外...
  • hello_yang_123
  • hello_yang_123
  • 2015年11月18日 13:41
  • 1689

中断及中断处理过程

(From:http://www.cppblog.com/aaxron/archive/2011/11/16/160280.html) 中断及中断处理过程 1. 中断和异常的概念区别 ...
  • wangzhen199009
  • wangzhen199009
  • 2014年08月19日 09:07
  • 15782

你的第一个中断程序!

Last Update:2011/11/09 本文通过一个简单的中断程序来描述一般中断程序的基本框架。完整代码在这里。 中断程序一般会包含在某个设备的驱动程序中,因此,接下来的程序本质上还...
  • maochengtao
  • maochengtao
  • 2015年01月10日 15:13
  • 548

浅谈C语言中断处理机制

一、中断机制      1、实现中断响应和中断返回   当CPU收到中断请求后,能根据具体情况决定是否响应中断,如果CPU没有更急、更重要的工作,则在执行完当前指令后响应这一中断请求。CP...
  • zhengzhihust
  • zhengzhihust
  • 2012年08月24日 09:47
  • 16350

中断服务程序的编写

...
  • duckzyf7758
  • duckzyf7758
  • 2007年09月10日 10:51
  • 1361

中断和中断处理程序

处理器的速度跟外围硬件设备的速度往往不在一个数量级上,因此,如果内核采取让处理器向硬件发出一个请求,然后专门等待回应的方法,显然差强人意;轮询虽然能够解决这个问题,但会周期性地重复执行。更好的办法是让...
  • lsn946803746
  • lsn946803746
  • 2015年04月09日 21:28
  • 668

7.4.2 程序中断方式

1.中断的基本概念 程序中断是指在计算机执行现行程序的过场中,出现某些急需处理的异常情况或特殊请求,CPU暂停中断现行程序,而专区对这些异常情况或特殊情况进行处理,在处理完毕后CPU又自动返回到现行程...
  • jxq0816
  • jxq0816
  • 2016年09月22日 17:21
  • 674

2812中断程序模板

/******************************************************************************$     Date:   24/10/2...
  • Augusdi
  • Augusdi
  • 2011年06月18日 23:38
  • 2102

Exynos4412 中断处理流程详解

Linux 中,当外设触发中断后,大体处理流程如下: a -- 具体CPU architecture相关的模块会进行现场保护,然后调用machine driver对应的中断处理handler; b -...
  • zqixiao_09
  • zqixiao_09
  • 2016年03月19日 00:36
  • 3815

中断处理过程

部分摘自:http://blog.tianya.cn/post-4429401-96312643-1.shtml 中断:所谓中断就是指CPU在正常执行程序的时候,由于内部/外部事件的出发、或由程...
  • baidu_33553376
  • baidu_33553376
  • 2016年08月30日 18:01
  • 3408
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:程序中断
举报原因:
原因补充:

(最多只允许输入30个字)