JP3776132B2 - マイクロプロセッサの改良 - Google Patents
マイクロプロセッサの改良 Download PDFInfo
- 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
Links
- 230000006872 improvement Effects 0.000 title description 4
- 230000015654 memory Effects 0.000 claims description 141
- 238000006243 chemical reaction Methods 0.000 claims description 133
- 238000000034 method Methods 0.000 claims description 70
- 239000000872 buffer Substances 0.000 claims description 45
- 230000014616 translation Effects 0.000 claims description 40
- 238000013519 translation Methods 0.000 claims description 40
- 238000012545 processing Methods 0.000 claims description 33
- 239000012536 storage buffer Substances 0.000 claims description 20
- 230000009471 action Effects 0.000 claims description 17
- 230000006658 host protein synthesis Effects 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000005457 optimization Methods 0.000 description 51
- 230000008569 process Effects 0.000 description 27
- 230000009466 transformation Effects 0.000 description 17
- 238000003860 storage Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 7
- 230000005055 memory storage Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000002860 competitive effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008707 rearrangement Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 230000003936 working memory Effects 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/52—Binary to binary
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
- G06F9/30174—Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45554—Instruction 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)
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)
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)
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 |
-
1997
- 1997-06-25 EP EP97936951A patent/EP0991994A4/en not_active Ceased
- 1997-06-25 JP JP50436199A patent/JP3776132B2/ja not_active Expired - Fee Related
- 1997-06-25 CA CA002283776A patent/CA2283776C/en not_active Expired - Fee Related
- 1997-06-25 KR KR10-1999-7012137A patent/KR100443759B1/ko not_active IP Right Cessation
- 1997-06-25 WO PCT/US1997/011616 patent/WO1998059292A1/en active IP Right Grant
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 |