JPH02252044A - コプロセッサ及びデータ転送制御方式 - Google Patents
コプロセッサ及びデータ転送制御方式Info
- Publication number
- JPH02252044A JPH02252044A JP1073228A JP7322889A JPH02252044A JP H02252044 A JPH02252044 A JP H02252044A JP 1073228 A JP1073228 A JP 1073228A JP 7322889 A JP7322889 A JP 7322889A JP H02252044 A JPH02252044 A JP H02252044A
- Authority
- JP
- Japan
- Prior art keywords
- data transfer
- coprocessor
- instruction
- transfer control
- register
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はダイレクト・メモリ・アクセス制御を行うコプ
ロセッサ並びにそのコプロセッサを利用するデータ転送
制御技術に関し、例えばデータチェイン転送に適用して
有効な技術に関するものである。
ロセッサ並びにそのコプロセッサを利用するデータ転送
制御技術に関し、例えばデータチェイン転送に適用して
有効な技術に関するものである。
メモリや入出力回路の間でデータ転送を行なうとき、マ
イクロプロセッサの負担を軽減してデータ転送効率を向
上させるには、ダイレクト・メモリ・アクセス(以下単
にDMAとも記す)コントローラを用いることができる
。このDMAコントローラは、プロセッサに代わってデ
ータ転送制御を行なうものであり、データ転送チャネル
を構成するために、転送先アドレス、転送元アドレス、
転送語数、転送動作のイネーブルビット、さらにはメモ
リ間又は薯モリと入出力回路間などのデータ転送形態や
転送動作モードなどを特定するためのレジスタセットを
有する。従来そのレジスタセットに対するデータ初期設
定はプロセッサが行なうようになっており、初期設定が
行なわれた後に、マイクロプロセッサがDMAコントロ
ーラのステータスレジスタにデータ転送動作のイネーブ
ルビットを書き込むと、DMAコントローラはメモリ間
でのデータ転送制御を開始し、或いは外部入出力回路な
どからのデータ転送要求を待ってデータ転送制御を行な
う。
イクロプロセッサの負担を軽減してデータ転送効率を向
上させるには、ダイレクト・メモリ・アクセス(以下単
にDMAとも記す)コントローラを用いることができる
。このDMAコントローラは、プロセッサに代わってデ
ータ転送制御を行なうものであり、データ転送チャネル
を構成するために、転送先アドレス、転送元アドレス、
転送語数、転送動作のイネーブルビット、さらにはメモ
リ間又は薯モリと入出力回路間などのデータ転送形態や
転送動作モードなどを特定するためのレジスタセットを
有する。従来そのレジスタセットに対するデータ初期設
定はプロセッサが行なうようになっており、初期設定が
行なわれた後に、マイクロプロセッサがDMAコントロ
ーラのステータスレジスタにデータ転送動作のイネーブ
ルビットを書き込むと、DMAコントローラはメモリ間
でのデータ転送制御を開始し、或いは外部入出力回路な
どからのデータ転送要求を待ってデータ転送制御を行な
う。
尚、DMAコントローラについて記載された文献の例と
しては株式会社日立製作所発行のHD63450データ
シート(昭和61年8月発行)がある。
しては株式会社日立製作所発行のHD63450データ
シート(昭和61年8月発行)がある。
しかしながらDMAコントローラに対するデータ転送制
御条件や動作モードの初期設定をマイクロプロセッサが
行なうには、マイクロプロセッサはDMAコントローラ
に各糧動作条件や動作モードを初期設定するためのデー
タ転送命令もしくはストア命令などを一々実行しなけれ
ばならず、そのような初期設定に対してはマイクロプロ
セッサの負担を軽減することはできず、また、そのよう
な初期設定のための動作時間はデータ転送効率を実質的
に低下させる要因にもなる。例えば、複数のデータブロ
ックを効率良く転送するためにデータチェイン転送など
を行なう場合、多数用意したバッファ領域を、ポインタ
として機能する記述子によって次々と連結させるための
データ転送制御テーブルをマイクロプロセッサが所定の
メモリ上に形成する。このデータ転送制御テーブルに含
まれる個々の記述子はデータの転送元又は転送先を示す
先頭アドレスポインタ、転送語数、次の記述子領域のア
ドレスポインタを含む6例えば、DMAコントローラが
サポートするデータチェイン機能を用いないで、このデ
ータチェイン転送を行う場合、即ちDMAコントローラ
の単一ブロック転送機能のみを使って、データチェイン
転送を行う場合マイクロプロセッサは、データ転送制御
テーブルを形成した後、そのデータ転送制御テーブルの
中の所定の記述子に含まれる情報を読み込み、これをD
MAコントローラに初期設定する。 DMAコントロー
ラはこの初期設定された情報に従って所定のバッファ領
域にデータ転送を開始し、所定の転送語数に達すると、
これをDMAコントローラがプロセッサに通知し、プロ
セッサは次のバッファ領域を示す記述子の先頭アドレス
に従って次の記述子の情報をDMAコントローラに設定
する。このように、データチェイン転送を行う場合プロ
セッサはデータ転送制御テーブルの情報などをDMAコ
ントローラに設定するためのデ−タ転送モード作トア命
令などを実行しなければならない、プロセッサによるD
MAコントローラの初期設定は、データチェイン転送に
限らずその他のデータ転送モードにおいても必要とされ
る。
御条件や動作モードの初期設定をマイクロプロセッサが
行なうには、マイクロプロセッサはDMAコントローラ
に各糧動作条件や動作モードを初期設定するためのデー
タ転送命令もしくはストア命令などを一々実行しなけれ
ばならず、そのような初期設定に対してはマイクロプロ
セッサの負担を軽減することはできず、また、そのよう
な初期設定のための動作時間はデータ転送効率を実質的
に低下させる要因にもなる。例えば、複数のデータブロ
ックを効率良く転送するためにデータチェイン転送など
を行なう場合、多数用意したバッファ領域を、ポインタ
として機能する記述子によって次々と連結させるための
データ転送制御テーブルをマイクロプロセッサが所定の
メモリ上に形成する。このデータ転送制御テーブルに含
まれる個々の記述子はデータの転送元又は転送先を示す
先頭アドレスポインタ、転送語数、次の記述子領域のア
ドレスポインタを含む6例えば、DMAコントローラが
サポートするデータチェイン機能を用いないで、このデ
ータチェイン転送を行う場合、即ちDMAコントローラ
の単一ブロック転送機能のみを使って、データチェイン
転送を行う場合マイクロプロセッサは、データ転送制御
テーブルを形成した後、そのデータ転送制御テーブルの
中の所定の記述子に含まれる情報を読み込み、これをD
MAコントローラに初期設定する。 DMAコントロー
ラはこの初期設定された情報に従って所定のバッファ領
域にデータ転送を開始し、所定の転送語数に達すると、
これをDMAコントローラがプロセッサに通知し、プロ
セッサは次のバッファ領域を示す記述子の先頭アドレス
に従って次の記述子の情報をDMAコントローラに設定
する。このように、データチェイン転送を行う場合プロ
セッサはデータ転送制御テーブルの情報などをDMAコ
ントローラに設定するためのデ−タ転送モード作トア命
令などを実行しなければならない、プロセッサによるD
MAコントローラの初期設定は、データチェイン転送に
限らずその他のデータ転送モードにおいても必要とされ
る。
さらにDMAコントローラがサポートするデータ転送制
御形態もしくはデータ転送モードはそのハードウェアに
よって予め決定されており、その範囲でデータ転送モー
ドを選択可能なモードレジスタが設けられているに過ぎ
ない。これにより、従来のDMAコントローラに対して
はデータ転送制御態様を自由にもしくは任意に設定する
ことはできず、データ転送制御態様に対する選択性とい
う点で柔軟性に欠けていた。
御形態もしくはデータ転送モードはそのハードウェアに
よって予め決定されており、その範囲でデータ転送モー
ドを選択可能なモードレジスタが設けられているに過ぎ
ない。これにより、従来のDMAコントローラに対して
はデータ転送制御態様を自由にもしくは任意に設定する
ことはできず、データ転送制御態様に対する選択性とい
う点で柔軟性に欠けていた。
本発明の目的は、ダイレクト・メモリ・アクセス制御に
よるデータ転送制御条件の設定にかかる時間を短縮する
ことができるデータ転送制御用のコプロセッサ及びデー
タ転送制御方式を提供することにある。
よるデータ転送制御条件の設定にかかる時間を短縮する
ことができるデータ転送制御用のコプロセッサ及びデー
タ転送制御方式を提供することにある。
また、本発明の別の目的は、データ転送制御態様に対す
る選択性という点で柔軟性をもったデータ転送制御用の
コプロセッサ及びデータ転送制御方式を提供することに
ある。
る選択性という点で柔軟性をもったデータ転送制御用の
コプロセッサ及びデータ転送制御方式を提供することに
ある。
本発明の前記ならびにそのほかの目的と新規な特徴につ
いては本明細書の記述及び添付図面から明らかになるで
あろう。
いては本明細書の記述及び添付図面から明らかになるで
あろう。
本願において開示される発明のうち代表的なものの概要
を簡単に説明すれば下記の通りである6すなわち、コプ
ロセッサに、データ転送チャネルを構成可能なダイレク
ト・メモリ・アクセス制御用のレジスタセットを設け、
前記レジスタセットに情報を設定するためのロード命令
と、前記レジスタセットに設定された情報に従ってダイ
レクト・メモリ・アクセス制御を実行させるためのデー
タ転送命令とをコプロセッサ命令として直接又は間接に
実行可能に構成するものである。
を簡単に説明すれば下記の通りである6すなわち、コプ
ロセッサに、データ転送チャネルを構成可能なダイレク
ト・メモリ・アクセス制御用のレジスタセットを設け、
前記レジスタセットに情報を設定するためのロード命令
と、前記レジスタセットに設定された情報に従ってダイ
レクト・メモリ・アクセス制御を実行させるためのデー
タ転送命令とをコプロセッサ命令として直接又は間接に
実行可能に構成するものである。
斯るコプロセッサを用いたデータ転送では、コプロセッ
サがロード命令を実行して上記ダイレクト・メモリ・ア
クセス制御用のレジスタセットにデータ転送制御情報を
設定し、次いで、コプロセッサがデータ転送命令を実行
して、前記レジスタセットの情報に従ったダイレクト・
メモリ・アクセス制御を行うものである。
サがロード命令を実行して上記ダイレクト・メモリ・ア
クセス制御用のレジスタセットにデータ転送制御情報を
設定し、次いで、コプロセッサがデータ転送命令を実行
して、前記レジスタセットの情報に従ったダイレクト・
メモリ・アクセス制御を行うものである。
このとき、入出力回路など外部からのデータ転送要求に
従ってデータ転送動作を可能にするには、フェッチした
データ転送命令に基づくデータ転送動作の開始を外部か
らのデータ転送要求があるまで待ち状態にするようなデ
ータ転送命令を採用すればよい。
従ってデータ転送動作を可能にするには、フェッチした
データ転送命令に基づくデータ転送動作の開始を外部か
らのデータ転送要求があるまで待ち状態にするようなデ
ータ転送命令を採用すればよい。
コプロセッサがデータチェイン転送を行う場合、データ
転送制御情報と次のデータ転送制御情報の所在を示すチ
ェイン情報とを含む記述子をポインタとして、複数のバ
ッファ領域を次々に連結させるためのデータ転送制御テ
ーブルを主プロセッサが形成した後、コプロセッサは、
そのデータ転送制御テーブルをアクセスして所定の記述
子を読み込むと共に、読み込んだ記述子に含まれるチェ
イン情報をワークレジスタに保持し、バッファ領域を次
の領域に切り換えるときには、そのワークレジスタが保
有するチェイン情報に基づいて、切り換えるべきバッフ
ァ領域を特定する次の記述子をデータ転送制御テーブル
から読み込むようにするとよい。
転送制御情報と次のデータ転送制御情報の所在を示すチ
ェイン情報とを含む記述子をポインタとして、複数のバ
ッファ領域を次々に連結させるためのデータ転送制御テ
ーブルを主プロセッサが形成した後、コプロセッサは、
そのデータ転送制御テーブルをアクセスして所定の記述
子を読み込むと共に、読み込んだ記述子に含まれるチェ
イン情報をワークレジスタに保持し、バッファ領域を次
の領域に切り換えるときには、そのワークレジスタが保
有するチェイン情報に基づいて、切り換えるべきバッフ
ァ領域を特定する次の記述子をデータ転送制御テーブル
から読み込むようにするとよい。
上記した手段によれば、ダイレクト・メモリ・アクセス
制御機能を持ち、フェッチしたコプロセッサ命令を解読
して実行するコプロセッサは、フェッチした命令を解読
して実行することにより、自ら命令を実行してデータ転
送制御条件を設定し。
制御機能を持ち、フェッチしたコプロセッサ命令を解読
して実行するコプロセッサは、フェッチした命令を解読
して実行することにより、自ら命令を実行してデータ転
送制御条件を設定し。
主プロセッサのようなプロセッサからデータ転送制御条
件の設定を受けなくても済むように作用し、これにより
、ダイレクト・メモリ・アクセス制御によるデータ転送
制御条件の設定にかかる時間の短縮を達成するものであ
る。
件の設定を受けなくても済むように作用し、これにより
、ダイレクト・メモリ・アクセス制御によるデータ転送
制御条件の設定にかかる時間の短縮を達成するものであ
る。
そして、コプロセッサは、実行すべきデータ転送命令の
内容に従ってデータ転送制御態様を決定することにより
、選択可能なデータ転送制御態様に対して柔軟性を得る
。
内容に従ってデータ転送制御態様を決定することにより
、選択可能なデータ転送制御態様に対して柔軟性を得る
。
第2図には本発明の一実施例に係るコプロセッサ1を利
用したシステム構成例が示される。
用したシステム構成例が示される。
同図に示されるコプロセッサ1は、特に制限されないが
、従来のDMAコントローラに換えて用いることができ
るDMA転送制御用のコプロセッサである。コプロセッ
サ1は、システム全体の制御を司る主プロセッサ2、メ
モリ3.及び代表的に示されたシリアル・コミュニケー
ション・インタフェース・コントローラのような入出力
回路4などと共にシステムバス5を共有する。コプロセ
ッサ命令は主プロセッサ命令に混在されて記述されてお
り、コプロセッサ1及び主プロセッサ2は、特に制限さ
れないが、コプロセッサ命令及び主プロセッサ命令の区
別なく命令をフェッチする。コプロセッサ1は、フェッ
チした命令がコプロセッサ命令であるか否かを監視し、
コプロセッサ命令である場合にはその命令を実行する。
、従来のDMAコントローラに換えて用いることができ
るDMA転送制御用のコプロセッサである。コプロセッ
サ1は、システム全体の制御を司る主プロセッサ2、メ
モリ3.及び代表的に示されたシリアル・コミュニケー
ション・インタフェース・コントローラのような入出力
回路4などと共にシステムバス5を共有する。コプロセ
ッサ命令は主プロセッサ命令に混在されて記述されてお
り、コプロセッサ1及び主プロセッサ2は、特に制限さ
れないが、コプロセッサ命令及び主プロセッサ命令の区
別なく命令をフェッチする。コプロセッサ1は、フェッ
チした命令がコプロセッサ命令であるか否かを監視し、
コプロセッサ命令である場合にはその命令を実行する。
同様に主プロセッサ2は、フェッチした命令が主プロセ
ッサ命令であるか否かを監視し、主プロセッサ命令であ
る場合にその命令を実行する。
ッサ命令であるか否かを監視し、主プロセッサ命令であ
る場合にその命令を実行する。
コプロセッサ1及び主プロセッサ2は共にバスマスタと
され、バスアービタ6が相互間でのバス権調停を行う、
コプロセッサ1はバス権取得を要求するときにバスリク
エスト信号BREQIを7サートし、また、主プロセッ
サ2はバス権取得を要求する場合にバスリクエスト信号
BREQ2を7サートする。バスアービタ6はバスリク
エスト信号BREQI、BREQ2の状態を監視し、双
方のプロセッサによるバスアクセスが競合しないように
所定の優先制御に、従って、パスアクルッジ信号BAC
KI又はBACK2の何れか一方をコプロセッサl又は
主プロセッサ2に7サートしてバス権を調停制御する。
され、バスアービタ6が相互間でのバス権調停を行う、
コプロセッサ1はバス権取得を要求するときにバスリク
エスト信号BREQIを7サートし、また、主プロセッ
サ2はバス権取得を要求する場合にバスリクエスト信号
BREQ2を7サートする。バスアービタ6はバスリク
エスト信号BREQI、BREQ2の状態を監視し、双
方のプロセッサによるバスアクセスが競合しないように
所定の優先制御に、従って、パスアクルッジ信号BAC
KI又はBACK2の何れか一方をコプロセッサl又は
主プロセッサ2に7サートしてバス権を調停制御する。
第1図には前記コプロセッサ1の詳細な一例が示される
。このコプロセッサ1は、特に制限されないが、公知の
半導体集積回路製造技術によってシリコンのような1個
の半導体基板に形成されている。
。このコプロセッサ1は、特に制限されないが、公知の
半導体集積回路製造技術によってシリコンのような1個
の半導体基板に形成されている。
コプロセッサlは、DMA転送に利用可能なレジスタセ
ットを含む実行部11と、コプロセッサ命令を解読して
実行部11を制御する命令制御部10とを有する。
ットを含む実行部11と、コプロセッサ命令を解読して
実行部11を制御する命令制御部10とを有する。
実行部11は、DMA転送制御に利用可能なレジスタセ
ットとして、データ転送制御情報をアクセスするときな
どに利用されるアドレスレジスタ20、DMA転送にお
ける転送先アドレスや転送元アドレスの指定などに利用
されるアドレスレジスタ21A、21B、転送語数を計
数するためのバイトカウントレジスタ22、命令実行の
ための作業領域に利用されるワークレジスタ23、各種
制御情報が設定されるコントロールレジスタ24などを
有する。これらレジスタは内部データバス25を介して
双方向データバッファ26に結合されると共に、アドレ
スレジスタ20.21は内部アドレスバス27を介して
アドレスバッファ28に接続されている。そして前記レ
ジスタセットに設定されたアドレスやバイトカウント数
に対するインクリメントやデクリメントのようなアドレ
ス演算やその他データ演算などに利用される演算器29
が設けられている。前記レジスタセットに含まれるアド
レスレジスタ20.21やバイトカウントレジスタ22
などはDMA転送に際してデータ転送チャネルを構成す
ることになる。
ットとして、データ転送制御情報をアクセスするときな
どに利用されるアドレスレジスタ20、DMA転送にお
ける転送先アドレスや転送元アドレスの指定などに利用
されるアドレスレジスタ21A、21B、転送語数を計
数するためのバイトカウントレジスタ22、命令実行の
ための作業領域に利用されるワークレジスタ23、各種
制御情報が設定されるコントロールレジスタ24などを
有する。これらレジスタは内部データバス25を介して
双方向データバッファ26に結合されると共に、アドレ
スレジスタ20.21は内部アドレスバス27を介して
アドレスバッファ28に接続されている。そして前記レ
ジスタセットに設定されたアドレスやバイトカウント数
に対するインクリメントやデクリメントのようなアドレ
ス演算やその他データ演算などに利用される演算器29
が設けられている。前記レジスタセットに含まれるアド
レスレジスタ20.21やバイトカウントレジスタ22
などはDMA転送に際してデータ転送チャネルを構成す
ることになる。
前記命令制御部10は、コプロセッサ命令を解読して、
前記実行部11の所要レジスタセットにデータ転送制御
情報を初期設定すると共に、設定された情報に基づいい
て実行部11にDMA転送制御を実行させるものである
。
前記実行部11の所要レジスタセットにデータ転送制御
情報を初期設定すると共に、設定された情報に基づいい
て実行部11にDMA転送制御を実行させるものである
。
命令制御部10には、特ビ制限されないが、マイクロプ
ログラム制御が採用されており、所要の各種マイクロ命
令系列によって構成されるマイクロプログラムを格納し
たマイクロROM12が設けられている。マイクロRO
M12はマイクロアドレスデコーダ13によってアクセ
スされ、マイクロプログラムを構成するマイクロ命令が
順次読み出される。コプロセッサ1は、主プロセッサ2
の命令フェッチサイクルに従ってシステムバス5に読み
出される命令をデータバッファ26を介してインストラ
クションレジスタ16にフェッチする。フェッチされた
命令のオペレーションコードはマイクロアドレスコント
ローラ17によって解読され、解読された情報がマイク
ロアドレスデコーダ13に与えられる。マイクロアドレ
スコントローラ17は、インストラクションレジスタ1
6にフェッチされた命令がコプロセッサ命令であるか否
かを監視する機能も有しており、主プロセッサ命令に割
り当てられているオペレーションコードの解読結果に対
してはマイクロアドレスデコーダ13によるマイクロ命
令の選択動作を全て非選択とする情報を出力する。した
がって、インストラクションレジスタ16にフェッチさ
れる命令のうちコプロセッサ命令だけが有意になる。コ
プロセッサ命令がフェッチされると、コプロセッサ命令
のオペレーションコードに対する解読結果がマイクロア
ドレスデコーダ13に与えられ、これをマイクロアドレ
スデコーダ13がデコードすることにより、そのコプロ
セッサ命令を実行するための一連のマイクロ命令群の先
頭のマイクロ命令がマイクロROM12から読み出され
る。コプロセッサ命令に対応する一連のマイクロ命令群
のうち第2番目以降のマイクロ命令は、直前に読み出さ
れたマイクロ命令のネクストアドレスフィールドのコー
ド情報が前記マイクロアドレスコントローラ17に与え
られることによって指示される。このようにして順次マ
イクロROM12から読み出されるマイクロ命令は図示
しないマイクロ命令ラッチやマイクロ命令レジスタを介
してマイクロインストラクションデコーダ18に供給さ
れる。マイクロインストラクションデコーダ18はこれ
に供給されるマイクロ命令を解読して実行部11等に各
種制御信号を与える。
ログラム制御が採用されており、所要の各種マイクロ命
令系列によって構成されるマイクロプログラムを格納し
たマイクロROM12が設けられている。マイクロRO
M12はマイクロアドレスデコーダ13によってアクセ
スされ、マイクロプログラムを構成するマイクロ命令が
順次読み出される。コプロセッサ1は、主プロセッサ2
の命令フェッチサイクルに従ってシステムバス5に読み
出される命令をデータバッファ26を介してインストラ
クションレジスタ16にフェッチする。フェッチされた
命令のオペレーションコードはマイクロアドレスコント
ローラ17によって解読され、解読された情報がマイク
ロアドレスデコーダ13に与えられる。マイクロアドレ
スコントローラ17は、インストラクションレジスタ1
6にフェッチされた命令がコプロセッサ命令であるか否
かを監視する機能も有しており、主プロセッサ命令に割
り当てられているオペレーションコードの解読結果に対
してはマイクロアドレスデコーダ13によるマイクロ命
令の選択動作を全て非選択とする情報を出力する。した
がって、インストラクションレジスタ16にフェッチさ
れる命令のうちコプロセッサ命令だけが有意になる。コ
プロセッサ命令がフェッチされると、コプロセッサ命令
のオペレーションコードに対する解読結果がマイクロア
ドレスデコーダ13に与えられ、これをマイクロアドレ
スデコーダ13がデコードすることにより、そのコプロ
セッサ命令を実行するための一連のマイクロ命令群の先
頭のマイクロ命令がマイクロROM12から読み出され
る。コプロセッサ命令に対応する一連のマイクロ命令群
のうち第2番目以降のマイクロ命令は、直前に読み出さ
れたマイクロ命令のネクストアドレスフィールドのコー
ド情報が前記マイクロアドレスコントローラ17に与え
られることによって指示される。このようにして順次マ
イクロROM12から読み出されるマイクロ命令は図示
しないマイクロ命令ラッチやマイクロ命令レジスタを介
してマイクロインストラクションデコーダ18に供給さ
れる。マイクロインストラクションデコーダ18はこれ
に供給されるマイクロ命令を解読して実行部11等に各
種制御信号を与える。
第1図において19は前記バスリクエスト信号BREQ
Iや主プロセッサ2に対する割込み信号IRQの出力制
御を行なったり、前記バスリクエスト信号BACK1を
受は取ってバス権の調停結果を監視し、さらにはDMA
転送要求信号DREQに基づいて入出力回路4などによ
るDMA転送要求を監視したりするコントローラである
。特にこのコントローラ19は、DMA転送要求信号D
REQのアサート状態を検出すると、マイクロフローを
分岐させたりするための条件信号TSをマイクロアドレ
スコントローラ17に与える。この条件信号TSは、特
に制限されないが、入出力回路4などからのデータ転送
要求を待ってDMA転送を開始するときに利用される。
Iや主プロセッサ2に対する割込み信号IRQの出力制
御を行なったり、前記バスリクエスト信号BACK1を
受は取ってバス権の調停結果を監視し、さらにはDMA
転送要求信号DREQに基づいて入出力回路4などによ
るDMA転送要求を監視したりするコントローラである
。特にこのコントローラ19は、DMA転送要求信号D
REQのアサート状態を検出すると、マイクロフローを
分岐させたりするための条件信号TSをマイクロアドレ
スコントローラ17に与える。この条件信号TSは、特
に制限されないが、入出力回路4などからのデータ転送
要求を待ってDMA転送を開始するときに利用される。
尚、この機能については後で詳述する。
ここでDMA転送制御を行うコプロセッサ1は、少なく
とも、前記実行部11の所要レジスタセットにデータ転
送制御情報を初期設定するためのロード命令と、レジス
タセットに設定された情報に基づいて実行部11にDM
A転送制御を実行させるためのデータ転送命令を実行可
能になっている。
とも、前記実行部11の所要レジスタセットにデータ転
送制御情報を初期設定するためのロード命令と、レジス
タセットに設定された情報に基づいて実行部11にDM
A転送制御を実行させるためのデータ転送命令を実行可
能になっている。
前記レジスタセットに対する初期設定動作はロード命令
の内容によって任意に決定される。例えば初期設定すべ
き情報がメモリ3上のデータ転送制御テーブルに予め形
成されているときには、ロード命令のオペランド指定フ
ィールドに含まれるメモリアドレスからデータを所要の
レジスタにロードしたり、また、当該命令に含まれるイ
ミディエート値を直接所要レジスタにロードしたりする
こともできる。
の内容によって任意に決定される。例えば初期設定すべ
き情報がメモリ3上のデータ転送制御テーブルに予め形
成されているときには、ロード命令のオペランド指定フ
ィールドに含まれるメモリアドレスからデータを所要の
レジスタにロードしたり、また、当該命令に含まれるイ
ミディエート値を直接所要レジスタにロードしたりする
こともできる。
コプロセッサ1によるDMA転送制御態様はデータ転送
命令の内容によって任意に決定される。
命令の内容によって任意に決定される。
例えば当該データ転送命令のオペレーションコードの種
類により、デ:りのブロック転送やデータチェイン転送
、或いはメモリ間又はメモリと入出力回路間でのデータ
転送を行なったりすることができる。
類により、デ:りのブロック転送やデータチェイン転送
、或いはメモリ間又はメモリと入出力回路間でのデータ
転送を行なったりすることができる。
次に上記実施例の動作を説明する。
コプロセッサ1によるデータ転送動作は、主プロセッサ
命令とコプロセッサ命令が混在されて記述されているプ
ログラムの順番に従ってデータ転送動作を行なう態様と
、外部からのデータ転送要求に従ってデータ転送動作を
開始する動作態様の2通りに大別される。
命令とコプロセッサ命令が混在されて記述されているプ
ログラムの順番に従ってデータ転送動作を行なう態様と
、外部からのデータ転送要求に従ってデータ転送動作を
開始する動作態様の2通りに大別される。
例えば前者の場合の命令実行フローは、第3図に示され
るように、主プロセッサ2が所定の主プロセッサ命令を
実行した後の命令がコプロセッサ命令である場合、コプ
ロセッサ1は先ずロード命令を実行して内部のデータ転
送チャネル構成用レジスタセットを初期設定し、これに
続いてデータ転送命令を実行する。このデータ転送命令
の実行を終了すると、この後に記述されている主プロセ
ッサ命令に従って、DMA転送された情報の処理などを
行なう。このような命令実行フローに即したプログラム
には、例えば第4図(A)に示されるように命令の実行
順に従ってコプロセッサ1用のロード命令やデータ転送
命令を配置した構造を採用したり、また、第4図(B)
に示されるように主プロセッサ命令上にジャンプ命令を
配置し、このジャンプ命令による分岐先にコプロセッサ
1用のロード命令やデータ転送命令を配置し、その後に
前記ジャンプ命令の次に命令実行フローを戻すためのリ
ターン命令を配置する構造を採用することができる。
るように、主プロセッサ2が所定の主プロセッサ命令を
実行した後の命令がコプロセッサ命令である場合、コプ
ロセッサ1は先ずロード命令を実行して内部のデータ転
送チャネル構成用レジスタセットを初期設定し、これに
続いてデータ転送命令を実行する。このデータ転送命令
の実行を終了すると、この後に記述されている主プロセ
ッサ命令に従って、DMA転送された情報の処理などを
行なう。このような命令実行フローに即したプログラム
には、例えば第4図(A)に示されるように命令の実行
順に従ってコプロセッサ1用のロード命令やデータ転送
命令を配置した構造を採用したり、また、第4図(B)
に示されるように主プロセッサ命令上にジャンプ命令を
配置し、このジャンプ命令による分岐先にコプロセッサ
1用のロード命令やデータ転送命令を配置し、その後に
前記ジャンプ命令の次に命令実行フローを戻すためのリ
ターン命令を配置する構造を採用することができる。
一方、外部からのデータ転送要求に従ってデータ転送動
作を開始する場合の命令実行フローは、第5図に示され
るように、主プロセッサ2が所定の主プロセッサ命令を
実行した後、次の命令がコプロセッサ命令である場合、
コプロセッサ1は先ずロード命令を実行して内部のデー
タ転送チャネル構成用レジスタセットを初期設定し、こ
れに続いてデータ転送命令をフェッチする。この命令を
フェッチした後は、データ転送要求があるまで主プロセ
ッサ2がバス権を獲得して主プロセッサ命令を実行し、
その間コプロセッサ1はデータ転送要求があるまで前記
データ転送命令の実行を待ち、要求がある毎にそのデー
タ転送命令に従ったDMA転送動作をその都度実行する
。データ転送命令に従ったDMA転送動作を開始するま
での待ち状態は、特に制限されないが、ノンオペレーシ
ョンを指示するマイクロ命令を繰返し実行するようなル
ープ状態を作り出すことによって得られる。この状態は
データ転送要求に応じてアサートされる条件信号TSに
より解除され、解除されると、データ転送命令に従った
DMA転送のためのマイクロフローに分岐される。デー
タ転送動作を終了すると、主プロセッサ2に割込み信号
IRQをアサートして、主プロセッサに、DMA転送さ
れた情報の処理などに分岐させるための割込み処理ルー
チンを実行させる。このときの分岐先アドレスは、コプ
ロセッサ1から出力されるベクタなどによって指定され
るようになっている。このようなデータ転送動作に用い
るデータ転送命令は、例えば第6図に示されるように、
外部データ転送要求に応じてDMA転送を開始し、指定
語数のデータ転送終了後に割込み信号IRQをアサート
する処理内容を指示するようにされる。尚、この態様に
おけるプログラム構造も第4図(A)、CB)に示され
る構造にすることができる。
作を開始する場合の命令実行フローは、第5図に示され
るように、主プロセッサ2が所定の主プロセッサ命令を
実行した後、次の命令がコプロセッサ命令である場合、
コプロセッサ1は先ずロード命令を実行して内部のデー
タ転送チャネル構成用レジスタセットを初期設定し、こ
れに続いてデータ転送命令をフェッチする。この命令を
フェッチした後は、データ転送要求があるまで主プロセ
ッサ2がバス権を獲得して主プロセッサ命令を実行し、
その間コプロセッサ1はデータ転送要求があるまで前記
データ転送命令の実行を待ち、要求がある毎にそのデー
タ転送命令に従ったDMA転送動作をその都度実行する
。データ転送命令に従ったDMA転送動作を開始するま
での待ち状態は、特に制限されないが、ノンオペレーシ
ョンを指示するマイクロ命令を繰返し実行するようなル
ープ状態を作り出すことによって得られる。この状態は
データ転送要求に応じてアサートされる条件信号TSに
より解除され、解除されると、データ転送命令に従った
DMA転送のためのマイクロフローに分岐される。デー
タ転送動作を終了すると、主プロセッサ2に割込み信号
IRQをアサートして、主プロセッサに、DMA転送さ
れた情報の処理などに分岐させるための割込み処理ルー
チンを実行させる。このときの分岐先アドレスは、コプ
ロセッサ1から出力されるベクタなどによって指定され
るようになっている。このようなデータ転送動作に用い
るデータ転送命令は、例えば第6図に示されるように、
外部データ転送要求に応じてDMA転送を開始し、指定
語数のデータ転送終了後に割込み信号IRQをアサート
する処理内容を指示するようにされる。尚、この態様に
おけるプログラム構造も第4図(A)、CB)に示され
る構造にすることができる。
上記2通りに大別されたデータ転送制御態様のうち、主
プロセッサ命令とコプロセッサ命令が混在されて記述さ
れているプログラムの順番に従ってデータ転送動作を行
なう態様はメモリ間におけるデータブロック転送などに
利用することができる。また、外部からのデータ転送要
求に従ってデータ転送動作を開始する態様は入出力回路
4からメモリ3へのデータチェイン転送などに利用する
ことができる。
プロセッサ命令とコプロセッサ命令が混在されて記述さ
れているプログラムの順番に従ってデータ転送動作を行
なう態様はメモリ間におけるデータブロック転送などに
利用することができる。また、外部からのデータ転送要
求に従ってデータ転送動作を開始する態様は入出力回路
4からメモリ3へのデータチェイン転送などに利用する
ことができる。
最初に前記データブロック転送を行なう場合の動作を説
明する。
明する。
例えば主プロセッサ2が予めメモリ3上のデータ転送制
御テーブルにデータ転送制御条件を形成しておく場合に
は、コプロセッサ1はロード命令を実行してそのデータ
転送制御テーブル上のデータ転送制御条件によりコプロ
セッサ、1を初期設定する。この初期設定動作において
、初期設定すべきデータの所在は、特に制限されないが
、ロード命令のオペランドアドレス指定フィールドの情
報により与えられ、このメモリアドレスはアドレスレジ
スタ20に設定される。ロード命令を実行すると、その
アドレスレジスタ20が保有するメモリアドレスに従っ
てメモリ3上のデータ転送制御テーブルから転送元アド
レスがアドレスレジスタ21Aに設定されると共に、ア
ドレスレジスタ20の値が1つインクリメントされ、次
のバスサイクルではメモリ3上のデータ転送制御テーブ
ルから転送先アドレスがアドレスレジスタ21Bに設定
される。更に、再びアドレスレジスタ20の値が1つイ
ンクリメントされ1次のバスサイクルではそのインクリ
メントされたアドレスレジスタ20の値に従ってメモリ
3から転送語数がバイトカウントレジスタ22に設定さ
れる。この次にデータ転送命令を実行すると、アドレス
レジスタ21Aに初期設定されている転送元先頭アドレ
スに応するデータがメモリ3からコプロセッサ1に読み
込まれ、次のバスサイクルでは、読み込まれたデータが
アドレスレジスタ21Bに初期設定されている転送先先
頭アドレスに書き込まれる。バイト単位のデータ転送毎
にアドレスレジスタ21A。
御テーブルにデータ転送制御条件を形成しておく場合に
は、コプロセッサ1はロード命令を実行してそのデータ
転送制御テーブル上のデータ転送制御条件によりコプロ
セッサ、1を初期設定する。この初期設定動作において
、初期設定すべきデータの所在は、特に制限されないが
、ロード命令のオペランドアドレス指定フィールドの情
報により与えられ、このメモリアドレスはアドレスレジ
スタ20に設定される。ロード命令を実行すると、その
アドレスレジスタ20が保有するメモリアドレスに従っ
てメモリ3上のデータ転送制御テーブルから転送元アド
レスがアドレスレジスタ21Aに設定されると共に、ア
ドレスレジスタ20の値が1つインクリメントされ、次
のバスサイクルではメモリ3上のデータ転送制御テーブ
ルから転送先アドレスがアドレスレジスタ21Bに設定
される。更に、再びアドレスレジスタ20の値が1つイ
ンクリメントされ1次のバスサイクルではそのインクリ
メントされたアドレスレジスタ20の値に従ってメモリ
3から転送語数がバイトカウントレジスタ22に設定さ
れる。この次にデータ転送命令を実行すると、アドレス
レジスタ21Aに初期設定されている転送元先頭アドレ
スに応するデータがメモリ3からコプロセッサ1に読み
込まれ、次のバスサイクルでは、読み込まれたデータが
アドレスレジスタ21Bに初期設定されている転送先先
頭アドレスに書き込まれる。バイト単位のデータ転送毎
にアドレスレジスタ21A。
24Bの値は演算器29でインクリメントされ。
以下同様にしてバイトカウントレジスタ22の値が「O
」になるまでデータ転送動作を次々に繰り返す。
」になるまでデータ転送動作を次々に繰り返す。
次にデータチェイン転送を行なう場合の動作を説明する
。データチェイン転送を行なう場合には。
。データチェイン転送を行なう場合には。
第7図に示されるように、メモリ3に多数用意したバッ
ファ領域BE工〜BEiを、ポインタとして機能する記
述子DCRP1〜DCRPiによって次々と連結させる
ためのデータ転送制御テーブル30を主プロセッサ2が
メモリ3上に形成する。
ファ領域BE工〜BEiを、ポインタとして機能する記
述子DCRP1〜DCRPiによって次々と連結させる
ためのデータ転送制御テーブル30を主プロセッサ2が
メモリ3上に形成する。
夫々の記述子には、特に制限されないが、バッファ領域
の先頭アドレスを示すバッファポインタ、最大転送語数
やバッファ領域の状態を示すステータス、及び次の記述
子の先頭アドレスを示すチェインポインタなどを含んで
いる。
の先頭アドレスを示すバッファポインタ、最大転送語数
やバッファ領域の状態を示すステータス、及び次の記述
子の先頭アドレスを示すチェインポインタなどを含んで
いる。
主プロセッサ2がデータ転送制御テーブルを形成した後
、コプロセッサ1がロード命令をフェッチすると、該コ
プロセッサ1は例えばそのロード命令のオペランドアド
レス指定フィールドのメモリアドレスに従って所定の記
述子例えば記述子DCRP、をアクセスして、データ転
送制御用のレジスタセットを初期設定する。ロード命令
の実行に当たりそのメモリアドレスはアドレスレジスタ
20に設定される。ロード命令を実行すると、そのアド
レスレジスタ20が保有するメモリアドレスにより指定
される記述子0CRP工のバッファポインタの値がアド
レスレジスタ21Bに設定されると共に、アドレスレジ
スタ20の値がインクリメントされ、次のバスサイクル
ではチェインポインタの値がワークレジスタ23に設定
されると共にアドレスレジスタ20の値が更にインクリ
メントされ、その次のバスサイクルでは最大転送語数が
バイトカウントレジスタ22に設定される。
、コプロセッサ1がロード命令をフェッチすると、該コ
プロセッサ1は例えばそのロード命令のオペランドアド
レス指定フィールドのメモリアドレスに従って所定の記
述子例えば記述子DCRP、をアクセスして、データ転
送制御用のレジスタセットを初期設定する。ロード命令
の実行に当たりそのメモリアドレスはアドレスレジスタ
20に設定される。ロード命令を実行すると、そのアド
レスレジスタ20が保有するメモリアドレスにより指定
される記述子0CRP工のバッファポインタの値がアド
レスレジスタ21Bに設定されると共に、アドレスレジ
スタ20の値がインクリメントされ、次のバスサイクル
ではチェインポインタの値がワークレジスタ23に設定
されると共にアドレスレジスタ20の値が更にインクリ
メントされ、その次のバスサイクルでは最大転送語数が
バイトカウントレジスタ22に設定される。
データ転送条件の初期設定後にコプロセッサ1がチェイ
ン転送のためのデータ転送命令をフェッチすると、コプ
ロセッサは、入出力回路4からのデータ転送要求がある
までデータ転送動作を待ち、データ転送要求信号DRE
Qがアサートされて初めてデータ転送動作を開始する。
ン転送のためのデータ転送命令をフェッチすると、コプ
ロセッサは、入出力回路4からのデータ転送要求がある
までデータ転送動作を待ち、データ転送要求信号DRE
Qがアサートされて初めてデータ転送動作を開始する。
斯るデータ転送動作においては、先ず、アドレスレジス
タ21Bに初期設定されているメモリアドレス(バッフ
ァポインタの値)によって指定されるバッファ領域BE
1に入出力回路4から1バイトのデータを転送する。1
バイトのデータ転送毎にアドレスレジスタ21Bの値が
インクリメントされて次のメモリアドレスを保有すると
共に、バイトカウントレジスタ22の値が1つづつデク
リメントされる。
タ21Bに初期設定されているメモリアドレス(バッフ
ァポインタの値)によって指定されるバッファ領域BE
1に入出力回路4から1バイトのデータを転送する。1
バイトのデータ転送毎にアドレスレジスタ21Bの値が
インクリメントされて次のメモリアドレスを保有すると
共に、バイトカウントレジスタ22の値が1つづつデク
リメントされる。
このような動作を繰り返すことにより順次データをバッ
ファ領域BE、に順番に転送していく、バイトカウント
レジスタ22の値が「0」になると、言い換えるなら、
初期設定により指定されたバッファ領域BE□に空き領
域がなくなると、コプロセッサ1はバッファ領域の切換
処理を行う、即ち、ワークレジスタ23に初期設定され
ているチェインポインタの値をアドレスレジスタ20に
セットし、これに基づいて次の記述子DCRP、をアク
セスして上記同様にその記述子DCRP、に含まれるデ
ータ転送制御情報を内部に設定する。この設定動作を行
うと、それに続けて再びデータ転送動作可能になる。
ファ領域BE、に順番に転送していく、バイトカウント
レジスタ22の値が「0」になると、言い換えるなら、
初期設定により指定されたバッファ領域BE□に空き領
域がなくなると、コプロセッサ1はバッファ領域の切換
処理を行う、即ち、ワークレジスタ23に初期設定され
ているチェインポインタの値をアドレスレジスタ20に
セットし、これに基づいて次の記述子DCRP、をアク
セスして上記同様にその記述子DCRP、に含まれるデ
ータ転送制御情報を内部に設定する。この設定動作を行
うと、それに続けて再びデータ転送動作可能になる。
尚、主プロセッサ2が予めバッファ領域に書き込んだデ
ータを入出力回路4に転送する場合には、転送方向を換
えて上記同様のデータチェイン転送を行うことができる
。
ータを入出力回路4に転送する場合には、転送方向を換
えて上記同様のデータチェイン転送を行うことができる
。
上記実施例によれば以下の作用効果を得るものである。
(1)フェッチしたコプロセッサ命令を解読して実行す
るコプロセッサ1は、データ転送チャネルを構成可能な
ダイレクト・メモリ・アクセス制御用のレジスタセット
を実行部11に有し、前記レジスタセットに情報を設定
するためのロード命令と、前記レジスタセットに設定さ
れた情報に従ってダイレクト・メモリ・アクセス制御を
実行させるためのデータ転送命令とを実行可能に構成さ
れているから、自らロード命令を実行してデータ転送制
御条件を内部設定することができ、主プロセッサ2から
データ転送制御条件の設定を受けなくても済むようにな
り、その結果、ダイレクト・メモリ・アクセス制御によ
るデータ転送制御条件の設定にかかる時間を短縮するこ
とができる。
るコプロセッサ1は、データ転送チャネルを構成可能な
ダイレクト・メモリ・アクセス制御用のレジスタセット
を実行部11に有し、前記レジスタセットに情報を設定
するためのロード命令と、前記レジスタセットに設定さ
れた情報に従ってダイレクト・メモリ・アクセス制御を
実行させるためのデータ転送命令とを実行可能に構成さ
れているから、自らロード命令を実行してデータ転送制
御条件を内部設定することができ、主プロセッサ2から
データ転送制御条件の設定を受けなくても済むようにな
り、その結果、ダイレクト・メモリ・アクセス制御によ
るデータ転送制御条件の設定にかかる時間を短縮するこ
とができる。
(2)コプロセッサ1は、実行すべきデータ転送命令の
内容に従ってデータブロック転送やデータチェイン転送
などのデータ転送制御態様を決定するから、ハードウェ
アによって許容される範囲でデータ転送モードを設定可
能な従来のDMAコントローラに比べ1選択可能なデー
タ転送制御態様に対して柔軟性を得ることができる。
内容に従ってデータブロック転送やデータチェイン転送
などのデータ転送制御態様を決定するから、ハードウェ
アによって許容される範囲でデータ転送モードを設定可
能な従来のDMAコントローラに比べ1選択可能なデー
タ転送制御態様に対して柔軟性を得ることができる。
(3)上記作用効果(2)により選択可能なデータ転送
制御態様に対して柔軟性を得ることができるから、実行
部11に複数組のデータ転送チャネル構成用のレジスタ
セットが用意されている場合。
制御態様に対して柔軟性を得ることができるから、実行
部11に複数組のデータ転送チャネル構成用のレジスタ
セットが用意されている場合。
複数のデータ転送命令を時分割で実行することにより複
数のデータ転送チャネルを介して並列的にデータ転送を
行うような転送制御態様をも用意に実現することができ
るようになる。
数のデータ転送チャネルを介して並列的にデータ転送を
行うような転送制御態様をも用意に実現することができ
るようになる。
(4)上記作用効果(1)〜(3)の内容は、コプロセ
ッサ1がロード命令を実行してDMA転送制御用のレジ
スタセットにデータ転送制御情報を設定し、次いで、コ
プロセッサ1がデータ転送命令を実行して、前記レジス
タセットの情報に従ってDMA転送制御を行うというデ
ータ転送制御方式を採用することによっても同様に達成
することができる。
ッサ1がロード命令を実行してDMA転送制御用のレジ
スタセットにデータ転送制御情報を設定し、次いで、コ
プロセッサ1がデータ転送命令を実行して、前記レジス
タセットの情報に従ってDMA転送制御を行うというデ
ータ転送制御方式を採用することによっても同様に達成
することができる。
(5)上記作用効果(4)に記載のデータ転送制御方式
において、コプロセッサ1がフェッチしたデータ転送命
令に基づくデータ転送動作の開始を外部からのデータ転
送要求があるまで待ち状態にするようなデータ転送命令
を採用することにより、入出力回路4など外部からのデ
ータ転送要求に従ってデータ転送動作を行うことも可能
になる。
において、コプロセッサ1がフェッチしたデータ転送命
令に基づくデータ転送動作の開始を外部からのデータ転
送要求があるまで待ち状態にするようなデータ転送命令
を採用することにより、入出力回路4など外部からのデ
ータ転送要求に従ってデータ転送動作を行うことも可能
になる。
(6)コプロセッサ1が、多数用意したバッファ領域を
、ポインタとして機能する記述子によって次々と連結さ
せるようにしてデータチェイン転送を行う場合、次の記
述子の所在・を示すチェインポインタをコプロセッサの
ワーク領域に保持させるようにすると、バッファ領域を
切り換えるために必要な次の記述子を取得する処理を、
主プロセッサ2の動作を介在させることなく高速に行う
ことができる。
、ポインタとして機能する記述子によって次々と連結さ
せるようにしてデータチェイン転送を行う場合、次の記
述子の所在・を示すチェインポインタをコプロセッサの
ワーク領域に保持させるようにすると、バッファ領域を
切り換えるために必要な次の記述子を取得する処理を、
主プロセッサ2の動作を介在させることなく高速に行う
ことができる。
以上本発明者によってなされた発明を実施例に基づいて
具体的に説明したが本発明はそれに限定されるものでは
なくその要旨を逸脱しない範囲において種々変更するこ
とができる。
具体的に説明したが本発明はそれに限定されるものでは
なくその要旨を逸脱しない範囲において種々変更するこ
とができる。
例えば上記実施例ではデータのブロック転送とデータチ
ェイン転送を行う場合について説明したが、本発明はそ
れに限定されるものではなく、1バイト毎のデータ転送
などにも利用することができる。また、データ転送制御
テーブルを最初にアクセスするためのメモリアドレスを
ロード命令のオペランドアドレス指定フィールドによっ
て与えるようにしたが、これに限定されず1例えばその
ような情報を外部からワークレジスタにロードするよう
にしてもよい、また、連鎖されているバッファ領域のう
ち空き領域のある途中のバッファ領域にデータを転送す
る場合には、ロード命令の一貫として夫々の記述子に含
まれているステータスを検査し、そのステータスにより
空き領域であることが示されている記述子の情報をデー
タ転送制御用に初期設定するようにしてもよい、また、
データチェイン転送のための記述子の構成は上記実施例
に限定されず適宜変更することができる。
ェイン転送を行う場合について説明したが、本発明はそ
れに限定されるものではなく、1バイト毎のデータ転送
などにも利用することができる。また、データ転送制御
テーブルを最初にアクセスするためのメモリアドレスを
ロード命令のオペランドアドレス指定フィールドによっ
て与えるようにしたが、これに限定されず1例えばその
ような情報を外部からワークレジスタにロードするよう
にしてもよい、また、連鎖されているバッファ領域のう
ち空き領域のある途中のバッファ領域にデータを転送す
る場合には、ロード命令の一貫として夫々の記述子に含
まれているステータスを検査し、そのステータスにより
空き領域であることが示されている記述子の情報をデー
タ転送制御用に初期設定するようにしてもよい、また、
データチェイン転送のための記述子の構成は上記実施例
に限定されず適宜変更することができる。
、また、上記実施例ではコプロセッサが直接コプロセッ
サ命令をフェッチする形式としたが、本発明はそれに限
定されるものではなく、主プロセッサが命令を監視し、
フェッチした命令からコプロセッサ命令を切り出してコ
マンドを生成し、これをコプロセッサに与えるようにし
てもよい。但しその場合にはコプロセッサコマンドを生
成すると共に該コマンドをコプロセッサに与える処理時
間だけ主プロセッサの動作とコプロセッサの動作の切換
に際してオーバーヘッドが増す。
サ命令をフェッチする形式としたが、本発明はそれに限
定されるものではなく、主プロセッサが命令を監視し、
フェッチした命令からコプロセッサ命令を切り出してコ
マンドを生成し、これをコプロセッサに与えるようにし
てもよい。但しその場合にはコプロセッサコマンドを生
成すると共に該コマンドをコプロセッサに与える処理時
間だけ主プロセッサの動作とコプロセッサの動作の切換
に際してオーバーヘッドが増す。
以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野である単体チップのコプロ
セッサに適用した場合について説明したが1本発明はそ
れに限定されるものではなく、主プロセッサや入出力回
路を本発明のコプロセッサと共に1つの半導体チップに
形成したシステム・オン・チップ型のシングルチップマ
イクロコンピュータなどにも適用することができる。
をその背景となった利用分野である単体チップのコプロ
セッサに適用した場合について説明したが1本発明はそ
れに限定されるものではなく、主プロセッサや入出力回
路を本発明のコプロセッサと共に1つの半導体チップに
形成したシステム・オン・チップ型のシングルチップマ
イクロコンピュータなどにも適用することができる。
本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記の通りである。
て得られる効果を簡単に説明すれば下記の通りである。
すなわち、フェッチしたコプロセッサ命令を解読して実
行するコプロセッサは、データ転送チャネルを構成可能
なダイレクト・メモリ・アクセス制御用のレジスタセッ
トを実行部に有し、前記レジスタセットに情報を設定す
るためのロード命令と、前記レジスタセットに設定され
た情報に従ってダイレクト・メモリ・アクセス制御を実
行させるためのデータ転送命令とを実行可能に構成され
ているから、自らロード命令を実行してデータ転送制御
条件を内部設定することができ、これにより主プロセッ
サからデータ転送制御条件の設定を受けなくても済むよ
うになり、その結果、ダイレクト・メモリ・アクセス制
御によるデータ転送制御条件の設定にかかる時間を短縮
することができるという効果がある。
行するコプロセッサは、データ転送チャネルを構成可能
なダイレクト・メモリ・アクセス制御用のレジスタセッ
トを実行部に有し、前記レジスタセットに情報を設定す
るためのロード命令と、前記レジスタセットに設定され
た情報に従ってダイレクト・メモリ・アクセス制御を実
行させるためのデータ転送命令とを実行可能に構成され
ているから、自らロード命令を実行してデータ転送制御
条件を内部設定することができ、これにより主プロセッ
サからデータ転送制御条件の設定を受けなくても済むよ
うになり、その結果、ダイレクト・メモリ・アクセス制
御によるデータ転送制御条件の設定にかかる時間を短縮
することができるという効果がある。
また、コプロセッサは、実行すべきデータ転送命令の内
容に従ってデータブロック転送やデータチェイン転送な
どのデータ転送制御態様を決定するから、ハードウェア
によって許容される範囲でデータ転送モードを設定可能
な従来のDMAコントローラに比べ、選択可能なデータ
転送制御態様に対して柔軟性を得ることができるという
効果がある。
容に従ってデータブロック転送やデータチェイン転送な
どのデータ転送制御態様を決定するから、ハードウェア
によって許容される範囲でデータ転送モードを設定可能
な従来のDMAコントローラに比べ、選択可能なデータ
転送制御態様に対して柔軟性を得ることができるという
効果がある。
さらに、コプロセッサがロード命令を実行してDMA転
送制御用のレジスタセットにデータ転送制御情報を設定
し、次いで、コプロセッサがデータ転送命令を実行して
、前記レジスタセットの情報に従ってDMA転送制御を
行うというデータ転送制御方式を採用することによって
も上記同様の効果を得ることができる。
送制御用のレジスタセットにデータ転送制御情報を設定
し、次いで、コプロセッサがデータ転送命令を実行して
、前記レジスタセットの情報に従ってDMA転送制御を
行うというデータ転送制御方式を採用することによって
も上記同様の効果を得ることができる。
また、そのデータ転送制御方式において、コプロセッサ
がフェッチしたデータ転送命令に基づくデータ転送動作
の開始を外部からのデータ転送要求があるまで待ち状態
にするようなデータ転送命令を採用することにより、入
出力回路など外部からのデータ転送要求に従ってデータ
転送動作を行うことも可能になる。
がフェッチしたデータ転送命令に基づくデータ転送動作
の開始を外部からのデータ転送要求があるまで待ち状態
にするようなデータ転送命令を採用することにより、入
出力回路など外部からのデータ転送要求に従ってデータ
転送動作を行うことも可能になる。
そして、コプロセッサが、多数用意したバッファ領域を
、ポインタとして機能する記述子によって次々と連結さ
せるようにしてデータチェイン転送を行う場合、次の記
述子の所在を示すチェインポインタをコプロセッサのワ
ーク領域に保持させるようにすると、バッファ領域を切
り換えるために必要な次の記述子を取得する処理を、主
プロセッサの動作を介在させることなく高速に行うこと
ができる。
、ポインタとして機能する記述子によって次々と連結さ
せるようにしてデータチェイン転送を行う場合、次の記
述子の所在を示すチェインポインタをコプロセッサのワ
ーク領域に保持させるようにすると、バッファ領域を切
り換えるために必要な次の記述子を取得する処理を、主
プロセッサの動作を介在させることなく高速に行うこと
ができる。
第1図は本発明に係るコプロセッサの一実施例ブロック
図、 第2図は第1図のコプロセッサを用いたシステム構成例
を示すブロック図、 第3図はプログラムの順番に従ってデータ転送動作を行
う場合の命令実行フローの一例を示す説明図、 第4図(A)、(B)は主プロセッサ命令とコプロセッ
サ命令が混在されるプログラム構造の一例を示す説明図
。 第5図は外部からのデータ転送要求に従ってデータ転送
動作を行う場合の命令実行フローの一例を示す説明図、 第6図は第5図の命令実行フローに適合可能なデータ転
送命令の一例を示す機能説明図。 第7図はデータチェイン転送に利用される記述子とバッ
ファ領域との関係の一例を示す説明図である。 1・・・コプロセッサ、2・・・主プロセッサ、3・・
・メモリ、4・・・入出力回路、BREQI、BREQ
2・・・バスリクエスト信号、BACKI、BACK2
・・・パスアクルッジ信号、DREQ・・・データ転送
要求信号、IREQ・・・割込み信号、10・・・命令
制御部、11・・・実行部、12・・・マイクロROM
、13・・・マイクロアドレスデコーダ、16・・・イ
ンストラクションレジスタ、17・・・マイクロアドレ
スコントローラ、18・・・マイクロインストラクショ
ンデコーダ、19・・・コントローラ、20.21A。 21B・・・アドレスレジスタ、22・・・バイトカウ
ントレジスタ、23・・・ワークレジスタ、24・・・
コントロールレジスタ、29・・・演算器、DCRP、
〜DCRPi・・・記述子、BE、〜BEi・・・バッ
ファ領域。 170−t!−/す 図 コブOt’−y“す′ 第 11−0−1!ゲブ 図 コブロで・ゾプ
図、 第2図は第1図のコプロセッサを用いたシステム構成例
を示すブロック図、 第3図はプログラムの順番に従ってデータ転送動作を行
う場合の命令実行フローの一例を示す説明図、 第4図(A)、(B)は主プロセッサ命令とコプロセッ
サ命令が混在されるプログラム構造の一例を示す説明図
。 第5図は外部からのデータ転送要求に従ってデータ転送
動作を行う場合の命令実行フローの一例を示す説明図、 第6図は第5図の命令実行フローに適合可能なデータ転
送命令の一例を示す機能説明図。 第7図はデータチェイン転送に利用される記述子とバッ
ファ領域との関係の一例を示す説明図である。 1・・・コプロセッサ、2・・・主プロセッサ、3・・
・メモリ、4・・・入出力回路、BREQI、BREQ
2・・・バスリクエスト信号、BACKI、BACK2
・・・パスアクルッジ信号、DREQ・・・データ転送
要求信号、IREQ・・・割込み信号、10・・・命令
制御部、11・・・実行部、12・・・マイクロROM
、13・・・マイクロアドレスデコーダ、16・・・イ
ンストラクションレジスタ、17・・・マイクロアドレ
スコントローラ、18・・・マイクロインストラクショ
ンデコーダ、19・・・コントローラ、20.21A。 21B・・・アドレスレジスタ、22・・・バイトカウ
ントレジスタ、23・・・ワークレジスタ、24・・・
コントロールレジスタ、29・・・演算器、DCRP、
〜DCRPi・・・記述子、BE、〜BEi・・・バッ
ファ領域。 170−t!−/す 図 コブOt’−y“す′ 第 11−0−1!ゲブ 図 コブロで・ゾプ
Claims (1)
- 【特許請求の範囲】 1、コプロセッサ命令を直接又は間接に解読して命令を
実行するコプロセッサの実行部に、ダイレクト・メモリ
・アクセス制御に利用可能なレジスタセットを含め、コ
プロセッサ命令に従って前記レジスタセットにデータ転
送制御情報を設定するためのロード命令と、前記レジス
タセットに設定された情報に基づいてダイレクト・メモ
リ・アクセス制御を実行させるためのデータ転送命令と
を実行可能にされて成るコプロセッサ。 2、コプロセッサがロード命令を実行して、該コプロセ
ッサの実行部に設けられているダイレクト・メモリ・ア
クセス制御用のレジスタセットにデータ転送制御情報を
設定し、次いで、コプロセッサがデータ転送命令を実行
して、前記レジスタセットに設定した情報に従ったダイ
レクト・メモリ・アクセス制御を行うデータ転送制御方
式。 3、フェッチしたデータ転送命令に従ったデータ転送動
作を、外部からのデータ転送要求に従って実行開始し、
所要のデータ転送動作を終了したとき、これを外部に通
知するための割込み信号を主プロセッサに出力する請求
項2記載のデータ転送制御方式。 4、データ転送制御情報と次のデータ転送制御情報の所
在を示すチェイン情報とを含む記述子をポインタとして
、複数のバッファ領域を次々に連結させるためのデータ
転送制御テーブルを主プロセッサが形成した後、コプロ
セッサは、ロード命令を実行することによりそのデータ
転送制御テーブルをアクセスして所定の記述子を読み込
むと共に、読み込んだ記述子に含まれるチェイン情報を
ワークレジスタ領域に保持し、データ転送のためのバッ
ファ領域を次のバッファ領域に切り換えるとき、そのワ
ークレジスタが保有するチェイン情報に基づいて、切り
換えるべきバッファ領域を特定する次の記述子をデータ
転送制御テーブルから読み込むものである請求項3記載
のデータ転送制御方式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1073228A JPH02252044A (ja) | 1989-03-24 | 1989-03-24 | コプロセッサ及びデータ転送制御方式 |
KR1019900002928A KR900015007A (ko) | 1989-03-24 | 1990-03-06 | 마이크로 프로세서 시스템 및 마이크로 프로세서 시스템에서의 전송제어 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1073228A JPH02252044A (ja) | 1989-03-24 | 1989-03-24 | コプロセッサ及びデータ転送制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02252044A true JPH02252044A (ja) | 1990-10-09 |
Family
ID=13512116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1073228A Pending JPH02252044A (ja) | 1989-03-24 | 1989-03-24 | コプロセッサ及びデータ転送制御方式 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPH02252044A (ja) |
KR (1) | KR900015007A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100418437B1 (ko) * | 2001-12-24 | 2004-02-14 | (주)씨앤에스 테크놀로지 | 멀티미디어 신호처리를 위한 영상복원 프로세서 |
US8200934B2 (en) | 2006-10-06 | 2012-06-12 | Hitachi, Ltd. | Data transfer unit in multi-core processor |
US8639860B2 (en) | 2011-03-14 | 2014-01-28 | Ricoh Company, Ltd. | Data transfer system and data transfer method |
-
1989
- 1989-03-24 JP JP1073228A patent/JPH02252044A/ja active Pending
-
1990
- 1990-03-06 KR KR1019900002928A patent/KR900015007A/ko not_active Application Discontinuation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100418437B1 (ko) * | 2001-12-24 | 2004-02-14 | (주)씨앤에스 테크놀로지 | 멀티미디어 신호처리를 위한 영상복원 프로세서 |
US8200934B2 (en) | 2006-10-06 | 2012-06-12 | Hitachi, Ltd. | Data transfer unit in multi-core processor |
US8639860B2 (en) | 2011-03-14 | 2014-01-28 | Ricoh Company, Ltd. | Data transfer system and data transfer method |
Also Published As
Publication number | Publication date |
---|---|
KR900015007A (ko) | 1990-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5212795A (en) | Programmable DMA controller | |
US6421744B1 (en) | Direct memory access controller and method therefor | |
US20070250682A1 (en) | Method and apparatus for operating a computer processor array | |
JP4226085B2 (ja) | マイクロプロセッサ及びマルチプロセッサシステム | |
KR970003321B1 (ko) | 코프로세서 지정 시스템 | |
JPH03216776A (ja) | 集積回路装置及びそれにより構成されたマイクロプロセッサ | |
JPH0530112A (ja) | デイジタル信号処理システムの制御方法 | |
US5068821A (en) | Bit processor with powers flow register switches control a function block processor for execution of the current command | |
JP2754825B2 (ja) | マイクロプロセッサ | |
JPH02252044A (ja) | コプロセッサ及びデータ転送制御方式 | |
JP3839068B2 (ja) | 半導体集積回路装置 | |
JP2001109708A (ja) | マイクロコンピュータ | |
JPH03250234A (ja) | マイクロプロセッサシステム及びマイクロプロセッサシステム内におけるデータ転送方式 | |
JPH1185673A (ja) | 共有バスの制御方法とその装置 | |
JPS59218569A (ja) | マイクロ・コンピユ−タ | |
JP3943302B2 (ja) | プログラマブルコントローラ | |
JP4322284B2 (ja) | シングルチップマイクロコンピュータ | |
JPH023217B2 (ja) | ||
JPH0578864B2 (ja) | ||
Hendry | Programmable DMA controller | |
JPH03194621A (ja) | データ処理装置 | |
JPH02224048A (ja) | 情報処理装置 | |
JPH0233652A (ja) | 電子機器 | |
JPH02227761A (ja) | データ転送制御装置及びデータ処理システム | |
JP2006040310A (ja) | 半導体集積回路装置およびマイクロコンピュータ |