JP2016512908A - コンテキスト依存性命令のための性能最適化 - Google Patents

コンテキスト依存性命令のための性能最適化 Download PDF

Info

Publication number
JP2016512908A
JP2016512908A JP2016503240A JP2016503240A JP2016512908A JP 2016512908 A JP2016512908 A JP 2016512908A JP 2016503240 A JP2016503240 A JP 2016503240A JP 2016503240 A JP2016503240 A JP 2016503240A JP 2016512908 A JP2016512908 A JP 2016512908A
Authority
JP
Japan
Prior art keywords
instruction
entry
current value
write
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.)
Pending
Application number
JP2016503240A
Other languages
English (en)
Japanese (ja)
Other versions
JP2016512908A5 (enExample
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 JP2016512908A publication Critical patent/JP2016512908A/ja
Publication of JP2016512908A5 publication Critical patent/JP2016512908A5/ja
Pending legal-status Critical Current

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/30098Register arrangements
    • 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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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/3842Speculative 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
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3863Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers

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)
JP2016503240A 2013-03-15 2014-03-14 コンテキスト依存性命令のための性能最適化 Pending JP2016512908A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/841,576 US9823929B2 (en) 2013-03-15 2013-03-15 Optimizing performance for context-dependent instructions
US13/841,576 2013-03-15
PCT/US2014/029876 WO2014145160A1 (en) 2013-03-15 2014-03-14 Optimizing performance for context-dependent instructions

Publications (2)

Publication Number Publication Date
JP2016512908A true JP2016512908A (ja) 2016-05-09
JP2016512908A5 JP2016512908A5 (enExample) 2017-03-30

Family

ID=50629006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016503240A Pending JP2016512908A (ja) 2013-03-15 2014-03-14 コンテキスト依存性命令のための性能最適化

Country Status (6)

Country Link
US (1) US9823929B2 (enExample)
EP (1) EP2972790A1 (enExample)
JP (1) JP2016512908A (enExample)
KR (1) KR20150132242A (enExample)
CN (1) CN105190540B (enExample)
WO (1) WO2014145160A1 (enExample)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298456B2 (en) * 2012-08-21 2016-03-29 Apple Inc. Mechanism for performing speculative predicated instructions
US9817663B2 (en) 2013-03-19 2017-11-14 Apple Inc. Enhanced Macroscalar predicate operations
US9348589B2 (en) 2013-03-19 2016-05-24 Apple Inc. Enhanced predicate registers having predicates corresponding to element widths
US10684859B2 (en) * 2016-09-19 2020-06-16 Qualcomm Incorporated Providing memory dependence prediction in block-atomic dataflow architectures
US10360036B2 (en) 2017-07-12 2019-07-23 International Business Machines Corporation Cracked execution of move-to-FPSCR instructions
US10592246B2 (en) * 2017-07-12 2020-03-17 International Business Machines Corporation Low latency execution of floating-point record form instructions
US11068612B2 (en) 2018-08-01 2021-07-20 International Business Machines Corporation Microarchitectural techniques to mitigate cache-based data security vulnerabilities
US11868777B2 (en) 2020-12-16 2024-01-09 Advanced Micro Devices, Inc. Processor-guided execution of offloaded instructions using fixed function operations
US12073251B2 (en) * 2020-12-29 2024-08-27 Advanced Micro Devices, Inc. Offloading computations from a processor to remote execution logic
US12197378B2 (en) 2022-06-01 2025-01-14 Advanced Micro Devices, Inc. Method and apparatus to expedite system services using processing-in-memory (PIM)
US12050531B2 (en) 2022-09-26 2024-07-30 Advanced Micro Devices, Inc. Data compression and decompression for processing in memory
US12147338B2 (en) 2022-12-27 2024-11-19 Advanced Micro Devices, Inc. Leveraging processing in memory registers as victim buffers
US12265470B1 (en) 2023-09-29 2025-04-01 Advanced Micro Devices, Inc. Bypassing cache directory lookups for processing-in-memory instructions
US12455826B2 (en) 2024-03-29 2025-10-28 Advanced Micro Devices, Inc. Dynamic caching policies for processing-in-memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050033946A1 (en) * 2003-08-06 2005-02-10 Abadallah Mohammad A. Virtual prediction for control registers in a speculatively executing machine
US20100205406A1 (en) * 2009-02-11 2010-08-12 Via Technologies, Inc.. Out-of-order execution microprocessor that speculatively executes dependent memory access instructions by predicting no value change by older instructions that load a segment register

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0649086B1 (en) 1993-10-18 2000-07-19 National Semiconductor Corporation Microprocessor with speculative execution
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
US5854921A (en) 1995-08-31 1998-12-29 Advanced Micro Devices, Inc. Stride-based data address prediction structure
US6405305B1 (en) 1999-09-10 2002-06-11 Advanced Micro Devices, Inc. Rapid execution of floating point load control word instructions
US6983358B2 (en) * 2001-10-23 2006-01-03 Ip-First, Llc Method and apparatus for maintaining status coherency between queue-separated functional units
US7093111B2 (en) 2003-07-31 2006-08-15 International Business Machines Corporation Recovery of global history vector in the event of a non-branch flush
US7500087B2 (en) 2004-03-09 2009-03-03 Intel Corporation Synchronization of parallel processes using speculative execution of synchronization instructions
JP5326374B2 (ja) * 2008-06-19 2013-10-30 富士通セミコンダクター株式会社 プロセッサ、性能プロファイリング装置、性能プロファイリングプログラムおよび性能プロファイリング方法
JP5526626B2 (ja) * 2009-06-30 2014-06-18 富士通株式会社 演算処理装置およびアドレス変換方法
US20110047358A1 (en) 2009-08-19 2011-02-24 International Business Machines Corporation In-Data Path Tracking of Floating Point Exceptions and Store-Based Exception Indication
US8819397B2 (en) 2011-03-01 2014-08-26 Advanced Micro Devices, Inc. Processor with increased efficiency via control word prediction

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050033946A1 (en) * 2003-08-06 2005-02-10 Abadallah Mohammad A. Virtual prediction for control registers in a speculatively executing machine
US20100205406A1 (en) * 2009-02-11 2010-08-12 Via Technologies, Inc.. Out-of-order execution microprocessor that speculatively executes dependent memory access instructions by predicting no value change by older instructions that load a segment register

Also Published As

Publication number Publication date
WO2014145160A1 (en) 2014-09-18
CN105190540A (zh) 2015-12-23
US20140281405A1 (en) 2014-09-18
KR20150132242A (ko) 2015-11-25
US9823929B2 (en) 2017-11-21
EP2972790A1 (en) 2016-01-20
CN105190540B (zh) 2018-04-03

Similar Documents

Publication Publication Date Title
US9823929B2 (en) Optimizing performance for context-dependent instructions
US9436470B2 (en) Restoring a register renaming map
US9672044B2 (en) Space efficient checkpoint facility and technique for processor with integrally indexed register mapping and free-list arrays
US9678758B2 (en) Coprocessor for out-of-order loads
US20160350116A1 (en) Mitigating wrong-path effects in branch prediction
CN113196244B (zh) 宏操作融合
CN103488464B (zh) 微处理器以及微处理器操作方法
US20140006752A1 (en) Qualifying Software Branch-Target Hints with Hardware-Based Predictions
US20170123798A1 (en) Hardware-based run-time mitigation of blocks having multiple conditional branches
US9268575B2 (en) Flush operations in a processor
US20190004805A1 (en) Multi-tagged branch prediction table
US11803388B2 (en) Apparatus and method for predicting source operand values and optimized processing of instructions
EP3230851A1 (en) Providing early instruction execution in an out-of-order (ooo) processor, and related apparatuses, methods, and computer-readable media
JP6352386B2 (ja) 定数キャッシュを使用してより効率的にリテラル生成データを従属命令に転送するための方法および装置
CN107209662B (zh) 指令的相依性预测
US9588769B2 (en) Processor that leapfrogs MOV instructions
CN104615409B (zh) 跳越mov指令的处理器和由该处理器使用的方法
CN113703842B (zh) 一种基于分支预测的值预测方法、装置及介质
US10310862B2 (en) Data processing
US11086626B2 (en) Circuitry and methods
WO2017072615A1 (en) Hardware-based run-time mitigation of conditional branches
KR20140070308A (ko) 병렬 처리를 위한 재구성형 프로세서 및 재구성형 프로세서의 동작 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170224

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180409

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20181105