CN112667302B - 一种快速响应处理器外部设备请求的方法 - Google Patents

一种快速响应处理器外部设备请求的方法 Download PDF

Info

Publication number
CN112667302B
CN112667302B CN202110278570.7A CN202110278570A CN112667302B CN 112667302 B CN112667302 B CN 112667302B CN 202110278570 A CN202110278570 A CN 202110278570A CN 112667302 B CN112667302 B CN 112667302B
Authority
CN
China
Prior art keywords
register
peripheral
request
interrupt
kernel
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.)
Active
Application number
CN202110278570.7A
Other languages
English (en)
Other versions
CN112667302A (zh
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.)
Ningbo Fugu Technology Co ltd
Fugu Technology Nanjing Co ltd
Original Assignee
Ningbo Fugu Technology Co ltd
Fugu Technology Nanjing 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 Ningbo Fugu Technology Co ltd, Fugu Technology Nanjing Co ltd filed Critical Ningbo Fugu Technology Co ltd
Priority to CN202110278570.7A priority Critical patent/CN112667302B/zh
Publication of CN112667302A publication Critical patent/CN112667302A/zh
Application granted granted Critical
Publication of CN112667302B publication Critical patent/CN112667302B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Power Sources (AREA)

Abstract

本发明公开了一种快速响应处理器外部设备请求的方法,在内核架构中设置mip寄存器、mie寄存器和mee寄存器,用mee寄存器中与外设中断信号对应的位置控制外设发送的请求是用中断唤醒模式处理还是用事件唤醒模式处理,根据mee寄存器的设置可以在事件唤醒和中断唤醒中选择,不会如传统方案全部地把所有外设都设置为事件请求或者全部设置为中断请求,所以更加灵活。既具有事件唤醒可让处理器减少执行外设请求信号处理时执行的指令数量,减少处理器内核处理外设请求时的功耗,使处理外设请求的过程更加高效、快速等优点,又具有中断唤醒对于有些外设在唤醒后处理更方便的优点,这样就可以进一步提高系统的实时性和方便性。

Description

一种快速响应处理器外部设备请求的方法
技术领域
本发明涉及计算器处理技术领域,具体涉及一种对于处理器内核的低功耗中断处理方法。
背景技术
现在的处理器或者微控制器都有低功耗模式或者休眠模式,在低功耗模式或者休眠模式下,内核停止运行。当有外部设备请求时,内核被重新唤醒,开始处理外部设备的请求。这种模式使得许多深嵌入式领域的运用减少了许多能耗,因为在没有外部请求的条件下,内核休眠,很多时钟可以关闭,电压保持在较低水平。在外部设备发出请求后,处理器需要被唤醒。
一种常用的方法是,在内核执行完WFI(wait for interrupt)指令之后,进入低功耗模式/休眠模式。此时内核停止工作,需要外部中断唤醒。当外部受到外设请求时,中断触发,处理器将跳转程序地址,执行中断处理程序,处理完中断之后,返回主程序继续执行。在这种方式下,内核唤醒,进行程序跳转的过程中,处理器内核需要做很多工作,包括保护寄存器现场、更改PC寄存器的地址、载入中断处理程序,等等。在中断处理程序返回的时候,处理器也需要进行很多工作,包括载入PC寄存器的下一条指令的地址、恢复寄存器现场等。因此,在这种唤醒模式下,内核会执行很多与唤醒后处理外部设备请求无关的代码,只是为了保证程序正确,这样有很多时间和电力功耗被浪费掉了。
还有一种方法采用事件唤醒模式,处理器可以接收外部事件信号进行唤醒,不需要程序进入中断处理程序,可以直接从wfi指令之后的指令开始执行,这就减少了内核许多不必要的操作,使唤醒过程更快,更节能。 目前业内大多采用中断唤醒(wfi)模式,也有采用事件唤醒模式的,虽然事件唤醒模式相对于中断唤醒(wfi)模式在某些方面具有优势,而且看起来事件唤醒的处理更加简单快捷,但是对于有些外设唤醒之后的处理比较麻烦,这种情况下,在程序设计的时候,反而采用中断唤醒更加合适。
发明内容
本发明针对现有技术的缺陷,提供一种既能利用事件唤醒模式处理流程更简单快捷,又能使有些外设唤醒之后处理更方便,达到取长补短效果的快速响应处理器外部设备请求的方法。
为解决上述技术问题,本发明采用如下技术方案:一种快速响应处理器外部设备请求的方法,其特征在于:按以下过程实现,
S1、在内核架构中设置mip寄存器、mie寄存器和mee寄存器,用mee寄存器中与外设中断信号对应的位置控制外设发送的请求是用中断唤醒模式处理还是用事件唤醒模式处理;
S2、当内核进入休眠模式/低功耗模式待被唤醒时,如果外设发出了请求,系统根据三个寄存器来判断采用哪种唤醒模式处理外设请求;
S3、内核收到外设的请求,mip寄存器对应外设的位置被置为1,然后按以下步骤进行处理:
1)判断mie寄存器中外设对应的位置设否被置为1,如果是1,则内核接受该请求,否则忽略;
2)判断mee寄存器中外设对应的位置是否被置为1,如果是1,则内核由外设1请求唤醒的方式为事件唤醒,内核继续执行WFI的下一条指令;
如果是0,则内核唤醒的方式为中断唤醒,内核跳转到外设的中断处理程序中,执行完再返回。
寄存器的有效位是mip寄存器和mie寄存器中与外部中断信号相对应的位设计为有效位,并且mip寄存器和mie寄存器对于有效位是根据RISCV特权指令集架构指南设计的。
所述mee寄存器与mip寄存器和mie寄存器的位宽相同,比如32位、64位,等等。
其中,所述mip寄存器为相对于RISCV 特权指令集架构基础mip寄存器增加了至少两个外部中断控制信号的扩展寄存器,将其中的增加位EXIPx外设置为1代表中断到来,即中断发生时该增加位会被置为1。
并且,所述mie寄存器亦为相对于RISCV 特权指令集架构基础mie寄存器增加了至少两个外部中断控制信号的扩展寄存器,将其中的增加位EXIEx置为1代表打开外设使能。
另外,mee寄存器的位宽与mip寄存器及mie寄存器的位宽相同,但是后12位的值保留为0,对应前面的位也保留为0,通过将外设对应位值的EXEEx使能置为1即将外设中断请求变为外部事件请求。
在执行事件唤醒模式后,处理器接收外部事件信号进行唤醒,直接从wfi指令之后的指令开始执行。
本发明为了使内核在被唤醒时可以更快、更有针对性地处理外部设备的请求,采用了可以对外设请求进行分类的方法。根据程序对寄存器的设置,来判断到来的外设请求是按照中断唤醒处理,还是按照事件唤醒处理。比如,对于USB、计时器、I2C等外设接口的请求,根据mee寄存器的设置可以在事件唤醒和中断唤醒中选择,不会如传统方案全部地把所有外设都设置为事件请求或者全部设置为中断请求,所以更加灵活。这是因为虽然看起来事件唤醒的处理更加简单快捷,但是有些外设唤醒之后的处理比较麻烦,在程序设计的时候,反而用中断唤醒会更加合适。所以外设在唤醒内核之后的处理要根据实际使用情况,在事件唤醒和中断唤醒中灵活选择。既具有事件唤醒可让处理器减少执行外设请求信号处理时执行的指令数量,减少处理器内核处理外设请求时的功耗,使处理外设请求的过程更加高效、快速等优点,又具有中断唤醒对于有些外设在唤醒后处理更方便的优点。这样就可以进一步提高系统的实时性和方便性,对于通信系统的应用来说,可以提高带宽,对于控制系统的应用来说,可以提高控制精度。
附图说明
图1为中断唤醒处理器内核过程的流程示意图;
图2为事件唤醒处理器内核过程的流程示意图;
图3为扩展后的mip寄存器的存储信息格式图;
图4为扩展后的mie寄存器的存储信息格式图;
图5为mee寄存器的存储信息格式图。
具体实施方式
本实施例中,所述快速响应处理器外部设备请求的方法,按以下过程实现,
S1、在内核架构中设置mip寄存器、mie寄存器和mee寄存器,用mee寄存器中与外设中断信号对应的位置控制外设发送的请求是用中断唤醒模式处理还是用事件唤醒模式处理;
S2、当内核进入休眠模式/低功耗模式待被唤醒时,如果外设发出了请求,系统根据三个寄存器来判断采用哪种唤醒模式处理外设请求;
S3、内核收到外设的请求,mip寄存器对应外设的位置被置为1,然后按以下步骤进行处理:
1)判断mie寄存器中外设对应的位置设否被置为1,如果是1,则内核接受该请求,否则忽略;
2)判断mee寄存器中外设对应的位置是否被置为1,如果是1,则内核由外设1请求唤醒的方式为事件唤醒,内核继续执行WFI的下一条指令,如图2所示;
如果是0,则内核唤醒的方式为中断唤醒,内核跳转到外设的中断处理程序中,如图1所示,执行完再返回。
寄存器的有效位是mip寄存器和mie寄存器中与外部中断信号相对应的位设计为有效位。
所述mee寄存器与mip寄存器和mie寄存器的位宽相同,比如32位、64位,等等。
对于RISCV内核,通常有一个mip寄存器和一个mie寄存器来控制中断。其中mie寄存器控制中断使能,其中相应的位置置为1代表中断可以触发,置为0代表中断不能被触发。mip寄存器是中断信号寄存器,其中相应位置为1代表有中断请求,为0代表没有中断请求。其中,mip寄存器为相对于RISCV 特权指令集架构基础mip寄存器增加了至少两个外部中断控制信号的扩展寄存器,如图3所示,将其中的增加位EXIPx外设置为1代表中断到来。mie寄存器亦为相对于RISCV 特权指令集架构基础mie寄存器增加了至少两个外部中断控制信号的扩展寄存器,将其中的增加位EXIEx置为1代表打开外设使能,如图4所示。
另外,如图5所示,mee寄存器的位宽与mip寄存器及mie寄存器的位宽相同,但是后12位的值保留为0,对应前面的位也保留为0,通过将外设对应位值的EXEEx使能置为1即将外设中断请求变为外部事件请求。
在执行事件唤醒模式后,处理器接收外部事件信号进行唤醒,直接从wfi指令之后的指令开始执行。
正常程序运行是按照地址顺序运行,如下:
地址1 : 指令1
地址2 : 指令2
地址3 : 指令3
地址4 : 指令4
地址5 : 指令5
地址6 : 指令6
...
中断唤醒内核处理流程如下:
地址1 : 指令1
地址2 : 指令2
地址3 : 指令3
地址4 : WFI //这个时候内核进入休眠
//内核收到中断请求
//跳转到中断处理程序中
• ->
• ->
• ->
• ->
• 地址n : 指令n //处理中断指令
• 地址n+1 : 指令n+1 //处理中断指令
• 地址n+2 : 指令n+2 //处理中断指令
• 地址n+3 : 指令n+3 //处理中断指令
• 地址n+4 : 指令n+4 //处理中断指令
• 地址n+5 : return
//处理完成后返回主程序
• <-
• <-
• <-
• <-
地址5 : 指令5
...
事件唤醒内核处理流程如下:
地址1 : 指令1
地址2 : 指令2
地址3 : 指令3
地址4 : WFI //这个时候内核进入休眠
//收到事件请求,内核被唤醒,直接继续执行程序
地址5 : 指令5 //处理事件指令
地址6 : 指令6 //处理事件指令
地址7 : 指令7 //处理事件指令
地址8 : 指令8 //处理事件指令
地址9 : 指令9 //处理事件指令
//处理完成,也不需要返回
地址10 : 指令10
...
以上已将本发明做一详细说明,以上所述,仅为本发明之较佳实施例而已,当不能限定本申请实施范围,即凡依本申请范围所作均等变化与修饰,皆应仍属本发明涵盖范围内。

Claims (6)

1.一种快速响应处理器外部设备请求的方法,其特征在于:按以下过程实现,
S1、在内核架构中设置mip寄存器、mie寄存器和mee寄存器,用mee寄存器中与外设中断信号对应的位置控制外设发送的请求是用中断唤醒模式处理还是用事件唤醒模式处理;
S2、当内核进入休眠模式/低功耗模式待被唤醒时,如果外设发出了请求,系统根据三个寄存器来判断采用哪种唤醒模式处理外设请求;
S3、内核收到外设的请求,mip寄存器对应外设的位置被置为1,然后按以下步骤进行处理:
1)判断mie寄存器中外设对应的位置设否被置为1,如果是1,则内核接受该请求,否则忽略;
2)判断mee寄存器中外设对应的位置是否被置为1,如果是1,则内核由外设1请求唤醒的方式为事件唤醒,内核继续执行WFI的下一条指令;
如果是0,则内核唤醒的方式为中断唤醒,内核跳转到外设的中断处理程序中,执行完再返回;
所述mip寄存器为相对于RISCV 特权指令集架构基础mip寄存器增加了至少两个外部中断控制信号的扩展寄存器,中断到来时其中的增加位EXIPx被置为1。
2.根据权利要求1所述的快速响应处理器外部设备请求的方法,其特征在于:所述mip寄存器和mie寄存器中与外部中断信号相对应的位设计为有效位。
3.根据权利要求1所述的快速响应处理器外部设备请求的方法,其特征在于:所述mee寄存器与mip寄存器和mie寄存器的位宽相同。
4.根据权利要求1所述的快速响应处理器外部设备请求的方法,其特征在于:所述mie寄存器亦为相对于RISCV 特权指令集架构基础mie寄存器增加了至少两个外部中断控制信号的扩展寄存器,将其中的增加位EXIEx置为1代表打开外设使能。
5.根据权利要求4所述的快速响应处理器外部设备请求的方法,其特征在于:mee寄存器的位宽与mip寄存器及mie寄存器的位宽相同,但是后12位的值保留为0,对应前面的位也保留为0,通过将外设对应位值的EXEEx使能置为1即将外设中断请求变为外部事件请求。
6.根据权利要求1所述的快速响应处理器外部设备请求的方法,其特征在于:在执行事件唤醒模式后,处理器接收外部事件信号进行唤醒,直接从wfi指令之后的指令开始执行。
CN202110278570.7A 2021-03-16 2021-03-16 一种快速响应处理器外部设备请求的方法 Active CN112667302B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110278570.7A CN112667302B (zh) 2021-03-16 2021-03-16 一种快速响应处理器外部设备请求的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110278570.7A CN112667302B (zh) 2021-03-16 2021-03-16 一种快速响应处理器外部设备请求的方法

Publications (2)

Publication Number Publication Date
CN112667302A CN112667302A (zh) 2021-04-16
CN112667302B true CN112667302B (zh) 2021-05-21

Family

ID=75399468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110278570.7A Active CN112667302B (zh) 2021-03-16 2021-03-16 一种快速响应处理器外部设备请求的方法

Country Status (1)

Country Link
CN (1) CN112667302B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565558B2 (en) * 2006-01-12 2009-07-21 Via Technologies, Inc. Power saving method and system for a central processing unit disposed in a non-snooping sleep state when a peripheral device sends a bus master request
CN109062624A (zh) * 2018-08-22 2018-12-21 上海稊米汽车科技有限公司 一种用于汽车电子控制单元中断唤醒的处理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565558B2 (en) * 2006-01-12 2009-07-21 Via Technologies, Inc. Power saving method and system for a central processing unit disposed in a non-snooping sleep state when a peripheral device sends a bus master request
CN109062624A (zh) * 2018-08-22 2018-12-21 上海稊米汽车科技有限公司 一种用于汽车电子控制单元中断唤醒的处理方法

Also Published As

Publication number Publication date
CN112667302A (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
US6775786B2 (en) Method and apparatus for power mode transition in a multi-thread processor
US7869835B1 (en) Method and system for pre-loading and executing computer instructions within the cache memory
US7529956B2 (en) Granular reduction in power consumption
US8209559B2 (en) Low power polling techniques
US10089263B2 (en) Synchronization of interrupt processing to reduce power consumption
US20090164814A1 (en) Hardware driven processor state storage prior to entering a low power mode
US7120911B1 (en) Processor power-saving control method, storage medium, and processor power-saving control device
CN106125885B (zh) 用于功率管理的系统和方法
JPH04278612A (ja) プロセッサ用クロック信号の制御方法及び情報処理システム
JP2006209479A (ja) プロセッサおよび情報処理方法
CN105353864A (zh) 电子设备静态功耗管理方法和系统
CN100410911C (zh) 中断控制器、中断信号预处理电路及其中断控制方法
CN109062624B (zh) 一种用于汽车电子控制单元中断唤醒的处理方法
JP2006243864A (ja) プロセッサおよび情報処理方法
CN112667302B (zh) 一种快速响应处理器外部设备请求的方法
JPH07295694A (ja) 演算処理装置の省電力方法
GB2506169A (en) Limiting task context restore if a flag indicates task processing is disabled
JP2002304232A (ja) 演算処理システム及び演算処理制御方法、並びに記憶媒体
JP2010102567A (ja) 周期駆動タスク実行装置、周期駆動タスク実行方法及びプログラム
US8065547B2 (en) Control method and computer system for advanced configuration and power interface
US11733760B2 (en) Electronic device and method thereof for controlling power consumption of electronic device in busy-waiting state
US20030163746A1 (en) Power-saving method for an optical disc drive
CN111459559A (zh) 基于risc-v架构快速唤醒处理器的改进系统及方法
JPH05165652A (ja) タスク切替え制御方法
JPH0728570A (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
GR01 Patent grant
GR01 Patent grant