JP3776132B2 - マイクロプロセッサの改良 - Google Patents

マイクロプロセッサの改良 Download PDF

Info

Publication number
JP3776132B2
JP3776132B2 JP50436199A JP50436199A JP3776132B2 JP 3776132 B2 JP3776132 B2 JP 3776132B2 JP 50436199 A JP50436199 A JP 50436199A JP 50436199 A JP50436199 A JP 50436199A JP 3776132 B2 JP3776132 B2 JP 3776132B2
Authority
JP
Japan
Prior art keywords
target
host
instruction
instructions
microprocessor
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
JP50436199A
Other languages
English (en)
Japanese (ja)
Other versions
JP2001519953A (ja
Inventor
クメリク,ロバート・エフ
ディッツェル,デイヴィッド・アール
ケリー,エドマンド・ジェイ
ハンター,コリン・ビー
レアード,ダグラス・エイ
ウィング,マルコム・ジョン
ザイナー,グレゴルツ・ビー
Original Assignee
トランスメタ・コーポレーション
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 トランスメタ・コーポレーション filed Critical トランスメタ・コーポレーション
Publication of JP2001519953A publication Critical patent/JP2001519953A/ja
Application granted granted Critical
Publication of JP3776132B2 publication Critical patent/JP3776132B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/52Binary to binary
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • 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
    • 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/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
    • 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/45533Hypervisors; Virtual machine monitors
    • G06F9/45554Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
JP50436199A 1997-06-25 1997-06-25 マイクロプロセッサの改良 Expired - Fee Related JP3776132B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1997/011616 WO1998059292A1 (en) 1997-06-25 1997-06-25 Improved microprocessor

Publications (2)

Publication Number Publication Date
JP2001519953A JP2001519953A (ja) 2001-10-23
JP3776132B2 true JP3776132B2 (ja) 2006-05-17

Family

ID=22261203

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50436199A Expired - Fee Related JP3776132B2 (ja) 1997-06-25 1997-06-25 マイクロプロセッサの改良

Country Status (5)

Country Link
EP (1) EP0991994A4 (ko)
JP (1) JP3776132B2 (ko)
KR (1) KR100443759B1 (ko)
CA (1) CA2283776C (ko)
WO (1) WO1998059292A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4573189B2 (ja) 1998-10-10 2010-11-04 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラムコード変換方法
US7111290B1 (en) 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US6954923B1 (en) 1999-01-28 2005-10-11 Ati International Srl Recording classification of instructions executed by a computer
JP5520326B2 (ja) * 1999-01-28 2014-06-11 エーティーアイ・テクノロジーズ・ユーエルシー コンピュータのメモリを参照する方法およびコンピュータ
WO2000065440A2 (en) * 1999-04-27 2000-11-02 Transitive Technologies Limited Exception handling method and apparatus for use in program code conversion
US7353163B2 (en) 1999-04-27 2008-04-01 Transitive Limited Exception handling method and apparatus for use in program code conversion
US7254806B1 (en) 1999-08-30 2007-08-07 Ati International Srl Detecting reordered side-effects
US6751583B1 (en) 1999-10-29 2004-06-15 Vast Systems Technology Corporation Hardware and software co-simulation including simulating a target processor using binary translation
US6627564B1 (en) * 2000-08-31 2003-09-30 Kimberly-Clark Worldwide, Inc. Composite elastic in one direction and extensible in another direction
FR2814257B1 (fr) * 2000-09-20 2002-12-06 Palmware Architecture de microprocesseur virtuel multiplate-forme et son systeme d'exploitation complementaire, notamment pour le domaine de l'informatique embarquee et mobile
AU2002245075A1 (en) * 2000-11-13 2002-07-08 Sun Microsystems, Inc. Method and apparatus for increasing performance of an interpreter
EP1313012A1 (en) * 2001-11-15 2003-05-21 Texas Instruments France Java DSP acceleration by byte-code optimization
US7805710B2 (en) * 2003-07-15 2010-09-28 International Business Machines Corporation Shared code caching for program code conversion
US7415618B2 (en) 2003-09-25 2008-08-19 Sun Microsystems, Inc. Permutation of opcode values for application program obfuscation
US7424620B2 (en) 2003-09-25 2008-09-09 Sun Microsystems, Inc. Interleaved data and instruction streams for application program obfuscation
US7353499B2 (en) 2003-09-25 2008-04-01 Sun Microsystems, Inc. Multiple instruction dispatch tables for application program obfuscation
US7363620B2 (en) 2003-09-25 2008-04-22 Sun Microsystems, Inc. Non-linear execution of application program instructions for application program obfuscation
US8220058B2 (en) 2003-09-25 2012-07-10 Oracle America, Inc. Rendering and encryption engine for application program obfuscation
US8020152B2 (en) * 2005-02-24 2011-09-13 Microsoft Corporation Code morphing
US7882336B2 (en) 2007-02-01 2011-02-01 International Business Machines Corporation Employing a buffer to facilitate instruction execution
KR100968376B1 (ko) * 2009-01-13 2010-07-09 주식회사 코아로직 이종 프로세서 간의 응용 프로그램 처리장치와 처리방법, 및 그 처리장치를 포함하는 ap 통신 시스템
US9525586B2 (en) 2013-03-15 2016-12-20 Intel Corporation QoS based binary translation and application streaming
US9703562B2 (en) 2013-03-16 2017-07-11 Intel Corporation Instruction emulation processors, methods, and systems
CN118093017A (zh) * 2022-11-22 2024-05-28 上海兆芯集成电路股份有限公司 高效指令转译方法、以及处理器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574927A (en) * 1994-03-25 1996-11-12 International Meta Systems, Inc. RISC architecture computer configured for emulation of the instruction set of a target computer
US5751982A (en) * 1995-03-31 1998-05-12 Apple Computer, Inc. Software emulation system with dynamic translation of emulated instructions for increased processing speed
US5625835A (en) * 1995-05-10 1997-04-29 International Business Machines Corporation Method and apparatus for reordering memory operations in a superscalar or very long instruction word processor

Also Published As

Publication number Publication date
KR100443759B1 (ko) 2004-08-09
WO1998059292A1 (en) 1998-12-30
EP0991994A4 (en) 2001-11-28
EP0991994A1 (en) 2000-04-12
CA2283776A1 (en) 1998-12-30
KR20010014094A (ko) 2001-02-26
JP2001519953A (ja) 2001-10-23
CA2283776C (en) 2003-11-11

Similar Documents

Publication Publication Date Title
JP3615770B2 (ja) アドレスされた構成部分の思索の失敗を検出するメモリ・コントローラ
JP3753743B2 (ja) 先進のプロセッサにおけるメモリ・データ・エリアシング方法および装置
JP3776132B2 (ja) マイクロプロセッサの改良
US5958061A (en) Host microprocessor with apparatus for temporarily holding target processor state
US6031992A (en) Combining hardware and software to provide an improved microprocessor
US6199152B1 (en) Translated memory protection apparatus for an advanced microprocessor
JP2001507151A (ja) 先進のマイクロプロセッサのためのゲート格納バッファ
JP3621116B2 (ja) 先進のプロセッサのための変換メモリ保護装置
JP3654913B2 (ja) 一時的にターゲット・プロセッサの状態を保持する装置を備えたホスト・マイクロプロセッサ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041116

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050215

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050628

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050927

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20051114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060222

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090303

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100303

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100303

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100303

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110303

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees