(57)【要約】【課題】  多対多の割り当て問題を高速且つ簡単に実現する結合網およびそれを用いたマルチポートメモリを提供する。【解決手段】  本発明のマルチポートメモリ１０は、入力ポート１２および出力ポート１３を有する結合網１１と、複数個の出力ポート１３から成る出力部１８を介して結合網１１と接続されたメモリブロック１４とを具備する。本発明では、結合網１１としては、ＥＢＳＦ３０を採用することができる。更に本形態では、ＥＢＳＦ３０の出力は１つのポートに結束されることなく、個別にメモリブロック１４に出力される。従って、ＥＢＳＦ３０を、相互結合網および調停機能として用いることが可能となる。【選択図】  図１
2006260127.tif 000002
【特許請求の範囲】
【請求項１】
入力ポートから入力された情報を出力ポートから多重出力可能な閉塞網を用いた結合網に於いて、
多重出力される情報は結束されることなく、個別に複数組の前記出力ポートから出力され、
１組の前記出力ポートから複数個の情報が同時に出力可能であることを特徴とする結合網。
【請求項２】
前記結合網は、Ｋ（Ｋは網の数）多重出力可能な閉塞網であり、
前記出力ポートでは、１組あたり最大Ｋ個の前記情報が同時に出力されることを特徴とする請求項１記載の結合網。
【請求項３】
前記閉塞網は、ＭＢＳＦ、ＥＢＳＦ、ＴＢＳＦまたはＰＢＳＦであることを特徴とする請求項１記載の結合網。
【請求項４】
前記出力ポートは、同時にアクセス可能なポートを複数個備えるメモリに接続されることを特徴とする請求項１記載の結合網。
【請求項５】
前記出力ポートは、他の結合網に接続され、
前記出力ポートから出力される情報に基づいて前記他の結合網が調停されることを特徴とする請求項１記載の結合網。
【請求項６】
閉塞網から成る結合網と、前記結合網を上位階層網として同時にアクセス可能な複数のポートを備えるメモリとを具備するマルチポートメモリに於いて、
前記結合網は、入力ポートから入力された情報を出力ポートから多重出力可能な閉塞網であり、
多重出力される情報は結束されることなく、個別に複数組の前記出力ポートから前記メモリへ出力され、
１組の前記出力ポートから複数個の情報が同時に前記メモリへ出力可能であることを特徴とするマルチポートメモリ。
【請求項７】
前記結合網は、Ｋ（Ｋは網の数）多重出力可能な閉塞網であり、
前記出力ポートでは、１組あたり最大Ｋ個の前記情報が同時に出力されることを特徴とする請求項６記載のマルチポートメモリ。
【請求項８】
前記閉塞網は、ＭＢＳＦ、ＥＢＳＦ、ＴＢＳＦまたはＰＢＳＦであることを特徴とする請求項６記載のマルチポートメモリ。
【請求項９】
前記メモリは、マルチポートメモリセルまたはバンク型メモリであることを特徴とする請求項６記載のマルチポートメモリ。
【請求項１０】
外部から情報が入力される結合網と、前記結合網を上位階層網として同時にアクセス可能な複数のポートとを備えるメモリと、前記情報の一部が入力されて前記結合網のアクセス要求を調停する調停回路とを具備するマルチポートメモリに於いて、
前記調停回路は、入力ポートから入力された情報を出力ポートから多重出力可能な閉塞網であり、
多重出力される情報は結束されることなく、個別に複数組の前記出力ポートから出力され、
１組の前記出力ポートから複数個の情報が同時に出力可能であることを特徴とするマルチポートメモリ。
【請求項１１】
前記結合網は、Ｋ（Ｋは網の数）多重出力可能な閉塞網であり、
前記出力ポートでは、１組あたり最大Ｋ個の前記情報が同時に出力されることを特徴とする請求項１０記載のマルチポートメモリ。
【請求項１２】
前記閉塞網は、ＭＢＳＦ、ＥＢＳＦ、ＴＢＳＦまたはＰＢＳＦであることを特徴とする請求項１０記載のマルチポートメモリ。
【請求項１３】
前記メモリは、マルチポートメモリセルまたはバンク型メモリであることを特徴とする請求項１０記載のマルチポートメモリ
【請求項１４】
前記調停回路は、前記入力ポートから入力されたアドレスに基づいて前記結合網を調停することを特徴とする請求項１０記載のマルチポートメモリ。
【請求項１５】
マルチポートメモリに於いて、
前記マルチポートメモリのデータビット幅を、演算ビット長（ワード幅）より小さい単位に構成し、複数回に分けてデータを読み／書きするメモリアクセス方式をとることを特徴とするマルチポートメモリ。
【請求項１６】
前記データが任意の外部から入力される結合網と、１つのポートを備えるメモリとを具備することを特徴とする請求項１５記載のマルチポートメモリ。
【請求項１７】
前記結合網は、非閉塞網、再構成型非閉塞網、閉塞網、または、単一のバスであることを特徴とする請求項１６記載のマルチポートメモリ。
【請求項１８】
前記データが任意の外部から入力される閉塞網から成る結合網と、前記結合網を上位階層網として同時にアクセス可能な複数のポートを備えるメモリとを具備することを特徴とする請求項１５記載のマルチポートメモリ。
【請求項１９】
前記データが任意の外部から入力される結合網と、前記結合網を上位階層網として同時にアクセス可能な複数のポートとを備えるメモリと、前記情報の一部が入力されて前記結合網のアクセス要求を調停する調停回路とを具備することを特徴とする請求項１５記載のマルチポートメモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は結合網およびそれを用いたマルチポートメモリに関し、特に、多対多の割り当て機能を高速に実現することが可能な結合網およびそれを用いたマルチポートメモリに関する。
【背景技術】
【０００２】
特にオンチップシステムに搭載されるメモリには、ランダムアクセスバンド幅が要求される。そして、このランダムアクセスバンド幅を向上させるためには、周波数を高める方法と、メモリのポート数を増加させる２つの方法が考えられる。
【０００３】
周波数を高める方法は、動作周波数の限界と回路設計に高い技術が必要であることから、この方法によりランダムアクセスバンド幅を向上させることは難しい。
【０００４】
一方、ポート数を増加させる後者の方法は、アクセスポートを２以上設けるマルチポートメモリと呼ばれる方法である。マルチポートは、同時に複数のメモリアクセスを受け付けることが可能であるため、比較的容易にアクセスバンド幅を向上させることが可能である。
【０００５】
このマルチポートメモリを実現する方法として、Ｎポートメモリセル方式と、バンク型マルチポートメモリ方式がある。
【０００６】
図９を参照して、Ｎポートメモリセル方式を適用したマルチポートメモリ１００を説明する。マルチポートメモリ１００は、１ビットのメモリセル１０３をＮポート化し、全てのポートから任意のメモリセルにアクセス衝突無くアクセス可能なメモリである。この方式では、２個のＮＯＴゲートから形成されるメモリセル１０３に対して、Ｎ本のワードライン１０１、Ｎ対のビットライン対１０２で構成されている。この方式では、基本的に任意のアドレスのデータに衝突することなくアクセスできるため、非常に高いランダムアクセスバンド幅が得られる。
【０００７】
しかしながら、全てのメモリセル１０３をＮポート化すると、チップ面積がポート数の２乗に比例して増加する問題があった。このような問題を回避する方法として、上述したバンク型マルチポートメモリ方式がある（下記特許文献１を参照。）。この方式を採用することにより、チップ面積の増加の割合をポート数の２乗よりも少なくできる。
【０００８】
図１０（Ａ）を参照して、バンク型マルチポートメモリ方式が採用されたマルチポートメモリ１１０を説明する。マルチポートメモリ１１０は、複数のバンクが内蔵されたメモリブロック１１１と、このメモリブロック１１１と外部とを結合させる結合網１１４とから成る。この構造により、擬似的にマルチポート化したメモリが構成される。
【０００９】
メモリブロック１１１には、バンク１１２、１１３を含む複数のメモリバンクが内蔵されている。メモリブロック１１１に内蔵された個々のバンクは、１つのポートを介して結合網１１４と接続されている。ここでは、バンク１１２は出力ポート１１６Ａを介して結合網１１４と接続され、バンク１１３は出力ポート１１６Ｂを介して結合網１１４と接続されている。
【００１０】
結合網１１４は、入力ポートから入力された情報を所望の出力ポートに出力させる機能を有する。ここでは、結合網１１４には２つの入力ポート１１５Ａおよび１１５Ｂが設けられ、更に２つの出力ポート１１６Ａおよび１１６Ｂが設けられている。
【００１１】
しかしながら、上述した構造のマルチポートメモリ１１０では、１つのバンクに対して同時に複数のアクセス要求があった場合、何れかのアクセス要求が拒否されてしまう問題があった。具体的には、入力ポート１１５Ａからバンク１１３にアクセスを要求する第１の経路１１７Ａと、入力ポート１１５Ｂからバンク１１３にアクセスを要求する第２の経路１１７Ｂとを考えた場合、両者の何れかのアクセスは拒否される。この原因は、バンク１１３に接続するポートは、１つの出力ポート１１６Ｂのみであるからである。このようにアクセス拒否が発生することにより、アクセスバンド幅が低減してしまう。この現象を抑止するために、バンク側のポートを増やす方法がある。
【００１２】
図１０（Ｂ）を参照して、複数のポートが設けられたバンクを有するマルチポートメモリ１２０を説明する。ここではメモリブロック１２１に複数のバンク１２２、１２３が内蔵されている。更に、メモリブロック１２１は結合網１２４を介して外部と結合されている。結合網１２４は、複数の入力ポート１２５Ａおよび１２５Ｂが設けられ、更に複数の出力ポート１２６Ａ〜１２６Ｄが設けられている。
【００１３】
結合網１２４と各々のバンクとは、複数の出力ポートにより接続されている。具体的には、バンク１２２は、出力ポート１２６Ａおよび１２６Ｂを介して結合網１２４と接続されている。また、バンク１２３は、出力ポート１２６Ｃおよび１２６Ｄを介して結合網１２４と接続されている。
【００１４】
上記のように、各々のバンクが複数の出力ポートを介して結合網と接続されることにより、１つのバンクが同時に複数のアクセスを受け入れられるので、上記したようなアクセス拒否を低減させることができる。具体的には、入力ポート１２５Ａからバンク１２３にアクセスを要求する第１の経路１２７Ａと、入力ポート１２５Ｂからバンク１２３にアクセスを要求する第２の経路１２７Ｂを考えた場合、両者は同時にアクセス可能になる。これは、バンク１２３と結合網１２４とが、複数の出力ポート１２６Ｃおよび１２６Ｄにより接続されているからである。従って、アクセスバンド幅を向上させることができる。
【特許文献１】特開平８−２２１３１９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら上述したマルチポートメモリ１２０では、結合網１２４に於いて、複数の入力ポートから複数の出力ポートを選択する多対多の割り当て機能を高速且つコンパクトに実現するのが困難である問題があった。
【００１６】
具体的には、図１０（Ｂ）を参照して、入力ポートが更に多数個（例えば１０個）あった場合を考える。１０個の入力ポートの全てから同時に、２つのポートを有するバンク１２３へのアクセス要求があった場合、その１０個のアクセス要求の中から２つを選択しなければ成らない。この選択問題が、多対多の割り当て機能である。上述した方法ではこの割り当てを行うことが容易でなかった。
【００１７】
本発明は、上記問題を鑑みて成されたものである。本発明の主たる目的は、多対多の割り当て機能を高速且つコンパクトに実現する結合網およびそれを有するマルチポートメモリを提供することにある。
【課題を解決するための手段】
【００１８】
本発明は、入力ポートから入力された情報を出力ポートから多重出力可能な閉塞網を用いた結合網に於いて、多重出力される情報は結束されることなく、個別に複数組の前記出力ポートから出力され、１組の前記出力ポートから複数個の情報が同時に出力可能であることを特徴とする。
【００１９】
更に本発明は、閉塞網から成る結合網と、前記結合網を上位階層網として同時にアクセス可能な複数のポートを備えるメモリとを具備するマルチポートメモリに於いて、前記結合網は、入力ポートから入力された情報を出力ポートから多重出力可能な閉塞網であり、多重出力される情報は結束されることなく、個別に複数組の前記出力ポートから前記メモリへ出力され、１組の前記出力ポートから複数個の情報が同時に前記メモリへ出力可能であることを特徴とする。
【００２０】
更に本発明は、外部から情報が入力される結合網と、前記結合網を上位階層網として同時にアクセス可能な複数のポートとを備えるメモリと、前記情報の一部が入力されて前記結合網のアクセス要求を調停する調停回路とを具備するマルチポートメモリに於いて、前記調停回路は、入力ポートから入力された情報を出力ポートから多重出力可能な閉塞網であり、多重出力される情報は結束されることなく、個別に複数組の前記出力ポートから出力され、１組の前記出力ポートから複数個の情報が同時に出力可能であることを特徴とする。
【００２１】
更に、本発明は、マルチポートメモリに於いて、前記マルチポートメモリのデータビット幅を、演算ビット長（ワード幅）より小さい単位に構成し、複数回に分けてデータを読み／書きするメモリアクセス方式をとることを特徴とする。
【発明の効果】
【００２２】
本発明の結合網に依れば、Ｋ多重出力可能な閉塞網を、出力を結束することなく結合網として用いている。従って、入力ポートから入力された複数個の情報を、１組の出力ポートから複数個を同時に出力することが可能になる。
【００２３】
更に、本発明では、閉塞網を、アドレスおよびデータを伝える結合網として用いるうえに、多対多の割り当て機能を有する調停機能としても用いている。このことから、マルチポートメモリ等を構築する際に必要となる多対多の割り当て機能をコンパクトに実現することができる。
【００２４】
更に、本発明では、多重出力可能な閉塞網を調停機能を有する調停回路として用いることができる。従って、通常の結合網を用いた場合でも、この結合網の調停を閉塞網にて行うことが可能となる。
【００２５】
更に、本発明では、マルチポートメモリのデータビット幅を、演算演算ビット長よりも短くし、複数に分けてデータを読み書きすることにより、配線の量を少なくして、メモリの正常を向上させることができる。
【発明を実施するための最良の形態】
【００２６】
以下、図を参照して本発明の実施の形態を説明する。
【００２７】
図１を参照して、先ず、本発明のマルチポートメモリ１０の構成を説明する。図１（Ａ）はマルチポートメモリ１０の構成を示す図であり、図１（Ｂ）は結合網１１の一例として用いられるＥＢＳＦ（Ｅｘｐａｎｄｅｄ  Ｂａｎｙａｎｎ  Ｓｗｉｔｃｈｉｎｇ  Ｆａｂｒｉｃｓ）の構造を示す図である。
【００２８】
図１（Ａ）を参照して、本発明のマルチポートメモリ１０は、閉塞網から成る結合網１１と、複数の出力ポート１３を介して結合網１１に接続されたメモリブロック１４とを具備する構成となっている。
【００２９】
結合網１１は、マルチポートメモリ１０に外部から情報が入力される複数の入力ポート１２と、この情報が出力される複数の出力ポート１３とを具備する閉塞網である。ここで、閉塞網とは、クロスバ等の他の非閉塞網と比較すると内部でのアクセス衝突があるものの、原理的なスイッチが少ない結合網である。従って、閉塞網を結合網１１として採用することにより、ハードウェア量を低減させることができる。また、ここでは、メモリアクセスに必要なアドレスとデータとを通信する上位階層の結合網として、閉塞網が用いられている。
【００３０】
メモリブロック１４は、複数個の出力ポート１３から成る出力部１８を介して、結合網１１と接続されている。メモリブロック１４は、複数個のバンク１５から構成されるバンクメモリとなっている。更に、メモリブロック１４としては、マルチポートのＳＲＡＭでも良い。さらにまた、メモリブロック１４としては、強誘電体メモリを用いることも可能である。更には１ポートのメモリを、メモリブロック１４として採用しても良い。
【００３１】
結合網１１とメモリブロック１４とは、複数の出力ポート１３から成る出力部１８を介して接続されている。１つの出力部１８を構成する出力ポート１３の数は、結合網１１として採用される閉塞網の網の数Ｋ（基本となる閉塞網を拡張した数）に等しい。即ち、Ｋ多重出力可能な閉塞網が結合網１１として採用された場合は、Ｋ個の出力ポート１３から出力部１８が構成される。
【００３２】
図１（Ｂ）を参照して、結合網１１として採用されるＥＢＳＦ３０の構成を詳細に説明する。この図には、入力ポート数８、出力ポート数２４、網の数Ｋが３のＥＢＳＦ３０が示されている。また、ＥＢＳＦ３０では、１つのステージ当たりに、（出力部の数×網のサイズ／２個）のスイッチングセル２１が設けられている。本形態では、入力ポートの数は８個であり、網のサイズは３である。従って、１ステージあたりのスイッチングセルの数は、１２個となる。ここで、１つのステージで使用しないスイッチングセルを省略することができる。また、設けられるステージの数は、ｌｏｇ２（入力ポートの数）である。従って、ここでは３つのステージ３２Ａ、３２Ｂ、３２Ｃが設けられる。ＥＢＳＦは、網のサイズＫを大きくすることにより、結合網の前段部分にて生じるアクセス衝突を減少させて、アクセス透過率を高めることができる。
【００３３】
本形態のＥＢＳＦ３０では、最終段の出力部１８にて出力ポート１３を結束していない。即ち、個々の出力ポート１３からは個別にデータやアドレスが、メモリブロック１４に対して出力される。このようにすることにより、複数の入力ポート１２から、１つのメモリブロック１４に対して複数個のアクセス要求があった場合でも、閉塞網の機能により複数のアクセス要求は調停され、更に、同時に閉塞網を介してデータおよびアドレスの通信が行われる。
【００３４】
例えば、８個の入力ポートの全てから１つのメモリブロック１４に対して情報が入力された場合を考える。この場合は、入力された情報はＥＢＳＦ３０の内部にて調停され、３個の情報が１つのメモリブロック１４に対して同時にアクセスされる。ＥＢＳＦ３０の多重出力が結束されずに、複数の出力ポート１３を介して個別に出力されるので、このような多対多の調停を行うことができる。
【００３５】
一般的なＫ多重出力可能なＥＢＳＦでは、得られる出力をＫ個毎にまとめて１つのポートとして利用していた。従って、このような一般的なＥＢＳＦを適用させたのみでは、マルチポートメモリを下位階層のメモリとして用いることが困難であり、アクセス成功率が低下する。本形態では、メモリブロック１４として、ＥＢＳＦ３０の網のサイズＫと同様の個数のポートを有するマルチポートメモリを採用している。従って、メモリブロック１４とＥＢＳＦ３０との間では、最大Ｋ個のデータを同時に入出力することが可能となる。
【００３６】
図２を参照して、次に、ＥＢＳＦ３０を構成するスイッチングセル２１の構成を説明する。スイッチングセル２１は、メモリアクセスに必要なアドレス、Ｒ／Ｗ信号、Ｅｎａｂｌｅ信号、およびデータを転送できる４つのポートを具備する。具体的には、入力側にポートＡおよびポートＢが設けられ、出力側にポートＣとポートＤが設けられている。スイッチングセル２１では、ポートＡまたはポートＢから入力される信号のうち一つを選択して、ポートＣまたはポートＤにデータを伝える。即ち、スイッチングセル２１は、交換スイッチの機能を有する。
【００３７】
スイッチングセル２１は、２つのスイッチ２１Ｆおよび２１Ｇと、入力されるアドレスを基にこれらスイッチをＯＮ動作させる制御回路２１Ｅとを具備する。また、スイッチ２１Ｆおよび２１Ｇは、各々がアドレス・スイッチとデータ・スイッチとから構成される。ここで、アドレス・スイッチはポートからバンクへアドレス信号を伝えるための単方向スイッチである。また、データ・スイッチは、ポートとバンク間で双方向にデータ信号を伝えるスイッチである。
【００３８】
図３を参照して、上記したスイッチングセル２１の構成を詳述する。
【００３９】
図３（Ａ）を参照して、スイッチングセルに含まれる制御回路２１Ｅの構成を説明する。制御回路２１Ｅは、図示されるようにＮＡＮＤ回路等の簡単な組み合わせ回路により実現され、必要なトランジスタ数は７８である。制御回路２１Ｅは、スッチングセル２１のポートＡおよびＢから入力されるアドレス、Ｅｎａｂｌｅ信号、Ｒ／Ｗ信号をデコードして、アドレス・スイッチ、データ・スイッチのスイッチングに用いる制御信号を生成する。制御回路２１Ｅから出力される制御信号Ｓ０、Ｓ１、Ｓ２、Ｓ３は図３（Ｂ）に示すアドレス・スイッチＳＷ１を構成するＣＭＯＳスイッチを制御する信号である。また、制御信号Ｒ０、Ｒ１、Ｗ０、Ｗ１は、図３（Ｃ）に示すデータ・スイッチにあるｔｒｉ−ｓｔａｔｅバッファを制御する信号である。
【００４０】
図３（Ｂ）を参照して、スイッチを構成するアドレス・スイッチＳＷ１の構成を説明する。アドレス・スイッチＳＷ１は、アドレス信号の他に、Ｒ／Ｗ信号、Ｅｎａｂｌｅ信号、のスイッチングにも用いられ、これらの信号の交換を行う。アドレス・スイッチＳＷ１は、４つのＣＭＯＳスイッチと、出力バッファとして用いる２つのＮＯＴゲートから構成されている。４つのＣＭＯＳスイッチは、制御回路２１Ｅからの制御信号（Ｓ０、Ｓ１、Ｓ２、Ｓ３）によりＯＮ／ＯＦＦされ、ポートＡまたはポートＢからの入力されるアドレス等をＮＯＴゲートを介して、ポートＣまたはポートＤに出力する。例えば、ポートＡからポートＤに交換する場合、制御回路２１Ｅにより制御信号Ｓ１がアクティブになり、この制御信号Ｓ１でポートＡとポートＤとを交換するＣＭＯＳスイッチがＯＮになり、アドレス信号が交換される。１つのスイッチングセルに含まれるアドレス・スイッチを構成するトランジスタ数は、Ｍ１をバンクメモリ容量、Ｍ２をバンクメモリ数として、１２｛ｌｏｇ２（Ｍ１Ｍ２）＋３｝個である。
【００４１】
図３（Ｃ）を参照して、データ・スイッチＳＷ２の回路を説明する。データ・スイッチＳＷ２は、データ信号の交換を双方向に行うスイッチである。この図に示すように、データ・スイッチＳＷ２は、図３（Ｂ）に構成を示したアドレス・スイッチとほぼ同様の構成であるが、データ信号を双方向に伝えるために、図３（Ｂ）のバッファ部分が２つのｔｒｉ−ｓｔａｔｅバッファに置き換えられた構成になっている。４つのＣＭＯＳスイッチは、アドレス・スイッチの場合と同様に、制御回路２１Ｅから入力される制御信号（Ｓ０、Ｓ１、Ｓ２、Ｓ３）でＯＮ／ＯＦＦされる。また、これと同時に制御回路でｒｅａｄ動作と、ｗｒｉｔｅ動作を判断し、ｔｒｉ−ｓｔａｔｅバッファの制御信号（Ｗ０、Ｒ０、Ｗ１、Ｒ１）が入力されることでデータの交換が行われる。なお、Ｗ０とＲ０、Ｗ１とＲ１はそれぞれ、信号の論理レベルが反対の関係になるように制御回路２１Ｅで生成される。１つのスイッチングセルに含まれるデータ・スイッチのトランジスタ数は、Ｗをデータのビット数として２４ｌｏｇ２Ｗとなる。
【００４２】
図４を参照して、本形態に適用可能な他の閉塞網を説明する。本形態では、結合網として上記したＥＢＳＦ以外にも、ＭＢＳＦ、ＴＢＳＦおよびＰＢＳＦを用いることが可能である。これらの閉塞網を用いた場合でも同様の効果を奏することができる。
【００４３】
ＭＢＳＦ（Ｍｕｌｔｉ  Ｂａｎｙａｎ  Ｓｗｉｔｃｈｉｎｇ  Ｆａｂｒｉｃｓ）は、独立した複数個のバンヤン網から成る。ＭＢＳＦでは、並列して用意された各々のバンヤン網に、分散して情報が入力され、上記したＥＢＳＦと同程度の透過率を備えている。更に、下記の閉塞網に於いても、多重に出力される情報は１つに結束されずに、個別にメモリ等に出力可能である。
【００４４】
図４（Ａ）を参照して、ＴＢＳＦ（Ｔａｎｄｅｍ  Ｂａｎｙａｎ  Ｓｗｉｔｃｈｉｎｇ  Ｆａｂｒｉｃｓ）４０は、複数個のバンヤン網を縦列に複数個接続している。ここでは、３つのバンヤン網４１Ａ、４１Ｂおよび４１Ｃが縦列に接続されている。初段のバンヤン網４１Ａには、複数の入力ポート４２が接続されており、データやアドレス等の情報が入力される。また、個々のバンヤン網４１Ａ、４１Ｂ、４１Ｃは、メモリブロック１４に対して情報が出力される出力ポート４３を有する。ここでも、１つの出力部４８では、複数の出力ポート４３は１つの結束されずに、メモリブロック１４が具備する複数のポートに各々の出力ポート４２が接続している。
【００４５】
ＴＢＳＦ４０では、先ず、最上段のバンヤン網４１Ａに、入力ポート４２から情報が入力される。バンヤン網４１Ａを通過して目的の宛先に届いた情報は、出力ポート４３を介してメモリブロック１４に出力される。更に、バンヤン網４１Ａの内部にて、衝突により目的の宛先に到着できなかった情報は、次の段のバンヤン網４１Ｂに入力される。このような構成のＴＢＳＦ４０は、モジュール単位にて組み合わせを替えることで仕様を容易に変更でき、更に耐故障性にも優れている。
【００４６】
図４（Ｂ）を参照して、ＰＢＳＦ（Ｐｉｌｅｄ  Ｂａｎｙａｎ  Ｓｗｉｔｃｈｉｎｇ  Ｆａｂｒｉｃｓ）５０では、バンヤン網を３次元に接続している。ＰＢＳＦ５０は、第１層目のバンヤン網５１Ａと、第２層目のバンヤン網５１Ｂと第３層目のバンヤン網５１Ｃとから成る。最上層のバンヤン網５１Ａに含まれるスイッチングセルは、水平方向の入出力を２つずつ有し、垂直方向（下方向）に出力を２つ有する。また、２層目のバンヤン網５１Ｂでは、スイッチングセル５５Ｂは、水平方向に入出力を２つずつ有し、垂直方向（上下方向）に入出力を２つずつ有する。また、最下層のバンヤン網５１Ｃでは、スイッチングセル５５Ｃは、水平方向に２つずつ入出力を有し、垂直方向（上方向）に２つの入力を有する。ＰＢＳＦ５０では、上層のバンヤン網のルーティングの結果が、下層のバンヤン網に対して貢献しているので、透過率が高く透過時間が短縮されている。
【００４７】
図５を参照して、マルチポートメモリ１０の下位階層の構造を説明する。図５（Ａ）はマルチポートメモリ１０の最上位の第３階層の構造を示す図である。図５（Ｂ）は第２階層の構造を示す図である。図５（Ｃ）は第１階層の構造を示す図である。
【００４８】
図５（Ａ）を参照して、マルチポートメモリ１０の外部端子である入力ポート１２とメモリブロック１４とは、ＥＢＳＦ等の閉塞網からなる結合網１１を介して結合されている。図１を参照して説明したように、Ｋ多重出力可能な結合網１１では、Ｋ個の出力を１つにまとめずに、各々の出力が個別に出力可能になっている。このため、メモリブロック１４と結合網１１とは、Ｋ個の出力ポート１３を介して接続されている。従って、結合網１１は、調停機能および結合網の両方として機能しているので、１つのメモリブロック１４あたり最大にＫ個を同時にアクセス可能に成っている。Ｋ多重出力可能な閉塞網を、最上位の第３階層の結合網として用いることにより、バンクアクセス成功率を向上させることができる。
【００４９】
図５（Ｂ）を参照して、１つのメモリブロック１４の構成を説明する。ここでは、メモリブロック１４は、ＨＭＡ（Ｈｉｅｒａｒｃｈｉｃａｌ  Ｍｕｌｔｉ−Ｐｏｒｔ  Ｍｅｍｏｒｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ）方式である。具体的には、１つのメモリブロック１４は、Ｋ個の出力ポート１３を介して結合網１１と結合され、その内部にはマトリックス状に配置された複数のバンク１５を有する。更に、メモリブロック１４には、バンク列選択回路１６、バンク行選択回路１７および競合回避回路２６が内蔵されている。バンク列選択回路１６は、出力ポート１３から入力されたバンクアドレスが指定する行に属するバンク１５に行バンク選択信号を出力する機能を有する。バンク行選択回路１７は、出力ポート１３から入力されたバンクアドレスが指定する列に属する各バンク１５に、列バンク選択信号を出力する機能を有する。バンク列選択回路１６およびバンク行選択回路１７の機能により、入力されるバンクアドレスが指定する１個のバンク１５が動作可能に特定される。競合回避回路２６は、メモリブロック１４の内部でのアクセスの競合を回避するための信号を生成する回路である。
【００５０】
図５（Ｃ）を参照して、１つのバンク１５の構成を説明する。バンク１５は、１ポートメモリ２２と、変換回路２５から成る。
【００５１】
１ポートメモリ２２は、マトリックス状に配置された複数のメモリセル２７と、アクセスすべき１つのメモリセル２７を特定するメモリセル列選択回路２８と、メモリセル行選択回路２９とを有する。メモリセル列選択回路２８は、メモリブロック１４のバンク列選択回路１６が変換回路２５を介して指定した１つのアドレスが指定する列に属するメモリセル２７に、選択信号を出力する。更に、メモリセル行選択回路２９は、メモリブロック１４のバンク行選択回路１７が変換回路２５を介して指定した１つのアドレスが指定する行に属するメモリセル２７に、選択信号を出力する。
【００５２】
変換回路２５は、１つのバンク１５に対して同時に行われる複数のアクセスを、メモリセル列選択回路２８およびメモリセル行選択回路２９により指定されたメモリセル２７に対する１つのアクセスに変換する機能を有する。
【００５３】
上記のように、メモリブロック１４にＨＭＡを採用することで、マルチポートメモリ１０の必要とする面積を、同一の記憶容量を有するクロスバ方式のメモリと比較すると、大幅に減少させることができる。
【００５４】
更に、各バンク１５には、複数のアクセスを１つに変換する変換回路２５が設けられているので、１つのメモリセル２７に必要とされるポート数を１つにすることができる。従って、マルチポートメモリ１０全体のポート数を削減することができる。
【００５５】
図６を参照して、次に、上記の説明では結合網として用いられた閉塞網を調停機能として用いたマルチポートメモリ６０の構成を説明する。
【００５６】
マルチポートメモリ６０は、入力ポート６２および出力ポート６３を有する結合網６１と、複数の出力ポート６３から成る出力部６８を介して結合網６１と接続されたメモリブロック６４と、結合網６１のアクセス要求を調停する調停回路として機能する閉塞網６６とから成る。
【００５７】
結合網６１としては、クロスバや一般的なバス等の非閉塞網を用いることができる。結合網６１と各メモリブロック６４は、複数の出力ポート６３を介して接続されている。ここで、１つのメモリブロック６４と結合網６１とを接続する出力ポート６３の数は、閉塞網６６の網の数（Ｋ）と等しい。結合網６１とメモリブロック６４とは、複数の出力ポート６３を介して接続されていることから、入力されたアクセス要求を調停するためには多対多の割り当て問題を解決する必要がある。ここでは、結合網６１に入力される情報の一部分を用いて、閉塞網６６により多対多の割り当て問題を解決している。ここで、入力ポート６２の数をＮ個とし、メモリブロック６４の個数をＭ個とする。
【００５８】
更に、結合網６１としては、再構成型非閉塞網を採用することもできる。再構成型非閉塞網は、既に入出力間で通信経路が確立されているとした場合、非閉塞網と同様に任意の新しい接続要求を受け入れる能力を持っている（非閉塞性を持つ）結合網である。再構成型非閉塞網は、非閉塞網と閉塞網の中間的な存在の結合網で、非閉塞網の性能と閉塞網の少ないハードウェアの両立を狙っている閉塞網である。
【００５９】
閉塞網６６としては、上述したＥＢＳＦ等のＫ多重出可能な閉塞網が採用される。入力ポート６２から入力される情報の中でも、データのアクセスするべきバンク番号を示すバンクアドレスが閉塞網６６に入力される。そして、閉塞網６６は、入力されたバンクアドレスから、１つのメモリブロック６４当たりに最大Ｎ個のアクセス要求の調停処理と、メモリブロック６４の選択を行う。その結果、閉塞網６６は、１つのメモリブロック６４当たり最大Ｋ個のメモリアクセスを許可する信号を出力する。
【００６０】
閉塞網６６により出力されたメモリアクセスを許可する信号は、結合網６１に対して入力される。例えば結合網６１がクロスバである場合は、クロスバの切り替えスイッチに、閉塞網６６の出力信号が供給される。即ち、結合網６１の出力に従い、クロスバの切り替えスイッチがＯＮ／ＯＦＦされ、結合網６１の内部を通過するデータの経路が決定される。
【００６１】
このようにＫ多重出力可能な閉塞網を調停機能として用いることにより、従来のバンク型多ポートメモリとほぼ同様の構成および回路規模にて、アクセス衝突確率を低下させることができる。更に、閉塞網を１箇所に集中して回路配置できるので、閉塞網とそのジェネレータの作成が容易になる。
【００６２】
次に、図７および図８を参照して、本実施の形態であるマルチポートメモリの性能を評価する。ここでは、以下の条件によりシミュレーションを行うことでマルチポートメモリを評価した。具体的には、ポート数、総バンク数、閉塞網の多重度およびメモリ総容量を固定し、メモリブロック数を変化させることにより評価を行った。
ポート数：５１２ポート
総バンク数：８１９２バンク
閉塞網の多重度（Ｋの数）：１６
メモリ総容量：１０２４ＫＢｙｔｅ
メモリブロック数：１２８〜２０４８ブロック
【００６３】
更に、シミュレーションでは以下の方式を採用したメモリに対してシミュレーションを行った。
・ＥＨ（ＥＢＳＦ−ＨＭＡ  Ａｒｃｈｉｔｅｃｔｕｒｅ）Ｋ出力可能な閉塞網であるＥＢＳＦとＨＭＡを用いた２階層構造のメモリであり、本実施の形態である。
・ＣＢＡ（ＣｒｏｓｓＢａｒ  Ｍｅｍｏｒｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ）１つの階層構造のクロスバメモリである。
・ＨＭＡ（Ｈｉｅｒａｒｃｈｉｃａｌ  Ｍｕｌｔｉ−Ｐｏｒｔ  Ｍｅｍｏｒｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ）クロスバの配線を隠蔽することにより小型化を図ったメモリである。
・ＣＣ（ＣＢＡ−ＣＢＡ  Ａｒｃｈｉｔｅｃｔｕｒｅ）（Ｓｉｎｇｌｅ）クロスバを２階層使ったメモリであり、下位階層のメモリブロックは１ポートである。
・ＣＣ（ＣＢＡ−ＣＢＡ  Ａｒｃｈｉｔｅｃｔｕｒｅ）（Ｍｕｌｔｉ）クロスバを２階層使ったメモリであり、下位階層のメモリブロックはＫポートである。このメモリは、上記したＥＨ方式の上位階層がＣＢＡの場合と同一である。
【００６４】
図７（Ａ）は、上記各メモリを用いて、メモリブロックの数を変化させつつメモリに対するアクセスを行い、アクセス衝突確率の変化を評価したグラフである。また、ここでは、メモリに対するアクセスは、ランダムアクセスパターンとし、データビット幅を３２ビットとした。同図に示すグラフの横軸はメモリブロック数を示し、縦軸はアクセス衝突率を示す。
【００６５】
ＣＣ（Ｓｉｎｇｌｅ）では、メモリブロック数の増加に伴い、アクセス衝突率は減少している。具体的には、ＣＣ（Ｓｉｎｇｌｅ）のアクセス衝突率は、メモリブロック数が１２８個の場合は０．８（８０％）程度であり、メモリブロック数が２０４８個の場合は０．１程度である。メモリブロック数の増加に伴いアクセス衝突率が低下する理由は、メモリブロック数が増加すると、１つのメモリブロックに含まれるバンクの数が減少するからである。
【００６６】
ＥＨでは、メモリブロック数の増加に伴いアクセス衝突率は上昇している。具体的には、ＥＨのアクセス衝突率は、メモリブロック数が１２８個の場合は０．３程度であり、メモリブロック数が２０４８個の場合は０．８程度である。ＥＨのアクセス衝突率がメモリブロック数の増加に伴い上昇する理由は、メモリブロック数の増加に伴いポート数も増加し、結合網の内部に於ける衝突がより頻繁に発生するからである。
【００６７】
ＣＣ（Ｍｕｌｔｉ）では、ＥＨと同様にメモリブロック数の増加に伴いアクセス衝突率は上昇している。具体的には、ＣＣ（Ｍｕｌｔｉ）のアクセス衝突率は、メモリブロック数が１２８の場合は０．２程度であり、メモリブロック数が２０４８のときは０．８程度である。ＣＣ（Ｍｕｌｔｉ）のアクセス衝突率がメモリブロック数の増加に伴い上昇する理由は、上記したＥＨと同様である。
【００６８】
ＨＭＡおよびＣＢＡでは、メモリブロック数の数を変化させても、アクセス衝突率は変化しない。その理由は、ＨＭＡおよびＣＢＡでは、メモリブロックの概念が無いからである。
【００６９】
同図のブラフから明らかなように、メモリブロック数が５１２個付近で、ＥＨ、ＣＣ（Ｓｉｎｇｌｅ）およびＣＣ（Ｍｕｌｔｉ）のアクセス衝突率が略同一となる。このことから、以下の説明では、メモリブロック数が５１２個の点でトランジスタ数を評価する。このことにより、同等のアクセス衝突率を実現するために必要なトランジスタ数を比較することができる。
【００７０】
図７（Ｂ）は、上記各メモリを用いて、メモリブロック数を辺化させたときのメモリセルを含むトランジスタ数の変化を示すグラフである。このグラフの横軸はメモリブロック数を示し、縦軸はトランジスタ数を示す。
【００７１】
ＥＨ、ＣＣ（Ｓｉｎｇｌｅ）およびＣＣ（Ｍｕｌｔｉ）では、メモリブロック数の増加に伴いトランジスタ数も増加している。また、ＨＭＡおよびＣＢＡについては、ＥＨ等と同じアクセス衝突確率を得るのに必要なトランジスタ数を算出した。
【００７２】
ここで、ＥＨ、ＣＣ（Ｓｉｎｇｌｅ）およびＣＣ（Ｍｕｌｔｉ）のアクセス衝突率が略同等となるメモリブロック数が５１２個のポイントにて、トランジスタ数を比較する。このポイントに於いては、ＥＨにて必要とされるトランジスタ数は、ＨＭＡの６０．１％、ＣＢＡの３５．８％、ＣＣ（Ｍｕｌｔｉ）の２．７％、ＣＣ（Ｓｉｎｇｌｅ）の３４．４％である。このことから、本実施の形態であるＥＨ方式では、他の方式と比較して同じ性能を少ないトランジスタ数で実現することができる。
【００７３】
図８を参照して、データビット幅を小さくした場合の、トランジスタ数の変化を説明する。例えばスーパーコンピュータ等の大量の情報を多数の演算器で同時に且つ高速に処理する機器では、配線量を少なく、かつ、性能向上を図るためにデータビット幅を小さくしてデータをシリアル処理する演算器を用いることが考えられる。従って、ビット幅を小さくしてシミュレーションを行うことにより、本実施の形態のスーパーコンピュータ等への適用性を検証できる。
【００７４】
データビット幅を、演算ビット幅（ワード幅）よりも小さい単位で構成した場合は、メモリのアクセスは、複数回に分けて読み書きが行われる。
【００７５】
図８（Ａ）のグラフは、データビット幅を８ビットにしたときのトランジスタ数の変化を示している。他の条件は図７（Ｂ）の場合と同一である。ここでも、各方式のアクセス衝突率が略同一となる、メモリブロック数が５１２個の点にて、トランジスタ数を比較した。その結果、ＥＨのトランジスタ数は、ＨＭＡの８２．５％、ＣＢＡの５６．３％、ＣＣ（Ｍｕｌｔｉ）の５．７％、ＣＣ（Ｓｉｎｇｌｅ）の５５．４％である。従って、データビット幅が８ビットと短い場合でも、ＥＨ方式では同じ性能を少ないトランジスタ数で実現できる。
【００７６】
図８（Ｂ）のグラフは、データビット幅を１ビットにしたときのトランジスタ数の変化を示している。メモリブロック数が５１２個の点にて、トランジスタ数を比較すると、ＥＨのトランジスタ数は、ＨＭＡの９６．２％、ＣＢＡの７１．９％、ＣＣ（Ｍｕｌｔｉ）の９．６％、ＣＣ（Ｓｉｎｇｌｅ）の７１．９％である。従って、データビット幅が１ビットと極めて短い場合でも、ＥＨ方式が必要とするトランジスタ数は他の方式よりも少ないことが明らかとなった。
【００７７】
次に、メモリへのアクセスがシーケンシャルアクセスである場合について考察する。上記したシミュレーションでは、メモリへのアクセスはランダムアクセスが採用されたが、現実のアプリケーションではシーケンシャルアクセスが多い。
【００７８】
本実施の形態であるＥＨ方式は、シーケンシャルアクセスに於いては、理想的なバンク型多ポートメモリであるＣＢＡ、ＨＭＡに近づくことが予想される。その理由は、ＥＨ方式では下位のメモリブロックとのポートがＫポートであり、上位から下位へのアクセスが制限されにくいからである。また、同じアクセス衝突確率を、より少ないトランジスタ数にて実現可能になる。
【産業上の利用可能性】
【００７９】
本発明の結合網およびそれを用いたマルチポートメモリは、大量のデータを同時に処理する必要がある大規模計算システムのキャッシュメモリや主記憶に利用可能である。例えば、数値計算アクセラレータ、マルチプロセッサシステム、リアルタイム画像処理システム等に本発明は適用可能である。
【図面の簡単な説明】
【００８０】
【図１】（Ａ）および（Ｂ）は、本発明のマルチポートメモリの構成を示す図である。
【図２】本発明の閉塞網（ＥＢＳＦ）を構成するスイッチングセルの構成を示す図である。
【図３】（Ａ）（Ｂ）および（Ｃ）は、本発明の閉塞網（ＥＢＳＦ）を構成するスイッチングセルの構成を示す図である。
【図４】（Ａ）および（Ｂ）は、本発明に適用可能な他の閉塞網を示す図である。
【図５】（Ａ）（Ｂ）および（Ｃ）は、本発明のマルチポートメモリの下位階層の構成を示す図である。
【図６】本発明のマルチポートメモリの構成を示す図である。
【図７】（Ａ）および（Ｂ）は本発明のマルチポートメモリを用いたシミュレーション結果を示すグラフである。
【図８】（Ａ）および（Ｂ）は本発明のマルチポートメモリを用いたシミュレーション結果を示すグラフである。
【図９】従来のマルチポートメモリの構成を示す図である。
【図１０】（Ａ）および（Ｂ）は従来のマルチポートメモリの構成を示す図である。
【符号の説明】
【００８１】
１０            マルチポートメモリ
１１            結合網
１２            入力ポート
１３            出力ポート
１４            メモリブロック
１５            バンク
１６            バンク列選択回路
１７            バンク行選択回路
２１            スイッチングセル
２２            １ポートメモリ
２５            変換回路
２６            競合回避回路
２７            メモリセル
２８            メモリセル列選択回路
２９            メモリセル行選択回路
３０            ＥＢＳＦ
３２Ａ〜３２Ｃ  ステージ
４０            ＴＢＳＦ
４１Ａ〜４１Ｃ  バンヤン網
４２            入力ポート
４３            出力ポート
４８            出力部
５０            ＴＢＳＦ
５１Ａ〜５１Ｃ  バンヤン網
５２            入力ポート
５３            出力ポート
６０            マルチポートメモリ
６１            結合網
６２            入力ポート
６３            出力ポート
６４            メモリブロック
６５            バンク
６６            閉塞網
【図１】
2006260127.tif 000003
【図２】
2006260127.tif 000004
【図３】
2006260127.tif 000005
【図４】
2006260127.tif 000006
【図５】
2006260127.tif 000007
【図６】
2006260127.tif 000008
【図７】
2006260127.tif 000009
【図８】
2006260127.tif 000010
【図９】
2006260127.tif 000011
【図１０】
2006260127.tif 000012