JPS63282528A - 中央処理装置実行命令の検出方式 - Google Patents

中央処理装置実行命令の検出方式

Info

Publication number
JPS63282528A
JPS63282528A JP62024223A JP2422387A JPS63282528A JP S63282528 A JPS63282528 A JP S63282528A JP 62024223 A JP62024223 A JP 62024223A JP 2422387 A JP2422387 A JP 2422387A JP S63282528 A JPS63282528 A JP S63282528A
Authority
JP
Japan
Prior art keywords
signal
instruction
central processing
processing unit
circuit
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.)
Granted
Application number
JP62024223A
Other languages
English (en)
Other versions
JPH0435779B2 (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, look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、中央路I!!装置実行命令の検出方式に関し
、さらに詳しくは高度にパイプライン化された中央処理
装置であっても特定命令の検出を実現できる中央処理装
置実行命令の検出方式に関する。
背景技術 ]ンピュータシステムは、機種によってそれぞれ固有の
ハードウェア、ソフトウェア構成を有しており、その上
で実行されるプログラムは、一般にその機種算用の特定
プログラムであり、他の機種で使用することはできない
このような成る特定のシステム専用のアプリケーション
プログラムを別のシステムで使用する場合には、それが
システムコールと呼ばれるソフト上の手段のみを介して
ハードウェア構成へアクセスしておれば一該システムコ
ールを検出してエミュレート可能であることは従来より
知られており、また実際に行なわれている。しかしなが
らアプリケーションプログラムが、入力/出力命令など
で直接ハードウェアをアクセスしでいる場合には、その
命令の一実行を検出しなければならない。
典型的な先行技術は第4図に示されている。第4図は代
表的な16ビツト中央処理装置である;8086(商品
名)を例にとってその方法の概念を示すブロック図であ
る。
中央処理装置1、固定メモリ2、随時メモリ3、入出力
ボート4および検出回路5は、システム/ぐス、e1に
より相互に接続されている。検出回路5は中央処理装置
1の実行命令を検出するために設置されており、アドレ
スデコーダ6を含む。
中央処理装置1が外部i置をアクセスする場合、その対
象がメモリであるか入出力装置(図示せず)であるかは
、ライン12を介して出力される識別信号であるIO/
M信号により、検出回路5で判別される。メモリアクセ
スの場合は、ライン13を介して固定メモリ2あるいは
随時メモリ3がアクセスされ、入出力yc置とアクセス
する場合はライン!4を介して入出力ボート4がアクセ
スされる。
上記アクセスに必要なアドレス情報は、−システムバス
ノ1を介して検出回路5内のアドレスデコーダ6に与え
られる。アドレスデコーダ6はアドレスラッチイネーブ
ル(以下、ALEと記す)信号を発生し、アドレスデコ
ーダ6はALE信号によってラッチされたこれらアドレ
スデコーダ6の内容を解読して、中央路J!!装置1の
アクセス対象に対応するアドレス情報を解読し、所定の
外部装置をアクセスする。
このとき入出力ボート4のアドレス空間のアクセスにお
いて、入出力装置(図示せず)のアクセスを実際には行
わず、中央路P!!yi装置1へはライソノ5→検出回
路5→ライン!6の経路でレディ (以下、READY
と記す)信号を返送すると、中央処理装置1は上記の入
出力Vtr!Lのアクセスが実行されたものと7q断し
て次の動作に移る。このような処理過程をN M I処
理過程と称する。このとき入出力バスサイクルの開始時
において、検出回路5がマスク不詣割込み要求(ノンマ
スカブルインタラブド、以下N M Iと記す)信号を
発生させ、ライン!7を介して中央処理装ra1へNM
I信号を入力すると、中央処理装置1は次の命令を実行
する前に上記NMI処理過程に制御処理を移す。
したがってN M I処理過程の中では、NMI信号が
発生したアドレスの前の命令内容を調べれば、それがど
んな命令であるか、何番地をアクセスしたのかを調べる
ことができる。このようにバスサイクルによりNMI信
号を出力し、割込みをかけて中央処理装置実行命令を検
出する方式は、上記i808 f3  だけでなく代表
的な8ビツト中央処理装置であるZ80(商品名)など
の他の中央処理装置に対しても有効である。
発明が解決しようとする問題点 しかしながら、先行技術による上述のような中央処理装
置命令の検出方式は、中央処理装置内部の処理ブロック
が高度にパイプライン化された、たとえばインテル18
0286(商品名)などの中央処理装置には適用するこ
とができない。18086も内部はパイプライン化され
ているが、180286はどは高度ではないから、入力
/出力命令だけに限定すれば、バスサイクルの始めにN
MI信号を出力すれば間に合うけれども、i80286
などのように高度にパイプライン化された中央処理装置
では、バスサイクルによりNMI信号を出力して割込み
をかけても、割込みが受付けられた時点では中央処理装
置内部ではすでに数ステップ先の処理が行われており、
目的の命令を検出することができない。すなわちNMI
処理過程では入力/出力命令のあるアドレスを知ること
ができないという間だ点があった。
本発明の目的は、上述の技術的問題点を解決し、i80
286  のような高度にパイプライン化された中央処
理装置に対しても、そこで実行される特定の命令を検出
することのできる中央処理装置実行命令の検出方式を提
供することである。
問題点を解決するための手段 本発明は、中央処理装置が特定の命令を取込んだことを
検出してマスク不WBM込み要求信号を発生する信号発
生回路と、 上記特定の命令が実行されたときに上記割込み要求信号
が発生しでいたかどうかを記憶する信号状態記憶回路と
、 上記特定の命令の実行を無効にする無効化回路とを備え
、 中央処理装置が特定の命令を実行した状態、およびこれ
から実行しようとしている命令を検出するようにしたこ
とを特徴とする中央外!!i装ra実行命令の検出方式
である。
作  用 本発明に従えば、中央処理装置が特定の命令を実行した
状態、およびこれから実行しようとしている命令を検出
し、その命令内容にともなう動作をエミュレートする。
実施例 第1図は、本発明の一実施例の中央処理装置!実行命令
の検出方式を実現するハードウェア構成を示すブロック
図である。本実施例は中央処理装置11と、中央処理装
置11が特定の命令を取込んだ(以下、7エツチと記す
)ことを検出する監視回路17と、上記7エツチを検出
してNMIffi号を発生する回路、上記特定の命令が
実行されたときにNMI信号が発生していたかどうかを
記憶する回路および上記特定の命令の実行を無効にする
回路を内蔵した検出回路15と、固定メモリ12、随時
メモリ13おより入出力ボート14などの外部装置から
形成される。検出回路15にはアドレスデコーダ16が
含まれており、上記各回路はシステムパス!11により
相互に接続されている。
本実施例のvf徴は、高度にパイプライン化された、た
とえばi80286  などのような中央処理装W11
1の特定の実行命令を7エツチしたことを検出する監視
回路17を設けたことである。
中央処理装置11と検出回路15とには、システムバス
!11以外にライン!12,713.J?14が接続さ
れている。ラインJ!12は検出回路15から中央処理
装置li!11へNMI信号を伝送するラインであり、
ライン!13は中央処理装r1111から検出回路15
ヘステータス信号が伝送されるラインであり、ライン!
14は検出回路15から中央処理装置i11に対してR
EADY信号が伝送されるラインである。
ステータス信号はその中にIO/M信号、命令7工ツチ
信号、メモリの読出し/書込み(リード/ライト)信号
などの各種制御情報が含まれており、検出回路15によ
ってその内容が解読される。
命令フェッチ信号はライン!15を介して監視回路17
に入力され、I O/M信号はライン、/18を介して
Toボート14に入力される。
監視回路17の出力は、ライン716を介して検出回路
15に入力される。また検出回路15から、メモリ手段
である固定メモリ12および随時メモリ13に対して、
ライン!17を介してメモリセレクト信号が出力され、
入出力ボート14に対してはライン!18を介して装置
選択信号が出力され、さらに入出力ボート14から検出
回路15に対してライン!19を介して入出力READ
Y信号が返送される。
fjS2図は、本実施例の電気的構成を示す回路図であ
る。PIS2図において、中央処理装ra11と監視回
路17と入出カポ−)14とを除く部分は検出回路15
を構成し、アドレスデコーダ16を含む。
第2図において、中央処理装置11はたとえば5度にパ
イプライン化された中央処理y!を置であるi8028
6  であり、監視回路17は中央処理装rallの入
力/出力命令を監視(モニタ)するものとする、情報バ
スノ11を介して監視回路17に入力される中央処理装
置fillの入力/出力命令のコードは、たとえばmi
表に示されるような8通りがあり、1バイトまたは2バ
イト命令である。
第1表 ライン113を介して中央処理装置!!11から出力さ
れるステータス信号は、デコーダ15aによって解読さ
れ、ライン、/15から命令7工ツチ信号が導出されて
監視回路17に入力される。またライン!22を介して
メモリ読出し信号 (以下、MRD信号と記す)が、ラ
イン、/23を介して外部読出し信号(以下、IOR信
号と記す)が、ライン、/24を介して外部:込み信号
 (以下、IOW信号と記す)がそれぞれ個別的に導出
される。
命令7工ツチ信号によって現在行おうとしているバスサ
イクルがどのようなものであるかを監視回路17が解読
する。
MRD信号は、中央処理装r!111がメモリを読取る
際にアクティブとなる信号であり、デフーグ15a内に
おいて上記ステータス信号の解読結果に基づいて作成さ
れる。このメモリア、クセスが行われると、後述するよ
うに第17リツププロツプ回路15bの出力ライン!1
2がrLJ→rHJにレベル変化し、このrLJ→rH
Jのレベル変化+! N MI倍信号して中央処理装r
!111に入力される。
IOR信号は、中央処理fi jij!11が図示しな
い入出力VC置に関する情報を読取る際にアクティブと
なる信号であり、IOW信号は上記情報を書込む際にア
クティブとなる信号であって、ともにデコーダ15aに
おいて上記ステータス信号の解読結果に基づいて作成さ
れる。これら入出力装置のアクセスが行われると、後述
するように第27リツプ70ツブ回路15cの出力!3
0がrLJ→rHJにレベル変化し、このレベル変化は
システムバス!11を介して中央処理装fillに与え
られ、中央処理装置11はこのレベル変化を読取ること
により、入出力アクセスが行われたと判断する。
次に第1図および第2図をあわせて参照しつつ、本実施
例の動作について説明する。ここでfiS17リツプ7
0ツブ回路15bと第27リツプ70.。
ブ回路15cはいずれもクリアされており、N MI倍
信号伝送されるライン!13、および上記入出力アクセ
スがなされたかどうかが検出されるライン!30に導出
される出力レベルは、ともに「L」であるとする、また
ライン、/28.、g29を介して、中央処理装置11
のアクセスにより七ット//リセットされるPt537
リツプ70ツブ回路15dはセットされており、その出
力ラインノ27のレベルはrHJであるとする。
デコーダ15aは、ライン!131こ導出されるステー
タス信号を読取り、7エツチサイクルを認識すればライ
ンノ15を介して監視回路17に命+7エツチ信号を与
える。監視回路17は情報バス、(jldに導出される
情報を監視することにより、入力/出力命令のような特
定の命令コードを認識する。監視回路17は上記の2つ
の情報とがともに真であるとき、すなわち命令7工ツチ
信号と命令コードとが入力されたとき、ライン、/16
に[HJレベルを導出し、ORデート15fを介して第
17リツプ70ツブ回路15bの9報入力端子に入力さ
れる。
一方、パスサイクルの最後でMRD信号がrLJ→rH
Jにレベル変化するタイミング、すなわち中央処理装置
11がメモリ読取りを実行した時点において、上記MR
D信号が第17リツプ70ツブ回路15bのクロック入
力端子に入力され、これによって第17リツプ70フプ
回路15bの出力ライン、512はrLJ→rHJにレ
ベル変化する。このrLJ→rHJのレベル変化は中央
処理装置11にNMI信号として入力され、この時点で
特定の命9r(本実施例においてはたと乏ば入力/出力
命令)が7エツチされることになる。なお上記NMI信
号は、第17リツプ70ツブ回路15bがクリアされる
まで保持される。
またこのと!1第27リツプ70ツブ回路15cの状;
、すなわちライン!30のレベルはrLJで変化しない
、中央処理装置11は、上記NMI信号が入力されると
、現在実行中の命令を終了後に割込み処理過程に$−1
f 1B動作を移すけれども、通常は中央処理装ra1
1内のパス・インタフェース・ユニy)(BIU)には
未処理のメモリあるいは入出力装置のアクセス要求が残
っており、実際の制御動作の松移は、上記すべてのアク
セス要求を完了した後に行われる。
このとき入出力アクセスが行われると、IOR信号ある
いは工OW信号によって、NANDデート15eを介し
てライン!25がrLJ→rHJにレベル変化するので
、第27リツプ70ツブ回路15cはセットされ、ライ
ン!30には「HJが出力される。入出力アクセスが発
生しなければ第27リツプ70ツブ回路15cはクリア
されたままで、フィン!30のレベルはrLJを保持す
る。このライン!30の「L」または「H」のレベルを
情報パス111を介して中央処理装置11が読取ること
により、入出力アクセスがなされたかどうかが判断され
る。
ff13図は、本実施例による動作を示すフローチャー
トである。第1図お上びPIS2図をあわせて参照しつ
つ、説明する。
スフ−ツブn1  で、ラインノ30のレベルが中央処
理装fillにより読取られ、入出力アクセスの有無が
判断される。上記レベルがrLJであると、入出力アク
セスが行われていないからステップn2へ進む、NMI
信号は、前述のごとく入力/出力命令の7エツチによっ
て発生するけれども、実際にはオペランドの7エツチに
よっても発生するので、割込み発生点の命令内容を調べ
るために、ステップn2  では割込み発生点の命令が
読取られ、ステップn3  ではその命令が入力/出力
命偕かどうかが判断される。入力/出力命令であれば、
ステップn4  でその実行動作をエミュレートする。
ステップn5  ではエミュレート後の復帰アドレスを
入力/出力命令の次のアドレスに変更し、ステップn6
  に進んで前述のplS17リツプ70ツブ回路15
bと第27リツプ70ツブ回路15cとをクリアし、ス
テップn7  でNMI処理制御が終了し、割込み以前
の状態に復帰する。
ステップn3  において人力/出力命令以外の命令で
あると1′哩断されると、ステップnlOへ移ってその
命令が実行され、終わればステップn6  へ進み、第
1およびIn27リツプ70ツブ回路15b、15cを
クリアする。ステップn7でNMI処理制御が終了し、
割込み以前の状態に復帰する。
ステップn1  で、ラインJ!300レベルがrHJ
であった場合は、ステップn8  へ移る。ここでライ
ン、530のレベルがrHJであるということは、NM
I信号が発生して割込み処理過程へ移るまでの間に、入
出力アクセスがなされたことを示している。このとき割
込み発生点の前の命令は前掲第1表に示されたような1
〜2バイト命令の入力/出力命令であることが確認され
ているので、ステップn8  では当該割込み発生点よ
り1バイトまたは2バイト前の命令がどんな命令であっ
たかを調べ、ステップn9  でその命令に相当する動
作をエミュレートする。その後、ステップn6  へ進
み、第1および第27リツプ70ツブ回路15b、15
cをクリアする。ステップn7でNMI処理制御が終了
し、割込み以前の状態に復帰する。
上述の実施例では、中央処理装f!11から出力される
ステータス信号に含まれているオペランドコードの信号
7エツチを判別するためにステップn8  を設けたけ
れども、検出回路15に入力されるステータス信号から
オペランドコードを分離し、命令コードのみを入力する
ようにしてもよい、これによりオペランドコードによる
NMI信号発生が解消し、処理速度を格段に向上させる
ことができる。
本実施例では中央処理装fillにi80286を例に
とり説明したけれども、他の中央処理装置についても同
様に実施可能なものである。また命令については入力/
出力命令を例にとり説明したけれども、他の命令に対し
ても検出動作を実現することができる。
効  果 以上のように本発明に従う中央処理装ra実行命令の検
出方式は、当該中央処理装置が特定の命令を実行した状
態、およびこれから実行しようとしている命令を検出し
、その命令内容にともなう動作をエミュレートするよう
にした。
これにより、高度にパイプライン化された中央処理装置
の実行命令を検出することがでさ、特に入力/出力命令
を検出することにより、異なったハードウェア構成のシ
ステム用に作成されたプログラムを実行することができ
る。
【図面の簡単な説明】
第1図は本発明の一実施例のハードウェアの構成を示す
ブロック図、fj52図はその電気的構成を示す回路図
、第3図は本実施例の動作を示す70−チャート、第4
図は先行技術を示すブロック図である。 11・・・中央処理装置、14・・・入出力ボート、1
5・・・検出回路、16・・・アドレスデコーダ、17
・・・監視回路

Claims (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 true JPS63282528A (ja) 1988-11-18
JPH0435779B2 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
JPH0435779B2 (ja) 1992-06-12
EP0280890B1 (en) 1995-01-04
DE3852660T2 (de) 1995-05-11
DE3852660D1 (de) 1995-02-16
EP0280890A2 (en) 1988-09-07
EP0280890A3 (en) 1990-08-22

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
KR100335785B1 (ko) 데이타처리명령의실행
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
US5003468A (en) Guest machine execution control system for virutal machine system
EP0526911A1 (en) A method and apparatus for coordinating execution of an instruction by a coprocessor
JP2993975B2 (ja) 中央演算処理装置
JPS63193239A (ja) 命令順序監視装置と方法
JPS63282528A (ja) 中央処理装置実行命令の検出方式
JPS62197831A (ja) デ−タ処理装置
JPH0147818B2 (ja)
EP0138045A2 (en) Apparatus and method for synchronization of peripheral devices via bus cycle alteration in a microprocessor implemented data processing system
JP2674873B2 (ja) プログラム開発支援装置のステップ実行動作方法
JPH06324861A (ja) Cpu制御システム及び制御方法
JP3171615B2 (ja) データ転送のリトライ制御方式
JPS5955546A (ja) フア−ムウエア処理装置
JP2574918B2 (ja) 割り込み復帰処理方式
JPH07225681A (ja) 割込制御装置
JPH10312307A (ja) コンピュータシステムに適用するエミュレータ
JPS6221130B2 (ja)
JPH0424731B2 (ja)
JPS5924347A (ja) マイクロ命令実行制御方法
JPH04290130A (ja) プロセッサのエラー管理方式
JPH028330B2 (ja)
JPS63150732A (ja) プログラム走行監視装置
JPH07121396A (ja) エミュレータ