JPS6269354A - 情報処理システム - Google Patents

情報処理システム

Info

Publication number
JPS6269354A
JPS6269354A JP60209472A JP20947285A JPS6269354A JP S6269354 A JPS6269354 A JP S6269354A JP 60209472 A JP60209472 A JP 60209472A JP 20947285 A JP20947285 A JP 20947285A JP S6269354 A JPS6269354 A JP S6269354A
Authority
JP
Japan
Prior art keywords
instruction
cpu
coprocessor
mode
queue
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
JP60209472A
Other languages
English (en)
Other versions
JPH065528B2 (ja
Inventor
Tamotsu Iwasaki
保 岩崎
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
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP60209472A priority Critical patent/JPH065528B2/ja
Publication of JPS6269354A publication Critical patent/JPS6269354A/ja
Publication of JPH065528B2 publication Critical patent/JPH065528B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数の命令セットと、これら複数の命令セッ
トにそれぞれ対応する複数の命令実行状態を有するCP
Uと、このCPUと同期して命令のフェッチ、実行を行
うプロセッサを有する情報処理システムに閉する。
〔従来の技術〕
従来、CPUとそのスレーブプロセッサを接続する方式
としてはCP U 8086とそのスレーブプロセッサ
である数値デークプロセッサ8087との間で行なわれ
ているような方式(インテル社1APX86フアミリユ
ーザーズマニユアル第3章)かある。
この方式には 1、スレーブプロセッサはCPUと同じ大きざの命令キ
ューを持ち、CPUか出力するステータスによってCP
Uと同期してフェッチし、デコードを行う。
2、  CPUが持つ命令セットの中にスレーブプロセ
ッサの命令も含まれている。
という特徴がある。このような方式では接続されている
スレーブプロセッサ機能があたかもCPUにその機能が
つけ加わったよう(こ見える。つまり、CPUとスレー
ブプロセッサは1つとしで考えることができる。このよ
うなスレーブプロセッサをコプロセッサと言う。
第4図はこの方式の情報処理システムの従来例の要部を
示す概略図である。
CP U 303内には命令実行部307と、アドレス
バス301、データバス302とのバスインターフェー
ス部305と、命令キュー309と、命令キュー309
内に格納されている命令を命令実行部307に送るため
の内部データバス311が含まれ、コプロセッサ304
内には命令実行部308と、アドレスバス301、デー
タバス302とのバスインターフェース部306と、命
令キュー310と、゛命令キュー310内に格納されで
いる命令を命令実行部308に送るための内部データバ
ス312が含まれでいる。ざらに、CP U303は信
号路313.314を介して表1に示すような命令キ二
一309の状態を示す情報(以下、キューステータスと
呼ぶ) QSTI。
QSTOtコプロセッサ304に送つ、信号路315゜
316、317を介して表2に示すような、現在起動し
でいるバスサイクルの種類を示す情報(以下、バスステ
ータスと奸ぶ) BST2.8STI、 BSTOをコ
プロセッサ304に送る。
表  1 表  2 第5図(1)〜(5)は第4図に示したC P U 3
03とコプロセッサ304の命令キュー309.310
の内容と、CPU303、コプロセッサ304の状態お
よびCP U 303が信号路305.306を通しで
コプロセッサ304に出力する情報(キューステータス
)と、同しく信号路307.308.309を通しで出
力する情報(バスステータス)を時間をあって示しでい
る。簡単のために命令キュー309.310は4バイト
であり、各命令の実行に伴うメモリアクセスはないもの
とする。また、命令A−Eは1バイト長の命令であり、
命令A、命令C−EはCP U 303の命令、命令B
はコプロセッサ304の命令である。
今、CP U 303の命令キュー309とコプロセッ
サ304の命令キュー310には命令A−Dが入ってい
る(第5図(1))。CP U 303は命令キュー3
09から命令A8取り出す。CP U 303は同時に
信号路313.314を通しでキューステータスをコプ
ロセッサ304に送る。コプロセッサ304はこのキュ
ーステータスを受けて、命令キュー310から命令Aを
取り出す。命令キュー309から取り出された命令Aは
CP U 303では内部データバス311を通して命
令実行部307へ送られ、デコードされる。コプロセッ
サ304では内部データバス312ヲ通して命令実行部
308へ送られ、デコードされる。命令AはCP U 
303の命令であり、各デコードの結果、CP U 3
03は命令Aを実行し、コプロセッサ304はそのまま
何も動作しない(第5図(2))。CP U 303は
命令Aの実行が終了すると、命令キュー309から命令
Bl取り出す。同時にCP U 303は信号路313
.314を通しで命令コードの1バイト目の取り出しを
示すキューステータスをコプロセッサ304に出力する
。このキューステータスを受けで、コプロセッサ304
は命令キュー310から命令at取り出す。命令Bは命
令へと同様にCP U 303の命令実行部307とコ
プロセッサ304の命令実行部308においでデコード
される。命令Bはコプロセッサ304の命令であり、デ
コードの結果、CP U 303は何も動作ぜす、コプ
ロセッサ304は命令Bを実行する(第5図(3))。
命令BはCP U 303の命令ではなかったので、C
P U 303はコプロセッサ304が命令Bを実行中
であっても命令キュー309から命令Cを取り出す。コ
プロセッサ304はCP U 303が出力する命令コ
ードの1バイト目の取り出しを示すキューステータスに
より命令Bの実行と並行して命令キュー310から命令
Cを取り出す。命令CはCP U 303の命令である
からCP U 303は命令Cを実行する。コプロセッ
サ304は命令Cのデコードによって例の影響も受けず
、命令Bの実行をつづける(第5図(4))。ここでC
P U 303はバスが使用されでいないことと、命令
キュー309内に命令コードが少なくなったことにより
フェッチ動作を行う。フェッチ動作は次のように行われ
る。
CP tJ 303は命令キュー309に入っている命
令の次の命令のアドレス(ここでは命令Eが格納されて
いる場所に対応するアドレス)がアドレスバス301に
出力される。次に、出力されたアドレスに対応した命令
コードかメモリからデータバス302上に出力される。
C,P U 303はこのデータバス302上に出力さ
れた命令コードを取り込み、命令キュー309に格納す
る。このフェッチ動作中、CPU303は信号路315
.316.317を通してフェッチ動作であることを示
すバスステータスをコプロセッサ304に出力しでいる
。このバスステータスを受けで、コプロセッサ304は
メモリがデータバス302上に出力した命令コード%C
PU303が命令キュー309に格納したのと同様にし
て命令キュー310(こ格納する(第5図(5))。
以上のようにしてコプロセッサ304はCPU303と
同期して命令の7エツチ、実行を行っていく。
ところで、以上の説明で用いたCPU303(インテル
社のCP U 8086)は1つの命令セットしか持っ
ていない。CPUの開発を行う場合、新規の機能を取り
入れてゆくことは重要である。しかし、従来使用されて
いたソフトウェアを継承しでいくことも重要である。C
P U 303の持つ命令セットはすぐれたものである
が、従来使用されでいたソフトウェアを使用するには、
ソフ1へウェアの大幅な改造か必要となってくる。そこ
でこの反する2つの条件を満足させるように次のような
CPU18:考えでみる。
1、命令コードの異なる2つの命令セットを持つ(以下
、一方の命令セットを実行しているときのCPUの状態
をモードO1もう一方の命令セットを実行しでいるとき
のCPUの状態を一ド1と呼z7< )。
2、第6図に示したように、モード0とモード1の間の
遷移は、モードOの命令Eとモード1の命令F1により
ダイナミックに行うことができる。
3、外部にCPUがモード0の状態か、モード1の状態
かを示す端子を持ち、表3に示したようなステータス(
以下、プロセッサステータスと呼ぶ) PSTを出力す
る。
表3 仮に、モード0の命令セットはCPUの命令セットと同
じであるとし、モード1の命令セットでは従来のソフト
ウェアが動かせるものであり、コプロセッサをサポート
しでいないものとする。このようなCPUを第4図に示
したようなシステムで用いようとすると次のような問題
か生じる。
(発明が解決しようとする問題点〕 コプロセッサ304はCP U 303がモード○で命
令を実行しでいるときに正常動作をする。今、CPUが
命令Ft実行してモードOがらモード]に遷移したとす
る。以後、CP U 303はモード1で命令を実行し
、命令キ二一309の状態、バスサイクルのf!頚に応
じてキューステータス、バスステータスをコプロセッサ
304に送る。しかし、コプロセッサ304はCP U
 303がモードOからモード1に遷移したことを検出
する手段を持たないために、モード1に遷移したC P
 U 303が出力するバスステータス、キューステー
タスにしたがってデムタバス302上の命令コードをフ
ェッチし、デコードを行っていく。モード0の命令セッ
トにおけるコプロセッサ304の命令コードと同じコー
ドがモード1の命令セットに存在しでいたとすると、コ
プロセッサ304はCP U 303かモード1である
にもかかわらず動作をしてしまう。これは本来あっては
ならない動作であり、このシステムの大きな問題点であ
る。
〔問題点を解決するための手段〕
本発明の情報処理システムは、CPUの現在の実行状態
を示す情報をプロセッサに出力する手段と、プロセッサ
内に設けられ、前記情報が、CPUが複数の実行状態の
うち所定の状態にあることを示しているときには命令コ
ードをデコードしで出力し、CPUが前記所定の状態以
外の状態にあることを示しているときは命令コードをデ
コードレないか、デコードしても出力しないデコーダを
備えたことを特徴とする。
したがって、CPUかダイナミックにコプロセッサをサ
ポートしでいる命令セットを実行するモードとコプロセ
ッサをサポートしでいない命令セットを実行するモード
との間を遷移する場合、CPUがコプロセッサをサポー
トしていない命令セット実行中のコプロセッサの誤動作
を回避することができる。
〔実施例〕
次に、本発明の実施例について図面を参照しで説明する
第1図は本発明の情報処理システムの一実施例の要部を
示す構成図である。
CP U 103は2つのモード1.0を持ち、命令実
行部107と、アドレスバス101、データバス102
とのバスインタフェース部103と、命令キュー109
と、命令キュー109に格納されでいる命令を命令実行
部107へ送るための内部データバス111を含み、コ
プロセッサ104は、命令実行部108と、アドレスバ
ス101、データバス102とのバスインタフェース部
106と、命令キュー110と、命令キュー110に格
納されている命令コードを命令実行部108へ送るため
の内部データバス112を含んでいる。ざらに、CPU
IO3は信号路+13. I11介して表1に示したよ
うな命令キュー109ノ状態を示す情報(QSTI、 
QSTO) %送つ、信号路115.116.117を
介して表2に示したようなバスステータス(BST2.
8STl、 BSTO)をコプロセッサ104に送り、
信号路118を介して表3に示したようなプロセッサス
テータス(PST) @コプロセッサ104に送る。コ
プロセッサ104の命令実行部108内には内部データ
バス112ヲ通して命令キュー110から送られてくる
命令コードをデコードするデコーダ119が設けられて
おり、このデコーダ119はCPUIO3が信号路11
8を通しで出力するプロセッサステータスによってデコ
ード動作が制御される。すなわち、デコーダ119は信
号路118を通しで送られてくる信号がモード01示す
とき、デコード結果を出力し、モード1を示すときデコ
ード結果を出力しない。
第2図はデコーダ119のブロック図である。
このデコーダ119は、デコーダ601と、インバータ
602と、信号路118からの信号が“1゛、すなわち
CP U 103がモード1の状態のときにデコーダ6
01のデコード結果を出力しないようにするアンドゲー
ト603と、デコード結果を不図示の各ユニットに送る
ための信号路604で構成されでいる。
第3図は、第1図に示したC P U 103とコプロ
セッサ104の命令キュー109.110の内容と、C
PU103とコプロセッサ104の状態およびCPU1
03か信号路113.114を通しでコプロセッサ+0
4に出力するキューステータスと、同しく信号路115
、116.117 u通しで出力するバスステータス、
信号路118%通しで出力するプロセッサステータスを
時間を追って示す図である。
簡単のために、命令キュー109.110は4バイトで
あり、各命令の実行に伴うメモリアクセスはないものと
する。また、各命令は1バイト長のCP U 103の
命令であり、1のついでいる命令はモード1の命令とす
る。特に、命令A1はモードQのコプロセッサ104の
命令コードと同じとする。
今、CP U 103はモードOの状態であり、信号路
118を通してコプロセッサ104にモード0状態を示
す信号を送っている。CPUIO3の命令キュー109
とコプロセッサ104の命令キュー110にはモード○
の命令F、G、H,Iが格納されでいる。CPUIO3
は命令実行のために命令キュー109から命令Fを取り
出し、内部データバス111を通して命令実行部107
へ送る。同時にCPU103は信号路113.114を
通してコプロセッサ104に命令コードの1バイト目を
取り出したことを示すキューステータスを出力する。C
PUIO3からのキューステータスを受けてコプロセッ
サ104は命令キュー110から命令Ft取り出し、内
部データバス112を通して命令実行部108へ送る(
第3図(1))。プロセッサステータスはモードOを示
していることにより、デコーダ119は命令F8デコー
ドする。しかし、命令FはCP u 103の命令であ
るから、コプロセッサ104は何も動作しない。CPU
+03は命令Fをデコードし実行する(第3図(2) 
) 、命令FはCPUIO3をモードOからモード1へ
と遷移させる命令である。したがっで、CP U 10
3はモード1へと遷移する。これに伴っでCP U 1
03はプロセッサステータスをモード1を示すように変
化させるとともに命令キュー109を空にする。続いて
CP U 103はアドレスバス101にモード1の命
令が格納されているアドレスを出力する。このアドレス
に対応した命令コードがデータバス102に出力される
と、CPU103は命令キュー109に格納しでいく、
一方、コプロセッサ104はCP U 103が信号路
113.114を通しで出力しでくるキューステータス
によって命令キュー110を空にする。そしでCP U
 103が信号路115.116.117 !通しで出
力するフェッチを示すバスステータスによりCPU+0
3がデータバス102上に出力されている命令コードを
命令キュ一109に格納するのと同期して命令コードを
命令キュー110に格納する(第3図(3))。
フェッチが完了すると、Ci’ Ll 103は再び命
令キュ一109から命令コードを取り出し実行する。
コプロセッサ104はCP U 103と同期して命令
キュー110から命令Alt取り出し、内部データバス
112ヲ通して命令実行部108へ送る。しかし、CP
 U 103が信号路118ヲ通してコプロセッサ10
4に出力するプロセッサステータスはモード1を示しで
いるために、デコーダ119は命令A1のデコード結果
をモード0のコプロセッサ104の命令コードと同じで
はあるか出力しない。したがって、コプロセッサ104
は何も動作をしない(第3図(4))。CP U 10
3はつづいて命令F1を命令キュ一109から取り出す
。この命令はCPUl03tモード1からモード0へ遷
移させる命令であり、この命令の実行によっでCPUI
O3は再びモートO状態に戻る。CP U 103が出
力しでいるプロセッサステータスは再びモード0を示す
ようになり、コプロセッサ104は再びCPUIO3と
同期して命令を実行するようになる。
なお、デコーダ119はプロセッサステータスがモード
]のとき命令をデコードしないようにしてもよい。
〔発明の効果〕
以上説明したように本発明は、複数の命令セットを持つ
CPUに接続されたコプロセッサのデコーダの動作tc
puが出力するプロセッサステータスによって制御する
ことによって、CPUが持つ複数の命令セットの一部の
命令セットでしかサポートされでいないコプロセッサを
持つシステムにおいでCPUがダイナミックにコプロセ
ッサをサポートしでいる命令セットを実行するモードと
コプロセッサをサポートしでいない命令セットを実行す
るモードとの間を遷移する場合、CPUがコプロセッサ
をサポートしでいない命令セット寅行中のコプロセッサ
の誤動作を回避することができ、この結果、複数の命令
セットを持つCPUを用いたシステムにおいでCPUの
持つ複数の命令セットのうちの一部の命令セットでしか
サポートされていないコプロセッサを用いることが可能
となる効果がある。
【図面の簡単な説明】
第1図は本発明の情報処理システムの一実施例の要部を
示す構成図、第2図は第1図中のデコーダ119のブロ
ック図、第3図は第1図に示したCPUIO3とコプロ
セッサ104のキュー109.110の内容と、CPU
IO3とコプロセッサ104の状態およびCP IJ 
103がコプロセッサ+04 (こ出力するキューステ
ータス、バスステータス、プロセッサステータスを時間
を追って示す図、第4図は従来例を示す図、第5図は第
4図に示したC P U 303とコプロセッサ304
の命令キュー309.310の内容と、CPU303、
コプロセッサ304の状HaよびCP U 303がコ
プロセッサ304に出力するキューステータス、バスス
テータスを時間を追って示す図、第6図は2つのモード
を持つCPUの状態遷移の様子を示す図である。 101・・・アドレスバス、 +02−・・データバス、 +03−・・CPU、 104・・・コプロセッサ、 105・・・CP U 103のバスインターフェース
部、106・・・コプロセッサ104のバスインターフ
ェース部、 107・・・CP U 103の命令実行部、108・
・・コプロセッサ104の命令実行部、109・・・C
P U 103の命令キュー、110・・・コプロセッ
サ104の命令キュー、部データバス、 部データバス、 路、 601・・・デコーダ、 602・・・インバータ、

Claims (1)

  1. 【特許請求の範囲】 複数の命令セットと前記複数の命令セットにそれぞれ対
    応する複数の命令実行状態を有するCPUと、前記CP
    Uと同期して命令のフェッチ、実行を行うプロセッサを
    有する情報処理システムにおいて、 前記CPUの現在の実行状態を示す情報を前記プロセッ
    サに出力する手段と、 前記プロセッサ内に設けられ、前記情報が、前記CPU
    が前記複数の実行状態のうち所定の状態にあることを示
    しているときには命令コードをデコードして出力し、前
    記CPUが前記所定の状態以外の状態にあることを示し
    ているときは命令コードをデコードしないか、デコード
    しても出力しないデコーダを備えたことを特徴とする情
    報処理システム。
JP60209472A 1985-09-20 1985-09-20 情報処理システム Expired - Lifetime JPH065528B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60209472A JPH065528B2 (ja) 1985-09-20 1985-09-20 情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60209472A JPH065528B2 (ja) 1985-09-20 1985-09-20 情報処理システム

Publications (2)

Publication Number Publication Date
JPS6269354A true JPS6269354A (ja) 1987-03-30
JPH065528B2 JPH065528B2 (ja) 1994-01-19

Family

ID=16573417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60209472A Expired - Lifetime JPH065528B2 (ja) 1985-09-20 1985-09-20 情報処理システム

Country Status (1)

Country Link
JP (1) JPH065528B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63259727A (ja) * 1987-04-17 1988-10-26 Hitachi Ltd コプロセツサのインタ−フエイス方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63259727A (ja) * 1987-04-17 1988-10-26 Hitachi Ltd コプロセツサのインタ−フエイス方式

Also Published As

Publication number Publication date
JPH065528B2 (ja) 1994-01-19

Similar Documents

Publication Publication Date Title
JP3176093B2 (ja) マイクロプロセッサの割込み制御装置
JP2834837B2 (ja) プログラマブルコントローラ
US6832117B1 (en) Processor core for using external extended arithmetic unit efficiently and processor incorporating the same
US5148529A (en) Pipelined multi-stage data processor including an operand bypass mechanism
JPH0786870B2 (ja) コプロセツサのデータ転送制御方法およびその回路
JP2001525568A (ja) 命令デコーダ
JPH0135367B2 (ja)
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
JP2680828B2 (ja) ディジタル装置
JPS6269354A (ja) 情報処理システム
US6389528B2 (en) Processor with a control instruction for sending control signals without interpretation for extension of instruction set
JP2511151B2 (ja) デ―タ処理装置
JPH0564375B2 (ja)
JP5012562B2 (ja) マイクロコンピュータ
JP2504191B2 (ja) マイクロプロセッサ
JP2721610B2 (ja) プログラマブルコントローラ
JPS63173130A (ja) 計算機の命令セツトを拡張するための装置
JPH0687221B2 (ja) 情報処理装置
JP2721611B2 (ja) プログラマブルコントローラ
JPS6316361A (ja) プロセツサ制御方式
JPH0279122A (ja) 浮動小数点演算機構
JPH1049366A (ja) マイクロコンピュータ
JPH02309442A (ja) マイクロプロセッサ
JPH07302205A (ja) マイクロコンピュータ
KR20030067365A (ko) Eisc 프로세서의 명령어 폴딩 장치 및 방법