JPH01142945A - マイクロプロセッサの制御方式 - Google Patents

マイクロプロセッサの制御方式

Info

Publication number
JPH01142945A
JPH01142945A JP62301997A JP30199787A JPH01142945A JP H01142945 A JPH01142945 A JP H01142945A JP 62301997 A JP62301997 A JP 62301997A JP 30199787 A JP30199787 A JP 30199787A JP H01142945 A JPH01142945 A JP H01142945A
Authority
JP
Japan
Prior art keywords
microprocessor
control
address
instruction
ram
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
JP62301997A
Other languages
English (en)
Inventor
Tatsuya Suzuki
達也 鈴木
Masamitsu Watanabe
渡辺 政光
Yutaka Sato
豊 佐藤
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer 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 Hitachi Ltd, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP62301997A priority Critical patent/JPH01142945A/ja
Publication of JPH01142945A publication Critical patent/JPH01142945A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、データ処理装置の動作制御技術さらにはマ
イクロプロセッサのエミュレーションを行なうエミュレ
ータに適用して特に有効な技術に関し1例えばシステム
開発装置やデバッグツールに利用して有効な技術に関す
るものである。
[従来の技術] ユーザーが開発したマイクロコンピュータ・システムの
ソフトウェアを開発したり、デバツギングを行なう場合
、第4図に示すような装置を使用することがある。すな
わち、マイクロコンピュータ・システム(ユーザー・シ
ステム)1を構成するボードla上に設けられたマイク
ロコンピュータ(以下MPUと称する)用のICソケッ
ト2に、コネクタ3を介してシステム1のMPUと同一
のMPUを内蔵したイン・サーキット・エミュレータ4
を接続する。このイン・サーキット・エミュレータ4は
、ケーブルを介してCRTデイスプレィ5やフロッピー
ディスク装置6等を備えたサポートツールと呼ばれるシ
ステム開発装置7に接続されている。
上記システムにおいては、CRTデイスプレィ5側のキ
ーボードより入力されるアセンブラやコンパイラ等の言
語で書かれたソースプログラムは、先ずフロッピーディ
スク6から成る記憶装置に書き込まれ、次にシステム開
発袋!!7内のMPUによって機械語に翻訳されてオブ
ジェクトプログラムの形でフロッピーディスク6に書き
込まれる。
フロッピーディスク6に書き込まれたプログラムは、イ
ン・サーキット・エミュレータ4内のMPUによってユ
ーザー・システム1内のRAM (ランダム・アクセス
・メモリ)8等に転送され、書き込まれる。
RAM8等に書き込まれたユーザー・プログラムは、I
Cソケット2からコネクタ3を引き抜いて、システムの
MPU9を差し込んでやると、通常はこのMPU9によ
って実行されるわけであるが、第4図のシステムでは、
イン・サーキット・エミュレータ4内のMPU (MP
U9と同一タイプ)によってエミュレーションを行ない
ながら、ユーザ・プログラムのデバッギングを行なえる
ようになっている。
この場合、CRTデイスプレィ5やフロッピーディスク
装置6等をコントロールしたり、アセンブラやコンパイ
ラ言語を機械語へ翻訳したり、さらにイン・サーキット
・エミュレータ4内のMPUによってユーザ・プログラ
ムを実行して得られたデータを編集してCRTデイスプ
レィ5に表示させたりするホストMPUがシステム開発
装置7内に設けられているが、イン・サーキット・エミ
ュレータ4には、エミュレーションの結果得られたデー
タを上記システム開発袋!!7内のMPUが編集し易い
形に処理できるような機能を持たせることができる。上
記システムにおいて、イン・サーキット・エミュレータ
4内のMPUがエミュレーションとデータ処理機能を兼
用するようにされる場合、エミュレータ4内のMPUは
システム開発装置7内のエミュレーションモード時とシ
ステムモード時とで空間分割してその動作を実行する。
ところで、上記エミュレータ・システムを用いてユーザ
ー・プログラムのデバツギングを行なう場合、一般には
プログラムを細切れにしてエミュレーションを行なって
行くが、その際ブレークポイントと呼ばれる指定ポイン
ト(プログラム中のある位置)を通過したことを検出し
て、そこでプログラムの実行を中断することが行なわれ
る。そして、ブレーク直前までのシステム内の状態は、
バス上の信号をトレースメモリと呼ばれる記憶装置内に
リアルタイムで取り込んでおく、これによって、ブレー
ク後にそのトレース・メモリの内容を解析することで、
プログラムの暴走要因等を解明し、ユーザー・プログラ
ムやシステムのデバッギングを行なうことができる。
従来のシステムでは、エミュレータ4による上記のよう
な細かなエミュレーション動作やトレースしたデータの
処理等の制御は、システム開発装置7内のMPUを制御
することで行っていたく[株]日立製作所、昭和60年
8月発行、「日立マイクロコンピュータシステム 64
180ASE−I  ユーザーズマニュアル」参照)。
[発明が解決しようとする問題点] 上記従来方式では、制御対象となるマイクロプロセッサ
における目的とする命令実行の起動および停止等のタイ
ミング制御をMPU周辺に設けられるハードウェアにて
行なっていたため1周辺制御回路の設計が複雑になるば
かりか物理量も大きなものになっている。さらに、従来
方式ではエミュレーションとなる対象マイクロプロセッ
サが変更もしくは新たに追加された場合、制御回路を改
めて設計し直す必要があった。そのため、エミュレータ
の開発期間が長くなり、多品種のマイクロプロセッサを
展開する上で大きな問題点となっていた。
本発明な目的は、簡単なハードウェア構成にて従来と同
程度以上のマイクロプロセッサ制御が可能であり、かつ
多品種マイクロプロセッサへの対応が容易なマイクロプ
ロセッサ制御方式を提供することにある。
この発明の前記ならびにそのほかの目的と新規な特徴に
ついては、本明細書の記述および添附図面から明らかに
なるであろう。
[問題点を解決するための手段] 本願において開示される発明のうち代表的なものの概要
を説明すれば、下記のとおりである。
すなわち、2つのマイクロプロセッサを有し、一方が他
方の動作を制御可能なシステムを構成する場合において
、制御用マイクロプロセッサと制御対象マイクロプロセ
ッサの両方からアクセス可能なRAMを設け、標準的な
バスでこれらを接続し、制御対象マイクロプロセッサが
実行する上記RAM上の命令を、制御用マイクロプロセ
ッサによって設定或いは変更できるようにするものであ
る。
[作用] 上記した手段によれば、ハードウェア構成は標準的なバ
スに対する結合のみであるため周辺制御回路の設計が容
易であるとともに、物量の増加をおさえることが可能で
ある。また、一部変更または新たに開発されたマイクロ
プロセッサのエミュレータを開発する場合にも制御対象
となるマイクロプロセッサ部分を交換するだけでよく、
接続も標準バス結合であるため、品種展開に対する対応
が容易となり、汎用性が向上する。
[実施例] 第1図は1本発明をエミュレータ・システムに適用した
場合の一実施例を示す。
同図において、符号10で示されているのは、第4図に
示されているイン・サーキット・エミュレータ4内に設
けられているエミユレーション用のマイクロプロセッサ
で、このマイクロプロセッサ10は、ユーザーシステム
1を構成するMPU9と同一タイプのマイクロプロセッ
サである。マイクロプロセッサ10は、バスllaおよ
びバッファ12aを介してユーザーシステムバスllb
に接続されている。さらに、上記バスllaは、バスバ
ッファ12b、バス11d、パスバッファ12cを介し
て、システムバス11cに接続されている。ここで、バ
スlla〜1゛1dは、データバス、アドレスバスおよ
びコントロールバスを含み、少なくともバスlidは標
準バスで構成されている。
上記エミユレーション用のマイクロプロセッサ10は、
システムバスllcに接続された制御用マイクロプロセ
ッサ13の制御対象となるもので、ユーザー空間とシス
テム空間とに切り換わって動作し、雨空間でアクセスの
対象が異なる(以下。
エミユレーション用マイクロプロセッサ10を対象マイ
クロプロセッサと称する)。上記制御空間の切換えのた
め、空間切換回路14が設けられており、空間切換回路
14が上記パスバッファ12aを切り換えて、マイクロ
プロセッサ10をユーザーバスfib側またはバスli
d側に選択的に接続することで空間の切換えが行なわれ
る。
システムバス11Cに接続された上記制御用マイクロプ
ロセッサ13は、システムバスlieに接続されている
システムメモリ15上のプログラムを実行する。そして
、この制御用マイクロプロセッサ13からの指令に基づ
いて制御対象となる上記マイクロプロセッサ10に対し
、リセット信号や割込み信号を供給する制御回路16が
設けられている。
さらに、この実施例では、上記マイクロプロセッサ10
と13のいずれの側からもアクセス可能なRAM17が
設けられており、このRAM17はパスバッファ12b
、12c間に設けられた標準バスlidに接続されてい
る。そして、上記2つのマイクロプロセッサ10と13
の両方からRAM17に対して同時にアクセス要求がな
された場合の競合を回避するため、競合回避回路18が
設けられ、この競合回避回路18が、2つのマイクロプ
ロセッサからのアクセス要求に対してバス使用権を決定
し、バスバッファ12bまた12cのいずれか一方を選
択的に導通状態にさせることで、同時アクセスを禁止す
るようになっている。
なお、第1図において、バスllaに接続されているメ
モリ19は、上記対象マイクロプロセッサ10がユーザ
ープログラムを実行している間に、バス12a上に表わ
れる信号を時系列的に取り込むためのトレースメモリで
ある。このトレースメモリ19に蓄えられたデータを解
析することでデバッギングが可能となる。
上記実施例のエミュレーション・システムにおいては、
パスバッファ12a、12bの切換えによって、対象マ
イクロプロセッサ10が、共有のRAM17上のプログ
ラムおよびユーザーシステム側のメモリ上のプログラム
のいずれをも実行することができる。
従って、上記実施例のシステムにおいては、以下のよう
な方法により、対象マイクロプロセッサ10によるプロ
グラムの実行開始や中断を任意に行なわせることができ
る。
先ず、予めRAM17を対象マイクロプロセッサ10の
メモリアップ上におけるリセットおよび割込み例外処理
のリスタートアドレスを含む位置に配置しておく、ただ
し、制御用マイクロプロセッサ13のメモリアップ上に
おいてはRAM17を任意の位置に配置しておくことが
できる。
今、対象マイクロプロセッサ1oのリセット・リスター
トアドレスを100番地、割込みによるリスタート・ア
ドレスを110番地とすると、RAM17をマイクロプ
ロセッサ10のメモリマツプ上で第2図に示すような位
置に配置する。
そして、システムの動作開始に際しては先ずマイクロプ
ロセッサ10を初期化するため、制御用マイクロプロセ
ッサ13により制御回路16を介して対象マイクロプロ
セッサ10に対し、リセット信号RESを入力した状態
のままとする。次に、RAM上のリセット・リスタート
アドレス100番地にジャンプ命令rJMP100Jを
設定した後、リセットRESの入力を解除する。すると
、対象マイクロプロセッサ10はrJMP 10 oJ
を繰返し、実行する無限ループ状m<待ち状態)となる
次に、対象マイクロプロセッサ10を制御用マイクロプ
ロセッサ13によって任意に動作させるためには、RA
M17上の目的とする命令あるいはプログラムを実行さ
せる。それには先ず、制御用マイクロプロセッサ13に
よりRAM17上の任意の位置(例えば第3図に示すよ
うに200番地から300番地のエリア)に、目的とす
る動作内容の命令を書き込む、そして、設定した命令の
最後の300番地には、リセット・リスタートアドレス
番地と同様にジャンプ命令rJMP300Jを設定し、
目的となる命令実行終了後に、マイクロプロセッサ10
が再び無限ループ状態となるようにしておく、それから
、100番地に設定しておいたジャンプ命令rJMP1
00Jの飛先番地を、先に設定した目的とする命令のス
タートアドレスの200番地に変更する。そして、バス
使用権をマイクロプロセッサ13 (MPUI)から1
0 (MPU2)へ渡す、すると、対象マイクロプロセ
ッサ10は無限ループ状態から抜は出し、200番地へ
ジャンプして目的とする命令を実行後再び無限ループ状
態へ入る。上記設定命令の内容に応じて対象マイクロプ
ロセッサ10に、例えば内部のあるレジスタの値を所望
の値に設定する等任意の動作を行なわせることができる
。また、ジャンプ命令の飛先変更における指定アドレス
を別のアドレスに変えることにより、途中の任意のアド
レスから目的とする命令を実行させることも可能である
一方、対象マイクロプロセッサ10による命令実行を中
断するには1割込み信号iNTを使用する0割込み信号
iNTによるリスタート・アドレスが110番地である
とすると、前述した初期化の時と同様に、予め110番
地にジャンプ命令rJMP110Jを設定しておく、そ
れから制御用マイクロプロセッサ13によって制御回路
16を介してマイクロプロセッサ1oに対して割込み信
号iNTを入力させる。すると、マイクロプロセッサ1
0は目的とする命令の実行を中断し、割込みリスタート
・アドレス110番地へ飛んで、ジャンプ命令rJMP
110Jを繰返し実行する無限ループ状態に入る。これ
により、割込み信号iNTを入力した時点で命令の実行
を中断することが可能となる0割込み信号iNTの入力
タイミングを変えることにより任意の位置での中断が可
能である。しかも、割込みを使って命令実行を中断させ
ることにより、内部レジスタの状態をそのまま保持させ
、マイクロプロセッサ13で読み出すことができる。中
断により対象マイクロプロセッサの内部レジスタ内容等
を保持しておく必要がないのであれば、割込み信号iN
Tのかわりにリセット信号を入力することにより中断さ
せることも可能である。
エミュレータを実現するためには、制御用プログラムの
他にユーザーが作成したプログラムを任意の位置で実行
、停止することがでなくてはならない、その場合、ユー
ザープログラムをRAMl7上に設定して実行させるこ
とが当然考えられるが、ユーザーシステム側のメモリ上
のプログラムを実行する場合には次のように実現するこ
とができる。
すなわち、先ずRAM17上の任意の位置にリターンイ
ンターラブド命令RTiを記述し、上記した方法にてM
PUl0にこれを実行させる。すると1MPυ10はユ
ーザーメモリ空間の目的とするユーザープログラムの所
定の位置へジャンプし、これを実行する。この際、空間
切換回路14がバスllaを監視することにより、バス
バッファ12a、12bを切り換えて対象マイクロプロ
セッサ10のアクセスバスをRAM17がらユーザーシ
ステム1上のメモリへ自動的に切り換えるようにされて
いる。
ユーザープログラムの実行の中断は先に述べた制御用命
令の実行中断と同様に割込み信号iNTにより行ない、
空間切換回路14が実行中断と同時にアクセスバスをユ
ーザーシステムメモリからRAM17に戻す、また、中
断に先立って割込みスタートアドレス「110番地」に
はジャンプ命令「JMPllo」を入れておく、これに
より、対象マイクロプロセッサ10は無限ループ状態に
入り、次の処理を実行させるための準備を行なうことが
可能となる。
以上説明したように、上記実施例では、制御用マイクロ
プロセッサと対象マイクロプロセッサの双方からアクセ
ス可能なRAMを設け、このRAMに無限ループ状態を
形成する命令を制御用マイクロプロセッサによって設定
し、それを対象マイクロプロセッサに実行させることに
より、命令の実行を中断させたり、ジャンプ命令によっ
てユーザープログラムの任意の位置から命令の実行を開
始させたりすることができる。そのため、従来のように
目的とする命令実行の起動や停止等のタイミング制御を
周辺制御回路で行なう必要がないとともに、新たに設け
たRAMを標準バスで接続するようにしたので、マイク
ロプロセッサの周辺制御回路が簡単な構成で済み、ハー
ドウェアの量的増加を抑えることができる。
また、一部変更または新たに開発されたマイクロプロセ
ッサのエミュレータを開発する場合にも制御対象となる
マイクロプロセッサ部分を交換するだけでよく、接続も
標準バス結合であるため、品種展開に対する対応が容易
となり、汎用性が向上する。
以上本発明者によってなされた発明を実施例に基づき具
体的に説明したが、本発明は上記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない0例えば、命令実行の中断
の方法は、リセットおよび割込みである必要はなく特定
のアドレスからりスタートできるものであればよく、ブ
ランチ命令、トラップ命令等積々の方法が考えられる。
また、上記実施例では、一つのジャンプ命令で無限ルー
プを構成しているが、2つ以上の命令を使って無限ルー
プを構成するようにしてもよい、さらに、待ち状態に関
しても無限ループ状態である必要はなく、システムに影
響のないものであれば何でもよく、ホールト、ウェイト
等の状態にすることも可能である。また、RAMアクセ
スの競合回避方法に関しても種々の方法が考えられるこ
とはいうまでもない。
また、上記実施例におけるマイクロプロセッサは、シン
グルチップマイクロコンピュータであってもよい。
以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるユーザーシステムや
ユーザープログラムのデバッギングを行なうためのエミ
ュレータ・システムに適用したものについてい説明した
が、この発明はそれに限定されるものでなく、新たに開
発されたマイクロプロセッサを評価する装置その他、一
つのマイクロプロセッサが他のマイクロプロセッサを制
御できるようなシステムを構成する場合一般に利用する
ことがで、きる。
[発明の効果] 本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記のとおりである
すなわち、一方のマイクロプロセッサによって他方のマ
イクロプロセッサを制御できるようなシステムを構成す
る場合に、簡単なハードウェア構成にて従来と同程度以
上のマイクロプロセッサ制御が可能であり、かつ多品種
マイクロプロセッサの展開への対応を容易にし、汎用性
を向上させることができるとともに、エミュレータの開
発期間を短縮させることができる。
【図面の簡単な説明】
第1図は、本発明をエミュレータ・システムに適用した
場合の一実施例を示すブロック図、第2図は対象マイク
ロプロセッサを停止状態にさせる場合のRAM内への命
令の格納状態の一例を示すメモリマツプ、 第3図は対象マイクロプロセッサに所望の制御用命令を
実行させる場合のRAM内への命令の格納状態の一例を
示すメモリマツプ。 第4図は、エミュレータを有するシステム開発装置の一
例を示す構成図である。 1・・・・ユーザー・システム、2・・・・ICソケッ
ト、3・・・・コネクタ、4・・・・イン・サーキット
・エミュレータ、5・・・・CRTデイスプレィ、6・
・・・フロッピーディスク装置、7・・・・システム開
発装置、8・・・・RAM、9・・・・MPU (マイ
クロプロセッサ)、10・・・・対象マイクロプロセッ
サ(エミユレーション用MPU)、lla〜lid・・
・・バス、12a〜12c・・・・パスバッファ、13
・・・・制御用マイクロプロセッサ、16・・・・制御
回路、17・・・・共有メモリ(RAM)。

Claims (1)

  1. 【特許請求の範囲】 1、一方のマイクロプロセッサによつて他方のマイクロ
    プロセッサを制御できるようなシステムを構成する場合
    において、両方のマイクロプロセッサからアクセス可能
    なメモリを設け、制御用マイクロプロセッサにて上記メ
    モリに設定した命令を、制御対象となるマイクロプロセ
    ッサにて実行させることによりマイクロプロセッサの動
    作制御を行うようにしたことを特徴とするマイクロプロ
    セッサの制御方式。 2、制御対象となるマイクロプロセッサに実行させる命
    令を、プロセッサのリスタートアドレスに格納し、リセ
    ット信号もしくは割込み信号を使用して上記リスタート
    アドレスの命令の実行を開始させるようにしたことを特
    徴とする特許請求の範囲第1項記載のマイクロプロセッ
    サの制御方式。 3、上記メモリのリスタートアドレスに同一アドレスへ
    のジャンプ命令を格納し、該命令の繰返し実行による無
    限ループへ移行させることで、制御対象となるマイクロ
    プロセッサの動作を待ち状態させるようにしたことを特
    徴とする特許請求の範囲第1項もしくは第2項記載のマ
    イクロプロセッサの制御方式。 4、上記リスタートアドレス内のジャンプ命令の飛先番
    地を、制御用マイクロプロセッサによって書き換えるこ
    とにより、制御対象となるマイクロプロセッサを起動さ
    せるようにしたことを特徴とする特許請求の範囲第1項
    もしくは第2項記載のマイクロプロセッサの制御方式。
JP62301997A 1987-11-30 1987-11-30 マイクロプロセッサの制御方式 Pending JPH01142945A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62301997A JPH01142945A (ja) 1987-11-30 1987-11-30 マイクロプロセッサの制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62301997A JPH01142945A (ja) 1987-11-30 1987-11-30 マイクロプロセッサの制御方式

Publications (1)

Publication Number Publication Date
JPH01142945A true JPH01142945A (ja) 1989-06-05

Family

ID=17903641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62301997A Pending JPH01142945A (ja) 1987-11-30 1987-11-30 マイクロプロセッサの制御方式

Country Status (1)

Country Link
JP (1) JPH01142945A (ja)

Similar Documents

Publication Publication Date Title
US5615331A (en) System and method for debugging a computing system
US5084814A (en) Data processor with development support features
US20100153786A1 (en) Processor, multiprocessor, and debugging method
US7016826B2 (en) Apparatus and method of developing software for a multi-processor chip
JPH01142945A (ja) マイクロプロセッサの制御方式
JPH0727472B2 (ja) デバッグ環境を備えた集積回路
JP3449812B2 (ja) 制御用電子装置
KR100200712B1 (ko) 노-타겟 시스템의 프로그램 디버깅 장치
JPH08272770A (ja) マイクロコントローラディベロップメントシステム
JPH02135545A (ja) デバッガの実行制御処理方式
JPH0283749A (ja) マイクロプロセッサの内部割込み制御方式
JP3424548B2 (ja) 組み込み機器用ソフトウエア論理シミュレータ
JPH0565894B2 (ja)
JPH0883198A (ja) プログラムシミュレーション装置
KR100658485B1 (ko) 마이크로프로세서 개발시스템
JP3685288B2 (ja) マイクロプロセッサのエミュレーション方法およびエミュレータ装置
JPS63269237A (ja) マイクロコンピユ−タの開発装置
JPS63313242A (ja) エミユレ−タ
JP3120841B2 (ja) インサーキットエミュレータ
JPH01298445A (ja) Romエミューレーションによるソフトウェア開発支援装置
JPS62290942A (ja) デバツガ起動方式
JP2001216180A (ja) 情報処理装置及びその制御方法並びに記憶媒体
Ergincan et al. A stand-alone in-circuit emulator
JPH0373011B2 (ja)
JPH06175874A (ja) インサーキットエミュレータ装置