CN104391563A - 一种寄存器堆的循环缓冲电路及其方法,处理器装置 - Google Patents

一种寄存器堆的循环缓冲电路及其方法,处理器装置 Download PDF

Info

Publication number
CN104391563A
CN104391563A CN201410573530.5A CN201410573530A CN104391563A CN 104391563 A CN104391563 A CN 104391563A CN 201410573530 A CN201410573530 A CN 201410573530A CN 104391563 A CN104391563 A CN 104391563A
Authority
CN
China
Prior art keywords
state
signal
level
value
output
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.)
Granted
Application number
CN201410573530.5A
Other languages
English (en)
Other versions
CN104391563B (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.)
Institute of Acoustics CAS
Original Assignee
Institute of Acoustics CAS
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 Institute of Acoustics CAS filed Critical Institute of Acoustics CAS
Priority to CN201410573530.5A priority Critical patent/CN104391563B/zh
Publication of CN104391563A publication Critical patent/CN104391563A/zh
Application granted granted Critical
Publication of CN104391563B publication Critical patent/CN104391563B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache

Abstract

本发明公开了一种寄存器堆的循环缓冲电路及其方法,以及处理器装置,该电路包括循环程序检测模块、状态控制单元和循环缓冲模块,循环缓冲模块包括循环缓冲电路;循环程序检测模块根据程序计数器的第一值、程序计数器的第二值和/或状态控制单元的状态信息检测循环程序的开始或结束,并输出对应的检测信号;状态控制单元的状态信息包括第一状态、第二状态和第三状态,当处于第一状态、第二状态或第三状态时,对应输出各自的加载信号和工作信号,寄存器堆和循环缓冲电路根据加载信号和工作信号确定是否执行读和/或写操作;循环缓冲模块根据工作信号从寄存器堆或循环缓冲电路中读出操作数。本发明避免了对大量寄存器堆的访问,有效降低寄存器堆的功耗。

Description

一种寄存器堆的循环缓冲电路及其方法,处理器装置
技术领域
本发明涉及一种处理器技术,尤其涉及一种寄存器堆的循环缓冲电路及其方法,处理器装置。
背景技术
随着集成电路工艺的飞速发展,嵌入式处理器的性能和集成度都得到了很大的提升,但是由此带来的功耗问题也越发突出。大量的能量消耗会直接影响便携式设备中的电池使用寿命,同时会给处理器的可靠性和散热带来许多问题。在嵌入式处理器中,每个时钟周期寄存器堆通常有多个端口被同时访问,引起了较为可观的功耗开销。特别是随着多处理器系统芯片的发展,可能使寄存器堆功耗的比重进一步增加。因此,研究降低寄存器堆功耗的方法具有重要意义。
在传统的微处理器架构中,实际指令执行过程中存在不必要的读写操作,这就会导致不必要的功耗。针对这个缺点,需要对寄存器堆的读写操作进行检测,减少寄存器堆冗余读写操作次数,从而降低寄存器堆的功耗。
在现有技术中,如Deniz Balkan等人发表的文章《Predicting andExploiting Transient Values for Reduced Register File Pressure andEnergy Consumption》中提出一种针对读操作数可以从写回结果直接获得,不必执行寄存器堆的读操作的情况,如果同时该写回结果不会再被其他的指令使用到,则本次写回操作可以不必执行,从而降低寄存器堆的功耗。
又如Liem Tran等人发表的文章《Dynamically Reducing Pressureon the Physical Register File through Simple Register Sharing》中针对一部分无需执行就可以知道结果的指令,提出一种TrivialComputation的方法。例如,若执行乘法操作,并且已知其中一个操作数为零,则可以确定计算结果为零,从而避免读取这两个操作数,降低寄存器堆的功耗。
现有技术的缺点在于:
(1)Deniz Balkan提出的方法需要多个使用条件,包括写回结果不会再被其他的指令使用到;
(2)Liem Tran提出的方法只能针对少部分指令,对降低功耗作用有限。
发明内容
本发明的目的在于提供一种降低寄存器堆功耗的方法。针对占用大量执行时间的循环程序,提出循环缓冲寄存器堆的结构。该结构利用循环程序通常只使用到较少几个寄存器的特点,采用循环缓冲电路避免了大量的寄存器堆访问,从而有效降低了功耗。
为实现上述目的,一方面,本发明提供了一种寄存器堆的循环缓冲电路,包括指令译码单元、寄存器堆、循环程序检测模块、状态控制单元和循环缓冲模块,其中,循环缓冲模块包括循环缓冲电路;循环程序检测模块用于根据程序计数器的第一值、程序计数器的第二值和/或状态控制单元的状态信息检测循环程序的开始或结束,并输出对应的检测信号;状态控制单元的状态信息包括第一状态、第二状态和第三状态,当处于第一状态、第二状态或第三状态时,对应输出各自的加载信号和工作信号,寄存器堆和循环缓冲电路根据加载信号和所述工作信号确定是否执行读和/或写操作;循环缓冲模块用于根据工作信号从寄存器堆或循环缓冲电路中读出操作数作为最终输出的操作数。
优选地,循环程序检测模块包括第一比较单元、第一逻辑与单元、第一寄存器和第二比较单元,其中,第一比较单元用于比较程序计数器的第一值和程序计数器的第二值,当程序计数器的第一值大于程序计算器的第二值时,判断循环程序开始,第一比较单元输出信号为第一电平,否则输出信号为第二电平;第一逻辑与单元用于给第一寄存器提供写使能信号,当第一比较单元输出信号为第一电平时,且状态控制单元处在第一状态时,第一逻辑与单元输出信号为第一电平,否则输出信号为第二电平;第一寄存器用于在第一逻辑与单元输出信号为第一电平时,存储当前时钟周期的程序计数器第一值;第二比较单元用于比较程序计数器的第二值与第一寄存器的值,当程序计数器的第二值大于第一寄存器的值,判断循环程序结束,第二比较单元输出信号为第一电平,否则输出信号为第二电平。
优选地,状态控制单元具体用于,当处在第一状态时,输出的加载信号为第二电平,输出的工作信号为第二电平;此时,寄存器堆执行读写操作,循环缓冲电路停止工作;当处在第二状态时,输出的加载信号为第一电平,输出的工作信号为第二电平;此时,寄存器堆执行读写操作,循环缓冲电路执行写操作,完成循环加载;当处在第三状态时,输出的加载信号为第二电平,输出的工作信号为第一电平;此时,寄存器堆执行写操作,循环缓冲电路执行读写操作。
优选地,循环缓冲模块还包括第三比较单元、第一逻辑或单元、第二逻辑与单元、第一多路选通单元;第三比较单元用于比较循环缓冲电路的地址寄存器值和由执行级写回的写地址的值,当比较结果相等时,输出信号为第一电平,否则输出信号为第二电平;第一逻辑或单元用于对加载信号和工作信号做逻辑或操作;第二逻辑与单元用于对第一逻辑或单元输出信号和第三比较单元输出信号做逻辑与操作;第一多路选通单元根据工作信号选择最终输出的操作数,当工作信号为第一电平时,将从循环缓冲电路中读出操作数;当工作信号为第二电平时,将从寄存器堆中读出操作。
优选地,第一状态为空闲状态、第二状态为加载状态,第三状态为工作状态。
优选地,第一电平为高电平,第二电平为低电平。
优选地,循环缓冲电路包括数据寄存器和地址寄存器。
另一方面,本发明提供了一种寄存器堆的循环缓冲方法,该方法包括以下步骤:根据程序计数器的第一值、程序计数器的第二值和/或状态控制单元的状态信息检测循环程序的开始或结束,并输出对应的检测信号;状态控制单元的状态信息包括第一状态、第二状态和第三状态,当处于第一状态、第二状态或第三状态时,对应输出各自的加载信号和工作信号,寄存器堆和循环缓冲电路根据加载信号和工作信号确定是否执行读和/写操作;根据工作信号从寄存器堆或循环缓冲电路中读出操作数作为最终输出的操作数。
又一方面,本发明提供了一种处理装置,该处理装置包含寄存器堆的循环缓冲电路。
本发明利用循环程序通常只使用到较少几个寄存器的特点,采用循环缓冲电路避免了对大量寄存器堆的访问,有效降低寄存器堆的功耗。
附图说明
图1为本发明实施例中使用寄存器堆的累积分布示意图;
图2为本发明实施例提供的一种寄存器堆的循环缓冲电路结构示意图。
具体实施方式
通过以下结合附图以举例方式对本发明的实施方式进行详细描述后,本发明的其他特征、特点和优点将会更加明显。
在嵌入式应用程序中,其核心主要是循环程序,通常不到10%的循环程序占用了90%以上的执行时间。同时在循环程序执行过程中一般只使用到寄存器堆中的较少几个寄存器,本发明实施例中使用寄存器堆的累积分布如图1所示,以neg程序为例,由于其循环程序只使用到寄存器堆中的3个寄存器,所以这3个寄存器的累积分布超过90%。
因此,如果在嵌入式处理器的读操作数级中加入一个较小的循环缓冲电路,当应用程序执行到循环程序时,可以从循环缓冲电路中读取所需要的操作数,避免了大量的寄存器堆访问,从而有效降低功耗。
图2为本发明实施例提供的一种寄存器堆的循环缓冲电路结构示意图。如图2所示,该电路包括循环程序检测模块10,状态控制单元20和循环缓冲模块30、指令译码单元40和寄存器堆50。
循环程序检测模块10包括第一比较单元、第一逻辑与单元、第一寄存器和第二比较单元。其中,第一比较单元用于比较程序计数器第一值(如read的值)和程序计数器的第二值(如dc的值),当程序计数器read的值大于程序计数器dc的值时,判断循环程序开始,输出信号为第一电平(第一电平为高电平),否则输出信号为第二电平(第二电平为低电平)。第一逻辑与单元用于给第一寄存器提供写使能信号,当第一比较单元输出信号为高电平并且状态控制单元处在空闲状态时,输出信号为高电平,否则输出信号为低电平。第一寄存器用于保存循环程序尾地址,当第一逻辑与单元输出信号为高电平时,即第一寄存器写使能信号有效时,则将当前时钟周期的程序计数器read的值保存到第一寄存器中。第二比较单元用于比较程序计数器dc的值和第一寄存器的值,当程序计数器dc的值大于第一寄存器的值,判断循环程序结束,输出信号为高电平,否则输出信号为低电平。
状态控制单元20的状态信息包括第一状态(第一状态为空闲状态)、第二状态(第二状态为加载状态)和第三状态(第三状态为工作状态):
当状态控制单元20处在空闲状态时,输出的加载信号为低电平,输出的工作信号为低电平。指令译码单元40输出信号读使能rf为高电平,写使能rf为高电平,读使能lb为低电平,加载使能lb为低电平。此时,寄存器堆50执行读写操作,循环缓冲电路31不工作。当状态控制单元20检测到第一比较单元输出信号为高电平时,将转换到加载状态。
当状态控制单元20处在加载状态时,输出加载信号为高电平,输出工作信号为低电平。指令译码单元40输出信号读使能rf为高电平,写使能rf为高电平,读使能lb为低电平,加载使能lb为高电平。此时,寄存器堆50执行读写操作,循环缓冲电路31只执行写操作,完成循环加载。当状态控制单元20检测到第一比较单元输出信号为高电平时,将转换到工作状态。
当状态控制单元20处在工作状态时,输出加载信号为低电平,输出工作信号为高电平。指令译码单元40输出信号读使能rf为低电平,写使能rf为高电平,读使能lb为高电平,加载使能lb为低电平。此时,循环缓冲电路31执行读写操作,寄存器堆50只执行写操作,避免寄存器堆的读操作,从而降低功耗。当状态控制单元20检测到第二比较单元输出信号为高电平时,将转换到空闲状态。
寄存器堆50始终执行写操作是为了保证存储一致性,当程序遇到中断或异常时,寄存器堆50中保存的操作数可以保证程序正确执行。
循环缓冲模块30包括第三比较单元、第一逻辑或单元、第二逻辑与单元、循环缓冲电路31和第一多路选通单元。其中,第三比较单元用于比较循环缓冲电路31的地址寄存器的值和由执行级写回的写地址的值,当比较结果相等时,输出信号为高电平,否则输出信号为低电平;第一逻辑或单元用于对状态控制单元20输出的加载信号和工作信号做逻辑或操作;第二逻辑与单元用于对第一逻辑或单元输出信号和第三比较单元输出信号做逻辑与操作;循环缓冲电路用于保存循环程序所需要的操作数和相应的地址,包括数据寄存器和地址寄存器;当读使能lb为高电平时,循环缓冲电路31根据读地址的值读出所需要的操作数lb,当读使能lb为低电平时,循环缓冲电路31不执行读操作;将加载使能lb、读地址和操作数rf分别赋给reg2buf写使能lb、reg2buf写地址lb和reg2buf写数据lb,当reg2buf写使能lb为高电平时,循环缓冲电路将reg2buf写地址lb的值和reg2buf写数据lb的值分别保存到循环缓冲电路的地址寄存器和数据寄存器中,当reg2buf写使能lb为低电平时,循环缓冲电路31不保存reg2buf写地址lb的值和reg2buf写数据lb的值;将第二逻辑与单元输出信号、执行级写回的写地址和执行级写回的写数据分别赋给write2buf写使能lb、write2buf写地址lb和write2buf写数据lb,当write2buf写使能lb为高电平时,循环缓冲电路将write2buf写数据lb的值保存到相应的数据寄存器中,当write2buf写使能lb为低电平时,循环缓冲电路31不保存write2buf写数据lb的值;第一多路选通单元根据状态控制单元20输出的工作信号选择最终输出的操作数,即当工作信号为高电平时,将从循环缓冲电路31中读出的操作数lb作为最终输出的操作数,当工作信号为低电平时,将从寄存器堆50中读出的操作数rf作为最终输出的操作数。
下面通过一个具体实施例进一步描述本发明提出的一种寄存器堆的循环缓冲方法。
本发明实施例涉及的汇编代码如表1所示。在表1中,左边是程序计数器的值,右边是汇编代码,其功能是对从0到99的数字累加求和。其中第1条指令和第2条指令分别对求和结果sum和变量i赋初值0,第3条指令将循环次数100赋给寄存器d3。第4条指令到第7条指令组成一个循环程序。其中第4条是分支指令,当d1和d3的值相等时,程序跳出循环体,否则循环程序继续执行。第5条指令完成数字累加求和。第6条指令每执行一次,d1的值递增1。第7条指令跳转到循环开始地址,开始下一次循环。
表1汇编代码
本发明实施例中的寄存器堆由32个32比特寄存器组成,循环缓冲电路包括3个32比特数据寄存器和3个5比特地址寄存器。程序计数器dc的值比程序计数器read的值快一个时钟周期,例如当程序计数器dc的值等于0000 0002时,程序计数器read的值等于0000 0001。
当程序顺序执行时,程序计数器dc的值大于程序计数器read的值,第一比较单元的输出信号为低电平。状态控制单元20处在空闲状态,输出加载信号为低电平,输出工作信号为低电平。指令译码单元40输出信号读使能rf为高电平,写使能rf为高电平,读使能lb为低电平,加载使能lb为低电平。此时,寄存器堆50执行读写操作,循环缓冲电路31不工作。第一多路选通单元将从寄存器堆50中读出的操作数rf作为最终输出的操作数。
当程序第一次检测到后向跳转(即从第7条指令跳到第4条指令),程序计数器dc的值等于0000 0004,程序计数器read的值等于0000 0007,程序计数器read的值大于程序计数器dc的值,循环程序检测模块10判断循环程序开始。第一比较单元输出高电平,状态控制单元20处在空闲状态,第一逻辑与单元输出高电平,第一寄存器保存当前时钟周期的程序计数器read的值(0000 0007)。状态控制单元20将转换到加载状态,输出加载信号为高电平,输出工作信号为低电平。指令译码单元40输出信号读使能rf为高电平,写使能rf为高电平,读使能lb为低电平,加载使能lb为高电平。此时,reg2buf写使能lb为高电平,循环缓冲电路31将reg2buf写地址lb的值和reg2buf写数据lb的值分别保存到循环缓冲电路31的地址寄存器和数据寄存器中,完成循环加载。当程序执行第4条指令时,将d1(5’b00001)和d1的值(1)、d3(5’b00011)和d3的值(100)保存到循环缓冲电路31的地址寄存器和数据寄存器中。当程序执行第5条指令时,将d2(5’b00010)和d2的值(0)保存到循环缓冲电路的地址寄存器和数据寄存器中,当这条指令从执行级返回时,其写地址为d2(5’b00010),等于循环缓冲电路中地址寄存器的d2(5’b00010),第三比较单元输出信号为高电平,且加载信号为高电平,第一逻辑或单元输出信号为高电平,第二逻辑与单元输出信号为高电平,因此write2buf写使能lb为高电平,循环缓冲电路将write2buf写数据lb的值保存到d2(5’b00010)对应的数据寄存器中,即将d2的值(1)保存到循环缓冲电路31相应的数据寄存器中。当程序执行第6条指令时,将d1(5’b00001)和d1的值(1)保存到循环缓冲电路的地址寄存器和数据寄存器中,当这条指令从执行级返回时,将d1的值(2)保存到循环缓冲电路相应的数据寄存器中。第一多路选通单元将从寄存器堆中读出的操作数rf作为最终输出的操作数。
当程序第二次检测到后向跳转,第一比较单元输出高电平。状态控制单元20将转换到工作状态,输出加载信号为低电平,输出工作信号为高电平。指令译码单元40输出信号读使能rf为低电平,写使能rf为高电平,读使能lb为高电平,加载使能lb为低电平。循环缓冲电路31根据读地址,读取相应的操作数。当程序执行第4条指令时,读取循环缓冲电路31中d1(5’b00001)的值(2)和d3(5’b00011)的值(100)。当程序执行第5条指令时,读取循环缓冲电路中d2(5’b00010)的值(1)和d1(5’b00001)的值(2),当这条指令从执行级返回时,其写地址为d2(5’b00010),等于循环缓冲电路31中地址寄存器的d2(5’b00010),第三比较单元输出信号为高电平,且工作信号为高电平,第一逻辑或单元输出信号为高电平,第二逻辑与单元输出信号为高电平,因此write2buf写使能lb为高电平,循环缓冲电路31将write2buf写数据lb的值保存到d2(5’b00010)对应的数据寄存器中,即将d2的值(3)保存到循环缓冲电路31相应的数据寄存器中。当程序执行第6条指令时,读取循环缓冲电路中d1(5’b00010)的值(2),当这条指令从执行级返回时,将d1的值(3)保存到循环缓冲电路31相应的数据寄存器中。第一多路选通单元将从循环缓冲电路31中读出的操作数lb作为最终输出的操作数。
当d1等于100,程序执行到第4条指令时,d1的值等于d3的值,程序跳转到第8条指令,程序计数器dc等于0000 0008,大于第一寄存器的值(0000 0007),第二比较单元输出高电平,循环程序检测模块10判断循环结束。状态控制单元20将转换到空闲状态。
若循环程序执行100次,根据本发明提出的改进方法,除前2次循环程序需要从寄存器堆中读取操作数,从第3次执行循环程序到循环程序结束,所需要的操作数都可以由功耗较低的循环缓冲电路提供,从而有效降低了寄存器堆的功耗。
本发明实施例通过采用循环缓冲电路避免了对大量寄存器堆的访问,有效降低寄存器堆的功耗。
显而易见,在不偏离本发明的真实精神和范围的前提下,在此描述的本发明可以有许多变化。因此,所有对于本领域技术人员来说显而易见的改变,都应包括在本权利要求书所涵盖的范围之内。本发明所要求保护的范围仅由所述的权利要求书进行限定。

Claims (10)

1.一种寄存器堆的循环缓冲电路,包括指令译码单元(40)和寄存器堆(50),其特征在于,还包括:循环程序检测模块(10)、状态控制单元(20)和循环缓冲模块(30),所述循环缓冲模块(30)包括循环缓冲电路(31);
所述循环程序检测模块(10),用于根据程序计数器的第一值、程序计数器的第二值和/或所述状态控制单元(20)的状态信息检测循环程序的开始或结束,并输出对应的检测信号;
所述状态控制单元(20)的状态信息包括第一状态、第二状态和第三状态,当处于所述第一状态、第二状态或第三状态时,对应输出各自的加载信号和工作信号,所述寄存器堆(50)和所述循环缓冲电路(31)根据所述加载信号和所述工作信号确定是否执行读和/或写操作;
所述循环缓冲模块(30),用于根据所述工作信号从所述寄存器堆(50)或所述循环缓冲电路(31)中读出操作数作为最终输出的操作数。
2.根据权利要求1所述的电路,其特征在于,所述循环程序检测模块(10)包括第一比较单元、第一逻辑与单元、第一寄存器和第二比较单元,其中,
所述第一比较单元,用于比较程序计数器的第一值和程序计数器的第二值,当所述程序计数器的第一值大于所述程序计算器的第二值时,判断循环程序开始,所述第一比较单元输出信号为第一电平,否则输出信号为第二电平;
所述第一逻辑与单元,用于给所述第一寄存器提供写使能信号,当所述第一比较单元输出的信号为第一电平时,且所述状态控制单元处在第一状态时,所述第一逻辑与单元输出信号为第一电平,否则输出信号为第二电平;
所述第一寄存器,用于在所述第一逻辑与单元输出信号为第一电平时,存储当前时钟周期的程序计数器第一值;
所述第二比较单元,用于比较程序计数器的第二值与所述第一寄存器的值,当所述程序计数器的第二值大于所述第一寄存器的值,判断所述循环程序结束,所述第二比较单元输出信号为第一电平,否则输出信号为第二电平。
3.根据权利要求1所述的电路,其特征在于,所述状态控制单元(20)具体用于,
当处在第一状态时,输出的加载信号为第二电平,输出的工作信号为第二电平;此时,所述寄存器堆(50)执行读写操作,所述循环缓冲电路(31)停止工作;
当处在第二状态时,输出的加载信号为第一电平,输出的工作信号为第二电平;此时,所述寄存器堆(50)执行读写操作,所述循环缓冲电路(31)执行写操作,完成循环加载;
当处在第三状态时,输出的加载信号为第二电平,输出的工作信号为第一电平;此时,所述寄存器堆(50)执行写操作,所述循环缓冲电路(31)执行读写操作。
4.根据权利要求1所述电路,其特征在于,所述循环缓冲模块(30)还包括第三比较单元、第一逻辑或单元、第二逻辑与单元、第一多路选通单元;
所述第三比较单元用于比较所述循环缓冲电路(31)的地址寄存器值和由执行级写回的写地址的值,当比较结果相等时,输出信号为第一电平,否则输出信号为第二电平;
所述第一逻辑或单元,用于对所述加载信号和所述工作信号做逻辑或操作;
所述第二逻辑与单元,用于对所述第一逻辑或单元输出信号和所述第三比较单元输出信号做逻辑与操作;
所述第一多路选通单元根据所述工作信号选择最终输出的操作数,当所述工作信号为第一电平时,将从所述循环缓冲电路(31)中读出操作数作为最终输出的操作数;当所述工作信号为第二电平时,将从所述寄存器堆(50)中读出操作作为最终输出的操作数。
5.根据权利要求1或3所述的电路,其特征在于,所述第一状态为空闲状态、所述第二状态为加载状态,所述第三状态为工作状态。
6.根据权利要求2至4中任一权利要求所述的电路,其特征在于,所述第一电平为高电平,所述第二电平为低电平。
7.根据权利要求1所述的电路,其特征在于,所述循环缓冲电路(31)包括数据寄存器和地址寄存器。
8.一种寄存器堆的循环缓冲方法,其特征在于:
根据程序计数器的第一值、程序计数器的第二值和/或状态控制单元的状态信息检测循环程序的开始或结束,并输出对应的检测信号;
所述状态控制单元的状态信息包括第一状态、第二状态和第三状态,当处于所述第一状态、第二状态或第三状态时,对应输出各自的加载信号和工作信号,寄存器堆和循环缓冲电路根据所述加载信号和所述工作信号确定是否执行操作;
根据所述工作信号从寄存器堆或所述循环缓冲电路中读出操作数作为最终输出的操作数作为最终输出的操作数。
9.根据权利要求8所述的电路,其特征在于,所述第一状态为空闲状态、所述第二状态为加载状态,所述第三状态为工作状态;
当处在空闲状态时,输出的加载信号为第二电平,输出的工作信号为第二电平;此时,所述寄存器堆执行读写操作,所述循环缓冲电路停止工作;
当处在加载状态时,输出的加载信号为第一电平,输出的工作信号为第二电平;此时,所述寄存器堆执行读写操作,所述循环缓冲电路执行写操作,完成循环加载;
当处在工作状态时,输出的加载信号为第二电平,输出的工作信号为第一电平;此时,所述寄存器堆执行写操作,所述循环缓冲电路执行读写操作;
所述第一电平为高电平,所述第二电平为低电平。
10.一种处理装置,包含如权利要求1所述的电路。
CN201410573530.5A 2014-10-23 2014-10-23 一种寄存器堆的循环缓冲电路及其方法,处理器装置 Active CN104391563B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410573530.5A CN104391563B (zh) 2014-10-23 2014-10-23 一种寄存器堆的循环缓冲电路及其方法,处理器装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410573530.5A CN104391563B (zh) 2014-10-23 2014-10-23 一种寄存器堆的循环缓冲电路及其方法,处理器装置

Publications (2)

Publication Number Publication Date
CN104391563A true CN104391563A (zh) 2015-03-04
CN104391563B CN104391563B (zh) 2017-05-31

Family

ID=52609477

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410573530.5A Active CN104391563B (zh) 2014-10-23 2014-10-23 一种寄存器堆的循环缓冲电路及其方法,处理器装置

Country Status (1)

Country Link
CN (1) CN104391563B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108399281A (zh) * 2018-01-31 2018-08-14 西安邮电大学 双缓冲数据驱动邻接互连接口电路
WO2021057668A1 (zh) * 2019-09-23 2021-04-01 明格(上海)信息技术有限公司 超声波发射控制方法、收发控制方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579493A (en) * 1993-12-13 1996-11-26 Hitachi, Ltd. System with loop buffer and repeat control circuit having stack for storing control information
US20090217017A1 (en) * 2008-02-26 2009-08-27 International Business Machines Corporation Method, system and computer program product for minimizing branch prediction latency
CN103119537A (zh) * 2010-09-24 2013-05-22 英特尔公司 用于通过使指令拾取单元掉电来降低处理器中的功耗的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579493A (en) * 1993-12-13 1996-11-26 Hitachi, Ltd. System with loop buffer and repeat control circuit having stack for storing control information
US20090217017A1 (en) * 2008-02-26 2009-08-27 International Business Machines Corporation Method, system and computer program product for minimizing branch prediction latency
CN103119537A (zh) * 2010-09-24 2013-05-22 英特尔公司 用于通过使指令拾取单元掉电来降低处理器中的功耗的方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108399281A (zh) * 2018-01-31 2018-08-14 西安邮电大学 双缓冲数据驱动邻接互连接口电路
CN108399281B (zh) * 2018-01-31 2023-05-12 西安邮电大学 双缓冲数据驱动邻接互连接口电路
WO2021057668A1 (zh) * 2019-09-23 2021-04-01 明格(上海)信息技术有限公司 超声波发射控制方法、收发控制方法和装置

Also Published As

Publication number Publication date
CN104391563B (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN101694613B (zh) 不对准存储器存取预测
US10216693B2 (en) Computer with hybrid Von-Neumann/dataflow execution architecture
KR101496009B1 (ko) 루프 버퍼 패킹
EP1550032B1 (en) Method and apparatus for thread-based memory access in a multithreaded processor
US8739165B2 (en) Shared resource based thread scheduling with affinity and/or selectable criteria
KR101540633B1 (ko) 하이브리드 명령 큐를 갖는 프로세서
CN109918130A (zh) 一种具有快速数据旁路结构的四级流水线risc-v处理器
US20140189328A1 (en) Power reduction by using on-demand reservation station size
US9201658B2 (en) Branch predictor for wide issue, arbitrarily aligned fetch that can cross cache line boundaries
US9195285B2 (en) Techniques for platform duty cycling
US20120204008A1 (en) Processor with a Hybrid Instruction Queue with Instruction Elaboration Between Sections
US9052910B2 (en) Efficiency of short loop instruction fetch
KR20130141394A (ko) 루프 버퍼 학습
US20150177821A1 (en) Multiple Execution Unit Processor Core
CN103218205B (zh) 一种循环缓冲装置以及循环缓冲方法
US20140129807A1 (en) Approach for efficient arithmetic operations
US10203959B1 (en) Subroutine power optimiztion
CN104391563A (zh) 一种寄存器堆的循环缓冲电路及其方法,处理器装置
US8555097B2 (en) Reconfigurable processor with pointers to configuration information and entry in NOP register at respective cycle to deactivate configuration memory for reduced power consumption
WO2014006451A1 (en) Data path configuration component, signal processing device and method therefor
CN104423927A (zh) 指令处理方法及装置、处理器
US8195919B1 (en) Handling multi-cycle integer operations for a multi-threaded processor
CN105183697A (zh) 嵌入式rsic-dsp处理器系统及构建方法
CN102789428B (zh) 一种指令高速缓冲存储器装置及其控制方法
CN111913746A (zh) 一种低开销嵌入式处理器设计方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant