JP6491655B2 - 即値ハンドリング及びフラグハンドリングのためのプロセッサ及び方法 - Google Patents

即値ハンドリング及びフラグハンドリングのためのプロセッサ及び方法 Download PDF

Info

Publication number
JP6491655B2
JP6491655B2 JP2016525922A JP2016525922A JP6491655B2 JP 6491655 B2 JP6491655 B2 JP 6491655B2 JP 2016525922 A JP2016525922 A JP 2016525922A JP 2016525922 A JP2016525922 A JP 2016525922A JP 6491655 B2 JP6491655 B2 JP 6491655B2
Authority
JP
Japan
Prior art keywords
flag
order
mapping table
bit
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.)
Active
Application number
JP2016525922A
Other languages
English (en)
Japanese (ja)
Other versions
JP2016534430A5 (enExample
JP2016534430A (ja
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices 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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2016534430A publication Critical patent/JP2016534430A/ja
Publication of JP2016534430A5 publication Critical patent/JP2016534430A5/ja
Application granted granted Critical
Publication of JP6491655B2 publication Critical patent/JP6491655B2/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/30094Condition code generation, e.g. Carry, Zero 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/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/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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • 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
    • 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
    • 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/3865Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags

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)
JP2016525922A 2013-10-25 2014-10-24 即値ハンドリング及びフラグハンドリングのためのプロセッサ及び方法 Active JP6491655B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361895715P 2013-10-25 2013-10-25
US61/895,715 2013-10-25
PCT/US2014/062180 WO2015061687A1 (en) 2013-10-25 2014-10-24 Processor and methods for immediate handling and flag handling

Publications (3)

Publication Number Publication Date
JP2016534430A JP2016534430A (ja) 2016-11-04
JP2016534430A5 JP2016534430A5 (enExample) 2017-11-30
JP6491655B2 true JP6491655B2 (ja) 2019-03-27

Family

ID=52993620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016525922A Active JP6491655B2 (ja) 2013-10-25 2014-10-24 即値ハンドリング及びフラグハンドリングのためのプロセッサ及び方法

Country Status (6)

Country Link
US (1) US20150121041A1 (enExample)
EP (1) EP3060979B1 (enExample)
JP (1) JP6491655B2 (enExample)
KR (1) KR102161682B1 (enExample)
CN (1) CN105765522B (enExample)
WO (1) WO2015061687A1 (enExample)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9798593B1 (en) * 2016-07-06 2017-10-24 Workday, Inc. Synchronization of code execution
US10761849B2 (en) * 2016-09-22 2020-09-01 Intel Corporation Processors, methods, systems, and instruction conversion modules for instructions with compact instruction encodings due to use of context of a prior instruction
US10713213B2 (en) * 2016-12-21 2020-07-14 Intel Corporation Systems and methods for multi-architecture computing
US11275709B2 (en) 2017-05-02 2022-03-15 Intel Corporation Systems and methods for multi-architecture computing
US10318298B2 (en) * 2017-09-29 2019-06-11 Intel Corporation Apparatus and method for shifting quadwords and extracting packed words
US10481910B2 (en) * 2017-09-29 2019-11-19 Intel Corporation Apparatus and method for shifting quadwords and extracting packed words
CN112114874B (zh) * 2020-08-20 2021-10-15 北京百度网讯科技有限公司 数据处理方法、装置、电子设备和存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047369A (en) * 1994-02-28 2000-04-04 Intel Corporation Flag renaming and flag masks within register alias table
US5632023A (en) * 1994-06-01 1997-05-20 Advanced Micro Devices, Inc. Superscalar microprocessor including flag operand renaming and forwarding apparatus
US5649225A (en) * 1994-06-01 1997-07-15 Advanced Micro Devices, Inc. Resynchronization of a superscalar processor
US5933618A (en) * 1995-10-30 1999-08-03 Advanced Micro Devices, Inc. Speculative register storage for storing speculative results corresponding to register updated by a plurality of concurrently recorded instruction
US6338132B1 (en) * 1998-12-30 2002-01-08 Intel Corporation System and method for storing immediate data
US20050071518A1 (en) * 2003-09-30 2005-03-31 Intel Corporation Flag value renaming
US7587585B1 (en) * 2005-10-26 2009-09-08 Sun Microsystems, Inc. Flag management in processors enabled for speculative execution of micro-operation traces
US7421529B2 (en) * 2005-10-20 2008-09-02 Qualcomm Incorporated Method and apparatus to clear semaphore reservation for exclusive access to shared memory
US7822948B2 (en) * 2008-01-03 2010-10-26 International Business Machines Corporation Apparatus, system, and method for discontiguous multiple issue of instructions
US8250346B2 (en) * 2009-06-04 2012-08-21 Arm Limited Register renaming of a partially updated data granule
US9088594B2 (en) * 2011-02-07 2015-07-21 International Business Machines Corporation Providing to a parser and processors in a network processor access to an external coprocessor
US8924695B2 (en) * 2011-04-07 2014-12-30 Via Technologies, Inc. Conditional ALU instruction condition satisfaction propagation between microinstructions in read-port limited register file microprocessor
EP2508980B1 (en) * 2011-04-07 2018-02-28 VIA Technologies, Inc. Conditional ALU instruction pre-shift-generated carry flag propagation between microinstructions in read-port limited register file microprocessor
US8972701B2 (en) * 2011-12-06 2015-03-03 Arm Limited Setting zero bits in architectural register for storing destination operand of smaller size based on corresponding zero flag attached to renamed physical register
US9189236B2 (en) * 2012-12-21 2015-11-17 Intel Corporation Speculative non-faulting loads and gathers

Also Published As

Publication number Publication date
EP3060979A4 (en) 2017-07-05
EP3060979A1 (en) 2016-08-31
CN105765522B (zh) 2020-05-19
WO2015061687A1 (en) 2015-04-30
EP3060979B1 (en) 2020-08-05
US20150121041A1 (en) 2015-04-30
JP2016534430A (ja) 2016-11-04
KR102161682B1 (ko) 2020-10-05
KR20160075639A (ko) 2016-06-29
CN105765522A (zh) 2016-07-13

Similar Documents

Publication Publication Date Title
JP6491655B2 (ja) 即値ハンドリング及びフラグハンドリングのためのプロセッサ及び方法
JP6761565B2 (ja) アウトオブオーダーハードウェアソフトウェア協調設計プロセッサにおいてスタック同期命令を用いてプレディケート値のスタックを実装し維持する方法および装置
US9092215B2 (en) Mapping between registers used by multiple instruction sets
CN107077321B (zh) 用于执行融合的单个周期递增-比较-跳转的指令和逻辑
US10503505B2 (en) Read and write masks update instruction for vectorization of recursive computations over independent data
JP6143872B2 (ja) 装置、方法、およびシステム
EP3555742B1 (en) Floating point instruction format with embedded rounding rule
US20160055004A1 (en) Method and apparatus for non-speculative fetch and execution of control-dependent blocks
JP6849275B2 (ja) インデックスおよび即値を用いてベクトル置換を実行するための方法および装置
KR101851439B1 (ko) 충돌 검출을 수행하고, 레지스터의 콘텐츠를 다른 레지스터의 데이터 구성요소 위치들로 브로드캐스트하기 위한 시스템들, 장치들 및 방법들
US20170090922A1 (en) Efficient Instruction Pair for Central Processing Unit (CPU) Instruction Design
US10318299B2 (en) Reading a register pair by writing a wide register
JP6835436B2 (ja) マスクをマスク値のベクトルに拡張するための方法および装置
JP2021504788A (ja) ストアフュージョンのためのシステム及び方法
JP2021174513A (ja) データ依存脆弱分岐の機会主義的再誘導のための命令セットアーキテクチャベース自動負荷追跡
JP2017534114A (ja) Z順序曲線において次のポイントの座標を計算するためのベクトル命令
KR20170001578A (ko) 상태 의존 계산들의 성능을 개선하기 위한 시스템들, 방법들, 및 장치들
US9582279B2 (en) Execution of condition-based instructions
JP2017538215A (ja) 逆分離演算を実行するための命令及びロジック
US9710389B2 (en) Method and apparatus for memory aliasing detection in an out-of-order instruction execution platform
KR101635856B1 (ko) 데이터 요소에 있는 비트들의 제로화를 위한 시스템, 장치, 및 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171018

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190111

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: 20190205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190301

R150 Certificate of patent or registration of utility model

Ref document number: 6491655

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250