17、计算机处理器全面解析:从原理到应用

计算机处理器全面解析:从原理到应用

1. 中央处理器中断与异常机制

1.1 INT n 指令中断

INT n 指令允许通过软件内部生成中断,只需将中断向量号作为操作数提供即可。例如,INT 35 指令会强制隐式调用中断 35 的中断处理程序。可使用 0 到 255 之间的任何中断向量作为该指令的参数。不过,如果使用处理器预定义的 NMI 向量,处理器的响应与正常方式生成的 NMI 中断不同。若在该指令中使用向量号 2(NMI 向量),会调用 NMI 中断处理程序,但处理器的 NMI 处理硬件不会被激活。而且,用 INT n 指令在软件中生成的中断不能被 EFLAGS 寄存器中的 IF 标志屏蔽。

1.2 异常来源

处理器的异常来源主要有三个:
- 处理器检测到的程序错误异常
- 软件生成的异常
- 机器检查异常

当处理器在应用程序、操作系统或执行程序的执行过程中检测到程序错误时,会生成一个或多个异常。Intel 64 和 IA - 32 架构为每个可由处理器检测到的异常定义了一个向量号。异常可分为故障、陷阱和中止。

INTO、INT 3 和 BOUND 指令允许在软件中生成异常,这些指令可在指令流的特定点检查异常条件。例如,INT 3 会导致生成断点异常。INT n 指令可用于在软件中模拟异常,但存在局限性。若 INT n 为架构定义的异常提供向量,处理器会生成指向正确向量的中断以访问异常处理程序,但不会将错误代码压入堆栈。即便相关的硬件生成异常通常会产生错误代码,异常处理程序在处理异常时仍会尝试从堆栈中弹出错误代码,由于未压入错误代码,处理程序会弹出并丢弃 EIP 而非错误代码,这

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值