(57)【特許請求の範囲】
【請求項１】
データの送受信を行う上位装置と；
この上位装置に接続され、データ転送ダイレクトメモリアクセス（ＤＭＡ：Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）機能を有するＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）によりデータ転送を行うデータ転送装置と；
このデータ転送装置に接続されデータを送受信する下位装置と；
を有し、
前記データ転送装置が、
前記ＦＩＦＯの入力側が前記上位装置に接続され、前記ＦＩＦＯの出力側が前記下位装置と接続され、前記入力側のデータのバイト幅が前記出力側のデータのバイト幅よりも小さく、前記ＦＩＦＯ内の空きエリアが前記ＦＩＦＯの入力側データのバイト幅未満となったことを検出し、前記上位装置側のバイト幅変更要求を行うバイト幅変更手段を備え；
前記上位装置が、
前記バイト幅変更要求を受け、前記データ転送装置に送受信しようとしているデータのバイト幅と同じかどうかを照合するバイト幅照合手段と；
このバイト幅照合手段による照合結果が同じ場合に、前記データ転送装置の前記ＦＩＦＯに対して要求バイト幅で送受信することを許可する送受信許可手段と；
を備えたことを特徴とするデータ転送システム。
【請求項２】
データの送受信を行う上位装置と；
この上位装置に接続され、ダイレクトメモリアクセス機能を有する送信ＦＩＦＯ及び受信ＦＩＦＯによりデータ転送を行うデータ転送装置と；
このデータ転送装置に接続されデータを送受信する下位装置と；
を有し、
前記データ転送装置が、
前記送信ＦＩＦＯの入力側及び前記受信ＦＩＦＯの出力側が前記上位装置に接続され、前記送信ＦＩＦＯの出力側及び前記受信ＦＩＦＯの入力側が下位装置と接続され、前記入力側のデータのバイト幅が前記出力側のデータのバイト幅よりも小さく、前記送信ＦＩＦＯ及び前記受信ＦＩＦＯ内の空きエリアが前記送信ＦＩＦＯ及び前記受信ＦＩＦＯの入力側のデータのバイト幅未満となったことを検出し、前記上位装置側の送信バイト幅変更要求を行う送信バイト幅変更手段及び前記上位装置側の受信バイト幅変更要求を行う受信バイト幅変更手段を備え；
前記上位装置が、
前記送信バイト幅変更要求を受け、前記データ転送装置に送信しようとしているバイト幅と同じかどうかを照合する送信バイト幅照合手段と；
前記受信バイト幅変更要求を受け、前記データ転送装置から受信しようとしているバイト幅と同じかどうかを照合する受信バイト幅照合手段と；
前記送信バイト幅照合手段による照合結果が同じ場合に、前記送信ＦＩＦＯに対して要求バイト幅で送信することを許可する送信許可手段と；
前記受信バイト幅照合手段による照合結果が同じ場合に、前記受信ＦＩＦＯに対して要求バイト幅で受信することを許可する受信許可手段と；
を備えたことを特徴とするデータ転送システム。
【請求項３】
データの送受信を行う上位装置と；
この上位装置に接続され、データ転送ダイレクトメモリアクセス機能によりデータ転送を行うデータ転送装置と；
このデータ転送装置に接続されデータを送受信する下位装置と；
を有し、
前記データ転送装置は、
前記上位装置からの第１の送信データを受信し、セレクタを介して第２の送信データを下位装置に送信する送信ＦＩＦＯと；
前記下位装置から受信した第１の受信データを第２の受信データとして前記上位装置に送信する受信ＦＩＦＯと；
前記送信ＦＩＦＯ内の未使用バイト数を第１の残バイト数表示信号により検出し、送信側バイト幅変更要求信号を前記上位装置に出力する送信ＦＩＦＯ空きバイト数検出回路と；
前記受信ＦＩＦＯ内の未使用バイト数を第２の残バイト数表示信号により検出し、受信側バイト幅変更要求信号を前記上位装置に出力する受信ＦＩＦＯ有効バイト数検出回路と；
前記送信ＦＩＦＯからの送信要求信号及び前記受信ＦＩＦＯからの受信要求信号を受けて、前記上位装置に対してデータ送受信要求信号を出力するＤＭＡ回路と；
を備えたことを特徴とするデータ転送システム。
【請求項４】
前記上位装置は、
前記受信ＦＩＦＯから１アクセスサイクル内で受信できる受信バイト数と前記受信側バイト幅変更要求信号とを照合し、受信バイト数指示信号をデータ受信部に出力する受信バイト数照合回路と；
前記データ送受信要求信号、前記受信バイト数指示信号を入力し、前記受信ＦＩＦＯに対して受信バイトイネーブル信号及び読出信号を出力し、受信した前記第２の受信データを保持するデータ受信部と；
前記送信ＦＩＦＯが１アクセスサイクル内で送信できる送信バイト数と前記送信側バイト幅変更要求信号とを照合し、送信バイト数指示信号をデータ送信部に出力する送信バイト数照合回路と；
前記データ送受信要求信号、前記送信バイト数指示信号を入力し、前記送信ＦＩＦＯに対して送信バイトイネーブル信号及び書込信号を出力し、保持した第１の送信データを出力するデータ送信部と；
を備えたことを特徴とする請求項３記載のデータ転送システム。
【請求項５】
前記送信バイト数照合回路は、
前記送信側バイト幅変更要求信号を受け取り、前記データ送信部が次に前記送信ＦＩＦＯに送信するデータがバイト幅以下かどうかを前記送信バイト数指示信号により検出し、バイト幅以下であれば前記第１の送信データの送信を許可し、バイト幅より大きければ前記第１の送信データの送信を保留することを特徴とする請求項４記載のデータ転送システム。
【請求項６】
前記受信バイト数照合回路は、
前記受信側バイト幅変更要求信号で示されたバイト数が、次に前記データ受信部が受信しようとしているバイト数以下であれば、前記受信ＦＩＦＯから前記第２の受信データの受信を行い、前記受信側バイト幅変更要求信号で示されたバイト数よりも大きければ、前記データ受信部は前記受信ＦＩＦＯからの前記第２の受信データの受信は行わず、前記受信側バイト幅変更要求信号が、前記データ受信部が受信しようとしているバイト数以下になるまで待機することを特徴とする請求項４又は請求項５記載のデータ転送システム。
【請求項７】
前記セレクタは、
複数バイト単位で書込み可能な前記送信ＦＩＦＯに対して、前記下位装置の入出力インタフェースが１バイトしかない場合、読み出した前記第２の送信データを１バイトに制限することを特徴とする請求項３、４、５又は６記載のデータ転送システム。
【請求項８】
請求項１〜７のいずれか１項に記載のデータ転送システムをコンピュータシステムに使用したことを特徴とするデータ転送システム。
【請求項９】
データ転送ダイレクトメモリアクセス機能により外部とデータ転送を行うデータ転送システムであって、
外部からの第１の送信データを受信し、セレクタを介して第２の送信データを下位装置に送信する送信ＦＩＦＯと；
前記下位装置から受信した第１の受信データを第２の受信データとして外部に送信する受信ＦＩＦＯと；
前記送信ＦＩＦＯ内の未使用バイト数を第１の残バイト数表示信号により検出し、送信側バイト幅変更要求信号を外部に出力する送信ＦＩＦＯ空きバイト数検出回路と；
前記受信ＦＩＦＯ内の未使用バイト数を第２の残バイト数表示信号により検出し、受信側バイト幅変更要求信号を外部に出力する受信ＦＩＦＯ有効バイト数検出回路と；
前記送信ＦＩＦＯからの送信要求信号及び前記受信ＦＩＦＯからの受信要求信号を受けて、外部に対してデータ送受信要求信号を出力するＤＭＡ回路と；
を備えたことを特徴とするデータ転送システム。
【請求項１０】
前記下位装置が、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）装置であることを特徴とする請求項１、２、３、４、５、６又は７記載のデータ転送システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ転送システムに関し、特にＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）機能を有するＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）制御回路によりデータ転送を行うデータ転送システムに関する。
【０００２】
【従来の技術】
最近のコンピュータシステムの高速化および大型化が進み、これに伴い取り扱うデータ量が膨大になっている。このようなシステムでは一般に、ＣＰＵを介することなく、メモリと入出力装置間で直接にデータ転送を行うダイレクトメモリアクセス（ＤＭＡ）方式が広く用いられている。
【０００３】
従来のデータ転送システムは、ＦＩＦＯ内に空きエリアがあっても上位装置とのインタフェースのバイト幅未満しか空きエリアがないと、ＤＭＡ機能で上位装置に対する転送要求を止めている。その理由は、上位装置は最大でＦＩＦＯのインタフェースのバイト幅でアクセスすることが許されているため、必ず転送要求を出す場合は、インタフェースのバイト幅分の空きエリアを確保する必要があることによる。
【０００４】
このような技術の一例として、特開平５−１７３７２８号公報記載の「情報処理方法及び装置」が知られている。
【０００５】
この公報では、主制御部とデバイス制御部との間でデータ或いはコマンドを転送し、デバイス制御部に転送されるデータが格納可能な容量を表す残量情報を主制御部に転送することで、主制御部が受信バッファの空き容量サイズに応じて、転送量を決定し一度に多量のデータ転送を可能とする技術が記載されている。
【０００６】
【発明が解決しようとする課題】
上述した従来のデータ転送システムは、例えばＤＭＡ機能によるデータ転送で上位装置からＦＩＦＯを経由してＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）装置にデータを転送する場合、ＦＩＦＯの出力側の送信速度がＦＩＦＯの入力側のデータ受信速度よりも遅いと、ＦＩＦＯ内に上位装置からデータを送信しようとするバイト数分の空きがあっても、ＦＩＦＯのＤＭＡ機能は転送要求を抑えてしまうことになる。ＦＩＦＯは、上位装置から送信される可能性がある最大バイト幅分を受信できるだけの空きエリアがあるときのみＤＭＡ要求を出すようにしているので、ＦＩＦＯ内に上位装置から送信されるバイト幅分の空きエリアがないとＤＭＡ要求を出すことができないという欠点を有している。
【０００７】
本発明の目的は、ＦＩＦＯ内のバッファに入力バイト幅未満の空きエリアしかなく、上位装置がその空きエリア以下の量のデータを転送しようとした場合にも、送信を止めることなく処理することで転送効率を高めるデータ転送システムを提供することにある。
【０００８】
【課題を解決するための手段】
本発明の第１のデータ転送システムは、データの送受信を行う上位装置と；
この上位装置に接続され、データ転送ダイレクトメモリアクセス（ＤＭＡ：Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）機能を有するＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）によりデータ転送を行うデータ転送装置と；
このデータ転送装置に接続されデータを送受信する下位装置と；
を有し、
前記データ転送装置が、
前記ＦＩＦＯの入力側が前記上位装置に接続され、前記ＦＩＦＯの出力側が前記下位装置と接続され、前記入力側のデータのバイト幅が前記出力側のデータのバイト幅よりも小さく、前記ＦＩＦＯ内の空きエリアが前記ＦＩＦＯの入力側データのバイト幅未満となったことを検出し、前記上位装置側のバイト幅変更要求を行うバイト幅変更手段を備え；
前記上位装置が、
前記バイト幅変更要求を受け、前記データ転送装置に送受信しようとしているデータのバイト幅と同じかどうかを照合するバイト幅照合手段と；
このバイト幅照合手段による照合結果が同じ場合に、前記データ転送装置の前記ＦＩＦＯに対して要求バイト幅で送受信することを許可する送受信許可手段と；
を備えたことを特徴としている。
【０００９】
本発明の第２のデータ転送システムは、データの送受信を行う上位装置と；
この上位装置に接続され、ダイレクトメモリアクセス機能を有する送信ＦＩＦＯ及び受信ＦＩＦＯによりデータ転送を行うデータ転送装置と；
このデータ転送装置に接続されデータを送受信する下位装置と；
を有し、
前記データ転送装置が、
前記送信ＦＩＦＯの入力側及び前記受信ＦＩＦＯの出力側が前記上位装置に接続され、前記送信ＦＩＦＯの出力側及び前記受信ＦＩＦＯの入力側が下位装置と接続され、前記入力側のデータのバイト幅が前記出力側のデータのバイト幅よりも小さく、前記送信ＦＩＦＯ及び前記受信ＦＩＦＯ内の空きエリアが前記送信ＦＩＦＯ及び前記受信ＦＩＦＯの入力側のデータのバイト幅未満となったことを検出し、前記上位装置側の送信バイト幅変更要求を行う送信バイト幅変更手段及び前記上位装置側の受信バイト幅変更要求を行う受信バイト幅変更手段を備え；
前記上位装置が、
前記送信バイト幅変更要求を受け、前記データ転送装置に送信しようとしているバイト幅と同じかどうかを照合する送信バイト幅照合手段と；
前記受信バイト幅変更要求を受け、前記データ転送装置から受信しようとしているバイト幅と同じかどうかを照合する受信バイト幅照合手段と；
前記送信バイト幅照合手段による照合結果が同じ場合に、前記送信ＦＩＦＯに対して要求バイト幅で送信することを許可する送信許可手段と；
前記受信バイト幅照合手段による照合結果が同じ場合に、前記受信ＦＩＦＯに対して要求バイト幅で受信することを許可する受信許可手段と；
を備えたことを特徴としている。
【００１０】
本発明の第３のデータ転送システムは、データの送受信を行う上位装置と；
この上位装置に接続され、データ転送ダイレクトメモリアクセス機能によりデータ転送を行うデータ転送装置と；
このデータ転送装置に接続されデータを送受信する下位装置と；
を有し、
前記データ転送装置は、
前記上位装置からの第１の送信データを受信し、セレクタを介して第２の送信データを下位装置に送信する送信ＦＩＦＯと；
前記下位装置から受信した第１の受信データを第２の受信データとして前記上位装置に送信する受信ＦＩＦＯと；
前記送信ＦＩＦＯ内の未使用バイト数を第１の残バイト数表示信号により検出し、送信側バイト幅変更要求信号を前記上位装置に出力する送信ＦＩＦＯ空きバイト数検出回路と；
前記受信ＦＩＦＯ内の未使用バイト数を第２の残バイト数表示信号により検出し、受信側バイト幅変更要求信号を前記上位装置に出力する受信ＦＩＦＯ有効バイト数検出回路と；
前記送信ＦＩＦＯからの送信要求信号及び前記受信ＦＩＦＯからの受信要求信号を受けて、前記上位装置に対してデータ送受信要求信号を出力するＤＭＡ回路と；
を備えたことを特徴としている。
【００１１】
本発明の第４のデータ転送システムは、前記第３のデータ転送システムにおいて、
前記上位装置は、
前記受信ＦＩＦＯから１アクセスサイクル内で受信できる受信バイト数と前記受信側バイト幅変更要求信号とを照合し、受信バイト数指示信号をデータ受信部に出力する受信バイト数照合回路と；
前記データ送受信要求信号、前記受信バイト数指示信号を入力し、前記受信ＦＩＦＯに対して受信バイトイネーブル信号及び読出信号を出力し、受信した前記第２の受信データを保持するデータ受信部と；
前記送信ＦＩＦＯが１アクセスサイクル内で送信できる送信バイト数と前記送信側バイト幅変更要求信号とを照合し、送信バイト数指示信号をデータ送信部に出力する送信バイト数照合回路と；
前記データ送受信要求信号、前記送信バイト数指示信号を入力し、前記送信ＦＩＦＯに対して送信バイトイネーブル信号及び書込信号を出力し、保持した第１の送信データを出力するデータ送信部と；
を備えたことを特徴としている。
【００１２】
本発明の第５のデータ転送システムは、前記第４のデータ転送システムにおいて、
前記送信バイト数照合回路は、
前記送信側バイト幅変更要求信号を受け取り、前記データ送信部が次に前記送信ＦＩＦＯに送信するデータがバイト幅以下かどうかを前記送信バイト数指示信号により検出し、バイト幅以下であれば前記第１の送信データの送信を許可し、バイト幅より大きければ前記第１の送信データの送信を保留することを特徴としている。
【００１３】
本発明の第６のデータ転送システムは、前記第４または第５のデータ転送システムにおいて、
前記受信バイト数照合回路は、
前記受信側バイト幅変更要求信号で示されたバイト数が、次に前記データ受信部が受信しようとしているバイト数以下であれば、前記受信ＦＩＦＯから前記第２の受信データの受信を行い、前記受信側バイト幅変更要求信号で示されたバイト数よりも大きければ、前記データ受信部は前記受信ＦＩＦＯからの前記第２の受信データの受信は行わず、前記受信側バイト幅変更要求信号が、前記データ受信部が受信しようとしているバイト数以下になるまで待機することを特徴としている。
【００１４】
本発明の第７のデータ転送システムは、前記第３〜６のいずれかのデータ転送システムにおいて、
前記セレクタは、
複数バイト単位で書込み可能な前記送信ＦＩＦＯに対して、前記下位装置の入出力インタフェースが１バイトしかない場合、読み出した前記第２の送信データを１バイトに制限することを特徴としている。
【００１５】
また、本発明の第８のデータ転送システムは、
前記データ転送システムをコンピュータシステムに使用したことを特徴としている。
【００１６】
さらに、本発明の第９のデータ転送システムは、
データ転送ダイレクトメモリアクセス機能により外部とデータ転送を行うデータ転送システムであって、
外部からの第１の送信データを受信し、セレクタを介して第２の送信データを下位装置に送信する送信ＦＩＦＯと；
前記下位装置から受信した第１の受信データを第２の受信データとして外部に送信する受信ＦＩＦＯと；
前記送信ＦＩＦＯ内の未使用バイト数を第１の残バイト数表示信号により検出し、送信側バイト幅変更要求信号を外部に出力する送信ＦＩＦＯ空きバイト数検出回路と；
前記受信ＦＩＦＯ内の未使用バイト数を第２の残バイト数表示信号により検出し、受信側バイト幅変更要求信号を外部に出力する受信ＦＩＦＯ有効バイト数検出回路と；
前記送信ＦＩＦＯからの送信要求信号及び前記受信ＦＩＦＯからの受信要求信号を受けて、外部に対してデータ送受信要求信号を出力するＤＭＡ回路と；
を備えたことを特徴としている。
【００１７】
また、本発明の第１０のデータ転送システムは、前記第１〜７のいずれかのデータ転送システムにおいて、
前記下位装置が、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）装置であることを特徴としている。
【００１８】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【００１９】
図１は本発明のデータ転送システムの一つの実施の形態を示すブロック図である。
【００２０】
図１に示す本発明のデータ転送システムは、データ転送を行うデータ転送装置１と、このデータ転送装置１と接続しデータの送受信を行う上位装置２と、このデータ転送装置１とデータの送受信を行う下位装置３とから構成されている。
【００２１】
本構成により、上位装置２からデータ転送装置１を経由して下位装置３にデータ転送を行う送信処理と、下位装置３からデータ転送装置１を経由して上位装置２にデータ転送を行う受信処理が行われる。
【００２２】
データ転送装置１は、上位装置２からの送信データ２０３を受信し、セレクタ１０を介して送信データ１０８を下位装置３に送信する送信ＦＩＦＯ１１と、下位装置３から受信した受信データ１０７を受信データ１０３として上位装置２に送信する受信ＦＩＦＯ１２と、送信ＦＩＦＯ１１内の未使用バイト数を残バイト数表示信号１０６により検出し、送信側バイト幅変更要求信号１０１を上位装置２に出力する送信ＦＩＦＯ空きバイト数検出回路１３と、受信ＦＩＦＯ１２内の未使用バイト数を残バイト数表示信号１０５により検出し、受信側バイト幅変更要求信号１０４を上位装置２に出力する受信ＦＩＦＯ有効バイト数検出回路１４と、送信ＦＩＦＯ１１からの送信要求信号１１０及び受信ＦＩＦＯ１２からの受信要求信号１０９を受けて、上位装置２に対してデータ送受信要求信号１０２を出力するＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）回路１５とから構成されている。
【００２３】
また、上位装置２は、受信ＦＩＦＯ１２から１アクセスサイクル内で受信できる受信バイト数と受信側バイト幅変更要求信号１０４とを照合し、受信バイト数指示信号２０１を出力する受信バイト数照合回路２１と、データ送受信要求信号１０２、受信バイト数指示信号２０１を入力し、受信ＦＩＦＯ１２に対して受信バイトイネーブル信号２０７及び読出信号２０６を出力し、受信した受信データ１０３を保持するデータ受信部２２と、送信ＦＩＦＯ１１が１アクセスサイクル内で送信できる送信バイト数と送信側バイト幅変更要求信号１０１とを照合し、送信バイト数指示信号２０２を出力する送信バイト数照合回路２３と、データ送受信要求信号１０２、送信バイト数指示信号２０２を入力し、送信ＦＩＦＯ１１に対して送信バイトイネーブル信号２０５、書込信号２０４を出力し、保持した送信データ２０３を出力するデータ送信部２４とを有している。
【００２４】
図２は図１の送信ＦＩＦＯに対するデータ送信を示すタイムチャートである。
【００２５】
図３は図１の送信処理フローの要点を説明した図である。
【００２６】
なお、図３において図１に示す構成要素に対応するものは同一の参照数字または符号を付している。
【００２７】
また、図４は図１の受信ＦＩＦＯに対するデータ受信を示すタイムチャートである。
【００２８】
図５は図１の受信処理フローの要点を説明した図である。
【００２９】
なお、図５において図１に示す構成要素に対応するものは同一の参照数字または符号を付している。
【００３０】
次に、本実施の形態の動作を図１、図２、図３、図４および図５を用いてより詳細に説明する。
【００３１】
ＤＭＡ回路１５が送信ＦＩＦＯ１１から送信要求信号１１０を受けると、上位装置２のデータ送信部２４に対してデータ送受信要求信号１０２によりデータ転送要求を行う。このデータ送受信要求信号１０２の要求に従いデータ送信部２４は送信データ２０３の転送を開始する。データ送信部２４は、送信ＦＩＦＯ１１に対して送信データ２０３、送信バイトイネーブル信号２０５、書込信号２０４、クロック信号ＣＬＫ（図示せず）を出力し、送信ＦＩＦＯ１１に送信データ２０３を書き込む。
【００３２】
この書込み動作を図２を用いてより詳細に説明する。書込信号２０４のレベルがＬｏｗ状態で書込みが行われる。送信バイトイネーブル信号２０５は、例えば３ビットで構成されており、送信データ２０３が４バイト幅データの場合、送信バイトイネーブル信号２０５は４バイト幅を示すバイナリ表示で“１００”（４）が出力される。
【００３３】
ここで送信ＦＩＦＯ空きバイト数検出回路１３が、送信側バイト幅変更要求信号１０１として３バイト幅データを示す“０１１”（３）を送信バイト数照合回路２３に出力すると、データ送信部２４は３バイト幅データの送信データ２０３、３バイト幅を示すバイナリ表示で“０１１”（３）の送信バイトイネーブル信号２０５を、レベルがＬｏｗ状態の書込信号２０４とともに送信ＦＩＦＯ１１に出力する。
【００３４】
送信ＦＩＦＯ１１は、データ送信部２４とのインタフェースのデータ幅よりも空きエリアが少ないとき、残バイト数表示信号１０６により送信ＦＩＦＯ空きバイト数検出回路１３に通知し、これにより送信ＦＩＦＯ空きバイト数検出回路１３がデータ送信部２４に対して空きエリア分のバイト幅でのみアクセス可能であることを、送信側バイト幅変更要求信号１０１により送信バイト数照合回路２３に通知する。
【００３５】
送信バイト数照合回路２３は、送信側バイト幅変更要求信号１０１を受け取り、データ送信部２４がこれから送信ＦＩＦＯ１１に送信するデータがバイト幅以下かどうかを照合し、バイト幅以下であれば送信データ２０３の送信を許可し、バイト幅より大きければデータ送信部２４で送信データ２０３の送信を保留するための送信バイト数指示信号２０２を発生させる。
【００３６】
上述の上位装置２とデータ転送装置１間の送信処理フローの要点を図３を参照して説明する。
【００３７】
図３に示すように、ＤＭＡ回路１５がデータ送信部２４に対してＤＭＡ機能による転送要求を出すことにより、データ送信部２４は送信ＦＩＦＯ１１に対してＦＩＦＯとのインタフェースのバイト幅分の送信データ２０３を送信する。
【００３８】
送信ＦＩＦＯ空きバイト数検出回路１３は、送信ＦＩＦＯ１１の空きバイト数がインタフェースのバイト数未満になると、送信バイト数照合回路２３に通知する。送信バイト数照合回路２３は送信バイト数指示信号２０２によりデータ送信部２４に通知し、データ送信部２４は送信ＦＩＦＯ１１にＦＩＦＯの空きバイト数以下のデータ幅で転送することになる。
【００３９】
上位装置２とデータ転送装置１との間の送信処理を行った後の動作を、図１に戻って説明する。
【００４０】
送信ＦＩＦＯ１１は、書き込まれた送信データ２０３をセレクタ１０経由で下位装置３に対して、１バイト幅で送信データ１０８を送信する。データ送信部２４はＤＭＡ回路１５から転送要求される限り送信データ２０３を送信ＦＩＦＯ１１に転送することになる。
【００４１】
ここでセレクタ１０は選択回路であり、複数バイト単位で書込み可能なＦＩＦＯに対して、下位装置３のＩ／Ｏインタフェースが１バイトしかない場合、読み出した送信データ１０８を１バイトに制限する機能を有する。
【００４２】
次に、上位装置２とデータ転送装置１の受信処理の動作について説明する。
【００４３】
受信側も同様に、ＤＭＡ回路１５が受信ＦＩＦＯ１２から受信要求信号１０９を受けると、上位装置２のデータ受信部２２に対してデータ送受信要求信号１０２によりデータ受信要求を行う。このデータ送受信要求信号１０２に応答して、データ受信部２２が受信ＦＩＦＯ１２に対して読出信号２０６、受信バイトイネーブル信号２０７、クロック信号ＣＬＫ（図示せず）を出力し、下位装置３からの受信データ１０７を蓄積した受信ＦＩＦＯ１２から受信データ１０３として読み出し、データ受信部２２に転送される。
【００４４】
この読出し動作を図４を用いて詳細に説明する。読出信号２０６のレベルがＬｏｗ状態で読み出しが行われる。受信バイトイネーブル信号２０７は例えば３ビットで構成されており、受信データ１０３が４バイト幅データの場合、受信バイトイネーブル信号２０７は４バイト幅を示すバイナリ表示で“１００”（４）が出力される。
【００４５】
ここで受信ＦＩＦＯ有効バイト数検出回路１４が、受信側バイト幅変更要求信号１０４として３バイト幅データを示す“０１１”（３）を受信バイト数照合回路２１に出力すると、データ受信部２２は３バイト幅データの受信データ１０３、３バイト幅を示すバイナリ表示で“０１１”（３）の受信バイトイネーブル信号２０７を、レベルがＬｏｗ状態の読出信号２０６とともに受信ＦＩＦＯ１２に出力する。
【００４６】
データ受信部２２は、ＤＭＡ回路１５からデータ送受信要求信号１０２で要求される限り、受信データ１０３の受信を行う。
【００４７】
受信ＦＩＦＯ１２は、データ受信部２２とのインタフェースのデータ幅よりも受信データ１０３が少ないとき、残バイト数表示信号１０５により受信ＦＩＦＯ有効バイト数検出回路１４に通知し、これにより受信ＦＩＦＯ有効バイト数検出回路１４がデータ受信部２２に対して有効バイトエリア分のバイト幅でのみアクセス可能であることを、受信側バイト幅変更要求信号１０４により通知する。
【００４８】
受信バイト数照合回路２１は、受信側バイト幅変更要求信号１０４で示されたバイト数が、次にデータ受信部２２が受信しようとしているバイト数以下であれば、受信ＦＩＦＯ１２から受信データ１０３の受信を行い、受信側バイト幅変更要求信号１０４で示されたバイト数よりも大きければ、データ受信部２２は受信ＦＩＦＯ１２からの受信データ１０３の受信は行わず、受信側バイト幅変更要求信号１０４が、データ受信部２２が受信しようとしているバイト数以下になるまで待機する。
【００４９】
上述の上位装置２とデータ転送装置１間の受信処理フローの要点を図５を参照して説明する。
【００５０】
図５に示すように、ＤＭＡ回路１５がデータ受信部２２に対してＤＭＡ機能による転送要求を出すことにより、データ受信部２２は受信ＦＩＦＯ１２からＦＩＦＯとのインタフェースのバイト幅分の受信データ１０３を受信する。
【００５１】
受信ＦＩＦＯ有効バイト数検出回路１４は、受信ＦＩＦＯ１２の空きバイト数がインタフェースのバイト数未満になると、受信バイト数照合回路２１に通知する。受信バイト数照合回路２１は受信バイト数指示信号２０１によりデータ受信部２２に通知し、データ受信部２２は受信ＦＩＦＯ１２からＦＩＦＯの空きバイト数以下のデータ幅で転送されることになる。
【００５２】
なお、図１に示す下位装置３には、例えば入出力インタフェースを有するＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）装置が使用される。
【００５３】
また、上述のデータ転送システムは、コンピュータシステムや通信システム等に組み込まれ使用することができる。
【００５４】
さらにまた、データ転送システムとして、データ転送装置１単体として使用することも可能である。
【００５５】
【発明の効果】
以上説明したように、本発明のデータ転送システムは、送信ＦＩＦＯに空きエリアがあり上位装置から転送する準備ができている場合に従来はＦＩＦＯのバイト幅分の空きエリアがないと次のデータを送信できなかったが、ＦＩＦＯ内のバッファに入力バイト幅未満の空きエリアしかなく、上位装置がその空きエリアよりも少ない量のＦＩＦＯバイト幅以下のデータを転送しようとした場合にも、送信を止めることなく処理することができるので、転送効率を高めるという効果を有している。
【図面の簡単な説明】
【図１】本発明のデータ転送システムの一つの実施の形態を示すブロック図である。
【図２】図１の送信ＦＩＦＯに対するデータ送信を示すタイムチャートである。
【図３】図１の送信処理フローの要点を説明した図である。
【図４】図１の受信ＦＩＦＯに対するデータ受信を示すタイムチャートである。
【図５】図１の受信処理フローの要点を説明した図である。
【符号の説明】
１    データ転送装置
２    上位装置
３    下位装置
１０    セレクタ
１１    送信ＦＩＦＯ
１２    受信ＦＩＦＯ
１３    送信ＦＩＦＯ空きバイト数検出回路
１４    受信ＦＩＦＯ有効バイト数検出回路
１５    ＤＭＡ回路
２１    受信バイト数照合回路
２２    データ受信部
２３    送信バイト数照合回路
２４    データ送信部
１０１    送信側バイト幅変更要求信号
１０２    データ送受信要求信号
１０３    受信データ
１０４    受信側バイト幅変更要求信号
１０５    残バイト数表示信号
１０６    残バイト数表示信号
１０７    受信データ
１０８    送信データ
１０９    受信要求信号
１１０    送信要求信号
２０１    受信バイト数指示信号
２０２    送信バイト数指示信号
２０３    送信データ
２０４    書込信号
２０５    送信バイトイネーブル信号
２０６    読出信号
２０７    受信バイトイネーブル信号
【図１】
0004147799.tif 000002
【図２】
0004147799.tif 000003
【図３】
0004147799.tif 000004
【図４】
0004147799.tif 000005
【図５】
0004147799.tif 000006