CN106462391B - 利用管线寄存器作为中间存储器的方法、处理单元及计算机可读存储媒体 - Google Patents

利用管线寄存器作为中间存储器的方法、处理单元及计算机可读存储媒体 Download PDF

Info

Publication number
CN106462391B
CN106462391B CN201580024902.1A CN201580024902A CN106462391B CN 106462391 B CN106462391 B CN 106462391B CN 201580024902 A CN201580024902 A CN 201580024902A CN 106462391 B CN106462391 B CN 106462391B
Authority
CN
China
Prior art keywords
gpr
value
gprs
pipeline
instruction
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.)
Expired - Fee Related
Application number
CN201580024902.1A
Other languages
English (en)
Chinese (zh)
Other versions
CN106462391A (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN106462391A publication Critical patent/CN106462391A/zh
Application granted granted Critical
Publication of CN106462391B publication Critical patent/CN106462391B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3875Pipelining a single stage, e.g. superpipelining
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • 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/3017Runtime instruction translation, e.g. macros
    • 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking

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)
  • Executing Machine-Instructions (AREA)
CN201580024902.1A 2014-05-12 2015-04-21 利用管线寄存器作为中间存储器的方法、处理单元及计算机可读存储媒体 Expired - Fee Related CN106462391B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/275,047 US9747104B2 (en) 2014-05-12 2014-05-12 Utilizing pipeline registers as intermediate storage
US14/275,047 2014-05-12
PCT/US2015/026850 WO2015175173A1 (en) 2014-05-12 2015-04-21 Utilizing pipeline registers as intermediate storage

Publications (2)

Publication Number Publication Date
CN106462391A CN106462391A (zh) 2017-02-22
CN106462391B true CN106462391B (zh) 2019-07-05

Family

ID=53267556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580024902.1A Expired - Fee Related CN106462391B (zh) 2014-05-12 2015-04-21 利用管线寄存器作为中间存储器的方法、处理单元及计算机可读存储媒体

Country Status (6)

Country Link
US (1) US9747104B2 (enExample)
EP (1) EP3143495B1 (enExample)
JP (1) JP6301501B2 (enExample)
KR (1) KR101863483B1 (enExample)
CN (1) CN106462391B (enExample)
WO (1) WO2015175173A1 (enExample)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102299008B1 (ko) * 2014-10-16 2021-09-06 삼성전자주식회사 어플리케이션 프로세서와 이를 포함하는 반도체 시스템
US11144367B2 (en) 2019-02-08 2021-10-12 International Business Machines Corporation Write power optimization for hardware employing pipe-based duplicate register files

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6145075A (en) * 1998-02-06 2000-11-07 Ip-First, L.L.C. Apparatus and method for executing a single-cycle exchange instruction to exchange contents of two locations in a register file
US20030200237A1 (en) * 2002-04-01 2003-10-23 Sony Computer Entertainment Inc. Serial operation pipeline, arithmetic device, arithmetic-logic circuit and operation method using the serial operation pipeline
US20030212880A1 (en) * 2002-05-09 2003-11-13 International Business Machies Corporation Power reduction mechanism for floating point register file reads
US6745319B1 (en) * 2000-02-18 2004-06-01 Texas Instruments Incorporated Microprocessor with instructions for shuffling and dealing data
US20050114634A1 (en) * 2003-11-24 2005-05-26 Sun Microsystems, Inc. Internal pipeline architecture for save/restore operation to reduce latency
CN1761940A (zh) * 2003-03-19 2006-04-19 皇家飞利浦电子股份有限公司 具有数据旁路的流水线指令处理器
US20070239971A1 (en) * 2006-04-06 2007-10-11 Ajit Deepak Gupte Partial Register Forwarding for CPUs With Unequal Delay Functional Units
CN103562856A (zh) * 2011-04-01 2014-02-05 英特尔公司 用于数据元素的跨步图案聚集及数据元素的跨步图案分散的系统、装置及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052769A (en) 1998-03-31 2000-04-18 Intel Corporation Method and apparatus for moving select non-contiguous bytes of packed data in a single instruction
US6094716A (en) 1998-07-14 2000-07-25 Advanced Micro Devices, Inc. Register renaming in which moves are accomplished by swapping rename tags
GB2409059B (en) 2003-12-09 2006-09-27 Advanced Risc Mach Ltd A data processing apparatus and method for moving data between registers and memory
WO2013101323A1 (en) 2011-12-30 2013-07-04 Intel Corporation Micro-architecture for eliminating mov operations
US9575754B2 (en) 2012-04-16 2017-02-21 Apple Inc. Zero cycle move

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6145075A (en) * 1998-02-06 2000-11-07 Ip-First, L.L.C. Apparatus and method for executing a single-cycle exchange instruction to exchange contents of two locations in a register file
US6745319B1 (en) * 2000-02-18 2004-06-01 Texas Instruments Incorporated Microprocessor with instructions for shuffling and dealing data
US20030200237A1 (en) * 2002-04-01 2003-10-23 Sony Computer Entertainment Inc. Serial operation pipeline, arithmetic device, arithmetic-logic circuit and operation method using the serial operation pipeline
US20030212880A1 (en) * 2002-05-09 2003-11-13 International Business Machies Corporation Power reduction mechanism for floating point register file reads
CN1761940A (zh) * 2003-03-19 2006-04-19 皇家飞利浦电子股份有限公司 具有数据旁路的流水线指令处理器
US20050114634A1 (en) * 2003-11-24 2005-05-26 Sun Microsystems, Inc. Internal pipeline architecture for save/restore operation to reduce latency
US20070239971A1 (en) * 2006-04-06 2007-10-11 Ajit Deepak Gupte Partial Register Forwarding for CPUs With Unequal Delay Functional Units
CN103562856A (zh) * 2011-04-01 2014-02-05 英特尔公司 用于数据元素的跨步图案聚集及数据元素的跨步图案分散的系统、装置及方法

Also Published As

Publication number Publication date
JP2017516226A (ja) 2017-06-15
US20150324196A1 (en) 2015-11-12
EP3143495A1 (en) 2017-03-22
WO2015175173A1 (en) 2015-11-19
CN106462391A (zh) 2017-02-22
JP6301501B2 (ja) 2018-03-28
KR20170007742A (ko) 2017-01-20
KR101863483B1 (ko) 2018-05-31
EP3143495B1 (en) 2023-08-16
EP3143495C0 (en) 2023-08-16
US9747104B2 (en) 2017-08-29

Similar Documents

Publication Publication Date Title
EP2820540B1 (en) Execution model for heterogeneous cpu-gpu computing
CN105453045B (zh) 使用动态宽度计算的壁垒同步
CN103348320B (zh) 通用图形处理单元中的计算资源管线化
CN104081449B (zh) 用于图形并行处理单元的缓冲器管理
US10061592B2 (en) Architecture and execution for efficient mixed precision computations in single instruction multiple data/thread (SIMD/T) devices
JP6526920B2 (ja) 処理ユニットのためのフレームベースのクロックレート調整
US20180341483A1 (en) Tensor Register Files
CN110678841A (zh) 张量处理器指令集架构
CN107710150A (zh) 从包含层次子例程信息的中间代码产生目标代码
US20170371657A1 (en) Scatter to gather operation
US11163567B2 (en) Multivalue reductions using serial initial reductions in multiple register spaces and parallel subsequent reductions in a single register space
US10489155B2 (en) Mixed-width SIMD operations using even/odd register pairs for wide data elements
CN106716346A (zh) 对端口减少的通用寄存器的操作数冲突解决
CN106462391B (zh) 利用管线寄存器作为中间存储器的方法、处理单元及计算机可读存储媒体
CN115516421A (zh) Gpu中基于gpr释放机制的gpr优化
CN107004252B (zh) 用于在处理浮点值时实现功率节省技术的装置与方法
CN106662997B (zh) 数据存储的跳过
CN111209041B (zh) 神经网络处理器、片上系统及电子设备
CN116302117A (zh) 数据处理方法及装置、处理器、电子设备、存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190705

Termination date: 20200421