数字处理器制造技术

技术编号:2889046 阅读:152 留言:0更新日期:2012-04-11 18:40
通过降低转移历史表选择逻辑的复杂性并提供一可扩展至较大规模的指令读取块的指令而简化超标量微处理器中的一个转移历史表中的适当的转移目标地址的检测和选择。这通过向在指令读取块中表示其它转移的存在(没有被当前入口定义的转移)的转移历史表入口引入一转移模式字段来实现。(*该技术在2018年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术一般涉及数字处理器,尤其涉及带转移历史表的处理器,并且此处理器读取多个指令和/或相对于被读取的存储器块具有一任意定位的指令。现代数字处理器,如超标量微处理器,在每一机器周期对多条指令进行译码,调度,并执行。为了对这样的超标量微处理器进行优化设计,有必要在一个机器周期中从存储器读取至少和译码/执行所能处理的一样多的指令。由于所读取的指令字段中可能包括多个转移指令,因此要求设计一个转移历史表地址高速缓冲存储器来预测可能取到的下一个转移指令的位置。为了优化处理器周期,所选择的找出预测转移的方法(即决定那个地址的目标地址)及对那个存储器块的指令读取的初始化必须相对简单。已经提出并实施了一些转移预测装置,他们各有其优缺点。Emma等人在美国专利No.5,353,421上,对其中的一些方法在多预测转移预测装置中的应用进行了描述。如其中所描述的,借助预测一条转移指令的结果,处理器可以保持流水线充满指令,并且如果转移的结果被正确的预测,可避免流水线中断。Emma等人还提供了转移预测机制的简要历史。另外,Levitan在美国专利No.5,367,703中进一步描述了一项技术。它使用不同的预测器,根据从用于读取存储器块的指令读取地址到在存储器块中的转移位置的距离,来预测一个转移的结果。对每一可能的距离,预测器各个位的不同集合反映对那个距离的转移的历史。Veh和Patt,在“Proceedings of the Ninth Annual internationalsynposium on Computer Architecture 1993”上描述了一套预测器,除根据当前转移指令的历史结果外,它还依据一个或多个以前的(在时间上)转移结果。因此,本专利技术的一个目的就是简化在一个转移历史表中搜寻和选择适当的转移目标地址的操作,转移历史表可以标识出指令读取块中的多个转移指令。本专利技术的另一个目的是减少转移历史表选择逻辑的复杂性,并提供一种可扩展至较大规模指令读取块的结构。根据本专利技术,本专利技术的上述目的和其他目的通过在转移历史表入口建立一转移模式字段来实现,它指示出在指令读取块中其它转移的存在(没有被当前入口所定义)。一个实现了本专利技术的超标量微处理器具有一预测未来转移的改进的系统,它根据一个指令块读取的发生,来预测一个未来的转移。微处理器具有一指令读取装置,它读取可能含有大量转移指令的一个存储器块,此读取装置包括带有一个或多个入口的转移历史表,每一个入口存储着指令读取块内包含的一个转移的转移地址和目标地址及在指令读取块内的模式转移。所存储的转移和目标地址及来自转移历史表的转移模式字段在下一个指令块读取发生时被检索。转移模式字段用于保证只有一个转移入口将被预测。一个执行单元执行转移指令,决定其结果和所述的转移指令正确的目标地址。通过下面对本专利技术的一个优选实施方式的详细描述,并参考附图,上述的和其他的目的、内容及优点可以得到更好的理解。其中附图说明图1是一个实现了本专利技术的超标量微处理器的框图;图2是一个更详细表示出转移历史表的框图;以及图3是一个更详细表示出用于转移历史表更新的转移模式产生器的框图和逻辑图。本专利技术可以采用两种不同的转移历史表配置。第一种也是最普遍的一种配置为一高速缓冲存储器,由一n-入口,m-路设置相联高速缓冲存储器组成。表一表示出这样一个转移历史表入口给出的字段。表1转移历史表入口字段定义转移地址—通常称为转移地址字段,本字段不包括索引位,那些位用于对转移历史表寻址。它也不包括在指令读取块中识别转移的起始位置的低位字节。同样,转移地址的高位字节可能也不包括在转移地址字段中。这一字段也被称为抗混淆(anti-alias)字段。转移偏移—转移偏移字段识别指令读取块中的转移的起始位置。有效—这是有效入口。转移目标地址—如果转移指令成功(即,被取中),下一条被执行指令的存储器位置。用于读取下一指令块的地址分为四个单独的字段字偏移,索引,抗混淆字段,废弃位。字偏移包括低位地址位,表示在存储器读取块中指令译码开始的位置。索引字段是log2(n)位,用于对转移历史表寻址。从高速缓冲存储器读出m个入口。如果抗混淆字段相等,入口被接受,并作为在被读取的存储器块中的一个转移。(通常同时带有转移历史表讯问)。假设转移历史表入口包含用于预测转移结果的信息。转移结果预测被应用于从高速缓冲存储器读入的m个入口。由于读取了多指令,在指令读取存储器块中可能有多个预测取中的转移被识别。指令译码可以在指令读取块中的任何位置开始。所有字偏移小于指令读取块的字偏移的预测取中转移都被忽略,因为这些指令将不被译码。由于转移历史表的目的是提供一唯一指令读取地址作为下一指令读取地址,所以当预测到多个其字偏移等于或大于指令译码将要进行的地址的字偏移的转移时,则具有较小字偏移的入口被选中。被选择入口的转移目标地址被用于下一指令存储器读取。熟练的技术人员会明白转移历史表入口的字偏移必须和指令读取地址及所有其它入口的字偏移进行比较(a>b)。因此,所需的比较器的的数量为(m2+m)/2。随着指令读取地址的增加,两种因素影响着转移历史表的设计。第一,字偏移字段中的位数增加。第二,增加相关类别以保证在一指令读取块中的多个转移都被识别是必要的。这些因素的共同作用导致为选择正确的转移历史表入口的电路上按几何级数的增加。为减小转移历史表选择逻辑的复杂性,并提供一个可扩展至较大规模指令读取块的结构,转移历史表的每一入口都有一个加到入口上的转移模式字段。除了最右的位,转移模式字段对指令读取块上的指令译码开始的位置有一个二进制位。当一转移历史表入口被更新时,指令读取块上的预测取中转移的模式与特定的转移历史表入口的字偏移结合,从而提供带有与比当前入口所指示的转移指令处在较低地址的,与在指令读取块中任一预测取中转移相一致的位设置的一个字段。在本专利技术的优选实施方式中,字偏移比较器被取掉了,并以一个简单的2-AND j-AND 3-AND逻辑结构所替代,这里,j是一个大于在转移模式字段中的位数的数。本专利技术还可以应用于作为一内容访问存储器(CAM)使用的转移历史表。这一实施可以被看作一更普遍的设置关联存储器高速缓冲存储器设计的一个简化,而此处的索引字段位数为零,并且转移历史表的每一入口有其自己的抗混淆字段比较器和命中检测逻辑。转移模式字段解决了由于在每一周期内读取多个指令的计算机系统中使用按内容访问存储器而产生的重大问题。在转移历史表的最普通的实施中,当用一读取地址去搜索一个用于预测转移指令的转移历史表时,转移偏移不被考虑。在指令读取块中可能被预测的不同转移的数目决定于m,m是为了一个命中而检查的入口数。只要m很小,选择距读取地址最近的转移指令作为被预测指令是可行的。但是,当m很大时,例如一个全关联按内容访问存储器,如果没有本专利技术,不可能允许多抗混淆字段匹配。因此,在每一指令读取块中有多于一个转移的转移历史表中进行预测一般是不可能的。对此不足的一个解决办法是在抗混淆字段比较中包括来自转移偏移字段的位,这已被Power PCTTM604e微处理器所实施。这一方法允许在一指令读取块中识别多个转移。但这一方法的缺点是一个单独的转移可能需要多个转移历史表入口。实际上,如果转移偏移字本文档来自技高网...

【技术保护点】
一个数字处理器,具有基于一指令块读取操作的出现,预测一个未来转移的改进的系统,包括:一个指令读取装置,它取出一个可能包含多条转移指令的一个存储器块;一个具有一个或多个入口的转移历史表,每个入口存储一个包含在指令读取块中的转移的转移地址和目标地址,和一个在所述指令读取块中的转移的转移模式字段;当在下一个指令块读取的出现时,用于从所述的转移历史表中检索所述的存储的转移和目标地址及转移模式字段的检索装置。用于转移模式字段以保证只有一个转移入口被预测的选择装置,及一个执行转移指令,决定其结果和所述转移指令的正确目标地址的执行单元。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:罗伯特M丁克简詹姆斯R罗宾森
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1