1中断基本概念
什么是中断?先打个比方。当一个经理正处理文件时,电话铃响了(中断请求),不得不在文件上做一个记号(返回地址),暂停工作,去接电话(中断),并指示“按第二方案办”(调中断服务程序),然后,再静下心来(恢复中断前状态),接着处理文件……。计算机科学家观察了类似实例,“外师物化,内得心源”,借用了这些思想、处理方式和名称,研制了一系列中断服务程序及其调度系统。
中断是cpu处理外部突发事件的一个重要技术。它能使cpu在运行过程中对外部事件发出的中断请求及时地进行处理,处理完成后又立即返回断点,继续进行cpu原来的工作。引起中断的原因或者说发出中断请求的来源叫做中断源。根据中断源的不同,可以把中断分为硬件中断和软件中断两大类,而硬件中断又可以分为外部中断和内部中断
两类。
外部中断一般是指由计算机外设发出的中断请求,如:键盘中断、打印机中断、定时器中断等。外部中断是可以屏蔽的中断,也就是说,利用中断控制器可以屏蔽这些外部设备
的中断请求。
内部中断是指因硬件出错(如突然掉电、奇偶校验错等)或运算出错(除数为零、运算
溢出、单步中断等)所引起的中断。内部中断是不可屏蔽的中断。
软件中断其实并不是真正的中断,它们只是可被调用执行的一般程序。例如:rom
bios中的各种外部设备管理中断服务程序(键盘管理中断、显示器管理中断、打印机管理
中断等,)以及dos的系统功能调用(int
21h)等都是软件中断。
cpu为了处理并发的中断请求,规定了中断的优先权,中断优先权由高到低的顺序是:
(1)除法错、溢出中断、软件中断
(2)不可屏蔽中断
(3)可屏蔽中断
(4)单步中断。
中断意思是打断,即允许单片机的正常工作被一些特殊的任务所打断,从而保证单片机能够专心工作又不错过重要事务。中断系统包括中断源和中断控制系统,单片机每执行完一条指令,就会检测中断源,当有中断发生且中断未被屏蔽,就会转向中断程序入口地址,执行中断程序,执行完中断程序,又返回主程序。
中断就是执行中断服务程序,这是中断系统的核心。不同计算机系统的中断处理过程各具特色,但对多数计算机而言,其中中断服务程序的流程如下。 中断处理过程基本上由3部分组成,第一部分为准备部分,其基本功能是保护现场,对于非向量中断方式则需要确定中断源,最后开放中断,允许更高级的中断请求打断低级的中断服务程序;第二部分为处理部分,即真正执行具体的为某个中断源服务的中断服务程序;第三部分为结尾部分,首先要关中断,以防止在恢复现场过程中被新的中断请求打断,接着恢复现场,然后开放中断,以便返回原来的程序后可响应其他的中断请求。中断服务程序的最后一条指令一定是中断返回指令。
一个完整的中断过程包括:
中断请求:是指中断源(引起中断的事件或设备)向CPU
发出的请求中断的要求。
中断判优:当有多个中断源发出请求时,需要通过适当的办法决定先处理哪个中断请求;
中断响应:指CPU中止现行程序转至中断服务程序的过程;
中断处理:就是指CPU执行中断服务程序;
中断返回: 执行完中断服务程序后,返回到被中断的程序
中断的作用:
(1)CPU与I/O设备并行工作
(2)硬件故障处理
(3)实现人机联系:在计算机工作过程中,如果用户要干预机器,如查看计算的中间结果,了解机器的工作状态,给机器下达临时性的命令等。在没有中断系统的计算机里这些功能几乎是无法实现的。
(4)实现多道程序和分时 *** 作
(5)实现实时处理
(6)实现应用程序和 *** 作系统的联系
(7)多处理机系统各处理机间的联系
中断服务程序:处理器处理“急件”,可理解为是一种服务,是通过执行事先编好的某个特定的程序来完成的,这种处理“急件”的程序被称为——中断服务程序。
当中央处理器正在处理内部数据时,外界发生了紧急情况,要求CPU暂停当前的工作转去处理这个紧急事件。处理完毕后,再回到原来被中断的地址,继续原来的工作,这样的过程称为中断。实现这一功能的部件称为中断系统,申请CPU中断的请求源称为中断源,单片机的中断系统一般允许多个中断源,当多个中断源同时向CPU请求中断时,就存在一个中断优先权的问题。通常根据中断源的优先级别,优先处理最紧急事件的中断请求源,即最先响应级别最高的中断请求。
一、主体不同
1、调用中断服务程序:可理解为是一种服务,是通过执行事先编好的某个特定的程序来完成的。
2、调用子程序:是指调用子程序的指令,包括调用指令(转子指令)和返回指令(返主指令)。
二、特点不同
1、调用中断服务程序:当中央处理器正在处理内部数据时,外界发生了紧急情况,要求CPU暂停当前的工作转去处理这个紧急事件。处理完毕后,再回到原来被中断的地址,继续原来的工作。
2、调用子程序:子程序调用指令用于实现程序与程序之间的转移,与转移指令不同(转移指令用于实现同一程序内的转移)。子程序调用指令还可以进行嵌套调用,即可调用别的子程序,还可以实现递归调用。
三、方式不同
1、调用中断服务程序:保护被中断进程现场。为了在中断处理结束后能够使进程准确地返回到中断点,系统必须保存当前处理机程序状态字PSW和程序计数器PC等的值。
2、调用子程序:把常用的程序段编写成独立的子程序或过程,在需要时随时调用,调用子程序需要用到调用指令。
参考资料来源:百度百科-子程序调用指令
参考资料来源:百度百科-中断服务程序
以上就是关于嵌入式中的“中断”什么原理,如何使用全部的内容,包括:嵌入式中的“中断”什么原理,如何使用、51单片机中断原理、什么是中断简述中断处理过程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)