マイクロプロセッサに代表される大規模集積回路の性能向上には目覚しいものがある。ところが性能向上に従い、内部の消費電力の増大による発熱や信号雑音が大きな問題となっている。また、今後の集積回路の微細加工技術の進展によりその配線部分における消費電力の増大が大きな問題になると考えられる。そこで本論文では、大規模集積回路内の大域配線に主に着目し、速度性能を犠牲にせずに消費電力の削減を図ることを目指し、信号振幅を低下する手法、実効的な駆動容量を削減する手法、データの符号化による駆動頻度を削減する手法、およびアーキテクチャ的に無駄な駆動を削減する手法に関する検討を行なった。また、これらを採り入れたマイクロプロセッサの設計を行ない、その効果に関する検討を行なった。 本論文第2章においては、バスにおける信号振幅を低下することで消費電力削減が可能な、センスアンプを用いた抵抗終端型バス方式に関する検討を行なった。配線長に対する最適振幅の導出に関しては、回路のモデル化により定式化した遅延時間,面積から面積×遅延時間2の最小化を指針として用いることにした。この最適化により、電源電圧2[V],バスの配線容量1[pF]における最適振幅は110[mV]となることが分かった。また、最適振幅の低振幅バスモジュールを実現するため、信号自己生成型の制御回路の設計を行なった。これにより設計の高位段階における変更なしに、従来のパッファチェイン方式を用いたバス方式と置換可能な低振幅バスモジュールの実現が可能となった。本低振幅バスモジュールを32ビットバスに適用したところ、従来方式と比較してサイクル時間30%削減、面積1/4への縮小、消費電力1/4への削減が達成できた。 本論文第3章においては、バスを制御端子付きリピータによりバスセグメントに分割し、必要最小限のバスセグメントのみを駆動することで消費電力の削減を図る分割バス方式の検討を行なった。本分割バス方式の実現にあたり、ASICチップにおいて1次元配置を仮定して配置情報まで考慮したハイレベル設計手法の検討を行なった。本ハイレベル設計手法は成長法にもとづいた発見的な手法で、必ずしも最適解が得られるわけではないが、実用的な計算時間により、バス部分で1/5〜1/12,チップ全体で20%〜40%の消費電力の削減が可能となる結果が得られることがわかった。また、汎用マイクロプロセッサへの適用に関しては、一般的な命令出現頻度から、バスの利用頻度を最小化する配置とすることで、バスの消費電力を1/16%に削減できることがわかった。 本論文第4章においては、データの符号化によりバスの駆動頻度を低減することで消費電力の削減を図るビット幅可変方式および、その加算器への応用に関して検討を行なった。本ビット幅可変バス方式は、データをいくつかのビットセグメントに分割し、それぞれに付加したタグの情報を用いて、セグメントが’0’となる時にはデータの駆動を省くことで消費電力の削減を図る手法である。本方式はタグの生成回路としてセグメント毎のゼロ検出回路、グータの復号回路としてビット毎のNOR回路により実現が出来る。このうちゼロ検出回路は演算器などにおいてはゼロフラグ生成回路と共有できる。32ビット幅のバスについて、一般的な命令・データ幅の出現頻度に基づくデータ列を与えた場合、16-8-8の不均等な3セグメントに分割すると信号遷移を最小化でき、その場合、従来のバスと比較して消費電力の削減は10%であることが分かった。また、本ビット幅可変方式を加算器で実現する場合、加算器をバス同様に加算セグメントに分割し、入力タグ信号に応じた入力データラッチの制御、および不要な加算セグメントの動作を抑制しつつ正しい演算結果を得るために、加算器内部のキャリー伝搬の制御が必要である。また演算結果に対するタグの生成は、入力のタグおよび演算結果のゼロ検出により行なう。このビット幅可変方式を適用した加算器に、バス同様のデータ列を与えた場合、内部ノードの信号遷移数を10%削減できることがわかった。 本論文第5章では、パイブラインを用いて構成されたRISC型マイクロプロセッサにおいて顕著であるデータ転送命令およびnop命令を、ALUなどの演算器を利用することなく実行することで、消費電力削減をはかるデータバイバス方式の検討を行なった。本データバイバス方式は、データ転送命令においてALUの代わりに直列シフトレジスタにより構成されるデータバイバスユニットを用いることで、(1)ALUの内部論理回路における消費電力を削減する効果、および(2)データが分散することによる入力データ信号遷移数の削減による効果、さらにデータバイバスユニットをレジスタファイルに内蔵することにより、(3)バスの駆動が削減出来る効果により消費電力の削減が可能となる。また、本方式の有効性を高めるため、実行時における暗黙のmove命令検出機構の検討を行なった。本機構は、move命令が命令オペランドのいずれかもしくは両方を’0’とすることで実現されていることを利用し、オペランドの’0’検出によりデータバイバス命令の発行(暗黙のmove命令発行)を行なうため、命令セットの変更なしにデータバイバス命令を実行でき、さらに演算結果による実効的なmove命令に対しても有効な方式である。ここでも、一般的な命令・データ幅の出現頻度に基づくデータ列を与えた場合、データバイバスを用いることで、ALU,データバイバスユニットを併せた消費電力を30%削減できることが分かった。またデータバイバスユニットをレジスタに内蔵し、不要なバス駆動を行なわたいことで、バスの消費電力を15%削減できることが分かった。 本論文第6章では、第3章から第6章までに述べた分割バス方式,ビット幅可変方式,データバイバス方式を適用したマイクロプロセッサを、ゲートアレイを用いて設計し、それぞれの効果に関してチップの実測およびシミュレーションにより検証を行なった。 実測に関しては、テストボードを作成しゲートアレイチップを2チップ同時に動作させることで、I/Oバッファにおける消費電力とマイクロプロセッサ本体の消費電力の分離を行なった。その結果、マイクロプロセッサ本体に関して、分割バス方式およびビット幅可変方式を用いることで従来方式と比較して45%の消費電力の削減が達成できることが分かった。この時データバイバス方式は常に有効となっていたことから、データバイバスによる効果の測定は行なえなかった。 次に論理シミュレーションを用いることで、分割バス・ビット幅可変方式・データバイバス方式の効果の検証を行なった。ここで、論理シミュレータとしてはVerilog-XLを用い、実チップの測定と同じベンチャークプログラムを与えた時のマイクロプロセッサをエミュレーションし、信号の遷移数、セルライプラリの消費電力のデータおよび実配線長から消費電力を見積もった。分割バス,ビット幅可変バス,ビット幅可変方式を適用した分割バスを用いた場合、従来方式のバスと比較してバスの配線においてそれぞれ30%,34%,57%の消費電力の削減が可能であることが分かった。また、リピータ・バスドライパを含めた消費電力では、ビット幅可変方式では、バス配線同様の効果が見られたが、分割バスではリピータにおける消費電力の増大が見られ、結果的にビット幅可変方式を適用した分割バスの場合で、22%の消費電力削減という結果となった。本ビット幅可変方式を適用した分割バスを実現するためには、リピータなどの回路増加により、従来方式と比較してマイクロプロセッサ全体でチップ面積が30%増大することが分かった。ただし、これらのリピータに関わる消費電力・面積の増大は、フルカスタム設計によりリピータ・バスドライパのゲートサイズの最適化を行なうことで軽減できると考えられる。また、従来方式と比較して分割バス方式は、最悪条件で32%の遅延時間の増大が見られた。ただし、この差は今後の微細加工技術の進展にともなう配線抵抗の増大により、軽減されることが予想されており、大きな問題でないと思われる。 また、ビット幅可変方式を適用した加算器をもとに設計を行なったALUでは、従来型の加算器をもとに設計したALUと比較して15%の消費電力削減が可能であることが分かった。このときビット幅可変方式のタグに関する消費電力はALU全体の17%であった。 データバイバス方式を採用することにより、演算器における消費電力を50%削減できることが分かった。またデータバイバスユニットによるチップ面積の増大はマイクロプロセッサ全体の10%であった。 以上の手法の消費電力削減効果のペンチマークプログラムの依存性に関して検討を行なったところ、分割バス,ビット幅可変バス,ビット幅可変方式を適用した分割バスに関しては、従来のバス方式と比較してベンチマーク依存性が軽減されることが分かった、また、ビット幅可変方式の依存性は高いが、分割バスはベンチマークにはほとんど依存しないことが分かった。さらにビット幅可変方式を適用した加算器に関しては、ベンチマーク依存性がほとんど見られなかった。一方、データバイバス方式に関しては、ベンチマーク依存性が見られたが、最悪条件のベンチマークにおいても消費電力が15%削減可能であることが分かった。 さらに、分割バス方式の有効性を確かめるために、フルカスタム設計手法によりデータバス部のレイアウトを行ない、SPICEシミュレーションによる消費電力の検証を行なった。ここで、バスドライバおよびリピータのゲートサイズはバスの付加容量に応じて最適化を行なった。これにより、データ転送に関わる消費電力(配線・バスドライバ・リピータ)は従来方式のバスと比較して50%削減可能であることが分かった。この消費電力の削減量は、レジスタファイルやALUなどの演算器1個分に相当する量であった。また、データバス部における面積の増大は3%であった。 以上の本論文における諸手法は、将来のULSIにおける消費電力削減に大きく寄与できるものと期待している。 |