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

节省资源的硬件环路制造技术

技术编号:2873300 阅读:166 留言:0更新日期:2012-04-11 18:40
在一实施例中,可编程处理器自适应为支持硬件环路。处理器可包括诸如第一组寄存器、第二组寄存器、第一流水线和第二流水线之类的硬件。而且,处理器可包括实现硬件环路时自适应为有效实现硬件的控制单元。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】
背景在设计可编程处理器(诸如数字信号处理器(DSP)系统)时,两竞争设计目标是处理速度和功耗。常见处理器包括设计为提高软件指令的执行速度的各种硬件。然而,附加硬件通常增加处理器的功耗。提高可编程处理器的速度的一种技术是“硬件环路”,硬件环路可以是设计成加速环路结构内软件指令的执行的专用硬件。硬件环路可通过把指令高速缓存在本地寄存器中来减少用来执行软件环路的时钟周期,从而降低多次从存储设备或指令高速缓存取同一指令的需要。附图简述附图说明图1是说明根据本专利技术的一实施例自适应的可编程处理器的例子的框图。图2是说明根据本专利技术的一实施例的流水线的框图。图3是说明根据本专利技术的一实施例装入早期寄存器的示例过程的流程图。图4是说明根据本专利技术的一实施例的一或更多流水线的有效使用的框图。图5是说明根据本专利技术的一实施例用环路建立指令来确定早期寄存器值的例子的流程图。图6是说明硬件环路单元的一实施例的电路框图。图7是说明根据本专利技术的一实施例的硬件的再使用的流程图。专利技术详述图1是说明根据本专利技术实施例的设置成支持有效硬件环路的可编程处理器2的框图。处理器2可包括向流水线4发送控制信号的控制单元6。控制单元6可包括促进快速硬件环路8而不大大增加处理器2的功耗。为支持硬件环路,处理器2可通过设定环路的进入和退出条件支持启动硬件(诸如硬件环路单元7)的环路建立指令。进入和退出条件可由环路条件(顶、底和计数)定义。顶条件可定义环路的第一指令(顶)。底条件可定义环路的最后指令(底)。而计数条件可定义环路的许多迭代。硬件环路的进入可出现于第一“顶匹配”。当程序计数器(PC)指向环路的顶指令时,出现顶匹配。硬件环路的退出可出现于最后“底匹配”。当程序计数器(PC)指向环路的底指令时,出现底匹配。通过在第一顶匹配启动计数并在每个底匹配减少计数,硬件可跟踪何时遭遇最后底匹配。这样,环路条件顶、底和计数可定义硬件环路的进入和退出条件。处理器2可包括一或更多流水线4及一控制单元6。作为示例,流水线4可包括一或更多系统流水线、一或更多数据地址生成流水线、一或更多执行单元流水线及为特定实现所需的一或更多附加流水线。控制单元6可控制在时钟周期期间指令和/或数据经流水线4的流动。例如,在指令处理期间,控制单元6可指导流水线的各种组件对指令解码并正确执行相应的操作包括,例如,将结果写回存储器。指令可装入一或更多流水线4的第一阶段并通过后续阶段处理。一阶段可与其他阶段并行处理。数据在系统的周期期间经过流水线4的阶段间。指令的结果快速承接地出现于流水线4的端点。图2是说明根据本专利技术一实施例的一示例流水线的框图。流水线10有促进在单个时钟周期期间的多指令执行的多阶段。在流水线10中,指令在第一时钟周期期间进入取指令(IF)阶段12。指令在后续时钟周期期间沿流水线继续。通常,另一指令在后续时钟周期期间进入IF阶段12,然后在后续时钟周期期间沿流水线继续。类似地,附加指令分别在后续时钟周期期间进入IF阶段12。流水线中的阶段数可定义流水线同时服务的指令数。流水线的不同阶段可如下工作。指令在IF阶段期间由取单元13取并在DEC阶段14期间从指令寄存器15解码。在AC阶段18期间,一或更多数据地址生成器19计算用来执行操作的存储器地址。数据地址生成器19含有一或更多算术逻辑单元(ALU)以促进计算。在执行阶段(EX 1至EX n)22A至22N期间,执行单元23和29执行特定操作,诸如添加或倍增两数目。执行单元可含有特殊的硬件包括,例如,一或更多ALU浮点单元(FPU)和桶形移位器,来执行这些操作,尽管本专利技术的范围不限于该方面。多种数据应用于执行单元,诸如数据地址生成器生成的地址、从存储器检索的数据或从数据寄存器检索的数据。在写回阶段(WB)30期间,结果写入存储器位置或流水线外部的数据寄存器或诸如体系结构寄存器32之类的流水线中的数据寄存器。流水线10的阶段包括一或更多存储电路(诸如触发器)用来存储数据。如上所述,处理器2支持环路建立指令。环路建立指令通过将硬件环路的边界(例如,顶和底)写入体系结构寄存器32启动硬件环路。环路建立指令也可启动体系结构寄存器32中的计数,显示将要完成的环路的次数。另外,环路建立指令定义偏置,显示在到达环路的顶之前而在环路建立指令之后的指令的数目。启动硬件环路后,硬件环路在流水线10中工作直到环路的退出条件得到满足(例如,计数为0的底匹配)。一旦指令确认(例如,当环路建立指令退出WB阶段30时),通常装入体系结构寄存器32。因此,直到从环路建立指令进入流水线10时已有数个时钟周期经过才对体系结构寄存器32中存储的进入和退出条件加以更新。因为直到已有数个时钟周期经过才对进入和退出条件加以更新,存在建立硬件环路的延迟。例如,如果在环路建立指令确认之前环路中的第一指令进入流水线10,不建立体系结构寄存器来把指令标识为环路的一部分。而且,这随流水线深度的上升而上升。在一实施例中,处理器2通过维持一组早期寄存器34在流水线中来处理这些问题。如图2所示,早期寄存器ETop 34A和EBot 34B驻留于解码阶段而Ecnt 34C驻留于AC阶段。实现一组早期寄存器34通过降低或避免环路建立罚(panalty)提高处理器2的处理速度。如上所述,在环路建立指令进入流水线时及写体系结构寄存器时之间经过数个时钟周期。不过,早在环路建立指令写至体系结构寄存器之前装入早期寄存器。由此,实现早期寄存器降低建立硬件环路所花时间。早期寄存器是用来预测或推测体系结构寄存器值的推测寄存器。与体系结构寄存器不同,推测寄存器不得到系统指令集的支持。因此,不用程序码接入推测寄存器。由此,程序员不能用对体系结构寄存器一样的方法将数据移入或移出推测寄存器。有数种不同的方法装入早期寄存器。例如,早期寄存器只作为执行向体系结构寄存器的正常指令寄存器移动的结果而装入。换言之,系统指导体系结构寄存器装入一些其他寄存器的内容,并作为结果,更新早期寄存器。另一装入寄存器的方法是从存储器装入。换言之,系统从存储器取数据,用该数据装入体系结构寄存器,并更新早期寄存器。然而,从存储器的正常寄存器移动或装入存在的问题在于,带来环路建立罚。出现罚是因为系统拖延流水线至有数据可写。为避免罚,在写体系结构寄存器之前用环路建立指令装入早期寄存器。下例说明用来调用示例环路建立机器指令的语法LSETUP(PC Relative Top,PC Relative Bottom)Counter=XPC Relative Top规定当前指令至环路顶的距离(Start Offset)。PC RelativeBottom规定当前指令至环路底的距离(End Offset)。另外,计数器变量规定计数器寄存器和显示环路中迭代的数目的环路计数。图3是说明根据本专利技术的一实施例装入早期寄存器的定时的流程图。如所述,环路建立指令含有计数值、顶值和底值形式的环路条件。这三值共同定义硬件环路的进入和退出条件。计数值表示环路制造的迭代数目。一旦环路建立指令进入AC(38),计数值写入ECnt寄存器(39)。起初写至Ecnt寄存器经从数据寄存器的寄存器移动进行。在一工作模式中,用数据地址生成(DAG)流水线的指针寄存器(PREGS)中含本文档来自技高网...

【技术保护点】
一种方法,其特征在于,包括: 经流水线处理器的第一流水线传播硬件环路的第一环路条件;及 经流水线处理器的第二流水线传播第二环路条件。

【技术特征摘要】
...

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

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

1
相关领域技术
  • 暂无相关专利