(57)【要約】【課題】メインプロセッサの主記憶メモリの一部をサブプロセッサとの共有メモリとして使用してもメインプロセッサのパフォーマンス低下が発生しないマルチプロセッサ装置を実現する。【解決手段】メインプロセッサの主記憶メモリの一部をサブプロセッサとの共有メモリとして使用するマルチプロセッサ装置に関する。共有メモリへアクセスする際に、応答待ち可能時間をアクセス情報として付帯したアクセス要求を発行するサブプロセッサから、アクセス情報を抽出して解析するアクセス情報解析手段と、アクセス情報に基づいて、メインプロセッサとサブプロセッサの主記憶メモリへのアクセスを調停するアクセス調停手段とを設け、アクセス調停手段は、応答待ち可能時間内であれば、サブプロセッサからのアクセス要求を保留してメインプロセッサからのアクセス要求に備える構成とした。【選択図】図１
2009070345.tif 000002
【特許請求の範囲】
【請求項１】
メインプロセッサの主記憶メモリの一部をサブプロセッサとの共有メモリとして使用するマルチプロセッサ装置において、
前記共有メモリへアクセスする際に、応答待ち可能時間をアクセス情報として付帯したアクセス要求を発行するサブプロセッサから、前記アクセス情報を抽出して解析するアクセス情報解析手段と、
前記アクセス情報に基づいて、メインプロセッサとサブプロセッサの前記主記憶メモリへのアクセスを調停するアクセス調停手段と、を有し、
該アクセス調停手段は、前記応答待ち可能時間内であれば、サブプロセッサからのアクセス要求を保留してメインプロセッサからのアクセス要求に備えることを特徴とするマルチプロセッサ装置。
【請求項２】
前記アクセス情報解析手段は、各サブプロセッサの応答待ち可能時間を比較し、前記アクセス調停手段は、応答待ち可能時間の残り時間が少ない順にサブプロセッサのアクセス要求を処理することを特徴とする請求項１記載のマルチプロセッサ装置。  
【請求項３】
前記アクセス調停手段は、メインプロセッサからのアクセス要求を処理した直後にサブプロセッサからのアクセス要求を１つずつ処理することを特徴とする請求項１又は２記載のマルチプロセッサ装置。  
【請求項４】
前記アクセス情報は、サブプロセッサ間の優先度情報を含んでおり、応答待ち可能時間の残り時間が同じ場合は、前記優先度情報に基づいて優先度の高いサブプロセッサのアクセス要求から処理することを特徴とする請求項２又は３記載のマルチプロセッサ装置。
【請求項５】
前記アクセス情報解析手段により前記応答待ち可能時間に対応して起動されるタイマーをサブプロセッサ毎に有し、
前記アクセス調停手段は、前記タイマーがタイムアップするまで該当するサブプロセッサのアクセス要求を保留することを特徴とする請求項１乃至４のいずれかに記載のマルチプロセッサ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メインプロセッサの主記憶メモリの一部をサブプロセッサとの共有メモリとして使用するマルチプロセッサ装置に関し、特に、共有メモリへのアクセス調停に関するものである。
【背景技術】
【０００２】
近年、半導体メモリの大容量化が進み、アクセススピードもプロセッサ等に比べ格段に向上している。それに伴い、マルチプロセッサ装置において、メインプロセッサの主記憶メモリの一部をサブプロセッサとの共有メモリとして使用することが多くなってきている。これにより、コストや実装面積の削減等のメリットが大きい反面、主記憶メモリをメインプロセッサとサブプロセッサでアクセス競合することによるメインプロセッサのパフォーマンスへの影響を排除する必要が生じてきた。
【０００３】
図４は従来のマルチプロセッサ装置の構成を示した図である。
メインプロセッサ１、サブプロセッサ２ａ，２ｂからなるマルチプロセッサ装置であり、メインプロセッサ１の主記憶メモリ３の一部をサブプロセッサ２ａ，２ｂとの共有メモリ３ａとして使用している。
【０００４】
調停手段４は、メインプロセッサ１、サブプロセッサ２ａ，２ｂのそれぞれから主記憶メモリ３へのアクセス要求を受け付け、アクセスの調停を行う。
それぞれのアクセスにはあらかじめ優先度が付けられており、アクセス要求が競合した場合には、メインプロセッサ１の要求を先に処理してパフォーマンスの低下を回避している。
【０００５】
図５は、図４の動作を示したタイムチャートである。
タイムチャート中の「Ｒ」はアクセス要求、「Ａｃｃ」はメモリアクセスのそれぞれの状態であることを示している。
アクセスの優先度は優先度の高い順に、メインプロセッサ１、サブプロセッサ２ａ、サブプロセッサ２ｂとあらかじめ設定されている。
【０００６】
タイムチャートＡ部において、メインプロセッサ１、サブプロセッサ２ａ，２ｂのアクセスが競合している。この場合、調停手段４はあらかじめ設定されているアクセスの優先度に従い主記憶メモリ３へのアクセスを調停し、最初にメインプロセッサ１のアクセスを実行して、サブプロセッサ２ａ、サブプロセッサ２ｂからのアクセス要求は保留しておく。次に、メインプロセッサ１のアクセスが終了するとサブプロセッサ２ａのアクセスを実行し、サブプロセッサ２ｂからのアクセス要求は保留にしておく。最後に、サブプロセッサ２ａのアクセスが終了するとサブプロセッサ２ｂのアクセスを実行する。
【０００７】
タイムチャートＢ部において、メインプロセッサ１からアクセス要求を発行した際、サブプロセッサ２ｂのアクセスが既に行われている。この場合、調停手段４はサブプロセッサ２ｂのアクセスが終了するまでメインプロセッサ１からのアクセス要求を保留し、サブプロセッサ２ｂのアクセスが終了次第メインプロセッサ１のアクセスを実行する。
【０００８】
タイムチャートＣ部において、メインプロセッサ１からアクセス要求を発行した際、サブプロセッサ２ａのアクセス要求が既に発行されている。この場合、調停手段４はサブプロセッサ２ａのアクセスを先に実行し、メインプロセッサ１からのアクセス要求は保留しておく。その後、サブプロセッサ２ａのアクセスが終了次第メインプロセッサ１のアクセスを実行する。
【０００９】
【特許文献１】特開２００５−２４２９２９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
プロセッサ間でメモリへのアクセス要求が同時に発行した場合、あらかじめ設定された優先度に応じてアクセスの順序を決定し、処理を実行していた。このため、どんなに優先度の高いメインプロセッサからのアクセス要求であっても他のサブプロセッサがアクセスしている場合はそのアクセスが終了するまでメインプロセッサの処理が待たされることになり、メインプロセッサのパフォーマンスが低下してしまっていた。
【００１１】
また、共有メモリをサブプロセッサ側にそれぞれ配置すれば、アクセス競合の問題は発生しないが、コストアップや、メインプロセッサが共有メモリをアクセスするスピードが低下することによるパフォーマンスの低下といった問題点があった。
【００１２】
本発明は上述した問題点を解決するためになされたものであり、メインプロセッサの主記憶メモリの一部をサブプロセッサとの共有メモリとして使用してもメインプロセッサのパフォーマンス低下が発生しないマルチプロセッサ装置を実現することを目的とする。
【課題を解決するための手段】
【００１３】
このような課題を達成するために、本発明は次のとおりの構成になっている。
（１）メインプロセッサの主記憶メモリの一部をサブプロセッサとの共有メモリとして使用するマルチプロセッサ装置において、
前記共有メモリへアクセスする際に、応答待ち可能時間をアクセス情報として付帯したアクセス要求を発行するサブプロセッサから、前記アクセス情報を抽出して解析するアクセス情報解析手段と、
前記アクセス情報に基づいて、メインプロセッサとサブプロセッサの前記主記憶メモリへのアクセスを調停するアクセス調停手段と、を有し、
該アクセス調停手段は、前記応答待ち可能時間内であれば、サブプロセッサからのアクセス要求を保留してメインプロセッサからのアクセス要求に備えることを特徴とするマルチプロセッサ装置。
【００１４】
（２）前記アクセス情報解析手段は、各サブプロセッサの応答待ち可能時間を比較し、前記アクセス調停手段は、応答待ち可能時間の残り時間が少ない順にサブプロセッサのアクセス要求を処理することを特徴とする（１）記載のマルチプロセッサ装置。
【００１５】
（３）前記アクセス調停手段は、メインプロセッサからのアクセス要求を処理した直後にサブプロセッサからのアクセス要求を１つずつ処理することを特徴とする（１）又は（２）記載のマルチプロセッサ装置。
【００１６】
（４）前記アクセス情報は、サブプロセッサ間の優先度情報を含んでおり、応答待ち可能時間の残り時間が同じ場合は、前記優先度情報に基づいて優先度の高いサブプロセッサのアクセス要求から処理することを特徴とする（２）又は（３）記載のマルチプロセッサ装置。
【００１７】
（５）前記アクセス情報解析手段により前記応答待ち可能時間に対応して起動されるタイマーをサブプロセッサ毎に有し、
前記アクセス調停手段は、前記タイマーがタイムアップするまで該当するサブプロセッサのアクセス要求を保留することを特徴とする（１）乃至（４）のいずれかに記載のマルチプロセッサ装置。
【発明の効果】
【００１８】
本発明によれば次のような効果がある。
メインプロセッサの主記憶メモリへのアクセスは、サブプロセッサからのアクセス要求があった場合でも待たされることなく瞬時に処理されるため、主記憶メモリを共有化することによるパフォーマンス低下が発生しないマルチプロセッサ装置を実現することができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を用いて本発明を詳細に説明する。
図１は本発明の一実施例を示す構成図である。前出の図と同一のものは同一符号を付ける。
メインプロセッサ１、サブプロセッサ２ａ，２ｂ，２ｃからなるマルチプロセッサ装置であり、メインプロセッサ１の主記憶メモリ３の一部をサブプロセッサ２ａ，２ｂ，２ｃとの共有メモリ３ａとして使用している。
【００２０】
メインプロセッサ１は制御演算を受け持ち、主記憶メモリ３を命令コードやデータ等の読み書きとしてアクセスするため、アクセス要求に対するリアルタイム処理が要求される。一方、サブプロセッサ２ａ，２ｂ，２ｃは通信等の外部アクセスを受け持つため、メインプロセッサ１に比べ低速な処理しか要求されない。
最新のメインプロセッサのシステムバス（例えば、動作周波数は１３３ＭＨｚ）と主記憶メモリバス（例えば、動作周波数は５３３ＭＨｚ）は約４倍程度の帯域の違いがあるため、メインプロセッサ１のメモリアクセス後に、サブプロセッサ２ａ，２ｂ，２ｃが処理できる空き時間が確保されている。
【００２１】
サブプロセッサ２ａ，２ｂ，２ｃは、共有メモリ３ａへアクセスする際に、応答待ち可能時間をアクセス情報として付帯したアクセス要求を発行する。
アクセス情報解析手段１０は、サブプロセッサ２ａ，２ｂ，２ｃからアクセス要求を受け付け、アクセス要求に付帯しているアクセス情報を抽出する。アクセス情報としては、応答待ち可能時間の他、サブプロセッサ２ａ，２ｂ，２ｃ間のアクセスの優先順位を定めた優先度情報等がある。
【００２２】
また、アクセス情報解析手段１０は、メインプロセッサ１からのアクセス要求も受け付ける。メインプロセッサ１からのアクセス要求は定周期で発行されるが、サブプロセッサ２ａ，２ｂ，２ｃからのアクセス要求は不定期で発行される。アクセス情報解析手段１０は、メインプロセッサ１、サブプロセッサ２ａ，２ｂ，２ｃからのアクセス要求が発行された時間をそれぞれ管理するとともに、サブプロセッサ２ａ，２ｂ，２ｃから抽出した応答待ち可能時間等のアクセス情報を管理する。
【００２３】
具体的には、アクセス情報解析手段１０は、メインプロセッサ１からのアクセス要求が発行された時間と、サブプロセッサ２ａ，２ｂ，２ｃからのアクセス要求が発行された時間とを比較し、メインプロセッサ１から次のアクセス要求が発行されメインプロセッサ１の処理が実行されるまでサブプロセッサ２ａ，２ｂ，２ｃからのアクセス要求を保留可能かどうか解析する。
【００２４】
アクセス調停手段２０は、アクセス情報解析手段１０の解析結果を受け、サブプロセッサ２ａ，２ｂ，２ｃが付帯している応答待ち可能時間内であれば、サブプロセッサ２ａ，２ｂ，２ｃからのアクセス要求を保留してメインプロセッサ１からのアクセス要求に備える。
アクセス調停手段２０は、メインプロセッサ１からのアクセス要求が発行されると直ちにメインプロセッサ１のアクセス要求を処理し、その直後にサブプロセッサ２ａ，２ｂ，２ｃからのアクセス要求のうち１つを処理する。
【００２５】
この際、アクセス情報解析手段１０は、サブプロセッサ２ａ，２ｂ，２ｃそれぞれのアクセス要求が発行された時からの経過時間を管理しており、アクセス調停手段２０は、応答待ち可能時間の残り時間が少ないサブプロセッサから順に１つずつ処理を行う。
サブプロセッサ２ａ，２ｂ，２ｃそれぞれの応答待ち可能時間が等しい場合には、アクセス要求が発行された順に処理を行うようにしてもよいし、アクセス情報に含まれている優先度情報に基づいて優先度の高いサブプロセッサのアクセス要求から処理を行うようにしてもよい。
【００２６】
このように、アクセス調停手段２０は、メインプロセッサ１が主記憶メモリ３をアクセスする応答性を最重視するように制御を行うため、メインプロセッサ１からのアクセス要求はサブプロセッサ２ａ，２ｂ，２ｃからアクセス要求があった場合でも待たされることがなく処理することができる。
【００２７】
図２は、図１の動作を示したタイムチャートである。
例えば、メインプロセッサ１からのアクセス要求は５００ｎｓ周期で発行され、サブプロセッサ２ａ，２ｂ，２ｃからのアクセス要求は不定期で発行され、それぞれの応答待ち可能時間は１０ｕｓ，２０ｕｓ，３０ｕｓであるとする。
タイムチャートＡ部において、メインプロセッサ１、サブプロセッサ２ａ，２ｂ，２ｃのアクセスが競合している。サブプロセッサ２ａ，２ｂ，２ｃからのアクセス要求には応答待ち可能時間が付帯しており、応答待ち可能時間がメインプロセッサ１の次周期の処理が終了するまで待つことができる時間であるので、サブプロセッサ２ａ，２ｂ，２ｃからのアクセス要求は保留されて、メインプロセッサ１のアクセスが即時に実行される。
【００２８】
サブプロセッサ２ａ，２ｂ，２ｃからのアクセス要求に対する処理は、メインプロセッサ１の処理が終了した直後に実行される。この際、サブプロセッサ２ａ，２ｂ，２ｃの応答待ち可能時間はそれぞれ１０ｕｓ，２０ｕｓ，３０ｕｓで、応答待ち可能時間の残り時間が一番少ないのはサブプロセッサ２ａである。また、サブプロセッサ２ｂ，２ｃの応答待ち可能時間の残り時間は、メインプロセッサ１の次周期の処理が終了するまで待つことができる時間である。よって、まずサブプロセッサ２ａの処理が実行され（Ａ１部）、サブプロセッサ２ｂ，２ｃからのアクセス要求は保留されたままとなる。
その後同様に、サブプロセッサ２ｂ，２ｃの処理もメインプロセッサ１の処理が終了した直後に１つずつ実行されることになる（Ａ２，Ａ３部）。
【００２９】
タイムチャートＢ部において、サブプロセッサ２ａ，２ｂのアクセスが競合している。この時点でメインプロセッサ１の処理は終了した状態であり、メインプロセッサ１からのアクセス要求は発行されていないが、メインプロセッサ１から次のアクセス要求が発行された場合に即時にその処理を実行できるように、サブプロセッサ２ａ，２ｂからのアクセス要求が保留できるかどうかを判断する。サブプロセッサ２ａ，２ｂそれぞれの応答待ち可能時間は、メインプロセッサ１の次の処理が終了するまで待つことができる時間であるので、サブプロセッサ２ａ，２ｂからのアクセス要求は保留される。
【００３０】
そして、メインプロセッサ１からのアクセス要求があるとそのアクセスが即時に実行され、処理が終了した直後に、応答待ち可能時間の残り時間が少ないサブプロセッサ２ａの処理が実行され（Ｂ１部）、サブプロセッサ２ｂからのアクセス要求は保留されたままとなる。
その後同様に、サブプロセッサ２ｂの処理もメインプロセッサ１の次の処理が終了した直後に実行される（Ｂ２部）。
【００３１】
図３は本発明の他の実施例を示す図である。
アクセス情報解析手段１０には、それぞれのサブプロセッサ２ａ，２ｂ，２ｃに対応したタイマー１１ａ，１１ｂ，１１ｃが設けられている。
アクセス情報解析手段１０は、サブプロセッサ２ａ，２ｂ，２ｃからのアクセス要求を受け付けると、アクセス要求に付帯しているアクセス情報のうち応答待ち可能時間を抽出し、応答待ち可能時間に対応してタイマー１１ａ，１１ｂ，１１ｃそれぞれにタイマー時間を設定して起動する。
【００３２】
タイマー１１ａ，１１ｂ，１１ｃのタイマー時間は、メインプロセッサ１、サブプロセッサ２ａ，２ｂ，２ｃそれぞれの処理速度、メインプロセッサ１のアクセス周期、サブプロセッサ２ａ，２ｂ，２ｃの応答待ち可能時間等の全体を考慮してアクセス情報解析手段１０で解析し、適切な値が導き出される。
また、サブプロセッサ２ａ，２ｂ，２ｃからのアクセス要求は不定期であるので、タイマー時間は、既に設定されている他のタイマーの状況に応じて、アクセス要求が発行される毎に状況に応じた値が設定される。
【００３３】
アクセス調停手段２０は、タイマー１１ａ，１１ｂ，１１ｃがタイムアップするまで該当するサブプロセッサ２ａ，２ｂ，２ｃのアクセス要求を保留し、タイムアップしたサブプロセッサの処理を実行する。
通常時は、メインプロセッサ１からの主記憶メモリ３へのアクセスが頻繁に行われるため、メインプロセッサ１のアクセス直後の空き時間を利用して応答待ち可能時間の余裕のないアクセス要求から処理を１つずつ実行する。
【００３４】
ただし、メインプロセッサ１からのアクセス頻度が低下したような特殊ケース（例えば、スタンバイモードやメインプロセッサのリセット状態等）では、メインプロセッサ１のアクセスの直後にサブプロセッサ２ａ，２ｂ，２ｃの処理を実行することができなくなる。
そこで、アクセス情報解析手段１０は、メインプロセッサ１のアクセス要求の状況等を解析し、メインプロセッサ１からのアクセス頻度が低下していると判断した場合には、サブプロセッサ２ａ，２ｂ，２ｃの応答待ち可能時間の残り時間に応じて順次処理を行うようにアクセス調停手段２０に指示することで、サブプロセッサ２ａ，２ｂ，２ｃのアクセス要求が破棄されるのを防止するようにすることができる。
【００３５】
本発明では、サブプロセッサからのアクセス要求に応答待ち可能時間情報を付加する構成とし、通常時はいつもメインプロセッサのアクセスのためにサブプロセッサからのアクセス要求を保留し、メインプロセッサのアクセスの直後の空き時間を利用してサブプロセッサからのアクセス要求を処理するようにしたので、主記憶メモリを共有化してもパフォーマンス低下が発生しないマルチプロセッサ装置を実現することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の一実施例を示す構成図である。
【図２】図１の動作を示したタイムチャートである。
【図３】本発明の他の実施例を示す図である。
【図４】従来のマルチプロセッサ装置の構成を示した図である。
【図５】図４の動作を示したタイムチャートである。
【符号の説明】
【００３７】
１  メインプロセッサ
２ａ，２ｂ，２ｃ  サブプロセッサ
３  主記憶メモリ
３ａ  共有メモリ
１０  アクセス情報解析手段
１１ａ，１１ｂ，１１ｃ  タイマー
２０  アクセス調停手段
【図１】
2009070345.tif 000003
【図２】
2009070345.tif 000004
【図３】
2009070345.tif 000005
【図５】
2009070345.tif 000006
【図４】
2009070345.tif 000007