JP3938580B2 - 情報処理装置、情報処理方法、半導体装置、コンピュータプログラム - Google Patents
情報処理装置、情報処理方法、半導体装置、コンピュータプログラム Download PDFInfo
- Publication number
- JP3938580B2 JP3938580B2 JP2004369637A JP2004369637A JP3938580B2 JP 3938580 B2 JP3938580 B2 JP 3938580B2 JP 2004369637 A JP2004369637 A JP 2004369637A JP 2004369637 A JP2004369637 A JP 2004369637A JP 3938580 B2 JP3938580 B2 JP 3938580B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- processing
- instruction
- predetermined
- emulation
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 44
- 239000004065 semiconductor Substances 0.000 title claims description 9
- 238000004590 computer program Methods 0.000 title claims description 7
- 238000003672 processing method Methods 0.000 title claims description 4
- 238000000034 method Methods 0.000 claims description 141
- 230000004044 response Effects 0.000 claims description 16
- 230000000694 effects Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 4
- 230000002093 peripheral effect Effects 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
- G06F8/54—Link editing before load time
-
- 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/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
-
- 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
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)
- Executing Machine-Instructions (AREA)
Description
テーブルを書き換え可能にすると、第1プロセッサとの関係で処理の割り振りを変えることができ、第1プロセッサ及び第2プロセッサの処理を最適化することができる。
この方法は、前記第1プロセッサが、前記所定の命令に応じて前記第2プロセッサに前記所定の処理の実行を指示する段階と、前記第2プロセッサが、前記第1プロセッサから指示された前記所定の処理が前記第2プロセッサで実行可能であるか否かを判断する段階と、前記第2プロセッサで実行可能である場合には、前記所定の処理を実行する段階と、前記第2プロセッサで実行不可能である場合には、その旨を前記第1プロセッサに通知する段階と、前記第1プロセッサが、前記第2プロセッサから前記所定の処理を実行不可能である旨の前記通知を受け取ると当該処理を実行する段階と、を含む。
図1は、本実施形態の情報処理装置の構成図である。
この情報処理装置は、ホストプロセッサ1及びコプロセッサ2を有し情報処理装置内の他の構成要素の動作を制御するためのプロセッサ3と、キーボード、マウス等の入力装置との間のインタフェースを制御して、入力装置からの入力データを受け付けるための入力インタフェース4と、ディスプレイ、スピーカ等の出力装置との間のインタフェースを制御して、処理結果等の出力データを出力装置から出力させるための出力インタフェース5と、情報処理装置による処理の実行の際に用いられる各種データ、命令が記憶されるRAM(Random Access Memory)6と、BIOS等の基本プログラム、エミュレーションを行うためのプログラム等が記憶されるROM(Read Only Memory)7と、を備えている。各構成要素は、バスBを介してデータの送受信が可能に接続されている。
入力部10はバスBに接続されており、バスBを介してRAM6、ROM7等の他の構成要素からデータ、命令、プログラム等を取得するようになっている。
処理部11は、入力部10により取得されたデータ、命令、プログラム等に応じた処理を実行するようになっている。特に処理部11は、ホストプロセッサ側でエミュレーションによる処理を実行する際に、ターゲットプロセッサ命令に応じた処理を実行するように構成されている。
そのためにホストプロセッサ1は、コプロセッサ2に、所定の時間内にエミュレーションにより実行すべき処理の数を所要時間で表した値(以下、「設定値」という。)を設定する。コプロセッサインタフェース部12から、この設定値を含むデータ(以下、「タイミングデータ」という。)をコプロセッサ2に送ることで、コプロセッサ2に設定値が設定される。タイミングデータを入力し、コプロセッサ2からエミュレーションの終了の通知を受けるまでの時間が、コプロセッサ2によるエミュレーションにかかった実際の時間になる。
ターゲットプロセッサ命令デコーダ211は、このデコード結果値を実行命令テーブル22と比較することで、当該命令が、ターゲットプロセッサパイプライン21で実行可能な処理を指示している否かを判断し、その判断結果をパイプラインコントローラ23に通知する。また、デコード結果値はパイプラインコントローラ23を介して、あるいは直接クロックカウンタ25に送られる。
パイプラインコントローラ23は、コプロセッサ命令デコーダ201からエミュレーションを行う旨の通知があると、ターゲットプロセッサパイプライン21のターゲットプロセッサ命令デコーダ211に対して、エミュレーションの実行を指示する。これにより、ターゲットプロセッサパイプライン21は、エミュレータとして機能するようになる。エミュレーションを除く他の処理を行う旨の通知があると、コプロセッサパイプライン20のコプロセッサ命令デコーダ201に対して、当該処理の実行を指示する。
また、パイプラインコントローラ23は、ターゲットプロセッサ命令デコーダ211からターゲットプロセッサパイプライン21で実行可能な処理か否かの判断結果の通知を受け取ると、その通知に応じた状態データをホストプロセッサ1に送る。ホストプロセッサ1は、状態データにより、ターゲットプロセッサ命令をコプロセッサ2が実行できるか否かを知ることができる。
クロックカウンタ25には、ホストプロセッサ1からのタイミングデータにより、設定値が設定される。クロックカウンタ25は、例えば、パイプラインコントローラ23を介して得たデコード結果値と実行クロックテーブル24とから、デコード結果値に対応する処理をターゲットプロセッサが実行した場合に要する所要時間を得る。或いは、クロックカウンタは、ターゲットプロセッサ命令デコーダ211から直接、当該所要時間を得る。クロックカウンタ25は、設定値から、実行クロックテーブル24から得られた所要時間を順次減算して、所定の所要時間が「0」または負になった場合に、このことをパイプラインコントローラ23を介してホストプロセッサ1に通知する。
ホストプロセッサ1は、タイミングデータの出力から、クロックカウンタ25からの通知までの時間を測定することで、実際のコプロセッサ2によるエミュレーション時間を知ることができる。
ホストプロセッサ1は、コプロセッサ2に対して、コプロセッサ命令が終了するたびに次のコプロセッサ命令を一つずつ送るようにしてもよい。例えば、ホストプロセッサ1は、パイプラインコントローラ23からコプロセッサ命令の終了が通知されるのを待って、次のコプロセッサ命令をコプロセッサ2に送る。
また、ターゲットプロセッサパイプライン21によりエミュレーションが行われているときに、ホストプロセッサ1は、次のコプロセッサ命令をコプロセッサ2に送るようにしてもよい。コプロセッサ2は、コプロセッサ命令のデコードをエミュレーションとは別に行うことができるために、このタイミングでコプロセッサ命令が送られても問題なく処理が可能である。
10 入力部
11 処理部
12 コプロセッサインタフェース部
13 出力部
14 制御部
15 レジスタ
2 コプロセッサ
20 コプロセッサパイプライン
201 コプロセッサ命令デコーダ
202 データ取得部
203 データ処理部
204 データ書込部
21 ターゲットプロセッサパイプライン
211 ターゲットプロセッサ命令デコーダ
212 データ読出部
213 データ処理部
214 データ書込部
22 実行命令テーブル
23 パイプラインコントローラ
24 実行クロックテーブル
25 クロックカウンタ
26 レジスタ
3 プロセッサ
4 入力インタフェース
5 出力インタフェース
6 RAM
7 ROM
B バス
Claims (14)
- 所定の命令及び前記所定の命令に応じた処理に用いられるデータを取り込む第1プロセッサと、前記第1プロセッサからの指示により所定の処理を実行する第2プロセッサと、を備え、前記第1プロセッサによる処理の実行及びエミュレーションの実行を含む前記第2プロセッサによる処理の実行のいずれかを指示する前記所定の命令、及び、前記所定の命令が前記第1プロセッサによる処理の実行または前記第2プロセッサによるエミュレーションを除く処理の実行を指示するものである場合に、これらの処理に用いられるものであるとともに、前記所定の命令が前記エミュレーションの実行を指示するものである場合に、当該エミュレーションにより実行される処理を指示する前記データ、による処理を前記第1プロセッサと前記第2プロセッサとにより協働で実行する情報処理装置であり、
前記第1プロセッサは、
前記所定の命令に応じた処理を実行可能な第1処理手段と、
前記所定の命令が前記第2プロセッサで処理すべき命令であるか否かを判断して、前記所定の命令が前記第1プロセッサによる処理の実行を指示するものである場合に前記第1処理手段にこの命令に応じた処理を前記データを用いて実行させ、前記所定の命令が前記第2プロセッサによる処理の実行を指示するものである場合に前記第2プロセッサに前記所定の命令及び前記データを送ることで前記第2プロセッサに前記所定の処理の実行を指示する制御手段と、を備えており、
前記第2プロセッサは、
前記第1プロセッサの前記制御手段から送られる前記所定の命令がエミュレーションの実行を指示する場合に、前記第2プロセッサで当該エミュレーションにより前記データが指示する処理を実行可能であるか否かを判断して、実行不可能である場合に、その旨を前記第1プロセッサに通知する判断手段と、
前記第2プロセッサで当該エミュレーションにより前記データが指示する処理が実行可能である場合に、前記エミュレーションにより当該処理を実行する第2処理手段と、
前記第1プロセッサの前記制御手段から送られる前記所定の命令が、前記第2プロセッサによるエミュレーションを除く処理の実行を指示する場合に、この命令に応じた処理を前記データを用いて実行する第3処理手段と、備えており、
前記第1プロセッサの前記制御手段は、前記第2プロセッサの前記判断手段から前記通知があると、前記第1処理手段に、前記エミュレーションにより前記データが指示する前記処理を実行させるように構成されている、
情報処理装置。 - 前記第2プロセッサは、前記第2プロセッサで実行可能な処理を表すテーブルを保持しており、
前記判断手段は、このテーブルを参照することで、前記第1プロセッサから指示された前記所定の処理が前記第2プロセッサで実行可能か否かを判断するように構成されている、
請求項1記載の情報処理装置。 - 前記第1プロセッサは、所定の時間間隔で、所定の時間内にエミュレーションにより実行すべき処理の数を所要時間で表した設定値を、前記第2プロセッサに設定するように構成されており、
前記第2プロセッサは、
前記第2処理手段がエミュレーションにより実行可能な処理を、当該処理を本来実行するターゲットプロセッサが実行した場合に要する所要時間を表す実行クロックテーブルと、
前記第2処理手段で前記エミュレーションにより実行する処理の所要時間を前記実行クロックテーブルから読み出して、前記第1プロセッサにより設定された前記設定値から順次減算し、減算結果が0以下になった場合に、その旨を前記第1プロセッサに通知するクロックカウンタと、を更に備えており、
前記第1プロセッサは、前記設定値を前記第2プロセッサに設定してから、前記クロックカウンタから通知を受けるまでの時間を計測して、前記第2プロセッサによるエミュレーションの処理時間を測定するように構成されている、
請求項2記載の情報処理装置。 - 前記第2プロセッサの前記判断手段は、
前記第2プロセッサで当該エミュレーションにより前記データが指示する処理が実行不可能である場合に、前記データが指示する処理に関する情報を、前記通知とともに送る、
請求項1記載の情報処理装置。 - 所定の命令を取り込む第1プロセッサと、前記第1プロセッサからの指示により所定の処理を実行する第2プロセッサと、を備えており、
前記第1プロセッサは、
前記所定の命令に応じて前記第2プロセッサに前記所定の処理の実行を指示するとともに、所定の時間間隔で、所定の時間内にエミュレーションにより実行すべき処理の数を所要時間で表した設定値を前記第2プロセッサに設定するように構成されており、
前記第2プロセッサは、
前記第2プロセッサで実行可能な処理を表すテーブルを参照することで、前記第1プロセッサから指示された前記所定の処理が実行可能であるか否かを判断して、実行不可能である場合に、その旨を前記第1プロセッサに通知する判断手段と、
実行可能である場合に、前記所定の処理を実行する第2処理手段と、
前記第2処理手段がエミュレーションにより実行可能な処理を本来実行するターゲットプロセッサが実行した場合に要する所要時間を表す実行クロックテーブルと、
前記第2処理手段で前記エミュレーションにより実行する処理の所要時間を前記実行クロックテーブルから読み出して、前記第1プロセッサにより設定された前記設定値から順次減算し、減算結果が0以下になった場合に、その旨を前記第1プロセッサに通知するクロックカウンタと、を有し、
前記第1プロセッサは、前記設定値を前記第2プロセッサに設定して前記クロックカウンタから減算結果が0以下になった旨の通知を受けるまでの時間を計測して、前記第2プロセッサによるエミュレーションの処理時間を測定するとともに、前記第2プロセッサの前記判断手段から前記所定の処理が実行不可能である旨の通知があると当該所定の処理を実行するように構成されており、
前記第1プロセッサと前記第2プロセッサとにより協働で前記所定の命令に応じた処理を実行するように構成されている、
情報処理装置。 - 前記第1プロセッサは、
前記所定の命令に応じた処理を実行可能な第1処理手段と、
前記所定の命令が前記第2プロセッサで処理すべき命令であるか否かを判断して、前記所定の命令が前記第2プロセッサで処理すべき命令でない場合に、前記第1処理手段にこの命令に応じた処理を実行させるとともに、前記所定の命令が前記第2プロセッサで処理すべき命令である場合に、前記第2プロセッサに前記所定の処理の実行を指示する制御手段と、を備えており、
前記制御手段は、前記第2プロセッサから前記通知があると、前記第1処理手段に、前記所定の処理を実行させるように構成されている、
請求項5記載の情報処理装置。 - 前記第2プロセッサは、前記第1プロセッサのコプロセッサであり、前記第1プロセッサと前記第2プロセッサとはコプロセッサ接続されている、
請求項1乃至6のいずれかに記載の情報処理装置。 - 所定の命令及び前記所定の命令に応じた処理に用いられるデータを取り込む第1プロセッサと、前記第1プロセッサからの指示により所定の処理を実行する第2プロセッサとを備え、前記第1プロセッサによる処理の実行及びエミュレーションの実行を含む前記第2プロセッサによる処理の実行のいずれかを指示する前記所定の命令、及び、前記所定の命令が前記第1プロセッサによる処理の実行または前記第2プロセッサによるエミュレーションを除く処理の実行を指示するものである場合に、これらの処理に用いられるものであるとともに、前記所定の命令が前記エミュレーションの実行を指示するものである場合に、当該エミュレーションにより実行される処理を指示する前記データ、による処理を前記第1プロセッサ及び前記第2プロセッサにより協働して実行する情報処理装置により実行される方法であって、
前記第1プロセッサが、
前記所定の命令が前記第2プロセッサで処理すべき命令であるか否かを判断する段階と、
前記所定の命令が前記第1プロセッサによる処理の実行を指示するものである場合に、前記第1処理手段にこの命令に応じた処理を前記データを用いて実行させる段階と、
前記所定の命令が前記第2プロセッサによる処理の実行を指示するものである場合に、前記第2プロセッサに前記所定の命令及び前記データを送ることで前記第2プロセッサに前記所定の処理の実行を指示する段階と、
前記第2プロセッサが、
前記第1プロセッサから送られる前記所定の命令が、第2プロセッサによるエミュレーションの実行を指示するか否かを判断する段階と、
前記第1プロセッサから送られる前記所定の命令が、第2プロセッサによるエミュレーションの実行を指示する場合に、前記第2プロセッサで当該エミュレーションにより前記データが指示する処理を実行可能であるか否かを判断する段階と、
前記第2プロセッサで当該エミュレーションにより前記データが指示する処理が実行不可能である場合に、その旨を前記第1プロセッサに通知する段階と、
前記第2プロセッサで当該エミュレーションにより前記データが指示する処理が実行可能である場合に、前記エミュレーションにより当該処理を実行する段階と、
前記第1プロセッサから送られる前記所定の命令が、前記第2プロセッサによるエミュレーションを除く処理の実行を指示する場合に、この命令に応じた処理を前記データを用いて実行する段階と、
前記第1プロセッサが、
前記第2プロセッサから、当該第2プロセッサで前記エミュレーションにより前記データが指示する処理が実行不可能である旨の前記通知を受け取ると、前記エミュレーションにより前記データが指示する前記処理を実行する段階と、を含む、
情報処理方法。 - 所定の命令を取り込む第1プロセッサと、前記第1プロセッサからの指示により所定の処理を実行する第2プロセッサとを備え、前記第1プロセッサ及び前記第2プロセッサにより協働して前記命令に応じた処理を実行する情報処理装置により実行される方法であって、
前記第1プロセッサが、
前記所定の命令に応じて前記第2プロセッサに前記所定の処理の実行を指示するとともに、所定の時間間隔で、所定の時間内にエミュレーションにより実行すべき処理の数を所要時間で表した設定値を前記第2プロセッサに設定する段階と、
前記第2プロセッサが、
前記第2プロセッサで実行可能な処理を表すテーブルを参照することで、前記第1プロセッサから指示された前記所定の処理が実行可能であるか否かを判断する段階と、
前記所定の処理が前記第2プロセッサで実行不可能である場合に、その旨を前記第1プロセッサに通知する段階と、
前記所定の処理が前記第2プロセッサで実行可能である場合に、前記所定の処理を実行する段階と、
前記第2プロセッサでエミュレーションにより実行可能な処理を本来実行するターゲットプロセッサが実行した場合に要する所要時間を表す実行クロックテーブルから、前記第2処理手段で前記エミュレーションにより実行する処理の所要時間を読み出して、前記第1プロセッサにより設定された前記設定値から順次減算し、減算結果が0以下になった場合に、その旨を前記第1プロセッサに通知する段階と、
前記第1プロセッサが、
前記設定値を前記第2プロセッサに設定して前記第2プロセッサから減算結果が0以下になった旨の通知を受けるまでの時間を計測して、前記第2プロセッサによるエミュレーションの処理時間を測定する段階と、
前記第2プロセッサから、前記所定の処理が実行不可能である旨の通知があると当該所定の処理を実行する段階と、を含む、
情報処理方法。 - 所定の命令及び前記所定の命令に応じた処理に用いられるデータを取り込む第1プロセッサと、前記第1プロセッサからの指示により所定の処理を実行する第2プロセッサと、を備え、前記第1プロセッサによる処理の実行及びエミュレーションの実行を含む前記第2プロセッサによる処理の実行のいずれかを指示する前記所定の命令、及び、前記所定の命令が前記第1プロセッサによる処理の実行または前記第2プロセッサによるエミュレーションを除く処理の実行を指示するものである場合に、これらの処理に用いられるものであるとともに、前記所定の命令が前記エミュレーションの実行を指示するものである場合に、当該エミュレーションにより実行される処理を指示する前記データ、による処理を前記第1プロセッサと前記第2プロセッサとにより協働で実行する半導体装置であり、
前記第1プロセッサは、
前記所定の命令に応じた処理を実行可能な第1処理手段と、
前記所定の命令が前記第2プロセッサで処理すべき命令であるか否かを判断して、前記所定の命令が前記第1プロセッサによる処理の実行を指示するものである場合に前記第1処理手段にこの命令に応じた処理を前記データを用いて実行させ、前記所定の命令が前記第2プロセッサによる処理の実行を指示するものである場合に前記第2プロセッサに前記所定の命令及び前記データを送ることで前記第2プロセッサに前記所定の処理の実行を指示する制御手段と、を備えており、
前記第2プロセッサは、
前記第1プロセッサの前記制御手段から送られる前記所定の命令がエミュレーションの実行を指示する場合に、前記第2プロセッサで当該エミュレーションにより前記データが指示する処理を実行可能であるか否かを判断して、実行不可能である場合に、その旨を前記第1プロセッサに通知する判断手段と、
前記第2プロセッサで当該エミュレーションにより前記データが指示する処理が実行可能である場合に、前記エミュレーションにより当該処理を実行する第2処理手段と、
前記第1プロセッサの前記制御手段から送られる前記所定の命令が、前記第2プロセッサによるエミュレーションを除く処理の実行を指示する場合に、この命令に応じた処理を前記データを用いて実行する第3処理手段と、備えており、
前記第1プロセッサの前記制御手段は、前記第2プロセッサの前記判断手段から前記通知があると、前記第1処理手段に、前記エミュレーションにより前記データが指示する前記処理を実行させるように構成されている、
半導体装置。 - 所定の命令を取り込む第1プロセッサと、前記第1プロセッサからの指示により所定の処理を実行する第2プロセッサと、を備えており、
前記第1プロセッサは、
前記所定の命令に応じて前記第2プロセッサに前記所定の処理の実行を指示するとともに、所定の時間間隔で、所定の時間内にエミュレーションにより実行すべき処理の数を所要時間で表した設定値を前記第2プロセッサに設定するように構成されており、
前記第2プロセッサは、
前記第2プロセッサで実行可能な処理を表すテーブルを参照することで、前記第1プロセッサから指示された前記所定の処理が実行可能であるか否かを判断して、実行不可能である場合に、その旨を前記第1プロセッサに通知する判断手段と、
実行可能である場合に、前記所定の処理を実行する第2処理手段と、
前記第2処理手段がエミュレーションにより実行可能な処理を本来実行するターゲットプロセッサが実行した場合に要する所要時間を表す実行クロックテーブルと、
前記第2処理手段で前記エミュレーションにより実行する処理の所要時間を前記実行クロックテーブルから読み出して、前記第1プロセッサにより設定された前記設定値から順次減算し、減算結果が0以下になった場合に、その旨を前記第1プロセッサに通知するクロックカウンタと、を有し、
前記第1プロセッサは、前記設定値を前記第2プロセッサに設定して前記クロックカウンタから減算結果が0以下になった旨の通知を受けるまでの時間を計測して、前記第2プロセッサによるエミュレーションの処理時間を測定するとともに、前記第2プロセッサの前記判断手段から前記所定の処理が実行不可能である旨の通知があると当該所定の処理を実行するように構成されており、
前記第1プロセッサと前記第2プロセッサとにより協働で前記所定の命令に応じた処理を実行するように構成されている、
半導体装置。 - 所定の命令及び前記所定の命令に応じた処理に用いられるデータを取り込む第1プロセッサと、前記第1プロセッサからの指示により所定の処理を実行する第2プロセッサとを備え、前記第1プロセッサによる処理の実行及びエミュレーションの実行を含む前記第2プロセッサによる処理の実行のいずれかを指示する前記所定の命令、及び、前記所定の命令が前記第1プロセッサによる処理の実行または前記第2プロセッサによるエミュレーションを除く処理の実行を指示するものである場合に、これらの処理に用いられるものであるとともに、前記所定の命令が前記エミュレーションの実行を指示するものである場合に、当該エミュレーションにより実行される処理を指示する前記データ、による処理を前記第1プロセッサ及び前記第2プロセッサにより協働して実行するコンピュータシステムに、
前記第1プロセッサが、
前記所定の命令が前記第2プロセッサで処理すべき命令であるか否かを判断する処理、
前記所定の命令が前記第1プロセッサによる処理の実行を指示するものである場合に、前記第1処理手段にこの命令に応じた処理を前記データを用いて実行させる処理、
前記所定の命令が前記第2プロセッサによる処理の実行を指示するものである場合に、前記第2プロセッサに前記所定の命令及び前記データを送ることで前記第2プロセッサに前記所定の処理の実行を指示する処理、
前記第2プロセッサが、
前記第1プロセッサから送られる前記所定の命令が、第2プロセッサによるエミュレーションの実行を指示するか否かを判断する処理、
前記第1プロセッサから送られる前記所定の命令が、第2プロセッサによるエミュレーションの実行を指示する場合に、前記第2プロセッサで当該エミュレーションにより前記データが指示する処理を実行可能であるか否かを判断する処理、
前記第2プロセッサで当該エミュレーションにより前記データが指示する処理が実行不可能である場合に、その旨を前記第1プロセッサに通知する処理、
前記第2プロセッサで当該エミュレーションにより前記データが指示する処理が実行可能である場合に、前記エミュレーションにより当該処理を実行する処理、
前記第1プロセッサから送られる前記所定の命令が、前記第2プロセッサによるエミュレーションを除く処理の実行を指示する場合に、この命令に応じた処理を前記データを用いて実行する処理、
前記第1プロセッサが、
前記第2プロセッサから、当該第2プロセッサで前記エミュレーションにより前記データが指示する処理が実行不可能である旨の前記通知を受け取ると、前記エミュレーションにより前記データが指示する前記処理を実行する処理、
を実行させるためのコンピュータプログラム。 - 所定の命令を取り込む第1プロセッサと、前記第1プロセッサからの指示により所定の処理を実行する第2プロセッサとを備え、前記第1プロセッサ及び前記第2プロセッサにより協働して前記命令に応じた処理を実行するコンピュータシステムに、
前記第1プロセッサが、
前記所定の命令に応じて前記第2プロセッサに前記所定の処理の実行を指示するとともに、所定の時間間隔で、所定の時間内にエミュレーションにより実行すべき処理の数を所要時間で表した設定値を前記第2プロセッサに設定する処理、
前記第2プロセッサが、
前記第2プロセッサで実行可能な処理を表すテーブルを参照することで、前記第1プロセッサから指示された前記所定の処理が実行可能であるか否かを判断する処理、
前記所定の処理が前記第2プロセッサで実行不可能である場合に、その旨を前記第1プロセッサに通知する処理、
前記所定の処理が前記第2プロセッサで実行可能である場合に、前記所定の処理を実行する処理、
前記第2プロセッサでエミュレーションにより実行可能な処理を本来実行するターゲットプロセッサが実行した場合に要する所要時間を表す実行クロックテーブルから、前記第2処理手段で前記エミュレーションにより実行する処理の所要時間を読み出して、前記第1プロセッサにより設定された前記設定値から順次減算し、減算結果が0以下になった場合に、その旨を前記第1プロセッサに通知する処理、
前記第1プロセッサが、
前記設定値を前記第2プロセッサに設定して前記第2プロセッサから減算結果が0以下になった旨の通知を受けるまでの時間を計測して、前記第2プロセッサによるエミュレーションの処理時間を測定する処理と、
前記第2プロセッサから、前記所定の処理が実行不可能である旨の通知があると当該所定の処理を実行する処理、
を実行させるためのコンピュータプログラム。 - 請求項12または請求項13に記載のコンピュータプログラムが記録された、コンピュータ読み取り可能な記録媒体。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004369637A JP3938580B2 (ja) | 2004-12-21 | 2004-12-21 | 情報処理装置、情報処理方法、半導体装置、コンピュータプログラム |
US11/305,114 US7818162B2 (en) | 2004-12-21 | 2005-12-19 | Information processing device, information processing method, semiconductor device, and computer program for executing instructions by using a plurality of processors |
DE602005019019T DE602005019019D1 (de) | 2004-12-21 | 2005-12-19 | Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren, Halbleiterbauelement und Computerprogramm |
EP05027750A EP1674989B1 (en) | 2004-12-21 | 2005-12-19 | Information processing device, information processing method, semiconductor device, and computer program |
CNA2005101338073A CN1794168A (zh) | 2004-12-21 | 2005-12-21 | 信息处理设备、信息处理方法、半导体器件及计算机程序 |
KR1020050126663A KR20060071344A (ko) | 2004-12-21 | 2005-12-21 | 정보처리장치, 정보처리방법, 반도체장치 및 컴퓨터프로그램 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004369637A JP3938580B2 (ja) | 2004-12-21 | 2004-12-21 | 情報処理装置、情報処理方法、半導体装置、コンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006178646A JP2006178646A (ja) | 2006-07-06 |
JP3938580B2 true JP3938580B2 (ja) | 2007-06-27 |
Family
ID=35583337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004369637A Active JP3938580B2 (ja) | 2004-12-21 | 2004-12-21 | 情報処理装置、情報処理方法、半導体装置、コンピュータプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US7818162B2 (ja) |
EP (1) | EP1674989B1 (ja) |
JP (1) | JP3938580B2 (ja) |
KR (1) | KR20060071344A (ja) |
CN (1) | CN1794168A (ja) |
DE (1) | DE602005019019D1 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7490223B2 (en) * | 2005-10-31 | 2009-02-10 | Sun Microsystems, Inc. | Dynamic resource allocation among master processors that require service from a coprocessor |
US7702885B2 (en) * | 2006-03-02 | 2010-04-20 | Atmel Corporation | Firmware extendable commands including a test mode command for a microcontroller-based flash memory controller |
KR20080048291A (ko) * | 2006-11-28 | 2008-06-02 | (주)엠텍소프트 | 복수의 프로세서를 포함하는 디지털 처리 장치 및 복수의프로세서의 연결 방법 |
US8433777B1 (en) | 2007-09-26 | 2013-04-30 | Emc Corporation | Communication with multiple storage processors via direct connections |
US8819104B1 (en) * | 2007-09-26 | 2014-08-26 | Emc Corporation | Communication with multiple storage processors using network infrastructure |
JPWO2012035699A1 (ja) * | 2010-09-15 | 2014-01-20 | 日本電気株式会社 | 情報処理装置、情報処理方法、設計支援システム、及びプログラム |
US9329870B2 (en) | 2013-02-13 | 2016-05-03 | International Business Machines Corporation | Extensible execution unit interface architecture with multiple decode logic and multiple execution units |
US9703562B2 (en) | 2013-03-16 | 2017-07-11 | Intel Corporation | Instruction emulation processors, methods, and systems |
US20140281398A1 (en) * | 2013-03-16 | 2014-09-18 | William C. Rash | Instruction emulation processors, methods, and systems |
CN103257885A (zh) * | 2013-05-20 | 2013-08-21 | 深圳市京华科讯科技有限公司 | 媒体虚拟化处理方法 |
CN103257884A (zh) * | 2013-05-20 | 2013-08-21 | 深圳市京华科讯科技有限公司 | 设备虚拟化处理方法 |
CN103281365B (zh) * | 2013-05-20 | 2016-12-28 | 深圳市京华科讯科技有限公司 | 分布式虚拟化架构 |
CN103309725A (zh) * | 2013-05-20 | 2013-09-18 | 深圳市京华科讯科技有限公司 | 网络虚拟化处理方法 |
JP6103541B2 (ja) | 2014-03-18 | 2017-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | バイナリコードの実行を制御する装置及び方法 |
WO2017009996A1 (ja) * | 2015-07-16 | 2017-01-19 | 三菱電機株式会社 | 情報処理装置、情報処理方法及びプログラム |
CN108647009A (zh) * | 2018-03-22 | 2018-10-12 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 区块链信息交互的装置、方法和存储介质 |
US10776125B2 (en) | 2018-12-05 | 2020-09-15 | Apple Inc. | Coprocessor memory ordering table |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4638427A (en) * | 1984-04-16 | 1987-01-20 | International Business Machines Corporation | Performance evaluation for an asymmetric multiprocessor system |
US5077657A (en) * | 1989-06-15 | 1991-12-31 | Unisys | Emulator Assist unit which forms addresses of user instruction operands in response to emulator assist unit commands from host processor |
US6018797A (en) * | 1996-12-09 | 2000-01-25 | Allen-Bradley Company, Llc | Integrated relay ladder language, reduced instruction set computer |
US6480952B2 (en) * | 1998-05-26 | 2002-11-12 | Advanced Micro Devices, Inc. | Emulation coprocessor |
US6247113B1 (en) * | 1998-05-27 | 2001-06-12 | Arm Limited | Coprocessor opcode division by data type |
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 |
US7222064B1 (en) * | 2003-10-10 | 2007-05-22 | Unisys Corporation | Instruction processor emulation having inter-processor messaging accounting |
US7200723B1 (en) * | 2004-08-06 | 2007-04-03 | Xilinx, Inc. | Access to a bank of registers of a device control register interface using a single address |
-
2004
- 2004-12-21 JP JP2004369637A patent/JP3938580B2/ja active Active
-
2005
- 2005-12-19 EP EP05027750A patent/EP1674989B1/en active Active
- 2005-12-19 DE DE602005019019T patent/DE602005019019D1/de active Active
- 2005-12-19 US US11/305,114 patent/US7818162B2/en active Active
- 2005-12-21 CN CNA2005101338073A patent/CN1794168A/zh active Pending
- 2005-12-21 KR KR1020050126663A patent/KR20060071344A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
US20060161420A1 (en) | 2006-07-20 |
US7818162B2 (en) | 2010-10-19 |
KR20060071344A (ko) | 2006-06-26 |
DE602005019019D1 (de) | 2010-03-11 |
EP1674989B1 (en) | 2010-01-20 |
CN1794168A (zh) | 2006-06-28 |
EP1674989A1 (en) | 2006-06-28 |
JP2006178646A (ja) | 2006-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7818162B2 (en) | Information processing device, information processing method, semiconductor device, and computer program for executing instructions by using a plurality of processors | |
US4879646A (en) | Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging | |
JP2003510682A5 (ja) | ||
KR20110070468A (ko) | 인스트루먼테이션 실행 장치 및 방법 | |
US7613912B2 (en) | System and method for simulating hardware interrupts | |
JPH01310441A (ja) | データ処理装置 | |
US10409602B2 (en) | Vector operand bitsize control | |
US6968410B2 (en) | Multi-threaded processing of system management interrupts | |
JP3892873B2 (ja) | プログラマブルコントローラ | |
JPWO2019092849A1 (ja) | シミュレーション装置、シミュレーション方法およびシミュレーションプログラム | |
JP2006048661A (ja) | プロセッサとコプロセッサとの間でのデータ転送を制御する演算処理装置 | |
JPH03271829A (ja) | 情報処理装置 | |
JP2525492B2 (ja) | プログラマブルコントロ―ラ | |
JP7378254B2 (ja) | マルチプロセッサデバイス | |
JP2009223861A (ja) | 論理検証システム | |
KR20080044652A (ko) | Cpu에서의 스택을 이용한 디버깅 방법 | |
JP3753572B2 (ja) | シミュレーションシステムおよび命令シミュレーション方法 | |
CN116382893A (zh) | 基于协处理器的运算方法、装置、存储介质及电子设备 | |
JP2000029508A (ja) | プログラマブルコントローラ | |
KR100195221B1 (ko) | 프로그램 수행시 명령어의 실행 횟수 측정장치 | |
JPWO2020178985A1 (ja) | ボトルネック検出装置及びボトルネック検出プログラム | |
KR20180038875A (ko) | 데이터 입출력 유닛, 전자 장치 및 그 제어 방법들 | |
JP2011170758A (ja) | プロセッサ | |
JP2010085177A (ja) | 半導体試験装置 | |
JPS60193047A (ja) | マイクロプログラムのロ−ドチエツク方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060801 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060929 |
|
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: 20070320 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070322 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3938580 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: 20110406 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120406 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130406 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130406 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140406 Year of fee payment: 7 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |