(57)【特許請求の範囲】
【請求項１】
複数のビット線と複数のワード線との交点に配置された複数のメモリセルからなり、ｎ（２以上の整数）個のメモリバンクに分割されたメモリアレイと、
該メモリバンク各々に対し、コマンド、アドレス及びデータの入出力を独立して行うｍ（２以上の整数）個の入出力ポートと、
前記メモリバンク及び前記入出力ポートとの間におけるコマンド、アドレス及びデータ信号経路を任意に設定する経路切替回路と
を有し、
前記経路切替回路が
通常のデータアクセス状態に、外部から入力される前記コマンドにより設定された場合、前記メモリバンク及び前記入出力ポートとの間における前記コマンド線、アドレス線及びデータ線の各々の信号線の接続状態を設定するクロスバースイッチと、
１つの入出力ポートから複数のメモリバンクへの同一データの書き込み処理、あるいは１つのメモリバンクから複数の入出力ポートに対する同一データの読み出し処理を行うブロードキャスト状態に、外部から入力される前記コマンドにより設定された場合、１つの入出力ポート及び複数のメモリバンク間、あるいは複数の入出力ポート及び１つのメモリバンク間のデータの経路を形成するブロードキャストスイッチ部と
から構成されていることを特徴とするマルチポートメモリ。
【請求項２】
前記ブロードキャストスイッチ部が、
ブロードキャストデータ線と、
前記メモリバンク毎に設けられ、前記ブロードキャストデータ線と該各メモリバンクの入出力線との接続を行う第１のスイッチと、
前記入出力ポート毎に設けられ、前記ブロードキャストデータ線と該各入出力ポートの入出力回路との接続を行う第２のスイッチと
をさらに有することを特徴とする請求項１に記載のマルチポートメモリ。
【請求項３】
前記入出力ポートのいずれかから、ｐ（２≦ｐ≦ｎの整数）個の前記メモリバンクへの同一データの転送であるブロードキャストデータ転送の経路を設定する制御を示す前記コマンドが外部から入力された場合、
前記複数のメモリバンクに対応する前記第１のスイッチをオン状態とし、データ入力を行うとして選択された前記入出力ポートに対応する前記第２のスイッチをオン状態とし、他の第２のスイッチをオフ状態とすることを特徴とする請求項２に記載のマルチポートメモリ。
【請求項４】
前記メモリバンクのいずれかから、ｑ（２≦ｑ≦ｍの整数）個の前記入出力ポートへの同一データの転送であるブロードキャストデータ転送の経路を設定する制御を示すコマンドが外部から入力された場合、
前記複数の入出力ポートに対応する前記第２のスイッチをオン状態とし、データ出力を行うとして選択された前記メモリバンクに対応する前記第１のスイッチをオン状態とし、他の第１のスイッチをオフ状態とすることを特徴とする請求項２に記載のマルチポートメモリ。
【請求項５】
請求項１から請求項４のいずれかに記載のマルチポートメモリと、
該マルチポートメモリの前記入出力ポートに各々接続された複数のＣＰＵコアからなるマルチプロセッサと
を有し、
前記コマンド、アドレス及びデータが前記ＣＰＵコアから出力されることを特徴とするコンピュータシステム。
【請求項６】
請求項１から請求項４のいずれかに記載のマルチポートメモリと、
該マルチポートメモリの前記入出力ポートに各々接続された複数のプロセッサと
を有し、
前記コマンド、アドレス及びデータが前記プロセッサから出力されることを特徴とするコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数個のマイクロプロセッサ（ＭＰＵ）や、１個のプロセッサに複数個のＣＰＵコアを搭載したマルチコアプロセッサを含むシステムに適用して有用な、マルチポート及びマルチバンク構成を有するランダムアクセスメモリ（ＲＡＭ）として用いられる半導体記憶装置及びその半導体記憶装置を用いたシステムに関する。
【背景技術】
【０００２】
複数個のプロセッサからアクセスされるメモリとして、マルチポートかつマルチバンク構成を有するＤＲＡＭ（Dynamic Random Access Memory）及びそのメモリアクセスを行う制御方式が従来から知られている。
例えば、従来のＲＡＭには、一例として、それぞれデータを記憶可能な複数のメモリバンクと、それぞれデータの入出力を可能とする複数の入出力ポートを設け、上記複数の入出力ポートを、互いに異なるバスによって上記メモリバンクに結合させるマルチポートＲＡＭがある（例えば、特許文献１参照）。
【０００３】
また、従来のＲＡＭには、他の例として、メモリセルが配列されたメモリセル領域と、メモリセル領域内の行の選択を行う行選択回路と、メモリセル領域内の列の選択を行う列選択回路とを有するｍ個のバンクと、ｎ個のポートを有し、これらｎ個のポートから任意のｎ個のバンクを独立かつ同時にアクセスすることが出来るマルチポート回路を備えたＳＤＲＡＭがある。ここでｍ≧ｎである（例えば、特許文献２参照）。
【０００４】
また、従来のＲＡＭには、各々がコマンドを受信する複数、例えばＮ個の外部ポートと、それら外部ポートにそれぞれ対応したＮ組のバスと、それらＮ組のバスに接続される複数のメモリブロックと、それらＮ個の外部ポート各々から、それぞれ入力される複数のコマンドがアクセスするアドレスを比較するアドレス比較回路とを有し、このアドレス比較回路がアドレス比較により同一のメモリブロックに対するアクセスを検出すると、同一のメモリブロックにアクセスするコマンドのうち何れを実行し、あるいは何れを実行しないかを決定する裁定回路を含むマルチポートＤＲＡＭがある（例えば、特許文献３参照）。
【０００５】
また、従来のＲＡＭには、独立にアクセス可能な複数のメモリに対して接続される複数のポートと、複数のマスタからのそれぞれのメモリアクセス要求アドレスの所定ビットである分配ビットによって、アクセスするポートを振り分けるセレクタと、ポートごとに接続されたそれらのセレクタにより振り分けられた複数のマスタのメモリアクセス要求を調停する調停手段と、ポートごとに接続されたその調停手段により決定されたマスタのメモリアクセス要求の内容に従い、メモリに対するアクセス制御を行うアクセス手段とを有するＳＤＲＡＭ制御回路を用いたもがある（例えば、特許文献４参照）。
【０００６】
また、従来のＲＡＭには、揮発性メモリセルからなり複数のバンクを含むセルアレイと、そのセルアレイに対して各々が独立したアドレスにアクセス可能な複数の外部ポートと、それら複数の外部ポート間でのアクセスの順番を決定するアービトレーション回路と、それら複数の外部ポートのあるポートから上記セルアレイの１つのバンクに対してアクセス要求がなされた時にその１つのバンクがコア動作実行中である場合、当該アクセス要求をしたポートに対してビジー信号を出力する制御回路を含むＤＲＡＭ型のマルチポートメモリがある（例えば、特許文献５参照）。
【０００７】
また、従来のＲＡＭには、複数のメモリバンクと、複数のバスと、これらメモリバンク及びバスの選択機構とを備え、この選択機構は、複数のメモリバンクにおける全てのメモリバンク、及び複数のバスにおける全てのバスに接続されており、複数のメモリバンクの何れかのメモリバンクを選択して、選択したバンクを複数のバスの何れかに接続することができるマルチポートＲＡＭシステムがある（例えば、特許文献６参照）。
【０００８】
また、従来のＲＡＭには、互いに異なった複数個の入出力ポートと、互いに異なった複数個のメモリ領域に分割されたメモリアレイと、上記入出力ポートのうち少なくとも１つ以上の入出力ポートを通じ、上記メモリ領域各々がそれぞれアクセスされるように上記メモリ領域と上記入出力ポートとの間のアクセス経路を可変的に制御する選択制御とを備えるマルチポート半導体メモリがある（例えば、特許文献７参照）。
【０００９】
また、従来のＲＡＭには、パラレルポートを有する主バスコントローラ、及び共通バスインタフェースに対し互いに接続されてアクセスするＤＲＡＭを有するシステムで使用され、マルチポート内部キャッシュＤＲＡＭを含み、この内部キャッシュＤＲＡＭが、分離した外部Ｉ／Ｏリソース及び内部ＤＲＡＭメモリ間において対応するバッファを介して互いに接続される複数の独立した直列データインタフェースを有し、スイッチングモジュールが上記直列データインタフェースとバッファとの間に挿入され、さらにスイッチングモジュール論理が直列インタフェースとバッファとの間の経路をダイナミックに経路付けするように主バスコントローラから制御されるマルチポートＤＲＡＭシステムがある（例えば、特許文献８参照）。
【００１０】
また、従来のＲＡＭには、単一ポートのメモリセルによる複数のメモリブロック、多ポート構成のグローバルビット線、メモリブロック内のビット線を上記グローバルビット線に選択的に接続するスイッチ手段を含み、面積効率が高い擬似多ポートメモリを構成するメモリシステムがある（例えば、特許文献９参照）。
【００１１】
また、従来のＲＡＭには、複数組の共有配線と、各共有配線毎に共通接続された複数のメモリブロックからなる複数組のメモリブロック群と、前記メモリブロックにアクセスする第１のポートと、前記メモリブロックにアクセスする第２のポートと、前記第１のポートと前記複数組の共有配線との間を電気的に接続又は遮断する複数の第１のスイッチと、前記第２のポートと前記複数組の共有配線との間を電気的に接続又は遮断する複数の第２のスイッチと、前記第１のスイッチ及び前記第２のスイッチを制御するスイッチ制御回路とを有し、チップ面積の増大を回避できるマルチポートＤＲＡＭがある（例えば、特許文献１０参照）。
【００１２】
しかしながら、上記特許文献１〜１０に開示されているマルチポートで、かつマルチバンク構成をもつＤＲＡＭ、及びその制御方式やシステムにおいては、一つの入出力ポートから複数個のバンクに対して同時に書き込みを行うこと、また逆に一つのバンクから複数個の入出力ポートに対して同時に読出しを行うことができないという問題がある。
【００１３】
一方、上述した問題を解決する構成とし、第１の機能デバイスとしてのＣＰＵと第２の機能デバイスとの双方からメモリに対するアクセスを行うメモリアクセス制御装置において、各ブロックが連続したアドレス領域を持つようにメモリアドレス空間が複数のブロックに分割され、上記メモリアクセス制御回路が、上記第１及び第２の機能デバイスからアクセスされたメモリブロックが同じであるとき、双方からのアクセスがメモリに対する読み出しである場合、上記メモリに対する上記第１及び第２の機能デバイスによる同時アクセスを許可するメモリアクセス装置がある（例えば、特許文献１１参照）。
【００１４】
また、マルチポート内部ＤＲＡＭキャッシュアレイを含み、複数のシステムＩ／Ｏリソースが、アレイの各ユニットにおいて対応するＤＲＡＭコアに接続された共通の内部データバスを介して接続され、送信元となる１つのシステムＩ／Ｏリソースが、上記マルチポート内部ＤＲＡＭキャッシュアレイにメッセージを書んだ後に、このメッセージを受信することが必要とされている全てのシステムＩ／Ｏリソースに対し、マルチポート内部ＤＲＡＭキャッシュアレイから、このメッセージを読み出して同時に送信するマルチポートＤＲＡＭがある（例えば、特許文献１２参照）。
【特許文献１】特開平８−２２１３１９号公報
【特許文献２】特開２０００−２１５６５９号公報
【特許文献３】特開２００２−１９７８５３号公報
【特許文献４】特開２００３−２６３３６３号公報
【特許文献５】特開２００３−２７２３７８号公報
【特許文献６】特開２００５−３４６７１５号公報
【特許文献７】特開２００７−１７２８１１号公報
【特許文献８】特表２０００−５０１５２４号公報
【特許文献９】特開平８−２１２７６６号公報
【特許文献１０】特開２００１−４３６７４号公報
【特許文献１１】特開２００２−３５８２３２号公報
【特許文献１２】特表２００１−５１１５５９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、上記特許文献１１に記載されている構成は、一つの入出力ポートから入力されるデータを、内部の複数個のバンクそれぞれに対し、同時に書き込みを行うことが出来ないという問題がある。
また、上記特許文献１２に記載されている構成は、システムＩ／Ｏリソース間でのメッセージのやりとりに対し、単純にマルチキャストを適用するものであり、複数個のＭＰＵやＣＰＵコアに対し、複数個のバンクを割り当てて、１つのＭＰＵやＣＰＵコアから複数個のバンクに対する同時書き込みと、逆に１つのバンクから複数個のＭＰＵやＣＰＵコアに対する同時読み出しという機能を実現することができないという問題がある。
【００１６】
本発明は、このような事情に鑑みてなされたもので、複数個のＭＰＵやＣＰＵコアに対して、複数個の入出力ポートを介して複数個のバンクを割り当て、１つのＭＰＵやＣＰＵコアから対応する１つの入出力ポートを介して複数個のバンクに対する同一データの同時書き込みを行い、また、１つのバンクから対応する複数個の入出力ポートを介して複数個のＭＰＵやＣＰＵコアに対する同一データの同時読み出しを行うことができる半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明のマルチポートメモリは、複数のビット線と複数のワード線との交点に配置された複数のメモリセルからなり、ｎ（２以上の整数）個のメモリバンクに分割されたメモリアレイと、該メモリバンク各々に対し、コマンド、アドレス及びデータの入出力を独立して行うｍ（２以上の整数）個の入出力ポートと、前記メモリバンク及び前記入出力ポートとの間におけるコマンド、アドレス及びデータ信号経路を任意に設定する経路切替回路とを有し、前記経路切替回路が通常のデータアクセス状態に、外部から入力される前記コマンドにより設定された場合、前記メモリバンク及び前記入出力ポートとの間における前記コマンド線、アドレス線及びデータ線の各々の信号線の接続状態を設定するクロスバースイッチと、１つの入出力ポートから複数のメモリバンクへの同一データの書き込み処理、あるいは１つのメモリバンクから複数の入出力ポートに対する同一データの読み出し処理を行うブロードキャスト状態に、外部から入力される前記コマンドにより設定された場合、１つの入出力ポート及び複数のメモリバンク間、あるいは複数の入出力ポート及び１つのメモリバンク間のデータの経路を形成するブロードキャストスイッチ部とから構成されていることを特徴とする。
【００１８】
本発明のマルチポートメモリは、前記ブロードキャストスイッチ部が、ブロードキャストデータ線と、前記メモリバンク毎に設けられ、前記ブロードキャストデータ線と該各メモリバンクの入出力線との接続を行う第１のスイッチと、前記入出力ポート毎に設けられ、前記ブロードキャストデータ線と該各入出力ポートの入出力回路との接続を行う第２のスイッチとをさらに有することを特徴とする。
【００１９】
本発明のマルチポートメモリは、前記入出力ポートのいずれかから、ｐ（２≦ｐ≦ｎの整数）個の前記メモリバンクへの同一データの転送であるブロードキャストデータ転送の経路を設定する制御信号が外部から入力された場合、前記複数のメモリバンクに対応する前記第１のスイッチをオン状態とし、データ入力を行うとして選択された前記入出力ポートに対応する前記第２のスイッチをオン状態とし、他の第２のスイッチをオフ状態とすることを特徴とする。
【００２０】
本発明のマルチポートメモリは、前記メモリバンクのいずれかから、ｑ（２≦ｑ≦ｍの整数）個の前記入出力ポートへの同一データの転送であるブロードキャストデータ転送の経路を設定する制御信号が外部から入力された場合、前記複数の入出力ポートに対応する前記第２のスイッチをオン状態とし、データ出力を行うとして選択された前記メモリバンクに対応する前記第１のスイッチをオン状態とし、他の第１のスイッチをオフ状態とすることを特徴とする。
【００２１】
本発明のコンピュータシステムは、上記いずれかに記載のマルチポートメモリと、該マルチポートメモリの前記入出力ポートに各々接続された複数のＣＰＵコアからなるマルチプロセッサとを有し、前記コマンド、アドレス及びデータが前記ＣＰＵコアから出力されることを特徴とする。
【００２２】
本発明のコンピュータシステムは、上記いずれかに記載のマルチポートメモリと、該マルチポートメモリの前記入出力ポートに各々接続された複数のプロセッサとを有し、前記コマンド、アドレス及びデータが前記プロセッサから出力されることを特徴とする。
【発明の効果】
【００２３】
以上説明したように、本発明のマルチポートメモリ（半導体記憶装置）によれば、複数個のＭＰＵやＣＰＵコアに対して複数個のバンクを割り当て、１つのＭＰＵやＣＰＵコアから、すなわちいずれかの入出力ポートから入力したデータを複数個のメモリバンクに対して書き込む、複数のメモリバンクへの同一データの同時書き込みと、逆に１つのメモリバンクから読み出したデータを複数個のＭＰＵやＣＰＵコアに対して出力する、複数の入出力ポートからの同一データの同時読み出しという機能を実現することが可能となる。
この結果、本発明のマルチポートメモリによれば、複数個のＭＰＵやマルチコアプロセッサを含むシステムにおいて、１つのＭＰＵやＣＰＵコアから複数個のメモリバンクに共通なデータを書き込む時に、書き込みが必要な複数個のメモリバンクに対し、同一のデータを読み込んで、書き込みを行う動作をこのメモリバンクの個数分しなくて済み、ＣＰＵのデータ処理における演算処理の稼働率を増加させ、システムのデータ処理の効率を向上させることができる。
【００２４】
また、同様に、本発明のマルチポートメモリによれば、複数個のＭＰＵやマルチコアプロセッサを含むシステムにおいて、１つのメモリバンクから複数のＭＰＵやＣＰＵコアに共通なデータを読み出す時に、読み出しが必要な複数個のＭＰＵやＣＰＵコアに対し、同一のデータを読み出して、各入出力ポートへ出力する動作をこのＭＰＵやＣＰＵコアの個数分しなくて済み、ＣＰＵのデータ処理における演算処理の稼働率を増加させ、システムのデータ処理の効率を向上させることができる。
【発明を実施するための最良の形態】
【００２５】
＜第１の実施形態＞
以下、本発明の一実施形態による半導体記憶装置であるマルチポートメモリを図面を参照して説明する。図１は同実施形態によるマルチポートメモリの構成例を示すブロック図である。ここで、本実施形態における半導体記憶装置はシリコンなどの半導体基板上に形成されたものある。
本実施形態のマルチポートメモリは、ｎ個のメモリバンク及びｍ個の入出力ポートから構成されているが、説明の簡易化のため、以下、ｎ＝４、ｍ＝４として説明する。
すなわち、図１に示す本実施形態におけるマルチポートメモリは、メモリバンクＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４の４つのバンクと、経路切替回路２、経路制御回路３、調停回路４及び入出力ポートＡ、Ｂ、Ｃ、Ｄの４つのポートから構成されている。
【００２６】
上記メモリバンクＭＢ１〜ＭＢ４は、それぞれ独立にメモリバンク内において、複数のビット線と複数のワード線との交点に配置されたメモリセルからなるメモリセル領域を有し、このメモリセル領域から任意にメモリセルを選択するためのロウデコーダ、カラムデコーダが配置されている。
また、メモリバンクＭＢ１〜ＭＢ４は、図示をしていないが、ビット線のプリチャージ、データの読み出し及びデータの書き込みのタイミング生成に用いるクロックを生成するクロック生成回路と、プリチャージ、読み出し及び書き込みなどの動作のタイミングを制御するタイミング制御回路と、ビット線に読み出されたデータ情報を増幅するセンスアンプを含むデータ読み出し・書き込み回路等もメモリバンク毎に独立して配置されているため、メモリバンクＭＢ１〜ＭＢ４それぞれが互いに独立に、プリチャージ、データの読み出し及びデータの書き込み動作を行うことが可能な構成となっている。
【００２７】
入出力ポートＡ、Ｂ、Ｃ、Ｄ各々は、外部装置からコマンド信号、アドレス信号及びデータが入力され、このコマンド信号及びアドレス信号により、各入出力ポート毎に独立に外部装置とのデータの入出力が行われる。
【００２８】
経路切替回路２は、入出力ポートＡ、Ｂ、Ｃ、Ｄ各々と、メモリバンクＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４それぞれとのコマンド信号、アドレス信号及びデータの送受信の経路を、経路制御回路３により変更可能に構成されている。
図２に示すように、経路切替回路２は、クロスバースイッチＣＳＤ１、ＣＳＤ２、ＣＳＤ３、ＣＳＤ４、ＣＳＣ１、ＣＳＣ２、ＣＳＣ３、ＣＳＣ４、ＣＳＡ１、ＣＳＡ２、ＣＳＡ３及びＣＳＡ４からなるクロスバースイッチ群と、ブロードキャストデータ線Ｂ／Ｃと、スイッチＳＷ＿１、ＳＷ＿２、ＳＷ＿３、ＳＷ＿４、ＳＷ＿Ａ、ＳＷ＿Ｂ、ＳＷ＿Ｃ及びＳＷ＿Ｄのスイッチ群とから構成されている。
【００２９】
上記クロスバースイッチＣＳＤ１、ＣＳＤ２、ＣＳＤ３、ＣＳＤ４各々は、メモリバンクＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４のデータ入出力線（複数のデータ線からなるデータバス）それぞれと、入出力ポートＡ、Ｂ、Ｃ、ＤのいずれかのデータバスＤＡ、ＤＢ、ＤＣ、ＤＤとを接続させるスイッチである。ここで、データバスＤＡが入出力ポートＡに接続されたデータバスであり、データバスＤＢが入出力ポートＢに接続されたデータバスであり、データバスＤＣが入出力ポートＣに接続されたデータバスであり、データバスＤＤが入出力ポートＤに接続されたデータバスである。
【００３０】
上記クロスバースイッチＣＳＣ１、ＣＳＣ２、ＣＳＣ３、ＣＳＣ４各々は、メモリバンクＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４のコマンド入力線（複数のコマンド線からなるコマンドバス）それぞれと、入出力ポートＡ、Ｂ、Ｃ、ＤのいずれかのコマンドバスＣＡ、ＣＢ、ＣＣ、ＣＤとを接続させるスイッチである。ここで、コマンドバスＣＡが入出力ポートＡに接続されたコマンドバスであり、コマンドバスＣＢが入出力ポートＢに接続されたコマンドバスであり、コマンドバスＣＣが入出力ポートＣに接続されたコマンドバスであり、コマンドバスＣＤが入出力ポートＤに接続されたコマンドバスである。
【００３１】
上記クロスバースイッチＣＳＡ１、ＣＳＡ２、ＣＳＡ３、ＣＳＡ４各々は、メモリバンクＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４のアドレス入力線（複数のアドレス線からなるアドレスバス）それぞれと、入出力ポートＡ、Ｂ、Ｃ、ＤのいずれかのアドレスバスＡＡ、ＡＢ、ＡＣ、ＡＤとを接続させるスイッチである。ここで、アドレスバスＡＡが入出力ポートＡに接続されたアドレスバスであり、アドレスバスＡＢが入出力ポートＢに接続されたアドレスバスであり、アドレスバスＡＣが入出力ポートＣに接続されたアドレスバスであり、アドレスバスＡＤが入出力ポートＤに接続されたアドレスバスである。
【００３２】
上記ブロードキャストデータ線Ｂ／Ｃは、データバスであり、スイッチＳＷ＿１、ＳＷ＿２、ＳＷ＿３及びＳＷ＿４がオン状態あるいはオフ状態となることにより、メモリバンクＭＢ１、ＭＢ２、ＭＢ３及びＭＢ４それぞれのデータ入出力線に対して、接続あるいは解放された状態となる。
スイッチＳＷ＿Ａ、ＳＷ＿Ｂ、ＳＷ＿Ｃ及びＳＷ＿Ｄ各々は、それぞれ入出力ポートＡ、Ｂ、Ｃ、Ｄのデータ入出力回路（データの波形整形回路及びドライバ回路などで構成されている）に対し、各々に対応するデータバス（ＤＡ、ＤＢ、ＤＣ、ＤＤ）あるいはブロードキャストデータ線Ｂ／Ｃのいずれを接続するかを切り替える切替スイッチである。
上記ブロードキャストデータ線Ｂ／Ｃと、スイッチＳＷ＿１、ＳＷ＿２、ＳＷ＿３及びＳＷ＿４と、スイッチＳＷ＿Ａ、ＳＷ＿Ｂ、ＳＷ＿Ｃ及びＳＷ＿Ｄとから、ブロードキャストスイッチ部が構成されている。
【００３３】
上述した構成により、本実施形態のマルチポートメモリは、入出力ポートＡ、Ｂ、Ｃ、ＤそれぞれのコマンドバスＣＡ、ＣＢ、ＣＣ、ＣＤ、アドレスバスＡＡ、ＡＢ、ＡＣ、ＡＤ、データバスＤＡ、ＤＢ、ＤＣ、ＤＤが、経路切替回路２により任意に各メモリバンクＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４に対して接続され、入出力ポートＡ、Ｂ、Ｃ、Ｄから入力されるコマンド信号及びアドレス信号が、各入力ポートに接続された各メモリバンクＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４に対して伝達される。
【００３４】
図１に戻り、上記経路切替制御回路３は、各入出力ポートから、ぞれぞの入出力ポートに対応するコマンド信号及びアドレス信号が入力され、コマンドとして経路設定の制御信号が外部回路（マルチポートメモリの外部、例えばＭＰＵやＣＰＵコアなど）から入力されると、この制御信号に基づいて各入出力ポートと各メモリバンクとの間の経路を設定する経路切替信号を経路切替回路２へ出力し、この経路切替信号により上述したクロスバースイッチ群及びスイッチ群をオンオフ制御することにより、各入出力ポートと各メモリバンクとの間の経路を任意に変更する。
【００３５】
また、経路切替制御回路３は、上記制御信号がブロードキャスト制御を示す場合、ブロードキャスト制御信号を、経路切替回路２へ出力し、上記スイッチ群の各スイッチを制御し、いずれかのメモリバンクから読み出したデータを複数の入出力ポートへ出力する１対ｑ（２≦ｑ≦ｍ）のブロードキャストデータ転送、あるいはいずれかの入出力ポートから入力されたデータを、複数のメモリバンク（のメモリセル）へ書き込む１対ｐ（２≦ｐ≦ｎ）のブロードキャストデータ転送、これら２つのブロードキャスト転送いずれかのブロードキャストモードとなるよう、メモリバンク及び入出力ポート間における経路の設定を行う。
【００３６】
また、経路切替制御回路３は、２つ以上の複数の入出力ポートから、同一メモリバンクに対するアクセスが同時に発生したことを、各入出力ポートから入力されるアドレス信号それぞれを比較することにより検出する。そして、経路切替制御回路３は、同一メモリバンクに対するアクセスが複数あることを検出した場合、調停信号を調停回路４へ出力する。
【００３７】
上記調停回路４は、経路切替制御回路４から調停信号が入力されると、あらかじめ設定された調停ポリシーに従い、各入出力ポートの動作を調停し、例えば、同一のメモリアドレスをアクセスするアドレス信号が入力されると、最初にアドレスが入力された入出力ポートのコマンド信号により経路切替回路２を制御し、他の入出力ポートに対して、すなわち他の入出力ポートに接続されているアクセス要求元（ＭＰＵやＣＰＵコア）に対してビジー信号を出力する。
【００３８】
図２は、図１における経路切替回路２の構成例を示すブロック図であるが、スイッチＳＷ＿１〜ＳＷ＿４がオフ状態となっており、いずれのデータバスＤＡ、ＤＢ、ＤＣ及びＤＤがブロードキャストデータ線Ｂ／Ｃへ接続されておらず、かつスイッチＳＷ＿Ａ〜ＳＷ＿Ｄのデータ入出力回路がそれぞれの対応するデータバスＤＡ、ＤＢ、ＤＣ、ＤＤへ接続されており、ブロードキャストモードとなっていない通常動作状態の経路、すなわちブロードキャストデータ転送の経路が形成されていない状態のスイッチ群の状態を示している。
【００３９】
次に、図３には外部回路（ＭＰＵやＣＰＵコア）から入力される、ブロードキャストモードに経路を変更する制御信号（コマンド）の一つであるブロードキャストリードコマンドについて説明した概念図である。すなわち、いずれかのメモリバンクがアクセスされ、複数の入出力ポートに対して同一のデータが１つのメモリバンクから読み出されるブロードキャストモードを指定する制御信号である。図３（ａ）はブロードキャストリードコマンドの構成を示す概念図であり、図３（ｂ）はブロードキャストリードコマンドが入力された際の経路制御回路３の動作を示す概念図である。
【００４０】
図３（ａ）に示すように、Ｗ／Ｒ制御コードは、Ｃ０が「０」の場合にノーマルの読み出しまたは書き込みの状態であることを示し、「１」の場合にブロードキャストの読み出しあるいは書き込みの状態であることを示すヘッダーコードとなっている。
また、Ｗ／Ｒ制御コードは、Ｃ１が「０」の場合に書き込みの状態であることを示し、「１」の場合に読み出しの状態であることを示している。
ここでは、Ｃ０が「１」であり、Ｃ１が「１」であり、ブロードキャストリードのモードとするブロードキャストリードコマンドの設定となっている。
【００４１】
また、メモリバンク＃（番号）指定コードは、メモリバンクＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４に対して設定ビットが対応して設けられており、それぞれのビットが「０」の場合に、データを読み出さないメモリバンクを示し、「１」の場合にデータを読み出すメモリバンクを示している。
また、入出力ポート＃（番号）指定コードは、入出力ポートＡ、Ｂ、Ｃ、Ｄに対して設定ビットが対応して設けられており、それぞれのビットが「０」の場合に読み出さない入出力ポートを示し、「１」の場合に読み出す入出力ポートを示している。
【００４２】
そして、経路制御回路３は、図３（ａ）に示すブロードキャストリードコマンドが、いずれかの入出力ポートから入力されると、このブロードキャストリードコマンドからメモリバンク＃指定コードを抽出し、あらかじめ設定されているメモリバンク番号と対応するメモリバンク＃設定コードと比較し、一致したメモリバンク＃設定コードに対応するメモリバンクに対応するスイッチＳＷ＿１〜ＳＷ＿４のいずれかをオフ状態からオン状態へ遷移させるブロードキャスト制御信号（スイッチオンオフ信号）を経路切替回路２へ出力する。
そして、経路切替回路２は、ブロードキャスト制御信号に対応してスイッチＳＷ＿１〜ＳＷ＿４のいずれかをオフ状態からオン状態へ遷移させ、指定されたメモリバンクのデータ入出力線をブロードキャストデータ線Ｂ／Ｃに接続する。
【００４３】
また、経路制御回路３は、ブロードキャストリードコマンドから入出力ポート＃指定コードを抽出し、あらかじめ設定されている入出力ポート番号と対応する入出力ポート＃設定コードと比較し、一致した入出力ポート＃設定コードに対応する入出力ポートに対応するスイッチＳＷ＿Ａ〜ＳＷ＿Ｄ各々をオフ状態からオン状態へ遷移させるブロードキャスト制御信号（スイッチ切替信号）を経路切替回路２へ出力する。
そして、経路切替回路２は、ブロードキャスト制御信号に対応してスイッチＳＷ＿Ａ〜ＳＷ＿Ｄのうち設定されたスイッチ各々の切替制御を行い、選択された入出力ポートの各データ入出力回路を、データバス（ＤＡ、ＤＢ、ＤＣ、ＤＤ）に対する接続から、指定された入出力ポートをブロードキャストデータ線Ｂ／Ｃに接続するように、スイッチの切り替えを行う。
【００４４】
上述した経路制御回路３による経路切替回路２の経路切替により、１つのメモリバンクから複数の入出力ポートに対する１対ｑのブロードキャストリードのモードの経路が構成されることになる。このとき、経路制御回路３は、選択されたメモリバンクに対し、コマンド信号及びアドレス信号が送信される様に、クロスバースイッチ群の各クロスバースイッチを制御する。
また、経路制御回路３は、いずれかの入出力ポートから図３（ａ）に示すブロードキャストリードコマンドが入力されると、ブロードキャストリードコマンドが入力されたポートを除いて、データ読み出しとして指定された入出力ポートに対する外部からのアクセスを禁止し、データを出力する入出力ポートのポート番号及びこれらの入出力ポートを出力状態とする調停信号を調停回路４に対して出力する。
上記調停信号を入力すると、調停回路４は、指定された入出力ポートに対する外部からのアクセスを禁止するとともに、指定されたメモリバンクから読み出されたデータを出力するため、指定された入出力ポートを出力状態とする。
【００４５】
図４には、メモリバンクＭＢ１から読み出したデータを、全ての入出力ポートＡ〜Ｄに対して出力する指示を示す[Ｃ０、Ｃ１、ＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４、Ａ、Ｂ、Ｃ、Ｄ]＝[１、１、１、０、０、０、１、１、１、１]のブロードキャストリードコマンドがいずれかの入出力ポートから入力された場合のスイッチＳＷ＿１〜ＳＷ＿４及びＳＷ＿Ａ〜ＳＷ＿Ｄの状態が示されている。
経路制御回路３からのブロードキャスト制御信号（スイッチオンオフ信号）により、経路切替回路２において、スイッチＳＷ＿１がオン状態となり、メモリバンクＭＢ１のデータ入出力線がブロードキャストデータ線Ｂ／Ｃに接続されている。
【００４６】
また、経路制御回路３からのブロードキャスト制御信号（スイッチ切替信号）により、経路切替回路２において、スイッチＳＷ＿Ａ〜ＳＷ＿Ｄが入出力ポートＡ、Ｂ、Ｃ、Ｄのデータ入出力回路と、ブロードキャストデータ線Ｂ／Ｃとが接続されるようにデータ入出力回路に対する接続を切り替える。
そして、調停回路４は、経路制御回路３からの調停信号により、指定された入出力ポートＡ、Ｂ、Ｃ及びＤのうちブロードキャストリードコマンドが入力されたポートを除いたポートに対する外部からのアクセスを禁止するとともに、指定されたメモリバンクＭＢ１から読み出されたデータを出力するため、指定された入出力ポートＡ、Ｂ、Ｃ及びＤを出力状態とする。
この結果、メモリバンクＭＢ１から読み出されたデータが、全入出力ポートＡ、Ｂ、Ｃ、Ｄに対して同時に送信され、外部に読み出されることとなる。
【００４７】
次に、図５には、メモリバンクＭＢ３から読み出したデータを、入出力ポートＡ及びＢに対して出力する指示を示す[Ｃ０、Ｃ１、ＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４、Ａ、Ｂ、Ｃ、Ｄ]＝[１、１、０、０、１、０、１、１、０、０]のブロードキャストリードコマンドが、例えば、入出力ポートＡから入力された場合のスイッチＳＷ＿１〜ＳＷ＿４及びＳＷ＿Ａ〜ＳＷ＿Ｄの状態が示されている。
経路制御回路３からのブロードキャスト制御信号（スイッチオンオフ信号）により、経路切替回路２において、スイッチＳＷ＿３がオン状態となり、メモリバンクＭＢ３のデータ入出力線がブロードキャストデータ線Ｂ／Ｃに接続されている。
【００４８】
また、経路制御回路３からのブロードキャスト制御信号（スイッチ切替信号）により、経路切替回路２において、スイッチＳＷ＿Ａ及びＳＷ＿Ｂが入出力ポートＡ、Ｂのデータ入出力回路と、ブロードキャストデータ線Ｂ／Ｃとが接続されるようにデータ入出力回路に対する接続を切り替える。
この結果、メモリバンクＭＢ３から読み出されたデータが、入出力ポートＡ及びＢに対して同時に送信され、外部に読み出されることとなる。
【００４９】
また、図５のブロードキャストリードモードの場合、調停回路４は、経路制御回路３からの調停信号により、ブロードキャストリードコマンドが入力されたポート以外で指定された入出力ポートＢに対する外部からのアクセスを禁止するとともに、指定されたメモリバンクＭＢ３から読み出されたデータを出力するため、指定された入出力ポートＡ及びＢを出力状態とする。
一方、メモリバンクＭＢ１、ＭＢ２、ＭＢ４と、入出力ポートＣ及びＤとの間のデータ経路は、調停回路４によるアクセスの制限を受けないため、クロスバースイッチ群のクロスバースイッチを用いて、通常のメモリバンクのアクセスを行うように、コマンド信号及びアドレス信号に基づき、経路制御回路３により制御される。
【００５０】
次に、図６には外部回路（ＭＰＵやＣＰＵコア）から入力される、ブロードキャストモードに経路を変更する制御信号（コマンド）の一つであるブロードキャストライトコマンドについて説明した概念図である。すなわち、複数のメモリバンクがアクセスされ、いずれかの入出力ポートから同一のデータが上記複数のメモリバンクに対して書き込まれるブロードキャストモードを指定する制御信号である。図６（ａ）はブロードキャストライトコマンドの構成を示す概念図であり、図６（ｂ）はブロードキャストライトコマンドが入力された際の経路制御回路３の動作を示す概念図である。
【００５１】
図６（ａ）に示すように、Ｗ／Ｒ制御コードは、Ｃ０が「０」の場合にノーマルの読み出しまたは書き込みの状態であることを示し、「１」の場合にブロードキャストの読み出しあるいは書き込みの状態であることを示すヘッダーコードとなっている。
また、Ｗ／Ｒ制御コードは、Ｃ１が「０」の場合に書き込みの状態であることを示し、「１」の場合に読み出しの状態であることを示している。
ここでは、Ｃ０が「１」であり、Ｃ１が「０」であり、ブロードキャストライトのモードとするブロードキャストライトコマンドの設定となっている。
また、メモリバンク＃（番号）指定コードは、メモリバンクＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４に対して設定ビットが対応して設けられており、それぞれのビットが「０」の場合に、データを書き込まないメモリバンクを示し、「１」の場合にデータを書き込むメモリバンクを示している。
【００５２】
そして、経路制御回路３は、図６（ａ）に示すブロードキャストライトコマンドが、いずれかの入出力ポートから入力されると、このブロードキャストライトコマンドからメモリバンク＃指定コードを抽出し、あらかじめ設定されているメモリバンク番号と対応するメモリバンク＃設定コードと比較し、一致したメモリバンク＃設定コードに対応するメモリバンクに対応するスイッチＳＷ＿１〜ＳＷ＿４の各々をオフ状態からオン状態へ遷移させるブロードキャスト制御信号（スイッチオンオフ信号）を経路切替回路２へ出力する。
そして、経路切替回路２は、ブロードキャスト制御信号に対応してスイッチＳＷ＿１〜ＳＷ＿４の各々をオフ状態からオン状態へ遷移させ、指定されたメモリバンクのデータ入出力線をブロードキャストデータ線Ｂ／Ｃに接続する。
【００５３】
また、経路制御回路３は、ブロードキャストライトコマンドが入力された入出力ポートを識別するために、後述するコマンド発行ポート識別信号を用いて対応する入出力ポートに対応するスイッチＳＷ＿Ａ〜ＳＷ＿Ｄのいずれかをオフ状態からオン状態へ遷移させるブロードキャスト制御信号（スイッチ切替信号）を経路切替回路２へ出力する。
そして、経路切替回路２は、ブロードキャスト制御信号に対応してスイッチＳＷ＿Ａ〜ＳＷ＿Ｄのうち設定されたスイッチの切替制御を行い、選択されたいずれか１つの入出力ポートのデータ入出力回路を、データバス（ＤＡ、ＤＢ、ＤＣ、ＤＤ）に対する接続から、指定された入出力ポートをブロードキャストデータ線Ｂ／Ｃに接続するように、スイッチの切り替えを行う。このとき、選択された以外の他の入出力ポートは、データバス（ＤＡ、ＤＢ、ＤＣ、ＤＤ）に接続された状態となっている。
【００５４】
上述した経路制御回路３による経路切替回路２の経路切替により、１つの入出力ポートから入力されたデータを、複数のメモリバンクに書き込む１対ｐのブロードキャストライトのモードの経路が構成されることになる。このとき、経路制御回路３は、選択されたメモリバンクに対し、コマンド信号及びアドレス信号が送信される様に、クロスバースイッチ群の各クロスバースイッチを制御する。
また、経路制御回路３は、いずれかの入出力ポートから図６（ａ）に示すブロードキャストライトコマンドが入力されると、データ書き込みとして指定されたメモリバンクに対応付けられている入出力ポートのうちブロードキャストライトコマンドが入力されたポートを除いたポートに対する外部からのアクセスを禁止し、データを入力する入出力ポートのポート番号及びこの入出力ポートを入力状態とする調停信号を調停回路４に対して出力する。
【００５５】
上記調停信号を入力すると、調停回路４は、指定された入出力ポートに対する外部からのアクセスを禁止するとともに、指定された複数のメモリバンクに対して書き込むデータを入力するため、指定された入出力ポートを入力状態とする。
このとき、経路制御回路３は、データの入力先として指定されていない入出力ポートと、書き込み先として指定されていないメモリバンクとの間のデータの経路を、通常のアクセスに対応して、クロスバースイッチ群の各クロスバースイッチにより制御する。
一方、経路制御回路３は、データの書き込み先として指定されているメモリバンクが、データの入力先として指定されていない入出力ポートからアクセスされた場合、内部に記憶されているアドレスと比較することにより、複数のアクセスを検出し、データの入力先として指定されていない入出力ポートに対してビジー信号を出力する。
【００５６】
図７には、入出力ポートＡから入力されたデータを、全てのメモリバンクＭＢ１〜ＭＢ４に対して書き込む指示を示す[Ｃ０、Ｃ１、ＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４]＝[１、０、１、１、１、１]のブロードキャストライトコマンドが入出力ポートＡから入力された場合のスイッチＳＷ＿１〜ＳＷ＿４及びＳＷ＿Ａ〜ＳＷ＿Ｄの状態が示されている。
経路制御回路３からのブロードキャスト制御信号（スイッチオンオフ信号）により、経路切替回路２において、スイッチＳＷ＿１、ＳＷ＿２、ＳＷ＿３及びＳＷ＿４全てがオン状態となり、メモリバンクＭＢ１、ＭＢ２、ＭＢ３及びＭＢ４各々のデータ入出力線がブロードキャストデータ線Ｂ／Ｃに接続されている。
【００５７】
また、経路制御回路３からのブロードキャスト制御信号（スイッチ切替信号）により、経路切替回路２において、スイッチＳＷ＿Ａが入出力ポートＡのデータ入出力回路と、ブロードキャストデータ線Ｂ／Ｃとを接続するように、データ入出力回路に対する接続を切り替える。
そして、調停回路４は、経路制御回路３からの調停信号により、指定されたメモリバンクＭＢ１〜ＭＢ４に対応付けられている入出力ポートのうちブロードキャストライトコマンドが入力されたポートＡを除いたポートに対する外部からのアクセスを禁止するとともに、指定されたメモリバンクＭＢ１〜ＭＢ４に対して書き込むデータを入力するため、指定された入出力ポートＡを入力状態とする。
この結果、入出力ポートＡから入力されたデータが、全メモリバンクＭＢ１〜ＭＢ４に対して同時に送信され、同一データが書き込まれることとなる。
【００５８】
図８には、入出力ポートＣから入力したデータを、メモリバンクＭＢ１及びＭＢ２に対して書き込む指示を示す[Ｃ０、Ｃ１、ＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４]＝[１、０、１、１、０、０]のブロードキャストライトコマンドが入出力ポートＣから入力された場合のスイッチＳＷ＿１〜ＳＷ＿４及びＳＷ＿Ａ〜ＳＷ＿Ｄの状態が示されている。
経路制御回路３からのブロードキャスト制御信号（スイッチオンオフ信号）により、経路切替回路２において、スイッチＳＷ＿１及びＳＷ＿２がオン状態となり、メモリバンクＭＢ１及びＭＢ２のデータ入出力線がブロードキャストデータ線Ｂ／Ｃに接続されている。
【００５９】
また、経路制御回路３からのブロードキャスト制御信号（スイッチ切替信号）により、経路切替回路２において、スイッチＳＷ＿Ｃが入出力ポートＣのデータ入出力回路と、ブロードキャストデータ線Ｂ／Ｃとが接続されるようにデータ入出力回路に対する接続を切り替える。
そして、調停回路４は、経路制御回路３からの調停信号により、指定されたメモリバンクＭＢ１〜ＭＢ２に対応付けられている入出力ポートのうちブロードキャストライトコマンドが入力されたポートＣを除いたポートに対する外部からのアクセスを禁止するとともに、指定されたメモリバンクＭＢ１及びＭＢ２に書き込むデータを入力するため、指定された入出力ポートＣを入力状態とする。
【００６０】
この結果、入出力ポートＣから入力されたデータが、メモリバンクＭＢ１及びＭＢ２に対して同時に送信され、それぞれに同一データが書き込まれることとなる。
また、図８のブロードキャストライトのモード場合、メモリバンクＭＢ３及びＭＢ４と、入出力ポートＡ、Ｂ及びＤとの間には、通常の信号経路を形成することが可能であり、これらのメモリバンクＭＢ３及びＭＢ４と、入出力ポートＡ、Ｂ、Ｄと間で、経路制御回路３による各クロスバースイッチの制御により、通常のアクセスを行うことができる。
【００６１】
次に、図３及び図６の経路制御回路３において、ブロードキャストモードを設定するコマンド信号を選択する回路部分を、図９により説明する。
本実施形態のコマンド信号は、入出力ポートＡ、Ｂ、Ｃ、Ｄそれぞれから入力される１０ビット幅の信号である。但し、ブロードキャストライトコマンドの場合は、ＰＡ、ＰＢ、ＰＣ、ＰＤの４ビットは使われないためドントケアとなる。
図の４：１セレクタは、各ポートから入力される上記コマンド信号を、そのコマンド信号が入力された入出力ポートを識別する信号ＰＤ＿Ａ、ＰＤ＿Ｂ、ＰＤ＿Ｃ、ＰＤ＿Ｄを選択信号として、次段のブロードキャスト信号生成回路（後述する図１０の回路）に対して、選択信号により選択されたブロードキャストのコマンド信号を出力する。
【００６２】
図１０は、図３、図６に示した経路制御回路３におけるブロードキャスト信号を生成する部分の上記ブロードキャスト生成部回路を示している。
Ｗ／Ｒ制御コードＣ０及びＣ１が双方ともに「１（Ｈレベル）」の場合、ブロードキャストリードの動作モードとなる。
上述した場合には、ＮＡＮＤ回路１００の出力が「Ｌ」レベルとなり、インバータ１１０の出力が「Ｈ」レベルとなることにより、ノードＮ１が「Ｈ」レベルとなり、ＮＡＮＤ回路１０１、１０２、１０３、１０４とＮＡＮＤ回路１１１、１１２、１１３、１１４とがイネーブル状態となる。
一方、インバータ１２１の出力が「Ｌ」レベルとなり、インバータ１２３の出力が「Ｌ」レベルとなることにより、ノードＮ２が「Ｌ」レベルとなり、ＮＡＮＤ回路１３１、１３２、１３３、１３４がディセーブル状態となり、それぞれ出力が「Ｈ」レベルとなる。
これにより、ＮＡＮＤ回路１４１、１４２、１４３、１４４がイネーブル状態となる。
【００６３】
そして、読み出されるメモリバンクを指定するＢ１、Ｂ２、Ｂ３及びＢ４のいずれかが「１」、すなわち「Ｈ」レベルとなるため、ＮＡＮＤ回路１１１、１１２、１１３及び１１４の出力のいずれかが「Ｌ」レベルとなる。
これにより、ＮＡＮＤ回路１４１、１４２、１４３、１４４それぞれから出力されるスイッチオンオフ信号（ブロードキャスト制御信号における）ＢＳＷ＿１、ＢＳＷ＿２、ＢＳＷ＿３及びＢＳＷ＿４のいずれかが「Ｈ」レベルとなり、経路切替回路２におけるスイッチＳＷ＿１、ＳＷ＿２、ＳＷ＿３及びＳＷ＿４のいずれかをオフ状態から、オン状態に変化させる。
【００６４】
一方、読み出す入出力ポートＰＡ、ＰＢ、ＰＣ、ＰＤを示す信号Ａ、Ｂ、Ｃ及びＤが「Ｈ」レベルとなることに対応し、ＮＡＮＤ回路１０１、１０２、１０３及び１０４の出力が「Ｌ」レベルとなる。このため、ＮＡＮＤ回路１０１、１０２、１０３及び１０４から「Ｌ」レベルの入力されるＮＡＮＤ回路１５１、１５２、１５３、１５４は、出力であるスイッチ切替信号ＰＳＷ＿Ａ、ＰＳＷ＿Ｂ、ＰＳＷ＿Ｃ及びＰＳＷ＿Ｄを「Ｈ」レベルする。
この結果、読み出す入出力ポートに対応するスイッチＳＷ＿Ａ、ＳＷ＿Ｂ、ＳＷ＿Ｃ、ＳＷ＿Ｄが、各入出力ポートのデータの入出力回路の接続先を、データバスからブロードキャストデータ線Ｂ／Ｃへ切り替える。
ここで、ブロードキャストリード信号が入力された入出力ポートに対応するスイッチ（ＳＷ＿Ａ、ＳＷ＿Ｂ、ＳＷ＿Ｃ、ＳＷ＿Ｄ）は必ず「Ｈ」レベルとなるように、入出力ポートを識別する信号ＰＤ＿Ａ、ＰＤ＿Ｂ、ＰＤ＿Ｃ、ＰＤ＿Ｄが「Ｈ」レベルにて入力されることにより、インバータ１６１〜１６４の出力を「Ｌ」レベルとし、ＮＡＮＤ回路１５１〜１５４のうち対応するＮＡＮＤ回路の出力を「Ｈ」レベルとする。
【００６５】
また、Ｗ／Ｒ制御コードＣ０が「１（Ｈレベル）」であり、Ｗ／Ｒ制御コードＣ１が「０（Ｌレベル）」の場合、ブロードキャストライトの動作モードとなる。
この場合には、インバータ１２１により、Ｗ／Ｒ制御コードＣ１が反転され、ＮＡＮＤ回路１２０の出力が「Ｌ」レベルとなり、インバータ１２３の出力が「Ｈ」レベルとなるため、ノードＮ２が「Ｈ」レベルとなり、ＮＡＮＤ回路１３１、１３２、１３３及び１３４がイネーブル状態となる。このとき、ＮＡＮＤ回路１００の出力が「Ｈ」レベルとなり、インバータ１１０の出力が「Ｌ」レベルとなる。
【００６６】
この結果、ＮＡＮＤ回路１０１〜１０４とＮＡＮＤ回路１１１〜１１４とがディセーブル状態となり、ＮＡＮＤ回路１０１〜１０４とＮＡＮＤ回路１１１〜１１４との出力が「Ｈ」レベルとなり、ＮＡＮＤ回路１４１〜１４４とＮＡＮＤ回路１５１〜１５４がイネーブル状態となる。
上述した構成において、同一のデータが書き込まれるメモリバンクを示す信号Ｂ１〜Ｂ４が「Ｈ」レベルとなっているため、対応するスイッチオンオフ信号ＢＳＷ＿１〜ＢＳＷ＿４が「Ｈ」レベルとなり、スイッチＳＷ＿１〜ＳＷ＿４各々を制御する。
一方、ブロードキャストライトコマンドを発行した入出力ポートを示す信号ＰＤ＿Ａ〜ＰＤ＿Ｄのいずれかひとつが「Ｈ」レベルとなるため、スイッチＰＳＷ＿Ａ〜ＰＳＷ＿Ｄのうち対応する信号が「Ｈ」レベルとなり、スイッチＳＷ＿Ａ〜ＳＷ＿Ｄを切替制御する。
【００６７】
次に、図１１は図３及び図６に示した経路制御回路３のうち、入出力ポートを調停する調停信号を生成する部分の回路を示す。
入出力ポートＡに対する調停信号を生成する部分が、ＮＡＮＤ回路２０１、２１１、２２１、２３１、２５１と、ノア回路２５２、２５３とから構成されている。
また、入出力ポートＢに対する調停回路を生成する部分が、ＮＡＮＤ回路２０２、２１２、２２２、２３２、２６１と、ノア回路２６２、２６３とから構成されている。
また、入出力ポートＣに対する調停回路を生成する部分が、ＮＡＮＤ回路２０３、２１３、２２３、２３３、２７１と、ノア回路２７２、２７３とから構成されている。
また、入出力ポートＢに対する調停回路を生成する部分が、ＮＡＮＤ回路２０４、２１４、２２４、２３４、２８１と、ノア回路２８２、２８３とから構成されている。
【００６８】
図示しない経路切替制御回路から、現状の入出力ポートとメモリバンクとの接続情報であるポート−バンク対応信号が入力される。
上記ポート−バンク対応信号は、入出力ポートとメモリバンクとの接続している組み合わせに対応した信号が「Ｈ」レベル、またその他は「Ｌ」レベルとなっている。
例えば、入出力ポートＡに対する調停信号を生成する部分に注目してみると、ＮＡＮＤ回路２０１、２１１、２２１及び２３１各々に、スイッチオンオフ信号ＢＳＷ＿１、ＢＳＷ＿２、ＢＳＷ＿３及び、ＢＳＷ＿４が入力されている。
【００６９】
ポートＡに対応したポート−バンク対応信号のいずれかが「Ｈ」レベルとなり、「Ｈ」レベルとなったポート−バンク対応信号が入力されているＮＡＮＤ回路に入力されているスイッチオンオフ信号ＢＳＷ＿１〜ＢＳＷ＿４が「Ｈ」レベル、すなわち対応するメモリバンクがブロードキャストデータ線Ｂ／Ｃに接続された場合、ＮＡＮＤ回路（２０１、２１１、２２１及び２３１）のいずれかが「Ｌ」レベルを出力し、ＮＡＮＤ回路２５１の出力が「Ｈ」レベルとなり、ノア回路２５２の出力が「Ｌ」レベルとなる。
ポートＡがブロードキャストコマンドを発行した入出力ポート（すなわちブロードキャスト信号が外部から入力された入出力ポート）でない場合、コマンド発行ポート識別信号ＰＤ＿Ａは「Ｌ」となっているため、ブロードキャストデータ線Ｂ／Ｃに接続されたメモリバンクに対応付けられていた入出力ポートＡに対する調停信号が「Ｈ」レベルとなる。ここで、例えば、Ｂ１−ＰＡはメモリバンクＭＢ１と入出力ポートＡとの間に対応するポート−バンク対応信号であり、メモリバンクＭＢ１及び入出力ポートＡ間にデータ転送の経路が形成されている場合、経路切替制御回路により「Ｈ」レベルとされる。
【００７０】
また、スイッチ切替信号ＰＳＷ＿Ａ〜ＰＳＷ＿Ｄが「Ｈ」レベル、すなわち対応する入出力ポートがブロードキャストデータ線Ｂ／Ｓに接続された場合にも、その入出力ポートがブロードキャストコマンドを発行した入出力ポート（すなわちブロードキャスト信号が外部から入力された入出力ポート）でない場合、その入出力ポート用の調停信号が「Ｈ」レベルとなる。
ただし、コマンドを入力した入出力ポートを示す信号ＰＤ＿Ａ〜ＰＤ＿Ｄが「Ｈ」レベル、すなわちブロードキャストコマンドを発行した入出力ポートに対応する調停信号は上記にかかわらず「Ｌ」レベルとなる。例えば、信号ＰＤ＿Ａが「Ｈ」レベルにて入力されるとノア回路２５３の出力は「Ｌ」レベルとなる。
【００７１】
これらの結果、コマンドを発行した入出力ポートを除いて、スイッチオンオフ信号が「Ｈ」レベル、あるいはスイッチ切替信号が「Ｈ」レベとなる、ブロードキャストリードまたはブロードキャストライトのそれぞれのモードと、その時に指定されたメモリバンクに関係する入出力ポートに対し、調停信号が「Ｈ」レベルとなり、これらの入出力ポートへのアクセスは禁止される。
上述したように、図１に示す調停回路４は、経路制御回路３からの調停信号により、各入出力ポートを外部回路（ＭＰＵやＣＰＵコア）からアクセス禁止となるよう調停する。
また、この調停回路４は、ブロードキャストの動作モード以外の通常動作時にも、必要となる入出力ポート間の調停を行うが、本発明に直接関係しないため、その詳細な動作の説明を省略する。
【００７２】
＜第２の実施形態＞
図１２は第１の実施形態におけるマルチポートメモリ（図１２の半導体記憶装置）と、マルチコアプロセッサとから構成される第２の実施形態によるコンピュータシステムの構成例を示すブロック図である。ここで、マルチコアプロセッサは、例えば４つのＣＰＵコアを有している。
本実施形態におけるコンピュータシステムの構成においては、第１の実施形態のマルチポートメモリが上記マルチコアプロセッサに対する外部記憶装置となっている。
また、マルチコアプロセッサのチップ内の外部記憶装置制御ブロックが上記マルチポートメモリを制御する。
【００７３】
例えば、外部記憶装置制御ブロックは、マルチコアプロセッサの４個のＣＰＵコア各々を、マルチポートメモリの４個の入出力ポートに対してそれぞれ割り付ける制御を行う。
そして、４つのうちいずれか任意の１個のＣＰＵコアから、割りつけられた入出力ポートから、第１の実施形態に記載されているように、任意の複数個のメモリバンクに対して、ブロードキャストで同一のデータを同時に書き込むことが出来る。
また、逆に、任意の１個のメモリバンクをアクセスし、このメモリバンクから読み出したデータを、対応する入出力ポートを介して、任意の複数個のＣＰＵコアへブロードキャスト転送により、１つのメモリバンクから読み出した同一のデータを、同時に転送することができる。
【００７４】
＜第３の実施形態＞
図１３は、プロセッサＭＰＵ＿１、ＭＰＵ＿２、ＭＰＵ＿３及びＭＰＵ＿４の４個のプロセッサと、第１の実施形態におけるマルチポートメモリ（半導体記憶装置）とから構成されるコンピュータシステムの構成例を示すブロックズである。
本実施形態におけるコンピュータシステムの構成においては、４個のプロセッサ各々に対し、マルチポートメモリの４個のポートがそれぞれ割り付けて接続されて構成されている。
【００７５】
そして、４個のうちいずれか任意の１個のプロセッサから、割りつけられた入出力ポートを介して、第１の実施形態に記載されているように、任意の複数個のメモリバンクに対して、ブロードキャストで同一のデータを同時に書き込むことが出来る。
また、逆に、任意の１個のメモリバンクをアクセスし、このメモリバンクから読み出したデータを、対応する入出力ポートを介して、任意の複数個のプロセッサへブロードキャスト転送により、１つのメモリバンクから読み出した同一のデータを、同時に転送することができる。
【図面の簡単な説明】
【００７６】
【図１】本発明の第１の実施形態によるマルチポートメモリの構成例を示すブロック図である。
【図２】図１における経路切替回路２の構成例にける通常の動作モードの状態を示すブロック図である。
【図３】ブロードキャストリードモードにおけるコマンド信号と、図１の経路制御回路の動作例とを説明する概念図である。
【図４】任意の１つのメモリバンクから読み出したデータを、任意の複数の入出力ポートから読み出す処理を説明する概念図である。
【図５】任意の１つのメモリバンクから読み出したデータを、任意の複数の入出力ポートから読み出す他の処理を説明する概念図である。
【図６】ブロードキャストライトモードにおけるコマンド信号と、図１の経路制御回路の動作例とを説明する概念図である。
【図７】任意の１つの入出力ポートから入力されたデータを、任意の複数のメモリバンクに書き込む処理を説明する概念図である。
【図８】任意の１つの入出力ポートから入力されたデータを、任意の複数のメモリバンクに書き込む他の処理を説明する概念図である。
【図９】経路制御回路３におけるブロードキャストモードを設定するコマンド信号を選択する回路部分を説明するブロック図である。
【図１０】経路制御回路３におけるブロードキャスト信号を生成するブロードキャスト生成回路を説明するブロック図である。
【図１１】経路制御回路３における調停信号を生成する回路部分を説明するブロック図である。
【図１２】第２の実施形態によるマルチポートメモリと、マルチコアプロセッサとを用いたコンピュータシステムの構成を示すブロック図である。
【図１３】第３の実施形態によるマルチポートメモリと、複数のプロセッサとを用いたコンピュータシステムの構成を示すブロック図である。。
【符号の説明】
【００７７】
２…経路切替回路
３…経路制御回路
４…調停回路
Ａ，Ｂ，Ｃ，Ｄ…入出力ポート
ＭＢ１，ＭＢ２，ＭＢ３，ＭＢ４…メモリバンク
ＳＷ＿１，ＳＷ＿２，ＳＷ＿３，ＳＷ＿４…スイッチ
ＳＷ＿Ａ，ＳＷ＿Ｂ，ＳＷ＿Ｃ，ＳＷ＿Ｄ…スイッチ
ＣＳＤ１、ＣＳＤ２，ＣＳＤ３，ＣＳＤ４…クロスバースイッチ
ＣＳＣ１、ＣＳＣ２，ＣＳＣ３，ＣＳＣ４…クロスバースイッチ
ＣＳＡ１、ＣＳＡ２，ＣＳＡ３，ＣＳＡ４…クロスバースイッチ
【図１】
0005449686.tif 000002
【図２】
0005449686.tif 000003
【図３】
0005449686.tif 000004
【図４】
0005449686.tif 000005
【図５】
0005449686.tif 000006
【図６】
0005449686.tif 000007
【図７】
0005449686.tif 000008
【図８】
0005449686.tif 000009
【図９】
0005449686.tif 000010
【図１０】
0005449686.tif 000011
【図１１】
0005449686.tif 000012
【図１２】
0005449686.tif 000013
【図１３】
0005449686.tif 000014