ATE493702T1 - Vordekodierung von befehlen mit unterschiedlicher länge - Google Patents

Vordekodierung von befehlen mit unterschiedlicher länge

Info

Publication number
ATE493702T1
ATE493702T1 AT07760992T AT07760992T ATE493702T1 AT E493702 T1 ATE493702 T1 AT E493702T1 AT 07760992 T AT07760992 T AT 07760992T AT 07760992 T AT07760992 T AT 07760992T AT E493702 T1 ATE493702 T1 AT E493702T1
Authority
AT
Austria
Prior art keywords
instruction
length
different length
instructions
property
Prior art date
Application number
AT07760992T
Other languages
English (en)
Inventor
Rodney Wayne Smith
Brian Michael Stempel
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ATE493702T1 publication Critical patent/ATE493702T1/de

Links

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
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • 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
    • 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/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • G06F9/30152Determining start or end of instruction; determining instruction length
    • 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/30185Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
    • 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/30192Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
    • 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/3802Instruction prefetching
    • 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/3818Decoding for concurrent execution
    • G06F9/382Pipelined decoding, e.g. using predecoding
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)
  • Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)
  • Disinfection, Sterilisation Or Deodorisation Of Air (AREA)
  • Stereo-Broadcasting Methods (AREA)
AT07760992T 2006-05-04 2007-04-20 Vordekodierung von befehlen mit unterschiedlicher länge ATE493702T1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/381,545 US7962725B2 (en) 2006-05-04 2006-05-04 Pre-decoding variable length instructions
PCT/US2007/067057 WO2007130798A1 (en) 2006-05-04 2007-04-20 Pre-decoding variable length instructions

Publications (1)

Publication Number Publication Date
ATE493702T1 true ATE493702T1 (de) 2011-01-15

Family

ID=38335641

Family Applications (1)

Application Number Title Priority Date Filing Date
AT07760992T ATE493702T1 (de) 2006-05-04 2007-04-20 Vordekodierung von befehlen mit unterschiedlicher länge

Country Status (12)

Country Link
US (1) US7962725B2 (de)
EP (1) EP2018609B1 (de)
JP (2) JP5340919B2 (de)
KR (1) KR101019347B1 (de)
CN (2) CN102591620B (de)
AT (1) ATE493702T1 (de)
BR (1) BRPI0711165A2 (de)
CA (1) CA2649675A1 (de)
DE (1) DE602007011596D1 (de)
MX (1) MX2008014048A (de)
RU (1) RU2412464C2 (de)
WO (1) WO2007130798A1 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7769983B2 (en) 2005-05-18 2010-08-03 Qualcomm Incorporated Caching instructions for a multiple-state processor
US7962725B2 (en) * 2006-05-04 2011-06-14 Qualcomm Incorporated Pre-decoding variable length instructions
US7711927B2 (en) * 2007-03-14 2010-05-04 Qualcomm Incorporated System, method and software to preload instructions from an instruction set other than one currently executing
US9075622B2 (en) * 2008-01-23 2015-07-07 Arm Limited Reducing errors in pre-decode caches
US7917735B2 (en) * 2008-01-23 2011-03-29 Arm Limited Data processing apparatus and method for pre-decoding instructions
US8037286B2 (en) * 2008-01-23 2011-10-11 Arm Limited Data processing apparatus and method for instruction pre-decoding
US7925866B2 (en) * 2008-01-23 2011-04-12 Arm Limited Data processing apparatus and method for handling instructions to be executed by processing circuitry
US7925867B2 (en) * 2008-01-23 2011-04-12 Arm Limited Pre-decode checking for pre-decoded instructions that cross cache line boundaries
US7747839B2 (en) 2008-01-23 2010-06-29 Arm Limited Data processing apparatus and method for handling instructions to be executed by processing circuitry
US8347067B2 (en) * 2008-01-23 2013-01-01 Arm Limited Instruction pre-decoding of multiple instruction sets
GB2466984B (en) 2009-01-16 2011-07-27 Imagination Tech Ltd Multi-threaded data processing system
CN101853148B (zh) * 2009-05-19 2014-04-23 威盛电子股份有限公司 适用于微处理器的装置及方法
US10698859B2 (en) 2009-09-18 2020-06-30 The Board Of Regents Of The University Of Texas System Data multicasting with router replication and target instruction identification in a distributed multi-core processing architecture
US10223204B2 (en) 2011-12-22 2019-03-05 Intel Corporation Apparatus and method for detecting and recovering from data fetch errors
US9354888B2 (en) * 2012-03-28 2016-05-31 International Business Machines Corporation Performing predecode-time optimized instructions in conjunction with predecode time optimized instruction sequence caching
US9348598B2 (en) 2013-04-23 2016-05-24 Arm Limited Data processing apparatus and method for pre-decoding instructions to be executed by processing circuitry
US10719321B2 (en) 2015-09-19 2020-07-21 Microsoft Technology Licensing, Llc Prefetching instruction blocks
US11977891B2 (en) 2015-09-19 2024-05-07 Microsoft Technology Licensing, Llc Implicit program order
US20170083341A1 (en) * 2015-09-19 2017-03-23 Microsoft Technology Licensing, Llc Segmented instruction block
US11126433B2 (en) 2015-09-19 2021-09-21 Microsoft Technology Licensing, Llc Block-based processor core composition register
US10768936B2 (en) 2015-09-19 2020-09-08 Microsoft Technology Licensing, Llc Block-based processor including topology and control registers to indicate resource sharing and size of logical processor
US10180840B2 (en) 2015-09-19 2019-01-15 Microsoft Technology Licensing, Llc Dynamic generation of null instructions
US10678544B2 (en) 2015-09-19 2020-06-09 Microsoft Technology Licensing, Llc Initiating instruction block execution using a register access instruction
US11681531B2 (en) 2015-09-19 2023-06-20 Microsoft Technology Licensing, Llc Generation and use of memory access instruction order encodings
US10871967B2 (en) 2015-09-19 2020-12-22 Microsoft Technology Licensing, Llc Register read/write ordering
US10198263B2 (en) 2015-09-19 2019-02-05 Microsoft Technology Licensing, Llc Write nullification
US11016770B2 (en) 2015-09-19 2021-05-25 Microsoft Technology Licensing, Llc Distinct system registers for logical processors
US10452399B2 (en) 2015-09-19 2019-10-22 Microsoft Technology Licensing, Llc Broadcast channel architectures for block-based processors
US10776115B2 (en) 2015-09-19 2020-09-15 Microsoft Technology Licensing, Llc Debug support for block-based processor
US10157164B2 (en) * 2016-09-20 2018-12-18 Qualcomm Incorporated Hierarchical synthesis of computer machine instructions
WO2019046716A1 (en) * 2017-08-31 2019-03-07 MIPS Tech, LLC CONTROLLED INSTRUMENT PROCESSING BY POINTER SIZE
CN108415729A (zh) * 2017-12-29 2018-08-17 北京智芯微电子科技有限公司 一种cpu指令异常的处理方法及装置
US11204768B2 (en) 2019-11-06 2021-12-21 Onnivation Llc Instruction length based parallel instruction demarcator
US12353881B2 (en) 2020-09-26 2025-07-08 Intel Corporation Circuitry and methods for power efficient generation of length markers for a variable length instruction set
KR102847727B1 (ko) * 2022-01-26 2025-08-21 구글 엘엘씨 가변길이 명령어들을 사용하는 병렬 디코드 명령어 세트 컴퓨터 아키텍처
CN114625419B (zh) * 2022-05-16 2022-08-26 西安芯瞳半导体技术有限公司 一种可变长指令的缓存结构、方法及介质
US20250348319A1 (en) * 2024-05-09 2025-11-13 Tenstorrent USA, Inc. Instruction Caching Scheme for High Performance RISC Processors

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5026A (en) * 1847-03-20 Cut-off valve
US4013A (en) * 1845-04-26 Machine fqe making match-splihts and arranging them in dipping
JPH03168836A (ja) * 1989-11-29 1991-07-22 Toshiba Corp エミュレーションプロセッサ
US5619408A (en) 1995-02-10 1997-04-08 International Business Machines Corporation Method and system for recoding noneffective instructions within a data processing system
KR100495779B1 (ko) 1997-03-21 2005-06-17 까날 + (쏘시에떼 아노님) 전송된 데이터 스트림으로부터 데이터 섹션들을 추출 및 저장하는 방법 및 그의 장치
US6269384B1 (en) 1998-03-27 2001-07-31 Advanced Micro Devices, Inc. Method and apparatus for rounding and normalizing results within a multiplier
JP3867427B2 (ja) * 1999-01-11 2007-01-10 ソニー株式会社 プロセッサ装置および集積回路
JP2001142692A (ja) * 1999-10-01 2001-05-25 Hitachi Ltd 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法
US6715063B1 (en) * 2000-01-14 2004-03-30 Advanced Micro Devices, Inc. Call gate expansion for 64 bit addressing
US6804799B2 (en) 2001-06-26 2004-10-12 Advanced Micro Devices, Inc. Using type bits to track storage of ECC and predecode bits in a level two cache
WO2003046715A1 (en) * 2001-11-29 2003-06-05 Fujitsu Limited Central processing device and operation program
US6816962B2 (en) * 2002-02-25 2004-11-09 International Business Machines Corporation Re-encoding illegal OP codes into a single illegal OP code to accommodate the extra bits associated with pre-decoded instructions
US6968430B1 (en) * 2002-10-22 2005-11-22 Lsi Logic Corporation Circuit and method for improving instruction fetch time from a cache memory device
US6952754B2 (en) * 2003-01-03 2005-10-04 Intel Corporation Predecode apparatus, systems, and methods
CN1216327C (zh) * 2003-05-15 2005-08-24 复旦大学 采用双指令集的32位嵌入式微处理器
US7962725B2 (en) * 2006-05-04 2011-06-14 Qualcomm Incorporated Pre-decoding variable length instructions

Also Published As

Publication number Publication date
BRPI0711165A2 (pt) 2011-08-23
CA2649675A1 (en) 2007-11-15
EP2018609A1 (de) 2009-01-28
CN102591620B (zh) 2015-02-11
US20070260854A1 (en) 2007-11-08
CN101432692B (zh) 2012-01-18
JP5340919B2 (ja) 2013-11-13
MX2008014048A (es) 2008-11-14
KR101019347B1 (ko) 2011-03-07
CN101432692A (zh) 2009-05-13
EP2018609B1 (de) 2010-12-29
JP5653963B2 (ja) 2015-01-14
DE602007011596D1 (de) 2011-02-10
KR20090007629A (ko) 2009-01-19
JP2012185843A (ja) 2012-09-27
RU2008147711A (ru) 2010-06-10
RU2412464C2 (ru) 2011-02-20
JP2009535744A (ja) 2009-10-01
US7962725B2 (en) 2011-06-14
CN102591620A (zh) 2012-07-18
WO2007130798A1 (en) 2007-11-15

Similar Documents

Publication Publication Date Title
ATE493702T1 (de) Vordekodierung von befehlen mit unterschiedlicher länge
AR079887A1 (es) Codificador de audio, decodificador de audio, metodo para codificar e informacion de audio, metodo para decodificar una informacion de audio y programa de computacion utilizando una modificacion de una representacion de un numero de un valor de contexto numerico previo
BRPI0717068A2 (pt) instruÇço e làgica para processar cadeias de texto.
ATE553541T1 (de) Turbokodierung mit konkurrenzfreien qpp interleavern
WO2012122410A3 (en) Platform for rapid development of applications
DK2012026T3 (da) Skrue
WO2011077300A3 (en) Processing of geological data
BRPI0507700A (pt) renderização de uma interface de usuário
EP2600240A3 (de) Vordecodierungs-Reparatur-Cache für Anweisungen, die eine Anweisungs-Cache-Zeile kreuzen
DE602006010761D1 (de) Riemenscheibe mit Dämpfungselement zur Dämpfung von Drehmomentschwankungen
EA200900283A1 (ru) Комбинированная композитно-стальная колонка несущего винта винтокрылого летательного аппарата
DE112009002529A5 (de) Beilagscheibe, Schraube oder Mutter mit erhötem Reibbeiwert
DE602007005567D1 (de) Keilförmige Befestigung von Leitschaufeln im äusseren Schaufelkranz mit variabler Teilung
EP1946413A4 (de) Endgepumpter hochleistungslaser mit niedriglast-pumpung
DE602007002893D1 (de) Endstufe mit niedriger leistungsaufnahme
WO2014189583A3 (en) Twist septum polarization rotator
WO2007016393A3 (en) Instruction cache having fixed number of variable length instructions
DE602006014156D1 (de) Stromsparverfahren und -vorrichtungen für anweisungen variabler länge
DE602007006251D1 (de) Obturator mit dünner Klinge
WO2009021138A3 (en) Content server latency determination
BRPI0910559A2 (pt) associação da dronedarona com pelo menos um diurético, e sua aplicação em terapêutica.
WO2012016026A3 (en) Electrolarynx devices and uses thereof
GR20100100744A (el) Ραβδος στρεψεως απαρτιζομενη απο τμηματα
Antoniadis et al. Supersymmetric SU (5) GUT with stabilized moduli
BR112014013423A2 (pt) fio chato e método de fabricação do mesmo

Legal Events

Date Code Title Description
RER Ceased as to paragraph 5 lit. 3 law introducing patent treaties