メモリと、前記メモリにアクセスするCPUと、前記メモリへのアクセス発生時、アクセス対象データのデータ幅に依存して異なる係数と前記アクセス対象データとのXOR演算を行うXOR処理器と、前記XOR演算の演算結果に基づいて、前記アクセス対象データに関連するパリティビットを生成するパリティ生成回路と、前記パリティ生成回路によって生成される前記パリティビットである第1パリティビットと、前記メモリから読み出される前記パリティビットである第2パリティビットとを受け取るパリティ処理回路とを備え、書き込みアクセス時、前記パリティ処理回路は、前記第1パリティビットを前記メモリに書き込み、読み出しアクセス時、前記パリティ処理回路は、前記第1パリティビットと前記第2パリティビットとを比較し、前記第1パリティビットと前記第2パリティビットとが不一致である場合、割り込み信号を前記CPUに出力するマイクロコンピュータ。請求項1に記載のマイクロコンピュータであって、前記メモリへのアクセス発生時、前記CPUは、前記アクセス対象データの前記データ幅を示すサイズ指定信号を前記XOR処理器へ出力し、前記XOR処理器は、前記サイズ指定信号で指定される前記データ幅に応じて、前記係数を決定するマイクロコンピュータ。請求項2に記載のマイクロコンピュータであって、前記アクセス対象データの前記データ幅に応じて決定する前記係数の値が、全て異なっているマイクロコンピュータ。請求項1乃至3のいずれか一項に記載のマイクロコンピュータであって、前記パリティ生成回路が前記パリティビットを生成する際のパリティモードは、偶数パリティモードあるいは奇数パリティモードのいずれかに固定されるマイクロコンピュータ。マイクロコンピュータにおけるハードウェア又はソフトウェア起因の異常メモリアクセス検出方法であって、前記マイクロコンピュータは、メモリと、前記メモリにアクセスするCPUとを備え、前記異常メモリアクセス検出方法は、前記メモリへのアクセス発生時、アクセス対象データのデータ幅に依存して異なる係数と前記アクセス対象データとのXOR演算を行うステップと、前記XOR演算の演算結果に基づいて、前記アクセス対象データに関連するパリティビットを生成するステップと、書き込みアクセス時、前記生成されたパリティビットを第1パリティビットとして前記メモリに書き込むステップと、読み出しアクセス時、前記生成されたパリティビットである第1パリティビットと前記メモリから読み出される前記パリティビットである第2パリティビットとを比較するステップと、前記第1パリティビットと前記第2パリティビットとが不一致である場合、割り込み信号を前記CPUに出力するステップとを含むマイクロコンピュータにおける異常メモリアクセス検出方法。特許文献1に記載された技術の場合、パリティモードを切り替えるための専用の命令コードを追加する必要がある。このことは、プログラムコードのサイズの増加を招く。本発明の1つの観点において、マイクロコンピュータが提供される。マイクロコンピュータは、メモリと、CPUと、XOR処理器と、パリティ生成回路と、パリティ処理回路とを備える。CPUは、メモリにアクセスする。メモリへのアクセス発生時、XOR処理器は、アクセス対象データのデータ幅に依存して異なる係数とアクセス対象データとのXOR演算を行う。パリティ生成回路は、XOR演算の演算結果に基づいて、アクセス対象データに関連するパリティビットを生成する。パリティ処理回路は、パリティ生成回路によって生成されるパリティビットである第1パリティビットと、メモリから読み出されるパリティビットである第2パリティビットとを受け取る。書き込みアクセス時、パリティ処理回路は、第1パリティビットをメモリに書き込む。読み出しアクセス時、パリティ処理回路は、第1パリティビットと第2パリティビットとを比較し、第1パリティビットと第2パリティビットとが不一致である場合、割り込み信号をCPUに出力する。本発明の他の観点において、マイクロコンピュータにおける異常メモリアクセス検出方法が提供される。マイクロコンピュータは、メモリと、メモリにアクセスするCPUとを備える。本発明に係る異常メモリアクセス検出方法は、Aメモリへのアクセス発生時、アクセス対象データのデータ幅に依存して異なる係数とアクセス対象データとのXOR演算を行うステップと、BXOR演算の演算結果に基づいて、アクセス対象データに関連するパリティビットを生成するステップと、C書き込みアクセス時、生成されたパリティビットを第1パリティビットとしてメモリに書き込むステップと、D読み出しアクセス時、生成されたパリティビットである第1パリティビットとメモリから読み出されるパリティビットである第2パリティビットとを比較するステップと、E第1パリティビットと第2パリティビットとが不一致である場合、割り込み信号をCPUに出力するステップと、を含む。本発明によれば、余計な命令コードを追加することなく、マイクロコンピュータにおける異常メモリアクセスの発生を検出することが可能となる。添付図面を参照して、本発明の実施の形態を説明する。1.構成図1は、本実施の形態に係るマイクロコンピュータ100の構成を示すブロック図である。マイクロコンピュータ100は、メモリ110、CPU120、XOR処理器130、パリティ生成回路140、AND回路112、113、及びパリティ比較回路150を備えている。メモリ110は、データ領域110Aとパリティ領域110Bを含んでいる。データ領域110Aにはデータが格納される。データ領域110Aに書き込まれるデータは書き込みデータであり、データ領域110Aから読み出されるデータは読み出しデータである。一方、パリティ領域110Bにはパリティビットが格納される。パリティビットは、データ領域110Aに格納されるデータ毎に生成され、当該データに関連付けられる。具体的には、データ領域110A中のデータ格納アドレス毎に、パリティビットが格納されるパリティ領域110B中のアドレスが定められている。データ領域110Aに書き込みデータが書き込まれる場合、その書き込みデータに関連付けられたパリティビットが、書き込みアドレスに対応するパリティ領域110B中のアドレスに書き込まれる。また、データ領域110Bから読み出しデータが読み出される場合、その読み出しデータに関連付けられたパリティビットが、読み出しアドレスに対応するパリティ領域110B中のアドレスから読み出される。CPU120は、メモリ110にアクセスする。具体的には、CPU120は、アドレスバス101を通してアドレス信号をメモリ110に供給する。アドレス信号は、メモリ110中のアクセス対象アドレスを指定する。更に、CPU120は、データバス102を通して書き込みデータをメモリ110に供給し、また、データバス102を通して読み出しデータをメモリ110から受け取る。また、CPU120は、メモリ書き込み信号103及びメモリ読み出し信号104をメモリ110に供給する。書き込みアクセス時、メモリ書き込み信号103は1であり、メモリ読み出し信号104は0である。一方、読み出しアクセス時、メモリ書き込み信号103は0であり、メモリ読み出し信号104は1である。また、CPU120は、メモリ110へのアクセス書き込みアクセス及び読み出しアクセス時、データバスサイズ指定信号105をXOR処理器130に出力する。データバスサイズ指定信号105は、アクセス対象データのデータ幅を示す。アクセス対象データは、書き込みアクセスの場合は書き込みデータであり、読み出しアクセスの場合は読み出しデータである。アクセス対象データのデータ幅は、以下、アクセスデータ幅と参照される。また、CPU120は、パリティ比較回路150から出力される割り込み信号106後述されるを受け取る。割り込み信号106を受け取ると、CPU120は、メモリアクセスにおいて異常が発生したと判断し、異常発生に対応する処理を行う。XOR処理器130は、データバス102に接続されている。メモリ110へのアクセス発生時、XOR処理器130は、データバス102からアクセス対象データ書き込みデータあるいは読み出しデータを受け取る。また、XOR処理器130は、CPU120から出力されるデータバスサイズ指定信号105を受け取る。XOR処理器130は、データバスサイズ指定信号105で指定されるアクセスデータ幅を参照し、そのアクセスデータ幅に依存して異なる係数を決定する。そして、XOR処理器130は、その係数とアクセス対象データとのXOR演算を行う。更に、XOR処理器130は、XOR演算結果131をパリティ生成回路140に出力する。上述の通り、XOR処理器130が用いる係数は、アクセスデータ幅に応じて異なる。例として、アクセスデータ幅が8ビットの場合と16ビットの場合を考える。例えば、8ビットの場合には係数として値1が用いられ、16ビットの場合には係数として値3が用いられる。ここで、8ビットの場合の係数1中のビット1の個数は奇数1個であり、16ビットの場合の係数3中のビット1の個数は偶数2個であることに留意されたい。パリティ生成回路140は、XOR処理器130から出力されるXOR演算結果131を受け取る。そして、パリティ生成回路140は、そのXOR演算結果131に基づいて、アクセス対象データに関連するパリティビットを生成する。ここで、本実施の形態によれば、パリティビットを生成する際のパリティモードは、偶数パリティモードあるいは奇数パリティモードのいずれかに固定される。つまり、パリティモードの切り替えは行われない。パリティ生成回路140によって生成されるパリティビットは、以下、第1パリティビットPR1と参照される。パリティ生成回路140は、第1パリティビットPR1をAND回路112、113に出力する。AND回路112には、メモリ書き込み信号103及び第1パリティビットPR1が入力される。書き込みアクセス時、メモリ書き込み信号103は1であり、AND回路112は第1パリティビットPR1を出力する。その第1パリティビットPR1は、書き込みアドレスに対応するパリティ領域110B中のアドレスに格納される。つまり、書き込みアクセス時、書き込みデータがデータ領域110Aに格納されると共に、その書き込みデータに関連する第1パリティビットPR1がパリティ領域110Bに格納される。AND回路113には、メモリ読み出し信号104と第1パリティビットPR1が入力される。読み出しアクセス時、メモリ読み出し信号104は1であり、AND回路113は第1パリティビットPR1を出力する。その第1パリティビットPR1は、パリティ比較回路150に入力される。読み出しアクセス時、読み出しデータがデータ領域110Aから読み出されると共に、その読み出しデータに関連するパリティビットがパリティ領域110Bから読み出される。読み出しアクセス時に読み出しアドレスに対応するパリティ領域110B中のアドレスから読み出されるパリティビットは、以下、第2パリティビットPR2と参照される。その第2パリティビットPR2は、パリティ比較回路150に入力される。パリティ比較回路150は、読み出しアクセス時、第1パリティビットPR1と第2パリティビットPR2を受け取り、それら第1パリティビットPR1と第2パリティビットPR2の比較を行う。プログラムが正確に記述され、メモリアクセスが正常に行われていれば、第1パリティビットPR1と第2パリティビットPR2とは一致するはずである。逆に言えば、第1パリティビットPR1と第2パリティビットPR2とが一致しないことは、メモリアクセスに何らかの異常が発生していることを意味する。従って、第1パリティビットPR1と第2パリティビットPR2とが不一致である場合、パリティ比較回路150は、CPU120に割り込み信号106を出力する。上述のAND回路112、113、及びパリティ比較回路150は、パリティ処理回路を構成している。書き込みアクセス時、パリティ処理回路は、第1パリティビットPR1をメモリ110のパリティ領域110Bに書き込む。読み出しアクセス時、パリティ処理回路は、第1パリティビットPR1と第2パリティビットPR2とを比較する。そして、第1パリティビットPR1と第2パリティビットPR2とが不一致である場合、パリティ処理回路は、割り込み信号106をCPU120に出力する。2.動作2-1.動作フロー図2は、本形態に係るマイクロコンピュータ100の動作を示すフローチャートである。図1及び図2を参照して、本形態に係るマイクロコンピュータ100の動作フローを説明する。尚、アクセスデータ幅は8ビットあるいは16ビットであり、XOR処理器130が用いる係数は、8ビットの場合1であり、16ビットの場合3であるとする。CPU120は、アドレスバス101を通してアドレス信号をメモリ110に供給するステップS201。CPU120は、メモリアクセスの種類を判断するステップS202。書き込みアクセスの場合ステップS202;Yes、CPU120は、メモリ書き込み信号103を出力し、また、データバス102を通して書き込みデータをメモリ110に供給するステップS203。一方、読み出しアクセスの場合ステップS202;No、CPU120は、メモリ読み出し信号104を出力し、また、データバス102を通して読み出しデータをメモリ110から受け取るステップS204。また、CPU120は、アクセスデータ幅を示すデータバスサイズ指定信号105をXOR処理器130に出力する。XOR処理器130は、データバスサイズ指定信号105によって指定されたアクセスデータ幅が8ビットか16ビットかを判定するステップS205。8ビットの場合ステップS205;Yes、XOR処理器130は、係数1とアクセス対象データとのXOR演算を行い、XOR演算結果131をパリティ生成回路140に出力するステップS206。一方、16ビットの場合ステップS205;No、XOR処理器130は、係数3とアクセス対象データとのXOR演算を行い、XOR演算結果131をパリティ生成回路140に出力するステップS207。パリティ生成回路140は、XOR演算結果131に基づいて、第1パリティビットPR1を生成するステップS208。書き込みアクセスの場合ステップS209;Yes、第1パリティビットPR1が、書き込みアドレスに対応するパリティ領域110B中のアドレスに格納されるステップS210。そして、メモリアクセス処理が終了する。一方、読み出しアクセスの場合ステップS209;No、第2パリティビットPR2が、読み出しアドレスに対応するパリティ領域110B中のアドレスから読み出される。パリティ比較回路150は、第1パリティビットPR1と第2パリティビットPR2を受け取り、それら第1パリティビットPR1と第2パリティビットPR2の比較を行うステップS211。第1パリティビットPR1と第2パリティビットPR2が一致している場合ステップS211;Yes、メモリアクセス処理は終了する。一方、第1パリティビットPR1と第2パリティビットPR2とが不一致である場合ステップS211;No、パリティ比較回路150は、CPU120に割り込み信号106を出力するステップS212。割り込み信号106を受け取ると、CPU120は、メモリアクセスにおいて異常が発生したと判断し、異常発生に対応する処理を行うステップS213。2-2.動作例図3は、本実施の形態に係るマイクロコンピュータ100が図4に示されるプログラムを実行する場合の動作例を示すフローチャートである。図3及び図4を参照して、本実施の形態の動作の一例を説明する。図4に示されるプログラムは、3つの関数func1、func2、mainを含んでいる。関数func1において利用されるchar型の変数Aと、関数func2において利用されるint型の変数Bは、共に自動変数であり、スタックポインタ上の同じメモリアドレスに定義されるとする。また、char型の変数Aは8ビットであり、int型の変数Bは16ビットであるとする。プログラムは、13行目の関数mainから開始する。14行目で関数func1が呼び出され、1~6行目に記述されている関数func1の処理が実行される。関数func1は、3行目でchar型の変数Aに値を設定し、4行目で変数Aの値を参照する。処理が関数mainに戻った後、15行目で関数func2が呼び出され、7~12行目に記述されている関数func2の処理が実行される。関数func2は、9行目でint型の変数Bに値を設定し、10行目で変数Bの値を参照する。ステップS301:CPU120が図4に示されるプログラムの実行を開始すると、まず、関数func1が呼び出される。ステップS302:3行目で、char型の変数Aに0が設定される。この場合、メモリ110のデータ領域110A中の第1アドレスにデータ0が書き込まれるステップS203。アクセス対象がchar型の変数A8ビットであるためステップS205;Yes、XOR処理器130は、8ビット用の係数1と書き込みデータ0とのXOR演算を実行し、XOR演算結果1をパリティ生成回路140に出力するステップS206。本例では、パリティ生成回路140は、偶数パリティモードでパリティビットを生成するとする。この場合、パリティ生成回路140は、XOR演算結果1に基づいて、パリティビット1を生成するステップS208。生成されたパリティビット1は、メモリ110のパリティ領域110B中の対応アドレスに格納されるステップS210。ステップS303:4行目で、演算のため、変数Aの値が参照される。この場合、メモリ110のデータ領域110A中の第1アドレスからデータ0が読み出されるステップS204。アクセス対象がchar型の変数A8ビットであるためステップS205;Yes、XOR処理器130は、8ビット用の係数1と読み出しデータ0とのXOR演算を実行し、XOR演算結果1をパリティ生成回路140に出力するステップS206。パリティ生成回路140は、XOR演算結果1に基づいて、パリティビット1を生成するステップS208。パリティ比較回路150は、本ステップS303で生成されたパリティビット1第1パリティビットPR1と、ステップS302で格納された対応するパリティビット1第2パリティビットPR2とを比較するステップS211。両者は一致するためステップS211;Yes、読み出しアクセス処理は正常に終了する。ステップS304:関数func1が終了し、処理は関数mainに戻る。ステップS305:次に、関数func2が呼び出される。ここで、正常動作の場合ステップS306;Yes、ステップS307~S309と、異常メモリアクセスが発生する場合ステップS306;No、ステップS310の2通りを考える。ステップS307:まず、正常動作の場合、9行目で、int型の変数Bに8が設定される。この場合、メモリ110のデータ領域110A中の第1アドレスにデータ8が書き込まれるステップS203。アクセス対象がint型の変数B16ビットであるためステップS205;No、XOR処理器130は、16ビット用の係数3と書き込みデータ8とのXOR演算を実行し、XOR演算結果11をパリティ生成回路140に出力するステップS206。パリティ生成回路140は、XOR演算結果11に基づいて、パリティビット1を生成するステップS208。生成されたパリティビット1は、メモリ110のパリティ領域110B中の対応アドレスに格納されるステップS210。ステップS308:10行目で、演算のため、変数Bの値が参照される。この場合、メモリ110のデータ領域110A中の第1アドレスからデータ8が読み出されるステップS204。アクセス対象がint型の変数B16ビットであるためステップS205;No、XOR処理器130は、16ビット用の係数3と読み出しデータ8とのXOR演算を実行し、XOR演算結果11をパリティ生成回路140に出力するステップS206。パリティ生成回路140は、XOR演算結果11に基づいて、パリティビット1を生成するステップS208。パリティ比較回路150は、本ステップS308で生成されたパリティビット1第1パリティビットPR1と、ステップS307で格納された対応するパリティビット1第2パリティビットPR2とを比較するステップS211。両者は一致するためステップS211;Yes、読み出しアクセス処理は正常に終了する。ステップS309:関数func2が終了し、処理は関数mainに戻る。次に、異常メモリアクセスハードウェア起因/ソフトウェア起因が発生する場合を考える。例として、9行目のB=8でメモリアクセスに異常が発生し、メモリ110のデータ領域110A中の第1アドレスにデータ8が書き込まれなかったとする。ステップS310:10行目で、演算のため、変数Bの値が参照される。この場合、メモリ110のデータ領域110A中の第1アドレスから、上記ステップS302で書き込まれたデータ0が読み出されるステップS204。しかしながら、アクセス対象がint型の変数B16ビットであるためステップS205;No、XOR処理器130は、16ビット用の係数3と読み出しデータ0とのXOR演算を実行し、XOR演算結果3をパリティ生成回路140に出力するステップS206。パリティ生成回路140は、XOR演算結果3に基づいて、パリティビット0を生成するステップS208。パリティ比較回路150は、本ステップS310で生成されたパリティビット0第1パリティビットPR1と、上記ステップS302で格納された対応するパリティビット1第2パリティビットPR2とを比較するステップS211。両者は不一致であるためステップS211;No、パリティ比較回路150は、CPU120に割り込み信号106を出力するステップS212。割り込み信号106を受け取ると、CPU120は、メモリアクセスにおいて異常が発生したと判断し、異常発生に対応する処理を行うステップS213。3.効果以上に説明されたように、本実施の形態のマイクロコンピュータ100によれば、メモリ110に対する異常アクセスや不正アクセスの発生を検出することが可能である。例えば、アクセス対象の変数型の不一致を検出することができる。このとき、上述の特許文献1のようにパリティモードを切り替える必要はない。すなわち、本実施の形態によれば、余計な命令コードを追加することなく、マイクロコンピュータ100における異常メモリアクセスの発生を検出することが可能となる。以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。