Comments
Description
Transcript
セルフタイム型データ駆動プロセッサの 動的電圧制御
平成 25 年度 修士学位論文 セルフタイム型データ駆動プロセッサの 動的電圧制御回路の検討 A Study on Dynamic Voltage Scaling Circuit for Self-Timed Data-Driven Processor 1165066 畠山 博信 指導教員 岩田 誠 2014 年 2 月 28 日 高知工科大学大学院 工学研究科 基盤工学専攻 情報システム工学コース 要 旨 セルフタイム型データ駆動プロセッサの 動的電圧制御回路の検討 畠山 博信 近年,LSI システムの低消費電力化の要求が益々高まっている.消費電力を削減する手法 の一つに,動的電圧制御 DVFS(Dynamic Voltage Frequency Scaling)がある.クロック 同期式回路に DVFS を用いると,電圧と共にクロック周波数を変える必要があり,プログ ラムの実行を一時的に停止せざるを得ない.これにより,結果的に電圧昇降の制御間隔が長 くなるため,オペレーティングシステムを介在させた粗い電圧制御しか実現されていない. これに対して,本研究では,クロックが不要なセルフタイム型パイプライン(STP)に着 目し,プログラム実行を停止せずに,かつ,ハードウェア水準での高速な動的電圧制御が可 能な回路について検討している.STP では,パイプライン段間で転送要求に応じてハンド シェイクを行い,有効なデータを有するパイプライン段のみが動作する.よって,パイプ ライン段の稼働率(すなわち,実効スループット)に比例して電力を消費する.このため, チップ内部の消費電流値を観測することによって,STP 内の実効スループットが判るため, それに応じて電圧を昇降させることが可能になる. 本論文では,セルフタイム型パイプラインに基づくデータ駆動チップマルチプロセッサ ULP-DDCMP チップに対して,動的に電圧制御可能な回路の構成を検討している.特に, 消費電流値を観測してその値から省電力化が可能な供給電圧を決定する回路,ならびに,現 在の供給電圧値に対して目標電圧値に安定的に変更するためのフィードバック制御回路につ いて考察している.前者については,コア毎の消費電力特性に適した電力決定方式を,後者 –i– に関しては,プログラム実行に支障を与えない安定的な電力供給制御方式を提案する.さら に,これらの方式を周辺回路として実装し,低消費電力効果を評価した結果を示す. キーワード 動的電圧制御,セルフタイム型パイプライン,データ駆動プロセッサ – ii – Abstract A Study on Dynamic Voltage Scaling Circuit for Self-Timed Data-Driven Processor Hironobu Hatakeyama Recently low-power techniques of LSI systems are being demanded more and more. One of those techniques is the dynamic voltage frequency scaling (DVFS) to reduce dynamic power. However, due to the clock synchronization, program execution must be suspended to change clock frequency according to the target voltage. Since DVFS interval time is longer, only coarse-grain DVFS controlled by operating system is practicable in commercial LSI chips. Therefore, in this study, we focus clockless self-timed pipeline (STP) to realize suspend-free fine-grain dynamic voltage scaling (SF-DVS) in hardware level. Every STP stage operates only when the stage holds the valid data by transferring hand-shake signals among its neighbor stages. STP thus consumes dynamic power in proportion to the operating rate of the pipeline, i.e., pipeline throughput. If the consumed current in the chip is observed to detect effective throughput, the optimal supply voltage can be decided in hardware level. This paper studies on a circuit configuration of dynamic voltage scaling applicable to our self-timed data-driven chip-multiprocessor. This circuit is composed of two components; the first one is a target voltage decision circuit according to its observed current of each processor core, and the second one is a stable voltage control circuit – iii – to change the current voltage to the target voltage without suspending program execution. The proposed circuit was implemented as a peripheral circuit on our data-driven chip-multiprocessor evaluation board and its power reduction ratio is evaluated through actual measurement of the board. effect for observation result. key words dynamic voltage scaling,self-timed pipeline,data-driven processor – iv – 目次 第1章 序論 1 第2章 セルフタイム型パイプライン 7 2.1 緒言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 セルフタイム型パイプラインの基本動作 . . . . . . . . . . . . . . . . . . . 7 2.3 セルフタイム型パイプラインの特徴 . . . . . . . . . . . . . . . . . . . . . 11 2.4 結言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 動的電圧制御システム 14 3.1 緒言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2 負荷フィードバックによる電圧制御機構 . . . . . . . . . . . . . . . . . . . 14 第3章 3.2.1 3.3 . . . . . . . . . . . . . . . . . 16 損益分岐負荷 BEPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 サスペンドフリー動的電圧制御機構 3.3.1 電圧制御回路の省電力化 . . . . . . . . . . . . . . . . . . . . . . . 18 3.3.2 DC-DC 変換器の省電力化 . . . . . . . . . . . . . . . . . . . . . . 18 結言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 LSI 実装と実測評価 21 4.1 緒言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.2 ULP-DDCMP チップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.3 評価条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.4 第4章 4.4 4.3.1 対象 LSI チップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.3.2 評価システム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.3.3 目標電圧設定機構 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 PID 制御とダイレクト制御方式の評価 . . . . . . . . . . . . . . . . . . . 28 –v– 目次 4.5 SF-DVS による総電力削減効果 . . . . . . . . . . . . . . . . . . . . . . . 30 4.6 損益分岐処理負荷 BEPL の評価 . . . . . . . . . . . . . . . . . . . . . . . 30 4.7 結言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 結論 35 第5章 謝辞 37 参考文献 39 – vi – 図目次 1.1 DVS の仕組みの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1 STP の構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 STP のタイミングチャート . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 DDP の構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.4 ULP-STP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.5 ULP-STP -40 ℃ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.6 ULP-STP 25 ℃ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.7 ULP-STP 80 ℃ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.1 サスペンドフリー動的電圧制御 (SF-DVS) 回路の構成 . . . . . . . . . . . . 15 3.2 動的電圧制御方式の等価回路モデル . . . . . . . . . . . . . . . . . . . . . . 17 3.3 平滑化回路を用いた SF-DVS . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.4 目標値保持による平滑化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.1 試作データ駆動プロセッサの STP 構成 . . . . . . . . . . . . . . . . . . . . 23 4.2 試作 ULP-CUE のレイアウト . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.3 ULP-DDNS プラットフォーム . . . . . . . . . . . . . . . . . . . . . . . . 27 4.4 評価システムの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.5 ULP-DDCMP の実測値 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.6 PID 制御とダイレクト制御の過渡特性 . . . . . . . . . . . . . . . . . . . . 29 4.7 エネルギー削減率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.8 電力削減率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.9 VDD 昇圧時の消費電流波形の実測例 (25 ℃) . . . . . . . . . . . . . . . . . 32 4.10 試作プロセッサの損益分岐負荷 BEPL (0.8V 1.2 V, 25 ℃) . . . . . . . . . 33 – vii – 図目次 4.11 VDD 昇圧時間とその間の処理性能 (25 ℃) . . . . . . . . . . . . . . . . . . – viii – 34 表目次 1.1 DVFS プロセッサとその電圧切り替え時間 . . . . . . . . . . . . . . . . . . 3 2.1 DVS による電力削減効果 . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.1 ULP-DDCMP チップの諸元 . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2 DC-DC 変換器のパラメータ . . . . . . . . . . . . . . . . . . . . . . . . . 33 – ix – 第1章 序論 大規模集積回路(LSI)の微細加工技術の進展に伴って,今や CMOS トランジスタのゲー ト長は 10nm に近づきつつあり,1 つの LSI チップに数十億トランジスタを集積化できる時 代になっている.今後の半導体チップの集積度の指標としては,国際半導体技術ロードマッ プ(ITRS)があり,集積回路チップ上の最小配線間距離(プロセス・ルール)を基準に,設 計面や製造面の技術目標が整理されている [1].今日までそれらの技術目標を達成するため の研究開発の努力によりプロセス・ルールの断続的な縮小が達成されており,将来的には, 同一チップ上に集積できるトランジスタの数は数百億となることが予想されている.今後 は,こうした膨大な量の計算資源を活用した,情報処理通信システムの高性能化が期待でき る.例えば,アプリケーション毎の処理やデータの並列度に応じて多数の処理回路を搭載す ることによる処理の高並列化が可能である.また,無線処理用の回路などの周辺装置を含む 情報通信処理システムの全機能をチップに収める,システム集積により,同一チップ内の低 遅延の信号の伝達が実現でき,処理速度は飛躍的に向上する. 一方で,この集積化可能なトランジスタ数の増大に伴って,LSI チップの消費電力は増加 する傾向にあり,様々な低消費電力化技術の研究開発が進められている [2, 3].特に携帯型 端末のような機器においては,バッテリ寿命の長期化のために消費電力化を削減することは 重要である.しかし,半導体プロセスの微細化に伴って,トランジスタの高速動作によるス イッチング電力の増加が,低消費電力化するうえでの大きな課題となっている.ここで,ス イッチング電力は次式で表される. PSW = C × VDD 2 × f × α –1– (1.1) ただし,C は負荷容量,VDD は電源電圧,f は動作周波数,α はスイッチング確率である. 式より,スイッチング電力は,電源電圧の2乗に比例して増減するため,プロセッサに要 求されるスループットが低い場合には,電源電圧を下げることで,消費電力を大幅に低減 することが出来る.それを実現する手法として,動的に電源電圧とクロック周波数を変更 する Dynamic Voltage Scaling(以下 DVS) がある.すでに汎用計算機の分野においては, DVS 技術はすでに実用化されている.例えば,Intel 社の Enhanced Speed-Step,AMD 社 の PowerNow などがある.現在の DVS の仕組みの概要を図 1.1 に示す. ሗ 㻻㻿 ࿘Ἴᩘ䞉 ࿘Ἴᩘ䞉㟁※㟁ᅽไᚚ 㟁※㟁ᅽ 䝋䝣䝖䜴䜵䜰 䝥䝻䝉䝑䝃 䝫䝸䝅䞊 䝴䞊䝄䛻䜘䜚㑅ᢥ 図 1.1 DVS の仕組みの概要 DVS において,プロセッサに適用可能な周波数と電源電圧は1対の組となっており,周 波数(もしくは電源電圧)を選択すれば,電源電圧(もしくは周波数)も決まる.周波数や 電源電圧の決定は,OS から得られた情報を元に,電力管理専用のソフトウェアによって行 われ,どの周波数と電源電圧の組を用いるかをプロセッサに伝える.プロセッサには,動的 に周波数と電源電圧を変更する仕組みが備わっており,その仕組みを用いてソフトウェアの 要請に応じて変更を行う.しかし,従来の DVS 技術には,周波数・電圧の切替えに長い時 間を要するため,リアルタイムシステムを主なターゲットとはしていない.ここで,リアル タイムシステムとは,決められた制限時間内に与えられたタスクを完了するコンピュータシ ステムのことを意味する.表 1.1 に商用の DVS プロセッサとその電圧切替え時間を示す. リアルタイム性能が求められるリアルタイムシステムにおいて,この遅延時間は大きな問 題となる.例えば,自動車のエンジン制御には数十∼数百 us の応答時間が要求される.最 近では,携帯電話のように時間厳守が求められない,いわゆるソフトリアルタイムシステム –2– 表 1.1 DVFS プロセッサとその電圧切り替え時間 プロセッサ 電圧 [V] 切り替え時間 [µs] Trandmeta’s Crusoe[4] 1.1–1.65 300 AMD Mobile K6[5] 0.9–2.0 200 Intel PXA250[6] 0.85–1.3 500 でも数 ms 程度の応答時間が期待されている [23].しかし,切り替え時間の制約から,結果 として CPU に余裕が出来ても簡単に電源電圧と周波数を下げられない.以上の理由から, リアルタイム性が求められる組込みリアルタイムシステムにおいて,DVS 技術は未だ実用 化されていない.このようなシステムにおいて DVS の適用を考えた場合,ある時刻のプロ セッサ負荷を瞬時に検出し,ランタイム(電源電圧の推移時に動作を停止しない)に電源電 圧を変更できる DVS 技術の確立が必要であると我々は考えている.それを実現するための 要件として,大きく以下の 2 つが挙げられる. 1. プロセッサ負荷をリアルタイムに検出できる回路アーキテクチャ 2. 電源電圧の変更に追随できる回路アーキテクチャ 1.において,通常,プロセッサの負荷は前述したように,専用のソフトウェアにより計算さ れ,適切な電圧と周波数が得られる.すなわち,その計算に要する時間的オーバーヘッドが 性能低下の主な要因となり,リアルタイムに負荷を検出することができない.また,2.に おいて,従来のクロック同期型回路は,PLL による周波数の切り替えに時間を要する.例 えば,Intel 社の Speed-Step において,PLL がロック(周波数を安定化)し,切り替わる までの時間は 5us であると報告されている [19].その間,回路動作を停止する必要がある ため,処理性能の低下を招く.一方で,電圧昇降時の時間をむだにしないために,例えば複 数のクロックを予め用意し,それらを瞬時に切り替えることで,性能の低下を最小化する方 策が考えられる.また,文献 [25] では,高速に周波数を切り替えることが可能なクロック 生成系が提案されており,シミュレーションにより,その実現可能性が示されている.しか –3– し,仮に瞬時に周波数を変えられたとしても,電源電圧が推移している間は,回路への供給 電圧は刻々と変化する.その変化に応じて, 適切な周波数を決定することは,テストコスト の問題や,設計にかかる手間などの大幅な増加を招くことが予想されるため,現実的ではな い.そこで,電圧昇降させている間は,通常よりも低い周波数で動作させることで,回路動 作を一時的に停止させずに動作させる方式も考えられる.しかし,その場合,低周波数に 対して,無駄に高い電圧を供給することとなってしまうため,無駄な電力を消費することと なり,DVS による電力削減効果は低減してしまう.電圧推移時でさえも,回路動作を止め ずに,電圧に対して適切な周波数を設定し,プロセッサ負荷に対して瞬時に対応するために は,全く新しい革新的な回路アーキテクチャが求められると考えている. そこで,これらの課題を克服するために,我々はセルフタイム型パイプライン(STP)に 対する DVS の適用について検討してきた.STP は,局所的なハンドシェイクにより,パイ プラインステージ間で有効なデータのみの受け渡し動作を行う.すなわち,グローバルク ロックを用いず,動作が必要なステージのみが動作するため,その消費電力は,パイプライ ン内に存在するデータ数に比例する.すなわち,その特性に着目すれば,消費電力をモニタ することで,プロセッサの負荷を容易に,かつリアルタイムに検出できる可能性がある.ま た,DVS のための専用ソフトウェアや PLL といった付加回路も必要ない.さらに,STP の動作速度(ハンドシェイク時間)は,ステージ間の転送を制御する C 素子間のハンドシェ イク時間により決まる.ハンドシェイク時間は供給される電圧に応じて可変できるため,ク ロック周波数を変更するための時間を考慮する必要がない.すなわち,電源電圧の変動に上 手く追随できる.これらの特性を上手く活用できれば,従来の同期式回路に対する DVS よ り,さらに効率的に電力当たりの性能を向上できる可能性があると考えられる. 近年では,より消費電力を低減する目的で,電源電圧の制御粒度を空間的もしくは時間的 に細かくする技術が各所で研究されている [7]∼[15].これら技術により,アプリケーション の実行時も含めて消費電力の無駄を徹底的に排除できる可能性がある.その実現には,時々 刻々と変化するチップ内部の動作状況に応じて,処理に本質的に必要な電力のみをいかに効 率的に供給するかが重要となる. –4– しかし,時間的に細粒度の電圧制御においては,制御すること自体で消費する電力量をよ り考慮する必要があるため,電力量の収支による設計制約について十分検討した上で実装し なければならない.電力量の収支とは省電力技術を適用したときに必要となる電力量と,技 術を適用しないときに必要とされる電力量の差のことである.したがって,その差を最大限 に大きくできる効率的な細粒度の動的電圧制御 DVS を実現できる省電力化手法について検 討する必要がある. 本論文は,効率的な細粒度電力機構を実現することで,電力当りの性能を改善すること を目的として,細粒度電圧制御の実現法として着目したセルフタイム型パイプライン STP (Self-Timed Pipeline)回路の省電力化手法について述べている.STP では,隣接するパ イプライン段間でのみデータ転送制御信号(send/ack 信号)を授受することによって,動 作する必要のあるパイプライン段のみを自律的に駆動させるため,データを保持していない パイプライン段のトランジスタは全く動作しない.よって,クロック同期回路で一般に用い られているクロックゲーティングのような付加的な回路がなくとも,ダイナミック電力に関 しては省電力であるという特長がある.また,隣接する前後のパイプライン段との転送制 御,すなわちハンドシェイクは互いに独立して行えるため,一時的な過負荷に対する自律緩 衝能力(エラスティック能力)といった,LSI 実現に適した特性がある.その自律的かつ局 所的に動作する STP に対して,パイプラインに要求される処理性能(スループット性能) の変化に応じて動的に供給電圧を変更する動的電圧制御 DVS 技術を適用する.このように, STP が本来有している省電力特性に加えて,電圧を細かく制御する機構を導入することに よって,さらなる省電力化を実現することを目標としている.本論文では,先に STP の自 律的かつ局所的な動作様式を活用した細粒度電圧制御の実現法について述べる.次に,LSI チップを 65nm,CMOS プロセスを用いて実際に試作された実チップを対象に,その評価 結果を示す. 以下に本論文の構成を示す.第2章においては,LSI の省電力化を実現するための要件に ついて議論した上で,セルフタイム型パイプラインの動作特性を示し,その局所自律的な特 徴を活用することで,細粒度かつ自律的な動的電圧制御 DVS が実現できることを明らかに –5– する. 第3章では,セルフタイム型パイプラインの処理負荷を示す消費電流値に基づく動的電圧 制御方式について述べ,安定的な電圧の昇降を実現するための回路構成法について述べる. 第4章では, 65nm CMOS プロセスを用いて,動的電圧制御機構を実装した ULP- DDCMP チップについて述べ,実測値に基づく提案方式の低消費電力効果について明らか にする. –6– 第2章 セルフタイム型パイプライン 2.1 緒言 STP は,転送を必要とするステージ段間でのみ局所的にデータ転送を行う.この特性か ら,現在主流であるグローバルクロックを使用するクロック同期方式よりも,スイッチング 電力を削減可能である. 本章では,STP の基本的な動作原理とタイミング特性を示す. 2.2 セルフタイム型パイプラインの基本動作 非同期式回路である STP は,図 2.1 のように構成される.各ステージでは,与えられて いる演算処理回路により,それぞれのステージ毎に処理が行われる.また,STP は,隣接す るステージ間でのデータ制御信号を用いることで局所的にハンドシェイクを行うため,隣接 するステージ間の転送制御を保証するだけでシステム全体の動作を保証することが出来る. 各ステージは,以下に示す要素回路で構成される. • 転送制御回路 (C 素子) 転送要求 (Send) 信号と転送許可 (Ack) 信号のハンドシェイクによりパケットの転送の タイミングを制御する. • データラッチ (Data Latch : DL) C 素子からの Clock Puls(CP) 信号により制御されていて, データを保持する. • 演算処理回路 (Function Logic) –7– 2.2 セルフタイム型パイプラインの基本動作 㻼㼕㼜㼑㼘㼕㼚㼑㻌㻿㼠㼍㼓㼑 㻼㼍㼏㼗㼑㼠 㻰㻸㻜 㻲㼡㼚㼏㼠㼕㼛㼚 㻸㼛㼓㼕㼏 㻯㻼㻜 㻿㼑㼚㼐㻜 㻰㻸㻞 㻯㻼㻝 㻿㼑㼚㼐㻝 㻯㻼㻞 㻿㼑㼚㼐㻟 㻿㼑㼚㼐㻞 㻯㻜 㻭㼏㼗㻜 㻲㼡㼚㼏㼠㼕㼛㼚 㻸㼛㼓㼕㼏 㻰㻸㻝 㻯㻝 㻯㻞 㻭㼏㼗㻝 㻭㼏㼗㻞 図 2.1 㻭㼏㼗㻟 STP の構成 転送されたパケットを基に各ステージの処理を行う. C 素子,DL,Logic をまとめてパイプラインステージと呼ぶ.次に STP の基本動作を図 2.2 のタイミングチャートにより示す. 㻿㼑㼚㼐㻜 㻭㼏㼗㻜 㻿㼑㼚㼐㻝 㻭㼏㼗㻝 㻯㻼㻜 㻯㻼㻝 㼀㼒 図 2.2 㼀㼞 STP のタイミングチャート 1. リセット時に,全ての転送制御回路の Send,Ack 信号は,“High” の状態になる. 2. Ci は Ci+1 に send 信号を送ると同時に DLi の開放信号を送り,i + 1 段目にパケット を転送する. 3. send 信号を受け取った Ci+1 は ack 信号を Ci に反す. –8– 2.2 セルフタイム型パイプラインの基本動作 4. ack 信号を受け取った Ci は後続の転送準備をし,Ci−1 からのデータを待つ. 5. パケットが存在する限り 2∼4 を繰り返す. STP における一連のデータ転送制御は,前段のステージからのデータ転送要求信号 (send) と,後段のステージからのデータ転送許可信号 (ack) が伝達されたとき,パケットを後段ス テージに転送する.この一連の動作をハンドシェイクと呼ぶ.一連の動作は隣接するステー ジ間の転送制御回路のハンドシェイクにより局所化されているため,他のステージから独立 して動作する.つまり,付加的な回路を追加・変更した場合でも,ステージ間のハンドシェ イクさえ保証できれば,他のステージに影響を与えないため,容易に機能を追加可能である. 以上のようなパイプライン段間の局所的な転送制御により,STP には,(a) 局所的な信号 伝達のみによって動作時にだけスイッチング電力を消費する省電力特性や,(b) 負荷の変動 に対する自律緩衝能力(エラスティック能力)といった,省電力 LSI 実現に適した特性があ る [16].本研究では,STP の動作時にだけスイッチングする特性に着目すれば,STP の消 費電流値から,パイプライン内部の処理負荷を検出できると着想した.この特徴を活用し て,要求される処理性能に応じて STP に電圧を供給すれば,必要最小限の電力を消費する VLSI 回路実現法が確立できると着想した.この超低消費電力化を目指したセルフタイム型 パイプライン ULP(Ultra-Low-Power)-STP は,従来型 STP に加えて,処理性能の変更 時に一時的な停止を必要としないサスペンドフリー動的電圧制御 SF-DVS(Suspend-Free Dynamic Voltage Scaling)を備えた回路となっている [27].本稿では,SF-DVS を適用す ることで低消費電力化を実現可能とする細粒度の動的電圧制御機構の回路実現法について述 べる. また,STP が元来有する特徴と極めて親和性の高いデータ駆動プロセッサ (Data Driven Processor : DDP) がすでに実用化されている.DDP の基本構成は図 2.3 に示す.DDP は STP を環状に接続したリング型をしており,主に 5 種類の機能ブロックで構成されている. 以下に各機能ブロックを説明する. • Merge(M) –9– 2.2 セルフタイム型パイプラインの基本動作 㻵㼚㼜㼡㼠 㻰㼍㼠㼍 㻹 㻹㻹 㻭㻸㼁 㻹㻌㻦㻌㻹㼑㼞㼓㼑㻌 㻹㻹㻌㻦㻌㻹㼍㼠㼏㼔㼕㼚㼓㻌㻌㻹㼑㼙㼛㼞㼥㻌 㻭㻸㼁㻌㻦㻌㻭㼞㼕㼠㼔㼙㼑㼠㼕㼏㻌㻸㼛㼓㼕㼏㻌㼁㼚㼕㼠 㻼㻿㻌㻦㻌㻼㼞㼛㼓㼞㼍㼙㻌㻿㼠㼛㼞㼍㼓㼑 㻮㻌㻦㻌㻮㼞㼍㼚㼏㼔㻌 㻻㼡㼠㼜㼡㼠 㻰㼍㼠㼍 㻼㻿 㻮 図 2.3 DDP の構成 STP の外部から入力されるデータと,周回してきたパケットの合流を制御し,Matching Memory へパケットを転送する. • Matching Memory(MM) Merge からパケットを受け取り,一時的に内部メモリに保持する.そして,演算実行の 際に対となるデータとの待ち合わせを行う.待ち合わせ対象となるパケットが到達する と,パケットを発火させ,Arithmetic Logic Unit へ発火パケットを転送する. • Arithmetic Logic Unit(ALU) 発火パケットの保持するオペレーションコードに従い,演算を行う.その後,演算結果 をパケットに書き込み,Program Storage へデータを転送する. • Program Storage(PS) DDP のプログラムが格納されているメモリで,ALU から送られたデータの次の宛先 ノード番号,及びオペレーションコードのフェッチを行い,パケットの持つ内容を書き 換え,Branch にパケットを転送する. • Branch(B) データを持つ宛先情報から,出力先を判別し,外部もしくは内部にパケットを転送する. 以上のような機能を持った複数個の DDP をまた STP を用いて相互接続し,マルチプロ セッサを構成している.これにより,高い並列度が得られる.また,DDP 内をパケットが – 10 – 2.3 セルフタイム型パイプラインの特徴 自走することで処理が進行するため,インタロックが起きない.そのため STP はデータ駆 動原理と非常に親和性が高いといえる. 2.3 セルフタイム型パイプラインの特徴 セルフタイム型パイプラインはデータがある時にパイプラインステージ間で,ハンドシェ イクを行い,データを転送するので消費電力からパケットの数を予測することが出来る. Merge と Branch を含めた 40 段のステージで構成される ULP-STP チップを用いて,ス ループットと電力の関連性を検証した.検証を行った ULP-STP の構成と測定条件は以下の 通りである. • 測定対象 (ULP-STP) 図 2.4 65nm CMOS 40 段環状 STP チップ • 温度昇降方法 恒温槽 • 温度 -40 ℃,25 ℃,80 ℃ 図 2.4 ULP-STP – 11 – 2.3 セルフタイム型パイプラインの特徴 図 2.5 ULP-STP -40 ℃ 図 2.6 ULP-STP 25 ℃ 測定結果は各温度ごとに図 2.5,図 2.6,図 2.7 となる.どの温度もスループットに対して 電力が比例して増えることが分かる.表 2.1 は,図 2.5∼図 2.7 のデータから 0.8V の性能が 最大となる電力と同じ性能時の 1.3V の電力を表している.その結果 63∼65%の削減効果が あり,同じ性能であれば電圧を下げることで削減効果が得られる. – 12 – 2.4 結言 図 2.7 ULP-STP 80 ℃ 表 2.1 DVS による電力削減効果 2.4 -40 ℃ 25 ℃ 80 ℃ 1.3[V] 0.2409[W] 0.2608[W] 0.2799[W] 0.8[V] 0.0910[W] 0.0947[W] 0.1007[W] 結言 本章は,STP の構成と基本動作について述べ,消費電力がパケット数に比例するという 特性を説明した.次章では,この特性を生かした DVS について述べる. – 13 – 第3章 動的電圧制御システム 3.1 緒言 一般に商用の LSI システムで用いられている DVFS 技術は,電圧昇降時にクロック周波 数も昇降する必要があり,それに数 µs を要する.そのため,動的な負荷変動に対する応答 性が劣り,リアルタイム性が求められるアプリケーションへの適用には向かない.そこで, 本研究では,クロックを用いない STP に対して動的電圧制御手法を応用した. 前章で述べたとおり STP は,電力がパケット数に対して比例しているので電力または電 流から,プロセッサの負荷を観測することが出来る.その情報を基に STP システムに対し て適切な電圧を供給することで,負荷に応じた必要最低限の電力を消費するように調整す ることができる.さらに電源電圧値を急峻に昇降させるとき設定電圧値を上回るオーバー シュートもしくは下回るアンダーシュートが発生する可能性がある.プログラム実行中で電 源電圧を昇降するときにこのような現象が起きるとセットアップホールドの制約満たすこと ができない可能性があるため STP の回路動作を保証することが出来ない.そのため,これ らの現象を抑える必要がある. 本章では,動的電圧制御を STP に適用した時の構成について述べる. 3.2 負荷フィードバックによる電圧制御機構 STP チップのパケット数は以下の処理によって変わる. • パケットが増える要因 – 14 – 3.2 負荷フィードバックによる電圧制御機構 図 3.1 サスペンドフリー動的電圧制御 (SF-DVS) 回路の構成 1. STP チップにデータが入る 2. データコピーの命令がある • パケットが減る要因 1. STP チップからデータがでる 2. データ削除の命令がある 3. MM でマッチングする これらの要因はプログラムの処理によって変わってくるため,柔軟に応じた電圧設定を行 うことが出来ない.また,外気温度等の条件によっても電力の結果が変わってくる. そのため本研究では,制御を乱す外的要因(外乱)の影響も加味できる適応的な制御法で あるフィードバック制御を,STP チップの動的電圧制御に応用した.この SF-DVS 回路の 基本構成を図 3.1 に示す.本構成では,制御対象となる STP チップに対して,DC-DC 変 換器に印加させる電圧を計算する電圧制御機構と目標となる電圧の値を出力する目標電圧設 定機構を接続して構成される.供給電圧は,できる限りスムーズに目標電圧に近づくよう制 御することが望ましいため,一般的なフィードバック系によく使われる PID 制御を電圧制 御機構として採用した.PID 制御は基本的な比例,積分,微分制御機能を備えている.PID 制御回路が算出する供給電圧の操作量 ∆M Vt は,離散時刻 t での目標電圧と観測電圧の偏 – 15 – 3.3 損益分岐負荷 BEPL 差 et を用いて,式 (3.1) で表される. ∆M Vt = Kp × (et − et−1 ) + Ki × et + Kd(et − 2 × et−1 + et−2 ) (3.1) ただし,Kp,Ki,Kd は 0∼1 の範囲で設定される PID 制御用のパラメータである. 3.2.1 サスペンドフリー動的電圧制御機構 サスペンドフリー動的電圧制御機構では以下の制御を周期的に行っている. 1. 観測電圧と目標電圧から偏差 (et ) を求める. 2. 電圧制御機構が,偏差を基に新しい電圧の操作量(∆M Vt )を計算する. 3. 求めた操作量に基づいて DC-DC 変換器が STP チップに電圧を供給する. 以上の処理を周期的に繰り返すことで,動的電圧制御が可能となる.安定したフィードバッ ク制御を行うためには,有限回の制御操作を通して任意の目標電圧に到達できること(可制 御性)と,現在の STP チップ内部の電圧が観測できること(可観測性)を満たす必要があ る.STP はプログラム実行時においても可制御性と可観測性を兼ね備えたシステムとして 定義することができる. 通常,同期回路では,電圧の昇降に伴ってクロック周波数も昇降させる必要があり,クロッ ク信号用の位相同期回路 PLL(Phase Locked Loop)が追加的に必要になる.この PLL に よるクロック周波数の昇降には通常数十 µs を要するため,それより短い時間での電圧制御 ができない.これに対して,STP においては,PLL が不要であり,かつ,OS を介さず電 圧を制御できるため,実時間での電圧制御が可能になる.さらに,クロック周波数の昇降を 待つ必要がないため,回路が誤動作しない範囲の小さな電圧昇降幅,あるいは,緩やかな電 圧昇降を保証すれば,電圧昇降の過渡的な期間でも回路の動作を停止せずにプログラムを継 続的に実行することが可能になる. – 16 – 3.3 損益分岐負荷 BEPL Ş 㵺 㵺 図 3.2 動的電圧制御方式の等価回路モデル 3.3 損益分岐負荷 BEPL 電圧制御技術は,処理負荷に応じて制御対象回路のスイッチング電力量を抑えることがで きる.一方で,電源電圧 VDD の昇降時に制御対象回路と DC-DC 変換器の負荷容量に応じ た充放電電流が発生する.図 3.2 にその等価回路を示す. ここで,η と CDC−DC は DC-DC 変換器の効率と容量成分であり,CV DD と CL は電源 線と制御対象回路の容量成分である.α は,制御対象回路を構成する素子のスイッチング確 率の平均値を表す.そのため,電力量の観点で損益分岐処理負荷 BEPL(Break-even sleep time)が存在する.この BEPL は次式で近似できる. BEP L = (1 − η)CDC−DC + CV DD CL × α (3.2) すなわち,処理負荷> BEPL を満たす場合にのみ電圧を降圧することで,スイッチング 電力を極小化することができる.また,その効果を最大限得るためには,電圧制御回路や DC-DC 変換器,電源線の容量(CV DD )による電力オーバーヘッドをなるべく小さく抑え ることが肝要である.ここで,STP は,各パイプライン段が自律的に動作するため,消費 電流の発生を分散させることができる.したがって,全パイプライン段が CLK に同期する 回路と比較して,IR ドロップによる電圧降下の影響を軽減できる.そのため, (CV DD )を – 17 – 3.3 損益分岐負荷 BEPL 低減することが可能となる.そこで,次節では,電圧制御回路と DC-DC 変換器の省電力化 手法について述べる. 3.3.1 電圧制御回路の省電力化 提案する SF-DVS 回路は,処理負荷の変動を実時間で検出して,供給電圧を制御する必 要があるため,通常,これら制御回路は,電圧制御の必要性の有無の関係なく,常に動作し 続ける必要がある.そのため,処理負荷が低くい場合などには,これら制御回路が動作する ことによる電力オーバーヘッドが問題となる. そこで,本研究では,電圧制御回路に対して,閾値設定回路を追加することで,それら電 力オーバーヘッドを低減する方式を提案する.具体的には,最小電圧で動作できる処理負荷 の最大値を閾値として設定し,それを上回る負荷を検出した時点で,電圧制御回路を動作さ せる.したがって,処理負荷が閾値を下回っている間は,クロックゲーティングや,パワー ゲーティングを適用することで,電力オーバーヘッドを極小化することができる. 3.3.2 DC-DC 変換器の省電力化 SF-DVS を実現するには,電圧制御機構に対し,観測電流の増減に応じて目標電圧を設定 する必要がある.しかし,観測電流のサンプリング周期が短いと,データのコピー/削除な どにより生じる一時的な擾乱を検出してしまうため,不必要な目標電圧の変動が生じ,安定 した制御が困難になる.一方,周期が長い場合は処理負荷の変動に対する追随特性が悪化す る.また,ある期間の観測電流の平均値で平滑化する手法も考えられるが,そのための回路 が複雑になる. そこで,本研究では回路構成の簡単化のために,負荷が増加傾向にある場合は供給電圧の 最大値を,減少傾向にある場合には最小値を保持する平滑化回路を提案する.図 3.1 に平滑 化回路を導入すると図 3.3 になる.目標電圧設定機構に閾値を設けることによってまた,負 荷変動の傾向については時刻 t と t − 1 の目標電圧の差分から検出できる. – 18 – 3.4 結言 図 3.3 平滑化回路を用いた SF-DVS 図 3.4 に,提案する平滑化回路を備えた SF-DVS における観測電流と供給電圧の関係を示 す.まず,STP で構成されるチップの観測電流は,図の上部に示すように,データの消去/ コピーや,命令の種別といった要因により,増減が生じることが予想される.その電流値の 基づいて,目標電圧設定機構により,目標電圧を出力した場合の結果を図中部に示す.デー タの一時的な擾乱により,目標電圧も昇降するため,DC-DC 変換器の電力オーバーヘッド の増加の要因となる.そこで,電圧制御機構に最大/最小値保持機構を追加することで,図 下部に示すように,安定した電圧を STP チップに供給することが可能になる.このように, 提案回路では,電力オーバーヘッドと電力削減量のトレードオフを考慮した SF-DVS が実 現できる. 3.4 結言 本章では,STP システムに対して,SF-DVS を実装するうえでの基本的な構成を示し, さらに,電圧制御回路と DC-DC 変換器による電力オーバーヘッドを考慮できる制御方法 について述べた.これにより,電力オーバーヘッドと電力削減量のトレードオフを考慮した SF-DVS が期待できる.次章では,実 LSI チップを用いて,プログラムを実行し,電圧の昇 圧動作について述べる.さらに,実測結果に基づいて,提案する SF-DVS 方式の省電力特 – 19 – 3.4 結言 図 3.4 目標値保持による平滑化 性について議論する. – 20 – 第4章 LSI 実装と実測評価 4.1 緒言 本研究では,時間的に細粒度の電圧制御が可能な STP の実用性を実証的に評価する ために,65nm CMOS プロセスを利用して,STP を用いた実用的なプロセッサである ULP-DDCMP(Data-Driven Chip MultiProcessor)チップを対象に評価を行う.提案す る SF-DVS 回路は回路構成の変更にも配慮して FPGA 上に実装し,評価ボード上で ULP-DDCMP や DC-DC 変換器と接続されている. 本章では,試作プロセッサについて簡単に紹介した後,その実測値に基づいて,その省電 力特性を示す. 4.2 ULP-DDCMP チップ 本節では,サスペンドフリー動的電圧制御の省電力効果を定量的に示すために, 65nm 7 層メタル CMOS プロセスを用いて試作した LSI チップならびに,その評価結果について述 べる. 試作した ULP-DDCMP を構成するコアである ULP-CUE は,基本的なとして,以下の 機能を持ったパイプライン段として構成されている. • MB: 外部からの入力パケットおよび内部を周回するパケットを合流させる機能 • MM: 二項演算命令の実行に必要なオペランドの組を検出する待合せ記憶機能 • M: 単項演算命令の実行時に周回するパケットの合流機能 – 21 – 4.2 ULP-DDCMP チップ • PS: 命令を取り出すためのプログラム記憶機能 • FP: 指定された演算を実行する機能 • MA: メモリアクセス命令を実行する機能 • B: 演算子のオペランド数に応じてパケットを分流させる機能 • BB: 外部への出力パケットあるいは内部を周回するパケットを分流する機能 また,ULP-CUE は,パケット処理の主体である,単項演算を本質的に必要な電力のみで 実行するため,単項演算の実行に必要最小限の回路を備える環状パイプライン構成を用意 し,環状パイプラインにおいて二項演算の実行時にのみ MM を駆動する構成を採用する. 単項演算の実行には,命令をフェッチする PS と,演算を実行する FP が必須である.ま た,命令間のデータ依存関係に従い,ある命令の演算の実行結果を次の命令の入力とする直 接的なパイプラインは,FP の出力を PS へ接続する環状の構成である.しかし,単項演算 の中には,算術演算後にメモリアクセスをともなう複合演算も含まれるため,PS,FP およ び MA を備える環状パイプラインが必須となる. オペランドが定数ではない二項演算を実行するには,2 個のデータのうち,先着したデー タを一時的に保持し,他方のデータが到着した時点で取り出す必要がある.この保持と取り 出しは,命令の実行を遅延させないように,CAM を持つ MM により実現される.すなわ ち,CAM におけるすべてのキーの同時並行の比較により,空いた記憶領域を検出すると同 時に先着のデータの有無を検出する.先着のデータがなかった場合は,データを CAM に保 持し,また先着のデータがあった場合は,データを取り出す.この MM は,二項演算の命 令実行時にのみ必要となるため,トークンの演算種別が二項演算の命令を示す場合にのみ, MA から MM へ転送する経路を用意する.さらに,環状パイプラインと I/O 部との間で トークンの入出力を実現するための経路が必要である.これらを実現するパイプライン構成 を図 4.1 に示す.このパイプライン構成では,単項演算は,MM を迂回して,本質的な処理 時間のみで命令実行される.さらに,このパイプライン構成をセルフタイム型エラスティッ クパイプラインにより実現するのみで,単項演算の命令実行時には,セルフタイム型エラス – 22 – 4.2 ULP-DDCMP チップ /ͬK/ŶƚĞƌĨĂĐĞ ŝƌĐƵůĂƌƉŝƉĞůŝŶĞĨŽƌƵŶĂƌLJͲŽƉĞƌĂƚŝŽŶƐ DĞƌŐĞ ;DͿ DĂƚĐŚŝŶŐ DĞŵŽƌLJ ;DDͿ ƌĂŶĐŚ ;Ϳ 図 4.1 DĞƌŐĞ ;DͿ WƌŽŐƌĂŵ ^ƚŽƌĂŐĞ;W^Ϳ ƌĂŶĐŚ ;Ϳ DĞŵŽƌLJ ĐĐĞƐƐ ;DͿ &ƵŶĐƚŝŽŶĂů WƌŽĐĞƐƐŝŶŐ hŶŝƚ;&WͿ 試作データ駆動プロセッサの STP 構成 ティックパイプラインによるパイプライン段水準の信号ゲーティングにより MM,MB およ び BB における動的電力消費は発生せず,単項演算の実行に本質的に必要な動的電力のみが 消費される. 一般的に,CAM の駆動を回避する方法として,MM において,単項演算命令を示す 演算コードが検出された場合に CAM の入力信号を遮断する方法がある.これに比べて, ULP-CUE では,単項演算の命令実行時に MM が迂回されることにより処理時間と消費電 力が減少する一方で,二項演算の命令実行時に B と M が駆動されることにより処理時間と 消費電力が増加する.ULP-CUE における回路規模を比較した結果,B と M は,MM に比 べて処理時間が短く,CAM を除く MM とほぼ同じ回路規模(消費電力)であり,すなわ ち,B と M の消費電力量(=処理時間 × 消費電力)の和は,MM の消費電力量より少な かった.したがって,ULP-CUE は,単項演算の命令実行が主体となるパケット処理を低消 費電力で実行できる. ULP-CUE は,UDP/IP 処理を実現するために十分な命令セットを備える.また,図 4.1 に示した環状パイプラインの実現において,パイプラインのボトルネックを排除するため, 機能ブロックをパイプライン分割した.具体的には,MM,PS,FP および MA をそれぞれ 2 段,2 段,3 段および 2 段のパイプライン段に分割し,M と B のそれぞれ 2 段と 2 段を合 わせて 13 段の環状パイプラインを実現している.ULP-CUE のレイアウト結果を図 4.2 に – 23 – 4.3 評価条件 図 4.2 試作 ULP-CUE のレイアウト 示す. 4.3 4.3.1 評価条件 対象 LSI チップ ULP-DDCMP(Ultra-Low-Power Data-Driven Chip MultiProcessor) の諸元を表 4.1 に 示す. 超低消費電力化効果を実証するため,パケットを処理していない待機時も含む電流・電圧 を計測可能とする必要がある.まず,事前に,回路シミュレーションにより,ULP-DDCMP のおおよその消費電流を見積った結果,パケット処理時に最大で数十 mA,待機時に数百 µA であった.一般に,数百 µA オーダの消費電流を計測するにはマルチメータが使われる. – 24 – 4.3 評価条件 表 4.1 ULP-DDCMP チップの諸元 Process CS200L 65nm CMOS Wiring (# of layers) 7 Metal Power-supply voltage Core 1.2 V (Nominal) I/O 3.3 V (Nominal) Threshold voltage Standard PMOS:-0.555 V (Condition *) NMOS:0.585 V (Condition **) Low PMOS:-0.450 V (Condition *) NMOS:0.480 V (Condition **) Transfer rate per a stage Unary operation 334 M token/sec. Binary operation 238 M token/sec. Instruction execution time Unary operation 13.58 nsec. Binary operation 21.53 nsec. 34 bit × 16 K word Instruction memory for each ULP-CUE (on-chip ram) 32 bit × 16 K word Data memory for each ULP-CUE (on-chip ram) 4.2 mm × 4.2 mm Chip size Power consumption 181 mW (Maximum) 71 mW (Standby) – 25 – 4.3 評価条件 しかし,マルチメータによる消費電流のサンプリング速度は高々100KHz であり,したがっ て,アドホックネットワーキング環境における送受信パケット数の変化に応じて増減する電 流を正確に計測できない. こうした µA オーダの電流の変化と,電圧を観測可能とするロギング機構を実現した.具 体的には,設計時点で入手可能であった 12.5MHz の 12bit A/D 変換器を用いて,ダイナ ミックレンジ 3 桁強で mA,µA オーダの電流を計測できる回路を実現し,各 ULP-CUE の 電源線に接続した.また,VS による電圧の変化も観測可能とするため,同様に電圧を計測 できる回路を実現し各 ULP-CUE の電源線に接続した. さらに,これらの計測回路によるサンプリング結果を時刻とともに実時間で記録するロギ ング機構を FPGA を用いて実現した.また,蓄積されたロギング結果をオフラインで取得 できるようにした.すなわち,通信処理中はロギング結果を FPGA に蓄積し,通信処理が 終了した時点でロギング結果を Atom 経由で取得する. 上述した設計に基づく ULP-DDNS プラットフォームを,図 4 に示す.ULP-DDCMP, ZigBee チップならびに Ether チップを搭載するボードを設計・製造し,Atom を搭載する 評価ボードと給電用のバッテリとともに,専用に設計・製造したケースに収納し持ち運びを 可能とした. 4.3.2 評価システム 本研究では,提案するサスペンドフリー動的電圧制御 SF-DVS による省電力効果を,実 測値により評価するために,試作したボード上にその機能を実装した.評価システムの概 要を図 4.4 に示す.今回,プロトタイプとしての実装であるため,提案方式は,ボード上の FPGA 上に実装した.目標電圧設定機構内の STP チップの特性情報は,テーブルとして RAM を用意し,その値を参照することで実現している.また,本評価では,PID 機構を用 いない場合の影響も評価するために,PID 制御機構をバイパスするダイレクト制御方式も 実装した.この方式は,STP チップの特性情報を参照し,直接電圧設定値を出力する構成 となっている.各方式は,FPGA 内部の MUX(マルチプレクサ)により切替え可能とし – 26 – 4.3 評価条件 䜿䞊䝇ゎᨺ ;ĂͿ ᦠᖏ ;ďͿ 図 4.3 ULP-DDNS プラットフォーム た.また,ボード上の電源(レギュレータ)と ULP-STP チップの電源線との間に 1 Ω の シャント抵抗を挿入することで電力を実測可能にしている.電源品位(Power Integrity)を 向上させるために,電源の出力側には,コンデンサとフェライドビーズインダクタを挿入し ている.各 DAC(Digital-to-Analog Converter)と ADC(Analog-to-Digital Converter) は 12bit の分解能を備えており,最小 0.47mV 毎に供給電圧(VDD)を制御することがで – 27 – 4.4 PID 制御とダイレクト制御方式の評価 きる.また DC-DC 変換器は 0.33mV/ns の昇圧が可能であり,降圧に関しては自然放電に よる緩やかなものとなるため PID 制御は不要となる. 図 4.4 4.3.3 評価システムの概要 目標電圧設定機構 STP の特性上,パケットに比例して電力が増減するため,コアの消費電流に適した電圧 値を参照する.そのため,実際に ULP-DDCMP の電源電圧を変え,各電源電圧の電力当た りのスループットが最大となるようなポイントを探す必要がある.ULP-DDCMP の電力当 たりのスループットを表したのが図 4.5 である.ULP-DDCMP はパケット数 5-6 のポイン トが電力効率が最大となることが分かる.このことから各電源電圧値の電力効率が最大とな るポイントで電圧値を変更するように目標電圧 (図 4.4) を設定する. 4.4 PID 制御とダイレクト制御方式の評価 ULP-DDCMP は,通信処理の省電力化向けに設計されたプロセッサであるため,本評 価では典型的なプログラムとして予め提供されている UDP/IP プログラムを用いた.事前 評価の結果,ULP-DDCMP に入力できるデータ(パケット)の最小投入間隔は推奨電圧 – 28 – 4.4 PID 制御とダイレクト制御方式の評価 ϰ͘ϬϬͲϬϮ Ϭ͘ϴs Ϭ͘ϵs ϭ͘Ϭs ϭ͘ϭs ϭ͘Ϯs ϭ͘ϯs ϯ͘ϱϬͲϬϮ WŽǁĞƌt ϯ͘ϬϬͲϬϮ Ϯ͘ϱϬͲϬϮ Ϯ͘ϬϬͲϬϮ ϭ͘ϱϬͲϬϮ 㻝㻚㻟㼂 㻝㻚㻞㼂 㻝㻚㻝㼂 ϭ͘ϬϬͲϬϮ 㻝㻚㻜㼂 㻜㻚㻥㼂 㻜㻚㻤㼂 ϱ͘ϬϬͲϬϯ Ϭ͘ϬϬнϬϬ Ϭ ϱϬ ϭϬϬ ϭϱϬ ϮϬϬ ϮϱϬ ϯϬϬ dŚƌŽƵŐŚƉƵƚDƉĂĐŬĞƚͬƐĞĐ͘ 図 4.5 ULP-DDCMP の実測値 図 4.6 PID 制御とダイレクト制御の過渡特性 (1.2V)時に 110ns(9.1 M Packet/sec.)であった.したがって,そのような負荷変動を検 出できるようにサンプリング周期は 80ns(12.5MHz)に設定した.PID パラメータは,安 定性と即応性において最も良い特性を示した値(Kp = 0.1,Ki = 0.98,Kd = 0.1)を設 定している. 提案する PID 制御とダイレクト制御方式の評価結果を図 4.6 に示す.ダイレクト制御方 – 29 – 4.5 SF-DVS による総電力削減効果 式は,目標電圧(1.3V)に約 2µs 以内で昇圧可能であった.しかし,オーバーシュート(約 0.07V)とアンダーシュート(約 0.04V)が発生するため,電圧が安定するまでに約 35µs の 時間を要している.一方,提案する PID 制御回路では,目標電圧に約 15µs で昇圧可能であ り,不必要な電圧昇降(0.07V + 0.04V = 0.11V)による電力オーバーヘッドの発生を抑制 できることを確認した. 4.5 SF-DVS による総電力削減効果 本節では,SF-DVS による省電力効果を示す.図 4.7 に,従来型の STP(Fixed VDD) と,提案する SF-DVS 方式のエネルギー削減率を示す.ここで,Off-Chip は,DC-DC 変 換器をボード上に実装した場合のエネルギーであり,On-Chip は,DC-DC 変換器をオン チップ化したと仮定した上で,エネルギーを見積もった値である.評価の結果,Off-Chip の 場合,消費エネルギーの削減効果を得るためには,数 ms に一回程度の電圧の昇降であるこ とがわかる.一方,On-Chip 化した場合には,540ns まで電圧の変更頻度を短くすることが できるという見積もり結果が得られた.これは,DC-DC 変換器をオンチップ化する場合の 実装上の要件となる.さらに,図 4.8 に,それぞれの電力削減率を示す. 図 4.9 に,オシロスコープにより観測した ULP-DDCMP の消費電流と電源電圧の関係を 示す.平滑化機構により,安定した電圧供給が実現できていることがわかる. 4.6 損益分岐処理負荷 BEPL の評価 動的電圧制御の効果に関しては,試作プロセッサの実測により,その効果を確認した.図 4.9 は,処理負荷を調整可能なテストプログラムを用いて,VDD を 0.8V から 1.2V に昇圧 した時の実測波形である. 図中上部の波形が VDD,下部の波形がその時の消費電流である.この消費電流には,式 (3.2) における CV DD と CL の両者に係る充放電電流が含まれている.一方で,プログラム を動作させずに,VDD を 0.8V から 1.2V に昇圧した時の電流を測定すれば,CV DD に係 – 30 – 4.6 損益分岐処理負荷 BEPL の評価 図 4.7 エネルギー削減率 る電流のみが観測でき,図 4.9 の消費電流との差分としての CL を求めることが可能になる. SF-DVS における BEPL を評価するために,典型的なプログラムとして提供されている UDP/IP プログラムを用いた.これは,ULP-DDCMP が通信処理の省電力化向けに設計 されたプロセッサであるためである. 文献 [17] に示されている DC-DC 変換器の典型的な効率効率 η と容量成分 CDC−DC ,並 びに式 (3.2) に基づいて BEPL を評価した.表 4.2 に,DC-DC 変換器のパラメータを示 す.変換効率は,入出力電圧や負荷電流によって変わるため,本評価では平均値を用いてい る.また,ULP-DDCMP の1コア分のチップ容量 CV DD は,実測評価した結果,2.25nF であった.その他のパラメータはチップの実測値から得られた値を用いて導出している.そ の結果を図 4.10 に示す. 結果,オフチップの DC-DC 変換器では,約 4000 パケット以上を実行することで電力削 減効果が得られることがわかった.一方,オンチップの場合には,2 パケット以上となった. ULP-DDCMP に入力できるパケットの最小投入間隔は推奨電圧(1.2V)時に 110ns(9.1 M Packet/sec.)であるため,オンチップ化する場合,数百 ns 程度の負荷変動も考慮して動 – 31 – 4.6 損益分岐処理負荷 BEPL の評価 図 4.8 電力削減率 図 4.9 VDD 昇圧時の消費電流波形の実測例 (25 ℃) 的電圧制御を行うことで省電力効果を最も高められる,という知見が得られた.また,この 時の電圧昇降の頻度は,540ns であった.すなわち,UDP/IP プログラムを対象として,サ スペンドフリー動的電圧制御 SF-DVS により ULP-DDCMP のスイッチング電力を極小化 するためには,540ns 程度で電圧を昇降できるオンチップレギュレータが必要であるとの実 装上の制約要件が得られた. – 32 – 4.6 損益分岐処理負荷 BEPL の評価 表 4.2 DC-DC 変換器のパラメータ Process Output Power Efficiency Capacitor [nm] [mW] [%] [nF] Off-Chip[18] − 0.15 - 600 70 - 92 47000 On-Chip[17] 130 0.6 - 266 42.8 - 74.5 5 (QHUJ\>Q-@ ɨɥɥɥɥ ɨɥɥɥ ſŞ ƀ ſŞ ƀ ɨɥɥ ɨɥ ɨ ɨ ɨɥ ɨɥɥ ɨɥɥɥ 7KHQXPEHURIWRNHQ 図 4.10 試作プロセッサの損益分岐負荷 BEPL (0.8V 1.2 V, 25 ℃) 前章にも述べたように,STP の場合,電圧昇降の過渡的な期間でもプログラムの実行を 継続することが可能である.試作プロセッサ LSI でも継続実行が可能なことを確認した.図 4.11 は,0.8V から昇圧したときの昇圧時間と,その間に処理可能な UDP/IP パケット数を 実測して電力当りの性能を求めた結果である.この結果から,処理性能的にも利点があるこ とが実証された. – 33 – 4.7 結言 3HUIRUPDQFHSRZHU 5LVHWLPH 9BWRB9 9BWRB9 9BWRB9 Time [us] Ratio [K packet/mW] 図 4.11 VDD 昇圧時間とその間の処理性能 (25 ℃) 4.7 結言 本章では,UDP/IP プログラムを用いて,PID 制御とダイレクト制御方式との比較を行っ た.ダイレクト制御は,目標電圧に安定するまでに 35µs かかったことに対して,PID 制御 を行うことで不必要な電圧昇降を抑え,約 15µs で安定することができた. – 34 – 第5章 結論 近年,システム LSI における低消費電力への要求が益々高まっている.しかし,半導体プ ロセスの微細化に伴って,トランジスタの絶縁能力の低下によるリーク電力やトランジスタ の高速動作によるスイッチング電力の増加が大きな問題となっている.特にスイッチング電 力は電源電圧の 2 乗に比例するという特性があるので極小化できるアーキテクチャを確立し ていく必要がある.その手法として,供給電圧を動的に昇降させることでスイッチング電力 を低減することができる DVS 技術がある. 本研究では,負荷変動に対する応答性に優れた低消費電力化手法を確立するために,セ ルフタイム型パイプラインに着目し,その上で,超低消費電力化データネットワーキングシ ステム ULP-DDNS の研究プロジェクトの一環として,STP で構成されるデータ駆動プロ セッサに対する動的電圧制御 DVS 方式を検討した. STP では,パイプライン内のデータ流量に対して消費電力が比例する.これは ULP-STP チップでこの特性を確認できている.そのことによって目標電圧値を消費電力からモニタ することによって求めている.目標値にスムーズに近づけるため,一般的なフィードバック 制御で用いられる PID 制御を採用し,既定の電圧を上回るオーバーシュートや下回るアン ダーシュートを発生しないようにする.安定したフィードバック制御を実現するためには, 有限回の制御操作を通して任意の目標電圧に到達できる可制御性と,現在の STP チップ内 部の電圧を観測できる可観測性を満たす必要がある.STP はプログラム実行時においても 可制御性と可観測性を兼ね備えたシステムとして定義することができる. SF-DVS 回路は,制御となる STP チップに対して,目標電圧設定機構と電圧制御機構 を接続して構成される.本研究では,提案する PID 制御方式とダイレクト制御方式を – 35 – ULP-DDCMP を対象にして UDP/IP を実行し,評価した.ダイレクト制御方式は,目標 電圧(1.3V)に約2 µs 以内で昇圧可能であった.しかし,オーバーシュート(約 0.07V) とアンダーシュート(約 0.04V)が発生するため,電圧が目標電圧である 1.3V に安定する までに約 35µs の時間を要した.一方提案する PID 制御回路では,目標電圧の 1.3V に到達 するまで約 15µs で昇圧しており,オーバーシュートやアンダーシュートの不必要な電圧昇 降の発生の抑制できることを確認した. 今後は,オンチップ化を前提として,SF-DVS を実現するための電圧制御機構ならびに目 標電圧設定機構による電力オーバーヘッドを見積もり,SF-DVS の電力削減効果について明 らかにする予定である. – 36 – 謝辞 本研究の遂行及び本論文に関して,多大なるご指導,適切なご助言を頂きました高知工科 大学情報学群,岩田誠教授に心より御礼申し上げます. 本研究の副査をお引き受け頂きました横山和俊教授には,ご多忙な中,貴重なご意見を頂 きました.心より感謝の意を表します. またご多忙な中,本研究に対して副査をお引き受けくださり,適切なご助言を頂きました 吉田真一准教授に心より御礼申し上げます. また上記の主査,副査の先生をはじめとした高知工科大学の教職員の皆様方,特に情報シ ステム工学コースの教職員の皆様方には研究,勉学だけでなくより充実した学生生活を送る ことができました,厚く感謝のほどを申し上げます. 高知工科大学大学院博士課程宮城桂氏には,研究室配属時から研究の質問への返答や研究 室の機器等の使い方等について丁寧に教えて頂きました.また本研究に関しても多大なご意 見を頂きました.心より感謝致します. 岩田研究室の同輩として,修士 2 年の山崎弘法氏には,大学生活 6 年間で一番お付き合い させて頂きました,ありがとうございます.山崎氏のおかげで留年せずに大学生活を送れた といっても過言ではないです.また同じ研究室になったことでお互いに切磋琢磨して研究を 進めることができたと思っています. 岩田研究室の後輩である,修士 1 年の田口龍一氏,松田佳介氏,学部 4 年の宇野則文氏, 岡宗祥平氏,栗焼崇史氏,佐々木大地氏,田窪大輝氏,辻太一氏,学部 3 年の越智明彦氏, 清藤敦氏,塘居治世氏,馬場滉也氏,弘光俊太氏,福田昌平氏には大変お世話になり,感謝 の意を表します. 最後に,本論文をご覧になられている皆様方謝辞までお付き合いいただきありがとうござ いました.この論文も多くの方に支えられて執筆まで至りました.皆様方の支えがあって高 知工科大学での 6 年間を充実できました.本当にありがとうございます.また,大学院ま – 37 – 謝辞 で学資を負担してくださった両親及び生活面や相談に乗ってくださった兄へ感謝の意を伝え て,謝辞を締めさせていただきたいと思います. – 38 – 参考文献 [1] International Technology Roadmap for Semiconductors, http://www.itrs.net/. [2] Proceedings of International Symposium on Low Power Electronics and Design, 2001-2012. [3] Proceedings of International Symposium on Technology Innovation and Integration for Information Systems with Ultra-Low-Power, Mar. 2011. [4] Transmeta Crusoe [Online]. Available: http://www.transmeta.com/crusoe/longrun.html [5] AMD, Inc., AMD PowerNow Technology, 2000. [6] Intel, Inc., The Intel(R) XScale(TM) Microarchitecture Technical Summary, 2000. [7] K. Choi, R. Soma, and M. Pedram, “Fine-grained dynamic voltage and frequency scaling for precise energy and performance trade-off based on the ratio of off-chip access to on-chip computation times,” IEEE Trans. on Computer Aided Design, vol.24, no.1, pp. 18-28, Jan. 2005. [8] M. Putic, L. Di, B. H. Calhoun, and J. Lach, “Panoptic DVS: A fine-grained dynamic voltage scaling framework for energy scalable CMOS design,” Proc. 2009 IEEE Int’l Conf. on Computer Design, pp.491-497, Oct. 2009. [9] J. Zhao, X. Dong, and Y. Xie, “An Energy-Efficient 3D CMP Design with FineGrained Voltage Scaling,” Design, Automation & Test in Europe Conference & Exhibition, pp.14-18 Mar. 2011. [10] L. Chen, T. Horiyama, Y. Nakamura, and S. Kimura, “Fine-Grained Power Gating Based on the Controlling Value of Logic Elements,” IEICE Trans. on Fundamentals of Electronics, Communications and Computer Sciences, vol.E91-A, no.12, pp.35313538, Dec. 2008. [11] K. Usami and N. Ohkubo, “A Design Approach for Fine-Grained Run-Time Power – 39 – 参考文献 Gating using Locally Extracted Sleep Signals,” Proc. IEEE Int’l Conf. on Computer Design, pp.155-161, San Jose, California, USA, Oct. 2006. [12] 松谷宏紀,鯉渕道紘,池淵大輔,宇佐美公良,中村宏,天野 英晴,“CMP におけるオ ンチップルータの細粒度パワーゲーティングの評価,” 情報処理学会論文誌コンピュー ティングシステム, vol.3, no.3, pp.100-112, Sep. 2010. [13] Z. Hu, A. Buyuktosunoglu, V. Srinivasan, V. Zyuban, H. Jacobson, and P. Bose, “Microarchitectural Techniques for Power Gating of Execution Units,” Proc. of the 2004 Int’l Symposium on Low Power Electronics and Design, pp.32-37, Aug. 2004. [14] 関直臣,レイジャオ,小島悠,池淵大輔,長谷川揚平,大久保直昭,武田晴大,香嶋俊 裕,白井利明,宇佐美公良,砂田徹也,金井遵,並木美太郎,近藤正章,中村宏,天野 英晴,“MIPS R3000 プロセッサにおける細粒度動的スリープ制御の実装と評価,” 信 学論 (D), vol.J93-D, no.6, pp.920-930, June 2010. [15] S. Kaxiras, Z. Hu, and M. Martonosi, “Cache Decay: Exploiting Generational Behavior to Reduce Cache Leakage Power,” Proc. 28th Annual Int’l Symposium on Computer Architecture, pp.240-251, New York, NY, USA, July 2001. [16] H. Terada, S. Miyata, and M. Iwata, “DDMP’s: Self-Timed Super-Pipelined DataDriven Multimedia Processors,” Proc. of the IEEE, vol.87, no.2, pp.282-296, Feb. 1999. [17] S. S. Kudva, R. Harjani,“Fully-Integrated On-Chip DC-DC Converter With a 450X Output Range,” Proc. of IEEE Journal of Solid-State Circuits, Vol.46, No.8, pp.1940-1951, Aug. 2011. [18] J. Xiao, A. V. Peterchev, J. Zhang, and S. R. Sanders, “A 4 µ A QuiescentCurrent Dual-Mode Digitally Controlled Buck Converter IC for Cellular Phone Applications,” IEEE Journal of Solid-State Circuits, vol.39, no.12, pp.2342-2348, Dec. 2004. [19] intel Corp, “Intel Core i7-800 Processor Series and the Intel Core – 40 – 参考文献 i5-700 Processor Series Based on Intel Microarchitecture(Nehalem)”, http://download.intel.com/products/processor/corei7/319724.pdf, 2009. [20] Intel Corp, “Intel Pentium M Processor on 90 nm Process with 2MB L2 Cache Datasheet”, 2006. [21] Micro Devices, Inc. “AMD Athlon64 Processor Power and Thermal Data Sheet”, 2006. [22] D. Shin and J. Kim, “Intra-task voltage scheduling on DVS-enable hard real-time system,”, IEEE, Vol. 24, No. 10, pp. 1530-1549, Oct. 2005. [23] 山口誠一朗他, “負荷変動に瞬時適応可能なマルチパフォーマンスプロセッサの設計と 評価”, 情報処理学会研究報告, 2008. [24] intel Corp, “intel pentium M processor datasheet”, http://download.intel.com/support/processors/mobile/pm/sb/25261203.pdf, 2004. [25] 張 綱, 桜井貴康, “高速周波数切り替え可能なクロック生成系”, 東京大学生産技術研究 所, 2000. [26] H. Terada, et al, “DDMPs: Self-Timed Super- Pipelined Data-Driven Processors,” Proc. of the IEEE, Vol. 87, No. 2, pp. 282-296, Feb. 1999. [27] K. Miyagi, S. Sannomiya, M. Iwata, H. Nishikawa, “Low-Powered Self-Timed Pipeline with Variable-Grain Power Gating and Suspend-Free Voltage Scaling,” PDPTA’13, pp.618–624, July 2013. [28] 山本重彦, 加藤尚武, “PID 制御の基礎と応用”, 朝倉書店, 2005. [29] 宮城 桂, “細粒度電力供給機構を備えた省電力自己同期型パイプラインの研究”, 高知工 科大学博士論文, 2014. – 41 –