DE69605943T2 - Anordnung und verfahren zur mikrokodemodifikation - Google Patents

Anordnung und verfahren zur mikrokodemodifikation

Info

Publication number
DE69605943T2
DE69605943T2 DE69605943T DE69605943T DE69605943T2 DE 69605943 T2 DE69605943 T2 DE 69605943T2 DE 69605943 T DE69605943 T DE 69605943T DE 69605943 T DE69605943 T DE 69605943T DE 69605943 T2 DE69605943 T2 DE 69605943T2
Authority
DE
Germany
Prior art keywords
arrangement
microcode
modification
microcode modification
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 - Fee Related
Application number
DE69605943T
Other languages
English (en)
Other versions
DE69605943D1 (de
Inventor
Michael Goddard
David Christie
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 DE69605943D1 publication Critical patent/DE69605943D1/de
Application granted granted Critical
Publication of DE69605943T2 publication Critical patent/DE69605943T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/328Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
DE69605943T 1995-11-07 1996-07-19 Anordnung und verfahren zur mikrokodemodifikation Expired - Fee Related DE69605943T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/553,204 US5796974A (en) 1995-11-07 1995-11-07 Microcode patching apparatus and method
PCT/US1996/011955 WO1997017656A1 (en) 1995-11-07 1996-07-19 Microcode patching apparatus and method

Publications (2)

Publication Number Publication Date
DE69605943D1 DE69605943D1 (de) 2000-02-03
DE69605943T2 true DE69605943T2 (de) 2000-08-17

Family

ID=24208525

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69605943T Expired - Fee Related DE69605943T2 (de) 1995-11-07 1996-07-19 Anordnung und verfahren zur mikrokodemodifikation

Country Status (5)

Country Link
US (1) US5796974A (de)
EP (1) EP0859980B1 (de)
JP (1) JP2000500592A (de)
DE (1) DE69605943T2 (de)
WO (1) WO1997017656A1 (de)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5950012A (en) * 1996-03-08 1999-09-07 Texas Instruments Incorporated Single chip microprocessor circuits, systems, and methods for self-loading patch micro-operation codes and patch microinstruction codes
US6049672A (en) * 1996-03-08 2000-04-11 Texas Instruments Incorporated Microprocessor with circuits, systems, and methods for operating with patch micro-operation codes and patch microinstruction codes stored in multi-purpose memory structure
KR100205292B1 (ko) * 1996-09-02 1999-07-01 윤종용 하드 디스크 드라이브의 프로그램 수정방법
US6141740A (en) * 1997-03-03 2000-10-31 Advanced Micro Devices, Inc. Apparatus and method for microcode patching for generating a next address
US6154834A (en) * 1997-05-27 2000-11-28 Intel Corporation Detachable processor module containing external microcode expansion memory
FR2764407B1 (fr) * 1997-06-05 1999-07-30 Alsthom Cge Alcatel Dispositif de retouche de programme de commande dans un processeur
US5983337A (en) * 1997-06-12 1999-11-09 Advanced Micro Devices, Inc. Apparatus and method for patching an instruction by providing a substitute instruction or instructions from an external memory responsive to detecting an opcode of the instruction
US5933626A (en) * 1997-06-12 1999-08-03 Advanced Micro Devices, Inc. Apparatus and method for tracing microprocessor instructions
US6073252A (en) * 1997-09-25 2000-06-06 Motorola, Inc. Data processing system with memory patching and method thereof
US6192398B1 (en) * 1997-10-17 2001-02-20 International Business Machines Corporation Remote/shared browser cache
US6226710B1 (en) * 1997-11-14 2001-05-01 Utmc Microelectronic Systems Inc. Content addressable memory (CAM) engine
US6158018A (en) * 1997-11-25 2000-12-05 Philips Semiconductor, Inc. Integrated circuit including patching circuitry to bypass portions of an internally flawed read only memory and a method therefore
US6219742B1 (en) * 1998-04-29 2001-04-17 Compaq Computer Corporation Method and apparatus for artificially generating general purpose events in an ACPI environment
GB2349485B (en) * 1999-04-23 2003-12-10 Ibm Application management
US6438664B1 (en) * 1999-10-27 2002-08-20 Advanced Micro Devices, Inc. Microcode patch device and method for patching microcode using match registers and patch routines
US6691308B1 (en) * 1999-12-30 2004-02-10 Stmicroelectronics, Inc. Method and apparatus for changing microcode to be executed in a processor
US6654849B1 (en) * 2000-02-18 2003-11-25 Hewlett-Packard Development Company, L.P. Method and apparatus to minimize additional address bits and loading when adding a small patch RAM to a microcode ROM
US6640220B1 (en) 2000-03-14 2003-10-28 Aeroflex Utmc Microelectronic Systems, Inc. Search coprocessor subsystem having multiple search engines and dedicated key-table memory for connection to a computer system
US6650880B1 (en) * 2000-06-12 2003-11-18 Broadcom Corporation Wireless data communications using FIFO for synchronization memory
US6804772B2 (en) * 2000-06-12 2004-10-12 Broadcom Corporation Dynamic field patchable microarchitecture
US7290081B2 (en) * 2002-05-14 2007-10-30 Stmicroelectronics, Inc. Apparatus and method for implementing a ROM patch using a lockable cache
US9003376B2 (en) * 2002-08-09 2015-04-07 Texas Instruments Incorporated Software breakpoints with tailoring for multiple processor shared memory or multiple thread systems
US20040122800A1 (en) * 2002-12-23 2004-06-24 Nair Sreekumar R. Method and apparatus for hardware assisted control redirection of original computer code to transformed code
US6957319B1 (en) 2003-02-19 2005-10-18 Advanced Micro Devices, Inc. Integrated circuit with multiple microcode ROMs
US7062598B1 (en) * 2003-04-29 2006-06-13 Advanced Micro Devices, Inc. Bypass custom array and related method for implementing ROM fixes in a data processor
US7103736B2 (en) * 2003-08-11 2006-09-05 Telairity Semiconductor, Inc. System for repair of ROM programming errors or defects
JP3987476B2 (ja) * 2003-09-25 2007-10-10 ローム株式会社 集積回路およびその回路を備える電子装置
US7610476B1 (en) 2003-12-05 2009-10-27 Advanced Micro Devices, Inc. Multiple control sequences per row of microcode ROM
US8427490B1 (en) 2004-05-14 2013-04-23 Nvidia Corporation Validating a graphics pipeline using pre-determined schedules
US20060015708A1 (en) * 2004-07-14 2006-01-19 Boggs Darrell D Microprocessor with branch target determination in decoded microinstruction code sequence
US8624906B2 (en) * 2004-09-29 2014-01-07 Nvidia Corporation Method and system for non stalling pipeline instruction fetching from memory
US7852341B1 (en) * 2004-10-05 2010-12-14 Nvidia Corporation Method and system for patching instructions in a shader for a 3-D graphics pipeline
US7353375B2 (en) * 2004-10-07 2008-04-01 Hewlett-Packard Development Company, L.P. Method and apparatus for managing processor availability using a microcode patch
US7356456B1 (en) * 2004-11-12 2008-04-08 Paravirtual Corporation Computer storage exception handing apparatus and method for virtual hardware system
US8416251B2 (en) 2004-11-15 2013-04-09 Nvidia Corporation Stream processing in a video processor
US20060174244A1 (en) * 2005-01-31 2006-08-03 Woods Paul R System and method for modifying execution flow in firmware
US9092170B1 (en) 2005-10-18 2015-07-28 Nvidia Corporation Method and system for implementing fragment operation processing across a graphics bus interconnect
US8504993B2 (en) * 2006-12-29 2013-08-06 Intel Corporation Virtualization of micro-code patches for probe less debug
US20090031107A1 (en) * 2007-07-24 2009-01-29 Via Technologies On-chip memory providing for microcode patch overlay and constant update functions
US20090031121A1 (en) * 2007-07-24 2009-01-29 Via Technologies Apparatus and method for real-time microcode patch
US9645882B2 (en) * 2007-07-24 2017-05-09 The Regents Of The University Of Michigan Field repairable logic
US20090031109A1 (en) * 2007-07-24 2009-01-29 Via Technologies Apparatus and method for fast microcode patch from memory
US20090031090A1 (en) * 2007-07-24 2009-01-29 Via Technologies Apparatus and method for fast one-to-many microcode patch
US20090031110A1 (en) * 2007-07-24 2009-01-29 Via Technologies Microcode patch expansion mechanism
US20090031103A1 (en) * 2007-07-24 2009-01-29 Via Technologies Mechanism for implementing a microcode patch during fabrication
US8683126B2 (en) * 2007-07-30 2014-03-25 Nvidia Corporation Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory
US8698819B1 (en) 2007-08-15 2014-04-15 Nvidia Corporation Software assisted shader merging
US8659601B1 (en) 2007-08-15 2014-02-25 Nvidia Corporation Program sequencer for generating indeterminant length shader programs for a graphics processor
US8411096B1 (en) 2007-08-15 2013-04-02 Nvidia Corporation Shader program instruction fetch
US9024957B1 (en) 2007-08-15 2015-05-05 Nvidia Corporation Address independent shader program loading
US8780123B2 (en) * 2007-12-17 2014-07-15 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US9064333B2 (en) 2007-12-17 2015-06-23 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US8681861B2 (en) * 2008-05-01 2014-03-25 Nvidia Corporation Multistandard hardware video encoder
US8923385B2 (en) * 2008-05-01 2014-12-30 Nvidia Corporation Rewind-enabled hardware encoder
US8489851B2 (en) * 2008-12-11 2013-07-16 Nvidia Corporation Processing of read requests in a memory controller using pre-fetch mechanism
US8938605B2 (en) * 2010-03-05 2015-01-20 International Business Machines Corporation Instruction cracking based on machine state
US9361109B2 (en) * 2010-05-24 2016-06-07 Qualcomm Incorporated System and method to evaluate a data value as an instruction
ITMI20120944A1 (it) * 2012-05-31 2013-12-01 St Microelectronics Srl Unità di controllo di circuiti di alimentazione per uno o più punti di carico di un sistema elettronico con nvm esterna di personalizzazione
US9898292B2 (en) * 2015-02-25 2018-02-20 Mireplica Technology, Llc Hardware instruction generation unit for specialized processors
US10095637B2 (en) * 2016-09-15 2018-10-09 Advanced Micro Devices, Inc. Speculative retirement of post-lock instructions

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3781808A (en) * 1972-10-17 1973-12-25 Ibm Virtual memory system
US3911406A (en) * 1974-04-01 1975-10-07 Honeywell Inf Systems Correction apparatus for use with a read only memory system
AT354159B (de) * 1975-02-10 1979-12-27 Siemens Ag Assoziativspeicher mit getrennt assoziierbaren bereichen
US4179737A (en) * 1977-12-23 1979-12-18 Burroughs Corporation Means and methods for providing greater speed and flexibility of microinstruction sequencing
US4161784A (en) * 1978-01-05 1979-07-17 Honeywell Information Systems, Inc. Microprogrammable floating point arithmetic unit capable of performing arithmetic operations on long and short operands
US4502111A (en) * 1981-05-29 1985-02-26 Harris Corporation Token generator
JPS582946A (ja) * 1981-06-30 1983-01-08 Toshiba Corp メモリ拡張代替方式
US4453212A (en) * 1981-07-13 1984-06-05 Burroughs Corporation Extended address generating apparatus and method
US4542453A (en) * 1982-02-19 1985-09-17 Texas Instruments Incorporated Program patching in microcomputer
US4928223A (en) * 1982-10-06 1990-05-22 Fairchild Semiconductor Corporation Floating point microprocessor with directable two level microinstructions
US4982360A (en) * 1983-09-22 1991-01-01 Digital Equipment Corporation Memory subsystem
US4807115A (en) * 1983-10-07 1989-02-21 Cornell Research Foundation, Inc. Instruction issuing mechanism for processors with multiple functional units
JPH0658631B2 (ja) * 1983-12-19 1994-08-03 株式会社日立製作所 デ−タ処理装置
EP0239081B1 (de) * 1986-03-26 1995-09-06 Hitachi, Ltd. Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen
AU587714B2 (en) * 1986-08-27 1989-08-24 Amdahl Corporation Cache storage queue
US4992934A (en) * 1986-12-15 1991-02-12 United Technologies Corporation Reduced instruction set computing apparatus and methods
US4926322A (en) * 1987-08-03 1990-05-15 Compag Computer Corporation Software emulation of bank-switched memory using a virtual DOS monitor and paged memory management
US5222230A (en) * 1988-01-29 1993-06-22 Texas Instruments Incorporated Circuitry for transferring data from a data bus and temporary register into a plurality of input registers on clock edges
US5131086A (en) * 1988-08-25 1992-07-14 Edgcore Technology, Inc. Method and system for executing pipelined three operand construct
US5056006A (en) * 1988-09-12 1991-10-08 General Electric Company Parallel processor with single program storage and sequencer and simultaneous instruction processing
JP2810068B2 (ja) * 1988-11-11 1998-10-15 株式会社日立製作所 プロセッサシステム、コンピュータシステム及び命令処理方法
US5067069A (en) * 1989-02-03 1991-11-19 Digital Equipment Corporation Control of multiple functional units with parallel operation in a microcoded execution unit
US5113515A (en) * 1989-02-03 1992-05-12 Digital Equipment Corporation Virtual instruction cache system using length responsive decoded instruction shifting and merging with prefetch buffer outputs to fill instruction buffer
US5155816A (en) * 1989-02-10 1992-10-13 Intel Corporation Pipelined apparatus and method for controlled loading of floating point data in a microprocessor
US5155820A (en) * 1989-02-21 1992-10-13 Gibson Glenn A Instruction format with designations for operand lengths of byte, half word, word, or double word encoded in address bits
US5226126A (en) * 1989-02-24 1993-07-06 Nexgen Microsystems Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags
US5129067A (en) * 1989-06-06 1992-07-07 Advanced Micro Devices, Inc. Multiple instruction decoder for minimizing register port requirements
US5136697A (en) * 1989-06-06 1992-08-04 Advanced Micro Devices, Inc. System for reducing delay for execution subsequent to correctly predicted branch instruction using fetch information stored with each block of instructions in cache
JP2725450B2 (ja) * 1989-08-28 1998-03-11 日本電気株式会社 マイクロプロセッサ
US5185868A (en) * 1990-01-16 1993-02-09 Advanced Micro Devices, Inc. Apparatus having hierarchically arranged decoders concurrently decoding instructions and shifting instructions not ready for execution to vacant decoders higher in the hierarchy
US5251306A (en) * 1990-01-16 1993-10-05 Advanced Micro Devices, Inc. Apparatus for controlling execution of a program in a computing device
US5226130A (en) * 1990-02-26 1993-07-06 Nexgen Microsystems Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency
US5128888A (en) * 1990-04-02 1992-07-07 Advanced Micro Devices, Inc. Arithmetic unit having multiple accumulators
ATE146611T1 (de) * 1990-05-04 1997-01-15 Ibm Maschinenarchitektur für skalaren verbundbefehlssatz
CA2037708C (en) * 1990-05-04 1998-01-20 Richard J. Eickemeyer General purpose compound apparatus for instruction-level parallel processors
DE69130588T2 (de) * 1990-05-29 1999-05-27 Nat Semiconductor Corp Cache-Speicher von partiell decodierten Befehlen und Verfahren hierfür
US5212693A (en) * 1990-08-02 1993-05-18 Ibm Corporation Small programmable array to the on-chip control store for microcode correction
JPH04156613A (ja) * 1990-10-20 1992-05-29 Fujitsu Ltd 命令バッファ装置
WO1992008231A1 (en) * 1990-11-02 1992-05-14 Transcomputer, Inc. Rom patch device
US5222244A (en) * 1990-12-20 1993-06-22 Intel Corporation Method of modifying a microinstruction with operands specified by an instruction held in an alias register
EP0498654B1 (de) * 1991-02-08 2000-05-10 Fujitsu Limited Cachespeicher zur Verarbeitung von Befehlsdaten und Datenprozessor mit demselben
EP1526446A3 (de) * 1991-07-08 2007-04-04 Seiko Epson Corporation RISC-Prozessor mit erweiterbarer Architektur
US5423013A (en) * 1991-09-04 1995-06-06 International Business Machines Corporation System for addressing a very large memory with real or virtual addresses using address mode registers
US5623665A (en) * 1992-01-13 1997-04-22 Sony Corporation Electronic apparatus for patching a read-only memory
GB2263985B (en) * 1992-02-06 1995-06-14 Intel Corp Two stage window multiplexors for deriving variable length instructions from a stream of instructions
SG45269A1 (en) * 1992-02-06 1998-01-16 Intel Corp End bit markers for instruction decode
US5438668A (en) * 1992-03-31 1995-08-01 Seiko Epson Corporation System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer
US5465373A (en) * 1993-01-08 1995-11-07 International Business Machines Corporation Method and system for single cycle dispatch of multiple instructions in a superscalar processor system
EP0651320B1 (de) * 1993-10-29 2001-05-23 Advanced Micro Devices, Inc. Superskalarbefehlsdekoder
EP0651324B1 (de) * 1993-10-29 2006-03-22 Advanced Micro Devices, Inc. Spekulative Befehlswarteschlange für Befehle mit variabler Byteslänge

Also Published As

Publication number Publication date
US5796974A (en) 1998-08-18
JP2000500592A (ja) 2000-01-18
WO1997017656A1 (en) 1997-05-15
DE69605943D1 (de) 2000-02-03
EP0859980B1 (de) 1999-12-29
EP0859980A1 (de) 1998-08-26

Similar Documents

Publication Publication Date Title
DE69605943D1 (de) Anordnung und verfahren zur mikrokodemodifikation
DE69839852D1 (de) Anordnung und Verfahren zur Telekommunikation
DE69732085D1 (de) Anordnung und Verfahren zur Phasenmessung
DE69822687D1 (de) Vorrichtung und Verfahren zur Zusammenfassung
DE69723477D1 (de) Anordnung und verfahren zur rauschvorhersagenden maximal-wahrscheinlichkeitsdetektion
DE69323015D1 (de) Verfahren und Anordnung zur Reprogrammierung
DE69723439D1 (de) Display und verfahren für digitaloszilloskop
DE69816789D1 (de) Verfahren und system zur gestengesteuerten optionsauswahl
DE69718628D1 (de) Vorrichtung und verfahren zur reduktion von gleichkanalstörungen
DE69623770D1 (de) Phasenschieber und verfahren zur phasenverschiebung
DE69701314D1 (de) Schlauch und verfahren zur entdeckung von abnutzung
DE69532987D1 (de) Verfahren und anordnung zur nachrichtenübertragung
DE69632960D1 (de) System und verfahren zur kompostierung
ATE201557T1 (de) Verfahren zur bodensterilisierung und zugehörige anordnung
DE69700087T2 (de) Gerät und Verfahren zur Signalanalyse
DE59710226D1 (de) Einrichtung und verfahren zur leckageerkennung
DE69818981D1 (de) Vorrichtung und verfahren zur kristallisation
DE69727897D1 (de) Anordnung und Verfahren zur Bewegungsvektorbestimmung
DE69629021D1 (de) Verfahren und anordnung zur vorhersage von diastrophismus
DE59702865D1 (de) Verfahren und anordnung zur strommessung
DE69616671D1 (de) Verfahren und Anordnung zur Ausführung von Rechnerbefehlen
DE59510573D1 (de) Verfahren zur Gasanalyse und Gasanalysator
DE69835614D1 (de) Verfahren und gerät zur stereo-akustischen echounterdrückung
DE69531253D1 (de) Verfahren und anordnung zur trennung von gleichkanalsignalen
DE59706133D1 (de) Verfahren zur kalibrierung sowie anordnung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee