(57)【要約】【課題】データ転送時のバス駆動本数を減らし、消費電力を抑える。【解決手段】バスインタフェースの転送元、転送先双方で同一のビットパターンを格納できるキャッシュメモリ領域を設け、キャッシュヒット時には実ビットデータの代わりに情報量の少ないキャッシュアドレス情報を転送する。【選択図】  図１
2005135040.tif 000002
【特許請求の範囲】
【請求項１】
データの送受信を行なうデータ転送装置において、
データを送信するデータ転送元ユニットと、
データを受信するデータ転送先ユニットと、
前記データ転送元ユニットと前記データ転送先ユニットに接続するバスを有し、
前記データ転送元ユニットと前記データ転送先ユニットは送信又は受信するデータのビットパターンを格納する複数のエントリを有するメモリであって、同一エントリに同一のデータを保持するメモリをそれぞれ有することを特徴とするデータ転送装置。
【請求項２】
請求項１に記載のデータ転送装置において、
データ転送元はデータ転送が必要な場合、
転送が必要なデータを送信するか、前記転送が必要なデータのビットパターンが格納されているメモリのエントリ情報を送信することを特徴とするデータ転送装置。
【請求項３】
請求項２に記載のデータ転送装置において、
データ転送元は転送するデータのビットパターンと前記メモリ内に格納されているビットパターンとの比較を行い、一致するビットパターンが存在すると判定された場合はビットパターンが格納されているエントリ情報を送信し、
一致するビットパターンが存在しない場合はデータを送信することを特徴とするデータ転送装置。
【請求項４】
請求項３に記載のデータ転送装置において、
前記データ転送先は、前記エントリ情報を受信した場合に、前記エントリ情報を用いて前記データ転送先が有するメモリに格納されたデータを受信したデータとして処理することを特徴とするデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置において、バスラインのスイッチングによる電力消費量を低減するバスインタフェース回路の改良に関する。
【背景技術】
【０００２】
近年のコンピュータシステムでは高速データ転送の為、バスインタフェース回路は広ビット幅、高周波数での動作が必要となってきている。また、それと同時に消費電力を抑えた省電力コンピュータシステムへの需要も高まってきている。しかし、バスラインをスイッチングした場合の消費電力は広ビット幅、高周波動作になるに従い、無視できない大きさとなってきており、消費電力を低減するバスインタフェース回路が求められている。
【０００３】
特開平7-319808号公報に開示されている技術では、この問題を解決する手段として、転送ビットパターンの論理反転回路を利用している。転送ビットパターンの論理反転回路は、前回転送済みのビットパターンを一時的に記憶しておき、データ転送時には転送ビットパターンと転送済みビットパターンとの差を比較することによりバスラインのスイッチング量を判定する。そして、反転するビットの数が全体の半数を超える場合、送信データの全ビットを論理反転すると共に、データ転送先にはビット反転したことを伝える信号を送信する。この信号により、データ転送先では反転されたビットパターンを再度反転し、正常な伝送ビットパターンを復元することが可能となる。
【０００４】
【特許文献１】特開平7-319808号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術は直前１回分のビットパターンのみに注目して、データの転送内容の切り替え判定を行っている。従って、特定のビットパターンが連続しなくても、一定期間頻出するような転送データパターンを持つシステムでは項膣的なバスの切り替えが実現できなかった。
【０００６】
本発明は、特定ビットパターンが一定期間に頻出するシステムを考慮した省電力バスインタフェース回路を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明では、データの転送元ユニットと転送先ユニットがそれぞれ送受信が行なわれたデータのビットパターンを格納するメモリを有する。
【発明の効果】
【０００８】
以上のように本発明のデータ転送システムによれば、このメモリ内の情報を用いて必要な場合にのみ送受信することが可能となる。従って、一定期間同じデータを転送する機会が頻出する場合の消費電力を抑えることが可能となる。
【発明を実施するための最良の形態】
【０００９】
図１は本発明のデータ転送装置の一例である。図１のデータ転送装置において、データ転送元、データ転送先のユニットはLSIであり、データ転送装置は、ＬＳＩ間バスインタフェース回路として説明する。
【００１０】
データ転送元ＬＳＩ１０１とデータ転送先ＬＳＩ２０１はｎビット幅のバス３０１およびキャッシュヒット情報を伝送するための１ビット幅の信号線３０２によって接続されている。データ転送元LSI１０１は、バス制御部１０２、キャッシュ制御部１０３、キャッシュメモリ１０４、比較記１０５を有する。データ制御部１０２は、データの送信を制御する。キャッシュ制御部１０３は、キャッシュ格納情報を管理する。キャッシュメモリは、送信した複数のビットパターンを格納する。比較器１０５は、信ビットパターンとキャッシュメモリに格納されているビットパターンとを比較する。なお、これらの各ユニットの詳細構成については、後述する。
【００１１】
データ転送先ＬＳＩ２０１は、バス制御部２０２、キャッシュ制御部２０３、キャッシュメモリ２０４、比較器２０５を有する。バス制御部は、バス３０１、３０２を介して伝送されたデータを受信する。キャッシュ制御部２０３は、伝送データをキャッシュメモリに格納すると共に、キャッシュヒット情報を元にキャッシュメモリから当該ビットパターンを取出す。キャッシュメモリは、受信したビットパターンを格納する。比較器２０５は、伝送ビットパターンの比較を行う。なお、データ転送先LSI２０１の各ユニットの詳細構成についても、後述する。
【００１２】
図７に、図１のデータ転送装置の主な処理フローを示す。図７において、ステップ701〜705はデータ転送元における処理、それ以降は、データ転送先における処理を示す。
【００１３】
データ転送時、転送元バス制御部１０２は前回の転送データを一時的に保持している。このとき転送元の比較器１０５では転送データとキャッシュメモリ１０４に格納されているビットパターン全てとの比較を行う（ステップ７０１）。比較の結果、一致するビットパターンが存在しない場合、キャッシュ制御部１０３はバス３０１に伝送されたビットパターンをある特定のアルゴリズムを用いてキャッシュメモリ１０４に格納する（ステップ702）。比較器からはキャッシュヒット情報が偽に設定され、バス制御部１０２に転送される。バス制御部１０２はキャッシュヒットしなかった場合は転送データをそのままバス３０１に転送する（ステップ７０４）。
【００１４】
ビットパターンの比較の結果、キャッシュに格納されたビットパターンの一つと送信ビットパターンが一致していた場合、比較器１０５からはキャッシュヒット情報が真としてバス制御部１０２およびキャッシュ制御部１０３に転送される。このときキャッシュ制御部１０３からは当該ビットパターンの格納位置を示すエントリ情報がバス駆動回路１０２に転送される。バス駆動回路１０２はキャッシュヒット情報を受けた場合、キャッシュヒット情報を真として信号線３０２に流す（ステップ７０３）。また、保持していた伝送ビットパターンを破棄し、キャッシュ制御部１０３から受け取ったキャッシュ位置情報をバス３０１上に流す（ステップ７０5）。
【００１５】
データ転送先ではバス駆動回路２０２にて受信ビットパターンを保持すると共にキャッシュヒット情報を受信する。キャッシュヒットしなかった場合、バス駆動回路は受信してきたビットパターンをそのままＬＳＩ内部に伝送（ステップ７０６）し、それと同時にキャッシュ制御部では転送元と同一のアルゴリズムにより転送ビットパターンをキャッシュメモリ２０４内に格納する（ステップ７０８）。これにより転送元と転送先のキャッシュメモリ内には常に同一のビットパターンが格納されることとなる。
【００１６】
キャッシュがヒットした場合、ＬＳＩ２０１ではキャッシュエントリ情報を元にキャッシュメモリ２０４内から転送すべきビットパターンを検索（ステップ７０７）し、そのビットパターンをバス駆動回路２０２に転送する。バス駆動回路２０２では転送されたビットパターンをＬＳＩ内部に送信する（ステップ７０９）。また、これと同時にキャッシュ制御部では使用頻度の高いビットパターンを優先的に保持できるよう、特定のアルゴリズムによってキャッシュメモリ内のエントリを変更する（７１１）。なおここで使用されるアルゴリズムは転送元で用いられるものと同一とし、これにより送転送先でのキャッシュ格納内容は常に一致することになり、転送データの整合性を保つことが可能となる。
【００１７】
上記手順によりＬＳＩ１０１からＬＳＩ２０１へのデータ転送が実現されるが、ＬＳＩ２０２はＬＳＩ１０１と同一の構成であるため、前述の動作と同等の処理を行うことによりＬＳＩ２０２からＬＳＩ１０１へのデータ転送も可能である。これにより、ＬＳＩ１０１−ＬＳＩ２０１間での双方向通信が実現できる。
【００１８】
図２にてデータ転送元ＬＳＩ１０１でのキャッシュヒット情報およびキャッシュエントリ情報の生成を説明する。バス３０１のバス幅は８ビットとし、キャッシュメモリ１０４および２０４のキャッシュエントリ数は４とする。この場合キャッシュエントリを示すインデックス情報は２ビットとなり、バス３０１の上位２ビットを使用して転送されることになる。
【００１９】
ＬＳＩ内部からの８ビットの出力データが伝送されたとき、比較器１０５ａ〜１０５ｄではキャッシュメモリ内のそれぞれのエントリに格納されているビットパターンと伝送データとの比較を行う。エンコーダ１０７は前記比較器からの出力結果を元に２ビットのキャッシュエントリ情報を生成する。また論理和回路１０８では比較器からの４ビットの出力結果の論理和をとり、キャッシュヒット情報３０３を生成する。キャッシュヒット情報３０２は出力ゲート１０９および１１０に接続されており、これによりキャッシュヒット時にはエンコーダ１０７から出力されたキャッシュエントリ情報が、ミスヒット時にはＬＳＩ内部からの出力ビットパターンがバス３０１に伝送される。
【００２０】
図３にてデータ転送先ＬＳＩ２０１でのデータ受信時の動作について説明する。データ転送先ＬＳＩ２０１ではデコーダ２０７によりキャッシュエントリ情報をデコードし、出力ゲート２０８ａ〜２０８ｄのどれか１つの出力を有効にし、キャッシュメモリ２０４に格納されている該当エントリのビットパターンを出力する。キャッシュヒット情報３０２は出力ゲート２０９および２１０に接続されており、キャッシュヒット時にはキャッシュメモリに格納されたビットパターンが、キャッシュミスヒット時にはバス３０１のビットパターンがＬＳＩ内部に伝送される。
【００２１】
次に、上述したデータ転送装置での各ビットデータの処理例について図４を用いて説明する。なお、キャッシュメモリは初期状態でありエントリ情報は入っていないこととする。
【００２２】
（時間０） 転送元からビットパターンａ(00101001)が転送される。このときキャッシュメモリ内には一致するビットパターンが無いため、バス上にはビットパターンａがそのまま転送され、同時にキャッシュヒット情報も(0)に設定される。転送先ではキャッシュヒット情報(0)を受信するため、バス上のビットパターンａをそのままＬＳＩ内部に伝達する。このときキャッシュメモリのエントリ(00)にビットパターンａ(00101001)が格納される。
【００２３】
（時間１） 続いてビットパターンｂ(10011010)が転送される。キャッシュメモリ内のビットパターンａとの比較の結果、不一致であるためキャッシュヒット情報(0)を送信し、バス上にはビットパターンｂが伝送される。転送先では時間０と同様の処理を行い、キャッシュエントリ(01)にビットパターンｂ(10011010)が格納される。
【００２４】
（時間２） ビットパターンａ2(00101001)が送出された場合、比較器による比較の結果、キャッシュエントリ(00)のビットパターンａ(00101001)と一致していると判定され、キャッシュヒット情報は(1)に設定されると共に、バス上のビット0および1にはキャッシュエントリ情報(00)が設定される。バス上のビット２〜７はビットパターンｂのビット２〜７が保持されたままとなり、その結果バス上では(00011010)が伝送される。転送先では、キャッシュヒット情報が(1)であることから、キャッシュヒットしていると判断し、バス上のビット0および1のみを参照しキャッシュエントリ情報(00)を抽出する。キャッシュ制御回路はキャッシュエントリ情報(00)より、キャッシュメモリ内のビットパターンａ(00101001)を受信ビットパターンとしてＬＳＩ内部に伝達する。上記動作によりバスのスイッチング量はキャッシュを用いなかった場合、ビットパターンｂ(10011010)とａ2(00101001)間でのスイッチング量は５ビットで有るのに対し、キャッシュを用いることによりビットパターンｂ(10011010)とキャッシュエントリ転送パターン(00011010)間でのスイッチング量は１ビットで済むことになる。
【００２５】
（時間３） ビットパターンｃ(11001011)が送出された場合、比較器による比較の結果、一致するビットパターンが存在しないため、キャッシュヒット情報は(0)に設定され、ビットパターンｃがそのまま伝送される。転送先では時間０と同様の処理が行われ、キャッシュエントリ(10)にビットパターンｃ(11001011)が格納される。
（実施の形態２）
前述のように本発明による省電力効果はキャッシュ制御アルゴリズムによって左右されるが、アルゴリズムの最適解はデータ転送回路のバス幅、搭載キャッシュメモリ量、転送データのビットパターンの偏り等の要因により大きく異なる。
【００２６】
しかし、システム設計時にあらかじめ頻出するビットパターン及びその出現頻度が判明している場合、キャッシュエントリに格納するビットパターンを出現頻度の高いもののみに限定し、固定的に指定することにより最大限の省電力効果が期待できる。
【００２７】
キャッシュメモリの内容を固定的に指定した場合の送受信システムについて図５を用いて説明する。
【００２８】
データ転送元のキャッシュメモリ１０４およびデータ転送先のキャッシュメモリ２０４はそれぞれ読み出し専用メモリ(ＲＯＭ)とし、システム設計時にあらかじめ判明している頻出ビットパターンを記録している。また、キャッシュ制御部１０３および２０３はそれぞれキャッシュメモリから格納されているビットデータを取出す機能のみを有しており、リプレースアルゴリズムは実装されない。
【００２９】
データ転送時、データ転送元ＬＳＩ１０１および転送先２０１の動作は発明の実施の形態１とほぼ同様である。ただし、ＬＳＩ１０１、２０１共にキャッシュヒットの有無を元にしたリプレースアルゴリズムによるキャッシュメモリの更新動作は行われない。
【００３０】
以上のようにキャッシュに登録するビットパターンを特定することによりキャッシュメモリ容量を必要最小限に抑えるとともに、キャッシュヒット時にキャッシュエントリ情報を転送する為に駆動すべき信号線の本数を削減できる。また、キャッシュエントリが固定されることにより、キャッシュ制御アルゴリズムの実装が不要となり装置を単純化することが可能となる。
【００３１】
または、キャッシュメモリ以外にも、メインメモリを用いることも可能である。その場合、図１のキャッシュ制御部は、メモリ制御部となる。
（実施の形態３）
発明の実施の形態１で示したデータ転送回路では、ある特殊なビットパターンの組み合わせによっては、キャッシュを用いることによりバス駆動本数が、キャッシュを使用しない場合に比べて多くなる場合がある。これはすなわち同一のビットパターンが２回連続して転送される場合等である。この場合、キャッシュを使用しない従来の方式では２回目の伝送時はバスの変動は皆無であるため、スイッチングによる消費電力は０である。しかしキャッシュを使用した場合は、キャッシュエントリの転送およびキャッシュヒット情報伝達のために余分にスイッチングが発生することになる。
【００３２】
上記問題を解決する為に新たにデータ転送元にビット反転比較回路を追加したデータ転送回路を図６に示す。
【００３３】
データ転送元ＬＳＩ１０１にて、バス制御部１０２および比較器１０５の間に、前回の転送データとキャッシュミスヒット時の転送データおよび前回転送データとキャッシュヒット時の転送データを比較し、スイッチング量の少ない組み合わせを判定するビット反転比較回路１０６を追加する。また、ＬＳＩ２０１にも同様にビット反転比較回路２０６を追加する。
【００３４】
データ転送時、転送元バス制御部１０２は前回の転送データを一時的に保持している。このとき比較器１０５では転送データとキャッシュメモリ１０４に格納されているビットパターン全てとの比較を行う。比較の結果、一致するビットパターンが存在しない場合、比較器からはキャッシュヒット情報が偽に設定されビット反転比較回路１０６に転送される。ビット反転比較回路１０６はキャッシュヒット情報が偽であることから、ビット反転数の比較を行わず、キャッシュヒット情報をそのままバス制御部１０２およびキャッシュ制御部２０３に転送する。バス制御部１０２は転送データをそのままバス３０１に転送する。また、このときキャッシュ制御部１０３はバス３０１に伝送されたビットパターンをある特定のアルゴリズムを用いてキャッシュメモリ１０４に格納する。
【００３５】
ビットパターンの比較の結果、キャッシュに格納されたビットパターンの一つと転送ビットパターンが一致していた場合、比較器１０５ではキャッシュヒット情報が真に設定され、キャッシュエントリ情報と共にビット反転比較回路１０６に転送される。ビット反転転送回路１０６ではバス３０１の前回転送データと転送ビットパターンとのビット変動量およびバス３０１の前回転送データにキャッシュエントリ情報を付与した場合のビット変動量を比較する。
【００３６】
ビット変動量比較の結果、ビットパターンをそのまま転送した方がバスのスイッチング量が少なくなると判定された場合、ビット反転比較回路１０６はキャッシュヒット情報を偽に設定し、バス制御部１０２に転送する。その後の動作は転送データをキャッシュ１０４および２０４に格納しない事を除き、キャッシュミスヒット時の動作と同様である。
【００３７】
ビット変動量比較の結果、キャッシュエントリ情報を転送した方がバススイッチング量が少なくなると判定された場合、ビット反転比較回路１０６はキャッシュヒット情報を真に設定し、バス制御部１０２に転送する。その後の動作はキャッシュヒット時の動作と同様である。
【００３８】
キャッシュのヒット・ミスヒットに関わらずデータ転送先２０１の動作は、発明の実施の形態１の場合と同様である。
【００３９】
このように図６のデータ転送システムを用いることにより、転送データの内容に関わらず、キャッシュヒット時に余計なスイッチングが発生する可能性を排除し、安定した省電力バスインタフェースを構成することができる。
【００４０】
以上のように本発明のデータ転送システムによれば、転送しようとしているビットパターンが既出のものであった場合、バス全体を駆動することなくキャッシュエントリ情報の転送のみでデータを転送することが可能となり、バスインタフェースの省電力化が図れる。また、キャッシュメモリに格納されている既出のビットパターンを送信する際はバス全体を駆動することなく転送先のキャッシュメモリから呼び出す事により転送先に伝送できるため、バスのスイッチング量を減少させることができる。
【００４１】
なお、本発明の別の観点は、以下の通りである。
【００４２】
本発明のデータ転送装置は、データ転送元にバス駆動回路、ビットパターン比較器、キャッシュメモリ、キャッシュ制御装置を持ち、バスおよび制御信号線により、データ転送先のバス受信回路、キャッシュメモリ、キャッシュ制御装置に接続されているシステムである。また、データ転送側、転送先いずれのキャッシュメモリも同一構成、同一アルゴリズムで制御され、常に同一エントリに同一のデータが保持される。
【００４３】
データ転送元のバス駆動回路は、転送ビットパターンを一時的に保持し、必要に応じ転送ビットパターンもしくはキャッシュ格納エントリ情報のどちらかを選択し転送可能とする。キャッシュメモリは複数のビットパターンを格納できる容量を持ち、キャッシュ制御回路は送信ビットパターンをキャッシュメモリに逐次格納すると共に、リプレースアルゴリズムによりキャッシュヒットデータを管理し、出現頻度の高いビットパターンをキャッシュメモリ内に保持する機能を有する。比較器は転送ビットパターンとキャッシュに格納されている全てのビットパターンとの比較を行い、一致するビットパターンが存在すると判定された場合は、バス駆動回路およびキャッシュ制御回路に通達し、キャッシュメモリ内の当該ビットパターンを示すエントリ情報を生成する。バス駆動回路は上記データを伝送するバスの他に状態通知用の信号線が接続されており、これを用いてデータ転送先にキャッシュヒットの有無を通達する。
【００４４】
データ転送先では、データ転送元から転送されたキャッシュヒット情報を元に2種類の受信動作を行う。キャッシュミスヒット時には受信したビットパターンをそのまま転送データとしてデータ処理する。また、これと同時に受信ビットパターンをキャッシュメモリ内に格納し、データ転送元と同一のアルゴリズムによってキャッシュメモリを管理する。これにより、送転送先のキャッシュメモリ内に格納されるビットパターンは常に一致することになる。キャッシュヒット時には、伝送されてきたキャッシュ格納エントリ情報を受信し、これを元にキャッシュメモリ内から当該ビットパターンを取出し、バス駆動回路に転送する。
【００４５】
上記データ転送方式により、伝送しようとしているビットパターンがキャッシュメモリに格納されていないビットパターンである場合は通常通りのバス駆動を行い、キャッシュメモリに格納されているビットパターンの一つと一致している場合はバス全体を駆動してビットパターンを転送する代わりに、キャッシュメモリ内のビットパターン格納位置情報を転送することによりデータ転送が可能となる。
【図面の簡単な説明】
【００４６】
【図１】図１は、データ転送装置の一例を示す。
【図２】図２は、データ転送元のブロック図の一例である。
【図３】図３は、データ転送先のブロック図の一例である。
【図４】図４は、ビットパターン遷移の一例を示す。
【図５】図５は、データ転送装置の他の例を示す。
【図６】図６は、データ転送装置の他の例を示す。
【図７】データ転送装置が行なう処理を示すフローチャートである。
【符号の説明】
【００４７】
１０１：転送元ＬＳＩ、１０２：バス制御部、１０３：キャッシュ制御部、１０４：キャッシュメモリ、１０５：比較器、１０６：ビット反転比較回路、１０７：エンコーダ回路、１０８：論理和回路、１０９：出力ゲート、１１０：出力ゲート、２０１：転送先ＬＳＩ、２０２：バス制御部、２０３：キャッシュ制御部、２０４：キャッシュメモリ、２０５：比較器、２０６：ビット反転比較器、２０７：デコーダ回路、２０８：出力ゲート、２０９：出力ゲート、２１０：出力ゲート、３０１：バス、３０２：キャッシュヒット情報伝送路
【図１】
2005135040.tif 000003
【図２】
2005135040.tif 000004
【図３】
2005135040.tif 000005
【図４】
2005135040.tif 000006
【図５】
2005135040.tif 000007
【図６】
2005135040.tif 000008
【図７】
2005135040.tif 000009