JP2015176284A - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP2015176284A
JP2015176284A JP2014051665A JP2014051665A JP2015176284A JP 2015176284 A JP2015176284 A JP 2015176284A JP 2014051665 A JP2014051665 A JP 2014051665A JP 2014051665 A JP2014051665 A JP 2014051665A JP 2015176284 A JP2015176284 A JP 2015176284A
Authority
JP
Japan
Prior art keywords
instruction
stored
address
important process
executed
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
Application number
JP2014051665A
Other languages
English (en)
Other versions
JP6183251B2 (ja
Inventor
克拓 小池
Katsuhiro Koike
克拓 小池
小林 正幸
Masayuki Kobayashi
正幸 小林
昌彦 堀口
Masahiko Horiguchi
昌彦 堀口
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2014051665A priority Critical patent/JP6183251B2/ja
Priority to CN201580013432.9A priority patent/CN106104494B/zh
Priority to DE112015001252.4T priority patent/DE112015001252T5/de
Priority to US15/118,783 priority patent/US10521233B2/en
Priority to PCT/JP2015/000747 priority patent/WO2015136844A1/ja
Publication of JP2015176284A publication Critical patent/JP2015176284A/ja
Application granted granted Critical
Publication of JP6183251B2 publication Critical patent/JP6183251B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/063Address space extension for I/O modules, e.g. memory mapped I/O
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】電子制御装置において、機能安全を担保しつつ、消費電力の増加を抑制すること。【解決手段】重要処理は、逐次実行され分岐命令を含まない複数の命令によって構成されており、命令のそれぞれが、ROMにおいてアドレスが規定値(例えば、「1」)ずつ変化する格納領域のそれぞれに実行順序に従って格納されている。重要処理においては、重要処理へと移行した時点でのプログラムカウンタ(PC)の値を期待値カウンタに格納する(S310)。比較回路での比較の結果、PCの値と期待値カウンタの値とが不一致であれば(S320:NO)、異常処理を実行する(S340−1〜S340−N)。一方、比較回路での比較の結果、PCの値と期待値カウンタの値とが一致していれば(S320:YES)、PCが指し示す命令を読み出して実行し、PCの値を変更する。さらに、期待値カウンタの値を規定値分変化(増加)させる。【選択図】図5

Description

本発明は、メモリに格納された命令を読み出して実行する電子制御装置に関する。
従来、メモリに格納された命令を読み出して実行することで、自動車に設けられた灯火装置やパワーウインドウなどのボデー系を制御する電子制御装置が知られている(特許文献1参照)。
この種の電子制御装置の中には、当該電子制御装置が機能不全に陥ることで引き起こされる不合理なリスクを低減する(即ち、機能安全を担保する)ために、デュアルロックステップ方式が採用されたものがある。
このデュアルロックステップ方式の電子制御装置は、2つの演算装置を備えたマイクロコンピュータ(いわゆるマイコン)を中心に構成され、その2つの演算装置がそれぞれ、同一のタイミングで同一の命令を実行する(演算を実行する)。そして、演算装置それぞれにおける演算結果が不一致であれば、電子制御装置に異常が生じたものと判定し、当該電子制御装置を再起動したり、異常が生じた旨を報知したりする。
特開2006−150999号公報
ところで、デュアルロックステップ方式の電子制御装置(マイコン)は、演算装置を2つ備え、その2つの演算装置にて同時に同一の命令を実行しなければならない。すなわち、デュアルロックステップ方式の電子制御装置(マイコン)では、演算装置を常時2つ動作させる必要があり、消費電力が大きくなるという課題があった。
換言すると、従来の技術では、機能安全を担保しつつ、消費電力の増加を抑制することが困難であった。
そこで、本発明は、電子制御装置において、機能安全を担保しつつ、消費電力の増加を抑制することを目的とする。
上記目的を達成するためになされた本発明は、メモリ(22,24)に格納された命令を読み出して実行する電子制御装置(30)に関する。
本発明の電子制御装置は、プログラムカウンタ(38)と、実行手段(30,32,S330−1〜S330−N)と、変更手段(30,32,S330−1〜S330−N)と、格納制御手段(30,32,S310)と、更新手段(30,32,S330−1〜S330−N)と、比較手段(30,50,S320−1〜S320−N)と、異常判定手段(30,32,S340−1〜S340−N)とを備える。
プログラムカウンタは、次に実行すべき命令が格納されたメモリのアドレスを指し示す。また、実行手段は、プログラムカウンタが指し示すアドレスに対応するメモリの格納領域に格納された命令を読み出して実行する。そして、変更手段は、実行手段によって命令が実行されるごとに、プログラムカウンタが指し示すメモリのアドレスを、次に実行すべき命令が格納されたメモリのアドレスへと変更する。
格納制御手段は、重要処理を構成する命令群へと移行すると、その移行時点でプログラムカウンタに格納されているメモリのアドレスを期待値カウンタ(40)に格納する。ここで言う重要処理を構成する命令群とは、特定の処理を実現するように逐次実行される複数の命令であり、分岐命令を含まない複数の命令によって構成される。さらに、重要処理を構成する命令群は、規定値ずつアドレスが変化するメモリの格納領域のそれぞれに、その実行順序に従って命令のそれぞれが格納される。
そして、更新手段は、重要処理を構成する命令群への移行後に実行手段によって命令が実行されるごとに、期待値カウンタに格納されているメモリのアドレスを規定値分変化させる。比較手段は、プログラムカウンタが指し示すメモリのアドレスと、期待値カウンタに格納されているメモリのアドレスとを比較する。
その比較の結果、両者が不一致であれば、異常判定手段は、異常が発生したものと判定する。
すなわち、本発明の電子制御装置では、実行手段が実行すべき処理(命令)が重要処理を構成する命令群へと移行されると、期待値カウンタには、その移行時点でプログラムカウンタに格納されているメモリのアドレスが格納される。この時点で期待値カウンタに格納されるメモリのアドレス(値)は、重要処理を構成する命令群において最初に実行されるべき命令が格納されているメモリのアドレスである。そして、この期待値カウンタに格納されているメモリのアドレス(値)は、実行手段によって命令が実行されるごとに、規定値分変化させられる。この規定値分変化させられることによって、期待値カウンタの内容(値)は、重要処理を構成する命令群において次に実行されるべき命令が格納されているメモリのアドレスへと更新される。
一方、プログラムカウンタが指し示すメモリのアドレスは、実行手段が実行する命令が重要処理を構成する命令群であるか否かにかかわらず、命令が実行されるごとに、次に実行すべき命令が格納されたメモリのアドレスへと変更される。
したがって、重要処理を構成する命令群へと移行した時点では、プログラムカウンタが指し示すメモリのアドレス(値)と、期待値カウンタに格納されているメモリのアドレス(値)とは一致している。さらに、電子制御装置において、ハードウェア故障などの異常が生じていなければ、少なくとも、重要処理を構成する命令群の実行中は、プログラムカウンタが指し示すメモリのアドレス(値)と、期待値カウンタに格納されているメモリのアドレス(値)とは一致し続ける。
ところが、電子制御装置において、ハードウェア故障などの異常が生じた場合には、プログラムカウンタと期待値カウンタとの少なくとも一方が正常に動作しなくなる可能性がある。この場合、プログラムカウンタが指し示すメモリのアドレス(値)と、期待値カウンタに格納されているメモリのアドレス(値)とは不一致となる。
したがって、本発明の電子制御装置によれば、少なくとも重要処理を構成する命令群の実行中における異常の発生を検出できる。そして、本発明の電子制御装置において、異常が検出された場合に、電子制御装置をリセットしたり、異常が発生した旨を報知したりすれば、機能不全に陥ることで引き起こされる不合理なリスクを低減、即ち、機能安全を担保できる。
また、本発明の電子制御装置によれば、プログラムカウンタと期待値カウンタとだけを二重系とすることで、機能安全の担保を実現している。このため、本発明の電子制御装置によれば、従来の技術と異なり、演算回路(例えば、ALU)自体を二重系とする必要が無い。この結果、本発明の電子制御装置によれば、従来の技術に比べて、消費電力を抑制できる。
以上説明したように、本発明の電子制御装置によれば、機能安全を担保しつつ、消費電力の増加を抑制することができる。
なお、「特許請求の範囲」及び「課題を解決するための手段」の欄に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
また、本発明は、前述した電子制御装置の他、電子制御装置における処理方法、当該処理方法を実現するためのプログラム、当該プログラムを格納した記憶媒体など、種々の形態で実現することができる。
本発明が適用された電子制御装置の概略構成を示すブロック図である。 ROMに格納された命令を示す説明図である。 CPUが実行する通常処理の処理手順を示すフローチャートである。 CPUが実行する移行確認処理の処理手順を示すフローチャートである。 CPUが実行する重要処理の処理手順を示すフローチャートである。 CPUが実行する復帰確認処理の処理手順を示すフローチャートである。
以下に本発明の実施形態を図面と共に説明する。
<電子制御装置>
図1に示す電子制御装置1は、自動車に搭載された車載装置(いわゆる負荷)60を制御するものである。以下、電子制御装置1を「ECU(Electronic Control Unit)」1と称す。
また、ECU1が制御対象とする車載装置60として、自動車に設けられた灯火装置やパワーウインドウ、ドアの錠前などのいわゆるボデー系が考えられる。ただし、ECU1が制御対象とする車載装置60は、これに限るものではなく、例えば、内燃機関や、制動装置、パワートレイン機構、ナビゲーション装置、各種メータなどでも良い。
ECU1は、電源回路4と、入力回路6と、出力回路8と、論理回路10とを備えている。
電源回路4は、イグニッションスイッチ62がオンされると、車載バッテリー58から供給される電力を、ECU1を構成する各回路6,8,10の動作に必要な電力へと変換して、各回路6,8,10に供給する。入力回路6は、SW64がONされると、車載装置60の制御に必要な外部からの信号を受け付け、その受け付けた信号を論理回路10に出力する。出力回路8は、車載装置60を制御する制御信号であって、論理回路10からの制御信号を車載装置60に出力する。
そして、論理回路10は、ROM22と、RAM24と、インターフェース(I/F)26と、CPU30とを備えている。
このうち、ROM22は、電源が切断されても記憶内容を保持する必要がある処理プログラムやデータを格納する。RAM24は、処理プログラムやデータを一時的に格納する。I/F26は、入力回路6及び出力回路8を介して、他の電子制御装置や車載装置との間で情報通信を実行する。
CPU30は、ROM22やRAM24に記憶された処理プログラムに従って各種処理を実行する中央演算処理装置である。このCPU30は、少なくとも、実行ユニット32と、レジスタ36と、比較回路50とを備えている。
実行ユニット32は、制御回路33と、演算回路(ALU)34とを備えている。制御回路33は、ROM22やRAM24からの命令の読み込みやROM22やRAM24への情報の書き込みを制御する周知の制御装置である。また、演算回路34は、ROM22やRAM24から読み込まれた命令を演算(実行)する周知の演算装置である。なお、制御回路33と演算回路34とは、実行ユニット32として一体に構成されていなくとも良く、別個に構成されていても良い。
本実施形態においては、レジスタ36として、少なくとも、プログラムカウンタ(PC)38と、期待値カウンタ40と、専用レジスタ42と、アキュームレータ(ACC)44と、汎用レジスタ46とが用意されている。
このうち、プログラムカウンタ38は、次に実行すべき命令が格納されたメモリのアドレスを指し示す周知のレジスタであり、命令が実行されるごとに更新される。
期待値カウンタ40は、後述する重要処理において、次に実行すべき命令が格納されたメモリのアドレス(値)またはその期待値を格納する専用のレジスタである。
また、専用レジスタ42は、後述する移行先IDまたは復帰先IDが格納される専用のレジスタである。アキュームレータ44は、演算結果の累積に用いる周知のレジスタである。汎用レジスタ46は、命令に従って各種機能を実現する周知のレジスタである。
比較回路50は、プログラムカウンタ38が指し示すメモリのアドレス(即ち、プログラムカウンタ38の値)と、期待値カウンタ40の値とを比較する比較器である。そして、比較回路50は、プログラムカウンタ38の値と、期待値カウンタ40の値とが不一致であれば、異常処理を実行するように割り込み信号を出力する。
なお、本実施形態における比較回路50は、実行ユニット32が実行する処理が、後述する重要処理へと移行した場合に起動され、重要処理から他の処理へと移行すると動作が停止されるように構成されている。また、比較回路50は、重要処理を構成する各命令が実行ユニット32によって実行される前に、プログラムカウンタ38の値と、期待値カウンタ40の値との比較を実行するように構成されている。
<ROMに格納されるプログラム>
本実施形態のROM22には、CPU30の実行ユニット32が実行する処理プログラムとして、図2に示すように、少なくとも、通常処理を実行するための処理プログラムと、移行確認処理を実行するための処理プログラムと、重要処理を実行するための処理プログラムと、復帰確認処理を実行するための処理プログラムとが格納されている。
通常処理とは、制御対象としての車載装置60を制御し、規定された機能を実現する処理である。本実施形態の通常処理は、逐次実行される複数の命令によって構成された処理である(通常命令群の一例)。この通常処理は、実行ユニット32が実行すべき命令としてサブルーチンへのジャンプや条件分岐などを含む。そのジャンプ(命令)の1つとして、本実施形態の通常処理は、移行確認処理へのジャンプを含む。
なお、本実施形態における通常処理を構成する各命令は、ROM22における特定の格納領域に格納されている。この通常処理を構成する命令のそれぞれは、実行順序に従って、アドレスが小さい方から順にROM22に格納されている。
また、重要処理は、特定の機能を実現するように逐次実行される複数の命令によって構成された処理である。ここで言う「特定の機能」は、通常処理の動作に影響を及ぼす(機能安全の要求に関わる)機能であり、例えば、車載装置の制御に必要となる各種設定をレジスタ36やROM22の書換可能領域に書き込む機能を含む。なお、実行ユニット32が実行する重要処理の個数は、1つであっても良いし、複数であっても良い。
本実施形態の重要処理は、分岐命令を含まない命令によって構成されており、当該重要処理を構成する命令それぞれがROM22に格納されている順序で実行されるように構成されている。なお、ここで言う分岐命令とは、例えば、条件分岐やジャンプである。
また、本実施形態においては、重要処理を構成する命令のそれぞれは、ROM22において、通常処理が格納される特定の格納領域(例えば、図2に示すアドレス「2000〜4000」及び「4011」以降によって規定される領域)からアドレスが離れた格納領域(例えば、図2に示すアドレス「1000〜1050」によって規定される領域)に格納されている。そして、重要処理を構成する命令のそれぞれは、ROM22において、規定値(例えば、「1」)ずつアドレスが変化する格納領域のそれぞれに、アドレスが小さい方から実行順序に従って格納されている。
すなわち、本実施形態における通常処理から重要処理への移行は、ジャンプによって実現される。
次に、移行確認処理は、通常処理から重要処理へと移行する過程で実行される処理であり、重要処理を構成する命令群へと正常に移行可能であるか否かを判定する処理である。本実施形態においては、移行確認処理を構成する命令は、ROM22において、重要処理が格納された格納領域の前段(例えば、図2に示すアドレス「990〜999」によって規定される領域)に格納されている。
また、復帰確認処理は、重要処理を終了した後、通常処理へと移行する過程で実行される処理であり、通常処理へと正常に移行可能であるか否かを判定する処理である。本実施形態においては、復帰確認処理を構成する命令は、ROM22において、重要処理が格納された格納領域の後段(例えば、図2に示すアドレス「1060」によって規定される領域)、及び復帰後の通常処理が格納された格納領域の前段(例えば、図2に示すアドレス「4001」によって規定される領域)に格納されている。
<通常処理>
次に、CPU30の実行ユニット32が実行する通常処理について説明する。
通常処理は、例えば、イグニッションスイッチ62及びスイッチ64がオンされると起動される。なお、通常処理の起動条件は、これに限るものではなく、その他の条件を満たす場合であっても良い。
この通常処理が起動されると、図3に示すように、CPU30の実行ユニット32は、ROM22に格納された各命令を逐次読み出して実行する。そして、通常処理を構成する命令がS110となると、CPU30の実行ユニット32は、専用レジスタ42に移行先IDを書き込む(S110)。この移行先IDとは、CPU30の実行ユニット32が通常処理から移行(ジャンプ)させるべき重要処理を識別する識別情報である。
続いて、CPU30の実行ユニット32は、重要処理が記載されているROM22の格納空間の前段の格納空間(例えば、図2に示す例では、移行確認処理が格納された空間)へと処理をジャンプさせる(S120)。そして、CPU30の実行ユニット32は、移行確認処理を実行し(S130)、その移行確認処理の結果、重要処理へと正常に移行可能であれば、重要処理を実行する(S140)。
さらに、CPU30の実行ユニット32は、重要処理を終了すると、復帰確認処理を実行し(S150)、その復帰確認処理の結果、通常処理へと正常に移行可能であれば、通常処理を構成する各命令を逐次実行する。
<移行確認処理>
次に、移行確認処理について説明する。
この移行確認処理では、CPU30の実行ユニット32は、図4に示すように、通常処理のS130で起動されると、S110において専用レジスタ42に書き込まれた移行先IDを、ROM22の規定された格納領域から読み出した確認IDと比較する(S210)。なお、確認IDとは、重要処理ごとに割り当てられる、各重要処理にユニーク(特有)な識別情報である。そして、このS210にて比較の対象とする確認IDは、移行予定の重要処理に割り当てられたものである。
このS210での比較の結果、専用レジスタ42に書き込まれた移行先IDが、ROM22の規定された格納領域から読み出した確認IDと不一致であれば(S210:NO)、CPU30の実行ユニット32は、CPU30自身または論理回路10に異常が発生したものと判定して異常処理を実行する(S220)。ここで言う異常処理は、ECU1をリセット(再起動)したり、異常が発生した旨をインジケータや表示装置などを介して報知したりする周知の処理である。
一方、S210での判定の結果、専用レジスタ42に書き込まれた移行先IDが、ROM22の規定された格納領域から読み出した確認IDと一致していれば(S210:YES)、CPU30の実行ユニット32は、専用レジスタ42に書き込まれた移行先IDを消去する。そして、CPU30の実行ユニット32は、CPU30自身または論理回路10に異常が発生していないものと判定して重要処理へと移行する。
<重要処理>
次に、重要処理について説明する。
この重要処理では、CPU30の実行ユニット32は、図5に示すように、重要処理へと移行した時点でプログラムカウンタ38が指し示すROM22のアドレスを、期待値カウンタ40に格納する(S310)。
続いて、CPU30の比較回路50が、プログラムカウンタ38が指し示すROM22のアドレス(即ち、プログラムカウンタ38の値)と、期待値カウンタ40の値とを比較する(S320)。そして、比較回路50での比較の結果、両者が不一致であれば(S320:NO)、CPU30の実行ユニット32は、異常処理を実行する(S340)。ここで言う異常処理は、ECU1をリセット(再起動)したり、異常が発生した旨をインジケータや表示装置などを介して報知したりする周知の処理である。なお、S340における異常処理は、周知の割り込み処理として実現されれば良い。
一方、比較回路50での比較の結果、プログラムカウンタ38が指し示すROM22のアドレス(即ち、プログラムカウンタ38の値)と、期待値カウンタ40の値との両者が一致していれば(S320:YES)、CPU30の実行ユニット32は、プログラムカウンタ38が指し示すROM22のアドレスに対応するROM22の格納領域に格納された命令を読み出して実行する(S330)。
さらに、S330では、プログラムカウンタ38が指し示すROM22のアドレスを、次に実行すべき命令が格納されたROM22のアドレスへと変更する。すなわち、S330では、プログラムカウンタ38の値を1つインクリメントする。
また、本実施形態のS330では、期待値カウンタ40に格納されているROM22のアドレスを規定値(即ち、「1」)分変化させる。具体的には、S330では、ROM22のアドレスを規定値(即ち、「1」)分増加させる。
その後、CPU30は、S320〜S330までの一連の処理ステップを、重要処理を構成する命令の個数(N個)分繰り返す。
本実施形態においては、重要処理を構成する全ての命令のうち、実行順序に沿った最後の命令(S330−N)は、専用レジスタ42への復帰先IDの書き込みとして構成されている。この復帰先IDとは、CPU30が処理を移行(復帰)させるべき通常処理を識別する識別情報である。
つまり、本実施形態においては、プログラムカウンタ38が指し示すROM22のアドレス(即ち、プログラムカウンタ38の値)と、期待値カウンタ40の値とを、比較回路50で比較した結果、両者が不一致であれば、実行ユニット32は異常処理を実行する。一方、両者が一致すれば、実行ユニット32は重要処理を構成する命令の1つを実行する。このように本実施形態においては、プログラムカウンタ38が指し示すROM22のアドレス(即ち、プログラムカウンタ38の値)と、期待値カウンタ40の値との比較は、比較回路50が実行する。
ただし、図5においては、論理回路10全体の動作を理解することを目的として、比較回路50が実行するプログラムカウンタ38の値と期待値カウンタ40の値との比較を、実行ユニット32が実行する重要処理の処理手順を説明するフローチャートに組み込んでいる。
<復帰確認処理>
次に、復帰確認処理について説明する。
この復帰確認処理では、CPU30の実行ユニット32は、図6に示すように、起動されると、通常処理の復帰先が記載されているROM22の格納空間の前段の格納空間(例えば、図2に示す例では、S420の命令が格納された空間)へと、処理をジャンプさせる(S410)。
続いて、CPU30の実行ユニット32は、重要処理において専用レジスタ42に書き込まれた復帰先IDを、ROM22の規定された格納領域から読み出した帰還IDと比較する(S420)。なお、帰還IDとは、通常処理ごとに割り当てられる、各通常処理にユニーク(特有)な識別情報である。そして、このS420にて比較の対象とする帰還IDは、移行(復帰)予定の通常処理に割り当てられたものである。
このS420での比較の結果、専用レジスタ42に書き込まれた復帰先IDが、ROM22の規定された格納領域から読み出した帰還IDと不一致であれば(S420:NO)、CPU30の実行ユニット32は、CPU30自身または論理回路10に異常が発生したものと判定して異常処理を実行する(S430)。ここで言う異常処理は、ECU1をリセット(再起動)したり、異常が発生した旨をインジケータや表示装置などを介して報知したりする周知の処理である。
一方、S420での判定の結果、専用レジスタ42に書き込まれた復帰先IDが、ROM22の規定された格納領域から読み出した帰還IDと一致していれば(S420:YES)、CPU30の実行ユニット32は、専用レジスタ42に書き込まれた復帰先IDを消去する。
そして、CPU30の実行ユニット32は、CPU30自身または論理回路10に異常が発生していないものと判定して通常処理を構成する各命令を逐次実行する。
つまり、CPU30の実行ユニット32は、通常処理において、S110へと到達すると、専用レジスタ42に移行先IDを書き込む。そして、CPU30の実行ユニット32は、重要処理が記載されているROM22の格納空間へと処理をジャンプさせる(図2中:(A))。
この処理のジャンプにより、移行確認処理が起動されると(図2中:(B))、CPU30の実行ユニット32は、専用レジスタ42に書き込まれた移行先IDと、ROM22の規定された格納領域から読み出した確認IDとを比較する。この比較の結果、専用レジスタ42に書き込まれた移行先IDが、ROM22の規定された格納領域から読み出した確認IDと不一致であれば、CPU30の実行ユニット32は、異常処理を実行する。
一方、比較の結果、専用レジスタ42に書き込まれた移行先IDが、ROM22の規定された格納領域から読み出した確認IDと一致すれば、CPU30の実行ユニット32は、専用レジスタ42に書き込まれた移行先IDを消去する。そして、CPU30の実行ユニット32は、重要処理へと処理を移行させる。
その重要処理においては、CPU30の実行ユニット32は、重要処理へと移行した時点でプログラムカウンタ38が指し示すROM22のアドレスを、期待値カウンタ40にも格納する。続いて、CPU30の比較回路50が、プログラムカウンタ38が指し示すROM22のアドレス(即ち、プログラムカウンタ38の値)と、期待値カウンタ40の値とを比較する。この比較の結果、両者が不一致であれば、CPU30の実行ユニット32は、異常処理を実行する。
一方、比較回路50での比較の結果、プログラムカウンタ38が指し示すROM22のアドレス(即ち、プログラムカウンタ38の値)と、期待値カウンタ40の値との両者が一致していれば、CPU30の実行ユニット32は、プログラムカウンタ38が指し示すROM22のアドレスに対応するROM22の格納領域に格納された命令を読み出して実行する。さらに、重要処理では、プログラムカウンタ38が指し示すROM22のアドレスは、次に実行すべき命令が格納されたROM22のアドレスへと変更される(即ち、プログラムカウンタを1つインクリメントする)。また、重要処理では、期待値カウンタ40の値は、規定値(即ち、「1」)分変化(増加)される。
すなわち、重要処理においては、命令が実行されるごとに、プログラムカウンタ38が指し示すROM22のアドレス(即ち、プログラムカウンタ38の値)と、期待値カウンタ40の値とを1つインクリメントする。
そして、プログラムカウンタ38が指し示すROM22のアドレス(即ち、プログラムカウンタ38の値)と、期待値カウンタ40の値との両者が一致していれば、CPU30の実行ユニット32は、プログラムカウンタ38が指し示すROM22のアドレスに対応するROM22の格納領域に格納された命令を読み出して実行する。
なお、重要処理を構成する命令として、専用レジスタ42への復帰先IDの書き込みを実行すると(図2中:(C))、CPU30の実行ユニット32は、復帰確認処理へと処理を移行させる。その復帰確認処理では、CPU30の実行ユニット32は、通常処理への帰還(ジャンプ)を実行し(図2中:(D))、重要処理において専用レジスタ42に書き込まれた復帰先IDを、ROM22の規定された格納領域から読み出した帰還IDと比較する(図2中:(E))。
この比較の結果、専用レジスタ42に書き込まれた復帰先IDが、ROM22の規定された格納領域から読み出した帰還IDと不一致であれば、CPU30の実行ユニット32は、異常処理を実行する。一方、比較の結果、専用レジスタ42に書き込まれた復帰先IDが、ROM22の規定された格納領域から読み出した帰還IDと一致すれば、CPU30の実行ユニット32は、専用レジスタ42に書き込まれた復帰先IDを消去する。そして、CPU30の実行ユニット32は、通常処理を構成する各命令を逐次実行する。
[実施形態の効果]
以上説明したように、CPU30の実行ユニット32が実行すべき処理(命令)が重要処理へと移行されると、期待値カウンタ40には、その移行時点でプログラムカウンタ38に格納されているROM22のアドレスが格納される。この時点で、期待値カウンタ40に格納されるROM22のアドレスは、重要処理において最初に実行されるべき命令が格納されているROM22のアドレスである。
そして、この期待値カウンタ40に格納されているROM22のアドレス(即ち、期待値カウンタ40の値)は、CPU30の実行ユニット32によって命令が実行されるごとに、規定値(即ち、「1」)増加させられる。この規定値増加させられることによって、期待値カウンタ40の内容は、重要処理において次に実行されるべき命令が格納されているROM22のアドレスへと更新される。
一方、プログラムカウンタ38が指し示すROM22のアドレスは、CPU30の実行ユニット32が実行する命令が重要処理を構成する命令であるか否かにかかわらず、命令が読み出されるごとに、次に実行すべき命令が格納されたROM22のアドレスへと変更される(1つインクリメントされる)。
したがって、ハードウェア故障などの異常が生じていなければ、重要処理へと移行した時点では、プログラムカウンタ38が指し示すROM22のアドレス(即ち、プログラムカウンタ38の値)と、期待値カウンタ40の値とは一致している。さらに、論理回路10において、ハードウェア故障などの異常が生じていなければ、重要処理の実行中は、プログラムカウンタ38が指し示すROM22のアドレス(即ち、プログラムカウンタ38の値)と、期待値カウンタ40の値とは一致し続ける。
ところが、論理回路10において、ハードウェア故障などが生じた場合には、プログラムカウンタ38と期待値カウンタ40との少なくとも一方が正常に動作しなくなる可能性がある。この場合、プログラムカウンタ38が指し示すROM22のアドレス(即ち、プログラムカウンタ38の値)と、期待値カウンタ40の値とは不一致となる。
したがって、CPU30によれば、少なくとも重要処理の実行中におけるハードウェア故障などの異常の発生を検出できる。そして、CPU30によれば、異常が検出された場合に、異常処理を実行することで、機能不全に陥ることで引き起こされる不合理なリスクを低減、即ち、機能安全を担保できる。
特に、CPU30では、プログラムカウンタ38が指し示すROM22のアドレス(即ち、プログラムカウンタ38の値)と、期待値カウンタ40の値とが一致した場合に、重要処理を構成する各命令をROM22から読み出して実行する。これにより、CPU30によれば、重要処理を構成する各命令を、論理回路10が正常である場合に実行できる。
そして、CPU30によれば、重要処理を構成する各命令が、予め規定された実行順序の通りに実行されることを担保できる。この結果、CPU30によれば、機能不全に陥ることで引き起こされる不合理なリスクを、より確実に低減できる。
また、CPU30によれば、プログラムカウンタ38と期待値カウンタ40とだけを二重系とすることで、機能安全の担保を実現している。このため、CPU30によれば、従来の技術と異なり、実行ユニット自体を2つ備える必要が無い。この結果、CPU30によれば、従来の技術に比べて、消費電力を抑制できる。
以上説明したように、CPU30によれば、機能安全を担保しつつ、消費電力の増加を抑制することができる。
また、CPU30では、通常処理から重要処理へと処理を移行させる際に、移行確認処理を実行している。この移行確認処理により、重要処理へと正常に移行可能であるか否かを判定できる。
さらに、CPU30では、重要処理から通常処理へと処理を移行させる際に、復帰確認処理を実行している。この復帰確認処理により、通常処理へと正常に移行可能であるか否かを判定できる。
そして、論理回路10によれば、移行確認処理や復帰確認処理において異常が検出された場合、異常処理を実行しているため、重要処理への移行の際や通常処理への復帰の際にハードウェア故障などが生じたとしても、その故障によって引き起こされる不合理なリスクを低減できる。
なお、CPU30における比較回路50は、実行ユニット32が重要処理を実行している期間中動作する。このため、重要処理以外の処理を実行ユニット32が実行している際に、プログラムカウンタ38の値と、期待値カウンタ40との値とが比較されることを防止でき、不要な異常処理が実行されることを防止できる。
[その他の実施形態]
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、様々な態様にて実施することが可能である。
例えば、上記実施形態では、CPU30の実行ユニット32が実行する処理の構造を、通常処理の途中で重要処理へとジャンプし、重要処理の終了後に通常処理へとジャンプすることで通常処理へと復帰する構造としていたが、本発明において、CPU30の実行ユニット32が実行する処理の構造は、これに限るものでは無い。
すなわち、本発明においては、CPU30の実行ユニット32が実行する処理の構造を、通常処理の途中で重要処理へとジャンプし、重要処理の終了後に、復帰確認処理を実行することなく、そのまま通常処理を再開する構造としても良い。この場合、通常処理における重要処理終了後の命令は、ROM22において、重要処理を構成する命令が格納された領域の直後(例えば、図2に示す例であれば、アドレス「1050」〜)に格納されている必要がある。さらに、この場合、重要処理における最後の命令として、専用レジスタ42への復帰先IDの書き込みが省略されている必要がある。
また、本発明においては、CPU30の実行ユニット32が実行する処理を、重要処理だけとしても良い。この場合、CPU30の実行ユニット32が実行する処理として、通常処理、移行確認処理、及び復帰確認処理が省略される。さらに、この場合、重要処理における最後の命令として、専用レジスタ42への復帰先IDの書き込みが省略される。
本発明においては、CPU30の実行ユニット32が実行する処理の構造を、重要処理だけからなる構造とし、1つの重要処理の実行途中で他の重要処理へとジャンプし、他の重要処理の終了後に元の重要処理へと復帰する構造としても良い。この場合、CPU30に実行ユニット32が実行する処理として、復帰確認処理が省略されていても良い。ただし、この場合、異なる重要処理へと移行(ジャンプ)するごとに、期待値カウンタ40に格納されるROM22のアドレスを、汎用レジスタやスタックを用いて退避させ、元の重要処理へと復帰後に、汎用レジスタやスタックに退避させたROM22のアドレスを、期待値カウンタ40へと戻すことが必要となる。
なお、CPU30の実行ユニット32が実行する処理の構造は、複数の通常処理と、複数の重要処理とが混在し、通常処理から重要処理への移行、及び重要処理から通常処理への移行がジャンプによって実行される構造としても良い。この場合、通常処理から重要処理への移行ごとに、移行確認処理を実行し、重要処理から通常処理への移行ごとに、復帰確認処理を実行すれば良い。
また、上記実施形態においては、専用レジスタ42に復帰先IDを書き込むことを、重要処理を構成する命令として実行していたが、この専用レジスタ42に復帰先IDを書き込むことは、重要処理ではなく、復帰確認処理として実行しても良いし、重要処理と復帰確認処理との間の別の処理として実行しても良い。この場合の別の処理には、復帰確認処理におけるS410が含まれていても良い。
ところで、上記実施形態のCPU30では、比較回路50が、プログラムカウンタ38が指し示すROM22のアドレスと、期待値カウンタ40に格納されているROM22のアドレスとを比較していたが、この比較は、処理プログラムを実行することで、実行ユニット32が実現しても良い。
なお、上記実施形態のECU1の入力回路6には、スイッチ64が接続されていたが、このスイッチ64は省略されていても良い。すなわち、図1に示すECU1の入力回路6及び出力回路8に接続される外部の構造は、一例であって、本発明の電子制御装置(ECU)に接続される外部の構造は、どのようなものであっても良い。
なお、上記実施形態の構成の一部を、課題を解決できる限りにおいて省略した態様も本発明の実施形態である。また、上記実施形態と変形例とを適宜組み合わせて構成される態様も本発明の実施形態である。また、特許請求の範囲に記載した文言によって特定される発明の本質を逸脱しない限度において考え得るあらゆる態様も本発明の実施形態である。
1…電子制御装置(ECU) 4…電源回路 6…入力回路 8…出力回路 10…論理回路 22…ROM 24…RAM 26…I/F 30…CPU 32…実行ユニット 33…制御回路 34…演算回路 36…レジスタ 38…プログラムカウンタ 40…期待値カウンタ 42…専用レジスタ 44…アキュームレータ 46…汎用レジスタ、 50…比較回路 58…車載バッテリー 60…車載装置 62…イグニッションスイッチ 64…スイッチ

Claims (4)

  1. メモリ(22,24)に格納された命令を読み出して実行する電子制御装置(30)であって、
    次に実行すべき命令が格納されたメモリのアドレスを指し示すプログラムカウンタ(38)と、
    前記プログラムカウンタが指し示すアドレスに対応するメモリの格納領域に格納された命令を読み出して実行する実行手段(30,32,S330−1〜S330−N)と、
    前記実行手段によって命令が実行されるごとに、前記プログラムカウンタが指し示すメモリのアドレスを、次に実行すべき命令が格納されたメモリのアドレスへと変更する変更手段(30,32,S330−1〜S330−N)と、
    特定の処理を実現するように逐次実行される複数の命令であり、分岐命令を含まない複数の命令によって構成され、かつ、規定値ずつ前記アドレスが変化するメモリの格納領域のそれぞれに、その実行順序に従って命令のそれぞれが格納された重要処理を構成する命令群へと移行すると、その移行時点で前記プログラムカウンタに格納されているメモリのアドレスを期待値カウンタ(40)に格納する格納制御手段(30,32,S310)と、
    前記重要処理を構成する命令群への移行後に前記実行手段によって命令が実行されるごとに、前記期待値カウンタに格納されているメモリのアドレスを前記規定値分変化させる更新手段(30,32,S330)と、
    前記プログラムカウンタが指し示すメモリのアドレスと、前記期待値カウンタに格納されているメモリのアドレスとを比較する比較手段(50,S320−1〜S320−N)と、
    前記比較手段での比較の結果、両者が不一致であれば、異常が発生したものと判定する異常判定手段(30,32,S340−1〜S340−N)と
    を備えることを特徴とする電子制御装置。
  2. 前記重要処理を構成する命令群には、前記重要処理を構成する命令群ごとにユニークな識別情報である確認IDが割り当てられており、
    前記重要処理を構成する命令群への移行前に、その重要処理を構成する命令群の識別情報である移行先IDをレジスタに書き込む第一書込手段(30,32,S110)と、
    前記メモリの規定された格納領域から読み出し当該重要処理を構成する命令群に割り当てられた確認IDと、前記第一書込手段によってレジスタに書き込まれた前記移行先IDとが一致するか否かを判定し、その判定の結果、不一致であれば、異常が発生したものとし、判定の結果、一致していれば、前記重要処理を構成する命令群へと移行させる移行確認手段(30,32,S120,S130,S210,S220)と
    を備えることを特徴とする請求項1に記載の電子制御装置。
  3. 前記重要処理を構成する命令群が終了すると移行し、逐次実行される複数の命令によって構成された通常処理を構成する命令群には、前記通常処理を構成する命令群ごとにユニークな識別情報である帰還IDが割り当てられており、
    前記通常処理を構成する命令群への移行前に、その通常処理を構成する命令群の識別情報である復帰先IDをレジスタに書き込む第二書込手段(30,32,S330−N)と、
    前記メモリの規定された格納領域から読み出した当該通常処理を構成する命令群に割り当てられた帰還IDと、前記第二書込手段によってレジスタに書き込まれた前記復帰先IDとが一致するか否かを判定し、その判定の結果、不一致であれば、異常が発生したものとし、判定の結果、一致していれば、前記通常処理を構成する命令群へと移行させる帰還確認手段(30,32,S150,S410,S420)と
    を備えることを特徴とする請求項1または請求項2に記載の電子制御装置。
  4. 前記比較手段での比較の結果、両者が一致していれば、前記重要処理を構成する命令の前記実行手段による実行を許可する許可手段(30,32,50,S320,S330−1〜S330−N−1)
    を備えることを特徴とする請求項1から請求項3までのいずれか一項に記載の電子制御装置。
JP2014051665A 2014-03-14 2014-03-14 電子制御装置 Active JP6183251B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2014051665A JP6183251B2 (ja) 2014-03-14 2014-03-14 電子制御装置
CN201580013432.9A CN106104494B (zh) 2014-03-14 2015-02-18 电子控制装置
DE112015001252.4T DE112015001252T5 (de) 2014-03-14 2015-02-18 Elektronische Steuereinheit
US15/118,783 US10521233B2 (en) 2014-03-14 2015-02-18 Electronic control unit
PCT/JP2015/000747 WO2015136844A1 (ja) 2014-03-14 2015-02-18 電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014051665A JP6183251B2 (ja) 2014-03-14 2014-03-14 電子制御装置

Publications (2)

Publication Number Publication Date
JP2015176284A true JP2015176284A (ja) 2015-10-05
JP6183251B2 JP6183251B2 (ja) 2017-08-23

Family

ID=54071307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014051665A Active JP6183251B2 (ja) 2014-03-14 2014-03-14 電子制御装置

Country Status (5)

Country Link
US (1) US10521233B2 (ja)
JP (1) JP6183251B2 (ja)
CN (1) CN106104494B (ja)
DE (1) DE112015001252T5 (ja)
WO (1) WO2015136844A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10592356B2 (en) 2016-02-19 2020-03-17 Denso Corporation Microcontroller and electronic control unit

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6443372B2 (ja) * 2016-03-24 2018-12-26 トヨタ自動車株式会社 車両用ソフトウェア割当てシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59226946A (ja) * 1983-06-08 1984-12-20 Hitachi Ltd マイクロプログラム動作監視方式
WO2010055562A1 (ja) * 2008-11-13 2010-05-20 富士通マイクロエレクトロニクス株式会社 マイクロコンピュータ

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4398243A (en) * 1980-04-25 1983-08-09 Data General Corporation Data processing system having a unique instruction processor system
US5781753A (en) * 1989-02-24 1998-07-14 Advanced Micro Devices, Inc. Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions
JPH052654A (ja) * 1991-06-25 1993-01-08 Nissan Motor Co Ltd マイクロコンピユータの故障検知方法および回路
US5369647A (en) * 1991-12-16 1994-11-29 Intel Corporation Circuitry and method for testing a write state machine
US5664104A (en) * 1992-12-18 1997-09-02 Fujitsu Limited Transfer processor including a plurality of failure display units wherein a transfer process is prohibited if failure is indicated in a failure display unit
US5544342A (en) * 1993-06-30 1996-08-06 International Business Machines Corporation System and method for prefetching information in a processing system
EP0870226B1 (en) * 1995-10-06 2003-05-21 Patriot Scientific Corporation Risc microprocessor architecture
JPH1091441A (ja) * 1996-09-13 1998-04-10 Sanyo Electric Co Ltd プログラム実行方法およびその方法を利用した装置
US6553290B1 (en) * 2000-02-09 2003-04-22 Oshkosh Truck Corporation Equipment service vehicle having on-board diagnostic system
AU2001245511A1 (en) * 2000-03-10 2001-09-24 Arc International Plc Method and apparatus for enhancing the performance of a pipelined data processor
KR100337149B1 (ko) * 2000-07-05 2002-05-18 권 기 홍 프로그램 테스트 및 디버깅이 용이한 중앙처리장치
FR2816887B1 (fr) * 2000-11-20 2003-03-14 Dufournier Technologies Procede et dispositif detecteur d'usure des pneumatiques ou bandes de roulement et surfaces ou zones d'usure analogues
JP3698123B2 (ja) * 2002-06-25 2005-09-21 セイコーエプソン株式会社 情報処理装置及び電子機器
JP4412905B2 (ja) * 2003-01-28 2010-02-10 パナソニック株式会社 低電力動作制御装置、およびプログラム最適化装置
US20050029869A1 (en) * 2003-08-07 2005-02-10 Ford Global Technologies, Llc Controlled vehicle shutdown system
JP4563707B2 (ja) 2004-03-25 2010-10-13 ルネサスエレクトロニクス株式会社 メモリ保護装置
US7269764B2 (en) * 2004-06-18 2007-09-11 International Business Machines Corporation Monitoring VRM-induced memory errors
CA2572580C (en) * 2004-08-02 2013-03-19 Netistix Technologies Corporation Multi-user motor vehicle telemetric system and method
JP4446168B2 (ja) 2004-11-25 2010-04-07 株式会社デンソー 自動車用制御装置
US7647458B1 (en) * 2004-12-30 2010-01-12 Azul Systems, Inc. Garbage collection
US7711990B1 (en) * 2005-12-13 2010-05-04 Nvidia Corporation Apparatus and method for debugging a graphics processing unit in response to a debug instruction
US7600155B1 (en) * 2005-12-13 2009-10-06 Nvidia Corporation Apparatus and method for monitoring and debugging a graphics processing unit
US7702888B2 (en) * 2007-02-28 2010-04-20 Globalfoundries Inc. Branch predictor directed prefetch
JP5853216B2 (ja) * 2010-06-25 2016-02-09 パナソニックIpマネジメント株式会社 集積回路、コンピュータシステム、制御方法
US9552206B2 (en) * 2010-11-18 2017-01-24 Texas Instruments Incorporated Integrated circuit with control node circuitry and processing circuitry
KR101337014B1 (ko) * 2011-07-12 2013-12-05 주식회사 팬택 이동 단말기, 이를 이용하는 차량의 ecu 제어 시스템 및 방법
US9547494B2 (en) * 2014-05-30 2017-01-17 International Business Machines Corporation Absolute address branching in a fixed-width reduced instruction set computing architecture
JP2016037283A (ja) * 2014-08-08 2016-03-22 株式会社リコー 情報処理装置、情報処理方法およびプログラム
EP2996034B1 (en) * 2014-09-11 2018-08-15 Nxp B.V. Execution flow protection in microcontrollers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59226946A (ja) * 1983-06-08 1984-12-20 Hitachi Ltd マイクロプログラム動作監視方式
WO2010055562A1 (ja) * 2008-11-13 2010-05-20 富士通マイクロエレクトロニクス株式会社 マイクロコンピュータ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10592356B2 (en) 2016-02-19 2020-03-17 Denso Corporation Microcontroller and electronic control unit

Also Published As

Publication number Publication date
US10521233B2 (en) 2019-12-31
WO2015136844A1 (ja) 2015-09-17
US20170052787A1 (en) 2017-02-23
CN106104494A (zh) 2016-11-09
CN106104494B (zh) 2018-07-06
JP6183251B2 (ja) 2017-08-23
DE112015001252T5 (de) 2016-12-01

Similar Documents

Publication Publication Date Title
CN107077407B (zh) 车辆控制装置
US9690269B2 (en) Controller and process monitoring method including monitoring of process execution sequence
CN105094084A (zh) 支持多核控制器上的相干数据访问的服务和系统
JP5533789B2 (ja) 車載電子制御装置
JP6183251B2 (ja) 電子制御装置
JP5518021B2 (ja) 情報処理装置
JP2011008702A (ja) 故障処理装置
US10269194B2 (en) Multiprocessor system and vehicle control system
JP2017107394A (ja) 車両用制御装置
JP5978873B2 (ja) 電子制御装置
US10540222B2 (en) Data access device and access error notification method
JP2013061783A (ja) マルチコア・プロセッサ
JP5561241B2 (ja) マイクロコンピュータ
JP2017204083A (ja) メモリ保護システム
JP2011126327A (ja) 車載制御装置
JP6865707B2 (ja) 車両用制御装置
JP5942904B2 (ja) 処理装置
JP2015121953A (ja) マイクロコンピュータ及び電子制御装置
US20240001871A1 (en) Electronic control unit, vehicle control system, and vehicle control method
JP2012247849A (ja) マイクロコンピュータ
JP5541201B2 (ja) プログラム実行状況監視装置、および実行状況監視プログラム
JP6645467B2 (ja) マイクロコンピュータ
JP2006291720A (ja) 制御装置
JP6596455B2 (ja) 自動車用電子制御装置
JP2024014218A (ja) 書換制御装置、電子制御装置、書換制御システム、及び書換制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170202

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: 20170627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170710

R151 Written notification of patent or utility model registration

Ref document number: 6183251

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250