JPH11161467A - Data transfer control device - Google Patents
Data transfer control deviceInfo
- Publication number
- JPH11161467A JPH11161467A JP33000497A JP33000497A JPH11161467A JP H11161467 A JPH11161467 A JP H11161467A JP 33000497 A JP33000497 A JP 33000497A JP 33000497 A JP33000497 A JP 33000497A JP H11161467 A JPH11161467 A JP H11161467A
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- boundary
- value
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Transfer Systems (AREA)
Abstract
(57)【要約】
【課題】 データ転送要求処理を滞らせることなく、ま
た、メモリを効率的に利用できるデータ転送制御装置を
提供する。
【解決手段】 メモリ2aは、バッファコントローラ2
によって二つ(第1BLK,第2BLK)の先入れ先だ
しメモリ(FIFO)として機能させられる。データコ
ントローラ部4は、境界ポインタ値から有効データ数を
減算することで、メモリ残存量(転送可能量)を示す値
を出力する機能部分を有する。そして、メモリ残量とパ
ケットサイズAとを比較する。この比較結果は、第1書
込制御部3Aに与えられる。第1書込制御部3Aは前記
比較結果に基づいてBusy信号をデータ書込要求元に返送
する。即ち、書込制御部3Aは、受信データのパケット
サイズがメモリ残存量よりも大きければ、Busy信号を出
すことになり、以下であれば、第1BLKへの受信デー
タの転送処理を行うことになる。これにより、メモリ2
aを二つの先入れ先だしメモリ(FIFO)として機能
させつつオーバーフローを未然に防止することができ
る。
(57) [Problem] To provide a data transfer control device capable of efficiently using a memory without delaying data transfer request processing. A memory includes a buffer controller.
Thus, two (first BLK, second BLK) first-in first-out memories (FIFOs) are caused to function. The data controller unit 4 has a function part that outputs a value indicating the remaining memory amount (transferable amount) by subtracting the number of valid data from the boundary pointer value. Then, the remaining memory capacity is compared with the packet size A. This comparison result is given to the first write control unit 3A. The first write control unit 3A returns a Busy signal to the data write request source based on the comparison result. That is, if the packet size of the received data is larger than the remaining amount of memory, the write control unit 3A issues a Busy signal. In the following cases, the write control unit 3A performs a process of transferring the received data to the first BLK. . Thereby, the memory 2
The overflow can be prevented beforehand while allowing a to function as two first-in first-out memories (FIFO).
Description
【0001】[0001]
【発明の属する技術分野】本発明は、先入れ先だしメモ
リ(FIFO)を用いる場合のデータ転送制御装置に関
する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer control device using a first-in first-out memory (FIFO).
【0002】[0002]
【従来の技術】特公平3−75906号公報には、FI
FOの使用効率を向上させたバッファメモリ制御装置が
開示されている。この装置は、バッファメモリの読出/
書込指令に応じてカウンタの計数値をアップダウンして
バッファメモリ内のデータ量が一定値以下になったとき
に、データ転送要求信号を出力するものであり、且つ、
インターリーブ構成の主記憶装置に対応できるように、
カウンタの計数値をインターリーブ段数分、加算できる
ようにしたものである。2. Description of the Related Art Japanese Patent Publication No. 3-75906 discloses a FI
There is disclosed a buffer memory control device in which the use efficiency of FO is improved. This device reads / writes buffer memory
A data transfer request signal is output when the count value of the counter is increased or decreased in response to the write command and the amount of data in the buffer memory becomes equal to or less than a certain value, and
In order to be able to correspond to the main storage device of the interleave configuration,
The counter value of the counter can be added by the number of interleaving stages.
【0003】特公平7−78781号公報には、転送用
バッファを使用してデータ転送を行う場合の情報伝送方
法が開示されている。この方法は、データ転送において
転送用バッファの状況を取得し、転送元がこの状況を知
って転送先が受信可能かどうかを判断し、受信可能とな
るまで転送元がデータ転送を待つようにした技術であ
る。[0003] Japanese Patent Publication No. 7-77881 discloses an information transmission method when data is transferred using a transfer buffer. This method acquires the status of the transfer buffer in data transfer, the source knows this status, determines whether the destination can receive, and waits for data transfer until the source becomes available. Technology.
【0004】[0004]
【発明が解決しようとする課題】しかしながら、前記特
公平3−75906号公報の技術では、パケットデータ
のごときフォーマットが一つ或いは複数の種類で予め決
まっていてパケット単位で処理が必要な場合において、
前記の一定値がパケットのデータサイズよりも小さかっ
た場合には、途中までデータを書き込んだ後にオーバー
フローが判明することになり、データ転送要求処理が滞
るということがある。また、バッファメモリにパケット
データが揃う以前にデータ読出処理が行われてしまう
と、データ読出側でアンダーフローが発生し得るという
欠点もある。However, according to the technique disclosed in Japanese Patent Publication No. 3-75906, when a format such as packet data is predetermined in one or more types and it is necessary to perform processing in packet units,
If the above-mentioned fixed value is smaller than the data size of the packet, an overflow will be found after writing data halfway, and the data transfer request processing may be delayed. Further, if data reading processing is performed before packet data is stored in the buffer memory, there is a disadvantage that an underflow may occur on the data reading side.
【0005】また、前記特公平7−78781号公報の
技術では、シリアルバスインターフェースなどのように
連続して書込データを転送するように転送元が構成され
るような場合には、対応できないうという欠点がある。The technique disclosed in Japanese Patent Publication No. 7-77881 cannot cope with a case where a transfer source is configured to transfer write data continuously, such as a serial bus interface. There is a disadvantage that.
【0006】この発明は、上記の事情に鑑み、バッファ
メモリの利用効率を向上するとともに、データ転送要求
処理を滞らせることなく、また、データの転送元が書込
データを連続して転送するように構成される場合にも対
応できるデータ転送制御装置を提供することを目的とす
る。SUMMARY OF THE INVENTION In view of the above circumstances, the present invention improves the use efficiency of a buffer memory, does not delay data transfer request processing, and allows a data transfer source to transfer write data continuously. It is an object of the present invention to provide a data transfer control device that can cope with the case where the data transfer control device is configured as follows.
【0007】[0007]
【課題を解決するための手段】この発明のデータ転送制
御装置は、上記の課題を解決するために、データ転送元
とデータ転送先との間に介在し、転送データをバッファ
メモリに書き込む処理と、バッファメモリからデータを
読み出す処理を行うデータ転送制御装置において、前記
バッファメモリを二つのFIFOブロックとして機能さ
せるためにその境界を示すアドレスを保持する境界ポイ
ンタと、一方のFIFOブロックに対して設けられ、書
込ごとにインクリメントされ、読出ごとにデクリメント
される第1のカウンタと、他方のFIFOブロックに対
して設けられ、書込ごとにデクリメントされ、読出ごと
にインクリメントされる第2のカウンタと、前記一方の
FIFOブロックに対してバッファメモリの下位側アド
レスを開始アドレスとし前記境界ポインタで示されるア
ドレスまでアクセスする第1の書込/読出制御手段と、
前記他方のFIFOブロックに対してバッファメモリの
上位側アドレスを開始アドレスとし前記境界ポインタ+
1で示されるアドレスまでアクセスする第2の書込/読
出制御手段と、を備えたことを特徴とする。In order to solve the above-mentioned problems, a data transfer control device according to the present invention is provided between a data transfer source and a data transfer destination to write transfer data into a buffer memory. A data transfer control device for performing a process of reading data from a buffer memory, wherein a boundary pointer for holding an address indicating a boundary between the buffer memory and the one FIFO block is provided for the buffer memory to function as two FIFO blocks. A first counter incremented for each write and decremented for each read, and a second counter provided for the other FIFO block, decremented for each write and incremented for each read, The lower address of the buffer memory is set to the start address for one FIFO block. A first write / read control means for accessing to the address indicated by the boundary pointer and,
For the other FIFO block, the upper address of the buffer memory is used as a start address and the boundary pointer +
And second write / read control means for accessing the address indicated by 1.
【0008】上記の構成によれば、前記バッファメモリ
を二つのFIFOブロックとして機能させることができ
るとともに、このように機能させるための各FIFOブ
ロックに対するアクセスにおいて、一方のFIFOブロ
ックは下位側のアドレスからのインクリメント動作で行
い、他方のFIFOブロックは上位側のアドレスからの
インクリメント動作で行うので、書込/読出制御手段の
回路構成の複雑化を低減できる。According to the above configuration, the buffer memory can function as two FIFO blocks, and in accessing each FIFO block for such a function, one of the FIFO blocks starts from the lower address. And the other FIFO block performs the increment operation from the upper address, so that the circuit configuration of the write / read control means can be less complicated.
【0009】前記第1のカウンタの値と前記境界ポイン
タの値とから一方のFIFOブロックにおけるデータ格
納可能量を算出する第1の算出手段と、前記第2のカウ
ンタの値と前記境界ポインタ及びバッファメモリの最終
アドレスとに基づく値とから他方のFIFOブロックに
おけるデータ格納可能量を算出する第2の算出手段と、
書き込むべき転送データにおけるフォーマット内のデー
タサイズを抽出する手段と、前記一方のFIFOブロッ
クのデータ格納可能量と前記データサイズとを比較する
第1の比較手段と、前記他方のFIFOブロックのデー
タ格納可能量と前記データサイズとを比較する第2の比
較手段とを備え、前記第1の書込/読出制御手段および
第2の書込/読出制御手段は、それぞれの比較結果に基
づいて書込可能/不可能を判断するように構成されてい
てもよい。A first calculating means for calculating a data storable amount in one FIFO block from a value of the first counter and a value of the boundary pointer; a value of the second counter, the boundary pointer and a buffer; Second calculating means for calculating a data storable amount in the other FIFO block from a value based on the last address of the memory;
Means for extracting a data size in a format of transfer data to be written, first comparing means for comparing the data storable amount of the one FIFO block with the data size, and data storable of the other FIFO block Second comparison means for comparing the amount with the data size, wherein the first write / read control means and the second write / read control means are capable of writing based on the respective comparison results It may be configured to determine whether or not it is possible.
【0010】上記の構成によれば、転送データをバッフ
ァメモリに実際に書き込むのに先立ってオーバーフロー
が発生するか否かを判断し、オーバーフローが発生しな
いと判断できたときに書込処理をするといったことが可
能になる。従って、パケットデータのようなフォーマッ
トが決まっていてパケットひとかたまりでの処理が必要
な場合にも確実にこのひとかたまりのデータをバッファ
メモリに書き込むことができる。即ち、データ書込途中
においてオーバーフローが発生してデータ転送処理を滞
らせる(バッファメモリに対して無意味なアクセスを行
ってしまう)といったことが無くなり、データ転送処理
速度を向上させることができる。According to the above configuration, it is determined whether or not an overflow occurs before actually writing the transfer data to the buffer memory, and when it is determined that the overflow does not occur, the writing process is performed. It becomes possible. Therefore, even when a format such as packet data is determined and processing of a packet is required, the data can be reliably written to the buffer memory. That is, an overflow does not occur during the data writing and the data transfer processing is not interrupted (the meaningless access to the buffer memory is performed), and the data transfer processing speed can be improved.
【0011】書き込むべき転送データにおけるフォーマ
ット内のデータサイズを抽出する手段と、前記第1のカ
ウンタの値と前記データサイズとを加算する第1の加算
手段と、前記第2のカウンタの値と前記データサイズと
を加算する第2の加算手段と、前記第1の加算手段の加
算結果と前記境界ポインタに基づく値とを比較する第1
の比較手段と、前記第2の加算手段の加算結果と前記境
界ポインタ及びバッファメモリの最終アドレスとに基づ
く値とを比較する第2の比較手段とを備え、前記第1の
書込/読出制御手段および第2の書込/読出制御手段
は、それぞれの比較結果に基づいて書込可能/不可能を
判断するように構成されていてもよい。Means for extracting the data size in the format of the transfer data to be written, first adding means for adding the value of the first counter and the data size, and means for adding the value of the second counter to the value of the second counter. A second adding means for adding the data size; and a first adding means for comparing an addition result of the first adding means with a value based on the boundary pointer.
, And second comparing means for comparing the addition result of the second adding means with a value based on the boundary pointer and the last address of the buffer memory, wherein the first write / read control is performed. The means and the second write / read control means may be configured to determine writable / impossible based on the respective comparison results.
【0012】上記の構成によれば、転送データをバッフ
ァメモリに実際に書き込むのに先立ってオーバーフロー
が発生するか否かを判断し、オーバーフローが発生しな
いと判断できたときに書込処理をするといったことが可
能になる。従って、パケットデータのようなフォーマッ
トが決まっていてパケットひとかたまりでの処理が必要
な場合にも確実にこのひとかたまりのデータをバッファ
メモリに書き込むことができる。即ち、データ書込途中
においてオーバーフローが発生してデータ転送処理を滞
らせる(バッファメモリに対して無意味なアクセスを行
ってしまう)といったことが無くなり、データ転送処理
速度を向上させることができる。According to the above configuration, it is determined whether or not an overflow occurs before actually writing the transfer data to the buffer memory, and when it is determined that the overflow does not occur, the writing process is performed. It becomes possible. Therefore, even when a format such as packet data is determined and processing of a packet is required, the data can be reliably written to the buffer memory. That is, an overflow does not occur during the data writing and the data transfer processing is not interrupted (the meaningless access to the buffer memory is performed), and the data transfer processing speed can be improved.
【0013】前記一方のFIFOブロックに格納されて
いる有効データの最大アドレスを検出してこれを第1の
境界アドレスとして保持する第1境界アドレス保持手段
と、前記他方のFIFOブロックに格納されている有効
データの最小アドレスを検出してこれを第2の境界アド
レスとして保持する第2境界アドレス保持手段とを備
え、前記第1の書込/読出制御手段は、その書込アドレ
スを示すライトポインタ値が前記第2境界アドレスに一
致した場合には当該ライトポインタ値を一方のFIFO
ブロックの開始アドレスに戻し、前記第2の書込/読出
制御手段は、その書込アドレスを示すライトポインタ値
が前記第1境界アドレスに一致した場合には当該ライト
ポインタ値を他方のFIFOブロックの開始アドレスに
戻すように構成されていてもよい。[0013] First boundary address holding means for detecting the maximum address of valid data stored in the one FIFO block and storing the same as a first boundary address, and stored in the other FIFO block. Second boundary address holding means for detecting a minimum address of valid data and holding the same as a second boundary address, wherein the first write / read control means includes a write pointer value indicating the write address. Is equal to the second boundary address, the write pointer value is
When the write pointer value indicating the write address coincides with the first boundary address, the second write / read control unit returns the write pointer value to the other FIFO block. It may be configured to return to the start address.
【0014】上記の構成によれば、各FIFOブロック
の利用状況に応じてそのサイズが動的に変動することに
なり、メモリ使用の効率化が図られ、システムのスルー
プットが向上する。According to the above configuration, the size of each FIFO block dynamically fluctuates in accordance with the use status of the FIFO block, thereby increasing the efficiency of memory use and improving the system throughput.
【0015】前記第1の境界アドレスとして採りうる値
の限界値を外部から設定することができる第1のリミッ
ト手段と、第2の境界アドレスとして採りうる値の限界
値を外部から設定することができる第2のリミット手段
とを備え、前記第1境界アドレス保持手段は、最大アド
レスが前記限界値を下回る状態では、前記限界値を第1
の境界アドレスとして保持し、前記第2境界アドレス保
持手段は、最小アドレスが前記限界値を上回る状態で
は、前記限界値を第2の境界アドレスとして保持するよ
うに構成されていてもよい。[0015] A first limit means capable of externally setting a limit value of a value which can be taken as the first boundary address, and a limit value of a value which can be taken as a second boundary address are set externally. Second limit means capable of holding, wherein the first boundary address holding means sets the limit value to the first value when the maximum address is lower than the limit value.
The second boundary address holding means may be configured to hold the limit value as a second boundary address when the minimum address exceeds the limit value.
【0016】上記の構成によれば、各FIFOブロック
の利用状況に応じてそのサイズが動的に変動するととも
に、各FIFOブロックとしての最低限の領域が確保さ
れるので、各FIFOブロックに対するアクセスを保証
することができる。According to the above configuration, the size of each FIFO block dynamically fluctuates in accordance with the use condition thereof, and a minimum area as each FIFO block is secured, so that access to each FIFO block is restricted. Can be guaranteed.
【0017】[0017]
【発明の実施の形態】(実施の形態1)以下、この発明
の実施の形態を図に基づいて説明する。(Embodiment 1) Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
【0018】メモリ2aは、バッファコントローラ2に
よって二つ(第1BLK,第2BLK)の先入れ先だし
メモリ(FIFO)として機能させられる。即ち、バッ
ファコントローラ2は、メモリ2aを二つのFIFOの
ようにアクセスする制御を行う。この例では、第1BL
Kはメモリ2aの最下位アドレスから境界アドレスまで
アクセスされ、第2BLKはメモリ2aの最上位アドレ
スから境界アドレス+1までアクセスされる。メモリ2
aとデータ転送元であるデータ書込要求元(例えば、通
信バスに接続されるインターフェース)との間には二つ
書込制御部3A,3Bが介在しており、メモリ2aとデ
ータ転送先であるデータ読出要求側(例えば、ホスト)
との間には読出制御部1A,1Bが介在している。な
お、図ではメモリ2aに繋がるデータバスは示していな
い。The memory 2a is caused to function as two (first BLK, second BLK) first-in first-out memories (FIFO) by the buffer controller 2. That is, the buffer controller 2 controls to access the memory 2a like two FIFOs. In this example, the first BL
K is accessed from the lowest address of the memory 2a to the boundary address, and the second BLK is accessed from the highest address of the memory 2a to the boundary address + 1. Memory 2
a and a data write request source (for example, an interface connected to a communication bus) which is a data transfer source, two write control units 3A and 3B are interposed between the memory 2a and the data transfer destination. Some data read requester (eg, host)
The read control units 1A and 1B are interposed between the two. Note that the data bus connected to the memory 2a is not shown in the figure.
【0019】書込制御部3A,3Bは、データの書込が
行われる度にインクリメントされる書込ポインター3A
a,3Baを備え、第1BLKと第2BLKに対する書
込アドレスをそれぞれ生成するとともに、データの書込
タイミングをそれぞれ生成してこれをバッファコントロ
ーラ2に供給する。そして、データ書込要求元からの書
込要求であるライトリクエスト(Writereq)に対し、そ
れぞれ第1BLKおよび第2BLKへのデータの書込を
認めるのであれば、受信したデータを第1BLKおよび
第2BLKにそれぞれ転送し、書込を認めないのであれ
ば、それぞれBusy信号をデータ書込要求元に返送するよ
うになっている。データの書込を認めるか否かの判断
は、後述するデータコントローラ4の出力に基づいて行
う。The write control units 3A and 3B are provided with a write pointer 3A which is incremented each time data is written.
a, 3Ba, and generates write addresses for the first BLK and the second BLK, respectively, generates data write timings, and supplies them to the buffer controller 2. Then, if the write request (Writereq) as a write request from the data write request source is permitted to write data to the first BLK and the second BLK, the received data is written to the first BLK and the second BLK. If they are transferred and writing is not permitted, a Busy signal is returned to the data write request source. The determination as to whether or not to permit data writing is made based on the output of the data controller 4 described later.
【0020】書込制御部3A,3Bに設けられているパ
ケットサイズ検出部3Ab,3Bbには、データ書込要
求元に繋がるデータバス(図示せず)が接続されてお
り、このデータバス上の書込データからパケットサイズ
を抽出する。図11は、書込データのフォーマット例
(IEEE 1394PACKET)を示す説明図であ
る。1394PACKETは、32ビット(1quadlet
)単位で構成され、同図(a)に示しているような、
データフィールド(data field)を伴わないでパケット
サイズが一定(CRCを含めて5quadlet )のものと、
同図(b)に示してるような、データフィールド(data
field)を伴い、パケットサイズが一定でないものとに
分類される。前記のパケットサイズ検出部3Ab,3B
bは、図11(a)のフォーマットの書込データについ
ては、その第1quadlet にある“tcode: ttransaction
code,4bit”をデコードすることでパケットサイズを検
出し、図11(b)のフォーマットの書込データについ
ては、第4quadlet にある“datalength : 16bit,byte
単位”を参照してパケットサイズを検出することにな
る。A data bus (not shown) connected to a data write request source is connected to the packet size detectors 3Ab and 3Bb provided in the write controllers 3A and 3B. Extract the packet size from the write data. FIG. 11 is an explanatory diagram showing a format example of the write data (IEEE 1394 PACKET). 1394 PACKET is a 32-bit (1 quadlet)
) Unit, as shown in FIG.
The packet size is constant without data field (5 quadlet including CRC);
A data field (data) as shown in FIG.
field), the packet size is classified as non-constant. The aforementioned packet size detectors 3Ab and 3B
b shows “tcode: ttransaction” in the first quadlet of the write data in the format of FIG.
The packet size is detected by decoding “code, 4 bits”. For the write data in the format of FIG. 11B, “datalength: 16 bits, bytes” in the fourth quadlet
The packet size is detected by referring to "unit".
【0021】読出制御部1A,1Bは、データの読出が
行われる度にインクリメントされる読出ポインター1A
a,1Bbを備え、第1BLKと第2BLKに対する読
出アドレスをそれぞれ生成するとともに、データの読出
タイミングをそれぞれ生成してこれをバッファコントロ
ーラ2に供給する。そして、データ読出要求側からの読
出要求であるリードリクエスト(Readreq )に対し、そ
れぞれ第1BLKおよび第2BLKからのデータの読出
を認めるのであれば、第1BLKおよび第2BLKから
のデータ読出の許可を示すReadRdy 信号をそれぞれホス
ト側に返送し、読出を認めないのであれば、それぞれRe
adRdy 信号の返送を猶予する。The read control units 1A and 1B are provided with a read pointer 1A which is incremented each time data is read.
a, 1Bb, respectively, generates read addresses for the first BLK and the second BLK, generates data read timings, and supplies them to the buffer controller 2. If the read request (Readreq), which is a read request from the data read request side, is permitted to read data from the first BLK and the second BLK, permission of data read from the first BLK and the second BLK is indicated. Return the ReadRdy signal to the host side.
Delay the return of the adRdy signal.
【0022】境界コントローラ5は、第1BLKと第2
BLKの境界を示す境界ポインター5aを有し、第1B
LKと第2BLKの境界を制御する。The boundary controller 5 comprises a first BLK and a second BLK.
A boundary pointer 5a indicating the boundary of the BLK,
Control the boundary between the LK and the second BLK.
【0023】図2は、データコントローラ部4の具体的
構成を示したブロック図である。そして、図2の(a)
の構成部分は第1BLKや第1書込制御部3Aに対応し
た回路であり、同図の(b)の構成部分は第2BLKや
第2書込制御部3Bに対応した回路である。FIG. 2 is a block diagram showing a specific configuration of the data controller unit 4. Then, FIG.
Is a circuit corresponding to the first BLK and the first write control unit 3A, and the component of FIG. 13B is a circuit corresponding to the second BLK and the second write control unit 3B.
【0024】図2(a)において、データカウント部1
7は、読出制御部1A及び書込制御部3Aに接続されて
おり、読出制御部1Aにおいてバッファコントローラ2
に対する読出アクセスが発生する度にデクリメントさ
れ、書込制御部3Aにおいてバッファコントローラ2に
対する書込アクセスが発生する度にインクリメントされ
るようになっている。なお、カウンタ初期値は“000
0h”としてある。上記のインクリメントとデクリメン
トの処理により、データカウント部17におけるカウン
ト値は、第1BLKに格納されている有効データ数を示
すことになる。In FIG. 2A, the data counting unit 1
Reference numeral 7 is connected to the read control unit 1A and the write control unit 3A.
Is decremented each time a read access to the buffer controller 2A occurs, and is incremented each time a write access to the buffer controller 2 occurs in the write controller 3A. The counter initial value is “000”
The count value in the data counting unit 17 indicates the number of valid data stored in the first BLK by the above-described increment and decrement processing.
【0025】減算器18は、その一つの入力端が前記の
データカウント部17のカウント出力部に接続され、他
の一つの入力端が前記境界ポインター5aの出力部に接
続されており、境界ポインタ値+1(第1BLKにおけ
る最大格納容量を示す)から有効データ数を減算するこ
とで、メモリ残存量(転送可能量)を示す値を出力する
ようになっている。The subtracter 18 has one input terminal connected to the count output unit of the data count unit 17 and the other input terminal connected to the output unit of the boundary pointer 5a. By subtracting the number of valid data from the value + 1 (indicating the maximum storage capacity in the first BLK), a value indicating the remaining memory amount (transferable amount) is output.
【0026】比較器19は、その一つの入力端が前記の
減算器18の出力部に接続され、他の一つの入力端が前
記パケットサイズ検出部3Ab出力部に接続されてお
り、メモリ残量とパケットサイズAとを比較する。この
比較結果A1は、第1書込制御部3Aに与えられ、この
第1書込制御部3Aは前記比較結果A1に基づいてBusy
信号をデータ書込要求元に返送する。即ち、書込制御部
3Aは、受信データのパケットサイズがメモリ残存量よ
りも大きければ、Busy信号を出すことになり、以下であ
れば、第1BLKへの受信データの転送処理を行うこと
になる。これにより、オーバーフローを未然に防止する
ことができる。The comparator 19 has one input terminal connected to the output unit of the subtractor 18 and the other input terminal connected to the output unit of the packet size detection unit 3Ab. And the packet size A. The comparison result A1 is provided to the first write control unit 3A, and the first write control unit 3A performs the Busy based on the comparison result A1.
The signal is returned to the data write request source. That is, if the packet size of the received data is larger than the remaining amount of memory, the write control unit 3A issues a Busy signal. In the following cases, the write control unit 3A performs a process of transferring the received data to the first BLK. . Thereby, overflow can be prevented beforehand.
【0027】加算器20は、その一つの入力端が前記の
データカウント部17のカウント出力部に接続され、他
の一つの入力端が前記パケットサイズ検出部3Ab出力
部に接続されており、パケットサイズAと有効データ数
とを加算することで、パケットデータを格納した場合の
予定有効データ数を出力するようになっている。The adder 20 has one input terminal connected to the count output unit of the data count unit 17 and the other input terminal connected to the output unit of the packet size detection unit 3Ab. By adding the size A and the number of valid data, the expected number of valid data when packet data is stored is output.
【0028】比較器21は、その一つの入力端が前記境
界ポインター5aの出力部に接続され、他の一つの入力
端が前記加算器20の出力部に接続されており、境界ポ
インタ値+1(第1BLKにおける最大格納容量を示
す)と予定有効データ数とを比較する。この比較結果A
2は、第1書込制御部3Aに与えられ、この第1書込制
御部3Aは前記比較結果A2に基づいてBusy信号をデー
タ書込要求元に返送する。即ち、書込制御部3Aは、予
定有効データ数が境界ポインタ値+1を上回ることにな
れば、Busy信号を出すことになり、以下であれば、第1
BLKへの受信データの転送処理を行うことになる。こ
れにより、オーバーフローを未然に防止することができ
る。The comparator 21 has one input terminal connected to the output of the boundary pointer 5a and the other input terminal connected to the output of the adder 20. The maximum storage capacity in the first BLK) and the planned number of valid data. This comparison result A
2 is given to the first write control unit 3A, and the first write control unit 3A returns a Busy signal to the data write request source based on the comparison result A2. That is, the write control unit 3A issues a Busy signal when the planned number of valid data exceeds the boundary pointer value + 1.
The process of transferring the received data to the BLK will be performed. Thereby, overflow can be prevented beforehand.
【0029】なお、図2(a)では比較結果A1および
A2を出力するようにしたが、実際にはいずれか一つの
比較結果を出力するように構成すればよい。Although the comparison results A1 and A2 are output in FIG. 2A, in practice, any one of the comparison results may be output.
【0030】図2(b)において、データカウント部2
6は、読出制御部1B及び書込制御部3Bに接続されて
おり、読出制御部1Bにおいてバッファコントローラ2
に対する読出アクセスが発生する度にデクリメントさ
れ、書込制御部3Bにおいてバッファコントローラ2に
対する書込アクセスが発生する度にインクリメントされ
るようになっている。なお、カウンタ初期値は“000
0h”としてある。上記のインクリメントとデクリメン
トの処理により、データカウント部26におけるカウン
ト値は、第2BLKに格納されている有効データ数を示
すことになる。In FIG. 2B, the data counting unit 2
6 is connected to the read control unit 1B and the write control unit 3B, and the buffer controller 2 is connected to the read control unit 1B.
Is decremented each time a read access to the buffer controller 2 occurs, and is incremented each time a write access to the buffer controller 2 occurs in the write control unit 3B. The counter initial value is “000”
0h ". The count value in the data count unit 26 indicates the number of valid data stored in the second BLK by the above-described increment and decrement processing.
【0031】減算器22は、その一つの入力端が前記の
データカウント部26のカウント出力部に接続され、他
の一つの入力端が前記境界コントローラ5の出力部に接
続されており、メモリ2aの最大アドレスである“FF
FFh”(説明の簡単のために“FFFFh”としてい
る)から境界ポインタ値を引いた値(第2BLKにおけ
る最大格納容量を示す)から有効データ数を減算するこ
とで、メモリ残存量(転送可能量)を示す値を出力する
ようになっている。The subtracter 22 has one input terminal connected to the count output portion of the data counting portion 26 and the other input terminal connected to the output portion of the boundary controller 5. Is the maximum address of "FF
By subtracting the number of valid data from the value (indicating the maximum storage capacity in the second BLK) obtained by subtracting the boundary pointer value from "FFh"("FFFFh" for simplicity of explanation), the remaining memory amount (transferable amount) ) Is output.
【0032】比較器23は、その一つの入力端が前記の
減算器22の出力部に接続され、他の一つの入力端が前
記パケットサイズ検出部3Bb出力部に接続されてお
り、メモリ残量とパケットサイズBとを比較する。この
比較結果B1は、第2書込制御部3Bに与えられ、この
第2書込制御部3Bは前記比較結果B1に基づいてBusy
信号をデータ書込要求元に返送する。即ち、書込制御部
3Bは、受信データのパケットサイズがメモリ残存量よ
りも大きければ、Busy信号を出すことになり、以下であ
れば、第2BLKへの受信データの転送処理を行うこと
になる。これにより、オーバーフローを未然に防止する
ことができる。The comparator 23 has one input terminal connected to the output unit of the subtractor 22 and the other input terminal connected to the output unit of the packet size detection unit 3Bb. And the packet size B. The comparison result B1 is provided to the second write control unit 3B, and the second write control unit 3B performs the Busy operation based on the comparison result B1.
The signal is returned to the data write request source. That is, if the packet size of the received data is larger than the remaining memory amount, the write control unit 3B issues a Busy signal, and if not, performs the process of transferring the received data to the second BLK. . Thereby, overflow can be prevented beforehand.
【0033】加算器24は、その一つの入力端が前記の
データカウント部26のカウント出力部に接続され、他
の一つの入力端が前記パケットサイズ検出部3Bb出力
部に接続されており、パケットサイズBと有効データ数
とを加算することで、パケットデータを格納した場合の
予定有効データ数を出力するようになっている。The adder 24 has one input terminal connected to the count output unit of the data count unit 26 and the other input terminal connected to the packet size detection unit 3Bb output unit. By adding the size B and the number of valid data, the expected number of valid data when packet data is stored is output.
【0034】比較器25は、その一つの入力端が前記境
界コントローラ5の出力部に接続され、他の一つの入力
端が前記加算器24の出力部に接続されており、“FF
FFh”から境界ポインタ値を引いた値と予定有効デー
タ数とを比較する。この比較結果B2は、第2書込制御
部3Bに与えられ、この第2書込制御部3Bは前記比較
結果B2に基づいてBusy信号をデータ書込要求元に返送
する。即ち、書込制御部3Bは、予定有効データ数が第
2BLKにおける最大格納容量を上回ることになれば、
Busy信号を出すことになり、以下であれば、第2BLK
への受信データの転送処理を行うことになる。これによ
り、オーバーフローを未然に防止することができる。The comparator 25 has one input terminal connected to the output of the boundary controller 5 and the other input terminal connected to the output of the adder 24.
The value obtained by subtracting the boundary pointer value from FFh "is compared with the expected number of valid data. The comparison result B2 is given to the second write control unit 3B, and the second write control unit 3B compares the comparison result B2 In other words, the write control unit 3B returns the Busy signal to the source of the data write request based on the maximum valid storage capacity in the second BLK.
A Busy signal will be output, and if
The transfer processing of the received data is performed. Thereby, overflow can be prevented beforehand.
【0035】なお、図2(b)では比較結果B1および
B2を出力するようにしたが、実際にはいずれか一つの
比較結果を出力するように構成すればよい。In FIG. 2B, the comparison results B1 and B2 are output, but in practice, any one of the comparison results may be output.
【0036】(実施の形態2)全体構成は図1と同様で
あるが、境界コントローラ5は、図3のごとく構成され
ており、データコントローラ4は、図4のごとく構成さ
れている。なお、図4においては、説明の便宜上、図2
と同一の機能部分には同一の符号を付記してその説明を
省略する。(Embodiment 2) The overall configuration is the same as in FIG. 1, but the boundary controller 5 is configured as shown in FIG. 3, and the data controller 4 is configured as shown in FIG. In FIG. 4, for convenience of explanation, FIG.
The same functional portions as those described above are denoted by the same reference numerals, and description thereof will be omitted.
【0037】図3において、第1境界ポインター5a1
は、第1BLKに書き込まれている有効データの最大ア
ドレスを示す。第1リミットポインター5a2 は、ユー
ザーが任意に設定したアドレスを保持する。第2境界ポ
インター5a3 は、第2BLKに書き込まれている有効
データの最小アドレスを示す。第2リミットポインター
5a4 は、ユーザーが任意に設定したアドレスを保持す
る。In FIG. 3, the first boundary pointer 5a 1
Indicates the maximum address of valid data written in the first BLK. First limit pointer 5a 2 holds the address that the user has arbitrarily set. Second boundary pointer 5a 3 shows the minimum address of the valid data written to the 2BLK. Second limit pointer 5a 4 holds the address that the user has arbitrarily set.
【0038】図5は、境界アドレスAの生成方法を示し
たフローチャートである。まず、ライトポインタ値Aと
リードポインタ値Aとを比較する(ステップ1)。両値
が等しいか又はライトポインタ値Aの方が大きい場合に
は、第1境界ポインタ5a1の値としてライトポインタ
値A−1を入れ(ステップ3)、ステップ1に戻る。一
方、ライトポインタ値Aの方が小さい場合には、リード
ポインタ値A−1が第1境界ポインタ5a1 の値に一致
するか否かを判断する(ステップ2)。一致しない場合
には、ステップ1に進み、一致する場合にはステップ3
に進む。かかる処理により、前記第1境界ポインタ5a
1 の値が境界アドレスAとなる。FIG. 5 is a flowchart showing a method for generating the boundary address A. First, the write pointer value A and the read pointer value A are compared (step 1). If the larger of the two values are equal to or write pointer value A, the first value of the boundary pointer 5a 1 put the write pointer value A-1 (Step 3), the flow returns to step 1. On the other hand, if the direction of the write pointer value A is small, it is determined whether the read pointer value A-1 is equal to the first value of the boundary pointer 5a 1 (Step 2). If they do not match, proceed to step 1; if they do match, step 3
Proceed to. With this processing, the first boundary pointer 5a
The value of 1 becomes the boundary address A.
【0039】図6は、境界アドレスBの生成方法を示し
たフローチャートである。まず、ライトポインタ値Bと
リードポインタ値Bとを比較する(ステップ4)。両値
が等しいか又はライトポインタ値Bの方が小さい場合に
は、第2境界ポインタ5a2の値としてライトポインタ
値B+1を入れ(ステップ6)、ステップ4に戻る。一
方、ライトポインタ値Bの方が大きい場合には、リード
ポインタ値B+1が第2境界ポインタ5a2 の値に一致
するか否かを判断する(ステップ5)。一致しない場合
には、ステップ4に進み、一致する場合にはステップ6
に進む。かかる処理により、前記第2境界ポインタ5a
2 の値が境界アドレスBとなる。FIG. 6 is a flowchart showing a method of generating the boundary address B. First, the write pointer value B and the read pointer value B are compared (step 4). If towards the two values are equal to or write pointer value B is small, as the value of the second boundary pointer 5a 2 placed write pointer value B + 1 (step 6), the flow returns to step 4. On the other hand, if the direction of the write pointer value B is large, it is determined whether or not a read pointer value B + 1 is equal to the second value of the boundary pointer 5a 2 (Step 5). If they do not match, proceed to step 4; if they do match, step 6
Proceed to. With this processing, the second boundary pointer 5a
The value of 2 becomes the boundary address B.
【0040】第1BLK,第2BLKに対する書込可能
の判断は、図4に示している比較結果出力によ判断され
る。なお、図4と図2との相違は、減算器18について
は、その一方の入力端に入力される値が、ポインタ値B
となっており、減算器22については、その一方の入力
端に入力される値がFFFFh−境界ポインタ値Aとな
っている点である。The determination as to whether writing is possible for the first BLK and the second BLK is made based on the comparison result output shown in FIG. The difference between FIG. 4 and FIG. 2 is that the value input to one input terminal of the subtractor 18 is the pointer value B.
And the value input to one input terminal of the subtractor 22 is FFFFh-boundary pointer value A.
【0041】図7は、第1BLKに関与するライトポイ
ンタ3Aaの決定処理を示したフローチャートである。
まず、第1BLKに対するデータの書込が可能か否かを
判断し(ステップ11)、不可能ならステップ11に進
み、可能ならデータを書き込み、ライトポインタ3Aa
の値をインクリメントする(ステップ12)。次に、ラ
イトポインタ3Aaの値が第2境界ポインタ5a3 の値
と一致するかどうかを判断し(ステップ13)、一致し
ないならステップ11に進み、一致するならライトポイ
ンタ3Aaの値をその初期値である“0000h”とす
る。FIG. 7 is a flowchart showing a process for determining the write pointer 3Aa related to the first BLK.
First, it is determined whether or not data can be written to the first BLK (step 11). If not, the process proceeds to step 11, if possible, data is written and the write pointer 3Aa
Is incremented (step 12). Next, it is determined whether the value of the write pointer 3Aa matches the value of the second boundary pointer 5a 3 (step 13), the process proceeds to step 11 if no match, the value its initial value of the write pointer 3Aa if matches "0000h".
【0042】図8は、第2BLKに関与するライトポイ
ンタ3Baの決定処理を示したフローチャートである。
まず、第2BLKに対するデータの書込が可能か否かを
判断し(ステップ15)、不可能ならステップ15に進
み、可能ならデータを書き込み、ライトポインタ3Ba
の値をデクリメントする(ステップ16)。次に、ライ
トポインタ3Baの値が第1境界ポインタ5a1 の値と
一致するかどうかを判断し(ステップ17)、一致しな
いならステップ15に進み、一致するならライトポイン
タ3Baの値をその初期値である“FFFFh”とす
る。FIG. 8 is a flowchart showing a process for determining the write pointer 3Ba involved in the second BLK.
First, it is determined whether data can be written to the second BLK (step 15). If not, the process proceeds to step 15; if possible, data is written and the write pointer 3Ba is written.
Is decremented (step 16). Next, it is determined whether the value of the write pointer 3Ba matches the first value of the boundary pointer 5a 1 (step 17), the process proceeds to step 15 if no match, the value its initial value of the write pointer 3Ba if matches "FFFFh".
【0043】以上のような処理が行われることにより、
一つのメモリ2aを二つのFIFO(第1BLK,第2
BLK)として用いるとき、それらの境界を可変とする
ことができ、アクセスの変化に対応することが可能とな
る。よって、メモリ2aの使用効率が向上する。By performing the above processing,
One memory 2a is divided into two FIFOs (first BLK, second
When used as BLK), those boundaries can be made variable and it is possible to cope with a change in access. Therefore, the use efficiency of the memory 2a is improved.
【0044】上述した例では、第1BLKおよび第2B
LKにおいて、例えば、第1BLKがメモリ2aの全て
の領域を使用してしまうことが生じ得る。第1BLKお
よび第2BLKとして最低限の一定領域を確保しておく
ことが望ましいとされる場合がある。このような場合に
対応するために、図3に示したように、第1リミットポ
インタ5a2 及び第2リミットポインタ5a4 を設けて
ある。ユーザーは、これら第1リミットポインタ5a2
及び第2リミットポインタ5a4 に対して任意の値を設
定することができる。In the above example, the first BLK and the second BK
In the LK, for example, the first BLK may use all areas of the memory 2a. In some cases, it is desirable to secure a minimum constant area as the first BLK and the second BLK. To cope with such a case, as shown in FIG. 3, it is provided with a first limit pointer 5a 2 and a second limit pointer 5a 4. The user can use these first limit pointers 5a 2
It can be set to any value with respect to and the second limit pointer 5a 4.
【0045】図9及び図10は、上記の第1リミットポ
インタ5a2 及び第2リミットポインタ5a4 を用いた
場合の境界アドレス生成の制御例である。図9は第1B
LKについての処理を示しており、図5に対してステッ
プ31,32が付加されている。図10は第2BLKに
ついての処理を示しており、図6に対してステップ3
3,34が付加されている。かかる追加のステップによ
り、第1境界ポインタ5a1 の値として第1リミットポ
インタ5a2 の値が入れられ(ステップ31)、また、
第2境界ポインタ5a2 の値として第2リミットポイン
タ5a4 の値が入れられることになる(ステップ3
3)。FIGS. 9 and 10 show examples of control for generating a boundary address when the first limit pointer 5a 2 and the second limit pointer 5a 4 are used. FIG. 9 shows the first B
5 shows the process for LK, and steps 31 and 32 are added to FIG. FIG. 10 shows the process for the second BLK.
3, 34 are added. Such additional steps, the value of the first limit pointer 5a 2 is placed as the first value of the boundary pointer 5a 1 (step 31), also,
So that the value of the second limit pointer 5a 4 is placed as a second value of the boundary pointer 5a 2 (Step 3
3).
【0046】そして、ライトポインタ値Aが第1リミッ
トポインタ5a2 の値以上であれば、前述したステップ
1,2,3の処理によって第1境界ポインタ5a1 の値
(境界アドレスA)が動的に変動するが、ライトポイン
タ値Aが第1リミットポインタ5a2 の値を下回ると、
第1境界ポインタ5a1 の値はステップ31における値
を保持することになり、第1BLKとして最低限の一定
領域が確保される。[0046] Then, if the write pointer value A first limit pointer 5a 2 value or more, the first boundary pointer 5a 1 value (boundary address A) is dynamically by the processing of steps 1, 2 and 3 described above will vary, the write pointer value a falls below the value of the first limit pointer 5a 2, the
The first value of the boundary pointer 5a 1 becomes possible to hold the value at step 31, the minimum constant region is secured as the 1BLK.
【0047】また、ライトポインタ値Bが第2リミット
ポインタ5a4 の値以下であれば、前述したステップ
4,5,6の処理によって第2境界ポインタ5a3 の値
(境界アドレスB)が動的に変動するが、ライトポイン
タ値Bが第2リミットポインタ5a4 の値を上回ると、
第2境界ポインタ5a3 の値はステップ33における値
を保持することになり、第2BLKとして最低限の一定
領域が確保される。Further, if the write pointer value B is less than the value of the second limit pointer 5a 4, the value of the second boundary pointer 5a 3 (boundary address B) is dynamically by the processing of steps 4, 5, and 6 mentioned above will vary, the write pointer value B exceeds the value of the second limit pointer 5a 4, the
The value of the second boundary pointer 5a 3 becomes possible to hold the value at step 33, the minimum constant region is secured as the 2BLK.
【0048】[0048]
【発明の効果】上記の構成によれば、比較的簡単な構成
でバッファメモリを二つのFIFOブロックとして機能
させることができる。そして、かかる二つのFIFOブ
ロックの各々において事前に書込可能/不可能の判断を
可能とし、オーバーフローといった事態を未然に防止す
ることができる。また、二つのFIFOブロックの境界
を動的に変化させてメモリの利用効率を向上させること
ができる。また、前記境界を動的に変化させる場合で
も、各FIFOブロックについて最低限の領域を確保し
てアクセスを保証できるという効果を奏する。According to the above configuration, the buffer memory can function as two FIFO blocks with a relatively simple configuration. Then, in each of these two FIFO blocks, it is possible to determine in advance whether writing is possible or not, and it is possible to prevent a situation such as overflow. Also, the boundary between the two FIFO blocks can be dynamically changed to improve the memory use efficiency. In addition, even when the boundary is dynamically changed, an effect is obtained in that access can be guaranteed by securing a minimum area for each FIFO block.
【図1】この発明のデータ転送制御装置のブロック図で
ある。FIG. 1 is a block diagram of a data transfer control device of the present invention.
【図2】図1のデータコントローラの具体的構成(実施
の形態1の場合)を示すブロック図である。FIG. 2 is a block diagram showing a specific configuration (in the case of Embodiment 1) of the data controller of FIG. 1;
【図3】図1の境界コントローラの具体的構成(実施の
形態2の場合)を示すブロック図である。FIG. 3 is a block diagram showing a specific configuration (in the case of Embodiment 2) of the boundary controller of FIG. 1;
【図4】図1のデータコントローラの具体的構成(実施
の形態2の場合)を示すブロック図である。FIG. 4 is a block diagram showing a specific configuration (in the case of Embodiment 2) of the data controller of FIG. 1;
【図5】この発明の境界アドレスAの生成方法を示した
フローチャートである。FIG. 5 is a flowchart showing a method of generating a boundary address A according to the present invention.
【図6】この発明の境界アドレスBの生成方法を示した
フローチャートである。FIG. 6 is a flowchart illustrating a method of generating a boundary address B according to the present invention.
【図7】この発明の第1BLKに関与するライトポイン
タ値の決定処理を示したフローチャートである。FIG. 7 is a flowchart illustrating a process of determining a write pointer value related to the first BLK according to the present invention.
【図8】この発明の第2BLKに関与するライトポイン
タ値の決定処理を示したフローチャートである。FIG. 8 is a flowchart showing a process of determining a write pointer value related to the second BLK of the present invention.
【図9】この発明の第1リミットポインタの値を用いた
場合の境界アドレス生成の制御例を示すフローチャート
である。FIG. 9 is a flowchart illustrating a control example of boundary address generation when the value of the first limit pointer is used according to the present invention.
【図10】この発明の第2リミットポインタの値を用い
た場合の境界アドレス生成の制御例を示すフローチャー
トである。FIG. 10 is a flowchart showing a control example of boundary address generation when the value of the second limit pointer is used according to the present invention.
【図11】同図(a)及び同図(b)はそれぞれ書込デ
ータのフォーマット例(IEEE1394PACKE
T)を示す説明図である。FIGS. 11A and 11B are format examples of write data (IEEE 1394 PACKE); FIGS.
It is explanatory drawing which shows T).
1A 第1読取制御部 1B 第2読取制御部 2 バッファコントローラ 2a バッファメモリ 3A 第1書込制御部 3B 第2書込制御部 4 データコントローラ 5 境界コントローラ 5a 境界ポインタ 1A First Read Control Unit 1B Second Read Control Unit 2 Buffer Controller 2a Buffer Memory 3A First Write Control Unit 3B Second Write Control Unit 4 Data Controller 5 Boundary Controller 5a Boundary Pointer
Claims (5)
在し、転送データをバッファメモリに書き込む処理と、
バッファメモリからデータを読み出す処理を行うデータ
転送制御装置において、 前記バッファメモリを二つのFIFOブロックとして機
能させるためにその境界を示すアドレスを保持する境界
ポインタと、一方のFIFOブロックに対して設けら
れ、書込ごとにインクリメントされ、読出ごとにデクリ
メントされる第1のカウンタと、他方のFIFOブロッ
クに対して設けられ、書込ごとにデクリメントされ、読
出ごとにインクリメントされる第2のカウンタと、前記
一方のFIFOブロックに対してバッファメモリの下位
側アドレスを開始アドレスとし前記境界ポインタで示さ
れるアドレスまでアクセスする第1の書込/読出制御手
段と、前記他方のFIFOブロックに対してバッファメ
モリの上位側アドレスを開始アドレスとし前記境界ポイ
ンタで示されるアドレス+1までアクセスする第2の書
込/読出制御手段と、を備えたことを特徴とするデータ
転送制御装置。A process for interposing a data transfer source and a data transfer destination to write transfer data to a buffer memory;
In a data transfer control device for performing a process of reading data from a buffer memory, a boundary pointer for holding an address indicating a boundary between the buffer memory and the one FIFO block is provided so that the buffer memory functions as two FIFO blocks; A first counter that is incremented for each write and decremented for each read, a second counter provided for the other FIFO block, decremented for each write, and incremented for each read; First write / read control means for accessing the address indicated by the boundary pointer using the lower address of the buffer memory as a start address for the FIFO block of the above, and the upper address of the buffer memory for the other FIFO block Address as the start address and the boundary And a second write / read control means for accessing up to an address +1 indicated by a pointer.
ンタの値とから一方のFIFOブロックにおけるデータ
格納可能量を算出する第1の算出手段と、前記第2のカ
ウンタの値と前記境界ポインタ及びバッファメモリの最
終アドレスとに基づく値とから他方のFIFOブロック
におけるデータ格納可能量を算出する第2の算出手段
と、書き込むべき転送データにおけるフォーマット内の
データサイズを抽出する手段と、前記一方のFIFOブ
ロックのデータ格納可能量と前記データサイズとを比較
する第1の比較手段と、前記他方のFIFOブロックの
データ格納可能量と前記データサイズとを比較する第2
の比較手段とを備え、前記第1の書込/読出制御手段お
よび第2の書込/読出制御手段は、それぞれの比較結果
に基づいて書込可能/不可能を判断するように構成され
たことを特徴とする請求項1に記載のデータ転送制御装
置。2. A first calculating means for calculating a data storable amount in one FIFO block from a value of the first counter and a value of the boundary pointer, and a value of the second counter and the boundary pointer. A second calculating means for calculating a data storable amount in the other FIFO block from a value based on the last address of the buffer memory and a means for extracting a data size in a format of transfer data to be written; A first comparing means for comparing the data storable amount of the FIFO block with the data size, and a second comparing means for comparing the data storable amount of the other FIFO block with the data size
And the first writing / reading control means and the second writing / reading control means are configured to determine writable / impossible based on the respective comparison results. The data transfer control device according to claim 1, wherein:
マット内のデータサイズを抽出する手段と、前記第1の
カウンタの値と前記データサイズとを加算する第1の加
算手段と、前記第2のカウンタの値と前記データサイズ
とを加算する第2の加算手段と、前記第1の加算手段の
加算結果と前記境界ポインタに基づく値とを比較する第
1の比較手段と、前記第2の加算手段の加算結果と前記
境界ポインタ及びバッファメモリの最終アドレスとに基
づく値とを比較する第2の比較手段とを備え、前記第1
の書込/読出制御手段および第2の書込/読出制御手段
は、それぞれの比較結果に基づいて書込可能/不可能を
判断するように構成されたことを特徴とする請求項1に
記載のデータ転送制御装置。3. A means for extracting a data size in a format of transfer data to be written, a first adding means for adding the value of the first counter and the data size, and a value of the second counter Second adding means for adding the data size and the data size, first comparing means for comparing the addition result of the first adding means with a value based on the boundary pointer, and addition of the second adding means. Second comparing means for comparing a result with a value based on the boundary pointer and the last address of the buffer memory;
2. The writing / reading control means and the second writing / reading control means are configured to judge whether writing is possible or not based on respective comparison results. Data transfer control device.
ている有効データの最大アドレスを検出してこれを第1
の境界アドレスとして保持する第1境界アドレス保持手
段と、前記他方のFIFOブロックに格納されている有
効データの最小アドレスを検出してこれを第2の境界ア
ドレスとして保持する第2境界アドレス保持手段とを備
え、前記第1の書込/読出制御手段は、その書込アドレ
スを示すライトポインタ値が前記第2境界アドレスに一
致した場合には当該ライトポインタ値を一方のFIFO
ブロックの開始アドレスに戻し、前記第2の書込/読出
制御手段は、その書込アドレスを示すライトポインタ値
が前記第1境界アドレスに一致した場合には当該ライト
ポインタ値を他方のFIFOブロックの開始アドレスに
戻すように構成されたことを特徴とする請求項1に記載
のデータ転送制御装置。4. A method for detecting a maximum address of valid data stored in said one FIFO block and storing the detected maximum address in the first FIFO block.
First boundary address holding means for holding the minimum address of valid data stored in the other FIFO block, and holding the same as a second boundary address. The first write / read control means, when the write pointer value indicating the write address matches the second boundary address, stores the write pointer value in one FIFO
When the write pointer value indicating the write address coincides with the first boundary address, the second write / read control unit returns the write pointer value to the other FIFO block. The data transfer control device according to claim 1, wherein the data transfer control device is configured to return to a start address.
値の限界値を外部から設定することができる第1のリミ
ット手段と、第2の境界アドレスとして採りうる値の限
界値を外部から設定することができる第2のリミット手
段とを備え、前記第1境界アドレス保持手段は、最大ア
ドレスが前記限界値を下回る状態では、前記限界値を第
1の境界アドレスとして保持し、前記第2境界アドレス
保持手段は、最小アドレスが前記限界値を上回る状態で
は、前記限界値を第2の境界アドレスとして保持するよ
うに構成されていることを特徴とする請求項4に記載の
データ転送制御装置。5. A first limiter capable of externally setting a limit value of a value that can be taken as the first boundary address, and externally setting a limit value of a value that can be taken as a second boundary address. The first boundary address holding means holds the limit value as a first boundary address when the maximum address is lower than the limit value, and the second boundary address holds the second boundary address. 5. The data transfer control device according to claim 4, wherein the holding unit is configured to hold the limit value as a second boundary address when the minimum address exceeds the limit value.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33000497A JPH11161467A (en) | 1997-12-01 | 1997-12-01 | Data transfer control device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33000497A JPH11161467A (en) | 1997-12-01 | 1997-12-01 | Data transfer control device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11161467A true JPH11161467A (en) | 1999-06-18 |
Family
ID=18227701
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP33000497A Pending JPH11161467A (en) | 1997-12-01 | 1997-12-01 | Data transfer control device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11161467A (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6697889B2 (en) | 2000-04-07 | 2004-02-24 | Renesas Technology Corp. | First-in first-out data transfer control device having a plurality of banks |
| US6877049B1 (en) * | 2002-05-30 | 2005-04-05 | Finisar Corporation | Integrated FIFO memory management control system using a credit value |
| JP2010522928A (en) * | 2007-03-26 | 2010-07-08 | アナログ・デバイセズ・インコーポレイテッド | Arithmetic unit having internal bit FIFO circuit |
| JP2010244197A (en) * | 2009-04-02 | 2010-10-28 | Fujitsu Semiconductor Ltd | MEMORY ACCESS DEVICE, MEMORY ACCESS SYSTEM, AND MEMORY ACCESS DEVICE PROCESSING METHOD |
-
1997
- 1997-12-01 JP JP33000497A patent/JPH11161467A/en active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6697889B2 (en) | 2000-04-07 | 2004-02-24 | Renesas Technology Corp. | First-in first-out data transfer control device having a plurality of banks |
| US6877049B1 (en) * | 2002-05-30 | 2005-04-05 | Finisar Corporation | Integrated FIFO memory management control system using a credit value |
| JP2010522928A (en) * | 2007-03-26 | 2010-07-08 | アナログ・デバイセズ・インコーポレイテッド | Arithmetic unit having internal bit FIFO circuit |
| JP2010244197A (en) * | 2009-04-02 | 2010-10-28 | Fujitsu Semiconductor Ltd | MEMORY ACCESS DEVICE, MEMORY ACCESS SYSTEM, AND MEMORY ACCESS DEVICE PROCESSING METHOD |
| US8806130B2 (en) | 2009-04-02 | 2014-08-12 | Fujitsu Semiconductor Limited | Memory access device outputting transfer request |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8041856B2 (en) | Skip based control logic for first in first out buffer | |
| JP5527512B2 (en) | Bus protocol conversion device and bus protocol conversion method | |
| JP3127523B2 (en) | Communication control device and data transmission method | |
| EP1006451B1 (en) | A DMA transfer device capable of high-speed consecutive access to pages in a memory | |
| US20090006669A1 (en) | Dma transfer control device and method of dma transfer | |
| US6687763B2 (en) | ATAPI command receiving method | |
| JPH11161467A (en) | Data transfer control device | |
| EP0969384A2 (en) | Method and apparatus for processing information, and providing medium | |
| US20020156943A1 (en) | Command issuing apparatus for high-speed serial interface | |
| JP2996179B2 (en) | PCI bus system | |
| US6691182B2 (en) | DMA controller in which bus access ratio can be set | |
| JP4536189B2 (en) | DMA transfer apparatus and DMA transfer system | |
| US6215558B1 (en) | Data processing apparatus and method | |
| JPS6359042A (en) | Communication interface equipment | |
| CN106776393B (en) | uninterrupted serial port data receiving method and device | |
| US20050138236A1 (en) | Direct memory access control device and method for automatically updating data transmisson size from peripheral | |
| US6941441B2 (en) | Method and apparatus for handling cyclic buffer access | |
| JPH11161466A (en) | Data transfer control device | |
| JP2001505752A (en) | Temporary data stream processing buffer memory organization with software management adapted for multiple levels of housekeeping | |
| JPH1097489A (en) | Block length conversion method and block length conversion device for magnetic disk drive | |
| JP3887059B2 (en) | Data writing method, data reading method, and memory circuit | |
| JPH05165761A (en) | Dma controller | |
| US7512143B2 (en) | Buffer management for a target channel adapter | |
| JP2000215154A (en) | DMA controller | |
| JPH11175312A (en) | Data transfer control device |