CN101582025A - 片上多处理器体系架构下全局寄存器重命名表的实现方法 - Google Patents
片上多处理器体系架构下全局寄存器重命名表的实现方法 Download PDFInfo
- Publication number
- CN101582025A CN101582025A CNA2009100999490A CN200910099949A CN101582025A CN 101582025 A CN101582025 A CN 101582025A CN A2009100999490 A CNA2009100999490 A CN A2009100999490A CN 200910099949 A CN200910099949 A CN 200910099949A CN 101582025 A CN101582025 A CN 101582025A
- Authority
- CN
- China
- Prior art keywords
- instruction
- write
- processor
- register
- rename table
- 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.)
- Granted
Links
Landscapes
- Advance Control (AREA)
Abstract
本发明涉及片上多处理器体系结构技术领域,旨在提供一种片上多处理器体系架构下全局寄存器重命名表的实现方法。该方法包括以下步骤:寄存器重命名表的设计;处理指令的“写后写”依赖关系;处理指令间的“写后读”依赖关系;获取操作数;写回结果;提交指令。本发明由于使用了全局寄存器重命名表,不同处理器的指令间的依赖关系可以得到记录,并且“写后读”和“写后写”依赖能得到解决;不同处理器的指令间的操作数就能得到保留,并通过全局寄存器重命名表传输,这样就减少了核间通讯量;由于全局寄存器重命名表使用的硬件结构是逻辑表,结构简单,硬件复杂度低,所占的面积只有一个片上处理器面积的1%,只产生很小的面积代价。
Description
技术领域
本发明涉及片上多处理器体系结构技术领域,特别是涉及一种片上多处理器体系架构下全局寄存器重命名表的实现方法。
背景技术
1965年Intel公司的创始人之一戈登摩尔在总结存储器芯片的增长规律时,发现“微芯片上集成电路的晶体管数目每12个月翻一番”,称为“摩尔定律”。这条定律多次遇到挑战并被表述为每18个月翻一番,目前业界仍然在遵循了该规律。
当前主流的工艺技术已经到45nm甚至32nm的水平,已经越来越逼近晶体管尺寸的极限。如何才能使摩尔定律摆脱失效的命运,基于硅的集成电路技术是否能否进一步发展,取决于未来几年内硅技术能否有革命性的突破,或发展出崭新的计算技术。为了延续摩尔定律,多核技术应运而生,人们进入了在一块芯片上集成多片处理核的时代。
片上多处理器(CMP,Chip Multi-Processor)中相对简单的处理核易于设计,可重用性高,便于测试和优化。存在三种常见的片上并行处理方案:超标量计算机,并行多线程和最近兴起的片上多处理器,通过在相应的架构上用标准的程序进行测试,结果表明片上多处理器无论在能耗和性能的提升上都有着无与伦比的优势。我们有理由相信,片上多处理器的作用在未来并行计算的发展中会越来越重要。
尽管片上多处理器在处理器领域迅猛发展,但仍有很多的单线程程序并不适合在多处理器执行。单线程程序需要复杂的超标量乱序执行核才能重分挖掘程序的指令级并行并使性能得到很大的提升,但这种复杂的核很难在片上多处理器架构上实现。
一个方法就是使单线程程序在多个核上执行,但这种方法面临的一个很大的问题就是如何处理不同核间指令的依赖关系,以及不同核间的操作数如何传递。对这个问题的处理已经成为了片上多处理器设计的一个非常重要的课题。
发明内容
本发明的目的在于提供一种用于片上多处理器体系架构下全局寄存器重命名表的实现方法。
本发明解决其技术问题采用的技术方案如下:
提供了一种片上多处理器体系架构下全局寄存器重命名表的实现方法,包括以下步骤:
1)寄存器重命名表的设计
四个片上处理器各自拥有自己的物理寄存器可用列表,并共同拥有一个寄存器重命名表,称之为全局寄存器重命名表;每个处理器均通过自己的物理寄存器可用列表重命名自己所取到的指令的目标寄存器,并记录在全局寄存器重命名表中;
2)处理指令的“写后写”依赖关系
当一条指令在处理器流水线的译码段结束并准备执行时,首先检测自己的目标寄存器是否已经在全局寄存器重命名表中有记录;如果有,则说明这条指令和其它指令产生了“写后写”依赖关系,这条指令会在下一个时钟周期再尝试执行;如果没有“写后写”依赖关系,则这条指令继续检查“写后读”依赖关系;
3)处理指令间的“写后读”依赖关系
当一条指令在处理器流水线的译码段结束并准备执行时,如果它并没有“写后写”依赖关系,则会检测自己的源寄存器是否已经在全局寄存器重命名表里有记录,并且数据是否可用;如果没有记录,说明这条指令没有任何“写后读”依赖关系,则这条指令可以在本周期尝试执行;
如果有记录但数据不可用,说明这条指令和其它指令产生了“写后读”依赖关系,这条指令会在下一周期再尝试执行;
如果有记录并且数据可用,说明这条指令和其它指令的“写后读”依赖关系已经得到解决,则这条指令在本周期可以开始执行;
4)获取操作数
当一条指令在处理器流水线的执行段执行时,会检查自己所处的处理器是否和目标寄存器在全局寄存器重命名表的中记录的处理器号所匹配;如果匹配,说明这条指令不依赖其它指令或者它所依赖的指令和自己处于同一个处理器中,则这条指令从自己所处的处理器的寄存器获取操作数;
如果不匹配,说明这条指令所依赖的指令位于其它处理器,则这条指令从全局寄存器重命名表中获取操作数;
5)写回结果
当一条指令执行完成后,这条指令把结果同时写入自己所处的处理器的寄存器以及全局寄存器重命名表,并把全局寄存器重命名表中自己的目标寄存器标记为数据可用,以使其它指令可以使用此数据;
6)提交指令
当一条指令在重排序缓存中提交后,这条指令在全局寄存器重命名表中把自己的目标寄存器的记录清除。
本发明的有益效果是:
(1)由于使用了全局寄存器重命名表,不同处理器的指令间的依赖关系可以得到记录,并且“写后读”和“写后写”依赖能得到解决;
(2)由于在全局寄存器重命名表中使用了操作数缓存,不同处理器的指令间的操作数就能得到保留,并通过全局寄存器重命名表传输,这样就减少了核间通讯量;
(3)由于全局寄存器重命名表使用的硬件结构是逻辑表,结构简单,硬件复杂度低,所占的面积只有一个片上处理器面积的1%,只产生很小的面积代价。
附图说明
附图1为本方法提出的包含全局寄存器重命名表的片上多处理器架构图。
具体实施方式
在实施多核体系架构下全局寄存器重命名表的实现方法时,考虑了指令间的依赖关系。
表1为本方法提出的全局寄存器重命名表的一个运用实例。
逻辑寄存器 | 物理寄存器 | 处理器号 | 忙碌 | 就绪 | 数据 |
R0 | P3 | 3 | 1 | 1 | 0x321f6a46 |
R1 | - | - | 0 | - | - |
R2 | P13 | 3 | 1 | 0 | - |
R3 | P5 | 2 | 1 | 1 | 0x2684742a |
R4 | - | - | 0 | - | - |
R5 | P21 | 0 | 1 | 1 | 0x73128c4e |
... | ... | ... | ... | ... | ... |
1)寄存器重命名表的设计
四个片上处理器各自拥有自己的物理寄存器可用列表,并共同拥有一个寄存器重命名表,称之为全局寄存器重命名表;
每个处理器通过自己的物理寄存器可用列表重命名自己所取到的指令的目标寄存器,并记录在全局寄存器重命名表中;
例如,当片上处理器0取到指令“sltiu v0,t4,256”后,根据自己的物理寄存器可用列表,把物理寄存器t1分配给v0,在全局寄存器重命名表中找到目标寄存器v0的表项,把“物理寄存器”记录为t1,然后把“忙碌”位置位,并把“处理器号”记录标记为1,把“就绪”位标记为0。
2)处理指令的“写后写”依赖关系
当一条指令在处理器流水线的译码段结束并准备执行时,它首先检测自己的目标寄存器是否已经在全局寄存器重命名表中有记录,如果有,则说明这条指令和其它指令产生了“写后写”依赖关系,这条指令会在下一个时钟周期再尝试执行;如果没有“写后写”依赖关系,则这条指令继续检查“写后读”依赖关系;
例如,当片上处理器1取到指令“sll v0,a1,0x3”后,检测全局寄存器重命名表中v0的记录,发现v0的忙碌位已经为1,则这条指令与其它指令产生“写后写”依赖关系,这条指令在这个周期不会被执行,在下一个周期尝试执行。
3)处理指令间的“写后读”依赖关系
当一条指令在处理器流水线的译码段结束并准备执行时,如果它并没有“写后写”依赖关系,则它会检测自己的源寄存器是否已经在全局寄存器重命名表里有记录,并且数据是否可用;如果没有记录,说明这条指令没有任何“写后读”依赖关系,则这条指令可以在本周期尝试执行;
如果有记录但数据不可用,说明这条指令和其它指令产生了“写后读”依赖关系,这条指令会在下一周期再尝试执行;
如果有记录并且数据可用,说明这条指令和其它指令的“写后读”依赖关系已经得到解决,则这条指令在本周期可以开始执行;
例如,当片上处理器2取到指令“sll a1,v0,0x3”后,并且以及告你检测没有“写后写”依赖关系,那么继续检测全局寄存器重命名表中v0的记录,如果发现v0的忙碌位是1并且就绪位是0,那么这条指令和其它指令产生了“写后读”依赖关系,这条指令在本周期不会被执行,在下一周期尝试被执行。
如果发现v0的忙碌位是1并且就绪位也是1,那么这条指令的“写后读”依赖关系已经被解决,这条指令可以开始执行。
如果发现v0的忙碌位是0,那么这条指令没有依赖关系,这条指令可以开始执行。
4)获取操作数
当一条指令在处理器流水线的执行段执行时,它会检查自己所处的处理器是否和目标寄存器在全局寄存器重命名表的中记录的处理器号所匹配;如果匹配,说明这条指令不依赖其它指令或者它所依赖的指令和自己处于同一个处理器中,则这条指令从自己所处的处理器的寄存器获取操作数;
如果不匹配,说明这条指令所依赖的指令位于其它处理器,则这条指令从全局寄存器重命名表中获取操作数;
例如,当片上处理器3执行指令“addiu v1,v0,-20688”时,检测全局寄存器重命名表中v0的项,如果“处理器号”等于3,则功能单元从本地寄存器取v0的值,如果不等于3,则功能单元从全局寄存器重命名表中取v0的值。
5)写回结果
当一条指令执行完成后,这条指令把结果同时写入自己所处的处理器的寄存器以及全局寄存器重命名表,并把全局寄存器重命名表中自己的目标寄存器标记为数据可用,以使其它指令可以使用此数据;
例如,当片上处理器3执行完指令addiu v1,v0,-20688”后,把v1的结果同时写回到片上处理器3的寄存器和全局寄存器重命名表中,并且把全局寄存器重命名表中v1项的“就绪”位置为1。
6)提交指令
当一条指令在重排序缓存中提交后,这条指令在全局寄存器重命名表中把自己的目标寄存器的记录清除。
例如,当片上处理器3完成指令addiu v1,v0,-20688”后,在全局寄存器重命名表中把v1的表项中的“忙碌”位清零,就完成了对这条记录的清楚。
应该理解的是,本发明并不限于如上图示和描述的确切构造,在不背离的权利要求所定义的本发明的精神和范围,可以对发明进行各种不同的改变和修改,都被认为是本发明的保护范围。
Claims (1)
1、一种片上多处理器体系架构下全局寄存器重命名表的实现方法,其特征在于,包括以下步骤:
1)寄存器重命名表的设计
四个片上处理器各自拥有自己的物理寄存器可用列表,并共同拥有一个寄存器重命名表,称之为全局寄存器重命名表;每个处理器均通过自己的物理寄存器可用列表重命名自己所取到的指令的目标寄存器,并记录在全局寄存器重命名表中;
2)处理指令的“写后写”依赖关系
当一条指令在处理器流水线的译码段结束并准备执行时,首先检测自己的目标寄存器是否已经在全局寄存器重命名表中有记录;如果有,则说明这条指令和其它指令产生了“写后写”依赖关系,这条指令会在下一个时钟周期再尝试执行;如果没有“写后写”依赖关系,则这条指令继续检查“写后读”依赖关系;
3)处理指令间的“写后读”依赖关系
当一条指令在处理器流水线的译码段结束并准备执行时,如果它并没有“写后写”依赖关系,则会检测自己的源寄存器是否已经在全局寄存器重命名表里有记录,并且数据是否可用;如果没有记录,说明这条指令没有任何“写后读”依赖关系,则这条指令可以在本周期尝试执行;
如果有记录但数据不可用,说明这条指令和其它指令产生了“写后读”依赖关系,这条指令会在下一周期再尝试执行;
如果有记录并且数据可用,说明这条指令和其它指令的“写后读”依赖关系已经得到解决,则这条指令在本周期可以开始执行;
4)获取操作数
当一条指令在处理器流水线的执行段执行时,会检查自己所处的处理器是否和目标寄存器在全局寄存器重命名表的中记录的处理器号所匹配;如果匹配,说明这条指令不依赖其它指令或者它所依赖的指令和自己处于同一个处理器中,则这条指令从自己所处的处理器的寄存器获取操作数;
如果不匹配,说明这条指令所依赖的指令位于其它处理器,则这条指令从全局寄存器重命名表中获取操作数;
5)写回结果
当一条指令执行完成后,这条指令把结果同时写入自己所处的处理器的寄存器以及全局寄存器重命名表,并把全局寄存器重命名表中自己的目标寄存器标记为数据可用,以使其它指令可以使用此数据;
6)提交指令
当一条指令在重排序缓存中提交后,这条指令在全局寄存器重命名表中把自己的目标寄存器的记录清除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100999490A CN101582025B (zh) | 2009-06-25 | 2009-06-25 | 片上多处理器体系架构下全局寄存器重命名表的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100999490A CN101582025B (zh) | 2009-06-25 | 2009-06-25 | 片上多处理器体系架构下全局寄存器重命名表的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101582025A true CN101582025A (zh) | 2009-11-18 |
CN101582025B CN101582025B (zh) | 2011-05-25 |
Family
ID=41364180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100999490A Expired - Fee Related CN101582025B (zh) | 2009-06-25 | 2009-06-25 | 片上多处理器体系架构下全局寄存器重命名表的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101582025B (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104040492A (zh) * | 2011-11-22 | 2014-09-10 | 索夫特机械公司 | 微处理器加速的代码优化器和依赖性重排序方法 |
US9766893B2 (en) | 2011-03-25 | 2017-09-19 | Intel Corporation | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines |
US9811377B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for executing multithreaded instructions grouped into blocks |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
US9823930B2 (en) | 2013-03-15 | 2017-11-21 | Intel Corporation | Method for emulating a guest centralized flag architecture by using a native distributed flag architecture |
US9842005B2 (en) | 2011-03-25 | 2017-12-12 | Intel Corporation | Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines |
US9858080B2 (en) | 2013-03-15 | 2018-01-02 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US9886416B2 (en) | 2006-04-12 | 2018-02-06 | Intel Corporation | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US9898412B2 (en) | 2013-03-15 | 2018-02-20 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US9921845B2 (en) | 2011-03-25 | 2018-03-20 | Intel Corporation | Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines |
US9934042B2 (en) | 2013-03-15 | 2018-04-03 | Intel Corporation | Method for dependency broadcasting through a block organized source view data structure |
US9940134B2 (en) | 2011-05-20 | 2018-04-10 | Intel Corporation | Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines |
US9965281B2 (en) | 2006-11-14 | 2018-05-08 | Intel Corporation | Cache storing data fetched by address calculating load instruction with label used as associated name for consuming instruction to refer |
US10031784B2 (en) | 2011-05-20 | 2018-07-24 | Intel Corporation | Interconnect system to support the execution of instruction sequences by a plurality of partitionable engines |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
US10146548B2 (en) | 2013-03-15 | 2018-12-04 | Intel Corporation | Method for populating a source view data structure by using register template snapshots |
US10169045B2 (en) | 2013-03-15 | 2019-01-01 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
US10191746B2 (en) | 2011-11-22 | 2019-01-29 | Intel Corporation | Accelerated code optimizer for a multiengine microprocessor |
US10198266B2 (en) | 2013-03-15 | 2019-02-05 | Intel Corporation | Method for populating register view data structure by using register template snapshots |
US10228949B2 (en) | 2010-09-17 | 2019-03-12 | Intel Corporation | Single cycle multi-branch prediction including shadow cache for early far branch prediction |
US10521239B2 (en) | 2011-11-22 | 2019-12-31 | Intel Corporation | Microprocessor accelerated code optimizer |
CN111638911A (zh) * | 2019-03-01 | 2020-09-08 | 阿里巴巴集团控股有限公司 | 一种处理器、指令执行设备及方法 |
CN111857830A (zh) * | 2020-06-05 | 2020-10-30 | 上海赛昉科技有限公司 | 一种提前转发指令数据的通路设计方法、系统及存储介质 |
US20220254423A1 (en) * | 2019-08-05 | 2022-08-11 | Tobb Ekonomi Ve Teknoloji Universitesi | One direction-shift register aliasing table circuit suitable for use in microprocessors |
-
2009
- 2009-06-25 CN CN2009100999490A patent/CN101582025B/zh not_active Expired - Fee Related
Cited By (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10289605B2 (en) | 2006-04-12 | 2019-05-14 | Intel Corporation | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
US9886416B2 (en) | 2006-04-12 | 2018-02-06 | Intel Corporation | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
US11163720B2 (en) | 2006-04-12 | 2021-11-02 | Intel Corporation | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
US10585670B2 (en) | 2006-11-14 | 2020-03-10 | Intel Corporation | Cache storing data fetched by address calculating load instruction with label used as associated name for consuming instruction to refer |
US9965281B2 (en) | 2006-11-14 | 2018-05-08 | Intel Corporation | Cache storing data fetched by address calculating load instruction with label used as associated name for consuming instruction to refer |
US10228949B2 (en) | 2010-09-17 | 2019-03-12 | Intel Corporation | Single cycle multi-branch prediction including shadow cache for early far branch prediction |
US10564975B2 (en) | 2011-03-25 | 2020-02-18 | Intel Corporation | Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines |
US11204769B2 (en) | 2011-03-25 | 2021-12-21 | Intel Corporation | Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines |
US9842005B2 (en) | 2011-03-25 | 2017-12-12 | Intel Corporation | Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines |
US9766893B2 (en) | 2011-03-25 | 2017-09-19 | Intel Corporation | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines |
US9921845B2 (en) | 2011-03-25 | 2018-03-20 | Intel Corporation | Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines |
US9934072B2 (en) | 2011-03-25 | 2018-04-03 | Intel Corporation | Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines |
US9990200B2 (en) | 2011-03-25 | 2018-06-05 | Intel Corporation | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines |
US9940134B2 (en) | 2011-05-20 | 2018-04-10 | Intel Corporation | Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines |
US10372454B2 (en) | 2011-05-20 | 2019-08-06 | Intel Corporation | Allocation of a segmented interconnect to support the execution of instruction sequences by a plurality of engines |
US10031784B2 (en) | 2011-05-20 | 2018-07-24 | Intel Corporation | Interconnect system to support the execution of instruction sequences by a plurality of partitionable engines |
US10521239B2 (en) | 2011-11-22 | 2019-12-31 | Intel Corporation | Microprocessor accelerated code optimizer |
CN104040492B (zh) * | 2011-11-22 | 2017-02-15 | 索夫特机械公司 | 微处理器加速的代码优化器和依赖性重排序方法 |
US10191746B2 (en) | 2011-11-22 | 2019-01-29 | Intel Corporation | Accelerated code optimizer for a multiengine microprocessor |
CN104040492A (zh) * | 2011-11-22 | 2014-09-10 | 索夫特机械公司 | 微处理器加速的代码优化器和依赖性重排序方法 |
US9898412B2 (en) | 2013-03-15 | 2018-02-20 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
US10146548B2 (en) | 2013-03-15 | 2018-12-04 | Intel Corporation | Method for populating a source view data structure by using register template snapshots |
US10169045B2 (en) | 2013-03-15 | 2019-01-01 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
US10198266B2 (en) | 2013-03-15 | 2019-02-05 | Intel Corporation | Method for populating register view data structure by using register template snapshots |
US9934042B2 (en) | 2013-03-15 | 2018-04-03 | Intel Corporation | Method for dependency broadcasting through a block organized source view data structure |
US10248570B2 (en) | 2013-03-15 | 2019-04-02 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US10255076B2 (en) | 2013-03-15 | 2019-04-09 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US10503514B2 (en) | 2013-03-15 | 2019-12-10 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US10146576B2 (en) | 2013-03-15 | 2018-12-04 | Intel Corporation | Method for executing multithreaded instructions grouped into blocks |
US9858080B2 (en) | 2013-03-15 | 2018-01-02 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US9823930B2 (en) | 2013-03-15 | 2017-11-21 | Intel Corporation | Method for emulating a guest centralized flag architecture by using a native distributed flag architecture |
US10740126B2 (en) | 2013-03-15 | 2020-08-11 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
US11656875B2 (en) | 2013-03-15 | 2023-05-23 | Intel Corporation | Method and system for instruction block to execution unit grouping |
US9811377B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for executing multithreaded instructions grouped into blocks |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
CN111638911A (zh) * | 2019-03-01 | 2020-09-08 | 阿里巴巴集团控股有限公司 | 一种处理器、指令执行设备及方法 |
US20220254423A1 (en) * | 2019-08-05 | 2022-08-11 | Tobb Ekonomi Ve Teknoloji Universitesi | One direction-shift register aliasing table circuit suitable for use in microprocessors |
US11817162B2 (en) * | 2019-08-05 | 2023-11-14 | Tobb Ekonomi Ve Teknoloji Universitesi | One direction-shift register aliasing table circuit suitable for use in microprocessors |
CN111857830A (zh) * | 2020-06-05 | 2020-10-30 | 上海赛昉科技有限公司 | 一种提前转发指令数据的通路设计方法、系统及存储介质 |
CN111857830B (zh) * | 2020-06-05 | 2023-09-22 | 上海赛昉科技有限公司 | 一种提前转发指令数据的通路设计方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101582025B (zh) | 2011-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101582025B (zh) | 片上多处理器体系架构下全局寄存器重命名表的实现方法 | |
US9632825B2 (en) | Method and apparatus for efficient scheduling for asymmetrical execution units | |
Benkrid et al. | High performance biological pairwise sequence alignment: FPGA versus GPU versus cell BE versus GPP | |
CN106575218A (zh) | 持久性存储屏障处理器、方法、系统和指令 | |
CN106293894B (zh) | 执行事务性功率管理的硬件设备和方法 | |
Qian et al. | Accelerating RTL simulation with GPUs | |
CN101438260A (zh) | 计算机阵列中的资源分配 | |
Dwiel et al. | FPGA modeling of diverse superscalar processors | |
Fallin et al. | The heterogeneous block architecture | |
CN104899369A (zh) | 一种利用perl脚本的仿真器多线程运行方法 | |
CN102073480B (zh) | 基于时分复用实现多核处理器内核模拟的方法 | |
CN104008021A (zh) | 针对多数据体系结构的精确的异常信号发送 | |
CN104205077B (zh) | 包括可配置最大处理器电流的针对能效和节能的方法、装置和系统 | |
Wang et al. | A star network approach in heterogeneous multiprocessors system on chip | |
Buchwald et al. | Malleable Invasive Applications. | |
CN103793208A (zh) | 矢量dsp 处理器和协处理器协同运作的数据处理系统 | |
Gilani et al. | Exploiting GPU peak-power and performance tradeoffs through reduced effective pipeline latency | |
Tan et al. | A non-stop double buffering mechanism for dataflow architecture | |
Uddin et al. | Signature-based high-level simulation of microthreaded many-core architectures | |
EP2709003A1 (en) | Loopback structure and data loopback processing method for processor | |
Braak et al. | R-gpu: A reconfigurable gpu architecture | |
Drewes et al. | Efficient inter-kernel communication for opencl database operators on FPGAs | |
Patan et al. | Design and implementation of optimized register file for streaming applications | |
Ghosh et al. | ASPEN: An asynchronous signal processor for energy efficient sensor nodes | |
US20160147924A1 (en) | Handling Blind Statements In Mixed Language Environments |
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: 20110525 Termination date: 20120625 |