米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 日本電気株式会社

発明の名称 バッファリング装置及びバッファリング方法
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2003−8667(P2003−8667A)
公開日 平成15年1月10日(2003.1.10)
出願番号 特願2001−184183(P2001−184183)
出願日 平成13年6月19日(2001.6.19)
代理人 【識別番号】100085235
【弁理士】
【氏名又は名称】松浦 兼行
【テーマコード(参考)】
5B061
5B077
5K030
5K034
【Fターム(参考)】
5B061 FF02 
5B077 DD11
5K030 HD09 KA03 LC01 MB11 MD00
5K034 HH01 HH02 HH21 HH42 MM11
発明者 加藤 哲也
要約 課題
従来は第一にバス幅選択処理の最適化ができず、第二に出力データ群毎の信号線管理ができず、第三にデータ群がバッファの最大データ長に達しない場合、別のデータ群にバッファを割り当てることができない。

解決手段
入力制御手段21は、データ群検知手段を有し、データ群の区切りをアドレス管理手段24のアドレス格納契機、出力制御手段25でのバッファ格納完了把握等に使用する。また、入力制御手段21は、アドレス管理手段24へ複数の出力先アドレスを通知して統合的な処理を可能とする。出力制御手段25は、常にバッファ自体の格納状況の監視を行い、バッファ属性フラグが出力条件に適合するかどうかを判定し続ける。また、出力制御手段25内のバス幅選択手段により、バッファ方向からの入力時に予め出力側のバス幅を意識した読み出しを行うことにより、アクセス回数の減少を図ることができる。
特許請求の範囲
【請求項1】 一連のデータ群が時系列的に合成されて複数入力され、各一連のデータ群の区切りを検知すると共に、入力バス上のアドレス情報を分離する入力制御手段と、複数のバッファから構成されたバッファ手段と、前記入力制御手段から転送されてきた前記各一連のデータ群を、前記区切り情報に基づき前記バッファ手段の各バッファに書き込み、書き込んだ前記一連のデータ群を読み出すバッファ制御手段と、前記入力制御手段から入力された前記アドレス情報を、前記バッファ手段に書き込む各一連のデータ群に対応させて保持し、前記バッファ手段から一連のデータ群を読みだす出力時は、アドレス要求を受けて保持しているアドレスを取り出して前記バッファ制御手段へ出力するアドレス管理手段と、外部からの読み出し要求に応答して、前記アドレス管理手段にアドレス通知を要求して該アドレス管理手段から入力されたアドレス情報を外部へ出力すると共に、前記バッファ制御手段を制御して前記バッファ手段からデータ群を読み出させ、読み出されたデータ群のバス幅を分割又は合成して複数の互いに異なるバス幅の出力バスのうち要求されたバス幅の出力バスへ選択出力する出力制御手段とを有することを特徴とするバッファリング装置。
【請求項2】 前記バッファ制御手段は、前記バッファ手段への前記一連のデータ群の書き込み時は、前記一連のデータ群の書き込み毎に群属性値を更新して前記バッファ手段及び前記アドレス管理手段へ通知すると共に、各データ毎にライトポインタを更新して前記バッファ手段に書き込みを行い、前記バッファ手段は、前記ライトポインタの格納位置のバッファに前記データを、前記群属性値と、格納を示す所定値の格納属性を書き込むことを特徴とする請求項1記載のバッファリング装置。
【請求項3】 前記バッファ制御手段は、前記バッファ手段からの前記一連のデータ群の読み出し時は、出力バス幅に応じた所定のバッファポインタ位置の前記バッファ手段内のバッファからのデータの読み出しを行い、読み出し完了時点で前記バッファの格納属性を空きを示す所定値に変更することを特徴とする請求項2記載のバッファリング装置。
【請求項4】 前記バッファ手段は、前記一連のデータ群を複数のバッファのデータ領域に格納すると共に、該データ領域に一対一に対応させて、データ群毎に異なり同一データ群では同一値の群属性と、格納済みか否かを示す格納属性を付加して格納する手段であり、前記出力制御手段は、外部からの読み出し要求に応答して前記バッファ手段から前記バッファ制御手段を介して前記データ群の読み出し処理を行わせるバッファリード要求制御手段と、前記アドレス管理手段に対してアドレス通知を要求してアドレス情報を受け、そのアドレス情報を外部へ出力する出力アドレス制御手段と、バス幅に対応するデータ長の同一群属性のデータが前記バッファ手段に格納されているかを前記群属性と前記格納属性に基づき監視するバッファ属性監視手段と、前記バッファ手段からのデータ読み出し時に前記属性値を制御するバッファ属性制御手段と、前記バッファ手段から前記バッファ制御手段を介して読み出されたバス幅に対応したデータ長の同一群属性のデータを、出力すべきバス幅の出力バスへ選択出力するバス幅選択手段とを少なくとも有することを特徴とする請求項1記載のバッファリング装置。
【請求項5】 前記バス幅選択手段は、前記バッファ手段に格納されている同一群属性のデータ長が、出力バスのバス幅に足りないときには、不足データ分を補うためのダミーデータを前記バッファ手段から読み出されたデータ中に挿入して出力することを特徴とする請求項4記載のバッファリング装置。
【請求項6】 前記アドレス管理手段は、前記入力制御手段からのアドレス情報を取り込むアドレス入力手段と、前記アドレス入力手段により取り込まれたアドレスを、前記バッファ手段に書き込まれるデータ群と一対一に対応させて、該データ群の群属性及び格納済みか否かを示す格納属性と共にテーブル形式で格納するアドレス記憶手段と、前記出力制御手段からのアドレスの出力要求を受けて前記アドレス記憶手段に記憶されているアドレスを取り出すアドレス選択手段と、該アドレス選択手段により選択されたアドレスを前記出力制御手段へ出力するアドレス通知手段とを有することを特徴とする請求項1記載のバッファリング装置。
【請求項7】 前記アドレス記憶手段は、リードポインタによるアドレステーブルのアドレスの読み出しを実行すると共に、読み出されたアドレスに対応する前記格納属性をリセットすることを特徴とする請求項6記載のバッファリング装置。
【請求項8】 外部からアドレス指定を受け、直接的又は間接的に前記アドレス管理手段にアクセスするアドレス制御手段を更に有することを特徴とする請求項1乃至7のうちいずれか一項記載のバッファリング装置。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明はバッファリング装置及びバッファリング方法に係り、特に入力データが複数のデータ長で到着し、それぞれが転送先アドレス情報を保有し、また出力データは複数のデータバス幅を混在可能な通信システムにおいて、入力データをバッファリングするバッファリング装置及びバッファリング方法に関する。
【0002】
【従来の技術】従来、有線通信、無線通信等における一般的な通信機器における通信手段は、通常、図8に示す構成をとることが多い。同図において、通信手段1は一般的な通信データとして入力端から入力されたデータを、入力インタフェース手段2を経由し、通信制御手段3により制御しながらバッファリング手段4に供給してバッファリングし、更にプロトコル変換手段5によりプロトコル変換処理を施した後、バッファリング手段4から取り出して出力インタフェース手段6を経由して出力端から出力する。
【0003】ここで、通信手段(装置)1へのデータの入力契機は、通信手段1の入力準備が不完全のまま発生(データ到着)する場合があり、入力準備が整うまでの間データを保持(バッファリング)する必要がある。そこで、上記のバッファリング手段4は、通信手段1の入力準備が整うまでの間入力データを一時保持(バッファリング)して、その速度緩衝を行う。このバッファリング手段4は、システムの構成により大きなバッファリングを必要とするものからプロトコル変換等をかけずに単に信号を通過させる単純なものまで存在する。
【0004】図9は従来のバッファリング装置の一例の構成図を示す。同図において、バッファリング装置10は図8のバッファリング手段4を実現する装置で、n個のファーストイン・ファーストアウトバッファ(FIFO:First In First Out)等により構成されたバッファ手段11と、バッファ制御手段12とから構成されている。バッファ制御手段12はバッファ手段11の書き込み動作を制御するバッファライト制御手段13と、バッファ手段11の読み出し動作を制御するバッファリード制御手段14と、バッファライト制御手段13及びバッファリード制御手段14を制御するバッファアクセス制御手段15とから構成されている。
【0005】また、バッファリング装置10の外部には、入力制御手段16、出力制御手段17、アドレス管理手段18及びアドレス制御手段19が設けられている。入力制御手段16は図10に示すように、入力アドレス検知手段161、入力アドレス通知手段162、入力信号制御手段163及びバッファライト要求制御手段164を有する構成とされている。また、出力制御手段17は、図11に示すように、バッファリード要求制御手段171、出力アドレス制御手段172、出力信号制御手段173及びバス幅制御手段174を有する構成とされている。
【0006】また、アドレス管理手段18は、図12に示すように、アドレス入力手段181とアドレス通知手段182を有する構成とされており、アドレス制御手段19はアドレス指定インタフェース手段191を有する。アドレス制御手段19は、DMA等を用いる場合を想定してアドレス情報が外部の中央処理装置(CPU)等のプロセッサで別途管理される状態の場合に存在する。アドレス指定インタフェース手段191は、外部からアドレス指定を受け、直接的に又は間接的にアドレス管理手段18にアクセスする。また、バッファ手段11は、図13に示すように、バッファ(BUF)に対するライトポインタ(BUFWP)及びリードポインタ(BUFRP)を用いて、単純にデータをバッファに格納する操作を連続させ、一連のデータ群を格納する。
【0007】次に、従来のバッファリング装置10の動作の概略を説明する。外部から入力制御手段16に対してフレーム、パケット等の、ある一連のデータ群が到着すると、入力制御手段16は入力データ群をバッファ制御手段12に転送する。バッファ制御手段12は、主にバッファ手段11へのライト制御及びリード制御を司り、入力データ群をバッファ手段11に順に書き込んで格納する。
【0008】出力側の準備が整うと、バッファ制御手段12により出力のための処理が開始され、バッファ手段11から一連のデータ群を読み出して、出力制御手段17を経由して出力する。一連のデータ出力の際、出力制御手段17は出力するバス幅を選択し、必要なデータ幅に分割若しくは統合して出力する。
【0009】ここで、バッファリング装置10への入力側のバスが時分割によりアドレスを含むアドレスデータバスである場合、入力制御手段16はバス上からアドレス情報を分離し、アドレス管理手段18にアドレスを通知する。アドレス管理手段18は、アドレスを保持し、一連のデータ群の出力時に合わせてアドレス情報をバッファアクセス制御手段15へ出力する。従来は並列に配置されるバッファの構成が単純であるため、アドレス管理手段18は、入力されたアドレスをそのまま出力時点まで保持する機能を有している。
【0010】また、従来はバッファからの出力の要求を外部から受けると、その要求に従ってバッファからデータを取り出す構成が通常であるが、このデータの読み出し開始の条件はバッファに必要データ長が格納済みであることである。ここで、この格納済みかどうかのチェックは、バッファ並列数の分をそれぞれ対象としている。
【0011】また、従来のバッファリング装置の他の例として、特許第2642652号(特開平1−198143号)公報に開示されているバッファリング装置が知られている。この従来のバッファリング装置では、不定タイミングで到着する入力パケットデータのゆらぎを吸収して、一定タイミングの出力データを送出するバッファにおいて、第1及び第2のバッファを含み、これらのバッファがその入力側及び出力側で交互に切り替え可能なダブルバッファと、このダブルバッファ内のデータ容量を監視し、1パケットのデータ出力期間を最短切り替え単位期間として前記ダブルバッファの切り替えを制御するバッファ制御部と、前記ダブルバッファの入力側に設けられ、前記入力パケットデータをバッファリングするFIFOと、前記バッファ制御部による前記バッファの切り替えに応じて前記FIFOから前記ダブルバッファへのデータ転送を制御するFIFO制御部とを有する構成であり、かかる構成により、不定タイミングで到着するパケットデータのゆらぎを吸収すると共に、1つのパケットデータが複数のバッファに分割されて蓄積されることを防止するようにしたものである。
【0012】
【発明が解決しようとする課題】しかるに、従来のバッファリング装置では、次のような課題がある。まず、第一に、バッファリング装置がバス幅選択手段と完全に分離された実装例が多く、実装形態により処理の最適化が困難であるという課題がある。すなわち、図8の通信手段1内において、通信制御手段3とプロトコル変換手段4による制御の下で、どの処理に分岐させるかを決定し、その処理に必要なバス幅を選択するバス幅選択手段は、処理時間差の吸収を目的として速度緩衝を行うためのもので、単位時間当たりに一度に処理できる能力を高めるためにバス幅変換を行う。
【0013】なお、このバス幅選択手段は、例えば特開平5−265940号公報に開示されている構成、すなわち、非同期型バッファメモリとデータ幅変換バッファ群が1つになったモジュールにおいて、複数入力の8ビットをいくつか組み合わせ、出力が32ビット(又は32ビット以下)に対してのバス幅変換を行う構成で実現することができる。
【0014】ここで、例えば、実時間(リアルタイム)処理が必要な場合、1バイトの入力データが1クロック毎にあった例を考えると、装置(通信手段1)内部の処理が1バイトに2クロックかかっていると処理が追い付かず、入力データが溢れて処理が破綻する。そこで、装置(通信手段1)内部を例えば1クロックで2バイト処理できるよう処理方法及びバス幅を変換することにより、入力データと見かけ上同じ速度を実現できる。バス幅選択手段は、このバス幅変換を行う手段であるが、従来はバッファリング装置と完全に分離されているので、バッファのバス幅及び出力バス幅の最適変換処理が困難である。
【0015】従来装置の第二の課題は、バッファリング装置10がアドレス管理手段18と完全に分離されているため、複数のデータ群を同時にバッファリングしている状態で、複数バス幅を持つような場合に非効率的であるということである。従来の実現手段に見られるように、従来はバッファ機能とアドレス管理機能を別々の構成ブロックに分割し、純粋なバッファとDMAのような純粋なデータ転送とを独立させることが多いが、バス幅毎の信号線管理であるので、共通的に制御が可能になる信号線も別々に管理することになり、非効率的である。
【0016】従来装置の第三の課題は、バッファ手段11のバッファや特許第2642652号公報に開示されているバッファリング装置におけるダブルバッファが、最大格納データ長に関して固定的に存在し、複数の最大固定長のバッファから選択して一連のデータ群を取り出す物理構造的なバッファ構築に問題があるということである。例えば、従来のバッファリング装置で多用されるような最大データ長が固定のバッファをいくつか用意する場合、あるデータ群が最大データ長に達しない場合もそれ以外の部分を別なデータ群に割り当てることができない。
【0017】本発明は以上の点に鑑みなされたもので、本発明の第一の目的は、バッファ機能とバス幅選択機能を統合的に扱うことにより、処理の最適化を実現し得るバッファリング装置及びバッファリング方法を提供することにある。
【0018】また、本発明の第二の目的は、複数のバス幅に係る制御線など共通的に制御が可能になる信号線を統合的に扱うことにより、バス幅毎の信号線管理ではなく、出力データ群毎の信号線管理を可能とし得るバッファリング装置及びバッファリング方法を提供することにある。
【0019】更に、本発明の第三の目的は、特許第2642652号に開示されているバッファリング装置におけるダブルバッファの概念自体をFIFOで構築することによりバッファの段数を削減すると共に、2つのバッファの並列型で2つのデータ群のみを取り扱うのではなく、データ長に対して比較的柔軟なバッファ長の扱いを実現することにより、ある瞬間について一連のデータ群を複数格納し得るバッファリング装置及びバッファリング方法を提供することにある。
【0020】
【課題を解決するための手段】上記の目的を達成するため、第1の発明は、一連のデータ群が時系列的に合成されて複数入力され、各一連のデータ群の区切りを検知すると共に、入力バス上のアドレス情報を分離する入力制御手段と、複数のバッファから構成されたバッファ手段と、入力制御手段から転送されてきた各一連のデータ群を、区切り情報に基づきバッファ手段の各バッファに書き込み、書き込んだ一連のデータ群を読み出すバッファ制御手段と、入力制御手段から入力されたアドレス情報を、バッファ手段に書き込む各一連のデータ群に対応させて保持し、バッファ手段から一連のデータ群を読みだす出力時は、アドレス要求を受けて保持しているアドレスを取り出してバッファ制御手段へ出力するアドレス管理手段と、外部からの読み出し要求に応答して、アドレス管理手段にアドレス通知を要求してアドレス管理手段から入力されたアドレス情報を外部へ出力すると共に、バッファ制御手段を制御してバッファ手段からデータ群を読み出させ、読み出されたデータ群のバス幅を分割又は合成して複数の互いに異なるバス幅の出力バスのうち要求されたバス幅の出力バスへ選択出力する出力制御手段とを有する構成としたものである。
【0021】この発明では、バッファ制御手段と出力制御手段をバッファリング装置内に有して統合的な処理が行えるようにしたため、一度のアクセスでバッファ手段からデータバスのバス幅以上のデータを読み出すことができる。
【0022】また、本発明では、バス幅毎の信号線管理ではなく、アドレス管理手段がアドレス情報を、バッファ手段に書き込む各一連のデータ群に対応させて保持して、バッファ手段から出力するデータ群毎の信号線管理ができる。
【0023】また、第2の発明は、第1の発明におけるバッファ制御手段を、バッファ手段への一連のデータ群の書き込み時は、一連のデータ群の書き込み毎に群属性値を更新してバッファ手段及びアドレス管理手段へ通知すると共に、各データ毎にライトポインタを更新してバッファ手段に書き込みを行い、バッファ手段は、ライトポインタの格納位置のバッファにデータを、群属性値と、格納を示す所定値の格納属性を書き込むことを特徴とする。この発明では、バッファ手段に格納されているデータ群毎に管理することができ、またバッファ手段のデータ格納状況の管理ができる。
【0024】また、上記の目的を達成するため、第3の発明は、第2の発明におけるバッファ制御手段を、バッファ手段からの一連のデータ群の読み出し時は、出力バス幅に応じた所定のバッファポインタ位置のバッファ手段内のバッファからのデータの読み出しを行い、読み出し完了時点でバッファの格納属性を空きを示す所定値に変更する構成としたものである。この発明では、バッファ手段のデータ群の格納状況を把握することができる。
【0025】また、上記の目的を達成するため、第4の発明は、上記のバッファ手段を、一連のデータ群を複数のバッファのデータ領域に格納すると共に、データ領域に一対一に対応させて、データ群毎に異なり同一データ群では同一値の群属性と、格納済みか否かを示す格納属性を付加して格納する手段であり、出力制御手段は、外部からの読み出し要求に応答してバッファ手段からバッファ制御手段を介してデータ群の読み出し処理を行わせるバッファリード要求制御手段と、アドレス管理手段に対してアドレス通知を要求してアドレス情報を受け、そのアドレス情報を外部へ出力する出力アドレス制御手段と、バス幅に対応するデータ長の同一群属性のデータがバッファ手段に格納されているかを群属性と格納属性に基づき監視するバッファ属性監視手段と、バッファ手段からのデータ読み出し時に属性値を制御するバッファ属性制御手段と、バッファ手段からバッファ制御手段を介して読み出されたバス幅に対応したデータ長の同一群属性のデータを、出力すべきバス幅の出力バスへ選択出力するバス幅選択手段とを少なくとも有する構成としたものである。
【0026】この発明では、バッファ手段がデータ群にその群属性と格納属性とを付加して格納するようにしているため、2つのバッファの並列型で2つのデータ群のみを取り扱うのではなく、データ群のデータ長に対して比較的柔軟なバッファ長の扱いを実現でき、複数のデータ群を並列してバッファ手段に格納することができる。
【0027】ここで、第5の発明では、上記のバス幅選択手段を、バッファ手段に格納されている同一群属性のデータ長が、出力バスのバス幅に足りないときには、不足データ分を補うためのダミーデータをバッファ手段から読み出されたデータ中に挿入して出力することを特徴とする。
【0028】また、上記の目的を達成するため、第6の発明では、アドレス管理手段を、入力制御手段からのアドレス情報を取り込むアドレス入力手段と、アドレス入力手段により取り込まれたアドレスを、バッファ手段に書き込まれるデータ群と一対一に対応させて、データ群の群属性及び格納済みか否かを示す格納属性と共にテーブル形式で格納するアドレス記憶手段と、出力制御手段からのアドレスの出力要求を受けてアドレス記憶手段に記憶されているアドレスを取り出すアドレス選択手段と、アドレス選択手段により選択されたアドレスを出力制御手段へ出力するアドレス通知手段とを有する構成としたものである。
【0029】また、第7の発明は、アドレス記憶手段を、リードポインタによるアドレステーブルのアドレスの読み出しを実行すると共に、読み出されたアドレスに対応する格納属性をリセットすることを特徴とする。これにより、アドレス記憶手段をバッファ手段の内容と常に対応させることができる。
【0030】また、第8の発明は、外部からアドレス指定を受け、直接的又は間接的にアドレス管理手段にアクセスするアドレス制御手段を更に有することを特徴とする。この発明では、出力アドレスの格納値を外部から制御することができるので、DMA等を用いる場合を想定してアドレス情報が外部のプロセッサで別途管理される場合に適用できる。
【0031】
【発明の実施の形態】次に、本発明の実施の形態について図面と共に説明する。図1は本発明になるバッファリング装置の一実施の形態の構成図を示す。同図において、バッファリング装置20は図8のバッファリング手段4を実現する装置で、入力制御手段21、バッファ制御手段22、バッファ手段23、アドレス管理手段24及び出力制御手段25から構成されており、更に必要に応じてアドレス制御手段26が設けられている。バッファ手段23は、n個(nは2以上の整数)のFIFOからなる。また、バッファ制御手段22は、バッファ手段23の書き込み動作を制御するバッファライト制御手段27と、バッファ手段23の読み出し動作を制御するバッファリード制御手段28と、バッファライト制御手段27及びバッファリード制御手段28を制御するバッファアクセス制御手段29とから構成されている。
【0032】この実施の形態では、バッファリング装置20内に入力制御手段21、アドレス管理手段24、出力制御手段25及びアドレス制御手段26が、バッファ制御手段22及びバッファ手段23と共に設けられている。このバッファリング装置20では、一連のデータ群が入力されると、入力制御手段21により入力データをバッファ制御手段22に転送し、これによりFIFO等で構成されるバッファ手段23に対して一連の入力データ群を順に書き込んで格納させる。
【0033】出力側の準備が整うと、バッファ制御手段22により出力のための処理が開始され、バッファ手段23から一連のデータ群を読み出して、出力制御手段25を経由して出力する。一連のデータの出力の際、出力制御手段25は出力するバス幅を選択し、必要なデータ幅に分割もしくは統合して出力する。
【0034】ここで、バッファリング装置20への入力側のバスが時分割によりアドレスを含むアドレスデータバスである場合、入力制御手段21はバス上からアドレス情報を分離し、アドレス管理手段24にアドレスを通知する。アドレス管理手段24ではアドレスを保持し、一連のデータ群の出力時に合わせてアドレス情報を出力する。
【0035】入力制御手段21は、図2のブロック図に示すように、入力アドレス検知手段211、データ群検知手段212、入力信号制御手段213、入力アドレス通知手段214、データ群通知手段215及びバッファライト要求制御手段216とから構成されており、図10に示した従来の入力制御手段16に比べて、データ群検知手段212とデータ群通知手段215が新たに設けられている。
【0036】すなわち、従来の入力制御手段16では、データ群の検知は単なるバッファリングの開始や終了のための信号でしか存在しなかった。これに対し、この実施の形態における入力制御手段21は、データ群を複数扱うためのデータ群検知手段212を積極的に設け、データ群の区切りを知るための検知信号を入力制御手段21内もしくは外部から入力する。ここで得たデータ群の区切りは、バッファ装置の群属性トグルフラグ、アドレス管理手段24のアドレス格納契機、出力制御手段25でのバッファ格納完了把握等に使用される。
【0037】なお、上記のデータ群の区切りは、入力単位によって決定される。ここでは、例えば入力側にPCカード・カードバス規格による32ビットマルチプレクサバスが接続されるものとすると、データ群としては4バイト×n回の「フレーム」という単位が適用される。なお、4バイト未満の余剰バイト(例えば、63バイト転送長の余り3バイトなど)についても、バイトイネーブルにより制御されるため、実質は転送長として1バイト単位の転送が可能である。従って、データ群としては、4バイト×n回(あるいはmバイト)などを単位とする想定入力単位となり、受信フレーム毎、あるいは受信パケットごとにデータ群の区切りが入る。
【0038】また、従来のバッファリング装置では、並列に配置されるバッファの構成が単純であるため、入力されたアドレスをそのまま入力制御手段16が出力時点まで保持する機能で十分であったが、この実施の形態では、データ群を複数扱うために、出力先のアドレスも複数指定されることになり、これらのアドレスの管理が重要となる。そのため、入力制御手段21内の入力アドレス通知手段214は、バッファリング装置20内に設けられた後述のアドレス管理手段24へ複数の出力先アドレスを通知して統合的な処理を可能とする。
【0039】また、バッファリング装置20内の出力制御手段25は、図3に示すように、バッファ属性制御手段251、バッファ属性監視手段252、バッファリード要求制御手段253、出力アドレス制御手段254、出力信号制御手段255及びバス幅選択手段256から構成されている。バッファリード要求制御手段253は、外部からの読み出し要求に応答してバッファからのデータ群の読み出し処理を行う。
【0040】この出力制御手段25は、図11に示した従来の出力制御手段17に比較して、バッファ属性制御手段251とバッファ属性監視手段252が更に設けられている。すなわち、従来の出力制御手段17では、バッファからの出力の要求を外部から受けると、その要求に従ってバッファからデータを取り出す例が多用されるが、このデータの読み出し開始の条件はバッファに必要データ長が格納済みであることである。ここで、この格納済みかどうかのチェックはバッファ並列数の分をそれぞれ対象とすればよい。
【0041】これに対し、本実施の形態の出力制御手段25では、バッファ属性監視手段252によりバッファ手段23からバッファリード制御手段28経由で出力制御手段25に入力される制御信号に基づき、常にバッファ自体の格納状況の監視を行い、必要データ長が格納済みであるかどうかを知るための後述のバッファ属性フラグが出力条件に適合するかどうかを判定し続ける。ここで用いるバッファ属性フラグはバッファ属性制御手段251によりバッファへの格納時、バッファの解放時等に制御される。
【0042】また、従来の出力制御手段17では、出力のバスセレクタをバッファリング装置とは別途に構築する例が多いが、その為に必要な制御信号を提供する必要が生じる。特に、出力バス幅が異なる場合に、格納長がバス幅に応じたデータ長に到達する必要があり、その条件に達したかどうかはバッファリング装置が提供する。
【0043】これに対し、本実施の形態では、出力制御手段25内にバス幅選択手段256を設けることにより、出力条件に達した段階で即時に出力を開始でき、出力側に対してバス幅選択を個別に制御する操作が不要となる。この方式の利点は、32ビット幅のバッファから64ビット幅への出力を例にとると、従来の出力制御手段17では32ビット幅のデータを2回出力した上で64ビット幅に構成し直す必要があるのに対し、バッファ手段23からの読み出し時点ですでに64ビット幅を読み出すことが可能になる点である。128ビット幅等、ビット幅拡張の回路に関しても同様の仕組みである。
【0044】また、逆に32ビット幅のバッファから16ビット幅への出力を例にとると、従来の出力制御手段17では32ビット幅のデータを1回出力した上で16ビット幅の2回のアクセスに構成し直す必要があるのに対し、バッファ手段23からの読み出し時点でバッファ属性制御手段251を用いてバッファ属性を制御することにより、予め必要な16ビット幅の2回のリードが完了してからバッファを解放する処理に移ることが可能となる。8ビット幅等、ビット幅減少の回路に関しても同様の仕組みである。
【0045】なお、図1の例では、バッファ手段23から出力制御手段25までのデータバス幅は32ビット×n(nは出力バス幅への出力を満足するための値で、これを選択する)であり、出力バス幅が16ビットの場合は、先に32ビット分多めに読み出し、16ビットずつ分割出力することとなる。逆に出力バス幅が64ビットあるいはその整数倍であれば、バッファ手段23の32ビット出力を複数束ね、一度に64ビットあるいはその整数倍として出力する。
【0046】また、従来の出力制御手段17では、出力アドレスの選択は入力時に保持されたアドレス情報をそのまま使用する単純な制御例が挙げられる。これに対し、本実施の形態の出力制御手段25は、出力アドレスが一連のデータ群毎に個別に管理されているため、必要な情報を後述のアドレス管理手段24から取り出し、データ群とともに出力する。
【0047】また、出力制御手段25内のバス幅選択手段256でのバス幅選択は、図4に示すように、入力、出力ともに連続転送が可能な場合、出力されるバス幅によって単純に時間幅が変動する。このように、バス幅選択手段256によりバッファ方向からの入力時に予め出力側のバス幅を意識した読み出しを行うことにより、アクセス回数(同時にアクセス時間に反映される)の減少を図ることができる。
【0048】次に、バッファリング装置20内のバッファ手段23の構成について説明する。バッファ手段23は図5の構成図に示すように、n個のFIFOによるバッファからなり、その各バッファ内容(BUF(1)〜BUF(n))のデータ領域と一対一に対応させて群属性領域及び格納属性領域の2種類のバッファ属性を付加する。これらの情報は常に出力制御手段25内のバッファ属性監視手段252により監視を受ける。
【0049】図5に示す「格納属性」は、格納済みかどうかを0で示される未格納状態、1もしくは1以上で示される格納済み状態の2値もしくは多値によって割り当てるバッファ属性フラグである。この格納属性は、図1のバッファライト制御手段27により書き込み時にセットされ、図1のバッファリード制御手段28によりバッファ1つの読み出しが完了した時点でリセットされる。この場合、読み出し回数は、出力ビット幅に応じて複数回になる可能性がある。
【0050】また、図5に示す「群属性」は、一連のデータ群に対して同一の属性を付与するものとし、データ群毎に0、1の2値トグル、もしくは多値によって割り当てるバッファ属性フラグである。値の更新はバッファへのデータ格納毎に行われる。また、群属性値はアドレス管理手段24内の後述のアドレス記憶手段にも同期する。なお、図5中、BUFWPは、バッファに対するライトポインタを示し、BUFRPはリードポインタを示す。
【0051】次に、バッファリング装置20内のアドレス管理手段24について説明する。図6のブロック図に示すように、アドレス管理手段24は、アドレス入力手段241、アドレス記憶手段242、アドレス通知手段243及びアドレス選択手段244から構成されており、図12に示した従来のバッファリング装置10の外部に設けられたアドレス管理手段18に比較して、アドレス記憶手段242及びアドレス選択手段244が新たに設けられている。
【0052】従来は、特許第2642652号(特開平1−198143号)公報に開示されているバッファリング装置に代表されるようにバッファの仕組みが単純な構築例が多用され、アドレス入力手段として設置されるバッファの数だけアドレスを保持するのみでアドレス出力を実現できた。しかしながら、本実施の形態のように、バッファの用意が複数のデータ群に対して行われる場合には、この構成ではやや不十分な構成となる。
【0053】そこで、本実施の形態のアドレス管理手段24では、図6に示すようにアドレス入力手段241がアドレス記憶手段242に対するインタフェースを持ち、アドレス選択手段244により外部からのアドレス出力要求に対応する構成とされている。アドレス選択手段244による選択結果は、アドレス通知手段243により図1の出力制御手段25に伝達される。
【0054】また、図6のアドレス入力手段241へ入力されたアクセス処理対象のアドレスに対してDMA転送に見られるように別アドレスに置換した状態でアドレスを出力する場合、外部からのアドレス指定が可能なように、図1及び図6に示すようにアドレス制御手段26がバッファリング装置20内に設置される。
【0055】この実施の形態では、アドレス記憶手段242は、アドレス管理が複数にわたるため、図7に示すように図5に示したバッファ手段23と類似した構成を採り、一連のデータ群に対して一対一にアドレス情報が対応する点及びアドレス処理が順次処理である点を考慮してアドレステーブル(ADT)のライトポインタ(ADTWP)とリードポインタ(ADTRP)によりFIFO型のバッファリングを行う。
【0056】ここで、アドレステーブルに格納される情報として、一連のデータ群に対応する出力アドレスADT(m)の他、群属性及び格納属性により構成されるアドレステーブル属性が存在する。このアドレス記憶手段242における「格納属性」は、格納済みかどうかを0で示される未格納状態、1で示される格納済み状態の2値もしくは多値によって割り当てるアドレステーブル属性フラグである。この格納属性は、入力制御手段21またはアドレス制御手段26によりアドレス情報が更新された時にセットされ、出力制御手段25によりアドレス出力が完了した時点でリセットされる。
【0057】また、図7に示すアドレス記憶手段242における「群属性」は、バッファ手段23により付与された群属性そのものであり、データ群毎に0、1の2値トグル、もしくは多値によって割り当てるアドレステーブル属性フラグである。
【0058】なお、バッファ手段23のバッファ容量(n段)及びアドレス記憶手段242のアドレステーブル容量(m)は、本発明では明確に定義しないが、適用する通信システムにより決定されるシステムパラメータである。ただし、各バッファのそれぞれにn個の全ての異なるデータ群として入力された場合に全てのデータ群をバッファに格納するには、n個のアドレスをアドレス記憶手段242に蓄積する必要があるため、一般的にm=nであれば問題ない。
【0059】ここで、m=nの場合に限りバッファ上の格納位置とアドレステーブル上の格納位置を同義にできるため、バッファとアドレステーブルにおけるポインタ管理を一部省略し、お互いに同一のリードポインタ、もしくはお互いに同一のライトポインタで処理を実施できる例が存在する。また、m≠nの場合、バッファ手段23もしくはアドレス記憶手段242のいずれかが全て格納済みである状態が存在する。この場合、要求される側は要求元に対し待ち状態にさせる制御を必要とする。
【0060】次に、本発明の一実施の形態であるバッファリング装置20の動作について説明する。
【0061】まず、外部から入力制御に対してフレーム、パケット等のある一連のデータ群が、図1に示すバッファリング装置20内の入力制御手段21に到着する。入力制御手段21内の図2に示すデータ群検知手段212は、前回とは異なる一連のデータであることを認識し、新たなデータ群に対する処理が開始されることをデータ群通知手段215によりバッファリング装置20内の各部に通知する。一方、入力制御手段21内の入力アドレス検知手段211は、アクセスされたアドレスを抽出し、その抽出したアドレスをアドレス通知手段214によりアドレス管理手段24にアドレス情報を通知する。なお、入力アドレス検知手段211は必ずしも設ける必要はない。
【0062】また、入力制御手段21は、到着した一連のデータ群を転送する処理を行う契機としてバッファ制御手段22に対して、内部のバッファライト要求制御手段216から書き込むデータが存在することを書き込み要求として出力し、バッファ制御手段22でその書き込み要求が受け付けられた時点でバッファ制御手段22への転送を開始する。
【0063】バッファ制御手段22は、バッファライト要求制御手段216から上記の書き込み要求が入力されると、バッファへの一連のデータ群の書き込み準備に入る。すなわち、バッファ制御手段22内のバッファアクセス制御手段29によりバッファライト制御手段27が動作を開始し、新たな一連のデータ群毎に群属性を更新してバッファ手段23及びアドレス管理手段24に対して0、1、もしくは1以上の値により表示される群属性値を通知する。また、バッファライト制御手段27は、一連のデータ群内の各データの到着毎にバッファライトポインタを更新して、バッファ手段23に対してデータの書き込み処理を行う。その際、バッファ手段23にバッファの空きが無ければ待ち状態となる(もしくはデータを廃棄する)。
【0064】バッファ手段23は、書き込み時には書き込みデータが到着すると該当するライトポインタの格納位置にデータ内容、群属性を格納し、格納属性を1、もしくは1以上の値にセットする。また、格納属性がすべて1でバッファ手段23に空きがない場合(特にFIFO型では次の書き込み予定ポインタ位置の格納属性が1、もしくは1以上の値である場合)、書き込み要求を受け付けないようバッファライト制御手段27に対して待ち状態であることを通知する。また、ライトポインタの次のポインタ位置が空きである場合、次の群属性予定値を予め書き込んでおく。
【0065】次に、外部から出力制御手段25に一連のデータ群の引き取り要求がかかる。出力制御手段25内の図3に示した出力アドレス制御手段254は、これまでのデータ群とは別なデータ群の処理が始まるため、次のデータ群属性で出力アドレスの検索をかけるよう、アドレス管理手段24に対してアドレス通知を要求し、アドレス情報を受け、外部へアドレス出力を行う。その際、先頭アドレスのみを出力する場合、あるいはバス幅に応じてデータ毎にアドレスインクリメントを行う場合が存在する。
【0066】出力制御手段25内のバス幅選択手段256は、該当するバス幅のバスを選択するため、そのセレクタを起動する。また、出力制御手段25内のバッファ属性監視手段252は、バッファリード要求制御手段253ではリードが行われる契機としてバス幅に対応するデータ長の同一群属性のデータがバッファに格納済みであるかを確認する。格納済みであることが認められれば、バッファリード要求制御手段253はデータの読み出しを行う。格納済みの同一群属性のデータ長が足らず有効なポインタ範囲内で別な群属性が有効データとして格納済みである場合、バス幅選択手段256は、同一群属性のデータとともに、必要なバス幅に対して不足データを補うためにダミーデータを挿入する。
【0067】バッファ制御手段22は、バッファからの読み出し要求があると、バス幅選択手段256から通知される出力バス幅に応じた制御線に従って必要なバッファポインタ位置からのデータ読み出しを行う。あるバッファポインタ位置から読み出しを完了した時点でバッファ格納属性を0にリセットし、バッファを解放すると同時に、リードポインタを更新する。この際、バッファ手段23のバス幅と出力バス幅が異なるため、一度のリードで1つまたは複数のバッファポインタがアクセスされる場合、または複数回のリードで1つのバッファポインタがアクセスされる場合が存在し、リードポインタの更新制御、格納属性のリセット制御に影響を受ける。
【0068】読み出し時のバッファ手段23では、バッファリード要求制御手段253から読み出し要求が到着すると、リードポインタからの区間でバス幅に応じたバッファからのデータ内容を読み出し、各バッファについてデータの読み出しを完了する毎に格納属性を0の値にリセットする。なお、該当群属性のデータの読み出し要求がバッファリード要求制御手段253からあったにもかかわらずバッファに対してデータが未格納状態であった場合は、待ち状態にする。
【0069】入力時におけるアドレス管理手段24は、入力制御手段21内の図2に示した入力アドレス通知手段214からのアドレス情報を、図6に示したアドレス入力手段241によりバッファアクセス制御手段29からの制御信号中の群属性情報と同期させて取り込み、アドレス記憶手段242上のアドレステーブルへADTWPによるポインタ制御を用いて格納する。また、アドレス記憶手段242は、格納済みであることを示すために格納時にアドレステーブル格納属性を1、もしくは1以上の値にセットする。
【0070】出力時におけるアドレス管理手段24は、出力制御手段25内の出力アドレス制御手段254からの制御信号中のアドレス出力要求を受け、アドレス選択手段244によりアドレス記憶手段242からのアドレス取り出しを行い、取り出されたアドレスを出力制御手段25に出力する。この際、アドレス記憶手段242は、図7に示したADTRPによるポインタ制御を行い、アドレステーブルからのアドレスの取り出しを実行する。また、アドレス記憶手段242は、アドレステーブルの該当ポインタ位置を解放するために、読み出し時にアドレステーブル格納属性を0にリセットする。
【0071】なお、群属性を意識しない制御を行う場合、アドレス記憶手段242は図7から群属性、格納属性をともに削除し、ADT(m)のみを格納する単純なFIFO構造とすることもできる。本実施の形態では、アドレス制御手段26による出力アドレス指定を実現するためにアドレステーブル構築例を掲げた。
【0072】アドレス制御手段26は、DMA等を用いる場合を想定してアドレス情報が外部のCPU等のプロセッサで別途管理される状態の場合に存在する。アドレス指定インタフェース手段261は、外部からアドレス指定を受け、直接的もしくは間接的にアドレス記憶手段242にアクセスする。これにより、本実施の形態は、出力アドレスの格納値を外部から制御し、入力アドレスと出力アドレスの間にアドレス変換をかける手段を有する。
【0073】このように、本実施の形態によれば、バッファリング装置20内にバッファ制御手段22及び出力バス幅選択手段256を含むことにより、統合的な処理ができる。例えば、従来は、バッファからの読み出しアクセスが常に32ビットに固定されている場合に、外部で64ビットにバス幅を拡張するには、2回のアクセスを必要としたが、本実施の形態では、1回のアクセスで64ビットや128ビットのデータを取り出すことができる。
【0074】また、本実施の形態では、複数バス幅に係る制御線をバッファリング装置20内に統合するようにしたため、アドレス情報が一連のデータ群毎に存在し、複数のデータ群(一連のデータ群が複数)がバッファ手段23に混在していても、また、DMA転送等の用途で出力アドレスを外部から指定することで、出力アドレスの制御の柔軟性を実現することができる。
【0075】更に、本実施の形態では、最大データ長が固定のバッファ(FIFO等)からバッファ手段23が構成されていて、あるデータ群がバッファの最大データ長に達しない場合であっても、空きのバッファ部分に次のデータ群を記憶させることができ、バッファ使用効率を向上できる。
【0076】なお、本発明は上記の実施の形態に限定されるものではなく、その他の変形例も考えられるものである。例えば、アドレス制御手段26において、アドレステーブルに対して、入力されたアドレスとそれに対する出力アドレスを併記することにより、完全なアドレス変換が可能となる。これを実際の入力アドレスと非同期とさせ、単純にアドレス変換手段として準備した場合、入力制御手段21からの入力アドレスとアドレス記憶手段242の入力アドレスとの入力アドレス検索手段が必要となり、アドレス設定が比較的多数に及ぶ場合はCAM等を使用して入力アドレス検索を行うなどの実現方法を採用できる。
【0077】また、バッファ手段23は、上記の実施の形態ではFIFO構造型のバッファによる構築例を掲げたが、FIFOに限定せずテーブル型(通常のメモリも含む)の構築例も可能である。ただし、ランダム・アクセス・メモリ(RAM)等のメモリを使用する場合、バッファ属性に関しては常に出力制御手段25から監視できるように別途のレジスタ等による構成が必要である。
【0078】さらに、出力制御手段25はアドレスとデータが同一バス上に時分割して出力される場合、アドレスとデータのマルチプレクサ手段が別途実装される。
【0079】
【発明の効果】以上説明したように、本発明によれば、以下のように特長を有する。
【0080】第一に、装置内にバッファ制御手段及び出力制御手段を含むことにより、統合的な処理ができるようにしたため、例えばバッファからの読み出しアクセスが常に32ビットに固定されている場合に外部で64ビットにバス幅拡張するには、従来のような2回のアクセスを必要とせず、1回のアクセスで64ビットや128ビットのデータを取り出すことができ、処理の最適化ができる。
【0081】第二に、本発明によれば、バス幅毎の信号線管理ではなく、アドレス管理手段がアドレス情報を、バッファ手段に書き込む各一連のデータ群に対応させて保持して、バッファ手段から出力するデータ群毎の信号線管理ができるようにしたため、例えば、アドレス情報がデータ群毎に存在し、複数のデータ群がバッファ手段に混在していても、それぞれのデータ群に対して一対一に対応するアドレスをアドレステーブルにより管理すること、またDMA転送等の用途で出力アドレスを外部から指定することで、出力アドレスの制御の柔軟性を実現できる。
【0082】第三に、本発明によれば、2つのバッファの並列型で2つのデータ群のみを取り扱うのではなく、データ長に対して比較的柔軟なバッファ長の扱いを実現することにより、複数のデータ群を並列して一度にバッファ手段に格納できるようにしたため、バッファ手段を最大データ長が固定のバッファをいくつか用意する構成とした場合、あるデータ群が最大データ長に達しない場合もそれ以外の部分を別なデータ群に割り当てることが従来はできなかったが、本発明では空きがあれば次のデータ群を格納することができ、バッファ使用効率を増大させることができる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013