CN100361072C - 流水线处理一系列处理指令的方法和设备 - Google Patents

流水线处理一系列处理指令的方法和设备 Download PDF

Info

Publication number
CN100361072C
CN100361072C CNB2004100387646A CN200410038764A CN100361072C CN 100361072 C CN100361072 C CN 100361072C CN B2004100387646 A CNB2004100387646 A CN B2004100387646A CN 200410038764 A CN200410038764 A CN 200410038764A CN 100361072 C CN100361072 C CN 100361072C
Authority
CN
China
Prior art keywords
pipeline
pipeline stages
result
instruction
operand
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2004100387646A
Other languages
English (en)
Other versions
CN1534462A (zh
Inventor
延斯·维滕贝格
蒂姆·尼格迈尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN1534462A publication Critical patent/CN1534462A/zh
Application granted granted Critical
Publication of CN100361072C publication Critical patent/CN100361072C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding

Abstract

处理器指令流水线是精简指令集计算机(RISC)体系结构的典型特征。从寄存器堆中读出处理需要的操作数。在流水线处理中的写后读存取问题,能够通过采用具有寄存器堆每个地址单独入口的记分板来避免。一旦指令进入流水线,在这个特定指令的目的地址的地址设置标记。这个标记表明流水线内的指令需要将其结果写入相应的寄存器地址。因此,只要设置了标记所述结果就不可用。显然,指令处理之后,成功地将结果写到寄存器堆。根据本发明,不仅将单个标记而且将流水线级的编号以及各指令的类型存储在特定指令的相应记分板地址中,所述流水线级的编号当前携带着需要将其结果写入特定寄存器堆地址的指令。

Description

流水线处理一系列处理指令的方法和设备
技术领域
本发明涉及一种流水线处理一系列处理指令的方法和设备,特别是转送精简指令集计算机(RISC)体系结构逻辑的指令时间表和结果。
背景技术
处理器指令流水线,将单条指令的处理分成几个(次)级,并且减少每个级的复杂度,同时提高时钟速度,这是精简指令集计算机(RISC)体系结构的典型特征。这样的流水线具有每周期处理通过一条指令,但每条指令有几个或“n”个周期的延迟。这种情况导致与本发明相关的两个结论:A)如果连续指令流中的特定指令产生其需要作为它直接后继的一个或多个指令的操作数的结果,该后继指令的处理必须等待(即,不能进入流水线并因此使流水线级空闲)直到前一指令的处理在相应流水线级中产生结果为止。这种处理情况用写后读(RAW)流水线故障(hazard)表示。B)操作数一般从所谓的寄存器堆中读取。然而,处理结果产生之后,通常花费一或两个另外的周期或级,直到确实将这些结果存储在寄存器堆里为止。因为所有的处理单元必须在同一级中写回以确保精确中断,所以如果处理单元具有不同的等待时间(例如,加载操作通常能够比浮点操作处理的更快),则结果的产生和寄存器堆存取之间的延迟增加。但是,一旦结果实际产生,通过旁路寄存器堆而从后继的流水线级直接读取结果也是有可能的。这种处理叫作“结果转送”。
RAW故障可以通过采用“记分板”来避免,所述记分板典型的特征是,每个上述寄存器堆的地址有独立的入口。一旦指令进入流水线,就在这个特定指令的目的地址(即,所述结果地址)的地址上设置标记。该标记表明流水线内的指令需要将其结果写入相应的寄存器地址。因此,只要设置了标记,所述结果就不可用。显然指令处理之后,成功地将结果写到寄存器堆中。任何随后的需要进入流水线的指令必须检查,用于它的源(即操作数)寄存器地址中的至少一个是否设置了标记。只要这些标记未清除,所述指令就不允许进入流水线。因此,在每个周期都必须访问记分板。
例如,John L.Hennessy,David A.Patterson:“ComputerArchitecture:A Quantitative Approach”,出版者MorganKaufmann,ISBN:1558605967,2002年5月15日第3版,其中对记分板的体系结构作了详细描述。
发明内容
已知的记分板解决方案的缺点是,它们采用转送和指令表逻辑的较昂贵和通信密集的低速实现。为了实现针对想要进入流水线的每个指令的转送,必须检查每个操作数,看操作数地址是否作为目的寄存器出现在结果产生之后的流水线级之一中。尤其是,在以不同延迟为特征的处理单元的情况下,相当多的流水线级携带有适于转送的结果。公知的转送操作需要与所有的流水线级进行并行通信。
根据本发明,不仅是流水线级的单个标记(single flag)而且编号,或相应的代码字,通常都携带有需要将其结果(或操作数)写入特定寄存器堆地址的指令,并且各自的指令(或操作数,借此这种类型可以是二进制编码代码字)类型存储在位于特定指令(或操作数)的目的地址(即结果地址)的地址的相应记分板或寄存器堆地址中。一方面,这个特征需要记分板中的稍多一些的存储空间,但是另一方面,它简化了RAW故障检测,尤其是指令转送。
换句话说,虽然公知的记分板体系结构采用单个位,来标记特定目的寄存器地址被用于指令流水线中当前处理的指令,但本发明使用更为复杂的数据项,用来标明各指令的当前流水线级编号及类型。有利地,这个特定信息项能够用来计算所需的停止循环数,以防止从其可以转送结果的RAW故障和/或流水线级(或操作数)。
否则,需要监控用于转送的所有流水线级的结果(或操作数),并且在每个周期,问题逻辑都需要访问记分板以检测各标记是否被设置。这些目的所需的逻辑和配线是昂贵的,且处理速度慢。本发明所解决的问题有利于在流水线处理中提高处理速度。
有利地,省略了RISC体系结构中用于结果转送的昂贵且可能低速的总线探测逻辑。写后读(RAW)流水线故障检测的效率也就提高了。
原则上,本发明的方法适用于流水线处理一系列处理指令,包括以下步骤:
一处理一系列连续的流水线级中的所述指令,其中,将部分或中间的第一流水线处理操作数或结果暂时地(intermediately)或永久地存储在操作数/结果存储器中,以在适当的时刻通过一个或多个所述流水线级进一步进行存取,
从而在适当的时刻,通过一个或多个其它所述流水线级,存取在一个或多个所述流水线级中当前可用的部分或中间的第二流水线处理操作数或结果,而不对所述操作数/结果存储器进行存取,以及
从而在记分板中存储信息,该信息关于后续的流水线处理所需的特定的所述部分或中间第一流水线处理操作数或结果存在或不存在,其中在所述记分板中,存储并更新数据,所述数据关于当前需要的操作数或结果处于哪个或哪些流水线级中,可用于一个或多个其它的所述流水线级,以及在所述记分板中,存储并更新关于指令类型的数据,所述指令涉及所述当前所需的操作数或结果,
所述的一个或多个其它的流水线级利用存储在所述记分板中的所述数据,以直接存取其它流水线级中可用的所述当前所需的操作数或结果,而不对存储在所述操作数/结果存储器中的数据进行存取。
原则上,本发明的设备适用于流水线处理一系列的处理指令,且包括:
—操作数/结果存储器;
—一系列连续的流水线级,处理所述指令,从而所述操作数/结果存储器暂时地或永久地存储部分或中间的第一流水线级处理操作数或结果,以在适当的时刻通过一个或多个所述流水线级进一步进行存取,以及
其中所述装置在适当的时刻,存取在一个或多个所述流水线级中当前可用的部分或中间的第二流水线处理操作数或结果,并将其提供给一个或多个其它的流水线级,而不对所述操作数/结果存储器进行存取;
—记分板,用于存储更新后的数据,所述数据关于当前需要的操作数或结果处于哪个或哪些流水线级,可用于一个或多个其它的流水线级,
所述记分板还存储更新后的关于指令类型的数据,所述指令涉及所述当前所需的操作数或结果,以及
其中,在所述装置中,所述的一个或多个其它的流水线级根据存储在所述记分板中的所述数据,直接存取其它流水线级中可用的所述当前所需的操作数或结果,而不对存储在所述操作数/结果存储器中的数据进行存取。
附图说明
参考附图,对本发明的具体实施例进行说明,图示为:
图1寄存器堆/流水线/记分板设置;
图2图1寄存器堆/流水线级/记分板设置中的尺寸为n的示例记分板。
具体实施方式
在图1中,(顺序)指令流进入一系列的n个流水线处理级STG0至STGN-1的第一级STG0。这些级每个均包括如一系列寄存器和适当的处理装置,其执行在CPU或微处理器中执行的典型的计算或操作。例如,级STG3到STGn-2能够转送中间或部分结果给转送总线FWDB,或给多路转送总线。但是,根据本申请,级STG2和/或STG1可以,或另外的接下来的级STG4,STG5,…,也可以不转送中间或部分结果给FWDB总线。级STG0至STGn-2能够转送中间流水线处理结果给相应的后续级,以作进一步处理。第一级STG0能够从总线FWDB和/或从寄存器堆REGF中读取中间或部分结果。最后级STGn-1将最终结果写入到寄存器堆REGF中,并且最终写入总线FWDB。STG0级将上述流水线级的代表编号和上述指令类型的代表编号写入记分板SCB。从级STG3-STGNn-1到FWDB总线的FWDB总线输出的转送由各级输出控制信号STG30C到STGN-10C控制,而所述的级输出控制信号由记分板SCB提供。由于流水线处理的一般原则,所以对于级STG1和STG2转送任何中间或部分结果到总线FWDB,通常不作检测。但是,根据本申请,如上所述,级STG2,STG1,STG4,STG5,…,的任何一个级,可以额外地伴随有或可以不伴随有各级输出控制信号STG20C,STG10C,STC40C,STG50C,…。
图2更详细地示出了记分板SCB可能的操作。将级STG0的输出信号ISTG0提供给控制级CTRL。这个控制级STRL提供复位信号Res给一系列的级计数寄存器STGCR0至STGCRM-1。通常M不等于N。级CTRL也提供由如位A至D组成的类型编码信号给一系列的指令类型寄存器ITR0至ITRM-1。寄存器STGCR0至STGCRM-1和ITR0至ITRM-1进一步由系统或周期时钟CLK以及来自CTRL的使能信号ENB控制。将寄存器STGCR0至STGCRM-1和寄存器ITR0至ITRM-1的输出信号提供给控制级CTRL。
例如,只要指令进入流水线(流水线级STG0),记分板SCB的目的寄存器地址上就写入值“0”。如果流水线级没有停止,如由于RAW故障,则每一个新的周期,涉及先前已经进入第一流水线级的指令的目的寄存器地址的所有级计数器入口就会增加。因此,当前级编号一直不断地更新。当相应的指令离开流水线(流水线级STGn-1)时,计数器增加到值“n”。入口值“n”不增加。
换句话说,当前流水线级计数编号不断更新,且一旦处理过的处理指令离开流水线级系列中的最后的流水线级STGNn-1,流水线级计数编号就被设定不再增加的最终值。
这种处理能够通过在用于每个寄存器地址的CTRL中采用单独的增量器来执行。控制级STRL提供与图1有关的上述控制信号STG30C至STGN-10C。
将x作为产生结果的流水线级的最后编号,将取决于指令类型的编号存储在记分板SCB中。
将y作为要进入流水线的指令的操作数地址的记分板入口。然后,仅仅从x中减去y,就能容易地计算出必需的停止循环次数。如果结果小于或等于“0”,则不需要停止循环。如果y不等于n,则必须转送。实际转送结果的流水线级通过y直接指向信号,即信号OCSTGy。
因此,没有与单独流水线级的通信需要转送。记分板SCB仅通过级STG0存取。所有通信保留在本地,其节约了全程配线(在现代亚μ硅技术中这样的配线使处理较慢)。也节约了可能昂贵且低速的通信逻辑。
例如,SPARC V8 RISC处理器能够用来实现本发明,借此,浮点单元的内部接口能够根据本发明重新设计,以得到更好的性能。浮点流水线能够具有八个级的长度,其中浮点操作能够在第6级产生它们的结果,并且在第2级载入操作就已发生。因此,特殊地,载入指令需要广泛的转送。该实现已经通过使用VHDL在寄存器转移级上的模拟,以及通过FPGA板上的快速样机研究实现得到了全面的证实。
优选地,电子和/或自动地执行本发明的流水线处理。
代替硬件,本发明也能够通过采用相应的软件来实现。

Claims (8)

1、一种用于流水线处理一系列处理指令(SIS)的方法,包括以下步骤:
-处理一系列连续的流水线级(STGO-STGn-1)中的所述指令(SIS),其中,将部分或中间的第一流水线级处理操作数或结果暂时地或永久地存储在操作数/结果存储器(REGF)中,以在适当的时刻通过一个或多个所述流水线级(STGO-STGn-1)进一步进行存取,
从而在适当的时刻,通过一个或多个其它的流水线级,存取在一个或多个流水线级中当前可用的部分或中间的第二流水线处理操作数或结果,而不对所述操作数/结果存储器(REGF)进行存取,以及
从而在记分板(SCB)中存储信息,该信息关于后续的流水线处理所需的特定部分或中间的第一流水线级操作数或结果存在或不存在,
其特征在于:
-在所述记分板(SCB)中,存储并更新数据,所述数据关于当前所需的操作数或结果处于哪个或哪些流水线级中,可用于一个或多个其它的流水线级,以及在所述记分板(SCB)中,存储并更新关于指令类型的数据,所述指令涉及所述当前所需的操作数或结果,
所述的一个或多个其它的流水线级利用存储在所述记分板中的所述数据,以直接存取其它流水线级中可用的所述当前所需的操作数或结果,而不对存储在所述操作数/结果存储器中的数据进行存取。
2、如权利要求1所述的方法,其特征在于所述记分板(SCB)包含单独的增量器,用于所述操作数/结果存储器中的寄存器的每个地址。
3、如权利要求2所述的方法,其特征在于,
一旦处理指令进入所述第一流水线级(STGO),第一流水线级(STGO)在所述记分板(SCB)中的目的寄存器的地址上写入零值,并且,如果相应的流水线没有停止,每个新的周期所有级的计数器将加1,所述级计数器涉及先前进入第一流水线级的处理指令,这样当前流水线级计数值不断更新,并且,一旦处理过的处理指令离开所述系列流水线级的最后流水线级(STGn-1),所述流水线级计数值就会被设置为不再增加的最终值(n)。
4、如权利要求1至3之一所述的方法,其特征在于,
所述流水线级系列,除了第一(STGO)和最后(STGn-1)流水线级,将在一个或多个所述流水线级中可用的部分或中间的第二流水线处理操作数或结果提供给公共总线(FWDB),在适当的时刻,通过一个或多个其它的所述流水线级,从所述公共总线(FWDB)存取部分或中间的第二流水线处理操作数或结果,而不对所述操作数/结果存储器(REGF)进行存取。
5、一种流水线处理一系列处理指令(SIS)的装置,包括:
-操作数/结果存储器(REGF);
-一系列连续的流水线级(STGO-STGn-1),处理所述指令(SIS),从而所述操作数/结果存储器(REGF)暂时地或永久地存储部分或中间的第一流水线级处理操作数或结果,以在适当的时刻通过一个或多个所述流水线级(STGO-STGn-1)进一步进行存取,以及
其中,所述装置在适当的时刻,存取在一个或多个所述流水线级中当前可用的部分或中间的第二流水线处理操作数或结果,并将其提供给一个或多个其它的流水线级,而不对所述操作数/结果存储器(REGF)进行存取;
-记分板(SCB),用于存储更新后的数据,所述数据关于当前需要的操作数或结果处于哪个或哪些流水线级中,可用于一个或多个其它的流水线级,
所述记分板还存储更新后的关于指令类型的数据,所述指令涉及所述当前所需的操作数或结果,以及
其中,在所述装置中,所述的一个或多个其它的流水线级根据存储在所述记分板中的所述数据,直接存取其它流水线级中可用的所述当前所需的操作数或结果,而不对存储在所述操作数/结果存储器中的数据进行存取。
6、如权利要求5所述的装置,其特征在于所述记分板(SCB)包含单独的增量器,用于所述操作数/结果存储器中的寄存器的每个地址。
7、如权利要求6所述的装置,其特征在于,
一旦处理指令进入所述第一流水线级(STGO),第一流水线级(STGO)在所述记分板(SCB)中的目的寄存器的地址上写入零值,并且,如果相应的流水线没有停止,每个新的周期所有级的计数器将加1,所述级计数器涉及先前进入第一流水线级的处理指令,这样当前流水线级计数值不断更新,并且,一旦处理过的处理指令离开所述系列流水线级的最后流水线级(STGn-1),所述流水线级计数值就会被设置为不再增加的最终值(n)。
8、如权利要求5至7之一所述的装置,其特征在于,
所述流水线级系列,除了第一(STGO)和最后(STGn-1)流水线级,将在一个或多个所述流水线级中可用的部分或中间的第二流水线处理操作数或结果提供给公共总线(FWDB),在适当的时刻,通过一个或多个其它的所述流水线级,从所述公共总线(FWDB)存取部分或中间的第二流水线处理操作数或结果,而不对所述操作数/结果存储器(REGF)进行存取。
CNB2004100387646A 2003-03-29 2004-03-29 流水线处理一系列处理指令的方法和设备 Expired - Fee Related CN100361072C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03090089.8 2003-03-29
EP03090089A EP1462934A1 (en) 2003-03-29 2003-03-29 Method and apparatus for forwarding of results

Publications (2)

Publication Number Publication Date
CN1534462A CN1534462A (zh) 2004-10-06
CN100361072C true CN100361072C (zh) 2008-01-09

Family

ID=32798971

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100387646A Expired - Fee Related CN100361072C (zh) 2003-03-29 2004-03-29 流水线处理一系列处理指令的方法和设备

Country Status (5)

Country Link
US (1) US20050076189A1 (zh)
EP (1) EP1462934A1 (zh)
JP (1) JP2004342087A (zh)
KR (1) KR20040085058A (zh)
CN (1) CN100361072C (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060095732A1 (en) * 2004-08-30 2006-05-04 Tran Thang M Processes, circuits, devices, and systems for scoreboard and other processor improvements
JP2008527559A (ja) 2005-01-13 2008-07-24 エヌエックスピー ビー ヴィ プロセッサ及びその命令発行方法
US7613904B2 (en) * 2005-02-04 2009-11-03 Mips Technologies, Inc. Interfacing external thread prioritizing policy enforcing logic with customer modifiable register to processor internal scheduler
US7752627B2 (en) * 2005-02-04 2010-07-06 Mips Technologies, Inc. Leaky-bucket thread scheduler in a multithreading microprocessor
US7853777B2 (en) * 2005-02-04 2010-12-14 Mips Technologies, Inc. Instruction/skid buffers in a multithreading microprocessor that store dispatched instructions to avoid re-fetching flushed instructions
US7657891B2 (en) 2005-02-04 2010-02-02 Mips Technologies, Inc. Multithreading microprocessor with optimized thread scheduler for increasing pipeline utilization efficiency
US7664936B2 (en) * 2005-02-04 2010-02-16 Mips Technologies, Inc. Prioritizing thread selection partly based on stall likelihood providing status information of instruction operand register usage at pipeline stages
US7506140B2 (en) * 2005-02-04 2009-03-17 Mips Technologies, Inc. Return data selector employing barrel-incrementer-based round-robin apparatus
US7657883B2 (en) * 2005-02-04 2010-02-02 Mips Technologies, Inc. Instruction dispatch scheduler employing round-robin apparatus supporting multiple thread priorities for use in multithreading microprocessor
US7681014B2 (en) * 2005-02-04 2010-03-16 Mips Technologies, Inc. Multithreading instruction scheduler employing thread group priorities
US7490230B2 (en) * 2005-02-04 2009-02-10 Mips Technologies, Inc. Fetch director employing barrel-incrementer-based round-robin apparatus for use in multithreading microprocessor
US7631130B2 (en) * 2005-02-04 2009-12-08 Mips Technologies, Inc Barrel-incrementer-based round-robin apparatus and instruction dispatch scheduler employing same for use in multithreading microprocessor
US20070260856A1 (en) * 2006-05-05 2007-11-08 Tran Thang M Methods and apparatus to detect data dependencies in an instruction pipeline
US7961745B2 (en) * 2006-09-16 2011-06-14 Mips Technologies, Inc. Bifurcated transaction selector supporting dynamic priorities in multi-port switch
US7760748B2 (en) * 2006-09-16 2010-07-20 Mips Technologies, Inc. Transaction selector employing barrel-incrementer-based round-robin apparatus supporting dynamic priorities in multi-port switch
US7990989B2 (en) * 2006-09-16 2011-08-02 Mips Technologies, Inc. Transaction selector employing transaction queue group priorities in multi-port switch
US7773621B2 (en) * 2006-09-16 2010-08-10 Mips Technologies, Inc. Transaction selector employing round-robin apparatus supporting dynamic priorities in multi-port switch
KR100861073B1 (ko) * 2007-01-23 2008-10-01 충북대학교 산학협력단 적응형 파이프라인을 적용한 병렬 처리 프로세서 구조
US20140129805A1 (en) * 2012-11-08 2014-05-08 Nvidia Corporation Execution pipeline power reduction
KR102174337B1 (ko) 2014-04-08 2020-11-04 삼성전자주식회사 메모리 시스템 및 이를 포함하는 전자 장치
JP2016031626A (ja) * 2014-07-29 2016-03-07 ソニー株式会社 メモリコントローラ、記憶装置、情報処理システム、および、それらにおける制御方法。
CN104536914B (zh) * 2014-10-15 2017-08-11 中国航天科技集团公司第九研究院第七七一研究所 基于寄存器访问标记的相关处理装置和方法
GB2563582B (en) * 2017-06-16 2020-01-01 Imagination Tech Ltd Methods and systems for inter-pipeline data hazard avoidance
CN110825437B (zh) * 2018-08-10 2022-04-29 昆仑芯(北京)科技有限公司 用于处理数据的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1188932A (zh) * 1996-12-27 1998-07-29 国际商业机器公司 多线程处理器中指令和关联读取请求的后台完成
WO2000039669A1 (en) * 1998-12-23 2000-07-06 Intel Corporation Routing dependent instructions to clustered execution units
CN1357837A (zh) * 2000-12-12 2002-07-10 智原科技股份有限公司 适用于处理器的存储器数据存取装置及其存取方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4903196A (en) * 1986-05-02 1990-02-20 International Business Machines Corporation Method and apparatus for guaranteeing the logical integrity of data in the general purpose registers of a complex multi-execution unit uniprocessor
US5185868A (en) * 1990-01-16 1993-02-09 Advanced Micro Devices, Inc. Apparatus having hierarchically arranged decoders concurrently decoding instructions and shifting instructions not ready for execution to vacant decoders higher in the hierarchy
DE69130138T2 (de) * 1990-06-29 1999-05-06 Digital Equipment Corp Sprungvorhersageeinheit für hochleistungsfähigen Prozessor
JP3730252B2 (ja) * 1992-03-31 2005-12-21 トランスメタ コーポレイション レジスタ名称変更方法及び名称変更システム
JP2933027B2 (ja) * 1996-08-30 1999-08-09 日本電気株式会社 複数命令並列発行/実行管理装置
US5838960A (en) * 1996-09-26 1998-11-17 Bay Networks, Inc. Apparatus for performing an atomic add instructions
US5996065A (en) * 1997-03-31 1999-11-30 Intel Corporation Apparatus for bypassing intermediate results from a pipelined floating point unit to multiple successive instructions
US6139199A (en) * 1997-06-11 2000-10-31 Sun Microsystems, Inc. Fast just-in-time (JIT) scheduler
US6094711A (en) * 1997-06-17 2000-07-25 Sun Microsystems, Inc. Apparatus and method for reducing data bus pin count of an interface while substantially maintaining performance
US5784588A (en) * 1997-06-20 1998-07-21 Sun Microsystems, Inc. Dependency checking apparatus employing a scoreboard for a pair of register sets having different precisions
US5790827A (en) * 1997-06-20 1998-08-04 Sun Microsystems, Inc. Method for dependency checking using a scoreboard for a pair of register sets having different precisions
KR100608389B1 (ko) * 1998-08-24 2006-08-09 어드밴스드 마이크로 디바이시즈, 인코포레이티드 저장 어드레스 생성에 대한 적재 블록을 위한 메커니즘
US6141747A (en) * 1998-09-22 2000-10-31 Advanced Micro Devices, Inc. System for store to load forwarding of individual bytes from separate store buffer entries to form a single load word
US7139899B2 (en) * 1999-09-03 2006-11-21 Cisco Technology, Inc. Selected register decode values for pipeline stage register addressing
US6912557B1 (en) * 2000-06-09 2005-06-28 Cirrus Logic, Inc. Math coprocessor
US7093107B2 (en) * 2000-12-29 2006-08-15 Stmicroelectronics, Inc. Bypass circuitry for use in a pipelined processor
US6947047B1 (en) * 2001-09-20 2005-09-20 Nvidia Corporation Method and system for programmable pipelined graphics processing with branching instructions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1188932A (zh) * 1996-12-27 1998-07-29 国际商业机器公司 多线程处理器中指令和关联读取请求的后台完成
WO2000039669A1 (en) * 1998-12-23 2000-07-06 Intel Corporation Routing dependent instructions to clustered execution units
CN1357837A (zh) * 2000-12-12 2002-07-10 智原科技股份有限公司 适用于处理器的存储器数据存取装置及其存取方法

Also Published As

Publication number Publication date
CN1534462A (zh) 2004-10-06
EP1462934A1 (en) 2004-09-29
KR20040085058A (ko) 2004-10-07
JP2004342087A (ja) 2004-12-02
US20050076189A1 (en) 2005-04-07

Similar Documents

Publication Publication Date Title
CN100361072C (zh) 流水线处理一系列处理指令的方法和设备
CN106648554B (zh) 用于改善连续的事务性存储器区的吞吐量的系统、方法和装置
CN1188778C (zh) 处理指令的方法、处理器和数据处理系统
CN100382061C (zh) 按照类型对中断计数的方法和装置
CN108388528A (zh) 基于硬件的虚拟机通信
CN101681259A (zh) 用于使用局部条件码寄存器以加速管线处理器中的条件指令执行的系统和方法
EP2984557B1 (en) Systems and methods for flag tracking in move elimination operations
KR100507415B1 (ko) 마이크로프로세서내의공유데이터경로를통해정수데이터및부동소수점데이터를통신하기위한장치및그통신방법
CN108351786A (zh) 在指令集架构中对数据进行排序并且合并经排序数据
US20090106533A1 (en) Data processing apparatus
CN110321159A (zh) 用于实现链式区块操作的系统和方法
CN107851007B (zh) 宽数据类型的比较的方法和装置
CN102890624B (zh) 用于管理无序毫码控制操作的方法和系统
CN107925419A (zh) 用于使用硬件和软件进行解压缩的系统、方法和装置
CN110058886A (zh) 用于计算两个区块操作数中的半字节的数量积的系统和方法
CN1816798B (zh) 用于包括运算标志的单指令多数据管理的系统、方法和设备
US7523152B2 (en) Methods for supporting extended precision integer divide macroinstructions in a processor
CN101539852A (zh) 处理器和信息处理设备
US6240507B1 (en) Mechanism for multiple register renaming and method therefor
US9727340B2 (en) Hybrid tag scheduler to broadcast scheduler entry tags for picked instructions
US6209073B1 (en) System and method for interlocking barrier operations in load and store queues
CN108369508A (zh) 使用处理器指令前缀的二进制转换支持
US20220129268A1 (en) Apparatus and method for right-shifting packed quadwords and extracting packed words
CN109840070A (zh) 处置半精度操作数的系统、方法和装置
CN111414196A (zh) 一种零值寄存器的实现方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080109

Termination date: 20110329