欢迎使用CSDN-markdown编辑器

中断:计算机在执行一些程序时,为了执行另外的一些程序,或者发生了不可阻止的错误,就会发生中断.中断是一种计算机的行为,在具体硬件上表现为电平的变化.
中断向量:计算机发生中断时各个寄存器和程序计数器所指向的内容,或者其中所存的内容.

在发生中断时,可以将这些向量暂时的存储在另一个地方,而当执行完别的程序时,可以从暂存的地方将中断向量取出放入原来的位置,从而可以执行原来中断的程序.这个过程叫做中断向量处理.有关具体细节可以查询计算机相关的书籍.

在中断源识别方法时提到:早期的微机系统中将由硬件产生的中断标识码称为中断向量。

(中断源的识别标志,可用来形成相应的中断服务程序的入口地址或存放中断服务程序的首地址)。

在Pc/AT中也用到这个名称,但含义有所不同。在Pc/AT机中,中断向量是指中断服务程序的入口地址,包括段地址CS和段内偏移 量IP共4个字节。在PC/AT中,规定内存储器的最低1 KB用来存放中断向量(共256个),称这一片内存区为中断向量表,地址范围是0~3FFH,如图所示。

在Pc/AT中由硬件产生的中断标识码被称为中断类型号(当然,中断类型号还有其他的产生方法,如指令中直接给出、CPU自动形成等),即在中断响应期间8259A产生的是当前请求中断的最高优先级的中断源的中断类型号。中断类型号和中断向量之间有下面的关系:

中断类型号×4=存放中断向量的首地址

有了存放中断向量的首地址,从该地址开始的4个存储单元中取出的就是中断服务程序的入口 。

具体点说,中断向量地址指的是内存中所储存的中断服务程序的地址,它是三十二位的,包括十六位段地址和十六位偏移地址,由此计算住实际的物理地址.一般情况下,他们是从内存的00H按顺序存储,每四个存储单元存一个中断向量地址.

中断向量(即内存地址)。中断向量是中断系统的一个重要概念,它的作用是引导CPU执行相应的中断服务程序。在实模式下,中断向量就是中断服务程序的入口地址。一个中断向量由4B组成,即服务程序入口的段基址(2B)和服务程序入口的偏移地址(2B)。中断类型码 n与存放中断向量的存储单元地址之间的关系是:4n~4n+3单元存放的是 n型中断向量。

例如对应8259A的IR2中断类型号是52H,则中断向量存放在内存0段 148H(52H*4),149H,14AH,14BH单元中。

8259A作为一种可编程中断控制器,是一种集成芯片.它用来管理输入到CPU的各种中断申请,主要外围设备,能提供中断向量,屏蔽各种中断输入等功能.每一个8259A芯片都能直接管理8级中断,最多可以用9片8259A芯片级连,由其构成级连机构可以管理64级中断.

计算机内存的前1024个字节保存着256个中断向量,每个中断向量占4个字节,前两个字节保存着中断服务程序的入口地址偏移量,后两个字节保存着中断程序的入口段地址,使用时,只要将它们分别调入寄存器ip及cs中,就可以转入中断服务程序实现中断调用。每当中断发生时,cpu将中断号乘以4,在中断向量表中得到该中断向量地址,进而获得ip及cs值,从而转到中断服务程序的入口地址,调用中断。这就是中断服务程序通过中断号调用的基本过程。

在计算机启动的时候,bios将基本的中断填入中断向量表,当dos[注意:说的是dos系统,不清楚linux是如何运作的。]得到系统控制权后,它又要将一些中断向量填入表中,还要修改一部分bios的中断向量。有一部分中断向量是系统为用户保留的,如60h到67h号中断,用户可以将自己的中断服务程序写入这些中断向量中。不仅如此,用户还可以自己更改和完善系统已有的中断向量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值