JPH10177541A - Data transfer device and system therefor - Google Patents

Data transfer device and system therefor

Info

Publication number
JPH10177541A
JPH10177541A JP28549797A JP28549797A JPH10177541A JP H10177541 A JPH10177541 A JP H10177541A JP 28549797 A JP28549797 A JP 28549797A JP 28549797 A JP28549797 A JP 28549797A JP H10177541 A JPH10177541 A JP H10177541A
Authority
JP
Japan
Prior art keywords
port
data
command list
address
stream data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP28549797A
Other languages
Japanese (ja)
Other versions
JP3484056B2 (en
Inventor
Junji Nishikawa
順二 西川
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 Holdings Corp
Original Assignee
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP28549797A priority Critical patent/JP3484056B2/en
Publication of JPH10177541A publication Critical patent/JPH10177541A/en
Application granted granted Critical
Publication of JP3484056B2 publication Critical patent/JP3484056B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To arbitrate plural I/O ports with small capacity of hardware and to perform the transfer of data with high efficiency by using an address counter, a data counter and a stream data transfer means in common to plural ports. SOLUTION: An address counter 22a is used in common to (n) ports and stores the head address of a memory area to which the stream data are transferred with DMA. A data counter 22b stores the size of the stream data, and (n) chain address counters 22c store the addresses of a command list. In the command list shown by the addresses stored in the counters 22c, the head address and the data size are corresponding to the contents of the counters 22a and 22b respectively. Then a data transfer device performs the DMA transfer of stream data of the stored size between the port corresponding to a specific chain address counter and the memory area that is shown by the stored head address.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、複数のI/Oポー
ト(入出力ポート)を対象とするデータ転送の競合を調
停することができるデータ転送装置及びデータ転送シス
テムであって、特に複数のI/OポートとそのI/Oポ
ート毎に割当てられた記憶領域との間で、一定量毎に区
切られたストリームデータを、それぞれDMA(ダイレ
クト・メモリ・アクセス)転送するデータ転送装置及び
データ転送システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer apparatus and a data transfer system capable of arbitrating data transfer competition for a plurality of I / O ports (input / output ports). A data transfer device and a data transfer device for transferring, by DMA (Direct Memory Access), stream data partitioned by a certain amount between an I / O port and a storage area allocated to the I / O port, respectively. About the system.

【0002】[0002]

【従来の技術】ビデオデータ等の連続情報であるストリ
ームデータを、複数のユーザに対して入力及び出力する
データ転送システムは、特定されたユーザとのストリー
ムデータの転送要求に基づいて、ユーザ毎に特定された
ストリームデータを転送するデマンド型サービスを行
う。
2. Description of the Related Art A data transfer system for inputting and outputting stream data, which is continuous information such as video data, to a plurality of users is provided for each user based on a stream data transfer request with a specified user. Perform a demand-type service that transfers the specified stream data.

【0003】このようなデータ転送システムは、多くの
ストリームデータを格納するための、HDD(ハードデ
ィスクドライブ)や光ディスク装置等の大容量記憶装置
を有している。この大容量記憶装置に格納されているス
トリームデータの中から、ユーザ毎に特定されたストリ
ームデータが抽出され、チャネルを通じて各ユーザに転
送されたり、また、チャネルを通じて各ユーザから転送
されたストリームデータがこの大容量記憶装置に格納さ
れたりする。ここで、チャネルとは、各ユーザ毎に割り
当てられた、データを転送するためのI/Oポートをい
う。
[0003] Such a data transfer system has a large-capacity storage device such as an HDD (hard disk drive) or an optical disk device for storing a large amount of stream data. From the stream data stored in this mass storage device, stream data specified for each user is extracted and transferred to each user through a channel, or stream data transferred from each user through a channel is It is stored in this mass storage device. Here, the channel refers to an I / O port for transferring data, which is assigned to each user.

【0004】図22は、従来のデータ転送システムの概
略を示す図である。この装置は、CPU10、メモリ1
1、システムバス12、SCSIインターフェイス1
3、HDD14a、HDD14b、HDD14c、HD
D14d、ストリームインターフェイス50a,ストリ
ームインターフェイス50b、ストリームインターフェ
イス50c及びストリームインターフェイス50dから
構成される。なお、外部機器として、ビデオモニター1
6a、ビデオモニター16b、ビデオモニター16c及
びビデオカセットレコーダ17を同じ図上に示す。
FIG. 22 is a diagram schematically showing a conventional data transfer system. This device has a CPU 10, a memory 1
1, system bus 12, SCSI interface 1
3, HDD 14a, HDD 14b, HDD 14c, HD
D14d, a stream interface 50a, a stream interface 50b, a stream interface 50c, and a stream interface 50d. As an external device, a video monitor 1
6a, video monitor 16b, video monitor 16c and video cassette recorder 17 are shown on the same figure.

【0005】CPU10は、各ユーザとのストリームデ
ータの転送要求に基づいて、特定されたストリームデー
タを転送するために必要なコマンド等を作成してメモリ
11に記憶し、このコマンド等をメモリ11からSCS
Iインターフェイス13及びストリームインターフェイ
ス50a、ストリームインターフェイス50b、ストリ
ームインターフェイス50c又はストリームインターフ
ェイス50dへ転送する。
[0005] The CPU 10 creates a command or the like necessary for transferring the specified stream data based on the request for transferring the stream data with each user and stores the command or the like in the memory 11. SCS
The data is transferred to the I interface 13 and the stream interface 50a, 50b, 50c or 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のデータ転送
性能が可能である。
[0006] The memory 11 stores commands and the like created by the CPU 10, and temporarily stores stream data when stream data is transferred. The system bus 12 includes a CPU 10, a memory 11, an S
It is connected to the CSI interface 13, the stream interface 50a, the stream interface 50b, the stream interface 50c, and the stream interface 50d, and is used when transferring stream data or commands between the connected parts. The system bus 12 includes:
For example, PCI (Periph) which is a local bus standard
eral Component Intercone
ct) The bus is used. This PCI bus has a bus width of 32 bits or 64 bits and an operating frequency of 33M.
Hz. For example, when the bus width is 32 bits and the operating frequency is 33 MHz, a data transfer performance of 133 MB / s is possible.

【0007】SCSIインターフェイス13は、システ
ムバス12、HDD14a、HDD14b、HDD14
c及びHDD14dと接続されており、CPU10によ
りストリームデータを転送するために必要なコマンド等
を転送され、これに基づいてシステムバス12を介して
接続されたメモリ11と各HDDとの間でストリームデ
ータを転送する。
The SCSI interface 13 includes a system bus 12, HDD 14a, HDD 14b, HDD 14
c and the HDD 14d, and the CPU 10 transfers commands and the like necessary for transferring stream data. Based on the commands, the stream data is transferred between the memory 11 connected via the system bus 12 and each HDD. To transfer.

【0008】HDD14a、HDD14b、HDD14
c及びHDD14dは、ストリームデータを格納する。
ストリームインターフェイス50aは、システムバス1
2及びビデオモニター16aと接続されている。ストリ
ームインターフェイス50bは、システムバス12及び
ビデオモニター16bと接続されている。
HDD 14a, HDD 14b, HDD 14
c and the HDD 14d store stream data.
The stream interface 50a is connected to the system bus 1
2 and the video monitor 16a. The stream interface 50b is connected to the system bus 12 and the video monitor 16b.

【0009】ストリームインターフェイス50cは、シ
ステムバス12及びビデオモニター16cと接続されて
いる。ストリームインターフェイス50dは、システム
バス12及びビデオカセットレコーダ17と接続されて
いる。各ストリームインターフェイスは、CPU10に
よりストリームデータを転送するために必要なコマンド
等を転送され、これに基づいて、システムバス12を介
して接続されたメモリ11と各外部機器との間でストリ
ームデータを転送する。なお、各ストリームインターフ
ェイスと各外部機器との接続には、例えばシリアルデジ
タル伝送の規格であるIEEE1394が用いられる。
IEEE1394の規格では最大で100Mbps程度
の伝送が可能であるので、30Mbps程度の映像情報
であれば十分に余裕をもって伝送が可能である。
The stream interface 50c is connected to the system bus 12 and the video monitor 16c. The stream interface 50d is connected to the system bus 12 and the video cassette recorder 17. Each stream interface receives commands and the like necessary for transferring stream data by the CPU 10, and transfers stream data between the memory 11 connected via the system bus 12 and each external device based on the commands. I do. In addition, for connection between each stream interface and each external device, for example, IEEE1394 which is a standard of serial digital transmission is used.
In the IEEE 1394 standard, transmission of about 100 Mbps at the maximum is possible, so that video information of about 30 Mbps can be transmitted with a sufficient margin.

【0010】また、SCSIインターフェイス13と各
ストリームインターフェイスが実行するデータ転送に
は、一般にDMA転送が使用される。従来のDMA転送
の一例は、特開平5−151146号公報(DMA転送
方式)に開示されている。この従来技術では、次の転送
元のアドレスと転送するデータのバイト長をたどる手段
を設けることによって、複数のDMA転送をCPUから
一度起動するだけで実行することができる。このような
チェーン化されたDMA転送は、映像データ等のビット
レートが高くかつデータ量の大きいストリームデータ
を、連続的に転送するのに適している。
Further, DMA transfer is generally used for data transfer performed by the SCSI interface 13 and each stream interface. An example of the conventional DMA transfer is disclosed in Japanese Patent Application Laid-Open No. 5-151146 (DMA transfer method). In this conventional technique, a plurality of DMA transfers can be executed only once by the CPU once by providing a means for following the address of the next transfer source and the byte length of the data to be transferred. Such chained DMA transfer is suitable for continuously transferring stream data having a high bit rate and a large data amount such as video data.

【0011】また、仮想記憶方式で管理されているメモ
リと入出力装置との間のDMA転送については、例えば
実開平3−54058(DMA制御回路)に開示されて
いる。この従来技術では、チェーン化されたDMA転送
を実行することによって、仮想記憶方式で管理されてい
るメモリに記憶されたデータを、連続的に転送すること
ができる。
The DMA transfer between the memory and the input / output device managed by the virtual storage system is disclosed in, for example, Japanese Utility Model Laid-Open No. 3-54058 (DMA control circuit). In this conventional technique, by executing a chained DMA transfer, data stored in a memory managed by a virtual storage method can be continuously transferred.

【0012】さらにまた、複数の入出力装置とメモリと
の間のDMA転送については、例えば特開平6−250
965号公報(入出力制御装置)に開示されている。こ
の従来技術では、複数個のコマンド及びステータスを保
持することによって、処理効率を向上させている。さら
にまた、複数の入出力機器とDRAM(ダイナミックR
AMデバイス)により構成されるメモリとの間のDMA
転送については、例えば特開平5−334232号公報
(DMA転送制御装置)に開示されている。この従来技
術では、一回当たりのアクセス数をあらかじめ設定する
ことによって、入出力機器間の転送量の偏りをなくし、
且つDRAMが備えている高速アクセスモードによるメ
モリアクセスの頻度を高め、データ転送の効率を向上さ
せている。
Further, DMA transfer between a plurality of input / output devices and a memory is disclosed in, for example, Japanese Patent Laid-Open No. 6-250.
No. 965 (input / output control device). In this conventional technique, processing efficiency is improved by holding a plurality of commands and statuses. Furthermore, a plurality of input / output devices and a DRAM (Dynamic R)
DMA to a memory constituted by an AM device)
The transfer is disclosed in, for example, Japanese Patent Application Laid-Open No. 5-334232 (DMA transfer control device). In this prior art, by setting the number of accesses per one time in advance, the transfer amount between input / output devices is eliminated,
In addition, the frequency of memory access in the high-speed access mode of the DRAM is increased, and the efficiency of data transfer is improved.

【0013】このような従来のデータ転送システムのデ
ータ転送には、以下のような特徴がある。第1に、HD
Dとメモリ又はメモリとストリームインターフェイスと
の間のデータ転送は、連続して記憶されているストリー
ムデータを、ある程度まとまった大きさのブロック単位
で読み出している。こうすることによって、効率よくデ
ータを読み出すことができ、且つ読み出し毎に発生する
一回の処理当たりのデータ量を多くし、トータル的にデ
ータ転送レートを高くしている。したがって、システム
バスの占有時間を短くすることができ、システムバスを
有効に利用できる。ここで、データ転送レートとは、単
位時間当たりに転送するデータの量を示す値である。な
お、例えば、Fast Wide SCSI規格のイン
ターフェイスを持つHDDのデータ転送レートは20M
B/sである。
The data transfer of such a conventional data transfer system has the following features. First, HD
In data transfer between D and the memory or between the memory and the stream interface, continuously stored stream data is read out in block units each having a certain size. By doing so, data can be read efficiently, the amount of data per process generated for each read is increased, and the total data transfer rate is increased. Therefore, the occupation time of the system bus can be shortened, and the system bus can be used effectively. Here, the data transfer rate is a value indicating the amount of data transferred per unit time. For example, a data transfer rate of an HDD having an interface of the Fast Wide SCSI standard is 20 M
B / s.

【0014】第2に、1つのチャネルのデータ転送レー
トは、HDDとメモリ又はメモリとストリームインター
フェイスとの間のデータ転送レートよりも低い値であ
る。例えば、MPEG1の規格により圧縮された映像情
報のデータ転送レートは、1.5Mbps(=0.18
75MB/s)である。また、より高画質の圧縮された
映像情報であっても、そのデータ転送レートは30Mb
ps(=3.75MB/s)程度である。
Second, the data transfer rate of one channel is lower than the data transfer rate between the HDD and the memory or between the memory and the stream interface. For example, the data transfer rate of video information compressed according to the MPEG1 standard is 1.5 Mbps (= 0.18
75 MB / s). In addition, even if the compressed video information has a higher image quality, the data transfer rate is 30 Mb.
It is about ps (= 3.75 MB / s).

【0015】したがって、一台のデータ転送システムが
複数の映像情報を、同時に転送することができる。な
お、このような映像情報は、通常毎秒30フレームで構
成されており、フレーム単位で管理される。このような
フレームの区切りを示すため、フレームパルスが用いら
れる。
Therefore, one data transfer system can simultaneously transfer a plurality of pieces of video information. It should be noted that such video information is usually composed of 30 frames per second, and is managed in frame units. A frame pulse is used to indicate such a frame break.

【0016】しかしながら、上記従来技術によれば、各
I/Oポートについてのデータ転送相互間の調整がなさ
れないので、複数のI/Oポートに出力する各ストリー
ムデータのリアルタイム性を保証することができない。
特に、複数の映像情報を出力する場合に、映像情報が一
定時間以上途切れて映像が乱れるという問題がある。
However, according to the above-mentioned prior art, since there is no coordination between data transfer for each I / O port, it is possible to guarantee real-time performance of each stream data output to a plurality of I / O ports. Can not.
In particular, when outputting a plurality of pieces of video information, there is a problem that the video information is interrupted for a certain period of time and the video is disturbed.

【0017】[0017]

【発明が解決しようとする課題】そこで、本発明はかか
る問題点に鑑みてなされたものであり、複数のI/Oポ
ートに出力する各ストリームデータが一定時間以上途切
れないように複数のI/Oポートを調停し、データ転送
を効率よく行うことができるデータ転送装置及びデータ
転送システムを提供することを目的とする。
SUMMARY OF THE INVENTION Accordingly, the present invention has been made in view of such a problem, and a plurality of I / O ports are provided so that each stream data output to a plurality of I / O ports is not interrupted for a certain period of time. An object of the present invention is to provide a data transfer device and a data transfer system that can arbitrate an O port and perform data transfer efficiently.

【0018】[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転送する。
In order to achieve the above object, a data transfer device according to the present invention is a data transfer device that DMA-transfers stream data between n ports and a memory, respectively. n is an integer of 2 or more;
At least one set of command lists is stored in the memory in advance, and a memory area for storing stream data is secured, and the command list is stored as a head address of a memory area for storing stream data. N including the stream data size and a command indicating whether to change the port to be selected next,
An address counter for storing the start address of a memory area to which the stream data is DMA-transferred next to one of the n ports, which is also used for the n ports;
a data counter for storing the size of stream data to be DMA-transferred between the memory area indicated by the start address stored in the address counter and shared with the n ports and one of the n ports; An n number of chain address counters each of which corresponds to one port and stores an address of a memory in which a specific command list is stored, and an address stored in the specific chain address counter. In the command list, the head address of the memory area included in the command list corresponds to the content of the address counter, the size of the stream data included in the command list corresponds to the content of the data counter, and the data transfer device And a port for selecting one port from the n ports Selecting means, and each time one port is selected by the port selecting means, obtains a command list indicated by an address stored in a chain address counter corresponding to the one port selected by the port selecting means. The head address of the memory area included in the command list is transferred to the address counter, the size of the stream data included in the command list is transferred to the data counter, and the command included in the command list is passed to the port selection means. A command list transfer unit for updating an address stored in the chain address counter to a next address; and a memory area indicated by the one port selected by the port selection unit and a head address stored in the address counter. Between the data stored in the data counter Stream data transfer means for DMA-transferring the stream data of the stream, and the port selecting means determines a predetermined order and a command passed to the command list transfer means when the DMA transfer is completed by the stream data transfer means. The port in the next order is newly selected or the port selected just before is selected again based on the above, and the stream data transfer unit transfers the size of the stream data to the data counter by the command list transfer unit. Each time DMA transfer of the stream data of the size stored in the data counter is performed between one port selected by the port selection means and the memory area indicated by the head address stored in the address counter.

【0019】この構成によれば、複数のI/Oポートを
調停することができるので、複数のストリームデータを
効率よく転送することができる。また、複数の入出力装
置に対する転送を比較的少ないハードウエア量で実現す
ることができ、しかも拡張が容易である。さらに、この
複数のストリームデータは非同期であってもよく、非同
期な各ポートに均等にDMA転送を割り当てることも、
特定のポートに特定の割合でDMA転送を割り当てるこ
ともできる。
According to this configuration, since a plurality of I / O ports can be arbitrated, a plurality of stream data can be efficiently transferred. Further, transfer to a plurality of input / output devices can be realized with a relatively small amount of hardware, and expansion is easy. Further, the plurality of stream data may be asynchronous, and the DMA transfer may be equally assigned to each asynchronous port.
DMA transfers can also be assigned to specific ports at specific rates.

【0020】また、互いに他のポートの転送状態に影響
されずに、ストリームデータを転送できる。よって、シ
ステムバス上には各ポートのデータがバースト転送単位
で分散され、システム全体としてマルチポートマルチデ
バイスのデータ転送を効率よく実行できる。特に、2つ
のバッファ部でのバス変換機能により、ハードウエア量
を削減しつつ、システムバス上での総合的なデータ転送
をより効率よく行なうことができる。
Also, stream data can be transferred without being affected by the transfer status of the other ports. Therefore, the data of each port is distributed on the system bus in units of burst transfer, and the data transfer of the multi-port multi-device can be efficiently executed as the whole system. In particular, the bus conversion function of the two buffer units enables more efficient overall data transfer on the system bus while reducing the amount of hardware.

【0021】さらにまた、m倍速の入出力ポートにもポ
ート側のわずかな配線の追加で対応が可能であり、ソフ
トウエアをほとんど同じにすることができるので非常に
使い易いシステムとなる。
Furthermore, it is possible to cope with an input / output port of m-times speed by adding a small amount of wiring on the port side, and the software can be made almost the same, so that the system is very easy to use.

【0022】[0022]

【発明の実施の形態】BEST MODE FOR CARRYING OUT THE INVENTION

(実施の形態1) <全体の構成>図1は、本発明の実施例におけるデータ
転送システムの概略を示す図である。このシステムは、
ストリームインターフェイス50a,ストリームインタ
ーフェイス50b,ストリームインターフェイス50c
及びストリームインターフェイス50dに代えてマルチ
ストリームインターフェイス15を有する以外は、図2
2の従来のデータ転送システムと基本的に同じ構成であ
る。したがって共通部分の説明は省略し、マルチストリ
ームインターフェイス15を中心に説明する。
Embodiment 1 <Overall Configuration> FIG. 1 is a diagram schematically showing a data transfer system according to an embodiment of the present invention. This system is
Stream interface 50a, stream interface 50b, stream interface 50c
2 except that a multi-stream interface 15 is provided in place of the stream interface 50d.
2 has basically the same configuration as the conventional data transfer system. Therefore, the description of the common parts will be omitted, and the description will focus on the multi-stream interface 15.

【0023】また、ポート41a、ポート41b、ポー
ト41c及びポート41dは、各外部機器との接続部で
ある。ここでは、各ユーザへのストリームデータの転送
要求に基づいて、このシステムから外部機器へストリー
ムデータを転送する場合について説明する。HDD14
a、HDD14b、HDD14c又はHDD14dに
は、ストリームデータがあらかじめ格納されているもの
とする。
The port 41a, the port 41b, the port 41c, and the port 41d are connection parts with each external device. Here, a case will be described in which stream data is transferred from this system to an external device based on a stream data transfer request to each user. HDD14
a, stream data is stored in advance in the HDD 14b, the HDD 14c, or the HDD 14d.

【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へ転
送する。
The CPU 10 sends the specified stream data to the HDD 14a, HDD 14b,
DMA from HDD 14c or HDD 14d to memory 11
An HDD command for transfer is created, temporarily stored in the memory 11, transferred to the SCSI interface 13, and the stream data of one frame unit stored in the memory 11 is transferred from the memory 11 to the specified external device by the DMA.
An external device-specific command and a command list for transfer are created and stored in the memory 11. Further, the CPU 10
Is that one frame unit of stream data is transmitted by the SCSI interface 13 to the HDDs 14a, 14b,
DMA from HDD 14c or HDD 14d to memory 11
When transferred, the multi-stream interface 15
Then, the external device-specific command is transferred from the memory 11 to the multi-stream interface 15 after the preparation of the command is completed.

【0025】さらに、CPU10は、転送要求されたス
トリームデータが全フレーム転送されていない場合は、
上記動作を繰り返し実行し、SCSIインターフェイス
13により次の1フレーム単位のストリームデータがメ
モリ11にDMA転送される度に、マルチストリームイ
ンターフェイス15が1フレーム単位のストリームデー
タをメモリ11から特定された外部機器に対応する内部
バッファへDMA転送するための準備ができるのを待っ
て、次の1フレーム単位のストリームデータをDMA転
送するための外部機器別コマンドを、メモリ11からマ
ルチストリームインターフェイス15へ転送する。
Further, if the stream data requested to be transferred has not been transferred to all frames, the CPU 10
The above operation is repeatedly executed, and each time the next 1-frame unit of stream data is DMA-transferred to the memory 11 by the SCSI interface 13, the multi-stream interface 15 outputs the 1-frame unit of stream data to the external device specified from the memory 11. After the preparation for the DMA transfer to the internal buffer corresponding to the above is completed, the external device-specific command for the DMA transfer of the next stream data of one frame unit is transferred from the memory 11 to the multi-stream interface 15.

【0026】CPU10は、接続された外部機器毎に、
上記の動作を並列に実行する。なお、コマンドリスト及
びマルチストリームインターフェイス15の詳細構成は
後述する。なお、外部機器からこの装置へストリームデ
ータを転送する場合は、データ転送の方向及び手順が逆
になるだけで容易に実現される。
The CPU 10 provides, for each connected external device,
Perform the above operations in parallel. The detailed configuration of the command list and the multi-stream interface 15 will be described later. Note that the transfer of stream data from an external device to this device is easily realized only by reversing the data transfer direction and procedure.

【0027】<メモリ11内に確保されたバッファ領域
の詳細構成>図2は、ストリームデータが一次的に格納
される、メモリ11内に確保されたバッファ領域を示す
図である。ストリームデータA61a、ストリームデー
タB61b及びストリームデータC61cは、DMA転
送されたストリームデータを示す。なお、全ストリーム
データは、メモリ11に転送される前は連続していたも
のとする。
<Detailed Configuration of Buffer Area Secured in Memory 11> FIG. 2 is a diagram showing a buffer area secured in the memory 11 in which stream data is temporarily stored. The stream data A61a, the stream data B61b, and the stream data C61c indicate stream data that has been DMA-transferred. Note that all stream data is assumed to be continuous before being transferred to the memory 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)である。
A start address A62a, a start address B62b, and a start address C62c indicate a start address of each stream data. Data size A
63a, data size B63b and data size C63
c indicates the size of each stream data. here,
OS of multitask multiuser such as UNIX as OS
It is assumed that S is used. Normally, under the management of such an OS, the memory 11 is virtual storage managed in page units,
The size of one page is 4 KB, and the storage area is a discrete area divided every 4 KB. In the case of a byte address, the lower 12 bits of the start address have the value 0, and the upper 20 bits represent the page address.
When the entire page is used, the data size is 4096 bytes (all 12 bits have a value of 1).

【0029】<コマンドリストの詳細構成>図3は、メ
モリ11に格納されるコマンドリストの構成を示す図で
ある。ここで、コマンドリストはリスト形式でメモリ上
に置かれる。なお、図3に示すようにコマンドリストが
順番に複数個並んでいるものをチェインリストという。
<Detailed Configuration of Command List> FIG. 3 is a diagram showing a configuration of a command list stored in the memory 11. Here, the command list is stored in the memory in a list format. A command list in which a plurality of command lists are arranged in order as shown in FIG. 3 is called a chain list.

【0030】ここで、コマンドリストA64aは、スタ
ートアドレスA65a、データサイズA67a及びDM
AコマンドビットA66aを含み、同様に、コマンドリ
ストB64bは、スタートアドレスB65b、データサ
イズB67b及びDMAコマンドビットB66bを含
み、コマンドリストC64cは、スタートアドレスC6
5c、データサイズC67c及びDMAコマンドビット
C66cを含む。
Here, the command list A64a includes a start address A65a, a data size A67a, and a DM address.
A command bit A66a, the command list B64b similarly includes a start address B65b, a data size B67b, and a DMA command bit B66b, and the command list C64c includes a start address C6.
5c, a data size C67c and a DMA command bit C66c.

【0031】スタートアドレスA65a、スタートアド
レスB65b及びスタートアドレスC65cは、ストリ
ームデータがDMA転送される、メモリ11内に確保さ
れたバッファ領域のスタートアドレスを示す。データサ
イズA67a、データサイズB67b及びデータサイズ
C67cは、DMA転送されるストリームデータのサイ
ズを示す。
The start address A65a, start address B65b, and start address C65c indicate the start address of the buffer area secured in the memory 11 to which the stream data is DMA-transferred. The data size A67a, the data size B67b, and the data size C67c indicate the size of stream data to be DMA-transferred.

【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種類の操作を示す。
DMA command bit A66a, DMA command bit B66b and DMA command bit C66
c indicates the next DMA transfer operation. FIG. 4 shows the contents of the DMA command bit. Here, the DMA command bits are the same port (same-port) 66d and the port switching (c
change-port 66e, end-of-chain 66f, and wait-for-frame-pulse.
4 illustrates four operations of 66 g.

【0033】同一ポート66dは、対応するポートに対
するDMA転送の終了後にもう1度、同じポートに対し
てDMA転送することを示す。ポートの切り替え66e
は、対応するポートに対するDMA転送の終了後に、違
うポートに対してDMA転送するか否かを判断すること
を示す。チェインリストの終了66fは、チェインリス
トが終了したことを示す。
The same port 66d indicates that another DMA transfer to the same port is performed after the completion of the DMA transfer to the corresponding port. Port switching 66e
Indicates that after completion of the DMA transfer to the corresponding port, it is determined whether or not to perform the DMA transfer to a different port. The end 66f of the chain list indicates that the chain list has ended.

【0034】フレームパルス待ち66gは、対応するポ
ートに対するDMA転送の終了後に、違うポートに対し
てDMA転送するか否かを判断することと、さらに、同
じポートがフレームパルスを受信するまで、このポート
に対してDMA転送しないことを示す。コマンドリスト
アドレスA68a、コマンドリストアドレスB68b及
びコマンドリストアドレスC68cは、それぞれコマン
ドリストA64a、コマンドリストB64b及びコマン
ドリストC64cのスタートアドレスを示す。
The frame pulse wait 66g determines whether or not to perform a DMA transfer to a different port after the completion of the DMA transfer to the corresponding port, and further determines whether the same port receives a frame pulse until the same port receives a frame pulse. Indicates that no DMA transfer is performed. The command list address A68a, the command list address B68b, and the command list address C68c indicate the start addresses of the command list A64a, the command list B64b, and the command list C64c, respectively.

【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(ビデオカセットレコーダ)等が接続され
る。
<Multi Stream Interface 15
FIG. 5 is a diagram showing a detailed configuration of the multi-stream interface 15. The multi-stream interface 15 is provided for the DMA controller 2
0, BFIFO 23, buffer controller 30, buffer 33a, buffer 33b, buffer 33c, buffer 33d, I / O controller 40a, I / O controller 40b, I / O controller 40c, and I / O controller 40d. Where 4 x port 4
2 is a port, not shown in FIG. 1, to which stream data is transferred at a speed four times faster than the other ports.
A VCR (Video Cassette Recorder) or the like to which stream data is transferred at 4 times speed compared with other external devices is connected.

【0036】なお、システムバス12、ポート41a、
ポート41b、ポート41c及び4×ポート42を同じ
図上に示す。ここで、ポート41a、ポート41b、ポ
ート41c及び4×ポート42からは、フレームパルス
が出力されるものとする。また、×nmode43、F
P44a、FP44b、FP44c及びFP44dは制
御線である。
The system bus 12, port 41a,
Port 41b, port 41c and 4 × port 42 are shown on the same drawing. Here, it is assumed that the port 41a, the port 41b, the port 41c, and the 4 × port 42 output a frame pulse. Also, xnmode43, F
P44a, FP44b, FP44c and FP44d are control lines.

【0037】なお、図5では、上記以外の制御線等は一
部省略している。DMAコントローラ20は、システム
バス12へのメモリアクセスの制御等を行なうバスコン
トローラ21とDMAに必要な情報を保持するDMAレ
ジスタ22とを含む。BFIFO23は、双方向のFI
FOメモリ(先入先出メモリ)であり、DMAコントロ
ーラ20とバッファコントローラ30との間で、データ
転送のバッファリングを行う。
In FIG. 5, control lines and the like other than those described above are partially omitted. The DMA controller 20 includes a bus controller 21 for controlling memory access to the system bus 12 and the like, and a DMA register 22 for holding information necessary for DMA. BFIFO 23 is a bidirectional FI
An FO memory (first-in first-out memory) for buffering data transfer between the DMA controller 20 and the buffer controller 30.

【0038】バッファコントローラ30は、BFIFO
23とバッファ33a,バッファ33b,バッファ33
c,バッファ33dとの間でデータ転送を行う。さら
に、バッファコントローラ30は、BFIFO23とバ
ッファ33a,バッファ33b,バッファ33c,バッ
ファ33dとのデータの転送を制御するバッファインタ
ーフェイス31と、バッファ間のデータ転送に必要な情
報を保持するバッファレジスタ32を含む。
The buffer controller 30 has a BFIFO
23, buffer 33a, buffer 33b, buffer 33
c, and data transfer is performed with the buffer 33d. Further, the buffer controller 30 includes a buffer interface 31 that controls data transfer between the BFIFO 23 and the buffers 33a, 33b, 33c, and 33d, and a buffer register 32 that holds information necessary for data transfer between the buffers. .

【0039】バッファ33a,バッファ33b,バッフ
ァ33c及びバッファ33dは、例えばフィールドメモ
リであり、バッファコントローラ30と各I/Oコント
ローラとの間で、データ転送のバッファリングを行う。
バッファ33a,バッファ33b,バッファ33c,バ
ッファ33dの各ポート側には、それぞれI/Oコント
ローラ40a,I/Oコントローラ40b,I/Oコン
トローラ40c,I/Oコントローラ40dが接続され
る。
The buffers 33a, 33b, 33c, and 33d are, for example, field memories, and buffer data transfer between the buffer controller 30 and each I / O controller.
The I / O controller 40a, the I / O controller 40b, the I / O controller 40c, and the I / O controller 40d are connected to the ports of the buffers 33a, 33b, 33c, and 33d, respectively.

【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とのデータ転送を行
う。
The I / O controller 40a has a buffer 3
Data transfer between 3a and port 41a or 4 × port 42 is performed, and similarly, I / O controller 40b performs data transfer between buffer 33b and port 41b or 4 × port 42, and I / O controller 40c Buffer 3
3c and data transfer between the port 41c or the 4 × port 42, and the I / O controller 40d
And data transfer between the port 41d and the 4 × port 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へ伝達するための制御線である。
The × nmode 43 is a control line for the buffer controller 30 to select the I / O controller 40a, I / O controller 40b, I / O controller 40c or I / O controller 40d. FP44
a is a control line for transmitting the frame pulse received by the I / O controller 40a from the port 41a to the DMA controller 20, and similarly, the FP 44b
The I / O controller 40b is a control line for transmitting the frame pulse received from the port 41b to the DMA controller 20, and the FP 44c transmits the frame pulse received from the port 41c by the I / O controller 40c.
The FP 44d is a control line for transmitting the frame pulse received from the port 41d by the I / O controller 40d to the DMA controller 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から
構成される。
<Detailed Configuration of DMA Register 22> FIG.
FIG. 6A is a diagram showing a detailed configuration of a DMA register 22 included in the DMA controller 20 shown in FIG.
This register group includes DMA address counters 22a, D
MA data counter 22b, chain address counter 22c, chain address counter 22d, chain address counter 22e, chain address counter 22
f, a control register 22g, a control register 22h, a control register 22i, a control register 22j, and a port number register 22k.

【0043】ここで、図1に示すメモリ11には、1個
以上のコマンドリストがあらかじめ格納されており、ま
た、ストリームデータが格納されるメモリ領域が確保さ
れているものとする。DMAアドレスカウンタ22a
は、4個のポートのうちの1個との間で、次に、ストリ
ームデータがDMA転送されるメモリ領域のスタートア
ドレスを格納する。
Here, it is assumed that one or more command lists are stored in the memory 11 shown in FIG. 1 in advance, and a memory area for storing stream data is secured. DMA address counter 22a
Stores the start address of the memory area where the stream data is DMA-transferred next to one of the four ports.

【0044】DMAデータカウンタ22bは、DMAア
ドレスカウンタ22aに格納されたスタートアドレスが
示すメモリ領域と4個のポートのうちの1個との間で、
DMA転送されるストリームデータのサイズを格納す
る。チェインアドレスカウンタ22c、チェインアドレ
スカウンタ22d、チェインアドレスカウンタ22e及
びチェインアドレスカウンタ22fは、1個のポートに
それぞれ1個が対応しており、それぞれ、特定のコマン
ドリストが格納されているメモリのアドレスを格納す
る。
The DMA data counter 22b operates between the memory area indicated by the start address stored in the DMA address counter 22a and one of the four ports.
Stores the size of stream data to be DMA-transferred. The chain address counter 22c, the chain address counter 22d, the chain address counter 22e, and the chain address counter 22f each correspond to one port, and each address of a memory in which a specific command list is stored. Store.

【0045】ここで、特定のチェインアドレスカウンタ
に格納されたアドレスが示すコマンドリストは、そのコ
マンドリストに含まれるメモリ領域の先頭アドレスが前
記アドレスカウンタの内容と対応し、そのコマンドリス
トに含まれるストリームデータのサイズが前記データカ
ウンタの内容と対応する。コントロールレジスタ22
g、コントロールレジスタ22h、コントロールレジス
タ22i及びコントロールレジスタ22jは、1個のポ
ートにそれぞれ1個が対応しており、各ポート毎のDM
A転送の状態を示す。ここでは、コントロールレジスタ
22g、コントロールレジスタ22h、コントロールレ
ジスタ22i及びコントロールレジスタ22jは、それ
ぞれポート41a、ポート41b、ポート41c及びポ
ート41dが対応しているものとする。
Here, in the command list indicated by the address stored in the specific chain address counter, the start address of the memory area included in the command list corresponds to the contents of the address counter, and the stream included in the command list is included. The size of the data corresponds to the contents of the data counter. Control register 22
g, one control register 22h, one control register 22i, and one control register 22j correspond to one port.
Indicates the state of A transfer. Here, it is assumed that the control register 22g, the control register 22h, the control register 22i, and the control register 22j correspond to the port 41a, the port 41b, the port 41c, and the port 41d, respectively.

【0046】図6(b)は、コントロールレジスタ22
gの内部のビットフィールドの構成を示した図である。
なお、コントロールレジスタ22h、コントロールレジ
スタ22i及びコントロールレジスタ22jは、コント
ロールレジスタ22gと基本的に同じ構成であるのでそ
の説明を省略する。コントロールレジスタ22gは、R
UN22l、DONE22m、IO22n及びFP22
oから構成される。
FIG. 6B shows the control register 22.
FIG. 6 is a diagram showing a configuration of a bit field inside g.
Note that the control register 22h, the control register 22i, and the control register 22j have basically the same configuration as the control register 22g, and a description thereof will be omitted. The control register 22g stores R
UN221, DONE22m, IO22n and 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転送が終了していないことを示すこととする。
RUN 22l indicates whether or not to start DMA transfer to the corresponding port 41a. CPU10
Is set directly when DMA transfer is started for the corresponding port 41a. Here, “1” indicates activation, and “0” indicates non-activation. DONE 22m indicates whether or not the DMA transfer to the corresponding port 41a has been completed. The DMA command bit included in the command list read during the DMA transfer to the corresponding port 41a is set when the chain list ends 66f, and one DMA transfer to the corresponding port 41a is completed. Are reset when the CPU 10 starts the DMA transfer. Here, the port 41a corresponding to “1”
Indicates that the DMA transfer to the
This indicates that the MA transfer has not been completed.

【0048】IO22nは、対応するポート41aに対
するDMA転送の方向を示す。ここでは「0」がポート
41aへストリームデータを出力することを示し、
「1」がポート41aからストリームデータを入力する
ことを示すこととする。FP22oは、対応するポート
41aからフレームパルスを受信したか否かを示す。な
お、FP22oは、対応するポート41aに対するDM
A転送の際に読み出されたコマンドリストに含まれるD
MAコマンドビットが、フレームパルス待ち66gの場
合にはリセットされ、対応するポート41aからフレー
ムパルスを受信するとセットされる。ここでは、「0」
がフレームパルス待ち状態を示し、「1」が転送待ち状
態を示すこととする。
IO 22n indicates the direction of the DMA transfer to the corresponding port 41a. Here, "0" indicates that the stream data is output to the port 41a,
"1" indicates that stream data is input from the port 41a. The FP 22o indicates whether a frame pulse has been received from the corresponding port 41a. Note that the FP 22o transmits the DM to the corresponding port 41a.
A included in the command list read at the time of A transfer
The MA command bit is reset when the frame pulse wait 66g is set, and is set when a frame pulse is received from the corresponding port 41a. Here, "0"
Indicates a frame pulse waiting state, and "1" indicates a transfer waiting state.

【0049】ポートナンバーレジスタ22kは、ストリ
ームデータがDMA転送されるポートの番号を格納す
る。 <バスコントローラ21の詳細構成>図7は、図5に示
したDMAコントローラ20に含まれるバスコントロー
ラ21の詳細な構成を示す図である。
The port number register 22k stores the number of the port to which the stream data is DMA-transferred. <Detailed Configuration of Bus Controller 21> FIG. 7 is a diagram showing a detailed configuration of the bus controller 21 included in the DMA controller 20 shown in FIG.

【0050】バスコントローラ21は、フレームパルス
受信部21a、ポート選択部21b、コマンドリスト転
送部21c、ストリームデータ転送部21d及びバッフ
ァコマンド生成部21eから構成される。フレームパル
ス受信部21aは、ポート毎にフレームパルスを受信
し、フレームパルスを受信したポートに対応するFPを
セットする。
The bus controller 21 comprises a frame pulse receiving section 21a, a port selecting section 21b, a command list transferring section 21c, a stream data transferring section 21d, and a buffer command generating section 21e. The frame pulse receiving unit 21a receives a frame pulse for each port, and sets an FP corresponding to the port that has received the frame pulse.

【0051】ポート選択部21bは、コマンドリスト転
送部21cから渡されたDMAコマンドビットに基づい
て、選択されているポートに対応するFPをクリアする
か又は何もせず、また、あらかじめ決められた順序とコ
マンドリスト転送部21cに渡されたDMAコマンドビ
ットとに基づいて、対応するRUNとFPとがセットさ
れDONEがセットされてないポートの中から、次の順
番のポートを新たに選択するか又は直前に選択したポー
トを再度選択する。
The port selection unit 21b clears or does not perform any FP corresponding to the selected port based on the DMA command bit passed from the command list transfer unit 21c, Based on the DMA command bit passed to the command list transfer unit 21c and the corresponding RUN and FP are set and DONE is not set, a port in the next order is newly selected, or Re-select the previously selected port.

【0052】コマンドリスト転送部21cは、ポート選
択部21bにより1個のポートが選択される度に、選択
された1個のポートに対応するチェインアドレスカウン
タに格納されたスタートアドレスが示すコマンドリスト
を取得し、そのコマンドリストに含まれるDMAコマン
ドビットをポート選択部21bに渡し、そのコマンドリ
ストに含まれるメモリ領域のスタートアドレスをDMA
アドレスカウンタ22aに転送し、そのコマンドリスト
に含まれるストリームデータのサイズをDMAデータカ
ウンタ22bに転送し、また、対応するチェインアドレ
スカウンタに格納されたスタートアドレスを、次のスタ
ートアドレスに更新する。
Each time one port is selected by the port selection unit 21b, the command list transfer unit 21c transfers the command list indicated by the start address stored in the chain address counter corresponding to the selected one port. And transfers the DMA command bit included in the command list to the port selection unit 21b, and sets the start address of the memory area included in the command list to the DMA
The data is transferred to the address counter 22a, the size of the stream data included in the command list is transferred to the DMA data counter 22b, and the start address stored in the corresponding chain address counter is updated to the next start address.

【0053】ストリームデータ転送部21dは、コマン
ドリスト転送部21cによりストリームデータのサイズ
がDMAデータカウンタ22bに転送される度に、ポー
ト選択部21bにより選択された1個のポートとDMA
アドレスカウンタ22aに格納されたスタートアドレス
が示すメモリ領域との間で、前記DMAデータカウンタ
22bに格納されたサイズのストリームデータをDMA
転送する。
Each time the stream size of the stream data is transferred to the DMA data counter 22b by the command list transfer unit 21c, the stream data transfer unit 21d sets one of the ports selected by the port selection unit 21b and the DMA.
The stream data of the size stored in the DMA data counter 22b is transferred to the memory area indicated by the start address stored in the address counter 22a.
Forward.

【0054】バッファコマンド生成部21eは、ポート
選択部21bにより1個のポートが選択される度に、選
択されたポートとBFIFO23のメモリ容量とDMA
データカウンタ22b格納されたストリームデータのサ
イズとに基づいて、選択するバッファ及び転送するデー
タ長に関する情報を含むバッファコマンドを生成し、バ
ッファコントローラ30へ送信する。
Each time one port is selected by the port selection unit 21b, the buffer command generation unit 21e sets the selected port, the memory capacity of the BFIFO 23, and the DMA
Based on the size of the stream data stored in the data counter 22b, a buffer command including information on the buffer to be selected and the data length to be transferred is generated and transmitted to the buffer controller 30.

【0055】図8は、バッファコマンド生成部により生
成されるバッファコマンド22pの内部のビットフィー
ルドの構成を示した図である。バッファコマンド22p
は、MODE22q及びデータ長22rから構成され
る。MODE22qは、ストリームデータを転送するバ
ッファの識別情報とデータ転送の方向を示す。
FIG. 8 is a diagram showing a configuration of an internal bit field of the buffer command 22p generated by the buffer command generator. Buffer command 22p
Is composed of a MODE 22q and a data length 22r. MODE 22q indicates the identification information of the buffer that transfers the stream data and the direction of the data transfer.

【0056】データ長22rは、転送するデータの長さ
を示す。 <BFIFO23の詳細構成>図9は、図5に示したB
FIFO23の詳細な構成を示す図である。BFIFO
23は、FIFO25a、FIFO25b、データI/
Oポート24a及びデータI/Oポート24bから構成
される。
The data length 22r indicates the length of data to be transferred. <Detailed Configuration of BFIFO 23> FIG.
FIG. 3 is a diagram illustrating a detailed configuration of a FIFO 23. BFIFO
23 is a FIFO 25a, FIFO 25b, data I /
It comprises an O port 24a and a data I / O port 24b.

【0057】なお、EmptyフラグEA26a、Em
ptyフラグEB26b、FullフラグFA26c、
FullフラグFB26d,FDA26e及びFDB2
6fを図上に示す。FIFO25aは、DMAコントロ
ーラ20からバッファコントローラ30へのデータ転送
に使用される。
The Empty flags EA26a, Em26
pty flag EB26b, Full flag FA26c,
Full flags FB26d, FDA26e and FDB2
6f is shown on the figure. The FIFO 25a is used for data transfer from the DMA controller 20 to the buffer controller 30.

【0058】FIFO25bは、バッファコントローラ
30からDMAコントローラ20へのデータ転送に使用
される。データI/Oポート24aは、DMAコントロ
ーラ20と接続するFIFOを選択する。データI/O
ポート24bは、バッファコントローラ30と接続する
FIFOを選択する。
The FIFO 25b is used for data transfer from the buffer controller 30 to the DMA controller 20. The data I / O port 24a selects a FIFO to be connected to the DMA controller 20. Data I / O
The port 24b selects a FIFO connected to the buffer controller 30.

【0059】EmptyフラグEA26a及びEmpt
yフラグEB26bは、接続されるFIFOに格納され
たデータが空であることを示す。FullフラグFA2
6c及びFullフラグFB26dは、接続されるFI
FOに格納されたデータが満杯であることを示す。FD
A26eは、DMAコントローラ20と接続するバスで
ある。
Empty flag EA26a and Empty
The y flag EB26b indicates that the data stored in the connected FIFO is empty. Full flag FA2
6c and the Full flag FB26d are connected FI
Indicates that the data stored in the FO is full. FD
A26e is a bus connected to the DMA controller 20.

【0060】FDB26fは、バッファコントローラ3
0と接続するバスである。FIFOメモリは、そのメモ
リ領域の全てについて完全な非同期入出力ができる。こ
のように、BFIFO23は、このFIFOメモリを双
方向に備えることにより、データ転送の方向を意識する
ことなく、DMAコントローラ20とバッファコントロ
ーラ30との間の、データ転送のバッファリングを行う
ことができる。
The FDB 26f is a buffer controller 3
This is a bus connected to 0. The FIFO memory is capable of completely asynchronous input / output for all of its memory areas. As described above, the BFIFO 23 can buffer the data transfer between the DMA controller 20 and the buffer controller 30 without being aware of the direction of the data transfer by providing the FIFO memory in both directions. .

【0061】なお、BFIFO23を構成するFIFO
25a及びFIFO25bのメモリ容量は、DMAコン
トローラ20とメモリ11との間の、バースト転送(連
続データ転送)の1回分に対応する程度の量で十分であ
る。ここでは、FIFO25a及びFIFO25bのメ
モリ容量は、それぞれ1ワードを32ビットとして、3
2ワード分である。
The FIFO constituting the BFIFO 23
The memory capacity of the FIFO memory 25a and the FIFO 25b is sufficient to correspond to one burst transfer (continuous data transfer) between the DMA controller 20 and the memory 11. Here, the memory capacity of each of the FIFO 25a and the FIFO 25b is 3 bits, each word being 32 bits.
Two words.

【0062】<バッファインターフェイス31の詳細構
成>図10は、図5に示すバッファインターフェイス3
1の詳細な構成を示す図である。ここでは、BFIFO
23からバッファ33a、バッファ33b、バッファ3
3c又はバッファ33dへ、ストリームデータを転送す
る場合のみ説明する。
<Detailed Configuration of Buffer Interface 31> FIG. 10 shows the buffer interface 3 shown in FIG.
1 is a diagram showing a detailed configuration of FIG. Here, BFIFO
23 to buffer 33a, buffer 33b, buffer 3
Only the case where stream data is transferred to 3c or the buffer 33d will be described.

【0063】バッファインターフェイス31は、ラッチ
35a、ラッチ35b、ラッチ35c、ラッチ35d及
びバス幅変換部(BUS−width−convert
er)36から構成される。なお、バッファ33a、バ
ッファ33b、バッファ33c、バッファ33d及びバ
ッファレジスタ32を同じ図上に示す。
The buffer interface 31 includes a latch 35a, a latch 35b, a latch 35c, a latch 35d, and a bus width converter (BUS-width-convert).
er) 36. The buffers 33a, 33b, 33c, 33d and the buffer register 32 are shown on the same drawing.

【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
ビットに変換する。
The latch 35a, the latch 35b, and the latch 35
c and the latch 35d temporarily hold 8-bit data. Here, BF is transmitted via a 32-bit bus FDB.
The data transferred from the IFO 23 is divided into four parts of eight bits each and temporarily latched. Bus width converter 36
Selects a buffer and converts the bus width from 32 bits to 8 bits. Here, for example, by selecting the buffer 33a and sequentially transferring the four 8-bit data latched by the latches 35a, 35b, 35c and 35d, the bus width is changed from 32 bits to 8 bits.
Convert to bits.

【0065】なお、選択するバッファ及び転送するデー
タの長さに関する情報を含むバッファコマンドは、デー
タ転送の前にDMAコントローラ20からバッファコン
トローラ30に送信され、これに基づいて、バス幅変換
部36がストリームデータを転送する。また、転送先の
バッファの選択は、必ずしも32ビット単位でなくても
よく、各ラッチにラッチされた8ビットデータの単位で
もよい。
A buffer command including information on the buffer to be selected and the length of data to be transferred is transmitted from the DMA controller 20 to the buffer controller 30 before data transfer, and the bus width converter 36 is based on the buffer command. Transfer stream data. Further, the selection of the transfer destination buffer is not necessarily performed in units of 32 bits, but may be performed in units of 8-bit data latched by each latch.

【0066】さらに、バッファ33a、バッファ33
b、バッファ33c又はバッファ33dからBFIFO
23へストリームデータを転送する場合は、データ転送
の方向及び手順が逆になるだけで容易に実現されるの
で、その説明を省略する。 <バッファレジスタ32の詳細構成>図11は、図5に
示したバッファレジスタ32の詳細な構成を示す図であ
る。
Further, the buffer 33a, the buffer 33
b, BFIFO from buffer 33c or buffer 33d
The transfer of stream data to 23 is easily realized by simply reversing the direction and procedure of data transfer, and a description thereof will be omitted. <Detailed Configuration of Buffer Register 32> FIG. 11 shows a detailed configuration of the buffer register 32 shown in FIG.

【0067】このレジスタ群は、ポートナンバーレジス
タ32a、4×mode32b、in/out32c、
in/out32d、in/out32e、in/ou
t32f及びデータ長32gから構成される。ポートナ
ンバーレジスタ32aは、ストリームデータがバス幅変
換されるポートの番号を格納する。
The register group includes port number registers 32a, 4 × mode 32b, in / out 32c,
in / out32d, in / out32e, in / ou
It is composed of t32f and data length 32g. The port number register 32a stores the number of the port whose stream data is subjected to bus width conversion.

【0068】4×mode32bは、4倍速モードのバ
ス幅変換時にのみセットされる。in/out32c
は、バッファ33aに対するデータ転送の方向を示し、
同様に、in/out32dは、バッファ33bに対す
るデータ転送の方向を示し、in/out32eは、バ
ッファ33cに対するデータ転送の方向を示し、in/
out32fは、バッファ33dに対するデータ転送の
方向を示す。
The 4 × mode 32b is set only at the time of bus width conversion in the quadruple speed mode. in / out32c
Indicates the direction of data transfer to the buffer 33a,
Similarly, in / out 32d indicates the direction of data transfer to the buffer 33b, in / out 32e indicates the direction of data transfer to the buffer 33c, and in / out 32e
out32f indicates the direction of data transfer to the buffer 33d.

【0069】データ長32gは、バス幅変換されるスト
リームデータのデータ長を格納する。なお、これらの各
レジスタは、図8に示すバッファコマンド22pにより
設定される。 <バッファ33a、バッファ33b、バッファ33c及
びバッファ33dの詳細構成>図12は、図5に示すバ
ッファ33aの詳細な構成を示す図である。なお、バッ
ファ33b、バッファ33c及びバッファ33dは、バ
ッファ33aと基本的に同じ構成であるのでその説明を
省略する。
[0069] The data length 32g stores the data length of stream data to be subjected to bus width conversion. Each of these registers is set by the buffer command 22p shown in FIG. <Detailed Configuration of Buffer 33a, Buffer 33b, Buffer 33c, and Buffer 33d> FIG. 12 is a diagram showing a detailed configuration of the buffer 33a shown in FIG. The buffer 33b, the buffer 33c, and the buffer 33d have basically the same configuration as the buffer 33a, and a description thereof will be omitted.

【0070】ここでは、フィールドメモリ(Field
−memory)34aを使った例を示す。なお、書き
込み用のデータバスであるWD34b、読み出し用のデ
ータバスであるRD34c、書き込みリセットであるW
RST34d、書き込みクロックであるWCLK34
e、読み出しリセットであるRRST34f、読み出し
クロックであるRCLK34g、BOA34h、BOB
34i、書き込みバスを切り替えるゲート34j、読み
出しバスを切り替えるゲート34kを図上に示す。
Here, the field memory (Field)
-Memory) 34a is used. Note that WD34b is a data bus for writing, RD34c is a data bus for reading, and W is a data reset for writing.
RST34d, WCLK34 which is a write clock
e, read reset RRST 34f, read clock RCLK 34g, BOA 34h, BOB
34i, a gate 34j for switching the write bus, and a gate 34k for switching the read bus are shown in the figure.

【0071】フィールドメモリは、ほぼFIFOメモリ
のような先入れ先出し動作ができるが、そのメモリ領域
の全てについて完全な非同期入出力はできず、一定の周
期で書き込みと読み出しをオーバーラップさせてデータ
転送を行なわなければならない。ここでは、連続したス
トリームデータのデータ転送を行なうので、データが途
切れることはなく、フレームパルスの周期で書き込みと
読み出しをオーバーラップさせてデータ転送を行うこと
ができる。
The field memory can perform a first-in first-out operation almost like a FIFO memory, but cannot perform complete asynchronous input / output for all of its memory area, and perform data transfer by overlapping write and read at a fixed cycle. There must be. Here, since the data transfer of the continuous stream data is performed, the data is not interrupted, and the data transfer can be performed by overlapping the writing and the reading with the period of the frame pulse.

【0072】フィールドメモリ34aは、WD34bか
ら書き込まれたデータをRD34cから読み出す。WD
34bは、WRST34dによって書き込み位置がフレ
ームごとにリセットされ、WCLK34eに合わせてデ
ータが書き込まれる。RD34cは、RRST34fに
よって読み出し位置がフレームごとにリセットされ、R
CLK34gに合わせてデータが読み出される。
The field memory 34a reads data written from the WD 34b from the RD 34c. WD
In 34b, the writing position is reset for each frame by the WRST 34d, and data is written according to the WCLK 34e. The read position of the RD 34c is reset for each frame by the RRST 34f.
Data is read according to CLK34g.

【0073】BOA34hは、バッファコントローラ3
0と接続される。BOB34iは、I/Oコントローラ
40aと接続される。ゲート34jとゲート34kは、
バッファコントローラ30とI/Oコントローラ40a
との間で、両方向のデータ転送を行うために、BOA3
4hとBOB34iの2つのバスを切り替える。
The BOA 34h is a buffer controller 3
Connected to 0. The BOB 34i is connected to the I / O controller 40a. The gate 34j and the gate 34k are
Buffer controller 30 and I / O controller 40a
BOA3 to perform data transfer in both directions between
4h and BOB 34i are switched.

【0074】このように、バッファ33aは、バスを切
り替えることによって、データ転送の方向を決定し、バ
ッファコントローラ30とI/Oコントローラ40aと
の間で、連続したストリームデータのデータ転送のバッ
ファリングを行うことができる。なお、バッファ33a
を構成するフィールドメモリ34aのメモリ容量は、数
(2〜3)フレーム分程度の量で十分である。ここで
は、フィールドメモリ34aのメモリ容量は、2フレー
ム分の250Kbyteである。
As described above, the buffer 33a determines the direction of data transfer by switching the bus, and buffers the data transfer of the continuous stream data between the buffer controller 30 and the I / O controller 40a. It can be carried out. The buffer 33a
Is sufficient for the memory capacity of the field memory 34a for several (2 to 3) frames. Here, the memory capacity of the field memory 34a is 250 Kbytes for two frames.

【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を介して出力する場合の動作について説
明する。
<Detailed Configuration of FP44a, FP44b, FP44c and FP44d> FIG. 13 is a diagram showing the control line FP44a shown in FIG. FP44b, FP4
4c and the FP 44d have basically the same configuration as the FP 44a, and a description thereof will be omitted. I / O controller 4
0a from the port 41a is transmitted to the DMA controller 20 via the control line FP44a.
And the FP 22o shown in FIG. 6B is set. <Operation> First, in the system shown in FIG.
4a, the operation when the stream data stored in the HDD 14b, the HDD 14c and the HDD 14d is output via the multi-stream interface 15 will be described.

【0076】<CPU10の動作>図14は、本発明に
係るデータ転送システムを用いた場合の、CPU10に
おけるストリームデータの転送の処理の流れを示す図で
ある。以下にその動作を説明する。 1.あるユーザからあるストリームデータの転送要求が
発生する(ステップS1)。
<Operation of CPU 10> FIG. 14 is a diagram showing a flow of a process of transferring stream data in the CPU 10 when the data transfer system according to the present invention is used. The operation will be described below. 1. A transfer request for certain stream data is generated from a certain user (step S1).

【0077】2.特定されたストリームデータを1フレ
ーム単位毎に、HDD14a、HDD14b、HDD1
4c又はHDD14dからメモリ11へDMA転送する
ためのHDDコマンドを作成して、メモリ11に一旦記
憶する(ステップS2)。 3.SCSIインターフェイス13がHDDコマンドを
受け付けられるようになるまで待つ(ステップS3)。
2. HDD 14a, HDD 14b, HDD 1
4c or an HDD command for DMA transfer from the HDD 14d to the memory 11 is created and temporarily stored in the memory 11 (step S2). 3. It waits until the SCSI interface 13 can receive the HDD command (step S3).

【0078】4.メモリ11からSCSIインターフェ
イス13へ、ステップS2で作成したHDDコマンドを
転送する(ステップS4)。 5.メモリ11に格納された1フレーム単位のストリー
ムデータを、メモリ11から特定された外部機器へDM
A転送するための外部機器別コマンドとコマンドリスト
を作成してメモリ11に記憶する(ステップS5)。
4. The HDD command created in step S2 is transferred from the memory 11 to the SCSI interface 13 (step S4). 5. The stream data of one frame unit stored in the memory 11 is transmitted from the memory 11 to the specified external device by the DM.
A command for each external device for A transfer and a command list are created and stored in the memory 11 (step S5).

【0079】6.SCSIインターフェイス13によ
り、ストリームデータの1フレーム単位が、HDD14
a、HDD14b、HDD14c又はHDD14dから
メモリ11へDMA転送されるのを待つ(ステップS
6)。 7.マルチストリームインターフェイス15が外部機器
別コマンドを受け付けられるようになるまで待つ(ステ
ップS7)。
6. The SCSI interface 13 converts one frame unit of stream data into the HDD 14
a, waiting for DMA transfer from the HDD 14b, HDD 14c or HDD 14d to the memory 11 (step S
6). 7. It waits until the multi-stream interface 15 can receive the command for each external device (step S7).

【0080】8.メモリ11からマルチストリームイン
ターフェイス15へ、ステップS5で作成された外部機
器別コマンドを転送する(ステップS8)。 9.転送要求されたストリームデータが全フレーム転送
されたか否かを判断し、全フレーム転送されたと判断さ
れた場合は動作を終了し、まだ全フレーム転送されてい
ないと判断された場合は、ステップS2のHDDコマン
ドの作成へ戻る(ステップS9)。
8. The external device-specific command created in step S5 is transferred from the memory 11 to the multi-stream interface 15 (step S8). 9. It is determined whether or not the transfer-requested stream data has been transferred to all frames. If it is determined that all frames have been transferred, the operation is terminated. If it is determined that all frames have not been transferred yet, the process proceeds to step S2. The process returns to the creation of the HDD command (step S9).

【0081】CPU10は、接続された外部機器毎に、
上記の動作を並列に実行する。ここで、メモリ11内に
確保されたバッファ領域は、ユーザ空間では論理アドレ
スで示されるが、データ転送時は物理アドレスで示され
る。したがって、データ転送時は、バッファ領域の論理
アドレスが物理アドレスに変換されて4KBのデータサ
イズ毎にばらばらになっている状態に基づいて、コマン
ドリストが作られる。
The CPU 10 provides, for each connected external device,
Perform the above operations in parallel. Here, the buffer area secured in the memory 11 is indicated by a logical address in the user space, but is indicated by a physical address during data transfer. Therefore, at the time of data transfer, a command list is created based on a state in which the logical address of the buffer area is converted into a physical address and is separated for each data size of 4 KB.

【0082】なお、通常は、コマンドリストに含まれる
DMA転送のデータサイズは、1ページ分の4KBであ
るが、4KBのデータサイズを確保できない場合があ
る。例えば、ストリームデータの1フレームが10、0
00バイトの場合には、4096バイト、4096バイ
ト及び1808バイトの3つに分割される為、最後の1
808バイトが4KBのデータサイズを確保できない。
Normally, the data size of the DMA transfer included in the command list is 4 KB for one page, but there is a case where a data size of 4 KB cannot be secured. For example, one frame of stream data is 10, 0
In the case of 00 bytes, since it is divided into three parts of 4096 bytes, 4096 bytes and 1808 bytes, the last 1
808 bytes cannot secure a data size of 4 KB.

【0083】ここで、このバッファ領域は、ページアウ
トされないように、OSに対してロックされた領域であ
る。 <SCSIインターフェイス13の動作>SCSIイン
ターフェイス13は、CPU10により、特定されたス
トリームデータを1フレーム単位毎に、HDD14a、
HDD14b、HDD14c又はHDD14dからメモ
リ11へDMA転送するためのコマンドを転送され、こ
のコマンドに基づいて、ストリームデータの1フレーム
単位を、HDD14a、HDD14b、HDD14c又
はHDD14dからメモリ11へDMA転送する。な
お、SCSIインターフェイス13の詳細な動作につい
ては、従来のDMA転送装置と同様なので、その説明を
省略する。
Here, this buffer area is an area locked to the OS so as not to be paged out. <Operation of SCSI Interface 13> The SCSI interface 13 transmits the stream data specified by the CPU 10 to the HDD 14a,
A command for DMA transfer from the HDD 14b, HDD 14c or HDD 14d to the memory 11 is transferred, and one frame unit of the stream data is DMA-transferred from the HDD 14a, HDD 14b, HDD 14c or HDD 14d to the memory 11 based on this command. Since the detailed operation of the SCSI interface 13 is the same as that of the conventional DMA transfer device, the description is omitted.

【0084】<マルチストリームインターフェイス15
の動作>マルチストリームインターフェイス15は、C
PU10により、メモリ11に格納された1フレーム単
位のストリームデータをメモリ11から特定された外部
機器へDMA転送するためのコマンドと、コマンドリス
トのアドレスを転送され、このコマンドとコマンドリス
トのアドレスに基づいて、メモリ11に格納されたコマ
ンドリストを読み出し、このコマンドリストに基づい
て、ストリームデータの1フレーム単位を、メモリ11
から特定された外部機器へDMA転送する。なお、マル
チストリームインターフェイス15の詳細な動作につい
ては後述する。
<Multi-Stream Interface 15
Operation> The multi-stream interface 15
The PU 10 transfers a command for DMA transfer of the stream data of one frame unit stored in the memory 11 from the memory 11 to the specified external device and an address of the command list, and based on the command and the address of the command list. The command list stored in the memory 11 is read out, and one frame unit of the stream data is stored in the memory 11 based on the command list.
DMA transfer to the specified external device. The detailed operation of the multi-stream interface 15 will be described later.

【0085】次に、上記のようなDMA転送で用いられ
る、バッファをフレーム単位で管理する方法とダブルバ
ッファ方式でメモリ11内のバッファ領域を管理する方
法について説明する。 <バッファをフレーム単位で管理する方法とダブルバッ
ファ方式でメモリ11内のバッファ領域を管理する方法
>ビデオデータは連続した複数のフレームで構成され、
通常は30フレームで1秒の画像に相当する。例えば3
0Mbpsのデータレートのビデオデータの場合では、
1フレーム当りのデータサイズは125KBとなる。
Next, a method of managing a buffer in units of frames and a method of managing a buffer area in the memory 11 by a double buffer method, which are used in the above-described DMA transfer, will be described. <Method of Managing Buffer in Frame Unit and Method of Managing Buffer Area in Memory 11 by Double Buffer Method> Video data is composed of a plurality of continuous frames.
Usually, 30 frames correspond to 1 second image. For example, 3
In the case of video data with a data rate of 0 Mbps,
The data size per frame is 125 KB.

【0086】バッファをフレーム単位で管理する方法
は、一旦メモリ11内のバッファ領域に1フレーム分の
ストリームデータを格納し、この1フレームをマルチス
トリームインターフェイス15に転送することである。
ダブルバッファ方式でメモリ11内のバッファ領域を管
理する方法は、1フレームのサイクルごとに、ダブルバ
ッファの一方のバッファをSCSIインターフェイス1
3が使用し、他方のバッファをマルチストリームインタ
ーフェイス15が使用することであり、並行して2つの
インターフェイスの処理を実行することができる。
The method of managing the buffer in units of frames is to temporarily store one frame of stream data in the buffer area in the memory 11 and transfer this one frame to the multi-stream interface 15.
The method of managing the buffer area in the memory 11 by the double buffer method is to use one of the double buffers in the SCSI interface 1 every cycle of one frame.
3 is used, and the other buffer is used by the multi-stream interface 15, and the processing of the two interfaces can be executed in parallel.

【0087】なお、各ポートからストリームデータを入
力する場合も、出力の場合とデータ転送の方向及び手順
が逆になるだけで容易に実現される。各ポートから取り
込まれたストリームデータは、マルチストリームインタ
ーフェイス15によってメモリ11上のバッファ領域に
一旦格納され、SCSIインターフェイス13によって
HDD14a、HDD14b、HDD14c又はHDD
14dに格納される。
The input of stream data from each port can be easily realized simply by reversing the direction and procedure of data transfer from the output. The stream data taken in from each port is temporarily stored in a buffer area on the memory 11 by the multi-stream interface 15, and is stored in the HDD 14 a, the HDD 14 b, the HDD 14 c or the HDD 14 by the SCSI interface 13.
14d.

【0088】次に、システムバス12におけるデータ転
送の動作について説明する。 <システムバス12におけるデータ転送の動作>システ
ムバス12として例えばPCIローカルバスを使用して
いる場合などでは、メモリアドレスとデータとは多重化
されている。このため、システムバス12上には先ずア
ドレスが出力されて、メモリ11のロケーションが特定
される。このアドレスの出力に続いてデータが出力さ
れ、このアドレスで指定されたメモリ11のロケーショ
ンから順に複数のデータが転送される。このようなデー
タ転送をバースト転送と呼ぶ。つまり、一つのバースト
転送では、先頭がアドレスで、残りがデータということ
が決まっている。従って、この時のアドレスは先頭値だ
けであり、ひとつのバストランザクションの間は、アド
レスの先頭値から連続するアドレスに対しての転送が可
能である。1回のバースト転送長は、例えばPCIロー
カルバスの場合は、PCIローカルバス上のデバイスに
固有のレイテンシタイマで指定される値以下の大きさで
ある。ここでは、BFIFO23の容量とする。また、
1回のPCIローカルバス上のバースト転送トランザク
ションは、バスのマスタとなるデバイスがバス要求(R
EQ)を出力し、バス使用許可(GNT)が返されてか
らアクセスを開始する。
Next, the data transfer operation on the system bus 12 will be described. <Operation of Data Transfer in System Bus 12> When, for example, a PCI local bus is used as the system bus 12, memory addresses and data are multiplexed. Therefore, an address is first output on the system bus 12 to specify the location of the memory 11. Data is output following the output of this address, and a plurality of data are sequentially transferred from the location of the memory 11 specified by this address. Such data transfer is called burst transfer. That is, in one burst transfer, it is determined that the head is an address and the rest is data. Therefore, the address at this time is only the head value, and during one bus transaction, it is possible to transfer data from the head value of the address to a continuous address. The length of one burst transfer is, for example, in the case of a PCI local bus, smaller than a value specified by a latency timer specific to a device on the PCI local bus. Here, the capacity of the BFIFO 23 is assumed. Also,
In one burst transfer transaction on the PCI local bus, the device which becomes the bus master issues a bus request (R
EQ) is output, and access is started after the bus use permission (GNT) is returned.

【0089】通常のストリームデータのバースト転送
は、例えば1フレームが125KBの場合は、連続的に
125KBの領域が順番にDMA転送される訳ではな
く、数個から数十個の連続するデータ単位に区切られて
実行される。こうする事によって、システムバス12上
に多数のデバイス(CPU10、メモリ11、SCSI
インターフェイス13又はマルチストリームインターフ
ェイス15等)が接続されていたとしても、システムバ
ス12にバス要求REQを出しているデバイスに順にシ
ステムバス12の使用権を割り当てながらバースト転送
を行なうことで、効率的にシステムバス12を使用して
データ転送を行なうことができる。なお、これは、スト
リームデータの入力と出力に関りなく実行される。
In the normal burst transfer of stream data, for example, when one frame is 125 KB, the area of 125 KB is not DMA-transferred sequentially, but is divided into several to several tens of continuous data units. It is executed in a delimited manner. By doing so, a large number of devices (CPU 10, memory 11, SCSI
Even if the interface 13 or the multi-stream interface 15 is connected, the burst transfer is performed while sequentially assigning the right to use the system bus 12 to the device that has issued the bus request REQ to the system bus 12, thereby efficiently performing the burst transfer. Data transfer can be performed using the system bus 12. This is performed regardless of the input and output of the stream data.

【0090】<マルチストリームインターフェイス15
の詳細な動作> <バスコントローラ21の詳細な動作>図15は、本発
明に係るデータ転送システムを用いた場合の、バスコン
トローラ21におけるストリームデータの転送の処理の
流れを示す図である。以下、図1、図2、図3、図4、
図5、図6(a)、図6(b)、図8及び図11を用い
てその動作を説明する。
<Multi-stream interface 15
<Detailed Operation of Bus Controller> FIG. 15 is a diagram showing a flow of a process of transferring stream data in the bus controller 21 when the data transfer system according to the present invention is used. Hereinafter, FIG. 1, FIG. 2, FIG. 3, FIG.
The operation will be described with reference to FIGS. 5, 6A, 6B, 8 and 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」が転送されるものとする。
Here, the stream data shown in FIG. 2 and the chain list shown in FIG. 3 are stored in the memory 11 in advance, and the DONE 22m, which is the content of the control register 22g corresponding to the port 41a, is "1". At this time, the command list address A68a of the command list A64a shown in FIG. 3 is transferred to the chain address counter 22c by the CPU 10, and "1" is added to the RUN 221 as the contents of the control register 22g, and D
"0" for ONE22m, "0" for IO22n and FP2
It is assumed that “0” is transferred to 2o.

【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)。
1. Initialize the port number pn.
The port number pn is a number where 0, 1, 2 and 3 respectively correspond to the port 41a, the port 41b, the port 41c and the port 41d. Here, "0" is substituted as an initial value (step S11). ). 2. The contents of the control register of the port corresponding to the port number pn are RUN = 1, DONE = 0 and FP =
It is determined whether it is 1. Here, RUN = 1 indicates that DMA transfer is started for the corresponding port,
DONE = 0 indicates that DMA transfer to the corresponding port has not been completed, and FP = 1 indicates that a frame pulse has been received from the corresponding port.
When it is determined that none of the conditions is satisfied, the port number pn is incremented. When it is determined that all the conditions are satisfied, the DMA transfer is performed (step S12).

【0093】3.1つでも条件を満たさないと判断され
た場合は、次のポートの判断を行う為、ポート番号pn
をインクリメントする(ステップS13)。 4.ポート番号pnが、最大のポートナンバーより大き
い場合は、ポート番号pnの初期設定へ行く。ここで
は、最大のポートナンバー「3」より大きい場合は、初
期値「0」を代入しにステップS11へ行き、最大のポ
ートナンバー「3」より大きくない場合は、コントロー
ルレジスタを判断しにステップS12へ行く(ステップ
S14)。
3. If it is determined that at least one of the conditions is not satisfied, the port number pn is used to determine the next port.
Is incremented (step S13). 4. If the port number pn is larger than the maximum port number, the process goes to the initial setting of the port number pn. Here, if it is larger than the maximum port number "3", the process goes to step S11 by substituting the initial value "0", and if not larger than the maximum port number "3", the control register is judged and the process proceeds to step S12. Go to (Step S14).

【0094】5.ステップS12により全ての条件を満
たすと判断された場合は、ポート番号pnに対応するポ
ートのチェインアドレスカウンタに格納されたコマンド
リストアドレスが示すコマンドリストを取得し、そのコ
マンドリストに含まれるスタートアドレスをDMAアド
レスカウンタに転送し、そのコマンドリストに含まれる
ストリームデータのサイズをDMAデータカウンタに転
送し、また、チェインアドレスカウンタに格納されたコ
マンドリストアドレスを、次のコマンドリストアドレス
に更新する。
5. If it is determined in step S12 that all the conditions are satisfied, the command list indicated by the command list address stored in the chain address counter of the port corresponding to the port number pn is obtained, and the start address included in the command list is obtained. The command list is transferred to the DMA address counter, the size of the stream data included in the command list is transferred to the DMA data counter, and the command list address stored in the chain address counter is updated to the next command list address.

【0095】ここでは、例えば、全ての条件を満たすと
判断された場合は、ポート番号pn「0」に対応するポ
ート41aのチェインアドレスカウンタ22cに格納さ
れたコマンドリストアドレスA68aが示すコマンドリ
ストA64aを取得し、そのコマンドリストA64aに
含まれるスタートアドレスA65aをDMAアドレスカ
ウンタ22aに転送し、そのコマンドリストA64aに
含まれるデータサイズA67aをDMAデータカウンタ
22bに転送し、また、チェインアドレスカウンタ22
cに格納されたコマンドリストアドレスA68aを、イ
ンクリメントして次のコマンドリストアドレスB68b
に更新する(ステップS15)。
Here, for example, if it is determined that all the conditions are satisfied, the command list A64a indicated by the command list address A68a stored in the chain address counter 22c of the port 41a corresponding to the port number pn "0" is read. The acquired start address A65a included in the command list A64a is transferred to the DMA address counter 22a, the data size A67a included in the command list A64a is transferred to the DMA data counter 22b, and the chain address counter 22
c is incremented to the next command list address B68b.
(Step 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)。
6. The bus controller 21 determines the port number pn, the contents of the control register of the port corresponding to the port number pn, the memory capacity of the BFIFO 23, and D
A buffer command 22p is generated based on the content of the MA data counter 22b, and the buffer command 22p is transmitted to the buffer controller 30 after the content of the data length 32g becomes "0", and stored in the DMA address counter 22a. The stream data is burst-transferred between the buffer area in the memory 11 indicated by the designated start address and the BFIFO 23, and the start address stored in the DMA address counter 22a is incremented by the amount of the burst transfer, and the DMA data counter 22b is incremented. Decrement the stored data size.
Here, for example, the port number pn “0” and the port 41 a
Of the control register 22g and the BFIFO 23
A buffer command 22p is generated based on the memory capacity of the DMA address counter 22b and transmitted to the buffer controller 30, and the DMA address counter 22
memory 11 indicated by the start address stored in a
The stream data of 32 words is burst-transferred between the buffer area and the BFIFO 23, the content of the DMA address counter 22a is incremented by 32 words, and the content of the DMA data counter 22b is decremented by 32 words (step S16).

【0097】7.DMAデータカウンタ22bに格納さ
れたデータサイズが「0」か否かを判断する。データサ
イズが「0」であると判断された場合は、DMAコマン
ドビットのチェックへ行き、「0」でないと判断された
場合は、「0」になるまで、バースト転送を繰り返す
(ステップS17)。 8.データサイズが「0」であると判断された場合は、
ステップS15で取得したコマンドリストに含まれるD
MAコマンドビットの値をチェックして、以下のステッ
プで次のDMA転送の操作を決定する。ここでは、DM
AコマンドビットA66aの値をチェックする(ステッ
プS18)。
7. It is determined whether the data size stored in the DMA data counter 22b is "0". If it is determined that the data size is "0", the process proceeds to the check of the DMA command bit. If it is determined that the data size is not "0", the burst transfer is repeated until the data size becomes "0" (step S17). 8. If the data size is determined to be “0”,
D included in the command list acquired in step S15
The value of the MA command bit is checked to determine the next DMA transfer operation in the following steps. Here, DM
The value of the A command bit A66a is checked (step S18).

【0098】9.DMAコマンドビットの値がチェイン
リストの終了66fを示す場合は、DONEをセットし
て割り込み信号を生成し、別のポートに対してDMA転
送する為に、ステップS13へ戻る(ステップS19、
ステップS20)。 10.DMAコマンドビットの値がフレームパルス待ち
66gを示す場合は、FPをリセットして、別のポート
に対してDMA転送する為に、ステップS13へ戻る
(ステップS21、ステップS22)。
9. If the value of the DMA command bit indicates the end 66f of the chain list, DONE is set, an interrupt signal is generated, and the process returns to step S13 to perform DMA transfer to another port (step S19,
Step S20). 10. If the value of the DMA command bit indicates the frame pulse wait 66g, the flow returns to step S13 to reset the FP and perform DMA transfer to another port (steps S21 and S22).

【0099】11.DMAコマンドビットの値が同一ポ
ート66dを示す場合は、同じポートに対してDMA転
送する為に、ステップS15へ戻る。DMAコマンドビ
ットの値がポートの切り替え66eを示す場合は、別の
ポートに対してDMA転送する為に、ステップS13へ
戻る(ステップS23)。 <バッファコントローラ30の詳細な動作>図16は、
本発明に係るデータ転送システムを用いた場合の、バッ
ファコントローラ30におけるストリームデータのバス
変換の処理の流れを示す図である。以下、図5、図8、
図10及び図11を用いてその動作を説明する。
11. If the value of the DMA command bit indicates the same port 66d, the flow returns to step S15 to perform DMA transfer to the same port. If the value of the DMA command bit indicates port switching 66e, the process returns to step S13 to perform DMA transfer to another port (step S23). <Detailed Operation of Buffer Controller 30> FIG.
FIG. 9 is a diagram showing a flow of a bus conversion process of stream data in the buffer controller 30 when the data transfer system according to the present invention is used. Hereinafter, FIG. 5, FIG.
The operation will be described with reference to FIGS.

【0100】1.図15のステップS15に示すよう
に、バッファインターフェイス31は、バスコントロー
ラ21からバッファコマンド22pを転送されると(ス
テップS31)、バッファコマンド22pに含まれるM
ODE22qに基づいて、ポートに対応するナンバーを
ポートナンバーレジスタ32aに設定し、ポートに対応
するin/outにデータ転送の方向を設定し、さら
に、バッファコマンド22pに含まれるデータ長22r
に基づいて、データ長32gを設定する(ステップS3
2)。
1. As shown in step S15 of FIG. 15, when the buffer interface 22 receives the buffer command 22p from the bus controller 21 (step S31), the buffer interface 31 stores the M included in the buffer command 22p.
Based on the ODE 22q, the number corresponding to the port is set in the port number register 32a, the direction of data transfer is set to in / out corresponding to the port, and the data length 22r included in the buffer command 22p is set.
Is set based on the data length (step 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)。
2. As shown in step S16 in FIG.
When the data is burst-transferred to the FIFO 23 and the BFI 23 stores the stream data, the buffer interface 31 starts bus conversion asynchronously with the DMA controller 20 (step S33). 3. The latches 35a, 35b, 35c, and 35d temporarily hold 8-bit data.
Here, BFIFO2 is connected via a 32-bit bus FDB.
The data transferred from No. 3 is divided into four every eight bits and temporarily latched (step S34).

【0102】4.バス幅変換部36が、バッファを選択
しバス幅を32ビットから8ビットに変換する。ここで
は、例えばバッファ33aを選択し(ステップS3
5)、ラッチ35a、ラッチ35b、ラッチ35c及び
ラッチ35dでラッチされた4つの8ビットデータを、
順番に転送することによって、バス幅を32ビットから
8ビットに変換する(ステップS36〜ステップS3
9)。
4. The bus width converter 36 selects a buffer and converts the bus width from 32 bits to 8 bits. Here, for example, the buffer 33a is selected (step S3).
5) The four 8-bit data latched by the latches 35a, 35b, 35c and 35d are
By sequentially transferring, the bus width is converted from 32 bits to 8 bits (steps S36 to S3).
9).

【0103】5.1回のバス幅変換が終了すると、転送
したデータの分だけデータ長32gの値をデクリメント
する(ステップS40)。 6.データ長32gの値が「0」であるか否かを判断す
る。「0」であると判断された場合は、新たなバッファ
コマンド22pの転送を受け付ける為にステップS31
へ行き、「0」でないと判断された場合は、次の32ビ
ットをバス変換する為にステップS33へ行く(ステッ
プS41)。
5. When one bus width conversion is completed, the value of the data length 32g is decremented by the transferred data (step S40). 6. It is determined whether or not the value of the data length 32g is “0”. If it is determined to be "0", step S31 is executed to accept the transfer of the new buffer command 22p.
If it is determined that the value is not "0", the process proceeds to step S33 to perform bus conversion of the next 32 bits (step 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に切替えられる点である。
<Detailed operation of n-times speed input / output> Regarding the n-times speed input / output, FIG. 5 shows the connection of 4xport 42 and the connection of xnmode 43. Is the same as the DMA transfer operation. The difference is that the 4 × mode 32b in the buffer register 32 shown in FIG.
The control signal indicated by e43 is the I / O controller 40a,
I / O controller 40b, I / O controller 40c
Is transmitted to the I / O controller 40d and each port is switched to 4 × port 42.

【0105】例えば外部機器からの入力の場合は、4x
port42からの信号が1フレームごとに別々のI/
Oコントローラに順次入力される。なお、ここでは、4
倍速の接続を説明したが、これを2つのポートと接続す
れば2倍速となり、また、8つのポートと接続すれば8
倍速となり、必要に応じて接続するポート数を決めれば
よい。
For example, in the case of input from an external device, 4 ×
The signal from the port 42 is divided into separate I /
It is sequentially input to the O controller. Here, 4
The double speed connection has been described, but if this is connected to two ports, the speed will be twice as fast.
The speed is doubled, and the number of ports to be connected may be determined as needed.

【0106】<複数ポートの同時動作>図17は、本発
明に係るDMAコントローラ20を用いた場合の、複数
ポートの同時動作の処理を示す図である。図18は、ポ
ート41aにストリームデータをDMA転送する為のチ
ェインリストを示す図である。
<Simultaneous Operation of Plurality of Ports> FIG. 17 is a diagram showing processing of simultaneous operation of a plurality of ports when the DMA controller 20 according to the present invention is used. FIG. 18 is a diagram showing a chain list for DMA transfer of stream data to the port 41a.

【0107】図19は、ポート41bにストリームデー
タをDMA転送する為のチェインリストを示す図であ
る。図20は、ポート41cにストリームデータをDM
A転送する為のチェインリストを示す図である。図21
は、ポート41dにストリームデータをDMA転送する
為のチェインリストを示す図である。
FIG. 19 is a diagram showing a chain list for DMA-transferring stream data to the port 41b. FIG. 20 shows a case where the stream data is
It is a figure showing the chain list for A transfer. FIG.
FIG. 7 is a diagram showing a chain list for DMA-transferring stream data to a port 41d.

【0108】以下、図17、図18、図19、図20及
び図21を用いてその動作を説明する。なお、メモリ1
1には、図18、図19、図20及び図21のチェイン
リストと、これらのチェインリストが示すストリームデ
ータとが、各ポート毎のDMA転送コマンドの転送前に
あらかじめ格納されるものとする。
Hereinafter, the operation will be described with reference to FIGS. 17, 18, 19, 20, and 21. Note that memory 1
In FIG. 1, it is assumed that the chain lists of FIGS. 18, 19, 20, and 21, and the stream data indicated by these chain lists are stored in advance before the transfer of the DMA transfer command for each port.

【0109】1.CPU10によりポート41aへのD
MA転送コマンドが転送された後、バスコントローラ2
1がポート41aからフレームパルス91aを受信する
(タイムt1)。 2.フレームパルス91aを受信すると、ポート41a
のコマンドリストAA71aに基づいて、スタートアド
レスAA72aから始まる4096バイト分のストリー
ムデータのDMA転送A95aを開始する(タイムt1
〜)。
1. D to the port 41a by the CPU 10
After the MA transfer command is transferred, the bus controller 2
1 receives the frame pulse 91a from the port 41a (time t1). 2. When the frame pulse 91a is received, the port 41a
Based on the command list AA71a, the DMA transfer A95a of 4096 bytes of stream data starting from the start address AA72a is started (time 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)。
3. When the DMA transfer A95a is completed, the value of the DMA command bit AA73a of the port 41a is "00", so that the start address AB72b based on the next command list AB71b of the same port 41a.
DM of stream data of 4096 bytes starting from
The A transfer A 95b is started (time t2). 4. After the CPU 10 transfers the DMA transfer command to the port 41b, the bus controller 21
1b to receive a frame pulse 92a (time 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〜)。
5. When the DMA transfer A 95b ends, the value of the DMA command bit AB 73b of the port 41a is "01", so that the command list B of the next port 41b is
Based on A76a, DMA transfer B96a of 4096 bytes of stream data starting from start address BA77b is started (time t4). 6. When the DMA transfer B 96a ends, the value of the DMA command bit BA 78a of the port 41b is "00", so the next command list BB 76b of the same port 41b
Starting from the start address BB77b based on
DMA transfer of stream data of 096 bytes B96
b is started (time t5).

【0112】7.DMA転送B96bが終了すると、ポ
ート41bのDMAコマンドビットBB78bの値が
「01」なので、次のポートのDMA転送を開始しよう
とするが、ポート41c及びポート41dはDMA転送
コマンドが転送されていないのでパスし、ポート41a
のコマンドリストAC71cに基づいて、スタートアド
レスAC72cから始まる1808バイト分のストリー
ムデータのDMA転送A95cを開始する(タイムt6
〜)。
7. When the DMA transfer B96b is completed, the value of the DMA command bit BB78b of the port 41b is "01", so that the DMA transfer of the next port is to be started. However, since the DMA transfer command has not been transferred to the ports 41c and 41d, the DMA transfer command is not transferred. Pass and port 41a
Based on the command list AC71c, the DMA transfer A95c of 1808 bytes of stream data starting from the start address AC72c is started (time t6).
~).

【0113】8.DMA転送A95cが終了すると、ポ
ート41aのDMAコマンドビットAC73cの値が
「11」なので、ポート41aはフレームパルスA待ち
となり、次のポート41bのコマンドリストBC76c
に基づいて、スタートアドレスBC77cから始まる1
808バイト分のストリームデータのDMA転送B96
cを開始する(タイムt7〜)。
8. When the DMA transfer A 95c ends, the value of the DMA command bit AC73c of the port 41a is "11", so that the port 41a waits for the frame pulse A, and the command list BC76c of the next port 41b.
Starting from the start address BC77c based on
DMA transfer of stream data for 808 bytes B96
c is started (from time t7).

【0114】9.DMA転送B96cが終了すると、ポ
ート41bのDMAコマンドビットBC78cの値が
「11」なので、ポート41bはフレームパルスB待ち
となり、次のポートのDMA転送を開始しようとする
が、ポート41c及びポート41dはDMA転送コマン
ドが転送されていないのでパスされ、ポート41aはフ
レームパルスA待ちなのでパスされ、ポート41bはフ
レームパルスB待ちなのでパスされる(タイムt8)。
9. When the DMA transfer B96c is completed, the value of the DMA command bit BC78c of the port 41b is "11", so that the port 41b waits for the frame pulse B and tries to start the DMA transfer of the next port. Since the DMA transfer command has not been transferred, it is passed, the port 41a is passed because it is waiting for the frame pulse A, and the port 41b is passed because it is waiting for the frame pulse B (time t8).

【0115】10.バスコントローラ21がポート41
aからフレームパルス91bを受信する(タイムt
9)。 11.「2.」の(タイムt1〜)の動作と同様にし
て、DMA転送A95dを開始する(タイムt9〜)。 12.CPU10によりポート41cへのDMA転送コ
マンドが転送された後、バスコントローラ21がポート
41cからフレームパルス93aを受信する(タイムt
10)。
10. Bus controller 21 is port 41
a to receive a frame pulse 91b (time t
9). 11. The DMA transfer A 95d is started in the same manner as the operation at (time t1) of “2.” (time t9). 12. After the CPU 10 transfers the DMA transfer command to the port 41c, the bus controller 21 receives the frame pulse 93a from the port 41c (time 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〜)。
13. When the DMA transfer A95d ends,
In the same manner as the operation at (time t2) of “3.”, DM
The A transfer A 95e is started (time t11 to t11). 14. The bus controller 21 receives the frame pulse 92b from the port 41b (time t12). 15. When the DMA transfer A 95e ends, the DMA transfer B9 is performed in the same manner as the operation of “5.” (from time t4).
6d is started (from time 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〜)。
16. When the DMA transfer B 96d ends,
In the same manner as the operation at (time t5) of “6.”, DM
The A transfer B 96e is started (time t14). 17. When the DMA transfer B 96e ends, the port 41b
Since the value of the DMA command bit BE78e is “01”, 409 starting from the start address CA82a based on the command list CA81a of the next port 41c.
The DMA transfer C97a of 6-byte stream data is started (time 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〜)。
18. When the DMA transfer C97a ends,
Since the value of the DMA command bit CA83a of the port 41c is “00”, the start address CB82b is determined based on the next command list CB81b of the same port 41c.
DM of stream data of 4096 bytes starting from
The A transfer C97b is started (from time t16). 19. When the DMA transfer C97b ends, the port 41c
Since the value of the DMA command bit CB83b is “01”, the DMA transfer of the next port is to be started. However, since the DMA transfer command has not been transferred, the port 41d is passed, and the command list AF71f of the port 41a is passed.
Starting from the start address AF72f based on
DMA transfer of stream data for 808 bytes A95
f is started (from time 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〜)。
20. When the DMA transfer A95f ends,
In the same manner as the operation at (time t7) of “8.”, the DM
The A transfer B 96f is started (time t18). 21. When the DMA transfer B 96f ends, the port 41b
Since the value of the DMA command bit BF78f is “11”, the port 41b waits for the frame pulse B, and based on the command list CC81c of the next port 41c,
The DMA transfer C97c of 1808 bytes of stream data starting from the start address CC82c is started (time t19).

【0120】22.DMA転送C97cが終了すると、
ポート41cのDMAコマンドビットCC83cの値が
「11」なので、ポート41cはフレームパルスC待ち
となり、次のポートのDMA転送を開始しようとする
が、ポート41dはDMA転送コマンドが転送されてい
ないのでパスされ、ポート41aはフレームパルスA待
ちなのでパスされ、ポート41bはフレームパルスB待
ちなのでパスされ、ポート41cはフレームパルスC待
ちなのでパスされる(タイムt20)。
22. When the DMA transfer C97c ends,
Since the value of the DMA command bit CC83c of the port 41c is "11", the port 41c waits for the frame pulse C and tries to start the DMA transfer of the next port. However, the port 41d has not been transferred because the DMA transfer command has not been transferred. The port 41a is passed because it is waiting for the frame pulse A, the port 41b is passed because it is waiting for the frame pulse B, and the port 41c is passed because it is waiting for the frame pulse C (time t20).

【0121】23.CPU10によりポート41dへの
DMA転送コマンドが転送された後、バスコントローラ
21がポート41dからフレームパルス94aを受信す
る(タイムt21)。 24.フレームパルス94aを受信すると、ポート41
dのコマンドリストDA86aに基づいて、スタートア
ドレスDA87aから始まる4096バイト分のストリ
ームデータのDMA転送D98aを開始する(タイムt
21〜)。
23. After the CPU 10 transfers the DMA transfer command to the port 41d, the bus controller 21 receives the frame pulse 94a from the port 41d (time t21). 24. When receiving the frame pulse 94a, the port 41
Based on the command list DA86a of d, DMA transfer D98a of stream data of 4096 bytes starting from the start address DA87a is started (time 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〜)。
25. When the DMA transfer D98a ends,
Since the value of the DMA command bit DA88a of the port 41d is “00”, the start address DB 87b is determined based on the next command list DB 86b of the same port 41d.
DM of stream data of 4096 bytes starting from
The A transfer D98b is started (time t22). 26. When the DMA transfer D98b ends, the port 41d
Since the value of the DMA command bit DB88b is "01", the DMA transfer of the next port is to be started, but the port 41a is passed because the frame pulse A is waiting, the port 41b is passed because the frame pulse B is waiting, and the port 41c is passed. Is passed because it is waiting for the frame pulse C, and starts DMA transfer D98c of 1808 bytes of stream data starting from the start address DC87c based on the command list DC86c of the next port 41d (time t23).

【0123】27.DMA転送D98cが終了すると、
ポート41dのDMAコマンドビットDC88cの値が
「11」なので、ポート41dはフレームパルスD待ち
となり、次のポートのDMA転送を開始しようとする
が、ポート41aはフレームパルスA待ちなのでパスさ
れ、ポート41bはフレームパルスB待ちなのでパスさ
れ、ポート41cはフレームパルスC待ちなのでパスさ
れ、ポート41dはフレームパルスD待ちなのでパスさ
れる(タイムt24)。
27. When the DMA transfer D98c ends,
Since the value of the DMA command bit DC88c of the port 41d is "11", the port 41d waits for the frame pulse D, and attempts to start the DMA transfer of the next port. Is passed because it is waiting for frame pulse B, port 41c is passed because it is waiting for frame pulse C, and port 41d is passed because it is waiting for frame pulse D (time 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〜)。
28. The DMA transfer A 95g is started in the same manner as the operation at (time t1) of “2.” (time t25). 29. The bus controller 21 receives the frame pulse 93b from the port 41c (time t26). 30. When the DMA transfer A 95g ends, the port 41a
Since the value of the DMA command bit AG73g is "01", the DMA transfer of the next port is to be started. However, the port 41b waits for the frame pulse B and is passed, and the start is performed based on the command list CD81d of the next port 41c. The DMA transfer C97d of 4096 bytes of stream data starting from the address CD82d is started (time 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〜)。
31. Bus controller 21 is port 41
b to receive the frame pulse 92c (time t2
8). 32. When the DMA transfer C 97d is completed, the DMA transfer C 97d is performed in the same manner as the operation of “17.” (from time t15).
97e is started (time t29). 33. When the DMA transfer C97e ends, the port 41c
Since the value of the DMA command bit CE83e is “01”, the DMA transfer of the next port is to be started. However, since the port 41d is waiting for the frame pulse D, it is passed, and the start is performed based on the command list AH71h of the next port 41a. A DMA transfer A95h of 4096 bytes of stream data starting from the address AH72h is started (time 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〜)。
34. When the DMA transfer A95h ends,
Similarly to the operation at (time t13) of “15.”,
The DMA transfer B 96g starts (time t31 to time t31). 35. When the DMA transfer B 96g ends, the port 41b
Since the value of the DMA command bit BG78g is “01”, it starts from the start address CF82f based on the command list CF81f of the next port 41c.
The DMA transfer C97f of the stream data of 8 bytes is started (time t32-).

【0127】36.DMA転送C97fが終了すると、
ポート41cのDMAコマンドビットCF83fの値が
「11」なので、ポート41cはフレームパルスC待ち
となり、次のポートのDMA転送を開始しようとする
が、ポート41dはフレームパルスD待ちなのでパスさ
れ、次のポート41aのコマンドリストAI71iに基
づいて、スタートアドレスAI72iから始まる180
8バイト分のストリームデータのDMA転送A95iを
開始する(タイムt33〜)。
36. When the DMA transfer C97f ends,
Since the value of the DMA command bit CF83f of the port 41c is "11", the port 41c waits for the frame pulse C, and tries to start the DMA transfer of the next port. Starting from the start address AI72i based on the command list AI71i of the port 41a, 180
The DMA transfer A95i of stream data for 8 bytes is started (time t33).

【0128】37.DMA転送A95iが終了すると、
ポート41aのDMAコマンドビットAI73iの値が
「10」なので、ポート41aはチェインリスト終了と
なり、次のポート41bのコマンドリストBH76hに
基づいて、スタートアドレスBH77hから始まる40
96バイト分のストリームデータのDMA転送B96h
を開始する(タイムt34〜)。
37. When the DMA transfer A95i ends,
Since the value of the DMA command bit AI 73i of the port 41a is "10", the port 41a ends the chain list, and starts from the start address BH77h based on the command list BH76h of the next port 41b.
DMA transfer of 96 bytes of stream data B96h
Is started (from time t34).

【0129】38.DMA転送B96hが終了すると、
ポート41bのDMAコマンドビットBH78hの値が
「01」なので、次のポートのDMA転送を開始しよう
とするが、ポート41cはフレームパルスC待ちなので
パスされ、ポート41dはフレームパルスD待ちなので
パスされ、ポート41aはチェインリスト終了なのでパ
スされ、次のポート41bのコマンドリストBI76i
に基づいて、スタートアドレスBI77iから始まる1
808バイト分のストリームデータのDMA転送B96
iを開始する(タイムt35〜)。
38. When the DMA transfer B96h ends,
Since the value of the DMA command bit BH78h of the port 41b is "01", DMA transfer of the next port is to be started, but the port 41c is passed because it is waiting for the frame pulse C, and the port 41d is passed because it is waiting for the frame pulse D. Since the port 41a ends the chain list, it is passed, and the command list BI76i of the next port 41b is passed.
Starting from the start address BI77i based on
DMA transfer of stream data for 808 bytes B96
i is started (from time 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)。
39. When the DMA transfer B96i ends,
Since the value of the DMA command bit BI78i of the port 41b is "10", the port 41b ends the chain list and attempts to start DMA transfer of the next port.
Since port 41c is waiting for frame pulse C, it is passed,
Since port 41d is waiting for frame pulse D, it is passed,
40. Port 41a is passed because the chain list ends (time t36). (Time t21 to time t of “23. to 27.”
Similarly to the operation of 24), the DMA transfers D98d to D98d
Execute A transfer D98f (time t37 to time 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)。
41. (Time t2 of “23. to 27.”
1 to time t24), the DMA transfer C
97g-DMA transfer C97i is executed (time t41)
~ Time t44). 42. (Time t21 to time t of “23. to 27.”
Similarly to the operation of 24), the DMA transfer D98g to DM
Execute A transfer D98i (time t45 to time t4)
8).

【0132】以上のようにして、本発明は、CPUがD
MA転送に必要な情報を示すチェインリストをポート毎
に生成することによって、ポート毎に一回のDMA転送
で転送されるストリームデータのサイズや同一ポートで
連続して実行されるDMA転送の回数を任意に設定する
ことができる。このポート毎のチェインリストはメモリ
に格納され、そのアドレスがポート毎のチェインアドレ
スカウンタに転送される。
As described above, according to the present invention, the CPU
By generating a chain list indicating information necessary for MA transfer for each port, the size of stream data transferred by one DMA transfer for each port and the number of DMA transfers continuously executed on the same port can be determined. It can be set arbitrarily. This chain list for each port is stored in the memory, and the address is transferred to the chain address counter for each port.

【0133】ここで、CPUからのポート毎のデータ転
送要求コマンドと各ポートからのフレーム要求信号とが
ポート毎のコントロールレジスタに転送されると、デー
タ転送要求コマンドとフレーム要求信号とが転送された
ポートだけに順番に、対応するチェインアドレスカウン
タに格納されたアドレスが示すチェインリストが取得さ
れDMA転送されるので、ポート間の同期を取ることな
く、ポート間のデータ転送の割合がほぼチェインリスト
で設定した通りになる。
Here, when the data transfer request command for each port from the CPU and the frame request signal from each port are transferred to the control register for each port, the data transfer request command and the frame request signal are transferred. The chain list indicated by the address stored in the corresponding chain address counter is acquired and DMA-transferred only to the ports in order, so that the rate of data transfer between the ports can be substantially reduced without synchronization between the ports. As set.

【0134】なお、本発明はこれら実施の形態に限られ
ないことは勿論である。即ち、BFIFO23のDMA
コントローラ側とバッファコントローラ側は同じビット
幅でなくてもよく、また、BFIFO23と各バッファ
のバス幅は同じでもよい。また、各バッファは、fie
ld memoryの代わりに双方向のFIFOやDR
AMを使用してもよい。
The present invention is, of course, not limited to these embodiments. That is, the DMA of the BFIFO 23
The controller side and the buffer controller side need not have the same bit width, and the bus width of the BFIFO 23 and each buffer may be the same. Also, each buffer is
Bidirectional FIFO or DR instead of ld memory
AM may be used.

【0135】さらに、DMAアドレスカウンタ22aの
値は、ベースアドレスとDMAデータカウンタ22bの
値を加算して生成してもよい。ここでは、DMAデータ
カウンタ22bは、データ転送毎にその値を順次インク
リメントしていくが、この値をベースアドレスに加算す
ることでアドレスを生成してもよい。なお、解像度が高
くビットレートが高いストリームデータの場合、例え
ば、1フレームのサイズが125,000バイトの場合
は、1フレーム分のコマンドリストは、31エントリか
ら成り、これがポート毎に切替えられながらDMA転送
される。ここで、1つのポートについて見れば、他のポ
ートがコマンドリストのどの部分を実行しているかに関
係なく、ほぼ同じ性能でDMA転送することになる。
Further, the value of the DMA address counter 22a may be generated by adding the base address and the value of the DMA data counter 22b. Here, the value of the DMA data counter 22b is sequentially incremented every data transfer, but the address may be generated by adding this value to the base address. In the case of stream data having a high resolution and a high bit rate, for example, when the size of one frame is 125,000 bytes, the command list for one frame is composed of 31 entries. Will be transferred. Here, regarding one port, the DMA transfer will be performed with almost the same performance regardless of which part of the command list is being executed by the other port.

【0136】また、DMA転送の方向は、各ポートに対
応するコントロールレジスタ内に保持されており、各D
MAコマンドごとに切替えが行なわれるので、BFIF
O23で複数のポートのデータが混じることはない。
The direction of the DMA transfer is held in the control register corresponding to each port.
Since switching is performed for each MA command, BFIF
Data of a plurality of ports is not mixed in O23.

【0137】[0137]

【発明の効果】【The invention's effect】

(DMAレジスタの構造のみ)以上の説明から明らかな
ように、本発明に係るデータ転送装置は、n個のポート
とメモリとの間でストリームデータをそれぞれDMA転
送するデータ転送装置であって、nは2以上の整数であ
り、前記メモリには少なくとも1組のコマンドリストが
あらかじめ格納されておりまたストリームデータが格納
されるメモリ領域が確保され、前記コマンドリストはそ
れぞれストリームデータが格納されるメモリ領域の先頭
アドレスと格納されるストリームデータのサイズとを含
み、n個のポートに対して兼用されn個のポートのうち
の1個との間で次にストリームデータがDMA転送され
るメモリ領域の先頭アドレスを格納するアドレスカウン
タと、n個のポートに対して兼用され前記アドレスカウ
ンタに格納された先頭アドレスが示すメモリ領域とn個
のポートのうちの1個との間でDMA転送されるストリ
ームデータのサイズを格納するデータカウンタと、1個
のポートにそれぞれ1個が対応しておりそれぞれ特定の
コマンドリストが格納されているメモリのアドレスを格
納するn個のチェインアドレスカウンタとを備え、特定
のチェインアドレスカウンタに格納されたアドレスが示
すコマンドリストはそのコマンドリストに含まれるメモ
リ領域の先頭アドレスが前記アドレスカウンタの内容と
対応しそのコマンドリストに含まれるストリームデータ
のサイズが前記データカウンタの内容と対応し、前記デ
ータ転送装置は、さらに、前記特定のチェインアドレス
カウンタに対応するポートと前記アドレスカウンタに格
納された先頭アドレスが示すメモリ領域との間で前記デ
ータカウンタに格納されたサイズのストリームデータを
DMA転送するストリームデータ転送手段を備えること
を特徴とする。
(Only the structure of the DMA register) As is clear from the above description, the data transfer device according to the present invention is a data transfer device that DMA-transfers stream data between n ports and a memory. Is an integer of 2 or more, at least one set of command lists is stored in the memory in advance, and a memory area for storing stream data is reserved. Each of the command lists is a memory area for storing stream data. And the size of the stream data to be stored, which is also used for the n ports and which is the start of the memory area where the next stream data is DMA-transferred to one of the n ports The address counter for storing the address is also used for the n ports and stored in the address counter. A data counter that stores the size of stream data that is DMA-transferred between the memory area indicated by the head address and one of the n ports, one for each port and one for each port And a chain address counter for storing the address of the memory in which the command list is stored. The command list indicated by the address stored in the specific chain address counter is the head address of the memory area included in the command list. Corresponds to the content of the address counter, the size of the stream data included in the command list corresponds to the content of the data counter, and the data transfer device further includes a port and the address corresponding to the specific chain address counter. Memory indicated by the start address stored in the counter Characterized in that it comprises the stream data transferring means for DMA transferring the stream data stored size to the data counter with the frequency.

【0138】これによって、アドレスカウンタとデータ
カウンタとストリームデータ転送手段とが、複数のポー
トに対して兼用される。従って、比較的少ないハードウ
エア量で、複数のポートに複数のストリームデータを転
送することができ、しかも拡張が容易である。 (コマンドリスト生成手段の追加)ここで、前記データ
転送装置は、さらに、コマンドリストを生成し前記メモ
リに格納しこのコマンドリストのアドレスをストリーム
データがDMA転送されるポートに対応するチェインア
ドレスカウンタに転送するコマンドリスト生成手段を備
えることを特徴とすることもできる。
As a result, the address counter, the data counter, and the stream data transfer means are shared by a plurality of ports. Therefore, a plurality of stream data can be transferred to a plurality of ports with a relatively small amount of hardware, and expansion is easy. (Addition of command list generating means) Here, the data transfer device further generates a command list, stores the command list in the memory, and stores the address of the command list in a chain address counter corresponding to a port to which stream data is DMA-transferred. It is also possible to provide a command list generating means for transferring.

【0139】これによって、ポート毎にコマンドリスト
を生成することができる。従って、各ポートに均等にD
MA転送を割り当てることも、特定のポートに特定の割
合でDMA転送を割り当てることもできる。 (ポート選択手段とコマンドリスト転送手段の追加)ま
た、前記データ転送装置は、さらに、前記n個のポート
から1個のポートを選択するポート選択手段と、前記ポ
ート選択手段により1個のポートが選択される度に前記
ポート選択手段により選択された1個のポートに対応す
るチェインアドレスカウンタに格納されたアドレスが示
すコマンドリストを取得しそのコマンドリストに含まれ
るメモリ領域の先頭アドレスを前記アドレスカウンタに
転送しそのコマンドリストに含まれるストリームデータ
のサイズを前記データカウンタに転送しまた前記チェイ
ンアドレスカウンタに格納されたアドレスを次のアドレ
スに更新するコマンドリスト転送手段とを備え、前記ス
トリームデータ転送手段は前記コマンドリスト転送手段
によりストリームデータのサイズが前記データカウンタ
に転送される度に前記ポート選択手段により選択された
1個のポートと前記アドレスカウンタに格納された先頭
アドレスが示すメモリ領域との間で前記データカウンタ
に格納されたサイズのストリームデータをDMA転送す
ることを特徴とすることもできる。
As a result, a command list can be generated for each port. Therefore, D is equally assigned to each port.
MA transfers can be assigned, or DMA transfers can be assigned to specific ports at a specific rate. (Addition of port selection means and command list transfer means) Further, the data transfer device further includes a port selection means for selecting one port from the n ports, and one port by the port selection means. Every time a port is selected, a command list indicated by an address stored in a chain address counter corresponding to one port selected by the port selecting means is obtained, and a head address of a memory area included in the command list is obtained by the address counter. Command list transfer means for transferring the size of stream data included in the command list to the data counter, and updating the address stored in the chain address counter to the next address. The means is a stream by the command list transfer means. Each time the data size is transferred to the data counter, the data is stored in the data counter between one port selected by the port selection means and the memory area indicated by the head address stored in the address counter. It may also be characterized in that stream data of a different size is DMA-transferred.

【0140】これによって、順次ポートを選択し、選択
されたポートに対してDMA転送することができる。従
って、複数のポートを調停することができる。 (コマンドの追加とポート選択手段の限定)また、前記
コマンドリストはそれぞれ、さらに、次に選択されるポ
ートを変更するか否かを示すコマンドを含み、前記コマ
ンドリスト転送手段は、さらに、前記ポート選択手段に
より1個のポートが選択される度に前記ポート選択手段
により選択された1個のポートに対応するチェインアド
レスカウンタに格納されたアドレスが示すコマンドリス
トを取得しそのコマンドリストに含まれるコマンドを前
記ポート選択手段へ渡し、前記ポート選択手段は前記ス
トリームデータ転送手段によりDMA転送が終了した場
合にあらかじめ決められた順序と前記コマンドリスト転
送手段に渡されたコマンドとに基づいて次の順番のポー
トを新たに選択するか又は直前に選択したポートを再度
選択することを特徴とすることもできる。
As a result, ports can be sequentially selected and DMA transfer can be performed to the selected port. Therefore, a plurality of ports can be arbitrated. (Addition of Command and Limitation of Port Selection Means) Each of the command lists further includes a command indicating whether or not to change a port to be selected next, and the command list transfer means further includes: Every time one port is selected by the selection means, a command list indicated by an address stored in a chain address counter corresponding to the one port selected by the port selection means is acquired, and a command included in the command list is acquired. To the port selecting means, and the port selecting means transfers the next order based on the predetermined order and the command passed to the command list transferring means when the DMA transfer is completed by the stream data transferring means. It is important to select a new port or to reselect the previously selected port. It can also be a.

【0141】これによって、連続してDMA転送する回
数をポート毎に設定することができる。従って、各ポー
トに均等にDMA転送の回数を割り当てることも、特定
のポートに特定の割合でDMA転送の回数を割り当てる
こともできる。 (転送要求信号の追加)また、前記n個のポートのうち
少なくとも1個からは一定量のストリームデータの転送
要求を示す転送要求信号が出力され、前記データ転送装
置は、さらに、ポート毎に転送要求信号を受信する受信
手段を備え、前記ポート選択手段はポートを選択する場
合に前記受信手段により転送要求信号が受信されたポー
トのみを選択することを特徴とすることもできる。
As a result, the number of consecutive DMA transfers can be set for each port. Therefore, the number of times of DMA transfer can be equally allocated to each port, or the number of times of DMA transfer can be allocated to a specific port at a specific rate. (Addition of transfer request signal) Also, at least one of the n ports outputs a transfer request signal indicating a transfer request for a fixed amount of stream data, and the data transfer device further transfers the transfer request signal for each port. There may be provided receiving means for receiving a request signal, wherein the port selecting means selects only a port for which a transfer request signal has been received by the receiving means when selecting a port.

【0142】これによって、転送要求信号を発信したポ
ートに対してのみDMA転送することができる。従っ
て、ポート毎の転送要求に添ってDMA転送することが
できる。 (転送要求信号を一定時間毎に受信)また、前記n個の
ポートのうち少なくとも1個からは転送要求信号が一定
時間毎に出力され、前記受信手段は、さらに、1個のポ
ートにそれぞれ1個が対応しており前記受信手段により
対応するポートから転送要求信号が受信された場合に要
求ビットをセットするn個の要求ビット記憶手段を含
み、前記コマンドは次に選択されるポートを変更するこ
とを示す場合は、さらに、選択されているポートに対応
する要求ビット記憶手段にセットされた要求ビットをク
リアするか否かを示し、前記ポート選択手段は前記コマ
ンドリスト転送手段に渡されたコマンドに基づいて選択
されているポートに対応する要求ビット記憶手段にセッ
トされた要求ビットをクリアするか又は何もせず、ま
た、ポートを選択する場合に対応する要求ビット記憶手
段に要求ビットがセットされているポートのみを選択す
ることを特徴とすることもできる。
Thus, DMA transfer can be performed only to the port that has transmitted the transfer request signal. Therefore, DMA transfer can be performed according to a transfer request for each port. (Transfer request signal is received at regular intervals) Also, at least one of the n ports outputs a transfer request signal at regular intervals, and the receiving means further outputs one port to each port. And n request bit storage means for setting a request bit when a transfer request signal is received from the corresponding port by the receiving means, wherein the command changes the next selected port. Indicates that the request bit set in the request bit storage unit corresponding to the selected port is to be cleared, and the port selection unit transmits the command passed to the command list transfer unit. Clears the request bit set in the request bit storage means corresponding to the port selected based on the above or does nothing, and selects the port Request bit in the request bit storing means corresponding to the coupling can also be characterized by selecting only port that is set.

【0143】これによって、要求ビットのクリア後に、
転送要求信号を発信したポートに対してのみDMA転送
することができる。従って、ポート毎に同期をとりなが
らDMA転送することができる。 (バス幅変換手段の追加)また、前記データ転送装置
は、さらに、前記ポート選択手段により1個のポートが
選択される度に選択されたポートと前記データカウンタ
に格納されたストリームデータのサイズとに基づいてバ
ス幅変換コマンドを生成しバス幅変換手段へ送信するバ
ス幅変換コマンド生成手段を備え、バス幅変換コマンド
はポートを特定する情報と転送するストリームデータの
データ長を特定する情報とを含み、前記データ転送装置
は、さらに、前記バス幅変換コマンドに基づいて前記バ
ス幅変換コマンドが示すポートのバス幅と前記メモリの
バス幅とを変換しながら当該ポートとの間で前記バス幅
変換コマンドが示すデータ長のストリームデータを転送
するバス幅変換手段を備え、前記バス幅変換手段はn個
のポートに対して兼用され、前記ストリームデータ転送
手段は前記ポート選択手段により選択された1個のポー
トの代わりに前記バス幅変換手段との間でストリームデ
ータをDMA転送することを特徴とすることもできる。
As a result, after clearing the request bit,
DMA transfer can be performed only to the port that transmitted the transfer request signal. Accordingly, DMA transfer can be performed while synchronizing each port. (Addition of bus width conversion means) The data transfer apparatus further includes a port selected each time one port is selected by the port selection means and a size of the stream data stored in the data counter. Bus width conversion command generation means for generating a bus width conversion command based on the command and transmitting the bus width conversion command to the bus width conversion means, wherein the bus width conversion command includes information specifying the port and information specifying the data length of the stream data to be transferred. The data transfer device further includes the bus width conversion between the port and the port while converting the bus width of the port indicated by the bus width conversion command and the bus width of the memory based on the bus width conversion command. A bus width conversion unit for transferring stream data having a data length indicated by the command, wherein the bus width conversion unit is used for n ports. Is, the stream data transfer means may also be characterized by DMA transfers stream data between the bus width converting means instead of one port selected by the port selecting means.

【0144】これによって、バス幅を変更することがで
きるので、各ポートのバス幅とメモリのバス幅とを一致
させなくてもよい。従って、いろいろなバス幅のポート
を接続することができる。また、各ポートへのバス幅を
少なくでき、配線が減少しハードウェアが簡単になる。 (第1バッファ手段の追加)また、前記データ転送装置
は、さらに、前記メモリと前記バス幅変換手段との間で
ストリームデータをバッファリングする第1バッファ手
段を備え、前記第1バッファ手段はn個のポートに対し
て兼用され、前記ストリームデータ転送手段は前記バス
幅変換手段の代わりに前記第1バッファ手段との間でス
トリームデータをDMA転送することを特徴とすること
もできる。
As a result, the bus width can be changed, so that the bus width of each port does not need to match the bus width of the memory. Therefore, ports of various bus widths can be connected. Further, the bus width to each port can be reduced, the wiring is reduced, and the hardware is simplified. (Addition of First Buffer Means) Further, the data transfer apparatus further includes first buffer means for buffering stream data between the memory and the bus width conversion means, and the first buffer means is n. And the stream data transfer means may transfer the stream data to and from the first buffer means by DMA instead of the bus width conversion means.

【0145】これによって、ストリームデータをバッフ
ァリングすることができるので、各ポートとメモリと
の、バス幅の違いや一回の転送速度の差等による総合的
な転送レートの差を調整することができる。従って、メ
モリやシステムバス等のハードウェア資源を有効に活用
することができる。 (第2バッファ手段の追加)また、前記データ転送装置
は、さらに、1個のポートにそれぞれ1個が対応してお
り対応するポートと前記バス幅変換手段との間でストリ
ームデータをバッファリングするn個の第2バッファ手
段を備え、前記バス幅変換手段は当該ポートの代わりに
前記第2バッファ手段との間でストリームデータを転送
することを特徴とすることもできる。
As a result, the stream data can be buffered, so that it is possible to adjust the difference in the overall transfer rate between each port and the memory due to the difference in the bus width, the difference in the transfer rate at one time, and the like. it can. Therefore, hardware resources such as a memory and a system bus can be effectively used. (Addition of a second buffer means) Further, the data transfer device further buffers stream data between a corresponding port and the bus width conversion means, one for each port. It is also possible to provide n number of second buffer means, wherein the bus width conversion means transfers stream data to and from the second buffer means instead of the port.

【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コントローラと接
続されていることを特徴とすることもできる。
As a result, stream data can be buffered, so that fluctuations in DMA transfer can be absorbed by the buffer capacity. Therefore, stable data transfer can be performed to a plurality of ports. (Addition of m-speed port and I / O controller) Further, the data transfer device further DMA-transfers stream data between the m-speed port and the memory, where m is an integer of n or less, and The apparatus further comprises a port corresponding to one of the m second buffer means, a corresponding port or an m × speed port, and a port corresponding to the corresponding second buffer means or an m × speed port. To control the input and output of stream data between
One first I / O controller and one corresponding to one of the (nm) second buffer means other than the m second buffer means, and the corresponding second buffer means And (n-m) second I / O controllers for controlling the input / output of stream data between the I / O port and the corresponding port. Buffering stream data with the I / O controller, the m-times speed port is connected to m first I / O controllers, and the n ports are respectively connected to m first I / O controllers ( (m) second I / O controllers.

【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転送されるポートに
対応するチェインアドレスカウンタに転送することを特
徴とする。
Thus, an input / output port of m-times speed can be handled by adding a small amount of wiring on the port side, and the software can be made almost the same. Therefore, the system is very easy to use. (Data transfer system) A data transfer system according to the present invention is a data transfer system for DMA-transferring stream data from a large-scale storage device to n ports, where n is an integer of 2 or more, and , A memory in which an area for storing stream data is secured, and command list generating means for generating a first command list, wherein the first command list is The data transfer system further includes information specifying the stream data stored in the storage device, information specifying the address of the memory area where the stream data is stored, and information specifying the size of the stored stream data. ,
A first data transfer device that DMA-transfers stream data of a specified size from the large-scale storage device to the memory based on the first command list transferred from the command list generation unit, wherein the command list generation unit includes:
Further, the first command list is transferred to the first data transfer device, a second command list is generated and stored in the memory, and the second command list is stored as a start address of a memory area where stream data is stored. The data transfer system further includes a second data transfer device, and a command indicating whether to change a port to be selected next.
The data transfer device is used for n ports, and stream data is transferred to one of the n ports next to the DMA.
An address counter for storing the start address of the memory area to be transferred; and a DMA transfer from the memory area indicated by the start address stored in the address counter to one of the n ports, which is also used for n ports. A data counter for storing the size of the stream data to be transmitted;
And n chain address counters each storing an address of a memory in which a specific second command list is stored, each of which corresponds to one port, and which is stored in the specific chain address counter. In the second command list indicated by the address, the start address of the memory area included in the second command list corresponds to the contents of the address counter, and the size of the stream data included in the second command list corresponds to the contents of the data counter. The second data transfer device further includes: a port selection unit that selects one port from the n ports; and a port selection unit each time one port is selected by the port selection unit. The address stored in the chain address counter corresponding to the selected one port indicates Get the 2 command list its second
The head address of the memory area included in the command list is transferred to the address counter, the size of the stream data included in the second command list is transferred to the data counter, and the command included in the second command list is transferred to the port selection means. Command list transfer means for transferring the address stored in the chain address counter to the next address, and the one selected by the port selection means from the memory area indicated by the start address stored in the address counter. Stream data transfer means for DMA-transferring stream data of the size stored in the data counter to the number of ports,
The port selecting means newly selects a next-order port based on a predetermined order and a command passed to the command list transferring means when the DMA transfer is completed by the stream data transferring means, or The port selected immediately before is again selected, and the stream data transfer means performs the transfer from the memory area indicated by the head address stored in the address counter each time the size of the stream data is transferred to the data counter by the command list transfer means. The stream data of the size stored in the data counter is DMA-transferred to the one port selected by the port selection means, and the command list generation means further has the size specified by the first data transfer device. Stream data to memory D
After the MA transfer, the address of the second command list is transferred to a chain address counter corresponding to the port to which the stream data is DMA-transferred.

【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データ
転送装置に転送することを特徴とすることもできる。
Further, the data transfer system according to the present invention is a data transfer system for performing DMA transfer of stream data from n ports to a large-scale storage device, where n is an integer of 2 or more, and A large-scale storage device in which an area for storing stream data is secured, a memory in which an area for storing stream data is secured, and command list generation means for generating a second command list and storing the second command list in the memory; The second command list includes a head address of a memory area in which stream data is stored, a size of the stored stream data, and a command indicating whether to change a port to be selected next, and the data transfer system And a second data transfer device, wherein the second data transfer device is also used for n ports. An address counter for storing a start address of a memory area to which stream data is to be DMA-transferred from one of the ports, and an address counter for one of the n ports which is also used for the n ports. A data counter for storing the size of stream data to be DMA-transferred to the memory area indicated by the head address stored in the address counter;
And an n number of chain address counters each storing an address of a memory in which a specific second command list is stored, and a second command list indicated by the address stored in the specific chain address counter. Indicates that the start address of the memory area included in the second command list corresponds to the contents of the address counter, the size of the stream data included in the second command list corresponds to the contents of the data counter, The apparatus further includes a port selecting means for selecting one port from the n ports, and one port selected by the port selecting means each time one port is selected by the port selecting means. Gets the second command list indicated by the address stored in the chain address counter corresponding to The head address of the memory area included in the second command list is transferred to the address counter, the size of the stream data included in the second command list is transferred to the data counter, and the command included in the second command list is transferred to the address counter. A command list transfer unit that transfers the address stored in the chain address counter to the next address, and a command list transfer unit that transfers the address stored in the chain address counter to the next address; Stream data transfer means for DMA-transferring the stream data of the size stored in the data counter to the memory area indicated by the head address, wherein the port selection means is configured to perform the DMA transfer in advance when the stream data transfer means completes the DMA transfer. Fixed order Based on the command passed to the command list transfer means, a new port in the next order is selected or the port selected immediately before is selected again, and the stream data transfer means sets the stream data by the command list transfer means. Stream data of the size stored in the data counter from one port selected by the port selection means to the memory area indicated by the head address stored in the address counter each time the data size is transferred to the data counter The command list generating means further transfers the address of the second command list to the second data transfer device to generate a first command list and stores the first command list in the memory. Information for specifying the stream data stored in the large-scale storage device; The data transfer system further includes information for specifying an address of a memory area in which the stream data is stored and information for specifying the size of the stored stream data.
A first data transfer device for DMA-transferring the stream data of the specified size from the memory to the large-scale storage device based on the command list, wherein the command list generating unit further specifies the size by the second data transfer device The first command list may be transferred to the first data transfer device after waiting for the transferred stream data to be DMA-transferred to the memory.

【0149】これによって、複数のポートを調停するこ
とができるので、複数のストリームデータを効率よく転
送することができる。また、複数の入出力装置に対する
転送を比較的少ないハードウエア量で実現することがで
き、しかも拡張が容易である。さらに、この複数のスト
リームデータは非同期であってもよく、非同期な各ポー
トに均等にDMA転送を割り当てることも、特定のポー
トに特定の割合でDMA転送を割り当てることもでき
る。
As a result, a plurality of ports can be arbitrated, so that a plurality of stream data can be efficiently transferred. Further, transfer to a plurality of input / output devices can be realized with a relatively small amount of hardware, and expansion is easy. Further, the plurality of stream data may be asynchronous, and the DMA transfer can be equally assigned to each asynchronous port, or the DMA transfer can be assigned to a specific port at a specific rate.

【0150】また、互いに他のポートの転送状態に影響
されずに、ストリームデータを転送できる。従って、シ
ステムバス上には各ポートのデータがバースト転送単位
で分散され、システム全体としてマルチポートマルチデ
バイスのデータ転送を効率よく実行できる。
Also, stream data can be transferred without being affected by the transfer status of other ports. Therefore, the data of each port is distributed on the system bus in units of burst transfer, and the data transfer of the multiport multidevice can be efficiently executed as the whole system.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施例におけるデータ転送システムの
概略を示す図である。
FIG. 1 is a diagram schematically illustrating a data transfer system according to an embodiment of the present invention.

【図2】ストリームデータが一次的に格納される、メモ
リ11内に確保されたバッファ領域を示す図である。
FIG. 2 is a diagram showing a buffer area in a memory 11 in which stream data is temporarily stored.

【図3】メモリ11に格納されるコマンドリストの構成
を示す図である。
FIG. 3 is a diagram showing a configuration of a command list stored in a memory 11;

【図4】DMAコマンドビットの内容を示す図である。FIG. 4 is a diagram showing the contents of a DMA command bit.

【図5】マルチストリームインターフェイス15の詳細
な構成を示す図である。
FIG. 5 is a diagram showing a detailed configuration of a multi-stream interface 15;

【図6】図6(a)は、DMAレジスタ22の詳細な構
成を示す図である。図6(b)は、コントロールレジス
タ22gの内部のビットフィールドの構成を示した図で
ある。
FIG. 6A is a diagram showing a detailed configuration of a DMA register 22; FIG. 6B is a diagram showing a configuration of a bit field inside the control register 22g.

【図7】バスコントローラ21の詳細な構成を示す図で
ある。
FIG. 7 is a diagram showing a detailed configuration of a bus controller 21.

【図8】バッファコマンド生成部により生成されるバッ
ファコマンド22pの内部のビットフィールドの構成を
示した図である。
FIG. 8 is a diagram showing a configuration of a bit field inside a buffer command 22p generated by a buffer command generation unit.

【図9】BFIFO23の詳細な構成を示す図である。FIG. 9 is a diagram showing a detailed configuration of a BFIFO 23.

【図10】バッファインターフェイス31の詳細な構成
を示す図である。
FIG. 10 is a diagram showing a detailed configuration of a buffer interface 31.

【図11】バッファレジスタ32の詳細な構成を示す図
である。
11 is a diagram showing a detailed configuration of a buffer register 32. FIG.

【図12】バッファ33aの詳細な構成を示す図であ
る。
FIG. 12 is a diagram showing a detailed configuration of a buffer 33a.

【図13】制御線FP44aを示す図である。FIG. 13 is a diagram showing a control line FP44a.

【図14】本発明に係るデータ転送システムを用いた場
合の、CPU10におけるストリームデータの転送の処
理の流れを示す図である。
FIG. 14 is a diagram showing a flow of a stream data transfer process in the CPU 10 when the data transfer system according to the present invention is used.

【図15】本発明に係るデータ転送システムを用いた場
合の、バスコントローラ21におけるストリームデータ
の転送の処理の流れを示す図である。
FIG. 15 is a diagram showing a flow of a process of transferring stream data in the bus controller 21 when the data transfer system according to the present invention is used.

【図16】本発明に係るデータ転送システムを用いた場
合の、バッファコントローラ30におけるストリームデ
ータのバス変換の処理の流れを示す図である。
FIG. 16 is a diagram showing a flow of a bus data conversion process of the stream data in the buffer controller 30 when the data transfer system according to the present invention is used.

【図17】本発明に係るDMAコントローラ20を用い
た場合の、複数ポートの同時動作の処理を示す図であ
る。
FIG. 17 is a diagram illustrating a process of simultaneous operation of a plurality of ports when the DMA controller 20 according to the present invention is used.

【図18】ポート41aにストリームデータをDMA転
送する為のチェインリストを示す図である。
FIG. 18 is a diagram showing a chain list for DMA-transferring stream data to a port 41a.

【図19】ポート41bにストリームデータをDMA転
送する為のチェインリストを示す図である。
FIG. 19 is a diagram showing a chain list for DMA-transferring stream data to a port 41b.

【図20】ポート41cにストリームデータをDMA転
送する為のチェインリストを示す図である。
FIG. 20 is a diagram showing a chain list for DMA-transferring stream data to a port 41c.

【図21】ポート41dにストリームデータをDMA転
送する為のチェインリストを示す図である。
FIG. 21 is a diagram showing a chain list for DMA-transferring stream data to a port 41d.

【図22】従来のデータ転送システムの概略を示す図で
ある。
FIG. 22 is a diagram schematically showing a conventional data transfer system.

【符号の説明】[Explanation of symbols]

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 ストリームインター
フェイス
10 CPU 11 Memory 12 System Bus 13 SCSI Interface 14a, 14b, 14c, 14d HDD (Hard Disk Drive) 15 Multi-Stream Interface 16a, 16b, 16c Video Monitor 17 Video Cassette Recorder 20 DMA Controller 21 Bus Controller 21a Frame Pulse Receiving Unit 21b Port Selection unit 21c Command list transfer unit 21d Stream data transfer unit 21e Buffer command generation unit 22 DMA register 22a DMA address counter 22b DMA data counter 22c, 22d, 22e, 22f Chain address counter 22g, 22h, 22i, 22j Control register 22k Port number Register 22l RUN (control register configuration required) Element) 22m DONE (Component of control register) 22n IO (Component of control register) 22o FP (Component of control register) 23 BFIFO (Buffer) 24a, 24b I / O port 25a, 25b FIFO (Buffer) 26a Flag EA (control line) 26b flag EB (control line) 26c flag FA (control line) 26d flag FB (control line) 26e FDA (bus) 26f FDB (bus) 30 buffer controller 31 buffer interface 32 buffer register 32a port number register 32b 4 × mode (register) 32c, 32d, 32e, 32f in / out (register) 32g Data length (register) 33a, 33b, 33c, 33d Buffer 34a Field memo 34b WD (data bus for writing) 34c RD (data bus for reading) 34d WRST (control line for writing reset) 34e WCLK (control line for writing clock) 34f RRST (control line for reading reset) 34g RCLK (read clock) Control line) 34h BOA (bus) 34i BOB (bus) 34j, 34k Gate 35a, 35b, 35c, 35d Latch 36 Bus width converter 40a, 40b, 40c, 40d I / O controller 41a, 41b, 41c, 41d Port 424 x port 43 x nmode (control line) 44a, 44b, 44c, 44d FP (control line) 50a, 50b, 50c, 50d Stream interface

Claims (20)

【特許請求の範囲】[Claims] 【請求項1】 n個のポートとメモリとの間で、ストリ
ームデータを、それぞれDMA転送するデータ転送装置
であって、 nは2以上の整数であり、 前記メモリには、少なくとも1組のコマンドリストがあ
らかじめ格納されており、また、ストリームデータが格
納されるメモリ領域が確保され、 前記コマンドリストはそれぞれ、ストリームデータが格
納されるメモリ領域の先頭アドレスと、格納されるスト
リームデータのサイズとを含み、 n個のポートに対して兼用され、n個のポートのうちの
1個との間で、次に、ストリームデータがDMA転送さ
れるメモリ領域の先頭アドレスを格納するアドレスカウ
ンタと、 n個のポートに対して兼用され、前記アドレスカウンタ
に格納された先頭アドレスが示すメモリ領域とn個のポ
ートのうちの1個との間でDMA転送されるストリーム
データのサイズを格納するデータカウンタと、 1個のポートにそれぞれ1個が対応しており、それぞ
れ、特定のコマンドリストが格納されているメモリのア
ドレスを格納するn個のチェインアドレスカウンタとを
備え、 特定のチェインアドレスカウンタに格納されたアドレス
が示すコマンドリストは、そのコマンドリストに含まれ
るメモリ領域の先頭アドレスが前記アドレスカウンタの
内容と対応し、そのコマンドリストに含まれるストリー
ムデータのサイズが前記データカウンタの内容と対応
し、 前記データ転送装置は、さらに、 前記特定のチェインアドレスカウンタに対応するポート
と前記アドレスカウンタに格納された先頭アドレスが示
すメモリ領域との間で、前記データカウンタに格納され
たサイズのストリームデータをDMA転送するストリー
ムデータ転送手段を備えることを特徴とするデータ転送
装置。
1. A data transfer device for DMA-transferring stream data between n ports and a memory, wherein n is an integer of 2 or more, and the memory has at least one set of commands. A list is stored in advance, a memory area for storing stream data is secured, and the command list includes a start address of a memory area for storing stream data and a size of the stored stream data. An address counter that is also used for n ports and stores a head address of a memory area to which stream data is DMA-transferred next to one of the n ports; Of the memory area indicated by the start address stored in the address counter and the port of the n ports. And a data counter for storing the size of the stream data to be DMA-transferred to and from each of the ports, each of which corresponds to one port and stores the address of a memory in which a specific command list is stored. A command list indicated by an address stored in a specific chain address counter has a head address of a memory area included in the command list corresponding to the content of the address counter. The size of the stream data included in the list corresponds to the content of the data counter, and the data transfer device further includes a port corresponding to the specific chain address counter and a memory area indicated by a head address stored in the address counter. And stored in the data counter. Data transfer apparatus comprising: a stream data transferring means for DMA transferring the stream data sizes.
【請求項2】 前記データ転送装置は、さらに、 コマンドリストを生成し、前記メモリに格納し、このコ
マンドリストのアドレスを、ストリームデータがDMA
転送されるポートに対応するチェインアドレスカウンタ
に転送するコマンドリスト生成手段を備えることを特徴
とする請求項1記載のデータ転送装置。
2. The data transfer device further generates a command list, stores the command list in the memory, and uses the address of the command list as a DMA
2. The data transfer device according to claim 1, further comprising a command list generation unit that transfers the command list to a chain address counter corresponding to the port to which the data is transferred.
【請求項3】 前記データ転送装置は、さらに、 前記n個のポートから1個のポートを選択するポート選
択手段と、 前記ポート選択手段により1個のポートが選択される度
に、前記ポート選択手段により選択された1個のポート
に対応するチェインアドレスカウンタに格納されたアド
レスが示すコマンドリストを取得し、そのコマンドリス
トに含まれるメモリ領域の先頭アドレスを前記アドレス
カウンタに転送し、そのコマンドリストに含まれるスト
リームデータのサイズを前記データカウンタに転送し、
また、前記チェインアドレスカウンタに格納されたアド
レスを、次のアドレスに更新するコマンドリスト転送手
段とを備え、 前記ストリームデータ転送手段は、前記コマンドリスト
転送手段によりストリームデータのサイズが前記データ
カウンタに転送される度に、前記ポート選択手段により
選択された1個のポートと前記アドレスカウンタに格納
された先頭アドレスが示すメモリ領域との間で、前記デ
ータカウンタに格納されたサイズのストリームデータを
DMA転送することを特徴とする請求項1記載のデータ
転送装置。
3. The data transfer apparatus further comprises: a port selection unit that selects one port from the n ports; and each time the port selection unit selects one port, the port selection unit selects the port. Acquiring a command list indicated by an address stored in a chain address counter corresponding to one port selected by the means, transferring a head address of a memory area included in the command list to the address counter, Transfer the size of the stream data included in the data counter,
A command list transfer unit that updates an address stored in the chain address counter to a next address, wherein the stream data transfer unit transfers the stream data size to the data counter by the command list transfer unit. Each time the stream data of the size stored in the data counter is DMA-transferred between one port selected by the port selection means and the memory area indicated by the head address stored in the address counter. The data transfer device according to claim 1, wherein
【請求項4】 前記データ転送装置は、さらに、 コマンドリストを生成し、前記メモリに格納し、このコ
マンドリストのアドレスを、ストリームデータがDMA
転送されるポートに対応するチェインアドレスカウンタ
に転送するコマンドリスト生成手段を備えることを特徴
とする請求項3記載のデータ転送装置。
4. The data transfer device further generates a command list, stores the command list in the memory, and uses the address of the command list as a DMA
4. The data transfer device according to claim 3, further comprising a command list generation unit that transfers the command list to a chain address counter corresponding to the port to which the data is transferred.
【請求項5】 前記コマンドリストはそれぞれ、さら
に、次に選択されるポートを変更するか否かを示すコマ
ンドを含み、 前記コマンドリスト転送手段は、さらに、前記ポート選
択手段により1個のポートが選択される度に、前記ポー
ト選択手段により選択された1個のポートに対応するチ
ェインアドレスカウンタに格納されたアドレスが示すコ
マンドリストを取得し、そのコマンドリストに含まれる
コマンドを前記ポート選択手段へ渡し、 前記ポート選択手段は、前記ストリームデータ転送手段
によりDMA転送が終了した場合に、あらかじめ決めら
れた順序と前記コマンドリスト転送手段に渡されたコマ
ンドとに基づいて、次の順番のポートを新たに選択する
か又は直前に選択したポートを再度選択することを特徴
とする請求項3記載のデータ転送装置。
5. The command list further includes a command indicating whether or not to change a port to be selected next, and the command list transfer unit further includes a command for selecting one port by the port selection unit. Each time a port list is selected, a command list indicated by an address stored in a chain address counter corresponding to one port selected by the port selection unit is obtained, and a command included in the command list is sent to the port selection unit. When the DMA transfer is completed by the stream data transfer unit, the port selection unit newly sets a next-order port based on a predetermined order and a command passed to the command list transfer unit. 4. The port according to claim 3, wherein the port selected before is selected again. Over data transfer device.
【請求項6】 前記データ転送装置は、さらに、 コマンドリストを生成し、前記メモリに格納し、このコ
マンドリストのアドレスを、ストリームデータがDMA
転送されるポートに対応するチェインアドレスカウンタ
に転送するコマンドリスト生成手段を備えることを特徴
とする請求項5記載のデータ転送装置。
6. The data transfer device further generates a command list, stores the command list in the memory, and uses the address of the command list as a DMA
6. The data transfer device according to claim 5, further comprising a command list generating unit that transfers the command list to a chain address counter corresponding to the port to which the data is transferred.
【請求項7】 前記n個のポートのうち少なくとも1個
からは、一定量のストリームデータの転送要求を示す転
送要求信号が出力され、 前記データ転送装置は、さらに、 ポート毎に転送要求信号を受信する受信手段を備え、 前記ポート選択手段は、ポートを選択する場合に、前記
受信手段により転送要求信号が受信されたポートのみを
選択することを特徴とする請求項5記載のデータ転送装
置。
7. A transfer request signal indicating a transfer request for a fixed amount of stream data is output from at least one of the n ports, and the data transfer device further outputs a transfer request signal for each port. 6. The data transfer apparatus according to claim 5, further comprising a receiving unit for receiving, wherein the port selecting unit selects only a port for which a transfer request signal has been received by the receiving unit when selecting a port.
【請求項8】 前記データ転送装置は、さらに、 コマンドリストを生成し、前記メモリに格納し、このコ
マンドリストのアドレスを、ストリームデータがDMA
転送されるポートに対応するチェインアドレスカウンタ
に転送するコマンドリスト生成手段を備えることを特徴
とする請求項7記載のデータ転送装置。
8. The data transfer device further generates a command list, stores the command list in the memory, and uses the address of the command list as a stream data in the DMA.
8. The data transfer device according to claim 7, further comprising: a command list generating unit that transfers the command list to a chain address counter corresponding to the port to which the data is transferred.
【請求項9】 前記n個のポートのうち少なくとも1個
からは、転送要求信号が一定時間毎に出力され、 前記受信手段は、さらに、 1個のポートにそれぞれ1個が対応しており、前記受信
手段により対応するポートから転送要求信号が受信され
た場合に、要求ビットをセットするn個の要求ビット記
憶手段を含み、 前記コマンドは、次に選択されるポートを変更すること
を示す場合は、さらに、選択されているポートに対応す
る要求ビット記憶手段にセットされた要求ビットをクリ
アするか否かを示し、 前記ポート選択手段は、前記コマンドリスト転送手段か
ら渡されたコマンドに基づいて、選択されているポート
に対応する要求ビット記憶手段にセットされた要求ビッ
トをクリアするか又は何もせず、また、ポートを選択す
る場合に、対応する要求ビット記憶手段に要求ビットが
セットされているポートのみを選択することを特徴とす
る請求項7記載のデータ転送装置。
9. A transfer request signal is output from at least one of the n ports at regular intervals, and the receiving means further comprises one port corresponding to one port, When the transfer means receives a transfer request signal from a corresponding port by the receiving means, the apparatus includes n request bit storage means for setting a request bit, wherein the command indicates that a next selected port is to be changed Further indicates whether to clear the request bit set in the request bit storage means corresponding to the selected port, the port selection means, based on the command passed from the command list transfer means Clears or does not do any request bit set in the request bit storage means corresponding to the selected port, and when selecting a port, Data transfer apparatus according to claim 7, wherein the request bit in the request bit storing means for selects only port that is set.
【請求項10】 前記データ転送装置は、さらに、 コマンドリストを生成し、前記メモリに格納し、このコ
マンドリストのアドレスを、ストリームデータがDMA
転送されるポートに対応するチェインアドレスカウンタ
に転送するコマンドリスト生成手段を備えることを特徴
とする請求項9記載のデータ転送装置。
10. The data transfer apparatus further generates a command list, stores the command list in the memory, and stores an address of the command list in
10. The data transfer device according to claim 9, further comprising a command list generating unit that transfers the command list to a chain address counter corresponding to the port to which the data is transferred.
【請求項11】 前記データ転送装置は、さらに、 前記ポート選択手段により1個のポートが選択される度
に、選択されたポートと前記データカウンタに格納され
たストリームデータのサイズとに基づいて、バス幅変換
コマンドを生成し、バス幅変換手段へ送信するバス幅変
換コマンド生成手段を備え、 バス幅変換コマンドは、ポートを特定する情報と、転送
するストリームデータのデータ長を特定する情報とを含
み、 前記データ転送装置は、さらに、 前記バス幅変換コマンドに基づいて、前記バス幅変換コ
マンドが示すポートのバス幅と前記メモリのバス幅とを
変換しながら、当該ポートとの間で、前記バス幅変換コ
マンドが示すデータ長のストリームデータを転送するバ
ス幅変換手段を備え、 前記バス幅変換手段は、n個のポートに対して兼用さ
れ、 前記ストリームデータ転送手段は、前記ポート選択手段
により選択された1個のポートの代わりに、前記バス幅
変換手段との間で、ストリームデータをDMA転送する
ことを特徴とする請求項9記載のデータ転送装置。
11. The data transfer apparatus according to claim 1, wherein each time one port is selected by said port selection means, based on the selected port and a size of stream data stored in said data counter. A bus width conversion command generation unit that generates a bus width conversion command and transmits the bus width conversion command to the bus width conversion unit, wherein the bus width conversion command includes information specifying a port and information specifying a data length of stream data to be transferred Wherein the data transfer device further converts the bus width of the port indicated by the bus width conversion command and the bus width of the memory, based on the bus width conversion command, between the port and the port. A bus width conversion unit configured to transfer stream data having a data length indicated by the bus width conversion command; The stream data transfer means transfers the stream data to and from the bus width conversion means by DMA instead of one port selected by the port selection means. 9. The data transfer device according to item 9.
【請求項12】 前記データ転送装置は、さらに、 コマンドリストを生成し、前記メモリに格納し、このコ
マンドリストのアドレスを、ストリームデータがDMA
転送されるポートに対応するチェインアドレスカウンタ
に転送するコマンドリスト生成手段を備えることを特徴
とする請求項11記載のデータ転送装置。
12. The data transfer device further generates a command list, stores the command list in the memory, and uses the address of the command list as a DMA
12. The data transfer device according to claim 11, further comprising a command list generating unit that transfers the command list to a chain address counter corresponding to the port to which the data is transferred.
【請求項13】 前記データ転送装置は、さらに、 前記メモリと前記バス幅変換手段との間で、ストリーム
データをバッファリングする第1バッファ手段を備え、 前記第1バッファ手段は、n個のポートに対して兼用さ
れ、 前記ストリームデータ転送手段は、前記バス幅変換手段
の代わりに、前記第1バッファ手段との間で、ストリー
ムデータをDMA転送することを特徴とする請求項11
記載のデータ転送装置。
13. The data transfer device further comprises first buffer means for buffering stream data between the memory and the bus width conversion means, wherein the first buffer means comprises n ports. The stream data transfer means transfers the stream data to and from the first buffer means by DMA instead of the bus width conversion means.
A data transfer device according to claim 1.
【請求項14】 前記データ転送装置は、さらに、 コマンドリストを生成し、前記メモリに格納し、このコ
マンドリストのアドレスを、ストリームデータがDMA
転送されるポートに対応するチェインアドレスカウンタ
に転送するコマンドリスト生成手段を備えることを特徴
とする請求項13記載のデータ転送装置。
14. The data transfer apparatus further generates a command list, stores the command list in the memory, and uses the address of the command list as the
14. The data transfer device according to claim 13, further comprising a command list generation unit that transfers the command list to a chain address counter corresponding to the port to which the data is transferred.
【請求項15】 前記データ転送装置は、さらに、 1個のポートにそれぞれ1個が対応しており、対応する
ポートと前記バス幅変換手段との間で、ストリームデー
タをバッファリングするn個の第2バッファ手段を備
え、 前記バス幅変換手段は、当該ポートの代わりに、前記第
2バッファ手段との間で、ストリームデータを転送する
ことを特徴とする請求項13記載のデータ転送装置。
15. The data transfer device according to claim 1, further comprising: one port corresponding to one port; and n ports for buffering stream data between the corresponding port and the bus width conversion means. 14. The data transfer device according to claim 13, further comprising a second buffer unit, wherein the bus width conversion unit transfers stream data to and from the second buffer unit instead of the port.
【請求項16】 前記データ転送装置は、さらに、 コマンドリストを生成し、前記メモリに格納し、このコ
マンドリストのアドレスを、ストリームデータがDMA
転送されるポートに対応するチェインアドレスカウンタ
に転送するコマンドリスト生成手段を備えることを特徴
とする請求項15記載のデータ転送装置。
16. The data transfer device further generates a command list, stores the command list in the memory, and uses the address of the command list as a DMA
16. The data transfer device according to claim 15, further comprising a command list generating unit that transfers the command list to a chain address counter corresponding to the port to which the data is transferred.
【請求項17】 前記データ転送装置は、さらに、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コ
ントローラと接続されていることを特徴とする請求項1
5記載のデータ転送装置。
17. The data transfer device according to claim 1, further comprising:
M is an integer equal to or less than n, and the data transfer device further has one corresponding to one of the m second buffer means, and the corresponding port or m × speed port Select and corresponding port or m corresponding to the second buffer means
M first I / O controllers for controlling the input / output of stream data between the double speed port and (nm) second I / O controllers other than the m second buffer means
One of the buffer means corresponds to one of the buffer means, and controls input / output of stream data between the corresponding second buffer means and the corresponding port (n
-M) second I / O controllers, wherein the n second buffer means buffers stream data with a corresponding I / O controller instead of a corresponding port, The m-times ports are connected to m first I / O controllers, and the n ports are respectively connected to m first I / O controllers and (nm) second I / O controllers. 2. The method according to claim 1, wherein
6. The data transfer device according to 5.
【請求項18】 前記データ転送装置は、さらに、 コマンドリストを生成し、前記メモリに格納し、このコ
マンドリストのアドレスを、ストリームデータがDMA
転送されるポートに対応するチェインアドレスカウンタ
に転送するコマンドリスト生成手段を備えることを特徴
とする請求項17記載のデータ転送装置。
18. The data transfer apparatus further generates a command list, stores the command list in the memory, and stores an address of the command list in
18. The data transfer device according to claim 17, further comprising a command list generation unit that transfers the command list to a chain address counter corresponding to the port to be transferred.
【請求項19】 大規模記憶装置から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転
送されるポートに対応するチェインアドレスカウンタに
転送することを特徴とするデータ転送システム。
19. The method according to claim 19, wherein the mass storage device is connected to n ports.
A data transfer system for performing DMA transfer of stream data, wherein n is an integer of 2 or more, and a large-scale storage device in which stream data is stored and an area for storing stream data are reserved in advance. A memory, and a command list generating means for generating a first command list, wherein the first command list includes information specifying stream data stored in the large-scale storage device, and a memory area in which the stream data is stored. The data transfer system further includes: information for specifying the address of the data stream; and information for specifying the size of the stream data to be stored. The stream data of the specified size is DMA-converted from the storage device to the memory. A first data transfer device for transmitting the first command list to the first data transfer device, generating a second command list, storing the second command list in the memory, The second command list includes a start address of a memory area in which stream data is stored, a size of the stored stream data, and a command indicating whether to change a port to be selected next. The system further comprises a second data transfer device, wherein the second data transfer device is also used for n ports, and the stream to be DMA-transferred to one of the n ports, An address counter that stores the start address of the memory area where data is stored. Also used for n ports and stored in the address counter. A data counter for storing the size of the stream data to be MA-transferred from the memory area indicated by the specified start address to one of the n ports, one for each port, and one for each port , An n number of chain address counters storing the addresses of the memories in which the specific second command lists are stored, and the second command list indicated by the addresses stored in the specific chain address counters is the second command list. The head address of the memory area included in the list corresponds to the content of the address counter, the size of the stream data included in the second command list corresponds to the content of the data counter, and the second data transfer device further includes: Port selecting means for selecting one port from the n ports; Every time one port is selected by the stage, a second command list indicated by the address stored in the chain address counter corresponding to the one port selected by the port selecting means is obtained, and the second command list is obtained. The head address of the memory area included in the list is transferred to the address counter, the size of the stream data included in the second command list is transferred to the data counter, and the command included in the second command list is selected by the port selection. Command list transfer means for transferring the address stored in the chain address counter to the next address, and selecting from the memory area indicated by the start address stored in the address counter by the port selection means. One
Stream data transfer means for transferring the stream data of the size stored in the data counter to the plurality of ports by DMA, and the port selecting means determines in advance when the stream data transfer means terminates the DMA transfer. Based on the given order and the command passed to the command list transfer means, a new port in the next order is selected or the port selected just before is selected again, and the stream data transfer means Each time the size of the stream data is transferred to the data counter by the list transfer means, the data counter is transferred from the memory area indicated by the head address stored in the address counter to one port selected by the port selection means. The stream data of the size stored in
A, and the command list generating means further waits for the stream data whose size is specified by the first data transfer device to be DMA-transferred to the memory, and stores the address of the second command list in the stream data. Data transfer to a chain address counter corresponding to a port to which DMA transfer is performed.
【請求項20】 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データ転送装置に転送することを
特徴とするデータ転送システム。
20. From n ports to a mass storage device,
A data transfer system that DMA-transfers stream data, wherein n is an integer of 2 or more, and a large-scale storage device in which an area for storing stream data is secured; A secured memory; and a command list generating means for generating a second command list and storing the generated command list in the memory. The second command list includes a head address of a memory area where stream data is stored, The data transfer system further includes a second data transfer device, and a command indicating whether to change a port to be selected next. The stream data is DMA-transferred from one of the n ports to the n ports. An address counter for storing the start address of the memory area to be used, and DMA transfer from one of the n ports to the memory area indicated by the start address stored in the address counter, which is also used for n ports. A data counter for storing the size of stream data to be transmitted, and n chains for storing addresses of memories each storing a specific second command list, one for each port. The second command list indicated by the address stored in the specific chain address counter includes a first address of a memory area included in the second command list, and a second address of the second counter. The size of the stream data included in the command list corresponds to the content of the data counter. The second data transfer device further includes: a port selection unit that selects one port from the n ports; and each time one port is selected by the port selection unit, the port selection unit Obtains the second command list indicated by the address stored in the chain address counter corresponding to the one port selected by the above, transfers the head address of the memory area included in the second command list to the address counter, The size of the stream data included in the second command list is transferred to the data counter, the command included in the second command list is passed to the port selection means, and the address stored in the chain address counter is Command list transfer means for updating to the next address, selected by the port selection means Stream data transfer means for DMA-transferring stream data of the size stored in the data counter from one of the obtained ports to the memory area indicated by the head address stored in the address counter, When the DMA transfer is completed by the stream data transfer means, a port in the next order is newly selected or immediately before, based on a predetermined order and a command passed to the command list transfer means. The selected port is selected again, and the stream data transfer means, each time the size of the stream data is transferred to the data counter by the command list transfer means, from one port selected by the port selection means. Memory area indicated by the start address stored in the address counter The stream data size stored in the data counter DM
A, the command list generating means further transfers an address of the second command list to the second data transfer device, generates a first command list, stores the first command list in the memory, and stores the first command list in the memory. Includes information specifying the stream data stored in the large-scale storage device, information specifying the address of the memory area where the stream data is stored, and information specifying the size of the stored stream data, The data transfer system further includes a first data transfer device that DMA-transfers the stream data of the specified size from the memory to the large-scale storage device based on the first command list transferred from the command list generation unit. The command list generating means further specifies the size by the second data transfer device. Stream data waiting to be DMA transferred to the memory, the data transfer system, characterized in that for transferring the first command list to the first data transfer device.
JP28549797A 1996-10-18 1997-10-17 Data transfer device and data transfer system Expired - Lifetime JP3484056B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28549797A JP3484056B2 (en) 1996-10-18 1997-10-17 Data transfer device and data transfer system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8-275774 1996-10-18
JP27577496 1996-10-18
JP28549797A JP3484056B2 (en) 1996-10-18 1997-10-17 Data transfer device and data transfer system

Publications (2)

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

Family

ID=26551614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28549797A Expired - Lifetime JP3484056B2 (en) 1996-10-18 1997-10-17 Data transfer device and data transfer system

Country Status (1)

Country Link
JP (1) JP3484056B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005352594A (en) * 2004-06-08 2005-12-22 Canon Inc Data transfer device, its control method, data processing device, and program
US7237044B2 (en) 2003-11-04 2007-06-26 Fujitsu Limited Information processing terminal and transfer processing apparatus
JP2009093536A (en) * 2007-10-11 2009-04-30 Yokogawa Electric Corp Data transfer device and semiconductor test device
JP2009277040A (en) * 2008-05-15 2009-11-26 Oki Joho Systems:Kk Data transfer processor and data transfer processing method
JP2010061220A (en) * 2008-09-01 2010-03-18 Sony Computer Entertainment Inc Data transfer apparatus, data transfer method and processor
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
JP2011215957A (en) * 2010-03-31 2011-10-27 Fujitsu Ltd Storage controller, storage system, and storage control method
US8769167B2 (en) 2008-02-27 2014-07-01 Fujitsu Limited Channel device, information processing system and data transfer method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7237044B2 (en) 2003-11-04 2007-06-26 Fujitsu Limited Information processing terminal and transfer processing apparatus
JP2005352594A (en) * 2004-06-08 2005-12-22 Canon Inc Data transfer device, its control method, data processing device, and program
JP4641391B2 (en) * 2004-06-08 2011-03-02 キヤノン株式会社 Direct memory access device, control method therefor, and data processing device
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
JP2009093536A (en) * 2007-10-11 2009-04-30 Yokogawa Electric Corp Data transfer device and semiconductor test device
US8769167B2 (en) 2008-02-27 2014-07-01 Fujitsu Limited Channel device, information processing system and data transfer method
JP2009277040A (en) * 2008-05-15 2009-11-26 Oki Joho Systems:Kk Data transfer processor and data transfer processing method
JP2010061220A (en) * 2008-09-01 2010-03-18 Sony Computer Entertainment Inc Data transfer apparatus, data transfer method and processor
JP2011215957A (en) * 2010-03-31 2011-10-27 Fujitsu Ltd Storage controller, storage system, and storage control method

Also Published As

Publication number Publication date
JP3484056B2 (en) 2004-01-06

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
JP3251815B2 (en) Computer system for efficiently processing data streaming function between peer subsystems
US5832492A (en) Method of scheduling interrupts to the linked lists of transfer descriptors scheduled at intervals on a serial bus
US6947442B1 (en) Data transfer control device and electronic equipment
JP3273202B2 (en) Method of transferring data through a plurality of data channels and circuit architecture thereof
JP2001142842A (en) Dma handshake protocol
CZ290716B6 (en) Multimedia computer system
JPH04222049A (en) Data-stream collecting apparatus enabling attribute data memory and graphic pipeline access
JP3268980B2 (en) Data buffering system
US6154796A (en) Apparatus and method in a network interface device for storing receiving frame status in a holding register
JP4798849B2 (en) Improved graphics engine master mode operation
JP3635169B2 (en) Data transmission device
JP3484056B2 (en) Data transfer device and data transfer system
US5640597A (en) Method and apparatus for servicing simultaneously a plurality of requests for data streams
JPH06161846A (en) File managing device
JPS6145269B2 (en)
US5875299A (en) disk access apparatus for performing a stride processing of data
KR101116613B1 (en) Apparatus and method for memory access control
JP2001067306A (en) Bus interface device and data transfer device
JP2000259523A (en) Data transfer device, lan communication system and data transfer method
JPH0246967B2 (en)
JP2817974B2 (en) Bus interface device
JP2000137676A (en) Buffer control system
JPH0833869B2 (en) Data processing device
JP2001084182A (en) Bus connecting device, computer and recording medium

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