CN115344374A - 一种中断响应方法及其系统 - Google Patents

一种中断响应方法及其系统 Download PDF

Info

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
Application number
CN202211276718.4A
Other languages
English (en)
Inventor
张昆
廖茂益
哈锦成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Jingrong Lianchuang Technology Co ltd
Original Assignee
Chengdu Jingrong Lianchuang Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Jingrong Lianchuang Technology Co ltd filed Critical Chengdu Jingrong Lianchuang Technology Co ltd
Priority to CN202211276718.4A priority Critical patent/CN115344374A/zh
Publication of CN115344374A publication Critical patent/CN115344374A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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中任意一项所述的中断响应方法的中断响应系统,其特征在于,所述中断响应系统包括:
中断定向回路,所述中断定向回路用于获取若干中断请求,对若干所述中断请求进行贴标签处理,得到中断列表,并将所述中断列表传输至快速排序模块;
快速排序模块,所述快速排序模块用于将所述中断列表中的所有数据按照快速排序规则进行排列,得到中断序列表;
执行回路,所述执行回路用于通过第二指针获取所述中断序列表并根据所述中断序列表通过第一指针获取位于存储器中的中断例程;
处理器,所述处理器用于根据所述中断序列表和所述中断例程,执行中断响应程序。
CN202211276718.4A 2022-10-19 2022-10-19 一种中断响应方法及其系统 Pending CN115344374A (zh)

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)

* Cited by examiner, † Cited by third party
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 中汽创智科技有限公司 一种虚拟中断处理方法、装置、设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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