説明

結合網およびそれを用いたマルチポートメモリ

【課題】 多対多の割り当て問題を高速且つ簡単に実現する結合網およびそれを用いたマルチポートメモリを提供する。
【解決手段】 本発明のマルチポートメモリ10は、入力ポート12および出力ポート13を有する結合網11と、複数個の出力ポート13から成る出力部18を介して結合網11と接続されたメモリブロック14とを具備する。本発明では、結合網11としては、EBSF30を採用することができる。更に本形態では、EBSF30の出力は1つのポートに結束されることなく、個別にメモリブロック14に出力される。従って、EBSF30を、相互結合網および調停機能として用いることが可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は結合網およびそれを用いたマルチポートメモリに関し、特に、多対多の割り当て機能を高速に実現することが可能な結合網およびそれを用いたマルチポートメモリに関する。
【背景技術】
【0002】
特にオンチップシステムに搭載されるメモリには、ランダムアクセスバンド幅が要求される。そして、このランダムアクセスバンド幅を向上させるためには、周波数を高める方法と、メモリのポート数を増加させる2つの方法が考えられる。
【0003】
周波数を高める方法は、動作周波数の限界と回路設計に高い技術が必要であることから、この方法によりランダムアクセスバンド幅を向上させることは難しい。
【0004】
一方、ポート数を増加させる後者の方法は、アクセスポートを2以上設けるマルチポートメモリと呼ばれる方法である。マルチポートは、同時に複数のメモリアクセスを受け付けることが可能であるため、比較的容易にアクセスバンド幅を向上させることが可能である。
【0005】
このマルチポートメモリを実現する方法として、Nポートメモリセル方式と、バンク型マルチポートメモリ方式がある。
【0006】
図9を参照して、Nポートメモリセル方式を適用したマルチポートメモリ100を説明する。マルチポートメモリ100は、1ビットのメモリセル103をNポート化し、全てのポートから任意のメモリセルにアクセス衝突無くアクセス可能なメモリである。この方式では、2個のNOTゲートから形成されるメモリセル103に対して、N本のワードライン101、N対のビットライン対102で構成されている。この方式では、基本的に任意のアドレスのデータに衝突することなくアクセスできるため、非常に高いランダムアクセスバンド幅が得られる。
【0007】
しかしながら、全てのメモリセル103をNポート化すると、チップ面積がポート数の2乗に比例して増加する問題があった。このような問題を回避する方法として、上述したバンク型マルチポートメモリ方式がある(下記特許文献1を参照。)。この方式を採用することにより、チップ面積の増加の割合をポート数の2乗よりも少なくできる。
【0008】
図10(A)を参照して、バンク型マルチポートメモリ方式が採用されたマルチポートメモリ110を説明する。マルチポートメモリ110は、複数のバンクが内蔵されたメモリブロック111と、このメモリブロック111と外部とを結合させる結合網114とから成る。この構造により、擬似的にマルチポート化したメモリが構成される。
【0009】
メモリブロック111には、バンク112、113を含む複数のメモリバンクが内蔵されている。メモリブロック111に内蔵された個々のバンクは、1つのポートを介して結合網114と接続されている。ここでは、バンク112は出力ポート116Aを介して結合網114と接続され、バンク113は出力ポート116Bを介して結合網114と接続されている。
【0010】
結合網114は、入力ポートから入力された情報を所望の出力ポートに出力させる機能を有する。ここでは、結合網114には2つの入力ポート115Aおよび115Bが設けられ、更に2つの出力ポート116Aおよび116Bが設けられている。
【0011】
しかしながら、上述した構造のマルチポートメモリ110では、1つのバンクに対して同時に複数のアクセス要求があった場合、何れかのアクセス要求が拒否されてしまう問題があった。具体的には、入力ポート115Aからバンク113にアクセスを要求する第1の経路117Aと、入力ポート115Bからバンク113にアクセスを要求する第2の経路117Bとを考えた場合、両者の何れかのアクセスは拒否される。この原因は、バンク113に接続するポートは、1つの出力ポート116Bのみであるからである。このようにアクセス拒否が発生することにより、アクセスバンド幅が低減してしまう。この現象を抑止するために、バンク側のポートを増やす方法がある。
【0012】
図10(B)を参照して、複数のポートが設けられたバンクを有するマルチポートメモリ120を説明する。ここではメモリブロック121に複数のバンク122、123が内蔵されている。更に、メモリブロック121は結合網124を介して外部と結合されている。結合網124は、複数の入力ポート125Aおよび125Bが設けられ、更に複数の出力ポート126A〜126Dが設けられている。
【0013】
結合網124と各々のバンクとは、複数の出力ポートにより接続されている。具体的には、バンク122は、出力ポート126Aおよび126Bを介して結合網124と接続されている。また、バンク123は、出力ポート126Cおよび126Dを介して結合網124と接続されている。
【0014】
上記のように、各々のバンクが複数の出力ポートを介して結合網と接続されることにより、1つのバンクが同時に複数のアクセスを受け入れられるので、上記したようなアクセス拒否を低減させることができる。具体的には、入力ポート125Aからバンク123にアクセスを要求する第1の経路127Aと、入力ポート125Bからバンク123にアクセスを要求する第2の経路127Bを考えた場合、両者は同時にアクセス可能になる。これは、バンク123と結合網124とが、複数の出力ポート126Cおよび126Dにより接続されているからである。従って、アクセスバンド幅を向上させることができる。
【特許文献1】特開平8−221319号公報
【発明の開示】
【発明が解決しようとする課題】
【0015】
しかしながら上述したマルチポートメモリ120では、結合網124に於いて、複数の入力ポートから複数の出力ポートを選択する多対多の割り当て機能を高速且つコンパクトに実現するのが困難である問題があった。
【0016】
具体的には、図10(B)を参照して、入力ポートが更に多数個(例えば10個)あった場合を考える。10個の入力ポートの全てから同時に、2つのポートを有するバンク123へのアクセス要求があった場合、その10個のアクセス要求の中から2つを選択しなければ成らない。この選択問題が、多対多の割り当て機能である。上述した方法ではこの割り当てを行うことが容易でなかった。
【0017】
本発明は、上記問題を鑑みて成されたものである。本発明の主たる目的は、多対多の割り当て機能を高速且つコンパクトに実現する結合網およびそれを有するマルチポートメモリを提供することにある。
【課題を解決するための手段】
【0018】
本発明は、入力ポートから入力された情報を出力ポートから多重出力可能な閉塞網を用いた結合網に於いて、多重出力される情報は結束されることなく、個別に複数組の前記出力ポートから出力され、1組の前記出力ポートから複数個の情報が同時に出力可能であることを特徴とする。
【0019】
更に本発明は、閉塞網から成る結合網と、前記結合網を上位階層網として同時にアクセス可能な複数のポートを備えるメモリとを具備するマルチポートメモリに於いて、前記結合網は、入力ポートから入力された情報を出力ポートから多重出力可能な閉塞網であり、多重出力される情報は結束されることなく、個別に複数組の前記出力ポートから前記メモリへ出力され、1組の前記出力ポートから複数個の情報が同時に前記メモリへ出力可能であることを特徴とする。
【0020】
更に本発明は、外部から情報が入力される結合網と、前記結合網を上位階層網として同時にアクセス可能な複数のポートとを備えるメモリと、前記情報の一部が入力されて前記結合網のアクセス要求を調停する調停回路とを具備するマルチポートメモリに於いて、前記調停回路は、入力ポートから入力された情報を出力ポートから多重出力可能な閉塞網であり、多重出力される情報は結束されることなく、個別に複数組の前記出力ポートから出力され、1組の前記出力ポートから複数個の情報が同時に出力可能であることを特徴とする。
【0021】
更に、本発明は、マルチポートメモリに於いて、前記マルチポートメモリのデータビット幅を、演算ビット長(ワード幅)より小さい単位に構成し、複数回に分けてデータを読み/書きするメモリアクセス方式をとることを特徴とする。
【発明の効果】
【0022】
本発明の結合網に依れば、K多重出力可能な閉塞網を、出力を結束することなく結合網として用いている。従って、入力ポートから入力された複数個の情報を、1組の出力ポートから複数個を同時に出力することが可能になる。
【0023】
更に、本発明では、閉塞網を、アドレスおよびデータを伝える結合網として用いるうえに、多対多の割り当て機能を有する調停機能としても用いている。このことから、マルチポートメモリ等を構築する際に必要となる多対多の割り当て機能をコンパクトに実現することができる。
【0024】
更に、本発明では、多重出力可能な閉塞網を調停機能を有する調停回路として用いることができる。従って、通常の結合網を用いた場合でも、この結合網の調停を閉塞網にて行うことが可能となる。
【0025】
更に、本発明では、マルチポートメモリのデータビット幅を、演算演算ビット長よりも短くし、複数に分けてデータを読み書きすることにより、配線の量を少なくして、メモリの正常を向上させることができる。
【発明を実施するための最良の形態】
【0026】
以下、図を参照して本発明の実施の形態を説明する。
【0027】
図1を参照して、先ず、本発明のマルチポートメモリ10の構成を説明する。図1(A)はマルチポートメモリ10の構成を示す図であり、図1(B)は結合網11の一例として用いられるEBSF(Expanded Banyann Switching Fabrics)の構造を示す図である。
【0028】
図1(A)を参照して、本発明のマルチポートメモリ10は、閉塞網から成る結合網11と、複数の出力ポート13を介して結合網11に接続されたメモリブロック14とを具備する構成となっている。
【0029】
結合網11は、マルチポートメモリ10に外部から情報が入力される複数の入力ポート12と、この情報が出力される複数の出力ポート13とを具備する閉塞網である。ここで、閉塞網とは、クロスバ等の他の非閉塞網と比較すると内部でのアクセス衝突があるものの、原理的なスイッチが少ない結合網である。従って、閉塞網を結合網11として採用することにより、ハードウェア量を低減させることができる。また、ここでは、メモリアクセスに必要なアドレスとデータとを通信する上位階層の結合網として、閉塞網が用いられている。
【0030】
メモリブロック14は、複数個の出力ポート13から成る出力部18を介して、結合網11と接続されている。メモリブロック14は、複数個のバンク15から構成されるバンクメモリとなっている。更に、メモリブロック14としては、マルチポートのSRAMでも良い。さらにまた、メモリブロック14としては、強誘電体メモリを用いることも可能である。更には1ポートのメモリを、メモリブロック14として採用しても良い。
【0031】
結合網11とメモリブロック14とは、複数の出力ポート13から成る出力部18を介して接続されている。1つの出力部18を構成する出力ポート13の数は、結合網11として採用される閉塞網の網の数K(基本となる閉塞網を拡張した数)に等しい。即ち、K多重出力可能な閉塞網が結合網11として採用された場合は、K個の出力ポート13から出力部18が構成される。
【0032】
図1(B)を参照して、結合網11として採用されるEBSF30の構成を詳細に説明する。この図には、入力ポート数8、出力ポート数24、網の数Kが3のEBSF30が示されている。また、EBSF30では、1つのステージ当たりに、(出力部の数×網のサイズ/2個)のスイッチングセル21が設けられている。本形態では、入力ポートの数は8個であり、網のサイズは3である。従って、1ステージあたりのスイッチングセルの数は、12個となる。ここで、1つのステージで使用しないスイッチングセルを省略することができる。また、設けられるステージの数は、log(入力ポートの数)である。従って、ここでは3つのステージ32A、32B、32Cが設けられる。EBSFは、網のサイズKを大きくすることにより、結合網の前段部分にて生じるアクセス衝突を減少させて、アクセス透過率を高めることができる。
【0033】
本形態のEBSF30では、最終段の出力部18にて出力ポート13を結束していない。即ち、個々の出力ポート13からは個別にデータやアドレスが、メモリブロック14に対して出力される。このようにすることにより、複数の入力ポート12から、1つのメモリブロック14に対して複数個のアクセス要求があった場合でも、閉塞網の機能により複数のアクセス要求は調停され、更に、同時に閉塞網を介してデータおよびアドレスの通信が行われる。
【0034】
例えば、8個の入力ポートの全てから1つのメモリブロック14に対して情報が入力された場合を考える。この場合は、入力された情報はEBSF30の内部にて調停され、3個の情報が1つのメモリブロック14に対して同時にアクセスされる。EBSF30の多重出力が結束されずに、複数の出力ポート13を介して個別に出力されるので、このような多対多の調停を行うことができる。
【0035】
一般的なK多重出力可能なEBSFでは、得られる出力をK個毎にまとめて1つのポートとして利用していた。従って、このような一般的なEBSFを適用させたのみでは、マルチポートメモリを下位階層のメモリとして用いることが困難であり、アクセス成功率が低下する。本形態では、メモリブロック14として、EBSF30の網のサイズKと同様の個数のポートを有するマルチポートメモリを採用している。従って、メモリブロック14とEBSF30との間では、最大K個のデータを同時に入出力することが可能となる。
【0036】
図2を参照して、次に、EBSF30を構成するスイッチングセル21の構成を説明する。スイッチングセル21は、メモリアクセスに必要なアドレス、R/W信号、Enable信号、およびデータを転送できる4つのポートを具備する。具体的には、入力側にポートAおよびポートBが設けられ、出力側にポートCとポートDが設けられている。スイッチングセル21では、ポートAまたはポートBから入力される信号のうち一つを選択して、ポートCまたはポートDにデータを伝える。即ち、スイッチングセル21は、交換スイッチの機能を有する。
【0037】
スイッチングセル21は、2つのスイッチ21Fおよび21Gと、入力されるアドレスを基にこれらスイッチをON動作させる制御回路21Eとを具備する。また、スイッチ21Fおよび21Gは、各々がアドレス・スイッチとデータ・スイッチとから構成される。ここで、アドレス・スイッチはポートからバンクへアドレス信号を伝えるための単方向スイッチである。また、データ・スイッチは、ポートとバンク間で双方向にデータ信号を伝えるスイッチである。
【0038】
図3を参照して、上記したスイッチングセル21の構成を詳述する。
【0039】
図3(A)を参照して、スイッチングセルに含まれる制御回路21Eの構成を説明する。制御回路21Eは、図示されるようにNAND回路等の簡単な組み合わせ回路により実現され、必要なトランジスタ数は78である。制御回路21Eは、スッチングセル21のポートAおよびBから入力されるアドレス、Enable信号、R/W信号をデコードして、アドレス・スイッチ、データ・スイッチのスイッチングに用いる制御信号を生成する。制御回路21Eから出力される制御信号S0、S1、S2、S3は図3(B)に示すアドレス・スイッチSW1を構成するCMOSスイッチを制御する信号である。また、制御信号R0、R1、W0、W1は、図3(C)に示すデータ・スイッチにあるtri−stateバッファを制御する信号である。
【0040】
図3(B)を参照して、スイッチを構成するアドレス・スイッチSW1の構成を説明する。アドレス・スイッチSW1は、アドレス信号の他に、R/W信号、Enable信号、のスイッチングにも用いられ、これらの信号の交換を行う。アドレス・スイッチSW1は、4つのCMOSスイッチと、出力バッファとして用いる2つのNOTゲートから構成されている。4つのCMOSスイッチは、制御回路21Eからの制御信号(S0、S1、S2、S3)によりON/OFFされ、ポートAまたはポートBからの入力されるアドレス等をNOTゲートを介して、ポートCまたはポートDに出力する。例えば、ポートAからポートDに交換する場合、制御回路21Eにより制御信号S1がアクティブになり、この制御信号S1でポートAとポートDとを交換するCMOSスイッチがONになり、アドレス信号が交換される。1つのスイッチングセルに含まれるアドレス・スイッチを構成するトランジスタ数は、Mをバンクメモリ容量、Mをバンクメモリ数として、12{log(M)+3}個である。
【0041】
図3(C)を参照して、データ・スイッチSW2の回路を説明する。データ・スイッチSW2は、データ信号の交換を双方向に行うスイッチである。この図に示すように、データ・スイッチSW2は、図3(B)に構成を示したアドレス・スイッチとほぼ同様の構成であるが、データ信号を双方向に伝えるために、図3(B)のバッファ部分が2つのtri−stateバッファに置き換えられた構成になっている。4つのCMOSスイッチは、アドレス・スイッチの場合と同様に、制御回路21Eから入力される制御信号(S0、S1、S2、S3)でON/OFFされる。また、これと同時に制御回路でread動作と、write動作を判断し、tri−stateバッファの制御信号(W0、R0、W1、R1)が入力されることでデータの交換が行われる。なお、W0とR0、W1とR1はそれぞれ、信号の論理レベルが反対の関係になるように制御回路21Eで生成される。1つのスイッチングセルに含まれるデータ・スイッチのトランジスタ数は、Wをデータのビット数として24logWとなる。
【0042】
図4を参照して、本形態に適用可能な他の閉塞網を説明する。本形態では、結合網として上記したEBSF以外にも、MBSF、TBSFおよびPBSFを用いることが可能である。これらの閉塞網を用いた場合でも同様の効果を奏することができる。
【0043】
MBSF(Multi Banyan Switching Fabrics)は、独立した複数個のバンヤン網から成る。MBSFでは、並列して用意された各々のバンヤン網に、分散して情報が入力され、上記したEBSFと同程度の透過率を備えている。更に、下記の閉塞網に於いても、多重に出力される情報は1つに結束されずに、個別にメモリ等に出力可能である。
【0044】
図4(A)を参照して、TBSF(Tandem Banyan Switching Fabrics)40は、複数個のバンヤン網を縦列に複数個接続している。ここでは、3つのバンヤン網41A、41Bおよび41Cが縦列に接続されている。初段のバンヤン網41Aには、複数の入力ポート42が接続されており、データやアドレス等の情報が入力される。また、個々のバンヤン網41A、41B、41Cは、メモリブロック14に対して情報が出力される出力ポート43を有する。ここでも、1つの出力部48では、複数の出力ポート43は1つの結束されずに、メモリブロック14が具備する複数のポートに各々の出力ポート42が接続している。
【0045】
TBSF40では、先ず、最上段のバンヤン網41Aに、入力ポート42から情報が入力される。バンヤン網41Aを通過して目的の宛先に届いた情報は、出力ポート43を介してメモリブロック14に出力される。更に、バンヤン網41Aの内部にて、衝突により目的の宛先に到着できなかった情報は、次の段のバンヤン網41Bに入力される。このような構成のTBSF40は、モジュール単位にて組み合わせを替えることで仕様を容易に変更でき、更に耐故障性にも優れている。
【0046】
図4(B)を参照して、PBSF(Piled Banyan Switching Fabrics)50では、バンヤン網を3次元に接続している。PBSF50は、第1層目のバンヤン網51Aと、第2層目のバンヤン網51Bと第3層目のバンヤン網51Cとから成る。最上層のバンヤン網51Aに含まれるスイッチングセルは、水平方向の入出力を2つずつ有し、垂直方向(下方向)に出力を2つ有する。また、2層目のバンヤン網51Bでは、スイッチングセル55Bは、水平方向に入出力を2つずつ有し、垂直方向(上下方向)に入出力を2つずつ有する。また、最下層のバンヤン網51Cでは、スイッチングセル55Cは、水平方向に2つずつ入出力を有し、垂直方向(上方向)に2つの入力を有する。PBSF50では、上層のバンヤン網のルーティングの結果が、下層のバンヤン網に対して貢献しているので、透過率が高く透過時間が短縮されている。
【0047】
図5を参照して、マルチポートメモリ10の下位階層の構造を説明する。図5(A)はマルチポートメモリ10の最上位の第3階層の構造を示す図である。図5(B)は第2階層の構造を示す図である。図5(C)は第1階層の構造を示す図である。
【0048】
図5(A)を参照して、マルチポートメモリ10の外部端子である入力ポート12とメモリブロック14とは、EBSF等の閉塞網からなる結合網11を介して結合されている。図1を参照して説明したように、K多重出力可能な結合網11では、K個の出力を1つにまとめずに、各々の出力が個別に出力可能になっている。このため、メモリブロック14と結合網11とは、K個の出力ポート13を介して接続されている。従って、結合網11は、調停機能および結合網の両方として機能しているので、1つのメモリブロック14あたり最大にK個を同時にアクセス可能に成っている。K多重出力可能な閉塞網を、最上位の第3階層の結合網として用いることにより、バンクアクセス成功率を向上させることができる。
【0049】
図5(B)を参照して、1つのメモリブロック14の構成を説明する。ここでは、メモリブロック14は、HMA(Hierarchical Multi−Port Memory Architecture)方式である。具体的には、1つのメモリブロック14は、K個の出力ポート13を介して結合網11と結合され、その内部にはマトリックス状に配置された複数のバンク15を有する。更に、メモリブロック14には、バンク列選択回路16、バンク行選択回路17および競合回避回路26が内蔵されている。バンク列選択回路16は、出力ポート13から入力されたバンクアドレスが指定する行に属するバンク15に行バンク選択信号を出力する機能を有する。バンク行選択回路17は、出力ポート13から入力されたバンクアドレスが指定する列に属する各バンク15に、列バンク選択信号を出力する機能を有する。バンク列選択回路16およびバンク行選択回路17の機能により、入力されるバンクアドレスが指定する1個のバンク15が動作可能に特定される。競合回避回路26は、メモリブロック14の内部でのアクセスの競合を回避するための信号を生成する回路である。
【0050】
図5(C)を参照して、1つのバンク15の構成を説明する。バンク15は、1ポートメモリ22と、変換回路25から成る。
【0051】
1ポートメモリ22は、マトリックス状に配置された複数のメモリセル27と、アクセスすべき1つのメモリセル27を特定するメモリセル列選択回路28と、メモリセル行選択回路29とを有する。メモリセル列選択回路28は、メモリブロック14のバンク列選択回路16が変換回路25を介して指定した1つのアドレスが指定する列に属するメモリセル27に、選択信号を出力する。更に、メモリセル行選択回路29は、メモリブロック14のバンク行選択回路17が変換回路25を介して指定した1つのアドレスが指定する行に属するメモリセル27に、選択信号を出力する。
【0052】
変換回路25は、1つのバンク15に対して同時に行われる複数のアクセスを、メモリセル列選択回路28およびメモリセル行選択回路29により指定されたメモリセル27に対する1つのアクセスに変換する機能を有する。
【0053】
上記のように、メモリブロック14にHMAを採用することで、マルチポートメモリ10の必要とする面積を、同一の記憶容量を有するクロスバ方式のメモリと比較すると、大幅に減少させることができる。
【0054】
更に、各バンク15には、複数のアクセスを1つに変換する変換回路25が設けられているので、1つのメモリセル27に必要とされるポート数を1つにすることができる。従って、マルチポートメモリ10全体のポート数を削減することができる。
【0055】
図6を参照して、次に、上記の説明では結合網として用いられた閉塞網を調停機能として用いたマルチポートメモリ60の構成を説明する。
【0056】
マルチポートメモリ60は、入力ポート62および出力ポート63を有する結合網61と、複数の出力ポート63から成る出力部68を介して結合網61と接続されたメモリブロック64と、結合網61のアクセス要求を調停する調停回路として機能する閉塞網66とから成る。
【0057】
結合網61としては、クロスバや一般的なバス等の非閉塞網を用いることができる。結合網61と各メモリブロック64は、複数の出力ポート63を介して接続されている。ここで、1つのメモリブロック64と結合網61とを接続する出力ポート63の数は、閉塞網66の網の数(K)と等しい。結合網61とメモリブロック64とは、複数の出力ポート63を介して接続されていることから、入力されたアクセス要求を調停するためには多対多の割り当て問題を解決する必要がある。ここでは、結合網61に入力される情報の一部分を用いて、閉塞網66により多対多の割り当て問題を解決している。ここで、入力ポート62の数をN個とし、メモリブロック64の個数をM個とする。
【0058】
更に、結合網61としては、再構成型非閉塞網を採用することもできる。再構成型非閉塞網は、既に入出力間で通信経路が確立されているとした場合、非閉塞網と同様に任意の新しい接続要求を受け入れる能力を持っている(非閉塞性を持つ)結合網である。再構成型非閉塞網は、非閉塞網と閉塞網の中間的な存在の結合網で、非閉塞網の性能と閉塞網の少ないハードウェアの両立を狙っている閉塞網である。
【0059】
閉塞網66としては、上述したEBSF等のK多重出可能な閉塞網が採用される。入力ポート62から入力される情報の中でも、データのアクセスするべきバンク番号を示すバンクアドレスが閉塞網66に入力される。そして、閉塞網66は、入力されたバンクアドレスから、1つのメモリブロック64当たりに最大N個のアクセス要求の調停処理と、メモリブロック64の選択を行う。その結果、閉塞網66は、1つのメモリブロック64当たり最大K個のメモリアクセスを許可する信号を出力する。
【0060】
閉塞網66により出力されたメモリアクセスを許可する信号は、結合網61に対して入力される。例えば結合網61がクロスバである場合は、クロスバの切り替えスイッチに、閉塞網66の出力信号が供給される。即ち、結合網61の出力に従い、クロスバの切り替えスイッチがON/OFFされ、結合網61の内部を通過するデータの経路が決定される。
【0061】
このようにK多重出力可能な閉塞網を調停機能として用いることにより、従来のバンク型多ポートメモリとほぼ同様の構成および回路規模にて、アクセス衝突確率を低下させることができる。更に、閉塞網を1箇所に集中して回路配置できるので、閉塞網とそのジェネレータの作成が容易になる。
【0062】
次に、図7および図8を参照して、本実施の形態であるマルチポートメモリの性能を評価する。ここでは、以下の条件によりシミュレーションを行うことでマルチポートメモリを評価した。具体的には、ポート数、総バンク数、閉塞網の多重度およびメモリ総容量を固定し、メモリブロック数を変化させることにより評価を行った。
ポート数:512ポート
総バンク数:8192バンク
閉塞網の多重度(Kの数):16
メモリ総容量:1024KByte
メモリブロック数:128〜2048ブロック
【0063】
更に、シミュレーションでは以下の方式を採用したメモリに対してシミュレーションを行った。
・EH(EBSF−HMA Architecture)K出力可能な閉塞網であるEBSFとHMAを用いた2階層構造のメモリであり、本実施の形態である。
・CBA(CrossBar Memory Architecture)1つの階層構造のクロスバメモリである。
・HMA(Hierarchical Multi−Port Memory Architecture)クロスバの配線を隠蔽することにより小型化を図ったメモリである。
・CC(CBA−CBA Architecture)(Single)クロスバを2階層使ったメモリであり、下位階層のメモリブロックは1ポートである。
・CC(CBA−CBA Architecture)(Multi)クロスバを2階層使ったメモリであり、下位階層のメモリブロックはKポートである。このメモリは、上記したEH方式の上位階層がCBAの場合と同一である。
【0064】
図7(A)は、上記各メモリを用いて、メモリブロックの数を変化させつつメモリに対するアクセスを行い、アクセス衝突確率の変化を評価したグラフである。また、ここでは、メモリに対するアクセスは、ランダムアクセスパターンとし、データビット幅を32ビットとした。同図に示すグラフの横軸はメモリブロック数を示し、縦軸はアクセス衝突率を示す。
【0065】
CC(Single)では、メモリブロック数の増加に伴い、アクセス衝突率は減少している。具体的には、CC(Single)のアクセス衝突率は、メモリブロック数が128個の場合は0.8(80%)程度であり、メモリブロック数が2048個の場合は0.1程度である。メモリブロック数の増加に伴いアクセス衝突率が低下する理由は、メモリブロック数が増加すると、1つのメモリブロックに含まれるバンクの数が減少するからである。
【0066】
EHでは、メモリブロック数の増加に伴いアクセス衝突率は上昇している。具体的には、EHのアクセス衝突率は、メモリブロック数が128個の場合は0.3程度であり、メモリブロック数が2048個の場合は0.8程度である。EHのアクセス衝突率がメモリブロック数の増加に伴い上昇する理由は、メモリブロック数の増加に伴いポート数も増加し、結合網の内部に於ける衝突がより頻繁に発生するからである。
【0067】
CC(Multi)では、EHと同様にメモリブロック数の増加に伴いアクセス衝突率は上昇している。具体的には、CC(Multi)のアクセス衝突率は、メモリブロック数が128の場合は0.2程度であり、メモリブロック数が2048のときは0.8程度である。CC(Multi)のアクセス衝突率がメモリブロック数の増加に伴い上昇する理由は、上記したEHと同様である。
【0068】
HMAおよびCBAでは、メモリブロック数の数を変化させても、アクセス衝突率は変化しない。その理由は、HMAおよびCBAでは、メモリブロックの概念が無いからである。
【0069】
同図のブラフから明らかなように、メモリブロック数が512個付近で、EH、CC(Single)およびCC(Multi)のアクセス衝突率が略同一となる。このことから、以下の説明では、メモリブロック数が512個の点でトランジスタ数を評価する。このことにより、同等のアクセス衝突率を実現するために必要なトランジスタ数を比較することができる。
【0070】
図7(B)は、上記各メモリを用いて、メモリブロック数を辺化させたときのメモリセルを含むトランジスタ数の変化を示すグラフである。このグラフの横軸はメモリブロック数を示し、縦軸はトランジスタ数を示す。
【0071】
EH、CC(Single)およびCC(Multi)では、メモリブロック数の増加に伴いトランジスタ数も増加している。また、HMAおよびCBAについては、EH等と同じアクセス衝突確率を得るのに必要なトランジスタ数を算出した。
【0072】
ここで、EH、CC(Single)およびCC(Multi)のアクセス衝突率が略同等となるメモリブロック数が512個のポイントにて、トランジスタ数を比較する。このポイントに於いては、EHにて必要とされるトランジスタ数は、HMAの60.1%、CBAの35.8%、CC(Multi)の2.7%、CC(Single)の34.4%である。このことから、本実施の形態であるEH方式では、他の方式と比較して同じ性能を少ないトランジスタ数で実現することができる。
【0073】
図8を参照して、データビット幅を小さくした場合の、トランジスタ数の変化を説明する。例えばスーパーコンピュータ等の大量の情報を多数の演算器で同時に且つ高速に処理する機器では、配線量を少なく、かつ、性能向上を図るためにデータビット幅を小さくしてデータをシリアル処理する演算器を用いることが考えられる。従って、ビット幅を小さくしてシミュレーションを行うことにより、本実施の形態のスーパーコンピュータ等への適用性を検証できる。
【0074】
データビット幅を、演算ビット幅(ワード幅)よりも小さい単位で構成した場合は、メモリのアクセスは、複数回に分けて読み書きが行われる。
【0075】
図8(A)のグラフは、データビット幅を8ビットにしたときのトランジスタ数の変化を示している。他の条件は図7(B)の場合と同一である。ここでも、各方式のアクセス衝突率が略同一となる、メモリブロック数が512個の点にて、トランジスタ数を比較した。その結果、EHのトランジスタ数は、HMAの82.5%、CBAの56.3%、CC(Multi)の5.7%、CC(Single)の55.4%である。従って、データビット幅が8ビットと短い場合でも、EH方式では同じ性能を少ないトランジスタ数で実現できる。
【0076】
図8(B)のグラフは、データビット幅を1ビットにしたときのトランジスタ数の変化を示している。メモリブロック数が512個の点にて、トランジスタ数を比較すると、EHのトランジスタ数は、HMAの96.2%、CBAの71.9%、CC(Multi)の9.6%、CC(Single)の71.9%である。従って、データビット幅が1ビットと極めて短い場合でも、EH方式が必要とするトランジスタ数は他の方式よりも少ないことが明らかとなった。
【0077】
次に、メモリへのアクセスがシーケンシャルアクセスである場合について考察する。上記したシミュレーションでは、メモリへのアクセスはランダムアクセスが採用されたが、現実のアプリケーションではシーケンシャルアクセスが多い。
【0078】
本実施の形態であるEH方式は、シーケンシャルアクセスに於いては、理想的なバンク型多ポートメモリであるCBA、HMAに近づくことが予想される。その理由は、EH方式では下位のメモリブロックとのポートがKポートであり、上位から下位へのアクセスが制限されにくいからである。また、同じアクセス衝突確率を、より少ないトランジスタ数にて実現可能になる。
【産業上の利用可能性】
【0079】
本発明の結合網およびそれを用いたマルチポートメモリは、大量のデータを同時に処理する必要がある大規模計算システムのキャッシュメモリや主記憶に利用可能である。例えば、数値計算アクセラレータ、マルチプロセッサシステム、リアルタイム画像処理システム等に本発明は適用可能である。
【図面の簡単な説明】
【0080】
【図1】(A)および(B)は、本発明のマルチポートメモリの構成を示す図である。
【図2】本発明の閉塞網(EBSF)を構成するスイッチングセルの構成を示す図である。
【図3】(A)(B)および(C)は、本発明の閉塞網(EBSF)を構成するスイッチングセルの構成を示す図である。
【図4】(A)および(B)は、本発明に適用可能な他の閉塞網を示す図である。
【図5】(A)(B)および(C)は、本発明のマルチポートメモリの下位階層の構成を示す図である。
【図6】本発明のマルチポートメモリの構成を示す図である。
【図7】(A)および(B)は本発明のマルチポートメモリを用いたシミュレーション結果を示すグラフである。
【図8】(A)および(B)は本発明のマルチポートメモリを用いたシミュレーション結果を示すグラフである。
【図9】従来のマルチポートメモリの構成を示す図である。
【図10】(A)および(B)は従来のマルチポートメモリの構成を示す図である。
【符号の説明】
【0081】
10 マルチポートメモリ
11 結合網
12 入力ポート
13 出力ポート
14 メモリブロック
15 バンク
16 バンク列選択回路
17 バンク行選択回路
21 スイッチングセル
22 1ポートメモリ
25 変換回路
26 競合回避回路
27 メモリセル
28 メモリセル列選択回路
29 メモリセル行選択回路
30 EBSF
32A〜32C ステージ
40 TBSF
41A〜41C バンヤン網
42 入力ポート
43 出力ポート
48 出力部
50 TBSF
51A〜51C バンヤン網
52 入力ポート
53 出力ポート
60 マルチポートメモリ
61 結合網
62 入力ポート
63 出力ポート
64 メモリブロック
65 バンク
66 閉塞網



【特許請求の範囲】
【請求項1】
入力ポートから入力された情報を出力ポートから多重出力可能な閉塞網を用いた結合網に於いて、
多重出力される情報は結束されることなく、個別に複数組の前記出力ポートから出力され、
1組の前記出力ポートから複数個の情報が同時に出力可能であることを特徴とする結合網。
【請求項2】
前記結合網は、K(Kは網の数)多重出力可能な閉塞網であり、
前記出力ポートでは、1組あたり最大K個の前記情報が同時に出力されることを特徴とする請求項1記載の結合網。
【請求項3】
前記閉塞網は、MBSF、EBSF、TBSFまたはPBSFであることを特徴とする請求項1記載の結合網。
【請求項4】
前記出力ポートは、同時にアクセス可能なポートを複数個備えるメモリに接続されることを特徴とする請求項1記載の結合網。
【請求項5】
前記出力ポートは、他の結合網に接続され、
前記出力ポートから出力される情報に基づいて前記他の結合網が調停されることを特徴とする請求項1記載の結合網。
【請求項6】
閉塞網から成る結合網と、前記結合網を上位階層網として同時にアクセス可能な複数のポートを備えるメモリとを具備するマルチポートメモリに於いて、
前記結合網は、入力ポートから入力された情報を出力ポートから多重出力可能な閉塞網であり、
多重出力される情報は結束されることなく、個別に複数組の前記出力ポートから前記メモリへ出力され、
1組の前記出力ポートから複数個の情報が同時に前記メモリへ出力可能であることを特徴とするマルチポートメモリ。
【請求項7】
前記結合網は、K(Kは網の数)多重出力可能な閉塞網であり、
前記出力ポートでは、1組あたり最大K個の前記情報が同時に出力されることを特徴とする請求項6記載のマルチポートメモリ。
【請求項8】
前記閉塞網は、MBSF、EBSF、TBSFまたはPBSFであることを特徴とする請求項6記載のマルチポートメモリ。
【請求項9】
前記メモリは、マルチポートメモリセルまたはバンク型メモリであることを特徴とする請求項6記載のマルチポートメモリ。
【請求項10】
外部から情報が入力される結合網と、前記結合網を上位階層網として同時にアクセス可能な複数のポートとを備えるメモリと、前記情報の一部が入力されて前記結合網のアクセス要求を調停する調停回路とを具備するマルチポートメモリに於いて、
前記調停回路は、入力ポートから入力された情報を出力ポートから多重出力可能な閉塞網であり、
多重出力される情報は結束されることなく、個別に複数組の前記出力ポートから出力され、
1組の前記出力ポートから複数個の情報が同時に出力可能であることを特徴とするマルチポートメモリ。
【請求項11】
前記結合網は、K(Kは網の数)多重出力可能な閉塞網であり、
前記出力ポートでは、1組あたり最大K個の前記情報が同時に出力されることを特徴とする請求項10記載のマルチポートメモリ。
【請求項12】
前記閉塞網は、MBSF、EBSF、TBSFまたはPBSFであることを特徴とする請求項10記載のマルチポートメモリ。
【請求項13】
前記メモリは、マルチポートメモリセルまたはバンク型メモリであることを特徴とする請求項10記載のマルチポートメモリ
【請求項14】
前記調停回路は、前記入力ポートから入力されたアドレスに基づいて前記結合網を調停することを特徴とする請求項10記載のマルチポートメモリ。
【請求項15】
マルチポートメモリに於いて、
前記マルチポートメモリのデータビット幅を、演算ビット長(ワード幅)より小さい単位に構成し、複数回に分けてデータを読み/書きするメモリアクセス方式をとることを特徴とするマルチポートメモリ。
【請求項16】
前記データが任意の外部から入力される結合網と、1つのポートを備えるメモリとを具備することを特徴とする請求項15記載のマルチポートメモリ。
【請求項17】
前記結合網は、非閉塞網、再構成型非閉塞網、閉塞網、または、単一のバスであることを特徴とする請求項16記載のマルチポートメモリ。
【請求項18】
前記データが任意の外部から入力される閉塞網から成る結合網と、前記結合網を上位階層網として同時にアクセス可能な複数のポートを備えるメモリとを具備することを特徴とする請求項15記載のマルチポートメモリ。
【請求項19】
前記データが任意の外部から入力される結合網と、前記結合網を上位階層網として同時にアクセス可能な複数のポートとを備えるメモリと、前記情報の一部が入力されて前記結合網のアクセス要求を調停する調停回路とを具備することを特徴とする請求項15記載のマルチポートメモリ。






【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate