JPH02236734A - マイクロプロセッサのエミュレーション方式 - Google Patents
マイクロプロセッサのエミュレーション方式Info
- Publication number
- JPH02236734A JPH02236734A JP5926189A JP5926189A JPH02236734A JP H02236734 A JPH02236734 A JP H02236734A JP 5926189 A JP5926189 A JP 5926189A JP 5926189 A JP5926189 A JP 5926189A JP H02236734 A JPH02236734 A JP H02236734A
- Authority
- JP
- Japan
- Prior art keywords
- microprocessor
- instruction
- emulation
- instructions
- memory
- 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
- 238000000034 method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はマイクロプロセッサのエミュレーシツン方式に
関する。
関する。
従来、特定のアーキテクチャを有する第1のマイクロプ
ロセッサを、それとは異なるアーキテクチャを有する第
2のマイクロプロセッサを使用してエミュレーションす
る場合、第2のマイクロプロセッサ内に組み込まれたP
L A (ProgramableLogic Ar
ray)或いはR O M (Read Only M
emory)等のエミュレーション用回路を第1のマイ
クロプロセッサのエミュレーションに適する内容に変更
することにより実現していた。
ロセッサを、それとは異なるアーキテクチャを有する第
2のマイクロプロセッサを使用してエミュレーションす
る場合、第2のマイクロプロセッサ内に組み込まれたP
L A (ProgramableLogic Ar
ray)或いはR O M (Read Only M
emory)等のエミュレーション用回路を第1のマイ
クロプロセッサのエミュレーションに適する内容に変更
することにより実現していた。
上述した従来の方式でもエミュレーションは可能である
が、マイクロプロセッサの内部に組み込めるエミュレー
ション用回路の規模には制限があるため、エミュレーシ
ョンの対象となる第1のマイク口プロセッサのアーキテ
クチャが第2のマイクロプロセッサのアーキテクチャと
大幅に異なる場合、内部のエミュレーション用回路では
足りず、エミュレーションが困難になるという欠点があ
る。
が、マイクロプロセッサの内部に組み込めるエミュレー
ション用回路の規模には制限があるため、エミュレーシ
ョンの対象となる第1のマイク口プロセッサのアーキテ
クチャが第2のマイクロプロセッサのアーキテクチャと
大幅に異なる場合、内部のエミュレーション用回路では
足りず、エミュレーションが困難になるという欠点があ
る。
本発明はこのような従来の欠点を解決したものであり、
その目的は、エミュレーション用回路の規模の制限を無
くし、アーキテクチャが大幅に異なる場合であってもエ
ミュレーシaンを可能にすることのできるマイクロプロ
セッサのエミュレーション方式を提供することにある. 〔課題を解決するための手段〕 本発明は上記の目的を達成するために、特定のアーキテ
クチャを有する第1のマイクロプロセッサをそれとは異
なるアーキテクチャを有する第2のマイクロプロセッサ
を使用してエミュレーションする方式において、前記第
1のマイクロプロセッサの命令をフェッチして解読しそ
の命令をエミュレーションするのに必要な前記第2のマ
イクロプロセッサの命令を出力する命令デコードユニッ
トと、前記第1のマイクロプロセッサの命令をエミュレ
ーションするのに必要な前記第2のマイクロプロセッサ
のその他の命令を格納するエミュレーションメモリとを
備え、前記命令デコードユニットの出力と前記エミュレ
ーションメモリの出力とを適宜切り替えて前記第2のマ
イクロプロセッサへ入力するようにしている。
その目的は、エミュレーション用回路の規模の制限を無
くし、アーキテクチャが大幅に異なる場合であってもエ
ミュレーシaンを可能にすることのできるマイクロプロ
セッサのエミュレーション方式を提供することにある. 〔課題を解決するための手段〕 本発明は上記の目的を達成するために、特定のアーキテ
クチャを有する第1のマイクロプロセッサをそれとは異
なるアーキテクチャを有する第2のマイクロプロセッサ
を使用してエミュレーションする方式において、前記第
1のマイクロプロセッサの命令をフェッチして解読しそ
の命令をエミュレーションするのに必要な前記第2のマ
イクロプロセッサの命令を出力する命令デコードユニッ
トと、前記第1のマイクロプロセッサの命令をエミュレ
ーションするのに必要な前記第2のマイクロプロセッサ
のその他の命令を格納するエミュレーションメモリとを
備え、前記命令デコードユニットの出力と前記エミュレ
ーションメモリの出力とを適宜切り替えて前記第2のマ
イクロプロセッサへ入力するようにしている。
本発明のマイクロプロセンサのエミュレーション方式に
おいては、命令デコードユニットが第1のマイクロプロ
セッサの命令をフエフチして解読しその命令をエミュレ
ーションするのに必要な第2のマイクロプロセッサの命
令を出力し、また、エミュレーションメモリが、第1の
マイクロプロセッサの命令をエミュレーションするのに
必要な第2のマイクロプロセッサのその他の命令を保持
しており、特定のアーキテクチャを有する第1のマイク
ロプロセッサをそれとは異なるアーキテクチャを有する
第2のマイクロプロセッサを使用してエミュレーション
する際、命令デコードユニットの出力とエミュレーショ
ンメモリの出力とが適宜切り替えられて第2のマイクロ
プロセッサへ入力される。
おいては、命令デコードユニットが第1のマイクロプロ
セッサの命令をフエフチして解読しその命令をエミュレ
ーションするのに必要な第2のマイクロプロセッサの命
令を出力し、また、エミュレーションメモリが、第1の
マイクロプロセッサの命令をエミュレーションするのに
必要な第2のマイクロプロセッサのその他の命令を保持
しており、特定のアーキテクチャを有する第1のマイク
ロプロセッサをそれとは異なるアーキテクチャを有する
第2のマイクロプロセッサを使用してエミュレーション
する際、命令デコードユニットの出力とエミュレーショ
ンメモリの出力とが適宜切り替えられて第2のマイクロ
プロセッサへ入力される。
次に、本発明の実施例について図面を参照して詳細に説
明する。
明する。
第1図は本発明のマイクロプロセッサのエミュレーショ
ン方式の一実施例の要部ブロック図である。この実施例
は、エミュレーション対象となるマイクロプロセッサ(
第1のマイクロプロセッサ)と異なるアーキテクチャを
有するマイクロプロセッサ(第2のマイクロプロセッサ
)1と、メモリ2と、命令デコードユニント3と、エミ
ュレーションメモリ4とで構成されている。
ン方式の一実施例の要部ブロック図である。この実施例
は、エミュレーション対象となるマイクロプロセッサ(
第1のマイクロプロセッサ)と異なるアーキテクチャを
有するマイクロプロセッサ(第2のマイクロプロセッサ
)1と、メモリ2と、命令デコードユニント3と、エミ
ュレーションメモリ4とで構成されている。
第2のマイクロプロセッサ1は、ほとんどの命令を1ク
ロックで実行するR I S C (Reduce I
n−struction Set Cosputer)
型のプロセッサであり、データバス11,アドレスバス
12に接続されると共に、それ自身の命令バス21.命
令アドレスバス22が外部に引き出されている. メモリ2は、エミュレーション対象となる第1のマイク
ロプロセッサのフ゜ログラムおよびデータを格納するメ
モリであり、データバス1lおよびアドレスバスl2に
接続されている。
ロックで実行するR I S C (Reduce I
n−struction Set Cosputer)
型のプロセッサであり、データバス11,アドレスバス
12に接続されると共に、それ自身の命令バス21.命
令アドレスバス22が外部に引き出されている. メモリ2は、エミュレーション対象となる第1のマイク
ロプロセッサのフ゜ログラムおよびデータを格納するメ
モリであり、データバス1lおよびアドレスバスl2に
接続されている。
命令デコードユニット3は、メモリ2に格納されている
第1のマイクロプロセッサの命令をフエッチして解読し
、その命令をエミュレーションするのに必要な第2のマ
イクロプロセッサlの所定の命令を出力する回路であり
、データバスl1アドレスバス12,命令バス21.信
号線31および信号線32に接続されている。
第1のマイクロプロセッサの命令をフエッチして解読し
、その命令をエミュレーションするのに必要な第2のマ
イクロプロセッサlの所定の命令を出力する回路であり
、データバスl1アドレスバス12,命令バス21.信
号線31および信号線32に接続されている。
エミュレーションメモリ4は、第1のマイクロプロセッ
サの命令をエミュレーションするのに必要な第2のマイ
クロプロセッサ1のその他の命令を格納しておくメモリ
であり、命令バス21.命令アドレスバス22.信号線
32および信号線31に接続されている.ここで、エミ
ュレーションメモリ4は、命令デコードユニット3によ
って信号線32が所定のレベル例えば論理値“1″にさ
れると、命令アドレスバス22のアドレスで指定された
場所に格納された命令を命令バス21に出力する。また
、1区切りのエミュレーシジンを終了すると、信号線3
1のレベルを所定のレベル例えば論理値“1”にするこ
とにより、その旨を命令デコードユニソト3に通知する
ものである。命令デコードユニット3とエミュレーショ
ンメモリ4の出力は共に命令バス21を介して第2のマ
イクロブロセノサlに入力されるが、一方が有為の信号
を出力している間は他方はハイインピーダンス状態にな
る如く、その両出力は互いに干渉せずに選択的に第2の
マイクロプロセッサ1に供給されるものである。
サの命令をエミュレーションするのに必要な第2のマイ
クロプロセッサ1のその他の命令を格納しておくメモリ
であり、命令バス21.命令アドレスバス22.信号線
32および信号線31に接続されている.ここで、エミ
ュレーションメモリ4は、命令デコードユニット3によ
って信号線32が所定のレベル例えば論理値“1″にさ
れると、命令アドレスバス22のアドレスで指定された
場所に格納された命令を命令バス21に出力する。また
、1区切りのエミュレーシジンを終了すると、信号線3
1のレベルを所定のレベル例えば論理値“1”にするこ
とにより、その旨を命令デコードユニソト3に通知する
ものである。命令デコードユニット3とエミュレーショ
ンメモリ4の出力は共に命令バス21を介して第2のマ
イクロブロセノサlに入力されるが、一方が有為の信号
を出力している間は他方はハイインピーダンス状態にな
る如く、その両出力は互いに干渉せずに選択的に第2の
マイクロプロセッサ1に供給されるものである。
第1図の構成にてエミュレーションを行う場合、エミュ
レーション対象となる第1のマイクロブロセノサのプロ
グラムおよびデータはメモリ2に格納される。また、そ
の各命令をエミュレーションする際に必要となる第2の
マイクロプロセッサ1の命令は、その一部が命令デコー
ドユニソト3で生成され(換言すれば、そのように予め
命令デコードユニット3を作ってお<)、エミュレーシ
ョンに必要な残りの命令はエミュレーションメモリ4に
格納される.エミュレーション動作が開始されると、命
令デコードユニット3がメモリ2から第1のマイクロプ
ロセッサの命令をフエ,チして解読し、その命令のエミ
エレーシッンに必要な第2のマイクロプロセッサlの命
令を逐次に発生して命令バス2Iを介してマイクロプロ
セッサlに供給する.このとき、本実施例では、フェッ
チされた命令が特定の命令であるときは、それをエミュ
レーションする為の複数の命令を命令デコードユニット
3が全て生成して出力し、他の命令については、1つの
命令をエミュレーションするのに必要な複数の命令のう
ちの所定の命令のみを命令デコードユニット3が生成し
、残りの命令はエミュレーションメモリ4から読み出さ
れる。後者の場合、命令デコードユニット3は、適当な
タイミングで信号線32のレベルを論理値“1′にする
。
レーション対象となる第1のマイクロブロセノサのプロ
グラムおよびデータはメモリ2に格納される。また、そ
の各命令をエミュレーションする際に必要となる第2の
マイクロプロセッサ1の命令は、その一部が命令デコー
ドユニソト3で生成され(換言すれば、そのように予め
命令デコードユニット3を作ってお<)、エミュレーシ
ョンに必要な残りの命令はエミュレーションメモリ4に
格納される.エミュレーション動作が開始されると、命
令デコードユニット3がメモリ2から第1のマイクロプ
ロセッサの命令をフエ,チして解読し、その命令のエミ
エレーシッンに必要な第2のマイクロプロセッサlの命
令を逐次に発生して命令バス2Iを介してマイクロプロ
セッサlに供給する.このとき、本実施例では、フェッ
チされた命令が特定の命令であるときは、それをエミュ
レーションする為の複数の命令を命令デコードユニット
3が全て生成して出力し、他の命令については、1つの
命令をエミュレーションするのに必要な複数の命令のう
ちの所定の命令のみを命令デコードユニット3が生成し
、残りの命令はエミュレーションメモリ4から読み出さ
れる。後者の場合、命令デコードユニット3は、適当な
タイミングで信号線32のレベルを論理値“1′にする
。
これによって、エミュレーションメモリ4内の命令アド
レスバス22で指定された場所から読み出された命令が
命令バス2lを介して第2のマイクロプロセッサ1に供
給される。第2のマイクロプロセッサ1は命令バス21
を介して供給される命令を実行するものであり、内部レ
ジスタ間の加算やデータバス11およびアドレスバスl
2を介してのメモリ2へのアクセス等を行い、結果とし
て第1のマイクロプロセッサの命令のエミュレーション
を達成する。
レスバス22で指定された場所から読み出された命令が
命令バス2lを介して第2のマイクロプロセッサ1に供
給される。第2のマイクロプロセッサ1は命令バス21
を介して供給される命令を実行するものであり、内部レ
ジスタ間の加算やデータバス11およびアドレスバスl
2を介してのメモリ2へのアクセス等を行い、結果とし
て第1のマイクロプロセッサの命令のエミュレーション
を達成する。
次に、エミュレーシ目ン対象となる第1のマイクロプロ
セッサの命令形式,エミュレーションを行う第2のマイ
クロプロセッサ1の命令形式の具体例について説明し、
第1のマイクロプロセッサの或る1つの命令を例にして
本実施例の動作をより詳しく説明する。
セッサの命令形式,エミュレーションを行う第2のマイ
クロプロセッサ1の命令形式の具体例について説明し、
第1のマイクロプロセッサの或る1つの命令を例にして
本実施例の動作をより詳しく説明する。
第2図は第1のマイクロプロセッサの命令形式を示す.
同図において、フィールドf21はオペレーションコー
ドOPを格納するフィールド、フィールドf22は第1
オペランドとなるレジスタR1を、フィールドf23は
インデックスレジスタX2を、フィールドf24はペー
スレジスタB2をそれぞれ指示するフィールドであり、
フィールド[25はディスプレイスメント値D2を格納
するフィールドである.インデックスレジスタX2に格
納されている値(X2)とペースレジスタB2に格納さ
れている値(B2)とディスプレイスメント値D2とが
加算されて第2オペランドとなるメモリのアドレスが求
められるものである.第3図(al. (bl, tc
)は第2のマイクロプロセッサ1の命令形式を示す.同
図(a)において、フィールド[31はオベレーシコン
コードOPを格納するフィールド、フィールド[32は
デスティネーションレジスタRAt−、フィールドf3
3はソースレジスタRBを、フィールドf34はソース
レジスタRCをそれぞれ指示するフィールドである.ま
た同図(b)において、フィールドf35はオペレーシ
ッンコードoPを格納するフィールド、フィールドf3
6は当該命令がブランチ命令のときブランチ先アドレス
(BRANCH ADDRESS)を格納するフィー
ルドである。更に同図(Clにおいて、フィールド[3
7はオペレーションコードOPを格納するフィールド、
フィールドf3BはデスティネーションレジスタRAを
指示するフィールド、フィールド『39はイミーディエ
イトデータ(IMMEDIATE DATA)を格納
するフィールドである. 第2図の命令形式で表される第1のマイクロプロセッサ
のロード命令(メモリ上のオペランドをレジスタへ転送
する命令であり、第2図を参照すると、フィールドf2
3,f24,[25で指定されるインデックスレジスタ
X2の内容とペースレジスタB2の内容とディスプレイ
スメント値D2とを加算して得られるメモリのアドレス
の内容を、フィールド[22で指定されるレジスタR1
へ転送する命令である)をエミュレーションする場合、
例えば第4図に示す第2のマイクロプロセッサ1の6個
の命令を使用する.ここで、命令■〜■については第1
図の命令デコードユニット3で生成され、命令■〜■は
エミュレーションメモI7 4に格納される.なお、各
命令の内容は次の通りである. ・命令■ 第3図(Clの型の命令であり、ディスプレイスメント
値D2を第2のマイクロプロセッサ1内の汎用レジスタ
R36へ転送する命令である。
同図において、フィールドf21はオペレーションコー
ドOPを格納するフィールド、フィールドf22は第1
オペランドとなるレジスタR1を、フィールドf23は
インデックスレジスタX2を、フィールドf24はペー
スレジスタB2をそれぞれ指示するフィールドであり、
フィールド[25はディスプレイスメント値D2を格納
するフィールドである.インデックスレジスタX2に格
納されている値(X2)とペースレジスタB2に格納さ
れている値(B2)とディスプレイスメント値D2とが
加算されて第2オペランドとなるメモリのアドレスが求
められるものである.第3図(al. (bl, tc
)は第2のマイクロプロセッサ1の命令形式を示す.同
図(a)において、フィールド[31はオベレーシコン
コードOPを格納するフィールド、フィールド[32は
デスティネーションレジスタRAt−、フィールドf3
3はソースレジスタRBを、フィールドf34はソース
レジスタRCをそれぞれ指示するフィールドである.ま
た同図(b)において、フィールドf35はオペレーシ
ッンコードoPを格納するフィールド、フィールドf3
6は当該命令がブランチ命令のときブランチ先アドレス
(BRANCH ADDRESS)を格納するフィー
ルドである。更に同図(Clにおいて、フィールド[3
7はオペレーションコードOPを格納するフィールド、
フィールドf3BはデスティネーションレジスタRAを
指示するフィールド、フィールド『39はイミーディエ
イトデータ(IMMEDIATE DATA)を格納
するフィールドである. 第2図の命令形式で表される第1のマイクロプロセッサ
のロード命令(メモリ上のオペランドをレジスタへ転送
する命令であり、第2図を参照すると、フィールドf2
3,f24,[25で指定されるインデックスレジスタ
X2の内容とペースレジスタB2の内容とディスプレイ
スメント値D2とを加算して得られるメモリのアドレス
の内容を、フィールド[22で指定されるレジスタR1
へ転送する命令である)をエミュレーションする場合、
例えば第4図に示す第2のマイクロプロセッサ1の6個
の命令を使用する.ここで、命令■〜■については第1
図の命令デコードユニット3で生成され、命令■〜■は
エミュレーションメモI7 4に格納される.なお、各
命令の内容は次の通りである. ・命令■ 第3図(Clの型の命令であり、ディスプレイスメント
値D2を第2のマイクロプロセッサ1内の汎用レジスタ
R36へ転送する命令である。
・命令■
第3図(alO型の命令であり、第2のマイクロプロセ
ッサ1内のソースレジスタRC,RBおよびデスティネ
ーションレジスタRAを指定する間接ポインタIPRC
,IPRBおよびIPRAに、各フィールドの値X2,
B2,Rlを転送する命令である。
ッサ1内のソースレジスタRC,RBおよびデスティネ
ーションレジスタRAを指定する間接ポインタIPRC
,IPRBおよびIPRAに、各フィールドの値X2,
B2,Rlを転送する命令である。
命令■
第3図(′b)の型の命令であり、引き続いて実行する
エミュレーションメモリ4に格納されている■の命令へ
ブランチさせる命令である。
エミュレーションメモリ4に格納されている■の命令へ
ブランチさせる命令である。
・命令■
第3図(alO型の命令であり、間接ポインタIPRC
,IPRBで示される汎用レジスタX2,B2の内容(
X2), (B2)を加算して汎用レジスタR34ヘ
セフトする命令である。
,IPRBで示される汎用レジスタX2,B2の内容(
X2), (B2)を加算して汎用レジスタR34ヘ
セフトする命令である。
・命令■
同じく第3図(In)の型の命令であり、汎用レジスタ
R34の内容( (X2)+ (B2)l と汎用レジ
スタR36の内容D2を加算して汎用レジスタR35ヘ
セットする命令である. ・命令■ 同じく第3図(alO型の命令であり、アドレスが汎用
レジスタR35の内容( ( (X2)+ (B2)+
D21 )で示されるメモリ2の内容を間接ポインタI
PRAで示される汎用レジスタRAへ転送する命令であ
る。なお、この命令■が読み出されると、エミュレーシ
ョンメモリ4から信号線31に論理値“1”が出力され
るようになっている。
R34の内容( (X2)+ (B2)l と汎用レジ
スタR36の内容D2を加算して汎用レジスタR35ヘ
セットする命令である. ・命令■ 同じく第3図(alO型の命令であり、アドレスが汎用
レジスタR35の内容( ( (X2)+ (B2)+
D21 )で示されるメモリ2の内容を間接ポインタI
PRAで示される汎用レジスタRAへ転送する命令であ
る。なお、この命令■が読み出されると、エミュレーシ
ョンメモリ4から信号線31に論理値“1”が出力され
るようになっている。
動作にあっては、先ず命令デコードユニット3が第1の
マイクロプロセッサのロード命令をメモリ2からフェッ
チして解読し、命令のを生成して命令バス21に出力す
る.第2のマイクロプロセッサlはこの命令■を受ける
と、その命令■中のディスプレイスメント値D2を内部
のレジスタR36に転送する. 次のクロフクで命令デコードユニット3は命令■を生成
して命令バス2lに出力し、第2のマイクロプロセッサ
lはこれに応答して内部のソースレジスタRC.RBお
よびデスティネーションレジスタRAを指定する間接ポ
インタIPRC,IPRB,IPRAに、命令■の各フ
ィールドの値を転送する。
マイクロプロセッサのロード命令をメモリ2からフェッ
チして解読し、命令のを生成して命令バス21に出力す
る.第2のマイクロプロセッサlはこの命令■を受ける
と、その命令■中のディスプレイスメント値D2を内部
のレジスタR36に転送する. 次のクロフクで命令デコードユニット3は命令■を生成
して命令バス2lに出力し、第2のマイクロプロセッサ
lはこれに応答して内部のソースレジスタRC.RBお
よびデスティネーションレジスタRAを指定する間接ポ
インタIPRC,IPRB,IPRAに、命令■の各フ
ィールドの値を転送する。
次のクロソクで命令デコードユニット3は第4図の命令
■を生成して命令バス21に出力する。
■を生成して命令バス21に出力する。
命令■はブランチ命令であり、これを受けた第2のマイ
クロプロセッサ1はプログラムカウンタPCに命令■の
フィールドで指定されたブランチ先アドレスをセットす
る.ブランチ先アドレスは引き続いて実行するエミュレ
ーションメモリ4に格納されている命令■のアドレスで
あり、このアドレスが命令アドレスバス22に出力され
る。また命令デコードユニット3は命令■の実行に同期
して信号線32のレベルを論理値“1”にし、エミュレ
ーションメモリ4の出力を命令バス21に出力させる. 従って、次のクロックでは、エミュレーションメモリ4
から第4図の命令■が命令バス21に出力され、第2の
マイクロプロセッサ1は間接ポインタIPRC,IPR
Bで示される汎用レジスタRC,RBの内容(X2),
(B2)を加算して汎用レジスタR34ヘセソトす
る.このときプログラムカウンタPCが更新され命令ア
ドレスバス22がエミュレーションメモリ4上の命令■
の位置を指示する。
クロプロセッサ1はプログラムカウンタPCに命令■の
フィールドで指定されたブランチ先アドレスをセットす
る.ブランチ先アドレスは引き続いて実行するエミュレ
ーションメモリ4に格納されている命令■のアドレスで
あり、このアドレスが命令アドレスバス22に出力され
る。また命令デコードユニット3は命令■の実行に同期
して信号線32のレベルを論理値“1”にし、エミュレ
ーションメモリ4の出力を命令バス21に出力させる. 従って、次のクロックでは、エミュレーションメモリ4
から第4図の命令■が命令バス21に出力され、第2の
マイクロプロセッサ1は間接ポインタIPRC,IPR
Bで示される汎用レジスタRC,RBの内容(X2),
(B2)を加算して汎用レジスタR34ヘセソトす
る.このときプログラムカウンタPCが更新され命令ア
ドレスバス22がエミュレーションメモリ4上の命令■
の位置を指示する。
続《クロックでエミュレーションメモリ4から命令■が
命令バス21に出力される。第2のマイクロプロセッサ
lはこの命令■を受けることにより、汎用レジスタR3
4の内容{ (X2)+ (B2)}と汎用レジスタR
36の内容D2を加算して汎用レジスクR35ヘセント
する。この結果、汎用レジスタR35に、ロード命令で
の第2オペランドのメモリアドレス( ( (X2)+
(B2)+D2) )が作成されたことになる。なお
、このときプログラムカウンタPCが更新される.続く
クロックでエミュレーションメモリ4から命令■が読み
出されて第2のマイクロプロセッサlに供給される。第
2のマイクロプロセッサ1はこれに応答して、汎用レジ
スタR35が保持するメモリ2のアドレスをアクセスし
、その内容を間接ポインタIPRAで示される汎用レジ
スタRAへ転送する.この命令■の実行によりロード命
令のエミエレーションが完了する。
命令バス21に出力される。第2のマイクロプロセッサ
lはこの命令■を受けることにより、汎用レジスタR3
4の内容{ (X2)+ (B2)}と汎用レジスタR
36の内容D2を加算して汎用レジスクR35ヘセント
する。この結果、汎用レジスタR35に、ロード命令で
の第2オペランドのメモリアドレス( ( (X2)+
(B2)+D2) )が作成されたことになる。なお
、このときプログラムカウンタPCが更新される.続く
クロックでエミュレーションメモリ4から命令■が読み
出されて第2のマイクロプロセッサlに供給される。第
2のマイクロプロセッサ1はこれに応答して、汎用レジ
スタR35が保持するメモリ2のアドレスをアクセスし
、その内容を間接ポインタIPRAで示される汎用レジ
スタRAへ転送する.この命令■の実行によりロード命
令のエミエレーションが完了する。
命令■をエミュレーションメモリ4が命令バス21に出
力するのと同期して信号線3lのレベルが論理値“1”
にセットされ、命令デコードユニット3はこれを検出す
ると、既にメモリ2からフェッチしていた次に実行すべ
き第1のマイクロプロセッサの命令を解読して作成した
第2のマイクロプロセッサの命令を命令バス21へ出力
し、次の命令のエミュレーションを開始する.なお、命
令■の出力と同期して信号線31のレベルを論理値“l
1にする構成は、例えば命令■と同一アドレスに設けら
れた論理値“1”の付加ビットを信号線31に出力する
構成を採用することができる.このように本例では、命
令デコードユニット3が第2のマイクロプロセッサ1へ
出力する命令は、第1のマイクロプロセッサの命令に含
まれるレジスタ指定フィールド,ディスプレイスメント
値.イミーディエイトデータを第2のマイクロプロセッ
サ1内のレジスタヘセットする命令およびエミュレーシ
ョンメモリ4ヘブランチさせる命令であり、これ以外の
命令はエミュレーションメモリ4が第2のマイクロプロ
セッサ1へ出力する.また、前述したように命令デコー
ドユニット3が第1のマイクロプロセッサの特定の命令
のエミュレーションについて第2のマイクロプロセッサ
1の全ての命令を出力することも可能である.第2のマ
イクロプロセッサ1の性能を充分に引き出すためには、
命令を高速に供給する必要がある。
力するのと同期して信号線3lのレベルが論理値“1”
にセットされ、命令デコードユニット3はこれを検出す
ると、既にメモリ2からフェッチしていた次に実行すべ
き第1のマイクロプロセッサの命令を解読して作成した
第2のマイクロプロセッサの命令を命令バス21へ出力
し、次の命令のエミュレーションを開始する.なお、命
令■の出力と同期して信号線31のレベルを論理値“l
1にする構成は、例えば命令■と同一アドレスに設けら
れた論理値“1”の付加ビットを信号線31に出力する
構成を採用することができる.このように本例では、命
令デコードユニット3が第2のマイクロプロセッサ1へ
出力する命令は、第1のマイクロプロセッサの命令に含
まれるレジスタ指定フィールド,ディスプレイスメント
値.イミーディエイトデータを第2のマイクロプロセッ
サ1内のレジスタヘセットする命令およびエミュレーシ
ョンメモリ4ヘブランチさせる命令であり、これ以外の
命令はエミュレーションメモリ4が第2のマイクロプロ
セッサ1へ出力する.また、前述したように命令デコー
ドユニット3が第1のマイクロプロセッサの特定の命令
のエミュレーションについて第2のマイクロプロセッサ
1の全ての命令を出力することも可能である.第2のマ
イクロプロセッサ1の性能を充分に引き出すためには、
命令を高速に供給する必要がある。
これをエミュレーションメモリ4で実現することは高速
の大容量のメモリを必要として価格の上昇,実装スペー
スの増加を招き、得策ではない.これに対し命令デコー
ドユニット3は比較的安価に高速に命令を供給すること
が可能である。従って、高速に実行すべき第1のマイク
ロプロセッサの特定の命令のエミュレーションについて
は命令デコードユニット3が第2のマイクロプロセッサ
lの全ての命令を供給するようにし、それほど高速に実
行する必要のない第1のマイクロプロセッサの命令のエ
ミュレーションについてはエミュレーションメモリ4か
らも命令を供給するようにすれば、適切なコストでもっ
て比較的高速のエミュレーションが可能になるものであ
る。
の大容量のメモリを必要として価格の上昇,実装スペー
スの増加を招き、得策ではない.これに対し命令デコー
ドユニット3は比較的安価に高速に命令を供給すること
が可能である。従って、高速に実行すべき第1のマイク
ロプロセッサの特定の命令のエミュレーションについて
は命令デコードユニット3が第2のマイクロプロセッサ
lの全ての命令を供給するようにし、それほど高速に実
行する必要のない第1のマイクロプロセッサの命令のエ
ミュレーションについてはエミュレーションメモリ4か
らも命令を供給するようにすれば、適切なコストでもっ
て比較的高速のエミュレーションが可能になるものであ
る。
以上説明したように、本発明のマイクロプロセッサのエ
ミュレーション方式は、第1のマイクロプロセッサのエ
ミュレーションに使用する第2のマイクロプロセッサの
外部に、第1のマイクロプロセッサの命令をフエソチし
て解読しその命令をエミュレーションするのに必要な第
2のマイクロプロセッサの命令を出力する命令デコード
ユニソトと、第1のマイクロプロセッサの命令をエミュ
レーションするのに必要な第2のマイクロプロセッサの
その他の命令を格納するエミュレーシタンメモリとを設
けたものであり、命令デコードユニットおよびエミュレ
ーションメモリの規模は第2のマイクロプロセッサと独
立に任意に設定できるため、アーキテクチャの大幅に異
なるマイクロプロセッサについても容易にエミュレーシ
ョンすることが可能となる. また、第1のマイクロプロセッサの命令をエミュレーシ
ョンするのに必要な第2のマイクロプロセッサの命令を
、エミヱレーションメモリからだけでなく、命令の高速
な供給が可能な命令デコードユニソトからも供給するよ
うにして適宜両出力を切り替えるものであり、高速に実
行すべき第1のマイクロプロセッサの特定の命令のエミ
ュレーションについては命令デコードユニットが第2の
マイクロプロセッサ1の全ての命令を供給するようにし
、それほど高速に実行する必要のない第1のマイクロプ
ロセッサの命令のエミュレーションについてはエミュレ
ーシタンメモリからも命令を供給するようにすることに
より、適切なコストでもって比較的高速のエミュレーシ
ョンが可能になるものである. この結果、本発明によれば、各アプリケーション毎に使
用されている専用アーキテクチャをもつマイクロプロセ
ッサを汎用の高速のマイクロプロセッサで高速にエミエ
レーションを行い、装置やシステムの性能の向上がはか
れる効果がある.
ミュレーション方式は、第1のマイクロプロセッサのエ
ミュレーションに使用する第2のマイクロプロセッサの
外部に、第1のマイクロプロセッサの命令をフエソチし
て解読しその命令をエミュレーションするのに必要な第
2のマイクロプロセッサの命令を出力する命令デコード
ユニソトと、第1のマイクロプロセッサの命令をエミュ
レーションするのに必要な第2のマイクロプロセッサの
その他の命令を格納するエミュレーシタンメモリとを設
けたものであり、命令デコードユニットおよびエミュレ
ーションメモリの規模は第2のマイクロプロセッサと独
立に任意に設定できるため、アーキテクチャの大幅に異
なるマイクロプロセッサについても容易にエミュレーシ
ョンすることが可能となる. また、第1のマイクロプロセッサの命令をエミュレーシ
ョンするのに必要な第2のマイクロプロセッサの命令を
、エミヱレーションメモリからだけでなく、命令の高速
な供給が可能な命令デコードユニソトからも供給するよ
うにして適宜両出力を切り替えるものであり、高速に実
行すべき第1のマイクロプロセッサの特定の命令のエミ
ュレーションについては命令デコードユニットが第2の
マイクロプロセッサ1の全ての命令を供給するようにし
、それほど高速に実行する必要のない第1のマイクロプ
ロセッサの命令のエミュレーションについてはエミュレ
ーシタンメモリからも命令を供給するようにすることに
より、適切なコストでもって比較的高速のエミュレーシ
ョンが可能になるものである. この結果、本発明によれば、各アプリケーション毎に使
用されている専用アーキテクチャをもつマイクロプロセ
ッサを汎用の高速のマイクロプロセッサで高速にエミエ
レーションを行い、装置やシステムの性能の向上がはか
れる効果がある.
第1図は本発明の一実施例の要部ブロック図、第2図は
第1のマイクロプロセッサの命令形式を示す図、 第3図は第2のマイクロプロセッサの命令形式を示す図
および、 第4図は第1のマイクロプロセノサのロード命令をエミ
ュレーシランする際に第2のマイクロプロセッサに供給
される命令の一例を示す図である.図において、 1・・・第2のマイクロプロセッサ 2・・・メモリ 3・・・命令デコードユニット 4・・・エミュレーションメモリ 11・・・データパス 12・・・アドレスバス 2l・・・命令バス 22・・・命令アドレスバス 31,32・・・信号線 特許出願人 日本電気株式会社外1名
第1のマイクロプロセッサの命令形式を示す図、 第3図は第2のマイクロプロセッサの命令形式を示す図
および、 第4図は第1のマイクロプロセノサのロード命令をエミ
ュレーシランする際に第2のマイクロプロセッサに供給
される命令の一例を示す図である.図において、 1・・・第2のマイクロプロセッサ 2・・・メモリ 3・・・命令デコードユニット 4・・・エミュレーションメモリ 11・・・データパス 12・・・アドレスバス 2l・・・命令バス 22・・・命令アドレスバス 31,32・・・信号線 特許出願人 日本電気株式会社外1名
Claims (1)
- 【特許請求の範囲】 特定のアーキテクチャを有する第1のマイクロプロセッ
サをそれとは異なるアーキテクチャを有する第2のマイ
クロプロセッサを使用してエミュレーションする方式に
おいて、 前記第1のマイクロプロセッサの命令をフェッチして解
読し該命令をエミュレーションするのに必要な前記第2
のマイクロプロセッサの命令を出力する命令デコードユ
ニットと、 前記第1のマイクロプロセッサの命令をエミュレーショ
ンするのに必要な前記第2のマイクロプロセッサのその
他の命令を格納するエミュレーションメモリとを備え、 前記命令デコードユニットの出力と前記エミュレーショ
ンメモリの出力とを適宜切り替えて前記第2のマイクロ
プロセッサへ入力することを特徴とするマイクロプロセ
ッサのエミュレーション方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5926189A JPH02236734A (ja) | 1989-03-10 | 1989-03-10 | マイクロプロセッサのエミュレーション方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5926189A JPH02236734A (ja) | 1989-03-10 | 1989-03-10 | マイクロプロセッサのエミュレーション方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02236734A true JPH02236734A (ja) | 1990-09-19 |
Family
ID=13108256
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5926189A Pending JPH02236734A (ja) | 1989-03-10 | 1989-03-10 | マイクロプロセッサのエミュレーション方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02236734A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5758140A (en) * | 1996-01-25 | 1998-05-26 | International Business Machines Corporation | Method and system for emulating instructions by performing an operation directly using special-purpose register contents |
-
1989
- 1989-03-10 JP JP5926189A patent/JPH02236734A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5758140A (en) * | 1996-01-25 | 1998-05-26 | International Business Machines Corporation | Method and system for emulating instructions by performing an operation directly using special-purpose register contents |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100440841B1 (ko) | 마이크로컴퓨터 | |
| CN101236487B (zh) | 存储器子系统的多字元储存/读取方法以及其电路 | |
| US5077657A (en) | Emulator Assist unit which forms addresses of user instruction operands in response to emulator assist unit commands from host processor | |
| EP0464494A2 (en) | A high performance pipelined emulator | |
| US20040177211A1 (en) | Microcontroller instruction set | |
| US20020188830A1 (en) | Bit replacement and extraction instructions | |
| WO2003042819A1 (en) | Method and apparatus for interfacing a processor to a coprocessor | |
| JPH07117897B2 (ja) | データ処理システムのプリフェッチ回路 | |
| US5666510A (en) | Data processing device having an expandable address space | |
| JP2001504959A (ja) | Riscアーキテクチャを有する8ビットマイクロコントローラ | |
| US5742801A (en) | Microprocessor to which additional instructions are added and instructions addition method thereof | |
| JP2002215387A (ja) | 命令トランスレータを備えたデータ処理装置およびメモリインタフェース装置 | |
| JPS623461B2 (ja) | ||
| EP0226991A2 (en) | Data-processing device | |
| JP3727395B2 (ja) | マイクロコンピュータ | |
| JPH02236734A (ja) | マイクロプロセッサのエミュレーション方式 | |
| US6233675B1 (en) | Facility to allow fast execution of and, or, and test instructions | |
| JP3547585B2 (ja) | 条件実行命令を有するマイクロプロセッサ | |
| JPH0667896A (ja) | シングルチップマイクロコンピュータ | |
| JP2918570B2 (ja) | 中央演算処理装置 | |
| JP2731618B2 (ja) | エミュレータ | |
| JP2696578B2 (ja) | データ処理装置 | |
| JP2002163104A (ja) | マイクロコンピュータ | |
| JP2883489B2 (ja) | 命令処理装置 | |
| JP2869414B1 (ja) | データ処理装置 |