[go: up one dir, main page]

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

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

Info

Publication number
JP3610915B2
JP3610915B2 JP2001078561A JP2001078561A JP3610915B2 JP 3610915 B2 JP3610915 B2 JP 3610915B2 JP 2001078561 A JP2001078561 A JP 2001078561A JP 2001078561 A JP2001078561 A JP 2001078561A JP 3610915 B2 JP3610915 B2 JP 3610915B2
Authority
JP
Japan
Prior art keywords
task
memory area
priority
program
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001078561A
Other languages
English (en)
Other versions
JP2002278779A (ja
Inventor
敏之 福島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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)

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は、本発明の「処理実行装置」を具体化したエンジン制御装置(以下「ECU」という。)1の構成を表すブロック図である。ECU1は、車両に搭載された内燃機関型エンジンの制御を行う。
【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を駆動する、エンジン制御処理を行う。
このようなECU1のエンジン制御プログラムは、上述したようにROM12に記憶されており、図2に示すような、RTOS(リアルタイムオペレーティングシステム)51を含むプラットフォーム(以下「PF」という。)50と、RTOS51によって切り換えて実行されるタスク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,83へ処理要求を保存する。例えばAタスク61のa故障検出処理がイベントに対応する処理であれば、Aタスク61の優先度に応じたキュー81へ処理要求を保存するという具合である。なお、イベントの発生は、上述したセンサ群30からの信号に基づいて検知することが考えられる。また、マイコン10内部のフリーランカウンタによって検知することが考えられる。さらに、後述するように、処理プログラムから発行されることもある。
【0024】
一方、RTOS51は、キュー81,82,83を参照して、優先度に基づくタスク61,62,63の起床を行い、キュー81,82,83に保存された処理要求に含まれるパラメータを、起床したタスク61,62,63へ渡す。
これによって、タスク61,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,82,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タスク63に記述されているため、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…キュー

Claims (7)

  1. 実行単位となる複数のタスクに当該タスク毎に優先度が設定され、優先度の異なるタスクが同一のメモリ領域を操作対象とすることによって、一連の機能を実現する処理実行装置において、
    前記同一のメモリ領域を操作対象とする各タスクの優先度よりも優先度が低く設定され、前記同一のメモリ領域を操作対象とする各タスクとは独立した、メモリ領域の操作を実現するためのタスクは、前記各タスクから前記メモリ領域の操作指示があると、当該操作指示元のタスクの優先度によらず同一の優先度で起動されて、前記メモリ領域を操作すること
    を特徴とする処理実行装置。
  2. 請求項1に記載の処理実行装置において、
    前記同一のメモリ領域を操作対象とする各タスクとは独立した、メモリ領域の操作を実現するためのタスクは、前記各タスクの操作対象とするメモリ領域を、前記操作指示があった順序で操作すること
    を特徴とする処理実行装置。
  3. 請求項1又は2に記載の処理実行装置において、
    前記一連の機能は、車両機器の故障診断に係る機能であり、
    前記同一のメモリ領域を操作対象とする各タスクとは独立した、メモリ領域の操作を実現するためのタスクは、前記各タスクからの操作指示に基づき、前記故障診断に関連する故障情報を操作するものであること
    を特徴とする処理実行装置。
  4. 請求項3に記載の処理実行装置において、
    前記故障情報はビット単位で定義されており、
    前記同一のメモリ領域を操作対象とする各タスクとは独立した、メモリ領域の操作を実現するためのタスクは、前記故障情報の記憶されたメモリ領域をバイト単位で操作するものであること
    を特徴とする処理実行装置。
  5. 請求項1〜4のいずれかに記載の処理実行装置において、
    前記タスクの操作指示には、操作指示元のプログラムを特定可能な識別情報が含まれていること
    を特徴とする処理実行装置。
  6. 請求項5に記載の処理実行装置において、
    前記同一のメモリ領域を操作対象とする各タスクとは独立した、メモリ領域の操作を実現するためのタスクは、前記識別情報に基づき、前記操作指示元のプログラムを特定することによって、当該操作指示元のプログラムを有するタスクが、操作対象とするメモリ領域を特定すること
    を特徴とする処理実行装置。
  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 JP2002278779A (ja) 2002-09-27
JP3610915B2 true 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
US8020141B2 (en) * 2004-12-06 2011-09-13 Microsoft Corporation Operating-system process construction
US7882317B2 (en) 2004-12-06 2011-02-01 Microsoft Corporation Process isolation using protection domains
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
RU2569127C2 (ru) * 2011-09-12 2015-11-20 Тойота Дзидося Кабусики Кайся Устройство управления для двигателя внутреннего сгорания
DE202012013193U1 (de) * 2012-06-26 2015-05-06 INTER CONTROL Hermann Köhler Elektrik GmbH & Co KG Vorrichtung für eine sicherheitskritische Anwendung
US9820818B2 (en) 2012-08-03 2017-11-21 Stryker Corporation System and method for controlling a surgical manipulator based on implant parameters
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
EP3620121B1 (en) 2012-08-03 2024-01-31 Stryker Corporation Systems for robotic surgery
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
US9396089B2 (en) 2014-05-30 2016-07-19 Apple Inc. Activity tracing diagnostic systems and methods
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
WO2021015739A1 (en) * 2019-07-23 2021-01-28 Hitachi Vantara Llc Systems and methods for collecting and sending real-time data

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
EP0297339B1 (en) * 1987-06-12 1996-02-28 BMC Software, Inc. Supervisory method for a computer operating system
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 電子制御装置
US6661427B1 (en) * 1998-11-09 2003-12-09 Broadcom Corporation Graphics display system with video scaler
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
DE10211889B4 (de) 2014-07-03
DE10211889A1 (de) 2002-10-10
US7086056B2 (en) 2006-08-01
US20020133531A1 (en) 2002-09-19
JP2002278779A (ja) 2002-09-27

Similar Documents

Publication Publication Date Title
JP3610915B2 (ja) 処理実行装置及びプログラム
JP3578082B2 (ja) 処理実行装置及び記録媒体
JPH04169350A (ja) イベント駆動型車両制御用コンピュータ
JP4241462B2 (ja) 制御ユニットおよびマイクロコンピュータ
JP2000047883A (ja) タスク制御方法および記録媒体
JP5533789B2 (ja) 車載電子制御装置
US7930523B2 (en) Inter-CPU data transfer device
JP3783553B2 (ja) 情報処理装置
JP3879514B2 (ja) 電子制御装置及びプログラム
JPS5853650A (ja) 内燃機関の回転数制御装置
JP3755415B2 (ja) 処理実行装置、当該処理実行装置に搭載される処理プログラム、及び記録媒体
JP6654230B2 (ja) 車両制御装置
JP3617445B2 (ja) 情報処理装置
JP7476638B2 (ja) マルチプロセッサシステム
JP2021152338A (ja) 制御装置
JP6466269B2 (ja) 電子制御装置及びスタック領域の使用監視方法
JP7498845B2 (ja) 制御装置及び制御方法
CN107710162B (zh) 电子控制装置及栈使用方法
JP6877475B2 (ja) 電子制御装置及びスタック使用方法
JP2025094570A (ja) データ処理装置
JP2020070730A (ja) 電子制御装置
JP2001195253A (ja) マイクロコンピュータ及び記録媒体
JP2000034947A (ja) 電子制御装置
JPH01240941A (ja) 情報処理装置
JPH02304634A (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