JP2010108086A - Cpuエミュレーションシステム、cpuエミュレーション方法及びcpuエミュレーションプログラム - Google Patents
Cpuエミュレーションシステム、cpuエミュレーション方法及びcpuエミュレーションプログラム Download PDFInfo
- Publication number
- JP2010108086A JP2010108086A JP2008277098A JP2008277098A JP2010108086A JP 2010108086 A JP2010108086 A JP 2010108086A JP 2008277098 A JP2008277098 A JP 2008277098A JP 2008277098 A JP2008277098 A JP 2008277098A JP 2010108086 A JP2010108086 A JP 2010108086A
- Authority
- JP
- Japan
- Prior art keywords
- instruction sequence
- optimization
- cpu
- virtual
- optimized
- 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
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)
Abstract
【解決手段】それぞれ異なる物理CPU上で動作する複数の仮想CPU201,202と、最適化すべき命令列を選択する命令列選択手段101と、仮想CPU201,202の利用率をもとに、選択された命令列の最適化処理を行う仮想CPU201,202を選択する仮想CPU選択手段102と、選択された仮想CPU201,202で実行する最適化処理の最適化レベルを決定し、選択された仮想CPU201,202に対して最適化処理を指示する最適化レベル選択手段103とを有する。
【選択図】 図1
Description
それぞれ異なる物理CPU上で動作する複数の仮想CPUと、
最適化すべき命令列を選択する命令列選択手段と、
前記仮想CPUの利用率をもとに、選択された命令列の最適化処理を行う前記仮想CPUを選択する仮想CPU選択手段と、
選択された前記仮想CPUで実行する最適化処理の最適化レベルを決定し、選択された前記仮想CPUに対して最適化処理を指示する最適化レベル選択手段と、を有することを特徴とする。
アーキテクチャ変換処理前の変換前命令列と、それを物理CPUで実行可能な形式に変換した命令列である変換済命令列と、変換済命令列に最適化処理を施された最適化済命令列との対応付けを管理する命令列対応管理部と、
それぞれ異なる物理CPU上で動作する複数の仮想CPUと、
最適化すべき命令列を選択する命令列選択手段と、
選択された命令列の最適化処理を複数の前記仮想CPUに指示するにあたり、前記仮想CPUごとに異なる最適化レベルを指示する最適化指示手段と、
前記仮想CPUによる最適化処理が終了した時点で、その最適化済命令列に関する情報を、元になった変換済命令列と対応付けて前記命令列対応管理部に書き込む最適化情報書き込み手段と、を有することを特徴とする。
最適化すべき命令列を選択する命令列を選択し、
それぞれ異なる物理CPUで動作する複数の仮想CPUの利用率をもとに、選択された命令列の最適化処理を行う前記仮想CPUを選択し、
選択された前記仮想CPUで実行する最適化処理の最適化レベルを決定し、
選択された前記仮想CPUに対して最適化処理を指示することを特徴とする。
最適化すべき命令列を選択し、
選択された命令列に関して、複数の仮想CPUに対して、それぞれ異なる最適化レベルで最適化処理をするよう指示し、
前記仮想CPUによる最適化処理が終了した時点で、その最適化済命令列に関する情報を、元になった変換済命令列と対応付けて命令列対応管理部に書き込むことを特徴とする。
最適化すべき命令列を選択する命令列を選択する処理と、
それぞれ異なる物理CPUで動作する複数の仮想CPUの利用率をもとに、選択された命令列の最適化処理を行う前記仮想CPUを選択する処理と、
選択された前記仮想CPUで実行する最適化処理の最適化レベルを決定した上で選択された前記仮想CPUに対して最適化処理を指示する処理をコンピュータに実行させることを特徴とする。
最適化すべき命令列を選択する処理と、
選択された命令列に関して、複数の仮想CPUに対して、それぞれ異なる最適化レベルで最適化処理をするよう指示する処理と、
前記仮想CPUによる最適化処理が終了した時点で、その最適化済命令列に関する情報を、元になった変換済命令列と対応付けて命令列対応管理部に書き込む処理をコンピュータに実行させることを特徴とする。
次に、本発明の第1の実施の形態について、図面を参照して詳細に説明する。
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
(第1の実施例)
次に、本発明の第1の実施例を、図7を参照して説明する。かかる実施例は、本発明の第1の実施の形態に対応するものである。
次に、本発明の第2の実施例を、図8を参照して説明する。かかる実施例は、本発明の第2の実施の形態に対応するものである。
次に、本発明の第3の実施例を、図9及び図10を参照して説明する。かかる実施例は、本発明の第3の実施の形態に対応するものである。
101 命令列選択手段
102 仮想CPU選択手段
103 最適化レベル選択手段
104 時間計算手段
105 最適化指示手段
106 最適化情報書き込み手段
201 第1仮想CPU部
202 第2仮想CPU部
301 変換前命令列管理部
302 変換済命令列管理部
303 最適化済命令列管理部
304 単位時間管理部
305 最適化処理時間管理部
306 命令列対応管理部
Claims (19)
- それぞれ異なる物理CPU上で動作する複数の仮想CPUと、
最適化すべき命令列を選択する命令列選択手段と、
前記仮想CPUの利用率をもとに、選択された命令列の最適化処理を行う前記仮想CPUを選択する仮想CPU選択手段と、
選択された前記仮想CPUで実行する最適化処理の最適化レベルを決定し、選択された前記仮想CPUに対して最適化処理を指示する最適化レベル選択手段と、
を有することを特徴とするCPUエミュレーションシステム。 - 特定の時間を単位時間として格納している単位時間管理部と、
最適化レベルごとに最適化処理に掛かる時間を記憶している最適化処理時間管理部と、
前記仮想CPU選択手段で選択された前記仮想CPUの利用率と、前記単位時間管理部に格納されている単位時間をもとに、最適化処理のために掛けられる許容時間を計算し、更に最適化処理時間管理部を参照することで、指示された命令列の最適化処理に掛かる時間を最適化レベルごとに算出する時間計算手段と、
を更に有することを特徴とする請求項1に記載のCPUエミュレーションシステム。 - 前記最適化処理時間管理部には、最適化レベルごとに、命令列サイズあたりの処理時間が格納されていることを特徴とする請求項2に記載のCPUエミュレーションシステム。
- アーキテクチャ変換処理前の変換前命令列と、それを物理CPUで実行可能な形式に変換した命令列である変換済命令列と、変換済命令列に最適化処理を施された最適化済命令列との対応付けを管理する命令列対応管理部と、
それぞれ異なる物理CPU上で動作する複数の仮想CPUと、
最適化すべき命令列を選択する命令列選択手段と、
選択された命令列の最適化処理を複数の前記仮想CPUに指示するにあたり、前記仮想CPUごとに異なる最適化レベルを指示する最適化指示手段と、
前記仮想CPUによる最適化処理が終了した時点で、その最適化済命令列に関する情報を、元になった変換済命令列と対応付けて前記命令列対応管理部に書き込む最適化情報書き込み手段と、
を有することを特徴とするCPUエミュレーションシステム。 - 命令列実行処理が行われる時に、前記命令列対応管理部を参照することで、最も最適化レベルが高い命令列を選択して実行することを特徴とする請求項4に記載のCPUエミュレーションシステム。
- 前記最適化情報書き込み手段が前記最適化済命令列に関する情報を書き込む時に、前記最適化済命令列に適用された最適化レベルに関する情報も書き込むことを特徴とする請求項4または5に記載のCPUエミュレーションシステム。
- 前記仮想CPUが、それぞれ異なるCPUコア上で実行されることを特徴とする請求項1から6のいずれか1項に記載のCPUエミュレーションシステム。
- 最適化すべき命令列を選択する命令列を選択し、
それぞれ異なる物理CPUで動作する複数の仮想CPUの利用率をもとに、選択された命令列の最適化処理を行う前記仮想CPUを選択し、
選択された前記仮想CPUで実行する最適化処理の最適化レベルを決定し、
選択された前記仮想CPUに対して最適化処理を指示することを特徴とするCPUエミュレーション方法。 - 更に、選択された前記仮想CPUの利用率と単位時間をもとに、最適化処理のために掛けられる許容時間を計算し、
最適化レベルごとに最適化処理に掛かる時間を記憶している最適化処理時間管理部を参照することで、指示された命令列の最適化処理に掛かる時間を最適化レベルごとに算出することを特徴とする請求項8に記載のCPUエミュレーション方法。 - 前記最適化処理時間管理部に格納されている最適化レベルごとの命令列サイズあたりの処理時間をもとに、指示された命令列の最適化処理に掛かる時間を最適化レベルごとに算出することを特徴とする請求項9に記載のCPUエミュレーション方法。
- 最適化すべき命令列を選択し、
選択された命令列に関して、複数の仮想CPUに対して、それぞれ異なる最適化レベルで最適化処理をするよう指示し、
前記仮想CPUによる最適化処理が終了した時点で、その最適化済命令列に関する情報を、元になった変換済命令列と対応付けて命令列対応管理部に書き込むことを特徴とするCPUエミュレーション方法。 - 更に、命令列実行処理が行われる時に、前記命令列対応管理部を参照することで、最も最適化レベルが高い命令列を選択して実行することを特徴とする請求項11に記載のCPUエミュレーション方法。
- 前記最適化済命令列に関する情報を書き込む時に、前記最適化済命令列に適用された最適化レベルに関する情報も書き込むことを特徴とする請求項11または12に記載のCPUエミュレーション方法。
- 最適化すべき命令列を選択する命令列を選択する処理と、
それぞれ異なる物理CPUで動作する複数の仮想CPUの利用率をもとに、選択された命令列の最適化処理を行う前記仮想CPUを選択する処理と、
選択された前記仮想CPUで実行する最適化処理の最適化レベルを決定した上で選択された前記仮想CPUに対して最適化処理を指示する処理をコンピュータに実行させることを特徴とするCPUエミュレーションプログラム。 - 更に、選択された前記仮想CPUの利用率と単位時間をもとに、最適化処理のために掛けられる許容時間を計算する処理と、
最適化レベルごとに最適化処理に掛かる時間を記憶している最適化処理時間管理部を参照することで、指示された命令列の最適化処理に掛かる時間を最適化レベルごとに算出する処理をコンピュータに実行させることを特徴とする請求項14に記載のCPUエミュレーションプログラム。 - 前記最適化処理時間管理部に格納されている最適化レベルごとの命令列サイズあたりの処理時間をもとに、指示された命令列の最適化処理に掛かる時間を最適化レベルごとに算出する処理をコンピュータに実行させることを特徴とする請求項15に記載のCPUエミュレーションプログラム。
- 最適化すべき命令列を選択する処理と、
選択された命令列に関して、複数の仮想CPUに対して、それぞれ異なる最適化レベルで最適化処理をするよう指示する処理と、
前記仮想CPUによる最適化処理が終了した時点で、その最適化済命令列に関する情報を、元になった変換済命令列と対応付けて命令列対応管理部に書き込む処理をコンピュータに実行させることを特徴とするCPUエミュレーションプログラム。 - 更に、命令列実行処理が行われる時に、前記命令列対応管理部を参照することで、最も最適化レベルが高い命令列を選択して実行する処理をコンピュータに実行させることを特徴とする請求項17に記載のCPUエミュレーションプログラム。
- 更に、前記最適化済命令列に関する情報を書き込む時に、前記最適化済命令列に適用された最適化レベルに関する情報も書き込む処理をコンピュータに実行させることを特徴とする請求項17または18に記載のCPUエミュレーションプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008277098A JP5093509B2 (ja) | 2008-10-28 | 2008-10-28 | Cpuエミュレーションシステム、cpuエミュレーション方法及びcpuエミュレーションプログラム |
US12/607,479 US8355901B2 (en) | 2008-10-28 | 2009-10-28 | CPU emulation system, CPU emulation method, and recording medium having a CPU emulation program recorded thereon |
US13/740,469 US20130132062A1 (en) | 2008-10-28 | 2013-01-14 | Cpu emulation system, cpu emulation method, and recording medium having a cpu emulation program recorded thereon |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008277098A JP5093509B2 (ja) | 2008-10-28 | 2008-10-28 | Cpuエミュレーションシステム、cpuエミュレーション方法及びcpuエミュレーションプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010108086A true JP2010108086A (ja) | 2010-05-13 |
JP5093509B2 JP5093509B2 (ja) | 2012-12-12 |
Family
ID=42118345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008277098A Expired - Fee Related JP5093509B2 (ja) | 2008-10-28 | 2008-10-28 | Cpuエミュレーションシステム、cpuエミュレーション方法及びcpuエミュレーションプログラム |
Country Status (2)
Country | Link |
---|---|
US (2) | US8355901B2 (ja) |
JP (1) | JP5093509B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9538493B2 (en) | 2010-08-23 | 2017-01-03 | Finetrak, Llc | Locating a mobile station and applications therefor |
CN102364455B (zh) * | 2011-10-31 | 2013-10-23 | 杭州华三通信技术有限公司 | 一种级联多核cpu间vcpu均衡分担控制方法及其装置 |
US9202056B2 (en) * | 2013-03-15 | 2015-12-01 | Intel Corporation | Inter-processor attestation hardware |
KR102033434B1 (ko) | 2014-01-28 | 2019-10-17 | 한국전자통신연구원 | 동적 컨텍스트 스위칭 기반 멀티코어 에뮬레이션 장치 및 방법 |
US10635465B2 (en) * | 2015-03-28 | 2020-04-28 | Intel Corporation | Apparatuses and methods to prevent execution of a modified instruction |
US9335982B1 (en) | 2015-04-28 | 2016-05-10 | Microsoft Technology Licensing, Llc | Processor emulation using multiple translations |
JP6365454B2 (ja) * | 2015-08-03 | 2018-08-01 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
KR102457183B1 (ko) | 2016-01-05 | 2022-10-21 | 한국전자통신연구원 | 공유 번역 블록 캐시 기반의 멀티-코어 시뮬레이션 시스템 및 방법 |
US20190163642A1 (en) | 2017-11-27 | 2019-05-30 | Intel Corporation | Management of the untranslated to translated code steering logic in a dynamic binary translation based processor |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05134883A (ja) * | 1991-11-08 | 1993-06-01 | Fujitsu Ltd | 分散コンパイル処理方式 |
JPH11237989A (ja) * | 1997-10-06 | 1999-08-31 | Sun Microsyst Inc | 休止中にバイトコード最適化を実行する方法及び装置 |
JP2001142718A (ja) * | 1999-11-18 | 2001-05-25 | Fujitsu Ltd | プログラム実行装置 |
JP2002312180A (ja) * | 2001-04-11 | 2002-10-25 | Hitachi Ltd | 動的命令変換機能を有するプロセッサシステム、該プロセッサシステムを備えたコンピュータにて実行されるバイナリートランスレーションプログラム及びそのプロセッサシステムを実装した半導体デバイス |
JP2004110824A (ja) * | 2002-09-17 | 2004-04-08 | Internatl Business Mach Corp <Ibm> | マルチプロセッシング環境における透過動的最適化のための方法およびシステム |
JP2007213490A (ja) * | 2006-02-13 | 2007-08-23 | Fujitsu Ltd | アプリケーションサーバシステムおよび仮想マシンプログラム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5179702A (en) * | 1989-12-29 | 1993-01-12 | Supercomputer Systems Limited Partnership | System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling |
US6164841A (en) * | 1998-05-04 | 2000-12-26 | Hewlett-Packard Company | Method, apparatus, and product for dynamic software code translation system |
US20030022395A1 (en) * | 2001-07-17 | 2003-01-30 | Thoughtbeam, Inc. | Structure and method for fabricating an integrated phased array circuit |
US7953588B2 (en) * | 2002-09-17 | 2011-05-31 | International Business Machines Corporation | Method and system for efficient emulation of multiprocessor address translation on a multiprocessor host |
US9020801B2 (en) * | 2003-08-11 | 2015-04-28 | Scalemp Inc. | Cluster-based operating system-agnostic virtual computing system |
US7898545B1 (en) * | 2004-12-14 | 2011-03-01 | Nvidia Corporation | Apparatus, system, and method for integrated heterogeneous processors |
US7734895B1 (en) * | 2005-04-28 | 2010-06-08 | Massachusetts Institute Of Technology | Configuring sets of processor cores for processing instructions |
US8429630B2 (en) * | 2005-09-15 | 2013-04-23 | Ca, Inc. | Globally distributed utility computing cloud |
US8108863B2 (en) * | 2005-12-30 | 2012-01-31 | Intel Corporation | Load balancing for multi-threaded applications via asymmetric power throttling |
US7802073B1 (en) * | 2006-03-29 | 2010-09-21 | Oracle America, Inc. | Virtual core management |
US8560591B2 (en) * | 2007-04-25 | 2013-10-15 | International Business Machines Corporation | Detection of potential need to use a larger data format in performing floating point operations |
EP2075696A3 (en) * | 2007-05-10 | 2010-01-27 | Texas Instruments Incorporated | Interrupt- related circuits, systems and processes |
-
2008
- 2008-10-28 JP JP2008277098A patent/JP5093509B2/ja not_active Expired - Fee Related
-
2009
- 2009-10-28 US US12/607,479 patent/US8355901B2/en active Active
-
2013
- 2013-01-14 US US13/740,469 patent/US20130132062A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05134883A (ja) * | 1991-11-08 | 1993-06-01 | Fujitsu Ltd | 分散コンパイル処理方式 |
JPH11237989A (ja) * | 1997-10-06 | 1999-08-31 | Sun Microsyst Inc | 休止中にバイトコード最適化を実行する方法及び装置 |
JP2001142718A (ja) * | 1999-11-18 | 2001-05-25 | Fujitsu Ltd | プログラム実行装置 |
JP2002312180A (ja) * | 2001-04-11 | 2002-10-25 | Hitachi Ltd | 動的命令変換機能を有するプロセッサシステム、該プロセッサシステムを備えたコンピュータにて実行されるバイナリートランスレーションプログラム及びそのプロセッサシステムを実装した半導体デバイス |
JP2004110824A (ja) * | 2002-09-17 | 2004-04-08 | Internatl Business Mach Corp <Ibm> | マルチプロセッシング環境における透過動的最適化のための方法およびシステム |
JP2007213490A (ja) * | 2006-02-13 | 2007-08-23 | Fujitsu Ltd | アプリケーションサーバシステムおよび仮想マシンプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20130132062A1 (en) | 2013-05-23 |
JP5093509B2 (ja) | 2012-12-12 |
US8355901B2 (en) | 2013-01-15 |
US20100106479A1 (en) | 2010-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5093509B2 (ja) | Cpuエミュレーションシステム、cpuエミュレーション方法及びcpuエミュレーションプログラム | |
US9619298B2 (en) | Scheduling computing tasks for multi-processor systems based on resource requirements | |
JP2006048164A (ja) | 情報処理装置およびソフトウェアプリフェッチ制御方法 | |
JP5776688B2 (ja) | 情報処理装置及びタスク切り替え方法 | |
JP2009157684A (ja) | 仮想化プログラム、シミュレーション装置、仮想化方法 | |
JP5391422B2 (ja) | メモリ管理方法、計算機システム及びプログラム | |
WO2018179873A1 (ja) | アクセラレータを有する計算機のためのライブラリ、およびアクセラレータ | |
US10402510B2 (en) | Calculating device, calculation method, and calculation program | |
JP2009080583A (ja) | 情報処理装置、並列処理最適化方法およびプログラム | |
CN114168202A (zh) | 指令调度方法、指令调度装置、处理器及存储介质 | |
US20160196156A1 (en) | Simulation apparatus, simulation method, and computer product | |
JP2008276547A (ja) | プログラム処理方法及び情報処理装置 | |
JP5195408B2 (ja) | マルチコアシステム | |
JP5278538B2 (ja) | コンパイルシステム、コンパイル方法およびコンパイルプログラム | |
JP2014191663A (ja) | 演算処理装置、情報処理装置、および演算処理装置の制御方法 | |
JP5238876B2 (ja) | 情報処理装置及び情報処理方法 | |
US8984263B2 (en) | Information processing device and emulation processing program and method | |
JP5540799B2 (ja) | データ入出力制御方法,データ入出力制御プログラムおよびデータ入出力制御装置 | |
JP6488962B2 (ja) | キャッシュ制御装置、キャッシュ制御方法およびキャッシュ制御プログラム | |
JP5240200B2 (ja) | データ処理装置および方法 | |
US8732721B2 (en) | Method for reducing trap overhead when executing a guest in a virtual machine | |
WO2018168264A1 (ja) | 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム | |
JP2011081623A (ja) | シミュレーション装置、方法およびプログラム | |
WO2019188182A1 (ja) | プリフェッチコントローラ | |
JP2011008617A (ja) | マルチスレッド実行装置、オブジェクトプログラムの生成方法、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110902 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120724 |
|
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: 20120822 |
|
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: 20120904 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5093509 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150928 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |