当前位置: 首页 > 专利查询>英特尔公司专利>正文

硬件环路制造技术

技术编号:2873934 阅读:178 留言:0更新日期:2012-04-11 18:40
在一实施例中,一种可编程处理器配置为包括可支持硬件环路的预测寄存器。以此方式,系统可提高处理速度,而不用大大地增加功耗。环路的环路条件可加载于一组预测寄存器中,在环路条件写入于一组结构寄存器之前,可从预测寄存器检测这些条件。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】背景本专利技术涉及在一种可编程处理器中实施的硬件环路。在设计一种可编程处理器中,诸如一种数字信号处理(DSP)系统,两个竞争性设计目标是处理速度和功耗。通用处理器包括为了提高执行软件指令的速度所设计的多种硬件。然而,增添的硬件一般会增加处理器的功耗。一种提高可编程处理器速度的技术是“硬件环路”,它是用于加快在环路结构中软件指令执行而设计的专门硬件。通过高速缓存在局部寄存器中的指令,硬件环路可减少用于执行软件环路的时种周期数,从而减少了多次从存贮器或指令高速缓冲存贮器取出相同指令的需要。硬件环路引入几种挑战。这些挑战包括避免损失,例如,建立损失或转移损失。建立损失是与建立硬件回路有关的性能损失(一般增加是处理时间)。同样,转移损失是指与转移有关的性能损失(一般也是增加处理时间)。 附图说明图1是说明根据本专利技术实施例的一种流水线的可编程处理器的例子的方框图。图2是说明根据本专利技术实施例的可编程处理器的一个示例的执行流水线的方框图。图3是说明根据本专利技术实施例加装了预测寄存器时示例时序的流程图。图4是说明根据本专利技术实施例如何使用环路建立指令来确定预测寄存器数值的流程图。图5是说明硬件环路单元实施例的电路方框图。图6是说明根据本专利技术更新预测寄存器数值的模式的流程图。图7是说明根据本专利技术实施例更新结构寄存器数值的方法的流程图。图8是说明根据本专利技术实施例更新结构计数寄存数值的另一种方法的流程图。图9是说明根据本专利技术实施例使用预测寄存器所实现的时序优点的流程图,图10是说明根据本专利技术实施例调整预测计数值的有效方法的流程图。图11是说明根据本专利技术实施例的电路中计数器的方框图。图12是说明根据本专利技术实施例的混合型工作模式的流程图。图13是说明根据本专利技术实施例的只有在第1个n-1执行级中具有计数器的一种混合型电路的方框图。图14是说明根据本专利技术实施例的硬件环路单元的方框图。图15是说明根据本专利技术实施例的方案的流程图。图16是说明根据本专利技术实施例的方案的流程图。图17是说明根据本专利技术实施例的方案的另一个流程图。图18是说明根据本专利技术实施例另一个方案的图。图19是说明另一个方案的流程图。图20是说明根据本专利技术实施例的两个方案的流程图。图21是说明根据本专利技术实施例用于检测零偏置环路工作模式的流程图。图22是说明根据本专利技术实施例用于检测和处理单指令零偏置环路的工作模式的流程图。图23A~图23C是说明根据本专利技术实施例一些相互连接的硬件环路单元的方框图。图24是说明根据本专利技术实施例节电电路的方框图。描述图1是说明可编程处理器2的方框图,该可编程处理器可在不明显增加功耗的条件下支持有效的硬件环路。为了能支持硬件环路,处理器2可支持环路建立指令,该指令通过对环路建立进入和退出条件来初始化硬件。进入和退出条件由环路条件定义为顶部,底部和计数。顶部条件定义了环路第1指令(或顶部)。底部条件定义了环路最后指令(或底部)。以及计数条件定义了环路迭代次数。硬件环路的进入出现在第1“顶部匹配”。当程序计数器(PC)指向环路的顶部指令时,就会产生顶部匹配。硬件环路的退出出现在最后的“底部匹配”。当PC指向环路的底部指令时,就会产生底部匹配。通过对第1顶部匹配时计数的初始化和各底部匹配时的计数减量,硬件可保持在它遇到最后的底部匹配时的踪迹。以此方式,环路条件顶部,底部和计数可定义硬件环路的进入和退出条件。处理器2包括执行流水线4和控制单元6。控制单元6可以控制在一个时钟周期中通过流水线的指令和/或数据的流程。如,在指令处理周期中,控制单元6可指示流水线的各部件对指令进行解码并正确地进行相应的操作,该操作可包括,例如结果回写至存贮器。指令可加载至流水线4的第1级,并由随后的各级来处理。第1级与其他级可同时进行处理。数据在该系统的一个周期内在流水线4两级之间通过。指令的结果以快速连续的方式出现在流水线4的终端。控制器6还包括下文所描述的硬件环路单元8,该单元可在不明显增加处理器2功耗的条件下,便于硬件环路的加速。图2是说明举例流水线的方框图。流水线10具有有利于在单时钟周期内执行多指令的多级。在流水线10中,指令可在第1时钟周期内进入指令取出(IF)级12。随后,指令在后续时钟周期内继续进入流水线的下一级。在前一条指令退出后,另一条指令就会进入IF级12。这样,一般在后续时钟周期内另一条指令进入IF级12,然后,在后续在第1时钟周期内,继续进入流水线的下一级。同样,在后续的时钟周期内,其它指令可分别进入IF级12。流水线的级数定义了流水线可同时服务的指令的数量。流水线的不同级可采用以下的方式工作。在IF级12中由读取单元13读取指令,并在DEC级14内对指令寄存器15中的指令进行解码。在AC级18中,数据地址发生器19可计算用于进行操作的任何存贮器地址。在执行级(EX1-EXn)22和28中,执行单元23和29可进行指定的操作,例如,2个数相加或相乘。执行单元具有专用硬件来进行操作,包括,例如,一个或多个运算逻辑单元(ALU),浮点单元(FPU)和桶形移位器,然而,本专利技术范围不局限于这方面。多种数据都可以应用于执行单元,例如,数据地址发生器所产生的地址,从存贮器所检出的数据或从数据寄存器所检出的数据。在回写级(WB)30中,结果可写至流水线外部的存贮器位置或数据寄存器,或流水线中的数据寄存器,例如,结构寄存器32。流水线10的级可以包括一个或多个贮存数据的贮存电路,例如,触发器。如上所述,处理器2可支持环路建立指令。通过把硬件环路的边界(如,顶部和底部)写至流水线中的结构寄存器32,环路建立指令可对硬件环路初始化。环路建立指令还可对结构寄存器32中的计数器初始化,从而指出环路待完成的次数。此外,环路建立指令可定义偏置,以指出在到达环路顶部之前跟随环路建立指令的指令数量。在硬件环路初始化后,硬件环路在流水线10中工作,直至环路的退出条件得到满足(如,底部匹配与计数等于零)。一旦1条指令已提交,例如在WB级30结束时,一般加载结构寄存器32。因此,在经过从环路建立指令进入流水线10开始之后的数个时钟周期之前,贮存在结构寄存器32中的进入和退出条件是不能更新的。因为进口和退出条件在经过数个时钟周期之前是不会被更新的,对建立的硬件环路可能存在着一些制约。如,如果环路中第1指令在环路建立指令提交之前进入流水线10,是不可以将结构寄存器设置成环路的一部分来识别指令。又,随着流水线深度的增加时,此问题也会增加。在另一实例中,通过在流水线中保持一组预测寄存器34、35和36,处理器2可克服这些制约。如图2所示,预测寄存器ETOP34和EBot35驻留在解码级,同时Ecnt 36驻留在AC级。通过降低或避免环路建立时损失,采用一组预测寄存器34、35和36可提高处理器2的处理速度。如上所述,在环路建立指令进入流水线的时间和写入结构寄存器时间之间可能经过几个时钟周期。然而,在环路建立指令写至结构寄存器之前较长的时间内,加载预测寄存器。为此,采用预测寄存器可减小建立硬件环路所化的时间。预测寄存器是用于预测或推测结构寄存器数值的推测寄存器。与结构寄存器不同,系统指令集的不支持此推测寄存器。因此,不用程序码来访问推测寄存器。为此,程序编制员就不能象他使用结构寄存器那样的方本文档来自技高网...

【技术保护点】
一种方法包括:把环路的环路条件加载至一组推测寄存器,和根据环路条件执行处理器中的环路。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:RP辛格CP罗斯GA奥弗坎普
申请(专利权)人:英特尔公司模拟设备股份有限公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1