- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中断技术比较
表一:
CPU中断源
X86 共有256个中断源,中断号00H~0FFH。分为内部中断和外部中断。外部中断又分为可屏蔽中断和不可屏蔽中断。
8051 INT0外部中断0请求,低电平有效。通过P3.2引脚输入。
INT1外部中断1请求,低电平有效。通过P3.3引脚输入。
T0定时器/计数器0溢出中断请求
T1定时器/计数器1溢出中断请求。
TX/RX串行口中断请求。当串口完成数据的发送或接收时,便请求中断。
ARM ARM9共有43个中断源,ARM7有30个中断源。多个中断源共享一个中断,通过寄存器识别中断,相当于多了一级中断分支,需要软件区管理。
表二:
CPU中断源申请方式
X86 软中断:指令中断(10H-31H),如INT 21H
除法出错中断(00H),溢出中断(04H),单步中断(01H), 断点中断(03H)等。
8051 EX0:响应外部/INT0的中断
ET0:响应TIMER0的中断
EX1,ET1:对应INT1与TIMER1
ES:对应UART
ET2:响应TIMER2溢出或捕捉的中断
EA:中断使能
ARM ARM7TDMI可以识别两种类型的中断:正常中断请求IRQ和快速中断请求FIQ,它有30个中断源,其中26个中断源提供给中断控制器,4个外部中断请求是通过“或”的形式提供为1个中断源送至中断控制器,因此ISR(中断服务程序)要通过读取EXTINPND[3:0]寄存器来区别这4个中断源。
表三:
CPU中断优先级
X86 从高到低:内部中断和异常,软件中断,外部不可屏蔽中断,外部可屏蔽中断,单步中断。
8051 1高优先级中断可以中断低优先级中断
2 同级中断不能相应
3 同时请求中断,高优先级中断先得到响应,同级中断按照同级中断源优先级排列顺序进行响应。INT0T0INT1T1串行口
ARM 中断优先级产生模块包含5个单元:1个主单元和4个辅单元,每个辅单元管理6个中断源,主单元管理4个辅单元和2个中断源。优先级顺序为:?
A:FIQIRQ?
B:若处于不同主群,主群的优先级高的则高;?
C:若处于相同主群,优先级高的则高;?
D:sGA,sGB,sGC,sGD的优先级高于mGKA,mGKB?
E:sGA,sGB,sGC,sGD的优先级是可编程的,mGKA,mGKB中mGKAmGKB
表四:
CPU中断处理过程
X86 1. 中断申请
当外设需要中断服务时,由硬件产生一个中断请求信号INTR发送给CPU;
CPU在当前指令结束时检测INTR引脚,判断是否有中断请求。
2.中断响应
当检测到有中断请求且IF=1时,总线周期信号M/IO D/C W/R为000,通过总线控制逻辑发中断响应信号INTA给中断请求设备表示应答;中断请求设备将中断号送上数据总线;
系统自动进入中断响应周期,由硬件完成关中断、保存断点、取中断服务的入口地址(N*4)等一系列操作,而后转向中断服务程序执行中断处理。
3.中断处理:执行中断服务程序中规定的操作
4.中断返回:将压栈的断点从堆栈中弹出,开中断,CPU转向被中断的主程序继续执行。
8051 中断请求:中断请求时将相应的中断请求标志置1,向主机发出申请。
中断处理:根据响应的中断源的中断优先级,将相应的优先级状态触发器置1。执行一条LCALL指令,把程序计数器PC的内容压入堆栈保存,再将相应的中断服务程序的入口地址送PC.
中断返回:将中断响应时压入堆栈保存的断点地址从栈顶弹出送PC。将相应中断优先级状态触发器清0,通知终端系统,中断服务程序执行完毕。
ARM 当发生IRQ中断时?
首先,模式进入到IRQ里面。?
其次,PC跳到0运行。因为这是IRQ的中断入口。?
第三,?通过0LDR?PC,?IRQ_ADDR。跳转到相应的中断服务程序。?
第四,得到中断源有硬件实现和软件处理两种方式。?
最后,得到中断源,就知道要跳到哪个中断服务程序去了?。
表五:
CPU中断向量
X86 8086在内存的最低端开辟了1KB的存贮区作为中断向量表。该表以四字节为一组构造而成,共分为256组,按中断向量码的序号排列:
I/O ADDR INT TYPE FUNCTION
00~03 0 除法溢出中断 04~07 1单步
08~0B 2 非屏蔽中断 0C~0F 3 断电中断
10~13 4 溢出中断
文档评论(0)