当前位置: 首页 > 专利查询>MIPS技术公司专利>正文

数据高速缓存虚拟提示路线预测及其应用制造技术

技术编号:5477261 阅读:198 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种基于数据高速缓存路线预测方案的虚拟提示及其应用。在一个实施例中,处理器基于虚拟提示值或混叠路线预测值从数据高速缓存取出数据,并且在用于该数据的物理地址可用之前将该数据转送到相关的指令。在物理地址可用之后,将物理地址与转送的数据的物理地址标记值进行比较,以验证该转送的数据是正确数据。如果该转送的数据是正确数据,则生成命中信号。如果该转送的数据不是正确数据,则生成未中信号。对不正确的数据进行运算的任何指令被无效和/或重放。

【技术实现步骤摘要】
【国外来华专利技术】数据高速緩存虛拟提示路线预测及其应用 相关申请的交叉引用附图说明图1B是进一步示出图1A的处理器的示意图。 图2示出根据本专利技术一个实施例的示例加载/存储单元。 图3C示出根据本专利技术一个实施例的示例填充/存储緩存器。图5C2示出在加载数据队列中多个加载条目中写入后写 入故障的检测。0027图5D示出根据本专利技术一个实施例的多个写入后写入故障 的防止。尽管本文中将处理器100描述为包括几个分离部件,但 是这些部件中许多是可选部件,不是在本专利技术的每个实施例中都存 在,或者可以是组合的元件,以使得两个部件的功能性存在于单个部 件中。因此,例如在图1中示出的独立部件是说明性的而不是为了限 制本专利技术。在一个实施例中,执行单元102与在寄存器堆(RF) 130 中的32位寄存器中存储的数据交互。另外,执行单元102可以在一 个或多个完成緩存器(CB) 128中存储数据。在一个实施例中,第一 完成緩存器128包括用于存储来自整数执行单元118和乘法/除法单元 120的数据的64位寄存器。第二完成緩存器128包括用于存储来自加 载/存储单元108的数据的32位寄存器。可选地,可以包括一个或多 个另外的寄存器堆组以使在例如中断和/或异常处理期间上下文 (context)切换开销(overhead)最小化。执行单元102与指令分派单元(IDU )106、完毕单元(GRU) 126、存储器管理单元(MMU) 110、寄存器堆130、完成緩存器128 以及可选的协处理器124接口连接。在一个实施例中,指令分派单元106还通过例如执行单元 102之内的流水线级(stage)追踪指令的进展,并且更新在重命名映 射(map )中以及在被解码指令緩存器113中的所有相关(dependent) 指令中操作数的有效性。指令分派单元106还将指令标识、完成緩存 器标识和有关的信息值写入到完毕单元126中的结构中。指令高速緩存112是被组织为多路设置的关联高速緩存的 片上存储器阵列,该多路设置的关联高速緩存例如2路设置的关联高 速緩存或4路设置的关联高速緩存。优选地,虚拟地索引指令高速緩 存112并且对指令高速緩存112物理地加以标记,由此允许虚拟到物 理的地址转换与高速緩存存取并行发生。在一个实施例中,标记包括 有效位和除物理地址位之外的可选奇偶位。指令高速緩存112与指令 取出单元104连接。图1B还示出处理器100的操作。如图1B所示,处理器 100执行四种基本功能指令取出;指令解码和分派;指令执行;以 及指令完毕。这四种基本功能是说明性的而不是为了限制本专利技术。在指令取出期间,检查与要从指令高速緩存112取出的 指令相关的标记。在一个实施例中,标记包含为每个指令指示指令类 型的预编码位。如果这些预编码位指示指令是控制转移指令,则分支 历史表被访问并且被用于确定该控制转移指令可能分支还是可能不分支。例如在一个或多个指令被从指令緩存器105接收并且由指 令解码器107解码时,指令解码和分派(在图1A中由指令分派单元 106表示)开始。在一个实施例中,按照分支误预测的解决方案,从 指令緩存器105接收指令的能力可以被暂时中止,直到驻留于处理器 100的指令执行部分和/或指令完毕部分内的选择的指令被清除为止。加栽/存储单元108可以不按程序次序处理例如32位或64 位加载指令和存储指令。在实施例中,加栽/存储单元108可以处理多 达四个向分支接口单元116的独特的未中请求,支持16KB、 32KB和 /或64KB数据高速緩存存储器请求,实现最近最少使用的高速緩存替 代方案,提供硬件虚拟混叠支持,支持标记和数据奇偶性,并且实现 基于虚拟标记的路线预测。借助于加载/存储单元控制逻辑200实现这 些特征。加载/存储队列202保持用于特定类别指令的地址值、状态 值以及数据,所述指令例如由加栽/存储单元108执行的加栽和存储指 令以及存储器访问指令。可以将在加载/存储队列202中存储的数据旁 路(bypass)到使用加载/存储单元控制逻辑200的相关指令。在实施 例中,用于由加载/存储单元108执行的指令的信息,包括完毕的加载 /存储指令,被保持在加载/存储队列202中,直到指令完成或用于该 指令的信息被移动到加载/存储单元108的另一个源为止,该另一个源 例如填充/存储緩存器206和/或加载数据队列208。在发布的指令被加载/存储单元108接收时,加载/存储单 元控制逻辑200确定指令类型,并且用于该指令的虚拟地址(如果适 用的话)被计算。该虚拟地址被存储在加载/存储队列202中。加载/ 存储队列202也存储用于每个指令的状态信息和数据。该状态信息包 括例如加栽或存储指令是命中还是未中。0072加栽/存储单元控制逻辑200对于对数据高速緩存114的访 问进行仲裁。数据高速緩存114和标记信息被读取,并且信息被存储 在加载/存储队列202中。在数据高速緩存114中命中的加载和存储更 新数据高速緩存114的路线选择线324(见图3E)。在一个实施例中, 数据高速緩存114的每条标记线320包含物理地址标记和虚拟地址标 记(虛拟提示)两者。虚拟地址标记用于生成初期高速緩存路线预测, 该初期高速緩存路线预测在随后的处理器时钟周期中被利用物理地 址比较进行支持,并且基于该比较,加载未中/命中信号被提供到执行 单元102和完毕单元126,从而在必要时可以重放任何相关的指令。 可以基于虚拟地址选择驻留于加载/存储队列202、填充/存储緩存器 206、数据高速緩存114和/或便笺式随机存取存储器中的数据,并且 在可用时旁路该数据。在一个实施例中,来自加载/存储队列202的数 据具有被选择并且旁路的最高优先权,接着依次是来自填充/存储緩存 器206的数据、来自数据高速緩存114的数据、以及来自便笺式随机存取存储器的数据。来自加载/存储队列202的部分数据也可以与来自 填充/存储緩存器206的数据组合,以及被旁路到处理器100的一个或 多个流水线级。优选地,基于指令的完成緩存器标识值分配加载/存储队列 标识值300。在一个实施例中,加载/存储队列标识值300与在指令解 码和分派期间分配的完成緩存器标识值相同。在另一实施例中,在加 载/存储队列标识值300和在指令解码和分派期间分配的完成緩存器标识值之间存在--对应,从而完成緩存器标识值的一部分用作加载/存储队列标识值300 (例如,完成緩存器标识值的一定数目的最低有 效位可以用作加栽/存储队列标识值300)。物理标记信息304包括物理地址(PADD)值、状态(STATUS)值、同名异物(homonym) ( H)值以及命中路线(HW ) 值。在实施例中,存储在加载/存储队列108中的物理地址位可以少于 所有物理地址位(如,可以忽略一些最低有效位)。该状态值用于指 示关联的高速緩存线的状态。在一个实施例中,状态值对关联的高速 緩存线是否存在于数据高速緩存114中以及例如在加载指令的情况下 数据是否已经被旁路进行编码。物理标记信息304的同名异物值指示 虚拟同名异物存在(即, 一个虛拟地址映射到两个物理地址的情形)。 命中路线值标识关联的高速緩存线存在于哪路高速緩存中。基于高速 緩存线填充,更新命中路线值以反映高本文档来自技高网...

【技术保护点】
一种处理器,包括: 多个第一存储器,被配置用于存储虚拟地址标记位和物理地址标记位; 多个第二存储器,被配置用于存储数据位,每个所述第二存储器与所述多个第一存储器之一对应;以及 第三存储器,被配置用于存储混叠路线预测值,   其中,从由存储在所述第三存储器中的混叠路线预测值所指定的特定第二存储器取出数据位,并且如果在虚拟地址的选择的位和虚拟地址标记位之间不存在匹配,则将该数据位转送到执行单元,所述虚拟地址标记位存储在所述多个第一存储器中在由所述虚拟地址的位索 引的位置处。

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

【专利技术属性】
技术研发人员:梦冰于EK南贾M尼V拉杰戈帕兰
申请(专利权)人:MIPS技术公司
类型:发明
国别省市:US[美国]

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

1