JP3200183B2 - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP3200183B2
JP3200183B2 JP21783592A JP21783592A JP3200183B2 JP 3200183 B2 JP3200183 B2 JP 3200183B2 JP 21783592 A JP21783592 A JP 21783592A JP 21783592 A JP21783592 A JP 21783592A JP 3200183 B2 JP3200183 B2 JP 3200183B2
Authority
JP
Japan
Prior art keywords
processor
instruction
bus
data
data processing
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 - Fee Related
Application number
JP21783592A
Other languages
English (en)
Other versions
JPH0667886A (ja
Inventor
俊行 矢口
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP21783592A priority Critical patent/JP3200183B2/ja
Publication of JPH0667886A publication Critical patent/JPH0667886A/ja
Application granted granted Critical
Publication of JP3200183B2 publication Critical patent/JP3200183B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、2つのプロセッサ間で
の、データ転送技術に関する。更に詳しくは、本発明は
CPUとコプロレッサを持つ、高速処理の可能なデータ
処理装置に関する。
【0002】
【従来の技術】コプロセッサをCPUに接続する方法と
して、従来、2つの方法が採られている。1つは、コプ
ロセッサがCPUと並行にプログラム/データのフェッ
チ及び実行を行うものであり、他の1つは、コプロセッ
サはプログラム/データのフェッチは行わずに、CPU
から実行する命令/データを受け取るものである。
【0003】前者は、コプロセッサが常に命令/データ
バスを監視しており、CPUが命令をフェッチするのと
同時に命令をバスから取り込み、CPUと全く同じタイ
ミングで命令の解釈を行い、命令がコプロセッサ命令の
時に限り、その命令に従って動作する。もし、その命令
がコプロセッサへのデータのロードであれば、CPUが
記憶装置からバスにデータを読みだしたときにデータを
コプロセッサの内部へ取り込み、もし、その命令が記憶
装置へのデータのストアであれば、プロセッサがバスを
アクセスするのに同期してバスにデータ出力する。
【0004】後者は、コプロセッサは命令/データのフ
ェッチは行わずに、CPUのみがそれを行い、その命令
がコプロセッサ命令である時に、CPUが命令/データ
をコプロセッサに転送してコプロセッサに命令を実行さ
せるものである。
【0005】
【発明が解決しようとする課題】前者は、CPUからコ
プロセッサに命令/データを転送する必要がないため高
速な処理が期待できるが、CPUが命令キュー、命令/
データ・キャッシュ等の機能をオンチップで持つ場合、
それと同等な機能を持たせる必要があり回路規模が増大
するという欠点がある。
【0006】後者では、CPUとコプロセッサの間で命
令及びデータの転送を行う必要があり、従来のようなシ
ステムバスを使う方法ではその転送時間が問題となって
いた。
【0007】本発明は、上述の如き問題点を解決するた
めになされたものであり、その目的は、小さい回路規模
でデータの搬送時間を短くすることができるデータ処理
装置を提供することである。
【0008】
【課題を解決するための手段】前記問題点を解決する為
に、本発明によるデータ処理装置は、プログラムを構成
する複数の命令を保持する主記憶装置と、システムバス
を介して前記主記憶装置から前記プログラムに従って逐
次命令を読み出す第1のプロセッサと、バンクバスを介
して前記第1のプロセッサとデータの交換を行うバンク
RAMと、前記バンクバスを介して前記バンクRAMと
データの交換を行う第2のプロセッサを有し、前記主記
憶装置から、前記第1のプロセッサが実行すべき命令が
読み出された場合、前記第1のプロセッサはその実行を
行い、前記第2のプロセッサが実行すべき命令が読み出
された場合、前記第1のプロセッサは、前記バンクRA
Mの所定の領域を指し示すポインタ値を、前記第2のプ
ロセッサへ転送すると共に、前記第2のプロセッサが実
行すべき命令とその実行に必要なデータを前記領域に格
納し、前記第2のプロセッサは、前記ポインタ値で示さ
れるアドレスが付された前記命令と前記データを入力し
その実行を行い、その結果を前記領域に格納し、その
後、前記第1のプロセッサは、前記領域から前記結果を
読み出す。
【0009】
【作用】上述の如く構成すれば、第一のプロセッサはバ
ンクバスを介して、第2のプロセッサにポインタ値を渡
し、次の命令の処理に入ることが出来る。一方、第2の
プロセッサは、ポインタ値を参照し、適宜自分の処理す
べき命令と必要なデータを入力することが出来る。従っ
て、両方のプロセッサは、効果的に命令の実行を行なう
ことが出来る。
【0010】
【実施例】図1を参照して、本発明の第1の実施例とし
ての、データ処理装置を説明する。
【0011】ここでは、説明を簡単にする為に、ホスト
プロセッサとしてのCPU一個に、スレーブプロセッサ
としてのCOP2が一個が接続されているものを説明す
る。COP2は、普通コプロセッサと呼ばれ、用途に応
じてCPU1の機能を補充するものである。その例とし
ては、フローティングポイント計算用プロセッサやDS
P(デジタルシグナルプロセッサ)等がある。CPU1
とCOP2は、バンクバスB−BUSを介して、バンク
RAM(BM)に接続されている。この実施例では、C
PU1のみがシステムバスS−BUSを介して主記憶装
置MMに接続されており、コプロセッサCOP2はシス
テムバスS−BUSには、直接接続されていない。ここ
で、主記憶装置MMは通常の大容量DRAMで構成され
ているが、バンクRAMは高速のメモリ、例えばSRA
Mで構成されている。一方、バンクバスB−BUSのバ
ス幅は、システムバスS−BUSのバス幅と同じかそれ
よりも大きくなっている。この構成によって、CPU1
はコプロセッサCOP2と、バンクバスB−BUSを介
して、システムバスS−BUSによる場合よりも高速に
データの交換を行うことが出来る。
【0012】CPU1は、システムバスインターフェイ
スSIU1と、命令フェッチユニットIFU1と、命令
レジスタIR1と、レジスタREG1と、演算実行部E
XU1と、制御部ECU1と、バンクポインタCP1
と、バンクバスインターフェイスBIU1を有する。シ
ステムバスインターフェイスSIU1は、システムバス
S−BUSに出力するアドレスを保持するレジスタを備
え、システムバスとCPU1間のデータやアドレスの交
換を行う。命令フェッチユニットIFU1は、読み出す
べき命令のアドレスを計算する手段とプログラムカウン
ターを備え、システムバスインターフェイスSIU1を
介して主記憶装置MMから命令レジスタIR1への命令
のフェッチを行う。レジスタREG1は、演算の実行に
必要なデータを一次格納する。制御部EXU1は演算実
行部ECU1を制御して、命令レジスタIR1に格納さ
れた命令の実行を行う。ポインタCP1には、レジスタ
REG1の内容を保持するバンクRAMの領域を示す情
報、例えばその領域の先頭アドレスが格納されている。
バンクバスインターフェイスBIU1は、制御部ECU
の指示に従って、バンクバスB−BUSを介して、レジ
スタREG1の内容をバンクポインタCP1で示される
バンクRAMの領域へ書き込んだりする。
【0013】一方、コプロセッサCOP2は、命令レジ
スタIR2と、レジスタREG2と、演算実行部EXU
2と、制御部ECU2と、ポインタCP2と、バンクバ
スインターフェイスBIU2を有する。ポインタCP2
は、CP1に対応して、演算に必要なデータが格納され
たバンクRAMの領域を示す。レジスタREG2は、演
算の実行に必要なデータを一次保持する。制御部EXU
2は演算実行部ECU2を制御して、命令レジスタIR
2に格納された命令の実行を行う。バンクバスインター
フェイスBIU2は、制御部ECUの指示に従って、バ
ンクバスB−BUSとのデータの交換を行う。
【0014】次に、この処理装置の動作を説明する。シ
ステムバスインターフェイスSIU1を介して、主記憶
装置MMから取り込まれた命令は、順にIR1及びIF
U1に転送される。CPU1自身で実行すべき命令が取
り込まれた場合、レジスタREG1又は主記憶装置MM
からデータを、実行部EXU1に転送して演算の実行を
行う。演算結果は、内部バスを介してレジスタREG1
へ、又はシステムバスSIU1を介して主記憶装置MM
へ転送される。取り込まれた命令がコプロセッサCOP
2で実行されるべき命令である場合は、演算に必要なデ
ータはレジスタREG1にセットされる。即ち、そのデ
ータが主記憶装置MMにあれば、予めシステムバスSI
U1を介してレジスタREG1に転送しておく。そし
て、制御部ECU1は、制御部ECU2から供給される
COP2が演算実行中であるか否かを示す状態信号(C
ostate)をチェックし、Bplatch信号をB
IU2に送ると共に、ポインタCP1の内容をB−BU
Sを介してCOP2に転送する。COP2はこのBpl
atch信号に同期して、ポインタCP1の内容をCP
2に取り込む。そして、レジスタREG1に格納された
データ及び対応する命令を、ポインタCP1で示される
バンクRAMの領域へB−BUSを介して転送する。一
方、COP2は、B−BUSに出力されているアドレス
とポインタCP2の内容を比較しながら、一致する場合
にこれらの命令とデータを、IR2とREG2に取り込
む。その後、CPU1はCOP2へStart信号を出
力し次の命令に進み、COP2はこのStart信号を
受け、IR2とREG2の内容に従って、CPU1から
転送された命令の実行を行う。COP2で命令の実行が
行われている間は、Costate信号によって、命令
実行中であることがCPU1に示される。COP2での
演算が終了すると、結果はBIU2によって、CP2で
示されるバンクRAMの領域に格納され、Costat
e信号が非実行中の状態に戻る。CPU1は、このCo
state信号の変化によって、COP2での演算が終
了したことを検知し、バンクRAMから演算結果を読み
込む。
【0015】尚、ここでは、COP2での演算結果は、
バンクRAMに退避させているが、演算終了がCost
ate信号の変化で検知された後に、CPU1によって
COP2から直接演算結果を読み込んでもよい。この場
合、BIU2の構成が簡単になる反面、COP2の演算
が終了してもCPU1で他の演算が実行されていると、
COP2で他の処理を行うことが出来ないという不利益
がある。
【0016】又、バンクバス上に、CP2で示される領
域への読みだし命令が生じた場合、バンクRAMからで
はなく、COP2のレジスタREG2からデータを出力
する様にしても良い。
【0017】次に図2を参照して、本発明の第2の実施
例としての、データ処理装置を説明する。
【0018】第1の実施例との違いは、ポインタCP2
が複数個、キュー構造(CP2−1,CP2−2,CP
2−3)をなして設けられている点である。その他は、
第1の実施例と実質的に同じであるので、説明を省略す
る。
【0019】すなわち、COP2でCP2−3に対応す
る演算が実行中であっても、Blatch信号に同期し
て、別の命令に対応するCP1の内容がCP2−2又は
CP2−3に格納される。この実施例では、COP2
は、最大3つのポインタ値を保持することができる。C
P2−3に対応する演算が終了し結果をバンクRAMの
指定領域に格納すると、CP2−2の内容がCP2−3
へ、CP2−1の内容がCP2−2へ、夫々転送され、
続いて更新されたCP2−3で示されるバンクRAMの
領域に記憶されている命令の実行がなされる。ここで、
演算結果のオーバーフロー等のエラーが起こった場合、
COP2はポインタCP2−1,CP2−2,CP2−
3の内容を全て無効にする。この実施例の場合、演算実
行中を示すCostate信号に代わって、キュー構造
のポインタCP2−1,CP2−2,CP2−3が満杯
であるか否かを示すState信号がCOP2からCP
U1に送られる。満杯でなければ、Bplatch信号
を出力し、CP1の値をCOP2に転送する。
【0020】尚、COP2内のポインタCP2をキュー
構造とする代わりに、バンクRAM内の命令とデータの
配列をキュー構造にしても、同様の効果が得られる。こ
の場合COP2は命令及びデータと共に次命令のポイン
タ値も一度の処理で読み出し一つのCP2のポインタ値
を更新する。
【0021】次に図3を参照して、本発明の第3の実施
例としての、データ処理装置を説明する。
【0022】第1の実施例との違いは、CPU1からC
OP2へのStart信号を削除した点である。この場
合、CP2へデータが書かれた事が、演算実行の開始と
判断される。その他は、第1の実施例と実質的に同じで
あるので、説明を省略する。
【0023】次に図4を参照して、本発明の第4の実施
例としての、データ処理装置を説明する。
【0024】第1の実施例との違いは、Bplatch
信号を削除し、代わりにCOP2をS−BUSと直接に
接続した点である。この場合、CP2は主記憶装置MM
にマッピングされ、CPU1の内容はS−BUSを介し
てCP2へ書き込まれる。その他は、第1の実施例と実
質的に同じであるので、説明を省略する。
【0025】次に図5を参照して、本発明の第5の実施
例としての、データ処理装置を説明する。
【0026】第4の実施例との違いは、CP2のマッピ
ングが主記憶装置MMではなく、バンクRAM上になさ
れていることと、第3の実施例と同様にStart信号
を削除した点である。従って、COP2はS−BUSと
直接接続されていない。その他は、第4の実施例と実質
的に同じであるので、説明は省略する。
【0027】次に図6を参照して、本発明の第6の実施
例としての、データ処理装置を説明する。
【0028】第1の実施例との違いは、COP2が、C
PU1と同様に、システムバスインターフェイスSIU
2と、命令フェッチユニットIFU2と、命令レジスタ
IR2と、レジスタREG2と、演算実行部EXU2
と、制御部ECU2と、バンクポインタBP2と、バン
クバスインターフェイスBIU2とからなっていること
である。これによって、COP2は、CPU1と同時に
主記憶装置MMから命令を読みだし、その命令がCOP
2の実行すべき命令の場合のみ命令の実行を行う。その
際、CPU1はCOP2のCP2にポインタ値をセット
し、COP2が演算結果をバンクRAMの指定の領域に
格納した後に、それを呼び出す。この場合は、CPU1
がマスター、COP2がスレイブとなるが、CPU1と
COP2の夫々が、マスター/スレイブの両方の機能を
持つ様にしても良い。その他は、第1の実施例と実質的
に同じであるので、説明を省略する。
【0029】以上、好ましい実施例の幾つかを説明した
が、本発明はこれらに限定されることはなく、多くの態
様を持つものである。例えば、実施例では、1つのCP
Uに1つのCOPが接続されているが、一般に同一のC
OPに複数のCPUが接続されることも多く、又1つの
CPUが複数のCOPを持つこともある。これらの場合
も、本発明は適用可能である。
【0030】
【発明の効果】内部レジスタの専用記憶装置への退避/
復帰の為の専用バスのバス速度をシステムバスのそれよ
りも高速にすることにより、システムバスを使ってデー
タの転送をするものに比べて転送時間が短くなる。この
バスがシステムバスと同程度のバス速度しかないもので
も、システムバスの混雑を緩和する事になるため、シス
テムの性能は向上する。CPU及びコプロセッサが複数
接続されたシステムでは、CPUはコプロセッサ演算に
必要なデータを専用記憶装置へ退避して、そのポインタ
値のみをコプロセッサに渡した後に次の命令へ進む事が
できるので、システムとしてのスループットが向上す
る。
【図面の簡単な説明】
【図1】本発明の第1の実施例によるデータ処理装置を
示すブロックダイアグラム。
【図2】本発明の第2の実施例によるデータ処理装置を
示すブロックダイアグラム。
【図3】本発明の第3の実施例によるデータ処理装置を
示すブロックダイアグラム。
【図4】本発明の第4の実施例によるデータ処理装置を
示すブロックダイアグラム。
【図5】本発明の第5の実施例によるデータ処理装置を
示すブロックダイアグラム。
【図6】本発明の第6の実施例によるデータ処理装置を
示すブロックダイアグラム。
【符号の説明】
CPU1 ホストプロセッサ CPU2 スレーブプロセッサ B−BUS バンクバス BM バンクRAM S−BUS システムバス SIU1 システムバスインターフェイス IFU1 命令フェッチユニット IR1,IR2 命令レジスタ REG1,REG2 レジスタ EXU1,EXU2 演算実行部 ECU1,ECU2 制御部 BIU1,BIU2 バンクバスインターフェイス CP1 バンクポインタ CP2 ポインタ
フロントページの続き (56)参考文献 特開 平2−32452(JP,A) 特開 平1−243167(JP,A) 特開 平4−47437(JP,A) 特開 昭63−65528(JP,A) 特開 平1−109466(JP,A) 特開 平5−128164(JP,A) 特開 平5−108590(JP,A) 特開 平2−300841(JP,A) 特開 平1−197867(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/38 G06F 15/16 - 15/177

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 プログラムを構成する複数の命令を保持
    する主記憶装置と、第1のバスを介して前記主記憶装置
    から前記プログラムに従って逐次命令を読み出す第1の
    プロセッサと、第2のバスを介して前記第1のプロセッ
    サとデータの交換を行うバンクRAMと、前記第2のバ
    スを介して前記バンクRAMとデータの交換を行う第2
    のプロセッサを有し、前記主記憶装置から、前記第1の
    プロセッサが実行すべき命令が読み出された場合、前記
    第1のプロセッサはその実行を行い、前記第2のプロセ
    ッサが実行すべき命令が読み出された場合、前記第1の
    プロセッサは、前記バンクRAMの所定の領域を指し示
    すポインタ値を、前記第2のプロセッサへ転送すると共
    に、前記第2のプロセッサが実行すべき命令とその実行
    に必要なデータとを前記バンクRAMの所定の領域に書
    き込み、前記第2のプロセッサは、前記ポインタ値で示
    されるアドレスが付された前記命令と前記データとをと
    り込み、その実行を行い、その結果を前記領域に書き込
    み、その後、 前記第1のプロセッサは、前記領域から
    前記結果を読み出すことを特徴とするデータ処理装置。
  2. 【請求項2】 前記第1のプロセッサは、前記命令を保
    持する第1の命令レジスタと、前記プログラムに従って
    前記主記憶装置から逐次命令を読みし前記第1の命令
    レジスタに書き込む第1の命令フェッチ手段と、演算デ
    ータを保持する第1のデータレジスタと、前記命令と前
    記演算データを転送すべき前記バンクRAMの領域を示
    す第1のポインタと、命令の実行を行う第1の実行部
    と、前記第1の実行部での命令の実行を制御する第1の
    制御部と、前記第1のバスを介して前記主記憶装置との
    入出力を行う第1のバスインターフェイスと、前記第2
    のバスを介して前記バンクRAMとの入出力を行う第2
    のバスインターフェイスとを備えたことを特徴とする請
    求項1に記載のデータ処理装置。
  3. 【請求項3】 前記第2のプロセッサは、前記領域を示
    す第2のポインタと、 演算データを保持する第2のデ
    ータレジスタと、命令の実行を行う第2の実行部と、前
    第2の実行部での命令の実行を制御する第2の制御部
    と、前記第2のバスを介して前記バンクRAMとの入出
    力を行う第3のバスインターフェイスとを備えたことを
    特徴とする請求項2に記載のデータ処理装置。
  4. 【請求項4】 前記主記憶装置から、前記第2のプロセ
    ッサが実行すべき命令が読み出された場合、前記第1の
    ポインタから前記第2のポインタへ、前記バンクRAM
    の所定の領域を示す情報が、前記第2のバスを介して転
    送されることを特徴とする請求項3に記載のデータ処理
    装置。
  5. 【請求項5】 前記第2のポインタは、キュー構成をな
    す複数のポインタであることを特徴とする請求項3に記
    載のデータ処理装置。
  6. 【請求項6】 前記第1のプロセッサと前記第2のプロ
    セッサは、第1の信号線で接続されており、この第1の
    信号線を介して、前記第1のプロセッサから前記第2の
    プロセッサへ演算実行の開始を指示する信号が送られる
    ことを特徴とする請求項3に記載のデータ処理装置。
  7. 【請求項7】 前記第1のプロセッサと前記第2のプロ
    セッサは、第2の信号線で接続されており、この第2の
    信号線を介して、前記第2のプロセッサから前記第1の
    プロセッサへ演算の終了を示す信号が送られることを特
    徴とする請求項3に記載のデータ処理装置。
  8. 【請求項8】 前記第2のバスのバス幅は、前記第1の
    バスのバス幅と同じか大きくなっていることを特徴とす
    る請求項2に記載のデータ処理装置。
  9. 【請求項9】 前記第2のプロセッサは、更にシステム
    バスに接続された第4のバスインターフェイスと、第2
    の命令フェッチ手段を備えていることを特徴とする請求
    項3に記載のデータ処理装置。
JP21783592A 1992-08-17 1992-08-17 データ処理装置 Expired - Fee Related JP3200183B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21783592A JP3200183B2 (ja) 1992-08-17 1992-08-17 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21783592A JP3200183B2 (ja) 1992-08-17 1992-08-17 データ処理装置

Publications (2)

Publication Number Publication Date
JPH0667886A JPH0667886A (ja) 1994-03-11
JP3200183B2 true JP3200183B2 (ja) 2001-08-20

Family

ID=16710500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21783592A Expired - Fee Related JP3200183B2 (ja) 1992-08-17 1992-08-17 データ処理装置

Country Status (1)

Country Link
JP (1) JP3200183B2 (ja)

Also Published As

Publication number Publication date
JPH0667886A (ja) 1994-03-11

Similar Documents

Publication Publication Date Title
US5696989A (en) Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
JPH04306748A (ja) 情報処理装置
JP3137117B2 (ja) 高速処理計算機
JP2581323B2 (ja) 参照ビット,変更ビットの更新方法
JPH0530112A (ja) デイジタル信号処理システムの制御方法
US5146569A (en) System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
US6738837B1 (en) Digital system with split transaction memory access
JP3200183B2 (ja) データ処理装置
JP3005626B2 (ja) データ処理システムおよびデータ転送方法
JP2000330791A (ja) コンピュータシステムおよびその動作方法
EP0550976B1 (en) Memory accessing device using address pipeline
US4737908A (en) Buffer memory control system
JPH1185673A (ja) 共有バスの制御方法とその装置
JP3144918B2 (ja) ベクトル処理装置
JP3157740B2 (ja) ベクトルデータ処理装置
JPH02112054A (ja) データ処理装置
JPS59172044A (ja) 命令制御方式
JPS61239339A (ja) ペ−ジ・デ−タ転送制御方式
JPH04181454A (ja) データアクセス制御装置
JP3219422B2 (ja) キャッシュメモリ制御方式
JP2928036B2 (ja) 論理半導体集積回路
JPH058459B2 (ja)
JPS60142450A (ja) 記憶システム
JPH1139278A (ja) プロセッサおよびメモリアクセス方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090615

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090615

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100615

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100615

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110615

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees