首页 / 专利库 / 物理 / 能量 / 电能 / 减少电能损耗的系统和方法

减少电能损耗的系统和方法

阅读:325发布:2021-06-13

专利汇可以提供减少电能损耗的系统和方法专利检索,专利查询,专利分析的服务。并且本 发明 是ARM 协处理器 能耗降低系统和方法,当ARM系统执行THUMB状态指令操作时它会关闭协处理器时钟。例如,依据本发明当ARM协处理器能耗降低系统和方法会追踪ARM核心外围的 信号 以确定ARM核心是否试图进入ARM状态或THUMB状态操作。本发明对与ARM流 水 线每一个阶段有关的THUMB位指示信号进行比较,并确定指令是否为THUMB状态指令。如果指令是THUMB状态指令,依据本发明的ARM协处理器能耗降低系统和方法会关闭协处理器时钟。关闭协处理器时钟会阻止协处理器寄存器的转换和消耗 电能 。如果读取到ARM流水线中的指令是ARM状态指令,依据本发明的ARM协处理器能耗降低系统和方法会将协处理器的时钟打开。,下面是减少电能损耗的系统和方法专利的具体信息内容。

1.一种ARM协处理器能耗降低系统包括:一个第一逻辑元件,用于对输入信号进行逻辑分析,并提供一个信号以打开或关闭协处理器时钟;一个与所述第一逻辑元件相连接的THUMB位寄存器,所述的THUMB位寄存器适于存储一个THUMB位(TBIT)信号的逻辑值,用来表示ARM流线中的指令是否正处于THUMB状态或ARM状态操作中;以及一个与所述第一逻辑元件相连接的执行寄存器,所述执行寄存器用于存储与上述ARM流水线执行状态有关的信息。
2.如权利要求1所述的系统,其特征在于:根据ARM流水线中的指令状态打开或关闭所述的协处理器时钟。
3.如权利要求1或2所述的ARM协处理器能耗降低系统,其特征在于:如果在所述的ARM流水线中的指令是THUMB状态指令,所述的第一逻辑元件就会提供一个所述信号以关闭所述的协处理器时钟。
4.如权利要求1或2所述的ARM协处理器能耗降低系统,其特征在于:如果在所述的ARM流水线中的指令是ARM状态指令,所述的第一逻辑元件就会提供一个所述信号以打开所述的协处理器时钟。
5.如权利要求1所述的ARM协处理器能耗降低系统,其特征在于:所述的第一逻辑元件是一个第一逻辑AND元件,如果所述第一逻辑AND元件的输入是逻辑1的话它就传送一个逻辑1的值,如果所述第一逻辑AND元件的任何一个输入是逻辑0的话它就会传送一个逻辑0值。
6.如权利要求1所述的ARM协处理器能耗降低系统,进一步包括:一个与所述执行寄存器相连接的第二逻辑AND元件,所述的第二逻辑AND元件适于推进所述的ARM流水线;一个与所述第二逻辑AND元件相连接的逻辑OR元件,如果所述的逻辑OR元件的一个输入值为逻辑1的话所述逻辑OR元件就会传送一个逻辑1的值,如果所述逻辑OR元件的所述输入为逻辑0的话它就会传送一个逻辑0值;以及一个与所述第二逻辑AND元件相连接的等待寄存器,所述等待寄存器适用于捕获一个非等待信号值,该非等待信号适用于使ARM核心等待内存时钟输入周期整数的失举。
7.如权利要求6所述的ARM协处理器能耗降低系统进一步包括:一个与所述逻辑OR元件相连接的第三逻辑AND元件,所述的第三逻辑AND元件适于传送一个信号以控制存储数据在所述ARM流水线中传送;一个与所述第三逻辑AND元件相连接的数据保持寄存器,所述的数据保持寄存器适用于存储在所述ARM流水线中等待进行处理的数据;一个与第三逻辑AND元件相连接的非操作码读取寄存器,所述的非操作码读取寄存器适于存储非操作码读取信号的状态,以指示ARM核心处理器是否正从内存中读取指令。
8.如权利要求6所述的ARM协处理器能耗降低系统进一步包括:一个与所述第二逻辑AND元件相连接的译码寄存器,所述的译码寄存器适于存储与ARM流水线的译码阶段有关的信息;以及一个与所述译码寄存器相连接的多路复用器,所述的多路复用器适于选择一个信号传送到所述的译码寄存器。
9.如权利要求8所述的ARM协处理器能耗降低系统,其特征在于:所述的多路复用器在来自数据保持寄存器的信号或信号中的数据之间进行选择。
10.如权利要求1所述的系统,其中所述的第一逻辑元件是一个AND元件,所述元件根据输入信号的逻辑电平打开或关闭协处理器时钟,所述的系统进一步包括:一个与所述执行寄存器相连接的第二逻辑AND元件,所述第二逻辑AND元件适于推进所述ARM流水线;一个与所述逻辑第二AND元件相连接的逻辑OR元件,如果所述逻辑OR元件的一个输入位逻辑1的话所述逻辑OR元件适于传送一个逻辑1值,如果所述逻辑OR元件的所述输入位逻辑0的话它就传送一个逻辑0值。
11.如权利要求6或10所述的ARM协处理器能耗降低系统,其中所述的逻辑OR元件与一个用来指示在下一个周期中是否有内存访问的非内存请求信号、和一个用来指示一个/所述的ARM核心处理器是否正从内存中读取指令的非操作码读取信号相连接。
12.如权利要求11所述的ARM协处理器能耗降低系统进一步包括:一个与所述逻辑OR元件相连的第三逻辑AND元件,所述的第三逻辑AND元件适于传送一个信号控制存储数据在所述ARM流水线中传送;一个与所述第三逻辑AND元件相连的数据保持寄存器,所述的数据保持寄存器适于存储在所述ARM流水线中等待进行处理的数据;一个与所述第三逻辑AND元件相连的非操作码读取寄存器,所述的非操作码读取寄存器存储非操作码读取信号的状态,其用来指示ARM核心处理器是否正从内存中读取指令;一个与所述第二逻辑AND元件相连的译码寄存器,所述译码寄存器适于存储与所述ARM流水线的执行阶段有关的信息;以及一个与所述译码寄存器相连的多路复用器,所述多路复用器用来选择一个信号传送到所述译码寄存器。
13.如权利要求12所述的ARM协处理器能耗降低系统,其特征在于:当与所述执行寄存器中指令有关的THUMB位是逻辑1,且所述THUMB位寄存器中的值为逻辑1时,所述的第一逻辑AND元件关闭所述的协处理器时钟。
14.ARM协处理器能耗降低方法包括以下步骤:确定ARM核心是否正读取THUMB状态指令;继续一般的ARM核心和协处理过程;追踪ARM流水线中进行操作的后续指令的状态;分析是否适合关闭协处理器时钟;关闭所述的协处理器时钟;检测是否适合打开所述的协处理器时钟;以及打开所述的协处理器时钟。
15.如权利要求14所述的ARM协处理器能耗降低方法进一步包括以下步骤:检测所述的ARM处理器是否正从事指令读取;以及捕获与被读取指令有关的TBIT信号的一个逻辑状态,所述的TBIT信号表示所述的被读取指令是否为ARM状态指令或是THUMB状态指令。
16.如权利要求14所述的ARM协处理器能耗降低方法进一步包括扫描非内存请求信号、非操作码读取信号和非等待信号以决定ARM核心是否正读取指令。
17.如权利要求14所述的ARM协处理器能耗降低方法进一步包括以下步骤:从读取阶段传送指令到译码阶段;以及将指令推进到执行阶段。
18.如权利要求14所述的ARM协处理器能耗降低方法进一步包括存储TBIT寄存器中TBIT信号的逻辑值。
19.如权利要求14所述的ARM协处理器能耗降低方法,其特征在于:如果所述ARM流水线中正处理的指令为THUMB状态指令或是与所述THUMB状态指令有关的数据的话,就适合关闭所述协处理器时钟。
20.如权利要求14所述的ARM协处理器能耗降低方法进一步包括发送一个信号以停止所述的协处理器时钟。
21.如权利要求14所述的ARM协处理器能耗降低方法进一步包括查明所述ARM流水线中的指令是否为ARM状态指令或是与所述ARM状态指令有关的数据。
22.如权利要求14所述的ARM协处理器能耗降低方法,其停止在于:如果ARM状态指令或是与ARM状态指令有关的数据正占据ARM流水线寄存器的话,就适合打开协处理器时钟。

说明书全文

减少电能损耗的系统和方法

发明涉及计算机处理系统和方法领域。尤其是本发明涉及在一个基于高级RISC机器(ARM)的系统中改善即减少电能损耗的系统和方法。处理这个问题的方法之一是在THUMB状态下进行操作时关闭某些功能部件。

通常情况下ARM处理器通过一个非常强大的指令集而表现出相对高的性能并提供显著的灵活性。根据紧凑、效能成本合算的装置,典型ARM处理器的相对简明性便于高指令吞吐量和有效的时间中断响应。利用流线技术使处理和存储系统的多个元件能同时进行操作。例如,当一个指令被执行时,后续指令进行译码,并从内存中读取第3条指令。

通常情况下,一个ARM处理器使用两个状态或指令集。一个状态或指令集包含一个32位的ARM集,而另一个状态或指令集包含一个16位的THUMB集。THUMB指令集在与ARM指令集相同的32位寄存器上进行操作,并在保持大部分ARM集性能优势的同时达到大约ARM集的两倍密度。然而,有些实例要求具有更多的功能性和更高的性能。在这些情形中系统通常包含一个协处理器

在ARM状态下ARM协处理器提供附加的处理能。在主ARM处理器执行其它功能的时候,使协处理器执行特殊的指令通常是有利的。例如,协处理器通常执行诸如浮点数操作、图形变换、图像压缩等功能。然而在一般的具有协处理器的ARM系统中,即使协处理器没有用来处理指令或信息,某些协处理器的特征也被连续不断地保持。

即使协处理器没有对基本的系统操作起作用,通常协处理器也会损耗数量可观的系统电能。特别是由于协处理器不能被用来执行16位的事务处理,它就不能在16位THUMB事务处理期间对基本的系统操作做出贡献。THUMB指令集比ARM指令集小,而且在THUMB状态下进行操作时ARM系统中的协处理器没有作用。甚至当协处理器没有处理指令或信息时,协处理器通常也会继续损耗电能。例如,协处理器的时钟会继续运行,协处理器寄存器会继续损耗电能的状态转换。

减少那些不会对ARM系统的功能起什么作用的元件的电能损耗会带来很多的好处。例如,电能的可用性在利用ARM系统来提供处理能力的无线通信系统中通常是很关键的。无线通信系统通常依赖于电池作为电源供给,减少电能损耗会使电池具有较长寿命。减少电能损耗也会使电池尺寸随之减小,从而允许生产出更小的无线通信设备。小型的无线通信设备通常会提供更为实际的应用。

我们需要一种用于减少ARM系统中协处理器电能损耗的系统和方法。该系统和方法应不影响ARM系统的操作功能。在THUMB状态操作期间内应减少协处理器寄存器的转换。且该系统和方法还必须有助于减少电能供应需求。

在本发明的一个实施例中,ARM协处理器能耗降低系统和方法会检测何时ARM系统从事那些不利用ARM协处理器的活动,并关闭ARM协处理器时钟。依据本发明的ARM协处理器能耗降低系统和方法会追踪ARM核心是否从事ARM状态或THUMB状态操作。例如,ARM协处理器能耗降低系统和方法对指示ARM核心是否在ARM状态或THUMB状态下执行的THUMB位(TBIT)信号进行分析。如果ARM核心处于THUMB状态操作,依据本发明的ARM协处理器能耗降低系统和方法就会指示关闭协处理器时钟。如果ARM核心处于ARM状态操作,依据本发明的ARM协处理器能耗降低系统和方法就会指示打开协处理器时钟。

图1是与本发明的ARM协处理器能耗降低系统和方法的一个实施例相关的一个协处理器时钟停止波形图表实例。

图2是与本发明的ARM协处理器能耗降低系统和方法的一个实施例相关的一个协处理器时钟开始波形图表实例。

图3是本发明的一个实施例-ARM协处理器能耗降低系统的原理图。

图4是对于本发明的ARM协处理器能耗降低系统中的ARM协处理器能耗降低真值表的说明。

图5是本发明的ARM协处理器能耗降低方法的一个实施例流程图

发明的详细说明下面将结合本发明的最佳实施例对在基于高级RISC机器(ARM)的系统中减少电源损耗的系统和方法进行说明,其例子在附图中进行说明。尽管本发明将结合最佳实施例进行描述,也不能认为将本发明局限在这些实施例中。相反,本发明意图覆盖那些可能包含在本发明附加权利要求所定义的构思和范围之内的替换、修改、和等同物。除此之外,在随后的本发明详细描述部分,为实现对本发明的彻底理解而提出了许多具体细节。然而对于本领域的普通技术人员来说,显而易见没有这些具体细节本发明也能实现。在其它的实例中,为避免使本发明难以理解就没有再对众所周知的方法、程序、元件和电路进行详细介绍了。

本发明是一种ARM协处理器能耗降低系统和方法,它们检测何时ARM系统从事那些没有使用ARM协处理器的操作,并关闭ARM协处理器时钟。例如,依据本发明的ARM协处理器能耗降低系统和方法追踪来自于ARM核心外围的信号,从而确定ARM核心是否试图促进ARM状态或THUMB状态操作。如果依据本发明的ARM协处理器能耗降低系统和方法检测到ARM核心正试图促进THUMB状态操作,ARM协处理器能耗降低系统和方法就会发出一个与关闭ARM协处理器有关的时钟信号。由于ARM协处理器时钟关闭,ARM协处理器中的寄存器就不会进行转换和损耗电源。如果依据本发明的ARM协处理器能耗降低系统和方法检测到ARM核心正试图促进ARM状态操作,ARM协处理器能耗降低系统和方法就会发出一个与打开ARM协处理器有关的时钟信号。

随着指令在ARM核心中的处理,它们也会被包含3个阶段的ARM流水线捕获。ARM流水线由读取阶段、译码阶段和执行阶段组成。依据本发明的ARM协处理器能耗降低系统追踪在ARM核心中的特定指令处于哪个阶段(它是否处于读取、译码或执行阶段)。每当操作状态发生了变化(如从ARM状态变化为THUMB状态,反之亦然),就会有指示变化的指令流经ARM流水线。指令经过读取、译码,然后在执行阶段由ARM核心确定指令是否指示ARM核心转换到16位的THUMB指令集或是32位的ARM指令集。当执行状态变化指令时,TBIT(THUMB位)信号就会发生变化。例如,当该指令为THUMB状态指令时,TBIT就从逻辑零变为逻辑1,而当该指令为ARM状态指令时TBIT就从逻辑1变为逻辑0。

即使状态变化指令在执行时,也会有潜在的另外两个操作在流水线中等待执行,一个操作在读取阶段,另一个操作在译码阶段。如果操作状态正从ARM状态转变为THUMB状态,ARM协处理器能耗降低系统和方法不会切断ARM协处理器时钟,直到剩下两个在译码和执行阶段的操作被完全执行为止。因此,如果剩下的在译码阶段和执行阶段的两个操作中包含ARM状态操作,就会使协处理器时钟保持运行并可利用,以继续处理32位的ARM状态操作。

图1是与本发明的ARM协处理器能耗降低系统和方法的一个实施例相关的协处理器时钟停止波形图表实例100。协处理器时钟停止波形表100说明:当第一个ARM指令110、第二个ARM指令111和第三个ARM指令112以及它们相对应的第一个ARM数据传送120、第二个ARM数据传送121、和第三个ARM数据传送122进行读取时,在CPSTOPC寄存器中的值为高,表明协处理器的时钟是正在运行的。当读取第一个THUMB指令113时,信号AC_TBIT从逻辑0(低)转换为逻辑1(高)。然而,信号CP_STOPC不从逻辑0(指示协处理器的时钟继续运行)转换为逻辑1(指示协处理器时钟停止运行)。直到第二个THUMB指令114、第三个THUMB指令116以及与它们相关的第二个THUMB数据传送124和第3个THUMB数据传送126完成的时候,信号CP_STOPC才会发生转换。信号CP_STOPC甚至会检测由协处理器缺指令115以及其相关的、介于第二个THUMB数据传送124和第三个THUMB数据传送126之间的协处理器缺数据事务处理125所指示的扩充处理宽度。AC_TBIT信号对第四个THUMB指令117、第五个THUMB指令118和第四个THUMB数据传送127保持逻辑1(高)。

当ARM系统正退出THUMB状态并进入ARM状态时,TBIT信号将会指示(如变为低)它正在处理ARM状态操作。在ARM系统退出THUMB状态而进入ARM状态期间,协处理器时钟会在同一个周期内启动。因此,如果下一个要执行的指令是32位ARM状态操作,协处理器就可以继续处理32位的ARM状态操作了。

图2是与本发明的ARM协处理器能耗降低系统和方法的一个实施例相关的协处理器时钟启动波形实例表200。协处理器时钟启动波形表200表示:当第一个THUMB指令210、第二个THUMB指令211、第三个THUMB指令212、以及它们相对应的第一个THUMB数据传送220、第二个THUMB数据传送221和第三个THUMB数据传送222进行读取时,CPSTOPC寄存器中的值为低,表示协处理器的时钟没有运行。当第一个ARM指令213被读取时,信号AC_TBIT从逻辑1向逻辑0进行转换。信号CP_STOPC从逻辑1向逻辑0进行转换,指示协处理器的时钟开始运行。CPSTOPC寄存器中的值从逻辑0向逻辑1转换,指示时钟已经运行。CPSTOPC寄存器中的值对第二个ARM指令214、第三个ARM指令215、第一个ARM数据传送223、第二个ARM数据传送224和第四个ARM数据传送225保持逻辑1。

ARM核心利用几个信号来表示通过ARM协处理器随后流水线阶段的进度和进展。非内存请求信号(MREQ_N或nMREQ)表示在下一个周期中是否请求访问内存。如果nMREQ信号为低,ARM核心处理器就会在下一个周期中请求访问内存。非操作码读取信号(OPC_N或nOPC)表示ARM核心处理器是否正从内存中读取指令。如果OPC_N信号为低ARM核心处理器就正从内存中读取指令,且如果OPC_N信号为高就表示有数据正在传送(如果当前有数据的话)。利用非等待信号(WAIT_N或nWAIT)引起ARM核心等待或是拖延一个整数内存时钟输入(MCLK)周期。MCLK是一个对ARM核心内存访问和内部操作进行计时的时钟。当WAIT_N为低时,ARM核心在等待或是被拖延。

图3是本发明的一个实施例的ARM协处理器能耗降低系统300的原理图。ARM协处理器能耗降低系统300包括:THUMB位寄存器TBIT_PF310、等待寄存器WAIT_M_PF321、第一逻辑OR(或)元件325、非操作码读取寄存器OPC_N_PF327、第三逻辑AND(与)元件328、第二逻辑AND元件329、数据保持寄存器DATA_HOLD_NF331、多路复用器MUX332、译码寄存器DECODE_NF333、执行寄存器EXECUTE_NF334、第一逻辑AND元件340、停止时钟寄存器STOPCLK_NF345。在其标识中包含一个PF的寄存器由信号上升沿触发的触发器,而在其标识中包含NF的寄存器由信号下降沿触发的触发器。TBIT_PF310与第一逻辑AND元件340相连接。第三逻辑AND元件328与WAIT_N_PF321、第一逻辑OR元件325、OPC_N_PF327、DATA_HOLD_NF331相连接。第二逻辑AND元件329与WAIT_N_PF321、第一逻辑OR元件325、OPC_N_PF327、DECODE_NF333、EXECUTE_NF334相连接。MUX332与DATA_HOLD_NF331、DECODE_NF333相连接,而DECODE_NF333与EXECUTE_NF334相连接。EXECUTE_NF334与第一逻辑AND元件340相连接,而第一逻辑AND元件340与STOPCLK_NF345相连接。

ARM协处理器能耗降低系统300的元件进行协同操作,通过ARM流水线发送ARM指令,同时如果ARM流水线正处理THUMB状态指令,就启动一个信号来关闭协处理器时钟。第一逻辑AND元件340适用于对输入信号进行逻辑分析,并根据ARM流水线中的指令状态提供一个信号以打开或关闭协处理器时钟。例如,如果在ARM流水线中的指令是THUMB状态指令,第一逻辑AND元件340就提供一个信号以关闭协处理器时钟,如果有一个ARM流水线中的指令是ARM状态指令,则它就会提供一个信号以打开协处理器时钟。THUMB位寄存器TBIT_PF310存储一个THUMB位(TBIT)信号的逻辑值,该值表示一个ARM流水线中的指令是否在THUMB状态或ARM状态下进行操作。执行寄存器EXECUTE_NF334存储与上述ARM流水线的执行阶段有关的信息。

第二逻辑AND元件329控制通过ARM流水线的指令和数据的进展。如果逻辑OR元件325的一个输入(如一个非内存请求信号MREQ_N和一个非操作码信号OPC_N)是逻辑1,对逻辑OR元件325就发送一个逻辑1值,如果对逻辑OR元件325的上述输入是逻辑0,逻辑OR元件325就发送一个逻辑0。等待寄存器WAIT_N_PF321捕获一个非等待信号(如WAIT_N)的值。

第三逻辑AND元件328发送一个信号以指示在ARM流水线中传送的存储数据。数据保持寄存器DATA_HOLD_NF331存储ARM流水线中等待进行处理的数据。非操作码读取寄存器OPC_N_PF327存储用来指示ARM核心处理器是否正从内存中读取指令的非操作码读取信号的状态。译码寄存器DECODE_NF333存储与ARM流水线译码阶段有关的信息。多路复用器MUX332选择一个信号发送到所述的译码寄存器,如数据保持寄存器中的信号或是数据信号。

ARM指令流水线对在WAIT_N_PF321中的信息、信号OPC_N和MREQ_N的逻辑状态进行逻辑检验以确定何时通过各种ARM核心寄存器存来自于ARM系统数据总线的指令。对前一个上升沿的TBIT值进行取样,并将其与正向译码和执行阶段传送的数据一起进行发送。这会使ARM协处理器能耗降低系统300能够正确地启动/停止协处理器时钟。

图4是ARM协处理器能耗降低真值表400的说明。ARM协处理器能耗降低真值表400是ARM协处理器能耗降低系统300的真值表。在本发明的一个实施例中,如果在时钟的上升沿WAIT_N_PF的输出为逻辑1,OPC_N信号为逻辑0,且MREQ_N信号为逻辑0的话,则ARM核心就正在读取指令。在接下来的时钟下降沿指令自身置于ARM核心数据总线上。如果WAIT_N_PF存储的值为逻辑0的话,指令就保留在ARM核心数据总线上,且在DATA_HOLD_NF331、多路复用器MUX332、译码寄存器DECODE_NF333、或是执行寄存器EXECUTE_NF334之间没有指令传送。如果在寄存器存器OPC_N_PF327中存储的值为逻辑1,且OPC_N信号或MREQ_N信号为逻辑1,则DATA_HOLD_NF331、多路复用器MUX332、译码寄存器DECODE_NF333、或是执行寄存器EXECUTE_NF334之间就没有指令传送。如果在时钟的下降沿WAIT_N_PF321中的值为逻辑1,且OPC_N信号为逻辑1或是MREQ_N信号为逻辑1,则ARM核心就不会将当前指令经过译码阶段和执行阶段。然而,如果当前有数据的话,它就会继续数据处理。如果OPC_N_PF中的信息为逻辑0,则ARM数据总线上的指令就放入DATA_HOLD_NF331中,并处于“保持”状态。

在ARM协处理器能耗降低真值表400的剩余状态期间,指令经过流水线中的各个阶段进行传送。如果在时钟的下降沿WAIT_N_PF321中的信息为逻辑1,OPC_N信号为逻辑0,且MREQ_N信号为逻辑0,则ARM核心会将当前指令传送到译码阶段。OPC_NPF327中信息的状态决定了哪个指令传送到译码阶段。如果OPC_N_PF327中的信息为逻辑1,则将DATA_HOLD_NF331中的指令传送到译码阶段,因为DATA_HOLD_NF331中的指令还没有通过译码阶段。如果OPC_N_PF327中的信息是逻辑1,则将ARM数据总线上的指令移入REGISTER DECODE_NF333中进行译码。如果在时钟的下降沿WAIT_N_PF321中的值为逻辑1,信号OPC_N为逻辑0,且信号MREQ_N为逻辑0,则寄存器DECODE_NF333中的内容会流向寄存器EXECUTE_NF334中进行执行。

如果第一逻辑AND元件的输入,TBIT_PF310中存储的值和EXECUTE_NP343中存储的TBIT值均为1的话,第一逻辑AND元件发送逻辑1值;如果上述输入的任一值为逻辑0值,则它就发送逻辑0值。第一逻辑AND元件340发送的逻辑值暂时保存在STOPCLK_NF345中,然后发送给协处理器时钟作为CLKSTOP信号。如果CLKSTOP为逻辑1,则协处理器时钟停止;如果CLKSTOP为逻辑0,则协处理器时钟启动。

图5是本发明一个实施例的ARM协处理器能耗降低方法500的流程图。ARM协处理器能耗降低方法500确立ARM系统是否正处于不使用ARM协处理器的活动中,并降低ARM协处理器的电能损耗。在一个实施例中,ARM协处理器能耗降低方法500检测来自于ARM核心外围的信号从而确定ARM核心是否正试图进入ARM状态操作或THUMB状态操作。如果ARM协处理器能耗降低方法500检测到ARM核心正试图进入THUMB状态操作,ARM协处理器能耗降低方法500就发送一个与关闭ARM协处理器时钟相关的时钟信号。例如,如果ARM协处理器能耗降低方法500确立在ARM流水线内的一系列指令都是THUMB状态操作,ARM协处理器能耗降低方法500会使协处理器时钟关闭。因为关闭了ARM协处理器时钟,在ARM协处理器内的寄存器就不再进行转换且消耗电能。

在步骤510中ARM协处理器能耗降低方法500确定ARM核心是否正读取一个THUMB状态指令。在一个实施例中,ARM协处理器能耗降低方法500检查ARM处理器是否正处于指令读取中。如果正在读取指令,ARM协处理器能耗降低方法500就捕获与正被读取指令有关的TBIT信号的逻辑值。例如,ARM协处理器能耗降低方法500扫描非内存请求信号(MREQ_N或nMREQ)、非操作码读取信号(OPC_N或nOPC)和非等待信号(WAIT_N或nWAIT)从而确定ARM核心是否正在读取指令。在一个例子中,逻辑0(低)的TBIT信号表示一个ARM状态指令,而逻辑1(高)的TBIT信号指示一个THUMB状态指令。在ARM协处理器能耗降低方法500确定ARM核心是否正读取THUMB状态指令之后,ARM协处理器能耗降低方法500就进入步骤520。

ARM协处理器能耗降低方法500在步骤520中继续进行正常的ARM核心和协处理过程。在一个例子中,ARM协处理器能耗降低方法500通过将一条指令从读取阶段转移到解码阶段并再将该指令送入执行阶段而继续正常的ARM核心和协处理过程。

在步骤530中,ARM协处理器能耗降低方法500追踪按ARM流水线进行处理的后续指令的状态。在一个实施例中,ARM协处理器能耗降低方法500会存储TBIT寄存器(例如,TBIT_PF210)中TBIT信号的逻辑值。在一个例子中,当一条指令从读取阶段移入流水线解码阶段时,就会存储TBIT值。

在步骤540中,ARM协处理器能耗降低方法500分析关闭协处理器时钟是否合适。在一个ARM协处理器能耗降低方法500的实施例中,如果ARM协处理器能耗降低方法500确立在ARM流水线中正处理的指令是THUMB状态指令或是和THUMB状态指令有关的数据,就认为关闭协处理器时钟是合适的。例如,如果THUMB状态指令或和THUMB状态指令有关的数据正占据ARM流水线的各个阶段,关闭协处理器时钟就是合适的。如果不适合关闭协处理器时钟,ARM协处理器能耗降低方法500转回到步骤510;如果适合关闭协处理器时钟,ARM协处理器能耗降低方法500就会前进到步骤550。

在步骤550中,ARM协处理器能耗降低方法500关闭协处理器时钟。在本发明的一个实施例中ARM协处理器能耗降低方法500发送一个信号以停止协处理器时钟。

在步骤560中,ARM协处理器能耗降低方法500检测打开协处理器时钟是否适合。在ARM协处理器能耗降低方法500的一个实施例中,如果ARM协处理器能耗降低方法500查明ARM流水线中的指令是ARM状态指令或是与ARM状态指令有关的数据,就认为打开协处理器时钟是适合的。例如,如果ARM状态指令或是与ARM状态指令有关的数据正占据着ARM流水线寄存器,就适合打开协处理器时钟。在一个实施例中,在协处理器时钟打开之后ARM协处理器能耗降低方法500继续监视与指令读取有关的TBIT信号。例如,ARM协处理器能耗降低方法500认为TBIT的逻辑0值表示相关的指令读取为ARM状态指令读取。如果后续读取是ARM状态指令,则它就适于打开协处理器时钟。如果不适合打开协处理器时钟,ARM协处理器能耗降低方法500就返回到步骤510。如果适合打开协处理器时钟,ARM协处理器能耗降低方法500就前进到步骤570。

在步骤570中,ARM协处理器能耗降低方法500打开协处理器时钟,并返回到步骤510。

如上所述,ARM协处理器能耗降低方法500在步骤540中确立ARM流水线中进行处理的指令是否为THUMB状态指令或是与THUMB状态指令有关的数据。在ARM协处理器能耗降低方法500的一个实施例中,如果一个存储的等待值(如WAIT_N_PF321)为逻辑1,且OPC_N信号和MREQ_N信号均为逻辑0,则ARM协处理器能耗降低方法500就会将与流水线执行寄存器(如EXECUTE_NF234)中指令有关的TBIT值和TBIT寄存器(如TBIT_PF210)中存储的TBIT值进行比较。如果与流水线执行寄存器(如EXECUTE_NF234)中指令有关的TBIT值和TBIT寄存器(如TBIT_PF210中存储的TBIT值都为逻辑1的话,ARM协处理器能耗降低方法500就会停止协处理器时钟。如果与流水线执行寄存器(如EXECUTE_NF234)中指令有关的TBIT值或者TBIT寄存器(如TBIT_PF210)中存储的TBIT值为逻辑0的话,ARM协处理器能耗降低方法500就不会停止协处理器时钟。

因此,本发明的系统和方法会减少ARM系统中协处理器的电能损耗。本系统和方法不会影响ARM系统的操作性能。利用本发明在THUMB状态操作期间减少协处理器寄存器的转换,而且本发明也有利于降低电源供应需求。

以上对本发明的体实施例进行了描述和阐明。它们并未穷举,或是将本发明局限于所披露的实施例,显然根据以上的讲解可能会有很多的修改和变化。实施例的选择和描述是为了最好地说明本发明的原理及其实际应用,因此能够使本领域的其他技术人员更好地利用本发明和各种变化的实施例以适应于特定的使用要求。

相关专利内容
标题 发布/更新时间 阅读量
电能表 2020-05-11 550
根据温度对电能表电能计量误差进行自动补偿的校准方法 2020-05-11 124
电能表 2020-05-12 790
电能表 2020-05-12 86
电能表箱 2020-05-13 359
电能节省 2020-05-13 903
电能表 2020-05-13 930
电能传输 2020-05-11 931
电能表箱 2020-05-12 916
电源系统的电能输出控制方法 2020-05-11 943
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈