JPS62214464A - データ処理システム - Google Patents

データ処理システム

Info

Publication number
JPS62214464A
JPS62214464A JP61056844A JP5684486A JPS62214464A JP S62214464 A JPS62214464 A JP S62214464A JP 61056844 A JP61056844 A JP 61056844A JP 5684486 A JP5684486 A JP 5684486A JP S62214464 A JPS62214464 A JP S62214464A
Authority
JP
Japan
Prior art keywords
mpu
memory
signal
data
instruction
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
JP61056844A
Other languages
English (en)
Other versions
JPH0578863B2 (ja
Inventor
Kazuhiko Iwasaki
一彦 岩崎
Tsuneo Funabashi
船橋 恒男
Ikuya Kawasaki
川崎 郁也
Hideo Inayoshi
秀夫 稲吉
Atsushi Hasegawa
淳 長谷川
Takao Yaginuma
柳沼 隆男
Eiki Kondo
近藤 栄樹
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 Engineering Co Ltd
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Engineering Co Ltd
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 Engineering Co Ltd, Hitachi Ltd, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Engineering Co Ltd
Priority to JP61056844A priority Critical patent/JPS62214464A/ja
Priority to US07/021,007 priority patent/US4894768A/en
Publication of JPS62214464A publication Critical patent/JPS62214464A/ja
Publication of JPH0578863B2 publication Critical patent/JPH0578863B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • 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/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロプロセッサ(M P U : Mic
r。
Processing Unit)とコプロセッサ(c
p:Coprocessor)の結合方式に係り、特に
密結合のCPに好適なコプロセッサ結合方式に関する。
〔従来の技術〕
16ビツト或いは32ビツトのマイクロプロセッサシス
テムでは、F P U (Floating Po1n
tthit :浮動小数点演算ユニット)などのコプロ
セッサを用意し、数値演算の高速化を図っている。
これに伴い、MPUとコプロセッサの結合方式が問題と
なっており、従来からいくつかの方法がなされている。
従来からの方式として、特開昭59−201154号の
背景技術にも記載されている通り、3つの方式があり、
これに加え、特開昭59−201154号で示される第
4の方式がある。第1の方式は、特開昭59−2011
54号に示されるように、インテル社8086プロセツ
サの命令を監視してCP用の命令を探すインテル808
7数値データプロセツサがその例である。
この実施には、CPがMPUの命令待ち行列を追跡でき
るようにするために重要なハードウェアがCP内に必要
である。第2の方式は、特開昭59−201154号に
示されるように、第1の方式の場合と同様に、CPにお
けるハードウェアの重要な重複を必要とする。
第3の方式では、特開昭59−201154号に示され
るように、ナショナルセミコンダクタ社N S 160
00用CPがMPUに従属しており、CPとメモリ間の
転送はMPUを介しておこなっている。
第4の方式は、特開晴晴59−201154号に示され
るように、専用信号を必要としないで、CPによる命令
の実行を′FA!!できるが、特開昭59−20115
4号のF’1g14.Fig15に示されるように、C
Pとメモリ間の転送はMPUを介しておこなわれていた
〔発明が解決しようとする問題点〕
従来のF P Uの演算速度は、例えばモトローラ社M
C68881はモトローラセミコンダクタニュース第1
.1号(1985年5月発行)に示されるように、64
ビット浮動小数点の乗算が5.8 μs (16,67
MHg)かかつていた、したがって、前記特許の方式に
よっても、MPtJとF’PUのインターフェイスのオ
ーバヘッドは相対的にみると小さくなるが、むしろ前記
公開特許出願に記載の方式のようにMPUとFPUのイ
ンターフェイスを汎用化しておくことにメリットがあっ
た。
、しかし、半導体技術の進歩に伴い1乗算器などを集積
化することによってFPUの演算速度は、64ビット:
4動車数点乗算でも、ダイジェスト・オブ・アイ・ニス
・ニス・シー185.ff116Xから第17頁(Di
gest of l5SCC’ 85 p 16〜p1
7)に示されるように、180ns程度で可能となりつ
つある。
このような高速FPUを用いる場合、前記特許の方式を
用いると、演算時間に比ベインターフェイスのオーバヘ
ッドが大きく、FPUを高速化した効果が現われにくく
、高速FPUとの結合という面での配慮が不十分であっ
た。
このような高速FPt]を用いる場合、第1.第2の方
式では、FPUとメモリ間転送は1バスサイクルで実現
できるものの、CP内にFPUと本来の演算とは無関係
なハードウェアが必要であり、集積度の面からFPUの
高速化が十分できないという問題がある。
一方、第3.第4のコプロセッサ方式では、FPUとメ
モリ間の転送がMPUを介するため、2バスサイクル必
要となり、FPUを高速化してもシステム全体の性能向
上につながりにくいという欠点があった。
本発明の目的は、CPとメモリ間の転送を1バスサイク
ルでおこない、かつCP内に本来の機能とは無関係なハ
ードウェアを必要としないMPUとCPの結合方式を提
供することにある。
〔問題点を解決するための手段〕
上記目的は、MPUの出力信号ビンとして、Cycle
)を有し、MPUの入力信号ピンとして(1)かを示す
信号(CPST : Coprocessor 5ta
tus)を有することにより達成される。
MPU内の特定のレジスタによって切り分けることによ
り達成される。
〔作用〕
メモリからCPへのオペランド転送をおこなうをアサー
トしてCPに対してデータの取り込みを指示し、1バス
サイクルでメモリとCPの転送をおこなう。
同様に、CPからメモリへデータを転送する場合、MP
Uは通常のメモリライトの信号に加え、CPCYCL信
号をアサートしてCPに対してデータの出力を指示し、
1バスサイクルでメモリとCPの転送をおこなう。
これによって、CP内に重大なハードウェアの重複をお
こなうことなく、1バスサイクルでメモリとCPの転送
が可能となる。
〔実施例〕
以下、本発明の一実施例を数値演算コプロセッサFPU
を例にとり、図面を用いて説明する。
第1図に、MPUI、CP2.メモリシステム3、アド
レスバス4.データバス5の接続例を示す。第1図にお
いて、MPU1が出力し、コプロセッサ2が入力する信
号は、従来と同様のアドレスA4−2.データD31〜
Do、アドレスストローブ信号(AS)、リード/ライ
ト信号(R/である。
MPUIが出力し、メモリシステム3が入力する信号は
、従来と同様のアドレスA31〜A2゜データD31〜
DO,アドレスストローブ信号コプロセッサ2が出力し
、MPUIが入力する信号に相当する)。従来にないコ
プロセッサ状態である。
コプロセッサ2が出力し、メモリシステム3が入力する
信号は、データD31〜Doデータ転送完了信号(DC
)である。
メモリシステム3が出力し、MPUIが入力する信号は
031〜DO、データ転送完了信号(D C)である。
メモリシステム3が出力し、コプロセッサ2が入力する
信号はD31〜DO、データ転送完了信号(DC)であ
る。
MPUが数値演算命令をフェッチしたとき、これをデコ
ードし、対応する指令をCPへ伝える。
第2図は、算術演算命令の命令フォーマットの一例を示
す。命令の先頭4ビツトIDが1100のときCP量関
係命令であることを表わす。
この命令フォーマットは、実効アドレスEAIで示され
るオペランドと実効アドレスEA2で示されるオペラン
ドに対し、OPで示される演算(オペレーション)を実
行し、CP内部のレジスタまたはスタックに格納するた
めのものである。
プロセッサ番号P I D (Processor I
dentification)は3ビツトあり、命令を
実行させるCPの番号を示す。CPは同時に8個まで接
続可能である。エビットは第2図に示すようにオペラン
ドが整数か非整数かを示す。すなわち、I=1のときサ
イズビットSz =00,01,10.11によって、
それぞれ、8,16,32.64ビツトの整数を表わす
。I=Oのとき、Sv =00,01,10゜11によ
って、それぞれ32,34.80ビツトの浮動小数点な
らびにバイナリ・コーテッド・デミカルB CD (B
inary Coded Decmical)データを
表わす、l!!数から浮動小数点への変換はcp内部で
演算に先立っておこなわれる。FAI、EA2は、それ
ぞれソースオペランド、デスティネーションオペランド
の実効アドレスを表わす。FAI。
EA2として、レジスタ直接形式が指定された場合、C
Pのレジスタを表わす。OPは加算、乗算などの演算を
関すオペレーションフィールドである。SZは既に説明
したようにデータのサイズを表わす、内部の演算はSZ
に関係なく、浮動小数点の場合、80ビツトで実行され
る。
第3図はMPUからCPへ送られる指令語のフォーマッ
トの一例を表す、CPオペレーションcpopとして8
ビット割り付けられている。 cps^。
CPI)Aはそれぞれ、コプロセッサソースアドレス。
コプロセッサデスティネーションアドレスを表し、それ
ぞれ4ビツト長である。アドレス形式を示すMODフィ
ールドは、CPSA、 cpo^の詳細を表す。
コプロセッサソースオペランドは、ビット15゜14が
OOのとき、CPSAで示されるCP内のレジスタとな
り、01のときCP内のスタック、11のとき外部メモ
リとなり、11は禁止である。ビット15.14が00
以外では、第3図のCPSAは意味を持たない。コプロ
セッサデスティネーションオペランドは、ビット13.
12がOOのときCPDAで示されるCP内のレジスタ
を表わし、01のときスタックを表わす。10.11は
禁止である。CPSAとしてスタックが指定された場合
、CP内のスタックポインタは1だけ加えられ、CPD
Aとしてスタックが指定された場合はスタックポインタ
は1だけ減じられる。
第3図の指令語の11〜0ビツトZはオールOである。
第4図は、CP内のレジスタとメモリ間の転送をおこな
うための命令(CPMOVE)フォーマットの一例であ
る。同時に、命令とエビット、ソースオペランド描定(
SA)、デスティネーションオペランド措定(DA)な
らびに、実際に選択されるオペランドの関係について示
す、この形式は第2図のフォーマットと同一であり、各
フィールドの意味は、ソースアドレスSA、デスティネ
ーションアドレスDAにレジスタ直接形式を措定したと
き以外は、第2図と等しい。
すなhち、PMU内のレジスタ(整数値)とCP内のレ
ジスタ(浮動小数点)の転送を可能とするため、 CP
MOVEto CP R命令においてI=1(整数値)
のとき、ソースオペランドとしてMPUレジスタの指定
を可能とした。またCPMOVEfro+*cPR命令
においてI=0(浮動小数点)のときデスティネーショ
ンオペランドとしてMPUレジスタの指定を可能とした
。データ転送この他の組合せでは、レジスタ直接が指定
された場合CPレジスタが選択される。
例えば、 CPMOVE to CP R命令において
、■ビット=0(浮動小数点フォーマット)のとき、・
ソースオペランドとしてメモリ(M)を、デスティネー
ションオペランドとしてMPUレジスタCR)を指定し
た場合、メモリからCPレジスタ(CPR)へ浮動小数
点データが転送される。
またCPMOVE fro+m CP R命令において
、エビット=0(整数フォーマット)でソースオペラン
ドとデスティネーションオペランドの両方にレジスタを
指定することは、禁止されている。
CPMOVH命令の指令語のフォーマットを第5図に示
す。フォーマットは第3図と同じであるが、MODフィ
ールドの割付けが異なる。すなわち、ビット15.14
あるいはビット13.12においてOOがCPレジスタ
、01が禁止、10がメモリ、11がMPUレジスタを
表わす。MPtJレジスタが指定された場合、CPは整
数、浮動小数点の型変換をおこなう。
第6図は、CP内の複数のレジスタとメモリ間の転送を
おこなう命令(CPMOVM)のフォーマットである。
この命令は、6バイト長であり、先頭の8ビツトでCP
オペレーションを指定し、その直後に16ビツトのレジ
スタリスト(RL)が続く6各フイールドの意味は、第
2図のフォーマットと同一である。但し、第2バイト(
ビット23〜16)Z2はオールゼロである。
CPMOVM命令においてlMPUからCPへ送る指令
語のフォーマットを第7図に示す、18〜23ビツトz
3はオールゼロである。第7図において。
アドレスモ・−ドを示すMODフィールドのビット19
.18,17.16が、0010のときは、CPMOV
EM CP Rto Memoryとなり、1000の
ときは。
CPMOVEM Memory to CP Rとなる
。これ以外のパターンは禁止である。 。
第8図は、cp用の条件分岐命令(CP B cc)の
命令フォーマットの一例である。この命令はCP内の条
件が成立するかどうかによって分岐する命令である。第
8図において、PID、OPの意味は第2図のフォーマ
ットと同一である。24〜16ビツトZ4はオールゼロ
である。ディスプレイスメント・レングスL G (D
isplacementLangth)はディスプレー
スメント(orsp)のサイズを示すもので、第8図に
示すように16.32゜64ビツトサイズを選択する。
分岐の条件はC0NDで表わされる。
第9図は、cpの条件分岐命令実行の際に、MPUから
CPへ送られる指令語のフォーマットであり、下位6ビ
ツトに条件C0NDが指定される。5〜23ビツトZ5
はオールOである。
次に、M P UとCPが共同して処理をするために必
要な信号線について説明する。MPUの信号線として、
CPに関係するものを第1表にまとめる。CPの(! 
+1tlAとして、MPUとのインターフェイスに必要
な信号線を第2表にまとめる。
第1表 第2表 第10図に、算術演算命令/初等関数命令を実行する場
合の、バスオペレーションの1例を示す。
第10図で示されるように、3個のフェーズに分けられ
る。すなわち、コマンドフェーズPl、フェッチフェー
ズP2y実行フェーズp3である。
コマンドフェーズは、所定のCPを選択し、実行の指命
を与えるフェーズである。コマンドフェーズのフローチ
ャートを第11図に示す、第11図に示されるように、
MPUはアドレスバス上にCPのプロセッサ番号PID
IOI、データバスをアサートしてコマンドフェーズで
あることを示し、R/W信号をローレベルにする(11
1)。
そして、CPがDCをアサートするのを待機する。
インピーダンス、ネゲート、ハイレベルにしてもせでも
よい、CPは、CPSのローレベルを受は取ると、自分
自身のID番号とアドレスバス上のPIDとを比較しく
113)、一致した場合には。
語を取り込んでDCをアサートする(115)。
ると、データ線を高インピーダンス状態にして(116
)、コマンドフェーズを終了する(117)。
フェッチフェーズは、CPが必要とするデータをメモリ
からフェッチするフェーズである。第12図にフェッチ
フェーズのフローチャートの一例を示す。MPUはアド
レス線にオペランドアドレス103を出力し、CPCY
CLをアサートして、CPに対しデータ転送サイクルで
あることを知らをアサートし、メモリシステムがDC信
号をアサートするのを待機する(121)、・ インピーダンス、ネゲート、ネゲートしてもよいし、D
Cがアサートされてから変化させてもよい。
メモリシステムMは、従来のマイコンシステムと同様に
して、アドレスバスで示されるメモリの内容をデータバ
スに出力し、DC信号をアサートする(124)。CP
はDC信号がアサートされたことを検出すると、データ
バス上のデータをcp内へ取り込む(125)。M P
 TJとcpがDC信号のローレベルを検出したとき、
オペランドフェッチが終了する(127)。
64ビツトの浮動小数点データを、32ビツトのバスを
使ってメモリからCPへ転送する場合、第10図のフェ
ッチフェーズは2回くり返されることになる。この場合
、第12図のシーケンスが2回くり返される。
CPは必要なオペランドを受は取ったあと、算術演算や
初等関数の演算などをおこなう。このフ終了をMPUへ
知らせる。
ここで、第】0図のタイミングチャート、第11図およ
び第12図のフローチャートを実現する論理回路の一例
をlMPUとCPについて示する。
第13図はMPUの入出力制御回路の一例である。この
回路は、プログラマブル・ロジック・アレイP L A
 (Programmable Logic Arra
y) 10とフィードバックバス11から成る状態マシ
ン12を主な構成要素としている。MPUは、第2,4
゜6.8図で示されるようなCP全命令検出したとき、
図示されていない内部のマイクロプログラムにより、プ
ロセッサ番号PIDを第13図アドレス出力レジスタA
 OR(AddressOutput Regjste
r)13へ設定し、第3.5,7.9図で示される指定
語をデータ出力レジスタD OR(Data Outp
utRegister) 14 ヘ設定する。この後M
PUはコマンド・フェーズ・リクエストCM R(Co
+*wandPhare Request )をアサー
トし、コマンドフェーズのシーケンスの実行を要求する
。状態マシン12はCMRがアサートされたときCPS
をアサートしR/Wをローレベルとする。同時に、制御
線15,16をアサートし、アドレス線17にプロセッ
サ番号PIDを、データ線18に、第3゜5.7.9図
で示されるような指定語を出力する。
DC信号がアサートされたとき、R/Wをハイレベルと
し、制$9線15.16をネゲートしてアドレス線17
.データIvA18を高インピーダンス状態にしioE
 (io and)をアサートし、MPUのマイクロプ
ログラムに、入出力サイクルの終了を知らせる。
MPUのマイクロプログラムは、ioEを受は取ると、
AOR13へオペランドのアドレスを設定し、メモリ・
リード・リクエストMRR(Me閣oryRead R
aquest)をアサートし、状態マシン12に対し、
オペランドフェッチを要求する。状態マシを7サートし
、制f!1lfa15をアサートしてオペランドアドレ
スをアドレス線17へ送出し、R/Wをハイレベルに保
ち、ASをアサートする。そして、DCがアサートされ
るのを待つ。DCがアサートされたとき、オペランドフ
ェッチを終了し、t OE ttM P Uのマイクロ
プログラムへ送信し、実行フェーズへ移る。
次に、コマンドフェーズ、フェッチフェーズ。
実行フェーズにおける、CPの入出力制御回路について
、第14図を用いて説明する。第14図の論理回路は、
PLA 140とフィードバックバス141によって構
成される状態マシン142を主コマンドフェーズにおい
ては、CPS信号が7サートされR/Wはローレベルで
あるプロセッサ番号PID入力150とCPのプロセッ
サ番号レジスタ151がコンパレータ152で比較され
比較結果が信号線153を通して状態マシン142へ入
力される。プロセッサ番号PID入力150とプロセッ
サ番号レジスタ151が一致しているとき、すなわち信
号線153がハイレベルのとき状態マシン142はCP
BUSYをアサートし、データ・インプット・レジスタ
D I R’ (DataInput Registe
r) 149 ヘ指令語を取り込み、DCOUTをアサ
ートしi0E’ をアサートして、CP内のマイクロプ
ログラム(図示されていない)六入出力サイクルの終了
を知らせる。信号線123がローレベルのとき、状態マ
シン142は、現フェッチフェーズにおいては、CPC
YCLがアサートされる。R/Wはハイレベルであり、
メモリのリードを示す。
DCiNがアサートされたとき、DIR’19ヘオペラ
ンドの値を取り込み、i0E’ をアサートして、CP
内のマイクロプログラムへ入出力サイクルの終了を知ら
せる。フェッチフェーズでは、CPBUSYはアサート
されたままである。
実行フェーズでは、CP内のマイクロプログラムによっ
て演算実行中を示すEXEXC(Execute)入力
がアサートされる。また演算器154の演算結果が状態
マシン142へ入力され、後述するようクロプログラム
によってネゲートされたとき、状態マシン112はCP
BUSYネゲートし、CPの実行の終了を外部へ知らせ
る。
実行フェーズでデータ転送がおこなわれる場合MPUは
、cpの実行フェーズの終了をCPBυSY信号を通し
て検出することができる。このため、MPUはマイクロ
プログラムで実行フェーズの終了を検出し、次の命令の
実行に移ることができる。
一方、実行フェーズは、数十〜数百サイクル必要なこと
もあり、この間MPUがCPの終了を待ち続けるのは、
性能の面から必ずしも得策ではない。
MPUがCPの終了を待って次の命令を実行するかどう
か、MPU内のステータスレジスタ(SR)のウェイト
(W)ビットによって切り分ける。ステータスレジスタ
には、Wビットの他に、トレースモードを表すTビット
、演算結果の負。
ゼロ、オーバフロー、キャリーをそれぞれ示すN。
Z、V、Cフラグなどがある。
第15図にステータスレジスタの一例を示す。
MPUはWビットが1の時は、CPRUSY信号がネゲ
ートされるのを検出した後に次の命令を実行する。
令の実行に移る。命令のOPフィールドにWビットを割
り付け、命令毎に指定する方法もある。
第16図は、CP内のレジスタCPRとメモリ間の転送
をおこなう場合のバスオペレーションを示したものであ
り、コマンドフェーズ、実行フェーズから成る。コマン
ドフェーズPH1でのタイミングチャート、フローチャ
ートはそれぞれ第10.11図で示したものと同一であ
る。第16図において、(a)はCPのレジスタCPR
がらメモリへの転送を、(b)はメモリからCP内のレ
ジスタCPRへの転送を表わす。転送すべきCPレジス
タの番号は、コマンドフェーズにおいてM P Uから
与えられる。
第16図(、)の実行フェーズに対応するフローチャー
トを第17図に示す。MPUはアドレスバスにオペラン
ドアドレスを送出し、CPCYCLをアサートして、デ
ータの転送を要求する。同時にAsをアサートしR/W
をローレベルにする(171)。
CPは、コマンドフェーズで命令の種類と、レジスタ番
号が分かるため、MPUがCPCYCI、をアサートし
たら、直ちにデータバスに転送するレジスタの内容を出
力する(172)。メモリシステムMは、従来のマイコ
ンシステムと同様、ASがアサートされると、アドレス
バス上のアドレスのメモリアクセスをおこない、DCを
アサートする(175)、メモリシステムがDCをアサ
ートしたことを検出するとMPUは命令の実行を終了し
く176)。
第17図のフローチャートは、第13図、第14図によ
って制御される。
まず、第13図を用いて、MPUのシーケンスを説明す
る。MPUのマイクロプログラムは、オペランドアドレ
スをAORに設定し、メモリー・ライト・リクエストM
 W R(Memoryすrite Request)
をアサートする。状態マシン12は、MWRがアサート
されたとき、cpCYCL、 A Sをアサートし、R
/Wをローレベルとし、DCがアサートされるたのを検
出したとき、制御線20をアサートして、データ・イン
プット・レジスタD I R(Data InputR
egister) 19にデータを取り込み、ioEを
アサートして、MPUのマイクロプログラムに対し入出
力動作の終了を知らせる。
次に、第14図を用いて、第17図フローチャートのC
Pの動作を説明量る。CPのマイクロプログラムは、転
送すべきデータをデータ・アウトプット・レジスタD 
OR’ (Data 0utput Register
)142は、CPCYCLがアサートされ、R/Wがロ
ーレベルでメモリ書き込みを示すとき、制御線116を
アサートL、、DOR’ 144の内容をデータ線上に
出力する。メモリシステムが、従来か終了して、DCを
アサートしたとき、状態マシン12は、制御線146を
ネゲートし、データ線を高インピーンス状態には、i0
E’ をアサートして、入出力動作の終了をCPのマイ
クロプログラムに知らせる。
以上により、第16図(a)のシーケンスは、第13.
14図の回路によって実現できる。
第16図(b)は、CPのレジスタをメモリへ転送する
バスオペレーションである。コマンドフェーズは、第1
6図(a)と同一である。第16図(b)において、メ
モリからCPへの転送のタイミングチャートは、第10
図で示したタイミングチャートのフェッチフェーズと同
一である。第16図(b)に対応するフローチャートは
、第11図と同一である。したがって、既に説明したも
のと同じシーケンスにより第13.14図の入出力制御
回路によって、MPU、CPのデータ転送が制御できる
第18図は、条件分岐命令実行時のバスオペレーション
を示したものである。このバスオペレーションのフロー
チャートを第19図に示す。
MPUは、第8図のフォーマットの命令を検出すると、
アドレスバス上にPID181を出力し。
データバス上に第9図で示される条件分岐命令であるこ
とを示す指令語182を出力する。同時に、とを示し、
R/Wをローレベルとする。このとき、CPは自分自身
のプロセッサ勲と、アドレスバス上のPIDを比較し、
選択されたことを検出すると、CPBUSYをアサート
し、データバス上の指令語を取り込みDCをアサートす
る。プロセッサ番号が不一致の場合何もしない、MPU
はDCアサートを検出し、データ線を高インピーダンス
とする。
ここまでは、第10.16図で示されたコマンドフェー
ズと同一である。CPは、マイクロプログラムにより、
指令語が条件判断命令であることを検出すると、内部状
態と与えられたC0NDの比較をおこなう、これらが一
致していれば、CPSTを終了する。一致していなけれ
ば、CPSTをハイレベルにし、CPRtlSYをネゲ
ートして命令を終了する。
第19図のフローチャートにおいて、MPUの入出力制
御回路は、第14図の論理回路によっておこなわれ、コ
マンドフェーズの動作は、第10図と同一であり、既に
説明した。実行フェーズでは、MPUは、チップ内に第
20図で示されるような立ち上りセンスのラッチ回路1
30を設け。
第19図のフローチャートにおいて、CPの入出力制御
回路は、第14図の論理回路によっておこなわれる。コ
マンドフェーズの動作は第10図と同一であり既に説明
した。実行フェーズにおいて、CP内のマイクロプログ
ラムは、指令語が条件判断命令であることを検出し、演
算124の入力バス125に指令語のC0NDを入力し
、入力バス126にCP内の内部状態を示すレジスタ(
図示されていない1例えばCPのステータスレジスタ)
を入力し、演算器124により比較をおこない、EXE
Cをアサートする。比較演算終了後、演算結果が状態マ
シン142へ入力され、CPのマイクロプログラムはE
XECをネゲートし、これによって状態マシン142は
演算結果をCPSTへ反映させ、CPHUSYt−不ゲ
ートしてハスサイクルを終了する。
〔発明の効果〕
本発明によれば、メモリとCPのデータ転送が1バスサ
イクルで実現できる。すなわち、通常のマイクロプロセ
ッサのメモリアクセスの信号ピンよってCPを選択し、
1バスサイクルでのメモリと02間の転送が可能となっ
た。また、MPUのステータスレジスタのWビットまた
は命令中のWビットにより、CPからの終了信号を待っ
て次の命令を実行するか、待たずに次の命令を実行する
か選択可能である。同時に、CPは条件分岐命令の条件
が成立したかどうかを信号ピンで高速にMPUへ知らせ
る。
以上により、オーバヘッドが少ないlMPUとCPのイ
ンターフェイスが実現できる。
【図面の簡単な説明】
第1図は全体システムブロック図、第2図はコプロセッ
サ演算命令フォーマットの一例、第3図はMPUからC
Pへの指令語フォーマットの一例、第4図はコプロセッ
サ転送命令フォーマットの一例、第5図はMPUからC
Pへの指令語フォーマットの一例、第6図はコプロセッ
サブロック転送命令フォーマットの一例、第7図はMP
UからCPへの指令語フォーマットの一例、第8図はコ
プロセッサ条件分岐命令フォーマットの一例、第9図は
MPUからCPへの指令語フォーマットの一例、第10
図はコプロセッサ演算命令の実行タイミングチャート、
第11図は第10図を実現するコマンドフェーズのフロ
ーチャート、第12図は第10図を実現するフェッチフ
ェーズのフローチャート、第13図は第10図を実現す
るM P tJの入出力回路の一例、第14図は第10
図を実現するCPの入出力回路の一例、第15図はステ
ータスレジスタの一例、第16図はコプロセッサ転送命
令の実行タイミングチャート、第17図は第16図を実
現するための実行フェーズのフローチャート、第18図
はコプロセッサ条件分岐命令の実行タイミングチャート
、第19図は第18図のフローチャート、第20図は第
19図を実現するために必要なフリップフロップ回路を
表わす。 1・・・マイクロプロセッサ、2・・・コプロセッサ、
3・・・メモリシステム、4・・・アドレスバス、5・
・・データバス、10,140・・・プログラマブルロ
ジックアレイ、11,141・・・フィードバックバス
、12.142・・・状態マシン、13・・・アドレス
出力レジスタ、14,144・・・データ出力レジスタ
、15.16,20,146・・・制御線、17・・・
アドレス線、18,148・・・データ線、19,14
9・・・データ入力レジスタ、150・・・プロセッサ
番号PID入力、151・・・プロセッサーレジスタ、
152・・・比較器、153,155,156・・・信
号!I +  口 ′fI4− 目 M二メそり 艮:阿F’LIレソ又り crx: CPシシ゛スタ rxg  7′U−tニー5y4−’7     工 
 *’l’(/41%’t   ss  ンースn°b
zOf’  t<t−シaン    Sz  ”74 
X:’        9A  1’X74¥’l>1
’f’kl第 5 図 M7I9 71rLス(−S Z 3 口 M アロセーブ11ラ    ’iy  第41−>m
ン    Lq   LジアスCANE)  コンデ4
シ嘗ン ■9I211 c7jND  コ)ヂコシJン −+1:′i 冗 (1躬 7°)°7・ゝ°7” Cr   1−7’O’Lyヅ
r’IPU ユニ、ト ¥1 12  目 7470アOセフシ乙1 MP’  1W−y ト       cP  ’−”
’七7り茅 13  図 13  了ド[又二カレシスタ  14 デ°ザ広カレ
ゾスグ   I’l   ?’、f^力Lb”gCMR
コマシト7に一ス゛リクエスト hス尺 メモ、ソソー
ドソクエχ)、  /11wに ノセソクィトリクエス
ト聾 G χ17 z 747°フ゛°セ・シ′り゛   。r 7−7・。セ
7テ門1u  ユニ、ト メ13  図 第 19  口 マイ7177勺ツンシクゝ MtLI  :L、ットCF  コー7’tJty’j
梢 20図 13θ

Claims (1)

  1. 【特許請求の範囲】 1、マイクロプロセッサ(MPU)と、コプロセッサ(
    CP)の結合において、MPUが出力しCPが入力する
    信号として、(1)CPスペースであることを示す信号
    ピンと(2)CPデータ転送の有効性を示す信号ピンを
    有し、CPが出力しMPUが入力する信号として、(1
    )CPがビジーであることを示す信号を有するコプロセ
    ッサ結合方式。 2、MPUがMPU内部の特定のレジスタの値によつて
    、(1)CPからのビジー信号がアサートされるのを待
    つて次の命令の実行に移るか、(2)CPのビジー信号
    の状態にかかわらず次の命令の実行に移るかを切り分け
    る第1項記載のコプロセッサ結合方式。 3、CPの内部状態を調べるCP命令の処理において、
    CPの出力ピンとして条件が成立しているかどうかを示
    す信号ピンを有し、同時に MPUの入力ピンとしてCP内部の条件が成立している
    かどうかを示す信号ピンを有する第1項記載のコプロセ
    ッサ結合方式。
JP61056844A 1986-03-17 1986-03-17 データ処理システム Granted JPS62214464A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP61056844A JPS62214464A (ja) 1986-03-17 1986-03-17 データ処理システム
US07/021,007 US4894768A (en) 1986-03-17 1987-03-02 Data processing system with coprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61056844A JPS62214464A (ja) 1986-03-17 1986-03-17 データ処理システム

Publications (2)

Publication Number Publication Date
JPS62214464A true JPS62214464A (ja) 1987-09-21
JPH0578863B2 JPH0578863B2 (ja) 1993-10-29

Family

ID=13038715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61056844A Granted JPS62214464A (ja) 1986-03-17 1986-03-17 データ処理システム

Country Status (2)

Country Link
US (1) US4894768A (ja)
JP (1) JPS62214464A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01118954A (ja) * 1987-10-30 1989-05-11 Nec Corp コプロセッサ
JP2009037599A (ja) * 2002-08-09 2009-02-19 Marvell World Trade Ltd アライメントまたはブロードキャスト命令を含むマルチメディア・コプロセッサの制御メカニズム

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0786870B2 (ja) * 1988-04-15 1995-09-20 株式会社日立製作所 コプロセツサのデータ転送制御方法およびその回路
JP2741867B2 (ja) * 1988-05-27 1998-04-22 株式会社日立製作所 情報処理システムおよびプロセツサ
US5210834A (en) * 1988-06-01 1993-05-11 Digital Equipment Corporation High speed transfer of instructions from a master to a slave processor
US5040109A (en) * 1988-07-20 1991-08-13 Digital Equipment Corporation Efficient protocol for communicating between asychronous devices
JP2754825B2 (ja) * 1989-02-03 1998-05-20 日本電気株式会社 マイクロプロセッサ
US5068821A (en) * 1989-03-27 1991-11-26 Ge Fanuc Automation North America, Inc. Bit processor with powers flow register switches control a function block processor for execution of the current command
US5218711A (en) * 1989-05-15 1993-06-08 Mitsubishi Denki Kabushiki Kaisha Microprocessor having program counter registers for its coprocessors
US5210870A (en) * 1990-03-27 1993-05-11 International Business Machines Database sort and merge apparatus with multiple memory arrays having alternating access
US5420989A (en) * 1991-06-12 1995-05-30 Cyrix Corporation Coprocessor interface supporting I/O or memory mapped communications
JP2884831B2 (ja) * 1991-07-03 1999-04-19 株式会社日立製作所 処理装置
JP3172214B2 (ja) * 1991-09-30 2001-06-04 富士通株式会社 状態モード設定方式
US5742842A (en) * 1992-01-28 1998-04-21 Fujitsu Limited Data processing apparatus for executing a vector operation under control of a master processor
JP3231429B2 (ja) * 1992-11-06 2001-11-19 株式会社日立製作所 中央処理装置と乗算器とを有する半導体集積回路装置
CA2137488C (en) * 1994-02-18 1998-09-29 Richard I. Baum Coexecuting method and means for performing parallel processing in conventional types of data processing systems
FR2719926B1 (fr) * 1994-05-10 1996-06-07 Sgs Thomson Microelectronics Circuit électronique et procédé d'utilisation d'un coprocesseur.
US5805486A (en) * 1995-11-28 1998-09-08 Intel Corporation Moderately coupled floating point and integer units
US5848284A (en) * 1995-11-28 1998-12-08 Intel Corporation Method of transferring data between moderately coupled integer and floating point units
US6434689B2 (en) * 1998-11-09 2002-08-13 Infineon Technologies North America Corp. Data processing unit with interface for sharing registers by a processor and a coprocessor
GB2366426B (en) * 2000-04-12 2004-11-17 Ibm Coprocessor data processing system
US6754804B1 (en) * 2000-12-29 2004-06-22 Mips Technologies, Inc. Coprocessor interface transferring multiple instructions simultaneously along with issue path designation and/or issue order designation for the instructions
US7287147B1 (en) 2000-12-29 2007-10-23 Mips Technologies, Inc. Configurable co-processor interface
US7237090B1 (en) 2000-12-29 2007-06-26 Mips Technologies, Inc. Configurable out-of-order data transfer in a coprocessor interface
US7168066B1 (en) 2001-04-30 2007-01-23 Mips Technologies, Inc. Tracing out-of order load data
US7392368B2 (en) * 2002-08-09 2008-06-24 Marvell International Ltd. Cross multiply and add instruction and multiply and subtract instruction SIMD execution on real and imaginary components of a plurality of complex data elements
AU2003256870A1 (en) * 2002-08-09 2004-02-25 Intel Corporation Multimedia coprocessor control mechanism including alignment or broadcast instructions
JP3867804B2 (ja) * 2005-03-22 2007-01-17 セイコーエプソン株式会社 集積回路装置
US9495308B2 (en) * 2012-05-22 2016-11-15 Xockets, Inc. Offloading of computation for rack level servers and corresponding methods and systems
US20130318280A1 (en) 2012-05-22 2013-11-28 Xockets IP, LLC Offloading of computation for rack level servers and corresponding methods and systems
US9250954B2 (en) * 2013-01-17 2016-02-02 Xockets, Inc. Offload processor modules for connection to system memory, and corresponding methods and systems

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4270167A (en) * 1978-06-30 1981-05-26 Intel Corporation Apparatus and method for cooperative and concurrent coprocessing of digital information
US4547849A (en) * 1981-12-09 1985-10-15 Glenn Louie Interface between a microprocessor and a coprocessor
US4731736A (en) * 1983-04-18 1988-03-15 Motorola, Inc. Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US4598356A (en) * 1983-12-30 1986-07-01 International Business Machines Corporation Data processing system including a main processor and a co-processor and co-processor error handling logic
US4648034A (en) * 1984-08-27 1987-03-03 Zilog, Inc. Busy signal interface between master and slave processors in a computer system
US4777613A (en) * 1986-04-01 1988-10-11 Motorola Inc. Floating point numeric data processor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01118954A (ja) * 1987-10-30 1989-05-11 Nec Corp コプロセッサ
JP2009037599A (ja) * 2002-08-09 2009-02-19 Marvell World Trade Ltd アライメントまたはブロードキャスト命令を含むマルチメディア・コプロセッサの制御メカニズム
US8131981B2 (en) 2002-08-09 2012-03-06 Marvell International Ltd. SIMD processor performing fractional multiply operation with saturation history data processing to generate condition code flags

Also Published As

Publication number Publication date
JPH0578863B2 (ja) 1993-10-29
US4894768A (en) 1990-01-16

Similar Documents

Publication Publication Date Title
JPS62214464A (ja) データ処理システム
US6219775B1 (en) Massively parallel computer including auxiliary vector processor
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
US4715013A (en) Coprocessor instruction format
US5689647A (en) Parallel computing system with processing element number setting mode and shortest route determination with matrix size information
EP0102242A2 (en) Data processing apparatus
WO1992009968A1 (en) VECTOR WORD SHIFT BY Vo SHIFT COUNT IN VECTOR SUPERCOMPUTER PROCESSOR
US4641308A (en) Method of internal self-test of microprocessor using microcode
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US3675214A (en) Processor servicing external devices, real and simulated
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
EP0287115B1 (en) Coprocessor and method of controlling the same
US5021991A (en) Coprocessor instruction format
EP0525831B1 (en) Method and apparatus for enabling a processor to coordinate with a coprocessor in the execution of an instruction which is in the intruction stream of the processor.
JPS63261449A (ja) デ−タ処理装置
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
US6986028B2 (en) Repeat block with zero cycle overhead nesting
US4914578A (en) Method and apparatus for interrupting a coprocessor
US4571675A (en) Microprocessor device with integrated auto-loaded timer
JP2617974B2 (ja) データ処理装置
KR940011041B1 (ko) 마이크로컴퓨터
EP0385136B1 (en) Microprocessor cooperating with a coprocessor
US4994961A (en) Coprocessor instruction format
US5210835A (en) Data processing system having apparatus for increasing the execution speed of bit field instructions