JP2009535745A - ホストシステム上でターゲットシステムをエミュレーションする際のレジスタマッピング - Google Patents
ホストシステム上でターゲットシステムをエミュレーションする際のレジスタマッピング Download PDFInfo
- Publication number
- JP2009535745A JP2009535745A JP2009509938A JP2009509938A JP2009535745A JP 2009535745 A JP2009535745 A JP 2009535745A JP 2009509938 A JP2009509938 A JP 2009509938A JP 2009509938 A JP2009509938 A JP 2009509938A JP 2009535745 A JP2009535745 A JP 2009535745A
- Authority
- JP
- Japan
- Prior art keywords
- register
- processor
- registers
- host system
- target system
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/441—Register allocation; Assignment of physical memory space to logical memory space
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)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
【選択図】図2B
Description
本出願は、2007年4月4日に出願された、Stewart Sargaisonらの「ホストシステム上でターゲットシステムをエミュレーションする際のレジスタマッピング」と題する同一出願人による同時係属出願第11/696,691号の優先権の利益を主張し、その開示内容全体を参照によりここに援用する。
本出願は、2006年1月30日に出願された米国仮特許出願第60/763,568号に関連し、その開示内容全体を参照によりここに援用する。
本発明の実施の形態は、ホストコンピュータプラットフォーム上でのターゲットコンピュータプラットフォームのエミュレーションに関し、特に異なるサイズのレジスタをもつターゲットシステムとホストシステム間のレジスタマッピングに関する。
Claims (20)
- ホストシステム上でターゲットシステムをエミュレーションするための方法であって、
ターゲットシステムプロセッサのレジスタセットの使用に関する統計を決定するステップと、
前記統計にもとづいて、前記レジスタセットの内、1以上の最も多く使われるレジスタを含む第1レジスタサブセットを決めるステップと、
前記第1レジスタサブセットをホストシステムプロセッサの第1レジスタグループにダイレクトマッピングするステップと、
前記レジスタセットの第2レジスタサブセットを前記ホストシステムプロセッサの第2レジスタグループに動的にマッピングするステップとを含むことを特徴とする方法。 - 前記第1および第2レジスタグループを用いて前記ホストシステムプロセッサ上で前記ターゲットシステムプロセッサをエミュレートするステップをさらに含む請求項1の方法。
- 前記ターゲットシステムをエミュレートするステップは、ターゲットシステムプロセッサ用のインストラクションをトランスレートするステップを含む請求項2の方法。
- 前記ターゲットシステムプロセッサのレジスタセットのレジスタのいくつかは、前記ホストシステムプロセッサの第1および第2レジスタグループのレジスタよりもサイズが大きい請求項1の方法。
- 前記ターゲットシステムプロセッサのレジスタセットのレジスタは128ビットレジスタを含み、前記ホストシステムプロセッサの第1および第2レジスタグループのレジスタは64ビットレジスタを含む請求項4の方法。
- 前記第1レジスタサブセットをダイレクトマッピングするステップまたは第2レジスタサブセットを動的にマッピングするステップは、ターゲットシステムレジスタの下位フィールドを第1ホストシステムレジスタにマッピングし、前記ターゲットシステムレジスタの上位フィールドを第2ホストシステムレジスタにマッピングするステップを含む請求項4の方法。
- 前記ホストシステムプロセッサはセルプロセッサのパワー・プロセッサ・エレメントである請求項1の方法。
- 第1および/または第2グループの1以上のレジスタは、前記パワー・プロセッサ・エレメントのVMXユニットのレジスタである請求項7の方法。
- 前記ホストプロセッサで中間結果を生成する演算を実行するステップと、前記中間結果を前記第2レジスタグループの1以上のレジスタに格納するステップとをさらに含む請求項1の方法。
- 前記ターゲットシステムプロセッサはエモーション・エンジンである請求項1の方法。
- 前記エモーション・エンジン用のインストラクションを前記ホストシステムプロセッサで読み取り可能なマシンコードにトランスレートすることにより、前記ホストシステムプロセッサで前記エモーション・エンジンをエミュレートするステップをさらに含む請求項10の方法。
- ターゲットシステムのインストラクションのブロッキングの可能性を減らすために、第2サブセットレジスタの動的マッピングをローテーションするステップをさらに含む請求項1の方法。
- 前記ターゲットシステムは1以上のさらなるプロセッサを含み、当該方法は、前記1以上のさらなるプロセッサ用のインストラクションをインタープリトし、インタープリトされたインストラクションを前記ホストシステムプロセッサまたは前記ホストシステムプロセッサに接続された1以上のコプロセッサ上で実行することにより、前記1以上のさらなるプロセッサをエミュレートするステップをさらに含む請求項11の方法。
- 第1サブセットレジスタのダイレクトマッピングおよび/または第2サブセットレジスタの動的マッピングを動的に再構成するステップをさらに含む請求項1の方法。
- ターゲットシステムをエミュレーションするためのホストシステムであって、
1以上のホストシステムプロセッサと、
前記1以上のホストシステムプロセッサに接続されたメモリと、
前記メモリに具体化されたプロセッサで実行可能なインストラクションセットとを含み、
当該プロセッサで実行可能なインストラクションは、ホストシステム上でターゲットシステムをエミュレーションするための方法を実装するためのインストラクションを含み、
当該方法は、
ターゲットシステムプロセッサのレジスタセットの使用に関する統計を決定するステップと、
前記統計にもとづいて、前記レジスタセットの内、1以上の最も多く使われるレジスタを含む第1レジスタサブセットを決めるステップと、
前記第1レジスタサブセットをホストシステムプロセッサの第1レジスタグループにダイレクトマッピングするステップと、
前記レジスタセットの第2レジスタサブセットを前記ホストシステムプロセッサの第2レジスタグループに動的にマッピングするステップとを含むことを特徴とするホストシステム。 - 前記1以上のホストシステムプロセッサはパワー・プロセッサ・エレメントを含む請求項15のシステム。
- 前記1以上のホストシステムプロセッサは、前記パワー・プロセッサ・エレメントに接続された1以上のシナジスティック・プロセッサ・エレメントをさらに含む請求項16のシステム。
- 第1および/または第2グループの1以上のレジスタは、前記パワー・プロセッサ・エレメントのVMXユニットのレジスタである請求項16のシステム。
- 前記ターゲットシステムプロセッサのレジスタセットのレジスタは、前記ホストシステムプロセッサの第1および第2レジスタグループのレジスタよりもサイズが大きい請求項15のシステム。
- 前記ターゲットシステムプロセッサのレジスタセットのレジスタは128ビットレジスタであり、前記ホストシステムプロセッサの第1および第2レジスタグループのレジスタは64ビットレジスタである請求項19のシステム。
Applications Claiming Priority (21)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US74626806P | 2006-05-03 | 2006-05-03 | |
US79776106P | 2006-05-03 | 2006-05-03 | |
US79776206P | 2006-05-03 | 2006-05-03 | |
US74626706P | 2006-05-03 | 2006-05-03 | |
US79743506P | 2006-05-03 | 2006-05-03 | |
US74627306P | 2006-05-03 | 2006-05-03 | |
US60/797,762 | 2006-05-03 | ||
US60/746,267 | 2006-05-03 | ||
US60/746,273 | 2006-05-03 | ||
US60/746,268 | 2006-05-03 | ||
US60/797,435 | 2006-05-03 | ||
US60/797,761 | 2006-05-03 | ||
US11/700,448 | 2007-01-30 | ||
US11/700,448 US7577826B2 (en) | 2006-01-30 | 2007-01-30 | Stall prediction thread management |
US11/696,699 US7770050B2 (en) | 2006-05-03 | 2007-04-04 | Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code |
US11/696,684 US7792666B2 (en) | 2006-05-03 | 2007-04-04 | Translation block invalidation prehints in emulation of a target system on a host system |
US11/696,684 | 2007-04-04 | ||
US11/696,699 | 2007-04-04 | ||
US11/696,691 US7813909B2 (en) | 2006-05-03 | 2007-04-04 | Register mapping in emulation of a target system on a host system |
US11/696,691 | 2007-04-04 | ||
PCT/US2007/067142 WO2007130806A2 (en) | 2006-05-03 | 2007-04-20 | Register mapping in emulation of a target system on a host system |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009535745A true JP2009535745A (ja) | 2009-10-01 |
JP2009535745A5 JP2009535745A5 (ja) | 2012-03-22 |
JP5048056B2 JP5048056B2 (ja) | 2012-10-17 |
Family
ID=38668435
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009509939A Active JP4932904B2 (ja) | 2006-05-03 | 2007-04-20 | インタープリトおよびトランスレートされたインストラクションの両方に関わるエミュレーションにおけるクロック管理の問題を解決するための方法と装置 |
JP2009509938A Active JP5048056B2 (ja) | 2006-05-03 | 2007-04-20 | ホストシステム上でターゲットシステムをエミュレーションする際のレジスタマッピング |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009509939A Active JP4932904B2 (ja) | 2006-05-03 | 2007-04-20 | インタープリトおよびトランスレートされたインストラクションの両方に関わるエミュレーションにおけるクロック管理の問題を解決するための方法と装置 |
Country Status (3)
Country | Link |
---|---|
EP (3) | EP2426603B1 (ja) |
JP (2) | JP4932904B2 (ja) |
WO (3) | WO2007130805A2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013171556A (ja) * | 2012-02-23 | 2013-09-02 | Hitachi Ltd | プログラム解析システム及び方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001314644A (ja) * | 2000-03-03 | 2001-11-13 | Sony Computer Entertainment Inc | エンタテインメント装置及びコンピュータシステム |
JP2001340641A (ja) * | 2000-03-30 | 2001-12-11 | Nintendo Co Ltd | ゲーム情報記憶媒体およびそれを用いたゲームシステム |
US20020066086A1 (en) * | 2000-01-07 | 2002-05-30 | Linden Randal N. | Dynamic recompiler |
JP2004152318A (ja) * | 1995-12-19 | 2004-05-27 | Intel Corp | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
WO2005008479A2 (en) * | 2003-07-15 | 2005-01-27 | Transitive Limited | Shared code caching method and apparatus for program code conversion |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0124517A1 (en) * | 1982-10-22 | 1984-11-14 | International Business Machines Corporation | Accelerated instruction mapping external to source and target instruction streams for near realtime injection into the latter |
US5313614A (en) * | 1988-12-06 | 1994-05-17 | At&T Bell Laboratories | Method and apparatus for direct conversion of programs in object code form between different hardware architecture computer systems |
US5507030A (en) * | 1991-03-07 | 1996-04-09 | Digitial Equipment Corporation | Successive translation, execution and interpretation of computer program having code at unknown locations due to execution transfer instructions having computed destination addresses |
JPH07160537A (ja) * | 1993-12-03 | 1995-06-23 | Matsushita Electric Ind Co Ltd | シミュレータ |
US5930158A (en) * | 1997-07-02 | 1999-07-27 | Creative Technology, Ltd | Processor with instruction set for audio effects |
US6631514B1 (en) * | 1998-01-06 | 2003-10-07 | Hewlett-Packard Development, L.P. | Emulation system that uses dynamic binary translation and permits the safe speculation of trapping operations |
JP3147851B2 (ja) * | 1998-03-27 | 2001-03-19 | 日本電気株式会社 | シミュレーション方法、シミュレーション装置及びシミュレーションプログラムを記憶した記憶媒体 |
DE69942011D1 (de) * | 1998-10-10 | 2010-03-25 | Ibm | Programmkodekonvertierung mit verringerter Übersetzung |
US6115054A (en) * | 1998-12-29 | 2000-09-05 | Connectix Corporation | Graphics processor emulation system and method with adaptive frame skipping to maintain synchronization between emulation time and real time |
US6529862B1 (en) * | 1999-06-30 | 2003-03-04 | Bull Hn Information Systems Inc. | Method and apparatus for dynamic management of translated code blocks in dynamic object code translation |
US6882968B1 (en) * | 1999-10-25 | 2005-04-19 | Sony Computer Entertainment Inc. | Method of measuring performance of an emulator and for adjusting emulator operation in response thereto |
JP2001216177A (ja) * | 2000-02-04 | 2001-08-10 | Seiko Epson Corp | シミュレーション装置およびシミュレーション方法ならびにシミュレーションプログラムを記憶した記憶媒体 |
JP2002049414A (ja) | 2000-05-26 | 2002-02-15 | Yutaka Electronics Industry Co Ltd | 産業用機械の保全方法及び保全システム |
JP3964142B2 (ja) * | 2000-08-15 | 2007-08-22 | 株式会社ソニー・コンピュータエンタテインメント | エミュレート装置及び部品、情報処理装置、エミュレーション方法、記録媒体、プログラム |
US6884171B2 (en) * | 2000-09-18 | 2005-04-26 | Nintendo Co., Ltd. | Video game distribution network |
US6672963B1 (en) * | 2000-09-18 | 2004-01-06 | Nintendo Co., Ltd. | Software implementation of a handheld video game hardware platform |
JP2004318449A (ja) * | 2003-04-16 | 2004-11-11 | Hitachi Ltd | プログラム実行速度シュミレーション方法 |
US20050015754A1 (en) * | 2003-06-18 | 2005-01-20 | Virtutech Ab | Method and system for multimode simulator generation from an instruction set architecture specification |
KR100933389B1 (ko) * | 2004-09-20 | 2009-12-22 | 소니 컴퓨터 엔터테인먼트 인코포레이티드 | 소프트웨어 애플리케이션을 에뮬레이트하는 방법 및 장치 |
-
2007
- 2007-04-20 JP JP2009509939A patent/JP4932904B2/ja active Active
- 2007-04-20 WO PCT/US2007/067133 patent/WO2007130805A2/en active Application Filing
- 2007-04-20 WO PCT/US2007/067146 patent/WO2007130807A2/en active Application Filing
- 2007-04-20 EP EP11169077.2A patent/EP2426603B1/en active Active
- 2007-04-20 EP EP07761060.8A patent/EP2013723B1/en active Active
- 2007-04-20 WO PCT/US2007/067142 patent/WO2007130806A2/en active Application Filing
- 2007-04-20 EP EP07761064.0A patent/EP2013680B1/en active Active
- 2007-04-20 JP JP2009509938A patent/JP5048056B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004152318A (ja) * | 1995-12-19 | 2004-05-27 | Intel Corp | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
US20020066086A1 (en) * | 2000-01-07 | 2002-05-30 | Linden Randal N. | Dynamic recompiler |
JP2001314644A (ja) * | 2000-03-03 | 2001-11-13 | Sony Computer Entertainment Inc | エンタテインメント装置及びコンピュータシステム |
JP2001340641A (ja) * | 2000-03-30 | 2001-12-11 | Nintendo Co Ltd | ゲーム情報記憶媒体およびそれを用いたゲームシステム |
WO2005008479A2 (en) * | 2003-07-15 | 2005-01-27 | Transitive Limited | Shared code caching method and apparatus for program code conversion |
Also Published As
Publication number | Publication date |
---|---|
WO2007130806A2 (en) | 2007-11-15 |
EP2013680A4 (en) | 2009-05-06 |
JP5048056B2 (ja) | 2012-10-17 |
EP2426603B1 (en) | 2018-08-08 |
WO2007130806A3 (en) | 2008-03-27 |
WO2007130807A2 (en) | 2007-11-15 |
EP2013723A4 (en) | 2009-04-29 |
WO2007130805A2 (en) | 2007-11-15 |
EP2013723A2 (en) | 2009-01-14 |
JP4932904B2 (ja) | 2012-05-16 |
EP2013723B1 (en) | 2019-06-12 |
EP2013680B1 (en) | 2018-08-08 |
EP2426603A2 (en) | 2012-03-07 |
JP2009535746A (ja) | 2009-10-01 |
WO2007130805A3 (en) | 2008-04-10 |
WO2007130806A8 (en) | 2008-07-31 |
EP2426603A3 (en) | 2012-08-29 |
WO2007130807A3 (en) | 2008-10-16 |
EP2013680A2 (en) | 2009-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8392171B2 (en) | Register mapping in emulation of a target system on a host system | |
Smith et al. | The architecture of virtual machines | |
US8131535B2 (en) | Translation block invalidation prehints in emulation of a target system on a host system | |
US8234514B2 (en) | Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code | |
US8433555B2 (en) | Processor emulation using fragment level translation | |
JP5186320B2 (ja) | エミュレーション強化方法及び装置 | |
US20070016895A1 (en) | Selective omission of endian translation to enhance emulator performance | |
JP2014513997A (ja) | エミュレーション強化の方法および装置 | |
JP2008536240A (ja) | レジスタファイルとしてのオペランドスタックへの、ネイティブな命令を用いた、マイクロプロセッサのアクセス | |
WO2009094827A1 (en) | Risc processor device and method of simulating floating-point stack operation thereof | |
JP5048056B2 (ja) | ホストシステム上でターゲットシステムをエミュレーションする際のレジスタマッピング | |
US9483405B2 (en) | Simplified run-time program translation for emulating complex processor pipelines | |
Hsu et al. | Hsaemu 2.0: full system emulation for hsa platforms with soft-mmu | |
CN109408193B (zh) | 虚拟机实现方法、装置及计算机设备 | |
Tijms | Binary translation: Classification of emulators | |
CA2675635A1 (en) | Method for efficiently emulating computer architecture condition code settings | |
Yermolovich et al. | Portable execution of legacy binaries on the Java virtual machine | |
Chase | Welcome to the Machine | |
Gaeke | CS 497yyz Project Report: LLVA-emu | |
Fellnhofer et al. | iBoy-Fast System Level Emulation Using Dynamic Binary Translation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20101126 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20110126 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120202 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20120202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120409 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20120424 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120515 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120607 |
|
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: 20120703 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120718 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150727 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5048056 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |