1999年第1回LSI IPデザイン・アワード IP賞

東京大学 先端科学技術研究センター
南谷 崇(代表)



「32ビット非同期式マイクロプロセッサTITAC-2」

要約

 TITAC-2はMIPS-R2000の命令セットを実現した 32ビット非同期式マイクロプロセッサである。1997年2月に完成し,現在稼働中である。
 特徴は「クロックを全く持たない汎用マイクロプロセッサ」という点にあり,歴史上初めての実用レベルの非同期式プロセッサとして実際に動いているハードVCである。Cプログラミングをサポートしている。プログラマから非同期式かどうかは見えない。
 プロセッサ構成は,R2000と同様の5段パイプライン構造で,40本の32ビットレジスタ(内,8本はカーネルモードのみ),8KB命令キャッシュ,例外処理,外部割り込み,記憶保護機構を備えている。
 論理設計にはSDIモデルと呼ぶ新しい設計モデルを採用しており,遅延変動に対する信頼性を確保しつつ,速度性能を向上させることができる。

 チップは,0.5μm,3層メタル,3.3V電源CMOSプロセスのスタンダード・セル・ライブラリ,及び新規に作成した専用マクロ・セルを用いて設計された。10.55mm四方(パッドを除く部分)のチップ上に約50万トランジスタと8.6Kバイトのメモリマクロが集積されている。Dhrystone V2.1ベンチマークによる実測性能は,室温,電源電圧3.3Vの環境で54.1VAX MIPSであり,消費電力は2.11Wである。
 遅延変動を生じさせるような環境の変化,例えば,電源電圧が変化したり,急激な温度変化の環境でも正常に動作する。この特徴を利用すると,計算パワーを要求される場合には,消費電力を上げて高速計算を実行し,そうでない場合は計算性能を落として消費電力を節減することができる。

特徴の説明

 応募するハードウェア設計資産はハードVCの形態である。このハードVCは,東京大学/東京工業大学・南谷研究室で1990年4月からスタートしたTITAC(Techno-Initiative Tokyo Asynchronous Computer)プロジェクトにおける第2世代のプロセッサとして設計,試作された汎用32ビット非同期式マイクロプロセッサTITAC2であり,MIPS社の32ビットRISCマイクロプロセッサプロセッサR2000の命令セットをほぼそのまま実現している。1997年2月にチップ製造・テストを完了し,現在は評価用ボードの上で稼働している。

 TITAC-2の特徴は,「クロックを全く持たない汎用マイクロプロセッサであり,実際にCプログラムが走る」という点にある。非同期式システムの研究自体は古くからあるが,クロックを持たない実用レベルの汎用プロセッサが稼働するのは,歴史上初めてであり,現在世界でTITAC-2の4ヵ月前に完成したAmulet-2(英国マンチュスタ大学が試作したARMの非同期版)とこのTITAC-2の二つだけである。Amulet-2は低消費電力を狙って試作されたものであり,速度性能の点ではこのTITAC-2チップが現時点で世界最高速の非同期式プロセッサである。

 このTITAC-2の完成によって「非同期式マイクロプロセッサは実用レベルで動く!」ということが実証され,今後の実用化研究へ向けて大きな一歩を踏み出したと言える。

 TITAC-2の命令セットはMIPS-R2000とほとんど同じだが一部の命令機能が異なり,また命令コードが異なるため,MIPS用Cコンパイラを修正したTITAC-2用Cコンパイラを新たに開発し,Cプログラミングをサポートしている。このため,TITAC-2は同期式と同様にCプログラムが走る。プログラマからは非同期式かどうかは見えないし,また意識する必要もない。C言語で書いたソースプログラムを再コンパイルすることによって,メモリの制約を除けば基本的に,これまでのソフト資産はすべてTITAC-2の上で走らせることができる。

 プロセッサ構成を図1に示す。MIPS-R2000と同様,命令フェッチ(IF),デコード(ID),実行(EX),メモリアクセス(ME),ライトバック(WB)から成る5段パイプライン構造で,40本の32ビットレジスタ(内,8本はカーネルモードのみ),8KB命令キャッシュ,例外処理,外部割り込み,記憶保護機構を備えている。パイプラインの各ステージ間ラッチは,ステージ処理速度のばらつきを吸収する非同期式FIFOバッファとして構成されている。

図1 TITAC-2のプロセッサ構成




 TITAC-2の論理設計にはSDI(Scalable-Delay-Insensitive)モデルと呼ぶ新しい概念に基づく設計モデルを採用している。非同期式回路に関する従来の理論的研究では,回路要素(ゲートや配線)の遅延にいかなる変動があろうとも正しい回路動作を保証しなければならないとの立場をとるDelay-Insenitiveモデル,あるいはSpeed-Independentモデルを前提とする設計方法が主として研究されてきたが,現実にはありそうもない遅延変動まで考慮するため,実用の観点からは回路量が大きくなり,速度性能が低下するという問題があった。デジタルシステムの遅延変動の要因としては,レイアウト設計における配線長の変動,製造プロセスにおけるパラメータ変動,及びシステム稼働環境(電源電圧,温度など)の変動がある。新しく提案したSDIモデルは,設計段階で制御可能なレイアウトによる変動要因を論理設計に反映させ,制御不能なプロセス要因や環境要因に関して回路要素の絶対的な遅延変動には上限を設けないが,相対的な変動には上限値を設定して設計を進めるもので,現実に起こり得る遅延変動を反映させたモデルである。この設計モデルによって遅延変動に対する十分な信頼性を確保しつつ,速度性能を向上させることができる。TITAC-2チップの試作目的の一つはこの設計モデルの効果の確認であり,その評価結果はSDIモデルの有効性を示している。

 TITAC-2チップ(図2)の設計はNECの0.5μm,3層メタル,3.3V電源CMOSプロセスによるスタンダード・セルとオリジナルに開発した非同期式マクロ・セル(C素子,アービタ,2線式全加算器など)を用いて行われた。10.55mm四方(パッドを除く部分)のチップ上に約50万トランジスタと8.6Kバイトのメモリマクロが集積されている。Dhrystone V2.1ベンチマークによる実測性能は,室温,電源電圧3.3Vの環境で54.1VAX MIPSであり,消費電力は2.11Wである。

図2 TITAC-2のチップ写真


 同期式プロセッサにはないTITAC-2の特徴のひとつは遅延変動に対する耐性である。遅延変動を生じさせるような環境の変化,例えば,電源電圧が変化したり,チップ表面を液体窒素(摂氏マイナス196度)で冷却してからヘアドライヤーで加熱するような急激な温度変化の環境でも正常に動作する。但し,当然のことながら,速度性能と消費電力は変化する。図3に電源電圧を1.5Vから4.0Vまで連続的に変化させた場合のTITAC-2の速度性能(MIPS)と消費電力(W)の実測値を示す。この特徴を利用すると,計算パワーを要求される場合には,消費電力を上げて高速計算を実行し,そうでない場合は計算性能を落として消費電力を節減することができる。

図3 TITAC-2の速度性能と電力消費(対電源電圧変動)



 チップ設計作業は,NEC0.5μmCMOSプロセス用スタンダードセルライブラリの利用に関してNECの協力を得たが,オリジナル非同期マクロの開発を含む論理設計からレイアウトまでのすべてのプロセッサ設計工程は東大/東工大南谷研究室の学生によって行われた。

 TITAC-2の設計では,基本的にはVerilog-HDLで記述を行い,RTレベルとゲートレベルのシミュレーションならびに性能予測にVerilog-XL,テクノロジ・マッピングにDesign Compiler,フロアプラン/レイアウトにCell3 Ensenble,独自開発したマクロセルのアナログシミュレーションにSaberを,それぞれ使用した。その他に研究室で開発した非同期式回路論理合成ツール,非同期式回路検証ツールを用いた。結果的に,TITAC-2の設計工程は,既存の同期式CADツールのかなりの部分が非同期式システム設計にも有効であることを世界に先駆けて確認したことになる。

以下にTITAC-2の諸元を示す。

TITAC-2の諸元
チップ・サイズ12.15 mm x 12.15 mm
パッケージ240 ピンQFP
製造技術0.5 um CMOS Standard Cell
回路規模496,367 MOS Tr + 8.6 KB メモリマクロ
命令キャッシュ8K バイト
物理アドレス32 ビット
パイプライン5ステージ
レジスタ(整数)32 ビット汎用 32 本
32 ビット特殊  8 本
性能54.1 VAX MIPS (室温,電源電圧3.3 V)

参考文献

1) T. Nanya, A. Takamura, M. Kuwako, M. Imai, T. Fujii, M. Ozawa, I. Fukasaku, Y. Ueno, F. Okamoto, H. Fujimoto, O. Fujita, M. Yamashina, M. Fukuma :"TITAC-2: A 32-bit Scalable-Delay-Insensitive Microprocessor", Record of HOT Chips IX, pp.19-32 (Aug. 1997)
2) Akihiro Takamura, Masashi Kuwako, Masashi Imai, Taro Fujii, Motokazu Ozawa, Izumi Fukasaku, Yoichiro Ueno and Takashi Nanya:"TITAC-2: A 32-bit Asynchronous Microprocessor based on Scalable-Delay-Insensitive Model" Proc. ICCD'97, pp.288-294 (Oct.1997)
3) 南谷:”非同期式マイクロプロセッサの動向”,情報処理,Vlo.39, No.3, pp.181-186(March 1998)
4) 南谷:”非同期式プロセッサTITAC-2の開発”電子情報通信学会誌 (August 1998)





【トップページへ】

(電子・機械局・第一開発 1999.6.3)
Copyright 1995-1998 Nikkei Business Publications,Inc. All Rights Reserved.