首页
社区
课程
招聘
[已解决]cpu如何确定发生了什么样的异常
发表于: 2017-5-8 22:17 2844

[已解决]cpu如何确定发生了什么样的异常

2017-5-8 22:17
2844

像程序中的除0,cpu怎么知道这是一个#de类的异常,除零异常对应0号中断向量是在哪里约定的,像#dp类的任何内存引用都有可能触发,cpu如何知道其中的哪些引用才应该触发?比如访问0地址



[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 12876
活跃值: (9352)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
2
异常向量号、以及引发异常的规则是cpu厂商定的,并且是硬编码在CPU里的,发生异常之后会去IDT里查表走对应的处理函数,具体的处理函数怎么实现是操作系统厂商定义的。
2017-5-9 09:19
0
雪    币: 44
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
hzqst 异常向量号、以及引发异常的规则是cpu厂商定的,并且是硬编码在CPU里的,发生异常之后会去IDT里查表走对应的处理函数,具体的处理函数怎么实现是操作系统厂商定义的。
也就是cpu硬件提供了中断能力,中断后的具体操作是由软件内核来实现吧,还有就是中断后读取中断向量从IDT找到对应的处理例程并跳转到这个例程在cpu中是如何实现的?是有具体的代码管理这个实现?还是其它?谢谢
2017-5-10 08:56
0
雪    币: 12876
活跃值: (9352)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
4
中断后读取中断向量从IDT找到对应的处理例程并跳转到这个例程在cpu中是如何实现的?

这个是刻在CPU里的电路实现的,具体怎么实现是人家intel和amd的商业机密吧
2017-5-10 09:11
0
雪    币: 44
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
hzqst 中断后读取中断向量从IDT找到对应的处理例程并跳转到这个例程在cpu中是如何实现的? 这个是刻在CPU里的电路实现的,具体怎么实现是人家intel和amd的商业机密吧
好的,有点钻牛角尖了
2017-5-10 09:21
0
游客
登录 | 注册 方可回帖
返回