JP5651209B2 - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム Download PDF

Info

Publication number
JP5651209B2
JP5651209B2 JP2013111003A JP2013111003A JP5651209B2 JP 5651209 B2 JP5651209 B2 JP 5651209B2 JP 2013111003 A JP2013111003 A JP 2013111003A JP 2013111003 A JP2013111003 A JP 2013111003A JP 5651209 B2 JP5651209 B2 JP 5651209B2
Authority
JP
Japan
Prior art keywords
access
processor
unit
shared resource
processor element
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013111003A
Other languages
English (en)
Other versions
JP2013164873A (ja
Inventor
正行 大東
正行 大東
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2013111003A priority Critical patent/JP5651209B2/ja
Publication of JP2013164873A publication Critical patent/JP2013164873A/ja
Application granted granted Critical
Publication of JP5651209B2 publication Critical patent/JP5651209B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Description

本発明はマルチプロセッサシステムに関し、特に各プロセッサが他のプロセッサと共有される共有リソースを有するマルチプロセッサシステムに関する。
近年、複数のプロセッサの間でメモリ等のリソースを共有するマルチプロセッサシステムが多く用いられている。このようなマルチプロセッサシステムでは、他プロセッサが実行しているタスクの暴走によって、自プロセッサが利用するメモリ領域の情報を誤って上書きしてしまう問題が発生する。このような問題が発生すると、自プロセッサが実行しているタスクの正常な動作が阻害され、システムの動作に不具合が生じる。
そこで、複数のプロセッサ間においてタスクの暴走の影響を互いに防ぐマルチプロセッサシステムに関する技術が特許文献1(以下、従来例1と称す)に開示されている。従来例1に開示されているマルチプロセッサシステム100のブロック図を図9に示す。図9に示すように、マルチプロセッサシステム100は、第1のプロセッサ101Aと第2のプロセッサ101Bとがシステムバス105で接続される。そして、第1のプロセッサ101Aと第2のプロセッサ101Bは、それぞれCPUボード101、メモリボード103を有している。CPUボード101は、アドレス生成部102を含み、メモリボード103とローカルバス104で接続される。マルチプロセッサシステム100では、第1のプロセッサ101Aから第2のプロセッサ101Bのメモリボード103にアクセスを行う場合、このアドレス生成部102にてアドレス変換を行う。これによって、第2のプロセッサ101Bに搭載されるメモリボード103において第2のプロセッサ101Bが使用する領域を、第1のプロセッサ101Aからのアクセスによって侵害しないように制御する。
従来例1では、レジスタに予め固定的に設定されたアクセス保護範囲設定値を参照してアドレス生成部が他のプロセッサ上のメモリボードへのアクセスを制御する。また、特許文献2(以下、従来例2と称す)には、従来例1のレジスタとしてPLD(Programmable Logic Device)を利用して、製造後であってもアクセス保護範囲設定値を変更できる構成が開示されている。
特開平9−297711号公報 特開2002−32352号公報
しかしながら、従来例2におていも、プロセッサの利用状況に応じてアクセス保護範囲設定値を変更することができない。つまり、プロセッサが実行するプログラムに応じて動的にアクセス保護範囲を設定することができない。このようなことから、従来例1、2で開示されるマルチプロセッサシステムでは、柔軟なリソースの共有ができない問題がある。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本発明にかかるマルチプロセッサシステムは、第1、第2のプロセッサエレメントを有し、前記第1、第2のプロセッサエレメントが独立してプログラムを実行するマルチプロセッサシステムであって、前記第1のプロセッサエレメントは、プログラムに基づき演算処理を行う中央演算装置と、前記第1、第2のプロセッサエレメントの間で共有される共有リソースと、前記中央演算装置が指定するアクセス保護範囲設定値に基づき前記第2のプロセッサエレメントから前記共有リソースへのアクセス要求を制限するガードユニットと、を有するものである。
本発明にかかるマルチプロセッサシステムは、中央演算装置が指定するアクセス範囲設定値に基づきガードユニットが第2のプロセッサエレメントからのアクセスを制限する。つまり、アクセス保護範囲設定値を中央演算装置が実行するプログラムに応じて変更することが可能である。このことより、本発明にかかるマルチプロセッサシステムによれば、第2のプロセッサエレメントから第1のプロセッサエレメント内の共有リソースへのアクセス制限を第1のプロセッサエレメントが実行している処理に基づき設定することが可能である。また、共有リソースにおいて第1のプロセッサエレメントが使用する領域を第2のプロセッサエレメントで実行されているプログラムによって侵害されることを防ぐことが可能である。
本発明にかかるマルチプロセッサシステムによれば、プロセッサエレメントでそれぞれ実行されるプログラムの信頼性を向上させることが可能である。
実施の形態1にかかるマルチプロセッサシステムのブロック図である。 実施の形態1におけるガードユニットのブロック図である。 実施の形態1にかかる保護情報保持ユニットの概略図である。 実施の形態1にかかるマルチプロセッサシステムの動作を示すフローチャートである。 実施の形態1におけるガードユニットの動作を示すフローチャートである。 実施の形態2にかかるマルチプロセッサシステムのブロック図である。 実施の形態3にかかるマルチプロセッサシステムのブロック図である。 実施の形態4にかかるマルチプロセッサシステムのブロック図である。 従来例にかかるマルチプロセッサシステムのブロック図である。である。
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。図1に実施の形態1にかかるマルチプロセッサシステム1のブロック図を示す。図1に示すように、マルチプロセッサシステム1は、第1のプロセッサエレメントPE−Aと第2のプロセッサエレメントPE−Bとがバスを介して接続される。
第1のプロセッサエレメントPE−Aは、中央演算装置CPUa、ROM(Read Only Memory)15a、ガードユニット16a、リソースコントローラ17a、共有リソース18aを有している。なお、本実施の形態では、第2のプロセッサエレメントPE−Bは、第1のプロセッサエレメントPE−Aと同一の構成を有するものである。第2のプロセッサエレメントPE−Bにおいて中央演算装置CPUbは中央演算装置CPUaに対応するものであり、ROM15bはROM15aに対応するものであり、ガードユニット16bはガードユニット16aに対応するものであり、リソースコントローラ17bは、リソースコントローラ17aに対応するものであり、共有リソース18bは共有リソース18aに対応するものである。従って、本実施の形態では、第1のプロセッサエレメントを例にプロセッサエレメントの構成について説明する。なお、上記プロセッサエレメントは、それぞれ中央演算装置、ガードユニット、共有リソースが同一の半導体基板上に形成されたものであっても良く、複数のプロセッサエレメントが同一の半導体基板上に形成されるものであっても良い。
中央演算装置CPUaは、制御部11aと実行部12aを有している。制御部11aは、例えば実行部12aで実行されるプログラムの実行単位であるタスクが使用するデータが格納されるメモリ領域を指定し、データ保存領域の管理を行う。この管理は、MMU(Memory Management Unit)13aが行う。実行部12aは、プログラムを読み込んでタスク毎に各種処理を行う。また、実行部12aは、ロード/ストアユニット(図中のLO/STユニット)14aを有している。ロード/ストアユニット14aは、MMU13aの指示するメモリ管理情報に従い判断し、リソースコントローラ17aに対してタスクが使用するデータのリード又はライトのアクセスを行う。
ROM15aは、中央演算装置CPUaが読み込むプログラムの格納領域である。なお、本実施の形態では、プログラム格納領域としてROM15aを用いるが、プログラム格納領域はROM15aに限らず、CPUaがアクセス可能な領域であれば良い。
ガードユニット16aは、第2のプロセッサエレメントPE−Bとバスを介して接続されており、第2のプロセッサエレメントから送信されるアクセス要求を受信する。また、ガードユニット16aは、中央演算装置CPUaから保護情報設定バスを介してアクセス保護範囲設定値SEaが入力される。アクセス保護範囲設定値SEaは、保護情報設定バスを介して第1のプロセッサエレメントPE−Aからのみ設定可能である。ガードユニット16aは、このアクセス保護範囲設定値SEaとアクセス要求から得られる情報とに基づき、第2のプロセッサエレメントPE−Bから送信されたアクセスが許可されるべきものなのか、拒絶すべきものなのかを判断する。つまり、ガードユニット16aは、第2のプロセッサエレメントPE−Bから第1のプロセッサエレメントPE−Aへのアクセスを制御する。ガードユニット16aは、このアクセス制御に加えて、アクセス制御に基づいてアクセスが拒絶するものであると判断した場合、第1のプロセッサエレメントPE−Aと第2のプロセッサエレメントPE−Bとの双方に例外アクセスの発生を例外アクセス通知Eaなど用いて通知する。ガードユニット16aについての詳細は後述する。
リソースコントローラ17aは、共有リソース18aの制御装置であって、本実施の形態ではRAM(Random Access Memory)を制御する。リソースコントローラ17aは、中央演算装置CPUaから送信されるアクセス要求又はガードユニット16aを通過して受信したアクセス要求とに基づき共有リソース18aへの制御信号を生成する。このとき、リソースコントローラ17aは、中央演算装置CPUaから送信されるアクセス要求とガードユニット16aを通過して受信したアクセス要求との間の調停処理と、アクセス要求に含まれる情報から共有リソース18aに対する制御信号の生成を行う。アクセス要求に含まれる情報としては、例えばアクセスアドレス情報、リードやライトなどのアクセス属性を指定する情報がある。また、中央演算装置CPUaから送信されるアクセス要求が第2のプロセッサユニットPE−Bへのアクセス要求であった場合、第2のプロセッサユニットPE−Bに対してアクセス要求を送信する。
共有リソース18aは、第1のプロセッサエレメントPE−Aと第2のプロセッサエレメントPE−Bとの間で共通して用いられるリソースである。本実施の形態ではメモリを共有リソースとして使用する。従って、本実施の形態にかかる共有リソース18aは、RAM181aを有している。またRAM181aには、PE−A専用領域182aが定義されている。PE−A専用領域182aは、上記アクセス保護範囲設定値SEaによって定義される保護領域であって、アクセス保護範囲設定値SEaの値によって変動する。
ここで、ガードユニット16aについて詳細に説明する。図2にガードユニット16aのブロック図を示す。図2に示すように、ガードユニット16aは、保護設定ユニット21、判定ユニット22、アクセス無効化ユニット23、レスポンス生成ユニット24、例外アクセス発生通知ユニット25を有している。
保護設定ユニット21は、複数の設定情報保持レジスタを有している。そして、複数の設定情報保持レジスタには、中央演算装置CPUaが出力するアクセス保護範囲設定値SEaの情報がそれぞれ記憶される。この保護設定ユニット21の概略図を図3に示し、複数の設定情報保持レジスタについてさらに詳細に説明する。図3の例は、16個の設定情報保持レジスタを有する場合について示している。図3に示すように、複数の設定情報保持レジスタは、それぞれ保護範囲設定レジスタ、イネーブルフラグレジスタ、保護属性レジスタを有している。保護範囲設定レジスタには、アクセス保護範囲であるメモリ上のアドレス値の範囲が格納される。この保護範囲設定レジスタで示される保護範囲を第1のプロセッサエレメントPE−Aの専用領域とする。イネーブルフラグレジスタには、フラグ値ENが格納される。例えば、フラグ値ENが"1"であれば当該保護範囲設定レジスタに格納された保護範囲の設定が有効であることを示し、フラグ値ENが"0"であれば当該保護範囲設定レジスタに格納された保護範囲の設定が無効であることを示す。保護属性レジスタは、保護範囲設定レジスタに格納されるアドレス範囲に対して行われたアクセス要求がどのようなアクセス属性であった場合にアクセスを拒否するかを設定するためのアクセス属性が格納される。アクセス属性としては、例えばWrite(書き込み)、Read(読み出し)、Read/Write(読み書き)などがある。この保護属性レジスタの設定内容は、必ずしも変更可能である必要はなく、例えば書き込み属性などに固定されていても良い。
判定ユニット22は違反検出器221を有している。違反検出器221は、有効である保護設定範囲レジスタの値と、入力されるアクセス要求(アクセスアドレス及びストローブ)とを比較して、アクセス要求がアクセス保護範囲内であるか否かを判定する。この判定の結果、アクセス要求がアクセス保護範囲内である場合、違反検出器221は、エラー通知信号を拒否状態とする。なお、全ての保護設定範囲レジスタ内のイネーブルフラグレジスタのフラグ値が無効を示す場合、違反検出器221は、エラー通知信号を出力せずに、ガードユニット16aのアクセス制御機能は無効となる。
アクセス無効化ユニット23は、エラー通知信号に応じて第2のプロセッサエレメントPE−Bから送信されるアクセス要求を通過させるか、アクセス無効値を出力するかを選択するセレクタSEL1を有している。セレクタSEL1は、エラー通知信号が許可状態である場合に、第2のプロセッサエレメントPE−Bから送信されるアクセス要求を通過させる。一方、セレクタSEL1は、エラー通知信号が拒否状態である場合、アクセス無効値を出力する。アクセス無効値は、例えばリソースコントローラ17aに接続されるバス上のIdleコマンドなどであって、リソースコントローラ17aにアクセスがないことを示すコマンドである。
レスポンス生成ユニット24は、エラー通知信号に応じて第1のプロセッサエレメントPE−Aの共有リソース18aから出力されるメモリレスポンスを通過させるか、アクセス違反値を出力するかを選択するセレクタSEL2を有している。セレクタSEL2は、エラー通知信号が許可状態である場合に、リソースコントローラ17aから出力されるレスポンス情報(例えば、ready、メモリアクセスエラー、データなどのメモリレスポンス)を通過させる。一方、セレクタSEL2は、エラー通知信号が拒否状態である場合、アクセス違反値を出力する。このアクセス違反値は、メモリレスポンスの1つであるメモリアクセスエラーとは異なる値であって、第2のプロセッサエレメントPE−Bにアクセス要求がアクセス違反であったことを通知する値である。第1のプロセッサエレメントPE−A、又は、第2のプロセッサエレメントPE−Bが、アクセス違反値を受信すると、アクセス違反値に基づく処理が当該プロセッサエレメントで実行中の処理にかかわらず優先的に割り込み処理される。
例外アクセス発生通知ユニット25は、エラー通知信号に応じて中央演算装置CPUaに対して例外アクセスが発生したことを通知する割り込み要求信号などの例外アクセス発生通知信号を生成する。この割り込み要求信号は、中央演算装置CPUaが実行している処理に応じて適切な時期に受け付けられる。
また、ガードユニット16aは、アクセス要求とともに送信される共有リソース18aへの書き込みデータを通過させる配線を有する。この配線は、データ入力端子DINと内部入力端子DIINとの間に接続される。
次に、第1のプロセッサエレメントPE−Aでアクセス要求が発生した場合におけるマルチプロセッサシステム1の動作を例にしてマルチプロセッサシステムの動作について説明する。この場合におけるマルチプロセッサシステム1の動作を示すフローチャートを図4に示す。図4に示すように、中央演算装置CPUa内部のLO/STユニット14aからアクセス要求が発生すると、MMU13aが発生したアクセスが許可されるものか否かを判断する(ステップS1)。ステップS1にてアクセスが違反するものであると判断された場合、アクセス違反が発生したことを通知する例外発生通知が中央演算装置CPUaに対して行われる。これによって、中央演算装置CPUaは、例えば実行中のタスクを再起動する、あるいは実行しているプログラム自体を再起動する。一方、ステップS1にてアクセス要求が許可された場合、リソースコントローラ17aにてアクセスの対象メモリが判定される(ステップS2)。
ステップS2にて対象メモリが第1のプロセッサエレメントPE−A上のRAM181aと判断されると、リソースコントローラ17aは、RAM181aにデータを書き込む。一方、ステップS2にて対象メモリが第2のプロセッサエレメントPE−B上のRAM181bと判断されると、リソースコントローラ17aは、第2のプロセッサエレメントPE−B上のガードユニット16bにアクセス要求を送信する。
ガードユニット16bでは、第1のプロセッサエレメント側から送信されたアクセス要求が第2のプロセッサエレメントPE−Bの中央演算装置CPUbが指定するアクセス保護範囲内であるかどうかを判断する(ステップS3)。ステップS3にて、第1のプロセッサエレメント側から送信されたアクセス要求がアクセス保護範囲外(許可)であった場合、第1のプロセッサエレメントPE−Aは第2のプロセッサエレメントPE−BのRAM181bにアクセスを行う。一方、第1のプロセッサエレメント側から送信されたアクセス要求がアクセス保護範囲内(違反)であった場合、ガードユニット16bは、第2のプロセッサエレメントPE−Bのリソースコントローラ17bにアクセス無効値を出力し、中央演算装置CPUbに例外アクセス発生通知を行う。また、これらの処理を行うとともに、ガードユニット16bは、第1のプロセッサエレメントPE−Aにアクセス違反値を出力する。第1のプロセッサエレメントPE−Aがアクセス違反値を受信すると、中央演算装置CPUaに通知され、中央演算装置CPUaは、実行中の処理にかかわらず、アクセス違反値に基づく割り込み処理を優先実行する。これによって、第1のプロセッサエレメントPE−Aは、違反の発生を検知して実行中のタスクを再起動(もしくは停止)する、あるいは実行しているプログラム自体を再起動(もしくは停止)する。また、第2のプロセッサエレメントPE−Bは、第1のプロセッサエレメントPE−Aで異常が発生していることを検出できるため、異常発生に対して保護範囲を広げる、あるいは保護範囲を利用するタスクのみを継続する等の処理を行うことが可能である。
上記ステップS3のガードユニット16bにおいて行われる処理のフローチャートを図5に示す。この図5を参照して、ガードユニット16bの動作について詳細に説明する。まず、ガードユニット16bに対するアクセス要求が発生すると違反検出器221は、全ての保護範囲設定レジスタを参照し、有効であるレジスタの値を読み込む(ステップS4)。このとき、全ての保護範囲設定レジスタが無効であった場合(YESの枝)、ガードユニット16bは、第1のプロセッサエレメントPE−Aからのアクセス要求を第2のプロセッサエレメントPE−Bのリソースコントローラ17bに通過させる(ステップS6)。次に、リソースコントローラ17bは、アクセス要求の実行結果をメモリレスポンスとしてガードユニット16bを介して第1のプロセッサエレメントPE−Aに返信する(ステップS7)。これによって、第1のプロセッサエレメントPE−Aのバスサイクルが完了する(ステップS8)。
一方、ステップS4で有効な保護範囲設定レジスタがあった場合(NOの枝)、違反検出器221は、有効な保護範囲設定レジスタの値を参照して、アクセス要求がアクセス許可範囲内かを判断する(ステップS5)。ステップS5にて、アクセス要求がアクセス許可範囲内であった場合(YESの枝)、上記ステップS6〜S8を実行する。一方、ステップS5にて、アクセス要求がアクセス許可範囲外であった場合(NOの枝)、アクセス無効化ユニット23は、アクセス要求に変えてアクセス無効値をリソースコントローラ17bに送信することでアクセス要求を無効化する(ステップS9)。また、レスポンス生成ユニット24は、アクセス違反値を第1のプロセッサエレメントPE−Aに返信する(ステップS10)。さらに、例外アクセス発生通知ユニット25は、例外アクセス発生通知信号を中央演算装置CPUbに出力する(ステップS11)。
上記説明より、本実施の形態にかかるプロセッサエレメントは、同じプロセッサエレメントに配置される中央演算装置によってアクセス保護範囲が設定されるガードユニットを有している。そして、ガードユニットよって他のプロセッサエレメントからのアクセス要求がアクセス保護範囲内であるか否かを判断して、制限すべきアクセス要求を遮断する。これによって、それぞれのプロセッサエレメントは、自プロセッサエレメントが使用する専用のメモリ領域を確保しながら、専用領域として使用されない領域を共有領域として他のプロセッサエレメントと共有することができる。また、本実施の形態にかかるプロセッサエレメントでは、アクセス保護範囲設定値を自プロセッサエレメントが指定し、それを格納する保護情報設定レジスタを有している。このようなことから、本実施の形態にかかるプロセッサエレメントは、柔軟に保護範囲の設定を変更することが可能である。例えば、自プロセッサエレメントで行われている処理の状態に応じて、保護範囲を変更することが可能である。
さらに、専用領域に対して発行されるアクセス要求はガードユニットにて無効化されるため、専用領域に格納されるデータが他のプロセッサエレメントで実行されるタスクによって侵害されることがない。このようなことから、本実施の形態のプロセッサエレメントは、自プロセッサエレメントで実行しているタスクの信頼性を向上させることが可能である。
また、従来のマルチプロセッサシステムでは、他プロセッサエレメントが自プロセッサエレメントに対して起こしたアクセス違反を他プロセッサエレメントに通知することができなかった。このようなことから、従来のマルチプロセッサシステムでは、他プロセッサエレメントは、プロセッサエレメント間で発生した異常に対して、タスクの再起動などを行って動作を復旧することができなかった。
これに対して、本実施の形態にかかるガードユニットは、他プロセッサエレメントから例外アクセスが生じた場合に、自プロセッサエレメントに対して例外アクセス発生通知信号を生成し、さらに他プロセッサエレメントに対してアクセス違反値を返信する。このことから、自プロセッサエレメント及び他プロセッサエレメントはともに例外アクセスの発生を知ることができる。このように例外アクセスの発生を検知できれば、それぞれのプロセッサエレメントは例外アクセスに対して、それぞれ異常拡大の防止、異常タスクの復旧、又は、安全と判明しているタスクのみによる継続動作を行うことが可能である。つまり、自プロセッサエレメントにおいては他プロセッサエレメントで発生した異常に対する防御レベルの変更を行い自プロセッサエレメントで実行しているタスクを保護することが可能である。また、他プロセッサエレメントにおいては、タスクに異常が発生した時点でそのタスクを再起動するなどして、早期に異常状態からシステムを復旧することが可能である。このようなことから、本実施の形態にかかるプロセッサエレメントを有するマルチプロセッサシステムは、信頼性を向上させることが可能である。
実施の形態2
実施の形態2にかかるマルチプロセッサシステム2のブロック図を図6に示す。図6に示すように、マルチプロセッサシステム2では、第1のプロセッサエレメントPE−A2が共有リソース18aとしてI/Oインタフェース183aを有している。マルチプロセッサシステム2においても、第2のプロセッサエレメントPE−Bの構成は実施の形態1と同じである。
実施の形態2におけるリソースコントローラ17aは、I/Oインタフェース183aをアクセスアドレスに基づき制御する。I/Oインタフェース183aには、例えばエアバッグなどの被制御デバイス30が接続される。ここで、第2のプロセッサエレメントPE−Bは、I/Oインタフェース183aに対するアクセス権を有していないものとする。
このようなマルチプロセッサシステム2に搭載される第1のプロセッサエレメントPE−A2に対してガードユニット16aを設けることで、第2のプロセッサエレメントPE−Bのタスクが暴走してI/Oインタフェース183aに対するアクセス要求が発生したとしても、このアクセス要求はガードユニット16aで無効化される。これによって、マルチプロセッサシステム2は、他プロセッサエレメントのタスクの暴走に対して、エアバッグが誤動作することを防止することが可能である。
つまり、共有リソース18aとしては、メモリだけに限られず様々なリソースを設定することが可能である。また、このような共有リソースを有するマルチプロセッサシステムにおいてガードユニットを設けることでマルチプロセッサシステムの信頼性を向上させることが可能である。
実施の形態3
実施の形態3にかかるマルチプロセッサシステム3のブロック図を図7に示す。図7に示すように、マルチプロセッサシステム3では、第1のプロセッサエレメントPE−Aと同じ構成を有する第2のプロセッサエレメントPE−B及び第3のプロセッサエレメントPE−Cを有している。そして、第1のプロセッサエレメントPE−A、第2のプロセッサエレメントPE−B及び第3のプロセッサエレメントPE−Cは、互いにバスを介して接続される。このような場合であっても、カードユニットによって、実施の形態1と同様にシステムの信頼性を向上させることが可能である。
マルチプロセッサシステム3ように、2つ以上のプロセッサエレメントを接続する場合、バス構造として複数のプロセッサエレメントがそれぞれマスタとなるマルチマスタバス等を用いることが可能である。
実施の形態4
実施の形態4にかかるマルチプロセッサシステム4のブロック図を図8に示す。図8に示すようにマルチプロセッサシステム4は、第2のプロセッサエレメントとしてガードユニット及び共有リソースを有さないコプロセッサ40を使用する。この場合、コプロセッサにて実行されるタスクに異常が発生して、アクセス保護範囲に対してアクセス要求がであっても、第1のプロセッサエレメントPE−Aのガードユニットがこのアクセス要求を無効化する。本実施の形態では、第1のプロセッサエレメントPE−Aがガードユニットを有していることで、第1のプロセッサユニットPE−Aで実行されるタスクを保護される。
つまり、本発明にかかるマルチプロセッサシステムは、複数のプロセッサエレメントによって構成されるマルチプロセッサシステムにおいて、少なくとも1つのプロセッサエレメントに対してガードユニットが搭載されていれば、マルチプロセッサシステムの信頼性の向上が可能である。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、保護設定ユニットに格納される保護情報は、上記実施の形態のアクセス保護範囲設定値に限られず、システムに応じて適宜変更することが可能である。
1、2、3、4 マルチプロセッサシステム
11a、11b 制御部
12a、12b 実行部
13a、13b MMU
14a、14b ロード/ストアユニット
16a、16b、16c ガードユニット
17a、17b、17c リソースコントローラ
181a、181b、181c RAM
182a、182b 専用領域
183a I/Oインタフェース
21 保護設定ユニット
22 判定ユニット
221 違反検出器
23 アクセス無効化ユニット
24 レスポンス生成ユニット
25 例外アクセス発生通知ユニット
30 被制御デバイス
40 コプロセッサ
CPUa、CPUb、CPUc 中央演算装置
SEa、SEb、SEc アクセス保護範囲設定値
Ea、Eb、Ec 例外アクセス発生通知
PE−A、PE−B、PE−C プロセッサエレメント
SEL1、SEL2 セレクタ
SWa〜SWc バススイッチ

Claims (5)

  1. 第1、第2のプロセッサエレメントを有し、前記第1、第2のプロセッサエレメントが独立してプログラムを実行するマルチプロセッサシステムであって、
    前記第1のプロセッサエレメントは、
    プログラムに基づき演算処理を行う中央演算装置と、
    前記第1、第2のプロセッサエレメントの間で共有される共有リソースと、
    前記共有リソースのアクセス保護範囲を設定する保護設定ユニットと、
    前記アクセス保護範囲に基づき前記第2のプロセッサエレメントから前記共有リソースへのアクセス要求を制限するガードユニットと、を有し、
    前記ガードユニットは、前記アクセス要求が前記アクセス保護範囲内であった場合に前記中央演算装置に例外アクセス発生通知信号を出力し、
    前記中央演算装置は、前記例外アクセス発生通知信号が出力された場合は、前記アクセス保護範囲を広げるマルチプロセッサシステム。
  2. 第1、第2のプロセッサを有するマルチプロセッサシステムであって、
    前記第1のプロセッサは、
    第1の共有リソースと、
    前記第1の共有リソースの第1のアクセス保護範囲を設定する第1の保護設定ユニットと、
    前記第1のアクセス保護範囲に基づき前記第2のプロセッサから前記第1の共有リソースへのアクセス要求を制限する第1のガードユニットと、を有し、
    前記第2のプロセッサは、
    第2の共有リソースと、
    前記第2の共有リソースの第2のアクセス保護範囲を設定する第2の保護設定ユニットと、
    前記第2のアクセス保護範囲に基づき前記第1のプロセッサから前記第2の共有リソースへのアクセス要求を制限する第2のガードユニットと、を有し、
    前記第1のプロセッサは、前記第1のガードユニットが前記第2のプロセッサからのアクセス要求にアクセス違反を検出した場合は、前記第1のアクセス保護範囲を広げ、
    前記第2のプロセッサは、前記第2のガードユニットが前記第1のプロセッサからのアクセス要求にアクセス違反を検出した場合は、前記第2のアクセス保護範囲を広げるマルチプロセッサシステム。
  3. 前記第1のプロセッサは更に第1のリソースコントローラを有し、
    前記第1のリソースコントローラは、前記第1のプロセッサからのアクセス要求の対象リソースを判定し、前記第1の共有リソースが対象であった場合は、前記第1の共有リソースに対して前記アクセス要求を処理し、前記第2の共有リソースが対象であった場合は、前記アクセス要求を前記第2のガードユニットに送信する請求項2に記載のマルチプロセッサシステム。
  4. 前記第2のプロセッサは更に第2のリソースコントローラを有し、
    前記第2のリソースコントローラは、前記第2のプロセッサからのアクセス要求の対象リソースを判定し、前記第2の共有リソースが対象であった場合は、前記第2の共有リソースに対して前記アクセス要求を処理し、前記第1の共有リソースが対象であった場合は、前記アクセス要求を前記第1のガードユニットに送信する請求項2又は3に記載のマルチプロセッサシステム。
  5. 前記第1の共有リソースは、外部デバイスを接続可能な入出力インターフェースを含む請求項2乃至4のいずれか1つに記載のマルチプロセッサシステム。
JP2013111003A 2013-05-27 2013-05-27 マルチプロセッサシステム Active JP5651209B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013111003A JP5651209B2 (ja) 2013-05-27 2013-05-27 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013111003A JP5651209B2 (ja) 2013-05-27 2013-05-27 マルチプロセッサシステム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007079160A Division JP5308629B2 (ja) 2007-03-26 2007-03-26 マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス保護方法

Publications (2)

Publication Number Publication Date
JP2013164873A JP2013164873A (ja) 2013-08-22
JP5651209B2 true JP5651209B2 (ja) 2015-01-07

Family

ID=49176138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013111003A Active JP5651209B2 (ja) 2013-05-27 2013-05-27 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP5651209B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6758222B2 (ja) * 2016-05-20 2020-09-23 ルネサスエレクトロニクス株式会社 半導体装置及びそのメモリアクセス制御方法
JP7010071B2 (ja) 2018-03-09 2022-02-10 トヨタ自動車株式会社 燃料電池システムおよび酸化被膜除去方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5164335A (en) * 1972-09-20 1976-06-03 Hitachi Ltd shukiokusochihogohoshiki
JPS5036041A (ja) * 1973-07-11 1975-04-04
JPH0695974A (ja) * 1992-09-10 1994-04-08 Fujitsu Ltd メモリ保護方式
US7822105B2 (en) * 2003-09-02 2010-10-26 Sirf Technology, Inc. Cross-correlation removal of carrier wave jamming signals
JP4698285B2 (ja) * 2005-05-19 2011-06-08 富士通株式会社 情報処理装置、情報処理方法及びコンピュータプログラム

Also Published As

Publication number Publication date
JP2013164873A (ja) 2013-08-22

Similar Documents

Publication Publication Date Title
JP5308629B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス保護方法
JP5975629B2 (ja) メモリ保護ユニットおよび記憶素子へのアクセスコントロール方法
EP1977363B1 (en) Protection system and method of operation therein
JP2016516228A (ja) システムオンチップ内のスレーブユニットへの、コントロール下でのアクセス方法および回路装置
JP2009251967A (ja) マルチコアシステム
JP4874165B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス権設定方法
JP2014081819A (ja) 情報処理装置
JP2015067107A (ja) 車両用制御装置
JP5651209B2 (ja) マルチプロセッサシステム
US20180039544A1 (en) Resource access management component and method therefor
JP2010186242A (ja) 計算機システム
JP2011065528A (ja) マルチプロセッサシステム
JP2018067047A (ja) 制御装置
US20170286324A1 (en) Semiconductor device and access management method
CN111213144A (zh) 单芯片系统,用于运行单芯片系统的方法及机动车
JP2008186212A (ja) データ処理システム
JP2009069963A (ja) マルチプロセッサシステム
JP5699896B2 (ja) 情報処理装置、異常判定方法
WO2016204070A1 (ja) Cpu監視装置
KR20160045699A (ko) 시간 집약적 명령의 처리
JP6502211B2 (ja) 車両制御装置
JP2014074995A (ja) 情報処理装置
JPH11338833A (ja) マルチプロセッサ型コントローラ及びスケーラブルコントローラシステム
US20180068501A1 (en) Multiprocessor system and vehicle control system
JP2019053617A5 (ja)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130527

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141114

R150 Certificate of patent or registration of utility model

Ref document number: 5651209

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350