IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インテル コーポレイションの特許一覧

特表2022-548483低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法
<>
  • 特表-低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法 図1A
  • 特表-低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法 図1B
  • 特表-低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法 図2
  • 特表-低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法 図3
  • 特表-低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法 図4
  • 特表-低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法 図5
  • 特表-低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法 図6
  • 特表-低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法 図7
  • 特表-低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法 図8A
  • 特表-低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法 図8B
  • 特表-低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法 図9A
  • 特表-低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法 図9B
  • 特表-低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法 図10
  • 特表-低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-21
(54)【発明の名称】低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法
(51)【国際特許分類】
   H04L 49/112 20220101AFI20221114BHJP
   G06F 13/38 20060101ALI20221114BHJP
   H04L 49/111 20220101ALI20221114BHJP
   H04L 12/10 20060101ALI20221114BHJP
   G06F 1/3234 20190101ALI20221114BHJP
   G06F 1/3209 20190101ALI20221114BHJP
【FI】
H04L49/112
G06F13/38 320A
H04L49/111
H04L12/10
G06F1/3234
G06F1/3209
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022508484
(86)(22)【出願日】2020-08-19
(85)【翻訳文提出日】2022-02-09
(86)【国際出願番号】 US2020047063
(87)【国際公開番号】W WO2021055131
(87)【国際公開日】2021-03-25
(31)【優先権主張番号】16/576,687
(32)【優先日】2019-09-19
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.3GPP
2.THUNDERBOLT
3.FIREWIRE
(71)【出願人】
【識別番号】593096712
【氏名又は名称】インテル コーポレイション
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リウ,ホイチュ
(72)【発明者】
【氏名】カルニク,タナイ
(72)【発明者】
【氏名】シン,テジパル
(72)【発明者】
【氏名】リウ,イェン‐チェン
(72)【発明者】
【氏名】スブラマニアン,ラヴァンヤ
(72)【発明者】
【氏名】クマシカル,マヘシュ
(72)【発明者】
【氏名】チョデイ,スリ ハルシャ
(72)【発明者】
【氏名】スブラマネー,スリーニヴァス
(72)【発明者】
【氏名】ヴァイディアナタン,カウシク
(72)【発明者】
【氏名】モリス,ダニエル エイチ.
(72)【発明者】
【氏名】アヴシュ,ユイガール イー.
(72)【発明者】
【氏名】ヤング,イアン エー.
【テーマコード(参考)】
5B011
5K030
【Fターム(参考)】
5B011DA02
5B011DC06
5B011DC07
5B011EA03
5B011EA04
5B011EA05
5B011EA10
5B011GG03
5B011GG06
5B011HH01
5B011JA21
5B011KK11
5B011LL02
5B011LL11
5B011LL13
5B011LL14
5K030HA08
5K030HB11
5K030HD03
5K030JA11
5K030KA13
(57)【要約】
これら3つのモード、すなわち、第1のモード(例えば、帯域幅モード)、第2のモード(例えば、待ち時間モード)、及び第3のモード(例えば、エネルギモード)のうちの1つで作動するように、緩衝相互接続部リンクのペアを再構成するための低オーバーヘッドの方法及び装置が記載される。帯域幅モードにおいて、緩衝相互接続部リンクペア内の各リンクは、ソースから宛先へ一意的な信号を送る。待ち時間モードにおいて、ペア内の両方のリンクは、送信元から宛先まで同じ信号を送り、ペア内の一方のリンクは「プライマリ」であり、他方は「アシスト」と呼ばれる。この緩衝相互接続部のペアにおける遷移の時間的整合は、プライマリの実効容量を減少させ、それによって、遅延又は待ち時間を減少させる。エネルギモードでは、ペアの1つのリンク(プライマリ)だけが信号を送る一方で、ペア内の他のリンクはアイドルになる。一方の側のアイドル状態の隣接物は、プライマリのエネルギ消費を低減させる。
【特許請求の範囲】
【請求項1】
モード信号を生成し、該モード信号は、2つ以上の相互接続部のうちの第1及び第2の相互接続部の動作モードを示し、該動作モードは、第1のモード、第2のモード又は第3のモードのうちの1つを含む、コントローラと、
前記コントローラに通信的に結合され、前記2つ以上の相互接続部のうちの前記第1の相互接続部を、前記第1、第2又は第3のモードのうちの1つにあるように構成する、第1のアービタと、
前記コントローラに通信的に結合され、前記2つ以上の相互接続部のうちの前記第2の相互接続部を、前記2つ以上の相互接続部のうちの前記第1の相互接続部と同じモードにあるように構成する、第2のアービタとを含む、
装置。
【請求項2】
前記第1及び第2のアービタは、
前記2つ以上の相互接続部のうちの前記第1の相互接続部の入力を短絡させ、
前記2つ以上の相互接続部のうちの前記第1の相互接続部の入力を前記第1又は第2のアービタの入力ポート又は出力ポートに接続し、或いは
前記2つ以上の相互接続部のうちの前記第1の相互接続部の1つの第1の相互接続部の入力を前記第1又は第2のアービタの入力ポート又は出力ポートから分離する、
ように動作可能である、
請求項1に記載の装置。
【請求項3】
前記2つ以上の相互接続部のうちの前記第1の相互接続部の少なくとも1つの第1の相互接続部及び前記2つ以上の相互接続部のうちの前記第2の相互接続部の少なくとも1つの第2の相互接続部は、電源ライン又は接地ラインによって遮蔽される、請求項1又は2に記載の装置。
【請求項4】
前記第1のモードは、帯域幅モードであり、前記第1及び第2のアービタは、前記2つ以上の相互接続部のうちの前記第1及び第2の相互接続部で別個の信号の伝搬を引き起こす、請求項1~3のうちのいずれか1項に記載の装置。
【請求項5】
前記第2のモードは、待ち時間モードであり、前記第1及び第2のアービタは、前記2つ以上の相互接続部のうちの前記第1の相互接続部での第1の同じ信号及び前記2つ以上の相互接続部のうちの前記第2の相互接続部での第2の同じ信号の伝搬を引き起こす、請求項1~4のうちのいずれか1項に記載の装置。
【請求項6】
前記第3のモードは、エネルギモードであり、前記第1及び第2のアービタは、前記2つ以上の相互接続部のうちの交互の第1の相互接続部及び前記2つ以上の相互接続部のうちの交互の第2の相互接続部での信号の伝搬を引き起こす、請求項1~5のうちのいずれか1項に記載の装置。
【請求項7】
前記コントローラは、電力管理ユニットであり、動的電圧及び周波数スケーリングを行うようにも動作可能である、請求項1~6のうちのいずれか1項に記載の装置。
【請求項8】
モード制御を生成する電力管理ユニット(PMU)と、
前記PMUに結合されるアービタのメッシュネットワークと、を含み、該アービタのメッシュネットワークは、
前記モード制御を受信するよう前記PMUに通信的に結合される第1のアービタと、
前記モード制御を受信するよう前記PMUに通信的に結合される第2のアービタと、
前記第1のアービタに結合される第1のドライバ及び第2のドライバを有する第1のペアの信号経路と、前記第2のアービタに結合される第1のレシーバ及び第2のレシーバと、
前記第2のアービタに結合される第3のドライバ及び第4のドライバを有する第2のペアの信号経路と、前記第1のアービタに結合される第3のレシーバ及び第4のレシーバと、含み、
前記第1及び第2のアービタは、前記第1及び第2の信号経路を、前記モード制御に従って前記第1のモード、第2のモード又は第3のモードのうちの1つにあるように構成する、
装置。
【請求項9】
前記PMUは、動的電圧及び周波数スケーリングを行う、請求項8に記載の装置。
【請求項10】
前記第1及び第2のアービタは、
前記第1のペアの信号経路の各入力を前記第1又は第2のアービタの各入力ポート又は出力ポートに接続し、或いは
前記第1のペアの信号経路の入力を前記第1又は第2のアービタの同じ信号ポートに短絡させる、
請求項8又は9に記載の装置。
【請求項11】
前記第1及び第2のアービタは、
前記第1のペアの信号経路の前記信号経路のうちの前記信号経路の1つの信号経路の入力の1つの電気経路を開き、或いは
前記第1のペアの信号経路の各入力を前記第1又は第2のアービタの各入力ポート又は出力ポートに接続する、
請求項8~10のうちのいずれか1項に記載の装置。
【請求項12】
前記第1及び第2のアービタは、
前記第2のペアの信号経路の各入力を前記第1又は第2のアービタの各入力ポート又は出力ポートに接続し、或いは
前記第2のペアの信号経路の入力を前記第1又は第2のアービタの同じ信号ポートに短絡させる、
請求項8~11のうちのいずれか1項に記載の装置。
【請求項13】
前記第1及び第2のアービタは、
前記第2のペアの信号経路の前記信号経路のうちの1つの信号経路の入力の1つの電気経路を開き、或いは
前記第1のペアの信号経路の各入力を前記第1又は第2のアービタの各入力ポート又は出力ポートに接続する、
請求項8~12のうちのいずれか1項に記載の装置。
【請求項14】
前記第1のモードは、帯域幅モードであり、前記第1及び第2のアービタは、前記第1及び第2のペアの信号経路で別個の信号の伝搬を引き起こす、請求項8~13のうちのいずれか1項に記載の装置。
【請求項15】
前記第2のモードは、待ち時間モードであり、前記第1及び第2のアービタは、前記第1のペアの信号経路での第1の同じ信号及び前記第2のペアの信号経路での第2の同じ信号の伝搬を引き起こす、請求項8~14のうちのいずれか1項に記載の装置。
【請求項16】
前記第3のモードは、エネルギモードであり、前記第1及び第2のアービタは、前記第1及び第2のペアの信号経路の交互の信号経路で信号の伝搬を引き起こす、請求項8~15のうちのいずれか1項に記載の装置。
【請求項17】
メモリと、
前記メモリに結合されるプロセッサコアと、
動的電圧及び周波数スケーリングを行うよう前記プロセッサコアに結合される電力管理ユニット(PMU)と、
メッシュ又はリングネットワークを含むネットワークオンチップ(NOC)と、
前記プロセッサに通信的に結合されるワイヤレスインターフェースと、を含み、
前記NOCは、前記PMUに結合されるアービタのネットワークを含み、該アービタのネットワークは、
前記モード制御を受信するよう前記PMUに通信的に結合される第1のアービタと、
前記モード制御を受信するよう前記PMUに通信的に結合される第2のアービタと、
前記第1のアービタに結合される第1のドライバ及び第2のドライバを有する第1のペアの信号経路と、前記第2のアービタに結合される第1のレシーバ及び第2のレシーバと、
前記第2のアービタに結合される第3のドライバ及び第4のドライバを有する第2のペアの信号経路と、前記第1のアービタに結合される第3のレシーバ及び第4のレシーバと、を含み、
前記第1及び第2のアービタは、前記第1及び第2の信号経路を、前記モード制御に従って前記第1のモード、第2のモード又は第3のモードのうちの1つにあるように構成する、
システム。
【請求項18】
前記第1のモードは、帯域幅モードであり、前記第1及び第2のアービタは、前記第1及び第2のペアの信号経路で別個の信号の伝搬を引き起こす、請求項17に記載のシステム。
【請求項19】
前記第2のモードは、待ち時間モードであり、前記第1及び第2のアービタは、前記第1のペアの信号経路での第1の同じ信号及び前記第2のペアの信号経路での第2の同じ信号の伝搬を引き起こす、請求項17に記載のシステム。
【請求項20】
前記第3のモードは、エネルギモードであり、前記第1及び第2のアービタは、前記第1及び第2のペアの信号経路の交互の信号経路で信号の伝搬を引き起こす、請求項17~19のうちのいずれか1項に記載のシステム。
【請求項21】
コントローラによって、モード信号を生成することであって、該モード信号は、2つ以上の相互接続部のうちの第1及び第2の相互接続部のための動作モードを示し、該動作モードは、第1のモード、第2のモード又は第3のモードのうちの1つを含む、生成すること、
前記コントローラに通信的に結合される第1のアービタによって、前記2つ以上の相互接続部のうちの前記第1の相互接続部を、前記第1のモード、第2のモード又は第3のモードのうちの1つにあるように構成すること、及び
前記コントローラに通信的に結合される第2のアービタによって、前記2つ以上の相互接続部のうちの前記第2の相互接続部を、前記2つ以上の相互接続部のうちの前記第1の相互接続部と同じモードにあるように構成することを含む、
方法。
【請求項22】
前記2つ以上の相互接続部のうちの前記第1の相互接続部の入力を短絡させること、
前記2つ以上の相互接続部のうちの前記第1の相互接続部の入力を前記第1又は第2のアービタの入力ポート又は出力ポートに接続すること、又は
前記2つ以上の相互接続部のうちの前記第1の相互接続部の1つの第1の相互接続部の入力を前記第1又は第2のアービタの入力ポート又は出力ポートから分離することを更に含む、
請求項21に記載の方法。
【請求項23】
前記第1のモードは、帯域幅モードであり、当該方法は、前記2つ以上の相互接続部のうちの前記第1及び第2の相互接続部で別個の信号を伝搬させることを含む、請求項21又は22に記載の方法。
【請求項24】
前記第2のモードは、待ち時間モードであり、当該方法は、前記2つ以上の相互接続部のうちの前記第1の相互接続部で第1の同じ信号を伝搬させ、前記2つ以上の相互接続部のうちの前記第2の相互接続部で第2の同じ信号を伝搬させることを含み、且つ/或いは
前記第3のモードは、エネルギモードであり、当該方法は、前記2つ以上の相互接続部のうちの交互の第1の相互接続部及び前記2つ以上の相互接続部のうちの交互の第2の相互接続部で信号を伝搬させることを含む、
請求項21~23のうちのいずれか1項に記載の方法。
【請求項25】
電源ライン又は接地ラインによって前記2つ以上の相互接続部のうちの前記第1の相互接続部の少なくとも1つの第1の相互接続部及び前記2つ以上の相互接続部のうちの前記第2の相互接続部の少なくとも1つの第2の相互接続部を遮蔽することを更に含む、請求項21~24のうちのいずれか1項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の参照)
この出願は、2019年9月19日に出願された「LOW OVERHEAD, HIGH BANDWIDTH RE-CONFIGURABLE INTERCONNECT APPARATUS AND METHOD」という名称の米国特許出願第16/576,687号に対する優先権を主張し、その全文を全ての目的のために参照として援用される。
【背景技術】
【0002】
今日、単一の製品設計が異なる電源電圧で動作するために必要とされている。例えば、同じプロセッサは、高電圧電源(例えば、1.2V)及び低電圧電源(例えば、0.5V)で動作するように設計される。電源電圧(又は電圧範囲)は、市場セグメント(例えば、タブレット、ラップトップ、デスクトップなど)の性能及び電力要求に従って選択及び固定されることがある。例えば、デスクトップ市場セグメントのプロセッサは、より高い周波数及び処理速度(例えば、より高い性能)を提供する、より高い電圧で動作することがある一方で、タブレット又はラップトップ市場セグメントの同じプロセッサは、より低い電圧及びより低い周波数及び処理速度で動作することがある。殆どの場合、プロセッサは、最小動作電圧(VMIN)から最大動作電圧(VMAX)までの範囲をサポートすることが必要とされる場合がある。また、電圧は、動作中に動的に調整されることがある(例えば、低電力モード、通常モード、ターボモードなど)。
【0003】
大きな異種プラットフォームのためには、少ない待ち時間、低エネルギ及び高帯域幅ネットワークオンチップ(NoC:network-on-chip)が、電力エンベロープ(power envelope)内で性能CAGR(compound annual growth rate)(複合年成長率)を維持するために重要である。慎重な設計にも拘わらず、NoCファブリック(RING又はMESH又は他のトポロジー)は、待ち時間、帯域幅及びエネルギに対する競合する要求を満たすために苦労しており、しばしば互いにトレードオフを行う。具体的には、NoCファブリックの待ち時間、帯域幅及びエネルギは、しばしば長い反復(repeated)/緩衝(buffered)ワイヤ/相互接続部(インターコネクト)によって制限される。例えば、NoCファブリックの待ち時間、帯域幅及びエネルギは、2つのMESHストップ又はRINGストップを接続する緩衝相互接続部によって順番に制限される。例えば、緩衝相互接続部は、1000秒のワイヤのバスを構成し、典型的には、チップを横切って数ミリメートルに亘り、DVFS(dynamic voltage and frequency scaling)(動的電圧及び周波数スケーリング)を受けて、電力エンベロープの下で高性能を達成する。緩衝相互接続部は、中継器間距離、バッファサイズ、ワイヤ層、ワイヤ幅、ワイヤ間隔等を注意深く選択することによって最適化される。技術スケーリング及び広い動作範囲は、この課題を更に悪化させる。
【0004】
本開示の実施形態は、以下に与えられる詳細な記述から並びに本開示の様々な実施形態の添付の図面からより完全に理解されるが、それらは本開示を特定の実施形態に限定するものと理解されるべきでなく、説明及び理解のためのものであるに過ぎない。
【図面の簡単な説明】
【0005】
図1A】高速モードにおける再構成可能な相互接続部を示している。
【0006】
図1B】低エネルギモードにおける再構成可能な相互接続部を示している。
【0007】
図2】幾つかの実施形態に従った再構成可能な相互接続部を備える3×3MESHを含むネットワークオンチップ(NoC)を示している。
【0008】
図3】ベースライン反復バス相互接続部設計を示している。
【0009】
図4】幾つかの実施形態に従った三モード再構成可能な相互接続部を示している。
【0010】
図5】幾つかの実施形態に従った帯域幅モードにおける三モード再構成可能な相互接続部を示している。
【0011】
図6】幾つかの実施形態に従った待ち時間モードにおける三モード再構成可能な相互接続部を示している。
【0012】
図7】幾つかの実施形態に従ったエネルギモードにおける三モード再構成可能な相互接続部を示している。
【0013】
図8A】幾つかの実施形態に従った帯域幅モードを示すプロットを示している。
図8B】幾つかの実施形態に従った待ち時間モードを示すプロットを示している。
【0014】
図9A】幾つかの実施形態に従った帯域幅モードを示すプロットを示している。
図9B】幾つかの実施形態に従った待ち時間モードを示すプロットを示している。
【0015】
図10】幾つかの実施形態に従った3×反復ワイヤを備える三モード再構成可能な相互接続部を示している。
【0016】
図11】幾つかの実施形態に従った三モード再構成可能な相互接続部を有するSOC又はNoCを示している。
【発明を実施するための形態】
【0017】
抵抗性相互接続部(抵抗性インターコネクト)(resistive interconnect)の電力及び性能効果は、電源電圧に強く依存する。従って、低電圧で最も良く作動する設計は、高電圧での動作効率が低く、逆も同様である。異なる市場セグメント及び電力モードについて1つの設計を適用することは、設計及び製造効率を提供するが、性能及びエネルギを損なう。この妥協は、相互接続部抵抗がスケーリングに伴って増大するにつれて、より深刻になることがある。
【0018】
抵抗性相互接続部を備えるロジック(論理)又はプロセッサを設計するための現在の解決策は、2つの最適でない方法に限られる。第1の方法において、集積回路(IC:Integrated Circuit)の設計は、与えられた性能点(例えば、高性能又は低電力)で最適化される。この場合、他の性能目標製品は、最適未満の性能で有意に作動するという難点がある。例えば、高性能(例えば、高周波数)で作動するように最適化されたIC設計は、低電圧及び低周波数で作動する製品にとって最適未満の電力効率をもたらすことがある。何故ならば、より低い性能で作動するために実際に必要とされる最小よりも多くの電力が消費されるからである。
【0019】
幾つかの実施形態は、これら3つのモード、すなわち、第1のモード(例えば、帯域幅モード)、第2のモード(例えば、待ち時間モード)及び第3のモード(例えば、エネルギモード)のうちの1つで作動する緩衝(buffered)相互接続部リンクのペアを再構成するための低オーバーヘッド方法及び装置を提供する。帯域幅モードでは、緩衝相互接続部リンクのペアの各リンクが送信元(source)から宛先(destination)へ一意的な(固有の)信号を送る。待ち時間モードでは、ペア内の両方のリンクが送信元から宛先まで同じ信号を送り、ペア内の一方のリンクは「プライマリ(primary)」であり、他方は「アシスト(assist)」と呼ばれる。緩衝相互接続部のこのペアにおける遷移(transitions)の時間的整合は、プライマリの実効容量を減少させ、それによって、遅延又は待ち時間を減少させる。エネルギモードでは、ペアの一方のリンク、すなわち、プライマリ)だけが信号を送り、ペアの他方のリンクはアイドルである。一方の側のアイドル状態の隣接物は、プライマリのエネルギ消費を削減する。これらの相互接続部は、(例えば、ネットワークオンチップ(NOC:network-on chip)における)MESH又はRINGネットワークの一部である。幾つかの実施形態では、アービタ回路(arbiter circuits)(例えば、MESH-stop及びRING-stop)は、(例えば、電力管理ユニット内の)マスタファブリックコントローラ(master fabric controller)と協調して動作して、ワークロードの必要性に緩衝相互接続部リンクを動的に適合させる。
【0020】
様々な実施形態の多くの技術的効果がある。例えば、再構成可能な相互接続部(reconfigurable interconnect)は、ファブリックの待ち時間、帯域幅及びエネルギのオンザフライ(on-the-fly)再構成を可能にする。遅延及びエネルギは、動的電圧周波数スケーリングによって調整されることができるが、この再構成可能な相互接続部は、遅延(例えば、待ち時間)、エネルギ及び帯域幅を調整するための強力で信頼性のあるノブを提供する。この再構成可能な相互接続部は、追加の配線又は如何なる新しいプロセス強化又は洗練されたカスタム回路も用いることなく、これらの利点を可能にする。再構成可能な相互接続部は、物理的に緩衝された相互接続部リンクの設計/最適化を統一するための潜在的なチップ設計者を提供する。何故ならば、同じ物理的リンクの下にあるペアは、ある範囲の待ち時間、帯域幅及びエネルギ目標を達成するために、異なるモードで制御及び作動されることができるからである。例えば、NoC/ファブリック相互接続部構成は、(プロセッサコアから低レベルキャッシュ(LLC:lower-level-cache)への通信を含む)コア間通信、コアとメインメモリとの通信、コアとI/Oとの通信を維持し、それは再構成可能な相互接続部からのより低い待ち時間及びより高い帯域幅ファブリックが様々なワークロードについての電力性能の顕著な改良を可能にすることを意味する。他の技術的効果は、様々な実施形態及び図から明らかである。
【0021】
以下の説明では、本開示の実施形態のより完全な説明を提供するために、多数の詳細が議論される。しかしながら、本開示の実施形態がこれらの特定の詳細なしに実施される場合があることが当業者に明らかであろう。他の例では、本開示の実施形態を曖昧にすることを回避するために、よく知られている構造及びデバイスは、詳細にではなくブロック図の形態で示される。
【0022】
なお、実施の形態の対応する図面において、信号は線で表されている。幾つかのライン(線)は、より多くのコンポーネント(構成要素)の信号経路を示すために、より太くされることがあり、且つ/或いは、一次情報の流れる方向を示すために、1つ以上の端に矢印を有することがある。そのような指示は、限定することを意図しない。むしろ、ラインは、回路又は論理ユニットの理解をより容易な理解を促進するために、1つ以上の例示的な実施形態と関連して使用される。設計の必要性又は好みによって規定されるような如何なる表現される信号も、実際には、何れかの方向に進むことがある1つ以上の信号を含んでよく、任意の適切なタイプの信号方式で実装されてよい。
【0023】
明細書を通じて並びに請求項において、「接続される(connected)」という用語は、中間デバイスのない、接続される物の間の電気的、機械的又は磁気的接続のような、直接的な接続を意味する。「連結される(coupled)」という用語は、接続される物の間の直接的な電気的、機械的もしくは磁気的接続、又は1つ以上の受動的もしくは能動的中間デバイスを通じた間接的接続のような、直接的又は間接的な接続を意味する。
【0024】
「回路(circuit)」又は「モジュール(module)」という用語は、互いに協働して所望の機能を提供するように構成される1つ以上の受動的及び/又は能動的なコンポーネントを指すことがある。「信号(signal)」という用語は、少なくとも1つの電流信号、電圧信号、磁気信号、又はデータ/クロック信号を指すことがある。単数形の表現(「a」、「an」及び「the」)の意味は、複数の参照を含む。「内(in)」の意味は、「内(in)」及び「上(on)」を含む。
【0025】
「スケーリング(scaling)」という用語は、一般に、設計(図表及びレイアウト)を、1つのプロセス技術から別のプロセス技術に変換し、引き続き、レイアウト領域内で削減されることを意味する。「スケーリング」という用語は、一般に、同じ技術ノード内のレイアウト及びデバイスを小型化することも意味する。「スケーリング」という用語は、他のパラメータ、例えば、電源レベルに対する信号周波数の調整(例えば、スローダウン又はスピードアップ、すなわち、それぞれ、スケーリングダウン又はスケーリング)を意味することもある。「スケーリング」という用語は、回路に対する電源電圧の大きさを調整すること(例えば、電圧スケーリング)も意味することがある。
【0026】
「実質的に(substantially)」、「付近(close)」、「約(approximately)」、「近い(near)」、及び「約(about)」は、一般に、目標値の+/10%内であることを意味する。別段の断りがない限り、共通の物体(オブジェクト)を記述するための順序形容詞「第1」、「第2」、及び「第3」等の使用は、同様の物体の異なるインスタンスが参照されていることを単に示しているに過ぎず、そのように記述される物体が、時間的に、空間的に、ランキングにおいて、又は任意の他の方法において、所与の順序になければならないことを暗示することは意図されていない。
【0027】
そのように使用される用語は、本明細書に記載する本発明の実施形態が、例えば、本明細書に図示又は他の方法で記述するものとは別の向きで動作可能であるような適切な状況の下で互換可能であることが理解されるべきである。
【0028】
本開示の目的のために、「A及び/又はB(A and/or B)」及び「A又はB(A or B)」という句は、(A)、(B)、又は(A及びB)を意味する。本開示の目的のために、「A、B、及び/又はC(A, B, and/or C)」という句は、(A)、(B)、(C)、(A及びB)、(A及びC)、(B及びC)、又は(A、B及びC)を意味する。本明細書及び請求項における「左(left)」、「右(right)」、「前(front)」、「後(back)」、「頂(top)」、「底(bottom)」、「上(over)」、「下(under)」及び同等の表現は、存在するならば、記述の目的のために使用され、永続的な相対的位置を記載するために必ずしも使用されない。
【0029】
実施形態の目的のために、様々な回路、モジュール、及び論理ブロック内のトランジスタは、トンネリングFET(TFET:Tunneling FET)であってよく、或いは様々な実施形態の幾つかのトランジスタは、ドレイン、ソース、ゲート、及びバルク端子を含む、金属酸化物半導体(MOS:metal oxide semiconductor)トランジスタを含んでよい。トランジスタは、Tri-Gate及びFinFETトランジスタ、Gate All Around Cylindrical Transistor、Square Wire、又はRectungular Ribbon Transistor、又はカーボンナノチューブもしくはスピントロンデバイスのようなトランジスタ機能性を実装する他のデバイスを含んでもよい。MOSFETの対称的なソース端子及びドレイン端子は、すなわち、同一の端子であり、ここでは互換的に使用される。他方、TFETデバイスは、非対称のソース端子及びドレイン端子を有する。当業者は、本開示の範囲から逸脱することなく、他のトランジスタ、例えば、バイポーラ接合トランジスタ-BJT PNP/NPN、BiCMOS、CMOS等を幾つかのトランジスタのために使用する場合があることを理解するであろう。
【0030】
プロセッサ又は論理(ロジック)のための電源電圧(VDD:)が増加するにつれて、緩衝相互接続部はデバイスよりもワイヤによってより制限される(何故ならば、デバイス遅延はVDDと共に減少し、ワイヤ遅延はVDDと共に減少しないからである)。高VDDでのより低い遅延及び低VDDでのより低い電力を同時に可能にするために、再構成可能な相互接続部を使用することができる。典型的な再構成可能な相互接続部において、あらゆる緩衝相互接続部は、別の同一の緩衝相互接続部(ドライバ及びワイヤ)を「アシスト(assist)」として得る。再構成可能な相互接続部は、図1A図1Bに示すように、2つのモード、すなわち、高速モード及び低エネルギモードにおいて作動する。
【0031】
図1Aは、高速モードにおける再構成可能な相互接続部アーキテクチャ100を示している。図1Bは、低エネルギモードにおける再構成可能な相互接続部アーキテクチャ120を示している。アーキテクチャ100は、ワイヤ101a、101b、101c、及び101dと、ドライバ(インバータ)102a、102b、102c、及び102dと、レシーバ(インバータ)103a、103b、103c、及び103dとを示している。相互接続部の再構成可能な部分は、入力「In」を受信し、出力「Out」を提供する。相互接続部の再構成可能な部分は、ドライバ102a及び102bと、ワイヤ101b及び101cと、レシーバ103a及び103bとからなり、ドライバ102bは、(イネーブル信号によって制御される)トライステート(tri-state)ドライバであり、レシーバ103bは、イネーブル信号によって制御可能なトライステートレシーバである。
【0032】
ここで、容量(キャパシタンス)Cabは、ワイヤ101aとワイヤ101bとの間の結合容量(カップリングキャパシタンス)であり、容量Cbcは、ワイヤ101bとワイヤ101cとの間の結合容量であり、容量Ccdは、ワイヤ101cとワイヤ101dとの間の結合容量である。図1Aによって示すような高速モードにおいて、プライマリ相互接続部101b及びアシスト相互接続部101cにおける遷移の時間的整合は、プライマリ相互接続部101bとアシスト101cとの間の効果的な交差結合容量(cross coupling capacitance)を減少させ、それによって、入力Inから出力Outへの遅延及びエネルギを減少させる。図1Bに示すような低エネルギモードにおいて、アシスト緩衝相互接続部はトリステート及びアイドル(休止状態)にあり、それはエネルギ節約をもたらす。
【0033】
図1A図1Bの再構成可能な相互接続部は、配線リソースが制約されないシナリオにおいてのみ効果的である。更に、アシスト経路内のトリステートインバータ102b及び103bは、シリコン面積を消費する。例えば、図1Aの高速モード構成は、プライマリ相互接続部101b及びアシスト相互接続部101c内の遷移が一時的に整列するときにプライマリ相互接続部101bの有効ワイヤ容量を低減させることによって遅延を減少させ、それらの間の交差結合容量Cbcは低減又は除去される。図1Bの低エネルギモード構成において、アシスト相互接続部101cは無効にされ、動的電力を低減させる。しかしながら、再構成可能な相互接続部アーキテクチャ100/120は、アシストワイヤ101cのための追加の配線トラックを必要とする。
【0034】
図2は、幾つかの実施形態に従った再構成可能な相互接続部を備える3×3MESHを含むネットワークオンチップ(NoC)アーキテクチャを示している。NoCアーキテクチャ200は、電力管理ユニット201(PMU:power management unit)を含み、MESHネットワークは、ルータ、ノード、及び/又はアービタ202(arbiters)を含む。この例では、3×3のMESHネットワークが、ルータ、ノード、及び/又はアービタ2021.1乃至2023.3を含むことを示している。各ルータ、ノード、及び/又はアービタは、モード制御装置203を受けるためのインターフェース、及びトラフィック相互接続部204と結合するためのインターフェース(例えば、ドライバ及びレシーバ)を有する。幾つかの実施形態において、緩衝相互接続部204は、典型的には、規則的なインバータ経路であり、トリステートインバータは、アシスト経路内で必要とされず、拡張すると、トリステートインバータのための制御信号は必要とされない。よって、様々な実施形態の技術は、静的タイミング分析(static timing analysis)と互換性があり、容易に使用可能である。
【0035】
幾つかの実施形態において、緩衝相互接続部の動作モードは、マスタファブリックコントローラ(又は電力管理ユニット201)によって決定され、マスタファブリックコントローラは、DVFS(dynamic voltage and frequency scaling)を制御するものと同じユニットであってもよい。幾つかの実施形態において、コントローラ201は、動作モードをあらゆるMESH-STOP又はRING-STOPに送信する。ここで、MESH-STOP又はRING-STOPは、ルータ、ノード、及び/又はアービタ202である。従って、MESH-STOP及びRING-STOPは、(動作モードに依存して)緩衝相互接続部のペアの入力への信号を決定し且つ駆動する。例えば、動作モードに基づいて、緩衝相互接続部のペアは、一意的な信号(帯域幅モード)又は同じ信号(待ち時間モード)で適切に駆動されるか、或いはアシストが駆動されない(エネルギモード)。幾つかの実施形態において、PMU201は、オペレーティングシステム(OS)のヒント(hints)及び/又はオンチップ電力性能カウンタ(on-chip power-performance counters)を使用して、相互接続部ファブリックの動作モードを動的に決定する。
【0036】
例えば、待ち時間クリティカルである(latency critical)待ち時間クリティカルなワークロード(latency critical workloads)について、OSは、待ち時間モードをPMU201に発し、PMU201は、アービタを待ち時間モードに構成して、周波数要件を満たすようNOCにおける遅延を低減する。待ち時間クリティカルでないワークロード(latency non-critical workloads)について、OSは、PMU201が、エネルギを節約するために電源電圧及び周波数の両方を減少させるDVFSを実行することを可能にし、PMU201は、アービタが、NOCのエネルギ消費を低減するエネルギモードにあるように構成する。DVFSによって動作周波数をブーストすることによってサポートされ得ない高い帯域幅を必要とするワークロード(例えば、データ移動、メモリアクセスなど)について、PMU201は、アービタが、利用可能な相互接続部を利用して通信する帯域幅モードにあるように構成することができる。
【0037】
図1A図1Bにおけるような伝統的な再構成可能な相互接続部において、緩衝相互接続部の性能-電力調整は、典型的には、バッファ及びワイヤの最適化に制限される。幾つかの実施形態において、MESH-STOPは、動作モードを制御することによって、緩衝相互接続部の遅延及びエネルギに影響を与え得る。これはマイクロアーキテクト(micro-architects)及びアーキテクトが基本ファブリックパラメータ(fundamental fabric parameters)を調整するアーキテクチャのためのノブ(knob)を提供する。
【0038】
他のロジックコントローラと比較して、PMU201のようなマスタファブリックコントローラは、MESHストップ、次に、緩衝相互接続部リンクの動作モードを制御することによって、帯域幅又は待ち時間要求により良く反応することができる。これは(DVFSを伴う)動作VDD及び周波数を超える追加の自由度を提供する。
【0039】
図3は、ベースライン反復バス相互接続部設計300を示している。ベースライン設計300は、2つの可能なMESH又はRING-stop間の相互接続部の例を示している。この例において、MESH又はRING-stopは、ルータ(ノード又はアービタ)3021.1及び3021.2である。2つの信号経路(又はトラヒック相互接続部)304が示されている。第1の信号経路は、入力In1から始まり、出力Out1で終わる。第2の信号経路は、入力In2から始まり、出力Out2で終わる。各信号経路は、最適化された中継器間距離、中継器サイズ、ワイヤ層、幅及びワイヤ間スペースを有する反復バス相互接続部である。この例において、中継器304aは、(非反転バッファとして実装されることもできる)インバータ及びワイヤ304bとして示されている。受動シールドは、隣接するワイヤ間のミラー(Miller)結合容量を低減するために使用される。この例において、受動シールドは、電源(Vcc)又は接地(Vss)相互接続部である。逆方向の走行信号も、ミラー結合容量を減少させる。この例において、信号In1は、右から左へ伝播する一方で、信号In2は、左から右へ伝播する。
【0040】
図4は、幾つかの実施形態に従った三モード再構成可能な相互接続部400を示している。この例では、Vcc又はVss相互接続部によってシールドされる信号経路のパックを形成する2x反復ワイヤが示されている。第1の信号経路は、入力In1から始まり、出力Out1で終わる。第2の信号経路は、入力In2から始まり、出力Out2で終わる。第3の信号経路は、入力In3から始まり、出力Out4で終わる。第4の信号経路は、入力In4から始まり、出力Out4で終わる。第2及び第4の信号経路は、アービタ3011.1からアービタ3021.2へ信号を伝搬させる一方で、第1及び第3の信号経路は、アービタ3011.2からアービタ3021.1へ信号を伝搬させる。実施形態は、アービタ3011.1とアービタ3021.2との間の信号経路を示すが、実施形態は、任意のMESH又はRING-stop間の信号伝送に適用可能である。様々な実施形態において、アービタ3011.1は、In3及びIn4を駆動する入力信号を決定し、それによって、動作モード、すなわち、帯域幅モード、待ち時間モード、及びエネルギモードを設定する。表1は、モードを要約している。
【表1】
【0041】
幾つかの実施形態では、コントローラ(例えば、PMU201又は任意の他のネットワークコントローラ)は、モード信号203を生成する。このモード信号203は、2つ以上の相互接続部の第1及び第2のための動作モードを示すマルチビット信号である。例えば、モード信号203は、信号経路In1からOut1、In3からOut3、In2からOut2、及びIn4からOut4の動作モードを設定し、信号経路In1からOut1及びIn3からOut3は、第1の2つ以上の相互接続部の一部であり、信号経路In2からOut2及びIn4からOut4は、第2の2つ以上の相互接続部の一部である。様々な実施形態において、特定の方向における信号経路の伝搬遅延は同一(又は実質的に同一)である。例えば、信号経路In2からOut2及びIn4からOut4は、同じ(又は実質的に同じ)伝搬遅延を有する一方で、信号経路In1からOut1及びIn3からOut3は、同じ(又は実質的に同じ)伝搬遅延を有する。
【0042】
動作モードは、第1のモード、第2のモード、又は第3のモードであり得る。様々な実施形態が、第1のモードが帯域幅モードであり、第2のモードが待ち時間モードであり、第3のモードがエネルギモードである、2ビット信号であるモード信号を参照して記載されている。しかしながら、実施形態は、これらのモードに限定されない。アービタ402(例えば、4021.1及び4021.2)は、3つのモードよりも多くのモードを実装するように構成されることができる。1つのそのような実施形態では、より多くの信号経路がアービタ間に提供され、モード制御信号203のビットサイズは、2ビットよりも大きいことができる。
【0043】
第1のアービタ4021.2は、コントローラ201に通信可能に結合される。例えば、モード制御203は、第1のアービタ4021.2に提供され、よって、通信結合が達成される。幾つかの実施形態において、第1のアービタ4021.2は、2つ以上の相互接続部(例えば、In1からOut1及びIn3からOut3)のうちの第1の相互接続部を、第1、第2、又は第3のモードのいずれかにあるように構成することが意図される。例えば、モード制御信号203のビット値に依存して、第1のアービタ4021.2は、入力In1及びIn3ノードを、それらのそれぞれの信号経路を通じて一意的な信号を送るために独立するように設定し、それらのそれぞれの信号経路を通じて同じ信号を送るために短絡され、或いはそれらのうちの1つを電気的に開いて1つの信号経路のみをアクティブにする。
【0044】
幾つかの実施形態において、第2のアービタ4021.1は、第1のアービタ4021.2がコントローラ201に通信的に結合されるのと全く同様に、コントローラ201に通信的に結合される。幾つかの実施形態において、第2のアービタ4021.1は、2つ以上の相互接続部(例えば、In2からOut2及びIn4からOut4)の第2の相互接続部を、第1、第2又は第3のモードのうちの1つであるように構成することが意図される。例えば、モード制御信号203のビット値に依存して、第2アービタ4021.1は、入力In2及びIn4ノードを、それらのそれぞれの信号経路を通じて一意的な信号を送るために独立するように設定し、それらのそれぞれの信号経路を通じて同じ信号を送るために短絡され、或いはそれらのうちの1つを電気的に開いて1つの信号経路のみをアクティブにする。
【0045】
様々な実施形態において、第1のアービタ及び第2のアービタによって設定される動作モードは、同じ動作モードである。例えば、第1アービタ4021.2及び第2アービタ4021.1は、信号経路(例えば、2つ以上の相互接続部のうちの第1の相互接続部及び2つ以上の相互接続部のうちの第2の相互接続部)を、帯域幅モード、待ち時間モード、又はエネルギモードにあるようにさせる。幾つかの実施形態において、第1及び第2のアービタによって設定される動作モードは、異なる動作モードである。
【0046】
様々な実施形態において、2つ以上の相互接続部の第1の相互接続部のうちの少なくとも1つ、及び2つ以上の相互接続部の第2の相互接続部のうちの少なくとも1つは、電源ライン(Vcc)又は接地ライン(Vss)によって遮蔽される。この例において、信号経路In1からOut1は、Vcc又はVssの1つによって遮蔽される一方で、信号経路In2からOut2は、Vcc又はVssの1つによって遮蔽される。
【0047】
幾つかの実施形態では、第1のモード(例えば、帯域幅モード)において、第1のアービタ4021.2及び第2のアービタ4021.1は、2つ以上の相互接続部のうちの第1の相互接続部及び第2の相互接続部で別々の信号の伝搬を引き起こす。例えば、各信号経路は、一意的な信号を送る。この例では、4つの異なる信号が、帯域幅モードにおいて2つのアービタ間で伝搬されることができる。
【0048】
幾つかの実施形態では、第2のモード(例えば、待ち時間モード)において、第1のアービタ4021.2及び第2のアービタ4021.1は、2つ以上の相互接続部のうちの第1の相互接続部で第1の同じ信号の伝搬を引き起こすことが意図され、2つ以上の相互接続部のうちの第2の相互接続部で第2の同じ信号の伝搬を引き起こすことが意図される。例えば、In1及びIn3は、アービタ4021.2からアービタ4021.1に伝搬する同じ信号であり、In2及びIn4は、アービタ4021.1からアービタ4021.2に伝搬する同じ信号である。
【0049】
幾つかの実施形態では、第3のモード(例えば、エネルギモード)において、第1のアービタ4021.2及び第2のアービタ4021.1は、2つ以上の相互接続部のうちの交互の第1の相互接続部及び2つ以上の相互接続部のうちの交互の第2の相互接続部で信号の伝搬を引き起こすことが意図される。例えば、信号経路In1からOut1は有効にされる一方で、信号経路In3からOut3は無効にされる。同様に、信号経路In2からOut2は、有効される一方で、信号パスIn4からOut4は無効にされる。
【0050】
様々な実施形態において、アービタは、モード制御装置203のビット値に従って相互接続部304上のトラフィックをルーティング(経路指定)するモード制御装置203によって制御可能な、マルチプレクサ、パスゲート、トライステートバッファ又はインバータ、NANDゲート、NORゲートなどのような任意の適切なロジックを使用して実装されることができる。
【0051】
図5は、幾つかの実施形態に従った帯域幅モードにおける三モード再構成可能な相互接続部500を示している。この構成では、単一の信号経路に対して高い帯域幅が達成される。各物理リンクは、一意的な論理信号を送る。この例では、4つの物理ワイヤが同じ配線リソース内にパックされている。ここで、アービタ3011.1及びアービタ3021.2は、入力In1、In2、In3、及びIn4が一意的な信号を送るように、(信号ルータ5021.1及び5021.2によって示されるように)構成される。
【0052】
図6は、幾つかの実施形態に従った待ち時間モードにおける三モード再構成可能な相互接続部600を示している。近隣物(例えば、信号経路IN3)は、信号経路IN1のためのアシスト経路として再利用される。ここで、アービタ3011.1及びアービタ3021.2は、IN1及びIN4が同じ信号を送り且つIn1及びIn3が同じ信号を送るように、(信号ルータ6021.1及び6021.2によって示すように)構成される。並列信号経路を使用することによって、信号経路間の交差結合容量が低減される。アシスト経路(IN3)及びプライマリ経路(IN1)内の信号遷移が時間的に整列して、IN1とIN3との間の結合容量の効果的な減少(及び最良の場合には除去)をもたらす。ドライバサイズ及びワイヤレイアウトは、IN1及びIN3が密接な整合(close matching)を可能にするために、同一(又は実質的に同一)である。IN1とIN3との間の信号遷移に時間的な不整合(mismatch)があるにも拘わらず、遅延利益は優雅に(gracefully)低下する。
【0053】
図7は、幾つかの実施形態に従ったエネルギモードにおける三モード再構成可能な相互接続部700を示している。ここで、アービタ3011.1及びアービタ3021.2は、交互の信号経路を可能にするように(信号ルータ7021.1及び7021.2によって示すように)構成される。従って、信号を送る信号経路は、切り替わらない信号経路(non-switching signal paths)によって遮蔽される。この構成は、より少ない信号経路が切り替わっているので、低エネルギモードを可能にするだけでなく、重要な信号(例えば、ハードリセット信号)をノイズから遮蔽することも可能にする。この場合、隣接信号経路(IN3)は、切り替わらず、ワークロードが短い待ち時間又は高帯域幅を要求しない場合に、単に信号経路IN1が切り替わって、エネルギを節約する。
【0054】
図8A及び図8Bは、幾つかの実施形態に従った帯域幅モード及び待ち時間モードをそれぞれ示すプロット800及び820を示している。プロット800は、典型的な相互接続部801、遅延モードにおける再構成可能な相互接続部802、及び帯域幅モードにおける再構成可能な相互接続部803についての待ち時間に対してピーク帯域幅を比較している。プロットは、待ち時間クリティカルなサーバMESHリンクのための三モード再構成可能な相互接続部の性能を示している。ここで、各曲線の4つの点は、異なるVDD点、すなわち、0.65V、0.75V、0.9V及び1.1Vである。プロット800は、帯域幅モードでは、801を超える46%のエネルギを犠牲にしてピーク帯域幅を最大33%だけ増加させ得ることを示している。プロット820は、典型的な相互接続部821、待ち時間モードにおける再構成可能な相互接続部822、及び帯域幅モードにおける再構成可能な相互接続部823についての待ち時間に対してエネルギを比較している。プロット820は、待ち時間モードにおいて、エネルギの68%増加を犠牲にして、リンク待ち時間を14%だけ減少させ得ることを示している。なお、この例では、両方が望ましくないならば、再構成可能な相互接続部は、5%未満の待ち時間増加でエネルギモードにあることができる。
【0055】
図9A及び図9Bは、幾つかの実施形態に従った帯域幅モード及び待ち時間モードをそれぞれ示すプロット900及び920を示している。プロット900は、典型的な相互接続部901、待ち時間モードにおける再構成可能な相互接続部902、及び帯域幅モードにおける再構成可能な相互接続部903についての待ち時間に対してピーク帯域幅を比較している。プロットは、待ち時間クリティカルなサーバMESHリンクのための三モード再構成可能な相互接続部の性能を示している。例えば、プロット900及び920は、曲線内の異なる点によって示されるような固定エネルギ収支(fixed energy budget)の下でさえ利益を受け得ることを示してより、異なる点は、異なるVDD点、すなわち、0.65V、0.75V、0.9V及び1.1Vである。ピーク帯域幅対待ち時間プロット900は、帯域幅モードにおいて、エネルギ制約(例えば、リンク901によって消費される最大エネルギ)の下でさえ、帯域幅の27%増加があることを示している。プロット920は、典型的な相互接続部921、待ち時間モードにおける再構成可能な相互接続部922、及び帯域幅モードにおける再構成可能な相互接続部923についての待ち時間に対してエネルギを比較している。プロット920は、待ち時間モードにおいて、エネルギ増加を伴わずに、リンク待ち時間を5%だけ減少させ得ることを示している。なお、より洗練された(オール・ツー・オール(網羅的))アービタは、2x及び3xトリモーダル再構成可能な相互接続部を動的にサポートすることもできる。ここで、オール・ツー・オールアービタとは、全ての他のアービタと直接的に通信することができるアービタを指す。
【0056】
図10は、幾つかの実施形態に従った3×反復ワイヤを備える三モード再構成可能な相互接続部1000を示している。この発明の代替的な実施形態では、緩衝相互接続部のペアを動的に再構成する代わりに、3つの緩衝相互接続部を3つの動作モード、すなわち、帯域幅モード、待ち時間モード、及びエネルギモードに構成することができる。類似のスキームを使用して、「n」緩衝相互接続部を構成することができ、ここで、「n」は、3よりも大きい。幾つかの実施形態において、アービタ10021.1及び10021.2は、IN3、IN4、IN5、及びIN4を駆動する入力信号を決定し、それによって、動作モード、すなわち、帯域幅モード、待ち時間モード、及びエネルギモードを設定する。表2は、モードを要約している。3xトリモーダル再構成可能な相互接続部で可能な待ち時間低減、エネルギ低減、及び帯域幅増加は、特定の緩衝相互接続部構成のためのベースラインよりも高いことがある。
【表2】
【0057】
図11は、幾つかの実施形態に従った三モード再構成可能な相互接続部を備えるSOC又はNoC2400を示している。幾つかの実施形態において、デバイス2400は、コンピューティングタブレット、携帯電話もしくはスマートフォン、ラップトップ、デスクトップ、物のインターネット(IOT)デバイス、サーバ、ウェアラブルデバイス、セットトップボックス、ワイヤレス対応eリーダ、又は同等物のような、適切なコンピューティングデバイスを表す。特定のコンポーネントが一般的に示されており、そのようなデバイスの全てのコンポーネントがデバイス2400に示されていないことが理解されるであろう。図11の任意のブロックは、様々な実施形態の三モード再構成可能な相互接続部を有することができる。
【0058】
ある例において、デバイス2400は、SoC(System-on-Chip)2401を含む。SOC2401の例示的な境界が、図15に点線を使用して示されており、幾つかの例示的なコンポーネントは、SOC2401内に含まれるように示されている。しかしながら、SOC2401は、デバイス2400の任意の適切なコンポーネントを含んでよい。
【0059】
幾つかの実施形態において、デバイス2400は、プロセッサ2404を含む。プロセッサ2404は、マイクロプロセッサ、アプリケーションプロセッサ、マイクロコントローラ、プログラマブル論理デバイス、処理コア、又は他の処理手段のような、1つ以上の物理デバイスを含むことができる。プロセッサ2404によって行われる処理動作は、アプリケーション及び/又はデバイス機能が実行されるオペレーティングプラットフォーム又はオペレーティングシステムの実行を含む。処理動作は、人間のユーザ又は他のデバイスとのI/O(入出力)に関する動作、電力管理に関する動作、コンピューティングデバイス2400を他のデバイスに接続することに関する動作、及び/又は同等の動作を含む。処理動作は、オーディオI/O及び/又はディスプレイI/Oに関する動作を含むこともある。
【0060】
幾つかの実施形態において、プロセッサ2404は、(コアとも呼ぶ)複数の処理コア2408a、2408b、2408cを含む。3つのコア2408a、2408b、2408cが図15に示されているに過ぎないが、プロセッサ2404は、任意の他の適切な数の処理コア、例えば、数十又は数百の処理コアを含んでよい。プロセッサコア2408a、2408b、2408cは、単一の集積回路(IC)チップ上に実装されてよい。その上、チップは、1つ以上の共有キャッシュ及び/又はプライベートキャッシュ、バス又は相互接続部、グラフィックス及び/又はメモリコントローラ、又は他のコンポーネントを含んでよい。
【0061】
幾つかの実施形態において、プロセッサ2404は、キャッシュ2406を含む。ある例において、キャッシュ2406のセクション(区画)は、個々のコア2408に専用であってよい(例えば、コア2408aに専用のキャッシュ2406の第1のセクション、コア2408bに専用のキャッシュ2406の第2のセクションなど)。ある例において、キャッシュ2406の1つ以上のセクションは、コア2408の2つ以上のコアの間で共有されてよい。キャッシュ2406は、異なるレベル、例えば、レベル1(L1)キャッシュ、レベル2(L2)キャッシュ、レベル3(L3)キャッシュなどに分割されてよい。
【0062】
幾つかの実施形態において、プロセッサコア2404は、コア2404による実行のために(条件付き分岐を伴う命令を含む)命令をフェッチするためのフェッチユニット(fetch unit)を含んでよい。命令は、メモリ2430のような任意の記憶デバイスからフェッチされてよい。プロセッサコア2404は、フェッチされた命令をデコードするデコードユニットを含んでもよい。例えば、デコードユニットは、フェッチされた命令を複数のマイクロ動作にデコードしてよい。プロセッサコア2404は、デコードされた命令を格納することに関する様々な動作を実行するスケジュールユニットを含んでよい。例えば、スケジュールユニットは、命令がディスパッチの準備が整うまで、例えば、デコードされた命令の全てのソース値が利用可能になるまで、デコードユニットからのデータを保持してよい。1つの実施形態において、スケジュールユニットは、実行のためにデコードされた命令をスケジュール(schedule)してよく、且つ/或いはデコードされた命令を実行ユニットに発行(issue)(又は発送(dispatch))してよい。
【0063】
発送された命令が(例えば、デコードユニットによって)デコードされ、(例えば、スケジュールユニットによって)発送された後に、実行ユニットは、発送された命令を実行してよい。ある実施形態において、実行ユニットは、(撮像計算ユニット、グラフィックス計算ユニット、汎用計算ユニットなどのような)1つよりも多くの実行ユニットを含んでよい。実行ユニットは、加算、減算、乗算、及び/又は除算のような様々な算術演算を実行してもよく、1つ以上の算術論理ユニット(ALU:arithmetic logic units)を含んでよい。ある実施形態では、コプロセッサ(図示せず)は、実行ユニットと連動して様々な算術演算を実行してよい。
【0064】
更に、実行ユニットは、順序が乱れた命令を実行してよい。故に、プロセッサコア2404は、1つの実施形態において、順序乱れプロセッサコア(out-of-order processor core)であってよい。プロセッサコア2404は、退去ユニット(retirement unit)を含んでもよい。退去ユニットは、実行された命令が委ねられた(committed)後に退去されることができる。ある実施形態において、実行された命令の退去は、命令の実行から委ねられているプロセッサ状態、割り当て解除されている(de-allocated)命令によって使用される物理レジスタなどをもたらすことがある。プロセッサコア2404は、1つ以上のバスを介してプロセッサコア2404のコンポーネントと他のコンポーネントとの間の通信を可能にするバスユニットを含んでもよい。プロセッサコア2404は、(割り当てられた(assigned)アプリケーションプライオリティ及び/又はサブシステム状態(モード)関連(association)に関する値のような)コア2404の様々なコンポーネントによってアクセスされるデータを格納する1つ以上のレジスタを含んでもよい。
【0065】
幾つかの実施形態において、デバイス2400は、接続性回路構成2431(connectivity circuitries)を含む。例えば、接続性回路構成2431は、例えば、デバイス2400が外部デバイスと通信することを可能にするために、ハードウェアデバイス(例えば、無線及び/又は有線コネクタ及び通信ハードウェア)及び/又はソフトウェアコンポーネント(例えば、ドライバ、プロトコルスタック)などを含む。デバイス2400は、他のコンピューティングデバイス、無線アクセスポイント又は基地局などのような、外部デバイスから分離されてよい。
【0066】
ある例において、接続性回路構成2431は、複数の異なるタイプの接続性を含んでよい。一般化するために、接続性回路構成2431は、セルラ接続性回路構成、ワイヤレス接続性回路構成などを含んでよい。接続性回路構成2431のセルラ接続性回路構成は、一般的に、GSM(global system for mobile communications)もしくは変形物もしくは派生物、CDMA(code division multiple access)もしくは変形物もしくは派生物、TDM(time division multiplexing)もしくは変形物もしくは派生物、第3世代パートナーシッププロジェクト(3GPP)ユニバーサル移動通信システム(UMTS)もしくは変形物もしくは派生物、3GPPロングタームエボリューション(LTE)システムもしくは変形物もしくは派生物、3GPP LTE-Advanced(LTE-A)システムもしくは変形物もしくは派生物、第5世代(5G)無線システムもしくは変形物もしくは派生物、5G移動ネットワークシステムもしくは変形物もしくは派生物、第5G New Radio(NR)システムもしくは変形物もしくは派生物、又は他のセルラサービス標準を介して提供されるような、無線通信事業者によって提供されるセルラネットワーク接続性を指す。接続性回路構成2431の無線接続性回路構成(又は無線インターフェース)は、セルラではない無線接続性を指し、(Bluetooth(登録商標)、近接場などのような)パーソナルエリアネットワーク、(Wi-Fiのような)ローカルエリアネットワーク、及び/又は(WiMaxのような)ワイドエリアネットワーク、及び/又は他の無線通信を含むことができる。ある例において、接続性回路構成2431は、例えば、システム実施形態が無線デバイス、例えば、携帯電話又は携帯情報端末に組み込まれることがあるように、有線又は無線インターフェースのような、ネットワークインターフェースを含んでよい。
【0067】
幾つかの実施形態において、デバイス2400は、1つ以上のI/Oデバイスとの相互作用に関するハードウェアデバイス及び/又はソフトウェアコンポーネントを表す制御ハブ2432を含む。例えば、プロセッサ2404は、制御ハブ2432を介して、ディスプレイ2422、1つ以上の周辺デバイス2424、記憶デバイス2428、1つ以上の他の外部デバイス2429などのうちの1つ以上と通信してよい。制御ハブ2432は、チップセット、プラットフォーム制御ハブ(PCH)、及び/又は同等物であってよい。
【0068】
例えば、制御ハブ2432は、デバイス2400に接続する追加的なデバイスのための1つ以上の接続ポイントを示しており、例えば、それを通じて、ユーザはシステムと相互作用(対話)することがある、例えば、デバイス2400に取り付けられることができるデバイス(例えば、デバイス2429)は、マイクロホンデバイス、スピーカもしくはステレオシステム、オーディオデバイス、ビデオシステムもしくは他のディスプレイデバイス、キーボードもしくはキーパッドデバイス、又はカードリーダもしくは他のデバイスのような特定のアプリケーションで使用するための他のI/Oデバイスを含む。
【0069】
上述のように、制御ハブ2432は、オーディオデバイス、ディスプレイ2422などと相互作用することができる。例えば、マイクロホン又は他のオーディオデバイスを通じた入力は、デバイス2400の1つ以上のアプリケーション又は機能のための入力又はコマンドを提供することができる。加えて、ディスプレイ出力の代わりに又はディスプレイ出力に加えて、オーディオ出力を提供することができる。別の例において、ディスプレイ2422がタッチスクリーンを含むならば、ディスプレイ2422は、少なくとも部分的に制御ハブ2432によって管理されることができる入力デバイスとしても機能する。制御ハブ2432によって管理されるI/O機能を提供するために、コンピューティングデバイス2400に追加的なボタン又はスイッチがあることができる。1つの実施形態において、制御ハブ2432は、加速度計、カメラ、光センサもしくは他の環境センサ、又はデバイス2400に含まれることができる他のハードウェアのようなデバイスを管理する。入力は、直接的なユーザ対話の一部であることができ、システムに環境入力を提供して、(ノイズをフィルタリングすること、輝度検出のためにディスプレイを調整すること、カメラのためにフラッシュを適用すること、又は他の構成のような)システムの動作に影響を及ぼすことができる。
【0070】
幾つかの実施形態において、制御ハブ2432は、任意の適切な通信プロトコル、例えば、PCIe(Peripheral Component Interconnect Express)、USB(Universal Serial B us)、Thunderbolt、HDMI(登録商標)(High Definition Multimedia Interface)、Firewireなどを使用して、様々なデバイスに結合してよい。
【0071】
幾つかの実施形態において、ディスプレイ2422は、ユーザがデバイス2400と対話するための視覚的及び/又は触覚的ディスプレイを提供するハードウェア(例えば、ディスプレイデバイス)及びソフトウェア(例えば、ドライバ)コンポーネントを表す。ディスプレイ2422は、ディスプレイインターフェース、ディスプレイスクリーン、及び/又はユーザにディスプレイを提供するために使用されるハードウェアデバイスを含んでよい。幾つかの実施形態において、ディスプレイ2422は、出力及び入力の両方をユーザに提供するタッチスクリーン(又はタッチパッド)デバイスを含む。ある例において、ディスプレイ2422は、プロセッサ2404と直接的に通信することがある。ディスプレイ2422は、モバイル電子デバイス又はラップトップデバイスにおけるような内部ディスプレイデバイス、又はディスプレイインターフェース(例えば、DisplayPortなど)を介して取り付けられる外部ディスプレイデバイスのうちの1つ以上であることができる。1つの実施形態において、ディスプレイ2422は、仮想現実(VR)アプリケーション又は拡張現実(AR)アプリケーションにおける使用のための立体視ディスプレイデバイスのようなヘッドマウントディスプレイ(HMD)であることができる。
【0072】
幾つかの実施形態では、図示されていないが、プロセッサ2404に加えて(又はプロセッサ2404の代わりに)、デバイス2400は、ディスプレイ2422上にコンテンツを表示する1つ以上の態様を制御することがある1つ以上のグラフィックス処理コアを含むグラフィックス処理ユニット(GPU)を含んでよい。
【0073】
制御ハブ2432(又はプラットフォームコントローラハブ)は、ハードウェアインターフェース及びコネクタ、並びに周辺デバイス2424への周辺接続を行うためのソフトウェアコンポーネント(例えば、ドライバ、プロトコルスタック)を含んでよい。
【0074】
デバイス2400は、他のコンピューティングデバイスへの周辺デバイスであってよく、それに接続される周辺デバイスを有して良いことが理解されるであろう。デバイス2400は、デバイス2400上のコンテンツを管理(例えば、ダウンロード及び/又はアップロード、変更、同期)する目的のために他のコンピューティングデバイスに接続する「ドッキング」コネクタを有してよい。加えて、ドッキングコネクタは、デバイス2400が、特定の周辺機器に接続することを可能にすることができ、特定の周辺機器は、コンピューティングデバイス2400が、例えば、オーディオビジュアル又は他のシステムへのコンテンツ出力を制御することを可能にする。
【0075】
専用ドッキングコネクタ又は他の専用接続ハードウェアに加えて、デバイス2400は、共通又は標準ベースのコネクタを介して周辺接続を行うことができる。共通タイプは、(多数の異なるハードウェアインターフェースのいずれかを含むことができる)ユニバーサルシリアルバス(USB)コネクタ、MDP(MiniDisplayPort)、HDMI(登録商標)(High Definition Multimedia Interface)、Firewire、又は他のタイプを含むDisplayPortを含むことができる。
【0076】
幾つかの実施形態において、接続性回路構成2431は、例えば、プロセッサ2404に直接的に結合されることに加えて或いはその代わりに、制御ハブ2432に結合されてよい。幾つかの実施形態において、ディスプレイ2422は、例えば、プロセッサ2404に直接的に結合されることに加えて或いはその代わりに、制御ハブ2432に結合されてよい。
【0077】
幾つかの実施形態において、デバイス2400は、メモリインターフェース2434を介してプロセッサ2404に結合されるメモリ2430を含む。メモリ2430は、デバイス2400内に情報を格納するためのメモリデバイスを含む。メモリは、不揮発性(メモリデバイスへの電力が中断された場合に状態が変化しない)及び/又は揮発性(メモリデバイスへの電力が中断された場合に状態が不確定である)メモリデバイスを含むことができる。メモリデバイス2430は、ダイナミックランダムアクセスメモリデバイス(DRAM)、スタティックランダムアクセスメモリデバイス(SRAM)、フラッシュメモリデバイス、相変化メモリデバイス、又はプロセスメモリとして機能するのに適した性能を有する何らかの他のメモリデバイスであり得る。1つの実施形態において、メモリ2430は、デバイス2400用のシステムメモリとして作動して、1つ以上のプロセッサ2404がアプリケーション又はプロセスを実行するときに使用するときの使用のためのデータ及び命令を格納することができる。メモリ2430は、アプリケーションデータ、ユーザデータ、音楽、写真、文書、又は他のデータ、並びにデバイス2400のアプリケーション及び機能の実行に関するシステムデータを(長期であれ一時的であれ)格納することができる。
【0078】
様々な実施形態及び例の要素は、コンピュータ実行可能命令(例えば、本明細書で議論する任意の他のプロセスを実装する命令)を格納するための機械可読媒体(例えば、メモリ2430)としても提供される。機械可読媒体(例えば、メモリ2430)は、フラッシュメモリ、光ディスク、CD-ROM、DVD ROM、RAM、EPROM、EEPROM、磁気もしくは光カード、相変化メモリ(PCM)、又は電子もしくはコンピュータ実行可能命令を格納するのに適した他のタイプの機械可読媒体を含んでよいが、これらに限定されない。例えば、本開示の実施形態は、通信リンク(例えば、モデム又はネットワーク接続)を介してデータ信号によってリモートコンピュータ(例えば、サーバ)から要求元コンピュータ(例えば、クライアント)に転送されることがあるコンピュータプログラム(例えば、BIOS)としてダウンロードされてよい。
【0079】
幾つかの実施形態において、デバイス2400は、例えば、デバイス2400の様々なコンポーネントの温度を測定するための温度測定回路構成2440を含む。ある例において、温度測定回路構成2440は、それらの温度が測定及び監視されるべきである様々なコンポーネントに埋め込まれてよく、結合されてよく、或いは取り付けられてよい。例えば、温度測定回路構成2440は、コア2408a、2408b、2408c、電圧調整器2414、メモリ2430、SOC2401のマザーボード、及び/又はデバイス2400の任意の適切なコンポーネントのうちの1つ以上の温度を測定することがある。
【0080】
幾つかの実施形態において、デバイス2400は、例えば、デバイス2400の1つ以上のコンポーネントによって消費される電力を測定するための、電力測定回路構成2442を含む。ある例では、電力を測定することに加えて或いはその代わりに、電力測定回路構成2442は、電圧及び/又は電流を測定することがある。ある例において、電力測定回路構成2442は、それらの電力、電圧、及び/又は電流消費が測定及び監視されることが意図される様々なコンポーネントに埋め込まれてよく、結合されてよく、或いは取り付けられてよい。例えば、電力測定回路構成2442は、1つ以上の電圧調整器2414によって供給される電力、電流及び/又は電圧、SOC2401に供給される電力、デバイス2400に供給される電力、デバイス2400のプロセッサ2404(又は任意の他のコンポーネント)によって消費される電力などを測定することがある。
【0081】
幾つかの実施形態において、デバイス2400は、一般的に電圧調整器(VR:voltage regulator))2414と呼ばれる1つ以上の電圧調整器回路構成を含む。VR2414は、デバイス2400の任意の適切なコンポーネントを作動させるために供給されることがある、適切な電圧レベルで信号を生成する。単なる例として、VR2414は、デバイス2400のプロセッサ2404に信号を供給していることが示されている。幾つかの実施形態において、VR2414は、1つ以上の電圧識別(VID:Voltage Identification)信号を受信し、VID信号に基づいて、適切なレベルで電圧信号を生成する。様々なタイプのVRがVR2414のために利用されてよい。例えば、VR2414は、「バック(buck)」VR、「ブースト(boost)」VR、バック及びブーストVRの組み合わせ、低ドロップアウト(LDO:low dropout)調整器、スイッチングDC-DC調整器などを含んでよい。バックVRは、一般的に、入力電圧を1(unit)よりも小さい比率で出力電圧に変換する必要のある電力送達用途で使用される。ブーストVRは、一般的に、入力電圧を1(unit)よりも大きな比率で出力電圧に変換する必要のある電力送達用途で使用される。幾つかの実施形態において、各プロセッサコアは、PCU2410a/b及び/又はPMIC2412によって制御されるその独自のVRを有する。幾つかの実施形態において、各コアは、電力管理のための効率的な制御を提供するために分散型LDOのネットワークを有する。LDOは、デジタルLDO、アナログLDO、又はデジタル又はアナログLDOの組み合わせであることができる。
【0082】
幾つかの実施形態において、デバイス2400は、一般的にクロック生成器2416と呼ぶ1つ以上のクロック生成器回路構成を含む。クロック生成器2416は、デバイス2400の任意の適切なコンポーネントに供給されることがある適切な周波数レベルでクロック信号を生成する。単なる例として、クロック生成器2416は、デバイス2400のプロセッサ2404にクロック信号を供給していることが示されている。幾つかの実施形態において、クロック生成器2416は、1つ以上の周波数識別(FID:Frequency Identification)信号を受信し、FID信号に基づいて、適切な周波数でクロック信号を生成する。クロック生成器2416は、様々な実施形態に関連して議論するような適応周波数出力を提供することができる適応クロック源(adaptive clock source)である。
【0083】
幾つかの実施形態において、デバイス2400は、デバイス2400の様々なコンポーネントに電力を供給するバッテリ2418を含む。単なる例として、バッテリ2418は、プロセッサ2404に電力を供給していることが示されている。図に示していないが、デバイス2400は、ACアダプタから受け取る交流(AC)電源に基づいて、例えば、バッテリを再充電するための、充電回路構成を含んでよい。
【0084】
幾つかの実施形態において、デバイス2400は、(電力管理ユニット(PMU:Power Management Unit)、電力コントローラなどとも呼ぶ)電力制御ユニット(PCU:Power Control Unit)2410を含む。ある例において、PCU2410の幾つかのセクション(区画)は、1つ以上の処理コア2408によって実装されてよく、PCU2410のこれらのセクションは、点線ボックスを使用して象徴的に示されており、PCU2410aと印されている。ある例において、PCU2410の幾つかの他のセクションは、処理コア2408の外側に実装されてよく、PCU2410のこれらのセクションは、点線ボックスを使用して象徴的に示されており、PCU2410bと印されている。PCU2410は、デバイス2400のための様々な電力管理動作を実装することがある。PCU2410は、デバイス2400のための様々な電力管理動作を実装するために、ハードウェアインターフェース、ハードウェア回路構成、コネクタ、レジスタなど、並びにソフトウェアコンポーネント(例えば、ドライバ、プロトコルスタック)を含んでよい。
【0085】
幾つかの実施形態において、デバイス2400は、例えば、デバイス2400のための様々な電力管理動作を実装するために、電力管理集積回路(PMIC:Power Management Integrated Circuit)2412を含む。幾つかの実施形態において、PMIC2412は、再構成可能な電力管理IC(RPMIC:Reconfigurable Power Management IC))及び/又はIMVP(Intel(Intel(登録商標) Mobile Voltage Positioning)である。ある例において、PMICは、プロセッサ2404から分離されたICチップ内にある。これはデバイス2400のための様々な電力管理動作を実装することがある。PMIC2412は、デバイス2400のための様々な電力管理動作を実装するために、ハードウェアインターフェース、ハードウェア回路構成、コネクタ、レジスタなど、並びにソフトウェアコンポーネント(例えば、ドライバ、プロトコルスタック)を含んでよい。
【0086】
ある例において、デバイス2400は、PCU2410又はPMIC2412の一方又は両方を含む。ある例において、PCU2410又はPMIC2412のいずれか一方は、デバイス2400内に存在しないことがあり、故に、これらのコンポーネントは、点線を使用して図示されている。
【0087】
デバイス2400の様々な電力管理動作は、PCU2410によって、PMIC2412によって、又はPCU2410とPMIC2412との組み合わせによって実行されてよい。例えば、PCU2410及び/又はPMIC2412は、デバイス2400の様々なコンポーネントについての電力状態(例えば、P状態)を選択してよい。例えば、PCU2410及び/又はPMIC2412は、デバイス2400の様々なコンポーネントについての(例えば、ACPI(Advanced Configuration and Power Interface)仕様に従って)電力状態を選択してよい。単に一例として、PCU2410及び/又はPMIC2412は、デバイス2400の様々なコンポーネントを、スリープ状態、アクティブ状態、適切なC状態(例えば、ACPI仕様に従ったC0状態又は他の適切なC状態)などに遷移させることができる。ある例において、PCU2410及び/又はPMIC2412は、VR2414による電圧出力及び/又はクロック生成器によって出力されるクロック信号の周波数を、例えば、それぞれVID信号及び/又はFID信号を出力することによって制御してよい。ある例において、PCU2410及び/又はPMIC2412は、バッテリ電力の使用、バッテリ2418の充電、及び電力節約動作に関する構成を制御することがある。
【0088】
クロック生成器2416は、位相固定ループ(PLL:phase locked loop)、周波数こいてループ(FLL:frequency locked loop)、又は任意の適切なクロック源を含むことができる。幾つかの実施形態において、プロセッサ2404の各コアは、それ自体のクロック源を有する。従って、各コアは、他方のコアの動作周波数から独立した周波数で作動することができる。幾つかの実施形態において、PCU2410及び/又はPMIC2412は、適応的又は動的周波数スケーリング又は調整を行う。例えば、プロセッサコアのクロック周波数は、コアがその最大電力消費閾値又は限界で作動していないならば、増加させられることができる。幾つかの実施形態において、PCU2410及び/又はPMIC2412は、プロセッサの各コアの動作条件を決定し、コアが目標性能レベルより下で作動しているとPCU2410及び/又はPMIC2412が決定するときに、コアのクロック源(例えば、コアのPLL)がロックを喪失することなく、そのコアの周波数及び/又は電源電圧を適宜調整する。例えば、コアが、そのコア又はプロセッサ2404について割り当てられた総電流よりも小さい電源レール(power supply rail)から電流を引き出すならば、PCU2410及び/又はPMIC2412は、コア又はプロセッサ2404がより高い性能レベルで動作できるように、(例えば、クロック周波数及び/又は電源電圧レベルを増加することによって)そのコア又はプロセッサ2404についての電力引出し(power draw)を一時的に増加させることができる。従って、電圧及び/又は周波数は、製品の信頼性を損なうことなく、プロセッサ2404のために一時的に増加されられることができる。
【0089】
ある例において、PCU2410及び/又はPMIC2412は、例えば、電力測定回路構成2442、温度測定回路構成2440、バッテリ2418の充電レベル、及び/又は電力管理のために使用されることがある任意の他の適切な情報から測定値を受信することに少なくとも部分的に基づいて、電力管理動作を実行してよい。この目的を達成するために、PMIC2412は、システム/プラットフォームの電力/熱挙動に対する影響を有する1つ以上の要因における様々な値/変動を感知/検出するために、1つ以上のセンサに通信的に結合される。1つ以上の要因の例は、電流、電圧低下、温度、動作周波数、動作電圧、電力消費、コア間通信活動などを含む。これらのセンサのうちの1つ以上は、コンピューティングシステムの1つ以上のコンポーネント又は論理/IPブロックと物理的に近接して(且つ/或いは熱接触/結合して)設けられてよい。加えて、センサは、PCU2410及び/又はPMIC2412が、少なくとも部分的にセンサの1つ以上によって検出される値に基づいてプロセッサコアエネルギを管理することを可能にするために、少なくとも1つの実施形態において、PCU2410及び/又はPMIC2412に直接的に接続されてよい。
【0090】
(ソフトウェアスタックの全ての要素が示されているわけではないが)デバイス2400の例示的なソフトウェアスタックが示されている。単なる例として、プロセッサ2404は、アプリケーションプログラム2450、オペレーティングシステム2452、(例えば、一般的にPMアプリケーション2458と呼ぶ)1つ以上の電力管理(PM)特定アプリケーションプログラム、及び/又は同等のプログラムを実行してよい。PMアプリケーション2458は、PCU2410及び/又はPMIC2412によって実行されてもよい。OS2452はまた、1つ以上のPMアプリケーション2456a、2456b、2456cを含んでもよい。OS2452は、様々なドライバ2454a、2454b、2454cなどを含んでもよく、それらの幾つかは、電力管理の目的のために特定されてよい。幾つかの実施形態において、デバイス2400は、基本入出力システム(BIOS:Basic Input/Output System)2420を更に含んでよい。BIOS2420は、(例えば、1つ以上のドライバ2454を介して)OS2452と通信したり、プロセッサ2404と通信したりしてよい。
【0091】
例えば、PMアプリケーション2458、2456、ドライバ2454、BIOS2420などのうちの1つ以上を使用して、電力管理特有のタスクを実施して、例えば、デバイス2400の様々なコンポーネントの電圧及び/又は周波数を制御し、デバイス2400の様々なコンポーネントの起動状態、スリープ状態、及び/又は任意の他の適切な電力状態を管理してよく、バッテリの電力使用量、バッテリ2418の充電、電力節約動作に関する構成などを制御してよい。
【0092】
本明細書における「ある実施形態」、「1つの実施形態」、「幾つかの実施形態」、又は「他の実施形態」への言及は、実施形態に関連して記載される特定の構成、構造、又は特徴が、必ずしも全ての実施形態ではなく、少なくとも幾つかの実施形態に含まれることを意味する。「ある実施形態」、「1つの実施形態」、又は「幾つかの実施形態」の様々な外観は、必ずしも全てが同じ実施形態に言及しているわけではない。明細書が、コンポーネント、構成、構造、又は特徴が「含まれてよい(may be included)」、「含まれてよい(might be included)」、又は「含まれることができる(can be included)」と述べる場合、その特定のコンポーネント、構成、構造、又は特徴が含まれることは必要とされない。明細書又は請求項が単数の要素に言及する場合、それは、要素のうちの1つのみが存在することを意味しない。本明細書又は請求項が「追加的な」要素に言及する場合、それは追加的な要素のうちの1つよりも多くが存在することを排除しない。
【0093】
更に、特定の構成、構造、機能、又は特徴は、1つ以上の実施形態において任意の適切な方法で組み合わせられてよい。例えば、第1の実施形態は、2つの実施形態に関連する特定の構成、構造、機能、又は特徴が相互に排他的でない場合には、第2の実施形態と組み合わせられてよい。
【0094】
本開示は、その特定の実施形態に関連して記載されたが、そのような実施形態の多くの代替、修正、及び変形が、前述の記述に照らして当業者に明らかであろう。本開示の実施形態は、添付の請求項の広い範囲内に入るように、全てのそのような代替、修正、及び変形を包含することが意図される。
【0095】
加えて、図示及び議論を簡単にするために、並びに開示を曖昧にしないために、集積回路(IC)チップ及び他のコンポーネントへのよく知られている電力/接地接続は、提示された図中に示されることがあり、或いは示されないことがある。更に、構成は、開示を曖昧にすることを避けるために、並びにそのようなブロック図構成の実装に関する詳細が、本開示が実装されるプラットフォームに大きく依存する(すなわち、そのような詳細は、十分に当業者の範囲内であるべきである)という事実も考慮して、ブロック図形式で示されることがある。本開示の例示的な実施形態を記載するために特定の詳細(例えば、回路)が記載される場合、本開示はこれらの特定の詳細を伴わないで或いはそれらの変形を伴って実施され得ることが、当業者に明らかであるはずである。よって、本記述は、限定的ではなく例示的であると考えられるべきである。
【0096】
以下の例は、さらなる実施形態に関する。例における特定事項は、1つ以上の実施形態のどこでも使用されてよい。本明細書に記載する装置の全ての任意的な構成は、方法又はプロセスに関して実装されてよい。
【0097】
例1:モード信号を生成し、モード信号は、2つ以上の相互接続部のうちの第1及び第2の相互接続部の動作モードを示し、動作モードは、第1のモード、第2のモード又は第3のモードのうちの1つを含む、コントローラと、コントローラに通信的に結合され、2つ以上の相互接続部のうちの第1の相互接続部を、第1、第2又は第3のモードのうちの1つにあるように構成する、第1のアービタと、コントローラに通信的に結合され、2つ以上の相互接続部のうちの第2の相互接続部を、2つ以上の相互接続部のうちの第1の相互接続部と同じモードにあるように構成する、第2のアービタとを含む、装置。
【0098】
例2:第1及び第2のアービタは、2つ以上の相互接続部のうちの前記第1の相互接続部の入力を短絡させ、2つ以上の相互接続部のうちの前記第1の相互接続部の入力を第1又は第2のアービタの入力ポート又は出力ポートに接続し、或いは、2つ以上の相互接続部のうちの第1の相互接続部の1つの第1の相互接続部の入力を第1又は第2のアービタの入力ポート又は出力ポートから分離する、ように動作可能である、例1に記載の装置。
【0099】
例3:2つ以上の相互接続部のうちの第1の相互接続部の少なくとも1つの第1の相互接続部及び2つ以上の相互接続部のうちの第2の相互接続部の少なくとも1つの第2の相互接続部は、電源ライン又は接地ラインによって遮蔽される、例1に記載の装置。
【0100】
例4:第1のモードは、帯域幅モードであり、第1及び第2のアービタは、2つ以上の相互接続部のうちの第1及び第2の相互接続部で別個の信号の伝搬を引き起こす、例1に記載の装置。
【0101】
例5:第2のモードは、待ち時間モードであり、第1及び第2のアービタは、2つ以上の相互接続部のうちの第1の相互接続部での第1の同じ信号及び2つ以上の相互接続部のうちの第2の相互接続部での第2の同じ信号の伝搬を引き起こす、例1に記載の装置。
【0102】
例6:第3のモードは、エネルギモードであり、第1及び第2のアービタは、2つ以上の相互接続部のうちの交互の第1の相互接続部及び2つ以上の相互接続部のうちの交互の第2の相互接続部での信号の伝搬を引き起こす、例1に記載の装置。
【0103】
例7:コントローラは、電力管理ユニットであり、動的電圧及び周波数スケーリングを行うようにも動作可能である、例1に記載の装置。
【0104】
例8:モード制御を生成する電力管理ユニット(PMU)と、PMUに結合されるアービタのメッシュネットワークと、を含み、アービタのメッシュネットワークは、モード制御を受信するようPMUに通信的に結合される第1のアービタと、モード制御を受信するようPMUに通信的に結合される第2のアービタと、第1のアービタに結合される第1のドライバ及び第2のドライバを有する第1のペアの信号経路と、第2のアービタに結合される第1のレシーバ及び第2のレシーバと、第2のアービタに結合される第3のドライバ及び第4のドライバを有する第2のペアの信号経路と、第1のアービタに結合される第3のレシーバ及び第4のレシーバと含み、第1及び第2のアービタは、第1及び第2の信号経路を、モード制御に従って第1のモード、第2のモード又は第3のモードのうちの1つにあるように構成する、装置。
【0105】
例9:PMUは、動的電圧及び周波数スケーリングを行う、例8に記載の装置。
【0106】
例10:第1及び第2のアービタは、第1のペアの信号経路の各入力を第1又は第2のアービタの各入力ポート又は出力ポートに接続し、或いは、第1のペアの信号経路の入力を第1又は第2のアービタの同じ信号ポートに短絡させる、例8に記載の装置。
【0107】
例11:第1及び第2のアービタは、第1のペアの信号経路の信号経路のうちの信号経路の1つの信号経路の入力の1つの電気経路を開き、或いは、第1のペアの信号経路の各入力を第1又は第2のアービタの各入力ポート又は出力ポートに接続する、例8に記載の装置。
【0108】
例12:第1及び第2のアービタは、第2のペアの信号経路の各入力を第1又は第2のアービタの各入力ポート又は出力ポートに接続し、或いは、第2のペアの信号経路の入力を第1又は第2のアービタの同じ信号ポートに短絡させる、例8に記載の装置。
【0109】
例13:第1及び第2のアービタは、第2のペアの信号経路の信号経路のうちの1つの信号経路の入力の1つの電気経路を開き、或いは、第1のペアの信号経路の各入力を第1又は第2のアービタの各入力ポート又は出力ポートに接続する、例8に記載の装置。
【0110】
例14:第1のモードは、帯域幅モードであり、第1及び第2のアービタは、第1及び第2のペアの信号経路で別個の信号の伝搬を引き起こす、例8に記載の装置。
【0111】
例15:第2のモードは、待ち時間モードであり、第1及び第2のアービタは、第1のペアの信号経路での第1の同じ信号及び第2のペアの信号経路での第2の同じ信号の伝搬を引き起こす、例8に記載の装置。
【0112】
例16:第3のモードは、エネルギモードであり、第1及び第2のアービタは、第1及び第2のペアの信号経路の交互の信号経路で信号の伝搬を引き起こす、例8に記載の装置。
【0113】
例17:メモリと、メモリに結合されるプロセッサコアと、動的電圧及び周波数スケーリングを行うようプロセッサコアに結合される電力管理ユニット(PMU)と、メッシュ又はリングネットワークを含むネットワークオンチップ(NOC)と、プロセッサに通信的に結合されるワイヤレスインターフェースとを含み、NOCは、PMUに結合されるアービタのネットワークを含み、アービタのネットワークは、モード制御を受信するようPMUに通信的に結合される第1のアービタと、モード制御を受信するようPMUに通信的に結合される第2のアービタと、第1のアービタに結合される第1のドライバ及び第2のドライバを有する第1のペアの信号経路と、第2のアービタに結合される第1のレシーバ及び第2のレシーバと、第2のアービタに結合される第3のドライバ及び第4のドライバを有する第2のペアの信号経路と、第1のアービタに結合される第3のレシーバ及び第4のレシーバとを含み、第1及び第2のアービタは、第1及び第2の信号経路を、モード制御に従って第1のモード、第2のモード又は第3のモードのうちの1つにあるように構成する、システム。
【0114】
例18:第1のモードは、帯域幅モードであり、第1及び第2のアービタは、第1及び第2のペアの信号経路で別個の信号の伝搬を引き起こす、例17に記載のシステム。
【0115】
例19:第2のモードは、待ち時間モードであり、第1及び第2のアービタは、第1のペアの信号経路での第1の同じ信号及び第2のペアの信号経路での第2の同じ信号の伝搬を引き起こす、例17に記載のシステム。
【0116】
例20:第3のモードは、エネルギモードであり、第1及び第2のアービタは、第1及び第2のペアの信号経路の交互の信号経路で信号の伝搬を引き起こす、例17に記載のシステム。
【0117】
読者が技術開示の性質及び要旨を確認することを可能にする要約が提供される。要約は、請求項の範囲又は意味を限定するために使用されないという理解の下に提出される。これにより、以下の請求項は、詳細な記述に組み込まれ、各請求項は、別個の実施形態として自立する。
図1A
図1B
図2
図3
図4
図5
図6
図7
図8A
図8B
図9A
図9B
図10
図11
【国際調査報告】