CN113495759A - 一种在mips体系实现快速中断响应的方法 - Google Patents
一种在mips体系实现快速中断响应的方法 Download PDFInfo
- Publication number
- CN113495759A CN113495759A CN202010263825.8A CN202010263825A CN113495759A CN 113495759 A CN113495759 A CN 113495759A CN 202010263825 A CN202010263825 A CN 202010263825A CN 113495759 A CN113495759 A CN 113495759A
- Authority
- CN
- China
- Prior art keywords
- interrupt
- fast
- processing
- time
- mips
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000004044 response Effects 0.000 title claims abstract description 29
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 241001025261 Neoraja caerulea Species 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003672 processing method Methods 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
本发明提供一种在MIPS体系实现快速中断响应的方法,所述方法包括以下步骤:S1,仅使用MIPS保留寄存器K0和K1区分判断此中断是快速中断还是普通中断,如果是快速中断,则进入处理流程S2;如果是普通中断,则进入处理流程S3;S2,快速中断处理流程:屏蔽中断,保存中断上下文,执行中断处理程序,开中断,中断返回;S3,普通中断处理流程:“wait”指令被中断唤醒,屏蔽所有普通中断,普通中断处理完成后,清除普通中断屏蔽位,“wait”指令再次进入等待。本发明基于MIPS体系结构中所有中断具有相同优先级的事实,通过简便的方法实现快速中断和普通中断两个不同中断优先级,并对快速中断能做到确定时间的实时响应。
Description
技术领域
本发明涉及微处理器技术领域,特别涉及一种在MIPS体系实现快速中断响应的方法。
背景技术
MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor withoutinterlocked piped stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。MIPS是世界上很流行的一种RISC处理器。MIPS处理器广泛的应用于:数字电视、机顶盒、蓝光播放器、游戏机、网络设备。MIPS指令系统的特点在于:指令的类型较少;指令的复杂度较低;这些特点使得CPU运行的更快。但是,由于MIPS体系结构中没有硬件中断优先级,故只有通过软件的方法实现。目前的中断处理的实现方法是:关中断,中断响应程序保存中断现场,执行具体中断处理程序,开中断,中断返回。这整个过程需要关中断执行。因此在处理其他中断时,快速中断无法被实时响应,以及快速中断开始处理时间受同一时间到达的中断数目影响,不能做到确定时间响应。这在一些实时应用场景中无法接受。目前常见的MIPS中断响应实现方法无法做到对中断确定时间的实时响应。
现有技术中常用的技术术语包括:
快速中断:需要被实时响应并在确定时间内处理的中断。
普通中断:没有实时处理要求的普通中断。
寄存器K0,K1:被OS的异常或中断处理程序应用。被应用后将不会恢复原来的值。编程时的约定是使用K0和K1这两个寄存器暂存。K0和K1寄存器用于保存异常处理函数的地址。
发明内容
为了解决上述问题,本发明的目的在于:本发明基于MIPS体系结构中所有中断具有相同优先级的事实,通过简便的方法实现快速中断和普通中断两个不同中断优先级,并对快速中断能做到确定时间的实时响应。
具体地,本发明提供一种在MIPS体系实现快速中断响应的方法,所述方法包括以下步骤:
S1,仅使用MIPS保留寄存器K0和K1区分判断此中断是快速中断还是普通中断,如果是快速中断,则进入处理流程S2;如果是普通中断,则进入处理流程S3;
S2,快速中断处理流程:屏蔽中断,保存中断上下文,执行中断处理程序,开中断,中断返回;
S3,普通中断处理流程:“wait”指令被中断唤醒,屏蔽所有普通中断,普通中断处理完成后,清除普通中断屏蔽位,“wait”指令再次进入等待。
所述步骤S1是在中断响应代码开始时进行。
所述步骤S1中由于该步骤执行指令数目确定,不受其他任何情况影响,故快速中断开始处理时间确定,能做到实时响应要求中的确定时间响应。
所述的步骤S2进一步包括:在确定时间内完成快速中断处理。
所述的步骤S2中所述开中断至少应在中断返回的前一刻将它打开;否则,处理器在中断返回后将无法再次响应可屏蔽中断。
所述的步骤S3进一步包括:在普通中断处理过程可随时被快速中断打断,既可对快速中断实时响应。
所述的步骤S3进一步包括:此时其它普通中断不被响应,即普通中断的处理流程不需要保存中断上下文。
所述方法是通过编程方法实现MIPS体系平台上快速中断和普通中断两个不同中断优先级。
由此,本申请的优势在于:不仅在MIPS平台上快速中断和普通中断两个不同中断优先级,做到对快速中断的确定时间的实时响应,并且能保证在MIPS平台确定时间内实时响应快速中断,而且节省普通中断处理保存现场的时间和内存使用。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。
图1是本发明方法的示意流程图。
图2是本发明所应用方法的系统的示意图。
具体实施方式
为了能够更清楚地理解本发明的技术内容及优点,现结合附图对本发明进行进一步的详细说明。
如图1所示,提供一种在MIPS体系实现快速中断响应的方法,所述方法包括以下步骤:
S1,仅使用MIPS保留寄存器K0和K1区分判断此中断是快速中断还是普通中断,如果是快速中断,则进入处理流程S2;如果是普通中断,则进入处理流程S3;
S2,快速中断处理流程:屏蔽中断,保存中断上下文,执行中断处理程序,开中断,中断返回;
S3,普通中断处理流程:“wait”指令被中断唤醒,屏蔽所有普通中断,普通中断处理完成后,清除普通中断屏蔽位,“wait”指令再次进入等待。
所述步骤S1是在中断响应代码开始时进行。
所述步骤S1中由于该步骤执行指令数目确定,不受其他任何情况影响,故快速中断开始处理时间确定,能做到实时响应要求中的确定时间响应。
所述的步骤S2进一步包括:在确定时间内完成快速中断处理。
所述的步骤S2中所述开中断至少应在中断返回的前一刻将它打开;否则,处理器在中断返回后将无法再次响应可屏蔽中断。
所述的步骤S3进一步包括:在普通中断处理过程可随时被快速中断打断,既可对快速中断实时响应。
所述的步骤S3进一步包括:此时其它普通中断不被响应,即普通中断的处理流程不需要保存中断上下文。
所述方法是通过编程方法实现MIPS体系平台上快速中断和普通中断两个不同中断优先级。
具体地,实现方法如图2所示:
1.在中断响应代码开始,仅使用MIPS保留寄存器K0和K1判断该中断是快速中断还是普通中断,如果是快速中断,则进入处理流程2;如果是普通中断,则进入处理流程3;由于该部分执行指令数目确定,不受其他任何情况影响,故快速中断开始处理时间确定。能做到实时响应要求中的”确定时间响应”。
2.快速中断进入该处理流程。屏蔽中断,保存中断上下文,执行中断处理程序,开中断,中断返回;在确定时间内完成快速中断处理。
3.普通中断进入该处理流程。“wait”指令被中断唤醒,屏蔽所有普通中断(快速中断可被响应),普通中断处理完成后,清除普通中断屏蔽位,“wait”指令再次进入等待。在普通中断处理过程可随时被快速中断打断,既可对快速中断实时响应。而由于此时其它普通中断不被响应,也就是说普通中断的处理流程不需要保存中断上下文,故此能节省普通中断的运行时间,和中断嵌套导致的内存使用。
由此可见,通过在中断处理开始区分快速中断和普通中断,并分别执行不同的处理流程,能够做到对快速中断的确定时间实时响应。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种在MIPS体系实现快速中断响应的方法,其特征在于,所述方法包括以下步骤:
S1,仅使用MIPS保留寄存器K0和K1区分判断此中断是快速中断还是普通中断,如果是快速中断,则进入处理流程S2;如果是普通中断,则进入处理流程S3;
S2,快速中断处理流程:屏蔽中断,保存中断上下文,执行中断处理程序,开中断,中断返回;
S3,普通中断处理流程:“wait”指令被中断唤醒,屏蔽所有普通中断,普通中断处理完成后,清除普通中断屏蔽位,“wait”指令再次进入等待。
2.根据权利要求1所述的一种在MIPS体系实现快速中断响应的方法,其特征在于,所述步骤S1是在中断响应代码开始时进行。
3.根据权利要求1所述的一种在MIPS体系实现快速中断响应的方法,其特征在于,所述步骤S1中由于该步骤执行指令数目确定,不受其他任何情况影响,故快速中断开始处理时间确定,能做到实时响应要求中的确定时间响应。
4.根据权利要求1所述的一种在MIPS体系实现快速中断响应的方法,其特征在于,所述的步骤S2进一步包括:在确定时间内完成快速中断处理。
5.根据权利要求1所述的一种在MIPS体系实现快速中断响应的方法,其特征在于,所述的步骤S2中所述开中断至少应在中断返回的前一刻将它打开;否则,处理器在中断返回后将无法再次响应可屏蔽中断。
6.根据权利要求1所述的一种在MIPS体系实现快速中断响应的方法,其特征在于,所述的步骤S3进一步包括:在普通中断处理过程可随时被快速中断打断,既可对快速中断实时响应。
7.根据权利要求1所述的一种在MIPS体系实现快速中断响应的方法,其特征在于,所述的步骤S3进一步包括:此时其它普通中断不被响应,即普通中断的处理流程不需要保存中断上下文。
8.根据权利要求1所述的一种在MIPS体系实现快速中断响应的方法,其特征在于,所述方法是通过编程方法实现MIPS体系平台上快速中断和普通中断两个不同中断优先级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010263825.8A CN113495759A (zh) | 2020-04-07 | 2020-04-07 | 一种在mips体系实现快速中断响应的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010263825.8A CN113495759A (zh) | 2020-04-07 | 2020-04-07 | 一种在mips体系实现快速中断响应的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113495759A true CN113495759A (zh) | 2021-10-12 |
Family
ID=77995452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010263825.8A Pending CN113495759A (zh) | 2020-04-07 | 2020-04-07 | 一种在mips体系实现快速中断响应的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113495759A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140108690A1 (en) * | 2012-10-11 | 2014-04-17 | Wind River Systems, Inc. | System And Method for Operating System Aware Low Latency Interrupt Handling |
CN103778009A (zh) * | 2012-10-18 | 2014-05-07 | 深圳市中兴微电子技术有限公司 | 中断处理方法及装置 |
US20180068134A1 (en) * | 2015-02-11 | 2018-03-08 | Siemens Aktiengesellschaft | Method to isolate real-time or safety-critical software and operating system from non-critical software and operating system |
CN109710312A (zh) * | 2018-12-13 | 2019-05-03 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于risc-v指令集的实时中断处理方法、装置及工控处理器 |
-
2020
- 2020-04-07 CN CN202010263825.8A patent/CN113495759A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140108690A1 (en) * | 2012-10-11 | 2014-04-17 | Wind River Systems, Inc. | System And Method for Operating System Aware Low Latency Interrupt Handling |
CN103778009A (zh) * | 2012-10-18 | 2014-05-07 | 深圳市中兴微电子技术有限公司 | 中断处理方法及装置 |
US20180068134A1 (en) * | 2015-02-11 | 2018-03-08 | Siemens Aktiengesellschaft | Method to isolate real-time or safety-critical software and operating system from non-critical software and operating system |
CN109710312A (zh) * | 2018-12-13 | 2019-05-03 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于risc-v指令集的实时中断处理方法、装置及工控处理器 |
Non-Patent Citations (1)
Title |
---|
凌阳科技编著: "《凌阳16位电机控制单片机:SPMC75系列原理与应用开发》", 北京航空航天大学出版社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4130987A1 (en) | Interrupt control system and method based on risc-v | |
CN106873946A (zh) | 一种中断处理方法及流水线控制器 | |
US8909835B2 (en) | Computer system and method of controlling computer system | |
EP3798826A1 (en) | Methods of hardware and software coordinated opt-in to advanced features on hetero isa platforms | |
CN113495759A (zh) | 一种在mips体系实现快速中断响应的方法 | |
CN113495760A (zh) | 一种实现在mips体系快速中断响应的系统 | |
CN115269158A (zh) | 软件定义中断管理控制器的方法 | |
US7143274B2 (en) | Setting breakpoint for postponed interrupt processing in subsequent area while executing interrupt-exclusive task area to avoid slow down | |
JPH0895798A (ja) | データ処理装置 | |
JPH0414376B2 (zh) | ||
JPH0581069A (ja) | プログラムのデバツグ方法 | |
CN110059040A (zh) | 一种基于risc-v架构的可嵌套异常和非屏蔽中断系统及方法 | |
JP2011048619A (ja) | プロセッサ | |
KR100506254B1 (ko) | 임베디드 시스템의 비특권 모드에서 인터럽트 처리를 위한장치 및 방법 | |
JPS5960645A (ja) | プロセツサ命令実行処理方式 | |
Moore | Deferred Interrupt Processing | |
KR100315401B1 (ko) | 실시간운영체제에서하드웨어인터럽트서비스루틴과소프트웨어인터럽트서비스루틴으로분리하여처리하는인터럽트처리방법 | |
JPH02187829A (ja) | ディジタル信号処理プロセッサ | |
JPH02191042A (ja) | 割込み制御方式 | |
CN117632411A (zh) | 一种中断处理程序的处理方法、中断控制方法及处理器 | |
JP3120841B2 (ja) | インサーキットエミュレータ | |
JPH05241889A (ja) | 機械語命令のステップ実行方式 | |
CN113486356A (zh) | 一种控制中断源的运行方法、装置、终端设备及存储介质 | |
JPS61213928A (ja) | プログラム変更方式 | |
JP2000029728A (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 |