本発明の様々な実施形態を、添付の図面を参照して説明する。図面の全体にわたって、同一又は類似の部品や素子には同一又は類似の符号を付し、同一又は類似の部品や素子の説明は省略又は単純化されていることに留意すべきである。一般的に、半導体装置の表現では普通のことであるが、様々な図面間において、尺度は異なっており、特に、層の厚みは図面を簡単に読み取れるようにするために適宜記してあることに留意すべきである。以降の説明では、本発明を十分に理解できるように、特定の材料や処理を用いて、具体的に説明されている。しかし、本発明は、これらの特定の詳細な説明がなくても、実施できることは、当業者には自明のこととである。言い換えれば、周知の製造材料や処理や装置は、本発明を不要に曖昧にしないように細々と説明されていない。「上に」、「上方に」、「下に」、「下方に」、「垂直に」のような前置詞は、基板が実際に保たれている方向と関係なしに、基板の平面を基準にして定められている。層の積層は、間に介在層がある場合でも、その層の上にあると表現される。
図4〜図6、図8、図11、図13、図16〜20、図22、図25、図32などにおいて、ビットレベル・セルのトランジスタ・レベル表現で、転送トランジスタとリセット・トランジスタとしてnMOSトランジスタが図示されているが、クロック信号に反対の極性を採用する場合は、転送トランジスタとリセット・トランジスタとしてpMOSトランジスタが使用できる。
−− 第1の実施形態−−
(計算機システムの基本構成)
図2に示すように、本発明の第1の実施形態に係る計算機システムは、プロセッサ11とマーチング主記憶装置31とを備えている。プロセッサ11は、クロック信号を生成するクロック発生回路113を有する制御装置111と、クロック信号に同期して演算論理動作を実行する演算論理装置(ALU)112とを含む。図3に示すように、マーチング主記憶装置31は、メモリユニットU1、U2、U3、……、Un-1、Unのアレイである。それぞれのメモリユニットU1、U2、U3、……、Un-1、Unは、ワード・サイズのデータ又は命令を含んだ情報のユニットを有する。マーチング主記憶装置31は、更に、アレイの入力端子とアレイの出力端子とを有する。図3に示すように、マーチング主記憶装置31は、ワード・サイズのデータ又は命令を含んだ情報をメモリユニットU1、U2、U3、……、Un-1、Unのそれぞれに格納する。このメモリユニットU1、U2、U3、……、Un-1、Unのそれぞれに格納された情報を、クロック信号に同期して、ステップごとに、出力端子の方向に、時系列に沿って逐次転送するので、格納された情報がプロセッサ11に能動的に、且つ時系列で出力され、ALU112は、マーチング主記憶装置31に格納された情報により演算論理動作を実行する。
図2に示すように、マーチング主記憶装置31とプロセッサ11は複数の接合部材54を介して電気的に接続している。例えば、接合部材54のそれぞれは、マーチング主記憶装置31に取り付けた第1のターミナル・ピンと、プロセッサ11に取り付けた第2のターミナル・ピンと、第1と第2のターミナル・ピンの間に差し挟まれた導電性バンプとで形成されている。導電性バンプの材料として、半田ボール、金(Au)バンプ、銀(Ag)バンプ、銅(Cu)バンプ、ニッケル−金(Ni−Au)合金バンプ、又はニッケル−金−インジウム(Ni−Au−In)合金バンプなどが使用できる。ALU112のプロセスの最終データはマーチング主記憶装置31に接合部材54を介して出力される。したがって、双方向矢印Φ12で表されるように、データは、接合部材54を介してマーチング主記憶装置31とプロセッサ11との間で双方向に転送される。逆に、単一方向矢印η11で表されるように、命令の移動については、マーチング主記憶装置31からプロセッサ11に向かう一方向だけの命令の流れになる。
図2に示すように、本発明の第1の実施形態に係る計算機システムの構成は、ディスクのような外部2次記憶装置41と、入力装置61と、出力装置62と、入力/出力(I/O)インターフェース回路63と、を更に備えている。従来のフォン・ノイマン型計算機と同様に、信号又はデータを入力装置61が入力し、信号又はデータを出力装置62が出力している。例えば、周知のキーボードや周知のマウスは、入力装置61と見なすことができ、周知のモニターやプリンターは出力装置62と見なすことができる。計算機間の通信用の周知のデバイスは、モデムやネットワーク・カードのように、入力装置61と出力装置62の両方で一般的に機能する。入力装置61又は出力装置62としてのデバイスの呼称は、全体像に依存することに留意すべきである。入力装置61は、人間のユーザが呈する物理的な動きを入力とし、それを第1の実施形態に係る計算機システムが理解できる信号に変換する。例えば、入力装置61は、入力したデータと命令とを、第1の実施形態に係る計算機システムが識別可能な2進コードの電気信号のパターンに変換し、入力装置61からの出力は、マーチング主記憶装置31にI/Oインターフェース回路63を介して送信される。出力装置62は、マーチング主記憶装置31がI/Oインターフェース回路63を介して提供する信号を入力とする。出力装置62は、次に、これらの信号を、人間のユーザが見る又は読むことができる表現方式に変換し、入力装置61の処理と逆の処理を行って、デジタル信号を、ユーザが判読可能な形式に変換する。I/Oインターフェース回路63は、プロセッサ11が入力装置61と出力装置62とを駆動するときに必ず必要になる。プロセッサ11は、I/Oインターフェース回路63を介して入力装置61と出力装置62とに通信できる。異なるデータ形式で交換された場合、I/Oインターフェース回路63はシリアル・データをパラレル形式に、且つ逆の場合に逆方向に変換する。必要に応じて、プロセッサ11による更なる処理のために、中断及び対応するタイプ番号を生成する方式もある。
2次記憶装置41は、マーチング主記憶装置31より更に長い時間的な基準でデータと情報とを格納する。マーチング主記憶装置31は、今実行中のプログラムと、今採用中のデータの格納を主としているが、2次記憶装置41は、計算機がオフに切り替えられても、又はプログラムを今実行していない場合でも、維持する必要のある任意のデータと情報を格納するように全体的に意図している。2次記憶装置41の例は、周知のハードディスク(又はハード駆動)と周知の(CD−ROM駆動のような)外部メディア−駆動である。これらの格納方法は、計算機のオペレーティング・システムと、ソフトウェアのユーザのコレクションと、ユーザが望む任意の他のデータとを格納するために最も広く用いられている。ハード駆動は半永久的な基準でデータとソフトウェアとを格納するために用いられ、外部メディア・駆動は他のデータを格納するために用いられるが、このセットアップは、入手可能な記憶装置の形式の違いと、それぞれを利用する際の便宜性に基づいて大きく変わる。双方向矢印Φ1で表されるように、データは、現行の接続配線53を介して2次記憶装置41とマーチング主記憶装置31とプロセッサ11との間で双方向で転送される。
図示を省略しているが、図2に示す第1の実施形態に係る計算機システムで、プロセッサ11は、マーチング主記憶装置31から出力端子を介して格納情報を受信する複数の演算パイプラインを含むことができ、双方向矢印Φ12で表されるように、データは、接合部材54を介してマーチング主記憶装置31と複数の演算パイプラインとの間で双方向に転送される。
従来の計算機システムにおいては配線又はバスがボトルネックをしているが、図2に示す第1の実施形態に係る計算機システムには、データバスやアドレスバス等のバスがない。計算機システム全体は、プロセッサ11とマーチング主記憶装置31との間で任意のデータ交換もグローバルな配線も必要としないからである。確かに、マーチング主記憶装置31、又は対応するALU112とマーチング主記憶装置31との接続部分の内部には短い局部的な配線が存在しうる。しかし、これらの短い配線間には、時間的遅延と浮遊容量(漂遊容量)とを生成するグローバル配線が存在しないので、第1の実施形態に係る計算機システムは、更に高速の処理速度と小電力消費とを達成できる。
(マーチング主記憶装置を実現するセル・アレイの詳細な構成)
大半の従来の計算機では、アドレス決定の単位は、文字(例えば、バイト)又はワードである。単位がワードの場合、大量のメモリに、或るサイズのアドレスを用いてアクセスできる。他方で、単位がバイトの場合、個々の文字をアドレスできる(即ち、メモリ動作中に選択)。マシン命令は、通常は、アーキテクチュアのワード・サイズの分数又は倍数である。これは、命令とデータが通常は同じメモリ・サブシステムを共有するので、当然の選定になる。図4と図5は、図3に示すマーチング主記憶装置31を実現するセル・アレイのトランジスタ・レベル表現に対応している。図23は、図3に示すマーチング主記憶装置31を実現するセル・アレイのゲートレベル表現に対応している。
図4で、m×nマトリクスの第1列は、セルM11、M21、……、Mm-1,1、Mm1の垂直方向アレイで形成して、図3に示す第1のメモリユニットU1を表現している。ここで、“m”は、ワード・サイズで決まる整数である。ワード・サイズの選定は非常に重要であるが、計算機アーキテクチュアの設計時に、ワード・サイズは8ビットの倍数に自然になり、16、32、64ビットが広く用いられている。同様に、m×nマトリクスの第2列は、セルM12、M22、M32、……、Mm-1,2、Mm2の垂直方向アレイで形成して、第2のメモリユニットU2を表現し、m×nマトリクスの第3列は、セルM13、M23、M33、……、Mm-1,3、Mm3の垂直方向アレイで形成して、第3のメモリユニットU2を表現し、……、m×nマトリクスの(n−1)番目の列は、セルM1,n-1、M2,n-1、M3,n-1、……、Mm-1,n-1、Mm,n-1の垂直方向アレイで形成して、(n−1)番目のメモリユニットUn-1を表現し、m×nマトリクスのn番目の列は、セルM1,n、M2,n、M3,n、……、Mm-1,n、Mm,nの垂直方向アレイで形成して、n番目のメモリユニットUnを表現する。
即ち、図4に示すように、ワード・サイズ・レベルの第1のメモリユニットU1は、m×nマトリクスの第1列のビットレベル・セルM11、M21、……、Mm-1,1、Mm1の垂直配列から形成している。第1行・第1列のセルM11は、第1遅延素子D111を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子D112を経由して第1のビットレベル入力端子の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ111と、第1のnMOSトランジスタQ111のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ112と、第2のnMOSトランジスタQ112に並列接続し、セルM11の情報を格納するコンデンサC11と、を備えており、そこでは、第1のnMOSトランジスタQ111のソース電極と第2のnMOSトランジスタQ112のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルM12に、コンデンサC11に格納されていた信号を送るセルM11の出力端子として機能する。第2行・第1列のセルM21は、第1遅延素子D211を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子Q212を経由して第2のビットレベル入力端子の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ211と、第1のnMOSトランジスタQ211のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ212と、第2のnMOSトランジスタQ212に並列接続し、セルM21の情報を格納するコンデンサC21と、を備えており、そこでは、第1のnMOSトランジスタQ211のソース電極と第2のnMOSトランジスタQ212のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルM22に、コンデンサC21に格納されていた信号を送るセルM21の出力端子として機能する。第2行・第1列のセルM21は、第1遅延素子D211を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子Q212を経由して第2のビットレベル入力端子の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ211と、第1のnMOSトランジスタQ211のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ212と、第2のnMOSトランジスタQ212に並列接続し、セルM21の情報を格納するコンデンサC21と、を備えており、そこでは、第1のnMOSトランジスタQ211のソース電極と第2のnMOSトランジスタQ212のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルM22に、コンデンサC21に格納されていた信号を送るセルM21の出力端子として機能する。第3行・第1列のセルは、第1遅延素子D311を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子D312を経由して第3のビットレベル入力端子の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ311と、第1のnMOSトランジスタQ311のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ312と、第2のnMOSトランジスタQ312に並列接続し、セルの情報を格納するコンデンサC31と、を備えており、そこでは、第1のnMOSトランジスタQ311のソース電極と第2のnMOSトランジスタQ312のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルに、コンデンサC31に格納されていた信号を送るセルの出力端子として機能する。(m−1)行・第1列のセルM(m-1)1は、第1遅延素子D(m-1)11を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子D(m-1)12を経由して(m−1)番目のビットレベル入力端子の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ(m-1)11と、第1のnMOSトランジスタQ(m-1)11のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ(m-1)12と、第2のnMOSトランジスタQ(m-1)12に並列接続し、セルM(m-1)1の情報を格納するコンデンサC(m-1)1と、を備えており、そこでは、第1のnMOSトランジスタQ(m-1)11のソース電極と第2のnMOSトランジスタQ(m-1)12のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルM(m-1)2に、コンデンサC(m-1)1に格納されていた信号を送るセルM(m-1)1の出力端子として機能する。m行・第1列のセルMm1は、第1遅延素子DM11を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子DM12を経由してm番目のビットレベル入力端子の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQm1と、第1のnMOSトランジスタQm11のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQm12と、第2のnMOSトランジスタQm12に並列接続し、セルMm1の情報を格納するコンデンサCm1と、を備えており、そこでは、第1のnMOSトランジスタQm11のソース電極と第2のnMOSトランジスタQm12のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルMm2に、コンデンサCm1に格納されていた信号を送るセルMm1の出力端子として機能する。
そして図4に示すように、ワード・サイズ・レベルの第2のメモリユニットU2は、m×nマトリクスの第2列のビットレベル・セルM12、M22、M32、……、Mm-1,2、Mm2の垂直配列から形成している。第1行・第2列のセルM12は、第1遅延素子D121を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子D122を経由して前段のビットレベル・セルM11の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ121と、第1のnMOSトランジスタQ121のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ122と、第2のnMOSトランジスタQ122に並列接続し、セルM12の情報を格納するコンデンサC12と、を備えており、そこでは、第1のnMOSトランジスタQ121のソース電極と第2のnMOSトランジスタQ122のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルM13に、コンデンサC12に格納されていた信号を送るセルM12の出力端子として機能する。第2行・第2列のセルM22は、第1遅延素子D221を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子D222を経由して前段のビットレベル・セルM21の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ221と、第1のnMOSトランジスタQ221のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ222と、第2のnMOSトランジスタQ222に並列接続し、セルM22の情報を格納するコンデンサC22と、を備えており、そこでは、第1のnMOSトランジスタQ221のソース電極と第2のnMOSトランジスタQ222のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルM23に、コンデンサC22に格納されていた信号を送るセルM22の出力端子として機能する。第3行・第2列のセルM32は、第1遅延素子D321を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子D322を経由して前段のビットレベル・セルの出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ321と、第1のnMOSトランジスタQ321のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ322と、第2のnMOSトランジスタQ322に並列接続し、セルM32の情報を格納するコンデンサC32と、を備えており、そこでは、第1のnMOSトランジスタQ321のソース電極と第2のnMOSトランジスタQ322のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルM33に、コンデンサC32に格納されていた信号を送るセルM32の出力端子として機能する。(m−1)行・第2列のセルM(m-1)2は、第1遅延素子D(m-1)21を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子D(m-1)22を経由して前段のビットレベル・セルM(m-1)1の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ(m-1)21と、第1のnMOSトランジスタQ(m-1)21のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ(m-1)12と、第2のnMOSトランジスタQ(m-1)22に並列接続し、セルM(m-1)2の情報を格納するコンデンサC(m-1)2と、を備えており、そこでは、第1のnMOSトランジスタQ(m-1)21のソース電極と第2のnMOSトランジスタQ(m-1)22のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルM(m-1)3に、コンデンサC(m-1)2に格納されていた信号を送るセルM(m-1)2の出力端子として機能する。m行・第2列のセルMm2は、第1遅延素子DM21を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子DM22を経由して前段のビットレベル・セルMm1の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQm21と、第1のnMOSトランジスタQm21のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQm22と、第2のnMOSトランジスタQm22に並列接続し、セルMm2の情報を格納するコンデンサCm2と、を備えており、そこでは、第1のnMOSトランジスタQm21のソース電極と第2のnMOSトランジスタQm22のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルMm3に、コンデンサCm2に格納されていた信号を送るセルMm2の出力端子として機能する。
更に、図4に示すように、ワード・サイズ・レベルの第3のメモリユニットU2は、m×nマトリクスの第3列のビットレベル・セルM13、M23、M33、……、Mm-1,3、Mm3の垂直配列から形成している。第1行・第3列のセルM13は、第1遅延素子D131を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子D132を経由して前段のビットレベル・セルM12の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ131と、第1のnMOSトランジスタQ131のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ132と、第2のnMOSトランジスタQ132に並列接続し、セルM13の情報を格納するコンデンサC13と、を備えており、そこでは、第1のnMOSトランジスタQ131のソース電極と第2のnMOSトランジスタQ132のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルに、コンデンサC13に格納されていた信号を送るセルM13の出力端子として機能する。第2行・第3列のセルM23は、第1遅延素子D231を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子D232を経由して前段のビットレベル・セルM22の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ231と、第1のnMOSトランジスタQ231のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ232と、第2のnMOSトランジスタQ232に並列接続し、セルM23の情報を格納するコンデンサC23と、を備えており、そこでは、第1のnMOSトランジスタQ231のソース電極と第2のnMOSトランジスタQ232のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルに、コンデンサC23に格納されていた信号を送るセルM23の出力端子として機能する。第3行・第3列のセルM33は、第1遅延素子D331を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子D332を経由して前段のビットレベル・セルM32の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ331と、第1のnMOSトランジスタQ331のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ332と、第2のnMOSトランジスタQ332に並列接続し、セルM33の情報を格納するコンデンサC33と、を備えており、そこでは、第1のnMOSトランジスタQ331のソース電極と第2のnMOSトランジスタQ332のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルに、コンデンサC33に格納されていた信号を送るセルM33の出力端子として機能する。(m−1)行・第3列のセルM(m-1)3は、第1遅延素子D(m-1)31を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子D(m-1)32を経由して前段のビットレベル・セルM(m-1)2の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ(m-1)31と、第1のnMOSトランジスタQ(m-1)31のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ(m-1)32と、第2のnMOSトランジスタQ(m-1)32に並列接続し、セルM(m-1)3の情報を格納するコンデンサC(m-1)3と、を備えており、そこでは、第1のnMOSトランジスタQ(m-1)31のソース電極と第2のnMOSトランジスタQ(m-1)3のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルに、コンデンサC(m-1)3に格納されていた信号を送るセルM(m-1)3の出力端子として機能する。m行・第3列のセルMm3は、第1遅延素子Dm31を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子DM32を経由して前段のビットレベル・セルMm2の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQm31と、第1のnMOSトランジスタQm31のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQm32と、第2のnMOSトランジスタQm32に並列接続し、セルMm3の情報を格納するコンデンサCm3と、を備えており、そこでは、第1のnMOSトランジスタQm31のソース電極と第2のnMOSトランジスタQM32のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルに、コンデンサCm3に格納されていた信号を送るセルMm3の出力端子として機能する。
更に、図4に示すように、ワード・サイズ・レベルのn番目のメモリユニットは、m×nマトリクスのn番目の列のビットレベル・セルM1n、M2n、M3n、……、Mm-1,n、Mmnの垂直配列から形成している。第1行のn番目の列のセルM13は、第1遅延素子D1n1を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子D1n2を経由して前段のビットレベル・セルM1(n-1)のビットレベル出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ1n1と、第1のnMOSトランジスタQ1n1のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ1n2と、第2のnMOSトランジスタQ1n2に並列接続し、セルM1nの情報を格納するコンデンサC1nと、を備えており、そこでは、第1のnMOSトランジスタQ1n1のソース電極と第2のnMOSトランジスタQ1n2のドレイン電極とを接続する出力ノードは、次段のビットレベル出力端子に、コンデンサC1nに格納されていた信号を送るセルM1nのビットレベル出力端子として機能する。第2行の第n番目の列のセルM2nは、第1遅延素子D2n1を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子D2n2を経由して前段のビットレベル・セルM2(n-1)のビットレベル出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ2n1と、第1のnMOSトランジスタQ2n1のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ2n2と、第2のnMOSトランジスタQ2n2に並列接続し、セルM2nの情報を格納するコンデンサC2nと、を備えており、そこでは、第1のnMOSトランジスタQ2n1のソース電極と第2のnMOSトランジスタQ2n2のドレイン電極とを接続する出力ノードは、第2のビットレベル出力端子に、コンデンサC2nに格納されていた信号を送るセルM2nの出力端子として機能する。第3行のn番目の列のセルM3nは、第1遅延素子D3n1を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子D3n2を経由して前段のビットレベル・セルM3(n-1)のビットレベル出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ3n1と、第1のnMOSトランジスタQ3n1のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ3n2と、第2のnMOSトランジスタQ3n2に並列接続し、セルM3nの情報を格納するコンデンサC3nと、を備えており、そこでは、第1のnMOSトランジスタQ3n1のソース電極と第2のnMOSトランジスタQ3n2のドレイン電極とを接続する出力ノードは、第3のビットレベル出力端子に、コンデンサC3nに格納されていた信号を送るセルM3nのビットレベル出力端子として機能する。(m−1)行のn番目の列のセルM(m-1)nは、第1遅延素子D(m-1)n1を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子D(m-1)n2を経由して前段のビットレベル・セルM(m-1)(n-1)のビットレベル出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ(m-1)n1と、第1のnMOSトランジスタQ(m-1)n1のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ(m-1)n2と、第2のnMOSトランジスタQ(m-1)n2に並列接続し、セルM(m-1)nの情報を格納するコンデンサC(m-1)nと、を備えており、そこでは、第1のnMOSトランジスタQ(m-1)n1のソース電極と第2のnMOSトランジスタQ(m-1)n2のドレイン電極とを接続する出力ノードは、(m−1)番目のビットレベル出力端子に、コンデンサC(m-1)nに格納されていた信号を送るセルM(m-1)nのビットレベル出力端子として機能する。m行のn番目の列のセルMmnは、第1遅延素子Dmn1を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子Dmn2を経由して前段のビットレベル・セルMm(n-1)のビットレベル出力端子に接続するゲート電極を有する第1のnMOSトランジスタQmn1と、第1のnMOSトランジスタQmn1のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQmn2と、第2のnMOSトランジスタQmn2に並列接続し、セルMmnの情報を格納するコンデンサCmnと、を備えており、そこでは、第1のnMOSトランジスタQmn1のソース電極と第2のnMOSトランジスタQmn2のドレイン電極とを接続する出力ノードは、m番目のビットレベル出力端子に、コンデンサCmnに格納されていた信号を送るセルMmnの出力端子として機能する。
図5に示すように、j行・i行のビットレベル・セルMijは、本発明の第1の実施形態に係る計算機システムで用いるマーチング主記憶装置の典型的な2×2セル・アレイにおいて、第1遅延素子Dij1を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子Dij2を経由して前段のビットレベル・セルの出力端子に接続するゲート電極を有する第1のnMOSトランジスタQij1と、第1のnMOSトランジスタQij1のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQij2と、第2のnMOSトランジスタQij2に並列接続するビットレベル・セルMijの情報を格納するコンデンサCijと、を備えており、そこでは、第1のnMOSトランジスタQij1のソース電極と第2のnMOSトランジスタQij2のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルMi(j+1)に、コンデンサCijに格納されていた信号を送るビットレベル・セルMijの出力端子として機能する。
i行・(j+1)列の列・ビットレベル・セルMi(j+1)は、第1遅延素子Di(j+1)1を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子Di(j+1)2を経由して前段のビットレベル・セルMijの出力端子に接続するゲート電極を有する第1のnMOSトランジスタQi(j+1)1と、第1のnMOSトランジスタQi(j+1)1のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQi(j+1)2と、第2のnMOSトランジスタQi(j+1)2に並列接続するビットレベル・セルMi(j+1)の情報を格納するコンデンサCi(j+1)と、を備えており、そこでは、第1のnMOSトランジスタQi(j+1)1のソース電極と第2のnMOSトランジスタQi(j+1)2のドレイン電極とを接続する出力ノードは、次段のセルに、コンデンサCi(j+1)に格納されていた信号を送るビットレベル・セルMi(j+1)の出力端子として機能する。
そして、(i+1)行・j列のビットレベル・セルM(i+1)jは、第1遅延素子D(i+1)j1を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子D(i+1)j2を経由して前段のビットレベル・セルの出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ(i+1)j1と、第1のnMOSトランジスタQ(i+1)j1のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ(i+1)j2と、第2のnMOSトランジスタQ(i+1)j2に並列接続するビットレベル・セルM(i+1)jの情報を格納するコンデンサC(i+1)jと、を備えており、そこでは、第1のnMOSトランジスタQ(i+1)j1のソース電極と第2のnMOSトランジスタQ(i+1)j2のドレイン電極とを接続する出力ノードは、次段のビットレベル・セルM(j+1)(i+1)に、コンデンサC(i+1)jに格納されていた信号を送るビットレベル・セルM(i+1)jの出力端子として機能する。
更に、(i+1)行・(j+1)j列のビットレベル・セルM(i+1)(j+1)は、第1遅延素子D(i+1)(j+1)1を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子D(i+1)(j+1)2を経由して前段のビットレベル・セルM(i+1)jの出力端子に接続するゲート電極を有する第1のnMOSトランジスタQ(i+1)(j+1)1と、第1のnMOSトランジスタQ(i+1)(j+1)1のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQ(i+1)(j+1)2と、第2のnMOSトランジスタQ(i+1)(j+1)2に並列接続するビットレベル・セルM(i+1)(j+1)の情報を格納するコンデンサC(i+1)(j+1)2と、を備えており、そこでは、第1のnMOSトランジスタQ(i+1)(j+1)1のソース電極と第2のnMOSトランジスタQ(i+1)(j+1)2のドレイン電極を接続する出力ノードは、次段のセルに、コンデンサC(i+1)(j+1)に格納されていた信号を送るビットレベル・セルM(i+1)(j+1)の出力端子として機能する。
図6に示すように、i行のj番目のビットレベル・セルMijは、第1遅延素子Dij1を経由してクロック信号供給線に接続するドレイン電極と第2遅延素子Dij2を経由して前段のセルの出力端子に接続するゲート電極を有する第1のnMOSトランジスタQij1と、第1のnMOSトランジスタQij1のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と接地電位に接続するソース電極を有する第2のnMOSトランジスタQij2と、第2のnMOSトランジスタQij2に並列接続するビットレベル・セルMijの情報を格納するコンデンサCijと、を備えている。
図6に示す回路構成において、第2のnMOSトランジスタQij2は、ハイレベル(又は“1”の論理レベル)のクロック信号が第2のnMOSトランジスタQij2のゲート電極に印加されて、コンデンサCijに既に格納していた信号電荷が排出(放電)すると、コンデンサCijに格納された信号電荷をリセットするリセット・トランジスタとして機能する。
図7A及び図7Bは、本発明の第1の実施形態に係る計算機システムで用いるビットレベル・セルのクロック信号波形に対するトランジスタ・レベルの過渡応答の概略的な例を示している。即ち、図7A及び図7Bは、ビットレベル・セルの一例として、図6に示すビットレベル・セルMijを採用し、破線で示すクロック信号波形に対するビットレベル・セルMijのトランジスタ・レベルの過渡応答を示している。破線で示すクロック信号は、クロック周期τclockによって、論理レベル“1”と“0”の間で定期的に振動している。図7A及び図7Bにおいて、t1−t0(=t2−t1=t3−t2=t4−t3)は、クロック周期τclockの1/4と定義されている(=τclock/4)。
(a) 図7A(a)に示すように、時刻“t0”で、破線で示すハイレベルのクロック信号は第1の理想的な遅延素子Dij1を経由して第1のnMOSトランジスタQij1のドレイン電極と第2のnMOSトランジスタQij2のゲート電極の両方に印加されるので、第2のnMOSトランジスタQij2は、第1のnMOSトランジスタQij1が時刻“t1”でオン状態になるまでオフ状態を維持する。何故ならば、第1のnMOSトランジスタQij1のソース電極と第2のnMOSトランジスタQij2のドレイン電極との間を接続する出力ノードNoutの電位が浮遊状態であるため、時刻“t01”の間は“0”と“1”の論理レベルの間にあるからである。
(b) 第1の理想的な遅延素子Dij1のために、第1のnMOSトランジスタQij1のターン・オン遷移がt1−t0=τclock/4だけ遅延し、第1のnMOSトランジスタQij1が時刻“t1”で転送トランジスタとして作動状態になり、出力ノードNoutの電位が論理レベル“1”になる。ここで、第1の理想的な遅延素子Dij1は、急峻な立ち上がりエッジによりτclock/4の遅延が実現でき、立ち上がり時間が無視できると想定している。即ち、図7A(a)で急峻な立ち上がりエッジと急峻な立ち下がりエッジとで示すように、時刻“t0”で印加したクロック信号は、t1−t0=τclock/4だけ遅延する。そこで、図7A(c)〜(d)に示すように、前段のビットレベル・セルMi(j-1)に格納されていた信号が“1”の論理レベルになると、第2のnMOSトランジスタQij2がリセット・トランジスタとして作動状態になり、コンデンサCijに格納されていた信号電荷が、時刻“t2”で排出(放電)するように駆動される。
(c) 第1のnMOSトランジスタQij1は、第2の理想的な遅延素子Dij2から決まる、所定の遅延時間td2=t2−t0=τclock/2だけ遅延して、時刻“t2”で転送トランジスタとして完全に作動状態になる。ここで、第2の理想的な遅延素子Dij2は、急峻な立ち上がりエッジによりτclock/2の遅延が実現でき、立ち上がり時間が無視できると想定している。次に、前段のビットレベル・セルMi(j-1)に格納された“1”の論理レベルの信号が、i行の前段のビットレベル・セルMi(j-1)から、第1のnMOSトランジスタQij1のゲート電極に送られたとする。“1”の論理レベルの信号が、ゲート電極に送られると、時刻“t2”で、コンデンサCijに格納されていた信号電荷が完全に放電して、図7A(b)に示すように、“0”の論理レベルとなる。このように、第1のnMOSトランジスタQij1は、図7A(c)〜(d)に示すように、マーチングANDゲートの動作を実行するように、前段のビットレベル・セルMi(j-1)に格納された“1”の論理レベルの信号を、コンデンサCijに転送することを始める。即ち、クロック信号が提供する“1”の入力信号と、前段のビットレベル・セルMi(j-1)が出力する他の“1”の入力信号とにより、
1+1=1
という従来の2入力AND動作が実行できる。なお、コンデンサCijに格納されていた信号電荷が“1”の論理レベルのとき、コンデンサCijは時刻“t0”で放電を開始できる。何故ならば、第2のnMOSトランジスタQij2は、第2のnMOSトランジスタQij2の動作に遅延がないと、時刻“t0”で第2のnMOSトランジスタQij2のゲート電極に印加された、破線で示すハイレベルのクロック信号により、リセット・トランジスタとして作動するからである。
(d) 代わりに、図7B(c)〜(d)に示すように、前段のビットレベル・セルMi(j-1)に格納されていた信号が“0”の論理レベルの場合、第1のnMOSトランジスタQij1は、任意の時刻“t0”、“t1”、“t2”、“t3”でオフ状態を維持する。前述のように、コンデンサCijに格納されていた信号電荷が“1”の論理レベルのとき、第1のnMOSトランジスタQij1がオフしていても、コンデンサCijは時刻“t0”で放電を開始できる。何故ならば、第2のnMOSトランジスタQij2は、時刻“t0”で第2のnMOSトランジスタQij2のゲート電極に印加された、破線で示すハイレベルのクロック信号によりリセット・トランジスタとして作動するからである。
1+0=0
というマーチングANDゲートの動作が、クロック信号が提供する“1”の入力信号と前段のビットレベル・セルMi(j-1)が出力する“0”の他の入力信号とにより、図7A(c)〜(d)に示すようにして実行される。しかし、コンデンサCijに格納されていた信号電荷が“0”の論理レベルの場合、第1のnMOSトランジスタQij1と第2のnMOSトランジスタQij2の両方がオフ状態を維持するので、コンデンサCijは、任意の時刻“t0”、“t1”、“t23”において“0”の論理レベルを維持し、マーチングANDゲートの動作が、7A(c)〜(d)に示すようにして実行される。第1のnMOSトランジスタQij1のソース電極と第2のnMOSトランジスタQij2のドレイン電極とを接続する出力ノードNoutは、ビットレベル・セルMijの出力端子として機能する。ビットレベル・セルMijの出力端子は、コンデンサCijに格納されていた信号を、i行の次段のビットレベル・セルに出力する。
更に、図7Cは、図8に示すように、第1遅延素子Dij1と第2遅延素子Dij2の両方がR−C遅延回路からなる場合に、クロック信号波形に対する応答の実例を示す。マーチングメモリの正規の動作では、コンデンサCijに格納されていた信号電荷は“0”又は“1”の論理レベルのいずれかに実際になる。コンデンサCijに格納されていた信号電荷が“1”の論理レベルのとき、第1のnMOSトランジスタQij1が遮断状態であっても、コンデンサCijは時刻“t0”で放電を開始できる。何故ならば、第2のnMOSトランジスタQij2は、遅延のない第2のnMOSトランジスタQij2の理想的な動作がほぼ行える場合に、ハイレベルのクロック信号が第2のnMOSトランジスタQij2のゲート電極に印加されるときに、作動状態が開始されるからである。したがって、コンデンサCijに格納されていた信号電荷が実際に“1”の論理レベルであると、ハイレベルのクロック信号が第2のnMOSトランジスタQij2のゲート電極に印加され、コンデンサCijに格納されていた信号電荷が放電した後に、第1のnMOSトランジスタQij1は、R−C遅延回路により第1遅延素子Dij1から定まる所定の遅延時間td1だけ遅れて、転送トランジスタとして作動する。そして、i行の前段のビットレベル・セルMi(j-1)に格納されていた信号が、i行の前段のビットレベル・セルMi(j-1)からi行の第1のnMOSトランジスタQij1のゲート電極に送られたとする。ビットレベル・セルMi(j-1)に格納されていた信号がゲート電極に送られると、第1のnMOSトランジスタQij1は、前段のビットレベル・セルMi(j-1)に格納されていた信号をコンデンサCijに、第2遅延素子Dij2から決まる所定の遅延時間td2だけ更に遅れて転送する。第1のnMOSトランジスタQij1のソース電極と第2のnMOSトランジスタQij2とを接続する出力ノードNoutはビットレベル・セルMijの出力端子として機能し、ビットレベル・セルMijの出力端子は、コンデンサCijに格納されていた信号をi行の次段のビットレベル・セルに出力する。
図7Cに示すように、クロック信号は、所定のクロック周期(クロックサイクル時間)τclockにより、“1”と“0”の論理レベルの間を定期的に振動する。クロック信号が“1”の論理レベルになると、第2のnMOSトランジスタQij2は、前段のクロックサイクルでコンデンサCijに既に格納していた信号電荷の放電を始める。そして、“1”の論理レベルのクロック信号が印加され、コンデンサCijに格納されていた信号電荷が“0”の論理レベルの電位に完全に放電した後、第1のnMOSトランジスタQij1は、第1遅延素子Dij1から決まる所定の遅延時間td1だけ遅れて、転送トランジスタとして作動する。遅延時間td1は、好ましくは(1/4)τclockと等しく設定できる。その後、i行の前段のビットレベル・セルMi(j-1)に格納されていた信号が前段のビットレベル・セルMi(j-1)から第1のnMOSトランジスタQij1のゲート電極に送られたとする。ビットレベル・セルMi(j-1)に格納されていた信号がゲート電極に送られると、第1のnMOSトランジスタQij1は、前段のビットレベル・セルMi(j-1)に格納されていた信号を、コンデンサCijに、R−C遅延回路により第2遅延素子Dij2から決まる所定の遅延時間td2だけ遅れて転送する。
例えば、i行の前段のビットレベル・セルMi(j-1)に格納された“1”の論理レベルが、前段のビットレベル・セルMi(j-1)から第1のnMOSトランジスタQij1のゲート電極に送られたとする。“1”の論理レベルがゲート電極に送られると、第1のnMOSトランジスタQij1は導電状態になり、“1”の論理レベルがコンデンサCijに格納される。一方で、前段のビットレベル・セルMi(j-1)に格納された“0”の論理レベルが、前段のビットレベル・セルMi(j-1)から第1のnMOSトランジスタQij1のゲート電極に送られたとする。“0”の論理レベルがゲート電極に送られると、第1のnMOSトランジスタQij1は遮断状態になり、“0”の論理レベルがコンデンサCijに維持される。したがって、ビットレベル・セルMijは、“マーチングANDゲート”の動作を行うことができる。遅延時間td2は遅延時間td1よりも長いことが好ましく、遅延時間td2をを(1/2)τclockとすることが好ましい。
クロック信号はクロック周期τclockにより“1”と“0”の論理レベルの間を定期的に振動するので、時刻が(1/2)τclockを過ぎると、クロック信号は“0”の論理レベルになる。第1のnMOSトランジスタQij1のソース電極と第2のnMOSトランジスタQij2のドレイン電極とを接続する出力ノードNoutは、時刻が(1/2)τclockを過ぎると、前段のビットレベル・セルMi(j-1)から転送された信号を次段のビットレベル・セルMi(j+1)に更に転送できなくなる。信号が、第2遅延素子Di(j+1)2から決まる遅延時間td2=(1/2)τclockだけ遅れて、次段の第1のnMOSトランジスタQi(j+1)1のゲート電極への転送が阻止されるからである。クロック信号は、時刻がτclockを過ぎると再び“1”の論理レベルになり、第1のnMOSトランジスタQij1のソース電極と第2のnMOSトランジスタQij2のドレイン電極とを接続する出力ノードNoutは、ビットレベル・セルMijの出力端子として機能し、コンデンサCijに格納されていた信号を次段のビットレベル・セルMi(j+1)に、次のクロックサイクルで送ることができる。
図4に戻り、図7A(a)又は図7Cに示すクロック信号が“1”の論理レベルになると、第1のメモリユニットU1に1次元配列された第2のnMOSトランジスタQ112、Q212、Q312、-----、Qm-1,12、Qm12は、前のクロックサイクルで第1のメモリユニットU1で、それぞれ、コンデンサC11、C21、C31、-----、Cm-1,1、Cm1に既に格納していた、それぞれの信号電荷の放電を始める。そして、“1”の論理レベルのクロック信号が、それぞれ、第2のnMOSトランジスタQ112、Q212、Q312、-----、Qm-1,12、Qm12の1次元配列のゲート電極に印加され、コンデンサC11、C21、C31、-----、Cm-1,1、Cm1に格納されていた信号電荷が“0”の論理レベルの電位に完全に放電した後に、1次元配列された第1のnMOSトランジスタQ111、Q211、Q311、-----、Qm-1,11、Qm11は、それぞれ、第1遅延素子D111、D211、D311、-----、Dm-1,11、Dm11から決まる遅延時間td1だけ遅れて、転送トランジスタとして作動する。その後、16、32、64ビットのように8ビットの倍数である、1次元に配列されたワード・サイズの信号が、1次元配列された第1のnMOSトランジスタQ111、Q211、Q311、-----、Qm-1,11、QMm11のゲート電極に入ると、1次元配列された第1のnMOSトランジスタQ111、Q211、Q311、-----、Qm-1,11、Qm11は、それぞれ、第2遅延素子D112、D212、D312、-----、Dm-1,12、Dm12から決まる遅延時間td2だけ遅れて、コンデンサC11、C21、C31、-----、Cm-1,1、Cm1に、1次元に配列されたワード・サイズの信号を転送する。
クロック信号が、時刻が(1/2)τclockを過ぎたときに“0”の論理レベルになると、第1のnMOSトランジスタQ111、Q211、Q311、-----、Qm-1,11、Qm11のソース電極と第2のnMOSトランジスタQ112、Q212、Q312、-----、Qm-1,12、Qm12のドレイン電極とを接続する出力ノードのそれぞれは、時刻が(1/2)τclockを過ぎると、次段のビットレベル・セルM12、M22、M32、-----、Mm-1,2、Mm2に、第1のnMOSトランジスタQ111、Q211、Q311、-----、Qm-1,11、Qm11のゲート電極に入力している信号をもう送ることができない。信号のそれぞれが、第2遅延素子D122、D222、D322、-----、Dm-1,22、Dm22から決まる遅延時間td2=(1/2)τclockだけ遅れて、次段の第1のnMOSトランジスタQ121、Q221、Q321、-----、Qm-1,21、Qm21のゲート電極への転送を阻止されるからである。
時刻がτclockを過ぎたときに、次のクロック信号が再び“1”の論理レベルになると、第2のメモリユニットU2に1次元配列された第2のnMOSトランジスタQ122、Q222、Q322、-----、Qm-1,22、Qm22は、前のクロックサイクルで第2のメモリユニットU2に、それぞれ、コンデンサC12、C22、C32、-----、Cm-1,2、Cm2に既に格納していた、それぞれ、信号電荷の放電を始める。そして、“1”の論理レベルのクロック信号が、それぞれ、1次元配列された第2のnMOSトランジスタQ122、Q222、Q322、-----、Qm-1,22、Qm22のそれぞれのゲート電極に印加され、コンデンサC12、C22、C32、-----、Cm-1,2、Cm2に格納されていた信号電荷が“0”の論理レベルの電位に完全に放電した後、1次元配列された第1のnMOSトランジスタQ121、Q221、Q321、-----、Qm-1,21、Qm21は、それぞれ、第1遅延素子D121、D221、D321、-----、Dm-1,21、Dm21から決まる遅延時間td1だけ遅れて、転送トランジスタとして作動する。その後、前段のコンデンサC11、C21、C31、-----、Cm-1,1、Cm1に1次元配列されて格納されたワード・サイズの信号が1次元配列された第1のnMOSトランジスタQ121、Q221、Q321、-----、Qm-1,21、Qm21のそれぞれのゲート電極に送られ、第1のnMOSトランジスタQ121、Q221、Q321、-----、Qm-1,21、Qm21は、コンデンサC12、C22、C32、-----、Cm-1,2、Cm2に、第2遅延素子D122、D222、D322、-----、Dm-1,22、Dm22から決まる遅延時間td2だけ遅れて、1次元に配列されたワード・サイズの信号を送る。
クロック信号は、更に時刻が(1+1/2)τclockを過ぎて“0”の論理レベルになると、第1のnMOSトランジスタQ121、Q221、Q321、-----、Qm-1,21、Qm21のソース電極と第2のnMOSトランジスタQ122、Q222、Q322、-----、Qm-1,22、Qm2のドレイン電極とを接続する出力ノードのそれぞれは、時刻が(1+1/2)τclockを過ぎると、次段のビットレベル・セルM12、M22、M32、-----、Mm-1,2、Mm2に、前段のビットレベル・セルM11、M21、-----、Mm-1,1、Mm1に格納されていた信号を送ることができない。信号のそれぞれが、第2遅延素子D132、D232、D332、-----、Dm-1,32、Dm32から決まる遅延時間td2=(1/2)τclockだけ遅れ、次段の第1のnMOSトランジスタQ131、Q231、Q331、-----、Qm-1,31、Qm31のゲート電極への転送が阻止されるからである。
そして、更に時刻が2τclockが過ぎて、次のクロック信号が再び“1”の論理レベルになると、第3のメモリユニットU2に1次元配列された第2のnMOSトランジスタQ132、Q232、Q332、-----、Qm-1,32、Qm32は、前のクロックサイクルで第3のメモリユニットU2に、それぞれ、コンデンサC13、C23、C33、-----、Cm-1,3、Cm3に既に格納していた、それぞれ、信号電荷の放電を始める。そして、“1”の論理レベルのクロック信号が、それぞれ、1次元配列された第2のnMOSトランジスタQ132、Q232、Q332、-----、Qm-1,32、Qm32のそれぞれのゲート電極に印加され、コンデンサC13、C23、C33、-----、Cm-1,3、Cm3に格納されていた信号電荷が“0”の論理レベルの電位に完全に放電した後に、1次元配列された第1のnMOSトランジスタQ131、Q231、Q331、-----、Qm-1,31、Qm31は、それぞれ、第1遅延素子D131、D231、D331、-----、Dm-1,31、Dm31から決まる遅延時間td1だけ遅れて、転送トランジスタとして作動する。その後、前段のコンデンサC12、C22、C32、-----、Cm-1,2、Cm2に1次元配列されて格納されたワード・サイズの信号は、1次元配列された第1のnMOSトランジスタQ131、Q231、Q331、-----、Qm-1,31、Qm31のそれぞれのゲート電極に送られる。第1のnMOSトランジスタQ131、Q231、Q331、-----、Qm-1,31、Qm31は、コンデンサC13、C23、C33、-----、Cm-1,3、Cm3に、第2遅延素子D132、D232、D332、-----、Dm-1,32、Dm32から決まる遅延時間td2だけ遅れて、1次元に配列されたワード・サイズの信号を転送する。
図8に示すように、第1遅延素子Dij1と第2遅延素子Dij2のそれぞれは、周知の“抵抗−容量性遅延”又は「R−C遅延」から形成できる。RC回路では、時定数の値(単位は秒)は、回路抵抗(単位はオーム)と回路容量(単位はファラッド)の積、即ち、td1、td2=R×Cに等しい。RC回路の構造は非常に単純なので、第1遅延素子Dij1と第2遅延素子Dij2をRC回路に使用することが望ましい。しかし、RC回路は単なる例であり、第1遅延素子Dij1と第2遅延素子Dij2は、他の受動性遅延素子、又はトランジスタなどの能動性素子を含む様々な能動性遅延素子から形成できる。
図9は、図8に示すi行・j列のビットレベル・セルMijの実際の平面パターンの上面図の例で、RC遅延回路で形成した第1遅延素子Dij1と第2遅延素子Dij2とを有している。図10は、図9のA−A線上で対応する断面図を示す。図9に示すように、第1遅延素子Dij1は導電性配線の第1メアンダライン(蛇行線)91から形成し、第2遅延素子Dij2は導電性配線の第2メアンダライン(蛇行線)97から形成している。
図9に示すように、第1のnMOSトランジスタQij1は、コンタクト・プラグ96aを経由して第1メアンダライン91に接続するドレイン領域93を有する。第1のnMOSトランジスタQij1のドレイン領域93に接続する端部の反対側の第1メアンダライン91の他端は、クロック信号供給線に接続している。第1のnMOSトランジスタQij1のゲート電極は、第2メアンダライン97で形成されている。第1のnMOSトランジスタQij1のゲート電極として機能する端部の反対側の第2メアンダライン97の他端は、前段のセルの出力端子に接続している。
第2のnMOSトランジスタQij2は、共通n+半導体領域94からなるドレイン領域をもつが、n+半導体領域94は第1のnMOSトランジスタQij1のソース電極領域としても機能している。第2のnMOSトランジスタQij2は、更に、コンタクト・プラグ96aを経由してクロック信号供給線に接続するゲート電極98と、コンタクト・プラグ96cを経由して接地電位に接続するソース電極領域95を備える。ソース電極領域95はn+半導体領域で形成されている。共通n+半導体領域94は、第1のnMOSトランジスタQij1のソース電極領域と第2のnMOSトランジスタQij2のドレイン領域とを接続する出力ノードなので、共通n+半導体領域94は、コンタクト・プラグ96dを経由して表面配線92bに接続している。共通n+半導体領域94は、ビットレベル・セルMijの出力端子として機能して、表面配線92bを経由して次のビットレベル・セルに、コンデンサCijに格納されていた信号を送る。
図10に示すように、ドレイン領域93、共通n+半導体領域94及びソース電極領域95は、p型半導体基板81の表面に接した上部に設けられている。p型半導体基板81の代わりに、ドレイン領域93、共通n+半導体領域94及びソース電極領域95は、半導体表面上に成長したpウェル又はp型エピタキシャル層に設けることもできる。p型半導体基板81上に、素子分離絶縁体82が、素子分離絶縁体82に設けた窓部として、p型半導体基板81の活性領域(アクティブ・エリア)を画定するように設けられている。そして、ドレイン領域93、共通n+半導体領域94及びソース電極領域95は、素子分離絶縁体82で囲われた活性領域(アクティブ・エリア)に設けられている。活性領域(アクティブ・エリア)の表面に接してゲート絶縁膜83が設けられている。そして、第2メアンダライン97で形成した第1のnMOSトランジスタQij1のゲート電極と、第2のnMOSトランジスタQij2のゲート電極98が、ゲート絶縁膜83上に設けられている。
図10に示すように、第1の層間誘電膜84が、第2メアンダライン97とゲート電極98の上に設けられている。第1の層間誘電膜84の一部に、ビットレベル・セルMijの情報を格納するコンデンサCijの底部電極85が設けられている。底部電極85は導電膜で作られている。コンタクト・プラグ96cが、底部電極85とソース電極領域95との間を接続するように第1の層間誘電膜84に設けられている。そして、底部電極85上に、キャパシタ絶縁膜86が設けられている。
更に、キャパシタ絶縁膜86上に、コンデンサCijの上部電極87が、底部電極85の上部を占めるように設けられている。上部電極87は導電膜からなる。図10に示す断面図では図示を省略しているが、上部電極87は、コンデンサCijが第2のnMOSトランジスタQij2に並列接続する電気回路のトポロジーを実現するように、共通n+半導体領域94に電気的に接続している。様々な絶縁膜をキャパシタ絶縁膜86として使用できる。微細化されたマーチング主記憶装置は、上部電極87と対向する底部電極85が小さな領域を占めることが要求される。しかし、マーチング主記憶装置が正規に機能するために、底部電極85とキャパシタ絶縁膜86を介して対向する上部電極87の間の静電容量は、一定の値を有する必要がある。特に、最小線幅が約100nm以下の微細化構造を有するマーチング主記憶装置では、酸化ケイ素(SiO2)より大きい誘電率erもつ材料の使用が、底部電極85と上部電極87との間の蓄積容量を考慮すると好ましい。ONO膜として、例えば、上層の酸化ケイ素膜、中間層の窒化ケイ素膜、下層の酸化ケイ素膜の厚み比率を選択することにより、約5〜5.5の誘電率erを実現することができる。代わりに、er=6の酸化ストロンチウム(SrO)膜、er=7の窒化ケイ素(Si3N4)膜、er=8〜11の酸化アルミニウム(Al2O3)膜、er=10の酸化マグネシウム(MgO)膜、er=16〜17の酸化イットリウム(Y2O3)膜、er=22〜23の酸化ハフニウム(HfO2)膜、er=22〜23の酸化ジルコニウム(ZrO2)膜、er=25〜27の酸化タンタル(Ta2O5)膜、又はer=40の酸化ビスマス(Bi2O3)膜の中の任意の一つから選択した単層膜、又はこれらの複数の層の中の少なくとも2つを含む複合膜を使用できる。Ta2O5とBi2O3は、ポリシリコンとの界面で熱安定性に欠けるという欠点がある。更に、酸化ケイ素膜とこれらの膜とからなる複合膜でもよい。複合膜は、三層構造以上の多層構造でもよい。言い換えれば、少なくともその一部に比誘電率er=5〜6以上の材料を含む絶縁膜でよい。しかし、複合膜の場合、膜全体を測定したときに実効比誘電率reff=5〜6以上となる組み合わせを選択することが好ましい。更に、アルミン酸ハフニウム(HfAlO)膜のような三元化合物の酸化膜からなる絶縁膜もある。
更に、第2の層間誘電膜87が上部電極87に設けられている。第1メアンダライン91が第2の層間誘電膜87に設けられている。図10に示すように、コンタクト・プラグ96aが、第1メアンダライン91とドレイン領域93との間を接続するように、第1の層間誘電膜84とキャパシタ絶縁膜86と第2の層間誘電膜87とを貫くように設けられている。
図9及び図10に示すトポロジーで、RC遅延の静電容量Cは、第1メアンダライン91と第2メアンダライン97に伴う浮遊抵抗から生じる。RとCは共に第1メアンダライン91と第2メアンダライン97の配線長に比例するので、遅延時間td1とtd2は、第1メアンダライン91の第2メアンダライン97の配線長を選ぶと容易に設計できる。更に、我々は、遅延時間td1とtd2が望ましい値ともつように、第1メアンダライン91と第2メアンダライン97の厚み、断面積及び抵抗率を設計できる。
例えば、遅延時間td2が遅延時間td1の2倍とし、第1メアンダライン91と第2メアンダライン97が同じ厚み、同じ断面積及び同じ比抵抗率をもつ材料からなり、更にR−C遅延(=R×C)の浮遊抵抗を生じる絶縁膜が同じ有効厚みと同じ実効誘電率であるとすると、第2メアンダライン97の配線長は、第1メアンダライン91の配線長の21/2として設計できる。しかし、第1メアンダライン91と第2メアンダライン97が異なる材料を用いると、第1メアンダライン91と第2メアンダライン97の配線長は、遅延時間td1とtd2に必要な値を得るために、第1メアンダライン91と第2メアンダライン97の抵抗率に基づいて決定しなければならない。例えば、第2メアンダライン97が多結晶シリコン製で、第1メアンダライン91が多結晶シリコンより大きい抵抗率をもつタングステン(W)やモリブデン(Mo)やプラチナ(Pt)のような高融点金属材料からなるとき、第1メアンダライン91と第2メアンダライン97の配線長は、遅延時間td1とtd2に必要な値を得るために、第1メアンダライン91と第2メアンダライン97の抵抗率に基づいて決まる。
更に、第1メアンダライン91と第2メアンダライン97を図9に示したが、図9に示す抵抗Rとして示す蛇行形状は単なる例であり、直線構成のような他のトポロジーも、抵抗RとコンデンサCに必要な値に基づいて使用できる。超高速動作用マーチング主記憶装置31では、寄生抵抗(浮遊抵抗)と寄生容量(浮遊容量)の値が必要な遅延時間td1とtd2を達成するようになってくるので、そのような場合は、外部抵抗素子Rは省略できるようになってくる。
図4〜図6に示す構成の場合、i行の(j−1)番目のビットレベル・セルMi,j-1の信号格納状態とi行のj番目のビットレベル・セルMijの信号格納状態の間の分離は、(j−1)番目のビットレベル・セルMi,j-1の出力端子とj番目のビットレベル・セルMijの第1のnMOSトランジスタQij1のゲート電極の間の信号伝搬経路における伝搬遅延で生じるが、伝搬遅延は第2遅延素子Dij2の値に主として起因する。そこで、図11及び図13に示すように、(j−1)番目のビットレベル・セルMi,j-1とj番目のビットレベル・セルMijの間にユニット間セルBijを挿入することが好ましい。
ユニット間セルBijは(j−1)番目のメモリユニットU(j-1)の(j−1)番目のビットレベル・セルMi,j-1の信号格納状態から、j番目のメモリユニットUjのj番目のビットレベル・セルMijの信号格納状態を分離するために設けられている。ユニット間セルBijは、クロック信号供給線から供給されるクロック信号が設定した必要なタイミングで、j番目のビットレベル・セルMijに対して、(j−1)番目のビットレベル・セルMi,j-1から信号を送る。j番目のメモリユニットUjは、j番目のメモリユニットUjに1次元配列されたビットレベル・セルにバイト・サイズ又はワード・サイズの情報を格納し、(j−1)番目のメモリユニットUj−1は、(j−1)番目のメモリユニットUj−1に1次元配列されたビットレベル・セルにバイト・サイズ又はワード・サイズの情報を格納しているので、メモリユニットUj−1及びメモリユニットUjに対し平行に配列されたユニット間セルの1次元配列は、クロック信号供給線が供給するクロック信号の制御に準じて、バイト・サイズ又はワード・サイズの情報を転送する。したがって、1次元配列されたバイト・サイズ又はワード・サイズの情報は、所定の方向に沿って、同じ歩調で隊列をなして進行する。図11及び図13に示すように、i行のj番目のビットレベル・セルMijの入力端子はユニット間セルBijに接続しているので、(j−1)番目のビットレベル・セルMi,j-1に格納されていた信号電荷は、必要なタイミングでユニット間セルBijを介して第2遅延素子Dij2に送られ、信号電荷の転送動作は必要なタイミング以外の期間でオフになる。
図11及び図13には、(j−1)番目のビットレベル・セルMijの出力端子に接続した第1主電極、j番目のビットレベル・セルMijの入力端子に接続した第2主電極、及びクロック信号供給線に接続した制御電極を有する分離トランジスタQij3を備えたユニット間セルBijの例が示されているが、ユニット間セルBijの構造は図11及び図13に示す構成に限定されない。例えば、ユニット間セルBijは、(j−1)番目のビットレベル・セルMi,j-1からj番目のビットレベル・セルMijに、クロック信号が決める所定のタイミングで信号を転送できる、複数のトランジスタを有するクロック回路によっても実現できる。
図5に示した構成と同様に、j番目のビットレベル・セルMijは、第1遅延素子Dij1を介してクロック信号供給線に接続するドレイン電極と第2遅延素子Dij2を介してユニット間セルBijに接続するゲート電極を有する第1のnMOSトランジスタQij1と、第1のnMOSトランジスタQij1のソース電極に接続するドレイン電極とクロック信号供給線に接続するゲート電極と、接地電位に接続するソース電極を有する第2のnMOSトランジスタQij2と、第2のnMOSトランジスタQij2に並列接続してビットレベル・セルMijの情報を格納するコンデンサCijと、を含んでいる。
図9に既に示したビットレベル・セルMijの構成の他、nMOSトランジスタからなる分離トランジスタQij3を備えたユニット間セルBijの平面構造の一例が、図12に図示されている。図12に示すビットレベル・セルMijには、ドレイン領域93、コンタクト・プラグ96aを介してドレイン領域93に接続する第1メアンダライン91、ゲート電極を形成する第2メアンダライン97を有する第1のnMOSトランジスタQij1と、ビットレベル・セルMijの出力端子となる共通n+半導体領域94をドレイン領域とする第2のnMOSトランジスタQij3が図示されている。
図12で、ユニット間セルBijを構成する分離トランジスタQij3は、n+半導体領域90の左側で形成する第1主電極領域と、クロック信号供給線に接続するゲート電極99と、n+半導体領域90の右側で形成する第2主電極領域とを有する。第2主電極領域は、第1のnMOSトランジスタQij1のゲート電極となる第2メアンダライン97の一端に対向する、第2メアンダライン97の他端に、コンタクト・プラグ96eを介して接続している。第1主電極領域は、コンタクト・プラグ96fを経由して前段のセルMi,j-1の出力端子に接続している。図示は省略しているが、図10に示す構造と同様に、第2メアンダライン97に設けた層間誘電膜上に、例えば、ビットレベル・セルMijの情報を格納するコンデンサCijの平行平板構造が、第2のnMOSトランジスタQij2に並列接続するようにして設けられている。
図13では、図11に示す構成に加えて、他のユニット間セルBi(j-1)が、(j−2)番目のビットレベル・セルMi(j-2)と(j−1)番目のビットレベル・セルMi(j-1)の間に設けられ、(j−1)番目のメモリユニットUj-1の(j−1)番目のビットレベル・セルMi(j-1)の信号格納状態を、(j−2)番目のメモリユニットUj−2の(j−2)番目のビットレベル・セルMi(j-2)の信号格納状態から分離するとともに、信号を(j−2)番目のビットレベル・セルMi(j-2)から(j−1)番目のビットレベル・セルMi(j-1)に、クロック信号供給線からのクロック信号によって、必要なタイミングで転送するように構成している。図13で、i行の(j−1)番目のビットレベル・セルMi(j-1)の入力端子はユニット間セルBi(j-1)に接続しているので、(j−2)番目のビットレベル・セルMi(j-2)に格納されていた信号電荷は、第2遅延素子Di(j-1)2にユニット間セルBi(j-1)を経由して必要なタイミングに送られる。信号電荷の転送動作は、この後にオフする。
図13には(j−2)番目のビットレベル・セルMi(j-1)の出力端子に接続する第1主電極と、(j−1)番目のビットレベル・セルMi(j-1)の入力端子に接続する第2主電極と、クロック信号供給線に接続する制御電極を有する分離トランジスタQi(j-1)3を備えるユニット間セルBi(j-1)の一例が例示されている。ユニット間セルBi(j-1)の構造は、図13に示す構成に限定されない。ユニット間セルBi(j-1)は、(j−2)番目のビットレベル・セルMi(j-2)から(j−1)番目のビットレベル・セルMi(j-1)に、クロック信号が決める所定のタイミングで信号を転送できる、複数のトランジスタを有するクロック回路で実現してもよい。
j番目のビットレベル・セルMijの構成と同様に、(j−1)番目のビットレベル・セルMi(j-1)は、第1遅延素子Di(j-1)1を介してクロック信号供給線に接続するドレイン電極及び第2遅延素子Di(j-1)2を介してユニット間セルBi(j-1)に接続するゲート電極を有する第1のnMOSトランジスタQi(j-1)1と、第1のnMOSトランジスタQi(j-1)1のソース電極に接続するドレイン電極、クロック信号供給線に接続するゲート電極及び接地電位に接続するソース電極を有する第2のnMOSトランジスタQi(j-1)2と、第2のnMOSトランジスタQi(j-1)2に並列接続してビットレベル・セルMi(j-1)の情報を格納するコンデンサCi(j-1)とを含んでいる。
図11及び図13に示す回路構成において、ビットレベル・セルMijの第2のnMOSトランジスタQij2は、ハイレベル(又は“1”の論理レベル)のクロック信号が第2のnMOSトランジスタQij2のゲート電極に印加され、コンデンサCijに既に格納されていた信号電荷を放電して、コンデンサCijに格納されていた信号電荷をリセットするリセット・トランジスタとして機能する。ビットレベル・セルMi(j-1)の第2のnMOSトランジスタQi(j-1)2は、ハイレベル(又は“1”の論理レベル)のクロック信号が第2のnMOSトランジスタQi(j-1)2のゲート電極に印加され、コンデンサCi(j-1)に既に格納されていた信号電荷を放電して、コンデンサCi(j-1)に格納されていた信号電荷をリセットするリセット・トランジスタとして機能する。したがって、図11及び図13では分離トランジスタQi(j-1)3及びQij3としてnMOSトランジスタのシンボルマークが用いられているが、分離トランジスタQi(j-1)3及びQij3としては、第2のnMOSトランジスタQi(j-1)2及びQij2と相補的に動作するpMOSトランジスタでもよい。即ち、第2のnMOSトランジスタQi(j-1)2及びQij2がコンデンサCi(j-1)及びCijに格納されていた信号電荷を放電する導通状態のときに、分離トランジスタQi(j-1)3及びQij3は、メモリユニット間を分離するようにオフになる。第2のnMOSトランジスタQi(j-1)2及びQij2がオフすると、分離トランジスタQi(j-1)3及びQij3は、信号電荷をメモリユニット間に転送するように導通状態になる。
或いは、図11及び図13で示すトランジスタ記号のように、分離トランジスタQi(j-1)3及びQij3がnMOSトランジスタの場合は、ゲート回路とゲート構造に依拠して大きな浮遊容量と大きな浮遊抵抗が付随した第2のnMOSトランジスタQi(j-1)2及びQij2よりも、立ち上がり時間が短く、導通時間も短く、立ち下がり時間も短い高速トランジスタを分離トランジスタQi(j-1)3及びQij3として採用することができる。この場合は、第2のnMOSトランジスタQi(j-1)2及びQij2が依然としてオフ状態にあるときに、分離トランジスタQi(j-1)3及びQij3が瞬時に導通状態になり、メモリユニット間に信号電荷が転送される。一方、第2のnMOSトランジスタQi(j-1)2及びQij2がコンデンサCi(j-1)及びCijに格納されていた信号電荷を放電するように、導通状態にゆっくり向かう間に、分離トランジスタQi(j-1)3及びQij3は瞬時にオフして、メモリユニット間が分離される。このような高速トランジスタの候補として、ノーマリ・オフ型MOS静電誘導トランジスタ(SIT)を使用できる。MOSSITは3極真空管のようなI−V特性を呈する。nチャネルMOSSITは、短チャネルnMOSFETの極限構造と考えることができる。3極真空管型I−V特性のために、MOSSITのオン状態は第1と第2主電極間におけるゲート電圧と電位差の両方に依存するので、非常に短いオン状態を実現できる。MOSSITの代わりに、ディラックのデルタ関数のような非常に短いオン状態が達成できるトンネルSITのような任意のノーマリ・オフ型スイッチング素子を使用できる。
図14(a)は、図13に示すビットレベル・セルMi(j-1)の過渡応答のタイミング図を示す。そして、図14(b)は、図13に示したビットレベル・セルMi(j-1)の次段のビットレベル・セルMijについての、次のクロック信号波形に対する応答を示すタイミング図である。図14(a)と(b)において、クロック信号は、クロック周期τclockにより“1”と“0”の論理レベル間を定期的に振動すると想定している。左上がりの斜線でハッチングされた矩形領域は、それぞれ、コンデンサCi(j-1)及びCijに格納されていた信号電荷のリセット・タイミングの時間領域を示す。更に、右上がりの斜線でハッチングされた矩形領域は、それぞれ、コンデンサCi(j-1)及びCijに対する信号電荷のチャージ転送タイミングの時間領域を示す。
即ち、図14(a)に示すように、コンデンサCi(j-1)に格納されていた信号電荷が“1”の論理レベルのとき、第1のnMOSトランジスタQi(j-1)1は依然としてオフしているが、コンデンサCi(j-1)に格納されていた信号電荷は、左上がりの斜線でハッチングされた矩形領域の時間で、放電するように駆動される。コンデンサCi(j-1)が放電を始めた後、右上がりの斜線でハッチングされた矩形領域の時間では、第1のnMOSトランジスタQi(j-1)1は、R−C遅延回路により第1遅延素子Di(j-1)1から決まる所定の遅延時間td1だけ遅れて転送トランジスタとして作動する。そして、前段のビットレベル・セルMi(j-2)に格納されていた信号が第1のnMOSトランジスタQi(j-1)1のゲート電極にユニット間セルBi(j-1)を介して送られると、第1のnMOSトランジスタQi(j-1)1は、前段のビットレベル・セルMi(j-2)に格納されていた信号を、右上がりの斜線でハッチングされた矩形領域の時間に示すように、第2遅延素子Di(j-1)2から決まる所定の遅延時間td2だけ更に遅れてコンデンサCi(j-1)に向けて転送する。
同様に、図14(b)に示すように、コンデンサに格納されていた信号電荷が“1”の論理レベルのとき、第1のnMOSトランジスタQij1は依然としてオフ状態であるが、コンデンサCijに格納されていた信号電荷は、左上がりの斜線でハッチングされた矩形領域の時間で、放電するように駆動される。コンデンサCijが放電を始めた後、右上がりの斜線でハッチングされた矩形領域の時間で示すように、第1のnMOSトランジスタQij1は、R−C遅延回路により第1遅延素子Dij1から決まる所定の遅延時間ij1だけ遅れて、転送トランジスタとして作動する。そして、前段のビットレベル・セルMi(j-1)に格納されていた信号が第1のnMOSトランジスタQij1のゲート電極にユニット間セルBijを介して送られると、第1のnMOSトランジスタQij1は、前段のビットレベル・セルMi(j-1)に格納されていた信号を、右上がりの斜線でハッチングされた矩形領域の時間において、第2遅延素子Dij2から決まる所定の遅延時間td2だけ更に遅れてコンデンサCijに向けて転送する。
図15は、細い実線で示すクロック信号波形に対する、本発明の第1の実施形態に係る計算機システムに用いるビットレベル・セルの一つである図13に示すビットレベル・セルMi(j-1)の更に詳細な過渡応答を示す。ここで、図13に示すビットレベル・セルMi(j-1)の第1遅延素子Di(j-1)1と第2遅延素子Di(j-1)2の両方は、図12に示すようなR−C遅延回路からなる。細い実線で示すクロック信号は、クロック周期τclockにより“1”と“0”の論理レベルの間を定期的に振動する。図15で、時間間隔 τ1=τ2=τ2=τ4は、クロック周期τclockの1/4に定められている(=τclock/4)。
マーチングメモリの正規の動作において、コンデンサCi(j-1)に格納されていた信号電荷は、図16(a)〜(d)に示すように、“0”又は“1”の論理レベルのいずれかに実際になる。コンデンサCi(j-1)に格納されていた信号電荷が“1”の論理レベルのとき、図16(c)と(d)に示すように、第1のnMOSトランジスタQi(j-1)1は依然としてオフ状態であっても、コンデンサCi(j-1)は時間間隔τ1の開始時に放電を開始できる。何故ならば、第2のnMOSトランジスタQi(j-1)2は近似的に遅延のない理想的な動作を行うことが想定されており、この想定のもとで、ハイレベルのクロック信号が第2のnMOSトランジスタQi(j-1)2のゲート電極に印加されると、直ちに導通状態になるからである。したがって、コンデンサCi(j-1)に格納されていた信号電荷が実際に“1”の論理レベルのとき、ハイレベルのクロック信号が、図15の細い実線で示すように、第2のnMOSトランジスタQi(j-1)2のゲート電極に印加されると、コンデンサCi(j-1)に格納されていた信号電荷が放電し、その後、第1のnMOSトランジスタQi(j-1)1が、R−C遅延回路により第1遅延素子Di(j-1)1から決まる所定の遅延時間td1だけ遅れて導通状態となり、転送トランジスタとして作動する。図15は、第1のnMOSトランジスタQi(j-1)1のドレイン電極の電位の変化を一点鎖線で示す。
そして、図15の細い実線で示すように、前段のビットレベル・セルMi(j-2)に格納された“1”の信号レベルが、i行の前段のビットレベル・セルMi(j-2)からユニット間セルBi(j-1)を介して第1のnMOSトランジスタQi(j-1)1のゲート電極に送られたとする。“1”の信号レベルがゲート電極に送られると、第1のnMOSトランジスタQi(j-1)1は、前段のビットレベル・セルMi(j-2)に格納されていた“1”の信号レベルをコンデンサCi(j-1)に、第2遅延素子Di(j-1)2から決まる所定の遅延時間td2だけ更に遅れて転送する。或いは、図15の破線で示すように、前段のビットレベル・セルMi(j-2)に格納されていた“0”の信号レベルが、前段のビットレベル・セルMi(j-2)から第1のnMOSトランジスタQi(j-1)1のゲート電極に送られたとする。“0”の信号レベルがゲート電極に送られると、第1のnMOSトランジスタQi(j-1)1は、前段のビットレベル・セルMi(j-2)に格納されていた“0”の信号レベルをコンデンサCi(j-1)に、所定の遅延時間td2だけ更に遅れて転送する。第1のnMOSトランジスタQi(j-1)1のソース電極と第2のnMOSトランジスタQi(j-1)2のドレイン電極とを接続する出力ノードNoutは、ビットレベル・セルMi(j-1)の出力端子として機能する。出力端子は、コンデンサCi(j-1)に格納されていた信号をi行の次段のビットレベル・セルに出力する。
図15の細い実線で示すように、クロック信号が“1”の論理レベルになると、第2のnMOSトランジスタQi(j-1)2は、前段のクロックサイクルで既にコンデンサCi(j-1)に格納されていた信号電荷の放電を始める。そして、“1”の論理レベルのクロック信号が印加され、コンデンサCi(j-1)に格納されていた信号電荷が“0”の論理レベルの電位に完全に放電した後、第1のnMOSトランジスタQi(j-1)1は、第1遅延素子Di(j-1)1から決まる所定の遅延時間td1だけ遅れて、転送トランジスタとして作動する。遅延時間td1は、好ましくは(1/4)τclock=τ1に等しく設定できる。
その後、前段のビットレベル・セルMi(j-2)に格納されていた信号が、前段のビットレベル・セルMi(j-2)から第1のnMOSトランジスタQi(j-1)1のゲート電極にユニット間セルBi(j-1)を介して送られると、細い実線と破線で示すように、第1のnMOSトランジスタQi(j-1)1は、前段のビットレベル・セルMi(j-2)に格納されていた信号をコンデンサCi(j-1)に、R−C遅延回路により第2遅延素子Di(j-1)2から決まる所定の遅延時間td2だけ更に遅れて転送する。
例えば、前段のビットレベル・セルMi(j-2)に格納されていた“1”の論理レベルが、細い実線で示すように第1のnMOSトランジスタQi(j-1)1のゲート電極に前段のビットレベル・セルMi(j-2)から送られると、第1のnMOSトランジスタQi(j-1)1は、時間間隔τ2の開始時に導通状態になり、“1”の論理レベルがコンデンサCi(j-1)に格納される。一方で、前段のビットレベル・セルMi(j-2)に格納されていた“0”の論理レベルが、破線で示すように第1のnMOSトランジスタQi(j-1)のゲート電極に前段のビットレベル・セルMi(j-2)から送られると、第1のnMOSトランジスタQi(j-1)1はオフ状態を維持し、“0”の論理レベルがコンデンサCi(j-1)に格納される。したがって、ビットレベル・セルMi(j-1)は、“マーチングANDゲート”動作を実現できる。遅延時間td2が遅延時間td1より長いとすると、遅延時間td2は、好ましくは(1/2)τclockと等しく設定できる。
クロック信号が、細い実線で示すようにクロック周期τclockにより、“1”と“0”の論理レベルの間を定期的に振動すると、クロック信号は、時刻が(1/2)τclockを過ぎると又は時間間隔τ2の開始時に、“0”の論理レベルになるので、第1のnMOSトランジスタQi(j-1)1のドレイン電極の電位は、一点鎖線で示すように減衰を始める。現在のビットレベル・セルMi(j-1)と次段のビットレベル・セルMijの間に挿入したユニット間セルBijがnMOSトランジスタからなる場合、現在のビットレベル・セルMi(j-1)の出力端子と次段のビットレベル・セルMijの第1のnMOSトランジスタQij1のゲート電極との間の電気経路は、nMOSトランジスタのゲート電極に印加されているクロック信号の“0”の論理レベルによりオフする。したがって、第1のnMOSトランジスタQi(j-1)1のソース電極と第2のnMOSトランジスタQi(j-1)2のドレイン電極とを接続する出力ノードNoutから、時間間隔τ2及び時間間隔τ4において、前段のビットレベル・セルMi(j-2)から転送された信号を更に次段のビットレベル・セルMijに将棋倒しのようになぎ倒して送ることが阻止されるので、信号が次の第1のnMOSトランジスタQij1のゲート電極にドミノ転送されることが阻止される。第1のnMOSトランジスタQi(j-1)1が時間間隔τ2及び時間間隔τ4でターン・オフするので、出力ノードNoutの電位は浮遊状態で維持され、コンデンサCi(j-1)に格納されていた信号状態も維持される。
クロック信号が再び“1”の論理レベルになると、図15に次段の列として示した枠内に、細い実線で示すように、第1のnMOSトランジスタQi(j-1)1のソース電極と第2のnMOSトランジスタQi(j-1)2のドレイン電極とを接続し、ビットレベル・セルMi(j-1)の出力端子としても機能する出力ノードNoutは、コンデンサCi(j-1)に格納されていた信号を次段のビットレベル・セルMijに、次のクロックサイクルで送ることができる。何故ならば、ユニット間セルBijが導通状態になり、第1のnMOSトランジスタQi(j-1)1のドレイン電極の電位が、一点鎖線に示すように上昇するからである。
図16(a)〜(d)は、信号転送動作の4つのモードを、それぞれ、図11及び図13に示したビットレベル・セルMijに着目して説明する。ビットレベル・セルMijは、j番目のメモリユニットUjに連続して配列されているビットレベル・セルの中の一つである。j番目のメモリユニットUjは、j番目のメモリユニットUjに連続して1次元に配列されたビットレベル・セルにより、バイト・サイズ又はワード・サイズの情報を格納している。本発明の第1の実施形態に係る計算機システムにおいて、連続して1次元配列されたバイト・サイズ又はワード・サイズの情報は、前段のメモリユニットから次段のメモリユニットに、同じ歩調で隊列を整えて並んで行進する。クロック信号供給線CLOCKが電源線として機能しながら、クロック信号がクロック信号供給線CLOCKから供給される。図16(a)〜(d)で、クロック周期τclockによりクロック信号は“1”と“0”の論理レベルの論理レベル間を定期的に振動するように、クロック信号供給線CLOCKから供給される。
図16(a)と(b)は、“0”の論理レベルがコンデンサCijに前段のクロック信号によって格納される場合を示し、図16(c)と(d)は、“1”の論理レベルがバイト・サイズ又はワード・サイズの1次元配列された一連の情報に含まれる信号の一つとしてコンデンサCijに前段のクロック信号によって格納される場合を示す。図16(a)に示すように、コンデンサCijに既に格納されていた信号電荷が“0”の論理レベルのときに、隊列を整えて互いに連携して行進して転送されるバイト・サイズ又はワード・サイズの1次元配列された一連の情報に含まれる信号の一つとして、前段のビットレベル・セルMi(j-1)に格納された“0”の論理レベルの信号が、前段のビットレベル・セルMi(j-1)からユニット間セルBij(図示せず)を介して第1のnMOSトランジスタQij1のゲート電極に、コンデンサCijが格納する信号電荷が“0”の論理レベルを維持しているタイミングで送られると、第1のnMOSトランジスタQij1がオフしているので、第1のnMOSトランジスタQij1のソース電極と第2のnMOSトランジスタQij2のドレイン電極とを接続する出力ノードNoutは、クロック信号が呈する“1”の入力信号により0+1=1のマーチングANDゲートの動作を実行するように、i行の次段のビットレベル・セルに、コンデンサCijに維持されている、“0”の信号レベルを送る。
同様に、図16(b)に示すように、コンデンサCijに既に格納されていた信号電荷が“0”の論理レベルのときに、前段のビットレベル・セルMi(j-1)に格納されていた“1”の論理レベルの信号が、前段のビットレベル・セルMi(j-1)からユニット間セルBijを介して第1のnMOSトランジスタQij1のゲート電極に、コンデンサCijに格納されていた信号電荷が“0”の論理レベルを維持しているタイミングで送られるとする。“1”の論理レベルの信号が送られると、第1のnMOSトランジスタQij1は、前段のビットレベル・セルMi(j-1)に格納されていた“1”の論理レベルの信号をコンデンサCijに転送するようにタターンオン動作を開始し、“1”の論理レベルがコンデンサCijに格納できる。“1”の論理レベルがコンデンサCijに格納されると、出力ノードNoutは、クロック信号が呈する“1”の入力信号によりマーチングANDゲートの動作1+1=1を実行するように、i行の次段のビットレベル・セルに、コンデンサCijに格納されていた“1”の信号レベルを送る。
逆に、図16(c)に示すように、コンデンサCijに既に格納されていた信号電荷が“1”の論理レベルのときに、前段のビットレベル・セルMi(j-1)に格納された“0”の論理レベルの信号が、前段のビットレベル・セルMi(j-1)からユニット間セルBijを介して第1のnMOSトランジスタQijのゲート電極に送られたとする。“0”の論理レベルの信号がゲート電極に送られると、コンデンサCijに格納されていた信号電荷が完全に放電して“0”の論理レベルになるタイミングの後に、第1のnMOSトランジスタQij1がターン・オフするので、出力ノードNoutは、クロック信号が呈する“1”の入力信号により0+1=0のマーチングANDゲートの動作を実行して、i行の次段のビットレベル・セルに、コンデンサCijに格納されていた“0”の信号レベルを出力する。
同様に、図16(d)に示すように、コンデンサCijに既に格納されていた信号電荷が“1”の論理レベルのときに、前段のビットレベル・セルMi(j-1)に格納されていた“1”の論理レベルの信号が、前段のビットレベル・セルMi(j-1)からユニット間セルBijを介して第1のnMOSトランジスタQij1のゲート電極に送られたとする。“1”の論理レベルの信号がゲート電極に送られると、コンデンサCijに格納されていた信号電荷が完全に放電して“0”の論理レベルとなるタイミングの後、第1のnMOSトランジスタQij1は、コンデンサCijに前段のビットレベル・セルMi(j-1)に格納されていた“1”の論理レベルの信号が転送されてターン・オン動作を始めるので、“1”の論理レベルがコンデンサCijに格納し、クロック信号が呈する“1”の入力信号によりマーチングANDゲートの動作1+1=1を実行する。そして、出力ノードNoutは、i行の次段のビットレベル・セルに、コンデンサCijに格納されていた“1”の信号レベルを出力する。
図11の構成と同様に、図17に示す構成でも、ユニット間セルBijが(j−1)番目のビットレベル・セルMi(j-1)とj番目のビットレベル・セルMijの間に挿入されている。、j番目のビットレベル・セルMijは、第1遅延素子Dij1を介してクロック信号供給線に接続するドレイン電極及び第2遅延素子Dij2を介してユニット間セルBijに接続するゲート電極を有する第1のnMOSトランジスタQij1と、第1のnMOSトランジスタQij1のソース電極に接続するドレイン電極、クロック信号供給線に接続するゲート電極及び接地電位に接続するソース電極を有する第2のnMOSトランジスタQij2と、第2のnMOSトランジスタQij2に並列接続され、ビットレベル・セルMijの情報を格納するコンデンサCijとを含んでいる。しかしながら、第1遅延素子Dij1は第1のダイオードD1aからなり、第2遅延素子Dij2は第2のダイオードD2aと第3のダイオードD3aの直列接続からなるという特徴は、図11に示す構成とは区別できる。
任意のp-n接合ダイオードは、拡散抵抗、リード線抵抗、オーム性接触抵抗や広がり抵抗などを含めた直列抵抗を含む抵抗体と、接合容量又は拡散容量のようなダイオード容量を含めた容量とを含む等価回路で表現できる。そして、単一のダイオード又はダイオードの直列接続が、「抵抗−容量性遅延」又は「R−C遅延」として機能できる。何故ならば、「R−C遅延」の値が、図9及び図12に示す第1メアンダライン91と第2メアンダライン97のような特化した専用のR−C素子が達成する値よりも遙かに小さくできるので、ユニット間セルBijに接続された、図17に示すj番目のビットレベル・セルMijの動作は、図12に示す構成の動作より好ましい動作を達成できる。即ち、ユニット間セルBijに接続されて図17に示されたj番目のビットレベル・セルMijの動作は、立ち上がり時間と立ち下がり時間の図示が省略されてはいるが、理想的な方形で表現可能なパルスの波形が実現できるので、図7A及び図7Bに示す理想的な遅延特性に近づくことができる。図11及び図12に示す構成による特性に加えて、第2のダイオードD2aと第3のダイオードD3aの直列接続が逆方向の電流の流れを効率的に阻止できるので、図17に示すユニット間セルBijとj番目のビットレベル・セルMijの組み合わせからなる構成は、前段のビットレベル・セルMi(j-1)に格納されていた“0”の信号、即ち低い論理レベルの信号がユニット間セルBijを介して第1のnMOSトランジスタQij1のゲート電極に送られる場合であっても、j番目のビットレベル・セルMi(j-1)の信号格納状態とj番目のビットレベル・セルMijの信号格納状態の間の分離が良好に達成できる。
図17に示す構成に加えて、図18では新たなユニット間セルBi(j-1)が、(j−2)番目のビットレベル・セルMi(j-2)と(j−1)番目のビットレベル・セルMi(j-1)との間に設けられている。ユニット間セルBi(j-1)は、(j−1)番目のメモリユニットUj-1の(j−1)番目のビットレベル・セルMi(j-1)の信号格納状態を、(j−2)番目のメモリユニットUj-2の(j−2)番目のビットレベル・セルMi(j-2)の信号格納状態から分離し、クロック信号供給線から供給されるクロック信号が決める所定のタイミングで、(j−2)番目のビットレベル・セルMi(j-2)から(j−1)番目のビットレベル・セルMi(j-1)に、信号を転送するために設けられている。図18で、(j−1)番目のビットレベル・セルMi(j-1)の入力端子がユニット間セルBi(j-1)に接続しているので、(j−2)番目のビットレベル・セルMi(j-2)に格納されていた信号電荷は、必要なタイミングでユニット間セルBi(j-1)を介して第2遅延素子Di(j-1)2に送られる。その後、信号電荷の転送はオフする。
j番目のビットレベル・セルMijの構成と同様に、(j−1)番目のビットレベル・セルMi(j-1)は、(j−1)番目のビットレベル・セルMi(j-1)は、第1遅延素子Di(j-1)1を介してクロック信号供給線に接続するドレイン電極及び第2遅延素子Di(j-1)2を介してユニット間セルBi(j-1)に接続するゲート電極を有する第1のnMOSトランジスタQi(j-1)1と、第1のnMOSトランジスタQi(j-1)1のソース電極に接続するドレイン電極、クロック信号供給線に接続するゲート電極、及び接地電位に接続するソース電極を有する第2のnMOSトランジスタQi(j-1)2と、第2のnMOSトランジスタQi(j-1)2に並列接続され、ビットレベル・セルMi(j-1)の情報を格納するコンデンサCi(j-1)とを含んでいる。第1遅延素子Di(j-1)1は第1のダイオードD1bで構成され、第2遅延素子Di(j-1)2は第2のダイオードD2bと第3のダイオードD3bの直列接続で構成されている。
前述のように、単一のダイオード又はダイオードの直列接続は「抵抗−容量性遅延」又は「R−C遅延」として機能できるので、図18に示すユニット間セルBi(i-1)による(j−1)番目のビットレベル・セルMi(i-1)の動作は、図13に示す構成の動作とほぼ同じである。図13に示す構成による特性に加えて、第2のダイオードD2bと第3のダイオードD3bの直列接続は逆方向の電流の流れを効率的に阻止できるので、図18に示すユニット間セルBi(i-1)による(j−1)番目のビットレベル・セルMi(i-1)の組み合わせからなる構成は、前段のビットレベル・セルMi(j-2)に格納されていた“0”の信号、即ち低い論理レベルの信号がユニット間セルBi(i-1)を介して第1のnMOSトランジスタQi(i-1)のゲート電極に送られても、(j−2)番目のビットレベル・セルMi(i-2)の信号格納状態と(j−1)番目のビットレベル・セルMi(i-1)の信号格納状態との間を良好に分離できる。
実際の半導体装置では、配線、ゲート構造、電極構造や接合構造に付随して多くの寄生抵抗(浮遊抵抗)と多くの寄生容量(浮遊容量)が内在している。よって、マーチング主記憶装置の超高速動作では、寄生抵抗と寄生容量だけでマーチング主記憶装置の動作速度に比し必要な遅延時間td1とtd2を達成できるならば、外付けの抵抗素子や容量素子は、省略できる。したがって、図11〜図13及び図16に示す構成の場合、第1遅延素子Di(j-1)1及びDij1は、図19、図20及び図22に示すように省略できる。
図19には、本発明の第1の実施形態に係る計算機システムで用いるビットレベル・セルの他の一例としてj番目のビットレベル・セルMijを示す。j番目のビットレベル・セルMijは、図11に示した構成と同様に、第1のnMOSトランジスタQij1を有しているが、第1のnMOSトランジスタQij1は、クロック信号供給線に直接接続したドレイン電極を有している。図11に示す構成で採用している第1遅延素子Dij1は省略している。第1のnMOSトランジスタQij1が、図11に示す第2遅延素子Dij2に対応する信号遅延素子Dijを介してユニット間セルBij1に接続するゲート電極を有し、第2のnMOSトランジスタQij2が、第1のnMOSトランジスタQij1のソース電極に接続するドレイン電極と、クロック信号供給線に接続するゲート電極と、接地電位に接続するソース電極と、第2のnMOSトランジスタQij2に並列接続され、ビットレベル・セルMijの情報を格納するコンデンサCijを有するという特徴は、図11に示した構成とほぼ同じである。
図19に示す第1の実施形態に係るビットレベル・セルの他の例では、図11〜図13及び図16に示した構成と同様に、ユニット間セルBijは、j番目のメモリユニットUjのj番目のビットレベル・セルMijの信号格納状態を、(j−1)番目のメモリユニットUj-1の(j−1)番目のビットレベル・セルMi,j-1の信号格納状態から分離するように更に設けられている。更に、ユニット間セルBijは、信号を(j−1)番目のビットレベル・セルMi,j-1からj番目のビットレベル・セルMijに、クロック信号供給線から供給されるクロック信号が決める所定のタイミングで転送する。j番目のメモリユニットUjはj番目のメモリユニットUjに1次元配列されたビットレベル・セルにそれぞれバイト・サイズ又はワード・サイズの情報を格納し、(j−1)番目のメモリユニットUj-1は(j−1)番目のメモリユニットUj-1に1次元配列されたビットレベル・セルにそれぞれバイト・サイズ又はワード・サイズの情報を格納するので、メモリユニットUj-1及びメモリユニットUjと平行に配列されたユニット間セルの1次元配列は、クロック信号供給線が供給するクロック信号による制御のもとでバイト・サイズ又はワード・サイズの情報を転送するので、バイト・サイズ又はワード・サイズの情報は、同じ歩調で所定の方向に沿って隊列を整えて並んで行進する。
図19に示すように、i行のj番目のビットレベル・セルMijの入力端子はユニット間セルBijに接続しているので、(j−1)番目のビットレベル・セルMi,j-1に格納されていた信号電荷は、必要なタイミングでユニット間セルBijを介して信号遅延素子Dijに送られ、信号電荷の転送動作は必要なタイミング以外の期間でオフしている。
図20では、図19に示した構成に加えて、他のユニット間セルBi(j-1)が、(j−2)番目のビットレベル・セルMi(j-2)と(j−1)番目のビットレベル・セルMi(j-1)との間に設けられ、(j−1)番目のメモリユニットUj-1の(j−1)番目のビットレベル・セルMi(j-1)の信号格納状態を、(j−2)番目のメモリユニットUj-2の(j−2)番目のビットレベル・セルMi(j-2)の信号格納状態から分離して、(j−2)番目のビットレベル・セルMi(j-2)から(j−1)番目のビットレベル・セルMi(j-1)に、クロック信号供給線から供給されるクロック信号が決める所定のタイミングで信号を転送するように構成している。図20で、i行の(j−1)番目のビットレベル・セルMi(j-1)の入力端子がユニット間セルBi(j-1)に接続しているので、ビットレベル・セルMi(j-2)に格納されていた信号電荷は、必要なタイミングでユニット間セルBi(j-1)を介して信号遅延素子Di(j-1)に送られる。その後、信号電荷の転送動作はオフする。
j番目のビットレベル・セルMijの構成と同様に、(j−1)番目のビットレベル・セルMi(j-1)は、クロック信号供給線に直接接続したドレイン電極及び信号遅延素子Di(j-1)1を介してユニット間セルBi(j-1)に接続するゲート電極を有する第1のnMOSトランジスタQi(j-1)1と、第1のnMOSトランジスタQi(j-1)1のソース電極に接続するドレイン電極、クロック信号供給線に接続するゲート電極、及び接地電位に接続するソース電極を有する第2のnMOSトランジスタQi(j-1)2と、第2のnMOSトランジスタQi(j-1)2に並列接続され、ビットレベル・セルMi(j-1)の情報を格納するコンデンサCi(j-1)と、を含んでいる。
この回路構成において、図19及び図20に示す第1の実施形態に係るビットレベル・セルの他の例の一つとして、ビットレベル・セルMijの第2のnMOSトランジスタQij2は、ハイレベル(又は“1”の論理レベル)のクロック信号が第2のnMOSトランジスタQij2のゲート電極に印加されて、コンデンサCijに既に格納されていた信号電荷が放電すると、コンデンサCijに格納されていた信号電荷をリセットするリセット・トランジスタとして機能する。又、ビットレベル・セルMi(j-1)の第2のnMOSトランジスタQi(j-1)2は、ハイレベル(又は“1”の論理レベル)のクロック信号が第2のnMOSトランジスタQi(j-1)2のゲート電極に印加されて、コンデンサCi(j-1)に既に格納されていた信号電荷が放電すると、コンデンサCi(j-1)に格納されていた信号電荷をリセットするリセット・トランジスタとして機能する。
図19及び図20において、分離トランジスタQi(j-1)3及びQij3は、ゲート回路とゲート構造のために大きな浮遊容量と大きな浮遊抵抗をもった第2のnMOSトランジスタQi(j-1)2及びQij2よりも、立ち上がり時間が短く、導通状態の時間も短く、立ち下がり時間も短い高速トランジスタである。したがって、第2のnMOSトランジスタQi(j-1)2及びQij2が依然としてオフ状態のときに、分離トランジスタQi(j-1)3及びQij3は瞬時に導通状態になり、メモリユニット間で信号電荷の転送をする。又、第2のnMOSトランジスタQi(j-1)2及びQij2がコンデンサCi(j-1)及びCijに格納されていた信号電荷を放電する導通状態にゆっくり向かうときに、分離トランジスタQi(j-1)3及びQij3は、瞬時にターン・オフしてメモリユニット間を分離する。
図21は、本発明の第1の実施形態に係る計算機システムで用いるビットレベル・セルの他の例の一つである、図20に示したビットレベル・セルMi(j-1)の、細い実線で示すクロック信号波形に対する詳細な過渡応答を、信号遅延素子Di(j-1)2がR−C遅延回路からなる場合に対して示す。細い実線で示すクロック信号は、クロック周期τclockにより“1”と“0”の論理レベルの間を定期的に振動している。図21で、時間間隔τ1=τ2=τ2=τ4は、クロック周期τclock(=τclock/4)の1/4に定められている。
マーチングメモリの正規な動作では、コンデンサCi(j-1)に格納されていた信号電荷は、図22(a)〜(d)に示すように、“0”又は“1”の論理レベルのいずれかに実際になる。コンデンサCi(j-1)に格納されていた信号電荷が“1”の論理レベルの場合、図22(c)と(d)に示すように、第1のnMOSトランジスタQi(j-1)1は依然としてオフ状態である。何故ならば、第1のnMOSトランジスタQi(j-1)1のゲート電極の電位は信号遅延素子Di(j-1)1のために遅れるので、コンデンサCi(j-1)は、時間間隔τ1の開始時に放電を開始できる。何故ならば、第2のnMOSトランジスタQi(j-1)2は、ハイレベルのクロック信号は、第2のnMOSトランジスタQi(j-1)2に遅延が実質的にないという理想的な条件下では、第2のnMOSトランジスタQi(j-1)2のゲート電極に印加されるときに瞬時に導通状態になるからである。したがって、コンデンサCi(j-1)に格納されていた信号電荷が実際に“1”の論理レベルならば、ハイレベルのクロック信号が図21の細い実線で示すように、第2のnMOSトランジスタQi(j-1)2のゲート電極に印加された後、コンデンサCi(j-1)に格納されていた信号電荷は、“0”の論理レベルに放電する。ほぼ同時に、第1のnMOSトランジスタQi(j-1)1は、浮遊抵抗と浮遊容量とからなる寄生素子から決まる実質的に無視できる短い遅延時間だけ遅れて、転送トランジスタとして作動する。図21では、第1のnMOSトランジスタQi(j-1)1のドレイン電極の電位の変化を一点鎖線で強調して描いている。
そして、図21の太い実線で示すように、前段のビットレベル・セルMi(j-2)に格納されていた“1”の信号レベルが、前段のビットレベル・セルMi(j-2)からユニット間セルBi(j-1)を介して第1のnMOSトランジスタQi(j-1)1のゲート電極に送られたとする。“1”の信号レベルがゲート電極に送られると、第1のnMOSトランジスタQi(j-1)1がオンして、第1のnMOSトランジスタQi(j-1)1が、前段のビットレベル・セルMi(j-2)に格納されていた“1”の信号レベルをコンデンサCi(j-1)に、信号遅延素子Di(j-1)から決まる所定の遅延時間td2だけ遅れて転送する。或いは、図21で破線で示すように、前段のビットレベル・セルMi(j-2)に格納されていた“0”の信号レベルが、前段のビットレベル・セルMi(j-2)から第1のnMOSトランジスタQi(j-1)1のゲート電極に送られたとする。“0”の信号レベルがゲート電極に送られると、第1のnMOSトランジスタQi(j-1)1はオフ状態を維持する。この瞬間、コンデンサCi(j-1)は依然として“0”の論理レベルなので、第1のnMOSトランジスタQi(j-1)1は、前段のビットレベル・セルMi(j-2)に格納されていた“0”の信号レベルを等価的に転送する。ビットレベル・セルMi(j-1)の出力端子として機能する出力ノードNoutは、コンデンサCi(j-1)に格納されていた信号をi行の次段のビットレベル・セルに出力する。
クロック信号は、細い実線で示すようにクロック周期τclockにより、“1”と“0”の論理レベルの間を定期的に振動するので、クロック信号は、時刻が(1/2)τclockが過ぎると又は時間間隔τ2の開始時に“0”の論理レベルになり、第1のnMOSトランジスタQi(j-1)1のドレイン電極の電位は、一点鎖線で強調表示するように瞬時に減衰し始める。現在のビットレベル・セルMi(j-1)と次段のビットレベル・セルMijの間に挿入したユニット間セルBijがnMOSトランジスタからなる場合、現在のビットレベル・セルMi(j-1)の出力端子と次段のビットレベル・セルMijの第1のnMOSトランジスタQij1のゲート電極との間の電気経路は、nMOSトランジスタのゲート電極に印加されているクロック信号の“0”の論理レベルのためにオフする。したがって、出力ノードNoutは、前段のビットレベル・セルMi(j-2)から転送された信号を、時間間隔τ2及び時間間隔τ4で将棋倒しのように次段のビットレベル・セルMijに更に送ることができないので、次の第1のnMOSトランジスタQij1のゲート電極への信号のドミノ転送が阻止される。第1のnMOSトランジスタQi(j-1)1が時間間隔τ2及び時間間隔τ4でターン・オフするので、出力ノードNoutの電位は浮遊状態に維持され、コンデンサCi(j-1)に格納されていた信号状態は保たれる。
クロック信号が再び“1”の論理レベルになると、図21に次段の列として示した枠内に細い実線で示すように、第1のnMOSトランジスタQi(j-1)1のソース電極と第2のnMOSトランジスタQi(j-1)2のドレイン電極とを接続する出力ノードNoutは、ビットレベル・セルMi(j-1)の出力端子として機能し、コンデンサCi(j-1)に格納されていた信号を次段のビットレベル・セルMijに次のクロックサイクルで送ることができる。何故ならば、ユニット間セルBijが導通状態になり、第1のnMOSトランジスタQi(j-1)1のドレイン電極の電位が一点鎖線で強調表示するように高くなるからである。
図22(a)〜(d)は、図19及び図20に示したビットレベル・セルMijに着目して、それぞれ、信号転送動作の4つのモードを示す。ビットレベル・セルMijは、j番目のメモリユニットUjに連続して1次元配列されたビットレベル・セルの中の一つである。j番目のメモリユニットUjは、j番目のメモリユニットUjに連続して1次元配列されたビットレベル・セルにそれぞれバイト・サイズ又はワード・サイズの情報を格納している。本発明の第1の実施形態に係る計算機システムでは、連続して1次元配列されたバイト・サイズ又はワード・サイズの情報は、前段のメモリユニットから次段のメモリユニットに、同じ歩調で隊列を整えて並んで行進する。クロック信号供給線CLOCKが電源線として機能するので、図22(a)〜(d)で、クロック信号はクロック周期τclockにより“1”と“0”の論理レベルの間を定期的に振動するように、クロック信号供給線CLOCKから供給される。
図22(a)及び(b)は、“0”の論理レベルがコンデンサCijに前段のクロック信号によって格納される場合を示し、図22(c)及び(d)は、“1”の論理レベルがバイト・サイズ又はワード・サイズの1次元配列された一連の情報に含まれる信号の一つとしてコンデンサCijに前段のクロック信号によって格納される場合を示す。図22(a)に示すように、コンデンサCijに既に格納されていた信号電荷が“0”の論理レベルのときに、隊列を整えて互いに連携して行進して転送されるバイト・サイズ又はワード・サイズの1次元配列された情報に含まれる信号の一つとして、前段のビットレベル・セルMi(j-1)に格納されていた“0”の論理レベルの信号が、前段のビットレベル・セルMi(j-1)からユニット間セルBij(図示せず)を介して第1のnMOSトランジスタQij1のゲート電極に送られたとする。“0”の論理レベルの信号がゲート電極に送られると、第1のnMOSトランジスタQij1は、オフになる。このとき、コンデンサCijは依然として“0”の論理レベルを維持しているので、第1のnMOSトランジスタQi(j-1)1は、“0”の論理レベルをコンデンサCijに等価的に転送する。そこで、出力ノードNoutは、コンデンサCijに維持されている“0”の信号レベルを、図22(a)に示すように、次段のビットレベル・セルに出力する。
同様に、図22(b)に示すように、コンデンサCijに既に格納されていた信号電荷が“0”の論理レベルのときに、前段のビットレベル・セルMi(j-1)に格納されていた“1”の論理レベルの信号が、前段のビットレベル・セルMi(j-1)からユニット間セルBijを介して第1のnMOSトランジスタQij1のゲート電極に、コンデンサCijに格納されていた信号電荷が“0”の論理レベルを維持しているタイミングで送られたとする。“1”の論理レベルの信号がゲート電極に送られると、第1のnMOSトランジスタQij1は、前段のビットレベル・セルMi(j-1)に格納されていた“1”の論理レベルの信号をコンデンサCijに転送するようにターン・オン動作を開始して、“1”の論理レベルをコンデンサCijに格納する。そして、出力ノードNoutは、コンデンサCijに格納されていた“1”の信号レベルを次段のビットレベル・セルに、図22(b)に示すようにして出力する。
逆に、図22(c)に示すように、コンデンサCijに既に格納されていた信号電荷が“1”の論理レベルのときに、前段のビットレベル・セルMi(j-1)に格納されていた“0”の論理レベルの信号が、前段のビットレベル・セルMi(j-1)からユニット間セルBijを介して第1のnMOSトランジスタQijのゲート電極に送られたとする。“0”の論理レベルの信号がゲート電極に送られると、コンデンサCijに格納されていた信号電荷が完全に放電して“0”の論理レベルになるタイミングの後まで、第1のnMOSトランジスタQij1がオフ状態を維持する。そこで、出力ノードNoutは、コンデンサCijに格納されていた“0”の信号レベルを次段のビットレベル・セルに、図22(c)に示すように出力する。
同様に、図22(d)に示すように、コンデンサCijに既に格納されていた信号電荷が“1”の論理レベルのときに、前段のビットレベル・セルMi(j-1)に格納されていた“1”の論理レベルの信号が、前段のビットレベル・セルMi(j-1)からユニット間セルBijを介して第1のnMOSトランジスタQij1のゲート電極に送られたとする。“1”の論理レベルの信号がゲート電極に送られると、コンデンサCijに格納されていた信号電荷が完全に放電して“0”の論理レベルとなるタイミングの後に、第1のnMOSトランジスタQij1がオンして、第1のnMOSトランジスタQij1が、前段のビットレベル・セルMi(j-1)に格納されていた“1”の論理レベルの信号をコンデンサCijに転送する。そこで、出力ノードNoutは、コンデンサCijに格納されていた“1”の信号レベルを次段のビットレベル・セルに、図22(d)に示すように出力する。
このように、クロック信号が呈する“1”を一方の入力信号とし、前段のビットレベル・セルMi(j-1)が呈する“1”又は“0”を他方の入力信号として、ビットレベル・セルMijは、下記の“マーチングANDゲート”動作を実現できる:
1+1=1
1+0=1
そして、クロック信号が呈する“0”を一方の入力信号とし、前段のビットレベル・セルMi(j-1)が呈する“1”又は“0”を他方の入力信号として、ビットレベル・セルMijは、下記の“マーチングANDゲート”動作を実現できる:
0+1=0
0+0=0
したがって、図4に示すマーチング主記憶装置31に対応したセル・アレイのゲートレベル表現を図23に示すと、第1行の最左端に配置され且つ入力端子I1に接続する第1のセルM11は、情報を格納するコンデンサC11と、コンデンサC11に接続した一方の入力端子、クロック信号が供給される他方の入力端子、第1行において隣接する第2のセルM12に設けた次段のANDゲートG12の一方の入力端子に接続した出力端子を有するANDゲートG11と、を備えている。クロック信号波形に対する応答の一例が図7Cに図示されている。クロック信号の”1”の論理値がマーチングANDゲートG11の他方の入力端子に送られると、コンデンサC11に格納されていた情報が、隣接する第2のセルM12に設けたコンデンサC12に転送され、コンデンサC12が情報を格納する。即ち、マーチング主記憶装置31を形成するセル・アレイのゲートレベル表現の第1行の第2のセルM12は、コンデンサC12と、コンデンサC12に接続した一方の入力端子、クロック信号が供給される他方の入力端子、第1行において隣接する第3のセルM13に設けた次段のマーチングANDゲートG13の一方の入力端子に接続された出力端子を有するANDゲートG12とを含んでいる。同様に、マーチング主記憶装置31を形成するセル・アレイのゲートレベル表現の第1行の第3のセルM13は、情報を格納するコンデンサC13と、コンデンサC13に接続した一方の入力端子、クロック信号が供給される他方の入力端子、隣接する第4のセルに設けた次段のマーチングANDゲートの一方の入力端子に接続した出力端子とを有するマーチングANDゲートG13と、を備えている。但し、第4のセルの図示は省略されている。したがって、”1”の論理値がマーチングANDゲートG12の他方の入力端子に送られると、コンデンサC12に格納されていた情報が第3のセルM13に設けたコンデンサC13に転送されて、コンデンサC13が情報を格納する。“1”の論理値がマーチングANDゲートG13の他方の入力端子に送られると、コンデンサC13に格納されていた情報が第4のセルに設けたコンデンサに転送される。更に、マーチング主記憶装置31を形成するセル・アレイのゲートレベル表現の第1行の(n−1)番目のセルM1,n-1は、情報を格納するコンデンサC1,n-1と、コンデンサC1,n-1に接続した一方の入力端子、クロック信号が供給される他方の入力端子、隣接するn番目のセルM1nに設けた次段のマーチングANDゲートG1nの一方の入力端子に接続した出力端子とを有するマーチングANDゲートG1,n-1と、を備えている。次段のマーチングANDゲートG1nは、第1行の最右端に配置され、且つ出力端子O1に接続している。したがって、セルM11、M12、M13、……、M1,n-1、M1nのそれぞれは、情報を格納し、情報をクロック信号と同期して、ステップごとに、出力端子O1に向けて転送するので、格納されていた情報がプロセッサ11に能動的に逐次出力され、ALU112は、格納されていた情報により演算論理動作を実行できる。
同様に、図23に示すマーチング主記憶装置31を形成するセル・アレイのゲートレベル表現において、第2行の最左端に配置し且つ入力端子I2に接続した第1のセルM21は、コンデンサC21と、コンデンサC21に接続した一方の入力端子、クロック信号が供給される他方の入力端子、第2行において隣接する第2のセルM21に設けた次段のマーチングANDゲートG21の一方の入力端子に接続した出力端子を有するANDゲートG21とを含んでいる。マーチング主記憶装置31を形成するセル・アレイのゲートレベル表現の第2行の第2のセルM22は、コンデンサC22と、コンデンサC22に接続した一方の入力端子、クロック信号が供給される他方の入力端子、第2行において隣接する第3のセルM23に設けた次段のマーチングANDゲートG23の一方の入力端子に接続した出力端子を有するANDゲートG22と、を備えている。同様に、マーチング主記憶装置31を形成するセル・アレイのゲートレベル表現において、第2行の第3のセルM23は、コンデンサC23と、コンデンサC23に接続した一方の入力端子、クロック信号が供給される他方の入力端子、隣接する第4のセルに設けた次段のマーチングANDゲートの一方の入力端子に接続した出力端子とを有するマーチングANDゲートG23と、を備えている。更に、マーチング主記憶装置31を形成するセル・アレイのゲートレベル表現の第2行の(n−1)番目のセルM2,n-1は、コンデンサC2,n-1と、コンデンサC2,n-1に接続した一方の入力端子、クロック信号が供給される他方の入力端子、次段のマーチングANDゲートG1nの一方の入力端子に接続した出力端子とを有するマーチングANDゲートG2,n-1と、を備えている。マーチングANDゲートG2,n-1は、 第2行の最右端に配置され、且つ出力端子O2に接続している。したがって、第2行のセルM21、M22、M23、……、M2,n-1、M1nのそれぞれは、情報を格納し、情報をクロック信号と同期して、ステップごとに、出力端子O1に向けて転送するので、格納されていた情報がプロセッサ11に能動的且つ逐次的に出力され、ALU112は、格納されていた情報により演算論理動作を実行する。
第3行には、最左端に配置し且つ入力端子I3に接続した第1のセルM31と、第1のセルに隣接した第2のセルM32と、第2のセルM32に隣接した第3のセルM33と、……、(n−1)番目のセルM3,n-1と、第3行で最右端に配置され、且つ出力端子O3に接続したn番目のセルM3nが配列されている。そして、第3行のセル、M32、M33、……、M3,n-1、M3nのそれぞれは、情報を格納し、情報をクロック信号と同期して、ステップごとに、出力端子O3に向けて転送するので、格納されていた情報がプロセッサ11に能動的且つ逐次的に出力され、ALU112は格納されていた情報により演算論理動作を実行する。
(m−1)番目の行には、最左端に配置し且つ入力端子Im-1に接続した第1のセルM(m-1),1と、第1のセルM(m-1),1に隣接した第2のセルM(m-1),2と、第2のセルM(m-1),2に隣接した第3のセルM(m-1),3と、……、(n−1)番目のセルM(m-1),n-1と、(m−1)番目の行で最右端に配置され、且つ出力端子Om-1に接続するn番目のセルM(m-1),nが配列されている。そして、(m−1)番目の行のセルM(m-1),1、M(m-1),2、M(m-1),3、……、M(m-1),n-1、M(m-1),nのそれぞれは、情報を格納し、情報をクロック信号と同期して、ステップごとに、出力端子Om-1に転送し、格納されていた情報がプロセッサ11に能動的且つ逐次的に出力され、ALU112は格納された情報により演算論理動作を実行する。
m番目の行には、最左端に配置され、且つ入力端子Imに接続した第1のセルMm1と、第1のセルMm1に隣接した第2のセルMm2と、第2のセルMm2に隣接した第3のセルMm3と、……、(n−1)番目のセルMm(n-1)と、m番目の行で最右端に配置され、且つ出力端子Omに接続しているn番目のセルMmnが、配列されている。そして、m番目の行のセルMm1、Mm2、Mm3、……、Mm(n-1)、Mmnのそれぞれは、情報を格納し、情報をクロック信号と同期して、ステップごとに出力端子Omに転送し、格納されていた情報がプロセッサ11に能動的且つ逐次的に出力され、ALU112は格納された情報により演算論理動作を実行する。
マーチングANDゲートGijのトランジスタ・レベル構成の一例が図6に示してあるが、第1の実施形態に係る計算機システムのマーチング主記憶装置31を形成するセル・アレイに適用できるマーチングANDゲートには、マーチングANDゲートを構成する様々な回路構成がある。マーチング主記憶装置31を形成するセル・アレイに適用できるマーチングANDゲートGijの他の例として、CMOSNANDゲートと、CMOSNANDゲートの出力端子に接続するCMOSインバータと、を備える構成がある。CMOSNANDゲートは2つのnMOSトランジスタと2つのpMOSトランジスタを必要とし、CMOSインバータは一つのnMOSトランジスタと一つのpMOSトランジスタを必要とするので、CMOSNANDゲート及びCMOSインバータと、を備える構成は6個のトランジスタを必要とする。更に、マーチングANDゲートGijは、ANDロジックの機能を有する、抵抗−トランジスタ・ロジックのような他の回路構成、又は半導体素子、磁気素子、超導電素子、単一量子素子などで形成できる。
図23に示すように、マーチング主記憶装置31を形成するセル・アレイのゲートレベル表現は、DRAMの構成のように単純である。ここで、ビットレベル・セルMij(i=1〜m;j=1〜n)のそれぞれは、一つのコンデンサと一つのマーチングANDゲートから表現される。第1のメモリユニットU1を形成するマーチングANDゲートG11、G21、G31、-----、Gm-1,1、Gm1の垂直方向1次元配列のそれぞれは、信号の1次元配列を、入力端子I1、I2、I3、-----、In-1、Inから右側に行方向に沿って又は水平方向に、図7Cに示すクロックに基づいてシフトする。そして、第2のメモリユニットU2を形成するマーチングANDゲートG12、G22、G32、-----、Gm-1,2、Gm2の垂直方向1次元配列のそれぞれは、1次元に配列されたワード・サイズの信号を、左から右に行方向に沿って、クロックに基づいて移動する。第3のメモリユニットU2を形成するマーチングANDゲートG13、G23、G33、-----、Gm-1,3、Gm3の垂直方向1次元配列のそれぞれは、1次元に配列されたワード・サイズの信号を、左から右に行方向に沿って、クロックに基づいて移動する。(n−1)番目のメモリユニットUn-1を形成するマーチングANDゲートG1,n-1、G2,n-1、G3,n-1、-----、Gm-1,n-1、Gm、n-1の垂直方向1次元配列のそれぞれは、1次元に配列されたワード・サイズの信号を、左から右に行方向に沿ってクロックに基づいて移動する。n番目のメモリユニットUnを形成するマーチングANDゲートG1,n、G2,n、G3,n、-----、Gm-1,n、Gm、nの垂直方向1次元配列のそれぞれは、1次元に配列されたワード・サイズの信号を、左から右に出力端子O1、O2、O3、-----、On-1、Onに、クロックに基づいて図7Cに示すようにして移動する。特に、マーチングANDゲートGij(i=1〜m;j=1〜n)のそれぞれの時間遅延td1とtd2は、マーチング主記憶装置31のすべてのメモリユニットの隊列行進移動の動作を適正に適切に行うために重要である。
(逆方向マーチング主記憶装置)
図3〜図23は、情報をメモリユニットU1、U2、U3、……、Un-1、Unのそれぞれに格納し、情報をクロック信号と同期してステップごとに入力端子から出力端子に転送する、マーチング主記憶装置を示すが、図7は他のマーチング主記憶装置を示す。
図24において、メモリユニットU1、U2、U3、……、Un-1、Unのそれぞれは、ワード・サイズのデータ又は命令を含む情報を格納し、プロセッサ11から供給された情報を、ALU112で実行した最終データと共に、図24の出力端子側となる方向に向けて、ステップごとに、クロック信号と同期して、逆方向に転送する。
図25(a)は、図24に示す他のマーチング主記憶装置のセル−レベル表現におけるm×nマトリクス(ここで、mはワード・サイズで決まる整数)のi行のアレイを示していて、ビットレベルの情報をセルMi1、Mi2、Mi3、……、Mi,n-1、Mi,nに格納し、情報をクロック信号と同期して、ステップごとに、図3〜図23に示すマーチング主記憶装置と逆方向、即ち、出力端子OUTから入力端子INに向けて転送する。
図25(a)に示すように、逆方向マーチング主記憶装置では、i行の最右端に配置し且つ入力端子INに接続した、i行・n列のビットレベル・セルMinは、第1遅延素子Din1を介してクロック信号供給線に接続したドレイン電極、第2遅延素子Din2を介して入力端子INに接続したゲート電極を有する第1のnMOSトランジスタQin1と、第1のnMOSトランジスタQin1のソース電極に接続したドレイン電極、クロック信号供給線に接続したゲート電極、接地電位に接続するソース電極を有する第2のnMOSトランジスタQin2と、第2のnMOSトランジスタQin2に並列接続され、ビットレベル・セルMinの情報を格納するコンデンサCinと、を有している。ビットレベル・セルMinでは、第1のnMOSトランジスタQin1のソース電極と第2のnMOSトランジスタQin2のドレイン電極とを接続する出力ノードは、コンデンサCinに格納されていた信号を次段のビットレベル・セルMi2に転送するようにビットレベル・セルMinの出力端子として機能する。
図25(b)に示すように、クロック信号は、所定のクロック周期τclockにより、“1”と“0”の論理レベルの間を定期的に振動する。クロック信号が“1”の論理レベルになると、第2のnMOSトランジスタQin2は、前段のクロックサイクルでコンデンサCinに既に格納されていた信号電荷の放電を開始する。そして、“1”の論理レベルのクロック信号が印加され、コンデンサCinに格納されていた信号電荷が完全に放電して“0”の論理レベルになった後に、第1のnMOSトランジスタQin1は、第1遅延素子Din1から決まる所定の遅延時間td1だけ遅れて、転送トランジスタとして作動する。遅延時間td1は、好ましくは(1/4)τclockと等しく設定できる。その後、信号が入力端子INから第1のnMOSトランジスタQin1のゲート電極に送られると、第1のnMOSトランジスタQin1は、前段のビットレベル・セルMin2に格納されていた信号をコンデンサCinに、第2遅延素子Din2から決まる所定の遅延時間td2だけ更に遅れて転送する。例えば、“1”の論理レベルが入力端子INから第1のnMOSトランジスタQin1のゲート電極に送られたとする。“1”の論理レベルがゲート電極に送られると、第1のnMOSトランジスタQin1は導通状態になり、“1”の論理レベルがコンデンサCinに格納される。他方、“0”の論理レベルが入力端子INから第1のnMOSトランジスタQin1のゲート電極に送られたとする。“0”の論理レベルがゲート電極に送られると、第1のnMOSトランジスタQin1はオフ状態を維持し、“0”の論理レベルがコンデンサCinに維持される。したがって、ビットレベル・セルMinは「マーチングANDゲート」の動作を実現できる。遅延時間td2が遅延時間td1より長いとすると、遅延時間td2は、好ましくは(1/2)τclockに設定できる。クロック信号は時刻が(1/2)τclockを過ぎて“0”の論理レベルになると、第1のnMOSトランジスタQin1と第2のnMOSトランジスタQin2のドレイン電極とを接続する出力ノードは、第1のnMOSトランジスタQin1のゲート電極に入力する信号を、時刻が(1/2)τclockを過ぎると、次段のビットレベル・セルMi2に更に送ることができない。第2遅延素子Di22から決まる遅延時間td2=(1/2)τclockだけ遅れ、次段の第1のnMOSトランジスタQi21のゲート電極に信号が転送されることが阻止されるためである。
図25(a)に示すように、逆方向マーチング主記憶装置では、i行で右から2番目に位置する、i行・(n−1)列のビットレベル・セルMi(n-1)は、第1遅延素子Di(n-1)1を介してクロック信号供給線に接続したドレイン電極、第2遅延素子Di(n-1)2を介してビットレベル・セルMinの出力端子に接続したゲート電極を有する第1のnMOSトランジスタQi(n-1)1と、第1のnMOSトランジスタQi(n-1)1のソース電極に接続したドレイン電極、クロック信号供給線に接続したゲート電極、接地電位に接続するソース電極を有する第2のnMOSトランジスタQi(n-1)2と、第2のnMOSトランジスタQi(n-1)2に並列接続され、ビットレベル・セルMi(n-1)の情報を格納するコンデンサCi(n-1)とを含んでいる。クロック信号が“1”の論理レベルになると、第2のnMOSトランジスタQi(n-1)2は、所定のクロックサイクルでコンデンサCi(n-1)に既に格納されていた信号電荷の放電を開始する。そして、図25(b)に示すように、“1”の論理レベルがコンデンサCi(n-1)に時刻“t”から“t+1”にかけて維持される。“1”の論理レベルのクロック信号が印加され、コンデンサCi(n-1)に格納されていた信号電荷が完全に放電して“0”の論理レベルになると、第1のnMOSトランジスタQi(n-1)1は、第1遅延素子Di(n-1)1から決まる遅延時間td1だけ遅れて、転送トランジスタとして作動する。その後、信号がビットレベル・セルMinの出力端子から第1のnMOSトランジスタQi(n-1)1のゲート電極に送られると、第1のnMOSトランジスタQi(n-1)1は、前段のビットレベル・セルMinに格納されていた信号をコンデンサCi(n-1)に、第2遅延素子Di(n-1)2から決まる遅延時間td2だけ更に遅れて転送する。クロック信号は時刻が(1/2)τclockを過ぎて“0”の論理レベルになると、第1のnMOSトランジスタQi(n-1)1のソース電極と第2のnMOSトランジスタQi(n-1)2のドレイン電極とを接続する出力ノードは、第1のnMOSトランジスタQi(n-1)1のゲート電極に入力する信号を次段のビットレベル・セルMi(n-2)に、時刻が(1/2)τclockを過ぎると更に送ることができない。第2遅延素子Di(n-2)2(図示を省略)から決まる遅延時間td2=(1/2)τclockだけ遅れると次段の第1のnMOSトランジスタQi(n-2)1(図示を省略)のゲート電極への信号の転送が阻止されるからである。
同様に、逆方向マーチング主記憶装置のi行の左から3番目のセルMi3は、第1遅延素子Di31を介してクロック信号供給線に接続するドレイン電極、第2遅延素子Di32を介してビットレベル・セルMi4(図示を省略)の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQi31と、第1のnMOSトランジスタQi31のソース電極に接続するドレイン電極、クロック信号供給線に接続するゲート電極、接地電位に接続するソース電極を有する第2のnMOSトランジスタQi32と、第2のnMOSトランジスタQi32に並列接続され、ビットレベル・セルMi3の情報を格納するコンデンサCi3と、を含んでいる。クロック信号が“1”の論理レベルになると、第2のnMOSトランジスタQi32は、前段のクロックサイクルでコンデンサCi3に既に格納されていた信号電荷の放電を開始する。“1”の論理レベルのクロック信号が印加され、コンデンサCi3に格納されていた信号電荷が完全に放電して“0”の論理レベルになると、第1のnMOSトランジスタQi31は、第1遅延素子Di31から決まる遅延時間td1だけ遅れて、転送トランジスタとして作動する。その後、信号がビットレベル・セルMi4の出力端子から第1のnMOSトランジスタQi31のゲート電極に送られると、第1のnMOSトランジスタQi31は、前段のビットレベル・セルMi4に格納されていた信号をコンデンサCi3に、第2遅延素子Di32から決まる遅延時間td2だけ更に遅れて転送する。クロック信号が、時刻が(1/2)τclockが過ぎて“0”の論理レベルになると、第1のnMOSトランジスタQi31のソース電極と第2のnMOSトランジスタQi32のドレイン電極とを接続する出力ノードは、第1のnMOSトランジスタQi31のゲート電極に入力する信号を、更に次段のビットレベル・セルMi2に、時刻が(1/2)τclockが過ぎると送ることができない。第2遅延素子Di22から決まる遅延時間td2=(1/2)τclockだけ遅れると次段の第1のnMOSトランジスタQi21のゲート電極への信号の転送が阻止されるからである。
そして、図25(a)に示すように、逆方向マーチング主記憶装置において、i行で左から2番目のビットレベル・セルMi2は、第1遅延素子Di21を介してクロック信号供給線に接続するドレイン電極、第2遅延素子Di22を介してビットレベル・セルMi3の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQi21と、第1のnMOSトランジスタQi21のソース電極に接続するドレイン電極、クロック信号供給線に接続するゲート電極、接地電位に接続するソース電極を有する第2のnMOSトランジスタQi22と、第2のnMOSトランジスタQi22に並列接続され、ビットレベル・セルMi2の情報を格納するコンデンサCi2と。を含んでいる。クロック信号が“1”の論理レベルになると、第2のnMOSトランジスタQi22は、前段のクロックサイクルでコンデンサCi2に既に格納されていた信号電荷の放電を開始する。“1”の論理レベルのクロック信号が印加され、コンデンサCi2に格納されていた信号電荷が完全に放電して“0”の論理レベルになると、第1のnMOSトランジスタQi21は、第1遅延素子Di21から決まる遅延時間td1だけ遅れて、転送トランジスタとして作動する。その後、信号がビットレベル・セルMi3の出力端子から第1のnMOSトランジスタQi21のゲート電極に送られると、第1のnMOSトランジスタQi21は、前段のビットレベル・セルMi3に格納されていた信号をコンデンサCi2に、第2遅延素子Di22から決まる遅延時間td2だけ更に遅れて転送する。クロック信号が、時刻が(1/2)τclockが過ぎて“0”の論理レベルになると、第1のnMOSトランジスタQi21のソース電極と第2のnMOSトランジスタQi22のドレイン電極とを接続する出力ノードは、第1のnMOSトランジスタQi21のゲート電極に入力する信号を、時刻が(1/2)τclockを過ぎると更に次段のビットレベル・セルMi1に送ることができない。第2遅延素子Di12から決まる遅延時間td2=(1/2)τclockだけ遅れると次段の第1のnMOSトランジスタQi11のゲート電極への信号の転送が阻止されるからである。
図25(a)に示すように、逆方向マーチング主記憶装置において、i行の最左端に配置され且つ出力端子OUTに接続する、i行・1列のビットレベル・セルMi1は、第1遅延素子Di11を介してクロック信号供給線に接続するドレイン電極、第2遅延素子Di12を介してビットレベル・セルMi2の出力端子に接続するゲート電極を有する第1のnMOSトランジスタQi11と、第1のnMOSトランジスタQi11のソース電極に接続するドレイン電極、クロック信号供給線に接続するゲート電極、接地電位に接続するソース電極を有する第2のnMOSトランジスタQi12と、第2のnMOSトランジスタQi12に並列接続され、ビットレベル・セルMi1の情報を格納するコンデンサCi1とを含んでいる。クロック信号が“1”の論理レベルになると、第2のnMOSトランジスタQi12は、前段のクロックサイクルでコンデンサCi1に既に格納されていた信号電荷の放電を開始する。“1”の論理レベルのクロック信号が印加され、コンデンサCi1に格納されていた信号電荷が完全に放電して“0”の論理レベルになると、第1のnMOSトランジスタQi11は、第1遅延素子Di11から決まる遅延時間td1だけ遅れて、転送トランジスタとして作動する。その後、信号がビットレベル・セルMi2の出力端子から第1のnMOSトランジスタQi11のゲート電極に送られると、第1のnMOSトランジスタQi11は、前段のビットレベル・セルMi2に格納されていた信号をコンデンサCi1に、第2遅延素子Di12から決まる遅延時間td2だけ更に遅れて転送する。第1のnMOSトランジスタQi11のソース電極と第2のnMOSトランジスタQi12のドレイン電極とを接続する出力ノードは、コンデンサCi1に格納されていた信号を出力端子OUTに送る。
図24、図25(a)及び図25(b)に示す第1の実施形態に係る逆方向1次元のマーチング主記憶装置31によれば、メモリユニットU1、U2、U3、-----、Un-1、Unのそれぞれに対するアドレス指定は消滅し、必要な情報は、メモリのエッジに接続するその宛先のヘッディングになる。第1の実施形態に係る逆方向1次元のマーチング主記憶装置31にアクセスする機構は、まさしく、情報を読み取り/書き込むアドレス指定モードを基礎とする従来のメモリ・スキームの真の代替え的スキームとなるものである。したがって、第1の実施形態に係る逆方向1次元のマーチング主記憶装置31が提供するアドレス指定モードのないメモリ・アクセスは、従来のメモリ・スキームより非常に単純になる。
前述のように、ビットレベル・セルMijは、「マーチングANDゲート」の動作を実現できる。したがって、図26に示すように、図25(a)に示す逆方向マーチング主記憶装置31に対応するセル・アレイのゲートレベル表現において、i行の最右端に配置され入力端子INに接続する、n番目のビットレベル・セルMi,nは、情報を格納するコンデンサCinと、コンデンサCinに接続した一方の入力端子、クロック信号が供給される他方の入力端子、及びi行において(n−1)番目の隣接するビットレベル・セルMi,n-1に位置するマーチングANDゲートGi,(n-1)の一方の入力端子に接続する出力端子を有するマーチングANDゲートGinと、を含んでいる。“1”の論理レベルがマーチングANDゲートGinの他方の入力端子に送られると、コンデンサCinに格納されていた情報が、i行において(n−1)番目の隣接するビットレベル・セルMi,n-1に位置するコンデンサCi,n-1に転送され、コンデンサCi,n-1は情報を格納する。即ち、逆方向マーチング主記憶装置のi行の(n−1)番目のビットレベル・セルMi,n-1は、コンデンサCi,n-1と、コンデンサCi,n-1に接続した一方の入力端子、クロック信号が供給される他方の入力端子、及びi行において右から3番目の位置に配置されて隣接するビットレベル・セルMi,n-2(図示を省略)のマーチングANDゲートGi,n-2の一方の入力端子に接続した出力端子を有するマーチングANDゲートGi,n-1とを含んでいる。
同様に、逆方向マーチング主記憶装置のi行において左から3番目のビットレベル・セルMi3は、情報を格納するコンデンサCi3と、コンデンサCi3に接続した一方の入力端子、クロック信号が供給される他方の入力端子、i行の左から2番目の位置に配置されて隣接するビットレベル・セルMi2に設けられたマーチングANDゲートGi2の一方の入力端子に接続する出力端子を有するマーチングANDゲートGi3とを含んでいる。したがって、“1”の論理レベルがマーチングANDゲートGi3の他方の入力端子に送られると、コンデンサCi3に格納されていた情報が、左から2番目の位置に配置されて隣接するビットレベル・セルMi2に位置するコンデンサCi2に転送され、コンデンサCi2は情報を格納する。
更に、逆方向マーチング主記憶装置のi行の左から2番目の位置に配置されたビットレベル・セルMi2は、情報を格納するコンデンサCi2と、コンデンサCi2に接続した一方の入力端子、クロック信号が供給される他方の入力端子、及びi行の最左端の位置に配置され出力端子OUTに接続している、i行の左から1番目のビットレベル・セルMi1に設けられたマーチングANDゲートGi1の一方の入力端子に接続する出力端子を有するマーチングANDゲートGi2とを含んでいる。
第1の実施形態に係る計算機システムに用いるマーチング主記憶装置31の概念図が、図27に示されている。マーチング主記憶装置31は、マーチング主記憶装置31を構成するメモリユニットU1、U2、U3、……、Un-1、Unに情報/データを格納し、メモリユニットU1、U2、U3、……、Un-1、Unに格納された情報/データのすべてが隊列を整えて行進し、すべての情報/データがメモリユニットU1、U2、U3、……、Un-1、Unを介して転送されるように設計されているので、従来の計算機用記憶装置とは異なる。マーチング記憶装置は、プロセッサ(CPU)11に、プロセッサ11の処理速度と同じ速度で情報/データを供給する。図27の時間領域での関係に示すように、マーチング主記憶装置31を構成するメモリユニットU1、U2、U3、……、Un-1、Unのうちの一つメモリユニットについての、情報/データの転送に必要なメモリユニット・ストリーミング時間Tmusは、プロセッサ11のクロックサイクルTccと等しい。マーチング主記憶装置31は、情報/データをメモリユニットU1、U2、U3、……、Un-1、Unのそれぞれに格納し、クロック信号と同期して、ステップごとに、出力端子の方向に格納された情報/データを転送し、情報/データをプロセッサ11に出力するので、演算論理装置112は、メモリユニットU1、U2、U3、……、Un-1、Unのそれぞれに格納された情報/データにより演算論理動作を実行する。
したがって、図28に示すように、マーチング記憶装置構造3は、第1の実施形態に係るマーチング主記憶装置31を含む。ここで、「マーチング記憶装置構造3」という用語は、第1の実施形態に係る計算機システムに用いるマーチング主記憶装置31に加え、次の第2の実施形態で更に説明するALU112に接続したマーチング命令レジスタ・ファイル(RF)22a及びマーチング−データレジスタ・ファイル(RF)22bや、後述する第3の実施形態で更に説明するマーチング命令キャッシュメモリ21a及びマーチング・データキャッシュメモリ21bをも含む、メモリ構造の総称的な上位概念を意味する語である。
図29(a)は、マーチング記憶装置構造3からプロセッサ11に流れる前方進行データ流Sfと、プロセッサ11からマーチング記憶装置構造3に流れる後方進行データ流(逆方向データ流)Sbを示し、図29(b)は、マーチング記憶装置構造3のメモリユニット・ストリーミング時間Tmusがプロセッサ11のクロックサイクルTccと等しいと想定した場合に、マーチング記憶装置構造3とプロセッサ11の間に作られる帯域幅を示す。
マーチング主記憶装置31のスキームは、図30(a)に示す磁気テープと似ていると考えることができる。これは、磁気テープ503と、磁気テープ503を巻き取る巻き取りリール502と、磁気テープ503の再巻き取りとリリースをする供給リール501と、磁気テープ503からの情報/データの読み取り、又は磁気テープ503に情報/データを書き込む読取/書込ヘッダ504と、読取/書込ヘッダ504に接続したプロセッサ11とを含んでいる。巻き取りリール502が供給リール501からリリースされた磁気テープ503を巻き取ると、磁気テープ503は、巻き取りリール502に向けて供給リール501から高速で移動する。磁気テープ503に格納されていた情報/データは、高速で磁気テープ503の動きに伴って転送され、読取/書込ヘッダ504によって読み取られる。そして、読取/書込ヘッダ504に接続したプロセッサ11は、磁気テープ503から読み取った情報/データにより演算論理動作を実行できる。或いは、プロセッサ11の処理の結果は、読取/書込ヘッダ504を介して磁気テープ503に送られる。
図30(a)に示す磁気テープ・システムの構成を半導体技術によって製造すると仮定する。即ち、図30(b)に示すように、超高速磁気テープ・システムが半導体シリコン・チップ上に仮想的に構築されるとすると、図30(a)に示す超高速磁気テープ・システムは、第1の実施形態に係るマーチング主記憶装置31を含めた正味のマーチング記憶装置構造3に対応することになる。図30(b)に示す正味のマーチング記憶装置構造3は、情報/データをシリコン・チップ上の複数のメモリユニットのそれぞれに格納し、クロック信号に同期して、ステップごとに、巻き取りリール502に向けて複数のメモリユニットのそれぞれに格納された情報/データを転送するので、複数のメモリユニットのそれぞれに格納された情報/データが、プロセッサ11に能動的に逐次出力され、プロセッサ11は複数のメモリユニットのそれぞれに格納された情報/データにより演算論理動作を実行できて、プロセッサ11の処理の結果は正味のマーチング記憶装置構造3に送られる。
(双方向マーチング主記憶装置)
図31(a)〜(c)に示すように、第1の実施形態に係るマーチング主記憶装置31は、情報/データの双方向の転送を達成できる。即ち、図31(a)は、情報/データが前方に隊列進行する状況を示し、情報/データが1次元のマーチング主記憶装置31において右方向(前方)に隊列進行(移動)する。図31(b)は、1次元のマーチング主記憶装置31の漂遊状態を示す。図31(c)は、情報/データが逆方向に隊列進行する状況(後方に隊列進行する状況)を示し、情報/データが1次元のマーチング主記憶装置31の左方向(逆方向)に隊列進行(移動)している。
図32及び図33は、図31(a)〜(c)に示す双方向の状況を達成できる、それぞれ、双方向マーチング主記憶装置31のセル・アレイのトランジスタ・レベル表現におけるm×nマトリクス(ここで、”m”はワード・サイズで決まる整数)のi行の代表的なアレイの2つの例を示す。双方向マーチング主記憶装置31は、ビットレベルの情報/データを、セルMi1、Mi2、Mi3、-----、Mi,n-1、Mi,nのそれぞれに格納し、第1のI/Oセレクタ512と第2のI/Oセレクタ513との間で、前方向及び/又は反対方向(後方向)に、ステップごとに、クロック信号に同期して情報/データを双方向に転送する。
図32及び図33において、セルMi1、Mi2、Mi3、-----、Mi,n-1、Mi,nのそれぞれは、メモリユニットU1、U2、U3、-----、Un-1、Unに、それぞれ割り当てられている。即ち、セルMi1は第1のメモリユニットU1において第1のビットレベル・セルとして割り当てられ、第1のメモリユニットU1は、第1のメモリユニットU1に配列されたビットレベル・セルの1次元配列にそれぞれバイト・サイズ又はワード・サイズの情報を格納する。同様に、セルMi2は、第2のメモリユニットU2において第2のビットレベル・セルとして割り当てられる。セルMi3は、第3のメモリユニットU2において第3のビットレベル・セルとして割り当てられ、-----、セルMi,n-1は、(n−1)番目のメモリユニットUn-1において(n−1)番目のビットレベル・セルとして割り当てられる。セルMi,nは、n番目のメモリユニットUnにおいてn番目のビットレベル・セルとして割り当てられる。そして、メモリユニットU2、U3、-----、Un-1、Unは、それぞれ、メモリユニットU2、U3、-----、Un-1、Unに配列されたビットレベル・セルの1次元配列にそれぞれバイト・サイズ又はワード・サイズの情報を格納する。したがって、双方向マーチング主記憶装置31では、バイト・サイズ又はワード・サイズの情報/データがセルU1、U2、U3、-----、Un-1、Unのそれぞれに格納され、バイト・サイズ又はワード・サイズの情報/データがそれぞれ互いに歩調を合わせて、前方向及び/又は反対方向(後方向)に、第1のI/Oセレクタ512と第2のI/Oセレクタ513の間で双方向にクロック信号に同期して揃って転送される。
クロック・セレクタ511は、第1のクロック信号供給線CL1と第2のクロック信号供給線CL2とを選択する。第1のクロック信号供給線CL1は前方データ流を駆動し、第2のクロック信号供給線CL2は後方データ流を駆動する。第1のクロック信号供給線CL1と第2のクロック信号供給線CL2のそれぞれは、“1”と“0”の論理値を出力する。
図32に示すマーチング主記憶装置31を形成するセル・アレイのトランジスタ・レベル表現において、第1のI/Oセレクタ512に接続し、i行の最左端に配置された第1のビットレベル・セルMi1は、第1の前方転送遅延素子Di11fを介して第1のクロック信号供給線CL1に接続するドレイン電極、第2の前方転送遅延素子Di12fを介して第1のI/Oセレクタ512に接続するゲート電極を有する第1の前方転送nMOSトランジスタQi11fと、第1の前方転送nMOSトランジスタQi11fのソース電極に接続するドレイン電極、第1のクロック信号供給線に接続するゲート電極、接地電位に接続するソース電極を有する第2の前方転送nMOSトランジスタQi12fと、第2の前方転送nMOSトランジスタQi12fに並列接続し、セルMi1の前方伝搬情報/データを格納する前方転送コンデンサCi1fと、を備える。そして、第1の前方転送nMOSトランジスタQi11fのソース電極と第2の前方転送nMOSトランジスタQi12fのドレイン電極とを接続する出力ノードは、次段のビットレベル・セルMi2に前方転送コンデンサCi1fに格納されていた信号を転送するようにセルMi1の前方転送出力端子として機能している。第1のビットレベル・セルMi1は、第1の後方遅延素子Di11bを介して第2のクロック信号供給線に接続するドレイン電極、第2の後方遅延素子Di12bを介してビットレベル・セルMi2の後方転送出力端子に接続するゲート電極を有する第1の後方転送nMOSトランジスタQi11bと、第1の後方転送nMOSトランジスタQi11bのソース電極に接続するドレイン電極、第2のクロック信号供給線に接続するゲート電極、接地電位に接続するソース電極を有する第2の後方転送nMOSトランジスタQi12bと、第2の後方転送nMOSトランジスタQi12bに並列接続し、セルMi1の後方伝搬情報/データを格納する後方転送コンデンサCi1bと、を更に備える。そして、第1の後方転送nMOSトランジスタQi11bのソース電極と第2の後方転送nMOSトランジスタQi12bのドレイン電極とを接続する出力ノードは、後方転送コンデンサCi1bに格納されていた信号を第1のI/Oセレクタ512方向に転送するようにセルMi1の後方転送出力端子として機能する。
ビットレベル・セルMi1に接続し且つi行の左から2番目に位置する第2のビットレベル・セルMi2は、第1の前方転送遅延素子Di21fを介して第1のクロック信号供給線CL1に接続するドレイン電極、第2の前方転送遅延素子Di22fを介してビットレベル・セルMi1の前方転送出力端子に接続するゲート電極を有する第1の前方転送nMOSトランジスタQi21fと、第1の前方転送nMOSトランジスタQi21fのソース電極に接続するドレイン電極、第1のクロック信号供給線CL1に接続するゲート電極、接地電位に接続するソース電極を有する第2の前方転送nMOSトランジスタQi22fと、第2の前方転送nMOSトランジスタQi22fに並列接続され、セルMi2の前方伝搬情報/データを格納する前方転送コンデンサCi2fと、を備える。そして、第1の前方転送nMOSトランジスタQi21fのソース電極と第2の前方転送nMOSトランジスタQi22fのドレイン電極とを接続する出力ノードは、次段のビットレベル・セルMi3に前方転送コンデンサCi2fに格納されていた信号を転送するようにセルMi2の前方転送出力端子として機能している。第2のビットレベル・セルMi2は、第1の後方遅延素子Di21bを介して第2のクロック信号供給線CL2に接続するドレイン電極、第2の後方遅延素子Di22gを介してビットレベル・セルMi3の後方転送出力端子に接続するゲート電極を有する第1の後方転送nMOSトランジスタQi21bと、第1の後方転送nMOSトランジスタQi21bのソース電極に接続するドレイン電極、第2のクロック信号供給線CL2に接続するゲート電極、接地電位に接続するソース電極を有する第2の後方転送nMOSトランジスタQi22gと、第2の後方転送nMOSトランジスタQi22gに並列接続され、セルMi2の後方伝搬情報/データを格納する後方転送コンデンサCi2gと、を更に備える。そして、第1の後方転送nMOSトランジスタQi21bのソース電極と第2の後方転送nMOSトランジスタQi22gのドレイン電極とを接続する出力ノードは、後方転送コンデンサCi2gに格納されていた信号を次段のビットレベル・セルMi1に転送するようにセルMi2の後方転送出力端子として機能する。
ビットレベル・セルMi2に接続し且つi行の左から3番目に位置する第3のビットレベル・セルMi3は、第1の前方転送遅延素子Di31fを介して第1のクロック信号供給線CL1に接続するドレイン電極、第2の前方転送遅延素子Di32fを介してビットレベル・セルMi2の前方転送出力端子に接続するゲート電極を有する第1の前方転送nMOSトランジスタQi31fと、第1の前方転送nMOSトランジスタQi31fのソース電極に接続するドレイン電極、第1のクロック信号供給線CL1に接続するゲート電極、接地電位に接続するソース電極を有する第2の前方転送nMOSトランジスタQi32fと、第2の前方転送nMOSトランジスタQi32fに並列接続され、セルMi3の前方伝搬情報/データを格納する前方転送コンデンサCi3fと、を備える。そして、第1の前方転送nMOSトランジスタQi31fのソース電極と第2の前方転送nMOSトランジスタQi32fのドレイン電極とを接続する出力ノードは、次段のビットレベル・セルMi4(図示を省略)に前方転送コンデンサCi3fに格納されていた信号を転送するようにセルMi3の前方転送出力端子として機能している。第3のビットレベル・セルMi3は、第1の後方遅延素子Di31gを介して第2のクロック信号供給線CL2に接続するドレイン電極、第2の後方遅延素子Di32gを介してビットレベル・セルMi4の後方転送出力端子に接続するゲート電極を有する第1の後方転送nMOSトランジスタQi31gと、第1の後方転送nMOSトランジスタQi31gのソース電極に接続するドレイン電極、第2のクロック信号供給線CL2に接続するゲート電極、接地電位に接続するソース電極を有する第2の後方転送nMOSトランジスタQi32gと、第2の後方転送nMOSトランジスタQi32gに並列接続され、セルMi3の後方伝搬情報/データを格納する後方転送コンデンサCi3gと、を更に備える。そして、第1の後方転送nMOSトランジスタQi31gのソース電極と第2の後方転送nMOSトランジスタQi32gのドレイン電極とを接続する出力ノードは、後方転送コンデンサCi3gに格納されていた信号を次段のビットレベル・セルMi2に転送するようにセルMi3の後方転送出力端子として機能する。
i行の右から2番目に位置する(n−1)番目のビットレベル・セルMi(n-1)は、第1の前方転送遅延素子Di(n-1)1fを介して第1のクロック信号供給線CL1に接続するドレイン電極、第2の前方転送遅延素子Di(n-1)2fを介してビットレベル・セルMi(n-2)(図示を省略)の前方転送出力端子に接続するゲート電極を有する第1の前方転送nMOSトランジスタQi(n-1)1fと、第1の前方転送nMOSトランジスタQi(n-1)1fのソース電極に接続するドレイン電極、第1のクロック信号供給線CL1に接続するゲート電極、接地電位に接続するソース電極を有する第2の前方転送nMOSトランジスタQi(n-1)2fと、第2の前方転送nMOSトランジスタQi(n-1)2fに並列接続され、セルMi(n-1)の前方伝搬情報/データを格納する前方転送コンデンサCi(n-1)fと、を備える。そして、第1の前方転送nMOSトランジスタQi(n-1)1fのソース電極と第2の前方転送nMOSトランジスタQi(n-1)2fのドレイン電極とを接続する出力ノードは、次段のビットレベル・セルMinに前方転送コンデンサCi(n-1)fに格納されていた信号を転送するようにセルMi(n-1)の前方転送出力端子として機能している。(n−1)番目のビットレベル・セルMi(n-1)は、第1の後方遅延素子Di(n-1)1bを介して第2のクロック信号供給線CL2に接続するドレイン電極、第2の後方遅延素子Di(n-1)2bを介して次段のビットレベル・セルMinの後方転送出力端子に接続するゲート電極を有する第1の後方転送nMOSトランジスタQi(n-1)1bと、第1の後方転送nMOSトランジスタQi(n-1)1bのソース電極に接続するドレイン電極、第2のクロック信号供給線CL2に接続するゲート電極、接地電位に接続するソース電極を有する第2の後方転送nMOSトランジスタQi(n-1)2bと、第2の後方転送nMOSトランジスタQi(n-1)2bに並列接続され、セルMi(n-1)の後方伝搬情報/データを格納する後方転送コンデンサCi(n-1)bと、を更に備える。そして、第1の後方転送nMOSトランジスタQi(n-1)1bのソース電極と第2の後方転送nMOSトランジスタQi(n-1)2bのドレイン電極とを接続する出力ノードは、後方転送コンデンサCi(n-1)bに格納されていた信号を次段のビットレベル・セルMi(n-2)(図示を省略)に転送するようにセルMi(n-1)の後方転送出力端子として機能する。
i行の最右端に位置するn番目のビットレベル・セルMinは、第1の前方転送遅延素子Din1fを介して第1のクロック信号供給線CL1に接続するドレイン電極、第2の前方転送遅延素子Din2fを介してビットレベル・セルMi(n-1)の前方転送出力端子に接続するゲート電極を有する第1の前方転送nMOSトランジスタQin1fと、第1の前方転送nMOSトランジスタQin1fのソース電極に接続するドレイン電極、第1のクロック信号供給線CL1に接続するゲート電極、接地電位に接続するソース電極を有する第2の前方転送nMOSトランジスタQin2fと、第2の前方転送nMOSトランジスタQin2fに並列接続され、セルMinの前方伝搬情報/データを格納する前方転送コンデンサCinfと、を備える。そして、第1の前方転送nMOSトランジスタQin1fのソース電極と第2の前方転送nMOSトランジスタQin2fのドレイン電極とを接続する出力ノードは、第2のI/Oセレクタ513に前方転送コンデンサCinfに格納されていた信号を転送するようにセルMinの前方転送出力端子として機能している。n番目のビットレベル・セルMinは、第1の後方遅延素子Din1bを介して第2のクロック信号供給線CL2に接続するドレイン電極、第2の後方遅延素子Din2bを介して第2のI/Oセレクタ513に接続するゲート電極を有する第1の後方転送nMOSトランジスタQin1bと、第1の後方転送nMOSトランジスタQin1bのソース電極に接続するドレイン電極、第2のクロック信号供給線CL2に接続するゲート電極、接地電位に接続するソース電極を有する第2の後方転送nMOSトランジスタQin2bと、第2の後方転送nMOSトランジスタQin2bに並列接続され、セルMinの後方伝搬情報/データを格納する後方転送コンデンサCinbと、を更に備える。そして、第1の後方転送nMOSトランジスタQin1bのソース電極と第2の後方転送nMOSトランジスタQin2bのドレイン電極とを接続する出力ノードは、後方転送コンデンサCinbに格納されていた信号を次段のビットレベル・セルMi(n-1)に転送するようにセルMinの後方転送出力端子として機能する。
第1のクロック信号供給線CL1から供給されたクロック信号が“1”の論理レベルになると、第1のメモリユニットU1に割り当てられた第2の前方転送nMOSトランジスタQi12fは、前段のクロックサイクルで第1のメモリユニットU1の前方転送コンデンサCi1fに既に格納されていた信号電荷の放電を開始する。そして、第1のクロック信号供給線CL1から供給された“1”の論理レベルのクロック信号が第2の前方転送nMOSトランジスタQi12fに供給され、前方転送コンデンサCi1fに格納されていた信号電荷が“0”の論理レベルになった後に、第1の前方転送nMOSトランジスタQi11fは、第1の前方転送遅延素子Di11fから決まる遅延時間td1だけ遅れて、転送トランジスタとして作動する。その後、ビットレベルの情報/データが第1のI/Oセレクタ512から第1の前方転送nMOSトランジスタQi11fのゲート電極に入力すると、第1の前方転送nMOSトランジスタQi11fは、情報/データを前方転送コンデンサCi1fに、第2の前方転送遅延素子Di12fから決まる遅延時間td2だけ遅れて出力する。第1のクロック信号供給線CL1から供給されたクロック信号は、時刻が(1/2)τclockを過ぎたときに“0”の論理レベルになると、第1の前方転送nMOSトランジスタQi11fのソース電極と第2の前方転送nMOSトランジスタQi12fのドレイン電極とを接続する出力ノードは、第1のI/Oセレクタ512から第1の前方転送nMOSトランジスタQi11fに入力する情報/データを、(1/2)τclockが過ぎたタイミングでは次段のビットレベル・セルMi2に更に送ることができない。情報/データが、第2の前方転送遅延素子Di22fから決まる遅延時間td2=(1/2)τclockだけ遅れて、次段の第1の前方転送nMOSトランジスタQi21fのゲート電極へ転送されることが阻止されるからである。
第2のクロック信号供給線CL2から供給されたクロック信号が“1”の論理レベルになると、第2の後方転送nMOSトランジスタQi12bは、前段のクロックサイクルで後方転送コンデンサCi1bに既に格納されていた信号電荷の放電を開始する。第2のクロック信号供給線CL2から供給された“1”の論理レベルのクロック信号が供給され、後方転送コンデンサCi1bに格納されていた信号電荷が完全に放電して“0”の論理レベルになった後、第1の後方転送nMOSトランジスタQi11bは、第1の後方遅延素子Di11bから決まる遅延時間td1だけ遅れて、転送トランジスタとして作動する。その後、情報/データがビットレベル・セルMi2の後方転送出力端子から第1の後方転送nMOSトランジスタQi11bのゲート電極に送られたとする。情報/データがゲート電極に送られると、第1の後方転送nMOSトランジスタQi11bは、前段となるビットレベル・セルMi2に格納されていた情報/データを後方転送コンデンサCi1bに、第2の後方遅延素子Di12bから決まる遅延時間td2だけ更に遅れて送る。第1の後方転送nMOSトランジスタQi11bのソース電極と第2の後方転送nMOSトランジスタQi12bのドレイン電極とを接続する出力ノードは、後方転送コンデンサCi1bに格納されていた情報/データを第1のI/Oセレクタ512に送る。
そして、第1のクロック信号供給線CL1から供給されたクロック信号が“1”の論理レベルになると、第2のメモリユニットU2に割り当てられた第2の前方転送nMOSトランジスタQi22fは、前段のクロックサイクルで第2のメモリユニットU2の前方転送コンデンサCi2fに既に格納されていた信号電荷の放電を開始する。そして、第1のクロック信号供給線CL1から供給された“1”の論理レベルのクロック信号が第2の前方転送nMOSトランジスタQi22fに供給され、前方転送コンデンサCi2fに格納されていた信号電荷が完全に放電して“0”の論理レベルになった後に、第1の前方転送nMOSトランジスタQi21fは、第1の前方転送遅延素子Di21fから決まる遅延時間td1だけ遅れて、転送トランジスタとして作動する。その後、前段の前方転送コンデンサCi1fに格納されていたビットレベルの情報/データが第1の前方転送nMOSトランジスタQi21fのゲート電極に送られたとする。ビットレベルの情報/データがゲート電極に送られると、第1の前方転送nMOSトランジスタQi21fは、情報/データを前方転送コンデンサCi2fに、第2の前方転送遅延素子Di22fから決まる遅延時間td2だけ遅れて出力する。第1のクロック信号供給線CL1から供給されたクロック信号が時刻が(1/2)τclockが過ぎたときに“0”の論理レベルになると、第1の前方転送nMOSトランジスタQi21fのソース電極と第2の前方転送nMOSトランジスタQi22fのドレイン電極とを接続する出力ノードは、第1の前方転送nMOSトランジスタQi21fに入力する情報/データを時刻が(1/2)τclockが過ぎたタイミングで次段のビットレベル・セルMi3に更に送ることができない。情報/データが、第2の前方転送遅延素子Di32fから決まる遅延時間td2=(1/2)τclockだけ遅れて、次段の第1の前方転送nMOSトランジスタQi31fのゲート電極へ転送されることが阻止されるからである。
第2のクロック信号供給線CL2から供給されたクロック信号が“1”の論理レベルになると、第2の後方転送nMOSトランジスタQi22bは、前段のクロックサイクルで後方転送コンデンサCi2bに既に格納されていた信号電荷の放電を開始する。“1”の論理レベルの第2のクロック信号供給線CL2から供給されたクロック信号が印加され、後方転送コンデンサCi2bに格納されていた信号電荷が完全に放電して“0”の論理レベルになった後、第1の後方転送nMOSトランジスタQi21bは、第1の後方遅延素子Di21bから決まる遅延時間td1だけ遅れて、転送トランジスタとして作動する。その後、情報/データがビットレベル・セルMi3の後方転送出力端子から第1の後方転送nMOSトランジスタQi21bのゲート電極に送られたとする。情報/データがゲート電極に送られると、第1の後方転送nMOSトランジスタQi21bは、前段となるビットレベル・セルMi3に格納されていた情報/データを後方転送コンデンサCi2bに、第2の後方遅延素子Di22bから決まる遅延時間td2だけ更に遅れて送る。第2のクロック信号供給線CL2から供給したクロック信号が(1/2)τclockが過ぎるときに“0”の論理レベルになると、第1の後方転送nMOSトランジスタQi21bのソース電極と第2の後方転送nMOSトランジスタQi22bのドレイン電極とを接続する出力ノードは、第1の後方転送nMOSトランジスタQi21bのゲート電極に入力する情報/データを、(1/2)τclockが過ぎたタイミングで、次段のビットレベル・セルMi1に更に送ることができない。情報/データが、第2の後方遅延素子Di12bから決まる遅延時間td2=(1/2)τclockだけ遅れて、次段の後方転送nMOSトランジスタQi11bのゲート電極に転送されることが阻止されるからである。
そして、第1のクロック信号供給線CL1から供給された次のクロック信号が“1”の論理レベルになると、第3のメモリユニットU3に割り当てられた第3の前方転送nMOSトランジスタQi32fは、前段のクロックサイクルで第3のメモリユニットU3の前方転送コンデンサCi3fに既に格納されていた信号電荷の放電を開始する。そして、第1のクロック信号供給線CL1から供給された“1”の論理レベルのクロック信号が第2の前方転送nMOSトランジスタQi32fに供給され、前方転送コンデンサCi3fに格納されていた信号電荷が完全に放電して“0”の論理レベルになった後に、第1の前方転送nMOSトランジスタQi31fは、第1の前方転送遅延素子Di31fから決まる遅延時間td1だけ遅れて、転送トランジスタとして作動する。その後、前段の前方転送コンデンサCi2fに格納されていたビットレベルの情報/データが第1の前方転送nMOSトランジスタQi31fのゲート電極に送られたとする。ビットレベルの情報/データがゲート電極に送られると、第1の前方転送nMOSトランジスタQi31fは、情報/データを前方転送コンデンサCi3fに、第2の前方転送遅延素子Di32fから決まる遅延時間td2だけ遅れて出力する。第1のクロック信号供給線CL1から供給されたクロック信号が(1/2)τclockが過ぎたときに“0”の論理レベルになると、第1の前方転送nMOSトランジスタQi31fのソース電極と第2の前方転送nMOSトランジスタQi32fのドレイン電極とを接続する出力ノードは、第1の前方転送nMOSトランジスタQi31fのゲート電極に入力する情報/データを、時刻が(1/2)τclockが過ぎたタイミングでは次段のビットレベル・セルMi4(図示を省略)に更に送ることができない。情報/データが、第2の前方転送遅延素子Di42f(図示を省略)から決まる遅延時間td2=(1/2)τclockだけ遅れて、次段の第1の前方転送nMOSトランジスタQi41f(図示を省略)のゲート電極へ転送されることが阻止されるからである。
第2のクロック信号供給線CL2から供給されたクロック信号が“1”の論理レベルになると、第2の後方転送nMOSトランジスタQi32bは、前段のクロックサイクルで後方転送コンデンサC13bに既に格納されていた信号電荷の放電を開始する。“1”の論理レベルの第2のクロック信号供給線CL2から供給されたクロック信号が印加され、後方転送コンデンサCi32bに格納されていた信号電荷が完全に放電して“0”の論理レベルになった後、第1の後方転送nMOSトランジスタQi31bは、第1の後方遅延素子Di31bから決まる遅延時間td1だけ遅れて、転送トランジスタとして作動する。その後、情報/データがビットレベル・セルMi3の後方転送出力端子から第1の後方転送nMOSトランジスタQi31bのゲート電極に送られたとする。情報/データがゲート電極に送られると、第1の後方転送nMOSトランジスタQi31bは、前段のビットレベル・セルMi3に格納されていた情報/データを後方転送コンデンサC13bに、第2の後方遅延素子Di32bから決まる遅延時間td2だけ更に遅れて送る。第2のクロック信号供給線CL2から供給したクロック信号は、時刻が(1/2)τclockが過ぎるときに“0”の論理レベルになると、第1の後方転送nMOSトランジスタQi31bのソース電極と第2の後方転送nMOSトランジスタQi32bのドレイン電極とを接続する出力ノードは、第1の後方転送nMOSトランジスタQi31bのゲート電極に入力する情報/データを、時刻が(1/2)τclockが過ぎたタイミングで、次段のビットレベル・セルMi2に更に送ることができない。情報/データが、第2の後方遅延素子Di22bから決まる遅延時間td2=(1/2)τclockだけ遅れて、次段の後方転送nMOSトランジスタQi21bのゲート電極に転送されることが阻止されるからである。
そして、第1のクロック信号供給線CL1から供給された次のクロック信号が“1”の論理レベルになると、第3のメモリユニットU(n-1)に割り当てられた第2の前方転送nMOSトランジスタQi(n-1)2fは、前段のクロックサイクルで第3のメモリユニットU(n-1)の前方転送コンデンサCi(n-1)fに既に格納されていた信号電荷の放電を開始する。そして、第1のクロック信号供給線CL1から供給された“1”の論理レベルのクロック信号が第2の前方転送nMOSトランジスタQi(n-1)2fに供給され、前方転送コンデンサCi(n-1)fに格納されていた信号電荷が完全に放電して“0”の論理レベルになった後に、第1の前方転送nMOSトランジスタQi(n-1)1fは、第1の前方転送遅延素子Di(n-1)1fから決まる遅延時間td1だけ遅れて、転送トランジスタとして作動する。その後、前段の前方転送コンデンサに格納されていたビットレベルの情報/データが第1の前方転送nMOSトランジスタQi(n-1)1fのゲート電極に送られたとする。ビットレベルの情報/データがゲート電極に送られると、第1の前方転送nMOSトランジスタQi(n-1)1fは、情報/データを前方転送コンデンサCi(n-1)fに第2の前方転送遅延素子Di(n-1)2fから決まる遅延時間td2だけ遅れて出力する。第1のクロック信号供給線CL1から供給されたクロック信号は時刻が(1/2)τclockを過ぎたときに“0”の論理レベルになると、第1の前方転送nMOSトランジスタQi(n-1)1fのソース電極と第2の前方転送nMOSトランジスタQi(n-1)2fのドレイン電極とを接続する出力ノードは、第1の前方転送nMOSトランジスタQi(n-1)1fのゲート電極に入力する情報/データを、時刻が(1/2)τclockを過ぎたタイミングでは次段のビットレベル・セルMinに更に送ることができない。情報/データを、第2の前方転送遅延素子Din2fから決まる遅延時間td2=(1/2)τclockだけ遅れて、次段の第1の前方転送nMOSトランジスタQin1fのゲート電極へ転送することが阻止されるからである。
第2のクロック信号供給線CL2から供給されたクロック信号が“1”の論理レベルになると、第2の後方転送nMOSトランジスタQi(n-1)2bは、前段のクロックサイクルで後方転送コンデンサCi(n-1)bに既に格納されていた信号電荷の放電を開始する。“1”の論理レベルの第2のクロック信号供給線CL2から供給されたクロック信号が印加され、後方転送コンデンサCi(n-1)2bに格納されていた信号電荷が完全に放電して“0”の論理レベルになった後、第1の後方転送nMOSトランジスタQi(n-1)1bは、第1の後方遅延素子Di(n-1)1bから決まる遅延時間td1だけ遅れて、転送トランジスタとして作動する。その後、情報/データがビットレベル・セルMi(n-1)の後方転送出力端子から第1の後方転送nMOSトランジスタQi(n-1)1bのゲート電極に送られたとする。情報/データがゲート電極に送られると、第1の後方転送nMOSトランジスタQi(n-1)1bは、前段のビットレベル・セルMi(n-1)に格納されていた情報/データを後方転送コンデンサCi(n-1)bに、第2の後方遅延素子Di(n-1)2bから決まる遅延時間td2だけ更に遅れて送る。第2のクロック信号供給線CL2から供給されたクロック信号は、時刻が(1/2)τclockを過ぎるときに“0”の論理レベルになると、第1の後方転送nMOSトランジスタQi(n-1)1bのソース電極と第2の後方転送nMOSトランジスタQi(n-1)2bのドレイン電極とを接続する出力ノードが、第1の後方転送nMOSトランジスタQi(n-1)1bのゲート電極に入力する情報/データを、時刻が(1/2)τclockを過ぎたタイミングで、次段のビットレベル・セルMi(n-2)(図示を省略)に更に送ることができないからである。情報/データが、第2の後方遅延素子Di(n-2)2b(図示を省略)から決まる遅延時間td2=(1/2)τclockだけ遅れて、次段の後方転送nMOSトランジスタQi(n-2)1b(図示を省略)のゲート電極に転送されることが阻止されるからである。
そして、第1のクロック信号供給線CL1から供給された次のクロック信号が“1”の論理レベルになると、第3のメモリユニットUnに割り当てられた第2の前方転送nMOSトランジスタQin2fは、前段のクロックサイクルで第3のメモリユニットUnの前方転送コンデンサCinfに既に格納されていた信号電荷の放電を開始する。そして、第1のクロック信号供給線CL1から供給された“1”の論理レベルのクロック信号が第2の前方転送nMOSトランジスタQin2fに印加され、前方転送コンデンサCinfに格納されていた信号電荷が完全に放電して“0”の論理レベルになった後に、第1の前方転送nMOSトランジスタQin1fは、第1の前方転送遅延素子Din1fから決まる遅延時間td1だけ遅れて、転送トランジスタとして作動する。その後、前段の前方転送コンデンサCi2fに格納されていたビットレベルの情報/データが第1の前方転送nMOSトランジスタQin1fのゲート電極に送られたとする。ビットレベルの情報/データがゲート電極に送られると、第1の前方転送nMOSトランジスタQin1fは、情報/データを前方転送コンデンサCinfに、第2の前方転送遅延素子Din2fから決まる遅延時間td2だけ遅れて出力する。第1の前方転送nMOSトランジスタQin1fのソース電極と第2の前方転送nMOSトランジスタQin2fのドレイン電極とを接続する出力ノードは、第1の前方転送nMOSトランジスタQin1fのゲート電極に入力する情報/データを、第2のI/Oセレクタ513に出力する。
第2のクロック信号供給線CL2から供給されたクロック信号が“1”の論理レベルになると、第2の後方転送nMOSトランジスタQin2bは、前段のクロックサイクルで後方転送コンデンサCinbに既に格納されていた信号電荷の放電を開始する。“1”の論理レベルの第2のクロック信号供給線CL2から供給されたクロック信号が印加され、後方転送コンデンサCinbに格納されていた信号電荷が完全に放電して“0”の論理レベルになった後、第1の後方転送nMOSトランジスタQin1bは、第1の後方遅延素子Din1bから決まる遅延時間td1だけ遅れて、転送トランジスタとして作動する。その後、情報/データが第2のI/Oセレクタ513から第1の後方転送nMOSトランジスタQin1bのゲート電極に送られたとする。情報/データがゲート電極に送られると、第1の後方転送nMOSトランジスタQin1bは、第2のI/Oセレクタ513から受信した情報/データを、後方転送コンデンサCinbに、第2の後方遅延素子Din2bから決まる遅延時間td2だけ更に遅れて送る。第2のクロック信号供給線CL2から供給されたクロック信号は時刻が(1/2)τclockを過ぎるときに“0”の論理レベルになると、第1の後方転送nMOSトランジスタQin1bのソース電極と第2の後方転送nMOSトランジスタQin2bのドレイン電極とを接続する出力ノードは、第1の後方転送nMOSトランジスタQin1bのゲート電極に入力する情報/データを、時刻が(1/2)τclockを過ぎたタイミングで、次段のビットレベル・セルMi(n-1)に更に送ることができない。情報/データが、第2の後方遅延素子Di(n-1)2bから決まる遅延時間td2=(1/2)τclockだけ遅れて、次段の後方転送nMOSトランジスタQi(n-1)1bのゲート電極に転送されることが阻止されるからである。
したがって、図32に示す双方向マーチング主記憶装置では、双方向マーチング主記憶装置のi行のセルMi1、Mi2、Mi3、-----、Mi,n-1、Mi,nのそれぞれが、情報/データを格納し、第1のI/Oセレクタ512と第2のI/Oセレクタ513の間で、ステップごとに、第1のクロック信号供給線CL1と第2のクロック信号供給線CL2から、それぞれ、供給されたクロック信号と同期して、情報/データを双方向に転送する。既に述べたように、セルMi1、Mi2、Mi3、-----、Mi,n-1、Mi,nのそれぞれが、メモリユニットU1、U2、U3、-----、Un-1、Unに、それぞれ割り当てられ、且つ、メモリユニットU2、U3、-----、Un-1、Unは、メモリユニットU2、U3、-----、Un-1、Unに、それぞれ割り当てられたビットレベル・セルの1次元配列にそれぞれバイト・サイズ又はワード・サイズの情報を格納するので、図32に示す双方向のマーチング主記憶装置31は、バイト・サイズ又はワード・サイズの情報/データを、セルU1、U2、U3、-----、Un-1、Unのそれぞれに格納し、バイト・サイズ又はワード・サイズの情報/データを、クロック信号に同期し、互いに横一列に並んで、第1のI/Oセレクタ512と第2のI/Oセレクタ513の間で、前方方向及び/又は反対方向(後方向)に双方向に転送するので バイト・サイズ又はワード・サイズの格納されていた情報/データが能動的且つ逐次的にプロセッサ11に提供され、ALU112は、格納されていた情報により演算論理動作を実行できる。
図33に示すように、前方転送分離トランジスタQi23fは、第2のメモリユニットUnに割り当てられた2番目のビットレベル・セルMi2の信号格納状態を、第1のメモリユニットU1に割り当てられた第1のビットレベル・セルMi1の信号格納状態から分離するために設けられ、前方転送分離トランジスタQi23fは、信号を、第1のビットレベル・セルMi1から2番目のビットレベル・セルMi2に、第1のクロック信号供給線CL1を介して供給されるクロック信号が決める所定のタイミングで前方に転送する。そして、後方転送分離トランジスタQi13bは、第1のメモリユニットU1に割り当てられた第1のビットレベル・セルMi1の信号格納状態を、第2のメモリユニットU2に割り当てられた2番目のビットレベル・セルMi2の信号格納状態から分離するために設けられ、後方転送分離トランジスタQi13bは、信号を、2番目のビットレベル・セルMi2から第1のビットレベル・セルMi1に、第2のクロック信号供給線CL2を介して供給されるクロック信号が決める所定のタイミングで後方に転送する。すると、メモリユニットU1及びメモリユニットU2に平行にそれぞれ配列された前方転送分離トランジスタQi23f(i=1〜m;“m”はバイト・サイズ又はワード・サイズに対応する整数)の1次元配列は、第1のクロック信号供給線CL1を介して供給されたクロック信号の制御のもとで、バイト・サイズ又はワード・サイズの情報を前方に転送するので、バイト・サイズ又はワード・サイズの情報を、前方方向に沿って同じ歩調で隊列を整えて行進することができる。そして、メモリユニットU1及びメモリユニットU2に平行にそれぞれ配列された後方転送分離トランジスタQi13b(i=1〜m)の1次元配列は、バイト・サイズ又はワード・サイズの情報を、第2のクロック信号供給線CL2を介して供給されたクロック信号の制御のもとで後方に転送するので、バイト・サイズ又はワード・サイズの情報は、後方向に沿って同じ歩調で隊列を整えて行進することができる。
そして、同様に、後方転送分離トランジスタQi23bは、第2のメモリユニットU2に割り当てられた2番目のビットレベル・セルMi2の信号格納状態を、第3のメモリユニットU3に割り当てられた第3のビットレベル・セルMi3(図示を省略)の信号格納状態から分離するために設けられている。後方転送分離トランジスタQi23bは、信号を、第3のビットレベル・セルMi3から2番目のビットレベル・セルMi2に、第3のクロック信号供給線CL2を介して供給されるクロック信号が決める所定のタイミングで後方に転送する。そして、メモリユニットU2及びメモリユニットU2に平行にそれぞれ配列された後方転送分離トランジスタQi23b(i=1〜m)の1次元配列は、クロック信号供給線CL2を介して供給されたクロック信号の制御のもとで、バイト・サイズ又はワード・サイズの情報を後方に転送するので、バイト・サイズ又はワード・サイズの情報は、後方方向に沿って 同じ歩調で隊列を整えて行進することができる。
更に、図33に示すように、前方転送分離トランジスタQi(n-1)3fは、(n−1)番目のメモリユニットUn-1に割り当てられた(n−1)番目のビットレベル・セルMi(n-1)の信号格納状態を、(n−2)番目のメモリユニットUn−2(図示を省略)の(n−2)番目のビットレベル・セルMin−2(図示を省略)の信号格納状態から分離するために設けられている。前方転送分離トランジスタQi(n-1)3fは、信号を、(n−2)番目のビットレベル・セルMi(n-2)から(n−1)番目のビットレベル・セルMi(n-1)に、第1のクロック信号供給線CL1を介して供給されるクロック信号が決める所定のタイミングで前方に転送する。すると、メモリユニットUn−2及びメモリユニットUn-1に平行にそれぞれ配列された前方転送分離トランジスタQi(n-1)3f(i=1〜m)の1次元配列は、クロック信号供給線CL1を介して供給されたクロック信号の制御のもとで、バイト・サイズ又はワード・サイズの情報を転送するので、バイト・サイズ又はワード・サイズの情報は、前方方向に沿って、同じ歩調で隊列を整えて行進することができる。
そして、前方転送分離トランジスタQin3fは、n番目のメモリユニットUnに割り当てられたn番目のビットレベル・セルMinの信号格納状態を、(n−1)番目のメモリユニットUn-1に割り当てられた(n−1)番目のビットレベル・セルMi,(n-1)の信号格納状態から分離するために設けられている。前方転送分離トランジスタQin3fは、信号を、(n−1)番目のビットレベル・セルMi,(n-1)からn番目のビットレベル・セルMinに、第1のクロック信号供給線CL1を介して供給されるクロック信号が決める所定のタイミングで前方に転送する。そして、後方転送分離トランジスタQin3bは、(n−1)番目のメモリユニットUn-1に割り当てられた(n−1)番目のビットレベル・セルMi,(n-1)の信号格納状態を、n番目のメモリユニットUnに割り当てられたn番目のビットレベル・セルMinの信号格納状態から分離するために設けられている。後方転送分離トランジスタQin3bは、信号を、n番目のビットレベル・セルMinから(n−1)番目のビットレベル・セルMi,(n-1)に、第2のクロック信号供給線CL2を介して供給されるクロック信号が決める所定のタイミングで後方に転送する。すると、メモリユニットUn-1及びメモリユニットUnに平行にそれぞれ配列された前方転送分離トランジスタQin3f(i=1〜m)の1次元配列は、クロック信号供給線CL1を介して供給されたクロック信号の制御のもとで、バイト・サイズ又はワード・サイズの情報を転送するので、バイト・サイズ又はワード・サイズの情報は、前方方向に沿って 同じ歩調で隊列を整えて行進することができる。そして、メモリユニットUn-1及びメモリユニットUnに平行にそれぞれ配列された後方転送分離トランジスタQin3b(i=1〜m)の1次元配列は、バイト・サイズ又はワード・サイズの情報を、クロック信号供給線CL2を介して供給されたクロック信号の制御のもとで転送するので、バイト・サイズ又はワード・サイズの情報は、後方向に沿って同じ歩調で隊列を整えて行進することができる。
図32及び図33に示す双方向マーチング主記憶装置の構成で、前方転送コンデンサCijfと後方転送コンデンサCijbは、高い局在性でランダムアクセス・モードを形成するために、好ましくは単一の共通コンデンサに併合できる。図34は、双方向マーチング主記憶装置31のゲートレベル表現において、m×n(ここで、“m”はワード・サイズから決まる整数)のi行のアレイを示しており、図31(a)〜(c)に示す双方向形態でランダムアクセス・モードを実現できる。
図34に示すように、2種類のマーチングANDゲートが、ランダムアクセス・モードで情報/データの双方向転送を構築するために、i行のセルMi1、Mi2、Mi3、-----、Mi,(n-1)、Mi,nのそれぞれに割り当てられている。双方向マーチング主記憶装置31は、ビットレベルの情報/データをセルMi1、Mi2、Mi3、-----、Mi,n-1、Mi,nのそれぞれに格納し、情報/データをクロック信号と同期して、前方向及び/又は反対方向(後方向)でステップごとに、第1のI/Oセレクタ512と第2のI/Oセレクタ513の間で双方向に転送する。
図34に示すマーチング主記憶装置31を形成するセルMi1、Mi2、Mi3、-----、Mi,n-1、Mi,nのゲートレベル表現において、i行の最左端に配置され第1のI/Oセレクタ512に接続する1番目のビットレベル・セルMi1は、情報/データを格納する共通コンデンサCi1と、共通コンデンサCi1に接続する一方の入力端子、第1のクロック信号供給線CL1に接続される他方の入力端子、i行で隣接する2番目のビットレベル・セルM(i+1)1に設けた次段の前方転送マーチングANDゲートGi2fの一方の入力端子に接続した出力端子を有する前方転送マーチングANDゲートGi1fと、共通コンデンサCi1に接続する一方の入力端子、第2のクロック信号供給線CL2に接続される他方の入力端子、第1のI/Oセレクタ512に接続する出力端子を有する後方転送マーチングANDゲートGi1bとを含んでいる。
前方データ流を駆動する第1のクロック信号供給線CL1と後方データ流を駆動する第2のクロック信号供給線CL2は、クロック・セレクタ511によって、それぞれ、選択される。第1のクロック信号供給線CL1と第2のクロック信号供給線CL2のそれぞれは、“1”と“0”の論理値を出力する。第1のクロック信号供給線CL1の“1”の論理値が前方転送マーチングANDゲートGi1の他方の入力端子に送られると、共通コンデンサCi1に格納されていた情報/データは、隣接する2番目のビットレベル・セルMi2に配置した共通コンデンサCi2に転送される。共通コンデンサCi2は情報/データを格納する。
双方向マーチング主記憶装置31のi行に割り当てられた2番目のビットレベル・セルMi2は、情報/データを格納する共通コンデンサCi2と、共通コンデンサCi2に接続する一方の入力端子、第1のクロック信号供給線CL1に接続される他方の入力端子、i行において隣接する第3のビットレベル・セルMi3に設けた次段の前方転送マーチングANDゲートGi3の一方の入力端子に接続する出力端子を有する前方転送マーチングANDゲートGi2fと、共通コンデンサCi2に接続する一方の入力端子、第2のクロック信号供給線CL2に接続した他方の入力端子、i行では左から数えると先行した位置になる後方転送マーチングANDゲートGi1の一方の入力端子に接続した出力端子を有する後方転送マーチングANDゲートGi2bとを含んでいる。
同様に、i行の3番目のビットレベル・セルMi3は、情報/データを格納する共通コンデンサCi3と、共通コンデンサCi3に接続する一方の入力端子、第1のクロック信号供給線CL1に接続した他方の入力端子、4番目のビットレベル・セルの図示は省略しているが、隣接する4番目のビットレベル・セルに配置された次段の前方転送マーチングANDゲートの一方の入力端子に接続した出力端子を有する前方転送マーチングANDゲートGi3fと、共通コンデンサCi3に接続する一方の入力端子、第2のクロック信号供給線CL2に接続した他方の入力端子、隣接する2番目のビットレベル・セルMi2に配置され、i行では左から数えると先行した位置になる後方転送マーチングANDゲートGi2bの一方の入力端子に接続した出力端子を有する後方転送マーチングANDゲートG13bとを含んでいる。したがって、第1のクロック信号供給線CL1の“1”の論理値が前方転送マーチングANDゲートGi2fの他方の入力端子に送られると、共通コンデンサCi2格納されていた情報/データは、3番目のビットレベル・セルMi3に配置した共通コンデンサCi3に転送され、共通コンデンサCi3は情報/データを格納する。第1のクロック信号供給線CL1の“1”の論理値が前方転送マーチングANDゲートGi13fの他方の入力端子に送られると、共通コンデンサCi3に格納されていた情報/データが、4番目のビットレベル・セルに配置したコンデンサに転送される。
更に、i行の(n−1)番目のビットレベル・セルMi,(n-1)は、情報/データを格納する共通コンデンサCi,(n-1)と、共通コンデンサCi,(n-1)に接続する一方の入力端子、第1のクロック信号供給線CL1に接続される他方の入力端子、i行の最右端に配置され第2のI/Oセレクタ513に接続され、ビットレベル・セルMi,(n-1)に隣接のn番目のビットレベル・セルMi,nに配置された次段の前方転送マーチングANDゲートGi,nfの一方の入力端子に接続した出力端子を有する前方転送マーチングANDゲートGi,(n-1)fと、共通コンデンサCi,(n-1)に接続する一方の入力端子、第2のクロック信号供給線CL2に接続される他方の入力端子、右から数えると3番目となる隣接するビットレベル・セルMi,(n-2)b(図示を省略)に配置され、i行では左から数えると先行した位置になる後方転送マーチングANDゲートGi,(n-2)bの一方の入力端子に接続した出力端子を有する後方転送マーチングANDゲートGi,(n-1)bとを含んでいる。
i行の最右端に配置され第2のI/Oセレクタ513に接続されたn番目のビットレベル・セルMi,nは、情報/データを格納する共通コンデンサCi,nと、共通コンデンサCi,nに接続する一方の入力端子、第2のクロック信号供給線CL2に接続される他方の入力端子、i行において(n−1)番目の隣接するビットレベル・セルMi,n-1に配置され、i行では左から数えると先行した位置になる後方転送マーチングANDゲートGi(n-1)bの一方の入力端子に接続した出力端子を有する後方転送マーチングANDゲートGi1nbと、共通コンデンサCi,nに接続する一方の入力端子、第1のクロック信号供給線CL1に接続される他方の入力端子、及び第2のI/Oセレクタ513に接続する出力端子を有する前方転送マーチングANDゲートGi,nfと、を含んでいる。
第2のクロック信号供給線CL2の“1”の論理値が後方転送マーチングANDゲートGinbの他方の入力端子に送られると、共通コンデンサCinに格納されていた情報/データは、i行において(n−1)番目の隣接するビットレベル・セルMi,(n-1)に配置した共通コンデンサCi,(n-1)に転送され、共通コンデンサCi,(n-1)が情報/データを格納する。同様に、第2のクロック信号供給線CL2の“1”の論理値が後方転送マーチングANDゲートGi13bの他方の入力端子に送られると、共通コンデンサCi3に格納されていた情報/データが、2番目のビットレベル・セルMi2に配置した共通コンデンサCi2に転送され、共通コンデンサCi2が情報/データを格納する。更に、第2のクロック信号供給線CL2の“1”の論理値が後方転送マーチングANDゲートGi2bの他方の入力端子に送られると、共通コンデンサCi2に格納されていた情報/データは、左から1番目のビットレベル・セルMi1に配置した共通コンデンサCi1に転送され、共通コンデンサCi1が情報/データを格納する。第2のクロック信号供給線CL2の“1”の論理値が後方転送マーチングANDゲートGi1bの他方の入力端子に送られると、共通コンデンサCi1に格納されていた情報/データが第1のI/Oセレクタ512に転送される。
したがって、双方向マーチング主記憶装置のi行のセルMi1、Mi2、Mi3、-----、Mi,(n-1)、Mi,nのそれぞれが、情報/データを格納し、情報/データを、第1のクロック信号供給線CL1と第2のクロック信号供給線CL2からそれぞれ供給されたクロック信号と同期して、ステップごとに、第1のI/Oセレクタ512と第2のI/Oセレクタ513の間で双方向に転送する。セルMi1、Mi2、Mi3、-----、Mi,n-1、Mi,nのそれぞれがメモリユニットU1、U2、U3、-----、Un-1、Unにそれぞれ割り当てられていて、メモリユニットU2、U3、-----、Un-1、Unが、メモリユニットU2、U3、-----、Un-1、Unにそれぞれ1次元配列されたビットレベル・セルに、それぞれバイト・サイズ又はワード・サイズの情報を格納を格納している。図34に示す双方向マーチング主記憶装置31は、バイト・サイズ又はワード・サイズの情報をセルU1、U2、U3、-----、Un-1、Unのそれぞれに格納し、バイト・サイズ又はワード・サイズの情報/データを、クロック信号に同期して、同じ歩調で、第1のI/Oセレクタ512と第2のI/Oセレクタ513の間で前方向及び/又は反対方向(後方向)に双方向で転送するので、バイト・サイズ又はワード・サイズの格納情報が能動的且つ逐次的にプロセッサ11に提供され、ALU112は、格納されていた情報/データにより演算論理動作を実行できる。
(位置指定法)
図35(a)は、プロセッサに隣接する1次元マーチング主記憶装置の命令の双方向転送モードを示しており、命令は、プロセッサに向けて移動したり、次段の記憶装置から出たり、次段の記憶装置に向かったりしている。図35(b)は、ALU112に隣接する1次元マーチング主記憶装置のスカラデータの双方向転送モードを示す。スカラデータは、ALUに向けて移動したり、次段の記憶装置から出たり、次段の記憶装置に向かったりしている。図35(c)は、後述する第3の実施形態で説明される、パイプライン117に隣接する1次元マーチング主記憶装置におけるベクトル/ストリーミング・データの単一方向転送モードを示す。ベクトル/ストリーミング・データは、パイプライン117に向けて移動したり、 次段の記憶装置から出たり、次段の記憶装置に向かったりしている。
第1の実施形態に係る計算機システムに用いるマーチング主記憶装置31は、ベクトル/ストリーミング・データにおいて、連続するメモリユニットU1、U2、U3、……、Un-1、Unのセットの始点と終点とを識別するために、位置指定機能を用いる。他方で、プログラムとスカラデータとに対して、それぞれアイテムは、従来のアドレスと同様の位置インデックスを有していなければならない。図36(a)は、すべてのメモリユニットU1、U2、U3、……、Un-1、Unが、アドレスA1、A2、A3、……、An-1、Anによりラベル表示されている従来型主記憶装置の構成を示す。図36(b)は、1次元マーチング主記憶装置の構成を示している。マーチング主記憶装置においては、個々のメモリユニットU1、U2、U3、……、Un-1、Unの位置指定機能は、常には、必ずしも必要ではないものであるが、ベクトル/ストリーミング・データにおいて連続するメモリユニットのセットの始点と終点とを識別するためには、個々のメモリユニットU1、U2、U3、……、Un-1、Unの位置指定機能が少なくとも必要になる。図37(a)は、本発明の1次元マーチング主記憶装置の内部構成を示す。本発明の1次元マーチング主記憶装置では、従来の計算機システムに用いられているアドレスのような位置インデックスはスカラ命令Isに必要でないが、個々のメモリユニットの位置指定機能は、斜線を付した円で示すように、ベクトル命令Ivで連続するメモリユニットのセットの始点と終点を識別するために少なくとも必要である。図37(b)は、本発明の1次元マーチング主記憶装置の内部構成を示し、位置インデックスはスカラデータ”b”と”a”に対して必要でない。しかし、図37(c)に示すように、位置インデックスは、斜線を付した円で示すように、ベクトル/ストリーミング・データ”o”、”p”、”q”、”r”、”s”、”t”、……で連続するメモリユニットのセットの始点と終点を識別するために少なくとも必要である。
第1の実施形態に係る計算機システムに用いる「マーチング記憶装置ファミリ」は、次の第2の実施形態で説明するALU112に接続したマーチング命令レジスタ・ファイル22a及びマーチング・データレジスタ・ファイル22bと、後述する第3の実施形態で説明するマーチング命令キャッシュメモリ21a及びマーチング・データキャッシュメモリ21bとを、マーチング主記憶装置31の他に含む。マーチング記憶装置ファミリにおいて、主記憶装置、レジスタ・ファイル及びキャッシュメモリとの間の関係には、基準となる局在性の特性に基づく、それらの主記憶装置、レジスタ・ファイル及びキャッシュメモリ自体の位置指定法がある。
図38(a)は、ベクトル/ストリーミング・データの場合に複数のページPi-1,j-1、Pi,j-1、Pi+1,j-1、Pi+2,j-1、Pi-1,j、Pi,j、Pi+1,j、Pi+2,jからなる本発明のマーチング主記憶装置の全体的な構成の一例を概略的に示す。図38(b)は、ベクトル/ストリーミング・データベクトル・データの場合に複数のファイルF1、F2、F3、F4からなる、斜線を付して示すページPi,jの構成の一例を概略的に示し、ページPi-1,j-1、Pi,j-1、Pi+1,j-1、Pi+2,j-1、Pi-1,j、Pi,j、Pi+1,j、Pi+2,jのそれぞれは、第3の実施形態に係るマーチング・キャッシュメモリ21a及びマーチング・キャッシュメモリ21bに使用できる。図38(c)は、斜線を付して示すファイルF3の構成の一例を概略的に示し、ファイルF1、F2、F3、F4のそれぞれは、ベクトル/ストリーミング・データの場合に対して複数のメモリユニットU1、U2、U3、……、Un-1、Unからなり、ファイルF1、F2、F3、F4のそれぞれは、第2の実施形態に係るマーチング・レジスタ・ファイル22a及びマーチング・レジスタ・ファイル22bに使用できる。
同様に、図39(a)は、ベクトル/ストリーミング・データの場合に、複数のページPr-1,s-1、Pr,s-1、Pr+1,s-1、Pr+2,s-1、Pr-1,s、Pr,s、Pr+1,s、Pr+2,sからなる本発明のマーチング主記憶装置の全体的な構成の一例を概略的に示し、各ページはそれ自体の位置インデックスをアドレスとして有している。図39(b)は、2進法のデジットを用いて、斜線を付して示すページPr-1,sの構成とページPr-1,sの駆動位置の一例を概略的に示し、ページPr-1,s-1、Pr,s-1、Pr+1,s-1、Pr+2,s-1、Pr-1,s、Pr,s、Pr+1,s、Pr+2,sのそれぞれは、プログラム/スカラデータの場合に複数のファイルF1、F2、F3、F4からなる。ページPr-1,s-1、Pr,s-1、Pr+1,s-1、Pr+2,s-1、Pr-1,s、Pr,s、Pr+1,s、Pr+2,sのそれぞれは、第3の実施形態に係るマーチング・キャッシュメモリ21a及びマーチング・キャッシュメモリ21bに使用できて、ファイルF1、F2、F3、F4のそれぞれが、それ自体の位置インデックスをアドレスとして有している。図39(c)は、2進法のデジット0、1、2、3を用いて、斜線を付して示すファイルF3の構成とファイルF3の駆動位置の一例を概略的に示し、ファイルF1、F2、F3、F4のそれぞれは、プログラム/スカラデータの場合に複数のメモリユニットU1、U2、U3、……、Un、Un+1、Un+2、Un+3、Un+4、Un+5からなる。ファイルF1、F2、F3、F4のそれぞれは、第2の実施形態に係るマーチング・レジスタ・ファイル22a及びマーチング・レジスタ・ファイル22bに使用できて、それぞれのメモリユニットU1、U2、U3、……、Un、Un+1、Un+2、Un+3、Un+4、Un+5は、それ自体の位置インデックスn+4、n+3、n+2、……、5、4、3、2、1、0をアドレスとして有している。図39(c)は、2進法のデジットによる場合のすべてに対して位置指定法を表している。
図39(c)に示すように、nの2進数は、マーチング・レジスタ・ファイルのサイズに対応する等価サイズを有するメモリ構造では、それぞれ、2nのメモリユニットの中で単一のメモリユニットを識別する。そして、図39(b)に示すように、一枚のページの構造は、4つのファイルF1、F2、F3、F4を識別する2桁で表される、マーチング・キャッシュメモリのサイズに対応する等価サイズを有するが、一つのマーチング主記憶装置の構造は、図39(a)に示すように、マーチング主記憶装置の8枚のページPr-1,s-1、Pr,s-1、Pr+1,s-1、Pr+2,s-1、Pr-1,s、Pr,s、Pr+1,s、Pr+2,sを識別する、3桁で表現されている。
(速度/処理能力)
従来の計算機システムにおけるメモリ・アクセス時間とCPUサイクル時間の間の速度ギャップは、例えば、1:100である。しかし、マーチング記憶装置アクセス時間の速度は、第1の実施形態に係る計算機システムのCPUサイクル時間と等しい。図40は、キャッシュのない従来の計算機システムの速度/処理能力を、第1の実施形態に係る計算機システムに用いるマーチング主記憶装置31の速度/処理能力と比較したものである。即ち、図40(b)は、100個のメモリユニットU1、U2、U3……、U100からなるマーチング主記憶装置31の速度/処理能力を概略的に示し、図40(a)に示した従来型記憶装置の速度/処理能力と比較している。マーチング主記憶装置31のデータを使用するに必要な処理装置を有していれば、マーチング主記憶装置31の中の99個のメモリユニットを更に同時動作させてサポートできることが分かる。したがって、従来の計算機システムの一つのメモリユニット時間Tmusが、第1の実施形態に係るマーチング主記憶装置31に含まれる100個のメモリユニット・ストリーミング時間Tmusに等価であると評価される。
そして、図41は、最悪の場合において、スカラデータ又はプログラム命令に対する従来型記憶装置の速度/処理能力を、第1の実施形態に係る計算機システムに用いるマーチング主記憶装置31の速度/処理能力と比較したものである。即ち、図41(b)の斜線部分は、100個のメモリユニットU1、U2、U3、……、U100からなるマーチング主記憶装置31の速度/処理能力を概略的に示し、図41(a)に示す従来型記憶装置の最悪の場合の速度/処理能力と比較したものである。最悪の場合では、我々は、マーチング主記憶装置31の99個のメモリユニットを読み出すことができるが、それらはスカラ・プログラムの規定のために使用できない。
更に、図42は、スカラデータ又はプログラム命令に対する従来型記憶装置における一般的な場合の速度/処理能力を、第1の実施形態に係る計算機システムに用いるマーチング主記憶装置31の速度/処理能力と比較したものである。即ち、図42(b)は、100個のメモリユニットU1、U2、U3、……、U100からなるマーチング主記憶装置31の速度/処理能力を概略的に示し、図42(a)に示す従来型記憶装置における一般的な場合の速度/処理能力と比較したものである。一般的な場合で、我々は、99個のメモリユニットを読み出すことができる。しかし、幾つかのメモリユニットだけが、スカラ・プログラムの推測的なデータ作成により、従来型記憶装置の斜線を付して特定したメモリユニットで示すように使用できる。
図43は、スカラデータの場合に対する従来型記憶装置の一般的な場合の速度/処理能力を、第1の実施形態に係る計算機システムに用いるマーチング主記憶装置31の速度/処理能力と比較したものである。即ち、図43(b)は、100個のメモリユニットU1、U2、U3、……、U100からなるマーチング主記憶装置31の速度/処理能力を概略的に示して、図43(a)に示す従来型記憶装置の速度/処理能力と比較したものである。図34(a)〜(b)に示した場合と同様に、一般的な場合で、我々は、99個のメモリユニットを読み出すことができる。しかし、幾つかのメモリユニットを、マルチスレッド並列処理におけるスカラデータ又はプログラム命令の推測的なデータ作成により、従来型記憶装置の斜線を付して特定したメモリユニットで示すように使用できるだけである。
図44は、ストリーミング・データ、ベクトル・データ又はプログラム命令の場合に対する従来型記憶装置における最良の場合の速度/処理能力を、第1の実施形態に係る計算機システムに用いるマーチング主記憶装置31の速度/処理能力と比較したものである。即ち、図44(b)は、100個のメモリユニットU1、U2、U3、……、U100からなるマーチング主記憶装置31の速度/処理能力を概略的に示し、図44(a)に示す従来型記憶装置における最良の場合の速度/処理能力と比較したものである。最良の場合で、我々は、マーチング主記憶装置31の100個のメモリユニットが、ストリーミング・データとデータ・パラレルに対して使用できることが分かる。
(2次元のマーチング主記憶装置)
メモリユニットは、図45〜51に示すようにチップ上に2次元で配置できるので、様々なモードの動作が、スイッチ/ネットワークなしに実現できる。図45〜51に示す第1の実施形態に係る2次元のマーチング主記憶装置31によれば、メモリユニットU11、U12、U13、……、U1,v-1、U1,v; U12、U22、U23、……、U2,v-2、U2,v; ……; Uu,1、Uu,2、Uu,3、……、Uu,v-1、Uu,vはリフレッシュが要求されない。何故ならば、メモリユニットU11、U12、U13、……、U1,v-1、U1,v; U12、U22、U23、……、U2,v-2、U2,v; ……; Uu,1、Uu,2、Uu,3、……、Uu,v-1、Uu,vのすべては、通常は、情報移動スキーム(情報隊列行進スキーム)により自動的にリフレッシュされるからである。そして、メモリユニットU11、U12、U13、……、U1,v-1、U1,v; U12、U22、U23、……、U2,v-2、U2,v; ……; Uu,1、Uu,2、Uu,3、……、Uu,v-1、Uu,vのそれぞれに対するアドレス指定が消滅し、必要な情報は、メモリの端部に接続する、その宛先となるユニットの見出しになる。第1の実施形態の2次元のマーチング主記憶装置31にアクセスする機構は、従来の計算機システムでは情報を読み出し及び書き込みためのアドレス指定モードから始まる従来型記憶装置スキームの真の代わりとなるものである。したがって、第1の実施形態の2次元のマーチング主記憶装置31によれば、第1の実施形態に係る計算機システムでは、アドレス指定モードのないメモリ−アクセス処理が、従来の計算機システムの従来型記憶装置スキームと比べると非常に単純になる。
(エネルギー消費)
第1の実施形態に係る計算機システムのアーキテクチュア、デザイン及び構想の改善点を明確にするために、エネルギー消費の改善について説明する。図52(a)は、マイクロプロセッサのエネルギー消費が、静的電力消費と動的電力消費に分割できることを示している。図52(a)に示す動的電力消費では、電力消費の正味(ネット)と付帯的(オーバーヘッド)なものが図52(b)に示すように顕著である。図52(c)に示すように、正味のエネルギー部分だけが計算機システムの或るジョブの動作に実際に必要になるので、この純粋なエネルギー部分が、計算機システムを実施する上での最小のエネルギー消費になる。これは、最短の処理時間が、図52(c)に示す正味のエネルギー消費で実現できることを意味する。
幾つかの試みがアーキテクチュア、デザイン及び構想を具体化するためにプロセッサに導入されてはいるが、図1に示した従来のアーキテクチュアにはボトルネックがある。従来のアーキテクチュアには、下記のように、フォン・ノイマン型計算機に様々な課題がある。
1)プログラムが、メモリのデータのように格納される。
2)すべての処理が、単一のプロセッサにおいて基本的に逐次的に行われる。
3)プログラムの動作は、命令の逐次的な遂行にすぎない。
4)ベクトル・データは、ベクトル命令によりCPUで逐次的に処理される。
5)ストリーミング・データは、スレッドで逐次的に処理される。
6)プログラムには、スレッドが逐次的に配置されている。
7)データ・パラレルは、ベクトルとしてのデータの配置からなる。
8)ストリーミング・データは、データの流れである。
従来の計算機の特性から、我々は、プログラムとデータの格納は基本的に逐次的に連続配置した形式になると結論づけた。この事実は、命令の規則的な配置がプログラムと対応するデータに存在することを意味する。
図2に示す第1の実施形態に係る計算機システムにおいて、マーチング主記憶装置31で命令のアクセスは必要でない。何故ならば、一連の命令が、それら自体でプロセッサ11に能動的にアクセスするからである。同様に、マーチング主記憶装置31におけるデータのアクセスは、一連のデータが、それら自体でプロセッサ11に能動的にアクセスするので不要である。
図53は、ウィリアム(William)J.ダリ(Dally)らが『効率のよい埋め込み型コンピューティング(Efficient Embedded Computing)』、計算機(Computer)、第41巻、第7号,2008年,pp27〜32で評価した、従来のアーキテクチュアにおけるレジスタとキャッシュを含めた、プロセッサ全体での実際のエネルギー消費分布を示す。図53に、チップ間の配線を除いた、チップ全体だけの電力消費分布の評価が開示している。ダリらにより、命令供給の電力消費が42%、データ供給の電力消費は28%、クロック及び制御ロジックの電力消費は24%、演算電力消費は6%と評価されている。したがって、我々は、命令供給とデータ供給の電力消費は、クロック/制御ロジックの電力消費と演算の電力消費より比較的大きいことが分かる。これらの原因は、メモリ、キャッシュ及びレジスタのすべてがリフレッシュされないことに加えて、これらのキャッシュとレジスタのアクセス方式に起因して大量の配線が必要であり、一部のソフトウェアの付帯的要因(オーバーヘッド)によるキャッシュ/レジスタ・アクセスの非効率性に起因すると理解できる。
命令供給の電力消費とデータ供給の電力消費の比は3:2であり、クロック及び制御ロジックの電力消費と演算の電力消費の比は4:1なので、図2に示した第1の実施形態に係る計算機システムに従って、我々は、マーチング主記憶装置31を少なくとも部分的に用いることにより、データ供給の電力消費を20%に容易に減少できる。このため、命令供給の電力消費が30%になり、我々は演算の電力消費を10%に増加できるので、クロック及び制御ロジックの電力消費が40%になる。このことは、命令供給の電力消費とデータ供給の電力消費の合計を50%にでき、クロック及び制御ロジックの電力消費と演算の電力消費の合計を50%にできることを意味する。
我々がデータ供給の電力消費を10%に減らすと、命令供給の電力消費が15%になる。我々が演算の電力消費を15%に増加すると、クロック及び制御ロジックの電力消費が60%になる。これは、命令供給の電力消費とデータ供給の電力消費の合計を35%にできて、クロック及び制御ロジックの電力消費と演算の電力消費の合計を75%にできることを意味する。
従来の計算機システムでは、図54(a)に示すようにエネルギーを消耗し、メモリユニットをアドレス指定して読み取り/書き込むために比較的大きな平均作動時間が配線の遅延時間のために生じる。これに対し、本発明の実施形態に係る計算機システムによれば、図54(b)に示すように、より僅かなエネルギーを消耗するだけである。何故ならば、本発明の実施形態に係る計算機システムでは、マーチング記憶装置により、短い平均的な滑らかな作動時間になるからである。我々は、僅かなエネルギーで、従来の計算機システムより迅速に同じデータを処理できる。
− 第2の実施形態 −
図55に示すように、本発明の第2の実施形態に係る計算機システムは、プロセッサ11とマーチング主記憶装置31と、を備えている。プロセッサ11は、クロック信号を生成するクロック発生回路113を有する制御装置111と、クロック信号に同期して演算論理動作を実行する演算論理装置(ALU)112と、制御装置111に接続したマーチング命令レジスタ・ファイル(RF)22aと、ALU112に接続したマーチング・データレジスタ・ファイル(RF)22bとを含む。
図示を省略しているが、図3〜図24、図25(a)、図25(b)、図26,図45〜図51に示したマーチング主記憶装置31と非常に類似した状態で、マーチング命令レジスタ・ファイル22aは、命令レジスタ・ユニットのアレイ(第3のアレイ)と、第3のアレイの入力端子となる命令レジスタ入力端子と、第3のアレイの出力端子となる命令レジスタ出力端子を有している。命令レジスタ入力端子は、マーチング主記憶装置31からマーチング主記憶装置31に格納された命令を受信する。マーチング命令レジスタ・ファイル22aは、一連の命令を命令レジスタ・ユニットのそれぞれに格納する。そして、命令レジスタ入力端子に隣接する入力側の命令レジスタ・ユニットから、命令レジスタ出力端子に隣接した出力側の命令レジスタ・ユニットの方向に向かい、クロック信号に同期して、それぞれの命令レジスタ・ユニットから、それぞれの命令レジスタ・ユニットに隣接する命令レジスタ・ユニットに、それぞれの命令レジスタ・ユニットに格納したそれぞれの命令を、連続的且つ周期的に転送するように構成している。この結果、マーチング命令レジスタ・ファイル22aのそれぞれの命令レジスタ・ユニットに格納された命令からなる一連の命令を、命令レジスタ出力端子を介して制御装置111に能動的且つ逐次的に出力し、制御装置111は命令を用いて処理を実行する。
更に、図3〜図24、図25(a)、図25(b)、図26,図45〜図51に示したマーチング主記憶装置31と同様に、マーチング・データレジスタ・ファイル22bは、データレジスタ・ユニットのアレイ(第4のアレイ)と、第4のアレイの入力端子となるデータレジスタ入力端子と、第4のアレイの出力端子となるデータレジスタ出力端子を有している。データレジスタ入力端子は、マーチング主記憶装置31から、マーチング主記憶装置31に格納されたデータを受信する。マーチング・データレジスタ・ファイル22bは、一連のデータをデータレジスタ・ユニットのそれぞれに格納する。マーチング・データレジスタ・ファイル22bの詳細な説明は省略しているが、データレジスタ入力端子に隣接する入力側のデータレジスタ・ユニットから、データレジスタ出力端子に隣接した出力側のデータレジスタ・ユニットの方向に向かい、クロック信号に同期して、それぞれのデータレジスタ・ユニットから、それぞれのデータレジスタ・ユニットに隣接するデータレジスタ・ユニットに、それぞれのデータレジスタ・ユニットに格納したそれぞれのデータを、連続的且つ周期的に転送するように構成している。この結果、マーチング・データレジスタ・ファイル22bのそれぞれのデータレジスタ・ユニットに格納されたデータからなる一連のデータを、データレジスタ出力端子を介してALU112に能動的且つ逐次的に出力し、ALU112は入力されたデータを用いて処理を実行する。
図55に示すように、マーチング主記憶装置31の一部とマーチング命令レジスタ・ファイル22aは複数の接合部材54を介して電気的に接続し、マーチング命令レジスタ・ファイル22aに接続した部分以外となるマーチング主記憶装置31の残部とマーチング・データレジスタ・ファイル22bとは、他の複数の接合部材54を介して電気的に接続している。
ALU112における処理の最終データは、マーチング・データレジスタ・ファイル22bに送られる。したがって、双方向矢印Φ24で表されるように、データは、マーチング・データレジスタ・ファイル22bとALU112の間で双方向に転送される。更に、マーチング・データレジスタ・ファイル22bに格納したデータは、マーチング主記憶装置31に接合部材54を介して送られる。したがって、双方向矢印Φ23で表されるように、データは、マーチング主記憶装置31とマーチング・データレジスタ・ファイル22bとの間を接合部材54を介して双方向に転送される。
逆に、単一方向矢印η22とη23で表されるように、命令の移動については、マーチング主記憶装置31からマーチング命令レジスタ・ファイル22aに、及びマーチング命令レジスタ・ファイル22aから制御装置111に向かう一方向の命令流だけである。
図55に示す第2の実施形態に係る計算機システムには、データバスやアドレスバス等のバスはない。何故ならば、全体的な計算機システムには、マーチング主記憶装置31とマーチング命令レジスタ・ファイル22aの間、マーチング主記憶装置31とマーチング・データレジスタ・ファイル22bの間、マーチング命令レジスタ・ファイル22aと制御装置111の間、マーチング・データレジスタ・ファイル22bとALU112の間に、任意のデータ交換でも配線が存在しないからである。これに対して、配線又はバスが、従来の計算機システムでボトルネックを生じていた。これらの配線間に、時間的遅延と票遊容量とを生じるグローバルな配線が存在しないので、第2の実施形態に係る計算機システムは、非常に高速の処理速度と低い電力消費とを達成できる。
第2の実施形態に係る計算機システムの他の機能、構成や動作方法等は、第1の実施形態で既に説明した他の機能、構成や動作方法等と実質的に類似しているので、重複した冗長な説明は省略する。
− 第3の実施形態 −
図56に示すように、本発明の第3の実施形態に係る計算機システムは、プロセッサ11とマーチング・キャッシュメモリ(21a、21b)とマーチング主記憶装置31と、を備えている。第2の実施形態と同様に、プロセッサ11は、クロック信号を生成するクロック発生回路113を有する制御装置111と、クロック信号と同期して演算論理動作を実行する演算論理装置(ALU)112と、制御装置111に接続したマーチング命令レジスタ・ファイル(RF)22aと、ALU112に接続したマーチング・データレジスタ・ファイル(RF)22bとを含む。
マーチング・キャッシュメモリ(21a、21b)は、マーチング命令キャッシュメモリ21a及びマーチング・データキャッシュメモリ21bと、を備えている。図示を省略しているが、図3〜図24、図25(a)、図25(b)、図26,図45〜図51に示すマーチング主記憶装置31と非常に類似して、マーチング命令キャッシュメモリ21a及びマーチング・データキャッシュメモリ21bのそれぞれは、情報のユニットを構成するそれぞれの情報の位置に対応して割り当てられたキャッシュメモリユニットのアレイと、マーチング主記憶装置31から格納された情報を受信するアレイのキャッシュ入力端子と、アレイのキャッシュ出力端子とを有している。キャッシュ入力端子は、マーチング主記憶装置31から、マーチング主記憶装置31に格納された情報を受信する。マーチング命令キャッシュメモリ21a及びマーチング・データキャッシュメモリ21bは、情報をキャッシュメモリユニットのそれぞれに格納するとともに、クロック信号に同期して、ステップごとに、情報を隣接するキャッシュメモリユニットにそれぞれ転送する。この結果、マーチング命令キャッシュメモリ21a及びマーチング・データキャッシュメモリ21bに格納されていた情報が、プロセッサ11に能動的に逐次出力され、ALU112は演算論理動作を、マーチング命令キャッシュメモリ21a及びマーチング・データキャッシュメモリ21bに格納されていた情報を用いて実行できる。
図56に示すように、マーチング主記憶装置31の一部とマーチング命令キャッシュメモリ21aは複数の接合部材52によって電気的に接続し、マーチング命令キャッシュメモリ21aに接続された箇所以外のマーチング主記憶装置31の残部とマーチング・データキャッシュメモリ21bは他の複数の接合部材52を介して電気的に接続している。更に、マーチング命令キャッシュメモリ21aとマーチング命令レジスタ・ファイル22aは複数の接合部材51を介して電気的に接続し、マーチング・データキャッシュメモリ21bとマーチング・データレジスタ・ファイル22bは他の複数の接合部材51を介して電気的に接続している。
ALU112が実行した最終データは、マーチング・データレジスタ・ファイル22bに送られ、双方向矢印Φ34で表されるように、データは、マーチング・データレジスタ・ファイル22bとALU112との間で双方向に転送される。更に、マーチング・データレジスタ・ファイル22bに格納したデータは、マーチング・データキャッシュメモリ21bに接合部材51を介して送られ、双方向矢印Φ33で表されるように、データは、マーチング・データキャッシュメモリ21bとマーチング・データレジスタ・ファイル22bの間で接合部材51を介して双方向に転送される。更に、マーチング・データキャッシュメモリ21bに格納したデータは、マーチング主記憶装置31に接合部材52を介して出力され、双方向矢印Φ32で表されるように、データは、マーチング主記憶装置31とマーチング・データキャッシュメモリ21bとの間で接合部材52を介して双方向に転送される。
逆に、単一方向矢印η31とη32で表されるように、命令の転送については、マーチング主記憶装置31からマーチング命令キャッシュメモリ21aに、マーチング命令キャッシュメモリ21aからマーチング命令レジスタ・ファイル22aに、及びマーチング命令レジスタ・ファイル22aから制御装置111に向かう一方向の命令の流れだけである。
図56に示す第3の実施形態に係る計算機システムには、データバスやアドレスバス等のバスはない。何故ならば、全体的な計算機システムにおいて、マーチング主記憶装置31とマーチング命令キャッシュメモリ21aの間、マーチング命令キャッシュメモリ21aとマーチング命令レジスタ・ファイル22aの間、マーチング主記憶装置31とマーチング・データキャッシュメモリ21bの間、マーチング・データキャッシュメモリ21bとマーチング・データレジスタ・ファイル22bの間、マーチング命令レジスタ・ファイル22aと制御装置111の間、及びマーチング・データレジスタ・ファイル22bとALU112の間における任意のデータ交換においてグローバルな配線が存在しないからである。従来の計算機システムにおいては、配線やバスが、従来の計算機システムにボトルネックを生じさせていた。従来の計算機システムのような配線間に時間的な遅延や浮遊容量を生じるグローバルな配線が存在しないので、第3の実施形態の計算機システムは、非常に高速な処理速度と低い電力消費とを達成できる。
第3の実施形態に係る計算機システムの他の機能、構成や動作方法等は、第1及び第2の実施形態で既に説明した他の機能、構成や動作方法等と実質的に類似しているので、重複した冗長な説明は省略する。図57(a)に示すように、第3の実施形態に係る計算機システムのALU112は、マーチング・レジスタ・ユニットR11、R12、R13、……、R1n;R22、R22、R23、……、R2nを介して、格納された情報を受信する複数の演算パイプラインP1、P2、P3、……、Pnを含んでいて、データは演算パイプラインP1、P2、P3、……、Pnの配列方向と平行に移動する。ベクトル・データが格納される場合に、マーチング・ベクトルレジスタ・ユニットR11、R12、R13、……、R1n;R22、R22、R23、……、R2nを使用できる。
更に、図57(b)に示すように、複数のマーチング・キャッシュ・ユニットC11、C12、C13、……、C1n;C21、C22、C23、……、C2n;C31、C32、C33、……、C3nを平行に配列できる。
図58に示すように、第3の実施形態に係る計算機システムを構成するALU112は、単一のプロセッサ・コア116を含む。横方向の矢印で示すように、情報は、マーチング・キャッシュメモリ21からマーチング・レジスタ・ファイル22に、及びマーチング・レジスタ・ファイル22からプロセッサ・コア116に移動できる。プロセッサ・コア116における処理の最終データは、マーチング・レジスタ・ファイル22に送られるので、データはマーチング・レジスタ・ファイル22とプロセッサ・コア116の間で双方向に転送される。更に、マーチング・レジスタ・ファイル22に格納したデータはマーチング・キャッシュメモリ21に送られるので、データは、マーチング・キャッシュメモリ21とマーチング・レジスタ・ファイル22の間で双方向に転送される。命令の移動の場合、処理情報の反対方向に沿う流れはない。
図59に示すように、第3の実施形態に係る計算機システムのALU112は、単一の演算パイプライン117を含む。横方向の矢印で示すように、情報は、マーチング・キャッシュメモリ21からマーチング・ベクトルレジスタ・ファイル22vに、及びマーチング・ベクトルレジスタ・ファイル22vから演算パイプライン117に移動できる。演算パイプライン117における処理の最終データはマーチング・ベクトルレジスタ・ファイル22vに送られるので、データは、マーチング・ベクトルレジスタ・ファイル22vと演算パイプライン117の間で双方向に転送される。更に、マーチング・ベクトルレジスタ・ファイル22vに格納したデータはマーチング・キャッシュメモリ21に送られるので、データは、マーチング・キャッシュメモリ21とマーチング・ベクトルレジスタ・ファイル22vの間で双方向に転送される。命令の移動の場合、処理情報の反対方向に沿う流れはない。
図60に示すように、第3の実施形態に係る計算機システムのALU112は、複数のプロセッサ・コア116-1、116-2、116-3、116-4、……、116-mを含んでいる。横方向の矢印で示すように、情報は、マーチング・キャッシュメモリ21からマーチング・レジスタ・ファイル22に、及びマーチング・レジスタ・ファイル22からプロセッサ・コア116-1、116-2、116-3、116-4、……、116mに移動できる。プロセッサ・コア116-1、116-2、116-3、116-4、……、116-mにおける処理の最終データはマーチング・レジスタ・ファイル22に出力されるので、データは、マーチング・レジスタ・ファイル22とプロセッサ・コア116-1、116-2、116-3、116-4、……、116-mの間で双方向に転送される。更に、マーチング・レジスタ・ファイル22に格納したデータはマーチング・キャッシュメモリ21に送られるので、データは、マーチング・キャッシュメモリ21とマーチング・レジスタ・ファイル22の間で双方向に転送される。命令の移動の場合、処理情報の反対方向に沿う流れはない。
図61に示すように、第3の実施形態に係る計算機システムのALU112は、複数の演算パイプライン117-1、117-2、117-3、117-4、……、117-mを含んでいる。横方向の矢印で示すように、情報は、マーチング・キャッシュメモリ21からマーチング・ベクトルレジスタ・ファイル22vに、及びマーチング・ベクトルレジスタ・ファイル22vから演算パイプライン117-1、117-2、117-3、117-4、……、117-mに移動できる。演算パイプライン117-1、117-2、117-3、117-4、……、117-mにおける処理の最終データは、マーチング・ベクトルレジスタ・ファイル22vに送られるので、データは、マーチング・ベクトルレジスタ・ファイル22vと演算パイプライン117-1、117-2、117-3、117-4、……、117-mとの間で双方向に転送される。更に、マーチング・ベクトルレジスタ・ファイル22vに格納したデータはマーチング・キャッシュメモリ21に送られるので、データは、マーチング・キャッシュメモリ21とマーチング・ベクトルレジスタ・ファイル22vとの間で双方向に転送される。命令の移動の場合、処理情報の反対方向に沿う流れはない。
図62(b)に示すように、第3の実施形態に係る計算機システムのALU112は複数の演算パイプライン117-1、117-2、117-3、117-4、……、117-mを含んでいて、複数のマーチング・キャッシュメモリ21-1、21-2、21-3、……、21-mは、マーチング主記憶装置31に電気的に接続している。ここで、第1のマーチング・ベクトルレジスタ・ファイル22v-1は第1のマーチング・キャッシュメモリ21-1に接続し、第1の演算パイプライン117-1は第1のマーチング・ベクトルレジスタ・ファイル22v-1に接続している。そして、第2のマーチング・ベクトルレジスタ・ファイル22v-2は第2のマーチング・キャッシュメモリ21-2に接続し、第2の演算パイプライン117-2は第2のマーチング・ベクトルレジスタ・ファイル22v-2に接続している。第3のマーチング・ベクトルレジスタ・ファイル22v-3は第3のマーチング・キャッシュメモリ21-3に接続し、第3の演算パイプライン117-3は第3のマーチング・ベクトルレジスタ・ファイル22v-3に接続している、……。m番目のマーチング・ベクトルレジスタ・ファイル22v-mはm番目のマーチング・キャッシュメモリ21-mに接続し、m番目の演算パイプライン117-mはm番目のマーチング・ベクトルレジスタ・ファイル22v-mに接続している。
情報は、マーチング主記憶装置31からマーチング・キャッシュメモリ21-1、212-2、21-3、……、21-mに並列に、マーチング・キャッシュメモリ21-1、212-2、21-3、……、21-mからマーチング・ベクトルレジスタ・ファイル22v-1、22v-2、22v-3、22v-4、……、22v-mに並列に、及びマーチング・ベクトルレジスタ・ファイル22v-1、22v-2、22v-3、22v-4、……、22v-mから演算パイプライン117-1、117-2、117-3、117-4、……、117-mに並列に移動する。演算パイプライン117-1、117-2、117-3、117-4、……、117-mにおける処理の最終データはマーチング・ベクトルレジスタ・ファイル22v-1、22v-2、22v-3、22v-4、……、22v-mに送られるので、データは、マーチング・ベクトルレジスタ・ファイル22v-1、22v-2、22v-3、22v-4、……、22v-mと演算パイプライン117-1、117-2、117-3、117-4、……、117-mとの間で双方向に転送される。更に、マーチング・ベクトルレジスタ・ファイル22v-1、22v-2、22v-3、22v-4、……、22v-mに格納したデータはマーチング・キャッシュメモリ21-1、212-2、21-3、……、21-mに送られるので、データは、マーチング・キャッシュメモリ21-1、212-2、21-3、……、21-mとマーチング・ベクトルレジスタ・ファイル22v-1、22v-2、22v-3、22v-4、……、22v-mとの間で双方向に転送され、マーチング・キャッシュメモリ21-1、212-2、21-3、……、21-mに格納したデータはマーチング主記憶装置31に送られるので、データは、マーチング主記憶装置31とマーチング・キャッシュメモリ21-1、212-2、21-3、……、21-mとの間で双方向に転送される。命令の移動の場合、処理情報の反対方向に沿う流れはない。
逆に、図62(a)に示すように、複数の演算パイプライン117-1、117-2、117-3、117-4、……、117-mを含む従来の計算機システムのALU112では、複数の従来型キャッシュメモリ321-1、321-2、321-3、321-4、……、321-mが、フォン・ノイマン・ボトルネック325を形成する配線及び/又はバスを介して従来型主記憶装置331に電気的に接続している。そこで、情報は、従来型主記憶装置331から従来型キャッシュメモリ321-1、321-2、321-3、321-4、……、321-mに並列にフォン・ノイマン・ボトルネック325を介して、従来型キャッシュメモリ321-1、321-2、321-3、321-4、……、321-mから従来型ベクトルレジスタ・ファイル(RFs)322v-1、322v-2、322v-3、322v-4、……、322v-mに並列に、及び従来型ベクトルレジスタ・ファイル322v-1、322v-2、322v-3、322v-4、……、322v-mから演算パイプライン117-1、117-2、117-3、117-4、……、117-mに並列に移動する。
図62(b)に示す第3の実施形態に係る計算機システムには、データバスやアドレスバス等のバスはない。何故ならば、全体的なシステムに、演算パイプライン117-1、117-2、117-3、117-4、……、117-mとマーチング主記憶装置31の間の任意のデータ交換でもグローバルな配線が存在しないからである。ところが、図62(a)に示す従来の計算機システムには配線又はバスがボトルネックを形成している。図62(b)に示す計算機システムの配線間には時間的な遅延と浮遊容量を生じるグローバルな配線がないので、第3の実施形態に係る計算機システムは、非常に高速の処理速度と低い電力消費が達成できる。
− 第4の実施形態 −
図63に示すように、第4の実施形態に係る計算機システムは、従来型主記憶装置31sと、従来型主記憶装置31sに接続したマザー・マーチング主記憶装置31-0と、グラフィック処理装置(GPU)を基礎とした汎用計算に使用できる、高性能コンピューティング(HPC)システムを形成するためにマザー・マーチング主記憶装置31-0と通信する複数の処理装置12-1、12-2、12-3、……とを含んでいる。図示を省略しているが、第4の実施形態のHPCシステムは、クロック信号を生成するクロック発生回路113を有する制御装置111と、複数の処理装置12-1、12-2、12-3、……の動作を切り替えて制御するフィールド・プログラマブル・ゲート・アレイ(FPGA)とを含んでおり、並列で動作することにより高速処理計算の流れを最適化して、帯域幅消費の管理と運営を支援することを意図している。FPGAは、或るタスクのために自らを書き換えることができる、本質的には、計算機チップである。FPGAは、VHDL又はヴェリログ(Verilog)のようなハードウェア記述言語でプログラム化できる。
第1の処理装置12-1は、第1の分岐マーチング主記憶装置31-1と、第1の分岐マーチング主記憶装置31-1に、それぞれ、電気的に接続した複数の第1のマーチング・キャッシュメモリ21-11、21-12、……、21-1pと、第1のマーチング・キャッシュメモリ21-11、21-12、……、21-1pに、それぞれ、電気的に接続した複数の第1のマーチング・ベクトルレジスタ・ファイル22v-11、22v-12、……、22v-1pと、第1のマーチング・ベクトルレジスタ・ファイル22v-11、22v-12、……、22v-1pにそれぞれ電気的に接続した複数の第1の演算パイプライン117-11、117-12、……、117-1pと、を含んでいる。
図3〜図24、図25(a)、図25(b)、図26,図45〜図51などに示す構成と同様に、マザー・マーチング主記憶装置31-0、第1の分岐マーチング主記憶装置31-1、第1のマーチング・キャッシュメモリ21-11、21-12、……、21-1p及び第1のマーチング・ベクトルレジスタ・ファイル22v-11、22v-12、……、22v-1pのそれぞれは、メモリユニットのアレイ、このアレイの入力端子及びアレイの出力端子と、を備える。マザー・マーチング主記憶装置31-0、第1の分岐マーチング主記憶装置31-1、第1のマーチング・キャッシュメモリ21-11、21-12、……、21-1p及び第1のマーチング・ベクトルレジスタ・ファイル22v-11、22v-12、……、22v-1pのそれぞれは、情報をメモリユニットのそれぞれに格納し且つクロック信号に同期して、ステップごとに、入力端子側から出力端子側の方向に転送するように構成している。
マザー・マーチング主記憶装置31-0、第1の分岐マーチング主記憶装置31-1、第1のマーチング・キャッシュメモリ21-11、21-12、……、21-1p及び第1のマーチング・ベクトルレジスタ・ファイル22v-11、22v-12、……、22v-1pのそれぞれの動作はFPGAで制御するので、情報は、マザー・マーチング主記憶装置31-0から第1の分岐マーチング主記憶装置31-1に、第1の分岐マーチング主記憶装置31-1から第1のマーチング・キャッシュメモリ21-11、21-12、……、21-1pに並列に、第1のマーチング・キャッシュメモリ21-11、21-12、……、21-1pから第1のマーチング・ベクトルレジスタ・ファイル22v-11、22v-12、……、22v-1pに並列に、及び第1のマーチング・ベクトルレジスタ・ファイル22v-11、22v-12、……、22v-1pから第1の演算パイプライン117-11、117-12、……、117-1pに並列に移動する。第1の演算パイプライン117-11、117-12、……、117-1pにおける処理の最終データは、第1のマーチング・ベクトルレジスタ・ファイル22v-11、22v-12、……、22v-1pに送られるので、データは、第1のマーチング・ベクトルレジスタ・ファイル22v-11、22v-12、……、22v-1pと第1の演算パイプライン117-11、117-12、……、117-1pの間で双方向に転送される。更に、第1のマーチング・ベクトルレジスタ・ファイル22v-11、22v-12、……、22v-1pに格納したデータが、第1のマーチング・キャッシュメモリ21-11、21-12、……、21-1pに送られるので、データは、第1のマーチング・キャッシュメモリ21-11、21-12、……、21-1pと第1のマーチング・ベクトルレジスタ・ファイル22v-11、22v-12、……、22v-1pの間で双方向で転送され、第1のマーチング・キャッシュメモリ21-11、21-12、……、21-1pに格納したデータは第1の分岐マーチング主記憶装置31-1に送られるので、データは第1の分岐マーチング主記憶装置31-1と第1のマーチング・キャッシュメモリ21-11、21-12、……、21-1pの間で双方向に転送される。しかし、FPGAは、第1の処理装置12-1で処理情報の反対方向に沿う流れがないように、命令の移動を制御する。
第2の処理装置12-2は、第2の分岐マーチング主記憶装置31-2と、第2の分岐マーチング主記憶装置31-2にそれぞれ電気的に接続した複数の第2のマーチング・キャッシュメモリ21-21、21-22、……、21-2pと、第2のマーチング・キャッシュメモリ21-21、21-22、……、21-2pに、それぞれ、電気的に接続した複数の第2のマーチング・ベクトルレジスタ・ファイル22v-21、22v-22、……、22v-2pと、第2のマーチング・ベクトルレジスタ・ファイル22v-21、22v-22、……、22v-2pに、それぞれ、電気的に接続した複数の第2の演算パイプライン117-21、117-22、……、117-2pと、を含んでいる。第1の処理装置12-1と同様に、マザー・マーチング主記憶装置31-0、第2の分岐マーチング主記憶装置31-2、第2のマーチング・キャッシュメモリ21-21、21-22、……、21-2p及び第2のマーチング・ベクトルレジスタ・ファイル22v-21、22v-22、……、22v-2pのそれぞれは、メモリユニットのアレイ、このアレイの入力端子及びアレイの出力端子と、を備える。マザー・マーチング主記憶装置31-0、第2の分岐マーチング主記憶装置31-2、第2のマーチング・キャッシュメモリ21-21、21-22、……、21-2p及び第2のマーチング・ベクトルレジスタ・ファイル22v-21、22v-22、……、22v-2pのそれぞれは、情報をメモリユニットのそれぞれに格納し且つクロック信号に同期して、ステップごとに、入力端子側から出力端子側の方向に転送するように構成している。マザー・マーチング主記憶装置31-0、第2の分岐マーチング主記憶装置31-2、第2のマーチング・キャッシュメモリ21-21、21-22、……、21-2p及び第2のマーチング・ベクトルレジスタ・ファイル22v-21、22v-22、……、22v-2pのそれぞれの動作はFPGAで制御するので、情報は、マザー・マーチング主記憶装置31-0から第2の分岐マーチング主記憶装置31-2に、第2の分岐マーチング主記憶装置31-2から第2のマーチング・キャッシュメモリ21-21、21-22、……、21-2pに並列に、第2のマーチング・キャッシュメモリ21-21、21-22、……、21-2pから第2のマーチング・ベクトルレジスタ・ファイル22v-21、22v-22、……、22v-2pに並列に、及び第2のマーチング・ベクトルレジスタ・ファイル22v-21、22v-22、……、22v-2pから第2の演算パイプライン117-21、117-22、……、117-2pに並列に移動する。第2の演算パイプライン117-21、117-22、……、117-2pにおける処理の最終データは、第2のマーチング・ベクトルレジスタ・ファイル22v-21、22v-22、……、22v-2pに送られるので、データは、第2のマーチング・ベクトルレジスタ・ファイル22v-21、22v-22、……、22v-2pと第2の演算パイプライン117-21、117-22、……、117-2pの間で双方向に転送される。更に、第2のマーチング・ベクトルレジスタ・ファイル22v-21、22v-22、……、22v-2pに格納したデータが、第2のマーチング・キャッシュメモリ21-21、21-22、……、21-2pに送られるので、データは、第2のマーチング・キャッシュメモリ21-21、21-22、……、21-2pと第2のマーチング・ベクトルレジスタ・ファイル22v-21、22v-22、……、22v-2pの間で双方向で転送され、第2のマーチング・キャッシュメモリ21-21、21-22、……、21-2pに格納したデータは第2の分岐マーチング主記憶装置31-2に送られるので、データは第2の分岐マーチング主記憶装置31-2と第2のマーチング・キャッシュメモリ21-21、21-22、……、21-2pの間で双方向に転送される。しかし、FPGAは、第2の処理装置12-2で処理情報の反対方向に沿う流れがないように、命令の移動を制御する。
例えば、ソース・プログラムのループから生成したベクトル命令は、マザー・マーチング主記憶装置31-0から第1の処理装置12-1と第2の処理装置12-2と第3の処理装置12-3、……、とに並列に転送されるので、これらのベクトル命令の並列処理は、第1の処理装置12-1と第2の処理装置12-2と第3の処理装置12-3、……のそれぞれにおいて、演算パイプライン117-11、117-12、……、117-1p、117-21、117-22、……、117-2q……によって実行できる。
従来の計算機システムに用いられているFPGA制御HPCシステムは大量の配線資源を必要とするので、時間的な遅延と浮遊容量がこれらの配線間で発生してボトルネックが発生する。これに対し、図63に示す第4の実施形態に係るHPCシステムにはこのようなボトルネックが発生しない。何故ならば、第4の実施形態に係るHPCシステムにおいては、任意のデータ交換のためのデータバスやアドレスバスのようなバスが、第1のマーチング・ベクトルレジスタ・ファイル22v-11、22v-12、……、22v-1pと第1の演算パイプライン117-11、117-12、……、117-1pの間、第1のマーチング・キャッシュメモリ21-11、21-12、……、21-1pと第1のマーチング・ベクトルレジスタ・ファイル22v-11、22v-12、……、22v-1pの間、第1の分岐マーチング主記憶装置31-1と第1のマーチング・キャッシュメモリ21-11、21-12、……、21-1pの間、第2のマーチング・ベクトルレジスタ・ファイル22v-21、22v-22、……、22v-2pと第2の演算パイプライン117-21、117-22、……、117-2pの間、第2のマーチング・キャッシュメモリ21-21、21-22、……、21-2pと第2のマーチング・ベクトルレジスタ・ファイル22v-21、22v-22、……、22v-2pの間、第2の分岐マーチング主記憶装置31-2と第2のマーチング・キャッシュメモリ21-21、21-22、……、21-2pの間、マザー・マーチング主記憶装置31-0と第1の分岐マーチング主記憶装置31-1の間、及びマザー・マーチング主記憶装置31-0と第2の分岐マーチング主記憶装置31-2の間に存在しないからである。このため、図63に示す第4の実施形態に係るFPGA制御HPCシステムは、従来の計算機システムに用いられているFPGA制御HPCシステムより、非常に高速の処理と低い電力消費とを実現できる。処理装置12-1、12-2、12-3、……の数を増やすと、第4の実施形態に係るFPGA制御HPCシステムは、例えば、数千以上のスレッドを同時に非常に高速で実行できるので、高い計算機スループットを大量のデータに対して達成可能になる。
− 第5の実施形態 −
図64に示すように、本発明の第5の実施形態に係る計算機システムは、プロセッサ11と、プロセッサ11に接続した3次元マーチング・レジスタ・ファイルを形成するマーチング・レジスタ・ファイル22-1、22-2、22-3、……のスタック(積層体)と、3次元マーチング・レジスタ・ファイル(22-1、22-2、22-3、……)に接続した3次元マーチング・キャッシュメモリを構成するマーチング・キャッシュメモリ21-1、21-2、21-3、……のスタック(積層体)と、3次元マーチング・キャッシュ(21-1、21-2、21-3、……)に接続した3次元マーチング主記憶装置を形成するマーチング主記憶装置31-1、31-2、31-3、……のスタック(積層体)と、を備えている。プロセッサ11は、クロック信号を生成するクロック発生回路113を有する制御装置111と、クロック信号に同期して演算論理動作を実行する演算論理装置(ALU)112とを含んでいる。
3次元マーチング・レジスタ・ファイル(22-1、22-2、22-3、……)において、第1のマーチング・レジスタ・ファイル22-1は、制御装置111に接続した第1のマーチング命令レジスタ・ファイル22a-1とALU112に接続した第1のマーチング・データレジスタ・ファイル22b-1とを含み、第2のマーチング・レジスタ・ファイル22-2は、制御装置111に接続した第2のマーチング命令レジスタ・ファイルとALU112に接続した第2のマーチング・データレジスタ・ファイルとを含み、第3のマーチング・レジスタ・ファイル22-3は、制御装置111に接続した第3のマーチング命令レジスタ・ファイルとALU112に接続した第3のマーチング・データレジスタ・ファイルを含み、以下同様である。3次元マーチング・キャッシュ(21-1、21-2、21-3、……)において、第1のマーチング・キャッシュメモリ21-1は、第1のマーチング命令キャッシュメモリ21a-1と第1のマーチング・データキャッシュメモリ21b-1とを含み、第2のマーチング・キャッシュメモリ21-2は、第2のマーチング命令キャッシュメモリと第2のマーチング・データキャッシュメモリとを含み、第3のマーチング・キャッシュメモリ21-3は、第3のマーチング命令キャッシュメモリと第3のマーチング・データキャッシュメモリとを含み、……(以下同様。)……。
図示を省略しているが、図45〜図51に示したマーチング主記憶装置31と極めて類似しているが、マーチング主記憶装置31-1、31-2、31-3、……のそれぞれが、情報のユニットをそれぞれ格納したメモリユニットを2次元に配列した主記憶装置のアレイと、主記憶装置のアレイの入力端子と、主記憶装置のアレイの出力端子とを有している。マーチング主記憶装置31-1、31-2、31-3、……のそれぞれは、情報をメモリユニットのそれぞれに格納し、且つ、クロック信号に同期して、ステップごとに、主記憶装置のアレイの出力端子に向けて転送するので、格納されていた情報が3次元マーチング・キャッシュ(21-1、21-2、21-3、……)に能動的に逐次出力される。マーチング・キャッシュメモリ21-1,21-2、21-3、……のそれぞれは、キャッシュメモリユニットを2次元に配列したマーチング・キャッシュ・アレイと、マーチング・キャッシュ・アレイのキャッシュ入力端子と、マーチング・キャッシュ・アレイのキャッシュ出力端子とを有する。マーチング・キャッシュ・アレイのキャッシュ入力端子は、3次元マーチング主記憶装置(31-1、31-2、31-3、……)からマーチング主記憶装置(31-1、31-2、31-3、……)に格納されていた情報を受信する。マーチング・キャッシュメモリ21-1、21-2、21-3、……のそれぞれは、情報をキャッシュメモリユニットのそれぞれに格納し、且つ、クロック信号に同期して、ステップごとに、情報を隣接するキャッシュメモリユニットに転送して、最終的に、格納されていた情報が3次元マーチング・レジスタ・ファイル(22-1、22-2、22-3、……)に能動的且つ逐次的に送られる。マーチング・レジスタ・ファイル22-1、22-2、22-3、……のそれぞれは、情報のユニットをそれぞれ格納したレジスタ・ユニットを2次元に配列したレジスタ・アレイと、レジスタ・アレイの入力端子と、レジスタ・アレイの出力端子とを有する。レジスタ・アレイの入力端子は、3次元マーチング・キャッシュ(21-1、21-2、21-3、……)からマーチング・キャッシュ(21-1、21-2、21-3、……)に格納されていた情報を受信する。マーチング・レジスタ・ファイル22-1、22-2、22-3、……のそれぞれは、情報をレジスタ・ユニットのそれぞれに格納し、且つ、クロック信号に同期して、ステップごとに、レジスタ・アレイの出力端子に向けて転送し、最終的に、格納されていた情報がプロセッサ11に能動的に逐次出力される。プロセッサ11は、マーチング・レジスタ・ファイル22-1、22-2、22-3、……のそれぞれに格納されていた情報を用いて演算論理動作を実行する。
マーチング主記憶装置31-1,31-2、31-3、……のそれぞれは、半導体チップの表面にパターニングされたメモリユニットの2次元アレイで構成されている。複数の半導体チップが、図65(a)に示すように垂直に積層され、3次元マーチング主記憶装置(31-1,31-2、31-3、……)を形成するように、複数の半導体チップの間に放熱板58m-1、58m-2、58m-3、……を挟んでいる。放熱板58m-1、58m-2、58m-3、……は、ダイアモンドのように高い熱伝導率を有する材料から製作することが好ましい。同様に、マーチング・キャッシュメモリ21-1、21-2、21-3、……のそれぞれは、半導体チップの表面にパターニングされたメモリユニットの2次元アレイで構成されている。複数の半導体チップが、図65(b)に示すように垂直に積層され、3次元マーチング・キャッシュ(21-1、21-2、21-3、……)を形成するように、複数の半導体チップの間に放熱板58c-1、58c-2、58c-3、……を挟んでいる。マーチング・レジスタ・ファイル22-1、22-2、22-3、……のそれぞれは、半導体チップの表面にパターニングされたメモリユニットの2次元アレイで構成されている。複数の半導体チップが、図65(c)に示すように垂直に積層され、3次元マーチング・レジスタ・ファイル(22-1、22-2、22-3、……)を形成するように、複数の半導体チップの間に放熱板58r-1、58r-2、58r-3、……を挟んでいる。放熱板58c-1、58c-2、58c-3、……、58r-1、58r-2、58r-3、……は、ダイアモンドのような高い熱伝導率を有する材料から製作することが好ましい。図65(a)〜(c)及び図66に示す3次元構成では、半導体チップの表面の内部に接続配線がないので、放熱板58c-1、58c-2、58c-3、……、58c-1、58c-2、58c-3、……、58r-1、58r-2、58r-3、……を半導体チップ間に挿入することが容易になる。図65(a)〜(c)及び図66に示す構成は、任意の数の半導体チップをもつ積層構造に拡大できる。従来のアーキテクチュアでは、基本的に、従来の半導体チップを直接的に重ねるときに、熱問題のために、重ねる半導体チップの数に限界がある。第5の実施形態に係る計算機システムにおいては、図65(a)〜(c)及び図66に示すサンドイッチ構造によって、計算している活性な半導体チップからシステムの外部に向けての熱の流れを、放熱板58c-1、58c-2、58c-3、……、58c-1、58c-2、58c-3、……、58r-1、58r-2、58r-3、……を介して、より効率的に達成することができる。したがって、第5の実施形態に係る計算機システムでは、これらの半導体チップを、システムの規模に応じて積層することができる。又、図65(a)〜(c)及び図66に示すように、マーチング主記憶装置31-1、31-2、31-3、……と、マーチング・キャッシュメモリ21-1、21-2、21-3、……と、マーチング・レジスタ・ファイル22-1、22-2、22-3、……とを含む複数の半導体チップを重ねて3次元構造を容易に実現できるので、拡張性のある計算機システムを構成して、システムの温度をより低温に維持することが容易にできる。
図示を省略しているが、3次元マーチング主記憶装置(31-1,31-2、31-3、……)と3次元マーチング・キャッシュ(21-1、21-2、21-3、……)は複数の接合部材で電気的に接続される。3次元マーチング・キャッシュ(21-1、21-2、21-3、……)と3次元マーチング・レジスタ・ファイル(22-1、22-2、22-3、……)は複数の接合部材で電気的に接続され、3次元マーチング・レジスタ・ファイル(22-1、22-2、22-3、……)とプロセッサ11は他の複数の接合部材で電気的に接続される。ALU112における処理の最終データは、3次元マーチング・レジスタ・ファイル(22-1、22-2、22-3、……)に接合部材を介して出力されるので、データは、3次元マーチング・レジスタ・ファイル(22-1、22-2、22-3、……)とALU112との間で双方向に転送される。更に、3次元マーチング・レジスタ・ファイル(22-1、22-2、22-3、……)に格納したデータは、3次元マーチング・キャッシュ(21-1、21-2、21-3、……)に接合部材を介して出力されるので、データは、3次元マーチング・キャッシュ(21-1、21-2、21-3、……)と3次元マーチング・レジスタ・ファイル(22-1、22-2、22-3、……)との間で双方向に転送される。更に、3次元マーチング・キャッシュ(21-1、21-2、21-3、……)に格納したデータは、3次元マーチング主記憶装置(31-1,31-2、31-3、……)に接合部材を介して出力されるので、データは、3次元マーチング主記憶装置(31-1,31-2、31-3、……)と3次元マーチング・キャッシュ(21-1、21-2、21-3、……)との間で双方向に転送される。
逆に、3次元マーチング主記憶装置(31-1,31-2、31-3、……)から3次元マーチング・キャッシュ(21-1、21-2、21-3、……)に、3次元マーチング・キャッシュ(21-1、21-2、21-3、……)から3次元マーチング・レジスタ・ファイル(22-1、22-2、22-3、……)に、及び3次元マーチング・レジスタ・ファイル(22-1、22-2、22-3、……)から制御装置111に向かい、命令の流れは1方向だけである。例えば、ソース・プログラムのループから生成したベクトル命令は、3次元マーチング主記憶装置(31-1、31-2、31-3、……)から3次元マーチング・キャッシュ(21-1、21-2、21-3、……)へ転送される。そして、3次元マーチング・キャッシュ(21-1、21-2、21-3、……)を介して3次元マーチング・レジスタ・ファイル(22-1、22-2、22-3、……)へ転送され、3次元マーチング・レジスタ・ファイル(22-1、22-2、22-3、……)を介して制御装置111に転送される。この結果、これらの転送されたベクトル命令のそれぞれを、制御装置111の演算パイプラインで実行できる。図64に示す第5の実施形態に係る計算機システムには、任意のデータ交換におけるデータバスやアドレスバス等のバスが、3次元マーチング主記憶装置(31-1,31-2、31-3、……)と3次元マーチング・キャッシュ(21-1、21-2、21-3、……)との間にも、3次元マーチング・キャッシュ(21-1、21-2、21-3、……)と3次元マーチング・レジスタ・ファイル(22-1、22-2、22-3、……)との間にも、及び3次元マーチング・レジスタ・ファイル(22-1、22-2、22-3、……)とプロセッサ11との間にも、いずれも存在しない。一方、従来の計算機システムでは、配線又はバスがボトルネックを形成している。第5の実施形態に係る計算機システムによれば、バス間に時間的な遅延と浮遊容量を生じるグローバルな配線がないので、従来の計算機システムより遙かに高速の処理と低い電力消費とを実現できる。更に、計算機システムの温度を従来の計算機システムより低い温度に維持できるので、第5の実施形態に係る計算機システムによれば、ダイアモンドのように高い熱伝導率を有する材料からなり、且つ半導体チップ間に設けた、放熱板58c-1、58c-2、58c-3、……、58c-1、58c-2、58c-3、……、58r-1、58r-2、58r-3、……を採用することにより、「クールな(冷却された)計算機」を構築できる。第5の実施形態に係るクールな計算機は従来の計算機とは異なるものである。何故ならば、クールな計算機は、平均すると、30%もエネルギー消費が少なく且つ10000%もサイズが小さく、例えば、100倍の速度を得るように検討され、設計されているからである。
第5の実施形態に係る計算機システムの他の機能、構成や動作方法等は、第1〜第3の実施形態で既に説明した機能、構成や方式等と実質的に類似しているので、重複した冗長な説明は省略する。
(種々の3次元構成)
図64、図65(a)、図65(b)及び図65(c)に示す3次元構成は単なる例であり、拡張性のある計算機システムの構成を実現する3次元構造を達成する方法として、種々の方式や組み合わせがある。
例えば、図66に示すように、複数の演算パイプライン117と複数のマーチング・レジスタ・ファイル22とを集積化した第1のチップ(上段のチップ)と、マーチング・キャッシュメモリ21を集積化した第2のチップ(中間のチップ)と、マーチング主記憶装置31を集積化した第3のチップ(下段のチップ)を、垂直に積層することができる。演算パイプライン117のそれぞれはベクトル処理装置を含むことができ、マーチング・レジスタ・ファイル22のそれぞれはマーチング・ベクトルレジスタを含むことができる。第1と第2のチップ間に、複数の接合部材55aが挿入され、第2と第3のチップ間に、複数の接合部材55bが挿入される。例えば、接合部材55aと55bのそれぞれは、半田ボール、金(Au)バンプ、銀(Ag)バンプ、銅(Cu)バンプ、ニッケル−金(Ni−Au)合金バンプ、又はニッケル−金−インジウム(Ni−Au−In)合金バンプなどのような導電性バンプで形成できる。図示を省略しているが、放熱板は、図65(a)〜(c)及び図66に示す構成と同様に、「クールなチップ」を実現するように、第1と第2のチップ間及び第2と第3のチップ間に挿入できる。
或いは、図67及び図68に示すように、第1の上段チップ、第1の中間チップ及び第1の下段チップを含む第1の3次元(3D)スタックと、第2の上段チップ、第2の中間チップ及び第2の下段チップとを含む第2の3Dスタックは、同じ基板又は同じ回路基板上に2次元状に設けて、マルチプル・プロセッサとの並列計算が可能になる。図67及び図68に示す構造では、第1の3Dスタックと第2の3Dスタックが、ブリッジ59a及びブリッジ59bによって互いに接続されている。
第1の3Dスタックでは、複数の第1の演算パイプライン117-1と複数の第1のマーチング・レジスタ・ファイル22-1を集積化した第1の上段チップと、第1のマーチング・キャッシュメモリ21-1を集積化した第1の中間チップと、第1のマーチング主記憶装置31-1を集積化した第1の下段チップが、垂直に3Dで積層されている。第1の演算パイプライン117-1のそれぞれがベクトル処理装置を含み、第1のマーチング・キャッシュ・ファイル22-1のそれぞれはマーチング・ベクトルレジスタを含んでいる。第1の上段チップと第1の中間チップの間に複数の接合部材55a-1が挿入され、第1の中間チップと第1の下段チップの間に複数の接合部材55b-1が挿入されている。例えば、接合部材55a-1と55b-1のそれぞれは、半田ボール、金(Au)バンプ、銀(Ag)バンプ、銅(Cu)バンプ、ニッケル−金(Ni−Au)合金バンプ、又はニッケル−金−インジウム(Ni−Au−In)合金バンプなどのような導電性バンプで形成できる。同様に、第2の3Dスタックでは、複数の第2の演算パイプライン117-2と複数の第2のマーチング・レジスタ・ファイル22-2を集積化した第2の上段チップと、第2のマーチング・キャッシュメモリ21-2を集積化した第2の中間チップと、第2のマーチング主記憶装置31-2を集積化した第2の下段チップが、垂直に3Dで積層されている。第2の演算パイプライン117-2のそれぞれがベクトル処理装置を含み、第2のマーチング・キャッシュ・ファイル22-2のそれぞれがマーチング・ベクトルレジスタ
を含んでいる。第2の上段チップと第2の中間チップの間に複数の接合部材55a-2が挿入され、第2の中間チップと第2の下段チップの間に複数の接合部材55b-2が挿入されている。例えば、例えば、接合部材55a-2と55b-2のそれぞれは、半田ボール、金(Au)バンプ、銀(Ag)バンプ、銅(Cu)バンプ、ニッケル−金(Ni−Au)合金バンプ、又はニッケル−金−インジウム(Ni−Au−In)合金バンプなどのような導電性バンプで形成できる。図示を省略しているが、放熱板は、第1の上段チップと第1の中間チップの間、第1の中間チップと第1の下段チップの間、第2の上段チップと第2の中間チップの間、及び第2の中間チップと第2の下段チップの間に、図65(a)〜(c)及び図66に示す構成と同様に挿入して、「クールなチップ」を達成できる。
第4の実施形態に係る計算機システムと同様に、フィールド・プログラマブル・ゲート・アレイ(FPGA)は、ベクトル処理のスレッド又はチェイニングを第1の演算パイプライン117-1と第2の演算パイプライン117-2上で移行して、HPCシステムを形成することにより、第1の3Dスタックと第2の3Dスタックの動作を切り替えて制御できるので、これは、GPUを基礎とした汎用計算に使用できる。
更に代わりに、図69に示すように、複数の演算パイプライン117を集積化した第1のチップ(最上段チップ)と、複数のマーチング・レジスタ・ファイル22を集積化した第2のチップと、マーチング・キャッシュメモリ21を集積化した第3のチップと、第1のマーチング主記憶装置31-1を集積化した第4のチップと、マーチング主記憶装置31-2を集積化した第5のチップと、第3のマーチング主記憶装置31-3を集積化した第6のチップ(最下段チップ)とを、垂直に重ねることができる。演算パイプライン117のそれぞれはベクトル処理装置を含み、マーチング・レジスタ・ファイル22のそれぞれはマーチング・ベクトルレジスタを含むので、ソース・プログラムのループから生成したベクトル命令は、ベクトル処理装置で実行できる。第1の放熱板58-1が第1と第2のチップ間に挿入され、第2の放熱板58-2が第2と第3のチップ間に挿入され、第3の放熱板58-1が第3と第4のチップ間に挿入され、第4の放熱板58-4が第4と第5のチップ間に挿入され、第5の放熱板58-5が第5と第6のチップ間に挿入されて、「クールなチップ」が実現する。図69に示す3次元構成のこれらのクールなチップの表面の内部に接続配線がないので、ダイアモンド・チップのような放熱板58-1、58-2、58-3、58-4、58-5を、これらの6個のチップ間に交互に挿入することが容易になる。
図69に示すクールなチップの構成は、6個のチップの場合に限定されない。任意の数のチップをもつ3次元の積層構造に拡大できる。何故ならば、図69に示すサンドイッチ構造は、熱の流れを、計算を実行中の活性なチップから、放熱板58-1、58-2、58-3、58-4、58-5を介してクールな計算機システムの外部に向けて、より効果的に確立するのに適しているからである。したがって、第5の実施形態に係る計算機システムにおけるクールなチップの数は、計算機システムの規模に比例して増加できる。
図70〜図72は、本発明の第5の実施形態に係る計算機システムの基本的なコアの一部を形成する、3次元(3D)スタックの様々な例を示す。3Dスタックのそれぞれは、半導体メモリチップ3aと半導体メモリチップ3bの間に挿入したダイアモンド板のような放熱板58をもつ冷却技術によって実現されている。半導体メモリチップ3a及び半導体メモリチップ3bには、マーチング記憶装置ファミリとして分類されたマーチング記憶装置の少なくとも一つが集積化されている。「マーチング記憶装置ファミリ」という用語は、第2の実施形態で説明したALU112に接続するマーチング命令レジスタ・ファイル22aとマーチング・データレジスタ・ファイル22bと、第3の実施形態で説明したマーチング命令キャッシュメモリ21a及びマーチング・データキャッシュメモリ21bとを、第1の実施形態で説明されたマーチング主記憶装置31に加えて含んだ上位概念を示す語である。
即ち、図70に示すように、本発明の第5の実施形態に係る計算機システムの基本的なコアの一部を形成する3Dスタックは、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化した第1の半導体メモリチップ3aと、第1の半導体メモリチップ3aの下に設けた放熱板58と、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化した放熱板58の下に設けた第2の半導体メモリチップ3bと、放熱板58の側面に設けたプロセッサ11と、を備えている。図70では、プロセッサ11の位置が一例として図示してあるが、プロセッサ11は、3Dスタックの設計の選択に基づいて、3Dスタックの構造内又は3Dスタックの外部の任意の必要な、若しくは適当な場所に設けることができる。例えば、プロセッサ11は、第1の半導体メモリチップ3aと同じ水平レベル又は第2の半導体メモリチップ3bのレベルにおくことができる。第1の半導体メモリチップ3a上に集積化したマーチング記憶装置と第2の半導体メモリチップ3b上に集積化したマーチング記憶装置は、それぞれ、プログラム命令を格納している。第1の半導体メモリチップ3aと放熱板58と第2の半導体メモリチップ3bが垂直に積層されている図70に示す3D構成において、第1の制御経路(パス)が第1の半導体メモリチップ3aとプロセッサ11との間に設けられ、第2の制御経路(パス)が第2の半導体メモリチップ3bとプロセッサ11の間に設けられているので、プロセッサ11による制御処理の実行を促進することができる。更なるデータの伝搬経路が、第1の半導体メモリチップ3aと第2の半導体メモリチップ3bとの間に設けられているので、第1の半導体メモリチップ3aと第2の半導体メモリチップ3bとの間におけるプログラム命令の直接な通信を促進することができる。
そして、図71に示すように、本発明の第5の実施形態に係る計算機システムの基本的なコアの一部を形成する他の3Dスタックは、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化した第1の半導体メモリチップ3aと、第1の半導体メモリチップ3aの下に設けた放熱板58と、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化した放熱板58の下に設けた第2の半導体メモリチップ3bと、放熱板58の側面に設けたALU112と、を備えている。ALU112の位置は図71に示す場所に限定されない、そして、ALU112は、3Dスタックの設計の選択に基づいて、第1の半導体メモリチップ3aと同じ水平レベルで又は第2の半導体メモリチップ3bのレベルでおかれた場所のように、3Dスタックの構造内で又は3Dスタックの外部で、任意の必要な又は適当な場所に設けることができる。第1の半導体メモリチップ3a上に集積化したマーチング記憶装置と第2の半導体メモリチップ3b上に集積化したマーチング記憶装置は、それぞれ、スカラデータの読取/書き込みを行う。第1の半導体メモリチップ3aと放熱板58と第2の半導体メモリチップ3bが垂直に積層されている、図71に示す3D構成では、第1のデータの伝搬経路が第1の半導体メモリチップ3aとALU112との間に設けられ、第2のデータの伝搬経路が第2の半導体メモリチップ3bとALU112の間に設けられているので、ALU112によるスカラデータ処理の実行を促進することができる。更なるデータの伝搬経路が、第1の半導体メモリチップ3aと第2の半導体メモリチップ3bとの間に設けられているので、第1の半導体メモリチップ3aと第2の半導体メモリチップ3bとの間におけるスカラデータの直接な通信を促進できる。
更に、図72に示すように、本発明の第5の実施形態に係る計算機システムの基本的なコアの一部を形成する更に他の3Dスタックは、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化した第1の半導体メモリチップ3aと、第1の半導体メモリチップ3aの下に設けた放熱板58と、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化し且つ放熱板58の下に設けた第2の半導体メモリチップ3bと、放熱板58の側面に設けた演算パイプライン117と、を備えている。図62と63に示す形状と同様に、演算パイプライン117の位置は図72に示す場所に限定されない、そして、演算パイプライン117は、任意の必要な又は適当な場所に設けられることができる。第1の半導体メモリチップ3a上に集積化したマーチング記憶装置と第2の半導体メモリチップ3b上に集積化したマーチング記憶装置は、それぞれ、ベクトル・データ又はストリーミング・データの読取/書き込みを行う。第1の半導体メモリチップ3aと放熱板58と第2の半導体メモリチップ3bが垂直に積層されている、図72に示す3D構成において、第1のデータの伝搬経路が第1の半導体メモリチップ3aと演算パイプライン117との間に設けられ、第2のデータの伝搬経路が第2の半導体メモリチップ3bと演算パイプライン117との間に設けられているので、演算パイプライン117によるベクトル/ストリーミング・データ処理の実行を促進できる。更なるデータの伝搬経路が、第1の半導体メモリチップ3aと第2の半導体メモリチップ3bとの間に設けられているので、第1の半導体メモリチップ3aと第2の半導体メモリチップ3bとの間におけるベクトル/ストリーミング・データの直接的な通信を促進できる。
図73に示すように、第5の実施形態に係る3Dハイブリッド計算機システムは、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化した第1の左側チップ(最上部の左側チップ)3p-1と、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化した第2の左側チップ3p-2と、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化した第3の左側チップ3p-3と、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化した第4の左側チップ3p-4と、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化した第5の左側チップ3p-5と、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化した第6の左側チップ(最下部の左側チップ)3p-6と、を備え、第1の左側チップ3p-1〜第6の左側チップ3p-6は、垂直に積層されている。第1の左放熱板58a-1は第1の左側チップ3p-1と第2の左側チップ3p-2との間に挿入され、第2の左放熱板58a-2は第2の左側チップ3p-2と第3の左側チップ3p-3との間に挿入され、第3の左放熱板58a-1は第3の左側チップ3p-3と第4の左側チップ3p-4との間に挿入され、第4の左放熱板58a-4は第4の左側チップ3p-4と第5の左側チップ3p-5との間に挿入され、第5の左放熱板58a-5は第5の左側チップ3p-5と第6の左側チップ3p-6との間に挿入されているので、「クールな左側チップ」を実現できる。
そして、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化した第1の右側チップ(最上部の右側チップ)3q-1と、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化した第2の右側チップ3q-2と、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化した第3の右側チップ3q-3と、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化した第4の右側チップ3q-4と、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化した第5の右側チップ3q-5と、マーチング記憶装置ファミリに含まれるマーチング記憶装置の少なくとも一つを集積化した第6の右側チップ(最下部の右側チップ)3q-6とが、垂直に積層されている。第1の右放熱板58b-1は第1の右側チップ3q-1と第2の右側チップ3q-2との間に挿入され、第2の右放熱板58b-2は第2の右側チップ3q-2と第3の右側チップ3q-3との間に挿入され、第3の右放熱板58b-1は第3の右側チップ3q-3と第4の右側チップ3q-4との間に挿入され、第4の右放熱板58b-4は第4の右側チップ3q-4と第5の右側チップ3q-5との間に挿入され、第5の右放熱板58b-5は第5の右側チップ3q-5と第6の右側チップ3q-6との間に挿入されているので、「クールな右側チップ」を実現できる。
第1の処理装置11aが第1の左放熱板58a-1と第1の右放熱板58b-1との間に設けられ、第2の処理装置11bが第3の左放熱板58a-3と第3の右放熱板58b-3との間に設けられ、第3の処理装置11cが第5の左放熱板58a-5と第5の右放熱板58b-5との間に設けられ、そして、パイプラインのALUは、処理装置11a、11b、11cに、それぞれ、含まれている。
スカラデータの伝搬経路と制御経路(パス)は第1の左側チップ3p-1と第2の左側チップ3p-2の間に構築され、スカラデータの伝搬経路と制御経路は第2の左側チップ3p-2と第3の左側チップ3p-3の間に構築され、スカラデータの伝搬経路と制御経路は第3の左側チップ3p-3と第4の左側チップ3p-4の間に構築され、スカラデータの伝搬経路と制御経路は第4の左側チップ3p-4と第5の左側チップ3p-5の間に構築され、スカラデータの伝搬経路と制御経路は第5の左側チップ3p-5と第6の左側チップ3p-6の間に構築され、スカラデータの伝搬経路と制御経路は第1の右側チップ3q-1と第2の右側チップ3q-2の間に構築され、スカラデータの伝搬経路と制御経路は第2の右側チップ3q-2と第3の右側チップ3q-3の間に構築され、スカラデータの伝搬経路と制御経路は第3の右側チップ3q-3と第4の右側チップ3q-4の間に構築され、スカラデータの伝搬経路と制御経路は第4の右側チップ3q-4と第5の右側チップ3q-5の間に構築され、スカラデータの伝搬経路と制御経路は第5の右側チップ3q-5と第6の右側チップ3q-6の間に構築される。図73に示す3D計算機システムは、スカラデータだけでなくベクトル/ストリーミング・データも、計算機システムのためにスカラデータの伝搬経路と制御経路の組み合わせを介して実行できる。
図73に示す3D構成では、これらのクールなチップの表面の内部に接続配線がないので、ダイアモンド左側チップのような放熱板58a-1、58a-2、58a-3、58a-4、58a-5を、これらの6個の左側チップの間に交互に挿入することが容易になり、且つダイアモンド右側チップのような放熱板58b-1、58b-2、58b-3、58b-4、58b-5を、これらの6個の右側チップの間に交互に挿入することが容易になる。
−その他の実施形態 −
様々な変形例が、本件の開示の示唆事項から、その趣旨から逸脱せずに、当業者に可能と思われる。
図4〜図6、図8、図11、図31、図16〜20、図22、図25、図32において、nMOSトランジスタがビットレベル・セルのトランジスタ・レベル表現における転送トランジスタとリセット・トランジスタとして、それぞれ、配置してあるが、図4〜図6、図8、図11、図31、図16〜20、図22、図25、図32の図示を単なる概略的な例なので、pMOSトランジスタが、クロック信号の逆の極性を採用する場合に、転送トランジスタとリセット・トランジスタとして使用できる。更に、窒化ケイ素膜、ONO膜、SrO膜、Al2O3膜、MgO膜、Y2O3膜、HfO2膜、ZrO2膜、Ta2O5膜、Bi2O3膜、HfAlO膜などからなるゲート絶縁膜を有するMISトランジスタ又は絶縁ゲート・トランジスタを、転送トランジスタやリセット・トランジスタに使用できる。
ビットレベル、命令レベル、データ、タスクの並列処理のような並列計算に関して幾つかの異なる形態がある。「フリンの分類法」として知られているように、プログラムと計算機は、それらが命令の単一セット又は多重セットを用いて動作しているかについて、これらの命令がデータの単一又は多重セットを用いているかどうかにかかわらず区分けされている。
例えば、図74に示すように、マーチング・レジスタ・ファイルとマーチング・キャッシュメモリとマーチング主記憶装置とを既に第1〜第5の実施形態で述べたように含むマーチング記憶装置は、多重命令単一データ(MISD)アーキテクチュアにおけるスカラ/ベクトル・データのビットレベル並列処理を実施できる。それにより、第1のプロセッサ11-1、第2のプロセッサ11-2、第3のプロセッサ11-3、第4のプロセッサ11-4、……に対して垂直に設けた多数の独立した命令の流れが、プロセッサ11-1、11-2、11-3、11-4のシストリック・アレイにより一回でデータの単一の水平の流れ上で平行に動作する。
或いは、既に第1〜第5の実施形態で述べたマーチング・レジスタ・ファイルとマーチング・キャッシュメモリとマーチング主記憶装置とを単一命令多重データ(SIMD)アーキテクチュアで含むマーチング記憶装置により、図75に示す演算レベル並列処理が実現できる。図75では、単一命令流が第1のプロセッサ11-1と第2のプロセッサ11-2と第3のプロセッサ11-3と第4のプロセッサ11-4とに呈せられるので、単一命令流は、プロセッサ11-1、11-2、11-3、11-4のアレイにより、一度にデータの多重垂直流で動作できる。
更に代わりに、既に第1〜第5の実施形態で述べたマーチング・レジスタ・ファイルとマーチング・キャッシュメモリとマーチング主記憶装置とを含むマーチング記憶装置は、図76に示すように、第1の命令I1と第2の命令I2と第3の命令I3と第4の命令I4によって、第1のプロセッサ11-1と第2のプロセッサ11-2と第3のプロセッサ11-3と第4のプロセッサ11-4におけるベクトル処理での一般的なチェイニングを形成できる。
更に、図77に示すように、既に第1〜第5の実施形態で述べたマーチング・レジスタ・ファイルとマーチング・キャッシュメモリとマーチング主記憶装置とを含むマーチング記憶装置は、第1のプロセッサ11-1と第2のプロセッサ11-2と第3のプロセッサ11-3と第4のプロセッサ11-4とにより、MISDアーキテクチュアにおけるスカラ/ベクトル・データの単一水平流の並列処理を実行できる。
更に、既に第1〜第5の実施形態で述べたマーチング・レジスタ・ファイルとマーチング・キャッシュメモリとマーチング主記憶装置とを含むマーチング記憶装置は、図78に示すように、乗算を実行する第1のプロセッサ11-1と、加算を実行する第2のプロセッサ11-2と、乗算を実行する第3のプロセッサ11-3と、加算を実行する第4のプロセッサ11-4とにより、MISDアーキテクチュアにおけるスカラ/ベクトル・データの単一水平流の並列処理を実行できる。
更に、処理レベル並列処理については、単一スレッド流及びデータ流アーキテクチュア、単一スレッド流及び多重データ流アーキテクチュア、多重スレッド流及び単一データ流アーキテクチュア、多重スレッド流及び多重データ流アーキテクチュアが、既に第1〜第5の実施形態で述べたマーチング・レジスタ・ファイルとマーチング・キャッシュメモリとマーチング主記憶装置とを含むマーチング記憶装置により実現できる。
図41を参照して、スカラデータ又はプログラム命令に対する従来型記憶装置の最悪の場合の速度/処理能力を、マーチング主記憶装置31の速度/処理能力と比較した。図41(b)の斜線部分は、100個のメモリユニットU1、U2、U3、……、U100からなるマーチング主記憶装置31の速度/処理能力を概略的に示し、図41(a)に示す従来型記憶装置の最悪の場合の速度/処理能力と比較した。最悪の場合で、我々は、マーチング主記憶装置31の99個のメモリユニットを読み出せるが、それらはスカラ・プログラムの規定のために使用できないと述べた。しかし、図79(b)に示す「複合マーチングメモリ」スキームにより、我々は、スカラデータ又はプログラム命令に対するマーチングメモリの速度/処理能力を改善できる。そして、複数のマーチング・メモリーブロックMM11、MM12、MM13,-----、MM16;MM21、MM22、MM23、-----、MM26;MM31、MM32、MM33、-----、MM36;-----、;MM51、MM52、MM53、-----、MM56が、2次元で配列され、単一半導体チップ66上に集積化している。指定のマーチング・メモリーブロックMMij(i=1〜5;j=1〜6)が、複数のマーチング・メモリーブロックMM11、MM12、MM13,-----、MM16;MM21、MM22、MM23、-----、MM26;MM31、MM32、MM33、-----、MM36;-----、;MM51、MM52、MM53、-----、MM56から、ダイナミック・ランダムアクセス・メモリ(DRAM)アーキテクチュアに採用しているランダムアクセス方式と同様にランダムにアクセスできる。
図79(a)に示すように、従来のDRAMでは、メモリアレイ領域661と、行デコーダ用周辺回路662と、感知増幅器用周辺回路663と、列デコーダ用周辺回路664が、単一半導体チップ66上に集積化されている。複数のメモリセルが、メモリアレイ領域661の行と列からなるアレイに配置してあるので、メモリセルの各行は共通の「ビット」ラインを共有し、セルの各列が共通「ビット」ラインを共有し、アレイのメモリセルの位置が、その「ワード」と「ビット」ラインの交点と定められている。「書き込み」動作中に、書き込むべきデータ(‘1’又は‘0’)が列デコーダ664から「ビット」線に記され、「ワード線」が、行デコーダ662からアサートされるので、メモリセルのアクセス・トランジスタがオンする。コンデンサは、ビット・ラインの状態に基づいて充電又は放電が可能になる。「読取」動作中に、「書き込み」ラインも、行デコーダ662からアサートされるので、アクセス・トランジスタがオンする。使用可能なトランジスタにより、コンデンサの電圧を、「ビット」ラインを介して感知増幅器663から読み取ることができる。感知増幅器663は、‘1’又は‘0’がメモリセルに格納してあるかどうかについて、感知したコンデンサ電圧と閾値を比較して決定できる。
複雑な図面になることを避けるために、図79(b)では6×5=30個のマーチング・メモリーブロックMM11、MM12、MM13,-----、MM16;MM21、MM22、MM23、-----、MM26;MM31、MM32、MM33、-----、MM36; -----、;MM51、MM52、MM53、-----、MM56を半導体チップ66に描いたが、図面は便宜上の模式表現にすぎない。512MビットのDRAMチップ技術を図79(b)に示す複合マーチングメモリ方式の製造技術として想定し、一方向マーチングメモリを配列すると仮定すると、実際には、千個の256kビットの容量のマーチング・メモリーブロックMMij(i=1〜s;j=1〜t;及びs×t=1000)が同一半導体チップ66上に配列できる。即ち、256kビットの容量を有するマーチング・メモリーブロックMMijのそれぞれをモノリシックに半導体チップ66に集積化するために必要な領域として、512kビットDRAMブロックと等価な領域が必要になる。何故ならば、図4〜図6に示すように、一方向マーチング・メモリーブロックのそれぞれが2個のトランジスタと1個のコンデンサからなるビットレベル・セルで形成されているからである。これに対して、DRAMメモリセルは、コンデンサがペアになっている1個だけのトランジスタから構成している。或いは、一方向マーチングメモリのアレイについて、128kビット容量の千個のマーチング・メモリーブロックMMijを、512MビットDRAMチップの同一半導体チップ66に採用できる。即ち、128kビット容量を有するマーチング・メモリーブロックMMijのそれぞれをモノリシックに集積化する領域として、512kビットDRAMブロックに対して等価な領域が必要になる。何故ならば、DRAMメモリセルは1個のトランジスタと1個のコンデンサだけからなるが、一方向のマーチング・メモリーブロックは、図32に示すように、4個のトランジスタと2個のコンデンサからなるビットレベル・セルで形成されているからである。1個のGビットDRAMチップ技術を想定した場合は、256kビット容量の千個の一方向マーチング・メモリーブロックMMijが、256Mビットのマーチングメモリチップを形成するのに必要なDRAMチップ66の上に配列できる。
したがって、千個のマーチング・メモリーブロックMMij又は千個のマーチングメモリ・コアが、図79(b)に示すように、半導体チップ66の上にモノリシックに集積化できる。単一のマーチング・メモリーブロックMMij又は「単一のマーチングメモリ・コア」が、例えば、千個のマーチングメモリ・カラム、即ち、千個のマーチングメモリユニットUk(k=1〜1000)を有している。そして、1個のマーチングメモリユニットUkは、1000×32バイト・ベースのアドレスを有するので、1メモリユニットUkは256ビットレベル・セルを有している。即ち、千個のマーチング・メモリーブロックMMijを有する複合マーチングメモリチップにより、32バイト(又は256ビット)の千個のマーチングメモリユニットUk(k=1〜1000)が、従来のDRAMアクセスの1サイクル以内でのアクセスを可能にする。
図80(a)及び図80(b)は、32バイト(又は256ビット)の千個のマーチングメモリユニットUk(k=1〜n;n=100)を有する256kビットのマーチング・メモリーブロックMMijの一例を示す。複合マーチングメモリ方式では、図80(b)に示すように、位置インデックスTk(k=1〜1000)又は位置タグが、カラム(列)Ukのそれぞれのトークンとして、マーチングメモリユニットUkのそれぞれの列上に、それぞれラベル表示されてカラム・バイトの最初のアドレスを意味している。図80(b)では、図7Cに示すクロック周期(クロックサイクル時間)τclockが、「マーチングメモリのメモリ・サイクルtM」として記されている。
第1〜第5の実施形態で述べたことを鑑みれば、従来のDRAMとマーチングメモリとの間には、図80(c)に示すような大きな速度差があることが分かる。図80(c)に示すように、従来のDRAMの1メモリ素子の中味を読み取り、又は書き込むためのメモリ・サイクルtCに対し、マーチングメモリのメモリ・サイクルtMは下記のように評価できる:
tC=1000tM (1)
したがって、図79(b)に示す複合マーチングメモリ方式により、我々は、スカラデータ又はプログラム命令の速度/処理能力を改善できる。その場合には、DRAMアーキテクチュアで採用するランダムアクセス方式と同様に、特定のマーチング・メモリーブロックMMij(i=1〜s;j=1〜t、そしてs×t=1000)を千個のマーチングメモリの配列の中からランダムに指定してアクセスできる。
図79(b)では図示を省略しているが、複数の256kビットのマーチング・メモリーブロックMMijが半導体チップ66の上に2次元マトリクス状に配置できる。この2次元マトリクス状に配置では、マーチング・メモリーブロックMMijのそれぞれの水平配列が共通の水平コア・ラインを共有し、マーチング・メモリーブロックMMijのそれぞれの垂直配列が共通の垂直コア・ラインを共有する。又、2次元マトリクスで指定されたマーチング・メモリーブロックMMijの位置は、その水平コア・ラインと垂直コア・ラインの交点として、2層ヒエラルキー(階層)でアクセスされる。2層ヒエラルキーを用いて対象となるマーチング・メモリーブロックMMijのすべての列が低レベルのアドレスでアクセスされ、すべてのマーチング・メモリーブロックMMijが、それ自体のアドレスで、高レベルのアドレスでそれぞれマーチング・メモリーブロックMMijに対して直接アクセスされる。
或いは、仮想記憶機構を、複合マーチングメモリのアクセス方式に使用できる。仮想記憶機構では、マーチング・メモリーブロックMMij(i=1〜s;j=1〜t)、又は用いるマーチングメモリ・コアを、仮想メモリのページのようにスケジュールする。スケジューリングは、任意の場合で、コンパイル実行ランで決まる。例えば、マルチレベル・キャッシュ・アーキテクチュアでは、通常、マルチレベル・キャッシュの最小レベル(L1)キャッシュを最初にチェックすることから動作が開始する。仮にL1キャッシュがヒットすればプロセッサは高速で処理を進行させる。小さなL1キャッシュをミスすると、次に大きいキャッシュ(L2)がチェックされる。このより小さなレベルのキャッシュがミスしたら次に大きいレベルのキャッシュがチェックされる手順が、外部メモリがチェックされるまで進行する。複合マーチングメモリのアクセス方式として、L2キャッシュのようなメモリが、仮想インデックス指定機構をサポートできる。何故ならば、L2キャッシュのサイズが複合マーチングメモリのサイズに対応し、マーチング・メモリーブロックMMijのサイズが最小のL1キャッシュのサイズに対応しているからである。
このように、千個のマーチング・メモリーブロック又は千個のコアを備える複合マーチングメモリが比較的簡単に構築できるので、複合マーチングメモリにおいては、任意の列のアクセスがCPUのクロック・レートで基本的に使用でき、最悪の場合でも、複合マーチングメモリの速度は、従来のDRAMの速度を維持できる。
回路基板の図示を省略しているが、更に、複数の複合マーチングメモリチップ又は複数のマクロ複合マーチング・メモリーブロックMMM1、MMM2、-----、MMMkが、図81に示す「複合マーチングメモリ・モジュール」又は複合マーチングメモリのマルチチップ・モジュールを形成するために、外部接続ピンP1、P2、-----、Ps-1、Ps(“s”は、バイトの単位又はワード・サイズから決まる任意の整数)を有する第1の回路基板に実装できる。マクロ複合マーチング・メモリーブロックMMM1、MMM2、-----、MMMkの混成実装において、第1のマクロ複合マーチング・メモリーブロックMMM1は、例えば、第1の半導体チップに千個のマーチング・メモリーブロックMM111、MM121、MM131、-----、MM1(t-1)1、MM1t1;MM211、-----;MM(s-1)11----;MMs11、MMs21、-----、MMs(t-1)1;MMst1をモノリシックに集積化できる。第2のマクロ複合マーチング・メモリーブロックMMM2は、第2の半導体チップに千個のマーチング・メモリーブロックMM112、MM122、MM132、-----、MM1(t-1)2、MM1t2; MM212、-----;MM(s-1)12 -----;MMs12、MMs22、-----、MMs(t-1)2;MMst2をモノリシックに集積化できる ------、そして、k番目の複合マーチング・メモリーブロックMMMkは、k番目の半導体チップに千個のマーチング・メモリーブロックMM11k、MM12k、MM13k、-----、MM1(t-1)k、MM1tk; MM21k-----;MM(s-1)1k -----;MMs1k、MMs2k、-----、MMs(t-1)k;MMstkをモノリシックに集積化できる。そして、マクロ複合マーチング・メモリーブロックMMM1、MMM2、-----、MMMkをハイブリッドで実装している第1の複合マーチングメモリ・モジュールは、外部接続ピンP1、P2、-----、Ps-1、Psを介して第2の回路基板上に、マクロ複合マーチング・メモリーブロックMMMk+1などをハイブリッドに実装している第2の複合マーチングメモリ・モジュールに接続できる。ここで、マクロ複合マーチング・メモリーブロックMMMk+1は、例えば、半導体チップに、千個のマーチング・メモリーブロックMM11(k+1)、MM12(k+1)、MM13(k+1)、-----、MM1(t-1)(k+1)、MM1t(k+1);MM21(k+1)、-----;MM(s-1)1(k+1)-----;MMs1(k+1)、MMs2(k+1)、-----、MMs(t-1)(k+1);MMst(k+1)をモノリシックに集積化できる。そのうえ、マクロ複合マーチング・メモリーブロックの混成実装のデュアル・ラインを形成できるならば、複合マーチングメモリのデュアル・インライン・モジュールを構築できる。
図81に示す複合マーチングメモリ・モジュールの構成において、3層ヒエラルキー(階層)を用いれば、最低レベルの階層のアドレスで、対象とするマーチング・メモリーブロックMMiju(u=1〜k;“k”は2以上の任意の整数)のすべての列がアクセスされる。中間レベルの階層では、すべてのマーチング・メモリーブロックMMijuがそれ自体のアドレスでそれぞれマーチング・メモリーブロックMMijに対してアクセスされる。最高レベルの階層では、すべてのマクロ・マーチング・メモリーブロックMMMu(u=1〜k)がそれ自体のアドレスで直接アクセスできる。したがって、3層ヒエラルキーを用いれば、スカラデータ又はプログラム命令に対してマーチングメモリの離れたカラム(列)に対するアクセスを促進することができる。
或いは、同じランク内のDRAMチップを同時にアクセスするDRAMランク・アーキテクチュアと非常に類似した状態で、複数のマクロ複合マーチング・メモリーブロックMMM1、MMM2、-----、MMMkを同時にランダムにアクセスしてもよい。DRAMランク・アーキテクチュアでは、メモリのコマンドに対してロックステップ方式で動作するDRAMチップのセットを備える。又、前述の2層ヒエラルキー方式により、対象とするマーチング・メモリーブロックMMiju(u=1〜k)のすべての列が、最低レベルのアドレスでアクセスされ、すべてのマーチング・メモリーブロックMMijuが、それ自体のアドレスで、より高いレベルの階層でそれぞれマーチング・メモリーブロックMMijuに対してアクセスされるようにしてもよい。
更に代わりに、仮想記憶機構は、用いるマーチングメモリ・コアを仮想メモリのページのようにしてスケジュールする、複合マーチングメモリのアクセス方式に使用できる。スケジューリングは、任意の場合に、コンパイル実行ランで決めることができる。
マーチング主記憶装置31とプロセッサ11の間のデータ転送は非常に高速で行われるので、従来の計算機システムで採用されているキャッシュメモリは不要であり、キャッシュメモリは本来的に省略できる。しかし、図56に示す構成と同様に、複合マーチングメモリ方式からなるマーチング・データキャッシュメモリ21bは、より小さいサイズのマーチング・メモリーブロック、又は更に小さいサイズのマーチングメモリ・コアで使用できる。例えば、1kビット、512ビット、又は256ビット容量の複数のマーチングメモリ・コアを、マーチング・データキャッシュメモリ21bを形成するために半導体チップに採用できる。したがって、256kビット容量の複数のマーチングメモリ・コアMMij(i=1〜s;j=1〜t、そしてs×t=1000)を、マーチング主記憶装置31を形成するために半導体チップ66に採用してもよい。こうすれば、例えば、仮想記憶機構により、マーチングメモリ・コアのそれぞれがランダムでアクセスできる。
或いは、半導体チップ上で、マーチング・メモリーブロック又はマーチングメモリ・コアの1次元アレイを垂直方向に配列してマーチング・キャッシュメモリを構成してもよい。ここで、マーチングメモリ・コアのそれぞれは、メモリユニットを水平方向に一列配列した構造を含んでいる。この水平方向に配列するメモリユニットの数は、マーチング主記憶装置31用のマーチングメモリ・コアで配列されるメモリユニットの数より少ない。そして、例えば、仮想記憶機構により、マーチングメモリ・コアのそれぞれをランダムでアクセスできる。
更に、複数のマーチング・メモリーブロック又は複数のマーチングメモリ・コアを半導体チップ上に垂直方向に配列して構成してもよい。この場合、マーチング・メモリーブロックのそれぞれは単一のメモリユニットから構成される。そして、メモリユニットのそれぞれは、ビットレベル・セルの1次元配列を有し、複合マーチングメモリ方式によるマーチング・レジスタ・ファイルを作るために、バイト・サイズ又はワード・サイズの情報を格納する。
マーチングメモリ・コアを微細化した極限構造は、最小サイズ又は1ビット容量の複数のマーチングメモリ・コアを複合マーチングメモリ方式により半導体チップ上に配列した構造になる。この微細化の極限構造は、従来のSRAMの構造に対応するものである。したがって、1ビット・マーチングメモリ・コアからなるマーチング・データレジスタ・ファイル22bは、図55及び図56に示す構成と同様に、ALU112に接続できる。そこで、SRAMの動作と非常に類似した状態で、1ビット・マーチングメモリ・コアのそれぞれがランダムにアクセスできる。
したがって、本発明は、上記の説明で詳述してない様々な実施形態と変形例など含むことは勿論である。よって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。