CN104679663A - 寄存器文件高速缓存的软分区 - Google Patents
寄存器文件高速缓存的软分区 Download PDFInfo
- Publication number
- CN104679663A CN104679663A CN201410705339.1A CN201410705339A CN104679663A CN 104679663 A CN104679663 A CN 104679663A CN 201410705339 A CN201410705339 A CN 201410705339A CN 104679663 A CN104679663 A CN 104679663A
- Authority
- CN
- China
- Prior art keywords
- thread
- register
- physical register
- instruction
- architectural registers
- 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
- 238000000638 solvent extraction Methods 0.000 title abstract description 5
- 238000013507 mapping Methods 0.000 claims abstract description 52
- 230000000694 effects Effects 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims description 76
- 238000009826 distribution Methods 0.000 claims description 25
- 230000008859 change Effects 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 6
- 230000005055 memory storage Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 210000003811 finger Anatomy 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000002040 relaxant effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method 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
- 238000004364 calculation method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 101150033385 modB gene Proteins 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 244000045947 parasite Species 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000001960 triggered effect Effects 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/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, 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/38—Concurrent instruction execution, e.g. pipeline, 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
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 true CN104679663A (zh) | 2015-06-03 |
CN104679663B 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) | GB2545307B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109074258A (zh) * | 2016-04-22 | 2018-12-21 | 微软技术许可有限责任公司 | 具有指令先行发出逻辑的处理器 |
CN110352403A (zh) * | 2016-09-30 | 2019-10-18 | 英特尔公司 | 图形处理器寄存器重命名机制 |
CN112445616A (zh) * | 2020-11-25 | 2021-03-05 | 海光信息技术股份有限公司 | 资源分配方法以及装置 |
CN116560729A (zh) * | 2023-05-11 | 2023-08-08 | 北京市合芯数字科技有限公司 | 一种多线程处理器的寄存器多级管理方法及系统 |
Families Citing this family (6)
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 |
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 |
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 GB1617657.0A patent/GB2545307B/en not_active Expired - Fee Related
- 2013-11-29 GB GB1321077.8A patent/GB2520731B/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 | 想象力科技有限公司 | 还原寄存器重命名映射 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109074258A (zh) * | 2016-04-22 | 2018-12-21 | 微软技术许可有限责任公司 | 具有指令先行发出逻辑的处理器 |
CN109074258B (zh) * | 2016-04-22 | 2023-09-15 | 微软技术许可有限责任公司 | 具有指令先行发出逻辑的处理器 |
CN110352403A (zh) * | 2016-09-30 | 2019-10-18 | 英特尔公司 | 图形处理器寄存器重命名机制 |
CN112445616A (zh) * | 2020-11-25 | 2021-03-05 | 海光信息技术股份有限公司 | 资源分配方法以及装置 |
CN116560729A (zh) * | 2023-05-11 | 2023-08-08 | 北京市合芯数字科技有限公司 | 一种多线程处理器的寄存器多级管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
DE102014017744A1 (de) | 2015-09-24 |
US20150154022A1 (en) | 2015-06-04 |
GB201617657D0 (en) | 2016-11-30 |
GB201321077D0 (en) | 2014-01-15 |
CN104679663B (zh) | 2019-10-11 |
GB2545307B (en) | 2018-03-07 |
GB2545307A (en) | 2017-06-14 |
GB2520731A (en) | 2015-06-03 |
GB2520731B (en) | 2017-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104679663A (zh) | 寄存器文件高速缓存的软分区 | |
US11048517B2 (en) | Decoupled processor instruction window and operand buffer | |
US9946548B2 (en) | Age-based management of instruction blocks in a processor instruction window | |
CN105210040B (zh) | 用于执行分组成块的多线程指令的方法 | |
KR102575940B1 (ko) | 프로세서 명령어 창에 대한 명령어 블록의 대량 할당 | |
US9952867B2 (en) | Mapping instruction blocks based on block size | |
CN104781786B (zh) | 使用延迟重构程序顺序的选择逻辑 | |
CN102934076B (zh) | 指令发行控制装置以及方法 | |
US20110161976A1 (en) | Method to reduce queue synchronization of multiple work items in a system with high memory latency between processing nodes | |
CN106990941A (zh) | 使用寄存器重命名处理移动指令 | |
CN103226463A (zh) | 用于使用预解码数据调度指令的方法和装置 | |
US10268519B2 (en) | Scheduling method and processing device for thread groups execution in a computing system | |
CN107122245A (zh) | Gpu任务调度方法及系统 | |
JPWO2008155834A1 (ja) | 処理装置 | |
CN104050215B (zh) | 清除和重建相关性的系统和方法 | |
CN110308982A (zh) | 一种共享内存复用方法及装置 | |
CN110045988A (zh) | 具有共享前端单元的处理核 | |
US20220197858A1 (en) | Dynamic allocation of arithmetic logic units for vectorized operations | |
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 |