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
Application number
JP5926189A
Other languages
English (en)
Inventor
Tetsuo Miura
三浦 哲雄
Daisaku Ide
井手 大作
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
NEC Engineering Ltd
Original Assignee
NEC Corp
NEC Engineering Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp, NEC Engineering Ltd filed Critical NEC Corp
Priority to JP5926189A priority Critical patent/JPH02236734A/ja
Publication of JPH02236734A publication Critical patent/JPH02236734A/ja
Pending legal-status Critical Current

Links

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のマイ
クロプロセッサのエミュレーションに適する内容に変更
することにより実現していた。
〔発明が解決しようとする課題〕
上述した従来の方式でもエミュレーションは可能である
が、マイクロプロセッサの内部に組み込めるエミュレー
ション用回路の規模には制限があるため、エミュレーシ
ョンの対象となる第1のマイク口プロセッサのアーキテ
クチャが第2のマイクロプロセッサのアーキテクチャと
大幅に異なる場合、内部のエミュレーション用回路では
足りず、エミュレーションが困難になるという欠点があ
る。
本発明はこのような従来の欠点を解決したものであり、
その目的は、エミュレーション用回路の規模の制限を無
くし、アーキテクチャが大幅に異なる場合であってもエ
ミュレーシaンを可能にすることのできるマイクロプロ
セッサのエミュレーション方式を提供することにある. 〔課題を解決するための手段〕 本発明は上記の目的を達成するために、特定のアーキテ
クチャを有する第1のマイクロプロセッサをそれとは異
なるアーキテクチャを有する第2のマイクロプロセッサ
を使用してエミュレーションする方式において、前記第
1のマイクロプロセッサの命令をフェッチして解読しそ
の命令をエミュレーションするのに必要な前記第2のマ
イクロプロセッサの命令を出力する命令デコードユニッ
トと、前記第1のマイクロプロセッサの命令をエミュレ
ーションするのに必要な前記第2のマイクロプロセッサ
のその他の命令を格納するエミュレーションメモリとを
備え、前記命令デコードユニットの出力と前記エミュレ
ーションメモリの出力とを適宜切り替えて前記第2のマ
イクロプロセッサへ入力するようにしている。
〔作用〕
本発明のマイクロプロセンサのエミュレーション方式に
おいては、命令デコードユニットが第1のマイクロプロ
セッサの命令をフエフチして解読しその命令をエミュレ
ーションするのに必要な第2のマイクロプロセッサの命
令を出力し、また、エミュレーションメモリが、第1の
マイクロプロセッサの命令をエミュレーションするのに
必要な第2のマイクロプロセッサのその他の命令を保持
しており、特定のアーキテクチャを有する第1のマイク
ロプロセッサをそれとは異なるアーキテクチャを有する
第2のマイクロプロセッサを使用してエミュレーション
する際、命令デコードユニットの出力とエミュレーショ
ンメモリの出力とが適宜切り替えられて第2のマイクロ
プロセッサへ入力される。
〔実施例〕
次に、本発明の実施例について図面を参照して詳細に説
明する。
第1図は本発明のマイクロプロセッサのエミュレーショ
ン方式の一実施例の要部ブロック図である。この実施例
は、エミュレーション対象となるマイクロプロセッサ(
第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に
接続されている。
命令デコードユニット3は、メモリ2に格納されている
第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に供給されるものである。
第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のマイクロプロセッサの命令のエミュレーション
を達成する。
次に、エミュレーシ目ン対象となる第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へ転送する命令である。
・命令■ 第3図(alO型の命令であり、第2のマイクロプロセ
ッサ1内のソースレジスタRC,RBおよびデスティネ
ーションレジスタRAを指定する間接ポインタIPRC
,IPRBおよびIPRAに、各フィールドの値X2,
B2,Rlを転送する命令である。
命令■ 第3図(′b)の型の命令であり、引き続いて実行する
エミュレーションメモリ4に格納されている■の命令へ
ブランチさせる命令である。
・命令■ 第3図(alO型の命令であり、間接ポインタIPRC
,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”が出力され
るようになっている。
動作にあっては、先ず命令デコードユニット3が第1の
マイクロプロセッサのロード命令をメモリ2からフェッ
チして解読し、命令のを生成して命令バス21に出力す
る.第2のマイクロプロセッサlはこの命令■を受ける
と、その命令■中のディスプレイスメント値D2を内部
のレジスタR36に転送する. 次のクロフクで命令デコードユニット3は命令■を生成
して命令バス2lに出力し、第2のマイクロプロセッサ
lはこれに応答して内部のソースレジスタRC.RBお
よびデスティネーションレジスタRAを指定する間接ポ
インタIPRC,IPRB,IPRAに、命令■の各フ
ィールドの値を転送する。
次のクロソクで命令デコードユニット3は第4図の命令
■を生成して命令バス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上の命令■
の位置を指示する。
続《クロックでエミュレーションメモリ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へ転送する.この命令■の実行によりロード命
令のエミエレーションが完了する。
命令■をエミュレーションメモリ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の性能を充分に引き出すためには、
命令を高速に供給する必要がある。
これをエミュレーションメモリ4で実現することは高速
の大容量のメモリを必要として価格の上昇,実装スペー
スの増加を招き、得策ではない.これに対し命令デコー
ドユニット3は比較的安価に高速に命令を供給すること
が可能である。従って、高速に実行すべき第1のマイク
ロプロセッサの特定の命令のエミュレーションについて
は命令デコードユニット3が第2のマイクロプロセッサ
lの全ての命令を供給するようにし、それほど高速に実
行する必要のない第1のマイクロプロセッサの命令のエ
ミュレーションについてはエミュレーションメモリ4か
らも命令を供給するようにすれば、適切なコストでもっ
て比較的高速のエミュレーションが可能になるものであ
る。
〔発明の効果〕
以上説明したように、本発明のマイクロプロセッサのエ
ミュレーション方式は、第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名

Claims (1)

  1. 【特許請求の範囲】 特定のアーキテクチャを有する第1のマイクロプロセッ
    サをそれとは異なるアーキテクチャを有する第2のマイ
    クロプロセッサを使用してエミュレーションする方式に
    おいて、 前記第1のマイクロプロセッサの命令をフェッチして解
    読し該命令をエミュレーションするのに必要な前記第2
    のマイクロプロセッサの命令を出力する命令デコードユ
    ニットと、 前記第1のマイクロプロセッサの命令をエミュレーショ
    ンするのに必要な前記第2のマイクロプロセッサのその
    他の命令を格納するエミュレーションメモリとを備え、 前記命令デコードユニットの出力と前記エミュレーショ
    ンメモリの出力とを適宜切り替えて前記第2のマイクロ
    プロセッサへ入力することを特徴とするマイクロプロセ
    ッサのエミュレーション方式。
JP5926189A 1989-03-10 1989-03-10 マイクロプロセッサのエミュレーション方式 Pending JPH02236734A (ja)

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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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) データ処理装置