平成 22 年度

情報処理学会関西支部

支部大会

A-05

サイクルレベルの空間及び時間冗長化技術を融合させた高信頼プロセッサの提案
A Reliable Processor Based on Cycle Level Fusion of Space and Time Redundancy Techniques
渡邊良 二 †1
姚駿 †1
中田尚 †1
Ryoji WATANABEJun YAOTakashi NAKADA†1
嶋田創
中島康 彦 †1
Hajime SHIMADA Yasuhiko NAKASHIMA
ことを，回路合成結果とソフトウェア・シミュレータによる

1. は じ め にプロセッサ性能評価結果によって示す．以下では，2 章にお近年，半導体製造技術の微細化が進むにつれ，ビット反転いて先行研究について紹介し，3 章において提案構成についに必要な最小電荷量が減少し，内外ノイズの影響によって発て紹介する．そして，4 章で提案構成について評価結果を示生したビット反転により，回路が一時的に誤動作を起こす一し，5 章でまとめと今後の課題を述べる．

時故障の発生増加が懸念されている1) ．また，半導体の微細化による製造ばらつきの増加で正確な加工が困難となり，同時にチップ内配線も微細化するため断線が発生しやすくなり，
2)

2. 先 行 研 究
これまでに，時間冗長や空間冗長を応用したプロセッサが永久故障の発生増加も深刻な問題となる ．そこで，故障の多数提案されている．AR-SMT5) では時間冗長の技術を用い，増加という問題を解決しシステム性能の継続的な改良を進め単一の SMT（Simultaneous Multi-Threading）プロセッサ3)ていくために，空間冗長化や時間冗長化などの冗長化技術によって，スレッド・レベルでの時間冗長実行を行い故障検を用いて，故障を許容するような設計を採り入れたプロセッ

出/訂正を可能にしている．また，空間冗長化を用いたプロ

サが多数提案されている4)–7) ．

セッサとして，IBM の Z9906) では複製されたフェッチ・ユ

空間冗長化の中で幅広く使われている技術に Dual Mod-

ニット，デコーダ，実行ユニットで同一の処理を実行し，実行ular Redundancy（DMR），Triple Modular Redundancy

結果をチェックポイントアレイもしくはキャッシュにコミット（TMR）がある．DMR では 2 つの同一の回路からの出力をする際に比較することによりエラー検出を行う．CRTR7) で比較することにより故障を検出する．一時故障であれば，正は CMP（Chip Multi-Processor）内の異なるプロセッサを常な状態からの再実行によって，正常な動作を続けることが用いて，先行スレッド，追従スレッドと呼ばれる同一スレッできる．また，TMR では 3 つの同一の回路からの出力の多ドを実行し，結果を比較することにより故障の検出を行う手数決を採ることにより，故障の発生を隠蔽して実行を続ける法が提案されている．また，我々は文献 4) において，必要とことができる．この構成は，一時故障のみならず，永久故障される信頼性に応じて多重化に用いる回路数を動的に変更すの発生時にも正常な動作を続けることができる点でも優れてることによって，信頼性を確保するために必要な平均の電力いる．これらの構成の欠点として，回路面積や実行時の消費量を削減する DARA を提案しており，次節で本研究のベー電力が 2 倍，3 倍になるという点がある．

スとなる DARA の詳細を述べる．

この問題を緩和するために，我々は文献 4) においてパイプ

2.1 DARA による高信頼実行ライン・レベルでの多重化度を動的に変更可能にすることに

DARA は空間冗長化の代表的な手法である DMR，TMRより，信頼性を確保するために必要な電力コストを削減するを応用したプロセッサである．図 1 に DARA の概略図を示ことのできる Dynamic Adaptive Redundant Architecture

す．DARA は，命令フェッチ（IF），命令デコード（ID），（DARA）を提案した．また，我々は文献 8) において，DARAレジスタ値読み込み（RR），実行（EX），メモリアクセスのパイプライン構成を元に，本来多重化に用いられる 2 本の（MA），レジスタ値書き戻し（WB）の 6 ステージのパイプパイプラインを協調動作させることによって 1 つのスーパスラインが複数集まって構成される．各パイプラインは単純な

カラ・プロセッサとして動作させ，処理性能を向上する方法

スカラ・パイプラインであり，複数のパイプラインで同一のを示した．

処理を実行し，各々のパイプライン・レジスタの値を比較する

本稿ではこれまでの研究を発展させ，DARA の空間冗長化ことによってステージ・レベルでの故障検出を行う．従って，技術に時間冗長化技術を融合させ，DMR と同等の信頼性を各パイプライン・ステージには故障検出を行うために，図 1

持ち，文献 8) のスーパスカラ構成に近い性能を発揮する新しに示すような，自身と他のパイプラインが保持するパイプラい構成を提案する．そして，この構成が面積性能比に優れるイン・レジスタの値を比較するための比較器と，自身のパイ†1 奈良先端科学技術大学院大学
Nara Institute of Science and Technology

プライン・レジスタの値を他のパイプラインに渡すための通信路を有する．

ID/EX pipeline register

pipeline…

pipeline

IFpipeline

pipeline

ChipID

Comparator

RREX=?

LinkALU

EX/MA pipeline register

MAWB

図1

Link

Comparator

IFIFID

ID

RR

RR

ON

ONOFFIFEX

EX

MAMAONON

OFFON

ON

Split
off

3-1 MUX

5-1 MUX

ALU

Fowardingunit

ALU

Pipeline register

Pipe.reg.

Pipeline register

Pipe.reg.

C
図3=?

MEM & WB data

DMR

Permanentfault

ID

fault

ON

neighbor MEM & WB data

A

Register read data

WB WB B

TMR

Pipe.reg.

DMR/TMR Superscalar

DARA の概略図

DMR

Pipeline register

A=?

Comparator

B

C

DARA を用いた 2-way インオーダのスーパスカラ・プロセッサ

RR
EX

Transient
fault

MA

オーダ・スーパスカラ動作の実現のために必要な構成の変更

WB

例として，追加された結果フォワーディング・ユニットを示(a) Re-execution
図2(b) Diagnose(c) Execution

DARA における故障検出と通常実行への回復す．ここで，重要なことはあらかじめ用意されているパイプライン・レジスタの値を渡すためのネットワークは，他のパイプラインからの結果フォワーディングに用いることが可能

DARA の動作モデルを図 2 に示す．DARA は基本的な動であり，その他にも多くの既存パイプライン資源が利用可能作モードとして DMR 動作を採用している．図 1 に示したパであるため，ハードウェアの追加量を抑えることができるとイプライン同士を 2 つ接続し，同一の処理を実行する．故障いう点である．の検出はパイプライン・ステージごとにパイプライン・レジスタの値を比較することにより，故障の発生した個所と命令3. 空間/時間冗長を融合したプロセッサの提案を特定する．DMR 動作中に故障が検出された場合，初期のDARA では，故障状況に応じた適応的な多重化を行うことに対応では故障が検出された命令の再実行を行う（図 2（a））．

より一時/永久故障の両方に対応可能であった．また，DARA検出された故障が一時故障である場合，誤動作を起こした命には豊富なパイプライン資源に加え，各々のパイプライン同令の再実行により訂正できる．しかし，繰返し同一の命令の士がネットワークを通じてパイプライン・レジスタの値を伝再実行を行っても故障を訂正できない場合には，その故障は搬できるという特徴がある．そこで，本章では上記のような永久故障であると判断し動作モードを永久故障箇所特定モー

DARA のパイプライン構成を利用し，信頼性を維持しつつ，ドに変更する．これは，基本の動作モードである DMR 構成

コスト対性能比を向上させる新しい構成の提案を行う．に，3 本目のパイプラインを接続し TMR 構成とするもので3.1 提案構成の概要ある（図 2（b））． TMR 構成において永久故障個所を特定

本節では，DARA のパイプラインを 3 本接続した構成をした後に，故障パイプラインを切り離し，再び DMR 構成でもとに，信頼性を維持しながらも，プロセッサの処理性能を命令の実行を継続する（図 2（c））．すなわち，DARA にお向上する構成を提案する．

いて TMR 構成は，永久故障が発生した個所を特定する場合DARA において，あらかじめ用意されているパイプラインにのみ用いられる．従って，DARA では一時/永久故障の両のうち 3 本を協調動作させることにより，最大で 3 命令を同方に対応可能であり，さらに，つねに TMR 構成とする手法時に実行できる．そこで，本提案では 3 本のパイプラインをに比べ，平均の消費電力を抑えることが可能となる．

用いて，1 クロック・サイクル中にデータ依存のない 2 命令

2.2 DARA による 2-way インオーダ・スーパスカラ実行の同時実行を行う．2 命令のうち 1 命令は複製し，2 本のパ

我々は文献 8) において，DARA の 2 本のパイプラインをイプラインで実行することにより空間冗長実行を適用し，残用いて，1 つの 2-way インオーダ実行スーパスカラ・プロセッ

りの 1 命令は次サイクルとの間で時間冗長実行を行う．各命サを構成する方法を提案した．DARA においてあらかじめ令はフェッチ時にその命令を DMR 動作による空間冗長実行用意されているパイプラインを 2 本用いて，故障検出のためを行うか，1 クロック・サイクル分の時間冗長実行を行うかに用意されたパイプライン・レジスタの値を他のパイプライが決まる．以降，パイプラインが空の状態からの実行を例示ンに渡すためのネットワークで接続し，協調動作をさせる．

する．3 本のパイプラインにおいて，最初の命令は複製し 2スーパスカラ実行を行うためには，新たに次命令フェッチ機本のパイプラインを用いて空間冗長実行する．このとき，2構や，レジスタ・ポート数の追加，その他に，結果フォワー番目の命令は残り 1 本のパイプラインが利用可能であるためディングや協調制御機構が必要である．図 3 に 2-way のイン

時間冗長実行の 1 度目の実行を行う．そして，次のサイクル

Superscalar

Delay Buffer

ALogicCopy
IF/ID Pipe reg
Di3

I3

Compare＝＝Logic
ID/RR Pipe reg
I2Logic

I2D====

RR ========
==

EX ==

Copy

WB ==

i2I2DSpace
Redundancy

BCi9i7i8i7i9i8i5i4

MAi6i4i3i2i6i5i3

WB

i1i1i2

Space & Time
Redundancy

IFID
RREX

in : Leading instruction
in : Trailing instruction

CompareI1D(a) Pipeline structure
図5＝＝

Logic

(b) Execution model

提案構成の構成図と命令の実行モデル

Copy

MA/WB Pipe reg

I1D

i1
in ：Leading instruction

3.1.2 3 本のパイプラインを利用した空間及び時間冗長を融合したスーパスカラの構成

In ：Trailing instruction

In ：Copy of Leading instruction
D

図4Pipeline

AC

IF ==
ID ==

MA ==

RR/EX Pipe reg

Logic
EX/MA Pipe reg
I1Bstage

Time Redundant pipeline
Original pipeline

DARA パイプラインを用いた時間冗長実行の構成

3.1.1 項で提案したパイプラインの時間冗長実行，文献 8)で提案した 2 本のパイプラインを用いたスーパスカラ実行のアイデアを用いて，3 本のパイプラインを用いた信頼性/性能において 1 本のパイプラインを用いて 2 番目の命令を再度実を両立するアーキテクチャを構成する．

行することにより，1 クロック・サイクル分の時間冗長実行

図 5（a）に提案構成の構成図を，図 5（b）に各パイプラを行い故障検出を行う．3 番目の命令は最初の命令と同様に，イン・ステージでの命令の実行モデルを示す．図 5（a）に示

残りの 2 本のパイプラインを利用することにより空間冗長実すように，パイプライン A は空間冗長実行を行う命令のみで行を行う．上記のように，空間冗長実行と時間冗長実行を融用いられ，パイプライン B，C は空間冗長実行と時間冗長実合することにより，3 本のパイプライン資源を最大限利用し，行を行う命令の両方で用いられる．また，図 5（b）の中で空信頼性を維持しながら性能を向上する構成を提案する．

間冗長実行されている命令は i1，i3，i4，i6，i7，i9 であり，

本節では，まず DARA のパイプラインでの時間冗長実行

時間冗長実行されている命令は i2，i5，i8 である．図 5（b）の実現について説明し，続いて 3 本のパイプラインを協調動に示すように，命令 i2，i5，i8 は異なるパイプラインを用い作させることによって，信頼性を維持し性能を改善する提案て時間冗長実行されている．このように，異なるパイプライ構成の詳細とその動作例について示す．

ンで時間冗長実行を行う理由は，3.1.1 項で示したような，同3.1.1 サイクルレベル時間冗長実行の追加

一のハードウェアで 1 クロック・サイクル分のみ間隔をあけ

本項では，DARA のパイプラインにおいてサイクル・レて時間冗長実行を行った場合，組み合わせ回路やラッチの一ベルの時間冗長実行を実現する方法について述べる．図 4 に時的なビット反転が複数サイクルにわたって生じる場合に対DARA のパイプラインをもとに構成した時間冗長実行パイプ応できないためである．複数サイクルにおよぶビット反転はラインを示す．時間冗長実行実現のため，もとのパイプライ半導体製造技術の微細化に伴って増加すると考えられており，ン構成に対してディレイ・バッファ（Delay Buﬀer）が追加

永久故障発生時も同様に時間冗長実行では対応できない．すされている．時間冗長実行パイプラインでは，フェッチされなわち，このような複数サイクルに及ぶ一時故障や，永久故た命令と同一の命令を，次のサイクルにもう一度フェッチし障を検出できない状況を回避するために時間冗長実行におけ1 サイクル分だけ遅れた時間冗長実行を行う．最初に実行する先行命令，追従命令を異なるパイプラインで実行する構成

る命令を先行命令（Leading instruction），続いて実行すを採用する．

る冗長命令を追従命令（Trailing instruction）と呼ぶ．時こうして構成された図 5（b）のような実行モデルにより，間冗長パイプラインでは，各ステージで実行された先行命令命令ごとに空間冗長，時間冗長どちらかの冗長実行を適用すの結果をディレイ・バッファに蓄える．そして，次のサイクることによって，命令の実行における誤動作を検出し，信頼ルに実行される追従命令の結果と，ディレイ・バッファ内に性を保証する．また，本構成では図 5（b）に示すような動作蓄えられている先行命令の結果を比較することによって故障を行うことによって，最大で 2 クロック・サイクル（CC）あ検出を行う．なお，パイプライン・レジスタとディレイ・バッ

たり 3 命令実行可能（最大 IPC1.5）なスーパスカラ・プロ

ファの内容の比較は，通常の DARA の動作と同様に次のスセッサの構成にもなっており，処理性能も改善することがでテージで行われる．これは，各ステージのクロック・サイクきる．

ル時間を増加させないためである．

3.2 提案構成の動作モデル
本節では，3.1.2 項で構成した提案構成が，実際にどのようAi2B ⇒ i2

IF = i3

IDRRAstagei2 == i2B
i3 =i1== i1
i2B ⇒ i2ID
RRB

i4 == i4

ID = i3

Delay
Buffer

Ai5B ⇒ i5

IF = i6

i3 =B
i2 ⇒ i2

i2 == i2i1 == i1IDB

Delay
Buffer

Ci1

i2i1

A B

C

IF i3i2i3

ID i1

i1

i2

RR

Pipeline

CAB

IF

i4

i3i4IDi2i2i3

RR i1i1

EXEXin 㻦㻌㼀㼞㼍㼕㼘㼕㼚㼓㻌㼕㼚㼟㼠㼞㼡㼏㼠㼕㼛㼚図 7 命令間に依存関係がある場合の動作とによって，性能低下を最小限に抑える手法を用いる．

i3 =i2 == i2Bi2B ⇒ i2i1 == i1

空間冗長実行している i3 の間にデータ依存がある場合を考えin 㻦㻌㻸㼑㼍㼐㼕㼚㼓㻌㼕㼚㼟㼠㼞㼡㼏㼠㼕㼛㼚 in 㻦㻌㼀㼞㼍㼕㼘㼕㼚㼓㻌㼕㼚㼟㼠㼞㼡㼏㼠㼕㼛㼚inB 㻦㻌㻯㼛㼜㼥㻌㼛㼒㻌㻸㼑㼍㼐㼕㼚㼓㻌㼕㼚㼟㼠㼞㼡㼏㼠㼕㼛㼚 == 㻦㻌㻯㼛㼙㼜㼍㼞㼑 ⇒ 㻦㻌㻯㼛㼜㼥
図6RRC

CC3

i6 =i5 == i5B
i5B ⇒ i5i4 == i4

RR = i3
EXEXID

A B

Pipelinein 㻦㻌㻸㼑㼍㼐㼕㼚㼓㻌㼕㼚㼟㼠㼞㼡㼏㼠㼕㼛㼚

Pipeline

CB

IF

CC2

Pipeline

EX

CC4

Pipeline

stage

CC3

RR

C

EX

EX

IF

B

Delay
Bufferstage

i1== i1

CC1

Pipeline

C
stage

stage

B

Delay
Buffer

stage

AIF

CC2

Pipeline

stage

CC1

提案プロセッサ内の実行命令の流れ

まず，図 6 の CC4 において時間冗長実行している i2 と，る．i2 の実行結果の正確性を確認後に i3 が i2 の結果を用いるためには，まず CC4 の次のサイクル CC5 において EX ス
テージで実行される i2 の追従命令とディレイ・バッファ内のi2 の先行命令の結果を比較し，命令 i2 の演算結果が正しいことを確認する．その後，CC6 において i3 に正しいことが確に命令を実行しているのかについて説明する．続いて，時間認された i2 の結果をフォワーディングすれば，i3 に使われる冗長実行による性能低下を最小限に抑えるためのデータ依存フォワーディング・データは正しいと言える．しかし，i3 はや分岐命令の取り扱い方について説明を行う．

CC5 で実行される i2 の追従命令の演算が完了した次のサイ

3.2.1 通 常 動 作

クル CC6 で実行されるため，i2 の時間冗長実行によって 1提案構成における命令の実行モデルについて説明する．図 6サイクル分性能は低下する．そこで，CC4 において演算されに提案構成のクロック・サイクル（CC）ごとの命令の実行状た i2 の先行命令の結果を i3 にフォワーディングし，CC5 で況を示す．まず，図 6 の CC1 においてパイプライン A，B でそのデータを用いて i3 の演算を行えば 1 サイクル分の性能低は同一の命令 i1 がフェッチされ，パイプライン C では次の命下を防止することができる．この場合，i2 の先行命令からの令 i2 がフェッチされる．このとき，パイプライン C でフェッフォワーディング・データは正しさが確認されていない．しチされた先行命令 i2 の結果はディレイ・バッファに蓄えられかし，i2 の先行命令の演算結果が間違っていた場合には CC5る．次に，CC2 においてパイプライン A，C では次の命令 i3で実行される i2 の追従命令との結果比較により誤動作は検出がフェッチされるが，パイプライン B では再度 i2 が追従命令できる．従って，i2 及びその後続命令はすべてフラッシュさとしてフェッチされる．このとき，ディレイ・バッファに蓄れ，再び i2 のフェッチから行われるため，投機的にデータをえられていた先行命令 i2B とフェッチしてきた追従命令 i2 をフォワーディングすることによる信頼性への影響はなく，性比較することによって，フェッチした命令の正しさを確認す

能低下も防止できる．

る．CC3 においても同様に，CC2 のパイプライン C の ID

次に，図 7 において空間冗長実行している i1 と，時間冗ステージでディレイ・バッファに保存された i2 の先行命令の長実行している i2 の間にデータ依存がある場合を考える．こ

結果と，CC3 のパイプライン B の ID ステージで実行されたの場合，i1 は空間冗長実行されているため，結果を投機的にi2 の追従命令の結果を比較することにより ID ステージの故フォワーディングすることができず，i2 は必ずストールしな障を検出することができる．以降のステージでも同様の処理ければならない．そこで，このような場合には i1 と i2 の間により故障を検出することが可能である．故障を検出した場の依存関係を CC2 の ID ステージにおいて，デコードした結合，故障が検出された命令と，後続命令をすべてフラッシュ果から検出し，図 7 の CC3 に示すように i2 を時間冗長実行し，命令を再実行する．

から空間冗長実行に切り替える．CC2 から CC3 にかけて先

3.2.2 命令間に依存関係がある場合

行命令 i2 をパイプライン C からパイプライン B に移すこと

AR-SMT や CRTR では，時間冗長実行する命令において，は，パイプライン・レジスタの値を渡すための通信路を用い最初に実行した命令の結果の正しさを確認する前にその結果ることにより容易に実現でき，他の命令も同様の方法でパイを投機的に用いることにより，命令間に存在する依存関係等プライン間を移動することができる．

を解消し，性能低下を最小限に抑える手法が採られている．

3.2.3 分 岐 命 令

そこで，本提案構成においても同様に命令間に依存関係があ

時間冗長実行している命令が分岐命令の場合は 3.2.2 項でる場合に時間冗長パイプラインで実行された先行命令の結果述べた，命令間に依存関係がある場合と同様に投機的な実行を，正確性が確認される前に投機的に後続の命令で用いるこを行うことにより性能低下を防ぐことができる．図 6 の CC4

表110.0×104
9.0×104評価値

8.0×10

DARA＋スーパスカラ化の資源

7.0×104

DARA＋スーパスカラ化の資源＋バッファ(バッファは全パイプライン・レジスタと同量）

4Gate number(in NAND2)

DARA をベースとしたの面積比率評価

DARA(ベース・パイプライン)

Pipeline 構成

ゲート数比率

バッファ追加による増加率 (%)(NAND2)
DARA

74583

100.0–

6.0×104＋ Superscalar 化の資源

84455

113.2–

5.0×10＋ Superscalar 化の資源

91908

123.2

10.0

4＋全パイプライン・4.0×104

レジスタ分のバッファ

3.0×104
2.0×104で面積の増加が見られ，パイプライン全体として 13.2%の面1.0×10積増加となった．特に RR ステージでは，スーパスカラによ40.0IDIFRREXMAWBAll Stage

Pipeline stage
図 8 各パイプライン構成におけるステージごとの面積評価

る 2 命令の同時実行を実現するために必要なレジスタ・ポート数の追加が影響し，39.6%の面積増加が発生した．
続いて，3.1.1 項で述べた，時間冗長実行を実現する構成を検討する．表 1 よりすべてのパイプライン・レジスタと同一において i2 が分岐命令である場合，CC4 で実行される i2 ののサイズのディレイ・バッファを用意し，時間冗長実行を実先行命令の分岐先アドレスの計算結果から投機的に次の命令現するには，ディレイ・バッファの追加によって 10.0%分ののフェッチを開始することによって 1CC 分の性能低下を防止面積増加が必要である．すなわち，提案構成を実現するためできる．投機的に分岐した後に，CC5 で実行される i2 の追には DARA のベース・パイプラインに対し，ディレイ・バッ従命令によって計算された分岐先アドレスと，CC4 でディレファに加えスーパスカラ化の資源も必要であるため，合計でイ・バッファに蓄えられた i2 の先行命令の分岐先アドレスを23.2%の面積増加が必要であることが分かった．

比較することにより誤動作は検出できる．すなわち，データ

4.2 性 能 評 価依存の場合と同様に，結果が間違っていれば後続の命令をす

本節では，3.1 節において提案した，2 サイクルで 3 命令べてフラッシュし，再実行を行うことによって投機的実行に実行可能な提案構成が，DARA のベース・パイプライン構成よる信頼性への影響はない．

や通常の 2-way インオーダ・スーパスカラ構成に対してどの

4. 評

価

3 章で提案した構成について面積及び性能について評価を行い，提案構成の有効性について検証する．

4.1 面 積 評 価程度の性能向上を達成できるのかを検討する．性能評価では，上記の各構成に対するサイクル・アキュレートのソフトウェア・シミュレータと Stanford ベンチマークを用いて評価した．
図 9 に各構成においてベンチマークを実行した結果を示す．
図 9 から，各構成での平均の IPC を見ると，2-way インオー

本節では 3 章において提案した構成について面積評価を行ダ・スーパスカラ構成では DARA のベース・パイプライン構う．提案構成の基本となる DARA の各パイプラインは，命成に対し 29.4%性能が向上しており，提案構成では 21.3%性

令長 16-bit の RISC 命令セットをもとに 6 ステージで設計さ能が向上した．すなわち，この結果から 2 サイクルで 3 命令れている．命令/データ・キャッシュは共用されており，今回実行できる提案構成では，2-way インオーダ・スーパスカラ構

使用したキャッシュ・サイズは 4Kbyte と設定した．上記のよ成での性能改善率に対して，73.3%分の性能改善を達成できてうに設計された DARA のパイプラインをもとに，文献 8) でいることが分かった．さらに，図 9 において，各ベンチマーク提案した DARA の 2 本のパイプラインをもとにした 2-way

における 2-way インオーダ・スーパスカラ構成の性能と提案

インオーダ・スーパスカラ構成と，3.1.2 項で構成を提案し構成の性能について見ると，Intmm，Trees では提案構成とた信頼性/性能を両立する提案構成について面積評価を行っ

2-way インオーダ・スーパスカラ構成においての性能差は殆た．RTL 実装には Verilog-HDL を用い，Synopsys Designどないことが分かる．しかし，Bubble，Towers，Perm におCompiler において Rohm 0.18µm cell library を用いて論理いては比較的大きな性能差が見られる．この原因は，DARA合成を行った．のベース・パイプライン構成での性能と 2-way インオーダ・

図 8 に各パイプライン構成において，パイプライン・ステースーパスカラ構成にした場合の性能の改善度に着目すると，ジ単位で論理合成を行った結果を示す．また，表 1 に各々のBubble，Towers，Perm においては性能が大幅に改善されて構成における面積を，DARA のベース・パイプラインを基準おり，プログラム中の命令レベル並列度が高く 2 命令同時実として比較した結果を示す．図 8 の結果から DARA のベー行できるパターンが多く存在していることが分かる．しかし

ス・パイプラインから 2-way のインオーダ・スーパスカラにながら，提案構成においては 2 サイクルで 3 命令実行というするためには，新たに次命令フェッチや結果フォワーディン制約があるために，2-way インオーダ・スーパスカラ構成でグなどのハードウェアが必要なため IF，RR，EX ステージは 2 命令同時実行できる状況においても，提案構成では 2 命

1.4のパイプライン構成をもとに拡張を行い，3 本のパイプライDARA

1.2ンを利用して信頼性を維持しながら，性能を改善できる新し提案アーキテクチャ

IPC

1.0

い構成の提案を行った．面積評価において DARA のベース・2wayスーパスカラ

パイプラインに対し，時間冗長実行とスーパスカラの機能を0.8付け加えるためには，パイプラインの面積が 23.2%増加する0.6ことを確認した．また，面積性能比の評価において，提案構

0.4

成は単純に空間冗長化によって信頼性を確保し，性能を改善する DMR-スーパスカラ構成に比べ面積性能比を 14.9%改善0.2することができた．
ge

今後の研究において，複数パイプラインを協調動作させた

ram

Aveswer

BenchmarksPerleTom
M

Bubb

T
FF

nsueckQ

Quieesm

Trtm

InPuzzle

0.0

場合のクリティカル・パスの増加や，時間冗長実行のための最適なバッファ配置などの検討を行っていく予定である．

図 9 提案構成の性能評価

謝表2

Pipeline 構成

辞

提案構成の面積性能比評価

本研究の一部は科学技術振興機構・戦略的創造研究推進事

評価値

業の協力により行われたものである．また，本研究は東京大

ゲート数

平均 IPC

面積性能比(正規化値)(NAND2)
提案構成

275724

0.947

0.660

DMR-スーパスカラ

337820

1.011

0.575

令を同時に実行できない場合がある．そのため，2-way イン
オーダ・スーパスカラ構成で同時実行できる命令の割合が増えるにしたがって，提案構成では同時実行できない状況が増え，性能に差が生じたと考えられる．

4.3 提案構成の面積性能評価
DARA のパイプライン構成を利用して信頼性を維持し，性能を改善する単純なアイデアとして，3.1 節で提案した構成の他に 4 本のパイプラインを用いて性能を改善する構成がある．
まず，4 本のパイプラインのうち 2 本ずつをペアとして 2 本の DMR 構成のパイプラインを作る．そして，2 本の DMRパイプラインを文献 8) で提案した方法により 2-way インオー
ダ・スーパスカラ化することにより，すべての命令で空間冗長実行を行えるため信頼性を低下することなく，さらに性能も改善できる．
本節では，4 本のパイプラインを利用した構成を DMR-スーパスカラ構成と呼び，3.1 節で提案した提案構成と共に面積性能比を評価した．3 本のパイプラインを利用した提案構成では，3 本すべてのパイプラインにスーパスカラ実行と時間冗長実行の機能を持たせた構成を提案構成として評価を行った．
表 2 に各構成での面積性能比の評価結果を示す．表 2 における面積性能比は，DARA の基本構成である DMR 構成の性能，面積で正規化した値となっている．この結果から各構成における面積性能比は提案構成で 0.660，DMR-スーパスカラ構成では 0.575 と，提案構成は 4 本のパイプラインを用いて単純な空間冗長構成とする構成に比べ面積性能比が 14.9%良いことが分かった．

5. ま と め
本稿では，冗長化度変更可能なアーキテクチャである DARA

学大規模集積システム設計教育研究センターを通し，シノプ
シス株式会社，日本ケイデンス株式会社，ローム株式会社の協力で行われたものである．

参 考文献

1) P. Shivakumar, et al. “Modeling the Eﬀect of Technology Trends on the Soft Error Rate of Combinational Logic”, In Proceedings of the 2002 International
Conference on Dependable Systems and Networks, pp.
389-398, 2002.
2) J. Srinivasan, et al. “The Impact of Technology Scaling on Lifetime Reliability”, In Proceedings of the2004 International Conference on Dependable Systemsand Networks, pp. 177-186, 2004.
3) S. Mitra, et al. “Robust System Design with Built-In
Soft Error Resilience”, IEEE Computer, vol. 38, no.
2, pp. 43-52, 2005.
4) Jun Yao, et al. “A Scalable Pipeline Design for Modularizing High Dependable Framework via Spatial Redundancy”, In Proceedings of the DA symposium
2008, pp. 169-174, 2008.
5) F. Rotenberg, et al. “AR-SMT: A Microarchitectural
Approach to Fault Tolerance in Microprocessors”, In
Proceedings of the 29th Annual International Symposium on Fault-Tolerant Computing, pp.84-91, 1999.
6) P. Meaney, et al. “IBM z990 soft error detection andrecovery”, In Proceedings of the IEEE Transactions
on Device and Materials Reliability, vol. 5, no. 3, pp.
419-427, 2005.
7) M. Gomaa, et al. “Transient-Fault Recovery for Chip
Multiprocessors”, In Proceedings of the 29th International Symposium on Computer Architecture, pp. 98109. 2003.
8) R. Watanabe, et al. “Implementation and Evaluationof Superscalar Processor Based on Dynamic Adaptive
Redundant Architecture”, In Proceedings of COOL
Chips XIII, pp. 195, 2010.