(57)【要約】【課題】データ転送装置において内蔵された記憶装置の記憶領域を有効にかつ効率的に利用することができる。【解決手段】送信又は受信のためのデータを例えばシングルポートメモリ２７である記憶装置に一時的に格納した後転送するデータ転送装置において、記憶装置を所定の同一の単位の複数のブロックに分割し、データを転送して送信するときの送信用データ書込要求信号ＩＴＸＦＷＲＥＱＢ又はＡＴＸＦＷＲＥＱＢに応答して、複数のブロックのうち未使用の１つのブロックを選択して選択したブロックを使用状態とし、送信用データを選択したブロックに書き込んだ後読み出して転送するとともに、データを転送して受信するときの受信用データ書込要求信号ＲＸＦＲＲＥＱＢに応答して、複数のブロックのうち未使用の１つのブロックを選択して選択したブロックを使用状態とし、受信用データを選択したブロックに書き込んだ後読み出して転送するように制御する。【選択図】　図１
2004070656.tif 000002
【特許請求の範囲】
【請求項１】
送信又は受信のためのデータを記憶装置に一時的に格納した後転送するデータ転送装置において、上記記憶装置を所定の同一の単位の複数のブロックに分割し、データを転送して送信するときの送信用データ書込要求信号に応答して、上記複数のブロックのうち未使用の１つのブロックを選択して当該選択したブロックを使用状態とし、送信用データを当該選択したブロックに書き込んだ後読み出して転送するとともに、データを転送して受信するときの受信用データ書込要求信号に応答して、上記複数のブロックのうち未使用の１つのブロックを選択して当該選択したブロックを使用状態とし、受信用データを当該選択したブロックに書き込んだ後読み出して転送するように制御する制御手段を備えたことを特徴とするデータ転送装置。
【請求項２】
上記制御手段は、上記複数のブロックのうち未使用の１つのブロックを選択するときに、選択したブロックに続いてデータを書き込むための次のブロックを選択して当該選択した次のブロックを使用状態として確保することを特徴とする請求項１記載のデータ転送装置。
【請求項３】
上記各ブロックに対応して設けられ、次のブロックのアドレスを記憶する第１のレジスタ手段をさらに備えたことを特徴とする請求項２記載のデータ転送装置。
【請求項４】
上記各ブロックに対応して設けられ、次のブロックのアドレスが選択されて確保されているか否かを示すデータを記憶する第２のレジスタ手段をさらに備えたことを特徴とする請求項２又は３記載のデータ転送装置。
【請求項５】
上記制御手段は、上記ブロックからデータを読み出したとき、当該ブロックを未使用状態として解放することを特徴とする請求項１乃至４のうちのいずれか１つに記載のデータ転送装置。
【請求項６】
上記各ブロックに対応して設けられ、上記各ブロックが使用状態であるか否かを示すデータを記憶する第３のレジスタ手段をさらに備えたことを特徴とする請求項１乃至５のうちいずれか１つに記載のデータ転送装置。
【請求項７】
送信又は受信のためのデータを記憶装置に一時的に格納した後転送するデータ転送方法において、上記記憶装置を所定の同一の単位の複数のブロックに分割し、データを転送して送信するときの送信用データ書込要求信号に応答して、上記複数のブロックのうち未使用の１つのブロックを選択して当該選択したブロックを使用状態とし、送信用データを当該選択したブロックに書き込んだ後読み出して転送するとともに、データを転送して受信するときの受信用データ書込要求信号に応答して、上記複数のブロックのうち未使用の１つのブロックを選択して当該選択したブロックを使用状態とし、受信用データを当該選択したブロックに書き込んだ後読み出して転送するように制御するステップを含むことを特徴とするデータ転送方法。
【請求項８】
上記制御するステップは、上記複数のブロックのうち未使用の１つのブロックを選択するときに、選択したブロックに続いてデータを書き込むための次のブロックを選択して当該選択した次のブロックを使用状態として確保することを特徴とする請求項７記載のデータ転送方法。
【請求項９】
上記各ブロックに対応して設けられた第１のレジスタ手段に、次のブロックのアドレスを記憶するステップをさらに含むことを特徴とする請求項８記載のデータ転送方法。
【請求項１０】
上記各ブロックに対応して設けられた第２のレジスタ手段に、次のブロックのアドレスが選択されて確保されているか否かを示すデータを記憶するステップをさらに含むことを特徴とする請求項８又は９記載のデータ転送方法。
【請求項１１】
上記制御するステップは、上記ブロックからデータを読み出したとき、当該ブロックを未使用状態として解放することを特徴とする請求項７乃至１０のうちのいずれか１つに記載のデータ転送方法。
【請求項１２】
上記各ブロックに対応して設けられた第３のレジスタ手段に、上記各ブロックが使用状態であるか否かを示すデータを記憶するステップをさらに含むことを特徴とする請求項７乃至１１のうちいずれか１つに記載のデータ転送方法。
【請求項１３】
請求項７乃至１２のうちのいずれか１つに記載のデータ転送方法を含むことを特徴とするコンピュータで読取可能なデータ転送方法を含むプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ転送装置、データ転送方法及びデータ転送方法を記録したプログラムに関し、特に、ＩＥＥＥ１３９４準拠の装置とコンピュータ等のＰＣＩバスとの間でデータを転送するためのデータ転送装置、データ転送方法及びデータ転送方法を記録したプログラムに関する。
【０００２】
【従来の技術】
図２５は、通常用いられているＩＥＥＥ１３９４準拠のデータ送受信用の、ＦＩＦＯメモリ等の記憶装置を用いた、従来技術に係るＩＥＥＥ１３９４インターフェース装置１１０の構成を示すブロック図である。図２５に示すように、ＩＥＥＥ１３９４インターフェース装置１１０は、ＩＥＥＥ１３９４バスＢ１と、パーソナルコンピュータ１１３のＰＣＩバスＢ２との間のインターフェースを提供している。ＩＥＥＥ１３９４バスＢ１とＰＣＩバスＢ２とでは、互いにクロック周波数が異なっているので、ＩＥＥＥ１３９４インターフェース装置１１０においてＦＩＦＯ記憶装置等にバッファリングしてから転送動作を行うために、受信用、同期送信用、及び非同期送信用のためにそれぞれ別のＦＩＦＯ記憶装置１０５，１０６，１０７が設けられている。
【０００３】
ＩＥＥＥ１３９４バスＢ１を介して入力されたパケットは、パーソナルコンピュータ１１３のＩＥＥＥ１３９４インターフェース装置１０において、物理層の信号変換などのインターフェース処理を行うＰＨＹ回路９を介して、リンク層の信号変換などのインターフェース処理を行うＬＩＮＫ回路１０８に送られ、そして受信用ＦＩＦＯ記憶装置１０５に格納される。次に、受信用ＦＩＦＯ記憶装置１０５に格納されたパケットは、受信用ＤＭＡコントローラ１０２によって読み出されて、ＰＣＩバスとの信号変換などのインターフェース処理を行うＰＣＩインターフェースコントローラ１を介してＰＣＩバスＢ２上に送信され、ＲＡＭ１１に蓄えられる。そして、ＣＰＵ１２はそのＲＡＭ１１に蓄えられたデータを受信パケットデータとして使用することができる。また、ＣＰＵ１２はＲＡＭ１１に同期送信用パケットのデータを準備し、次いで、同期送信用ＤＭＡコントローラ１０３が、そのＲＡＭ１１のデータをＰＣＩインターフェースコントローラを介して読み出して同期送信用ＦＩＦＯ記憶装置１０６に格納する。そして、ＬＩＮＫ回路１０８が、その格納されたデータを読み出して、ＰＨＹ回路９を介してＩＥＥＥ１３９４バスＢ１上に送信する。また、ＲＡＭ１１における非同期送信パケットも、非同期送信用ＤＭＡコントローラ１０４及び非同期送信用ＦＩＦＯ記憶装置１０７を用いて同様のデータの流れでＩＥＥＥ１３９４バスＢ１に送信される。
【０００４】
また、ＩＥＥＥ１３９４インターフェース装置１１０では、そこで用いる送信用及び受信用ＦＩＦＯ記憶装置が大きなゲート規模を必要とするので、例えば、特開２００１−１３４４２１号公報に示されるように小さなサイズの非同期の２ポートメモリと大きなサイズの１ポートメモリを用いて構成することにより、ＩＥＥＥ１３９４インターフェース装置１１０におけるＦＩＦＯ記憶装置を占有する割合を減少させる等の努力がなされてきた。
【０００５】
図２５のＩＥＥＥ１３９４インターフェース装置１１０に対して、当該公報に開示された技術を用いた場合の受信用ＦＩＦＯ記憶装置１０５、同期送信用ＦＩＦＯ記憶装置１０６及び非同期送信用ＦＩＦＯ記憶装置１０７の詳細構成を図２６に示す。また、これ以降、信号名にＸＸＸＸＢ（すなわち、信号名の末尾が“Ｂ”で終わる信号）とした場合は、ローレベルでアクティブなローイネーブル信号とし、それ以外の場合はハイレベルでアクティブなハイイネーブル信号とする。
【０００６】
図２６において、ＬＩＮＫ回路１０８と受信用ＦＩＦＯ記憶装置１０５との間は、ＬＩＮＫ回路１０８から送られるデータを伝送する受信データバスＲＸＤＯ［３１：０］（ここで、［３１：０］はビット３１からビット０までの信号ビットを有し、以下同様にして表示する。）と、その受信パケットの最終データであることを示す信号を伝送するバスＲＸＤＯ［３２］とによって接続され、ＬＩＮＫ回路１０８と受信用ＦＩＦＯ記憶装置１０５との間はさらに、ＬＩＮＫ回路１０８から受信用ＦＩＦＯ記憶装置１０５に受信データを書き込む許可を示すＲＸＷＲＢ信号と、受信用ＦＩＦＯ記憶装置１０５に書き込みできる領域がなくなったこと（メモリフル状態）をＬＩＮＫ回路１０８に示すＲＸＦＵＬＬ信号とを用いて接続される。また、受信用ＤＭＡコントローラ１０２と受信用ＦＩＦＯ記憶装置１０５との間は、受信用ＤＭＡコントローラ１０２が受信用ＦＩＦＯ記憶装置１０５から受信データを読み出すための受信データバスＲＸＤＩ［３１：０］と、その受信パケットの最終データであることを示す信号を伝送するバスＲＸＤＩ［３２］とによって接続され、受信用ＤＭＡコントローラ１０２と受信用ＦＩＦＯ記憶装置１０５との間はさらに、受信用ＤＭＡコントローラ１０２からの、受信用ＦＩＦＯ記憶装置１０５内のデータの読み出し要求であるＲＸＦＲＲＥＱＢ信号と、受信用ＦＩＦＯ記憶装置１０５が受信用ＤＭＡコントローラ１０２からの読み出し要求に対して読み出し許可することを示すＲＸＦＲＡＣＫＢ信号と、受信用ＤＭＡコントローラ１０２が受信用ＦＩＦＯ記憶装置１０５からデータを読み出しているときであっても一時的の読み出しの停止を指示するＲＸＦＲＷＡＩＴ信号とを用いて接続される。
【０００７】
また、図２６に示すように、同期送信用ＤＭＡコントローラ１０３と同期送信用ＦＩＦＯ記憶装置１０６との間は、同期送信用ＤＭＡコントローラ１０３から送られるデータを伝送する送信データバスＩＴＸＤＯ［３１：０］と、その送信パケットの最終データであることを示す信号を伝送するバスＩＴＸＤＯ［３２］とによって接続され、同期送信用ＤＭＡコントローラ１０３と同期送信用ＦＩＦＯ記憶装置１０６との間はさらに、同期送信用ＦＩＦＯ記憶装置１０６に対する、同期送信用ＤＭＡコントローラ１０３から送られる送信データの書き込み要求であるＩＴＸＦＷＲＥＱＢ信号と、同期送信用ＤＭＡコントローラ１０３からの送信データの書き込み要求に対する、同期送信用ＦＩＦＯ記憶装置１０６の書き込み許可であるＩＴＸＦＷＡＣＫＢ信号と、同期送信用ＤＭＡコントローラ１０３が書き込み要求してデータを送信していること及びそのデータが有効であることを示すＩＴＸＦＷＤＴＶＬ信号とを用いて接続される。さらに、同期送信用ＦＩＦＯ記憶装置１０６とＬＩＮＫ回路１０８との間は、ＬＩＮＫ回路１０８が同期送信用ＦＩＦＯ記憶装置１０６から同期送信データを読み出すための送信データバスＩＴＸＤＩ［３１：０］と、その送信データの最終データであることを示す信号を伝送するバスＩＴＸＤＩ［３２］とによって接続され、同期送信用ＦＩＦＯ記憶装置１０６とＬＩＮＫ回路１０８との間はさらに、ＬＩＮＫ回路１０８による、同期送信用ＦＩＦＯ記憶装置１０６からの送信データの読み出し要求であるＩＴＸＲＤＢ信号を用いて接続される。
【０００８】
さらに、図２６に示すように、非同期送信用ＤＭＡコントローラ１０４と非同期送信用ＦＩＦＯ記憶装置１０７との間は、非同期送信用ＤＭＡコントローラ１０４から送られるデータを伝送する送信データバスＡＴＸＤＯ［３１：０］と、その送信パケットの最終データであることを示す信号を伝送するバスＡＴＸＤＯ［３２］とによって接続され、非同期送信用ＤＭＡコントローラ１０４と非同期送信用ＦＩＦＯ記憶装置１０７との間はさらに、非同期送信用ＦＩＦＯ記憶装置１０７に対する、非同期送信用ＤＭＡコントローラ１０４から送られる送信データの書き込み要求であるＡＴＸＦＷＲＥＱＢ信号と、非同期送信用ＤＭＡコントローラ１０４からの送信データの書き込み要求に対する、非同期送信用ＦＩＦＯ記憶装置１０７の書き込み許可であるＡＴＸＦＷＡＣＫＢ信号と、非同期送信用ＤＭＡコントローラ１０４が書き込み要求してデータを送信していること及びそのデータが有効であることを示すＡＴＸＦＷＤＴＶＬ信号とを用いて接続される。また、非同期送信用ＦＩＦＯ記憶装置１０７とＬＩＮＫ回路１０８との間は、ＬＩＮＫ回路１０８が非同期送信用ＦＩＦＯ記憶装置１０７から非同期送信データを読み出すための送信データバスＡＴＸＤＩ［３１：０］と、その送信データの最終データであることを示す信号を伝送するＡＴＸＤＩ［３２］とによって接続され、非同期送信用ＦＩＦＯ記憶装置１０７とＬＩＮＫ回路１０８との間にさらに、ＬＩＮＫ回路１０８による、非同期送信用ＦＩＦＯ記憶装置１０７からの送信データの読み出し要求であるＡＴＸＲＤＢ信号を用いて接続される。
【０００９】
また、受信用ＦＩＦＯ記憶装置１０５は、受信データを順次蓄えるための、例えばＳＲＡＭで構成される、３３ビット×１０２４ワードのシングルポートメモリ１２２と、３３ビット×３２ワードのＦＩＦＯメモリ１２１と、また、受信パケットの書き込み中に受信用ＦＩＦＯ記憶装置１０５がフル状態になったときにそれを受信用ＤＭＡコントローラ１０２に知らせるためにそのパケットの最終データをある固定値に変更するための２対１の３３ビットマルチプレクサ１２３とを備え、さらに、受信用ＦＩＦＯ記憶装置１０５に接続されたＬＩＮＫ回路１０８、受信用ＤＭＡコントローラ１０２、そして前述のシングルポートメモリ１２２、ＦＩＦＯメモリ１２１、マルチプレクサ１２３を制御するタイミングコントローラ１２４を備えている。
【００１０】
それらの構成要素の構成及び動作について説明する。マルチプレクサ１２３の第１の入力端子には、ＬＩＮＫ回路１０８から受信データバスＲＸＤＯ［３２：０］を介して到来するデータが入力される一方、マルチプレクサ１２３の第２の入力端子には、受信用ＦＩＦＯ記憶装置１０５がフル状態になったときに使用する固定データ値３３’ｈ１００００００１４が入力される。上記データ値において、「３３’」はデータサイズが３３ビットであることを意味し、「ｈ」はデータ値が１６進数で表示されていることを意味するが、この値は一例である。そして、そのマルチプレクサ１２３からの出力信号は、バスＭＤＩ［３２：０］を介してシングルポートメモリ１２２に入力され、シングルポートメモリ１２２の出力データバスＭＤＯ［３２：０］はＦＩＦＯメモリ１２１の入力バスに接続される。そして、ＦＩＦＯメモリ１２１の出力バスは、受信用ＤＭＡコントローラ１０２へ接続された受信データバスＲＸＤＩ［３２：０］であって、ＦＩＦＯメモリ１２１から出力された信号は受信データバスＲＸＤＩ［３２：０］を介して受信用ＤＭＡコントローラ１０２に入力される。そして、受信用ＦＩＦＯ記憶装置１０５のタイミングコントローラ１２４には、ＬＩＮＫ回路１０８からのＲＸＷＲＢ信号が入力され、タイミングコントローラ１２４は、メモリフル状態を示すＲＸＦＵＬＬ信号をＬＩＮＫ回路１０８に出力する。また、タイミングコントローラ１２４は、シングルポートメモリ１２２のアドレスを表すデータを、アドレスバスＭＡＤ［９：０］を介してシングルポートメモリ１２２に出力し、また、シングルポートメモリ１２２のデータ書き込みを許可する信号であるＭＷＲＢ信号をシングルポートメモリ１２２に出力する。また、タイミングコントローラ１２４は、ＦＩＦＯメモリ１２１へのデータ書き込み許可を示すＦＷＲＢ信号と、ＦＩＦＯメモリ１２１からのデータ読み出し許可を示すＦＲＤＢ信号とをＦＩＦＯメモリ１２１に出力する。また、タイミングコントローラ１２４には、受信用ＤＭＡコントローラ１０２からＲＸＦＲＲＥＱＢ信号及びＲＸＦＲＷＡＩＴ信号が入力され、タイミングコントローラ１２４は、ＲＸＦＲＡＣＫＢ信号を受信用ＤＭＡコントローラ１０２に出力する。
【００１１】
また、同期送信用ＦＩＦＯ記憶装置１０６は、例えばＳＲＡＭにてなり、同期送信データを順次蓄えるための３３ビット×５１２ワードのシングルポートメモリ１３２と、３３ビット×３２ワードのＦＩＦＯメモリ１３１とを備え、さらに、同期送信用ＦＩＦＯ記憶装置１０６に接続されたＬＩＮＫ回路１０８、同期送信用ＤＭＡコントローラ１０３、そして前述のシングルポートメモリ１３２及びＦＩＦＯメモリ１３１を制御するタイミングコントローラ１３３を備えている。
【００１２】
それらの構成要素の構成及び動作について説明する。ＦＩＦＯメモリ１３１の入力バスには、同期送信用ＤＭＡコントローラ１０３から同期送信データバスＩＴＸＤＯ［３２：０］を介して到来するデータが入力される。そして、ＦＩＦＯメモリ１３１の出力バスＭＤＩ［３２：０］はシングルポートメモリ１３２の入力バスに接続され、シングルポートメモリ１３２の出力バスであるＭＤＯ［３２：０］はＩＴＸＤＩ［３２：０］となってＬＩＮＫ回路１０８に接続される。そして、同期送信用ＦＩＦＯ記憶装置１０６のタイミングコントローラ１３３には、ＬＩＮＫ回路１０８からＩＴＸＲＤＢ信号が入力される。また、タイミングコントローラ１３３は、シングルポートメモリ１３２のアドレスを表すデータを、アドレスバスＭＡＤ［９：０］を介してシングルポートメモリ１３２に出力し、また、シングルポートメモリ１３２のデータ書き込みを許可する信号であるＭＷＲＢ信号をシングルポートメモリ１３２に出力する。また、タイミングコントローラ１３３は、ＦＩＦＯメモリ１３１へのデータ書き込み許可を示すＦＷＲＢ信号と、ＦＩＦＯメモリ１３１からのデータ読み出し許可を示すＦＲＤＢ信号とをＦＩＦＯメモリ１３１に出力する。また、タイミングコントローラ１３３には、同期送信用ＤＭＡコントローラ１０３からＩＴＸＦＷＲＥＱＢ信号及びＩＴＸＦＷＤＴＶＬ信号が入力され、タイミングコントローラ１３３はＩＴＸＦＷＡＣＫＢ信号を同期送信用ＤＭＡコントローラ１０３に出力する。
【００１３】
また、非同期送信用ＦＩＦＯ記憶装置１０７は、例えばＳＲＡＭにてなり、非同期送信データを順次蓄える３３ビット×５１２ワードのシングルポートメモリ１４２と、３３ビット×３２ワードのＦＩＦＯメモリ１４１とを備え、さらに、非同期送信用ＦＩＦＯ記憶装置１０７に接続されたＬＩＮＫ回路１０８、非同期送信用ＤＭＡコントローラ１０４、そして前述のシングルポートメモリ１４２及びＦＩＦＯメモリ１４１を制御するタイミングコントローラ１４３を備えている。
【００１４】
それらの構成要素の構成及び動作について説明する。ＦＩＦＯメモリ１４１の入力バスには、非同期送信用ＤＭＡコントローラ１０４から非同期送信データバスＡＴＸＤＯ［３２：０］を介してデータが入力される。そして、ＦＩＦＯメモリ１４１の出力バスＭＤＩ［３２：０］はシングルポートメモリ１４２の入力バスに接続され、その出力バスであるＭＤＯ［３２：０］はＡＴＸＤＩ［３２：０］となってＬＩＮＫ回路１０８に接続される。そして、非同期送信用ＦＩＦＯ記憶装置１０７のタイミングコントローラ１４３には、ＬＩＮＫ回路１０８からＡＴＸＲＤＢ信号が入力される。また、タイミングコントローラ１４３は、シングルポートメモリ１４２のアドレスを表すデータを、アドレスバスＭＡＤ［９：０］を介してシングルポートメモリ１４２に出力し、また、シングルポートメモリ１４２のデータ書き込みを許可する信号であるＭＷＲＢ信号をシングルポートメモリ１４２に出力する。また、タイミングコントローラ１４３は、ＦＩＦＯメモリへのデータ書き込み許可を示すＦＷＲＢ信号と、ＦＩＦＯメモリからのデータ読み出し許可を示すＦＲＤＢ信号とをＦＩＦＯメモリに出力する。また、タイミングコントローラ１４３には非同期送信用ＤＭＡコントローラ１０４からＡＴＸＦＷＲＥＱＢ信号及びＡＴＸＦＷＤＴＶＬ信号が入力され、タイミングコントローラ１４３はＡＴＸＦＷＡＣＫＢ信号を非同期送信用ＤＭＡコントローラ１０４に出力する。
【００１５】
【発明が解決しようとする課題】
そして、ＩＥＥＥ１３９４機器であるＤＶＣＲ（ディジタルビデオカセットレコーダ）を図２５のようなデータ転送装置と接続して、ＤＶＣＲのデータをパーソナルコンピュータ１１３内に蓄えようとする場合は、ＩＥＥＥ１３９４バスＢ１には、ほとんど同期受信データのパケットしか存在しない。そのため、受信用ＦＩＦＯ記憶装置１０５は使用しているが、同期送信用ＦＩＦＯ記憶装置１０６及び非同期送信用ＦＩＦＯ記憶装置１０７はほとんど使用されない。また、逆にパーソナルコンピュータ１１３内にあるデータをＤＶＣＲに蓄えようとする場合には、ＩＥＥＥ１３９４バスＢ１には同期送信データのパケットしか存在しない。そのため、同期送信用ＦＩＦＯ記憶装置１０６は使用しているが、それ以外の受信用ＦＩＦＯ記憶装置１０５及び非同期送信用ＦＩＦＯ記憶装置１０７は使用されない。
【００１６】
また、ＩＥＥＥ１３９４機器であるハードディスクドライブ等のＳＢＰ２プロトコルを用いた機器を図２５のようなデータ転送装置と接続して、ＩＥＥＥ１３９４バスＢ１の先に接続した機器からパーソナルコンピュータ１１３にデータを蓄えようとする場合は、ＩＥＥＥ１３９４バスＢ１の大半を非同期受信データのパケットがほとんど占有する。そのため受信用ＦＩＦＯ記憶装置１０５は使用しているが、同期送信用ＦＩＦＯ記憶装置１０６及び非同期送信用ＦＩＦＯ記憶装置１０７はほとんど使用されない。また、逆に、パーソナルコンピュータ１１３内にあるデータをＩＥＥＥ１３９４バスＢ１の先に接続した機器に蓄えようとする場合は、ＩＥＥＥ１３９４バスＢ１には非同期送信パケットが大半を占有する。そのため、非同期送信用ＦＩＦＯ記憶装置１０７は使用しているがそれ以外の受信用ＦＩＦＯ記憶装置１０５及び非同期送信用ＦＩＦＯ記憶装置１０６は使用されない。
【００１７】
以上のことからＩＥＥＥ１３９４インターフェース装置１１０において大きなゲート規模を占めるＦＩＦＯ記憶装置は有効には使用されていない。それは、図２６のように各ＦＩＦＯ記憶装置１０５，１０６，１０７が小さくなるような構成であっても同様である。
【００１８】
本発明の目的は以上の問題点を解決し、ＩＥＥＥ１３９４インターフェース装置などのデータ転送装置において、内蔵された記憶装置の記憶領域を有効にかつ効率的に利用することができるデータ転送装置、データ転送方法及びその方法を含むプログラムを提供することにある。
【００１９】
【課題を解決するための手段】
第１の発明に係るデータ転送装置は、送信又は受信のためのデータを記憶装置に一時的に格納した後転送するデータ転送装置において、上記記憶装置を所定の同一の単位の複数のブロックに分割し、データを転送して送信するときの送信用データ書込要求信号に応答して、上記複数のブロックのうち未使用の１つのブロックを選択して当該選択したブロックを使用状態とし、送信用データを当該選択したブロックに書き込んだ後読み出して転送するとともに、データを転送して受信するときの受信用データ書込要求信号に応答して、上記複数のブロックのうち未使用の１つのブロックを選択して当該選択したブロックを使用状態とし、受信用データを当該選択したブロックに書き込んだ後読み出して転送するように制御する制御手段を備えたことを特徴とする。
【００２０】
上記データ転送装置において、上記制御手段は、好ましくは、上記複数のブロックのうち未使用の１つのブロックを選択するときに、選択したブロックに続いてデータを書き込むための次のブロックを選択して当該選択した次のブロックを使用状態として確保することを特徴とする。
【００２１】
また、上記データ転送装置において、好ましくは、上記各ブロックに対応して設けられ、次のブロックのアドレスを記憶する第１のレジスタ手段をさらに備えたことを特徴とする。
【００２２】
さらに、上記データ転送装置において、好ましくは、上記各ブロックに対応して設けられ、次のブロックのアドレスが選択されて確保されているか否かを示すデータを記憶する第２のレジスタ手段をさらに備えたことを特徴とする。
【００２３】
また、上記データ転送装置において、上記制御手段は、好ましくは、上記ブロックからデータを読み出したとき、当該ブロックを未使用状態として解放することを特徴とする。
【００２４】
さらに、上記データ転送装置において、好ましくは、上記各ブロックに対応して設けられ、上記各ブロックが使用状態であるか否かを示すデータを記憶する第３のレジスタ手段をさらに備えたことを特徴とする。
【００２５】
第２の発明に係るデータ転送方法は、送信又は受信のためのデータを記憶装置に一時的に格納した後転送するデータ転送方法において、上記記憶装置を所定の同一の単位の複数のブロックに分割し、データを転送して送信するときの送信用データ書込要求信号に応答して、上記複数のブロックのうち未使用の１つのブロックを選択して当該選択したブロックを使用状態とし、送信用データを当該選択したブロックに書き込んだ後読み出して転送するとともに、データを転送して受信するときの受信用データ書込要求信号に応答して、上記複数のブロックのうち未使用の１つのブロックを選択して当該選択したブロックを使用状態とし、受信用データを当該選択したブロックに書き込んだ後読み出して転送するように制御するステップを含むことを特徴とする。
【００２６】
上記データ転送方法において、上記制御するステップは、好ましくは、上記複数のブロックのうち未使用の１つのブロックを選択するときに、選択したブロックに続いてデータを書き込むための次のブロックを選択して当該選択した次のブロックを使用状態として確保することを特徴とする。
【００２７】
また、上記データ転送方法において、好ましくは、上記各ブロックに対応して設けられた第１のレジスタ手段に、次のブロックのアドレスを記憶するステップをさらに含むことを特徴とする。
【００２８】
さらに、上記データ転送方法において、好ましくは、上記各ブロックに対応して設けられた第２のレジスタ手段に、次のブロックのアドレスが選択されて確保されているか否かを示すデータを記憶するステップをさらに含むことを特徴とする。
【００２９】
また、上記データ転送方法において、上記制御するステップは、好ましくは、上記ブロックからデータを読み出したとき、当該ブロックを未使用状態として解放することを特徴とする。
【００３０】
さらに、上記データ転送方法において、好ましくは、上記各ブロックに対応して設けられた第３のレジスタ手段に、上記各ブロックが使用状態であるか否かを示すデータを記憶するステップをさらに含むことを特徴とする。
【００３１】
第３の発明に係るデータ転送方法を含むプログラムは、上記各ステップを備えたデータ転送方法を含むことを特徴とする。
【００３２】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態について説明する。
【００３３】
図１は、本発明の実施形態に係るＩＥＥＥ１３９４インターフェース装置１０の構成を示すブロック図である。図２５の従来技術では、受信用ＦＩＦＯ記憶装置１０５と同期送信用ＦＩＦＯ記憶装置１０６と非同期送信用ＦＩＦＯ記憶装置１０７の３つに分かれているが、本実施形態においては、これら３つの記憶装置１０５，１０６，１０７を、ただ１つの３ポートＦＩＦＯ記憶装置５に統合化したことを特徴としている。
【００３４】
図１の実施形態に係るデータ転送装置は、送信又は受信のためのデータを、例えばシングルポートメモリ２７である記憶装置に一時的に格納した後転送するデータ転送装置であり、上記記憶装置を所定の同一の単位の複数のブロックに分割し、データを転送して送信するときの送信用データ書込要求信号ＩＴＸＦＷＲＥＱＢ又はＡＴＸＦＷＲＥＱＢに応答して、上記複数のブロックのうち未使用の１つのブロックを選択して当該選択したブロックを使用状態とし、送信用データを当該選択したブロックに書き込んだ後読み出して転送するとともに、データを転送して受信するときの受信用データ書込要求信号ＲＸＦＲＲＥＱＢに応答して、上記複数のブロックのうち未使用の１つのブロックを選択して当該選択したブロックを使用状態とし、受信用データを当該選択したブロックに書き込んだ後読み出して転送するように制御することを特徴としている。また、上記データ転送装置において、上記制御手段は、好ましくは、上記複数のブロックのうち未使用の１つのブロックを選択するときに、選択したブロックに続いてデータを書き込むための次のブロックを選択して当該選択した次のブロックを使用状態として確保することを特徴としている。
【００３５】
図１において、ＩＥＥＥ１３９４バスＢ１からパーソナルコンピュータ１３に到来した受信データは、ＩＥＥＥ１３９４インターフェース装置１０のＰＨＹ回路７において受信され、ＰＨＹ回路７は入力された受信データに対して物理層における信号変換などのインターフェース処理を実行した後、ＬＩＮＫ回路６に出力する。ＬＩＮＫ回路６は入力された受信データに対してリンク層における信号変換などのインターフェース処理を実行した後、３ポートＦＩＦＯ記憶装置５に書き込む。次いで、受信用ＤＭＡコントローラ２は３ポートＦＩＦＯ記憶装置５内の受信データを読み出してＰＣＩインターフェースコントローラ１に出力し、これに応答して、ＰＣＩインターフェースコントローラ１は読み出された受信データに対して信号変換などのインターフェース処理を実行した後、ＰＣＩバスＢ２を介してＲＡＭ１１に出力して記憶する。
【００３６】
また、パーソナルコンピュータ１３からＩＥＥＥ１３９４バスＢ１にデータを送信するときは、ＣＰＵ１２がＲＡＭ１１内の送信データをＰＣＩインターフェースコントローラ１に送り、ＰＣＩインターフェースコントローラ１は当該送信データに対して信号変換などのインターフェース処理を実行した後、同期送信するならば、同期送信用ＤＭＡコントローラ３に出力し、これに応答して、同期送信用ＤＭＡコントローラ３は上記送られた送信データを３ポートＦＩＦＯ記憶装置５に書き込む。また、送信データを非同期送信するならば、送信データはＰＣＩインターフェースコントローラ１から非同期送信用ＤＭＡコントローラ４に出力され、非同期送信用ＤＭＡコントローラ４は上記送られた送信データを３ポートＦＩＦＯ記憶装置５に書き込む。次いで、ＬＩＮＫ回路６は、３ポートＦＩＦＯ記憶装置５内のデータを読み出してリンク層の信号変換などのインターフェース処理を実行した後、物理層の信号変換などのインターフェース処理を実行するＰＨＹ回路７を介してＩＥＥＥ１３９４バスＢ１に送信する。
【００３７】
図２は、３ポートＦＩＦＯ記憶装置５の詳細構成を示すブロック図である。図２５乃至図２７の従来技術と相違点について以下に説明する。
【００３８】
図２６の受信用ＦＩＦＯ記憶装置１０５、同期送信用ＦＩＦＯ記憶装置１０６及び非同期送信用ＦＩＦＯ記憶装置１０７は、図２では３ポートＦＩＦＯ記憶装置５に相当する。図２６の受信用ＦＩＦＯ記憶装置１０５のＦＩＦＯメモリ１２１、同期送信用ＦＩＦＯ記憶装置１０６のＦＩＦＯメモリ１３１及び非同期送信用ＦＩＦＯ記憶装置１０７のＦＩＦＯメモリ１４１はそれぞれ、図２の受信用ＦＩＦＯメモリ２１、同期送信用ＦＩＦＯメモリ２２、非同期送信用ＦＩＦＯメモリ２３に相当し、そのデータ容量も同じである。図２６の受信用ＦＩＦＯ記憶装置１０５のシングルポートメモリ１２２、同期送信用ＦＩＦＯ記憶装置１０６のシングルポートメモリ１３２及び非同期送信用ＦＩＦＯ記憶装置１０７のシングルポートメモリ１４２は、図２のシングルポートメモリ２７に相当し、図２６の３つのシングルポートメモリの総容量と図２の容量は同じである。シングルポートメモリ２７は、例えばＳＲＡＭで構成される。
【００３９】
また、図２のシングルポートメモリ２７の第１の入力端子には、入力データバスＭＤＩ［３２：０］を介して、４対１の３３ビットマルチプレクサ２４からのデータが入力され、そのマルチプレクサ２４の第１の入力端子（０）には、データバスＡＴＤＯ［３２：０］を介して非同期送信用ＦＩＦＯメモリ２３の出力データが入力され、マルチプレクサ２４の第２の入力端子（１）にはデータバスＩＴＤＯ［３２：０］を介して同期送信用ＦＩＦＯメモリ２２の出力データが入力され、マルチプレクサ２４の第３の入力端子（２）にはデータバスＲＸＤＯ［３２：０］を介してＬＩＮＫ回路６からの受信データが入力され、そして、マルチプレクサ２４の第４の入力端子（３）には、図２６の受信用ＦＩＦＯ記憶装置１０５で受信用ＦＩＦＯ記憶装置１０５がフル状態になったときにマルチプレクサ１２３の入力に用いるものと同じデータ３３’ｈ１０００００１４の固定値（この値は一例である。）が入力される。また、図２のシングルポートメモリ２７の第２の入力端子は、アドレスバスＭＡＤ［１０：０］を介して４対１の１１ビットマルチプレクサ２５の出力端子に接続され、そのマルチプレクサ２５の第１の入力端子（０）は、アドレスバスＡＡＤ［１０：０］を介してＦＩＦＯタイミングコントローラ２８から非同期送信用のアドレスデータが入力され、マルチプレクサ２５の第２の入力端子（１）はアドレスバスＩＡＤ［１０：０］を介してＦＩＦＯタイミングコントローラ２８から同期送信用のアドレスデータが入力され、マルチプレクサ２５の第３の入力端子（２）及び第４の入力端子（３）はアドレスバスＲＡＤ［１０：０］を介してＦＩＦＯタイミングコントローラ２８からの受信用のアドレスデータが入力される。また、図２のシングルポートメモリ２７の第３の入力端子には、４対１の１ビットマルチプレクサ２６から出力された読み出し書き込み制御信号ＭＷＲＢが入力され、そのマルチプレクサ２６の第１の入力端子（０）にはＦＩＦＯタイミングコントローラ２８からの非同期送信用ＦＩＦＯメモリ２３の読み出し要求信号ＡＦＲＤＢが入力され、マルチプレクサ２６の第２の入力端子（１）にはＦＩＦＯタイミングコントローラ２８からの同期送信用ＦＩＦＯメモリ２２の読み出し要求信号ＩＦＲＤＢが入力され、マルチプレクサ２６の第３の入力端子（２）及び第４の入力端子（３）には、ＦＩＦＯタイミングコントローラ２８からの受信用ＦＩＦＯメモリ２１の書き込み要求信号ＲＦＷＲＢが入力される。そして、前述の３つのマルチプレクサ２４，２５，２６へのデータセレクト信号を伝送するために、バスＤＩＳＥＬ［１：０］が、ＦＩＦＯタイミングコントローラ２８と各マルチプレクサ２４，２５，２６との間で接続される。
【００４０】
また、シングルポートメモリ２７の出力データバスＭＤＯ［３２：０］は、ＬＩＮＫ回路６へのデータバスＩＴＸＤＩ［３２：０］及びＡＴＸＤＩ［３２：０］となり、また、受信用ＦＩＦＯメモリ２１の入力データバスとなる。また、受信用ＦＩＦＯメモリ２１の出力データバスは受信用ＤＭＡコントローラ２へのデータバスＲＸＤＩ［３２：０］となり、同期送信用ＤＭＡコントローラ３からのデータバスＩＴＸＤＯ［３２：０］は同期送信用ＦＩＦＯメモリ２２の入力データバスとなり、非同期送信用ＤＭＡコントローラ４からのデータバスＡＴＸＤＯ［３２：０］は非同期送信用ＦＩＦＯメモリ２３の入力データバスとなる。
【００４１】
さらに、受信用ＦＩＦＯメモリ２１の読み出し要求信号として、ＦＩＦＯタイミングコントローラ２８からＲＦＲＤＢ信号が受信用ＦＩＦＯメモリ２１に入力され、受信用ＦＩＦＯメモリ２１の書き込み要求信号として、ＦＩＦＯタイミングコントローラ２８からＲＦＷＲＢ信号が受信用ＦＩＦＯメモリ２１に入力される。また、同期送信用ＦＩＦＯメモリ２２の読み出し要求信号として、ＦＩＦＯタイミングコントローラ２８からＩＦＲＤＢ信号が同期送信用ＦＩＦＯメモリ２２に入力され、同期送信用ＦＩＦＯメモリ２２の書き込み要求信号として、ＦＩＦＯタイミングコントローラ２８からＩＦＷＲＢ信号が同期送信用ＦＩＦＯメモリ２２に入力される。さらに、非同期送信用ＦＩＦＯメモリ２３の読み出し要求信号として、ＦＩＦＯタイミングコントローラ２８からＡＦＲＤＢ信号が非同期送信用ＦＩＦＯメモリ２３に入力され、非同期送信用ＦＩＦＯメモリ２３の書き込み要求信号として、ＦＩＦＯタイミングコントローラ２８からＡＦＷＲＢ信号が非同期送信用ＦＩＦＯメモリ２３に入力される。
【００４２】
以上の実施形態においては、シングルポートメモリ２７と各ＤＭＡコントローラ２，３，４との間の記憶装置として、ＦＩＦＯメモリ２１，２２，２３が用いたが、本発明はこれに限らず、この記憶装置は非同期デュアルポートメモリ等のメモリであってもよい。
【００４３】
次いで、図３乃至図７を参照して、図１及び図２のＩＥＥＥ１３９４インターフェース装置１０の記憶方法について説明する。
【００４４】
本実施形態においては、図３に示すように、３ポートＦＩＦＯ記憶装置５内のシングルポートメモリ２７のデータ記憶領域を所定の小さなブロックに分割し、その各ブロックは受信用、同期送信用及び非同期送信用のいずれにも使用できるようにすることを特徴としている。図３に示されたシングルポートメモリ２７は、３３ビット幅×２０４８ワードのメモリ容量を有し、メモリ領域を６４ワード毎に、３２個のブロックＢ００乃至Ｂ３１に分割して使用する。また、図３に示すように、各ブロックＢ００乃至Ｂ３１に対して、以下のレジスタが設けられる。
（ａ）各ブロック内のデータが次にどのブロックに続くかを示すためのアドレスポインタ又はブロックポインタの５ビットデータを格納するレジスタＢ００ＮＸＰＴ［４：０］乃至Ｂ３１ＮＸＰＴ［４：０］。
（ｂ）各ブロックが、受信用、同期送信用又は非同期送信用のいずれかのＦＩＦＯ記憶装置のメモリとして割り当てられて使用しているか否かを示す１ビットデータを記憶するレジスタＢ００ＵＳＥ乃至Ｂ３１ＵＳＥ。
（ｃ）各ブロックの次のブロックが割り当てられているか否かを示す１ビットデータを記憶するレジスタＢ００ＮＯＫ乃至Ｂ３１ＮＯＫ。
これらのレジスタの詳細構成については後述される。
【００４５】
図４乃至図７に、図３のシングルポートメモリ２７の動作に係る概略説明図を示す。図４乃至図７に示すように、受信ＦＩＦＯデータ、同期送信ＦＩＦＯデータ及び非同期送信ＦＩＦＯデータに対応してそれぞれ、シングルポートメモリ２７内のどのブロックに対してデータを書き込み、もしくはデータを読み出ししているかを示すブロックポインタが設けられる。また、本実施形態の基本的な条件として、シングルポートメモリ２７内のすべてのブロックは、現在データを書き込んでいるブロックに対してその次に書き込みできるブロックを１つ割り当てる。次いで、図４乃至図７を用いてその動作例について以下に説明する。
【００４６】
図４の初期状態では、受信ＦＩＦＯデータ読み出し用ブロックポインタ“ＲＲＤＢＰＴＲ”及び書き込み用ブロックポインタ“ＲＷＲＢＰＴＲ”はともに“００ｈ”（「ｈ」は１６進数であることを示す。）となり、ブロックＢ００を指す。また、同期送信用ＦＩＦＯデータ読み出し用ブロックポインタ“ＩＲＤＢＴＰＲ”及び書き込み用ブロックポインタ“ＩＷＲＢＴＰＲ”はともに“０１ｈ”となりブロックＢ０１を指す。また、非同期送信用ＦＩＦＯデータ読み出し用ブロックポインタ“ＡＲＤＢＰＴＲ”及び書き込み用ブロックポインタ“ＡＷＲＢＰＴＲ”はともに“０２ｈ”となりブロックＢ０２を指す。上述の各ブロックポインタの詳細構成は後述される。また、ブロックＢ００に続くブロックを示すアドレスポインタのレジスタＢ００ＮＸＰＴは“０３ｈ”となりブロックＢ０３を指す。また、レジスタＢ０１ＮＸＰＴは“０４ｈ”となりブロックＢ０４を指す。また、レジスタＢ０２ＮＸＰＴは“０５ｈ”となりブロックＢ０５を指す。また、ブロックＢ００〜Ｂ０２に次のブロックが割り当てられていることから、レジスタＢ００ＮＯＫ、Ｂ０１ＮＯＫ及びＢ０２ＮＯＫはハイレベルとなる。またブロックＢ００〜Ｂ０５は、受信と同期送信と非同期送信の各ＦＩＦＯデータに割り当てられているので、レジスタＢ００ＵＳＥ、Ｂ０１ＵＳＥ、Ｂ０２ＵＳＥ、Ｂ０３ＵＳＥ、Ｂ０４ＵＳＥ及びＢ０５ＵＳＥはハイレベルとなる。
【００４７】
図５のパケット受信では、図４の初期状態から、受信パケットがＬＩＮＫ回路６からデータ転送されてシングルポートメモリ２７内に書き込まれた後の状態を示す。ＬＩＮＫ回路６から送られた受信データがブロックＢ００のすべてに書き込まれてしまうと、次に、レジスタＢ００ＮＸＰＴのデータ値は“０３ｈ”であるので、ブロックＢ０３に受信データの続きを書き込みを開始する。また、同時にブロックＢ０３の次のブロックが割り当てられていないので、未使用ブロックであるブロックＢ０６が受信ＦＩＦＯデータのために割り当てられる。そのため、レジスタＢ０３ＮＸＰＴは“０６ｈ”（すなわち、ブロックＢ０６のアドレスを示す。）となり、レジスタＢ０３ＮＯＫはハイレベルになり、レジスタＢ０６ＵＳＥはハイレベルになる。また、受信データがブロックＢ０３のすべてに書き込まれてしまうと、次に、レジスタＢ０３ＮＸＰＴのデータ値は“０６ｈ”であるので、受信データの続きをブロックＢ０６に書き込みを開始する。また、同時にブロックＢ０６の次のブロックが割り当てられていないので、未使用ブロックであるブロックＢ０７が受信ＦＩＦＯデータのために割り当てられる。そのため、レジスタＢ０６ＮＸＰＴは“０７ｈ”（すなわち、ブロックＢ０７のアドレスを示す。）となり、レジスタＢ０６ＮＯＫはハイレベルになり、レジスタＢ０７ＵＳＥはハイレベルになる。
【００４８】
図６の受信パケット処理では、図５のパケット受信状態から、シングルポートメモリ２７に蓄えられた受信パケットを受信用ＤＭＡコントローラ２が読み出してＰＣＩＲＡＭ１１上への書き込みが終了した状態を示す。受信用ＤＭＡコントローラ２がブロックＢ００のデータをすべて読み出して、その読み出しを終了する、レジスタＢ００ＮＸＰＴのデータ値“０３ｈ”が指示しているブロックＢ０３内のデータを読み出しを開始する。また、同時にブロックＢ００のデータはすべて読み出しを終えてデータが必要でなくなったため、レジスタＢ００ＮＯＫ及びＢ００ＵＳＥをローレベルにする。このことによって、必然的に、レジスタＢ００ＮＸＰＴのデータは意味のないデータになる。また、ブロックＢ０３のデータをすべて読み出しを終了すると、レジスタＢ０３ＮＸＰＴのデータ値“０６ｈ”が指示しているブロックＢ０６のデータを読み出しを開始する。また、同時にブロックＢ０３のデータはすべて読み出しを終了してデータが必要でなくなったため、レジスタＢ０３ＮＯＫ及びＢ０３ＵＳＥをローレベルにする。このことによって、必然的に、レジスタＢ０３ＮＸＰＴのデータは意味のないデータとなる。
【００４９】
図７の同期送信パケット準備では、図６の受信パケット処理状態の後で同期送信用ＤＭＡコントローラが同期送信用ＦＩＦＯメモリ２２に同期送信データを準備した後の状態を示す。同期送信用ＤＭＡコントローラから送られた同期送信データがブロックＢ０１のすべてに書き込まれてしまうと、次に、レジスタＢ０１ＮＸＰＴのデータ値は“０４ｈ”であるので、ブロックＢ０４に同期送信データの続きを書き込みを開始する。また、同時にブロックＢ０４の次のブロックが割り当てられていないので、未使用ブロックであるブロックＢ０８が同期送信データのために割り当てられる。そのため、レジスタＢ０４ＮＸＰＴは“０８ｈ”となり、レジスタＢ０４ＮＯＫはハイレベルになり、レジスタＢ０８ＵＳＥはハイレベルになる。また、同期送信データがブロックＢ０４のすべてに書き込まれてしまうと、次に、レジスタＢ０４ＮＸＰＴのデータ値は“０８ｈ”であるので、ブロックＢ０８に書き込みを開始する。また、同時にブロックＢ０８の次のブロックが割り当てられていないので、未使用ブロックであるブロックＢ０９が同期送信データのために割り当てられる。そのため、レジスタＢ０８ＮＸＰＴは“０９ｈ”となり、レジスタＢ０８ＮＯＫはハイレベルになり、レジスタＢ０９ＵＳＥはハイレベルになる。
【００５０】
以上のように１つのＦＩＦＯデータに対して常に２つ以上のブロックが割り当てられていて、使用し終わったブロックは割り当てを開放するため、状況に応じて有効的でかつ効率的なＦＩＦＯ記憶装置の使用方法を実行できる。上述しなかったが、シングルポートメモリ２７に非同期送信データを書き込み及び／又は読み出しするときも、同様に処理することができる。また、図４乃至図７の例は常に先の空きブロックを割り当て、ブロックＢ３１まで割り当ててしまった場合はブロックＢ００から割り当てる方法の例である。しかし、常にブロックＢ００からもっとも近い空きブロックを割り当てる方法でもよく、図８乃至図１２の詳細構成の説明ではこの方法を用いている。
【００５１】
以下に、図１及び図２で説明されたＩＥＥＥ１３９４インターフェース装置１０のさらに詳細な構成を説明する。
【００５２】
図８は、図２のＦＩＦＯタイミングコントローラ２８の構成例を示す。図８の受信用タイミングコントローラ３１、同期送信用タイミングコントローラ３２及び非同期送信用タイミングコントローラ３３は基本的にはそれぞれ、図２６の受信用ＦＩＦＯ記憶装置１０５のタイミングコントローラ１２４、同期送信用ＦＩＦＯ記憶装置１０６のタイミングコントローラ１３３及び非同期送信用ＦＩＦＯ記憶装置１０７のタイミングコントローラ１４３と同様であり、受信用ＦＩＦＯメモリ２１、同期送信用ＦＩＦＯメモリ２２及び非同期送信用ＦＩＦＯメモリ２３のタイミング制御を実行する。また、図８には本実施形態のシングルポートメモリ２７をある一定サイズでブロック化した各ブロックを制御するためのコントローラとしてブロックコントローラ３５が設けられる。このブロックコントローラ３５は、図３で説明したレジスタＢ００ＮＸＰＴ乃至Ｂ３１ＮＸＰＴ［４：０］、レジスタＢ００ＮＯＫ乃至Ｂ３１ＮＯＫ、及びレジスタＢ００ＵＳＥ乃至Ｂ３１ＵＳＥを備える。
【００５３】
ブロックコントローラ３５には、受信用タイミングコントローラ３１から、現在の書き込みブロックの値を示すＲＷＢ［４：０］信号と、現在書き込んでいるブロックの次に使用できるブロックが割り当てられていないときにブロックの割り当て要求をするＲＢＡＬＲＥＱＢ信号と、現在読み出しているブロックの値を示すＲＲＢ［４：０］信号と、現在読み出していたブロックのすべてのデータを読み出したためそのブロックの割り当てを解除できることを示すＲＲＢＦＲＥＥ信号が受信用の信号として入力される。また、ブロックコントローラ３５は、受信用タイミングコントローラ３１に、現在選択されている空きブロック値を示すＢＥＭＰ［４：０］信号と、新しいブロックの割り当て要求に対してブロックの割り当てを許可するＲＢＡＬＡＣＫＢ信号と、現在読み出しているブロックの次に読み出すブロックを示すＲＮＲＢ［４：０］信号と、前述の次に読み出すブロックが既に割り当てられていることを示すＲＮＲＢＯＫ信号とを受信用の信号として出力する。
【００５４】
また、ブロックコントローラ３５には、同期送信用タイミングコントローラ３２から、現在の書き込みブロックの値を示すＩＷＢ［４：０］信号と、現在書き込んでいるブロックの次に使用できるブロックが割り当てられていないときにブロックの割り当て要求をするＩＢＡＬＲＥＱＢ信号と、現在読み出しているブロックの値を示すＩＲＢ［４：０］信号と、現在読み出していたブロックのすべてのデータを読み出したためそのブロックの割り当てを解除できることを示すＩＲＢＦＲＥＥ信号が同期送信用の信号として入力される。また、ブロックコントローラ３５は、同期送信用タイミングコントローラ３２に、現在選択されている空きブロック値を示すＢＥＭＰ［４：０］信号と、新しいブロックの割り当て要求に対してブロックの割り当てを許可するＩＢＡＬＡＣＫＢ信号と、現在読み出しているブロックの次に読み出すブロックを示すＩＮＲＢ［４：０］信号とを同期送信用の信号として出力する。
【００５５】
また、ブロックコントローラ３５には、非同期送信用タイミングコントローラ３３から、現在の書き込みブロックの値を示すＡＷＢ［４：０］信号と、現在書き込んでいるブロックの次に使用できるブロックが割り当てられていないときにブロックの割り当て要求をするＡＢＡＬＲＥＱＢ信号と、現在読み出しているブロックの値を示すＡＲＢ［４：０］信号と、現在読み出していたブロックのすべてのデータを読み出したためそのブロックの割り当てを解除できることを示すＡＲＢＦＲＥＥ信号が非同期送信用の信号として入力される。また、ブロックコントローラ３５は、非同期送信用タイミングコントローラ３３に、現在選択されている空きブロック値を示すＢＥＭＰ［４：０］信号と、新しいブロックの割り当て要求に対してブロックの割り当てを許可するＡＢＡＬＡＣＫＢ信号と、現在読み出しているブロックの次に読み出すブロックを示すＡＮＲＢ［４：０］信号とを非同期送信用の信号として出力する。
【００５６】
また、受信用タイミングコントローラ３１には、受信用ＤＭＡコントローラ２からＲＸＦＲＲＥＱＢ信号及びＲＸＦＲＷＡＩＴ信号が入力され、受信用タイミングコントローラ３１は受信用ＤＭＡコントローラ２にＲＸＦＲＡＣＫＢ信号を出力する。また、受信用タイミングコントローラ３１には、ＬＩＮＫ回路６からＲＸＷＲＢ信号が入力され、受信用タイミングコントローラ３１はＬＩＮＫ回路６にＲＸＦＵＬＬ信号を出力する。また、受信用タイミングコントローラ３１には、図２に示すアドレスバスＲＡＤ［１０：０］が接続され、受信用タイミングコントローラ３１はＲＦＲＤＢ信号及びＲＦＷＲＢ信号を出力する。また、同期送信用タイミングコントローラ３２には、同期送信用ＤＭＡコントローラ３からＩＴＸＦＷＲＥＱＢ信号及びＩＴＸＦＷＤＴＶＬ信号が入力され、同期送信用タイミングコントローラ３２は同期送信用ＤＭＡコントローラ３にＩＴＸＦＷＡＣＫＢ信号を出力する。また、同期送信用タイミングコントローラ３２には、ＬＩＮＫ回路６からＩＴＸＲＤＢ信号が入力される。また、同期送信用タイミングコントローラ３２には、図２に示すアドレスバスＩＡＤ［１０：０］が接続され、同期送信用タイミングコントローラ３２は、ＩＦＲＤＢ信号及びＩＦＷＲＢ信号を出力する。また、非同期送信用タイミングコントローラ３３には、非同期送信用ＤＭＡコントローラ４からＡＴＸＦＷＲＥＱＢ信号及びＡＴＸＦＷＤＴＶＬ信号が入力され、非同期送信用タイミングコントローラ３３は非同期送信用ＤＭＡコントローラ４にＡＴＸＦＷＡＣＫＢ信号を出力する。また、非同期送信用タイミングコントローラ３３には、ＬＩＮＫ回路６からＡＴＸＲＤＢ信号が入力される。また、非同期送信用タイミングコントローラ３３には、図２に示すアドレスバスＡＡＤ［１０：０］が接続され、非同期送信用タイミングコントローラ３３は、ＡＦＲＤＢ信号及びＡＦＷＲＢ信号を出力する。そして、データ選択コントローラ３４には、ＲＸＷＲＢ信号、ＩＴＸＲＤＢ信号、ＡＴＸＲＤＢ信号、ＲＦＷＲＢ信号、ＩＦＲＤＢ信号及びＡＦＲＤＢ信号が入力され、さらに、３ポートＦＩＦＯ記憶装置５がフル状態でＬＩＮＫ回路６からの書き込みデータが最終のデータであるときにハイレベルになるＲＦＴ信号が入力され、また、データ選択コントローラ３４からバスＤＩＳＥＬ［１：０］を介してデータセレクト信号が出力される。このバスＤＩＳＥＬ［１：０］を介して出力されるデータセレクト信号は、データの受信処理をする期間は“１０ｂ”となり、データの同期送信処理をする期間は“０１ｂ”となり、データの非同期送信処理をする期間は“００ｂ”となり、並びに、データの受信処理を実行しているときにＲＦＴ信号がハイレベルである期間つまり３ポートＦＩＦＯ記憶装置５がフル状態であってＬＩＮＫ回路６からの書き込みデータが最終のデータである期間は“１１ｂ”となる。また、ＬＩＮＫ回路６の動作の条件として、ＲＸＷＲＢ信号、ＩＴＸＲＤＢ信号及びＡＴＸＲＤＢ信号は同時にアクティブになることはなく、これらの信号のうちいずれをアクティブにするのかは、ＬＩＮＫ回路６の動作において最優先に選択される。また、それらの信号がアクティブではないときでＲＦＷＲＢ信号、ＩＦＲＤＢ信号及びＡＦＲＤＢ信号がアクティブになったときは、シングルポートメモリ２７と、受信用ＦＩＦＯメモリ２１、同期送信用ＦＩＦＯメモリ２２又は非同期送信用ＦＩＦＯメモリ２３との間のパケットの読み出し／書き込みを、順番に優先順位を変えて選択する。
【００５７】
図９は図８のブロックコントローラ３５の実施例を示す。前述したように、図４乃至図７の概略説明図で使用したレジスタＢ００ＮＸＰＴ［４：０］乃至Ｂ３１ＮＸＰＴ［４：０］、レジスタＢ００ＮＯＫ乃至Ｂ３１ＮＯＫ、及びレジスタＢ００ＵＳＥ乃至Ｂ３１ＵＳＥがブロックコントローラ３５に設けられる。以下の説明において、「＃＃」は００乃至３１を示す。
【００５８】
ブロックコントローラ３５のブロックアクセスコントローラ４１は、これらのレジスタを制御して、シングルポートメモリ２７のメモリ領域を分割することによって作られた各ブロックＢ００乃至Ｂ３１に対するアクセスを制御するものである（図４乃至図７参照）。各レジスタＢ＃＃ＮＸＰＴ［４：０］は同期データロードイネーブル（ＥＢ）付きの５ビットレジスタで、各レジスタＢ＃＃ＮＸＰＴ［４：０］には、ブロックアクセスコントローラ４１から出力されるＢ＃＃ＮＸＢ信号が入力される。そして、各レジスタＢ＃＃ＮＸＰＴ［４：０］の入力端子には、３２ビットプライオリティエンコーダ４２から出力されるＢＥＭＰ［４：０］信号が入力される。また、各レジスタＢ＃＃ＮＸＰＴ［４：０］の出力端子は、３つの３２対１の５ビットマルチプレクサ４４，４５，４６の入力端子に接続される。そして、マルチプレクサ４４のセレクト信号端子にはＲＲＢ［４：０］信号が入力され、そのマルチプレクサ４４の出力端子からＲＮＲＢ［４：０］信号が出力される。また、マルチプレクサ４５のセレクト信号端子にはＩＲＢ［４：０］信号が入力され、マルチプレクサ４５の出力端子からＩＮＲＢ［４：０］信号が出力される。さらに、マルチプレクサ４６のセレクト信号端子にはＡＲＢ［４：０］信号が入力され、そのマルチプレクサ４６の出力端子からＡＮＲＢ［４：０］信号が出力される。
【００５９】
また、Ｄタイプのフリップフロップである各レジスタＢ＃＃ＮＯＫは、同期データロードイネーブル（ＥＢ）付きの１ビットレジスタで、各レジスタＢ＃＃ＮＯＫには、ブロックアクセスコントローラ４１から出力されるＢ＃＃ＮＸＢ信号が入力される。また、各レジスタＢ＃＃ＮＯＫには同期リセット（ＲＢ）端子を有し、その端子にはブロックアクセスコントローラ４１から出力されるＢ＃＃ＦＬＢ信号が入力される。各レジスタＢ＃＃ＮＯＫのＤ入力端子はそれぞれハイレベルを示す電圧源Ｖｃｃに接続されている。そして、各レジスタＢ＃＃ＮＯＫからの出力信号は３２対１の１ビットマルチプレクサ４３の入力信号となり、そのマルチプレクサ４３のセレクト信号端子にはＲＲＢ［４：０］信号が入力され、そのマルチプレクサ４３の出力端子からＲＮＲＢＯＫ信号が出力される。また、Ｄタイプのフリップフロップである各レジスタＢ＃＃ＵＳＥは、同期データロードイネーブル（ＥＢ）付きの１ビットレジスタで、各レジスタＢ＃＃ＵＳＥにはブロックアクセスコントローラ４１から出力されるＢ＃＃ＡＬＢ信号が入力される。また、各レジスタＢ＃＃ＵＳＥは同期リセット（ＲＢ）端子を有し、各レジスタＢ＃＃ＵＳＥにはブロックアクセスコントローラ４１から出力されるＢ＃＃ＦＬＢ信号が入力される。各レジスタＢ＃＃ＵＳＥのＤ入力端子はハイレベルを示す電圧源Ｖｃｃに接続されている。そして、これら各レジスタＢ＃＃ＵＳＥからの出力信号は３２ビットプライオリティエンコーダ４２の入力信号となり、３２ビットプライオリティエンコーダ４２からの出力信号は、ＢＥＭＰ［４：０］信号としてブロックコントローラ３５の外部に出力されかつブロックアクセスコントローラ４１に入力される。
【００６０】
また、各レジスタＢ＃＃ＵＳＥからの出力信号は、３２個の入力端子を有するオアゲートＡＮＤ１に入力され、そのオアゲートＡＮＤ１からの出力信号は、ＢＦＵＬＬ信号としてブロックアクセスコントローラ４１に入力される。また、ブロックアクセスコントローラ４１には、ＲＷＢ［４：０］信号、ＲＢＡＬＲＥＱＢ信号、ＲＲＢＦＲＥＥ信号、ＩＷＢ［４：０］信号、ＩＢＡＬＲＥＱＢ信号、ＩＲＢＦＲＥＥ信号、ＡＷＢ［４：０］信号、ＡＢＡＬＲＥＱＢ信号及びＡＲＢＦＲＥＥ信号が入力され、ブロックアクセスコントローラ４１は、ＲＢＡＬＡＣＫＢ信号、ＩＢＡＬＡＣＫＢ信号及びＡＢＡＬＡＣＫＢ信号を出力する。ここで、ブロックアクセスコントローラ４１は、入力されるＲＢＡＬＲＥＱＢ信号、ＩＢＡＬＲＥＱＢ信号、ＡＢＡＬＲＥＱＢ信号及びＢＦＵＬＬ信号に基づいて、受信、同期送信及び非同期送信の新規ブロック割り当て要求に対する許可信号であるＲＢＡＬＡＣＫＢ信号、ＩＢＡＬＡＣＫＢ信号及びＡＢＡＬＡＣＫＢ信号を生成して出力する。その信号生成方法は、ＲＢＡＬＲＥＱＢ信号、ＩＢＡＬＲＥＱＢ信号及びＡＢＡＬＲＥＱＢ信号からなる３種類の要求信号に対して、均等にプライオリティを割り当てたり、例えば受信＞同期送信＞非同期送信というようなプライオリティを与えてもよい。また、Ｂ＃＃ＡＬＢ信号、Ｂ＃＃ＦＲＢ信号及びＢ＃＃ＮＸＢ信号は次式で生成される。
【００６１】
【数１】
2004070656.tif 000003
【００６２】
【数２】
2004070656.tif 000004
【００６３】
【数３】
2004070656.tif 000005
【００６４】
ここで、“ＩＮＶ”は否定演算又は反転演算を意味し、“ＯＲ”は論理和演算を意味し、“ＡＮＤ”は論理積演算を意味する。
【００６５】
図１０は、図８の受信用タイミングコントローラ３１に内蔵される回路の一部であるカウンターの構成例を示すブロック図である。図１０のレジスタＲＷＲＮＢＰＴＲは５ビットのレジスタであって、現在書き込んでいるブロックの次に書き込みできるブロックを示す値が格納される。そして、そのレジスタＲＷＲＮＢＰＴＲの入力端子にはＢＥＭＰ［４：０］信号が入力される。また、レジスタＲＷＲＢＰＴＲは５ビットのレジスタであって、現在書き込んでいるブロックを示す値が格納され、その出力信号はＲＷＢ［４：０］信号として出力される。そして、レジスタＲＷＲＢＰＴＲの入力端子には、レジスタＲＷＲＮＢＰＴＲからの出力信号が入力される。また、６ビットアップカウンタ５１には、現在書き込んでいるブロックのどのアドレスを書き込むかを示す値が格納される。そして、現在の外部のシングルポートメモリ２７の書き込んでいるアドレスを示すＲＷＲＣＮＴ［１０：０］信号のうちの上位５ビットの信号は、レジスタＲＷＲＢＰＴＲからのＲＷＲＣＮＴ［１０：６］信号であり、その下位６ビットの信号は６ビットアップカウンタ５１のＤＯ［５：０］端子からのＲＷＲＣＮＴ［５：０］信号である。
【００６６】
また、ＲＢＡＬＡＣＫＢ信号は、オアゲートＯＲ１の第１の入力端子に入力され、オアゲートＯＲ１からの出力信号はナンドゲートＮＡＮＤ２の第１の入力端子に入力され、オアゲートＯＲ１からの出力信号はレジスタＲＷＲＮＢＰＴＲのＬＢ入力端子に同期ロードイネーブル信号として入力されるとともに、２ビット同期アップダウンカウンタ５２のＤＢ入力端子及びナンドゲートＮＡＮＤ２の第１の入力端子に入力される。ナンドゲートＮＡＮＤ２からの出力信号はＤタイプのフリップフロップＦ１のＤ入力端子に出力され、フリップフロップＦ１からのＱ出力信号は、ＲＢＡＬＲＥＱＢ信号としてブロックコントローラ３５に出力されるとともに、オアゲートＯＲ１の第２の入力端子及びナンドゲートＮＡＮＤ１の第２の入力端子とに入力され、ナンドゲートＮＡＮＤ１からの出力信号はレジスタＲＷＲＢＰＴＲのＬＢ入力端子に同期ロードイネーブル信号として入力される。フリップフロップＦ１からの反転ＱＢ出力信号はオアゲートＯＲ２の第２の入力端子に入力され、オアゲートＯＲ２からの出力信号はナンドゲートＮＡＮＤ２の第２の入力端子に出力される。６ビットアップカウンタ５１からのキャリーアウト信号（ＣＯ）はナンドゲートＮＡＮＤ３の第１の入力端子に入力され、ナンドゲートＮＡＮＤ３の第２の入力端子にはＲＸＷＲＢ信号がインバータＮ１を介して入力される。ナンドゲートＮＡＮＤ３からの出力信号は２ビット同期アップダウンカウンタ５２のＵＢ入力端子に出力されるとともに、インバータＮ２を介してアンドゲートＡＮＤ２の第１の入力端子に入力され、アンドゲートＡＮＤ２からの出力信号はＲＦＴ信号としてデータ選択コントローラ３４に出力される。２ビット同期アップダウンカウンタ５２からＤ０出力信号はアンドゲートＡＮＤ２の第２の入力端子とオアゲートＯＲ３の第１の入力端子とに入力され、２ビット同期アップダウンカウンタ５２のＤ１出力信号はオアゲートＯＲ３の第２の入力端子に入力されるとともに、ＲＸＦＵＬＬ信号としてＬＩＮＫ回路６に出力される。オアゲートＯＲ３からの出力信号はナンドゲートＮＡＮＤ１の第１の入力端子とオアゲートＯＲ２の第１の入力端子とに入力される。
【００６７】
また、レジスタＲＲＤＢＰＴＲは５ビットのレジスタであって、現在読み出しているブロックを示すＲＮＲＢ［４：０］信号の値が格納され、その出力信号はＲＲＢ［４：０］信号として出力される。また、６ビットアップカウンタ５３は、現在読み出しているブロックのどのアドレスを読み出すかを示す値が格納される。そして、現在の外部のシングルポートメモリ２７の読み出しているアドレスを示すＲＲＤＣＮＴ［１０：０］信号は、その上位５ビットの信号がレジスタＲＲＤＢＰＴＲからのＲＲＤＣＮＴ［１０：６］信号となり、その下位６ビットの信号が６ビットアップカウンタ５３から出力ＤＯ［５：０］信号であるＲＲＤＣＮＴ［５：０］信号となる。また、ＲＮＲＢＯＫ信号はナンドゲートＮＡＮＤ４の第１の入力端子に入力され、ナンドゲートＮＡＮＤ４の出力信号は、レジスタＲＲＤＢＰＴＲのＬＢ入力端子に同期ロードイネーブル信号として入力されるとともに、ＤタイプのフリップフロップＦ２のＤ入力端子に入力される。フリップフロップＦ２のＱ出力信号はＤタイプのフリップフロップＦ３のＲＢ入力端子に出力される。６ビットアップカウンタ５３のキャリーアウト信号（ＣＯ）はナンドゲートＮＡＮＤ４の第１の入力端子に入力され、ナンドゲートＮＡＮＤ４の第２の入力端子にはＲＦＷＲＢ信号がインバータＮ３を介して入力される。ナンドゲートＮＡＮＤ４からの出力信号はＲＲＢＦＲＥＥ信号としてブロックコントローラ３５に入力されるとともに、クロック信号としてフリップフロップＦ３に入力される。フリップフロップＦ３のＤ入力端子はハイレベルを示す電圧源Ｖｃｃに接続され、フリップフロップＦ３からのＱ出力信号はナンドゲートＮＡＮＤ４の第２の入力端子に入力される。
【００６８】
図１１は、図８の同期送信用タイミングコントローラ３２に内蔵される回路の一部であるカウンターの構成例を示すブロック図である。図１１のレジスタＩＷＲＮＢＰＴＲは５ビットのレジスタであって、現在書き込んでいるブロックの次に書き込みできるブロックを示す値が格納される。そして、そのレジスタＩＷＲＮＢＰＴＲの入力端子にはＢＥＭＰ［４：０］信号が入力される。また、レジスタＩＷＲＢＰＴＲは５ビットのレジスタであって、現在書き込んでいるブロックを示す値が格納され、その出力信号はＩＷＢ［４：０］信号として出力される。そして、レジスタＩＷＲＢＰＴＲの入力端子にはレジスタＩＷＲＮＢＰＴＲからの出力信号が入力される。また、６ビットアップカウンタ５４は現在書き込んでいるブロックのどのアドレスを書き込むかを示す値が格納される。そして、現在の外部のシングルポートメモリ２７の書き込んでいるアドレスを示すＩＩＷＲＣＮＴ［１０：０］信号は、その上位５ビットがレジスタＩＷＲＢＰＴＲからの出力信号であるＩＷＲＣＮＴ［１０：６］信号となり、その下位６ビットが６ビットアップカウンタ５４からの出力ＤＯ［５：０］信号であるＩＷＲＣＮＴ［５：０］信号となる。
【００６９】
また、ＩＢＡＬＡＣＫＢ信号はオアゲートＯＲ４の第１の入力端子に入力され、オアゲートＯＲ４からの出力信号は、ナンドゲートＮＡＮＤ６の第１の入力端子に入力されるとともに、レジスタＩＷＲＮＢＰＴＲのＬＢ入力端子に同期ロードイネーブル信号として入力される。ナンドゲートＮＡＮＤ６からの出力信号はＤタイプのフリップフロップＦ４のＤ入力端子に入力され、フリップフロップＦ４からのＱ出力信号は、ＩＢＡＬＲＥＱＢ信号としてブロックコントローラ３５に出力されるとともに、オアゲートＯＲ４の第２の入力端子とナンドゲートＮＡＮＤ５の第２の入力端子とに入力される。ナンドゲートＮＡＮＤ５からの出力信号はレジスタＩＷＲＢＰＴＲのＬＢ入力端子に同期ロードイネーブル信号として入力される。６ビットアップカウンタ５４のキャリーアウト信号（ＣＯ）はアンドゲートＡＮＤ４の第１の入力端子に入力され、アンドゲートＡＮＤ４の第２の入力端子にはＩＦＲＤＢ信号がインバータＮ４を介して入力される。アンドゲートＡＮＤ４からの出力信号は、ナンドゲートＮＡＮＤ５の第１の入力端子とオアゲートＯＲ５の第１の入力端子とに入力され、フリップフロップＦ４からの反転ＱＢ出力信号はオアゲートＯＲ５の第２の入力端子に入力される。オアゲートＯＲ５からの出力信号はナンドゲートＮＡＮＤ６の第２の入力端子に入力される。
【００７０】
また、レジスタＩＲＤＢＰＴＲは５ビットのレジスタであって、現在読み出しているブロックを示すＩＮＲＢ［４：０］信号の値が格納され、その出力信号はＩＲＢ［４：０］信号として出力される。また、６ビットアップカウンタ５５は現在読み出しているブロックのどのアドレスを読み出すかを示す値が格納される。そして、現在の外部のシングルポートメモリ２７の読み出しているアドレスを示すＩＲＤＣＮＴ［１０：０］信号は、その上位５ビットがレジスタＩＲＤＢＰＴＲからの出力信号であるＩＲＤＣＮＴ［１０：６］信号となり、その下位６ビットが６ビットアップカウンタ５５からの出力ＤＯ［５：０］信号であるＩＲＤＣＮＴ［５：０］信号となる。また、６ビットアップカウンタ５５からのキャリーアウト信号（ＣＯ）はナンドゲートＮＡＮＤ７の第１の入力端子に入力され、ナンドゲートＮＡＮＤ７の第２の入力端子にはＩＴＸＲＤＢ信号がインバータＮ５を介して入力される。ナンドゲートＮＡＮＤ７からの出力信号は、ＩＲＢＦＲＥＥ信号としてブロックコントローラ３５に出力されるとともに、レジスタＩＲＤＢＰＴＲのＬＢ入力端子に同期ロードイネーブル信号として入力される。
【００７１】
図１２は、図８の非同期送信用タイミングコントローラ３３に内蔵される回路の一部であるカウンターの構成例を示すブロック図である。図１２のレジスタＡＷＲＮＢＰＴＲは５ビットのレジスタであって、現在書き込んでいるブロックの次に書き込みできるブロックを示す値が格納される。そして、そのレジスタＡＷＲＮＢＰＴＲの入力端子にはＢＥＭＰ［４：０］信号が入力される。また、レジスタＡＷＲＢＰＴＲは５ビットのレジスタであって、現在書き込んでいるブロックを示す値が格納され、その出力信号はＡＷＢ［４：０］信号として出力される。そして、レジスタＡＷＲＢＰＴＲの入力端子にはレジスタＡＷＲＮＢＰＴＲからの出力信号が入力される。また、６ビットアップカウンタ５６は現在書き込んでいるブロックのどのアドレスを書き込むかを示す値が格納される。そして、現在の外部のシングルポートメモリ２７の書き込んでいるアドレスを示すＡＷＲＣＮＴ［１０：０］信号は、その上位５ビット信号がレジスタＡＷＲＢＰＴＲからの出力信号であるＡＷＲＣＮＴ［１０：６］となり、その下位６ビット信号が６ビットアップカウンタ５６からの出力ＤＯ［５：０］信号であるＡＷＲＣＮＴ［５：０］信号となる。
【００７２】
また、ＡＢＡＬＡＣＫＢ信号はオアゲートＯＲ６の第１の入力端子に入力され、オアゲートＯＲ６からの出力信号は、ナンドゲートＮＡＮＤ９の第１の入力端子に入力され、レジスタＡＷＲＮＢＰＴＲのＬＢ入力端子に同期ロードイネーブル信号として入力される。ナンドゲートＮＡＮＤ９からの出力信号はＤタイプのフリップフロップＦ５のＤ入力端子に入力され、フリップフロップＦ５からのＱ出力信号は、ＡＢＡＬＲＥＱＢ信号としてブロックコントローラ３５に出力されるとともに、オアゲートＯＲ６の第２の入力端子とナンドゲートＮＡＮＤ８の第１の入力端子とに入力される。ナンドゲートＮＡＮＤ８からの出力信号はレジスタＡＷＲＢＰＴＲのＬＢ入力端子に同期ロードイネーブル信号として入力される。６ビットアップカウンタ５６のキャリーアウト信号（ＣＯ）はアンドゲートＡＮＤ５の第１の入力端子に入力され、アンドゲートＡＮＤ５の第２の入力端子にはＡＦＲＤＢ信号がインバータＮ６を介して入力される。アンドゲートＡＮＤ５からの出力信号は、ナンドゲートＮＡＮＤ８の第１の入力端子とオアゲートＯＲ７の第１の入力端子とに入力され、フリップフロップＦ５からの反転ＱＢ出力信号はオアゲートＯＲ７の第２の入力端子に入力される。オアゲートＯＲ７からの出力信号はナンドゲートＮＡＮＤ９の第２の入力端子に入力される。
【００７３】
また、レジスタＡＲＤＢＰＴＲは５ビットのレジスタであって、現在読み出しているブロックを示すＡＮＲＢ［４：０］信号の値が格納され、その出力信号はＡＲＢ［４：０］信号として出力される。また、６ビットアップカウンタ５７は現在読み出しているブロックのどのアドレスを読み出すかを示す値が格納される。そして、現在の外部のシングルポートメモリ２７の読み出しているアドレスを示すＡＲＤＣＮＴ［１０：０］信号は、その上位５ビットがレジスタＡＲＤＢＰＴＲからの出力信号であるＡＲＤＣＮＴ［１０：６］信号となり、その下位６ビットが６ビットアップカウンタ５７からの出力ＤＯ［５：０］信号であるＡＲＤＣＮＴ［５：０］信号となる。また、６ビットアップカウンタ５７のキャリーアウト信号（ＣＯ）はナンドゲートＮＡＮＤ１０の第１の入力端子に入力され、ナンドゲートＮＡＮＤ１０の第２の入力端子にはＡＴＸＲＤＢ信号がインバータＮ７を介して入力される。ナンドゲートＮＡＮＤ１０からの出力信号は、ＡＲＢＦＲＥＥ信号としてブロックコントローラ３５に出力されるとともに、レジスタＡＲＤＢＰＴＲのＬＢ入力端子に同期ロードイネーブル信号として入力される。
【００７４】
次に、上述されたＩＥＥＥ１３９４インターフェース装置１０の動作について図１３乃至図２４を参照して、各信号のタイミングチャートを参照して説明をする。
【００７５】
図１３は本実施形態のブロックコントローラ３５における各信号の初期タイミングチャートを示す。「ＬＣＬＫ」は、ＩＥＥＥ１９４バスＢ１側のクロック信号を示す。図１３に示すように受信用、同期送信用及び非同期送信用としてそれぞれブロックＢ００、Ｂ０１及びＢ０２が割り当てられている。また、上記のブロックはいずれも、次の書き込みブロックを割り当てられていないため、ブロックＢ００、Ｂ０１及びＢ０２の次のブロックとしてそれぞれタイミングｔ４、タイミングｔ６及びタイミングｔ８でそれぞれブロックＢ０３、Ｂ０４及びＢ０５が割り当てられ、各レジスタＢ００ＮＸＰＴ、Ｂ０１ＮＸＰＴ及びＢ０２ＮＸＰＴにそれぞれの値が設定される。
【００７６】
図１４は、書き込みブロックの切替えがない場合の、本実施形態の３ポートＦＩＦＯ記憶装置５における受信時の各信号のタイミングチャートを示す。「ＤＣＬＫ」は、ＰＣＩバスＢ２側のクロック信号を示す。このタイミングチャートは、受信用の読み出し／書き込みブロックがブロックＢ００のアドレス“００ｈ”から指定されて動作が開始された場合の実施例である。そして、タイミングＴ２、Ｔ４、Ｔ６、Ｔ８及びＴ１０においてそれぞれ、ＬＩＮＫ回路６から３ポートＦＩＦＯ記憶装置５にそれぞれデータＤ０、Ｄ１、Ｄ２、Ｄ３及びＤ４が書き込まれ、そのため各タイミングでＲＷＲＣＮＴ信号がインクリメントされ、順次にデータはシングルポートメモリ２７に蓄えられる。また、それらのデータは、タイミングＴ３、Ｔ５、Ｔ７、Ｔ９及びＴ１１において、ＲＲＤＣＮＴ信号をインクリメントしてシングルポートメモリ２７から順次読み出され、受信用ＦＩＦＯメモリ２１に書き込まれる。そして、タイミングｔ１３、ｔ１６、ｔ２１、ｔ２２及びｔ２３で、順次、３ポートＦＩＦＯ記憶装置５から読み出されたデータは、受信用ＤＭＡコントローラ２に出力される。
【００７７】
図１５は、書き込みブロックの切替えがない場合の、本実施形態の３ポートＦＩＦＯ記憶装置５における同期送信時の各信号のタイミングチャートを示す。このタイミングチャートは、同期送信用の読み出し／書き込みブロックがブロックＢ０１のアドレス“００ｈ”から指定された動作が開始された場合の実施例である。同期送信用ＤＭＡコントローラ３から同期送信用ＦＩＦＯメモリ２２にタイミングｔ２、ｔ３、ｔ４、ｔ６及びｔ７でそれぞれデータＤ０、Ｄ１、Ｄ２、Ｄ３及びＤ４が書き込まれ、タイミングＴ３、Ｔ４、Ｔ５、Ｔ６及びＴ７で同期送信用ＦＩＦＯメモリ２２から読み出され、各タイミングでＩＷＲＣＮＴ信号がインクリメントされ、順次にデータはシングルポートメモリ２７に蓄えられる。そして、タイミングＴ１１、Ｔ１２、Ｔ１３、Ｔ１４及びＴ１５で、ＬＩＮＫ回路６は、ＩＲＤＣＮＴ信号をインクリメントしながら、シングルポートメモリ２７からデータを順次読み出す。
【００７８】
図１６は、書き込みブロックの切替えがない場合の、本実施形態の３ポートＦＩＦＯ記憶装置５における非同期送信時の各信号タイミングチャートを示す。このタイミングチャートは、非同期送信用の読み出し／書き込みブロックがブロックＢ０２のアドレス“００ｈ”から指定されて動作が開始された場合の実施例である。非同期送信用ＤＭＡコントローラ４から非同期送信用ＦＩＦＯメモリ２３にタイミングｔ２、ｔ３、ｔ４、ｔ６及びｔ７でそれぞれデータＤ０、Ｄ１、Ｄ２、Ｄ３及びＤ４が書き込まれ、タイミングＴ３、Ｔ４、Ｔ５、Ｔ６及びＴ７で非同期送信用ＦＩＦＯメモリ２３から読み出され、各タイミングでＡＷＲＣＮＴ信号がインクリメントされ、順次にデータはシングルポートメモリ２７に蓄えられる。そして、タイミングＴ１１、Ｔ１２、Ｔ１３、Ｔ１４及びＴ１５で、ＬＩＮＫ回路６は、ＡＲＤＣＮＴ信号をインクリメントしながらシングルポートメモリ２７からデータを順次読み出す。
【００７９】
図１７は、書き込みブロックの切替えがある場合の、本実施形態の３ポートＦＩＦＯ記憶装置５における受信時の各信号のタイミングチャートを示す。このタイミングチャートは、受信用の読み出し／書き込みブロックがブロックＢ００のアドレス“３Ｅｈ”から指定されて動作が開始された場合の実施例である。そして、タイミングＴ２、Ｔ４、Ｔ６、Ｔ８及びＴ１０においてＬＩＮＫ回路６から３ポートＦＩＦＯ記憶装置５にそれぞれデータＤ０、Ｄ１、Ｄ２、Ｄ３及びＤ４が書き込まれ、そのため各タイミングでＲＷＲＣＮＴ信号がインクリメントされ、順次にデータはシングルポートメモリ２７に蓄えられる。また、タイミングＴ３、Ｔ５、Ｔ７、Ｔ９及びＴ１１において、それらのデータは、ＲＲＤＣＮＴ信号をインクリメントしながら、シングルポートメモリ２７から順次読み出され、受信用ＦＩＦＯメモリ２１に書き込まれる。そして、タイミングｔ１３、ｔ１６、ｔ２１、ｔ２２及びｔ２３で順次３ポートＦＩＦＯ記憶装置５から読み出されたデータは受信用ＤＭＡコントローラ２に出力される。そして、タイミングＴ４の書き込み時、ブロックＢ００の最終データであるため次のタイミングＴ６でＲＢＡＬＲＥＱＢ信号がローレベルとなり次の書き込みブロックの割り当て処理が実行され、タイミングＴ８でブロックＢ０６が次の書き込みブロックであるブロックＢ０３の次のブロックとして割り当てられる。また、タイミングＴ５ではブロックＢ００の最終データを読み出したため、タイミングＴ６でブロックＢ００の割り当てが開放され、レジスタＢ００ＵＳＥがローレベルにされる。
【００８０】
図１８は、書き込みブロックの切替えがある場合の、本実施形態の３ポートＦＩＦＯ記憶装置５における同期送信時の各信号のタイミングチャートを示す。このタイミングチャートは、同期送信用の読み出し／書き込みブロックがブロックＢ０１のアドレス“３Ｅｈ”から指定されて動作が開始された場合の実施例である。同期送信用ＤＭＡコントローラ３から同期送信用ＦＩＦＯメモリ２２にタイミングｔ２、ｔ３、ｔ４、ｔ６及びｔ７でそれぞれデータＤ０、Ｄ１、Ｄ２、Ｄ３及びＤ４が書き込まれ、上記データはタイミングＴ３、Ｔ４、Ｔ７、Ｔ８及びＴ９で同期送信用ＦＩＦＯメモリ２２から読み出され、各タイミングでＩＷＲＣＮＴ信号がインクリメントされ、順次にデータはシングルポートメモリ２７に蓄えられる。そして、タイミングＴ１１、Ｔ１２、Ｔ１３、Ｔ１４及びＴ１５において、ＬＩＮＫ回路６は、ＩＲＤＣＮＴ信号をインクリメントしながらシングルポートメモリ２７からデータを順次読み出す。そして、タイミングＴ４の書き込み時、ブロックＢ０１の最終データであるため、次のタイミングＴ５でＩＢＡＬＲＥＱＢ信号がローレベルとなり、次の書き込みブロックの割り当て処理が実行される。また、タイミングＴ５、Ｔ６の間は次の書き込みブロックの割り当てが完了していないため、同期送信用ＦＩＦＯメモリ２２への書き込みもストップされている。そして、タイミングＴ７において、ブロックＢ０６が、次の書き込みブロックであるブロックＢ０４の次のブロックとして割り当てられる。また、タイミングＴ１２ではブロックＢ０１の最終データを読み出したため、タイミングＴ１３でブロックＢ０１の割り当てが開放され、レジスタＢ０１ＵＳＥがローレベルにされる。
【００８１】
図１９は、書き込みブロックの切替えがある場合の、本実施形態の３ポートＦＩＦＯ記憶装置５における非同期送信時の各信号のタイミングチャートを示す。このタイミングチャートは、非同期送信用の読み出し／書き込みブロックがブロックＢ０２のアドレス“３Ｅｈ”から指定されて動作が開始された場合の実施例である。非同期送信用ＤＭＡコントローラ４から非同期送信用ＦＩＦＯメモリ２３にタイミングｔ２、ｔ３、ｔ４、ｔ６及びｔ７でそれぞれデータＤ０、Ｄ１、Ｄ２、Ｄ３及びＤ４が書き込まれ、上記データはタイミングＴ３、Ｔ４、Ｔ７、Ｔ８及びＴ９で非同期送信用ＦＩＦＯメモリ２３から読み出され、各タイミングでＡＷＲＣＮＴ信号がインクリメントされ、順次にデータはシングルポートメモリ２７に蓄えられる。そして、タイミングＴ１１、Ｔ１２、Ｔ１３、Ｔ１４及びＴ１５で、ＬＩＮＫ回路６は、ＡＲＤＣＮＴ信号をインクリメントしながら、シングルポートメモリ２７からデータを順次読み出す。そして、タイミングＴ４の書き込み時、ブロックＢ０２の最終データであるため次のタイミングＴ５でＡＢＡＬＲＥＱＢ信号がローレベルとなり、次の書き込みブロックの割り当て処理が実行される。また、タイミングＴ５、Ｔ６の間は次の書き込みブロックの割り当てが完了していないため、非同期送信用ＦＩＦＯメモリ２３への書き込みもストップされている。そして、タイミングＴ７でブロックＢ０６が次の書き込みブロックであるブロックＢ０５の次のブロックとして割り当てられる。また、タイミングＴ１２ではブロックＢ０２の最終データを読み出したため、タイミングＴ１３でブロックＢ０２の割り当てが開放され、レジスタＢ０２ＵＳＥがローレベルにされる。
【００８２】
図２０は、書き込みブロックの切替えがある場合でかつ空きブロックが存在せずにＦＩＦＯ記憶装置がフル状態になってしまう場合の、本実施形態の３ポートＦＩＦＯ記憶装置５における受信時の各信号のタイミングチャートを示す。このタイミングチャートは、受信用の読み出し／書き込みブロックにおいて、ブロックＢ００が使用されていて何らかの理由で受信用ＦＩＦＯメモリ２１の読み出しがストップしてしまい、そのため読み出しアドレスであるＲＲＤＣＮＴ信号が“０１０ｈ”でストップしているときの実施例である。タイミングＴ０、Ｔ２及びＴ４においてＬＩＮＫ回路６からデータがシングルポートメモリ２７に書き込まれるがタイミングＴ２でブロックＢ００の最終データが書き込まれるため、タイミングＴ４でＲＢＡＬＲＥＱＢ信号がローレベルになる。しかしながら、空きブロックが存在しない（ＢＦＵＬＬ信号がハイレベル）ので、ＲＢＡＬＡＣＫＢ信号はローレベルにならない。そして、更にＬＩＮＫ回路６からのデータ書き込みが順次なされ、タイミングＴ８においてブロックＢ０３も最終データの書き込みを実行してしまう。そのためタイミングＴ８ではＤＩＳＥＬ［１：０］信号が“３”となりシングルポートメモリ２７がフル状態になって、強制的にそれを示すデータである「３３’ｈ１００００００１４」がシングルポートメモリ２７に書き込まれる。そして、タイミングＴ９からＲＸＦＵＬＬ信号がハイレベルとなり、ＬＩＮＫ回路６に３ポートＦＩＦＯ記憶装置５への書き込みをストップするように要求する。そして、しばらくして受信用ＤＭＡコントローラ２が受信用ＦＩＦＯメモリ２１からデータの読み出しを開始し、データは順次タイミングＴ１０、Ｔ１１、Ｔ１２及びＴ１３で読み出されていく。そして、タイミングＴ１０においてブロックＢ００の最終データを読み出したため、タイミングＴ１１でブロックＢ００の割り当てが開放されレジスタＢ００ＵＳＥがローレベルになる。しかし、タイミングＴ１１で空きブロックとなったブロックＢ００が現在の書き込みブロックであるブロックＢ０３の次の書き込みブロックとして割り当てられるため、タイミングＴ１２でレジスタＢ００ＵＳＥはハイレベルとなる。また、ブロックＢ０３に次の書き込みブロックが割り当てられたためＲＸＦＵＬＬ信号はタイミングＴ１２でローレベルになり、それによってＬＩＮＫ回路６からの次の受信パケットの書き込みが許可される。しかし、ブロックＢ００の次の書き込みブロックが割り当てられていないことから、ＲＢＡＬＲＥＱＢ信号はタイミングＴ１３で再びローレベルになる。そして、順次受信用ＤＭＡコントローラ２は受信用ＦＩＦＯメモリ２１からデータを読み出し、タイミングＴ１４でブロックＢ０３の最終データを読み出したことから、タイミングＴ１５でブロックＢ０３が開放され、レジスタＢ０３ＵＳＥがローレベルとなる。しかし、ブロックＢ００の次の書き込みブロックが割り当てられていないことから、タイミングＴ１５から空きブロックとなったブロックＢ０３を、タイミングＴ１６でブロックＢ００の次の書き込みブロックとして割り当てる。そのためタイミングＴ１６でレジスタＢ０３ＵＳＥはハイレベルとなる。
【００８３】
図２１は、本実施形態の３ポートＦＩＦＯ記憶装置５における、受信及び同期送信混在時のタイミングチャートを示す。このタイミングチャートは、受信用の読み出し／書き込みブロックがブロックＢ００のアドレス“００ｈ”から指定されて動作が開始され、同期送信用の読み出し／書き込みブロックがブロックＢ０１のアドレス“００ｈ”から指定されて動作が開始された場合の実施例である。タイミングＴ２、Ｔ４、Ｔ６及びＴ８において、データＲ０、Ｒ１、Ｒ２及びＲ３が、ＬＩＮＫ回路６からシングルポートメモリ２７に順次書き込まれる。また、タイミングｔ２、ｔ３、ｔ４及びｔ６において、データＩ０、Ｉ１、Ｉ２及びＩ３が、同期送信用ＤＭＡコントローラ３から同期送信用ＦＩＦＯメモリ２２に順次書き込まれる。そして、タイミングＴ５、Ｔ９、Ｔ１１及びＴ１３において、データＲ０、Ｒ１、Ｒ２及びＲ３が、シングルポートメモリ２７から受信用ＦＩＦＯメモリ２１に順次書き込まれる。また、タイミングＴ３、Ｔ７、Ｔ１０及びＴ１２において、データＩ０、Ｉ１、Ｉ２及びＩ３が、同期送信用ＦＩＦＯメモリ２２からシングルポートメモリ２７に順次書き込まれる。そして、タイミングｔ２０、ｔ２３、ｔ２４及びｔ２６において、データＲ０、Ｒ１、Ｒ２及びＲ３が、受信用ＦＩＦＯメモリ２１から受信用ＤＭＡコントローラ２に順次読み出される。そして、タイミングＴ１４、Ｔ１５、Ｔ１６及びＴ１７において、ＬＩＮＫ回路６はシングルポートメモリ２７からデータＩ０、Ｉ１、Ｉ２及びＩ３を順次読み出す。
【００８４】
図２２は、本実施形態の３ポートＦＩＦＯ記憶装置５における、受信及び非同期送信混在時のタイミングチャートを示す。このタイミングチャートは、受信用の読み出し／書き込みブロックがブロックＢ００のアドレス“００ｈ”から指定されて動作が開始され、非同期送信用の読み出し／書き込みブロックがブロックＢ０２のアドレス“００ｈ”から指定されて動作が開始される場合の実施例である。タイミングＴ２、Ｔ４、Ｔ６及びＴ８において、データＲ０、Ｒ１、Ｒ２及びＲ３が、ＬＩＮＫ回路６からシングルポートメモリ２７に順次書き込まれる。また、タイミングｔ２、ｔ３、ｔ４及びｔ６において、データＡ０、Ａ１、Ａ２及びＡ３が、非同期送信用ＤＭＡコントローラ４から非同期送信用ＦＩＦＯメモリ２３に順次書き込まれる。そして、タイミングＴ５、Ｔ９、Ｔ１１及びＴ１３において、データＲ０、Ｒ１、Ｒ２及びＲ３が、シングルポートメモリ２７から受信用ＦＩＦＯメモリ２１に順次書き込まれる。また、タイミングＴ３、Ｔ７、Ｔ１０及びＴ１２において、データＡ０、Ａ１、Ａ２及びＡ３が、非同期送信用ＦＩＦＯメモリ２３からシングルポートメモリ２７に順次書き込まれる。そして、タイミングｔ２０、ｔ２３、ｔ２４及びｔ２６において、データＲ０、Ｒ１、Ｒ２及びＲ３が、受信用ＦＩＦＯメモリ２１から受信用ＤＭＡコントローラ２に順次読み出される。そして、タイミングＴ１４、Ｔ１５、Ｔ１６及びＴ１７において、ＬＩＮＫ回路６はシングルポートメモリ２７からデータＡ０、Ａ１、Ａ２及びＡ３を順次読み出す。
【００８５】
図２３は、本実施形態の３ポートＦＩＦＯ記憶装置５における、同期送信及び非同期送信混在時のタイミングチャートを示す。このタイミングチャートは、非同期送信用の読み出し／書き込みブロックがブロックＢ０１のアドレス“００ｈ”から指定されて動作が開始され、非同期送信用の読み出し／書き込みブロックがブロックＢ０２のアドレス“００ｈ”から指定されて動作が開始された場合の実施例である。タイミングｔ２、ｔ３及びｔ５において、データＩ０、Ｉ１及びＩ２が、同期送信用ＤＭＡコントローラ３から同期送信用ＦＩＦＯメモリ２２に順次書き込まれる。また、タイミングｔ４、ｔ５、ｔ６及びｔ８において、データＡ０、Ａ１、Ａ２及びＡ３が、非同期送信用ＤＭＡコントローラ４から非同期送信用ＦＩＦＯメモリ２３に順次書き込まれる。また、タイミングＴ３、Ｔ５及びＴ７において、データＩ０、Ｉ１及びＩ２が、同期送信用ＦＩＦＯメモリ２２からシングルポートメモリ２７に順次書き込まれる。また、タイミングＴ４、Ｔ６、Ｔ８及びＴ１２において、データＡ０、Ａ１、Ａ２及びＡ３が、非同期送信用ＦＩＦＯメモリ２３からシングルポートメモリ２７に順次書き込まれる。そして、タイミングＴ９、Ｔ１０及びＴ１１において、ＬＩＮＫ回路６はシングルポートメモリ２７からデータＩ０、Ｉ１及びＩ２を順次読み出す。そして、タイミングＴ１４、Ｔ１５、Ｔ１６及びＴ１７において、ＬＩＮＫ回路６はシングルポートメモリ２７からデータＡ０、Ａ１、Ａ２及びＡ３を順次読み出す。
【００８６】
図２４は、本実施形態の３ポートＦＩＦＯ記憶装置５における、受信及び同期送信及び非同期送信混在時のタイミングチャートを示す。このタイミングチャートは、受信用の読み出し／書き込みブロックがブロックＢ００のアドレス“００ｈ”から指定されて動作が開始され、非同期送信用の読み出し／書き込みブロックがブロックＢ０１のアドレス“００ｈ”から指定されて動作が開始され、非同期送信用の読み出し／書き込みブロックがブロックＢ０２のアドレス“００ｈ”から指定されて動作が開始された場合の実施例である。タイミングＴ２、Ｔ４及びＴ６において、データＲ０、Ｒ１及びＲ２が、ＬＩＮＫ回路から順次シングルポートメモリ２７に書き込まれる。タイミングｔ２、ｔ３及びｔ４において、データＩ０、Ｉ１及びＩ２が、同期送信用ＤＭＡコントローラ３から同期送信用ＦＩＦＯメモリ２２に順次書き込まれる。また、タイミングｔ４、ｔ５及びｔ６において、データＡ０、Ａ１及びＡ２が、非同期送信用ＤＭＡコントローラ４から非同期送信用ＦＩＦＯメモリ２３に順次書き込まれる。そして、タイミングＴ５、Ｔ９及びＴ１２において、データＲ０、Ｒ１及びＲ２が、シングルポートメモリ２７から受信用ＦＩＦＯメモリ２１に順次書き込まれる。また、タイミングＴ３、Ｔ８及びＴ１１において、データＩ０、Ｉ１及びＩ２が、同期送信用ＦＩＦＯメモリ２２からシングルポートメモリ２７に順次書き込まれる。また、タイミングＴ７、Ｔ１０及びＴ１６において、データＡ０、Ａ１及びＡ２が、非同期送信用ＦＩＦＯメモリ２３からシングルポートメモリ２７に順次書き込まれる。そして、タイミングｔ２０、ｔ２１及びｔ２２において、データＲ０、Ｒ１及びＲ２が、受信用ＦＩＦＯメモリ２１から受信用ＤＭＡコントローラ２に順次読み出される。そして、タイミングＴ１３、Ｔ１４及びＴ１５において、ＬＩＮＫ回路６はシングルポートメモリ２７からデータＩ０、Ｉ１及びＩ２を順次読み出す。そして、図示しないタイミングＴ１８以降において、ＬＩＮＫ回路６はシングルポートメモリ２７からデータＡ０、Ａ１、Ａ２及びＡ３を順次読み出す。
【００８７】
以上説明したように、本実施形態によれば、送信又は受信のためのデータを、例えばシングルポートメモリ２７である記憶装置に一時的に格納した後転送するデータ転送装置において、上記記憶装置を所定の同一の単位の複数のブロックに分割し、データを転送して送信するときの送信用データ書込要求信号ＩＴＸＦＷＲＥＱＢ又はＡＴＸＦＷＲＥＱＢに応答して、上記複数のブロックのうち未使用の１つのブロックを選択して当該選択したブロックを使用状態とし、送信用データを当該選択したブロックに書き込んだ後読み出して転送するとともに、データを転送して受信するときの受信用データ書込要求信号ＲＸＦＲＲＥＱＢに応答して、上記複数のブロックのうち未使用の１つのブロックを選択して当該選択したブロックを使用状態とし、受信用データを当該選択したブロックに書き込んだ後読み出して転送するように制御する。従って、１つの記憶装置を、例えば受信パケットが多い状態では記憶領域のほとんどを受信用に、また、送信用のパケットが多いい状態では記憶領域のほとんどを送信用に使用できるため、それぞれの送信用及び受信用として記憶装置として使用できる容量が見かけ上増加したように処理でき、すなわち、当該記憶装置を有効的にかつ効率的に使用することができ、当該記憶装置としての処理能力が向上する。
【００８８】
また、従来技術のように複数のＦＩＦＯ記憶装置を持った場合と同じ処理能力で良ければ、本実施形態に係る１つのＦＩＦＯ記憶装置５のメモリ容量を、従来の複数のＦＩＦＯ記憶装置の最大容量サイズにすることが可能となる。つまり、転送装置として大きなゲートを占めるＦＩＦＯ記憶装置５のメモリ容量を大きく減らすことができる。言い換えれば、ＦＩＦＯ記憶装置５のメモリ容量を少なくして従来技術と同様の動作を得ることができる。
【００８９】
また、本実施形態に係るデータ転送装置を実現するための従来技術からの付加回路の規模は、図９のブロックコントローラ３５全体の約３０００ゲートと図１０乃至図１２に示すタイミングコントローラ３１，３２，３３のカウンター構成例の約９００ゲートから、図２６に示す従来技術のタイミングコントローラ１２４，１３３，１４３のカウンター構成例の約６００ゲートを減算した分である。つまり約３３００ゲートのわずかな増加だけである。つまり、処理能力を向上するためには約３３００ゲートの回路増加のみを必要とし、また、処理能力は同等で良いのであれば、約３３００ゲートの回路増加を必要とするものの、ゲート規模の多くを占めるＦＩＦＯ記憶装置を大きく減少できるので、全体としては大きな回路規模の減少をはかれる。
【００９０】
上記データ転送装置において、上記制御手段は、好ましくは、上記複数のブロックのうち未使用の１つのブロックを選択するときに、選択したブロックに続いてデータを書き込むための次のブロックを選択して当該選択した次のブロックを使用状態として確保する。従って、選択したブロックに続いてデータを書き込むための次のブロックを確実に確保して次のブロックのデータ書き込み動作に移行することができる。
【００９１】
この場合において、現在書き込んでいるブロックの書き込み領域が存在しない場合には、次の書き込みブロックに処理が移るが、次の書き込みブロックのその次の書き込みブロックが割り当てられないと書き込み処理が出来ない。例えば、本実施例の送信用としてのＦＩＦＯ記憶装置５の図２０のタイミングＴ５〜Ｔ６において書き込み処理がストップされている。しかし、本実施例の受信用としてのＦＩＦＯ記憶装置５は上述のように構成されているので、図１９のタイミングＴ５のように現在の書き込みブロック領域がなくなっても書き込み処理が連続的に実行でき、処理の連続化をはかることができる。
【００９２】
以上の実施形態においては、シングルポートメモリ２７の動作を制御するＦＩＦＯタイミングコントローラ２８はハードウエア回路で構成しているが、本発明はこれに限らず、デジタルシグナルプロセッサ（ＤＳＰ）により実行されるコンピュータで読取可能なプログラムで構成してもよい。すなわち、ＦＩＦＯタイミングコントローラ２８のシングルポートメモリ２７を制御するステップは、コンピュータで読取可能なプログラムで表現することができ、当該プログラムをＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ，ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭなどの光ディスク等のコンピュータで読取可能な記録媒体に記録することができる。これにより、ソフトウェアで動作するデータ転送装置におけるメモリー領域の使用量の削減又は処理能力の向上がはかれる。
【００９３】
【発明の効果】
以上詳述したように本発明に係るデータ転送装置又はデータ転送方法によれば、送信又は受信のためのデータを記憶装置に一時的に格納した後転送するデータ転送装置において、上記記憶装置を所定の同一の単位の複数のブロックに分割し、データを転送して送信するときの送信用データ書込要求信号に応答して、上記複数のブロックのうち未使用の１つのブロックを選択して当該選択したブロックを使用状態とし、送信用データを当該選択したブロックに書き込んだ後読み出して転送するとともに、データを転送して受信するときの受信用データ書込要求信号に応答して、上記複数のブロックのうち未使用の１つのブロックを選択して当該選択したブロックを使用状態とし、受信用データを当該選択したブロックに書き込んだ後読み出して転送するように制御する。従って、１つの記憶装置を、例えば受信パケットが多い状態では記憶領域のほとんどを受信用に、また、送信用のパケットが多いい状態では記憶領域のほとんどを送信用に使用できるため、それぞれの送信用及び受信用として記憶装置として使用できる容量が見かけ上増加したように処理でき、すなわち、当該記憶装置を有効的にかつ効率的に使用することができ、当該記憶装置としての処理能力が向上する。
【００９４】
上記データ転送装置又はデータ転送方法において、上記制御手段は、好ましくは、上記複数のブロックのうち未使用の１つのブロックを選択するときに、選択したブロックに続いてデータを書き込むための次のブロックを選択して当該選択した次のブロックを使用状態として確保する。従って、選択したブロックに続いてデータを書き込むための次のブロックを確実に確保して次のブロックのデータ書き込み動作に移行することができる。
【００９５】
また、上記データ転送装置又はデータ転送方法において、好ましくは、上記各ブロックに対応して設けられ、次のブロックのアドレスを記憶する第１のレジスタ手段をさらに備える。従って、選択したブロックに続いてデータを書き込むための次のブロックを確実に示して次のブロックのデータ書き込み動作に移行することができる。
【００９６】
さらに、上記データ転送装置又はデータ転送方法において、好ましくは、上記各ブロックに対応して設けられ、次のブロックのアドレスが選択されて確保されているか否かを示すデータを記憶する第２のレジスタ手段をさらに備える。従って、選択したブロックに続いてデータを書き込むための次のブロックが確保されているか否かの情報を得ることができ、次のブロックのデータ書き込み動作に移行することができる。
【００９７】
また、上記データ転送装置又はデータ転送方法において、上記制御手段は、好ましくは、上記ブロックからデータを読み出したとき、当該ブロックを未使用状態として解放する。従って、使用しなくなったブロックを確実に解放することにより、当該記憶装置を有効的にかつ効率的に使用することができる。
【００９８】
さらに、上記データ転送装置又はデータ転送方法において、好ましくは、上記各ブロックに対応して設けられ、上記各ブロックが使用状態であるか否かを示すデータを記憶する第３のレジスタ手段をさらに備えたことを特徴とする。従って、上記記憶装置の書くブロックが使用中であるか否かの情報を得ることができ、次のブロックの検索を容易にかつ高速で実行できる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るＩＥＥＥ１３９４インターフェース装置の構成を示すブロック図である。
【図２】図１の３ポートＦＩＦＯ記憶装置の詳細な構成を示すブロック図である。
【図３】図２のシングルポートメモリ２７を用いたデータの記憶方法を説明するための図である。
【図４】図３のシングルポートメモリ２７に受信ＦＩＦＯデータ、同期送信ＦＩＦＯデータ及び非同期送信ＦＩＦＯデータを記憶するときの初期状態を示す図である。
【図５】図４のシングルポートメモリ２７においてパケットを受信するときの状態を示す図である。
【図６】図５のシングルポートメモリ２７において受信されたパケットを処理する方法を説明するための図である。
【図７】図５のシングルポートメモリ２７においてパケットを同期送信する準備をする方法を説明するための図である。
【図８】図２のＦＩＦＯタイミングコントローラ２８の詳細な構成を示すブロック図である。
【図９】図８のブロックコントローラ３５の詳細な構成を示すブロック図である。
【図１０】図８の受信用タイミングコントローラ３１の詳細な構成を示すブロック図である。
【図１１】図８の同期送信用タイミングコントローラ３２の詳細な構成を示すブロック図である。
【図１２】図８の非同期送信用タイミングコントローラ３３の詳細な構成を示すブロック図である。
【図１３】図８のブロックコントローラ３５における各信号の初期状態を示すタイミングチャートである。
【図１４】図１の３ポートＦＩＦＯ記憶装置５における受信時の各信号を示すタイミングチャートである。
【図１５】図１の３ポートＦＩＦＯ記憶装置５における同期送信時の各信号を示すタイミングチャートである。
【図１６】図１の３ポートＦＩＦＯ記憶装置５における非同期送信時の各信号を示すタイミングチャートである。
【図１７】図１の３ポートＦＩＦＯ記憶装置５における受信時の各信号を示すタイミングチャートである。
【図１８】図１の３ポートＦＩＦＯ記憶装置５における同期送信時の各信号を示すタイミングチャートである。
【図１９】図１の３ポートＦＩＦＯ記憶装置５における非同期送信時の各信号を示すタイミングチャートである。
【図２０】図１の３ポートＦＩＦＯ記憶装置５における受信時の各信号を示すタイミングチャートである。
【図２１】図１の３ポートＦＩＦＯ記憶装置５における受信及び同期送信時の各信号を示すタイミングチャートである。
【図２２】図１の３ポートＦＩＦＯ記憶装置５における受信及び非同期送信時の各信号を示すタイミングチャートである。
【図２３】図１の３ポートＦＩＦＯ記憶装置５における同期送信及び非同期送信時の各信号を示すタイミングチャートである。
【図２４】図１の３ポートＦＩＦＯ記憶装置５における受信及び同期送信及び非同期送信時の各信号を示すタイミングチャートである。
【図２５】従来技術のＩＥＥＥ１３９４インターフェース装置の構成を示すブロック図である。
【図２６】図２５の受信用ＦＩＦＯ記憶装置１０５、同期送信用ＦＩＦＯ記憶装置１０６及び非同期送信用ＦＩＦＯ記憶装置１０７の詳細な構成を示すブロック図である。
【図２７】（ａ）、（ｂ）及び（ｃ）はそれぞれ、図２６のタイミングコントローラ１２４、１３３及び１４４の詳細な構成を示すブロック図である。
【符号の説明】
１…ＰＣＩインターフェースコントローラ、
２…受信用ＤＭＡコントローラ、
３…同期送信用ＤＭＡコントローラ、
４…非同期送信用ＤＭＡコントローラ、
５…３ポートＦＩＦＯ記憶装置、
６…ＬＩＮＫ回路、
７…ＰＨＹ回路、
１０…ＩＥＥＥ１３９４インターフェース装置、
１１…ＲＡＭ、
１２…ＣＰＵ、
１３…パーソナルコンピュータ、
２１…受信用ＦＩＦＯメモリ、
２２…同期送信用ＦＩＦＯメモリ、
２３…非同期送信用ＦＩＦＯメモリ、
２４，２５，２６，４３乃至４６…マルチプレクサ、
２７…シングルポートメモリ、
２８…タイミングコントローラ、
３１…受信用タイミングコントローラ、
３２…同期送信用タイミングコントローラ、
３３…非同期送信用タイミングコントローラ、
３４…データ選択コントローラ、
３５…ブロックコントローラ、
４１…ブロックアクセスコントローラ、
４２…３２ビットプライオリティエンコーダ、
５１，５３，５４，５５，５６，５７…６ビットアップカウンタ、
５２…２ビット同期アップダウンカウンタ、
Ｂ１…ＩＥＥＥ１３９４バス、
Ｂ２…ＰＣＩバス、
Ｂ００ＮＸＰＴ乃至Ｂ３１ＮＸＰＴ，Ｂ００ＮＯＫ乃至Ｂ３１ＮＯＫ，Ｂ００ＵＳＥ乃至Ｂ３１ＵＳＥ，ＲＲＤＢＰＴＲ，ＲＷＲＢＰＴＲ，ＩＲＤＢＰＴＲ，ＩＷＲＢＰＴＲ，ＡＲＤＢＰＴＲ，ＡＷＲＢＰＴＲ，ＲＷＲＮＢＰＴＲ，ＩＷＲＮＢＰＴＲ，ＡＷＲＮＢＰＴＲ…レジスタ、
Ｂ００乃至Ｂ３１…ブロック、
ＡＮＤ１乃至ＡＮＤ５…アンドゲート、
ＯＲ１乃至ＯＲ７…オアゲート、
ＮＡＮＤ１乃至ＮＡＮＤ１０…ナンドゲート、
Ｎ１乃至Ｎ７…インバータ、
Ｆ１乃至Ｆ５…フリップフロップ。
【図１】
2004070656.tif 000006
【図２】
2004070656.tif 000007
【図３】
2004070656.tif 000008
【図４】
2004070656.tif 000009
【図５】
2004070656.tif 000010
【図６】
2004070656.tif 000011
【図７】
2004070656.tif 000012
【図８】
2004070656.tif 000013
【図９】
2004070656.tif 000014
【図１０】
2004070656.tif 000015
【図１１】
2004070656.tif 000016
【図１２】
2004070656.tif 000017
【図１３】
2004070656.tif 000018
【図１４】
2004070656.tif 000019
【図１５】
2004070656.tif 000020
【図１６】
2004070656.tif 000021
【図１７】
2004070656.tif 000022
【図１８】
2004070656.tif 000023
【図１９】
2004070656.tif 000024
【図２０】
2004070656.tif 000025
【図２１】
2004070656.tif 000026
【図２２】
2004070656.tif 000027
【図２３】
2004070656.tif 000028
【図２４】
2004070656.tif 000029
【図２５】
2004070656.tif 000030
【図２６】
2004070656.tif 000031
【図２７】
2004070656.tif 000032