处理器如何处理被零除的情况

问题描述 投票:7回答:3

好奇处理器/ CPU在执行除零指令时在intel cpu和Linux上通常做什么或可以说。还将错误如何中继到应用程序,以便它可以记录错误或通知开发人员?

谢谢!

operating-system signals cpu interrupt interrupt-handling
3个回答
10
投票

一般而言,而不是针对x86_64上Linux的细节,这可能会使概念模糊。


3
投票

让我尝试以不同的方式回答这个问题。我使用过的每个处理器都定义了一个中断向量结构。在英特尔芯片上,此结构称为中断分配表(IDT)。中断向量是指向函数的指针数组。数组中的每个条目都对应一个特定的事件(中断或异常(故障或陷阱))。


0
投票

当“在CPU中发生DIV0错误时,应用程序将无法记录任何内容(除非某些子进程正在管理)。”>

DIV0几乎不会在CPU中发生,它会被捕获:

© www.soinside.com 2019 - 2024. All rights reserved.