CN108614736B - 实现资源索引替换的装置及处理器 - Google Patents

实现资源索引替换的装置及处理器 Download PDF

Info

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
Application number
CN201810331737.XA
Other languages
English (en)
Chinese (zh)
Other versions
CN108614736A (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.)
Hangzhou C Sky Microsystems Co Ltd
Original Assignee
Hangzhou C Sky Microsystems Co Ltd
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 Hangzhou C Sky Microsystems Co Ltd filed Critical Hangzhou C Sky Microsystems Co Ltd
Priority to CN201810331737.XA priority Critical patent/CN108614736B/zh
Publication of CN108614736A publication Critical patent/CN108614736A/zh
Priority to EP19786104.0A priority patent/EP3769213A4/en
Priority to US16/488,435 priority patent/US11340905B2/en
Priority to PCT/CN2019/082422 priority patent/WO2019196927A1/en
Priority to JP2020554898A priority patent/JP7325437B2/ja
Application granted granted Critical
Publication of CN108614736B publication Critical patent/CN108614736B/zh
Priority to US17/660,565 priority patent/US11734014B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • G06F9/384Register renaming
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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)
CN201810331737.XA 2018-04-13 2018-04-13 实现资源索引替换的装置及处理器 Active CN108614736B (zh)

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)

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

* Cited by examiner, † Cited by third party
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 杭州中天微系统有限公司 实现资源索引替换的装置及处理器

Non-Patent Citations (1)

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