(57)【特許請求の範囲】
【請求項１】
コンピュータ機能の検査装置であって、該検査装置が予備メモリ（１０）を有し、プログラム領域に制御プログラムを含み且つデータ領域に前記制御プログラムで利用される特性曲線を含む作業メモリ（２）へのコンピュータ（１）の結合を、予備メモリ（１０）へ切り換える手段（６）が設けられ、予備メモリ（１０）が外部から読み取り可能である、コンピュータ機能の検査装置において、
予備メモリ（１０）には、変更された制御プログラムを有する予備プログラム領域（１１）と、変更された特性曲線を有する予備データ領域（１２）と、補助プログラム領域（１３）とが設けられること、
補助プログラム領域（１３）には解析プログラム（１０１）が含まれ、解析プログラム（１０１）は、コンピュータ（１）が作動している時に実行され、コンピュータ（１）の内部状態に関する情報を提供すること、
予備メモリ（１０）の内容は、コンピュータ（１）の外部から書き込みまたは読み出し可能であり、それによってユーザにより制御可能であること、
を特徴とするコンピュータ機能の検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ機能の検査方法および装置に関するものである。
【背景技術】
【０００２】
コンピュータ機能を検査するために、通常の作業メモリへのアクセスを予備メモリに切り換えることが既知である。このとき、この予備メモリにおいて、他のプログラムの流れおよびこのプログラムの流れのための他のデータが使用され、このときコンピュータがその開ループおよび閉ループ制御を良好に行っているかどうかを検査することができる。さらに、コンピュータの内部作動状態に関する情報を提供するいわゆるデバッガ（ｄｅｂｕｇｇｅｒ）が既知である。このような検査は、極めて手間がかかり、しかもコンピュータをほぼ連続的に使用する条件下では行うことができない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
コンピュータ機能の検査が容易に行われ、しかもコンピュータのほぼ連続的な使用条件の下でも行える方法および装置を提供することが本発明の課題である。
【課題を解決するための手段】
【０００４】
本発明の方法および装置は、コンピュータ機能の検査が実際の使用条件下において可能であるという利点を有している。この場合、存在するプログラムの機能のみでなく、プログラムの変更によるコンピュータ機能への影響を解析することができる。
【０００５】
コンピュータ内に設けられているレジスタまたはポートの状態に関する情報が得られることは特に有利である。解析プログラムを通常のオペレーティング・システムに組み込むことにより、重要な機能はなおコンピュータにより行えることが保証される。コンピュータを使用中においても、解析によりコンピュータの本質的な開ループまたは閉ループ制御機能の妨害が発生しないことが保証される。
【図面の簡単な説明】
【０００６】
【図１】本発明による実施態様を示す、コンピュータ１、作業メモリ２および予備メモリ１０の略結線図である。
【図２】図１に示された予備メモリ１０の詳細構成図である。
【図３】コンピュータ１が作業メモリ２に対して読取りアクセスのみが可能であることを条件とする本発明による他の実施態様の構成図である。
【発明を実施するための最良の形態】
【０００７】
図１には、コンピュータ機能の検査中のコンピュータ（マイクロコンピュータ）１が示されている。コンピュータ１は、通常の作動状態において、バス結線５を介して作業メモリ２と結合されている。バス結線５は、アドレス交換のみでなく、データ交換の働きもする（アドレス・バスおよびデータ・バス）。作業メモリ２は、プログラム（記憶）領域３およびデータ（記憶）領域４を有している。通常の作動において、コンピュータ１はプログラムを処理し、プログラムは、プログラム領域３内に含まれ且つプログラム処理のためにデータ領域４内に記憶されているデータを使用する。ここで、コンピュータ１の機能検査のためにスイッチ６が設けられている。スイッチ６を操作することにより、このときコンピュータ１は、バス結線５を介して予備メモリ１０と結合され、作業メモリ２とはもはや結合されないことになる。予備メモリ１０は、予備プログラム領域１１、予備データ領域１２、および補助プログラム領域１３を有している。図１において予備メモリ１０の左側に配置されたバス結線５０により示されるように、予備メモリ１０は、コンピュータ１と情報を交換可能であるのみでなく、外部からの書込みまたは読取りが可能である。
【０００８】
代替態様として、スイッチ６は、作業メモリの一部のみを予備メモリに切り換えることも可能である。例えば、一方でデータ領域がそのままコンピュータ１により利用されながら、プログラム領域３のみを予備プログラム領域１１に切り換えることが可能であろう。
【０００９】
予備メモリ１０は、外部からそこに書込み可能であり、またメモリ内容を外部から読取り可能であるという性質を有している。これは、コンピュータ１の機能性、ないし特定のプログラム部分またはデータ領域の機能を検査することを可能にする。このために、予備メモリ１０、例えば予備プログラム領域１１または予備データ領域１２に、プログラム領域３ないしデータ領域４の情報とは異なる情報が書き込まれる。コンピュータ１は、例えば内燃機関のための制御装置であってもよい。内燃機関の制御のために、プログラム領域３に特定の制御プログラムが記憶され、またデータ領域４に特性曲線群が記憶され、この特性曲線群は、該当する機関に対して固有のものであり、制御プログラムにより使用される。ここで機関の制御を改善するために、テストを目的として変更された制御プログラムないし変更された特性曲線群が予備メモリ１０に書き込まれ、また、変更された閉ループまたは開ループ制御プログラムないし変更された特性曲線群が、コンピュータ１の機能を改善させ、ないしはコンピュータ１により制御される機能を改善させるかどうかが検査される。この場合、特に新たな閉ループまたは開ループ制御プログラムの検査に対しては、特定の極端な作動状態におけるコンピュータ１の作業または機能を調査することが重要である。このために、コンピュータ１の内部作動状態が検査可能でなければならない。このような検査は、コンピュータ１の通常の作動においては必要がない。したがって、予備メモリ１０に対して補助プログラム領域１３が設けられ、補助プログラム領域１３に、このようなコンピュータ１の機能および作動の検査を可能にする対応の補助プログラムが記憶されている。
【００１０】
ここで、この補助プログラムの機能方法を図２により詳細に説明する。図２には、予備プログラム領域１１と予備データ領域１２と補助プログラム領域１３とを有する予備メモリ１０が、再び詳細に示されている。予備メモリ１０は、例えばいわゆるデュアル・ポートＲＡＭとして形成され、デュアル・ポートＲＡＭにおいては、コンピュータ１のほかに外部からも予備メモリ１０にアクセスすることができる。補助プログラム１３は、ここでは異なる機能を有する異なる領域を含む。プログラム領域１０１は解析プログラムである。解析プログラム１０１は、コンピュータ１により実行され且つコンピュータ１の作動状態の解析のために使用される。さらに補助プログラム記憶領域１０２が設けられ、補助プログラム記憶領域１０２は、解析プログラムに対するデータの記憶のために使用される。
【００１１】
解析プログラム１０１（即ち領域１０１内に記憶されているプログラム）は、コンピュータ１の内部状態を解析するために記憶されている。このために、解析プログラム１０１は、例えばコンピュータ１により、個々の内部レジスタ、ポート、または外部から直接読取り可能ではない他の記憶領域を読み取らせることができる。これは、解析プログラム１０１が、コンピュータ１により、特定のレジスタ内に記憶されているデータをデータ・バス上に与え、且つ補助プログラム記憶領域１０２に存在するアドレスをアドレス・バスに与えることにより行われる。次に、補助プログラム記憶領域１０２における対応の記憶場所の読取りにより、コンピュータ１に関連のレジスタの状態を外部から解析することができる。さらに、補助プログラム記憶領域１０２は、コンピュータ１のどのレジスタ、ポート等が解析されるべきかを解析プログラムに伝達するために使用することができる。このために、補助プログラム記憶領域１０２の所定の領域に、外部から命令が書き込まれ、この命令が、解析プログラム１０１により、コンピュータ１の対応の領域を調査させる。
【００１２】
補助プログラム領域１３を作動させるために、コンピュータ１が通常の予備プログラム領域１１を作動させ、次に補助プログラム領域１３を処理するためにコンピュータ１が起動される方法が設けられている。これは例えば、予備プログラム領域１１にオペレーティング・システムが設けられ、このオペレーティング・システムが、補助プログラム領域１３を処理する要求が存在するかどうかを外部から時々検査することにより行ってもよい。このような要求は、例えば補助プログラム記憶領域１０２内に書き込まれてもよい。この場合、オペレーティング・システムは問い合わせループを含み、この問い合わせループは、補助プログラム記憶領域１０２における対応の場所に対応の命令が存在するかどうかを検査する。対応の命令が存在するとき、解析プログラム１０１が作動される。
【００１３】
図２に他の方法が示され、この方法においては、予備プログラム領域１１に設けられている正常なプログラム流れ内の分岐命令記憶場所１００に、外部から、解析プログラム１０１への分岐命令が設けられている。この分岐命令は、外部からの要求により予備メモリ１０に書き込まれる。無条件分岐命令のほかに、例えば割込み命令等もまた考えられる。このような分岐命令を分岐命令記憶場所１００に書き込むことにより、予備プログラム領域１１の対応の場所に存在するプログラムが呼び出されたときは常に、このプログラムの代わりに解析プログラム１０１が処理される。
【００１４】
コンピュータ１が作動中にコンピュータ１の検査が行われるとき、コンピュータ１の機能の検査により、コンピュータ１により実行される少なくとも重要な制御機能が妨害されないことに注意すべきである。しかしながら、一般に、最新式のコンピュータにおいてはこのことは問題にはならない。その理由は、最新式のコンピュータは、本来の制御機能のほかに、時々中断が可能な一連の補助機能も行い、このとき制御すべきシステムに本質的な悪影響を与えることがないからである。コンピュータ１が、例えばガソリン機関の機関制御のために設けられているとき、例えば燃料の噴射および点火に関係するプログラム部分の処理が妨害されてはならない。これらの機能は、コンピュータ１によりあらゆる他の機能に優先して処理される。しかしながら、さらに他のプログラム、例えば機関の運転状態に関する種々のデータを収集し且つこれらを検査機能のために供給するプログラムもまた設けられている。この場合、オペレーティング・システムにより、本質的な制御機能が常に行われ、一方では重要度の低い機関の制御機能または解析機能は、重要でない制御機能が行われているときにのみ行われる。解析プログラム１０１は、ほとんど重要でないコンピュータ１の制御機能が処理されなければならないときにのみ作動されるべきである。これは、上記のように、重要度の低いプログラム部分内に分岐命令（分岐命令記憶場所１００）が挿入されることにより行ってもよい。通常、プログラムが実行する異なる機能は異なるプログラム・モジュールにより行われ、また（常に実行される）オペレーティング・システムにより、重要な制御機能に対して使用されているモジュールがしばしば呼び出され、即ちコンピュータにより処理されることが保証される。コンピュータの作動中に重要な制御機能を継続して実行可能なように、分岐命令は重要度の低いモジュールに書き込まれるべきである。
【００１５】
他の方法は、ユーザにより解析プログラム１０１の作動が希望され、しかもコンピュータ１の重要でない制御機能が実行されなければならないときにのみこれを起動可能かどうかを、予備プログラム領域１１のオペレーティング・システムが定期的に問い合わせることである。この方法もまた、制御機能が実行されている間にコンピュータ１の作動状態を調査することを可能にする。これにより、実際の使用条件下で、コンピュータ１の実際のハードウェアを用いて、コンピュータ１の作動状態に関する情報、コンピュータ１の内部における特定のプログラムの流れに関する情報、ないしプロセッサの内部状態とコンピュータにより使用される閉ループおよび開ループ制御機能との関係に関する情報を得ることができる。
【００１６】
コンピュータの作業メモリ２に対して、読取りアクセスのみが可能で書込みアクセスが可能でないコンピュータ１が存在する。このようなコンピュータおよびこのようなコンピュータの検査のために必要な手段が図３に示されている。符号１ないし６、および符号１０ないし１３は、図１に既に示したものと同じものが再び示されている。
【００１７】
しかしながら、図１とは異なり、図３においてはさらに、コンピュータ１の読取りライン３０および書込みライン３１が示されている。読取りライン３０の信号により、コンピュータ１は記憶要素に、いま読取りアクセスが存在していることを通知する。これは、記憶要素が、読取りライン３０の信号により、アドレス・バスに示された記憶場所の記憶内容をデータ・バスに与えることにより行われる。書込みライン３１の信号により、記憶要素に、書込みアクセスのみが存在すること、即ち記憶要素が、データ・バスに存在するデータを、アドレス・バスに存在するアドレスを有する記憶要素に書き込むことが記憶要素に通知される。
【００１８】
図３からわかるように、作業メモリ２および予備メモリ１０は、読取りライン３０のみによりコンピュータ１と結合されている。即ち、プログラムまたはデータはこれらのメモリから読取り可能であるにすぎない。さらに、記憶要素４１もまた存在し、記憶要素４１は、コンピュータ１と、読取りライン３０を介してのみならず書込みライン３１を介してもまた結合されている。したがって、コンピュータ１は、記憶要素４１にデータを書き込むのみでなく、記憶要素４１からデータを読み取ることもまた可能である。記憶要素４１は、バス結線５を介してもまたコンピュータ１と結合されていることは当然である。
【００１９】
コンピュータ１、作業メモリ２および記憶要素４１は、例えばガソリン機関の制御のために使用されるような制御装置を形成する。コンピュータ１によって書込みアクセスが可能であるのみでなく読取りアクセスもまた可能な記憶要素４１は、コンピュータ１に対してデータを中間記憶することを可能にする。コンピュータ１の機能の検査のために、ここで他の記憶要素４２が設けられ、記憶要素４２は、コンピュータ１とデータ・ライン（バス結線５）および書込みライン３１を介して結合されている。しかしながら、外部からは、記憶要素４２に書込みアクセスが可能であるのみでなく読取りアクセスもまた可能である。これは図３における記憶要素４２の下側のバス結線５０により示されている。
【００２０】
ここで、記憶要素４２には、そのアドレス可能な領域が記憶要素４１のアドレス可能な領域と完全にオーバラップするように、アドレス領域が設けられている。しかしながら、さらに、記憶要素４２が記憶要素４１より大きく、したがってアドレス可能な追加領域を有するように設計されてもよい。したがって、記憶要素４２内のデータの読取りにより、記憶要素４１の記憶内容に関する情報および追加情報を読み取ることが可能である。各書込み命令において、オーバラップしているアドレス領域により、コンピュータ１により記憶要素４１に書き込まれたすべてのデータが同時に記憶要素４２にもまた書き込まれるので、記憶要素４２の記憶内容の読取りにより、記憶要素４１の記憶内容がどのようであるかを特定することができる。
【００２１】
さらに、記憶要素４２は、解析プログラム１０１の結果を外部に伝送するために使用することができる。このために、解析プログラム１０１は、コンピュータ１の特定の内部レジスタ、ポート等の内容がデータ・バスに与えられ、同時に書込み命令が行われ、またアドレス・バスに、記憶要素４２のアドレス可能な領域内に存在するアドレスが与えられるように、設計されている。他のプログラムが対応の記憶場所をアクセスしないかぎり、これらのデータは１つのアドレス領域内に存在可能であるので、記憶要素４１はアドレス可能である。しかしながら、例えば記憶要素４１はすべてコンピュータ１の通常の作動のために必要とされるので、記憶要素４１へのこれらのデータの書込みが回避されなければならないとき、記憶要素４１がアドレス可能ではない、記憶要素４２の追加のアドレス領域内にデータが記憶されてもよい。
【００２２】
図３に示すように、構成をやや複雑にした理由は、コンピュータ１の機能の検査が対応の制御装置のハードウェアへの係合を必要とすることにある。したがって、原則的にコンピュータ内に存在する書込みラインまたは読取りラインを任意に使用することはしばしば可能ではない。むしろ一般に、いずれにしても特殊なハードウェア構成に対して設けられているラインを使用することが推奨される。作業メモリ２に対して読取りアクセスのみが可能であり且つ作業メモリ２に比較して小さい記憶要素４１のみが存在し、記憶要素４１に対しては読取りおよび書込みアクセスが可能であるとき、コンピュータ１を用いた制御装置の通常の作動に対してはこれで十分であるので、このような制御装置におけるコンピュータ１の機能の対応する検査装置は、それに応じてハードウェアに適合されなければならない。
【符号の説明】
【００２３】
１  コンピュータ
２  作業メモリ
３  プログラム領域
４  データ領域
５、５０  バス結線
６  スイッチ
１０  予備メモリ
１１  予備プログラム領域
１２  予備データ領域
１３  補助プログラム領域
３０  読取りライン
３１  書込みライン
４１、４２  記憶要素
【図１】
0004778577.tif 000002
【図２】
0004778577.tif 000003
【図３】
0004778577.tif 000004