CN101477454A - 嵌入式处理器的乱序执行控制装置 - Google Patents
嵌入式处理器的乱序执行控制装置 Download PDFInfo
- Publication number
- CN101477454A CN101477454A CNA2009100955844A CN200910095584A CN101477454A CN 101477454 A CN101477454 A CN 101477454A CN A2009100955844 A CNA2009100955844 A CN A2009100955844A CN 200910095584 A CN200910095584 A CN 200910095584A CN 101477454 A CN101477454 A CN 101477454A
- Authority
- CN
- China
- Prior art keywords
- instruction
- control device
- order execution
- execution control
- reservation station
- 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.)
- Pending
Links
- 238000012544 monitoring process Methods 0.000 claims abstract description 5
- 239000000872 buffer Substances 0.000 claims description 22
- 238000010304 firing Methods 0.000 claims description 9
- 238000004321 preservation Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims description 4
- 238000013461 design Methods 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Advance Control (AREA)
Abstract
一种嵌入式处理器的乱序执行控制装置,包括发射单元,用于将译码后的指令存放到流水线寄存器,单时钟周期发射指令;保留站寄存器单元,用于当发射的指令因为写读数据相关冲突而产生停顿时,临时保存产生停顿的指令,并进行操作数旁路监听;执行控制单元,用于实时监测各执行单元的工作情况,并根据各执行单元返回的信息将保留站寄存器中的指令或者当前发射的指令动态分配至空闲的执行单元中。本发明设计简单,易于实现,对嵌入式处理器的性能提升显著。
Description
技术领域
本发明涉及嵌入式处理器设计,尤其是嵌入式处理器中的乱序执行控制装置。
背景技术
嵌入式***已经渗入到日常生活的各个方面。在手机、便携式多媒体播放器、数码相机、机顶盒里都有嵌入式***的身影。嵌入式领域的不断扩大和应用的不断复杂,对嵌入式处理器的性能提出了更高的要求。
流水线技术是现代嵌入式处理器普遍采用的一种技术。流水线技术是一种将每条指令的执行分解为多步,并让各步操作并行执行,从而实现多条指令并行处理的技术。流水线技术可在一定程度上提高了嵌入式处理器的性能,但是由于程序是一个顺序指令流,流水线只能按照程序顺序执行。如果位于程序前列的指令由于执行条件不满足而停顿时,其后续指令将在流水线中被堵塞而不能被及时处理,导致处理器性能的下降。
超标量技术是高端嵌入式处理器采用的技术。超标量技术通过提高指令发射的并行性,提升处理器的性能。所谓超标量技术,就是处理器可以在一个时钟周期内发射多条指令,同时在处理器内部实现多条流水线,达到一个周期并行执行多条指令的目的。超标量技术在显著提升处理器性能的同时,伴随着逻辑设计复杂度和硬件资源的增加。
发明内容
为了克服已有的嵌入式处理器不能兼顾性能和功耗、成本高的不足,本发明提供一种在低功耗的前提下提高性能、成本低的应用于嵌入式处理器的乱序执行控制装置。
本发明解决其技术问题所采用的技术方案是:
一种嵌入式处理器的乱序执行控制装置,所述的乱序执行控制装置包括:发射单元,用于将译码后的指令存放到流水线寄存器,单时钟周期发射指令,如参与运算的操作数准备完毕,在下一时钟周期将其送入执行单元开始执行;如参与运算的操作数未准备完毕,将操作数未就绪的指令暂时保存至保留站寄存器中并释放发射窗口,下一个时钟周期,后续指令通过发射窗口进行正常发射;
保留站寄存器单元,用于与各个执行单元一一对应,当发射的指令因为写读数据相关冲突而产生停顿时,临时保存产生停顿的指令,并进行操作数旁路监听;
执行控制单元,用于实时监测各执行单元的工作情况,并根据各执行单元返回的信息将保留站寄存器中的指令或者当前发射的指令动态分配至空闲的执行单元中。
作为优选的一种方案:所述的乱序执行控制装置还包括:动态分配标签单元,用于标识指令发射顺序,在指令发射阶段,对顺序发射的各类指令动态分配标签;操作数旁路监听逻辑识别目标指令的标签,动态旁路所需的操作数;指令运算结果根据指令标签实现保存。
作为优选的另一种方案:所述乱序执行控制装置还包括:重排序缓冲器,用于对乱序执行结果的临时保存,并按指令顺序,退休已完成执行的指令,将运算结果按序回写到通用寄存器。
进一步,所述保留站寄存器单元中,保留站的深度根据嵌入式应用程序执行过程中各执行单元的执行负荷进行调整。
再进一步,在所述发射单元中,将多条指令存放到流水线寄存器,单时钟周期发射多条指令。
本发明的技术构思为:现有的嵌入式处理器普遍采用的是顺序执行的机制,处理器按照程序的指令流顺序处理。如果位于程序前列的指令由于执行条件不满足而停顿时,其后续指令将在流水线中被堵塞而不能被及时处理。为了克服顺序指令流在流水线中停顿造成的性能影响,乱序执行机制被应用到嵌入式处理器设计当中。乱序执行机制允许指令不按程序规定顺序,进入执行单元执行。当位于程序前列的指令由于执行条件不满足而产生停顿时,不会锁住流水线,后续指令仍然可以使用流水线资源发射到各执行单元,提前开始执行。乱序执行技术打乱指令执行顺序,让具备执行条件的后续指令提前被处理,实现处理器内部功能单元满负荷运转,充分挖掘指令级并行性,从而提高处理器的处理能力。
应用于嵌入式处理器的乱序执行控制装置,是实现处理器乱序处理指令的控制装置。在乱序执行控制装置的管理下,若当前指令发生停顿时,发射窗口仍可非阻塞发射,后续指令先于停顿指令被提前执行。乱序执行控制装置对嵌入式处理器,尤其是超标量嵌入式处理器的性能提升显著。
本发明的有益效果主要表现在:1、在低功耗的前提下提高性能:2、降低了成本;3、对处理器性能提升显著。通过对嵌入式处理器指令乱序执行的支持,充分挖掘了指令级的潜在并行性,实现了处理器性能的显著提升;4、实现简单。通过保留站技术暂时保存产生停顿的指令,实现操作数的旁路监听;通过采用指令标记技术,既简化了操作数旁路逻辑,又简化了指令退休逻辑;通过重排序缓冲器实现了按序退休;5、灵活性好。各执行单元的保留站的深度可以根据执行单元的执行负荷进行调整,已达到最佳的缓冲效果。
附图说明
图1是嵌入式处理器(以超标量嵌入式处理器为例)乱序执行控制装置的总体架构图;
图2是指令乱序执行的示意图;
图3是指令乱序执行的示意图
图4是保留站结构及其操作数旁路逻辑的示意图;
图5是重排序缓冲器按序创建逻辑的示意图;
图6是指令执行结果保存逻辑的示意图;
图7是重排序缓冲器中指令状态更新的示意图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图7,一种嵌入式处理器的乱序执行控制装置包括发射单元,用于将译码后的指令存放到流水线寄存器,单时钟周期发射指令,如参与运算的操作数准备完毕,在下一时钟周期将其送入执行单元开始执行;如参与运算的操作数未准备完毕,将操作数未就绪的指令暂时保存至保留站寄存器中并释放发射窗口,下一个时钟周期,后续指令通过发射窗口进行正常发射;
保留站寄存器单元,用于与各个执行单元一一对应,当发射的指令因为写读数据相关冲突而产生停顿时,临时保存产生停顿的指令,并进行操作数旁路监听;
执行控制单元,用于实时监测各执行单元的工作情况,并根据各执行单元返回的信息将保留站寄存器中的指令或者当前发射的指令动态分配至空闲的执行单元中。
本实施例的乱序执行控制装置的总体架构和工作原理如图1所示。本发明提出的嵌入式处理器中的乱序执行控制装置,其特征包括如下:
1)应用于嵌入式处理器的乱序执行控制装置,支持指令的动态执行;
2)乱序执行控制装置采用非阻塞发射策略;
3)采用分布式保留站技术,为各执行单元分配独立的保留站,临时保存产生停顿的指令;
4)保留站内的指令时刻进行操作数旁路监听,在操作数准备完成之前,后续指令仍可传送至各执行单元,先于保留站内的指令执行;
5)保留站深度可根据对应执行单元的运算负荷进行相应调整;
6)采用动态分配标签策略,用以标识指令发射顺序,实现乱序执行过程中,运算结果的准确保存;
7)采用重排序缓冲器实现对乱序执行结果的临时保存,并按指令顺序,退休已完成执行的指令。
所述的应用于嵌入式处理器的乱序执行控制装置,支持指令的动态执行。乱序执行控制装置的指令发射单元遵照程序的指令流顺序依次将指令发射。执行控制单元则不考虑指令的程序顺序,只根据已发射指令是否将操作数准备完毕和相应执行单元是否空闲,将满足执行条件的指令直接传送至执行单元处理。
所述的乱序执行控制装置采用非阻塞发射策略。在本专利中,当一条指令因为出现数据相关性冲突或者相应执行单元为忙而导致不能传送至执行单元处理时,则称该指令是停顿的。若当前发射单元中的指令出现停顿,当前指令会暂时保存,并释放发射单元,后续指令仍可以占用发射单元,实现流水线非阻塞发射。若后续指令满足执行条件,执行控制单元则会将其先于前序停顿指令,提前传送至各执行单元处理。图2是非阻塞发射实现乱序执行的示意图。
所述的采用分布式保留站技术,为各执行单元分配独立的保留站,临时保存产生停顿的指令。为了实现非阻塞发射,乱序执行控制装置采用分布式保留站技术,为各执行单元分配独立的保留站,用以临时保存分配到该执行单元的产生停顿的发射指令。停顿指令的详细信息,包括指令的译码信息、指令的操作数、操作数的数据相关性信息,都会被保存在保留站中。保留站的具体结构如图4所示。保留站的另外一个重要功能是消除由于乱序执行带来的读写数据相关冲突。本发明采用寄存器重命名机制,将产生停顿的指令的可读取操作数提前读取,并保存至保留站,而不是等该指令传送至执行单元处理时再去通用寄存器读取操作数,从而避免了乱序执行带来了的读写数据相关冲突。
所述的保留站内的指令时刻进行操作数旁路监听,在操作数准备完成之前,后续指令仍可成功传送至各执行单元,先于保留站内的指令执行。当发射的指令因为写读数据相关冲突而产生停顿时,会被临时保存至保留站。指令一进入保留站后,保留站的操作数旁路监听逻辑立刻开始工作,时刻监听公共数据总线。一旦公共数据总线出现目标数据,直接从公共数据总线旁路目标数据。当执行控制单元监测到保留站中的指令操作数准备完毕并具备执行条件时,会将其传送至执行单元处理,同时保留站资源被释放。但是在保留站中的指令操作数准备完成之前,如果后续发射单元中的指令已经将操作数准备完毕并具备执行条件时,执行控制单元则会将发射指令传送至执行单元处理。这种机制实现了被分配在同一个执行单元处理的指令的乱序执行。具体过程如图3所示。
所述的保留站深度可根据对应执行单元的运算负荷进行相应调整。各执行单元都分配一个独立的保留站。保留站的存储深度直接影响了该执行单元缓冲停顿指令的能力。由于嵌入式应用程序中不同类型指令出现频度不同,各执行单元的执行负荷相差明显。有的执行单元运算负荷严重,如ALU单元、数据负载/存储单元等,指令会被频繁传送至这些单元执行。严重的运算负荷极易造成这些单元保留站的频繁溢出,进而阻塞指令发射,严重影响流水线乱序执行的能力。本发明中的保留站的存储区深度可根据嵌入式应用程序执行过程中各执行单元的执行负荷进行调整,以达到最佳的指令缓冲以及非阻塞发射的功能。
所述的采用动态分配标签策略,用以标识指令发射顺序,实现乱序执行过程中,运算结果的准确保存。指令按照程序中指令流的顺序并行发射。在指令发射阶段,对顺序发射的各条指令动态分配标签。标签既指示了指令在程序流上的先后顺序,又唯一标识了流水线中乱序执行的各条指令的身份。为了消除数据相关性冲突以及简化操作数旁路逻辑,在发射阶段,对指令操作数数据相关性冲突进行检查,并获取操作数数据相关性冲突的详细信息。当指令因为数据相关性冲突出现停顿时,如3)所述,这些信息会跟随指令被保存至保留站。流水线中乱序执行的各条指令产生结果后,通过公共数据总线向各个操作数旁路逻辑广播。公共数据总线上传输的结果伴随指令标签。当保留站的操作数旁路逻辑监听到公共数据总线出现对应指令标签的数据时,旁路逻辑将其保存,操作数旁路监听结束。操作数旁路逻辑如图4所示。公共数据总线同时向重排序缓冲器传输指令执行结果,执行结果标签被保存至重排序缓冲器中。
所述的采用重排序缓冲器实现对乱序执行结果的临时保存,并按指令顺序,退休已完成执行的指令。为了实现精确异常处理机制,采用重排序缓冲器临时保存乱序执行结果,并按照原始指令流顺序重新排列乱序执行的各条指令,实现指令按序退休。在指令发射时,重排序缓冲器创建逻辑在缓冲器中创建相应条目已保存指令的相应信息,如指令的目的寄存器等信息。重排序缓冲器是一个循环缓冲器,创建逻辑利用指令标签作为索引在重排序缓冲器创建条目,其创建过程如图5所示。由于指令是按序发射的,重排序缓冲器也按序创建。在流水线中乱序执行的指令产生结果时,并不直接回写通用寄存器,而是通过公共数据总线将运算结果传输至重排序缓冲器临时保存。利用运算结果对应的动态标签作为索引将其保存到相应的条目中。具体的结果保存逻辑如图6所示。退休时,重排序缓冲器按照指令标签的顺序,依次检查指令是否完成执行,若指令已经执行完成,则将执行结果回。写至通用寄存器,同时释放相应的缓冲器条目;若指令重排序缓冲器中时间上最老的指令尚未完成执行,当前退休停止,后续指令即使完成执行,也仅能在重排序缓冲器中等待退休。图7是指令乱序执行及其在重排序缓冲器中状态变换的示意图。
Claims (8)
1、一种嵌入式处理器的乱序执行控制装置,其特征在于:所述的乱序执行控制装置包括:
发射单元,用于将译码后的指令存放到流水线寄存器,单时钟周期发射指令,如参与运算的操作数准备完毕,在下一时钟周期将其送入执行单元开始执行;如参与运算的操作数未准备完毕,将操作数未就绪的指令暂时保存至保留站寄存器中并释放发射窗口,下一个时钟周期,后续指令通过发射窗口进行正常发射;
保留站寄存器单元,用于与各个执行单元一一对应,当发射的指令因为写读数据相关冲突而产生停顿时,临时保存产生停顿的指令,并进行操作数旁路监听;
执行控制单元,用于实时监测各执行单元的工作情况,并根据各执行单元返回的信息将保留站寄存器中的指令或者当前发射的指令动态分配至空闲的执行单元中。
2、如权利要求1所述的嵌入式处理器的乱序执行控制装置,其特征在于:所述的乱序执行控制装置还包括:
动态分配标签单元,用于标识指令发射顺序,在指令发射阶段,对顺序发射的各类指令动态分配标签;操作数旁路监听逻辑识别目标指令的标签,动态旁路所需的操作数;指令运算结果根据指令标签实现保存。
3、如权利要求1或2所述的嵌入式处理器的乱序执行控制装置,其特征在于:所述的乱序执行控制装置还包括:
重排序缓冲器,用于对乱序执行结果的临时保存,并按指令顺序,退休已完成执行的指令,将运算结果按序回写到通用寄存器。
4、如权利要求1或2所述的嵌入式处理器的乱序执行控制装置,其特征在于:所述保留站寄存器单元中,保留站的深度根据嵌入式应用程序执行过程中各执行单元的执行负荷进行调整。
5、如权利要求3所述的嵌入式处理器的乱序执行控制装置,其特征在于:所述保留站寄存器单元中,保留站的深度根据嵌入式应用程序执行过程中各执行单元的执行负荷进行调整。
6、如权利要求1或2所述的嵌入式处理器的乱序执行控制装置,其特征在于:在所述发射单元中,将多条指令存放到流水线寄存器,单时钟周期发射多条指令。
7、如权利要求3所述的嵌入式处理器的乱序执行控制装置,其特征在于:在所述发射单元中,将多条指令存放到流水线寄存器,单时钟周期发射多条指令。
8、如权利要求4所述的嵌入式处理器的乱序执行控制装置,其特征在于:在所述发射单元中,将多条指令存放到流水线寄存器,单时钟周期发射多条指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100955844A CN101477454A (zh) | 2009-01-22 | 2009-01-22 | 嵌入式处理器的乱序执行控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100955844A CN101477454A (zh) | 2009-01-22 | 2009-01-22 | 嵌入式处理器的乱序执行控制装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101477454A true CN101477454A (zh) | 2009-07-08 |
Family
ID=40838176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2009100955844A Pending CN101477454A (zh) | 2009-01-22 | 2009-01-22 | 嵌入式处理器的乱序执行控制装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101477454A (zh) |
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101872295A (zh) * | 2010-05-28 | 2010-10-27 | 浙江大学 | 基于解码缓冲器的循环指令处理装置 |
CN102662634A (zh) * | 2012-03-21 | 2012-09-12 | 杭州中天微***有限公司 | 非阻塞发射和执行的存储器访问执行装置 |
CN105117202A (zh) * | 2015-09-25 | 2015-12-02 | 上海兆芯集成电路有限公司 | 具有融合保留站结构的微处理器 |
CN105426160A (zh) * | 2015-11-10 | 2016-03-23 | 北京时代民芯科技有限公司 | 基于sprac v8指令集的指令分类多发射方法 |
CN105511916A (zh) * | 2014-12-14 | 2016-04-20 | 上海兆芯集成电路有限公司 | 用以改善在处理器中重新执行加载的装置与方法 |
CN105573786A (zh) * | 2014-12-14 | 2016-05-11 | 上海兆芯集成电路有限公司 | 用以改善在处理器中重新执行加载的装置与方法 |
CN105573784A (zh) * | 2014-12-14 | 2016-05-11 | 上海兆芯集成电路有限公司 | 用以改善在处理器中重新执行加载的装置与方法 |
WO2016097797A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Load replay precluding mechanism |
WO2016097793A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude load replays dependent on off-die control element access in out-of-order processor |
WO2016097796A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude i/o-dependent load replays in out-of-order processor |
WO2016097790A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude non-core cache-dependent load replays in out-of-order processor |
WO2016097800A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Power saving mechanism to reduce load replays in out-of-order processor |
WO2016097802A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude load replays dependent on long load cycles in an out-order processor |
CN106708472A (zh) * | 2016-12-12 | 2017-05-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种非阻塞图形命令处理方法 |
CN107015943A (zh) * | 2015-09-23 | 2017-08-04 | 联发科技股份有限公司 | 具有混合核结构的处理器及有关方法 |
US9740271B2 (en) | 2014-12-14 | 2017-08-22 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude X86 special bus cycle load replays in an out-of-order processor |
US9804845B2 (en) | 2014-12-14 | 2017-10-31 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude X86 special bus cycle load replays in an out-of-order processor |
CN107943518A (zh) * | 2017-11-24 | 2018-04-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种局部跳转指令取指电路 |
CN108027769A (zh) * | 2015-09-19 | 2018-05-11 | 微软技术许可有限责任公司 | 使用寄存器访问指令发起指令块执行 |
US10083038B2 (en) | 2014-12-14 | 2018-09-25 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on page walks in an out-of-order processor |
US10088881B2 (en) | 2014-12-14 | 2018-10-02 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude I/O-dependent load replays in an out-of-order processor |
US10089112B2 (en) | 2014-12-14 | 2018-10-02 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on fuse array access in an out-of-order processor |
US10108421B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude shared ram-dependent load replays in an out-of-order processor |
US10108420B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on long load cycles in an out-of-order processor |
US10108427B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on fuse array access in an out-of-order processor |
US10114646B2 (en) | 2014-12-14 | 2018-10-30 | Via Alliance Semiconductor Co., Ltd | Programmable load replay precluding mechanism |
US10114794B2 (en) | 2014-12-14 | 2018-10-30 | Via Alliance Semiconductor Co., Ltd | Programmable load replay precluding mechanism |
US10120689B2 (en) | 2014-12-14 | 2018-11-06 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on off-die control element access in an out-of-order processor |
US10127046B2 (en) | 2014-12-14 | 2018-11-13 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude uncacheable-dependent load replays in out-of-order processor |
US10133580B2 (en) | 2014-12-14 | 2018-11-20 | Via Alliance Semiconductor Co., Ltd | Apparatus and method to preclude load replays dependent on write combining memory space access in an out-of-order processor |
US10146539B2 (en) | 2014-12-14 | 2018-12-04 | Via Alliance Semiconductor Co., Ltd. | Load replay precluding mechanism |
US10146540B2 (en) | 2014-12-14 | 2018-12-04 | Via Alliance Semiconductor Co., Ltd | Apparatus and method to preclude load replays dependent on write combining memory space access in an out-of-order processor |
US10175984B2 (en) | 2014-12-14 | 2019-01-08 | Via Alliance Semiconductor Co., Ltd | Apparatus and method to preclude non-core cache-dependent load replays in an out-of-order processor |
US10209996B2 (en) | 2014-12-14 | 2019-02-19 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method for programmable load replay preclusion |
US10228944B2 (en) | 2014-12-14 | 2019-03-12 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method for programmable load replay preclusion |
CN109885857A (zh) * | 2018-12-26 | 2019-06-14 | 苏州中晟宏芯信息科技有限公司 | 指令发射控制方法、指令执行验证方法、***及存储介质 |
CN112214241A (zh) * | 2020-09-23 | 2021-01-12 | 上海赛昉科技有限公司 | 一种分布式指令执行单元的方法及*** |
WO2021115149A1 (zh) * | 2019-12-09 | 2021-06-17 | Oppo广东移动通信有限公司 | 神经网络处理器、芯片和电子设备 |
WO2021115208A1 (zh) * | 2019-12-09 | 2021-06-17 | Oppo广东移动通信有限公司 | 神经网络处理器、芯片和电子设备 |
US11681531B2 (en) | 2015-09-19 | 2023-06-20 | Microsoft Technology Licensing, Llc | Generation and use of memory access instruction order encodings |
US11977891B2 (en) | 2015-09-19 | 2024-05-07 | Microsoft Technology Licensing, Llc | Implicit program order |
-
2009
- 2009-01-22 CN CNA2009100955844A patent/CN101477454A/zh active Pending
Cited By (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101872295A (zh) * | 2010-05-28 | 2010-10-27 | 浙江大学 | 基于解码缓冲器的循环指令处理装置 |
CN102662634A (zh) * | 2012-03-21 | 2012-09-12 | 杭州中天微***有限公司 | 非阻塞发射和执行的存储器访问执行装置 |
US10175984B2 (en) | 2014-12-14 | 2019-01-08 | Via Alliance Semiconductor Co., Ltd | Apparatus and method to preclude non-core cache-dependent load replays in an out-of-order processor |
US10209996B2 (en) | 2014-12-14 | 2019-02-19 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method for programmable load replay preclusion |
US10108429B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude shared RAM-dependent load replays in an out-of-order processor |
CN105573786A (zh) * | 2014-12-14 | 2016-05-11 | 上海兆芯集成电路有限公司 | 用以改善在处理器中重新执行加载的装置与方法 |
US10108421B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude shared ram-dependent load replays in an out-of-order processor |
WO2016097797A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Load replay precluding mechanism |
WO2016097793A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude load replays dependent on off-die control element access in out-of-order processor |
WO2016097796A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude i/o-dependent load replays in out-of-order processor |
WO2016097790A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude non-core cache-dependent load replays in out-of-order processor |
WO2016097800A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Power saving mechanism to reduce load replays in out-of-order processor |
WO2016097802A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude load replays dependent on long load cycles in an out-order processor |
WO2016097803A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude uncacheable-dependent load replays in out-of-order processor |
CN105573786B (zh) * | 2014-12-14 | 2020-06-09 | 上海兆芯集成电路有限公司 | 用以改善在处理器中重新执行加载的装置与方法 |
US9645827B2 (en) | 2014-12-14 | 2017-05-09 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude load replays dependent on page walks in an out-of-order processor |
CN105511916B (zh) * | 2014-12-14 | 2019-06-04 | 上海兆芯集成电路有限公司 | 用以改善在处理器中重新执行加载的装置与方法 |
US9703359B2 (en) | 2014-12-14 | 2017-07-11 | Via Alliance Semiconductor Co., Ltd. | Power saving mechanism to reduce load replays in out-of-order processor |
CN105573784B (zh) * | 2014-12-14 | 2019-04-05 | 上海兆芯集成电路有限公司 | 用以改善在处理器中重新执行加载的装置与方法 |
US9740271B2 (en) | 2014-12-14 | 2017-08-22 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude X86 special bus cycle load replays in an out-of-order processor |
US9804845B2 (en) | 2014-12-14 | 2017-10-31 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude X86 special bus cycle load replays in an out-of-order processor |
US10228944B2 (en) | 2014-12-14 | 2019-03-12 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method for programmable load replay preclusion |
US9915998B2 (en) | 2014-12-14 | 2018-03-13 | Via Alliance Semiconductor Co., Ltd | Power saving mechanism to reduce load replays in out-of-order processor |
US10146540B2 (en) | 2014-12-14 | 2018-12-04 | Via Alliance Semiconductor Co., Ltd | Apparatus and method to preclude load replays dependent on write combining memory space access in an out-of-order processor |
US10146547B2 (en) | 2014-12-14 | 2018-12-04 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude non-core cache-dependent load replays in an out-of-order processor |
US10083038B2 (en) | 2014-12-14 | 2018-09-25 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on page walks in an out-of-order processor |
US10108420B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on long load cycles in an out-of-order processor |
US10089112B2 (en) | 2014-12-14 | 2018-10-02 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on fuse array access in an out-of-order processor |
US10095514B2 (en) | 2014-12-14 | 2018-10-09 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude I/O-dependent load replays in an out-of-order processor |
US10108430B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on off-die control element access in an out-of-order processor |
CN105511916A (zh) * | 2014-12-14 | 2016-04-20 | 上海兆芯集成电路有限公司 | 用以改善在处理器中重新执行加载的装置与方法 |
CN105573784A (zh) * | 2014-12-14 | 2016-05-11 | 上海兆芯集成电路有限公司 | 用以改善在处理器中重新执行加载的装置与方法 |
US10088881B2 (en) | 2014-12-14 | 2018-10-02 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude I/O-dependent load replays in an out-of-order processor |
US10108428B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on long load cycles in an out-of-order processor |
US10108427B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on fuse array access in an out-of-order processor |
US10114646B2 (en) | 2014-12-14 | 2018-10-30 | Via Alliance Semiconductor Co., Ltd | Programmable load replay precluding mechanism |
US10114794B2 (en) | 2014-12-14 | 2018-10-30 | Via Alliance Semiconductor Co., Ltd | Programmable load replay precluding mechanism |
US10120689B2 (en) | 2014-12-14 | 2018-11-06 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on off-die control element access in an out-of-order processor |
US10127046B2 (en) | 2014-12-14 | 2018-11-13 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude uncacheable-dependent load replays in out-of-order processor |
US10133580B2 (en) | 2014-12-14 | 2018-11-20 | Via Alliance Semiconductor Co., Ltd | Apparatus and method to preclude load replays dependent on write combining memory space access in an out-of-order processor |
US10133579B2 (en) | 2014-12-14 | 2018-11-20 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude uncacheable-dependent load replays in out-of-order processor |
US10146539B2 (en) | 2014-12-14 | 2018-12-04 | Via Alliance Semiconductor Co., Ltd. | Load replay precluding mechanism |
US10146546B2 (en) | 2014-12-14 | 2018-12-04 | Via Alliance Semiconductor Co., Ltd | Load replay precluding mechanism |
US11681531B2 (en) | 2015-09-19 | 2023-06-20 | Microsoft Technology Licensing, Llc | Generation and use of memory access instruction order encodings |
US11977891B2 (en) | 2015-09-19 | 2024-05-07 | Microsoft Technology Licensing, Llc | Implicit program order |
CN108027769A (zh) * | 2015-09-19 | 2018-05-11 | 微软技术许可有限责任公司 | 使用寄存器访问指令发起指令块执行 |
CN107015943A (zh) * | 2015-09-23 | 2017-08-04 | 联发科技股份有限公司 | 具有混合核结构的处理器及有关方法 |
CN105117202A (zh) * | 2015-09-25 | 2015-12-02 | 上海兆芯集成电路有限公司 | 具有融合保留站结构的微处理器 |
CN106557301A (zh) * | 2015-09-25 | 2017-04-05 | 上海兆芯集成电路有限公司 | 经由多级保留站结构的发射指令分派方法 |
CN105426160A (zh) * | 2015-11-10 | 2016-03-23 | 北京时代民芯科技有限公司 | 基于sprac v8指令集的指令分类多发射方法 |
CN105426160B (zh) * | 2015-11-10 | 2018-02-23 | 北京时代民芯科技有限公司 | 基于sprac v8指令集的指令分类多发射方法 |
CN106708472A (zh) * | 2016-12-12 | 2017-05-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种非阻塞图形命令处理方法 |
CN107943518A (zh) * | 2017-11-24 | 2018-04-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种局部跳转指令取指电路 |
CN107943518B (zh) * | 2017-11-24 | 2021-07-16 | 中国航空工业集团公司西安航空计算技术研究所 | 一种局部跳转指令取指电路 |
CN109885857B (zh) * | 2018-12-26 | 2023-09-01 | 上海合芯数字科技有限公司 | 指令发射控制方法、指令执行验证方法、***及存储介质 |
CN109885857A (zh) * | 2018-12-26 | 2019-06-14 | 苏州中晟宏芯信息科技有限公司 | 指令发射控制方法、指令执行验证方法、***及存储介质 |
WO2021115149A1 (zh) * | 2019-12-09 | 2021-06-17 | Oppo广东移动通信有限公司 | 神经网络处理器、芯片和电子设备 |
WO2021115208A1 (zh) * | 2019-12-09 | 2021-06-17 | Oppo广东移动通信有限公司 | 神经网络处理器、芯片和电子设备 |
CN112214241A (zh) * | 2020-09-23 | 2021-01-12 | 上海赛昉科技有限公司 | 一种分布式指令执行单元的方法及*** |
CN112214241B (zh) * | 2020-09-23 | 2023-11-24 | 上海赛昉科技有限公司 | 一种分布式指令执行单元的方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101477454A (zh) | 嵌入式处理器的乱序执行控制装置 | |
US10241797B2 (en) | Replay reduction by wakeup suppression using early miss indication | |
CN100498691C (zh) | 指令处理电路和处理程序指令的方法 | |
US7330964B2 (en) | Microprocessor with independent SIMD loop buffer | |
CN108845830B (zh) | 一种一对数装载指令的执行方法 | |
CN101526895B (zh) | 基于指令双发射的高性能低功耗嵌入式处理器 | |
EP2972844B1 (en) | Method and apparatus for efficient scheduling for asymmetrical execution units | |
US6981129B1 (en) | Breaking replay dependency loops in a processor using a rescheduled replay queue | |
CN101894013B (zh) | 处理器内指令级流水线控制方法及其*** | |
US20140208074A1 (en) | Instruction scheduling for a multi-strand out-of-order processor | |
KR101541001B1 (ko) | 아직 발행되지 않은 명령들에 대한 얼리 액세스를 가진 코프로세서를 구비한 프로세서 | |
US9870226B2 (en) | Control of switching between executed mechanisms | |
US8972700B2 (en) | Microprocessor systems and methods for latency tolerance execution | |
CN104115094A (zh) | 包括代码再循环技术的用于能效和节能的方法、装置和*** | |
CN109062604B (zh) | 一种面向标量和向量指令混合执行的发射方法及装置 | |
CN100592255C (zh) | 32位的多模式微处理器 | |
WO2024131071A1 (zh) | 一种处理指令的方法、***、设备和非易失性可读存储介质 | |
US20070088965A1 (en) | Processor and methods to reduce power consumption of processor components | |
CN108415730B (zh) | 微指令调度方法及使用此方法的装置 | |
CN101189574A (zh) | 指令存储器单元和操作方法 | |
CN112559048B (zh) | 一种指令处理装置、处理器及其处理方法 | |
CN102495724A (zh) | 一种加快存储指令执行效率的数据处理器 | |
US7243217B1 (en) | Floating point unit with variable speed execution pipeline and method of operation | |
CN108279928B (zh) | 微指令调度方法及使用此方法的装置 | |
US11086628B2 (en) | System and method for load and store queue allocations at address generation time |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20090708 |