学位論文要旨



No 113381
著者(漢字) 入田,隆宏
著者(英字)
著者(カナ) イリタ,タカヒロ
標題(和) 大規模集積情報処理システムの高性能化および高機能化に関する研究
標題(洋)
報告番号 113381
報告番号 甲13381
学位授与日 1998.03.30
学位種別 課程博士
学位種類 博士(工学)
学位記番号 博工第4099号
研究科 工学系研究科
専攻 電子情報工学専攻
論文審査委員 主査: 東京大学 教授 鳳,紘一郎
 東京大学 教授 神谷,武志
 東京大学 教授 岡部,洋一
 東京大学 教授 柴田,直
 東京大学 教授 浅田,邦博
 東京大学 教授 櫻井,貴康
内容要旨 はじめに

 トランジスタサイズの微細化にともない、大規模集積回路中に集積されるトランジスタ数が年々増大する傾向にある。このため、マイクロプロセッサを中心とした情報処理システム全体を1つのチップ上に集積することが可能となりつつある。従来の情報処理システムでは、マイクロプロセッサやメモリなどの各構成要素ごとに最適な設計を行っていた。これに対し、システム全体が集積される場合には、各要素に与えられるチップ上の面積や消費電力などの資源が制約条件として与えられ、その下で最大限性能を向上させるための設計指針が必要となる。

 本研究は、演算回路に関して上記の指針を明らかとすることを目的として、情報処理システムの高性能化及び高機能化に有用な演算回路の構成を提案し、その評価を行った。

演算器の多段化による演算回路の高機能化

 近年のマイクロプロセッサでは、トランジスタサイズの微細化に伴い、ALUで実行される単位演算あたりの演算時間が短縮される傾向にある。しかしながら、システムが要求するキャッシュメモリの規模も増大傾向にあり、メモリアクセスのレイテンシが相対的に増加する傾向にある。このため、ALUの演算時間をクリティカルパスとする設計が困難になりつつある。この問題点を鑑みると、今後の情報処理システムにおいては、1サイクルで処理する演算の高機能化を実現することが有用であると考えられる。スーパースカラやVLIWのような、複数の演算器により、互いに依存しない命令を並列に実行するアーキテクチャはこの傾向に向かっていると言える。しかしながら、これらのアーキテクチャでは、命令間に依存関係がある場合にストールが生じ、実行効率が低下する。一般的なアプリケーション中には、依存関係を有する命令の割合が高く、逐次的処理により性能が律速する場合も存在する。従って、単に並列性に依存した性能の向上には限界がある。

 そこで、本研究では、演算器の直列接続により実行し得る命令を高機能化することを提案する。図1に、スーパースカラ機構に直列接続を加えたALUのブロック図を示す。2組の演算器を直列に接続しうるデータパスを追加し、真の依存関係にある2命令の場合でも同一サイクル中に逐次的に実行することを可能とした。また、桁上げ保存加算器(CSA)を配置し、先行命令の加算に用いることも合わせて提案した。このとき、加減算→加減算の直列実行は、CSA→CLAのパスを用いることで従来と同当の演算時間で完了することが可能となる。

図1.直列実行を可能にするスーパースカラープロセッサの構成

 本機構を導入することにより、命令の実行効率を向上させることが可能となる。エミュレーションにより本機構の効果を評価した結果を図2に示す。従来の並列実行のみのアーキテクチャと比較して、サイクル数が約10%程度軽減される例を確認した。

図2.直列実行による実行サイクル数の低減

 更に、前記の機構を拡張して、CSAを多段に接続した構成を有する多直列多機能演算回路を提案した。整数乗算器内の直列構造を利用することで、ハードウェアコストの増加を少なくして同回路を実現した。本回路を用いることで、依存関係にある複数の命令を短時間に実行することが可能となり、1サイクルで実行しうる演算処理をさらに高機能化することが可能となる。

時間多重による演算回路の高性能化

 先に検討した演算器の空間を空間的に多重化するアーキテクチャは、情報処理システムの性能向上に有益であるものの、演算器の占める面積が増大するため、面積効率を重視する用途には不向きである。そこで、面積当りの演算能力を向上させる方策として、演算を時間方向に多重化するアーキテクチャを提案する。

 マイクロプロセッサにより実行される演算命令のうち、加減算の演算時間は桁上げ信号の伝搬を伴い、ビット数に依存した長い時間を要する。これに対し、論理・シフト演算ではビット数に依存しない短時間で演算が完了する。前者に要する演算時間を1サイクルとするアーキテクチャでは、後者の演算では1サイクルの演算時間が有益に利用されない。

 そこで、加減算の演算時間を複数のサイクルに分割し、桁上げを保存した冗長2進コードを生成するサイクルと、それらを加算して2進コードに変換するサイクルに分割することを提案する。加減算結果を再び加減算が利用する場合には、先行命令の演算結果を冗長2コードで伝搬することが可能となり、先行命令が2進コード化を実行するのと同時に後続の加算命令を多重化して実行することが可能である。図3に、冗長2進演算を行うALUの構成を示す。論理演算及びシフト演算は、通常通り冗長部のない2進コードを用いて演算する。加減算は、4:2compressorを用いて演算し、冗長2進コードを出力する。冗長2進ALUを用いることで、加減算の演算を含めた全ての演算を、ビット幅によらない短時間で完了することが可能となる。加減算により得られた冗長2進コードは、後段にパイプライン化したCLAを用意してレジスタファイルに書き込むまでに2進コード化する。

図3.冗長2進演算を利用したALUの構成

 また、図4に同ALUを用いたマイクロプロセッサの構成を示す。冗長2進ALUを用いることで実行パイプラインの動作速度を2倍とすることが可能である。前記のように、後続の加減算が結果を必要とする場合には2進コード化を待たずにデータをフォワーディングすることが可能であり、実効的な演算は1サイクルで完了する。提案したアーキテクチャでは、実効的な演算時間を短縮することが可能であり、また、面積の増加も少なく、面積当たりの演算効率を高くすることが可能である。

図4.冗長2進ALUを用いたマイクロプロセッサの構成

 また、時間多重の演算と、前節の空間多重の両者を応用し、面積効率の高いディジタル・ニューラル・ネットワークを構成した(図5)。各シナプス回路では1ビットの加算を行い、演算結果を空間的に多重化された次段のシナプス回路に伝搬していくことで、入力ベクトルと荷重ベクトルとの距離をニューロン全体とし演算する。演算が単純である為高速動作が可能で、時間的多重化によりスループットを向上することが出来る。また、本アーキテクチャでは、シナプス回路が単純化されるため、空間的に多数のシナプスを集積して、単位面積の演算能力を高めることが可能である。同アーキテクチャによるニューロプロセッサは、100MHzの駆動を仮定すると25.6GCPS/cm2の性能を呈すると予測される。

図5.時間方向・空間方向多重によるニューロプロセッサ
カオス現象を用いた機能回路

 前節までに、情報処理システムの高性能化及び高機能化を主にアーキテクチャレベルで実現する為の方策について述べたが、本節では基本回路そのものを高機能化することを目的として、単純な回路が呈するカオス現象について解析を行い、その情報処理回路への応用を提案する。図6に、本研究により見出されたカオス発生回路の構成を示す。容量Cをnpnトランジスタのコレクタ端に接続し、この容量及びトランジスタのエミッタ端との間に交流電圧を印加し、ベース端には定電流を流入させる。この単純な回路は、動作条件によりカオス現象を呈する。図7に、カオス状態にある系のベース電位の極小値に関するローレンツプロットを図示する。ベース電位は一見ランダムに振る舞い、様々な値を取るものの、ある値とその次の値との写像関係は図の様に一意に定まる。トランジスタの動作を解析することにより同写像関係の生成機構を同定した結果を図8に示す。

図6.本研究で見出されたカオス発生回路図7.ベース電位の極小値によるローレンツプロット図8.解析結果

 本系は、動作条件により決定論的あるいは確率的な特性を呈するように制御する事が可能であり、制御可能なノイズ源としての応用が可能である。同回路は単純な構成で実現可能であり、ボルツマンマシンなどの確率的動作を必要とするニューラルネットワークに利用することにより、より大規模のニューラルネットワークを実現することが可能となる。

まとめ

 第2節で論じた、演算器を空間的に直列に構成するアーキテクチャは、1サイクルでの演算能力を高機能化するのに有用であり、面積の制約が緩いシステムの演算性能の向上に有用である。これに対し、第3節で論じた時間多重による演算器構成は、面積効率を重視する必要がある場合に有用である。また、第4節では、集積回路中に生じるカオス現象について、その生成機構を同定するとともに、その確率的動作を用いた新たな演算回路の実現に関する検討を行い、その可能性を示した。

 本研究で得られた成果は、大規模集積情報処理システムの高性能化及び高機能化を実現するための有用な指針となるものと考える。

審査要旨

 本論文は大規模集積情報処理システムの高性能化および高機能化に関するもので、本文9章からなる。

 第1章は序論であって、今後達成の予想されるマイクロプロセッサを中心とした情報処理システムの大規模化を述べるとともに、従来行われてきた高性能化手法に関する問題点を述べ、これを克服するために新しいアーキテクチャや、ニューロプロセッサのような新しいアプローチの研究が必要であることを論じている。

 第2章は、「直列実行機構を有するマイクロプロセッサアーキテクチャ」に関する研究成果を述べたもので、既存のスーパースカラ機構にCSA(桁上げ保存加算器)を導入してデータパスを構成したプロセッサの試作を述べ、直列実行機構を容易に導入する手法及び演算器の制御法を示している。また、CSAを多段に接続し、複数の命令を多直列に演算する機能を付加した乗算器の構成を提案し、同演算器が従来の乗算器と比して少ないコストで導入可能であることを示している。

 更に第3章において、「直列実行機構を有するALUの最適設計」に関する研究成果を述べ、直列演算時のレイテンシの伸長を抑えた直列実行ALUの回路構成を提案している。同ALUは、既存のスーパスカラ機構に容易に導入することが可能で、16.6%のレイテンシの伸長で直列実行機構が導入し得ることを示している。同ALUを用いてプロセッサを設計することで、動作周波数を低くして演算性能を向上させ、消費電力あたりの演算性能を向上させることが可能となることを論じている。

 第4章は、「冗長2進演算を利用したマイクロプロセッサアーキテクチャ」に関する研究成果を述べたもので、ALUの入力部に4:2コンプレッサを導入し、桁上げ保存信号の入力を可能とするとともに、4:2コンプレッサ部の演算時間でパイプライン化することにより、実行パイプラインのレイテンシを短縮することを可能とする機構をはじめて提案している。また、従来のスーパパイプライン機構と比較してデータ依存によるストール確率が軽減されることを示している。さらに、同手法を用いたマイクロプロセッサの試作を行い、同機構をマイクロプロセッサに導入する際に必要となるデータパスの構成法やその制御法を明らかにしている。

 第5章は、「ロードアドレス予測機構」に関する研究成果を述べたもので、ロード命令の命令アドレスをタグとし、前回アクセスしたデータアドレスを保持するロード命令キャッシュを導入し、命令のデコードと同時にデータキャッシュをアクセスする機構により、ロード命令のレイテンシを削減することを可能とする概念を提案している。更に、同機構をマイクロプロセッサに適用することにより削減されるサイクル数の予測を行い、性能向上に有意な効果が認められることを示している。

 第6章は、「時間多重化空間多重化の併用によるディジタルニューロプロセッサの高性能化」に関する研究成果について述べたもので、1ビット全加算器を基本演算要素とし、レイテンシを短縮するとともに集積数を向上して、単位面積あたりの演算能力が14.4GCPSに達するニューロプロセッサの試作例を示している。また、同時に消費電力の増大についても述べ、消費電力及び回路遅延の両面からの最適設計が重要であることを論じている。

 第7章は、「カオス現象を利用した機能回路」と題し、これまでに述べたディジタル回路のみでは実現し難い用途を補完するための機能回路の実現例として、集積回路中のカオス現象を用いたノイズ生成回路を提案し、確率分布の均等なノイズ値を生成することを示したのち、集積回路による実装例を示している。

 更に第8章にて、「カオス現象の発生機構の定量解析」に関する研究成果を述べ、本研究で新たに見出されたカオス生成回路の特性を定量的に解析し、測定結果と良好な一致を得る解析式を提示して、前章のカオス集積回路を設計するためのデバイスモデルを明らかにしている。

 第9章は結論であって、第2章から第8章で得られた成果を要約し、提案された各種機構の特徴からそれぞれが適する分野を論じて、本研究で提案された各機構が大規模集積情報処理システムの高性能化あるいは高機能化の実現にあたって有用であることを示している。

 以上のように本論文は、大規模集積情報処理システムの高性能化と高機能化を目的として、マイクロプロセッサのアーキテクチャに関し新しい提案を行ってそれを評価するとともに、その機能を補完するニューロプロセッサ、特にカオス生成素子について独創的な提案を行い、カオス生成回路の設計に用いるデバイスモデルを明らかにしたもので、電子情報工学上貢献するところが多大である。

 よって本論文は博士(工学)の学位請求論文として合格と認められる。

UTokyo Repositoryリンク