JP2018041311A - マルチプロセッサシステム及び車両制御システム - Google Patents

マルチプロセッサシステム及び車両制御システム Download PDF

Info

Publication number
JP2018041311A
JP2018041311A JP2016175474A JP2016175474A JP2018041311A JP 2018041311 A JP2018041311 A JP 2018041311A JP 2016175474 A JP2016175474 A JP 2016175474A JP 2016175474 A JP2016175474 A JP 2016175474A JP 2018041311 A JP2018041311 A JP 2018041311A
Authority
JP
Japan
Prior art keywords
monitoring
processor element
bus
access
control unit
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.)
Pending
Application number
JP2016175474A
Other languages
English (en)
Inventor
尚孝 川上
Naotaka Kawakami
尚孝 川上
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 JP2016175474A priority Critical patent/JP2018041311A/ja
Priority to US15/643,305 priority patent/US10269194B2/en
Priority to CN201710592790.0A priority patent/CN107807866A/zh
Publication of JP2018041311A publication Critical patent/JP2018041311A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

【課題】コストを抑制しつつ、プロセッサエレメントの監視を実現する。【解決手段】マルチプロセッサシステム1は、第1のプロセッサエレメント2が監視対象プロセスを実行した際のバスアクセス情報を記憶する記憶部6と、第1のプロセッサエレメント2による監視対象プロセスの実行の完了後に、第2のプロセッサエレメント3に対し、監視プロセスの実行を要求する要求部7と、記憶部6に記憶された第1のプロセッサエレメント2のアクセスについてのバスアクセス情報と、第2のプロセッサエレメント3が監視プロセスを実行した際に第2のプロセッサエレメント3から入力されるバスアクセス情報とを比較する比較部8とを有するバス機構を備える。そして、第2のプロセッサエレメント3は、空き時間に監視プロセスを実行する。【選択図】図1

Description

本発明はマルチプロセッサシステム及び車両制御システムに関し、例えばバス機構を用いた監視を行うマルチプロセッサシステム及び車両制御システムに関する。
近年、自動車市場などにおいて、マルチコア処理などによる高性能化と、DLS(デュアルロックステップ:Dual Lock Step)又はTMR(3値多数決:ternary majority rule)などのフェールセーフティ技術との両立が求められている。このため、様々な技術が提案されている。
例えば、特許文献1では、プロセッサエレメントを密に結合することなくマルチプロセッサシステムの機能安全を実現するマルチプロセッサシステムについて開示している。このマルチプロセッサシステムでは、バス機構が、複数のプロセッサエレメントのバスアクセス要求を保持及び比較し、プロセッサエレメントの異常を検出する。
特開2015−153282号公報
しかしながら、特許文献1に記載された機能安全のための構成によれば、DLSを実現する場合には2つのプロセッサエレメントが同じ処理を実行する必要があり、TMRを実現する場合には3つのプロセッサエレメントが同じ処理を実行する必要がある。つまり、機能安全を実現させる為には、監視対象のプロセッサエレメントとは別に、監視専用のプロセッサエレメントを用意する必要がある。つまり、監視対象のプロセッサエレメントが実行するプログラムと同じプログラムを実行する監視専用のプロセッサエレメントを、最低一つ用意する必要がある。このため、高コスト化を招くという問題がある。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、マルチプロセッサシステムは、第1のプロセッサエレメントが監視対象プロセスを実行した際のバスアクセス情報を記憶する記憶部と、第1のプロセッサエレメントによる監視対象プロセスの実行の完了後に、第2のプロセッサエレメントに対し、監視プロセスの実行を要求する要求部と、記憶部に記憶された第1のプロセッサエレメントのアクセスについてのバスアクセス情報と、第2のプロセッサエレメントが監視プロセスを実行した際に第2のプロセッサエレメントから入力されるバスアクセス情報とを比較する比較部とを有するバス機構を備える。そして、第2のプロセッサエレメントは、空き時間に監視プロセスを実行する。
前記一実施の形態によれば、コストを抑制しつつ、プロセッサエレメントの監視を実現することができる。
実施の形態の概要にかかるマルチプロセッサシステムの構成の一例を示すブロック図である。 実施の形態1にかかるマルチプロセッサシステムの詳細な構成の一例を示すブロック図である。 記憶領域におけるデータの格納例について示す模式図である。 実施の形態1にかかるマルチプロセッサシステムにおいて割り込みが発生しない場合の動作例を示すフローチャートである。 実施の形態1にかかるマルチプロセッサシステムにおいて割り込みが発生しない場合の動作例を示すフローチャートである。 監視対象プロセスを実行中のPEにおいて、割り込み処理が発生した場合の動作例を示すフローチャートである。 監視対象プロセスを実行中のPEにおいて、監視対象プロセスを含まない割り込み処理が発生した場合の割り込み関連処理の動作例を示すフローチャートである。 監視対象プロセスを実行中のPEにおいて、監視対象プロセスを含む割り込み処理が発生した場合の割り込み関連処理の動作例を示すフローチャートである。 監視対象プロセスを実行中のPEにおいて、監視対象プロセスを含む割り込み処理が発生した場合の割り込み関連処理の動作例を示すフローチャートである。 監視プロセスを実行中のPEにおいて、割り込み処理が発生した場合の動作例を示すフローチャートである。 監視プロセスを実行中のPEにおいて、割り込み処理が発生した場合の割り込み関連処理の動作例を示すフローチャートである。 実施の形態2にかかる車両制御システムの構成の一例を示すブロック図である。
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
<実施の形態の概要>
実施の形態の詳細について説明する前に、まず、実施の形態の概要について説明する。図1は、実施の形態の概要にかかるマルチプロセッサシステム1の構成の一例を示すブロック図である。マルチプロセッサシステム1は、第1のプロセッサエレメント2と、第2のプロセッサエレメント3と、バス機構4と、アクセス対象部5とを有する。
第1のプロセッサエレメント2は、動作が監視されるプロセッサエレメントである。第2のプロセッサエレメント3は、第1のプロセッサエレメント2により実行される監視対象のプロセスと同じ処理からなるプロセス(以下、監視プロセスと称する)を実行する。以下、監視対象のプロセスについて、監視対象プロセスと称することとする。
アクセス対象部5は、第1のプロセッサエレメント2が、監視対象プロセスを実行する際に第1のプロセッサエレメントによってアクセスされる。
バス機構4は、第1のプロセッサエレメント2とアクセス対象部5との間のアクセス経路上に設けられており、アクセス対象部5へのアクセスを制御する。ここで、バス機構4は、図1に示されるように、記憶部6と、要求部7と、比較部8とを有する。
記憶部6は、第1のプロセッサエレメント2が監視対象プロセスを実行した際に発生するアクセス対象部5に対するアクセスについてのバスアクセス情報を記憶する。記憶部6に記憶されるバスアクセス情報には、例えば、リードアクセスに対するアクセス先情報及びリードデータと、ライトアクセスに対するアクセス先情報及びライトデータが含まれる。
要求部7は、第1のプロセッサエレメント2による監視対象プロセスの実行の完了後に、第2のプロセッサエレメント3に対し、監視プロセスの実行を要求する。第2のプロセッサエレメント3は、要求部7からの要求があった後に、監視プロセスを実行する。第2のプロセッサエレメント3は、要求部7からの要求を受信後、空き時間に監視プロセスを実行する。第2のプロセッサエレメント3は、例えば、監視プロセスの実行以外の処理である所定の処理を行わない時間帯に、監視プロセスを実行する。この所定の処理は、監視プロセスの実行よりも高い優先度を有する処理であってもよい。第2のプロセッサエレメント3が、この所定の処理を行わない時間帯に監視プロセスを実行することで、所定の処理の実行を支障せずに済む。
比較部8は、記憶部6に記憶された第1のプロセッサエレメント2のアクセスについてのバスアクセス情報と、第2のプロセッサエレメント3が監視プロセスを実行した際に第2のプロセッサエレメントからバス機構4に入力されるバスアクセス情報とを比較する。両バスアクセス情報が一致する場合、第1のプロセッサエレメント2の動作が正常であることを意味する。これに対し、両バスアクセス情報が一致しない場合、第1のプロセッサエレメント2の動作が異常であることを意味する。このため、比較部8による比較処理により、第1のプロセッサエレメント2の動作を監視することができる。
マルチプロセッサシステム1によれば、上述の通り、要求部7は、第1のプロセッサエレメント2による監視対象プロセスの実行の完了後に、第2のプロセッサエレメント3に対し、監視プロセスの実行を要求する。そして、第2のプロセッサエレメント3は、自身の空き時間に監視プロセスを実行する。このため、第2のプロセッサエレメント3は、監視プロセスの実行以外のプロセスを実行することが可能である。言い換えると、第2のプロセッサエレメント3は、第1のプロセッサエレメント2の監視専用のプロセッサエレメントでなくてよい。よって、マルチプロセッサシステム1によれば、コストを抑制しつつ、プロセッサエレメントの監視を実現することができる。
なお、上述の説明では、動作が監視されるプロセッサエレメントは、第1のプロセッサエレメント2であったが、第2のプロセッサエレメント3も動作が監視されてもよい。この場合、第1のプロセッサエレメント2は、第2のプロセッサエレメント3により実行される監視対象プロセスと同じ処理内容からなる監視プロセスを実行する。また、この場合、第2のプロセッサエレメント3が監視対象プロセスを実行する際、アクセス対象部5は第2のプロセッサエレメントによってもアクセスされることとなる。このように、相互に監視が行われてもよい。
<実施の形態の詳細>
<実施の形態1>
次に、実施の形態の詳細について説明する。図2は、実施の形態1にかかるマルチプロセッサシステム10の詳細な構成の一例を示すブロック図である。図2に示されるように、マルチプロセッサシステム10は、PE100、200と、バス機構300と、周辺IP(intellectual property)群400とを有している。
PE100、200は、上述の第1のプロセッサエレメント2、第2のプロセッサエレメント3に対応したプロセッサエレメントである。PE100、200は、プロセッサコアなどと称され、プログラムを実行してデータ処理を行うことができる回路である。本実施の形態では、PE100、200は、周期的に所定の処理を実現するために、周期的に所定のプロセスを実行する。例えば、PE100、200は、周期Tの時間内で、所定のプロセスの実行を完了する。そして、PE100、200は、次のサイクルにおいても、周期Tの時間内で、所定のプロセスの実行を完了する。PE100、200は、これを繰り返す。ここで、各サイクルにおいて、PE100、200が、仮に、所定のプロセスの実行を時間t1で完了できるとすると、周期Tのうち、時間t2(=T−t1)は、空き時間となる。つまり、空き時間は、PE100、200における所定のプロセス及び監視プロセスの実行周期のうち、所定のプロセスが実行されない時間帯である。PE100、200は、この空き時間t2において、互いを監視するための監視プロセスを実行する。すなわち、PE100、200は、周期的に、所定のプロセス及び監視プロセスを実行する。
より具体的には、PE100、200は、監視対象プロセス、監視プロセス、監視対象プロセスでも監視プロセスでもないプロセス(通常プロセスと呼ぶこととする)のいずれかを実行する。上述の所定のプロセスは、監視対象プロセスと通常プロセスとを含む。ただし、所定のプロセスの全てが監視対象である場合、所定のプロセスは通常プロセスを含まないこととなる。監視プロセスは、一方のPEが実行した監視対象プロセスを監視するために他方のPEにより実行されるプロセスであり、この監視対象プロセスと処理内容が同じプロセスである。
PE100、200は、監視対象プロセスの実行開始時及び実行終了時、並びに、監視プロセスの実行開始時及び実行終了時に、その旨をバス301を介してバス機構300に通知する。バス機構300は、監視対象プロセスの実行が開始されることの通知があった場合に、上述の記憶部6、要求部7、及び比較部8に相当するバス機構300の各構成による処理を行う。このため、バス機構300は、PE100、200が実行する全てのプロセスについて監視処理を行わずに済み、処理量を低減することができる。また、PE100、200は、割り込み処理の実行開始時及び実行終了時に、その旨を、バス302を介してバス機構300に通知する。なお、本説明において、監視対象プロセスの実行開始時の通知は、監視対象プロセス開始通知と呼ばれ、監視対象プロセスの実行終了時の通知は、監視対象プロセス終了通知と呼ばれうる。また、本説明において、監視プロセスの実行開始時の通知は、監視プロセス開始通知と呼ばれ、監視プロセスの実行終了時の通知は、監視プロセス終了通知と呼ばれうる。さらに、本説明において、割り込み処理の実行開始時の通知は、割り込み発生通知と呼ばれ、割り込み処理の実行終了時の通知は、割り込み終了通知と呼ばれうる。
監視対象プロセス開始通知、監視対象プロセス終了通知、監視プロセス開始通知、及び監視プロセス終了通知は、バス機構300の後述する監視制御部320に入力される。また、割り込み発生通知及び割り込み終了通知は、バス機構300の後述する割り込み制御部310に入力される。
さらに、PE100、200は、監視対象プロセスの実行開始時に、監視有効範囲情報をバス301を介してバス機構300に通知する。ここで、監視有効範囲情報とは、監視対象のアクセス範囲を示す情報である。周辺IP群400に対して発生し得るアクセス範囲の全てについて監視する必要がない場合、PE100、200は、監視有効範囲情報を通知することにより、監視対象のアクセス範囲をバス機構300に通知する。これにより、バス機構は、監視プロセスの実行に伴い発生する全てのアクセスではなく、監視が必要なアクセスのみについて監視処理を行なえばよい。このため、バス機構300の処理量を低減することができる。
またさらに、PE100、200は、監視対象プロセスの実行開始時に、記憶領域情報をバス301を介してバス機構300に通知する。ここで、記憶領域情報とは、監視対象プロセスの実行により発生するアクセスのうち、監視有効範囲に含まれるアクセスにより生じるバスアクセス情報の記憶に必要な記憶容量を示す情報である。
監視有効範囲情報、及び記憶領域情報も、バス機構300の後述する監視制御部320に入力される。
周辺IP群400は、上述のアクセス対象部5に対応しており、PE100、200によりアクセスされる回路である。例えば、周辺IP群400には、メモリなどの記憶装置、AD変換器、タイマ回路などが含まれるが、これらに限らず、PE100、200によるリードアクセス又はライトアクセスの対象となる回路であればよい。また、周辺IP群400は、必ずしも複数のアクセス対象部を有していなくてもよく、1つのアクセス対象部のみを有していてもよい。周辺IP群400は、バス機構300を介して、PE100、200からアクセスされる。
バス機構300は、上述のバス機構4に対応しており、PE100、200と周辺IP群400との間のアクセス経路上に設けられている。バス機構300は、PE100、200からの周辺IP群400へのアクセスを制御する。バス機構300は、バス301、302、制御部303、記憶部304及び比較判定部305を有する。
バス301は、PE100、200が周辺IP群400にアクセスする際のバスアクセス情報を伝送するための伝送路である。また、バス302は、PE100、200に発生した割り込み処理についての割り込み情報を伝送するための伝送路である。
制御部303は、PE100、200の周辺IP群400へのアクセスの制御、及びPE100、200の監視制御を含む制御を行う制御回路である。記憶部304は、上述の記憶部6と対応しており、監視対象のPE100、200が監視対象プロセスを実行した際に発生する周辺IP群400に対するアクセスについてのバスアクセス情報を記憶する記憶装置である。比較判定部305は、上述の比較部8に対応しており、PE100、200のうち一方のPEが監視対象プロセスを実行した際のバスアクセス情報と、他方のPEが監視プロセスを実行した際のバスアクセス情報とを比較し、PE100、200に異常が発生していないか否かを判定する回路である。なお、制御部303、記憶部304、比較判定部305の詳細な構成については、後述する。
ここで、本実施の形態における監視方法について理解を助けるために、図3を参照し、本実施の形態における監視の具体例について説明する。図3は、記憶部304の後述する記憶領域におけるデータの格納例について示す模式図である。なお、以下の説明においては、PE100が監視対象のPEであり(すなわち、PE100が監視対象プロセスを実行するPEであり)、PE200がPE100を監視するための監視プロセスを実行するPEであるものとする。
図3では、具体的には、PE100による監視対象プロセスの実行の際にバスアクセス情報が記憶される記憶領域である記憶領域362について示している。本実施の形態では、監視対象プロセス毎にIDが割り当てられている。記憶領域362においては、ID毎の領域が確保される。図3において、IDn_Startは、IDの値がIDn(ただし、n=1,2,3,・・・)である監視対象プロセスのために確保された領域の先頭アドレスである。また、IDn_Endは、IDの値がIDnである監視対象プロセスのために確保された領域の最終アドレスである。また、P1は、IDn_Startを示すポインタであり、P2は、PE100が監視対象プロセスを実行する際のバスアクセス情報の格納先を示すポインタ、又はPE200が監視プロセスを実行する際のバスアクセス情報の参照先を示すポインタである。ポインタP2は、ポインタP1に対する相対アドレスであり、PE100による監視対象プロセスの実行が完了した際、及びPE200による監視プロセスの実行が完了した際に、0に初期化される。
図3に示されるように、PE100による監視対象プロセスの実行の際にリードアクセスが発生した場合、記憶領域362にはバスアクセス情報としてリードアドレス及びリードデータが格納される。同様に、PE100による監視対象プロセスの実行の際にライトアクセスが発生した場合、記憶領域362にはバスアクセス情報としてライトアドレス及びライトデータが格納される。
具体的には、PE100による監視対象プロセスの実行の際にリードアクセスが発生した場合、次のような手順で、バス機構300は処理を行う。まず、バス機構300は、PE100から要求されたリードアドレスを、ポインタP1及びポインタP2で特定される格納先に格納する。次に、バス機構300は、ポインタP2の値を更新する。すなわち、バス機構300は、格納されたリードアドレスデータのデータ量に相当するアドレス値を加算することにより、ポインタP2を更新する。リードアドレスデータのデータ量に相当するアドレス値は、所定の値であってもよい。次に、バス機構300は、リードアドレスに基づいて周辺IP群400から取得したリードデータを、更新されたポインタP2で特定される格納先に格納する。そして、バス機構300は、ポインタP2の値を更新する。すなわち、バス機構300は、格納されたリードデータのデータ量に相当するアドレス値を加算することにより、ポインタP2を更新する。リードデータのデータ量に相当するアドレス値は、所定の値であってもよい。そして、バス機構300は、PE100にリードデータを送信する。バス機構300は、監視対象プロセスの実行に伴うリードアクセスが発生する度に、以上の処理を行う。
また、PE100による監視対象プロセスの実行の際にライトアクセスが発生した場合、次のような手順で、バス機構300は処理を行う。まず、バス機構300は、PE100から要求されたライトアドレスを、ポインタP1及びポインタP2で特定される格納先に格納する。次に、バス機構300は、ポインタP2の値を更新する。すなわち、バス機構300は、格納されたライトアドレスデータのデータ量に相当するアドレス値を加算することにより、ポインタP2を更新する。ライトアドレスデータのデータ量に相当するアドレス値は、所定の値であってもよい。次に、バス機構300は、PE100から要求されたライトデータを、更新されたポインタP2で特定される格納先に格納する。そして、バス機構300は、ポインタP2の値を更新する。すなわち、バス機構300は、格納されたライトデータのデータ量に相当するアドレス値を加算することにより、ポインタP2を更新する。ライトデータのデータ量に相当するアドレス値は、所定の値であってもよい。そして、バス機構300は、ライトアドレスにより特定される周辺IP群400に対し、ライトデータを書き込む。バス機構300は、監視対象プロセスの実行に伴うライトアクセスが発生する度に、以上の処理を行う。
バス機構300は、PE100による監視対象プロセスの実行が全て完了すると、PE200に対し、監視プロセスの実行を要求する。ここで、PE200による監視プロセスの実行に際して、周辺IP群400に対するアクセスが生じた場合、バス機構300は以下に示すように動作する。
PE200による監視プロセスの実行の際にリードアクセスが発生した場合、次のような手順で、バス機構300は処理を行う。まず、バス機構300は、PE200から要求されたリードアドレスと、ポインタP1及びポインタP2で特定される格納先に格納されているリードアドレスとを比較する。次に、バス機構300は、ポインタP2の値を更新する。すなわち、バス機構300は、格納されているリードアドレスデータのデータ量に相当するアドレス値を加算することにより、ポインタP2を更新する。次に、バス機構300は、ポインタP1及びポインタP2で特定される格納先に格納されているリードデータをPE200に送信する。そして、バス機構300は、ポインタP2の値を更新する。すなわち、バス機構300は、格納されているリードデータのデータ量に相当するアドレス値を加算することにより、ポインタP2を更新する。バス機構300は、監視プロセスの実行に伴うリードアクセスが発生する度に、以上の処理を行う。
また、PE200による監視プロセスの実行の際にライトアクセスが発生した場合、次のような手順で、バス機構300は処理を行う。まず、バス機構300は、PE200から要求されたライトアドレスと、ポインタP1及びポインタP2で特定される格納先に格納されているライトアドレスとを比較する。次に、バス機構300は、ポインタP2の値を更新する。すなわち、バス機構300は、格納されているライトアドレスデータのデータ量に相当するアドレス値を加算することにより、ポインタP2を更新する。次に、バス機構300は、PE200から要求されたライトデータと、ポインタP1及びポインタP2で特定される格納先に格納されているライトデータとを比較する。そして、バス機構300は、ポインタP2の値を更新する。すなわち、バス機構300は、格納されているライトデータのデータ量に相当するアドレス値を加算することにより、ポインタP2を更新する。バス機構300は、監視プロセスの実行に伴うライトアクセスが発生する度に、以上の処理を行う。
上記の説明の通り、バス機構300は、監視対象プロセスの実行に伴うリードアクセスについては、リードアドレスのみを確認し、PE100、200の異常の有無を判定する。また、バス機構300は、監視対象プロセスの実行に伴うライトアクセスについては、ライトアドレス及びライトデータを確認し、PE100、200の異常の有無を判定する。
次に、バス機構300の具体的な構成例について説明する。なお、以下の説明では、監視対象のPEを監視対象PEと称し、監視対象PEの監視のために、監視対象PEが実行した監視対象プロセスと同じ処理内容の監視プロセスを実行するPEを監視処理実行PEと称する。例えば、PE100が、監視対象PEであり、PE200が監視処理実行PEとして振る舞うが、逆であってもよい。
<制御部303>
図2に示されるように、制御部303は、割り込み制御部310、監視制御部320、監視関連情報制御部330、バスアクセス情報制御部340、及び判定制御部350を有する。また、監視関連情報制御部330は、ID制御部331、ポインタ制御部332、監視有効範囲判断部333、及び記憶領域情報制御部334を有する。以下にそれぞれの構成について説明を記載する。
<割り込み制御部310>
割り込み制御部310は、監視制御部320に対し、PE100、200に生じた割り込みに応じた監視処理の制御を要求する制御回路である。割り込み制御部310は、具体的には、次の動作を行う。
割り込み制御部310は、PE100、200からの割り込み発生通知を受け、監視制御部320に、実行中の監視処理の中断を要求する。また、割り込み制御部310は、PE100、200からの割り込み終了通知を受け、監視制御部320に、中断されていた監視処理の再開を要求する。
<監視制御部320>
監視制御部320は、バス機構300における監視処理を制御する制御回路である。監視制御部320は、具体的には、次の動作を行う。
監視制御部320は、監視対象PEから、監視対象プロセス開始通知を受信すると、監視関連情報制御部330に対して、ID及びポインタの設定を要求する。また、監視制御部320は、監視対象プロセス開始通知とともに受信した、監視有効範囲情報及び記憶領域情報を監視関連情報制御部330に出力する。また、監視制御部320は、監視対象PEから監視対象プロセス開始通知を受けると、その旨をバスアクセス情報制御部340に通知し、以後、監視対象プロセス終了通知を受信するまで、又は割り込み制御部310からの監視処理の中断要求を受信するまで、監視対象PEからのバスアクセス情報を監視対象プロセスとしてバスアクセス情報制御部340に出力する。
監視制御部320は、監視対象PEからの監視対象プロセス終了通知を受信すると、監視処理実行PEに対して、監視プロセスの実行を要求する。すなわち、監視制御部320は、上述の要求部7と対応している。また、監視制御部320は、監視対象PEからの監視対象プロセス終了通知を受信すると、その旨をバスアクセス情報制御部340に通知し、以降、監視対象PEからの監視対象プロセス開始通知を受信するまで、監視対象PEからのバスアクセス情報を通常プロセスとしてバスアクセス情報制御部340に出力する。
監視制御部320は、監視処理実行PEからの監視プロセス開始通知を受けると、バスアクセス情報制御部340に対して、監視処理実行PEから周辺IP群400へのアクセスの禁止を要求する。また、監視制御部320は、監視処理実行PEからの監視プロセス開始通知を受信すると、その旨をバスアクセス情報制御部340に通知し、以後、監視処理実行PEからのバスアクセス情報を監視プロセスとしてバスアクセス情報制御部340に出力する。
監視制御部320は、監視処理実行PEからの監視プロセス終了通知を受けると、バスアクセス情報制御部340に対して、監視処理実行PEから周辺IP群400へのアクセスの許可を要求する。また、監視制御部320は、監視処理実行PEからの監視プロセス終了通知を受信すると、その旨をバスアクセス情報制御部340に通知し、以後、監視処理実行PEからのバスアクセス情報を通常プロセスとしてバスアクセス情報制御部340に出力する。さらに、監視制御部320は、監視処理実行PEからの監視プロセス終了通知を受けると、監視関連情報制御部330に対して、IDのリセット、ポインタのリセット、監視有効範囲情報のリセット、及び確保された記憶領域の解放を要求する。
監視制御部320は、監視対象プロセスが実行されている際に、割り込み制御部310からの中断要求を受けると、監視関連情報制御部330に対して、ID、ポインタ及び監視有効範囲情報の退避を要求する。
監視制御部320は、監視プロセスが実行されている際に、割り込み制御部310からの中断要求を受けると、バスアクセス情報制御部340に対して、監視処理実行PEから周辺IP群400へのアクセスの許可を要求する。
監視制御部320は、監視対象プロセスについての監視処理の再開要求を割り込み制御部310から受けると、監視関連情報制御部330に対して、ID、ポインタ及び監視有効範囲情報の復帰を要求する。そして、監視制御部320は、この再開要求を受信すると、その旨をバスアクセス情報制御部340に通知し、以後、監視対象プロセス終了通知を受信するまで、又は、割り込み制御部310からの中断要求を受信するまで、監視対象PEからのバスアクセス情報を監視対象プロセスとしてバスアクセス情報制御部340に出力する。
監視制御部320は、監視プロセスについての監視処理の再開要求を割り込み制御部310から受けると、バスアクセス情報制御部340に対して、監視処理実行PEから周辺IP群400へのアクセスの禁止を要求する。また、監視制御部320は、割り込み制御部310からこの再開要求を受けると、その旨をバスアクセス情報制御部340に通知し、以後、監視処理実行PEからのバスアクセス情報を監視プロセスとしてバスアクセス情報制御部340に出力する。
<ID制御部331>
ID制御部331は、監視対象プロセス毎に割り振られるIDを管理する制御回路である。ID制御部331は、具体的には、次の動作を行う。
ID制御部331は、監視制御部320からのIDの設定要求、退避要求、及び復帰要求を受信する。ID制御部331は、監視制御部320からのIDの設定要求を受信すると、監視対象プロセスに対し固有のIDを割り当てる。そして、ID制御部331は、現在の実行対象のIDを格納するためのレジスタである、ID制御部331に設けられた図示しない管理用レジスタに、割り当てたIDを格納する。また、これととともに、ID制御部331は、記憶部304に対し、監視対象プロセスとIDとを対応付けて記憶するよう要求する。また、ID制御部331は、監視制御部320からのIDの退避要求を受けると、管理用レジスタに格納されているIDを、ID制御部331に設けられた図示しない退避用レジスタに格納する。また、ID制御部331は、監視制御部320からのIDの復帰要求を受けると、退避用レジスタに格納されているIDを、管理用レジスタに復帰させる。また、ID制御部331は、監視制御部320からのIDのリセット要求を受けると、管理用レジスタをリセットする。
<ポインタ制御部332>
ポインタ制御部332は、上述のポインタP1及びポインタP2を管理する制御回路である。ポインタ制御部332は、具体的には、次の動作を行う。
ポインタ制御部332は、監視制御部320からのポインタの設定要求、退避要求、復帰要求、及びリセット要求を受信する。ポインタ制御部332は、監視制御部320からのポインタの設定要求を受信すると、上述のポインタP1及びポインタP2の初期設定を行う。ポインタ制御部332は、初期設定されたポインタP1の参照値について、記憶部304にIDと対応付けて記憶するよう要求し、初期設定されたポインタP2の参照値についてポインタ制御部332に設けられた図示しない管理用レジスタに格納する。なお、本実施の形態では、ポインタP1について、記憶部304に格納しているが、ポインタP2と同様、ポインタ制御部332に設けられたレジスタ等において管理してもよい。また、ポインタ制御部332は、監視制御部320からのポインタの退避要求を受けると、管理用レジスタに格納されているポインタの参照値を、ポインタ制御部332に設けられた図示しない退避用レジスタに格納する。また、ポインタ制御部332は、監視制御部320からのポインタの復帰要求を受けると、退避用レジスタに格納されているポインタの参照値を、管理用レジスタに復帰させる。また、ポインタ制御部332は、監視制御部320からのポインタのリセット要求を受けると、管理用レジスタをリセットする。さらに、ポインタ制御部332は、バスアクセス情報制御部340からのポインタ参照値の更新要求を受け、管理用レジスタに格納されているポインタP2の参照値を更新する。
<監視有効範囲判断部333>
監視有効範囲情報を設定するための制御回路である。監視有効範囲判断部333は、具体的には、次の動作を行う。
監視有効範囲判断部333は、監視制御部からの監視有効範囲情報を受信する。また、監視有効範囲判断部333は、監視制御部からの監視有効範囲情報の退避要求、復帰要求、及びリセット要求を受信する。監視有効範囲判断部333は、監視制御部320からの監視有効範囲情報を受信すると、監視有効範囲情報を、監視有効範囲判断部333に設けられた図示しない管理用レジスタに格納する。また、監視有効範囲判断部333は、監視制御部320からの監視有効範囲情報の退避要求を受信すると、管理用レジスタに格納されている監視有効範囲情報を、監視有効範囲判断部333に設けられた図示しない退避用レジスタに格納する。また、監視有効範囲判断部333は、監視制御部320からの監視有効範囲情報の復帰要求を受けると、退避用レジスタに格納されている監視有効範囲情報を、管理用レジスタに復帰させる。また、監視有効範囲判断部333は、監視制御部320からの監視有効範囲情報のリセット要求を受けると、ID制御部331に設定されているIDに対応する監視有効範囲情報をリセットする。具体的には、監視有効範囲判断部333は、管理用レジスタをリセットする。
<記憶領域情報制御部334>
記憶領域情報制御部334は、記憶領域情報に基づいて、記憶部304に記憶領域の確保を要求する制御回路である。記憶領域情報制御部334は、具体的には、次の動作を行う。
記憶領域情報制御部334は、監視制御部320からの記憶領域情報を受信する。また、記憶領域情報制御部334は、監視制御部320から、記憶領域の解放を要求する信号を受信する。記憶領域情報制御部334は、監視制御部320からの記憶領域情報を受信すると、記憶部304の記憶制御部361に対して、監視対象PE用の記憶領域として、記憶領域情報で示される記憶容量分の領域を確保することを要求する。また、記憶領域情報制御部334は、監視制御部320からの記憶領域の解放要求を受けると、記憶部304の記憶制御部361に対して監視対象PE用の記憶領域の解放を要求する。
<バスアクセス情報制御部340>
バスアクセス情報制御部340は、PE100、200からのバスアクセス情報を制御する制御回路である。バスアクセス情報制御部340は、具体的には、次の動作を行う。
バスアクセス情報制御部340は、監視制御部320から、監視対象プロセスによるバスアクセスとしてバスアクセス情報を受信した場合、監視有効範囲判断部333に設定された情報を確認する。バスアクセス情報制御部340は、受信したバスアクセス情報で示されるアクセス先が、監視有効範囲内であるか否かを判定する。アクセス先が監視有効範囲内である場合、バスアクセス情報制御部340は、ID制御部331に設定されているIDに対応した記憶領域に、バスアクセス情報を格納するよう記憶部304に要求するとともに、バスアクセス情報に従って周辺IP群400にアクセスする。アクセス先が監視有効範囲外である場合、バスアクセス情報制御部340は、バスアクセス情報の格納を記憶部304に要求することなく、周辺IP群400にアクセスする。
監視プロセスによるリードアクセスとして、バスアクセス情報を監視制御部320から受信した場合、バスアクセス情報制御部340は、以下の動作を実施する。バスアクセス情報制御部340は、ポインタ制御部332に対して、ポインタP2のポインタ参照値の更新を要求する。また、バスアクセス情報制御部340は、記憶部304に対して、ID制御部331に設定されているIDとポインタ制御部332に設定されているポインタ参照値とに対応するバスアクセス情報(具体的には、リードデータ)の取得を要求する。さらに、バスアクセス情報制御部340は、判定制御部350に対して、ID制御部331に設定されているIDとポインタ制御部332に設定されているポインタ参照値とに対応するバスアクセス情報(具体的には、リードアドレス)の比較を要求する。また、バスアクセス情報制御部340は、監視処理実行PEからのバスアクセス情報(具体的には、リードアドレス)を、比較器371に出力する。バスアクセス情報制御部340は、記憶部304からリードデータを取得したら、監視制御部320を介して監視処理実行PEに対し、リードデータを出力する。なお、リードアドレスとは、読み出し先のアドレスであり、リードデータとは、読み出されたデータである。
また、監視プロセスによるライトアクセスとして、バスアクセス情報を監視制御部320から受信した場合、バスアクセス情報制御部340は、以下の動作を実施する。バスアクセス情報制御部340は、ポインタ制御部332に対して、ポインタP2のポインタ参照値の更新を要求する。さらに、バスアクセス情報制御部340は、判定制御部350に対して、ID制御部331に設定されているIDとポインタ制御部332に設定されているポインタ参照値とに対応するバスアクセス情報(具体的には、ライトアドレス及びライトデータ)の比較を要求する。また、バスアクセス情報制御部340は、監視処理実行PEからのバスアクセス情報(具体的には、ライトアドレス及びライトデータ)を、比較器371に出力する。なお、ライトアドレスとは、書き込み先のアドレスであり、ライトデータとは、書き込まれるデータである。
<判定制御部350>
判定制御部350は、監視対象プロセスによるアクセスについてのバスアクセス情報と、監視プロセスによるアクセスについてのバスアクセス情報とに基づく、監視対象PEの動作の判定を制御する制御回路である。判定制御部350は、具体的には、次の動作を行う。
判定制御部350は、バスアクセス情報制御部340からバスアクセス情報の比較要求を受けると、記憶部304に対して、要求されているID及びポインタに対応する、監視対象プロセスについてのバスアクセス情報を比較判定部305に出力するよう要求する。また、判定制御部350は、比較判定部305から比較結果を受信する。判定制御部350は、比較結果がバスアクセス情報の一致を示す場合、次の比較要求を受信するまで待機し、比較結果がバスアクセス情報の不一致を示す場合、予め定められたエラー処理を実施する。このエラー処理は、例えば、監視対象PE及び監視処理実行PEに対して所定の割り込み処理を要求するものであってもよいし、監視対象PE及び監視処理実行PEのリセット処理を要求するものであってもよい。なお、判定制御部350は、エラー処理部と称されることがある。このように、エラー処理が実行されることにより、プロセッサエレメントの異常に起因するシステムの被害を低減することができる。
<記憶部304>
記憶部304は、図2に示されるように、記憶制御部361及び記憶領域362、363を有する記憶装置である。以下に各構成の説明を記載する。
<記憶制御部361>
記憶制御部361は、記憶部304の動作を制御する制御回路である。記憶制御部361は、具体的には、次の動作を行う。
記憶制御部361は、ID制御部331及びポインタ制御部332からの要求に応じて、記憶領域362、363のうち監視対象PE用の記憶領域に対し、ID及びポインタ参照値を格納するよう要求する。
また、記憶制御部361は、記憶領域情報制御部334からの記憶領域の確保要求を受信すると、記憶領域362、363のうち監視対象PE用の記憶領域において、記憶領域情報で示される記憶容量分の領域を確保するよう制御する。記憶制御部361は、記憶領域情報制御部334からの記憶領域の解放要求を受信すると、確保されていた記憶領域を解放するよう制御する。
記憶制御部361は、バスアクセス情報制御部340からの要求に応じて、監視対象プロセスによるバスアクセスについてのバスアクセス情報を、この監視対象プロセスについてのIDと対応付けられて確保されている領域に、格納するよう制御する。また、記憶制御部361は、バスアクセス情報制御部340からの要求に応じて、監視プロセスによるリードアクセスに対する応答としてのリードデータを記憶領域から取得して、バスアクセス情報制御部340に出力する。その際、具体的には、記憶制御部361は、監視対象PE用の記憶領域(すなわち、記憶領域362又は363のいずれか)に対して、ID及びポインタ参照値により特定される格納先に格納されているリードデータを引き渡すよう要求し、これにより取得したリードデータを、バスアクセス情報制御部340に出力する。
また、記憶制御部361は、判定制御部350からの要求に応じて、監視対象PE用の記憶領域(すなわち、記憶領域362又は363のいずれか)に対し、ID及びポインタ参照値により特定される格納先に格納されている、監視対象プロセスについてのバスアクセス情報を、比較判定部305に引き渡すよう要求する。
<記憶領域362、363>
記憶領域362、363は、例えばメモリであり、記憶領域362は、PE100用の記憶領域であり、記憶領域363は、PE200用の記憶領域である。ここで、記憶領域362には、PE100が監視対象PEである場合に生成されるID及びポインタ、並びに、PE100による監視対象プロセスの実行に伴うバスアクセス情報が、記憶される。同様に、記憶領域363には、PE200が監視対象PEである場合に生成されるID及びポインタ、並びに、PE200による監視対象プロセスの実行に伴うバスアクセス情報が、記憶される。
すなわち、記憶領域362は、記憶制御部361からの要求により、監視対象PEとしてのPE100が実行する監視対象プロセスについてのIDを記憶する。同様に、記憶領域363は、記憶制御部361からの要求により、監視対象PEとしてのPE200が実行する監視対象プロセスについてのIDを記憶する。また、記憶領域362は、記憶制御部361からの要求により、監視対象PEとしてのPE100が実行する監視対象プロセスについてのポインタP1の参照値を記憶する。同様に、記憶領域363は、記憶制御部361からの要求により、監視対象PEとしてのPE200が実行する監視対象プロセスについてのポインタP1の参照値を記憶する。また、記憶領域362は、記憶制御部361からの要求により、ID及びポインタ参照値により特定される格納先に、PE100による監視対象プロセスの実行により発生したバスアクセス情報を記憶する。同様に、記憶領域363は、記憶制御部361からの要求により、ID及びポインタ参照値により特定される格納先に、PE200による監視対象プロセスの実行により発生したバスアクセス情報を記憶する。また、記憶領域362、363は、記憶制御部361からの要求により、ID及びポインタ参照値により特定される格納先に格納されているリードデータを記憶制御部361に引き渡す。さらに、記憶領域362、363は、記憶制御部361からの要求により、ID及びポインタ参照値により特定される格納先に格納されているバスアクセス情報を、比較判定部305に引き渡す。
<比較判定部305>
比較判定部305は、図2に示されるように、比較器371及び比較結果通知部372を有する制御回路である。以下に各構成の説明を記載する。
<比較器371>
比較器371は、記憶部304から出力された、監視対象プロセスについてのバスアクセス情報と、バスアクセス情報制御部340から出力された、監視プロセスについてのバスアクセス情報とを比較し、比較結果を比較結果通知部372に出力する。ここで、比較器371は、比較されるバスアクセス情報がリードアクセスについてのバスアクセス情報である場合、リードアドレスについて比較を行い、比較されるバスアクセス情報がライトアクセスについてのバスアクセス情報である場合、ライトアドレス及びライトデータについて比較を行う。
<比較結果通知部372>
比較結果通知部372は、比較器371から出力された比較結果を判定制御部350に通知する制御回路である。
<マルチプロセッサシステム10の動作例>
次に、マルチプロセッサシステム10の動作例について説明する。まず、割り込みが発生しない場合の動作例について説明する。
<動作例1>
図4A、図4Bは、実施の形態1にかかるマルチプロセッサシステム10において割り込みが発生しない場合の動作例を示すフローチャートである。以下、図4A、図4Bに示されるフローチャートに沿って、マルチプロセッサシステム10の動作例について説明する。
ステップ100(S100)において、PE100は、通常プロセスを実行しているものとする。同様に、ステップ200(S200)において、PE200も通常プロセスを実行しているものとする。このとき、バス機構300は、通常のバスアクセスを実施している(ステップ300(S300))。すなわち、バス機構300は、PE100又はPE200からの周辺IP群400に対するアクセス要求に対し、周辺IP群400に対する書き込み処理又は読み出し処理を行うものの、監視のための処理は行わない。
ここで、PE100が監視対象プロセスを実行するものとすると、ステップ101(S101)において、PE100は、バス機構300に対し、監視対象プロセス開始通知、監視有効範囲情報、及び記憶領域情報を出力する。
これに対し、ステップ301(S301)において、バス機構300は、監視処理のための初期設定を実施する。具体的には、バス機構300は、次のような処理を行う。バス機構300は、監視対象プロセスにより生じるバスアクセス情報を記憶するための領域を、記憶領域情報に基づいて記憶領域362に確保する。また、バス機構300は、監視対象プロセスに対してIDを設定し、これを記憶する。さらに、バス機構300は、このIDに対応するポインタを設定し、これを記憶する。また、バス機構300は、監視有効範囲情報を記憶する。本ステップ以降、バス機構300は、PE100からのアクセスを監視対象プロセスにより生じたアクセスとして取り扱うこととなる。
なお、本実施の形態では、記憶領域情報に基づいて、領域の確保が行われるが、必ずしも記憶領域情報がバス機構300に入力されなくてもよい。この場合、バス機構300は、例えば、予め定められた十分な領域を確保すればよい。
ステップ102(S102)において、PE100は、監視対象プロセスを実行する。例えば、PE100は、周辺IP群400に対するリードアクセスをバス機構300に要求し、リードデータに基づいて演算を行い、演算結果を周辺IP群400に書き込むためのライトアクセスをバス機構300に要求する。
バス機構300では、PE100からのアクセス要求を処理する(ステップ302(S302))。具体的には、バス機構300は、PE100からのリードアクセス要求に対し、周辺IP群400からのリードデータを、PE100に出力する。また、バス機構300は、PE100からのライトアクセス要求に対し、ライトデータを周辺IP群400に書き込む。
バス機構300は、PE100からのアクセス要求があった場合、すなわちPE100からのバスアクセス情報を受信した場合、アクセス先が監視有効範囲内であるか否かを判定する(ステップ303(S303))。
アクセス先が監視有効範囲内である場合、ステップ304(S304)において、バス機構300は、バスアクセス情報をステップ301で確保した領域に記憶する。すなわち、バス機構300は、リードアクセスに対して、リードアドレス及びリードデータを記憶し、ライトアクセスに対して、ライトアドレス及びライトデータを記憶する。このようにバス機構300の記憶部304は、監視対象として通知されたアクセス範囲に含まれるアクセスについてのバスアクセス情報を記憶する。
PE100においては、監視対象プロセスの実行が完了するまで、ステップ102が繰り返される(ステップ103(S103)でNo)。PE100は、監視対象プロセスの実行が完了すると(ステップ103でYes)、バス機構300に対し、監視対象プロセス終了通知を出力する(ステップ104(S104))。その後、PE100は、通常プロセスを実行する(ステップ105(S105))。
ステップ305(S305)において、バス機構300は、PE100から監視対象プロセス終了通知を受信すると、PE200に対し、監視プロセスの実行を要求する。これ対し、PE200は、空き時間が生じると、監視プロセスを実行することとなる。なお、バス機構300は、PE200に対し監視プロセスの実行を要求する際、実行すべき監視プロセスを特定するための情報をPE200に通知してもよい。バス機構300が、実行すべき監視プロセスを特定するための情報をPE200に通知しない場合、PE200は、例えば所定の監視プロセスを実行する。
ステップ201(S201)において、PE200は、監視プロセスの実行開始にあたり、バス機構300に対して、監視プロセス開始通知を出力する。
ステップ306(S306)において、PE200から監視プロセス開始通知を受信したバス機構300は、PE200による周辺IP群400に対するアクセスを禁止する。以降、PE200における監視プロセスの実行に伴う周辺IP群400に対するアクセス要求に対し、周辺IP群400に対する実際のアクセスは行われなくなる。このように、実際のアクセスが禁止されるため、監視プロセスの実行によって周辺IP群のデータが書き換えられてしまうことを防ぐことができる。
ステップ202(S202)において、PE200は、監視プロセスを実行する。例えば、PE200は、周辺IP群400に対するリードアクセスをバス機構300に要求し、リードデータに基づいて演算を行い、演算結果を周辺IP群400に書き込むためのライトアクセスをバス機構300に要求する。このとき、PE200からのライトアクセス要求があっても、周辺IP群400への書き込み処理は行われない。また、PE200からのリードアクセス要求があっても、周辺IP群400からの読み込み処理は行われず、記憶領域362に記憶されたリードデータがPE200に渡されることとなる。これについて、別の言い方をすると、バス機構300は、PE200が監視プロセスを実行している間、PE200による周辺IP群400へのリードアクセス要求に対し、記憶部304に記憶されたPE100によるリードデータをPE200に出力し、PE200による周辺IP群400へのライトアクセス要求に対し、周辺IP群400へのライトアクセスを行わない。
ステップ307(S307)において、バス機構300は、バスアクセス情報の比較を行う。具体的には、バス機構300は、PE200からのアクセス要求のバスアクセス情報と、ステップ304で記憶されたPE100からのアクセス要求のバスアクセス情報とを比較する。このとき、アクセス先が監視有効範囲内であるアクセス要求のバスアクセス情報について、比較が行われる。すなわち、バス機構300の比較器371は、監視対象として通知されたアクセス範囲に含まれるアクセスについてのバスアクセス情報について比較する。
バス機構300の比較器371は、リードアクセスについてのバスアクセス情報の比較として、記憶部304に記憶されたPE100リードアドレスと、PE200が監視プロセスを実行した際にPE200から入力されるリードアドレスを比較する。これにより、リードアクセスが適切に実施されているか否かを判定することができる。また、比較器371は、ライトアクセスについてのバスアクセス情報の比較として、記憶部304に記憶されたPE100のライトアドレスと、PE200が監視プロセスを実行した際にPE200から入力されるライトアドレスとの比較、及び、記憶部304に記憶されたPE100のライトデータと、PE200が監視プロセスを実行した際にPE200から入力されるライトデータとの比較を行う。これにより、ライトアクセスが適切に実施されているか否かを判定することができる。
両バスアクセス情報が一致しない場合(ステップ308(S308)においてNo)、バス機構300は、予め定められたエラー処理を実施する(ステップ309(S309))。例えば、バス機構300は、PE100及びPE200に対し、割り込み処理などを要求する。
両バスアクセス情報が一致する場合(ステップ308においてYes)、PE200においては、監視プロセスの実行が完了するまで、ステップ202が繰り返される(ステップ203(S203)でNo)。PE200は、監視プロセスの実行が完了すると(ステップ203でYes)、バス機構300に対し、監視プロセス終了通知を出力する(ステップ204(S204))。その後、PE200は、通常プロセスを実行する(ステップ205(S205))。
ステップ310(S310)において、バス機構300は、PE200から監視プロセス終了通知を受信すると、監視処理についてのリセット処理を行う。具体的には、バス機構300は、ID、ポインタ、及び監視有効範囲の削除を行い、ステップ301で確保された領域を解放する。その後、バス機構300は、通常のバスアクセスを実施する(ステップ311(S311))。
<動作例2>
次に、監視対象プロセスを実行中のPE100において、監視対象プロセスを含まない割り込み処理が発生した場合の動作例について説明する。図5Aは、監視対象プロセスを実行中のPE100において、割り込み処理が発生した場合の動作例を示すフローチャートである。図5Bは、監視対象プロセスを実行中のPE100において、監視対象プロセスを含まない割り込み処理が発生した場合の割り込み関連処理の動作例を示すフローチャートである。監視対象プロセスを実行中のPE100において、割り込み処理が発生すると、図5Aに示すように、割り込み関連処理(ステップ10(S10))がPE100及びバス機構300において発生する。なお、図5Aに示したフローチャートは、割り込み関連処理(ステップ10)が追加されている点を除き、図4Aに示したフローチャートと同じである。したがって、図5Aに示されるフローチャートの各ステップの説明については割愛する。ステップ10の割り込み関連処理の具体的な動作については、図5Bに示している。以下、図5Bに示されるフローチャートに沿って、マルチプロセッサシステム10において発生する割り込み関連処理の動作例について説明する。
割り込み関連処理においては、ステップ120(S120)として、PE100は、割り込み処理の実行開始にあたり、バス機構300に割り込み発生通知を出力する。そして、ステップ121(S121)として、PE100は、監視対象プロセスを含まない割り込み処理を実行する。
バス機構300は、割り込み発生通知を受信すると、監視処理を中断する(ステップ320(S320))。なお、バス機構300は、監視処理の中断にあたり、ID、ポインタ及び監視有効範囲情報を退避させる。
PE100においては、割り込み処理が完了するまで、ステップ121が繰り返される(ステップ122(S122)でNo)。PE100は、割り込み処理が完了すると(ステップ122でYes)、バス機構300に対し、割り込み終了通知を出力する(ステップ112(S123))。
バス機構300は、割り込み終了通知を受信すると、監視処理を再開する(ステップ321(S321))。なお、バス機構300は、監視処理の再開にあたり、退避していたID、ポインタ及び監視有効範囲情報を復帰させる。その後、図4Aのステップ103以降の動作が行われる。
<動作例3>
次に、監視対象プロセスを実行中のPE100において、監視対象プロセスを含む割り込み処理が発生した場合の動作例について説明する。この場合も、図5Aに示したフローチャートが、動作例となる。ただし、ステップ10の割り込み関連処理については、図5Bではなく図6A、6Bに示すフローチャートが動作例となる。図6A及び図6Bは、監視対象プロセスを実行中のPE100において、監視対象プロセスを含む割り込み処理が発生した場合の割り込み関連処理の動作例を示すフローチャートである。以下、図6A及び図6Bに示されるフローチャートに沿って、監視対象プロセスを含む割り込み処理がPE100において発生した場合の動作例について説明する。
本動作例の割り込み関連処理においては、ステップ130(S130)として、PE100は、割り込み処理の実行開始にあたり、バス機構300に、割り込み発生通知、監視対象プロセス開始通知、監視有効範囲情報、及び記憶領域情報を出力する。
ステップ330(S330)において、バス機構300は、割り込み発生通知を受信すると、それまで監視対象としていた監視対象プロセス(以下、第1の監視対象プロセスと呼ぶこととする)の監視処理を中断する。なお、バス機構300は、第1の監視対象プロセスの監視処理の中断にあたり、第1の監視対象プロセスについてのID、ポインタ及び監視有効範囲情報を退避させる。
ステップ331(S331)において、バス機構300は、割り込み処理における新たな監視対象プロセス(以下、第2の監視対象プロセスと呼ぶこととする)の監視処理のための初期設定を実施する。具体的には、バス機構300は、次のような処理を行う。バス機構300は、第2の監視対象プロセスにより生じるバスアクセス情報を記憶するための領域を、記憶領域情報に基づいて記憶領域362に確保する。また、バス機構300は、第2の監視対象プロセスに対してIDを設定し、これを記憶する。さらに、バス機構300は、このIDに対応するポインタを設定し、これを記憶する。また、バス機構300は、第2の監視対象プロセスについての監視有効範囲情報を記憶する。本ステップ以降、バス機構300は、PE100からのアクセスを監視対象プロセスにより生じたアクセスとして取り扱うこととなる。
以降、図4AにおけるS102以降の動作と同様の動作が行われる。よって、ステップ331以降の動作については、簡単に説明する。
ステップ131(S131)において、図4AのS102と同様、PE100は、割り込み処理、すなわち、第2の監視対象プロセスを実行する。
バス機構300では、図4AのS302と同様、PE100からのアクセス要求を処理する(ステップ332(S332))。
図4AのS303と同様、バス機構300は、PE100からのアクセス要求があった場合、アクセス先が監視有効範囲内であるか否かを判定する(ステップ333(S333))。
アクセス先が監視有効範囲内である場合、図4AのS304と同様、ステップ334(S334)において、バス機構300は、バスアクセス情報をステップ331で確保した領域に記憶する。すなわち、記憶部304は、監視対象プロセス毎に設けられた領域に、監視対象プロセスを実行した際に発生する周辺IP群400に対するアクセスについてのバスアクセス情報を記憶する。よって、バス機構300は、PE100による監視対象プロセスの実行中にPE100に新たに別の監視対象プロセスについての割り込み処理が発生した場合、割り込み処理の発生前の監視対象プロセスに対応する領域とは異なる領域に、割り込み処理についていのバスアクセス情報を格納することとなる。このように、監視対象プロセス毎に、バスアクセス情報を管理しているため、割り込み処理が発生した場合であっても、適切に、各監視対象プロセスについての監視処理を実行することができる。
PE100においては、第2の監視対象プロセスの実行が完了するまで、ステップ131が繰り返される(ステップ132(S132)でNo)。PE100は、第2の監視対象プロセスの実行が完了すると(ステップ132でYes)、バス機構300に対し、監視対象プロセス終了通知、及び割り込み終了通知を出力する(ステップ133(S133))。
ステップ335(S335)において、図4AのS305と同様、バス機構300は、PE100から第2の監視対象プロセスについての監視対象プロセス終了通知を受信すると、PE200に対し、第2の監視対象プロセスについての監視プロセス(以下、第2の監視プロセスと呼ぶこととする)の実行を要求する。これ対し、PE200は、空き時間が生じると、第2監視プロセスを実行することとなる。
ステップ230(S230)において、図4BのS201と同様、PE200は、第2の監視プロセスの実行開始にあたり、バス機構300に対して、監視プロセス開始通知を出力する。
ステップ336(S336)において、図4BのS306と同様、PE200から監視プロセス開始通知を受信したバス機構300は、PE200による周辺IP群400に対するアクセスを禁止する。
ステップ231(S231)において、図4BのS202と同様、PE200は、第2の監視プロセスを実行する。
ステップ337(S337)において、図4BのS307と同様、バス機構300は、バスアクセス情報の比較を行う。両バスアクセス情報が一致しない場合(ステップ338(S338)においてNo)、バス機構300は、図4BのS309と同様、予め定められたエラー処理を実施する(ステップ339(S339))。
両バスアクセス情報が一致する場合(ステップ338においてYes)、PE200においては、第2の監視プロセスの実行が完了するまで、ステップ231が繰り返される(ステップ232(S232)でNo)。PE200は、第2の監視プロセスの実行が完了すると(ステップ232でYes)、バス機構300に対し、第2の監視プロセスについての監視プロセス終了通知を出力する(ステップ233(S233))。
ステップ340(S340)において、図4BのS310と同様、バス機構300は、PE200から監視プロセス終了通知を受信すると、第2の監視対象プロセスの監視処理についてのリセット処理を行う。また、ステップ341(S341)において、バス機構300は、第1の監視対象プロセスについての監視処理を再開する。すなわち、バス機構300は、監視処理の再開にあたり、退避していたID、ポインタ及び監視有効範囲情報を復帰させる。その後、PE100は、第1の監視対象プロセスの実行を再開し、図4Aのステップ103以降の動作が行われる。
<動作例4>
次に、監視プロセスを実行中のPE200において、割り込み処理が発生した場合の動作例について説明する。この場合、図4Bに示したフローチャートが、図7Aに示すフローチャートに置き換わる。つまり、図4Aに示すフローチャートに続いて、図7Aに示すフローチャートが実施される。図7Aは、監視プロセスを実行中のPE200において、割り込み処理が発生した場合の動作例を示すフローチャートである。図7Bは、監視プロセスを実行中のPE200において、割り込み処理が発生した場合の割り込み関連処理の動作例を示すフローチャートである。
監視プロセスを実行中のPE200において、割り込み処理が発生すると、図7Aに示すように、割り込み関連処理(ステップ20(S20))がPE200及びバス機構300において発生する。なお、図7Aに示したフローチャートは、割り込み関連処理(ステップ20)が追加されている点を除き、図4Bに示したフローチャートと同じである。したがって、図7Aに示されるフローチャートの各ステップの説明については割愛する。ステップ20の割り込み関連処理の具体的な動作については、図7Bに示している。以下、図7Bに示されるフローチャートに沿って、マルチプロセッサシステム10において発生する割り込み関連処理の動作例について説明する。
本動作例における割り込み関連処理においては、ステップ250(S250)として、PE200は、割り込み処理の実行開始にあたり、バス機構300に割り込み発生通知を出力する。
ステップ350(S350)において、バス機構300は、PE200から割り込み発生通知を受信すると、PE200による周辺IP群400に対するアクセスの禁止を解除し、通常のバスアクセスを実施する。これにより、PE200は、周辺IP群400へのアクセスを伴う割り込み処理を実行することができる(ステップ251(S251))。
PE200においては、割り込み処理が完了するまで、ステップ251が繰り返される(ステップ252(S252)でNo)。PE200は、割り込み処理が完了すると(ステップ252でYes)、バス機構300に対し、割り込み終了通知を出力する(ステップ253(S253))。
ステップ351(S351)において、バス機構300は、割り込み終了通知を受信すると、再び、PE200による周辺IP群400に対するアクセスを禁止する。その後、PE200は、監視プロセスの実行を再開し、図4Bのステップ203以降の動作が行われる。
以上、実施の形態1について説明した。本実施の形態にかかるマルチプロセッサシステム10によれば、上述の通り、バス機構300は、監視対象PEによる監視対象プロセスの実行の完了後に、監視処理実行PEに対し、監視プロセスの実行を要求する。そして、監視処理実行PEは、自身の空き時間に監視プロセスを実行する。このため、監視処理実行PEは、監視対象PEの監視専用のプロセッサエレメントでなくてよい。よって、マルチプロセッサシステム10によれば、コストを抑制しつつ、プロセッサエレメントの監視を実現することができる。
また、PE100、200が、周期的に所定の処理を実現するために周期的に監視対象プロセスを含む所定のプロセスを実行する場合、次のような利点がある。各サイクルにおいて、監視処理実行PEは、例えば、所定のプロセスの実行を時間t1で完了し、周期Tのうち空き時間t2(=T−t1)を利用して、監視対象PEを監視するための監視プロセスを実行することができる。このため、バス機構300は、サイクル毎に、監視処理を完了することができる。すなわち、監視対象PEの異常を、次のサイクルの開始までに検出することが可能となる。さらに、PE100、200が、周期的に所定の処理を実現するために周期的に監視対象プロセスを含む所定のプロセスを実行する場合、PE100、200は、自身の空き時間を利用して、それぞれが監視プロセスを実行することが可能であるため、バス機構300は、各サイクルにおいて、PE100、200の監視を行うことができる。
他の技術では、任意の2つの独立した処理の異常を検知するために、例えばDLSではPEが4個必要であったが、本実施の形態によれば、2個のPEが独立して相互に監視することができる。このため、コストを抑制することができる。ところで、本実施の形態による異常検出方法ではなく、ソフトウェア処理によりPEの異常を検出する方法の場合には、2つの方法が考えられる。
1つ目の方法は、2つのPEがそれぞれ周辺IP群からリードデータを取得し、別々の記憶領域にデータを格納し、演算、比較、及び判定を行う方法である。2つ目の方法は、1つのPEが取得したリードデータを、もう1つのPEが流用して演算、比較、及び判定する方法である。1つ目の方法では、周辺IP群からデータを取得するタイミングの違いなどにより、各PEが取得するデータが違う可能性がある点で問題である。すなわち、リードデータの同一性が保障されない点が問題である。また、2つ目の方法では、取得したリードデータを記憶領域に格納する処理をPEが行う必要があり、これがオーバーヘッドとなり、PEのパフォーマンスを低下させる。また、PEに異常が発生している場合には、リードデータを正しく記憶領域に格納できない恐れがあり、そのようなリードデータを他のPEが流用した場合には正しく異常を検知できない。このように、ソフトウェア処理による方法では問題があるところ、本実施の形態ではこのような問題の発生を回避できる。
<実施の形態2>
次に、実施の形態2について説明する。実施の形態2は、実施の形態1にかかるマルチプロセッサシステム10を用いた車両制御システムについての実施形態である。図8は、実施の形態2にかかる車両制御システム20の構成の一例を示すブロック図である。図8に示されるように車両制御システム20は、モータ500、600が追加されている点で、実施の形態1にかかるマルチプロセッサシステム10と異なる。車両制御システム20は、図示しない車両に搭載される。すなわち、以下、実施の形態1と異なる点についてのみ説明し、重複する説明を省略する。
モータ500、600は、それぞれ、車両に搭載されるモータであり、例えば、車両を駆動するための駆動源である。PE100、200は、所定時間内に各モータを制御するため、矩形波などの制御信号の生成処理を所定時間内に実施する。ここで、PE100は、モータ500を制御するための制御信号を生成する。また、PE200は、モータ600を制御するための制御信号を生成する。
PE100、200は、制御信号の生成にあたり、バス機構300を介して、周辺IP群400にアクセスする。制御信号の生成は、所定の周期で、周期的に行われる。より詳細には、PE100、200は、周期的に、制御信号の生成のための信号生成プロセス及び監視プロセスを実行する。この信号生成プロセスは、監視対象プロセスである。つまり、PE100は、周期Tの間に、信号生成プロセスを実施し、かつ、PE200における信号生成プロセスの実施を監視するための監視対象プロセスを実施する。同様に、PE200は、周期Tの間に、信号生成プロセスを実施し、かつ、PE100における信号生成プロセスの実施を監視するための監視対象プロセスを実施する。PE100、200は、信号生成プロセス及び監視プロセスの実行周期Tのうち、信号生成プロセスが実行されない時間帯に、監視プロセスを実行する。
2つのPEがそれぞれモータを制御する場合に、機能安全を実現させる方法としては、1つのPEに対して、1つ、または2つの監視専用のPEを用意する方法がある。しかしながら、この方法だと、最低でも4つのPEが必要になる。これに対し、本実施の形態では、2つのPEで機能安全を実現することができる。すなわち、監視専用のPEを用意する必要がない。このように、本実施の形態によれば、車両の制御にあたり、コストを抑制しつつ機能安全を実現することができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
1、10 マルチプロセッサシステム
2 第1のプロセッサエレメント
3 第2のプロセッサエレメント
4、300 バス機構
5 アクセス対象部
6、304 記憶部
7 要求部
8 比較部
20 車両制御システム
301、302 バス
303 制御部
305 比較判定部
310 割り込み制御部
320 監視制御部
330 監視関連情報制御部
331 ID制御部
332 ポインタ制御部
333 監視有効範囲判断部
334 記憶領域情報制御部
340 バスアクセス情報制御部
350 判定制御部
361 記憶制御部
362、363 記憶領域
371 比較器
372 比較結果通知部
400 周辺IP群
500、600 モータ

Claims (11)

  1. 第1のプロセッサエレメントと、
    第2のプロセッサエレメントと、
    前記第1のプロセッサエレメントによってアクセスされるアクセス対象部と、
    前記第1のプロセッサエレメントと前記アクセス対象部との間のアクセス経路上に設けられたバス機構と
    を備え、
    前記バス機構は、
    前記第1のプロセッサエレメントが監視対象プロセスを実行した際に発生する前記アクセス対象部に対するアクセスについてのバスアクセス情報を記憶する記憶部と、
    前記第1のプロセッサエレメントによる前記監視対象プロセスの実行の完了後に、前記第2のプロセッサエレメントに対し、前記監視対象プロセスと同じ処理からなる監視プロセスの実行を要求する要求部と、
    前記記憶部に記憶された前記第1のプロセッサエレメントのアクセスについてのバスアクセス情報と、前記第2のプロセッサエレメントが前記監視プロセスを実行した際に前記第2のプロセッサエレメントから入力されるバスアクセス情報とを比較する比較部とを有し、
    前記第2のプロセッサエレメントは、空き時間に前記監視プロセスを実行する
    マルチプロセッサシステム。
  2. 前記第2のプロセッサエレメントは、周期的に、所定のプロセス及び前記監視プロセスを実行し、
    前記空き時間は、前記第2のプロセッサエレメントにおける前記所定のプロセス及び前記監視プロセスの実行周期のうち、前記所定のプロセスが実行されない時間帯である
    請求項1に記載のマルチプロセッサシステム。
  3. 前記第1のプロセッサエレメントは、前記監視対象プロセスの実行の開始時に、前記監視対象プロセスの実行の開始を前記バス機構に通知し、
    前記バス機構は、前記監視対象プロセスの実行が開始されることの通知があった場合に、前記記憶部、前記要求部、及び前記比較部による処理を行う
    請求項1に記載のマルチプロセッサシステム。
  4. 前記第1のプロセッサエレメントは、前記監視対象プロセスの実行の開始時に、さらに、監視対象のアクセス範囲を前記バス機構に通知し、
    前記記憶部は、監視対象として通知された前記アクセス範囲に含まれるアクセスについてのバスアクセス情報を記憶し、
    前記比較部は、監視対象として通知された前記アクセス範囲に含まれるアクセスについてのバスアクセス情報について比較する
    請求項3に記載のマルチプロセッサシステム。
  5. 前記バス機構は、前記第2のプロセッサエレメントが前記監視プロセスを実行している間、
    前記第2のプロセッサエレメントによる前記アクセス対象部へのリードアクセス要求に対し、前記記憶部に記憶された前記第1のプロセッサエレメントによるリードデータを前記第2のプロセッサエレメントに出力し、
    前記第2のプロセッサエレメントによる前記アクセス対象部へのライトアクセス要求に対し、前記アクセス対象部へのライトアクセスを行わない
    請求項1に記載のマルチプロセッサシステム。
  6. 前記比較部は、リードアクセスについてのバスアクセス情報の比較として、前記記憶部に記憶された前記第1のプロセッサエレメントのリードアドレスと、前記第2のプロセッサエレメントが前記監視プロセスを実行した際に前記第2のプロセッサエレメントから入力されるリードアドレスを比較する
    請求項1に記載のマルチプロセッサシステム。
  7. 前記比較部は、ライトアクセスについてのバスアクセス情報の比較として、
    前記記憶部に記憶された前記第1のプロセッサエレメントのライトアドレスと、前記第2のプロセッサエレメントが前記監視プロセスを実行した際に前記第2のプロセッサエレメントから入力されるライトアドレスとの比較、及び
    前記記憶部に記憶された前記第1のプロセッサエレメントのライトデータと、前記第2のプロセッサエレメントが前記監視プロセスを実行した際に前記第2のプロセッサエレメントから入力されるライトデータとの比較を行う
    請求項1に記載のマルチプロセッサシステム。
  8. 前記記憶部は、前記監視対象プロセス毎に設けられた領域に、前記監視対象プロセスを実行した際に発生する前記アクセス対象部に対するアクセスについてのバスアクセス情報を記憶し、
    前記バス機構は、前記第1のプロセッサエレメントによる監視対象プロセスの実行中に前記第1のプロセッサエレメントに新たに別の監視対象プロセスについての割り込み処理が発生した場合、割り込み処理の発生前の監視対象プロセスに対応する前記領域とは異なる前記領域に、前記割り込み処理についていのバスアクセス情報を格納する
    請求項1に記載のマルチプロセッサシステム。
  9. 前記比較部による比較結果がバスアクセス情報の不一致を示す場合、予め定められたエラー処理を実施するエラー処理部をさらに有する
    請求項1に記載のマルチプロセッサシステム。
  10. 車両に搭載される第1のモータと、
    前記第1のモータに対する制御信号を生成する第1のプロセッサエレメントと、
    前記車両に搭載される第2のモータと、
    前記第2のモータに対する制御信号を生成する第2のプロセッサエレメントと、
    前記第1のプロセッサエレメントによってアクセスされるアクセス対象部と、
    前記第1のプロセッサエレメントと前記アクセス対象部との間のアクセス経路上に設けられたバス機構と
    を備え、
    前記バス機構は、
    前記第1のプロセッサエレメントが監視対象プロセスを実行した際に発生する前記アクセス対象部に対するアクセスについてのバスアクセス情報を記憶する記憶部と、
    前記第1のプロセッサエレメントによる前記監視対象プロセスの実行の完了後に、前記第2のプロセッサエレメントに対し、前記監視対象プロセスと同じ処理からなる監視プロセスの実行を要求する要求部と、
    前記記憶部に記憶された前記第1のプロセッサエレメントのアクセスについてのバスアクセス情報と、前記第2のプロセッサエレメントが前記監視プロセスを実行した際に前記第2のプロセッサエレメントから入力されるバスアクセス情報とを比較する比較部とを有し、
    前記第2のプロセッサエレメントは、空き時間に前記監視プロセスを実行する
    車両制御システム。
  11. 前記第1のプロセッサエレメント及び前記第2のプロセッサエレメントは、周期的に、前記制御信号の生成のための信号生成プロセス及び前記監視プロセスを実行し、
    前記監視対象プロセスは、前記第1のプロセッサエレメントによる前記信号生成プロセスであり、
    前記空き時間は、前記信号生成プロセス及び前記監視プロセスの実行周期のうち、前記信号生成プロセスが実行されない時間帯である
    請求項10に記載の車両制御システム。
JP2016175474A 2016-09-08 2016-09-08 マルチプロセッサシステム及び車両制御システム Pending JP2018041311A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016175474A JP2018041311A (ja) 2016-09-08 2016-09-08 マルチプロセッサシステム及び車両制御システム
US15/643,305 US10269194B2 (en) 2016-09-08 2017-07-06 Multiprocessor system and vehicle control system
CN201710592790.0A CN107807866A (zh) 2016-09-08 2017-07-19 多处理器系统和车辆控制系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016175474A JP2018041311A (ja) 2016-09-08 2016-09-08 マルチプロセッサシステム及び車両制御システム

Publications (1)

Publication Number Publication Date
JP2018041311A true JP2018041311A (ja) 2018-03-15

Family

ID=61281378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016175474A Pending JP2018041311A (ja) 2016-09-08 2016-09-08 マルチプロセッサシステム及び車両制御システム

Country Status (3)

Country Link
US (1) US10269194B2 (ja)
JP (1) JP2018041311A (ja)
CN (1) CN107807866A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595303A (zh) * 2018-04-11 2018-09-28 郑州云海信息技术有限公司 一种基于系统的进程和文件监控方法及系统
JP7347380B2 (ja) * 2020-09-09 2023-09-20 トヨタ自動車株式会社 処理装置、通信システム、及び処理装置用プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272681B2 (en) * 2005-08-05 2007-09-18 Raytheon Company System having parallel data processors which generate redundant effector date to detect errors
JP6297853B2 (ja) 2014-02-18 2018-03-20 ルネサスエレクトロニクス株式会社 マルチプロセッサシステム

Also Published As

Publication number Publication date
US10269194B2 (en) 2019-04-23
CN107807866A (zh) 2018-03-16
US20180068501A1 (en) 2018-03-08

Similar Documents

Publication Publication Date Title
JP6438353B2 (ja) 半導体装置及び診断テスト方法
US10585755B2 (en) Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality
KR101581608B1 (ko) 프로세서 시스템
JP2013084089A (ja) 車両用装置
JP4457047B2 (ja) マルチプロセッサシステム
JP2017097633A (ja) 車両制御装置
JP2018041311A (ja) マルチプロセッサシステム及び車両制御システム
JP2007334403A (ja) 計算機システム障害対応方式及び計算機システム障害対応方法
JP5213485B2 (ja) マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム
JP5035227B2 (ja) 情報処理装置、プログラムの起動制御方法、及び起動制御プログラム
JP6654230B2 (ja) 車両制御装置
JP6632416B2 (ja) 共有メモリ制御回路及び共有メモリ制御方法
JP2013084219A (ja) 情報処理装置、異常判定方法
JP6729407B2 (ja) マイクロコンピュータ
JP5557612B2 (ja) 計算機及び転送プログラム
US10540222B2 (en) Data access device and access error notification method
JP5748214B2 (ja) 二重化情報処理システム
JPH11338833A (ja) マルチプロセッサ型コントローラ及びスケーラブルコントローラシステム
JP2020204877A (ja) 半導体装置及びその動作方法
JP7291541B2 (ja) 制御装置および監視方法
JP4853620B2 (ja) マルチプロセッサシステムと初期立ち上げ方法およびプログラム
JP7295780B2 (ja) 半導体装置及びその動作方法
JP5299681B2 (ja) プログラム検査方法
WO2008062508A1 (fr) Système multi-processeur
JP2012053817A (ja) マルチプロセッサシステムと制御方法