(57)【特許請求の範囲】
【請求項１】
クロック信号を生成するクロック発生回路を有する制御装置、及び、前記クロック信号に同期した演算論理動作を実行する演算論理装置を含むプロセッサと、
複数のセルの列方向の配列からなるメモリユニットを複数個、前記列方向に更に配列し、それぞれのメモリユニットに対しそれぞれ一組の情報群を前記列方向の配列に沿って前記複数のセルに格納し、前記メモリユニットの複数個を前記列方向に配列した構成を、複数個、更に行方向に配列したアレイを含むマーチング主記憶装置と、
を備える計算機システムであって、
前記マーチング主記憶装置が、前記列方向に配列されたそれぞれのメモリユニットのそれぞれの前記複数のセルの配列に対応して設けられた、前記アレイの入力端子列及び出力端子列を更に有し、
前記出力端子列の少なくとも一部を前記演算論理装置に接続し、
前記入力端子列を介して、前記列方向に配列された複数のメモリユニットのそれぞれの前記複数のセルに、一組の情報群が入力され、
前記クロック信号に同期して、前記列方向に配列された複数のメモリユニットのそれぞれに格納された情報群を、前記出力端子列の方向に前記アレイの内部において隊列進行させ、該隊列進行された前記複数のメモリユニットのそれぞれに格納された情報群を前記出力端子列の前記少なくとも一部を介して前記プロセッサにパラレルに出力し、
前記演算論理装置が、前記出力端子列の前記少なくとも一部を介して逐次入力された前記情報群を用いた演算論理動作を、前記クロック信号に同期して逐次実行可能であることを特徴とする計算機システム。
【請求項２】
前記出力端子列の他の一部が、前記制御装置に接続され、
前記列方向に配列された複数のメモリユニットの内の、前記出力端子列の前記他の一部に対応する行上のメモリユニットのそれぞれのセルに一組の命令群が前記列方向に格納され、
前記クロック信号に同期して、前記出力端子列の前記他の一部方向に向かう一組の命令群が隊列進行し、
前記出力端子列の前記他の一部から、前記一組の命令群の流れが前記制御装置に入力し、
該入力された前記一組の命令群の流れを用いて、前記演算論理装置が、前記演算論理動作を実行することを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記列方向に配列された複数のメモリユニットのそれぞれが、
前記クロック信号に同期して、前記一組の情報群を前記出力端子列方向に隊列進行させるために用いる第１のセルの配列と、
第２のクロック信号に同期して、一組の情報群を前記入力端子列方向に隊列進行させるために用いる第２のセルの配列とを有することを特徴とする請求項１又は２に記載の計算機システム。
【請求項４】
前記列方向に配列された複数のメモリユニットの一部が、前記クロック信号に同期して、前記一組の情報群を前記出力端子列方向に隊列進行させるために用いる複数の第1のセルの配列からなる第1のメモリユニットを含み、
前記列方向に配列された複数のメモリユニットの他の一部が、第２のクロック信号に同期して、一組の情報群を前記入力端子列方向に隊列進行させるために用いる第２のセルの配列からなる第２のメモリユニットを含むことを特徴とする請求項１又は２に記載の計算機システム。
【請求項５】
前記クロック信号と前記第２のクロック信号を選択するクロック・セレクタを更に備え、
前記制御装置が前記クロック・セレクタに前記第２のクロック信号を選択させることにより、前記演算論理装置の処理の結果が一組の情報群として前記出力端子列の前記少なくとも一部を介して前記マーチング主記憶装置に逐次入力され、前記アレイの内部を前記入力端子列方向に隊列進行されることを特徴とする請求項３又は４に記載の計算機システム。
【請求項６】
前記複数のメモリユニットがチップ上で２次元で配置されて前記アレイを構成していることを特徴とする請求項１〜５のいずれか１項に記載の計算機システム。
【請求項７】
複数の前記チップが、３次元の前記メモリユニット・アレイを形成するように、放熱板をそれぞれの間に挟んで、垂直に積層されていることを特徴とする請求項６に記載の計算機システム。
【請求項８】
前記プロセッサが、前記一組の情報群の流れを前記出力端子列の前記少なくとも一部を介して前記マーチング主記憶装置から前記クロック信号に同期して逐次入力する、複数の演算パイプラインを更に含むことを特徴とする請求項１〜７のいずれか１項に記載の計算機システム。
【請求項９】
クロック信号を生成するクロック発生回路を有する制御装置、及び、前記クロック信号に同期した演算論理動作を実行する演算論理装置を含むプロセッサと、
複数のセルの列方向の配列からなるメモリユニットを複数個、前記列方向に更に配列し、それぞれのメモリユニットに対しそれぞれ一組の情報群を前記列方向の配列に沿って前記複数のセルに格納し、前記メモリユニットの複数個を前記列方向に配列した構成を、複数個、更に行方向に配列したアレイを含むマーチング主記憶装置と、
前記列方向に配列された複数のメモリユニットの少なくとも一部のメモリユニットのそれぞれの配列位置に対応して、前記列方向に一組の情報群をそれぞれ格納するように配置されたキャッシュメモリユニットを複数個、前記列方向に更に配列し、前記キャッシュメモリユニットの複数個が前記列方向に配列された構成を、複数個、更に行方向に配列したマーチングキャッシュアレイを有するマーチング・キャッシュメモリと、
を備える計算機システムであって、
前記マーチング主記憶装置が、前記複数のセルの列方向の配列に対応して設けられた前記アレイの入力端子列及び出力端子列を更に有し、
前記マーチング・キャッシュメモリが、前記マーチング主記憶装置の前記出力端子列に接続されて前記マーチング主記憶装置に格納された前記一組の情報群を入力する前記マーチングキャッシュアレイのキャッシュ入力端子列と、前記マーチングキャッシュアレイのキャッシュ出力端子列を更に有し、前記キャッシュ出力端子列を前記演算論理装置に接続し、
前記入力端子列を介して前記マーチング主記憶装置に前記列方向の配列を一組とする情報群が逐次入力され、前記クロック信号に同期して、前記列方向に配列された前記一組の情報群を前記出力端子列の方向に前記アレイの内部において隊列進行させ、該隊列進行された前記一組の情報群を、前記出力端子列と前キャッシュ入力端子列を介して前記マーチングキャッシュアレイに転送し、
該転送された前記一組の情報群を前記キャッシュメモリユニットのそれぞれに列方向に逐次格納し、前記クロック信号と同期して、前記一組の情報群を隣接するキャッシュメモリユニットにそれぞれ隊列進行させ、該隊列進行された前記一組の情報群を、前記キャッシュ出力端子列を介して前記プロセッサにパラレルに出力し、
前記演算論理装置が、前記キャッシュ出力端子列を介して逐次入力された前記一組の情報群の流れにより演算論理動作を、前記クロック信号に同期して逐次実行可能であることを特徴とする計算機システム。
【請求項１０】
前記演算論理装置が、それぞれベクトル処理装置を有する複数の演算パイプラインを更に含むがことを特徴とする請求項９に記載の計算機システム。
【請求項１１】
クロック信号を生成するクロック発生回路を有する制御装置、及び、前記クロック信号に同期した演算論理動作を実行する演算論理装置を含むプロセッサと、
複数のセルの列方向の配列からなるメモリユニットを複数個、前記列方向に更に配列し、それぞれのメモリユニットに対しそれぞれ一組の情報群を前記列方向の配列に沿って前記複数のセルに格納し、前記メモリユニットの複数個を前記列方向に配列した構成を、複数個、更に行方向に配列したアレイを含むマーチング主記憶装置と、
前記列方向に配列された複数のメモリユニットの少なくとも一部のメモリユニットのそれぞれの列上の配列位置に対応して、前記一組の情報群をそれぞれ格納するように配置されたキャッシュメモリユニットを複数個、前記列方向に更に配列し、前記キャッシュメモリユニットの複数個が前記列方向に配列された構成を、複数個、更に行方向に配列したマーチングキャッシュアレイを有するマーチング・キャッシュメモリと、
前記キャッシュメモリユニットの列方向の配列位置に対応して配置されたベクトルレジスタユニットを複数個、行方向に配列して有するマーチング・ベクトルレジスタのアレイと、
を備える計算機システムであって、
前記マーチング主記憶装置が、前記複数のセルの列方向の配列に対応して設けられた前記アレイの入力端子列及び出力端子列を更に有し、
前記マーチング・キャッシュメモリが、前記マーチング主記憶装置の前記出力端子列に接続されて前記マーチング主記憶装置に格納された前記一組の情報群をベクトル情報として入力する前記マーチングキャッシュアレイのキャッシュ入力端子列と、前記ベクトル情報を出力する前記マーチングキャッシュアレイのキャッシュ出力端子列を更に有し、
前記複数のマーチング・ベクトルレジスタが、前記マーチング・ベクトルレジスタのアレイのベクトルレジスタ入力端子列とを有し、
前記キャッシュ出力端子列を前記ベクトルレジスタ入力端子列に接続し、
前記複数の前記マーチング・ベクトルレジスタを前記演算論理装置に接続し、
前記入力端子列を介して前記マーチング主記憶装置に前記列方向の配列を一組とする情報群が逐次入力され、前記クロック信号に同期して、前記列方向に配列された前記一組の情報群を前記出力端子列の方向にベクトル情報として前記アレイの内部において隊列進行させ、該隊列進行された前記ベクトル情報を、前記出力端子列と前キャッシュ入力端子列を介して前記マーチングキャッシュアレイに転送し、
該転送された前記ベクトル情報を構成する前記一組の情報群を、前記キャッシュメモリユニットのそれぞれに列方向に逐次格納し、前記クロック信号と同期して、前記一組の情報群を隣接するキャッシュメモリユニットにベクトル情報としてそれぞれ逐次転送し、該逐次転送された前記ベクトル情報を、前記マーチング・キャッシュメモリが、前記キャッシュ出力端子列を介して前記マーチング・ベクトルレジスタのアレイに出力し、
前記マーチング・ベクトルレジスタのアレイが、前記ベクトル情報を前記ベクトルレジスタユニットのそれぞれに格納し、
前記マーチング・ベクトルレジスタのアレイが、前記ベクトル情報を逐次、前記演算論理装置にパラレルに出力し、前記演算論理装置は前記ベクトル情報を、前記クロック信号に同期して逐次実行可能であることを特徴とする計算機システム。
【請求項１２】
前記一組の情報群のそれぞれの列上の配列位置に対応して配置された、スカラレジスタユニットの複数個を行方向に配列したスカラレジスタユニットのアレイと、
該アレイのスカラレジスタ入力端子列
とを更に有し、前記スカラレジスタユニットのアレイが格納されるべきスカラ情報を前記マーチング・キャッシュメモリから前記スカラレジスタ入力端子列を介して入力するように構成され、前記スカラ情報を前記スカラレジスタユニットに格納し、前記クロック信号に同期して、格納された前記スカラ情報を前記演算論理装置に転送し、前記スカラ情報を前記演算論理装置が実行可能なように構成したことを特徴とする請求項１１に記載の計算機システム。
【請求項１３】
前記制御装置が、前記マーチング主記憶装置と前記マーチング・キャッシュメモリと前記マーチング・ベクトルレジスタ又は前記マーチング・スカラレジスタとの動作を切り替え、制御するフィールド・プログラマブル・ゲートアレイを更に有していることを特徴とする請求項１２に記載の計算機システム。
【請求項１４】
前記マーチング主記憶装置と前記マーチング・キャッシュメモリが同じ前記チップ上に集積化されていることを特徴とする請求項１１〜１３のいずれか１項に記載の計算機システム。
【請求項１５】
前記演算論理装置を構成するベクトル処理装置の少なくとも一つとマーチング・ベクトルレジスタの少なくとも一つが、同一チップ上に集積化されていることを特徴とする請求項１１〜１４のいずれか１項に記載の計算機システム。
【請求項１６】
前記演算論理装置を構成するベクトル処理装置とマーチング・ベクトルレジスタとを集積化した第１のチップと、
前記マーチング・キャッシュメモリを集積化した第２のチップと、
前記マーチング主記憶装置を集積化した第３のチップ
とが、垂直に積層され、それぞれの間に放熱板を挟んでいることを特徴とする請求項１１〜１５のいずれか１項に記載の計算機システム。
【請求項１７】
前記演算論理装置がプロセッサコアを形成していることを特徴とする請求項１１〜１６のいずれか１項に記載の計算機システム。
【請求項１８】
前記プロセッサが複数の前記プロセッサコアを含むことを特徴とする請求項１７に記載の計算機システム。
【請求項１９】
複数のキャッシュメモリユニットの第２のアレイと、
前記マーチング主記憶装置から、格納された前記ベクトル情報を入力する該第２のアレイのキャッシュ入力端子列と、
該第２のアレイのキャッシュ出力端子列
とを有し、前記ベクトル情報を、該第２のアレイの前記複数のキャッシュメモリユニットのそれぞれに前記一組の情報群毎に格納し、前記第２のアレイの前記複数のキャッシュメモリユニットのそれぞれに格納された前記一組の情報群情報を、前記クロック信号に同期して、前記第２のアレイの前記キャッシュ入力端子列側に隣接する前記キャッシュメモリユニットから、前記第２のアレイの前記キャッシュ出力端子列側に隣接する前記キャッシュメモリユニットに向かう方向に、前記クロック信号と同期して、連続的に転送し、前記第２のアレイに格納された前記ベクトル情報を、前記プロセッサに前記第２のアレイの前記キャッシュ出力端子列を介して能動的に逐次出力し、前記プロセッサコアが前記第２のアレイに格納された前記ベクトル情報により動作できる、第２のマーチング・キャッシュメモリを更に備えることを特徴とする請求項１８に記載の計算機システム。
【請求項２０】
複数のレジスタファイル・セルのアレイと、
前記マーチング・キャッシュメモリから、格納された前記ベクトル情報を入力する該アレイのレジスタファイル入力端子列と、
該アレイのレジスタファイル出力端子列
とを有し、前記ベクトル情報を前記複数のレジスタファイル・セルのそれぞれに格納し、前記クロック信号に同期して、前記複数のレジスタファイル・セルのそれぞれに格納された前記ベクトル情報を、前記レジスタファイル・入力端子列側に隣接するレジスタファイル・セルから、前記レジスタファイル出力端子列側に隣接するレジスタファイル・セルに向かう方向に、前記クロック信号に同期して転送し、格納された前記ベクトル情報を前記プロセッサコアに前記レジスタファイル出力端子列を介して能動的に逐次出力する、マーチング・レジスタファイルを更に備えることを特徴とする請求項１８に記載の計算機システム。
【請求項２１】
前記制御装置が、前記マーチング主記憶装置と前記マーチング・キャッシュメモリと前記マーチング・レジスタファイルとの動作を切り替え、制御するフィールド・プログラマブル・ゲートアレイを更に有していることを特徴とする請求項２０に記載の計算機システム。
【請求項２２】
前記マーチング主記憶装置と前記マーチング・キャッシュメモリが同一のチップ上に集積化されていることを特徴とする請求項１１〜２１のいずれか１項に記載の計算機システム。
【請求項２３】
前記マーチング・レジスタファイルと前記プロセッサコアの少なくとも一つとが、同一のチップ上に集積化されていることを特徴とする請求項１８に記載の計算機システム。
【請求項２４】
クロック信号を生成するクロック発生回路を有する制御装置、及び、前記クロック信号に同期した演算論理動作を実行する演算論理装置を含むプロセッサと、主記憶装置とを備える計算機システムに用いる前記主記憶装置であって、
複数のセルの列方向の配列からなるメモリユニットを複数個、前記列方向に更に配列し、前記メモリユニットの複数個の前記列方向の配列を、複数個、更に行方向に配列したアレイと、
前記列方向に配列されたそれぞれのメモリユニットのそれぞれの前記複数のセルの配列に対応して前記アレイに設けられた、入力端子列及び出力端子列とを備え、
前記出力端子列の少なくとも一部を前記演算論理装置に接続し、
前記入力端子列を介して、前記列方向に配列された複数のメモリユニットのそれぞれの前記複数のセルに、一組の情報群が入力され、
前記クロック信号に同期して、前記列方向に配列された複数のメモリユニットのそれぞれに格納された情報群を前記出力端子列の方向に前記アレイの内部において隊列進行させ、該隊列進行された前記複数のメモリユニットのそれぞれに格納された情報群を前記出力端子列の前記少なくとも一部を介して前記プロセッサにパラレルに出力し、
前記演算論理装置が、前記出力端子列の前記少なくとも一部を介して逐次入力された、前記情報群を用いた演算論理動作を、前記クロック信号に同期して逐次実行可能であることを特徴とする主記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、低エネルギー消費で高速で動作する、計算機システムに関する。
【背景技術】
【０００２】
フォン・ノイマンなどが６０年以上も前にプログラム内蔵電子計算機を開発したとき以来、根本的なメモリ・アクセス法の原理は変わっていない。計算機の処理速度は高性能計算（ＨＰＣ）アプリケーションの全体的な範囲において年を追って益々高まってきたが、それは、メモリ・アクセスを回避する（キャッシュの使用など）デバイス技術またはスキームの何れかによって実現したものである。しかし、メモリ・アクセス時間が電子計算機の性能を制限する。現在、計算機システムは、図１に示すように、多数のプロセッサ１１と大規模な主記憶装置３３１とを使用している。
【０００３】
図１に示す計算機システムは、プロセッサ１１とキャッシュメモリ（３２１ａ、３２１ｂ）と主記憶装置３３１とを含む。プロセッサ１１は、クロック信号を生成するクロック発生回路１１３を有する制御装置１１１と、クロック信号に同期して演算論理動作を実行する演算論理装置（ＡＬＵ）１１２と、制御装置１１１に接続された命令レジスタファイル（ＲＦ）３２２ａと、ＡＬＵ１１２に接続されたデータ・レジスタファイル（ＲＦ）３２２ｂとを含む。キャッシュメモリ（３２１ａ、３２１ｂ）は、命令キャッシュメモリ３２１ａとデータ・キャッシュメモリ３２１ｂとを有する。主記憶装置３３１の一部と命令キャッシュメモリ３２１ａとは、メモリ・アクセス時間を制限する（又は、フォン・ノイマン・ボトルネックを有する）配線及び／又はバス３５１により電気的に接続されている。主記憶装置３３１の残部と、データ・キャッシュメモリ３２１ｂとは、同様のメモリ・アクセス３５１を可能にするように電気的に接続されている。更に、メモリ・アクセスを実現する配線及び／又はバス３５２は、データ・キャッシュメモリ３２１ｂとメモリ・キャッシュメモリ３２１ａと、命令レジスタファイル３２２ａとデータ・レジスタファイル３２２ｂとの間を電気的に接続している。
【０００４】
ＨＰＣシステムは高速で低エネルギー消費で動作することが期待されているが、メモリ・アクセスのボトルネック３５１、３５２のために、速度制限がある。ボトルネック３５１、３５２はプロセッサ１１と主記憶装置３３１との間の配線に起因する。何故ならば、配線長が計算機に対するアクセスを遅延し、且つ、配線間に存在する浮遊容量が更なる遅延を招くからである。このような容量が、プロセッサ１１のプロセッサ・クロック周波数に比例する、更なる電力消費を必要とさせる。
【０００５】
現在、一部のＨＰＣプロセッサは、幾つかのベクトル演算パイプラインを用いて形成されている。このベクトル・プロセッサは、メモリの帯域幅を巧みに用いているので、ベクトル表記法で表現できるＨＰＣアプリケーションに適した、優れたマシンになる。ベクトル命令は、ソース・プログラムのループから作られ、これらのベクトル命令のそれぞれ、ベクトル・プロセッサ又は並列プロセッサにおいて対応するユニットの演算パイプラインで実行される。これらの処理スキームの結果は、同じ結果を与えている。
【０００６】
しかし、ベクトル・プロセッサ・ベースのシステムも、メモリ・ボトルネック３５１、３５２をすべてのユニット間で有する。広いメモリと大きな帯域幅をもつ単一システムでも、同じボトルネック３５１、３５２が現れる。なおかつ、システムが並列プロセッサとして多数の同じユニットから成る場合、ボトルネック３５１、３５２は回避が難しくなる。
【０００７】
従来の計算機システムには、２つの本質的なメモリ・アクセスの問題がある。第１の問題は、メモリ・チップとキャッシュの間またはチップ上のこれらの２つのユニットの間だけでなくメモリ・システムの内部に存在する配線である。チップ間において、これらの２つのチップ／ユニット間の配線は、結果として、容量に起因する大きな動的電力消費と配線信号の時間遅延になる。これは、アクセス・ラインと残りの読出／書込ラインとに関連してメモリ・チップ内の内部配線の問題に進展する。したがって、メモリ・チップ間及びメモリ・チップ内の配線の両方に、これらの配線がもつ静電容量に起因するエネルギー消費が存在する。
【０００８】
第２の問題は、プロセッサ・チップとキャッシュとメモリ・チップとの間のメモリ・ボトルネック３５１、３５２である。ＡＬＵはキャッシュ又はメモリの任意の部分にアクセスできるので、アクセス経路３５１、３５２は、長い長さのグローバル配線から成る。これらのパスは、使用可能な配線の数にも制限がある。特に、高速のＣＰＵと大容量のメモリがある時に、見かけのボトルネックが、これらの２つの間に基本的に存在する。
【０００９】
ボトルネックを除去する鍵は、ＣＰＵと同じメモリ・クロック・サイクルを有することである。第１に、アドレス指定手順を作成して、メモリ・アクセスを改善しなければならない。第２に、より長い配線に起因する時間的な遅延を、メモリの内部とメモリの外部の両方で大幅に減少しなければならない。
【００１０】
これらの２つの課題を解決することによって、メモリとＣＰＵの間の高速結合が成されるので、メモリ・ボトルネックの無い計算機が実際に可能になる。
【００１１】
プロセッサは、これらの問題のために総エネルギーの７０％を費やしており、これは、図３２に示すように、命令供給用の４２％とデータ用の２８％とに分割される。配線の問題は、電力消費だけでなく信号の時間的な遅延も誘発する。配線の問題を克服することは、データ／命令の流れを制限する、ボトルネック３５１、３５２の消滅を意味する。我々がチップ間及びチップ内の配線を除去できれば、電力消費と時間的な遅延とメモリ・ボトルネック３５１、３５２の問題が解決できることになる。
【発明の概要】
【００１２】
本発明の特徴は（ａ）クロック信号を生成するクロック発生回路を有する制御装置、及び、クロック信号に同期した演算論理動作を実行する演算論理装置を含むプロセッサと、（ｂ）それぞれ一組の情報群を格納したメモリユニットのアレイ、このアレイの入力端子及び出力端子を有し、情報をメモリユニットのそれぞれに格納し、且つ、クロック信号に同期して、ステップごとに、出力端子の方向に転送し、格納された情報をプロセッサに能動的に逐次出力し、演算論理装置が演算論理動作を、格納された情報により実行可能であり、更に、命令の転送の場合には、プロセッサに向かう命令の流れのみを一方向に規定して、演算論理装置の処理の結果が入力されるマーチング主記憶装置とを備える計算機システムことである。
【図面の簡単な説明】
【００１３】
【図１】従来の計算機システムの構成を示す概略的なブロック図である。
【図２】本発明の第１の実施の形態に係る計算機システムの基本構成を示す概略的なブロック図である。
【図３】本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置を形成するメモリユニットのアレイと、マーチング主記憶装置における情報の転送とを示す図である。
【図４】本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置のセル・レベルにおける表現を示す図である。
【図５】本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置に適用されるように構成されたクロック信号の波形の一例を示す図である。
【図６】本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置のセル・レベルにおける表現におけるセルのそれぞれのＡＮＤゲートの回路構成の一例を示す図である。
【図７】本発明の第１の実施の形態に係る計算機システムに用いる逆方向マーチング主記憶装置を形成するメモリユニットのアレイと、逆方向マーチング主記憶装置における情報の逆方向の転送とを示す図である。
【図８】図８（ａ）は、図７で示した逆方向マーチング主記憶装置のセル・レベルにおける表現においてｉ番目の行を形成するアレイ上のセルのそれぞれのＡＮＤゲートの回路構成の一例を示し、図８（ｂ）は、図７で示した逆方向マーチング主記憶装置に適用されるように構成されたクロック信号の波形の一例を示す図である。
【図９】本発明の第１の実施の形態に係る計算機システムにおいて、マーチング主記憶装置のメモリユニット・ストリーミング時間とプロセッサ（ＣＰＵ）のクロック・サイクルとの間の時間領域での関係を示す図である。
【図１０】本発明の第１の実施の形態に係る計算機システムの構成を概略的に示す。図１０では、メモリ・ボトルネックが、本発明の第１の実施の形態に係る計算機システムにおいて、プロセッサ（ＣＰＵ）とマーチング主記憶装置を含めたマーチング記憶装置構造との間で消滅している。
【図１１】図１１（ａ）は、本発明の第１の実施の形態に係る計算機システムにおいて、マーチング主記憶装置を含むマーチング記憶装置構造からプロセッサ（ＣＰＵ）に流れる前方向に移動するデータ流と、プロセッサ（ＣＰＵ）からマーチング記憶装置構造に流れる後方向に移動するデータ流とを示し、図１１（ｂ）は、マーチング記憶装置構造のメモリユニット・ストリーミング時間がプロセッサ（ＣＰＵ）のクロック・サイクルと等しいという理想的な条件のもとで、マーチング記憶装置構造とプロセッサ（ＣＰＵ）との間で作られた帯域幅を示す図である。
【図１２】図１２（ａ）は、情報の隊列進行状況（前方向に向かう隊列進行状況）の具体的なイメージを示す。図１２（ａ）では、情報は１次元のマーチング主記憶装置の右手方向に向けて隊列進行（シフト）する。図１２（ｂ）は１次元のマーチング主記憶装置の漂遊状態を示し、図１２（ｃ）は、情報が逆方向に向かって隊列進行する状況（後方向に向かう隊列進行状況）の具体的なイメージを示す。図１２（ｃ）では、情報は、本発明の第１の実施の形態に係る計算機システムにおいて、１次元のマーチング主記憶装置の左手方向に向けて隊列進行（シフト）している。
【図１３】本発明の第１の実施の形態に係る計算機システムにおいて、命令またはスカラデータを格納して双方向に転送する、図１２（ａ）〜（ｃ）に示した双方向の転送状況を達成できる、１次元のマーチング主記憶装置の回路構成の一例を示す図である。
【図１４】図１４（ａ）は、プロセッサに隣接した１次元のマーチング主記憶装置における命令の双方向転送モードを示し、命令は、プロセッサの方向に向けて移動し、且つ左手側に配置された次段のメモリから、又は次段のメモリに向けて移動する。図１４（ｂ）は、ＡＬＵに隣接した１次元のマーチング主記憶装置におけるスカラデータの双方向転送モードを示し、スカラデータは、ＡＬＵに向けて移動し、且つ次段のメモリから、又は次段のメモリに向けて移動する。図１４（ｃ）は、パイプラインに隣接した１次元のマーチング主記憶装置におけるベクトルデータ又はストリーミングデータの単一方向転送モードを示し、ベクトルデータ又はストリーミングデータは、パイプラインに向けて移動し、且つ次段のメモリから移動する。
【図１５】図１５（ａ）は、図１５（ｂ）と比較するものであり、各メモリユニットがアドレスでラベル表示されている現行の記憶装置の内部構成を示し、図１５（ｂ）は、本発明の１次元のマーチング主記憶装置の内部構成を示す。図１５（ｂ）では、それぞれのメモリユニットの位置指定が、ベクトルデータ又はストリーミングデータで連続するメモリユニットの配列の開始ポイントと終了ポイントとを識別するために少なくとも必要である。
【図１６】図１６（ａ）は、本発明の１次元のマーチング主記憶装置の内部構成を示す。図１６（ａ）では、それぞれのメモリユニットの位置指定が、ベクトル命令で連続するメモリユニットの配列の開始ポイントと終了ポイントとを識別するために少なくとも必要である。図１６（ｂ）は、スカラデータ用の本発明の１次元のマーチング主記憶装置の内部構成を示す図である。図１６（ｃ）は、本発明の１次元のマーチング主記憶装置の内部構成を示す。図１６（ｃ）では、位置インデックスが、ベクトルデータ又はストリーミングデータで連続するメモリユニットの配列の開始ポイントと終了ポイントとを識別するために少なくとも必要である。
【図１７】図１７（ａ）は、ベクトルデータ又はストリーミングデータの場合の複数のページによって形成された、本発明のマーチング主記憶装置の全体的な構成の一例を概略的に示し、図１７（ｂ）は、ページの一つの構成の一例を概略的に示し、ページのそれぞれはベクトルデータ又はストリーミングデータの場合の複数のファイルで形成され、図１７（ｃ）は、ファイルの一つの構成の一例を概略的に示し、ファイルのそれぞれは、本発明の第１の実施の形態に係る計算機システムにおいて、ベクトルデータ又はストリーミングデータの場合の複数のメモリユニットで形成されている。
【図１８】図１８（ａ）は、プログラム／スカラデータの場合の複数のページで形成された、本発明のマーチング主記憶装置の全体的な構成の一例を概略的に示す。図１８（ａ）では、それぞれのページは、それ自体の位置インデックスをアドレスとして有し、図１８（ｂ）は、２進法のデジットを用いて、ページの一つの構成とページの駆動位置との一例を概略的に示し、ページのそれぞれは、プログラム／スカラデータの場合の複数のファイルで形成され、それぞれファイルは、それ自体の位置インデックスをアドレスとして有し、図１８（ｃ）は、２進法のデジットを用いて、ファイルの一つの構成とファイルの駆動位置との一例を概略的に示し、ファイルのそれぞれは、プログラム／スカラデータの場合の複数のメモリユニットで形成される。図１８（ｃ）では、それぞれメモリユニットは、本発明の第１の実施の形態に係る計算機システムにおいて、それ自体の位置インデックスをアドレスとして有している。
【図１９】図１９（ａ）は、現行の記憶装置の速度／処理能力を、本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置のものと比較して、概略的に示し、図１９（ｂ）は、マーチング主記憶装置の速度／処理能力を、図１９（ａ）に示した現行の記憶装置のものと比較して、概略的に示す図である。
【図２０】図２０（ａ）は、スカラ命令用の現行の記憶装置の最悪の場合の速度／処理能力を、本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置のものと比較して、概略的に示し、図２０（ｂ）は、マーチング主記憶装置の速度／処理能力を、図２０（ａ）に示した現行の記憶装置の最悪の場合のものと比較して、概略的に示す図である。
【図２１】図２１（ａ）は、スカラ命令用の現行の記憶装置における中程度に適度な場合の速度／処理能力を、本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置のものと比較して、概略的に示し、図２１（ｂ）は、マーチング主記憶装置の速度／処理能力を、図２１（ａ）に示した現行の記憶装置における中程度に適度な場合のものと比較して、概略的に示す図である。
【図２２】図２２（ａ）は、スカラデータの場合の、現行の記憶装置における中程度に適度な場合の速度／処理能力を、本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置のものと比較して、概略的に示し、図２２（ｂ）は、マーチング主記憶装置の速度／処理能力を、図２２（ａ）に示した現行の記憶装置のものと比較して、概略的に示す図である。
【図２３】図２３（ａ）は、ストリーミングデータとデータ・パラレルの場合用の現行の記憶装置における最良の場合の速度／処理能力を、本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置のものと比較して、概略的に示し、図２３（ｂ）は、マーチング主記憶装置の速度／処理能力を、図２３（ａ）に示した現行の記憶装置における最良の場合のものと比較して、概略的に示す図である。
【図２４】２次元のメモリユニットのアレイの一例を示し、メモリユニットのそれぞれ、データ又は命令を格納し転送し、本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置を形成する。
【図２５】２次元のメモリユニットのアレイの他の例を示し、メモリユニットのそれぞれ、データ又は命令を格納し転送し、本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置を形成する。
【図２６】２次元のメモリユニットのアレイの更に他の例を示し、メモリユニットのそれぞれ、データ又は命令を格納し転送し、本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置を形成する。
【図２７】２次元のメモリユニットのアレイの更に他の例を示し、メモリユニットのそれぞれ、データ又は命令を格納し転送し、本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置を形成する。
【図２８】２次元のメモリユニットのアレイの更に他の例を示し、メモリユニットのそれぞれ、データ又は命令を格納し転送し、本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置を形成する。
【図２９】２次元のメモリユニットのアレイの更に他の例を示し、メモリユニットのそれぞれ、データ又は命令を格納し転送し、本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置を形成する。
【図３０】２次元のメモリユニットのアレイの更に他の例を示し、メモリユニットのそれぞれ、データ又は命令を格納し転送し、本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置を形成する。
【図３１】図３１（ａ）は、現行のマイクロプロセッサのデバイス・レベル・エネルギー消費を、静的と動的なエネルギー消費に分解して示し、図３１（ｂ）は、図３１（ａ）に示した動的なエネルギー消費の電力消費のネットとオーバーヘッドを示し、図３１（ｃ）は現行のマイクロプロセッサの正味のエネルギー消費を示す図である。
【図３２】ダリが評価した、従来のアーキテクチュアのレジスタとキャッシュとを含んでいる、プロセッサ上の実際のエネルギー消費分布を示す図である。
【図３３】図３３（ａ）は、従来のキャッシュを基礎としたアーキテクチュアのエネルギー消費を、キャッシュメモリのエネルギー消費を静的と動的なエネルギー消費に分解して示し、図３３（ｂ）は、本発明の第３の実施の形態に係る計算機システムにおけるエネルギー消費を、マーチング・キャッシュメモリのエネルギー消費を静的と動的なエネルギー消費に分解して示す図である。
【図３４】本発明の第２の実施の形態に係る計算機システムの構成を示す概略的なブロック図である。
【図３５】本発明の第３の実施の形態に係る計算機システムの構成を示す概略的なブロック図である。
【図３６】図３６（ａ）は、本発明の第３の実施の形態に係る計算機システムにおける演算パイプラインとマーチング・レジスタユニットの組み合わせを示し、図３６（ｂ）は本発明の第３の実施の形態に係る計算機システムにおけるマーチング・キャッシュユニットのアレイを示す図である。
【図３７】本発明の第３の実施の形態の変形例に従って、単一のプロセッサコアとマーチング・キャッシュメモリとマーチング・レジスタファイルとの組み合わせによって形成された計算機システムの構成の概略的なブロック図である。
【図３８】本発明の第３の実施の形態の他の変形例に従って、単一の演算パイプラインとマーチング・キャッシュメモリとマーチング・ベクトルレジスタファイルとの組み合わせによって形成された計算機システムの構成の概略的なブロック図である。
【図３９】本発明の第３の実施の形態の更に他の変形例に従って、複数のプロセッサコアとマーチング・キャッシュメモリとマーチング・レジスタファイルとの組み合わせによって形成された計算機システムの構成の概略的なブロック図である。
【図４０】本発明の第３の実施の形態の更に他の変形例に従って、複数の演算パイプラインとマーチング・キャッシュメモリとマーチング・ベクトルレジスタファイルとの組み合わせにより形成された計算機システムの構成の概略的なブロック図である。
【図４１】図４１（ａ）は、複数の演算パイプラインと複数の従来のキャッシュメモリと複数の従来のベクトルレジスタファイル（ＲＦｓ）と従来の主記憶装置との組み合わせによって形成され、そこにはボトルネックが従来のキャッシュメモリと従来の主記憶装置との間に発生している、従来の計算機システムの構成の概略的なブロック図を示し、図４１（ｂ）は、本発明の第３の実施の形態の更に他の変形例に従って、ボトルネックが作られない、複数の演算パイプラインと複数のマーチング・キャッシュメモリと複数のマーチング・ベクトルレジスタファイルとマーチング主記憶装置との組み合わせによって形成された、計算機システムの構成の概略的なブロック図である。
【図４２】本発明の第４の実施の形態に係る高性能のコンピューティング（ＨＰＣ）システムの構成を示す概略的なブロック図である。
【図４３】本発明の第５の実施の形態に係る計算機システムの構成を示す概略的なブロック図である。
【図４４】図４４（ａ）は、本発明の第５の実施の形態に係る計算機システムに用いる３次元のマーチング主記憶装置の断面図を示し、図４４（ｂ）は本発明の第５の実施の形態に係る計算機システムに用いる３次元のマーチング・キャッシュの断面図を示し、図４４（ｃ）は本発明の第５の実施の形態に係る計算機システムに用いる３次元のマーチング・レジスタファイルの断面図である。
【図４５】本発明の第５の実施の形態に係る計算機システムに用いる３次元構成の斜視図である。
【図４６】本発明の第５の実施の形態に係る計算機システムに用いる他の３次元構成の斜視図である。
【図４７】図４６に示した３次元構成の断面図である。
【図４８】本発明の第５の実施の形態に係る計算機システムに用いる他の３次元構成の断面図である。
【図４９】本発明の第５の実施の形態に係る計算機システムにおいて制御パスを表すことによって、制御処理を実行する計算機システムの基本的なコアの３次元構成の断面図を概略的に示す図である。
【図５０】本発明の第５の実施の形態に係る計算機システムにおいてスカラデータ用のデータ経路を表すことによって、スカラデータ処理を実行する計算機システムの基本的なコアの３次元構成の断面図を概略的に示す図である。
【図５１】本発明の第５の実施の形態に係る計算機システムにおいてベクトルデータ又はストリーミングデータ用のデータ経路を表すことによって、ベクトルデータ又はストリーミングデータ処理を実行する計算機システムの基本的なコアの３次元構成の断面図を概略的に示す図である。
【図５２】計算機システムのスカラデータ部を実行する、計算機システムの基本的なコアの３次元構成の断面図を概略的に示す。図５２では、複数の処理装置（ＣＰＵ）が、スカラデータだけでなくベクトルデータ又はストリーミングデータも実行し、パイプラインのＡＬＵが、本発明の第５の実施の形態に係る計算機システム用の制御パスとスカラデータ経路との組み合わせを表すことによって、処理装置に含まれている。
【図５３】ＭＩＳＤアーキテクチュアのスカラ／ベクトルデータのビット・レベル並列処理を示す図である。
【図５４】ＳＩＭＤアーキテクチュアのベクトルデータの並列処理を示す図である。
【図５５】ベクトル処理における一般的なチェイニングを示す図である。
【図５６】ＭＩＳＤアーキテクチュアのスカラ／ベクトルデータの並列処理を示す図である。
【図５７】ＭＩＳＤアーキテクチュアのスカラ／ベクトルデータの並列処理を示す図である。
【発明を実施するための形態】
【００１４】
本発明の様々な実施の形態を、添付の図面を参照して説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付し、同一又は類似の部分の説明は省略または単純化されていることに注意すべきである。一般に、半導体装置の表現では普通のことであるが、厚みと平面寸法との関係、各層の厚みの比率等は現実のものとは異なることに留意すべきである。又、同一の図面内及び図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることはもちろんである。以降の説明では、本発明を十分に理解できるように、特定の材料や処理を用いて、具体的に説明されている。しかし、本発明は、これらの特定の詳細な説明が無くても、実施できることは、当業者には自明のこととである。言い換えれば、周知の製造材料や処理や装置は、本発明を不要に曖昧にしないように細々と説明されていない。「上に」、「上方に」、「下に」、「下方に」、「垂直に」のような前置詞は、基板が実際に保持されている方向と関係無しに、基板の平面を基準にして定められている。層は、介在層がある場合でも、他の層上にあると表現される。
【００１５】
−  第１の実施の形態  −
（計算機システムの基本構成）
図２に示すように、本発明の第１の実施の形態に係る計算機システムは、プロセッサ１１とマーチング主記憶装置３１とを備えている。プロセッサ１１は、クロック信号を生成するクロック発生回路１１３を有する制御装置１１１と、クロック信号に同期して演算論理動作を実行する演算論理装置（ＡＬＵ）１１２とを含む。図３に示すように、マーチング主記憶装置３１は、複数のメモリユニットＵ１、Ｕ２、Ｕ３、…….、Ｕｎ−１、Ｕｎにおいて、それぞれワード・サイズのデータ又は命令を含んだ一組の情報群を格納した、複数のメモリユニットＵ１、Ｕ２、Ｕ３、…….、Ｕｎ−１、Ｕｎのアレイと、アレイの入力端子と、アレイの出力端子とを有している。図３に示すように、マーチング主記憶装置３１は、情報を複数のメモリユニットＵ１、Ｕ２、Ｕ３、…….、Ｕｎ−１、Ｕｎのそれぞれに格納し、情報をクロック信号に同期して、ステップごとに、出力端子の方向に転送し、格納された情報をプロセッサ１１に能動的に逐次出力し、ＡＬＵ１１２は、格納された情報により演算論理動作を実行する。
【００１６】
図２に示すように、マーチング主記憶装置３１とプロセッサ１１は、複数の接合部材５４により電気的に接続されている。例えば、接合部材５４のそれぞれは、マーチング主記憶装置３１に取り付けられた第１のターミナル・ピンと、プロセッサ１１に取り付けられた第２のターミナル・ピンと、第１と第２のターミナル・ピンの間に差し挟まれた導電性バンプとで形成されている。導電性バンプの材料として、半田ボール、金（Ａｕ）バンプ、銀（Ａｇ）バンプ、銅（Ｃｕ）バンプ、ニッケル−金（Ｎｉ−Ａｕ）合金バンプ、又はニッケル−金−インジウム（Ｎｉ−Ａｕ−Ｉｎ）合金バンプなどが使用可能である。ＡＬＵ１１２の処理の最終データはマーチング主記憶装置３１に接合部材５４を介して出力される。したがって、双方向矢印Φ１２で表されるように、データは接合部材５４を介してマーチング主記憶装置３１とプロセッサ１１との間で双方向に転送される。逆に、単一方向矢印η１１で表されるように、命令の転送については、マーチング主記憶装置３１からプロセッサ１１に向かう一方向のみに、命令の流れが制限される。
【００１７】
図２に示すように、本発明の第１の実施の形態に係る計算機システムの構成は、ディスクのような外部２次記憶装置４１と、入力装置６１と、出力装置６２と、入力／出力（Ｉ／Ｏ）インタフェース回路６３とを更に備えている。従来のフォン・ノイマン型計算機と同様に、信号またはデータを入力装置６１が入力し、信号またはデータを出力装置６２が出力している。例えば、周知のキーボードや周知のマウスは、入力装置６１と見なすことができ、周知のモニターやプリンターは出力装置６２と見なすことができる。計算機間の通信用の周知のデバイスは、モデムやネットワーク・カードのように、入力装置６１と出力装置６２の両方で一般的に機能する。入力装置６１又は出力装置６２としてのデバイスの呼称は、全体像に依存することに注意すべきである。入力装置６１は、人間のユーザが呈する物理的な移動を入力し、それを第１の実施の形態に係る計算機システムが理解できる信号に変換する。例えば、入力装置６１は、入力したデータと命令とを、第１の実施の形態に係る計算機システムが識別可能な２進コードの電気信号のパターンに変換し、入力装置６１からの出力は、マーチング主記憶装置３１にＩ／Ｏインタフェース回路６３を介して出力される。出力装置６２には、マーチング主記憶装置３１がＩ／Ｏインタフェース回路６３を介して出力する信号が入力される。出力装置６２は、次に、これらの信号を、人間のユーザが見る又は読むことができる表現方式に変換し、入力装置６１の処理と逆の処理を行って、デジタル信号を、ユーザが判読可能な形式に変換する。Ｉ／Ｏインタフェース回路６３は、プロセッサ１１が入力装置６１と出力装置６２とを駆動する時に必ず必要になる。プロセッサ１１は、Ｉ／Ｏインタフェース回路６３を介して入力装置６１と出力装置６２とに通信できる。異なるデータ形式で交換された場合、Ｉ／Ｏインタフェース回路６３はシリアル・データをパラレル形式に且つ逆方向に変換する。必要に応じて、プロセッサ１１による更なる処理のために、インタラプト及び対応する形式番号を生成する方式もある。
【００１８】
２次記憶装置４１は、マーチング主記憶装置３１より更に長い時間的な基準でデータと情報とを格納する。マーチング主記憶装置３１は、いま実行中のプログラムと、いま採用されているデータの格納を主に対象としているが、２次記憶装置４１は、計算機がオフに切り替えられている、又はプログラムがいま実行していない場合でも、維持される必要のある任意のデータと情報を格納するように全体的に意図されている。２次記憶装置４１の例は、周知のハードディスク（又はハードドライブ）と周知の（ＣＤ−ＲＯＭドライブのような）外部メデイア−ドライブである。これらの格納方法は、計算機のオペレーティング・システムと、ソフトウェアのユーザのコレクションと、ユーザが望む任意の他のデータとを格納するために最も広く用いられている。ハードドライブは半永久的な基準でデータとソフトウェアとを格納するために用いられ、外部メディア・ドライブは他のデータを保持するために用いられるが、このセットアップは、入手可能な記憶装置の異なる形式とそれぞれを利用する際の便宜性に基づいて大きく変わる。双方向矢印Φ１で表されるように、データは、現行の接続配線５３を介して２次記憶装置４１とマーチング主記憶装置３１とプロセッサ１１との間で双方向で転送される。
【００１９】
図示を省略しているが、図２に示す第１の実施の形態に係る計算機システムでは、プロセッサ１１は、マーチング主記憶装置３１から出力端子を介して格納された情報を入力する複数の演算パイプラインを含むことができ、双方向矢印Φ１２で表されるように、データは、接合部材５４を介してマーチング主記憶装置３１と複数の演算パイプラインとの間で双方向に転送される。
【００２０】
図２に示す第１の実施の形態に係る計算機システムには、データバスとアドレスバスとから成るバスが無い。計算機システム全体には、プロセッサ１１とマーチング主記憶装置３１との間における任意のデータ交換でもグローバル配線を必要としないからである。一方、従来の計算機システムでは、配線又はバスがボトルネックを形成する。マーチング主記憶装置３１、又は対応するＡＬＵ１１２とマーチング主記憶装置３１との接続部分の内部に短い局部的な配線が存在するだけである。時間的な遅延と浮遊容量とを生成するグローバル配線が存在しないので、第１の実施の形態に係る計算機システムは、更に高速の処理速度と小電力消費とを達成できる。
【００２１】
（マーチング主記憶装置のセル・レベル表現）
最も一般的な従来の計算機では、アドレス決定の単位は、文字(character)（例えば、バイト）又はワードである。単位がワードの場合、大量のメモリに、あるサイズのアドレスを用いてアクセスできる。他方で、単位がバイトの場合、それぞれの文字をアドレスできる（すなわち、メモリ動作中に選択できる）。マシン命令は、通常は、アーキテクチュアのワード・サイズの分数または倍数である。これは、命令とデータが通常は同じメモリ・サブシステムを共有するので、自然な選定である。
【００２２】
図４は、図３に示すマーチング主記憶装置３１のセル・レベルにおける表現に対応している。図４で、ｍ×ｎマトリクスの第１のカラムは、セルＭ１１、Ｍ２１、Ｍ３１、……、Ｍｍ−１,１、Ｍｍ１の垂直方向のアレイで形成され、図３に示す第１のメモリユニットＵ１を表す。ここで、”ｍ”は、ワード・サイズで決まる整数である。ワード・サイズの選定は実質的に重要であるが、計算機アーキテクチュアを設計する時に、ワード・サイズは、８ビットの倍数に自然になり、１６、３２、６４ビットが広く用いられている。同様に、ｍ×ｎマトリクスの第２のカラムは、セルＭ１２、Ｍ２２、Ｍ３２、……、Ｍｍ−１，２、Ｍｍ２の垂直方向のアレイで形成され、第２のメモリユニットＵ２を表し、ｍ×ｎマトリクスの第３のカラムは、セルＭ１３、Ｍ２３、Ｍ３３、……、Ｍｍ−１，３、Ｍｍ３の垂直方向のアレイで形成され、第３のメモリユニットＵ３を表し、……、ｍ×ｎマトリクスの（ｎ−１）番目のカラムは、セルＭ１,ｎ−１、Ｍ２,ｎ−１、Ｍ３,ｎ−１、……、Ｍｍ−１，ｎ−１、Ｍｍ,ｎ−１の垂直方向のアレイでて形成され、（ｎ−１）番目のメモリユニットＵｎ−１を表し、ｍ×ｎマトリクスのｎ番目のカラムは、セルＭ１,ｎ、Ｍ２,ｎ、Ｍ３,ｎ、……、Ｍｍ−１，ｎ、Ｍｍ,ｎの垂直方向のアレイで形成され、ｎ番目のメモリユニットＵｎを表す。
【００２３】
図４に示すマーチング主記憶装置３１のセル・レベルにおける表現で、第１の行で最左端に配置され且つ入力端子Ｉ１に接続された第１のセルＭ１１は、情報を格納するコンデンサＣ１１と、コンデンサＣ１１に接続された一方の入力、クロック信号が入力する他方の入力、及び第１の行において隣接する第２のセルＭ２１に設けられた次段のＡＮＤゲートＧ２１の一方の入力に接続された出力を有するＡＮＤゲートＧ１１とを備えている。クロック信号の波形の一例が図５に図示されている。クロック信号の”１”の論理値がＡＮＤゲートＧ１１の他方の入力に出力されると、コンデンサＣ１１に格納された情報が、隣接する第２のセルＭ１２に設けられたコンデンサＣ１２に転送され、コンデンサＣ１２が情報を格納する。すなわち、マーチング主記憶装置３１のセル・レベルにおける表現の第１の行の第２のセルＭ１２は、コンデンサＣ１２と、コンデンサＣ１２に接続された一方の入力、クロック信号が入力する他方の入力、及び第１の行において隣接する第３のセルＭ１３に設けられた次段のＡＮＤゲートＧ１３の一方の入力に接続された出力を有する、ＡＮＤゲートＧ１２とを具備している。同様に、マーチング主記憶装置３１のセル・レベルにおける表現の第１の行の第３のセルＭ１３は、情報を格納するコンデンサＣ１３と、コンデンサＣ１３に接続された一方の入力、クロック信号が入力する他方の入力、隣接する第４のセルに設けられた次段のＡＮＤゲートの一方の入力に接続された出力を有する、ＡＮＤゲートＧ１３とを備えている。但し、第４のセルの図示は省略されている。したがって、”１”の論理値がＡＮＤゲートＧ１２の他方の入力に出力されると、コンデンサＣ１２に格納された情報が第３のセルＭ１３に設けられたコンデンサＣ１３に転送され、コンデンサＣ１３が情報を格納する。”１”の論理値がＡＮＤゲートＧ１３の他方の入力に出力されると、コンデンサＣ１３に格納された情報が第４のセルに設けられたコンデンサに転送される。更に、マーチング主記憶装置３１のセル・レベルにおける表現の第１の行の（ｎ−１）番目のセルＭ１、ｎ−１は、情報を格納するコンデンサＣ１、ｎ−１と、コンデンサＣ１、ｎ−１に接続された一方の入力、クロック信号が入力する他方の入力、及び第１の行の最右端に配置され且つ出力端子Ｏ１に接続されている、隣接するｎ番目のセ
ルＭ１ｎに設けられた次段のＡＮＤゲートＧ１ｎの一方の入力に接続された出力を有するＡＮＤゲートＧ１、ｎ−１とを備えている。したがって、セルＭ１１、Ｍ１２、Ｍ１３、……、Ｍ１、ｎ−１、Ｍ１ｎのそれぞれは、情報を格納し、情報をクロック信号と同期して、ステップごとに、出力端子Ｏ１の方向に向けて転送し、格納された情報をプロセッサ１１に能動的に逐次出力し、ＡＬＵ１１２は、格納された情報により演算論理動作を実行する。
【００２４】
同様に、図４に示すマーチング主記憶装置３１のセル・レベルにおける表現で、第２の行で最左端に配置され且つ入力端子Ｉ２に接続された第２のセルＭ２１は、コンデンサＣ２１と、コンデンサＣ２１に接続された一方の入力、クロック信号が入力する他方の入力、及び第２の行において隣接する第２のセルＭ２１に設けられた次段のＡＮＤゲートＧ２１の一方の入力に接続された出力を有する、ＡＮＤゲートＧ２１とを備えている。マーチング主記憶装置３１のセル・レベルにおける表現の第２の行の第２のセルＭ２２は、コンデンサＣ２２と、コンデンサＣ２２に接続された一方の入力、クロック信号が入力する他方の入力、及び第２の行において隣接する第３のセルＭ２３に設けられた次段のＡＮＤゲートＧ２３の一方の入力に接続された出力を有する、ＡＮＤゲートＧ２２とを備えている。同様に、マーチング主記憶装置３１のセル・レベルにおける表現の第２の行の第３のセルＭ２３は、コンデンサＣ２３と、コンデンサＣ２３に接続された一方の入力、クロック信号が入力する他方の入力、隣接する第４のセルに設けられた次段のＡＮＤゲートの一方の入力に接続された出力を有するＡＮＤゲートＧ２３とを備えている。更に、マーチング主記憶装置３１のセル・レベルにおける表現の第２の行の（ｎ−１）番目のセルＭ２、ｎ−１は、コンデンサＣ２、ｎ−１と、コンデンサＣ２、ｎ−１に接続された一方の入力、クロック信号が入力する他方の入力、及び第２の行の最右端に配置され且つ出力端子Ｏ１に接続されている、隣接するｎ番目のセルＭ１ｎに設けられた次段のＡＮＤゲートＧ１ｎの一方の入力に接続された出力を有するＡＮＤゲートＧ２、ｎ−１とを備えている。したがって、第２の行のセルＭ２１、Ｍ２２、Ｍ２３、……、Ｍ２、ｎ−１、Ｍ１ｎのそれぞれは、情報を格納し、情報をクロック信号と同期して、ステップごとに、出力端子Ｏ１の方向に向けて転送し、格納された情報をプロセッサ１１に能動的に逐次出力し、ＡＬＵ１１２は、格納された情報により演算論理動作を実行する。
【００２５】
第３の行には、最左端に配置され且つ入力端子Ｉ３に接続された第１のセルＭ３１と、第１のセルＭ３１に隣接した第２のセルＭ３２と、第２のセルＭ３２に隣接した第３のセルＭ３３と、……、（ｎ−１）番目のセルＭ３、ｎ−１と、第３の行で最右端に配置され且つ出力端子Ｏ３に接続されているｎ番目のセルＭ３ｎが配列されている。そして、第３の行のセルＭ３１、Ｍ３２、Ｍ３３、……、Ｍ３、ｎ−１、Ｍ３ｎのそれぞれは、情報を格納し、情報をクロック信号と同期して、ステップごとに、出力端子Ｏ３の方向に向けて転送し、格納された情報をプロセッサ１１に能動的に逐次出力し、ＡＬＵ１１２は格納された情報により演算論理動作を実行する。
【００２６】
（ｍ−１）番目の行には、最左端に配置され且つ入力端子Ｉｍ−１に接続された、第１のセルＭ（ｍ−１）、１と、第１のセルＭ（ｍ−１）、１に隣接した第２のセルＭ（ｍ−１）、２と、第２のセルＭ（ｍ−１）、２に隣接した第３のセルＭ（ｍ−１）、３と、……、（ｎ−１）番目のセルＭ（ｍ−１）、ｎ−１と、（ｍ−１）番目の行で最右端に配置され且つ出力端子Ｏｍ−１に接続されているｎ番目のセルＭ（ｍ−１）、ｎが配列されている。そして、（ｍ−１）番目の行のセルＭ（ｍ−１）、１、Ｍ（ｍ−１）、２、Ｍ（ｍ−１）、３、……、Ｍ（ｍ−１）、ｎ−１、Ｍ（ｍ−１）、ｎのそれぞれは、情報を格納し、情報をクロック信号と同期して、ステップごとに、出力端子Ｏｍ−１に転送し、格納された情報をプロセッサ１１に能動的に逐次出力し、ＡＬＵ１１２は格納された情報により演算論理動作を実行する。
【００２７】
ｍ番目の行には、最左端に配置され且つ入力端子Ｉｍに接続された第１のセルＭｍ1と、第１のセルＭｍ1に隣接した第２のセルＭｍ２と、第２のセルＭｍ２に隣接した第３のセルＭｍ3と、……、（ｎ−１）番目のセルＭｍ(n-1)と、ｍ番目の行で最右端に配置され且つ出力端子Ｏｍに接続されているｎ番目のセルＭｍnが配列されている。そして、ｍ番目の行のセルＭｍ1、Ｍｍ２、Ｍｍ3、……、Ｍｍ(n-1)、Ｍｍnのそれぞれは、情報を格納し、情報をクロック信号と同期して、ステップごとに出力端子Ｏｍに転送し、格納された情報をプロセッサ１１に能動的に逐次出力し、ＡＬＵ１１２は格納された情報により演算論理動作を実行する。
【００２８】
本発明のＡＮＤゲートを形成する様々な回路構成があるが、第１の実施の形態に係るマーチング主記憶装置３１のセル・レベルにおける表現において、ｉ番目の行のｊ番目のセルＭｉｊ、ｉ番目の行の（ｊ＋１）番目のセルＭｉｊ＋１、（ｉ＋１）番目の行のｊ番目のセルＭｉ＋１、ｊ＋１、（ｉ＋１）番目の行の（ｊ＋１）番目のセルＭｉ＋１、ｊ＋１に使用できる、ＡＮＤゲートＧｉｊ、Ｇｉ、ｊ＋１、Ｇｉ＋１、ｊ、Ｇｉ＋１、ｊ＋１の回路構成の一例が、図６に図示されている。
【００２９】
ｉ番目の行のｊ番目のセルＭｉｊは、情報を格納するｊ番目のコンデンサＣｉｊと、ｊ番目のコンデンサＣｉｊに接続された一方の入力、クロック信号が入力する他方の入力、ｉ番目の行の隣接する（ｊ＋１）番目のセルＭｉ、ｊ＋１に設けられた次段の（ｊ＋１）番目のＡＮＤゲートＧｉ、ｊ＋１の一方の入力に接続された出力を有するｊ番目のＡＮＤゲートＧｉｊとを備えている。ｊ番目のＡＮＤゲートＧｉｊは、電源配線ＶＤＤに接続されたソース電極とクロック信号供給配線に接続されたゲート電極とを有する第１のｐＭＯＳトランジスタＱｉｊ１と、第１のｐＭＯＳトランジスタＱｉｊ１と並列に接続されると共に、電源配線ＶＤＤに接続されたソース電極とコンデンサＣｉｊの電極の一方と前段の（ｊ−１）番目のＡＮＤゲートＧｉ、ｊ−１の出力との両方に接続されたゲート電極と第１のｐＭＯＳトランジスタＱｉｊ１のドレイン電極に接続されたドレイン電極とを有する、第２のｐＭＯＳトランジスタＱｉｊ２と、第１と第２のｐＭＯＳトランジスタＱｉｊ１、Ｑｉｊ２のドレイン電極を接合する共通ノードに接続されたソース電極とクロック信号供給配線に接続されたゲート電極とを有する第１のｎＭＯＳトランジスタＱｉｊ３と、第１のｎＭＯＳトランジスタＱｉｊ３と直列に接続されると共に、第１のｎＭＯＳトランジスタＱｉｊ３のドレイン電極に接続されたソース電極と第２のｐＭＯＳトランジスタＱｉｊ２のゲート電極に接続されたゲート電極と、ｊ番目のコンデンサＣｉｊの電極と前段の（ｊ−１）番目のＡＮＤゲートＧｉ、ｊ−１の出力の一方と、接地電位に接続されたドレイン電極とを有する、第２のｎＭＯＳトランジスタＱｉｊ４と、電源配線ＶＤＤに接続されたソース電極と第１と第２のｐＭＯＳトランジスタＱｉｊ１、Ｑｉｊ２のドレイン電極を接合する共通ノードに接続されたゲート電極とを有する第３のｐＭＯＳトランジスタＱｉｊ５と、第３のｐＭＯＳトランジスタＱｉｊ５に直列に接続されると共に、第３のｎＭＯＳトランジスタＱｉｊ５のドレイン電極に接続されたソース電極と第３のｐＭＯＳトランジスタＱｉｊ５のゲート電極と第１と第２のｐＭＯＳトランジスタＱｉｊ１、Ｑｉｊ２のドレイン電極を接合する共通ノードとに接続されたゲート電極と、接地電位に接続されたドレイン電極とを有する、第３のｎＭＯＳトランジスタＱｉｊ６とを含む。ここで、
第１のｐＭＯＳトランジスタＱｉｊ１と、第２のｐＭＯＳトランジスタＱｉｊ２と、第１のｎＭＯＳトランジスタＱｉｊ３と、第２のｎＭＯＳトランジスタＱｉｊ４は、ｊ番目のコンデンサＣｉｊに接続された一方の入力、クロック信号供給配線に接続された他方の入力、を有するＮＡＮＤゲートを形成する。そして、第３のｐＭＯＳトランジスタＱｉｊ５と第３のｎＭＯＳトランジスタＱｉｊ６は、ｊ番目のセルＭｉｊのＮＡＮＤゲートの出力に接続された入力と、隣接する（ｊ＋１）番目のセルＭｉ、ｊ＋１に設けられた次段の（ｊ＋１）番目のＡＮＤゲートＧｉ、ｊ＋１の一方の入力に接続された出力を有するインバータを形成する。
【００３０】
図６に示すように、他のＡＮＤゲートＧｉ、ｊ＋１、Ｇｉ＋１、ｊ、Ｇｉ＋１、ｊ＋１の回路構成も、それぞれ、６個のＭＯＳトランジスタで形成される。ＡＮＤゲートＧｉ、ｊ＋１、Ｇｉ＋１、ｊ、Ｇｉ＋１、ｊ＋１の回路構成はＡＮＤゲートＧｉｊの構成とほぼ似ているので、ＡＮＤゲートＧｉ、ｊ＋１、Ｇｉ＋１、ｊ、Ｇｉ＋１、ｊ＋１の回路構成の詳細な説明は、重複した又は余分な説明を避けるために省略する。なお、ＡＮＤゲートＧｉｊ、Ｇｉ、ｊ＋１、Ｇｉ＋１、ｊ、Ｇｉ＋１、ｊ＋１は、抵抗−トランジスタ・ロジックのような他の回路構成によって、又はＡＮＤロジックの機能を有する、様々な半導体素子、磁気素子、超電導体素子、又は単一の量子素子などで形成できる。
【００３１】
図６に示すように、マーチング主記憶装置３１のセル・レベルにおける表現は、メモリ・セルのそれぞれ１個のコンデンサと１個のＡＮＤゲートとから成る、ＤＲＡＭのセル・レベル構成と同様に単純な構成である。ＡＮＤゲートＧｉｊ、Ｇｉ、ｊ＋１、Ｇｉ＋１、ｊ、Ｇｉ＋１、ｊ＋１のそれぞれは、図３に示すように、クロックに基づいて信号を左から右にシフトする。特に、ＡＮＤゲートＧｉｊ、Ｇｉ、ｊ＋１、Ｇｉ＋１、ｊ、Ｇｉ＋１、ｊ＋１のそれぞれの時間的な遅延τｄは有意な値を有するので、マーチング主記憶装置３１のすべてのメモリユニットの連続したシフト動作を適正に実施できる。
【００３２】
（逆方向マーチング主記憶装置）
図３〜６では、情報を複数のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕｎ−１、Ｕｎのそれぞれに格納し、情報をクロック信号と同期して、ステップごとに、入力端子から出力端子の方向に転送する、マーチング主記憶装置を示したが、図７では、これらとは異なる他のマーチング主記憶装置を示す。
【００３３】
図７において、複数のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕｎ−１、Ｕｎのそれぞれは、ワード・サイズのデータ又は命令を含む情報を格納し、プロセッサ１１から供給された情報を、ＡＬＵ１１２で実行された最終データと共にステップごとに、クロック信号と同期して、図７の出力端子の方向となる逆方向に転送する。
【００３４】
図８（ａ）は、図７に示した他のマーチング主記憶装置のセル・レベルにおける表現におけるｍ×ｎマトリクス（ここで、ｍはワード・サイズで決まる整数である）のｉ番目の行のアレイを示していて、このアレイは、ビット・レベルの情報をセルＭｉ１、Ｍｉ２、Ｍｉ３、……、Ｍｉ、ｎ−１、Ｍｉ、ｎに格納し、情報をクロック信号と同期して、ステップごとに、図３〜６に示したマーチング主記憶装置と逆の方向に、すなわち、図３〜６の出力端子ＯＵＴから入力端子ＩＮの方向に沿って転送する。
【００３５】
図８（ａ）に示すように、逆方向マーチング主記憶装置では、ｉ番目の行の最右端に配置され且つ入力端子ＩＮに接続されたｎ番目のセルＭｉ、ｎは、情報を格納するコンデンサＣｉｎと、コンデンサＣｉｎに接続された一方の入力、クロック信号が入力する他方の入力、ｉ番目の行の隣接する（ｎ−１）番目のセルＭｉ、ｎ−１に設けられた前段のＡＮＤゲートＧｉ、ｎ−１の一方の入力に接続された出力を有するＡＮＤゲートＧｉｎとを備えている。図８（ｂ）に示すように、クロック信号は”１”と”０”の論理値を有し、”１”の論理値が時刻”ｔ”から時刻”ｔ＋１”にかけて維持されている。”１”の論理値がＡＮＤゲートＧｎの他方の入力に出力されると、コンデンサＣｉｎに格納された情報は、ｉ番目の行の隣接する（ｎ−１）番目のセルＭｉ、ｎ−１に設けられたコンデンサＣｉ、ｎ−１に転送され、コンデンサＣｉ、ｎ−１が情報を格納する。すなわち、逆方向マーチング主記憶装置のｉ番目の行の（ｎ−１）番目のセルＭｉ、ｎ−１は、コンデンサＣｉ、ｎ−１と、コンデンサＣｉ、ｎ−１に接続された一方の入力、クロック信号が入力する他方の入力、隣接するセルＭｉ、ｎ−２（図示省略。）に設けられた前段のＡＮＤゲートＧｉ、ｎ−２の一方の入力に接続された出力を有する、ＡＮＤゲートＧｉ、ｎ−１とを備えている。
【００３６】
同様に、逆方向マーチング主記憶装置のｉ番目の行の第３のセルＭｉ３は、情報を格納するコンデンサＣｉ３と、コンデンサＣｉ３に接続された一方の入力、クロック信号が入力する他方の入力、隣接する第２のセルＭｉ２に設けられた前段のＡＮＤゲートＧｉ２の一方の入力に接続された出力を有するＡＮＤゲートＧｉ３とを備えている。したがって、”１”の論理値がＡＮＤゲートＧｉ３の他方の入力に出力されると、コンデンサＣｉ３に格納された情報は、第２のセルＭｉ２に設けられたコンデンサＣｉ２に転送され、コンデンサＣｉ２が情報を格納する。
【００３７】
更に、 逆方向マーチング主記憶装置のｉ番目の行の第２のセルＭｉ２は、情報を格納するコンデンサＣｉ２と、コンデンサＣｉ２に接続された一方の入力と、クロック信号が入力する他方の入力、ｉ番目の行の最左端に配置され且つ出力端子ＯＵＴに接続されている、隣接する第１のセルＭｉ１に設けられた前段のＡＮＤゲートＧｉ１の一方の入力に接続された出力を有するＡＮＤゲートＧｉ２とを備えている。
【００３８】
図７、８（ａ）、８（ｂ）に示した第１の実施の形態に係る１次元の逆方向マーチング主記憶装置３１によれば、複数のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕｎ−１、Ｕｎはリフレッシュが要求されない。何故ならば、複数のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕｎ−１、Ｕｎのすべてが情報移動スキーム（情報の隊列進行スキーム）により通常は自動的にリフレッシュされるからである。そこで、複数のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕｎ−１、Ｕｎのそれぞれに対するアドレス指定が消滅し、要求された情報は、メモリの端部に設けられた、その宛先ユニットに向かう。第１の実施の形態に係る１次元の逆方向マーチング主記憶装置３１にアクセスするメカニズムは、読出／書込情報に対するアドレス指定モードから始まる現行の記憶装置スキームの真の代わりとなるものである。したがって、第１の実施の形態に係る１次元の逆方向マーチング主記憶装置３１によれば、アドレス指定モードのないメモリ−アクセスが、従来のメモリ・スキームより遙かに単純になる。
【００３９】
本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置３１の概念が、図９に図示されている。これは、マーチング主記憶装置３１がマーチング主記憶装置３１の複数のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕｎ−１、Ｕｎのすべてを介して情報／データを格納し伝送する機能を備えることを意図して設計されているので、従来の計算機用記憶装置と異なる。マーチング記憶装置は、情報／データをプロセッサ（ＣＰＵ）１１に、プロセッサ１１と同じ速度で供給する。図９の時間領域での関係に図示されるように、マーチング主記憶装置３１の一つの複数のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕｎ−１、Ｕｎを介して情報／データを転送するために要求されるメモリユニット・ストリーミング時間Ｔｍｕｓは、プロセッサ１１のクロック・サイクルＴｃｃと等しい。マーチング主記憶装置３１は、情報／データを複数のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕｎ−１、Ｕｎのそれぞれに格納し、クロック信号と同期して、ステップごとに、出力端子の方向に転送し、格納された情報／データをプロセッサ１１に出力し、演算論理装置１１２は、格納された情報／データにより演算論理動作を実行する。
【００４０】
したがって、図１０に示すように、マーチング記憶装置構造３は、本発明の第１の実施の形態に係るマーチング主記憶装置３１を含む。「マーチング記憶装置構造３」という用語は、次の第２の実施の形態で更に説明される、ＡＬＵ１１２に接続されたマーチング命令レジスタファイル（ＲＦ）２２ａとマーチング・データ・レジスタファイル（ＲＦ）２２ｂと、後述する第３の実施の形態で更に説明される、マーチング命令キャッシュメモリ２１ａとマーチング・データ・キャッシュメモリ２１ｂとを、本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置３１に加えて含む、メモリ構造の総称的な概念を意味する。
【００４１】
図１１（ａ）は、マーチング記憶装置構造３からプロセッサ１１に流れる前方進行データ流Ｓｆと、プロセッサ１１からマーチング記憶装置構造３に流れる後方進行データ流（逆方向データ流）Ｓｂとを示し、図１１（ａ）は、マーチング記憶装置構造３のメモリユニット・ストリーミング時間Ｔｍｕｓがプロセッサ１１のクロック・サイクルＴｃｃと等しいと想定した場合に、マーチング記憶装置構造３とプロセッサ１１との間に作られる帯域幅を示す。
【００４２】
（双方向マーチング主記憶装置）
図１２（ａ）〜（ｃ）に示すように、本発明の第１の実施の形態に係るマーチング主記憶装置３１は、情報／データの双方向の転送を実現できる。即ち、図１２（ａ）は、情報／データが前方に隊列進行する状況を示しており、情報／データが１次元のマーチング主記憶装置３１において右手方向（前方）に隊列進行（シフト）している。図１２（ｂ）は、１次元のマーチング主記憶装置３１の漂遊状態を示す。図１２（ｃ）は、情報／データが逆方向に隊列進行する状況（後方に隊列進行する状況）を示しており、情報／データが１次元のマーチング主記憶装置３１の左手方向（逆方向）に隊列進行（シフト）している。
【００４３】
図１３は、図１２（ａ）〜（ｃ）に示した双方向の状況を実現できる、双方向マーチング主記憶装置３１のセル・レベルにおける表現におけるｍ×ｎマトリクス（ここで、”ｍ”はワード・サイズで決まる整数）のｉ番目の行のアレイを示す。
【００４４】
図１３に示すように、２種類のＡＮＤゲートが、情報／データの双方向転送を構築するように、ｉ番目の行のセルＭｉ１、Ｍｉ２、Ｍｉ３、……、Ｍｉ、ｎ−１、Ｍｉ、ｎのそれぞれに割り当てられている。双方向マーチング主記憶装置３１は、ビット・レベルの情報／データをセルＭｉ１、Ｍｉ２、Ｍｉ３、……、Ｍｉ、ｎ−１、Ｍｉ、ｎのそれぞれに格納し、情報／データをクロック信号と同期して、ステップごとに、前方向及び／又は逆方向（後方向）に、第１のＩ／Ｏセレクタ５１２と第２のＩ／Ｏセレクタ５１３との間で双方向で転送する。
【００４５】
図１３に示すマーチング主記憶装置３１のセル・レベルにおける表現では、ｉ番目の行の最左端に配置され且つ第１のＩ／Ｏセレクタ５１２に接続された第１のセルＭｉ１は、情報／データを格納するコンデンサＣｉ１と、コンデンサＣｉ１に接続された一方の入力、第１のクロック信号ＣＬ１が供給される他方の入力、ｉ番目の行の隣接する第２のセルＭ（ｉ＋１）１に設けられた次段の前方進行用ＡＮＤゲートＧ（ｉ＋１）１ｆの一方の入力に接続された出力を有する前方進行用ＡＮＤゲートＧｉ１ｆと、コンデンサＣｉ１に接続された一方の入力、第２のクロック信号ＣＬ２が供給される他方の入力、及び第１のＩ／Ｏセレクタ５１２に接続された出力を有する後方進行用ＡＮＤゲートＧｉ１ｂとを備えている。
【００４６】
前方に進行するデータ流を駆動する第１のクロック信号ＣＬ１と後方に進行するデータ流を駆動する第２のクロック信号ＣＬ２は、クロック・セレクタ５１１により、それぞれ、選択され、第１のクロック信号ＣＬ１と第２のクロック信号ＣＬ２のそれぞれは、”１”と”０”の論理値を有し、”１”の論理値が時刻”ｔ”から時刻”ｔ＋１”にかけて維持される。第１のクロック信号ＣＬ１の”１”の論理値が前方進行用ＡＮＤゲートＧｉ１の他方の入力に出力されると、コンデンサＣｉ１に格納されていた情報／データが、隣接する第２のセルＭｉ２に設けられたコンデンサＣｉ２に転送され、コンデンサＣｉ２が情報／データを格納する。
【００４７】
双方向マーチング主記憶装置３１のｉ番目の行の第２のセルＭｉ２は、情報／データを格納するコンデンサＣｉ２と、コンデンサＣｉ２に接続された一方の入力、第１のクロック信号ＣＬ１が供給される他方の入力、ｉ番目の行の隣接する第３のセルＭｉ３に設けられた次段の前方進行用ＡＮＤゲートＧｉ３の一方の入力に接続された出力を有する前方進行用ＡＮＤゲートＧｉ２ｆと、コンデンサＣｉ２に接続された一方の入力、第２のクロック信号ＣＬ２が供給される他方の入力、前段の後方進行用ＡＮＤゲートＧｉ１の一方の入力に接続された出力を有する後方進行用ＡＮＤゲートＧｉ２ｂとを備えている。
【００４８】
同様に、ｉ番目の行の第３のセルＭｉ３は、情報／データを格納するコンデンサＣｉ３と、コンデンサＣｉ３に接続された一方の入力、第１のクロック信号ＣＬ１が供給される他方の入力、及び第４のセルの図示を省略するが、隣接する第４のセルに設けられた次段の前方進行用ＡＮＤゲートの一方の入力に接続された出力を有する前方進行用ＡＮＤゲートＧｉ３ｆと、コンデンサＣｉ３に接続された一方の入力、第２のクロック信号ＣＬ２が供給される他方の入力、隣接する第２のセルＭｉ２に設けられた前段の後方進行用ＡＮＤゲートＧｉ２ｂの一方の入力に接続された出力を有する後方進行用ＡＮＤゲートＧｉ３ｂとを備えている。したがって、第１のクロック信号ＣＬ１の”１”の論理値が前方進行用ＡＮＤゲートＧｉ２ｆの他方の入力に出力されると、コンデンサＣｉ２に格納された情報／データが、第３のセルＭｉ３に設けられたコンデンサＣｉ３に転送され、コンデンサＣｉ３が情報／データを格納する。第１のクロック信号ＣＬ１の”１”の論理値が前方進行用ＡＮＤゲートＧｉ３ｆの他方の入力に出力されると、コンデンサＣｉ３に格納された情報／データが、第４のセルに設けられたコンデンサに転送される。
【００４９】
更に、ｉ番目の行の（ｎ−１）番目のセルＭｉ、（ｎ−１）は、情報／データを格納するコンデンサＣｉ、（ｎ−１）と、コンデンサＣｉ、（ｎ−１）に接続された一方の入力、第１のクロック信号ＣＬ１が供給される他方の入力、ｉ番目の行の最右端に配置され且つ第２のＩ／Ｏセレクタ５１３に接続され、隣接するｎ番目のセルＭｉ、ｎに設けられた次段の前方進行用ＡＮＤゲートＧｉ、ｎｆの一方の入力に接続された出力を有する前方進行用ＡＮＤゲートＧｉ、（ｎ−１）ｆと、コンデンサＣｉ、（ｎ−１）に接続された一方の入力、第２のクロック信号ＣＬ２が供給される他方の入力側に隣接する第３のセルＭｉ、（ｎ−２）ｂ（図示省略。）に設けられた前段の後方進行用ＡＮＤゲートＧｉ、（ｎ−２）ｂの一方の入力に接続された出力を有する後方進行用ＡＮＤゲートＧｉ、（ｎ−１）ｂとを備えている。
【００５０】
最後に、ｉ番目の行の最右端に配置され且つ第２のＩ／Ｏセレクタ５１３に接続されたｎ番目のセルＭｉ、ｎは、情報／データを格納するコンデンサＣｉ、ｎと、コンデンサＣｉｎに接続された一方の入力、第２のクロック信号ＣＬ２が入力する他方の入力、ｉ番目の行の隣接する（ｎ−１）番目のセルＭｉ、ｎ−１に設けられた前段の後方進行用ＡＮＤゲートＧｉ（ｎ−１）ｂの一方の入力に接続された出力を有する後方進行用ＡＮＤゲートＧｉｎｂと、コンデンサＣｉ、ｎに接続された一方の入力、第１のクロック信号ＣＬ１が供給される他方の入力、及び第２のＩ／Ｏセレクタ５１３に接続された出力を有する前方進行用ＡＮＤゲートＧｉ、ｎｆとを備えている。
【００５１】
第２のクロック信号ＣＬ２の”１”の論理値が後方進行用ＡＮＤゲートＧｉｎｂの他方の入力に出力されると、コンデンサＣｉｎに格納された情報／データは、ｉ番目の行の隣接する（ｎ−１）番目のセルＭｉ、（ｎ−１）に設けられたコンデンサＣｉ、（ｎ−１）に転送され、コンデンサＣｉ、（ｎ−１）が情報／データを格納する。すると、第２のクロック信号ＣＬ２の”１”の論理値が後方進行用ＡＮＤゲートＧｉ３ｂの他方の入力に送られ、コンデンサＣｉ３に格納された情報／データが第２のセルＭｉ２に設けられたコンデンサＣｉ２に転送され、コンデンサＣｉ２が情報／データを格納する。更に、第２のクロック信号ＣＬ２の”１”の論理値が後方進行用ＡＮＤゲートＧｉ２ｂの他方の入力に出力されると、コンデンサＣｉ２に格納された情報／データが、第２のセルＭｉ１に設けられたコンデンサＣｉ１に転送され、コンデンサＣｉ１が情報／データを格納する。第２のクロック信号ＣＬ２の”１”の論理値がＡＮＤゲートＧｉ１ｂの他方の入力に出力されると、コンデンサＣｉ１に格納された情報／データが第１のＩ／Ｏセレクタ５１２に転送される。
【００５２】
したがって、双方向マーチング主記憶装置のｉ番目の行のセルＭｉ１、Ｍｉ２、Ｍｉ３、……、Ｍｉ、（ｎ−１）、Ｍｉ、ｎのそれぞれ、情報／データを格納し、情報／データを第１のクロック信号ＣＬ１と第２のクロック信号ＣＬ２とに同期して、ステップごとに、第１のＩ／Ｏセレクタ５１２と第２のＩ／Ｏセレクタ５１３との間で、双方向に転送し、格納された情報／データをプロセッサ１１に能動的に逐次出力し、ＡＬＵ１１２は、演算論理動作を格納された情報／データを用いて実行する。
【００５３】
（位置指定法）
図１４（ａ）は、プロセッサに隣接する１次元のマーチング主記憶装置の命令の双方向転送モードを示す。図１４（ａ）では、命令が、プロセッサの方向に向けて移動し且つ次段へ、又は次段から移動している。図１４（ｂ）は、ＡＬＵ１１２に隣接する１次元のマーチング主記憶装置のスカラデータの双方向転送モードを示す。図１４（ｂ）では、スカラデータはＡＬＵに向けて移動し且つ次段へ、又は次段から移動している。図１４（ｃ）は、後述する第３の実施の形態で説明される、パイプライン１１７に隣接する１次元のマーチング主記憶装置におけるベクトルデータ又はストリーミングデータの単一方向転送モードを示す。図１４（ｃ）では、ベクトルデータ又はストリーミングデータは、パイプライン１１７に向けて移動し且つ次段のメモリから移動する。
【００５４】
第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置３１は、ベクトルデータ又はストリーミングデータにおいて、連続する複数のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕｎ−１、Ｕｎのセットの開始ポイントと終了ポイントとを識別するために、位置指定機能を用いる。他方で、プログラムとスカラデータとに対して、各アイテムは、従来のアドレスと同様の位置指標を有していなければならない。図１５（ａ）は、すべてのメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕｎ−１、Ｕｎが、アドレスＡ１、Ａ２、Ａ３、……、Ａｎ−１、Ａｎによりラベル表示されている、従来の主記憶装置の構成を示す。図１５（ｂ）は、１次元のマーチング主記憶装置の構成を示す。図１５（ｂ）では、それぞれの複数のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕｎ−１、Ｕｎの位置指定は必ずしも必要でないが、それぞれの複数のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕｎ−１、Ｕｎの位置指定は、ベクトルデータ又はストリーミングデータにおいて連続するメモリユニットの配列の開始ポイントと終了ポイントとを識別するために少なくとも必要である。
【００５５】
図１６（ａ）は、本発明の１次元のマーチング主記憶装置の内部構成を示す。図１６（ａ）では、現行のアドレスのような位置指標はスカラ命令Ｉｓに対して必要でないが、それぞれのメモリユニットの位置指定は、斜線を付した円で示すように、ベクトル命令Ｉｖにおいて連続するメモリユニットの配列の開始ポイントと終了ポイントとを識別するために少なくとも必要である。図１６（ｂ）は、本発明の１次元のマーチング主記憶装置の内部構成を示す。図１６（ｂ）では、位置指標はスカラデータ”ｂ”と”ａ”に対して必要でない。しかし、図１６（ｃ）に示すように、位置指標は、斜線を付した円で示すように、ベクトルデータ又はストリーミングデータ”ｏ”、”ｐ”、”ｑ”、”ｒ”、”ｓ”、”ｔ”、……において連続するメモリユニットの配列の開始ポイントと終了ポイントとを識別するために少なくとも必要である。
【００５６】
次の第２の実施の形態で説明される、ＡＬＵ１１２に接続されたマーチング命令レジスタファイル２２ａとマーチング・データ・レジスタファイル２２ｂと、後述する第３の実施の形態で説明される、マーチング命令キャッシュメモリ２１ａとマーチング・データ・キャッシュメモリ２１ｂとを、本発明の第１の実施の形態に係る計算機システムに用いるマーチング主記憶装置３１に加えて含む、マーチング記憶装置ファミリでは、主記憶装置とレジスタファイルとキャッシュメモリとの間の関係には、基準となる局所の特性に基づいて、それら自体の位置指定法がある。
【００５７】
図１７（ａ）は、ベクトルデータ又はストリーミングデータの場合に対して複数のページＰｉ−１、ｊ−１、Ｐｉ、ｊ−１、Ｐｉ＋１、ｊ−１、Ｐｉ＋２、ｊ−１、Ｐｉ−１、ｊ、Ｐｉ、ｊ、Ｐｉ＋１、ｊ、Ｐｉ＋２、ｊで形成される本発明のマーチング主記憶装置の全体的な構成の一例を概略的に示す。図１７（ｂ）は、ベクトルデータ又はストリーミングデータの場合に対して複数のファイルＦ１、Ｆ２、Ｆ３、Ｆ４により形成される、斜線を付して示したページＰi,jの構成の一例を概略的に示し、ページＰｉ−１、ｊ−１、Ｐｉ、ｊ−１、Ｐｉ＋１、ｊ−１、Ｐｉ＋２、ｊ−１、Ｐｉ−１、ｊ、Ｐｉ、ｊ、Ｐｉ＋１、ｊ、Ｐｉ＋２、ｊのそれぞれは、第３の実施の形態に係るマーチング・キャッシュメモリ２１ａと２１ｂに対して使用できる。図１７（ｃ）は、斜線を付して示したファイルＦ３の構成の一例を概略的に示し、ファイルＦ１、Ｆ２、Ｆ３、Ｆ４のそれぞれは、ベクトルデータ又はストリーミングデータの場合に対して複数のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕｎ−１、Ｕｎにより形成され、ファイルＦ１、Ｆ２、Ｆ３、Ｆ４のそれぞれは、第２の実施の形態に係るマーチング・レジスタファイル２２ａと２２ｂに対して使用できる。
【００５８】
同様に、図１８（ａ）は、プログラム／スカラデータの場合に対して複数のページＰｒ−１、ｓ−１、Ｐｒ、ｓ−１、Ｐｒ＋１、ｓ−１、Ｐｒ＋２、ｓ−１、Ｐｒ−１、ｓ、Ｐｒ、ｓ、Ｐｒ＋１、ｓ、Ｐｒ＋２、ｓにより形成される本発明のマーチング主記憶装置の全体的な構成の一例を概略的に示す。図１８（ａ）では、各ページはそれ自体の位置指標をアドレスとして有している。図１８（ｂ）は、２進法のデジットを用いて、斜線を付して示したページＰｒ−１、ｓの構成とページＰｒ−１、ｓの駆動位置の一例を概略的に示し、ページＰｒ−１、ｓ−１、Ｐｒ、ｓ−１、Ｐｒ＋１、ｓ−１、Ｐｒ＋２、ｓ−１、Ｐｒ−１、ｓ、Ｐｒ、ｓ、Ｐｒ＋１、ｓ、Ｐｒ＋２、ｓのそれぞれは、プログラム／スカラデータの場合に対して複数のファイルＦ１、Ｆ２、Ｆ３、Ｆ４で形成されている。ページＰｒ−１、ｓ−１、Ｐｒ、ｓ−１、Ｐｒ＋１、ｓ−１、Ｐｒ＋２、ｓ−１、Ｐｒ−１、ｓ、Ｐｒ、ｓ、Ｐｒ＋１、ｓ、Ｐｒ＋２、ｓのそれぞれは、第３の実施の形態に係るマーチング・キャッシュメモリ２１ａと２１ｂに対して使用できる。図１８（ｂ）では、ファイルＦ１、Ｆ２、Ｆ３、Ｆ４のそれぞれそれ自体の位置指標をアドレスとして有している。図１８（ｃ）は、２進法のデジット０、１、２、３を用いて、斜線を付して示したファイルＦ３の構成とファイルＦ３の駆動位置の一例を概略的に示し、ファイルＦ１、Ｆ２、Ｆ３、Ｆ４のそれぞれは、プログラム／スカラデータの場合に対して複数のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕｎ、Ｕｎ＋１、Ｕｎ＋２、Ｕｎ＋３、Ｕｎ＋４、Ｕｎ＋５により形成されている。ファイルＦ１、Ｆ２、Ｆ３、Ｆ４のそれぞれは、第２の実施の形態に係るマーチング・レジスタファイル２２ａと２２ｂに対して使用でき、図１８（ｂ）では、それぞれメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕｎ、Ｕｎ＋１、Ｕｎ＋２、Ｕｎ＋３、Ｕｎ＋４、Ｕｎ＋５は、それ自体の位置指標ｎ＋４、ｎ＋３、ｎ＋２、……、５、４、３、２、１、０をアドレスとして有している。図１８（ｃ）は、２進法のデジットによる場合のすべてに対する位置指定法を表している。
【００５９】
図１８（ｃ）に示すように、ｎの２進数は、マーチング・レジスタファイルのサイズに対応する等価サイズを有するメモリ構造において、それぞれ、２ｎのメモリユニットのなかで単一のメモリユニットを識別する。そして、図１８（ｂ）に示すように、一枚のページの構造は、４つのファイルＦ１、Ｆ２、Ｆ３、Ｆ４を識別する２桁で表される、マーチング・キャッシュメモリのサイズに対応する等価サイズを有し、一つのマーチング主記憶装置の構造は、図１８（ａ）に示すように、マーチング主記憶装置の８枚のページＰｒ−１、ｓ−１、Ｐｒ、ｓ−１、Ｐｒ＋１、ｓ−１、Ｐｒ＋２、ｓ−１、Ｐｒ−１、ｓ、Ｐｒ、ｓ、Ｐｒ＋１、ｓ、Ｐｒ＋２、ｓを識別する、３桁で表される。
【００６０】
（速度／処理能力）
従来の計算機システムにおけるメモリ・アクセス時間とＣＰＵサイクル時間との間の速度ギャップは、例えば、１：１００である。しかし、マーチング記憶装置アクセス時間の速度は、第１の実施の形態に係る計算機システムのＣＰＵサイクル時間と等しい。図１９は、キャッシュの無い従来の計算機システムの速度／処理能力を、本発明の第１の実施の形態に係る計算機システムに用いるように構成されたマーチング主記憶装置３１のものとを比較したものである。即ち、図１９（ｂ）は、１００個のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕ１００で形成されたマーチング主記憶装置３１の速度／処理能力を概略的に示して、図１９（ａ）に示した現行の記憶装置の速度／処理能力と比較している。我々がマーチング主記憶装置３１からデータを使用するために必要な処理装置を有するという条件において、更に、マーチング主記憶装置３１の９９個の同時に動作するメモリユニットも駆動できる。したがって、従来の計算機システムの一つのメモリユニット時間Ｔｍｕｅは、本発明の第１の実施の形態に係るマーチング主記憶装置３１の１００個のメモリユニット・ストリーミング時間Ｔｍｕｓに等しいと評価される。
【００６１】
そして、図２０は、スカラデータ又はプログラム命令に対して現行の記憶装置の最悪の場合の速度／処理能力を、本発明の第１の実施の形態に係る計算機システムに用いるように構成されたマーチング主記憶装置３１の速度／処理能力と比較したものである。すなわち、図２０（ｂ）の斜線部分は、１００個のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕ１００で形成されたマーチング主記憶装置３１の速度／処理能力を概略的に示し、図２０（ａ）に示した現行の記憶装置の最悪の場合の速度／処理能力と比較したものである。最悪の場合で、我々は、マーチング主記憶装置３１の９９個のメモリユニットを読み出すことができるが、それらはスカラプログラムの規定により使用できない。
【００６２】
更に、図２１は、スカラデータ又はプログラム命令に対して現行の記憶装置における中程度に適度な場合の速度／処理能力を、本発明の第１の実施の形態に係る計算機システムに用いるように構成されたマーチング主記憶装置３１の速度／処理能力と比較したものである。すなわち、図２１（ｂ）は、１００個のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕ１００で形成されたマーチング主記憶装置３１の速度／処理能力を概略的に示し、図２１（ａ）に示した現行の記憶装置における中程度に適度な場合の速度／処理能力と比較したものである。中程度に適度な場合で、我々は、９９個のメモリユニットを読み出すことができる。しかし、幾つかのメモリユニットだけが、スカラプログラムの推測的なデータ作成により、現行の記憶装置の斜線を付して特定したメモリユニットで示すように使用できる。
【００６３】
図２２は、スカラデータの場合に対して現行の記憶装置における中程度に適度な場合の速度／処理能力を、本発明の第１の実施の形態に係る計算機システムに用いるように構成されたマーチング主記憶装置３１の速度／処理能力と比較したものである。すなわち、図２２（ｂ）は、１００個のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕ１００で形成されたマーチング主記憶装置３１の速度／処理能力を概略的に示し、図２２（ａ）に示した現行の記憶装置における中程度に適度な場合の速度／処理能力と比較したものである。図２１（ａ）〜（ｂ）で示した場合と同様に、中程度に適度な場合で、我々は、９９個のメモリユニットを読み出すことができる。しかし、幾つかのメモリユニットだけが、マルチ・スレッド並列処理におけるスカラデータ又はプログラム命令の推測的なデータ作成により、現行の記憶装置の、斜線を付して特定したメモリユニットで示すように使用できる。
【００６４】
図２３は、ストリーミングデータ、ベクトルデータ又はプログラム命令の場合に対して現行の記憶装置における最良の場合の速度／処理能力を、本発明の第１の実施の形態に係る計算機システムに用いるように構成されたマーチング主記憶装置３１の速度／処理能力と比較したものである。すなわち、図２３（ｂ）は、１００個のメモリユニットＵ１、Ｕ２、Ｕ３、……、Ｕ１００で形成されたマーチング主記憶装置３１の速度／処理能力を概略的に示し、図２３（ａ）に示した現行の記憶装置における最良の場合の速度／処理能力と比較したものである。最良の場合において、我々は、マーチング主記憶装置３１の１００個のメモリユニットが、ストリーミングデータとデータ・パラレルとに対して使用できることが理解できる。
【００６５】
（２次元のマーチング主記憶装置）
メモリユニットは図２４〜３０に示すように２次元で配置できるので、様々なモードの動作が、スイッチ／ネットワークなしに実現できる。図２４〜３０に示す第１の実施の形態に係る２次元のマーチング主記憶装置３１によれば、複数のメモリユニットＵ１１、Ｕ１２、Ｕ１３、……、Ｕ１、ｖ−１、Ｕ１ｖ；  Ｕ２２、Ｕ２２、Ｕ２３、……、Ｕ２、ｖ−２、Ｕ２ｖ；  ……；  Ｕｕ１、Ｕｕ２、Ｕｕ３、……、Ｕｕ、ｖ−１、Ｕｕｖはリフレッシュが要求されない。何故ならば、複数のメモリユニットＵ１１、Ｕ１２、Ｕ１３、……、Ｕ１、ｖ−１、Ｕ１ｖ；  Ｕ２２、Ｕ２２、Ｕ２３、……、Ｕ２、ｖ−２、Ｕ２ｖ；  ……；  Ｕｕ１、Ｕｕ２、Ｕｕ３、……、Ｕｕ、ｖ−１、Ｕｕｖのすべては、通常は、情報移動スキーム（情報の隊列進行スキーム）により自動的にリフレッシュされるからである。そして、複数のメモリユニットＵ１１、Ｕ１２、Ｕ１３、……、Ｕ１、ｖ−１、Ｕ１ｖ；  Ｕ２２、Ｕ２２、Ｕ２３、……、Ｕ２、ｖ−２、Ｕ２ｖ；  ……；  Ｕｕ１、Ｕｕ２、Ｕｕ３、……、Ｕｕ、ｖ−１、Ｕｕｖのそれぞれに対するアドレス指定が消滅し、要求される情報は、メモリの端部に設けられた、その宛先ユニットに向かう。第１の実施の形態に係る２次元のマーチング主記憶装置３１にアクセスするメカニズムは、従来の計算機システムで情報の読み出し及び書き込みを行うためのアドレス指定モードから始まる、現行の記憶装置スキームの真の代わりとなるものである。したがって、第１の実施の形態に係る２次元のマーチング主記憶装置３１によれば、第１の実施の形態に係る計算機システムでアドレス指定モードのないメモリ−アクセス・処理が、従来の計算機システムの現行の記憶装置スキームより遙かに単純になる。
【００６６】
（エネルギー消費）
本発明の第１の実施の形態に係る計算機システムのアーキテクチュア、設計及び実現に関する改点善を明確にするために、エネルギー消費の改善を説明する。図３１（ａ）は、マイクロプロセッサのエネルギー消費が、静的な電力消費と動的電力消費に分割できることを示す。図３１（ａ）に示す動的電力消費において、電力消費のネット（正味）とオーバーヘッドが図３１（ｂ）で著しい。図３１（ｃ）に示すように、正味のエネルギー部分だけが、計算機システムの或るジョブを動作させるために実際に必要になるので、これらの純粋なエネルギー部分が、計算機システムを実施するうえでの最小のエネルギー消費になる。これは、最短の処理時間が、図３１（ｃ）に示す正味のエネルギー消費によって実現されることを意味する。
【００６７】
いくつかの試みが構造化、設計及び実現のためのプロセッサに導入されているが、図１に示した従来のアーキテクチュアにはボトルネックがある。従来のアーキテクチュアでは、下記のように、フォン・ノイマン型計算機の様々な課題がある。
１）プログラムが、メモリのデータのように格納される。
２）すべての処理が、単一のプロセッサにおいて基本的に逐次的である。
３）プログラムの動作は、命令の逐次的な実行である。  
４）ベクトルデータは、ベクトル命令によりＣＰＵで逐次的に処理される。
５）ストリーミングデータは、スレッドで逐次的に処理される。
６）プログラムには、スレッドが逐次的に配置されている。
７）データ・パラレルは、ベクトルとしてのデータの配置から成る。
８）ストリーミングデータは、データの流れである。
【００６８】
従来の計算機の特性から、本発明者らは、プログラムとデータの格納は基本的に逐次的に配置された形式になると結論づけた。この事実は、命令の規則的な配置が、プログラム及び対応するデータとに存在することを意味する。
【００６９】
図２に示す本発明の第１の実施の形態に係る計算機システムでは、マーチング主記憶装置３１における命令のアクセスは必要でない。何故ならば、命令がそれら自体によりプロセッサ１１に能動的にアクセスするからである。同様に、マーチング主記憶装置３１におけるデータのアクセスは、データがそれら自体によってプロセッサ１１に能動的にアクセスするので必要でない。
【００７０】
図３２は、ウィリアム（William）Ｊ．ダリ（Dally）らが『効率の良い埋め込み型コンピューティング（Efficient Embedded Computing)』、計算機（Computer）、第４１巻、第７号,２００８年，ｐｐ２７〜３２で評価した、従来のアーキテクチュアにおけるレジスタとキャッシュを含めた。プロセッサ全体での実際のエネルギー消費分布を示す。図３２には、チップ間の配線を除いた、チップ全体上だけの電力消費分布の評価が開示されている。ダリらにより、命令供給の電力消費は４２％と評価され、データ供給の電力消費は２８％と評価され、クロックと制御ロジックの電力消費は２４％と評価され、演算電力消費は６％と評価される。したがって、我々は、命令供給とデータ供給の電力消費はクロック／制御ロジックの電力消費と演算の電力消費より比較的大きく、これは、メモリとキャッシュとレジスタのすべてがリフレッシュされないことに加えて、これらのキャッシュとレジスタのアクセス方式に起因して大量の配線と一部のソフトウェアのオーバーヘッドによるキャッシュ／レジスタ・アクセスの非効率性に起因すると理解できる。
【００７１】
命令供給の電力消費とデータ供給の電力消費の比は３：２であり、クロックと制御ロジックの電力消費と演算の電力消費の比は４：１なので、図２に示す本発明の第１の実施の形態に係る計算機システムに従って、我々は、マーチング主記憶装置３１を少なくとも部分的に用いることにより、データ供給の電力消費を２０％に容易に減少できるので、命令供給の電力消費が３０％になり、我々は演算の電力消費を１０％に増加できるので、クロックと制御ロジックの電力消費が４０％になり、これは、命令供給の電力消費とデータ供給の電力消費の合計を５０％にでき、クロックと制御ロジックの電力消費と演算の電力消費の合計を５０％にできることを意味する。
【００７２】
我々がデータ供給の電力消費を１０％に減らすと、命令供給の電力消費が１５％になり、我々が演算の電力消費を１５％に増加すると、クロックと制御ロジックの電力消費が６０％になる。これは、命令供給の電力消費とデータ供給の電力消費の合計を３５％にでき、クロックと制御ロジックの電力消費と演算の電力消費の合計を７５％にできることを意味する。
【００７３】
従来の計算機システムは、図３３（ａ）に示すようにエネルギーを消耗し、メモリユニットをアドレス指定して読み取り／書き込むために比較的大きな平均活性動作時間が配線遅延時間により生じるが、本発明の実施の形態に係る計算機システムは図３３（ｂ）に示すように、より僅かなエネルギーを消耗するだけである。何故ならば、本発明の実施の形態に係る計算機システムは、マーチング記憶装置により、より短い平均した滑らかな活性動作時間になるからである。我々は、僅かなエネルギーで、従来の計算機システムより迅速に同じデータを処理できた。
【００７４】
−  第２の実施の形態  −
図３４に示すように、本発明の第２の実施の形態に係る計算機システムは、プロセッサ１１とマーチング主記憶装置３１とを備えている。プロセッサ１１は、クロック信号を生成するクロック発生回路１１３を有する制御装置１１１と、クロック信号に同期して演算論理動作を実行する演算論理装置（ＡＬＵ）１１２と、制御装置１１１に接続されたマーチング命令レジスタファイル（ＲＦ）２２ａと、ＡＬＵ１１２に接続されたマーチング・データ・レジスタファイル（ＲＦ）２２ｂとを含む。
【００７５】
図示を省略しているが、図３〜７、８（ａ）、８（ｂ）、２４〜３０に示したマーチング主記憶装置３１と非常に類似して、マーチング命令レジスタファイル２２ａは、命令レジスタユニットのアレイと、マーチング主記憶装置３１から格納された命令を入力する第３のアレイの命令レジスタ入力端子と、第３のアレイの命令レジスタ出力端子とを有する。マーチング命令レジスタファイル２２ａは、命令を命令レジスタユニットのそれぞれに格納し、命令レジスタ入力端子側に隣接する命令レジスタユニットから命令レジスタユニットのそれぞれに格納された命令を隣接する命令レジスタユニットに、命令レジスタ出力端子側に隣接する命令レジスタユニットに向かう方向に沿って、クロック信号に同期して、連続して且つ定期的に転送し、格納された命令による命令を、命令レジスタ出力端子を介して、制御装置１１１に能動的に逐次出力し、制御装置１１１は命令により動作を実行する。
【００７６】
更に図３〜７、８（ａ）、８（ｂ）、２４〜３０に示したマーチング主記憶装置３１と同様に、マーチング・データ・レジスタファイル２２ｂは、データ・レジスタユニットのアレイと、マーチング主記憶装置３１から格納されたデータを入力する第４のアレイのデータレジスタ入力端子と、第４のアレイのデータレジスタ出力端子とを有し、データをデータ・レジスタユニットのそれぞれに格納し、データ・レジスタユニットのそれぞれに格納されたデータを、データレジスタ入力端子側に隣接するデータ・レジスタユニットから隣接するデータ・レジスタユニットに、データレジスタ出力端子側に隣接するデータ・レジスタユニットに向かう方向に沿って、クロック信号に同期して連続して定期的に転送し、データをデータレジスタ出力端子を介して能動的にＡＬＵ１１２に逐次出力し、マーチング・データ・レジスタファイル２２ｂの詳細な図示は省かれているが、ＡＬＵ１１２はデータによって動作を実行する。
【００７７】
図３４に示すように、マーチング主記憶装置３１の一部とマーチング命令レジスタファイル２２ａは複数の接合部材５４で電気的に接続され、マーチング主記憶装置３１の残部とマーチング・データ・レジスタファイル２２ｂは他の複数の接合部材５４で電気的に接続されている。
【００７８】
ＡＬＵ１１２の処理の最終データはマーチング・データ・レジスタファイル２２ｂに出力される。したがって、双方向矢印Φ２４で表されるように、データは、マーチング・データ・レジスタファイル２２ｂとＡＬＵ１１２との間で双方向に転送される。更に、マーチング・データ・レジスタファイル２２ｂに格納されたデータは、マーチング主記憶装置３１に接合部材５４を介して出力される。したがって、双方向矢印Φ２３で表されるように、データは、マーチング主記憶装置３１とマーチング・データ・レジスタファイル２２ｂとの間を接合部材５４を介して双方向に転送される。
【００７９】
逆に、単一方向矢印η２２とη２３とで表されるように、命令の転送については、マーチング主記憶装置３１からマーチング命令レジスタファイル２２ａに、及びマーチング命令レジスタファイル２２ａから制御装置１１１に向かう一方向の命令の流れだけである。
【００８０】
従来の計算機システムでは配線又はバスがボトルネックを形成しているが、図３４に示す第２の実施の形態に係る計算機システムには、データバスとアドレスバスとから成るバスは無い。何故ならば、全体的な計算機システムは、マーチング主記憶装置３１とマーチング命令レジスタファイル２２ａの間、マーチング主記憶装置３１とマーチング・データ・レジスタファイル２２ｂの間、マーチング命令レジスタファイル２２ａと制御装置１１１の間、マーチング・データ・レジスタファイル２２ｂとＡＬＵ１１２の間における、任意のデータ交換でも配線を有していないからである。従来の計算機システムではボトルネックを形成しているこれらの配線間で、時間的な遅延と浮遊静電容量とを生成するグローバル配線が無いので、第２の実施の形態に係る計算機システムは、非常に高速の処理速度と低い電力消費とを達成できる。
【００８１】
第２の実施の形態に係る計算機システムの他の機能、構成や動作方法は、第１の実施の形態で既に説明した機能、構成や動作方法と実質的に類似しているので、重複した又は余分な説明は省略する。
【００８２】
−  第３の実施の形態  −
図３５に示すように、本発明の第３の実施の形態に係る計算機システムは、プロセッサ１１とマーチング・キャッシュメモリ（２１ａ、２１ｂ）とマーチング主記憶装置３１とを備えている。第２の実施の形態と同様に、プロセッサ１１は、クロック信号を生成するクロック発生回路１１３を有する制御装置１１１と、クロック信号と同期して演算論理動作を実行する、演算論理装置（ＡＬＵ）１１２と、制御装置１１１に接続されたマーチング命令レジスタファイル（ＲＦ）２２ａと、ＡＬＵ１１２に接続されたマーチング・データ・レジスタファイル（ＲＦ）２２ｂとを含む。
【００８３】
マーチング・キャッシュメモリ（２１ａ、２１ｂ）は、マーチング命令キャッシュメモリ２１ａとマーチング・データ・キャッシュメモリ２１ｂとを備えている。図示を省略しているが、図３〜７，８（ａ）、８（ｂ）、２４〜３０と非常に類似して、マーチング命令キャッシュメモリ２１ａとマーチング・データ・キャッシュメモリ２１ｂのそれぞれは、一組の情報群に対応する位置にキャッシュメモリユニットのアレイと、マーチング主記憶装置３１から格納された情報を入力するアレイのキャッシュ入力端子と、アレイのキャッシュ出力端子とを有し、情報をキャッシュメモリユニットのそれぞれに格納し、クロック信号と同期して、ステップごとに、情報を隣接するキャッシュメモリユニットにそれぞれ転送し、格納された情報をプロセッサ１１に能動的に逐次出力し、ＡＬＵ１１２は演算論理動作を格納された情報により実行できる。
【００８４】
図３５に示すように、マーチング主記憶装置３１の一部とマーチング命令キャッシュメモリ２１ａは複数の接合部材５２で電気的に接続され、マーチング主記憶装置３１の残部とマーチング・データ・キャッシュメモリ２１ｂは、他の複数の接合部材５２で電気的に接続されている。更に、マーチング命令キャッシュメモリ２１ａとマーチング命令レジスタファイル２２ａは複数の接合部材５１で電気的に接続され、マーチング・データ・キャッシュメモリ２１ｂとマーチング・データ・レジスタファイル２２ｂは他の複数の接合部材５１で電気的に接続されている。
【００８５】
ＡＬＵ１１２の最終データはマーチング・データ・レジスタファイル２２ｂに出力され、双方向矢印Φ３４で表されるように、データは、マーチング・データ・レジスタファイル２２ｂとＡＬＵ１１２との間で双方向に転送される。更に、マーチング・データ・レジスタファイル２２ｂに格納されたデータは、マーチング・データ・キャッシュメモリ２１ｂに接合部材５１を介して出力され、双方向矢印Φ３３で表されるように、データは、マーチング・データ・キャッシュメモリ２１ｂとマーチング・データ・レジスタファイル２２ｂとの間で接合部材５１を介して双方向に転送される。更に、マーチング・データ・キャッシュメモリ２１ｂに格納されたデータは、マーチング主記憶装置３１に接合部材５２を介して出力され、双方向矢印Φ３２で表されるように、データは、マーチング主記憶装置３１とマーチング・データ・キャッシュメモリ２１ｂとの間で接合部材５２を介して双方向に転送される。
【００８６】
逆に、単一方向矢印η３１とη３２とで表されるように、命令の転送については、マーチング主記憶装置３１からマーチング命令キャッシュメモリ２１ａに、マーチング命令キャッシュメモリ２１ａからマーチング命令レジスタファイル２２ａに、及びマーチング命令レジスタファイル２２ａから制御装置１１１に向かう一方向の命令の流れだけである。
【００８７】
従来の計算機システムでは配線又はバスがボトルネックを形成しているが、図３５に示す第３の実施の形態に係る計算機システムには、データバスとアドレスバスとから成るバスは無い。何故ならば、全体的な計算機システムは、マーチング主記憶装置３１とマーチング命令キャッシュメモリ２１ａの間、マーチング命令キャッシュメモリ２１ａとマーチング命令レジスタファイル２２ａの間、マーチング主記憶装置３１とマーチング・データ・キャッシュメモリ２１ｂの間、マーチング・データ・キャッシュメモリ２１ｂとマーチング・データ・レジスタファイル２２ｂの間、マーチング命令レジスタファイル２２ａと制御装置１１１の間、及びマーチング・データ・レジスタファイル２２ｂとＡＬＵ１１２の間における、任意のデータ交換でもグローバル配線を有していないからである。従来の計算機システムではボトルネックを形成しているこれらの配線間で、時間的な遅延と浮遊静電容量とを生成するグローバル配線が無いので、第３の実施の形態に係る計算機システムは、非常に高速の処理速度と低い電力消費とを達成できる。
【００８８】
第３の実施の形態に係る計算機システムの他の機能、構成や動作方法は、第１と第２の実施の形態で既に説明した機能、構成や動作方法と実質的に類似しているので、重複した又は余分な説明は省略する。
【００８９】
図３６（ａ）に示すように、第３の実施の形態に係る計算機システムを構成するＡＬＵ１１２は、マーチング・レジスタユニットＲ１１、Ｒ１２、Ｒ１３、……、Ｒ１ｎ；  Ｒ２２、Ｒ２２、Ｒ２３、……、Ｒ２ｎを介して、格納された情報を入力する複数の演算パイプラインＰ１、Ｐ２、Ｐ３、……、Ｐｎを含む。図３６（ａ）では、データは演算パイプラインＰ１、Ｐ２、Ｐ３、……、Ｐｎの配列方向と平行に移動する。ベクトルデータが格納されている場合に、マーチング・レジスタユニットＲ１１、Ｒ１２、Ｒ１３、……、Ｒ１ｎ；  Ｒ２２、Ｒ２２、Ｒ２３、……、Ｒ２ｎを使用できる。
【００９０】
更に、図３６（ｂ）に示すように、複数のマーチング・キャッシュユニットＣ１１、Ｃ１２、Ｃ１３、……、Ｃ１ｎ；  Ｃ２１、Ｃ２２、Ｃ２３、……、Ｃ２ｎ；  Ｃ３１、Ｃ３２、Ｃ３３、……、Ｃ３ｎを平行に配列できる。
【００９１】
図３７に示すように、第３の実施の形態に係る計算機システムを構成するＡＬＵ１１２は、単一のプロセッサコア１１６を含む。横方向の矢印で表されるように、情報は、マーチング・キャッシュメモリ２１からマーチング・レジスタファイル２２に及びマーチング・レジスタファイル２２からプロセッサコア１１６に移動できる。プロセッサコア１１６の最終データはマーチング・レジスタファイル２２に出力されるので、データはマーチング・レジスタファイル２２とプロセッサコア１１６の間で双方向に転送される。更に、マーチング・レジスタファイル２２に格納されたデータはマーチング・キャッシュメモリ２１に出力されるので、データはマーチング・キャッシュメモリ２１とマーチング・レジスタファイル２２の間で双方向に転送される。命令の転送の場合、処理されるべき情報の反対方向に向かう流れは無い。
【００９２】
図３８に示すように、第３の実施の形態に係る計算機システムを構成するＡＬＵ１１２は単一の演算パイプライン１１７を含む。横方向の矢印で表されるように、情報は、マーチング・キャッシュメモリ２１からマーチング・ベクトルレジスタファイル２２ｖに及びマーチング・ベクトルレジスタファイル２２ｖから演算パイプライン１１７に移動できる。演算パイプライン１１７の最終データはマーチング・ベクトルレジスタファイル２２ｖに出力されるので、データは、マーチング・ベクトルレジスタファイル２２ｖと演算パイプライン１１７の間で双方向に転送される。更に、マーチング・ベクトルレジスタファイル２２ｖに格納されたデータはマーチング・キャッシュメモリ２１に出力されるので、データは、マーチング・キャッシュメモリ２１とマーチング・ベクトルレジスタファイル２２ｖの間で双方向に転送される。命令の転送の場合、処理されるべき情報の反対方向に向かう流れは無い。
【００９３】
図３９に示すように、第３の実施の形態に係る計算機システムを構成するＡＬＵ１１２は、複数のプロセッサコア１１６−１、１１６−２、１１６−３、１１６−４、……、１１６−ｍを含む。横方向の矢印で表されるように、情報は、マーチング・キャッシュメモリ２１からマーチング・レジスタファイル２２に及びマーチング・レジスタファイル２２からプロセッサコア１１６−１、１１６−２、１１６−３、１１６−４、……、１１６−ｍに移動できる。プロセッサコア１１６−１、１１６−２、１１６−３、１１６−４、……、１１６−ｍの最終データはマーチング・レジスタファイル２２に出力されるので、データは、マーチング・レジスタファイル２２とプロセッサコア１１６−１、１１６−２、１１６−３、１１６−４、……、１１６−ｍとの間で双方向に転送される。更に、マーチング・レジスタファイル２２に格納されたデータはマーチング・キャッシュメモリ２１に出力されるので、データは、マーチング・キャッシュメモリ２１とマーチング・レジスタファイル２２との間で双方向に転送される。命令の転送の場合、処理されるべき情報の反対方向に向かう流れは無い。
【００９４】
図４０に示すように、第３の実施の形態に係る計算機システムを構成するＡＬＵ１１２は、複数の演算パイプライン１１７−１、１１７−２、１１７−３、１１７−４、……、１１７−ｍを含む。横方向の矢印で表されるように、情報は、マーチング・キャッシュメモリ２１からマーチング・ベクトルレジスタファイル２２ｖに及びマーチング・ベクトルレジスタファイル２２ｖから演算パイプライン１１７−１、１１７−２、１１７−３、１１７−４、……、１１７−ｍに移動できる。演算パイプライン１１７−１、１１７−２、１１７−３、１１７−４、……、１１７−ｍの最終データは、マーチング・ベクトルレジスタファイル２２ｖに出力されるので、データは、マーチング・ベクトルレジスタファイル２２ｖと演算パイプライン１１７−１、１１７−２、１１７−３、１１７−４、……、１１７−ｍとの間で双方向に転送される。更に、マーチング・ベクトルレジスタファイル２２ｖに格納されたデータはマーチング・キャッシュメモリ２１に出力されるので、データは、マーチング・キャッシュメモリ２１とマーチング・ベクトルレジスタファイル２２ｖとの間で双方向に転送される。命令の転送の場合、処理されるべき情報の反対方向に向かう流れは無い。
【００９５】
図４１（ｂ）に示すように、第３の実施の形態に係る計算機システムを構成するＡＬＵ１１２は、複数の演算パイプライン１１７−１、１１７−２、１１７−３、１１７−４、……、１１７−ｍを含んでいて、複数のマーチング・キャッシュメモリ２１−１、２１−２、２１−３、……、２１−ｍは、マーチング主記憶装置３１に電気的に接続されている。ここで、第１のマーチング・ベクトルレジスタファイル２２ｖ−１は、第１のマーチング・キャッシュメモリ２１−１に接続され、第１の演算パイプライン１１７−１は第１のマーチング・ベクトルレジスタファイル２２ｖ−１に接続されている。そして、第２のマーチング・ベクトルレジスタファイル２２ｖ−２は第２のマーチング・キャッシュメモリ２１−２に接続され、第２の演算パイプライン１１７−２は第２のマーチング・ベクトルレジスタファイル２２ｖ−２に接続されている。第３のマーチング・ベクトルレジスタファイル２２ｖ−３は第３のマーチング・キャッシュメモリ２１−３に接続され、第３の演算パイプライン１１７−３は第３のマーチング・ベクトルレジスタファイル２２ｖ−３に接続されている、……。ｍ番目のマーチング・ベクトルレジスタファイル２２ｖ−ｍはｍ番目のマーチング・キャッシュメモリ２１−ｍに接続され、ｍ番目の演算パイプライン１１７−ｍはｍ番目のマーチング・ベクトルレジスタファイル２２ｖ−ｍに接続されている。
【００９６】
情報は、マーチング主記憶装置３１からマーチング・キャッシュメモリ２１−１、２１−２、２１−３、……、２１−ｍに並列に、マーチング・キャッシュメモリ２１−１、２１−２、２１−３、……、２１−ｍからマーチング・ベクトルレジスタファイル２２ｖ−１、２２ｖ−２、２２ｖ−３、２２ｖ−４、……、２２ｖ−ｍに並列に、及びマーチング・ベクトルレジスタファイル２２ｖ−１、２２ｖ−２、２２ｖ−３、２２ｖ−４、……、２２ｖ−ｍから演算パイプライン１１７−１、１１７−２、１１７−３、１１７−４、……、１１７−ｍに並列に移動する。演算パイプライン１１７−１、１１７−２、１１７−３、１１７−４、……、１１７−ｍの最終データはマーチング・ベクトルレジスタファイル２２ｖ−１、２２ｖ−２、２２ｖ−３、２２ｖ−４、……、２２ｖ−ｍに出力されるので、データは、マーチング・ベクトルレジスタファイル２２ｖ−１、２２ｖ−２、２２ｖ−３、２２ｖ−４、……、２２ｖ−ｍと演算パイプライン１１７−１、１１７−２、１１７−３、１１７−４、……、１１７−ｍとの間で双方向に転送される。更に、マーチング・ベクトルレジスタファイル２２ｖ−１、２２ｖ−２、２２ｖ−３、２２ｖ−４、……、２２ｖ−ｍに格納されたデータはマーチング・キャッシュメモリ２１−１、２１−２、２１−３、……、２１−ｍに出力されるので、データは、マーチング・キャッシュメモリ２１−１、２１−２、２１−３、……、２１−ｍとマーチング・ベクトルレジスタファイル２２ｖ−１、２２ｖ−２、２２ｖ−３、２２ｖ−４、……、２２ｖ−ｍとの間で双方向に転送され、マーチング・キャッシュメモリ２１−１、２１−２、２１−３、……、２１−ｍに格納されたデータはマーチング主記憶装置３１に出力されるので、データは、マーチング主記憶装置３１とマーチング・キャッシュメモリ２１−１、２１−２、２１−３、……、２１−ｍとの間で双方向に転送される。命令の転送の場合、処理されるべき情報の反対方向に向かう流れは無い。
【００９７】
逆に、図４１（ａ）に示すように、複数の演算パイプライン１１７−１、１１７−２、１１７−３、１１７−４、……、１１７−ｍを含む従来の計算機システムを構成するＡＬＵ１１２では、複数の従来のキャッシュメモリ３２１−１、３２１−２、３２１−３、３２１−４、……、３２１−ｍが、フォン・ノイマン・ボトルネック３２５を形成する配線及び／又はバスを介して従来の主記憶装置３３１に電気的に接続されている。そこで、情報は、従来の主記憶装置３３１から従来のキャッシュメモリ３２１−１、３２１−２、３２１−３、３２１−４、……、３２１−ｍに並列にフォン・ノイマン・ボトルネック３２５を介して、従来のキャッシュメモリ３２１−１、３２１−２、３２１−３、３２１−４、……、３２１−ｍから従来のベクトルレジスタファイル（ＲＦｓ）３２２ｖ−１、３２２ｖ−２、３２２ｖ−３、３２２ｖ−４、……、３２２ｖ−ｍに並列に、及び従来のベクトルレジスタファイル３２２ｖ−１、３２２ｖ−２、３２２ｖ−３、３２２ｖ−４、……、３２２ｖ−ｍから演算パイプライン１１７−１、１１７−２、１１７−３、１１７−４、……、１１７−ｍに並列に移動する。
【００９８】
図４１（ｂ）に示す第３の実施の形態に係る計算機システムには、データバスとアドレスバスとから成るバスは無い。何故ならば、全体的なシステムは、演算パイプライン１１７−１、１１７−２、１１７−３、１１７−４、……、１１７−ｍとマーチング主記憶装置３１との間における、任意のデータ交換でもグローバル配線を有していないからである。ところが、図４１（ａ）に示す従来の計算機システムでは配線又はバスがボトルネックを形成している。これらの配線間には時間的な遅延と浮遊静電容量とを生成するグローバル配線が無いので、図４１（ｂ）に示す計算機システムは、非常に高速の処理速度と低い電力消費とを達成できる。
【００９９】
−  第４の実施の形態  −
図４２に示すように、第４の実施の形態に係る計算機システムは、従来の主記憶装置３１ｓと、従来の主記憶装置３１ｓに接続されたマザー・マーチング主記憶装置３１−０と、グラフィック処理装置（ＧＰＵ）を基礎とした汎用計算に使用できる、高性能コンピューティング（ＨＰＣ）システムを形成するためにマザー・マーチング主記憶装置３１−０と通信する複数の処理装置１２−１、１２−２、１２−３、……とを備えている。図示を省略しているが、第４の実施の形態に係るＨＰＣシステムは、クロック信号を生成するクロック発生回路１１３を有する制御装置１１１と、複数の処理装置１２−１、１２−２、１２−３、……の動作を切り替え及び制御をするフィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）とを含んでおり、平行で作動することにより高速処理計算の流れを最適化して、帯域幅消費の管理と運営を支援することを意図している。ＦＰＧＡは、あるタスクのために自らを書き換えることができる、本質的には、計算機チップである。ＦＰＧＡは、ＶＨＤＬ又はヴェリログ(Verilog)のようなハードウェア記述言語でプログラム化できる。
【０１００】
第１の処理装置１２−１は、第１の分岐マーチング主記憶装置３１−１と、第１の分岐マーチング主記憶装置３１−１に、それぞれ、電気的に接続された複数の第１のマーチング・キャッシュメモリ２１−１１、２１−１２、……、２１−１ｐと、第１のマーチング・キャッシュメモリ２１−１１、２１−１２、……、２１−１ｐに、それぞれ、電気的に接続された複数の第１のマーチング・ベクトルレジスタファイル２２ｖ−１１、２２ｖ−１２、……、２２ｖ−１ｐと、第１のマーチング・ベクトルレジスタファイル２２ｖ−１１、２２ｖ−１２、……、２２ｖ−１ｐに、それぞれ、電気的にされた複数の第１の演算パイプライン１１７−１１、１１７−１２、……、１１７−１ｐとを備えている。
【０１０１】
図３〜７，８（ａ）、８（ｂ）、２４〜３０などに示した構成と同様に、マザー・マーチング主記憶装置３１−０と第１の分岐マーチング主記憶装置３１−１と第１のマーチング・キャッシュメモリ２１−１１、２１−１２、……、２１−１ｐと第１のマーチング・ベクトルレジスタファイル２２ｖ−１１、２２ｖ−１２、……、２２ｖ−１ｐのそれぞれは、メモリユニットのアレイとアレイの入力端子とアレイの出力端子とを備え、それは、情報をメモリユニットのそれぞれに格納し且つクロック信号と同期して、ステップごとに、入力端子側から出力端子側の方向に転送するように構成されている。
【０１０２】
マザー・マーチング主記憶装置３１−０と第１の分岐マーチング主記憶装置３１−１と第１のマーチング・キャッシュメモリ２１−１１、２１−１２、……、２１−１ｐと第１のマーチング・ベクトルレジスタファイル２２ｖ−１１、２２ｖ−１２、……、２２ｖ−１ｐの動作はＦＰＧＡで制御されるので、情報は、マザー・マーチング主記憶装置３１−０から第１の分岐マーチング主記憶装置３１−１に、第１の分岐マーチング主記憶装置３１−１から第１のマーチング・キャッシュメモリ２１−１１、２１−１２、……、２１−１ｐに並列に、第１のマーチング・キャッシュメモリ２１−１１、２１−１２、……、２１−１ｐから第１のマーチング・ベクトルレジスタファイル２２ｖ−１１、２２ｖ−１２、……、２２ｖ−１ｐに並列に、及び第１のマーチング・ベクトルレジスタファイル２２ｖ−１１、２２ｖ−１２、……、２２ｖ−１ｐから第１の演算パイプライン１１７−１１、１１７−１２、……、１１７−１ｐに並列に移動する。第１の演算パイプライン１１７−１１、１１７−１２、……、１１７−１ｐの最終データは、第１のマーチング・ベクトルレジスタファイル２２ｖ−１１、２２ｖ−１２、……、２２ｖ−１ｐに出力されるので、データは第１のマーチング・ベクトルレジスタファイル２２ｖ−１１、２２ｖ−１２、……、２２ｖ−１ｐと第１の演算パイプライン１１７−１１、１１７−１２、……、１１７−１ｐとの間で双方向に転送される。更に、第１のマーチング・ベクトルレジスタファイル２２ｖ−１１、２２ｖ−１２、……、２２ｖ−１ｐに格納されたデータが第１のマーチング・キャッシュメモリ２１−１１、２１−１２、……、２１−１ｐに出力されるので、データは第１のマーチング・キャッシュメモリ２１−１１、２１−１２、……、２１−１ｐと第１のマーチング・ベクトルレジスタファイル２２ｖ−１１、２２ｖ−１２、……、２２ｖ−１ｐとの間で双方向で転送され、第１のマーチング・キャッシュメモリ２１−１１、２１−１２、……、２１−１ｐに格納されたデータは第１の分岐マーチング主記憶装置３１−１に出力されるので、データは第１の分岐マーチング主記憶装置３１−１と第１のマーチング・キャッシュメモリ２１−１１、２１−１２、……、２１−１ｐとの間で双方向に転送される。しかし、ＦＰＧＡは、第１の処理装置１２−１で処理されるべき情報の反対方向に向かう流れが無いように、命令の移動を制御する。
【０１０３】
第２の処理装置１２−２は、第２の分岐マーチング主記憶装置３１−２と、第２の分岐マーチング主記憶装置３１−２に、それぞれ、電気的に接続された複数の第２のマーチング・キャッシュメモリ２１−２１、２１−２２、……、２１−２ｐと、第２のマーチング・キャッシュメモリ２１−２１、２１−２２、……、２１−２ｐに、それぞれ、電気的に接続された複数の第２のマーチング・ベクトルレジスタファイル２２ｖ−２１、２２ｖ−２２、……、２２ｖ−２ｑと、第２のマーチング・ベクトルレジスタファイル２２ｖ−２１、２２ｖ−２２、……、２２ｖ−２ｑに、それぞれ、電気的にされた複数の第２の演算パイプライン１１７−２１、１１７−２２、……、１１７−２ｐとを備えている。第１の処理装置１２−１と同様に、マザー・マーチング主記憶装置３１−０と第２の分岐マーチング主記憶装置３１−２と第２のマーチング・キャッシュメモリ２１−２１、２１−２２、……、２１−２ｐと第２のマーチング・ベクトルレジスタファイル２２ｖ−２１、２２ｖ−２２、……、２２ｖ−２ｐのそれぞれは、メモリユニットのアレイとアレイの入力端子とアレイの出力端子とを備え、それは、情報をメモリユニットのそれぞれに格納し且つクロック信号と同期して、ステップごとに、入力端子側から出力端子側の方向に転送するように構成されている。マザー・マーチング主記憶装置３１−０と第２の分岐マーチング主記憶装置３１−２と第２のマーチング・キャッシュメモリ２１−２１、２１−２２、……、２１−２ｐと第２のマーチング・ベクトルレジスタファイル２２ｖ−２１、２２ｖ−２２、……、２２ｖ−２ｐの動作はＦＰＧＡで制御されるので、情報は、マザー・マーチング主記憶装置３１−０から第２の分岐マーチング主記憶装置３１−２に、第２の分岐マーチング主記憶装置３１−２から第２のマーチング・キャッシュメモリ２１−２１、２１−２２、……、２１−２ｑに並列に、第２のマーチング・キャッシュメモリ２１−２１、２１−２２、……、２１−２ｑから第２のマーチング・ベクトルレジスタファイル２２ｖ−２１、２２ｖ−２２、……、２２ｖ−２ｑに並列に、及び第２のマーチング・ベクトルレジスタファイル２２ｖ−２１、２２ｖ−２２、……、２２ｖ−２ｑから第２の演算パイプライン１１７−２１、１１７−２２、……、１１７−２ｑに並列に移動する。第２の演算パイプライン１１７−２１、１１７−２２、……、１１７−２ｑの最終データは、第２のマーチング・ベクトルレジスタファイル２２ｖ−２１、２２ｖ−２２、……、２２ｖ−２ｑに出力されるので、データは第２のマーチング・ベクトルレジスタファイル２２ｖ−２１、２２ｖ−２２、……、２２ｖ−２ｑと第２の演算パイプライン１１７−２１、１１７−２２、……、１１７−２ｑとの間で双方向に転送される。更に、第２のマーチング・ベクトルレジスタファイル２２ｖ−２１、２２ｖ−２２、……、２２ｖ−２ｑに格納されたデータが第２のマーチング・キャッシュメモリ２１−２１、２１−２２、……、２１−２ｑに出力されるので、データは第２のマーチング・キャッシュメモリ２１−２１、２１−２２、……、２１−２ｑと第２のマーチング・ベクトルレジスタファイル２２ｖ−２１、２２ｖ−２２、……、２２ｖ−２ｑとの間で双方向で転送され、第２のマーチング・キャッシュメモリ２１−２１、２１−２２、……、２１−２ｑに格納されたデータは第２の分岐マーチング主記憶装置３１−２に出力されるので、データは第２の分岐マーチング主記憶装置３１−２と第２のマーチング・キャッシュメモリ２１−２１、２１−２２、……、２１−２ｑとの間で双方向に転送される。しかし、ＦＰＧＡは、第２の処理装置１２−２で処理されるべき情報の反対方向に向かう流れが無いように、命令の移動を制御する。
【０１０４】
例えば、ソース・プログラムのループから生成されたベクトル命令は、マザー・マーチング主記憶装置３１−０から第１の処理装置１２−１と第２の処理装置１２−２と第３の処理装置１２−３、……、とに並列に転送されるので、これらのベクトル命令の並列処理は、第１の処理装置１２−１と第２の処理装置１２−２と第３の処理装置１２−３、……のそれぞれで演算パイプライン１１７−１１、１１７−１２、……、１１７−１ｐ、１１７−２１、１１７−２２、……、１１７−２ｑ、……によって実行できる。
【０１０５】
現行のＦＰＧＡ制御のＨＰＣシステムは大量の配線資源を必要とするので、時間的な遅延と浮遊静電容量がこれらの配線間で発生し、ボトルネックが、図４２に示す第４の実施の形態に係るＨＰＣシステムに発生する。何故ならば、任意のデータ交換のためのデータバスやアドレスバスのようなバスが、第１のマーチング・ベクトルレジスタファイル２２ｖ−１１、２２ｖ−１２、……、２２ｖ−１ｐと第１の演算パイプライン１１７−１１、１１７−１２、……、１１７−１ｐとの間、第１のマーチング・キャッシュメモリ２１−１１、２１−１２、……、２１−１ｐと第１のマーチング・ベクトルレジスタファイル２２ｖ−１１、２２ｖ−１２、……、２２ｖ−１ｐとの間、第１の分岐マーチング主記憶装置３１−１と第１のマーチング・キャッシュメモリ２１−１１、２１−１２、……、２１−１ｐとの間、第２のマーチング・ベクトルレジスタファイル２２ｖ−２１、２２ｖ−２２、……、２２ｖ−２ｑと第２の演算パイプライン１１７−２１、１１７−２２、……、１１７−２ｑとの間、第２のマーチング・キャッシュメモリ２１−２１、２１−２２、……、２１−２ｑと第２のマーチング・ベクトルレジスタファイル２２ｖ−２１、２２ｖ−２２、……、２２ｖ−２ｑとの間、第２の分岐マーチング主記憶装置３１−２と第２のマーチング・キャッシュメモリ２１−２１、２１−２２、……、２１−２ｑとの間、マザー・マーチング主記憶装置３１−０と第１の分岐マーチング主記憶装置３１−１との間、及びマザー・マーチング主記憶装置３１−０と第２の分岐マーチング主記憶装置３１−２との間に無いので、図４２に示したＦＰＧＡ制御のＨＰＣシステムは、現行のＦＰＧＡ制御のＨＰＣシステムより、非常に高速の処理と低い電力消費とを実現できる。処理装置１２−１、１２−２、１２−３、……の数を増やすと、第４の実施の形態に係るＦＰＧＡ制御のＨＰＣシステムは、例えば、数千以上のスレッドを同時に非常に高速で実行できるので、高い計算機計算のスループットを大量のデータに対して可能になる。
【０１０６】
−  第５の実施の形態  −
図４３に示すように、本発明の第５の実施の形態に係る計算機システムは、プロセッサ１１と、プロセッサ１１に接続された３次元のマーチング・レジスタファイルを形成するマーチング・レジスタファイル２２−１、２２−２、２２−３、……のスタックと、３次元のマーチング・レジスタファイル（２２−１、２２−２、２２−３、……）に接続された３次元のマーチング・キャッシュメモリを形成するマーチング・キャッシュメモリ２１−１、２１−２、２１−３、……のスタックと、３次元のマーチング・キャッシュ（２１−１、２１−２、２１−３、……）に接続された３次元のマーチング主記憶装置を形成するマーチング主記憶装置３１−１、３１−２、３１−３、……のスタックとを備えている。プロセッサ１１は、クロック信号を生成するクロック発生回路１１３を有する制御装置１１１と、クロック信号と同期して演算論理動作を実行する演算論理装置（ＡＬＵ）１１２とを含む。
【０１０７】
３次元のマーチング・レジスタファイル（２２−１、２２−２、２２−３、……）において、第１のマーチング・レジスタファイル２２−１は、制御装置１１１に接続された第１のマーチング命令レジスタファイル２２ａ−１とＡＬＵ１１２に接続された第１のマーチング・データ・レジスタファイル２２ｂ−１とを含み、第２のマーチング・レジスタファイル２２−２は、制御装置１１１に接続された第２のマーチング命令レジスタファイルとＡＬＵ１１２に接続された第２のマーチング・データ・レジスタファイルとを含み、第３のマーチング・レジスタファイル２２−３は、制御装置１１１に接続された第３のマーチング命令レジスタファイルとＡＬＵ１１２に接続された第３のマーチング・データ・レジスタファイルとを含み、以下同様である。３次元のマーチング・キャッシュ（２１−１、２１−２、２１−３、……）において、第１のマーチング・キャッシュメモリ２１−１は、第１のマーチング命令キャッシュメモリ２１ａ−１と第１のマーチング・データ・キャッシュメモリ２１ｂ−１とを含み、第２のマーチング・キャッシュメモリ２１−２は、第２のマーチング命令キャッシュメモリと第２のマーチング・データ・キャッシュメモリとを含み、第３のマーチング・キャッシュメモリ２１−３は、第３のマーチング命令キャッシュメモリと第３のマーチング・データ・キャッシュメモリとを含み、以下同様である。
【０１０８】
図示を省略しているが、図２４〜３０に示したマーチング主記憶装置３１と非常に類似して、マーチング主記憶装置２１−１、２１−２、２１−３、……のそれぞれは、それぞれに一組の情報群を格納したメモリユニットの２次元アレイと、主記憶装置・アレイの入力端子と、主記憶装置・アレイの出力端子とを有し、マーチング主記憶装置２１−１、２１−２、２１−３、……のそれぞれ、情報をメモリユニットのそれぞれに格納し、クロック信号に同期して、ステップごとに、主記憶装置・アレイの出力端子の方向に転送し、格納された情報を３次元のマーチング・キャッシュ（２１−１、２１−２、２１−３、……）に能動的に逐次、出力し、マーチング・キャッシュメモリ２１−１，２１−２、２１−３、……のそれぞれは、キャッシュメモリユニットの２次元アレイと、３次元のマーチング主記憶装置（３１−１、３１−２、３１−３、……）から格納された情報を入力するマーチング・キャッシュアレイのキャッシュ入力端子と、マーチング・キャッシュアレイのキャッシュ出力端子とを有し、マーチング・キャッシュメモリ２１−１、２１−２、２１−３、……のそれぞれは情報をキャッシュメモリユニットのそれぞれに格納し、クロック信号に同期して、ステップごとに、情報を隣接するキャッシュメモリユニットに転送し、格納された情報を３次元のマーチング・レジスタファイル（２２−１、２２−２、２２−３、……）に能動的に逐次、出力し、マーチング・レジスタファイル２２−１、２２−２、２２−３、……のそれぞれは、それぞれに一組の情報群を格納したレジスタユニットの２次元のアレイと、３次元のマーチング・キャッシュ（２１−１、２１−２、２１−３、……）から格納された情報を入力するレジスタ・アレイの入力端子と、レジスタ・アレイの出力端子とを有し、マーチング・レジスタファイル２２−１、２２−２、２２−３、……のそれぞれは、情報をレジスタユニットのそれぞれに格納し、クロック信号に同期して、ステップごとに、レジスタ・アレイの出力端子の方向に転送し、格納された情報をプロセッサ１１に能動的に逐次出力し、プロセッサ１１は、格納された情報により演算論理動作を実行する。
【０１０９】
マーチング主記憶装置３１−１，３１−２、３１−３、……のそれぞれは、半導体チップの表面に描画されたメモリユニットの２次元アレイで形成され、複数の半導体チップが、図２７Ａに示すように垂直に積層され、３次元のマーチング主記憶装置（３１−１，３１−２、３１−３、……）を形成するように、複数の半導体チップの間に放熱板５８ｍ−１、５８ｍ−２、５８ｍ−３、……を挟んでいる。放熱板５８ｍ−１、５８ｍ−２、５８ｍ−３、……は、ダイアモンドのように高い熱伝導率を有する材料から作られることが好ましい。同様に、マーチング・キャッシュメモリ２１−１、２１−２、２１−３、……のそれぞれは、半導体チップの表面に描画されたメモリユニットの２次元アレイで形成され、複数の半導体チップが、図２７Ｂに示すように垂直に積層され、３次元のマーチング・キャッシュ（２１−１、２１−２、２１−３、……）を形成するように、複数の半導体チップの間に放熱板５８ｃ−１、５８ｃ−２、５８ｃ−３、……を挟んでおり、マーチング・レジスタファイル２２−１、２２−２、２２−３、……のそれぞれは、半導体チップの表面に描画されたメモリユニットの２次元アレイで形成され、複数の半導体チップが、図２７Ｃに示すように垂直に積層され、３次元のマーチング・レジスタファイル（２２−１、２２−２、２２−３、……）を形成するように、複数の半導体チップの間に放熱板５８ｒ−１、５８ｒ−２、５８ｒ−３、……を挟んでいる。放熱板５８ｃ−１、５８ｃ−２、５８ｃ−３、……、５８ｒ−１、５８ｒ−２、５８ｒ−３、……は、ダイアモンドのような高い熱伝導率を有する材料から作られることが好ましい。図４４（ａ）〜４５（ｃ）に示す３次元構成では、半導体チップの表面の内部に接続配線が無いので、放熱板５８ｃ−１、５８ｃ−２、５８ｃ−３、……、５８ｃ−１、５８ｃ−２、５８ｃ−３、……、５８ｒ−１、５８ｒ−２、５８ｒ−３、……を半導体チップ間に挿入することが容易になる。また、 図４４（ａ）〜４５（ｃ）に示す構成は、任意の数の半導体チップをもつ積層構造に拡大できる。従来のアーキテクチュアでは、基本的に、従来の半導体チップを直接的に重ねる時に、熱の問題のために、重ねる半導体チップの数に限界がある。第５の実施の形態に係る計算機システムでは、図４４（ａ）〜４５（ｃ）に示すサンドイッチ構造は、
熱の流れを、能動的なコンピューティング半導体チップから、放熱板５８ｃ−１、５８ｃ−２、５８ｃ−３、……、５８ｃ−１、５８ｃ−２、５８ｃ−３、……、５８ｒ−１、５８ｒ−２、５８ｒ−３、……を介してシステムの外部に向けて、より効率的に作るのに適している。したがって、第５の実施の形態に係る計算機システムでは、これらの半導体チップを、システムの規模に応じて重ねることができる。また、図４４（ａ）〜４５（ｃ）に示すように、マーチング主記憶装置３１−１、３１−２、３１−３、……と、マーチング・キャッシュメモリ２１−１、２１−２、２１−３、……とマーチング・レジスタファイル２２−１、２２−２、２２−３、……とを含む複数の半導体チップを容易に重ねて３次元構成を形成できるので、拡張性のある計算機システムを容易に編成して、システムの温度をより低温に維持できる。
【０１１０】
図示を省略しているが、３次元のマーチング主記憶装置（３１−１，３１−２、３１−３、……）と３次元のマーチング・キャッシュ（２１−１、２１−２、２１−３、……）は複数の接合部材で電気的に接続され、３次元のマーチング・キャッシュ（２１−１、２１−２、２１−３、……）と３次元のマーチング・レジスタファイル（２２−１、２２−２、２２−３、……）は複数の接合部材で電気的に接続され、３次元のマーチング・レジスタファイル（２２−１、２２−２、２２−３、……）とプロセッサ１１は他の複数の接合部材で電気的に接続されている。
【０１１１】
ＡＬＵ１１２の最終データは、３次元のマーチング・レジスタファイル（２２−１、２２−２、２２−３、……）に接合部材を介して出力されるので、データは、３次元のマーチング・レジスタファイル（２２−１、２２−２、２２−３、……）とＡＬＵ１１２との間で双方向に転送される。更に、３次元のマーチング・レジスタファイル（２２−１、２２−２、２２−３、……）に格納されたデータは、３次元のマーチング・キャッシュ（２１−１、２１−２、２１−３、……）に接合部材を介して出力されるので、データは、３次元のマーチング・キャッシュ（２１−１、２１−２、２１−３、……）と３次元のマーチング・レジスタファイル（２２−１、２２−２、２２−３、……）との間で双方向に転送される。更に、３次元のマーチング・キャッシュ（２１−１、２１−２、２１−３、……）に格納されたデータは、３次元のマーチング主記憶装置（３１−１，３１−２、３１−３、……）に接合部材を介して出力されるので、データは、３次元のマーチング主記憶装置（３１−１，３１−２、３１−３、……）と３次元のマーチング・キャッシュ（２１−１、２１−２、２１−３、……）との間で双方向に転送される。
【０１１２】
逆に、３次元のマーチング主記憶装置（３１−１，３１−２、３１−３、……）から３次元のマーチング・キャッシュ（２１−１、２１−２、２１−３、……）に、３次元のマーチング・キャッシュ（２１−１、２１−２、２１−３、……）から３次元のマーチング・レジスタファイル（２２−１、２２−２、２２−３、……）に、及び３次元のマーチング・レジスタファイル（２２−１、２２−２、２２−３、……）から制御装置１１１に向かう一方向のみに、命令の流れが制限される。例えば、ソース・プログラムのループから生成されたベクトル命令は、３次元のマーチング主記憶装置（３１−１、３１−２、３１−３、……）から制御装置１１１に３次元のマーチング・キャッシュ（２１−１、２１−２、２１−３、……）を介して３次元のマーチング・キャッシュ（２１−１、２１−２、２１−３、……）と３次元のマーチング・レジスタファイル（２２−１、２２−２、２２−３、……）とを介して転送されるので、これらのベクトル命令のそれぞれを、制御装置１１１の演算パイプラインで実行できる。
【０１１３】
図４３に示す第５の実施の形態に係る計算機システムには、任意のデータ交換におけるデータバスとアドレスバスのようなバスが、３次元のマーチング主記憶装置（３１−１，３１−２、３１−３、……）と３次元のマーチング・キャッシュ（２１−１、２１−２、２１−３、……）との間に、３次元のマーチング・キャッシュ（２１−１、２１−２、２１−３、……）と３次元のマーチング・レジスタファイル（２２−１、２２−２、２２−３、……）との間に、及び３次元のマーチング・レジスタファイル（２２−１、２２−２、２２−３、……）とプロセッサ１１との間に無い。配線又はバスは、従来の計算機システムではボトルネックを形成している。これらのバス間で時間的な遅延と浮遊静電容量とを生成するグローバル配線が無いので、第５の実施の形態に係る計算機システムは従来の計算機システムより遙かに高速の処理と低い電力消費とを実現し、計算機システムの温度を従来の計算機システムより低い温度に維持できるので、ダイアモンドのように高い熱伝導率を有する材料から製造され且つ半導体チップ間に設けられた、放熱板５８ｃ−１、５８ｃ−２、５８ｃ−３、……、５８ｃ−１、５８ｃ−２、５８ｃ−３、……、５８ｒ−１、５８ｒ−２、５８ｒ−３、……を採用することにより、「クールな（冷却された）計算機」を構築できる。第５の実施の形態に係るクールな計算機は現行の計算機と異なるものである。何故ならば、クールな計算機は、平均すると、３０％もエネルギー消費が少なく且つ１００００％もサイズが小さく、例えば、１００倍の速度を得るように考慮され設計されているからである。
【０１１４】
第５の実施の形態に係る計算機システムの他の機能、構成や動作方法は、第１〜第３の実施の形態で既に説明した機能、構成や動作方法と実質的に類似しているので、重複した又は余分な説明は省略する。
【０１１５】
（種々の３次元構成）
図４３、４４（ａ）、４４（ｂ）、４４（ｃ）に示す３次元構成は単なる例であり、拡張性のある計算機システムの編成を進めるために３次元構成を形成する方法として、種々の方式と組み合わせがある。
【０１１６】
例えば、図４５に示すように、複数の演算パイプライン１１７と複数のマーチング・レジスタファイル２２とを含む第１のチップ（最上部のチップ）と、マーチング・キャッシュメモリ２１を含む第２のチップ（中間部のチップ）と、マーチング主記憶装置３１を含む第３のチップ（最下部のチップ）とを垂直に重ねることができる。演算パイプライン１１７のそれぞれはベクトル処理装置を含むことができ、マーチング・レジスタファイル２２のそれぞれはマーチング・ベクトルレジスタを含むことができる。第１と第２のチップ間に、複数の接合部材５５ａが挿入され、第２と第３のチップ間に、複数の接合部材５５ｂが挿入されている。例えば、接合部材５５ａと５５ｂのそれぞれは、半田ボール、金（Ａｕ）バンプ、銀（Ａｇ）バンプ、銅（Ｃｕ）バンプ、ニッケル−金（Ｎｉ−Ａｕ）合金バンプ、又はニッケル−金−インジウム（Ｎｉ−Ａｕ−Ｉｎ）合金バンプなどのような導電性バンプで形成できる。図示を省略しているが、放熱板は、図４４（ａ）〜４５（ｃ）に示す構成と同様に、「クールなチップ」を実現するように、第１と第２のチップ間に及び第２と第３のチップ間に挿入できる。
【０１１７】
或いは、図４６及び図４７に示すように、第１の最上部チップと第１の中間部チップと第１の最下部チップとを含む第１の３次元（３Ｄ）スタックと、第２の最上部チップと第２の中間部チップと第２の最下部チップとを含む第２の３Ｄスタックは、同じ基板または同じ回路ボード上に２次元状に設けて、マルチプル・プロセッサとの並列計算を形成できる。図４６及び図４７では、第１の３Ｄスタックと第２の３Ｄスタックがブリッジ５９ａと５９ｂとで接続されている。
【０１１８】
第１の３Ｄスタックでは、複数の第１の演算パイプライン１１７−１と複数の第１のマーチング・レジスタファイル２２−１とを含む第１の最上部チップと、第１のマーチング・キャッシュメモリ２１−１を含む第１の中間部チップと、第１のマーチング主記憶装置３１−１を含む第１の最下部チップが、垂直に３Ｄで積層されている。第１の演算パイプライン１１７−１のそれぞれはベクトル処理装置を含み、第１のマーチング・キャッシュ・ファイル２２−１のそれぞれはマーチング・ベクトルレジスタを含む。第１の最上部と第１の中間部とのチップの間に、複数の接合部材５５ａ−１が挿入され、第１の中間部と第１の最下部とのチップの間に、複数の接合部材５５ｂ−１が挿入されている。例えば、例えば、接合部材５５ａ−１と５５ｂ−１のそれぞれは、半田ボール、金（Ａｕ）バンプ、銀（Ａｇ）バンプ、銅（Ｃｕ）バンプ、ニッケル−金（Ｎｉ−Ａｕ）合金バンプ、又はニッケル−金−インジウム（Ｎｉ−Ａｕ−Ｉｎ）合金バンプなどのような導電性バンプで形成できる。同様に、第２の３Ｄスタックでは、複数の第２の演算パイプライン１１７−２と複数の第２のマーチング・レジスタファイル２２−２とを含む第２の最上部チップと、第２のマーチング・キャッシュメモリ２１−２を含む第２の中間部チップと、第２のマーチング主記憶装置３１−２を含む第２の最下部チップが、垂直に３Ｄで積層されている。第２の演算パイプライン１１７−２のそれぞれはベクトル処理装置を含み、第２のマーチング・キャッシュ・ファイル２２−２のそれぞれはマーチング・ベクトルレジスタを含む。第２の最上部と第２の中間部のチップの間に、複数の接合部材５５ａ−２が挿入され、第２の中間部と第２の最下部のチップの間に、複数の接合部材５５ｂ−２が挿入されている。例えば、例えば、接合部材５５ａ−２と５５ｂ−２のそれぞれは、半田ボール、金（Ａｕ）バンプ、銀（Ａｇ）バンプ、銅（Ｃｕ）バンプ、ニッケル−金（Ｎｉ−Ａｕ）合金バンプ、又はニッケル−金−インジウム（Ｎｉ−Ａｕ−Ｉｎ）合金バンプなどのような導電性バンプで形成できる。図示を省略しているが、放熱板は、第１の最上部と第１の中間部のチップの間、第１の中間部と第１の最下部のチップの間、第２の最上部と第２の中間部のチップの間、及び第２の中間部と第２の最下部のチップの間に、図４４（ａ）〜４５（ｃ）に示した構成と同様に挿入して、「クールなチップ」を実現できる。
【０１１９】
第４の実施の形態に係る計算機システムと同様に、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）は、ベクトル処理のスレッド又はチェイニングを第１の演算パイプライン１１７−１と第２の演算パイプライン１１７−２上で移行して、ＨＰＣシステムを形成することにより、第１と第２の３Ｄスタックの動作を切り替えて処理できるので、これはＧＰＵを基礎とした汎用計算に使用できる。
【０１２０】
更に代わりに、図４８に示すように、複数の演算パイプライン１１７を含む第１のチップ（最上部チップ）と、複数のマーチング・レジスタファイル２２を含む第２のチップと、マーチング・キャッシュメモリ２１を含む第３のチップと、第１のマーチング主記憶装置３１−１を含む第４のチップと、マーチング主記憶装置３１−２を含む第５のチップと、第３のマーチング主記憶装置３１−３を含む第６のチップ（最下部チップ）とを、垂直に重ねることができる。演算パイプライン１１７のそれぞれはベクトル処理装置を含み、マーチング・レジスタファイル２２のそれぞれはマーチング・ベクトルレジスタを含むので、ソース・プログラムのループから生成されたベクトル命令は、ベクトル処理装置で実行できる。第１の放熱板５８−1が第１と第２のチップ間に挿入され、第２の放熱板５８−２が第２と第３のチップ間に挿入され、第３の放熱板５８−１が第３と第４のチップ間に挿入され、第４の放熱板５８−４が第４と第５のチップ間に挿入され、第５の放熱板５８−５が第５と第６のチップ間に挿入され、「クールなチップ」を実現する。図４８に示す３次元構成のこれらのクールなチップの表面の内部に接続配線が無いので、ダイアモンド・チップのような放熱板５８−１、５８−２、５８−３、５８−４、５８−５を、これらの６個のチップ間に交互に挿入することが容易になる。
【０１２１】
図４８に示すクール−チップの構成は、６個のチップの場合に限定されないし、任意の数のチップをもつ３次元の積層構造に拡大できる。何故ならば、図４８に示す挟装構造は、熱の流れを、能動的なコンピューティング・チップから、放熱板５８−１、５８−２、５８−３、５８−４、５８−５を介してクールな計算機システムの外部に向けて、より効果的に作るのに適しているからである。したがって、第５の実施の形態に係る計算機システムにおけるクールなチップの数は、計算機システムの規模に比例して増加できる。
【０１２２】
図４９〜５１は、本発明の第５の実施の形態に係る計算機システムの基本的なコアの一部を形成する、３次元（３Ｄ）スタックの様々な例を示す。３Ｄスタックのそれぞれ、半導体メモリ・チップ３ａと３ｂの間に挿入されたダイアモンド板のような放熱板５８を持つ冷却機能を含む。図４９〜５１では、マーチング記憶装置ファミリで区分けされたマーチング記憶装置の少なくとも一つが含まれている。「マーチング記憶装置ファミリ」という用語は、第２の実施の形態で説明されたＡＬＵ１１２に接続されたマーチング命令レジスタファイル２２ａとマーチング・データ・レジスタファイル２２ｂと、第３の実施の形態で説明されたマーチング命令キャッシュメモリ２１ａとマーチング・データ・キャッシュメモリ２１ｂとを、本発明の第１の実施の形態で説明されたマーチング主記憶装置３１に加えて含む。
【０１２３】
即ち、図４９に示すように、本発明の第５の実施の形態に係る計算機システムの基本的なコアの一部を形成する３Ｄスタックは、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む第１の半導体メモリ・チップ３ａと、第１の半導体メモリ・チップ３ａの下に設けられた放熱板５８と、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む放熱板５８の下に設けられた第２の半導体メモリ・チップ３ｂと、放熱板５８側に設けられたプロセッサ１１とを備えている。ここで、図４９では、プロセッサ１１の位置が一例として図示してあるので、プロセッサ１１は、３Ｄスタックの設計選択に基づいて、３Ｄスタックの構成内の又は３Ｄスタックの外部の任意の必要な又は適当な場所に設けることができる。例えば、プロセッサ１１は、第１の半導体メモリ・チップ３ａの同じ水平レベル又は第２の半導体メモリ・チップ３ｂのレベルで置くことができる。第１の半導体メモリ・チップ３ａ上に集積化されたマーチング記憶装置と第２の半導体メモリ・チップ３ｂ上に集積化されたマーチング記憶装置は、それぞれ、プログラム命令を格納している。第１の半導体メモリ・チップ３ａと放熱板５８と第２の半導体メモリ・チップ３ｂが垂直に積層されている図４９に示す３Ｄ構成では、第１の制御パスが第１の半導体メモリ・チップ３ａとプロセッサ１１との間に設けられ、第２の制御パスが第２の半導体メモリ・チップ３ｂとプロセッサ１１の間に設けられているので、プロセッサ１１による制御処理の実行を促進できる。更なるデータ経路が、第１の半導体メモリ・チップ３ａと第２の半導体メモリ・チップ３ｂとの間に設けられているので、第１の半導体メモリ・チップ３ａと第２の半導体メモリ・チップ３ｂとの間におけるプログラム命令の直接な通信を促進できる。
【０１２４】
そして、図５０に示すように、本発明の第５の実施の形態に係る計算機システムの基本的なコアの一部を形成する他の３Ｄスタックは、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む第１の半導体メモリ・チップ３ａと、第１の半導体メモリ・チップ３ａの下に設けられた放熱板５８と、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む放熱板５８の下に設けられた第２の半導体メモリ・チップ３ｂと、放熱板５８側に設けられたＡＬＵ１１２とを備えている。ＡＬＵ１１２の位置は図５０に示した場所に限定されない、そして、ＡＬＵ１１２は、３Ｄスタックの設計選択に基づいて、第１の半導体メモリ・チップ３ａの同じ水平レベルで又は第２の半導体メモリ・チップ３ｂのレベルで置かれた場所のように、３Ｄスタックの構成内で又は３Ｄスタックの外部で、任意の必要な又は適当な場所に設けることができる。第１の半導体メモリ・チップ３ａ上に集積化されたマーチング記憶装置と第２の半導体メモリ・チップ３ｂ上に集積化されたマーチング記憶装置は、それぞれ、スカラデータの読み出し及び書き込みを行う。第１の半導体メモリ・チップ３ａと放熱板５８と第２の半導体メモリ・チップ３ｂが垂直に積層されている、図５０に示す３Ｄ構成では、第１のデータ経路が第１の半導体メモリ・チップ３ａとＡＬＵ１１２との間に設けられ、第２のデータ経路が第２の半導体メモリ・チップ３ｂとＡＬＵ１１２の間に設けられているので、ＡＬＵ１１２によるスカラデータ処理の実行を促進できる。更なるデータ経路が、第１の半導体メモリ・チップ３ａと第２の半導体メモリ・チップ３ｂとの間に設けられているので、第１の半導体メモリ・チップ３ａと第２の半導体メモリ・チップ３ｂとの間におけるスカラデータの直接な通信を促進できる。
【０１２５】
更に、図５１に示すように、本発明の第５の実施の形態に係る計算機システムの基本的なコアの一部を構成する更に他の３Ｄスタックは、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む第１の半導体メモリ・チップ３ａと、第１の半導体メモリ・チップ３ａの下に設けられた放熱板５８と、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む放熱板５８の下に設けられた第２の半導体メモリ・チップ３ｂと、放熱板５８側に設けられた演算パイプライン１１７とを備えている。図４９と５０に示した形状と同様に、演算パイプライン１１７の位置は図５１に示した場所に限定されない、そして、演算パイプライン１１７は、任意の必要な又は適当な場所に設けられることができる。第１の半導体メモリ・チップ３ａ上に集積化されたマーチング記憶装置と第２の半導体メモリ・チップ３ｂ上に集積化されたマーチング記憶装置は、それぞれ、ベクトルデータ又はストリーミングデータの読み出し及び書き込みを行う。第１の半導体メモリ・チップ３ａと放熱板５８と第２の半導体メモリ・チップ３ｂが垂直に積層されている、図５１に示す３Ｄ構成では、第１のデータ経路が第１の半導体メモリ・チップ３ａと演算パイプライン１１７との間に設けられ、第２のデータ経路が第２の半導体メモリ・チップ３ｂと演算パイプライン１１７との間に設けられているので、演算パイプライン１１７によるベクトルデータ又はストリーミングデータ処理の実行を促進できる。更なるデータ経路が、第１の半導体メモリ・チップ３ａと第２の半導体メモリ・チップ３ｂとの間に設けられているので、第１の半導体メモリ・チップ３ａと第２の半導体メモリ・チップ３ｂとの間におけるベクトルデータ又はストリーミングデータの直接な通信を促進できる。
【０１２６】
図５２に示すように、第５の実施の形態に係る３Ｄハイブリッド・計算機システムは、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む第１の左側チップ（最上部の左側チップ）３ｐ−１と、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む第２の左側チップ３ｐ−２と、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む第３の左側チップ３ｐ−３と、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む第４の左側チップ３ｐ−４と、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む第５の左側チップ３ｐ−５と、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む第６の左側チップ（最下部の左側チップ）３ｐ−６とを備えていて、それらは垂直に積層されている。第１の左放熱板５８ａ−１は第１の左側チップ３ｐ−１と第２の左側チップ３ｐ−２との間に挿入され、第２の左放熱板５８ａ−２は第２の左側チップ３ｐ−２と第３の左側チップ３ｐ−３との間に挿入され、第３の左放熱板５８ａ−１は第３の左側チップ３ｐ−３と第４の左側チップ３ｐ−４との間に挿入され、第４の左放熱板５８ａ−４は第４の左側チップ３ｐ−４と第５の左側チップ３ｐ−５との間に挿入され、第５の左放熱板５８ａ−５は第５の左側チップ３ｐ−５と第６の左側チップ３ｐ−６との間に挿入されているので、「クールな左側チップ」を実現できる。
【０１２７】
そして、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む第１の右側チップ（最上部の右側チップ）３ｑ−１と、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む第２の右側チップ３ｑ−２と、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む第３の右側チップ３ｑ−３と、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む第４の右側チップ３ｑ−４と、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む第５の右側チップ３ｑ−５と、マーチング記憶装置ファミリを構成するマーチング記憶装置の少なくとも一つを含む第６の右側チップ（最下部の右側チップ）３ｑ−６とが、垂直に積層されている。第１の右放熱板５８ｂ−１は第１の右側チップ３ｑ−１と第２の右側チップ３ｑ−２との間に挿入され、第２の右放熱板５８ｂ−２は第２の右側チップ３ｑ−２と第３の右側チップ３ｑ−３との間に挿入され、第３の右放熱板５８ｂ−１は第３の右側チップ３ｑ−３と第４の右側チップ３ｑ−４との間に挿入され、第４の右放熱板５８ｂ−４は第４の右側チップ３ｑ−４と第５の右側チップ３ｑ−５との間に挿入され、第５の右放熱板５８ｂ−５は第５の右側チップ３ｑ−５と第６の右側チップ３ｑ−６との間に挿入されているので、「クールな右側チップ」を実現できる。
【０１２８】
第１の処理装置１１ａは第１の左放熱板５８ａ−１と第１の右放熱板５８ｂ−１との間に設けられ、第２の処理装置１１ｂは第３の左放熱板５８ａ−３と第３の右放熱板５８ｂ−３との間に設けられ、第３の処理装置１１ｃは第５の左放熱板５８ａ−５と第５の右放熱板５８ｂ−５との間に設けられ、そして、パイプラインのＡＬＵは、処理装置１１ａ、１１ｂ、１１ｃに、それぞれ、含まれている。
【０１２９】
スカラデータ経路と制御パスは第１の左側チップ３ｐ−１と第２の左側チップ３ｐ−２との間に設定され、スカラデータ経路と制御パスは第２の左側チップ３ｐ−２と第３の左側チップ３ｐ−３との間に設定され、スカラデータ経路と制御パスは第３の左側チップ３ｐ−３と第４の左側チップ３ｐ−４との間に設定され、スカラデータ経路と制御パスは第４の左側チップ３ｐ−４と第５の左側チップ３ｐ−５との間に設定され、スカラデータ経路と制御パスは第５の左側チップ３ｐ−５と第６の左側チップ３ｐ−６との間に設定され、スカラデータ経路と制御パスは第１の右側チップ３ｑ−１と第２の右側チップ３ｑ−２との間に設定され、スカラデータ経路と制御パスは第２の右側チップ３ｑ−２と第３の右側チップ３ｑ−３との間に設定され、スカラデータ経路と制御パスは第３の右側チップ３ｑ−３と第４の右側チップ３ｑ−４との間に設定され、スカラデータ経路と制御パスは第４の右側チップ３ｑ−４と第５の右側チップ３ｑ−５との間に設定され、スカラデータ経路と制御パスは第５の右側チップ３ｑ−５と第６の右側チップ３ｑ−６との間に設定される。図５２に示す３Ｄ計算機システムは、スカラデータだけでなくベクトルデータ又はストリーミングデータも、計算機システムのためにスカラデータ経路と制御パスの組み合わせにより実行できる。
【０１３０】
図５２に示す３Ｄ構成では、これらのクールなチップの表面の内部に接続配線が無いので、ダイアモンド左側チップのような放熱板５８ａ−１、５８ａ−２、５８ａ−３、５８ａ−４、５８ａ−５を、これらの６個の左側チップの間に交互に挿入することが容易になり、且つダイアモンド右側チップのような放熱板５８ｂ−１、５８ｂ−２、５８ｂ−３、５８ｂ−４、５８ｂ−５を、これらの６個の右側チップの間に交互に挿入することが容易になる。
【０１３１】
−その他の実施の形態  −
様々な変形例が、本明細書及び図面の開示から、本発明の趣旨から逸脱せずに、当業者に明らかとなろう。
【０１３２】
ビット・レベル、命令レベル、データ、タスクの並列処理のような並列計算に関して様々な異なる形態がある。「フラインの分類法」として知られているように、プログラムと計算機は、それらが命令の単一セット又は多重セットを用いて動作しているかについて、これらの命令がデータの単一または多重セットを用いているかどうかにかかわらず区分けされている。
【０１３３】
例えば、図５３に示すように、マーチング・レジスタファイルとマーチング・キャッシュメモリとマーチング主記憶装置とを既に第１〜第５の実施の形態で述べたように含む、マーチング記憶装置は、多重命令単一データ流（ＭＩＳＤ）アーキテクチュアにおけるスカラ／ベクトルデータのビット・レベル並列処理を実施できる。それにより、第１のプロセッサ１１−１、第２のプロセッサ１１−２、第３のプロセッサ１１−３、第４のプロセッサ１１−４、……に対して垂直に設けられた多数の独立した命令流が、プロセッサ１１−１、１１−２、１１−３、１１−４のシストリック・アレイにより一度でデータの単一な水平流上で平行に動作する。
【０１３４】
或いは、図５４に示すように、演算レベル並列処理は、マーチング・レジスタファイルとマーチング・キャッシュメモリとマーチング主記憶装置とを、既に第１〜第５の実施の形態で述べたように、単一命令多重データ流（ＳＩＭＤ）アーキテクチュアで含む、マーチング記憶装置により実現できる。そこで、単一命令流が第１のプロセッサ１１−１と第２のプロセッサ１１−２と第３のプロセッサ１１−３と第４のプロセッサ１１−４とに呈せられるので、単一命令流は、プロセッサ１１−１、１１−２、１１−３、１１−４のアレイにより、一度にデータの多重垂直流上で動作できる。
【０１３５】
更に代わりに、図５５に示すように、マーチング・レジスタファイルとマーチング・キャッシュメモリとマーチング主記憶装置とを、既に第１〜第５の実施の形態で述べたように含むマーチング記憶装置は、第１の命令Ｉ１と第２の命令Ｉ２と第３の命令Ｉ３と第４の命令Ｉ４が、それぞれ出力される、第１のプロセッサ１１−１と第２のプロセッサ１１−２と第３のプロセッサ１１−３と第４のプロセッサ１１−４とによるベクトル処理における一般的なチェイニングを形成できる。
【０１３６】
更に、図５６に示すように、マーチング・レジスタファイルとマーチング・キャッシュメモリとマーチング主記憶装置とを、既に第１〜第５の実施の形態で述べたように含んでいるマーチング記憶装置は、第１のプロセッサ１１−１と第２のプロセッサ１１−２と第３のプロセッサ１１−３と第４のプロセッサ１１−４とにより、ＭＩＳＤアーキテクチュアにおけるスカラ／ベクトルデータの単一の水平流の並列処理を実施できる。
【０１３７】
更に、図５７に示すように、マーチング・レジスタファイルとマーチング・キャッシュメモリとマーチング主記憶装置とを、既に第１〜第５の実施の形態で述べたように含んでいるマーチング記憶装置は、乗算を実行する第１のプロセッサ１１−１と、加算を実行する第２のプロセッサ１１−２と、乗算を実行する第３のプロセッサ１１−３と、加算を実行する第４のプロセッサ１１−４とにより、ＭＩＳＤアーキテクチュアにおけるスカラ／ベクトルデータの単一の水平流の並列処理を実施できる。
【０１３８】
更に、処理レベル並列処理については、単一スレッド流及び単一データ流アーキテクチュアと、単一スレッド流及び多重データ流アーキテクチュアと、多重スレッド流及び単一データ流アーキテクチュアと、多重スレッド流及び多重データ流アーキテクチュアは、マーチング・レジスタファイルとマーチング・キャッシュメモリとマーチング主記憶装置とを、既に第１〜第５の実施の形態で述べたように含んでいる、マーチング記憶装置により実現できる。
【０１３９】
したがって、本発明は、上記の説明で詳述してない様々な実施の形態と変形例など含むことは勿論である。よって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【産業上の利用可能性】
【０１４０】
本発明は、計算機システムの産業分野に適用できる。
【図１】
0005417674.tif 000002
【図２】
0005417674.tif 000003
【図３】
0005417674.tif 000004
【図４】
0005417674.tif 000005
【図５】
0005417674.tif 000006
【図６】
0005417674.tif 000007
【図７】
0005417674.tif 000008
【図８】
0005417674.tif 000009
【図９】
0005417674.tif 000010
【図１０】
0005417674.tif 000011
【図１１】
0005417674.tif 000012
【図１２】
0005417674.tif 000013
【図１３】
0005417674.tif 000014
【図１４】
0005417674.tif 000015
【図１５】
0005417674.tif 000016
【図１６】
0005417674.tif 000017
【図１７】
0005417674.tif 000018
【図１８】
0005417674.tif 000019
【図１９】
0005417674.tif 000020
【図２０】
0005417674.tif 000021
【図２１】
0005417674.tif 000022
【図２２】
0005417674.tif 000023
【図２３】
0005417674.tif 000024
【図２４】
0005417674.tif 000025
【図２５】
0005417674.tif 000026
【図２６】
0005417674.tif 000027
【図２７】
0005417674.tif 000028
【図２８】
0005417674.tif 000029
【図２９】
0005417674.tif 000030
【図３０】
0005417674.tif 000031
【図３１】
0005417674.tif 000032
【図３２】
0005417674.tif 000033
【図３３】
0005417674.tif 000034
【図３４】
0005417674.tif 000035
【図３５】
0005417674.tif 000036
【図３６】
0005417674.tif 000037
【図３７】
0005417674.tif 000038
【図３８】
0005417674.tif 000039
【図３９】
0005417674.tif 000040
【図４０】
0005417674.tif 000041
【図４１】
0005417674.tif 000042
【図４２】
0005417674.tif 000043
【図４３】
0005417674.tif 000044
【図４４】
0005417674.tif 000045
【図４５】
0005417674.tif 000046
【図４６】
0005417674.tif 000047
【図４７】
0005417674.tif 000048
【図４８】
0005417674.tif 000049
【図４９】
0005417674.tif 000050
【図５０】
0005417674.tif 000051
【図５１】
0005417674.tif 000052
【図５２】
0005417674.tif 000053
【図５３】
0005417674.tif 000054
【図５４】
0005417674.tif 000055
【図５５】
0005417674.tif 000056
【図５６】
0005417674.tif 000057
【図５７】
0005417674.tif 000058