DE69833008D1 - Prozessor mit instruktionskodierung mittels eines schablonenfeldes - Google Patents

Prozessor mit instruktionskodierung mittels eines schablonenfeldes

Info

Publication number
DE69833008D1
DE69833008D1 DE69833008T DE69833008T DE69833008D1 DE 69833008 D1 DE69833008 D1 DE 69833008D1 DE 69833008 T DE69833008 T DE 69833008T DE 69833008 T DE69833008 T DE 69833008T DE 69833008 D1 DE69833008 D1 DE 69833008D1
Authority
DE
Germany
Prior art keywords
template
processor
instruction coding
coding
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.)
Expired - Lifetime
Application number
DE69833008T
Other languages
English (en)
Other versions
DE69833008T2 (de
Inventor
M Hull
Kent Fielden
Hans Mulder
Harshvardhan Sharangpani
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.)
Idea Corp USA
Original Assignee
Idea Corp USA
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25488837&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69833008(D1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Idea Corp USA filed Critical Idea Corp USA
Application granted granted Critical
Publication of DE69833008D1 publication Critical patent/DE69833008D1/de
Publication of DE69833008T2 publication Critical patent/DE69833008T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional 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/30003Arrangements for executing specific machine instructions
    • G06F9/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
    • 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/30094Condition code generation, e.g. Carry, Zero flag
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/3013Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
    • 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
    • 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/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; 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
DE69833008T 1997-10-13 1998-10-08 Prozessor mit instruktionskodierung mittels eines schablonenfeldes Expired - Lifetime DE69833008T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/949,279 US5922065A (en) 1997-10-13 1997-10-13 Processor utilizing a template field for encoding instruction sequences in a wide-word format
US949279 1997-10-13
PCT/US1998/021388 WO1999019793A1 (en) 1997-10-13 1998-10-08 Processor utilizing template field instruction encoding

Publications (2)

Publication Number Publication Date
DE69833008D1 true DE69833008D1 (de) 2006-02-02
DE69833008T2 DE69833008T2 (de) 2006-08-31

Family

ID=25488837

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69833008T Expired - Lifetime DE69833008T2 (de) 1997-10-13 1998-10-08 Prozessor mit instruktionskodierung mittels eines schablonenfeldes

Country Status (8)

Country Link
US (1) US5922065A (de)
EP (1) EP1023660B1 (de)
CN (1) CN100390729C (de)
AU (1) AU9796498A (de)
DE (1) DE69833008T2 (de)
GB (1) GB0009284D0 (de)
HK (1) HK1034333A1 (de)
WO (1) WO1999019793A1 (de)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69424370T2 (de) * 1993-11-05 2001-02-15 Intergraph Corp Befehlscachespeicher mit Kreuzschienenschalter
US6360313B1 (en) 1993-11-05 2002-03-19 Intergraph Corporation Instruction cache associative crossbar switch
JP3790607B2 (ja) * 1997-06-16 2006-06-28 松下電器産業株式会社 Vliwプロセッサ
US6081884A (en) * 1998-01-05 2000-06-27 Advanced Micro Devices, Inc. Embedding two different instruction sets within a single long instruction word using predecode bits
JP3541669B2 (ja) * 1998-03-30 2004-07-14 松下電器産業株式会社 演算処理装置
US7111231B1 (en) 1999-02-24 2006-09-19 Intellisync Corporation System and methodology for dynamic application environment employing runtime execution templates
US7039790B1 (en) * 1999-11-15 2006-05-02 Texas Instruments Incorporated Very long instruction word microprocessor with execution packet spanning two or more fetch packets with pre-dispatch instruction selection from two latches according to instruction bit
US6618801B1 (en) * 2000-02-02 2003-09-09 Hewlett-Packard Development Company, L.P. Method and apparatus for implementing two architectures in a chip using bundles that contain microinstructions and template information
US6721875B1 (en) * 2000-02-22 2004-04-13 Hewlett-Packard Development Company, L.P. Method and apparatus for implementing a single-syllable IP-relative branch instruction and a long IP-relative branch instruction in a processor which fetches instructions in bundle form
US6351796B1 (en) 2000-02-22 2002-02-26 Hewlett-Packard Company Methods and apparatus for increasing the efficiency of a higher level cache by selectively performing writes to the higher level cache
US7181595B1 (en) * 2000-05-11 2007-02-20 Mindspeed Technologies, Inc. Method for decoding composite VLIW packets utilizing a tree structure
US6687806B1 (en) * 2000-06-15 2004-02-03 Advanced Micro Devices, Inc. Apparatus and method for generating 64 bit displacement and immediate values
US6415376B1 (en) * 2000-06-16 2002-07-02 Conexant Sytems, Inc. Apparatus and method for issue grouping of instructions in a VLIW processor
US6912647B1 (en) * 2000-09-28 2005-06-28 International Business Machines Corportion Apparatus and method for creating instruction bundles in an explicitly parallel architecture
US6886094B1 (en) 2000-09-28 2005-04-26 International Business Machines Corporation Apparatus and method for detecting and handling exceptions
US6883165B1 (en) 2000-09-28 2005-04-19 International Business Machines Corporation Apparatus and method for avoiding deadlocks in a multithreaded environment
US6799262B1 (en) * 2000-09-28 2004-09-28 International Business Machines Corporation Apparatus and method for creating instruction groups for explicity parallel architectures
US6779106B1 (en) 2000-09-28 2004-08-17 International Business Machines Corporation Apparatus and method for an enhanced integer divide in an IA64 architecture
US7330830B1 (en) 2000-10-25 2008-02-12 Thomson Financial Inc. Distributed commerce system
US7305360B1 (en) 2000-10-25 2007-12-04 Thomson Financial Inc. Electronic sales system
US7028164B2 (en) * 2000-12-29 2006-04-11 Stmicroelectronics, Inc. Instruction fetch apparatus for wide issue processors and method of operation
GB2374950B (en) * 2001-04-23 2005-11-16 Imagination Tech Ltd Expanded functionality of processor operations within a fixed width instruction encoding
JP4542722B2 (ja) * 2001-04-25 2010-09-15 富士通株式会社 命令処理方法
US7062634B1 (en) * 2002-01-29 2006-06-13 Stmicroelectronics Limited Processor and a method for handling and encoding no-operation instructions
US6948053B2 (en) 2002-02-25 2005-09-20 International Business Machines Corporation Efficiently calculating a branch target address
US7577944B2 (en) * 2002-03-18 2009-08-18 Hewlett-Packard Development Company, L.P. Unbundling, translation and rebundling of instruction bundles in an instruction stream
EP1367484B1 (de) 2002-05-31 2013-07-24 STMicroelectronics Limited Instruktionssteuerung
US7203821B2 (en) * 2003-01-08 2007-04-10 Sun Microsystems, Inc. Method and apparatus to handle window management instructions without post serialization in an out of order multi-issue processor supporting multiple strands
US9047094B2 (en) * 2004-03-31 2015-06-02 Icera Inc. Apparatus and method for separate asymmetric control processing and data path processing in a dual path processor
US8484441B2 (en) * 2004-03-31 2013-07-09 Icera Inc. Apparatus and method for separate asymmetric control processing and data path processing in a configurable dual path processor that supports instructions having different bit widths
US7949856B2 (en) * 2004-03-31 2011-05-24 Icera Inc. Method and apparatus for separate control processing and data path processing in a dual path processor with a shared load/store unit
GB2414308B (en) * 2004-05-17 2007-08-15 Advanced Risc Mach Ltd Program instruction compression
US20060174089A1 (en) * 2005-02-01 2006-08-03 International Business Machines Corporation Method and apparatus for embedding wide instruction words in a fixed-length instruction set architecture
US20080162819A1 (en) * 2006-02-03 2008-07-03 Luick David A Design structure for self prefetching l2 cache mechanism for data lines
US8812822B2 (en) * 2006-02-09 2014-08-19 International Business Machines Corporation Scheduling instructions in a cascaded delayed execution pipeline to minimize pipeline stalls caused by a cache miss
US7447879B2 (en) * 2006-02-09 2008-11-04 International Business Machines Corporation Scheduling instructions in a cascaded delayed execution pipeline to minimize pipeline stalls caused by a cache miss
CN103646009B (zh) 2006-04-12 2016-08-17 索夫特机械公司 对载明并行和依赖运算的指令矩阵进行处理的装置和方法
CN101627365B (zh) 2006-11-14 2017-03-29 索夫特机械公司 多线程架构
US20080162894A1 (en) * 2006-12-11 2008-07-03 Luick David A structure for a cascaded delayed execution pipeline
US20080141252A1 (en) * 2006-12-11 2008-06-12 Luick David A Cascaded Delayed Execution Pipeline
US8756404B2 (en) * 2006-12-11 2014-06-17 International Business Machines Corporation Cascaded delayed float/vector execution pipeline
US20080148020A1 (en) * 2006-12-13 2008-06-19 Luick David A Low Cost Persistent Instruction Predecoded Issue and Dispatcher
US8001361B2 (en) * 2006-12-13 2011-08-16 International Business Machines Corporation Structure for a single shared instruction predecoder for supporting multiple processors
US7945763B2 (en) * 2006-12-13 2011-05-17 International Business Machines Corporation Single shared instruction predecoder for supporting multiple processors
US20090198976A1 (en) * 2008-02-06 2009-08-06 Austel Vernon R Method and structure for high-performance matrix multiplication in the presence of several architectural obstacles
US7984270B2 (en) * 2008-02-19 2011-07-19 International Business Machines Corporation System and method for prioritizing arithmetic instructions
US20090210672A1 (en) * 2008-02-19 2009-08-20 Luick David A System and Method for Resolving Issue Conflicts of Load Instructions
US7882335B2 (en) * 2008-02-19 2011-02-01 International Business Machines Corporation System and method for the scheduling of load instructions within a group priority issue schema for a cascaded pipeline
US8108654B2 (en) * 2008-02-19 2012-01-31 International Business Machines Corporation System and method for a group priority issue schema for a cascaded pipeline
US20090210666A1 (en) * 2008-02-19 2009-08-20 Luick David A System and Method for Resolving Issue Conflicts of Load Instructions
US20090210677A1 (en) * 2008-02-19 2009-08-20 Luick David A System and Method for Optimization Within a Group Priority Issue Schema for a Cascaded Pipeline
US7996654B2 (en) * 2008-02-19 2011-08-09 International Business Machines Corporation System and method for optimization within a group priority issue schema for a cascaded pipeline
US8095779B2 (en) * 2008-02-19 2012-01-10 International Business Machines Corporation System and method for optimization within a group priority issue schema for a cascaded pipeline
US7877579B2 (en) * 2008-02-19 2011-01-25 International Business Machines Corporation System and method for prioritizing compare instructions
US20090210669A1 (en) * 2008-02-19 2009-08-20 Luick David A System and Method for Prioritizing Floating-Point Instructions
US7870368B2 (en) * 2008-02-19 2011-01-11 International Business Machines Corporation System and method for prioritizing branch instructions
US7865700B2 (en) * 2008-02-19 2011-01-04 International Business Machines Corporation System and method for prioritizing store instructions
KR101645001B1 (ko) * 2009-02-18 2016-08-02 삼성전자주식회사 Vliw 명령어 생성 장치 및 그 방법과 vliw 명령어를 처리하는 vliw 프로세서 및 그 방법
CN103250131B (zh) 2010-09-17 2015-12-16 索夫特机械公司 包括用于早期远分支预测的影子缓存的单周期多分支预测
WO2012135050A2 (en) 2011-03-25 2012-10-04 Soft Machines, Inc. Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines
TWI518504B (zh) 2011-03-25 2016-01-21 軟體機器公司 使用可分割引擎實體化的虛擬核心以支援程式碼區塊執行的暫存器檔案節段
CN103547993B (zh) 2011-03-25 2018-06-26 英特尔公司 通过使用由可分割引擎实例化的虚拟核来执行指令序列代码块
TWI603198B (zh) 2011-05-20 2017-10-21 英特爾股份有限公司 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行
CN103649931B (zh) 2011-05-20 2016-10-12 索夫特机械公司 用于支持由多个引擎执行指令序列的互连结构
EP2783281B1 (de) 2011-11-22 2020-05-13 Intel Corporation Durch einen mikroprozessor beschleunigter code-optimierer
WO2013077875A1 (en) 2011-11-22 2013-05-30 Soft Machines, Inc. An accelerated code optimizer for a multiengine microprocessor
US9672042B2 (en) 2012-05-29 2017-06-06 Nxp Usa, Inc. Processing system and method of instruction set encoding space utilization
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
EP2972836B1 (de) 2013-03-15 2022-11-09 Intel Corporation Verfahren zur emulierung einer zentralisierten gast-flag-architektur mithilfe einer nativen verteilten flag-architektur
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
KR101708591B1 (ko) 2013-03-15 2017-02-20 소프트 머신즈, 인크. 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
EP2866138B1 (de) * 2013-10-23 2019-08-07 Teknologian tutkimuskeskus VTT Oy Gleitkomma-unterstützende Pipeline für emulierte gemeinsam genutzte Speicherarchitekturen
FR3021427B1 (fr) * 2014-05-22 2016-06-24 Kalray Structure de paquet d'instructions de type vliw et processeur adapte pour traiter un tel paquet d'instructions
US10606587B2 (en) 2016-08-24 2020-03-31 Micron Technology, Inc. Apparatus and methods related to microcode instructions indicating instruction types
FR3056782B1 (fr) * 2016-09-26 2019-12-13 Airbus Operations Generation de codes applicatifs a partir d'une specification formelle

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5057837A (en) * 1987-04-20 1991-10-15 Digital Equipment Corporation Instruction storage method with a compressed format using a mask word
US4833599A (en) * 1987-04-20 1989-05-23 Multiflow Computer, Inc. Hierarchical priority branch handling for parallel execution in a parallel processor
CA2038264C (en) * 1990-06-26 1995-06-27 Richard James Eickemeyer In-memory preprocessor for a scalable compound instruction set machine processor
EP1338957A3 (de) * 1993-11-05 2003-10-29 Intergraph Corporation Superskalare Rechnerarchitektur mit Softwareplanung
US5600810A (en) * 1994-12-09 1997-02-04 Mitsubishi Electric Information Technology Center America, Inc. Scaleable very long instruction word processor with parallelism matching
US5669001A (en) * 1995-03-23 1997-09-16 International Business Machines Corporation Object code compatible representation of very long instruction word programs
JP2931890B2 (ja) * 1995-07-12 1999-08-09 三菱電機株式会社 データ処理装置
US5826054A (en) * 1996-05-15 1998-10-20 Philips Electronics North America Corporation Compressed Instruction format for use in a VLIW processor
US5819058A (en) * 1997-02-28 1998-10-06 Vm Labs, Inc. Instruction compression and decompression system and method for a processor

Also Published As

Publication number Publication date
CN100390729C (zh) 2008-05-28
US5922065A (en) 1999-07-13
GB0009284D0 (en) 2000-05-31
DE69833008T2 (de) 2006-08-31
HK1034333A1 (en) 2001-10-19
EP1023660A4 (de) 2001-08-01
WO1999019793A1 (en) 1999-04-22
EP1023660A1 (de) 2000-08-02
AU9796498A (en) 1999-05-03
CN1279783A (zh) 2001-01-10
EP1023660B1 (de) 2005-12-28

Similar Documents

Publication Publication Date Title
DE69833008D1 (de) Prozessor mit instruktionskodierung mittels eines schablonenfeldes
DE69913898D1 (de) Notrufverfahren mittels eines Rechners
DE59910637D1 (de) Drehknopf eines Steuergerätes
DE69619261D1 (de) Kontrolle der härte von faserverstärktem reaktionsharz mittels eines mit gittern versehenen lichtleitfaser-sensors
DE69027489T2 (de) Tragbarer graphischer Rechner
DE69839012D1 (de) Gerät zur bestimmung von störungen der perfusion eines patientens
DE69032465T2 (de) Prozessorarchitektur mit entkoppelter Befehlsbereitstellung
DE69522375T2 (de) Zur Koordinatenerkennung mittels einer -insbesonders als Bildschirm verwendeten- Anzeigetafel fähigen Koordinatenerkennungsvorrichtung
DE69033075D1 (de) Tragbarer graphischer Rechner
DE69519236T2 (de) Kontrolle mittels kernquadrupolresonanz
DE69421816D1 (de) Bestimmung hämodynamischer parameter mittels eines druckwandlers
DE59803027D1 (de) Messsystem eines sägeräts
DE69427483D1 (de) Bearbeitung mittels eines einseitig gerichteten schleifmittelstromes
DE69536045D1 (de) Koordinaten-Positionierungsmaschine
DE69032394T2 (de) Minimierung von Pipelineunterbrechungen mittels Software-Ablaufplanungsverfahren während der Kompilation
DE69705931D1 (de) Positionsbestimmung eines endgerätes mittels mehrerer strahlungskeulen
IT237364Y1 (it) Autorespiratore subacqueo
DE69927223D1 (de) Ausfallsicherheit eines Mehrrechnersystems
DE29722126U1 (de) Befestigungsteil, das mittels eines Klebers mit einer Struktur verbindbar ist
DE69511157D1 (de) Vorrichtung für schwimmende, halbsteiffe Abdeckung eines Schwimmbades
DE69827907D1 (de) Verbesserung eines zweiteiligen Grenzsteines
DE69413187T2 (de) Verstärkter Zylinderkopf
DE69828307D1 (de) Tragbares gerät zur verbesserung der äusseren erscheinung mittels impulsen
FI940287A (fi) Järjestely päivitysprosessorin liittämiseksi mikroprosessoriin
IT1275599B1 (it) Autorespiratore subacqueo

Legal Events

Date Code Title Description
8364 No opposition during term of opposition