Linux 为什么软件中断会将进程的中断线设置为高电压

Linux 为什么软件中断会将进程的中断线设置为高电压,linux,operating-system,cpu,processor,microprocessors,Linux,Operating System,Cpu,Processor,Microprocessors,我了解到,每当硬件中断发生时,它都会将处理器的中断线设置为高电压(或低电压,取决于处理器体系结构),以使cpu停止正在执行的操作,并为中断请求提供服务。 但为什么在软件中断的情况下会发生同样的事情呢。我的意思是,为什么要将处理器的中断引脚设置为高电压,为什么操作系统不能将软件中断处理为函数调用,例如执行步骤:1。保存当前状态,2。使用中断服务例程的内存地址加载指令指针。为什么软件中断需要降低到如此低的值才能得到服务?软件中断不需要映射到任何硬件引脚 例如,8085中的RSTx软件中断没有任何硬件

我了解到,每当硬件中断发生时,它都会将处理器的中断线设置为高电压(或低电压,取决于处理器体系结构),以使cpu停止正在执行的操作,并为中断请求提供服务。
但为什么在软件中断的情况下会发生同样的事情呢。我的意思是,为什么要将处理器的中断引脚设置为高电压,为什么操作系统不能将软件中断处理为函数调用,例如执行步骤:1。保存当前状态,2。使用中断服务例程的内存地址加载指令指针。为什么软件中断需要降低到如此低的值才能得到服务?

软件中断不需要映射到任何硬件引脚

例如,8085中的RSTx软件中断没有任何硬件引脚,它们用于改变程序流

一个很大的区别是:中断例程以特权模式执行,而函数不以特权模式执行。这是软件中断从用户模式切换到特权模式的用例之一