"複数の記憶領域を有する記憶媒体と、車両に搭載された機器を制御するための第1プログラムの実行時に、前記第1プログラムで使用されるデータと当該データの正常/異常を判定するための判定用のデータとを1組として、その組をなすデータを互いに所定の第1間隔を空けた記憶領域に書き込む第1書込み手段と、車両に搭載された機器を制御するための第2プログラムの実行時に、前記第2プログラムで使用されるデータと当該データの正常/異常を判定するための判定用のデータとを1組として、その組をなすデータを互いに前記第1間隔とは異なる第2間隔を空けた記憶領域に書き込む第2書込み手段とを含む、車載用記憶処理装置。しかしながら、RAMにデータを書き込むプログラムとは別のプログラムの暴走により、互いに隣り合うアドレスの2つの記憶領域に記憶されているデータの書換えが行われるおそれがある。このような書換えが行われると、もはやデータのエラーを検出することはできない。本発明の目的は、データのエラーを確実に検出することができる、車載用記憶処理装置を提供することである。前記の目的を達成するため、本発明に係る車載用記憶処理装置は、複数の記憶領域を有する記憶媒体と、車両に搭載された機器を制御するための第1プログラムの実行時に、前記第1プログラムで使用されるデータと当該データの正常/異常を判定するための判定用のデータとを1組として、その組をなすデータを互いに所定の第1間隔を空けた記憶領域に書き込む第1書込み手段と、車両に搭載された機器を制御するための第2プログラムの実行時に、前記第2プログラムで使用されるデータと当該データの正常/異常を判定するための判定用のデータとを1組として、その組をなすデータを互いに前記第1間隔とは異なる第2間隔を空けた記憶領域に書き込む第2書込み手段とを含む。車両に搭載された機器を制御するための第1プログラムの実行時には、第1プログラムで使用されるデータと当該データの正常/異常を判定するための判定用のデータとを1組として、その組をなすデータが互いに第1間隔を空けた記憶領域に書き込まれる。一方、車両に搭載された機器を制御するための第2プログラムの実行時には、第2プログラムで使用されるデータと当該データの正常/異常を判定するための判定用のデータとを1組として、その組をなすデータが互いに第1間隔と異なる第2間隔を空けた記憶領域に書き込まれる。そのため、第2プログラムが暴走して、第1プログラムで使用されるデータまたはそのデータと組をなす判定用のデータが記憶されている記憶領域が書き換えられた場合、その記憶領域に書き込まれたデータと組をなすデータは、当該記憶領域から第2間隔を空けた記憶領域に書き込まれる。したがって、第2プログラムが暴走しても、第1プログラムで使用されるデータまたはそのデータと組をなす判定用のデータの両方が書き換えられることを防止できる。また、第1プログラムが暴走して、第2プログラムで使用されるデータまたはそのデータと組をなす判定用のデータが記憶されている記憶領域が書き換えられた場合、その記憶領域に書き込まれたデータと組をなすデータは、当該記憶領域から第1間隔を空けた記憶領域に書き込まれる。したがって、第1プログラムが暴走しても、第2プログラムで使用されるデータまたはそのデータと組をなす判定用のデータの両方が書き換えられることを防止できる。よって、第1プログラムで使用されるデータが記憶される記憶領域およびその記憶領域から第1間隔を空けた記憶領域からデータを読み出して、それらのデータを比較することにより、データのエラーを確実に検出することができる。また、第2プログラムで使用されるデータが記憶される記憶領域およびその記憶領域から第2間隔を空けた記憶領域からデータを読み出して、それらのデータを比較することにより、データのエラーを確実に検出することができる。記憶領域に対するデータの書込みおよび読出しを行うマイクロコンピュータに記憶領域を監視するハードウエアを追加することによっても、データのエラーの検出が可能になる。しかしながら、そのハードウエアを追加すると、マイクロコンピュータのコストが高くつく。本発明の構成では、記憶領域を監視するハードウエアが不要であるので、コストアップを抑制することができる。本発明によれば、安価な構成で、データのエラーを確実に検出することができる。そして、データのエラーを確実に検出できるので、データのエラーに対するフェイルセーフを確実に実行することができる。以下では、本発明の実施の形態について、添付図面を参照しつつ詳細に説明する。図1は、本発明の一実施形態に係る電子制御ユニットの構成を示すブロック図である。電子制御ユニット1は、自動車などの車両に搭載されたエンジンやバッテリなどの機器を制御するためのものである。電子制御ユニット1は、CPU2、ROM3およびRAM4を含む。ROM3には、機器の制御のためのプログラムAおよびプログラムBが格納されている。RAM4は、CPU2がプログラムAおよびプログラムBを実行する際に、データを一時的に保存するワークエリアを提供する。図2は、プログラムAの実行時におけるRAMへのデータの書込みの一例を示す図である。RAM4は、行列状に配置された複数のメモリセル記憶領域41を有している。各メモリセル41には、行アドレスおよび列アドレスが割り当てられている。行アドレスおよび列アドレスの指定により、各メモリセル41が特定され、その特定されたメモリセル41に対するデータの書込みおよび読出しを行うことができる。CPU2によるプログラムAの実行時には、たとえば、図2に示されるように、RAM4の複数のメモリセル41にデータが書き込まれる。すなわち、行アドレス01および列アドレス01のメモリセル41に、識別データであるキーワード1が書き込まれる。行アドレス02および列アドレス01のメモリセル41に、プログラムAで使用されるデータ1が書き込まれる。行アドレス03および列アドレス01のメモリセル41に、識別データであるキーワード2が書き込まれる。また、行アドレス01および列アドレス04のメモリセル41に、行アドレス01および列アドレス01のメモリセル41に書き込まれたデータと同一のキーワード1が書き込まれる。行アドレス02および列アドレス04のメモリセル41に、行アドレス02および列アドレス01のメモリセル41に書き込まれたデータと同一のデータ1が書き込まれる。行アドレス03および列アドレス04のメモリセル41に、行アドレス03および列アドレス01のメモリセル41に書き込まれたデータと同一のキーワード2が書き込まれる。このように、CPU2によるプログラムAの実行時には、2つの同一のデータがそれぞれ行方向に間隔を空けた2つのメモリセル41に書き込まれる。また、プログラムAで使用されるデータ1がメモリセル41に書き込まれるとともに、そのメモリセル41に対して列方向の両側に連続するメモリセル41に、それぞれ識別データであるキーワード1およびキーワード2が書き込まれる。図3は、プログラムBの実行時におけるRAMへのデータの書込みの一例を示す図である。CPU2によるプログラムBの実行時には、たとえば、図3に示されるように、RAM4の複数のメモリセル41にデータが書き込まれる。すなわち、行アドレス03および列アドレス02のメモリセル41に、プログラムBで使用されるデータ2が書き込まれる。また、行アドレス03および列アドレス03のメモリセル41に、行アドレス03および列アドレス02のメモリセル41に書き込まれたデータと同一のデータ2が書き込まれる。このように、CPU2によるプログラムBの実行時には、2つの同一のデータがそれぞれ行方向に連続する2つのメモリセル41に書き込まれる。図4は、プログラムBの暴走時におけるRAMへのデータの書込みの一例を示す図である。プログラムBの暴走により、プログラムAで使用されるデータ1が記憶されているメモリセル41に他のデータが書き込まれることがある。たとえば、図4に示されるように、行アドレス02および列アドレス01のメモリセル41に記憶されているデータ1がプログラムBで使用されるデータ2が書き換えられることがある。この場合、プログラムBにおけるデータの書込み形式に従って、行アドレス02および列アドレス01のメモリセル41に対して行方向に連続するメモリセル41,つまり行アドレス02および列アドレス02のメモリセル41に、行アドレス02および列アドレス01のメモリセル41に書き込まれたデータ2と同一のデータ2が書き込まれる。しかしながら、行アドレス02および列アドレス04のメモリセル41に記憶されているデータ1は書き換えられない。よって、プログラムBの暴走により、行アドレス02および列アドレス01のメモリセル41に記憶されているデータ1がプログラムBで使用されるデータ2に書き換えられても、行アドレス02および列アドレス01のメモリセル41から読み出されるデータ2と行アドレス02および列アドレス04のメモリセル41から読み出されるデータ1とが不一致であるから、少なくとも一方のメモリセル41に記憶されているデータが異常であると判定することができる。図5は、RAMに記憶されているデータの不所望な書換えの他の例を示す図である。たとえば、図5に示されるように、プログラムAが使用するデータ1が記憶されているメモリセル41、つまり行アドレス02および列アドレス01のメモリセル41を含む広い範囲において、各メモリセル41に記憶されているデータがデータ3に書き換えられる事態が想定される。この事態が生じた場合、行アドレス01および列アドレス01のメモリセル41に記憶されているキーワード1および行アドレス03および列アドレス01のメモリセル41に記憶されているキーワード2もデータ3に書き換えられてしまう。したがって、プログラムAが使用するデータ1が記憶されているべきメモリセル、つまり行アドレス02および列アドレス01のメモリセル41に対して列方向の両側に連続するメモリセル41に記憶領域に記憶されているデータがそれぞれキーワード1およびキーワード2でないことから、行アドレス02および列アドレス01のメモリセル41に記憶されているデータ3は異常データであると判定することができる。RAM4を監視するハードウエアを備えるマイクロコンピュータをECU1に採用することによっても、RAM4に記憶されているデータのエラーの検出が可能になる。しかしながら、そのようなマイクロコンピュータをECU1に採用すると、ECU1のコストが高くつく。RAM4を監視するハードウエアを備えていない安価なマイクロコンピュータをECU1に採用することができながら、RAM4に記憶されているデータのエラーを確実に検出することができる。そして、データのエラーを確実に検出できるので、ECU1では、データのエラーに対するフェイルセーフを確実に実行することができる。以上、本発明の実施形態について説明したが、本発明は、他の形態で実施することもできる。たとえば、行方向または列方向に連続する複数のメモリセル41に同一または異なるデータが書き込まれ、その複数のメモリセル41に対してその連続方向の両側に連続するメモリセル41にそれぞれ識別データであるキーワード1およびキーワード2が書き込まれてもよい。その他、前述の構成には、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。"