(57)【要約】【課題】複数の情報処理装置間のデータ通信を高速化するマルチポートメモリを実現して、高速で使い勝手の良い情報処理システムを提供する。【解決手段】情報処理システムにおいて、複数の情報処理装置ＣＨＩＰ０、ＣＨＩＰ１と、複数のポートを持つマルチポートメモリＭＰＭＥＭ０とを接続させ、マルチポートメモリＭＰＭＥＭ０内の記憶領域に対し、あるポートが占有する記憶領域や、複数のポートが共有する記憶領域を変更できるようにする。その際、各ポートからのリクエストが発生した直後に、他のポートから、そのリクエストのステータスを出力すると良い。【選択図】図１
2009237980.tif 000002
【特許請求の範囲】
【請求項１】
複数のポートを持つマルチポートメモリと、前記マルチポートメモリの各ポートへ接続する複数の情報処理装置とを有する情報処理システムであって、
前記マルチポートメモリは、前記複数のポートのうちの第１のポートへのリクエストを受け付ける第１の制御回路と、前記第１のポートへのリクエストが生じた後に、前記リクエストの内容を前記複数のポートのうちの第２のポートから出力する第２の制御回路とを有することを特徴とする情報処理システム。
【請求項２】
請求項１において、
前記マルチポートメモリは、前記第２のポートから出力されるリクエストの内容が設定されるレジスタを有することを特徴とする情報処理システム。
【請求項３】
請求項２において、
前記マルチポートメモリが有する前記レジスタは、前記第１のポートと接続している前記情報処理装置によりプログラムされることを特徴とする情報処理システム。
【請求項４】
請求項３において、
前記マルチポートメモリは、前記第１のポートからプログラムされた前記レジスタの内容を前記第２のポートと接続している前記情報処理装置が読み出すことを特徴とする情報処理システム。
【請求項５】
請求項２において、
前記マルチポートメモリが有する前記レジスタは、前記第２のポートと接続している前記情報処理装置によりプログラムされることを特徴とする情報処理システム。
【請求項６】
請求項１において、
前記第２のポートから出力されるリクエストの内容は、前記第２のポートと接続している前記情報処理装置で保存されていることを特徴とする情報処理システム。
【請求項７】
請求項１において、
前記マルチポートメモリは複数の記憶領域を持ち、前記記憶領域ごとに前記第１のポートからのリクエストを前記第２のポートから出力するか否かがプログラムされることを特徴とする情報処理システム。
【請求項８】
請求項１において、
前記第２のポートから出力するリクエストの内容には、前記リクエストの期間情報が含まれていることを特徴とする情報処理システム。
【請求項９】
請求項１において、
前記第２のポートから出力するリクエストの内容には、前記リクエストのアドレス情報が含まれていることを特徴とする情報処理システム。
【請求項１０】
複数のポートを持つマルチポートメモリであって、
前記複数のポートのうちの第１のポートへのリクエストを受け付ける第１の制御回路と、
前記第１のポートへのリクエストが生じた後に、前記リクエストの内容を前記複数のポートのうちの第２のポートから出力する第２の制御回路とを有することを特徴とするマルチポートメモリ。
【請求項１１】
請求項１０において、
前記第２のポートから出力されるリクエストの内容が設定されるレジスタを有することを特徴とするマルチポートメモリ。
【請求項１２】
請求項１１において、
前記レジスタは、前記第１のポートと接続している前記情報処理装置によりプログラムされることを特徴とするマルチポートメモリ。
【請求項１３】
請求項１２において、
前記第１のポートからプログラムされた前記レジスタの内容が前記第２のポートから読み出されることを特徴とするマルチポートメモリ。
【請求項１４】
請求項１０において、
前記レジスタは、前記第２のポートと接続している前記情報処理装置によりプログラムされることを特徴とするマルチポートメモリ。
【請求項１５】
請求項１０において、
前記第２のポートから出力されるリクエストの内容は、前記第２のポートと接続している情報処理装置で保存されていることを特徴とするマルチポートメモリ。
【請求項１６】
請求項１０において、
前記マルチポートメモリは複数の記憶領域を持ち、前記記憶領域ごとに前記第１のポートからのリクエストを前記第２のポートから出力するか否かがプログラムされることを特徴とするマルチポートメモリ。
【請求項１７】
請求項１０において、
前記第２のポートから出力するリクエストの内容には、前記リクエストの期間情報が含まれていることを特徴とするマルチポートメモリ。
【請求項１８】
請求項１０において、
前記第２のポートから出力するリクエストの内容には、前記リクエストのアドレス情報が含まれていることを特徴とするマルチポートメモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のポートを持つマルチポートメモリおよびマルチポートメモリの制御方法に関する。
【背景技術】
【０００２】
従来、２ポートを持つメモリセルから構成されるメモリアレイを装備する２ポートメモリがある。２ポートメモリでは、双方のポートより同時に同一メモリセルからのデータ読み出しが可能とされている（例えば、非特許文献１参照）。また、２つのポートを持つ２ポートＤＲＡＭもある（例えば、特許文献１参照）。
【特許文献１】特開２００７−３５０３９号公報
【非特許文献１】ＩＤＴ７０Ｔ３５３９Ｍデータシート、Ｉｎｔｅｇｒａｔｅｄ  Ｄｅｖｉｃｅ  Ｔｅｃｈｎｏｌｏｇｙ，Ｉｎｃ．、２００４年５月
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本願発明者等は、本願に先立って２ポートＳＲＡＭのポート間のデータ通信方法について検討を行った。
【０００４】
様々な情報処理装置において、情報処理装置を構成する複数のＬＳＩ間のデータ通信には２ポートＳＲＡＭが利用されている。２ポートＳＲＡＭのＡポート（Ａ−ＰＲＴ）とＢポート（Ｂ−ＰＲＴ）間のデータ通信方法を以下に示す。なお、ＩＮＴＡ、ＩＮＴＢは各ポートに対応し、メールボックス（Ｍａｉｌ  Ｂｏｘ）に情報が書き込まれたことを知らせる信号である。
【０００５】
（１）Ａ−ＰＲＴ：Ａ−ＰＲＴからデータ書き込みの開始と、開始アドレスをＭａｉｌ  Ｂｏｘへ書き込む。ＩＮＴＢがＬｏｗになる。
【０００６】
（２）Ｂ−ＰＲＴ：ＩＮＴＢがＬｏｗになったことで、Ｍａｉｌ  Ｂｏｘへ情報が書き込まれたことを知る。その後、Ｂ−ＰＲＴからＭａｉｌ  Ｂｏｘ内の情報を読み、Ａ−ＰＲＴからデータが書き込まれることと、その開始アドレスを知る。ＩＮＴＢはＨｉｇｈとなる。
【０００７】
（３）Ａ−ＰＲＴ：Ａ−ＰＲＴからデータを書き込み、終了したらデータ書き込み終了と、最終アドレスをＭａｉｌ  Ｂｏｘへ書き込む。ＩＮＴＢがＬｏｗになる。
【０００８】
（４）Ｂ−ＰＲＴ：ＩＮＴＢがＬｏｗになったことで、Ｍａｉｌ  Ｂｏｘへ情報が書き込まれたことを知る。その後、Ｂ−ＰＲＴからＭａｉｌ  Ｂｏｘ内の情報を読み、Ａ−ＰＲＴからのデータ書き込みが終了し、さらにその終了アドレスを知る。ＩＮＴＢはＨｉｇｈとなる。
【０００９】
（５）Ｂ−ＰＲＴ：Ｂ−ＰＲＴからデータ読み出しの開始と、開始アドレスをＭａｉｌ  Ｂｏｘへ書き込む。ＩＮＴＡがＬｏｗになる。
【００１０】
（６）Ａ−ＰＲＴ：ＩＮＴＡがＬｏｗになったことで、Ｍａｉｌ  Ｂｏｘへ情報が書き込まれたことを知る。その後、Ａ−ＰＲＴからＭａｉｌ  Ｂｏｘ内の情報を読み、Ｂ−ＰＲＴからデータが読み出されることと、その開始アドレスを知る。ＩＮＴＡはＨｉｇｈとなる。
【００１１】
（７）Ｂ−ＰＲＴ：Ｂ−ＰＲＴからデータを読み出し、終了したらデータ読み出し終了と、最終アドレスをＭａｉｌ  Ｂｏｘへ書き込む。ＩＮＴＡがＬｏｗになる。
【００１２】
（８）Ａ−ＰＲＴ：ＩＮＴＡがＬｏｗになったことで、Ｍａｉｌ  Ｂｏｘへ情報が書き込まれたことを知る。その後、Ａ−ＰＲＴからＭａｉｌ  Ｂｏｘ内の情報を読み、Ｂ−ＰＲＴからのデータ読み出しが終了し、さらにその終了アドレスを知る。ＩＮＴＡはＨｉｇｈとなる。
【００１３】
このように、２ポートＳＲＡＭのＡポートとＢポート間のデータ通信には、いったんメールボックスへの書き込みや読み出しが行われる。いわゆるハンドシェーク方式にてデータ通信が行われる。
【００１４】
このため、ＡポートとＢポート間のデータ通信が遅く、情報処理システムの高速化には対応できないことが判明した。
【００１５】
そこで、本発明の目的の一つは、複数の情報処理装置間のデータ通信を高速化するマルチポートメモリを実現して、高速で使い勝手の良い情報処理システムを提供することである。
【００１６】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１７】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１８】
すなわち、代表的なものの概要は、複数の情報処理装置と複数のポートを持つマルチポートメモリとを接続させ、マルチポートメモリ内の記憶領域に対し、あるポートが占有する記憶領域や、複数のポートが共有する記憶領域を変更できるようにする。その際、各ポートからのリクエストが発生した直後に、他のポートから、そのリクエストのステータスを出力すると良い。
【発明の効果】
【００１９】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００２０】
すなわち、代表的なものによって得られる効果は、複数の情報処理装置間のデータ通信を高速化するマルチポートメモリを実現して、高速で使い勝手の良い情報処理システムを提供することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態を図面を参照しながら詳細に説明する。実施の形態において各ブロックを構成する回路素子は、特に制限されないが、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）等の集積回路技術によって、単結晶シリコンのような１個の半導体基板上に形成される。
【００２２】
（第１の実施の形態）
本発明を適用した第１の実施の形態である情報処理システムについて、図１〜図１３を用いて説明する。
【００２３】
図１は本発明を適用した第１の実施の形態である、情報処理装置ＣＨＩＰ０とＣＨＩＰ１と、マルチポートメモリＭＰＭＥＭ０とから構成される情報処理システムを示したものである。以下におのおのについて説明する。
【００２４】
情報処理装置ＣＨＩＰ０は、情報処理回路ＣＰＵ００、ＣＰＵ０１、ＣＰＵ０２、ＣＰＵ０３と、メモリ制御回路ＭＣＯＮ０から構成されている。情報処理装置ＣＨＩＰ１は、情報処理回路ＣＰＵ１０、ＣＰＵ１１、ＣＰＵ１２、ＣＰＵ１３と、メモリ制御回路ＭＣＯＮ１から構成されている。
【００２５】
情報処理装置ＣＨＩＰ０およびＣＨＩＰ１は、それぞれのメモリ制御回路ＭＣＯＮ０およびＭＣＯＮ１を介して、マルチポートメモリＭＰＭＥＭ０へ接続され、互いにデータ通信を行う。
【００２６】
マルチポートメモリＭＰＭＥＭ０は、制御回路ＰＣＯＮ０およびＰＣＯＮ１、初期設定回路ＩＮＩＴ、メモリマネージメント回路ＭＭＵ、タイミングレジスタＴＭ−ＲＧ、ステータス通達信号レジスタＳＩＧ−ＲＧ、シェアドエリアレジスタＳＡ−ＲＧ、マスターレジスタＭＳ−ＲＧ、ステータスレジスタＳＴ−ＲＧ、メモリアレイＭＡ０、調停回路ＡＲＢＩＴＯＲから構成される。
【００２７】
制御回路ＰＣＯＮ０は、アドレスバッファＡＢＦ０、データバッファＤＢＦ０および制御回路ＬＧ０から構成される。制御回路ＰＣＯＮ１は、アドレスバッファＡＢＦ１、データバッファＤＢＦ１および制御回路ＬＧ１から構成される。
【００２８】
メモリアレイＭＡ０は、特に限定しないが記憶領域ＡＲＥＡ０〜ＡＲＥＡ７から構成される。メモリアレイＭＡ０は、揮発性メモリおよび不揮発性メモリのどちらでも良い。
【００２９】
信号ＡＤＣ０およびＡＤＣ１は、命令およびアドレス信号である。信号ＳＩＧ０およびＳＩＧ１はステータス通達信号である。信号Ｉ／Ｏ０およびＩ／Ｏ１はデータ入出力信号である。
【００３０】
情報処理装置ＣＨＩＰ０が、ポートＰＲＴ０を介してマルチポートメモリＭＰＭＥＭ０のメモリアレイＭＡ０へ保持されているデータを読み出す場合は、情報処理装置ＣＨＩＰ０が、信号ＡＤＣ０を通じて読み出し命令ＲＥＡＤ０およびアドレスＡＤＤ０をマルチポートメモリＭＰＭＥＭ０へ出力する。
【００３１】
情報処理装置ＣＨＩＰ１が、ポートＰＲＴ１を介してマルチポートメモリＭＰＭＥＭ０のメモリアレイＭＡ０へ保持されているデータを読み出す場合は、情報処理装置ＣＨＩＰ１が、信号ＡＤＣ１を通じて読み出し命令ＲＥＡＤ１およびアドレスＡＤＤ１をマルチポートメモリＭＰＭＥＭ０へ出力する。
【００３２】
初期設定回路ＩＮＩＴは、マルチポートメモリＭＰＭＥＭ０へ電源が投入されると、マルチポートメモリＭＰＭＥＭ０内の全回路を初期設定する。
【００３３】
メモリマネージメント回路ＭＭＵでは、タイミングレジスタＴＭ−ＲＧ、ステータス通達信号レジスタＳＩＧ−ＲＧ、シェアドエリアレジスタＳＡ−ＲＧ、マスターレジスタＭＳ−ＲＧ、ステータスレジスタＳＴ−ＲＧ、メモリアレイＭＡ０のアドレス空間を設定する。
【００３４】
タイミングレジスタＴＭ−ＲＧは、マルチポートメモリＭＰＭＥＭ０内の読み出しおよび書き込みリクエストの処理が終わるまでの時間などを設定するレジスタである。
【００３５】
ステータス通達信号レジスタＳＩＧ−ＲＧは、ステータス通達信号ＳＩＧ０およびＳＩＧ１を送信するタイミングを設計するレジスタである。
【００３６】
シェアドエリアレジスタＳＡ−ＲＧは、メモリアレイＭＡ０内の記憶領域ＡＲＥＡ０〜ＡＲＥＡ７を、ＣＨＩＰ０およびＣＨＩＰ１の共有領域と、ＣＨＩＰ０の占有領域と、ＣＨＩＰ１の占有領域とに設定するためのレジスタである。
【００３７】
マスターレジスタＭＳ−ＲＧは、ポートＰＲＴ０およびポートＰＲＴ１からのリクエストが同時に共有領域へ発した際に、どちらのポートからのリクエストを優先させるかを決定するレジスタである。
【００３８】
ステータスレジスタＳＴ−ＲＧは、ＣＨＩＰ０からポート０を介してマルチポートメモリＭＰＭＥＭ０へ入力したリクエストの状態を保持するレジスタである。
【００３９】
調停回路ＡＲＢＩＴＯＲは、ＣＨＩＰ０からポート０を介してマルチポートメモリＭＰＭＥＭ０へ入力したリクエストと、ＣＨＩＰ１からポート１を介してマルチポートメモリＭＰＭＥＭ０へ入力したリクエストの調停を行う回路である。
【００４０】
タイミングレジスタＴＭ−ＲＧ、ステータス通達信号レジスタＳＩＧ−ＲＧは、シェアドエリアレジスタＳＡ−ＲＧ、マスターレジスタＭＳ−ＲＧおよびステータスレジスタＳＴ−ＲＧ内の設定値は、情報処理装置ＣＨＩＰ０および情報処理装置ＣＨＩＰ１によって変更される。
【００４１】
情報処理装置ＣＨＩＰ０が、ポートＰＲＴ０を介してマルチポートメモリＭＰＭＥＭ０の各レジスタへ保持されている設定値を読み出す場合は、情報処理装置ＣＨＩＰ０が、信号ＡＤＣ０を通じて読み出し命令ＲＥＡＤおよび各レジスタのアドレス値ＡＤＤをマルチポートメモリＭＰＭＥＭ０へ出力する。
【００４２】
また、情報処理装置ＣＨＩＰ０が、ポートＰＲＴ０を介してマルチポートメモリＭＰＭＥＭ０の各レジスタへ保持されている設定値を変更する場合は、情報処理装置ＣＨＩＰ０が、信号ＡＤＣ０を通じて書き込み命令ＷＲＩＴＥおよび各レジスタのアドレス値ＡＤＤを、信号Ｉ／Ｏ０を通じて新しい設定データをマルチポートメモリＭＰＭＥＭ０へ出力する。
【００４３】
情報処理装置ＣＨＩＰ１が、ポートＰＲＴ１を介してマルチポートメモリＭＰＭＥＭ０の各レジスタへ保持されている設定値を読み出す場合は、情報処理装置ＣＨＩＰ１が、信号ＡＤＣ１を通じて読み出し命令ＲＥＡＤおよび各レジスタのアドレス値ＡＤＤをマルチポートメモリＭＰＭＥＭ０へ出力する。
【００４４】
また、情報処理装置ＣＨＩＰ１が、ポートＰＲＴ１を介してマルチポートメモリＭＰＭＥＭ０の各レジスタへ保持されている設定値を変更する場合は、情報処理装置ＣＨＩＰ１が、信号ＡＤＣ１を通じて書き込み命令ＷＲＩＴＥおよび各レジスタのアドレス値ＡＤＤを、信号Ｉ／Ｏ１を通じて新しい設定データをマルチポートメモリＭＰＭＥＭ０へ出力する。
【００４５】
以下に本情報処理システムの動作を説明する。
【００４６】
＜電源投入直後の動作説明＞
まず、電源投入直後の本情報処理システムの動作について説明する。
【００４７】
マルチポートメモリＭＰＭＥＭ０へ電源が投入されると、初期設定回路ＩＮＩＴはマルチポートメモリＭＰＭＥＭ０内の全回路を初期化する。
【００４８】
メモリマネージメント回路ＭＭＵは、初期化され、マルチポートメモリＭＰＭＥＭ０の初期アドレス空間が設定される。その後、メモリマネージメント回路ＭＭＵ内のコマンドレジスタＲＥＧへ、メモリマネージメントＭＭＵ変更命令が入力した時に変更される。
【００４９】
タイミングレジスタＴＭ−ＲＧ、ステータス通達信号レジスタＳＩＧ−ＲＧ、シェアドエリアレジスタＳＡ−ＲＧ、マスターレジスタＭＳ−ＲＧおよびステータスレジスタＳＴ−ＲＧの設定値は初期設定値へ設定される。
【００５０】
次に、情報処理システムの要求を満たすように、情報処理装置ＣＨＩＰ０が、メモリマネージメント回路ＭＭＵ、タイミングレジスタＴＭ−ＲＧ、ステータス通達信号レジスタＳＩＧ−ＲＧ、シェアドエリアレジスタＳＡ−ＲＧ、マスタースレジスタＭＳ−ＲＧおよびステータスレジスタＳＴ−ＲＧの設定値を変更する。
【００５１】
このように、電源投入直後に、情報処理システムの要求を満たすように、メモリマネージメント回路ＭＭＵや各レジスタを設定することができるため、利用される情報処理システムの要求に応じてマルチポートメモリＭＰＭＥＭ０の仕様を柔軟に変更できる。
【００５２】
＜通常動作の説明＞
電源投入時のパワーオンシーケンスが終了した後の情報処理装置ＣＨＩＰ０およびＣＨＩＰ１とマルチポートメモリＭＰＭＥＭ０との間のデータ通信について説明する。
【００５３】
特に限定しないが、シェアドエリアレジスタＳＡ−ＲＧによって、メモリアレイＭＡ０内の記憶領域ＡＲＥＡ０〜ＡＲＥＡ７の中で、記憶領域ＡＲＥＡ０とＡＲＥＡ１は情報処理装置ＣＨＩＰ０の占有領域として、ＡＲＥＡ２とＡＲＥＡ３は情報処理装置ＣＨＩＰ１の占有領域として、ＡＲＥＡ４からＡＲＥＡ７は情報処理装置ＣＨＩＰ０とＣＨＩＰ１の共有領域として設定された場合の、マルチポートメモリＭＰＭＥＭ０からのデータ読み出し動作について説明する。
【００５４】
また、特に限定しないがマスターレジスタＭＳ−ＲＧには、ポートＰＲＴ０およびポートＰＲＴ１からのリクエストが同時に共有領域へ発した場合に、ポートＰＲＴ０からのリクエストを優先させるように設定されている。
【００５５】
まず、情報処理装置ＣＨＩＰ０の占有領域である記憶領域ＡＲＥＡ０からの読み出し動作について説明する。
【００５６】
情報処理装置ＣＨＩＰ０から、信号ＡＤＣ０を通じて読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤ０がマルチポートメモリＭＰＭＥＭ０へ入力される。
【００５７】
読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤは、アドレスバッファＡＢＦ０へ入力する。制御回路ＬＧ０は、アドレスバッファＡＢＦ０内の読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤを読み出し、メモリマネージメント回路ＭＭＵによって設定されたアドレス空間およびシェアドエリアレジスタＳＡ−ＲＧの設定値によって、入力したアドレス値ＡＤＤは情報処理装置ＣＨＩＰ０の占有領域である記憶領域ＡＲＥＡ０への読み出しアドレスであることを認識し、記憶領域ＡＲＥＡ０に保持されているデータを読み出す。
【００５８】
記憶領域ＡＲＥＡ０から読み出されたデータはデータバッファＤＢＦ０および入出力信号Ｉ／Ｏ０を通じて情報処理装置ＣＨＩＰ０へ送信される。
【００５９】
次に、情報処理装置ＣＨＩＰ０の占有領域である記憶領域ＡＲＥＡ０への書き込み動作について説明する。
【００６０】
情報処理装置ＣＨＩＰ０から、信号ＡＤＣ０を通じて書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤ０が、入出力信号Ｉ／Ｏ０から書き込みデータが、マルチポートメモリＭＰＭＥＭ０へ入力される。
【００６１】
書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤは、アドレスバッファＡＢＦ０へ入力され、書き込みデータはデータバッファＤＢＦ０へ入力される。
【００６２】
制御回路ＬＧ０は、アドレスバッファＡＢＦ０内の書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤ０およびデータバッファＤＢＦ０の書き込みデータを読み出し、メモリマネージメント回路ＭＭＵによって設定されたアドレス空間およびシェアドエリアレジスタＳＡ−ＲＧの設定値によって、入力したアドレス値ＡＤＤ０は情報処理装置ＣＨＩＰ０の占有領域である記憶領域ＡＲＥＡ０への書き込みアドレスであることを認識し、記憶領域ＡＲＥＡ０へデータを書き込む。
【００６３】
次に、情報処理装置ＣＨＩＰ１の占有領域である記憶領域ＡＲＥＡ２からの読み出し動作について説明する。
【００６４】
情報処理装置ＣＨＩＰ１から、信号ＡＤＣ１を通じて読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤ２がマルチポートメモリＭＰＭＥＭ０へ入力される。
【００６５】
読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤは、アドレスバッファＡＢＦ１へ入力する。制御回路ＬＧ１は、アドレスバッファＡＢＦ１内の読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤ２を読み出し、メモリマネージメント回路ＭＭＵによって設定されたアドレス空間およびシェアドエリアレジスタＳＡ−ＲＧの設定値によって、入力したアドレス値ＡＤＤ２は情報処理装置ＣＨＩＰ１の占有領域である記憶領域ＡＲＥＡ２への読み出しアドレスであることを認識し、記憶領域ＡＲＥＡ２に保持されているデータを読み出す。
【００６６】
記憶領域ＡＲＥＡ２から読み出されたデータはデータバッファＤＢＦ１および入出力信号Ｉ／Ｏ１を通じて情報処理装置ＣＨＩＰ１へ送信される。
【００６７】
次に、情報処理装置ＣＨＩＰ１の占有領域である記憶領域ＡＲＥＡ２への書き込み動作について説明する。
【００６８】
情報処理装置ＣＨＩＰ１から、信号ＡＤＣ１を通じて書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤ２が、入出力信号Ｉ／Ｏ１から書き込みデータが、マルチポートメモリＭＰＭＥＭ０へ入力される。
【００６９】
書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤは、アドレスバッファＡＢＦ１へ入力され、書き込みデータはデータバッファＤＢＦ１へ入力される。
【００７０】
制御回路ＬＧ１は、アドレスバッファＡＢＦ１内の書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤ２およびデータバッファＤＢＦ１の書き込みデータを読み出し、メモリマネージメント回路ＭＭＵによって設定されたアドレス空間およびシェアドエリアレジスタＳＡ−ＲＧの設定値によって、入力したアドレス値ＡＤＤ２は情報処理装置ＣＨＩＰ１の占有領域である記憶領域ＡＲＥＡ２への書き込みアドレスであることを認識し、記憶領域ＡＲＥＡ２へデータを書き込む。
【００７１】
次に、情報処理装置ＣＨＩＰ０から情報処理装置ＣＨＩＰ０とＣＨＩＰ１の共有領域である記憶領域ＡＲＥＡ７へのリクエストが発生した場合の動作について説明する。
【００７２】
情報処理装置ＣＨＩＰ０から、信号ＡＤＣ０を通じて読み出し命令ＲＥＡＤ７およびアドレス値ＡＤＤ７がマルチポートメモリＭＰＭＥＭ０へ入力される。
【００７３】
読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤ７は、アドレスバッファＡＢＦ０へ入力する。制御回路ＬＧ０は、アドレスバッファＡＢＦ０内の読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤ７を読み出し、メモリマネージメント回路ＭＭＵによって設定されたアドレス空間およびシェアドエリアレジスタＳＡ−ＲＧの設定値によって、入力したアドレス値ＡＤＤ７は情報処理装置ＣＨＩＰ０およびＣＨＩＰ１の共有領域である記憶領域ＡＲＥＡ７への読み出しアドレスであることを認識し、記憶領域ＡＲＥＡ７に保持されているデータを読み出す。
【００７４】
記憶領域ＡＲＥＡ７から読み出されたデータはデータバッファＤＢＦ０および入出力信号Ｉ／Ｏ０を通じて情報処理装置ＣＨＩＰ０へ送信される。
【００７５】
さらに、制御回路ＬＧ０は、記憶領域ＡＲＥＡ７へ読み出し命令が発生したことを、制御回路ＬＧ１およびタイミングレジスタＴＭ−ＲＧへ伝えると同時に、ステータスレジスタＳＴ−ＲＧへ書き込む。
【００７６】
その後、制御回路ＬＧ１は、信号ＳＩＧ１をＨｉｇｈとし、入出力信号Ｉ／Ｏ１より、記憶領域ＡＲＥＡ７に対してデータ読み出しが発生していること、さらにこのデータ読み出しが、どの程度の期間、実行されるかを示すステータス信号を出力する。
【００７７】
これにより、情報処理装置ＣＨＩＰ１は、情報処理装置ＣＨＩＰ０からのアクセスが、どの記憶領域に発生しているかを、直ちに知ることができる。
【００７８】
次に、情報処理装置ＣＨＩＰ０から情報処理装置ＣＨＩＰ０とＣＨＩＰ１の共有領域である記憶領域ＡＲＥＡ７へのデータの書き込みが発生した場合の動作について説明する。
【００７９】
情報処理装置ＣＨＩＰ０から、信号ＡＤＣ０を通じて書き込み命令ＲＥＡＤ７およびアドレス値ＡＤＤ７がマルチポートメモリＭＰＭＥＭ０へ入力される。
【００８０】
書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤ７はアドレスバッファＡＢＦ０へ、書き込みデータはデータバッファＤＢＦ０へ入力される。
【００８１】
制御回路ＬＧ０は、アドレスバッファＡＢＦ０内の書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤ７を、データバッファＤＢＦ０から書き込みデータを読み出し、メモリマネージメント回路ＭＭＵによって設定されたアドレス空間およびシェアドエリアレジスタＳＡ−ＲＧの設定値によって、入力したアドレス値ＡＤＤ７は情報処理装置ＣＨＩＰ０およびＣＨＩＰ１の共有領域である記憶領域ＡＲＥＡ７への書き込みアドレスであることを認識し、記憶領域ＡＲＥＡ７へデータを書き込む。
【００８２】
さらに、制御回路ＬＧ０は、記憶領域ＡＲＥＡ７へ読み出し命令が発生したことを、制御回路ＬＧ１およびタイミングレジスタＴＭ−ＲＧへ伝えると同時に、ステータスレジスタＳＴ−ＲＧへ書き込む。
【００８３】
その後、制御回路ＬＧ１は、信号ＳＩＧ１をＨｉｇｈとし、入出力信号Ｉ／Ｏ１より、記憶領域ＡＲＥＡ７に対して書き込みが行われていることと、そのデータ書き込みが、どの程度の期間、実行されるかを示すステータス信号を出力する。
【００８４】
これにより、情報処理装置ＣＨＩＰ１は、情報処理装置ＣＨＩＰ０からのアクセスが、どの記憶領域に発生しているかを、直ちに知ることができる。
【００８５】
次に、情報処理装置ＣＨＩＰ１から情報処理装置ＣＨＩＰ０とＣＨＩＰ１の共有領域である記憶領域ＡＲＥＡ７への読み出しリクエストが発生した場合の動作について説明する。
【００８６】
情報処理装置ＣＨＩＰ１から、信号ＡＤＣ１を通じて読み出し命令ＲＥＡＤ７およびアドレス値ＡＤＤ７がマルチポートメモリＭＰＭＥＭ０へ入力される。
【００８７】
読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤ７は、アドレスバッファＡＢＦ１へ入力する。制御回路ＬＧ１は、アドレスバッファＡＢＦ１内の読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤ７を読み出し、メモリマネージメント回路ＭＭＵによって設定されたアドレス空間およびシェアドエリアレジスタＳＡ−ＲＧの設定値によって、入力したアドレス値ＡＤＤ７は情報処理装置ＣＨＩＰ０およびＣＨＩＰ１の共有領域である記憶領域ＡＲＥＡ７への読み出しアドレスであることを認識し、記憶領域ＡＲＥＡ７に保持されているデータを読み出す。
【００８８】
記憶領域ＡＲＥＡ７から読み出されたデータはデータバッファＤＢＦ１および入出力信号Ｉ／Ｏ１を通じて情報処理装置ＣＨＩＰ１へ送信される。
【００８９】
さらに、制御回路ＬＧ１は、記憶領域ＡＲＥＡ７へ読み出し命令が発生したことを、制御回路ＬＧ０およびタイミングレジスタＴＭ−ＲＧへ伝えると同時に、ステータスレジスタＳＴ−ＲＧへ書き込む。
【００９０】
その後、制御回路ＬＧ０は、信号ＳＩＧ０をＨｉｇｈとし、入出力信号Ｉ／Ｏ０より、記憶領域ＡＲＥＡ７に対してデータ読み出しが発生していること、さらにこのデータ読み出しが、どの程度の期間、実行されるかを示すステータス信号を出力する。
【００９１】
これにより、情報処理装置ＣＨＩＰ０は、情報処理装置ＣＨＩＰ０からのアクセスが、どの記憶領域に発生しているかを、直ちに知ることができる。
【００９２】
次に、情報処理装置ＣＨＩＰ１から情報処理装置ＣＨＩＰ０とＣＨＩＰ１の共有領域である記憶領域ＡＲＥＡ７へのデータの書き込みが発生した場合の動作について説明する。
【００９３】
情報処理装置ＣＨＩＰ１から、信号ＡＤＣ１を通じて書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤ７がマルチポートメモリＭＰＭＥＭ０へ入力される。
【００９４】
書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤ７はアドレスバッファＡＢＦ１へ、書き込みデータはデータバッファＤＢＦ１へ入力される。
【００９５】
制御回路ＬＧ１は、アドレスバッファＡＢＦ１内の書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤ７を、データバッファＤＢＦ１から書き込みデータを読み出し、メモリマネージメント回路ＭＭＵによって設定されたアドレス空間およびシェアドエリアレジスタＳＡ−ＲＧの設定値によって、入力したアドレス値ＡＤＤ７は情報処理装置ＣＨＩＰ０およびＣＨＩＰ１の共有領域である記憶領域ＡＲＥＡ７への書き込みアドレスであることを認識し、記憶領域ＡＲＥＡ７へデータを書き込む。
【００９６】
さらに、制御回路ＬＧ１は、記憶領域ＡＲＥＡ７へ読み出し命令が発生したことを、制御回路ＬＧ０およびタイミングレジスタＴＭ−ＲＧへ伝えると同時に、ステータスレジスタＳＴ−ＲＧへ書き込む。
【００９７】
その後、制御回路ＬＧ０は、信号ＳＩＧ０をＨｉｇｈとし、入出力信号Ｉ／Ｏ０より、記憶領域ＡＲＥＡ７に対して書き込みが行われていることと、そのデータ書き込みが、どの程度の期間、実行されるかを示すステータス信号を出力する。
【００９８】
これにより、情報処理装置ＣＨＩＰ０は、情報処理装置ＣＨＩＰ１からのアクセスが、どの記憶領域に発生しているかを、直ちに知ることができる。
【００９９】
次に、共有領域である記憶領域ＡＲＥＡ７へ、情報処理装置ＣＨＩＰ０からデータの書き込みリクエストが、ＣＨＩＰ１からデータの読み出しリクエストが、同時に、発生した場合の動作について説明する。
【０１００】
情報処理装置ＣＨＩＰ０から、信号ＡＤＣ０を通じて書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤ７がマルチポートメモリＭＰＭＥＭ０へ入力される。
【０１０１】
同時に、情報処理装置ＣＨＩＰ１から、信号ＡＤＣ１を通じて読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤ７がマルチポートメモリＭＰＭＥＭ０へ入力される。
【０１０２】
書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤ７は、アドレスバッファＡＢＦ０へ入力する。制御回路ＬＧ０は、アドレスバッファＡＢＦ０内の書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤ７を読み出す。
【０１０３】
読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤ７はアドレスバッファＡＢＦ１へ入力される。制御回路ＬＧ１は、アドレスバッファＡＢＦ１内の読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤ７を読み出す。
【０１０４】
マスターレジスタＭＳ−ＲＧの設定によって、情報処理装置ＣＨＩＰ０からの書き込みリクエストが優先されるため、制御回路ＬＧ０は、記憶領域ＡＲＥＡ７へデータを書き込む。
【０１０５】
さらに、制御回路ＬＧ０は、記憶領域ＡＲＥＡ７へ書き込み命令が発生したことを、制御回路ＬＧ１およびタイミングレジスタＴＭ−ＲＧへ伝えると同時に、ステータスレジスタＳＴ−ＲＧへ書き込む。
【０１０６】
その後、制御回路ＬＧ１は、信号ＳＩＧ１をＨｉｇｈとし、入出力信号Ｉ／Ｏ１より、記憶領域ＡＲＥＡ７に対してデータ読み出しが発生していること、さらにこのデータ読み出しの終了時間（同一記憶領域に次のコマンドを発行する事が可能になるまでの時間）を示すステータス信号を出力する。
【０１０７】
これにより、情報処理装置ＣＨＩＰ１は、自らの読み出しリクエストが処理できず、情報処理装置ＣＨＩＰ０からの読み出しリクエストが実行されていることを、直ちに知ることができる。さらに、情報処理装置ＣＨＩＰ１は情報処理装置ＣＨＩＰ０からの書き込みリクエストの終了時間を、直ちに知ることができる。
【０１０８】
このため、情報処理装置ＣＨＩＰ１は、情報処理装置ＣＨＩＰ０からの書き込みリクエストの終了時間が終了した後、直ちに、再度、読み出しリクエストをマルチポートメモリＭＰＭＥＭ０へ発行できる。
【０１０９】
以上説明したように、シェアドエリアレジスタＳＡ−ＲＧによって、システムにあわせてメモリアレイＭＡ０内の記憶領域ＡＲＥＡ０〜ＡＲＥＡ７を占有領域と共有領域とに柔軟に設定できる。
【０１１０】
さらに、信号ＳＩＧ０およびＳＩＧ１と、入出力信号Ｉ／Ｏ０およびＩ／Ｏ１からステータス信号を出力することにより、マルチポートメモリＭＰＭＥＭ０にて、現在、実行されているリクエストの種類と領域および期間を即座に知ることができ、情報処理装置ＣＨＩＰ０および情報処理装置ＣＨＩＰ１間のデータ通信を高速に行うことができる。
【０１１１】
＜メモリマップの説明＞
図２は、シェアドエリアレジスタＳＡ−ＲＧおよびメモリマネージメント回路ＭＭＵによって設定されるマルチポートメモリＭＰＭＥＭ０にてメモリマップの一例を示したものである。
【０１１２】
特に限定しないが、マルチポートメモリＭＰＭＥＭ０はスタティックランダムアクセスメモリセルを利用したスタティックランダムアクセスメモリであり、読み出し時間が１５ｎｓ程度である。
【０１１３】
特に限定しないが、マルチポートメモリＭＰＭＥＭ０は、レジスタ領域ＲＥＧ−ＡＲＥＡ、情報処理装置ＣＨＩＰ０の占有領域ＣＨＩＰ０−ＡＲＥＡ、情報処理装置ＣＨＩＰ１の占有領域ＣＨＩＰ１−ＡＲＥＡ、情報処理装置ＣＨＩＰ０と情報処理装置ＣＨＩＰ１の共有領域ＳＨＡＲＥ−ＡＲＥＡに分かれている。
【０１１４】
レジスタ領域ＲＥＧ−ＡＲＥＡは、ステータスレジスタＳＴ−ＲＧ、マスターレジスタＭＳ−ＲＧ、シェアドエリアレジスタＳＡ−ＲＧ、ステータス通達信号レジスタＳＩＧ−ＲＧ、タイミングレジスタＴＭ−ＲＧに分かれている。
【０１１５】
占有領域ＣＨＩＰ０−ＡＲＥＡは記憶領域ＡＲＥＡ０からＡＲＥＡ１に割り当てられており、占有領域ＣＨＩＰ１−ＡＲＥＡは記憶領域ＡＲＥＡ２からＡＲＥＡ３に割り当てられており、共有領域ＳＨＡＲＥ−ＡＲＥＡは記憶領域ＡＲＥＡ４からＡＲＥＡ７に割り当てられている。
【０１１６】
以上説明したようにシェアドエリアレジスタＳＡ−ＲＧおよびメモリマネージメント回路ＭＭＵによって、システムにあわせてメモリアレイＭＡ０内の記憶領域ＡＲＥＡ０〜ＡＲＥＡ７を占有領域と共有領域とに柔軟に設定できる。
【０１１７】
＜電源投入時の初期シーケンス＞
図３は、情報処理装置ＣＨＩＰ０と情報処理装置ＣＨＩＰ１およびマルチポートメモリＭＰＭＥＭ０から構成される情報処理システムの電源投入時の初期シーケンスを示す。
【０１１８】
Ｔ１の期間（ＰｗＯＮ）でマルチポートメモリＭＰＭＥＭ０へ電源投入を行い、Ｔ２の期間（Ｒｅｓｅｔ）でリセットを行う。リセットの方法は特に限定しないが、それぞれの内蔵回路で自動的にリセットを行う方法でも、あるいは、外部にリセット端子を持ち、このリセット信号によってリセット動作を行うこととしても良い。
【０１１９】
このＴ２の期間（Ｒｅｓｅｔ）では、初期設定回路ＩＮＩＴは、メモリマネージメント回路ＭＭＵ、タイミングレジスタＴＭ−ＲＧ、ステータス通達信号レジスタＳＩＧ−ＲＧ、シェアドエリアレジスタＳＡ−ＲＧ、マスターレジスタＭＳ−ＲＧおよびステータスレジスタＳＴ−ＲＧを初期化する。
【０１２０】
この初期化によってメモリマネージメント回路ＭＭＵにはマルチポートメモリＭＰＭＥＭ０の初期アドレス空間が設定され、タイミングレジスタＴＭ−ＲＧ、ステータス通達信号レジスタＳＩＧ−ＲＧ、シェアドエリアレジスタＳＡ−ＲＧ、マスターレジスタＭＳ−ＲＧおよびステータスレジスタＳＴ−ＲＧには初期設定値が設定される。
【０１２１】
リセットが解除されたＴ３の期間（ＲｅｑＳｅｔ）では、特に限定しないが情報処理装置ＣＨＩＰ０が各レジスタへデータ書き込みを行いレジスタの初期設定値を変更することができる。
【０１２２】
Ｔ３の期間が終了した後のＴ４の期間（Ｉｄｌｅ）以降は、マルチポートメモリＭＰＭＥＭ０はアイドル状態となり、情報処理装置ＣＨＩＰ０および情報処理装置ＣＨＩＰ１からのリクエストを待つ状態となる。
【０１２３】
＜ステータス情報出力の説明＞
図４（ａ）は、情報処理装置ＣＨＩＰ０からマルチポートメモリＭＰＭＥＭ０へリクエストが生じた場合の、マルチポートメモリＭＰＭＥＭ０の信号ＳＩＧ１の出力と入出力信号Ｉ／Ｏ１からのステータス情報出力に関する一例を示すフローチャートである。
【０１２４】
図４（ｂ）は、情報処理装置ＣＨＩＰ１からマルチポートメモリＭＰＭＥＭ０へリクエストが生じた場合の、マルチポートメモリＭＰＭＥＭ０の信号ＳＩＧ０の出力と入出力信号Ｉ／Ｏ０からのステータス情報出力に関する一例を示すフローチャートである。
【０１２５】
まず、図４（ａ）について説明する。情報処理装置ＣＨＩＰ０からマルチポートメモリＭＰＭＥＭ０へリクエストＰ０Ｒｅｑが入力した場合（Ｓｔｅｐ１）、マルチポートメモリＭＰＭＥＭ０は、リクエストＰ０Ｒｅｑが共有領域へのリクエストか否かをチェックする（Ｓｔｅｐ２）。リクエストＰ０Ｒｅｑが共有領域へのリクエストの場合は、信号ＳＩＧ１はＨｉｇｈとなり、情報処理装置ＣＨＩＰ０からリクエストが実行されていることを情報処理装置ＣＨＩＰ１へ通達する（Ｓｔｅｐ３）。次に、リクエストＰ０Ｒｅｑに関するステータス信号（命令、領域、終了時間）を入出力信号Ｉ／Ｏ１から出力する（Ｓｔｅｐ４）。その後、信号ＳＩＧ１はＬｏｗとなる（Ｓｔｅｐ５）。
【０１２６】
リクエストＰ０Ｒｅｑが共有領域へのリクエストではない場合は、信号ＳＩＧ１はＬｏｗのままで、入出力信号Ｉ／Ｏ１からステータス信号は出力されない（Ｓｔｅｐ６）。
【０１２７】
次に、図４（ｂ）について説明する。情報処理装置ＣＨＩＰ１からマルチポートメモリＭＰＭＥＭ０へリクエストＰ１Ｒｅｑが入力した場合（Ｓｔｅｐ１）、マルチポートメモリＭＰＭＥＭ０は、リクエストＰ１Ｒｅｑが共有領域へのリクエストか否かをチェックする（Ｓｔｅｐ２）。リクエストＰ１Ｒｅｑが共有領域へのリクエストの場合は、信号ＳＩＧ０はＨｉｇｈとなり、情報処理装置ＣＨＩＰ１からリクエストが実行されていることを情報処理装置ＣＨＩＰ０へ通達する（Ｓｔｅｐ３）。次に、リクエストＰ１Ｒｅｑに関するステータス信号（命令、領域、終了時間）を入出力信号Ｉ／Ｏ０から出力する（Ｓｔｅｐ４）。その後、信号ＳＩＧ０はＬｏｗとなる（Ｓｔｅｐ５）。
【０１２８】
リクエストＰ１Ｒｅｑが共有領域へのリクエストではない場合は、信号ＳＩＧ０はＬｏｗのままで、入出力信号Ｉ／Ｏ０からステータス信号は出力されない（Ｓｔｅｐ６）。
【０１２９】
＜アクセス調停の説明＞
図５は、情報処理装置ＣＨＩＰ０および情報処理装置ＣＨＩＰ１からマルチポートメモリＭＰＭＥＭ０へリクエストが生じた場合のマルチポートメモリＭＰＭＥＭ０の動作の一例を示すフローチャートである。
【０１３０】
情報処理装置ＣＨＩＰ０からマルチポートメモリＭＰＭＥＭ０へリクエストＰ０Ｒｅｑが入力した場合（Ｓｔｅｐ１）、マルチポートメモリＭＰＭＥＭ０は、情報処理装置ＣＨＩＰ１からのリクエストＰ１Ｒｅｑがあるかどうかをチェックする（Ｓｔｅｐ２）。リクエストＰ１ＲｅｑがなければリクエストＰ０Ｒｅｑを実行する（Ｓｔｅｐ３）。リクエストＰ１Ｒｅｑがあれば、リクエストＰ０ＲｅｑとリクエストＰ１Ｒｅｑが同一記憶エリアへのリクエストかをチェックする（Ｓｔｅｐ４）。同一記憶エリアでなければリクエストＰ０ＲｅｑとリクエストＰ１Ｒｅｑは同時に実行される（Ｓｔｅｐ１０）。同一記憶エリアであれば、リクエストＰ０ＲｅｑとリクエストＰ１Ｒｅｑの優先順位をチェックする（Ｓｔｅｐ５）。リクエストＰ０Ｒｅｑの優先順位が高ければ、リクエストＰ０Ｒｅｑを実行し（Ｓｔｅｐ６）、その後リクエストＰ１Ｒｅｑを実行する（Ｓｔｅｐ７）。クエストＰ１Ｒｅｑの優先順位が高ければ、リクエストＰ１Ｒｅｑを実行し（Ｓｔｅｐ８）、その後リクエストＰ０Ｒｅｑを実行する（Ｓｔｅｐ９）。
【０１３１】
＜レジスタの説明＞
図６〜図９は、マルチポートメモリＭＰＭＥＭ０内のレジスタの設定値の一例を示す。
【０１３２】
＜タイミングレジスタＴＭ−ＲＧの説明＞
図６にはタイミングレジスタＴＭ−ＲＧの一例を示す。
【０１３３】
タイミングレジスタＴＭ−ＲＧは、特に限定しないがＴＭ−ＲＧ［１５：０］の１６ビットで構成されている。
【０１３４】
ＴＭ−ＲＧ［７：０］はデータ読み出しが開始され次のリクエストが入力可能となるまでの最小サイクル時間を示し、特に限定しないが８サイクルに設定されている。
【０１３５】
ＴＭ−ＲＧ［１５：８］はデータ書き込みが開始され次のリクエストが入力可能となるまでの最小サイクル時間を示し、特に限定しないが８サイクルに設定されている。
【０１３６】
＜ステータス通達信号レジスタＳＩＧ−ＲＧの説明＞
図６にはステータス通達信号レジスタＳＩＧ−ＲＧの一例を示す。
【０１３７】
ステータス通達信号レジスタＳＩＧ−ＲＧは、特に限定しないがＳＩＧ−ＲＧ［１：０］の２ビットで構成されている。
【０１３８】
ＳＩＧ−ＲＧ［０］は共有記憶領域へのデータ読み出しに関するビットであり、１に設定されている。この設定は、情報処理装置ＣＨＩＰ０からの読み出しリクエストが共有領域へ発生した際に、信号ＳＩＧ１がＨｉｇｈになり、情報処理装置ＣＨＩＰ１からの読み出しリクエストが共有領域へ発生した際に、信号ＳＩＧ０がＨｉｇｈになることを示す。
【０１３９】
ＳＩＧ−ＲＧ［１］は共有記憶領域へのデータ書き込みに関するビットであり、１に設定されている。この設定は、情報処理装置ＣＨＩＰ０からの書き込みリクエストが共有領域へ発生した際に、信号ＳＩＧ１がＨｉｇｈになり、情報処理装置ＣＨＩＰ１からの読み出しリクエストが共有領域へ発生した際に、信号ＳＩＧ０がＨｉｇｈになることを示す。
【０１４０】
＜シェアドエリアレジスタＳＡ−ＲＧの説明＞
図７にはシェアドエリアレジスタＳＡ−ＲＧの一例を示す。
【０１４１】
シェアドエリアレジスタＳＡ−ＲＧは、特に限定しないがＳＡ−ＲＧ［２３：０］の２４ビットで構成されている。
【０１４２】
ＳＡ−ＲＧ［７：０］は共有記憶領域を設定するためのビットであり、ＳＡ−ＲＧ［１５：８］は情報処理装置ＣＨＩＰ０の占有記憶領域を設定するためのビットであり、ＳＡ−ＲＧ［２３：１６］は情報処理装置ＣＨＩＰ１の占有記憶領域を設定するためのビットである。
【０１４３】
ＳＡ−ＲＧ［７：０］の各ビットは記憶領域ＡＲＥＡ７から０に対応しており、例えばＳＡ−ＲＧ［７］が１の場合は記憶領域ＡＲＥＡ７が共有領域となる。
【０１４４】
ＳＡ−ＲＧ［１５：８］の各ビットは記憶領域ＡＲＥＡ７から０に対応しており、例えばＳＡ−ＲＧ［８］が１の場合は記憶領域ＡＲＥＡ０が情報処理装置ＣＨＩＰ０の占有領域となる。
【０１４５】
ＳＡ−ＲＧ［２３：１６］の各ビットは記憶領域ＡＲＥＡ７から０に対応しており、例えばＳＡ−ＲＧ［１９］が１の場合は記憶領域ＡＲＥＡ３が情報処理装置ＣＨＩＰ１の占有領域となる。
【０１４６】
図７の一例では、ＳＡ−ＲＧ［７：４］がすべて１へ、ＳＡ−ＲＧ［３：０］がすべて０へ設定されているので、記憶領域ＡＲＥＡ７から４が共有領域となる。
【０１４７】
図７の一例では、ＳＡ−ＲＧ［１５：１０］がすべて０へ、ＳＡ−ＲＧ［９：８］がすべて１へ設定されているので、記憶領域ＡＲＥＡ１から０が情報処理装置ＣＨＩＰ０の占有領域となる。
【０１４８】
図７の一例では、ＳＡ−ＲＧ［２３：２０］がすべて０へ、ＳＡ−ＲＧ［１９：１８］がすべて１へ、ＳＡ−ＲＧ［１７：１６］がすべて０へ設定されているので、記憶領域ＡＲＥＡ３から２が情報処理装置ＣＨＩＰ１の占有領域となる。
【０１４９】
＜マスターレジスタＭＳ−ＲＧの説明＞
図８にはマスターレジスタＭＳ−ＲＧの一例を示す。
【０１５０】
マスターレジスタＭＳ−ＲＧは、特に限定しないがＭＳ−ＲＧ［１：０］の２ビットで構成されている。
【０１５１】
ＭＳ−ＲＧ［１：０］の各ビットは、マルチポートメモリＭＰＭＥＭＥ０の各ポートに対応している。例えば、ＭＳ−ＲＧ［０］はポート０（ＰＲＴ０）に、ＭＳ−ＲＧ［１］はポート１（ＰＲＴ１）に対応している。
【０１５２】
図８の一例に示すように、ＭＳ−ＲＧ［１］およびＭＳ−ＲＧ［０］がそれぞれ０へ設定されている場合は、ポート０（ＰＲＴ０）とポート１（ＰＲＴ１）の優先順位はラウンドロビン方式で変化する。
【０１５３】
ＭＳ−ＲＧ［１］が０へ、ＭＳ−ＲＧ［０］が１へ設定されている場合は、ポート０（ＰＲＴ０）が優先ポートとなる。
【０１５４】
ＭＳ−ＲＧ［１］が１へ、ＭＳ−ＲＧ［０］が０へ設定されている場合は、ポート１（ＰＲＴ１）が優先ポートとなる。
【０１５５】
ＭＳ−ＲＧ［１］およびＭＳ−ＲＧ［０］がそれぞれ１へ設定されている場合は、ポート０（ＰＲＴ０）とポート１（ＰＲＴ１）の優先順位はラウンドロビン方式で変化する。
【０１５６】
＜ステータスレジスタＳＴ−ＲＧの説明＞
図９にはステータスレジスタＳＴ−ＲＧの一例を示す。
【０１５７】
ステータスレジスタＳＴ−ＲＧは、特に限定しないがＳＴ−ＲＧ［３１：０］の３２ビットで構成されている。
【０１５８】
ＳＴ−ＲＧ［１５：０］はポート０（ＰＲＴ０）からのリクエストに関するステータス情報（命令、記憶領域、終了時間など）を格納し、ＳＴ−ＲＧ［３１：１６］はポート１（ＰＲＴ１）からのリクエストに関するステータス情報（命令、記憶領域、終了時間など）を格納する。
【０１５９】
ＳＴ−ＲＧ［３：０］はポート０（ＰＲＴ０）からの現在、実行中の命令を保持する。ＳＴ−ＲＧ［３：０］が０の場合は現在、実行中の命令は無いことを示し、１の場合は現在、読み出し命令を実行中であることを示し、２の場合は現在、書き込み命令を実行であることを示す。
【０１６０】
特に限定しないが、ＳＴ−ＲＧ［３：０］は、１６通りの命令を保持することが可能であり、必要に応じて保持する命令を追加することができる。
【０１６１】
ＳＴ−ＲＧ［７：４］はポート０（ＰＲＴ０）から、現在、アクセスしている記憶領域を保持する。ＳＴ−ＲＧ［７：４］が７の場合は現在、記憶領域ＡＲＥＡ７へアクセスが生じていることを示す。
【０１６２】
ＳＴ−ＲＧ［１５：８］はポート０（ＰＲＴ０）から、現在、実行中の命令の終了時間を保持する。ＳＴ−ＲＧ［１５：８］が５の場合は、５サイクル後に、実行中の命令が終了することを示す。
【０１６３】
ＳＴ−ＲＧ［１９：１６］はポート１（ＰＲＴ１）からの現在、実行中の命令を保持する。ＳＴ−ＲＧ［１９：１６］が０の場合は現在、実行中の命令は無いことを示し、１の場合は現在、読み出し命令を実行中であることを示し、２の場合は現在、書き込み命令を実行であることを示す。
【０１６４】
特に限定しないが、ＳＴ−ＲＧ［１９：１６］は、１６通りの命令を保持することが可能であり、必要に応じて保持する命令を追加することができる。
【０１６５】
ＳＴ−ＲＧ［２３：２０］はポート１（ＰＲＴ１）から、現在、アクセスしている記憶領域を保持する。ＳＴ−ＲＧ［２３：２０］が３の場合は現在、記憶領域ＡＲＥＡ３へアクセスが生じていることを示す。
【０１６６】
ＳＴ−ＲＧ［３１：２４］はポート１（ＰＲＴ１）から、現在、実行中の命令の終了時間を保持する。ＳＴ−ＲＧ［３１：２４］が５の場合は、５サイクル後に、実行中の命令が終了することを示す。
【０１６７】
＜Ｉ／Ｏからのステータス情報出力の説明＞
図１０では、マルチポートメモリＭＰＭＥＭ０の入出力信号Ｉ／Ｏ０およびＩ／Ｏ１から出力するステータス情報（命令、記憶領域、終了時間など）の一例を示す。
【０１６８】
入出力信号Ｉ／Ｏ０はポート１（ＰＲＴ１）からのリクエストに対するステータス情報（命令、記憶領域、終了時間など）を出力し、入出力信号Ｉ／Ｏ１はポート０（ＰＲＴ０）からのリクエストに対するステータス情報（命令、記憶領域、終了時間など）を出力する。
【０１６９】
入出力信号Ｉ／Ｏ０は、特に限定しないがＩ／Ｏ０［１５：０］の１６ビットで構成されており、Ｉ／Ｏ０［３：０］は実行中の命令を示し、Ｉ／Ｏ０［７：４］はアクセスしている記憶領域を示し、Ｉ／Ｏ０［１５：８］は実行中の命令の終了時間を示す。
【０１７０】
Ｉ／Ｏ０［３：０］が０の場合はポート１（ＰＲＴ１）から、現在、実行中の命令は無いことを示し、１の場合は現在、読み出し命令を実行中であることを示し、２の場合は現在、書き込み命令を実行であることを示す。
【０１７１】
Ｉ／Ｏ０［７：４］が７の場合はポート１（ＰＲＴ１）から、現在、記憶領域ＡＲＥＡ７へアクセスが生じていることを示す。
【０１７２】
Ｉ／Ｏ０［１５：８］が５の場合は、ポート１（ＰＲＴ１）からの、現在、実行中の命令は５サイクル後に終了することを示す。
【０１７３】
入出力信号Ｉ／Ｏ１は、特に限定しないがＩ／Ｏ１［１５：０］の１６ビットで構成されており、Ｉ／Ｏ１［３：０］は実行中の命令を示し、Ｉ／Ｏ１［７：４］はアクセスしている記憶領域を示し、Ｉ／Ｏ１［１５：８］は実行中の命令の終了時間を示す。
【０１７４】
Ｉ／Ｏ１［３：０］が０の場合はポート０（ＰＲＴ０）から、現在、実行中の命令は無いことを示し、１の場合は現在、読み出し命令を実行中であることを示し、２の場合は現在、書き込み命令を実行であることを示す。
【０１７５】
Ｉ／Ｏ１［７：４］が６の場合はポート０（ＰＲＴ０）から、現在、記憶領域ＡＲＥＡ６へアクセスが生じていることを示す。
【０１７６】
Ｉ／Ｏ１［１５：８］が５の場合は、ポート０（ＰＲＴ０）からの、現在、実行中の命令は５サイクル後に終了することを示す。
【０１７７】
＜動作波形の説明＞
図１１では、情報処理装置ＣＨＩＰ０がポート０（ＰＲＴ０）を通じて、読み出しリクエストがマルチポートメモリＭＰＭＥＭ０の情報処理装置ＣＨＩＰ０の占有領域である記憶領域ＡＲＥＡ０へ入力し、情報処理装置ＣＨＩＰ１がポート１（ＰＲＴ１）を通じて、書き込みリクエストがマルチポートメモリＭＰＭＥＭ０の情報処理装置ＣＨＩＰ１の占有領域である記憶領域ＡＲＥＡ２へ入力した場合の、マルチポートメモリＭＰＭＥＭ０の動作波形の一例を示す。
【０１７８】
情報処理装置ＣＨＩＰ０から、クロックＣＬＫに同期して、信号ＡＤＣ０を通じて読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤ０がマルチポートメモリＭＰＭＥＭ０へ入力される。
【０１７９】
入力された読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤ０によって、情報処理装置ＣＨＩＰ０の占有領域である記憶領域ＡＲＥＡ０に保持されているデータを読み出す（Ｒｅａｄ  ｆｒｏｍ  Ａｒｅａ０）。
【０１８０】
記憶領域ＡＲＥＡ０から読み出されたデータはバッファＤＢＦ０へ送信され、入出力信号Ｉ／Ｏ０から出力される。情報処理装置ＣＨＩＰ０から、情報処理装置ＣＨＩＰ０の占有領域へのリクエストが入力されると信号ＳＩＧ１はＨｉｇｈにはならずＬｏｗのままとなる。
【０１８１】
情報処理装置ＣＨＩＰ１から、クロックＣＬＫに同期して、信号ＡＤＣ１を通じて書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤ２が、入出力信号Ｉ／Ｏ１から書き込みデータＷＤＡＴＡ２が、マルチポートメモリＭＰＭＥＭ０へ入力される。  
【０１８２】
入力された書き込み命令ＷＲＩＴＥ、アドレス値ＡＤＤ２によって情報処理装置ＣＨＩＰ１の占有領域である記憶領域ＡＲＥＡ２が選択される。書き込みデータＷＤＡＴＡ２はバッファＤＢＦ１へ送信され、その後、選択された記憶領域ＡＲＥＡ２へ書き込まれる。
【０１８３】
情報処理装置ＣＨＩＰ１から、情報処理装置ＣＨＩＰ１の占有領域へのリクエストが入力されると信号ＳＩＧ０はＨｉｇｈにはならずＬｏｗのままとなる。
【０１８４】
このように、情報処理装置ＣＨＩＰ０およびＣＨＩＰ１のそれぞれが占有する記憶領域へのリクエストでは、アクセス競合が発生しないため、それぞれの情報処理装置が他の情報処理装置のリクエストに邪魔されること無く、実行できる。このため、それぞれの情報処理装置からのリクエストを同時に実行でき、高速処理が可能となる。
【０１８５】
また、図１１ではポート０（ＰＲＴ０）への読み出しリクエストと、ポート１（ＰＲＴ１）への書き込みリクエストに関する動作を説明したが、ポート０（ＰＲＴ０）への書き込みリクエストと、ポート１（ＰＲＴ１）への読み出しリクエストに関する動作も同様に行われることは言うまでもない。
【０１８６】
図１２では、情報処理装置ＣＨＩＰ０がポート０（ＰＲＴ０）を通じて、書き込みリクエストＷＲＥＱ０がマルチポートメモリＭＰＭＥＭ０の情報処理装置ＣＨＩＰ０とＣＨＩＰ１の共有領域である記憶領域ＡＲＥＡ６へ発生し、同時に、情報処理装置ＣＨＩＰ１がポート１（ＰＲＴ１）を通じて、読み出しリクエストＲＲＥＱ１がマルチポートメモリＭＰＭＥＭ０の情報処理装置ＣＨＩＰ０とＣＨＩＰ１の共有領域である記憶領域ＡＲＥＡ７へ入力した場合の、マルチポートメモリＭＰＭＥＭ０の動作波形の一例を示す。
【０１８７】
情報処理装置ＣＨＩＰ０から、クロックＣＬＫに同期して、書き込みリクエストＷＲＥＱ０（信号ＡＤＣ０を通じて書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤ６が、入出力信号Ｉ／Ｏ０から書き込みデータＷＤＡＴＡ６）が、マルチポートメモリＭＰＭＥＭ０へ入力される。
【０１８８】
入力された書き込み命令ＷＲＩＴＥ、アドレス値ＡＤＤ６によって共有領域である記憶領域ＡＲＥＡ６が選択される。書き込みデータＷＤＡＴＡ６はバッファＤＢＦ０へ送信され、その後、選択された記憶領域ＡＲＥＡ６へ書き込まれる。
【０１８９】
情報処理装置ＣＨＩＰ０から、共有領域へのリクエストが入力されると信号ＳＩＧ１はＨｉｇｈとなり、情報処理装置ＣＨＩＰ０からリクエストが実行されていることを情報処理装置ＣＨＩＰ１へ通達する。次に、リクエストに関するステータス信号（ライト命令ＷＲＩＲＥ、記憶領域ＡＲＥＡ６、終了時間５サイクル）を入出力信号Ｉ／Ｏ１から出力する。このステータス信号によって情報処理装置ＣＨＩＰ１は、情報処理装置ＣＨＩＰ０からの具体的なリクエストの内容を知ることができる。入出力信号Ｉ／Ｏ１からのステータス信号の出力後、信号ＳＩＧ１はＬｏｗとなる。
【０１９０】
情報処理装置ＣＨＩＰ１は、この入出力信号Ｉ／Ｏ１からのステータス信号を自身のメモリ制御回路ＭＣＯＮ１へ保存し、情報処理装置ＣＨＩＰ０がマルチポートメモリＭＰＭＥＭ０にて実行している具体的なリクエストの内容を把握することができる。
【０１９１】
情報処理装置ＣＨＩＰ１から、クロックＣＬＫに同期して、読み出しリクエストＲＲＥＱ１（信号ＡＤＣ１を通じて読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤ７）が、マルチポートメモリＭＰＭＥＭ０へ入力される。
【０１９２】
入力された読み出し命令ＲＥＡＤ、アドレス値ＡＤＤ７によって共有領域である記憶領域ＡＲＥＡ７に保持されているデータを読み出す（Ｒｅａｄ  ｆｒｏｍ  Ａｒｅａ７）。
【０１９３】
記憶領域ＡＲＥＡ７から読み出されたデータはバッファＤＢＦ１へ送信され、入出力信号Ｉ／Ｏ１から出力される。
【０１９４】
情報処理装置ＣＨＩＰ１から、共有領域へのリクエストが入力されると信号ＳＩＧ０はＨｉｇｈとなり、情報処理装置ＣＨＩＰ１からリクエストが実行されていることを情報処理装置ＣＨＩＰ０へ通達する。次に、リクエストに関するステータス信号（読み出し命令ＲＥＡＤ、記憶領域ＡＲＥＡ７、終了時間０サイクル）を入出力信号Ｉ／Ｏ０から出力する。このステータス信号によって情報処理装置ＣＨＩＰ０は、情報処理装置ＣＨＩＰ１からの具体的なリクエストの内容を知ることができる。入出力信号Ｉ／Ｏ０からのステータス信号の出力後、信号ＳＩＧ０はＬｏｗとなる。
【０１９５】
情報処理装置ＣＨＩＰ０は、この入出力信号Ｉ／Ｏ０からのステータス信号を自身のメモリ制御回路ＭＣＯＮ０へ保存し、情報処理装置ＣＨＩＰ１がマルチポートメモリＭＰＭＥＭ０にて実行している具体的なリクエストの内容を把握することができる。
【０１９６】
このように、情報処理装置ＣＨＩＰ０およびＣＨＩＰ１の共有記憶領域へのリクエストであっても、異なる記憶領域であれば、アクセス競合は発生せず、それぞれの情報処理装置が他の情報処理装置のリクエストに邪魔されること無く、実行できる。このため、それぞれの情報処理装置からのリクエストを同時に実行でき、高速処理が可能となる。
【０１９７】
さらに、情報処理装置ＣＨＩＰ０から共有記憶領域へリクエストが発生すると、信号ＳＩＧ１はＨｉｇｈとなり、入出力信号Ｉ／Ｏ１からのステータス信号により、情報処理装置ＣＨＩＰ１は情報処理装置ＣＨＩＰ０からの具体的なリクエストの内容を知ることができる。このため、情報処理装置ＣＨＩＰ１は、最短時間で、最適なリクエストをマルチポートメモリＭＰＭＥＭ０へ発行できる。なお、情報処理装置ＣＨＩＰ０の具体的なリクエスト内容は、情報処理装置ＣＨＩＰ１の内部で保存されるため、情報処理装置ＣＨＩＰ１は、どのようなリクエストを出すべきかを判断する事が可能である。
【０１９８】
また、情報処理装置ＣＨＩＰ１から共有記憶領域へリクエストが発生すると、信号ＳＩＧ０はＨｉｇｈとなり、入出力信号Ｉ／Ｏ０からのステータス信号により、情報処理装置ＣＨＩＰ０は情報処理装置ＣＨＩＰ１からの具体的なリクエストの内容を知ることができる。このため、情報処理装置ＣＨＩＰ０は、最短時間で、最適なリクエストをマルチポートメモリＭＰＭＥＭ０へ発行できる。なお、情報処理装置ＣＨＩＰ１の具体的なリクエスト内容は、情報処理装置ＣＨＩＰ０の内部で保存されるため、情報処理装置ＣＨＩＰ０は、どのようなリクエストを出すべきかを判断する事が可能である。
【０１９９】
また、図１２では、情報処理装置ＣＨＩＰ０およびＣＨＩＰ１の共有記憶領域かつ異なる記憶領域へのポート０（ＰＲＴ０）への書き込みリクエストと、ポート１（ＰＲＴ１）への読み出しリクエストに関する動作を説明したが、ポート０（ＰＲＴ０）への全リクエストと、ポート１（ＰＲＴ１）への全リクエストに関する動作も同様に行われることは言うまでもない。
【０２００】
図１３では、情報処理装置ＣＨＩＰ０がポート０（ＰＲＴ０）を通じて、マルチポートメモリＭＰＭＥＭ０の共有領域である記憶領域ＡＲＥＡ４へデータＷＤＡＴＡ４を書き込み、情報処理装置ＣＨＩＰ１がポート１（ＰＲＴ１）を通じて、記憶領域ＡＲＥＡ４へ書き込まれたデータＷＤＡＴＡ４を読み出す場合、つまり情報処理装置ＣＨＩＰ０とＣＨＩＰ１間のデータ通信に関する動作波形の一例を示す。
【０２０１】
情報処理装置ＣＨＩＰ０から、クロックＣＬＫに同期して、書き込みリクエストＷＲＥＱ０（信号ＡＤＣ０を通じて書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤ４、入出力信号Ｉ／Ｏ０から書き込みデータＷＤＡＴＡ４）が、マルチポートメモリＭＰＭＥＭ０へ入力される。
【０２０２】
また、同時に、情報処理装置ＣＨＩＰ１から、クロックＣＬＫに同期して、読み出しリクエストＲＲＥＱ１（信号ＡＤＣ１を通じて読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤ４）が、マルチポートメモリＭＰＭＥＭ０へ入力される。
【０２０３】
情報処理装置ＣＨＩＰ０および情報処理装置ＣＨＩＰ１から同時に、リクエストが入力された場合は、調停回路ＡＲＢＩＴＯＲによってポート０（ＰＲＴ０）からのアクセスが優先されるので、入力された書き込み命令ＷＲＩＴＥ、アドレス値ＡＤＤ４によって共有領域である記憶領域ＡＲＥＡ４が選択される。書き込みデータＷＤＡＴＡ４はバッファＤＢＦ０へ送信され、その後、選択された記憶領域ＡＲＥＡ４へ書き込まれる。
【０２０４】
情報処理装置ＣＨＩＰ０から、共有領域へのリクエストが入力されると信号ＳＩＧ１はＨｉｇｈとなり、情報処理装置ＣＨＩＰ０からリクエストが実行されていることを情報処理装置ＣＨＩＰ１へ通達する。次に、リクエストに関するステータス信号（ライト命令ＷＲＩＴＥ、記憶領域ＡＲＥＡ４、終了時間５サイクル）を入出力信号Ｉ／Ｏ１から出力する。入出力信号Ｉ／Ｏ１からのステータス信号の出力後、信号ＳＩＧ１はＬｏｗとなる。
【０２０５】
情報処理装置ＣＨＩＰ１は、この入出力信号Ｉ／Ｏ１からのステータス信号を自身のメモリ制御回路ＭＣＯＮ１へ保存し、情報処理装置ＣＨＩＰ０がマルチポートメモリＭＰＭＥＭ０にて実行している具体的なリクエストの内容を把握することができる。
【０２０６】
情報処理装置ＣＨＩＰ１は、信号ＳＩＧ１がＨｉｇｈとなったことで情報処理装置ＣＨＩＰ０から共有領域へリクエストが生じたことを知り、また、入出力信号Ｉ／Ｏ１からのステータス信号に含まれる具体的なリクエストの内容を保存することで、情報処理装置ＣＨＩＰ０が５クロックサイクル後に、記憶領域ＡＲＥＡ４へのデータ書き込みを終了することを知る。
【０２０７】
これによって、情報処理装置ＣＨＩＰ１は、最初の読み出しリクエストＲＲＥＱ１は実行されないことを知り、情報処理装置ＣＨＩＰ０の書き込み動作が終了した後、直ちに再度、読み出しリクエストＲＲＥＱ２（信号ＡＤＣ１を通じて読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤ４）をマルチポートメモリＭＰＭＥＭ０へ入力する。
【０２０８】
入力された読み出し命令ＲＥＡＤ、アドレス値ＡＤＤ４によって、共有領域である記憶領域ＡＲＥＡ４に保持されているデータ（先ほど情報処理装置ＣＨＩＰ０が書き込んだデータＷＤＡＴＡ４）を読み出す（Ｒｅａｄ  ｆｒｏｍ  Ａｒｅａ４）。記憶領域ＡＲＥＡ４から読み出されたデータはバッファＤＢＦ１へ送信され、入出力信号Ｉ／Ｏ１から出力される。
【０２０９】
情報処理装置ＣＨＩＰ１から、共有領域へのリクエストが入力されると信号ＳＩＧ０はＨｉｇｈとなり、情報処理装置ＣＨＩＰ１からリクエストが実行されていることを情報処理装置ＣＨＩＰ０へ通達する。次に、リクエストに関するステータス信号（読み出し命令ＲＥＡＤ、記憶領域ＡＲＥＡ４、終了時間５サイクル）を入出力信号Ｉ／Ｏ０から出力する。入出力信号Ｉ／Ｏ０からのステータス信号の出力後、信号ＳＩＧ０はＬｏｗとなる。
【０２１０】
情報処理装置ＣＨＩＰ０は、この入出力信号Ｉ／Ｏ０からのステータス信号を自身のメモリ制御回路ＭＣＯＮ０へ保存し、情報処理装置ＣＨＩＰ１がマルチポートメモリＭＰＭＥＭ０にて実行している具体的なリクエストの内容を把握することができる。
【０２１１】
情報処理装置ＣＨＩＰ０は、信号ＳＩＧ０がＨｉｇｈとなったことで情報処理装置ＣＨＩＰ１から共有領域へリクエストが生じたことを知り、また、入出力信号Ｉ／Ｏ０からのステータス信号に含まれる具体的なリクエストの内容を保存することで、情報処理装置ＣＨＩＰ１が５クロックサイクル後に、記憶領域ＡＲＥＡ４からのデータ読み出しを終了することを知る。
【０２１２】
これによって、情報処理装置ＣＨＩＰ０は、情報処理装置ＣＨＩＰ１の読み出し動作が終了した後、直ちに、書き込みリクエストＷＲＥＱ２（信号ＡＤＣ１を通じて書き込み命令ＷＲＩＴＥおよびアドレス値ＡＤＤ４、入出力信号Ｉ／Ｏ０から書き込みデータＷＤＡＴＡ４）をマルチポートメモリＭＰＭＥＭ０へ入力する。
【０２１３】
入力された書き込み命令ＷＲＩＴＥ、アドレス値ＡＤＤ４によって共有領域である記憶領域ＡＲＥＡ４が選択される。書き込みデータＷＤＡＴＡ４はバッファＤＢＦ０へ送信され、その後、選択された記憶領域ＡＲＥＡ４へ書き込まれる。
【０２１４】
以上説明したように、入出力信号Ｉ／Ｏ０およびＩ／Ｏ１からのステータス信号により、情報処理装置ＣＨＩＰ０およびＣＨＩＰ１は、それぞれで実行しているリクエストの具体的な内容（命令、記憶領域、終了時間）を知ることができるため、情報処理装置ＣＨＩＰ０およびＣＨＩＰ１間のデータ通信を高速に行うことができる。
【０２１５】
（第２の実施の形態）
本発明を適用した第２の実施の形態である情報処理システムについて、図１４〜図２９を用いて説明する。
【０２１６】
図１４は本発明を適用した第２の実施の形態である、情報処理装置ＣＨＩＰ０とＣＨＩＰ１と、マルチポートメモリＭＰＭＥＭ２とから構成される情報処理システムを示したものである。以下におのおのについて説明する。
【０２１７】
情報処理装置ＣＨＩＰ０は、情報処理回路ＣＰＵ００、ＣＰＵ０１、ＣＰＵ０２、ＣＰＵ０３と、メモリ制御回路ＭＣＯＮ０から構成されている。情報処理装置ＣＨＩＰ１は、情報処理回路ＣＰＵ１０、ＣＰＵ１１、ＣＰＵ１２、ＣＰＵ１３と、メモリ制御回路ＭＣＯＮ１から構成されている。
【０２１８】
情報処理回路ＣＰＵ００、ＣＰＵ０１、ＣＰＵ０２、ＣＰＵ０３ではメモリ制御回路ＭＣＯＮ０を通じて、情報処理回路ＣＰＵ１０、ＣＰＵ１１、ＣＰＵ１２、ＣＰＵ１３ではメモリ制御回路ＭＣＯＮ１を通じて、マルチポートメモリＭＰＭＥＭ２より、ＯＳやアプリケーションプログラムおよびアプリケーションプログラムにて処理を行うデータを読み出し実行する。
【０２１９】
情報処理装置ＣＨＩＰ０およびＣＨＩＰ１は、それぞれのメモリ制御回路ＭＣＯＮ０およびＭＣＯＮ１を介して、マルチポートメモリＭＰＭＥＭ２へ接続され、互いにデータ通信を行う。
【０２２０】
マルチポートメモリＭＰＭＥＭ２は、制御回路ＤＣＯＮ０およびＤＣＯＮ１、初期設定回路ＤＩＮＩＴ、モードレジスタＤＭＤ−ＲＧ、メモリマネージメント回路ＤＭＭＵ、タイミングレジスタＤＴＭ−ＲＧ、ステータス通達信号レジスタＤＳＩＧ−ＲＧ、シェアドバンクレジスタＤＳＢ−ＲＧ、マスターレジスタＤＭＳ−ＲＧ、ステータスレジスタＤＳＴ−ＲＧ、メモリアレイＤＭＡ０、調停回路ＡＲＢＩＴＯＲから構成される。
【０２２１】
制御回路ＤＣＯＮ０は、アドレスバッファＡＢＦ０、データバッファＤＢＦ０および制御回路ＤＬＧ０から構成される。制御回路ＤＣＯＮ１は、アドレスバッファＡＢＦ１、データバッファＤＢＦ１および制御回路ＤＬＧ１から構成される。
【０２２２】
メモリアレイＤＭＡ０は、特に限定しないが、メモリバンクＢＡＮＫ０〜ＢＡＮＫ７から構成され、ダイナミックランダムアクセスメモリのメモリセルによって構成されている。
【０２２３】
信号ＤＡＤＣ０およびＤＡＤＣ１は、命令およびアドレス信号である。信号ＳＩＧ０およびＳＩＧ１はステータス通達信号である。入出力信号Ｉ／Ｏ０およびＩ／Ｏ１はデータ入出力信号である。
【０２２４】
情報処理装置ＣＨＩＰ０が、ポートＤＰＴ０を介してマルチポートメモリＭＰＭＥＭ２のメモリアレイＤＭＡ０へ保持されているデータを読み出す場合の動作の一例について説明する。
【０２２５】
情報処理装置ＣＨＩＰ０が、信号ＤＡＤＣ０を通じてバンクアクティブ命令ＢＡ０、バンクアドレスＢＡＤＤ０およびロウアドレスＲＡＤＤ０をマルチポートメモリＭＰＭＥＭ２へ出力する。このバンクアクティブ命令ＢＡ０によって、メモリバンクＢＡＮＫ０内のロウアドレス０に接続されている８１９２ビット分のメモリセルが活性化されセンスアンプへ転送される。
【０２２６】
次に、信号ＤＡＤＣ０を通じて読み出し命令ＲＤ０、バンクアドレスＢＡＤＤ０およびカラムアドレスＣＡＤＤ０をマルチポートメモリＭＰＭＥＭ２へ出力する。この読み出し命令ＲＤ０によってメモリバンクＢＡＮＫ０内のセンスアンプに保持されているデータのなかで、カラムアドレス０を開始アドレスとした１６バイト分のデータが読み出され、データバッファＤＢＦ０へ転送され、入出力信号Ｉ／Ｏ０を介して情報処理装置ＣＨＩＰ０へ転送される。
【０２２７】
情報処理装置ＣＨＩＰ１が、ポートＤＰＴ１を介してマルチポートメモリＭＰＭＥＭ２のメモリアレイＤＭＡ０へ保持されているデータを読み出す場合の動作の一例について説明する。
【０２２８】
情報処理装置ＣＨＩＰ１が、信号ＤＡＤＣ１を通じてバンクアクティブ命令ＢＡ２、バンクアドレスＢＡＤＤ２およびロウアドレスＲＡＤＤ０をマルチポートメモリＭＰＭＥＭ２へ出力する。このバンクアクティブ命令ＢＡ２によって、メモリバンクＢＡＮＫ２内のロウアドレス０に接続されている８１９２ビット分のメモリセルが活性化されセンスアンプへ転送される。
【０２２９】
次に、信号ＤＡＤＣ１を通じて読み出し命令ＲＤ２、バンクアドレスＢＡＤＤ２およびカラムアドレスＣＡＤＤ０をマルチポートメモリＭＰＭＥＭ２へ出力する。この読み出し命令ＲＤ２によってメモリバンクＢＡＮＫ２内のセンスアンプに保持されているデータのなかで、カラムアドレス０を開始アドレスとした１６バイト分のデータが読み出され、データバッファＤＢＦ１へ転送され、入出力信号Ｉ／Ｏ１を介して情報処理装置ＣＨＩＰ１へ転送される。
【０２３０】
初期設定回路ＤＩＮＩＴは、マルチポートメモリＭＰＭＥＭ２へ電源が投入されると、マルチポートメモリＭＰＭＥＭ２内の全回路を初期設定する。
【０２３１】
モードレジスタＤＭＤ−ＲＧ、タイミングレジスタＤＴＭ−ＲＧ、ステータス通達信号レジスタＤＳＩＧ−ＲＧ、シェアドバンクレジスタＤＳＢ−ＲＧ、マスターレジスタＤＭＳ−ＲＧ、ステータスレジスタＤＳＴ−ＲＧ内の設定値は、初期設定回路ＤＩＮＩＴにて初期設定され、その後情報処理装置ＣＨＩＰ０および情報処理装置ＣＨＩＰ１によって変更される。
【０２３２】
メモリマネージメント回路ＤＭＭＵでは、モードレジスタＤＭＤ−ＲＧ、タイミングレジスタＤＴＭ−ＲＧ、ステータス通達信号レジスタＤＳＩＧ−ＲＧ、シェアドバンクレジスタＤＳＢ−ＲＧ、マスターレジスタＤＭＳ−ＲＧ、ステータスレジスタＤＳＴ−ＲＧ、メモリアレイＤＭＡ０のアドレス空間を設定するレジスタであり、初期設定回路ＤＩＮＩＴにて初期設定され、その後情報処理装置ＣＨＩＰ０あるいは情報処理装置ＣＨＩＰ１によって変更される。
【０２３３】
タイミングレジスタＤＴＭ−ＲＧは、マルチポートメモリＭＰＭＥＭ２内の読み出しおよび書き込みリクエストの処理が終わるまでの時間などを設定するレジスタであり、初期設定回路ＤＩＮＩＴにて初期設定され、その後情報処理装置ＣＨＩＰ０あるいは情報処理装置ＣＨＩＰ１によって変更される。
【０２３４】
ステータス通達信号レジスタＤＳＩＧ−ＲＧは、ステータス通達信号ＳＩＧ０およびＳＩＧ１を送信するタイミングを設計するレジスタであり、初期設定回路ＤＩＮＩＴにて初期設定され、その後情報処理装置ＣＨＩＰ０あるいは情報処理装置ＣＨＩＰ１によって変更される。
【０２３５】
シェアドバンクレジスタＤＳＢ−ＲＧは、メモリアレイＤＭＡ０内のメモリバンクＢＡＮＫ０〜ＢＡＮＫ７を、ＣＨＩＰ０およびＣＨＩＰ１の共有メモリバンクと、ＣＨＩＰ０の占有メモリバンクと、ＣＨＩＰ１の占有メモリバンクとに設定するためのレジスタであり、初期設定回路ＤＩＮＩＴにて初期設定され、その後情報処理装置ＣＨＩＰ０あるいは情報処理装置ＣＨＩＰ１によって変更される。
【０２３６】
ステータスレジスタＤＳＴ−ＲＧは、ＣＨＩＰ０からポート０を介してマルチポートメモリＭＰＭＥＭ２へ入力したリクエストの状態を保持するレジスタであり、初期設定回路ＤＩＮＩＴにて初期設定され、その後情報処理装置ＣＨＩＰ０あるいは情報処理装置ＣＨＩＰ１によって変更される。
【０２３７】
モードレジスタＤＭＤ−ＲＧは、読み出しおよび書き込みレイテンシやバースト長を決定するレジスタであり、初期設定回路ＤＩＮＩＴにて初期設定され、その後情報処理装置ＣＨＩＰ０および情報処理装置ＣＨＩＰ１によって変更される。
【０２３８】
マスターレジスタＤＭＳ−ＲＧは、ポートＤＰＴ０およびポートＤＰＴ１の中で、リフレッシュのリクエストを受け付けるポートおよび他の全レジスタの値を変更する命令を受け付けるポートを決定し、また、ポートＤＰＴ０およびポートＤＰＴ１からのリクエストが同時に共有領域へ発した際に、どちらのポートからのリクエストを優先させるかを決定するレジスタである。
【０２３９】
マスターレジスタＤＭＳ−ＲＧは、初期設定回路ＤＩＮＩＴにて初期設定され、その後情報処理装置ＣＨＩＰ０あるいは情報処理装置ＣＨＩＰ１によって変更される。
【０２４０】
調停回路ＡＲＢＩＴＯＲは、ＣＨＩＰ０からポートＤＰＴ０を介してマルチポートメモリＭＰＭＥＭ２へ入力したリクエストと、ＣＨＩＰ１からポートＤＰＴ１を介してマルチポートメモリＭＰＭＥＭ２へ入力したリクエストの調停を行う回路である。
【０２４１】
情報処理装置ＣＨＩＰ０が、ポートＤＰＴ０を介してマルチポートメモリＭＰＭＥＭ２の各レジスタへ保持されている設定値を読み出す場合は、情報処理装置ＣＨＩＰ０が、信号ＤＡＤＣ０を通じて読み出し命令ＲＥＡＤおよび各レジスタのアドレス値ＡＤＤをマルチポートメモリＭＰＭＥＭ２へ出力する。
【０２４２】
また、情報処理装置ＣＨＩＰ０が、ポートＤＰＴ０を介してマルチポートメモリＭＰＭＥＭ２の各レジスタへ保持されている設定値を変更する場合は、情報処理装置ＣＨＩＰ０が、信号ＤＡＤＣ０を通じて書き込み命令ＷＲＩＴＥおよび各レジスタのアドレス値ＡＤＤを、信号Ｉ／Ｏ０を通じて新しい設定データをマルチポートメモリＭＰＭＥＭ２へ出力する。
【０２４３】
情報処理装置ＣＨＩＰ１が、ポートＤＰＴ１を介してマルチポートメモリＭＰＭＥＭ２の各レジスタへ保持されている設定値を読み出す場合は、情報処理装置ＣＨＩＰ１が、信号ＤＡＤＣ１を通じて読み出し命令ＲＥＡＤおよび各レジスタのアドレス値ＡＤＤをマルチポートメモリＭＰＭＥＭ２へ出力する。
【０２４４】
また、情報処理装置ＣＨＩＰ１が、ポートＤＰＴ１を介してマルチポートメモリＭＰＭＥＭ２の各レジスタへ保持されている設定値を変更する場合は、情報処理装置ＣＨＩＰ１が、信号ＤＡＤＣ１を通じて書き込み命令ＷＲＩＴＥおよび各レジスタのアドレス値ＡＤＤを、信号Ｉ／Ｏ１を通じて新しい設定データをマルチポートメモリＭＰＭＥＭ２へ出力する。
【０２４５】
＜メモリマップの説明＞
図１５は、シェアドバンクレジスタＤＳＢ−ＲＧおよびメモリマネージメント回路ＤＭＭＵによって設定されるマルチポートメモリＭＰＭＥＭ２のメモリマップの一例を示したものである。
【０２４６】
特に限定しないが、マルチポートメモリＭＰＭＥＭ２はダイナミックランダムアクセスメモリセルを利用したダイナミックランダムアクセスメモリであり、読み出し時間が１５ｎｓ程度である。
【０２４７】
特に限定しないが、マルチポートメモリＭＰＭＥＭ２は、レジスタ領域ＤＲＥＧ−ＡＲＥＡ、情報処理装置ＣＨＩＰ０の占有メモリバンクＣＨＩＰ０−ＢＡＮＫ、情報処理装置ＣＨＩＰ１の占有メモリバンクＣＨＩＰ１−ＢＡＮＫ、情報処理装置ＣＨＩＰ０と情報処理装置ＣＨＩＰ１の共有メモリバンクＳＨＡＲＥ−ＢＡＮＫに分かれている。
【０２４８】
レジスタ領域ＤＲＥＧ−ＡＲＥＡは、モードレジスタＤＭＤ−ＲＧ、ステータスレジスタＤＳＴ−ＲＧ、マスターレジスタＤＭＳ−ＲＧ、シェアドバンクレジスタＤＳＢ−ＲＧ、ステータス通達信号レジスタＤＳＩＧ−ＲＧ、タイミングレジスタＤＴＭ−ＲＧに分かれている。
【０２４９】
占有メモリバンクＣＨＩＰ０−ＢＡＮＫはメモリバンクＢＡＮＫ０からＢＡＮＫ１に割り当てられており、占有メモリバンクＣＨＩＰ１−ＢＡＮＫはメモリバンクＢＡＮＫ２からＢＡＮＫ３に割り当てられており、共有メモリバンクＳＨＡＲＥ−ＢＡＮＫはメモリバンクＢＡＮＫ４からＢＡＮＫ７に割り当てられている。
【０２５０】
以上説明したようにシェアドバンクレジスタＤＳＢ−ＲＧおよびメモリマネージメント回路ＤＭＭＵによって、システムにあわせてメモリアレイＤＭＡ０内のメモリバンクＢＡＮＫ０〜ＢＡＮＫ７を占有メモリバンクと共有メモリバンクとに柔軟に設定できる。
【０２５１】
＜電源投入時の初期シーケンス＞
図１６は、情報処理装置ＣＨＩＰ０と情報処理装置ＣＨＩＰ１およびマルチポートメモリＭＰＭＥＭ２から構成される情報処理システムの電源投入時の初期シーケンスの一例を示す。
【０２５２】
Ｔ１の期間（ＰｗＯＮ）でマルチポートメモリＭＰＭＥＭ２へ電源投入を行い、Ｔ２の期間（Ｒｅｓｅｔ）でリセットを行う。リセットの方法は特に限定しないが、それぞれの内蔵回路で自動的にリセットを行う方法でも、あるいは、外部にリセット端子を持ち、このリセット信号によってリセット動作を行うこととしても良い。
【０２５３】
このＴ２の期間（Ｒｅｓｅｔ）では、初期設定回路ＤＩＮＩＴは、モードレジスタＤＭＤ−ＲＧ、メモリマネージメント回路ＤＭＭＵ、タイミングレジスタＤＴＭ−ＲＧ、ステータス通達信号レジスタＤＳＩＧ−ＲＧ、シェアドバンクレジスタＤＳＢ−ＲＧ、マスターレジスタＤＭＳ−ＲＧおよびステータスレジスタＤＳＴ−ＲＧを初期化する。
【０２５４】
この初期化によってメモリマネージメント回路ＤＭＭＵにはマルチポートメモリＭＰＭＥＭ２の初期アドレス空間が設定され、タイミングレジスタＤＴＭ−ＲＧ、ステータス通達信号レジスタＤＳＩＧ−ＲＧ、シェアドバンクレジスタＤＳＢ−ＲＧ、マスターレジスタＤＭＳ−ＲＧおよびステータスレジスタＤＳＴ−ＲＧには初期設定値が設定される。
【０２５５】
Ｔ２の期間でのリセットが解除されたＴ３の期間（ＰｒｅＡｌｌ）では、特に限定しないが情報処理装置ＣＨＩＰ０から、プリチャージオール命令ＰＲＥ＿ＡＬＬ０が入力し、メモリバンクＢＡＮＫ０−ＢＡＮＫ７の全バンクに対しプリチャージを行う。
【０２５６】
Ｔ３の期間が終了した後のＴ４の期間（ＲｅｇＳｅｔ）では、各レジスタへデータ書き込みを行い、レジスタ内の値を所望の値に設定する。
【０２５７】
Ｔ４の期間が終了した後のＴ５の期間（Ｒｅｆｒｅｓｈ）では、特に限定しないが情報処理装置ＣＨＩＰ０から、オートリフレッシュ命令ＲＥＦ０が複数回入力し、メモリバンクＢＡＮＫ０−ＢＡＮＫ７の全バンクに対し複数回のリフレッシュを行う。
【０２５８】
Ｔ５の期間が終了した後のＴ６の期間（Ｉｄｌｅ）以降は、マルチポートメモリＭＰＭＥＭ２はアイドル状態となり、情報処理装置ＣＨＩＰ０および情報処理装置ＣＨＩＰ１からのリクエストを待つ状態となる。
【０２５９】
＜ステータス情報出力の説明＞
情報処理装置ＣＨＩＰ０からマルチポートメモリＭＰＭＥＭ２へリクエストが生じた場合の、マルチポートメモリＭＰＭＥＭ２のステータス通達信号ＳＩＧ１の出力と入出力信号Ｉ／Ｏ１からのステータス情報出力に関する動作の一例は、図４（ａ）と同様の動作を行うとしても良い。
【０２６０】
また、情報処理装置ＣＨＩＰ１からマルチポートメモリＭＰＭＥＭ２へリクエストが生じた場合の、マルチポートメモリＭＰＭＥＭ２の信号ＳＩＧ０の出力と入出力信号Ｉ／Ｏ０からのステータス情報出力に関する動作の一例は、図４（ｂ）と同様の動作を行うとしても良い。
【０２６１】
＜アクセス調停の説明＞
図１７は、情報処理装置ＣＨＩＰ０および情報処理装置ＣＨＩＰ１からマルチポートメモリＭＰＭＥＭ２へリクエストが生じた場合のマルチポートメモリＭＰＭＥＭ２の調停回路ＡＲＢＩＴＯＲが行うリクエスト調停動作の一例を示すフローチャートである。
【０２６２】
情報処理装置ＣＨＩＰ０からマルチポートメモリＭＰＭＥＭ２へリクエストＰ０Ｒｅｑが入力した場合（Ｓｔｅｐ１）、調停回路ＡＲＢＩＴＯＲは、マルチポートメモリＭＰＭＥＭ２内部でリフレッシュリクエスト動作が行われていないかをチェックする（Ｓｔｅｐ２）。リフレッシュ動作が行われていれば、このリフレッシュ動作の完了を待ち（Ｓｔｅｐ１２）、情報処理装置ＣＨＩＰ１からのリクエストＰ１Ｒｅｑがあるかどうかをチェックする（Ｓｔｅｐ３）。
【０２６３】
リフレッシュ動作が行われていなければ、直ちに、情報処理装置ＣＨＩＰ１からのリクエストＰ１Ｒｅｑがあるかどうかをチェックする（Ｓｔｅｐ３）。リクエストＰ１ＲｅｑがなければリクエストＰ０Ｒｅｑを実行する（Ｓｔｅｐ４）。リクエストＰ１Ｒｅｑがあれば、リクエストＰ０ＲｅｑとリクエストＰ１Ｒｅｑが同一記憶エリアへのリクエストかをチェックする（Ｓｔｅｐ５）。同一記憶エリアでなければリクエストＰ０ＲｅｑとリクエストＰ１Ｒｅｑは同時に実行される（Ｓｔｅｐ１１）。同一記憶エリアであれば、リクエストＰ０ＲｅｑとリクエストＰ１Ｒｅｑの優先順位をチェックする（Ｓｔｅｐ６）。リクエストＰ０Ｒｅｑの優先順位が高ければ、リクエストＰ０Ｒｅｑを実行し（Ｓｔｅｐ７）、その後リクエストＰ１Ｒｅｑを実行する（Ｓｔｅｐ８）。リクエストＰ１Ｒｅｑの優先順位が高ければ、リクエストＰ１Ｒｅｑを実行し（Ｓｔｅｐ９）、その後リクエストＰ０Ｒｅｑを実行する（Ｓｔｅｐ１０）。
【０２６４】
＜レジスタの説明＞
＜モードレジスタＤＭＤ−ＲＧの説明＞
図１８はマルチポートメモリＭＰＭＥＭ２内のモードレジスタＤＭＤ−ＲＧの設定値の一例を示す。
【０２６５】
モードレジスタＤＭＤ−ＲＧは、特に限定しないがＤＭＤ−ＲＧ［７：０］から構成されている。
【０２６６】
ＤＭＤ−ＲＧ［１：０］では、マルチポートメモリＭＰＭＥＭ２からのデータの読み出し時、あるいは、マルチポートメモリＭＰＭＥＭ２へのデータの書き込み時のバースト長を設定する。特に限定しないがＤＭＤ−ＲＧ［１：０］の値が１０進数で０の場合にバースト長は２へ、１の場合にバースト長は４へ、２の場合にバースト長は８へ、３の場合にバースト長は１６へ設定される。
【０２６７】
ＤＭＤ−ＲＧ［４：２］では、マルチポートメモリＭＰＭＥＭ２からのデータの読み出し時のレイテンシを設定する。特に限定しないがＤＭＤ−ＲＧ［４：２］の値が１０進数で０の場合にレイテンシは１へ、１の場合にレイテンシは２へ、２の場合にレイテンシは３へ、３の場合にレイテンシは４へ、４の場合にレイテンシは５へ、５の場合にレイテンシは６へ、６の場合にレイテンシは７へ、７の場合にレイテンシは８へ設定される。
【０２６８】
ＤＭＤ−ＲＧ［７：５］では、マルチポートメモリＭＰＭＥＭ２へのデータの書き込み時のレイテンシを設定する。特に限定しないがＤＭＤ−ＲＧ［７：５］の値が１０進数で０の場合にレイテンシは１へ、１の場合にレイテンシは２へ、２の場合にレイテンシは３へ、３の場合にレイテンシは４へ、４の場合にレイテンシは５へ、５の場合にレイテンシは６へ、６の場合にレイテンシは７へ、７の場合にレイテンシは８へ設定される。
【０２６９】
＜タイミングレジスタＤＴＭ−ＲＧの説明＞
図１９はマルチポートメモリＭＰＭＥＭ２内のタイミングレジスタＤＴＭ−ＲＧの設定値の一例を示す。
【０２７０】
タイミングレジスタＤＴＭ−ＲＧは、特に限定しないがＤＴＭ−ＲＧ０［１５：０］、ＤＴＭ−ＲＧ１［１５：０］およびＤＴＭ−ＲＧ２［１５：０］から構成されている。
【０２７１】
ＤＴＭ−ＲＧ０［７：０］は、バンクアクティブ命令ＢＡ後の読み出し命令あるいは書き込み命令を入力するまでの最小クロックサイクル数を示し、特に限定しないが６サイクルに設定されている。
【０２７２】
ＤＴＭ−ＲＧ０［１５：８］は、プリチャージ命令ＰＲＥあるいはプリチャージオール命令ＰＲＥＡＬＬ後にバンクバンクアクティブ命令ＢＡを入力するまでの最小クロックサイクル数を示し、特に限定しないが６サイクルに設定されている。
【０２７３】
ＤＴＭ−ＲＧ１［７：０］は、読み出し命令ＲＥＡＤ後のデータ読み出しの最小クロックサイクル数を示す。特に限定しないが、このサイクル数は、モードレジスタＤＴＭ−ＲＧで設定されているレイテンシ値ＬＡＴが４以下であれば４＋（バースト長／２）となり、４より大きい場合はＬＡＴ＋（バースト長／２）となる。
【０２７４】
ＤＴＭ−ＲＧ１［１５：８］は、書き込み命令ＷＲＩＴＥ後のデータ書き込みの最小クロックサイクル数を示す。特に限定しないが、このサイクル数は、モードレジスタＤＴＭ−ＲＧで設定されているレイテンシ値ＬＡＴが４以下であれば４＋（バースト長／２）となり、４より大きい場合はＬＡＴ＋（バースト長／２）となる。
【０２７５】
ＤＴＭ−ＲＧ２［７：０］は、オートリフレッシュ命令ＡＵＴＯＲＥＦ後の最小リフレッシュ期間を示し、特に限定しないが１２サイクルに設定されている。オートリフレッシュ命令ＡＵＴＯＲＥＦによって、マルチポートメモリＭＰＭＥＭ２内の全メモリバンクをリフレッシュできる。
【０２７６】
ＤＴＭ−ＲＧ２［１５：８］は、バンクリフレッシュ命令ＢＡＮＫＲＥＦ後の最小リフレッシュ期間を示し、特に限定しないが１０サイクルに設定されている。バンクリフレッシュ命令ＢＡＮＫＲＥＦとバンクアドレスによって、マルチポートメモリＭＰＭＥＭ２内の所望のメモリバンクをリフレッシュできる。
【０２７７】
＜ステータス通達信号レジスタＤＳＩＧ−ＲＧの説明＞
図２０はマルチポートメモリＭＰＭＥＭ２内のステータス通達信号レジスタＤＳＩＧ−ＲＧの設定値の一例を示す。
【０２７８】
ステータス通達信号レジスタＤＳＩＧ−ＲＧは、特に限定しないがＤＳＩＧ−ＲＧ［１５：０］の１６ビットで構成されている。
【０２７９】
ＤＳＩＧ−ＲＧ［０］は共有メモリバンクへのバンクアクティブ命令ＢＡに関するビットであり、１に設定されている。
【０２８０】
ＤＳＩＧ−ＲＧ［０］を１へ設定することによって、情報処理装置ＣＨＩＰ０からのバンクアクティブ命令ＢＡが共有メモリバンクへ発生した際に、ステータス通達信号ＳＩＧ１がＨｉｇｈになり、情報処理装置ＣＨＩＰ１からのバンクアクティブ命令ＢＡが共有メモリバンクへ発生した際に、ステータス信号ＳＩＧ０がＨｉｇｈになることを示す。
【０２８１】
ＤＳＩＧ−ＲＧ［１］は共有メモリバンクへのデータ読み出し命令ＲＥＡＤに関するビットであり、１に設定されている。
【０２８２】
ＤＳＩＧ−ＲＧ［１］を１へ設定することによって、情報処理装置ＣＨＩＰ０からのデータ読み出し命令ＲＥＡＤが共有メモリバンクへ発生した際に、ステータス通達信号ＳＩＧ１がＨｉｇｈになり、情報処理装置ＣＨＩＰ１からのデータ読み出し命令ＲＥＡＤが共有メモリバンクへ発生した際に、ステータス通達信号ＳＩＧ０がＨｉｇｈになることを示す。
【０２８３】
ＤＳＩＧ−ＲＧ［２］は共有メモリバンクへのデータ書き込み命令ＷＲＩＴＥに関するビットであり、１へ設定されている。
【０２８４】
ＤＳＩＧ−ＲＧ［２］を１へ設定することによって、情報処理装置ＣＨＩＰ０からのデータ書き込み命令ＷＲＩＴＥが共有メモリバンクへ発生した際に、ステータス通達信号ＳＩＧ１がＨｉｇｈになり、情報処理装置ＣＨＩＰ１からのデータ書き込み命令ＷＲＩＴＥが共有メモリバンクへ発生した際に、ステータス通達信号ＳＩＧ０がＨｉｇｈになることを示す。
【０２８５】
ＤＳＩＧ−ＲＧ［３］は共有メモリバンクへのプリチャージ命令ＰＲＥに関するビットであり、１へ設定されている。
【０２８６】
ＤＳＩＧ−ＲＧ［３］を１へ設定することによって、情報処理装置ＣＨＩＰ０からのプリチャージ命令ＰＲＥが共有メモリバンクへ発生した際に、ステータス通達信号ＳＩＧ１がＨｉｇｈになり、情報処理装置ＣＨＩＰ１からのプリチャージ命令ＰＲＥが共有メモリバンクへ発生した際に、ステータス通達信号ＳＩＧ０がＨｉｇｈになることを示す。
【０２８７】
ＤＳＩＧ−ＲＧ［４］は共有メモリバンクへのプリチャージオール命令ＰＲＥＡＬＬに関するビットであり、１へ設定されている。
【０２８８】
ＤＳＩＧ−ＲＧ［４］を１へ設定することによって、情報処理装置ＣＨＩＰ０からのプリチャージオール命令ＰＲＥＡＬＬが共有メモリバンクへ発生した際に、ステータス通達信号ＳＩＧ１がＨｉｇｈになり、情報処理装置ＣＨＩＰ１からのプリチャージオール命令ＰＲＥが共有メモリバンクへ発生した際に、ステータス通達信号ＳＩＧ０がＨｉｇｈになることを示す。
【０２８９】
ＤＳＩＧ−ＲＧ［５］は共有メモリバンクへのバンクリフレッシュ命令ＢＡＮＫＲＥＦに関するビットであり、１へ設定されている。
【０２９０】
ＤＳＩＧ−ＲＧ［５］を１へ設定することによって、情報処理装置ＣＨＩＰ０からのバンクリフレッシュ命令ＢＡＮＫＲＥＦが共有メモリバンクへ発生した際に、ステータス通達信号ＳＩＧ１がＨｉｇｈになり、情報処理装置ＣＨＩＰ１からのバンクリフレッシュ命令ＢＡＮＫＲＥＦが共有メモリバンクへ発生した際に、ステータス通達信号ＳＩＧ０がＨｉｇｈになることを示す。
【０２９１】
ＤＳＩＧ−ＲＧ［６］は共有メモリバンクへのオートリフレッシュ命令ＡＵＴＯＲＥＦに関するビットであり、１へ設定されている。
【０２９２】
ＤＳＩＧ−ＲＧ［６］を１へ設定することによって、情報処理装置ＣＨＩＰ０からのオートリフレッシュ命令ＡＵＴＯＲＥＦが共有メモリバンクへ発生した際に、ステータス通達信号ＳＩＧ１がＨｉｇｈになり、情報処理装置ＣＨＩＰ１からのオートリフレッシュ命令ＡＵＴＯＲＥＦが共有メモリバンクへ発生した際に、ステータス通達信号ＳＩＧ０がＨｉｇｈになることを示す。
【０２９３】
＜シェアドバンクレジスタＤＳＢ−ＲＧの説明＞
図２１はマルチポートメモリＭＰＭＥＭ２内のシェアドバンクレジスタＤＳＢ−ＲＧの設定値の一例を示す。
【０２９４】
シェアドバンクレジスタＤＳＡ−ＲＧは、特に限定しないがＤＳＢ−ＲＧ［３１：０］の３２ビットで構成されている。
【０２９５】
ＤＳＢ−ＲＧ［７：０］は共有メモリバンクを設定するためのビットであり、ＤＳＢ−ＲＧ［１５：８］は、情報処理装置ＣＨＩＰ０の占有メモリバンクを設定するためのビットであり、ＤＳＢ−ＲＧ［２３：１６］は、情報処理装置ＣＨＩＰ１の占有メモリバンクを設定するためのビットである。
【０２９６】
ＤＳＢ−ＲＧ［７：０］の各ビットはメモリバンクＢＡＮＫ７から０へ対応しており、例えばＤＳＢ−ＲＧ［７］の値が１へ設定された場合は、メモリバンク７（ＢＡＮＫ７）が共有メモリバンクとなる。
【０２９７】
特に限定しないがＤＳＢ−ＲＧ［７：４］の値が１へ設定されているので、メモリバンク７（ＢＡＮＫ７）からメモリバンク４（ＢＡＮＫ４）が情報処理装置ＣＨＩＰ０と情報処理装置ＣＨＩＰ１の共有メモリバンクとなる。
【０２９８】
ＤＳＢ−ＲＧ［１５：８］の各ビットはメモリバンクＢＡＮＫ７から０へ対応しており、例えばＤＳＢ−ＲＧ［８］の値が１へ設定された場合は、メモリバンク０（ＢＡＮＫ０）が情報処理装置ＣＨＩＰ０の占有メモリバンクとなる。
【０２９９】
特に限定しないがＤＳＢ−ＲＧ［９：８］の値が１へ設定されているので、メモリバンク０（ＢＡＮＫ０）からメモリバンク１（ＢＡＮＫ１）が情報処理装置ＣＨＩＰ０の占有メモリバンクとなる。
【０３００】
ＤＳＢ−ＲＧ［２３：１６］の各ビットはメモリバンクＢＡＮＫ７から０へ対応しており、例えばＤＳＢ−ＲＧ［１８］の値が１へ設定された場合は、メモリバンク２（ＢＡＮＫ２）が情報処理装置ＣＨＩＰ１の占有メモリバンクとなる。
【０３０１】
特に限定しないがＤＳＢ−ＲＧ［１９：１８］の値が１へ設定されているので、メモリバンク２（ＢＡＮＫ２）からメモリバンク３（ＢＡＮＫ３）が情報処理装置ＣＨＩＰ１の占有メモリバンクとなる。
【０３０２】
＜マスターレジスタＤＭＳ−ＲＧの説明＞
図２２はマルチポートメモリＭＰＭＥＭ２内のマスターレジスタＤＭＳ−ＲＧの設定値の一例を示す。
【０３０３】
マスターレジスタＤＭＳ−ＲＧは、特に限定しないがＤＭＳ−ＲＧ［７：０］の８ビットで構成されている。
【０３０４】
ＤＭＳ−ＲＧ［３：０］は、特に限定しないが、各ポートから共有メモリバンクへ同時にリクエストが発生した場合に、どのポートからのリクエストを最優先に処理するかを設定するためのビット領域である。また、ＤＭＳ−ＲＧ［７：４］は、特に限定しないが、マルチポートメモリＭＰＭＥＭ２のメモリバンクをリフレッシュするためのリフレッシュ命令を、どのポートから受け付けるかを設定するためのビット領域である。
【０３０５】
ＤＭＳ−ＲＧ［１：０］の各ビットは、マルチポートメモリＭＰＭＥＭＥ２の各ポートに対応している。例えば、ＤＭＳ−ＲＧ［０］はポート０（ＤＰＴ０）に、ＤＭＳ−ＲＧ［１］はポート１（ＤＰＴ１）に対応している。
【０３０６】
図２２の一例に示すように、ＤＭＳ−ＲＧ［１］およびＤＭＳ−ＲＧ［０］がそれぞれ０へ設定されている場合は、ポート０（ＤＰＴ０）とポート１（ＤＰＴ１）の優先順位はラウンドロビン方式で変化する。
【０３０７】
ＤＭＳ−ＲＧ［１］が０へ、ＤＭＳ−ＲＧ［０］が１へ設定されている場合は、ポート０（ＤＰＴ０）が優先ポートとなる。
【０３０８】
ＤＭＳ−ＲＧ［１］が１へ、ＤＭＳ−ＲＧ［０］が０へ設定されている場合は、ポート１（ＤＰＴ１）が優先ポートとなる。
【０３０９】
ＤＭＳ−ＲＧ［１］およびＤＭＳ−ＲＧ［０］がそれぞれ１へ設定されている場合は、ポート０（ＤＰＴ０）とポート１（ＤＰＴ１）の優先順位はラウンドロビン方式で変化する。
【０３１０】
マスターレジスタＤＭＳ−ＲＧ［１：０］への設定値については他の設定値もあるが図２２では省略する。
【０３１１】
ＤＭＳ−ＲＧ［５：４］の各ビットは、マルチポートメモリＭＰＭＥＭＥ２の各ポートに対応している。例えば、ＤＭＳ−ＲＧ［４］はポート０（ＤＰＴ０）に、ＤＭＳ−ＲＧ［５］はポート１（ＤＰＴ１）に対応している。
【０３１２】
図２２の一例に示すように、ＤＭＳ−ＲＧ［５］が０へ、ＤＭＳ−ＲＧ［４］が１へ設定された場合は、マルチポートメモリＭＰＭＥＭ２はポート０（ＤＰＴ０）からのリフレッシュ命令を受け付け、リフレッシュ動作を行う。
【０３１３】
ＤＭＳ−ＲＧ［５］が１へ、ＤＭＳ−ＲＧ［４］が０へ設定された場合は、マルチポートメモリＭＰＭＥＭ２はポート１（ＤＰＴ１）からのリフレッシュ命令を受け付け、リフレッシュ動作を行う。
【０３１４】
マスターレジスタＤＭＳ−ＲＧ［５：４］への設定値については他の設定値もあるが図２２では省略する。
【０３１５】
＜ステータスレジスタＤＳＴ−ＲＧの説明＞
図２３はマルチポートメモリＭＰＭＥＭ２内のステータスレジスタＤＳＴ−ＲＧの設定値の一例を示す。
【０３１６】
ステータスレジスタＤＳＴ−ＲＧは、特に限定しないがＤＳＴ−ＲＧ［３１：０］の３２ビットで構成されており、ＤＳＴ−ＲＧ［１５：０］はポート０（ＤＰＴ０）からのリクエストに関するステータス情報（命令、実行メモリバンク、終了時間など）を格納し、ＤＳＴ−ＲＧ［３１：１６］はポート１（ＤＰＴ１）からのリクエストに関するステータス情報（命令、実行メモリバンク、終了時間など）を格納する。
【０３１７】
ＤＳＴ−ＲＧ［３：０］はポート０（ＤＰＴ０）からの現在、実行中の命令を保持する。ＤＳＴ−ＲＧ［３：０］が０の場合は実行中の命令は無い（Ｐ０＿Ｎｏｐ）ことを示し、１の場合は読み出し命令（Ｐ０＿Ｒｅａｄ）を実行中であることを示し、２の場合は書き込み命令（Ｐ０＿Ｗｒｉｔｅ）を実行中であることを示し、３の場合はバンクアクティブ命令（Ｐ０＿ＢＡ）を実行中であることを示し、４の場合はプリチャージ命令（Ｐ０＿Ｐｒｅ）を実行中であることを示し、５の場合はプリチャージオール命令（Ｐ０＿ＰｒｅＡｌｌ）を実行中であることを示し、６の場合はバンクリフレッシュ命令（Ｐ０＿ＢｋＲｅｆ）を実行中であることを示し、７の場合はオートリフレッシュ命令（Ｐ０＿Ｒｅｆ）を実行中であることを示す。
【０３１８】
特に限定しないが、ＤＳＴ−ＲＧ［３：０］は、１６通りの命令を保持することが可能であり、必要に応じて保持する命令を追加することができる。
【０３１９】
ＤＳＴ−ＲＧ［７：４］はポート０（ＤＰＴ０）から、現在、アクセスしているメモリバンク値を保持する。ＤＳＴ−ＲＧ［７：４］が７の場合は現在、メモリバンクＢＡＮＫ７へアクセスが生じていることを示す。
【０３２０】
ＤＳＴ−ＲＧ［１５：８］はポート０（ＤＰＴ０）から、現在、実行中の命令に対する動作の終了時間を保持する。ＤＳＴ−ＲＧ［１５：８］が５の場合は、５クロックサイクル後にその命令に対する動作が終了することを示す。
【０３２１】
ＤＳＴ−ＲＧ［１９：１６］はポート１（ＤＰＴ１）からの現在、実行中の命令を保持する。ＤＳＴ−ＲＧ［１９：１６］が０の場合は実行中の命令は無い（Ｐ１＿Ｎｏｐ）ことを示し、１の場合は読み出し命令（Ｐ１＿Ｒｅａｄ）を実行中であることを示し、２の場合は書き込み命令（Ｐ１＿Ｗｒｉｔｅ）を実行中であることを示し、３の場合はバンクアクティブ命令（Ｐ１＿ＢＡ）を実行中であることを示し、４の場合はプリチャージ命令（Ｐ１＿Ｐｒｅ）を実行中であることを示し、５の場合はプリチャージオール命令（Ｐ１＿ＰｒｅＡｌｌ）を実行中であることを示し、６の場合はバンクリフレッシュ命令（Ｐ１＿ＢｋＲｅｆ）を実行中であることを示し、７の場合はオートリフレッシュ命令（Ｐ１＿Ｒｅｆ）を実行中であることを示す。
【０３２２】
特に限定しないが、ＤＳＴ−ＲＧ［１９：１６］は、１６通りの命令を保持することが可能であり、必要に応じて保持する命令を追加することができる。
【０３２３】
ＤＳＴ−ＲＧ［２３：２０］はポート１（ＤＰＴ１）から、現在、アクセスしているメモリバンク値を保持する。ＤＳＴ−ＲＧ［２３：２０］が６の場合は現在、メモリバンクＢＡＮＫ６へアクセスが生じていることを示す。
【０３２４】
ＤＳＴ−ＲＧ［３１：２４］はポート１（ＤＰＴ１）から、現在、実行中の命令に対する動作の終了時間を保持する。ＤＳＴ−ＲＧ［３１：２４］が５の場合は、５クロックサイクル後に、その命令に対する動作が終了することを示す。
【０３２５】
また、ステータスレジスタＤＳＴ−ＲＧは、ポート数によってサイズを拡張できることは言うまでもない。
【０３２６】
＜Ｉ／Ｏからのステータス情報出力の説明＞
図２４では、マルチポートメモリＭＰＭＥＭ２の入出力信号Ｉ／Ｏ０およびＩ／Ｏ１から出力するステータス情報（命令、メモリバンク、終了時間など）の一例を示す。
【０３２７】
入出力信号Ｉ／Ｏ０はポート１（ＤＰＴ１）からのリクエストに対するテータス情報（命令、メモリバンク値、終了時間など）を出力する。
【０３２８】
入出力信号Ｉ／Ｏ０は、特に限定しないがＩ／Ｏ０［１５：０］の１６ビットで構成されており、Ｉ／Ｏ０［３：０］は実行中の命令を示し、Ｉ／Ｏ０［７：４］はアクセスしているメモリバンクを示し、Ｉ／Ｏ０［１５：８］は実行中の命令の終了時間を示す。
【０３２９】
Ｉ／Ｏ０［３：０］が０の場合はポート１（ＤＰＴ１）から、現在、実行中の命令は無い（Ｐ１＿Ｎｏｐ）ことを示し、１の場合は現在、読み出し命令（Ｐ１＿Ｒｅａｄ）を実行中であることを示し、２の場合は現在、書き込み命令（Ｐ１＿Ｗｒｉｔｅ）を実行中であることを示し、３の場合はバンクアクティブ命令（Ｐ１＿ＢＡ）を実行中であることを示し、４の場合はプリチャージ命令（Ｐ１＿Ｐｒｅ）を実行中であることを示し、５の場合はプリチャージオール命令（Ｐ１＿ＰｒｅＡｌｌ）を実行中であることを示し、６の場合はバンクリフレッシュ命令（Ｐ１＿ＢｋＲｅｆ）を実行中であることを示し、７の場合はオートリフレッシュ命令（Ｐ１＿Ｒｅｆ）を実行中であることを示す。
【０３３０】
Ｉ／Ｏ０［７：４］が７の場合はポート１（ＤＰＴ１）から、現在、メモリバンクＢＡＮＫ７へアクセスが生じていることを示す。
【０３３１】
Ｉ／Ｏ０［１５：８］が５の場合は、ポート１（ＤＰＴ１）からの、現在、実行中の命令が５サイクル後に終了することを示す。
【０３３２】
入出力信号Ｉ／Ｏ１はポート０（ＤＰＴ０）からのリクエストに対するテータス情報（命令、メモリバンク値、終了時間など）を出力する。
【０３３３】
入出力信号Ｉ／Ｏ１は、特に限定しないがＩ／Ｏ１［１５：０］の１６ビットで構成されており、Ｉ／Ｏ１［３：０］は実行中の命令を示し、Ｉ／Ｏ１［７：４］はアクセスしているメモリバンクを示し、Ｉ／Ｏ１［１５：８］は実行中の命令の終了時間を示す。
【０３３４】
Ｉ／Ｏ１［３：０］が０の場合はポート０（ＤＰＴ０）から、現在、実行中の命令は無い（Ｐ０＿Ｎｏｐ）ことを示し、１の場合は読み出し命令（Ｐ０＿Ｒｅａｄ）を実行中であることを示し、２の場合は書き込み命令（Ｐ０＿Ｗｒｉｔｅ）を実行中であることを示し、３の場合はバンクアクティブ命令（Ｐ０＿ＢＡ）を実行中であることを示し、４の場合はプリチャージ命令（Ｐ０＿Ｐｒｅ）を実行中であることを示し、５の場合はプリチャージオール命令（Ｐ０＿ＰｒｅＡｌｌ）を実行中であることを示し、６の場合はバンクリフレッシュ命令（Ｐ０＿ＢｋＲｅｆ）を実行中であることを示し、７の場合はオートリフレッシュ命令（Ｐ０＿Ｒｅｆ）を実行中であることを示す。
【０３３５】
Ｉ／Ｏ１［７：４］が６の場合はポート０（ＤＰＴ０）から、現在、メモリバンクＢＡＮＫ６へアクセスが生じていることを示す。
【０３３６】
Ｉ／Ｏ１［１５：８］が５の場合は、ポート０（ＤＰＴ０）からの、現在、実行中の命令が５サイクル後に終了することを示す。
【０３３７】
＜動作波形の説明＞
図２５では、情報処理装置ＣＨＩＰ０内の情報処理回路ＣＰＵ００からの読み出しリクエストがメモリ制御回路ＭＣＯＮ０にて、情報処理装置ＣＨＩＰ０の占有領域であるメモリバンクＢＡＮＫ０へのページヒットと判定され、情報処理装置ＣＨＩＰ１内の情報処理回路ＣＰＵ１０からの書き込みリクエストがメモリ制御回路ＭＣＯＮ１にて、情報処理装置ＣＨＩＰ１の占有領域であるメモリバンクＢＡＮＫ２へのページミスと判定された場合の、マルチポートメモリＭＰＭＥＭ２の動作波形の一例を示す。
【０３３８】
情報処理装置ＣＨＩＰ０から、クロックＣＬＫに同期して、信号ＤＡＤＣ０を通じて読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤ０がマルチポートメモリＭＰＭＥＭ２へ入力される。
【０３３９】
入力された読み出し命令ＲＥＡＤおよびアドレス値ＡＤＤ０によって、情報処理装置ＣＨＩＰ０の占有領域であるメモリバンクＢＡＮＫ０に保持されているデータを読み出す（Ｒｅａｄ  ｆｒｏｍ  Ｂａｎｋ０）。
【０３４０】
メモリバンクＢＡＮＫ０から読み出されたデータはバッファＤＢＦ０へ送信され、入出力信号Ｉ／Ｏ０から出力される。情報処理装置ＣＨＩＰ０から、情報処理装置ＣＨＩＰ０の占有領域へのリクエストが入力されるとステータス情報通達信号ＳＩＧ１はＨｉｇｈにはならずＬｏｗのままとなる。
【０３４１】
情報処理装置ＣＨＩＰ１から、マルチポートメモリＭＰＭＥＭ２へ、クロックＣＬＫに同期して、信号ＤＡＤＣ１を通じてプリチャージ命令ＰＲＥおよびバンクアドレスＢａｎｋ２が入力し、次にバンクアクティブ命令ＢＡ、バンクアドレス値Ｂａｎｋ２およびロウアドレスＲｏｗ２が入力され、最後に書き込み命令ＷＲＩＴＥ、バンクアドレスＢａｎｋ２およびカラムアドレスＣｏｌ０が入力され、入出力信号Ｉ／Ｏ１から書き込みデータＷＤＡＴＡ２が入力される。  
【０３４２】
入力された書き込み命令ＷＲＩＴＥ、バンクアドレスＢａｎｋ２およびカラムアドレスＣｏｌ０によって、書き込みデータＷＤＡＴＡ２はバッファＤＢＦ１を介してメモリバンクＢＡＮＫ２へ書き込まれる。
【０３４３】
情報処理装置ＣＨＩＰ１から、情報処理装置ＣＨＩＰ１の占有領域へのリクエストが入力されるとステータス情報通達信号ＳＩＧ０はＨｉｇｈにはならずＬｏｗのままとなる。
【０３４４】
このように、情報処理装置ＣＨＩＰ０およびＣＨＩＰ１のそれぞれが占有するメモリバンクへのリクエストでは、アクセス競合が発生しないため、それぞれの情報処理装置が他の情報処理装置のリクエストに邪魔されること無く、実行できる。このため、それぞれの情報処理装置からのリクエストを同時に実行でき、高速処理が可能となる。
【０３４５】
また、図２５では、ポート０（ＤＰＴ０）からの読み出しリクエストと、ポート１（ＤＰＴ１）からの書き込みリクエストに関する動作を説明したが、ポート０（ＤＰＴ０）への他のリクエストと、ポート１（ＤＰＴ１）への他のリクエストに関する動作も同様に行われることは言うまでもない。
【０３４６】
図２６では、情報処理装置ＣＨＩＰ０内の情報処理回路ＣＰＵ００からの書き込みリクエストがメモリ制御回路ＭＣＯＮ０にて、共有領域であるメモリバンクＢＡＮＫ６へのページヒットと判定され、情報処理装置ＣＨＩＰ１内の情報処理回路ＣＰＵ１０からの読み出しリクエストがメモリ制御回路ＭＣＯＮ１にて、情報処理装置ＣＨＩＰ１の共有領域であるメモリバンクＢＡＮＫ７へのページヒットと判定された場合の、マルチポートメモリＭＰＭＥＭ２の動作波形の一例を示す。
【０３４７】
情報処理装置ＣＨＩＰ０から、クロックＣＬＫに同期して、信号ＤＡＤＣ０を通じて書き込み命令ＷＲＩＴＥおよびバンクアドレスＢａｎｋ６およびカラムアドレスＣｏｌ０が、入出力信号Ｉ／Ｏ０から書き込みデータＷＤＡＴＡ６がマルチポートメモリＭＰＭＥＭ２へ入力される。
【０３４８】
入力された書き込み命令ＷＲＩＴＥ、バンクアドレスＢａｎｋ６およびカラムアドレスＣｏｌ０によって、書き込みデータＷＤＡＴＡ６はバッファＤＢＦ０を介してメモリバンクＢＡＮＫ６へ書き込まれる。
【０３４９】
情報処理装置ＣＨＩＰ０から、共有領域へのリクエストが入力されると信号ＳＩＧ１はＨｉｇｈとなり、情報処理装置ＣＨＩＰ０からリクエストが実行されていることを情報処理装置ＣＨＩＰ１へ通達する。次に、リクエストに関するステータス信号（ライト命令ＷＲＩＴＥ、メモリバンクＢＡＮＫ６、カラムアドレス０、終了時間５サイクル：５サイクル後に動作が終了することを示す）を入出力信号Ｉ／Ｏ１から出力する。このステータス信号によって情報処理装置ＣＨＩＰ１は、情報処理装置ＣＨＩＰ０からの具体的なリクエストの内容を知ることができる。入出力信号Ｉ／Ｏ１からのステータス信号の出力後、信号ＳＩＧ１はＬｏｗとなる。
【０３５０】
情報処理装置ＣＨＩＰ１は、この入出力信号Ｉ／Ｏ１からのステータス信号を自身のメモリ制御回路ＭＣＯＮ１へ保存し、情報処理装置ＣＨＩＰ０がマルチポートメモリＭＰＭＥＭ２にて実行している具体的なリクエストの内容を把握することができる。
【０３５１】
なお、情報処理装置ＣＨＩＰ０の具体的なリクエスト内容は、情報処理装置ＣＨＩＰ１の内部で保存されるため、情報処理装置ＣＨＩＰ１は、どのようなリクエストを出すべきかを判断する事が可能である。
【０３５２】
情報処理装置ＣＨＩＰ１から、クロックＣＬＫに同期して、信号ＤＡＤＣ１を通じて読み出し命令ＲＥＡＤおよびバンクアドレスＢａｎｋ７およびカラムアドレスＣｏｌ０がマルチポートメモリＭＰＭＥＭ２へ入力される。
【０３５３】
入力された読み出し命令ＲＥＡＤ、バンクアドレスＢａｎｋ７およびカラムアドレスＣｏｌ０によって、メモリバンクＢＡＮＫ７に保持されているデータを読み出す（Ｒｅａｄ  ｆｒｏｍ  Ｂａｎｋ７）。
【０３５４】
メモリバンクＢＡＮＫ７から読み出されたデータはバッファＤＢＦ１へ送信され、入出力信号Ｉ／Ｏ１から出力される。
【０３５５】
情報処理装置ＣＨＩＰ１から、共有領域へのリクエストが入力されると信号ＳＩＧ０はＨｉｇｈとなり、情報処理装置ＣＨＩＰ１からのリクエストが実行されていることを情報処理装置ＣＨＩＰ０へ通達する。次に、リクエストに関するステータス信号（読み出し命令ＲＥＡＤ、メモリバンクＢＡＮＫ７、カラムアドレス０、終了時間０サイクル：すでに動作が終了していることを示す）を入出力信号Ｉ／Ｏ０から出力する。このステータス信号によって情報処理装置ＣＨＩＰ０は、情報処理装置ＣＨＩＰ１からの具体的なリクエストの内容を知ることができる。入出力信号Ｉ／Ｏ０からのステータス信号の出力後、信号ＳＩＧ０はＬｏｗとなる。
【０３５６】
情報処理装置ＣＨＩＰ０は、この入出力信号Ｉ／Ｏ０からのステータス信号を自身のメモリ制御回路ＭＣＯＮ０へ保存し、情報処理装置ＣＨＩＰ１がマルチポートメモリＭＰＭＥＭ２にて実行している具体的なリクエストの内容を把握することができる。
【０３５７】
なお、情報処理装置ＣＨＩＰ１の具体的なリクエスト内容は、情報処理装置ＣＨＩＰ０の内部で保存されるため、情報処理装置ＣＨＩＰ０は、どのようなリクエストを出すべきかを判断する事が可能である。
【０３５８】
このように、情報処理装置ＣＨＩＰ０およびＣＨＩＰ１の共有記憶領域へのリクエストであっても、異なるメモリバンクであれば、アクセス競合は発生せず、それぞれの情報処理装置が他の情報処理装置のリクエストに邪魔されること無く、実行できる。このため、それぞれの情報処理装置からのリクエストを同時に実行でき、高速処理が可能となる。
【０３５９】
さらに、情報処理装置ＣＨＩＰ０から共有記憶領域へリクエストが発生すると、信号ＳＩＧ１はＨｉｇｈとなり、入出力信号Ｉ／Ｏ１からのステータス信号により、情報処理装置ＣＨＩＰ１は情報処理装置ＣＨＩＰ０からの具体的なリクエストの内容を知ることができる。このため、情報処理装置ＣＨＩＰ１は、最短時間で、最適なリクエストをマルチポートメモリＭＰＭＥＭ２へ発行できる。
【０３６０】
また、情報処理装置ＣＨＩＰ１から共有記憶領域へリクエストが発生すると、信号ＳＩＧ０はＨｉｇｈとなり、入出力信号Ｉ／Ｏ０からのステータス信号により、情報処理装置ＣＨＩＰ０は情報処理装置ＣＨＩＰ１からの具体的なリクエストの内容を知ることができる。このため、情報処理装置ＣＨＩＰ０は、最短時間で、最適なリクエストをマルチポートメモリＭＰＭＥＭ２へ発行できる。
【０３６１】
また、図２６ではポート０（ＤＰＴ０）からの書き込みリクエストと、ポート１（ＤＰＴ１）からの読み出しリクエストに関する動作を説明したが、ポート０（ＤＰＴ０）への他のリクエストと、ポート１（ＤＰＴ１）への他のリクエストに関する動作も同様に行われることは言うまでもない。
【０３６２】
図２７では、情報処理装置ＣＨＩＰ０からマルチポートメモリＭＰＭＥＭ２内の共有領域であるメモリバンクＢＡＮＫ６へのリフレッシュリクエストが発生し、情報処理装置ＣＨＩＰ１内の情報処理回路ＣＰＵ１０からの読み出しリクエストがメモリ制御回路ＭＣＯＮ１にて、情報処理装置ＣＨＩＰ１の共有領域であるメモリバンクＢＡＮＫ７へのページヒットと判定された場合の、マルチポートメモリＭＰＭＥＭ２の動作波形の一例を示す。
【０３６３】
まず、情報処理装置ＣＨＩＰ０からのリフレッシュリクエストを説明する。
【０３６４】
情報処理装置ＣＨＩＰ０から、マルチポートメモリＭＰＭＥＭ２へ、クロックＣＬＫに同期して、信号ＤＡＤＣ０を通じてプリチャージ命令ＰｒｅおよびバンクアドレスＢａｎｋ６が入力され、次に、バンクリフレッシュ命令ＢｋＲｅｆｒｅｓｈおよびバンクアドレスＢａｎｋ６が入力される。
【０３６５】
プリチャージ命令ＰｒｅおよびバンクアドレスＢａｎｋ６によって、メモリバンクＢＡＮＫ６のページが閉じる。
【０３６６】
また、このプリチャージ命令Ｐｒｅによってステータス通達信号ＳＩＧ１はＨｉｇｈとなり、情報処理装置ＣＨＩＰ０からのプリチャージ命令Ｐｒｅが実行されていることを情報処理装置ＣＨＩＰ１へ通達する。次に、リクエストに関するステータス信号（プリチャージ命令Ｐｒｅ、メモリバンクＢＡＮＫ６、終了時間３サイクル：３サイクル後に動作が終了することを示す）を入出力信号Ｉ／Ｏ１から出力する。このステータス信号によって情報処理装置ＣＨＩＰ１は、情報処理装置ＣＨＩＰ０からの具体的なリクエストの内容を知ることができる。入出力信号Ｉ／Ｏ１からのステータス信号の出力後、ステータス通達信号ＳＩＧ１はＬｏｗとなる。
【０３６７】
情報処理装置ＣＨＩＰ１は、この入出力信号Ｉ／Ｏ１からのステータス信号を自身のメモリ制御回路ＭＣＯＮ１へ保存し、情報処理装置ＣＨＩＰ０がマルチポートメモリＭＰＭＥＭ２にて実行している具体的なリクエストの内容を把握することができる。
【０３６８】
バンクリフレッシュ命令ＢｋＲｅｆｒｅｓｈおよびバンクアドレスＢａｎｋ６によってメモリバンクＢＡＮＫ６へリフレッシュ動作が行われる。
【０３６９】
また、このバンクリフレッシュ命令ＢｋＲｅｆによってステータス通達信号ＳＩＧ１はＨｉｇｈとなり、情報処理装置ＣＨＩＰ０からのリフレッシュ命令ＢｋＲｅｆが実行されていることを情報処理装置ＣＨＩＰ１へ通達する。次に、リクエストに関するステータス信号（リフレッシュ命令ＢｋＲｅｆ、メモリバンクＢＡＮＫ６、終了時間７サイクル：７サイクル後に動作が終了することを示す）を入出力信号Ｉ／Ｏ１から出力する。このステータス信号によって情報処理装置ＣＨＩＰ１は、情報処理装置ＣＨＩＰ０からの具体的なリクエストの内容を知ることができる。入出力信号Ｉ／Ｏ１からのステータス信号の出力後、ステータス通達信号ＳＩＧ１はＬｏｗとなる。
【０３７０】
情報処理装置ＣＨＩＰ１は、この入出力信号Ｉ／Ｏ１からのステータス信号を自身のメモリ制御回路ＭＣＯＮ１へ保存し、情報処理装置ＣＨＩＰ０がマルチポートメモリＭＰＭＥＭ２にて実行している具体的なリクエストの内容を把握することができる。
【０３７１】
なお、情報処理装置ＣＨＩＰ０の具体的なリクエスト内容は、情報処理装置ＣＨＩＰ１の内部で保存されるため、情報処理装置ＣＨＩＰ１は、どのようなリクエストを出すべきかを判断する事が可能である。
【０３７２】
次に、情報処理装置ＣＨＩＰ１からの読み出しリクエストについて説明する。
【０３７３】
情報処理装置ＣＨＩＰ１から、マルチポートメモリＭＰＭＥＭ２へクロックＣＬＫに同期して、信号ＤＡＤＣ１を通じて読み出し命令ＲＥＡＤおよびバンクアドレスＢａｎｋ７およびカラムアドレスＣｏｌ０が入力される。
【０３７４】
入力された読み出し命令ＲＥＡＤ、バンクアドレスＢａｎｋ７およびカラムアドレスＣｏｌ０によって、メモリバンクＢＡＮＫ７に保持されているデータを読み出す（Ｒｅａｄ  ｆｒｏｍ  Ｂａｎｋ７）。
【０３７５】
メモリバンクＢＡＮＫ７から読み出されたデータはバッファＤＢＦ１へ送信され、入出力信号Ｉ／Ｏ１から出力される。
【０３７６】
また、この読み出し命令Ｒｅａｄによって、ステータス通達信号ＳＩＧ０はＨｉｇｈとなり、情報処理装置ＣＨＩＰ１からの読み出し命令Ｒｅａｄが実行されていることを情報処理装置ＣＨＩＰ０へ通達する。次に、リクエストに関するステータス信号（読み出し命令ＲＥＡＤ、メモリバンクＢＡＮＫ７、カラムアドレス０、終了時間５サイクル：５サイクル後に動作が終了することを示す）を入出力信号Ｉ／Ｏ０から出力する。このステータス信号によって情報処理装置ＣＨＩＰ０は、情報処理装置ＣＨＩＰ１からの具体的なリクエストの内容を知ることができる。入出力信号Ｉ／Ｏ０からのステータス信号の出力後、信号ＳＩＧ０はＬｏｗとなる。
【０３７７】
情報処理装置ＣＨＩＰ０は、この入出力信号Ｉ／Ｏ０からのステータス信号を自身のメモリ制御回路ＭＣＯＮ０へ保存し、情報処理装置ＣＨＩＰ１がマルチポートメモリＭＰＭＥＭ２にて実行している具体的なリクエストの内容を把握することができる。
【０３７８】
なお、情報処理装置ＣＨＩＰ１の具体的なリクエスト内容は、情報処理装置ＣＨＩＰ０の内部で保存されるため、情報処理装置ＣＨＩＰ０は、どのようなリクエストを出すべきかを判断する事が可能である。
【０３７９】
情報処理装置ＣＨＩＰ１からの読み出し命令ＲＥＡＤは、リフレッシュ動作を行っているメモリバンクとは異なるメモリバンクへ生じているため、リフレッシュ動作とのアクセス競合は発生せず、邪魔されること無く、実行される。
【０３８０】
図２８では、マルチポートメモリＭＰＭＥＭ２のメモリバンクＢＡＮＫ４へ、リフレッシュやプリチャージ動作が行われ、ページが閉じた状態の後に、情報処理装置ＣＨＩＰ０がポート０（ＤＰＴ０）を通じてメモリバンクＢＡＮＫ４へデータＷＤＡＴＡ４を書き込み、情報処理装置ＣＨＩＰ１がポート１（ＤＰＴ１）を通じて、メモリバンクＢＡＮＫ４へ書き込まれたデータＷＤＡＴＡ４を読み出す場合、つまり情報処理装置ＣＨＩＰ０とＣＨＩＰ１間のデータ通信に関する動作波形の一例を示す。
【０３８１】
まず、情報処理装置ＣＨＩＰ０からの書き込みリクエストを説明する。
【０３８２】
情報処理装置ＣＨＩＰ０から、マルチポートメモリＭＰＭＥＭ２へ、クロックＣＬＫに同期して、信号ＤＡＤＣ０を通じて、まずバンクアクティブ命令ＢＡ、バンクアドレスＢａｎｋ４およびロウアドレスＲｏｗ１が入力され、次に書き込み命令ＷＲＩＴＥ、バンクアドレスＢａｎｋ２およびカラムアドレスＣｏｌ１６が入力される。入出力信号Ｉ／Ｏ１からは書き込みデータＷＤＡＴＡ４が入力される。
【０３８３】
最初のバンクアクティブ命令ＢＡ、バンクアドレスＢａｎｋ４およびロウアドレスＲｏｗ１によって、メモリバンクＢＡＮＫ４が活性化される。
【０３８４】
また、ステータス通達信号ＳＩＧ１はＨｉｇｈとなり、情報処理装置ＣＨＩＰ０からバンクアクティブ命令ＢＡが実行されていることを情報処理装置ＣＨＩＰ１へ通達する。
【０３８５】
このバンクアクティブ命令ＢＡに関するステータス信号（バンクアクティブ命令ＢＡ、メモリバンクＢＡＮＫ４、ロウアドレスＲｏｗ１、終了時間３サイクル：３サイクル後に動作が終了することを示す）を入出力信号Ｉ／Ｏ１から出力する。入出力信号Ｉ／Ｏ１からのステータス信号の出力後、信号ＳＩＧ１はＬｏｗとなる。
【０３８６】
情報処理装置ＣＨＩＰ１は、この入出力信号Ｉ／Ｏ１からのステータス信号を自身のメモリ制御回路ＭＣＯＮ１へ保存し、情報処理装置ＣＨＩＰ０がマルチポートメモリＭＰＭＥＭ２にて実行している具体的なリクエストの内容を把握することができる。
【０３８７】
次の書き込み命令ＷＲＩＴＥ、バンクアドレスＢａｎｋ４およびカラムアドレスＣｏｌ１６によって、書き込みデータＷＤＡＴＡ４はバッファＤＢＦ１を介してメモリバンクＢＡＮＫ４へ書き込まれる。
【０３８８】
また、ステータス通達信号ＳＩＧ１はＨｉｇｈとなり、情報処理装置ＣＨＩＰ０からの書き込み命令Ｗｒｉｔｅが実行されていることを情報処理装置ＣＨＩＰ１へ通達する。
【０３８９】
この書き込みリクエストに関するステータス信号（書き込み命令Ｗｒｉｔｅ、メモリバンクＢＡＮＫ４、カラムアドレス１６、終了時間５サイクル：５サイクル後に動作が終了することを示す）を入出力信号Ｉ／Ｏ１から出力する。入出力信号Ｉ／Ｏ１からのステータス信号の出力後、信号ＳＩＧ０はＬｏｗとなる。
【０３９０】
情報処理装置ＣＨＩＰ１は、この入出力信号Ｉ／Ｏ１からのステータス信号を自身のメモリ制御回路ＭＣＯＮ１へ保存し、情報処理装置ＣＨＩＰ０がマルチポートメモリＭＰＭＥＭ２にて実行している具体的なリクエストの内容を把握することができる。つまり、情報処理装置ＣＨＩＰ０からの書き込み命令Ｗｒｉｔｅの終了時間を知ることができる。
【０３９１】
情報処理装置ＣＨＩＰ１は、入出力信号Ｉ／Ｏ１からのステータス信号により、情報処理装置ＣＨＩＰ０からの書き込み動作が終了した後、直ちに読み出し命令Ｒｅａｄを、マルチポートメモリＭＰＭＥＭ２へ入力する。具体的には、信号ＤＡＤＣ１を通じて読み出し命令ＲＥＡＤおよびバンクアドレスＢａｎｋ４、カラムアドレスＣｏｌ１６がマルチポートメモリＭＰＭＥＭ２へ入力され、先ほど情報処理装置ＣＨＩＰ０がメモリバンクＢＡＮＫ４へ書き込んだデータＷＤＡＴＡ４を読み出す（Ｒｅａｄ  ｆｒｏｍ  Ｂａｎｋ４）。
【０３９２】
メモリバンクＢＡＮＫ４から読み出されたデータはバッファＤＢＦ１へ送信され、入出力信号Ｉ／Ｏ１から出力される。
【０３９３】
図２９では、情報処理装置ＣＨＩＰ０がポート０（ＤＰＴ０）を通じて、マルチポートメモリＭＰＭＥＭ２の共有領域であるメモリバンクＢＡＮＫ４へデータＷＤＡＴＡ４を書き込み、情報処理装置ＣＨＩＰ１がポート１（ＤＰＴ１）を通じて、メモリバンクＢＡＮＫ４へ書き込まれたデータＷＤＡＴＡ４を読み出す場合、つまり情報処理装置ＣＨＩＰ０とＣＨＩＰ１間のデータ通信に関する動作波形の別の一例を示す。
【０３９４】
まず、情報処理装置ＣＨＩＰ０からの書き込みリクエストを説明する。
【０３９５】
情報処理装置ＣＨＩＰ０から、マルチポートメモリＭＰＭＥＭ２へ、クロックＣＬＫに同期して、信号ＤＡＤＣ０を通じて書き込み命令ＷＲＩＴＥおよびバンクアドレスＢａｎｋ４、カラムアドレスＣｏｌ３２が、また、入出力信号Ｉ／Ｏ０から書き込みデータＷＤＡＴＡ４が入力される。
【０３９６】
入力された書き込み命令ＷＲＩＴＥ、バンクアドレスＢａｎｋ４、カラムアドレスＣｏｌ３２によって共有領域であるメモリバンクＢＡＮＫ４が選択される。書き込みデータＷＤＡＴＡ４はバッファＤＢＦ０を通じてメモリバンクＢＡＮＫ４へ書き込まれる。
【０３９７】
また、この書き込み命令Ｗｒｉｔｅによって、ステータス通達信号ＳＩＧ１はＨｉｇｈとなり、情報処理装置ＣＨＩＰ０からの書き込み命令Ｗｒｉｔｅが実行されていることを情報処理装置ＣＨＩＰ１へ通達する。次に、この書き込みリクエストに関するステータス信号（書き込み命令Ｗｒｉｔｅ、メモリバンクＢＡＮＫ４、カラムアドレス３２、終了時間５サイクル：５サイクル後に動作が終了することを示す）を入出力信号Ｉ／Ｏ１から出力する。入出力信号Ｉ／Ｏ１からのステータス信号の出力後、信号ＳＩＧ０はＬｏｗとなる。
【０３９８】
情報処理装置ＣＨＩＰ１は、この入出力信号Ｉ／Ｏ１からのステータス信号を自身のメモリ制御回路ＭＣＯＮ１へ保存し、情報処理装置ＣＨＩＰ０がマルチポートメモリＭＰＭＥＭ２にて実行している具体的なリクエストの内容を把握することができる。つまり、情報処理装置ＣＨＩＰ０からの書き込み命令Ｗｒｉｔｅの終了時間を知ることができる。
【０３９９】
情報処理装置ＣＨＩＰ１は、入出力信号Ｉ／Ｏ１からのステータス信号により、情報処理装置ＣＨＩＰ０からの書き込み動作が終了した後、直ちに読み出し命令Ｒｅａｄを、マルチポートメモリＭＰＭＥＭ２へ入力する。具体的には、信号ＤＡＤＣ１を通じて読み出し命令ＲＥＡＤおよびバンクアドレスＢａｎｋ４、カラムアドレスＣｏｌ３２がマルチポートメモリＭＰＭＥＭ２へ入力され、先ほど情報処理装置ＣＨＩＰ０がメモリバンクＢＡＮＫ４へ書き込んだデータＷＤＡＴＡ４を読み出す（Ｒｅａｄ  ｆｒｏｍ  Ｂａｎｋ４）。
【０４００】
メモリバンクＢＡＮＫ４から読み出されたデータはバッファＤＢＦ１へ送信され、入出力信号Ｉ／Ｏ１から出力される。
【０４０１】
また、この読み出し命令Ｒｅａｄによって、ステータス通達信号ＳＩＧ０はＨｉｇｈとなり、情報処理装置ＣＨＩＰ１からの読み出し命令Ｒｅａｄが実行されていることを情報処理装置ＣＨＩＰ０へ通達する。次に、この読み出しリクエストに関するステータス信号（読み出し命令Ｒｅａｄ、メモリバンクＢＡＮＫ４、カラムアドレス３２、終了時間５サイクル：５サイクル後に動作が終了することを示す）を入出力信号Ｉ／Ｏ０から出力する。入出力信号Ｉ／Ｏ０からのステータス信号の出力後、信号ＳＩＧ０はＬｏｗとなる。
【０４０２】
情報処理装置ＣＨＩＰ０は、この入出力信号Ｉ／Ｏ０からのステータス信号を自身のメモリ制御回路ＭＣＯＮ０へ保存し、情報処理装置ＣＨＩＰ１がマルチポートメモリＭＰＭＥＭ２にて実行している具体的なリクエストの内容を把握することができる。つまり、情報処理装置ＣＨＩＰ１からの読み出し命令Ｒｅａｄの終了時間を知ることができる。
【０４０３】
情報処理装置ＣＨＩＰ０は、入出力信号Ｉ／Ｏ０からのステータス信号により、情報処理装置ＣＨＩＰ１からの読み出し動作が終了した後、直ちに、マルチポートメモリＭＰＭＥＭ２へ、クロックＣＬＫに同期して、信号ＤＡＤＣ０を通じて書き込み命令ＷｒｉｔｅおよびバンクアドレスＢａｎｋ４、カラムアドレスＣｏｌ６４が、また、入出力信号Ｉ／Ｏ０から書き込みデータＷＤＡＴＡ４が入力される。
【０４０４】
入力された書き込み命令Ｗｒｉｔｅ、バンクアドレスＢａｎｋ４、カラムアドレスＣｏｌ６４によって共有領域であるメモリバンクＢＡＮＫ４が選択される。書き込みデータＷＤＡＴＡ４はバッファＤＢＦ０を通じてメモリバンクＢＡＮＫ４へ書き込まれる。
【０４０５】
以上説明したように、入出力信号Ｉ／Ｏ０およびＩ／Ｏ１からのステータス信号により、情報処理装置ＣＨＩＰ０およびＣＨＩＰ１は、それぞれで実行しているリクエストの具体的な内容（命令、メモリバンク、アドレス、終了時間）を知ることができるため、情報処理装置ＣＨＩＰ０およびＣＨＩＰ１間のデータ通信を高速に行うことができる。
【０４０６】
以上、２ポートを有するマルチポートメモリを例に説明してきたが、３ポート以上のマルチポートメモリについても実現可能である。その際に、例えば、図７〜１０および図２１〜２４に示される各レジスタについては、設けたポート数に応じてビット数を増やせばよい。
【０４０７】
この場合、図８に示されるマスターレジスタＭＳ−ＲＧにおいて、図３０に示されるように、ポート０（ＰＲＴ０）とポート１（ＰＲＴ１）に対応するビットに１が設定され、ポート２（ＰＲＴ２）とポート３（ＰＲＴ３）に対応するビットが０に設定される可能性がある。このように設定されたときは、ポート０（ＰＲＴ０）およびポート１（ＰＲＴ１）のアクセスは、ポート２（ＰＲＴ２）およびポート３（ＰＲＴ３）のアクセスより優先させ、ポート０（ＰＲＴ０）−ポート１（ＰＲＴ１）間の調停およびポート２（ＰＲＴ２）−ポート３（ＰＲＴ３）間の調停は、ラウンドロビン方式に従えばよい。さらには、図９に示されるステータスレジスタＳＴ−ＲＧも、設けたポート数に応じてビット数を増やせばよい。
【０４０８】
また、図２２に示されるマスターレジスタＤＭＳ−ＲＧについて、４ポート構成とした場合のレジスタ例を図３１に示す。リクエストの優先処理については、図３０と同様であり、また、リフレッシュ動作に関する設定は、ポート毎に行えばよい。
【０４０９】
さらに、本発明の主旨を逸脱しない限り種々の変更が可能であり、例えば、前記実施の形態では、他のポートに通知する情報として、終了時間を同一記憶領域に次のコマンドが入力可能となる時間として説明してきたが、当該記憶領域へのリクエストの実行時間としてもよい。
【０４１０】
（実施の形態に示される発明の効果のまとめ）
以上説明したように本明細書に開示される発明によって得られる主な効果は以下の通りである。
【０４１１】
マルチポートメモリと、このマルチポートメモリに接続される複数の情報処理装置からなる情報処理システムにおいて、マルチポートメモリ内の記憶領域に対して、複数のポートが共有する記憶領域および、ひとつのポートが占有する記憶領域を変更することができ、情報処理システムの要求に対して柔軟に対応できる。
【０４１２】
さらに、入出力信号Ｉ／Ｏ０およびＩ／Ｏ１からのステータス信号により、マルチポートメモリへ接続されている、複数の情報処理装置は、他の情報処理装置が実行しているリクエストの具体的な内容（命令、メモリバンク、アドレス、終了時間）を知ることができるため、情報処理装置間にて、高速にデータ通信を行うことができる。
【０４１３】
この結果、情報処理システムを構成する複数の情報処理装置間のデータ通信を高速化するマルチポートメモリを実現でき、高速で使い勝手の良い情報処理システムを提供することができる。
【０４１４】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【図面の簡単な説明】
【０４１５】
【図１】本発明を適用した第１の実施の形態である情報処理システムの構成の一例を示す構成図である。
【図２】本発明を適用した第１の実施の形態である情報処理システムにおいて、マルチポートメモリのメモリマップの一例を示す説明図である。
【図３】本発明を適用した第１の実施の形態である情報処理システムにおいて、電源投入時の動作の一例を示す図である。
【図４】本発明を適用した第１の実施の形態である情報処理システムにおいて、（ａ）（ｂ）はマルチポートメモリのステータス情報出力動作の一例を示すフローチャートである。
【図５】本発明を適用した第１の実施の形態である情報処理システムにおいて、マルチポートメモリへのリクエストに対する動作の一例を示すフローチャートである。
【図６】本発明を適用した第１の実施の形態である情報処理システムにおいて、マルチポートメモリ内のレジスタ（タイミングレジスタ、ステータス通達信号レジスタ）の一例を示す説明図である。
【図７】本発明を適用した第１の実施の形態である情報処理システムにおいて、マルチポートメモリ内のレジスタ（シェアドエリアレジスタ）の一例を示す説明図である。
【図８】本発明を適用した第１の実施の形態である情報処理システムにおいて、マルチポートメモリ内のレジスタ（マスターレジスタ）の一例を示す説明図である。
【図９】本発明を適用した第１の実施の形態である情報処理システムにおいて、マルチポートメモリ内のレジスタ（ステータスレジスタ）の一例を示す説明図である。
【図１０】本発明を適用した第１の実施の形態である情報処理システムにおいて、マルチポートメモリの入出力信号から出力されるステータス情報の一例を示す図である。
【図１１】本発明を適用した第１の実施の形態である情報処理システムにおいて、動作波形（各占有領域に対する読み出しと書き込み）の一例を示す図である。
【図１２】本発明を適用した第１の実施の形態である情報処理システムにおいて、動作波形（異なる共有領域に対する書き込みと読み出し）の一例を示す図である。
【図１３】本発明を適用した第１の実施の形態である情報処理システムにおいて、動作波形（同一の共有領域に対する書き込みと読み出し）の一例を示す図である。
【図１４】本発明を適用した第２の実施の形態である情報処理システムの構成の一例を示す構成図である。
【図１５】本発明を適用した第２の実施の形態である情報処理システムにおいて、マルチポートメモリのメモリマップの一例を示す説明図である。
【図１６】本発明を適用した第２の実施の形態である情報処理システムにおいて、電源投入時の動作の一例を示す図である。
【図１７】本発明を適用した第２の実施の形態である情報処理システムにおいて、マルチポートメモリへのリクエストに対する動作の一例を示すフローチャートである。
【図１８】本発明を適用した第２の実施の形態である情報処理システムにおいて、マルチポートメモリ内のレジスタ（モードレジスタ）の一例を示す説明図である。
【図１９】本発明を適用した第２の実施の形態である情報処理システムにおいて、マルチポートメモリ内のレジスタ（タイミングレジスタ）の一例を示す説明図である。
【図２０】本発明を適用した第２の実施の形態である情報処理システムにおいて、マルチポートメモリ内のレジスタ（ステータス通達信号レジスタ）の一例を示す説明図である。
【図２１】本発明を適用した第２の実施の形態である情報処理システムにおいて、マルチポートメモリ内のレジスタ（シェアドバンクレジスタ）の一例を示す説明図である。
【図２２】本発明を適用した第２の実施の形態である情報処理システムにおいて、マルチポートメモリ内のレジスタ（マスターレジスタ）の一例を示す説明図である。
【図２３】本発明を適用した第２の実施の形態である情報処理システムにおいて、マルチポートメモリ内のレジスタ（ステータスレジスタ）の一例を示す説明図である。
【図２４】本発明を適用した第２の実施の形態である情報処理システムにおいて、マルチポートメモリの入出力信号から出力されるステータス情報の一例を示す図である。
【図２５】本発明を適用した第２の実施の形態である情報処理システムにおいて、動作波形（各占有領域に対する読み出しと書き込み）の一例を示す図である。
【図２６】本発明を適用した第２の実施の形態である情報処理システムにおいて、動作波形（異なる共有領域に対する書き込みと読み出し）の一例を示す図である。
【図２７】本発明を適用した第２の実施の形態である情報処理システムにおいて、動作波形（異なる共有領域に対するリフレッシュと読み出し）の一例を示す図である。
【図２８】本発明を適用した第２の実施の形態である情報処理システムにおいて、動作波形（同一の共有領域に対する書き込みと読み出し）の一例を示す図である。
【図２９】本発明を適用した第２の実施の形態である情報処理システムにおいて、動作波形（同一の共有領域に対する書き込みと読み出し）の一例を示す図である。
【図３０】本発明を適用した第１の実施の形態である情報処理システムにおいて、マルチポートメモリ内のレジスタ（マスターレジスタ）の変形例を示す説明図である。
【図３１】本発明を適用した第２の実施の形態である情報処理システムにおいて、マルチポートメモリ内のレジスタ（マスターレジスタ）の変形例を示す説明図である。
【符号の説明】
【０４１６】
ＣＨＩＰ０、ＣＨＩＰ１・・・情報処理装置、
ＣＰＵ００、ＣＰＵ０１、ＣＰＵ０２、ＣＰＵ０３・・・情報処理回路、
ＣＰＵ１０、ＣＰＵ１１、ＣＰＵ１２、ＣＰＵ１３・・・情報処理回路、
ＭＣＯＮ０、ＭＣＯＮ１・・・メモリ制御回路、
ＭＰＭＥＭ０、ＭＰＭＥＭ２・・・マルチポートメモリ、
ＰＲＴ０、ＰＲＴ１、ＤＰＴ０、ＤＰＴ１・・・ポート、
ＰＣＯＮ０、ＰＣＯＮ１、ＤＣＯＮ０、ＤＣＯＮ１・・・制御回路、
ＩＮＩＴ、ＤＩＮＩＴ・・・初期設定回路、
ＭＭＵ、ＤＭＭＵ・・・メモリマネージメント回路、
ＴＭ−ＲＧ、ＤＴＭ−ＲＧ・・・タイミングレジスタ、
ＤＭＤ−ＲＧ・・・モードレジスタ、
ＭＳ−ＲＧ、ＤＭＳ−ＲＧ・・・マスターレジスタ、
ＳＩＧ−ＲＧ、ＤＳＩＧ−ＲＧ・・・ステータス通達信号レジスタ、
ＳＡ−ＲＧ・・・シェアドエリアレジスタ、
ＤＳＢ−ＲＧ・・・シェアドバンクレジスタ、
ＳＴ−ＲＧ、ＤＳＴ−ＲＧ・・・ステータスレジスタ、
ＭＡ０、ＤＭＡ０・・・メモリアレイ、
ＡＲＢＩＴＯＲ・・・調停回路、
ＡＲＥＡ０〜ＡＲＥＡ７・・・記憶領域、
ＡＤＣ０、ＡＤＣ１、ＤＡＤＣ０、ＤＡＤＣ１・・・命令およびアドレス信号、
ＳＩＧ０、ＳＩＧ１・・・ステータス通達信号、
Ｉ／Ｏ０、Ｉ／Ｏ１・・・データ入出力信号、
ＡＢＦ０、ＡＢＦ１・・・アドレスバッファ、
ＤＢＦ０、ＤＢＦ１・・・データバッファ、
ＬＧ０、ＬＧ１、ＤＬＧ０、ＤＬＧ１・・・制御回路、
ＲＥＧ−ＡＲＥＡ、ＤＲＥＧ−ＡＲＥＡ・・・レジスタ領域、
ＣＨＩＰ０−ＡＲＥＡ、ＣＨＩＰ１−ＡＲＥＡ・・・占有領域、
ＳＨＡＲＥ−ＡＲＥＡ・・・共有領域、
ＢＡＮＫ０〜ＢＡＮＫ７・・・メモリバンク、
ＣＨＩＰ０−ＢＡＮＫ、ＣＨＩＰ１−ＢＡＮＫ・・・占有メモリバンク、
ＳＨＡＲＥ−ＢＡＮＫ・・・共有メモリバンク。
【図１】
2009237980.tif 000003
【図２】
2009237980.tif 000004
【図３】
2009237980.tif 000005
【図４】
2009237980.tif 000006
【図５】
2009237980.tif 000007
【図６】
2009237980.tif 000008
【図７】
2009237980.tif 000009
【図８】
2009237980.tif 000010
【図９】
2009237980.tif 000011
【図１０】
2009237980.tif 000012
【図１１】
2009237980.tif 000013
【図１２】
2009237980.tif 000014
【図１３】
2009237980.tif 000015
【図１４】
2009237980.tif 000016
【図１５】
2009237980.tif 000017
【図１６】
2009237980.tif 000018
【図１７】
2009237980.tif 000019
【図１８】
2009237980.tif 000020
【図１９】
2009237980.tif 000021
【図２０】
2009237980.tif 000022
【図２１】
2009237980.tif 000023
【図２２】
2009237980.tif 000024
【図２３】
2009237980.tif 000025
【図２４】
2009237980.tif 000026
【図２５】
2009237980.tif 000027
【図２６】
2009237980.tif 000028
【図２７】
2009237980.tif 000029
【図２８】
2009237980.tif 000030
【図２９】
2009237980.tif 000031
【図３０】
2009237980.tif 000032
【図３１】
2009237980.tif 000033