CN110647362B - 一种基于记分牌原理的两级缓置发射装置 - Google Patents
一种基于记分牌原理的两级缓置发射装置 Download PDFInfo
- Publication number
- CN110647362B CN110647362B CN201910858592.3A CN201910858592A CN110647362B CN 110647362 B CN110647362 B CN 110647362B CN 201910858592 A CN201910858592 A CN 201910858592A CN 110647362 B CN110647362 B CN 110647362B
- Authority
- CN
- China
- Prior art keywords
- instruction
- queue
- scoreboard
- stage
- transmitting
- 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.)
- Active
Links
- 230000003139 buffering effect Effects 0.000 title claims abstract description 14
- 208000032370 Secondary transmission Diseases 0.000 claims abstract description 13
- 230000005540 biological transmission Effects 0.000 claims description 13
- 230000000903 blocking effect Effects 0.000 claims description 13
- 230000001276 controlling effect Effects 0.000 claims description 6
- 230000001105 regulatory effect Effects 0.000 claims description 6
- 239000000872 buffer Substances 0.000 description 16
- 238000010586 diagram Methods 0.000 description 7
- 238000011144 upstream manufacturing Methods 0.000 description 3
- WTUKKAOMXJCRLH-UHFFFAOYSA-N 3-(2,2-dimethyl-3h-1-benzofuran-7-yl)-5-methoxy-1,3,4-oxadiazol-2-one Chemical compound O=C1OC(OC)=NN1C1=CC=CC2=C1OC(C)(C)C2 WTUKKAOMXJCRLH-UHFFFAOYSA-N 0.000 description 1
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
本发明涉及一种基于记分牌原理的两级缓置发射装置,包括一级等待队列和二级发射队列,所述一级等待队列和二级发射队列之间设置有推测记分牌,所述二级发射队列的发射处设置有一个精确记分牌,所述推测记分牌解锁时机是根据指令在执行部件执行的周期来确定指令从所述一级等待队列发射至所述二级发射队列后解推测记分牌的时机;所述精确记分牌解锁时机是根据指令在执行部件执行的周期来确定指令从二级发射子队列至执行部件后解整数精确记分牌的时机。本发明简化复杂的发射选择逻辑,调整二级队列的利用率,提高发射效率。
Description
技术领域
本发明涉及超标量微处理器的指令流水线设计技术领域,特别是涉及一种基于记分牌原理的两级缓置发射装置。
背景技术
现代超标量处理器一般包括取指,译码,重命名,发射,执行,退出等基本的流水线站台,且包含多个执行部件,允许多条指令并行执行。作为连接指令流水线和执行部件的桥梁,发射部件可以实时判断处理器当前的运行状态,从指令窗口中挖掘可以并行的指令,并动态调度到执行部件上执行。在发射部件之前的流水站台,指令均顺序进入,顺序流出;而对于发射部件而言,指令顺序进入,乱序流出。
为了支持指令动态调度,在超标量处理器中经常采用记分牌技术,其原理为:在记分牌状态中集中记录所有当前操作数的状态,标明是否可用,即是否可以被指令读出使用。指令对某个操作数要进行写操作时,封锁该操作数,使之不可用;当该指令执行完成后,则将该操作数解锁,标明此操作数可用。在操作数被封锁期间,以该操作数为源操作数的指令不可发射至执行部件,以消除写后读冒险,保证有数据相关性的指令严格按照程序序执行。而没有数据相关性的指令,在记分牌上也没有可关联性,可以乱序发射至执行部件,乱序执行。
具体来说,***中用于维护指令间数据相关性的记分牌状态表(后续简称为记分牌状态表)包含n位的信息,集中记录了n个操作数是否可用的信息,即是否被封锁。每一位对应一个操作数,为“0”表示该操作数可用,即已经解锁;为“1”表示该操作数不可用,即被封锁。
经过重命名站台的每条指令都带有一个n位的源记分牌,每一位对应一个操作数。源记分牌中为“0”的位置表示本条指令的执行不需要对应的操作数可用,为“1”的位置表示本条指令的执行需要对应的操作数可用。每条指令的源记分牌,根据其源操作数的个数,可以有零位或者多位为“1”。
同时,经过重命名站台的每条指令都带有一个n位的目标记分牌,每一位对应一个操作数。目标记分牌中为“0”的位置表示本条指令不会修改对应的操作数,为“1”的位置表示本条指令会修改对应的操作数。每条指令的目标记分牌,根据其目标操作数的个数,可以有零位或者一位为“1”。
指令从上一级站台进入发射部件时,若其目标指示牌中第m位为1,则将记分牌状态表的第m位置“1”,即将其封锁;待该指令被发射至执行部件,并执行完成后,将记分牌状态表的第m位清“0”,即将其解锁。
对于进入发射部件的指令,每个周期都将自己的源记分牌与记分牌状态表相比较,只要两者在相同的位置出现了“1”,就意味着存在数据写后读冒险,该指令不允许被发射。
通常情况下,由于发射部件中缓存的指令已经经过了译码、重命名等站台的处理,包含较多的信息,且查找、判断等控制逻辑较为复杂,在物理实现时,布线密集,逻辑级数多,延迟较长,是物理设计的难点。随着处理器频率和发射带宽的提升,指令发射逻辑容易成为流水线关键路径。因此发射部件设计需要兼顾性能和物理实现,才能达到最好效果。
因此,在发射部件的设计中,传统的一级缓置设计往往难以同时满足性能和时序的要求。而若采用两级缓置设计,则可以将指令分别存储在两个缓冲中。在缓存的指令总数相当的前提下,与只有一级发射缓冲相比,可以降低物理实现难度,有利于提高处理器的频率。
在两级缓置发射的设计中,为了尽可能有好的性能表现,充分发挥两级缓冲的作用,总是尽可能的将操作数没有准备好的指令放在接近流水线上游的一级缓冲中,而将操作数已经接近准备好的指令放在接近流水线下游的二级缓冲中,这样既充分利用资源,又能最大程度减少对性能带来的影响。因此,控制指令从一级缓冲发射至二级缓冲的时机显得至关重要。
发明内容
本发明所要解决的技术问题是提供一种基于记分牌原理的两级缓置发射装置,简化复杂的发射选择逻辑,调整二级队列的利用率,提高发射效率。
本发明解决其技术问题所采用的技术方案是:提供一种基于记分牌原理的两级缓置发射装置,包括一级等待队列和二级发射队列,所述一级等待队列和二级发射队列之间设置有推测记分牌,所述推测记分牌用于调控所有指令从所述一级等待队列发向所述二级发射队列的时机,所述二级发射队列的发射处设置有一个精确记分牌,所述精确记分牌用于调控所有指令从所述二级发射队列精确发射的时机;所述推测记分牌解锁时机是根据指令在执行部件执行的周期来确定指令从所述一级等待队列发射至所述二级发射队列后解推测记分牌的时机;所述精确记分牌解锁时机是根据指令在执行部件执行的周期来确定指令从二级发射子队列至执行部件后解整数精确记分牌的时机。
假设指令的目标记分牌的第m位为有效位置,执行周期数为N,则该指令从重命名站台进入所述一级等待队列后,立即将所述推测记分牌的第m位封锁;该指令从所述二级发射队列发射至执行部件后第N-2个周期时,将所述推测记分牌的第m位解锁。
对于单拍指令,在指令从所述一级等待队列发射至所述二级发射队列时,即将所述推测记分牌的第m位解锁;对于LOAD类指令,其执行周期数被认为与命中一级数据Cache时的执行周期数相同。
指令进入所述一级等待队列时,若发现存在与本指令的源记分牌有效位置对应的推测记分牌的状态有任意一位或几位为封锁状态,则指令被禁止发射至所述二级发射队列。
假设指令的目标记分牌的第m位为有效位置,执行周期数为N,则该指令从重命名站台进入所述一级等待队列后,立即将所述精确记分牌的第m位封锁;该指令从所述二级发射队列发射至执行部件后第N-1个周期时,将所述精确记分牌的第m位解锁。
对于单拍指令,在指令从所述二级发射队列发射至所述执行部件时,即将所述精确记分牌的第m位解锁;对于LOAD类指令,其执行周期数被认为与命中一级数据Cache时的执行周期数相同,认为LOAD指令执行周期是4拍,发射一条LOAD指令后,记录该指令设置的记分牌号,在发射后第3拍时,将LOAD指令设置的记分牌号译为64位后解除精确记分牌的第m位封锁,在发射第4拍时根据DCache命中信号判断推测是否成功,如果推测成功,则继续后续操作;如果推测失败,则封锁当拍指令发射,并其精确记分牌第m位重新封锁,等待其完成时再解锁。
所述一级等待队列共有3个,分别为整数等待队列、浮点等待队列和访存等待队列;所述二级发射队列共有9个,包含3个整数发射队列,2个浮点发射队列,2个访存发射队列,1个整数存储数据发射队列和1个浮点存储数据发射队列;所述整数等待队列中的指令按照所分配的流水线分别发往3个整数发射队列;所述浮点等待队列中的指令按照所分配的流水线分别发往2个浮点发射队列;所述访存等待队列中的指令,如果是LOAD类指令,按照所分配的流水线发往2个访存发射队列,如果是STORE类指令则一方面按照所分配的流水线,发往2个访存发射队列,另一方面按照STORE数据类型,发往整数存储数据发射队列或浮点存储数据发射队列。
有益效果
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明从等待缓冲到发射缓冲,每个指令的分派口均不超过3个,大大减轻逻辑的复杂度,降低物理实现难度,提高了发射效率,并有助于提高处理器的频率。本发明在一级等待队列和二级发射队列之间,设置推测记分牌,控制指令从一级等待队列进入二级发射队列的时机,在二级发射队列出口,使用了精确记分牌,使得操作数明显没有准备好的指令尽量在一级等待队列等候发射,操作数接近或者已经准备好的指令尽量在二级发射队列等候发射,通过两个记分牌能够控制指令从一级缓冲发射至二级缓冲的时机,调整二级队列的利用率,提高发射效率。
附图说明
图1为本发明的结构示意图;
图2为一级等待队列发往二级发射队列的示意图;
图3为二级发射队列发射的示意图;
图4为推测记分牌被封锁示意图;
图5为推测记分牌被解锁示意图;
图6为精确记分牌被LOAD类指令预解锁示意图;
图7为精确记分牌被LOAD类指令预解锁失败示意图;
图8为精确记分牌被LOAD类指令解锁示意图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明的实施方式涉及一种基于记分牌原理的两级缓置发射装置,如图1所示,包括一级等待队列和二级发射队列,所述一级等待队列和二级发射队列之间设置有推测记分牌,所述推测记分牌用于调控所有指令从所述一级等待队列发向所述二级发射队列的时机,所述二级发射队列的发射处设置有一个精确记分牌,所述精确记分牌用于调控所有指令从所述二级发射队列精确发射的时机。
本实施方式主要针对采用记分牌技术并在需要乱序发射的处理器。接近流水线上游的一级缓冲,在本实施方式中称之为一级等待队列,接近流水线下游的二级缓冲,在本实施方式中称之为二级发射队列。
其中,一级等待队列共有3个,分别为整数等待队列、浮点等待队列和访存等待队列;二级发射队列共有9个,包含3个整数发射队列,2个浮点发射队列,2个访存发射队列,1个整数存储数据发射队列和1个浮点存储数据发射队列。所述整数等待队列中的指令按照所分配的流水线分别发往3个整数发射队列;所述浮点等待队列中的指令按照所分配的流水线分别发往2个浮点发射队列;所述访存等待队列中的指令,如果是LOAD类指令,按照所分配的流水线发往2个访存发射队列,如果是STORE类指令则一方面按照所分配的流水线,发往2个访存发射队列,另一方面按照STORE数据类型,发往整数存储数据发射队列或浮点存储数据发射队列。
本实施方式将上游译码完成的指令,按指令整数、浮点或访存的类型,分别分配到3个一级等待队列中,将推测记分牌未解开的指令,存放在一级等待队列中等待其推测记分牌解开,将推测记分牌已解开的指令发往二级发射队列(见图2)。二级发射队列中存放所有精确记分牌已解锁的指令,其可以立即发往执行部件,图3为二级发射队列发射的示意图。
所述推测记分牌解锁时机是根据指令在执行部件执行的周期来确定指令从所述一级等待队列发射至所述二级发射队列后解推测记分牌的时机。本实施方式中推测记分牌的宽度与精确记分牌的宽度一致,每一位有两种状态:为“0”表示解锁状态,为“1”表示封锁状态。
假设指令的目标记分牌的第m位为有效位置,执行周期数为N,则该指令从重命名站台进入所述一级等待队列后,立即将所述推测记分牌的第m位封锁;该指令从所述二级发射队列发射至执行部件后第N-2个周期时,将所述推测记分牌的第m位解锁。
对于单拍指令,在指令从所述一级等待队列发射至所述二级发射队列时,即将所述推测记分牌的第m位解锁。
对于LOAD类指令,其执行周期数被认为与命中一级数据Cache时的执行周期数相同。
指令进入一级等待队列,若发现存在与本指令的源记分牌有效位置对应的推测记分牌的状态有任意一位或几位为封锁状态,则指令被禁止发射至二级发射队列,这样可以保证操作数肯定没有准备好的指令在一级等待队列等候,而不占用二级发射队列的条目。
如图4所示,指令j的目标记分牌的有效位置为位置2,从重命名发射至一级等待队列后,立即根据其目标记分牌的有效位置,将推测记分牌的位置2封锁。如图5所示,指令j的目标记分牌的有效位置为位置2,执行周期数为N,从一级等待队列发射至二级发射队列后第N个周期,根据其目标记分牌的有效位置,将推测记分牌的位置2解锁。
所述精确记分牌解锁时机是根据指令在执行部件执行的周期来确定指令从二级发射子队列至执行部件后解整数精确记分牌的时机。
假设指令的目标记分牌的第m位为有效位置,执行周期数为N,则该指令从重命名站台进入所述一级等待队列后,立即将所述精确记分牌的第m位封锁;该指令从所述二级发射队列发射至执行部件后第N-1个周期时,将所述精确记分牌的第m位解锁。
对于单拍指令,在指令从所述二级发射队列发射至所述执行部件时,即将所述精确记分牌的第m位解锁。
对于LOAD类指令,其执行周期数被认为与命中一级数据Cache时的执行周期数相同,若发生DCache不命中,则将其精确记分牌第m位重新封锁,等待其完成时再解锁。具体地说,对于整数LOAD类指令,总是推测LOAD指令命中DCache,即认为LOAD指令执行周期是4拍。发射一条LOAD指令后,记录该指令设置的记分牌号,在发射后第3拍时,将LOAD指令设置的记分牌号译为64位后解除对应的记分牌位,在发射第4拍根据DBOX给的DCache命中信号判断推测是否成功。如果推测成功,则继续后续操作;如果推测失败,则封锁当拍指令发射,并恢复推测解开的记分牌位。
当推测成功时,可提前1拍发射其后指令,即解除记分牌提前了一拍。在DCache命中率高意味着推测命中率高,可以提高性能。如果LOAD指令不命中DCache,则产生推测加载失败,在这种情况下,如果准备发射的指令指令与推测加载指令相关,则停止发射。
如图6所示,指令j为LOAD类指令,目标记分牌的有效位置为位置2,指令j从二级发射队列发射至执行部件后第3拍时,根据其目标记分牌的有效位置,将精确记分牌的位置2解锁。如图7所示,指令j为LOAD类指令,目标记分牌的有效位置为位置2,指令j从二级发射队列发射至执行部件后第4拍,收到其DCache没有命中的信号,将精确调控记分牌的位置2重新封锁。如图8所示,指令j为LOAD类指令,目标记分牌的有效位置为位置2,指令j真正完成时,根据其目标记分牌的有效位置,将精确记分牌的位置2解锁。
不难发现,本发明在一级等待队列和二级发射队列之间,设置推测记分牌,控制指令从一级等待队列进入二级发射队列的时机,在二级发射队列出口,使用了精确记分牌,使得操作数明显没有准备好的指令尽量在一级等待队列等候发射,操作数接近或者已经准备好的指令尽量在二级发射队列等候发射,通过两个记分牌能够控制指令从一级缓冲发射至二级缓冲的时机,调整二级队列的利用率,提高发射效率。
Claims (7)
1.一种基于记分牌原理的两级缓置发射装置,包括一级等待队列和二级发射队列,所述一级等待队列和二级发射队列之间设置有推测记分牌,所述推测记分牌用于调控所有指令从所述一级等待队列发向所述二级发射队列的时机,其特征在于,所述二级发射队列的发射处设置有一个精确记分牌,所述精确记分牌用于调控所有指令从所述二级发射队列精确发射的时机;所述推测记分牌解锁时机是根据指令在执行部件执行的周期来确定指令从所述一级等待队列发射至所述二级发射队列后解推测记分牌的时机;所述精确记分牌解锁时机是根据指令在执行部件执行的周期来确定指令从二级发射子队列至执行部件后解整数精确记分牌的时机;假设指令的目标记分牌的第m位为有效位置,执行周期数为N,则该指令从重命名站台进入所述一级等待队列后,立即将所述推测记分牌的第m位封锁;该指令从所述二级发射队列发射至执行部件后第N-2个周期时,将所述推测记分牌的第m位解锁。
2.根据权利要求1所述的基于记分牌原理的两级缓置发射装置,其特征在于,对于单拍指令,在指令从所述一级等待队列发射至所述二级发射队列时,即将所述推测记分牌的第m位解锁;对于LOAD类指令,其执行周期数被认为与命中一级数据Cache时的执行周期数相同。
3.根据权利要求1所述的基于记分牌原理的两级缓置发射装置,其特征在于,指令进入所述一级等待队列时,若发现存在与本指令的源记分牌有效位置对应的推测记分牌的状态有任意一位或几位为封锁状态,则指令被禁止发射至所述二级发射队列。
4.根据权利要求1所述的基于记分牌原理的两级缓置发射装置,其特征在于,所述一级等待队列共有3个,分别为整数等待队列、浮点等待队列和访存等待队列;所述二级发射队列共有9个,包含3个整数发射队列,2个浮点发射队列,2个访存发射队列,1个整数存储数据发射队列和1个浮点存储数据发射队列;所述整数等待队列中的指令按照所分配的流水线分别发往3个整数发射队列;所述浮点等待队列中的指令按照所分配的流水线分别发往2个浮点发射队列;所述访存等待队列中的指令,如果是LOAD类指令,按照所分配的流水线发往2个访存发射队列,如果是STORE类指令则一方面按照所分配的流水线,发往2个访存发射队列,另一方面按照STORE数据类型,发往整数存储数据发射队列或浮点存储数据发射队列。
5.一种基于记分牌原理的两级缓置发射装置,包括一级等待队列和二级发射队列,所述一级等待队列和二级发射队列之间设置有推测记分牌,所述推测记分牌用于调控所有指令从所述一级等待队列发向所述二级发射队列的时机,其特征在于,所述二级发射队列的发射处设置有一个精确记分牌,所述精确记分牌用于调控所有指令从所述二级发射队列精确发射的时机;所述推测记分牌解锁时机是根据指令在执行部件执行的周期来确定指令从所述一级等待队列发射至所述二级发射队列后解推测记分牌的时机;所述精确记分牌解锁时机是根据指令在执行部件执行的周期来确定指令从二级发射子队列至执行部件后解整数精确记分牌的时机;假设指令的目标记分牌的第m位为有效位置,执行周期数为N,则该指令从重命名站台进入所述一级等待队列后,立即将所述精确记分牌的第m位封锁;该指令从所述二级发射队列发射至执行部件后第N-1个周期时,将所述精确记分牌的第m位解锁。
6.根据权利要求5所述的基于记分牌原理的两级缓置发射装置,其特征在于,对于单拍指令,在指令从所述二级发射队列发射至所述执行部件时,即将所述精确记分牌的第m位解锁;对于LOAD类指令,其执行周期数被认为与命中一级数据Cache时的执行周期数相同,认为LOAD指令执行周期是4拍,发射一条LOAD指令后,记录该指令设置的记分牌号,在发射后第3拍时,将LOAD指令设置的记分牌号译为64位后解除精确记分牌的第m位封锁,在发射第4拍时根据DCache命中信号判断推测是否成功,如果推测成功,则继续后续操作;如果推测失败,则封锁当拍指令发射,并其精确记分牌第m位重新封锁,等待其完成时再解锁。
7.根据权利要求5所述的基于记分牌原理的两级缓置发射装置,其特征在于,所述一级等待队列共有3个,分别为整数等待队列、浮点等待队列和访存等待队列;所述二级发射队列共有9个,包含3个整数发射队列,2个浮点发射队列,2个访存发射队列,1个整数存储数据发射队列和1个浮点存储数据发射队列;所述整数等待队列中的指令按照所分配的流水线分别发往3个整数发射队列;所述浮点等待队列中的指令按照所分配的流水线分别发往2个浮点发射队列;所述访存等待队列中的指令,如果是LOAD类指令,按照所分配的流水线发往2个访存发射队列,如果是STORE类指令则一方面按照所分配的流水线,发往2个访存发射队列,另一方面按照STORE数据类型,发往整数存储数据发射队列或浮点存储数据发射队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910858592.3A CN110647362B (zh) | 2019-09-11 | 2019-09-11 | 一种基于记分牌原理的两级缓置发射装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910858592.3A CN110647362B (zh) | 2019-09-11 | 2019-09-11 | 一种基于记分牌原理的两级缓置发射装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110647362A CN110647362A (zh) | 2020-01-03 |
CN110647362B true CN110647362B (zh) | 2023-03-31 |
Family
ID=68991755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910858592.3A Active CN110647362B (zh) | 2019-09-11 | 2019-09-11 | 一种基于记分牌原理的两级缓置发射装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110647362B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117667223B (zh) * | 2024-02-01 | 2024-04-12 | 上海登临科技有限公司 | 一种数据冒险解决方法、计算引擎、处理器及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02211534A (ja) * | 1989-02-10 | 1990-08-22 | Mitsubishi Electric Corp | 並列処理装置 |
US5509130A (en) * | 1992-04-29 | 1996-04-16 | Sun Microsystems, Inc. | Method and apparatus for grouping multiple instructions, issuing grouped instructions simultaneously, and executing grouped instructions in a pipelined processor |
CN105528195A (zh) * | 2015-12-03 | 2016-04-27 | 上海高性能集成电路设计中心 | 一种支持同时多线程指令乱序发射的飞行记分牌处理方法 |
CN105549952A (zh) * | 2015-12-03 | 2016-05-04 | 上海高性能集成电路设计中心 | 一种基于记分牌原理的两级缓置发射的调控装置 |
-
2019
- 2019-09-11 CN CN201910858592.3A patent/CN110647362B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02211534A (ja) * | 1989-02-10 | 1990-08-22 | Mitsubishi Electric Corp | 並列処理装置 |
US5509130A (en) * | 1992-04-29 | 1996-04-16 | Sun Microsystems, Inc. | Method and apparatus for grouping multiple instructions, issuing grouped instructions simultaneously, and executing grouped instructions in a pipelined processor |
CN105528195A (zh) * | 2015-12-03 | 2016-04-27 | 上海高性能集成电路设计中心 | 一种支持同时多线程指令乱序发射的飞行记分牌处理方法 |
CN105549952A (zh) * | 2015-12-03 | 2016-05-04 | 上海高性能集成电路设计中心 | 一种基于记分牌原理的两级缓置发射的调控装置 |
Non-Patent Citations (1)
Title |
---|
Tomasulo算法与记分牌调度算法研究;王磊;《自动化技术与应用》;20130625(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110647362A (zh) | 2020-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7685410B2 (en) | Redirect recovery cache that receives branch misprediction redirects and caches instructions to be dispatched in response to the redirects | |
US7861066B2 (en) | Mechanism for predicting and suppressing instruction replay in a processor | |
KR102601858B1 (ko) | 로컬 브랜치 디코더를 구비한 멀티이슈 마이크로코드 유닛을 포함하는 파이프라인형 프로세서 | |
US8782384B2 (en) | Branch history with polymorphic indirect branch information | |
KR101508566B1 (ko) | 커밋시 실행 상태 갱신 명령어들, 장치들, 방법들, 및 시스템들 | |
US5511172A (en) | Speculative execution processor | |
US6094717A (en) | Computer processor with a replay system having a plurality of checkers | |
US7809933B2 (en) | System and method for optimizing branch logic for handling hard to predict indirect branches | |
US6279105B1 (en) | Pipelined two-cycle branch target address cache | |
US7032097B2 (en) | Zero cycle penalty in selecting instructions in prefetch buffer in the event of a miss in the instruction cache | |
US6212626B1 (en) | Computer processor having a checker | |
US20050149689A1 (en) | Method and apparatus for rescheduling operations in a processor | |
US6338133B1 (en) | Measured, allocation of speculative branch instructions to processor execution units | |
JP2005302025A (ja) | 複数の未解決命令を追跡するための方法、完了テーブルおよびプロセッサ | |
JP2004501471A (ja) | 投機的な実行を用いたアウトオブオーダー・プロセッサにおける精密な例外を配達する機構 | |
US20040216001A1 (en) | Mechanism for avoiding check stops in speculative accesses while operating in real mode | |
US8799628B2 (en) | Early branch determination | |
US7725659B2 (en) | Alignment of cache fetch return data relative to a thread | |
EP3767462A1 (en) | Detecting a dynamic control flow re-convergence point for conditional branches in hardware | |
TWI457827B (zh) | 具有同時的無序調度之分布式調度 | |
CN110647362B (zh) | 一种基于记分牌原理的两级缓置发射装置 | |
CN105549952A (zh) | 一种基于记分牌原理的两级缓置发射的调控装置 | |
EP0778519B1 (en) | Multiple instruction dispatch system for pipelined microprocessor without branch breaks | |
US6546478B1 (en) | Line predictor entry with location pointers and control information for corresponding instructions in a cache line | |
US7328327B2 (en) | Technique for reducing traffic in an instruction fetch unit of a chip multiprocessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |