書き換え対象プログラムを記憶する記憶部と、ここで、前記書き換え対象プログラムは、前記書き換え対象プログラムが、CPUにより実行される際に、前記書き換え対象プログラム自身を書き換えるプログラムであり、前記CPUにより実行される前記書き換え対象プログラムが、前記書き換え対象プログラムを読み出す際に参照する仮想アドレスと、物理アドレスとの対応を管理する読出アドレス管理部と、前記CPUにより実行される前記書き換え対象プログラムが、前記書き換え対象プログラムを書き換える際に参照する仮想アドレスと、物理アドレスとの対応を管理する書込アドレス管理部とを備えるメモリ。読出アドレス管理部が、書き換え対象プログラムの読み出し時の仮想アドレスと、記憶部の物理アドレスとの対応を、読出アドレス管理情報に記憶するステップと、書込アドレス管理部が、書き換え対象プログラムの書き換え時の仮想アドレスと、記憶部の物理アドレスとの対応を、書込アドレス管理情報に記憶するステップと、書込アドレス管理部が、前記書込アドレス管理情報に基づいて、書き換え対象プログラムの仮想アドレスから、記憶部の物理アドレスを特定するステップと、書込アドレス管理部が、前記特定するステップで特定した書き換え対象プログラム領域と、同一のサイズの領域を新規に記憶部に割り当てるステップと、書込アドレス管理部が、前記新規に記憶部に割り当てるステップで割り当てた前記書き換え対象プログラムの物理アドレスで、前記書込アドレス管理情報を更新するステップと、書込アドレス管理部が、前記更新するステップで更新した前記書込アドレス管理情報に基づき、書き換え対象プログラムを書き換えるステップと、読出アドレス管理部が、アドレス切替信号を受信するステップと、読出アドレス管理部が、前記アドレス切替信号契機で、前記更新するステップで更新した前記書き換え対象プログラムの前記物理アドレスで、前記読出アドレス管理情報を更新するステップとを含むメモリ上のプログラム書き換え方法。請求項2に記載のメモリ上のプログラム書き換え方法をメモリ制御部に実行させるためのプログラム。メモリ領域を圧迫せずに、書き換えプログラムを複数作成および別領域への転送をすることなく、メモリ上のプログラムを自己書き換えできるメモリが求められている。上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、[特許請求の範囲]の記載と[発明を実施するための形態]の記載との対応関係を明らかにするために、[発明を実施するための形態]で使用される番号符号が付加されている。ただし、付加された番号符号は、[特許請求の範囲]に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。本発明のメモリは、書き換え対象プログラムを記憶する記憶部2と、CPUにより実行される前記書き換え対象プログラムが、前記書き換え対象プログラムを読み出す際に参照する仮想アドレスと、物理アドレスとの対応を管理する読出アドレス管理部4と、前記CPUにより実行される前記書き換え対象プログラムが、前記書き換え対象プログラムを書き換える際に参照する仮想アドレスと、物理アドレスとの対応を管理する書込アドレス管理部5とを備える。本発明のメモリ上のプログラム書き換え方法は、読出アドレス管理部4が、書き換え対象プログラムの読み出し時の仮想アドレスと、記憶部の物理アドレスとの対応を、読出アドレス管理情報6に記憶するステップと、書込アドレス管理部5が、書き換え対象プログラムの書き換え時の仮想アドレスと、記憶部の物理アドレスとの対応を、書込アドレス管理情報7に記憶するステップと、書込アドレス管理部5が、前記書込アドレス管理情報7に基づいて、書き換え対象プログラムの仮想アドレスから、記憶部の物理アドレスを特定するステップと、書込アドレス管理部5が、前記特定するステップで特定した書き換え対象プログラム領域と、同一のサイズの領域を新規に記憶部に割り当てるステップと、書込アドレス管理部5が、前記新規に記憶部に割り当てるステップで割り当てた前記書き換え対象プログラムの物理アドレスで、前記書込アドレス管理情報7を更新するステップと、書込アドレス管理部5が、前記更新するステップで更新した前記書込アドレス管理情報7に基づき、書き換え対象プログラムを書き換えるステップと、読出アドレス管理部4が、アドレス切替信号を受信するステップと、読出アドレス管理部4が、前記アドレス切替信号契機で、前記更新するステップで更新した前記書き換え対象プログラムの前記物理アドレスで、前記読出アドレス管理情報6を更新するステップとを含む。本発明によれば、メモリ領域を圧迫せずに、書き換えプログラムを複数作成および別領域への転送することなく、メモリ上のプログラムを自己書き換えできるメモリを提供することができる。添付図面を参照して、本発明の実施形態によるメモリ10を以下に説明する。[構成の説明]はじめに、本実施形態におけるメモリ10の構成の説明を行う。図1は、本発明の実施形態におけるメモリ10のブロック図である。本実施形態におけるメモリ10は、メモリ制御部1及び記憶部2を備える。メモリ制御部1は、アドレス切替部3を備え、アドレス切替部3は、読出アドレス管理部4及び書込アドレス管理部5を備える。メモリ制御部1は、記憶部2に記憶されているデータや命令の読み込み、及び書き込みを制御する。記憶部2は、フラッシュメモリ等の記憶媒体である。アドレス切替部3は、記憶部2からデータや命令を読み出す際には、読出アドレスを使用し、記憶部2にデータや命令を書き込む際には、書込アドレスを使用し、読出アドレスと書込アドレスを、排他的に切り替える。読出アドレス管理部4は、CPUにより実行されるプログラムが、記憶部2に記憶されたデータや命令を読み出す際に参照する読出アドレス管理情報4を管理する。読出アドレス管理情報4は、データや命令の読み出し時に、プログラムが参照する仮想アドレスと、物理アドレスとの対応を管理する情報である。書込アドレス管理部5は、CPUにより実行されるプログラムが、記憶部2に記憶されたデータや命令を書き込む際に参照する書込アドレス管理情報7を管理する。書込アドレス管理情報7は、データや命令の書込み時に、プログラムが参照する仮想アドレスと、物理アドレスとの対応を管理する情報である。図3は、本発明の実施形態におけるメモリ10において、書き換え対象プログラムの書き換え前の状態を示す図である。読出アドレス管理部4の読出アドレス管理情報6と、書込アドレス管理部5の書込アドレス管理情報7は、書き換え対象プログラムが記憶されている領域として、同一の物理メモリ領域8を参照している。なお、書き換え対象プログラムには、当該書き換え対象プログラムの実行中に、書き換えられないプログラムが含まれていてもよい。本実施形態のメモリ10をマイクロコントローラに搭載すれば、読出アドレス管理部4及び書込アドレス管理部5により、記憶部2に記憶された書き換え対象プログラムに対して、読出アドレスと、書込アドレスを排他的に切り替えることができる。[動作方法の説明]次に、本実施形態におけるメモリにおいて、メモリ上のプログラム書き換え方法の説明を行う。図2は、本発明の実施形態におけるメモリ10において、プログラム書き換え方法のフローチャートである。ステップS1メモリ制御部1は、CPUから、書き換え対象プログラムの割当信号を受信する。ステップS2書込アドレス管理部5は、読出アドレス管理情報6を参照し、仮想アドレスから、書き換えプログラムが記憶されている物理アドレスとサイズを特定する。書込アドレス管理部5は、特定した物理アドレスと同一のサイズの領域を、書き換え対象プログラムの書き換え用に、記憶部2の別の物理アドレスに新規に割り当て、書込アドレス管理情報7に記憶する。また、書込アドレス管理部5は、書込アドレス管理情報7から、書き換え対象プログラムに割り当てられていた旧物理アドレス情報を削除する。図4は、本発明の実施形態におけるメモリ10において、割当信号受信時の状態を示す図である。読出アドレス管理部4の読出アドレス管理情報6は、物理メモリ領域8を参照している。書込アドレス管理部5の書込アドレス管理情報7が参照する物理アドレスは、ステップS2の処理により、物理メモリ領域8から物理メモリ領域9に切り替えられている。ステップS3メモリ制御部1は、CPUから、記憶部2に新規に割り当てた物理アドレス領域に対する消去信号を受信する。ステップS4書込アドレス管理部5は、書込アドレス管理情報7を参照し、新規に割り当てた物理アドレス領域を特定し、新規に割り当てた物理アドレス領域上のデータを消去する。なお、ステップS1の割当信号と、ステップS3の消去信号は、1つの信号で行われていてもよい。この場合、信号受信時に、記憶部2の割り当てと、割り当て領域のデータ消去が同時に行われる。ステップS5メモリ制御部1は、CPUから、データ書換信号を受信する。ステップS6書込アドレス管理部5は、書込アドレス管理情報7を参照し、新規に割り当てた物理アドレス領域を特定し、新規に割り当てた物理アドレス領域上で、書き換え対象プログラムを書き換える。図5は、本発明の実施形態におけるメモリ10において、書き換え対象プログラムの書き換え時の状態を示す図である。読出アドレス管理部4により、書き換え対象プログラムが読み出される場合には、物理メモリ領域8が参照されている。書込アドレス管理部5により、書き換え対象プログラムが書き換えられる場合には、物理メモリ領域9が参照されている。ステップS7メモリ制御部1は、CPUから、書き換え対象プログラムの書き換えが終了したかアドレス切替信号を受信したかどうかを確認する。アドレス切替信号を受信した場合には、ステップS8の処理に進み、アドレス切替信号を受信していない場合には、ステップS5の処理に進む。ステップS8読出アドレス管理部4は、書込アドレス管理情報7を参照し、書き換え対象プログラムの書き換えのために、新規に割り当てた物理アドレス領域を特定し、読出アドレス管理情報6の書き換え対象プログラムのアドレス領域を、新規に割り当てた物理アドレス領域で更新する。読出アドレス管理部4は、書き換え対象プログラムの旧物理アドレス領域を消去する。図6は、本発明の実施形態におけるメモリ10において、アドレス切替信号受信時の状態を示す図である。読出アドレス管理部4の読出アドレス管理情報6が参照する物理アドレスは、ステップS8の処理により、物理メモリ領域8から物理メモリ領域9に切り替えられている。ステップS8の処理の終了後、読出アドレス管理部4の読出アドレス管理情報6と、書込アドレス管理部5の書込アドレス管理情報7が参照する書き換え対象プログラムの物理アドレスは、同一の物理アドレス領域9になる。ステップS8で、読出アドレス管理情報が更新されるまでは、読出アドレス管理部4が保持している読出アドレス管理情報6は、変更されていないため、書き換え対象プログラムが実行中であっても、同一命令の実行が可能な状態が維持されている。そのため、書き換え前のプログラムコードをRAMRandomAccessMemory等の別の記憶媒体へ転送する必要がない。本実施形態によれば、メモリ上のプログラムが実行中であっても、メモリ領域を圧迫せずに、当該プログラムを自己書き換えできるメモリを提供することができる。以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。