中断和异常 有什么区别?

2009年09月17日 09:59    发布者:linux_Ultra
rt。
intel 和 arm
好像不同。

网友评论

wangkj 2009年09月17日
两个汉字不同,就这点区别
f.luo 2009年09月17日
本帖最后由 f.luo 于 2009-9-17 20:36 编辑

是不是异常属于中断,但中断不全是异常,比如定时器中断?
不知道对不对,先翻翻书。
linux_Ultra 2009年09月17日
本来想搞清楚,中断和异常的区别。翻了几个资料,但现在全搞混了。
---------------------------------------------------------------------------------------
intel 中:同步中断成为异常---exception,异步中断称为中断--interrupt。
---我的结论:intel中,异常是中断的一部分。
arm 中: arm有7种模式,其中5种是异常模式,这5种异常模式中有两种中断模式。
---我的结论:arm中, 中断时异常的一部分。
----------------------------------------------------------------------------------------
到底谁是老大,谁是小弟?
wangkj 2009年09月17日
这种东西,没有绝对的对错。都是认为定义和划分的。习惯而已。
原野之狼 2009年09月17日
只是一个定义 ARM和INTEL不要混在一起理解
mxh0506 2009年09月18日
exception这个词还真是到处都用. 不仅是硬件上, 软件开发中, C++和C#里也有异常的概念, 而且还是结构化的异常(structured exception). 所以我把称作异常的东西一概看作是某种事件通知机制, 该怎么处理就怎么处理, 不管它究竟是什么.
yindajun 2009年09月21日
中断是突发事件,中断具有不可预知性.是外部产生的.
异常是程序执行的必然事件.是程序自己产生的.
shiyang1212 2009年09月22日
书上说异常是中断的一部分
异常必须考虑处理器的时钟同步要求
中断不必须
lelee007 2009年09月24日
异常只是中断的一种

硬件中断,软件中断,异常
huangbinvip 2010年06月24日
异常只是中断的一种

硬件中断,软件中断,异常
lelee007 发表于 2009-9-24 22:25 http://www.eechina.com/images/common/back.gif
应该倒过来说,中断是一种特殊的异常。
所谓异常:可以理解为程序没有按照正常的流程执行(正常的情况下,程序是一条一条的执行下去的)。
所以中断只是异常的一个类型而已。异常还包括硬件异常和软件异常。软件异常比如被0除,指令错误,访问地址错误等。
BangZhao 2010年09月06日
中断由程序设计的正常中断和异常中断(NMI中断),正常中断不用多说,根据程序设计需要设计;异常中断,主要是防止CPU工作异常时,程序跳飞而设置的一个中断相量,做必要的保护动作和帮助分析用。
daoyuan79 2010年09月06日
中断, 是自己控制的哦, 异常是不受控的。
lelee007 2010年09月06日

应该倒过来说,中断是一种特殊的异常。
所谓异常:可以理解为程序没有按照正常的流程执行(正常的情况下,程序是一条一条的执行下去的)。
所以中断只是异常的一个类型而已。异常还包括硬件异常和软件异常。软件异 ...
huangbinvip 发表于 2010-6-24 15:00 http://www.eechina.com/images/common/back.gif

照这个说法,定时中断、外部中断==硬件中断都是一种异常了

这个说法其实也没什么问题,但是正常理解的话,一般会觉得这样说比较怪异

我前面所说的异常是中断的一种,实际是指异常导致的中断是中断的一种,不管的intel还是ARM,一旦发生异常,都会去触发中断,所以说是中断的一种

如果非要对这两个名词较真,貌似真没什么好叫的,书上说的那些区分基本是按老外的意思来区分,如果你要按中文思维来区分,谁大谁小都可以,但是意思是不会变的,这个老外已经把框框定死了
fymbl 2010年09月22日
路过。
嵌入式a 2010年09月26日
看看......
嵌入式a 2010年09月26日
为了分数
jcshaw 2010年09月26日
异常中断
sagetom 2010年09月27日
同意10楼的 观点,赞一个。
异常应该属于中断的一种 。
lilymagnolia 2011年06月01日
架构不同
四川扎克伯格 2013年12月05日
这问题是这样的,在早期,中断与异常区别很小,所以我们将异常看做中断一种,也就是中断大于异常。但是随着技术不断发展,异常与中断区别越来越大,故我们将异常与中断区分开来,看做两种情况。中断指外部设备发生情况(如I/O设备输入输出完成,电源故障等),硬件发出中断信号使操作系统进入内核运行解决该中断的程序的机制。而异常指系统在用户态运行程序时,发现程序中有缺页,非法操作码,陷入指令等情况时进入操作系统内核运行解决该异常的程序的机制。所以有些资料书编者比较老,他可能就会说中断大于异常,异常时中断一种。而有的编者比较年轻,他就会说中断与异常并列。你纠结两者之间什么关系没有意义,只要理解了这两个东西怎么回事就行了。他们的关系都是后来这些闲的蛋疼的人总结的无意义!!!
lq520yxh520 2013年12月30日

两个汉字不同,就这点区别
Hugo801122 2014年02月20日
中断是某些事件发生了,硬件或者软件都有可能是源头,异常是不良的不正常的事件发生,而且它不一定会发生的。
Hugo801122 2014年02月20日
简单地说异常已发生,基本就没什么好事情。
Hugo801122 2014年02月20日
不知道讲清楚了没?