JP2002278779A - 処理実行装置及びプログラム - Google Patents

処理実行装置及びプログラム

Info

Publication number
JP2002278779A
JP2002278779A JP2001078561A JP2001078561A JP2002278779A JP 2002278779 A JP2002278779 A JP 2002278779A JP 2001078561 A JP2001078561 A JP 2001078561A JP 2001078561 A JP2001078561 A JP 2001078561A JP 2002278779 A JP2002278779 A JP 2002278779A
Authority
JP
Japan
Prior art keywords
processing
program
memory area
priority
task
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
JP2001078561A
Other languages
English (en)
Other versions
JP3610915B2 (ja
Inventor
Toshiyuki Fukushima
敏之 福島
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 JP2001078561A priority Critical patent/JP3610915B2/ja
Priority to US10/097,834 priority patent/US7086056B2/en
Priority to DE10211889.2A priority patent/DE10211889B4/de
Publication of JP2002278779A publication Critical patent/JP2002278779A/ja
Application granted granted Critical
Publication of JP3610915B2 publication Critical patent/JP3610915B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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/0715Error 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 a system implementing multitasking
    • 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
    • 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/0766Error or fault reporting or storing
    • G06F11/0781Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

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)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Debugging And Monitoring (AREA)
  • Control By Computers (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

(57)【要約】 【課題】 優先度の異なる処理プログラムにおいて同一
のメモリ領域を操作対象とする場合に、プログラムの干
渉を防止し、しかも、リアルタイム性の高い処理を遅延
させない。 【解決手段】 高優先度のAタスク61のa故障検出処
理、及び、中優先度のBタスク62のb故障検出処理の
操作対象となるメモリ領域の操作を、a,bの故障検出
処理からのイベント発行により、低優先度のCタスク6
3のメモリ操作処理によって実現する。すなわち、aや
bの故障検出処理の優先度によらず同一の優先度でメモ
リ領域操作が実行されるようにした。同一優先度であれ
ば、a及びbの故障検出処理から短時間のうちにイベン
ト発行がなされても、一方のイベントに対するメモリ操
作処理の実行途中で、他方のイベントに対するメモリ操
作処理が割り込むことはない。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、実行単位となる複
数の処理プログラムを当該処理プログラム毎に設定され
る優先度に基づき実行する処理実行装置、および当該処
理実行装置にて実行されるプログラムに関する。
【0002】
【従来の技術及び発明が解決しようとする課題】車両に
搭載される電子制御装置(以下「ECU」という。)に
用いられる制御プログラムでは、制御応答性や安全性の
確保等から所定の処理をリアルタイムに実行する必要が
ある。そのため、優先度の設定されたタスク毎に処理プ
ログラムを記述している。具体的には言えば、実行単位
となる複数の処理プログラムを、高優先度のタスクに属
するもの、中優先度のタスクに属するもの、低優先度の
タスクに属するものというように分けて記述するという
具合である。これによって、実質的に処理プログラム毎
に実行の優先度を設定しておき、タスクの単位で切り換
えを行って該当する処理プログラムを実行することによ
り、相対的に優先度の高い処理プログラムが相対的に優
先度の低い処理プログラムに優先して実行される(割り
込む)ようにして、リアルタイム性を確保している。
【0003】ここで問題となるのが、優先度の異なる処
理プログラムが同一のメモリ領域を操作する場合であ
る。このとき、低優先度の処理プログラム(以下「下位
プログラム」という。)に高優先度の処理プログラム
(以下「上位プログラム」という。)が割り込むとメモ
リ領域の情報に不具合が生じることがある。この不具合
を以下「干渉」という。
【0004】例えば、下位プログラムにてメモリ領域の
値を書き換える場合を考える。ここでは、ステップAに
て1バイト(8ビット)のメモリ領域を読み出し、その
後、読み出したデータの特定のビットを操作して、ステ
ップBにてその値を再びそのメモリ領域へ書き込むもの
とする。このとき、上位プログラムが割り込むと図5に
示すような状況が生じる可能性がある。なお、上位プロ
グラムによる処理も下位プログラムと同様に、ステップ
Cにて1バイトの同一のメモリ領域を読み出し、その
後、読み出したデータの特定のビットを操作して、ステ
ップDにて再びそのメモリ領域へ書き込むものとする。
【0005】図5から分かるように、下位プログラムに
よるステップAの終了後、上位プログラムが割り込んで
ステップC→Dと実行され、その後、下位プログラムに
よるステップBが実行されると、上位プログラムによる
ビット操作は、無効になってしまう。つまり、下位プロ
グラムでは、ステップAで読み出した8ビットのデータ
の第2ビットを「1」にセットして、ステップBで書き
込みを行う。したがって、上位プログラムにてステップ
Dで書き込まれた、第1ビットがセットされた8ビット
のデータは上書きされ、第1ビットが「0」にリセット
されてしまうのである。
【0006】なお、同一メモリ領域を操作することによ
る干渉は、このようなものに限られず、様々な形で起こ
り得る。例えば、下位プログラムにてあるメモリ領域の
値を連続して複数回読み出そうとする時、上位プログラ
ムにてそのメモリ領域が書き換えられると、読み出され
る値が途中で変わってしまうという具合である。つま
り、同一メモリ領域に対して上位又は下位のいずれか一
方のプログラムにて書き込み操作を行う場合には、干渉
が起きる可能性がある。
【0007】ところで、車両制御用のコンピュータシス
テムでは、自己診断機能を備えることにより、コンピュ
ータ部やセンサ類の動作状態を適当な周期で自動的にチ
ェックし、故障時には、その故障内容が修理担当者など
に分かるよう故障情報を記憶するのが一般的である。
【0008】そしてこのときの故障検出の対象は、クラ
ンク角センサ、カム角センサ、水温センサなどの各種セ
ンサをはじめ、現在では約200にも及ぶ。したがっ
て、故障情報をビット単位で割り付けるのが好ましい。
バイト単位で割り付けると単純計算して8倍の記憶領域
が必要になるからである。一方、命令数を少なくして高
速処理を行うという思想で設計されたビット操作命令を
持たないRISCマイコンでは、バイト単位でメモリを
操作するのが一般的である。このようなことから、車両
における故障検出では、ビット単位で故障情報を割り付
けておきバイト単位で故障情報を操作する状況が生じ、
複数の処理プログラムで同一のメモリ領域を操作する可
能性が特に高くなり、処理プログラムの干渉が生じる可
能性も高くなっている。
【0009】このようなタスク干渉を解決するための手
法として、下位プログラムによるメモリ領域操作の前後
で上位プログラムによる割り込みを禁止することが考え
られるが、特に干渉を生じない上位プログラムの処理も
一律に禁止されてしまう。したがって、このような割り
込み禁止が頻発すると、リアルタイム性の高い処理であ
る上位プログラムの実行が遅れてしまうことになり、制
御応答性や安全性が確保されなくなるなど、制御性能を
悪化させる可能性がある。
【0010】本発明は、優先度の異なる処理プログラム
において同一のメモリ領域を操作対象とする場合に、プ
ログラムの干渉を防止し、しかも、リアルタイム性の高
い処理を遅延させないことを目的とする。
【0011】
【課題を解決するための手段及び発明の効果】上述した
目的を達成するためになされた請求項1に記載の処理実
行装置は、実行単位となる複数の処理プログラムを、当
該処理プログラム毎に設定される優先度に基づき実行し
て、一連の機能を実現する。上述したように処理プログ
ラムはタスクというまとまりで記述され、このタスクに
対してタスクレベルと呼ばれる優先度が設定されること
が考えられる。
【0012】そしてこのとき、優先度の異なる処理プロ
グラムにおいて、同一のメモリ領域が操作対象となる場
合があることを前提としている。本発明では特に、メモ
リ領域の操作を実現する操作プログラムを用意してお
く。そして、操作プログラムは、処理プログラムによる
メモリ領域の操作指示があると、当該処理プログラムの
優先度によらず同一の優先度で起動されて、メモリ領域
を操作する。
【0013】つまり、優先度の異なる処理プログラムと
は別に、メモリ領域の操作を行う専用の操作プログラム
を用意し、しかも、この操作プログラムは、処理プログ
ラムの優先度によらず同一の優先度で起動される。同一
の優先度でメモリ操作が行われるということは、メモリ
操作の途中で別のメモリ操作が割り込むことがないこと
を意味する。これによって、プログラムの干渉を防止す
ることができる。また、割り込み処理を禁止しないた
め、リアルタイム性の高い処理が遅延することもない。
【0014】なお、操作プログラムは、処理プログラム
の操作対象とするメモリ領域を、操作指示があった順序
で操作することが考えられる(請求項2)。例えば、処
理プログラムからの操作指示があると処理要求がキュー
に保存される仕組みとし、OSがこのキューに基づくタ
スクの切り換えを行って操作プログラムを起動すること
で実現される。なお、処理要求のキューへの記憶及びキ
ューからの取得は、当然にFIFOと呼ばれる方式で行
われる。FIFOは、ある場所に格納したデータを、古
く格納した順に取り出すようにする方式である。操作指
示の順序で処理要求を取り出すためである。
【0015】ところで、上述した処理実行装置による一
連の機能は、車両機器の故障診断に係る機能とすること
が考えられる(請求項3)。この場合、操作プログラム
は、処理プログラムからの操作指示に基づき、故障診断
に関連する故障情報を操作するものである。特に、故障
情報がビット単位で定義されており、操作プログラムが
故障情報の記憶されたメモリ領域をバイト単位で操作す
る構成(請求項4)を採用する場合、上述したように処
理プログラムで同一のメモリ領域を操作対象とする可能
性が高くなるため、本発明の効果が際だつ。
【0016】なお、操作プログラムは、処理プログラム
に対応させて複数用意してもよいが、処理プログラムに
共通な一つのプログラムとすることが好ましい。このよ
うな場合には、処理プログラムの操作指示に、当該処理
プログラムを特定可能な識別情報を含めるようにすると
よい(請求項5)。このようにすれば、操作プログラム
でメモリ領域の操作を要求した処理プログラムを特定で
きるため、当該処理プログラムに応じた動作を操作プロ
グラムで行うことができる。例えば、操作プログラム
が、識別情報に基づき、処理プログラムを特定すること
によって、当該処理プログラムの操作対象とするメモリ
領域を特定するようにしてもよい(請求項6)。これに
よって、処理プログラムの設計において、操作対象とす
るメモリ領域を作業者が意識する必要がなくなる。
【0017】以上は処理実行装置の発明として説明して
きたが、プログラムの発明として実現することもできる
(請求項7)。このようなプログラムの場合、例えば、
FD、MO、CD−ROM、DVD−ROM、ハードデ
ィスク等のコンピュータ読み取り可能な記録媒体に記録
し、必要に応じて処理実行装置にロードして起動するこ
とにより用いることができる。この他、ROMやバック
アップRAMをコンピュータ読み取り可能な記録媒体と
してプログラムを記録しておき、このROMあるいはバ
ックアップRAMを処理実行装置に組み込んで用いても
よい。
【0018】
【発明の実施の形態】以下、本発明を具体化した一実施
例を図面を参照して説明する。図1は、本発明の「処理
実行装置」を具体化したエンジン制御装置(以下「EC
U」という。)1の構成を表すブロック図である。EC
U1は、車両に搭載された内燃機関型エンジンの制御を
行う。
【0019】ECU1は、エンジンのクランク軸が所定
角度回転する毎にパルス状の信号を出力する回転角セン
サ、エンジンの特定の気筒のピストンが所定位置(例え
ば上死点:TDC)にくる度にパルス状の信号を出力す
る基準位置センサ、エンジンの冷却水の温度を検出する
水温センサ、及び酸素濃度を計測する酸素濃度センサ
等、エンジンの運転状態を検出する様々なセンサ30か
らの信号を入力して波形整形やA/D変換を行う入力回
路21と、入力回路21からのセンサ信号に基づき、エ
ンジンを制御するための様々な処理を実行するマイコン
10と、マイコン10からの制御データに応じて、エン
ジンに取付けられたインジェクタ(燃料噴射装置)及び
イグナイタ(点火装置)等のアクチュエータ40を駆動
する出力回路22とを、備えている。
【0020】そして、マイコン10には、プログラムを
実行する周知のCPU11と、CPU11によって実行
されるプログラムを記憶するROM12と、CPU11
による演算結果等を記憶するためのRAM13と、入力
回路21及び出力回路22との間で信号をやり取りする
ためのI/O14と、各種レジスタやフリーランカウン
タ等(図示省略)とが備えられている。
【0021】このように構成されたECU1は、各種セ
ンサ30から入力回路21を介して入力される信号に基
づき、出力回路22に接続されたアクチュエータ40を
駆動する、エンジン制御処理を行う。このようなECU
1のエンジン制御プログラムは、上述したようにROM
12に記憶されており、図2に示すような、RTOS
(リアルタイムオペレーティングシステム)51を含む
プラットフォーム(以下「PF」という。)50と、R
TOS51によって切り換えて実行されるタスク61,
62,63とを備えている。なお、このエンジン制御プ
ログラムが「プログラム」に相当する。
【0022】タスク61,62,63にはそれぞれ、タ
スクレベルと呼ばれる優先度が設定されており、相対的
に優先度の高いタスクが低いタスクに優先して実行され
る。以下、高優先度のタスク61をAタスク61と記述
し、中優先度のタスク62をBタスク62と記述し、低
優先度のタスク63をCタスク63と記述して区別す
る。そして、各タスク61,62,63は、実行単位と
なる複数の処理プログラムで構成されている。なお、本
実施例では、エンジン制御プログラムの一部である故障
検出の機能を具体例として述べる。したがって、図2中
には、Aタスク61にa故障検出処理が含まれており、
Bタスク62にb故障検出処理が含まれており、Cタス
ク63に故障情報を記憶するためのメモリ操作処理が含
まれている様子を示した。
【0023】次に、処理プログラムの実行に至る流れ
を、図3に基づき簡単に説明する。なお、ここでは適宜
図2をも参照されたい。まずPF50は、イベントの発
生を検知すると、イベントテーブル70を参照して、そ
のイベントに対応する処理の記述されたいずれかのタス
ク61,62,63を特定する。そして、特定されたタ
スク61,62,63の対応するキュー81,82,8
3へ処理要求を保存する。例えばAタスク61のa故障
検出処理がイベントに対応する処理であれば、Aタスク
61の優先度に応じたキュー81へ処理要求を保存する
という具合である。なお、イベントの発生は、上述した
センサ群30からの信号に基づいて検知することが考え
られる。また、マイコン10内部のフリーランカウンタ
によって検知することが考えられる。さらに、後述する
ように、処理プログラムから発行されることもある。
【0024】一方、RTOS51は、キュー81,8
2,83を参照して、優先度に基づくタスク61,6
2,63の起床を行い、キュー81,82,83に保存
された処理要求に含まれるパラメータを、起床したタス
ク61,62,63へ渡す。これによって、タスク6
1,62,63の中の該当する処理プログラムが実行さ
れる。
【0025】ところで、従来技術の欄に詳しく記載した
ように、Aタスク61のa故障検出処理とBタスク62
のb故障検出処理とで同一のメモリ領域を操作する場
合、b故障検出処理の実行中にイベントの発生によって
a故障検出処理が割り込むと、メモリ領域のデータに不
具合が発生することがある。すなわち、a故障検出処理
とb故障検出処理とのメモリ領域操作において干渉が生
じる場合がある。
【0026】そこで、本実施例では、従来と異なり、a
故障検出処理に記述されていたメモリ操作に関する処理
及びb故障検出処理に記述されていたメモリ操作に関す
る処理を、Cタスク63に、メモリ操作処理として独立
させた。このメモリ操作処理のプログラムが「操作プロ
グラム」に相当する。
【0027】そして、a及びbの故障検出処理ではそれ
ぞれ、メモリ操作を必要とする場合、それに応じたイベ
ントを発行するようにした。これが「操作指示」に相当
する。そして、この操作指示には、「識別情報」とし
て、イベント発行元を特定可能な識別IDが含まれてい
る。
【0028】PF50は、a又はbの故障検出処理から
のイベント発行を検知すると、上述したように、イベン
トテーブル70を参照して、該当するキュー81,8
2,83へ処理要求を保存する。上述したようなメモリ
操作の処理要求は、Cタスク63のキュー83に保存さ
れる。
【0029】例えば図4(a)に示すように、最初にb
故障検出処理からのイベント発行があると、このイベン
トに対応する処理要求としてbメモリ操作処理要求が保
存される。そして次にa故障検出処理からのイベント発
行があると、このイベントに対応する処理要求としてa
メモリ操作処理要求が保存される。これら処理要求には
それぞれ、イベント発行元のa故障検出処理あるいはb
故障検出処理を特定可能な識別IDが処理要求のパラメ
ータとして含まれる。
【0030】RTOS51は、Cタスク63が起床され
ておらず、かつ、相対的に優先度の高いA,Bのタスク
61,62が起床されていない場合には、Cタスク63
のキュー83に記憶された処理要求を一つずつ読み出
し、Cタスク63を起床する。そして、処理要求のパラ
メータをCタスク63へ渡す。これによって、まずb故
障検出処理からのイベントによるメモリ操作処理が実行
され、次にa故障検出処理からのイベントによるメモリ
操作処理が実行される。
【0031】各メモリ操作処理では、パラメータとして
渡された識別IDによって、イベント発行元のa又はb
の故障検出処理を特定し、操作対象のメモリ領域を特定
してメモリ領域の操作を行う。このメモリ領域の操作
は、ビット単位の故障情報をバイト単位で操作するもの
であり、メモリ領域から1バイトのデータの読み出し
て、その読み出したデータの特定のビットをセットし
て、再びそのデータを書き込むものである。なお、どの
ビットをセットするかの情報やビットをセットするのか
それともリセットするのかといった情報を、識別IDと
同様に、処理要求のパラメータとしてもよい。
【0032】以上説明したように本実施例では、優先度
の異なるa及びbの故障検出処理におけるメモリ操作
を、Cタスク63のメモリ操作処理によって実現する。
これによって、aやbの故障検出処理の優先度によらず
同一の優先度でメモリ操作処理が実行される。すなわ
ち、a及びbの故障検出処理から短時間のうちにイベン
ト発行がなされても、一方のイベントに対するメモリ操
作処理の実行途中で、他方のイベントに対するメモリ操
作処理が割り込むことはない。
【0033】例えば図4(a)に示したように、Cタス
ク63のキュー83に、最初にbメモリ操作処理要求が
保存され、次にaメモリ操作処理要求が保存された場
合、図4(b)に示すように、最初にb故障検出処理の
イベントによるメモリ操作が実行され、その処理の終了
後に、a故障検出処理のイベントによるメモリ操作が実
行される。
【0034】しかも、このメモリ操作処理はCタスク6
3に記述されているため、aタスク61やbタスク62
に記述された処理プログラムは、メモリ操作処理に割り
込んで実行される。つまり、割り込みを一律に禁止する
構成と異なり、リアルタイム性の高い処理の実行が遅延
することもない。
【0035】さらに、本実施例では、ECU1のエンジ
ン制御プログラムにおける故障検出処理の故障情報操作
を対象としている。具体的には、ビット単位で割り付け
られた故障情報をバイト単位で操作する。したがって、
必然的に、故障検出処理が同一のメモリ領域を操作する
可能性が高く、上述した構成が極めて大きな効果を奏す
る。逆に言えば、上述した構成を採用することによっ
て、バイト単位のメモリ操作命令しかもたないRISC
マイコンを用いて、故障情報をビット単位で定義するこ
とができる。すなわち、限られたリソースの有効的な活
用を図ることができる。
【0036】また、処理要求のパラメータに識別IDを
含めるようにしたため、メモリ操作処理では、イベント
発行元の故障検出処理を特定することができ、これによ
って操作対象とするメモリ領域を特定することができ
る。したがって、本実施例の構成によれば、複数の故障
検出処理に対し、一つのメモリ操作処理を用意すれば事
足りる。その結果、エンジン制御プログラムがコンパク
トになるというメリットを享受できる。もちろん、あま
り現実的ではないが、故障検出処理にそれぞれ対応させ
て、Cタスク63に複数のメモリ操作処理を用意しても
よい。この場合は、上述の識別IDは特に必要なくな
る。
【0037】以上、本発明はこのような実施例に何等限
定されるものではなく、本発明の主旨を逸脱しない範囲
において種々なる形態で実施し得る。上記実施例では、
Cタスク63にメモリ操作処理のプログラムを記述した
が、例えばBタスク62やAタスク61に記述してもよ
い。メモリ操作処理が同一の優先度で実行されればよい
ためである。ただし、一般的にメモリ操作処理のリアル
タイム性が低いこと、また、メモリ操作処理に優先させ
て実行すべきリアルタイム性の高い処理が存在すること
を前提とすれば、上述したように、低優先度のCタスク
63に記述することが好ましい。
【0038】また、上記実施例は、イベントの発行順
に、メモリ操作処理を実行するものであった。ただし、
メモリ操作処理の中にもリアルタイム性の相対的に高い
処理と低い処理が存在する場合がないとは言えない。そ
の場合には、PF50が所定の条件を判断して、Cタス
ク63のキュー83に保存された処理要求の順序を必要
に応じて前後させるようにしてもよい。
【図面の簡単な説明】
【図1】実施例のエンジン制御装置の構成を表すブロッ
ク図である。
【図2】制御プログラムの構造を模式的に示す説明図で
ある。
【図3】イベントを検知して処理要求を保存する様子を
示す説明図である。
【図4】(a)はメモリ操作処理の要求が保存された様
子を示す説明図であり、(b)は処理要求に基づくメモ
リ操作の順序を示す説明図である。
【図5】同一のメモリ領域操作における干渉を示す説明
図である。
【符号の説明】
1…ECU 10…マイコン 11…CPU 12…ROM 13…RAM 14…I/O 21…入力回路 22…出力回路 30…センサ 40…アクチュエータ 50…PF 51…RTOS 61,62,63…タスク 70…イベントテーブル 81,82,83…キュー
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G05B 23/02 G05B 23/02 T Fターム(参考) 3G084 BA33 DA00 DA32 EB02 EB05 EB06 FA20 FA29 FA38 FA39 5B098 AA03 GA04 GB09 GB13 GC03 GD03 GD15 5H215 AA10 BB12 CC06 CX03 CX04 GG17 5H223 AA10 BB04 CC09 DD03 DD09 EE15 EE19

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】実行単位となる複数の処理プログラムを当
    該処理プログラム毎に設定される優先度に基づき実行す
    ることによって、一連の機能を実現する処理実行装置に
    おいて、 前記優先度の異なる処理プログラムにおいて、同一のメ
    モリ領域を操作対象とする場合があることを前提とし
    て、 メモリ領域の操作を実現する操作プログラムを用意して
    おき、 前記操作プログラムは、前記処理プログラムによる前記
    メモリ領域の操作指示があると、当該処理プログラムの
    優先度によらず同一の優先度で起動されて、前記メモリ
    領域を操作することを特徴とする処理実行装置。
  2. 【請求項2】請求項1に記載の処理実行装置において、 前記操作プログラムは、前記処理プログラムの操作対象
    とするメモリ領域を、前記操作指示があった順序で操作
    することを特徴とする処理実行装置。
  3. 【請求項3】請求項1又は2に記載の処理実行装置にお
    いて、 前記一連の機能は、車両機器の故障診断に係る機能であ
    り、 前記操作プログラムは、前記処理プログラムからの操作
    指示に基づき、前記故障診断に関連する故障情報を操作
    するものであることを特徴とする処理実行装置。
  4. 【請求項4】請求項3に記載の処理実行装置において、 前記故障情報はビット単位で定義されており、 前記操作プログラムは、前記故障情報の記憶されたメモ
    リ領域をバイト単位で操作するものであることを特徴と
    する処理実行装置。
  5. 【請求項5】請求項1〜4のいずれかに記載の処理実行
    装置において、 前記処理プログラムの操作指示には、当該処理プログラ
    ムを特定可能な識別情報が含まれていることを特徴とす
    る処理実行装置。
  6. 【請求項6】請求項5に記載の処理実行装置において、 前記操作プログラムは、前記識別情報に基づき、前記処
    理プログラムを特定することによって、当該処理プログ
    ラムの操作対象とするメモリ領域を特定することを特徴
    とする処理実行装置。
  7. 【請求項7】設定される優先度に基づき実行される複数
    の処理プログラムで構成され、一連の機能を実現するた
    めのプログラムにおいて、 同一のメモリ領域を操作対象とする、前記優先度の異な
    る処理プログラムが含まれることを前提として、 前記処理プログラムによる前記メモリ領域の操作指示が
    あると、当該処理プログラムの優先度によらず同一の優
    先度で起動されて、前記メモリ領域を操作する操作プロ
    グラムを備えていることを特徴とするプログラム。
JP2001078561A 2001-03-19 2001-03-19 処理実行装置及びプログラム Expired - Fee Related JP3610915B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001078561A JP3610915B2 (ja) 2001-03-19 2001-03-19 処理実行装置及びプログラム
US10/097,834 US7086056B2 (en) 2001-03-19 2002-03-15 Processor unit for executing event processes in real time without causing process interference
DE10211889.2A DE10211889B4 (de) 2001-03-19 2002-03-18 Verarbeitungseinheit zur Ausführung von Ereignisprozessen in Echtzeit ohne Verursachung einer Prozessstörung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001078561A JP3610915B2 (ja) 2001-03-19 2001-03-19 処理実行装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2002278779A true JP2002278779A (ja) 2002-09-27
JP3610915B2 JP3610915B2 (ja) 2005-01-19

Family

ID=18935159

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001078561A Expired - Fee Related JP3610915B2 (ja) 2001-03-19 2001-03-19 処理実行装置及びプログラム

Country Status (3)

Country Link
US (1) US7086056B2 (ja)
JP (1) JP3610915B2 (ja)
DE (1) DE10211889B4 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004051758A1 (de) * 2004-10-23 2006-04-27 Daimlerchrysler Ag Planung von Prozessabläufen in Fahrsystemeinrichtungen
US7882317B2 (en) 2004-12-06 2011-02-01 Microsoft Corporation Process isolation using protection domains
US8020141B2 (en) * 2004-12-06 2011-09-13 Microsoft Corporation Operating-system process construction
US7600232B2 (en) 2004-12-07 2009-10-06 Microsoft Corporation Inter-process communications employing bi-directional message conduits
US7702742B2 (en) * 2005-01-18 2010-04-20 Fortinet, Inc. Mechanism for enabling memory transactions to be conducted across a lossy network
US8849968B2 (en) * 2005-06-20 2014-09-30 Microsoft Corporation Secure and stable hosting of third-party extensions to web services
US8074231B2 (en) 2005-10-26 2011-12-06 Microsoft Corporation Configuration of isolated extensions and device drivers
US20070094495A1 (en) * 2005-10-26 2007-04-26 Microsoft Corporation Statically Verifiable Inter-Process-Communicative Isolated Processes
US8032898B2 (en) * 2006-06-30 2011-10-04 Microsoft Corporation Kernel interface with categorized kernel objects
US8789063B2 (en) 2007-03-30 2014-07-22 Microsoft Corporation Master and subordinate operating system kernels for heterogeneous multiprocessor systems
JP4624448B2 (ja) * 2008-07-30 2011-02-02 株式会社オートネットワーク技術研究所 制御装置、制御システム及びコンピュータプログラム
US9921712B2 (en) 2010-12-29 2018-03-20 Mako Surgical Corp. System and method for providing substantially stable control of a surgical tool
US9119655B2 (en) 2012-08-03 2015-09-01 Stryker Corporation Surgical manipulator capable of controlling a surgical instrument in multiple modes
JP5644949B2 (ja) * 2011-09-12 2014-12-24 トヨタ自動車株式会社 内燃機関の制御装置
DE202012013193U1 (de) * 2012-06-26 2015-05-06 INTER CONTROL Hermann Köhler Elektrik GmbH & Co KG Vorrichtung für eine sicherheitskritische Anwendung
US9226796B2 (en) 2012-08-03 2016-01-05 Stryker Corporation Method for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path
US9820818B2 (en) 2012-08-03 2017-11-21 Stryker Corporation System and method for controlling a surgical manipulator based on implant parameters
CN112932672A (zh) 2012-08-03 2021-06-11 史赛克公司 用于机器人外科手术的系统和方法
US9396089B2 (en) 2014-05-30 2016-07-19 Apple Inc. Activity tracing diagnostic systems and methods
US10430577B2 (en) 2014-05-30 2019-10-01 Apple Inc. Method and apparatus for inter process privilige transfer
US9348645B2 (en) 2014-05-30 2016-05-24 Apple Inc. Method and apparatus for inter process priority donation
EP3554414A1 (en) 2016-12-16 2019-10-23 MAKO Surgical Corp. Techniques for modifying tool operation in a surgical robotic system based on comparing actual and commanded states of the tool relative to a surgical site
JP7288547B2 (ja) 2019-07-23 2023-06-07 ヒタチ ヴァンタラ エルエルシー リアルタイムデータを収集及び送信するシステム及び方法

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3530438A (en) * 1965-12-13 1970-09-22 Sperry Rand Corp Task control
US4126893A (en) * 1977-02-17 1978-11-21 Xerox Corporation Interrupt request controller for data processing system
US4255789A (en) * 1978-02-27 1981-03-10 The Bendix Corporation Microprocessor-based electronic engine control system
GB8329509D0 (en) * 1983-11-04 1983-12-07 Inmos Ltd Computer
US4615001A (en) * 1984-03-29 1986-09-30 At&T Bell Laboratories Queuing arrangement for initiating execution of multistage transactions
US4805095A (en) * 1985-12-23 1989-02-14 Ncr Corporation Circuit and a method for the selection of original data from a register log containing original and modified data
DE3855029T2 (de) * 1987-06-12 1996-09-05 Bmc Software Inc Supervisorverfahren für ein Rechnerbetriebssystem
JPH02128267A (ja) * 1988-11-09 1990-05-16 Fujitsu Ltd 共有メモリによる通信方式
US5491631A (en) * 1991-12-25 1996-02-13 Honda Giken Kogyo Kabushiki Kaisha Fault diagnostic system for vehicles using identification and program codes
JPH05224958A (ja) 1992-02-12 1993-09-03 Nec Corp プロセス間通信システム
JPH05289949A (ja) * 1992-04-09 1993-11-05 Nippondenso Co Ltd 車両制御装置
US5339442A (en) * 1992-09-30 1994-08-16 Intel Corporation Improved system of resolving conflicting data processing memory access requests
JPH06161779A (ja) * 1992-11-17 1994-06-10 Fujitsu Ltd データ処理装置の割込み制御方式
US5903752A (en) * 1994-10-13 1999-05-11 Intel Corporation Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system
US6466962B2 (en) * 1995-06-07 2002-10-15 International Business Machines Corporation System and method for supporting real-time computing within general purpose operating systems
JP3832517B2 (ja) * 1996-07-05 2006-10-11 セイコーエプソン株式会社 ロボット用コントローラ及びその制御方法
US5832205A (en) * 1996-08-20 1998-11-03 Transmeta Corporation Memory controller for a microprocessor for detecting a failure of speculation on the physical nature of a component being addressed
US6199152B1 (en) * 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor
US5905889A (en) * 1997-03-20 1999-05-18 International Business Machines Corporation Resource management system using next available integer from an integer pool and returning the integer thereto as the next available integer upon completion of use
US6772419B1 (en) * 1997-09-12 2004-08-03 Hitachi, Ltd. Multi OS configuration system having an interrupt process program executes independently of operation of the multi OS
JPH1196022A (ja) 1997-09-16 1999-04-09 Hitachi Ltd リアルタイム処理計算機
US6128713A (en) * 1997-09-24 2000-10-03 Microsoft Corporation Application programming interface enabling application programs to control allocation of physical memory in a virtual memory system
US6199127B1 (en) * 1997-12-24 2001-03-06 Intel Corporation Method and apparatus for throttling high priority memory accesses
JP3376906B2 (ja) 1998-02-18 2003-02-17 トヨタ自動車株式会社 計算機の負荷率計測システム
US6182196B1 (en) * 1998-02-20 2001-01-30 Ati International Srl Method and apparatus for arbitrating access requests to a memory
JP2000034948A (ja) 1998-07-17 2000-02-02 Denso Corp 電子制御装置
WO2000028518A2 (en) * 1998-11-09 2000-05-18 Broadcom Corporation Graphics display system
JP2000199450A (ja) * 1998-12-28 2000-07-18 Denso Corp エンジン制御装置
US6349361B1 (en) * 2000-03-31 2002-02-19 International Business Machines Corporation Methods and apparatus for reordering and renaming memory references in a multiprocessor computer system
US6691023B2 (en) * 2000-05-26 2004-02-10 Yamaha Marine Kabushiki Kaisha Diagnostic system for engine
JP4350931B2 (ja) * 2002-02-12 2009-10-28 株式会社デンソー 車両の異常診断装置及び異常診断方法

Also Published As

Publication number Publication date
US7086056B2 (en) 2006-08-01
DE10211889B4 (de) 2014-07-03
DE10211889A1 (de) 2002-10-10
JP3610915B2 (ja) 2005-01-19
US20020133531A1 (en) 2002-09-19

Similar Documents

Publication Publication Date Title
JP2002278779A (ja) 処理実行装置及びプログラム
US7712084B2 (en) Method for monitoring a program execution using a debug logic
JP4920015B2 (ja) 分散制御用制御ソフトウェアおよび電子制御装置
JPH04169350A (ja) イベント駆動型車両制御用コンピュータ
JP3578638B2 (ja) マイコン用メモリの診断装置
JPH02252008A (ja) マイクロプロセッサ
US10162324B2 (en) Method for manipulating a control program of a control device
JP4241462B2 (ja) 制御ユニットおよびマイクロコンピュータ
JPS5968004A (ja) 車載用コンピユ−タのフエイルセ−フ方法
JP5533789B2 (ja) 車載電子制御装置
WO2022009741A1 (ja) 電子制御装置
JP5699896B2 (ja) 情報処理装置、異常判定方法
JP6838234B2 (ja) 車両制御装置
JP4522799B2 (ja) 半導体回路装置及び暴走検出方法
JP7476638B2 (ja) マルチプロセッサシステム
JP3783553B2 (ja) 情報処理装置
JP2002304304A (ja) 処理実行装置、当該処理実行装置に搭載される処理プログラム、及び記録媒体
JP6466269B2 (ja) 電子制御装置及びスタック領域の使用監視方法
JP3617445B2 (ja) 情報処理装置
JP6771272B2 (ja) 車載電子制御装置及びスタック使用方法
JP5703505B2 (ja) バスパーティション構造を備えるコンピュータ
JP6877475B2 (ja) 電子制御装置及びスタック使用方法
JP4535663B2 (ja) ステートマシン制御方式およびステートマシン
JP2023009818A (ja) 車両用電子制御装置及び車両用電子制御装置による制御方法
JP2001356998A (ja) デバイスドライバの作成方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040629

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040827

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041011

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3610915

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101029

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111029

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121029

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121029

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131029

Year of fee payment: 9

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees