缓存 指令集 逻辑门 控制器 运算器 微架构
主页 正文

中断类型码计算方法详解

8086系统中,中断类型码、中断向量、中断向量表的关系是什么?

中断类型码:其实就是中断号,是不同中断服务程序调用中断程序的不同叫法:它指向中断服务程序的入口地址。
向量表示的入口地址是4个字节。
中断向量表:由于有多个中断请求,所以就有多个中断服务程序,即有多个中断服务程序存储这些程序。
输入地址(即中断向量)。
为此,系统在内存的特定区域放置了一个中断向量表来存储所有中断向量。
这个表是三个中断向量表:中断向量=[中断号起始绝对内存地址0]。

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

5.28086/8088中断系统1.中断的分类及中断类型代码中断源:引起中断或产生中断请求的设备称为中断源。
•中断分为两类:硬件中断和软件中断①硬件中断:打印机、由外部硬件(例如键盘等)产生的中断有时称为外部中断。
硬件中断可以分为两类:可屏蔽中断和不可屏蔽中断。
不可屏蔽中断:由NMI引脚引入;每个系统只允许有一个,用于处理断电等紧急情况。
一旦出现这种干扰,系统将立即响应可屏蔽中断:应用INTR引脚引入的中断标志;那是,仅当IF=1时才可访问可屏蔽中断,反之亦然。
通常可以有多个中断,可以通过优先级排队来屏蔽;选择多个缓冲源之一进行处理。
②软件故障(内部故障):它与硬件电路无关,无论是指令还是标志寄存器中的标志。
溢出中断由INT0指令引起断点中断由INT3指令引起单步诞生TF↘与指令不对应除以0是计算结果↙与指令不对应•中断类型代码:各为8086/8088中断源类型给出拦截;其取值范围为0~255,可处理56种中断类型。
其中包括软件中断;包括系统占用的中断和对用户开放的中断。
2、中断向量和中断向量表系统处理中断的方式有很多种。
处理中断最重要的一步就是向量,目前最常见的中断源是根据不同的中断源在对应的中断服务子程序中。
打断了。
中断向量:每个中断服务子程序的入口称为中断向量表:这些中断向量按照一定的规则排列在一个表中,称为中断向量表。
要求可以查表,找到中断字段,并将其传递给相应的中断服务程序。
8086/8088中断系统中的中断向量表位于0段0~3FFHH的存储区域。
每个截距向量有四个单位,其中前两个单元存储中断入口地址的偏移量。
处理子类(IP);低位在前;高位最后;最后两个单元是中断处理子程序入口地址的地址段(CS);低位在前;最高位在最后。
按中断类型编号排列。
P参见图5-14。
下图给出了中断类型代码与中断向量位置的对应关系。
其中00H~04H为特定中断,05H~3FH一般不能由用户设置(其中有些INT21H是MS-DOS图5-14的系统调用)~FF为用户自定义中断。
00H~04H-系统专用10H~1FH-BIOS使用40H~FFH-用户使用08H~0FH-硬件中断20H~3FH-中断类型号*4用于计算整个DOS中断中某个中断类型位置的中断向量向量表。
例如,如果类别号是20H。
中断向量的存储位置为20H*4=80H(中断服务子程序入口地址为4030:2010,然后是10H、20H、30H、40.H。
当系统响应中断号20H时,会自动搜索中断向量,找到对应的中断向量,输入到CS和IP中就表示会被加载转入中断服务子程序3.中断响应。
流程和时序8086/8088软件中断不同,因为流程响应硬件中断。
软件中断和硬件中断的原因是不同的。
以下是从CPU触发INTR的可屏蔽中断示例。
如果该引脚收到中断请求信号,此时IF=1;执行完当前指令后,CPU将开始响应外部中断请求。
,以及在外设连接时的第二个负脉冲之后;在数据线上发送中断类型码并接收中断类型码。
输入类型码后,CPU执行以下操作:①将中断类型代码放入临时寄存器中存储。
②将标志寄存器的压入堆栈,以保护中断期间的状态。
按T​​F标志为0。
防止响应中断时发生其他中断;将TF清0是为了防止CPU单步执行中断处理程序。
此时的特别警告是;因为当CPU响应中断时,IF标志会自动关闭。
IF④如果用户想要中断他们必须使用自己的中断指令来复位。
保护断点;断点是指响应中断时主程序当前指令以下的指令地址。
所以,保护断点的作用是将当前的IP和CS压入堆栈,保护断点的目的是为了以后能正确返回主程序⑤查找接收到的中断类型代码。
将中断向量表中对应的中断向量加载到IP和CS中,并自动转入中断服务子程序。
对于NMI输入的临时请求;由于其类型码固定为2,CPU不需要从外设读取类型码,也不需要计算中断向量表的地址。
分别为IP和CS。
图5-15给出了该图中8086/8088中断响应过程的流程图。
我们做几点澄清:①除了软件中断;8086/8088内部有“不可屏蔽中断”和“可屏蔽中断”。
按优先级排序;(单级除外)-即0;1、3、4个中断的优先级高于不可屏蔽中断;不可屏蔽拦截数量超过可屏蔽拦截数量;存在一定程度的破坏。
最低优先级;,只取拦截类型代码其余的没有这个功能。
③关于一步干扰,一旦一条指令被执行,它就会被中断,此时CPU会在访问一个步骤时自动清除TF,以便将每个寄存器的提供给用户。
当时由于检索响应而导致的标志寄存器的值;所以执行完一条TF=1的指令后;进入中断直至TF被程序更改为0。
④关于中断的插入,是否允许NMI中断指令并插入到中断处理子程序中。
它还可以响应INTR请求。
⑤知识产权;CS,和标志出现并以IRET指令结束以返回到断点。
⑥在某些情况下,如果条件满足,CPU不能立即响应中断,必须执行下一条指令(不是当前指令)。
•准确执行LOCK指令•执行给SS寄存器赋值的传输指令;因为由于一般需要使用两条连续的指令给SS和SP寄存器赋值,所以一般需要对SS和SP寄存器进行设置。
观点。
⑦等待指示或者遇到字符串操作指令时。
允许指令执行期间中断。
此时,在具有破坏性的子任务中要注意保护场景。

什么叫中断类型号?作用?

中断类型号是系统分配给每个中断源的代码。
它由8位组成,与系统的中断源一一对应。

中断类型号负责CPU找到中断服务程序的入口点。

通过中断类型号检查中断向量表可以找到中断向量(中断实用程序的入口地址)。
其中:物理地址4*n的单元为中断服务程序入口点的偏移地址;物理地址4*n+2单元是中断服务程序段的首地址。

高级信息

一般来说,外部中断主要有以下几种类型:

(1)I/O设备:如显示器、键盘、打印机等;

(2)数据通道:软盘、硬盘、光盘等;

(3)实时时钟:如外部时间电路等;

(4)用户误差来源:如断电、奇偶校验错误等。

CPU中产生的几种中断源:

(1)由CPU的运算结果产生:例如:如除0、结果溢出、单步执行等;

(2)执行中断指令INT:INT3;

(3)无效的操作或语句导致异常处理。

参考来源:百度百科-中断类型代码

参考来源:百度百科-中断向量表

中断类型号怎么计算

中断类型号的计算方式取决于硬件配置和操作系统。
根据相关一般资料,在现代计算机中,中断类型号通常由主板上的固件(例如BIOS或UEFI)设置。
固件为每个设备分配一个中断类型号,并通过中断类型控制器通知操作系统。
操作系统可以配置每个中断类型号并将其分配给不同的设备。
热门资讯
can总线协议是什么意思
苹果手机一键清除缓存
主频
内存条参数正确对照表怎么看
运算器主要用于什么
常见的逻辑门电路有哪些
cpu的指令系统(core处理器的七大指令系统)
深入解析buffer在技术领域的核心作用及应用