(58)【調査した分野】(Int.Cl.,DB名)
前記データセットは、高速データバス上でフルレートデータにより同一のデータを送信することと比較するとき、より少ないエネルギーを用いて高速データバス上で送信される、請求項1記載の方法。
【発明を実施するための形態】
【0004】
より大きなシリコン集積が行われるに従って、WiFi手段のデジタル素子がシステム・オン・チップ(SoC)又はプラットフォーム・コントローラ・ハブ(PCH)に集積されうる。上述されるように、個別のモノリシックRF部分は、数インチのPCBによって接続されうる。いくつかのケースでは、データのバースト性がデータをシリアライザ/デシリアライザ(SERDES)スタイルの接続に良好に提供しないとき、パラレルデータバスがデータ伝送に利用されうる。インターコネクトは、WiFiデータレート及びアンテナダイバーシチなどのパラメータに依存して、フルデータレートと低データレートの双方でデジタル化されたRFサンプルの偶発的なバーストをもたらす。フルスピードデータ伝送のためインターコネクトインタフェースを駆動するとき、かなりの電力量が消費される。インターコネクトデータレートがインターコネクトキャパシティをかなり低下させるAlways−On−Always−Connectedシナリオでは、インタフェースにより使用される電力はスタンバイバッテリ寿命に対して重大な影響を有しうる。すなわち、データレート自体が低速であるとき、かなりのエネルギー量がフルスピードデータインタフェースを用いてデータを送信するのに利用されうる。
【0005】
ここに説明される実施例は、遷移が最小化された低速データレートを可能にする。実施例では、データバスで送信されるセットデータのデータレートが決定される。1つのホット値は、低データレートに応答してデータバス上で符号化される。XOR演算が、データバスと1つのホット値との前の状態により実行される。さらに、符号化されたデータがデータバスを用いて送信される。
【0006】
このようにして、より少ないエネルギーを用いてデータのチャンクをインタフェース上で送信することを可能にするチャネル符号化方式が考案された。当該方式は、公報互換的であり、何れかの規格送信方式と共存可能であり、低データレートが使用されるとき自動的かつ透過的に選択可能である。一般に、“one−hot−XOR”の符号化方式はチャネルキャパシティに関して非効率であるが、“one−hot−XOR”は、単一のチャネルバイナリビット遷移により複数のデータビット遷移をもたらし、チャネルクロックの必要性を取り除くため、40%エネルギー効率的である。
【0007】
本技術は、インテル・オンチップ・システム・ファブリック(IOSF−SB)などのオンチップインタフェースに適用可能である。それは、データバスがリンククロックを搬送するケースと、独立したクロックトランクが存在するケースとの双方において節約を提供する。さらに、本技術は、PCB又はパッケージのコンポーネント間のマルチワイヤバスに適用されてもよい。さらに、本技術は、データライン上の漏れ損失が充電/放電エネルギーより有意に低いプロセス及びバスに関する。
【0008】
以下の説明では、本技術の完全な理解を提供するため、特定タイプのプロセッサ及びシステムコンフィギュレーション、特定のハードウェア構成、特定のアーキテクチャ及びマイクロアーキテクチャ詳細、特定のレジスタコンフィギュレーション、特定の命令タイプ、特定のシステムコンポーネント、特定の測定/高さ、特定のプロセッサパイプラインステージ及び処理などの具体例などの多数の特定の詳細が提供される。しかしながら、これらの特定の詳細は本技術を実施するのに利用される必要はないことが当業者に明らかであろう。他の例では、本技術を不要に不明瞭にすることを回避するため、特定かつ代替的なプロセッサアーキテクチャ、説明されるアルゴリズムの特定の論理回路/コード、特定のファームウェアコード、特定のインターコネクト処理、特定の論理コンフィギュレーション、特定の製造技術及び物質、特定のコンパイラ実装、特定のコードによるアルゴリズム表現、特定の電力ダウン及びゲーティング技術/ロジック及びコンピュータシステムの他の特定の処理詳細などの周知のコンポーネント又は方法は説明されていない。
【0009】
以下の実施例が計算プラットフォーム又はマイクロプロセッサなどの特定の集積回路におけるエネルギー節約及びエネルギー効率を参照して説明されるが、他の実施例が他のタイプの集積回路及び論理デバイスに適用可能である。ここに説明される実施例の同様の技術及び教示が、より良好なエネルギー効率及びエネルギー節約を享受しうる他のタイプの回路又は半導体デバイスに適用されてもよい。例えば、開示される実施例はデスクトップコンピュータシステム又はUltrabooks(登録商標)に限定されるものでない。開示される実施例は、携帯デバイス、タブレット、他のシンノートブック、システム・オン・チップ(SOC)デバイス及び埋め込みアプリケーションなどの他のデバイスにおいて利用されてもよい。携帯デバイスのいくつかの具体例は、携帯電話、インターネットプロトコルデバイス、デジタルカメラ、パーソナル・デジタル・アシスタント(PDA)及び携帯PCを含む。埋め込みアプリケーションは、典型的には、マイクロコントローラ、デジタル信号プロセッサ(DSP)、システム・オン・チップ、ネットワークコンピュータ(NetPC)、セットトップボックス、ネットワークハブ、ワイド・エリア・ネットワーク(WAN)スイッチ、又は後述される機能及び処理を実行可能な他の何れかのシステムを含む。さらに、ここに説明される装置、方法及びシステムは、物理的な計算デバイスに限定されず、エネルギー節約及び効率のためのソフトウェア最適化に関するものであってもよい。以下の説明で容易に明らかになるように、ここに説明される方法、装置及びシステムの実施例(ハードウェア、ファームウェア、ソフトウェア又はこれらの組み合わせを参照する)は、パフォーマンスの考慮とバランス下“グリーン技術”の未来にとって重要である。同様に、装置及び方法は電子シグナリング技術に限定されず、機械、電気機械、光、無線周波数又は他のデータ伝送機構に適用可能である。それはさらに、相変化メモリなどのストレージ気候に適用されてもよく、変更毎に記憶されるビットに関してより高い効率性を可能にする。
【0010】
計算システムが進化するに従って、その内部のコンポーネントはより複雑になる。この結果、コンポーネントの間を結合及び通信するためのインターコネクトアーキテクチャはまた、帯域幅要求が最適なコンポーネント処理について充足されることを保証するため、複雑さが増大する。さらに、異なるマーケットセグメントは、マーケットのニーズに適するため異なる側面のインターコネクトアーキテクチャを要求する。例えば、サーバはより高いパフォーマンスを要求する一方、モバイルエコシステムは電力の節約のため全体的なパフォーマンスを犠牲にすることが可能であることがある。しかしながら、最大の電力節約により可能な最も高いパフォーマンスを提供することが、大部分の構成の1つの目的である。以下において、複数のインターコネクトが説明され、ここに説明される本技術の態様を潜在的に利用する。
【0011】
説明のため、ここで説明される具体例は、8つのデータ信号、1つのデータ有効信号及びクロック信号を有するソース同期DDRパラレルデータバスを利用する。しかしながら、本技術は何れの幅の高速データバスと共に利用されてもよい。以下の具体例で利用されるように、D,DVはバス上のデータ及びデータ有効信号であり、TXD,TXDVは送信機により送信されるデータ及びデータ有効信号であり、Xは送信機及び受信機においてローカルに用いられる一時的な変数を表し、CDは受信機においてキャプチャ(非同期的にラッチ)されるデータを表し、LRXD,LRXDVは低データレート検出パスを用いて受信機によりキャプチャされるデータ及びデータ有効値を表し、FRXD,FRXDVはフルレート検出パスを用いて受信機によりキャプチャされるデータ及びデータ有効値を表す。
【0012】
高速データバスによって、符号化方式はデータバスをより効率的に実行するため変更されてもよい。ワンホット(one−hot)方式では、複数のビットの1ビットのみが1回にスイッチされる。XOR演算は、値を送信するため、複数のビットの1ビットが変更されることを可能にする。例えば、ビット5がハイであり、その後にオフされた場合、これは、“5”のデータトークンが送信されたことを示す。しかしながら、ビット5がハイであり、ビット2の値が変わると、これは、“2”のデータトークンが送信されたことを示す。
【0013】
ここに説明される符号化方式は複数の効果を有する。バイナリ方式では、3データビットまでが変更されてもよい。各ビットの変更はエネルギーを消費する。例えば、2(バイナリでは010)がバイナリ方式(010)で送信され、その後、5(バイナリでは101)が送信される場合、3つ全ての信号又はワイヤが変更される。従って、ワンホットXOR符号化方式と比較する際、3つのエネルギーコストが各信号を変更するのに利用され、ここで、1つの信号は値を送信するのに変更される。さらに、各ビットがバイナリ方式を用いて同時に変更されるか決定することは難しい。これを救済するため、クロック信号が、データが有効である時を示すのに一般に必要とされる。ワンホットXOR符号化方式では、1回の変更は値を決定するのに利用され、クロック信号は複数のビットの遷移を調整するのに必要とされない。従って、エネルギーはクロック信号に関して節約される。
【0014】
符号化方式の更なる効果は、バスデータビットのハイを駆動するのに必要とされるエネルギーに関する。低速では、送信はシングルバスデータビット変更レベルより多くを伴わず、何れの時点でもシングルデータビット帯電エネルギーより多くを必要としない。比較すると、バーストで送信される第1のデータ部分が10進数255(バイナリ値11111111)を有するときはいつでも、上記の具体例に基づく既存のフルスピード方式は、1つの時点で8つのデータビット、DVビット及びクロックの全ての帯電を必要としうる。低データレートにおいて、符号化方式が通常の方式の瞬間的なエネルギー要求の1/10しか有さない場合、更なるシステム及びチップ電力の節約は、結果としてのより低いノイズ及び電圧の低下のために実現されてもよい。
【0015】
図1は、送信機のための符号化方式100の図である。実施例では、送信機は、8つのデータ信号、1つのデータ有効信号及びクロック信号を有するソース同期DDRパラレルデータバスに接続される。特定のデータバスが説明されるが、本技術は2以上のビットの何れかの幅の何れかのデータバスと共に利用されてもよい。ブロック102において、データバス上の全ての信号がゼロに設定される。ブロック104において、送信データはFIFO(First−In First−Out)バッファから抽出される。ブロック106において、データレートが求められる。いくつかのケースでは、データレートは既知であるか、又はデータレートは入力データを解析しデータレートを決定することによって求められてもよい。FIFOバッファにおけるデータ量はまた、必要なデータレートの表示として利用されてもよい。
【0016】
ブロック108において、データレートはフルデータレート又は低データレートであるか判断される。いくつかのケースでは、フルレートデータはデータバスの9つ全ての信号を利用して、送信データを送信する。低レートデータはデータバスのフルキャパシティ未満を利用してデータを送信し、データバスキャパシティの1/3などのデータバスの一部を用いて低データレートで送信可能である。低データレートとフルスピードレートとの間の実際のレシオは、使用されるデータラインの個数の関数である。データレートがフルレートである場合、処理フローはブロック110に続く。データレートが低レートである場合、処理フローはブロック112に続く。
【0017】
ブロック110において、データはパラレルバスを用いて送信される。データは、データバスの幅全体を用いてフルスピードで送信される。ブロック114において、データ有効信号が、送信されるデータ値に対応するデータ値信号と共にアサートされる。ブロック116において、バスクロックが切り替えられる。バスクロックは、ブロック114におけるデータ送信全体の終了を示すため切り替えられる。処理フローは、以降のデータ送信のためブロック104に戻る。
【0018】
ブロック112において、低レートデータ送信が送信用のデータの第1の部分又はグループをワンホットXOR方式に符号化することによって、FIFOデータの一部に対して開始される。特に、データ有効信号による8ビットパラレルデータバスについて、第1のグループは、ワンホット値Xに符号化するため、2つのビットD7及びD6と共にグループデータ有効信号(DV)を有する。ブロック118において、ワンホット値は、データバス上で駆動された前の値とXOR演算される。これが第1のデータ送信である場合、データバス上で駆動される前の値はゼロであってもよい。現在の送信が第1のデータ送信でない場合、データバスの前の値は何れかの値を有してもよい。特に、データ有効信号による8ビットパラレルデータバスについて、TXDV及びバスクロック信号は低レートデータ送信に関与しない点で、データバスの一部のみが利用される。
【0019】
ブロック120において、次のデータグループがワンホット値又はワンホットXORに符号化される。特に、上述したデータ有効信号と共に8ビットパラレルデータバスについて、次のグループは、Xの新たなワンホット値に符号化するための3つのビットD5,D4及びD3を有する。ブロック122において、当該新たなワンホット値は、データバス上で駆動された前の値とXOR演算される。
【0020】
ブロック124において、最後のデータグループがワンホット値に符号化される。特に、上述したデータ有効信号と共に8ビットパラレルデータバスについて、最後のグループは、Xの第3のワンホット値に符号化するための3ビットD2,D1及びD0を有する。ブロック126において、当該第3のワンホット値は、データバス上に駆動された前の値とXOR演算される。ワンホットデータ方式を利用することによって、クロック信号は、データの完全な送信を示すのに必要とされない。単一ラインのデータが送信されるため、ワンホット値がデータバス上の前の値とXOR演算されるとき、送信は終了する。処理フローは、その後に更なるデータ送信のためブロック104に戻る。
【0021】
所与の送信機の内部クロックについて、フルスピードレートの間、本例におけるデータバスは9ビットを送信可能であり、複数の変化が起こり、バスクロックが送信機の内部クロックレートで切り替わる。上述された低即では、1回の変更は同じレートで起こり(バスクロックは実際には切り替わらない)、3ビットのデータが当該変更によって送信される。この結果、3つの送信機内部クロックサイクルが、フルスピードレートにおいて1つの送信機内部クロックサイクルを用いて送信可能な9ビットのデータを送信するのに利用される。従って、本技術はより少ないエネルギーを用いて設定されたデータ量を送信するが、当該データを送信するのにより長く係らない。
【0022】
図2A及び2Bは、ワンホットXOR方式を用いた受信機における復号化方式200の図である。ブロック202において、復号化のための2つのパラレルプロセス、フルレート復号化方式と1/2レート復号化方式とが実行される。ブロック204において、フルレート復号化方式は、バスクロックトグル上のパラレルバスデータをラッチすることによって開始される。このようにして、第1のバストランザクションは、クロック信号の切替まで終了しない。ブロック206において、受信データが受信側のFIFOバッファに送信される。その後、処理フローはブロック204に戻り、次のデータセットを待機する。
【0023】
ブロック208において、1/2レートプロセスが開始され、バス状態がキャプチャされる。いくつかの実現形態では、バス上のデータは受信機において非同期的にラッチされる。いくつかの実現形態では、全てのデータ信号の単一ビットへのXORは、バスクロックを再生するのに利用されてもよい。いくつかの実現形態では、受信機は、データバス上の変化を素早くキャプチャするのに適した周波数である自らの内部クロックで動作してもよい。ブロック210において、受信機はデータバス上の変化を待機する。ブロック212において、タイマが起動され、受信機はクロックバスの切替を待機する。いくつかのケースでは、受信機は、低速又は高速データが送信されているか判断するため、クロックバス切替を待機する。低速モードでは、バスクロックは切り替わらず、従って、データバスがある短い時間の後にバスクロック切替を伴わずに変わった場合、低速モードが検出される。
【0024】
ブロック214において、バス切替が行われた場合、又はタイマがバスクロック切替期間の75%以上に達したか判断される。バス切替がまず行われた場合、フルスピードデータが存在し、低速受信機は当該バスデータ部分に関与していないとみなされてもよい。処理フローはブロック208に戻り、これにより、受信機はバスから新たなデータセットを準備可能である。タイマがバスクロック期間の75%以上である場合、処理フローはブロック216に続く。
【0025】
ブロック216において、非同期的にラッチされたデータが、送信機により符号化されたワンホット値を提供するため、データバスの前の値とXOR演算される。ブロック218において、ワンホット値が、低データレート検出パスを用いて受信機によりキャプチャされるデータ及びデータ有効値に復号化される。データ有効信号と共に8ビットパラレルデータバスによる具体例では、第1のグループは、受信機においてキャプチャされた2つのデータビットと共に、受信機によりキャプチャされたグループデータ有効信号(LRXDV)を有する。ブロック220において、現在のバス状態がキャプチャされ、これにより、次のデータグループを復号化するのに利用可能である。ブロック222において、受信機は、以前にキャプチャされたバス状態と現在のバス状態とを比較することによって、データバス上の変化を待機する。
【0026】
データバスにおける変化が発生すると、ブロック224において、非同期的にラッチされたデータがデータバスの前の値とXOR演算される。ブロック226において、XOR演算されたデータからのワンホット値が、低データレート検出パスを利用して受信機によりキャプチャされる次のデータ値グループに復号化される。データ有効信号と共に8ビットパラレルデータバスによる具体例では、次のグループは受信機においてキャプチャされた3つのデータビットを有し、LRXD5、LRXD4及びLRXD3が新たなワンホット値Xから復号化される。ブロック228において、現在のバス状態がキャプチャされ、これにより、次のデータグループを復号化するのに利用可能である。ブロック230において、受信機は、現在のバス状態と以前にキャプチャされたバス状態とを比較することによって、データバス上の変化を待機する。
【0027】
データバスにおいて変更が行われると、ブロック232において、非同期的にラッチされたデータがデータバスの前の値とXOR演算される。ブロック234において、XOR演算されたデータからのワンホット値は、低データレート検出パスを用いて受信機によりキャプチャされた次のデータ値のグループに復号化される。データ有効信号と共に8ビットパラレルデータバスによる具体例では、次のグループは受信機においてキャプチャされた3つのデータビットを有し、LRXD2,LRXD1及びLRXD0が第3のワンホット値Xから復号化される。ブロック226において、受信データグループ全体が受信側のFIFOバッファに送信される。具体的には、LRXDV,LRXD7,LRXD6,LRXD5,LRXD4,LRXD3,LRXD2,LRXD1及びLRXD0がバッファに送信される。その後、処理フローはブロック208に戻り、次のデータセットを取得する。
【0028】
図2A及び2Bの受信機の具体例では、別々のパスが入力データを復号化する。低レートパスは、データバスDにおける変更がクロック切替に続かないケースのみを特定する。フルレートパスは、変更(又は不変)がクロック切替に続くケースを特定した。これらのパスは互いに排他的に実行され、それぞれは受信側のFIFOバッファにデータを送信可能である。それらはより最適な実装に組み合わせ可能である。
【0029】
しかしながら、いくつかの従来技術は、データレートの低下との直接的な関係においてインターコネクト電力のリニアな低下をもたらす。さらに、各データビットを送信するのに必要とされるエネルギーは、従来技術によっては減少しない。ここに説明される本技術は、データレートの低下としてインターコネクト電力におけるリニアより良好な低下を可能にする。例えば、1キロバイトのデータがインターコネクトを介し低下したレートで送信されるとき、送信に必要とされるエネルギーはフルレートで送信されるパケットに必要とされるエネルギーのわずか60%になる。比較すると、クロック速度を低下することによって、又はクロックをスロットリングすることによって、インターコネクトレートをスケーリングダウンするなどの典型的な技術は、1キロバイトのデータを送信するのに必要とされるエネルギーを低下させず、当該パケットについて選択されたインターコネクトデータレートから主として独立したものにする。
【0030】
いくつかのケースでは、他の代替的な既存の手段がより低いデータレートにバイアシング又はターミネーションを低下させることに関する。これらの手段は、データレートが低下するに従って電力のリニアより良好な節約を提供できる。しかしながら、このような技術は、周辺バス機能(入力バッファなど)に関する節約を提供し、バス自体を変更するのに必要とされるエネルギーを節約するための限定的な範囲しか提供しない。このような技術は、一般に提供された技術のバイト粒度の近傍のものにより低速データレートとフルスピードデータレートとの間のスイッチを提供することはできない。
【0031】
いくつかのケースでは、低データレートでの電圧の揺動が低減されうる。しかしながら、インタフェースの電圧揺動が経時的に低減された大部分のケースは、IO回転レートがしばしばより高速な処理に対する限定的な要因であるため、より速いバススピードを可能にすることであった。これらのケースは、USB及びSDカードを含む。限定的な要因として入出力(I/O)回転レートによって、ノイズ及び同様の効果が一定を維持するとき、より低速で揺動を更に低減することを試みることによって獲得される限定的な効果しかない可能性がある。
【0032】
図3は、遷移が最小化された低速データ送信を可能にするための方法300の処理フロー図である。ブロック302において、データバス上で送信されるデータセットのデータレートが決定される。ブロック304において、ワンホット値が、低データレートに応答してデータバス上で当該データから符号化される。ブロック306において、XOR演算が、データバスの前の状態と符号化されたワンホット値とにより実行される。さらに、ブロック308において、結果として得られた値がデータバス上で駆動され、新たな状態を送信する。いくつかのケースでは、クロック信号は符号化されたデータと一緒には送信されない。すなわち、データは送信完了を示すためのクロックの切り替えなく送信される。
【0033】
図4は、遷移が最小化された低速データ受信を可能にするための方法400の処理フロー図である。ブロック402において、データバスの状態がキャプチャされる。ブロック404において、受信機は、データバスの状態の変更を待機する。ブロック406において、XOR演算が、データバスのキャプチャされた前の状態とデータバスの新たな状態とにより実行される。ブロック408において、XOR演算から得られたワンホット値がデータビットに復号化される。いくつかのケースでは、データビットはバッファに送信される。その後、処理フローはブロック402に戻り、データバスの新たな状態をキャプチャし、ブロック404における更なる変更を待機するよう進捗する。
【0034】
8つのデータ信号D[7:0]、1つのデータ有効信号DV及びクロック信号CLKを有するソースシンクロナスダブル・データ・レート(DDR)のパラレルデータバスのケースを検討する。通常、フルスピード処理は何れかの規格のDDRパラレルバスと同一である。データ有効通知と送信対象データ(TXDV及びTXD[7:0])は、バス信号DV及びD[7:0]に駆動され、バスサイクル時間の一部の後、クロック信号CLKが切り替わる(ハイからローに又はローからハイに)。通常処理による電力節約はない。低データレート(入力TXDVパターンにより特定されるか、又は他のパラメータから知られる)において、修正されたバス符号化方式が電力の節約を提供するのに利用可能である。
【0035】
図示された低データレート送信の具体例は、クロック信号が低データレート送信中に切り替わる必要を回避する。しかしながら、節約の大部分は修正されたデータ符号化を利用することによって行われる。いくつかの実施例では、クロック信号は、受信データから非同期的に抽出されてもよい。
【0036】
上記の具体例に続いて、送信は3つのグループに分割されてもよく、各グループは3つのバイナリビットを含む。
【0037】
グループ1:TXDV,RXD7,RXD6
グループ2:RXD5,RXD4,RXD3
グループ3:RXD2,RXD1,RXD0
本例では、グループ1は5の値を有し、グループ2は0の値を有し、グループ3は3の値を有する。各グループはX[7:0]へのワンホット符号化に送信される。
【0038】
グループ1:TXDV,RXD7,RXD6=101b、X=00100000b=0x20
グループ2:RXD5,RXD4,RXD3=000b,X=00000001b=0x01
グループ3:RXD2,RXD1,RXD0=011b,X=00001000b=0x08
上記において、各グループの値がバイナリなワンホット符号化及びワンホット符号化の16進数表現により示される。データバスは、標準的な方式による0〜7の8つのデータ信号を含む。グループ1について、0の初期的なバス値であるデータ信号5(X=5)は、5の値を送信するため変更される。グループ2について、データ信号0(X=0)は0の値を送信するため変更される。最後に、グループ3について、データ信号3(X=3)は3の値を送信するよう変更される。
【0039】
ワンホット値Xは、それをバス上のD[7:0]の既存値(初期値0)とXOR演算することによってデータバスの変更として符号化される。DVビットはゼロのままとされ、いくつかのケースでは、DV信号は他の機能について利用される。以下の具体例は、8ビットデータと1つの有効ビットの2つのセットが送信されることを示す。
【0040】
初期値:D[7:0]=0x00
グループA1:TXDV,RXD7,RXD6=101b,X=00100000b=0x20,D[7:0]=0x20
グループA2:RXD5,RXD4,RXD3=000b,X=00000001b=0x01,D[7:0]=0x21
グループA3:RXD2,RXD1,RXD0=011b,X=00001000b=0x08,D[7:0]=0x29
グループB1:TXDV,RXD7,RXD6=110b,X=01000000b=0x40,D[7:0]=0x69
グループB2:RXD5,RXD4,RXD3=011b,X=00001000b=0x08,D[7:0]=0x61
グループB3:RXD2,RXD1,RXD0=111b,X=10000000b=0x80,D[7:0]=0xA9
各グループ内のデータは、正確な値でなく変化として符号化される。まず、全てのワイヤがオフである。グループAによると、ワイヤ5は5の送信を示すためハイである。このとき、ワイヤ0は、ゼロの送信を示すためアサートされるが、ワイヤ5はアサートされたままである。最後に、ワイヤ3はアサートされるが、ワイヤ5,0は3の送信を示すためオンに維持される。
【0041】
グループBによると、ワイヤ6が6の送信を示すようにアサートされ、ワイヤ5、3及び0はオンのままである。その後、ワイヤ3は3の送信を示すためデアサートされ、ワイヤ6、5及び0はオンのままである。最後に、ワイヤ7はアサートされ、ワイヤ6、5及び0は7の送信を示すようオンのままである。
【0042】
従って、1つのクロック期間において通常送信される同じデータ量を送信するのに3つの通常のクロック期間を要する。しかしながら、これは懸念でなく、低データレートモードは、送信機による送信のため到着するデータにとって十分であったことが知られるため選択されたものである。より大きなデータレートが必要とされる場合、高速データレートが自動的に選択されるであろう。
【0043】
規格(フルスピード)及び低速データレート方式の送信効率は、低レート伝送の効果を示すことができる。標準的な方式では、ランダムなデータストリームについて、平均して1/2のビットがあるデータワードと次のものとの間で変化する。データ有効ビットはめったに変化しないと仮定する。DDRクロックは各データワードについて変化する。従って、標準的な方式では、送信されるデータの8ビット毎に、平均して5つのデータバス信号が変化する。
【0044】
低データレート方式では、定義によって各グループが処理されることにより変化する常に1つのみのパラレルバスビット信号がある。各8ビットデータ(及びデータ有効ビット)について3つのグループが送信され、従って、低データレート方式では、送信されるデータの8ビット毎に、3つのパラレルバス信号が変化する。
【0045】
双方の方式について、パラレルバス信号が値を変える2回に1回は、当該変更はローからハイ(0から1)になり、電源レールからのエネルギーを必要とする。従って、ローからハイへの変化であるか、又はハイからローへの変化であるかに関して心配することなく相対的な信号変化レートを比較することによって相対的な効率性を計算できる。同一のデータについて、低データレート方式は、標準的な方式の遷移の60%しか有さない。従って、低データレート方式は、標準的な方式を用いて同じデータを送信することと比較して、当該データを送信するためのエネルギーの60%しか必要としない。
【0046】
上述されたように、低データレート方式の効果は、バスクロックが実行される必要がないことである。標準的な方式について、このことは、標準的な方式がシリコン及びPCBの変形によって生じる各種データビットの到着時間におけるスキュー(skew)に対して保護される必要があるため、致命的である。低データレート方式はXOR方式とワンホットを用い、1つのデータビットしか1回に変わらず、従って、グレイコード技術がこのような効果の影響を受けないのと同じ理由のためスキュー効果の影響がない。
【0047】
実施例では、やや異なる方式が実現可能であり、これにより、データ有効信号はフルデータレートモードと低データレートモードとを区別するのに利用される。本方式では、フル又は低レートの指示は、データが変わる第1のサイクルにおいてDV信号がアサートされるか否かの機能である(低データレートのワンホット符号化が、DV信号がワンホット方式により変更されるデータバスの一部である場合、送信対象のデータ有効指示がハイである低データレート符号化についてアサートされないように選択される)。同様に、低データレート符号化は、データ伝送がローのデータ有効指示と共に送信されると、停止するとみなされる。このような方式は、共通のクロックバスのケース又はSoC内など、バスクロックの有無を利用してフルデータレートモードと低データレートモードとを区別することが望ましくないケースに適している。
【0048】
さらに、本技術は異なる幅のバスに適用可能である。例えば、11までのデータビット及び1つのデータ有効信号は、下位の8データビットへの3〜8のワンホット符号化の4つのサイクルによって搬送可能である。有効なデータのない16データビットが、4〜8のワンホット符号化の4サイクルなどにより搬送可能である。
【0049】
次に
図5を参照して、本技術によるシステム・オン・チップ(SOC)設計の実施例が示される。特定の例示的な具体例として、SOC500がユーザ装置(UE)に内蔵される。一実施例では、UEは、携帯電話、スマートフォン、タブレット、ウルトラシンノートブック、ブロードバンドアダプタを備えたノートブック又は他の何れか同様の通信デバイスなど、エンドユーザによって通信するのに利用される何れかのデバイスを表す。しばしば、UEは、GSM(登録商標)ネットワークにおける移動局(MS)に性質が対応する可能性がある基地局又はノードに接続する。
【0050】
ここで、SOC500は、506,507の2つのコアを有する。上記説明と同様に、コア506,507は、インテル(登録商標)Architecture Core
TMベースのプロセッサ、Advanced Micro Devices,Inc.(AMD)のプロセッサ、MIPSベースのプロセッサ、ARMベースのプロセッサ設計又はこれらのカスタマと共に、それらのライセンシー又は採用者などの命令セットアーキテクチャに準拠してもよい。コア506,507は、システム500の他の部分と通信するため、バスインタフェースユニット509及びL2キャッシュ510と関連付けされたキャッシュコントロール508に結合される。インターコネクト510は、IOSF、AMBA又は他の上述されたインターコネクトなどのオンチップインターコネクトを有し、説明された本技術の1つ以上の態様を実現しうる。
【0051】
インタフェース510は、SIM(Subscriber Identity Module)カードとインタフェースをとるためのSIM530、SOC500を初期化及びブートするためコア506,507により実行されるブートコードを保持するブートROM535、外部メモリ(DRAM560など)とインタフェースをとるためのSDRAMコントローラ540、不揮発性メモリ(Flash565など)とインタフェースをとるためのフラッシュコントローラ545、周辺機器とインタフェースをとるための周辺制御Q1650(シリアル・ペリフェラル・インタフェースなど)、入力(タッチ対応入力など)を表示及び受信するためのビデオコーデック520及びビデオインタフェース525、グラフィクス関連計算などを実行するためのGPU515などの他のコンポーネントに通信チャネルを提供する。これらのインタフェースの何れかは、ここに説明される本技術の態様を含むものであってもよい。具体的には、インターコネクト510、周辺機器との接続又は周辺機器自体は、上述した提案された方式を利用してもよい。
【0052】
さらに、システムは、ブルートゥース(登録商標)モジュール570、3Gモデム575、GPS585及びWiFi585などの通信用の周辺機器を示す。上述されたように、UEは通信用の無線機能を有することに留意されたい。この結果、これらの周辺通信モジュールの必ずしも全てが必要であるとは限らない。しかしながら、ある形態のUEでは、外部通信のための無線機能が内蔵される。
【0053】
具体例1
遷移が最小化された低速データ伝送のための方法がここで説明される。本方法は、データバス上で送信されるデータセットのデータレートを決定するステップと、低データレートに応答してワンホット値を符号化するステップとを有する。本方法はまた、データバスの前の状態と符号化されたワンホット値とのXOR演算を実行するステップと、XOR演算の結果値をデータバスに駆動するステップとを有する。
【0054】
符号化されたデータと共にクロック信号は送信されない。データセットはまた、高速データバス上でフルレートデータにより同一のデータを送信することと比較するとき、より少ないエネルギーを用いて高速データバス上で送信されてもよい。さらに、低速データ伝送は、データレートに基づき自動選択されてもよい。遷移が最小化された低速データ伝送は、オンチップインタフェースと共に用いられてもよい。さらに、データバスは、何れかの幅の高速データバスである。データ有効信号は、データ伝送のフルデータレートモードと低データレートモードとを区別するため利用されてもよい。
【0055】
具体例2
遷移が最小化された低速データ伝送のための方法がここに説明される。本方法は、データバスの状態をキャプチャするステップと、データバスの状態とデータバスの現在の状態とにXOR演算を実行するステップとを有する。本方法はまた、XOR演算からのワンホット値をデータビットに復号化するステップを有する。
【0056】
データバス上ではクロック信号は受信されない。高速データバス上のフルレートデータと比較するとき、より少ないエネルギーを用いてデータは高速データバス上で受信されてもよい。さらに、低速データ伝送は、データバスの状態をキャプチャしてからある期間の経過後に、バス状態の変化に自動的に基づくものであってもよい。遷移が最小化された低速データ伝送は、オンチップインタフェースと共に利用されてもよい。さらに、復号化されたデータは、FIFOバッファに配置されてもよい。データ有効信号が、フルデータレートモードと低データレートモードとを区別するため利用されてもよい。
【0057】
具体例3
遷移が最小化された低速データ伝送のためのシステムがここで説明される。本システムは、送信機と、高速データバスとを有する。送信機は、データをワンホット値に符号化し、ワンホット値を高速データバスの状態とXOR演算してもよい。送信用の以降のデータは、クロック信号を利用することなく高速データバス上の変化によって検出される。
【0058】
ワンホット値は、1つのハイビットによるビットグループを示してもよく、他の全てのビットはローである。XOR演算は、NRZ(Non−Return−to−Zero)ラインコードであってもよい。低速データレート送信は、クロック信号が低データレート送信中に切り替わる必要性を回避するものであってもよい。データ有効信号は、フルデータレートモードと低データレートモードとを区別するのに利用されてもよい。さらに、高速データバスは何れかの幅を有してもよい。遷移が最小化された低速データ伝送は、オンチップインタフェースと共に利用されてもよい。さらに、同一のデータバスが、送信が最小化された低速データ伝送とフルスピードデータ伝送との双方について利用されてもよい。フルスピードデータバスの一部は、送信が最小化された低速データ伝送に利用可能である。さらに、バスデータ伝送のための修正された符号化方式の利用は、より低いピークバス帯電エネルギーをもたらすものであってもよい。
【0059】
本技術が限定数の実施例に関して説明されたが、当業者はそれから多数の修正及び変改を理解するであろう。添付した請求項は本技術の真の精神及び範囲内にするものとして、このような全ての修正及び変形をカバーすることが意図される。
【0060】
設計は、創作からシミュレーション及び製造まで各種段階を経る。設計を表すデータは、複数の方式で当該設計を表しうる。まず、シミュレーションに有用であるとして、ハードウェアは、ハードウェア記述言語又は他の機能的記述言語を用いて表されてもよい。さらに、ロジック及び/又はトランジスタゲートを備えた回路レベルモデルは、設計プロセスのある段階で製作されてもよい。さらに、ある段階における大部分の設計は、ハードウェアモデルにおける各種デバイスの物理的配置を表すレベルのデータに達する。従来の半導体製造技術が利用される場合、ハードウェアモデルを表すデータは、集積回路を製造するのに用いられるマスクのための異なるマスクレイヤ上の各種特徴の有無を指定するデータであってもよい。設計の何れかの表現において、データは何れかの形態の機械可読媒体に記憶されてもよい。メモリ又はディスクなどの磁気若しくは光ストレージは、情報を送信するため変調又は生成された光又は電気波を介し送信される情報を記憶するための機械可読媒体であってもよい。コード又は設計を示すか、又は搬送する電気搬送波が送信されると、電気信号の複製、バッファリング又は再送が実行される程度まで、新たなコピーが行われる。従って、通信プロバイダ又はネットワークプロバイダは、本技術の実施例の技術を実現する搬送波に符号化された情報などの物を少なくとも一時的に有形の機械可読媒体に記憶してもよい。
【0061】
ここで用いられるモジュールは、ハードウェア、ソフトウェア及び/又はファームウェアの何れかの組み合わせを参照する。具体例として、モジュールは、マイクロコントローラによって実行されるよう構成されるコードを記憶するための非一時的な媒体に関連付けされるマイクロコントローラなどのハードウェアを含む。従って、一実施例ではモジュールという表現は、非一時的な媒体に保持されるコードを認識及び/又は実行するよう具体的に構成されるハードウェアを表す。さらに、他の実施例では、モジュールの使用は、所定の処理を実行するようマイクロコントローラによって実行されるよう具体的に構成されるコードを含む非一時的な媒体を参照する。また、推測可能であるように、更なる他の実施例では、モジュールという用語(本例では)はマイクロコントローラと非一時的な媒体との組み合わせを参照してもよい。しばしば別のものとして示されるモジュールの境界は、通常は可変であり、重複する可能性がある。例えば、第1及び第2のモジュールは、独立したハードウェア、ソフトウェア又はファームウェアを維持する可能性があるが、ハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせを共有してもよい。一実施例では、ロジックという用語の使用は、トランジスタ、レジスタ又はプログラマブルロジックデバイスなどの他のハードウェアなどのハードウェアを含む。
【0062】
一実施例における“ための”又は“構成される”というフレーズの使用は、指定又は決定されたタスクを実行するよう装置、ハードウェア、ロジック又は要素を構成、共置、製造、販売のための提供、輸入及び/又は設計することを参照する。本例では、動作しない装置又はその要素は、指定されたタスクを実行するよう設計、結合及び/又は相互接続される場合、指定されたタスクを実行するよう依然として“構成される”。純粋に例示的な具体例として、ロジックゲートは、動作中に0又は1を提供してもよい。しかしながら、イネーブル信号をクロックに提供するよう“構成される”ロジックゲートは、1又は0を提供しうる全ての可能なロジックゲートを含むものでない。代わりに、ロジックゲートは、動作中に1又は0の出力がクロックを有効にする方式で結合されるものである、“構成される”という用語の使用が処理を必要とせず、代わりに装置、ハードウェア及び/又は要素の潜在的な状態に着目することに留意されたく、ここで、潜在的な状態では、装置、ハードウェア及び/又は要素は、装置、ハードウェア及び/又は要素が動作するとき、特定のタスクを実行するよう構成される。
【0063】
さらに、一実施例では、“可能である”及び/又は“動作可能である”とう用語の使用は、指定された方式で装置、ロジック、ハードウェア及び/又は要素の使用を可能にするよう方法で設計される装置、ロジック、ハードウェア及び/又は要素を参照する。上述されるように、一実施例における可能である又は動作可能であるの使用は、装置、ロジック、ハードウェア及び/又は要素の潜在的な状態を参照することに留意されたく、ここで、装置、ロジック、ハードウェア及び/又は要素は、指定された方式での装置の使用を可能にする方式で動作せず設計される。
【0064】
ここで用いられる値は、数、状態、論理状態又はバイナリ論理状態の何れか既知の表現を含む。しばしば、論理レベル又は論理値はまた、バイナリな論理状態を単に表す1及び0として参照される。例えば、1はハイの論理レベルを参照し、0はローの論理レベルを参照する。一実施例では、トランジスタ又はフラッシュセルなどのストレージセルは、単一又は複数の論理値を保持可能であってもよい。しかしながら、コンピュータシステムにおける値の他の表現が利用された。例えば、10進数の10はまた、1010の2進数及び16進数の文字Aとして表現されてもよい。従って、値はコンピュータシステムにおいて保持可能な何れかの情報の表現を含む。
【0065】
さらに、状態は値又は値の一部により表されてもよい。具体例として、論理1などの第1の値がデフォルト又は初期状態を表し、論理0などの第2の値は非デフォルト状態を表すものであってもよい。さらに、一実施例では、リセット及び設定の用語は、デフォルト及び更新された値又は状態をそれぞれ参照する。例えば、デフォルト値は、ハイの論理値、すなわち、リセットを含み、更新値はローの論理値、すなわち、設定を含むことが可能である。値の何れかの組み合わせが何れかの個数の状態を表すのに利用されてもよいことに留意されたい。
【0066】
上述された方法、ハードウェア、ソフトウェア、ファームウェア又はコードの実施例は、処理要素により実行可能な機械アクセス可能、機械可読、コンピュータアクセス可能又はコンピュータ可読媒体に記憶された命令又はコードを介し実現されてもよい。非一時的な機械アクセス可能/可読媒体は、コンピュータ又は電子システムなどの機械により可読な形態により情報を提供(すなわち、記憶及び/又は送信)する何れかの機構を含む。例えば、非一時的な機械アクセス可能な媒体は、SRAMやDRAMなどのRAM、ROM、磁気若しくは光記憶媒体、フラッシュメモリデバイス、電気記憶デバイス、光記憶デバイス、音響記憶デバイス、情報を受信可能な非一時的な媒体と区別されるべき一時的(伝搬された)信号(例えば、搬送波、赤外線信号、デジタル信号)から受信される情報を保持するための他の形態の記憶デバイスを含む。
【0067】
本技術の実施例を実行するためロジックをプログラムするのに用いられる命令は、DRAM、キャッシュ、フラッシュメモリ又は他のストレージなどのシステムにおけるメモリに記憶されてもよい。さらに、命令は、ネットワークを介し又は他のコンピュータ可読媒体を介し配布可能である。従って、機械可読媒体は、限定されることなく、フロッピー(登録商標)ディスケット、光ディスク、CD−ROM、光磁気ディスク、ROM、RAM、EPROM、EEPROM、磁気若しくは光カード、フラッシュメモリ又は電気、光、音響又は他の形態の伝搬信号(例えば、搬送波、赤外線信号、デジタル信号など)を介しインターネット上の情報の送信に用いられる有形な機械可読ストレージなど、機械(コンピュータなど)により可読な形態で情報を記憶又は送信するための何れかの機構を含むものであってもよい。従って、コンピュータ可読媒体は、機械(コンピュータなど)により可読な形態で電子命令又は情報を記憶又は送信するのに適した何れかのタイプの有形な機械可読媒体を含む。
【0068】
本明細書を通じた“一実施例”又は“実施例”という表現は、実施例に関して説明される特定の特徴、構成又は特性が本技術の少なくとも1つの実施例に含まれることを意味する。従って、本明細書を通じて各所における“一実施例では”又は“実施例では”というフレーズの出現は、必ずしも全てが同一の実施例を参照しているとは限らない。さらに、特定の特徴、構成又は特性は、1つ以上の実施例において何れか適切な方式で組み合わせ可能である。
【0069】
上記の明細書では、詳細な説明が特定の実施例を参照して提供された。しかしながら、各種修正及び変更が、添付した請求項において提供されるような本技術のより広範な精神及び範囲から逸脱することなく行われうることは明らかである。従って、明細書及び図面は、限定的でなく例示的な意味でみなされるべきである。さらに、実施例及び他の例示的な言語の上記の使用は、同一の実施例又は具体例を必ずしも参照しているとは限らず、同一の実施例である可能性があると共に、異なる実施例を参照してもよい。
【0070】
さらに、上記は遷移を最小化するため1ホットXOR符号化方式の利用を説明している。しかしながら、2ホットXOR又は圧縮及び符号化技術の組み合わせなどの他のアプローチが、低速と高速のデータ伝送の可変的なレシオを提供するため利用されてもよい。