動的リコンフィギャラブルプロセッサDRP-1における - Keio University

社団法人 電子情報通信学会
THE INSTITUTE OF ELECTRONICS,
INFORMATION AND COMMUNICATION ENGINEERS
信学技報
TECHNICAL REPORT OF IEICE.
動的リコンフィギャラブルプロセッサ DRP-1 における
アダプティブコンピューティング
阿部
昌平†
長谷川揚平†
戸井 崇雄††
犬尾
武††
天野
英晴†
† 慶應義塾大学大学院理工学研究科 〒 223–8522 神奈川県横浜市港北区日吉 3-14-1
†† NEC システムデバイス研究所 〒 211–8668 神奈川県川崎市中原区下沼部 1753
E-mail: [email protected], [email protected], [email protected]
あらまし
廃熱やバッテリーによる供給電源などにより消費できるエネルギーにおいて制限が厳しいモバイル機器に
おいては、効率的な計算資源の活用が求められる。この要求に応える手法の一つに Adaptive Computing がある。こ
れは環境の変化に対して演算回路そのものを変化させる方法である。本稿では、動的リコンフィギャラブルデバイス
である NEC エレクトロニクス社 DRP(Dynamically Reconfigurable Processor) のプロトタイプチップ DRP-1 におい
て本手法を適用した効果について、シミュレーションモデルを構築し調査を行った。対象となるアプリケーションと
して、拘束長 K が 3 から 7 までの Viterbi Decoder をコンフィギュレーションデータとして実装し、それを用いた。
これらの拘束長の異なる Viterbi Decoder を周囲の環境に合わせて選択し用いることで、スループットを 4.71Mbps か
ら 9.95Mbps まで、またスループットを 4.71Mbps に固定し消費電力を 428.93mW から 1028.97mW まで変化させる
ことが可能であることをシミュレーションモデルを用いて確認した。
キーワード
動的リコンフィギャラブルシステム、DRP、アダプティブコンピューティング、ビタビデコーダ、仮想
ハードウェア
Adaptive Computling
on the Dynamically Reconfigurable Processor DRP-1
Shohei ABE† , Yohei HASEGAWA† , Takao TOI†† , Takeshi INUO†† , and Hideharu AMANO†
† Department of Information and Computer Science, Keio University 3-14-1, Hiyoshi, Kohokuku,
Yokohama, 223–8522, Japan
†† NEC System Devices Research Labs. 1753 Shimonumabe, Nakahara, Kawasaki 211-8668, Japan
E-mail: [email protected], [email protected], [email protected]
Abstract Adaptive computing is one of the power reduction technics to take full advantage of reconfigurable
devices. The approach, for example in mobile phones which require long-lasting batteries, makes the device choose
a suitable circuit image from ones with different power consumption and error correction, as signal-to-noise ratio
changes. In this paper, We have implemented five viterbi decoders of which constraint length K ranges from 3
to 7, and built a simulation environment of wireless communication to research the effectiveness of the adaptive
computing on the DRP-1, the first silicon implementation of Dynamically Reconfigurable Processor(DRP). We have
confirmed that its throughput varies from 4.71 Mbps to 9.95 Mbps and its power consumption does from 428.93
mW to 1028.97 mW at the fixed throughput rate 4.71 Mbps.
Key words Dynamically Reconfigurable System, DRP, Adaptive Computing, Viterbi Decoder, Virtual Hardware
1. は じ め に
く、利用者へのサービスの質を保ちながらも、エネルギーを最
バッテリーの充電頻度が製品の価値に大きな影響を与えるモ
動画像通信においては、一定以上の BER(Bit Error Rate) を
バイル機器では、計算資源の消費するエネルギーの制限が厳し
維持する必要があるが、入力信号の S/N 比が変動するため、誤
小に抑えることが求められる。例えば、移動体における音声・
—1—
り訂正回路に求められる演算性能はそれに合わせて変動する。
変動を考慮せず誤り訂正を行うと、S/N 比が良好な環境では必
要以上の BER を提供することになり過剰な電力を消費する。
2. Dynamically Reconfigurable Processor
DRP-1 プ ロ セッサ (図 1) は 、NEC エ レ ク ト ロ ニ ク ス 社
そのため S/N 比の変動にあわせて必要最小限度の BER を提
DRP(Dynamically Reconfigurable Processor) アーキテクチャ
供するよう処理能力を変化させ、消費電力の削減をすることが
の、プロトタイプチップである。アレイ状に配置された Tile
望ましい。
とよばれる演算ユニットを基本構成とする。Tile は 8-bit の演
この種の要求に対する解決法として、周囲の状況に合わせ
算器とレジスタファイルなどからなる PE(Processing Unit) を
て動的に構成を変更する Adaptive Processing [1]、Adaptive
8×8 の 2 次元アレイ状に配置し、またその周辺にメモリを分散
Computing [2]、動的適応型ハードウェア [3] が検討されている.
配置している。また、これら Tile 内の演算ユニットを制御す
Adaptive Processing は、DSP のキャッシュおよびバッファの
る STC(State Transition Controller) があり、各 Tile の STC
使用上限を、必要とされる演算能力に応じて動的に変更する
は CSTC(Central STC) がこれを管理する。コンフィギュレー
ことで、消費電力の削減を図る手法である。電力面における最
ション時には PE に命令データを書き込む。そして実行中に
適化は全てハードウェアで対応し、アプリケーションプログラ
は STC が発行した命令ポインタ情報を PE が受け取り、利用
ムの書き換えを必要としないのが特徴である。また Adaptive
する命令データをロードすることでハードウェア構成を変更す
Computing は、FPGA において演算器構成を柔軟に替えるこ
る。このハードウェア構成パターン情報をコンテキストとよぶ。
との出来る特徴を生かし、変化する外部環境に応じて、処理を
DRP-1 は内部に最大 16 コンテキスト分の情報を蓄えることが
行うデバイス内の構成を最適になるよう書き換え、処理速度や
可能で、クロックサイクル毎にコンテキスト切り替えが可能な
消費エネルギー効率の向上を狙っている。
マルチコンテキストデバイスである。
本稿ではこのような動的にハードウェア構成を変更すること
CLK
To SDRAM/SRAM/CAM
CLK
で処理速度や消費エネルギー効率の向上を図る手法をまとめて
PLL
Adaptive Computing と呼ぶ。Adaptive Computing の処理効
率には使用対象のデバイスの性質が大きく影響する。デバイス
は、環境の変化に対して、処理回路を書き換えるための消費電
MUL
MUL
MC
間の増大を招く。そして、多様な環境に対応するために、回路
MUL
PLL
MUL
PLL
Data
Tile
Tile
Tile
Tile
Tile
Tile
Ctrl
力を要求する。また書き換え中の処理の中断により、全体的な
スループットの低下のみならず、処理における一時的な遅延時
MUL
CSTC
Test
Tile
Tile
Program
構成情報を複数持つことになり、そのための保存記憶領域も必
PLL
要となる。Adaptive Computing の導入によりスループットや
MUL
MUL
CLK
エネルギー効率の向上を図るためには、これらのコストを上回
PCIC
PCI IF
MUL
CLK
図 1 DRP-1
るメリットを得る必要があり、このコストが低いほど高い導入
効果が期待できる。これらの値は全てデバイスの性質により異
なるため、デバイスにより Adaptive Computing が有効には
たらくかどうかの条件は大きく異なる。
DRP の開発環境として統合開発環境 Musketeer [7] が用意さ
れている。開発環境の中核である DRP コンパイラは C 言語
本稿はこの Adaptive Computing を動的再構成デバイスで
をハードウェア記述用に拡張した BDL(Behavior Design Lan-
ある DRP [4] に適用し、その効果について調べる。DRP は、
guage) から動作合成、マッピング、配置配線を経て DRP 上で
複数のコンテキストを切り替えることで、高速に内部構成を
実行可能なコンフィギュレーションデータを生成する。BDL で
書き換えることが出来、Adaptive Computing におけるハード
は 1 クロックで実行する命令の集合からなる処理単位を「状態」
ウェア構成書き換え時の一時的な遅延増大という問題を解決
と呼び、取り扱う。「状態」はコンテキストに複数割り当てる
することができる。DRP 上での Adaptive Computing は、動
ことが出来る。
的適応型ハードウェア [3] として提案され、スイッチに応用さ
3. Viterbi Decoder
れた。しかし、この試みは単純な構造のスイッチをトラフィッ
クパターンに応じて適応させることで、主として性能向上を
3. 1 拘束長 K と処理量の関係
目指すものであり、現実的なアプリケーションとはいえず、ま
今回 DRP-1 に実装する、誤り訂正回路 Viterbi Decoder は、
た、消費電力については考慮されていない。また、今井ら [5]
パラメータを変えることで、誤り訂正能力や計算量が変わり、
は、マルチコンテキスト型 FPGA 上で FIR フィルターに関し
それに伴いスループットや消費電力が変化する。これらの値は
て同様の試みを行っているが、実デバイス上への実装は行わ
互いにトレードオフの関係にある。今回注目するパラメータは
れていない。本稿では、より現実的なアプリケーションである
拘束長 K である。Viterbi Decoder は過去の入力ビットを参
Viterbi Decoder [6] の性能および消費電力に関して Adaptive
照して現在のビットを算出する。過去何 bit まで参照するかを
Computing の技術を適応する。
示すのが拘束長 K である。K の値が大きいほど精度の高い
復号を見込むことが出来る。Viterbi Decoder の振る舞いはト
—2—
レリスで説明できる。トレリスは一種の状態遷移図である (図
適用は現実的でない。Systolic Array はそのパイプライン構造
2(a))。横軸は時刻 t を表す。また縦軸は過去のビット情報を含
からデコード遅延が REA と比較して大きいものの、使用演算
K−1
む状態を表し、その状態数は 2
器の数は現実的な範囲におさまり、また並列性の確保も十分で
である。
ある。本稿における実装では、DRP-1 のハードウェアリソー
スを考慮し、Systolic Array を採用した。
stages
state 00
4. 実
装
state 01
2n
state 10
n
拘束長 K = 3, 4, 5, 6, 7 の Viterbi Decoder を DRP-1 上に実
装した。Code Rate は 1/2、Trace Back Length は 5(K − 1)、
state 11
path
state transition
2n+1
(a) トレリス (K=3)
図2
T=t
T=t+1
n+2^(K-2)
1 シンボルあたりの入力ビット幅および出力ビット幅は 1-bit
である。DRP-1 における「状態」のコンテキストへの配置と、
(b) Branch Metric 算
処理中の状態遷移を図 3 に示す。各状態は 1 クロックごとに次
出
の状態へ遷移する。遷移前後で「状態」の配置されているコン
トレリス遷移図
トレリス上では複数の入力ビットをもとに、パスとよばれ
るビットパターンを表す遷移の経路をつくる。図 2(b) に、各
状態からの遷移を示す。各状態は、Path Metric(PM) とよば
れるコスト値を持つ。時刻 T = t における 1 状態からは、時
刻 T = t + 1 に 2 状態へ遷移する。このとき遷移する上下方
向に応じて、デコーダへの入力値と比較し、コスト値 Branch
テキストが異なる場合、次状態の配置されているコンテキスト
をロードし用いる。
拘束長 K の Viterbi Decoder は、2K−1 個の ACS Unit を持
ち、それらを 1 コンテキストに配置する。また、Systolic Array
の構成部において 5(K − 1) 段のパイプラインを持つ。必要と
するハードウェア量を考慮し、K = 3, 4, 5 では Systolic Array
構成部を 1 コンテキスト上に実装する一方、K = 6 では 2 コン
テキストに、K = 7 では 3 コンテキストに分割して実装する。
Metric(BM) を算出する。この BM とすでに持っている PM を
context 1
足したものが、次状態での新たな PM となる。状態 n では状
態 2n および 2n + 1 からの遷移があるが、それぞれの PM を
比較し、値の小さい方からの遷移をパスとして採用する。新た
input2
state
init
context 2
ACS
context 3
Ranking1
input1
な PM もこのパスのものを用いる。ハードウェアにおいてはこ
の処理は ACS(Add-Compare-Select) Unit が担当する。
context 0
このようにできあがったパスから、送信元のビット系列を推
Systolic
Array 3/
output
Systolic
Array 2
context 6
context 5
Ranking2 /
PM Update /
Systolic Array1
定する。この過程における計算量はトレリスのサイズとほぼ一
致する。このパスの時系列方向の長さは Trace Back Length
とよばれ、経験上 5(K − 1) 程度が望ましいとされている。
K−1
状態数が 2
図3
context 4
コンテキストスケジューリング (K = 7)
であることを考えると、トレリスの大きさは
2K−1 × 5(K − 1) となり、K の値の増加とともに計算量が増
え、必要とされる回路規模が大きくなっていくことが分かる。
また、この Viterbi Decoder のエラー訂正能力の測定を行う
ためシミュレーション環境を構築した (図 4)。AWGN(Additive
3. 2 Systolic Array
White Gaussian Noise, 加法性白色ガウス雑音) 通信路を模擬
ACS により出力されたパス情報をもとに、出力ビットを生成
し、ランダムに生成された入力値と、Viterbi Decoder からの
する処理が Trace Back である。ハードウェア実装の方法として
復号結果を比較し、BER = 10−5 以下となる通信品質を提供で
は、ソフトウェアで広く使われる LIFO によるメモリベースでの
きる S/N 比の下限を探した。シミュレーション環境は、Linux
処理、Systolic Array [8]、Register Exchange Array(REA) [9]
kernel 2.4.31、gcc 3.3.5、およびライブラリ boost 1.31.0 を用
があり、後者ほど並列性・遅延において性能が良いが一方でハー
い、C++言語で記述した。
ドウェアリソースを要求する傾向がある。ハードウェアにおけ
る Viterbi Decoder の実装において効率よく演算資源を利用し
5. 評
価
高いスループットを達成するには、トレリスの縦軸方向におい
5. 1 Viterbi Decoder の性能評価
て並列性を抽出することが鍵であると考える。LIFO によるメ
実装した Viterbi Decoder の性能一覧を表 1 に示す。後に述
モリベースでの処理は、メモリアクセスがボトルネックとなり
べる考察のために、最大動作周波数での稼働時の性能のほか、
並列性を生かせない。REA は並列性を十分に生かし、また低
スループットを 4.71Mbps として一定に保った場合の性能を記
遅延でデコードすることが出来るが、ビットごとにレジスタを
載してある。消費電力については統合開発環境 Musketeer が出
用意する必要があり、またその数に応じたマルチプレクサが必
力した推定値を用いた。これは DRP-1 の動作に必要な消費電
要であることから、非常に大きな面積を必要とし DRP-1 への
力のみが含まれ、入出力等に関する消費電力については含まれ
—3—
Random Bit
Generator
bits
Convolutional
Encoder
bits
ンデータの入れ替えは 250,000 シンボルごとに行う。処理シス
Modulator
テムは計 250K × 108 シンボルを処理し、(1) スループットを
floating point
Input Sequence
4.71Mbps で一定に保ち、コンフィギュレーションデータごと
AWGN
Channel
Model
compare
に周波数を変化させた場合の消費電力についてと、(2) 各コン
floating point
Quantizer
フィギュレーションデータの最大動作周波数で動作させたとき
bits
Viterbi
Decoder
Output Sequence
のスループットの、2 通りについて性能がどう変化するか結果
を得る。送信電力やアンテナゲイン、そして Turbo Decoder
On Processor
図4
On DRP-1
への組み込み等により、それぞれ 30dB、40dB、50dB の利得
が得られると仮定した場合について調査する。
通信路シミュレーション環境
表1
K
対応下限 S/N 比
(BER = 10−5 )
コンテキスト数
実行クロック数
(clocks/symbol)
クリティカルパス (ns)
最大動作周波数 (MHz)
最大動作周波数稼働時
消費電力 (mW)
最大動作周波数稼働時
スループット (Mbps)
スループット一定 (4.71Mbps)
稼働時動作周波数 (MHz)
スループット一定 (4.71Mbps)
稼働時消費電力 (mW)
なお、DRP-1 で収容可能なコンテキスト数は 16 であり、今
性能一覧
回実装した K が 3 から 7 までのコンフィギュレーションデー
タのコンテキスト総数は 22 であるため、すべてを DRP-1 の内
3
5.3
4
4.9
5
4.3
6
3.8
7
3.2
2
4
4
5
4
5
5
6
7
7
25127
39.8
22340
44.76
26989
37.05
27390
36.51
30346
32.95
た。得られた結果を図 5 に記す。S/N 比が大きくなるほど、す
910.52
1061.33
938.58
1025.06
1028.97
なわち利得が小さくなったり通信距離が長くなるほど、消費電
9.95
8.95
7.41
6.08
4.71
力は増えスループットは低下する傾向にある。また、この変動
18.83
23.54
23.54
28.25
32.95
428.93
558.10
596.22
793.03
1028.97
部に持つことは出来ない。この問題に関しては後述することに
し、ここでは全て収容できるものと仮定する。
本シミュレーションプログラムを 4. 節で前述の環境で作成し
幅は K = 3 および K = 7 のコンフィギュレーションデータ実
行時の消費電力およびスループットの範囲内である。以上より、
ノイズ発生環境に応じて異なる拘束長 K のコンフィギュレー
ションデータを実行することで、消費電力およびスループット
における性能向上があることが分かる。
ていない。
K の値が大きくなるほど、対応できる S/N 比の下限が下が
り高い誤り訂正能力を持つことが分かる。一方で K の増加に
伴い、必要とするコンテキスト数が増加しており必要とする演
算資源が増加し、またスループット・消費電力においては悪化
している。誤り訂正能力と、演算資源量・スループット・消費
電力は、トレードオフの関係にあることが分かる。
5. 2 Adaptive Computing の導入
表 1 より我々は、S/N 比が変動する場合に、K の異なるい
くつものコンフィギュレーションデータを DRP-1 で実行する
ことで、同一のコンフィギュレーションデータを使い続ける場
合よりも性能を改善できると考える。すなわち S/N 比が小さ
な値を取る場合には K の大きなコンフィギュレーションで対
応する一方で、S/N 比が大きな値を取る場合には K の小さい
コンフィギュレーションデータを使用することで、スループッ
トを保った上で消費電力を低く抑えるか、高い動作周波数で動
作し高いスループットを得ることが出来るのではないかという
ことである。
この効果を確かめるために、基地局と携帯端末間での通信を
想定して、いくつもの異なる S/N 比の値を発生させ、それらの
S/N 比のビット列に対して DRP-1 が内部に収容したコンフィ
ギュレーションデータのなかから対応するものに適宜切り替え
た場合についての、性能向上のシミュレーションを行う。
S/N 比変動のシミュレーションモデルは Log-distance Path
Loss Model [10] に従う。本モデルに対し、パラメータとしてド
イツ各都市での実測値 path loss exponent n = 2.7 標準偏差
σ = 11.8dB を与える。処理に使用するコンフィギュレーショ
6. コンテキスト容量に関する検討
本節では、コンテキスト容量に関する検討を行う。5. 2 節に
おける検討では実際に DRP-1 に収容可能なコンテキスト量を
超えている。ここではコンテキスト容量がスループットや消費
電力に与える影響について検討を行う。
不足するコンテキスト容量を補う解決策として、仮想ハード
ウェア機構の導入 [11] が考えられる。仮想ハードウェアは、図
6 に示すように、動作中に必要に応じてチップ外部より構成情
報を読み込み設定することによって、チップサイズを超えるア
プリケーションの実行を可能にする技術である。IPSec のよう
に多くの暗号アプリケーションを取り扱う場合や [12]、巨大な
アプリケーションを取り扱う場合に [13]、動的リコンフィギャ
ラブルデバイスの持つ高速な書き換え能力を生かし、高い面
積効率での処理を実現する有用な手法である。なお、この仮想
ハードウェア機構の導入は、利用可能なコンテキスト数を増や
す一方で、外部メモリからのロード時間やそれに要する消費電
力が、システム全体のスループットや消費電力に影響を与える
可能性がある。
本稿では、DRP-1 内部に納めることの出来ないコンフィギュ
レーションデータについて、各拘束長 K のアプリケーション単
位で外部メモリに格納しておき、必要に応じてそれらを DRP-1
に読み込むことを想定する。現時点においては、DRP-1 でこ
の仮想ハードウェア機構を利用することは可能ではあるが、試
作環境での周辺チップにおける制限により対応するツールが用
意されていない。従ってシミュレーションにおいて、その効果
を評価する。評価環境は前述したとおりである。
—4—
1100
10
1000
50 dB
40 dB
30 dB
no swap in K
9
8
Throughput (Mbps)
Power Consumption (mW)
900
800
700
7
6
600
5
500
400
no swap in K
30 dB
40 dB
50 dB
0.1
1
T-R Separation (km)
10
4
0.1
1
T-R Separation (km)
(a) スループット一定時 (4.71Mbps) 消費電力
図5
10
(b) 最大動作周波数稼働時スループット
シミュレーション結果 (n = 2.7 標準偏差 σ = 11.8 dB)
表 2 S/N 比の生成確率分布
K=7
T-R Separation
processing
S/N 比 (dB) 0.6km 2.0km 8.0km
K=3
k=4
swap
k=5
context
k=6
In DRP-1
図6
5.3 - 0.88
0.49
0.08
4.9 - 5.3
0.01
0.01
0.01
4.3 - 4.9
0.01
0.02
0.01
3.8 - 4.3
0.01
0.02
0.01
3.2 - 3.8
0.01
0.02
0.01
- 3.2
0.09
0.44
0.89
In External Memory
仮想ハードウェア機構
表3
コンフィギュレーションデータのロード所要時間
Constraint Length K
仮想ハードウェア導入の効果をみるために、(1) K = 7 で
コンフィギュレーションデータを入れ替えず使用し続けた場
3
4
5
6
7
Config. Data Size (bit)
27968 45408 76480 128672 244032
Load Time (usec)
26.48
43.00
72.42
121.85
231.09
合、(2) K = 3, 4, 5, 6, 7 全てのコンフィギュレーションデー
タが DRP-1 に収まると仮定をした場合 (5. 2 節の仮定)、(3)
K = 3, 5, 7 のコンフィギュレーションデータのみを使い、仮
想ハードウェア機構を使わずに DRP-1 コンテキスト容量の許
容する範囲で処理を行う場合、(4) 仮想ハードウェアを使い、
K = 3, 4, 5, 6, 7 全てのコンフィギュレーションデータを用いる
場合、の計 4 つのケースについて評価を行う。(4) の仮想ハー
ドウェアを使用するケースでは、使用頻度の高い K = 3, 7 に
ついては常に DRP-1 内部に納め、残りの K = 4, 5, 6 について
入れ替えを行うこととする。
S/N 比の変動については、5. 2 節で使用したモデルを用い
る。利得は 40dB、基地局-携帯端末間の距離は 0.6km、2.0km、
あたり必要となる消費電力については、外部メモリおよび PCI
バスの稼働電力については考慮していない。従って、実際には、
仮想ハードウェア導入時の消費電力は、シミュレーション結果
よりも大幅に上がる可能性がある。
このシミュレーションによるスループットおよび消費電力の
算出方法は、以下の式に相当する。Tave および Pave はそれぞ
れシステム全体の平均スループットおよび平均消費電力を表
す。また拘束長 K のコンフィギュレーションデータについて
CP (K) はクリティカルパス、N S(K) は選択回数、CT (K) は
イメージロード時間、N L(K) はロード回数、P4.71M bps はス
ループット 4.71Mbps 固定時の消費電力をそれぞれ表す。
7
8
Tave = 250, 000 × 10
8.0km の位置において比較を行う。それぞれの地点における
S/N 比出現頻度を表 2 に示す。
仮想ハードウェア機構を用い、DRP-1 の外部からコンフィ
ギュレーションデータを読み込むために、バス幅 32-bit、動作
CP (K) × N S(K) × 250, 000 + CT (K) × N L(K)
K=3
7
Pave =
P4.71M bps (K) × N S(K) × 250, 000
8
250, 000 × 10
K=3
周波数 33MHz の PCI バスを使用することを想定する。この仮
定は現行の DRP-1 の開発環境に従っているが、実際に組み込
みシステムとして使われる場合にはより高速なバスでの使用が
考えられることを述べておく。コンフィギュレーションデータ
のサイズと読み込み時間を表 3 に示す。なお同機構を用いるに
以上の想定についてシミュレーションを行った結果について、
スループットを表 4、消費電力を表 5 にそれぞれ示す。
以上の結果は、仮想ハードウェア導入によるスループットの
低下は、DRP-1 のみを用い全てのコンフィギュレーションデー
—5—
表 4 Adaptive Computing におけるスループットの比較
T-R Separation
上より、Adaptive Computing の導入によりスループットおよ
び消費電力の面において最適な処理が行えることを示した。
0.6km 2.0km 8.0km
K=7 のみ (Mbps)
4.71
4.71
4.71
全て DRP-1 に収まると仮定 (Mbps)
8.89
6.48
4.95
K=3,5,7 のみを使用 (Mbps)
8.85
6.43
4.93
仮想ハードウェア機構の導入 (Mbps)
8.89
6.48
4.95
またコンテキスト容量の制限についても検討を行った。全て
の Viterbi Decoder のコンフィギュレーションデータを DRP-1
内部に収容できない問題について、仮想ハードウェア機構の導
入による解決策を提示し、一方で消費電力や面積を考慮すると
現実解としては同機構を導入せずに DRP-1 内部で収容できる
表 5 Adaptive Computing における消費電力の比較
拘束長のコンフィギュレーションデータだけで対応するのがよ
いという結論に達した。
T-R Separation
0.6km
2.0km
8.0km
1028.97
1028.97
1028.97
全て DRP-1 に収めると仮定 (mW)
493.60
718.78
974.04
K=3,5,7 のみを使用 (mW)
496.04
723.28
976.21
K=7 のみ (mW)
仮想ハードウェア機構の導入 (mW)
(493.60) (718.78) (974.04)
タが DRP-1 のコンテキストに収まると仮定した場合と比較し
て軽微であることを示している。粗粒度の DRP アーキテクチャ
は FPGA 等と比較してコンフィギュレーションデータを外部
から読み込む時間が短いという特徴がある [14]。そのために、
外部メモリからのコンフィギュレーションデータの読み込みが
スループットに大きな影響を与えなかったと考える。また、使
用コンフィギュレーションデータの入れ替えのチェック頻度が
250K シンボルごとであること、そしてシミュレーションモデ
ルが導いた S/N 比の値の分布が、特定のコンフィギュレーショ
ンデータを使用するようになっていることも、要因の一つであ
ろう。
一方、電力面については、仮想ハードウェア機構導入により
消費電力の大幅な増加が生じると考える。表 5 に記されている
値は、DRP-1 のみのものであり、仮想ハードウェア機構の利用
に伴い使用する外部メモリやバス等の消費電力を考慮すると、
その同機構導入の対価は決して低いものではない。同機構を導
入せず、DRP-1 に収まるだけのコンフィギュレーションデータ
で対応しても、スループットの低下は、1%程度である。導入
に伴う消費電力、回路面積そしてコストを考えると、本実験の
範囲においては仮想ハードウェア機構の導入を行わずとも十分
なパフォーマンスが得られると判断する。また、コンテキスト
容量の制限についても、選択できる K が限られることからス
ループットおよび消費電力それぞれにおいて悪化が認められる
ものの、使用される K の種類の頻度に偏りがあるために、影
響は軽微であると考える。
7. 結
論
本稿では、拘束長 K=3 から 7 までの Viterbi Decoder を
動的リコンフィギャラブルデバイスである DRP-1 に実装し
た。それら拘束長の異なる Viterbi Decoder を周囲の環境に合
わせて選択し用いることで、スループットを 4.71Mbps から
9.95Mbps まで、またスループットを 4.71Mbps に固定し消費
電力を 428.93mW から 1028.97mW まで変化させることが可
謝辞
本研究を進めるにあたり DRP-1 およびその開発環境
は NEC エレクトロニクス社および NEC システムデバイス研
究所に提供して頂きました。それとともに有益なご助言、ご指
導を頂きましたことに著者一同深く感謝致します。
文
献
[1] David H. Albonesi, et al. “Dynamically Tuning Processor Resources with Adaptive Processing,” IEEE Computer,
Special Issue on Power-Aware Computing , Vol.36, No.12,
December 2003.
[2] R. Tessier, et al. “A Reconfigurable, Power-Efficient Adaptive Viterbi Decoder,” in IEEE Trans. on VLSI Systems,
vol 13, no 4, April 2005, pp. 484-488
[3] Hideharu Amano, Akiya Jouraku, Kenichiro Anjo, “A Dynamically Adaptive Hardware on Dynamically Reconfigurable Processor,” IEICE Transactions, Vol.E86-B, No.12,
pp.3385-3391, 2003.
[4] M.Motomura, “A Dynamically Reconfigurable Processor
Architecture,” Microprocessor Forum, Oct. 2002.
[5] 今井茂毅, 飯田全広, 末吉敏則, “RLD の動的再構成機能を積極
的に利用した消費エネルギー削減手法,” 第 4 回リコンフィギャ
ラブルシステム研究会 論文集, pp.204-211, September 2004.
[6] A.J. Viterbi and J.K. Omura, “ Principles of Digital Communication and Coding,” New York: McGraw-Hill, 1979.
[7] 粟島, 戸井, 中村, 紙, 加藤, 若林, 宮澤, 李, “動的再構成可能
チップ DRP の C コンパイラ,” 電子情報通信学会技術研究報告
VLD2003-118, Vol. 103, No. 578, pp. 23-28, January 2004.
2000.
[8] T.K. Truong, et al. “A VLSI Design for a Trace-Back Viterbi
Decoder,” in IEEE Trans. on Communications, VOL.40,
NO. 3, March 1992.
[9] E. Yeo, S. Augsburger, W. R. Davis, and B. Nikolic, “Implementation of High Throughput Soft Output Viterbi Decoders,” IEEE Workshop on Signal Processing Systems,
Oct. 2002
[10] T. S. Rappaport. “Wireless Communications: Principles
and Practice,” Prentice Hall, Upper Saddle River, NJ, 1996.
[11] X.-P. Ling and H. Amano, “WASMII: A Data Driven Computer on a Virtual Hardware,” Proceedings of the IEEE
Symposium on FPGAs for Custom Computing Machines
(FCCM1993), pp. 33–42, April 1993.
[12] 長谷川揚平, 阿部昌平, 安生健一朗, 粟島亨, 天野英晴. “動的リ
コンフィギャラブルプロセッサを用いた IPsec アクセラレータ
の設計と実装,” 電子情報通信学会技術研究報告 CPSY2004-37,
Vol.104, No.476, pp.29-34, December 2004.
[13] H.Amano, T.Inuo, H.Kami, T.Fujii, and M.Suzuki. “Techniques for Virtual Hardware on a Dynamic Reconfigurable
Processor -An approach to tough cases-,” Proceedings of
International Conference on Field Programmable Logic and
Application(FPL2004), pp.464-473, September 2004.
[14] 北岡稔朗, 天野英晴, 安生健一朗, “DRP 上での仮想ハードウェ
ア実現のための構成情報の圧縮,” 第 1 回リコンフィギャラブル
システム研究会 論文集, pp. 213-218, September 2003.
能であることをシミュレーションモデルを用いて確認した。以
—6—