JP2013164873A - Multiprocessor system - Google Patents
Multiprocessor system Download PDFInfo
- Publication number
- JP2013164873A JP2013164873A JP2013111003A JP2013111003A JP2013164873A JP 2013164873 A JP2013164873 A JP 2013164873A JP 2013111003 A JP2013111003 A JP 2013111003A JP 2013111003 A JP2013111003 A JP 2013111003A JP 2013164873 A JP2013164873 A JP 2013164873A
- Authority
- JP
- Japan
- Prior art keywords
- access
- processor element
- unit
- processor
- central processing
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
- Storage Device Security (AREA)
Abstract
Description
本発明はマルチプロセッサシステムに関し、特に各プロセッサが他のプロセッサと共有される共有リソースを有するマルチプロセッサシステムに関する。 The present invention relates to a multiprocessor system, and more particularly to a multiprocessor system in which each processor has a shared resource shared with other processors.
近年、複数のプロセッサの間でメモリ等のリソースを共有するマルチプロセッサシステムが多く用いられている。このようなマルチプロセッサシステムでは、他プロセッサが実行しているタスクの暴走によって、自プロセッサが利用するメモリ領域の情報を誤って上書きしてしまう問題が発生する。このような問題が発生すると、自プロセッサが実行しているタスクの正常な動作が阻害され、システムの動作に不具合が生じる。 In recent years, multiprocessor systems that share resources such as memory among a plurality of processors are often used. In such a multiprocessor system, there is a problem that information on a memory area used by the own processor is erroneously overwritten due to a runaway task executed by another processor. When such a problem occurs, the normal operation of the task executed by the processor itself is hindered, resulting in a malfunction of the system operation.
そこで、複数のプロセッサ間においてタスクの暴走の影響を互いに防ぐマルチプロセッサシステムに関する技術が特許文献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からのアクセスによって侵害しないように制御する。
Therefore, Patent Document 1 (hereinafter referred to as Conventional Example 1) discloses a technique related to a multiprocessor system that prevents the influence of task runaway between a plurality of processors. A block diagram of the
従来例1では、レジスタに予め固定的に設定されたアクセス保護範囲設定値を参照してアドレス生成部が他のプロセッサ上のメモリボードへのアクセスを制御する。また、特許文献2(以下、従来例2と称す)には、従来例1のレジスタとしてPLD(Programmable Logic Device)を利用して、製造後であってもアクセス保護範囲設定値を変更できる構成が開示されている。 In Conventional Example 1, the address generation unit controls access to a memory board on another processor with reference to an access protection range setting value fixedly set in advance in a register. Patent Document 2 (hereinafter referred to as Conventional Example 2) uses a PLD (Programmable Logic Device) as a register of Conventional Example 1 to change the access protection range setting value even after manufacturing. It is disclosed.
しかしながら、従来例2におていも、プロセッサの利用状況に応じてアクセス保護範囲設定値を変更することができない。つまり、プロセッサが実行するプログラムに応じて動的にアクセス保護範囲を設定することができない。このようなことから、従来例1、2で開示されるマルチプロセッサシステムでは、柔軟なリソースの共有ができない問題がある。 However, even in the conventional example 2, the access protection range setting value cannot be changed in accordance with the usage status of the processor. That is, the access protection range cannot be set dynamically according to the program executed by the processor. For this reason, the multiprocessor systems disclosed in the conventional examples 1 and 2 have a problem that flexible resource sharing is not possible.
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。 Other problems and novel features will become apparent from the description of the specification and the accompanying drawings.
本発明にかかるマルチプロセッサシステムは、第1、第2のプロセッサエレメントを有し、前記第1、第2のプロセッサエレメントが独立してプログラムを実行するマルチプロセッサシステムであって、前記第1のプロセッサエレメントは、プログラムに基づき演算処理を行う中央演算装置と、前記第1、第2のプロセッサエレメントの間で共有される共有リソースと、前記中央演算装置が指定するアクセス保護範囲設定値に基づき前記第2のプロセッサエレメントから前記共有リソースへのアクセス要求を制限するガードユニットと、を有するものである。 A multiprocessor system according to the present invention includes a first processor element and a second processor element, and the first processor element and the second processor element independently execute a program, wherein the first processor The element is based on a central processing unit that performs arithmetic processing based on a program, a shared resource shared between the first and second processor elements, and an access protection range setting value specified by the central processing unit. And a guard unit that restricts access requests to the shared resource from the two processor elements.
本発明にかかるマルチプロセッサシステムは、中央演算装置が指定するアクセス範囲設定値に基づきガードユニットが第2のプロセッサエレメントからのアクセスを制限する。つまり、アクセス保護範囲設定値を中央演算装置が実行するプログラムに応じて変更することが可能である。このことより、本発明にかかるマルチプロセッサシステムによれば、第2のプロセッサエレメントから第1のプロセッサエレメント内の共有リソースへのアクセス制限を第1のプロセッサエレメントが実行している処理に基づき設定することが可能である。また、共有リソースにおいて第1のプロセッサエレメントが使用する領域を第2のプロセッサエレメントで実行されているプログラムによって侵害されることを防ぐことが可能である。 In the multiprocessor system according to the present invention, the guard unit restricts access from the second processor element based on the access range setting value specified by the central processing unit. That is, the access protection range setting value can be changed according to the program executed by the central processing unit. Thus, according to the multiprocessor system of the present invention, the access restriction from the second processor element to the shared resource in the first processor element is set based on the processing executed by the first processor element. It is possible. In addition, it is possible to prevent an area used by the first processor element in the shared resource from being violated by a program executed by the second processor element.
本発明にかかるマルチプロセッサシステムによれば、プロセッサエレメントでそれぞれ実行されるプログラムの信頼性を向上させることが可能である。 According to the multiprocessor system of the present invention, it is possible to improve the reliability of the programs executed by the processor elements.
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。図1に実施の形態1にかかるマルチプロセッサシステム1のブロック図を示す。図1に示すように、マルチプロセッサシステム1は、第1のプロセッサエレメントPE−Aと第2のプロセッサエレメントPE−Bとがバスを介して接続される。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram of a
第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のプロセッサエレメントを例にプロセッサエレメントの構成について説明する。なお、上記プロセッサエレメントは、それぞれ中央演算装置、ガードユニット、共有リソースが同一の半導体基板上に形成されたものであっても良く、複数のプロセッサエレメントが同一の半導体基板上に形成されるものであっても良い。
The first processor element PE-A includes a central processing unit CPUa, a ROM (Read Only Memory) 15a, a
中央演算装置CPUaは、制御部11aと実行部12aを有している。制御部11aは、例えば実行部12aで実行されるプログラムの実行単位であるタスクが使用するデータが格納されるメモリ領域を指定し、データ保存領域の管理を行う。この管理は、MMU(Memory Management Unit)13aが行う。実行部12aは、プログラムを読み込んでタスク毎に各種処理を行う。また、実行部12aは、ロード/ストアユニット(図中のLO/STユニット)14aを有している。ロード/ストアユニット14aは、MMU13aの指示するメモリ管理情報に従い判断し、リソースコントローラ17aに対してタスクが使用するデータのリード又はライトのアクセスを行う。
The central processing unit CPUa includes a
ROM15aは、中央演算装置CPUaが読み込むプログラムの格納領域である。なお、本実施の形態では、プログラム格納領域としてROM15aを用いるが、プログラム格納領域はROM15aに限らず、CPUaがアクセス可能な領域であれば良い。
The
ガードユニット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についての詳細は後述する。
The
リソースコントローラ17aは、共有リソース18aの制御装置であって、本実施の形態ではRAM(Random Access Memory)を制御する。リソースコントローラ17aは、中央演算装置CPUaから送信されるアクセス要求又はガードユニット16aを通過して受信したアクセス要求とに基づき共有リソース18aへの制御信号を生成する。このとき、リソースコントローラ17aは、中央演算装置CPUaから送信されるアクセス要求とガードユニット16aを通過して受信したアクセス要求との間の調停処理と、アクセス要求に含まれる情報から共有リソース18aに対する制御信号の生成を行う。アクセス要求に含まれる情報としては、例えばアクセスアドレス情報、リードやライトなどのアクセス属性を指定する情報がある。また、中央演算装置CPUaから送信されるアクセス要求が第2のプロセッサユニットPE−Bへのアクセス要求であった場合、第2のプロセッサユニットPE−Bに対してアクセス要求を送信する。
The
共有リソース18aは、第1のプロセッサエレメントPE−Aと第2のプロセッサエレメントPE−Bとの間で共通して用いられるリソースである。本実施の形態ではメモリを共有リソースとして使用する。従って、本実施の形態にかかる共有リソース18aは、RAM181aを有している。またRAM181aには、PE−A専用領域182aが定義されている。PE−A専用領域182aは、上記アクセス保護範囲設定値SEaによって定義される保護領域であって、アクセス保護範囲設定値SEaの値によって変動する。
The shared
ここで、ガードユニット16aについて詳細に説明する。図2にガードユニット16aのブロック図を示す。図2に示すように、ガードユニット16aは、保護設定ユニット21、判定ユニット22、アクセス無効化ユニット23、レスポンス生成ユニット24、例外アクセス発生通知ユニット25を有している。
Here, the
保護設定ユニット21は、複数の設定情報保持レジスタを有している。そして、複数の設定情報保持レジスタには、中央演算装置CPUaが出力するアクセス保護範囲設定値SEaの情報がそれぞれ記憶される。この保護設定ユニット21の概略図を図3に示し、複数の設定情報保持レジスタについてさらに詳細に説明する。図3の例は、16個の設定情報保持レジスタを有する場合について示している。図3に示すように、複数の設定情報保持レジスタは、それぞれ保護範囲設定レジスタ、イネーブルフラグレジスタ、保護属性レジスタを有している。保護範囲設定レジスタには、アクセス保護範囲であるメモリ上のアドレス値の範囲が格納される。この保護範囲設定レジスタで示される保護範囲を第1のプロセッサエレメントPE−Aの専用領域とする。イネーブルフラグレジスタには、フラグ値ENが格納される。例えば、フラグ値ENが"1"であれば当該保護範囲設定レジスタに格納された保護範囲の設定が有効であることを示し、フラグ値ENが"0"であれば当該保護範囲設定レジスタに格納された保護範囲の設定が無効であることを示す。保護属性レジスタは、保護範囲設定レジスタに格納されるアドレス範囲に対して行われたアクセス要求がどのようなアクセス属性であった場合にアクセスを拒否するかを設定するためのアクセス属性が格納される。アクセス属性としては、例えばWrite(書き込み)、Read(読み出し)、Read/Write(読み書き)などがある。この保護属性レジスタの設定内容は、必ずしも変更可能である必要はなく、例えば書き込み属性などに固定されていても良い。
The
判定ユニット22は違反検出器221を有している。違反検出器221は、有効である保護設定範囲レジスタの値と、入力されるアクセス要求(アクセスアドレス及びストローブ)とを比較して、アクセス要求がアクセス保護範囲内であるか否かを判定する。この判定の結果、アクセス要求がアクセス保護範囲内である場合、違反検出器221は、エラー通知信号を拒否状態とする。なお、全ての保護設定範囲レジスタ内のイネーブルフラグレジスタのフラグ値が無効を示す場合、違反検出器221は、エラー通知信号を出力せずに、ガードユニット16aのアクセス制御機能は無効となる。
The
アクセス無効化ユニット23は、エラー通知信号に応じて第2のプロセッサエレメントPE−Bから送信されるアクセス要求を通過させるか、アクセス無効値を出力するかを選択するセレクタSEL1を有している。セレクタSEL1は、エラー通知信号が許可状態である場合に、第2のプロセッサエレメントPE−Bから送信されるアクセス要求を通過させる。一方、セレクタSEL1は、エラー通知信号が拒否状態である場合、アクセス無効値を出力する。アクセス無効値は、例えばリソースコントローラ17aに接続されるバス上のIdleコマンドなどであって、リソースコントローラ17aにアクセスがないことを示すコマンドである。
The
レスポンス生成ユニット24は、エラー通知信号に応じて第1のプロセッサエレメントPE−Aの共有リソース18aから出力されるメモリレスポンスを通過させるか、アクセス違反値を出力するかを選択するセレクタSEL2を有している。セレクタSEL2は、エラー通知信号が許可状態である場合に、リソースコントローラ17aから出力されるレスポンス情報(例えば、ready、メモリアクセスエラー、データなどのメモリレスポンス)を通過させる。一方、セレクタSEL2は、エラー通知信号が拒否状態である場合、アクセス違反値を出力する。このアクセス違反値は、メモリレスポンスの1つであるメモリアクセスエラーとは異なる値であって、第2のプロセッサエレメントPE−Bにアクセス要求がアクセス違反であったことを通知する値である。第1のプロセッサエレメントPE−A、又は、第2のプロセッサエレメントPE−Bが、アクセス違反値を受信すると、アクセス違反値に基づく処理が当該プロセッサエレメントで実行中の処理にかかわらず優先的に割り込み処理される。
The
例外アクセス発生通知ユニット25は、エラー通知信号に応じて中央演算装置CPUaに対して例外アクセスが発生したことを通知する割り込み要求信号などの例外アクセス発生通知信号を生成する。この割り込み要求信号は、中央演算装置CPUaが実行している処理に応じて適切な時期に受け付けられる。
The exception access
また、ガードユニット16aは、アクセス要求とともに送信される共有リソース18aへの書き込みデータを通過させる配線を有する。この配線は、データ入力端子DINと内部入力端子DIINとの間に接続される。
In addition, the
次に、第1のプロセッサエレメントPE−Aでアクセス要求が発生した場合におけるマルチプロセッサシステム1の動作を例にしてマルチプロセッサシステムの動作について説明する。この場合におけるマルチプロセッサシステム1の動作を示すフローチャートを図4に示す。図4に示すように、中央演算装置CPUa内部のLO/STユニット14aからアクセス要求が発生すると、MMU13aが発生したアクセスが許可されるものか否かを判断する(ステップS1)。ステップS1にてアクセスが違反するものであると判断された場合、アクセス違反が発生したことを通知する例外発生通知が中央演算装置CPUaに対して行われる。これによって、中央演算装置CPUaは、例えば実行中のタスクを再起動する、あるいは実行しているプログラム自体を再起動する。一方、ステップS1にてアクセス要求が許可された場合、リソースコントローラ17aにてアクセスの対象メモリが判定される(ステップS2)。
Next, the operation of the multiprocessor system will be described by taking the operation of the
ステップS2にて対象メモリが第1のプロセッサエレメントPE−A上のRAM181aと判断されると、リソースコントローラ17aは、RAM181aにデータを書き込む。一方、ステップS2にて対象メモリが第2のプロセッサエレメントPE−B上のRAM181bと判断されると、リソースコントローラ17aは、第2のプロセッサエレメントPE−B上のガードユニット16bにアクセス要求を送信する。
When it is determined in step S2 that the target memory is the
ガードユニット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で異常が発生していることを検出できるため、異常発生に対して保護範囲を広げる、あるいは保護範囲を利用するタスクのみを継続する等の処理を行うことが可能である。
The
上記ステップ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)。
A flowchart of the processing performed in the
一方、ステップS4で有効な保護範囲設定レジスタがあった場合(NOの枝)、違反検出器221は、有効な保護範囲設定レジスタの値を参照して、アクセス要求がアクセス許可範囲内かを判断する(ステップS5)。ステップS5にて、アクセス要求がアクセス許可範囲内であった場合(YESの枝)、上記ステップS6〜S8を実行する。一方、ステップS5にて、アクセス要求がアクセス許可範囲外であった場合(NOの枝)、アクセス無効化ユニット23は、アクセス要求に変えてアクセス無効値をリソースコントローラ17bに送信することでアクセス要求を無効化する(ステップS9)。また、レスポンス生成ユニット24は、アクセス違反値を第1のプロセッサエレメントPE−Aに返信する(ステップS10)。さらに、例外アクセス発生通知ユニット25は、例外アクセス発生通知信号を中央演算装置CPUbに出力する(ステップS11)。
On the other hand, if there is a valid protection range setting register in step S4 (NO branch), the
上記説明より、本実施の形態にかかるプロセッサエレメントは、同じプロセッサエレメントに配置される中央演算装置によってアクセス保護範囲が設定されるガードユニットを有している。そして、ガードユニットよって他のプロセッサエレメントからのアクセス要求がアクセス保護範囲内であるか否かを判断して、制限すべきアクセス要求を遮断する。これによって、それぞれのプロセッサエレメントは、自プロセッサエレメントが使用する専用のメモリ領域を確保しながら、専用領域として使用されない領域を共有領域として他のプロセッサエレメントと共有することができる。また、本実施の形態にかかるプロセッサエレメントでは、アクセス保護範囲設定値を自プロセッサエレメントが指定し、それを格納する保護情報設定レジスタを有している。このようなことから、本実施の形態にかかるプロセッサエレメントは、柔軟に保護範囲の設定を変更することが可能である。例えば、自プロセッサエレメントで行われている処理の状態に応じて、保護範囲を変更することが可能である。 From the above description, the processor element according to the present embodiment has the guard unit whose access protection range is set by the central processing unit arranged in the same processor element. Then, the guard unit determines whether an access request from another processor element is within the access protection range, and blocks the access request to be restricted. Accordingly, each processor element can share a region not used as a dedicated region with other processor elements as a shared region while securing a dedicated memory region used by the processor element. Further, the processor element according to the present embodiment has a protection information setting register for designating and storing the access protection range setting value by the own processor element. For this reason, the processor element according to the present embodiment can flexibly change the setting of the protection range. For example, it is possible to change the protection range according to the state of processing performed by the own processor element.
さらに、専用領域に対して発行されるアクセス要求はガードユニットにて無効化されるため、専用領域に格納されるデータが他のプロセッサエレメントで実行されるタスクによって侵害されることがない。このようなことから、本実施の形態のプロセッサエレメントは、自プロセッサエレメントで実行しているタスクの信頼性を向上させることが可能である。 Furthermore, since an access request issued to the dedicated area is invalidated by the guard unit, data stored in the dedicated area is not violated by a task executed by another processor element. For this reason, the processor element according to the present embodiment can improve the reliability of tasks executed by the processor element itself.
また、従来のマルチプロセッサシステムでは、他プロセッサエレメントが自プロセッサエレメントに対して起こしたアクセス違反を他プロセッサエレメントに通知することができなかった。このようなことから、従来のマルチプロセッサシステムでは、他プロセッサエレメントは、プロセッサエレメント間で発生した異常に対して、タスクの再起動などを行って動作を復旧することができなかった。 Further, in the conventional multiprocessor system, it is impossible to notify the other processor element of an access violation caused by the other processor element with respect to the own processor element. For this reason, in the conventional multiprocessor system, the other processor elements cannot recover the operation by restarting the task or the like in response to an abnormality occurring between the processor elements.
これに対して、本実施の形態にかかるガードユニットは、他プロセッサエレメントから例外アクセスが生じた場合に、自プロセッサエレメントに対して例外アクセス発生通知信号を生成し、さらに他プロセッサエレメントに対してアクセス違反値を返信する。このことから、自プロセッサエレメント及び他プロセッサエレメントはともに例外アクセスの発生を知ることができる。このように例外アクセスの発生を検知できれば、それぞれのプロセッサエレメントは例外アクセスに対して、それぞれ異常拡大の防止、異常タスクの復旧、又は、安全と判明しているタスクのみによる継続動作を行うことが可能である。つまり、自プロセッサエレメントにおいては他プロセッサエレメントで発生した異常に対する防御レベルの変更を行い自プロセッサエレメントで実行しているタスクを保護することが可能である。また、他プロセッサエレメントにおいては、タスクに異常が発生した時点でそのタスクを再起動するなどして、早期に異常状態からシステムを復旧することが可能である。このようなことから、本実施の形態にかかるプロセッサエレメントを有するマルチプロセッサシステムは、信頼性を向上させることが可能である。 In contrast, the guard unit according to the present embodiment generates an exception access occurrence notification signal for its own processor element when an exception access occurs from another processor element, and further accesses the other processor element. The violation value is returned. From this, both the own processor element and the other processor element can know the occurrence of the exception access. If the occurrence of an exception access can be detected in this way, each processor element can carry out a continuous operation only for a task that is known to be safe, for preventing exception expansion, for recovering an abnormal task, or for exception access. Is possible. That is, in the own processor element, it is possible to protect the task being executed in the own processor element by changing the protection level against the abnormality occurring in the other processor element. In another processor element, the system can be recovered from an abnormal state at an early stage by restarting the task when an abnormality occurs in the task. For this reason, the multiprocessor system having the processor element according to the present embodiment can improve the reliability.
実施の形態2
実施の形態2にかかるマルチプロセッサシステム2のブロック図を図6に示す。図6に示すように、マルチプロセッサシステム2では、第1のプロセッサエレメントPE−A2が共有リソース18aとしてI/Oインタフェース183aを有している。マルチプロセッサシステム2においても、第2のプロセッサエレメントPE−Bの構成は実施の形態1と同じである。
FIG. 6 shows a block diagram of the
実施の形態2におけるリソースコントローラ17aは、I/Oインタフェース183aをアクセスアドレスに基づき制御する。I/Oインタフェース183aには、例えばエアバッグなどの被制御デバイス30が接続される。ここで、第2のプロセッサエレメントPE−Bは、I/Oインタフェース183aに対するアクセス権を有していないものとする。
The
このようなマルチプロセッサシステム2に搭載される第1のプロセッサエレメントPE−A2に対してガードユニット16aを設けることで、第2のプロセッサエレメントPE−Bのタスクが暴走してI/Oインタフェース183aに対するアクセス要求が発生したとしても、このアクセス要求はガードユニット16aで無効化される。これによって、マルチプロセッサシステム2は、他プロセッサエレメントのタスクの暴走に対して、エアバッグが誤動作することを防止することが可能である。
By providing the
つまり、共有リソース18aとしては、メモリだけに限られず様々なリソースを設定することが可能である。また、このような共有リソースを有するマルチプロセッサシステムにおいてガードユニットを設けることでマルチプロセッサシステムの信頼性を向上させることが可能である。
In other words, the shared
実施の形態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と同様にシステムの信頼性を向上させることが可能である。
FIG. 7 shows a block diagram of the
マルチプロセッサシステム3ように、2つ以上のプロセッサエレメントを接続する場合、バス構造として複数のプロセッサエレメントがそれぞれマスタとなるマルチマスタバス等を用いることが可能である。
When two or more processor elements are connected as in the
実施の形態4
実施の形態4にかかるマルチプロセッサシステム4のブロック図を図8に示す。図8に示すようにマルチプロセッサシステム4は、第2のプロセッサエレメントとしてガードユニット及び共有リソースを有さないコプロセッサ40を使用する。この場合、コプロセッサにて実行されるタスクに異常が発生して、アクセス保護範囲に対してアクセス要求がであっても、第1のプロセッサエレメントPE−Aのガードユニットがこのアクセス要求を無効化する。本実施の形態では、第1のプロセッサエレメントPE−Aがガードユニットを有していることで、第1のプロセッサユニットPE−Aで実行されるタスクを保護される。
FIG. 8 shows a block diagram of a
つまり、本発明にかかるマルチプロセッサシステムは、複数のプロセッサエレメントによって構成されるマルチプロセッサシステムにおいて、少なくとも1つのプロセッサエレメントに対してガードユニットが搭載されていれば、マルチプロセッサシステムの信頼性の向上が可能である。 That is, in the multiprocessor system according to the present invention, if a guard unit is mounted on at least one processor element in the multiprocessor system including a plurality of processor elements, the reliability of the multiprocessor system can be improved. Is possible.
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、保護設定ユニットに格納される保護情報は、上記実施の形態のアクセス保護範囲設定値に限られず、システムに応じて適宜変更することが可能である。 Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention. For example, the protection information stored in the protection setting unit is not limited to the access protection range setting value of the above embodiment, and can be changed as appropriate according to the system.
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 バススイッチ
1, 2, 3, 4
14a, 14b Load /
182a, 182b
Claims (1)
前記第1のプロセッサエレメントは、
プログラムに基づき演算処理を行う中央演算装置と、
前記第1、第2のプロセッサエレメントの間で共有される共有リソースと、
前記中央演算装置が指定するアクセス保護範囲設定値に基づき前記第2のプロセッサエレメントから前記共有リソースへのアクセス要求を制限するガードユニットと、を有し、
前記ガードユニットは、前記中央演算装置から保護情報設定バスを介して送信される前記アクセス保護範囲設定値を保持する保護設定ユニットと、を有し、
前記ガードユニットは、前記アクセス要求が前記アクセス保護範囲設定値の範囲内であった場合に前記中央演算装置に例外アクセス発生通知信号を出力し、
前記中央演算装置は、前記例外アクセス発生通知信号に基づく割り込み処理において、前記保護設定ユニットへのアクセスを実行するマルチプロセッサシステム。 A multiprocessor system having first and second processor elements, wherein the first and second processor elements independently execute a program;
The first processor element is:
A central processing unit that performs arithmetic processing based on a program;
A shared resource shared between the first and second processor elements;
A guard unit that restricts access requests from the second processor element to the shared resource based on an access protection range setting value specified by the central processing unit;
The guard unit includes a protection setting unit that holds the access protection range setting value transmitted from the central processing unit via a protection information setting bus,
The guard unit outputs an exception access occurrence notification signal to the central processing unit when the access request is within the range of the access protection range setting value,
The central processing unit is a multiprocessor system that performs access to the protection setting unit in interrupt processing based on the exception access occurrence notification signal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013111003A JP5651209B2 (en) | 2013-05-27 | 2013-05-27 | Multiprocessor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013111003A JP5651209B2 (en) | 2013-05-27 | 2013-05-27 | Multiprocessor system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007079160A Division JP5308629B2 (en) | 2007-03-26 | 2007-03-26 | Multiprocessor system and access protection method in multiprocessor system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013164873A true JP2013164873A (en) | 2013-08-22 |
JP5651209B2 JP5651209B2 (en) | 2015-01-07 |
Family
ID=49176138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013111003A Active JP5651209B2 (en) | 2013-05-27 | 2013-05-27 | Multiprocessor system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5651209B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017211980A (en) * | 2016-05-20 | 2017-11-30 | ルネサスエレクトロニクス株式会社 | Semiconductor device and memory access control method thereof |
JP7010071B2 (en) | 2018-03-09 | 2022-02-10 | トヨタ自動車株式会社 | Fuel cell system and oxide film removal method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5036041A (en) * | 1973-07-11 | 1975-04-04 | ||
JPS5164335A (en) * | 1972-09-20 | 1976-06-03 | Hitachi Ltd | shukiokusochihogohoshiki |
JPH0695974A (en) * | 1992-09-10 | 1994-04-08 | Fujitsu Ltd | Memory protecting system |
WO2005022301A2 (en) * | 2003-09-02 | 2005-03-10 | Sirf Technology, Inc. | Memory reallocation and sharing in electronic systems |
JP2006323675A (en) * | 2005-05-19 | 2006-11-30 | Fujitsu Ltd | Information processor, information processing method, and computer program |
-
2013
- 2013-05-27 JP JP2013111003A patent/JP5651209B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5164335A (en) * | 1972-09-20 | 1976-06-03 | Hitachi Ltd | shukiokusochihogohoshiki |
JPS5036041A (en) * | 1973-07-11 | 1975-04-04 | ||
JPH0695974A (en) * | 1992-09-10 | 1994-04-08 | Fujitsu Ltd | Memory protecting system |
WO2005022301A2 (en) * | 2003-09-02 | 2005-03-10 | Sirf Technology, Inc. | Memory reallocation and sharing in electronic systems |
JP2007513390A (en) * | 2003-09-02 | 2007-05-24 | サーフ テクノロジー インコーポレイテッド | Memory reallocation and sharing in electronic systems |
JP2006323675A (en) * | 2005-05-19 | 2006-11-30 | Fujitsu Ltd | Information processor, information processing method, and computer program |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017211980A (en) * | 2016-05-20 | 2017-11-30 | ルネサスエレクトロニクス株式会社 | Semiconductor device and memory access control method thereof |
JP7010071B2 (en) | 2018-03-09 | 2022-02-10 | トヨタ自動車株式会社 | Fuel cell system and oxide film removal method |
Also Published As
Publication number | Publication date |
---|---|
JP5651209B2 (en) | 2015-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5308629B2 (en) | Multiprocessor system and access protection method in multiprocessor system | |
JP5975629B2 (en) | Memory protection unit and storage element access control method | |
EP1977363B1 (en) | Protection system and method of operation therein | |
JP2016516228A (en) | Access method and circuit device under control of slave unit in system on chip | |
US9830295B2 (en) | Resource domain partioning in a data processing system | |
JP2009251967A (en) | Multicore system | |
JP2014081819A (en) | Information processing apparatus | |
JP2008033893A (en) | Multiprocessor system and access right setting method in multiprocessor system | |
JP2015067107A (en) | Vehicle control device | |
JP5651209B2 (en) | Multiprocessor system | |
JP2010186242A (en) | Computer system | |
JP2011065528A (en) | Multiprocessor system | |
JP2018067047A (en) | Controller | |
EP3279796A1 (en) | Resource access management component and method therefor | |
CN111213144A (en) | Single-chip system, method for operating a single-chip system and motor vehicle | |
JP2008186212A (en) | Data processing system | |
JP6049961B1 (en) | CPU monitoring device | |
JP5699896B2 (en) | Information processing apparatus and abnormality determination method | |
JP2020205050A (en) | Resource protection | |
KR20160045699A (en) | Handling time intensive instructions | |
JP2014074995A (en) | Information processor | |
JPH11338833A (en) | Multiprocessor type controller and scalable controller system | |
JP2019053617A5 (en) | ||
JP6349444B2 (en) | Vehicle control device | |
JP4340669B2 (en) | INPUT / OUTPUT CONTROL DEVICE, INPUT / OUTPUT CONTROL METHOD, PROCESS CONTROL DEVICE, AND PROCESS CONTROL METHOD |
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 |