データパス分割に基づく空間的冗長性 を利用した高信頼プロセッサ

Download Report

Transcript データパス分割に基づく空間的冗長性 を利用した高信頼プロセッサ

データパス分割に基づく空間的冗長性
を利用した高信頼プロセッサ
福岡大学
◎松坂茂治
September 8, 2004
井上弘士
1
発表内容
はじめに
データパス分割に基づく空間的冗長性
単純多重化方式
圧縮多重化方式
性能評価
おわりに
September 8, 2004
2
はじめに
コンピュータ・システムの障害が重大な影響を及ぼす分野
オンライン・
トランザクション処理
人工衛星
医療
交通制御
高信頼化が必要不可欠
コンピュータ・システムの核となるプロセッサの
信頼性を向上することが極めて重要
September 8, 2004
3
LSI故障
永久故障(permanent fault)
長期間にわたって存在する故障
発生原因
半導体接合の破壊、回路短絡、断線など
システムの内部的要因
一時故障(temporary fault)
システムの稼動サイクルと比較して非常に
短い期間だけ存在する故障
発生原因
温度の変化、振動、α粒子や宇宙線など
システムの外部的要因
September 8, 2004
4
故障検出方式
時間的冗長性
プロセッサ
空間的冗長性
プロセッサ
プロセッサ
検出方法
コスト
実行時間
検出可能な
故障
September 8, 2004
=?
=?
一時故障
永久故障
一時故障
☺
☹
☹
☺
5
研究目的
永久故障を検出するには…
空間的冗長性が必要!!
欠点:ハードウェア・コストの増加
ハードウェア・コストを増大させずに空間的冗長性を実現
データパス分割方式
単純多重化方式
コスト
実行時間
September 8, 2004
☺
☹
圧縮多重化方式
☺
☺
6
単純多重化方式
32bit×1[冗長度1]
16bit×2 [冗長度2]
32bit
H1
H1
H1
H0
H0
H0
L1
L1
L1
L1
H1
L1
H1
L1
H1
L0
L0
L0
3CC
Instruction1
Instruction2
Instruction3
16bit
16bit
L0
H0
L0
H0
L0
H0
L1
H1
L1
H1
L1
H1
6CC
欠点
実行時間増加:冗長度2⇒2倍
冗長度4⇒4倍
September 8, 2004
L0
H0
L0
H0
L0
H0
8bit×4 [冗長度4]
8bit
8bit
8bit
8bit
L0
L1
H0
H1
L0
L1
H0
H1
L0
L1
H0
H1
12CC
L0
L1
H0
H1
L0
L1
H0
H1
L0
L1
H0
H1
L0
L1
H0
H1
L0
L1
H0
H1
L0
L1
H0
H1
L0
L1
H0
H1
L0
L1
H0
H1
L0
L1
H0
H1
永久故障も検出可能
7
圧縮多重化方式
命令が使用するデータ
0000 0000
0000 0000
1111 1111
0000 0000
0101 0110
1111 1111
0000 0000
0000 0000
0010
0100
1111
0000
1011
1101
0100
0000
1111
0011
1001
0101
1011
1101
1001
0110
演算には不必要なデータ
演算に必要なデータ
演算時に必要となる最小ビット幅
データパス幅
September 8, 2004
8
圧縮多重化方式
32bit×1[冗長度1]
16bit×2 [冗長度2]
32bit
H1
H1
H1
H0
H0
H0
L1
L1
L1
16bit
L0
L0
L0
L1
H1
L1
H1
L1
H1
3CC
Instruction1
L0
H0
L0
H0
L0
H0
16bit
L1
H1
L1
H1
L1
H1
L0
H0
L0
H0
L0
H0
6CC
Instruction2
Instruction3
有効演算ビット幅≦分割後のデータパス幅
32bit
H1
H1
H1
3CC
September 8, 2004
H0
H0
H0
L1
L1
L1
16bit
L0
L0
L0
L1
L1
L1
3CC
L0
L0
L0
16bit
L1
L1
L1
8bit×4 [冗長度4]
8bit
8bit
8bit
8bit
L0
L1
H0
H1
L0
L1
H0
H1
L0
L1
H0
H1
12CC
L0
L1
H0
H1
L0
L1
H0
H1
L0
L1
H0
H1
L0
L1
H0
H1
L0
L1
H0
H1
L0
L1
H0
H1
L0
L1
H0
H1
L0
L1
H0
H1
L0
L1
H0
H1
8bit
8bit
8bit
8bit
L0
L0
L0
L0
L0
L0
L0
L0
L0
L0
L0
L0
L0
L0
L0
3CC
9
データパス分割方法
静的データパス分割
プログラムコンパイル時にデータパス分割を見か
け上実現できるよう、オブジェクト・コードを生成
コンパイル時に有効演算ビット幅の解析が必要
動的データパス分割
プログラム実行時、専用ハードウェアによって命
令を分割実行
有効演算ビット幅を動的に解析する回路が必要
September 8, 2004
10
性能評価
評価目的
命令レベルのシミュレーションを行い、最善ケースでの
実行時間増加を測定し、システムの有効性を調査する
評価環境
シミュレータ
SimpleScalar(ver.3.0d)
ベンチマーク・プログラム
SPEC2000 整数プログラム
 164.gzip, 175.vpr, 176.gcc, 197.parser, 255.vortex, 256bzip
入力データ small input
September 8, 2004
11
プログラム実行時間
クロックサイクル時間
命令当たりの平均所要クロックサイクル数
実行命令数
冗長度2:ICorg + ICgt16b × 1
冗長度4:ICorg + ICgt8b × 3
ICorg :従来型32ビットデータパスでの実行命令数
ICgt16b :「有効演算ビット幅≧16」の命令数
ICgt8b :「有効演算ビット幅≧8」の命令数
September 8, 2004
12
正規化実行時間(圧縮多重化方式)
4.0
冗長度2
正規化実行時間 l
3.5
冗長度4
3.0
冗長度2
2.5
1.62
2.0
冗長度4
1.5
3.09
1.0
0.5
25
6.
bz
ip
17
5.
vp
r
17
6.
gc
c
18
1.
m
cf
19
7.
pa
rs
er
25
5.
vo
rt
ex
16
4.
gz
ip
0.0
benchmark
September 8, 2004
13
圧縮可能命令率
圧縮可能命令率
全命令中
の内訳
冗長度2
冗長度4
分岐命令
18.23%
82.43%
75.61%
load/store命令
37.32%
0.00%
0.00%
ALU命令
41.59%
52.62%
36.32%
その他
2.86%
0.00%
0.00%
さらに実行時間増加を減らすには??
コンパイラによるデータ再配置
ベース・アドレス専用圧縮方式の確立
September 8, 2004
14
おわりに
まとめ
データパス分割方式
 単純多重化方式
 圧縮多重化方式
実行時間増加
冗長度2 冗長度4
単純多重化方式
2.00
4.00
圧縮多重化方式
1.62
3.09
今後の課題
データパス分割をサポートしたプロセッサの設計
データパス分割実行の実現方式の確立
September 8, 2004
15
September 8, 2004
16
実行時間について
冗長度2
圧縮可能な命令数
圧縮不可能な命令数
従来型32ビットデータパスでの実行命令数
冗長度4
圧縮可能な命令数
圧縮不可能な命令数
圧縮可能な命令数
圧縮不可能な命令数
圧縮可能な命令数
圧縮不可能な命令数
従来型32ビットデータパスでの実行命令数
September 8, 2004
17