郑泽勇 广州华言闯网络科技有限公司
信息技术不断发展,各个行业对相关技术的依赖性越来越强,特别是物联网领域,对电子技术的需要在快速增加,尤其是微电子技术。同样地,嵌入式领域对微电子技术的需求也在逐年增加,由此推动了RISC-V指令集架构的发展,相关研究热潮渐涨不退。基于RISC-V指令集架构的处理器相继被研发出来,但是其能耗相对来说还是比较高,与当前经济型社会不甚相符,需要设计出更加节能并且功能更加强大的微处理器。因此,本文在通过相关学习与研究之后,在原本就具有一定低能耗特性的蜂鸟E203处理器的基础上,再进行分析与完善,进而提出一种新的低能耗模式设计方案。如此符合当前经济发展的要求,有实际的研究意义。
本次研究的基础是蜂鸟E203,是国内开源的处理器软核,其核虽然是超低功耗的,但却是2级流水线,并没有针对SoC来设计相应的低能耗模式。因此,本设计主要是在蜂鸟E203的低能耗模式的基础上进行分析与讨论。实际上,蜂鸟E203 SOC的时钟域共有三个主要部分,分别是常开域、主域以及调试域。其中常开域是利用了处理器外部频率为32.768KHz的低速时钟,而其中的主域时钟,则含括了芯片的主体部分,是最重要的部分,其功能主要是为处理器核、SoC部分以及总线部分提供外设。本文之所以选用蜂鸟E203,主要是因为其还没有SoC对应的超低能耗模式,并且该处理器软核目前使用的范围比较广,故选择其作为研究基础。
芯片的运行需要消耗一定能量,也叫功率消耗,简称功耗。通常情况下,认为芯片的总功耗包含静态功耗部分和设计的动态功耗部分。其中,静态功耗又包含器件的静态功耗和设计的静态功耗。所谓器件的静态功耗,指的是器件在上电时,其数值还没有设置,此前其晶体管先消耗了部分的功率,称为功率泄露,这部分泄露的功率之总和就是器件的静态功耗。设计的静态功耗,指的是器件的数值虽然被设置了,但还没有进行电路数值切换,这段过程中也会消耗一定的功耗,在设置数值到切换电路数值之间的这段时间内所消耗的电能称为设计的静态功耗。第二大部分中设计的动态功耗,指的是在用户进行电路控制时,电路被不断切换,在这些切换活动的过程中所消耗的平均电能被称为设计中的动态功耗。
首先是低频模式设计,该模式的设计过程中,主要是处理主域部分。具体过程是利用时钟来控制各个模块,与外设进行时钟转换,主要的模块有CPU、SoC以及CORE三个顶层模块,还有微处理控制器模块和GPIO(General Purpose Input Output)等,与以上这些外设进行时钟转换,来实现信号处理。用波形图来表示低功耗的各种能量时,用freq_redu_ena信号来代表降频使能,同时以inspect_core_clk作为基准,降频使能信号达到之时,整体SoC的时钟频率会被降低。
另外,用sleep_ena来指代SoC另一模式下的使能信号,也就是睡眠模式下的使能信号。在该模式下的使能信号到达的时候,整体处理器的时钟会被关闭,但是使能还是存在的。在本设计之中,对睡眠模式下的运行情况进行改善,主要表现为在sleep_ena信号到达的时候,通过时钟控制模块,将信号输出到处理器的SoC、CPU以及CORE三个顶层模块,接着控制译码与执行模块,对两个模块中的WFI(Wait For Interruption)指令进行控制,并控制其执行,进而实现该模式整体功能的设计。
最终,在停机模式下,其使能信号shut_down_ena和shut_down_wfiena信号先后被输送到SoC、CPU以及CORE三个顶层模块之中,这一过程主要是借助时钟控制模块来实现。另外,在整体时钟信号停止的时候,shut_down_ena使能信号就会调用WFI指令,来首先进人睡眠的模式,由于在睡眠模式还是存在多周期的指令,所以时钟在执行阶段需要处于常开状态,然后在一段时间之后利用shut_down_wfi_ena使能信号来通知其关闭,如此可以在很大程度上减少能耗。在停机的模式下,关闭所有时钟控制模块所控制的时钟,隔开外部低频与高频时钟。另外,全部关闭外部低频模式的常开域时钟以及高频模式主域时钟,关闭之后的时钟全部进入待命状态,等待实时计数器或者中断器的信号,有以上唤醒信号,就全部开始运行,进而继续工作。
从设计结果可以知道,在停机模式下,处理器的功耗只是正常情况下的36%,换一个角度来说,在该模式下,功耗减少了64%,减少的幅度非常可观。另外,在低频模式下,其功耗也是正常情况下的96%,也就是说,低频模式的功耗可以节省4%的能耗。所以,在一定范围之内,尽可能降低时钟的频率,可以在一定程度上减少能耗。同时,在睡眠模式下,其所消耗的能量是正常情况下的92%,相对来说节省了8%的能耗。由此,认为本次设计具有一定的成效。
本次FPGA板使用的是ARTIX A7板。在进行软核烧录及跑LED灯的时候,在该板的正常模式下,电压为5V,同时电流为0.18A。此刻的功耗不仅要包括该板上的SoC的功耗,还要包括其他处于供电状态下的未涉及部分的能耗。在降频及睡眠两个模式下,开发板的整体都是被低频时钟控制的,其中处理器核此时的执行阶段也是处于降频模式,在如此的双重低功耗模式的情况下,整个开发板可以节省19%的能耗。在处理器的工作量越来越大的情况下,以上两个模式所带来的低功耗的占比也会越来越大,这一数据是非常可观的。
本设计所提出的低能耗设计,主要是为蜂鸟E203处理器再降能耗,侧重于对SoC模块的低能耗设计。如此可以进一步方便扩展该处理器的使用范围,比如更加适用于低能耗及小面积的场景。如此可以更加广泛地被运用于物联网及嵌入式领域。所以,本文的设计具有一定的实际意义。