中断技术比较.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)

s4c2bg5I + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档