Chinaunix首页 | 论坛 | 博客
  • 博客访问: 67160
  • 博文数量: 17
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 213
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-24 12:38
个人简介

专注的力量很大,它能把一个人的潜力发挥到极致,一旦达到那种状态你就没有了自我的概念,所有的精力集中到了一点。

文章分类
文章存档

2015年(11)

2014年(6)

我的朋友

分类: 嵌入式

2014-12-25 11:24:49

首先明确一点,我们日常电脑上的CPU只做两件事情 : 处理中断   和    处理进程
这里主要讲将CPU中断。

1.CPU为什么要有中断?
        CPU的处理速度远远快于外设的处理速度。如果CPU要和外设进行通信,CPU可以采用两种方式。

        (1)轮训方式,但是这种方式会让CPU的资源无法得到更好地利用,CPU只会干一件事情,也会做很多的无用功(在网上看到一个比较有意思的比喻,比如你在厨房烧开水的时候,采用轮训的方式就好比一直盯着这个水壶,直到它烧开为止,中间会浪费很多的时间

        (2)中断方式,CPU可以在外设没有准备就绪的时候,可以干别的任务(处理进程,处理中断)。一旦外设准备就绪,外设会给CPU发送一个中断信号,CPU处理完毕,接着执行之前被打断的任务,保证了CPU的资源得到更好的利用。(比如在厨房烧开水的时候,别人来敲门了,你可以去开门,或者去看会电视,等到水壶发出水烧开的声音的时候,再回头去处理它)


2.中断的优先级,中断的硬件触发流程

        还是拿烧开水为例子,在烧开水的时候,我可以做其他事情,我判断哪个事情比较重要,我就先做哪个。比如我觉得我在水烧开之前能够做两件事情。取快递和看电视,那我觉得取快递比烧开水重要,我就选择先去取快递,之后再回来看电视,最后水烧开了再去厨房处理它。中断优先级就好比这个例子,比较形象。那中断优先级的处理由专门的中断控制器来判断。

        硬件外设产生硬件的电信号变化,这个电信号首先发送给中断控制器(中断控制器:能够打开、关闭中断,能够指定中断的优先级,还能够判断是否发生),中断控制器判断是否使能,判断优先级,最终决定是否给CPU发送电信号。CPU一旦检测到这个电信号以后,CPU后续就要处理这个中断。
阅读(2263) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~