流水线处理的方法和设备的制作方法

文档序号:6539358阅读:185来源:国知局
专利名称:流水线处理的方法和设备的制作方法
技术领域
本发明一般涉及处理器,尤其涉及处理器内流水线处理的方法和设备。
背景技术
指令执行单元(例如,浮点单元)可以应用有序处理流水线来处理和完成(例如,执行)指令。浮点单元可以包括控制/状态寄存器,控制/状态寄存器存储指示如何处理指令的控制位。浮点单元可以接收变更一个或多个控制位的第一指令,从而控制后续指令的执行。但是,在第一指令执行完成之前(例如,当第一指令到达流水线的终点时),一个或多个变更控制位的值可能是未知的。因此,在第一指令执行完成之前,可能不允许开始需要一个或多个变更控制位的后续指令的执行。因此,在第一指令执行完成之前,浮点单元可以延迟(例如,通过应用拖延或流水线泡(pipeline bubble))后续指令执行的开始。由于后续指令的执行因后续指令依赖于要通过前一指令更新(例如,修改或变更)的控制位而延迟,这样的拖延被称为相关拖延。相关拖延可能导致为深度有序(in-order)执行处理流水线(例如,很多级的流水线)付出大的性能代价。
为了避免指令开始的延迟,根据一种解决方案,将如上所述的控制/状态寄存器分成控制寄存器和状态寄存器,并且,将寄存器更名和无序处理技术用于指令处理。但是,这样的解决方案需要大量的硬件,因此,非常复杂。
于是,用于有序执行流水线处理的方法和设备是人们所希望的。

发明内容
在本发明的第一方面,提供了流水线处理的第一方法。第一方法包括如下步骤(1)沿着有序执行处理流水线接收第一指令;和(2)在第一指令的执行完成之前,沿着有序执行处理流水线接收第二指令。第二指令依赖于与第一指令有关的控制信号(例如,位)。
在本发明的第二方面,提供了流水线处理的第一设备。第一设备包括控制逻辑块,适用于(1)沿着有序执行处理流水线接收第一指令;和(2)在第一指令的执行完成之前,沿着有序执行处理流水线接收第二指令。第二指令依赖于与第一指令有关的控制信号(例如,位)。根据本发明的这些和其它方面,提供了许多其它方面。
从如下的详细描述、所附权利要求书和附图中可以更清楚地了解本发明的其它特征和方面。


图1是按照本发明实施例的有序执行流水线处理的设备的方块图;图2是按照本发明实施例的有序执行流水线处理的方法;和图3是包括在按照本发明实施例的有序执行流水线处理的设备中的示范性浮点控制逻辑块的方块图。
具体实施例方式
本发明提供了处理器中有效流水线处理的方法和设备。更具体地说,根据本方法和设备,处理器可以沿着执行流水线接收用于执行的第一指令。第一指令可以变更指示如何沿着有序执行处理流水线处理指令的控制位(例如,浮点控制寄存器位(FPCR)。正如下面所述的那样,这样的控制位存储在寄存器中。在第一指令执行完成之前(例如,正好在接收到第一指令之后),处理器沿着有序执行流水线接收用于执行的第二指令。第二指令需要变更控制位。与传统有序处理器不同,本方法和设备不要求在第一指令执行完成之前,延迟第二指令执行的开始(例如,通过拖延或泡)。因此,本方法和设备避免了典型有序执行流水线处理的性能代价。更具体地说,通过拖延或泡(例如,相关拖延)使本方法和设备的延迟不增加。并且,通过完成有序指令执行,本方法和设备避免了上述指令处理技术的复杂性,因此,可以用循环时间非常短的机器实现。
图1是按照本发明实施例的有序执行流水线处理的设备的方块图。参照图1,用于执行指令的处理器100包括与指令执行单元104耦合的指令发出单元(IU)102。尤其是,IU 102将指令和操作数发送到指令执行单元104。在一个实施例中,指令执行单元104是进行像浮点算术那样的浮点运算的浮点执行单元(FPU)。但是,在其它实施例中,指令执行单元104可以是整数执行单元、装载/存储执行单元等。
指令执行单元104包括与数据单元108耦合的控制单元106。控制单元106接收来自IU 102的指令并选择性地接收操作数(例如,与指令相对应)的一个或几个部分,和数据单元108接收来自IU 102的操作数。控制单元106可以包括控制逻辑块(例如,浮点控制逻辑块110),根据本方法,控制逻辑决定义有效流水线处理指令的处理流水线(例如,有序执行处理流水线)。浮点控制逻辑块110包括逻辑块、寄存器、存储器等的任何适当组合,并且,在至少一个实施例中,可以包括或是专用集成电路(ASIC)的一部分。按照本发明实施例的示范性浮点控制逻辑块110的细节将在下面参照图3加以描述。
现在参照图1和参照图2描述有序执行流水线处理的设备的操作,图2例示了按照本发明实施例的有序执行流水线处理的方法。参照图2,在步骤202中,方法200开始。在步骤204中,沿着有序执行处理流水线接收第一指令。例如,IU 102将第一指令发送到控制单元106和将操作数(例如,与第一指令相对应)发送到指令执行单元104中的数据单元108。浮点控制逻辑块110接收第一指令。第一指令可能需要指示如何执行第一指令的控制位。因此,在第一指令执行完成之前,浮点控制逻辑块110将执行第一指令可能需要的第一位(例如,内部操作位)组(set)与第一指令相联系。例如,在有序执行处理流水线的初始级期间,将第一内部操作位组与第一指令相联系。第一内部操作位组基于沿着有序执行处理流水线的前一指令更新的控制位的值。
有序执行处理流水线开始执行第一指令。浮点控制逻辑块110可以应用第一内部操作位组来执行第一指令。第一指令与第一内部操作位组一起流过包括在有序执行处理流水线中的数级。随着第一指令流过有序执行处理流水线的最后一级,第一指令的执行即告完成。一旦第一指令的执行已完成,第一指令可以更新(例如,修改或变更)指示如何处理指令(例如,后续指令)的一个或多个控制位。这样的控制位可以存储在寄存器(例如,复合浮点状态/控制寄存器(FPSCR))中。例如,指令执行单元104可以接收用于执行、诸如move-to指令之类、其它指令依赖的指令。move-to指令可以更新(例如,修改或变更)指示如何处理指令的控制位。可选地,指令执行单元104可以接收用于执行诸如算术指令之类的non-move-to指令。non-move-to指令不修改控制位。
假设指令执行单元104接收的第一指令是move-to指令,一旦指令执行完成,第一指令就修改控制位。后续指令可能依赖于第一指令。更具体地说,在这样指令的执行可能开始之前,后续的指令可能需要修改的控制位。例如,后续的non-move-to指令(例如,在第一指令之后马上接收的non-move-to指令)可能需要修改的控制位来执行。与在前一命令完成之前延迟这样后续指令的接收和/或执行的传统有序执行处理相反,在本发明的步骤206中,在第一指令的执行完成之前,沿着有序执行处理流水线接收第二指令(例如,后续的non-move-to指令)。例如,IU 102将第二指令发送到控制单元106和将操作数(例如,与第二指令相对应)发送到指令执行单元10中的数据单元108。浮点控制逻辑块110接收第二指令。第二指令可能需要指示如何处理第二指令的控制位。因此,在第二指令执行完成之前,浮点控制逻辑块110将第二位(例如,内部操作位)组与第二指令相联系。第二内部操作位组用作执行第二指令所需的控制位。例如,在有序执行处理流水线的初始级期间,将第二内部操作位组与第二指令相联系。第二内部操作位组部分基于第一内部操作位组。第二指令与第二内部操作位组一起流过有序执行处理流水线。
有序执行处理流水线在第一指令的执行完成之前,开始执行第二指令。浮点控制逻辑块110可以应用第二内部操作位组来执行第二指令。更具体地说,由于例如在有序执行处理流水线初始级期间,指示应该如何执行第二指令的位(例如,第二内部操作位组)与第二指令相联系,在第一指令执行完成和第一指令更新控制位之前,浮点控制逻辑块110未必延迟(例如,通过拖延或泡)第二指令执行的开始。与第一指令执行相似,一旦执行完成,第二指令可能更新(例如,修改)指示如何处理指令(例如,后续指令)的一个或多个控制位。
此后,执行步骤208。在步骤208中,方法200结束。通过使用图2的方法200,缩短了和/或消除了有序执行流水线处理期间的相关拖延。
图3是包括在按照本发明实施例的有序执行流水线处理的设备中的示范性浮点控制逻辑块的方块图。参照图3,浮点控制逻辑块110包括move-to逻辑块302。move-to逻辑块302作为输入从IU 102接收(例如,通过输入端303)要执行的指令、该指令打算变更哪些控制位的指示(例如,指定位)选择性地接收操作数的一个或多个部分。一旦指令执行完成,指令可能变更存储在复合浮点控制/状态寄存器(FPSCR)中的控制位,FPSCR存储用于舍入模式控制、IEEE例外控制等的控制位以及用于上溢、下溢、操作所得状态等的状态位。在处理器100中执行的软件代码可以频繁访问FPSCR。move-to逻辑块302还接收(例如,使用)Speculative(推测的)FPCR信号,作为输入。Speculative FPCR信号是指示一旦前一个指令完成执行,指令可能需要的控制位将是什么值的一个位组。根据这些输入,move-to逻辑块302确定在接收指令完成执行之后,控制位的值将是什么,并且,通过move-to逻辑块输出端304输出像New_FPCR信号那样的值。
move-to逻辑块302的输出端304与第一多路复用器308的第一数据输入端306耦合。因此,第一多路复用器308接收New_FPCR,作为第一数据输入信号。第一多路复用器308通过第二数据输入端310接收Committed_FPCR信号,作为第二数据输入信号。Committed_FPCR是与已经到达有序执行处理流水线311中的预定级(例如,提交级)的指令相联系的一个位组。一旦指令到达序执行处理流水线311中的提交级,就不能从有序执行处理流水线中清除或删除指令(例如,指令被提交),因此,指令将由有序执行处理流水线完成,并且将指令的结果提交给结构机器状态(例如,FPSCR)。清除命令取消提交级之前的那些级期间的所有指令。因此,当处理器100从有序执行处理流水线中清除或删除指令时,Committed_FPCR指示有序执行处理流水线中的最后提交指令更新的控制位的值。在所示的实施例中,有序执行处理流水线包括十级(只示出七个)和第7级(EX 7)是提交级。在其它实施例中,有序执行处理流水线可以包括更多或更少的级,和/或提交级可以是有序执行处理流水线的较早或较晚级。在一个或多个实施例中,有序执行处理流水线的第1级(EX 1)中的指令可以是提交的move-to指令(例如,不能从有序执行处理流水线中清除),因此,将与接收清除命令无关地完成。
第一多路复用器308包括第一多路复用器308接收Revert信号的第三输入端(例如,选择输入端)312。Revert信号用作第一多路复用器308的选择信号。多路复用器308通过多路复用器输出端314,根据选择信号有选择地输出数据输入信号之一。Revert=exl_flush AND NOT ex1_is_committed_move_to_iop,其中,当想清除流水线时,ex1_flush=1,和当第1级(EX 1)中的指令(IOP)是已经提交的move-to指令时,exl_is_committed_move_to_iop=1。当Revert得到认定(例如,是逻辑“1”)时,第一多路复用器308有选择地输出Committed_FPCR。否则,第一多路复用器308有选择地输出New_FPCR。
第一多路复用器308通过多路复用器输出端314与第一寄存器316耦合。当通过第一寄存器316的允许写入输入端317输入的允许写入信号得到认定时,第一寄存器316写入从第一多路复用器308输出的信号。更具体地说,当Speculative_WE信号得到认定时,第一寄存器316将从第一多路复用器308输出的信号写入和存储到第一寄存器316中,作为SpeculatiVe FPCR。Speculative_WE=ex1_move_to_iop OR ex1_flush,其中,当第1级(EX 1)中的指令(IOP)是move-to指令时,ex1_move_to_iop=1。同样,第一寄存器316用作推测“影子”寄存器,它存储代表在指令完成之后(例如,前一指令)控制位的值将是什么的位(例如,Speculative FPCR)。因此,Speculative FPCR用作将存储在FPSCR中的控制位的影子副本。第一寄存器316的输出端318与move-to逻辑块302的输入端耦合和第一寄存器316的输出318用作Speculative FPCR信号。同样,浮点控制逻辑块110可以向move-to逻辑块302接收的指令提供代表一旦前一指令的执行已完成控制位的值将是什么的一个位组(例如,Speculative FPCR)。因此,处理器100可以在前一指令的执行完成之前,开始执行move-to逻辑块302接收的指令。
浮点控制逻辑块110在例如有序执行处理流水线的初级EX 1中,将move-to逻辑块302输出的New_FPCR与move-to逻辑块302接收的指令相联系。New_FPCR用作用于指令的内部操作位(例如,IOP FPCR)。正如所述的那样,New_FPCR基于Speculative FPCR和move-to逻辑块302接收的指令。在有序执行处理流水线的初级EX 1中,浮点控制逻辑块110将代表一旦前一指令执行已完成控制位的值将是什么的位(例如,SpeculatiVe FPCR)用作用于move-to逻辑块302接收的指令的控制位。但是,在有序执行处理流水线的后续级期间,与指令相联系的内部操作位(例如,IOP FPCR)可以用于(例如,作为控制位)执行指令。move-to逻辑块302输出端与存储指令和相关内部操作位的第一流水线寄存器319耦合。第一流水线寄存器319包括在有序执行处理流水线311的第2级320中。
第一流水线寄存器319的输出322由第二流水线寄存器324输入。在后续时间间隔(例如,处理器周期)内,将指令和相关内部操作位存储在第二流水线寄存器324中。第二流水线寄存器324包括在有序执行处理流水线311的第3级326中。同样,指令从第2级320流入或移动到有序执行处理流水线311的第3级326。指令相似地流过有序执行处理流水线311的其余各级。同样,每个流水线级可以包括指令和与指令相对应的控制位。
正如所述的那样,有序执行处理流水线311的第7级328是提交级。包括在第7级328中的第六流水线寄存器330与第二多路复用器332耦合(除了与有序执行处理流水线311的第8级(未示出)耦合之外)。更具体地说,第六流水线寄存器330的输出端334与第二多路复用器332的第一数据输入端336耦合。与指令相联系的内部操作位从第六流水线寄存器330输出和由第二多路复用器332通过第一数据输入端336输入。move-to逻辑块302的输出端304与第二多路复用器332的第二数据输入端338耦合。因此,从move-to逻辑块302输出的New_FPCR由第二多路复用器332通过第二数据输入端338输入。可以在第二多路复用器332的第三输入端(例如,选择输入端)340上得到认定的信号(例如,ex1_committed)用作选择信号。第二多路复用器332根据选择信号有选择地输出(例如,通过第二多路复用器输出端342)数据输入之一。当ex1_committed=1时,第二多路复用器332选择New_FPCR。ex1_committed=ex1_is_committed_move_to_iop,其中,正如所述的那样,当第1级EX 1中的指令已经是提交的move-to指令时,ex1_is_committed_move_to_iop=1。即使指令没有经过提交级,也提交这样的指令。否则,第二多路复用器332选择与到达有序执行处理流水线311的提交级的前一指令相联系的内部操作位。
第二多路复用器332通过第二多路复用器输出端342与第二寄存器344耦合。当在第二寄存器344的允许写入输入端346上认定允许写入信号时,第二寄存器344写入从第二多路复用器342输出的信号。更具体地说,当在允许写入输入端346上认定committed_WE信号时,第二寄存器344写入从第二多路复用器342输出的信号。committed_WE=ex7_move_to_iop OR ex1_is_committed_move_to_iop,其中,当第7级(EX 7)中的指令是move-t o指令时,ex7_move_to_iop=1。同样,第二寄存器344用作提交“影子”寄存器,它存储代表在前一个(例如,最后)提交指令执行完成之后控制位的值将是什么的位(例如,Committed_FPCR)。因此,Committed_FPCR用作将存储在FPSCR中的控制位的影子副本。更具体地说,浮点控制逻辑块110可以确定不能从有序执行处理流水线中清除(例如,提交)指令,和存储与这样指令相联系的内部操作位,作为提交控制位。第二寄存器344的输出端348可以与第一多路复用器308的第一输入端310耦合和/或将第二寄存器344的输出348提供给第一多路复用器308的第一输入端310。因此,第二寄存器344将Committed_FPCR提供给第一多路复用器308,作为数据输入。如上所述,当Revert得到认定时,第一多路复用器308有选择地输出Committed_FPCR。
同样,浮点控制逻辑块110可以在有序执行处理流水线完成前一指令(例如,第一指令)的执行之前,开始执行指令(例如,第二指令)。并且,浮点控制逻辑块110可以确定前一指令已得到提交,和存储代表提交指令完成执行之后控制位将是什么的位,从而使浮点控制逻辑块110能够在处理器100清除有序执行处理流水线之后,处理(例如,重新开始处理)指令。例如,处理器100将与第一指令相联系的内部操作位存储在第二寄存器344中,并且,可以从有序执行处理流水线311中清除第二指令(在第一指令之后接收的)。在清除了第二指令之后时,浮点控制逻辑块110可以接收第三指令和开始执行第三指令。在第三指令执行完成之前,move-to逻辑块302将New_FPCR与第三指令联系。New_FPCR基于Speculative FPCR,在这种情况下,Specula-tive FPCR被还原成清除之后的Committed_FPCR(例如,第一指令完成之后IOP FPCR的值)。New_FPCR也可以基于第三指令。
在一个或多个实施例中,典型浮点控制逻辑块110不能含有已经提交的在有序执行处理流水线的提交级之前的级期间(例如,在初始级期间)的指令。在这样的实施例中,浮点控制逻辑块110不包括第二多路复用器332。并且,包括在提交级期间的流水线寄存器(例如,第六流水线寄存器330)的输出端334与第二寄存器344的输入端耦合。同样,第二寄存器344存储代表提交指令执行完成之后控制位的值将是什么的位,从而使浮点控制逻辑块110能够在处理器100清除有序执行处理流水线311之后,重新开始处理指令。
可选地,在一个或多个实施例中,浮点控制逻辑块110只发送提交的指令,不需要存储与推测指令相联系的位。因此,在这样的实施例中,处理器可能不清除有序执行处理流水线。在这样的实施例中,浮点控制逻辑块110不包括第二多路复用器332、第二寄存器344和第一多路复用器308。并且,move-to逻辑块302的输出端304可以直接与第一寄存器316的输入端耦合。
前面的描述只公开了本发明的示范性实施例。落在本发明范围之内的上面公开的设备和方法的各种变型对于本领域的普通技术人员来说是显而易见的。例如,可以在多线程机器中复制Speculative FPCR和Committed_FPCR。尽管上面参照浮点单元对本方法和设备作了描述,但其它类型的指令执行单元也可以应用本方法。并且,本方法和设备可以应用于控制指令执行和包括可以在执行流水线中变更的值的任何寄存器。
于是,虽然本发明是与它的示范性实施例联系在一起公开的,但应该明白,其它实施例也落在如所附权利要求书限定的本发明的精神和范围之内。
权利要求
1.一种流水线处理的方法,包括沿着有序执行处理流水线接收第一指令;和在第一指令的执行完成之前,沿着有序执行处理流水线接收第二指令,其中,第二指令依赖于与第一指令有关的控制信号。
2.根据权利要求1所述的方法,其中沿着有序执行处理流水线接收第一指令包括沿着有序执行处理流水线开始执行第一指令;和在第一指令的执行完成之前,沿着有序执行处理流水线接收第二指令包括在第一指令的执行完成之前,沿着有序执行处理流水线开始执行第二指令。
3.根据权利要求2所述的方法,其中,一旦第一指令执行完成,第一指令就更新执行后续指令所需的控制位。
4.根据权利要求2所述的方法,进一步包括在第一指令执行完成之前,将执行第一指令所需的第一内部操作位组与第一指令相联系;和在第二指令执行完成之前,将执行第二指令所需的第二内部操作位组与第二指令相联系。
5.根据权利要求2所述的方法,进一步包括在第一指令执行完成之前,将第一内部操作位组与指示第一指令执行完成之后控制位的值的第一指令相联系,其中,控制位是执行后续指令所需的;和在第二指令执行完成之前,将第二内部操作位组与指示第二指令执行完成之后控制位的值的第二指令相联系,其中,控制位是执行后续指令所需的。
6.根据权利要求5所述的方法,进一步包括如下的至少一个在执行第一指令的同时应用第一内部操作位组;和在执行第二指令的同时应用第二内部操作位组。
7.根据权利要求5所述的方法,其中,第二内部操作位组基于第一内部操作位组和第二指令。
8.根据权利要求5所述的方法,进一步包括确定不能从有序执行处理流水线中清除的第一指令;和存储与第一指令相联系的第一内部操作位组,作为提交的控制位。
9.根据权利要求8所述的方法,进一步包括从有序执行处理流水线中清除第二指令。
10.根据权利要求9所述的方法,进一步包括在从有序执行处理流水线中清除第二指令之后,沿着有序执行处理流水线开始执行第三指令;和在第三指令执行完成之前,将第三内部操作位组与指示第三指令执行完成之后控制位的值的第三指令相联系,其中,控制位是执行后续指令所需的;其中,第三内部操作位组基于提交的控制位和第三指令。
11.一种流水线处理的设备,包括控制逻辑块,适用于沿着有序执行处理流水线接收第一指令;和在第一指令的执行完成之前,沿着有序执行处理流水线接收第二指令,其中,第二指令依赖于与第一指令有关的控制信号。
12.根据权利要求11所述的设备,其中,控制逻辑块进一步适用于沿着有序执行处理流水线开始执行第一指令;和在第一指令的执行完成之前,沿着有序执行处理流水线开始执行第二指令。
13.根据权利要求12所述的设备,其中,一旦第一指令执行完成,第一指令就更新执行后续指令所需的控制位。
14.根据权利要求12所述的设备,其中,控制逻辑块进一步适用于在第一指令执行完成之前,将执行第一指令所需的第一内部操作位组与第一指令相联系;和在第二指令执行完成之前,将执行第二指令所需的第二内部操作位组与第二指令相联系。
15.根据权利要求12所述的设备,其中,控制逻辑块进一步适用于在第一指令执行完成之前,将第一内部操作位组与指示第一指令执行完成之后控制位的值的第一指令相联系,其中,控制位是执行后续指令所需的;和在第二指令执行完成之前,将第二内部操作位组与指示第二指令执行完成之后控制位的值的第二指令相联系,其中,控制位是执行后续指令所需的。
16.根据权利要求15所述的设备,其中,控制逻辑块进一步适用于如下的至少一个在执行第一指令的同时应用第一内部操作位组;和在执行第二指令的同时应用第二内部操作位组。
17.根据权利要求15所述的设备,其中,第二内部操作位组基于第一内部操作位组和第二指令。
18.根据权利要求15所述的设备,其中,控制逻辑块进一步适用于确定不能从有序执行处理流水线中清除的第一指令;和存储与第一指令相联系的第一内部操作位组,作为提交的控制位。
19.根据权利要求18所述的设备,其中,控制逻辑块进一步适用于从有序执行处理流水线中清除第二指令。
20.根据权利要求19所述的设备,其中,控制逻辑块进一步适用在从有序执行处理流水线中清除第二指令之后,沿着有序执行处理流水线开始执行第三指令;和在第三指令执行完成之前,将第三内部操作位组与指示第三指令执行完成之后控制位的值的第三指令相联系,其中,控制位是执行后续指令所需的;其中,第三内部操作位组基于提交的控制位和第三指令。
21.一种流水线处理的设备,包括用于执行指令的有序执行处理流水线;与有序执行处理流水线耦合的第一逻辑块,适用于接收一旦执行将修改控制位的第一指令;和在第一指令的执行完成之前,确定有序执行处理流水线完成第一指令的执行之后控制位的值将是什么;和与第一逻辑块耦合的第二逻辑块,适用于在第一指令的执行完成之前,存储有序执行处理流水线完成第一指令的执行之后控制位的值将是什么的值。
22.根据权利要求21所述的设备,进一步包括与第一逻辑块和有序执行处理流水线耦合的第三逻辑块,适用于如果第一指令到达有序执行处理流水线的预定级,在第一执行的执行完成之前,存储有序执行处理流水线完成第一指令的执行之后控制位的值将是什么的值;其中,一旦第一指令到达有序执行处理流水线的预定级,就不会从有序执行处理流水线中删除第一指令。
23.根据权利要求21所述的设备,有序执行处理流水线适用于在第一指令的执行完成之前接收第二指令,其中,第二指令依赖于修改的控制位。
全文摘要
在第一方面,提供了流水线处理的第一方法。第一方法包括如下步骤(1)沿着有序执行处理流水线接收第一指令;和(2)在第一指令的执行完成之前,沿着有序执行处理流水线接收第二指令。第二指令依赖于与第一指令有关的控制信号。还提供了许多其它方面。
文档编号G06F9/38GK1744033SQ20051005427
公开日2006年3月8日 申请日期2005年3月21日 优先权日2004年9月2日
发明者斯蒂芬·J·施温 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1