JP3562644B2 - 低電力ディープ・サブミクロン設計向け適応型アドレスバスのエンコーディング装置とエンコーディング方法 - Google Patents

低電力ディープ・サブミクロン設計向け適応型アドレスバスのエンコーディング装置とエンコーディング方法 Download PDF

Info

Publication number
JP3562644B2
JP3562644B2 JP2002008666A JP2002008666A JP3562644B2 JP 3562644 B2 JP3562644 B2 JP 3562644B2 JP 2002008666 A JP2002008666 A JP 2002008666A JP 2002008666 A JP2002008666 A JP 2002008666A JP 3562644 B2 JP3562644 B2 JP 3562644B2
Authority
JP
Japan
Prior art keywords
signal
windows
encoding
transition
transition activity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002008666A
Other languages
English (en)
Other versions
JP2002353801A (ja
Inventor
ヘンケル ジョージ
レカツァス ハリス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JP2002353801A publication Critical patent/JP2002353801A/ja
Application granted granted Critical
Publication of JP3562644B2 publication Critical patent/JP3562644B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/20Arrangements affording multiple use of the transmission path using different combinations of lines, e.g. phantom working

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、キャパシタンス・カップリング効果に基づく適応型信号エンコーディング方式のエンコーディング装置とエンコーディング方法に関する。
【0002】
【従来の技術】
カップリング効果の例としては、隣接する信号線間のカップリング・キャパシタンスや、信号線と金属層間のカップリング効果などが挙げられる。本発明は、信号線を移動する特定の信号セットにのみ該当する固有な事前知識を前提としない。
【0003】
以下の参考文献には個々の標題をテーマとする有益な背景情報が記載されており、そのすべてが本発明の関連情報である。
【0004】
International Technology Roadmap for Semiconductors(半導体に関する国際技術ロードマップ)」1999年版。この文献は、2001年2月13日にhttp://www.semichips.org/news/events/itrs99/からダウンロードすることができる。
【0005】
Farid N. Najm, Transition Density:A New Measure of Activity in DigitalCircuits(デジタル回路におけるアクティビティの新規指標), IEEE Transactions on Computer−Aided Design of Integrated Circuits and Systems, Vol. 12, No. 2, pp. 3 10−323, (Feb. 1993)。
【0006】
Milind B. Kamble and Kanad Ghose, Analytical Energy Dissipation ModelsFor Low Power Caches(低電力キャッシュのための分析的エネルギ散逸モデル), IEEE Proceedings of Symposium on Low Power Electronics and Design, pp.
143−148 (1997)。
【0007】
Kiyoo Itoh, Katsuro Sasaki and Yoshinobu Nakagome, Trends in Low−PowerRAM Circuit Technologies(低電力RAM回路技術の動向), Proceedings of theIEEE, Vol. 83, No. 4, pp. 524−543 (April 1995)。
【0008】
Tony Givargis, Frank Vahid and Jorg Henkel, Fast Cache and Bus Power Estimation for Paremeterized System−On−A−Chip Design(パラメータ化されたSystem−On−A−Chip設計のためのファスト・キャッシュおよびバス電力の推定), Proceedings of IEEE/ACM Conference on Design Automation and Test in Europe
(DATEGO)(March 2000)。
【0009】
Ricardo Gonzales and Mark Horowitz, Energy Dissipation in General Processors(汎用プロセッサにおけるエネルギ散逸), IEEE Proceedings of Symposium on Low Power Electronics, pp. 12−13 (1995)。
【0010】
V. Tiwari, Logic and System Design for Low Power Consumption(低電力消費のための論理およびシステム設計), Ph.D. thesis, Princeton University, Nov. 1996。
【0011】
Mircea R. Stan and Wayne P. Burleson, Bus−Invert Coding for Low−Power I/O(低電力I/Oのためのバス反転コーディング), IEEE Transactions on VLSI Systems, Vol. 3, No. 1, pp. 49−58 (March 1995)。
【0012】
Preeti R. Panda and Nikil D. Dutt, Low−Power Memory Mapping Through Reducing Address Bus Activity(アドレス・バス・アクティビティの削減による低電力メモリ・マッピング), IEEE Transactions on VLSI Systems, Vol. 7, No. 3, pp. 309−320 (Sept. 1999)。
【0013】
Paul P. Sotiriadis and Anantha Chandrakasan, Low Power Bus Coding Techniques Considering Inter−wire Capacitances(ワイヤ間キャパシタンスを考慮した低電力バス・コーディング技術), Proceedings of IEEE Conference on Custom Integrated Circuits, pp. 507−510 (2000)。
【0014】
Ki−Wook Kim, Kwang−Hyun Baek; Naresh Shanbhag, C.L. Liu and Sung−Mo Kang, Coupling−Driven Signal Encoding Scheme for Low−Power Interface Design(低電力インターフェース設計のためのカップリング駆動型信号エンコーディング方式), Proceedings of IEEE 37th Design Automation Conference, pp. 318−321 (2000年)。
【0015】
L. Benini, A. Macii E. Macii M. Poncino and R. Scarsi, Synthesis of Low−Overhead Interfaces for Power−Efficient Communication over Wide Buses(ワイド・バス上での省電力通信のための低オーバーヘッドなインターフェースの合成), Proceedings of IEEE 36th Design Automation Conference, pp. 128−133 (1999年)。
【0016】
Huzefa Mehta, Robert M. Owens and Mary J. Irwin, Some Issues in Gray Code Addressing(グレイ・コード・アドレス指定におけるいくつかの問題), Proceedings of IEEE Conference, 6th Great Lakes Symposium on VLSI, pp. 178−181 (1996)。
【0017】
Ching−Long Su, Chi−Ying Tsui, and Alvin Despain, Saving Power In the Control Path of Embedded Processors(組み込み型プロセッサの制御経路における節電), IEEE Design & Test Magazine, Vol. 11, No.4, pp. 24−31 (Winter 1994)。
【0018】
Luca Benini, Giovanni De Micheli, Enrico Macii, Donatella Sciuto and Cristina Silvano, Asymptotic Zero−Transition Activity Encoding for Address Busses in Low−Power Microprocessor−Based Systems(低電力マイクロプロセッサー・ベース・システム内のアドレス・バスのための漸近性ゼロ遷移アクティビティのエンコーディング), Proceedings of IEEE Conference, 7th Great Lakes Symposium on VLSI, pp. 77−82 (1997)。
【0019】
Enric Musoll, Tomas Lang and Jordi Cortadella, Working−Zone Encoding for Reducing the Energy in Microprocessor Address Buses(マイクロプロセッサのアドレス・バスにおけるエネルギ削減のためのワーキング・ゾーンのエンコーディング), IEEE Transactions on VLSI Systems, Vol. 6, No. 4, pp. 568−572
(Dec. 1998)。
【0020】
William Fornaciari, Donatella Sciuto and Cristina Silvano, Power Estimation for Architectural Exploration of HW/SW Communication on System−Level Buses(システム・レベル・バス上のハードウェア/ソフトウェア通信をアーキテクチャ面から探索するための電力推定), Proceedings of IEEE InternationalWorkshop on HW/SW Co−Design, pp. 152−156 (1999)。
【0021】
Andrea Acquaviva and Riccardo Scarsi, A Spatially−Adaptive Bus−Interface for Low−Switching Communication(低スイッチング通信のためのスペース適応型バス・インターフェース), Proceedings of IEEE International Symposium on Low Power Electronics and Design, pp. 238−240 (2000);
Sumant Ramprasad, Naresh Shanbhag and lbrahim N. Hajj, A Coding Framework for Low−Power Address and Data Buses(低電力アドレスおよびデータ・バスのためのコーディング・フレームワーク), IEEE Transactions on VLSI Systems, Vol. 7, No. 2, pp. 212−221 (June 1999);
Yan Zhang, Wu Ye and Mary J. Irwin, An Alternative Architecture For On−Chip Global Interconnect: Segmented Bus Power Modeling(グローバルなオンチップ相互接続のための代替アーキテクチャ: セグメント化バス電力モデリング) Conference Record (Signals, Systems & Computers) of 32nd Asilomar Conference, pp. 1062−1065 (1998)。および
Mircea R. Stan and Wayne P. Burleson, Low−Power Encodings for Global Communication in CMOS VLSI(CMOS VLSIにおけるグローバル通信のための低電力エンコーディング), IEEE Transactions on VLSI Systems, Vol. 5, No. 4, pp.
444−455 (Dec. 1997)。
【0022】
次に、本発明を理解するための正しい基礎知識を得ていただくため、いくつかのテーマについて論じる。
【0023】
デジタル・システムの電力消費量を最低限に抑えることは、今やきわめて重要な作業となっている。技術的な観点に立てば、電力やエネルギの消費量が大きいと集積回路が過熱しやくすなり、エレクトロマイグレーション・プロセスなどの悪影響が加速される原因となる。つまり、エネルギ消費量が大きい集積回路は故障する可能性が高いということができる。
【0024】
アプリケーションの観点に立つ場合も、システムの電力/エネルギの消費量はきわめて重要な要因となる。モバイル・コンピューティング・デバイスを例に取ると、電力/エネルギ消費量が低ければ、1回の充電で可能な動作時間が長くなる。動作時間が長くなると、それまでエネルギの制約(例えば、バッテリーのエネルギ量の不足など)のためにあきらめざるをえなかった追加機能を導入できるようになる。
【0025】
消費者用デバイスの多くは、単一のシリコン基板上に複数のシステム・コンポーネント(CPU、MPEGデコーダなど)を搭載したSystem−On−a−Chip(SOC)として設計されている。SOCの機能性と複雑性が高まると、コンポーネント間で高効率な(すなわち、高速な)情報交換を行うために必要とされる通信インフラストラクチャも大規模になる。そのため、SOCの通信インフラストラクチャ(信号グループ、バス線など)が消費するエネルギ量が重大な影響を及ぼすことになる。
【0026】
また近年では、0.18ミクロン以下のディープ・サブミクロン設計の活発化により、電力/エネルギ消費量が通信インフラストラクチャに及ぼす影響はさらに増大する傾向にある。これに伴い、過去には無視できていた効果がますますその重要度を増してきている。こうした効果の1つとして、物理的に近接した信号線の間に存在するカップリング・キャパシタンスが挙げられる。信号線同士が空間的に近接しているとワイヤ間のキャパシタンスが増大するため、ワイヤのベース・キャパシタンス(すなわち、ワイヤ金属層間のキャパシタンス)を上回る可能性がある。この意味では「金属層」は、集積回路レイアウト上のゼロの電圧ポテンシャルを有する層ということができる。
【0027】
CMOS回路については、電力消費量はスイッチング・アクティビティによってのみ発生するものと暗黙的に想定されている。将来には漏れ電流が現在よりも大きな電力消費量の要因となる可能性はあるが、現時点ではCMOSにおけるスイッチング・アクティビティが電力消費量の最大の要因である。
【0028】
これらのカップリング効果を念頭に置くと、信号グループのスイッチング・アクティビティ数(アドレス・バス線グループ上の一連の遷移など)はこの信号グループによって消費された電力を必ずしも反映したものではないということができる。Najmが述べているように、この事実は非ディープ・サブミクロン設計に当てはまる。その意味では、非ディープ・サブミクロン設計は、信号線またはデバイスが空間的に近接していても、固有(すなわち、ベース)キャパシタンスと同じオーダーのカップリング・キャパシタンスは生じない設計ということができる。従って、遷移数の最小化のみによって信号線の電力消費量を削減するエンコーディング機構はもはや効率的とはいえない。換言すれば、ディープ・サブミクロン信号線のための効率的なエンコーディング方式はすべて、物理的な信号線の精密モデルをベースとする必要があるということができる。
【0029】
SOCの電力モデリング/最適化は、各種システム・コンポーネントを対象に様々な抽象レベルで取り組まれてきた。Kamble et al.は、従来のキャッシュと低電力キャッシュのエネルギ散逸を推定するための分析的モデルについて論じている。Itoh et al.は、動的および静的ランダム・アクセス・メモリ・コンポーネントの省エネルギ化を開示している。Givargis et al.は、SOC内のキャッシュおよびバス・サブシステムの電力消費量を推定するための手法を開示している。GonzalesとHorowitzは、パイプライン化によって汎用プロセッサ内のエネルギ遅延製品に生じる影響について論じている。以上はあくまで例示であり、集積回路設計の他の領域で取り組まれている電力最適化努力の概要を示すことを唯一の目的とする。
【0030】
入力/出力バスに対する遷移型アクティビティの最小化を目指した初期の研究は、StanとBurlesonによって取り組まれた。この研究は、非逆ワードのハミング距離(HD)がHD>N/2(Nは入力/出力バス線数)となるときに、入力/出力バスを介して逆ワードを送信する、という考え方に基づいている。このアプローチでは、最小限の追加論理と、特定の遷移に逆モードが現在適用中であるか否かの信号を送る1個の制御バス線しか必要とされない。Panda et al.は、メモリ・アレイへのアクセス特性を利用して、アドレス・バスのスイッチング・アクティビティを削減する問題に取り組んだ。この研究では、様々なメモリ構成に対応して、メモリ・マッピングが様々なシナリオで吟味されている。
【0031】
Benini et al.は、幅広で重負荷状態のバスを介して送信される信号をエンコードするための適応型アプローチを提示している。このアプローチでは、アルゴリズムを使用して、重負荷状態のバスにおける平均遷移数を最小化するエンコーディングおよびデコーディング論理が合成される。
【0032】
Panda et al.、Metha et al.、およびSu et al.は、グレイ・コード・エンコーディングを使用して、相関アクセス・パターン(アドレス・バスなど)の利用について研究した。Benini et al.は、アドレス・バスでは相当数のパターンが連続しているという事実を利用した方法により、グレイ・コードを改良した。これにより、アドレス・バスの受信側は、アドレス・コードを実際にアドレス・バスを介して送信しないでもアドレスを計算できるようになった。
【0033】
Musoll et al.は、マイクロプロセッサ・バスの消費エネルギを削減するためのワーキング・ゾーン・エンコーディング方式を提案した。このエンコーディング方式は、アドレス・ワード内のスイッチング・アクティビティが実際に発生する場所に対応して調整される。Acquaviva et al.は、転送中のデータについての事前知識を必要としない空間適応型バス・インターフェースの合成手法を提示した。
【0034】
Ramprasad et al.は、高キャパシタンス・バスに適用可能なアドレスおよびデータ・バス用の各種エンコーディング方式を研究するためのフレームワークを提示している。Zhang et al.は、バスをセグメント化するアプローチを提供し、小さくて効果的なバス・キャパシタンスをバス遷移中に適用することにより得られる効果を活用できるようにした。Fomaciari et al.は、システム・レベルの観点からバスの電力消費量を調査し、異なるエンコーディング手法におけるキャッシュ・サイズとその他のパラメータの影響を定量化した。通信アーキテクチャのためのシステム・レベル指向アプローチにはもう一つ、Stan et al.によるものがある。このアプローチでは、特に領域とパフォーマンスの影響に的を絞って影響を考慮する低電力エンコーディング手法に焦点をあてられている。
【0035】
Sotiriadis et al.のアプローチでは、ワイヤ金属層間のキャパシタンスだけでなく、信号線間のキャパシタンスも考慮される。ここでは、静的エンコーディング手法を使用して電力節減が実現されている。Kim et al.は、カップリングに感応するインバート方式により電力節減をもたらしている。
【0036】
【発明が解決しようとする課題】
しかし、上述した従来の技術では、以下に述べるような問題点があった。
【0037】
ディープ・サブミクロン設計においては、遷移アクティビティ(すなわち、低/高、高/低の遷移数)の削減が電力消費量の削減につながるとは限らない。ディープ・サブミクロン信号線の特性とこれらの特性の利用は設計者の間で検討が始まったばかりであるが、近い将来にはこうした特性(すなわち、信号線間のキャパシタンスは、信号線−金属層間のキャパシタンスと同じオーダーであるという特性)の商業利用が実現されるのは必至である。
【0038】
本発明の第1の目的は、Sotiriadis et al.やKim et al.のアプローチとは異なり、適応型の性質を有し、経時変化する信号線の特性を利用することができるエンコーディング装置とエンコーディング方法を提供することにある。
【0039】
本発明の第2の目的は、信号線キャパシタンス・モデルによりキャパシタンスが定量化され、エンコーディング方式がこのモデルに対応して調整されるエンコーディング装置とエンコーディング方法を提供することにある。
【0040】
本発明の第3の目的は、信号線間キャパシタンスを反映した信号線キャパシタンス・モデルと適応型エンコーディング方式が併用されるエンコーディング装置とエンコーディング方法を提供することにある。
【0041】
本発明の第4の目的は、上記従来技術の欠点を解決し、アドレス・バス用の標準エンコーディング方式として認知されているグレイ・コード・エンコーディングよりも効果的に電力消費量を低減することができるエンコーディング装置とエンコーディング方法を提供することにある。
【0042】
【課題を解決するための手段】
本発明の第一の態様は、複数の近接した電気信号経路のためのエンコーディング方法を提供し、当該エンコーディング方法は、予め決定された電気インパルス・セットの電気信号経路の各々について遷移アクティビティを決定するステップを備える。例えば、実行中のオブジェクト・コードは、複数の近接した電気信号経路にわたって遷移する予め決定された電気インパルス・セットとみなすことができる。当該エンコーディング方法はさらに、電気信号経路を複数のソース・ウィンドウにグループ化するステップを備え、各ソース・ウィンドウは電気信号経路の一部分から成り、各部分は隣接する電気信号経路から成る。当該エンコーディング方法はさらに、電気信号経路の各々とグラウンド・プレーン層の間のベース・キャパシタンスと、各電気信号経路の各々と信号遷移アクティビティの間のカップリング・キャパシタンスに基づいて、ソース・ウィンドウを複数のターゲット・ウィンドウに交差接続するステップを備える。
【0043】
当該エンコーディング方法はさらに、信号遷移アクティビティの少ないターゲット・ウィンドウが信号遷移アクティビティの多いターゲット・ウィンドウの間に挿入されるように複数のソース・ウィンドウと複数のターゲット・ウィンドウとの間の接続を構成することによって、ソース・ウィンドウをターゲット・ウィンドウに交差接続するステップを備える。当該エンコーディング方法はさらに、複数のソース・ウィンドウと複数のターゲット・ウィンドウとの間の接続を、信号遷移アクティビティが最も多い電気信号経路を有する2つのターゲット・ウィンドウが残りのターゲット・ウィンドウによって分離されるように構成することによって、ソース・ウィンドウをターゲット・ウィンドウに交差接続するステップを備える。
【0044】
本発明の第2の態様は、複数の近接した電気信号経路のためのエンコーディング方法を提供し、当該エンコーディング方法は、所定の電気インパルス・セットについて各電気信号経路の信号遷移アクティビティを決定するステップを備える。例えば、実行中のオブジェクト・コードは、複数の近接した電気信号経路にまたがって遷移する予め決定された電気インパルス・セットとみなすことができる。当該エンコーディング方法はさらに、W=P/Wsとなるように電気信号経路を複数のウィンドウに分割するステップを備え、ここで、各ウィンドウは複数の隣接する電気信号経路を備え、Wはウィンドウ数、Pは電気信号経路数、Wsは各ウィンドウ内の電気信号経路数をそれぞれ表す。当該エンコーディング方法はさらに、大量の信号遷移履歴を伴う電気信号経路を有するウィンドウが少量の信号遷移履歴を伴う電気信号経路を有するウィンドウによって分離されるようにウィンドウを配置するステップを備える。
【0045】
本発明の第3の態様は、複数の近接した電気信号経路のためのエンコーディング方法を提供し、当該エンコーディング方法は、所定の電気インパルス・セットについて各電気信号経路の信号遷移履歴を決定するステップと、W=P/Wsとなるように電気信号経路を複数のウィンドウに分割するステップを備える。各ウィンドウは複数の隣接する電気信号経路から成り、Wはウィンドウ数、Pは電気信号経路数、Wsは各ウィンドウ内の電気信号経路数をそれぞれ表す。当該エンコーディング方法はさらに、最大量の信号遷移履歴を伴う電気信号経路を有する2つのウィンドウが残りのウィンドウによって分離されるようにウィンドウを配置するステップを備える。
【0046】
本発明の第4の態様は、複数の近接した電気信号経路のためのエンコーディング方法を提供し、ここで、予め決定された同期電気インパルス・セットは電気信号経路を横断し、当該エンコーディング方法は、予め決定された同期電気インパルス・セットについて各電気信号経路の信号遷移履歴を決定するステップと、W=P/Wsとなるように電気信号経路を複数のウィンドウに分割するステップを備える。各ウィンドウは複数の隣接する電気信号経路から成り、Wはウィンドウ数、Pは電気信号経路数、Wsは各ウィンドウ内の電気信号経路数をそれぞれ表す。当該エンコーディング方法はさらに、最大量の信号遷移履歴を伴う電気信号経路を有する2つのウィンドウが残りの他のウィンドウによって分離されるようにウィンドウを配置するステップと、各ウィンドウ内の信号遷移を分析し、過半数のウィンドウが大量の遷移アクティビティを含む場合に同期電気インパルスを反転させるステップを備える。
【0047】
本発明の第5の態様は、アドレス・バスのためのエンコーディング方法を提供し、ここで、所定の同期アドレス・ビット信号がアドレス・バスをトラバースし、当該エンコーディング方法は、アドレス・バス上の各アドレス・ビットの信号遷移履歴を決定するステップを備える。当該エンコード方法はさらに、W=P/Wsとなるようにアドレス・バスを複数のウィンドウに分割するステップを備える。Wはウィンドウ数、Pはアドレス・バス内のビット数、Wsはウィンドウ内のアドレス・バス・ビットをそれぞれ表す。当該エンコーディング方法はさらに、最大量の信号遷移履歴を伴うアドレス・バス・ビットを有する2つのウィンドウが残りのウィンドウによって分離されるようにウィンドウを配置するステップと、各ウィンドウ内のアドレス・バス信号の遷移を分析するステップを備える。過半数のウィンドウが大量の遷移アクティビティを含む場合は、アドレス・バスをトラバースするアドレス・ビット信号が反転される。
【0048】
本発明の第6の態様は、アドレス・バスのためのエンコーディング方法を提供し、ここで、所定の同期アドレス・ビット信号がアドレス・バスをトラバースし、当該エンコーディング方法は、アドレス・バス上の各アドレス・ビットの信号遷移履歴を決定するステップと、W=P/Wsとなるようにアドレス・バスを複数のウィンドウに分割するステップを備える。Wはウィンドウ数、Pはアドレス・バス内のビット数、Wsはウィンドウ内のアドレス・バス・ビットをそれぞれ表す。当該エンコーディング方法はさらに、大量の信号遷移履歴を伴うアドレス・ビットを有するウィンドウが少量の信号遷移履歴を伴うアドレス・ビットを有するウィンドウによって分離されるようにウィンドウを配置するステップと、各ウィンドウ内のアドレス・バス信号遷移を分析するステップを備える。過半数のウィンドウが大量の遷移アクティビティを含む場合は、アドレス・バスをトラバースするアドレス・ビット信号が反転される。
【0049】
本発明の第7の態様は、複数の近接した信号線のための信号エンコーディング装置を提供し、当該装置は、複数の近接した信号線に接続された複数のエンコーダと、複数のエンコーダに接続されて各エンコーダの出力間を選択的に切り替える第1マルチプレクサと、第1マルチプレクサに接続された拡張遷移アクティビティ測定回路とを備える。当該装置はさらに、拡張遷移アクティビティ測定回路に接続された第1信号インバータとマルチプレクサに接続された第1コンパレータを提供し、コンパレータはエンコーダ間でマルチプレクサを切り替えるための信号を送信する。
【0050】
当該信号エンコーディング装置はさらに、第2信号インバータと、第2信号インバータに接続された複数のデコーダと、複数のデコーダに接続された第2マルチプレクサとを備える。当該拡張遷移アクティビティ測定回路は、複数の拡張遷移アクティビティ測定計算回路と、複数の拡張遷移アクティビティ測定計算回路に接続された過半数拡張遷移アクティビティ測定回路とを備える。
【0051】
本発明の第8の態様は、複数の近接した信号線のための信号エンコーディング装置を提供し、当該装置は、複数の近接した信号線に接続されたエンコーディング手段と、複数のエンコーディング手段に接続されてエンコーディング手段の間を選択的に切り替える第1多重化手段と、第1多重化手段に接続された拡張遷移アクティビティ測定手段とを備える。当該装置はさらに、拡張遷移アクティビティ測定手段に接続された第1信号反転手段と、第1多重化手段に接続された第1比較手段と、エンコーディング手段の間で第1多重化手段を切り替えるための信号を送信する比較手段とを備える。
【0052】
本発明の装置はさらに、第1信号反転手段の出力に接続された第2信号反転手段と、第1信号反転手段に接続された複数のデコーディング手段と、複数のデコーディング手段に接続された第2多重化手段とを備える。当該拡張遷移アクティビティ測定手段は、複数の拡張遷移アクティビティ測定計算手段と、複数の拡張遷移アクティビティ測定計算手段に接続され、反転信号を出力する過半数拡張遷移アクティビティ測定手段とを備える。
【0053】
本発明の第9の態様は、複数の近接した信号線のための信号エンコーディング装置を提供し、当該装置は、複数の近接した信号線に接続されて複数の近接した信号線を複数のソース・ウィンドウに分解する複数のエンコーダと、複数のエンコーダに接続されて各エンコーダの出力間を選択的に切り替える第1マルチプレクサと、第1マルチプレクサに接続されて反転信号を出力する拡張遷移アクティビティ測定回路とを備える。当該装置はさらに、拡張遷移アクティビティ測定回路に接続され、反転信号を受信すると第1信号が反転される第1信号インバータと、マルチプレクサに接続され、エンコーダ間でマルチプレクサを切り替えるための信号を送信する第1コンパレータを提供する。
【0054】
当該装置はさらに、第1信号インバータの出力と反転信号を受信する第2信号インバータと、第2信号インバータに接続された複数のデコーダと、複数のデコーダに接続された第2マルチプレクサとを備える。第2コンパレータは、実行中のタスクのサイズに基づいて第2マルチプレクサにスイッチング信号を出力する。
【0055】
当該装置の各エンコーダに含まれる複数のソース・ウィンドウは、近接した信号線のキャパシタンスに基づいてターゲット・ウィンドウに交差接続される。具体的には、ソース・ウィンドウと各デコーダに含まれるターゲット・ウィンドウの間の交差接続は、信号遷移アクティビティの少ない信号線を有するターゲット・ウィンドウが、信号遷移アクティビティの多いターゲット・ウィンドウの間に挿入される形で行われる。あるいは、ソース・ウィンドウと各デコーダに含まれるターゲット・ウィンドウの間の交差接続は、信号遷移アクティビティの最も多い信号線を有する2つのターゲット・ウィンドウがその他のターゲット・ウィンドウによって分離される形をとることもできる。
【0056】
当該装置はさらに、複数の拡張遷移アクティビティ測定計算回路と、複数の拡張遷移アクティビティ測定計算回路に接続された過半数拡張遷移アクティビティ測定回路とを備える拡張遷移アクティビティ測定回路を提供する。当該拡張遷移アクティビティ測定回路は、近接した信号線上の信号遷移を分析し、近接した信号線内の遷移アクティビティに基づいて反転信号を出力する。
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0057】
まず、本発明の理解の助けとして様々な用語の意味を定めるために、各用語の意味の詳細を述べる。
【0058】
本明細書で使用される「コンピュータ・システム」という用語は、最も広義に使用されるものであり、スタンドアロン型プロセッサ、ネットワーク接続されたプロセッサ、メインフレーム・プロセッサ、クライアント/サーバの関係にあるプロセッサなどをすべて含む。「コンピュータ・システム」は、少なくともメモリとプロセッサを搭載するものと理解する必要がある。一般に、メモリは実行可能プログラム・コードの少なくとも一部を随時格納し、プロセッサはその実行可能プログラム・コードに含まれる1つ以上の命令を実行する。
【0059】
本明細書で使用される「組み込みプロセッサ」という用語には、オブジェクト・コードの命令を保持する組み込みマイクロプロセッサおよびメモリなどが含まれる。組み込みプロセッサの例としては、携帯情報端末、携帯電話、デジカメなどが挙げられる。一般に、どんなに原始的であれマイクロプロセッサを使用して搭載機能を制御する限り、デバイスまたは装置は組み込みプロセッサを備えると称することができる。組み込みマイクロプロセッサは、メモリ上に格納されるオブジェクト・コードの命令のうち1つ以上を実行する。組み込みプロセッサには、キャッシュ・メモリ、入力/出力デバイス、その他の周辺装置が含まれる。
【0060】
本明細書で使用される「所定の演算」、[コンピュータ・システム・ソフトウェア」、「実行可能コード」は、本明細書の説明の趣旨においては実質的に同義である。本発明を実践する上では、メモリとプロセッサを物理的に同じ場所に配置する必要はない。換言すれば、プロセッサとメモリは、物理的に異なる機器に配置することも、さらには地理的に異なる場所に配置することも可能である。
【0061】
本明細書で使用される「媒体」または「コンピュータ読み取り可能媒体」という用語には、ディスケット、テープ、CD、集積回路、カートリッジ、通信回線によるリモート送信、その他類似のコンピュータで使用可能な媒体などが含まれる。例えば、サプライヤがコンピュータ・システム・ソフトウェアを配布する際には、ディスケットを提供することも、あるいは所定の演算を実行するための何らかの形式の命令を衛星通信、直接電話接続、インターネットなどを介して送信することもできる。
【0062】
コンピュータ・システム・ソフトウェアは、ディスケット上に「記述する」ことも、集積回路内に「格納する」ことも、あるいは通信回線上で「搬送」することも可能であるが、本明細書の説明の趣旨においては、コンピュータで使用可能な媒体は、所定の演算を実行するための命令を「保持する」ものとして言及されることは理解されるであろう。従って、「保持する」という用語は、上記と、コンピュータで使用可能な媒体と所定の演算を実行するための命令が関連付けられる上記と同等のすべての方法を包括することが意図される。
【0063】
よって記述の簡素化のため、以降では、所定の演算を実行するためのあらゆる形式の命令を保持する上記定義のコンピュータ読み取り可能媒体に言及する際には、「プログラム製品」という用語が使用される。
【0064】
次に、添付図面を参照しつつ本発明の実施の形態について詳細に説明する。
【0065】
冒頭部分で指摘したように、ディープ・サブミクロン設計は非ディープ・サブミクロン設計とは量的に異なる特性を有する。信号線の電力消費量に関しては、信号線間のカップリング・キャパシタンスが信号線−金属層間のキャパシタンスと同じオーダーだという事実が最も重要な特性となる。
【0066】
ここで、信号線4に隣接する信号線3の概略断面図である図1を参照する。信号線3、4は基板層2に埋め込まれている。基板層2の下には金属層1がある。各信号線に対しては、2種類のキャパシタンスが作用する(各信号線は、指標iで示される)。説明の便宜ため、キャパシタンスはキャパシタンス記号を用いて図示する。ベース・キャパシタンス5(C)は、信号線3と金属層1の間のキャパシタンスである。これは「固有キャパシタンス」とも呼ばれる。図1には信号線3と金属層1の間のベース・キャパシタンス5しか示されていないが、実際の使用では、各信号線と金属層1の間にベース・キャパシタンスが存在する。ベース・キャパシタンス5の値は、信号線の形状(すなわち、図1に示す幅wと高さh)によって左右される。また、ベース・キャパシタンス5の値は、図1に示す信号線3と金属層1の間の距離Hによっても左右される。これ以外には、基板層2の材料特性(ξ)と金属層1の材料特性と、基板層2に埋め込まれた信号線3の深さが係数となる。これは、信号線3の埋め込まれた部分(ξ)の誘電値は、信号線3の露出された部分(ξ)の誘電値と同一ではないためである。
【0067】
図1に示すもう一方のキャパシタンスは、隣接する信号線3、4(「線i」、「線i+1」として示す)の間のカップリング・キャパシタンス6(C’ci,i+1)である。w、h、ξの他に、2本の隣接する信号線間の距離Dも、カップリング・キャパシタンス6の大きさを決める。両キャパシタンスを正確に定量化する解は、対応する微分方程式を数値的に解くことによって導き出すことができる。単純で正確な公式を示すことができないのは、信号線の断面の形状が長方形でも円形でもないからである。ただし、近似度の高い解を得ることは可能である。これは、信号線の断面の形状が、対応する微分方程式によって直接解を見いだすことのできる複数の円形断面であると想定することによって可能となる。
【0068】
この想定に基づけば、図1に示す1つのベース・キャパシタンス5と1つのカップリング・キャパシタンス6を得るための公式は以下のようになる。
【0069】
【数1】
Figure 0003562644
従って、信号線iの長さ当たりのキャパシタンスC’は、ベース・キャパシタンスC’Bi(信号線−金属層)と、信号線iと信号線i+1(最も近い右隣)との間のカップリング・キャパシタンスC’ci,i+1(信号線−信号線)との重ね合わせとして表すことができる。ただし、この信号線キャパシタンス・モデルでは、集積回路レイアウトの他の層に存在する信号線から生じるキャパシタンスは無視されている。係数aおよびbは、数値的手法ではなく、単純な方程式を使用して微分方程式の解を得られるようにするための補正係数である。しかしながら、この近似式が実際には正確な表現であることを証明することは可能である。
【0070】
C’Bi(信号線−金属層)とC’ci,i+1(信号線−信号線)のキャパシタンス値は、エネルギ消費量を削減するために最小化できる(式1Bに適用される)。基本的な方法は以下のとおりである。
【0071】
1. 信号線−金属層1間の距離Hを小さくする。式1Bに示されるように、距離Hはベース・キャパシタンスC’Bi(信号線−金属層)の値に影響を及ぼす。距離Hの値が増大すると、ベース・キャパシタンスC’Bi(信号線−金属層)の値は減少する。典型的には、集積回路の構築に採用される技術工程が距離Hの値を決定する。
【0072】
2. 信号線の断面を小さくする。信号線の断面のパラメータhおよびwの値が減少すると、ベース・キャパシタンスC’Bi(信号線−金属層)の値も減少する。上記の説明によれば、信号線の断面パラメータwは係数aに暗黙的に含まれることに留意されたい。
【0073】
3. 信号線内の2本の隣接する信号線間のピッチDを小さくする。信号線ピッチDの値が増大すると、2本の隣接する信号線の間の対応するカップリング・キャパシタンスC’ci,i+1(信号線−信号線)は減少する。この信号線ピッチはすべての隣接する信号線の間に存在するので、信号線ピッチDが一定の大きさを超えると、消費されるチップ面積は許容範囲を超える。例えば、本発明を64ビット汎用プロセッサのデータ・バスに使用する場合には、このデータ・バス線が使用するチップ面積は非常に大きなものとなる。
【0074】
信号線の断面積(=h×w)を小さくするとベース・キャパシタンスC’Bi(信号線−金属層)は減少するが、これには技術的な制約が伴う。使用する技術と電圧VDDにかかわらず、スイッチングの段階にはある程度の量の電荷(電子の集まり)が移送され、電流密度I/(h×w)は定数となる。信号線の断面積が小さすぎる場合は、オーバーヒートやエレクトロマイグレーションが発生して信号線が劣化したり破損したりする恐れがある。
【0075】
ディープ・サブミクロン設計では、信号線の断面積の問題は異なる形状を採用することによって克服される。図2〜図4は、一連の信号線断面の形状を図示したものである。信号線断面の各形状は、面積の点では他の断面形状とほぼ同じである。図4を参照すると、形状係数Cは形状係数A(図2)および形状係数B(図3)と断面積がほぼ同じであるが、チップ面積の消費量は小さい。ただし、隣接する信号線の間のカップリング・キャパシタンスC’ci,i+1(信号線−信号線)は、断面パラメータhの増大により増大する(式1B参照)。図2に示す形状係数Aは、消費されるチップ面積が大きいという固有な欠点があるため、ディープ・サブミクロン設計では使用されない。非ディープ・サブミクロン設計とディープ・サブミクロン設計の主な違いはこの点にある。図3に示す形状係数Bは、他の形状係数の長所を採り入れた形状である。
【0076】
これまで、1本の信号線と1本の隣接信号線の間のカップリング・キャパシタンスについてのみ検討してきた。カップリング・キャパシタンスは、信号線の近接度によって値が異なるものの、理論上では常に2本の信号線の間に存在するものである。ここで、各信号線に0〜N−1を付番した信号線セットを想定する。Nは、信号線の総数を表す。信号線0の総キャパシタンスは、以下の公式で得ることができる。
【0077】
C’=C’Bi+C’C0,1+C’C0,2+…+C’C0,N−1 式2
実際には、2本の信号線の間に常にカップリング・キャパシタンスが存在するわけではなく、式1Bの2番目の部分によって正確なカップリング・キャパシタンスが得られるわけでもない。これは、シールド効果と呼ばれる現象による。例えば、信号線i+1は信号線iと信号線i+2の間のシールドとして作用しうる。信号線間のカップリング・キャパシタンスが小さくなるのは、実際にはこの作用の結果である。以上を念頭に、信号線iのキャパシタンスをより一般的な公式で表すとすると、以下のようになる。
【0078】
【数2】
Figure 0003562644
ここで、式3はi≠jを前提とすることに留意されたい。つまり、前述のとおり、ベース・キャパシタンスC’Bi以外の真性カップリング・キャパシタンスは元来存在しないのである。式3は、すべての部分の物理的な重ね合わせ(総和として表現される)である。次に、各種成分について説明する。
【0079】
1. C’ci,jは、信号線iと信号線jとの間のカップリング・キャパシタンスである。これは、式1B(右側パッド)の距離Dを実際の距離に置換して計算される(例えば、信号線iと信号線i+3の間の距離は3D+2Wである)。
【0080】
2. s_fct(|i、j|)は、信号線iと信号線jとの間の物理的な距離に依存するシールド係数を表すシールド効果である。このs_fct(|i、j|)により、実際のキャパシタンス値の減少量は、式1Bから得られる2本の信号線間の距離のみの減少量よりも多くなる。その理由は、2本の信号線が直接隣接していない場合には、これらの信号線の間に物理的に配置されている信号線が電界の強度を減少させる(すなわち、シールドの働きをする)からである。
【0081】
3. xi,jは、2本の信号線の間にカップリング・キャパシタンスが存在しうるかどうかを反映する係数である。図5、図6を参照すると、信号線iは「低」の状態から「高」の状態へ遷移している。また同時に、信号線jも「低」の状態から「高」の状態に遷移している。そのため、どの時点においても2本の信号線の電圧レベルに差は生じない。従って、信号線iは自身と信号線jの間にカップリング・キャパシタンスを「認識」せず、同様に信号線jも自身と信号線iとの間にカップリング・キャパシタンスを認識しない(すなわち、C’ci,j=C’cj,i=0)。図7、図8を参照すると、その逆も真である(すなわち、いずれの信号線も「高」の状態から「低」の状態に遷移する)。
【0082】
図9、図10を参照すると、信号線iは「低」の状態から「高」の状態へ遷移している。また同時に、信号線jも「高」の状態から「低」の状態に遷移している。遷移前の段階に電圧レベルに約VDDの差があるため、信号線iと信号線jとの間のカップリング・キャパシタンスが存在する。レイアウトの問題、制作公差による多少の信号速度差、もしくはその他の理由により物理的には2つの信号の間にはスキューが存在する可能性があるが、信号の遷移は同じ時点に発生すると想定する。従って、カップリング・キャパシタンスは存在する。図11、図12を参照すると、その逆も真である(すなわち、信号線iは「高」の状態から「低」の状態に遷移している)。同時に、信号線jもまた「低」の状態から「高」の状態に遷移している。
【0083】
従って、xi,jに関して以下の係数が得られる。
【0084】
【数3】
Figure 0003562644
信号線キャパシタンス・モデルの係数xi,jで説明されるように、信号線iの実際のスイッチング・キャパシタンスC’ciは以下によって左右される。
【0085】
1. 信号線iのスイッチング中におけるその他すべての信号線の振る舞い、および
2. 信号線iが実際に遷移するかどうかトリビアルなケースでは、信号線iはまったく遷移しない(図5〜図12では図示なし)。信号線は、高/低または低/高の遷移が存在する場合にのみエネルギを消費する。この場合には、同じ信号線における時間的に先行する値と現在の値との間に差が存在するか否かが問題となるのは明らかである。
【0086】
ディープ・サブミクロン信号モデルはベース・キャパシタンスと同じオーダーのカップリング・キャパシタンスを有しているため、カップリング・キャパシタンスの存在は他の信号線の振る舞いに依存する。すなわち、時間依存性である。ディープ・サブミクロン・バス・モデルの非常に重要な特性は、適用されるキャパシタンスと、ある信号線を介して情報を送信する際のこのキャパシタンスに対応するエネルギ消費量は、(他の信号線に左右されて)随時変化することである。
【0087】
【表1】
Figure 0003562644
表1に、実際のキャパシタンスにおける特性の概要を示す。値は、0.1μmm、1.2VのCMOSプロセスに基づくもので、ディープ・サブミクロン信号線モデルを使用したシミュレーションにより得られた。ΣC’/minΣC’=15であるのは興味深い。これは、隣接する信号線を介して32ビットのワード1個を送信する際の電力消費量に換算すると、15倍の開きがあることを意味する。ワースト・ケースでは、以下のようになる。
【0088】
【数4】
Figure 0003562644
一方、ベスト・ケースは以下のとおりである。
【0089】
【数5】
Figure 0003562644
続いて、キャパシタンスのC’N/2max/C’0minの関係が示され、これにより、同一の信号線だけでなく実際には2本の信号線についても最小ケースと最大ケースが比較される。図13には、32ビット・バス例の全ビット線に関する正規化済み最大キャパシタンスの増加が示されている。これは、(式3に基づく)各ビット線の最大キャパシタンスは、全ビット線のうち最も小さい最大キャパシタンスに関して設定されることを意味する。
【0090】
【数6】
Figure 0003562644
図13は、ビット線の最大キャパシタンスにおける増加を示す。ビット線16の最大キャパシタンスは、ビット線0またはビット線31の最大キャパシタンスよりも約25%大きい。この説明は、式1に見いだすことができる。この式では、バス線間の距離がカップリング・キャパシタンスの成分の大きさに影響を及ぼしている。また、境界上のビット線が最も小さい最大キャパシタンスを有することも明らかである(式6参照)。これは、カップリング・キャパシタンスが増大する原因となる近接した線の数が他のビット線よりも少ないためである。表1の「C’N/2max/C’0min」の項目は、式3および4の最小および最大の影響と、バス線が前述のように配置されている場合の空間的な影響とを合わせた値を示している。この関係は、59.87にも達する。この特性は、電力/エネルギの最小化における可能性を表す。
【0091】
ここで明らかにされる最も重要な特性は、適用される信号線キャパシタンスは(ベース・キャパシタンスの定常部分を除いて)、(1)特定の情報が信号線グループ上のどこ(すなわち、どの信号線)で送信されるか、および(2)信号線グループの他の信号線が特定の信号線に関してスイッチングされるかどうか、の2点によって経時的に変化するということである。これは、何本の信号線が同時にスイッチングされるかだけが問題となる非ディープ・サブミクロン設計の振る舞いにおいては異なる。
【0092】
電力/エネルギの最小化に利用できる信号線のトランザクションには、共通した、あるいは少なくとも類似した特性がある。例えば、図14を参照すると、アプリケーションの実行中にアドレス・バス上に発生した遷移数が示されている。この例の分析対象とされる信号線グループは32ビット・アドレス・バスであり、すべてのアドレス・バス線の遷移が示されている。32ビット・ワードのアクセスしか実行されないので、アドレス・バス線0および1はまったく遷移していない。さらに、この図からわかるように、最も頻繁にスイッチングしているのはアドレス・バス線2であり、これにアドレス・バス線3以下が続く。遷移数がゼロ以外の最小数となるアドレス・バス線は、アドレス・バス線17である。これらは命令アドレスへのアクセスであるので、以下の結論を導き出すことができる。
【0093】
1. アプリケーションのアドレス空間は幅217バイトである。アドレス空間内にプログラムがある場合には、変化しないビットはゼロ遷移を有するため、アドレス・バス線の遷移は発生しえないことに留意されたい。
【0094】
2. 図14は、アドレス・バス線指定の増大に伴って遷移数が減少する現象は、カウンタのプロファイルに類似していることを示している。カウンタは、低位のアドレス線ビット上では遷移数が多く、高位のアドレス線ビット上では少ない。メモリ内では命令は当然ながら順次格納されているので、プログラム実行時にはこの特性が現れる。プログラムはループやサブルーチンを実行するので、このプロファイルは予想されるようにカウンタのプロファイルほど整った形ではない。
【0095】
他のアプリケーションの遷移プロファイルは類似しており、主な違いといえば、プログラムやプロセスのアドレス空間(すなわち、サイズ)の違いを反映してビット線が多少の遷移を示すことぐらいである。図14と図13を比較すると、以下を指摘することができる。
【0096】
1. アプリケーション例(図14)は多数のアドレス・バス・ビット線を使用しない。ただし、図13に示す相対キャパシタンス・プロファイルでは、外部アドレス・ビット線(すなわち、アドレス・ビット線0、1、30、31)を利用すると電力/エネルギの消費量が少なくてすむことが示唆される。
【0097】
2. すべてのスイッチングビット線は隣接している。ただし、活発にスイッチングを行っているアドレス・ビット線の間に「使用されていない」線を挿入してシールド効果を利用することにより、電力/エネルギの消費量は低減される。
【0098】
電力/エネルギ消費量は、ビット番号とは異なる番号の付いた信号線を介して論理ビットを送信する(例えば、ワードのビット7を信号線7ではなく信号線13を介して送信する)ことにより低減できる。ディープ・サブミクロン・モデルによれば、データ送信時には非常に多数の異なるCciが存在しうる(式2参照)。情報送信時の電力/エネルギ消費量を最小化する方法は、信号線への信号の割り当てを最適化することしかない。最良の割り当てを常時実現することは、以下の理由により不可能である。
【0099】
1. 複雑性により、最良の解の発見が阻まれる。
【0100】
2. バス・トランザクションの事前知識が欠如しているため、最適化をオフラインで実行できず、オンザフライで(システム実行中に)達成するしかない。
【0101】
3. このエンコーディング方式の実行に使用するハードウェアの複雑性を抑制する必要がある。これを行わないと、ハードウェアのために追加される電力/エネルギ消費量がこの方式を適用したことにより節減される電力/エネルギの量を上回ってしまう。
【0102】
従って、隣接する信号線には局部の最適化しか適用できない。ウィンドウは以下のように定義される。
【0103】
l,h(ww)={l,h|h−l=ww−1,h>l,h,l≧0,h,l≦bw−1} 式7
ここで、l、hはそれぞれ、ウィンドウの下側と上側の境界ビット位置、wwはウィンドウ・サイズ(ビット単位)、bwは信号をグルーピングする際のライン(ビット単位)である。この定義を行うことにより、以下に示すものを始めとして、どんな交差接続方式でも使用できるようになる。
【0104】
w_targetc,b(ww1)≡w_sourcea,b(ww1) 式8
図15では、単純割り当てが実行されると想定される。この割り当てにおいては、ソース・ウィンドウの最低位のビットがターゲット・ウィンドウの最低位のビットに割り当てられる。ソース・ウィンドウのビット12〜15は、ターゲット・ウィンドウのビット20〜23に交差接続される。ウィンドウは同じサイズでなければならない(これにより各交差接続のハードウェアが同じになり、実装が簡素化される)ので、以下の式を満足することがきわめて重要となる。
【0105】
bw modulo ww=0 式9
wwのサイズに対する制約条件は、以下のとおりである。
【0106】
1. ウィンドウが小さすぎると(例えばww=1など)、実装に伴う労力が過度に増大する。
【0107】
2. ウィンドウが大きすぎると(例えばww=bw/2など)、信号遷移アクティビティの多いウィンドウが、低電力/エネルギ消費量の面で有効な信号線グルーピングの領域(図13参照)に割り当てられる可能性が過度に低くなる。
【0108】
本発明では、交差接続の割り当て後、信号遷移アクティビティの少ないウィンドウが信号遷移アクティビティの多いウィンドウから確実に分離される。ここでの想定事項は、どのプロセス/プログラムも、単独では使用可能なすべての信号線を消費するほどには大規模でないことである。大規模なアプリケーションは小規模なプログラムやプロセスに分解されるので、この想定事項はほとんどケースに当てはまる。例えば、懸案の信号線がアドレス線の場合には、アドレス線の高位ビットはアドレス線の低位ビットほど頻繁にはスイッチングされないと想定しても何ら問題はない。実際問題として、スイッチング頻度の低い(例えば、まったく異なるアドレス空間に配置された2つのプロセスの間で行なわれる1回のコンテキスト・スイッチの間に1回のみ、など)アドレス線は多数に上る。図14に図示するアプリケーション例では、アドレス線18〜31はスイッチング頻度が低いので、この領域は所要タスクを実行するための複数のウィンドウに分割することが可能である。これは、上記のシールド効果の観点からも好都合である。
【0109】
理想的なのは、図14に示すように、信号遷移アクティビティの多い信号線の数が、信号遷移アクティビティがほとんどない信号線の数とほぼ同数になることである。先に述べたように、プログラムもしくはプロセスが単独で、その基礎を成すハードウェア内で使用可能な信号線の全数を必要とすることは稀である。それよりむしろ、プログラムもしくはプロセスが必要とする信号線があまりに少なくて、使用可能な信号線の過半数がアイドル状態になる可能性の方が高い。この場合には、信号遷移アクティビティの多いウィンドウ同士をできる限り遠く離すことが望ましい。この方策の目的は、シールド効果を最大限に利用することにある。
【0110】
図16〜図18には、3種類のウィンドウイング方式が図示されている。これらのウィンドウイング方式の目的は、シールド効果を最大化すること、および遷移アクティビティの多い信号の経路指定を、電力/エネルギ消費量の観点から代償が少ないと予想される信号線に変更することにある。
【0111】
これらの方式は、2つの異なるプロファイルへの使用を意図したものである。図16のウィンドウイング方式は、過半数の信号線に遷移アクティビティがある状況に適している。図17のウィンドウイング方式は、半数未満の信号線に遷移アクティビティがあり、過半数を占める残りの信号線はほとんど使用されない状況に適している。図18のウィンドウイング方式は、上記2方式の適応型である。
【0112】
図16を参照すると、ソース・ウィンドウw〜wは信号遷移アクティビティが多く、残りのソース・ウィンドウw〜wでは信号遷移アクティビティがほとんど、もしくはまったくない。ウィンドウtw〜twは、ソース・ウィンドウw〜wから交差接続が行なわれたターゲット・ウィンドウを表す。信号遷移アクティビティの多いソース・ウィンドウはターゲット・ウィンドウの間で均等に分布しているため、互いに分離されていることに留意されたい。また、信号遷移数が最も多いソース・ウィンドウ(典型的には、左端のソース・ウィンドウw〜w)は、信号線グルーピングの境界に分布している。例えば、ソース・ウィンドウwは、近くにあるターゲット・ウィンドウtwではなく、ターゲット・ウィンドウtwに割り当てられている。
【0113】
図17を参照すると、このウィンドウイング方式は、信号遷移アクティビティ量の少ないプログラム/プロセスを意図したものであることを除くと、図16に図示される方式と同じである。ソース・ウィンドウw〜wは信号遷移アクティビティが多く、残りのソース・ウィンドウw〜w15は信号遷移アクティビティがほとんど、もしくはまったくない。このウィンドウイング方式では、信号遷移アクティビティがほとんど、もしくはまったないソース・ウィンドウが、信号遷移アクティビティの多い個別ソース・ウィンドウよりも大きなブロックとしてグループ化される。そのため、多数を占める信号遷移アクティビティの少ないウィンドウが、信号遷移アクティビティの多いウィンドウの間に均等に分布される。
【0114】
図18を参照すると、このウィンドウイング方式は、図16に図示される方式と類似している。ソース・ウィンドウw〜wは信号遷移アクティビティが多く、残りのソース・ウィンドウw〜wは信号遷移アクティビティがほとんど、もしくはまったくない。この方式では、信号遷移数が最も多いソース・ウィンドウ(すなわち、左端のソース・ウィンドウw−w)は信号線グルーピングの境界に分布しており、信号遷移アクティビティの少ない残りのウィンドウはその間に挿入されている。例えば、ソース・ウィンドウwは、近くにあるターゲット・ウィンドウtwではなくターゲット・ウィンドウtwに割り当てられている。
【0115】
本発明のエンコーディング・インターフェースは、実装においてこれらのウィンドウイング方式をサポートする。本発明は、多少なりとも信号線空間を必要とする新規のプログラム/プロセスが起動されると、これらの方式の間で切り替えを行う。そのため、特定のプログラム/プロセスの実行中に、ウィンドウイング方式間の切り替えが行なわれることはない。
【0116】
上記のウィンドウイング方式は、信号遷移アクティビティの多いウィンドウを互いに遮蔽して、カップリング・キャパシタンスを最小化する。ただし、高アクティビティのウィンドウを信号線グルーピングの低キャパシタンス領域に割り当てることにより潜在的な電力/エネルギ消費量を最小化することに加えて、特定のウィンドウ内における遷移アクティビティとカップリング・キャパシタンスの影響も最小化する必要がある。
【0117】
ウィンドウwl,h(ww)に関する拡張遷移アクティビティ指標(ETAM:Extended Transition Activity Measure)を定義する必要がある(式7参照)。公式を読みやすくするため、ウィンドウをwで示す。さらに、bはウィンドウ内のx番目のビットであると想定する。ここで、Bはそのビットの値(すなわち、B∈{0、1})である。従って、ETAM指標は以下のように定義される。
【0118】
【数7】
Figure 0003562644
−1は時間t−1における信号b、すなわち時間的に先行する値を示す。従って、B xor B −1は信号bが高/低または低/高の遷移を有するか否かを決定する。この特定の信号はETAM指標に寄与する。なお「xor」は、排他的論理和の演算子であり、上記の式においてはこれを「○」の中に「+」を示す記号により示している。
【0119】
図19〜図22には、2つのステージを使用してETAMを測定する方法が図示されている。図19では、第1ステージにおいて、ETAM指標のうちi=a+1が寄与した部分が示されている。点線は、ETAMの個々の部分の計算に重要な範囲を示す。表示中のビットはt−1で「0」に設定され、tでは「1」に遷移している。i=a+1のビットは「1」なので、ウィンドウ内の相違するビットの個数がカウントされる。この場合、相違するビットの数は2個(すなわち、tにおけるi=a+2の「0」ビットと=a+1の「0」ビット)である。図20を参照すると、i=a+2の場合は、表示中のビットは遷移しないためETAMの個々の部分は0である。ここで示されるETAMは、図19、図20から一見すると因果関係の原理に違反するようであるが、この違反はないことに留意することはきわめて重要である。そのため、時間t−1に属する信号の集合はレジスタに格納されることに留意されたい。一方、時間tの信号の集合は、この時点ではまだ出力ではない(例えば、デバイスのI/Oレジスタにあるにすぎない、など)という理由でレジスタに格納される。そのため、ETAMは式10で意図されるような形にはならない。
【0120】
図21については、検討中のビットのETAM値は3に等しくなる(すなわち、i=a+1の「0」から「1」への遷移と、l=aおよびb=a+2の0ビット)と思われる。図22については、検討中のビット(すなわち、b=a+2)のETAM値は1(すなわち、i=a+1の「1」ビット)に等しくなると思われる。
【0121】
式10によれば、検討中の信号と関連する各信号がETAMの最大値に1または0のいずれを寄与するかは、検討中の信号の値が関連の信号の値と相違するかどうかによって決まる。ベース・キャパシタンスは最も近隣のカップリング・キャパシタンス(例えば、4ビット・ウィンドウ内の最大3個の左または右隣)とほぼ同じであることから、各寄与分が同じサイズである(1または0で、他の値は許可されない)という事実は正当である。従って、ベース・キャパシタンスとカップリング・キャパシタンスが電力/エネルギ消費量に寄与する量は実質的に等しい。さらに、シールド効果により、さらに遠くにあるカップリング・キャパシタンスは無視できる程度にとどまる。4ビットのウィンドウ・サイズを採用したのは、この理由による。また、このウィンドウ・サイズを採用することにより、実装用のハードウェアが妥当な量に抑えられる。
【0122】
さらに、ETAMはウィンドウ内の情報を反転すべきか否かの指標ともなる。ETAMは、カップリング・キャパシタンスの影響を測定できる。定期反転方式で使用されるハミング距離の指標では、電力/エネルギ消費量の十分な改善は得られず、遷移数が削減されるにすぎない。遷移数は、必ずしも消費される電力/エネルギ量を反映するとは限らない。
【0123】
次に、図23、図24を参照しながら、データ・セットにETAM測定を適用した場合のプロセス・フローを詳細に説明する。実際の実装では、各ウィンドウのETAM値を計算する機能は、速度の理由から並行して実行されることに留意されたい。図23、図24では、理解しやすいようにETAM計算プロセスを逐次方式で図示する。S100で、信号グループ内のウィンドウ数が決定される。S110で、信号グループ内の第1ウィンドウのETAMが測定され、得られたETAM測定値が格納される。S120で、ETAM測定値が高いETAM値か否かが決定される。ETAM測定値は、ウィンドウの最大値(ウィンドウ・サイズwwにより異なる)の50%を超える場合に高いETAM値とみなされる。S140で、ETAM測定値が高いETAM値である場合は、高いETAMカウンタが増分される。
【0124】
S150で、信号グループのすべてのウィンドウについてETAM測定値が取られたかどうかが決定される。信号グループのウィンドウのうち未測定のものが多い場合は、S170で次の処理対象となるウィンドウに進み、S120以降のステップが繰り返される。図24に示されるように、S180で、測定済みウィンドウの過半数が高いETAM値を有するかどうかの決定が行なわれる。典型的にはこれは、高いETAMカウンタを、ウィンドウ数を2で除算した値と突き合わせることによって行なわれる。処理済みウィンドウの過半数が高いETAM測定値を有する場合は、S200で、すべてのウィンドウ内の信号情報が反転される。反転モードでのデコーディングが可能であることに留意されたい。全ウィンドウを反転するかしないかのどちらか(すなわち、ウィンドウ間の過半数投票で決定される)なので、信号の反転に使用される追加の信号線は1本だけである。
【0125】
次に、図25、図26を参照して、本発明の信号エンコーディング・プロセスについて詳細に説明する。前述のETAM測定値プロセスと同様に、実際の実装では、信号エンコーディング・プロセスは速度の理由からハードウェア内で実行されることに留意されたい。信号エンコーディング・プロセスはソフトウェア内でも実装できる。S300で、信号グループのデータ・セットが交差接続エンコーディング方式を使用してエンコードされる。交差接続エンコーディング方式には前述した複数種がある。S310で、信号線の遷移アクティビティが、信号グループを構成する信号線数と比較され、この比較に基づいて、複数種の交差接続エンコーディング方式の1つが選択される。S320で、信号線グループ内のデータ・セットのETAM値が計算される。図23、図24に示されるように、このETAM値は、遷移前に信号線グループ内のデータ・セットの補完が必要かどうかの決定に使用される。ETAM値が高い場合は、S340で信号線グループ内のデータ・セットが補完される。前述したように、特定のデータ・セットのETAM値が補完の必要性を示唆するかどうかは、その信号グループのウィンドウ・サイズによって決まる。
【0126】
S350で、エンコード済みのデータ・セットが信号線をトラバースして送信される。このとき、信号線をトラバースしているデータ・セットを補完するかどうかを示す反転信号も送信される。S360で、エンコード済みのデータ・セットと、エンコードされたデータ・セットを補完するかどうかを示す反転信号が受信される。図26に示されるように、受信されたエンコード済みデータ・セットが補完されることを反転信号が示す場合には、S380で、受信されたエンコード済みデータ・セットが再度補完される。S390で、エンコード済みデータ・セットは、S300でデータのエンコード用に採用された交差接続エンコーディング方式の逆を使用してデコードされる。
【0127】
図27には、信号ウィンドウイングとETAMを実装する信号エンコーディング・インターフェースの一実施例が図示されている。説明の便宜のため、信号エンコーディング・インターフェースに入力される信号グループは幅32ビットとする(S〜S31)。本発明の信号エンコーディング・インターフェースは32ビット・バスに限定されない。また、信号エンコーディング・インターフェースのコンセプトは、サイズ・種類を問わずあらゆる信号グループ(すなわち、データ・バス、アドレス・バス、制御信号バスなど)に適用できる。信号エンコーディング・インターフェースは複数のエンコーダ10〜11、コンパレータ12、マルチプレクサ13、ETAM計算デバイス14、および信号インバータ15から成る。本発明による信号−デコーディング・インターフェースは、図33、図34に図示されている。以下では、これらの信号−デコーディング・インターフェースについて詳細に説明する。
【0128】
図27を参照すると、複数のエンコーダ10〜11は前述したエンコーディング方式を実装している。すなわち、各エンコーダは、図16〜図18に示す交差接続方式の1つを実装している。前述したように、各交差接続方式は、対象の信号線数において特定タイプのアプリケーションに適している。コンパレータ12は、特定のアプリケーションのためにどのエンコーダ10〜11を使用するかの決定を行う。典型的には、これは現在実行中のプログラム/プロセスに関連する信号グルーピングのサイズによって決まる。コンパレータ12への入力の1つは、実行中のアプリケーションおよび/またはタスクのサイズ(すなわち、SIZE)である。コンパレータ12へのもう一方の入力は、使用されている信号グルーピングのサイズである(すなわち、2N/2)。コンパレータ12がそのアプリケーション/タスク用としてどのエンコーダ10〜11を選択するかを決定するためには、信号グルーピングのサイズとアプリケーション/タスクのサイズとを比較する必要がある。コンパレータ12は、その結果に応じてマルチプレクサ13を切り替えることにより、該当するウィンドウイング方式を活動化する。従ってこの切り替えは1回だけ行なわれる。通常この切り替えが行なわれるのは、サイズの異なる2つのプログラム/プロセスの間のコンテキスト・スイッチが発生したときである。コンパレータはさらに、選択されたウィンドウイング方式が正しくデコードされるように、選択信号を信号−デコーディング・インターフェースに出力する。
【0129】
エンコード済みデータ信号はマルチプレクサ13から出力され、ETAM計算デバイス14に入力される。ETAM計算デバイス14はETAM計算を実行し、エンコード済みデータ信号を補完するべきかどうかの決定を行う。ETAM計算デバイス14は、マルチプレクサ13から受信したエンコード済みデータ信号のこれ以上のエンコーディングは行わない。ETAM計算デバイス14はエンコード済みデータ信号とインバート信号INVERT_SIGを信号インバータ15に出力する。
【0130】
信号インバータ15は、ETAM計算デバイス14から、エンコード済みデータ信号と信号INVERT_SIGを受信する。ETAM計算デバイス14がエンコード済みデータ信号の補完が必要ではないと決定した場合には、信号インバータ15は、エンコード済みデータ信号と、信号−デコーディング・インターフェースに対して着信するエンコード済みデータ信号セットは補完されないことを知らせる信号INVERT_SIGとを出力する。逆に、ETAM計算デバイス14がエンコード済みデータ信号の補完が必要であると決定した場合には、信号インバータ15は、エンコード済みデータ信号と、信号−デコーディング・インターフェースに対して着信するエンコード済みデータ信号セットは補完されることを知らせる信号INVERT_SIGとを出力する。
【0131】
次に、図28〜図32を参照しつつ、ETAM計算デバイス14についてさらに詳細に説明する。図28では、32ビット信号グループ例が各4ビットから成る8つのウィンドウに分解されている。そのため、32ビット信号グループ例のETAM測定値を処理するために、ETAM計算器回路20〜27が必要とされる。各ETAM計算器回路20〜27は、そのウィンドウのETAM測定値が高いETAM値かどうかを示す信号を出力する。各ETAM計算器回路20〜27の出力信号は、過半数ETAM回路28に入力される。過半数ETAM回路28はこれらの入力を収集し、ウィンドウの間でエンコード済みデータ信号S〜S31の補完を求める過半数投票がなされたかどうかを決定する。そのため、エンコード済み信号線の他に、信号−デコーディング・インターフェースにエンコード済み信号線を正しくデコードさせるための信号INVERT_SIG(すなわち、過半数ETAM回路28の出力)も存在する。エンコーディング/デコーディングはオンザフライで実行される(すなわち、追加のクロック・サイクルを消費しない)ことに留意されたい。
【0132】
次に、4ビット・ウィンドウ用のETAM計算器回路の実装についてさらに詳細に説明する。4ビット・ウィンドウの実装において使用されるコンセプトは、あらゆるサイズのウィンドウに適用できることに留意されたい。まず式11は、以下のように書き換えることができる。
【0133】
【数8】
Figure 0003562644
式11は、Sを導入することによってさらに簡潔に書き換えることができる。書き換え後の式は以下のとおりである。
【0134】
【数9】
Figure 0003562644
w=4のケースを考慮する場合、(32ビット信号グルーピング例を想定すると)ETAM計算の対象となるウィンドウは8個になる。表2は、B値の全16種のケースに関するETAMの最大値を示したものである。最初の4カラムは、Bの異なるビット組み合わせを示し、次の4カラムは式10に示されるETAM計算の中間値として1+Sの値を示す。ETAMの最終値は、B −1 xor B(式12参照)によって決まる。このETAMの最終値は、すべてのB −1 xor Bが1に等しくなったときに最大値になる。従って最後のカラムは、すべてのB −1が「B −1 xor Bの全インスタンス」=1の状態の場合にETAMが保持する最大値を示す。4ビット・ウィンドウ例の場合には、ETAMの最大値は12である。図23、図24に示されるように、ETAM値が6(すなわち、max((ETAM)/2))より大きい場合には常に「1」が出力されなければならない。ETAM=6の場合には、信号が補完されるかどうかは問題とはならない。設計の簡素化のため、ETAM=6の場合には信号が補完されるケースと補完されないケースが混在する。なお「xor」は、排他的論理和の演算子であり、上記の式においてはこれを○の中に+を示す記号により示している。
【0135】
【表2】
Figure 0003562644
次に、4信号線のウィンドウを有するETAM計算器回路を使用して、本発明の能力を説明する。ETAM≧6の場合には、各ETAM計算器回路は「1」を出力しなけらばならない。表2を参照すると、線1(「0000」)および16(「1111」)はETAM最大値が4となるので、B −1の値にかかわらず「1」が出力されることはない。その他のケースはすべて、r=B −1 xorBの値によって反転を適用する候補となる。反転が適用されるケースは2つある。すなわち、すべての信号線で1+S=3となるケース(すなわち、表2の線4、6、7、10、11、13)と、「2」が3回と「4」が1回出現するケース(すなわち、表2の線2、3、5、8、9、12、14、15)である。第1のケースでは、6より大きいETAM値を発生させるためには、1に等しいrが少なくとも3個なければならない。換言すれば、少なくとも3個のr=B −1 xor Bが「1」に等しくなければならない。そのため、設計の簡素化のため、エンコード済み信号は以下の条件が満たされた場合にのみ補完される。
【0136】
+r+r+r≧3 式13
そのため、式13では、ETAM=6となる、2個のrが1に等しいケースは除外される。第2のケースでは、ETAM=6に到達する方法が2種類ある。すなわち、(a)「4」が1回、「2」が1回出現する場合と、(b)「2」が3回出現する場合である。式13では、(b)のケースはカバーされるが、(a)のケースは除外される。(a)のケースをカバーしようとすると回路の複雑性が大幅に高まる。このケースでは、前述したような反転の必要のないETAM値6が得られるので無視される。そのため、ETAM=6の値は、以下の規則に従って「高いETAM値」とみなされる。
【0137】
(a) 3個以上の「2」が「1」を生成する
(b) 1個の「4」と1個の「2」が「1」を生成しない
(c) 2個の「3」が「1」を生成しない
これらの規則に従うことにより、図29に示すETAM計算器回路は、式13が満たされるようにするだけでよくなる。4ビット・ウィンドウの場合、各入力(S−Sx+1)は遅延ゲート(31、33、35、37)および排他的ORゲート(30、32、34、36)に接続される。遅延ゲートは4ビット・ウィンドウ内の各信号線S−Sx+1について、その信号線の直前のデータ・ビットを保持し、この直前のデータ・ビットは排他的ORゲートによって現在のデータ・ビットと比較される。当然ながら、遅延ゲートには、次のデータ・セットで使用するために現在のデータ・ビットも格納される。
【0138】
式13を満たすためには、少なくとも3個の排他的ORゲートが1に設定される必要がある。式13を満たすためにはさらに、ETAM計算器回路が表2の線2〜15をカバーするために「1」を生成しなければならない。排他的ORゲートの出力は、ANDゲート41〜44への入力である。ANDゲート41〜44は排他的ORゲートに、少なくとも3個の排他的ORゲートが「1」を出力する場合にANDゲート41〜44のうち少なくとも1個が「1」を出力するように接続される。ANDゲート41〜44の出力はORゲート45に接続され、ORゲート45はいずれかのANDゲートが「1」を出力する場合に「1」を出力する。
【0139】
ETAM計算器回路はさらに、式13でやはり「1」を生成する表2の線1および16を排除しなければならない。表2の線1および16を排除するため、ETAM計算器回路は、テストによって「1」である信号Bをすべて検出するNANDゲート39と、テストによって「0」である信号Bをすべて検出するORゲート38を追加する。この結果はANDゲート40に入力され、ANDゲート40は、式13の結果に関するイネーブル信号として機能する信号をANDゲート46に出力する。信号Bがすべて「1」または「0」の場合、ANDゲート46は「0」を出力し、インバータ47は「1」を出力する。信号Bがいずれも「1」または「0」ではない場合には、ANDゲート46は式13の結果(A)を出力し、インバータ47は結果の補数を出力する。
【0140】
図28を参照すると、32ビット信号グループ例に関して指摘したように、各4ビット・ウィンドウに1個ずつ、計8個のETAM計算器回路20〜27が必要とされる。各ETAM計算器回路20〜27は、信号Aと、4ビット・ウィンドウが高いETAM値を有するかどうかを示すその補数を出力する。ETAM計算器回路の8個の出力(およびその補数)は過半数ETAM回路28に接続され、過半数ETAM回路28は反転信号を出力する。
【0141】
次に、図30を参照しつつ、過半数ETAM回路についてさらに詳細に説明する。8個の出力A〜Aと補数は2個の過半数4回路51〜52に接続され、各過半数4回路はETAM計算器回路から出力を受信する。一方の過半数4回路51の出力を¬W、W、W、Wとし、もう一方の過半数4回路52の出力を¬Y、Y、Y、Yとする。これらの過半数4回路の出力は過半数組み合わせ回路53に接続され、過半数組み合わせ回路53は反転信号INVERT_S1Gを出力する。なお「¬」は、否定(補数)を意味する記号であり、図面中においてはこれを上付きの線により示している。
【0142】
次に、図31を参照しつつ、過半数4回路についてさらに詳細に説明する。過半数4回路は8個の入力(すなわち、4個のETAM計算器回路の出力とその補数)を有し、以下の特性を満足する値Wj(もしくはその補数)を出力する。この特性とは、過半数4回路への8個の入力の間でj個の「1」がある場合にのみ、Wj=1、というものである。
【0143】
過半数4回路への4個の入力を(その補数と共に)a、b、c、dとして表すとすると、これらの入力はORゲート60とNANDゲート61〜69の間で以下のように分布される。
【0144】
1. ORゲート60は入力a、b、c、dに接続される。
2. NANDゲート61は入力a、¬b、¬c、¬dに接続される。
3. NANDゲート62は入力¬a、b、¬c、¬dに接続される。
4. NANDゲート63は入力¬a、¬b、c、¬dに接続される。
5. NANDゲート64は入力¬a、¬b、¬c、dに接続される。
6. NANDゲート65は入力¬a、b、c、dに接続される。
7. NANDゲート66は入力a、¬b、c、dに接続される。
8. NANDゲート67は入力a、b、¬c、dに接続される。
9. NANDゲート68は入力a、b、c、¬dに接続される。
10. NANDゲート69は入力a、b、c、dに接続される。
ORゲート60の出力はインバータ73への入力である。ORゲート60へのすべての入力が「0」の場合、¬Wにおける出力信号は「1」になる。同様に、NANDゲート69の出力はWであり、NANDゲート69へのすべての入力が「1」の場合にはWは「0」になる。ANDゲート70はNANDゲート61〜64から出力を受信し、ANDゲート71はNANDゲート65〜68の出力を受信する。ANDゲート71の出力はWとして出力される。ANDゲート70、71、ORゲート60、NANDゲート69の出力はANDゲート72によって受信され、Wとして出力される。なお「¬」は、否定(補数)を意味する記号であり、図面中においてはこれを上付きの線により示している。
【0145】
次に、図32を参照しつつ、過半数組み合わせ回路53についてさらに詳細に説明する。過半数組み合わせ回路53を8個の入力を備えて実装するためには、8個の入力の間に存在する「1」の総数が5を上回る場合に常に「1」を出力する必要がある。換言すれば、出力WおよびYを生成する2個の回路は、以下を満足する1個の出力を有する。
【0146】
M=W・¬Y+¬W・Y+W・Y+W・Y+W・Y 式14
ORゲート81〜85は過半数4回路51、52から入力を受信し、ORゲート81〜85の出力はNANDゲート86によって結合される。NANDゲート86へのすべての入力が「1」の場合、NANDゲート86は、ETAM計算によりエンコード済みデータ・セットの反転が必要であることが示されることを示す信号を出力する。
【0147】
次に、図33を参照しつつ、信号−デコーディング・インターフェースについてさらに詳細に説明する。信号インバータ90はエンコード済みデータ信号と反転信号INVERT_SIGを受信する。反転信号INVERT_SIGが「1」の場合、エンコード済みデータ信号は再度補完されて元の状態に戻る。反転信号INVERT_SIGが「1」でない場合には、エンコード済みデータ信号はそのまま信号インバータ90に渡される。信号インバータ90はエンコード済みデータ信号をマルチプレクサ94に出力する。マルチプレクサ94は、デコーダ91〜92のうち1個を、エンコーダ10〜11における交差接続を反転させるデコーダとして選択する。マルチプレクサ94は、エンコーディング方式を選択するコンパレータ93からエンコーディング信号を受信する。コンパレータ93は、SIZEおよび2N/2の入力(すなわち、図27に示されるコンパレータ12が使用するのと同じ入力)に基づいて使用するデコーダを選択するという点において、図27に示されるコンパレータと同様に動作する。
【0148】
次に、図34を参照しつつ、信号−デコーディング・インターフェースの第2の実施例について説明する。信号−デコーディング・インターフェースは、マルチプレクサ94を選択するためのコンパレータ93がないことを除いて、図33に図示される信号−デコーディング・インターフェースと同一である。選択信号ENCODEは、図27に示される信号エンコーディング・インターフェースから受信される。
【0149】
本発明の実施の形態の以上の説明は、説明および解説の目的で提示したものである。この説明は網羅的なものではなく、また本発明を開示された厳密な形式に限定することを意図するものでもない。さらに、上記の教示に基づく変更の実施の形態や異型が可能であり、これらの変更の実施の形態や異型は本発明の実線によって実現されるであろう。本発明およびその実践的な用途の原理を解説した目的は、当該技術に精通する当業者が本発明を様々な実施例において意図される特定の用途に適した様々な変更を加えて利用できるような形で本発明を説明することにある。
【0150】
従って、本明細書では本発明のごく一部の実施例のみが特に説明されているが、本発明の精神および範囲から逸脱することなく無数の変更が可能であることは明らかであろう。さらに、略語は明細書と請求項の可読性を高めることを唯一の目的として使用したものである。これらの略語は使用された用語の一般性を減じることを意図して使用されたのではなく、また本明細書で説明される実施例に対する特許請求の範囲を制限するものではない。
【0151】
【発明の効果】
以上説明したように本発明によれば、以下のような効果が達成される。
【0152】
第1に、従来のアプローチとは異なり本発明は適応型の性質を有するので、経時変化する信号線の特性を利用することができる。
【0153】
第2に、本発明では信号線キャパシタンス・モデルによりキャパシタンスが定量化され、エンコーディング方式をこのモデルに対応して調整できる。
【0154】
第3に、信号線間キャパシタンスを反映した信号線キャパシタンス・モデルと適応型エンコーディング方式を併用できる。
【0155】
第4に、アドレス・バス用の標準エンコーディング方式として認知されているグレイ・コード・エンコーディングよりも効果的に電力消費量を低減することができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態の基板材料に埋め込まれた2本の隣接する信号線の断面図である。
【図2】上記実施の形態における信号線の形状係数の一例を図示する図である。
【図3】上記実施の形態における信号線の形状係数の他の例を図示する図である。
【図4】上記実施の形態における信号線の形状係数のさらに他の例を図示する図である。
【図5】上記実施の形態における隣接信号線間のカップリング・キャパシタンスの有無を決定するための隣接信号線の信号遷移の例を示す図である。
【図6】上記実施の形態における隣接信号線間のカップリング・キャパシタンスの有無を決定するための隣接信号線の信号遷移の他例を示す図である。
【図7】上記実施の形態における隣接信号線間のカップリング・キャパシタンスの有無を決定するための隣接信号線の信号遷移の他例を示す図である。
【図8】上記実施の形態における隣接信号線間のカップリング・キャパシタンスの有無を決定するための隣接信号線の信号遷移の他例を示す図である。
【図9】上記実施の形態における隣接信号線間のカップリング・キャパシタンスの有無を決定するための隣接信号線の信号遷移の他例を示す図である。
【図10】上記実施の形態における隣接信号線間のカップリング・キャパシタンスの有無を決定するための隣接信号線の信号遷移の他例を示す図である。
【図11】上記実施の形態における隣接信号線間のカップリング・キャパシタンスの有無を決定するための隣接信号線の信号遷移の他例を示す図である。
【図12】上記実施の形態における隣接信号線間のカップリング・キャパシタンスの有無を決定するための隣接信号線の信号遷移の他例を示す図である。
【図13】上記実施の形態における複数の隣接信号線間で可能な最大カップリング・キャパシタンスの相対的増大を示す図である。
【図14】上記実施の形態における一アプリケーション例におけるアドレス・ビット線遷移の累積量を示す図である。
【図15】本発明による一連のソース・ウィンドウと一連のターゲット・ウィンドウの間の交差接続を示す図である。
【図16】本発明による第1のウィンドウイング方式の例を示す図である。
【図17】本発明による第2のウィンドウイング方式の例を示す図である。
【図18】本発明による第3のウィンドウイング方式の例を示す図である。
【図19】本発明による拡張遷移アクティビティ測定の計算に使用されるビット配置の例を示す図である。
【図20】本発明による拡張遷移アクティビティ測定の計算に使用されるビット配置の例を示す図である。
【図21】本発明による拡張遷移アクティビティ測定の計算に使用されるビット配置の例を示す図である。
【図22】本発明による拡張遷移アクティビティ測定の計算に使用されるビット配置の例を示す図である。
【図23】本発明による拡張遷移アクティビティ測定を計算するためのプロセスを説明するフローチャートである。
【図24】本発明による張遷移アクティビティ測定を計算するためのプロセスを説明するフローチャートである。
【図25】本発明による信号グループをエンコードおよびデコードするための第1の実施例の処理を説明するフローチャートである。
【図26】本発明による信号グループをエンコードおよびデコードするための第1の実施例の処理を説明するフローチャートである。
【図27】本発明による信号グループをエンコードおよびデコードするための第2の実施例を示すブロック図である。
【図28】本発明による32ビット信号グループ例のための拡張遷移アクティビティ測定計算器および過半数決定回路の構成を示すブロック図である。
【図29】本発明による4ビット・ウィンドウ用の拡張遷移アクティビティ測定計算器の構成を示すブロック図である。
【図30】本発明による32ビット信号グループ例のための、過半数4決定回路と過半数組み合わせ回路間の接続構成を示すブロック図である。
【図31】本発明による32ビット信号グループ例のための過半数4決定回路の一実施例を示す回路図である。
【図32】本発明による32ビット信号グループ例のための過半数組み合わせ回路の一実施例を示す回路図である。
【図33】本発明による信号−デコーディング・インターフェースの一実施例を示す回路図である。
【図34】本発明による信号−デコーディング・インターフェースの第2の実施例を示すブロック図である。
【符号の説明】
1 金属層
2 基板層
3、4 信号線
5 ベース・キャパシタンス
6 カップリング・キャパシタンス
10、11 エンコーダ
12 コンパレータ
13 マルチプレクサ
14 ETAM計算デバイス
15 信号インバータ
20〜27 ETAM計算器回路
28 過半数ETAM回路
30、32、34、36 排他的ORゲート
31、33、35、37 遅延ゲート
38 ORゲート
39 NANDゲート
40 ANDゲート
41〜44 ANDゲート
45 ORゲート
46 ANDゲート
47 インバータ
51、52 過半数4回路
53 過半数組み合わせ回路
60 ORゲート
61〜69 NANDゲート
70、71 ANDゲート
72 ANDゲート
73 インバータ
81〜85 ORゲート
86 NANDゲート
90 信号インバータ
91〜92 デコーダ
93 コンパレータ
94 マルチプレクサ

Claims (26)

  1. 複数の近接した電気信号経路のためのエンコーディング方法において、
    予め決定された電気インパルス・セットに対して、各前記電気信号経路の信号遷移アクティビティを決定するステップと、
    前記電気信号経路を前記電気信号経路の隣接する部分から成る複数のソース・ウィンドウにグループ化するステップと、
    各前記電気信号経路とグラウンド・プレーン層との間のベース・キャパシタンスと、各前記電気信号経路と信号遷移アクティビティとの間のカップリング・キャパシタンスに基づいて、前記ソース・ウィンドウを複数のターゲット・ウィンドウに交差接続するステップを備えることを特徴とするエンコーディング方法。
  2. 前記ソース・ウィンドウを前記ターゲット・ウィンドウに交差接続するステップにて、
    信号遷移アクティビティの少ない前記ターゲット・ウィンドウが信号遷移アクティビティの多いターゲット・ウィンドウの間に挿入されるように、複数の前記ソース・ウィンドウと複数の前記ターゲット・ウィンドウとの間の接続を構成するステップを備えることを特徴とする請求項1に記載のエンコーディング方法。
  3. 前記ソース・ウィンドウの前記ターゲット・ウィンドウに交差接続するステップにて、
    複数の前記ソース・ウィンドウと複数の前記ターゲット・ウィンドウとの間の接続を、信号遷移アクティビティが最も多い前記電気信号経路を有する2つの前記ターゲット・ウィンドウが、その他の前記ターゲット・ウィンドウによって分離されるように構成するステップを備えることを特徴とする請求項1に記載のエンコーディング方法。
  4. 複数の近接した電気信号経路のためのエンコーディング方法において、
    所定の電気インパルス・セットに対して各電気信号経路の信号遷移アクティビティを決定するステップと、
    電気信号経路を複数のウィンドウに、各前記ウィンドウが複数の隣接する電気信号経路を備えて、前記ウィンドウ数=(前記電気信号経路数)/(各前記ウィンドウ内の電気信号経路数)となるように分割するステップと、
    大量の信号遷移履歴を伴う前記電気信号経路を有する前記ウィンドウが、少量の信号遷移履歴を伴う前記電気信号経路を有する前記ウィンドウによって分離されるようにウィンドウを配置するステップを備えることを特徴とするエンコーディング方法。
  5. 基板上の複数の近接した電気信号経路のためのエンコーディング方法において、
    所定の電気インパルス・セットについて各電気信号経路の信号遷移履歴を決定するステップと、
    電気信号経路を複数のウィンドウに、各前記ウィンドウが複数の隣接する電気信号経路を備えて、前記ウィンドウ数=(前記電気信号経路数)/(各前記ウィンドウ内の電気信号経路数)となるように分割するステップと、
    最大量の信号遷移履歴を伴う前記電気信号経路を有する2つの前記ウィンドウが、残りの前記ウィンドウによって分離されるように前記ウィンドウを配置するステップを備えることを特徴とするエンコーディング方法。
  6. 基板上の複数の近接した電気信号経路のためのエンコーディング方法において、
    前記電気信号経路をトラバースする予め決定された同期電気インパルス・セットについて、各前記電気信号経路の信号遷移履歴を決定するステップと、
    電気信号経路を複数のウィンドウに、各前記ウィンドウが複数の隣接する電気信号経路を備えて、前記ウィンドウ数=(前記電気信号経路数)/(各前記ウィンドウ内の電気信号経路数)となるように分割するステップと、
    最大量の信号遷移履歴を伴う前記電気信号経路を有する2つの前記ウィンドウが残りの前記ウィンドウによって分離されるように前記ウィンドウを配置するステップと、
    各前記ウィンドウ内の信号遷移を分析し、過半数の前記ウィンドウが大量の遷移アクティビティを含む場合に前記同期電気インパルスを反転させるステップを備えることを特徴とするエンコーディング方法。
  7. 基板上のアドレス・バスのためのエンコーディング方法において、
    前記アドレス・バス上の前記アドレス・バスをトラバースする各アドレス・ビットの信号遷移履歴を決定するステップと、
    前記アドレス・バスを複数のウィンドウに、前記ウィンドウ数=(前記アドレス・バス内のビット数)/(各前記ウィンドウ内の前記アドレス・バス・ビット数)となるように分割するステップと、
    最大量の信号遷移履歴を伴う前記アドレス・バスを有する2つの前記ウィンドウが残りの前記ウィンドウによって分離されるように前記ウィンドウを配置するステップと、
    各前記ウィンドウ内の前記アドレス・バスの信号遷移を分析し、過半数の前記ウィンドウが大量の遷移アクティビティを含む場合に前記アドレス・バスをトラバースする前記アドレス・ビットを反転させるステップを備えることを特徴とするエンコーディング方法。
  8. 基板上のアドレス・バスのためのエンコーディング方法において、
    前記アドレス・バス上の前記アドレス・バスをトラバースする各アドレス・ビットの信号遷移履歴を決定するステップと、
    前記アドレス・バスを複数のウィンドウに、前記ウィンドウ数=(前記アドレス・バス内のビット数)/(各前記ウィンドウ内の前記アドレス・バス・ビット数)となるように分割するステップと、
    大量の信号遷移履歴を伴う前記電気信号経路を有する前記ウィンドウが少量の信号遷移履歴を伴う前記電気信号経路を有する前記ウィンドウによって分離されるように前記ウィンドウを配置するステップと、
    各前記ウィンドウ内の前記アドレス・バスの信号遷移を分析し、過半数の前記ウィンドウが大量の遷移アクティビティを含む場合に前記アドレス・バスをトラバースする前記各アドレス・ビットを反転させるステップを備えることを特徴とするエンコーディング方法。
  9. 複数の近接した信号線における信号をエンコーディングするエンコーディング装置において、
    複数の近接した前記信号線に接続された複数のエンコーダと、
    複数の前記エンコーダに接続されて各前記エンコーダの出力間を選択的に切り替える第1マルチプレクサと、
    前記第1マルチプレクサに接続された拡張遷移アクティビティ測定回路と、
    前記拡張遷移アクティビティ測定回路に接続された第1信号インバータと、
    前記第1マルチプレクサに接続され、前記エンコーダ間で前記第1マルチプレクサを切り替えるための信号を送信する第1コンパレータを備えることを特徴とするエンコーディング装置。
  10. 第2信号インバータと、
    前記第2信号インバータに接続された複数のデコーダと、
    複数の前記デコーダに接続された第2マルチプレクサを更に備えることを特徴とする請求項9に記載のエンコーディング装置。
  11. 前記第2マルチプレクサの入力を切り替えるための第2コンパレータを更に備えることを特徴とする請求項10に記載のエンコーディング装置。
  12. 前記拡張遷移アクティビティ測定回路が、
    複数の拡張遷移アクティビティ測定計算回路と、
    複数の前記拡張遷移アクティビティ測定計算回路に接続された過半数拡張遷移アクティビティ測定回路を備えることを特徴とする請求項9に記載のエンコーディング装置。
  13. 複数の近接した信号線における信号をエンコーディングするエンコーディング装置において、
    近接した前記信号線に接続された複数のエンコーディング手段と、
    複数の前記エンコーディング手段に接続されて各前記エンコーディング手段を選択的に切り替える第1多重化手段と、
    前記第1多重化手段に接続された拡張遷移アクティビティ測定手段と、
    前記拡張遷移アクティビティ測定手段に接続された第1信号反転手段と、
    前記第1多重化手段に接続され、前記第1多重化手段が各前記エンコーディング手段を切り替えるための信号を送信する第1比較手段を備えることを特徴とするエンコーディング装置。
  14. 前記第1信号反転手段の出力に接続された第2信号反転手段と、
    前記第1信号反転手段に接続された複数のデコーディング手段と、
    複数の前記デコーディング手段に接続された第2多重化手段を更に備えることを特徴とする請求項13に記載のエンコーディング装置。
  15. 前記第2多重化手段の入力を切り替える第2比較手段を更に備えることを特徴とする請求項14に記載のエンコーディング装置。
  16. 前記拡張遷移アクティビティ測定手段が
    複数の拡張遷移アクティビティ測定計算手段と、
    複数の前記拡張遷移アクティビティ測定計算回路に接続され、反転信号を出力する過半数拡張遷移アクティビティ測定回路を備えることを特徴とする請求項13に記載のエンコーディング装置。
  17. 複数の近接した信号線のためのエンコーディング装置において、
    複数の近接した信号線に接続され各前記信号線を複数のソース・ウィンドウに分解する複数のエンコーダと、
    複数の前記エンコーダに接続され各前記エンコーダの出力を選択的に切り替える第1マルチプレクサと、
    前記第1マルチプレクサに接続され反転信号を出力する拡張遷移アクティビティ測定回路と、
    前記拡張遷移アクティビティ測定回路に接続され、反転された前記第1信号を受信する第1信号インバータであって、
    前記第1マルチプレクサに接続され、前記マルチプレクサが前記エンコーダを切り替える信号を送信する第1コンパレータを備えることを特徴とするエンコーディング装置。
  18. 前記第1信号インバータの出力と前記反転信号を受信する第2信号インバータと、
    前記第2信号インバータに接続された複数のデコーダと、
    複数の前記デコーダに接続された第2マルチプレクサを更に備えることを特徴とする請求項17に記載のエンコーディング装置。
  19. 前記第2マルチプレクサの入力を切り替えるための第2コンパレータを更に備えることを特徴とする請求項18に記載のエンコーディング装置。
  20. 前記第2コンパレータが、実行中のタスクのサイズに基づいて前記第2マルチプレクサにスイッチング信号を出力することを特徴とする請求項19に記載のエンコーディング装置。
  21. 各前記エンコーダに含まれる複数の前記ソース・ウィンドウが、近接した前記信号線のキャパシタンスに基づいて前記ターゲット・ウィンドウに交差接続されることを特徴とする請求項17に記載のエンコーディング装置。
  22. 信号遷移アクティビティの少ない前記ターゲット・ウィンドウが信号遷移アクティビティの多い前記ターゲット・ウィンドウの間に挿入されるように前記ソース・ウィンドウと前記ターゲット・ウィンドウ間を交差接続することを特徴とする請求項21に記載のエンコーディング装置。
  23. 信号遷移アクティビティの最も多い前記信号線を有する2つの前記ターゲット・ウィンドウが、残りの前記ターゲット・ウィンドウによって分離されるように前記ソース・ウィンドウと各前記デコーダに含まれる前記ターゲット・ウィンドウ間を交差接続することを特徴とする請求項21に記載のエンコーディング装置。
  24. 前記拡張遷移アクティビティ測定回路が、
    複数の拡張遷移アクティビティ測定計算回路と、
    複数の前記拡張遷移アクティビティ測定計算回路に接続された過半数拡張遷移アクティビティ測定回路を備えることを特徴とする請求項17に記載のエンコーディング装置。
  25. 前記拡張遷移アクティビティ測定回路が、
    近接した前記信号線上の信号遷移を分析し、近接した前記信号線内の遷移アクティビティに基づいて前記反転信号を出力することを特徴とする請求項24に記載のエンコーディング装置。
  26. 前記第1コンパレータが、
    実行中のタスクのサイズに基づいて第1マルチプレクサにスイッチング信号を出力することを特徴とすることを特徴とする請求項17に記載のエンコーディング装置。
JP2002008666A 2001-02-01 2002-01-17 低電力ディープ・サブミクロン設計向け適応型アドレスバスのエンコーディング装置とエンコーディング方法 Expired - Fee Related JP3562644B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US26533001P 2001-02-01 2001-02-01
US60/265330 2001-08-03
US09/920854 2001-08-03
US09/920,854 US6583735B2 (en) 2001-02-01 2001-08-03 Method and apparatus for adaptive bus coding for low power deep sub-micron designs

Publications (2)

Publication Number Publication Date
JP2002353801A JP2002353801A (ja) 2002-12-06
JP3562644B2 true JP3562644B2 (ja) 2004-09-08

Family

ID=26951131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002008666A Expired - Fee Related JP3562644B2 (ja) 2001-02-01 2002-01-17 低電力ディープ・サブミクロン設計向け適応型アドレスバスのエンコーディング装置とエンコーディング方法

Country Status (2)

Country Link
US (2) US6583735B2 (ja)
JP (1) JP3562644B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11720516B2 (en) 2021-08-15 2023-08-08 Apple Inc. Methods for data bus inversion
US11836107B2 (en) 2022-03-01 2023-12-05 Apple Inc. Power consumption control based on random bus inversion

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6742097B2 (en) 2001-07-30 2004-05-25 Rambus Inc. Consolidation of allocated memory to reduce power consumption
JP2005523576A (ja) * 2002-04-17 2005-08-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ通信バス
EP1728359A1 (en) * 2004-03-08 2006-12-06 Koninklijke Philips Electronics N.V. Integrated circuit and method for packet switching control
US7728746B2 (en) * 2005-11-22 2010-06-01 Intel Corporation Signal transition feature based coding for serial link
US20070124607A1 (en) * 2005-11-30 2007-05-31 Samsung Electronics Co., Ltd. System and method for semi-automatic power control in component architecture systems
KR100692976B1 (ko) * 2006-02-08 2007-03-12 삼성전자주식회사 프로세서간 데이터 전송 방법 및 시스템
US7734853B2 (en) * 2006-02-28 2010-06-08 Arm Limited Latency dependent data bus transmission
US7565516B2 (en) * 2006-02-28 2009-07-21 Arm Limited Word reordering upon bus size resizing to reduce Hamming distance
EP2084922A1 (en) * 2006-10-31 2009-08-05 Thomson Licensing A method and apparatus for producing a map for mobile reception at each cell tower
KR20100064442A (ko) * 2008-12-05 2010-06-15 한국전자통신연구원 버스 신호의 인코딩, 디코딩 방법 및 장치
US8854236B2 (en) * 2012-05-18 2014-10-07 Micron Technology, Inc. Methods and apparatuses for low-power multi-level encoded signals
US9922686B2 (en) 2016-05-19 2018-03-20 Micron Technology, Inc. Apparatuses and methods for performing intra-module databus inversion operations
US10146719B2 (en) 2017-03-24 2018-12-04 Micron Technology, Inc. Semiconductor layered device with data bus
US10664432B2 (en) 2018-05-23 2020-05-26 Micron Technology, Inc. Semiconductor layered device with data bus inversion
US10964702B2 (en) 2018-10-17 2021-03-30 Micron Technology, Inc. Semiconductor device with first-in-first-out circuit

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381145A (en) * 1993-02-10 1995-01-10 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
US5717394A (en) * 1993-02-10 1998-02-10 Ricoh Company Ltd. Method and apparatus for encoding and decoding data
GB9520445D0 (en) * 1995-10-06 1995-12-06 British Telecomm Convolutional codes
US5838267A (en) * 1996-10-09 1998-11-17 Ericsson, Inc. Method and apparatus for encoding and decoding digital information
US6195764B1 (en) * 1997-01-30 2001-02-27 Fujitsu Network Communications, Inc. Data encoder/decoder for a high speed serial link
US6167085A (en) * 1997-07-31 2000-12-26 Sony Corporation Image data compression
US6243808B1 (en) * 1999-03-08 2001-06-05 Chameleon Systems, Inc. Digital data bit order conversion using universal switch matrix comprising rows of bit swapping selector groups
US6405342B1 (en) * 1999-09-10 2002-06-11 Western Digital Technologies, Inc. Disk drive employing a multiple-input sequence detector responsive to reliability metrics to improve a retry operation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11720516B2 (en) 2021-08-15 2023-08-08 Apple Inc. Methods for data bus inversion
US11836107B2 (en) 2022-03-01 2023-12-05 Apple Inc. Power consumption control based on random bus inversion

Also Published As

Publication number Publication date
JP2002353801A (ja) 2002-12-06
US6741190B2 (en) 2004-05-25
US20020186597A1 (en) 2002-12-12
US20030201918A1 (en) 2003-10-30
US6583735B2 (en) 2003-06-24

Similar Documents

Publication Publication Date Title
JP3562644B2 (ja) 低電力ディープ・サブミクロン設計向け適応型アドレスバスのエンコーディング装置とエンコーディング方法
Mohapatra et al. Significance driven computation: a voltage-scalable, variation-aware, quality-tuning motion estimator
Lyuh et al. Low-power bus encoding with crosstalk delay elimination
JP2004054756A (ja) 消費電力見積り装置及び方法
Geetha et al. High speed error tolerant adder for multimedia applications
CN110073311B (zh) 时钟门控系统以及用于时钟门控的方法
US10387600B2 (en) Dynamic power reduction in circuit designs and circuits
US7283460B1 (en) Bus switch encoding for reducing crosstalk effects in buses
KR20210045544A (ko) 클럭 사이클에 기반하여 전력을 모니터링하는 동적 전력 모니터, 프로세서, 및 시스템 온 칩
Huang et al. Sensor-based approximate adder design for accelerating error-tolerant and deep-learning applications
Pontes et al. Hermes-glp: A gals network on chip router with power control techniques
Chandaka et al. Hardware efficient approximate multiplier architecture for image processing applications
Huang et al. Approximate computing using frequency upscaling
Lyuh et al. Coupling-aware high-level interconnect synthesis [IC layout]
Halak Partial coding algorithm for area and energy efficient crosstalk avoidance codes implementation
Siegmund et al. Adaptive Partial Businvert encoding for power efficient data transfer over wide system buses
Kretzschmar et al. Adaptive bus encoding technique for switching activity reduced data transfer over wide system buses
US7536485B2 (en) Processor having inactive state of operation and method thereof
Jothin et al. High speed energy efficient static segment adder for approximate computing applications
Poppen Low power design guide
Sadrosadati et al. An efficient DVS scheme for on-chip networks
Wang et al. High‐accuracy mean circuits design by manipulating correlation for stochastic computing
Mohammad et al. On‐Chip Power Minimization Using Serialization‐Widening with Frequent Value Encoding
WO2007059645A1 (en) Signal transition feature based coding for serial link
Ahmadi et al. Flexible Prime‐Field Genus 2 Hyperelliptic Curve Cryptography Processor with Low Power Consumption and Uniform Power Draw

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040401

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040513

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040526

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080611

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090611

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100611

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100611

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110611

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110611

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120611

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120611

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees