DE602008005315D1 - Verfahren und vorrichtung zur längendecodierung und identifizierung von anweisungen variabler länge - Google Patents

Verfahren und vorrichtung zur längendecodierung und identifizierung von anweisungen variabler länge

Info

Publication number
DE602008005315D1
DE602008005315D1 DE602008005315T DE602008005315T DE602008005315D1 DE 602008005315 D1 DE602008005315 D1 DE 602008005315D1 DE 602008005315 T DE602008005315 T DE 602008005315T DE 602008005315 T DE602008005315 T DE 602008005315T DE 602008005315 D1 DE602008005315 D1 DE 602008005315D1
Authority
DE
Germany
Prior art keywords
variable length
instruction
instructions
pointer
length
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
DE602008005315T
Other languages
English (en)
Inventor
Gene W Shen
Sean Lie
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.)
GlobalFoundries Inc
Original Assignee
GlobalFoundries 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 GlobalFoundries Inc filed Critical GlobalFoundries Inc
Publication of DE602008005315D1 publication Critical patent/DE602008005315D1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • G06F9/30152Determining start or end of instruction; determining instruction length
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/3818Decoding for concurrent execution
    • G06F9/382Pipelined decoding, e.g. using predecoding

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Executing Machine-Instructions (AREA)
  • Image Processing (AREA)
DE602008005315T 2007-07-10 2008-07-10 Verfahren und vorrichtung zur längendecodierung und identifizierung von anweisungen variabler länge Active DE602008005315D1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/775,456 US7818543B2 (en) 2007-07-10 2007-07-10 Method and apparatus for length decoding and identifying boundaries of variable length instructions
PCT/US2008/008466 WO2009009093A1 (en) 2007-07-10 2008-07-10 Method and apparatus for length decoding and identifying boundaries of variable length instructions

Publications (1)

Publication Number Publication Date
DE602008005315D1 true DE602008005315D1 (de) 2011-04-14

Family

ID=39766907

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602008005315T Active DE602008005315D1 (de) 2007-07-10 2008-07-10 Verfahren und vorrichtung zur längendecodierung und identifizierung von anweisungen variabler länge

Country Status (6)

Country Link
US (1) US7818543B2 (de)
EP (1) EP2176740B1 (de)
AT (1) ATE500548T1 (de)
DE (1) DE602008005315D1 (de)
TW (1) TW200912740A (de)
WO (1) WO2009009093A1 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9354890B1 (en) 2007-10-23 2016-05-31 Marvell International Ltd. Call stack structure for enabling execution of code outside of a subroutine and between call stack frames
US8095775B1 (en) * 2007-11-21 2012-01-10 Marvell International Ltd. Instruction pointers in very long instruction words
US9442758B1 (en) 2008-01-21 2016-09-13 Marvell International Ltd. Dynamic processor core switching
US9582443B1 (en) 2010-02-12 2017-02-28 Marvell International Ltd. Serial control channel processor for executing time-based instructions
US8884920B1 (en) 2011-05-25 2014-11-11 Marvell International Ltd. Programmatic sensing of capacitive sensors
US9098694B1 (en) 2011-07-06 2015-08-04 Marvell International Ltd. Clone-resistant logic
US9069553B2 (en) 2011-09-06 2015-06-30 Marvell World Trade Ltd. Switching tasks between heterogeneous cores
US9329869B2 (en) 2011-10-03 2016-05-03 International Business Machines Corporation Prefix computer instruction for compatibily extending instruction functionality
US9354874B2 (en) 2011-10-03 2016-05-31 International Business Machines Corporation Scalable decode-time instruction sequence optimization of dependent instructions
US9690583B2 (en) 2011-10-03 2017-06-27 International Business Machines Corporation Exploiting an architected list-use operand indication in a computer system operand resource pool
US8756591B2 (en) 2011-10-03 2014-06-17 International Business Machines Corporation Generating compiled code that indicates register liveness
US9286072B2 (en) 2011-10-03 2016-03-15 International Business Machines Corporation Using register last use infomation to perform decode-time computer instruction optimization
US9697002B2 (en) 2011-10-03 2017-07-04 International Business Machines Corporation Computer instructions for activating and deactivating operands
US8612959B2 (en) 2011-10-03 2013-12-17 International Business Machines Corporation Linking code for an enhanced application binary interface (ABI) with decode time instruction optimization
US8615745B2 (en) 2011-10-03 2013-12-24 International Business Machines Corporation Compiling code for an enhanced application binary interface (ABI) with decode time instruction optimization
US10078515B2 (en) 2011-10-03 2018-09-18 International Business Machines Corporation Tracking operand liveness information in a computer system and performing function based on the liveness information
US9158696B2 (en) 2011-12-29 2015-10-13 Intel Corporation Hiding instruction cache miss latency by running tag lookups ahead of the instruction accesses
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
US10001993B2 (en) * 2013-08-08 2018-06-19 Linear Algebra Technologies Limited Variable-length instruction buffer management
US10394568B2 (en) * 2015-09-30 2019-08-27 International Business Machines Corporation Exception handling for applications with prefix instructions
US10761852B2 (en) 2015-09-30 2020-09-01 International Business Machines Corporation Extending data range addressing
US10877759B2 (en) 2015-09-30 2020-12-29 International Business Machines Corporation Managing the capture of information in applications with prefix instructions
WO2019046716A1 (en) * 2017-08-31 2019-03-07 MIPS Tech, LLC CONTROLLED INSTRUMENT PROCESSING BY POINTER SIZE
US11204768B2 (en) 2019-11-06 2021-12-21 Onnivation Llc Instruction length based parallel instruction demarcator

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537629A (en) * 1994-03-01 1996-07-16 Intel Corporation Decoder for single cycle decoding of single prefixes in variable length instructions
US5819057A (en) * 1995-01-25 1998-10-06 Advanced Micro Devices, Inc. Superscalar microprocessor including an instruction alignment unit with limited dispatch to decode units
US5832249A (en) * 1995-01-25 1998-11-03 Advanced Micro Devices, Inc. High performance superscalar alignment unit
US6006324A (en) * 1995-01-25 1999-12-21 Advanced Micro Devices, Inc. High performance superscalar alignment unit
US5822558A (en) 1995-04-12 1998-10-13 Advanced Micro Devices, Inc. Method and apparatus for predecoding variable byte-length instructions within a superscalar microprocessor
US5819056A (en) * 1995-10-06 1998-10-06 Advanced Micro Devices, Inc. Instruction buffer organization method and system
US5845099A (en) 1996-06-28 1998-12-01 Intel Corporation Length detecting unit for parallel processing of variable sequential instructions
US5948096A (en) 1997-12-23 1999-09-07 Intel Corporation Apparatus and method for self-timed marking of variable length instructions having length-affecting prefix bytes
US6260134B1 (en) 1998-11-02 2001-07-10 Advanced Micro Devices, Inc. Fixed shift amount variable length instruction stream pre-decoding for start byte determination based on prefix indicating length vector presuming potential start byte
US6405303B1 (en) * 1999-08-31 2002-06-11 Advanced Micro Devices, Inc. Massively parallel decoding and execution of variable-length instructions

Also Published As

Publication number Publication date
US20090019257A1 (en) 2009-01-15
EP2176740B1 (de) 2011-03-02
US7818543B2 (en) 2010-10-19
WO2009009093A1 (en) 2009-01-15
ATE500548T1 (de) 2011-03-15
EP2176740A1 (de) 2010-04-21
TW200912740A (en) 2009-03-16

Similar Documents

Publication Publication Date Title
ATE500548T1 (de) Verfahren und vorrichtung zur längendecodierung und identifizierung von anweisungen variabler länge
BRPI1006971A2 (pt) "dispositivo e método de processamento de informação, e, programa."
EP2763017A3 (de) Seitensuchverfahren und elektronische Vorrichtung damit
EP2352087A4 (de) Verfahren, system und programm zur quellcodeverarbeitung
GB2494337A (en) Systems and methods for determining whether data includes strings that correspond to sensitive information
BR112012000913A2 (pt) processador de informação, método de processamento de informação, e, programa.
BRPI1009499A2 (pt) dispositivo e método de processamento de informação, e, programa
BR112013012371A2 (pt) aparelho de processamento de informação, método de processamento de informação executado por um aparelho de processamento de informação, e programa
WO2012051281A3 (en) An instruction sequence buffer to store branches having reliably predictable instruction sequences
WO2011157372A3 (en) Status reporting of a structured collection procedure
BR112012005252A2 (pt) aparelho de processamento de informação, método de gerenciamento de dados, e, programa
EP2264644A4 (de) Vorrichtung zur verarbeitung von tag-informationen, system zur verarbeitung von tag-informationen, verfahren zur verarbeitung von tag-informationen und entsprechendes programm
WO2015036867A3 (en) Method and system for instruction scheduling
GB2535364A (en) System and method for indicating queue characteristics of electronic terminals
DE602008003368D1 (de) Vorrichtung zur Krafterzeugung, seine Verwendung, und Turbotriebwerk mit einer solchen Vorrichtung
EP2541352A3 (de) System und Verfahren zur Blockumschreibung
BR112012004697B8 (pt) método para purificar um polipeptídeo compreendendo uma região ch2/ch3
BR112012028406A2 (pt) método, pelo menos uma memória e pelo menos um código de programa de computador configurados, com pelo menos um processadro de dados e aparelho
GB2530454A (en) Optimization of instruction groups across group boundaries
DE112010000972A5 (de) Vorrichtung für eine Übertragung von Drehmomenten
BRPI1012158A2 (pt) dispositivo de controle de luminância, aparelho de exibição usando o mesmo, método de controle de luminância e programa de controle de luminância.
DE102010013258A8 (de) Vorrichtung zur Positionierung von Schnittführungselementen
BR112012004479A2 (pt) "método, aparelho, e, meio legível por computador não transitório"
ATE491193T1 (de) Chipkarte mit einer erstnutzerfunktion, verfahren zur wahl einer kennung und computersystem
EP2660717A3 (de) Vorrichtung zur Prädikatsberechnung in Prozessorbefehlssatz