-
2020-12-19 13:28:25
hello,大家好!播妞又来给大家分享干货了!今天就CPU中断响应过程的九个步骤进行简单讲述,希望大家都能通过本文大致了解中断响应过程。
CPU响应中断:就是CPU要去执行相应的中断服务程序,其响应过程是CPU将现在执行程序的指令地址压入堆栈,跳转到中断服务程序入口地址,中断服务程序的入口地址就是中断向量,这个中断向量用2个16位寄存器存放。
入口地址是22位的,地址的低16位保存在该向量的低16位,地址的高16位则保存在它的高6位,更高的10位保留。
步骤一:任何一个PIE中断组的外设或外部中断产生中断。如果外设模块内的中断被使能,中断请求将被送到PIE模块。
步骤二:PIE模块将识别出别的PIE中断组x内的y中断(INTx.y)申请,然后相应的PIE中断标志位被锁存:PIEIFRx.y=1。
步骤三:PIE的中断如要送到CPU需满足下面两个条件:
1.相应的使能位必须被设置(PIEIERx.y=1)。
2.相应的PIEACKx位必须被清除。
步骤四:如果满足步骤三中的两个条件,中断请求将被送到CPU并且相应的响应寄存器位被置1(PIEACKx=1)。PIEACKx位将保持不变,除非为了使本组中的其他中断向CPU发出申请而清除该位。
步骤五:CPU中断标志位被置位(CPUIFRx=1),表明产生一个CPU级的挂起中断。
步骤六:如果CPU中断被使能(CPUIERx=1,或DBGIERx=1),并且全局中断使能(INTM=0),CPU将处理中断INTx。
步骤七:CPU识别到中断并且自动保存相关的中断信息,清除使能寄存器(IER)位,设置INTM,清除EALLOW。CPU完成这些任务准备执行中断服务程序。
步骤八:CPU从PIE中获取相应的中断向量。
步骤九:对于复用中断,PIE模块用PIEIERx和PIEIFRx寄存器中的值确定响应中断的向量地址。有以下两种情况:
1.在步骤四中若有更高优先级的中断产生,并使能了PIEIERx寄存器,且PIEIFRx的相应位处于挂起状态,则首先响应优先级更高的中断。
2.如果在本组内没有挂起的中断被使能,PIE将响应组内优先级最高的中断,调转地址使用INTx.1。这种操作相当于处理器的TRAP或INT指令。
CPU进入中断服务程序后,将清除PIEIFRx.y位。需要说明的是,PIEIERx寄存器用来确定中断向量,在清除PIEIERx寄存器时必须注意。
以上就是CPU中断响应过程,讲解的每一个步骤都是干货,大家都弄清楚了吗?
更多相关内容 -
PIE/CPU中断响应过程
2021-01-06 13:17:28I、CPU响应,进入中断服务子程序前,DSP硬件自动将IFRx清0,然后将CPU内一些关键寄存器如:ST0、ST1及IER等的内容压到堆栈保存起来,随后硬件自动将IERx清0,INTM置1,以避免中断嵌套,在中断服务子程序执行完返回后... -
CPU响应中断条件实用PPT课件.pptx
2021-10-06 22:48:18CPU响应中断条件实用PPT课件.pptx -
CPU响应中断条件实用PPT学习教案.pptx
2021-10-06 23:12:32CPU响应中断条件实用PPT学习教案.pptx -
CPU响应中断的条件
2016-08-22 11:10:55CPU响应中断的条件 1.中断源如何向CPU表达中断请求 一般是设置中断请求触发器,在需要CPU服务时,将中断请求触发器置位,其1端或0端输出的跳变作为中断请求信号。显然中断源可以随时提出中断请求。 2.中断...CPU响应中断的条件
1.中断源如何向CPU表达中断请求
一般是设置中断请求触发器,在需要CPU服务时,将中断请求触发器置位,其1端或0端输出的跳变作为中断请求信号。显然中断源可以随时提出中断请求。
2.中断请求何种情况下才可能得到CPU响应
一个中断请求在同时具备下列两个条件时,才有可能得到CPU响应:
①该中断源未被屏蔽;
②该中断请求在当前所有中断请求中级别最高。
3.CPU何时响应中断
CPU在同时满足下列两个条件时,响应中断:
①IF=1(对非屏蔽中断,没有此项要求);
②现行指令执行完。
CPU在每一个指令周期的最后一个总线周期的最后一个时钟周期的开始采样中断请求输入线,若有中断请求,则下一步不进入取指令周期,而进入中断响应周期,如图所示。对于8086系列CPU,中断响应周期为两个。
之所以把一条指令执行完作为响应中断的条件,是因为中断响应周期以及中断服务程序要占用CPU资源。如果在执行一条指令的中间响应中断,则指令的当前状态既不能保存也无法加以恢复。与此相对比,DMA操作是在DMA控制器的作用下进行的,不占用CPU资源,所以在一条指令执行中间、当前总线周期结束即可进入DMA周期。
-
cpu是如何响应中断
2020-07-20 20:44:17cpu是如何响应中断 话不多说,先来看看本篇文章的思维导图。 1.NVIC的理解 在讲解cpu是如何响应中断之前,我们先来讲解以下NVIC,可能不是讲的很全,只是挑一些比较深的东西。 先来看看NVIC的结构。 这是NVIC的...cpu是如何响应中断
话不多说,先来看看本篇文章的思维导图。
1.NVIC的理解
在讲解cpu是如何响应中断之前,我们先来讲解以下NVIC,可能不是讲的很全,只是挑一些比较深的东西。
先来看看NVIC的结构。
这是NVIC的控制器,其实NVIC在内存中就是一个接口芯片,通过译码电路连接到总线上,可以把NVIC想象成一个内存块。
这些寄存器就是控制NVIC的主要的寄存器,我们对NVIC的配置大部分都是通过对上面的寄存器进行配置以实现我们想要的功能。每个寄存器的功能可以去CORTEX-M4手册上去看看。
2.配置NVIC
我们一般的工程中,配置NVIC主要用到的寄存器也就三个。
AIRCR,ISER,IP
1.配置AIRCR 2.配置ISER,3.配置IP.
上面两个函数的作用就是配置那三个寄存器。但凡是要用到中断的项目都要加上这两个函数。对NVIC的配置主要就是先配置优先级分组,但是,在这里说一下,在一个工程项目中,组别是要确定的,不可以是不一样的,标准要统一,配置好分组后就得将相应的中断给使能了,如果你不使能,即使触发了中断,cpu也不会去响应(但是会被悬挂起来),cpu如何去响应,在后文中有讲解。之后,你还得配置优先级,这样,对NVIC的配置也就算完成了。
我觉得最重要的还是将相应中断使能才是配置NVIC最重要的步骤。3.cpu是如何响应中断
CPU响应中断的条件
1.中断源如何向CPU表达中断请求
一般是设置中断请求触发器,在需要CPU服务时,将中断请求触发器置位,其1端或0端输出的跳变作为中断请求信号。显然中断源可以随时提出中断请求。
2.中断请求何种情况下才可能得到CPU响应
一个中断请求在同时具备下列两个条件时,才有可能得到CPU响应:
①该中断源未被屏蔽;
②该中断请求在当前所有中断请求中级别最高。
3.CPU何时响应中断
CPU在同时满足下列两个条件时,响应中断:
①IF=1(对非屏蔽中断,没有此项要求);
②现行指令执行完。
CPU在每一个指令周期的最后一个总线周期的最后一个时钟周期的开始采样中断请求输入线,若有中断请求,则下一步不进入取指令周期,而进入中断响应周期。 之所以把一条指令执行完作为响应中断的条件,是因为中断响应周期以及中断服务程序要占用CPU资源。如果在执行一条指令的中间响应中断,则指令的当前状态既不能保存也无法加以恢复。
也就是说cpu每执行完一条指令后,它都会去采样中断请求输入线,如果有,则就会根据中断源的信息(中断源是什么)到中断向量表中去查询相应的中断函数的入口地址从而去执行中断服务函数。(不会轮询(个人理解))
因为我找不到NVIC的框图,所以我根据我自己的理解对这个中断请求输入线进行了画图描述。
由外设产生的中断信号,除了 SysTick 的之外,全都连接到 NVIC 的中断输入信号线
以上就是本篇博客的的理解,其中有一些内容是“抄袭”其他博主优秀的博文,我就投自制了。 -
8088/8086 CPU是如何处理中断的?
2020-12-20 20:02:321.中断源 引起CPU中断的事件——中断源 除法溢出:类型号0,商大于目的操作数所能表达的范围时产生。 单步中断:类型号1,TF=1时产生(当前指令需执行完)。 断点中断:类型号3,这是一个软件中断,即...CPU中断响应1.中断源
引起CPU中断的事件——中断源
除法溢出:类型号0,商大于目的操作数所能表达的范围时产生。
单步中断:类型号1,TF=1时产生(当前指令需执行完)。
断点中断:类型号3,这是一个软件中断,即INT 3指令。
溢出中断:类型号4,这是一个软件中断,即INTO指令。
软件中断:即INT n指令,类型号n(0~255)优先级从高到低顺序如下:
内部中断
NMI
INTR
单步中断2.中断处理的一般过程
中断请求
中断源识别(中断判优)
中断响应
中断处理
中断返回2.1中断响应
CPU中断响应时,要做下述三项工作:
向中断源发出INTA中断响应信号;
断点保护,包括CS、IP和PSW(FLAGS)。这主要是保证中断结束后能返回被中断的程序。
获得中断服务程序首地址(入口)2.2中断处理
保护现场(PUSH reg’s)
开中断(STI)
进行中断处理
恢复现场(POP reg’s)
中断返回(IRET)2.3中断返回
3.8088CPU的中断处理过程
4.可编程中断控制器8259AD0~D7——双向数据线
WR、RD——写和读控制信号
CS——片选信号
A0——内部寄存器选择信号
INT——中断请求输出信号
INTA——中断响应输入信号
CAS0~CAS2——级联控制线
SP/EN——双功能引线8259A的内部结构
中断嵌套方式
-
cpu的中断响应时间
2016-05-05 10:47:58从发出中断请求到进入中断处理所用的时间 计算机中CPU的中断响应时间指的是()的时间。 A....B....CPU响应中断的时间是( )。 A.一条指令结束 B.外设提出中断 C.取指周期结束 D.程序执行结束 -
单片机中断响应需要具备哪些条件
2021-05-23 08:53:31描述讲到这儿,我们依然对于计算机响应中断感到神奇,我们人可以响应外界的事件,是因为我们有多种“传感器“――眼、耳可以接受不同的信息,计算机是如何做到这点的呢?其实说穿了,一点都不希奇,MCS51工作时,在... -
【单片机】4.4 响应中断请求的条件
2021-12-01 21:07:05中断响应的条件,中断响应的过程,中断响应被封锁的情况 -
单、双缓冲区和CPU中断频率、中断响应时间题
2020-11-16 17:36:371.单、双缓冲区和CPU中断频率、中断响应时间题 我们知道,减少对CPU的中断频率,放款CPU中断响应时间的限制是引入缓冲区的作用之一。 我们经常会遇到求引入缓冲区,求中断频率的问题。所以在此对的做法进行总结。 ... -
对于Java线程中断的理解,哪种情况下会响应中断?哪种情况下不响应中断?
2020-06-15 20:20:29最近在学习JUC框架的时候,发现了很多工具类都是支持可中断的,如AQS、FutureTask都是可以在线程执行中,支持对于中断的响应,所以需要对线程中断有个了解,才能更好的学习JUC的源码。 线程中断的作用: 线程中断... -
干货|简述CPU中断响应过程的九大步骤
2020-10-29 09:00:00黑马程序员视频库播妞微信号:heiniu526传智播客旗下互联网资讯、学习资源免费分享平台hello,大家好!播妞又来给大家分享干货了!今天就CPU中断响应过程的九个步骤进行简单讲述,希... -
【计算机组成原理】CPU中断系统
2022-02-07 12:51:08一、中断系统概述 1、引起中断的各种因素 (1)人为设置的中断 这种中断一般称为自愿中断,因为它是程序中人为设置的,故一旦机器...I/O设备被启动以后,一旦准备就绪,便向CPU发出中断请求。 (5)外部事... -
1.简述中断的响应过程。
2020-12-19 13:28:242.计算机要完成的基本功能有哪些?3.控制器的输入信息哪些?4.有哪些磁记录编码方式?...9.假设一个CPU设有如下寄存器:一个内存地址寄存器(memory address register--MAR),一个内存缓冲寄存器(memorybuff... -
对于不可屏蔽中断NMI,CPU响应中断的条件有哪些
2016-10-13 10:07:38不可屏蔽中断源一旦提出请求,CPU必须无条件响应,而对可屏蔽中断源的请求,CPU可以响应,也可以不响应。CPU一般设置两根中断请求输入线:可屏蔽中断请求INTR(Interrupt Require)和不可屏蔽中断请求NMI(NonMaskable ... -
什么是中断?中断的作用?
2020-12-28 09:43:04中断即打断,实至CPU再执行当前程序时,由于系统出现了某种需要处理的紧急情况,CPU暂停正在执行的程序,转而去执行另一段特殊程序来处理的出现的紧急事务,处理结束后CPU自动返回到原先暂停的程序中去继续执行,... -
(笔记总结)中断响应的条件
2018-11-27 15:41:091.中断源有中断请求 2.此中断源的中断允许位为1。 3.CPU开中断(即EA=1)。 -
8.4-中断系统小结(cpu中断七个问题)
2022-03-16 23:09:34【1】中断系统 1)作用:用中断系统实现了外设数据的输入输出; 还可以用于程序调试,计算机系统的异常事件,都可以用中断系统来处理; 2)中断因素 人为设置的中断; 程序性事故,如java异常; 硬件故障,如... -
什么叫中断?什么叫中断处理?什么叫中断响应?什么叫关中断?什么叫开中断?什么叫中断屏蔽?
2014-12-04 17:16:00答: 中断是指计算机在执行...中断处理是指CPU响应中断,转入中断处理程序,系统开始处理中断。 中断响应是指CPU收到中断请求后转向相应的事件处理程序。 开中断后,系统就可以响应其他的中断了,关中断后,系统 -
带Cache和精确中断响应的CPU设计.pdf
2021-09-24 22:26:55带Cache和精确中断响应的CPU设计.pdf -
中断响应时间/中断步骤/中断源
2017-06-29 10:10:32中断的响应时间就是中断的响应过程的时间,中断的响应过程是当有事件产生,进入中断之前必须先记住当前正在做的事情,然后去处理发生的事情,处理这个过程的时间,叫做中断响应时间。 计算机中也是采用的这种方法... -
8086CPU中断响应流程.ppt
2020-12-24 22:07:34(to CPU) INTA INT 从8259A IR7 IR6 … IR0 IR7 IR6 … IR0 INTA INT CAS0 CAS1 CAS2 CAS0 CAS1 CAS2 主8259A INTA (from CPU) INTR … … 例如: 若主、从8259A工作于固定优先权方式,从片的优先级为IR0?... -
中断是什么意思?和子程序有什么区别?
2021-01-17 18:52:01展开全部中断程序是在...因为中断是由系统调用的,不知道什么时候中断,所以你可以选择允许中断或者不允许中断,这就好比你正在干工作时,电话铃响了,你可以选择接电话也可以选择不接电话,中断就好比电话铃,你不... -
关于实时操作系统中最大中断关闭时间、中断响应时间、中断恢复时间、任务等待时间详解
2019-10-18 09:57:51关中断时间:指的是程序中有一些临界段代码(关于这个详细了解可以看我这篇文章,临界区,临界资源),需要关闭中断才能安全访问那么访问这段代码前关总中断,访问完后打开总中断,在这个时间内,系统是...中断响应... -
关于中断频率、中断响应时间怎么求
2021-05-23 19:47:151.1. 例题 以下是(a)、(b)、(c)分别是引入不同缓冲区求解CPU中断频率和中断的响应时间问题。 中断响应频率求解 中断频率(每隔多少秒断一次)=1s/(中断一次所需的...什么是中断响应时间? 从发出中断请求到进入中 -
操作系统:什么是中断?
2021-12-09 14:56:24中断是指CPU在执行当前程序时系统出现了某种状况,使得CPU必须停止当前程序,而去执行另一段程序来处理的出现的紧急事务,处理结束后CPU再返回到原先暂停的程序继续执行,这个过程就称为中断。 -
中断响应过程
2021-03-11 09:21:4932位微处理器的结构与工作模式 32位微处理器结构简介 ...保护模式下的中断和异常 中断和异常 保护模式下终端和异常处理 任务切换 任务结构和任务切换数据结构 任务切换方式 任务调用、链接和切换过程 ...