タイミング制約を緩和するクロッキング方式の予備

社団法人 電子情報通信学会
THE INSTITUTE OF ELECTRONICS,
INFORMATION AND COMMUNICATION ENGINEERS
信学技報
TECHNICAL REPORT OF IEICE.
タイミング制約を緩和するクロッキング方式の予備評価
喜多 貴信†
樽井
翔††
塩谷
亮太†,††† 五島
正裕†
坂井 修一†
† 東京大学 情報理工学系研究科
† 株式会社 日立製作所
††† 日本学術振興会特別研究員 DC
E-mail: †{kita,starui,shioya,goshima,sakai}@mtl.t.u-tokyo.ac.jp
あらまし
半導体プロセスが微細化するにつれて,ばらつきの問題が深刻化してきている.従来のワーストケース設
計ではこの問題に対処することは難しくなりつつあり,今後の半導体産業の発展には,ばらつきを吸収する回路技術
が不可欠であると考えられている.本研究では,クリティカル・パスとショート・パスにそれぞれ異なるラッチ制御
を行うことにより,タイミング制約の緩和を図る.2相ラッチと比べて 1.5 倍もタイミング制約が緩和されたことに
より,ばらつき耐性向上のみならず,大幅な高クロック化や低電圧化が可能となる.
キーワード
タイミング制約,クロッキング方式,2相ラッチ,タイム・ボローイング
Experimental evaluation of a cloking scheme with relaxed timing
constraints
Takanobu KITA† , Shou TARUI†† , Ryota SHIOYA†,††† , Masahiro GOSHIMA† , and Shuichi
SAKAI†
† Dept. of Information and Communication Eng, the Univ. of Tokyo
† HITACHI Ltd.
††† Research Fellowship for Young Scientists DC
E-mail: †{kita,starui,shioya,goshima,sakai}@mtl.t.u-tokyo.ac.jp
Abstract The feature size of LSI is getting smaller year by year, increasing random variation between the elements. These days, the problem of the variation imposes too severe timing constrains to design circuit with enough
timing margin. To overcome this problem, this paper proposes a clocking scheme with relaxed timing constrains.
Our method separates logic paths into two kinds of paths, short path and critical path. The circuits will be allowed
up to 1.5 clock cycle delay per stage, while existing method, two phase latch allows 1 clock cycle delay per stage.
Timing margin produced by proposed method enables lower energy consumption and higher clock frequency.
Key words timing constraints, cloking scheme, two-phase latch, time borrowing
1. 背
景
近年のプロセッサ設計において,微細化に伴うばらつきの増
加が大きな問題となっている.ばらつきには何種類かあるが.
グ制約を満たすことが難しくなる.回路遅延の動的な変化に
よって信号のタイミングに齟齬が生じ,設計者の想定外の動作
が生じることもある.
(タイミング・フォールト)
ばらつきが増大していくと,従来の最悪値に基づいたマージ
静的か動的かで分類できる.静的なばらつきでは,製造ばらつ
ンをとる設計手法は悲観的になりすぎる.経路上のトランジス
き,特に不純物密度分布のばらつきによって各トランジスタの
タ,配線がすべて最悪であるような確率は極めて低い.そこで,
閾値がばらつく影響が深刻であり,チップ内ばらつきの激化と
ランダムなばらつきを統計的に取り扱う設計手法 (Statistical
して顕著に現れている.
(図 1)これは,微細化によってトラン
Static Timing Analysis:SSTA) が確立されつつある.製品の出
ジスタや配線が原子のサイズに近づいたことによるものであっ
来具合から選別・グレード分けして販売する方法も,プロセッ
て,原理的に防ぐことが難しい.
サ・ベンダによって一般的に行われている.
回路遅延がばらつくと,同期式回路の設計におけるタイミン
製造ばらつきによる静的なばらつきも大きいが,ロジック動
—1—
1世代前のプロセス
ト
ラ (ばらつき小)
ンジ
スタ
数
平均値の速度向上
FFの1ロジック区間
微細化したプロセス
(ばらつき大)
最悪値(律速値)の速度向上
time
clk
1
c
yc
le
/
h
al
f
F
F
lo
gi
c
速度
図 1 製造ばらつきが引き起こす微細化の効果の減少
作による局所的な電源電圧低下や温度上昇などの,動的なばら
つき (動作環境の変化) も大きい.その上,近年の省電力指向の
ため一般化している DVFS(Dynamic Voltage and Frequency
Scaling) によって,意図的に引き起こされる動的ばらつきもあ
る.静的・動的の両面から発生するばらつきによって,プロセッ
サの個体ごとの動作環境の差異は非常に大きくなっている.
図 2 2相ラッチにおけるタイム・ボローイング
動的な環境変化に対して,タイミング・フォールトを動的に
検出・回復するマイクロ・アーキテクチャを,楽観的なマージ
構成
ンで動作させる手法が注目されている.このような手法では,
2相ラッチは,フリップ・フロップを構成する2つのラッチ(マ
シビアな動作環境下で例外的に生じる動的タイミング・フォー
スタ,スレーブ)のうちの1つを,ロジックのちょうど真ん中
ルトに対しては,セーフティ・ネットを用いて安定動作を保証
に移動したものである.
(図 3)互いに逆相のラッチが交互に並
し,普段の実行では不要なマージンを削って効率的に動作す
んでいるため,タイミング・チャート(図 2)上ではラッチによ
る.このようなアプローチを可能するプロセッサ技術として,
る遮蔽期間が階段状になる.クロック・スキューやホールド時
Razor [1] やカナリア FF [2] が提案されている.本研究室でも
間のことを考えなければ,どの時刻においてもラッチが隣り合
これまで,動的なタイミング・フォールト耐性技術を研究して
う相の信号を遮断しているため,ロジックの最小遅延制約はな
きた [3]∼[5].本研究は [4] をベースに,手法自体の改良や,実
い.最大遅延は,次段のラッチのデータ取り込みタイミングま
際の回路への適用方法の検討を行うものである.
で,つまり 1 サイクルだが,ロジック区間がフリップ・フロッ
研究の目的と意義
微細化に伴うばらつきの増大によって,タイミング・フォール
プの半分なのでフリップ・フロップよりも最大遅延制約は緩い.
以降,このロジック区間のことを半 FF ロジック区間と呼ぶ.
トを起こさない回路設計を行うことが難しくなってきている.
本研究は,経路ごとに異なる信号遅延を巧みにコントロールす
ることにより,タイミング制約を緩和するクロッキング方式を
提案する.さらにこれに Razor やカナリア FF などの動的タイ
ミング・フォールト検出・回復機構を付加することにより,そ
の効果を倍増する.提案手法はばらつきを吸収するため,設計
の負担が軽くなり,製造時の歩留まりの向上も見込める.それ
だけに留まらず,提案手法が生んだタイミング・マージンを利
用して,プロセッサの電圧を下げて消費電力を減らしたり,ク
ロック周波数を上げて高速化したりもできる.
微細化とともに深刻化するばらつきに対し,従来のワースト
ケース設計で対処することは難しい.本研究のようにばらつき
を吸収する回路技術は,半導体産業が今後も発展を続ける上で
必要不可欠である.
2. 関連研究:2相ラッチ
図3
フリップ・フロップ(左)と2相ラッチ(右)
タイム・ボローイング
図 2 の二重線で示した信号は,前半のロジック部分を通過す
る時に大きく遅れている.しかし,次段のロジックを速く通過
したため,その遅れをほとんど取り戻せている.このことを時
間の貸し借りに例えて,Time Borrowing と呼んでいる.2相
ラッチでは,フリップ・フロップのロジックのちょうど真ん中に
ラッチを配置した時に,最もタイミング制約緩和の効果が高い.
同期回路を設計する際には,ラッチあるいはフリップ・フロッ
プ間のロジックの遅延をなるべく均等にするように設計する.
しかし実際には,ばらつきによりラッチ間のロジックの遅延に
はどうしても少なからぬ差がでてしまう.タイム・ボローイン
グは,意図せず生まれたこの差を有効に利用して,タイミング
提案手法と同じく,タイミング制約を緩和してタイミング・
フォールト耐性を増すことを目的としたクロッキング方式の代
制約の緩和を図っているといえる.この性質はまた,クロック・
スキューに対する耐性にも効果がある.[7]
表的なものに,2相ラッチ [6] がある.2相ラッチは提案手法
のベースとなっており,タイム・ボローイングという重要な性
質を持っている.
3. タイミング制約を決定づける回路の性質
ロジックの中には,いくつもの信号経路があり,それぞれ性
—2—
CarryGenerator4
C
CarryGenerator16
P(3:0)
P0
*
G0
G(3:0)
P0P1
*
*
*
G3+P3G2+P3P2G1
+P3P2P1G0
C
C
*
C
C
Gout
Pout
Gout
Pout
Cin
S(n
*
)
CarryGenerator64
Cin
C-1
G(3:0) P(3:0) C(3:0)
1
3
2
1
2
0
1
CG4
0
2
2
+G
out
3
G
Pout
1
Cin
G(3:0) P(3:0) C(3:0)
CG4
0
CG4
CG4
out
P
P(n)
0
3
*
G2+P2G1+P2P1G0
P0P1P2P3
*
*
G1+P1G0
P0P1P2
C(n-1)
P(n) = A(n) ^ B(n)
G(n) = A(n) ・ B(n)
in
A(63:0) + B(63:0) = S(63:0)
o ut
G(63:60) P(63:60) C(63:60) ・ ・ ・ ・ ・ ・ ・ G,P,C (51:48)
+ CG16
CG16
CG16
CG16
G,P,C (63:48) ・ ・ ・ ・ ・ ・ ・ G,P,C (15:0)
図 4 64bit 桁上げ先見加算器(赤線経路がクリティカル・パス)
質や制約が異なる.提案手法は,経路ごと違いに対して,それぞ
FF1 から来た次相の信号により FF2 が本来取り込むべき信号
れに適したラッチ制御を個別に行うことにより,2相ラッチよ
が上書きされてしまう.こうなってしまうと,間違ったデータ
りさらにタイミング制約の緩和を図っている.本章では,64bit
がパイプラインを伝搬するため,プロセッサが正しく動作しな
桁上げ先見加算器の回路を例にとって,これらを解説する.
い.つまりショート・パスの信号には,次段のフリップ・フロッ
3. 1 クリティカル・パスとショート・パス
プが前相の値を取り込み終えるタイミングより前に,そこに到
図 4 に示す桁上げ先見加算器は,教科書 [8] に載っているよ
達してはならないという制約がかかる.こうした遅延の下限に
うなシンプルな構成である.Generate(G) と Propagete(P ) か
ら 4bit の和の桁上がりを求める CarryGenerator4(CG4)を
関する制約を最小遅延制約という.
一般にロジックには最大遅延制約と最小遅延制約が定義され,
基本ユニットとして,それをツリー状に組み合わせて CG16,
両方を満たさなければ正しく動作しない.近年では,遅延がば
さらにそれを組み合わせて CG64 を形成している.最終的に,
らついても常にタイミング制約を満たすように回路設計をする
和 S(n) = A(n) + B(n) = P (n) ⊕ C(n − 1) と計算される.
と,必要なマージンが大きくなりすぎて十分な動作周波数を確
桁上がりが生成される遅延時間は,桁ごとに異なる.下位
4bit の桁は,ひとつの CG4 の中での計算だけで求まるため,
保することが難しくなってきている.
3. 3 クリティカル・パスの活性化率
遅延は小さい.一方上位ビット (63:16) の桁上がりは,図の赤
61 桁目の和 S(61) = P (61) ⊕ C(60) について考える.まず
線で示した経路のように,ツリー状に並ぶ 3 つの CG4 の間を
C(60) を生成する部分(図 4 で拡大されている CG4 の C0 )に
往復して信号が伝搬するため,遅延が大きい.このように,ロ
注目すると,C0 = G0 + P0 Cin であり,2つのショート・パス
ジック内の遅延時間は信号の伝達経路によって異なる.一般に
の信号 G0 , P0 と1つのクリティカル・パスの信号 Cin によっ
あるロジック内で,遅延の大きい経路をそのロジックのクリ
て生成されている.Cin の結果が C0 に影響する場合,すなわ
ティカル・パス,小さい経路をショート・パスと呼ぶ.
ち Cin が活性化する場合は,G0 = 0 かつ P0 = 1 のときのみ
3. 2 タイミング制約
である.それ以外の場合 C0 は,Cin(クリティカル・パス)に
一般にロジックの最高動作周波数を決定するのは,クリティ
依存せず,G0 ,P0(ショート・パス)によってのみ決定される.
カル・パスの遅延である.最高動作周波数を超えて動かすと,
そして最後に,C0 (C(60))と P (61)(ショート・パス)との
フリップ・フロップがデータを取り込むタイミングに信号が間
XOR によって S(61) が生成される.このため最終的に,S(61)
に合わず,タイミング・フォールトが発生する.こうなってし
がクリティカル・パス(Cin )に依存する確率,すなわち S(61)
まうと,間違ったデータがパイプラインを伝搬するため,プロ
に対してクリティカル・パスが活性化する確率は低い.多くの
セッサが正しく動作しない.つまりクリティカル・パスには,
場合は,ショート・パス(G(61),P (61))の結果のみから出力
遅延時間がフリップ・フロップのデータ取り込み周期以下でな
S(61) を計算できてしまうのである.その他の S(63 : 16) につ
くてはならない,という制約がかかる.こうした遅延の上限に
いても,同様のことが言える.
関する制約を最大遅延制約という.
「クリティカル・パスは活性化頻度が低く,多くの場合には
一方,遅延時間の最小値についても制約がかかる.いまフリッ
ショート・パスの結果のみから出力を生成できる」という性質
プ・フロップ FF1 と次段の FF2 との間にクロック・スキュー
は,加算器以外の多くの回路にもあてはまる.[9] このことにつ
があり,FF2 の方が 0.1 サイクルだけデータ取り込みが遅いと
いて,セマンティックな理由付けができる.すなわち,クリティ
する.このときショート・パスの遅延が 0.1 サイクル未満だと,
カル・パスが活性化する処理は,ロジック内における例外的な
—3—
※ Short < 0.5 < Critical
2相ラッチ
Short
Critical
φ
φ
φ
©
®:Razor
©:カナリアFF
®
Short
φ
Critical
提案手法のキーポイントは,ショート・パスとクリティカル・
パスをラッチにより分離したことである.ロジックには1サイ
クル周期で次相の信号が送り込まれてくるため,クリティカル・
パスの遅延が 1 サイクル以上だと,次相の信号に上書きされて
しまって正しく動作しないように思える.しかし経路ごとに遅
提案手法
®
Short
Critical
4. 2 着眼点:パスの分離
ShortがCriticalに混ざ
らないための2相ラッチ
φ
©
Short
Critical
低周波動作のための単
相ラッチ(通常はdisabled)
図 5 提案手法の回路と2相ラッチの比較
処理であることが多いため,活性化率が低いのだと考えること
ができる.加算器の例においては,上位ビットにまで桁上がり
があるような大きな数の加算を行うことは例外的であるので,
Cin は活性化頻度が低くなる.この性質は 2. 章で述べたタイ
ム・ボローイングにとって有利に働く.つまり,あるサイクル
でクリティカル・パスが活性化して大きな遅延が発生したとし
ても,次段では高確率でショート・パスが活性化してその遅れ
を取り戻してくれると期待できるのである.
4. 提 案 手 法
2. 章で説明した2相ラッチは,タイム・ボローイングによる
タイミング制約の緩和を達成していた.しかし実は,3. 章で述
べたロジック内のクリティカル・パスとショート・パスの性質を
うまく利用してやることで,さらなるタイミング制約の緩和を
行う余地がある.提案手法では,クリティカル・パスとショー
ト・パスに対してそれぞれ異なるラッチ制御を行うことで,ク
リティカル・パスの半 FF ロジック区間あたりの遅延を最大 1.5
サイクルまで許容できるようになる.これは2相ラッチのそれ
の実に 1.5 倍にあたり,タイミング・フォールト耐性の大幅な
向上を生み出す.
4. 1 回 路 構 成
提案手法は2相ラッチをベースとしており,回路構成は図 5
のようになっている.四角形がラッチ,半楕円形はショート・パ
スとクリティカル・パスそれぞれのロジック部,円形はショー
ト・パスとクリティカル・パスの合流ゲート(AND,OR,XOR
など)をあらわす.提案手法においては,半 FF ロジック区間
の遅延が 0.5 サイクル未満の経路をショート・パス,それ以上
の経路をクリティカル・パスと定める.これはタイミング制約
の一部となっているため,厳密に分類する必要がある.
ショート・パスにはラッチ(実線四角形)が配置され,ショー
ト・パス側だけを見れば2相ラッチ構造になっている.クリティ
カル・パスは通常動作周波数においてはラッチ(点線四角形)が
常に開放されており,クリティカル・パス側だけを見ればウェー
ブ・パイプライン (Wave Pipeline) [10] 構造となっている.低
周波動作時およびパイプライン・ストール時には,enable され
て単相ラッチとして動作する.
(後述)
延が異なることを計算に入れれば,
「遅延時間 1 サイクル以上の
クリティカル・パスに対して,次相の信号が合流する(現在の
相の信号を上書きする)までの猶予が t サイクル (t < 1) だけ
あるならば,1 + t サイクルまでの遅延を救済できる」,という
結論を得る.このことに着目して,提案手法では 0.5 サイクル
未満の遅延でクリティカル・パスに合流してくるパス(つまり
ショート・パス)をラッチで遮断して t = 0.5 サイクルの猶予
を作り出し,クリティカル・パスの最大遅延を 1.5 サイクルに
まで拡大した.2相ラッチの最大遅延制約は半 FF ロジック区
間あたり1サイクルまでだったが,提案手法では 1.5 サイクル
まで拡大し,大幅なタイミング制約の緩和を達成している.
なおクリティカル・パスに次相のショート・パスが合流して
上書きしてしまうのを防ぐ方法として,ラッチによる遮断の他
に,ショート・パスにわざと遅延素子を挿入してクリティカル・
パスと遅延時間を合わせる方法や,ショート・パスとクリティ
カル・パスが共通して使用しているロジックを一部複製して占
有化する方法もある.
4. 3 提案手法の動作と適用例
桁上げ先見加算器における適用例を示して,提案手法の動作
を解説する.3. 章で述べたように.S(63 : 16) の桁上がり生成
経路がクリティカル・パスとなる.いま図 4 において赤線で示
した経路が最小遅延 0.5 サイクル以上,その他の G や P のみ
で計算される経路を最大遅延 0.5 未満のショート・パスと仮定
する.このとき S(61) に着目する.C(60) は図 4 で拡大された
CG4 の C0 から生成される.まずこれの生成経路を見てみると,
クリティカル・パスの Cin は最初にショート・パスの P0 と合
流している.そこで,P0 を遮断するためラッチを挟む.
(図中
の*印の位置)これにより合流後のワイヤ,Cin P0 はクリティ
カル・パスの一部となった.その後 G0 と合流するので,これ
もラッチで遮断.C0 (=C(60))もクリティカル・パスの一部
となる.最後に C(60) ⊕ P (61) によって S(61) が生成されるの
で,P (61) もラッチで遮断.合計3つのラッチを挿入すること
により,S(61) の生成経路に対して提案手法を適用できる.そ
の他の S(63 : 16) の部分に関しても,同様にして適用できる.
タイミング・チャート(図 6)を用いて,動作を説明する.ク
リティカル・パスである Cin を通ってきた信号(赤線)は,1 サ
イクル以上遅れており,一見次相のショート・パスの信号(青
線)と混ざってしまっているように見える.
(円で囲った部分)
しかし,P や G との合流部にラッチを挿入してこれを遮断し
ているため,混ざることはない.遅れた信号は,加算器の次段
のロジック(例えばバイパス)においてクリティカル・パスが
活性化しなければ,タイム・ボローイングによって高確率で遅
れを取り戻せる.図では,次段の信号(青線)がショート・パ
スを通ったため,ショート・パス側のラッチの取り込みタイミ
—4—
なお,リセットによる回復 [5] を行うならば Razor やカナリ
FFの1ロジック区間
time
ア FF の shadow latch に結果を”記憶”する必要はなく,回路
を簡単化できる.
(タイミング制約もやや緩くなる)
clk
4. 5 低周波動作時およびストール時の動作
DVFS などにより,ロジックの動作周波数が下がった場合,
Time borrowing
1
.5
c
yc
le
/
h
al
f
F
F
lo
gi
c
パスの分離により
信号が混ざらない
図 6 提案手法の動作の様子
クリティカル・パスの最小遅延制約を満たせなくなる場合があ
る.クリティカル・パスの最小遅延制約は,動作周波数の関数
となっており,低周波動作時には(ns などの単位で表すと)大
きくなってしまうからである.そこで低周波動作のために,ク
リティカル・パス側にもラッチを挿入しておく.
(図 5 点線四角
形)このラッチは,通常動作周波数においては disable されて
常に開放しているが,低周波動作時には単相ラッチとして動作
する.単相ラッチには1クロック・サイクル分のロジック区間
の最小遅延が 0.5 サイクル以下という制約がある.しかし,通
常動作時におけるクリティカル・パスの半 FF ロジック区間あ
たりの最小遅延は 0.5 サイクル以上なので,半分の周波数で動
作させたとしても単相ラッチの最小遅延制約を満たす.
ングに間に合っていることが確認できる.なお,もしこの次段
の信号がもう少し遅くてラッチの取り込みタイミングに間に合
わなかった場合は,タイミング・フォールトとなる.
4. 4 動的なタイミング・フォールトの検出・回復
上述した回路構成は,2相ラッチのようなクロッキング方式
の一つとして,それ単体で大きなタイミング制約緩和の効果
またパイプライン・ストールも,このラッチを enable するこ
とで実現できる.
5. 考察・検討
本章では提案手法に関する定量的・定性的な考察を行う.
5. 1 本研究の与えるインパクト
を持っている.しかし依然として,1. 章で述べたように,近年
提案手法は,既存の2相ラッチに比べて 1.5 倍ものばらつき
の動的な動作環境の変化(ばらつき)の増大に対して,悲観的
耐性を持っている.従来ではタイミング・フォールトにより不
マージンによる設計よりも,楽観的マージン+動的タイミング・
良品となっていた製品を出荷できるようになり,歩留まりの大
フォールト耐性を持つ設計の方が効率的に対処できるという点
きな向上が見込める.ばらつきに強くなった分,電圧を下げて
は変わらない.提案手法にも動的なタイミング・フォールト耐
低消費電力化することもできるし,クロック周波数を上げて高
性を加えれば,相乗効果を生み出し,タイミング制約緩和の効
速化することもできる.
果をさらに大きく向上することができる.
高クロック化と低電圧化に対する効果を試算してみる.まず
タイミング・フォールト検出のために,ショート・パス側のフ
高クロック化について,1.5 倍の遅延を許容できるならば 1.5
リップ・フロップ(図 5r印)に Razor [1] を,ショート・パス
倍の周波数で動作することになる.次に電圧について.ロジッ
c 印)にカナリア FF [2]
とクリティカル・パスの合流位置(図 5⃝
ク遅延は Vdd /(Vdd − Vth )1.3 (Vdd :電源電圧,Vth :閾値電圧)
を追加する.普通カナリア FF はエラーの事後検出ではなく事
におおよそ比例する.よって,Vdd = 1V, Vth = 0.4V で動作
前予報に用いるが,提案手法では挿入する遅延を調整して検出
するロジックがあったときに,これに提案手法を適用すると
のために用いる.このとき,セットアップ時間 Tsetup ,ホール
2
Vdd = 0.75V で動作する計算となる.動的消費電力は Vdd
に比
ド時間 Thold ,クロック・スキュー Tskew(−0.5 < Tskew < 0.5,
例するので,40%以上も動的消費電力を削減することができる.
次段のクロック・エッジが遅ければ正),Razor とカナリア FF
実際には問題はこれほど単純ではないものの,提案手法は非常
の shadow latch に挿入する遅延 Trazor , Tcanary を用いて,半
に大きな効果を期待できる.
FF ロジック区間におけるタイミング制約(単位はサイクル)
を表すと以下のようになる.
5. 2 オーバーヘッド
回路面積の増加
<ショート・パス>
4. 章において,桁上げ先見加算器(図 4)に提案手法を適用す
最小遅延:Smin >
= Thold + Trazor + Tskew
最大遅延:Smax < 0.5 − Tsetup + Tskew
る場合について解説した.この場合,S(63 : 16) の桁上がり
回復可能遅延:Srmax = 0.5 − Tsetup + Trazor + Tskew
とにより提案手法を適用できる.各ロジックのトランジスタ
<クリティカル・パス>
数を,AND:6,OR:6,XOR:8,FF:16,ラッチ:10 として計算
最小遅延:Cmin >
= 0.5 + Tskew
最大遅延:Cmax <
= 1.5 − 次段 Smax − Tsetup + Tskew
した時,桁上げ先見加算器自体のトランジスタ数は 5188 個と
生成経路に合計 (64 − 16) ∗ 3 = 144 個のラッチを挿入するこ
なる.
(回路の最適化は考慮していない)フリップ・フロップ
回復可能遅延:Crmax = 1.5 − Tsetup + Tskew
で構成すれば 5188 + 16 ∗ 64 = 6212 個,2相ラッチで構成す
ただし Tcanary = 次段 Smax
れば 5188 + 10 ∗ (64 ∗ 2) = 6468 個,提案手法で構成すれば
—5—
5188 + 10 ∗ (144 + 64) = 7268 個,のトランジスタ数となる.
ミング制約を緩和しているのである.こうしたアプローチは,
一般に提案手法が追加するラッチによって,2相ラッチで構成
ウェーブ・パイプラインの考え方とよく似ている.
した場合と比べて,ロジックあたり 10∼20%程度トランジスタ
数が増加すると推測している.
提案手法は一見,ウェーブ・パイプラインがそうであるよう
に,設計困難であるように思える.しかし実際には,同期式回
汎用プロセッサ・チップにおいてはキャッシュがチップ面積の
路の持つ設計の容易さを失っていない.例えば,ウェーブ・パ
約半分,分岐予測テーブルやレジスタ・ファイルなどの RAM
イプラインは回路全体でグローバルに遅延を正確に調整する必
も相当な面積を占めている.このため,ロジック部はチップ面
要がある.これは特に,プロセッサのようなバックエッジの多
積の 30∼40%程度に留まる.その中で,フリップ・フロップが
い複雑な回路において,極めて難しい.一方提案手法では,同
占める面積はロジック部の 10∼20%程度,つまりチップ面積の
期式回路と同じように,1ステージごとのローカルなタイミン
3∼8%である.提案手法はタイミング・クリティカルなロジッ
グ制約を満たすように各部を設計すればよい.また,ウェーブ・
ク部分に対してのみ適用することを考えているが,Razor の論
パイプラインでストールを実現することは難しいが,提案手法
文がチップを試作した結果,タイミング・クリティカルなフリッ
では可能である.
プ・フロップは 10%程度であるという.つまり単純に試算すれ
ば,提案手法の適用対象となるフリップ・フロップはチップ面
積の 1%未満にすぎず,ラッチの数の増加による面積増加は無
6. ま と め
深刻化するばらつきの問題を解決するために,ばらつきを吸
視できる.Razor などの検出・回復機構を追加することを考慮
収する回路技術を提案した.ショート・パスとクリティカル・
しても,やはり面積増加は問題にならないと考えられる.
パスを分離して別々にラッチ制御することにより,2相ラッチ
追加ロジックの消費電力の影響
に比べて 1.5 倍も回路遅延のばらつきに強くなった.これによ
上述したとおり追加要素はわずかで,全体から見た消費電力は
り生まれた大きなタイミング・マージンは,単にばらつきを吸
低電圧化することでむしろ大幅に削減できる.
収して開発・製造の効率を向上させるだけでなく,大幅な低電
回路設計の効率に与える影響
圧化や高クロック化を可能にすると見込まれる.
ロジックを分割してラッチを挟むという操作は,スーパー・パ
今後はこの効果を実証すべく,FPGA や回路シミュレータを
イプライニングを施すこととよく似ている.スーパー・パイプ
用いた予備評価を経て,実際の試作プロセッサ・チップ上への
ライニングはパイプライン構成などのアーキテクチャレベルの
適用・評価を目指す.
変更を伴うため,自動化することは難しい.一方,2相ラッチ
や提案手法の適用はアーキテクチャレベルには変更がなく,単
にロジックを分割するだけなので,自動化することが可能であ
る.ロジック内でのラッチの挿入位置や個数を最適化したり,
そのために一部の回路を複製したりということも自動的に処理
させることができる.従って,提案手法を導入するにあたって,
回路設計が著しく難しくなることはないと考えている.ばらつ
き吸収の効果により,むしろ設計は容易になる.
5. 3 ウェーブ・パイプラインとの関連
ウェーブ・パイプライン [10] は,非同期式回路の一種で,フ
リップ・フロップを用いずに,ロジックに周期的に信号の波を
流すことでパイプライン処理を行う手法である.この手法の利
点は,理想的に動作した場合,どの時刻のどのロジックについ
てもアイドル状態であることがないことである.しかしフリッ
プ・フロップを用いないため,各相の信号が混ざらないように
設計することが難しい.このため商用としては,UltraSPARC
III の SRAM 制御といった単純な回路 [11] に使われているのみ
である.同期式回路は,それぞれのロジックが少しづつアイド
ルな時間を過ごす代わりに,設計を容易にする.これに対して
ウェーブ・パイプラインは,設計が難しい代わりに,ロジック
が最大のパフォーマンスを発揮して動作する.
提案手法はパスごとに個別のラッチ制御を行うことで,ショー
ト・パスが過ごすアイドルな時間を,クリティカル・パスに融
通している.さらに,クリティカル・パス側には基本的にラッ
チが存在せず,ウェーブ・パイプラインのように動作している.
謝辞 本論文の研究は,一部 JST CREST による.
文
献
[1] D.Ernst, N.Kim, S.Das, S.Pant, T.Pham, R.Rao, C.Ziesler,
D.Blaauw, T.Austin and T.Mudge: Razor: A Low-Power
Pipeline Based on Circuit-Level Timing Speculation, Int’l
Symp. on Microarchitecture (MICRO) (2003).
[2] 佐藤寿倫: カナリア・フリップフロップを利用する省電力マイ
クロプロセッサの評価, 先進的計算基盤シンポジウム SACSIS,
pp. 227–234 (2007).
[3] 広瀬健一郎: 動作時信号遷移監視に基づく遅延補償フリップフ
ロップの研究, 東京大学修士論文 (2008).
[4] 樽井翔: タイミング制約を緩和するクロッキング方式, 東京大学
修士論文 (2009).
[5] 杉本健: タイミング・フォルト耐性を持つスーパスカラ・プロ
セッサ, 東京大学修士論文 (2009).
[6] Sutherland, I. E.: Micropipelines, Communications of the
ACM , Vol. 32, pp. 720–738 (1989).
[7] Harris, D.: Skew-tolerant Circuit Design, Morgan Kaufmann Publishers (2001).
[8] 五島正裕: ディジタル回路, 数理工学社 (2007).
[9] Usami, K., Nogami, K., Igarashi, M., Minami, F., Kawasaki,
Y., Ishikawa, T., Kanazawa, M., Aoki, T., Takano, M.,
Mizuno, C., Ichida, M., Sonoda, S., Takahashi, M., and
Hatanaka, N.: Automated Low-Power Technique Exploiting Multiple Spply Voltages Applied to a Media Processor,
IEEE J. Solid-State Circuits, Vol. 33, pp. 463–472 (1998).
[10] Fukase, M., Egawa, R., Sato, T. and Nakamura, T.: Scaling
Up Of Wave Pipelines, International Conference on VLSI
Design, Vol. 0, p. 439 (2001).
[11] Horel, T. and Lauterbach, G.: UltraSPARC-III: Designing Third-Generation 64-Bit Performance, IEEE Micro,
Vol. 19, pp. 73–85 (1999).
パス上のロジックがアイドルになる時間を削り,その分タイ
—6—