DE69621694D1 - Verfahren und Anordnung zur transparenten Emulation einer Befehlssatzarchitektur - Google Patents

Verfahren und Anordnung zur transparenten Emulation einer Befehlssatzarchitektur

Info

Publication number
DE69621694D1
DE69621694D1 DE69621694T DE69621694T DE69621694D1 DE 69621694 D1 DE69621694 D1 DE 69621694D1 DE 69621694 T DE69621694 T DE 69621694T DE 69621694 T DE69621694 T DE 69621694T DE 69621694 D1 DE69621694 D1 DE 69621694D1
Authority
DE
Germany
Prior art keywords
arrangement
instruction set
set architecture
transparent emulation
emulation
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
DE69621694T
Other languages
English (en)
Other versions
DE69621694T2 (de
Inventor
Philip George Emma
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE69621694D1 publication Critical patent/DE69621694D1/de
Publication of DE69621694T2 publication Critical patent/DE69621694T2/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, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3808Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
    • 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/3017Runtime instruction translation, e.g. macros
    • G06F9/30174Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
DE69621694T 1995-04-13 1996-03-08 Verfahren und Anordnung zur transparenten Emulation einer Befehlssatzarchitektur Expired - Lifetime DE69621694T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/421,344 US5619665A (en) 1995-04-13 1995-04-13 Method and apparatus for the transparent emulation of an existing instruction-set architecture by an arbitrary underlying instruction-set architecture

Publications (2)

Publication Number Publication Date
DE69621694D1 true DE69621694D1 (de) 2002-07-18
DE69621694T2 DE69621694T2 (de) 2003-01-30

Family

ID=23670128

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69621694T Expired - Lifetime DE69621694T2 (de) 1995-04-13 1996-03-08 Verfahren und Anordnung zur transparenten Emulation einer Befehlssatzarchitektur

Country Status (4)

Country Link
US (1) US5619665A (de)
EP (1) EP0737914B1 (de)
JP (1) JP3177150B2 (de)
DE (1) DE69621694T2 (de)

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926642A (en) 1995-10-06 1999-07-20 Advanced Micro Devices, Inc. RISC86 instruction set
US5826089A (en) * 1996-01-04 1998-10-20 Advanced Micro Devices, Inc. Instruction translation unit configured to translate from a first instruction set to a second instruction set
US5819067A (en) * 1996-02-23 1998-10-06 Advanced Micro Devices, Inc. Computer system configured to translate a computer program into a second computer program prior to executing the computer program
US6032247A (en) * 1996-03-18 2000-02-29 Advanced Micro Devices, Incs. Central processing unit including APX and DSP cores which receives and processes APX and DSP instructions
US5781792A (en) * 1996-03-18 1998-07-14 Advanced Micro Devices, Inc. CPU with DSP having decoder that detects and converts instruction sequences intended to perform DSP function into DSP function identifier
US5794068A (en) * 1996-03-18 1998-08-11 Advanced Micro Devices, Inc. CPU with DSP having function preprocessor that converts instruction sequences intended to perform DSP function into DSP function identifier
US5790824A (en) * 1996-03-18 1998-08-04 Advanced Micro Devices, Inc. Central processing unit including a DSP function preprocessor which scans instruction sequences for DSP functions
US6085314A (en) * 1996-03-18 2000-07-04 Advnced Micro Devices, Inc. Central processing unit including APX and DSP cores and including selectable APX and DSP execution modes
US5754878A (en) * 1996-03-18 1998-05-19 Advanced Micro Devices, Inc. CPU with DSP function preprocessor having pattern recognition detector that uses table for translating instruction sequences intended to perform DSP function into DSP macros
US5784640A (en) * 1996-03-18 1998-07-21 Advanced Micro Devices, Inc. CPU with DSP function preprocessor having look-up table for translating instruction sequences intended to perform DSP function into DSP macros
US6711667B1 (en) * 1996-06-28 2004-03-23 Legerity, Inc. Microprocessor configured to translate instructions from one instruction set to another, and to store the translated instructions
DE19629130A1 (de) * 1996-07-19 1998-05-14 Philips Patentverwaltung Signalprozessor
US5721927A (en) * 1996-08-07 1998-02-24 Intel Corporation Method for verifying contiquity of a binary translated block of instructions by attaching a compare and/or branch instruction to predecessor block of instructions
EP0833246B1 (de) * 1996-09-27 2014-11-26 Texas Instruments Incorporated Verfahren zum Erzeugen eines Rechnerprogramms
US5909567A (en) * 1997-02-28 1999-06-01 Advanced Micro Devices, Inc. Apparatus and method for native mode processing in a RISC-based CISC processor
US5953736A (en) * 1997-04-23 1999-09-14 Sun Microsystems, Inc. Write barrier system and method including pointer-specific instruction variant replacement mechanism
US6098089A (en) * 1997-04-23 2000-08-01 Sun Microsystems, Inc. Generation isolation system and method for garbage collection
US6760833B1 (en) 1997-08-01 2004-07-06 Micron Technology, Inc. Split embedded DRAM processor
US6026478A (en) * 1997-08-01 2000-02-15 Micron Technology, Inc. Split embedded DRAM processor
US8489861B2 (en) * 1997-12-23 2013-07-16 Round Rock Research, Llc Split embedded DRAM processor
US6226738B1 (en) 1997-08-01 2001-05-01 Micron Technology, Inc. Split embedded DRAM processor
US6272453B1 (en) * 1998-01-05 2001-08-07 Trw Inc. Concurrent legacy and native code execution techniques
US6041402A (en) * 1998-01-05 2000-03-21 Trw Inc. Direct vectored legacy instruction set emulation
US6112280A (en) * 1998-01-06 2000-08-29 Hewlett-Packard Company Method and apparatus for distinct instruction pointer storage in a partitioned cache memory
US6601110B2 (en) * 1998-03-17 2003-07-29 Sun Microsystems, Inc. System and method for translating file-level operations in a non-door-based operating system to door invocations on a door server
US6356995B2 (en) * 1998-07-02 2002-03-12 Picoturbo, Inc. Microcode scalable processor
US6704925B1 (en) * 1998-09-10 2004-03-09 Vmware, Inc. Dynamic binary translator with a system and method for updating and maintaining coherency of a translation cache
US8631066B2 (en) 1998-09-10 2014-01-14 Vmware, Inc. Mechanism for providing virtual machines for use by multiple users
US6357003B1 (en) * 1998-10-21 2002-03-12 Silicon Graphics, Inc. Advanced firmware boot sequence x86 computer system that maintains legacy hardware and software compatibility
US7516453B1 (en) * 1998-10-26 2009-04-07 Vmware, Inc. Binary translator with precise exception synchronization mechanism
US6223254B1 (en) 1998-12-04 2001-04-24 Stmicroelectronics, Inc. Parcel cache
US6332215B1 (en) 1998-12-08 2001-12-18 Nazomi Communications, Inc. Java virtual machine hardware for RISC and CISC processors
US7225436B1 (en) 1998-12-08 2007-05-29 Nazomi Communications Inc. Java hardware accelerator using microcode engine
US20050149694A1 (en) * 1998-12-08 2005-07-07 Mukesh Patel Java hardware accelerator using microcode engine
US8121828B2 (en) * 1999-01-28 2012-02-21 Ati Technologies Ulc Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions
US7941647B2 (en) 1999-01-28 2011-05-10 Ati Technologies Ulc Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination
US8127121B2 (en) 1999-01-28 2012-02-28 Ati Technologies Ulc Apparatus for executing programs for a first computer architechture on a computer of a second architechture
US8074055B1 (en) 1999-01-28 2011-12-06 Ati Technologies Ulc Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code
JP2001195250A (ja) * 2000-01-13 2001-07-19 Mitsubishi Electric Corp 命令トランスレータ、トランスレータ付命令メモリおよびそれらを用いたデータ処理装置
JP4065642B2 (ja) * 2000-02-24 2008-03-26 扶桑薬品工業株式会社 消化器系疾患の予防、治療用組成物
US20020069402A1 (en) * 2000-10-05 2002-06-06 Nevill Edward Colles Scheduling control within a system having mixed hardware and software based instruction execution
GB2367654B (en) 2000-10-05 2004-10-27 Advanced Risc Mach Ltd Storing stack operands in registers
GB2367651B (en) * 2000-10-05 2004-12-29 Advanced Risc Mach Ltd Hardware instruction translation within a processor pipeline
GB2367653B (en) 2000-10-05 2004-10-20 Advanced Risc Mach Ltd Restarting translated instructions
KR20020028814A (ko) * 2000-10-10 2002-04-17 나조미 커뮤니케이션즈, 인코포레이티드 마이크로코드 엔진을 이용한 자바 하드웨어 가속기
US7149878B1 (en) 2000-10-30 2006-12-12 Mips Technologies, Inc. Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values
GB2369464B (en) 2000-11-27 2005-01-05 Advanced Risc Mach Ltd A data processing apparatus and method for saving return state
US7076771B2 (en) 2000-12-01 2006-07-11 Arm Limited Instruction interpretation within a data processing system
US20020083421A1 (en) * 2000-12-22 2002-06-27 Hitachi America, Ltd. Assembly language code compilation for an instruction-set architecture containing new instructions using the prior assembler
GB2376097B (en) 2001-05-31 2005-04-06 Advanced Risc Mach Ltd Configuration control within data processing systems
GB2376099B (en) * 2001-05-31 2005-11-16 Advanced Risc Mach Ltd Program instruction interpretation
GB2376098B (en) * 2001-05-31 2004-11-24 Advanced Risc Mach Ltd Unhandled operation handling in multiple instruction set systems
GB2376100B (en) * 2001-05-31 2005-03-09 Advanced Risc Mach Ltd Data processing using multiple instruction sets
US7107439B2 (en) * 2001-08-10 2006-09-12 Mips Technologies, Inc. System and method of controlling software decompression through exceptions
US8769508B2 (en) 2001-08-24 2014-07-01 Nazomi Communications Inc. Virtual machine hardware for RISC and CISC processors
US20030093649A1 (en) * 2001-11-14 2003-05-15 Ronald Hilton Flexible caching of translated code under emulation
US6920550B2 (en) * 2001-11-15 2005-07-19 Hewlett-Packard Development Company, L.P. System and method for decoding and executing program binaries
DE10205523A1 (de) * 2002-02-08 2003-08-28 Systemonic Ag Verfahren zum Bereitstellen einer Entwurfs-, Test- und Entwicklungsumgebung sowie ein System zur Ausführung des Verfahrens
US7131118B2 (en) * 2002-07-25 2006-10-31 Arm Limited Write-through caching a JAVA® local variable within a register of a register bank
US7953588B2 (en) * 2002-09-17 2011-05-31 International Business Machines Corporation Method and system for efficient emulation of multiprocessor address translation on a multiprocessor host
US7496494B2 (en) * 2002-09-17 2009-02-24 International Business Machines Corporation Method and system for multiprocessor emulation on a multiprocessor host system
US7146607B2 (en) * 2002-09-17 2006-12-05 International Business Machines Corporation Method and system for transparent dynamic optimization in a multiprocessing environment
US8108843B2 (en) * 2002-09-17 2012-01-31 International Business Machines Corporation Hybrid mechanism for more efficient emulation and method therefor
US9043194B2 (en) * 2002-09-17 2015-05-26 International Business Machines Corporation Method and system for efficient emulation of multiprocessor memory consistency
GB2399897B (en) * 2003-03-26 2006-02-01 Advanced Risc Mach Ltd Memory recycling in computer systems
US7590829B2 (en) * 2003-03-31 2009-09-15 Stretch, Inc. Extension adapter
US8001266B1 (en) 2003-03-31 2011-08-16 Stretch, Inc. Configuring a multi-processor system
US7581081B2 (en) 2003-03-31 2009-08-25 Stretch, Inc. Systems and methods for software extensible multi-processing
US7613900B2 (en) * 2003-03-31 2009-11-03 Stretch, Inc. Systems and methods for selecting input/output configuration in an integrated circuit
EP3064242A1 (de) 2003-04-28 2016-09-07 Advanced Circulatory Systems Inc. Lüfter und verfahren zur behandlung von kopftrauma und geringer blutzirkulation
US7805710B2 (en) 2003-07-15 2010-09-28 International Business Machines Corporation Shared code caching for program code conversion
GB0316532D0 (en) * 2003-07-15 2003-08-20 Transitive Ltd Method and apparatus for partitioning code in program code conversion
US7373642B2 (en) * 2003-07-29 2008-05-13 Stretch, Inc. Defining instruction extensions in a standard programming language
US7418575B2 (en) * 2003-07-29 2008-08-26 Stretch, Inc. Long instruction word processing with instruction extensions
US7707389B2 (en) * 2003-10-31 2010-04-27 Mips Technologies, Inc. Multi-ISA instruction fetch unit for a processor, and applications thereof
GB2412192B (en) * 2004-03-18 2007-08-29 Advanced Risc Mach Ltd Function calling mechanism
US7930526B2 (en) 2004-03-24 2011-04-19 Arm Limited Compare and branch mechanism
US7802080B2 (en) 2004-03-24 2010-09-21 Arm Limited Null exception handling
WO2006069485A1 (en) * 2004-12-30 2006-07-06 Intel Corporation Selecting formats for multi-format instructions in binary translation of code from a hybrid source instruction set architecture to a unitary target instruction set architecture
US7716343B2 (en) * 2005-08-22 2010-05-11 Sap Ag System and method for operating a networked software application on a network with sporadic connectivity
US8069444B2 (en) * 2006-08-29 2011-11-29 Oracle America, Inc. Method and apparatus for achieving fair cache sharing on multi-threaded chip multiprocessors
US9352111B2 (en) 2007-04-19 2016-05-31 Advanced Circulatory Systems, Inc. Systems and methods to increase survival with favorable neurological function after cardiac arrest
US8151790B2 (en) 2007-04-19 2012-04-10 Advanced Circulatory Systems, Inc. Volume exchanger valve system and method to increase circulation during CPR
JP2011512566A (ja) * 2007-09-19 2011-04-21 ケーピーアイティ クミンズ インフォシステムズ リミテッド 半自動ソフトウェア移行のためにハードウェアコンポーネントのプラグアンドプレイを可能にするメカニズム
US7502918B1 (en) * 2008-03-28 2009-03-10 International Business Machines Corporation Method and system for data dependent performance increment and power reduction
US9026424B1 (en) * 2008-10-27 2015-05-05 Juniper Networks, Inc. Emulation of multiple instruction sets
US9724266B2 (en) 2010-02-12 2017-08-08 Zoll Medical Corporation Enhanced guided active compression decompression cardiopulmonary resuscitation systems and methods
US9238115B2 (en) 2011-12-19 2016-01-19 ResQSystems, Inc. Systems and methods for therapeutic intrathoracic pressure regulation
US9811634B2 (en) 2013-04-25 2017-11-07 Zoll Medical Corporation Systems and methods to predict the chances of neurologically intact survival while performing CPR
US20140358047A1 (en) 2013-05-30 2014-12-04 ResQSystems, Inc. End-tidal carbon dioxide and amplitude spectral area as non-invasive markers of coronary perfusion pressure and arterial pressure
US9367472B2 (en) 2013-06-10 2016-06-14 Oracle International Corporation Observation of data in persistent memory
US10265495B2 (en) 2013-11-22 2019-04-23 Zoll Medical Corporation Pressure actuated valve systems and methods
US10474467B2 (en) * 2015-08-12 2019-11-12 International Business Machines Corporation Processor instruction sequence translation
US10303498B2 (en) 2015-10-01 2019-05-28 Microsoft Technology Licensing, Llc Performance optimizations for emulators
US11113058B1 (en) * 2018-11-20 2021-09-07 Facebook, Inc. Reconfigurable processing unit
US11042422B1 (en) 2020-08-31 2021-06-22 Microsoft Technology Licensing, Llc Hybrid binaries supporting code stream folding
US11403100B2 (en) 2020-08-31 2022-08-02 Microsoft Technology Licensing, Llc Dual architecture function pointers having consistent reference addresses
US11231918B1 (en) 2020-08-31 2022-01-25 Microsoft Technologly Licensing, LLC Native emulation compatible application binary interface for supporting emulation of foreign code
US11687338B2 (en) * 2021-04-30 2023-06-27 Seagate Technology Llc Computational storage with pre-programmed slots using dedicated processor core

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4415969A (en) * 1980-02-07 1983-11-15 Intel Corporation Macroinstruction translator unit for use in a microprocessor
US4442484A (en) * 1980-10-14 1984-04-10 Intel Corporation Microprocessor memory management and protection mechanism
US4841476A (en) * 1986-10-06 1989-06-20 International Business Machines Corporation Extended floating point operations supporting emulation of source instruction execution
US5167023A (en) * 1988-02-01 1992-11-24 International Business Machines Translating a dynamic transfer control instruction address in a simulated CPU processor
JPH0628036B2 (ja) * 1988-02-01 1994-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーシヨン シミュレーシヨン方法
PL166513B1 (pl) * 1990-05-04 1995-05-31 Ibm Uklad komputerowy do przetwarzania rozkazów PL
WO1994027214A1 (en) * 1993-05-07 1994-11-24 Apple Computer, Inc. Method for decoding sequences of guest instructions for a host computer
US5392408A (en) * 1993-09-20 1995-02-21 Apple Computer, Inc. Address selective emulation routine pointer address mapping system

Also Published As

Publication number Publication date
JPH08297572A (ja) 1996-11-12
DE69621694T2 (de) 2003-01-30
JP3177150B2 (ja) 2001-06-18
US5619665A (en) 1997-04-08
EP0737914A1 (de) 1996-10-16
EP0737914B1 (de) 2002-06-12

Similar Documents

Publication Publication Date Title
DE69621694T2 (de) Verfahren und Anordnung zur transparenten Emulation einer Befehlssatzarchitektur
DE69605943D1 (de) Anordnung und verfahren zur mikrokodemodifikation
DE69327250D1 (de) System und verfahren zur computerunterstuetzten pruefung
DE69327501D1 (de) Schallumgebungsimulator und Verfahren zur Schallfeldanalyse
DE69814155D1 (de) System und verfahren zur virtuellen eingabe
DE69526257T2 (de) Verfahren zum navigieren und system dafür
DE69413642T4 (de) Verfahren und Einrichtung zur Steuerungshilfe eines Flugzeuges
DE69515193T2 (de) Verfahren und Gerät zur Farbkonversion
DE69419423T2 (de) Verfahren zur verkapselung und daraus hergestellte mikrokapseln
DE69230871D1 (de) Verfahren und System zur Sprachübersetzung
DE69623883D1 (de) System und Verfahren zur Zuweisung von Gruppenumgebungsvariablen
DE69737757D1 (de) System und Verfahren zur Speicher-Emulation
DE69718278D1 (de) Methode und System zur Einzel-Zyklus-Ausführung aufeinanderfolgender Iterationen einer Befehlsschleife
DE69532445D1 (de) System und verfahren zur verbesserung von graphischen merkmalen von markierungsgeräten
DE69632960D1 (de) System und verfahren zur kompostierung
DE69728332D1 (de) Verfahren und Vorrichtung zur Leckageprüfung von Hohlkörpern
DE69427105T2 (de) System und Verfahren zum Entwurf und zur Herstellung von Grafik
DE69735181D1 (de) Verfahren und Vorrichtung für virtuelle Architektur
DE69421774D1 (de) Verfahren und Vorrichtung zur Geschwindigkeitskonversion von Sprache
DE69524811D1 (de) Gerät und Verfahren zur Fernausführung von Rechnerprozessen
DE69522830T2 (de) Verfahren und gerät zur interferenzbegrenzung unter satellitenanordnungen
DE69624693D1 (de) Verfahren und vorrichtung zur ausführung eines anwendungsprogramms
ATE221992T1 (de) Verfahren und gerät zur schrittweisen verteilung einer blutprobe
DE69426507D1 (de) System und Verfahren zur gleichzeitigen Prozess- und Device-Simulation
DE69616671D1 (de) Verfahren und Anordnung zur Ausführung von Rechnerbefehlen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7