• 検索結果がありません。

図 4.1: ポートの構成.

提案手法では,粗粒度,2電源の複数電源電圧を前提とする.複数電源電圧で用いる低電圧 は高位合成の段階で可変であるとする.提案手法は,まず従来のGDRアーキテクチャを基本 にフロアプランを構成する.しかし配線遅延を計算するフェーズにおいて,全てのモジュー ルが4隅のいずれかにポートを持つ構成を全探索する.この時,全ての乗算器のうち,最も スラックの小さい乗算器のスラックが最大となるポート配置を採用する.また,全ての乗算 器を低電圧化することを想定し,フロアプランや配線遅延は,図4.2に示すように,乗算器 にレベルコンバータの面積を上乗せして計算を行う.以上の操作をGDRアーキテクチャの 反復改良に組み込むことにより,乗算器のスラックを複数電源電圧に対し最適な構成とした 回路を得ることが可能である.

図 4.2: レベルコンバータの実装方法.

4.3 問題定義

本論文における高位合成問題は,入力をCDFG(Control-Data Flow Graph)とし,制約 条件に演算器制約(演算器の種類・個数),クロック周期制約を与え,RTレベルのデータパ スと制御回路,モジュール配置情報および電力消費量を出力する問題である.クロック周期 制約に対応することで,システムLSIの一部分の回路として回路を合成したい場合に,たと え供給されるクロックの周波数が先に決まっていても,そのクロック周期制約を満足しなが ら実行時間を最小化した回路が合成できる.目的関数は電力消費量の最小化である.また電 力消費が同一の場合面積を最小化する.

CDFG

高位合成において動作記述の中間形式のグラフ表現としてDFG(Data-Flow Graph),CFG

(Control-Flow Grah),CDFG(Control-Data Flow Graph)が使われてきた.DFG はデー タの流れをあらわしたグラフであり,制御構造を表現できない.CFGでは,並列処理を表 現することができない.そこで,その問題を解決するために,DFGとCFGの概念を両方取 り入れたCDFGを本論文では使用し,分岐処理の表現が容易な[26]をベースとしたCDFG モデルを使用する.

CDFGは,有向グラフG= (V, E)で表現され,ノード集合V は,演算ノード集合NOと,

分岐制御を表すノードの集合NCを含むものとする.エッジ集合Eは,データフローエッジ の集合EDとコントロール依存エッジECとメモリ依存エッジEMを含む.CDFGの例を図 4.3 に示す.

演算ノード集合NOにはADD,MULなどの演算とメモリリード,メモリライト,ローカル 配列を含む.メモリリードノードは1入力1出力であり,メモリライトノードは2入力(アド レス値と書き込む値)で出力はない.ローカル配列ノードはデータの参照時は1入力(index 値)1出力であり,データの格納時は2入力(index値と書き込む値)で出力はない.ローカ

+

+ +

+

>

-a b c x

t if(a-b>c)

t=x+y+z+u;

else t=x+2;

図 4.3: CDFG.

化と,第三段階の低消費電力化フェーズを追加した形で構成される.初期フェーズは3.4節 で紹介したものである.ここでは改良フェーズによって得られた解を基に,低消費電力化し た解を求める.

初期フェーズ (Initial phase)

初期フェーズは,3.4節で紹介したものを用いることとする.

改良フェーズ (Improvement phase)

改良フェーズではスケジューリング,レジスタ/制御回路構成決定のために配置・配線情報 とレジスタ/制御回路情報をフィードバックし,繰り返し高位合成アルゴリズムとモジュール 配置を行う.この解と配置結果を利用し,まずレジスタ/制御回路構成が配置結果を満たす かチェックを行い,満たさない場合はローカルレジスタ/ローカルコントローラを付加する.

その後スケジューリング/FUバインディングを行い,その結果からレジスタ/制御回路再構 成を行う.次に出力されたフロアプランに対し,モジュールのポート配置の全探索を行い,

すべての乗算器のうち,最もスラックの小さい乗算器のスラックが最大となるポート配置を 採用する.改良フェーズは仮想フロアプラン生成,スケジューリング/FUバインディング,

レジスタ/コントローラ構成決定,レジスタバインディング,コントローラ合成,モジュール 配置,ポート再配置から構成される.

低消費電力化フェーズ (Low power phase)

低消費電力化フェーズでは低電圧の値を決定するために,スラック情報をフィードバック し,繰り返し電圧変化を行う.初期状態では低電圧を0[V]とし,クロック周期制約への違反 があった場合,低電圧を1段階上げる.低電圧を上昇させていき,すべての演算器がクロッ ク周期制約に違反しなくなった場合,回路は動作可能であるとみなし,その電圧を低電圧と して採用する.この過程から,電力消費量を最小にすることのできる電圧を決定する.

4.5 ポート最適化低消費電力アルゴリズム

ポート最適化低消費電力アルゴリズムでは,加算器に対して乗算器の電力消費量が極端 に大きいことに着目し,乗算器のスラックを最大化することを目的としている.乗算器のス ラックを最大化することにより,複数電源電圧の効果を高め,低消費電力化を行うことを目 的とする.以下にポート最適化低消費電力アルゴリズムを示す.

(Step1) 初期処理としてすべてのモジュールが4隅のいずれかにポートを持つ構成を全探 索し,すべての乗算器のうち,最もスラックの小さい乗算器のスラックが最大となる ポート配置をフロアプランとして採用する.

(Step2) 乗算器に低電圧を供給した場合の遅延時間を計算し,クロック周期制約を満たさな い場合,低電圧を1段階上昇させる.

(Step3) すべての演算器がクロック周期制約を満たした場合,その電圧を複数電源電圧で用 いる電圧として採用し,電力消費量を計算する.

ポート最適化 ( ステップ 1)

ポート最適化ステップでは,ポート配置の全探索を行い,すべての乗算器のスラックが複 数電源電圧に適した状態を出力する.

低電圧決定 ( ステップ 2)

低電圧決定ステップでは,乗算器を低電圧で動作させる場合の遅延時間の増加量を計算す る.遅延時間の増加量とレベルコンバータの遅延の和がスラックよりも小さい場合,すなわ ちクロック周期制約を満たす場合のうち,最も低い電圧を低電圧として出力する.

電力消費量計算 ( ステップ 3)

高位合成の詳細を記した.次に提案手法のフローを示し,各フェーズの役割を整理した.最 後に提案手法がGDRアーキテクチャを低消費電力化するアルゴリズムについて説明した.

計算機実験による評価

5.1 本章の概要

本章では,GDRアーキテクチャと提案手法を計算機上に実装し,その出力結果から本論 文で提案する低消費電力化手法を式により見積もり,その有効性を評価する.初めに実験方 法及び,実験環境,参考とした式を記す.その後,提案手法に複数のアプリケーションを入 力とした場合の結果について,3章で紹介したGDRアーキテクチャ[14, 15](GDR)と,GDR アーキテクチャに複数電源電圧のみを適用したもの(MGDR),GDRアーキテクチャのポー トを変更したのちに複数電源電圧を適用する提案手法(PMGDR)を比較する.

表 5.1: 演算器の面積,遅延,電力消費量.

面積[µm2] 遅延[ns] 電力消費量[pJ][1]

加算器 282 1.32 0.068

減算器 316 1.33 0.072

乗算器 4661 2.7 0.832

比較器 255 0.6 0.023

レジスタ(1bit) 18 0.11 0.052

マルチプレクサ(1bit) 7 0.04 0.0064

5.2 実験方法

GDRアーキテクチャと提案手法のシミュレーションプログラムをC++言語を用いて計算 機上に実装した.計算機実験に用いた計算機環境は以下のとおりである.

OS Windows 7 Home Premium

CPU Intel Core2 Duo 2.66GHz 2.67GHz Memory 4GB

対象アプリケーションとして7次FIRフィルタ(ノード数75),DCT(ノード数48),EWF(ノー ド数34),EWF3(ノード数102)を用いた.計算機実験では,GDR,MGDR,PMGDRを比 較した.計算機実験で用いた演算器の面積,遅延,電力消費量を表5.1に示す.演算器の面 積と遅延の値は[14]より,電力消費量は[1]を参考とした.レベルコンバータは論文[1]よ り,面積を113[µm2],遅延を0.25[ns],電力消費量を0.053[pJ]とした.レベルコンバータ の面積制約に対して,図5.1に示すように,低電圧モジュールの面積を増加させた.高電圧 は1[V],閾値電圧は0.5[V]とした.配線遅延は配線長の2乗に比例すると仮定し,250[µm]

当たり1[ns]と設定した.全ての対象アプリケーションにおいてクロック周期を1.7[ns]とし

た.電圧を下げた場合の演算器の遅延は論文[23]より,式(5.1)を用いた.電圧を下げた場 合の演算器の電力消費は論文[23]より,式(5.2)を用いた.

図 5.1: レベルコンバータの実装方法.

表 5.2: 計算機実験結果.

App. 手法 低電圧 電力消費量 面積

(FUs) [V] [pJ] [µm2]

FIR GDR 1.00 28.5 26208

(+3*3) MGDR 0.98 29.2 26535

PMGDR 0.91 25.2 26535

DCT GDR 1.00 15.5 29792

(+3*3) MGDR 1.00 15.5 30418

PMGDR 0.91 13.8 30418

EWF GDR 1.00 8.40 12876

(+2*1) MGDR 0.97 8.50 13104

PMGDR 0.91 7.70 13104

EWF3 GDR 1.00 25.3 23858

(+3*2) MGDR 0.99 26.1 24016

PMGDR 0.91 23.1 24016

5.3 実験結果

演算器における電力消費量と面積の実験結果を表5.2と図5.2,図5.3に示す.フロアプラ ン(FIR GDR)を図5.4に,フロアプラン(FIR PMGDR)を図5.5に,フロアプラン(DCT  GDR)を図5.6に,フロアプラン(DCT PMGDR)を図5.7に,フロアプラン(EWF GDR)を 図5.8に,フロアプラン(EWF PMGDR)を図5.9に,フロアプラン(EWF3 GDR)を図5.10 に,フロアプラン(EWF3 PMGDR)を図5.11に示す.フロアプランの図中の数字は,対応 する番号のモジュールのポートの位置を表す.GDRと比較し,PMGDRは演算器における 電力消費量を最大で13.4%,平均で11.1%削減,面積は平均1.45%増加した.MGDRの場合 には,電力消費量が平均で1.5%増加した.

0.0 5.0 10.0 15.0 20.0 25.0 30.0 35.0

FIR DCT EWF EWF3

電力 消費 量 電力 消費 量 電力 消費 量 電力 消費 量[p J]

GDR MGDR PMGDR

図 5.2: 実験結果(電力消費量).

0 5000 10000 15000 20000 25000 30000 35000

FIR DCT EWF EWF3

面積 面積 面積 面積 [

] GDR

MGDR PMGDR μm

2

図 5.3: 実験結果(面積).

図 5.5: フロアプラン(FIR PMGDR).

図 5.7: フロアプラン(DCT PMGDR).

図 5.9: フロアプラン(EWF PMGDR).

図 5.11: フロアプラン(EWF3 PMGDR).

5.4 考察

図5.2において,FIRとEWF,EWF3の入力アプリケーションは,MGDRの電力消費量 がGDRの電力消費量を上回っている.これはスラックが少ないため,電圧を下げたことによ る電力消費の削減量よりもレベルコンバータのオーバヘッドが大きいためである.またDCT においてもGDRとMGDRを比較した場合,電力消費量は同じ値となっている.これらに 対し,全ての入力アプリケーションにおいてPMGDRの電力消費量はGDRの電力消費量を 下回っている.以上の2点から,ポート配置の最適化によってGDRを複数電源電圧によっ て低消費電力化することができるといえる.

関連したドキュメント