芯片 主频 控制器 总线 缓存 处理器
主页 正文

中断类型号一文掌握其核心概念

中断号是什么意思

说明: 中断号也称为中断类型号或中断请求号。
中断是指CPU在运行时,被CPU内部或外部的事件中断,从而暂时停止当前程序的执行,转而执行特定的内部或外部时间程序的过程。
当外部设备执行I/O操作时,随机产生中断请求信号。
该信号具有特定的标志,允许计算机确定哪个设备发出了中断请求。
该信号称为中断号。

中断向量(1)存放中断服务程序的入口地址

在PC/AT计算机系统中,中断总线起着至关重要的作用,因为它们存储中断服务程序的输入地址。
每个中断向量占用四个连续字节,其中两个高位用于存储服务程序的段地址,即CS代码段,而两个低位模块则存储段内的IP偏移量,即,程序的入口点。

特别地,在PC/AT架构中,系统保留了前1KB内存,即地址范围0~3FFH。
这部分内存称为中断向量表,专门用来存储256个中断向量。
这些向量是中断响应过程中的重要组成部分,指示CPU查找并执行相应的服务程序。

中断类型号,即设备产生的中断标识码,通常与中断向量直接相关。
当系统收到中断请求时,8259A 会为当前中断源产生最高优先级的中断类型号。
该类型号与中断向量存储地址有一个简单的关系:将中断类型号乘以4即可得到中断子程序首地址所在存储区的首地址,即为中断向量地址

所以,一旦有了地址中断向量,我们就可以从连续的四个卷中提取出中断服务程序的输入地址,从而开始相应的处理过程。

扩展信息

概念

什么叫矢量中断?请叙述中断类型号、中断向量表和中断服务程序入口地址三者的关系?

向量中断是处理器响应中断的一种方式。
当处理器检测到中断时,它将中断类型的编号存储在寄存器中,例如1、2、3等。
如果处理器支持向量中断功能,则会直接访问中断向量表来执行相应的中断处理程序。
如果不支持的话,所有的中断请求都会进入一个公共的处理入口,那么程序需要判断哪个中断源是具体的中断源并执行相应的处理程序。
中断类型号通常与上述寄存器中的值匹配。
中断向量表是存储中断处理程序地址的表。
每个中断对应一个特定的处理程序地址。
中断服务程序的入口地址是当中断发生时处理器自动跳转到执行的地址。
一般情况下,中断入口地址的数量是有限的,但中断类型可以有很多种。
因此,几种不同类型的中断可以共享相同的入口地址。
由于中断类型是在单个入口地址判断的,因此响应速度可能会降低。
为了解决这个问题,引入了向量中断和中断向量表的概念。
向量中断自动生成偏移量,并将处理器定向到中断向量表和偏移量的地址,从而避免了判断中断类型的过程,加快了中断处理速度。
打断向量表中的每个条目包含中断服务程序的入口地址。
这样,处理器就可以快速找到并执行正确的中断处理程序,提高系统的响应效率。
在向量中断机制中,当中断发生时,处理器会根据中断类型号访问中断向量表中对应的表项,获取中断服务程序的入口地址,然后跳转执行。
这种机制保证了中断处理的效率和灵活性。
通过中断向量表,系统可以为每种中断类型指定唯一的处理程序入口地址,这样即使多个中断源同时请求中断处理,处理器也能快速响应,并能正确执行复杂的中断类型。
没有中断处理程序。
决定。
向量中断技术不仅提高了系统的响应速度,而且简化了中断处理程序的设计。
通过中断向量表,系统可以灵活地管理各种中断,保证每个中断都能被快速、准确地处理。

8086系统中、中断类型码、中断向量、中断向量表的关系

中断系统5.28086/8088 1. 中断分类及中断类型代码 中断源: 产生中断的原因或发出中断请求的设备称为中断源。
• 中断分为两类:硬件中断和软件中断 ①硬件中断:由外部硬件产生的中断,如打印机、键盘等,有时也称为外部中断。
硬件中断可以分为两类:可屏蔽中断和不可屏蔽中断。
不可屏蔽中断:由NMI引脚引入,不受中断使能标志位影响。
每个系统只允许有一个,用于处理紧急情况,例如掉电处理。
一旦发生这种中断,系统会立即响应; 可屏蔽中断:由INTR引脚引入,受中断使能标志位影响,即可屏蔽中断只有在IF=1时才能进入,反之亦然。
可以有多个可屏蔽中断,通常通过优先级队列,选择多个中断源之一进行处理。
②软件中断(内部中断):根据某条指令或标志寄存器中某标志位的设置而产生。
与硬件电路无关。
最常见的包括除 0 或 INTn 指令。
溢出中断是由 INT0 指令引起 断点中断是由 INT3 指令引起 单步是由 TF 标志引起 ↘ 与指令不匹配 除 0 是由计算结果引起 ↙ 与指令不匹配 • 中断类型代码: 8086/8088为每个中断源类型代码分配一个中断,其取值范围 是0到255,可以处理56种中断。
其中包括软件中断、系统占用中断和用户打开中断。
2. 中断向量和中断向量表 系统处理中断的方式有很多种。
中断处理中最重要的一步是如何根据不同的中断源输入相应的中断服务程序。
目前,最常用的中断是向量中断。
打断。
中断向量:每个中断服务程序的输入称为中断向量; 中断向量表:当中断源发出中断时,这些中断向量按照一定的规则排列成一个表,称为中断向量表。
请求时,可以查表,找出中断向量,然后转入相应的中断服务程序。
8086/8088中断系统中的中断向量表位于0段0~3FFFH的存储区域,每个中断向量占用4个单元,其中前2个单元存储中断的输入地址的偏移量。
处理子程序。
(IP),低位在前,高位在后; 最后两个单元存放中断处理程序输入地址的段地址(CS),也是低位在前,高位在后。
根据中断类型号组织。
参见图 5-14。
图显示了中断类型代码和中断向量位置之间的对应关系。
其中00H~04H为专用中断,05H~3FH为系统保留中断。
用户一般无法定义它们(有些有固定用途,如INT21H是MS-DOS系统调用图5-14)。
~FF 是用户定义的中断。
00H ~ 04H - 系统专有 10H ~ 1FH - BIOS 使用 40H ~ FFH - 用户使用 08H ~ 0FH - 硬件中断 20H ~ 3FH - DOS 使用中断类型号 *4 来计算中断中某个中断类型位置的中断向量中断矢量表集。
例如类型号为20H,则中断向量存储位置为20H*4=80H(假设中断服务程序的输入地址为4030:2010,则为10H、20H、30H、40.H)。
响应20H号中断,会自动搜索向量 中断,会找到相应的中断向量并加载到CS和IP中,即传送到中断服务程序中。
3. 软件中断的中断响应过程和时序 8086/8088 响应硬件中断的过程有所不同。
软件中断和硬件中断的原因是不同的。
• 硬件中断响应过程是指NMI 引脚输入的不可屏蔽中断或INTR 引脚输入的可屏蔽中断。

下面以可屏蔽中断为例。
CPU 触发 INTR。
引脚上收到中断请求信号。
如果此时IF=1,CPU将在当前指令执行完毕后开始响应外部中断请求。
此时CPU连续向该引脚发送两个负脉冲。
,设备已连接。
第二个负脉冲后,在数据线上发送中断类型码,并接收中断类型码。
输入类型码后,CPU 执行以下操作: ① 将中断类型码放入临时寄存器中存储; ② 将标志寄存器的压入堆栈,以保护中断期间的状态; TF 变为 0。
为了防止在响应中断时发生进一步的中断,将 TF 设置回 0 是为了防止处理器单步执行中断处理例程。
此时特别提醒,由于CPU在响应中断时会自动关闭IF标志,所以如果用户想要嵌套中断,必须在自己的子程序中断处理中使用中断指令来重置IF; 保护断点,断点是指响应中断时位于主程序当前指令下方的指令地址。
因此,断点保护动作就是将当前的IP和CS压入堆栈。
断点保护的目的是为了以后能正确返回主程序。
⑤ 根据获得的中断类型代码,找到断点。
中断向量表中对应的中断向量加载到IP和CS中,然后自动传送到中断服务程序中。
对于中断请求由NMI输入,由于其类型码设置为2,CPU不需要读取设备的类型码,也不需要计算中断向量表的地址。
可以加载。
分别在IP和CS中。
图5-15给出了8086/8088中断响应过程的流程图。
我们对这个图做一些解释: ① 8086/8088除了软件中断外,内部还有“不可屏蔽中断”和“可屏蔽中断”。
与优先事项。
Level,其中(除不唯一外)——即中断0、1、3、4的优先级高于不可屏蔽中断,不可屏蔽中断高于可屏蔽中断且单步中断有最低优先级; ② 只有IF=1才确定中断可以隐藏? ,只取中断类型代码,其他没有此动作。
③ 对于单步中断,每执行一条指令就中断一次,并显示当时各寄存器的,供用户参考。
当进入单步中断响应时,CPU自动清除TF后。
中断返回,由于恢复了响应当时标志寄存器的值,所以TF=1,执行完一条指令后,进入单步中断,直到程序将TF变为0。
④关于中断嵌套时,NMI 仍可响应。
如果在中断处理程序中配置了中断使能指令,也可以响应INTR请求。
⑤显示IP、CS、指示灯以及返回断点的动作由IRET指令完成。
⑥某些情况下,即使满足条件,CPU也不能立即响应中断,必须执行下一条指令(而不是当前指令)。
• 准确执行LOCK指令; • 执行给SS寄存器赋值的传输指令,因为通常需要使用两条连续的指令给SS和SP寄存器赋值,以保证堆栈的正确性。
针。
⑦ 当遇到等待指令或字符串操作指令时,指令执行过程中允许中断。
这时要注意中断处理程序中的现场保护,保证中断返回后这些指令能够继续正确执行。

8086cpu如何获得中断类型号

8086CPU处理中断时,需要将中断类型号通过数据总线传递给CPU。
具体来说,当外部设备产生中断请求时,它通过数据总线将中断类型号发送给8086CPU。
中断类型号通常是一个8位代码,用于标识不同的中断源。
8086CPU收到中断类型号后,根据该号在中断向量表中查找相应的中断处理程序入口地址,然后执行相应的中断服务程序。
在8086CPU中,传输中断类型号的过程可以分为几个步骤。
首先,外部设备通过中断请求线向8086CPU发送中断请求信号。
然后,8086CPU通过数据总线接收中断类型号。
接下来,8086CPU将中断类型号与中断向量表中的相应位置进行匹配。
中断向量表是用来存储中断服务程序的输入地址的内存区域。
最后8086CPU根据中断类型号在中断向量表中找到对应的中断处理入口地址,调用对应的中断服务程序进行处理。
中断类型号的具体值由外部设备决定,不同的设备可能使用不同的中断类型号。
8086CPU通过中断类型号来识别不同的中断源,并调用相应的中断服务程序进行处理。
正确分配中断类型数量对于保证中断处理的准确性和及时性非常重要。
在8086CPU中,中断类型号的传输和处理是实现系统中断管理的重要部分。
它不仅可以帮助CPU识别不同的中断源,而且可以保证中断处理程序能够被正确调用,从而提高系统的响应速度和稳定性。
中断类型号传输机制在8086CPU的设计中具有重要意义。
它不仅可以帮助CPU准确识别中断源,还可以保证中断处理程序能够及时调用。
这种机制使得8086CPU能够在复杂的中断环境下高效运行,从而为后续的计算任务提供可靠的中断支持。
在实际应用中,8086 CPU的中断类型号传输需要与中断向量表等硬件部件配合工作,以保证中断处理的准确性和及时性。
这样,8086CPU就可以有效地管理各种中断请求,提高系统整体性能。

热门资讯
深入解析Hibernate二级缓存原理、配置与应用
宁波外贸行业领先企业盘点前十榜单揭晓
杭州指令集智能科技有限公司
深度解析主频与睿频,究竟谁才是性能提升的关键?
Redis缓存雪崩与击穿现象解析及应对策略
逆变器主频与混频性能对比选择哪个更优?
主板与内存条不兼容的影响解析
伺服总线控制高效稳定的工业自动化解决方案