CN115344374A - 一种中断响应方法及其系统 - Google Patents
一种中断响应方法及其系统 Download PDFInfo
- Publication number
- CN115344374A CN115344374A CN202211276718.4A CN202211276718A CN115344374A CN 115344374 A CN115344374 A CN 115344374A CN 202211276718 A CN202211276718 A CN 202211276718A CN 115344374 A CN115344374 A CN 115344374A
- Authority
- CN
- China
- Prior art keywords
- interrupt
- list
- sequence table
- requests
- sequence
- 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.)
- Pending
Links
- 230000004044 response Effects 0.000 title claims abstract description 33
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000002372 labelling Methods 0.000 claims abstract description 9
- 238000012163 sequencing technique Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明公开了一种中断响应方法及其系统,所述中断响应方法包括:S1:获取若干中断请求;S2:对若干所述中断请求按照优先级进行贴标签处理,得到中断列表;S3:将所述中断列表中的所有数据按照快速排序规则进行排列,得到中断序列表;S4:根据所述中断序列表,通过第一指针获取位于存储器中的中断例程;S5:根据所述中断序列表和所述中断例程,执行中断响应程序。本发明能够在占用极少的存储空间的情况下使处理高优先级中断更加快速。
Description
技术领域
本发明涉及中断控制技术领域,具体涉及一种中断响应方法及其系统。
背景技术
通用处理器在处理(Handle)中断(Interrupt)时会暂停CPU当前的正常执行去执行中断例程(Interrupt Route),在执行完中断例程后才会返回到正常执行逻辑中去继续执行。通用的操作系统会在中断处理流程中关闭中断使能开关从而保护系统临界区(不可中断的执行逻辑)并防止中断嵌套从而引发的程序逻辑异常。
现有的部分中断处理方法仅考虑到了中断到来时刻的顺序,没有考虑中断的优先级程度;另一部分中断处理方法虽然考虑了中断的优先级程度,但创建若干排列单元会造成大量的存储空间的浪费,且排序时间较长,增加中断响应时间,造成CPU执行效率更低。
发明内容
本发明的目的在于提供一种中断响应方法及其系统,以能够在占用极少的存储空间的情况下使处理高优先级中断更加快速。
本发明解决上述技术问题的技术方案如下:
本发明提供一种中断响应方法,所述中断响应方法包括:
S1:获取若干中断请求;
S2:对若干所述中断请求按照优先级进行贴标签处理,得到中断列表;
S3:将所述中断列表中的所有数据按照快速排序规则进行排列,得到中断序列表;
S4:根据所述中断序列表,通过第一指针获取位于存储器中的中断例程;
S5:根据所述中断序列表和所述中断例程,执行中断响应程序。
可选择地,所述步骤S2中,所述对若干所述中断请求进行贴标签处理包括:
将若干所述中断请求生成中断信号1、中断信号2、……、中断信号N。
可选择地,所述步骤S3中,所述快速排序规则包括:
通过BitMap将排序后的中断放入中断列表中;
将中断列表中的存在的中断的数值位标记为1;
若不存的中断的数值位则标记为0;
使用二进制的数值位来表示中断优先级序号;
优先级最高的中断的序列放在中断列表的低位,中断列表低位的数据会被优先读取;
将读取结果作为所述中断序列表输出。
可选择地,所述快速排序规则还包括:每读取一次中断列表中的中断数据,中断序列表重新排序。
本发明还提供一种基于上述的中断响应方法的中断响应系统,所述中断响应系统包括:
中断定向回路,所述中断定向回路用于获取若干中断请求,对若干所述中断请求进行贴标签处理,得到中断列表,并将所述中断列表传输至快速排序模块;
快速排序模块,所述快速排序模块用于将所述中断列表中的所有数据按照快速排序规则进行排列,得到中断序列表;
执行回路,所述执行回路用于通过第二指针获取所述中断序列表并根据所述中断序列表通过第一指针获取位于存储器中的中断例程;
处理器,所述处理器用于根据所述中断序列表和所述中断例程,执行中断响应程序。
本发明具有以下有益效果:
1、在快速响应中断的基础上引入中断优先级的概念,且在中断排序的过程中不需要在中断中进行,在占用极少的存储空间的情况下使处理高优先级中断更加快速;
2、本发明可在冯诺依曼计算机体系结构下同样适用,且占用极少的存储空间。
附图说明
图1为本发明中断响应方法的流程图;
图2为本发明中断响应的处理框图;
图3为BitMap排序方式示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明提供一种中断响应方法,参考图1和图2所示,所述中断响应方法包括:
S1:获取若干中断请求;
S2:对若干所述中断请求按照优先级进行贴标签处理,得到中断列表;
中断定向回路(Interrupt Redirect Circuit)被耦合以接收许多不同的中断请求,在这里显示为中断信号1、中断信号2等,直到中断信号N。并将对应的中断例程存储在存储器(Memory Circuit)中。在实际执行过程中,从处理器外部接收这些中断请求,例如外设发出的中断请求。
S3:将所述中断列表中的所有数据按照快速排序规则进行排列,得到中断序列表;
所述快速排序规则包括:
通过BitMap将排序后的中断放入中断列表中;
将中断列表中的存在的中断的数值位标记为1;
若不存的中断的数值位则标记为0;
使用二进制的数值位来表示中断优先级序号;
优先级最高的中断的序列放在中断列表的低位,中断列表低位的数据会被优先读取;
将读取结果作为所述中断序列表输出。
可选择地,所述快速排序规则还包括:每读取一次中断列表中的中断数据,中断序列表重新排序。
在实施过程中,将中断定向回路(Interrupt Redirect Circuit)接收到所有的中断信号,使用快速排序(O(1) Sort),快速排序(O(1) Sort)是基于BitMap将最多256个的硬件中断号序列根据其优先级进行排序。通过BitMap将排序后的中断放入中断列表中,将中断列表中的存在的中断的数值位标记为1,若不存的中断的数值位则标记为0,使用二进制的数值位来表示中断优先级序号(例如有优先级分别为{1,2,4,6}的中断在中断列表中,数字越小代表中断优先级越高,使用BitMap的排序方式为图3),然后依次从优先级高的位置输出BitMap的标记位为1的中断实现排序(首位0舍弃)。从图3中可以看出优先级最高的中断的序列放在中断列表(Table)的低位(列表中左高右低),在中断列表(Table)低位的数据将会被优先读取。执行回路(Execution Pipeline)根据其优先级读取中断数据。每读取一次中断数据,列表(Table)将会重新排序。
S4:根据所述中断序列表,通过第一指针获取位于存储器中的中断例程;
S5:根据所述中断序列表和所述中断例程,执行中断响应程序。
中断响应程序在处理器中执行。
本发明还提供一种基于上述的中断响应方法的中断响应系统,所述中断响应系统包括:
中断定向回路,所述中断定向回路用于获取若干中断请求,对若干所述中断请求进行贴标签处理,得到中断列表,并将所述中断列表传输至快速排序模块;
快速排序模块,所述快速排序模块用于将所述中断列表中的所有数据按照快速排序规则进行排列,得到中断序列表;
执行回路,所述执行回路用于通过第二指针获取所述中断序列表并根据所述中断序列表通过第一指针获取位于存储器中的中断例程;
处理器,所述处理器用于根据所述中断序列表和所述中断例程,执行中断响应程序。
使用BitMap来对中断的优先级进行排序,由于BitMap的特性是使用Bit来存储数据而不是Byte,以达到用极少的存储空间来存储中断序列(例如:在32位操作系统中1Byte= 8Bit,如果每个数字用int存储也就是按Byte存储,那就是20亿个int,因而占用的空间约为(2000000000*4/1024/1024/1024)≈7.45G;如果按Bit存储,20亿个数就是20亿位,占用空间约为(2000000000/8/1024/1024/1024)≈0.233G),所以需要的存储空间更加的少),因此本发明采用“中断优先级队列(Interrupt Priority Table)”,中断优先级队列(Interrupt Priority Table)是“中断循环队列”中使用快速排序以达到减少内存占用和优先级排序。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种中断响应方法,其特征在于,所述中断响应方法包括:
S1:获取若干中断请求;
S2:对若干所述中断请求按照优先级进行贴标签处理,得到中断列表;
S3:将所述中断列表中的所有数据按照快速排序规则进行排列,得到中断序列表;
S4:根据所述中断序列表,通过第一指针获取位于存储器中的中断例程;
S5:根据所述中断序列表和所述中断例程,执行中断响应程序。
2.根据权利要求1所述的中断响应方法,其特征在于,所述步骤S2中,对若干所述中断请求进行贴标签处理包括:
将若干所述中断请求生成中断信号1、中断信号2、……、中断信号N。
3.根据权利要求1所述的中断响应方法,其特征在于,所述步骤S3中,快速排序规则包括:
通过BitMap将排序后的中断放入中断列表中;
将中断列表中的存在的中断的数值位标记为1;
若不存在的中断的数值位则标记为0;
使用二进制的数值位来表示中断优先级序号;
优先级最高的中断的序列放在中断列表的低位,中断列表低位的数据会被优先读取;
将读取结果作为所述中断序列表输出。
4.根据权利要求3所述的中断响应方法,其特征在于,所述快速排序规则还包括:每读取一次中断列表中的中断数据,中断序列表重新排序。
5.一种基于权利要求1-4中任意一项所述的中断响应方法的中断响应系统,其特征在于,所述中断响应系统包括:
中断定向回路,所述中断定向回路用于获取若干中断请求,对若干所述中断请求进行贴标签处理,得到中断列表,并将所述中断列表传输至快速排序模块;
快速排序模块,所述快速排序模块用于将所述中断列表中的所有数据按照快速排序规则进行排列,得到中断序列表;
执行回路,所述执行回路用于通过第二指针获取所述中断序列表并根据所述中断序列表通过第一指针获取位于存储器中的中断例程;
处理器,所述处理器用于根据所述中断序列表和所述中断例程,执行中断响应程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211276718.4A CN115344374A (zh) | 2022-10-19 | 2022-10-19 | 一种中断响应方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211276718.4A CN115344374A (zh) | 2022-10-19 | 2022-10-19 | 一种中断响应方法及其系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115344374A true CN115344374A (zh) | 2022-11-15 |
Family
ID=83957695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211276718.4A Pending CN115344374A (zh) | 2022-10-19 | 2022-10-19 | 一种中断响应方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115344374A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070204087A1 (en) * | 2006-02-24 | 2007-08-30 | Birenbach Michael E | Two-level interrupt service routine |
CN103019835A (zh) * | 2011-09-26 | 2013-04-03 | 同方股份有限公司 | 一种多核处理器中断资源优化处理系统和方法 |
CN103955410A (zh) * | 2014-05-23 | 2014-07-30 | 苏州国芯科技有限公司 | 基于多中断源优先级排序的中断控制方法 |
CN105808338A (zh) * | 2016-03-17 | 2016-07-27 | 李晓波 | 一种在处理中实现中断响应核可配置的方法及装置 |
CN114153560A (zh) * | 2021-11-18 | 2022-03-08 | 中汽创智科技有限公司 | 一种虚拟中断处理方法、装置、设备及介质 |
-
2022
- 2022-10-19 CN CN202211276718.4A patent/CN115344374A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070204087A1 (en) * | 2006-02-24 | 2007-08-30 | Birenbach Michael E | Two-level interrupt service routine |
CN103019835A (zh) * | 2011-09-26 | 2013-04-03 | 同方股份有限公司 | 一种多核处理器中断资源优化处理系统和方法 |
CN103955410A (zh) * | 2014-05-23 | 2014-07-30 | 苏州国芯科技有限公司 | 基于多中断源优先级排序的中断控制方法 |
CN105808338A (zh) * | 2016-03-17 | 2016-07-27 | 李晓波 | 一种在处理中实现中断响应核可配置的方法及装置 |
CN114153560A (zh) * | 2021-11-18 | 2022-03-08 | 中汽创智科技有限公司 | 一种虚拟中断处理方法、装置、设备及介质 |
Non-Patent Citations (1)
Title |
---|
PABLO A. PESSOLANI: "RT-MINIXv2: Architecture and Interrupt Handling", 《ARGENTINE SYMPOSIUM OF TECHONOLOGY》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4764861A (en) | Instruction fpefetching device with prediction of a branch destination for each branch count instruction | |
JP4749556B2 (ja) | 割込強制レジスタを含む柔軟な割込コントローラ | |
US5155853A (en) | Data processor operating in a vector interrupt mode and register bank switching mode with selected bank for interrupt processing | |
US4177513A (en) | Task handling apparatus for a computer system | |
US20080209190A1 (en) | Parallel prediction of multiple branches | |
US3332069A (en) | Search memory | |
US7634774B2 (en) | System and method of scheduling computing threads | |
CN107977232B (zh) | 一种数据处理方法、数据处理电路和网络设备 | |
US7827555B2 (en) | Scheduler for a multiprocessing computing system | |
US8031942B2 (en) | Matching device | |
CN115344374A (zh) | 一种中断响应方法及其系统 | |
CN116661703B (zh) | 存储器访问电路及存储器访问方法、集成电路和电子设备 | |
EP0012242B1 (en) | Digital data processor for word and character oriented processing | |
US7421570B2 (en) | Method for managing a microprocessor stack for saving contextual data | |
US3316538A (en) | Circuit arrangement for processing parts of words in electronic computers | |
US20100125720A1 (en) | Instruction mode identification apparatus and method | |
KR100639146B1 (ko) | 카테시안 제어기를 갖는 데이터 처리 시스템 | |
JPH06230985A (ja) | タスク制御回路、及びマイクロプロセッサ | |
CN112463327B (zh) | 逻辑线程快速切换的方法、装置、cpu芯片及服务器 | |
US9460033B2 (en) | Apparatus and method for interrupt collecting and reporting status and delivery information | |
KR100225187B1 (ko) | 비트 필드 주변 장치 및 이 장치를 구비한 비트 필드 시스템 | |
CN116028180A (zh) | 一种中央处理器及任务处理方法 | |
EP1132813A2 (en) | Computer with high-speed context switching | |
CN100562863C (zh) | 芯片内的中断处理装置及方法 | |
JPS60164842A (ja) | 命令先取り装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20221115 |