用于存储命令的方法和装置制造方法及图纸

技术编号:2852435 阅读:165 留言:0更新日期:2012-04-11 18:40
在第一方面,提供一种用于存储命令的第一方法。该第一方法包括步骤(1)接收引用地址的新命令;(2)确定该新命令是否依赖于存储在待决命令的队列中引用该地址的至少一个在前接收的命令;(3)识别该至少一个在前接收的命令中最近接收的命令;以及(4)将该新命令与该至少一个在前接收的命令中最近接收的命令相关联。还提供了许多其它方面。

【技术实现步骤摘要】

本专利技术总体涉及计算机系统,更具体地,涉及用于利用计算机系统存储命令的方法和装置。
技术介绍
引用相同地址的命令可由计算机系统等接收,其可被存储在一个或多个相应的队列中,并且可不按这些命令被接收到的顺序来执行。然而,如果计算机系统不按顺序执行这些命令,则该计算机系统必须跟踪这些命令的依赖性,以确保每一命令接收正确的数据(例如,在这些命令按顺序被执行时由每一命令接收的数据)。此外,因为存储在队列中的命令在执行之前可能从该队列中移除,所以计算机系统应该调整这样的移除。在传统的计算机系统中,跟踪存储在队列条目中的命令的依赖性以及在执行之前调整存储在该队列中的命令的移除,需要一种占用较大区域的复杂硬件设计。用于实现这种命令存储和移除操作的改进的方法和装置是需要的。
技术实现思路
在本专利技术的第一个方面,提供一种用于存储命令的第一方法。该第一方法包括步骤(1)接收引用地址的新命令;(2)确定该新命令是否依赖于存储在待决命令的队列中引用该地址的至少一个在前接收的命令;(3)识别该至少一个在前接收的命令中最近接收的命令;以及(4)将该新命令与该至少一个在前接收的命令中最近接收的命令相关联。在本专利技术的第二方面,提供一种用于存储命令的第一装置。该第一装置包括(1)处理器;(2)主存储器;以及(3)用于存储待决命令的队列的逻辑。该逻辑包括存储器,并且连接到处理器和主存储器。该逻辑用于(a)接收引用地址的新命令;(b)确定该新命令是否依赖于存储在上述待决命令的队列中引用该地址的至少一个在前接收的命令;(c)识别该至少一个在前接收的命令中最近接收的命令;以及(d)将该新命令与该至少一个在前接收的命令中最近接收的命令相关联。根据本专利技术的这些和其他方面,提供了许多其他方面。通过以下的详细描述、所附权利要求以及附图,本专利技术的其他特征和方面将变得更加完全地显而易见。附图说明图1是根据本专利技术实施例的用于存储命令的装置的框图;图2是包括在根据本专利技术实施例的用于存储命令的装置中的逻辑的框图;以及图3示出了根据本专利技术实施例的用于存储命令的方法。具体实施例方式如果第一命令要求第二命令在第一命令可执行之前完成执行,则第一命令(例如,引用一个地址)可能依赖于第二命令(例如,引用相同的地址)。本专利技术提供了用于跟踪引用相同地址的命令的依赖性的方法和装置。计算机系统等可实现读队列和/或写队列,每一队列都包括用于存储命令的多个条目。在传统的系统中,读队列的条目可包括用于存储在读队列中的命令可能依赖的每一写队列条目的位。此外,写队列的条目可包括用于存储在写队列中的命令可能依赖的每一读队列和其余写队列条目的位。对于支持大量队列条目的计算机系统来说,必须存储大量这样的位,因此需要大量用于存储这样的位的硬件。相反,根据本方法和装置,读队列或写队列的条目可包括指示存储在该条目中的命令是否依赖于另一命令(例如,这一命令是否需要另一命令在该命令可执行之前结束执行)的位(例如,依赖性有效位)或状态编码,以及用于存储队列条目的编号的指针,其中该队列条目存储该另一命令。此外,读队列或写队列的条目可包括用于指示另一命令是否依赖于存储在该条目中的命令的位(例如,链接位)。根据本方法和装置,当接收到新命令时,使用逻辑来设置这些位和指针。例如,当接收到一个新命令,并且读队列和/或写队列包括该新命令所依赖的多个在前接收的命令时,该逻辑可以设置(例如,断言)依赖性有效位并设置到存储该新命令所依赖的这些在前接收的命令中最近接收的命令的队列条目的编号的指针。该逻辑可应用与已经存储在队列中的相应命令相关联的链接位,来标识该新命令所依赖的最近接收的命令。按照这种方式,可通过形成单个链接列表来跟踪命令依赖性。在至少一个实施例中,可以仅选择存储在其中未设置依赖性有效位的队列条目中的命令来执行。一旦该命令被选择和/或被执行,便重设(例如去断言(deassert))其指针包括其中的命令被执行的条目的编号的任何条目的依赖性有效位。此外,根据本方法和装置,队列条目可包括用于标识从队列中移除(例如,在执行前)的命令的位(例如,无效待决位)。计算机系统(例如,存储器控制器106)可选择移除其中设置(例如,断言)了无效待决位且未设置依赖性有效位的队列条目中的命令。一旦选择移除该命令,便重设(例如,去断言)其指针包括其中的命令被选择移除的条目的编号的任何条目的依赖性有效位。通过使用上面描述的位和指针,本方法和装置可以减少跟踪存储在一个或多个队列中引用相同地址的命令的依赖性和/或调整存储在队列中的命令在执行前的移除所需的位的总体数量,从而减小该方法和装置所需的区域。图1是根据本专利技术实施例的用于存储命令的装置的框图。参照图1,该用于存储命令的装置100可以是计算机系统等。装置100可包括通过总线108连接到存储器控制器106的一个或多个处理器102-104。存储器控制器106可连接到存储器110(例如,主存储器)110。存储器控制器106可包括逻辑、寄存器、存储器等的任何适当的组合。处理器102-104可在总线108上输出引用主存储器110的地址的命令,存储器控制器106可接收此命令。作为响应,存储器控制器106可访问主存储器110的该地址,从而为该命令提供服务。存储器控制器106可包括用于在为命令提供服务之前(例如,当该命令待决时)存储该命令的一个或多个队列。例如,存储器控制器106可包括一个或多个读队列112(仅示出一个)和一个或多个写队列114(仅示出一个),用于存储待决命令。在一个实施例中,存储器控制器106包括读队列112和写队列114,每一队列具有32个条目(但是读队列112和/或写队列114可包括更大或更小数量的条目)。因此,存储器控制器106可在队列112、114中存储达64个命令。一个或多个读队列112或一个或多个写队列114的用于存储命令的条目116可包括(例如,存储)一个位(例如,依赖性有效位118),其指示存储在条目116中的命令是否依赖于存储在读队列112或写队列114中的另一命令(例如,该命令是否需要另一命令在该命令可执行之前完成执行)。例如,引用主存储器地址的读命令可依赖于一个写命令,该写命令在引用相同存储器地址的读命令之前被接收。为了确保读命令从该存储器地址中访问正确的数据,对该地址的写命令的执行应该在读命令执行之前完成,因此,可以设置存储该读命令的条目的依赖性有效位118。如果包括在队列112、114的条目116中的依赖性有效位118指示存储在该条目116中的命令依赖于另一命令(例如,如果设置了依赖性有效位118),则条目116包括存储编号的指针120,该编号是存储该另一命令的队列条目116的编号。此外,读队列112或写队列114中的条目116可包括一个位(例如,链接位122),用于指示是否另一命令(例如,待决命令)依赖于存储在条目116中的命令。以这种方式,与存储在队列112、114中可能不具有依赖于它们的命令的其他待决命令相比,可以对存储在该条目116中的命令(例如,写命令)指派一个优先级。另外或可选择地,一个或多个读队列112或者一个或多个写队列114中用于存储命令的条目116可包括一个位(例如,无效待决位124),用于标识从该队列中移除的命令(例如,在执行前)。计算本文档来自技高网...

【技术保护点】
一种存储命令的方法,包括:接收引用地址的新命令;确定该新命令是否依赖于存储在待决命令的队列中引用该地址的至少一个在前接收的命令;识别该至少一个在前接收的命令中最近接收的命令;以及将该新命令与该至少一个在前接收 的命令中最近接收的命令相关联。

【技术特征摘要】
US 2004-12-9 11/008,7681.一种存储命令的方法,包括接收引用地址的新命令;确定该新命令是否依赖于存储在待决命令的队列中引用该地址的至少一个在前接收的命令;识别该至少一个在前接收的命令中最近接收的命令;以及将该新命令与该至少一个在前接收的命令中最近接收的命令相关联。2.如权利要求1的方法,其中确定上述新命令是否依赖于存储在待决命令的队列中引用该地址的至少一个在前接收的命令包括在存储器中执行对该新命令所引用的地址的查找。3.如权利要求1的方法,其中识别上述至少一个在前接收的命令中最近接收的命令包括识别存储在上述待决命令的队列中的不依赖于存储在该待决命令的队列中的另一命令的引用该地址的在前接收的命令。4.如权利要求3的方法,其中识别存储在上述待决命令的队列中的不依赖于存储在该待决命令的队列中的另一命令的引用该地址的在前接收的命令包括访问与该存储在该待决命令的队列中引用该地址的在前接收的命令相关联的位,该位指示该在前接收的命令是否依赖于另一在前接收的命令。5.如权利要求1的方法,其中将上述新命令与上述至少一个在前接收的命令中最近接收的命令相关联包括设置与该新命令相关联的位,该位指示该新命令是否依赖于在前接收的命令。6.如权利要求1的方法,进一步包括选择上述至少一个在前接收的命令中最近接收的命令来执行;以及将该新命令与被选择来执行的命令去关联。7.如权利要求6的方法,进一步包括选择上述新命令来执行。8.如权利要求6的方法,进一步包括将队列状态与存储在上述待决命令的队列中的第一命令相关联,以便根据该队列状态,可在第一命令执行之前将其从该待决命令的队列中移除。9.如权利要求1的方法,进一步包括将队列状态与存储在上述待决命令的队列中引用上述地址的第一命令相关联,以便根据该队列状态,可在第一命令执行之前将其从该待决命令的队列中移除。10.如权利要求9的方法,其中将队列状态与存储在上述待决命令的队列中引用上述地址的第一命令相关联包括设置与存储在该待决命令的队列中的该命令相关联的一位,该位指示第一命令是否要在执行前从该待决命令的队列中移除。11.如权利要求10的方法,进一步包括在第一命令执行前,将其从上述待决命令的队列中移除。12.如权利要求11的方法,其中第一命令被与在第一命令之前接收的引用上述地址的第二命令相关联;以及进一步包括选择第一命令与其相关联的第二命令来执行;以及将第一命令与第二命令去关联。13.如权利要求9的方法,进一步包括选择上述至少一个在前接收的命令中最近...

【专利技术属性】
技术研发人员:MD贝洛斯PA冈菲尔德LJ兰布雷希特
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1