(57)【特許請求の範囲】
【請求項１】
一方の側と他方の側との間のパケットの入出力を行う情報入出力装置において、
上記一方の側に設けられ、上記一方の側から入力されるパケットまたは上記他方の側から入力される所定の調整パケットを格納する第１の記憶領域と、上記第１の記憶領域とは別の、上記第１の記憶領域内の対応するデータがパケットの先頭かパケットの途中かパケットの最後かを示すパケットの区切り目情報を格納する第２の記憶領域とを有する第１の記憶手段と、
上記他方の側に設けられ、上記一方の側から入力された上記調整パケットまたは上記他方の側から入力されるパケットを格納する第３の記憶領域と、上記第３の記憶領域とは別の、上記第３の記憶領域内の対応するデータがパケットの先頭かパケットの途中かパケットの最後かを示すパケットの区切り目情報を格納する第４の記憶領域とを有する第２の記憶手段と、
上記第１の記憶手段または上記第２の記憶手段に記憶された上記パケットを読み出して必要に応じて上記パケットの大きさを調整して上記調整パケットを生成して、上記調整パケットを上記第２の記憶手段または上記第１の記憶手段に書き込む制御手段と、
上記調整パケットの区切り目情報に基づいて、上記第２の記憶手段または上記第１の記憶手段から上記調整パケットを読み出して上記他方の側または上記一方の側に出力する読み出し手段と、を備え、
上記制御手段は、上記第１の記憶手段の上記第２の記憶領域または上記第２の記憶手段の上記第４の記憶領域を参照することにより、次に読み出すデータがパケットの先頭か、途中か、終端かを予め認識した後に、上記第１の記憶手段の上記第１の記憶領域または上記第２の記憶手段の上記第３の記憶領域から次のデータを読み出す
情報入出力装置。
【請求項２】
請求項１記載の情報入出力装置において、
上記読み出し手段は、上記調整パケットの区切り目情報に基づいて、上記第２の記憶手段または上記第１の記憶手段から、上記他方の側に上記他方の側のタイミングで、または上記一方の側に上記一方の側のタイミングで、上記調整パケットを読み出して出力する
情報入出力装置。
【請求項３】
請求項１記載の情報入出力装置において、
上記制御手段は、ＤＭＡ転送を用いて、上記第１の記憶手段または上記第２の記憶手段からパケットを読み出し、上記第２の記憶手段または上記第１の記憶手段に上記調整パケットを書き込む
情報入出力装置。
【請求項４】
請求項３記載の情報入出力装置において、
上記ＤＭＡ転送で、転送先の上記第２の記憶手段または上記第１の記憶手段でＤＭＡ転送の一番最初のパケットに先頭の区切り目情報をつけるか、ＤＭＡ転送の一番最後のパケットに終端の区切り目情報をつけるか、または転送元の上記第１の記憶手段または上記第２の記憶手段の区切り目情報をパケットと共にそのまま上記転送先にＤＭＡ転送するか、それらの任意の組み合わせか、または区切れ目情報はＤＭＡ転送に含めないかを任意に選択する
情報入出力装置。
【請求項５】
請求項３記載の情報入出力装置において、
上記ＤＭＡ転送前に、次にＤＭＡ転送するパケットの区切り目情報を転送元の上記第１の記憶手段または上記第２の記憶手段から読み出す
情報入出力装置。
【請求項６】
請求項３記載の情報入出力装置において、
上記ＤＭＡ転送で、転送元の上記第１の記憶手段または上記第２の記憶手段から読み出した複数のパケットまたは一つのパケットを、転送先の上記第２の記憶手段または上記第１の記憶手段に一つにまとめてまたは一つずつＤＭＡ転送する際に、パケットの区切り目情報も同時に転送する
情報入出力装置。
【請求項７】
請求項３記載の情報入出力装置において、
上記ＤＭＡ転送中に、転送元の上記第１の記憶手段または上記第２の記憶手段から区切り目情報を読み出したらＤＭＡ転送の所定の転送量に達していなくてもＤＭＡ転送を止めるか否かを任意に選択でき、上記ＤＭＡ転送を止める場合は、最後に転送したパケットの後ろに、所定の転送量に達するまで任意のデータを挿入してから止めるか、挿入しないで止めるかを任意に選択する
情報入出力装置。
【請求項８】
請求項３記載の情報入出力装置において、
ＤＭＡ転送中に、転送元の上記第１の記憶手段または上記第２の記憶手段から読み出すパケットが空状態になったとき、または転送先の上記第２の記憶手段または上記第１の記憶手段に書き込まれるパケットが満状態になったとき、ＤＭＡ転送を待機するか、またはＤＭＡ転送を中止するかを任意に選択する
情報入出力装置。
【請求項９】
請求項１記載の情報入出力装置において、
上記一方の側は情報処理装置側であり、上記他方の側は外部インターフェース側である
情報入出力装置。
【請求項１０】
請求項１記載の情報入出力装置において、
上記制御手段は、ＤＭＡ転送を用いて、上記第１の記憶手段または上記第２の記憶手段からパケットを読み出し、上記第２の記憶手段または上記第１の記憶手段に上記パケットをそのまま書き込むか、または、上記制御手段は、上記第１の記憶手段または上記第２の記憶手段に記憶された上記パケットを読み出して上記パケットの大きさを調整して上記調整パケットを生成して、上記調整パケットを上記第２の記憶手段または上記第１の記憶手段に書き込むかを任意に選択する
情報入出力装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、外部インターフェースと情報処理装置との間のパケットの入出力を行う情報入出力装置に関するものである。
【０００２】
【従来の技術】
従来、外部インターフェースとしてのＩＥＥＥ１３９４規格のインターフェース（以下、１３９４インターフェースという。）から所定の信号処理を行う情報処理システム（以下、システムという。）へのパケットの入出力が行われていた。システム側から１３９４インターフェース上にパケットを出力する場合、システム側から出力されるパケットのタイミングと、１３９４インターフェース上に出力するパケットのタイミングとが異なっている場合が考えられる。
【０００３】
また、逆に、１３９４インターフェース側からシステム側へパケットを入力する場合、１３９４インターフェース側から入力されるパケットのタイミングとシステム側へ入力するパケットのタイミングが異なっている場合が考えられる。
【０００４】
このような場合を考慮して、システムと外部インターフェースとの間にＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ  ｍｅｍｏｒｙ）を用いてタイミングを制御するのが一般的であった。
【０００５】
このＦＩＦＯの制御では、異なるタイミングの入出力系である１３９４インターフェース側とシステム側との間に、固定長のパケットの入出力のみを扱うＦＩＦＯを一段配置し、このＦＩＦＯの入出力のタイミングのみをマイクロコンピュータ（以下、マイコンという。）やハードウェアを用いて制御していた。
【０００６】
【発明が解決しようとする課題】
上述した従来のＦＩＦＯの制御では、パケットの大きさが固定長の場合であり、パケットの大きさが決まっているため、固定長ずつパケット毎にハードウエア回路を用いて１３９４インターフェース上やシステム上に出力することが可能であった。
【０００７】
しかし、元々入力されるパケットが可変長の場合は、ＦＩＦＯから読み出す際にパケットの区切り目を見つけて、パケット毎に１３９４インターフェース上やシステム上に出力するために、マイコンやハードウエア回路においてパケットのデータを解析するなどして、パケットの区切り目を探す処理が余計に必要であり、このための処理が煩雑であるという不都合があった（特開平６−２４３６７２、特開平８−３０５２２０、特開平１１−９８０９８号公報参照）。
【０００８】
そこで、本発明は、かかる点に鑑みてなされたものであり、可変長のパケットに対しても容易に入出力が行える情報入出力装置を提供することを課題とする。
【０００９】
【課題を解決するための手段】
本発明の情報入出力装置は、一方の側と他方の側との間のパケットの入出力を行う情報入出力装置において、適用される。
【００１０】
特に、本発明の情報入出力装置は、一方の側に設けられ、一方の側から入力されるパケットまたは他方の側から入力される所定の調整パケットを格納する第１の記憶領域と、第１の記憶領域とは別の、上記第１の記憶領域内の対応するデータがパケットの先頭かパケットの途中かパケットの最後かを示すパケットの区切り目情報を格納する第２の記憶領域とを有する第１の記憶手段と、他方の側に設けられ、一方の側から入力された調整パケットまたは他方の側から入力されるパケットを格納する第３の記憶領域と、第３の記憶領域とは別の、第３の記憶領域内の対応するデータがパケットの先頭かパケットの途中かパケットの最後かを示すパケットの区切り目情報を格納する第４の記憶領域とを有する第２の記憶手段と、第１の記憶手段または第２の記憶手段に記憶されたパケットを読み出して必要に応じてパケットの大きさを調整して調整パケットを生成して、調整パケットを第２の記憶手段または第１の記憶手段に書き込む制御手段と、調整パケットの区切り目情報に基づいて、第２の記憶手段または第１の記憶手段から調整パケットを読み出して他方の側または一方の側に出力する読み出し手段とを備え、制御手段は、第１の記憶手段の第２の記憶領域または第２の記憶手段の第４の記憶領域を参照することにより、次に読み出すデータがパケットの先頭か、途中か、終端かを予め認識した後に、第１の記憶手段の第１の記憶領域または第２の記憶手段の第３の記憶領域から次のデータを読み出すものである。
【００１１】
従って本発明によれば、以下の作用をする。第１の記憶手段の第１の記憶領域は一方の側から入力されるパケットを格納する。第２の記憶領域は、第１の記憶領域内の対応するデータがパケットの先頭かパケットの途中かパケットの最後かを示すパケットの区切り目情報を格納する。
【００１２】
第２の記憶手段の第３の記憶領域は制御手段により加工された調整パケットを格納する。第４の記憶領域は、第３の記憶領域内の対応するデータがパケットの先頭かパケットの途中かパケットの最後かを示すパケットの区切り目情報を格納する。
【００１３】
また、制御手段は、第１の記憶手段の第１の記憶領域に記憶されたパケットを読み出してパケットの大きさを調整して調整パケットを生成して、または記憶されたパケットをそのまま読み出して、調整パケットまたはそのまま読み出されたパケットを第２の記憶手段の第３の記憶領域に書き込むと共に、第２の記憶領域に記憶されたパケットの区切り目情報を読み出してパケット区切り目情報を生成して、パケット区切り目情報を第４の記憶領域に書き込む。その際、第１の記憶手段の第２の記憶領域または第２の記憶手段の第４の記憶領域を参照することにより、次に読み出すデータがパケットの先頭か、途中か、終端かを予め認識した後に、第１の記憶手段の第１の記憶領域または第２の記憶手段の第３の記憶領域から次のデータを読み出す。
【００１４】
このように入力側と出力側にそれぞれ第１の記憶手段および第２の記憶手段を用意して、制御手段によるデータ転送を用いて、パケットを入力側から出力側に転送する。
【００１５】
そして、読み出し手段が調整パケットの区切り目情報に基づいて、第２の記憶手段から調整パケットを読み出して他方の側に出力する。なお、入力と出力が切り替えられた場合、他方の側が入力側となり、一方の側が出力側となる。
【００１６】
【発明の実施の形態】
本実施の形態の情報入出力装置は、パケットを格納するＦＩＦＯの領域とは別に、パケットの区切り目情報を格納する領域を保つことにより、マイコンなどを用いてパケットを加工して、パケットの大きさが変わっても、区切り目情報に基づいてＦＩＦＯから１パケットずつ取り出すものである。
【００１７】
以下に、本実施の形態の情報入出力装置について説明する。
図１は、本実施の形態の情報入出力装置が適用されるシステムの構成を示す図である。図１に示すシステムは、図中右方向の矢印はシステム側から入力されたパケットをマイコンで加工して１３９４インターフェース上に送信する場合を示している。逆に、図中左方向の矢印は１３９４インターフェース側から受信されたパケットをマイコンで加工してシステム側に供給する場合を示している。ここでは、まず前者の第１の実施の形態について説明する。なお、図１ではＦＩＦＯの数は１３９４インターフェース側に２つ、システム側に１つ設ける例を示す。
【００１８】
図１において、システム側からシステムのタイミングで入力されたパケット（データのみ）に、マイコンにより１３９４ヘッダーを付加し、１３９４インターフェース上に送信する場合を説明する。
【００１９】
本実施の形態の情報入出力装置は、システム側に設けられ、システム側から入力されるパケットを格納する入力側ＦＩＦＯ１と、パケットの区切り目情報を格納するパケット区切り目情報格納用領域２とを有して構成される。
【００２０】
また、本実施の形態の情報入出力装置は、１３９４インターフェース側に設けられ、後述するマイコンにより加工された調整パケットを格納する出力側ＦＩＦＯ３と、パケットの区切り目情報を格納するパケット区切り目情報格納用領域４とを有して構成される。
【００２１】
パケット区切り目情報格納用領域４は、出力側ＦＩＦＯ３内の対応するデータが、パケットの先頭かパケットの途中か、パケットの最後かを示すパケットの区切り情報を格納するための領域である。
【００２２】
また、本実施の形態の情報入出力装置は、１３９４インターフェース側に設けられ、後述するマイコンにより加工された調整パケットを格納する出力側ＦＩＦＯ５と、パケットの区切り目情報を格納するパケット区切り目情報格納用領域６とを有して構成される。
【００２３】
パケット区切り目情報格納用領域４、６は、出力側ＦＩＦＯ３、５内の対応するデータが、パケットの先頭かパケットの途中か、パケットの最後かを示すパケットの区切り情報を格納するための領域である。
【００２４】
また、本実施の形態の情報入出力装置は、入力側ＦＩＦＯ１に記憶されたパケットを読み出してパケットの大きさを調整して調整パケットを生成して、調整パケットを出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５に書き込むと共に、パケット区切り目情報格納用領域２に記憶されたパケットの区切り目情報を読み出して調整パケット区切り目情報を生成して、調整パケット区切り目情報をパケット区切り目情報格納用領域４及び／またはパケット区切り目情報格納用領域６に書き込むマイコン７とを有して構成される。
【００２５】
また、本実施の形態の情報入出力装置は、調整パケットの区切り目情報に基づいて、出力側ＦＩＦＯ３及びまたは出力側ＦＩＦＯ５から調整パケットを読み出して１３９４インターフェース側に出力するパケット区切り情報読み出し回路８及び／またはパケット区切り情報読み出し回路９とを有して構成される。
【００２６】
このように構成された本実施の形態の情報入出力装置は、以下のような動作をする。
【００２７】
入力側ＦＩＦＯ１はシステム側から入力されるパケットを格納する。パケット区切り目情報格納用領域２はパケットの区切り目情報を格納する。
【００２８】
システム側からパケットが入力側ＦＩＦＯ１に入ってきた時点で、パケットの先頭部分にはパケットの先頭を示す印と、パケットの終端を示す印とが自動的につけられて、この情報がパケット区切り目情報格納用領域２に格納される。なお、パケットの途中には印は付けない。
【００２９】
図３Ａに、システム側から入力されて、入力側ＦＩＦＯに格納されたパケットの様子を示す。図３Ａにおいて、パケット区切り情報４１として示す矢印４２、４３、４４、４５、４６、４７がパケット区切り目情報格納用領域２に格納されている各パケット４８、４９、５０、５１、５２の区切りを示す印である。
【００３０】
図３Ａにおいて、パケットの先頭を示す印と終端を示す印は同一のものとして示しているが、これに限らずパケットの先頭を示す印と終端を示す印を区別しても良い。このようにパケットの先頭、途中、終端の各印の付け方には、種々の方法が考えられるが、パケットの区切りが分かればどの様な方法でも良い。
【００３１】
出力側ＦＩＦＯ３は後述するマイコンにより加工された調整パケットを格納する。パケット区切り目情報格納用領域４はパケットの区切り目情報を格納する。
【００３２】
また、出力側ＦＩＦＯ５は後述するマイコンにより加工された調整パケットを格納する。パケット区切り目情報格納用領域６はパケットの区切り目情報を格納する。
【００３３】
また、マイコン７は、入力側ＦＩＦＯ１に記憶されたパケットを読み出してパケットの大きさを調整して調整パケットを生成して、または記憶されたパケットをそのまま読み出して、調整パケットまたはそのまま読み出されたパケットを出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５に書き込むと共に、パケット区切り目情報格納用領域２に記憶されたパケットの区切り目情報を読み出して調整パケット区切り目情報を生成して、調整パケット区切り目情報をパケット区切り目情報格納用領域４及び／またはパケット区切り目情報格納領域６に書き込む。また、入力側ＦＩＦＯ１から読み出されたパケットのデータをマイコン７で確認してから、またはＤＭＡ転送を用いて確認せずにそのまま出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５に書き込んでもよい。
【００３４】
また、図３Ｂに、マイコン７によりパケットが加工されて調整パケット６７、６８、６９、７０として、出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５に格納されたパケットの様子を示す。図３Ｂにおいて、パケット区切り情報６１として示す矢印６２、６３、６４、６５、６６がパケット区切り目情報格納用領域４及び／またはパケット区切り目情報格納領域６に格納されている各調整パケット６７、６８、６９、７０の区切りを示す印である。調整パケットの内容については後述する。
【００３５】
このように入力側と出力側にそれぞれＦＩＦＯを用意して、マイコン７によるデータ転送と、この他にＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送を用いて、パケットを入力側ＦＩＦＯ１から出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５に転送する。
【００３６】
そして、パケット区切り情報読み出し回路８、９が調整パケットの区切り目情報に基づいて、出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５から調整パケットを読み出して１３９４インターフェース側に出力する。
【００３７】
なお、図１においては、２つの出力用ＦＩＦＯ３、５を設けた例を示しているが、これに限らず入力用ＦＩＦＯ１および出力用ＦＩＦＯ３、５を共に複数設けるようにしても良い。また、いずれの側も任意の数のＦＩＦＯを選ぶことができ、これにより、パケットの種類に応じて、各ＦＩＦＯにパケットを振り分けることができる。また、いずれの側にも１つずつＦＩＦＯを設けるようにしてもよい。
【００３８】
次に、マイコン７が行うことのできる処理について説明する。
まず、第１に、マイコン７は、任意の入力側ＦＩＦＯ１のデータの読み出しを行う。ここでは、データの読み出し単位は１ｑｕａｄｌｅｔ（４バイト）毎としたが、これに限るものではない。
【００３９】
第２に、任意の入力側ＦＩＦＯ１の区切り情報格納領域２を参照することにより、次に読み出すデータがパケットの先頭か、途中か、終端かを認識する。
【００４０】
第３に、任意の入力側ＦＩＦＯ１からのデータの読み出し、または任意のデータの任意の出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５への書き込みを行い、また、そのデータの任意の区切り情報のパケット区切り目情報格納用領域４及び／またはパケット区切り目情報格納用領域６への書き込みを行う。
【００４１】
次に、ＤＭＡ転送を用いて行うことのできる処理について説明する。なお、以下の処理は、図示しないＤＡＭコントローラが行う処理である。
【００４２】
第１に、任意の入力側ＦＩＦＯ１のデータを、任意の転送量で任意の出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５に転送する。
【００４３】
また、転送時に指定できるオプション機能として、以下の処理を組み合わせることができる。
【００４４】
第２に、ＤＭＡ転送した一番はじめのデータに出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５で先頭パケット情報を付加する。
【００４５】
第３に、ＤＭＡ転送した一番最後のデータに出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５で終端パケット情報を付加する。
【００４６】
第４に、入力側ＦＩＦＯ１のパケット区切り情報をデータと共に出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５にそのままコピーする。
【００４７】
第５に、入力側ＦＩＦＯ１の１パケットよりも大きい転送量を設定し、パケットの終端が来たら、それ以降、設定した転送量になるまで、任意のデータを挿入する。この処理により、可変長のパケットも固定長とすることができる。
【００４８】
第６に、入力側ＦＩＦＯ１の１パケットよりも大きい転送量を指定し、パケットの終端が来たら、ＤＭＡ転送を停止する。また、パケットの終端が来たら、ＤＭＡ転送を終了しないモード時は、１パケットよりも大きい転送量を設定することで、複数パケットをまとめてＤＭＡ転送することができる。そのとき、出力側ＦＩＦＯに書き込む区切り目情報を、例えば、まとめて転送したパケットの先頭及び／または終端のみにつけるかまたは転送元ＦＩＦＯのパケット区切り目情報をそのままコピーするなどして、制御することにより、まとめて転送したパケットを一つのパケットとして扱うか、分割して扱うかを決めることができる。
【００４９】
第７に、区切り情報格納領域２の情報を参照することにより、次に読み出すデータがパケットの先頭か、途中か、終端かを認識する。
【００５０】
上述したようなマイコン７によるデータ転送とＤＭＡ転送とを組み合わせて実行することにより、例えば図２に示すようにパケットを加工することができる。
【００５１】
図２は、パケットの加工例を示す図である。
図２Ａにおいて、マイコンおよびＤＭＡコントローラに入力されたパケット２０は、パケット区切り情報２１で示すように矢印２２、２３で区切られていて、マイコン７で入力側ＦＩＦＯ１から読み出されたマイコン読み出しデータ２４と、ＤＭＡ転送時に図示しないＤＭＡコントローラで入力側ＦＩＦＯ１から読み出されたＤＭＡ読み出しデータ２５とを有して構成されている。
【００５２】
そこで、マイコン７は、出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５にパケットのヘッダー３４を書き込む。図２Ｂにおいて、マイコンおよびＤＭＡコントローラから出力される調整パケット３８を示すパケット３０は、パケット区切り情報３１で示すように矢印３２、３３で区切られていて、マイコン７により付加されたマイコン付加データ３４と、マイコン読み出しデータ２４がマイコン７により置換されたマイコン置換データ３５と、ＤＭＡ転送時に図示しないＤＭＡコントローラによりＤＭＡ読み出しデータ２５が読み出されて転送されたＤＭＡ転送データ３６と、ＤＭＡ転送時に図示しないＤＭＡコントローラにより付加されたＤＭＡ転送任意付加データ３７とを有して構成されている。
【００５３】
すなわち、マイコン７は出力の際に、一番先頭のデータにパケット先頭情報としてマイコン付加データ３４を付加する。これは、上述した第３のマイコンの処理を用いている。
【００５４】
次に、入力側ＦＩＦＯ１の初めの例えば４バイト（これに限らないが、ここでは例えば４バイトとした。）をマイコン７で読み出し、ある値に変更し、このマイコン置換データ３５を出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５に書き込む。これは、上述した第１および第３のマイコンの処理を用いている。
【００５５】
そして、入力側ＦＩＦＯ１に残っている残りのデータを図示しないＤＭＡコントローラがＤＭＡ転送する。その際、１パケットより大きい転送量を指定し、パケットの終端情報が来たら、ＤＭＡ転送を止めるモードと、所定の転送量に達するまで任意のデータを挿入するモードと、ＤＭＡ転送の最後に区切り情報を入れるモードとを切り替えるスイッチとして、例えば、ＩＣのコントロールビットを立てておくようにする。これにより、ＤＭＡ転送データ３６が、入力側から出力側にＤＭＡ転送され、その後に、任意のデータがＤＭＡ転送任意付加データ３７として付加される。
【００５６】
このようにして入力側ＦＩＦＯ１の１パケットに対して上述した動作を繰り返して、出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５にパケットを転送した際のパケットの加工例を図３Ｂに示す。図３Ａに示す入力側ＦＩＦＯ４０において、３パケットに１つの割合で比較的短いパケット４９、５２がシステム側から入ってきている。
【００５７】
これに対して、図３Ｂに示す出力側ＦＩＦＯ６０において、ＤＭＡ転送後には比較的長いＤＭＡ転送任意付加データ６４ｄの挿入により、出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５では同じ大きさのパケットになっている。また、この短いパケット４９、５２のＤＭＡ転送時には、マイコンで置換する必要のないデータなので置換していない。
【００５８】
なお、調整パケット６７は、マイコン付加データ６２ａと、マイコン置換データ６２ｂと、ＤＭＡ転送データ６２ｃと、ＤＭＡ転送任意付加データ６２ｄとを有している。調整パケット６８は、マイコン付加データ６３ａと、マイコン置換データ６３ｂと、ＤＭＡ転送データ６３ｃと、ＤＭＡ転送任意付加データ６３ｄとを有している。調整パケット６９は、マイコン付加データ６４ａと、ＤＭＡ転送データ６４ｃと、ＤＭＡ転送任意付加データ６４ｄとを有している。調整パケット７０は、マイコン付加データ６５ａと、マイコン置換データ６５ｂと、ＤＭＡ転送データ６５ｃと、ＤＭＡ転送任意付加データ６５ｄとを有している。
【００５９】
例えば、上述したように、マイコン７によるデータ転送と図示しないＤＭＡコントローラによるＤＭＡ転送とを組み合わせてパケットを加工することが可能である。これらは、一例であり、上述した処理を組み合わせて、様々にパケットを加工することが可能である。
【００６０】
また、パケットが加工されてパケットの大きさが変化しても、出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５のパケット区切り情報格納用領域４及び／またはパケット区切り情報格納用領域６にパケット区切り情報が格納されているので、図１に示したパケット区切り情報読み出し回路８及び／またはパケット区切り情報読み出し回路９を用いて、この区切り情報を基にして、１パケット毎に１３９４インターフェースのタイミングで出力することが可能となる。
【００６１】
また、図１の８、９、１０で示したパケット区切り情報読み出し回路の機能として、上記に加えて、以下のものがある。システム側には、システムでパケットを処理するタイミングがある。そのため、そのタイミングで、パケットをシステム側に入力しなければならない。そのタイミングは、ポートからの入力などの、何らかの方法で読み出し回路は知ることができる。
【００６２】
また、１３９４インターフェース側にも、パケットを出力してよいタイミングと、出力してはいけないタイミングがある。これも、１３９４フォーマット上のサイクルスタート（Ｃｙｃｌｅ  Ｓｔａｒｔ）パケットの情報や、バス上の信号を見るなどの何らかの方法で、読み出し回路は、知ることができる。
【００６３】
次に、図中左方向の矢印で示す１３９４インターフェース側から受信されたパケットをマイコンで加工してシステム側に供給する場合の第２の実施の形態を説明する。
【００６４】
この場合、図１に示した１３９４インターフェース側のパケット区切り情報読み出し回路８、９をこれに替えて、システム側の点線で示したパケット区切り情報読み出し回路１０を用いて逆方向のパケットの流れに対する処理を行う。
【００６５】
ここで、１３９４インターフェース側からの入力時に、例えばスイッチ等によりパケット区切り情報読み出し回路８、９を無効にしてパケットを通過させて、スイッチ等によりパケット区切り情報読み出し回路１０を有効にしてパケットを処理する。なお、１３９４インターフェース側への出力時には、同様にして、パケット区切り情報読み出し回路１０を無効にして、パケット区切り情報読み出し回路８，９を有効にする。
【００６６】
これにより、１３９４インターフェースから入力されたパケットを出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５に格納し、出力側ＦＩＦＯ３及び／または出力側ＦＩＦＯ５のパケット区切り情報格納用領域４及び／またはパケット区切り情報格納用領域６にパケット区切り情報を格納し、マイコン７およびＤＭＡ転送を用いてパケットを加工して調整パケットを生成して、調整パケットを入力側ＦＩＦＯ１に格納し、入力側ＦＩＦＯ１のパケット区切り情報格納用領域２にパケット区切り情報を格納し、パケット区切り情報読み出し回路１０を用いて、この区切り情報を基にして、１パケット毎にシステムのタイミングで出力することが可能となる。
【００６７】
【発明の効果】
この発明の情報入出力装置は、一方の側に設けられ、一方の側から入力されるパケットまたは他方の側から入力される所定の調整パケットを格納する第１の記憶領域と、第１の記憶領域とは別の、上記第１の記憶領域内の対応するデータがパケットの先頭かパケットの途中かパケットの最後かを示すパケットの区切り目情報を格納する第２の記憶領域とを有する第１の記憶手段と、他方の側に設けられ、一方の側から入力された調整パケットまたは他方の側から入力されるパケットを格納する第３の記憶領域と、第３の記憶領域とは別の、第３の記憶領域内の対応するデータがパケットの先頭かパケットの途中かパケットの最後かを示すパケットの区切り目情報を格納する第４の記憶領域とを有する第２の記憶手段と、第１の記憶手段または第２の記憶手段に記憶されたパケットを読み出して必要に応じてパケットの大きさを調整して調整パケットを生成して、調整パケットを第２の記憶手段または第１の記憶手段に書き込む制御手段と、調整パケットの区切り目情報に基づいて、第２の記憶手段または第１の記憶手段から調整パケットを読み出して他方の側または一方の側に出力する読み出し手段とを備え、制御手段は、第１の記憶手段の第２の記憶領域または第２の記憶手段の第４の記憶領域を参照することにより、次に読み出すデータがパケットの先頭か、途中か、終端かを予め認識した後に、第１の記憶手段の第１の記憶領域または第２の記憶手段の第３の記憶領域から次のデータを読み出すので、一方の側または他方の側から入力されたパケットを、加工せずにそのまま、または不要な例えばヘッダーなどを削除して、制御手段により必要に応じて加工してパケットの大きさを調整しても、パケットの区切り目情報を用いてパケット毎に一方の側または他方の側に出力することができるという効果を奏するとともに、パケットの中身を見ることなく、次に読み出されるパケットのデータがパケットの先頭か途中か終端かを知ることができるという効果を奏する。
【００６８】
また、この発明の情報入出力装置は、上述において、読み出し手段は、調整パケットの区切り目情報に基づいて、第２の記憶手段または第１の記憶手段から、他方の側に他方の側のタイミングで、または一方の側に一方の側のタイミングで、調整パケットを読み出して出力するので、パケットの区切り目情報を元に、出力側のタイミングで自動的にパケットを読み出すことができるという効果を奏する。
【００７１】
また、この発明の情報入出力装置は、上述において、制御手段は、ＤＭＡ転送を用いて、第１の記憶手段または第２の記憶手段からパケットを読み出し、第２の記憶手段または第１の記憶手段に調整パケットを書き込むので、高速にパケットの転送をすることができるという効果を奏する。
【００７２】
また、この発明の情報入出力装置は、上述において、ＤＭＡ転送で、転送先の第２の記憶手段または第１の記憶手段でＤＭＡ転送の一番最初のパケットに先頭の区切り目情報をつけるか、ＤＭＡ転送の一番最後のパケットに終端の区切り目情報をつけるか、または転送元の第１の記憶手段または第２の記憶手段の区切り目情報をパケットと共にそのまま転送先にＤＭＡ転送するか、それらの任意の組み合わせか、または区切れ目情報はＤＭＡ転送に含めないかを任意に選択するので、必要に応じて、例えばシステム側に都合のよいように、パケットを加工して転送することができるという効果を奏する。
【００７３】
また、この発明の情報入出力装置は、上述において、ＤＭＡ転送前に、次にＤＭＡ転送するパケットの区切り目情報を転送元の第１の記憶手段または上記第２の記憶手段から読み出すので、パケットの記憶領域とは別に設けられたパケットの区切り目情報の記憶領域から、パケット区切り目情報を転送前に先読みすることができるという効果を奏する。
【００７４】
また、この発明の情報入出力装置は、上述において、ＤＭＡ転送で、転送元の第１の記憶手段または第２の記憶手段から読み出した複数のパケットまたは一つのパケットを、転送先の第２の記憶手段または第１の記憶手段に一つにまとめてまたは一つずつＤＭＡ転送する際に、パケットの区切り目情報も同時に転送するので、１パケットより大きい大きさの転送量を設定して、パケットの区切り目情報が来てもＤＭＡ転送を終了しないモードで、転送すると、複数のパケットを１回のＤＭＡ転送で転送することができる。
さらに、複数パケットを１回のＤＭＡ転送で転送する際に、ＤＭＡ転送の最初と最後にのみパケット区切り目情報を入れるモードにしておくと、１回の転送で転送した複数のパケットは、出力側ＦＩＦＯで一つのパケットとして扱われ、読み出される。
また、区切り目情報コピーモードで複数のパケットを１回のＤＭＡ転送で転送した場合は、出力側ＦＩＦＯでは、入力側ＦＩＦＯと同じように複数のパケットとして、扱われ、読み出される。
このように、システム側の都合に合わせて様々なＤＭＡ転送を行うことができるという効果を奏する。
【００７５】
また、この発明の情報入出力装置は、上述において、ＤＭＡ転送中に、転送元の第１の記憶手段または第２の記憶手段から区切り目情報を読み出したらＤＭＡ転送の所定の転送量に達していなくてもＤＭＡ転送を止めるか否かを任意に選択でき、上記ＤＭＡ転送を止める場合は、最後に転送したパケットの後ろに、所定の転送量に達するまで任意のデータを挿入してから止めるか、挿入しないで止めるかを任意に選択するので、パケットの終端情報が来たら、ＤＭＡ転送を止めるモードと、所定の転送量に達するまで任意のデータを挿入するモードと、ＤＭＡ転送の最後に区切り情報を入れるモードとをシステム側の都合に合わせて切り替えることができるという効果を奏する。
【００７６】
また、この発明の情報入出力装置は、上述において、ＤＭＡ転送中に、転送元の第１の記憶手段または第２の記憶手段から読み出すパケットが空状態になったとき、または転送先の第２の記憶手段または第１の記憶手段に書き込まれるパケットが満状態になったとき、ＤＭＡ転送を待機するか、またはＤＭＡ転送を中止するかを任意に選択するので、システム側の都合に合わせてＤＭＡ転送の待機または中止の切り替えを行うことができるという効果を奏する。
【００７７】
また、この発明の情報入出力装置は、上述において、一方の側は情報処理装置側であり、他方の側は外部インターフェース側であるので、例えば、１３９４インターフェースあるいは情報処理システム側から入力されたパケットを、制御手段により加工してパケットの大きさを調整してパケットの大きさを知らなくても、パケットの区切り目情報を用いてパケット毎に１３９４インターフェース側または情報処理システム側に出力して送信または情報処理することができるという効果を奏する。
【００７８】
また、この発明の情報入出力装置は、上述において、制御手段は、ＤＭＡ転送を用いて、第１の記憶手段または第２の記憶手段からパケットを読み出し、第２の記憶手段または第１の記憶手段に調整パケットをそのまま書き込むか、または、制御手段は、第１の記憶手段または第２の記憶手段に記憶されたパケットを読み出してパケットの大きさを調整して調整パケットを生成して、調整パケットを第２の記憶手段または第１の記憶手段に書き込むかを任意に選択するので、入出力側に入ってきたパケットをそのままコピーしたパケットと、パケットの大きさを加工したパケットとを、任意に組み合わせて、システム側の都合に合わせてパケットを出力側に出力することができるという効果を奏する。
【図面の簡単な説明】
【図１】本実施の形態の情報入出力装置の適用されるシステムの構成例の図である。
【図２】パケットの加工例を示す図であり、図３Ａは入力されたパケットの例、図３Ｂは出力されるパケットの例である。
【図３】ＦＩＦＯ内のイメージを示す図であり、図３Ａは入力側ＦＩＦＯの例、図３Ｂは出力側ＦＩＦＯの例である。
【符号の説明】
１……パケット入力側ＦＩＦＯ、２……パケット区切り情報格納用領域、３……パケット出力側ＦＩＦＯ、４……パケット区切り情報格納用領域、５……パケット出力側ＦＩＦＯ、６……パケット区切り情報格納用領域、７……マイコン、８……パケット区切り情報を元にパケット単位でパケットを読み出して出力側のタイミングでパケットを出力するパケット区切り情報読み出し回路、９……パケット区切り情報を元にパケット単位でパケットを読み出して出力側のタイミングでパケットを出力するパケット区切り情報読み出し回路、１０……パケット区切り情報を元にパケット単位でパケットを読み出して出力側のタイミングでパケットを出力するパケット区切り情報読み出し回路、２０……入力されたパケット、２１，２２，２３……パケット区切り情報、２４……マイコン読み出しデータ、２５……ＤＭＡ読み出しデータ、３１，３２，３３……パケット区切り情報、３４……マイコン付加データ、３５……マイコン置換データ、３６……ＤＭＡ転送データ、３７……ＤＭＡ転送任意付加データ、３８……調整パケット、
【図１】
0004479064.tif 000002
【図２】
0004479064.tif 000003
【図３】
0004479064.tif 000004