CN101582025A - 片上多处理器体系架构下全局寄存器重命名表的实现方法 - Google Patents

片上多处理器体系架构下全局寄存器重命名表的实现方法 Download PDF

Info

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
Application number
CNA2009100999490A
Other languages
English (en)
Other versions
CN101582025B (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN2009100999490A priority Critical patent/CN101582025B/zh
Publication of CN101582025A publication Critical patent/CN101582025A/zh
Application granted granted Critical
Publication of CN101582025B publication Critical patent/CN101582025B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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)提交指令
当一条指令在重排序缓存中提交后,这条指令在全局寄存器重命名表中把自己的目标寄存器的记录清除。
CN2009100999490A 2009-06-25 2009-06-25 片上多处理器体系架构下全局寄存器重命名表的实现方法 Expired - Fee Related CN101582025B (zh)

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)

* Cited by examiner, † Cited by third party
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

Cited By (45)

* Cited by examiner, † Cited by third party
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