Chinaunix首页 | 论坛 | 博客
  • 博客访问: 993042
  • 博文数量: 200
  • 博客积分: 5011
  • 博客等级: 大校
  • 技术积分: 2479
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-27 15:07
文章分类

全部博文(200)

文章存档

2009年(12)

2008年(190)

我的朋友

分类:

2008-07-23 23:32:00

ARM的向量中断和非向量中断
   
    向量中断就是不同的中断有不同的入口地址,非向量中断就只有一个入口地址,进去了在判断中断标志来识别具体是哪个中断。向量中断实时性好,非向量中断简单。向量者,矢量也,即指方向,门路。
向量中断------由硬件提供中断服务程序入口地址;
非向量中断------由软件件提供中断服务程序入口地址
   非向量中断发生后,VIC中的vecaddr中会存放一个默认中断服务程序的地址,这个程序是被所有的非向量中断公用的,他执行的作用就是判断究竟是发生了那个非向量中断,然后再转向真正要被执行的中断服务程序。
   向量中断服务程序就没有这么麻烦,VIC的vecaddr中存放的就是真正的中断服务程序的地址,直接取出来跳过去执行就可以了。所以向量中断较快。
    其实,所有的非向量中断可以看成是一个向量中断。
    而快速中断也可以看作是一个向量中断,只不过不需要从VIC的vecaddr中取地址,而是直接跳到相应地址执行,可以看作是一个指定了向量地址的中断。
 
阅读(3537) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~