CN108614736B - 实现资源索引替换的装置及处理器 - Google Patents
实现资源索引替换的装置及处理器 Download PDFInfo
- Publication number
- CN108614736B CN108614736B CN201810331737.XA CN201810331737A CN108614736B CN 108614736 B CN108614736 B CN 108614736B CN 201810331737 A CN201810331737 A CN 201810331737A CN 108614736 B CN108614736 B CN 108614736B
- Authority
- CN
- China
- Prior art keywords
- instruction
- unit
- resource
- index
- resource index
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Devices For Executing Special Programs (AREA)
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810331737.XA CN108614736B (zh) | 2018-04-13 | 2018-04-13 | 实现资源索引替换的装置及处理器 |
| EP19786104.0A EP3769213A4 (en) | 2018-04-13 | 2019-04-12 | DEVICE AND PROCESSOR FOR IMPLEMENTING A RESOURCE INDEX REPLACEMENT |
| US16/488,435 US11340905B2 (en) | 2018-04-13 | 2019-04-12 | Device and processor for implementing resource index replacement |
| PCT/CN2019/082422 WO2019196927A1 (en) | 2018-04-13 | 2019-04-12 | Device and processor for implementing resource index replacement |
| JP2020554898A JP7325437B2 (ja) | 2018-04-13 | 2019-04-12 | リソースインデックス置換を実施するデバイス及びプロセッサ |
| US17/660,565 US11734014B2 (en) | 2018-04-13 | 2022-04-25 | Device and processor for implementing resource index replacement |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810331737.XA CN108614736B (zh) | 2018-04-13 | 2018-04-13 | 实现资源索引替换的装置及处理器 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN108614736A CN108614736A (zh) | 2018-10-02 |
| CN108614736B true CN108614736B (zh) | 2021-03-02 |
Family
ID=63659984
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201810331737.XA Active CN108614736B (zh) | 2018-04-13 | 2018-04-13 | 实现资源索引替换的装置及处理器 |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US11340905B2 (https=) |
| EP (1) | EP3769213A4 (https=) |
| JP (1) | JP7325437B2 (https=) |
| CN (1) | CN108614736B (https=) |
| WO (1) | WO2019196927A1 (https=) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108614736B (zh) | 2018-04-13 | 2021-03-02 | 杭州中天微系统有限公司 | 实现资源索引替换的装置及处理器 |
| CN114428638B (zh) * | 2020-10-29 | 2026-03-20 | 杭州中天微系统有限公司 | 指令发射单元、指令执行单元、相关装置和方法 |
| US11500642B2 (en) * | 2020-11-10 | 2022-11-15 | International Busines Machines Corporation | Assignment of microprocessor register tags at issue time |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7765533B2 (en) * | 2002-04-25 | 2010-07-27 | Koninklijke Philips Electronics N.V. | Automatic task distribution in scalable processors |
| TWI230357B (en) * | 2003-12-19 | 2005-04-01 | Sunplus Technology Co Ltd | Device and method for writing data in a processor to memory at unaligned location |
| US7529913B2 (en) * | 2003-12-23 | 2009-05-05 | Intel Corporation | Late allocation of registers |
| JP5436033B2 (ja) * | 2009-05-08 | 2014-03-05 | パナソニック株式会社 | プロセッサ |
| CN102495724A (zh) * | 2011-11-04 | 2012-06-13 | 杭州中天微系统有限公司 | 一种加快存储指令执行效率的数据处理器 |
| US9996348B2 (en) * | 2012-06-14 | 2018-06-12 | Apple Inc. | Zero cycle load |
| US9652246B1 (en) * | 2012-12-20 | 2017-05-16 | Marvell International Ltd. | Banked physical register data flow architecture in out-of-order processors |
| CN104216681B (zh) * | 2013-05-31 | 2018-02-13 | 华为技术有限公司 | 一种cpu指令处理方法和处理器 |
| CN105242905B (zh) * | 2015-10-29 | 2018-03-09 | 华为技术有限公司 | 数据假相关的处理方法和装置 |
| CN105786498A (zh) * | 2016-02-25 | 2016-07-20 | 广州阿里巴巴文学信息技术有限公司 | 用于修改应用程序的方法、设备和电子设备 |
| CN108614736B (zh) | 2018-04-13 | 2021-03-02 | 杭州中天微系统有限公司 | 实现资源索引替换的装置及处理器 |
-
2018
- 2018-04-13 CN CN201810331737.XA patent/CN108614736B/zh active Active
-
2019
- 2019-04-12 US US16/488,435 patent/US11340905B2/en active Active
- 2019-04-12 EP EP19786104.0A patent/EP3769213A4/en active Pending
- 2019-04-12 WO PCT/CN2019/082422 patent/WO2019196927A1/en not_active Ceased
- 2019-04-12 JP JP2020554898A patent/JP7325437B2/ja active Active
-
2022
- 2022-04-25 US US17/660,565 patent/US11734014B2/en active Active
Non-Patent Citations (1)
| Title |
|---|
| 支持混合计算模式的异构多核系统若干关键技术的研究;李浩洋;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180215;I137-46 * |
Also Published As
| Publication number | Publication date |
|---|---|
| US20210334131A1 (en) | 2021-10-28 |
| WO2019196927A9 (en) | 2020-08-20 |
| JP7325437B2 (ja) | 2023-08-14 |
| EP3769213A1 (en) | 2021-01-27 |
| EP3769213A4 (en) | 2021-05-19 |
| US20220244963A1 (en) | 2022-08-04 |
| CN108614736A (zh) | 2018-10-02 |
| US11340905B2 (en) | 2022-05-24 |
| JP2021520553A (ja) | 2021-08-19 |
| US11734014B2 (en) | 2023-08-22 |
| WO2019196927A1 (en) | 2019-10-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11656875B2 (en) | Method and system for instruction block to execution unit grouping | |
| US10146576B2 (en) | Method for executing multithreaded instructions grouped into blocks | |
| US9811342B2 (en) | Method for performing dual dispatch of blocks and half blocks | |
| US10275255B2 (en) | Method for dependency broadcasting through a source organized source view data structure | |
| US9891924B2 (en) | Method for implementing a reduced size register view data structure in a microprocessor | |
| US9575762B2 (en) | Method for populating register view data structure by using register template snapshots | |
| US9886279B2 (en) | Method for populating and instruction view data structure by using register template snapshots | |
| US20180060076A1 (en) | Method for implementing a reduced size register view data structure in a microprocessor | |
| US20170123804A1 (en) | Method for populating a source view data structure by using register template snapshots | |
| US20150046683A1 (en) | Method for using register templates to track interdependencies among blocks of instructions | |
| WO2014150971A1 (en) | A method for dependency broadcasting through a block organized source view data structure | |
| KR102338849B1 (ko) | 실시간 운영 체제에서 스택 메모리 관리를 제공하는 방법 및 시스템 | |
| US20220244963A1 (en) | Device and processor for implementing resource index replacement | |
| US20140244977A1 (en) | Deferred Saving of Registers in a Shared Register Pool for a Multithreaded Microprocessor | |
| US20130332703A1 (en) | Shared Register Pool For A Multithreaded Microprocessor | |
| US7206923B2 (en) | Method and apparatus for eliminating the need for register assignment, allocation, spilling and re-filling |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |