Chinaunix首页 | 论坛 | 博客
  • 博客访问: 53606
  • 博文数量: 10
  • 博客积分: 365
  • 博客等级: 一等列兵
  • 技术积分: 125
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-07 16:28
文章存档

2012年(3)

2011年(7)

分类: 嵌入式

2011-03-27 18:09:43

8086/MCS51/MSP430/80x86/ARM7/ARM9硬件中断机制比较

 
1.8086/80x86中断向量表中存放的是ISR中断服务程序的地址CS:IP,中断响应时会根据中断类型号把相应的CS:IP加载到CPU中,实现跳转到ISR中断服务程序中。
 
2.51/MSP430/ARM中断向量表中存放的是一条跳转指令,实现跳转到ISR中断服务程序中。
 
3.8086/80x86前1Kb用作中断向量表,每个中断占用4B用于存放CS:IP,因此可存放256个中断;每个外部中断的中断向量终端类型号未固定,可通过初始化8259进行设置。
 
4.51/MSP430/ARM中断向量已经固定。
 
一· 8086硬件中断机制
 
8086中断机制(实模式中的中断处理过程):http://www.eefocus.com/book/09-06/742921276059790.html
8086CPU响应中断及处理过程:http://www.eefocus.com/article/09-06/74291s.html
 
图1
图2
1. 处理器动作步骤
1).中断请求
      外部中断有请求,INTR=1,向CPU请求
2).中断响应
      ①识别中断源,获得终端类型号(外部中断需2个总线周期,,内部中断则不需要)
      ②保护断点,自动压栈PSW,CS,IP
      ③清零IF,TF,关中断
      ④CPU加载中断向量的CS:IP,跳转到ISR中断服务程序
3).中断服务
      ①现场保护,手工压栈需保护的寄存器
      ②手工开中断STI,允许响应高级别中断
      ③中断处理,编写的相应中断的服务程序
      ④手工关中断CLI
      ⑤现场恢复
      ⑥中断返回IRET,自动出栈PSW,CS,IP
 
2. 重点:SP,中断前保存,中断后保存?
 
阅读(3926) | 评论(0) | 转发(0) |
0

上一篇:点滴

下一篇:汇编语言概述

给主人留下些什么吧!~~