KR19990029286A - 데이타 처리 시스템의 에뮬레이션 모드를 위한 어드레스번역 버퍼 - Google Patents
데이타 처리 시스템의 에뮬레이션 모드를 위한 어드레스번역 버퍼 Download PDFInfo
- Publication number
- KR19990029286A KR19990029286A KR1019980032561A KR19980032561A KR19990029286A KR 19990029286 A KR19990029286 A KR 19990029286A KR 1019980032561 A KR1019980032561 A KR 1019980032561A KR 19980032561 A KR19980032561 A KR 19980032561A KR 19990029286 A KR19990029286 A KR 19990029286A
- Authority
- KR
- South Korea
- Prior art keywords
- customer
- address
- instruction
- instructions
- command
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
Claims (9)
- 원시 명령 세트(a native instruction set)를 가지며 고객 명령 세트(a guest instruction set)내의 명령들을 에뮬레이트하는(emulate) 프로세서를 운영하기 위한 방법에 있어서,상기 고객 명령 세트로부터의 일련의 고객 명령(a series of guest instructions)을 메모리 내에 저장하는 단계 ― 상기 일련의 고객 명령은 고객 어드레스 공간(guest address space)내의 고객 논리적 어드레스(a guest logical address)를 나타내는 고객 메모리 액세스 명령(a guest memory access instruction)임 ― 와,상기 일련의 고객 명령 내의 각 고객 명령에 대하여, 상기 각 고객 명령의 에뮬레이션을 위해 상기 원시 명령 세트로부터의 원시 명령들의 의미 루틴(a semantic routine)을 메모리 내에 저장하는 단계 ― 상기 원시 명령들은 원시 어드레스 공간 내의 원시 어드레스들(native addresses in native address space)을 이용함 ― 와,에뮬레이션을 위한 상기 고객 메모리 액세스 명령의 수신에 응답하여, 상기 고객 논리적 어드레스를 고객 실제 어드레스(a guest real address)로 번역한 후 상기 고객 실제 어드레스를 원시 물리적 어드레스(a native physical address)로 번역하는 단계와,상기 원시 물리적 어드레스를 이용하여 상기 고객 메모리 액세스 명령을 에뮬레이트하는 의미 루틴을 실행하는 단계를 포함하는 프로세서 운영 방법.
- 원시 명령 세트를 가지며 고객 명령 세트 내의 명령들을 에뮬레이트하는 프로세서 -상기 프로세서는 상기 고객 명령 세트로부터의 일련의 고객 명령을 저장하기 위한 관련 메모리를 가지고, 상기 일련의 고객 명령은 고객 어드레스 공간내의 고객 논리적 어드레스를 나타내는 고객 메모리 액세스 명령을 포함하며, 상기 관련 메모리는 상기 일련의 고객 명령을 에뮬레이트하기 위해 원시 명령들의 다수의 의미 루틴을 또한 저장함- 에 있어서,에뮬레이션을 위한 상기 고객 메모리 액세스 명령의 수신에 응답하여, 고객 논리적 어드레스를 고객 실제 어드레스로 번역한 후 상기 고객 실제 어드레스를 원시 물리적 어드레스로 번역하기 위한 수단과,상기 원시 물리적 어드레스를 이용하여 상기 고객 메모리 액세스 명령을 에뮬레이트하는 의미 루틴을 실행하기 위한 수단을 포함하는 프로세서.
- 제2항에 있어서,상기 고객 메모리 액세스 명령은 고객 로드 명령 및 고객 저장 명령 중의 하나를 포함하는 프로세서.
- 제2항에 있어서,상기 고객 메모리 액세스 명령은 상기 일련의 고객 명령 내의 고객 명령을 상기 관련 메모리로부터 인출하는 것을 초기화하는 고객 명령을 포함하는 프로세서.
- 제2항에 있어서,상기 고객 메모리 액세스 명령을 에뮬레이트하는 의미 루틴을 실행하기 위한 수단은 상기 원시 물리적 어드레스를 이용하여 상기 메모리를 액세스하는 수단을 포함하는 프로세서.
- 제2항에 있어서,상기 고객 실제 어드레스를 원시 물리적 어드레스로 번역하기 위한 수단은 상기 고객 실제 어드레스를 원시 유효 어드레스로 번역한 다음에 상기 원시 유효 어드레스를 상기 원시 물리적 어드레스로 번역하기 위한 수단을 포함하는 프로세서.
- 제2항에 있어서,상기 프로세서는 어드레스 번역을 위해 이용되는 엔트리를 포함하는 번역 룩어사이드 버퍼(TLB)를 포함하며,상기 고객 논리적 어드레스를 고객 실제 어드레스로 번역한 후 상기 고객 실제 어드레스를 원시 물리적 어드레스로 번역하기 위한 수단은,상기 번역 룩어사이드 버퍼가 상기 원시 물리적 어드레스를 얻는데 이용될 수 있는 엔트리를 포함하는 지의 여부를 판단하기 위한 수단과,상기 번역 룩어사이드 버퍼가 상기 원시 물리적 어드레스를 얻는데 이용될 수 있는 엔트리를 포함한다는 판단에 응답하여, 상기 번역 룩어사이드 버퍼(TLB) 엔트리를 이용해서 상기 고객 논리적 어드레스를 고객 실제 어드레스로 번역한 후 상기 고객 실제 어드레스를 원시 물리적 어드레스로 번역하기 위한 수단을 포함하는 프로세서.
- 제7항에 있어서,상기 번역 룩어사이드 버퍼가 상기 원시 물리적 어드레스를 얻는데 이용될 수 있는 엔트리를 포함하지 않는다는 판단에 응답하여, 상기 번역 룩어사이드 버퍼 내에 상기 원시 물리적 어드레스를 얻는데 이용될 수 있는 엔트리를 생성하기 위한 수단을 더 포함하는 프로세서.
- 제2항에 있어서,상기 번역 수단은 사용자-레벨 의미 루틴을 수행하기 위한 수단을 포함하는 프로세서.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/934,645 | 1997-09-22 | ||
US8/934,645 | 1997-09-22 | ||
US08/934,645 US5953520A (en) | 1997-09-22 | 1997-09-22 | Address translation buffer for data processing system emulation mode |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990029286A true KR19990029286A (ko) | 1999-04-26 |
KR100317770B1 KR100317770B1 (ko) | 2002-02-19 |
Family
ID=25465857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980032561A KR100317770B1 (ko) | 1997-09-22 | 1998-08-11 | 데이터처리시스템의에뮬레이션모드를위한어드레스변환버퍼 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5953520A (ko) |
KR (1) | KR100317770B1 (ko) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6408386B1 (en) | 1995-06-07 | 2002-06-18 | Intel Corporation | Method and apparatus for providing event handling functionality in a computer system |
US5774686A (en) * | 1995-06-07 | 1998-06-30 | Intel Corporation | Method and apparatus for providing two system architectures in a processor |
US6298428B1 (en) * | 1998-03-30 | 2001-10-02 | International Business Machines Corporation | Method and apparatus for shared persistent virtual storage on existing operating systems |
US6249906B1 (en) * | 1998-06-26 | 2001-06-19 | International Business Machines Corp. | Adaptive method and system to minimize the effect of long table walks |
US6243668B1 (en) * | 1998-08-07 | 2001-06-05 | Hewlett-Packard Company | Instruction set interpreter which uses a register stack to efficiently map an application register state |
US6446034B1 (en) * | 1998-12-16 | 2002-09-03 | Bull Hn Information Systems Inc. | Processor emulation virtual memory address translation |
US6385712B1 (en) * | 1999-10-25 | 2002-05-07 | Ati International Srl | Method and apparatus for segregation of virtual address space |
US6467027B1 (en) * | 1999-12-30 | 2002-10-15 | Intel Corporation | Method and system for an INUSE field resource management scheme |
JP2001195250A (ja) * | 2000-01-13 | 2001-07-19 | Mitsubishi Electric Corp | 命令トランスレータ、トランスレータ付命令メモリおよびそれらを用いたデータ処理装置 |
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 |
US7620955B1 (en) * | 2001-06-08 | 2009-11-17 | Vmware, Inc. | High-performance virtual machine networking |
US6615337B1 (en) * | 2001-08-09 | 2003-09-02 | Advanced Micro Devices, Inc. | Method and apparatus for maintaining coherency in a translation lookaside buffer |
US6907519B2 (en) * | 2001-11-29 | 2005-06-14 | Hewlett-Packard Development Company, L.P. | Systems and methods for integrating emulated and native code |
US7260815B1 (en) | 2003-06-30 | 2007-08-21 | Vmware, Inc. | Method and apparatus for managing registers in a binary translator |
US20080282055A1 (en) * | 2005-12-29 | 2008-11-13 | Rongzhen Yang | Virtual Translation Lookaside Buffer |
US7685399B2 (en) * | 2007-01-07 | 2010-03-23 | International Business Machines Corporation | Method, system, and computer program products for data movement within processor storage |
US8726248B2 (en) * | 2008-06-12 | 2014-05-13 | Oracle America, Inc. | Method and apparatus for enregistering memory locations |
US8428930B2 (en) * | 2009-09-18 | 2013-04-23 | International Business Machines Corporation | Page mapped spatially aware emulation of a computer instruction set |
US8949106B2 (en) * | 2009-09-18 | 2015-02-03 | International Business Machines Corporation | Just in time compiler in spatially aware emulation of a guest computer instruction set |
US8447583B2 (en) * | 2009-09-18 | 2013-05-21 | International Business Machines Corporation | Self initialized host cell spatially aware emulation of a computer instruction set |
US9158566B2 (en) | 2009-09-18 | 2015-10-13 | International Business Machines Corporation | Page mapped spatially aware emulation of computer instruction set |
US8617049B2 (en) * | 2009-09-18 | 2013-12-31 | Ethicon Endo-Surgery, Inc. | Symmetrical drive system for an implantable restriction device |
US8301434B2 (en) | 2009-09-18 | 2012-10-30 | International Buisness Machines Corporation | Host cell spatially aware emulation of a guest wild branch |
US8880549B2 (en) * | 2009-11-09 | 2014-11-04 | International Business Machines Corporation | Concurrent database access by production and prototype applications |
EP2507710B1 (en) * | 2009-11-30 | 2018-10-31 | Hewlett-Packard Enterprise Development LP | Remapping for memory wear leveling |
WO2012103359A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Hardware acceleration components for translating guest instructions to native instructions |
EP2668565B1 (en) | 2011-01-27 | 2019-11-06 | Intel Corporation | Guest instruction to native instruction range based mapping using a conversion look aside buffer of a processor |
WO2012103245A2 (en) * | 2011-01-27 | 2012-08-02 | Soft Machines Inc. | Guest instruction block with near branching and far branching sequence construction to native instruction block |
WO2012103373A2 (en) * | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Variable caching structure for managing physical storage |
WO2012103253A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Multilevel conversion table cache for translating guest instructions to native instructions |
WO2012103367A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Guest to native block address mappings and management of native code storage |
US9063760B2 (en) * | 2011-10-13 | 2015-06-23 | International Business Machines Corporation | Employing native routines instead of emulated routines in an application being emulated |
US20130132061A1 (en) * | 2011-11-18 | 2013-05-23 | Michael J. Rieschl | Just-in-time static translation system for emulated computing environments |
WO2014151652A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines Inc | Method and apparatus to allow early dependency resolution and data forwarding in a microprocessor |
US10198265B2 (en) | 2013-03-15 | 2019-02-05 | Intel Corporation | Microprocessor for gating a load operation based on entries of a prediction table |
US10467010B2 (en) | 2013-03-15 | 2019-11-05 | Intel Corporation | Method and apparatus for nearest potential store tagging |
EP2972798B1 (en) * | 2013-03-15 | 2020-06-17 | Intel Corporation | Method and apparatus for guest return address stack emulation supporting speculation |
WO2014158128A1 (en) * | 2013-03-25 | 2014-10-02 | Hewlett-Packard Development Company, L.P. | Extensible firmware abstraction |
US9983893B2 (en) | 2013-10-01 | 2018-05-29 | Red Hat Israel, Ltd. | Handling memory-mapped input-output (MMIO) based instructions using fast access addresses |
US9916173B2 (en) * | 2013-11-25 | 2018-03-13 | Red Hat Israel, Ltd. | Facilitating execution of MMIO based instructions |
CN105993004B (zh) | 2014-07-21 | 2019-04-02 | 上海兆芯集成电路有限公司 | 转译后备缓冲器、操作其的方法以及包含其的处理器 |
US9846610B2 (en) | 2016-02-08 | 2017-12-19 | Red Hat Israel, Ltd. | Page fault-based fast memory-mapped I/O for virtual machines |
US10042691B2 (en) * | 2016-04-26 | 2018-08-07 | International Business Machines Corporation | Operation of a multi-slice processor implementing exception handling in a nested translation environment |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63106836A (ja) * | 1986-10-24 | 1988-05-11 | Hitachi Ltd | 異ア−キテクチヤ・エミユレ−シヨン方式 |
WO1993013482A1 (en) * | 1992-01-02 | 1993-07-08 | Amdahl Corporation | Computer system with two levels of guests |
WO1994027215A1 (en) * | 1993-05-07 | 1994-11-24 | Apple Computer, Inc. | Method for decoding guest instructions for a host computer |
US5790825A (en) * | 1995-11-08 | 1998-08-04 | Apple Computer, Inc. | Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions |
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 |
-
1997
- 1997-09-22 US US08/934,645 patent/US5953520A/en not_active Expired - Lifetime
-
1998
- 1998-08-11 KR KR1019980032561A patent/KR100317770B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US5953520A (en) | 1999-09-14 |
KR100317770B1 (ko) | 2002-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100317770B1 (ko) | 데이터처리시스템의에뮬레이션모드를위한어드레스변환버퍼 | |
KR100284788B1 (ko) | 데이터 처리 시스템에서 에뮬레이션 동안의 브랜치 처리 방법및 시스템 | |
US5870575A (en) | Indirect unconditional branches in data processing system emulation mode | |
KR100341533B1 (ko) | 데이타처리시스템의에뮬레이션동안의인터럽트처리방법및시스템 | |
US6122638A (en) | Object-oriented processor and method for caching intermediate data in an object-oriented processor | |
EP0465321B1 (en) | Ensuring data integrity in multiprocessor or pipelined processor system | |
US6253306B1 (en) | Prefetch instruction mechanism for processor | |
JP3751049B2 (ja) | パイプラインプロセッサおよびその動作方法 | |
US5854913A (en) | Microprocessor with an architecture mode control capable of supporting extensions of two distinct instruction-set architectures | |
JP3628379B2 (ja) | 命令を処理するためのパイプラインを有するマイクロプロセッサ装置およびそれにおいて用いるためのプログラムカウンタ値を発生する装置 | |
JP3866918B2 (ja) | ルックアヘッド結果を発生し移動命令、比較命令および簡単な算術命令をまとめるよう構成されるプロセッサ | |
EP0463978A2 (en) | Granularity hint for translation buffer in high performance processor | |
EP0463975A2 (en) | Byte-compare operation for high-performance processor | |
EP0463973A2 (en) | Branch prediction in high performance processor | |
EP0465322A2 (en) | In-register data manipulation in reduced instruction set processor | |
EP0463976A2 (en) | Data prefetch instruction in a reduced instruction set processor | |
EP0463977A2 (en) | Branching in a pipelined processor | |
US5812823A (en) | Method and system for performing an emulation context save and restore that is transparent to the operating system | |
US5987600A (en) | Exception handling in a processor that performs speculative out-of-order instruction execution | |
US5263153A (en) | Monitoring control flow in a microprocessor | |
WO1994027215A1 (en) | Method for decoding guest instructions for a host computer | |
US5873123A (en) | Processor and method for translating a nonphysical address into a physical address utilizing a selectively nonsequential search of page table entries | |
WO1994027214A1 (en) | Method for decoding sequences of guest instructions for a host computer | |
EP0465328A2 (en) | Branch elimination in a reduced instruction set processor | |
US6446189B1 (en) | Computer system including a novel address translation mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121127 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20131128 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20141128 Year of fee payment: 14 |
|
FPAY | Annual fee payment |
Payment date: 20151127 Year of fee payment: 15 |
|
FPAY | Annual fee payment |
Payment date: 20161128 Year of fee payment: 16 |
|
FPAY | Annual fee payment |
Payment date: 20171128 Year of fee payment: 17 |
|
EXPY | Expiration of term |