(57)【要約】      （修正有）【課題】最少の費用でバスデータを圧縮して伝送できるバスデータの圧縮方法及びこれを用いたデータ送信装置を提供する。【解決手段】多数のバイトのうち以前バイトの上位ビットと現在バイトの上位ビットを比較する比較器と、比較結果に応じて前記以前バイトの上位ビットと現在バイトの上位ビットとが同一であれば、以前バイトを以前バイトのビット数と同一のビット数を持つフル‐バイト（Ｆｕｌｌ−Ｂｙｔｅ）で構成し、現在バイトを現在バイトの上位ビットが省略されたハーフ‐バイトで構成して、バスデータをフル‐バイト（Ｆｕｌｌ−Ｂｙｔｅ）とハーフ‐バイト（Ｈａｌｆ−Ｂｙｔｅ）の組合わせで圧縮し、圧縮されたバスデータを既設定されたバス帯域幅に配列して受信端に伝送する配列器と、を含むバスデータ送信装置である。【選択図】図６
2010148086.tif 000002
【特許請求の範囲】
【請求項１】
上位ビットと下位ビットで構成される多数のバイトを含むバスデータを圧縮伝送する送信装置であって、
前記多数のバイトのうち以前バイトの上位ビットと現在バイトの上位ビットを比較する比較器と、
比較結果に応じて前記以前バイトの上位ビットと前記現在バイトの上位ビットとが同一であれば、前記以前バイトを前記以前バイトのビット数と同一のビット数を持つフル‐バイト（Ｆｕｌｌ−Ｂｙｔｅ）で構成し、前記現在バイトを前記現在バイトの上位ビットが省略されたハーフ‐バイトで構成して、前記バスデータを前記フル‐バイト（Ｆｕｌｌ−Ｂｙｔｅ）と前記ハーフ‐バイト（Ｈａｌｆ−Ｂｙｔｅ）の組合わせで圧縮し、前記圧縮されたバスデータを既設定されたバス帯域幅に配列して受信端に伝送する配列器と、
を含むバスデータ送信装置。
【請求項２】
前記配列器は、前記圧縮されたバスデータのパターンに関するパターン情報（ｐａｔｔｅｒｎ  ｉｎｄｉｃａｔｏｒ）を受信端に送信することを特徴とする請求項１に記載のバスデータ送信装置。
【請求項３】
前記配列器は、前記既設定されたバス帯域幅内で、前記上位ビットが省略されたハーフ‐バイト個数と前記上位ビットが省略されたハーフ‐バイトの配列位置に基づいて前記パターン情報を生成することを特徴とする請求項１に記載のバスデータ送信装置。
【請求項４】
前記配列器は、現在サイクル内において、
少なくとも１つのフル‐バイトと、
少なくとも１つの前記上位ビットが省略されたハーフ‐バイトと、
以前サイクルと前記現在サイクルにかけて割り当てられるフル‐バイトの上位ビットと、
を含む前記圧縮されたバスデータを伝送することを特徴とする請求項１に記載のバスデータ送信装置。
【請求項５】
前記配列器は、現在サイクル内において、
少なくとも１つのフル‐バイトと、
少なくとも１つの前記上位ビットが省略されたハーフ‐バイトと、
前記現在サイクルと次のサイクルにかけて割り当てられるフル‐バイトの下位ビットと、
を含む前記圧縮されたバスデータを伝送することを特徴とする請求項１に記載のバスデータ送信装置。
【請求項６】
前記配列器は、
少なくとも１つのフル‐バイトと、
少なくとも２つの前記上位ビットが省略されたハーフ‐バイトと、
を含む前記圧縮されたバスデータを伝送することを特徴とする請求項１に記載のバスデータ送信装置。
【請求項７】
前記配列器は、現在サイクル内において、
少なくとも２つの前記上位ビットが省略されたハーフ‐バイトと、
以前サイクルと前記現在サイクルにかけて割り当てられるフル‐バイトの上位ビットと、
前記現在サイクルと次のサイクルにかけて割り当てられるまた他のフル‐バイトの下位ビットと、
を含む前記圧縮されたバスデータを伝送することを特徴とする請求項１に記載のバスデータ送信装置。
【請求項８】
前記配列器は、現在サイクル内において、
少なくとも３つの前記上位ビットが省略されたハーフ‐バイトと、
以前サイクルと前記現在サイクルにかけて割り当てられるフル‐バイトの上位ビットと、前記現在サイクルと次のサイクルにかけて割り当てられるまた他のフル‐バイトの下位ビットのうちいずれか１つを含む前記圧縮されたバスデータを伝送することを特徴とする請求項１に記載のバスデータ送信装置。
【請求項９】
前記配列器は、少なくとも４つの前記上位ビットが省略されたハーフ‐バイトを含む前記圧縮されたバスデータを伝送することを特徴とする請求項１に記載のバスデータ送信装置。
【請求項１０】
前記配列器は、前記比較結果に応じて前記以前バイトの上位ビットと前記現在バイトの上位ビットが相異すると、前記以前バイトを前記以前バイトのビット数と同一のビット数を持つフル‐バイトで構成し、前記現在バイトを前記現在バイトのビット数と同一のビット数を持つ他のフル‐バイトで構成し、前記既設定されたバス帯域幅に配列して伝送することを特徴とする請求項１に記載のバスデータ送信装置。
【請求項１１】
前記既設定されたバス帯域幅は、１６ビットのバス帯域幅及び３２ビットのバス帯域幅のうちいずれか１つであることを特徴とする請求項１に記載のバスデータ送信装置。
【請求項１２】
多数のバイト（Ｂｙｔｅ）を含むバスデータの入力を受け、前記多数のバイトのうち以前バイトと現在バイトの上位ビットとが同一であれば、前記以前バイトをフル‐バイト（Ｆｕｌｌ−Ｂｙｔｅ）で構成し、前記現在バイトを前記上位ビットが省略されたハーフ‐バイト（Ｈａｌｆ−Ｂｙｔｅ）で構成して前記バスデータを前記フル‐バイトと前記ハーフ‐バイトの組み合わせで圧縮し、前記圧縮されたバスデータを既設定されたバス帯域幅に配列して伝送する送信器と、
既設定されたバス帯域幅単位で前記圧縮されたバスデータを伝達するデータバスと、
前記圧縮されたバスデータの伝送パターンに関する情報を含むパターン信号を伝達する制御バスと、
前記データバスと前記制御バスを通じて前記圧縮されたバスデータと前記パターン信号をそれぞれ受信し、前記受信されたパターン信号に基づいて前記省略された上位ビットを復元する受信器と、
を含むことを特徴とするデータ通信装置。
【請求項１３】
前記送信器は、前記制御バスを通じてトラフィック（ｔｒａｆｆｉｃ）タイプ、バースト（ｂｕｒｓｔ）タイプ、データサイズ及びキャッシュ制御（ｃａｓｈ  ｃｏｎｔｒｏｌ）情報のうち少なくとも１つを含む制御バス信号をさらに伝送することを特徴とする請求項１１に記載のデータ通信装置。
【請求項１４】
前記送信器は、前記パターン信号を前記制御バス信号の伝送が完了した時点以降に前記受信器に伝送することを特徴とする請求項１２に記載のデータ通信装置。
【請求項１５】
前記送信器は、前記既設定されたバス帯域幅内において、前記上位ビットが省略されたハーフ‐バイト個数と前記上位ビットが省略されたハーフ‐バイトの配列位置に応じて前記パターン信号を生成することを特徴とする請求項１３に記載のデータ通信装置。
【請求項１６】
前記送信器は、
前記バイトのうち以前バイトの上位ビットと現在バイトの上位ビットを比較する比較器と、
比較結果に応じて前記以前バイトの上位ビットと前記現在バイトの上位ビットとが同一であれば、前記以前バイトを前記以前バイトのビット数と同一のビット数を持つフル‐バイトで構成し、前記現在バイトを前記現在バイトの上位ビットが省略されたハーフ‐バイトで構成し、前記バスデータを前記フル‐バイト（Ｆｕｌｌ−Ｂｙｔｅ）と前記ハーフ‐バイト（Ｈａｌｆ−Ｂｙｔｅ）との組み合わせで圧縮し、前記圧縮されたバスデータを既設定されたバス帯域幅に配列して伝送する配列器と、
を含む請求項１１に記載のデータ通信装置。
【請求項１７】
前記配列器は、１６ビットの前記バス帯域幅において１つないし４つのハーフ‐バイトを含む前記圧縮されたバスデータを伝送することを特徴とする請求項１５に記載のデータ通信装置。
【請求項１８】
前記配列器は、３２ビットの前記バス帯域幅において１つないし８つの前記ハーフ‐バイトを含む前記圧縮されたバスデータを伝送することを特徴とする請求項１５に記載のデータ通信装置。
【請求項１９】
前記既設定されたバス帯域幅が１６ビットの場合、前記制御バスのライン個数は３であり、
前記データバスの帯域幅が３２ビットの場合、前記制御バスのライン個数は６であることを特徴とする請求項１５に記載のデータ通信装置。
【請求項２０】
多数のバイトを含むバスデータの入力を受け、前記多数のバイトのうち以前バイトと現在バイトの上位ビットを比較するステップと、
比較の結果、前記以前バイトの上位ビットと前記現在バイトの上位ビットとが同一であれば、前記以前バイトをフル‐バイトで構成し、前記現在バイトを前記上位ビットが省略されたハーフ‐バイトで構成するステップと、
前記構成されたフル‐バイトと前記ハーフ‐バイトを組み合わせて、前記バスデータを圧縮するステップと、
前記組み合わせされたフル‐バイトと前記ハーフ‐バイトを既設定されたバス幅に配列して前記圧縮されたバスデータを伝送するステップと、
を含むバスデータ送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ送信方法及びその装置に関するものであって、より詳しくは、データ圧縮によるバス性能の向上を図り、同時にデータバスの各信号値変動（Ｔｏｇｇｌｉｎｇ）回数を低減することによって、バス電力消耗の低減可能なバスデータの圧縮方法及びその装置に関する。
【背景技術】
【０００２】
一般に殆どのバス通信規約において、バス信号（ｂｕｓ  ｓｉｇｎａｌｓ）は、アドレスバス信号（Ａｄｄｒｅｓｓ  ｂｕｓ  ｓｉｇｎａｌｓ）、制御バス信号（Ｃｏｎｔｏｒｏｌ  ｂｕｓ  ｓｉｇｎａｌｓ）、データバス信号（Ｄａｔａ  ｂｕｓ  ｓｉｇｎａｌｓ）でなされた３つのグループに大きく区分される。
【０００３】
図１では、前記３つのグループに区分された一般的なバスの信号構成及びデータ伝送過程が示されている。
【０００４】
図１を参照すると、データを伝送するときに一番目のバスサイクル（ｂｕｓ  ｃｙｃｌｅ）では、データの目的地を示すアドレス信号（ＡＤＤＲ）及び制御信号（ＣＴＲＬ）が伝送される。その次のバスサイクルではデータ信号（ＤＡＴ）が初めて伝送される。
【０００５】
場合によって、一番目のバスサイクルを、相異するアドレスサイクル（Ａｄｄｒｅｓｓ  ｃｙｃｌｅ）と制御サイクル（Ｃｏｎｔｒｏｌ  ｃｙｃｌｅ）とに区分するバス通信規約もある。
【０００６】
また、信号ラインの個数が制限的な場合、１つの物理的なバスをアドレス信号とデータ信号とが共有するバス通信規約もある。この場合、１つの物理的なバスは、アドレスサイクルの場合ではアドレスバスとして動作し、データ伝送サイクルの場合ではデータバスとして動作する。
【０００７】
このように、一般的なバス通信規約は、アドレス信号、制御信号、データ信号、この３つの情報を伝送するために単純で且つ定型化された順のバスサイクル進行に応じてデータ信号を伝送する。このような一般的なバス通信規約は、データを伝送する過程において連続されるデータが重複するとしても、重複されるデータをそのまま全て伝送するので非効率的である。例えば、多量のマルチメディアデータを持続的に伝送する場合では、一部のデータが同一である隣接したデータを伝送することが頻繁にある。この場合、既存のバス通信方式では一部のデータが同一である隣接したデータをそのまま全て伝送するほかない。これはバス帯域幅を浪費するだけでなく、バス消費電力の増加に繋がる。
【０００８】
もちろん、既存に開発された多様なデータ圧縮アルゴリズム（例えば、ｅｎｔｒｏｐｙ  ｃｏｄｉｎｇ、ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  ｃｏｄｉｎｇ、ｃｏｄｅ−ｂｏｏｋ  ｃｏｄｉｎｇ、ａｒｉｔｈｍｅｔｉｃ  ｃｏｄｉｎｇなど）を利用すれば、重複されたデータ伝送によるバス帯域幅とバス電力の浪費を解決することができる。
【０００９】
しかし、前記のようなデータ圧縮アルゴリズムを具現するには、ルックアップテーブル（Ｌｏｏｋ−ｕｐ  ｔａｂｌｅ）、サイズの大きいバッファー、アルゴリズム処理ロジックなど高価なハードウェア設計費用と複雑なアルゴリズム演算による伝送遅延などが発生する。さらに、このような圧縮アルゴリズムを具現するために、高価なハードウェアを単純なバスシステムに適用することは費用的な面において好ましくない。
【００１０】
一方、バス消費電力を減らすために、データ値自体をバスサイクル毎にエンコードして、信号のトグル（ｔｏｇｇｌｅ）回数を減らすバスエンコード技法[ディファレンシャルコーディング（ｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｄｉｎｇ）、グレーコーディング（ｇｒａｙ  ｃｏｄｉｎｇ）、バスインバートコーディング（ｂｕｓ  ｉｎｖｅｒｔ  ｃｏｄｉｎｇなど）]も研究されている。
【００１１】
しかし、このようなバスエンコード技法は、消費電力を減らすことのみに主眼点を置いたため、重複データがそのまま伝送されて発生するバス帯域幅の浪費は解決できない。また、追加的な制御信号ライン、コーディングのためのルックアップテーブル、臨時バッファーなど既存データ圧縮アルゴリズムと同様に別途の多くのハードウェアの設計が不可避である。結果的に、費用的な面において好ましい方策ではない。
【００１２】
従って、最少の費用でバスデータの圧縮伝送を可能にする方案が求められる実情である。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
従って、本発明は最少の費用でバスデータを圧縮して伝送できるバスデータの圧縮方法及びこれを用いたデータ送信装置、データ通信装置などのような装置を提供するところにある。
【課題を解決するための手段】
【００１４】
本発明の一面によるデータ送信装置は、以前データの上位ビットと現在データの上位ビットを比較する比較器と、及び前記以前データの上位ビットと前記現在データの上位ビットとが同一であれば、前記現在データの上位ビットを省略し、前記省略された上位ビットの位置に次のデータの上位ビットを割り当て、現在サイクル内で前記現在データの下位ビットと前記次のデータの上位ビットを利用してデータ配列パターンを構成し、前記構成されたデータ配列パターンを前記現在サイクル内で送信する配列器を含む。
【００１５】
本発明のデータ送信装置では、前記配列器が前記現在データの下位ビットと前記次のデータのプル‐ビットを利用して前記データ配列パターンを構成することを特徴とする。ここで、前記次のデータのプル‐ビットは前記次のデータの上位ビットと下位ビットで構成される。
【００１６】
また、本発明のデータ送信装置では、前記配列器が前記現在データの下位ビットと、前記次のデータの上位ビット及び前記以前データのプル‐ビットを利用して前記データ配列パターンを構成することを特徴とする。ここで、前記以前データのプル‐ビットは前記以前データの上位ビットと下位ビットで構成される。
【００１７】
また、本発明のデータ送信装置では、前記配列器が前記以前データの上位ビットと、前記現在データの下位ビット及び前記次のデータの上位ビットを利用して前記データ配列パターンを構成することを特徴とする。
【００１８】
また、本発明のデータ送信装置では、前記以前データの上位ビットがその以前データの上位ビットと同一な場合、前記配列器が前記以前データの上位ビットを除去し、前記以前データの下位ビットと、前記現在データの下位ビットと、前記次のデータの上位ビットを利用して前記データの配列パターンを構成することを特徴とする。
【００１９】
本発明の他の一面によるデータ通信装置は、以前データの上位ビットと現在データの上位ビットを比較し、前記以前データの上位ビットと前記現在データの上位ビットとが同一であれば、前記現在データの上位ビットを省略し、前記省略された上位ビットの位置に次のサイクル内で伝送される次のデータの上位ビットを割り当て、現在サイクル内で前記現在データの下位ビットと前記次のデータの上位ビットを利用してデータ配列パターンを構成し、前記構成されたデータ配列パターンと前記データ配列パターンに対するパターン情報を前記現在サイクル内で送信する送信器と、前記データ配列パターンを伝送するデータバスと、前記データ配列パターンに関する前記パターン情報を伝送する制御バス及び前記データバスと前記制御バスを通じて前記データ配列パターンと前記パターン情報を受信し、前記受信されたパターン情報に基づいて前記省略された上位ビットを復元する受信器を含む。
【００２０】
本発明のまた他の一面によるデータ伝送方法では、まず、以前データの上位ビットと現在データの上位ビットを比較する。次いで、前記以前データの上位ビットと前記現在データの上位ビットとが同一であれば、前記現在データの上位ビットを省略し、前記省略された上位ビットの位置に次のデータの上位ビットを割り当てる。次いで、現在サイクル内で前記現在データの下位ビットと前記次のデータの上位ビットを利用してデータ配列パターンを構成する。次いで、前記構成されたデータ配列パターンを前記現在サイクル内で送信する。
【発明の効果】
【００２１】
本発明によると、バスデータの圧縮方法が簡単且つ安価にハードウェアで具現化でき、バスデータの圧縮を通じてバス性能を向上させることができる。
【００２２】
また、伝達するデータの量を最小化することによって、バスの電力消耗を低減させることができる。
【図面の簡単な説明】
【００２３】
【図１】前記３つのグループに区分された一般的なバスの信号構成及びデータ伝送過程が示される。
【図２】本発明の実施例に係る圧縮されたバスデータの伝送例を示す図である。
【図３】本発明の実施例に係る８ビットのバス帯域幅でのデータ伝送パターンを示す図である。
【図４】本発明の実施例に係る１６ビットのバス帯域幅でのデータ伝送パターンを示す図である。
【図５】本発明の実施例に係る３２ビットのバス帯域幅でのデータ伝送パターンを示す図である。
【図６】本発明の実施例に係る圧縮されたバスデータを送受信するデータ通信装置のブロック構成図である。
【発明を実施するための形態】
【００２４】
以下、添付した図面を参照して本発明のバスデータの圧縮方法及びその装置に対する好ましい実施例を詳細に説明する。
【００２５】
まず、図２を参照して本発明において提案するバスデータの圧縮方法が概括的に記述される。
【００２６】
図２は、本発明の実施例に係る圧縮されたバスデータの伝送例を示す図である。但し、図２に表記されたアルファベット大文字‘Ｂ’はフル‐バイト（Ｆｕｌｌ−ｂｙｔｅ）即ち、１バイト（１ｂｙｔｅ＝８ｂｉｔｓ）データを意味し、アルファベット大文字‘Ｈ’は上位４ビットが省略されたハーフ‐バイト（Ｈａｌｆ−ｂｙｔｅ＝４ｂｉｔｓ）データを意味する。また、図２では９つのバスサイクル（Ｃ１〜Ｃ９）が示され、１つのサイクル内で２バイトのバスデータが受信端へ伝送される。
【００２７】
一般に、映像データは１バイト単位で伝送され、隣接した（時間上に連続した）映像データは大よそ上位４ビットでなされる。従って、本実施例では各映像データのデータ配列パターンは、前記‘Ｂ’と‘Ｈ’、この２つの形態で記述される。
【００２８】
一方、図２に示されたアルファベット大文字‘Ｃ’は、制御バス信号を意味する。この際、データバス信号が一括して伝送される時間区間では、制御バスデータを伝送する制御バスデータラインは動作しない。即ち、データバス信号の伝送時に、制御バス信号ラインは休眠状態となる。本発明では、制御バスデータラインが休眠状態を維持する間、各データバスサイクルでのデータの圧縮パターンを受信端（ｓｌａｖｅ  ｄｅｖｉｃｅ）に報知する役割を果たす。
【００２９】
実際、既存のバス通信規約の制御バス信号は、受信端にトラフィック（ｔｒａｆｆｉｃ）の種類、バーストタイプ（ｂｕｒｓｔ  ｔｙｐｅ）、キャッシュコントロール（ｃａｓｈ  ｃｏｎｔｒｏｌ）などの多様な情報を伝達する。このような制御バス信号は、伝送初期サイクルの間でのみ必要とし、実際データの伝送時には不要である。従って、既存のバス通信方式では多くの信号ラインが浪費されている。このような点を考慮して、本発明では休眠状態の信号ラインがリサイクルされ、リサイクルされた信号ラインは伝送中のデータのパターンを受信端に報知する役割を行う。
【００３０】
本発明では、リトル‐エンディアン（Ｌｉｔｔｌｅ−Ｅｎｄｉａｎ）方式のバイト順に応じてバスデータ伝送が行われるものと仮定する。しかし、他の方式、例えば、ビッグ‐エンディアン（Ｂｉｇ−Ｅｎｄｉａｎ）方式のバイト順に応じて行われるバスデータ伝送においても、本発明は十分適用される。但し、ビッグ‐エンディアン方式の場合、受信端では各パターンが反転されて示されるだけである。
【００３１】
以下、本発明において提案するバスデータの圧縮方法が詳細に記述される。
【００３２】
まず、第１バスサイクル１では、２つのフル‐バイトデータが伝送される。次いで、第２バスサイクル２では、一番目のフル‐バイトＢはそのまま伝送される。この際、前記第２バスサイクルで二番目に送る二番目のフル‐バイトの上位４ビットと前記一番目のフル‐バイトＢの上位４ビットとが同一であれば、上位４ビットが除去されたハーフ‐バイトＨが伝送される。
【００３３】
次いで、１つのフル‐バイトＢが第２及び第３バスサイクル２、３にかけて伝送され、第３バスサイクル３で１つのフル‐バイトと上位４ビットとが同一で、省略されたハーフ‐バイトＨが伝送される。
【００３４】
このような方式でデータが圧縮伝送される場合、圧縮されたデータ配列パターンを既存制御バス信号Ｃが受信端に報知する。この場合、制御バス信号ラインの実質的な役割は、データ伝送パターンを報知するラインとして機能する。以下、圧縮されたデータ配列パターンを報知する制御バス信号は、ＰＩ（ｐａｔｔｅｒｎ  ｉｎｄｉｃａｔｏｒ）と称する。
【００３５】
以下、図３ないし図５を参照してデータバス帯域幅（８、１６、３２ビット）別に、本発明で提案するバスデータの圧縮方法がより詳細に記述される。
【００３６】
図３は、本発明の実施例による８ビットのバス帯域幅でのデータ伝送パターンを示す図である。
【００３７】
図３を参照すると、８ビットのバス帯域幅（即ち、１バイトチャンネル）ではデータ伝送パターンは総４つのパターンで構成される。
【００３８】
具体的に、図面の最も左側に示された一番目のパターン１は、省略された部分のない第１フル‐バイトＢ１、即ち１バイトのみで構成される。二番目のパターン２は、第１ハーフ‐バイトＨと、第２フル‐バイトＢのうち下位４ビットで構成される。三番目のパターン３は、前記第２フル‐バイトのうち残りの上位４ビットと第２ハーフ‐バイトで構成される。四番目のパターンＰ４は、第３ハーフ‐バイトと第４ハーフ‐バイトで構成される。
【００３９】
このように、バスデータが４つのデータ伝送パターンで表現される８ビットのバス帯域幅を有するシステムでは、ＰＩ信号を伝送する信号ラインの個数は２（＝ｌｏｇ２４）である。
【００４０】
図４は、本発明の実施例による１６ビットバス帯域幅でのデータ伝送パターンを示す図である。
【００４１】
図４を参照すると、１６ビットバス帯域幅でのデータ伝送パターンは、ハーフ‐バイトＨの個数及び前記１６ビットバス帯域幅内での配列位置に応じて、５種類に大きく区分される。
【００４２】
具体的に、ハーフ‐バイトＨの個数が０個である場合、図面に示されたように、２つのパターン（Ｐ５，Ｐ６）が存在し、ハーフ‐バイトＨの個数が１つの場合、４つのパターン（Ｐ７、Ｐ８、Ｐ９、Ｐ１０）が存在し、ハーフ‐バイトＨの個数が２つの場合、３つのパターン（Ｐ１１、Ｐ１２、Ｐ１３）が存在し、ハーフ‐バイトＨの個数が３つの場合、２つのパターンが存在する。最後に、ハーフ‐バイト（Ｈ）の個数が４つの場合、１つのパターンが存在する。従って、１６ビットのバス帯域幅では総１２つのパターンが存在する。ＰＩ信号を伝送する信号ラインの個数は、ｌｏｇ２１２に天井関数（Ｃｅｉｌｉｎｇ  ｆｕｎｃｔｉｏｎ）をとった結果の４であり、従って、総４ビットのＰＩ信号が必要である。
【００４３】
しかし、下位４ビットと上位４ビットを時間的に連続した２つのバスサイクルを通じて（かけて）伝送する場合、即ち２つのバスサイクルのうち時間的に先立つバスサイクルにおいて、下位４ビットが先に伝送され、その次のサイクルで残りの上位４ビットが伝送される場合、先立ったバスサイクルのパターンに連結されて、相次ぐその次のバスサイクルのパターンの種類が限定されるため、ＰＩ信号の信号ラインの数をさらに減らすことができる。
【００４４】
例えば、図４のパターン２の場合、相次ぐパターンは２、３、５、９、１０の５つに限定される。逆に、上位４ビットと下位４ビットを２つのバスサイクルを通じて（かけて）伝送しない場合も、相次ぐパターンの種類は限定される。例えば、図４のパターン１の場合、相次ぐパターンは１、４、６，７、８、１１、１２のように７つに限定される。
【００４５】
今まで言及した内容を纏めると、パターン１、３、５、７、８．１０、１２は、相次ぐパターンが１、４、６、７、８、１１、１２の７つに限定となり、パターン２、４、６、９、１１は相次ぐパターンが２、３、５、９、１０の５つに限定されるため、ＰＩ信号は３つであれば十分である（ｌｏｇ２７の天井関数は３）。
【００４６】
図５は、本発明の実施例による３２ビットバス帯域幅でのデータ伝送パターンを示す図である。
【００４７】
図５を参照すると、３２ビットバス帯域幅でのデータ伝送パターンは、ハーフ‐バイトＨの個数及び前記３２ビットバス帯域幅内での配列位置に応じて、８種類に大きく区分され、総８１個のパターンでなされる。
【００４８】
３２ビットバス帯域幅の場合、必要なＰＩ信号の信号ラインの個数は、ｌｏｇ２８１に天井関数をとった結果の７であり、総７ビットのＰＩ信号が必要である。
【００４９】
しかし、１６ビットのバス帯域幅の場合と同様に、３２ビットのバス帯域幅においてもフル‐バイトの下位４ビットと上位４ビットを２つのバスサイクルを通じて（かけて）伝送するかどうかによって、次のバスサイクルでのパターンの数が限定される。
【００５０】
具体的に、パターン１、３、５、７、９、１１、１２、１３、１４、１８、１９、２０、２３、２４、２６、２７、２８、２９、３０、３１、３８、３９、４０、４４、４６、４７、４８、４９、５０、５１、５２、５３、５４、５５、６０、６１、６２、６３、６５、６６、６７、６８、６９、７０、７１、７２、７３、７４、７５、７６、７７、７８、７９、８１は、次に相次ぐパターンが１、４、６、８、１０、１１、１２、１３、１４、１８、１９、２０、２３、２４、３２、３３、３４、３５、３６、３７、４１、4２、４３、４５、４６、４７、４８、４９、５０、５１、５２、５３、５４、５５、６０、６１、６２、６３、６５、７２、７３、７４、７５、７６、７７、７８、８０、８１の４８つに限定される。
【００５１】
パターン２、４、６、８、１０、１５、１６、１７、２１、２２、２５、３２、３３、３４、３５、３６、３７、４１、４２、４３、４５、５６、５７、５８、５９、６４、８０は、次に相次ぐパターンが２、３、５、７、９、１５、１６、１７、２１、２２、２５、２６、２７、２８、２９、３０、３１、３８、３９、４０、４４、５６、５７、５８、５９、６４、６６、６７、６８、６９、７０、７１、７９の３３個に限定される。従って、ｌｏｇ２４８に天井関数をとると６になるので、必要なＰＩ信号の信号ラインの個数を７個から６個に、１つ減少させることができる。
【００５２】
もし、ＰＩ信号の信号ラインの個数が不足した場合、これまで並べた（データバスの帯域幅別に）パターン集合のうち一部のパターンのみを定義した一種の部分集合が使用され得る。
【００５３】
以下、これまで記述された本発明の実施例に係るデータの圧縮方法がハードウェアで具現された装置が記述される。
【００５４】
図６は、本発明の実施例によって圧縮されたバスデータを送受信するデータ通信装置のブロック構成図である。但し、図６では１６ビットのバスデータを送受信するデータ通信装置が例示される。また、図６に示された一定の太さを持つ矢印は、信号の流れを示し、各矢印の内部には各信号のビット幅を示す数字が表記される。
【００５５】
図６を参照すると、パターンを作る方法は、図２ないし図５を参照して上述した通りであり、このような方法が適用された本発明の実施例に係るデータ通信装置は、図６に示されたように非常に簡単に具現することができる。ここで、Ｉｎｖａｌｉｄ信号のようなＷａｉｔ信号があるバスの場合（殆どのバスはこの信号を持っている）は、一層便利で且つ簡単な方法でハードウェアの具現が可能であり、概念的には図６に示された構造と類似する。
【００５６】
本発明の実施例に係るデータ通信装置１００は、送信器１２０と受信器１４０を含む。
【００５７】
送信器と受信器は、データバスラインと制御バスラインを通じて互いに連結される。
【００５８】
送信器１２０は、レジスター（ｒｅｇｉｓｔｅｒ）１２２、比較器（ｃｏｍｐａｒａｔｏｒ）１２４、配列器（ａｌｉｇｎｅｒ）１２６を含み、受信器１４０は、デコーダ（ｄｅｃｏｄｅｒ）１４２及び複写／復元機（ｄｕｐｌｉｃａｔｏｒ／ｒｅｓｈａｐｅｒ）１４４を含む。このような送信器１２０と受信器は、データバスラインと制御バスラインを通じて互いに連結される。データバスラインを通じて１６ビットのデータバス信号が送信器１２０から受信器１４０へ伝送され、制御バスラインを通じて３ビットのＰＩ信号が送信器１２０から受信器１４０へ伝送される。図６には示されていないが、アドレスバス信号を送信器１２０から受信器１４０へ伝達するアドレスバスラインがさらに備えられる。
【００５９】
送信器１２０に備えられたレジスター１２２の内部に表記されたＨＢは、１つのバイトの上位４ビットを意味し、ＬＢは下位４ビットを意味する。従って、ＨＢとＬＢが１つのバイト（フル‐バイト）を意味する。本実施例では、前記データ通信装置１００が１６ビットのバスデータを送受信する。この場合、図４のパターン１２の場合では、最大４バイトのデータの圧縮伝送が可能である。従って、前記レジスター１２２では常に４バイト（即ち、バス帯域幅の２倍）のデータが準備される。
【００６０】
比較器１２４では、前記準備された各バイトの４ビットの上位ビットが互いに比較され、省略される部分が選別される。
【００６１】
配列器１２６では、比較器１２４により省略された部分を除外した残りのデータが配列される。配列されたデータのデータ配列パターンは、３ビットのＰＩ信号を通じて受信端に報知する。ＰＩ信号は既存の制御バス信号をそのまま使用するので、マルチプレクサを通じて合わせる。図面の簡略化のために、ＰＩ信号を合わせるマルチプレクサは図６では省略する。
【００６２】
該当バスサイクルにおいて配列されていない残りのデータは、再びレジスター１２２にフィードバックされて、順次、再配置される。
【００６３】
一方、受信器１４０に備えられたデコーダ１４２は、制御バスラインを通じて伝達されるＰＩ信号をデコードし、デコードされたＰＩ信号を通じてデータ配列パターンの模様を判別し、判別した結果値を複写機／復元機１４４に伝達する。
【００６４】
複写機／復元機１４４は、前記デコーダにより判別された結果値に基づいて省略されたＨＢを連続されるバイト情報から復元し、２つのフル‐バイト、即ち、全体１６ビット配列に合わせて次の端に伝達する。
【００６５】
以下のアルゴリズムは、本発明の実施例に係るデータの圧縮方法をアルゴリズム形態で示したプログラムコードの一例である。図６に示された送信器１２０には、以下のプログラムコードが保存された記録媒体をさらに含むことができる。
start:
if (data_left == 0)
if (Temp_HB!=Input_Data[7:4])
{Output_Data[7:0] = Input_Data[7:0];
Temp_HB = Input_Data[7:4];
data_left = 0;}
else
{Output_Data[7:4] = Input_Data[3:0];
data_left = 1;}
else (data_left == 1)
if(Temp_HB!=Input_Data[7:4])
{Output_Data[3:0] = Input_Data[7:4];
Temp_HB = Input_Data[7:4];
data_left = 1;}
else
{Output_Data[3:0] = Input_Data[3:0];
data_left = 0;}
check();
go to start;
【００６６】
前記プログラムコードは、データの伝送が完了するまで繰り返して実行される。
【００６７】
前記プログラムコードについて、より詳細に説明すると次の通りである。
【００６８】
前記プログラムコードの下方に示されるチェック関数（ｃｈｅｃｋ（））は、データが該当データバス帯域幅のフル（ｆｕｌｌ）サイズに到達されたかどうかをチェックする。データが該当データバス帯域幅のフルサイズに到達する毎に１つのバスサイクルに対応するデータが伝送される。このようなチェック機能は、単純なカウンターと比較器などのハードウェアで具現され得る。
【００６９】
前記プログラムコードに記載された変数（ｄａｔａ＿ｌｅｆｔ）は、現在処理中のバイトの整列（ａｌｉｇｎ）過程で４ビットのデータが残ったり、逆に４ビットのデータが足りない場合、１にセットされる。即ち、前記変数が０である場合、バイトデータが正確にフルサイズの出力バイト信号（Ｏｕｔｐｕｔ＿Ｄａｔａ[７：０]）に到達されたことを意味する。
【００７０】
前記プログラムコードにおいて、Ｉｎｐｕｔ＿Ｄａｔａ[７：０]は現在処理（ｍｏｄｕｌａｔｉｏｎ）対象のバイトデータを意味し、Ｔｅｍｐ＿ＨＢは、直前に処理されたバイトデータの上位４ビットデータを意味する。
【００７１】
前記条件関数（ｉｆ（））は、現在処理対象のＩｎｐｕｔ＿Ｄａｔａという１つのバイトデータの上位４ビットが直前に処理されたバイトデータの上位４ビットと同じ場合、省略するために比較を行う。
【００７２】
上述した本発明は、本発明の属する技術分野において通常の知識を持つ者が本発明の技術的思想を逸脱しない範囲内で様々に置換、変形及び変更が可能であるので、上述した実施例及び添付した図面に限定されるものではない。例えば、本実施例ではＰＩ信号が既存の制御バスを通じて受信端に伝達される例が開示されているが、アドレスバスを通じて受信端に伝達されることもできる。
【図１】
2010148086.tif 000003
【図２】
2010148086.tif 000004
【図３】
2010148086.tif 000005
【図４】
2010148086.tif 000006
【図５】
2010148086.tif 000007
【図６】
2010148086.tif 000008