タイミング違反を利用するマイクロアーキテクチャの - System LSI Lab.

社団法人 電子情報通信学会
THE INSTITUTE OF ELECTRONICS,
INFORMATION AND COMMUNICATION ENGINEERS
信学技報
TECHNICAL REPORT OF IEICE
タイミング違反を利用するマイクロアーキテクチャの
演算器における遅延を考慮した評価
国武 勇次†
千代延 昭宏†
田中 康一郎‡
佐藤 寿倫¶
†九州工業大学大学院 情報工学研究科 〒813-0036 飯塚市川津 680-4
‡九州工業大学 マイクロ化総合技術センター 〒813-0036 飯塚市川津 680-4
¶九州大学 システム LSI 研究センター 〒814-0001 福岡市早良区百道浜 3-8-33-3F
E-mail:†{y-kunitake,chiyo}@mickey.ai.kyutech.ac.jp,‡[email protected][email protected]
あらまし 回路のクリティカルパスが常には活性化されないことに着目し,積極的にタイミング違反を利用して
プロセッサの高速化や省電力化を図る方式を,われわれは検討してきた.残念ながら,これまで行ってきた評価は
十分であるとは言えない.プロセッサ全体を評価する際には,回路遅延を配慮できていなかった.一方,回路遅延
に配慮する場合には,演算器のみの評価に過ぎなかった.本稿では,演算器における遅延に配慮してプロセッサ全
体を評価した結果について述べる.
キーワード 性能ばらつき,回路遅延,シミュレーション,典型値指向設計手法
Considering Circuit Delay in Adders on Evaluation of
Constructive Timing Violation
Yuji Kunitake†
Akihiro Chiyonobu†
Koichiro Tanaka‡ and Toshinori Sato¶
†Department of Artificial Intelligence, Kyushu Institute of Technology, Japan
‡Center for Microelectronic Systems, Kyushu Institute of Technology, Japan
¶System LSI Research Center, Kyushu University, Japan
E-mail:†{y-kunitake,chiyo}@mickey.ai.kyutech.ac.jp,‡[email protected][email protected]
Abstract We have investigated a technique for microprocessors, which achieves both high performance and low power.
Based on the observation that critical paths in a circuit are not always active, we aggressively exploit timing violations in the
circuit, which do not actually occur. We call the technique Constructive Timing Violation (CTV). Unfortunately, until now, we
have evaluated the CTV without considering circuit delay. This paper presents evaluation results of a microprocessor utilizing
the CTV, with considering circuit delay in adders.
Keyword Performance variations,Circuit delay,Simulations,Typical-case design methodologies
1. は じ め に
典 型 値 に 最 適 化 し た 設 計 を 求 め ら れ る .CTV は 以 下 の
二つの現象を利用している.一つは,回路のクリティ
デ ィ ー プ サ ブ ミ ク ロ ン 化( deep submicron: DSM)の
カルパスが活性化されることは稀なことである.もう
進んだ半導体製造技術においては,従来行われてきた
一つは,クリティカルパスを活性化させる入力は極め
最悪値指向設計は不可能になると予想されている.
て限定されることである.言い換えると,設計時のタ
DSM で は ノ イ ズ や プ ロ セ ス ば ら つ き が 増 大 し ,さ ら に
イミング制約を緩和させたとしても,現実には回路の
電源電圧を低下させる必要も生じる.その結果,最悪
動作時にタイミングエラーが生じることは稀である.
値指向設計で必要となる設計マージンの確保が困難に
例 え ば ,約 80%の パ ス の 遅 延 は ク リ テ ィ カ ル パ ス 遅 延
な る .最 悪 値 で は な く 典 型 値 を 考 慮 し た , マ イ ク ロ プ
の 半 分 以 下 で あ る と 報 告 さ れ て い る [2].CTV は 回 路 レ
ロセッサの設計手法が求められている.
ベルでの投機実行を利用しているので,タイミングエ
建 設 的 タ イ ミ ン グ 違 反 手 法 ( Constructive Timing
ラーの結果ロジックに誤りを生じる可能性がある.そ
Violation: CTV) [1]は 上 述 の 状 況 を 考 慮 し た 設 計 手 法
れに対処するためのフォールトトレラント機構が必要
であり,そこでは設計者は極めて稀な最悪値ではなく
で あ る [3, 4, 5, 6].タ イ ミ ン グ エ ラ ー が 検 出 さ れ た 時 に
は,マイクロプロセッサに既に備わっている投機失敗
低レイテンシかつ高スループットという高性能を維持
からの回復機構を利用して,プロセッサ状態を回復さ
できるように設計されるが,タイミング違反が発生す
せ る .CTV は 動 作 速 度 を 向 上 さ せ る 目 的 [1]の み な ら ず ,
る可能性を秘めている.チェック部はタイミング違反
省 電 力 の 目 的 [3]で も 利 用 可 能 で あ る .本 方 式 は 故 障 確
を生じないように設計されており,メイン部の入出力
率が高いほど性能が低下するため,これまでに履歴を
が入力されメイン部のタイミング違反を検出する.
用 い る こ と で CTV を 適 用 す る 際 に 被 る 性 能 低 下 を 抑
こ れ ま で に ,回 路 を 多 重 化 す る 方 式 [1, 3, 5]と ,パ イ
制 す る 方 法 を 検 討 し て き た [4].残 念 な が ら こ れ ま で の
プ ラ イ ン 処 理 を 利 用 す る 方 式 [6],そ し て 加 算 比 較 器 を
評 価 で は ,CTV を 適 用 し た 演 算 器 の 評 価 で の み 回 路 遅
応 用 す る 方 式 [7]を 検 討 し て き た .図 2 に 多 重 化 方 式 の
延を考慮しており,プロセッサ全体の評価では回路遅
CTV を 施 さ れ た 加 算 器 を 示 す .高 周 波 数 を 供 給 さ れ る
延は正確に配慮されていなかった.本稿では,回路遅
メイン部加算器と,低周波数を供給される二つのチェ
延を考慮しながらプロセッサ全体での性能評価を行う.
ック部加算器から構成されている.メイン部とチェッ
ク部の加算器の演算結果を比較することで,タイミン
2. 建 設 的 タ イ ミ ン グ 違 反 方 式
グエラーを検出できる.高いスループットを維持する
ために,二つのチェック部加算器が交互にメイン部加
ディープサブミクロン化により,従来の保守的な設
算器の結果をチェックしている.
計手法である最悪ケースを考慮した方法では,近い将
来 LSI の 設 計 は 不 可 能 に な る と 予 想 さ れ て い る . デ ィ
ープサブミクロン化したプロセス技術では,ノイズや
プロセスばらつきが増大している.加えて電源電圧を
下げる必要があり,さらにノイズ耐性の悪化に拍車を
かけている.このような条件化では,最悪ケースを考
OP1
OP2
fL
難 で あ る . 以 上 を 踏 ま え 我 々 は , LSI の 設 計 制 約 を 楽
許容し,そのかわりにタイミング違反に対するフォー
=?
detect
=?
detect
main
ALU
慮するための設計マージンを確保することが非常に困
観的に考えてタイミング違反による動作異常の状態を
checker
part
checker
ALU
fH
checker
ALU
ルトトレランス機構を備えることを提案している.こ
れ が CTV と 呼 ん で い る 手 法 で あ る [1].
fL
図 2: CTV を 施 さ れ た 加 算 器
タイミング違反が検出されると,何らかの方法でプ
ロセッサの状態を正常に回復する必要がある.そのた
めには,現在のマイクロプロセッサに既に備わってい
る投機的実行方式のための機構を利用できる.プログ
ラムの実行中に分岐命令が現われると,分岐の方向が
決定される前に予測に基づいて将来実行されると期待
図 1: 建 設 的 タ イ ミ ン グ 違 反 方 式
で き る 命 令 を 実 行 す る .分 岐 予 測 に 失 敗 し た 場 合 に は ,
プロセッサの状態を投機開始前の状態に回復させなけ
CTV の 基 本 的 な 考 え 方 を ,図 1 で 説 明 す る .CTV で
ればならない.この場合,プロセッサは予測に失敗し
は,設計時に検出されたタイミング違反が実行時には
た 命 令 以 降 を 全 て 破 棄 し ,命 令 フ ェ ッ チ か ら や り 直 す .
発生しないと仮定している.回路レベルで投機的実行
容易に判るように,これらはいま必要としているタイ
を行っており,タイミング違反を検出する機構と違反
ミ ン グ 違 反 か ら の 回 復 と 非 常 に 類 似 し て い る .つ ま り ,
検出時にプロセッサの状態を正常に回復させる機構と
タイミング違反を生じた命令を投機に失敗した命令で
が必要となる.図 1 では回復機構は省略されている.
あると読み替えることで,回復機構を実現できる.タ
図 に 示 さ れ て い る 通 り ,CTV 方 式 で 設 計 さ れ た 回 路 は
イミング違反を起こした命令は再実行されないことに
メ イ ン 部( 図 の main part)と チ ェ ッ ク 部( 図 の checker
注意されたい.正しい結果はチェック部で求められて
part) か ら 構 成 さ れ る . メ イ ン 部 は 元 の 回 路 で あ り ,
おり,それを用いて以降の処理を進める.したがって
処理がデッドロックに陥る心配は無い.この方法を用
ら 獲 得 さ れ た 値 を 採 用 す る . 一 方 , チ ェ ッ ク 部 は RC
いれば,タイミング違反からの回復を実現するハード
のヒット/ミスヒットにかかわらず故障検出を行う.
ウエアを改めて用意する必要はなく,ハードウエアの
キャッシュにヒットした場合,故障が起こるかの検証
オーバヘッドは極めて小さい.
を行っても故障は検出されない.キャッシュにヒット
し た 演 算 の 検 証 は 無 駄 の よ う に 思 え る . し か し RC に
ヒットするか否かで故障検出を行うか否かを決めるの
3. 性 能 低 下 の 抑 制 手 法
は故障検出機構のパイプラインスケジューリングを複
信号遅延で生じるタイミングエラーは,実行される
雑にし,故障検出機構の動作速度を低下させてしまう
命 令 や CTV を 適 用 し た 回 路 の 特 性 に よ っ て エ ラ ー を
恐れがある.したがって故障の検証を行う必要がない
生じる命令や演算に偏りがある.この偏りを把握し利
場合でも検証を行うようにする.
用することで,タイミングエラーがあらかじめ起こる
本 手 法 で 利 用 す る RC は 故 障 を 回 避 す る 目 的 で 利 用
ことを予測する.エラーを生じさせない対策をとるこ
する.したがって,キャッシュには過去に故障を起こ
とで,プロセッサ状態を回復させるペナルティを被る
した演算の正しい結果のみを保持する.もしキャッシ
ことを避ける.これまでに,同じ命令が何度も故障を
ュ に 存 在 す る 演 算 を 実 行 す る な ら ば , RC 内 の 値 を 実
起こす可能性が高い,あるいは,同じ演算が何度も故
行結果として用いる.これにより正しい結果を得られ
障を起こす可能性が高い,という特徴を利用した方式
るため故障を回避できる.ただし性能低下を避けるた
を 提 案 し て い る [4].
めには,演算器と同じレイテンシでアクセスできる必
要がある.
3.1. 演 算 結 果 キャッシュ
3.2. 故 障 履 歴 バッファ
演 算 結 果 キ ャ ッ シ ュ (Result cache: RC)は 過 去 に 行 っ
た 演 算 を 保 持 し て い る [8]. 図 3 に RC の 構 成 を 示 す .
故 障 履 歴 バ ッ フ ァ (Fault History Buffer: FHB)は 過 去
キャッシュアクセスには演算オペランドをハッシュ関
に 故 障 を 起 こ し た 命 令 の プ ロ グ ラ ム カ ウ ン タ( PC)を
数にかけた値を用いる.ハッシュ値の下位ビットをイ
保 持 す る バ ッ フ ァ で あ る .図 4 に 構 成 を 示 す .PC の 下
ン デ ク ス と し ,キ ャ ッ シ ュ ラ イ ン に ア ク セ ス す る .RC
位ビットをインデックスとしてバッファにアクセスす
のタグにはハッシュ値の上位ビットが格納されている.
る . FHB の タ グ に は PC の 上 位 ビ ッ ト が 格 納 さ れ て い
したがって,ハッシュ値の上位ビットとタグを比較し
る . し た が っ て PC の 上 位 ビ ッ ト と タ グ を 比 較 し て 等
て等しければキャッシュヒットとなりキャッシュに格
しければキャッシュヒットとなり,等しくなければミ
納されている値を出力する.等しくなければミスヒッ
スヒットとなる.ミスヒットの場合は通常の実行を行
トとなる.
い 故 障 検 出 機 構 で 検 証 を 行 う .一 方 FHB 内 に 実 行 さ れ
op1
る 命 令 の PC が 存 在 す る 場 合 に は , 故 障 を 起 こ す 命 令
op2
と判断して,安全で低速な故障検出機構に搭載されて
い る ALU で 実 行 す る .こ れ に よ り 演 算 レ イ テ ン シ は 増
hash
function
加 す る が ,故 障 を 回 避 す る こ と が で き る .FHB へ の エ
ントリ追加は故障検出機構で故障が検出された場合に
tag
data
行う.
・
・・
・
・・
PC
tag
・
・・
=?
Hit
value
図 3: 演 算 結 果 キ ャ ッ シ ュ
キ ャ ッ シ ュ ア ク セ ス は メ イ ン 部 ALU の 演 算 と 同 時
に 行 わ れ る .RC に ヒ ッ ト し た 場 合 ,演 算 結 果 は RC か
=?
Hit
図 4: 故 障 履 歴 バ ッ フ ァ
netlist
Func-level
simulator
stimulus
spec
Gate-level
simulator
config
Arch-level
simulator
delay info
metrics
workload
図 6: シ ミ ュ レ ー シ ョ ン フ ロ ー
4. 評 価 方 法
時間を求め,動作周波数を決定する.シミュレーショ
ン に は ケ イ デ ン ス 社 の Verilog-XL を 使 用 す る .
採用したプロセッサモデルは 4 命令並列のアウトオ
ブ オ ー ダ・ス ー パ ー ス カ ラ プ ロ セ ッ サ で あ る .CTV を
A[31:25]
A[24:19]
A[18:13]
A[12:8]
A[7:4]
A[3:0]
施す対象は,図 2 に示した回路多重化方式に基づく加
B[31:25]
B[24:19]
B[18:13]
B[12:8]
B[7:4]
B[3:0]
算 器 [1, 3, 5]と す る .メ イ ン 部 に は チ ェ ッ ク 部 の 2 倍 の
7b RCA
0
6b RCA
0
6b RCA
0
5b RCA
0
4b RCA
0
クロックを供給する.したがって,タイミングエラー
7b RCA
1
6b RCA
1
6b RCA
1
5b RCA
1
4b RCA
1
4b RCA
Cin
が発生しなければプロセッサ性能は二倍に向上する.
タイミングエラーの検出には 2 サイクルのレイテンシ
S[32:25]
S[24:19]
S[18:13]
S[12:8]
S[7:4]
S[3:0]
図 5: キ ャ リ ー 選 択 加 算 器
を必要とすると仮定する.タイミングエラーが検出さ
れると,分岐予測で用いられる予測失敗からの回復機
構 を 用 い て パ イ プ ラ イ ン を フ ラ ッ シ ュ す る .RC と FHB
最 後 に , MASE シ ミ ュ レ ー タ [11]を 利 用 し て ア ー キ
は そ れ ぞ れ 2~ 64 エ ン ト リ お よ び 32~ 1024 エ ン ト リ と
テクチャレベルのシミュレータを構築する.このシミ
する.
ュレータは,ゲートレベルシミュレーションで獲得さ
ベ ン チ マ ー ク プ ロ グ ラ ム に は , SPEC2000 か ら
れた遅延情報を与えられると,内部で遅延情報テーブ
164.gzip, 175.vpr, 176.gcc, 197.parser, 255.vortex そ
ル を 作 成 す る . CSLA へ の 入 力 オ ペ ラ ン ド を 用 い て テ
し て 256.bzip を 選 ん で 使 用 す る .
ーブルを参照すると,回路を考慮した遅延時間が獲得
回路遅延を考慮できるアーキテクチャレベルのシ
できる.テーブル参照の時間を短縮するために,テー
ミ ュ レ ー シ ョ ン 環 境 を 構 築 し た [9] . ま ず 最 初 に
ブルにはタイミングエラーを生じるオペランドについ
SimPoint [10] を 用 い て , 各 プ ロ グ ラ ム の 特 徴 的 な
てのみ登録する.こうして,回路遅延を考慮できるア
10,000 命 令 を 抽 出 す る .こ の 時 に は SimpleSclar ツ ー ル
ーキテクチャレベルのシミュレーションが可能になる.
セ ッ ト [11]が 提 供 し て い る 命 令 レ ベ ル シ ミ ュ レ ー タ を
シ ミ ュ レ ー シ ョ ン の 対 象 は , SimPoint で 抽 出 さ れ た
利用する.シミュレーション対象の命令数が非常に少
10,000 命 令 で あ る .
ない理由は,後に述べるようにゲートレベルのシミュ
以上のシミュレーションフローを図 6 に示す.
レーションを実施する必要があるからである.
続いて,ゲートレベルシミュレーションを実施する.
5. 結 果
この際には加算器のネットリストが必要である.
Verilog-HDL を 用 い て ,図 5 に 示 す 32 ビ ッ ト の キ ャ リ
図 7 に タ イ ミ ン グ エ ラ ー 率 を 示 す .CSLA に の み CTV
ー 選 択 加 算 器( Carry Select Adder: CSLA)を 設 計 し た .
が施されているので,加減算命令を対象として調査し
ビ ッ ト 幅 の 異 な る 13 個 の キ ャ リ ー 伝 播 加 算 器( Ripple
ている.いずれのプログラムでも高いエラー率となっ
Carry Adder: RCA) か ら 構 成 さ れ て い る . 論 理 合 成 時
て お り ,平 均 で 55.9%に 至 っ て い る .以 前 に 実 施 し た ,
に遅延情報を持つ論理素子ライブラリを使用すること
回路遅延を考慮できないアーキテクチャレベルのシミ
により,回路に遅延を付加させる.今回使用するライ
ュ レ ー シ ョ ン 結 果 [4]に よ る と ,エ ラ ー 率 が 15%を 超 え
ブ ラ リ は VDEC か ら 提 供 さ れ て い る 日 立 製 0.18μ m プ
る辺りでプロセッサ性能が低下する.このことより,
ロ セ ス ASIC ラ イ ブ ラ リ で あ る . 論 理 合 成 に は シ ノ プ
図 6 に示されるエラー率ではプロセッサ性能の改善は
シ ス 社 の DesignCompiler を 用 い ,遅 延 情 報 を 含 む ネ ッ
望 め な い と 予 想 で き る .ま た [4]で 実 施 し た 評 価 で は タ
トリストを出力する.得られた遅延情報から最大遅延
イ ミ ン グ エ ラ ー 率 を 30%と 仮 定 し て RC と FHB の 評 価
を行っているが,それでは正確な評価となっていなか
0
ったことが確認できる.
2
4
8
16
32
64
%Relative IPC
70%
60%
50%
40%
30%
20%
10%
0%
80%
60%
40%
20%
図 7: タ イ ミ ン グ エ ラ ー 率
av
er
ag
e
16
4.
gz
ip
17
5.
vp
r
17
6.
gc
c
19
7.
pa
rse
r
25
5.
vo
rte
x
25
6.
bz
ip
2
0%
17
5.
vp
r
17
6.
gc
c
19
7.
pa
rse
r
25
5.
vo
tex
25
6.
bz
ip
2
av
er
ag
e
16
4.
gz
ip
%Error rate
100%
図 9: RC の 効 果
容易にわかるように,エントリ数の増加にしたがっ
て ,単 調 に IPC が 回 復 さ れ て い る .し か し ,64 エ ン ト
図 8 に プ ロ セ ッ サ 性 能 を ま と め た .CTV を 用 い な い ,
リ で も 平 均 で 60.0% ま で し か 回 復 で き ず , 特 に
つまり動作周波数を二倍にしていない,ベースライン
255.parser で は 依 然 と し て ベ ー ス ラ イ ン よ り も 性 能 が
のプロセッサモデルの性能からの相対値である.上の
低くなっている.
予想どおり,ほとんどのプログラムでプロセッサ性能
図 10 は FHB の 効 果 を 調 査 し た 結 果 で あ る . 同 様 に
が 低 下 し て い る . 平 均 で 32.5%の 低 下 と な っ て い る .
IPC の 相 対 値 を 用 い て 評 価 し て い る . FHB の エ ン ト リ
性能改善を達成できたのは,比較的タイミングエラー
数 は 32~ 1024 の 間 で 変 化 さ せ た .RC よ り も エ ン ト リ
率 の 小 さ か っ た 256.bzip2 の み で あ る . 容 易 に 予 想 さ
数 が 大 き い の は , FHB は RC よ り も ハ ー ド ウ エ ア が 単
れ る こ と だ が , 255.vortex を 除 い て , タ イ ミ ン グ エ ラ
純なため,同じアクセス時間で容量を増加できると期
ー率の大きなプログラムほど,性能低下が著しいとい
待されることが理由である.
1024
av
er
ag
e
32
64
128
256
%Relative IPC
100%
100%
80%
60%
40%
20%
80%
60%
40%
20%
0%
av
er
ag
e
0%
16
4.
gz
ip
17
5.
vp
r
17
6.
gc
c
25
5.
pa
rse
r
19
7.
vo
rte
x
25
6.
bz
ip
2
%Relative performance
0
120%
512
16
4.
gz
ip
17
5.
vp
r
17
6.
gc
c
19
7.
pa
rse
r
25
5.
vo
r te
x
25
6.
bz
ip
2
うことが観察される.
図 10: FHB の 効 果
図 8: プ ロ セ ッ サ 性 能
175.vpr と 197.vortex を 除 い て ,小 さ な エ ン ト リ 数 で
つ づ い て RC の 効 果 を 評 価 す る . 図 9 は シ ミ ュ レ ー
も 効 果 的 に IPC を 回 復 で き て い る こ と が 観 察 で き る .
ション結果である.以降の評価ではサイクルあたりの
128 エ ン ト リ あ れ ば , 平 均 で 81.0%ま で IPC が 回 復 さ
コ ミ ッ ト 命 令 数( committed Instructions Per Cycle: IPC)
れ て い る . 上 記 の 二 つ の プ ロ グ ラ ム に つ い て は , 128
を 用 い る . 縦 軸 は , ベ ー ス ラ イ ン モ デ ル の IPC か ら の
エントリではようやくプロセッサ性能を回復できるに
相 対 値 を 示 し て い る . し た が っ て , こ の 値 が 50%以 下
過ぎない.
になるとプロセッサ性能が低下していることに相当す
図 11 で は RC と FHB を 組 み 合 わ せ る 効 果 を 調 査 し
る .RC の エ ン ト リ 数 を 2 か ら 64 ま で 変 化 さ せ て 評 価
ている.各プログラムの 4 本のグラフは,左からそれ
し た . 各 プ ロ グ ラ ム の 7 本 の グ ラ フ は , 各 RC エ ン ト
ぞ れ , CTV の み を 採 用 し た 場 合 , CTV に 64 エ ン ト リ
リ 数 に 対 応 し た IPC の 相 対 値 で あ る .
の RC の み を 追 加 し た 場 合 ,CTV に 512 エ ン ト リ の FHB
の み を 追 加 し た 場 合 ,そ し て ,CTV に 両 者 を 追 加 し た
場合のシミュレーション結果を表している.
RC と FHB へ の ア ク セ ス 方 法 は 以 下 の と お り で あ る .
今 後 の 課 題 は ,CTV を 消 費 電 力 削 減 の 目 的 で 利 用 す
る 時 の RC と FHB の 効 果 ,特 に 両 機 構 が 消 費 す る 電 力
の影響を調査することである.
ま ず RC へ ア ク セ ス し ,ヒ ッ ト し な い 場 合 の み FHB へ
ア ク セ ス す る .RC ヒ ッ ト 時 に は ,RC か ら 獲 得 さ れ た
謝辞
値 を 演 算 結 果 と す る .FHB ヒ ッ ト 時 に は ,タ イ ミ ン グ
エ ラ ー 検 出 機 構 で 演 算 を 行 っ た 結 果 を 採 用 す る . RC
本 研 究 の 一 部 は , 科 学 研 究 費 補 助 金 ( No.16300019,
にヒットしない場合には,メイン部の演算結果をタイ
No.176549 ) の 援 助 に よ る も の で す . な お , 東 京 大 学
ミングエラー検出機構で検証する.この時にタイミン
VDEC を 通 じ て 提 供 し て い た だ い た 株 式 会 社 日 立 製
グ エ ラ ー が 検 出 さ れ れ ば , RC と FHB の 両 方 に エ ン ト
作 所 製 の LSI 設 計 用 ラ イ ブ ラ リ を 使 用 し て い ま す .
リを追加する.
文
CTV
w/RC
w/FHB
both
%Relative IPC
100%
80%
60%
40%
20%
av
er
ag
e
16
4.
gz
ip
17
5.
vp
r
17
6.
gc
c
19
7.
pa
rse
r
25
5.
vo
rte
x
25
6.
bz
ip
2
0%
図 11: 組 合 せ の 効 果
興 味 深 い の は , 255.vortex で は FHB よ り も RC の 方
が効果的であることである.このような場合でも,両
者を組み合わせることで相乗効果が得られることがわ
か る . 平 均 で 89.2%ま で IPC を 回 復 で き て い る . た だ
し ,256.bzip2 で は 両 者 を 組 み 合 わ せ る と ,FHB 単 独 よ
りも効果が低下している.
6. ま と め
CTV を 適 用 し た マ イ ク ロ プ ロ セ ッ サ に お い て ,タ イ
ミングエラー検出のために生じる性能低下を抑制する
気候を評価した.以前にアーキテクチャレベルの評価
を実施した際には,回路レベルの遅延を考慮できてい
なかった.今回,回路遅延を考慮できるアーキテクチ
ャレベルのシミュレータを構築し,提案機構の評価を
実施した.シミュレーションの結果,タイミングエラ
ー 率 は 以 前 に 想 定 し た 30% よ り も 大 き く , 平 均 で
55.9%で あ っ た . こ の た め プ ロ セ ッ サ 性 能 の 低 下 も 著
し い も の と な っ た が ,64 エ ン ト リ の RC を 用 い た 場 合
で 平 均 60%ま で ,128 エ ン ト リ の FHB を 用 い た 場 合 で
平 均 81.0%ま で , 64 エ ン ト リ の RC と 512 エ ン ト リ の
FHB の 組 み 合 わ せ の 場 合 で 平 均 89.2%ま で , IPC を 回
復できることを確認した.
献
[1] T. Sato and I. Arita, "Give up Meeting Timing
Constraints, but Tolerate Violations", COOL Chips
IV, 2001.
[2] K. Usami, M. Igarashi, F. Minami, T. Ishikawa, M.
Kanazawa, M. Ichida, and K. Nogami, "Automated
Low-power Technique Exploiting Multiple Supply
Voltages Applied to a Media Processor", IEEE
Journal of Solid State Circuit, Vol.33, No.3, 1998.
[3] 佐 藤 , 有 田 , "遅 延 故 障 を 考 慮 し た フ ォ ー ル ト ト レ
ラ ン ス 技 術 に 基 づ く 低 消 費 電 力 方 式 ", 信 学 技 報
VLD2001-5, 2001.
[4] 千 代 延 , 美 馬 , 佐 藤 , "タ イ ミ ン グ 違 反 を 利 用 し た
省電力プロセッサにおける履歴を用いた性能低
下 抑 制 手 法 ", 情 処 研 報 2005-ARC-167, 2006.
[5] 谷 野 , 佐 藤 , "建 設 的 タ イ ミ ン グ 違 反 方 式 に 基 づ く
ALU の HDL 設 計 と そ の 評 価 ", 信 学 技 報
ICD2002-212, 2003.
[6] 美 馬 , 佐 藤 , "建 設 的 タ イ ミ ン グ 違 反 方 式 を 適 用 し
た ALU の 改 良 と そ の 評 価 ", 情 処 研 報
2004-ARC-159, 2004.
[7] 山 原 , 美 馬 , 佐 藤 , "タ イ ミ ン グ 違 反 を 利 用 し た 省
電 力 ALU に お け る 違 反 検 出 回 路 の 高 速 化 手 法 と
そ の 評 価 ", 火 の 国 情 報 シ ン ポ ジ ウ ム , 2005.
[8] S. E. Richardson, "Exploiting Trivial and Redundant
Computation", 11th International Symposium on
Computer Arithmetic, 1993.
[9] 国 武 , 千 代 延 , 田 中 , 佐 藤 , "タ イ ミ ン グ 違 反 を 積
極的に利用するプロセッサの評価のための回路
遅延を考慮するアーキテクチャレベル評価環境
の 構 築 ", DA シ ン ポ ジ ウ ム , 2006.
[10] G. Hamerly, E. Perelman, J. Lau, and B. Calder,
"SimPoint 3.0: faster and more flexible program
analysis", Workshop on Modeling, Benchmarking
and Simulation, 2005.
[11] T. Austin, E. Larson, and D. Ernst, "SimpleScalar: an
infrastructure for computer system modeling", IEEE
Computer, Vol. 35, No. 2, 2002.