(57)【特許請求の範囲】
【請求項１】
複数の近接した電気信号経路のためのエンコーディング方法において、
予め決定された電気インパルス・セットに対して、各前記電気信号経路の信号遷移アクティビティを決定するステップと、
前記電気信号経路を前記電気信号経路の隣接する部分から成る複数のソース・ウィンドウにグループ化するステップと、
各前記電気信号経路とグラウンド・プレーン層との間のベース・キャパシタンスと、各前記電気信号経路と信号遷移アクティビティとの間のカップリング・キャパシタンスに基づいて、前記ソース・ウィンドウを複数のターゲット・ウィンドウに交差接続するステップを備えることを特徴とするエンコーディング方法。
【請求項２】
前記ソース・ウィンドウを前記ターゲット・ウィンドウに交差接続するステップにて、
信号遷移アクティビティの少ない前記ターゲット・ウィンドウが信号遷移アクティビティの多いターゲット・ウィンドウの間に挿入されるように、複数の前記ソース・ウィンドウと複数の前記ターゲット・ウィンドウとの間の接続を構成するステップを備えることを特徴とする請求項１に記載のエンコーディング方法。
【請求項３】
前記ソース・ウィンドウの前記ターゲット・ウィンドウに交差接続するステップにて、
複数の前記ソース・ウィンドウと複数の前記ターゲット・ウィンドウとの間の接続を、信号遷移アクティビティが最も多い前記電気信号経路を有する２つの前記ターゲット・ウィンドウが、その他の前記ターゲット・ウィンドウによって分離されるように構成するステップを備えることを特徴とする請求項１に記載のエンコーディング方法。
【請求項４】
複数の近接した電気信号経路のためのエンコーディング方法において、
所定の電気インパルス・セットに対して各電気信号経路の信号遷移アクティビティを決定するステップと、
電気信号経路を複数のウィンドウに、各前記ウィンドウが複数の隣接する電気信号経路を備えて、前記ウィンドウ数＝（前記電気信号経路数）／（各前記ウィンドウ内の電気信号経路数）となるように分割するステップと、
大量の信号遷移履歴を伴う前記電気信号経路を有する前記ウィンドウが、少量の信号遷移履歴を伴う前記電気信号経路を有する前記ウィンドウによって分離されるようにウィンドウを配置するステップを備えることを特徴とするエンコーディング方法。
【請求項５】
基板上の複数の近接した電気信号経路のためのエンコーディング方法において、
所定の電気インパルス・セットについて各電気信号経路の信号遷移履歴を決定するステップと、
電気信号経路を複数のウィンドウに、各前記ウィンドウが複数の隣接する電気信号経路を備えて、前記ウィンドウ数＝（前記電気信号経路数）／（各前記ウィンドウ内の電気信号経路数）となるように分割するステップと、
最大量の信号遷移履歴を伴う前記電気信号経路を有する２つの前記ウィンドウが、残りの前記ウィンドウによって分離されるように前記ウィンドウを配置するステップを備えることを特徴とするエンコーディング方法。
【請求項６】
基板上の複数の近接した電気信号経路のためのエンコーディング方法において、
前記電気信号経路をトラバースする予め決定された同期電気インパルス・セットについて、各前記電気信号経路の信号遷移履歴を決定するステップと、
電気信号経路を複数のウィンドウに、各前記ウィンドウが複数の隣接する電気信号経路を備えて、前記ウィンドウ数＝（前記電気信号経路数）／（各前記ウィンドウ内の電気信号経路数）となるように分割するステップと、
最大量の信号遷移履歴を伴う前記電気信号経路を有する２つの前記ウィンドウが残りの前記ウィンドウによって分離されるように前記ウィンドウを配置するステップと、
各前記ウィンドウ内の信号遷移を分析し、過半数の前記ウィンドウが大量の遷移アクティビティを含む場合に前記同期電気インパルスを反転させるステップを備えることを特徴とするエンコーディング方法。
【請求項７】
基板上のアドレス・バスのためのエンコーディング方法において、
前記アドレス・バス上の前記アドレス・バスをトラバースする各アドレス・ビットの信号遷移履歴を決定するステップと、
前記アドレス・バスを複数のウィンドウに、前記ウィンドウ数＝（前記アドレス・バス内のビット数）／（各前記ウィンドウ内の前記アドレス・バス・ビット数）となるように分割するステップと、
最大量の信号遷移履歴を伴う前記アドレス・バスを有する２つの前記ウィンドウが残りの前記ウィンドウによって分離されるように前記ウィンドウを配置するステップと、
各前記ウィンドウ内の前記アドレス・バスの信号遷移を分析し、過半数の前記ウィンドウが大量の遷移アクティビティを含む場合に前記アドレス・バスをトラバースする前記アドレス・ビットを反転させるステップを備えることを特徴とするエンコーディング方法。
【請求項８】
基板上のアドレス・バスのためのエンコーディング方法において、
前記アドレス・バス上の前記アドレス・バスをトラバースする各アドレス・ビットの信号遷移履歴を決定するステップと、
前記アドレス・バスを複数のウィンドウに、前記ウィンドウ数＝（前記アドレス・バス内のビット数）／（各前記ウィンドウ内の前記アドレス・バス・ビット数）となるように分割するステップと、
大量の信号遷移履歴を伴う前記電気信号経路を有する前記ウィンドウが少量の信号遷移履歴を伴う前記電気信号経路を有する前記ウィンドウによって分離されるように前記ウィンドウを配置するステップと、
各前記ウィンドウ内の前記アドレス・バスの信号遷移を分析し、過半数の前記ウィンドウが大量の遷移アクティビティを含む場合に前記アドレス・バスをトラバースする前記各アドレス・ビットを反転させるステップを備えることを特徴とするエンコーディング方法。
【請求項９】
複数の近接した信号線における信号をエンコーディングするエンコーディング装置において、
複数の近接した前記信号線に接続された複数のエンコーダと、
複数の前記エンコーダに接続されて各前記エンコーダの出力間を選択的に切り替える第１マルチプレクサと、
前記第１マルチプレクサに接続された拡張遷移アクティビティ測定回路と、
前記拡張遷移アクティビティ測定回路に接続された第１信号インバータと、
前記第１マルチプレクサに接続され、前記エンコーダ間で前記第１マルチプレクサを切り替えるための信号を送信する第１コンパレータを備えることを特徴とするエンコーディング装置。
【請求項１０】
第２信号インバータと、
前記第２信号インバータに接続された複数のデコーダと、
複数の前記デコーダに接続された第２マルチプレクサを更に備えることを特徴とする請求項９に記載のエンコーディング装置。
【請求項１１】
前記第２マルチプレクサの入力を切り替えるための第２コンパレータを更に備えることを特徴とする請求項１０に記載のエンコーディング装置。
【請求項１２】
前記拡張遷移アクティビティ測定回路が、
複数の拡張遷移アクティビティ測定計算回路と、
複数の前記拡張遷移アクティビティ測定計算回路に接続された過半数拡張遷移アクティビティ測定回路を備えることを特徴とする請求項９に記載のエンコーディング装置。
【請求項１３】
複数の近接した信号線における信号をエンコーディングするエンコーディング装置において、
近接した前記信号線に接続された複数のエンコーディング手段と、
複数の前記エンコーディング手段に接続されて各前記エンコーディング手段を選択的に切り替える第１多重化手段と、
前記第１多重化手段に接続された拡張遷移アクティビティ測定手段と、
前記拡張遷移アクティビティ測定手段に接続された第１信号反転手段と、
前記第１多重化手段に接続され、前記第１多重化手段が各前記エンコーディング手段を切り替えるための信号を送信する第１比較手段を備えることを特徴とするエンコーディング装置。
【請求項１４】
前記第１信号反転手段の出力に接続された第２信号反転手段と、
前記第１信号反転手段に接続された複数のデコーディング手段と、
複数の前記デコーディング手段に接続された第２多重化手段を更に備えることを特徴とする請求項１３に記載のエンコーディング装置。
【請求項１５】
前記第２多重化手段の入力を切り替える第２比較手段を更に備えることを特徴とする請求項１４に記載のエンコーディング装置。
【請求項１６】
前記拡張遷移アクティビティ測定手段が
複数の拡張遷移アクティビティ測定計算手段と、
複数の前記拡張遷移アクティビティ測定計算回路に接続され、反転信号を出力する過半数拡張遷移アクティビティ測定回路を備えることを特徴とする請求項１３に記載のエンコーディング装置。
【請求項１７】
複数の近接した信号線のためのエンコーディング装置において、
複数の近接した信号線に接続され各前記信号線を複数のソース・ウィンドウに分解する複数のエンコーダと、
複数の前記エンコーダに接続され各前記エンコーダの出力を選択的に切り替える第１マルチプレクサと、
前記第１マルチプレクサに接続され反転信号を出力する拡張遷移アクティビティ測定回路と、
前記拡張遷移アクティビティ測定回路に接続され、反転された前記第１信号を受信する第１信号インバータであって、
前記第１マルチプレクサに接続され、前記マルチプレクサが前記エンコーダを切り替える信号を送信する第１コンパレータを備えることを特徴とするエンコーディング装置。
【請求項１８】
前記第１信号インバータの出力と前記反転信号を受信する第２信号インバータと、
前記第２信号インバータに接続された複数のデコーダと、
複数の前記デコーダに接続された第２マルチプレクサを更に備えることを特徴とする請求項１７に記載のエンコーディング装置。
【請求項１９】
前記第２マルチプレクサの入力を切り替えるための第２コンパレータを更に備えることを特徴とする請求項１８に記載のエンコーディング装置。
【請求項２０】
前記第２コンパレータが、実行中のタスクのサイズに基づいて前記第２マルチプレクサにスイッチング信号を出力することを特徴とする請求項１９に記載のエンコーディング装置。
【請求項２１】
各前記エンコーダに含まれる複数の前記ソース・ウィンドウが、近接した前記信号線のキャパシタンスに基づいて前記ターゲット・ウィンドウに交差接続されることを特徴とする請求項１７に記載のエンコーディング装置。
【請求項２２】
信号遷移アクティビティの少ない前記ターゲット・ウィンドウが信号遷移アクティビティの多い前記ターゲット・ウィンドウの間に挿入されるように前記ソース・ウィンドウと前記ターゲット・ウィンドウ間を交差接続することを特徴とする請求項２１に記載のエンコーディング装置。
【請求項２３】
信号遷移アクティビティの最も多い前記信号線を有する２つの前記ターゲット・ウィンドウが、残りの前記ターゲット・ウィンドウによって分離されるように前記ソース・ウィンドウと各前記デコーダに含まれる前記ターゲット・ウィンドウ間を交差接続することを特徴とする請求項２１に記載のエンコーディング装置。
【請求項２４】
前記拡張遷移アクティビティ測定回路が、
複数の拡張遷移アクティビティ測定計算回路と、
複数の前記拡張遷移アクティビティ測定計算回路に接続された過半数拡張遷移アクティビティ測定回路を備えることを特徴とする請求項１７に記載のエンコーディング装置。
【請求項２５】
前記拡張遷移アクティビティ測定回路が、
近接した前記信号線上の信号遷移を分析し、近接した前記信号線内の遷移アクティビティに基づいて前記反転信号を出力することを特徴とする請求項２４に記載のエンコーディング装置。
【請求項２６】
前記第１コンパレータが、
実行中のタスクのサイズに基づいて第１マルチプレクサにスイッチング信号を出力することを特徴とすることを特徴とする請求項１７に記載のエンコーディング装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、キャパシタンス・カップリング効果に基づく適応型信号エンコーディング方式のエンコーディング装置とエンコーディング方法に関する。
【０００２】
【従来の技術】
カップリング効果の例としては、隣接する信号線間のカップリング・キャパシタンスや、信号線と金属層間のカップリング効果などが挙げられる。本発明は、信号線を移動する特定の信号セットにのみ該当する固有な事前知識を前提としない。
【０００３】
以下の参考文献には個々の標題をテーマとする有益な背景情報が記載されており、そのすべてが本発明の関連情報である。
【０００４】
Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｃｈｎｏｌｏｇｙ  Ｒｏａｄｍａｐ  ｆｏｒ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒｓ（半導体に関する国際技術ロードマップ）」１９９９年版。この文献は、２００１年２月１３日にｈｔｔｐ：／／ｗｗｗ．ｓｅｍｉｃｈｉｐｓ．ｏｒｇ／ｎｅｗｓ／ｅｖｅｎｔｓ／ｉｔｒｓ９９／からダウンロードすることができる。
【０００５】
Ｆａｒｉｄ  Ｎ．  Ｎａｊｍ，  Ｔｒａｎｓｉｔｉｏｎ  Ｄｅｎｓｉｔｙ：Ａ  Ｎｅｗ  Ｍｅａｓｕｒｅ  ｏｆ  Ａｃｔｉｖｉｔｙ  ｉｎ  ＤｉｇｉｔａｌＣｉｒｃｕｉｔｓ（デジタル回路におけるアクティビティの新規指標），  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ  ｏｆ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，  Ｖｏｌ．  １２，  Ｎｏ．  ２，  ｐｐ．  ３  １０−３２３，  （Ｆｅｂ．  １９９３）。
【０００６】
Ｍｉｌｉｎｄ  Ｂ．  Ｋａｍｂｌｅ  ａｎｄ  Ｋａｎａｄ  Ｇｈｏｓｅ，  Ａｎａｌｙｔｉｃａｌ  Ｅｎｅｒｇｙ  Ｄｉｓｓｉｐａｔｉｏｎ  ＭｏｄｅｌｓＦｏｒ  Ｌｏｗ  Ｐｏｗｅｒ  Ｃａｃｈｅｓ（低電力キャッシュのための分析的エネルギ散逸モデル），  ＩＥＥＥ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｌｏｗ  Ｐｏｗｅｒ  Ｅｌｅｃｔｒｏｎｉｃｓ  ａｎｄ  Ｄｅｓｉｇｎ，  ｐｐ．
１４３−１４８  （１９９７）。
【０００７】
Ｋｉｙｏｏ  Ｉｔｏｈ，  Ｋａｔｓｕｒｏ  Ｓａｓａｋｉ  ａｎｄ  Ｙｏｓｈｉｎｏｂｕ  Ｎａｋａｇｏｍｅ，  Ｔｒｅｎｄｓ  ｉｎ  Ｌｏｗ−ＰｏｗｅｒＲＡＭ  Ｃｉｒｃｕｉｔ  Ｔｅｃｈｎｏｌｏｇｉｅｓ（低電力ＲＡＭ回路技術の動向），  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅＩＥＥＥ，  Ｖｏｌ．  ８３，  Ｎｏ．  ４，  ｐｐ．  ５２４−５４３  （Ａｐｒｉｌ  １９９５）。
【０００８】
Ｔｏｎｙ  Ｇｉｖａｒｇｉｓ，  Ｆｒａｎｋ  Ｖａｈｉｄ  ａｎｄ  Ｊｏｒｇ  Ｈｅｎｋｅｌ，  Ｆａｓｔ  Ｃａｃｈｅ  ａｎｄ  Ｂｕｓ  Ｐｏｗｅｒ  Ｅｓｔｉｍａｔｉｏｎ  ｆｏｒ  Ｐａｒｅｍｅｔｅｒｉｚｅｄ  Ｓｙｓｔｅｍ−Ｏｎ−Ａ−Ｃｈｉｐ  Ｄｅｓｉｇｎ（パラメータ化されたＳｙｓｔｅｍ−Ｏｎ−Ａ−Ｃｈｉｐ設計のためのファスト・キャッシュおよびバス電力の推定），  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ／ＡＣＭ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  ａｎｄ  Ｔｅｓｔ  ｉｎ  Ｅｕｒｏｐｅ
（ＤＡＴＥＧＯ）（Ｍａｒｃｈ  ２０００）。
【０００９】
Ｒｉｃａｒｄｏ  Ｇｏｎｚａｌｅｓ  ａｎｄ  Ｍａｒｋ  Ｈｏｒｏｗｉｔｚ，  Ｅｎｅｒｇｙ  Ｄｉｓｓｉｐａｔｉｏｎ  ｉｎ  Ｇｅｎｅｒａｌ  Ｐｒｏｃｅｓｓｏｒｓ（汎用プロセッサにおけるエネルギ散逸），  ＩＥＥＥ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｌｏｗ  Ｐｏｗｅｒ  Ｅｌｅｃｔｒｏｎｉｃｓ，  ｐｐ．  １２−１３  （１９９５）。
【００１０】
Ｖ．  Ｔｉｗａｒｉ，  Ｌｏｇｉｃ  ａｎｄ  Ｓｙｓｔｅｍ  Ｄｅｓｉｇｎ  ｆｏｒ  Ｌｏｗ  Ｐｏｗｅｒ  Ｃｏｎｓｕｍｐｔｉｏｎ（低電力消費のための論理およびシステム設計），  Ｐｈ．Ｄ．  ｔｈｅｓｉｓ，  Ｐｒｉｎｃｅｔｏｎ  Ｕｎｉｖｅｒｓｉｔｙ，  Ｎｏｖ．  １９９６。
【００１１】
Ｍｉｒｃｅａ  Ｒ．  Ｓｔａｎ  ａｎｄ  Ｗａｙｎｅ  Ｐ．  Ｂｕｒｌｅｓｏｎ，  Ｂｕｓ−Ｉｎｖｅｒｔ  Ｃｏｄｉｎｇ  ｆｏｒ  Ｌｏｗ−Ｐｏｗｅｒ  Ｉ／Ｏ（低電力Ｉ／Ｏのためのバス反転コーディング），  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  ＶＬＳＩ  Ｓｙｓｔｅｍｓ，  Ｖｏｌ．  ３，  Ｎｏ．  １，  ｐｐ．  ４９−５８  （Ｍａｒｃｈ  １９９５）。
【００１２】
Ｐｒｅｅｔｉ  Ｒ．  Ｐａｎｄａ  ａｎｄ  Ｎｉｋｉｌ  Ｄ．  Ｄｕｔｔ，  Ｌｏｗ−Ｐｏｗｅｒ  Ｍｅｍｏｒｙ  Ｍａｐｐｉｎｇ  Ｔｈｒｏｕｇｈ  Ｒｅｄｕｃｉｎｇ  Ａｄｄｒｅｓｓ  Ｂｕｓ  Ａｃｔｉｖｉｔｙ（アドレス・バス・アクティビティの削減による低電力メモリ・マッピング），  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  ＶＬＳＩ  Ｓｙｓｔｅｍｓ，  Ｖｏｌ．  ７，  Ｎｏ．  ３，  ｐｐ．  ３０９−３２０  （Ｓｅｐｔ．  １９９９）。
【００１３】
Ｐａｕｌ  Ｐ．  Ｓｏｔｉｒｉａｄｉｓ  ａｎｄ  Ａｎａｎｔｈａ  Ｃｈａｎｄｒａｋａｓａｎ，  Ｌｏｗ  Ｐｏｗｅｒ  Ｂｕｓ  Ｃｏｄｉｎｇ  Ｔｅｃｈｎｉｑｕｅｓ  Ｃｏｎｓｉｄｅｒｉｎｇ  Ｉｎｔｅｒ−ｗｉｒｅ  Ｃａｐａｃｉｔａｎｃｅｓ（ワイヤ間キャパシタンスを考慮した低電力バス・コーディング技術），  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｕｓｔｏｍ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ，  ｐｐ．  ５０７−５１０  （２０００）。
【００１４】
Ｋｉ−Ｗｏｏｋ  Ｋｉｍ，  Ｋｗａｎｇ−Ｈｙｕｎ  Ｂａｅｋ；  Ｎａｒｅｓｈ  Ｓｈａｎｂｈａｇ，  Ｃ．Ｌ．  Ｌｉｕ  ａｎｄ  Ｓｕｎｇ−Ｍｏ  Ｋａｎｇ，  Ｃｏｕｐｌｉｎｇ−Ｄｒｉｖｅｎ  Ｓｉｇｎａｌ  Ｅｎｃｏｄｉｎｇ  Ｓｃｈｅｍｅ  ｆｏｒ  Ｌｏｗ−Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｄｅｓｉｇｎ（低電力インターフェース設計のためのカップリング駆動型信号エンコーディング方式），  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ  ３７ｔｈ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ，  ｐｐ．  ３１８−３２１  （２０００年）。
【００１５】
Ｌ．  Ｂｅｎｉｎｉ，  Ａ．  Ｍａｃｉｉ  Ｅ．  Ｍａｃｉｉ  Ｍ．  Ｐｏｎｃｉｎｏ  ａｎｄ  Ｒ．  Ｓｃａｒｓｉ，  Ｓｙｎｔｈｅｓｉｓ  ｏｆ  Ｌｏｗ−Ｏｖｅｒｈｅａｄ  Ｉｎｔｅｒｆａｃｅｓ  ｆｏｒ  Ｐｏｗｅｒ−Ｅｆｆｉｃｉｅｎｔ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｏｖｅｒ  Ｗｉｄｅ  Ｂｕｓｅｓ（ワイド・バス上での省電力通信のための低オーバーヘッドなインターフェースの合成），  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ  ３６ｔｈ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ，  ｐｐ．  １２８−１３３  （１９９９年）。
【００１６】
Ｈｕｚｅｆａ  Ｍｅｈｔａ，  Ｒｏｂｅｒｔ  Ｍ．  Ｏｗｅｎｓ  ａｎｄ  Ｍａｒｙ  Ｊ．  Ｉｒｗｉｎ，  Ｓｏｍｅ  Ｉｓｓｕｅｓ  ｉｎ  Ｇｒａｙ  Ｃｏｄｅ  Ａｄｄｒｅｓｓｉｎｇ（グレイ・コード・アドレス指定におけるいくつかの問題），  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ，  ６ｔｈ  Ｇｒｅａｔ  Ｌａｋｅｓ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  ＶＬＳＩ，  ｐｐ．  １７８−１８１  （１９９６）。
【００１７】
Ｃｈｉｎｇ−Ｌｏｎｇ  Ｓｕ，  Ｃｈｉ−Ｙｉｎｇ  Ｔｓｕｉ，  ａｎｄ  Ａｌｖｉｎ  Ｄｅｓｐａｉｎ，  Ｓａｖｉｎｇ  Ｐｏｗｅｒ  Ｉｎ  ｔｈｅ  Ｃｏｎｔｒｏｌ  Ｐａｔｈ  ｏｆ  Ｅｍｂｅｄｄｅｄ  Ｐｒｏｃｅｓｓｏｒｓ（組み込み型プロセッサの制御経路における節電），  ＩＥＥＥ  Ｄｅｓｉｇｎ  ＆  Ｔｅｓｔ  Ｍａｇａｚｉｎｅ，  Ｖｏｌ．  １１，  Ｎｏ．４，  ｐｐ．  ２４−３１  （Ｗｉｎｔｅｒ  １９９４）。
【００１８】
Ｌｕｃａ  Ｂｅｎｉｎｉ，  Ｇｉｏｖａｎｎｉ  Ｄｅ  Ｍｉｃｈｅｌｉ，  Ｅｎｒｉｃｏ  Ｍａｃｉｉ，  Ｄｏｎａｔｅｌｌａ  Ｓｃｉｕｔｏ  ａｎｄ  Ｃｒｉｓｔｉｎａ  Ｓｉｌｖａｎｏ，  Ａｓｙｍｐｔｏｔｉｃ  Ｚｅｒｏ−Ｔｒａｎｓｉｔｉｏｎ  Ａｃｔｉｖｉｔｙ  Ｅｎｃｏｄｉｎｇ  ｆｏｒ  Ａｄｄｒｅｓｓ  Ｂｕｓｓｅｓ  ｉｎ  Ｌｏｗ−Ｐｏｗｅｒ  Ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ−Ｂａｓｅｄ  Ｓｙｓｔｅｍｓ（低電力マイクロプロセッサー・ベース・システム内のアドレス・バスのための漸近性ゼロ遷移アクティビティのエンコーディング），  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ，  ７ｔｈ  Ｇｒｅａｔ  Ｌａｋｅｓ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  ＶＬＳＩ，  ｐｐ．  ７７−８２  （１９９７）。
【００１９】
Ｅｎｒｉｃ  Ｍｕｓｏｌｌ，  Ｔｏｍａｓ  Ｌａｎｇ  ａｎｄ  Ｊｏｒｄｉ  Ｃｏｒｔａｄｅｌｌａ，  Ｗｏｒｋｉｎｇ−Ｚｏｎｅ  Ｅｎｃｏｄｉｎｇ  ｆｏｒ  Ｒｅｄｕｃｉｎｇ  ｔｈｅ  Ｅｎｅｒｇｙ  ｉｎ  Ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ  Ａｄｄｒｅｓｓ  Ｂｕｓｅｓ（マイクロプロセッサのアドレス・バスにおけるエネルギ削減のためのワーキング・ゾーンのエンコーディング），  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  ＶＬＳＩ  Ｓｙｓｔｅｍｓ，  Ｖｏｌ．  ６，  Ｎｏ．  ４，  ｐｐ．  ５６８−５７２
（Ｄｅｃ．  １９９８）。
【００２０】
Ｗｉｌｌｉａｍ  Ｆｏｒｎａｃｉａｒｉ，  Ｄｏｎａｔｅｌｌａ  Ｓｃｉｕｔｏ  ａｎｄ  Ｃｒｉｓｔｉｎａ  Ｓｉｌｖａｎｏ，  Ｐｏｗｅｒ  Ｅｓｔｉｍａｔｉｏｎ  ｆｏｒ  Ａｒｃｈｉｔｅｃｔｕｒａｌ  Ｅｘｐｌｏｒａｔｉｏｎ  ｏｆ  ＨＷ／ＳＷ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｏｎ  Ｓｙｓｔｅｍ−Ｌｅｖｅｌ  Ｂｕｓｅｓ（システム・レベル・バス上のハードウェア／ソフトウェア通信をアーキテクチャ面から探索するための電力推定），  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ  ＩｎｔｅｒｎａｔｉｏｎａｌＷｏｒｋｓｈｏｐ  ｏｎ  ＨＷ／ＳＷ  Ｃｏ−Ｄｅｓｉｇｎ，  ｐｐ．  １５２−１５６  （１９９９）。
【００２１】
Ａｎｄｒｅａ  Ａｃｑｕａｖｉｖａ  ａｎｄ  Ｒｉｃｃａｒｄｏ  Ｓｃａｒｓｉ，  Ａ  Ｓｐａｔｉａｌｌｙ−Ａｄａｐｔｉｖｅ  Ｂｕｓ−Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｌｏｗ−Ｓｗｉｔｃｈｉｎｇ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ（低スイッチング通信のためのスペース適応型バス・インターフェース），  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｌｏｗ  Ｐｏｗｅｒ  Ｅｌｅｃｔｒｏｎｉｃｓ  ａｎｄ  Ｄｅｓｉｇｎ，  ｐｐ．  ２３８−２４０  （２０００）；
Ｓｕｍａｎｔ  Ｒａｍｐｒａｓａｄ，  Ｎａｒｅｓｈ  Ｓｈａｎｂｈａｇ  ａｎｄ  ｌｂｒａｈｉｍ  Ｎ．  Ｈａｊｊ，  Ａ  Ｃｏｄｉｎｇ  Ｆｒａｍｅｗｏｒｋ  ｆｏｒ  Ｌｏｗ−Ｐｏｗｅｒ  Ａｄｄｒｅｓｓ  ａｎｄ  Ｄａｔａ  Ｂｕｓｅｓ（低電力アドレスおよびデータ・バスのためのコーディング・フレームワーク），  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  ＶＬＳＩ  Ｓｙｓｔｅｍｓ，  Ｖｏｌ．  ７，  Ｎｏ．  ２，  ｐｐ．  ２１２−２２１  （Ｊｕｎｅ  １９９９）；
Ｙａｎ  Ｚｈａｎｇ，  Ｗｕ  Ｙｅ  ａｎｄ  Ｍａｒｙ  Ｊ．  Ｉｒｗｉｎ，  Ａｎ  Ａｌｔｅｒｎａｔｉｖｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｆｏｒ  Ｏｎ−Ｃｈｉｐ  Ｇｌｏｂａｌ  Ｉｎｔｅｒｃｏｎｎｅｃｔ：  Ｓｅｇｍｅｎｔｅｄ  Ｂｕｓ  Ｐｏｗｅｒ  Ｍｏｄｅｌｉｎｇ（グローバルなオンチップ相互接続のための代替アーキテクチャ：  セグメント化バス電力モデリング）  Ｃｏｎｆｅｒｅｎｃｅ  Ｒｅｃｏｒｄ  （Ｓｉｇｎａｌｓ，  Ｓｙｓｔｅｍｓ  ＆  Ｃｏｍｐｕｔｅｒｓ）  ｏｆ  ３２ｎｄ  Ａｓｉｌｏｍａｒ  Ｃｏｎｆｅｒｅｎｃｅ，  ｐｐ．  １０６２−１０６５  （１９９８）。および
Ｍｉｒｃｅａ  Ｒ．  Ｓｔａｎ  ａｎｄ  Ｗａｙｎｅ  Ｐ．  Ｂｕｒｌｅｓｏｎ，  Ｌｏｗ−Ｐｏｗｅｒ  Ｅｎｃｏｄｉｎｇｓ  ｆｏｒ  Ｇｌｏｂａｌ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｉｎ  ＣＭＯＳ  ＶＬＳＩ（ＣＭＯＳ  ＶＬＳＩにおけるグローバル通信のための低電力エンコーディング），  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  ＶＬＳＩ  Ｓｙｓｔｅｍｓ，  Ｖｏｌ．  ５，  Ｎｏ．  ４，  ｐｐ．
４４４−４５５  （Ｄｅｃ．  １９９７）。
【００２２】
次に、本発明を理解するための正しい基礎知識を得ていただくため、いくつかのテーマについて論じる。
【００２３】
デジタル・システムの電力消費量を最低限に抑えることは、今やきわめて重要な作業となっている。技術的な観点に立てば、電力やエネルギの消費量が大きいと集積回路が過熱しやくすなり、エレクトロマイグレーション・プロセスなどの悪影響が加速される原因となる。つまり、エネルギ消費量が大きい集積回路は故障する可能性が高いということができる。
【００２４】
アプリケーションの観点に立つ場合も、システムの電力／エネルギの消費量はきわめて重要な要因となる。モバイル・コンピューティング・デバイスを例に取ると、電力／エネルギ消費量が低ければ、１回の充電で可能な動作時間が長くなる。動作時間が長くなると、それまでエネルギの制約（例えば、バッテリーのエネルギ量の不足など）のためにあきらめざるをえなかった追加機能を導入できるようになる。
【００２５】
消費者用デバイスの多くは、単一のシリコン基板上に複数のシステム・コンポーネント（ＣＰＵ、ＭＰＥＧデコーダなど）を搭載したＳｙｓｔｅｍ−Ｏｎ−ａ−Ｃｈｉｐ（ＳＯＣ）として設計されている。ＳＯＣの機能性と複雑性が高まると、コンポーネント間で高効率な（すなわち、高速な）情報交換を行うために必要とされる通信インフラストラクチャも大規模になる。そのため、ＳＯＣの通信インフラストラクチャ（信号グループ、バス線など）が消費するエネルギ量が重大な影響を及ぼすことになる。
【００２６】
また近年では、０．１８ミクロン以下のディープ・サブミクロン設計の活発化により、電力／エネルギ消費量が通信インフラストラクチャに及ぼす影響はさらに増大する傾向にある。これに伴い、過去には無視できていた効果がますますその重要度を増してきている。こうした効果の１つとして、物理的に近接した信号線の間に存在するカップリング・キャパシタンスが挙げられる。信号線同士が空間的に近接しているとワイヤ間のキャパシタンスが増大するため、ワイヤのベース・キャパシタンス（すなわち、ワイヤ金属層間のキャパシタンス）を上回る可能性がある。この意味では「金属層」は、集積回路レイアウト上のゼロの電圧ポテンシャルを有する層ということができる。
【００２７】
ＣＭＯＳ回路については、電力消費量はスイッチング・アクティビティによってのみ発生するものと暗黙的に想定されている。将来には漏れ電流が現在よりも大きな電力消費量の要因となる可能性はあるが、現時点ではＣＭＯＳにおけるスイッチング・アクティビティが電力消費量の最大の要因である。
【００２８】
これらのカップリング効果を念頭に置くと、信号グループのスイッチング・アクティビティ数（アドレス・バス線グループ上の一連の遷移など）はこの信号グループによって消費された電力を必ずしも反映したものではないということができる。Ｎａｊｍが述べているように、この事実は非ディープ・サブミクロン設計に当てはまる。その意味では、非ディープ・サブミクロン設計は、信号線またはデバイスが空間的に近接していても、固有（すなわち、ベース）キャパシタンスと同じオーダーのカップリング・キャパシタンスは生じない設計ということができる。従って、遷移数の最小化のみによって信号線の電力消費量を削減するエンコーディング機構はもはや効率的とはいえない。換言すれば、ディープ・サブミクロン信号線のための効率的なエンコーディング方式はすべて、物理的な信号線の精密モデルをベースとする必要があるということができる。
【００２９】
ＳＯＣの電力モデリング／最適化は、各種システム・コンポーネントを対象に様々な抽象レベルで取り組まれてきた。Ｋａｍｂｌｅ  ｅｔ  ａｌ．は、従来のキャッシュと低電力キャッシュのエネルギ散逸を推定するための分析的モデルについて論じている。Ｉｔｏｈ  ｅｔ  ａｌ．は、動的および静的ランダム・アクセス・メモリ・コンポーネントの省エネルギ化を開示している。Ｇｉｖａｒｇｉｓ  ｅｔ  ａｌ．は、ＳＯＣ内のキャッシュおよびバス・サブシステムの電力消費量を推定するための手法を開示している。ＧｏｎｚａｌｅｓとＨｏｒｏｗｉｔｚは、パイプライン化によって汎用プロセッサ内のエネルギ遅延製品に生じる影響について論じている。以上はあくまで例示であり、集積回路設計の他の領域で取り組まれている電力最適化努力の概要を示すことを唯一の目的とする。
【００３０】
入力／出力バスに対する遷移型アクティビティの最小化を目指した初期の研究は、ＳｔａｎとＢｕｒｌｅｓｏｎによって取り組まれた。この研究は、非逆ワードのハミング距離（ＨＤ）がＨＤ＞Ｎ／２（Ｎは入力／出力バス線数）となるときに、入力／出力バスを介して逆ワードを送信する、という考え方に基づいている。このアプローチでは、最小限の追加論理と、特定の遷移に逆モードが現在適用中であるか否かの信号を送る１個の制御バス線しか必要とされない。Ｐａｎｄａ  ｅｔ  ａｌ．は、メモリ・アレイへのアクセス特性を利用して、アドレス・バスのスイッチング・アクティビティを削減する問題に取り組んだ。この研究では、様々なメモリ構成に対応して、メモリ・マッピングが様々なシナリオで吟味されている。
【００３１】
Ｂｅｎｉｎｉ  ｅｔ  ａｌ．は、幅広で重負荷状態のバスを介して送信される信号をエンコードするための適応型アプローチを提示している。このアプローチでは、アルゴリズムを使用して、重負荷状態のバスにおける平均遷移数を最小化するエンコーディングおよびデコーディング論理が合成される。
【００３２】
Ｐａｎｄａ  ｅｔ  ａｌ．、Ｍｅｔｈａ  ｅｔ  ａｌ．、およびＳｕ  ｅｔ  ａｌ．は、グレイ・コード・エンコーディングを使用して、相関アクセス・パターン（アドレス・バスなど）の利用について研究した。Ｂｅｎｉｎｉ  ｅｔ  ａｌ．は、アドレス・バスでは相当数のパターンが連続しているという事実を利用した方法により、グレイ・コードを改良した。これにより、アドレス・バスの受信側は、アドレス・コードを実際にアドレス・バスを介して送信しないでもアドレスを計算できるようになった。
【００３３】
Ｍｕｓｏｌｌ  ｅｔ  ａｌ．は、マイクロプロセッサ・バスの消費エネルギを削減するためのワーキング・ゾーン・エンコーディング方式を提案した。このエンコーディング方式は、アドレス・ワード内のスイッチング・アクティビティが実際に発生する場所に対応して調整される。Ａｃｑｕａｖｉｖａ  ｅｔ  ａｌ．は、転送中のデータについての事前知識を必要としない空間適応型バス・インターフェースの合成手法を提示した。
【００３４】
Ｒａｍｐｒａｓａｄ  ｅｔ  ａｌ．は、高キャパシタンス・バスに適用可能なアドレスおよびデータ・バス用の各種エンコーディング方式を研究するためのフレームワークを提示している。Ｚｈａｎｇ  ｅｔ  ａｌ．は、バスをセグメント化するアプローチを提供し、小さくて効果的なバス・キャパシタンスをバス遷移中に適用することにより得られる効果を活用できるようにした。Ｆｏｍａｃｉａｒｉ  ｅｔ  ａｌ．は、システム・レベルの観点からバスの電力消費量を調査し、異なるエンコーディング手法におけるキャッシュ・サイズとその他のパラメータの影響を定量化した。通信アーキテクチャのためのシステム・レベル指向アプローチにはもう一つ、Ｓｔａｎ  ｅｔ  ａｌ．によるものがある。このアプローチでは、特に領域とパフォーマンスの影響に的を絞って影響を考慮する低電力エンコーディング手法に焦点をあてられている。
【００３５】
Ｓｏｔｉｒｉａｄｉｓ  ｅｔ  ａｌ．のアプローチでは、ワイヤ金属層間のキャパシタンスだけでなく、信号線間のキャパシタンスも考慮される。ここでは、静的エンコーディング手法を使用して電力節減が実現されている。Ｋｉｍ  ｅｔ  ａｌ．は、カップリングに感応するインバート方式により電力節減をもたらしている。
【００３６】
【発明が解決しようとする課題】
しかし、上述した従来の技術では、以下に述べるような問題点があった。
【００３７】
ディープ・サブミクロン設計においては、遷移アクティビティ（すなわち、低／高、高／低の遷移数）の削減が電力消費量の削減につながるとは限らない。ディープ・サブミクロン信号線の特性とこれらの特性の利用は設計者の間で検討が始まったばかりであるが、近い将来にはこうした特性（すなわち、信号線間のキャパシタンスは、信号線−金属層間のキャパシタンスと同じオーダーであるという特性）の商業利用が実現されるのは必至である。
【００３８】
本発明の第１の目的は、Ｓｏｔｉｒｉａｄｉｓ  ｅｔ  ａｌ．やＫｉｍ  ｅｔ  ａｌ．のアプローチとは異なり、適応型の性質を有し、経時変化する信号線の特性を利用することができるエンコーディング装置とエンコーディング方法を提供することにある。
【００３９】
本発明の第２の目的は、信号線キャパシタンス・モデルによりキャパシタンスが定量化され、エンコーディング方式がこのモデルに対応して調整されるエンコーディング装置とエンコーディング方法を提供することにある。
【００４０】
本発明の第３の目的は、信号線間キャパシタンスを反映した信号線キャパシタンス・モデルと適応型エンコーディング方式が併用されるエンコーディング装置とエンコーディング方法を提供することにある。
【００４１】
本発明の第４の目的は、上記従来技術の欠点を解決し、アドレス・バス用の標準エンコーディング方式として認知されているグレイ・コード・エンコーディングよりも効果的に電力消費量を低減することができるエンコーディング装置とエンコーディング方法を提供することにある。
【００４２】
【課題を解決するための手段】
本発明の第一の態様は、複数の近接した電気信号経路のためのエンコーディング方法を提供し、当該エンコーディング方法は、予め決定された電気インパルス・セットの電気信号経路の各々について遷移アクティビティを決定するステップを備える。例えば、実行中のオブジェクト・コードは、複数の近接した電気信号経路にわたって遷移する予め決定された電気インパルス・セットとみなすことができる。当該エンコーディング方法はさらに、電気信号経路を複数のソース・ウィンドウにグループ化するステップを備え、各ソース・ウィンドウは電気信号経路の一部分から成り、各部分は隣接する電気信号経路から成る。当該エンコーディング方法はさらに、電気信号経路の各々とグラウンド・プレーン層の間のベース・キャパシタンスと、各電気信号経路の各々と信号遷移アクティビティの間のカップリング・キャパシタンスに基づいて、ソース・ウィンドウを複数のターゲット・ウィンドウに交差接続するステップを備える。
【００４３】
当該エンコーディング方法はさらに、信号遷移アクティビティの少ないターゲット・ウィンドウが信号遷移アクティビティの多いターゲット・ウィンドウの間に挿入されるように複数のソース・ウィンドウと複数のターゲット・ウィンドウとの間の接続を構成することによって、ソース・ウィンドウをターゲット・ウィンドウに交差接続するステップを備える。当該エンコーディング方法はさらに、複数のソース・ウィンドウと複数のターゲット・ウィンドウとの間の接続を、信号遷移アクティビティが最も多い電気信号経路を有する２つのターゲット・ウィンドウが残りのターゲット・ウィンドウによって分離されるように構成することによって、ソース・ウィンドウをターゲット・ウィンドウに交差接続するステップを備える。
【００４４】
本発明の第２の態様は、複数の近接した電気信号経路のためのエンコーディング方法を提供し、当該エンコーディング方法は、所定の電気インパルス・セットについて各電気信号経路の信号遷移アクティビティを決定するステップを備える。例えば、実行中のオブジェクト・コードは、複数の近接した電気信号経路にまたがって遷移する予め決定された電気インパルス・セットとみなすことができる。当該エンコーディング方法はさらに、Ｗ＝Ｐ／Ｗｓとなるように電気信号経路を複数のウィンドウに分割するステップを備え、ここで、各ウィンドウは複数の隣接する電気信号経路を備え、Ｗはウィンドウ数、Ｐは電気信号経路数、Ｗｓは各ウィンドウ内の電気信号経路数をそれぞれ表す。当該エンコーディング方法はさらに、大量の信号遷移履歴を伴う電気信号経路を有するウィンドウが少量の信号遷移履歴を伴う電気信号経路を有するウィンドウによって分離されるようにウィンドウを配置するステップを備える。
【００４５】
本発明の第３の態様は、複数の近接した電気信号経路のためのエンコーディング方法を提供し、当該エンコーディング方法は、所定の電気インパルス・セットについて各電気信号経路の信号遷移履歴を決定するステップと、Ｗ＝Ｐ／Ｗｓとなるように電気信号経路を複数のウィンドウに分割するステップを備える。各ウィンドウは複数の隣接する電気信号経路から成り、Ｗはウィンドウ数、Ｐは電気信号経路数、Ｗｓは各ウィンドウ内の電気信号経路数をそれぞれ表す。当該エンコーディング方法はさらに、最大量の信号遷移履歴を伴う電気信号経路を有する２つのウィンドウが残りのウィンドウによって分離されるようにウィンドウを配置するステップを備える。
【００４６】
本発明の第４の態様は、複数の近接した電気信号経路のためのエンコーディング方法を提供し、ここで、予め決定された同期電気インパルス・セットは電気信号経路を横断し、当該エンコーディング方法は、予め決定された同期電気インパルス・セットについて各電気信号経路の信号遷移履歴を決定するステップと、Ｗ＝Ｐ／Ｗｓとなるように電気信号経路を複数のウィンドウに分割するステップを備える。各ウィンドウは複数の隣接する電気信号経路から成り、Ｗはウィンドウ数、Ｐは電気信号経路数、Ｗｓは各ウィンドウ内の電気信号経路数をそれぞれ表す。当該エンコーディング方法はさらに、最大量の信号遷移履歴を伴う電気信号経路を有する２つのウィンドウが残りの他のウィンドウによって分離されるようにウィンドウを配置するステップと、各ウィンドウ内の信号遷移を分析し、過半数のウィンドウが大量の遷移アクティビティを含む場合に同期電気インパルスを反転させるステップを備える。
【００４７】
本発明の第５の態様は、アドレス・バスのためのエンコーディング方法を提供し、ここで、所定の同期アドレス・ビット信号がアドレス・バスをトラバースし、当該エンコーディング方法は、アドレス・バス上の各アドレス・ビットの信号遷移履歴を決定するステップを備える。当該エンコード方法はさらに、Ｗ＝Ｐ／Ｗｓとなるようにアドレス・バスを複数のウィンドウに分割するステップを備える。Ｗはウィンドウ数、Ｐはアドレス・バス内のビット数、Ｗｓはウィンドウ内のアドレス・バス・ビットをそれぞれ表す。当該エンコーディング方法はさらに、最大量の信号遷移履歴を伴うアドレス・バス・ビットを有する２つのウィンドウが残りのウィンドウによって分離されるようにウィンドウを配置するステップと、各ウィンドウ内のアドレス・バス信号の遷移を分析するステップを備える。過半数のウィンドウが大量の遷移アクティビティを含む場合は、アドレス・バスをトラバースするアドレス・ビット信号が反転される。
【００４８】
本発明の第６の態様は、アドレス・バスのためのエンコーディング方法を提供し、ここで、所定の同期アドレス・ビット信号がアドレス・バスをトラバースし、当該エンコーディング方法は、アドレス・バス上の各アドレス・ビットの信号遷移履歴を決定するステップと、Ｗ＝Ｐ／Ｗｓとなるようにアドレス・バスを複数のウィンドウに分割するステップを備える。Ｗはウィンドウ数、Ｐはアドレス・バス内のビット数、Ｗｓはウィンドウ内のアドレス・バス・ビットをそれぞれ表す。当該エンコーディング方法はさらに、大量の信号遷移履歴を伴うアドレス・ビットを有するウィンドウが少量の信号遷移履歴を伴うアドレス・ビットを有するウィンドウによって分離されるようにウィンドウを配置するステップと、各ウィンドウ内のアドレス・バス信号遷移を分析するステップを備える。過半数のウィンドウが大量の遷移アクティビティを含む場合は、アドレス・バスをトラバースするアドレス・ビット信号が反転される。
【００４９】
本発明の第７の態様は、複数の近接した信号線のための信号エンコーディング装置を提供し、当該装置は、複数の近接した信号線に接続された複数のエンコーダと、複数のエンコーダに接続されて各エンコーダの出力間を選択的に切り替える第１マルチプレクサと、第１マルチプレクサに接続された拡張遷移アクティビティ測定回路とを備える。当該装置はさらに、拡張遷移アクティビティ測定回路に接続された第１信号インバータとマルチプレクサに接続された第１コンパレータを提供し、コンパレータはエンコーダ間でマルチプレクサを切り替えるための信号を送信する。
【００５０】
当該信号エンコーディング装置はさらに、第２信号インバータと、第２信号インバータに接続された複数のデコーダと、複数のデコーダに接続された第２マルチプレクサとを備える。当該拡張遷移アクティビティ測定回路は、複数の拡張遷移アクティビティ測定計算回路と、複数の拡張遷移アクティビティ測定計算回路に接続された過半数拡張遷移アクティビティ測定回路とを備える。
【００５１】
本発明の第８の態様は、複数の近接した信号線のための信号エンコーディング装置を提供し、当該装置は、複数の近接した信号線に接続されたエンコーディング手段と、複数のエンコーディング手段に接続されてエンコーディング手段の間を選択的に切り替える第１多重化手段と、第１多重化手段に接続された拡張遷移アクティビティ測定手段とを備える。当該装置はさらに、拡張遷移アクティビティ測定手段に接続された第１信号反転手段と、第１多重化手段に接続された第１比較手段と、エンコーディング手段の間で第１多重化手段を切り替えるための信号を送信する比較手段とを備える。
【００５２】
本発明の装置はさらに、第１信号反転手段の出力に接続された第２信号反転手段と、第１信号反転手段に接続された複数のデコーディング手段と、複数のデコーディング手段に接続された第２多重化手段とを備える。当該拡張遷移アクティビティ測定手段は、複数の拡張遷移アクティビティ測定計算手段と、複数の拡張遷移アクティビティ測定計算手段に接続され、反転信号を出力する過半数拡張遷移アクティビティ測定手段とを備える。
【００５３】
本発明の第９の態様は、複数の近接した信号線のための信号エンコーディング装置を提供し、当該装置は、複数の近接した信号線に接続されて複数の近接した信号線を複数のソース・ウィンドウに分解する複数のエンコーダと、複数のエンコーダに接続されて各エンコーダの出力間を選択的に切り替える第１マルチプレクサと、第１マルチプレクサに接続されて反転信号を出力する拡張遷移アクティビティ測定回路とを備える。当該装置はさらに、拡張遷移アクティビティ測定回路に接続され、反転信号を受信すると第１信号が反転される第１信号インバータと、マルチプレクサに接続され、エンコーダ間でマルチプレクサを切り替えるための信号を送信する第１コンパレータを提供する。
【００５４】
当該装置はさらに、第１信号インバータの出力と反転信号を受信する第２信号インバータと、第２信号インバータに接続された複数のデコーダと、複数のデコーダに接続された第２マルチプレクサとを備える。第２コンパレータは、実行中のタスクのサイズに基づいて第２マルチプレクサにスイッチング信号を出力する。
【００５５】
当該装置の各エンコーダに含まれる複数のソース・ウィンドウは、近接した信号線のキャパシタンスに基づいてターゲット・ウィンドウに交差接続される。具体的には、ソース・ウィンドウと各デコーダに含まれるターゲット・ウィンドウの間の交差接続は、信号遷移アクティビティの少ない信号線を有するターゲット・ウィンドウが、信号遷移アクティビティの多いターゲット・ウィンドウの間に挿入される形で行われる。あるいは、ソース・ウィンドウと各デコーダに含まれるターゲット・ウィンドウの間の交差接続は、信号遷移アクティビティの最も多い信号線を有する２つのターゲット・ウィンドウがその他のターゲット・ウィンドウによって分離される形をとることもできる。
【００５６】
当該装置はさらに、複数の拡張遷移アクティビティ測定計算回路と、複数の拡張遷移アクティビティ測定計算回路に接続された過半数拡張遷移アクティビティ測定回路とを備える拡張遷移アクティビティ測定回路を提供する。当該拡張遷移アクティビティ測定回路は、近接した信号線上の信号遷移を分析し、近接した信号線内の遷移アクティビティに基づいて反転信号を出力する。
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００５７】
まず、本発明の理解の助けとして様々な用語の意味を定めるために、各用語の意味の詳細を述べる。
【００５８】
本明細書で使用される「コンピュータ・システム」という用語は、最も広義に使用されるものであり、スタンドアロン型プロセッサ、ネットワーク接続されたプロセッサ、メインフレーム・プロセッサ、クライアント／サーバの関係にあるプロセッサなどをすべて含む。「コンピュータ・システム」は、少なくともメモリとプロセッサを搭載するものと理解する必要がある。一般に、メモリは実行可能プログラム・コードの少なくとも一部を随時格納し、プロセッサはその実行可能プログラム・コードに含まれる１つ以上の命令を実行する。
【００５９】
本明細書で使用される「組み込みプロセッサ」という用語には、オブジェクト・コードの命令を保持する組み込みマイクロプロセッサおよびメモリなどが含まれる。組み込みプロセッサの例としては、携帯情報端末、携帯電話、デジカメなどが挙げられる。一般に、どんなに原始的であれマイクロプロセッサを使用して搭載機能を制御する限り、デバイスまたは装置は組み込みプロセッサを備えると称することができる。組み込みマイクロプロセッサは、メモリ上に格納されるオブジェクト・コードの命令のうち１つ以上を実行する。組み込みプロセッサには、キャッシュ・メモリ、入力／出力デバイス、その他の周辺装置が含まれる。
【００６０】
本明細書で使用される「所定の演算」、［コンピュータ・システム・ソフトウェア」、「実行可能コード」は、本明細書の説明の趣旨においては実質的に同義である。本発明を実践する上では、メモリとプロセッサを物理的に同じ場所に配置する必要はない。換言すれば、プロセッサとメモリは、物理的に異なる機器に配置することも、さらには地理的に異なる場所に配置することも可能である。
【００６１】
本明細書で使用される「媒体」または「コンピュータ読み取り可能媒体」という用語には、ディスケット、テープ、ＣＤ、集積回路、カートリッジ、通信回線によるリモート送信、その他類似のコンピュータで使用可能な媒体などが含まれる。例えば、サプライヤがコンピュータ・システム・ソフトウェアを配布する際には、ディスケットを提供することも、あるいは所定の演算を実行するための何らかの形式の命令を衛星通信、直接電話接続、インターネットなどを介して送信することもできる。
【００６２】
コンピュータ・システム・ソフトウェアは、ディスケット上に「記述する」ことも、集積回路内に「格納する」ことも、あるいは通信回線上で「搬送」することも可能であるが、本明細書の説明の趣旨においては、コンピュータで使用可能な媒体は、所定の演算を実行するための命令を「保持する」ものとして言及されることは理解されるであろう。従って、「保持する」という用語は、上記と、コンピュータで使用可能な媒体と所定の演算を実行するための命令が関連付けられる上記と同等のすべての方法を包括することが意図される。
【００６３】
よって記述の簡素化のため、以降では、所定の演算を実行するためのあらゆる形式の命令を保持する上記定義のコンピュータ読み取り可能媒体に言及する際には、「プログラム製品」という用語が使用される。
【００６４】
次に、添付図面を参照しつつ本発明の実施の形態について詳細に説明する。
【００６５】
冒頭部分で指摘したように、ディープ・サブミクロン設計は非ディープ・サブミクロン設計とは量的に異なる特性を有する。信号線の電力消費量に関しては、信号線間のカップリング・キャパシタンスが信号線−金属層間のキャパシタンスと同じオーダーだという事実が最も重要な特性となる。
【００６６】
ここで、信号線４に隣接する信号線３の概略断面図である図１を参照する。信号線３、４は基板層２に埋め込まれている。基板層２の下には金属層１がある。各信号線に対しては、２種類のキャパシタンスが作用する（各信号線は、指標ｉで示される）。説明の便宜ため、キャパシタンスはキャパシタンス記号を用いて図示する。ベース・キャパシタンス５（ＣＢ）は、信号線３と金属層１の間のキャパシタンスである。これは「固有キャパシタンス」とも呼ばれる。図１には信号線３と金属層１の間のベース・キャパシタンス５しか示されていないが、実際の使用では、各信号線と金属層１の間にベース・キャパシタンスが存在する。ベース・キャパシタンス５の値は、信号線の形状（すなわち、図１に示す幅ｗと高さｈ）によって左右される。また、ベース・キャパシタンス５の値は、図１に示す信号線３と金属層１の間の距離Ｈによっても左右される。これ以外には、基板層２の材料特性（ξｒ）と金属層１の材料特性と、基板層２に埋め込まれた信号線３の深さが係数となる。これは、信号線３の埋め込まれた部分（ξｒ）の誘電値は、信号線３の露出された部分（ξ０）の誘電値と同一ではないためである。
【００６７】
図１に示すもう一方のキャパシタンスは、隣接する信号線３、４（「線ｉ」、「線ｉ＋１」として示す）の間のカップリング・キャパシタンス６（Ｃ’ｃｉ，ｉ＋１）である。ｗ、ｈ、ξｒの他に、２本の隣接する信号線間の距離Ｄも、カップリング・キャパシタンス６の大きさを決める。両キャパシタンスを正確に定量化する解は、対応する微分方程式を数値的に解くことによって導き出すことができる。単純で正確な公式を示すことができないのは、信号線の断面の形状が長方形でも円形でもないからである。ただし、近似度の高い解を得ることは可能である。これは、信号線の断面の形状が、対応する微分方程式によって直接解を見いだすことのできる複数の円形断面であると想定することによって可能となる。
【００６８】
この想定に基づけば、図１に示す１つのベース・キャパシタンス５と１つのカップリング・キャパシタンス６を得るための公式は以下のようになる。
【００６９】
【数１】
0003562644.tif 000002
従って、信号線ｉの長さ当たりのキャパシタンスＣ’ｉは、ベース・キャパシタンスＣ’Ｂｉ（信号線−金属層）と、信号線ｉと信号線ｉ＋１（最も近い右隣）との間のカップリング・キャパシタンスＣ’ｃｉ，ｉ＋１（信号線−信号線）との重ね合わせとして表すことができる。ただし、この信号線キャパシタンス・モデルでは、集積回路レイアウトの他の層に存在する信号線から生じるキャパシタンスは無視されている。係数ａ０およびｂ０は、数値的手法ではなく、単純な方程式を使用して微分方程式の解を得られるようにするための補正係数である。しかしながら、この近似式が実際には正確な表現であることを証明することは可能である。
【００７０】
Ｃ’Ｂｉ（信号線−金属層）とＣ’ｃｉ，ｉ＋１（信号線−信号線）のキャパシタンス値は、エネルギ消費量を削減するために最小化できる（式１Ｂに適用される）。基本的な方法は以下のとおりである。
【００７１】
１．  信号線−金属層１間の距離Ｈを小さくする。式１Ｂに示されるように、距離Ｈはベース・キャパシタンスＣ’Ｂｉ（信号線−金属層）の値に影響を及ぼす。距離Ｈの値が増大すると、ベース・キャパシタンスＣ’Ｂｉ（信号線−金属層）の値は減少する。典型的には、集積回路の構築に採用される技術工程が距離Ｈの値を決定する。
【００７２】
２．  信号線の断面を小さくする。信号線の断面のパラメータｈおよびｗの値が減少すると、ベース・キャパシタンスＣ’Ｂｉ（信号線−金属層）の値も減少する。上記の説明によれば、信号線の断面パラメータｗは係数ａ０に暗黙的に含まれることに留意されたい。
【００７３】
３．  信号線内の２本の隣接する信号線間のピッチＤを小さくする。信号線ピッチＤの値が増大すると、２本の隣接する信号線の間の対応するカップリング・キャパシタンスＣ’ｃｉ，ｉ＋１（信号線−信号線）は減少する。この信号線ピッチはすべての隣接する信号線の間に存在するので、信号線ピッチＤが一定の大きさを超えると、消費されるチップ面積は許容範囲を超える。例えば、本発明を６４ビット汎用プロセッサのデータ・バスに使用する場合には、このデータ・バス線が使用するチップ面積は非常に大きなものとなる。
【００７４】
信号線の断面積（＝ｈ×ｗ）を小さくするとベース・キャパシタンスＣ’Ｂｉ（信号線−金属層）は減少するが、これには技術的な制約が伴う。使用する技術と電圧ＶＤＤにかかわらず、スイッチングの段階にはある程度の量の電荷（電子の集まり）が移送され、電流密度Ｉ／（ｈ×ｗ）は定数となる。信号線の断面積が小さすぎる場合は、オーバーヒートやエレクトロマイグレーションが発生して信号線が劣化したり破損したりする恐れがある。
【００７５】
ディープ・サブミクロン設計では、信号線の断面積の問題は異なる形状を採用することによって克服される。図２〜図４は、一連の信号線断面の形状を図示したものである。信号線断面の各形状は、面積の点では他の断面形状とほぼ同じである。図４を参照すると、形状係数Ｃは形状係数Ａ（図２）および形状係数Ｂ（図３）と断面積がほぼ同じであるが、チップ面積の消費量は小さい。ただし、隣接する信号線の間のカップリング・キャパシタンスＣ’ｃｉ，ｉ＋１（信号線−信号線）は、断面パラメータｈの増大により増大する（式１Ｂ参照）。図２に示す形状係数Ａは、消費されるチップ面積が大きいという固有な欠点があるため、ディープ・サブミクロン設計では使用されない。非ディープ・サブミクロン設計とディープ・サブミクロン設計の主な違いはこの点にある。図３に示す形状係数Ｂは、他の形状係数の長所を採り入れた形状である。
【００７６】
これまで、１本の信号線と１本の隣接信号線の間のカップリング・キャパシタンスについてのみ検討してきた。カップリング・キャパシタンスは、信号線の近接度によって値が異なるものの、理論上では常に２本の信号線の間に存在するものである。ここで、各信号線に０〜Ｎ−１を付番した信号線セットを想定する。Ｎは、信号線の総数を表す。信号線０の総キャパシタンスは、以下の公式で得ることができる。
【００７７】
Ｃ’０＝Ｃ’Ｂｉ＋Ｃ’Ｃ０，１＋Ｃ’Ｃ０，２＋…＋Ｃ’Ｃ０，Ｎ−１  式２
実際には、２本の信号線の間に常にカップリング・キャパシタンスが存在するわけではなく、式１Ｂの２番目の部分によって正確なカップリング・キャパシタンスが得られるわけでもない。これは、シールド効果と呼ばれる現象による。例えば、信号線ｉ＋１は信号線ｉと信号線ｉ＋２の間のシールドとして作用しうる。信号線間のカップリング・キャパシタンスが小さくなるのは、実際にはこの作用の結果である。以上を念頭に、信号線ｉのキャパシタンスをより一般的な公式で表すとすると、以下のようになる。
【００７８】
【数２】
0003562644.tif 000003
ここで、式３はｉ≠ｊを前提とすることに留意されたい。つまり、前述のとおり、ベース・キャパシタンスＣ’Ｂｉ以外の真性カップリング・キャパシタンスは元来存在しないのである。式３は、すべての部分の物理的な重ね合わせ（総和として表現される）である。次に、各種成分について説明する。
【００７９】
１．  Ｃ’ｃｉ，ｊは、信号線ｉと信号線ｊとの間のカップリング・キャパシタンスである。これは、式１Ｂ（右側パッド）の距離Ｄを実際の距離に置換して計算される（例えば、信号線ｉと信号線ｉ＋３の間の距離は３Ｄ＋２Ｗである）。
【００８０】
２．  ｓ＿ｆｃｔ（｜ｉ、ｊ｜）は、信号線ｉと信号線ｊとの間の物理的な距離に依存するシールド係数を表すシールド効果である。このｓ＿ｆｃｔ（｜ｉ、ｊ｜）により、実際のキャパシタンス値の減少量は、式１Ｂから得られる２本の信号線間の距離のみの減少量よりも多くなる。その理由は、２本の信号線が直接隣接していない場合には、これらの信号線の間に物理的に配置されている信号線が電界の強度を減少させる（すなわち、シールドの働きをする）からである。
【００８１】
３．  ｘｉ，ｊは、２本の信号線の間にカップリング・キャパシタンスが存在しうるかどうかを反映する係数である。図５、図６を参照すると、信号線ｉは「低」の状態から「高」の状態へ遷移している。また同時に、信号線ｊも「低」の状態から「高」の状態に遷移している。そのため、どの時点においても２本の信号線の電圧レベルに差は生じない。従って、信号線ｉは自身と信号線ｊの間にカップリング・キャパシタンスを「認識」せず、同様に信号線ｊも自身と信号線ｉとの間にカップリング・キャパシタンスを認識しない（すなわち、Ｃ’ｃｉ，ｊ＝Ｃ’ｃｊ，ｉ＝０）。図７、図８を参照すると、その逆も真である（すなわち、いずれの信号線も「高」の状態から「低」の状態に遷移する）。
【００８２】
図９、図１０を参照すると、信号線ｉは「低」の状態から「高」の状態へ遷移している。また同時に、信号線ｊも「高」の状態から「低」の状態に遷移している。遷移前の段階に電圧レベルに約ＶＤＤの差があるため、信号線ｉと信号線ｊとの間のカップリング・キャパシタンスが存在する。レイアウトの問題、制作公差による多少の信号速度差、もしくはその他の理由により物理的には２つの信号の間にはスキューが存在する可能性があるが、信号の遷移は同じ時点に発生すると想定する。従って、カップリング・キャパシタンスは存在する。図１１、図１２を参照すると、その逆も真である（すなわち、信号線ｉは「高」の状態から「低」の状態に遷移している）。同時に、信号線ｊもまた「低」の状態から「高」の状態に遷移している。
【００８３】
従って、ｘｉ，ｊに関して以下の係数が得られる。
【００８４】
【数３】
0003562644.tif 000004
信号線キャパシタンス・モデルの係数ｘｉ，ｊで説明されるように、信号線ｉの実際のスイッチング・キャパシタンスＣ’ｃｉは以下によって左右される。
【００８５】
１．  信号線ｉのスイッチング中におけるその他すべての信号線の振る舞い、および
２．  信号線ｉが実際に遷移するかどうかトリビアルなケースでは、信号線ｉはまったく遷移しない（図５〜図１２では図示なし）。信号線は、高／低または低／高の遷移が存在する場合にのみエネルギを消費する。この場合には、同じ信号線における時間的に先行する値と現在の値との間に差が存在するか否かが問題となるのは明らかである。
【００８６】
ディープ・サブミクロン信号モデルはベース・キャパシタンスと同じオーダーのカップリング・キャパシタンスを有しているため、カップリング・キャパシタンスの存在は他の信号線の振る舞いに依存する。すなわち、時間依存性である。ディープ・サブミクロン・バス・モデルの非常に重要な特性は、適用されるキャパシタンスと、ある信号線を介して情報を送信する際のこのキャパシタンスに対応するエネルギ消費量は、（他の信号線に左右されて）随時変化することである。
【００８７】
【表１】
0003562644.tif 000005
表１に、実際のキャパシタンスにおける特性の概要を示す。値は、０．１μｍｍ、１．２ＶのＣＭＯＳプロセスに基づくもので、ディープ・サブミクロン信号線モデルを使用したシミュレーションにより得られた。ΣＣ’ｉ／ｍｉｎΣＣ’ｉ＝１５であるのは興味深い。これは、隣接する信号線を介して３２ビットのワード１個を送信する際の電力消費量に換算すると、１５倍の開きがあることを意味する。ワースト・ケースでは、以下のようになる。
【００８８】
【数４】
0003562644.tif 000006
一方、ベスト・ケースは以下のとおりである。
【００８９】
【数５】
0003562644.tif 000007
続いて、キャパシタンスのＣ’Ｎ／２ｍａｘ／Ｃ’０ｍｉｎの関係が示され、これにより、同一の信号線だけでなく実際には２本の信号線についても最小ケースと最大ケースが比較される。図１３には、３２ビット・バス例の全ビット線に関する正規化済み最大キャパシタンスの増加が示されている。これは、（式３に基づく）各ビット線の最大キャパシタンスは、全ビット線のうち最も小さい最大キャパシタンスに関して設定されることを意味する。
【００９０】
【数６】
0003562644.tif 000008
図１３は、ビット線の最大キャパシタンスにおける増加を示す。ビット線１６の最大キャパシタンスは、ビット線０またはビット線３１の最大キャパシタンスよりも約２５％大きい。この説明は、式１に見いだすことができる。この式では、バス線間の距離がカップリング・キャパシタンスの成分の大きさに影響を及ぼしている。また、境界上のビット線が最も小さい最大キャパシタンスを有することも明らかである（式６参照）。これは、カップリング・キャパシタンスが増大する原因となる近接した線の数が他のビット線よりも少ないためである。表１の「Ｃ’Ｎ／２ｍａｘ／Ｃ’０ｍｉｎ」の項目は、式３および４の最小および最大の影響と、バス線が前述のように配置されている場合の空間的な影響とを合わせた値を示している。この関係は、５９．８７にも達する。この特性は、電力／エネルギの最小化における可能性を表す。
【００９１】
ここで明らかにされる最も重要な特性は、適用される信号線キャパシタンスは（ベース・キャパシタンスの定常部分を除いて）、（１）特定の情報が信号線グループ上のどこ（すなわち、どの信号線）で送信されるか、および（２）信号線グループの他の信号線が特定の信号線に関してスイッチングされるかどうか、の２点によって経時的に変化するということである。これは、何本の信号線が同時にスイッチングされるかだけが問題となる非ディープ・サブミクロン設計の振る舞いにおいては異なる。
【００９２】
電力／エネルギの最小化に利用できる信号線のトランザクションには、共通した、あるいは少なくとも類似した特性がある。例えば、図１４を参照すると、アプリケーションの実行中にアドレス・バス上に発生した遷移数が示されている。この例の分析対象とされる信号線グループは３２ビット・アドレス・バスであり、すべてのアドレス・バス線の遷移が示されている。３２ビット・ワードのアクセスしか実行されないので、アドレス・バス線０および１はまったく遷移していない。さらに、この図からわかるように、最も頻繁にスイッチングしているのはアドレス・バス線２であり、これにアドレス・バス線３以下が続く。遷移数がゼロ以外の最小数となるアドレス・バス線は、アドレス・バス線１７である。これらは命令アドレスへのアクセスであるので、以下の結論を導き出すことができる。
【００９３】
１．  アプリケーションのアドレス空間は幅２１７バイトである。アドレス空間内にプログラムがある場合には、変化しないビットはゼロ遷移を有するため、アドレス・バス線の遷移は発生しえないことに留意されたい。
【００９４】
２．  図１４は、アドレス・バス線指定の増大に伴って遷移数が減少する現象は、カウンタのプロファイルに類似していることを示している。カウンタは、低位のアドレス線ビット上では遷移数が多く、高位のアドレス線ビット上では少ない。メモリ内では命令は当然ながら順次格納されているので、プログラム実行時にはこの特性が現れる。プログラムはループやサブルーチンを実行するので、このプロファイルは予想されるようにカウンタのプロファイルほど整った形ではない。
【００９５】
他のアプリケーションの遷移プロファイルは類似しており、主な違いといえば、プログラムやプロセスのアドレス空間（すなわち、サイズ）の違いを反映してビット線が多少の遷移を示すことぐらいである。図１４と図１３を比較すると、以下を指摘することができる。
【００９６】
１．  アプリケーション例（図１４）は多数のアドレス・バス・ビット線を使用しない。ただし、図１３に示す相対キャパシタンス・プロファイルでは、外部アドレス・ビット線（すなわち、アドレス・ビット線０、１、３０、３１）を利用すると電力／エネルギの消費量が少なくてすむことが示唆される。
【００９７】
２．  すべてのスイッチングビット線は隣接している。ただし、活発にスイッチングを行っているアドレス・ビット線の間に「使用されていない」線を挿入してシールド効果を利用することにより、電力／エネルギの消費量は低減される。
【００９８】
電力／エネルギ消費量は、ビット番号とは異なる番号の付いた信号線を介して論理ビットを送信する（例えば、ワードのビット７を信号線７ではなく信号線１３を介して送信する）ことにより低減できる。ディープ・サブミクロン・モデルによれば、データ送信時には非常に多数の異なるＣｃｉが存在しうる（式２参照）。情報送信時の電力／エネルギ消費量を最小化する方法は、信号線への信号の割り当てを最適化することしかない。最良の割り当てを常時実現することは、以下の理由により不可能である。
【００９９】
１．  複雑性により、最良の解の発見が阻まれる。
【０１００】
２．  バス・トランザクションの事前知識が欠如しているため、最適化をオフラインで実行できず、オンザフライで（システム実行中に）達成するしかない。
【０１０１】
３．  このエンコーディング方式の実行に使用するハードウェアの複雑性を抑制する必要がある。これを行わないと、ハードウェアのために追加される電力／エネルギ消費量がこの方式を適用したことにより節減される電力／エネルギの量を上回ってしまう。
【０１０２】
従って、隣接する信号線には局部の最適化しか適用できない。ウィンドウは以下のように定義される。
【０１０３】
ｗｌ，ｈ（ｗｗ）＝｛ｌ，ｈ｜ｈ−ｌ＝ｗｗ−１，ｈ＞ｌ，ｈ，ｌ≧０，ｈ，ｌ≦ｂｗ−１｝  式７
ここで、ｌ、ｈはそれぞれ、ウィンドウの下側と上側の境界ビット位置、ｗｗはウィンドウ・サイズ（ビット単位）、ｂｗは信号をグルーピングする際のライン（ビット単位）である。この定義を行うことにより、以下に示すものを始めとして、どんな交差接続方式でも使用できるようになる。
【０１０４】
ｗ＿ｔａｒｇｅｔｃ，ｂ（ｗｗ１）≡ｗ＿ｓｏｕｒｃｅａ，ｂ（ｗｗ１）  式８
図１５では、単純割り当てが実行されると想定される。この割り当てにおいては、ソース・ウィンドウの最低位のビットがターゲット・ウィンドウの最低位のビットに割り当てられる。ソース・ウィンドウのビット１２〜１５は、ターゲット・ウィンドウのビット２０〜２３に交差接続される。ウィンドウは同じサイズでなければならない（これにより各交差接続のハードウェアが同じになり、実装が簡素化される）ので、以下の式を満足することがきわめて重要となる。
【０１０５】
ｂｗ  ｍｏｄｕｌｏ  ｗｗ＝０  式９
ｗｗのサイズに対する制約条件は、以下のとおりである。
【０１０６】
１．  ウィンドウが小さすぎると（例えばｗｗ＝１など）、実装に伴う労力が過度に増大する。
【０１０７】
２．  ウィンドウが大きすぎると（例えばｗｗ＝ｂｗ／２など）、信号遷移アクティビティの多いウィンドウが、低電力／エネルギ消費量の面で有効な信号線グルーピングの領域（図１３参照）に割り当てられる可能性が過度に低くなる。
【０１０８】
本発明では、交差接続の割り当て後、信号遷移アクティビティの少ないウィンドウが信号遷移アクティビティの多いウィンドウから確実に分離される。ここでの想定事項は、どのプロセス／プログラムも、単独では使用可能なすべての信号線を消費するほどには大規模でないことである。大規模なアプリケーションは小規模なプログラムやプロセスに分解されるので、この想定事項はほとんどケースに当てはまる。例えば、懸案の信号線がアドレス線の場合には、アドレス線の高位ビットはアドレス線の低位ビットほど頻繁にはスイッチングされないと想定しても何ら問題はない。実際問題として、スイッチング頻度の低い（例えば、まったく異なるアドレス空間に配置された２つのプロセスの間で行なわれる１回のコンテキスト・スイッチの間に１回のみ、など）アドレス線は多数に上る。図１４に図示するアプリケーション例では、アドレス線１８〜３１はスイッチング頻度が低いので、この領域は所要タスクを実行するための複数のウィンドウに分割することが可能である。これは、上記のシールド効果の観点からも好都合である。
【０１０９】
理想的なのは、図１４に示すように、信号遷移アクティビティの多い信号線の数が、信号遷移アクティビティがほとんどない信号線の数とほぼ同数になることである。先に述べたように、プログラムもしくはプロセスが単独で、その基礎を成すハードウェア内で使用可能な信号線の全数を必要とすることは稀である。それよりむしろ、プログラムもしくはプロセスが必要とする信号線があまりに少なくて、使用可能な信号線の過半数がアイドル状態になる可能性の方が高い。この場合には、信号遷移アクティビティの多いウィンドウ同士をできる限り遠く離すことが望ましい。この方策の目的は、シールド効果を最大限に利用することにある。
【０１１０】
図１６〜図１８には、３種類のウィンドウイング方式が図示されている。これらのウィンドウイング方式の目的は、シールド効果を最大化すること、および遷移アクティビティの多い信号の経路指定を、電力／エネルギ消費量の観点から代償が少ないと予想される信号線に変更することにある。
【０１１１】
これらの方式は、２つの異なるプロファイルへの使用を意図したものである。図１６のウィンドウイング方式は、過半数の信号線に遷移アクティビティがある状況に適している。図１７のウィンドウイング方式は、半数未満の信号線に遷移アクティビティがあり、過半数を占める残りの信号線はほとんど使用されない状況に適している。図１８のウィンドウイング方式は、上記２方式の適応型である。
【０１１２】
図１６を参照すると、ソース・ウィンドウｗ０〜ｗ３は信号遷移アクティビティが多く、残りのソース・ウィンドウｗ４〜ｗ７では信号遷移アクティビティがほとんど、もしくはまったくない。ウィンドウｔｗ０〜ｔｗ７は、ソース・ウィンドウｗ０〜ｗ７から交差接続が行なわれたターゲット・ウィンドウを表す。信号遷移アクティビティの多いソース・ウィンドウはターゲット・ウィンドウの間で均等に分布しているため、互いに分離されていることに留意されたい。また、信号遷移数が最も多いソース・ウィンドウ（典型的には、左端のソース・ウィンドウｗ０〜ｗ３）は、信号線グルーピングの境界に分布している。例えば、ソース・ウィンドウｗ２は、近くにあるターゲット・ウィンドウｔｗ２ではなく、ターゲット・ウィンドウｔｗ７に割り当てられている。
【０１１３】
図１７を参照すると、このウィンドウイング方式は、信号遷移アクティビティ量の少ないプログラム／プロセスを意図したものであることを除くと、図１６に図示される方式と同じである。ソース・ウィンドウｗ０〜ｗ３は信号遷移アクティビティが多く、残りのソース・ウィンドウｗ４〜ｗ１５は信号遷移アクティビティがほとんど、もしくはまったくない。このウィンドウイング方式では、信号遷移アクティビティがほとんど、もしくはまったないソース・ウィンドウが、信号遷移アクティビティの多い個別ソース・ウィンドウよりも大きなブロックとしてグループ化される。そのため、多数を占める信号遷移アクティビティの少ないウィンドウが、信号遷移アクティビティの多いウィンドウの間に均等に分布される。
【０１１４】
図１８を参照すると、このウィンドウイング方式は、図１６に図示される方式と類似している。ソース・ウィンドウｗ０〜ｗ１は信号遷移アクティビティが多く、残りのソース・ウィンドウｗ２〜ｗ５は信号遷移アクティビティがほとんど、もしくはまったくない。この方式では、信号遷移数が最も多いソース・ウィンドウ（すなわち、左端のソース・ウィンドウｗ０−ｗ１）は信号線グルーピングの境界に分布しており、信号遷移アクティビティの少ない残りのウィンドウはその間に挿入されている。例えば、ソース・ウィンドウｗ１は、近くにあるターゲット・ウィンドウｔｗ１ではなくターゲット・ウィンドウｔｗ４に割り当てられている。
【０１１５】
本発明のエンコーディング・インターフェースは、実装においてこれらのウィンドウイング方式をサポートする。本発明は、多少なりとも信号線空間を必要とする新規のプログラム／プロセスが起動されると、これらの方式の間で切り替えを行う。そのため、特定のプログラム／プロセスの実行中に、ウィンドウイング方式間の切り替えが行なわれることはない。
【０１１６】
上記のウィンドウイング方式は、信号遷移アクティビティの多いウィンドウを互いに遮蔽して、カップリング・キャパシタンスを最小化する。ただし、高アクティビティのウィンドウを信号線グルーピングの低キャパシタンス領域に割り当てることにより潜在的な電力／エネルギ消費量を最小化することに加えて、特定のウィンドウ内における遷移アクティビティとカップリング・キャパシタンスの影響も最小化する必要がある。
【０１１７】
ウィンドウｗｌ，ｈ（ｗｗ）に関する拡張遷移アクティビティ指標（ＥＴＡＭ：Ｅｘｔｅｎｄｅｄ  Ｔｒａｎｓｉｔｉｏｎ  Ａｃｔｉｖｉｔｙ  Ｍｅａｓｕｒｅ）を定義する必要がある（式７参照）。公式を読みやすくするため、ウィンドウをｗで示す。さらに、ｂｘはウィンドウ内のｘ番目のビットであると想定する。ここで、Ｂｘはそのビットの値（すなわち、Ｂｘ∈｛０、１｝）である。従って、ＥＴＡＭ指標は以下のように定義される。
【０１１８】
【数７】
0003562644.tif 000009
Ｂｉ−１は時間ｔ−１における信号ｂｉ、すなわち時間的に先行する値を示す。従って、Ｂｉ  ｘｏｒ  Ｂｉ−１は信号ｂｉが高／低または低／高の遷移を有するか否かを決定する。この特定の信号はＥＴＡＭ指標に寄与する。なお「ｘｏｒ」は、排他的論理和の演算子であり、上記の式においてはこれを「○」の中に「＋」を示す記号により示している。
【０１１９】
図１９〜図２２には、２つのステージを使用してＥＴＡＭを測定する方法が図示されている。図１９では、第１ステージにおいて、ＥＴＡＭ指標のうちｉ＝ａ＋１が寄与した部分が示されている。点線は、ＥＴＡＭの個々の部分の計算に重要な範囲を示す。表示中のビットはｔ−１で「０」に設定され、ｔ０では「１」に遷移している。ｉ＝ａ＋１のビットは「１」なので、ウィンドウ内の相違するビットの個数がカウントされる。この場合、相違するビットの数は２個（すなわち、ｔ０におけるｉ＝ａ＋２の「０」ビットと＝ａ＋１の「０」ビット）である。図２０を参照すると、ｉ＝ａ＋２の場合は、表示中のビットは遷移しないためＥＴＡＭの個々の部分は０である。ここで示されるＥＴＡＭは、図１９、図２０から一見すると因果関係の原理に違反するようであるが、この違反はないことに留意することはきわめて重要である。そのため、時間ｔ−１に属する信号の集合はレジスタに格納されることに留意されたい。一方、時間ｔ０の信号の集合は、この時点ではまだ出力ではない（例えば、デバイスのＩ／Ｏレジスタにあるにすぎない、など）という理由でレジスタに格納される。そのため、ＥＴＡＭは式１０で意図されるような形にはならない。
【０１２０】
図２１については、検討中のビットのＥＴＡＭ値は３に等しくなる（すなわち、ｉ＝ａ＋１の「０」から「１」への遷移と、ｌ＝ａおよびｂ＝ａ＋２の０ビット）と思われる。図２２については、検討中のビット（すなわち、ｂ＝ａ＋２）のＥＴＡＭ値は１（すなわち、ｉ＝ａ＋１の「１」ビット）に等しくなると思われる。
【０１２１】
式１０によれば、検討中の信号と関連する各信号がＥＴＡＭの最大値に１または０のいずれを寄与するかは、検討中の信号の値が関連の信号の値と相違するかどうかによって決まる。ベース・キャパシタンスは最も近隣のカップリング・キャパシタンス（例えば、４ビット・ウィンドウ内の最大３個の左または右隣）とほぼ同じであることから、各寄与分が同じサイズである（１または０で、他の値は許可されない）という事実は正当である。従って、ベース・キャパシタンスとカップリング・キャパシタンスが電力／エネルギ消費量に寄与する量は実質的に等しい。さらに、シールド効果により、さらに遠くにあるカップリング・キャパシタンスは無視できる程度にとどまる。４ビットのウィンドウ・サイズを採用したのは、この理由による。また、このウィンドウ・サイズを採用することにより、実装用のハードウェアが妥当な量に抑えられる。
【０１２２】
さらに、ＥＴＡＭはウィンドウ内の情報を反転すべきか否かの指標ともなる。ＥＴＡＭは、カップリング・キャパシタンスの影響を測定できる。定期反転方式で使用されるハミング距離の指標では、電力／エネルギ消費量の十分な改善は得られず、遷移数が削減されるにすぎない。遷移数は、必ずしも消費される電力／エネルギ量を反映するとは限らない。
【０１２３】
次に、図２３、図２４を参照しながら、データ・セットにＥＴＡＭ測定を適用した場合のプロセス・フローを詳細に説明する。実際の実装では、各ウィンドウのＥＴＡＭ値を計算する機能は、速度の理由から並行して実行されることに留意されたい。図２３、図２４では、理解しやすいようにＥＴＡＭ計算プロセスを逐次方式で図示する。Ｓ１００で、信号グループ内のウィンドウ数が決定される。Ｓ１１０で、信号グループ内の第１ウィンドウのＥＴＡＭが測定され、得られたＥＴＡＭ測定値が格納される。Ｓ１２０で、ＥＴＡＭ測定値が高いＥＴＡＭ値か否かが決定される。ＥＴＡＭ測定値は、ウィンドウの最大値（ウィンドウ・サイズｗｗにより異なる）の５０％を超える場合に高いＥＴＡＭ値とみなされる。Ｓ１４０で、ＥＴＡＭ測定値が高いＥＴＡＭ値である場合は、高いＥＴＡＭカウンタが増分される。
【０１２４】
Ｓ１５０で、信号グループのすべてのウィンドウについてＥＴＡＭ測定値が取られたかどうかが決定される。信号グループのウィンドウのうち未測定のものが多い場合は、Ｓ１７０で次の処理対象となるウィンドウに進み、Ｓ１２０以降のステップが繰り返される。図２４に示されるように、Ｓ１８０で、測定済みウィンドウの過半数が高いＥＴＡＭ値を有するかどうかの決定が行なわれる。典型的にはこれは、高いＥＴＡＭカウンタを、ウィンドウ数を２で除算した値と突き合わせることによって行なわれる。処理済みウィンドウの過半数が高いＥＴＡＭ測定値を有する場合は、Ｓ２００で、すべてのウィンドウ内の信号情報が反転される。反転モードでのデコーディングが可能であることに留意されたい。全ウィンドウを反転するかしないかのどちらか（すなわち、ウィンドウ間の過半数投票で決定される）なので、信号の反転に使用される追加の信号線は１本だけである。
【０１２５】
次に、図２５、図２６を参照して、本発明の信号エンコーディング・プロセスについて詳細に説明する。前述のＥＴＡＭ測定値プロセスと同様に、実際の実装では、信号エンコーディング・プロセスは速度の理由からハードウェア内で実行されることに留意されたい。信号エンコーディング・プロセスはソフトウェア内でも実装できる。Ｓ３００で、信号グループのデータ・セットが交差接続エンコーディング方式を使用してエンコードされる。交差接続エンコーディング方式には前述した複数種がある。Ｓ３１０で、信号線の遷移アクティビティが、信号グループを構成する信号線数と比較され、この比較に基づいて、複数種の交差接続エンコーディング方式の１つが選択される。Ｓ３２０で、信号線グループ内のデータ・セットのＥＴＡＭ値が計算される。図２３、図２４に示されるように、このＥＴＡＭ値は、遷移前に信号線グループ内のデータ・セットの補完が必要かどうかの決定に使用される。ＥＴＡＭ値が高い場合は、Ｓ３４０で信号線グループ内のデータ・セットが補完される。前述したように、特定のデータ・セットのＥＴＡＭ値が補完の必要性を示唆するかどうかは、その信号グループのウィンドウ・サイズによって決まる。
【０１２６】
Ｓ３５０で、エンコード済みのデータ・セットが信号線をトラバースして送信される。このとき、信号線をトラバースしているデータ・セットを補完するかどうかを示す反転信号も送信される。Ｓ３６０で、エンコード済みのデータ・セットと、エンコードされたデータ・セットを補完するかどうかを示す反転信号が受信される。図２６に示されるように、受信されたエンコード済みデータ・セットが補完されることを反転信号が示す場合には、Ｓ３８０で、受信されたエンコード済みデータ・セットが再度補完される。Ｓ３９０で、エンコード済みデータ・セットは、Ｓ３００でデータのエンコード用に採用された交差接続エンコーディング方式の逆を使用してデコードされる。
【０１２７】
図２７には、信号ウィンドウイングとＥＴＡＭを実装する信号エンコーディング・インターフェースの一実施例が図示されている。説明の便宜のため、信号エンコーディング・インターフェースに入力される信号グループは幅３２ビットとする（Ｓ０〜Ｓ３１）。本発明の信号エンコーディング・インターフェースは３２ビット・バスに限定されない。また、信号エンコーディング・インターフェースのコンセプトは、サイズ・種類を問わずあらゆる信号グループ（すなわち、データ・バス、アドレス・バス、制御信号バスなど）に適用できる。信号エンコーディング・インターフェースは複数のエンコーダ１０〜１１、コンパレータ１２、マルチプレクサ１３、ＥＴＡＭ計算デバイス１４、および信号インバータ１５から成る。本発明による信号−デコーディング・インターフェースは、図３３、図３４に図示されている。以下では、これらの信号−デコーディング・インターフェースについて詳細に説明する。
【０１２８】
図２７を参照すると、複数のエンコーダ１０〜１１は前述したエンコーディング方式を実装している。すなわち、各エンコーダは、図１６〜図１８に示す交差接続方式の１つを実装している。前述したように、各交差接続方式は、対象の信号線数において特定タイプのアプリケーションに適している。コンパレータ１２は、特定のアプリケーションのためにどのエンコーダ１０〜１１を使用するかの決定を行う。典型的には、これは現在実行中のプログラム／プロセスに関連する信号グルーピングのサイズによって決まる。コンパレータ１２への入力の１つは、実行中のアプリケーションおよび／またはタスクのサイズ（すなわち、ＳＩＺＥ）である。コンパレータ１２へのもう一方の入力は、使用されている信号グルーピングのサイズである（すなわち、２Ｎ／２）。コンパレータ１２がそのアプリケーション／タスク用としてどのエンコーダ１０〜１１を選択するかを決定するためには、信号グルーピングのサイズとアプリケーション／タスクのサイズとを比較する必要がある。コンパレータ１２は、その結果に応じてマルチプレクサ１３を切り替えることにより、該当するウィンドウイング方式を活動化する。従ってこの切り替えは１回だけ行なわれる。通常この切り替えが行なわれるのは、サイズの異なる２つのプログラム／プロセスの間のコンテキスト・スイッチが発生したときである。コンパレータはさらに、選択されたウィンドウイング方式が正しくデコードされるように、選択信号を信号−デコーディング・インターフェースに出力する。
【０１２９】
エンコード済みデータ信号はマルチプレクサ１３から出力され、ＥＴＡＭ計算デバイス１４に入力される。ＥＴＡＭ計算デバイス１４はＥＴＡＭ計算を実行し、エンコード済みデータ信号を補完するべきかどうかの決定を行う。ＥＴＡＭ計算デバイス１４は、マルチプレクサ１３から受信したエンコード済みデータ信号のこれ以上のエンコーディングは行わない。ＥＴＡＭ計算デバイス１４はエンコード済みデータ信号とインバート信号ＩＮＶＥＲＴ＿ＳＩＧを信号インバータ１５に出力する。
【０１３０】
信号インバータ１５は、ＥＴＡＭ計算デバイス１４から、エンコード済みデータ信号と信号ＩＮＶＥＲＴ＿ＳＩＧを受信する。ＥＴＡＭ計算デバイス１４がエンコード済みデータ信号の補完が必要ではないと決定した場合には、信号インバータ１５は、エンコード済みデータ信号と、信号−デコーディング・インターフェースに対して着信するエンコード済みデータ信号セットは補完されないことを知らせる信号ＩＮＶＥＲＴ＿ＳＩＧとを出力する。逆に、ＥＴＡＭ計算デバイス１４がエンコード済みデータ信号の補完が必要であると決定した場合には、信号インバータ１５は、エンコード済みデータ信号と、信号−デコーディング・インターフェースに対して着信するエンコード済みデータ信号セットは補完されることを知らせる信号ＩＮＶＥＲＴ＿ＳＩＧとを出力する。
【０１３１】
次に、図２８〜図３２を参照しつつ、ＥＴＡＭ計算デバイス１４についてさらに詳細に説明する。図２８では、３２ビット信号グループ例が各４ビットから成る８つのウィンドウに分解されている。そのため、３２ビット信号グループ例のＥＴＡＭ測定値を処理するために、ＥＴＡＭ計算器回路２０〜２７が必要とされる。各ＥＴＡＭ計算器回路２０〜２７は、そのウィンドウのＥＴＡＭ測定値が高いＥＴＡＭ値かどうかを示す信号を出力する。各ＥＴＡＭ計算器回路２０〜２７の出力信号は、過半数ＥＴＡＭ回路２８に入力される。過半数ＥＴＡＭ回路２８はこれらの入力を収集し、ウィンドウの間でエンコード済みデータ信号Ｓ０〜Ｓ３１の補完を求める過半数投票がなされたかどうかを決定する。そのため、エンコード済み信号線の他に、信号−デコーディング・インターフェースにエンコード済み信号線を正しくデコードさせるための信号ＩＮＶＥＲＴ＿ＳＩＧ（すなわち、過半数ＥＴＡＭ回路２８の出力）も存在する。エンコーディング／デコーディングはオンザフライで実行される（すなわち、追加のクロック・サイクルを消費しない）ことに留意されたい。
【０１３２】
次に、４ビット・ウィンドウ用のＥＴＡＭ計算器回路の実装についてさらに詳細に説明する。４ビット・ウィンドウの実装において使用されるコンセプトは、あらゆるサイズのウィンドウに適用できることに留意されたい。まず式１１は、以下のように書き換えることができる。
【０１３３】
【数８】
0003562644.tif 000010
式１１は、Ｓｉを導入することによってさらに簡潔に書き換えることができる。書き換え後の式は以下のとおりである。
【０１３４】
【数９】
0003562644.tif 000011
ｗ＝４のケースを考慮する場合、（３２ビット信号グルーピング例を想定すると）ＥＴＡＭ計算の対象となるウィンドウは８個になる。表２は、Ｂｉ値の全１６種のケースに関するＥＴＡＭの最大値を示したものである。最初の４カラムは、Ｂｉの異なるビット組み合わせを示し、次の４カラムは式１０に示されるＥＴＡＭ計算の中間値として１＋Ｓｉの値を示す。ＥＴＡＭの最終値は、Ｂｉ−１  ｘｏｒ  Ｂｉ（式１２参照）によって決まる。このＥＴＡＭの最終値は、すべてのＢｉ−１  ｘｏｒ  Ｂｉが１に等しくなったときに最大値になる。従って最後のカラムは、すべてのＢｉ−１が「Ｂｉ−１  ｘｏｒ  Ｂｉの全インスタンス」＝１の状態の場合にＥＴＡＭが保持する最大値を示す。４ビット・ウィンドウ例の場合には、ＥＴＡＭの最大値は１２である。図２３、図２４に示されるように、ＥＴＡＭ値が６（すなわち、ｍａｘ（（ＥＴＡＭ）／２））より大きい場合には常に「１」が出力されなければならない。ＥＴＡＭ＝６の場合には、信号が補完されるかどうかは問題とはならない。設計の簡素化のため、ＥＴＡＭ＝６の場合には信号が補完されるケースと補完されないケースが混在する。なお「ｘｏｒ」は、排他的論理和の演算子であり、上記の式においてはこれを○の中に＋を示す記号により示している。
【０１３５】
【表２】
0003562644.tif 000012
次に、４信号線のウィンドウを有するＥＴＡＭ計算器回路を使用して、本発明の能力を説明する。ＥＴＡＭ≧６の場合には、各ＥＴＡＭ計算器回路は「１」を出力しなけらばならない。表２を参照すると、線１（「００００」）および１６（「１１１１」）はＥＴＡＭ最大値が４となるので、Ｂｉ−１の値にかかわらず「１」が出力されることはない。その他のケースはすべて、ｒｉ＝Ｂｉ−１  ｘｏｒＢｉの値によって反転を適用する候補となる。反転が適用されるケースは２つある。すなわち、すべての信号線で１＋Ｓｉ＝３となるケース（すなわち、表２の線４、６、７、１０、１１、１３）と、「２」が３回と「４」が１回出現するケース（すなわち、表２の線２、３、５、８、９、１２、１４、１５）である。第１のケースでは、６より大きいＥＴＡＭ値を発生させるためには、１に等しいｒｉが少なくとも３個なければならない。換言すれば、少なくとも３個のｒｉ＝Ｂｉ−１  ｘｏｒ  Ｂｉが「１」に等しくなければならない。そのため、設計の簡素化のため、エンコード済み信号は以下の条件が満たされた場合にのみ補完される。
【０１３６】
ｒ０＋ｒ１＋ｒ２＋ｒ３≧３  式１３
そのため、式１３では、ＥＴＡＭ＝６となる、２個のｒｉが１に等しいケースは除外される。第２のケースでは、ＥＴＡＭ＝６に到達する方法が２種類ある。すなわち、（ａ）「４」が１回、「２」が１回出現する場合と、（ｂ）「２」が３回出現する場合である。式１３では、（ｂ）のケースはカバーされるが、（ａ）のケースは除外される。（ａ）のケースをカバーしようとすると回路の複雑性が大幅に高まる。このケースでは、前述したような反転の必要のないＥＴＡＭ値６が得られるので無視される。そのため、ＥＴＡＭ＝６の値は、以下の規則に従って「高いＥＴＡＭ値」とみなされる。
【０１３７】
（ａ）  ３個以上の「２」が「１」を生成する
（ｂ）  １個の「４」と１個の「２」が「１」を生成しない
（ｃ）  ２個の「３」が「１」を生成しない
これらの規則に従うことにより、図２９に示すＥＴＡＭ計算器回路は、式１３が満たされるようにするだけでよくなる。４ビット・ウィンドウの場合、各入力（Ｓｘ−Ｓｘ＋１）は遅延ゲート（３１、３３、３５、３７）および排他的ＯＲゲート（３０、３２、３４、３６）に接続される。遅延ゲートは４ビット・ウィンドウ内の各信号線Ｓｘ−Ｓｘ＋１について、その信号線の直前のデータ・ビットを保持し、この直前のデータ・ビットは排他的ＯＲゲートによって現在のデータ・ビットと比較される。当然ながら、遅延ゲートには、次のデータ・セットで使用するために現在のデータ・ビットも格納される。
【０１３８】
式１３を満たすためには、少なくとも３個の排他的ＯＲゲートが１に設定される必要がある。式１３を満たすためにはさらに、ＥＴＡＭ計算器回路が表２の線２〜１５をカバーするために「１」を生成しなければならない。排他的ＯＲゲートの出力は、ＡＮＤゲート４１〜４４への入力である。ＡＮＤゲート４１〜４４は排他的ＯＲゲートに、少なくとも３個の排他的ＯＲゲートが「１」を出力する場合にＡＮＤゲート４１〜４４のうち少なくとも１個が「１」を出力するように接続される。ＡＮＤゲート４１〜４４の出力はＯＲゲート４５に接続され、ＯＲゲート４５はいずれかのＡＮＤゲートが「１」を出力する場合に「１」を出力する。
【０１３９】
ＥＴＡＭ計算器回路はさらに、式１３でやはり「１」を生成する表２の線１および１６を排除しなければならない。表２の線１および１６を排除するため、ＥＴＡＭ計算器回路は、テストによって「１」である信号Ｂｉをすべて検出するＮＡＮＤゲート３９と、テストによって「０」である信号Ｂｉをすべて検出するＯＲゲート３８を追加する。この結果はＡＮＤゲート４０に入力され、ＡＮＤゲート４０は、式１３の結果に関するイネーブル信号として機能する信号をＡＮＤゲート４６に出力する。信号Ｂｉがすべて「１」または「０」の場合、ＡＮＤゲート４６は「０」を出力し、インバータ４７は「１」を出力する。信号Ｂｉがいずれも「１」または「０」ではない場合には、ＡＮＤゲート４６は式１３の結果（Ａｘ）を出力し、インバータ４７は結果の補数を出力する。
【０１４０】
図２８を参照すると、３２ビット信号グループ例に関して指摘したように、各４ビット・ウィンドウに１個ずつ、計８個のＥＴＡＭ計算器回路２０〜２７が必要とされる。各ＥＴＡＭ計算器回路２０〜２７は、信号Ａｘと、４ビット・ウィンドウが高いＥＴＡＭ値を有するかどうかを示すその補数を出力する。ＥＴＡＭ計算器回路の８個の出力（およびその補数）は過半数ＥＴＡＭ回路２８に接続され、過半数ＥＴＡＭ回路２８は反転信号を出力する。
【０１４１】
次に、図３０を参照しつつ、過半数ＥＴＡＭ回路についてさらに詳細に説明する。８個の出力Ａ０〜Ａ７と補数は２個の過半数４回路５１〜５２に接続され、各過半数４回路はＥＴＡＭ計算器回路から出力を受信する。一方の過半数４回路５１の出力を¬Ｗ０、Ｗ２、Ｗ３、Ｗ４とし、もう一方の過半数４回路５２の出力を¬Ｙ０、Ｙ２、Ｙ３、Ｙ４とする。これらの過半数４回路の出力は過半数組み合わせ回路５３に接続され、過半数組み合わせ回路５３は反転信号ＩＮＶＥＲＴ＿Ｓ１Ｇを出力する。なお「¬」は、否定（補数）を意味する記号であり、図面中においてはこれを上付きの線により示している。
【０１４２】
次に、図３１を参照しつつ、過半数４回路についてさらに詳細に説明する。過半数４回路は８個の入力（すなわち、４個のＥＴＡＭ計算器回路の出力とその補数）を有し、以下の特性を満足する値Ｗｊ（もしくはその補数）を出力する。この特性とは、過半数４回路への８個の入力の間でｊ個の「１」がある場合にのみ、Ｗｊ＝１、というものである。
【０１４３】
過半数４回路への４個の入力を（その補数と共に）ａ、ｂ、ｃ、ｄとして表すとすると、これらの入力はＯＲゲート６０とＮＡＮＤゲート６１〜６９の間で以下のように分布される。
【０１４４】
１．  ＯＲゲート６０は入力ａ、ｂ、ｃ、ｄに接続される。
２．  ＮＡＮＤゲート６１は入力ａ、¬ｂ、¬ｃ、¬ｄに接続される。
３．  ＮＡＮＤゲート６２は入力¬ａ、ｂ、¬ｃ、¬ｄに接続される。
４．  ＮＡＮＤゲート６３は入力¬ａ、¬ｂ、ｃ、¬ｄに接続される。
５．  ＮＡＮＤゲート６４は入力¬ａ、¬ｂ、¬ｃ、ｄに接続される。
６．  ＮＡＮＤゲート６５は入力¬ａ、ｂ、ｃ、ｄに接続される。
７．  ＮＡＮＤゲート６６は入力ａ、¬ｂ、ｃ、ｄに接続される。
８．  ＮＡＮＤゲート６７は入力ａ、ｂ、¬ｃ、ｄに接続される。
９．  ＮＡＮＤゲート６８は入力ａ、ｂ、ｃ、¬ｄに接続される。
１０．  ＮＡＮＤゲート６９は入力ａ、ｂ、ｃ、ｄに接続される。
ＯＲゲート６０の出力はインバータ７３への入力である。ＯＲゲート６０へのすべての入力が「０」の場合、¬Ｗ０における出力信号は「１」になる。同様に、ＮＡＮＤゲート６９の出力はＷ４であり、ＮＡＮＤゲート６９へのすべての入力が「１」の場合にはＷ４は「０」になる。ＡＮＤゲート７０はＮＡＮＤゲート６１〜６４から出力を受信し、ＡＮＤゲート７１はＮＡＮＤゲート６５〜６８の出力を受信する。ＡＮＤゲート７１の出力はＷ３として出力される。ＡＮＤゲート７０、７１、ＯＲゲート６０、ＮＡＮＤゲート６９の出力はＡＮＤゲート７２によって受信され、Ｗ２として出力される。なお「¬」は、否定（補数）を意味する記号であり、図面中においてはこれを上付きの線により示している。
【０１４５】
次に、図３２を参照しつつ、過半数組み合わせ回路５３についてさらに詳細に説明する。過半数組み合わせ回路５３を８個の入力を備えて実装するためには、８個の入力の間に存在する「１」の総数が５を上回る場合に常に「１」を出力する必要がある。換言すれば、出力ＷｊおよびＹｊを生成する２個の回路は、以下を満足する１個の出力を有する。
【０１４６】
Ｍ＝Ｗ４・¬Ｙ０＋¬Ｗ０・Ｙ４＋Ｗ３・Ｙ２＋Ｗ２・Ｙ３＋Ｗ３・Ｙ３  式１４
ＯＲゲート８１〜８５は過半数４回路５１、５２から入力を受信し、ＯＲゲート８１〜８５の出力はＮＡＮＤゲート８６によって結合される。ＮＡＮＤゲート８６へのすべての入力が「１」の場合、ＮＡＮＤゲート８６は、ＥＴＡＭ計算によりエンコード済みデータ・セットの反転が必要であることが示されることを示す信号を出力する。
【０１４７】
次に、図３３を参照しつつ、信号−デコーディング・インターフェースについてさらに詳細に説明する。信号インバータ９０はエンコード済みデータ信号と反転信号ＩＮＶＥＲＴ＿ＳＩＧを受信する。反転信号ＩＮＶＥＲＴ＿ＳＩＧが「１」の場合、エンコード済みデータ信号は再度補完されて元の状態に戻る。反転信号ＩＮＶＥＲＴ＿ＳＩＧが「１」でない場合には、エンコード済みデータ信号はそのまま信号インバータ９０に渡される。信号インバータ９０はエンコード済みデータ信号をマルチプレクサ９４に出力する。マルチプレクサ９４は、デコーダ９１〜９２のうち１個を、エンコーダ１０〜１１における交差接続を反転させるデコーダとして選択する。マルチプレクサ９４は、エンコーディング方式を選択するコンパレータ９３からエンコーディング信号を受信する。コンパレータ９３は、ＳＩＺＥおよび２Ｎ／２の入力（すなわち、図２７に示されるコンパレータ１２が使用するのと同じ入力）に基づいて使用するデコーダを選択するという点において、図２７に示されるコンパレータと同様に動作する。
【０１４８】
次に、図３４を参照しつつ、信号−デコーディング・インターフェースの第２の実施例について説明する。信号−デコーディング・インターフェースは、マルチプレクサ９４を選択するためのコンパレータ９３がないことを除いて、図３３に図示される信号−デコーディング・インターフェースと同一である。選択信号ＥＮＣＯＤＥは、図２７に示される信号エンコーディング・インターフェースから受信される。
【０１４９】
本発明の実施の形態の以上の説明は、説明および解説の目的で提示したものである。この説明は網羅的なものではなく、また本発明を開示された厳密な形式に限定することを意図するものでもない。さらに、上記の教示に基づく変更の実施の形態や異型が可能であり、これらの変更の実施の形態や異型は本発明の実線によって実現されるであろう。本発明およびその実践的な用途の原理を解説した目的は、当該技術に精通する当業者が本発明を様々な実施例において意図される特定の用途に適した様々な変更を加えて利用できるような形で本発明を説明することにある。
【０１５０】
従って、本明細書では本発明のごく一部の実施例のみが特に説明されているが、本発明の精神および範囲から逸脱することなく無数の変更が可能であることは明らかであろう。さらに、略語は明細書と請求項の可読性を高めることを唯一の目的として使用したものである。これらの略語は使用された用語の一般性を減じることを意図して使用されたのではなく、また本明細書で説明される実施例に対する特許請求の範囲を制限するものではない。
【０１５１】
【発明の効果】
以上説明したように本発明によれば、以下のような効果が達成される。
【０１５２】
第１に、従来のアプローチとは異なり本発明は適応型の性質を有するので、経時変化する信号線の特性を利用することができる。
【０１５３】
第２に、本発明では信号線キャパシタンス・モデルによりキャパシタンスが定量化され、エンコーディング方式をこのモデルに対応して調整できる。
【０１５４】
第３に、信号線間キャパシタンスを反映した信号線キャパシタンス・モデルと適応型エンコーディング方式を併用できる。
【０１５５】
第４に、アドレス・バス用の標準エンコーディング方式として認知されているグレイ・コード・エンコーディングよりも効果的に電力消費量を低減することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態の基板材料に埋め込まれた２本の隣接する信号線の断面図である。
【図２】上記実施の形態における信号線の形状係数の一例を図示する図である。
【図３】上記実施の形態における信号線の形状係数の他の例を図示する図である。
【図４】上記実施の形態における信号線の形状係数のさらに他の例を図示する図である。
【図５】上記実施の形態における隣接信号線間のカップリング・キャパシタンスの有無を決定するための隣接信号線の信号遷移の例を示す図である。
【図６】上記実施の形態における隣接信号線間のカップリング・キャパシタンスの有無を決定するための隣接信号線の信号遷移の他例を示す図である。
【図７】上記実施の形態における隣接信号線間のカップリング・キャパシタンスの有無を決定するための隣接信号線の信号遷移の他例を示す図である。
【図８】上記実施の形態における隣接信号線間のカップリング・キャパシタンスの有無を決定するための隣接信号線の信号遷移の他例を示す図である。
【図９】上記実施の形態における隣接信号線間のカップリング・キャパシタンスの有無を決定するための隣接信号線の信号遷移の他例を示す図である。
【図１０】上記実施の形態における隣接信号線間のカップリング・キャパシタンスの有無を決定するための隣接信号線の信号遷移の他例を示す図である。
【図１１】上記実施の形態における隣接信号線間のカップリング・キャパシタンスの有無を決定するための隣接信号線の信号遷移の他例を示す図である。
【図１２】上記実施の形態における隣接信号線間のカップリング・キャパシタンスの有無を決定するための隣接信号線の信号遷移の他例を示す図である。
【図１３】上記実施の形態における複数の隣接信号線間で可能な最大カップリング・キャパシタンスの相対的増大を示す図である。
【図１４】上記実施の形態における一アプリケーション例におけるアドレス・ビット線遷移の累積量を示す図である。
【図１５】本発明による一連のソース・ウィンドウと一連のターゲット・ウィンドウの間の交差接続を示す図である。
【図１６】本発明による第１のウィンドウイング方式の例を示す図である。
【図１７】本発明による第２のウィンドウイング方式の例を示す図である。
【図１８】本発明による第３のウィンドウイング方式の例を示す図である。
【図１９】本発明による拡張遷移アクティビティ測定の計算に使用されるビット配置の例を示す図である。
【図２０】本発明による拡張遷移アクティビティ測定の計算に使用されるビット配置の例を示す図である。
【図２１】本発明による拡張遷移アクティビティ測定の計算に使用されるビット配置の例を示す図である。
【図２２】本発明による拡張遷移アクティビティ測定の計算に使用されるビット配置の例を示す図である。
【図２３】本発明による拡張遷移アクティビティ測定を計算するためのプロセスを説明するフローチャートである。
【図２４】本発明による張遷移アクティビティ測定を計算するためのプロセスを説明するフローチャートである。
【図２５】本発明による信号グループをエンコードおよびデコードするための第１の実施例の処理を説明するフローチャートである。
【図２６】本発明による信号グループをエンコードおよびデコードするための第１の実施例の処理を説明するフローチャートである。
【図２７】本発明による信号グループをエンコードおよびデコードするための第２の実施例を示すブロック図である。
【図２８】本発明による３２ビット信号グループ例のための拡張遷移アクティビティ測定計算器および過半数決定回路の構成を示すブロック図である。
【図２９】本発明による４ビット・ウィンドウ用の拡張遷移アクティビティ測定計算器の構成を示すブロック図である。
【図３０】本発明による３２ビット信号グループ例のための、過半数４決定回路と過半数組み合わせ回路間の接続構成を示すブロック図である。
【図３１】本発明による３２ビット信号グループ例のための過半数４決定回路の一実施例を示す回路図である。
【図３２】本発明による３２ビット信号グループ例のための過半数組み合わせ回路の一実施例を示す回路図である。
【図３３】本発明による信号−デコーディング・インターフェースの一実施例を示す回路図である。
【図３４】本発明による信号−デコーディング・インターフェースの第２の実施例を示すブロック図である。
【符号の説明】
１  金属層
２  基板層
３、４  信号線
５  ベース・キャパシタンス
６  カップリング・キャパシタンス
１０、１１  エンコーダ
１２  コンパレータ
１３  マルチプレクサ
１４  ＥＴＡＭ計算デバイス
１５  信号インバータ
２０〜２７  ＥＴＡＭ計算器回路
２８  過半数ＥＴＡＭ回路
３０、３２、３４、３６  排他的ＯＲゲート
３１、３３、３５、３７  遅延ゲート
３８  ＯＲゲート
３９  ＮＡＮＤゲート
４０  ＡＮＤゲート
４１〜４４  ＡＮＤゲート
４５  ＯＲゲート
４６  ＡＮＤゲート
４７  インバータ
５１、５２  過半数４回路
５３  過半数組み合わせ回路
６０  ＯＲゲート
６１〜６９  ＮＡＮＤゲート
７０、７１  ＡＮＤゲート
７２  ＡＮＤゲート
７３  インバータ
８１〜８５  ＯＲゲート
８６  ＮＡＮＤゲート
９０  信号インバータ
９１〜９２  デコーダ
９３  コンパレータ
９４  マルチプレクサ
【図１】
0003562644.tif 000013
【図２】
0003562644.tif 000014
【図３】
0003562644.tif 000015
【図４】
0003562644.tif 000016
【図５】
0003562644.tif 000017
【図６】
0003562644.tif 000018
【図７】
0003562644.tif 000019
【図８】
0003562644.tif 000020
【図９】
0003562644.tif 000021
【図１０】
0003562644.tif 000022
【図１１】
0003562644.tif 000023
【図１２】
0003562644.tif 000024
【図１３】
0003562644.tif 000025
【図１４】
0003562644.tif 000026
【図１５】
0003562644.tif 000027
【図１６】
0003562644.tif 000028
【図１７】
0003562644.tif 000029
【図１８】
0003562644.tif 000030
【図１９】
0003562644.tif 000031
【図２０】
0003562644.tif 000032
【図２１】
0003562644.tif 000033
【図２２】
0003562644.tif 000034
【図２３】
0003562644.tif 000035
【図２４】
0003562644.tif 000036
【図２５】
0003562644.tif 000037
【図２６】
0003562644.tif 000038
【図２７】
0003562644.tif 000039
【図２８】
0003562644.tif 000040
【図２９】
0003562644.tif 000041
【図３０】
0003562644.tif 000042
【図３１】
0003562644.tif 000043
【図３２】
0003562644.tif 000044
【図３３】
0003562644.tif 000045
【図３４】
0003562644.tif 000046