CN104679663B - 寄存器文件高速缓存的软分区 - Google Patents
寄存器文件高速缓存的软分区 Download PDFInfo
- Publication number
- CN104679663B CN104679663B CN201410705339.1A CN201410705339A CN104679663B CN 104679663 B CN104679663 B CN 104679663B CN 201410705339 A CN201410705339 A CN 201410705339A CN 104679663 B CN104679663 B CN 104679663B
- Authority
- CN
- China
- Prior art keywords
- register
- thread
- physical register
- available
- described instruction
- 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
- 238000009826 distribution Methods 0.000 claims abstract description 52
- 238000013507 mapping Methods 0.000 claims abstract description 48
- 230000000694 effects Effects 0.000 claims abstract description 34
- 238000000034 method Methods 0.000 claims description 66
- 238000003860 storage Methods 0.000 claims description 28
- 238000005259 measurement Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 description 20
- 230000007246 mechanism Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000000151 deposition Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 210000003811 finger Anatomy 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000000149 penetrating effect Effects 0.000 description 3
- 238000007667 floating Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000002040 relaxant effect Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 101100049754 Archaeoglobus fulgidus (strain ATCC 49558 / DSM 4304 / JCM 9628 / NBRC 100126 / VC-16) wtpB gene Proteins 0.000 description 1
- 101100457845 Azotobacter vinelandii modA gene Proteins 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 101150033385 modB gene Proteins 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000036299 sexual function Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30138—Extension of register space, e.g. register cache
-
- 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/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (20)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1321077.8 | 2013-11-29 | ||
GB1321077.8A GB2520731B (en) | 2013-11-29 | 2013-11-29 | Soft-partitioning of a register file cache |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104679663A CN104679663A (zh) | 2015-06-03 |
CN104679663B true CN104679663B (zh) | 2019-10-11 |
Family
ID=49979522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410705339.1A Active CN104679663B (zh) | 2013-11-29 | 2014-11-27 | 寄存器文件高速缓存的软分区 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150154022A1 (zh) |
CN (1) | CN104679663B (zh) |
DE (1) | DE102014017744A1 (zh) |
GB (2) | GB2520731B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11544214B2 (en) * | 2015-02-02 | 2023-01-03 | Optimum Semiconductor Technologies, Inc. | Monolithic vector processor configured to operate on variable length vectors using a vector length register |
GB2538237B (en) * | 2015-05-11 | 2018-01-10 | Advanced Risc Mach Ltd | Available register control for register renaming |
GB2540971B (en) * | 2015-07-31 | 2018-03-14 | Advanced Risc Mach Ltd | Graphics processing systems |
US10296349B2 (en) * | 2016-01-07 | 2019-05-21 | Arm Limited | Allocating a register to an instruction using register index information |
US10185568B2 (en) * | 2016-04-22 | 2019-01-22 | Microsoft Technology Licensing, Llc | Annotation logic for dynamic instruction lookahead distance determination |
US10558460B2 (en) * | 2016-12-14 | 2020-02-11 | Qualcomm Incorporated | General purpose register allocation in streaming processor |
US10831537B2 (en) | 2017-02-17 | 2020-11-10 | International Business Machines Corporation | Dynamic update of the number of architected registers assigned to software threads using spill counts |
CN112445616B (zh) * | 2020-11-25 | 2023-03-21 | 海光信息技术股份有限公司 | 资源分配方法以及装置 |
CN116560729B (zh) * | 2023-05-11 | 2024-06-04 | 北京市合芯数字科技有限公司 | 一种多线程处理器的寄存器多级管理方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6314511B2 (en) * | 1997-04-03 | 2001-11-06 | University Of Washington | Mechanism for freeing registers on processors that perform dynamic out-of-order execution of instructions using renaming registers |
CN1581069A (zh) * | 2003-07-31 | 2005-02-16 | 英特尔公司 | 具有多位字段的寄存器的重命名 |
CN1708745A (zh) * | 2002-10-11 | 2005-12-14 | 沙桥技术有限公司 | 减少多线程处理器中寄存器文件端口的方法和装置 |
US8219885B2 (en) * | 2006-05-12 | 2012-07-10 | Arm Limited | Error detecting and correcting mechanism for a register file |
CN103197919A (zh) * | 2012-01-06 | 2013-07-10 | 想象力科技有限公司 | 还原寄存器重命名映射 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2415060B (en) * | 2004-04-16 | 2007-02-14 | Imagination Tech Ltd | Dynamic load balancing |
EP2523101B1 (en) * | 2006-11-14 | 2014-06-04 | Soft Machines, Inc. | Apparatus and method for processing complex instruction formats in a multi- threaded architecture supporting various context switch modes and virtualization schemes |
US20130086364A1 (en) * | 2011-10-03 | 2013-04-04 | International Business Machines Corporation | Managing a Register Cache Based on an Architected Computer Instruction Set Having Operand Last-User Information |
GB2496934B (en) * | 2012-08-07 | 2014-06-11 | Imagination Tech Ltd | Multi-stage register renaming using dependency removal |
GB2501791B (en) * | 2013-01-24 | 2014-06-11 | Imagination Tech Ltd | Register file having a plurality of sub-register files |
GB2502857B (en) * | 2013-03-05 | 2015-01-21 | Imagination Tech Ltd | Migration of data to register file cache |
-
2013
- 2013-11-29 GB GB1321077.8A patent/GB2520731B/en not_active Expired - Fee Related
- 2013-11-29 GB GB1617657.0A patent/GB2545307B/en not_active Expired - Fee Related
-
2014
- 2014-11-19 US US14/548,041 patent/US20150154022A1/en not_active Abandoned
- 2014-11-27 CN CN201410705339.1A patent/CN104679663B/zh active Active
- 2014-12-01 DE DE102014017744.0A patent/DE102014017744A1/de active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6314511B2 (en) * | 1997-04-03 | 2001-11-06 | University Of Washington | Mechanism for freeing registers on processors that perform dynamic out-of-order execution of instructions using renaming registers |
CN1708745A (zh) * | 2002-10-11 | 2005-12-14 | 沙桥技术有限公司 | 减少多线程处理器中寄存器文件端口的方法和装置 |
CN1581069A (zh) * | 2003-07-31 | 2005-02-16 | 英特尔公司 | 具有多位字段的寄存器的重命名 |
US8219885B2 (en) * | 2006-05-12 | 2012-07-10 | Arm Limited | Error detecting and correcting mechanism for a register file |
CN103197919A (zh) * | 2012-01-06 | 2013-07-10 | 想象力科技有限公司 | 还原寄存器重命名映射 |
Also Published As
Publication number | Publication date |
---|---|
US20150154022A1 (en) | 2015-06-04 |
GB2520731A (en) | 2015-06-03 |
GB201617657D0 (en) | 2016-11-30 |
CN104679663A (zh) | 2015-06-03 |
GB2520731B (en) | 2017-02-08 |
DE102014017744A1 (de) | 2015-09-24 |
GB2545307B (en) | 2018-03-07 |
GB2545307A (en) | 2017-06-14 |
GB201321077D0 (en) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104679663B (zh) | 寄存器文件高速缓存的软分区 | |
CN105210040B (zh) | 用于执行分组成块的多线程指令的方法 | |
CN105122211B (zh) | 用于针对非对称执行单元高效调度的方法和装置 | |
CN108108188B (zh) | 用于通过使用由可分区引擎实例化的虚拟核来支持代码块执行的存储器片段 | |
TWI518504B (zh) | 使用可分割引擎實體化的虛擬核心以支援程式碼區塊執行的暫存器檔案節段 | |
EP2689327B1 (en) | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines | |
US8656401B2 (en) | Method and apparatus for prioritizing processor scheduler queue operations | |
JP5177141B2 (ja) | 演算処理装置、演算処理方法 | |
CN106990941A (zh) | 使用寄存器重命名处理移动指令 | |
CN105027075B (zh) | 具有共享前端单元的处理核 | |
US8661227B2 (en) | Multi-level register file supporting multiple threads | |
CN108845830A (zh) | 一种一对数装载指令的执行方法 | |
WO2011155097A1 (ja) | 命令発行制御装置及び方法 | |
US10268519B2 (en) | Scheduling method and processing device for thread groups execution in a computing system | |
US11816061B2 (en) | Dynamic allocation of arithmetic logic units for vectorized operations | |
WO2019019719A1 (zh) | 分支预测方法及装置 | |
US8589942B2 (en) | Non-real time thread scheduling | |
US7562206B2 (en) | Multilevel scheme for dynamically and statically predicting instruction resource utilization to generate execution cluster partitions | |
CN108628639A (zh) | 处理器和指令调度方法 | |
GB2556740A (en) | Soft-partitioning of a register file cache |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Hertfordshire Applicant after: Mex Technology Co.,Ltd. Address before: Hertfordshire Applicant before: Hai Luo Software Co.,Ltd. |
|
CB02 | Change of applicant information | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20181108 Address after: California, USA Applicant after: Imagination Technologies Ltd. Address before: Hertfordshire Applicant before: Mex Technology Co.,Ltd. Effective date of registration: 20181108 Address after: Hertfordshire Applicant after: Hai Luo Software Co.,Ltd. Address before: Hertfordshire Applicant before: Imagination Technologies Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |