JPH0435779B2 - - Google Patents

Info

Publication number
JPH0435779B2
JPH0435779B2 JP62024223A JP2422387A JPH0435779B2 JP H0435779 B2 JPH0435779 B2 JP H0435779B2 JP 62024223 A JP62024223 A JP 62024223A JP 2422387 A JP2422387 A JP 2422387A JP H0435779 B2 JPH0435779 B2 JP H0435779B2
Authority
JP
Japan
Prior art keywords
central processing
processing unit
signal
input
output
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.)
Expired - Lifetime
Application number
JP62024223A
Other languages
English (en)
Other versions
JPS63282528A (ja
Inventor
Sadakatsu Hashimoto
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP62024223A priority Critical patent/JPS63282528A/ja
Priority to DE19883852660 priority patent/DE3852660T2/de
Priority to EP19880101433 priority patent/EP0280890B1/en
Publication of JPS63282528A publication Critical patent/JPS63282528A/ja
Publication of JPH0435779B2 publication Critical patent/JPH0435779B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
産業上の利用分野 本発明は、中央処理装置実行命令の検出方式に
関し、さらに詳しくは高度にパイプライン化され
た中央処理装置であつても特定命令の検出を実現
できる中央処理装置実行命令の検出方式に関す
る。 背景技術 コンピユータシステムは、機種によつてそれぞ
れ固有のハードウエア、ソフトウエア構成を有し
ており、その上で実行されるプログラムは、一般
にその機種専用の特定プログラムであり、他の機
種で使用することはできない。 このような或る特定のシステム専用のアプリケ
ーシヨンプログラムを別のシステムで使用する場
合には、それがシステムコールと呼ばれるソフト
上の手段のみを介してハードウエア構成へアクセ
スしておれば、該システムコールを検出してエミ
ユレート可能であることは従来より知られてお
り、また実際に行なわれている。しかしながらア
プリケーシヨンプログラムが、入力/出力命令な
どで直接ハードウエアをアクセスしている場合に
は、その命令の実行を検出しなければならない。 典型的な先行技術は第4図に示されている。第
4図は代表的な16ビツト中央処理装置である
i8086(商品名)を例にとつてその方法の概念を示
すブロツク部である。 中央処理装置1、固定メモリ2、随時メモリ
3、入出力ポート4および検出回路5は、システ
ムバスl1により相互に接続されている。検出回
路5は中央処理装置1の実行命令を検出するため
に設置されており、アドレスデコーダ6を含む。 中央処理装置1が外部装置をアクセスする場
合、その対象がメモリであるか入出力装置(図示
せず)であるかは、ラインl2を介して出力され
る識別信号であるIO/M信号により、検出回路
5で判別される。メモリアクセスの場合は、ライ
ンl3を介して固定メモリ2あるいは随時メモリ
3がアクセスされ、入出力装置とアクセスする場
合はラインl4を介して入出力ポート4がアクセ
スされる。 上記アクセスに必要なアドレス情報は、システ
ムバスl1を介して検出回路5内のアドレスデコ
ーダ6に与えられる。アドレスデコーダ6はアド
レスラツチイネーブル(以下、ALEと記す)信
号を発生し、アドレスデコーダ6はALE信号に
よつてラツチされたこれらアドレスデコーダ6の
内容を解読して、中央処理装置1のアクセス対象
に対応するアドレス情報を解読し、所定の外部装
置をアクセスする。 このとき入出力ポート4のアドレス空間のアク
セスにおいて、入出力装置(図示せず)のアクセ
スを実際には行わず、つまりラインl4を駆動せ
ず、中央処理装置1へは検出回路5よりラインl
6へ直接レデイ(以下、READYと記す)信号を
返送すると、中央処理装置1は上記の入出力装置
のアクセスが実行されたものと判断して次の動作
に移る。 このとき入出力バスサイクルの開始時において、
検出回路5がマスク不能割込み要求(ノンマスカ
ブルインタラプト、以下NMIと記す)信号を発
生させ、ラインl7を介して中央処理装置1へ
NMI信号を入力すると、中央処理装置1は次の
命令を実行する前にNMI処理過程に制御処理を
移す。 したがつてNMI処理過程の中では、NMI信号
が発生したアドレスの前の命令内容を調べれば、
それがどんな命令であるか、何番地をアクセスし
たのかを調べることができる。このようにバスサ
イクルによりNMI信号を出力し、割込みをかけ
て中央処理装置実行命令を検出する方式は、上記
i8086だけでなく代表的な8ビツト中央処理装置
であるZ80(商品名)などの他の中央処理装置に
対しても有効である。 発明が解決しようとする問題点 しかしながら、先行技術による上述のような中
央処理装置命令の検出方式は、中央処理装置内部
の処理ブロツクが高度にパイプライン化された、
たとえばインテルi80286(商品名)などの中央処
理装置には適用することができない。i8086も内
部はパイプライン化されているが、i80286ほどは
高度ではないから、入力/出力命令だけに限定す
れば、バスサイクルの始めにNMI信号を出力す
れば間に合うけれども、i80286などのように高度
にパイプライン化された中央処理装置では、バス
サイクルによりNMI信号を出力して割込みをか
けても、割込みが受付けられた時点では中央処理
装置内部ではすでに数ステツプ先の処理が行われ
ており、目的の命令を検出することができない。
すなわちNMI処理過程では入力/出力命令のあ
るアドレスを知ることができないという問題点が
あつた。 本発明の目的は、上述の技術的問題点を解決
し、i80286のような高度にパイプライン化された
中央処理装置に対しても、そこで実行される特定
の命令を検出することのできる中央処理装置実行
命令の検出方式を提供することである。 問題点を解決するための手段 本発明は、中央処理装置が特定の命令を取込ん
だことを検出してマスク不能割込み要求信号を発
生する信号発生回路と、 上記特定の命令が実行されたときに上記割込み
要求信号が発生していたかどうかを記憶する信号
状態記憶回路と、 上記特定の命令の実行を無効にする無効化回路
とを備え、 中央処理装置が特定の命令を実行した状態、お
よびこれから実行しようとしている命令を検出す
るようにしたことを特徴とする中央処理装置実行
命令の検出方式である。 作 用 本発明に従えば、中央処理装置が特定の命令を
実行した状態、およびこれから実行しようとして
いる命令を検出し、その命令内容にともなう動作
をエミユレートする。 実施例 第1図は、本発明の一実施例の中央処理装置実
行命令の検出方式を実現するハードウエア構成を
示すブロツク図である。本実施例は中央処理装置
11と、中央処理装置11が特定の命令を取込ん
だ(以下、フエツチと記す)ことを検出する監視
回路17と、上記フエツチを検出してNMI信号
を発生する回路、上記特定の命令が実行されたと
きにNMI信号が発生していたかどうかを記憶す
る回路および上記特定の命令の実行を無効にする
回路を内蔵した検出回路15と、固定メモリ1
2、随時メモリ13および入出力ポート14など
の外部装置から形成される。検出回路15にはア
ドレスデコーダ16が含まれており、上記各回路
はシステムバスl11により相互に接続されてい
る。 本実施例の特徴は、高度にパイプライン化され
た、たとえばi80286などのような中央処理装置1
1の特定の実行命令をフエツチしたことを検出す
る監視回路17を設けたことである。 中央処理装置11と検出回路15とには、シス
テムバスl11以外にラインl12,l13,l
14が接続されている。ラインl12は検出回路
15から中央処理装置11へNMI信号を伝送す
るラインであり、ラインl13は中央処理装置1
1から検出回路15へステータス信号が伝送され
るラインであり、ラインl14は検出回路15か
ら中央処理装置11に対してREADY信号が伝送
されるラインである。 ステータス信号はその中に、バスサイクルステ
ータスS1,S0、メモリ/IOセレクト信号
M/IOなどの各種制御情報が含まれており、検
出回路15によつてその内容が解読される。命令
フエツチ信号はラインl16を介して監視回路1
7に入力され、入出力命令をフエツチしたときに
ラインl15より出力する監視回路17の出力
は、ラインl15を介して検出回路15に入力さ
れる。また検出回路15から、メモリ手段である
固定メモリ12および随時メモリ13に対して、
ラインl17を介してメモリセレクト信号が出力
され、入出力ポート14に対してはラインl18
を介して装置選択信号が出力され、さらに入出力
ポート14から検出回路15に対してラインl1
9を介して入出力READY信号が返送される。 第2図は、本実施例の電気的構成を示す回路図
である。第2図において、中央処理装置11と監
視回路17と入出力ポート14とを除く部分は検
出回路15を構成し、アドレスデコーダ16を含
む。 第2図において、中央処理装置11はたとえば
高度にパイプライン化された中央処理装置である
i80286であり、監視回路17は中央処理装置11
の入力/出力命令を監視(モニタ)するものとす
る。情報バスl11を介して監視回路17に入力
される中央処理装置11の入力/出力命令のコー
ドは、たとえば第1表に示されるような8通りが
あり、1バイトまたは2バイト命令である。
【表】 ラインl13を介して中央処理装置11から出
力されるステータス信号は、デコーダ15aによ
つて解読され、ラインl16から命令フエツチ信
号が導出されて監視回路17に入力される。また
ラインl22を介してメモリ読出し信号(以下、
MRD信号と記す)が、ラインl23を介して入
出力読出し信号(以下、信号と記す)が、ラ
インl24を介して外部書込み信号(以下、
IOW信号と記す)がそれぞれ個別的に導出され
る。 命令フエツチ信号によつて現在行おうとしてい
るバスサイクルがどのようなものであるかを監視
回路17が解読する。 信号は、中央処理装置11がメモリを読
取る際にアクテイブとなる信号であり、デコーダ
15a内において上記ステータス信号の解読結果
に基づいて作成される。このメモリアクセスが行
われると、後述するように中央処理装置11が入
力/出力命令をフエツチしたとき、第1フリツプ
フロツプ回路15bの出力ラインl12が「L」
→「H」にレベル変化し、この「L」→「H」の
レベル変化はNMI信号として中央処理装置11
に入力される。 信号は、中央処理装置11が図示しない入
出力装置に関する情報を読取る際にアクテイブと
なる信号であり、信号は上記情報を書込む
際にアクテイブとなる信号であつて、ともにデコ
ーダ15aにおいて上記ステータス信号の解読結
果に基づいて作成される。これら入出力装置のア
クセスは、通常はl18を介してI/Oへ伝えら
れ、l19→l14を経て中央処理装置11に
READY信号が返送される。しかし、第3フリツ
プフロツプ15dがセツトされている場合は、
AND回路15jによつてデバイスセレクトを示
すl18が「H」になるのが禁止され、実際の
I/O14へのアクセスは行われない。中央処理
装置11へのREADY信号l14は15eの出力
であるl25よりAND回路15gを介して、さ
らにOR回路15hを介して返送される。このよ
うにI/Oデバイス14からの信号l19が
「L」であつても、中央処理装置11には
READY信号が返されるため、実際のI/Oアク
セスを無効にすることができる。 次に第1図および第2図をあわせて参照しつ
つ、本実施例の動作について説明する。ここで第
1フリツプフロツプ回路15bと第2フリツプフ
ロツプ回路15cはいずれもクリアされており、
NMI信号が伝送されるラインl13、および上
記入出力アクセスがなされたかどうかが検出され
るラインl30に導出される出力レベルは、とも
に「L」であるとする。またラインl28、l2
9を介して、中央処理装置11のアクセスにより
セツト/リセツトされる第3フリツプフロツプ回
路15dはセツトされており、その出力ラインl
27のレベルは「H」であるとする。 デコーダ15aは、ラインl13に導出される
ステータス信号を読取り、フエツチサイクルを認
識すればラインl15を介して監視回路17に命
令フエツチ信号を与える。監視回路17は情報バ
スl11dに導出される情報を監視することによ
り、入力/出力命令のような特定の命令コードを
認識する。監視回路17は上記の2つの情報とが
ともに真であるとき、すなわち命令フエツチ信号
と入出力命令コードとが入力されたとき、ライン
l16に「H」レベルを導出し、ORゲート15
fを介して第1フリツプフロツプ回路15bの情
報入力端子に入力される。 一方、バスサイクルの最後で信号が
「L」→「H」にレベル変化するタイミング、す
なわち中央処理装置11がメモリ読取りを実行し
た時点において、上記信号が第1フリツプ
フロツプ回路15bのクロツク入力端子に入力さ
れ、これによつて第1フリツプフロツプ回路15
bの出力ラインl12は「L」→「H」にレベル
変化する。この「L」→「H」のレベル変化は中
央処理装置11にNMI信号として入力され、こ
の時点で特定の命令(本実施例においてはたとえ
ば入力/出力命令)がフエツチされたことを検出
できることになる。なお上記NMI信号は、第1
フリツプフロツプ回路15bがクリアされるまで
保持される。 またこのとき第2フリツプフロツプ回路15c
の状態、すなわちラインl30のレベルは「L」
で変化しない。中央処理装置11は、上記NMI
信号が入力されると、現在実行中の命令を終了後
に割込み処理過程に制御動作を移すけれども、通
常は中央処理装置11内のバス・インタフエー
ス・ユニツト(BIU)には未処理のメモリあるい
は入出力装置のアクセス要求が残つており、実際
の制御動作の転移は、上記すべてのアクセス要求
を完了した後に行われる。 このとき入出力アクセスが行われると、信
号あるいは信号によつて、NANDゲート1
5eを介してラインl25が「L」→「H」にレ
ベル変化するので、第2フリツプフロツプ回路1
5cはセツトされ、ラインl30には「H」が出
力される。入出力アクセスが発生しなければ第2
フリツプフロツプ回路15cはクリアされたまま
で、ラインl30のレベルは「L」を保持する。
このラインl30の「L」または「H」のレベル
を情報バスl11を介して中央処理装置11が読
取ることにより、NMI信号が発生した後に、入
出力アクセスがなされたかどうかが判断される。
このようにフリツプフロツプ15cはNMI信号
が発生してから割込処理過程に移るまでの間に、
中央処理装置11が入出力アクセスを行つたかど
うかを記録する。AND回路15jによつて実際
の入出力アクセスは行われず、中央処理装置11
へはAND15gを介してREADY信号が返され
る。 第3図は、本実施例による動作を示すフローチ
ヤートである。第1図および第2図をあわせて参
照しつつ、説明する。 ステツプn1で、ラインl30のレベルが中央
処理装置11により読取られ、入出力アクセスの
有無が判断される。上記レベルが「L」である
と、入出力アクセスが行われていないからステツ
プn2へ進む。NMI信号は、前述のごとく入力/
出力命令のフエツチによつて発生するけれども、
実際にはオペランドのフエツチによつても発生す
るので、割込み発生点の命令内容を調べるため
に、ステツプn2では割込み発生点の命令が読取
られ、ステツプn3ではその命令が入力/出力命
令かどうかが判断される。入力/出力命令であれ
ば、ステツプn4でその実行動作をエミユレート
する。 ステツプn5ではエミユレート後の復帰アドレ
スを入力/出力命令の次のアドレスに変更し、ス
テツプn6に進んで前述の第1フリツプフロツプ
回路15bと第2フリツプフロツプ回路15cと
をクリアし、ステツプn7でNMI処理制御が終了
し、割込み以前の状態に復帰する。 ステツプn3において入力/出力命令以外の命
令であると判断されると、ステツプn10へ移つて
その命令が実行され、終わればステツプn6へ進
み、第1および第2フリツプフロツプ回路15
b,15cをクリアする。ステツプn7でNMI処
理制御が終了し、割込み以前の状態に復帰する。 ステツプn1で、ラインl30のレベルが「H」
であつた場合は、ステツプn8へ移る。ここでラ
インl30のレベルが「H」であるということ
は、NMI信号が発生して割込み処理過程へ移る
までの間に、入出力アクセスがなされたことを示
している。このとき割込み発生点の前の命令は前
掲第1表に示されたような1〜2バイト命令の入
力/出力命令であることが確認されているので、
ステツプn8では当該割込み発生点より1バイト
または2バイト前の命令がどんな命令であつたか
を調べ、ステツプn9でその命令に相当する動作
をエミユレートする。その後、ステツプn6へ進
み、第1および第2フリツプフロツプ回路15
b,15cをクリアする。ステツプn7でNMI処
理制御が終了し、割込み以前の状態に復帰する。 上述の実施例では、中央処理装置11から出力
されるステータス信号に含まれているオペランド
コードの信号フエツチを判別するためにステツプ
n8を設けたけれども、検出回路15に入力され
るステータス信号からオペランドコードを分離
し、命令コードのみを入力するようにしてもよ
い。これによりオペランドコードによるNMI信
号発生が解消し、処理速度を格段に向上させるこ
とができる。 本実施例では中央処理装置11にi80286を例に
とり説明したけれども、他の中央処理装置につい
ても同様に実施可能なものである。また命令につ
いては入力/出力命令を例にとり説明したけれど
も、他の命令に対しても検出動作を実現すること
ができる。 効 果 以上のように本発明に従う中央処理装置実行命
令の検出方式は、当該中央処理装置が特定の命令
を実行した状態、およびこれから実行しようとし
ている命令を検出し、その命令内容にともなう動
作をエミユレートするようにした。 これにより、高度にパイプライン化された中央
処理装置の実行命令を検出することができ、特に
入力/出力命令を検出することにより、異なつた
ハードウエア構成のシステム用に作成されたプロ
グラムを実行することができる。
【図面の簡単な説明】
第1図は本発明の一実施例のハードウエアの構
成を示すブロツク図、第2図はその電気的構成を
示す回路図、第3図は本実施例の動作を示すフロ
ーチヤート、第4図は先行技術を示すブロツク図
である。 11……中央処理装置、14……入出力ポー
ト、15……検出回路、16……アドレスデコー
ダ、17……監視回路。

Claims (1)

  1. 【特許請求の範囲】 1 中央処理装置が特定の命令を取込んだことを
    検出してマスク不能割込み要求信号を発生する信
    号発生回路と、 上記特定の命令が実行されたときに上記割込み
    要求信号が発生していたかどうかを記憶する信号
    状態記憶回路と、 上記特定の命令の実行を無効にする無効化回路
    とを備え、 中央処理装置が特定の命令を実行した状態、お
    よびこれから実行しようとしている命令を検出す
    るようにしたことを特徴とする中央処理装置実行
    命令の検出方式。
JP62024223A 1987-02-04 1987-02-04 中央処理装置実行命令の検出方式 Granted JPS63282528A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP62024223A JPS63282528A (ja) 1987-02-04 1987-02-04 中央処理装置実行命令の検出方式
DE19883852660 DE3852660T2 (de) 1987-02-04 1988-02-02 Befehlsablauferkennungssystem und -methode für zentrale Verarbeitungseinheit.
EP19880101433 EP0280890B1 (en) 1987-02-04 1988-02-02 System and method for detecting the execution of an instruction in a central processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62024223A JPS63282528A (ja) 1987-02-04 1987-02-04 中央処理装置実行命令の検出方式

Publications (2)

Publication Number Publication Date
JPS63282528A JPS63282528A (ja) 1988-11-18
JPH0435779B2 true JPH0435779B2 (ja) 1992-06-12

Family

ID=12132275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62024223A Granted JPS63282528A (ja) 1987-02-04 1987-02-04 中央処理装置実行命令の検出方式

Country Status (3)

Country Link
EP (1) EP0280890B1 (ja)
JP (1) JPS63282528A (ja)
DE (1) DE3852660T2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5075840A (en) * 1989-01-13 1991-12-24 International Business Machines Corporation Tightly coupled multiprocessor instruction synchronization

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57199052A (en) * 1981-06-01 1982-12-06 Mitsubishi Electric Corp Data processing device
JPS58197553A (ja) * 1982-05-12 1983-11-17 Mitsubishi Electric Corp プログラム監視装置
US4727480A (en) * 1984-07-09 1988-02-23 Wang Laboratories, Inc. Emulation of a data processing system
US4791557A (en) * 1985-07-31 1988-12-13 Wang Laboratories, Inc. Apparatus and method for monitoring and controlling the prefetching of instructions by an information processing system

Also Published As

Publication number Publication date
DE3852660T2 (de) 1995-05-11
EP0280890B1 (en) 1995-01-04
DE3852660D1 (de) 1995-02-16
EP0280890A3 (en) 1990-08-22
EP0280890A2 (en) 1988-09-07
JPS63282528A (ja) 1988-11-18

Similar Documents

Publication Publication Date Title
US5430862A (en) Emulation of CISC instructions by RISC instructions using two pipelined stages for overlapped CISC decoding and RISC execution
US4942519A (en) Coprocessor having a slave processor capable of checking address mapping
US4635193A (en) Data processor having selective breakpoint capability with minimal overhead
KR19980069757A (ko) 마이크로프로세서 및 멀티프로세서 시스템
US4747045A (en) Information processing apparatus having an instruction prefetch circuit
JPS61204758A (ja) コ・プロセツサ制御方式
JPS645330B2 (ja)
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
JPH0435779B2 (ja)
JPS62197831A (ja) デ−タ処理装置
JP2619425B2 (ja) シーケンスコントローラ
JP2808757B2 (ja) デバッグ用マイクロプロセッサ
JP2859048B2 (ja) マイクロコンピュータ
JPH06324861A (ja) Cpu制御システム及び制御方法
JPH0241770B2 (ja)
EP0138045A2 (en) Apparatus and method for synchronization of peripheral devices via bus cycle alteration in a microprocessor implemented data processing system
JP2883335B2 (ja) 情報処理装置
JPH0259829A (ja) マイクロコンピュータ
JPH07121396A (ja) エミュレータ
JPH06348543A (ja) 入出力シミュレータとの接続方法
JP2644104B2 (ja) マイクロプロセッサ
JPS595932B2 (ja) デ−タ処理方式
JP2022015197A (ja) デバッグ用インサーキットエミュレータ装置
JPH04290130A (ja) プロセッサのエラー管理方式
JPH0752402B2 (ja) データ処理装置