KR102055228B1 - 상수 캐시를 이용하여 리터럴 생성 데이터를 의존 명령들로 보다 효율적으로 포워딩하기 위한 방법 및 장치 - Google Patents

상수 캐시를 이용하여 리터럴 생성 데이터를 의존 명령들로 보다 효율적으로 포워딩하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR102055228B1
KR102055228B1 KR1020157028732A KR20157028732A KR102055228B1 KR 102055228 B1 KR102055228 B1 KR 102055228B1 KR 1020157028732 A KR1020157028732 A KR 1020157028732A KR 20157028732 A KR20157028732 A KR 20157028732A KR 102055228 B1 KR102055228 B1 KR 102055228B1
Authority
KR
South Korea
Prior art keywords
instruction
entry
pipeline
register
value
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
KR1020157028732A
Other languages
English (en)
Korean (ko)
Other versions
KR20150129822A (ko
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 KR20150129822A publication Critical patent/KR20150129822A/ko
Application granted granted Critical
Publication of KR102055228B1 publication Critical patent/KR102055228B1/ko
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/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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/3824Operand accessing
    • G06F9/383Operand prefetching
    • G06F9/3832Value prediction for operands; operand history buffers
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • G06F9/3828Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage with global bypass, e.g. between pipelines, between clusters

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)
  • Memory System Of A Hierarchy Structure (AREA)
KR1020157028732A 2013-03-14 2014-03-14 상수 캐시를 이용하여 리터럴 생성 데이터를 의존 명령들로 보다 효율적으로 포워딩하기 위한 방법 및 장치 Active KR102055228B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/827,867 US20140281391A1 (en) 2013-03-14 2013-03-14 Method and apparatus for forwarding literal generated data to dependent instructions more efficiently using a constant cache
US13/827,867 2013-03-14
PCT/US2014/026907 WO2014152064A1 (en) 2013-03-14 2014-03-14 Method and apparatus for forwarding literal generated data to dependent instructions more efficiently using a constant cache

Publications (2)

Publication Number Publication Date
KR20150129822A KR20150129822A (ko) 2015-11-20
KR102055228B1 true KR102055228B1 (ko) 2019-12-12

Family

ID=50729776

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157028732A Active KR102055228B1 (ko) 2013-03-14 2014-03-14 상수 캐시를 이용하여 리터럴 생성 데이터를 의존 명령들로 보다 효율적으로 포워딩하기 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US20140281391A1 (enExample)
EP (1) EP2972791B1 (enExample)
JP (1) JP6352386B2 (enExample)
KR (1) KR102055228B1 (enExample)
CN (1) CN105009073B (enExample)
WO (1) WO2014152064A1 (enExample)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150019845A1 (en) * 2013-07-09 2015-01-15 Texas Instruments Incorporated Method to Extend the Number of Constant Bits Embedded in an Instruction Set
US10324723B2 (en) * 2014-07-02 2019-06-18 Nxp Usa, Inc. Systems and methods for processing both instructions and constant values from a memory of a digital processor accessed by separate pointers
US20160092219A1 (en) * 2014-09-29 2016-03-31 Qualcomm Incorporated Accelerating constant value generation using a computed constants table, and related circuits, methods, and computer-readable media
US20160170770A1 (en) * 2014-12-12 2016-06-16 Qualcomm Incorporated Providing early instruction execution in an out-of-order (ooo) processor, and related apparatuses, methods, and computer-readable media
US10671398B2 (en) * 2017-08-02 2020-06-02 International Business Machines Corporation Low-overhead, low-latency operand dependency tracking for instructions operating on register pairs in a processor core

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505293B1 (en) 1999-07-07 2003-01-07 Intel Corporation Register renaming to optimize identical register values
US20100106944A1 (en) 2004-07-13 2010-04-29 Arm Limited Data processing apparatus and method for performing rearrangement operations

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4197580A (en) * 1978-06-08 1980-04-08 Bell Telephone Laboratories, Incorporated Data processing system including a cache memory
US5123097A (en) * 1989-01-05 1992-06-16 Bull Hn Information Systems Inc. Apparatus and method for simultaneous execution of a write instruction and a succeeding read instruction in a data processing system with a store through cache strategy
JPH04130942A (ja) * 1990-09-21 1992-05-01 Hitachi Ltd ディジタル信号処理装置
JP2539974B2 (ja) * 1991-11-20 1996-10-02 富士通株式会社 情報処理装置におけるレジスタの読出制御方式
US6112019A (en) * 1995-06-12 2000-08-29 Georgia Tech Research Corp. Distributed instruction queue
US6742112B1 (en) * 1999-12-29 2004-05-25 Intel Corporation Lookahead register value tracking
US6728870B1 (en) * 2000-10-06 2004-04-27 Intel Corporation Register move operations
AU2003221767B2 (en) * 2002-04-24 2008-07-31 Research Development Foundation Synergistic effects of nuclear transcription factor NF-kB inhibitors and anti-neoplastic agents
EP1387254B1 (en) * 2002-07-31 2012-12-12 Texas Instruments Incorporated Skip instruction carrying out a test with immediate value
SE527350C8 (sv) * 2003-08-18 2006-03-21 Gallaher Snus Ab Lock till snusdosa
US7343482B2 (en) * 2004-10-20 2008-03-11 Arm Limited Program subgraph identification
GB2444455A (en) * 2005-08-29 2008-06-04 Searete Llc Scheduling mechanism of a hierarchical processor including multiple parallel clusters
US8176265B2 (en) * 2006-10-30 2012-05-08 Nvidia Corporation Shared single-access memory with management of multiple parallel requests
US7900027B2 (en) * 2008-01-31 2011-03-01 International Business Machines Corporation Scalable link stack control method with full support for speculative operations
US20100004994A1 (en) * 2008-07-02 2010-01-07 Global Launch Incorporated Methods for facilitating communications between businesses and consumers
US20110047357A1 (en) * 2009-08-19 2011-02-24 Qualcomm Incorporated Methods and Apparatus to Predict Non-Execution of Conditional Non-branching Instructions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505293B1 (en) 1999-07-07 2003-01-07 Intel Corporation Register renaming to optimize identical register values
US20100106944A1 (en) 2004-07-13 2010-04-29 Arm Limited Data processing apparatus and method for performing rearrangement operations

Also Published As

Publication number Publication date
CN105009073A (zh) 2015-10-28
WO2014152064A1 (en) 2014-09-25
CN105009073B (zh) 2019-01-15
JP2016512366A (ja) 2016-04-25
JP6352386B2 (ja) 2018-07-04
KR20150129822A (ko) 2015-11-20
EP2972791A1 (en) 2016-01-20
EP2972791B1 (en) 2019-08-07
US20140281391A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
CN103309644B (zh) 用于微处理器的转译地址高速缓存
US9678758B2 (en) Coprocessor for out-of-order loads
KR102055228B1 (ko) 상수 캐시를 이용하여 리터럴 생성 데이터를 의존 명령들로 보다 효율적으로 포워딩하기 위한 방법 및 장치
US9804896B2 (en) Thread migration across cores of a multi-core processor
US10459727B2 (en) Loop code processor optimizations
JP2003523573A (ja) プロセッサにおける書き込みトラヒックを減少するシステム及び方法
US20170046158A1 (en) Determining prefetch instructions based on instruction encoding
CN105144084B (zh) 提高处理器中返回分支指令的执行速度的方法
US10592252B2 (en) Efficient instruction processing for sparse data
JP2014182817A (ja) 条件付きショート前方分岐の計算的に等価な述語付き命令への変換
CN110515656A (zh) 一种casp指令的执行方法、微处理器及计算机设备
CN101371223B (zh) 运算数的提早有条件选择
KR20180039077A (ko) 전력 효율적 페치 적응
US11175916B2 (en) System and method for a lightweight fencing operation
US20250138826A1 (en) Processor, Instruction Fetching Method, and Computer System
US20170046160A1 (en) Efficient handling of register files
US20170192896A1 (en) Zero cache memory system extension
CN120858343A (zh) 基于距离的存储器消歧预测

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20151012

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20190228

Comment text: Request for Examination of Application

A302 Request for accelerated examination
PA0302 Request for accelerated examination

Patent event date: 20190821

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20191203

PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20191206

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20191206

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20220921

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20230921

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee