用于计算预测值的集成电路装置和方法制造方法及图纸

技术编号:9202666 阅读:118 留言:0更新日期:2013-09-26 06:30
一种集成电路装置(105)包括被设置为执行分支预测的至少一个指令处理模块(100)。该至少一个指令处理模块(100)包括至少一个预测计算模块(150),该至少一个预测计算模块(150)被设置为接收用于预测函数的至少一个结果向量(220)以及因此至少一个条件参数值(230)作为输入,并且至少部分地基于至少一个接收的条件参数值(230)从所述至少一个结果向量(220)输出预测结果值(240)。

【技术实现步骤摘要】
【国外来华专利技术】用于计算预测值的集成电路装置和方法描述
本专利技术涉及一种计算预测值的集成电路装置和方法。
技术介绍
在计算机体系结构设计领域中,已知的是,使用分支预测以减轻通常与软件代码的条件分支、特别是使代码部分变短的分支相关联的处理成本。通过允许每个指令有条件地执行操作或什么都不做来实现分支预测。通过分支预测,每个指令与预测相关联并且只有在预测是“真”的情况下被执行。以这种方式,在流水线内可以密切注视所有可能的分支路径,其中基于预测值,“正确的”路径被“保持”(执行)并且所有其它路径被丢弃。预测的主要目的是为了避免跃过小部分程序代码,从而增加了流水线执行的有效性并且避免了高速缓存的问题。此外,可以使用预测的指令更快地计算使用简单的算术和位操作以传统方式计算的函数。此外,具有不同预测的预测指令可以与无条件代码结合,从而允许更好的指令调度,并且由此允许更好的性能。而且,预测能够消除不必要的分支指令,从而通过减少分支预测机制的负载使得例如那些组成环路的不必要的分支的执行更快进行。预测还被用于控制指令的条件执行,并且同样地,要求计算其各自的条件以便预测值被设置。复杂条件要求计算复杂布尔函数。通常,这种计算是在几个周期内进行的。例如,执行这种复杂计算可以包括将预测寄存器移动到通用寄存器以及在将结果移回到预测寄存器之前使用CPU(中央处理单元)的执行单元来执行计算。或者,CPU可以提供可以对预测寄存器的内容直接执行的预定的布尔运算集。应用在其需求方面越来越要求例如CPU等等的处理装置的效率,以执行应用程序代码。因此,越来越需要CPU等等最小化执行指令所需要的周期数量,包括在分支预测的情况下最小化执行条件计算所需要的周期数量和/或使用的预测的数量,这可以加速控制代码性能。
技术实现思路
如所附权利要求中所描述的,本专利技术提供了一种计算预测值的集成电路装置和方法。本专利技术的具体实施例在所附权利要求中被陈述。根据下文中描述的实施例,本专利技术的这些或其它方面将会很明显并且被阐述。附图说明根据附图,仅仅通过举例的方式,本专利技术的进一步细节、方面和实施例将被描述。在附图中,类似的附图标记被用于表示相同的或功能相似的元素。为了简便以及清晰,附图中的元素不一定按比例绘制。图1图示了指令处理模块的一部分的例子的简化方框图。图2图示了预测计算模块的简化例子。图3图示了布尔函数、真值表和结果向量之间的关系。图4和图5图示了一种计算预测值的方法的例子的简化流程图。具体实施方式现在将参考例如中央处理单元(CPU)体系结构之类的指令处理体系结构的例子,来描述本专利技术的例子。然而,在其它例子中,本专利技术可以不限于参考附图在本文所描述的特定指令处理体系结构,并且可以同样地应用于替换的体系结构。对于所图示的例子,提供了包含独立的数据和地址寄存器的指令处理体系结构。然而,在一些例子中,不需要提供独立的地址寄存器,因为数据寄存器可以用于提供地址存储。此外,对于所图示的例子,指令处理体系结构被示出为包括四个数据执行单元。本专利技术的某些例子可以同样地在包括任何数量的、不一定是4个的数据执行单元的指令处理体系结构内被实施。此外,因为本专利技术所图示的示例实施例大部分通过使用本领域所属技术人员已知的电子组件和电路来实施,所以不会以认为比下面说明的有必要的任何更大程度地来解释细节,以便理解和了解本专利技术的基本概念并且为了不混淆或偏离本专利技术所教之内容。首先参照图1,图示了适于根据本专利技术的一些示例实施例的指令处理模块100的一部分的例子的简化方框图。对于所图示的例子,指令处理模块100形成总体以105图示的集成电路装置的一部分,并且包括至少一个程序控制单元(PCU)110、一个或多个执行单元模块120、至少一个地址生成单元(AGU)130和总体以140图示的多个数据寄存器。PCU110被设置为接收要被指令处理模块100执行的指令,如总体以115所图示的,并且根据接收到的指令使得在指令处理模块100中执行操作。例如,PCU110可以接收例如存储在指令缓冲器(未示出)中的指令,其中接收的指令要求对数据的一个或多个位/字节/字/等等执行一个或多个操作。数据“位”通常指包括逻辑“1”或逻辑“0”的二进制数据的单个单元,而“字节”通常指8位的块。数据“字”可以包括一个或多个字节的数据,例如,两个字节(16位)的数据,这取决于特定DSP体系结构。在收到这样的指令后,PCU110生成并向指令处理模块100中的各种其它组件输出一个或多个微指令和/或控制信号,以便所需的操作被执行。AGU130被设置为生成用于访问系统存储器(未示出)的地址值,并且可以包括总体以135图示的一个或多个地址寄存器。数据寄存器140用于存储从系统存储器中取出的数据,并且将对该数据执行一个或多个操作,并且数据可以从数据寄存器140被写入系统存储器。执行模块120被设置为根据从PCU110接收的微指令和控制信号对数据执行操作(数据被直接提供到那里,或存储在数据寄存器140中)。同样地,执行模块120可以包括算术逻辑单元(ALU)等等。如先前所提到的,应用在其需求方面越来越要求例如CPU等等的处理装置的效率,以执行应用程序代码。因此,越来越需要CPU等等最小化执行指令所需要的周期数量,包括在分支预测的情况下最小化执行条件计算所需要的周期数量和/或使用的预测的数量,这可以加速控制代码性能。因此,根据本专利技术的示例实施例,指令处理模块100可以被设置为执行分支预测,并且包括至少一个预测计算模块(150),该至少一个预测计算模块(150)被设置为接收用于预测函数的至少一个结果向量以及因此至少一个条件参数值作为输入。指令处理模块100可以还被配置为至少部分地基于至少一个接收的条件参数值从结果向量输出预测结果值。对于所图示的例子,至少一个预测计算模块形成执行模块120的主要的部分,并且总体以150图示。同样地,可以设想一个或多个执行模块120可以包括这样的预测计算模块。然而,在其它实施例中,可以将一个或多个预测计算模块作为指令处理模块100中的离散的(独立的)的功能单元来附加地和/或替代地提供。图2图示了适于根据本专利技术的一些示例实施例的预测计算模块150的简化例子。对于所图示的例子,预测计算模块150形成执行模块120的主要的部分,并且被设置为接收用于预测函数的至少一个结果向量220以及因此至少一个条件参数值230作为输入,并且至少部分地基于至少一个接收的条件参数值230从结果向量220输出预测值240。对于图2中所图示的特定例子,预测计算模块150是总体以210图示的多路复用电路的形式。多路复用电路210包括总体以212图示的被设置为接收至少一个结果矢量220的第一组输入,以及总体以214图示的被设置为接收至少一个条件参数值230的第二组输入。多路复用电路210还包括总体以216图示的被设置为根据一个或多个条件参数值230从至少一个结果向量220输出预测值240的输出。预测被用于控制指令的条件执行,并且同样地,其各自的条件要求被计算,以便预测值被设置。复杂条件要求计算复杂布尔函数。这样的布尔函数的例子可以包括:(p0||((p1^p2)&&p3))→p4[1]其中p0、p1、p2以及p3表示了包含函数内的条件参数值的预测寄存器,本文档来自技高网
...
用于计算预测值的集成电路装置和方法

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种集成电路装置(105),包括至少一个指令处理模块(100),所述至少一个指令处理模块(100)被设置为接收判定计算指令(200)以及响应于接收所述判定计算指令(200)来执行分支判定,所述判定计算指令(200)具有在其中编码的至少一个结果向量(220)的至少一个指示(225),所述至少一个指令处理模块(100)包括至少一个判定计算模块(150),该至少一个判定计算模块(150)被设置为:接收判定包含用于标识作为一个判定函数的至少一个结果向量(220)和至少一个条件参数值(230)的至少一个寄存器标识符的判定计算指令;从判定计算指令中提取至少一个判定标识符;从标识的寄存器中检索至少一个结果向量(220)和至少一个条件参数值(230);向判定计算模块(150)提供检索到的至少一个结果向量(220)和至少一个条件参数值(230);并且从判定计算模块(150)基于检索到的至少一个接收的条件参数值(230)和至少一个结果向量(220)输出用于执行所述分支判定的判定结果值(240);其中判定结果值(240)是从结果向量中的索引位置检索到的值,所述索引位置等于检索到的至少一个条件参数值(230)组成的串的二进制数。2.根据权利要求1所述的集成电路装置(105),其中所述至少一个判定计算模块(150)包括多路复用电路。3.根据权利要求1或2所述的集成电路装置(105),其中所述至少一个结果向量(220)包括对于在定义的布尔函数中的所述至少一个条件参数值(230)的多个排列的判定结果值(240)。4.根据权利要求1或2所述的集成电路装置(105),其中所述指令处理模块(100)还包括至少一个执行模块(120),该至少一个执行模块(120)被设置为接收所述判定计算指令(200),所述判定计算指令(200)包括所述结果向量(220)的所述至少一个指示(225),以及在收到所述判定计算指令(200)后,所述至少一个执行模块(120)被设置为从中提取所述至少一个结果向量(220)的所述至少一个指示(225)并且向所述至少一个判定计算模块(150)提供所述结果向量(220)。5.根据权利要求4所述的集成电路装置(105),其中所述至少一...

【专利技术属性】
技术研发人员:尤瓦尔·佩莱德伊扎克·巴拉克伊丹·罗森贝格多隆·舒佩尔列夫·瓦斯克维奇
申请(专利权)人:飞思卡尔半导体公司
类型:
国别省市:

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

1