JP7325437B2 - リソースインデックス置換を実施するデバイス及びプロセッサ - Google Patents
リソースインデックス置換を実施するデバイス及びプロセッサ Download PDFInfo
- Publication number
- JP7325437B2 JP7325437B2 JP2020554898A JP2020554898A JP7325437B2 JP 7325437 B2 JP7325437 B2 JP 7325437B2 JP 2020554898 A JP2020554898 A JP 2020554898A JP 2020554898 A JP2020554898 A JP 2020554898A JP 7325437 B2 JP7325437 B2 JP 7325437B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- index
- resource index
- type
- unit
- 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/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/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
-
- 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)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810331737.X | 2018-04-13 | ||
| CN201810331737.XA CN108614736B (zh) | 2018-04-13 | 2018-04-13 | 实现资源索引替换的装置及处理器 |
| PCT/CN2019/082422 WO2019196927A1 (en) | 2018-04-13 | 2019-04-12 | Device and processor for implementing resource index replacement |
Publications (4)
| Publication Number | Publication Date |
|---|---|
| JP2021520553A JP2021520553A (ja) | 2021-08-19 |
| JPWO2019196927A5 JPWO2019196927A5 (https=) | 2022-04-07 |
| JP2021520553A5 JP2021520553A5 (https=) | 2022-04-07 |
| JP7325437B2 true JP7325437B2 (ja) | 2023-08-14 |
Family
ID=63659984
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020554898A Active JP7325437B2 (ja) | 2018-04-13 | 2019-04-12 | リソースインデックス置換を実施するデバイス及びプロセッサ |
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
Also Published As
| Publication number | Publication date |
|---|---|
| US20210334131A1 (en) | 2021-10-28 |
| CN108614736B (zh) | 2021-03-02 |
| WO2019196927A9 (en) | 2020-08-20 |
| 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 |
|---|---|---|
| US12131186B2 (en) | Hardware accelerated dynamic work creation on a graphics processing unit | |
| US11656875B2 (en) | Method and system for instruction block to execution unit grouping | |
| US10061588B2 (en) | Tracking operand liveness information in a computer system and performing function based on the liveness information | |
| US10691597B1 (en) | Method and system for processing big data | |
| JP5474176B2 (ja) | 依存行列を用いる割り当て解除されたロード命令の追跡 | |
| US10275255B2 (en) | Method for dependency broadcasting through a source organized source view data structure | |
| US9811342B2 (en) | Method for performing dual dispatch of blocks and half blocks | |
| CN101189575B (zh) | 定序器地址管理 | |
| US20090100249A1 (en) | Method and apparatus for allocating architectural register resources among threads in a multi-threaded microprocessor core | |
| US20110119674A1 (en) | Scheduling method, scheduling apparatus and multiprocessor system | |
| US20170123804A1 (en) | Method for populating a source view data structure by using register template snapshots | |
| US20140047219A1 (en) | Managing A Register Cache Based on an Architected Computer Instruction Set having Operand Last-User Information | |
| US11068271B2 (en) | Zero cycle move using free list counts | |
| JPH05224921A (ja) | データ処理システム | |
| US11734014B2 (en) | Device and processor for implementing resource index replacement | |
| US7490225B2 (en) | Synchronizing master processor by stalling when tracking of coprocessor rename register resource usage count for sent instructions reaches credited apportioned number | |
| US7490223B2 (en) | Dynamic resource allocation among master processors that require service from a coprocessor | |
| US10534614B2 (en) | Rescheduling threads using different cores in a multithreaded microprocessor having a shared register pool | |
| US7206923B2 (en) | Method and apparatus for eliminating the need for register assignment, allocation, spilling and re-filling | |
| KR20080065733A (ko) | 레지스터 값의 유사성에 기반을 둔 레지스터 리네이밍시스템 및 방법 | |
| US7493471B2 (en) | Coprocessor receiving renamed register identifier from master to complete an operation upon register data ready | |
| KR20220083812A (ko) | 선택 불가능한 스케줄러 큐 이후의 레지스터 재명명 | |
| Lenir et al. | Exploiting instruction-level parallelism: the multithreaded approach | |
| CN117667223A (zh) | 一种数据冒险解决方法、计算引擎、处理器及电子设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220330 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220330 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221219 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230314 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230705 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230801 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7325437 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |