CN105824768A - 一种支持多层中断优先级控制的矢量中断控制器 - Google Patents
一种支持多层中断优先级控制的矢量中断控制器 Download PDFInfo
- Publication number
- CN105824768A CN105824768A CN201610145170.8A CN201610145170A CN105824768A CN 105824768 A CN105824768 A CN 105824768A CN 201610145170 A CN201610145170 A CN 201610145170A CN 105824768 A CN105824768 A CN 105824768A
- Authority
- CN
- China
- Prior art keywords
- interrupt
- priority
- priority level
- layer
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/24—Interrupt
- G06F2213/2412—Dispatching of interrupt load among interrupt handlers in processor system or interrupt controller
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种支持多层中断优先级控制的矢量中断控制器,包括中断接收单元、第一层中断优先级单元、第二层中断优先级单元、第一层中断优先级仲裁器和第二层中断优先级仲裁器,还包括:第三层中断优先级单元,包含一个中断阈值优先级;第三层中断优先级仲裁器,用于比较第二中断源请求的优先级是否高于中断阈值优先级,当比较结果为是时,输出该第二中断源请求作为有效的中断抢占请求,否则中断抢占请求无效;中断处理单元,用于负责处理中断抢占请求,并利用被响应的中断抢占请求的优先级更新第二层优先级单元中当前正在处理的中断源请求的优先级。本发明以较小的硬件代价支持中断优先级的动态变化、稳定性和实时性良好。
Description
技术领域
本发明属于处理器领域,涉及一种矢量中断控制器。
背景技术
现有的中断控制器,为了提高中断响应的实时性,允许更高优先级的中断抢占,因此,矢量中断控制器需要支持中断嵌套功能。环境因素变化存在于中断嵌套响应中,比如中断源之间存在共享资源或者低优先级中断迟迟未获得中断响应。为了解决这个问题,矢量中断控制器支持中断优先级动态改变,即将中断源的优先级升高或者降低。例如有三个中断源请求A,B,C,它们的优先级初始化设置为A<B<C,且中断源请求的顺序为A>B>C;这样矢量中断控制器形成了中断A嵌套中断B,中断B又进一步嵌套中断C的情况。此时假设应用场景一:中断A优先级升高,并且有新的中断源请求D且优先级比C高但比A低,如果中断源请求D只跟当前中断优先级比较则会产生中断抢占请求,矢量中断控制器可能存在比中断D优先级更高的中断A无法得到及时响应的问题。假设应用场景二:中断C的优先级降低,同时有新的中断源请求D且优先级比C高但比A\B都低,中断源请求D如果只跟当前中断优先级比较则产生中断抢占请求,同样存在比中断D优先级更高的中断A\B无法得到及时响应的问题。这两种场景的潜在问题是低优先级可能比高优先级中断先得到系统响应,导致更高优先级的中断延迟,影响中断响应系统的稳定性和实时性。为了解决中断优先级动态改变导致的实时性问题,ARM提出了一种处理方案,即有新的中断源请求时,将新的中断源的优先级与所有嵌套的中断的优先级进行比较,如果比较结果为高则产生中断抢占请求,否则屏蔽中断抢占请求。这样能够保证高优先级的中断比低优先级中断先得到系统响应,提高了中断响应系统的稳定性和实时性。但是,由于新的中断源优先级需要和所有嵌套的中断的优先级比较,这样会引入比较大的硬件开销,增加硬件成本。
发明内容
为了克服已有中断控制方式为了实现稳定性和实时性引入比较大的硬件开销、硬件成本较高的不足,本发明提供了一种以较小的硬件代价支持中断优先级的动态变化、稳定性和实时性良好的支持多层中断优先级控制的矢量中断控制器。
本发明解决其技术问题所采用的技术方案是:
一种支持多层中断优先级控制的矢量中断控制器,包括:
中断接收单元,用于负责采样多个中断源请求;
第一层中断优先级单元,包含每个中断源请求的优先级;
第二层中断优先级单元,包含一个当前正在处理的中断源请求的优先级;
第一层中断优先级仲裁器,用于完成各个有效中断源请求的优先级比较,输出优先级最高的中断源请求作为第一中断源请求;
第二层中断优先级仲裁器,用于比较第一中断源请求的优先级是否高于当前正在处理的中断源请求的优先级,当比较结果为是时,输出该第一中断源请求作为有效的第二中断源请求,否则第二中断源请求无效;
所述中断接收单元和第一层中断优先级单元之间连接第一层中断优先级仲裁器;所述第一层中断优先级仲裁器和第二层中断优先级单元之间连接第二层中断优先级仲裁器;
所述矢量中断控制器还包括:
第三层中断优先级单元,包含一个中断阈值优先级;
第三层中断优先级仲裁器,用于比较第二中断源请求的优先级是否高于中断阈值优先级,当比较结果为是时,输出该第二中断源请求作为有效的中断抢占请求,否则中断抢占请求无效;
中断处理单元,用于负责处理中断抢占请求,并利用被响应的中断抢占请求的优先级更新第二层优先级单元中当前正在处理的中断源请求的优先级;
所述第二层中断优先级仲裁器和第三层中断优先级单元连接第三层中断优先级仲裁器,所述第三层中断优先级仲裁器和第二层中断优先级单元连接中断处理单元。
进一步,所述第三层中断优先级单元还包含一个中断阈值有效位;其中,中断阈值优先级的级数和各个中断源请求的优先级级数保持一致。
再进一步,所述第三层中断优先级单元中,所述中断阈值有效位和中断阈值优先级接入第三层中断优先级仲裁器;当中断阈值有效位置高时,第二中断源请求的优先级需要高于该中断阈值优先级才产生有效的中断抢占请求;当中断阈值有效位为低时,第二中断源请求不需要和中断阈值优先级进行比较,直接作为中断抢占请求输出。
或者是:所述第三层中断优先级单元还包含一个中断阈值有效位和中断向量号,其中,中断阈值优先级的级数和中断源请求的优先级级数保持一致。
更进一步,所述第三层中断优先级单元中,所述中断阈值有效位和中断阈值优先级接入第三层中断优先级仲裁器;当中断阈值有效位置高时,第二中断源请求的优先级需要高于该中断阈值优先级才产生有效的中断抢占请求;当中断阈值有效位为低时,第二中断源请求不需要和中断阈值优先级进行比较,直接作为中断抢占请求输出。
当第三层中断优先级单元检测到中断处理单元完成该中断向量号对应的中断源请求处理完毕时,自动清除中断阈值有效位。
所述第一层中断优先级单元、第二层中断优先级单元和第三层中断优先级单元中的优先级拥有相同的优先级级数。
本发明的技术构思为:通过设置中断优先级阈值来解决中断优先级动态改变存在的潜在问题。
本发明的有益效果主要表现在:通过较小的硬件代价支持中断优先级的动态改变,保证了中断响应系统的稳定性和实时性。
附图说明
图1是是中断优先级阈值寄存器的一个示例图。
图2是中断优先级阈值寄存器的另一种示例图。
图3是多层优先级控制的矢量中断控制器示意图。
图4是矢量中断控制器处理多层中断流程图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图4,一种支持多层中断优先级控制的矢量中断控制器,包括:
中断接收单元,用于负责采样多个中断源请求;
第一层中断优先级单元,包含每个中断源请求的优先级;
第二层中断优先级单元,包含一个当前正在处理的中断源请求的优先级;
第三层中断优先级单元,包含一个中断阈值优先级;
第一层中断优先级仲裁器,连接中断接收单元和第一层中断优先级单元,用于完成各个有效中断源请求的优先级比较,输出优先级最高的中断源请求作为第一中断源请求;
第二层中断优先级仲裁器,连接第一层中断优先级仲裁器和第二层中断优先级单元,用于比较第一中断源请求的优先级是否高于当前正在处理的中断源请求的优先级,当比较结果为是时,输出该第一中断源请求作为有效的第二中断源请求,否则第二中断源请求无效;
第三层中断优先级仲裁器,连接第二层中断优先级仲裁器和第三层中断优先级单元,用于比较第二中断源请求的优先级是否高于中断阈值优先级,当比较结果为是时,输出该第二中断源请求作为有效的中断抢占请求,否则中断抢占请求无效;
中断处理单元,连接第三层中断优先级仲裁器和第二层中断优先级单元,用于负责处理中断抢占请求,并利用被响应的中断抢占请求的优先级更新第二层优先级单元中当前正在处理的中断源请求的优先级。其中,第三层中断优先级单元由中断优先级阈值寄存器组成。
图1是中断优先级阈值寄存器的一个示例图,其中,EN—指定中断优先级阈值有效位,低电平表示中断抢占不需要优先级高于阈值,高电平表示中断抢占需要优先级高于阈值;PRIOTHRESHOLD—指定中断抢占的优先级阈值,最多可由8bit组成,对应最多可拥有28种优先级,优先级号越小,优先级越高,如果优先级号相同,则中断源号越小,优先级越高。
图2是中断优先级阈值寄存器的另一种示例图,其中,EN—指定中断优先级阈值有效位,低电平表示中断抢占不需要优先级高于阈值,高电平表示中断抢占需要优先级高于阈值;PRIOTHRESHOLD—指定中断抢占的优先级阈值,最多可由8bit组成,对应最多可拥有28种优先级,优先级号越小,优先级越高,如果优先级号相同,则中断源号越小,优先级越高;VECTTHRESHOLD—指示优先级阈值对应的中断向量号。当矢量中断控制器检测到VECTTHRESHOLD对应的中断服务程序执行完毕时,会硬件清除中断优先级阈值有效位。
图3说明矢量中断控制器10,在一个实施例中,矢量中断控制器10包含中断接收单元20,负责采样多个外部中断源请求68;第一层中断优先级单元22,包含每个中断源请求的优先级;第二层中断优先级单元28,包含一个当前正在处理的中断源请求的优先级;第三层中断优先级单元32,包含一个中断阈值优先级;第一层中断优先级仲裁器24,连接中断接收单元20和第一层中断优先级单元22,完成各个中断源请求的优先级比较,仲裁出优先级最高的中断源请求作为第一中断源请求60;第二层中断优先级仲裁器26,连接第一层中断优先级仲裁器24和第二层中断优先级单元28,完成第一层中断优先级仲裁器输出的第一中断源请求60的优先级和当前正在处理的中断源请求优先级的比较,当比较结果为高时输出有效的第二中断源请求62,否则第二中断源请求62无效;第三层中断优先级仲裁器30,连接第二层中断优先级仲裁器24和第三层中断优先级单元32,完成第二层中断优先级仲裁器产生的第二中断源请求62的优先级和中断阈值优先级的比较,当比较结果为高则中断抢占请求64信号有效,否则屏蔽该中断抢占请求64;中断处理单元34,连接第二层中断优先级单元28和第三层中断优先级仲裁器30,负责处理中断抢占请求64,并利用被响应的中断抢占请求64的优先级作为第二层优先级单元中当前正在处理的中断源请求的优先级。第三层中断优先级单元32一种由中断阈值有效位,中断阈值优先级组成,另一种由中断阈值有效位,中断阈值优先级和中断向量号构成。当设置中断向量号时,中断处理单元34完成该中断向量号对应的中断处理后,向第三层中断优先级单元32传输处理完成的中断向量号,一旦匹配中第三层中断优先级单元32的中断阈值向量号,会清除中断阈值有效位。中断处理单元34利用被响应的中断抢占请求的优先级70作为第二层优先级单元32中当前正在处理的中断源请求的优先级。
图4是矢量中断控制器处理多层中断的流程示意图。在一个实施例中,采样中断源请求40,并进行中断优先级比较42。当存在多级中断嵌套时,由于条件变化需要改变被嵌套中断的优先级,例如低优先级中断响应时间达到最大限制,中断源之间存在共享资源等。这时候就存在中断优先级动态改变而影响中断嵌套系统的稳定性和实时性问题,解决的方案就是引入中断优先级阈值。首先,需要判断中断阈值位是否有效44,如果无效则根据中断优先级比较42直接进行中断抢占46,如果中断阈值位有效,则进一步判断是否高于中断阈值优先级48并进行中断抢占46。中断抢占46结束后进行中断处理50,并根据中断优先级阈值寄存器是否设置中断阈值向量号52,如果设置有效,则在矢量中断控制器检测到中断向量号对应的中断服务程序执行完毕后,硬件清除中断阈值有效位54。
Claims (7)
1.一种支持多层中断优先级控制的矢量中断控制器,包括:
中断接收单元,用于负责采样多个中断源请求;
第一层中断优先级单元,包含每个中断源请求的优先级;
第二层中断优先级单元,包含一个当前正在处理的中断源请求的优先级;
第一层中断优先级仲裁器,用于完成各个有效中断源请求的优先级比较,输出优先级最高的中断源请求作为第一中断源请求;
第二层中断优先级仲裁器,用于比较第一中断源请求的优先级是否高于当前正在处理的中断源请求的优先级,当比较结果为是时,输出该第一中断源请求作为有效的第二中断源请求,否则第二中断源请求无效;
所述中断接收单元和第一层中断优先级单元之间连接第一层中断优先级仲裁器;所述第一层中断优先级仲裁器和第二层中断优先级单元之间连接第二层中断优先级仲裁器;
其特征在于:所述矢量中断控制器还包括:
第三层中断优先级单元,包含一个中断阈值优先级;
第三层中断优先级仲裁器,用于比较第二中断源请求的优先级是否高于中断阈值优先级,当比较结果为是时,输出该第二中断源请求作为有效的中断抢占请求,否则中断抢占请求无效;
中断处理单元,用于负责处理中断抢占请求,并利用被响应的中断抢占请求的优先级更新第二层优先级单元中当前正在处理的中断源请求的优先级;
所述第二层中断优先级仲裁器和第三层中断优先级单元连接第三层中断优先级仲裁器,所述第三层中断优先级仲裁器和第二层中断优先级单元连接中断处理单元。
2.如权利要求1所述的一种支持多层优先级控制的矢量中断控制器,其特征在于:所述第三层中断优先级单元还包含一个中断阈值有效位;其中,中断阈值优先级的级数和各个中断源请求的优先级级数保持一致。
3.如权利要求2所述的一种支持多层中断优先级控制的矢量中断控制器,其特征在于:所述第三层中断优先级单元中,所述中断阈值有效位和中断阈值优先级接入第三层中断优先级仲裁器;当中断阈值有效位置高时,第二中断源请求的优先级需要高于该中断阈值优先级才产生有效的中断抢占请求;当中断阈值有效位为低时,第二中断源请求不需要和中断阈值优先级进行比较,直接作为中断抢占请求输出。
4.如权利要求1所述的一种支持多层中断优先级控制的矢量中断控制器,其特征在于:所述第三层中断优先级单元还包含一个中断阈值有效位和中断向量号,其中,中断阈值优先级的级数和中断源请求的优先级级数保持一致。
5.如权利要求4所述的一种支持多层中断优先级控制的矢量中断控制器,其特征在于:所述第三层中断优先级单元中,所述中断阈值有效位和中断阈值优先级接入第三层中断优先级仲裁器;当中断阈值有效位置高时,第二中断源请求的优先级需要高于该中断阈值优先级才产生有效的中断抢占请求;当中断阈值有效位为低时,第二中断源请求不需要和中断阈值优先级进行比较,直接作为中断抢占请求输出。
6.如权利要求5所述的一种支持多层中断优先级控制的矢量中断控制器,其特征在于:当第三层中断优先级单元检测到中断处理单元完成该中断向量号对应的中断源请求处理完毕时,自动清除中断阈值有效位。
7.如权利要求1~6之一所述的一种支持多层优先级控制的矢量中断控制器,其特征在于:所述第一层中断优先级单元、第二层中断优先级单元和第三层中断优先级单元中的优先级拥有相同的优先级级数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610145170.8A CN105824768B (zh) | 2016-03-15 | 2016-03-15 | 一种支持多层中断优先级控制的矢量中断控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610145170.8A CN105824768B (zh) | 2016-03-15 | 2016-03-15 | 一种支持多层中断优先级控制的矢量中断控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105824768A true CN105824768A (zh) | 2016-08-03 |
CN105824768B CN105824768B (zh) | 2018-09-07 |
Family
ID=56987315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610145170.8A Active CN105824768B (zh) | 2016-03-15 | 2016-03-15 | 一种支持多层中断优先级控制的矢量中断控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105824768B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109376000A (zh) * | 2018-10-24 | 2019-02-22 | 胡振波 | 用于risc-v架构的快速中断控制系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082877A1 (en) * | 2007-04-26 | 2010-04-01 | Tetsuro Takizawa | Memory access control apparatus |
CN102262566A (zh) * | 2011-07-25 | 2011-11-30 | 记忆科技(深圳)有限公司 | 基于中断嵌套的中断处理方法及系统 |
CN103377078A (zh) * | 2012-04-11 | 2013-10-30 | 广州市地下铁道总公司 | 车载atp实时任务调度方法及其任务调度系统 |
US20150220465A1 (en) * | 2014-01-28 | 2015-08-06 | Arm Limited | Speculative interrupt signalling |
CN105229611A (zh) * | 2013-04-29 | 2016-01-06 | 微软技术许可有限责任公司 | 同步中断的防止 |
-
2016
- 2016-03-15 CN CN201610145170.8A patent/CN105824768B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082877A1 (en) * | 2007-04-26 | 2010-04-01 | Tetsuro Takizawa | Memory access control apparatus |
CN102262566A (zh) * | 2011-07-25 | 2011-11-30 | 记忆科技(深圳)有限公司 | 基于中断嵌套的中断处理方法及系统 |
CN103377078A (zh) * | 2012-04-11 | 2013-10-30 | 广州市地下铁道总公司 | 车载atp实时任务调度方法及其任务调度系统 |
CN105229611A (zh) * | 2013-04-29 | 2016-01-06 | 微软技术许可有限责任公司 | 同步中断的防止 |
US20150220465A1 (en) * | 2014-01-28 | 2015-08-06 | Arm Limited | Speculative interrupt signalling |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109376000A (zh) * | 2018-10-24 | 2019-02-22 | 胡振波 | 用于risc-v架构的快速中断控制系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105824768B (zh) | 2018-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11669372B2 (en) | Flexible allocation of compute resources | |
US20240139621A1 (en) | Server and Data Processing Method, Apparatus, and System | |
CA2932745C (en) | Method and system for traffic control | |
CN102063335B (zh) | 中断控制器以及多核处理器共享设备中断的处理方法 | |
CN106681949B (zh) | 基于一致性加速接口的直接内存操作实现方法 | |
CN105468435A (zh) | Nfv动态资源分配方法 | |
WO2022028061A1 (zh) | 一种基于侦测调节模块的gpu管理装置、方法及gpu服务器 | |
CN110572306B (zh) | 一种具有自组网的有线智能家居系统及其自组网的方法 | |
CN107766267A (zh) | 一种i2c总线的仲裁方法及系统 | |
CN105320570A (zh) | 资源管理方法和系统 | |
US20130019032A1 (en) | Apparatus and method for generating interrupt signal that supports multi-processor | |
CN105824768A (zh) | 一种支持多层中断优先级控制的矢量中断控制器 | |
CN103563471B (zh) | 资源操作方法及装置 | |
CN116150051A (zh) | 命令处理方法、装置、系统 | |
US10313450B2 (en) | Method for transparently connecting augmented network socket operations | |
CN104866460A (zh) | 一种基于SoC的容错自适应可重构系统与方法 | |
WO2017101247A1 (zh) | 一种自助设备硬件管理方法和装置 | |
WO2021027643A1 (zh) | 一种虚拟化SoC总线系统及配置方法 | |
CN202098945U (zh) | 一种基于can总线的电梯数据通信系统 | |
CN105593814A (zh) | 归属管理设备虚拟化方法、装置及系统 | |
CN102999390B (zh) | 一种云计算环境下的后端资源控制方法和装置 | |
CN106357495A (zh) | 兼容无线覆盖的智能家居控制系统 | |
CN103577270B (zh) | 控制分体式移动终端的使用方法及分体式移动终端 | |
CN102722466B (zh) | 一种3取2或2取2控制系统中的16位多总线电路 | |
CN106411971A (zh) | 负载调节方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |