对先行载入值检查的增强的制作方法

文档序号:6569192阅读:205来源:国知局
专利名称:对先行载入值检查的增强的制作方法
技术领域
本发明所揭示实施例大体来说涉及计算,且更特定来说涉及在处理器中实施先行 预取操作。
背景技术
计算机程序是在执行时可导致计算机以预定的方式运转的指令列表。 一般来说, 程序可含有变量列表及告知所述计算机如何处理所述变量的语句列表。程序设计员可 以用人类容易理解的"高级"编程语言来编写计算机程序。这种形式的程序称作"源 代码"。然而,为了在计算机上执行程序,必须将源代码转变为机器语言,所述机器 语言是可由所述计算机使用的"低级"语言。这个转换过程的第一步通常由称作编译程序的实用程序来实施,所述编译程序将 源代码解释为更接近机器语言的形式。编译程序可具有除这种解释功能之外的额外功 能。例如,编译程序可查看源代码且对其中的某些指令重新排序以及实施其它优化。 所述编译程序将源代码转变为称作"目标代码"的形式。有时所述目标代码和机器语 言相同,有时在准备由计算机执行之前其需要进行进一步处理。编译程序可实施的一种优化是,对计算机程序中的指令进行重新排序来比简单转 化已产生的程序设计员的源代码版本更有效地操作。例如,程序可处理变量。变量通常位于存储器中且必须在其可供使用之前存取。 在处理器中,存储器的这种存取占用有限量的时间。如果在程序准备使用变量时还没 有从存储器中获得所述变量,则将变量传送到存储器中时可能会遇到延迟。计算机指令的两个常见类型为载入指令("载入")和存储指令("存储")。 "载入"可存取存储器以提取由程序需要的数据。"存储"通常认为是次要的,因为 其只将最终数据存储到存储器,例如随后程序不需要的最终计算结果。因此,可通过 将"载入"提前到"存储"之前来改善程序效率。遗憾的是,这个技术会导致称作"载入/存储混叠"的重大问题。当"存储"将数 据写入到与"载入"从其中读取的存储器地址相同的存储器地址时,将会发生"载入"/"存储"混叠。图1图解说明这种情况的实例。处理器寄存器ioo可含有来自正在执行的计算机程序的一连串指令。程序设计员可能在紧接"使用"指令("使用")104 之前已经将"载入"102A包含在源代码中。所述"使用"104可以是利用由"载入" 102A所检索的数据来进行的计算。如上文解释,编译程序可通过将"载入"102A提升得高于"使用"104上方程序设计员最初在源代码中放置其的地方(由箭头106所 指示)在运行时间改善整体程序效率。 一个原因是,存取计算机存储器的过程有时是 缓慢的,且如果"载入"102A和"使用"104彼此太接近,则当所述计算机遇到"使 用"104时,其可能需要等待"载入"102A检索实施"使用"104所需的数据。如果 编译程序可将"载入"102A更早地放置在(例如)位置102B处,则计算机将更有可 能在遇到"使用"104时就已经得到了检索到的数据。因此,通过将"载入"提升到"使用"指令上方,编译程序可减少等待时间并提高程序效率。然而,如果将"载入"102提升到"使用"104上方过远,则其可能会被提升到 中间"存储"110上方,如箭头108所指示。如果中间"存储"110恰巧将新数据写入 到由"载入"102存取的相同存储器地址,则发生"载入"/ "存储"混叠。在操作中,"载入"102C将从指定的存储器地址中读取数据(例如值"0"),然后中间"存储" 110将把新数据(例如值"l")保存到那个相同存储器地址。当遇到"使用"104时, 其将接收到"0"而不是"1",因为"0"是由"载入"102C读取的值。然而,程序 设计员可能原打算让"使用"104接收值"1",这也是他为什么在编写源代码时就已 将中间"存储"110 (其存储值"1")放置在"载入"102A和"使用"104之前的原 因。因而,通过将"载入"102A移动到高于中间"存储"IIO的任何位置,编译程序 可导致"使用"104接收不正确的数据。因此,虽然将"载入"提升到"存储"上方 通常可以是有益的,但是多数编译程序受限于中间"存储"。这会带来高性能微处理 器及并行编译程序中的重大性能问题。一种用于处理这个问题的方法称作"数据推测"。数据推测采用称作"先行载入"("LD.A")和"检査先行载入"("CHK.A")的专用指令。先行载入是一种如下 的"载入"当从存储器地址中检索数据时,将那个存储器地址插入称作"先行载入 地址表"("ALAT")的表格中。然后由其它程序指令推测性地使用已载入的数据。 同时,所有的"存储"在将数据存储到存储器地址时均将所述地址与先行载入地址表 中所登记的地址进行比较。从先行载入地址表中驱逐任何匹配条目(别名)。当随后 的检查先行载入检测到已经从先行载入地址表中驱逐值时,其可产生异常。异常是指导致程序或微处理器分支到不同的例程的状态,且通常指示错误状态。 在这种情况下,当检测到先行载入地址表驱逐时所产生的异常触发对先前由先行载入 所检索的数据的推测性使用的恢复。那个数据证明是不正确的数据(由混叠导致), 所以在所述由异常触发的恢复过程中必须调整其使用。这种恢复需要大量的工作和处 理时间,且大大地妨碍了性能。因此,异常的产生是不合需要的,且过量的异常首先 会显著地抵销编译程序在对指令重新排序时所实现的任何增益。发明内容在本发明的一个方面中,执行已重新排序的程序指令的方法包含从第一存储器地址中载入第一值;将所述第一存储器地址记录在经配置以记录存储器地址与值之间 的关联的表格中;将所述第一值记录在所述表格中以使所述第一值与所述第一存储器 地址相关联;将第二值存储到第二存储器地址;及确定所述第一和第二存储器地址是 相同的。在本发明的另一方面中, 一种计算机可读媒体具体化可由计算机执行以实施用于 执行已重新排序程序指令的方法的指令程序,所述方法包含从第一存储器地址载入 第一值;将所述第一存储器地址记录在经配置以记录存储器地址与值之间的关联的表 格中;将所述第一值记录在所述表格中,以使所述第一值与所述第一存储器地址相关 联;将第二值存储到第二存储器地址;及确定所述第一和第二存储器地址是相同的。在本发明的另一方面中,计算机系统包含存储器,其经配置以将数据存储在由 不同地址表示的多个位置中;及处理器,其耦合到所述存储器且经配置以从所述存储 器地址的第一个地址中载入第一值,将所述第一存储器地址记录在经配置以记录存储 器地址与值之间的关联的表格中;将所述第一值记录在所述表格中以使所述第一值与 所述第一存储器地址相关联,将第二值存储到所述存储器地址的第二个地址,及确定 所述第一和第二存储器地址是相同的。在本发明的再一个方面中, 一种计算机系统包含用于存储数据的装置;及用于 以下的装置从第一存储器地址中载入第一值;将所述第一存储器地址记录在经配置 以记录存储器地址与值之间的关联的表格中;将所述第一值记录在所述表格中以使所述第一值与所述第一存储器地址相关联;将第二值存储到第二存储器地址;及确定所述第一和第二存储器地址是相同的。


图1图解说明"载入"/ "存储"混叠的实例;图2图解说明无线通信系统;图3是图解说明电话系统的各组件的方块图;图4图解说明包含对已存储值进行检查的过程的实例;图5是图解说明用于确定在中间"存储"之后是否应该产生异常的逻辑顺序的流程图;图6图解说明包含对已存储值进行检查的替代过程的实例;且 图7是图解说明用于确定在中间"存储"之后是否应该产生异常的替代逻辑顺序 的流程图。
具体实施方式
图2图解说明其中可采用本文中描述的各种实施例的无线通信系统。所属技术领 域的技术人员应认识到,各种实施例并不限于通信系统中的使用,其还可替代地具有许多其它的实际应用,且所述无线通信系统仅用作说明性实例。无线通信系统200可 包含订户台202,订户台202通过在反向链路上将数据传输到基站206来与地面数据 网络204通信。基站206可接收数据并将其通过基站控制器("BSC" ) 208路由到 地面网络204。相反,可将到订户台202的通信从地面网络204经由BSC 208路由到 基站206并在正向链路上将所述通信从基站206传输到订户单元202。所属技术领域 的技术人员应了解,可在基站206与一个或多个订户台202 (其它订户台未图示)之 间发生正向链路传输。类似地,可在一个订户台202与一个或多个基站206 (其它的 基站未图示)之间发生反向链路传输。图3是图解说明其中可使用本发明教示的电话系统的一部分的各种组件的方块 图。计算机系统300可包括处理器302、存储器304及其它电路306。计算机系统300 可以是包含(例如)服务器、客户机、个人计算机、基站或订户台的任何类型的计算 机系统。所属技术领域的技术人员应了解,本文中的教示适用于包含耦合到存储器的 处理器的许多其它类型的计算机系统。处理器302可包括(例如)EPIC微处理器。所 述微处理器可以是(例如)INTEL ITANIUM微处理器。所属技术领域的技术人员应 了解,本文中的教示同样可适用于其它处理器,所述处理器能够与编译程序结合来对 指令重新排序并将"载入"提前到中间"存储"以上。处理器302可包括用于提前计 算机程序中的指令的寄存器或与所述寄存器通信。处理器302可与存储器304通信以 按照计算机程序指令的引导检索和存储数据。处理器302可经配置以允许编译程序根 据本文中的教示重新排序计算机程序中的计算指令。如上所述,数据推测是利用专用先行载入和检查先行载入指令来减轻与"载入" / "存储"混叠相关联的问题的方法。因为每当"存储"存取已经记录在先行载入地址 表中的存储器地址时数据推测都驱逐先行载入地址表中的条目,所以检查先行载入指 令将引起大量的异常。除了在出现异常之后恢复推测性数据使用的效率损失外,这个 方法的不可预测性也是由于在产生异常时所需要的例程分支和随后的同步化。因此, 根据本文中的教示,并不是在每一次"存储"存取己经记录在先行载入地址表中的存 储器地址时都将先行载入地址表条目删除。当执行计算机程序时,往往将某些值一贯地或至少经常地存储到特定地址。换句 话说,即使单独地且独立地执行"存储",也可由所述"存储"的不同实例将某个值 经常地存储到相同的特定地址。当第一 "存储"将第一值写入到某个地址,且然后第 二 "存储"将第二值写入到那个相同的地址时,如果所述第一和第二值是相等的,则 不必产生异常来恢复所述第一值的推测性使用。如果中间"存储"用相同的数据来改 写数据,则任何先前使用原始数据的指令都不需要校正,因为甚至在所述中间"存储" 之前所述数据的值是正确的。根据这些教示,先行载入地址表可经配置以存储存储器地址和已存储值两者。同 样,除了将"存储"地址与先行载入地址表中所记录的地址进行比较之外,还可修改 检查先行载入例程来将已存储值与先行载入地址表中所记录的值进行比较。处理器可经配置以只在满足以下两个条件时驱逐先行载入地址表中的条目"存储"地址与先 行载入地址表中所记录的地址相匹配,且已存储值与先行载入地址表中所记录的与已 记录地址相关联的值不相等。通过针对这种情况进行检査,本文中所揭示的处理器配 置可消除不必要的异常并改善整体程序效率。如果"存储"地址与先行载入地址表中 所记录的地址相匹配,而已存储值与先行载入地址表中所记录的与己记录地址相关联 的值相同,则先行载入地址表条目可保留在先行载入地址表中以使后来不会由搜索并 发现未驱逐的先行载入地址表条目的检查先行载入产生异常。图4图解说明包含对已存储值进行检查的过程的实例。当执行计算机处理器的寄 存器400中的程序时,根据本文中描述的过程来实施所述寄存器中的程序指令。当实 施某些指令时,可存取"先行载入地址及值表格"("ALAVT" ) 402。可将"先行 载入地址及值表格"402存储在(例如)可由所述处理器存取的存储器中,或可维持 在所述处理器本身中。随着程序操作的继续进行,可遇到先行载入(LD.A)指令404。 如图4中所图解说明,这可表示为LD.A[B], Y,其指示处理器将实施从存储器地址"B" 中载入值"Y"的指令。与载入这个值结合或在所述载入发生之前或之后,处理器还 可存取"先行载入地址及值表格"402并将与值"Y"相关联的地址"B"记录在条目 楊处。接下来,处理器可遇到额外指令,其中包含ST[B],X指令408。根据这个指令, 处理器可将值"X"存储到存储器地址"B"。处理器还可存取"先行载入地址及值表 格"402以确定是否先前已从刚刚写入到的地址"B"中载入。在检查"先行载入地址 及值表格"402时,处理器将遇到先前将地址"B"记录在其中的条目406。然后处理 器可询问新存储的值"X"是否等于先前所载入的值"Y"。如果相等,则处理器可继 续进行正常的程序执行。然而,如果己确定"X"和"Y"不相等,则处理器可如驱逐 410所指示来驱逐条目406。通过从"先行载入地址及值表格"402中驱逐这个条目, 处理器正在提供以下指示由于中间"存储"408,可能已经不正确地使用了先前从地 址"B"中载入的值"Y"。因此,当处理器遇到CHK.A[B]指令414时,其将针对具 有地址"B"的条目来检査"先行载入地址及值表格"402。然而,由于那个条目已被 驱逐,因此所述处理器将不会遇到这种条目,如416处所指示。检测不到地址"B" 可导致处理器产生异常,从而触发恢复由"载入"404载入的值"Y"的先前使用,由 于中间"存储"408,所述值"Y"可能会是不正确的。图5图解说明包含对已存储值进行检査的替代过程的实例。在方块500处,可在 计算机处理器的寄存器中将"先行载入"提前。指令LD.A[A,X]命令处理器从存储器 地址"A"中载入值"X"。当值"X"已经载入时,则处理器可向"先行载入地址及 值表格"存取与巳载入值"X"相关联的地址"A"的记录,如方块502处所指示。随 后处理器可在方块504处遇到"存储"。指令ST [B,Y]指令处理器将值"Y"存储到 存储器地址"B"。在决策方块506处,处理器可与所述"存储"结合来询果不相同,则处理器可继续进行正常的程序执行,如方块508处所指示。然而,如果 所述地址匹配,则处理器可在决策方块510处检査先前从戶万述地址载入的值(方块500 处的值"X")是否与刚刚存储的值(方块504处的值"Y")相等。如果所述值相等, 则处理器可继续进行正常的程序操作,如方块512处所指示。然而,如果所述值不相 等,则处理器可遵循不同的例程。如果在决策方块510处检査的值不相等,则在方块514处,处理器可驱逐"先行 载入地址及值表格"中使存储器地址"A"与值"X"相关联的记录。随后,当处理器 在方块516遇到"先行载入"指令时,处理器可存取"先行载入地址及值表格"并搜 索具有已记录存储器地址"A"的条目。因为这个条目在方块514处被驱逐,所以处 理器不会在"先行载入地址及值表格"中定位到"A"条目,这将会导致在方块518 处产生异常。所述异常可触发处理器分支到不同的例程或指令集以恢复在将值"X" 从存储定位"A"中载入之后可能已由不同的指令使用的那个值"X"的任何先前使用,。 这在方块520处有所指示。在所述恢复之后,处理器可再一次回到正常的程序操作。图6是图解说明用于确定中间"存储"之后是否应该产生异常的逻辑顺序的流程 图。可与存取存储器中的"先行载入地址及值表格"602结合来实施处理器的寄存器 600中的指令。最初,"先行载入"指令604—LD.A[B], Y可命令处理器从存储器地 址"B"中载入值"Y"。处理器可通过创建使地址"B"和当前值"Y"相关联的条 目606来将这个"载入"记录在"先行载入地址及值表格"602中。随后,"存储" 608—ST[B], X可命令处理器将值"X"存储到存储器地址"B"。处理器可通过用新 存储的当前值"X"代替"Y"及将"Y"移动到先前值位置来将这个动作记录在"先 行载入地址及值表格"602中。这在条目610处有所指示。然后,另一 "存储"612 可命令处理器将值"Y"存储到存储器地址"B"。这将导致"Y"成为当前值且"X" 成为先前值,如条目614处所指示。需要来自存储器位置"B"的数据的随后"使用"指令616将使用由"载入"指 令604所载入的先前已载入值"Y"。虽然存在中间"存储"608和612,但是因为存 储在地址"B"处的数据的当前值是已经载入的相同值"Y",所以处理器可拒绝产生 异常。这可由先行检査指令618—"CHK.A[B]来确定,CHK.A[B]命令处理器将地址"B" 定位在"先行载入地址及值表格"602中。可将所述地址连同其相关联当前值"Y" — 起定位在条目620处。处理器可将当前值"Y"与先前由"载入"604所载入的同样为 "Y"的值进行比较,并确定它们是相等的。所属技术领域的技术人员应了解,如果 所比较的值不相等,则处理器可产生异常以触发恢复由中间指令(例如"使用"指令 616)对值"Y"的推测性使用。图7是图解说明用于确定在中间"存储"之后是否应该产生异常的替代逻辑顺序 的流程图。将新存储的值添加到"先行载入地址及值表格"条目,而不是将其值不与 中间"存储"匹配的"先行载入地址及值表格"条目清空。确定值是否匹配可最终和 "先行载入"指令一起发生。这个程序适用于每个地址包含一个以上值条目的"先行载入地址及值表格"。虽然这个实例涉及其中每个地址具有两个值条目的"先行载入地址及值表格"(例如图6中的"先行载入地址及值表格"602),但本文中的教示可 适用于每个地址具有任何数量值条目的"先行载入地址及值表格"。在方块700处,"先行载入"LD.A [A,X]可命令计算机处理器从存储器地址"A" 中载入值"X"。在方块702可通过将与地址"A"相关联的值"X"记录在"先行载 入地址及值表格"中来将记录所述"载入"。然后可在方块704实施"存储"。指令 ST [B,Y]可导致处理器将值"Y"存储到存储器地址"B"。在决策方块706处,处理 器可检査存储器地址"A"是否和存储器地址"B"相同。如果不相同,则在方块707 处,处理器可继续进行程序操作。然而,如果所述地址相同,则在方块708处,所述 处理器可添加先前的"先行载入地址及值表格"条目。处理器可将先前载入的值"X" 移动到"先行载入地址及值表格"条目的"先前值"位置中,并将新存储的值"Y" 记录到"先行载入地址及值表格"条目的"当前值"位置,这两个值均与"先行载入 地址及值表格"条目中的存储器地址"A"相关联。在方块710处,"先行载入"指令CHK.A[A]可命令处理器针对记录存储器地址 "A"的条目来检查"先行载入地址及值表格"。在本实例中,将由处理器在方块712 处定位条目"A,Y,X,",其中"X"是先前值且"Y"是当前值。在决策方块714处,处 理器可检验当前值"Y"是否与在方块700处所载入的先前值"X"相等。如果相等, 则在方块716处,处理器可继续进行程序操作,因为先前值"X"的任何中间使用都 会不受新载入的且相等的值"Y"影响。然而,如果确定所述值不同,则在方块718 处,处理器可产生异常。在方块720处,所述异常可触发处理器恢复对值"X"的先 前使用中,值"X"随后变为"Y",从而导致先前使用不正确。因此,揭示一种用于对计算指令进行重新排序的新颖的且经改善的方法和设备。 所属技术领域中的技术人员应了解,在整个上述说明中可能提到的数据、指令、命令、 信息、信号、位、符号及码片可有利地表示为电压、电流、电磁波、磁场或磁粒子、 光场或光粒子或其任何组合。所属技术领域中的技术人员应进一步了解,结合本文所 揭示实施例描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计 算机软件或二者的组合。已经根据其功能大体地描述了各种说明性组件、块、模块、 电路及步骤。所述功能实施为硬件还是软件取决于特定的应用及施加在整个系统上的 设计限制。所属技术领域的技术人员应认识到,在这些情况下硬件和软件的可交换性, 及如何针对每一特定应用最好地实施所述功能。作为实例,可借助数字信号处理器 ("DSP")、专用集成电路("ASIC")、现场可编程门阵列("FPGA")或其 它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件(例如,寄存器及FIFO)、 执行一组固件指令的处理器、任何常规的可编程软件模块及处理器或经设计以实施本 文所述功能的其任何组合来实施或执行结合本文所揭示实施例来描述的各种说明性逻 辑块、模块、电路及算法步骤。所述处理器可有利地为微处理器,但是另一选择为, 所述处理器可以是任何常规的处理器、控制器、微控制器、可编程逻辑装置、逻辑元件阵列或状态机。所述软件模块可驻留在RAM存储器、闪速存储器、ROM存储器、 EPROM存储器、EEPROM存储器、寄存器、硬磁盘、可装卸磁盘、CD-ROM、或此 项技术中已知的任何其它形式的存储媒体中。实例性处理器有利地耦合到所述存储媒 体,以从所述存储媒体中读取信息并将信息写入到所述存储媒体中。另一选择为,所 述存储媒体可以是处理器的组成部分。处理器和存储媒体可驻留在ASIC中。所述ASIC可驻留在电话或其它用户终端中。另一选择为,处理器及存储媒体可驻留在电话或其 它用户终端中。处理器可实施为DSP与微处理器的组合,或实施为与DSP核心结合 的两个微处理器。因此已显示并描述了本发明的说明性实施例。然而,所属技术领域中的技术人员 应明了,可在不脱离本发明精神或范畴的情况下对本文中所揭示的实施例做出大量改 变。因此,仅根据随附权利要求书来限制本发明。
权利要求
1、一种执行已重新排序程序指令的方法,所述方法包括从第一存储器地址载入第一值;将所述第一存储器地址记录在经配置以记录存储器地址与值之间的关联的表格中;将所述第一值记录在所述表格中,以使所述第一值与所述第一存储器地址相关联;将第二值存储到第二存储器地址;及确定所述第一和第二存储器地址是相同的。
2、 如权利要求1所述的方法,其进一步包括将所述第二值记录在所述表格中, 以使所述第二值与所述第一值及所述第一存储器地址相关联。
3、 如权利要求1所述的方法,其中确定所述第一和第二存储器地址是相同的包 括将所述第二存储器地址与所述表中所存储的存储器地址进行比较。
4、 如权利要求l所述的方法,其进一步包括确定所述第一和第二值是相等的; 及在不产生异常的情况下继续进行随后的程序指令。
5、 如权利要求l所述的方法,其进一步包括确定所述第一和第二值是不同的; 及从所述表格中去除所述已记录的第一存储器地址及第一值。
6、 如权利要求5所述的方法,其进一步包括确定所述表格不包含所述第一地 址;及产生异常。
7、 如权利要求6所述的方法,其进一步包括在存储所述第二值之前执行利用所 述已载入的第一值的指令。
8、 如权利要求7所述的方法,其中所述异常触发所述已执行指令的恢复。
9、 一种计算机可读媒体,其具体化可由计算机执行以实施用于执行已重新排序程序指令的方法的指令程序,所述方法包括 从第一存储器地址载入第一值;将所述第一存储器地址记录在经配置以记录存储器地址与值之间的关联的表格中;将所述第一值记录在所述表格中,以使所述第一值与所述第一存储器地址相关联;将第二值存储到第二存储器地址;及 确定所述第一和第二存储器地址是相同的。
10、 如权利要求9所述的计算机可读媒体,其进一步包括将所述第二值记录在所 述表中,以使所述第二值与所述第一值和所述第一存储器地址相关联。
11、 如权利要求9所述的计算机可读媒体,其中所述确定所述第一和第二存储器地址是相同的包括将所述第二存储器地址与所述表格中所存储的存储器地址进行比 较。
12、 如权利要求9所述的计算机可读媒体,其进一步包括确定所述第一和第二值是相等的;及在不产生异常的情况下继续进行随后的程序指令。
13、 如权利要求9所述的计算机可读媒体,其进一步包括确定所述第一和第二 值是不同的;及从所述表格中去除所述已记录的第一存储器地址及第一值。
14、 如权利要求13所述的计算机可读媒体,其进一步包括确定所述表格不包 含所述第一地址;及产生异常。
15、 如权利要求14所述的计算机可读媒体,其进一步包括在存储所述第二值之 前执行利用所述已载入的第一值的指令。
16、 如权利要求15所述的计算机可读媒体,其中所述异常触发所述已执行指令 的恢复。
17、 一种计算机系统,其包括存储器,其经配置以将数据存储在由不同地址表示的多个位置中;及处理器,其耦合到所述存储器且经配置以从所述存储器地址的第一者载入第一值;将所述第一存储器地址记录在经配置以记录所述存储器地址与值之间的关联的表 格中;将所述第一值记录在所述表中以使所述第一值与所述第一存储器地址相关联; 将第二值存储到所述存储器地址的第二者;及确定所述第一和第二存储器地址是相同 的。
18、 如权利要求17所述的计算机系统,其中所述计算机系统包括基站。
19、 一种计算机系统,其包括 用于存储数据的装置;及用于以下的装置从第一存储器地址载入第一值;将所述第一存储器地址记录在 经配置以记录存储器地址与值之间的关联的表格中;将所述第一值记录在所述表格中 以使所述第一值与所述第一存储器地址相关联;将第二值存储到第二存储器地址;及 确定所述第一和第二存储器地址是相同的。
20、 如权利要求19所述的计算机系统,其中所述计算机系统包括基站。
全文摘要
本发明揭示用于实施已重新排序计算机指令的系统和方法。计算机处理器从第一存储器地址中载入第一值,并将所述第一值和所述第二值两者记录在表格或队列中。所述处理器将第二值存储到相同的存储器地址,并驱逐先前的表格条目或将所述第二值添加到先前的表格条目。在随后检测已驱逐的表格条目或不一致的第二值时,所述处理器产生异常,所述异常触发恢复对所述第一值的推测性使用。
文档编号G06F9/38GK101283331SQ200680037497
公开日2008年10月8日 申请日期2006年8月9日 优先权日2005年8月12日
发明者博胡斯拉夫·雷赫利克 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1