CN105765522B - 用于立即数处置和旗标处置的处理器和方法 - Google Patents

用于立即数处置和旗标处置的处理器和方法 Download PDF

Info

Publication number
CN105765522B
CN105765522B CN201480064146.0A CN201480064146A CN105765522B CN 105765522 B CN105765522 B CN 105765522B CN 201480064146 A CN201480064146 A CN 201480064146A CN 105765522 B CN105765522 B CN 105765522B
Authority
CN
China
Prior art keywords
flag
instruction
instructions
bit
immediate
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
CN201480064146.0A
Other languages
English (en)
Chinese (zh)
Other versions
CN105765522A (zh
Inventor
阿肖克·文卡塔查尔
卡西克·普努科尔卢
斯里坎斯·阿雷卡普帝
萨米尔·A·希特尼斯
埃米尔·塔尔佩斯
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 CN105765522A publication Critical patent/CN105765522A/zh
Application granted granted Critical
Publication of CN105765522B publication Critical patent/CN105765522B/zh
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)
CN201480064146.0A 2013-10-25 2014-10-24 用于立即数处置和旗标处置的处理器和方法 Active CN105765522B (zh)

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 (2)

Publication Number Publication Date
CN105765522A CN105765522A (zh) 2016-07-13
CN105765522B true CN105765522B (zh) 2020-05-19

Family

ID=52993620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480064146.0A Active CN105765522B (zh) 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 北京百度网讯科技有限公司 数据处理方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5632023A (en) * 1994-06-01 1997-05-20 Advanced Micro Devices, Inc. Superscalar microprocessor including flag operand renaming and forwarding apparatus
US5764938A (en) * 1994-06-01 1998-06-09 Advanced Micro Devices, Inc. Resynchronization of a superscalar processor
US7114057B2 (en) * 1998-12-30 2006-09-26 Intel Corporation System and method for storing immediate data
CN102707927A (zh) * 2011-04-07 2012-10-03 威盛电子股份有限公司 具有条件指令的微处理器及其处理方法

Family Cites Families (11)

* 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
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
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
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5632023A (en) * 1994-06-01 1997-05-20 Advanced Micro Devices, Inc. Superscalar microprocessor including flag operand renaming and forwarding apparatus
US5764938A (en) * 1994-06-01 1998-06-09 Advanced Micro Devices, Inc. Resynchronization of a superscalar processor
US7114057B2 (en) * 1998-12-30 2006-09-26 Intel Corporation System and method for storing immediate data
CN102707927A (zh) * 2011-04-07 2012-10-03 威盛电子股份有限公司 具有条件指令的微处理器及其处理方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN105765522B (zh) 用于立即数处置和旗标处置的处理器和方法
JP6351682B2 (ja) 装置および方法
CN107077321B (zh) 用于执行融合的单个周期递增-比较-跳转的指令和逻辑
JP6761565B2 (ja) アウトオブオーダーハードウェアソフトウェア協調設計プロセッサにおいてスタック同期命令を用いてプレディケート値のスタックを実装し維持する方法および装置
US9977674B2 (en) Micro-operation generator for deriving a plurality of single-destination micro-operations from a given predicated instruction
US9459872B2 (en) High-word facility for extending the number of general purpose registers available to instructions
US20190012171A1 (en) Read and Write Masks Update Instruction for Vectorization of Recursive Computations Over Independent Data
KR101851439B1 (ko) 충돌 검출을 수행하고, 레지스터의 콘텐츠를 다른 레지스터의 데이터 구성요소 위치들로 브로드캐스트하기 위한 시스템들, 장치들 및 방법들
CN109213472B (zh) 用于利用常数值的矢量运算的指令
KR101966713B1 (ko) 마스크 레지스터에서의 비트들을 반전 및 치환하기 위한 장치 및 방법
US20130305019A1 (en) Instruction and Logic to Control Transfer in a Partial Binary Translation System
KR20140113307A (ko) 벡터 레지스터 파일의 동적 재명명 기반의 레지스터 재구성
US20230401067A1 (en) Concurrently fetching instructions for multiple decode clusters
US10853080B2 (en) System and method of merging partial write results for resolving renaming size issues
CN119226682A (zh) 向量紧缩矩阵乘法和累加处理器、方法、系统和指令
US20140365751A1 (en) Operand generation in at least one processing pipeline
EP4300293A1 (en) Add with rotation instruction and support
KR101635856B1 (ko) 데이터 요소에 있는 비트들의 제로화를 위한 시스템, 장치, 및 방법
CN117591176A (zh) 处理装置、处理方法以及计算机可读存储介质
JP2007065999A (ja) 命令コードの符号化方式及びcpu

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