词条信息

admin
admin
超级管理员
词条创建者 发短消息   

相关词条

热门词条

更多>>
什么是端口?到底是做什么的呢?
端口一般指两种,一种是硬件比如路由器或者交换机的插网线的端口,一种是软件的逻辑的概念,比如http的80端口!...
7种进阶方法让你快速测试端口连通性
Ping是Windows、Linux和Unix系统下的一个检查网络连通性的命令工具,对于大部分互联网用户来说很...
电脑开机,总需要按F1,是什么原因造成的?
一.主板掉电这个说法是行业内的叫法了,一般是主板的CMOS电池没电了导致的。也是最常见的一种提示你按F1的提示...
社保降费对个人有什么影响?
下调城镇职工基本养老保险单位缴费比例是政府给企业发的一个大红包,特别是对于企业来说是一个利好,但是对个人来说有...
车辆“出险”对下年保费的影响,到底有多大?
【出险对交强险的影响】【出险对商业险的影响】车辆“出险”对下年保费的影响,到底有多大?这里有必要先提下车险第三...

精选图集

更多>>
简易百科旧版 >>所属分类 >> 电脑知识    硬件知识   

CPU中断技术

标签: CPU 中断技术

顶[0] 发表评论(0) 编辑词条

一切是那么的顺其自然。但理论上来说,播放电影的时候,CPU正在一丝不苟的执行着一条又一条的指令,它是如何在维持电影播放的情况下,及时接收并响应你的键盘输入信息呢?


目录

一、什么是CPU中断?编辑本段回目录


使用计算机的过程中,经常会遇到这么一种情景:


  1. 你正在看电影


  2. 你的朋友发来一条QQ信息


  3. 你一边回复朋友的信息,一边继续看电影


  这个过程中,一切是那么的顺其自然。但理论上来说,播放电影的时候,CPU正在一丝不苟的执行着一条又一条的指令,它是如何在维持电影播放的情况下,及时接收并响应你的键盘输入信息呢?


这就是CPU中断技术在起作用。


CPU中断技术的定义如下:


  - 计算机处于执行期间

  - 系统内发生了非寻常或非预期的急需处理事件

  - CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序

  - 处理完毕后返回原来被中断处继续执行


  在这里,“非寻常或非预期的事件”指的就是你回复朋友的QQ时,用键盘键入信息。为了及时响应你键入的信息,CPU将正在执行的任务“播放电影”暂时中断,处理完你键入的信息后,继续执行“播放电影”的任务。由于这个“中断当前任务->响应键盘输入->继续当前任务”的执行周期非常短(一般都是微秒级),所以一般人感觉不出来。


举个现实中的例子:


  你正在看书,突然你的朋友打来电话,于是你放下书本去接电话,电话打完接着看书。


  电话响->放下书本->接电话->继续看书这一个过程,就类似于CPU中断的处理过程。


二、CPU中断的作用编辑本段回目录


  早期的CPU处理外设的事件(比如接收键盘输入),往往采用“轮询”的方式。即CPU像个查岗的一样轮番对外设顺序访问,比如它先看看键盘有没被按下,有的话就处理,没的话继续往下看鼠标有没有移动,再看看打印机……这种方式使CPU的执行效率很低,且CPU与外设不能同时工作(因为要等待CPU来“巡查”)。


  中断模式时就是说CPU不主动访问这些设备,只管处理自己的任务。如果有设备要与CPU联系,或要CPU处理一些事情,它会给CPU发一个中断请求信号。这时CPU就会放下正在进行的工作而去处理这个外设的请求。处理完中断后,CPU返回去继续执行中断以前的工作。


中断模式的作用和优点在于:


  1. 可以使CPU和外设同时工作,使系统可以及时地响应外部事件。


  2. 可允许多个外设同时工作,大大提高了CPU的利用率,也提高了数据输入、输出的速度。


  3. 可以使CPU及时处理各种软硬件故障(比如计算机在运行过程中,出现了难以预料的情况或一些故障,如电源掉电、存储出错、运算溢出等等。计算机可以利用中断系统自行处理,而不必停机或报告工作人员。)


三、CPU中断的类型编辑本段回目录


在计算机系统中,根据中断源的不同,通常将中断分为两大类:


  1. 硬件中断


  2. 软件中断


硬件中断


硬件中断又称外部中断,主要分为两种:可屏蔽中断、非屏蔽中断。


可屏蔽中断:


  1. 常由计算机的外设或一些接口功能产生,如键盘、打印机、串行口等


  2. 这种类型的中断可以在CPU要处理其它紧急操作时,被软件屏蔽或忽略


非屏蔽中断:


  1. 由意外事件导致,如电源断电、内存校验错误等


  2. 对于这种类型的中断事件,无法通过软件进行屏蔽,CPU必须无条件响应


在x86架构的处理器中,CPU的中断控制器由两根引脚(INTR和NMI)接收外部中断请求信号。其中:


  1. INTR接收可屏蔽中断请求


  2. NMI接收非屏蔽中断请求


典型事例:


  1. 典型的可屏蔽中断的例子是打印机中断,CPU对打印机中断请求的响应可以快一些,也可以慢一些,因为让打印机稍等待一会也是完全合理的。


  2. 典型的非屏蔽中断的例子是电源断电,一旦出现此中断请求,必须立即无条件地响应,否则进行其他任何工作都是没有意义的。


软件中断


  软件中断又称内部中断,是指在程序中调用INTR中断指令引起的中断。比如winAPI中,keybd_event和mouse_event两个函数,就是用来模拟键盘和鼠标的输入(这个仅为笔者本人的猜测)。


四、CPU中断的过程编辑本段回目录


中断请求


中断请求是由中断源向CPU发出中断请求信号。外部设备发出中断请求信号要具备以下两个条件:


  1. 外部设备的工作已经告一段落。例如输入设备只有在启动后,将要输入的数据送到接口电路的数据寄存器(即准备好要输入的数据)之后,才可以向CPU发出中断请求。


  2. 系统允许该外设发出中断请求。如果系统不允许该外设发出中断请求,可以将这个外设的请求屏蔽。当这个外设中断请求被屏蔽,虽然这个外设准备工作已经完成,也不能发出中断请求。


中断响应、处理和返回


  当满足了中断的条件后,CPU就会响应中断,转入中断程序处理。具体的工作过程如下:


  1. 关闭中断信号接收器


  2. 保存现场(context)


  3. 给出中断入口,转入相应的中断服务程序


  4. 处理完成,返回并恢复现场(context)


  5. 开启中断信号接收器


中断排队和中断判优


  1. 中断申请是随机的,有时会出现多个中断源同时提出中断申请。


  2. CPU每次只能响应一个中断源的请求。


  3. CPU不可能对所有中断请求一视同仁,它会根据各中断源工作性质的轻重缓急,预先安排一个优先级顺序。当多个中断源同时申请中断时,即按此优先级顺序进行排队,等候CPU处理。


  了解了CPU中断处理的过程,就不难理解下面一种常见的情景:


  正在拷贝文件时,往某个文本框输入信息,这个文本框会出现短暂的假死,键盘输入的数据不能及时显示在文本框中,需要等一会儿才能逐渐显示出来。


  这是因为该中断操作(往文本框输入信息)在中断队列的优先级比较低,或者CPU认为正在处理的操作(拷贝文件)进行挂起的代价太大,所以只有等到CPU到了一个挂起代价较低的点,才会挂起当前操作,处理本次中断信息。


五、多核CPU对中断的处理编辑本段回目录


  多核CPU的中断处理和单核有很大不同。多核的各处理器核心之间需要通过中断方式进行通信,所以CPU芯片内部既有各处理器核心的本地中断控制器,又有负责仲裁各核之间中断分配的全局中断控制器。


  现今的多核处理器在中断处理和中断控制方面主要使用的是APIC(Advanced Programmable Interrupt Controllers),即高级编程中断控制器。它是基于中断控制器两个基础功能单元——本地单元以及I/O单元的分布式体系结构。在多核系统中,多个本地和I/O APIC单元能够作为一个整体通过APIC总线互相操作。


APIC的功能有:


  1. 接受来自处理器中断引脚的内部或外部I/O APIC的中断,然后将这些中断发送给处理器核心进行处理


  2. 在多核处理器系统中,接收和发送核内中断消息


对于外部设备发出的中断请求,由全局中断控制器接收请求并决定交给CPU的哪一个核心处理。也可针对APIC编程,让所有的中断都被一个固定的CPU处理。

 

 

附件列表


按字母顺序浏览:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

→我们致力于为广大网民解决所遇到的各种电脑技术问题
 如果您认为本词条还有待完善,请 编辑词条

上一篇百度贴吧:买卖身份证违法 已高压打击
下一篇CPU、GPU 和 TPU 都是如何工作的?

0
1. 本站部分内容来自互联网,如有任何版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
2. 本站内容仅供参考,如果您需要解决具体问题,建议您咨询相关领域专业人士。
3. 如果您没有找到需要的百科词条,您可以到百科问答提问或创建词条,等待高手解答。

关于本词条的提问

查看全部/我要提问>>