李墨策:
硬件中断和软件中断的区别
1. 硬件中断是由外设引发的,软件中断是执行中断指令产生的;
2. 硬件中断的中断号是由中断控制器提供的,软中断的中断号由指令直接指出,无需使用中断控制器;
3. 硬件中断由外部硬件产生,是由CPU外部中断请求信号触发的一种中断,分为非屏蔽中断NMI和可屏蔽中断INTR。
4. 软件中断是CPU根据某条指令或者对标志寄存器的某个标志位的设置而产生的,也称为内部中断。通常有除法出错中断、INTO溢出中断、INTN中断、断点中断和单步中断等。
5. 硬件中断处理程序要确保它能快速地完成任务,这样程序执行时才不会等待较长时间,称为上半部;软件中断处理硬中断未完成的工作,是一种推后执行的机制,属于下半部。
这样说比较好。