JP2004110809A - マルチプロセッサ・ホスト・システム上でのマルチプロセッサ・エミュレーションのための方法およびシステム - Google Patents
マルチプロセッサ・ホスト・システム上でのマルチプロセッサ・エミュレーションのための方法およびシステム Download PDFInfo
- Publication number
- JP2004110809A JP2004110809A JP2003300612A JP2003300612A JP2004110809A JP 2004110809 A JP2004110809 A JP 2004110809A JP 2003300612 A JP2003300612 A JP 2003300612A JP 2003300612 A JP2003300612 A JP 2003300612A JP 2004110809 A JP2004110809 A JP 2004110809A
- Authority
- JP
- Japan
- Prior art keywords
- thread
- host
- threads
- processor
- target
- 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.)
- Pending
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/45537—Provision of facilities of other operating environments, e.g. WINE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/483—Multiproc
Abstract
【解決手段】 第2の命令セット・アーキテクチャの命令を処理するように設計された複数のプロセッサを有するホスト・コンピューティング・システム上でターゲット命令セット・アーキテクチャ用に作成されたマルチプロセッサ・プログラムを実行するための方法(およびシステム)は、ターゲット・コンピューティング・システムの1つのプロセッサ上で動作するように設計されたプログラムの各部分を、ホスト・コンピューティング・システム上で実行すべき1つまたは複数のプログラム・スレッドとして表現するステップを含む。
【選択図】 図11
Description
ターゲット・コンピューティング・システムの1つのプロセッサ上で動作するように設計された前記プログラムの各部分を、前記ホスト・コンピューティング・システム上で実行すべき1つまたは複数のプログラム・スレッドとして表現するステップを具備する方法。
(2)前記ホスト・システム内の1つまたは複数のプロセッサ上で実行するために各スレッドをスケジューリングするステップをさらに具備する、上記(1)に記載の方法。
(3)前記ターゲット・システムの1つのプロセッサに固有ではない前記ターゲット・システムの機能を、前記ホスト・システム上の1つまたは複数のプロセッサによって実行すべき1つまたは複数のスレッドとして表現するステップをさらに具備する、上記(1)に記載の方法。
(4)前記ターゲット・システムの1つのプロセッサに固有ではない前記ターゲット・システムの機能を、前記ホスト・システム上の1つまたは複数のプロセッサによって実行すべき1つまたは複数のスレッドとして表現するステップをさらに具備する、上記(2)に記載の方法。
(5)スレッドの数が前記ホスト・システム内のプロセッサの数を超える、上記(1)に記載の方法。
(6)所与の命令グループが所定の回数解釈された後、前記命令グループを前記第1の命令セットから前記第2の命令セットに変換する、上記(1)に記載の方法。
(7)前記解釈プロセスがマルチプロセッサ・システム内のスレッドとして実行される、上記(6)に記載の方法。
(8)所与の時点における前記プロセッサの複数の機能が複数スレッドとして表現される、上記(1)に記載の方法。
(9)動的にスレッドを作成するステップをさらに具備する、上記(1)に記載の方法。
(10)同時に、第1のスレッドの変換を識別し、第2のスレッドを実行するステップをさらに具備する、上記(1)に記載の方法。
(11)同時に、第1のスレッドを変換し、第2のスレッドを実行するステップをさらに具備する、上記(1)に記載の方法。
(12)前記スレッドから前記プロセッサへの多対多のマッピングが実行される、上記(1)に記載の方法。
(13)エミュレーション・スレッドを実行中にホスト・アプリケーション・スレッドが動作している、上記(1)に記載の方法。
(14)マルチプロセッサ・システムのエミュレーションの方法において、
ターゲット・システムの各部分を、ホスト・システム上で実行するためのスレッドとして表現するステップと、
前記ホスト・システム上で実行するために前記スレッドのそれぞれをスケジューリングするステップとを具備する方法。
(15)マルチプロセッサ・システムのエミュレーションの方法において、
ターゲット・システムのハードウェア・リソースをソフトウェア・スレッドにマッピングするステップと、
前記ソフトウェア・スレッドをホスト・システムのハードウェア・リソースにマッピングするステップと、
前記ターゲット・システムの状態情報を前記ホスト・システムのメモリにマッピングするステップと、
エミュレーション・タスクをより多数のスレッドに区分化することによりエミュレーションのパフォーマンスを改善するステップとを具備する方法。
(16)マルチプロセッサ・システムのエミュレーションのためのシステムにおいて、
ターゲット・システムのハードウェア・リソースをソフトウェア・スレッドにマッピングするための手段と、
前記ソフトウェア・スレッドをホスト・システムのハードウェア・リソースにマッピングするための手段と、
前記ターゲット・システムの状態情報を前記ホスト・システムのメモリにマッピングするための手段と、
エミュレーション・タスクをより多数のスレッドに区分化することによりエミュレーションのパフォーマンスを改善するための手段とを具備するシステム。
(17)第2の命令セット・アーキテクチャの命令を処理するように設計された複数のプロセッサを有するホスト・コンピューティング・システム上でターゲット命令セット・アーキテクチャ用に作成されたプログラムを実行するためのシステムにおいて、
前記ターゲット・コンピューティング・システムの1つのプロセッサ上で動作するように設計された前記プログラムの各部分を、前記ホスト・コンピューティング・システム上で実行すべき1つまたは複数のプログラム・スレッドとして表現するための表現ユニットを具備するシステム。
(18)マルチプロセッサ・システム用のエミュレーションのためのシステムにおいて、
ターゲット・システムのハードウェア・リソースをソフトウェア・スレッドにマッピングするための第1のマッピング・モジュールと、
前記ソフトウェア・スレッドをホスト・システムのハードウェア・リソースにマッピングするための第2のマッピング・モジュールと、
前記ターゲット・システムの状態情報を前記ホスト・システムのメモリにマッピングするための第3のマッピング・モジュールと、
エミュレーション・タスクをより多数のスレッドに区分化するための区分化モジュールとを具備するシステム。
(19)マルチプロセッサ・システムのホスト・コンピューティング・システム用のスレッド処理構造において、
スレッドを保持するためのスレッド・プールと、
前記ホスト・コンピューティング・システムのメモリにアクセスし、前記スレッド・プール内のどのスレッドをエミュレーションのために選択すべきかを決定するためのスレッド・プロセッサと、
新しいスレッドを作成し、前記新しいスレッドを前記スレッド・プールに入れるためのスレッド・クリエータと、
前記スレッド・プールに保持された前記スレッドをスケジューリングするためのスレッド・スケジューラであって、待機スレッドを走査し、優先順位の順序で次のスレッドを前記マルチプロセッサ・システムの使用可能プロセッサに割り振るスレッド・スケジューラとを具備するスレッド処理構造。
(20)第2の命令セット・アーキテクチャの命令を処理するように設計された複数のプロセッサを有するホスト・コンピューティング・システム上でターゲット命令セット・アーキテクチャ用に作成されたプログラムを実行する方法を実行するためにディジタル処理装置により実行可能な複数の機械可読命令からなるプログラムを具体的に実施する信号運搬媒体において、前記方法が、
ターゲット・コンピューティング・システムの1つのプロセッサ上で動作するように設計された前記プログラムの各部分を、前記ホスト・コンピューティング・システム上で実行すべき1つまたは複数のプログラム・スレッドとして表現するステップを具備する信号運搬媒体。
130 メモリ階層
140、730 I/Oプロセッサ
320 コヒーレント・バス
330 ホスト・メモリ階層
340 ホストI/Oプロセッサ
400 ホスト仮想メモリ
410 共用リソース
420 プロセッサ・ローカル・リソース
430 I/Oローカル・リソース
440 エミュレーション・プログラム・メモリ
510 スレッド・プロセッサ
520 スレッド・クリエータ
530 スレッド・プール
540、920、1020、1320 スレッド・スケジューラ
610 スレッド固有メモリ
740、840 I/Oスレッド
750、850 システム・スレッド
910、1010、 1310 ホスト・プロセッサ・クラスタ
930、1030、1330 エミュレーション・スレッド・クラスタ
1040 ホスト・アプリケーション・スレッド
1110、1175 変換テーブル
1190 変換プール
1210 変換プール・マネージャ
1220 変換スレッド・スケジューラ
1240 変換キャッシュ
Claims (20)
- 第2の命令セット・アーキテクチャの命令を処理するように設計された複数のプロセッサを有するホスト・コンピューティング・システム上でターゲット命令セット・アーキテクチャ用に作成されたプログラムを実行する方法において、
ターゲット・コンピューティング・システムの1つのプロセッサ上で動作するように設計された前記プログラムの各部分を、前記ホスト・コンピューティング・システム上で実行すべき1つまたは複数のプログラム・スレッドとして表現するステップを具備する方法。 - 前記ホスト・システム内の1つまたは複数のプロセッサ上で実行するために各スレッドをスケジューリングするステップをさらに具備する、請求項1に記載の方法。
- 前記ターゲット・システムの1つのプロセッサに固有ではない前記ターゲット・システムの機能を、前記ホスト・システム上の1つまたは複数のプロセッサによって実行すべき1つまたは複数のスレッドとして表現するステップをさらに具備する、請求項1に記載の方法。
- 前記ターゲット・システムの1つのプロセッサに固有ではない前記ターゲット・システムの機能を、前記ホスト・システム上の1つまたは複数のプロセッサによって実行すべき1つまたは複数のスレッドとして表現するステップをさらに具備する、請求項2に記載の方法。
- スレッドの数が前記ホスト・システム内のプロセッサの数を超える、請求項1に記載の方法。
- 所与の命令グループが所定の回数解釈された後、前記命令グループを前記第1の命令セットから前記第2の命令セットに変換する、請求項1に記載の方法。
- 前記解釈プロセスがマルチプロセッサ・システム内のスレッドとして実行される、請求項6に記載の方法。
- 所与の時点における前記プロセッサの複数の機能が複数スレッドとして表現される、請求項1に記載の方法。
- 動的にスレッドを作成するステップをさらに具備する、請求項1に記載の方法。
- 同時に、第1のスレッドの変換を識別し、第2のスレッドを実行するステップをさらに具備する、請求項1に記載の方法。
- 同時に、第1のスレッドを変換し、第2のスレッドを実行するステップをさらに具備する、請求項1に記載の方法。
- 前記スレッドから前記プロセッサへの多対多のマッピングが実行される、請求項1に記載の方法。
- エミュレーション・スレッドを実行中にホスト・アプリケーション・スレッドが動作している、請求項1に記載の方法。
- マルチプロセッサ・システムのエミュレーションの方法において、
ターゲット・システムの各部分を、ホスト・システム上で実行するためのスレッドとして表現するステップと、
前記ホスト・システム上で実行するために前記スレッドのそれぞれをスケジューリングするステップとを具備する方法。 - マルチプロセッサ・システムのエミュレーションの方法において、
ターゲット・システムのハードウェア・リソースをソフトウェア・スレッドにマッピングするステップと、
前記ソフトウェア・スレッドをホスト・システムのハードウェア・リソースにマッピングするステップと、
前記ターゲット・システムの状態情報を前記ホスト・システムのメモリにマッピングするステップと、
エミュレーション・タスクをより多数のスレッドに区分化することによりエミュレーションのパフォーマンスを改善するステップとを具備する方法。 - マルチプロセッサ・システムのエミュレーションのためのシステムにおいて、
ターゲット・システムのハードウェア・リソースをソフトウェア・スレッドにマッピングするための手段と、
前記ソフトウェア・スレッドをホスト・システムのハードウェア・リソースにマッピングするための手段と、
前記ターゲット・システムの状態情報を前記ホスト・システムのメモリにマッピングするための手段と、
エミュレーション・タスクをより多数のスレッドに区分化することによりエミュレーションのパフォーマンスを改善するための手段とを具備するシステム。 - 第2の命令セット・アーキテクチャの命令を処理するように設計された複数のプロセッサを有するホスト・コンピューティング・システム上でターゲット命令セット・アーキテクチャ用に作成されたプログラムを実行するためのシステムにおいて、
前記ターゲット・コンピューティング・システムの1つのプロセッサ上で動作するように設計された前記プログラムの各部分を、前記ホスト・コンピューティング・システム上で実行すべき1つまたは複数のプログラム・スレッドとして表現するための表現ユニットを具備するシステム。 - マルチプロセッサ・システム用のエミュレーションのためのシステムにおいて、
ターゲット・システムのハードウェア・リソースをソフトウェア・スレッドにマッピングするための第1のマッピング・モジュールと、
前記ソフトウェア・スレッドをホスト・システムのハードウェア・リソースにマッピングするための第2のマッピング・モジュールと、
前記ターゲット・システムの状態情報を前記ホスト・システムのメモリにマッピングするための第3のマッピング・モジュールと、
エミュレーション・タスクをより多数のスレッドに区分化するための区分化モジュールとを具備するシステム。 - マルチプロセッサ・システムのホスト・コンピューティング・システム用のスレッド処理構造において、
スレッドを保持するためのスレッド・プールと、
前記ホスト・コンピューティング・システムのメモリにアクセスし、前記スレッド・プール内のどのスレッドをエミュレーションのために選択すべきかを決定するためのスレッド・プロセッサと、
新しいスレッドを作成し、前記新しいスレッドを前記スレッド・プールに入れるためのスレッド・クリエータと、
前記スレッド・プールに保持された前記スレッドをスケジューリングするためのスレッド・スケジューラであって、待機スレッドを走査し、優先順位の順序で次のスレッドを前記マルチプロセッサ・システムの使用可能プロセッサに割り振るスレッド・スケジューラとを具備するスレッド処理構造。 - 第2の命令セット・アーキテクチャの命令を処理するように設計された複数のプロセッサを有するホスト・コンピューティング・システム上でターゲット命令セット・アーキテクチャ用に作成されたプログラムを実行する方法を実行するためにディジタル処理装置により実行可能な複数の機械可読命令からなるプログラムを具体的に実施する信号運搬媒体において、前記方法が、
ターゲット・コンピューティング・システムの1つのプロセッサ上で動作するように設計された前記プログラムの各部分を、前記ホスト・コンピューティング・システム上で実行すべき1つまたは複数のプログラム・スレッドとして表現するステップを具備する信号運搬媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/244,414 US7496494B2 (en) | 2002-09-17 | 2002-09-17 | Method and system for multiprocessor emulation on a multiprocessor host system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004110809A true JP2004110809A (ja) | 2004-04-08 |
Family
ID=31991892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003300612A Pending JP2004110809A (ja) | 2002-09-17 | 2003-08-25 | マルチプロセッサ・ホスト・システム上でのマルチプロセッサ・エミュレーションのための方法およびシステム |
Country Status (3)
Country | Link |
---|---|
US (2) | US7496494B2 (ja) |
JP (1) | JP2004110809A (ja) |
CN (1) | CN1278224C (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006221643A (ja) * | 2005-02-08 | 2006-08-24 | Sony Computer Entertainment Inc | 命令セットのエミュレーションのための方法、装置及びシステム |
JP2008040540A (ja) * | 2006-08-01 | 2008-02-21 | Nec Corp | エミュレーション装置及びエミュレーション方法 |
JP2009527836A (ja) * | 2006-02-21 | 2009-07-30 | 株式会社ソニー・コンピュータエンタテインメント | データ処理 |
JP2014194770A (ja) * | 2013-03-16 | 2014-10-09 | Intel Corp | 命令エミュレーションプロセッサ、方法、およびシステム |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9020801B2 (en) | 2003-08-11 | 2015-04-28 | Scalemp Inc. | Cluster-based operating system-agnostic virtual computing system |
US7669203B2 (en) * | 2003-12-19 | 2010-02-23 | Intel Corporation | Virtual multithreading translation mechanism including retrofit capability |
WO2005089239A2 (en) | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method of providing a self-optimizing reservation in space of compute resources |
WO2006053093A2 (en) | 2004-11-08 | 2006-05-18 | Cluster Resources, Inc. | System and method of providing system jobs within a compute environment |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
GB2424727B (en) | 2005-03-30 | 2007-08-01 | Transitive Ltd | Preparing instruction groups for a processor having a multiple issue ports |
WO2006103395A1 (en) * | 2005-03-30 | 2006-10-05 | Transitive Limited | Preparing instruction groups in a processor having multiple issue ports |
CA2603577A1 (en) | 2005-04-07 | 2006-10-12 | Cluster Resources, Inc. | On-demand access to compute resources |
GB2427045B (en) * | 2005-06-06 | 2007-11-21 | Transitive Ltd | Method and apparatus for converting program code with access coordination for a shared resource |
US20060294401A1 (en) * | 2005-06-24 | 2006-12-28 | Dell Products L.P. | Power management of multiple processors |
US7870307B2 (en) * | 2006-01-30 | 2011-01-11 | Sony Computer Entertainment Inc. | DMA and graphics interface emulation |
US9378108B2 (en) | 2007-03-22 | 2016-06-28 | Invention Science Fund I, Llc | Implementing performance-dependent transfer or execution decisions from service emulation indications |
US8874425B2 (en) | 2007-03-22 | 2014-10-28 | The Invention Science Fund I, Llc | Implementing performance-dependent transfer or execution decisions from service emulation indications |
US8495708B2 (en) * | 2007-03-22 | 2013-07-23 | The Invention Science Fund I, Llc | Resource authorizations dependent on emulation environment isolation policies |
US20080235001A1 (en) * | 2007-03-22 | 2008-09-25 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Implementing emulation decisions in response to software evaluations or the like |
US8438609B2 (en) | 2007-03-22 | 2013-05-07 | The Invention Science Fund I, Llc | Resource authorizations dependent on emulation environment isolation policies |
US9558019B2 (en) | 2007-03-22 | 2017-01-31 | Invention Science Fund I, Llc | Coordinating instances of a thread or other service in emulation |
US20080244538A1 (en) * | 2007-03-26 | 2008-10-02 | Nair Sreekumar R | Multi-core processor virtualization based on dynamic binary translation |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US20120317377A1 (en) * | 2011-06-09 | 2012-12-13 | Alexander Palay | Dual flash translation layer |
US10437602B2 (en) | 2012-06-15 | 2019-10-08 | International Business Machines Corporation | Program interruption filtering in transactional execution |
US20130339680A1 (en) | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Nontransactional store instruction |
US9448796B2 (en) | 2012-06-15 | 2016-09-20 | International Business Machines Corporation | Restricted instructions in transactional execution |
US9361115B2 (en) | 2012-06-15 | 2016-06-07 | International Business Machines Corporation | Saving/restoring selected registers in transactional processing |
US9336046B2 (en) | 2012-06-15 | 2016-05-10 | International Business Machines Corporation | Transaction abort processing |
US9384004B2 (en) | 2012-06-15 | 2016-07-05 | International Business Machines Corporation | Randomized testing within transactional execution |
US8688661B2 (en) | 2012-06-15 | 2014-04-01 | International Business Machines Corporation | Transactional processing |
US9740549B2 (en) | 2012-06-15 | 2017-08-22 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
US9348642B2 (en) | 2012-06-15 | 2016-05-24 | International Business Machines Corporation | Transaction begin/end instructions |
US9436477B2 (en) | 2012-06-15 | 2016-09-06 | International Business Machines Corporation | Transaction abort instruction |
US8682877B2 (en) | 2012-06-15 | 2014-03-25 | International Business Machines Corporation | Constrained transaction execution |
US9317460B2 (en) | 2012-06-15 | 2016-04-19 | International Business Machines Corporation | Program event recording within a transactional environment |
US9772854B2 (en) | 2012-06-15 | 2017-09-26 | International Business Machines Corporation | Selectively controlling instruction execution in transactional processing |
US9367323B2 (en) | 2012-06-15 | 2016-06-14 | International Business Machines Corporation | Processor assist facility |
US9442737B2 (en) | 2012-06-15 | 2016-09-13 | International Business Machines Corporation | Restricting processing within a processor to facilitate transaction completion |
US10311014B2 (en) * | 2012-12-28 | 2019-06-04 | Iii Holdings 2, Llc | System, method and computer readable medium for offloaded computation of distributed application protocols within a cluster of data processing nodes |
CN103336684B (zh) * | 2013-07-18 | 2016-08-10 | 上海寰创通信科技股份有限公司 | 一种并发处理ap消息的ac及其处理方法 |
US9251088B2 (en) | 2013-10-30 | 2016-02-02 | Globalfoundries Inc. | Mechanisms for eliminating a race condition between a hypervisor-performed emulation process requiring a translation operation and a concurrent translation table entry invalidation |
CN107408052B (zh) * | 2015-04-10 | 2021-04-16 | 谷歌有限责任公司 | 共享对象层级上的二进制转换的方法、系统和介质 |
DE112015006438T5 (de) * | 2015-04-10 | 2018-01-04 | Google Inc. | Binäre Übersetzung in nativen Client |
US10176001B2 (en) * | 2015-05-28 | 2019-01-08 | Mitsubishi Electric Corporation | Simulation device, simulation method, and computer readable medium |
DE102016203283A1 (de) * | 2016-02-29 | 2017-08-31 | Robert Bosch Gmbh | Verfahren zum Betreiben eines Mikroprozessors |
WO2018006928A1 (en) * | 2016-07-04 | 2018-01-11 | Huawei Technologies Co., Ltd. | Techniques for performance evaluation of an electronic hardware design on a computer simulation server |
CN113760512B (zh) * | 2021-09-08 | 2023-07-11 | 北京世冠金洋科技发展有限公司 | 仿真模型的执行方法及装置、存储介质及电子设备 |
Family Cites Families (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4392196A (en) * | 1980-08-11 | 1983-07-05 | Harris Corporation | Multi-processor time alignment control system |
JPS59167756A (ja) | 1983-01-31 | 1984-09-21 | Nec Corp | 仮想計算機のデイスパツチ制御方式 |
US4564903A (en) * | 1983-10-05 | 1986-01-14 | International Business Machines Corporation | Partitioned multiprocessor programming system |
JPH0814795B2 (ja) | 1986-01-14 | 1996-02-14 | 株式会社日立製作所 | マルチプロセッサ仮想計算機システム |
JPS63226740A (ja) | 1986-12-08 | 1988-09-21 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | マルチプロセツサ・コンピユータ・システムの並列シミユレーシヨン方法 |
US5055999A (en) * | 1987-12-22 | 1991-10-08 | Kendall Square Research Corporation | Multiprocessor digital data processing system |
US6920416B1 (en) * | 1989-08-28 | 2005-07-19 | Texas Instruments Incorporated | Electronic systems testing employing embedded serial scan generator |
US5307477A (en) * | 1989-12-01 | 1994-04-26 | Mips Computer Systems, Inc. | Two-level cache memory system |
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 |
JP2839201B2 (ja) * | 1990-07-30 | 1998-12-16 | 株式会社日立製作所 | 仮想計算機システム |
EP0550286A3 (en) * | 1992-01-03 | 1993-11-03 | Amdahl Corp | 2-level multi-processor synchronization protocol |
US5675762A (en) * | 1992-04-03 | 1997-10-07 | International Business Machines Corporation | System for locking down part of portion of memory and updating page directory with entry corresponding to part of portion of the memory locked down |
JPH0784883A (ja) * | 1993-09-17 | 1995-03-31 | Hitachi Ltd | 仮想計算機システムのアドレス変換バッファパージ方法 |
US5392408A (en) * | 1993-09-20 | 1995-02-21 | Apple Computer, Inc. | Address selective emulation routine pointer address mapping system |
US5983012A (en) * | 1993-09-28 | 1999-11-09 | Bull Hn Information Systems Inc. | Executing programs of a first system on a second system |
US5581705A (en) | 1993-12-13 | 1996-12-03 | Cray Research, Inc. | Messaging facility with hardware tail pointer and software implemented head pointer message queue for distributed memory massively parallel processing system |
US5481684A (en) * | 1994-01-11 | 1996-01-02 | Exponential Technology, Inc. | Emulating operating system calls in an alternate instruction set using a modified code segment descriptor |
US5440710A (en) * | 1994-03-08 | 1995-08-08 | Exponential Technology, Inc. | Emulation of segment bounds checking using paging with sub-page validity |
US5692193A (en) | 1994-03-31 | 1997-11-25 | Nec Research Institute, Inc. | Software architecture for control of highly parallel computer systems |
US5574922A (en) * | 1994-06-17 | 1996-11-12 | Apple Computer, Inc. | Processor with sequences of processor instructions for locked memory updates |
US5699538A (en) | 1994-12-09 | 1997-12-16 | International Business Machines Corporation | Efficient firm consistency support mechanisms in an out-of-order execution superscaler multiprocessor |
US5692153A (en) | 1995-03-16 | 1997-11-25 | International Business Machines Corporation | Method and system for verifying execution order within a multiprocessor data processing system |
US5655100A (en) * | 1995-03-31 | 1997-08-05 | Sun Microsystems, Inc. | Transaction activation processor for controlling memory transaction execution in a packet switched cache coherent multiprocessor system |
US5751982A (en) * | 1995-03-31 | 1998-05-12 | Apple Computer, Inc. | Software emulation system with dynamic translation of emulated instructions for increased processing speed |
US5619665A (en) * | 1995-04-13 | 1997-04-08 | Intrnational Business Machines Corporation | Method and apparatus for the transparent emulation of an existing instruction-set architecture by an arbitrary underlying instruction-set architecture |
US5678032A (en) * | 1995-09-06 | 1997-10-14 | Bull Hn Information Systems Inc. | Method of optimizing the execution of program instuctions by an emulator using a plurality of execution units |
US6047323A (en) * | 1995-10-19 | 2000-04-04 | Hewlett-Packard Company | Creation and migration of distributed streams in clusters of networked computers |
US6091897A (en) * | 1996-01-29 | 2000-07-18 | Digital Equipment Corporation | Fast translation and execution of a computer program on a non-native architecture by use of background translator |
US5768593A (en) * | 1996-03-22 | 1998-06-16 | Connectix Corporation | Dynamic cross-compilation system and method |
US6031992A (en) | 1996-07-05 | 2000-02-29 | Transmeta Corporation | Combining hardware and software to provide an improved microprocessor |
US5761734A (en) * | 1996-08-13 | 1998-06-02 | International Business Machines Corporation | Token-based serialisation of instructions in a multiprocessor system |
US5832205A (en) * | 1996-08-20 | 1998-11-03 | Transmeta Corporation | Memory controller for a microprocessor for detecting a failure of speculation on the physical nature of a component being addressed |
JP3022398B2 (ja) | 1997-05-09 | 2000-03-21 | 日本電気株式会社 | 仮想計算機方式 |
US6075938A (en) * | 1997-06-10 | 2000-06-13 | The Board Of Trustees Of The Leland Stanford Junior University | Virtual machine monitors for scalable multiprocessors |
US6134515A (en) * | 1997-06-13 | 2000-10-17 | Telefonaktiebolaget Lm Ericsson | Controlling a first type telecommunications switch upon translating instructions for a second type telecommunications switch |
JP3675623B2 (ja) | 1997-10-31 | 2005-07-27 | 株式会社東芝 | プログラム開発支援装置及び方法並びにプログラム開発支援用ソフトウェアを記録した記録媒体 |
US6381682B2 (en) * | 1998-06-10 | 2002-04-30 | Compaq Information Technologies Group, L.P. | Method and apparatus for dynamically sharing memory in a multiprocessor system |
KR20010041297A (ko) | 1998-02-26 | 2001-05-15 | 케네쓰 올센 | 원격 프로세스의 중단과 연속 방법 및 장치 |
US6289419B1 (en) * | 1998-03-06 | 2001-09-11 | Sharp Kabushiki Kaisha | Consistency control device merging updated memory blocks |
JPH11259437A (ja) | 1998-03-12 | 1999-09-24 | Hitachi Ltd | 不要バリア命令の削減方式 |
US6075937A (en) * | 1998-03-18 | 2000-06-13 | International Business Machines Corporation | Preprocessing of stored target routines for controlling emulation of incompatible instructions on a target processor and utilizing target processor feedback for controlling non-sequential incompatible instruction emulation |
US6189141B1 (en) * | 1998-05-04 | 2001-02-13 | Hewlett-Packard Company | Control path evaluating trace designator with dynamically adjustable thresholds for activation of tracing for high (hot) activity and low (cold) activity of flow control |
US6240490B1 (en) * | 1998-07-20 | 2001-05-29 | International Business Machines Corporation | Comprehensive multilevel cache preloading mechanism in a multiprocessing simulation environment |
US6158049A (en) * | 1998-08-11 | 2000-12-05 | Compaq Computer Corporation | User transparent mechanism for profile feedback optimization |
US6289369B1 (en) * | 1998-08-25 | 2001-09-11 | International Business Machines Corporation | Affinity, locality, and load balancing in scheduling user program-level threads for execution by a computer system |
US6738974B1 (en) * | 1998-09-10 | 2004-05-18 | International Business Machines Corporation | Apparatus and method for system resource object deallocation in a multi-threaded environment |
US6430657B1 (en) * | 1998-10-12 | 2002-08-06 | Institute For The Development Of Emerging Architecture L.L.C. | Computer system that provides atomicity by using a tlb to indicate whether an exportable instruction should be executed using cache coherency or by exporting the exportable instruction, and emulates instructions specifying a bus lock |
US6463582B1 (en) * | 1998-10-21 | 2002-10-08 | Fujitsu Limited | Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method |
EP0997815A3 (en) * | 1998-10-29 | 2004-05-26 | Texas Instruments Incorporated | Interactive translation system and method |
US6351844B1 (en) * | 1998-11-05 | 2002-02-26 | Hewlett-Packard Company | Method for selecting active code traces for translation in a caching dynamic translator |
US6339752B1 (en) * | 1998-12-15 | 2002-01-15 | Bull Hn Information Systems Inc. | Processor emulation instruction counter virtual memory address translation |
JP3604029B2 (ja) | 1999-01-12 | 2004-12-22 | 日本電気株式会社 | マルチスレッドプロセッサ |
US6763452B1 (en) * | 1999-01-28 | 2004-07-13 | Ati International Srl | Modifying program execution based on profiling |
JP4072271B2 (ja) | 1999-02-19 | 2008-04-09 | 株式会社日立製作所 | 複数のオペレーティングシステムを実行する計算機 |
US6341371B1 (en) * | 1999-02-23 | 2002-01-22 | International Business Machines Corporation | System and method for optimizing program execution in a computer system |
US6470492B2 (en) * | 1999-05-14 | 2002-10-22 | Hewlett-Packard Company | Low overhead speculative selection of hot traces in a caching dynamic translator |
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 |
US6263302B1 (en) | 1999-10-29 | 2001-07-17 | Vast Systems Technology Corporation | Hardware and software co-simulation including simulating the cache of a target processor |
US6986128B2 (en) | 2000-01-07 | 2006-01-10 | Sony Computer Entertainment Inc. | Multiple stage program recompiler and method |
JP2001249824A (ja) * | 2000-03-02 | 2001-09-14 | Hitachi Ltd | 論理エミュレーションプロセッサおよびそのモジュールユニット |
US6978233B1 (en) * | 2000-03-03 | 2005-12-20 | Unisys Corporation | Method for emulating multi-processor environment |
US6539464B1 (en) * | 2000-04-08 | 2003-03-25 | Radoslav Nenkov Getov | Memory allocator for multithread environment |
US6480845B1 (en) * | 2000-06-14 | 2002-11-12 | Bull Hn Information Systems Inc. | Method and data processing system for emulating virtual memory working spaces |
US6763328B1 (en) * | 2000-06-15 | 2004-07-13 | Bull Hn Information Systems Inc. | Method and data processing system for emulating virtual memory utilizing threads |
US6931636B2 (en) * | 2000-08-08 | 2005-08-16 | Texas Instruments Incorporated | Multiprocessor emulation support using dynamic linking |
US6501992B1 (en) * | 2000-10-17 | 2002-12-31 | Medtronic, Inc. | Radiopaque marking of lead electrode zone in a continuous conductor construction |
US6993754B2 (en) * | 2001-11-13 | 2006-01-31 | Hewlett-Packard Development Company, L.P. | Annotations to executable images for improved dynamic optimization functions |
US6728846B2 (en) * | 2000-12-22 | 2004-04-27 | Bull Hn Information Systems Inc. | Method and data processing system for performing atomic multiple word writes |
JP2002312180A (ja) * | 2001-04-11 | 2002-10-25 | Hitachi Ltd | 動的命令変換機能を有するプロセッサシステム、該プロセッサシステムを備えたコンピュータにて実行されるバイナリートランスレーションプログラム及びそのプロセッサシステムを実装した半導体デバイス |
US7047521B2 (en) * | 2001-06-07 | 2006-05-16 | Lynoxworks, Inc. | Dynamic instrumentation event trace system and methods |
US6915513B2 (en) * | 2001-11-29 | 2005-07-05 | Hewlett-Packard Development Company, L.P. | System and method for dynamically replacing code |
US6961806B1 (en) * | 2001-12-10 | 2005-11-01 | Vmware, Inc. | System and method for detecting access to shared structures and for maintaining coherence of derived structures in virtualized multiprocessor systems |
US20030171907A1 (en) * | 2002-03-06 | 2003-09-11 | Shay Gal-On | Methods and Apparatus for Optimizing Applications on Configurable Processors |
-
2002
- 2002-09-17 US US10/244,414 patent/US7496494B2/en not_active Expired - Fee Related
-
2003
- 2003-08-25 JP JP2003300612A patent/JP2004110809A/ja active Pending
- 2003-09-17 CN CN03156991.9A patent/CN1278224C/zh not_active Expired - Fee Related
-
2009
- 2009-02-19 US US12/388,728 patent/US7844446B2/en not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006221643A (ja) * | 2005-02-08 | 2006-08-24 | Sony Computer Entertainment Inc | 命令セットのエミュレーションのための方法、装置及びシステム |
JP4645973B2 (ja) * | 2005-02-08 | 2011-03-09 | 株式会社ソニー・コンピュータエンタテインメント | 命令セットのエミュレーションのための方法、装置及びシステム |
JP2009527836A (ja) * | 2006-02-21 | 2009-07-30 | 株式会社ソニー・コンピュータエンタテインメント | データ処理 |
JP2011227908A (ja) * | 2006-02-21 | 2011-11-10 | Sony Computer Entertainment Inc | データ処理 |
JP2008040540A (ja) * | 2006-08-01 | 2008-02-21 | Nec Corp | エミュレーション装置及びエミュレーション方法 |
JP2014194770A (ja) * | 2013-03-16 | 2014-10-09 | Intel Corp | 命令エミュレーションプロセッサ、方法、およびシステム |
US9703562B2 (en) | 2013-03-16 | 2017-07-11 | Intel Corporation | Instruction emulation processors, methods, and systems |
Also Published As
Publication number | Publication date |
---|---|
CN1278224C (zh) | 2006-10-04 |
US7496494B2 (en) | 2009-02-24 |
US20040054517A1 (en) | 2004-03-18 |
US7844446B2 (en) | 2010-11-30 |
US20090157377A1 (en) | 2009-06-18 |
CN1490717A (zh) | 2004-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004110809A (ja) | マルチプロセッサ・ホスト・システム上でのマルチプロセッサ・エミュレーションのための方法およびシステム | |
EP2143001B1 (en) | Master and subordinate operating system kernels for heterogeneous multiprocessor systems | |
US9495136B2 (en) | Using aliasing information for dynamic binary optimization | |
JP5934094B2 (ja) | データ並列スレッドを有する処理論理の複数のプロセッサにわたるマッピング | |
US8205200B2 (en) | Compiler-based scheduling optimization hints for user-level threads | |
KR101673435B1 (ko) | 공동 설계 프로세서에서 격리된 실행 환경의 생성 | |
US8453132B2 (en) | System and method for recompiling code based on locality domain and thread affinity in NUMA computer systems | |
JP2013524386A (ja) | ランスペース方法、システムおよび装置 | |
Veselý et al. | Generic system calls for GPUs | |
Wang et al. | Enabling cross-isa offloading for cots binaries | |
US11188364B1 (en) | Compilation strategy for a sharable application snapshot | |
Jones et al. | Programming issues raised by a multiprocessor | |
Lankes et al. | A low noise unikernel for extrem-scale systems | |
Chaudhary et al. | Techniques for migrating computations on the grid | |
Kirov et al. | Feature selection for predicting live migration characteristics of virtual machines | |
US20130263157A1 (en) | Method to utilize cores in different operating system partitions | |
Schildermans et al. | Towards high-level software approaches to reduce virtualization overhead for parallel applications | |
Lankes et al. | HermitCore | |
KR101433644B1 (ko) | Arm 기반 운영체제의 가상화를 위한 정책 제공 시스템 및 방법 | |
Chen et al. | CRState: checkpoint/restart of OpenCL program for in-kernel applications | |
Mehrab | Cross-ISA Execution Migration of Unikernels: Build Toolchain, Memory Alignment, and VM State Transfer Techniques | |
Wang et al. | Self-boosted co-scheduling for SMP virtual machines | |
Wozniak et al. | Challenges and opportunities for dataflow processing on exascale computers | |
Hale et al. | The Case for an Interwoven Parallel Hardware/Software Stack | |
Yoshii et al. | Extending and benchmarking the" Big Memory" implementation on Blue Gene/P Linux |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060904 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060912 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061117 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20061117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20061117 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070425 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070531 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070622 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20091216 |