JPH08249266A - データ転送回路 - Google Patents
データ転送回路Info
- Publication number
- JPH08249266A JPH08249266A JP5134795A JP5134795A JPH08249266A JP H08249266 A JPH08249266 A JP H08249266A JP 5134795 A JP5134795 A JP 5134795A JP 5134795 A JP5134795 A JP 5134795A JP H08249266 A JPH08249266 A JP H08249266A
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- data transfer
- data
- bus
- channel
- 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
Landscapes
- Bus Control (AREA)
Abstract
(57)【要約】
【目的】 複数のデータ転送チャネルの動作を連続して
行い、転送バスに空きクロック周期が生じないようにし
て高速化を図る。 【構成】 データバス233を介してデータ転送を行う
転送チャネルは、I/Oデバイス213,214とメモ
リ211との間で設定される。I/Oデバイス213,
214からデータ転送要求nDRQがあると、要求信号
確認部221,222によって受信され、優先順位確認
部223で予め定める優先順位に従ってデータ転送を行
うチャネルが決定される。決定されたチャネルに対応し
て、転送準備部224,225および転送部226,2
27が動作し、アドレスカウンタ229,231からの
アドレスがアドレスセレクタ232によって選択され、
アドレスバス234を介してメモリ215がアクセスさ
れる。選定されたI/Oデバイス213,214は、確
認信号nDAKによって動作を開始する。
行い、転送バスに空きクロック周期が生じないようにし
て高速化を図る。 【構成】 データバス233を介してデータ転送を行う
転送チャネルは、I/Oデバイス213,214とメモ
リ211との間で設定される。I/Oデバイス213,
214からデータ転送要求nDRQがあると、要求信号
確認部221,222によって受信され、優先順位確認
部223で予め定める優先順位に従ってデータ転送を行
うチャネルが決定される。決定されたチャネルに対応し
て、転送準備部224,225および転送部226,2
27が動作し、アドレスカウンタ229,231からの
アドレスがアドレスセレクタ232によって選択され、
アドレスバス234を介してメモリ215がアクセスさ
れる。選定されたI/Oデバイス213,214は、確
認信号nDAKによって動作を開始する。
Description
【0001】
【産業上の利用分野】本発明は、複数のデータ転送チャ
ネルが存在するデータ転送回路であって、転送要求に応
じて高速にデータ転送が可能なデータ転送回路に関す
る。
ネルが存在するデータ転送回路であって、転送要求に応
じて高速にデータ転送が可能なデータ転送回路に関す
る。
【0002】
【従来の技術】従来から、コンピュータシステムには、
入出力装置(Input Output Device、以下「I/Oデバ
イス」と略称する)とメモリとの間で直接データ転送を
行うダイレクトメモリアクセス(以下「DMA」と略称
する)の機能が高速データ転送のために備えられてい
る。I/Oデバイスとメモリとの間の高速なデータ転送
は、たとえばコンピュータシステムと外部記憶装置との
間でのデータ転送や、グラフィック画像出力などのため
に必要である。一般にDMAは、中央処理装置(以下
「CPU」と略称する)がプログラム動作によってI/
Oデバイスとメモリとの間のデータ転送を行うよりも高
速なデータ転送が可能である。このようなコンピュータ
システムには、DMAの動作を制御するDMAコントロ
ーラが備えられる。I/Oデバイスは、コンピュータシ
ステムの外部の装置などとの間で、ハンドシェイク等を
行いながらデータの転送を行う。DMAコントローラの
基本的な動作手順は次のようになる。
入出力装置(Input Output Device、以下「I/Oデバ
イス」と略称する)とメモリとの間で直接データ転送を
行うダイレクトメモリアクセス(以下「DMA」と略称
する)の機能が高速データ転送のために備えられてい
る。I/Oデバイスとメモリとの間の高速なデータ転送
は、たとえばコンピュータシステムと外部記憶装置との
間でのデータ転送や、グラフィック画像出力などのため
に必要である。一般にDMAは、中央処理装置(以下
「CPU」と略称する)がプログラム動作によってI/
Oデバイスとメモリとの間のデータ転送を行うよりも高
速なデータ転送が可能である。このようなコンピュータ
システムには、DMAの動作を制御するDMAコントロ
ーラが備えられる。I/Oデバイスは、コンピュータシ
ステムの外部の装置などとの間で、ハンドシェイク等を
行いながらデータの転送を行う。DMAコントローラの
基本的な動作手順は次のようになる。
【0003】(1)CPUが転送したいデータの存在す
る転送元のメモリやI/Oデバイスのアドレス、転送デ
ータ数、転送先のメモリやI/Oのアドレス、転送方法
などをDMAコントローラに設定する。このような設定
によって、I/Oデバイスとメモリとの間で1つのデー
タ転送チャネルが設定される。
る転送元のメモリやI/Oデバイスのアドレス、転送デ
ータ数、転送先のメモリやI/Oのアドレス、転送方法
などをDMAコントローラに設定する。このような設定
によって、I/Oデバイスとメモリとの間で1つのデー
タ転送チャネルが設定される。
【0004】(2)CPUは設定されたデータ転送チャ
ネルからデータ転送要求が出されるまでは通常のプログ
ラム動作を行う。設定されたデータ転送チャネルに属す
るI/Oデバイスから転送要求信号が発生されると、D
MAコントローラはCPUにDMA要求を行う。相手側
の外部装置の転送準備が終了していないようなときに
は、I/Oデバイスからの転送要求信号は発生されな
い。
ネルからデータ転送要求が出されるまでは通常のプログ
ラム動作を行う。設定されたデータ転送チャネルに属す
るI/Oデバイスから転送要求信号が発生されると、D
MAコントローラはCPUにDMA要求を行う。相手側
の外部装置の転送準備が終了していないようなときに
は、I/Oデバイスからの転送要求信号は発生されな
い。
【0005】(3)複数の要求信号が発生されるときに
は、DMAコントローラは予め設定されている優先順位
に従い、最優先のデータ転送チャネルに対するデータ転
送準備を行う。
は、DMAコントローラは予め設定されている優先順位
に従い、最優先のデータ転送チャネルに対するデータ転
送準備を行う。
【0006】(4)CPUがDMA要求を受け入れて、
メモリとI/Oデバイスとに対するデータバスとアドレ
スバスとの支配権を明け渡すと、DMAコントローラは
これらのバスを転送バスとしてメモリとI/Oデバイス
との間でデータ転送を行う。データ転送は転送要求信号
が継続する間行われる。転送要求を発生しているI/O
デバイスは、必要な量のデータが転送されると転送要求
信号を停止し、そのチャネルに対するデータ転送が終了
する。
メモリとI/Oデバイスとに対するデータバスとアドレ
スバスとの支配権を明け渡すと、DMAコントローラは
これらのバスを転送バスとしてメモリとI/Oデバイス
との間でデータ転送を行う。データ転送は転送要求信号
が継続する間行われる。転送要求を発生しているI/O
デバイスは、必要な量のデータが転送されると転送要求
信号を停止し、そのチャネルに対するデータ転送が終了
する。
【0007】以上説明した基本的なデータ転送の手順の
うち、実際にデータ転送を行っているのは(3)および
(4)の手順である。これらの手順は、それぞれ1クロ
ック周期ずつ実行され、この転送モードはサイクルスチ
ールと呼ばれる。一般にバースト転送と呼ばれる転送モ
ードでは、一旦要求信号が検出されると、設定された転
送データ数分のデータ転送を連続して一気に行う。2回
目以降のデータ転送は(3)の手順を省いて1回の手順
で転送する処理を行うことが可能である。しかしなが
ら、転送中は転送バスが完全に1つのチャネルに占有さ
れてしまい、CPUを始めとする他のデバイスはバスの
支配権を明け渡した状態で停止してしまう。CPUが停
止すると、割込み処理などの受付も行われなくなる。割
込み処理の中には、要求発生から一定時間以内に一定量
の処理を実行する必要がある場合がある。たとえば各種
タイマ動作を行っているような場合である。このため
(3)と(4)との2回の手順を必要とするサイクルス
チール転送モードがよく使用される。
うち、実際にデータ転送を行っているのは(3)および
(4)の手順である。これらの手順は、それぞれ1クロ
ック周期ずつ実行され、この転送モードはサイクルスチ
ールと呼ばれる。一般にバースト転送と呼ばれる転送モ
ードでは、一旦要求信号が検出されると、設定された転
送データ数分のデータ転送を連続して一気に行う。2回
目以降のデータ転送は(3)の手順を省いて1回の手順
で転送する処理を行うことが可能である。しかしなが
ら、転送中は転送バスが完全に1つのチャネルに占有さ
れてしまい、CPUを始めとする他のデバイスはバスの
支配権を明け渡した状態で停止してしまう。CPUが停
止すると、割込み処理などの受付も行われなくなる。割
込み処理の中には、要求発生から一定時間以内に一定量
の処理を実行する必要がある場合がある。たとえば各種
タイマ動作を行っているような場合である。このため
(3)と(4)との2回の手順を必要とするサイクルス
チール転送モードがよく使用される。
【0008】図6は、以上述べた従来技術による動作を
行うデータ転送回路の構成を示す。転送回路111は、
発振器112から発生されるクロック信号CLOCKの
基本周期を動作の単位周期としてデータ転送処理を行
う。データ転送のための複数のチャネル0、1は、複数
のI/Oデバイス113,114とメモリ115との間
でそれぞれ設定される。転送回路111内には、I/O
デバイス113,114からのデータ転送要求nDRQ
0,nDRQ1の有無を確認する要求信号確認部12
1,122、優先順位確認部123、転送準備部12
4、転送部125、1つのI/Oデバイス113につい
ての転送カウンタ126およびアドレスカウンタ12
7、他のI/Oデバイス114に対する転送カウンタ1
28およびアドレスカウンタ129、およびアドレスセ
レクタ130が含まれる。各転送チャネルにおけるデー
タはデータバス131を介して転送され、データ転送に
関与するメモリ115のアドレスはアドレスバス132
を介して指定される。なお「nDRQ0」などと表記し
てある場合の先頭の「n」は、負論理、すなわち論理値
「0」となるときにその信号が真であることを示す。
行うデータ転送回路の構成を示す。転送回路111は、
発振器112から発生されるクロック信号CLOCKの
基本周期を動作の単位周期としてデータ転送処理を行
う。データ転送のための複数のチャネル0、1は、複数
のI/Oデバイス113,114とメモリ115との間
でそれぞれ設定される。転送回路111内には、I/O
デバイス113,114からのデータ転送要求nDRQ
0,nDRQ1の有無を確認する要求信号確認部12
1,122、優先順位確認部123、転送準備部12
4、転送部125、1つのI/Oデバイス113につい
ての転送カウンタ126およびアドレスカウンタ12
7、他のI/Oデバイス114に対する転送カウンタ1
28およびアドレスカウンタ129、およびアドレスセ
レクタ130が含まれる。各転送チャネルにおけるデー
タはデータバス131を介して転送され、データ転送に
関与するメモリ115のアドレスはアドレスバス132
を介して指定される。なお「nDRQ0」などと表記し
てある場合の先頭の「n」は、負論理、すなわち論理値
「0」となるときにその信号が真であることを示す。
【0009】図6の回路の動作は次のようになる。
【0010】(1)データ転送チャネルが複数のI/O
デバイス113,114に関連して設定された後、各I
/Oデバイス113,114からは、転送要求信号nD
RQm=0(m=0,1)として、転送回路111に対
してデータ転送要求を発生する。
デバイス113,114に関連して設定された後、各I
/Oデバイス113,114からは、転送要求信号nD
RQm=0(m=0,1)として、転送回路111に対
してデータ転送要求を発生する。
【0011】(2)転送回路111では、要求信号確認
部121,122で転送要求信号nDRQmを受信する
と、その結果を優先順位確認部123に伝える。優先順
位確認部123では、複数の転送要求が発生している場
合には、予め設定された優先順位に従ってデータ転送チ
ャネルを決定する。
部121,122で転送要求信号nDRQmを受信する
と、その結果を優先順位確認部123に伝える。優先順
位確認部123では、複数の転送要求が発生している場
合には、予め設定された優先順位に従ってデータ転送チ
ャネルを決定する。
【0012】(3)決定されたデータ転送チャネルは転
送準備部124に伝達される。転送準備部124は、メ
モリアクセス要求信号を転送部125に与え、決定され
たデータ転送チャネルに対応してアドレスセレクタ13
0を切換える。
送準備部124に伝達される。転送準備部124は、メ
モリアクセス要求信号を転送部125に与え、決定され
たデータ転送チャネルに対応してアドレスセレクタ13
0を切換える。
【0013】(4)転送部125は、決定されたデータ
転送チャネルのI/Oデバイス113,114に対し
て、応答信号nDAKm=0とし、決定されたデータ転
送チャネルに対応するアドレスカウンタ127,129
からアドレスセレクタ130を介してアドレスバス13
2にアドレス信号を導出させる。このアドレス信号によ
って指定されるメモリ115のアドレスとデータ転送の
応答信号nDAKm=0で選択されたI/Oデバイス1
13,114との間で、データバス131を占有しての
データ転送が、発振器112からのクロック信号CLO
CKの一周期の時間だけ行われる。
転送チャネルのI/Oデバイス113,114に対し
て、応答信号nDAKm=0とし、決定されたデータ転
送チャネルに対応するアドレスカウンタ127,129
からアドレスセレクタ130を介してアドレスバス13
2にアドレス信号を導出させる。このアドレス信号によ
って指定されるメモリ115のアドレスとデータ転送の
応答信号nDAKm=0で選択されたI/Oデバイス1
13,114との間で、データバス131を占有しての
データ転送が、発振器112からのクロック信号CLO
CKの一周期の時間だけ行われる。
【0014】(5)転送終了後、データ転送が行われた
データ転送チャネルの転送カウンタ126,128が1
だけ減少し、アドレスカウンタ127,129が次のア
ドレスに変化する。転送カウンタ126,128には最
初に転送データ数が設定されるので、これらの計数値が
0になると対応する要求信号確認部121,122に対
して転送要求の受信を停止する信号が発生され、そのデ
ータ転送チャネルに対する転送を終了する。
データ転送チャネルの転送カウンタ126,128が1
だけ減少し、アドレスカウンタ127,129が次のア
ドレスに変化する。転送カウンタ126,128には最
初に転送データ数が設定されるので、これらの計数値が
0になると対応する要求信号確認部121,122に対
して転送要求の受信を停止する信号が発生され、そのデ
ータ転送チャネルに対する転送を終了する。
【0015】図7および図8は、以上説明した転送動作
の手順と、クロック信号CLOCKに対して同期して行
われる転送タイミングとをそれぞれ示す。ステップ10
0で電源スイッチがON状態となり、コンピュータシス
テムの動作が開始すると、発振器112によるクロック
信号CLOCKの発生も開始される。転送回路111
は、ステップ101でデータ転送チャネルが有効に設定
されてから、データ転送が可能になる。ステップ102
は、設定されたデータ転送チャネルに含まれるI/Oデ
バイス113,114からの転送要求信号nDRQmの
有無をチェックし、転送要求信号があればステップ10
3に移る。ステップ101および102は、クロック信
号CLOCK=1、すなわち1クロック周期の半分で実
行される。
の手順と、クロック信号CLOCKに対して同期して行
われる転送タイミングとをそれぞれ示す。ステップ10
0で電源スイッチがON状態となり、コンピュータシス
テムの動作が開始すると、発振器112によるクロック
信号CLOCKの発生も開始される。転送回路111
は、ステップ101でデータ転送チャネルが有効に設定
されてから、データ転送が可能になる。ステップ102
は、設定されたデータ転送チャネルに含まれるI/Oデ
バイス113,114からの転送要求信号nDRQmの
有無をチェックし、転送要求信号があればステップ10
3に移る。ステップ101および102は、クロック信
号CLOCK=1、すなわち1クロック周期の半分で実
行される。
【0016】ステップ103では、優先順位確認部12
3によって最優先チャネルの確認が行われ、ステップ1
04でそのチャネルについての転送準備が転送準備部1
24によって行われる。ステップ103および104
は、1クロック周期の間に処理される。
3によって最優先チャネルの確認が行われ、ステップ1
04でそのチャネルについての転送準備が転送準備部1
24によって行われる。ステップ103および104
は、1クロック周期の間に処理される。
【0017】ステップ105ではデータバス131を占
有してデータ転送が行われる。この時間内で、I/Oデ
バイス113,114やメモリ115のアクセスを終了
する必要がある。クロック信号CLOCK=0である期
間、すなわち1クロック周期の半分をこの時間に対応さ
せると、クロック信号COLOCKの周波数が決定され
る。
有してデータ転送が行われる。この時間内で、I/Oデ
バイス113,114やメモリ115のアクセスを終了
する必要がある。クロック信号CLOCK=0である期
間、すなわち1クロック周期の半分をこの時間に対応さ
せると、クロック信号COLOCKの周波数が決定され
る。
【0018】ステップ106では転送カウンタ126,
128のカウント値から残り転送データ数が判定され、
0となっていなければステップ101に戻る。残り転送
データ数が0であれば、ステップ107でそのデータ転
送チャネルを転送無効にしてステップ101に戻る。ス
テップ106および107は、クロック信号CLOCK
=1である1クロック周期の半分で、ステップ101お
よび102と同時に実行される。
128のカウント値から残り転送データ数が判定され、
0となっていなければステップ101に戻る。残り転送
データ数が0であれば、ステップ107でそのデータ転
送チャネルを転送無効にしてステップ101に戻る。ス
テップ106および107は、クロック信号CLOCK
=1である1クロック周期の半分で、ステップ101お
よび102と同時に実行される。
【0019】図8に示すように、I/Oデバイス11
3,114がそれぞれ関連するデータ転送チャネルは、
転送要求nDRQ0,nDRQ1を競合して発生する場
合がありうる。I/Oデバイス113側のチャネル0の
方が優先順位が高いとすると、図7のステップ102で
転送要求信号の有無を確認した後、ステップ103の最
優先チャネルとしてはI/Oデバイス113側と判定さ
れる。ステップ104では転送準備が行われ、ステップ
105ではデータ転送が行われる。優先順位が高いI/
Oデバイス113側の転送チャネルが2回のデータ転送
を要求すると、それが終了してからI/Oデバイス11
4側のチャネルについてのデータ転送が行われる。
3,114がそれぞれ関連するデータ転送チャネルは、
転送要求nDRQ0,nDRQ1を競合して発生する場
合がありうる。I/Oデバイス113側のチャネル0の
方が優先順位が高いとすると、図7のステップ102で
転送要求信号の有無を確認した後、ステップ103の最
優先チャネルとしてはI/Oデバイス113側と判定さ
れる。ステップ104では転送準備が行われ、ステップ
105ではデータ転送が行われる。優先順位が高いI/
Oデバイス113側の転送チャネルが2回のデータ転送
を要求すると、それが終了してからI/Oデバイス11
4側のチャネルについてのデータ転送が行われる。
【0020】データ転送を伴う並列処理についての先行
技術は、たとえば特開昭63−301351号公報、特
公平5−70867号公報(特開平1−232461号
公報)、あるいは特開平4−195361号公報などに
も開示されている。特開昭63−301351号公報で
は、複数個のプロセッサが並列に動作し、相互間でデー
タ通信を行う場合の制御方式が開示されている。特公平
5−70867号公報では、マルチプロセッサシステム
を構成する複数個のプロセッサ間で、複数の処理要求を
割当てて並列処理を行う技術が開示されている。特開平
4−195361号公報では、複数の入出力ポート間で
バーストモードでデータ転送を行う場合の調定に関連す
る技術が開示されている。
技術は、たとえば特開昭63−301351号公報、特
公平5−70867号公報(特開平1−232461号
公報)、あるいは特開平4−195361号公報などに
も開示されている。特開昭63−301351号公報で
は、複数個のプロセッサが並列に動作し、相互間でデー
タ通信を行う場合の制御方式が開示されている。特公平
5−70867号公報では、マルチプロセッサシステム
を構成する複数個のプロセッサ間で、複数の処理要求を
割当てて並列処理を行う技術が開示されている。特開平
4−195361号公報では、複数の入出力ポート間で
バーストモードでデータ転送を行う場合の調定に関連す
る技術が開示されている。
【0021】
【発明が解決しようとする課題】図8に示すように、デ
ータの転送のステップ104と、データの転送のステッ
プ105とを1クロック周期毎にシーケンシャルに繰返
すと、1回のデータ転送が行われると必ず1クロック周
期の時間をあけてから次のデータ転送を行うことにな
る。近年、CPUなどでは、RISC(Reduced Instru
ction Set Computer)などの思想を取込み、またパイプ
ライン処理などを可能にして、1クロック周期で1つの
データ転送処理が可能な高速CPUや高速アクセス可能
なメモリあるいはI/Oデバイスなどが開発されてい
る。このようなデバイスを含むコンピュータシステムで
は、DMA転送毎に2クロック周期以上の時間がかかる
と、高速性を充分に活かすことができない。
ータの転送のステップ104と、データの転送のステッ
プ105とを1クロック周期毎にシーケンシャルに繰返
すと、1回のデータ転送が行われると必ず1クロック周
期の時間をあけてから次のデータ転送を行うことにな
る。近年、CPUなどでは、RISC(Reduced Instru
ction Set Computer)などの思想を取込み、またパイプ
ライン処理などを可能にして、1クロック周期で1つの
データ転送処理が可能な高速CPUや高速アクセス可能
なメモリあるいはI/Oデバイスなどが開発されてい
る。このようなデバイスを含むコンピュータシステムで
は、DMA転送毎に2クロック周期以上の時間がかかる
と、高速性を充分に活かすことができない。
【0022】また、優先順位の高いチャネル、たとえば
I/Oデバイス113に関連するチャネル0の要求が続
けて入力されると、そのデータ転送チャネルの転送ばか
りが行われる。他のI/Oデバイス114に関連するチ
ャネルは、データバス131が転送準備のステップ10
4で空いているにも拘わらずに、チャネル0の転送終了
までずっと待たなければならない。
I/Oデバイス113に関連するチャネル0の要求が続
けて入力されると、そのデータ転送チャネルの転送ばか
りが行われる。他のI/Oデバイス114に関連するチ
ャネルは、データバス131が転送準備のステップ10
4で空いているにも拘わらずに、チャネル0の転送終了
までずっと待たなければならない。
【0023】バーストモードでデータ転送を行えば、最
初に設定した条件の範囲内では空きサイクルを生じるこ
となく連続したデータ転送が可能である。しかしなが
ら、一旦転送要求が入力され転送を開始すると、次に要
求を解除しても、もう1回余分に転送が行われてしま
う。要求信号確認と転送とを同時に実行するために、要
求信号確認が行われた時点では転送が終了してしまうか
らである。したがってバーストモードによる転送は、転
送データ数が決まっている場合や、バッファをもった相
手との間で転送する場合しか有効に利用することができ
ない。それ以外の場合は、余分に転送されたデータを受
取ることができず、動作が無駄になるか、誤動作を引起
こす場合もある。このことは、パイプライン処理によっ
て、データ転送と次のデータの準備とを並列に行うよう
にしても同様である。
初に設定した条件の範囲内では空きサイクルを生じるこ
となく連続したデータ転送が可能である。しかしなが
ら、一旦転送要求が入力され転送を開始すると、次に要
求を解除しても、もう1回余分に転送が行われてしま
う。要求信号確認と転送とを同時に実行するために、要
求信号確認が行われた時点では転送が終了してしまうか
らである。したがってバーストモードによる転送は、転
送データ数が決まっている場合や、バッファをもった相
手との間で転送する場合しか有効に利用することができ
ない。それ以外の場合は、余分に転送されたデータを受
取ることができず、動作が無駄になるか、誤動作を引起
こす場合もある。このことは、パイプライン処理によっ
て、データ転送と次のデータの準備とを並列に行うよう
にしても同様である。
【0024】特開昭63−301351号公報、特公平
5−70867号公報あるいは特開平4−195361
号公報などの先行技術でも、シーケンシャルなデータ転
送を行う際に、転送バスに空きサイクルが生じることに
ついての対策は講じられていない。
5−70867号公報あるいは特開平4−195361
号公報などの先行技術でも、シーケンシャルなデータ転
送を行う際に、転送バスに空きサイクルが生じることに
ついての対策は講じられていない。
【0025】本発明の目的は、複数のデータ転送チャネ
ルの各チャネル毎に、転送要求の確認などの転送準備と
転送バスを占有してのデータ転送とをシーケンシャルに
交互に行いながら、全体としては転送バスを空けること
なく連続したデータ転送が可能なデータ転送回路を提供
することである。
ルの各チャネル毎に、転送要求の確認などの転送準備と
転送バスを占有してのデータ転送とをシーケンシャルに
交互に行いながら、全体としては転送バスを空けること
なく連続したデータ転送が可能なデータ転送回路を提供
することである。
【0026】
【課題を解決するための手段】本発明は、データ転送に
必要な時間を規定する転送用クロックが設定される共通
の転送バスに対して、複数のデータ転送チャネルが存在
するデータ転送回路において、各データ転送チャネル
は、データ転送処理として、データ転送チャネル数以下
の予め定める複数の転送用クロック周期で、データ転送
のために必要な準備と転送用クロックの1周期だけ転送
バスを占有してのデータ転送とを行うように構成され、
転送要求のある複数のデータ転送チャネルで並列にデー
タ転送処理を行わせ、予め定める優先順位に従って、転
送バスを占有してデータ転送を行うデータ転送チャネル
を切換える調停手段を備えることを特徴とするデータ転
送回路である。 また本発明の前記調停手段は、1つのデータ転送チャネ
ルが転送バスを転送クロックの1周期だけ占有した後で
は、他のデータ転送チャネルに転送バスを転送用クロッ
クの1周期だけ占有させるように切換えることを特徴と
する。 また本発明の前記データ転送チャネルは、コンピュータ
システムのダイレクトメモリアクセス動作用に備えられ
ることを特徴とする。
必要な時間を規定する転送用クロックが設定される共通
の転送バスに対して、複数のデータ転送チャネルが存在
するデータ転送回路において、各データ転送チャネル
は、データ転送処理として、データ転送チャネル数以下
の予め定める複数の転送用クロック周期で、データ転送
のために必要な準備と転送用クロックの1周期だけ転送
バスを占有してのデータ転送とを行うように構成され、
転送要求のある複数のデータ転送チャネルで並列にデー
タ転送処理を行わせ、予め定める優先順位に従って、転
送バスを占有してデータ転送を行うデータ転送チャネル
を切換える調停手段を備えることを特徴とするデータ転
送回路である。 また本発明の前記調停手段は、1つのデータ転送チャネ
ルが転送バスを転送クロックの1周期だけ占有した後で
は、他のデータ転送チャネルに転送バスを転送用クロッ
クの1周期だけ占有させるように切換えることを特徴と
する。 また本発明の前記データ転送チャネルは、コンピュータ
システムのダイレクトメモリアクセス動作用に備えられ
ることを特徴とする。
【0027】
【作用】本発明に従えば、共通の転送バスに対して複数
のデータ転送チャネルが存在し、転送用クロックの周期
として規定された時間に従ってデータ転送が行われる。
各データ転送チャネルは、転送バスを占有しないでデー
タ転送の準備を行い、転送用クロックの1周期だけ転送
バスを占有してデータ転送を行う。調停手段は、転送要
求のある複数のデータ転送チャネルで並列にデータ転送
処理を行わせ、優先順位に従って転送バスを占有する転
送チャネルを切換える。優先順位が高いデータ転送チャ
ネルもデータ転送の準備の際には転送バスを占有しない
ので、優先順位の低いデータ転送チャネルも転送バスを
占有することが可能になり、並列のデータ転送処理を全
体として高速に行うことができる。各データ転送チャネ
ルは、データ転送の前に準備段階があるので、必要な数
だけデータ転送を行うことができる。
のデータ転送チャネルが存在し、転送用クロックの周期
として規定された時間に従ってデータ転送が行われる。
各データ転送チャネルは、転送バスを占有しないでデー
タ転送の準備を行い、転送用クロックの1周期だけ転送
バスを占有してデータ転送を行う。調停手段は、転送要
求のある複数のデータ転送チャネルで並列にデータ転送
処理を行わせ、優先順位に従って転送バスを占有する転
送チャネルを切換える。優先順位が高いデータ転送チャ
ネルもデータ転送の準備の際には転送バスを占有しない
ので、優先順位の低いデータ転送チャネルも転送バスを
占有することが可能になり、並列のデータ転送処理を全
体として高速に行うことができる。各データ転送チャネ
ルは、データ転送の前に準備段階があるので、必要な数
だけデータ転送を行うことができる。
【0028】また本発明に従えば、1つのデータ転送チ
ャネルが転送バスを転送用クロックの1周期だけ占有し
た後では、他のデータ転送チャネルに転送バスを転送用
クロックの1周期だけ占有させるので、優先順位が高い
データ転送チャネルが転送バスを続けて占有することが
なく、優先順位の高いデータ転送チャネルの転送準備の
間に優先順位の低いデータ転送チャネルのデータを転送
バスを介して転送することができる。
ャネルが転送バスを転送用クロックの1周期だけ占有し
た後では、他のデータ転送チャネルに転送バスを転送用
クロックの1周期だけ占有させるので、優先順位が高い
データ転送チャネルが転送バスを続けて占有することが
なく、優先順位の高いデータ転送チャネルの転送準備の
間に優先順位の低いデータ転送チャネルのデータを転送
バスを介して転送することができる。
【0029】また本発明に従えば、コンピュータシステ
ムのダイレクトメモリアクセスを複数のチャネルについ
て高速に行うことができるので、CPUやメモリI/O
デバイスなどが高速化されても、充分高速なDMA動作
を行うことができる。
ムのダイレクトメモリアクセスを複数のチャネルについ
て高速に行うことができるので、CPUやメモリI/O
デバイスなどが高速化されても、充分高速なDMA動作
を行うことができる。
【0030】
【実施例】図1は、本発明の一実施例について電気的に
等価な構成を示す。転送回路211は、コンピュータシ
ステム内に設けられるDMAコントローラであり、発振
器212から規則正しく発生されるクロック信号CLO
CKに同期してDMA動作を行う。たとえばクロック信
号CLOCKの基本周期をメモリやデバイスのアクセス
時間に合わせて設定し、これを動作の単位周期としてデ
ータ転送処理をできるだけ高速で行う。データ転送のた
めの複数のチャネル0、1は、複数のI/Oデバイス2
13,214とメモリ215との間でそれぞれ設定され
る。
等価な構成を示す。転送回路211は、コンピュータシ
ステム内に設けられるDMAコントローラであり、発振
器212から規則正しく発生されるクロック信号CLO
CKに同期してDMA動作を行う。たとえばクロック信
号CLOCKの基本周期をメモリやデバイスのアクセス
時間に合わせて設定し、これを動作の単位周期としてデ
ータ転送処理をできるだけ高速で行う。データ転送のた
めの複数のチャネル0、1は、複数のI/Oデバイス2
13,214とメモリ215との間でそれぞれ設定され
る。
【0031】転送回路211内には、I/Oデバイス2
13,214からのデータ転送要求nDRQ0,nDR
Q1を受信し、その有無を確認する要求信号確認部22
1,222が設けられる。要求信号確認部221、22
2からの出力は、優先順位確認部223に与えられる。
転送準備部224,225、転送部226,227は、
チャネル0,1にそれぞれ対応して設けられる。さら
に、チャネル0についての転送カウンタ228およびア
ドレスカウンタ229、他のチャネル1に対する転送カ
ウンタ230およびアドレスカウンタ231、およびア
ドレスセレクタ232が含まれる。各転送チャネル0,
1における転送用データはデータバス233を介して転
送され、データ転送に関与するメモリ215のアドレス
はアドレスバス234を介して指定される。
13,214からのデータ転送要求nDRQ0,nDR
Q1を受信し、その有無を確認する要求信号確認部22
1,222が設けられる。要求信号確認部221、22
2からの出力は、優先順位確認部223に与えられる。
転送準備部224,225、転送部226,227は、
チャネル0,1にそれぞれ対応して設けられる。さら
に、チャネル0についての転送カウンタ228およびア
ドレスカウンタ229、他のチャネル1に対する転送カ
ウンタ230およびアドレスカウンタ231、およびア
ドレスセレクタ232が含まれる。各転送チャネル0,
1における転送用データはデータバス233を介して転
送され、データ転送に関与するメモリ215のアドレス
はアドレスバス234を介して指定される。
【0032】図2および図3は、図1の実施例による各
データ転送チャネル毎の転送動作の手順と、クロック信
号CLOCKに対して同期して行われる転送タイミング
とをそれぞれ示す。ステップ200で電源スイッチがO
N状態となり、コンピュータシステムの動作が開始する
と、発振器212によるクロック信号CLOCKの発生
も開始される。転送回路211は、ステップ201でデ
ータ転送チャネルが有効に設定されてから、データ転送
が可能になる。ステップ202では、設定されたデータ
転送チャネルに含まれるI/Oデバイス213,214
からの転送要求信号nDRQmの受信の有無をチェック
し、転送要求信号が受信されていればステップ203に
移る。ステップ201および202は、クロック信号C
LOCK=1の期間、すなわち1クロック周期の半分で
実行される。
データ転送チャネル毎の転送動作の手順と、クロック信
号CLOCKに対して同期して行われる転送タイミング
とをそれぞれ示す。ステップ200で電源スイッチがO
N状態となり、コンピュータシステムの動作が開始する
と、発振器212によるクロック信号CLOCKの発生
も開始される。転送回路211は、ステップ201でデ
ータ転送チャネルが有効に設定されてから、データ転送
が可能になる。ステップ202では、設定されたデータ
転送チャネルに含まれるI/Oデバイス213,214
からの転送要求信号nDRQmの受信の有無をチェック
し、転送要求信号が受信されていればステップ203に
移る。ステップ201および202は、クロック信号C
LOCK=1の期間、すなわち1クロック周期の半分で
実行される。
【0033】ステップ203では、優先順位確認部22
3によって、他に、より優先順位の高いデータ転送チャ
ネルからも同時に転送要求が有るか否かの確認が行われ
る。より優先順位が高いデータ転送チャネルからの転送
要求がある場合は、ステップ203の状態を繰り返す。
他に優先度の高い転送要求が無ければ、ステップ204
で、そのデータ転送チャネルについての転送準備が、転
送準備部224または225によって行われる。ステッ
プ203および204は、クロック信号がCLOCK=
0およびCLOCK=1となる1クロック周期の間に処
理される。
3によって、他に、より優先順位の高いデータ転送チャ
ネルからも同時に転送要求が有るか否かの確認が行われ
る。より優先順位が高いデータ転送チャネルからの転送
要求がある場合は、ステップ203の状態を繰り返す。
他に優先度の高い転送要求が無ければ、ステップ204
で、そのデータ転送チャネルについての転送準備が、転
送準備部224または225によって行われる。ステッ
プ203および204は、クロック信号がCLOCK=
0およびCLOCK=1となる1クロック周期の間に処
理される。
【0034】ステップ205ではデータバス233を占
有してデータ転送が行われる。この時間は、CLOCK
=0、すなわち1クロック周期の半分であり、この時間
内で、I/Oデバイス213,214やメモリ215の
アクセスを終了する必要がある。
有してデータ転送が行われる。この時間は、CLOCK
=0、すなわち1クロック周期の半分であり、この時間
内で、I/Oデバイス213,214やメモリ215の
アクセスを終了する必要がある。
【0035】ステップ206では転送カウンタ228,
230のカウント値から残り転送データ数が判定され、
0となっていなければステップ201に戻る。残り転送
データ数が0であれば、ステップ207でそのデータ転
送チャネルを転送無効にしてからステップ201に戻
る。ステップ206および207は、クロック信号CL
OCK=1である1クロック周期の半分で、ステップ2
01および202と同時に並列に実行される。
230のカウント値から残り転送データ数が判定され、
0となっていなければステップ201に戻る。残り転送
データ数が0であれば、ステップ207でそのデータ転
送チャネルを転送無効にしてからステップ201に戻
る。ステップ206および207は、クロック信号CL
OCK=1である1クロック周期の半分で、ステップ2
01および202と同時に並列に実行される。
【0036】図3に示すように、I/Oデバイス21
3,214がそれぞれ関連する複数のデータ転送チャネ
ルは、転送要求nDRQ0,nDRQ1を競合して発生
する場合がありうる。I/Oデバイス213側のチャネ
ル0の方が優先順位が高いとすると、図2のステップ2
02で転送要求信号の有無を確認するまでは同等に取扱
われても、ステップ203ではI/Oデバイス213側
の方が優先順位が高いと判定される。ステップ204で
は転送準備が行われ、ステップ205でデータ転送が行
われる。その内にI/Oデバイス214側の転送要求が
受付けられ、I/Oデバイス213側の転送後、すぐI
/Oデバイス214側の転送が行われる。よってI/O
デバイス213側から2回のデータ転送要求とI/Oデ
バイス214側から1回のデータ転送要求とが同時に入
力された場合、I/Oデバイス213側転送、I/Oデ
バイス214側転送、I/Oデバイス213側転送と、
交互にデータ転送が行われる。
3,214がそれぞれ関連する複数のデータ転送チャネ
ルは、転送要求nDRQ0,nDRQ1を競合して発生
する場合がありうる。I/Oデバイス213側のチャネ
ル0の方が優先順位が高いとすると、図2のステップ2
02で転送要求信号の有無を確認するまでは同等に取扱
われても、ステップ203ではI/Oデバイス213側
の方が優先順位が高いと判定される。ステップ204で
は転送準備が行われ、ステップ205でデータ転送が行
われる。その内にI/Oデバイス214側の転送要求が
受付けられ、I/Oデバイス213側の転送後、すぐI
/Oデバイス214側の転送が行われる。よってI/O
デバイス213側から2回のデータ転送要求とI/Oデ
バイス214側から1回のデータ転送要求とが同時に入
力された場合、I/Oデバイス213側転送、I/Oデ
バイス214側転送、I/Oデバイス213側転送と、
交互にデータ転送が行われる。
【0037】図1の転送回路211の動作は次のように
なる。なお、2つのデータ転送チャネルは、I/Oデバ
イス213,214にそれぞれ関連し、これらのチャネ
ル0,1の間では、チャネル0側の方が優先順位が高い
ものとする。また、チャネル0は2回のデータ転送を必
要とし、チャネル1は1回のデータ転送を必要とするも
のとする。
なる。なお、2つのデータ転送チャネルは、I/Oデバ
イス213,214にそれぞれ関連し、これらのチャネ
ル0,1の間では、チャネル0側の方が優先順位が高い
ものとする。また、チャネル0は2回のデータ転送を必
要とし、チャネル1は1回のデータ転送を必要とするも
のとする。
【0038】(1)各I/Oデバイス213,214か
らは、転送要求信号をnDRQm=0(m=0,1)で
アクティブな状態とし、転送回路211に対してデータ
転送要求を発生する。
らは、転送要求信号をnDRQm=0(m=0,1)で
アクティブな状態とし、転送回路211に対してデータ
転送要求を発生する。
【0039】(2)転送回路211では、要求信号確認
部221,222で転送要求信号nDRQmを受信する
と、その結果を優先順位確認部223に伝える。優先順
位確認部223では、予め設定された優先順位に従って
チャネル0をデータ転送チャネルとして選択決定する。
部221,222で転送要求信号nDRQmを受信する
と、その結果を優先順位確認部223に伝える。優先順
位確認部223では、予め設定された優先順位に従って
チャネル0をデータ転送チャネルとして選択決定する。
【0040】(3)決定されたチャネル0に関連する転
送準備部224は、優先順位確認部223から転送開始
の指示が与えられ、メモリアクセス要求信号を転送部2
26に与え、チャネル0側のアドレスカウンタ229か
らのアドレス値をアドレスバス234に導出するように
アドレスセレクタ232を切換える。チャネル1側の転
送準備部225へは、チャネル0の転送が終了するま
で、優先順位確認部223から転送開始を示す開始指示
が与えられない。チャネル1側は、開始指示があるまで
待つ。
送準備部224は、優先順位確認部223から転送開始
の指示が与えられ、メモリアクセス要求信号を転送部2
26に与え、チャネル0側のアドレスカウンタ229か
らのアドレス値をアドレスバス234に導出するように
アドレスセレクタ232を切換える。チャネル1側の転
送準備部225へは、チャネル0の転送が終了するま
で、優先順位確認部223から転送開始を示す開始指示
が与えられない。チャネル1側は、開始指示があるまで
待つ。
【0041】(4)転送部225は、同じチャネル0側
ののI/Oデバイス213に対して、応答信号nDAK
0=0とし、アドレスカウンタ229からアドレスセレ
クタ232を介してアドレスバス234にアドレス信号
を導出させる。このアドレス信号によって指定されるメ
モリ215のアドレスと応答信号nDAK0=0で選択
されたI/Oデバイス213との間で、データバス23
3を占有してのデータ転送が、発振器212からのクロ
ック信号CLOCKの一周期の時間だけ行われる。転送
カウンタ228は1だけ減算され、アドレスカウンタ2
29の値には所定の計算が施される。
ののI/Oデバイス213に対して、応答信号nDAK
0=0とし、アドレスカウンタ229からアドレスセレ
クタ232を介してアドレスバス234にアドレス信号
を導出させる。このアドレス信号によって指定されるメ
モリ215のアドレスと応答信号nDAK0=0で選択
されたI/Oデバイス213との間で、データバス23
3を占有してのデータ転送が、発振器212からのクロ
ック信号CLOCKの一周期の時間だけ行われる。転送
カウンタ228は1だけ減算され、アドレスカウンタ2
29の値には所定の計算が施される。
【0042】優先順位確認部223は、チャネル0の転
送準備が終了したので、他のチャネル1の方を選択し、
転送準備部225に開始指示を与える。転送準備部22
5は、メモリアクセス要求信号を導出し、アドレスカウ
ンタ231の値をアドレスセレクタ232からアドレス
バス234に導出させる。これによって、メモリ215
とI/Oデバイス214との間で、データバス233を
占有してのデータ転送がチャネル0に引き続いて行われ
る。転送カウンタ230は、1だけ減算されると0にな
るので、要求信号確認部222に対して要求を受付けな
いように指示し、チャネル1に対する転送処理を終了す
ることができる。
送準備が終了したので、他のチャネル1の方を選択し、
転送準備部225に開始指示を与える。転送準備部22
5は、メモリアクセス要求信号を導出し、アドレスカウ
ンタ231の値をアドレスセレクタ232からアドレス
バス234に導出させる。これによって、メモリ215
とI/Oデバイス214との間で、データバス233を
占有してのデータ転送がチャネル0に引き続いて行われ
る。転送カウンタ230は、1だけ減算されると0にな
るので、要求信号確認部222に対して要求を受付けな
いように指示し、チャネル1に対する転送処理を終了す
ることができる。
【0043】(5)チャネル0については、2回目のデ
ータ転送要求nDRQ0=0がI/Oデバイス213か
ら発生される。要求信号確認部221および優先順位確
認部223によって、再びチャネル0が選択され、上記
(3)以下と同様にして、転送終了後、チャネル0の転
送カウンタ228が1だけ減少して0になる。この結
果、要求信号確認部221に対しても、転送要求を受付
けないように指示が行われ、転送を終了することができ
る。
ータ転送要求nDRQ0=0がI/Oデバイス213か
ら発生される。要求信号確認部221および優先順位確
認部223によって、再びチャネル0が選択され、上記
(3)以下と同様にして、転送終了後、チャネル0の転
送カウンタ228が1だけ減少して0になる。この結
果、要求信号確認部221に対しても、転送要求を受付
けないように指示が行われ、転送を終了することができ
る。
【0044】図4および図5は、以上説明した転送回路
211をDMAコントローラとして含むコンピュータシ
ステムの概略的な構成と、クロック信号CLOCKに対
して同期して行われるDMA動作タイミングとをそれぞ
れ示す。CPU235と転送回路211とは、データバ
ス233およびアドレスバス234に対して、バスマス
タとなりうる。通常は、CPU235がバスの支配権を
有し、プログラム動作によって、所定の処理を行う。転
送回路211も従属的な周辺デバイスの一つとして扱わ
れ、チャネル設定のために、転送カウンタ228,23
0やアドレスカウンタ229,231等の内部レジスタ
に必要なデータが書き込まれたり、読み出されたりす
る。DMA動作は、転送回路211がI/Oデバイス2
13,214からの転送要求nDRQ0,1に応答し
て、CPU235にバス要求nBREQを与え、CPU
235がnBAKを返して動作停止状態になることによ
って開始される。
211をDMAコントローラとして含むコンピュータシ
ステムの概略的な構成と、クロック信号CLOCKに対
して同期して行われるDMA動作タイミングとをそれぞ
れ示す。CPU235と転送回路211とは、データバ
ス233およびアドレスバス234に対して、バスマス
タとなりうる。通常は、CPU235がバスの支配権を
有し、プログラム動作によって、所定の処理を行う。転
送回路211も従属的な周辺デバイスの一つとして扱わ
れ、チャネル設定のために、転送カウンタ228,23
0やアドレスカウンタ229,231等の内部レジスタ
に必要なデータが書き込まれたり、読み出されたりす
る。DMA動作は、転送回路211がI/Oデバイス2
13,214からの転送要求nDRQ0,1に応答し
て、CPU235にバス要求nBREQを与え、CPU
235がnBAKを返して動作停止状態になることによ
って開始される。
【0045】図5の動作フロー300で、CPU235
は通常動作を行い、転送回路211はnDRQ0=nD
RQ1=0となってチャネル0,1の両方から転送要求
を受ける。動作フロー301では、CPU235は通常
動作を続け、転送回路211は転送準備のためにバス要
求nBREQ=0としてCPU235にバス開放を促
す。動作フロー302で、CPU235は通常動作を続
けると共に、次のサイクルのクロック周期ではバスを開
放することを示すためnBAK=1からnBAK=0に
変化させる。転送回路211は、転送準備のため、アド
レスバス233にチャネル0の転送アドレスDMA01を
出力する。
は通常動作を行い、転送回路211はnDRQ0=nD
RQ1=0となってチャネル0,1の両方から転送要求
を受ける。動作フロー301では、CPU235は通常
動作を続け、転送回路211は転送準備のためにバス要
求nBREQ=0としてCPU235にバス開放を促
す。動作フロー302で、CPU235は通常動作を続
けると共に、次のサイクルのクロック周期ではバスを開
放することを示すためnBAK=1からnBAK=0に
変化させる。転送回路211は、転送準備のため、アド
レスバス233にチャネル0の転送アドレスDMA01を
出力する。
【0046】動作フロー303で、CPU235はバス
の支配権を転送回路211に引き渡してバスを開放す
る。データD01の転送は、チャネル0としてメモリ2
15のアドレスDMA01とI/Oデバイス213との間
で行われる。この間に次のチャネル1の転送準備とし
て、アドレスバス233には次の転送アドレスDMA1
1が出力される。動作フロー304では、CPU235
はバス開放中であり、メモリ215のアドレスDMA11
とI/Oデバイス214との間でデータD11が転送され
る。この間に、次のアドレスDMA02が準備される。
の支配権を転送回路211に引き渡してバスを開放す
る。データD01の転送は、チャネル0としてメモリ2
15のアドレスDMA01とI/Oデバイス213との間
で行われる。この間に次のチャネル1の転送準備とし
て、アドレスバス233には次の転送アドレスDMA1
1が出力される。動作フロー304では、CPU235
はバス開放中であり、メモリ215のアドレスDMA11
とI/Oデバイス214との間でデータD11が転送され
る。この間に、次のアドレスDMA02が準備される。
【0047】動作フロー305では、CPU235はバ
ス開放中であり、チャネル0のデータD02の転送が行わ
れる。転送要求nDRQ0,1が無くなるので、nBR
EQ=1に戻す。動作フロー306で、CPU235は
通常動作に戻り、バスの支配権を取戻す。転送回路21
1は、転送要求が入力されるまで待機する。CPU23
5の通常動作中は、アドレスバス234にはたとえばC
PU1,CPU2,CPU3,CPU4の値を出力し、
これに対応してデータバス233ではデータDC1,D
C2,DC3,DC4の転送が行われる。
ス開放中であり、チャネル0のデータD02の転送が行わ
れる。転送要求nDRQ0,1が無くなるので、nBR
EQ=1に戻す。動作フロー306で、CPU235は
通常動作に戻り、バスの支配権を取戻す。転送回路21
1は、転送要求が入力されるまで待機する。CPU23
5の通常動作中は、アドレスバス234にはたとえばC
PU1,CPU2,CPU3,CPU4の値を出力し、
これに対応してデータバス233ではデータDC1,D
C2,DC3,DC4の転送が行われる。
【0048】なお、上述の実施例で転送回路211は独
立したDMAコントローラとして使用されているけれど
も、CPUをコアとして同一LSIチップ上に集積する
こともできる。また、データバスやアドレスバスのDM
Aに対する調停ばかりではなく、マルチプロセッサシス
テムや、GPIBあるいはSCSIなどのインターフェ
イスバスにも用いることができる。
立したDMAコントローラとして使用されているけれど
も、CPUをコアとして同一LSIチップ上に集積する
こともできる。また、データバスやアドレスバスのDM
Aに対する調停ばかりではなく、マルチプロセッサシス
テムや、GPIBあるいはSCSIなどのインターフェ
イスバスにも用いることができる。
【0049】また、上述の実施例では、データ転送チャ
ネルが2つの場合を示しているが、3チャネル以上の場
合でも、同様に実施可能である。ただし3つ以上の転送
要求が同時に入力され、各要求が2回以上のデータ転送
を要求している場合、優先順位の高い2つのデータ転送
チャネルがバスを占有してしまい、他のデータ転送チャ
ネルは上位の転送が終了するまで待たされる。このよう
なことがあっては困る用途では、転送が行われたチャネ
ルの優先順位が自動的に最下位になるようなラウンドロ
ビン等の回路が必要になる。
ネルが2つの場合を示しているが、3チャネル以上の場
合でも、同様に実施可能である。ただし3つ以上の転送
要求が同時に入力され、各要求が2回以上のデータ転送
を要求している場合、優先順位の高い2つのデータ転送
チャネルがバスを占有してしまい、他のデータ転送チャ
ネルは上位の転送が終了するまで待たされる。このよう
なことがあっては困る用途では、転送が行われたチャネ
ルの優先順位が自動的に最下位になるようなラウンドロ
ビン等の回路が必要になる。
【0050】
【発明の効果】以上のように本発明によれば、複数のデ
ータ転送チャネルは、各データ転送チャネル毎に転送要
求信号の確認などの転送準備を行う機能を有し、転送バ
スを転送用クロックの1周期ずつ占有して実際のデータ
転送を行う。調停手段が、転送バスを占有するデータ転
送チャネルを切換えることによって、全体としては転送
バスを空けることなく高速でシーケンシャルなデータ転
送を行うことができる。
ータ転送チャネルは、各データ転送チャネル毎に転送要
求信号の確認などの転送準備を行う機能を有し、転送バ
スを転送用クロックの1周期ずつ占有して実際のデータ
転送を行う。調停手段が、転送バスを占有するデータ転
送チャネルを切換えることによって、全体としては転送
バスを空けることなく高速でシーケンシャルなデータ転
送を行うことができる。
【0051】また本発明によれば、1つのデータ転送チ
ャネルについて転送用クロックの1周期だけ転送バスを
占有させた後は、他に転送要求を行っているデータ転送
チャネルがあれば、そのデータ転送チャネルが転送バス
を転送用クロックの1周期だけ占有してデータ転送を行
うことができる。これによって優先順位が高いデータ転
送チャネルなど、特定のデータ転送チャネルが転送バス
を続けて占有し、他のデータ転送チャネルが転送バスを
長い間使用することができないような事態を有効に避け
ることができる。
ャネルについて転送用クロックの1周期だけ転送バスを
占有させた後は、他に転送要求を行っているデータ転送
チャネルがあれば、そのデータ転送チャネルが転送バス
を転送用クロックの1周期だけ占有してデータ転送を行
うことができる。これによって優先順位が高いデータ転
送チャネルなど、特定のデータ転送チャネルが転送バス
を続けて占有し、他のデータ転送チャネルが転送バスを
長い間使用することができないような事態を有効に避け
ることができる。
【0052】また本発明によれば、コンピュータシステ
ムのダイレクトメモリアクセス動作を、複数のチャネル
に対して全体として高速に行うことができる。特に、C
PUにRISC形プロセッサなどを使用して、全体とし
て高速動作が可能なコンピュータシステムにおいても、
充分に高速動作可能なDMAを実現することができる。
ムのダイレクトメモリアクセス動作を、複数のチャネル
に対して全体として高速に行うことができる。特に、C
PUにRISC形プロセッサなどを使用して、全体とし
て高速動作が可能なコンピュータシステムにおいても、
充分に高速動作可能なDMAを実現することができる。
【図1】本発明の一実施例の等価的な電気的構成を示す
ブロック図である。
ブロック図である。
【図2】図1の実施例の動作を示すフローチャートであ
る。
る。
【図3】図1の実施例の動作タイミングを示すタイムチ
ャートである。
ャートである。
【図4】図1の実施例による転送回路を含むコンピュー
タシステムの電気的構成を示すブロック図である。
タシステムの電気的構成を示すブロック図である。
【図5】図4のコンピュータシステムの動作を示すタイ
ムチャートである。
ムチャートである。
【図6】従来からの転送回路の電気的構成を示すブロッ
ク図である。
ク図である。
【図7】図6の構成の動作を示すフローチャートであ
る。
る。
【図8】図6の構成の動作を示すタイムチャートであ
る。
る。
211 転送回路 212 発振器 213,214 I/Oデバイス 215 メモリ 221,222 要求信号確認部 223 優先順位確認部 224,225 転送準備部 226,227 転送部 228,230 転送カウンタ 229,231 アドレスカウンタ 232 アドレスセレクタ 233 データバス 234 アドレスバス 235 CPU
Claims (3)
- 【請求項1】 データ転送に必要な時間を規定する転送
用クロックが設定される共通の転送バスに対して、複数
のデータ転送チャネルが存在するデータ転送回路におい
て、 各データ転送チャネルは、データ転送処理として、デー
タ転送チャネル数以下の予め定める複数の転送用クロッ
ク周期で、データ転送のために必要な準備と転送用クロ
ックの1周期だけ転送バスを占有してのデータ転送とを
行うように構成され、 転送要求のある複数のデータ転送チャネルで並列にデー
タ転送処理を行わせ、予め定める優先順位に従って、転
送バスを占有してデータ転送を行うデータ転送チャネル
を切換える調停手段を備えることを特徴とするデータ転
送回路。 - 【請求項2】 前記調停手段は、1つのデータ転送チャ
ネルが転送バスを転送クロックの1周期だけ占有した後
では、他のデータ転送チャネルに転送バスを転送用クロ
ックの1周期だけ占有させるように切換えることを特徴
とする請求項1記載のデータ転送回路。 - 【請求項3】 前記データ転送チャネルは、コンピュー
タシステムのダイレクトメモリアクセス動作用に備えら
れることを特徴とする請求項1または2記載のデータ転
送回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5134795A JPH08249266A (ja) | 1995-03-10 | 1995-03-10 | データ転送回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5134795A JPH08249266A (ja) | 1995-03-10 | 1995-03-10 | データ転送回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08249266A true JPH08249266A (ja) | 1996-09-27 |
Family
ID=12884399
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5134795A Pending JPH08249266A (ja) | 1995-03-10 | 1995-03-10 | データ転送回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08249266A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100327953B1 (ko) * | 1998-01-22 | 2002-03-16 | 마츠시타 덴끼 산교 가부시키가이샤 | 메모리 액세스 제어기 |
-
1995
- 1995-03-10 JP JP5134795A patent/JPH08249266A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100327953B1 (ko) * | 1998-01-22 | 2002-03-16 | 마츠시타 덴끼 산교 가부시키가이샤 | 메모리 액세스 제어기 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5127089A (en) | Synchronous bus lock mechanism permitting bus arbiter to change bus master during a plurality of successive locked operand transfer sequences after completion of current sequence | |
| JPH0652096A (ja) | データ処理システム内でアービタを用いてバス仲裁を実行する方法および装置 | |
| JPS5837585B2 (ja) | ケイサンキソウチ | |
| JPH07105146A (ja) | 共有メモリ装置 | |
| KR100708096B1 (ko) | 버스 시스템 및 그 실행 순서 조정방법 | |
| JPH08249266A (ja) | データ転送回路 | |
| EP1193607B1 (en) | Apparatus and method for the exchange of signal groups between a plurality of components in a digital signal processor having a direct memory access controller | |
| JPH10320349A (ja) | プロセッサ及び当該プロセッサを用いるデータ転送システム | |
| JP2504818B2 (ja) | マルチプロセッサ装置における共通メモリ制御方法 | |
| JPH0962640A (ja) | 共有メモリのアクセス制御方法 | |
| JP2003091501A (ja) | 情報処理装置 | |
| KR100243868B1 (ko) | 주 전산기에서의 중재로직 방법 | |
| JPH1139266A (ja) | マルチプロセッサ装置 | |
| JPH1195812A (ja) | プログラマブルコントローラ | |
| JPH08278939A (ja) | データ転送方法及びデータ転送装置 | |
| JPH0333966A (ja) | メモリ制御回路 | |
| KR100583455B1 (ko) | 프로그램 가능한 간단한 하드웨어 구조를 갖는 버스 중재기 | |
| JPH05165541A (ja) | 電子回路 | |
| JP2856709B2 (ja) | バス間結合システム | |
| JPH05282243A (ja) | バスマスター装置及び該装置を用いた電子機器 | |
| JPH05257860A (ja) | 情報処理装置 | |
| JPH05204826A (ja) | データ処理装置 | |
| JPH0773136A (ja) | コンピュータシステムの動作方法 | |
| JPH06208543A (ja) | マルチcpuシステムにおけるバス調停方法 | |
| JPH06208542A (ja) | バス争奪方式 |