(57)【要約】【課題】マルチコアプロセッサを備えた複数のマイコン間でメモリを共有させながらプロセッサコア毎にその共有メモリへのアクセスを管理する情報処理システムを提供すること。【解決手段】マルチコアプロセッサを備えたマイコン間でメモリ４Ａを共有させる情報処理システムＳは、自マイコン１００Ａが出力する信号の未使用ビットにコア識別情報を組み入れるコア識別情報組み入れ手段と、他マイコン１００Ｂが出力する、コア識別情報を組み入れた信号に基づいて出力元のコアを識別するコア識別手段と、メモリ４Ａの所定領域に対する各コアのアクセス権限情報を保持するアクセス権限情報保持手段２１Ａと、コア識別手段が識別した出力元のコアとアクセス権限情報保持手段２１Ａが保持するアクセス権限情報とに基づいて出力元のコアによるメモリ４Ａへのアクセスを管理するメモリ管理手段２０Ａとを備える。【選択図】図１
2008225906.tif 000002
【特許請求の範囲】
【請求項１】
マルチコアプロセッサを備えた複数のマイコン間でメモリを共有させる情報処理システムであって、
自マイコンが出力する信号にコア識別情報を組み入れるコア識別情報組み入れ手段と、
他マイコンが出力する、コア識別情報を組み入れた信号に基づいて出力元のコアを識別するコア識別手段と、
メモリの所定領域に対する各コアのアクセス権限情報を保持するアクセス権限情報保持手段と、
前記コア識別手段が識別した出力元のコアと前記アクセス権限情報保持手段が保持するアクセス権限情報とに基づいて該出力元のコアによるメモリへのアクセスを管理するメモリ管理手段と、
を備えることを特徴とする情報処理システム。
【請求項２】
前記コア識別情報組み入れ手段は、コア識別情報をアドレス情報中の未使用ビットに組み入れる、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
メモリの所定領域に対する各コアのアクセス権限情報に基づいてマルチコアプロセッサを備えた複数のマイコン間におけるメモリの共有を制御する情報処理システムを構成するコア識別コントローラであって、
自マイコンが出力する信号にコア識別情報を組み入れるコア識別情報組み入れ手段と、
他マイコンが出力する、コア識別情報を組み入れた信号に基づいて出力元のコアを識別するコア識別手段と、
を備えることを特徴とするコア識別コントローラ。
【請求項４】
マルチコアプロセッサを備えた複数のマイコン間でメモリを共有させる情報処理システムであって、
自マイコンが出力する信号にコア識別情報を付与するコア識別情報付与手段と、
他マイコンが出力する、コア識別情報を付与した信号から出力元のコアを識別するコア識別手段と、
メモリの所定領域に対する各コアのアクセス権限情報を保持するアクセス権限情報保持手段と、
前記コア識別手段が識別した出力元のコアと前記アクセス権限情報保持手段が保持するアクセス権限情報とに基づいて前記出力元のコアによるメモリへのアクセスを管理するメモリ管理手段と、
を備えることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチコアプロセッサを備えた複数のマイコン間でメモリを共有させる情報処理システム及びその情報処理システムを構成するコア識別コントローラに関し、特に、プロセッサコア毎にその共有メモリへのアクセスを管理する情報処理システム及びその情報処理システムを構成するコア識別コントローラに関する。
【背景技術】
【０００２】
従来、マルチコアプロセッサを搭載する複数のノードから構成される複数のパーティション間でメモリを共有させる主記憶共有型マルチプロセッサシステムが知られている（例えば、特許文献１参照。）。
【０００３】
この主記憶共有型マルチプロセッサシステムは、パーティション間で共有される領域に、パーティション内で使用されるリアルアドレスとパーティション間で共用される共有領域アドレスとを付与しながら、リアルアドレスと共有領域アドレスとを相互に変換する機構を備えるようにする。
【０００４】
これにより、この主記憶共有型マルチプロセッサシステムは、パーティション毎にローカル領域のアドレスを自由に設定できるようにしながらも、階層型ＳＭＰ(Symmetric  Multi  Processor)のスヌープコマンドを使用して共有領域に対するキャッシュ一致制御を高速に実行させることができるようにする。
【０００５】
さらに、この主記憶共有型マルチプロセッサシステムは、アクセスコマンドを発信したパーティション（以下、「発信元パーティション」とする。）とアクセス先である共有領域アドレスとの間の整合性（発信元パーティションによるアクセスを許可するか否か）をチェックした上で発信元のパーティションによる共有領域アドレスへのアクセスを許可するので、特定のパーティションで障害が発生した場合であっても、そのパーティション内に障害を封じ込めることができる。
【特許文献１】特開２０００−２３５５５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の主記憶共有型マルチプロセッサシステムは、各パーティションを識別しながら各パーティションによる共有領域アドレスへのアクセスを管理するだけであって、各ノードにおけるプロセッサコア毎に共有領域アドレスへのアクセスを管理していない。
【０００７】
上述の点に鑑み、本発明は、マルチコアプロセッサを備えた複数のマイコン間でメモリを共有させながらプロセッサコア毎にその共有メモリへのアクセスを管理する情報処理システム及びその情報処理システムを構成するコア識別コントローラを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の目的を達成するために、第一の発明に係る情報処理システムは、マルチコアプロセッサを備えた複数のマイコン間でメモリを共有させる情報処理システムであって、自マイコンが出力する信号にコア識別情報を組み入れるコア識別情報組み入れ手段と、他マイコンが出力する、コア識別情報を組み入れた信号に基づいて出力元のコアを識別するコア識別手段と、メモリの所定領域に対する各コアのアクセス権限情報を保持するアクセス権限情報保持手段と、前記コア識別手段が識別した出力元のコアと前記アクセス権限情報保持手段が保持するアクセス権限情報とに基づいて該出力元のコアによるメモリへのアクセスを管理するメモリ管理手段と、を備えることを特徴とする。
【０００９】
また、第二の発明は、第一の発明に係る情報処理システムであって、前記コア識別情報組み入れ手段は、コア識別情報をアドレス情報中の未使用ビットに組み入れることを特徴とする。
【００１０】
また、第三の発明に係るコア識別コントローラは、メモリの所定領域に対する各コアのアクセス権限情報に基づいてマルチコアプロセッサを備えた複数のマイコン間におけるメモリの共有を制御する情報処理システムを構成するコア識別コントローラであって、自マイコンが出力する信号にコア識別情報を組み入れるコア識別情報組み入れ手段と、他マイコンが出力する、コア識別情報を組み入れた信号に基づいて出力元のコアを識別するコア識別手段と、を備えることを特徴とする。
【００１１】
また、第四の発明に係る情報処理システムは、マルチコアプロセッサを備えた複数のマイコン間でメモリを共有させる情報処理システムであって、自マイコンが出力する信号にコア識別情報を付与するコア識別情報付与手段と、他マイコンが出力する、コア識別情報を付与した信号から出力元のコアを識別するコア識別手段と、メモリの所定領域に対する各コアのアクセス権限情報を保持するアクセス権限情報保持手段と、前記コア識別手段が識別した出力元のコアと前記アクセス権限情報保持手段が保持するアクセス権限情報とに基づいて前記出力元のコアによるメモリへのアクセスを管理するメモリ管理手段と、を備えることを特徴とする。
【発明の効果】
【００１２】
上述の手段により、本発明は、マルチコアプロセッサを備えた複数のマイコン間でメモリを共有させながらプロセッサコア毎にその共有メモリへのアクセスを管理する情報処理システム及びその情報処理システムを構成するコア識別コントローラを提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しつつ、本発明を実施するための最良の形態の説明を行う。
【実施例】
【００１４】
図１は、本発明に係る情報処理システムの構成例を示すブロック図であり、情報処理システムＳは、第一マイコン１００Ａ及び第二マイコン１００Ｂから構成され、第一マイコン１００Ａ及び第二マイコン１００Ｂは、ＰＣＩ（Peripheral  Component  Interface）−Ｅｘｐｒｅｓｓ、ＵＳＢ(Universal  Serial  Bus)等の汎用バスを介して接続される。
【００１５】
第一マイコン１００Ａは、マルチコアプロセッサ１Ａ、アドレスデコーダ２Ａ、メモリコントローラ３Ａ、メインメモリ４Ａ、外部インターフェース５Ａ及びコア識別コントローラ６Ａから構成される。なお、第二マイコン１００Ｂも同様の構成を有し、特に第二マイコン１００Ｂにおける各構成要素を表現する場合には、各構成要素の接尾辞に「Ｂ」を付すこととする。
【００１６】
また、第一マイコン１００Ａの各構成要素は、ＳＯＣ(System  On  Chip)向けバスの標準規格であるＡＭＢＡ(Advanced  Microcontroller  Bus  Architecture)に準拠したＡＸＩ(Advanced  eXtensible  Interface)等のバスで接続され、マルチコアプロセッサ１Ａを効率よく動作させるようにする。
【００１７】
マルチコアプロセッサ１Ａは、４個のコア（ＣＰＵ（Central  Processing  Unit））１０Ａ〜１３Ａを有し、アドレスデコーダ２Ａを介してメモリコントローラ３Ａを制御し、メインメモリ４Ａからデータを読み出したり、メインメモリ４Ａにデータを書き込んだりする。
【００１８】
アドレスデコーダ２Ａは、ＣＰＵ１０Ａ〜１３Ａがメインメモリ４Ａからデータを読み出したり、メインメモリ４Ａにデータを書き込んだりする場合に、メインメモリ４Ａにおけるアドレスを指定するための手段であり、アドレスを保持するためのレジスタ、メモリ管理機構２０Ａ及びアクセス権限情報保持機構２１Ａを実装し、マルチコアプロセッサ１Ａが出力する第一制御信号（図２（Ａ）参照。）に基づいてアドレスを取得し、取得したアドレスを含む第二制御信号（図２（Ｂ）参照。）をメモリコントローラ３Ａに出力する。
【００１９】
また、アドレスデコーダ２Ａは、ＣＰＵ１０Ａ〜１３Ａが第二マイコン１００Ｂにおけるメインメモリ４Ｂからデータを読み出したり、メインメモリ４Ｂにデータを書き込んだりする場合に、メインメモリ４Ｂにおけるアドレスを指定するための手段でもあり、マルチコアプロセッサ１Ａが出力する第一制御信号を、コア識別コントローラ６Ａ、外部インターフェース５Ａ、外部インターフェース５Ｂ及びコア識別コントローラ６Ｂを介してアドレスデコーダ２Ｂに転送する。
【００２０】
さらに、アドレスデコーダ２Ａは、第二マイコン１００ＢにおけるＣＰＵ１０Ｂ〜１３Ｂがメインメモリ４Ａからデータを読み出したり、メインメモリ４Ａにデータを書き込んだりする場合に、メインメモリ４Ａにおけるアドレスを指定するための手段でもあり、マルチコアプロセッサ１Ｂが出力する第一制御信号を、アドレスデコーダ２Ｂ、コア識別コントローラ６Ｂ、外部インターフェース５Ｂ、外部インターフェース５Ａ及びコア識別コントローラ６Ａを介して取得し、取得したアドレスを含む第二制御信号をメモリコントローラ３Ａに出力する。
【００２１】
メモリコントローラ３Ａは、マルチコアプロセッサ１Ａ又はマルチコアプロセッサ１Ｂによるメインメモリ４Ａからのデータの読み出しやメインメモリ４Ａへのデータの書き込み等、マルチコアプロセッサ１Ａ又はマルチコアプロセッサ１Ｂとメインメモリ４Ａとの間のインターフェースを制御する手段であり、例えば、アドレスデコーダ２Ａが出力する第二制御信号（データのアドレス情報を含む。）を受けて、マルチコアプロセッサ１Ａ又はマルチコアプロセッサ１Ｂとメインメモリ４Ａとの間のデータ通信を制御する。
【００２２】
メインメモリ４Ａは、ＣＰＵ１０Ａ〜１３Ａ及びＣＰＵ１０Ｂ〜１３Ｂによって共有される主記憶装置であり、例えば、半導体素子を利用して電気的にデータを記憶する揮発性記憶媒体であって、ＤＲＡＭ(Dynamic  Random  Access  Memory)やＳＲＡＭ(Static  Random  Access  Memory)等がある。
【００２３】
外部インターフェース５Ａは、第一マイコン１００Ａと他のマイコンとの間のインターフェースであり、例えば、ＰＣＩ-Ｅｘｐｒｅｓｓ等の汎用バス規格に則り、第二マイコン１００Ｂにおける対応する外部インターフェース５Ｂとの間で情報をやり取りできるようにする。
【００２４】
コア識別コントローラ６Ａは、他マイコンのメインメモリをアクセスする自マイコンのＣＰＵを他マイコンが識別できるようにするための手段であり、例えば、アドレスデコーダ２Ａが出力した第一制御信号を外部インターフェース５Ａ経由で第二マイコン１００Ｂに転送し、第二マイコン１００Ｂにおけるアドレスデコーダ２Ｂが外部インターフェース５Ｂ及びコア識別コントローラ６Ｂ経由でその第一制御信号を受信できるようにする。
【００２５】
また、コア識別コントローラ６Ａは、外部インターフェース５Ａ及び外部インターフェース５Ｂで使用されるバス規格に応じて第一制御信号を第三制御信号（図２参照。）に加工する。
【００２６】
例えば、コア識別コントローラ６Ａは、第一制御信号を第二マイコン１００Ｂに出力する場合であって、バス規格の制約上（例えば、ＳＯＣ上で採用されるＡＸＩとマイコン間で採用されるＰＣＩ-Ｅｘｐｒｅｓｓとを接続する際の制約がある。）、コア識別情報を格納するデータフィールドを独立して保持できないような場合、ＣＰＵを識別するための情報が欠落してしまうのを防止するために、コア識別情報を示すビットをアドレス情報の未使用ビットに組み入れて第三制御信号とし、外部インターフェース５Ａ及び外部インターフェース５Ｂ経由でその第三制御信号を第二マイコン１００Ｂにおけるコア識別コントローラ６Ｂに出力するようにする。
【００２７】
この場合、コア識別コントローラ６Ｂは、受信した第三制御信号におけるアドレス情報を本来のアドレス情報とコア識別情報とに分離し、分離した本来のアドレス情報とコア識別情報とからコア識別情報を格納する独立のデータフィールドを有する第一制御信号を復元し、復元した第一制御信号をアドレスデコーダ２Ｂに出力する。
【００２８】
メモリ管理機構２０Ａは、ＣＰＵ１０Ａ〜１３Ａによるメインメモリ４ＡへのアクセスをＣＰＵ毎に管理するための手段であり、例えば、マルチコアプロセッサ１Ａが出力する第一制御信号を受けて、メインメモリ４Ａの所定領域に対するＣＰＵ１０Ａ〜１３Ａそれぞれのアクセス権限に関する情報（以下、「アクセス権限情報」という。）を後述のアクセス権限情報保持機構２１Ａから取得し、取得したアクセス権限情報に従ってＣＰＵ１０Ａ〜１３Ａが所定のデータ処理を実現できるよう、メモリコントローラ３Ａに第二制御信号を出力する。
【００２９】
また、メモリ管理機構２０Ａは、第二マイコン１００ＢにおけるＣＰＵ１０Ｂ〜１３Ｂによるメインメモリ４ＡへのアクセスをＣＰＵ毎に管理するための手段でもあり、例えば、マルチコアプロセッサ１Ｂが出力する第一制御信号を受けて、メインメモリ４Ａの所定領域に対するＣＰＵ１０Ｂ〜１３Ｂそれぞれのアクセス権限情報を後述のアクセス権限情報保持機構２１Ａから取得し、取得したアクセス権限情報に従ってＣＰＵ１０Ｂ〜１３Ｂが所定のデータ処理を実現できるよう、メモリコントローラ３Ａに第二制御信号を出力する。
【００３０】
アクセス権限情報保持機構２１Ａは、メインメモリ４Ａの所定領域に対するＣＰＵ１０Ａ〜１３Ａ又はＣＰＵ１０Ｂ〜１３Ｂそれぞれのアクセス権限情報を保持するための手段であり、例えば、コア識別情報とメインメモリ４Ａにおけるアドレス情報とが入力されるとコア識別情報が示すＣＰＵのアクセス権限を出力するよう構成される。
【００３１】
アクセス権限情報保持機構２１Ａは、電子回路の構成を採用した場合であっても、ＦＰＧＡ（Field  Programmable  Gate  Array）によりプログラマブルとすることで、保持するアクセス権限情報の設定を変更できるようにしてもよい。また、アクセス権限情報保持機構２１Ａは、不揮発性レジスタで構成されてもよい。
【００３２】
次に、図２を参照しながら、各種制御信号について説明する。図２（Ａ）は、第一制御信号の構成例を示す図であり、第一制御信号は、要求内容部、デバイス番号部、アドレス情報部及びコア識別情報部から構成される。
【００３３】
「要求内容部」は、リード、ライト等、要求する制御の内容を示す情報を格納する部分であり、「アドレス情報部」は、要求の対象となるメインメモリ４Ａにおけるアドレス番号を格納する部分であり、「コア識別情報部」は、要求を発したＣＰＵを識別するための識別番号を格納する部分である。
【００３４】
図２（Ｂ）は、第二制御信号の構成例を示す図であり、第二制御信号は、要求内容部、アドレス情報部、コア識別情報部及び許否部から構成され、許否部以外は、第一制御信号と共通する。
【００３５】
「許否部」は、コア識別情報部のコア識別情報によって特定されるＣＰＵによる、アドレス情報部によって特定されるアドレス番号に対する、要求内容部によって特定される要求内容が、許可されるか否かを示す情報を格納する部分である。
【００３６】
図２（Ｃ）は、第三制御信号の構成例を示す図であり、第三制御信号は、要求内容部及びアドレス情報部から構成され、アドレス情報部の上位にある未使用ビットにコア識別情報が割り当てられる。
【００３７】
図３は、第三制御信号におけるアドレス情報部の未使用ビットに割り当てられるコア識別情報の構成例を示す図である。
【００３８】
４個のＣＰＵで構成されるマルチコアプロセッサを有するマイコンが２個接続されている場合（ＣＰＵの数は合計で８個となる。）、情報処理システムＳは、コア識別情報に対し第三制御信号におけるアドレス情報部の上位３ビットを割り当てるようにする。
【００３９】
このように、情報処理システムＳは、ＣＰＵの数に応じてコア識別情報を表現するためにアドレス情報部内で割り当てる未使用ビット数を決定し、例えば、ＣＰＵの合計が４個以下の場合に２ビットの未使用ビットを割り当て、ＣＰＵの合計が９個以上１６個以下の場合に４ビットの未使用ビットを割り当てるようにする。なお、４ビットのうちの上位２ビットをマイコン識別番号（４個以下のマイコンを識別できる。）、下位２ビットをコア識別情報（４個以下のＣＰＵを識別できる。）に割り当てる等、マイコン識別番号とコア識別番号とを別々に管理するようにしてもよい。
【００４０】
次に、図４及び図５を参照しながら、ＣＰＵ毎に設定されるアクセス制限について説明する。
【００４１】
図４は、メインメモリ４Ａの構成例を示す図であり、メインメモリ４Ａは、例えば、アドレス番地「０ｘ００００〜０ｘ００ＦＦ」の領域４０Ａ、アドレス番地「０ｘ０１００〜０ｘ０１ＦＦ」の領域４１Ａ、アドレス番地「０ｘ０２００〜０ｘ０２ＦＦ」の領域４２Ａ、及び、アドレス番地「０ｘ０３００〜０ｘＦＦＦＦ」の領域４３Ａから構成される。
【００４２】
また、図５は、アクセス権限情報の設定例を示す表であり、アドレス欄５０Ａ及びアクセス権限情報欄５１Ａから構成される。
【００４３】
アドレス欄５０Ａは、メインメモリ４Ａのメモリ空間における領域を指定するアドレス範囲から構成される。
【００４４】
アクセス権限情報欄５１Ａは、アクセス権限の種類欄、第一ＣＰＵ欄〜第八ＣＰＵ欄を有し、アクセス権限の種類と各ＣＰＵに認められたアクセス権限との関係を示す。なお、第一ＣＰＵ〜第四ＣＰＵはＣＰＵ１０Ａ〜１３Ａに対応し、第五ＣＰＵ〜第八ＣＰＵはＣＰＵ１０Ｂ〜１３Ｂに対応するものとする。
【００４５】
「アクセス権限の種類」には、例えば、「リード」、「ライト」、「バースト転送」、「コード転送」及び「データ転送」があり、「リード」とは、読み込み権限、「ライト」とは、書き込み権限を意味する。
【００４６】
また、「バースト転送」とは、1つのアドレス情報をもとにして複数のデータを連続して転送する権限をいい、「コード転送」とは、ＣＰＵがメモリから命令文を取り出し（フェッチし）、レジスタに転送する権限をいい、「データ転送」とは、ＣＰＵがメモリからデータを取り出し（フェッチし）、レジスタに転送する権限をいう。
【００４７】
図５の表は、領域４０Ａに対して、全てのＣＰＵにフルアクセス（アクセス権限の種類全てを許可することを意味する。）の権限を付与していることを示す。
【００４８】
また、図５の表は、領域４１Ａに対して、ＣＰＵ１０Ａにフルアクセスの権限を付与し、他のＣＰＵ１１Ａ〜１３Ａ、ＣＰＵ１０Ｂ〜１３Ｂには、「コード転送」の権限だけを付与していることを示す。
【００４９】
さらに、図５の表は、領域４２Ａに対して、ＣＰＵ１０Ａにフルアクセスの権限を付与し、他のＣＰＵ１１Ａ〜１３Ａ、ＣＰＵ１０Ｂ〜１３Ｂによるアクセスを禁止していることを示し、領域４３Ａに対して、ＣＰＵ１１Ａにフルアクセスの権限を付与し、ＣＰＵ１０Ａ、１２Ａ、１３Ａ及びＣＰＵ１０Ｂ〜１３Ｂによるアクセスを禁止していることを示す。
【００５０】
次に、第二マイコン１００Ｂが第一マイコン１００Ａのメインメモリ４Ａに対してメモリアクセス要求信号を出力する処理（以下、「メモリアクセス要求信号出力処理」とする。）について説明する。なお、図６は、メモリアクセス要求信号出力処理の流れを示すフローチャートである。
【００５１】
最初に、第二マイコン１００Ｂのアドレスデコーダ２Ｂは、マルチコアプロセッサ１Ｂからメモリアクセス要求信号が出力されるのを監視する（ステップＳ１）。
【００５２】
アドレスデコーダ２Ｂは、メモリアクセス要求信号を受信するまでそのまま待機し（ステップＳ１のＮＯ）、メモリアクセス要求信号（例えば、書き込み要求とする。）を受信した場合（ステップＳ１のＹＥＳ）、メモリアクセス要求信号（第一制御信号（図２（Ａ）参照。）とする。）の「アドレス情報部」に基づいて書き込み先のアドレス番号を取得する（ステップＳ２）。
【００５３】
その後、アドレスデコーダ２Ｂは、取得したアドレス番号に基づいてアクセス先が第一マイコン１００Ａのメインメモリ４Ａであるか第二マイコン１００Ｂのメインメモリ４Ｂであるかを判定する（ステップＳ３）。
【００５４】
アクセス先がメインメモリ４Ａであると判定された場合（ステップＳ３のＹＥＳ）、アドレスデコーダ２Ｂは、第一制御信号（図２（Ａ）参照。）をコア識別コントローラ６Ｂに出力し、コア識別コントローラ６Ｂは、第一制御信号の「アドレス情報部」における未使用の上位ビットに、第一制御信号の「コア識別情報部」が格納するコア識別情報を組み入れ、第三制御信号を生成する（ステップＳ４）。ＳＯＣ上のバス規格とマイコン間の接続におけるバス規格とが異なり、「コア識別情報部」のデータフィールドをそのままの状態で他マイコンに出力することができないからである。
【００５５】
その後、コア識別コントローラ６Ｂは、外部インターフェース５Ｂを介して第三制御信号を第一マイコン１００Ａに出力する（ステップＳ５）。
【００５６】
一方、アクセス先がメインメモリ４Ｂであると判定された場合（ステップＳ３のＮＯ）、アドレスデコーダ２Ｂは、第一制御信号の「コア識別情報部」における情報に基づいて書き込み要求を発したＣＰＵ（例えば、第八ＣＰＵ（第二マイコン１００Ｂにおけるマルチコアプロセッサ１ＢのＣＰＵ１３Ｂ）とする。）を特定する（ステップＳ６）。
【００５７】
その後、アドレスデコーダ２Ｂは、書き込み先のアドレス番号及び書き込み要求を発したＣＰＵ１３Ｂに関する情報をアクセス権限情報保持機構２１Ｂに引き渡し、書き込み要求を発したＣＰＵ１３Ｂによる、書き込み先のアドレス番号が示すメモリ領域に対する、アクセス権限情報を取得する（ステップＳ７）。
【００５８】
メモリ管理機構２０Ｂは、取得したアクセス権限情報に基づいてＣＰＵ１３Ｂの要求（書き込み要求）を満たすことができるか否かを判定し（ステップＳ８）、判定結果を含む第二制御信号（図２（Ｂ）参照。）をメモリコントローラ３Ｂに出力する。
【００５９】
メモリコントローラ３Ｂは、メモリ管理機構２０ＢがＣＰＵ１３Ｂの要求を満たすことができると判定した場合（ステップＳ８のＹＥＳ）、ＣＰＵ１３Ｂによるメインメモリ４Ｂへの書き込みを実行させ（ステップＳ９）、メモリ管理機構２０ＢがＣＰＵ１３Ｂの要求を満たすことができないと判定した場合（ステップＳ８のＮＯ）、ＣＰＵ１３Ｂによるメインメモリ４Ｂへの書き込みを禁止する（ステップＳ１０）。
【００６０】
次に、第一マイコン１００Ａが第二マイコン１００Ｂのマルチコアプロセッサ１Ｂによるメインメモリ４Ａへのアクセスの可否を判定する処理（以下、「他マイコンアクセス判定処理」とする。）について説明する。なお、図７は、他マイコンアクセス判定処理の流れを示すフローチャートである。
【００６１】
最初に、第一マイコン１００Ａのコア識別コントローラ６Ａは、第二マイコン１００Ｂからメモリアクセス要求信号が出力されるのを監視する（ステップＳ１１）。
【００６２】
コア識別コントローラ６Ａは、メモリアクセス要求信号を受信するまでそのまま待機し（ステップＳ１１のＮＯ）、メモリアクセス要求信号（例えば、書き込み要求をいう。）を受信した場合（ステップＳ１１のＹＥＳ）、メモリアクセス要求信号（例えば、第三制御信号（図２（Ｃ）参照。）とする。）の「アドレス情報部」の情報に基づいて書き込み先のアドレス番号を取得する（ステップＳ１２）。
【００６３】
その後、コア識別コントローラ６Ａは、第三制御信号の「アドレス情報部」にある情報を本来のアドレス情報とコア識別情報とに分割し（ステップＳ１３）、分割で得たコア識別情報に基づいて書き込み要求を発したＣＰＵ（例えば、第八ＣＰＵ（第二マイコン１００Ｂにおけるマルチコアプロセッサ１ＢのＣＰＵ１３Ｂ）とする。）を特定する（ステップＳ１４）。
【００６４】
また、コア識別コントローラ６Ａは、抽出したコア識別情報に基づいて第三制御信号（図２（Ｃ）参照。）から第一制御信号（図２（Ａ）参照。）を復元し、復元した第一制御信号をアドレスデコーダ２Ａに出力する。
【００６５】
その後、アドレスデコーダ２Ａは、書き込み先のアドレス番号及び書き込み要求を発したＣＰＵ１３Ｂに関する情報をアクセス権限情報保持機構２１Ａに引き渡し、書き込み要求を発したＣＰＵ１３Ｂによる、書き込み先のアドレス番号が示すメモリ領域に対する、アクセス権限情報を取得する（ステップＳ１５）。
【００６６】
例えば、アクセス権限情報保持機構２１Ａが図５に示すようなアクセス権限情報を保持している場合であって、第八ＣＰＵ（ＣＰＵ１３Ｂ）がメインメモリ４Ａのアドレス番号０ｘ０１００で示される領域（領域４１Ａ）に書き込み要求を発したとき、アクセス権限情報保持機構２１Ａは、アクセス権限情報「ライト（書き込み）不可」をメモリ管理機構２０Ａに対して出力する。
【００６７】
メモリ管理機構２０Ａは、上述のように、アクセス権限情報に基づいてＣＰＵ１３Ｂの要求（書き込み要求）を満たすことができるか否かを判定し（ステップＳ１６）、判定結果を第二制御信号に含めてメモリコントローラ３Ａに出力する。
【００６８】
メモリコントローラ３Ａは、メモリ管理機構２０ＡがＣＰＵ１３Ｂの要求を満たすことができると判定した場合（ステップＳ１６のＹＥＳ）、ＣＰＵ１３Ｂによるメインメモリ４Ａへの書き込みを実行させ（ステップＳ１７）、メモリ管理機構２０ＡがＣＰＵ１３Ｂの要求を満たすことができないと判定した場合（ステップＳ１６のＮＯ）、ＣＰＵ１３Ｂによるメインメモリ４Ａへの書き込みを禁止する（ステップＳ１８）。
【００６９】
以上の構成により、情報処理システムＳは、他のマイコンのＣＰＵによるメインメモリに対するアクセスをＣＰＵ毎に管理するので、マルチコアプロセッサを備えた複数のマイコン間でメモリを共有させながらも特定のメモリ領域をＣＰＵ毎に保護したり、隔離したりすることができ、ソフトウェアの誤作動によるメモリ破壊やシステム全体の暴走をより確実に防止することができる。
【００７０】
また、情報処理システムＳは、複数のマイコン間でメモリを共有させるので、車載システムに採用された場合には、追従走行制御システムや制動力制御システム等の制御系ソフトウェアとナビゲーションシステムや情報検索システム等の情報系ソフトウェアとを別々のマイコン上で動作させながら、制御系ソフトウェアと情報系ソフトウェアとの間のデータのやり取りを迅速かつ確実に実行させることができる。
【００７１】
また、情報処理システムＳは、求められる品質（堅牢性や応答性等の度合いをいう。）の異なる複数のソフトウェアを同一マイコン上で相互干渉させることなく動作させることができる。
【００７２】
また、情報処理システムＳは、マイコン間でやり取りする信号の未使用ビットにコア識別情報を組み入れるので、マイコン間の通信とマイコン内の通信とでバス規格が異なる場合にも、新たなビット（データフィールド）を追加することなく、マイコン間の通信でコア識別情報をやり取りさせることができる。
【００７３】
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
【００７４】
例えば、上述の実施例において、情報処理システムＳは、出力側のコア識別コントローラによりマイコン間でやり取りする信号の未使用ビットにコア識別情報を組み入れるようにするが、マイコン間で使用するバス規格に応じて、コア識別情報を格納するデータフィールドをマイコン間でやり取りする信号に付与するようにしてもよく、ＳＯＣ上のバスで使用する信号をそのままマイコン間で使用するようにしてもよい。
【００７５】
また、情報処理システムＳは、出力側のコア識別コントローラによりマイコン間でやり取りする信号におけるアドレス情報部が示すアドレス番号等にコア識別情報を加算、減算又はシフト演算等によって組み入れるようにしてもよい。この場合、受信側のコア識別コントローラは、組み入れの際に使用した演算とは逆の演算を行うことによりコア識別情報を取得するようにする。
【００７６】
また、情報処理システムＳは、各マイコンのメインメモリにそれぞれ異なるデータを記憶させ、同じデータが複数のメインメモリに重複して記憶されるのを防止するようにしてもよく、各マイコンのメインメモリの一部に同じデータを同期させながら記憶させ、自マルチコアプロセッサが自メインメモリに記憶された最新のデータをアクセスできるようにしてシステム全体の処理速度を向上させるようにしてもよい。
【００７７】
また、上述の実施例において、情報処理システムＳは、４個のＣＰＵで構成されるマルチコアプロセッサを有するマイコンを２個接続させているが、２個、３個、又は、５個以上のＣＰＵで構成されるマルチコアプロセッサを有するマイコンを３個以上接続させるようにしてもよく、各マイコンが異なる数のＣＰＵで構成されるマルチコアプロセッサを備えるようにしてもよい。
【図面の簡単な説明】
【００７８】
【図１】本発明に係る情報処理システムの構成例を示すブロック図である。
【図２】各種制御信号の構成例を示す図である。
【図３】コア識別情報の構成例を示す図である。
【図４】メインメモリの構成例を示す図である。
【図５】アクセス権限情報の設定例を示す表である。
【図６】メモリアクセス要求信号出力処理の流れを示すフローチャートである。
【図７】他マイコンアクセス判定処理の流れを示すフローチャートである。
【符号の説明】
【００７９】
１Ａ、１Ｂ  マルチコアプロセッサ
２Ａ、２Ｂ  アドレスデコーダ
３Ａ、３Ｂ  メモリコントローラ
４Ａ、４Ｂ  メインメモリ
５Ａ、５Ｂ  外部インターフェース
６Ａ、６Ｂ  コア識別コントローラ
１０Ａ〜１３Ａ、１０Ｂ〜１３Ｂ  ＣＰＵ
２０Ａ、２０Ｂ  メモリ管理機構
２１Ａ、２１Ｂ  アクセス権限情報保持機構
４０Ａ〜４３Ａ  メモリ領域
５０Ａ  アドレス欄
５１Ａ  アクセス権限情報欄
１００Ａ、１００Ｂ  マイコン
Ｓ      情報処理システム
【図１】
2008225906.tif 000003
【図２】
2008225906.tif 000004
【図３】
2008225906.tif 000005
【図４】
2008225906.tif 000006
【図５】
2008225906.tif 000007
【図６】
2008225906.tif 000008
【図７】
2008225906.tif 000009