JP3484056B2 - データ転送装置及びデータ転送システム - Google Patents

データ転送装置及びデータ転送システム

Info

Publication number
JP3484056B2
JP3484056B2 JP28549797A JP28549797A JP3484056B2 JP 3484056 B2 JP3484056 B2 JP 3484056B2 JP 28549797 A JP28549797 A JP 28549797A JP 28549797 A JP28549797 A JP 28549797A JP 3484056 B2 JP3484056 B2 JP 3484056B2
Authority
JP
Japan
Prior art keywords
port
data
stream data
command
command list
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 - Lifetime
Application number
JP28549797A
Other languages
English (en)
Other versions
JPH10177541A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP28549797A priority Critical patent/JP3484056B2/ja
Publication of JPH10177541A publication Critical patent/JPH10177541A/ja
Application granted granted Critical
Publication of JP3484056B2 publication Critical patent/JP3484056B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のI/Oポー
ト(入出力ポート)を対象とするデータ転送の競合を調
停することができるデータ転送装置及びデータ転送シス
テムであって、特に複数のI/OポートとそのI/Oポ
ート毎に割当てられた記憶領域との間で、一定量毎に区
切られたストリームデータを、それぞれDMA(ダイレ
クト・メモリ・アクセス)転送するデータ転送装置及び
データ転送システムに関する。
【0002】
【従来の技術】ビデオデータ等の連続情報であるストリ
ームデータを、複数のユーザに対して入力及び出力する
データ転送システムは、特定されたユーザとのストリー
ムデータの転送要求に基づいて、ユーザ毎に特定された
ストリームデータを転送するデマンド型サービスを行
う。
【0003】このようなデータ転送システムは、多くの
ストリームデータを格納するための、HDD(ハードデ
ィスクドライブ)や光ディスク装置等の大容量記憶装置
を有している。この大容量記憶装置に格納されているス
トリームデータの中から、ユーザ毎に特定されたストリ
ームデータが抽出され、チャネルを通じて各ユーザに転
送されたり、また、チャネルを通じて各ユーザから転送
されたストリームデータがこの大容量記憶装置に格納さ
れたりする。ここで、チャネルとは、各ユーザ毎に割り
当てられた、データを転送するためのI/Oポートをい
う。
【0004】図22は、従来のデータ転送システムの概
略を示す図である。この装置は、CPU10、メモリ1
1、システムバス12、SCSIインターフェイス1
3、HDD14a、HDD14b、HDD14c、HD
D14d、ストリームインターフェイス50a,ストリ
ームインターフェイス50b、ストリームインターフェ
イス50c及びストリームインターフェイス50dから
構成される。なお、外部機器として、ビデオモニター1
6a、ビデオモニター16b、ビデオモニター16c及
びビデオカセットレコーダ17を同じ図上に示す。
【0005】CPU10は、各ユーザとのストリームデ
ータの転送要求に基づいて、特定されたストリームデー
タを転送するために必要なコマンド等を作成してメモリ
11に記憶し、このコマンド等をメモリ11からSCS
Iインターフェイス13及びストリームインターフェイ
ス50a、ストリームインターフェイス50b、ストリ
ームインターフェイス50c又はストリームインターフ
ェイス50dへ転送する。
【0006】メモリ11は、CPU10が作成するコマ
ンド等が記憶されたり、ストリームデータが転送される
場合に、一次的にストリームデータが記憶されたりす
る。システムバス12は、CPU10、メモリ11、S
CSIインターフェイス13、ストリームインターフェ
イス50a,ストリームインターフェイス50b,スト
リームインターフェイス50c及びストリームインター
フェイス50dと接続されており、接続されている各部
分の相互間で、ストリームデータ又はコマンド等を転送
する場合に使用される。なお、システムバス12には、
例えばローカルバスの規格であるPCI(Periph
eral Component Interconne
ct)バスが使用される。このPCIバスは、バス幅が
32bit又は64bitであり、動作周波数が33M
Hzである。例えば、バス幅が32bitで動作周波数
が33MHzの場合には、133MB/sのデータ転送
性能が可能である。
【0007】SCSIインターフェイス13は、システ
ムバス12、HDD14a、HDD14b、HDD14
c及びHDD14dと接続されており、CPU10によ
りストリームデータを転送するために必要なコマンド等
を転送され、これに基づいてシステムバス12を介して
接続されたメモリ11と各HDDとの間でストリームデ
ータを転送する。
【0008】HDD14a、HDD14b、HDD14
c及びHDD14dは、ストリームデータを格納する。
ストリームインターフェイス50aは、システムバス1
2及びビデオモニター16aと接続されている。ストリ
ームインターフェイス50bは、システムバス12及び
ビデオモニター16bと接続されている。
【0009】ストリームインターフェイス50cは、シ
ステムバス12及びビデオモニター16cと接続されて
いる。ストリームインターフェイス50dは、システム
バス12及びビデオカセットレコーダ17と接続されて
いる。各ストリームインターフェイスは、CPU10に
よりストリームデータを転送するために必要なコマンド
等を転送され、これに基づいて、システムバス12を介
して接続されたメモリ11と各外部機器との間でストリ
ームデータを転送する。なお、各ストリームインターフ
ェイスと各外部機器との接続には、例えばシリアルデジ
タル伝送の規格であるIEEE1394が用いられる。
IEEE1394の規格では最大で100Mbps程度
の伝送が可能であるので、30Mbps程度の映像情報
であれば十分に余裕をもって伝送が可能である。
【0010】また、SCSIインターフェイス13と各
ストリームインターフェイスが実行するデータ転送に
は、一般にDMA転送が使用される。従来のDMA転送
の一例は、特開平5−151146号公報(DMA転送
方式)に開示されている。この従来技術では、次の転送
元のアドレスと転送するデータのバイト長をたどる手段
を設けることによって、複数のDMA転送をCPUから
一度起動するだけで実行することができる。このような
チェーン化されたDMA転送は、映像データ等のビット
レートが高くかつデータ量の大きいストリームデータ
を、連続的に転送するのに適している。
【0011】また、仮想記憶方式で管理されているメモ
リと入出力装置との間のDMA転送については、例えば
実開平3−54058(DMA制御回路)に開示されて
いる。この従来技術では、チェーン化されたDMA転送
を実行することによって、仮想記憶方式で管理されてい
るメモリに記憶されたデータを、連続的に転送すること
ができる。
【0012】さらにまた、複数の入出力装置とメモリと
の間のDMA転送については、例えば特開平6−250
965号公報(入出力制御装置)に開示されている。こ
の従来技術では、複数個のコマンド及びステータスを保
持することによって、処理効率を向上させている。さら
にまた、複数の入出力機器とDRAM(ダイナミックR
AMデバイス)により構成されるメモリとの間のDMA
転送については、例えば特開平5−334232号公報
(DMA転送制御装置)に開示されている。この従来技
術では、一回当たりのアクセス数をあらかじめ設定する
ことによって、入出力機器間の転送量の偏りをなくし、
且つDRAMが備えている高速アクセスモードによるメ
モリアクセスの頻度を高め、データ転送の効率を向上さ
せている。
【0013】このような従来のデータ転送システムのデ
ータ転送には、以下のような特徴がある。第1に、HD
Dとメモリ又はメモリとストリームインターフェイスと
の間のデータ転送は、連続して記憶されているストリー
ムデータを、ある程度まとまった大きさのブロック単位
で読み出している。こうすることによって、効率よくデ
ータを読み出すことができ、且つ読み出し毎に発生する
一回の処理当たりのデータ量を多くし、トータル的にデ
ータ転送レートを高くしている。したがって、システム
バスの占有時間を短くすることができ、システムバスを
有効に利用できる。ここで、データ転送レートとは、単
位時間当たりに転送するデータの量を示す値である。な
お、例えば、Fast Wide SCSI規格のイン
ターフェイスを持つHDDのデータ転送レートは20M
B/sである。
【0014】第2に、1つのチャネルのデータ転送レー
トは、HDDとメモリ又はメモリとストリームインター
フェイスとの間のデータ転送レートよりも低い値であ
る。例えば、MPEG1の規格により圧縮された映像情
報のデータ転送レートは、1.5Mbps(=0.18
75MB/s)である。また、より高画質の圧縮された
映像情報であっても、そのデータ転送レートは30Mb
ps(=3.75MB/s)程度である。
【0015】したがって、一台のデータ転送システムが
複数の映像情報を、同時に転送することができる。な
お、このような映像情報は、通常毎秒30フレームで構
成されており、フレーム単位で管理される。このような
フレームの区切りを示すため、フレームパルスが用いら
れる。
【0016】しかしながら、上記従来技術によれば、各
I/Oポートについてのデータ転送相互間の調整がなさ
れないので、複数のI/Oポートに出力する各ストリー
ムデータのリアルタイム性を保証することができない。
特に、複数の映像情報を出力する場合に、映像情報が一
定時間以上途切れて映像が乱れるという問題がある。
【0017】
【発明が解決しようとする課題】そこで、本発明はかか
る問題点に鑑みてなされたものであり、複数のI/Oポ
ートに出力する各ストリームデータが一定時間以上途切
れないように複数のI/Oポートを調停し、データ転送
を効率よく行うことができるデータ転送装置及びデータ
転送システムを提供することを目的とする。
【0018】
【課題を解決するための手段】上記目的を達成するため
に、本発明に係るデータ転送装置は、n個のポートとメ
モリとの間でストリームデータをそれぞれDMA転送す
るデータ転送装置であって、nは2以上の整数であり、
前記メモリには少なくとも1組のコマンドリストがあら
かじめ格納されており、また、ストリームデータが格納
されるメモリ領域が確保され、前記コマンドリストはス
トリームデータが格納されるメモリ領域の先頭アドレス
と格納されるストリームデータのサイズと次に選択され
るポートを変更するか否かを示すコマンドとを含み、n
個のポートに対して兼用されn個のポートのうちの1個
との間で次にストリームデータがDMA転送されるメモ
リ領域の先頭アドレスを格納するアドレスカウンタと、
n個のポートに対して兼用され前記アドレスカウンタに
格納された先頭アドレスが示すメモリ領域とn個のポー
トのうちの1個との間でDMA転送されるストリームデ
ータのサイズを格納するデータカウンタと、1個のポー
トにそれぞれ1個が対応しておりそれぞれ特定のコマン
ドリストが格納されているメモリのアドレスを格納する
n個のチェインアドレスカウンタとを備え、特定のチェ
インアドレスカウンタに格納されたアドレスが示すコマ
ンドリストはそのコマンドリストに含まれるメモリ領域
の先頭アドレスが前記アドレスカウンタの内容と対応し
そのコマンドリストに含まれるストリームデータのサイ
ズが前記データカウンタの内容と対応し、前記データ転
送装置は、さらに、前記n個のポートから1個のポート
を選択するポート選択手段と、前記ポート選択手段によ
り1個のポートが選択される度に前記ポート選択手段に
より選択された1個のポートに対応するチェインアドレ
スカウンタに格納されたアドレスが示すコマンドリスト
を取得しそのコマンドリストに含まれるメモリ領域の先
頭アドレスを前記アドレスカウンタに転送しそのコマン
ドリストに含まれるストリームデータのサイズを前記デ
ータカウンタに転送しそのコマンドリストに含まれるコ
マンドを前記ポート選択手段へ渡しまた前記チェインア
ドレスカウンタに格納されたアドレスを次のアドレスに
更新するコマンドリスト転送手段と、前記ポート選択手
段により選択された1個のポートと前記アドレスカウン
タに格納された先頭アドレスが示すメモリ領域との間で
前記データカウンタに格納されたサイズのストリームデ
ータをDMA転送するストリームデータ転送手段とを備
え、前記ポート選択手段は前記ストリームデータ転送手
段によりDMA転送が終了した場合にあらかじめ決めら
れた順序と前記コマンドリスト転送手段に渡されたコマ
ンドとに基づいて次の順番のポートを新たに選択するか
又は直前に選択したポートを再度選択し、前記ストリー
ムデータ転送手段は前記コマンドリスト転送手段により
ストリームデータのサイズが前記データカウンタに転送
される度に前記ポート選択手段により選択された1個の
ポートと前記アドレスカウンタに格納された先頭アドレ
スが示すメモリ領域との間で前記データカウンタに格納
されたサイズのストリームデータをDMA転送する。
【0019】この構成によれば、複数のI/Oポートを
調停することができるので、複数のストリームデータを
効率よく転送することができる。また、複数の入出力装
置に対する転送を比較的少ないハードウエア量で実現す
ることができ、しかも拡張が容易である。さらに、この
複数のストリームデータは非同期であってもよく、非同
期な各ポートに均等にDMA転送を割り当てることも、
特定のポートに特定の割合でDMA転送を割り当てるこ
ともできる。
【0020】また、互いに他のポートの転送状態に影響
されずに、ストリームデータを転送できる。よって、シ
ステムバス上には各ポートのデータがバースト転送単位
で分散され、システム全体としてマルチポートマルチデ
バイスのデータ転送を効率よく実行できる。特に、2つ
のバッファ部でのバス変換機能により、ハードウエア量
を削減しつつ、システムバス上での総合的なデータ転送
をより効率よく行なうことができる。
【0021】さらにまた、m倍速の入出力ポートにもポ
ート側のわずかな配線の追加で対応が可能であり、ソフ
トウエアをほとんど同じにすることができるので非常に
使い易いシステムとなる。
【0022】
【発明の実施の形態】
(実施の形態1) <全体の構成>図1は、本発明の実施例におけるデータ
転送システムの概略を示す図である。このシステムは、
ストリームインターフェイス50a,ストリームインタ
ーフェイス50b,ストリームインターフェイス50c
及びストリームインターフェイス50dに代えてマルチ
ストリームインターフェイス15を有する以外は、図2
2の従来のデータ転送システムと基本的に同じ構成であ
る。したがって共通部分の説明は省略し、マルチストリ
ームインターフェイス15を中心に説明する。
【0023】また、ポート41a、ポート41b、ポー
ト41c及びポート41dは、各外部機器との接続部で
ある。ここでは、各ユーザへのストリームデータの転送
要求に基づいて、このシステムから外部機器へストリー
ムデータを転送する場合について説明する。HDD14
a、HDD14b、HDD14c又はHDD14dに
は、ストリームデータがあらかじめ格納されているもの
とする。
【0024】CPU10は、各ユーザへのストリームデ
ータの転送要求に基づいて、特定されたストリームデー
タを1フレーム単位毎にHDD14a、HDD14b、
HDD14c又はHDD14dからメモリ11へDMA
転送するためのHDDコマンドを作成してメモリ11に
一旦記憶させ、SCSIインターフェイス13へ転送
し、メモリ11に格納された1フレーム単位のストリー
ムデータをメモリ11から特定された外部機器へDMA
転送するための外部機器別コマンドとコマンドリストを
作成してメモリ11に記憶させる。さらに、CPU10
は、SCSIインターフェイス13によりストリームデ
ータの1フレーム単位がHDD14a、HDD14b、
HDD14c又はHDD14dからメモリ11へDMA
転送されると、マルチストリームインターフェイス15
の準備ができるのを待って、外部機器別コマンドをメモ
リ11からマルチストリームインターフェイス15へ転
送する。
【0025】さらに、CPU10は、転送要求されたス
トリームデータが全フレーム転送されていない場合は、
上記動作を繰り返し実行し、SCSIインターフェイス
13により次の1フレーム単位のストリームデータがメ
モリ11にDMA転送される度に、マルチストリームイ
ンターフェイス15が1フレーム単位のストリームデー
タをメモリ11から特定された外部機器に対応する内部
バッファへDMA転送するための準備ができるのを待っ
て、次の1フレーム単位のストリームデータをDMA転
送するための外部機器別コマンドを、メモリ11からマ
ルチストリームインターフェイス15へ転送する。
【0026】CPU10は、接続された外部機器毎に、
上記の動作を並列に実行する。なお、コマンドリスト及
びマルチストリームインターフェイス15の詳細構成は
後述する。なお、外部機器からこの装置へストリームデ
ータを転送する場合は、データ転送の方向及び手順が逆
になるだけで容易に実現される。
【0027】<メモリ11内に確保されたバッファ領域
の詳細構成>図2は、ストリームデータが一次的に格納
される、メモリ11内に確保されたバッファ領域を示す
図である。ストリームデータA61a、ストリームデー
タB61b及びストリームデータC61cは、DMA転
送されたストリームデータを示す。なお、全ストリーム
データは、メモリ11に転送される前は連続していたも
のとする。
【0028】スタートアドレスA62a、スタートアド
レスB62b、スタートアドレスC62cは、各ストリ
ームデータのスタートアドレスを示す。データサイズA
63a、データサイズB63b及びデータサイズC63
cは、各ストリームデータのサイズを示す。ここでは、
OSとしてUNIX等のマルチタスクマルチユーザのO
Sを使用する場合を想定する。通常この様なOSの管理
下では、メモリ11はページ単位で仮想記憶管理され、
1ページのサイズは4KBであり、記憶領域は4KB毎
に分割された飛び飛びの領域となる。また、スタートア
ドレスは、バイトアドレスの場合は下位12ビット全て
が値0であり上位20ビットがページアドレスを表す。
なお、データサイズは、1ページ全体を使用する場合は
4096バイト(12ビット全てが値1)である。
【0029】<コマンドリストの詳細構成>図3は、メ
モリ11に格納されるコマンドリストの構成を示す図で
ある。ここで、コマンドリストはリスト形式でメモリ上
に置かれる。なお、図3に示すようにコマンドリストが
順番に複数個並んでいるものをチェインリストという。
【0030】ここで、コマンドリストA64aは、スタ
ートアドレスA65a、データサイズA67a及びDM
AコマンドビットA66aを含み、同様に、コマンドリ
ストB64bは、スタートアドレスB65b、データサ
イズB67b及びDMAコマンドビットB66bを含
み、コマンドリストC64cは、スタートアドレスC6
5c、データサイズC67c及びDMAコマンドビット
C66cを含む。
【0031】スタートアドレスA65a、スタートアド
レスB65b及びスタートアドレスC65cは、ストリ
ームデータがDMA転送される、メモリ11内に確保さ
れたバッファ領域のスタートアドレスを示す。データサ
イズA67a、データサイズB67b及びデータサイズ
C67cは、DMA転送されるストリームデータのサイ
ズを示す。
【0032】DMAコマンドビットA66a、DMAコ
マンドビットB66b及びDMAコマンドビットC66
cは、次のDMA転送の操作(operation)を
示す。図4は、DMAコマンドビットの内容を示す図で
ある。ここでは、DMAコマンドビットは、同一ポート
(same−port)66d、ポートの切り替え(c
hange−port)66e、チェインリストの終了
(end−of−chain)66f及びフレームパル
ス待ち(wait−for−frame−pulse)
66gの4種類の操作を示す。
【0033】同一ポート66dは、対応するポートに対
するDMA転送の終了後にもう1度、同じポートに対し
てDMA転送することを示す。ポートの切り替え66e
は、対応するポートに対するDMA転送の終了後に、違
うポートに対してDMA転送するか否かを判断すること
を示す。チェインリストの終了66fは、チェインリス
トが終了したことを示す。
【0034】フレームパルス待ち66gは、対応するポ
ートに対するDMA転送の終了後に、違うポートに対し
てDMA転送するか否かを判断することと、さらに、同
じポートがフレームパルスを受信するまで、このポート
に対してDMA転送しないことを示す。コマンドリスト
アドレスA68a、コマンドリストアドレスB68b及
びコマンドリストアドレスC68cは、それぞれコマン
ドリストA64a、コマンドリストB64b及びコマン
ドリストC64cのスタートアドレスを示す。
【0035】<マルチストリームインターフェイス15
の詳細構成>図5は、マルチストリームインターフェイ
ス15の詳細な構成を示す図である。このマルチストリ
ームインターフェイス15は、DMAコントローラ2
0、BFIFO23、バッファコントローラ30、バッ
ファ33a,バッファ33b,バッファ33c,バッフ
ァ33d、I/Oコントローラ40a,I/Oコントロ
ーラ40b,I/Oコントローラ40c及びI/Oコン
トローラ40dから構成される。ここで、4×ポート4
2は、図1には示されていないが、他のポートに比べて
ストリームデータが4倍速で転送されるポートであり、
他の外部機器に比べてストリームデータが4倍速で転送
されるVCR(ビデオカセットレコーダ)等が接続され
る。
【0036】なお、システムバス12、ポート41a、
ポート41b、ポート41c及び4×ポート42を同じ
図上に示す。ここで、ポート41a、ポート41b、ポ
ート41c及び4×ポート42からは、フレームパルス
が出力されるものとする。また、×nmode43、F
P44a、FP44b、FP44c及びFP44dは制
御線である。
【0037】なお、図5では、上記以外の制御線等は一
部省略している。DMAコントローラ20は、システム
バス12へのメモリアクセスの制御等を行なうバスコン
トローラ21とDMAに必要な情報を保持するDMAレ
ジスタ22とを含む。BFIFO23は、双方向のFI
FOメモリ(先入先出メモリ)であり、DMAコントロ
ーラ20とバッファコントローラ30との間で、データ
転送のバッファリングを行う。
【0038】バッファコントローラ30は、BFIFO
23とバッファ33a,バッファ33b,バッファ33
c,バッファ33dとの間でデータ転送を行う。さら
に、バッファコントローラ30は、BFIFO23とバ
ッファ33a,バッファ33b,バッファ33c,バッ
ファ33dとのデータの転送を制御するバッファインタ
ーフェイス31と、バッファ間のデータ転送に必要な情
報を保持するバッファレジスタ32を含む。
【0039】バッファ33a,バッファ33b,バッフ
ァ33c及びバッファ33dは、例えばフィールドメモ
リであり、バッファコントローラ30と各I/Oコント
ローラとの間で、データ転送のバッファリングを行う。
バッファ33a,バッファ33b,バッファ33c,バ
ッファ33dの各ポート側には、それぞれI/Oコント
ローラ40a,I/Oコントローラ40b,I/Oコン
トローラ40c,I/Oコントローラ40dが接続され
る。
【0040】I/Oコントローラ40aは、バッファ3
3aとポート41a又は4×ポート42とのデータ転送
を行い、同様に、I/Oコントローラ40bは、バッフ
ァ33bとポート41b又は4×ポート42とのデータ
転送を行い、I/Oコントローラ40cは、バッファ3
3cとポート41c又は4×ポート42とのデータ転送
を行い、I/Oコントローラ40dは、バッファ33d
とポート41d又は4×ポート42とのデータ転送を行
う。
【0041】×nmode43は、バッファコントロー
ラ30がI/Oコントローラ40a,I/Oコントロー
ラ40b,I/Oコントローラ40c又はI/Oコント
ローラ40dを選択するための制御線である。FP44
aは、I/Oコントローラ40aがポート41aから受
信したフレームパルスを、DMAコントローラ20へ伝
達するための制御線であり、同様に、FP44bは、I
/Oコントローラ40bがポート41bから受信したフ
レームパルスを、DMAコントローラ20へ伝達するた
めの制御線であり、FP44cは、I/Oコントローラ
40cがポート41cから受信したフレームパルスを、
DMAコントローラ20へ伝達するための制御線であ
り、FP44dは、I/Oコントローラ40dがポート
41dから受信したフレームパルスを、DMAコントロ
ーラ20へ伝達するための制御線である。
【0042】<DMAレジスタ22の詳細構成>図6
(a)は、図5に示したDMAコントローラ20に含ま
れるDMAレジスタ22の詳細な構成を示す図である。
このレジスタ群は、DMAアドレスカウンタ22a、D
MAデータカウンタ22b、チェインアドレスカウンタ
22c、チェインアドレスカウンタ22d、チェインア
ドレスカウンタ22e、チェインアドレスカウンタ22
f、コントロールレジスタ22g、コントロールレジス
タ22h、コントロールレジスタ22i、コントロール
レジスタ22j及びポートナンバーレジスタ22kから
構成される。
【0043】ここで、図1に示すメモリ11には、1個
以上のコマンドリストがあらかじめ格納されており、ま
た、ストリームデータが格納されるメモリ領域が確保さ
れているものとする。DMAアドレスカウンタ22a
は、4個のポートのうちの1個との間で、次に、ストリ
ームデータがDMA転送されるメモリ領域のスタートア
ドレスを格納する。
【0044】DMAデータカウンタ22bは、DMAア
ドレスカウンタ22aに格納されたスタートアドレスが
示すメモリ領域と4個のポートのうちの1個との間で、
DMA転送されるストリームデータのサイズを格納す
る。チェインアドレスカウンタ22c、チェインアドレ
スカウンタ22d、チェインアドレスカウンタ22e及
びチェインアドレスカウンタ22fは、1個のポートに
それぞれ1個が対応しており、それぞれ、特定のコマン
ドリストが格納されているメモリのアドレスを格納す
る。
【0045】ここで、特定のチェインアドレスカウンタ
に格納されたアドレスが示すコマンドリストは、そのコ
マンドリストに含まれるメモリ領域の先頭アドレスが前
記アドレスカウンタの内容と対応し、そのコマンドリス
トに含まれるストリームデータのサイズが前記データカ
ウンタの内容と対応する。コントロールレジスタ22
g、コントロールレジスタ22h、コントロールレジス
タ22i及びコントロールレジスタ22jは、1個のポ
ートにそれぞれ1個が対応しており、各ポート毎のDM
A転送の状態を示す。ここでは、コントロールレジスタ
22g、コントロールレジスタ22h、コントロールレ
ジスタ22i及びコントロールレジスタ22jは、それ
ぞれポート41a、ポート41b、ポート41c及びポ
ート41dが対応しているものとする。
【0046】図6(b)は、コントロールレジスタ22
gの内部のビットフィールドの構成を示した図である。
なお、コントロールレジスタ22h、コントロールレジ
スタ22i及びコントロールレジスタ22jは、コント
ロールレジスタ22gと基本的に同じ構成であるのでそ
の説明を省略する。コントロールレジスタ22gは、R
UN22l、DONE22m、IO22n及びFP22
oから構成される。
【0047】RUN22lは、対応するポート41aに
対してDMA転送を起動するか否かを示す。CPU10
により、対応するポート41aに対してDMA転送を起
動する際に直接セットされる。ここでは、「1」が起動
することを示し、「0」が起動しないことを示すことと
する。DONE22mは、対応するポート41aに対す
るDMA転送が終了したか否かを示す。対応するポート
41aに対するDMA転送の際に読み出されたコマンド
リストに含まれるDMAコマンドビットが、チェインリ
ストの終了66fの場合にセットされて、対応するポー
ト41aに対する1回のDMA転送が終了したことを示
し、CPU10によりDMA転送が起動される際にリセ
ットされる。ここでは、「1」が対応するポート41a
に対するDMA転送が終了したことを示し、「0」がD
MA転送が終了していないことを示すこととする。
【0048】IO22nは、対応するポート41aに対
するDMA転送の方向を示す。ここでは「0」がポート
41aへストリームデータを出力することを示し、
「1」がポート41aからストリームデータを入力する
ことを示すこととする。FP22oは、対応するポート
41aからフレームパルスを受信したか否かを示す。な
お、FP22oは、対応するポート41aに対するDM
A転送の際に読み出されたコマンドリストに含まれるD
MAコマンドビットが、フレームパルス待ち66gの場
合にはリセットされ、対応するポート41aからフレー
ムパルスを受信するとセットされる。ここでは、「0」
がフレームパルス待ち状態を示し、「1」が転送待ち状
態を示すこととする。
【0049】ポートナンバーレジスタ22kは、ストリ
ームデータがDMA転送されるポートの番号を格納す
る。 <バスコントローラ21の詳細構成>図7は、図5に示
したDMAコントローラ20に含まれるバスコントロー
ラ21の詳細な構成を示す図である。
【0050】バスコントローラ21は、フレームパルス
受信部21a、ポート選択部21b、コマンドリスト転
送部21c、ストリームデータ転送部21d及びバッフ
ァコマンド生成部21eから構成される。フレームパル
ス受信部21aは、ポート毎にフレームパルスを受信
し、フレームパルスを受信したポートに対応するFPを
セットする。
【0051】ポート選択部21bは、コマンドリスト転
送部21cから渡されたDMAコマンドビットに基づい
て、選択されているポートに対応するFPをクリアする
か又は何もせず、また、あらかじめ決められた順序とコ
マンドリスト転送部21cに渡されたDMAコマンドビ
ットとに基づいて、対応するRUNとFPとがセットさ
れDONEがセットされてないポートの中から、次の順
番のポートを新たに選択するか又は直前に選択したポー
トを再度選択する。
【0052】コマンドリスト転送部21cは、ポート選
択部21bにより1個のポートが選択される度に、選択
された1個のポートに対応するチェインアドレスカウン
タに格納されたスタートアドレスが示すコマンドリスト
を取得し、そのコマンドリストに含まれるDMAコマン
ドビットをポート選択部21bに渡し、そのコマンドリ
ストに含まれるメモリ領域のスタートアドレスをDMA
アドレスカウンタ22aに転送し、そのコマンドリスト
に含まれるストリームデータのサイズをDMAデータカ
ウンタ22bに転送し、また、対応するチェインアドレ
スカウンタに格納されたスタートアドレスを、次のスタ
ートアドレスに更新する。
【0053】ストリームデータ転送部21dは、コマン
ドリスト転送部21cによりストリームデータのサイズ
がDMAデータカウンタ22bに転送される度に、ポー
ト選択部21bにより選択された1個のポートとDMA
アドレスカウンタ22aに格納されたスタートアドレス
が示すメモリ領域との間で、前記DMAデータカウンタ
22bに格納されたサイズのストリームデータをDMA
転送する。
【0054】バッファコマンド生成部21eは、ポート
選択部21bにより1個のポートが選択される度に、選
択されたポートとBFIFO23のメモリ容量とDMA
データカウンタ22b格納されたストリームデータのサ
イズとに基づいて、選択するバッファ及び転送するデー
タ長に関する情報を含むバッファコマンドを生成し、バ
ッファコントローラ30へ送信する。
【0055】図8は、バッファコマンド生成部により生
成されるバッファコマンド22pの内部のビットフィー
ルドの構成を示した図である。バッファコマンド22p
は、MODE22q及びデータ長22rから構成され
る。MODE22qは、ストリームデータを転送するバ
ッファの識別情報とデータ転送の方向を示す。
【0056】データ長22rは、転送するデータの長さ
を示す。 <BFIFO23の詳細構成>図9は、図5に示したB
FIFO23の詳細な構成を示す図である。BFIFO
23は、FIFO25a、FIFO25b、データI/
Oポート24a及びデータI/Oポート24bから構成
される。
【0057】なお、EmptyフラグEA26a、Em
ptyフラグEB26b、FullフラグFA26c、
FullフラグFB26d,FDA26e及びFDB2
6fを図上に示す。FIFO25aは、DMAコントロ
ーラ20からバッファコントローラ30へのデータ転送
に使用される。
【0058】FIFO25bは、バッファコントローラ
30からDMAコントローラ20へのデータ転送に使用
される。データI/Oポート24aは、DMAコントロ
ーラ20と接続するFIFOを選択する。データI/O
ポート24bは、バッファコントローラ30と接続する
FIFOを選択する。
【0059】EmptyフラグEA26a及びEmpt
yフラグEB26bは、接続されるFIFOに格納され
たデータが空であることを示す。FullフラグFA2
6c及びFullフラグFB26dは、接続されるFI
FOに格納されたデータが満杯であることを示す。FD
A26eは、DMAコントローラ20と接続するバスで
ある。
【0060】FDB26fは、バッファコントローラ3
0と接続するバスである。FIFOメモリは、そのメモ
リ領域の全てについて完全な非同期入出力ができる。こ
のように、BFIFO23は、このFIFOメモリを双
方向に備えることにより、データ転送の方向を意識する
ことなく、DMAコントローラ20とバッファコントロ
ーラ30との間の、データ転送のバッファリングを行う
ことができる。
【0061】なお、BFIFO23を構成するFIFO
25a及びFIFO25bのメモリ容量は、DMAコン
トローラ20とメモリ11との間の、バースト転送(連
続データ転送)の1回分に対応する程度の量で十分であ
る。ここでは、FIFO25a及びFIFO25bのメ
モリ容量は、それぞれ1ワードを32ビットとして、3
2ワード分である。
【0062】<バッファインターフェイス31の詳細構
成>図10は、図5に示すバッファインターフェイス3
1の詳細な構成を示す図である。ここでは、BFIFO
23からバッファ33a、バッファ33b、バッファ3
3c又はバッファ33dへ、ストリームデータを転送す
る場合のみ説明する。
【0063】バッファインターフェイス31は、ラッチ
35a、ラッチ35b、ラッチ35c、ラッチ35d及
びバス幅変換部(BUS−width−convert
er)36から構成される。なお、バッファ33a、バ
ッファ33b、バッファ33c、バッファ33d及びバ
ッファレジスタ32を同じ図上に示す。
【0064】ラッチ35a、ラッチ35b、ラッチ35
c及びラッチ35dは、一時的に8ビットのデータを保
持する。ここでは、32ビットバスFDBを介してBF
IFO23から転送されたデータがそれぞれ8ビットに
4分割されて一次的にラッチされる。バス幅変換部36
は、バッファを選択しバス幅を32ビットから8ビット
に変換する。ここでは、例えばバッファ33aを選択
し、ラッチ35a、ラッチ35b、ラッチ35c及びラ
ッチ35dでラッチされた4つの8ビットデータを、順
番に転送することによって、バス幅を32ビットから8
ビットに変換する。
【0065】なお、選択するバッファ及び転送するデー
タの長さに関する情報を含むバッファコマンドは、デー
タ転送の前にDMAコントローラ20からバッファコン
トローラ30に送信され、これに基づいて、バス幅変換
部36がストリームデータを転送する。また、転送先の
バッファの選択は、必ずしも32ビット単位でなくても
よく、各ラッチにラッチされた8ビットデータの単位で
もよい。
【0066】さらに、バッファ33a、バッファ33
b、バッファ33c又はバッファ33dからBFIFO
23へストリームデータを転送する場合は、データ転送
の方向及び手順が逆になるだけで容易に実現されるの
で、その説明を省略する。 <バッファレジスタ32の詳細構成>図11は、図5に
示したバッファレジスタ32の詳細な構成を示す図であ
る。
【0067】このレジスタ群は、ポートナンバーレジス
タ32a、4×mode32b、in/out32c、
in/out32d、in/out32e、in/ou
t32f及びデータ長32gから構成される。ポートナ
ンバーレジスタ32aは、ストリームデータがバス幅変
換されるポートの番号を格納する。
【0068】4×mode32bは、4倍速モードのバ
ス幅変換時にのみセットされる。in/out32c
は、バッファ33aに対するデータ転送の方向を示し、
同様に、in/out32dは、バッファ33bに対す
るデータ転送の方向を示し、in/out32eは、バ
ッファ33cに対するデータ転送の方向を示し、in/
out32fは、バッファ33dに対するデータ転送の
方向を示す。
【0069】データ長32gは、バス幅変換されるスト
リームデータのデータ長を格納する。なお、これらの各
レジスタは、図8に示すバッファコマンド22pにより
設定される。 <バッファ33a、バッファ33b、バッファ33c及
びバッファ33dの詳細構成>図12は、図5に示すバ
ッファ33aの詳細な構成を示す図である。なお、バッ
ファ33b、バッファ33c及びバッファ33dは、バ
ッファ33aと基本的に同じ構成であるのでその説明を
省略する。
【0070】ここでは、フィールドメモリ(Field
−memory)34aを使った例を示す。なお、書き
込み用のデータバスであるWD34b、読み出し用のデ
ータバスであるRD34c、書き込みリセットであるW
RST34d、書き込みクロックであるWCLK34
e、読み出しリセットであるRRST34f、読み出し
クロックであるRCLK34g、BOA34h、BOB
34i、書き込みバスを切り替えるゲート34j、読み
出しバスを切り替えるゲート34kを図上に示す。
【0071】フィールドメモリは、ほぼFIFOメモリ
のような先入れ先出し動作ができるが、そのメモリ領域
の全てについて完全な非同期入出力はできず、一定の周
期で書き込みと読み出しをオーバーラップさせてデータ
転送を行なわなければならない。ここでは、連続したス
トリームデータのデータ転送を行なうので、データが途
切れることはなく、フレームパルスの周期で書き込みと
読み出しをオーバーラップさせてデータ転送を行うこと
ができる。
【0072】フィールドメモリ34aは、WD34bか
ら書き込まれたデータをRD34cから読み出す。WD
34bは、WRST34dによって書き込み位置がフレ
ームごとにリセットされ、WCLK34eに合わせてデ
ータが書き込まれる。RD34cは、RRST34fに
よって読み出し位置がフレームごとにリセットされ、R
CLK34gに合わせてデータが読み出される。
【0073】BOA34hは、バッファコントローラ3
0と接続される。BOB34iは、I/Oコントローラ
40aと接続される。ゲート34jとゲート34kは、
バッファコントローラ30とI/Oコントローラ40a
との間で、両方向のデータ転送を行うために、BOA3
4hとBOB34iの2つのバスを切り替える。
【0074】このように、バッファ33aは、バスを切
り替えることによって、データ転送の方向を決定し、バ
ッファコントローラ30とI/Oコントローラ40aと
の間で、連続したストリームデータのデータ転送のバッ
ファリングを行うことができる。なお、バッファ33a
を構成するフィールドメモリ34aのメモリ容量は、数
(2〜3)フレーム分程度の量で十分である。ここで
は、フィールドメモリ34aのメモリ容量は、2フレー
ム分の250Kbyteである。
【0075】<FP44a、FP44b、FP44c及
びFP44dの詳細構成>図13は、図5に示す制御線
FP44aを示す図である。なお、FP44b、FP4
4c及びFP44dは、FP44aと基本的に同じ構成
であるのでその説明を省略する。I/Oコントローラ4
0aによりポート41aから受信されたフレームパルス
が、制御線FP44aを介してDMAコントローラ20
へ伝達され、図6(b)に示すFP22oがセットされ
る。 <動作>まず、図1に示すシステムにおいて、HDD1
4a、HDD14b、HDD14c及びHDD14dに
格納されたストリームデータをマルチストリームインタ
ーフェイス15を介して出力する場合の動作について説
明する。
【0076】<CPU10の動作>図14は、本発明に
係るデータ転送システムを用いた場合の、CPU10に
おけるストリームデータの転送の処理の流れを示す図で
ある。以下にその動作を説明する。 1.あるユーザからあるストリームデータの転送要求が
発生する(ステップS1)。
【0077】2.特定されたストリームデータを1フレ
ーム単位毎に、HDD14a、HDD14b、HDD1
4c又はHDD14dからメモリ11へDMA転送する
ためのHDDコマンドを作成して、メモリ11に一旦記
憶する(ステップS2)。 3.SCSIインターフェイス13がHDDコマンドを
受け付けられるようになるまで待つ(ステップS3)。
【0078】4.メモリ11からSCSIインターフェ
イス13へ、ステップS2で作成したHDDコマンドを
転送する(ステップS4)。 5.メモリ11に格納された1フレーム単位のストリー
ムデータを、メモリ11から特定された外部機器へDM
A転送するための外部機器別コマンドとコマンドリスト
を作成してメモリ11に記憶する(ステップS5)。
【0079】6.SCSIインターフェイス13によ
り、ストリームデータの1フレーム単位が、HDD14
a、HDD14b、HDD14c又はHDD14dから
メモリ11へDMA転送されるのを待つ(ステップS
6)。 7.マルチストリームインターフェイス15が外部機器
別コマンドを受け付けられるようになるまで待つ(ステ
ップS7)。
【0080】8.メモリ11からマルチストリームイン
ターフェイス15へ、ステップS5で作成された外部機
器別コマンドを転送する(ステップS8)。 9.転送要求されたストリームデータが全フレーム転送
されたか否かを判断し、全フレーム転送されたと判断さ
れた場合は動作を終了し、まだ全フレーム転送されてい
ないと判断された場合は、ステップS2のHDDコマン
ドの作成へ戻る(ステップS9)。
【0081】CPU10は、接続された外部機器毎に、
上記の動作を並列に実行する。ここで、メモリ11内に
確保されたバッファ領域は、ユーザ空間では論理アドレ
スで示されるが、データ転送時は物理アドレスで示され
る。したがって、データ転送時は、バッファ領域の論理
アドレスが物理アドレスに変換されて4KBのデータサ
イズ毎にばらばらになっている状態に基づいて、コマン
ドリストが作られる。
【0082】なお、通常は、コマンドリストに含まれる
DMA転送のデータサイズは、1ページ分の4KBであ
るが、4KBのデータサイズを確保できない場合があ
る。例えば、ストリームデータの1フレームが10、0
00バイトの場合には、4096バイト、4096バイ
ト及び1808バイトの3つに分割される為、最後の1
808バイトが4KBのデータサイズを確保できない。
【0083】ここで、このバッファ領域は、ページアウ
トされないように、OSに対してロックされた領域であ
る。 <SCSIインターフェイス13の動作>SCSIイン
ターフェイス13は、CPU10により、特定されたス
トリームデータを1フレーム単位毎に、HDD14a、
HDD14b、HDD14c又はHDD14dからメモ
リ11へDMA転送するためのコマンドを転送され、こ
のコマンドに基づいて、ストリームデータの1フレーム
単位を、HDD14a、HDD14b、HDD14c又
はHDD14dからメモリ11へDMA転送する。な
お、SCSIインターフェイス13の詳細な動作につい
ては、従来のDMA転送装置と同様なので、その説明を
省略する。
【0084】<マルチストリームインターフェイス15
の動作>マルチストリームインターフェイス15は、C
PU10により、メモリ11に格納された1フレーム単
位のストリームデータをメモリ11から特定された外部
機器へDMA転送するためのコマンドと、コマンドリス
トのアドレスを転送され、このコマンドとコマンドリス
トのアドレスに基づいて、メモリ11に格納されたコマ
ンドリストを読み出し、このコマンドリストに基づい
て、ストリームデータの1フレーム単位を、メモリ11
から特定された外部機器へDMA転送する。なお、マル
チストリームインターフェイス15の詳細な動作につい
ては後述する。
【0085】次に、上記のようなDMA転送で用いられ
る、バッファをフレーム単位で管理する方法とダブルバ
ッファ方式でメモリ11内のバッファ領域を管理する方
法について説明する。 <バッファをフレーム単位で管理する方法とダブルバッ
ファ方式でメモリ11内のバッファ領域を管理する方法
>ビデオデータは連続した複数のフレームで構成され、
通常は30フレームで1秒の画像に相当する。例えば3
0Mbpsのデータレートのビデオデータの場合では、
1フレーム当りのデータサイズは125KBとなる。
【0086】バッファをフレーム単位で管理する方法
は、一旦メモリ11内のバッファ領域に1フレーム分の
ストリームデータを格納し、この1フレームをマルチス
トリームインターフェイス15に転送することである。
ダブルバッファ方式でメモリ11内のバッファ領域を管
理する方法は、1フレームのサイクルごとに、ダブルバ
ッファの一方のバッファをSCSIインターフェイス1
3が使用し、他方のバッファをマルチストリームインタ
ーフェイス15が使用することであり、並行して2つの
インターフェイスの処理を実行することができる。
【0087】なお、各ポートからストリームデータを入
力する場合も、出力の場合とデータ転送の方向及び手順
が逆になるだけで容易に実現される。各ポートから取り
込まれたストリームデータは、マルチストリームインタ
ーフェイス15によってメモリ11上のバッファ領域に
一旦格納され、SCSIインターフェイス13によって
HDD14a、HDD14b、HDD14c又はHDD
14dに格納される。
【0088】次に、システムバス12におけるデータ転
送の動作について説明する。 <システムバス12におけるデータ転送の動作>システ
ムバス12として例えばPCIローカルバスを使用して
いる場合などでは、メモリアドレスとデータとは多重化
されている。このため、システムバス12上には先ずア
ドレスが出力されて、メモリ11のロケーションが特定
される。このアドレスの出力に続いてデータが出力さ
れ、このアドレスで指定されたメモリ11のロケーショ
ンから順に複数のデータが転送される。このようなデー
タ転送をバースト転送と呼ぶ。つまり、一つのバースト
転送では、先頭がアドレスで、残りがデータということ
が決まっている。従って、この時のアドレスは先頭値だ
けであり、ひとつのバストランザクションの間は、アド
レスの先頭値から連続するアドレスに対しての転送が可
能である。1回のバースト転送長は、例えばPCIロー
カルバスの場合は、PCIローカルバス上のデバイスに
固有のレイテンシタイマで指定される値以下の大きさで
ある。ここでは、BFIFO23の容量とする。また、
1回のPCIローカルバス上のバースト転送トランザク
ションは、バスのマスタとなるデバイスがバス要求(R
EQ)を出力し、バス使用許可(GNT)が返されてか
らアクセスを開始する。
【0089】通常のストリームデータのバースト転送
は、例えば1フレームが125KBの場合は、連続的に
125KBの領域が順番にDMA転送される訳ではな
く、数個から数十個の連続するデータ単位に区切られて
実行される。こうする事によって、システムバス12上
に多数のデバイス(CPU10、メモリ11、SCSI
インターフェイス13又はマルチストリームインターフ
ェイス15等)が接続されていたとしても、システムバ
ス12にバス要求REQを出しているデバイスに順にシ
ステムバス12の使用権を割り当てながらバースト転送
を行なうことで、効率的にシステムバス12を使用して
データ転送を行なうことができる。なお、これは、スト
リームデータの入力と出力に関りなく実行される。
【0090】<マルチストリームインターフェイス15
の詳細な動作> <バスコントローラ21の詳細な動作>図15は、本発
明に係るデータ転送システムを用いた場合の、バスコン
トローラ21におけるストリームデータの転送の処理の
流れを示す図である。以下、図1、図2、図3、図4、
図5、図6(a)、図6(b)、図8及び図11を用い
てその動作を説明する。
【0091】ここでは、図2に示すストリームデータと
図3に示すチェインリストが、あらかじめメモリ11に
格納されており、さらに、ポート41aに対応するコン
トロールレジスタ22gの内容であるDONE22mが
「1」の時に、CPU10によりチェインアドレスカウ
ンタ22cに図3に示すコマンドリストA64aのコマ
ンドリストアドレスA68aが転送され、コントロール
レジスタ22gの内容であるRUN22lに「1」、D
ONE22mに「0」、IO22nに「0」及びFP2
2oに「0」が転送されるものとする。
【0092】1.ポート番号pnの初期設定を行なう。
なお、このポート番号pnは、0、1、2及び3がそれ
ぞれポート41a、ポート41b、ポート41c及びポ
ート41dに対応する番号であり、ここでは、初期値と
して「0」を代入する(ステップS11)。 2.ポート番号pnに対応するポートのコントロールレ
ジスタの内容が、RUN=1、DONE=0及びFP=
1であるか否かを判断する。ここでRUN=1は、対応
するポートに対してDMA転送を起動することを示し、
DONE=0は、対応するポートに対するDMA転送が
終了していなことを示し、FP=1は、対応するポート
からフレームパルスを受信したことを示すこととする。
このうち、1つでも条件を満たさないと判断された場合
はポート番号pnをインクリメントしに行き、全ての条
件を満たすと判断された場合は、DMA転送しに行く
(ステップS12)。
【0093】3.1つでも条件を満たさないと判断され
た場合は、次のポートの判断を行う為、ポート番号pn
をインクリメントする(ステップS13)。 4.ポート番号pnが、最大のポートナンバーより大き
い場合は、ポート番号pnの初期設定へ行く。ここで
は、最大のポートナンバー「3」より大きい場合は、初
期値「0」を代入しにステップS11へ行き、最大のポ
ートナンバー「3」より大きくない場合は、コントロー
ルレジスタを判断しにステップS12へ行く(ステップ
S14)。
【0094】5.ステップS12により全ての条件を満
たすと判断された場合は、ポート番号pnに対応するポ
ートのチェインアドレスカウンタに格納されたコマンド
リストアドレスが示すコマンドリストを取得し、そのコ
マンドリストに含まれるスタートアドレスをDMAアド
レスカウンタに転送し、そのコマンドリストに含まれる
ストリームデータのサイズをDMAデータカウンタに転
送し、また、チェインアドレスカウンタに格納されたコ
マンドリストアドレスを、次のコマンドリストアドレス
に更新する。
【0095】ここでは、例えば、全ての条件を満たすと
判断された場合は、ポート番号pn「0」に対応するポ
ート41aのチェインアドレスカウンタ22cに格納さ
れたコマンドリストアドレスA68aが示すコマンドリ
ストA64aを取得し、そのコマンドリストA64aに
含まれるスタートアドレスA65aをDMAアドレスカ
ウンタ22aに転送し、そのコマンドリストA64aに
含まれるデータサイズA67aをDMAデータカウンタ
22bに転送し、また、チェインアドレスカウンタ22
cに格納されたコマンドリストアドレスA68aを、イ
ンクリメントして次のコマンドリストアドレスB68b
に更新する(ステップS15)。
【0096】6.バスコントローラ21が、ポート番号
pnとそのポート番号pnに対応するポートのコントロ
ールレジスタの内容とBFIFO23のメモリ容量とD
MAデータカウンタ22bの内容とに基づいてバッファ
コマンド22pを生成し、データ長32gの内容が
「0」になるのを待って、バッファコマンド22pをバ
ッファコントローラ30へ送信し、DMAアドレスカウ
ンタ22aに格納されたスタートアドレスで示されるメ
モリ11内のバッファ領域とBFIFO23の間で、ス
トリームデータをバースト転送し、バースト転送した分
だけ、DMAアドレスカウンタ22aに格納されたスタ
ートアドレスをインクリメントしDMAデータカウンタ
22bに格納されたデータサイズをデクリメントする。
ここでは、例えばポート番号pn「0」とポート41a
のコントロールレジスタ22gの内容とBFIFO23
のメモリ容量とDMAデータカウンタ22bの内容とに
基づいてバッファコマンド22pを生成し、バッファコ
ントローラ30へ送信し、DMAアドレスカウンタ22
aに格納されたスタートアドレスで示されるメモリ11
内のバッファ領域とBFIFO23の間で、32ワード
分のストリームデータをバースト転送し、DMAアドレ
スカウンタ22aの内容を32ワード分インクリメント
しDMAデータカウンタ22bの内容を32ワード分デ
クリメントする(ステップS16)。
【0097】7.DMAデータカウンタ22bに格納さ
れたデータサイズが「0」か否かを判断する。データサ
イズが「0」であると判断された場合は、DMAコマン
ドビットのチェックへ行き、「0」でないと判断された
場合は、「0」になるまで、バースト転送を繰り返す
(ステップS17)。 8.データサイズが「0」であると判断された場合は、
ステップS15で取得したコマンドリストに含まれるD
MAコマンドビットの値をチェックして、以下のステッ
プで次のDMA転送の操作を決定する。ここでは、DM
AコマンドビットA66aの値をチェックする(ステッ
プS18)。
【0098】9.DMAコマンドビットの値がチェイン
リストの終了66fを示す場合は、DONEをセットし
て割り込み信号を生成し、別のポートに対してDMA転
送する為に、ステップS13へ戻る(ステップS19、
ステップS20)。 10.DMAコマンドビットの値がフレームパルス待ち
66gを示す場合は、FPをリセットして、別のポート
に対してDMA転送する為に、ステップS13へ戻る
(ステップS21、ステップS22)。
【0099】11.DMAコマンドビットの値が同一ポ
ート66dを示す場合は、同じポートに対してDMA転
送する為に、ステップS15へ戻る。DMAコマンドビ
ットの値がポートの切り替え66eを示す場合は、別の
ポートに対してDMA転送する為に、ステップS13へ
戻る(ステップS23)。 <バッファコントローラ30の詳細な動作>図16は、
本発明に係るデータ転送システムを用いた場合の、バッ
ファコントローラ30におけるストリームデータのバス
変換の処理の流れを示す図である。以下、図5、図8、
図10及び図11を用いてその動作を説明する。
【0100】1.図15のステップS15に示すよう
に、バッファインターフェイス31は、バスコントロー
ラ21からバッファコマンド22pを転送されると(ス
テップS31)、バッファコマンド22pに含まれるM
ODE22qに基づいて、ポートに対応するナンバーを
ポートナンバーレジスタ32aに設定し、ポートに対応
するin/outにデータ転送の方向を設定し、さら
に、バッファコマンド22pに含まれるデータ長22r
に基づいて、データ長32gを設定する(ステップS3
2)。
【0101】2.図15のステップS16に示すよう
に、バスコントローラ21によりストリームデータがB
FIFO23へバースト転送され、BFIFO23がス
トリームデータを格納すると、バッファインターフェイ
ス31がDMAコントローラ20に非同期で、バス変換
を開始する(ステップS33)。 3.ラッチ35a、ラッチ35b、ラッチ35c及びラ
ッチ35dが、一時的に8ビットのデータを保持する。
ここでは、32ビットバスFDBを介してBFIFO2
3から転送されたデータが、8ビット毎に4分割されて
一次的にラッチされる(ステップS34)。
【0102】4.バス幅変換部36が、バッファを選択
しバス幅を32ビットから8ビットに変換する。ここで
は、例えばバッファ33aを選択し(ステップS3
5)、ラッチ35a、ラッチ35b、ラッチ35c及び
ラッチ35dでラッチされた4つの8ビットデータを、
順番に転送することによって、バス幅を32ビットから
8ビットに変換する(ステップS36〜ステップS3
9)。
【0103】5.1回のバス幅変換が終了すると、転送
したデータの分だけデータ長32gの値をデクリメント
する(ステップS40)。 6.データ長32gの値が「0」であるか否かを判断す
る。「0」であると判断された場合は、新たなバッファ
コマンド22pの転送を受け付ける為にステップS31
へ行き、「0」でないと判断された場合は、次の32ビ
ットをバス変換する為にステップS33へ行く(ステッ
プS41)。
【0104】<n倍速入力/出力の詳細な動作>n倍速
入力/出力については、図5に4xport42の接続
とxnmode43の接続を示したが、この動作は、基
本的には前述の非同期マルチストリームのDMA転送動
作と同じである。異なる点は、図11に示すバッファレ
ジスタ32内の4xmode32bに、バッファコマン
ドにより4倍速モードが設定され、ここからxnmod
e43で示す制御信号が、I/Oコントローラ40a、
I/Oコントローラ40b、I/Oコントローラ40c
及びI/Oコントローラ40dに伝えられて、各ポート
が4xport42に切替えられる点である。
【0105】例えば外部機器からの入力の場合は、4x
port42からの信号が1フレームごとに別々のI/
Oコントローラに順次入力される。なお、ここでは、4
倍速の接続を説明したが、これを2つのポートと接続す
れば2倍速となり、また、8つのポートと接続すれば8
倍速となり、必要に応じて接続するポート数を決めれば
よい。
【0106】<複数ポートの同時動作>図17は、本発
明に係るDMAコントローラ20を用いた場合の、複数
ポートの同時動作の処理を示す図である。図18は、ポ
ート41aにストリームデータをDMA転送する為のチ
ェインリストを示す図である。
【0107】図19は、ポート41bにストリームデー
タをDMA転送する為のチェインリストを示す図であ
る。図20は、ポート41cにストリームデータをDM
A転送する為のチェインリストを示す図である。図21
は、ポート41dにストリームデータをDMA転送する
為のチェインリストを示す図である。
【0108】以下、図17、図18、図19、図20及
び図21を用いてその動作を説明する。なお、メモリ1
1には、図18、図19、図20及び図21のチェイン
リストと、これらのチェインリストが示すストリームデ
ータとが、各ポート毎のDMA転送コマンドの転送前に
あらかじめ格納されるものとする。
【0109】1.CPU10によりポート41aへのD
MA転送コマンドが転送された後、バスコントローラ2
1がポート41aからフレームパルス91aを受信する
(タイムt1)。 2.フレームパルス91aを受信すると、ポート41a
のコマンドリストAA71aに基づいて、スタートアド
レスAA72aから始まる4096バイト分のストリー
ムデータのDMA転送A95aを開始する(タイムt1
〜)。
【0110】3.DMA転送A95aが終了すると、ポ
ート41aのDMAコマンドビットAA73aの値が
「00」なので、同じポート41aの次のコマンドリス
トAB71bに基づいて、スタートアドレスAB72b
から始まる4096バイト分のストリームデータのDM
A転送A95bを開始する(タイムt2〜)。 4.CPU10によりポート41bへのDMA転送コマ
ンドが転送された後、バスコントローラ21がポート4
1bからフレームパルス92aを受信する(タイムt
3)。
【0111】5.DMA転送A95bが終了すると、ポ
ート41aのDMAコマンドビットAB73bの値が
「01」なので、次のポート41bのコマンドリストB
A76aに基づいて、スタートアドレスBA77bから
始まる4096バイト分のストリームデータのDMA転
送B96aを開始する(タイムt4〜)。 6.DMA転送B96aが終了すると、ポート41bの
DMAコマンドビットBA78aの値が「00」なの
で、同じポート41bの次のコマンドリストBB76b
に基づいて、スタートアドレスBB77bから始まる4
096バイト分のストリームデータのDMA転送B96
bを開始する(タイムt5〜)。
【0112】7.DMA転送B96bが終了すると、ポ
ート41bのDMAコマンドビットBB78bの値が
「01」なので、次のポートのDMA転送を開始しよう
とするが、ポート41c及びポート41dはDMA転送
コマンドが転送されていないのでパスし、ポート41a
のコマンドリストAC71cに基づいて、スタートアド
レスAC72cから始まる1808バイト分のストリー
ムデータのDMA転送A95cを開始する(タイムt6
〜)。
【0113】8.DMA転送A95cが終了すると、ポ
ート41aのDMAコマンドビットAC73cの値が
「11」なので、ポート41aはフレームパルスA待ち
となり、次のポート41bのコマンドリストBC76c
に基づいて、スタートアドレスBC77cから始まる1
808バイト分のストリームデータのDMA転送B96
cを開始する(タイムt7〜)。
【0114】9.DMA転送B96cが終了すると、ポ
ート41bのDMAコマンドビットBC78cの値が
「11」なので、ポート41bはフレームパルスB待ち
となり、次のポートのDMA転送を開始しようとする
が、ポート41c及びポート41dはDMA転送コマン
ドが転送されていないのでパスされ、ポート41aはフ
レームパルスA待ちなのでパスされ、ポート41bはフ
レームパルスB待ちなのでパスされる(タイムt8)。
【0115】10.バスコントローラ21がポート41
aからフレームパルス91bを受信する(タイムt
9)。 11.「2.」の(タイムt1〜)の動作と同様にし
て、DMA転送A95dを開始する(タイムt9〜)。 12.CPU10によりポート41cへのDMA転送コ
マンドが転送された後、バスコントローラ21がポート
41cからフレームパルス93aを受信する(タイムt
10)。
【0116】13.DMA転送A95dが終了すると、
「3.」の(タイムt2〜)の動作と同様にして、DM
A転送A95eを開始する(タイムt11〜)。 14.バスコントローラ21がポート41bからフレー
ムパルス92bを受信する(タイムt12)。 15.DMA転送A95eが終了すると、「5.」の
(タイムt4〜)の動作と同様にして、DMA転送B9
6dを開始する(タイムt13〜)。
【0117】16.DMA転送B96dが終了すると、
「6.」の(タイムt5〜)の動作と同様にして、DM
A転送B96eを開始する(タイムt14〜)。 17.DMA転送B96eが終了すると、ポート41b
のDMAコマンドビットBE78eの値が「01」なの
で、次のポート41cのコマンドリストCA81aに基
づいて、スタートアドレスCA82aから始まる409
6バイト分のストリームデータのDMA転送C97aを
開始する(タイムt15〜)。
【0118】18.DMA転送C97aが終了すると、
ポート41cのDMAコマンドビットCA83aの値が
「00」なので、同じポート41cの次のコマンドリス
トCB81bに基づいて、スタートアドレスCB82b
から始まる4096バイト分のストリームデータのDM
A転送C97bを開始する(タイムt16〜)。 19.DMA転送C97bが終了すると、ポート41c
のDMAコマンドビットCB83bの値が「01」なの
で、次のポートのDMA転送を開始しようとするが、ポ
ート41dはDMA転送コマンドが転送されていないの
でパスされ、ポート41aのコマンドリストAF71f
に基づいて、スタートアドレスAF72fから始まる1
808バイト分のストリームデータのDMA転送A95
fを開始する(タイムt17〜)。
【0119】20.DMA転送A95fが終了すると、
「8.」の(タイムt7〜)の動作と同様にして、DM
A転送B96fを開始する(タイムt18〜)。 21.DMA転送B96fが終了すると、ポート41b
のDMAコマンドビットBF78fの値が「11」なの
で、ポート41bはフレームパルスB待ちとなり、次の
ポート41cのコマンドリストCC81cに基づいて、
スタートアドレスCC82cから始まる1808バイト
分のストリームデータのDMA転送C97cを開始する
(タイムt19〜)。
【0120】22.DMA転送C97cが終了すると、
ポート41cのDMAコマンドビットCC83cの値が
「11」なので、ポート41cはフレームパルスC待ち
となり、次のポートのDMA転送を開始しようとする
が、ポート41dはDMA転送コマンドが転送されてい
ないのでパスされ、ポート41aはフレームパルスA待
ちなのでパスされ、ポート41bはフレームパルスB待
ちなのでパスされ、ポート41cはフレームパルスC待
ちなのでパスされる(タイムt20)。
【0121】23.CPU10によりポート41dへの
DMA転送コマンドが転送された後、バスコントローラ
21がポート41dからフレームパルス94aを受信す
る(タイムt21)。 24.フレームパルス94aを受信すると、ポート41
dのコマンドリストDA86aに基づいて、スタートア
ドレスDA87aから始まる4096バイト分のストリ
ームデータのDMA転送D98aを開始する(タイムt
21〜)。
【0122】25.DMA転送D98aが終了すると、
ポート41dのDMAコマンドビットDA88aの値が
「00」なので、同じポート41dの次のコマンドリス
トDB86bに基づいて、スタートアドレスDB87b
から始まる4096バイト分のストリームデータのDM
A転送D98bを開始する(タイムt22〜)。 26.DMA転送D98bが終了すると、ポート41d
のDMAコマンドビットDB88bの値が「01」なの
で、次のポートのDMA転送を開始しようとするが、ポ
ート41aはフレームパルスA待ちなのでパスされ、ポ
ート41bはフレームパルスB待ちなのでパスされ、ポ
ート41cはフレームパルスC待ちなのでパスされ、次
のポート41dのコマンドリストDC86cに基づい
て、スタートアドレスDC87cから始まる1808バ
イト分のストリームデータのDMA転送D98cを開始
する(タイムt23〜)。
【0123】27.DMA転送D98cが終了すると、
ポート41dのDMAコマンドビットDC88cの値が
「11」なので、ポート41dはフレームパルスD待ち
となり、次のポートのDMA転送を開始しようとする
が、ポート41aはフレームパルスA待ちなのでパスさ
れ、ポート41bはフレームパルスB待ちなのでパスさ
れ、ポート41cはフレームパルスC待ちなのでパスさ
れ、ポート41dはフレームパルスD待ちなのでパスさ
れる(タイムt24)。
【0124】28.「2.」の(タイムt1〜)の動作
と同様にして、DMA転送A95gを開始する(タイム
t25〜)。 29.バスコントローラ21がポート41cからフレー
ムパルス93bを受信する(タイムt26)。 30.DMA転送A95gが終了すると、ポート41a
のDMAコマンドビットAG73gの値が「01」なの
で、次のポートのDMA転送を開始しようとするが、ポ
ート41bはフレームパルスB待ちなのでパスされ、次
のポート41cのコマンドリストCD81dに基づい
て、スタートアドレスCD82dから始まる4096バ
イト分のストリームデータのDMA転送C97dを開始
する(タイムt27〜)。
【0125】31.バスコントローラ21がポート41
bからフレームパルス92cを受信する(タイムt2
8)。 32.DMA転送C97dが終了すると、「17.」の
(タイムt15〜)の動作と同様にして、DMA転送C
97eを開始する(タイムt29〜)。 33.DMA転送C97eが終了すると、ポート41c
のDMAコマンドビットCE83eの値が「01」なの
で、次のポートのDMA転送を開始しようとするが、ポ
ート41dはフレームパルスD待ちなのでパスされ、次
のポート41aのコマンドリストAH71hに基づい
て、スタートアドレスAH72hから始まる4096バ
イト分のストリームデータのDMA転送A95hを開始
する(タイムt30〜)。
【0126】34.DMA転送A95hが終了すると、
「15.」の(タイムt13〜)の動作と同様にして、
DMA転送B96gを開始する(タイムt31〜)。 35.DMA転送B96gが終了すると、ポート41b
のDMAコマンドビットBG78gの値が「01」なの
で、次のポート41cのコマンドリストCF81fに基
づいて、スタートアドレスCF82fから始まる180
8バイト分のストリームデータのDMA転送C97fを
開始する(タイムt32〜)。
【0127】36.DMA転送C97fが終了すると、
ポート41cのDMAコマンドビットCF83fの値が
「11」なので、ポート41cはフレームパルスC待ち
となり、次のポートのDMA転送を開始しようとする
が、ポート41dはフレームパルスD待ちなのでパスさ
れ、次のポート41aのコマンドリストAI71iに基
づいて、スタートアドレスAI72iから始まる180
8バイト分のストリームデータのDMA転送A95iを
開始する(タイムt33〜)。
【0128】37.DMA転送A95iが終了すると、
ポート41aのDMAコマンドビットAI73iの値が
「10」なので、ポート41aはチェインリスト終了と
なり、次のポート41bのコマンドリストBH76hに
基づいて、スタートアドレスBH77hから始まる40
96バイト分のストリームデータのDMA転送B96h
を開始する(タイムt34〜)。
【0129】38.DMA転送B96hが終了すると、
ポート41bのDMAコマンドビットBH78hの値が
「01」なので、次のポートのDMA転送を開始しよう
とするが、ポート41cはフレームパルスC待ちなので
パスされ、ポート41dはフレームパルスD待ちなので
パスされ、ポート41aはチェインリスト終了なのでパ
スされ、次のポート41bのコマンドリストBI76i
に基づいて、スタートアドレスBI77iから始まる1
808バイト分のストリームデータのDMA転送B96
iを開始する(タイムt35〜)。
【0130】39.DMA転送B96iが終了すると、
ポート41bのDMAコマンドビットBI78iの値が
「10」なので、ポート41bはチェインリスト終了と
なり、次のポートのDMA転送を開始しようとするが、
ポート41cはフレームパルスC待ちなのでパスされ、
ポート41dはフレームパルスD待ちなのでパスされ、
ポート41aはチェインリスト終了なのでパスされる
(タイムt36) 40.「23.〜27.」の(タイムt21〜タイムt
24)の動作と同様にして、DMA転送D98d〜DM
A転送D98fを実行する(タイムt37〜タイムt4
0)。
【0131】41.「23.〜27.」の(タイムt2
1〜タイムt24)の動作と同様にして、DMA転送C
97g〜DMA転送C97iを実行する(タイムt41
〜タイムt44)。 42.「23.〜27.」の(タイムt21〜タイムt
24)の動作と同様にして、DMA転送D98g〜DM
A転送D98iを実行する(タイムt45〜タイムt4
8)。
【0132】以上のようにして、本発明は、CPUがD
MA転送に必要な情報を示すチェインリストをポート毎
に生成することによって、ポート毎に一回のDMA転送
で転送されるストリームデータのサイズや同一ポートで
連続して実行されるDMA転送の回数を任意に設定する
ことができる。このポート毎のチェインリストはメモリ
に格納され、そのアドレスがポート毎のチェインアドレ
スカウンタに転送される。
【0133】ここで、CPUからのポート毎のデータ転
送要求コマンドと各ポートからのフレーム要求信号とが
ポート毎のコントロールレジスタに転送されると、デー
タ転送要求コマンドとフレーム要求信号とが転送された
ポートだけに順番に、対応するチェインアドレスカウン
タに格納されたアドレスが示すチェインリストが取得さ
れDMA転送されるので、ポート間の同期を取ることな
く、ポート間のデータ転送の割合がほぼチェインリスト
で設定した通りになる。
【0134】なお、本発明はこれら実施の形態に限られ
ないことは勿論である。即ち、BFIFO23のDMA
コントローラ側とバッファコントローラ側は同じビット
幅でなくてもよく、また、BFIFO23と各バッファ
のバス幅は同じでもよい。また、各バッファは、fie
ld memoryの代わりに双方向のFIFOやDR
AMを使用してもよい。
【0135】さらに、DMAアドレスカウンタ22aの
値は、ベースアドレスとDMAデータカウンタ22bの
値を加算して生成してもよい。ここでは、DMAデータ
カウンタ22bは、データ転送毎にその値を順次インク
リメントしていくが、この値をベースアドレスに加算す
ることでアドレスを生成してもよい。なお、解像度が高
くビットレートが高いストリームデータの場合、例え
ば、1フレームのサイズが125,000バイトの場合
は、1フレーム分のコマンドリストは、31エントリか
ら成り、これがポート毎に切替えられながらDMA転送
される。ここで、1つのポートについて見れば、他のポ
ートがコマンドリストのどの部分を実行しているかに関
係なく、ほぼ同じ性能でDMA転送することになる。
【0136】また、DMA転送の方向は、各ポートに対
応するコントロールレジスタ内に保持されており、各D
MAコマンドごとに切替えが行なわれるので、BFIF
O23で複数のポートのデータが混じることはない。
【0137】
【発明の効果】
(DMAレジスタの構造のみ)以上の説明から明らかな
ように、本発明に係るデータ転送装置は、n個のポート
とメモリとの間でストリームデータをそれぞれDMA転
送するデータ転送装置であって、nは2以上の整数であ
り、前記メモリには少なくとも1組のコマンドリストが
あらかじめ格納されておりまたストリームデータが格納
されるメモリ領域が確保され、前記コマンドリストはそ
れぞれストリームデータが格納されるメモリ領域の先頭
アドレスと格納されるストリームデータのサイズとを含
み、n個のポートに対して兼用されn個のポートのうち
の1個との間で次にストリームデータがDMA転送され
るメモリ領域の先頭アドレスを格納するアドレスカウン
タと、n個のポートに対して兼用され前記アドレスカウ
ンタに格納された先頭アドレスが示すメモリ領域とn個
のポートのうちの1個との間でDMA転送されるストリ
ームデータのサイズを格納するデータカウンタと、1個
のポートにそれぞれ1個が対応しておりそれぞれ特定の
コマンドリストが格納されているメモリのアドレスを格
納するn個のチェインアドレスカウンタとを備え、特定
のチェインアドレスカウンタに格納されたアドレスが示
すコマンドリストはそのコマンドリストに含まれるメモ
リ領域の先頭アドレスが前記アドレスカウンタの内容と
対応しそのコマンドリストに含まれるストリームデータ
のサイズが前記データカウンタの内容と対応し、前記デ
ータ転送装置は、さらに、前記特定のチェインアドレス
カウンタに対応するポートと前記アドレスカウンタに格
納された先頭アドレスが示すメモリ領域との間で前記デ
ータカウンタに格納されたサイズのストリームデータを
DMA転送するストリームデータ転送手段を備えること
を特徴とする。
【0138】これによって、アドレスカウンタとデータ
カウンタとストリームデータ転送手段とが、複数のポー
トに対して兼用される。従って、比較的少ないハードウ
エア量で、複数のポートに複数のストリームデータを転
送することができ、しかも拡張が容易である。 (コマンドリスト生成手段の追加)ここで、前記データ
転送装置は、さらに、コマンドリストを生成し前記メモ
リに格納しこのコマンドリストのアドレスをストリーム
データがDMA転送されるポートに対応するチェインア
ドレスカウンタに転送するコマンドリスト生成手段を備
えることを特徴とすることもできる。
【0139】これによって、ポート毎にコマンドリスト
を生成することができる。従って、各ポートに均等にD
MA転送を割り当てることも、特定のポートに特定の割
合でDMA転送を割り当てることもできる。 (ポート選択手段とコマンドリスト転送手段の追加)ま
た、前記データ転送装置は、さらに、前記n個のポート
から1個のポートを選択するポート選択手段と、前記ポ
ート選択手段により1個のポートが選択される度に前記
ポート選択手段により選択された1個のポートに対応す
るチェインアドレスカウンタに格納されたアドレスが示
すコマンドリストを取得しそのコマンドリストに含まれ
るメモリ領域の先頭アドレスを前記アドレスカウンタに
転送しそのコマンドリストに含まれるストリームデータ
のサイズを前記データカウンタに転送しまた前記チェイ
ンアドレスカウンタに格納されたアドレスを次のアドレ
スに更新するコマンドリスト転送手段とを備え、前記ス
トリームデータ転送手段は前記コマンドリスト転送手段
によりストリームデータのサイズが前記データカウンタ
に転送される度に前記ポート選択手段により選択された
1個のポートと前記アドレスカウンタに格納された先頭
アドレスが示すメモリ領域との間で前記データカウンタ
に格納されたサイズのストリームデータをDMA転送す
ることを特徴とすることもできる。
【0140】これによって、順次ポートを選択し、選択
されたポートに対してDMA転送することができる。従
って、複数のポートを調停することができる。 (コマンドの追加とポート選択手段の限定)また、前記
コマンドリストはそれぞれ、さらに、次に選択されるポ
ートを変更するか否かを示すコマンドを含み、前記コマ
ンドリスト転送手段は、さらに、前記ポート選択手段に
より1個のポートが選択される度に前記ポート選択手段
により選択された1個のポートに対応するチェインアド
レスカウンタに格納されたアドレスが示すコマンドリス
トを取得しそのコマンドリストに含まれるコマンドを前
記ポート選択手段へ渡し、前記ポート選択手段は前記ス
トリームデータ転送手段によりDMA転送が終了した場
合にあらかじめ決められた順序と前記コマンドリスト転
送手段に渡されたコマンドとに基づいて次の順番のポー
トを新たに選択するか又は直前に選択したポートを再度
選択することを特徴とすることもできる。
【0141】これによって、連続してDMA転送する回
数をポート毎に設定することができる。従って、各ポー
トに均等にDMA転送の回数を割り当てることも、特定
のポートに特定の割合でDMA転送の回数を割り当てる
こともできる。 (転送要求信号の追加)また、前記n個のポートのうち
少なくとも1個からは一定量のストリームデータの転送
要求を示す転送要求信号が出力され、前記データ転送装
置は、さらに、ポート毎に転送要求信号を受信する受信
手段を備え、前記ポート選択手段はポートを選択する場
合に前記受信手段により転送要求信号が受信されたポー
トのみを選択することを特徴とすることもできる。
【0142】これによって、転送要求信号を発信したポ
ートに対してのみDMA転送することができる。従っ
て、ポート毎の転送要求に添ってDMA転送することが
できる。 (転送要求信号を一定時間毎に受信)また、前記n個の
ポートのうち少なくとも1個からは転送要求信号が一定
時間毎に出力され、前記受信手段は、さらに、1個のポ
ートにそれぞれ1個が対応しており前記受信手段により
対応するポートから転送要求信号が受信された場合に要
求ビットをセットするn個の要求ビット記憶手段を含
み、前記コマンドは次に選択されるポートを変更するこ
とを示す場合は、さらに、選択されているポートに対応
する要求ビット記憶手段にセットされた要求ビットをク
リアするか否かを示し、前記ポート選択手段は前記コマ
ンドリスト転送手段に渡されたコマンドに基づいて選択
されているポートに対応する要求ビット記憶手段にセッ
トされた要求ビットをクリアするか又は何もせず、ま
た、ポートを選択する場合に対応する要求ビット記憶手
段に要求ビットがセットされているポートのみを選択す
ることを特徴とすることもできる。
【0143】これによって、要求ビットのクリア後に、
転送要求信号を発信したポートに対してのみDMA転送
することができる。従って、ポート毎に同期をとりなが
らDMA転送することができる。 (バス幅変換手段の追加)また、前記データ転送装置
は、さらに、前記ポート選択手段により1個のポートが
選択される度に選択されたポートと前記データカウンタ
に格納されたストリームデータのサイズとに基づいてバ
ス幅変換コマンドを生成しバス幅変換手段へ送信するバ
ス幅変換コマンド生成手段を備え、バス幅変換コマンド
はポートを特定する情報と転送するストリームデータの
データ長を特定する情報とを含み、前記データ転送装置
は、さらに、前記バス幅変換コマンドに基づいて前記バ
ス幅変換コマンドが示すポートのバス幅と前記メモリの
バス幅とを変換しながら当該ポートとの間で前記バス幅
変換コマンドが示すデータ長のストリームデータを転送
するバス幅変換手段を備え、前記バス幅変換手段はn個
のポートに対して兼用され、前記ストリームデータ転送
手段は前記ポート選択手段により選択された1個のポー
トの代わりに前記バス幅変換手段との間でストリームデ
ータをDMA転送することを特徴とすることもできる。
【0144】これによって、バス幅を変更することがで
きるので、各ポートのバス幅とメモリのバス幅とを一致
させなくてもよい。従って、いろいろなバス幅のポート
を接続することができる。また、各ポートへのバス幅を
少なくでき、配線が減少しハードウェアが簡単になる。 (第1バッファ手段の追加)また、前記データ転送装置
は、さらに、前記メモリと前記バス幅変換手段との間で
ストリームデータをバッファリングする第1バッファ手
段を備え、前記第1バッファ手段はn個のポートに対し
て兼用され、前記ストリームデータ転送手段は前記バス
幅変換手段の代わりに前記第1バッファ手段との間でス
トリームデータをDMA転送することを特徴とすること
もできる。
【0145】これによって、ストリームデータをバッフ
ァリングすることができるので、各ポートとメモリと
の、バス幅の違いや一回の転送速度の差等による総合的
な転送レートの差を調整することができる。従って、メ
モリやシステムバス等のハードウェア資源を有効に活用
することができる。 (第2バッファ手段の追加)また、前記データ転送装置
は、さらに、1個のポートにそれぞれ1個が対応してお
り対応するポートと前記バス幅変換手段との間でストリ
ームデータをバッファリングするn個の第2バッファ手
段を備え、前記バス幅変換手段は当該ポートの代わりに
前記第2バッファ手段との間でストリームデータを転送
することを特徴とすることもできる。
【0146】これによって、ストリームデータをバッフ
ァリングすることができるので、DMA転送の変動をバ
ッファ容量分だけ吸収できる。従って、複数のポートに
対して、安定したデータ転送を行うことができる。 (m倍速ポートとI/Oコントローラの追加)また、前
記データ転送装置は、さらに、m倍速ポートとメモリと
の間でストリームデータをDMA転送し、mはn以下の
整数であり、前記データ転送装置は、さらに、m個の第
2バッファ手段のうちの1個にそれぞれ1個が対応して
おり対応するポート又はm倍速ポートを選択し対応する
第2バッファ手段と対応するポート又はm倍速ポートと
の間でストリームデータの入出力をコントロールするm
個の第1I/Oコントローラと、前記m個の第2バッフ
ァ手段以外の(n−m)個の第2バッファ手段のうちの
1個にそれぞれ1個が対応しており対応する第2バッフ
ァ手段と対応するポートとの間でストリームデータの入
出力をコントロールする(n−m)個の第2I/Oコン
トローラとを備え、前記n個の第2バッファ手段は対応
するポートの代わりに対応するI/Oコントローラとの
間でストリームデータをバッファリングし、前記m倍速
ポートはm個の第1I/Oコントローラと接続されてお
り前記n個のポートは、それぞれm個の第1I/Oコン
トローラと(n−m)個の第2I/Oコントローラと接
続されていることを特徴とすることもできる。
【0147】これによって、m倍速の入出力ポートにも
ポート側のわずかな配線の追加で対応でき、ソフトウエ
アをほとんど同じにすることができる。従って、非常に
使い易いシステムとなる。 (データ転送システム)本発明に係るデータ転送システ
ムは、大規模記憶装置からn個のポートへストリームデ
ータをそれぞれDMA転送するデータ転送システムであ
って、nは2以上の整数であり、あらかじめストリーム
データが格納されている大規模記憶装置と、ストリーム
データが格納される領域が確保されているメモリと、第
1コマンドリストを生成するコマンドリスト生成手段と
を備え、前記第1コマンドリストは前記大規模記憶装置
に格納されたストリームデータを特定する情報とストリ
ームデータが格納されるメモリ領域のアドレスを特定す
る情報と格納されるストリームデータのサイズを特定す
る情報とを含み、前記データ転送システムは、さらに、
前記コマンドリスト生成手段から転送された第1コマン
ドリストに基づいて大規模記憶装置からメモリへサイズ
の特定されたストリームデータをDMA転送する第1デ
ータ転送装置を備え、前記コマンドリスト生成手段は、
さらに、前記第1コマンドリストを前記第1データ転送
装置に転送し第2コマンドリストを生成し前記メモリに
格納し、前記第2コマンドリストはストリームデータが
格納されるメモリ領域の先頭アドレスと格納されるスト
リームデータのサイズと次に選択されるポートを変更す
るか否かを示すコマンドとを含み、前記データ転送シス
テムは、さらに、第2データ転送装置を備え、前記第2
データ転送装置は、n個のポートに対して兼用されn個
のポートのうちの1個へ次にストリームデータがDMA
転送されるメモリ領域の先頭アドレスを格納するアドレ
スカウンタと、n個のポートに対して兼用され前記アド
レスカウンタに格納された先頭アドレスが示すメモリ領
域からn個のポートのうちの1個へDMA転送されるス
トリームデータのサイズを格納するデータカウンタと、
1個のポートにそれぞれ1個が対応しておりそれぞれ特
定の第2コマンドリストが格納されているメモリのアド
レスを格納するn個のチェインアドレスカウンタとを含
み、特定のチェインアドレスカウンタに格納されたアド
レスが示す第2コマンドリストはその第2コマンドリス
トに含まれるメモリ領域の先頭アドレスが前記アドレス
カウンタの内容と対応しその第2コマンドリストに含ま
れるストリームデータのサイズが前記データカウンタの
内容と対応し、前記第2データ転送装置は、さらに、前
記n個のポートから1個のポートを選択するポート選択
手段と、前記ポート選択手段により1個のポートが選択
される度に前記ポート選択手段により選択された1個の
ポートに対応するチェインアドレスカウンタに格納され
たアドレスが示す第2コマンドリストを取得しその第2
コマンドリストに含まれるメモリ領域の先頭アドレスを
前記アドレスカウンタに転送しその第2コマンドリスト
に含まれるストリームデータのサイズを前記データカウ
ンタに転送しその第2コマンドリストに含まれるコマン
ドを前記ポート選択手段へ渡し、また、前記チェインア
ドレスカウンタに格納されたアドレスを次のアドレスに
更新するコマンドリスト転送手段と、前記アドレスカウ
ンタに格納された先頭アドレスが示すメモリ領域から前
記ポート選択手段により選択された1個のポートへ前記
データカウンタに格納されたサイズのストリームデータ
をDMA転送するストリームデータ転送手段とを含み、
前記ポート選択手段は前記ストリームデータ転送手段に
よりDMA転送が終了した場合にあらかじめ決められた
順序と前記コマンドリスト転送手段に渡されたコマンド
とに基づいて次の順番のポートを新たに選択するか又は
直前に選択したポートを再度選択し、前記ストリームデ
ータ転送手段は前記コマンドリスト転送手段によりスト
リームデータのサイズが前記データカウンタに転送され
る度に前記アドレスカウンタに格納された先頭アドレス
が示すメモリ領域から前記ポート選択手段により選択さ
れた1個のポートへ前記データカウンタに格納されたサ
イズのストリームデータをDMA転送し、前記コマンド
リスト生成手段は、さらに、前記第1データ転送装置に
よりサイズの特定されたストリームデータがメモリへD
MA転送されるのを待ってこの第2コマンドリストのア
ドレスをストリームデータがDMA転送されるポートに
対応するチェインアドレスカウンタに転送することを特
徴とする。
【0148】また、本発明に係るデータ転送システム
は、n個のポートから大規模記憶装置へストリームデー
タをそれぞれDMA転送するデータ転送システムであっ
て、nは2以上の整数であり、ストリームデータが格納
される領域が確保されている大規模記憶装置と、ストリ
ームデータが格納される領域が確保されているメモリ
と、第2コマンドリストを生成し前記メモリに格納する
コマンドリスト生成手段とを備え、前記第2コマンドリ
ストはストリームデータが格納されるメモリ領域の先頭
アドレスと格納されるストリームデータのサイズと次に
選択されるポートを変更するか否かを示すコマンドとを
含み、前記データ転送システムは、さらに、第2データ
転送装置を備え、前記第2データ転送装置は、n個のポ
ートに対して兼用されn個のポートのうちの1個から次
にストリームデータがDMA転送されるメモリ領域の先
頭アドレスを格納するアドレスカウンタと、n個のポー
トに対して兼用されn個のポートのうちの1個から前記
アドレスカウンタに格納された先頭アドレスが示すメモ
リ領域へDMA転送されるストリームデータのサイズを
格納するデータカウンタと、1個のポートにそれぞれ1
個が対応しておりそれぞれ特定の第2コマンドリストが
格納されているメモリのアドレスを格納するn個のチェ
インアドレスカウンタとを含み、特定のチェインアドレ
スカウンタに格納されたアドレスが示す第2コマンドリ
ストはその第2コマンドリストに含まれるメモリ領域の
先頭アドレスが前記アドレスカウンタの内容と対応しそ
の第2コマンドリストに含まれるストリームデータのサ
イズが前記データカウンタの内容と対応し、前記第2デ
ータ転送装置は、さらに、前記n個のポートから1個の
ポートを選択するポート選択手段と、前記ポート選択手
段により1個のポートが選択される度に前記ポート選択
手段により選択された1個のポートに対応するチェイン
アドレスカウンタに格納されたアドレスが示す第2コマ
ンドリストを取得しその第2コマンドリストに含まれる
メモリ領域の先頭アドレスを前記アドレスカウンタに転
送しその第2コマンドリストに含まれるストリームデー
タのサイズを前記データカウンタに転送しその第2コマ
ンドリストに含まれるコマンドを前記ポート選択手段へ
渡し、また、前記チェインアドレスカウンタに格納され
たアドレスを、次のアドレスに更新するコマンドリスト
転送手段と、前記ポート選択手段により選択された1個
のポートから前記アドレスカウンタに格納された先頭ア
ドレスが示すメモリ領域へ前記データカウンタに格納さ
れたサイズのストリームデータをDMA転送するストリ
ームデータ転送手段とを含み、前記ポート選択手段は前
記ストリームデータ転送手段によりDMA転送が終了し
た場合にあらかじめ決められた順序と前記コマンドリス
ト転送手段に渡されたコマンドとに基づいて次の順番の
ポートを新たに選択するか又は直前に選択したポートを
再度選択し、前記ストリームデータ転送手段は前記コマ
ンドリスト転送手段によりストリームデータのサイズが
前記データカウンタに転送される度に前記ポート選択手
段により選択された1個のポートから前記アドレスカウ
ンタに格納された先頭アドレスが示すメモリ領域へ前記
データカウンタに格納されたサイズのストリームデータ
をDMA転送し、前記コマンドリスト生成手段は、さら
に、前記第2コマンドリストのアドレスを前記第2デー
タ転送装置に転送し第1コマンドリストを生成し前記メ
モリに格納し、前記第1コマンドリストは前記大規模記
憶装置に格納されたストリームデータを特定する情報と
ストリームデータが格納されるメモリ領域のアドレスを
特定する情報と格納されるストリームデータのサイズを
特定する情報とを含み、前記データ転送システムは、さ
らに、前記コマンドリスト生成手段から転送された第1
コマンドリストに基づいてメモリから大規模記憶装置へ
サイズの特定されたストリームデータをDMA転送する
第1データ転送装置を備え、前記コマンドリスト生成手
段は、さらに、前記第2データ転送装置によりサイズの
特定されたストリームデータがメモリへDMA転送され
るのを待ってこの第1コマンドリストを前記第1データ
転送装置に転送することを特徴とすることもできる。
【0149】これによって、複数のポートを調停するこ
とができるので、複数のストリームデータを効率よく転
送することができる。また、複数の入出力装置に対する
転送を比較的少ないハードウエア量で実現することがで
き、しかも拡張が容易である。さらに、この複数のスト
リームデータは非同期であってもよく、非同期な各ポー
トに均等にDMA転送を割り当てることも、特定のポー
トに特定の割合でDMA転送を割り当てることもでき
る。
【0150】また、互いに他のポートの転送状態に影響
されずに、ストリームデータを転送できる。従って、シ
ステムバス上には各ポートのデータがバースト転送単位
で分散され、システム全体としてマルチポートマルチデ
バイスのデータ転送を効率よく実行できる。
【図面の簡単な説明】
【図1】本発明の実施例におけるデータ転送システムの
概略を示す図である。
【図2】ストリームデータが一次的に格納される、メモ
リ11内に確保されたバッファ領域を示す図である。
【図3】メモリ11に格納されるコマンドリストの構成
を示す図である。
【図4】DMAコマンドビットの内容を示す図である。
【図5】マルチストリームインターフェイス15の詳細
な構成を示す図である。
【図6】図6(a)は、DMAレジスタ22の詳細な構
成を示す図である。図6(b)は、コントロールレジス
タ22gの内部のビットフィールドの構成を示した図で
ある。
【図7】バスコントローラ21の詳細な構成を示す図で
ある。
【図8】バッファコマンド生成部により生成されるバッ
ファコマンド22pの内部のビットフィールドの構成を
示した図である。
【図9】BFIFO23の詳細な構成を示す図である。
【図10】バッファインターフェイス31の詳細な構成
を示す図である。
【図11】バッファレジスタ32の詳細な構成を示す図
である。
【図12】バッファ33aの詳細な構成を示す図であ
る。
【図13】制御線FP44aを示す図である。
【図14】本発明に係るデータ転送システムを用いた場
合の、CPU10におけるストリームデータの転送の処
理の流れを示す図である。
【図15】本発明に係るデータ転送システムを用いた場
合の、バスコントローラ21におけるストリームデータ
の転送の処理の流れを示す図である。
【図16】本発明に係るデータ転送システムを用いた場
合の、バッファコントローラ30におけるストリームデ
ータのバス変換の処理の流れを示す図である。
【図17】本発明に係るDMAコントローラ20を用い
た場合の、複数ポートの同時動作の処理を示す図であ
る。
【図18】ポート41aにストリームデータをDMA転
送する為のチェインリストを示す図である。
【図19】ポート41bにストリームデータをDMA転
送する為のチェインリストを示す図である。
【図20】ポート41cにストリームデータをDMA転
送する為のチェインリストを示す図である。
【図21】ポート41dにストリームデータをDMA転
送する為のチェインリストを示す図である。
【図22】従来のデータ転送システムの概略を示す図で
ある。
【符号の説明】
10 CPU 11 メモリ 12 システムバス 13 SCSIインターフェイス 14a、14b、14c、14d HDD(ハードディ
スクドライブ) 15 マルチストリームインターフェイス 16a、16b、16c ビデオモニター 17 ビデオカセットレコーダ 20 DMAコントローラ 21 バスコントローラ 21a フレームパルス受信部 21b ポート選択部 21c コマンドリスト転送部 21d ストリームデータ転送部 21e バッファコマンド生成部 22 DMAレジスタ 22a DMAアドレスカウンタ 22b DMAデータカウンタ 22c、22d、22e、22f チェインアドレスカ
ウンタ 22g、22h、22i、22j コントロールレジス
タ 22k ポートナンバーレジスタ 22l RUN(コントロールレジスタの構成要素) 22m DONE(コントロールレジスタの構成要素) 22n IO(コントロールレジスタの構成要素) 22o FP(コントロールレジスタの構成要素) 23 BFIFO(バッファ) 24a、24b I/Oポート 25a、25b FIFO(バッファ) 26a フラグEA(制御線) 26b フラグEB(制御線) 26c フラグFA(制御線) 26d フラグFB(制御線) 26e FDA(バス) 26f FDB(バス) 30 バッファコントローラ 31 バッファインターフェイス 32 バッファレジスタ 32a ポートナンバーレジスタ 32b 4×mode(レジスタ) 32c、32d、32e、32f in/out(レジ
スタ) 32g データ長(レジスタ) 33a、33b、33c、33d バッファ 34a フィールドメモリ 34b WD(書き込み用のデータバス) 34c RD(読み出し用のデータバス) 34d WRST(書き込みリセット用制御線) 34e WCLK(書き込みクロック用制御線) 34f RRST(読み出しリセット用制御線) 34g RCLK(読み出しクロック用制御線) 34h BOA(バス) 34i BOB(バス) 34j、34k ゲート 35a、35b、35c、35d ラッチ 36 バス幅変換部 40a、40b、40c、40d I/Oコントローラ 41a、41b、41c、41d ポート 42 4×ポート 43 ×nmode(制御線) 44a、44b、44c、44d FP(制御線) 50a、50b、50c、50d ストリームインター
フェイス

Claims (16)

    (57)【特許請求の範囲】
  1. 【請求項1】 n個のポートとメモリとの間で、ストリ
    ームデータを、それぞれDMA転送するデータ転送装置
    であって、 nは2以上の整数であり、 前記メモリには、少なくとも1組のコマンドリストがあ
    らかじめ格納されており、また、ストリームデータが格
    納されるメモリ領域が確保され、 前記コマンドリストはそれぞれ、次に選択されるポート
    を変更するか否かを示すコマンドを含み、前記n個のポートから1個のポートを選択するポート選
    択手段と、 前記ポート選択手段により選択された1個のポートと前
    記メモリ領域との間で、前記ストリームデータをDMA
    転送するストリームデータ転送手段とを備え、 前記ポート選択手段は、前記ストリームデータ転送手段
    によりDMA転送が終了した場合に、あらかじめ決めら
    れた順序と選択されているポートに対応するコマンドリ
    ストに含まれるコマンドとに基づいて、次の順番のポー
    トを新たに選択するか又は選択されているポートを再度
    選択することを特徴とするデータ転送装置。
  2. 【請求項2】 前記データ転送装置は、さらに、 コマンドリストを生成し、前記メモリに格納するコマン
    ドリスト生成手段を備えることを特徴とする請求項1記
    載のデータ転送装置。
  3. 【請求項3】 前記n個のポートのうち少なくとも1個
    からは、一定量のストリームデータの転送要求を示す転
    送要求信号が出力され、 前記データ転送装置は、さらに、 ポート毎に転送要求信号を受信する受信手段を備え、 前記ポート選択手段は、ポートを選択する場合に、前記
    受信手段により転送要求信号が受信されたポートのみを
    選択することを特徴とする請求項記載のデータ転送装
    置。
  4. 【請求項4】 前記データ転送装置は、さらに、 コマンドリストを生成し、前記メモリに格納するコマン
    ドリスト生成手段を備えることを特徴とする請求項
    載のデータ転送装置。
  5. 【請求項5】 前記n個のポートのうち少なくとも1個
    からは、転送要求信号が一定時間毎に出力され、 前記受信手段は、さらに、 1個のポートにそれぞれ1個が対応しており、前記受信
    手段により対応するポートから転送要求信号が受信され
    た場合に、要求ビットをセットするn個の要求ビット記
    憶手段を含み、 前記コマンドは、次に選択されるポートを変更すること
    を示す場合は、さらに、選択されているポートに対応す
    る要求ビット記憶手段にセットされた要求ビットをクリ
    アするか否かを示し、 前記ポート選択手段は、選択されているポートに対応す
    るコマンドリストに含まれるコマンドに基づいて、選択
    されているポートに対応する要求ビット記憶手段にセッ
    トされた要求ビットをクリアするか又は何もせず、ま
    た、ポートを選択する場合に、対応する要求ビット記憶
    手段に要求ビットがセットされているポートのみを選択
    することを特徴とする請求項記載のデータ転送装置。
  6. 【請求項6】 前記データ転送装置は、さらに、 コマンドリストを生成し、前記メモリに格納するコマン
    ドリスト生成手段を備えることを特徴とする請求項
    載のデータ転送装置。
  7. 【請求項7】 前記データ転送装置は、さらに、 前記ポート選択手段により1個のポートが選択される度
    に、選択されたポートと前記データカウンタに格納され
    たストリームデータのサイズとに基づいて、バス幅変換
    コマンドを生成し、バス幅変換手段へ送信するバス幅変
    換コマンド生成手段を備え、 バス幅変換コマンドは、ポートを特定する情報と、転送
    するストリームデータのデータ長を特定する情報とを含
    み、 前記データ転送装置は、さらに、 前記バス幅変換コマンドに基づいて、前記バス幅変換コ
    マンドが示すポートのバス幅と前記メモリのバス幅とを
    変換しながら、当該ポートとの間で、前記バス幅変換コ
    マンドが示すデータ長のストリームデータを転送するバ
    ス幅変換手段を備え、 前記バス幅変換手段は、n個のポートに対して兼用さ
    れ、 前記ストリームデータ転送手段は、前記ポート選択手段
    により選択された1個のポートの代わりに、前記バス幅
    変換手段との間で、ストリームデータをDMA転送する
    ことを特徴とする請求項記載のデータ転送装置。
  8. 【請求項8】 前記データ転送装置は、さらに、 コマンドリストを生成し、前記メモリに格納するコマン
    ドリスト生成手段を備えることを特徴とする請求項
    載のデータ転送装置。
  9. 【請求項9】 前記データ転送装置は、さらに、 前記メモリと前記バス幅変換手段との間で、ストリーム
    データをバッファリングする第1バッファ手段を備え、 前記第1バッファ手段は、n個のポートに対して兼用さ
    れ、 前記ストリームデータ転送手段は、前記バス幅変換手段
    の代わりに、前記第1バッファ手段との間で、ストリー
    ムデータをDMA転送することを特徴とする請求項
    載のデータ転送装置。
  10. 【請求項10】 前記データ転送装置は、さらに、 コマンドリストを生成し、前記メモリに格納するコマン
    ドリスト生成手段を備えることを特徴とする請求項
    載のデータ転送装置。
  11. 【請求項11】 前記データ転送装置は、さらに、 1個のポートにそれぞれ1個が対応しており、対応する
    ポートと前記バス幅変換手段との間で、ストリームデー
    タをバッファリングするn個の第2バッファ手段を備
    え、 前記バス幅変換手段は、当該ポートの代わりに、前記第
    2バッファ手段との間で、ストリームデータを転送する
    ことを特徴とする請求項記載のデータ転送装置。
  12. 【請求項12】 前記データ転送装置は、さらに、 コマンドリストを生成し、前記メモリに格納するコマン
    ドリスト生成手段を備えることを特徴とする請求項11
    記載のデータ転送装置。
  13. 【請求項13】 前記データ転送装置は、さらに、m倍
    速ポートとメモリとの間で、ストリームデータをDMA
    転送し、 mはn以下の整数であり、 前記データ転送装置は、さらに、 m個の第2バッファ手段のうちの1個にそれぞれ1個が
    対応しており、対応するポート又はm倍速ポートを選択
    し、対応する第2バッファ手段と対応するポート又はm
    倍速ポートとの間で、ストリームデータの入出力をコン
    トロールするm個の第1I/Oコントローラと、 前記m個の第2バッファ手段以外の(n−m)個の第2
    バッファ手段のうちの1個にそれぞれ1個が対応してお
    り、対応する第2バッファ手段と対応するポートとの間
    で、ストリームデータの入出力をコントロールする(n
    −m)個の第2I/Oコントローラとを備え、 前記n個の第2バッファ手段は、対応するポートの代わ
    りに、対応するI/Oコントローラとの間で、ストリー
    ムデータをバッファリングし、 前記m倍速ポートは、m個の第1I/Oコントローラと
    接続されており、前記n個のポートは、それぞれm個の
    第1I/Oコントローラと(n−m)個の第2I/Oコ
    ントローラと接続されていることを特徴とする請求項
    記載のデータ転送装置。
  14. 【請求項14】 前記データ転送装置は、さらに、 コマンドリストを生成し、前記メモリに格納するコマン
    ドリスト生成手段を備えることを特徴とする請求項13
    記載のデータ転送装置。
  15. 【請求項15】 大規模記憶装置からn個のポートへ、
    ストリームデータを、それぞれDMA転送するデータ転
    送システムであって、 nは2以上の整数であり、 あらかじめストリームデータが格納されている大規模記
    憶装置と、 ストリームデータが格納される領域が確保されているメ
    モリと、 第1コマンドリストを生成するコマンドリスト生成手段
    とを備え、 前記第1コマンドリストは、前記大規模記憶装置に格納
    されたストリームデータを特定する情報と、ストリーム
    データが格納されるメモリ領域のアドレスを特定する情
    報と、格納されるストリームデータのサイズを特定する
    情報とを含み、 前記データ転送システムは、さらに、 前記コマンドリスト生成手段から転送された第1コマン
    ドリストに基づいて、大規模記憶装置からメモリへ、サ
    イズの特定されたストリームデータをDMA転送する第
    1データ転送装置を備え、 前記コマンドリスト生成手段は、さらに、前記第1コマ
    ンドリストを前記第1データ転送装置に転送し、第2コ
    マンドリストを生成し、前記メモリに格納し、 前記第2コマンドリストは、ストリームデータが格納さ
    れるメモリ領域の先頭アドレスと、格納されるストリー
    ムデータのサイズと、次に選択されるポートを変更する
    か否かを示すコマンドとを含み、 前記データ転送システムは、さらに、 第2データ転送装置を備え、 前記第2データ転送装置は、 n個のポートに対して兼用され、n個のポートのうちの
    1個へ、次に、DMA転送されるストリームデータが格
    納されているメモリ領域の先頭アドレスを格納するアド
    レスカウンタと、 n個のポートに対して兼用され、前記アドレスカウンタ
    に格納された先頭アドレスが示すメモリ領域からn個の
    ポートのうちの1個へ、MA転送されるストリームデー
    タのサイズを格納するデータカウンタと、 1個のポートにそれぞれ1個が対応しており、それぞ
    れ、特定の第2コマンドリストが格納されているメモリ
    のアドレスを格納するn個のチェインアドレスカウンタ
    とを含み、 特定のチェインアドレスカウンタに格納されたアドレス
    が示す第2コマンドリストは、その第2コマンドリスト
    に含まれるメモリ領域の先頭アドレスが前記アドレスカ
    ウンタの内容と対応し、その第2コマンドリストに含ま
    れるストリームデータのサイズが前記データカウンタの
    内容と対応し、 前記第2データ転送装置は、さらに、 前記n個のポートから1個のポートを選択するポート選
    択手段と、 前記ポート選択手段により1個のポートが選択される度
    に、前記ポート選択手段により選択された1個のポート
    に対応するチェインアドレスカウンタに格納されたアド
    レスが示す第2コマンドリストを取得し、その第2コマ
    ンドリストに含まれるメモリ領域の先頭アドレスを前記
    アドレスカウンタに転送し、その第2コマンドリストに
    含まれるストリームデータのサイズを前記データカウン
    タに転送し、その第2コマンドリストに含まれるコマン
    ドを前記ポート選択手段へ渡し、また、前記チェインア
    ドレスカウンタに格納されたアドレスを、次のアドレス
    に更新するコマンドリスト転送手段と、 前記アドレスカウンタに格納された先頭アドレスが示す
    メモリ領域から前記ポート選択手段により選択された1
    個のポートへ、前記データカウンタに格納されたサイズ
    のストリームデータをDMA転送するストリームデータ
    転送手段とを含み、 前記ポート選択手段は、前記ストリームデータ転送手段
    によりDMA転送が終了した場合に、あらかじめ決めら
    れた順序と前記コマンドリスト転送手段に渡されたコマ
    ンドとに基づいて、次の順番のポートを新たに選択する
    か又は選択されているポートを再度選択し、 前記ストリームデータ転送手段は、前記コマンドリスト
    転送手段によりストリームデータのサイズが前記データ
    カウンタに転送される度に、前記アドレスカウンタに格
    納された先頭アドレスが示すメモリ領域から前記ポート
    選択手段により選択された1個のポートへ、前記データ
    カウンタに格納されたサイズのストリームデータをDM
    A転送し、 前記コマンドリスト生成手段は、さらに、前記第1デー
    タ転送装置によりサイズの特定されたストリームデータ
    がメモリへDMA転送されるのを待って、この第2コマ
    ンドリストのアドレスを、ストリームデータがDMA転
    送されるポートに対応するチェインアドレスカウンタに
    転送することを特徴とするデータ転送システム。
  16. 【請求項16】n個のポートから大規模記憶装置へ、ス
    トリームデータを、それぞれDMA転送するデータ転送
    システムであって、 nは2以上の整数であり、 ストリームデータが格納される領域が確保されている大
    規模記憶装置と、 ストリームデータが格納される領域が確保されているメ
    モリと、 第2コマンドリストを生成し、前記メモリに格納するコ
    マンドリスト生成手段とを備え、 前記第2コマンドリストは、ストリームデータが格納さ
    れるメモリ領域の先頭アドレスと、格納されるストリー
    ムデータのサイズと、次に選択されるポートを変更する
    か否かを示すコマンドとを含み、 前記データ転送システムは、さらに、 第2データ転送装置を備え、 前記第2データ転送装置は、 n個のポートに対して兼用され、n個のポートのうちの
    1個から、次に、ストリームデータがDMA転送される
    メモリ領域の先頭アドレスを格納するアドレスカウンタ
    と、 n個のポートに対して兼用され、n個のポートのうちの
    1個から前記アドレスカウンタに格納された先頭アドレ
    スが示すメモリ領域へ、DMA転送されるストリームデ
    ータのサイズを格納するデータカウンタと、 1個のポートにそれぞれ1個が対応しており、それぞ
    れ、特定の第2コマンドリストが格納されているメモリ
    のアドレスを格納するn個のチェインアドレスカウンタ
    とを含み、 特定のチェインアドレスカウンタに格納されたアドレス
    が示す第2コマンドリストは、その第2コマンドリスト
    に含まれるメモリ領域の先頭アドレスが前記アドレスカ
    ウンタの内容と対応し、その第2コマンドリストに含ま
    れるストリームデータのサイズが前記データカウンタの
    内容と対応し、 前記第2データ転送装置は、さらに、 前記n個のポートから1個のポートを選択するポート選
    択手段と、 前記ポート選択手段により1個のポートが選択される度
    に、前記ポート選択手段により選択された1個のポート
    に対応するチェインアドレスカウンタに格納されたアド
    レスが示す第2コマンドリストを取得し、その第2コマ
    ンドリストに含まれるメモリ領域の先頭アドレスを前記
    アドレスカウンタに転送し、その第2コマンドリストに
    含まれるストリームデータのサイズを前記データカウン
    タに転送し、その第2コマンドリストに含まれるコマン
    ドを前記ポート選択手段へ渡し、また、前記チェインア
    ドレスカウンタに格納されたアドレスを、次のアドレス
    に更新するコマンドリスト転送手段と、 前記ポート選択手段により選択された1個のポートから
    前記アドレスカウンタに格納された先頭アドレスが示す
    メモリ領域へ、前記データカウンタに格納されたサイズ
    のストリームデータをDMA転送するストリームデータ
    転送手段とを含み、 前記ポート選択手段は、前記ストリームデータ転送手段
    によりDMA転送が終了した場合に、あらかじめ決めら
    れた順序と前記コマンドリスト転送手段に渡されたコマ
    ンドとに基づいて、次の順番のポートを新たに選択する
    か又は選択されているポートを再度選択し、 前記ストリームデータ転送手段は、前記コマンドリスト
    転送手段によりストリームデータのサイズが前記データ
    カウンタに転送される度に、前記ポート選択手段により
    選択された1個のポートから前記アドレスカウンタに格
    納された先頭アドレスが示すメモリ領域へ、前記データ
    カウンタに格納されたサイズのストリームデータをDM
    A転送し、 前記コマンドリスト生成手段は、さらに、前記第2コマ
    ンドリストのアドレスを前記第2データ転送装置に転送
    し、第1コマンドリストを生成し、前記メモリに格納
    し、 前記第1コマンドリストは、前記大規模記憶装置に格納
    されたストリームデータを特定する情報と、ストリーム
    データが格納されるメモリ領域のアドレスを特定する情
    報と、格納されるストリームデータのサイズを特定する
    情報とを含み、 前記データ転送システムは、さらに、 前記コマンドリスト生成手段から転送された第1コマン
    ドリストに基づいて、メモリから大規模記憶装置へ、サ
    イズの特定されたストリームデータをDMA転送する第
    1データ転送装置を備え、 前記コマンドリスト生成手段は、さらに、前記第2デー
    タ転送装置によりサイズの特定されたストリームデータ
    がメモリへDMA転送されるのを待って、この第1コマ
    ンドリストを前記第1データ転送装置に転送することを
    特徴とするデータ転送システム。
JP28549797A 1996-10-18 1997-10-17 データ転送装置及びデータ転送システム Expired - Lifetime JP3484056B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28549797A JP3484056B2 (ja) 1996-10-18 1997-10-17 データ転送装置及びデータ転送システム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8-275774 1996-10-18
JP27577496 1996-10-18
JP28549797A JP3484056B2 (ja) 1996-10-18 1997-10-17 データ転送装置及びデータ転送システム

Publications (2)

Publication Number Publication Date
JPH10177541A JPH10177541A (ja) 1998-06-30
JP3484056B2 true JP3484056B2 (ja) 2004-01-06

Family

ID=26551614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28549797A Expired - Lifetime JP3484056B2 (ja) 1996-10-18 1997-10-17 データ転送装置及びデータ転送システム

Country Status (1)

Country Link
JP (1) JP3484056B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4340519B2 (ja) 2003-11-04 2009-10-07 富士通株式会社 情報処理端末
JP4641391B2 (ja) * 2004-06-08 2011-03-02 キヤノン株式会社 ダイレクトメモリアクセス装置及びその制御方法、データ処理装置
US7698473B2 (en) 2005-01-05 2010-04-13 Sony Computer Entertainment Inc. Methods and apparatus for list transfers using DMA transfers in a multi-processor system
JP5196293B2 (ja) * 2007-10-11 2013-05-15 ワイアイケー株式会社 半導体試験装置
JP5226341B2 (ja) 2008-02-27 2013-07-03 富士通株式会社 チャネル装置、情報処理システム、及びデータ転送方法
JP2009277040A (ja) * 2008-05-15 2009-11-26 Oki Joho Systems:Kk データ転送処理装置およびデータ転送処理方法
JP5254710B2 (ja) * 2008-09-01 2013-08-07 株式会社ソニー・コンピュータエンタテインメント データ転送装置、データ転送方法およびプロセッサ
JP5585171B2 (ja) * 2010-03-31 2014-09-10 富士通株式会社 ストレージ制御装置、ストレージシステム及びストレージ制御方法

Also Published As

Publication number Publication date
JPH10177541A (ja) 1998-06-30

Similar Documents

Publication Publication Date Title
US5928339A (en) DMA-transferring stream data apparatus between a memory and ports where a command list includes size and start address of data stored in the memory
KR0163234B1 (ko) 데이타 스트리밍 메카니즘, 스트리밍 장치 어댑터, 컴퓨터 시스템 및 데이타 처리 시스템
JP3271125B2 (ja) データを転送する方法と装置及びデータ転送をインタリーブする装置
US6061687A (en) Linked lists of transfer descriptors scheduled at intervals
JP3273202B2 (ja) 複数のデータチャネルを介してデータを転送する方法及びその回路アーキテクチャ
EP1093252A2 (en) Access control device for IEEE 1394 Bus
CZ290716B6 (cs) Počítačový systém s více médii
US5594878A (en) Bus interface structure and system for controlling the bus interface structure
JP3484056B2 (ja) データ転送装置及びデータ転送システム
US6047340A (en) Method for transmitting data, and apparatus for transmitting data and medium
JP4798849B2 (ja) グラフィックスエンジンマスターモード動作の改良
JP3780776B2 (ja) データ転送制御装置及び電子機器
JP4703074B2 (ja) 電子ネットワークにおけるコンテクストを切り換える装置及び方法
US5911152A (en) Computer system and method for storing data in a buffer which crosses page boundaries utilizing beginning and ending buffer pointers
JPH10307790A (ja) 高速プロセッサ
US20040162924A1 (en) Apparatus and method for transmitting data by means of direct memory access medium
JPS6145269B2 (ja)
JP3327900B2 (ja) データ処理装置
JP2001067306A (ja) バスインターフェース装置およびデータ転送装置
US5875299A (en) disk access apparatus for performing a stride processing of data
KR100327388B1 (ko) 디지털 방송의 메모리 제어 장치
JPH11331209A (ja) データ収集装置およびメモリコントローラ
KR101116613B1 (ko) 메모리 액세스 제어 장치 및 방법
JPS61256847A (ja) パケツト交換機
JPH0246967B2 (ja)

Legal Events

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

Free format text: PAYMENT UNTIL: 20071017

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081017

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091017

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091017

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101017

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111017

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121017

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131017

Year of fee payment: 10

EXPY Cancellation because of completion of term