RU2002127807A - Перезапускаемые транслированные команды - Google Patents

Перезапускаемые транслированные команды

Info

Publication number
RU2002127807A
RU2002127807A RU2002127807/09A RU2002127807A RU2002127807A RU 2002127807 A RU2002127807 A RU 2002127807A RU 2002127807/09 A RU2002127807/09 A RU 2002127807/09A RU 2002127807 A RU2002127807 A RU 2002127807A RU 2002127807 A RU2002127807 A RU 2002127807A
Authority
RU
Russia
Prior art keywords
commands
instructions
sequence
execution
translator
Prior art date
Application number
RU2002127807/09A
Other languages
English (en)
Other versions
RU2263949C2 (ru
Inventor
Эдвард Коллес НЕВИЛЛ (GB)
Эдвард Коллес НЕВИЛЛ
Эндрю Кристофер РОУЗ (GB)
Эндрю Кристофер РОУЗ
Original Assignee
Арм Лимитед (Gb)
Арм Лимитед
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 Арм Лимитед (Gb), Арм Лимитед filed Critical Арм Лимитед (Gb)
Publication of RU2002127807A publication Critical patent/RU2002127807A/ru
Application granted granted Critical
Publication of RU2263949C2 publication Critical patent/RU2263949C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/30101Special purpose 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30134Register stacks; shift 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
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • 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/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
    • 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/3861Recovery, e.g. branch miss-prediction, exception handling

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)
  • Devices For Executing Special Programs (AREA)
  • Advance Control (AREA)

Claims (17)

1. Устройство для обработки данных, содержащее процессорное ядро, способное выполнять операции, определенные командами из первого набора команд; транслятор команд, способный транслировать команды из второго набора команд в выходные сигналы транслятора, соответствующие упомянутому первому набору команд, причем по меньшей мере одна команда из упомянутого второго набора команд определяет операцию, подлежащую выполнению с помощью одной или более входных переменных; блок обработки прерываний, реагирующий на сигнал прерываний для прерывания выполнения операций, соответствующих командам из упомянутого первого набора команд, после завершения выполнения текущей выполняемой операции; логическую схему перезапуска для перезапуска выполнения после упомянутого прерывания; при этом упомянутый транслятор команд способен генерировать последовательность из одного или более наборов выходных сигналов транслятора, соответствующих командам из упомянутого первого набора команд, для представления упомянутой по меньшей мере одной команды из упомянутого второго набора команд, причем каждая последовательность такова, что не производится никаких изменений в упомянутых одной или более переменных до тех пор, пока не будет выполнена конечная операция в упомянутой последовательности, и после появления прерывания во время выполнения последовательности операций, представляющей упомянутую по меньшей мере одну из упомянутого второго набора команд: (i) если упомянутое прерывание появляется до начала выполнения конечной операции в упомянутой последовательности, то упомянутая логическая схема перезапуска повторно запускает выполнение с первой операции в упомянутой последовательности, и (ii) если упомянутое прерывание появляется после начала выполнения конечной операции в упомянутой последовательности, то упомянутая логическая схема перезапуска повторно запускает выполнение со следующей команды, следующей за упомянутой последовательностью.
2. Устройство по п.1, в котором упомянутый транслятор выдает сигналы, включающие в себя сигналы, формирующие команду из упомянутого первого набора команд.
3. Устройство по любому из пп.1 и 2, в котором упомянутые выходные сигналы транслятора включают в себя управляющие сигналы, которые управляют работой упомянутого процессорного ядра, и сигналы управления согласованием, вырабатываемые при декодировании команд из упомянутого первого набора команд.
4. Устройство по любому из пп.1, 2 и 3, в котором упомянутые выходные сигналы транслятора включают в себя управляющие сигналы, которые управляют работой упомянутого процессорного ядра и определяют параметры, не определенные управляющими сигналами, выработанными при декодировании команд из упомянутого первого набора команд.
5. Устройство по любому из предшествующих пунктов, в котором упомянутая логическая схема перезапуска является частью упомянутого транслятора команд.
6. Устройство по любому из предшествующих пунктов, в котором упомянутая логическая схема перезапуска сохраняет указатель на местоположение перезапуска в командах из упомянутого второго набора команд, которые транслируются, причем упомянутый указатель продвигается после выполнения упомянутой конечной операции.
7. Устройство по п.6, в котором упомянутый указатель является значением программного счетчика, указывающего на адрес в памяти для местоположения в памяти, хранящего команду из упомянутого второго набора команд, транслируемого в настоящий момент.
8. Устройство по любому из предшествующих пунктов, в котором команды из упомянутого второго набора команд определяют операции, подлежащие выполнению после сохранения стековых операндов в стеке и упомянутые входные переменные включают в себя входные стековые операнды.
9. Устройство по п.8, в котором любые стековые операнды, удаленные из упомянутого стека по выполнении упомянутой по меньшей мере одной команды из упомянутого второго набора команд, не удаляются до тех пор, пока не начнется выполнение упомянутой конечной операции.
10. Устройство по любому из пп.8 и 9, в котором любые стековые операнды, добавленные в упомянутый стек выполнением упомянутой по меньшей мере одной команды из упомянутого второго набора команд, не добавляются до тех пор, пока не начнется выполнение упомянутой конечной операции.
11. Устройство по любому из предшествующих пунктов, в котором упомянутые входные переменные включают в себя переменные системных состояний, неопределенные в упомянутой второй команде.
12. Устройство по любому из предшествующих пунктов, в котором упомянутый процессор имеет банк регистров, содержащий множество регистров, а команды из упомянутого первого набора команд выполняют операции после сохранения регистровых операндов в упомянутых регистрах.
13. Устройство по п.12, в котором набор регистров в упомянутом банке регистров сохраняет стековые операнды от верхней позиции упомянутого стека.
14. Устройство по п.13, в котором упомянутый транслятор команд имеет множество состояний отображения, в которых различные регистры в упомянутом наборе регистров сохраняют соответствующие стековые операнды из различных позиций упомянутого стека, причем упомянутый транслятор команд способен осуществлять переход между состояниями отображения, когда выполняется упомянутая конечная операция, чтобы обновить упомянутые входные переменные.
15. Устройство по любому из предшествующих пунктов, в котором упомянутые команды из упомянутого второго набора команд являются командами виртуальной машины Java.
16. Способ обработки данных содержащий следующие этапы:
выполнение операций как они определяются командами из первого набора команд;
трансляция команд из второго набора команд в выходные сигналы транслятора, соответствующие командам из упомянутого первого набора команд, причем по меньшей мере одна команда из упомянутого второго набора команд определяет операцию, подлежащую выполнению с помощью одной или более входных переменных;
в ответ на сигнал прерывания, прерывание выполнения операций, соответствующих командам из упомянутого первого набора команд, после завершения выполнения текущей выполняемой операции;
перезапуск выполнения после упомянутого прерывания,
при этом на упомянутом этапе трансляции генерируют последовательность из одного или более наборов выходных сигналов транслятора, соответствующих командам из упомянутого первого набора команд, чтобы представлять упомянутую по меньшей мере одну команду из упомянутого второго набора команд, причем каждая последовательность такова, что в упомянутые одну или более входных переменных не вносится никаких изменений до тех пор, пока не будет выполнена конечная операция, и после появления прерывания во время выполнения последовательности операций, представляющей упомянутую по меньшей мере одну из упомянутого второго набора команд: (i) если упомянутое прерывание появляется до начала выполнения конечной операции в упомянутой последовательности, то повторно запускают выполнение с первой операции в упомянутой последовательности; (ii) если упомянутое прерывание появляется после начала выполнения конечной операции в упомянутой последовательности, то повторно запускают выполнение со следующей команды, следующей за упомянутой последовательностью.
17. Компьютерный программный продукт, содержащий компьютерную программу для управления компьютером, чтобы выполнять способ по п.16.
RU2002127807/09A 2000-10-05 2001-06-21 Перезапускаемые транслированные команды RU2263949C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0024402.0 2000-10-05
GB0024402A GB2367653B (en) 2000-10-05 2000-10-05 Restarting translated instructions

Publications (2)

Publication Number Publication Date
RU2002127807A true RU2002127807A (ru) 2004-02-27
RU2263949C2 RU2263949C2 (ru) 2005-11-10

Family

ID=9900736

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2002127807/09A RU2263949C2 (ru) 2000-10-05 2001-06-21 Перезапускаемые транслированные команды

Country Status (12)

Country Link
US (1) US7003652B2 (ru)
EP (1) EP1323032B1 (ru)
JP (1) JP4950408B2 (ru)
KR (1) KR100890243B1 (ru)
CN (1) CN1287270C (ru)
DE (1) DE60140068D1 (ru)
GB (1) GB2367653B (ru)
IL (2) IL151396A0 (ru)
MY (1) MY127147A (ru)
RU (1) RU2263949C2 (ru)
TW (1) TWI224280B (ru)
WO (1) WO2002029555A1 (ru)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69734399D1 (de) * 1996-01-24 2006-03-02 Sun Microsystems Inc Verfahren und vorrichtung zur stapel-cachespeicherung
US7162612B2 (en) * 2000-08-16 2007-01-09 Ip-First, Llc Mechanism in a microprocessor for executing native instructions directly from memory
JP2005506630A (ja) * 2001-10-25 2005-03-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 低オーバヘッドの例外チェック
US7155718B1 (en) * 2002-04-04 2006-12-26 Applied Micro Circuits Corp. Method and apparatus to suspend and resume on next instruction for a microcontroller
JP2004094533A (ja) * 2002-08-30 2004-03-25 Hajime Seki 計算機システム
JP4127495B2 (ja) * 2002-09-05 2008-07-30 株式会社ルネサステクノロジ 情報処理装置
US9158574B2 (en) 2002-11-18 2015-10-13 Arm Limited Handling interrupts in data processing
US7539853B2 (en) 2002-11-18 2009-05-26 Arm Limited Handling interrupts in data processing of data in which only a portion of a function has been processed
US20060117167A1 (en) * 2002-12-12 2006-06-01 Evrard Christophe J Processing activity masking in a data processing system
DE102004025418A1 (de) * 2004-05-24 2005-12-22 Infineon Technologies Ag Controller mit einer Decodiereinrichtung
DE102004025419A1 (de) * 2004-05-24 2005-12-22 Infineon Technologies Ag Controller und Verfahren zum Verarbeiten von Befehlen
US8621444B2 (en) * 2004-06-01 2013-12-31 The Regents Of The University Of California Retargetable instruction set simulators
EP1622009A1 (en) * 2004-07-27 2006-02-01 Texas Instruments Incorporated JSM architecture and systems
GB2424092A (en) * 2005-03-11 2006-09-13 Transitive Ltd Switching between code translation and execution using a trampoline
US7769983B2 (en) * 2005-05-18 2010-08-03 Qualcomm Incorporated Caching instructions for a multiple-state processor
US8010849B2 (en) * 2006-09-05 2011-08-30 Arm Limited Diagnosing faults within programs being executed by virtual machines
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
US8489989B1 (en) * 2008-07-15 2013-07-16 Adobe Systems Incorporated Methods and systems for preflighting using multiple preflight profiles
US8880857B2 (en) 2011-04-07 2014-11-04 Via Technologies, Inc. Conditional ALU instruction pre-shift-generated carry flag propagation between microinstructions in read-port limited register file microprocessor
US9317288B2 (en) 2011-04-07 2016-04-19 Via Technologies, Inc. Multi-core microprocessor that performs x86 ISA and ARM ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline
US9645822B2 (en) 2011-04-07 2017-05-09 Via Technologies, Inc Conditional store instructions in an out-of-order execution microprocessor
US9032189B2 (en) 2011-04-07 2015-05-12 Via Technologies, Inc. Efficient conditional ALU instruction in read-port limited register file microprocessor
US9292470B2 (en) 2011-04-07 2016-03-22 Via Technologies, Inc. Microprocessor that enables ARM ISA program to access 64-bit general purpose registers written by x86 ISA program
US9274795B2 (en) 2011-04-07 2016-03-01 Via Technologies, Inc. Conditional non-branch instruction prediction
US9176733B2 (en) 2011-04-07 2015-11-03 Via Technologies, Inc. Load multiple and store multiple instructions in a microprocessor that emulates banked registers
US8924695B2 (en) 2011-04-07 2014-12-30 Via Technologies, Inc. Conditional ALU instruction condition satisfaction propagation between microinstructions in read-port limited register file microprocessor
US9898291B2 (en) 2011-04-07 2018-02-20 Via Technologies, Inc. Microprocessor with arm and X86 instruction length decoders
US9336180B2 (en) 2011-04-07 2016-05-10 Via Technologies, Inc. Microprocessor that makes 64-bit general purpose registers available in MSR address space while operating in non-64-bit mode
US9043580B2 (en) 2011-04-07 2015-05-26 Via Technologies, Inc. Accessing model specific registers (MSR) with different sets of distinct microinstructions for instructions of different instruction set architecture (ISA)
US9146742B2 (en) 2011-04-07 2015-09-29 Via Technologies, Inc. Heterogeneous ISA microprocessor that preserves non-ISA-specific configuration state when reset to different ISA
US8880851B2 (en) 2011-04-07 2014-11-04 Via Technologies, Inc. Microprocessor that performs X86 ISA and arm ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline
US9378019B2 (en) 2011-04-07 2016-06-28 Via Technologies, Inc. Conditional load instructions in an out-of-order execution microprocessor
US9244686B2 (en) 2011-04-07 2016-01-26 Via Technologies, Inc. Microprocessor that translates conditional load/store instructions into variable number of microinstructions
US9141389B2 (en) 2011-04-07 2015-09-22 Via Technologies, Inc. Heterogeneous ISA microprocessor with shared hardware ISA registers
US9128701B2 (en) 2011-04-07 2015-09-08 Via Technologies, Inc. Generating constant for microinstructions from modified immediate field during instruction translation
US8914615B2 (en) 2011-12-02 2014-12-16 Arm Limited Mapping same logical register specifier for different instruction sets with divergent association to architectural register file using common address format
WO2013132767A1 (ja) 2012-03-09 2013-09-12 パナソニック株式会社 プロセッサ、マルチプロセッサシステム、コンパイラ、ソフトウェアシステム、メモリ制御システムおよびコンピュータシステム
GB2514618B (en) * 2013-05-31 2020-11-11 Advanced Risc Mach Ltd Data processing systems
US9727944B2 (en) 2015-06-22 2017-08-08 Apple Inc. GPU instruction storage
EP3663916A4 (en) * 2017-08-02 2020-08-19 FeliCa Networks, Inc. INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING METHOD
CN112817812B (zh) * 2020-12-31 2022-11-04 深圳市联影高端医疗装备创新研究院 序列翻译模拟方法、装置、设备及存储介质

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3889243A (en) 1973-10-18 1975-06-10 Ibm Stack mechanism for a data processor
US3955180A (en) 1974-01-02 1976-05-04 Honeywell Information Systems Inc. Table driven emulation system
US4236204A (en) 1978-03-13 1980-11-25 Motorola, Inc. Instruction set modifier register
US4587632A (en) 1980-05-27 1986-05-06 At&T Bell Laboratories Lookahead stack oriented computer
EP0103547A3 (en) * 1982-08-09 1987-01-28 Giuseppe Rigo Apparatus for generating a controllable steam and ozone mixture and hair-dryer for uniformly distributing said mixture on hair
US4922414A (en) 1982-12-17 1990-05-01 Symbolics Inc. Symbolic language data processing system
DE3726192A1 (de) 1987-08-06 1989-02-16 Otto Mueller Stacksteuerung
US5136696A (en) 1988-06-27 1992-08-04 Prime Computer, Inc. High-performance pipelined central processor for predicting the occurrence of executing single-cycle instructions and multicycle instructions
US5440749A (en) 1989-08-03 1995-08-08 Nanotronics Corporation High performance, low cost microprocessor architecture
JPH04302329A (ja) * 1990-12-26 1992-10-26 Xerox Corp マイクロ処理システム
TW197505B (ru) * 1991-03-07 1993-01-01 Digital Equipment Corp
US5432795A (en) * 1991-03-07 1995-07-11 Digital Equipment Corporation System for reporting errors of a translated program and using a boundry instruction bitmap to determine the corresponding instruction address in a source program
US5307504A (en) * 1991-03-07 1994-04-26 Digital Equipment Corporation System and method for preserving instruction granularity when translating program code from a computer having a first architecture to a computer having a second reduced architecture during the occurrence of interrupts due to asynchronous events
US5367685A (en) 1992-12-22 1994-11-22 Firstperson, Inc. Method and apparatus for resolving data references in generated code
US5455775A (en) 1993-01-25 1995-10-03 International Business Machines Corporation Computer design system for mapping a logical hierarchy into a physical hierarchy
GB2289353B (en) 1994-05-03 1997-08-27 Advanced Risc Mach Ltd Data processing with multiple instruction sets
GB2289354B (en) 1994-05-03 1997-08-27 Advanced Risc Mach Ltd Multiple instruction set mapping
GB2290395B (en) 1994-06-10 1997-05-28 Advanced Risc Mach Ltd Interoperability with multiple instruction sets
US5638525A (en) 1995-02-10 1997-06-10 Intel Corporation Processor capable of executing programs that contain RISC and CISC instructions
US5752035A (en) 1995-04-05 1998-05-12 Xilinx, Inc. Method for compiling and executing programs for reprogrammable instruction set accelerator
US5619665A (en) 1995-04-13 1997-04-08 Intrnational Business Machines Corporation Method and apparatus for the transparent emulation of an existing instruction-set architecture by an arbitrary underlying instruction-set architecture
US5699536A (en) 1995-04-13 1997-12-16 International Business Machines Corporation Computer processing system employing dynamic instruction formatting
US5838948A (en) 1995-12-01 1998-11-17 Eagle Design Automation, Inc. System and method for simulation of computer systems combining hardware and software interaction
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
US5970242A (en) 1996-01-24 1999-10-19 Sun Microsystems, Inc. Replicating code to eliminate a level of indirection during execution of an object oriented computer program
US6026485A (en) 1996-01-24 2000-02-15 Sun Microsystems, Inc. Instruction folding for a stack-based machine
US6038643A (en) 1996-01-24 2000-03-14 Sun Microsystems, Inc. Stack management unit and method for a processor having a stack
DE69734399D1 (de) * 1996-01-24 2006-03-02 Sun Microsystems Inc Verfahren und vorrichtung zur stapel-cachespeicherung
JP2000501217A (ja) 1996-01-24 2000-02-02 サン・マイクロシステムズ・インコーポレイテッド 配列アクセス境界チェックを加速したプロセッサ
KR100513138B1 (ko) 1996-01-24 2005-09-07 선 마이크로시스템즈 인코퍼레이티드 네트워크 또는 로컬 메모리로부터 수신된 명령 세트를실행하는 프로세서 및 컴퓨터 시스템
US5742802A (en) 1996-02-16 1998-04-21 International Business Machines Corporation Method and system for efficiently mapping guest instruction in an emulation assist unit
US5805895A (en) 1996-06-09 1998-09-08 Motorola, Inc. Method and apparatus for code translation optimization
US6031992A (en) 1996-07-05 2000-02-29 Transmeta Corporation Combining hardware and software to provide an improved microprocessor
JPH1069640A (ja) 1996-08-27 1998-03-10 Mitsumi Electric Co Ltd Cd−rドライブにおけるウォブル信号生成方法
US5926832A (en) 1996-09-26 1999-07-20 Transmeta Corporation Method and apparatus for aliasing memory data in an advanced microprocessor
DE69723286T2 (de) 1996-11-13 2004-05-13 Paran, Arik, Sunnyvale Echtzeitprogramm-sprachbeschleuniger
US5937193A (en) * 1996-11-27 1999-08-10 Vlsi Technology, Inc. Circuit arrangement for translating platform-independent instructions for execution on a hardware platform and method thereof
US5953741A (en) 1996-11-27 1999-09-14 Vlsi Technology, Inc. Stack cache for stack-based processor and method thereof
US6011908A (en) * 1996-12-23 2000-01-04 Transmeta Corporation Gated store buffer for an advanced microprocessor
US6009499A (en) 1997-03-31 1999-12-28 Sun Microsystems, Inc Pipelined stack caching circuit
US5898885A (en) * 1997-03-31 1999-04-27 International Business Machines Corporation Method and system for executing a non-native stack-based instruction within a computer system
US5875336A (en) 1997-03-31 1999-02-23 International Business Machines Corporation Method and system for translating a non-native bytecode to a set of codes native to a processor within a computer system
US5892966A (en) 1997-06-27 1999-04-06 Sun Microsystems, Inc. Processor complex for executing multimedia functions
US6088786A (en) 1997-06-27 2000-07-11 Sun Microsystems, Inc. Method and system for coupling a stack based processor to register based functional unit
US6003126A (en) 1997-07-01 1999-12-14 International Business Machines Special instruction register including allocation field utilized for temporary designation of physical registers as general registers
US6317872B1 (en) 1997-07-11 2001-11-13 Rockwell Collins, Inc. Real time processor optimized for executing JAVA programs
US5953520A (en) 1997-09-22 1999-09-14 International Business Machines Corporation Address translation buffer for data processing system emulation mode
US5995743A (en) * 1997-09-22 1999-11-30 International Business Machines Corporation Method and system for interrupt handling during emulation in a data processing system
EP0950216B1 (en) 1997-10-02 2003-11-26 Koninklijke Philips Electronics N.V. A processing device for executing virtual machine instructions
KR100623403B1 (ko) 1997-10-02 2006-09-13 코닌클리케 필립스 일렉트로닉스 엔.브이. 가상 머신 명령을 처리하기 위한 데이터 처리 장치
AU745449B2 (en) * 1997-11-20 2002-03-21 Hajime Seki Computer system
US6070173A (en) 1997-11-26 2000-05-30 International Business Machines Corporation Method and apparatus for assisting garbage collection process within a java virtual machine
US6122638A (en) 1997-11-26 2000-09-19 International Business Machines Corporation Object-oriented processor and method for caching intermediate data in an object-oriented processor
US6039765A (en) * 1997-12-15 2000-03-21 Motorola, Inc. Computer instruction which generates multiple results of different data types to improve software emulation
US6148391A (en) 1998-03-26 2000-11-14 Sun Microsystems, Inc. System for simultaneously accessing one or more stack elements by multiple functional units using real stack addresses
US6374286B1 (en) 1998-04-06 2002-04-16 Rockwell Collins, Inc. Real time processor capable of concurrently running multiple independent JAVA machines
US6332215B1 (en) * 1998-12-08 2001-12-18 Nazomi Communications, Inc. Java virtual machine hardware for RISC and CISC processors
US6338134B1 (en) 1998-12-29 2002-01-08 International Business Machines Corporation Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data
US6718539B1 (en) * 2000-12-22 2004-04-06 Lsi Logic Corporation Interrupt handling mechanism in translator from one instruction set to another

Also Published As

Publication number Publication date
WO2002029555A1 (en) 2002-04-11
KR100890243B1 (ko) 2009-03-24
CN1434938A (zh) 2003-08-06
CN1287270C (zh) 2006-11-29
KR20030034243A (ko) 2003-05-01
US7003652B2 (en) 2006-02-21
IL151396A0 (en) 2003-04-10
RU2263949C2 (ru) 2005-11-10
JP4950408B2 (ja) 2012-06-13
EP1323032B1 (en) 2009-09-30
GB2367653A (en) 2002-04-10
IL151396A (en) 2008-08-07
JP2004511041A (ja) 2004-04-08
TWI224280B (en) 2004-11-21
GB0024402D0 (en) 2000-11-22
US20020066003A1 (en) 2002-05-30
EP1323032A1 (en) 2003-07-02
MY127147A (en) 2006-11-30
GB2367653B (en) 2004-10-20
DE60140068D1 (de) 2009-11-12

Similar Documents

Publication Publication Date Title
RU2002127807A (ru) Перезапускаемые транслированные команды
RU98113914A (ru) Способ и устройство для выполнения команд с плавающей запятой и упакованных данных, используя одиночный файл регистра
KR920001319A (ko) 처리기 및 처리기의 처리방법
RU2002129004A (ru) Запоминание операндов стека в регистре
RU2003137828A (ru) Обработка необработанной операции в системах с множеством наборов команд
JPS62226231A (ja) プロセツサ
JPH0410081B2 (ru)
JPH06295243A (ja) データ処理装置
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
JP2552738B2 (ja) データ処理装置
JP2727023B2 (ja) 情報処理装置
JP2005275703A (ja) プロセッサ及びコンテキスト切り替え方法
JP2758624B2 (ja) マイクロプログラムの調速方式
JPH05113931A (ja) アドレス変換処理方式
JPH0754472B2 (ja) 割込み処理制御方式
JP3414579B2 (ja) プログラマブルコントローラ
JPH0554141B2 (ru)
JPH1031506A (ja) 複数回書込検出可能なプログラマブルコントローラ
JPH08297583A (ja) 割り込み処理装置およびその方法
JPH02231634A (ja) ソフトウェア互換性維持方法
JPH0216663A (ja) 情報処理装置
JPH04332045A (ja) 演算処理装置
JPH0683986A (ja) シングルチップ・マイクロコンピュータ
JPH0454531A (ja) プログラム読出し回路
JPS63228332A (ja) 命令実行制御方式

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20070622