[ PRESS RELEASE ] fujitsu-logo
1997-0021
平成9年2月6日
株式会社富士通研究所
富士通株式会社

3次元グラフィックスチップに適した世界最小の乗算器の開発に成功

--トランジスタ数を24%削減、面積1.27mm2の54ビット乗算器を試作--

株式会社富士通研究所(代表取締役社長:佐藤 繁、本社:川崎市中原区)と富士通株式会社は共同で 3次元グラフィックス(*1)チップに適する世界最小の乗算器の開発に成功いたしました。 開発した乗算器は64ビットの浮動小数点乗算(*2)の仮数部演算に用いられる 54ビットx54ビット(以下54x54b)の乗算器です。 最小加工寸法0.25μmのCMOS技術を用いてシリコン基板上に作成し、総トランジスタ数60,797個、Active面積1.27mm2と世界で最も少ないトランジスタ数、最も小さい面積で実現しました。 当社の従来型乗算器と比較しますとトランジスタ数で24%、面積で21%の削減になります。 また、当社は乗算器の小型化技術では先行しており、今回開発した乗算器は他社比較1/10以下の面積となります。 本乗算器は、3次元グラフィックス用チップへ応用され、パーソナルユーザーに安価な3次元グラフィックス環境を提供するものと期待されます。

[開発技術]
乗算器の中で、90%近くが部分積生成(*3)回路と生成された部分積(*4)を加える加算器ツリー部分で占められています。 従来の構成法では、部分積生成回路を制御するBoothエンコーダー(*5)の出力が、被乗数の1倍を選択する信号、被乗数の2倍を選択する信号、被乗数の符号を変える信号の 3本であったために部分積生成回路が複雑になっていました。 今回、被乗数の符号を変える信号を絶対値0の信号(*6)とし、さらに被乗数の符号を変えない絶対値0の信号を加えて、出力を4本にし、部分積生成論理を簡単にしました。 その結果、部分積生成回路を構成するトランジスタを 1モジュールにつき 8つ削減できました。 部分積生成回路は1,500個以上あるために、このような回路変更によって12,000以上のト ランジスタの削減ができました。 さらに加算器ツリー部分にも改良を加え、8,000トランジスタの削減をはかりました。 この結果、54x54b乗算器ではトランジスタ数を約 81,000から約61,000と20,000個削減でき、32ビットの浮動小数点乗算の仮数部演算に用いられる26x26b乗算器では22,000から17,000と5,000個削減することができました。 両者とも従来技術と比較して23-24%のトランジスタ数の削減に成功しました。

当社では、上記の回路方式を実証するために最小寸法0.25μmのCMOSテクノロジーを用いて、54x54b乗算器を試作しました。 回路の遅延時間は4.1nsであり、従来と同等以上の速度で動作することを確認しました。

なお、本技術成果は、1997月2月6日より8日まで、米国サンフランシスコで開催されます国際会議 "1997 International Solid-State Circuits Conference" において発表を行う予定です。

[開発背景]
近年、LSIの高速化と集積度の目覚ましい進歩に伴って、パーソナルユーザーに、より高速かつ高精細グラフィックス環境を提供できるようになってきています。 中でも高速、高精細な 3次元グラフィックス環境は、オンラインショッピングやゲームなど、パーソナルユーザーに期待されているアプリケーション分野で必須の技術となってきています。 しかしこれには非常に高い浮動小数点演算性能が必要であり、パーソナルユーザー環境で実現するためには、いかに安価で高性能なグラフィックス LSIを供給できるかが、鍵となると考えられています。 たとえば、1600x1280ピクセルの画面に1秒間に60回の速度で3次元物体を定常的に表示するためには、約4Mpps(Mega polygon per second:1秒間に1,000,000個の多角形を表示する能力)の 3次元グラフィックス性能が必要ですが、これは1GFLOPS(Giga Floating point Operation per second:1秒間に1,000,000,000回の浮動小数点演算性能)以上の浮動小数点演算性能に匹敵します。 このような高い浮動小数点演算性能を実現するためには、演算器を並列に動作させる必要があります。 たとえば200MHzで動作する演算器を用いても、5本以上の並列動作が必要になります。 したがって、LSIの中で演算器の占める割合(20%-30%程度が予想されます)が大きくなり、チップコストを低減するためには演算器の小型化が必須となると考えられます。 特に、演算モジュールの中で大きな面積を必要とする乗算器の小型化は重要な技術であります。

[用語説明]

*1:3次元グラフィックス
3次元的な構造をもった物体が、仮想的な空間の中を、移動、回転するときに、光の方向や強さ、物体の表面の性質などを考慮して人間の目にどのように見えるかを計算して表示する手法。 物体を小さな三角形に分割して表現し、回転、移動毎に各々の三角形の頂点の位置と囲まれた部分の表面の色を計算する手法が用いられます。 この三角形を 1秒間に何個表示できるかが指標として用いられます。 1Mpps(Mega polygon per second)とは1秒間に100万個の三角形を表示できる能力があることを意味します。

*2:浮動小数点乗算
浮動小数点数は、一般に仮数部と指数部で表されます。 仮数部は数値の精度を保持する部分であり、指数部は数値のダイナミックレンジを示す部分です。 浮動小数点乗算では、仮数部の乗算を行う回路が大部分をしめ、大きな回路面積を必要とします。 本発表の乗算器は、この仮数部の乗算を行う回路に使用されるものです。

*3: 部分積生成回路
(2次の)Boothのアルゴリズムにおいて、各ビットで0,+X,+2X,-X,-2X(ここでXは被乗数 )の 5つの部分積の中から1つを選択生成する回路。

*4: 部分積
計算機の中では2つの2進数の積を求める際、各ビット毎の積を求めて、この積を加えることによって、全体の積を求めています。 この各ビット毎の積を部分積と呼びます。

*5: Boothエンコーダー
乗算器では、部分積の数を減らすことで、回路の規模を減らし、速度を速くします。 この方法の1つとしてBoothのアルゴリズムがあります。 通常、部分積の数はnビットx nビットの乗算でn2個必要となりますが(2次の)Boothのアルゴリズムでは、この数を半分に削減することができます。 Boothエンコーダーは、このアルゴリズムを実現するために乗数の一部を解読して部分積を選択出力するための信号を発生する回路です。

*6: 絶対値0の信号
0の表現方法が1通りしかない信号。 2進数の負数を補数表現すると2通りの0表現が存在する場合があります。


プレスリリースに記載された製品の価格、仕様、サービス内容、お問い合わせ先などは、発表日現在のものです。その後予告なしに変更されることがあります。あらかじめご了承ください。ご不明な場合は、富士通お客様総合センターにお問い合わせください。