データパス分割に基づく空間的冗長性 を利用した高信頼プロセッサ 福岡大学 ◎松坂茂治 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
© Copyright 2024 ExpyDoc