JP7325437B2 - リソースインデックス置換を実施するデバイス及びプロセッサ - Google Patents

リソースインデックス置換を実施するデバイス及びプロセッサ Download PDF

Info

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
Application number
JP2020554898A
Other languages
English (en)
Japanese (ja)
Other versions
JPWO2019196927A5 (https=
JP2021520553A5 (https=
JP2021520553A (ja
Inventor
リウ,チャン
Original Assignee
シー-スカイ マイクロシステムズ カンパニー,リミテッド
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 シー-スカイ マイクロシステムズ カンパニー,リミテッド filed Critical シー-スカイ マイクロシステムズ カンパニー,リミテッド
Publication of JP2021520553A publication Critical patent/JP2021520553A/ja
Publication of JPWO2019196927A5 publication Critical patent/JPWO2019196927A5/ja
Publication of JP2021520553A5 publication Critical patent/JP2021520553A5/ja
Application granted granted Critical
Publication of JP7325437B2 publication Critical patent/JP7325437B2/ja
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/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/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
    • 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)
JP2020554898A 2018-04-13 2019-04-12 リソースインデックス置換を実施するデバイス及びプロセッサ Active JP7325437B2 (ja)

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)

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

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