データパス分割に基づく 高信頼プロセッサの提案とその予備評価 ◎松坂茂治† 井上弘士‡ †福岡大学大学院工学研究科電子情報工学専攻 ‡九州大学大学院システム情報科学研究院 December 1, 2004 1 発表内容 背景 データパス分割に基づく空間的冗長性 単純多重化方式 圧縮多重化方式 性能評価 おわりに December 1, 2004 2 背 景 コンピュータ・システムの障害が重大な影響を及ぼす分野 オンライン・ トランザクション処理 人工衛星 医療 交通制御 高信頼化が必要不可欠 コンピュータ・システムの核であるプロセッサの 信頼性を向上することが極めて重要!! December 1, 2004 3 LSI故障 永久故障(permanent fault) 長期間にわたって存在する故障 発生原因 半導体接合の破壊、回路短絡、断線など システムの内部的要因 一時故障(temporary fault) システムの稼動サイクルと比較して非常に 短い期間だけ存在する故障 発生原因 温度の変化、振動、α粒子や宇宙線など システムの外部的要因 December 1, 2004 4 故障検出方式 時間的冗長性 プロセッサ 空間的冗長性 プロセッサ プロセッサ 検出方法 =? ハードウェア コスト 実行時間 検出可能な 故障 December 1, 2004 ☺ ☹ 一時故障 =? ☹ ☺ 永久故障 一時故障 5 研究目的 時間的冗長性 ハードウェア コスト 実行時間 検出可能な 故障 ☺ ☹ 空間的冗長性 一時故障 ☹ ☺ 永久故障 一時故障 ハードウェア・コストを増大させずに空間的冗長性を実現!! データパス分割方式 December 1, 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倍 December 1, 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 演算には不必要なデータ 演算に必要なデータ 有効演算ビット幅 多くのプログラムでは… データパス幅 > 有効演算ビット幅 実行時間オーバヘッドの削減 に利用できないか? データパス幅 December 1, 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 December 1, 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 従来型冗長性との比較 従来手法 一時故障 永久故障 時間的 冗長性 空間的 冗長性 ○ ○ ○ 提案手法 単純多重化 圧縮多重化 ○ ○ ○ ○ 実行時間 ハードウェア コスト December 1, 2004 10 データパス分割の実現 When? How? 静的データパス分割 プログラム実行以前 (コンパイル時) 専用コンパイラ 動的データパス分割 プログラム実行時 専用ハードウェア 利点 大幅なハードウェアの変 様々なプログラムに対 更なし して互換性をもつ 欠点 プログラム実行以前に 有効演算ビット幅の解 析が必要 December 1, 2004 ハードウェア・コストの 増加 11 静的データパス分割 32ビット プロセッサ アプリケーション プログラム コンパイラ 冗長度 オブジェクト・コード 32bit×1 16bit×2 December 1, 2004 8bit×4 12 故障の検出範囲 M U X 加 算 4 P C 読み出し アドレス 命令 メモリ 2ビット 左シフト 命令 読み出し レジスタ1 読み出し データ1 読み出し レジスタ2 レジスタ 書き込み レジスタ 読み出し データ2 書き込み データ 16 December 1, 2004 符号 拡張 加 ALU 算 結果 ALU ALU 結果 M U X 読み出し アドレス 読み出し データ M U X データ・ 書き込み メモリ データ 32 13 性能評価 評価目的 命令レベルのシミュレーションを行い、最善ケースでの 実行時間増加を測定し、提案手法の有効性を調査する 評価環境 シミュレータ SimpleScalar(ver.3.0d) ベンチマーク・プログラム SPEC2000 整数プログラム 164.gzip, 175.vpr, 176.gcc, 197.parser, 255.vortex, 256bzip 入力データ small input December 1, 2004 14 プログラム実行時間 クロックサイクル時間 命令当たりの平均所要クロックサイクル数 実行命令数 冗長度2:ICorg + ICgt16b × 1 冗長度4:ICorg + ICgt8b × 3 ICorg :従来型32ビットデータパスでの実行命令数 ICgt16b :「有効演算ビット幅≧16」の命令数 ICgt8b :「有効演算ビット幅≧8」の命令数 December 1, 2004 15 正規化実行時間(圧縮多重化方式) 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 December 1, 2004 16 圧縮可能命令率 圧縮可能命令率 全命令中 の内訳 冗長度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% さらに実行時間増加を減らすには?? コンパイラによるデータ再配置 ベース・アドレス専用圧縮方式の確立 December 1, 2004 17 おわりに まとめ データパス分割方式 単純多重化方式 圧縮多重化方式 実行時間増加 冗長度2 冗長度4 単純多重化方式 2.00 4.00 圧縮多重化方式 1.62 3.09 今後の課題 データパス分割をサポートしたプロセッサの設計 データパス分割実行の実現方式の確立 December 1, 2004 18
© Copyright 2024 ExpyDoc