(57)【要約】【課題】簡易な方法でかつ柔軟にメモリの領域設定を行うことが可能なメモリ制御装置及びメモリ制御方法を提供すること。【解決手段】プログラムを実行するための命令が記憶されたメモリ、命令に対応するアドレスが順番に格納され、アドレスを逐次読み出して対応する命令を特定するプログラムカウンタにより特定された命令に従ってプログラムを実行する中央処理装置を含むマイクロコンピュータシステムにおけるメモリを制御するメモリ制御装置であって、プログラムカウンタに格納されたアドレスを保持する指定アドレスレジスタと、指定アドレスに対応するメモリの変換前命令と異なる変換後命令を保持する変換後命令保持部と、プログラムカウンタから読み出されたアドレスと指定アドレスレジスタに保持された指定アドレスとが一致した場合に変換後命令をプログラムを実行するための命令として中央処理装置に送る命令変換部と、を備える。【選択図】図２
2020009498.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを実行するための命令が記憶されたプログラム領域、プログラムの実行に伴うデータが記憶されるデータ領域、及びメモリ空間の分割方法を指定する書き換え設定データが記憶された設定データ領域を含むメモリ、及び、前記プログラムに従って前記メモリに記憶された命令を逐次特定してプログラムを実行する中央処理装置を含むマイクロコンピュータシステムにおける前記メモリを制御するメモリ制御装置であって、
前記書き換え設定データの値を保持する書き換え設定レジスタと、
前記設定データ領域を読み出し、読み出した書き換え設定データの値を前記書き換え設定レジスタに保持させると共に、前記書き換え設定レジスタに保持された前記書き換え設定データの値に基づいて前記メモリ空間の領域分割を設定する設定部と、
を備えるメモリ制御装置。
【請求項２】
前記書き換え設定データは、前記領域分割によって新たに追加されるプログラム領域である書き換えプログラム領域を設定するか否かを示す書き換えアクセプタデータ、書き換えプログラム領域の開始アドレスを示す書き換えプログラム領域開始アドレスデータ、及び書き換えプログラム領域の分割数を示す書き換え領域分割設定データを含み、
前記設定部は、
前記書き換えアクセプタデータで書き換えプログラム領域を設定しないとされている場合には、前記メモリのプログラム領域の全領域を書き込み及び消去が不能な固定プログラム領域とし、
前記書き換えアクセプタデータで書き換えプログラム領域を設定するとされている場合で、かつ前記書き換え領域分割設定データで分割数が１と設定されている場合には、前記固定プログラム領域に加えて１つの書き込み及び消去が可能な書き換えプログラム領域を分割して設定し、
前記書き換えアクセプタデータで書き換えプログラム領域を設定するとされている場合で、かつ前記書き換え領域分割設定データで分割数が２と設定されている場合には、前記固定プログラム領域に加えて１つの書き込み及び消去が可能な書き換えプログラム領域と１つの書き込み及び消去が不能な書き換えプログラム領域との２つの書き換えプログラム領域を分割して設定する
請求項１に記載のメモリ制御装置。
【請求項３】
前記書き換え設定データは、前記書き換え領域分割設定データで分割数が２と設定されている場合において、前記２つの書き換えプログラム領域の一方を書き込み及び消去が可能な領域とし、他方を書き込み及び消去が不能な領域とするアクセス領域指定データをさらに含み、
前記設定部は、前記アクセス領域指定データを切り換えることによって、前記２つの書き換えプログラム領域の書き込み及び消去の可能及び不能を切り換える
請求項２に記載のメモリ制御装置。
【請求項４】
プログラムを実行するための命令が記憶されたプログラム領域、プログラムの実行に伴うデータが記憶されるデータ領域、及びメモリ空間の分割方法を指定する書き換え設定データが記憶された設定データ領域を含むメモリ、及び、前記プログラムに従って前記メモリに記憶された命令を逐次特定してプログラムを実行する中央処理装置を含むマイクロコンピュータシステムにおける前記メモリを制御するメモリ制御方法であって、
設定部により、前記設定データ領域を読み出し、読み出した書き換え設定データの値を書き換え設定レジスタに保持させると共に、前記書き換え設定レジスタに保持された前記書き換え設定データの値に基づいて前記メモリ空間の領域分割を設定する
メモリ制御方法。
【請求項５】
前記書き換え設定データは、前記領域分割によって新たに追加されるプログラム領域である書き換えプログラム領域を設定するか否かを示す書き換えアクセプタデータ、書き換えプログラム領域の開始アドレスを示す書き換えプログラム領域開始アドレスデータ、及び書き換えプログラム領域の分割数を示す書き換え領域分割設定データを含み、
前記設定部による設定は、
前記書き換えアクセプタデータで書き換えプログラム領域を設定しないとされている場合には、前記メモリのプログラム領域の全領域を書き込み及び消去が不能な固定プログラム領域とし、
前記書き換えアクセプタデータで書き換えプログラム領域を設定するとされている場合で、かつ前記書き換え領域分割設定データで分割数が１と設定されている場合には、前記固定プログラム領域に加えて１つの書き込み及び消去が可能な書き換えプログラム領域を分割して設定し、
前記書き換えアクセプタデータで書き換えプログラム領域を設定するとされている場合で、かつ前記書き換え領域分割設定データで分割数が２と設定されている場合には、前記固定プログラム領域に加えて１つの書き込み及び消去が可能な書き換えプログラム領域と１つの書き込み及び消去が不能な書き換えプログラム領域との２つの書き換えプログラム領域を分割して設定することを含む
請求項４に記載のメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御装置及びメモリ制御方法に関し、特に、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央演算処理装置）及びその制御下にあるメモリを備えたマイクロコンピュータシステムにおいて、該メモリの記憶領域等の制御を実行するメモリ制御装置及びメモリ制御方法に関する。
【背景技術】
【０００２】
マイクロコンピュータシステムにおいて処理の対象となるプログラムデータは、通常記憶装置（メモリ、例えばフラッシュ（ＦＬＡＳＨ）メモリ等の不揮発性メモリ）に格納されている。そして、該プログラムに基づく所定の処理の実行は、ＣＰＵが具備するプログラムカウンタ（ＰＣ）でプログラムデータが格納されたメモリのアドレスが逐次指定され、当該アドレスのプログラムデータが読み出され、そのプログラムデータを命令として実行することにより行われる。
【０００３】
ＣＰＵによる処理の実行においては、プログラム上の不具合の修正等のために、処理の内容や順序の変更等を要求される場合がある。処理を変更させる従来技術の一例として、リマップがある。リマップとは、ＰＣに基づくプログラムの実行中において、ＰＣで指定されたメモリの領域に、ＣＰＵが本来実行するプログラム空間とは異なったプログラム空間が見えるようにし、その異なったプログラム空間の命令を実行させることにより処理の内容を変更する技術である。
【０００４】
上記のようなリマップ機能について開示した文献として、特許文献１に記載された割り込み制御装置がある。特許文献１に開示された割り込み制御装置は、ＣＰＵ、メモリ、割り込みコントローラ、リマップ回路を含み、リマップ回路は、リマップレジスタ領域と、セレクタとを含んで構成されている。リマップレジスタ領域は、割り込み要求の数に対応した数のレジスタで構成されており、各レジスタは、同一のメモリ上のアドレスにマッピングされるレジスタであって、各レジスタには、割り込み要求番号に対応した割り込み処理ルーチンへのジャンプ命令が格納されている。セレクタは、割り込みコントローラから通知された割り込み要求番号に基づいて、リマップレジスタ領域内のレジスタから、割り込み要求に対応した割り込み処理ルーチンへのジャンプ命令が格納されたレジスタを１つ選択して、メモリ上の割り込みベクタアドレスにマッピングすることにより、マッピング機能を実現している。
【０００５】
一方、メモリは、プログラム領域、データ領域等の特定の属性を伴った領域に分割されているのが一般的である。プログラム領域とは、プログラム処理の命令を記憶しておく領域である。また、データ領域とは、プログラム処理に伴って必要となるデータを記憶する領域であり、プログラム処理の実行に際しデータが読み出されたり、書き込まれたりする領域である。また、メモリの特定の領域を、書き換え可能領域、あるいは書き換え不可（ライトプロテクト）領域として指定したい場合もある。
【０００６】
読み出し、書き込みの制御に関する従来技術として、フラッシュメモリ等のメモリの一部に予め所定のデータを配置しておき、そのデータをフラッシュメモリに搭載されているロジック回路で読み込み、そのデータのコードオプションを用いて外部からメモリをコントロールすることにより、読み出し、あるいは書き込み機能を制限するブロックイネーブルなどが知られている。
【０００７】
また、ライトプロテクト機能のない不揮発性メモリにおいて、不揮発性のライトプロテクトを実現する従来技術として、特許文献２に開示された半導体情報処理装置が知られている。特許文献２に開示された半導体情報処理装置では、ライトプロテクトを行いたいエリアのアドレスを格納するライトプロテクト保存レジスタが、フラッシュメモリのアトリビュート領域に設定され、このライトプロテクト保存レジスタを用いてシステムからプロテクト範囲が設定されるようになっている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１２−１４１６６７号公報
【特許文献２】特開２００７−２０７２７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に開示されたようなリマップでは、ＰＣを指定することによって、通常のメモリ領域とは異なる領域のデータをＣＰＵに見せるという方法でプログラムを実行するため、そのプログラム領域の確保が必要となり、メモリの容量の制限等の理由から、同時に多くのリマップ機能を使用することは難しいという問題点があった。
【００１０】
また、特許文献２に開示されたようなライトプロテクトでは、メモリに対しアクセスの制限を設定することはできるが、メモリのブロック単位での、書き込み、読み出し、あるいは消去といった動作を禁止することしかできず、様々なソフトウエア・アプリケーションに合わせて、メモリを使用することができないという問題点があった。
【００１１】
本発明は、上述した課題を解決するためになされたものであり、簡易な方法でかつ柔軟にメモリの領域設定を行うことが可能なメモリ制御装置及びメモリ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
また、本発明に係るメモリ制御装置は、プログラムを実行するための命令が記憶されたプログラム領域、プログラムの実行に伴うデータが記憶されるデータ領域、及びメモリ空間の分割方法を指定する書き換え設定データが記憶された設定データ領域を含むメモリ、及び、前記プログラムに従って前記メモリに記憶された命令を逐次特定してプログラムを実行する中央処理装置を含むマイクロコンピュータシステムにおける前記メモリを制御するメモリ制御装置であって、前記書き換え設定データの値を保持する書き換え設定レジスタと、前記設定データ領域を読み出し、読み出した書き換え設定データの値を前記書き換え設定レジスタに保持させると共に、前記書き換え設定レジスタに保持された前記書き換え設定データの値に基づいて前記メモリ空間の領域分割を設定する設定部と、を備える。
【００１３】
また、本発明に係るメモリ制御方法は、プログラムを実行するための命令が記憶されたプログラム領域、プログラムの実行に伴うデータが記憶されるデータ領域、及びメモリ空間の分割方法を指定する書き換え設定データが記憶された設定データ領域を含むメモリ、及び、前記プログラムに従って前記メモリに記憶された命令を逐次特定してプログラムを実行する中央処理装置を含むマイクロコンピュータシステムにおける前記メモリを制御するメモリ制御方法であって、設定部により、前記設定データ領域を読み出し、読み出した書き換え設定データの値を書き換え設定レジスタに保持させると共に、前記書き換え設定レジスタに保持された前記書き換え設定データの値に基づいて前記メモリ空間の領域分割を設定する。
【発明の効果】
【００１４】
本発明によれば、簡易な方法でかつ柔軟にメモリの領域設定を行うことが可能なメモリ制御装置及びメモリ制御方法を提供することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】実施の形態に係るマイクロコンピュータシステムの構成の一例を示す機能ブロック図である。
【図２】第１の実施の形態に係るメモリ制御装置の構成の一例を示す機能ブロック図、及び命令変換レジスタセット内容の一例を示す模式図である。
【図３】第１の実施の形態に係る命令変換部の構成の一例を示す機能ブロック図である。
【図４】第１の実施の形態に係る設定回路を用いた命令変換を説明するための模式図である。
【図５】第２の実施の形態に係るメモリ制御装置の構成の一例を示す機能ブロック図、及び命令変換レジスタセット内容の一例を示す模式図である。
【図６】第２の実施の形態に係る設定レジスタを用いた命令変換を説明するための模式図である。
【図７】第３の実施の形態に係る複数のプログラムカウンタによる命令変換を説明するための模式図である。
【図８】第４の実施の形態に係るメモリ制御装置の構成の一例を示す機能ブロック図、及び書き換え設定レジスタセットの内容の一例を示す模式図である。
【図９】第４の実施の形態に係るメモリ制御装置の動作を説明するための模式図である。
【図１０】第４の実施の形態に係るメモリの領域分割の一例を示す模式図である。
【図１１】第４の実施の形態に係るメモリの領域分割の一例を示す模式図である。
【図１２】第４の実施の形態に係るメモリの領域分割の一例を示す模式図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明を実施するための形態について詳細に説明する。
【００１７】
［第１の実施の形態］
図１ないし図４を参照して、本実施の形態に係るメモリ制御装置について説明する。本実施の形態に係るメモリ制御装置は、予め設けた設定回路でＣＰＵのプログラムカウンタ（ＰＣ）を指定することにより、指定されたＰＣの命令が、メモリに格納された本来実行すべき命令ではなく、ハードウエアで疑似的に設定された命令に変換され、ＣＰＵによって当該変換された命令が実行される機能（命令変換機能）を有する。以下では、変換後に実行される命令が、ジャンプ命令（擬似ジャンプ命令）である場合を例示して説明する。
【００１８】
図１は、実施の形態に係るマイクロコンピュータシステム１を示す機能ブロック図である。図１に示すように、マイクロコンピュータシステム１は、メモリ制御装置１０、メモリ１２、及びＣＰＵ１４を含んで構成されている。メモリ制御装置１０は、本実施の形態に係るメモリ制御装置である。メモリ１２の種類は特に限定されないが、本実施の形態では、フラッシュメモリのような不揮発性メモリを想定している。ＣＰＵ１４は、一般的なＣＰＵであり、内部にプログラムカウンタ１４０を備えている。
【００１９】
図２（ａ）に本実施の形態に係るメモリ制御装置１０の機能ブロック図を示す。図２（ａ）に示すように、メモリ制御装置１０は、命令変換部１００、変換後命令設定回路１１２、及び命令変換レジスタセット１２０を含んで構成されている。
【００２０】
図２（ｂ）に、本実施の形態に係る命令変換レジスタセット１２０に含まれるレジスタの内容を示す。図２（ｂ）に示すように、命令変換レジスタセット１２０は、以下の３つのレジスタが含まれている。
【００２１】
すなわち、「ＰＣＯＮ」レジスタは、メモリ制御装置１０の命令変換機能を使用するか否かについての指定を格納するレジスタであり、本実施の形態では、論理値＝１で使用する、論理値＝０で使用しないとしている。むろんこの対応関係は逆の論理値であってもよい。「ＣＳＲ」レジスタは、命令変換の対象となるＰＣ（以下、「指定ＰＣ」という）の、メモリ１２におけるセグメントデータを格納するレジスタである。「ＰＣ指定」レジスタは、指定ＰＣのアドレスデータを格納するレジスタである。
【００２２】
変換後命令設定回路１１２は、変換後の命令を設定する回路であり、当該命令を４桁の１６進数で指定するハードウエア回路である。
【００２３】
図３（ａ）に本実施の形態に係る命令変換部１００の構成の一例を示す。図３（ａ）に示すように、命令変換部１００は、ＡＮＤ回路１０２、ＯＲ回路１０４、及びセレクタ１０６、１０８、１１０を含んで構成されている。各セレクタに付与された（１）及び（０）は入力端子を表す符合であり、各々セレクト信号の論理値が「１」の場合に、及び「０」の場合に選択される入力端子であることを示している。命令変換部１００の一部である、ＡＮＤ回路１０２、ＯＲ回路１０４、及びセレクタ１０６、１０８を含む回路を、便宜上「選択回路１１４」といい、選択回路１１４におけるＡＮＤ回路１０２の出力端子を符号「ａ」で表記し、セレクタ１０６の出力端子を符号「ｂ」で表記する。
【００２４】
図３（ａ）に示すように、変換後命令設定回路１１２の出力「ＩＮＳＴ１」及び「ＩＮＳＴ２」は、セレクタ１０６の（１）入力端子、及びセレクタ１０８の（１）端子入力に各々接続されている。なお、変換後の命令を示す変換後命令設定回路１１２の出力が２つあるのは、本実施の形態で想定しているジャンプ命令が２ワードで構成されるためであり、各々４桁の１６進数で表されている。変換後命令ＩＮＳＴ１が上位１ワード分の命令を、変換後命令ＩＮＳＴ２が下位１ワード分の命令を各々示している。むろん、変換後命令が１ワード命令の場合は、変換後命令設定回路１１２の出力は、１つの変換後命令ＩＮＳＴである。
【００２５】
次に、命令変換部１００の動作について説明する。まず、指定ＰＣのセグメントデータをＣＳＲレジスタに、指定ＰＣのアドレスデータをＰＣ指定レジスタに設定し、本来実行されるべき命令を疑似ジャンプ命令に変換したいＰＣを設定する。次に、ＰＣＯＮレジスタを論理値「１」に設定して、本命令変換機能を使用することを指定する。
【００２６】
ＰＣＯＮレジスタが有効の場合、ＣＰＵが保有するＰＣのセグメントデータ（ＣＰＵ＿ＣＳＲ）とＣＳＲレジスタのセグメントデータとの比較処理、及びＣＰＵが保有するＰＣのアドレスデータ（ＣＰＵ＿ＰＣ）とＰＣ指定レジスタのアドレスデータとの比較処理が実行される。比較結果が一致しない場合は何も処理を行わないが、一致した場合は、ＣＰＵに出力されるデータＣＰＵ_ＤＩＮが、メモリに記憶されているデータ（メモリデータ）から、変換後命令設定回路１１２が出力する変換後命令ＩＮＳＴ１及びＩＮＳＴ２、すなわち、本実施の形態では、疑似ジャンプ命令１及び擬似ジャンプ命令２のデータに変換される。
【００２７】
以上の動作を実現する回路の一例について、図３（ａ）に示す命令変換部１００のブロック図に基づいて説明する。なお、図３（ａ）において、記号Ｘ==Ｙは、ＸとＹが一致した場合には論理値「１」とし、一致しない場合には論理値「０」とすることを表記する記号である。すなわち、ＰＣＯＮレジスタと１が比較され一致した場合（つまり、ＰＣＯＮレジスタの値が「１」の場合）に論理値「１」とされ、ＣＳＲレジスタとＣＰＵ＿ＣＳＲとの比較結果が一致した場合に論理値「１」とされ、ＰＣ指定レジスタとＣＰＵ＿ＰＣとの比較結果が一致した場合には論理値「１」とされる。
【００２８】
ＡＮＤ回路１０２は３入力ＡＮＤ回路であり、ＰＣＯＮレジスタの論理値と、ＣＳＲレジスタとＣＰＵ＿ＣＳＲとの比較結果と、ＰＣ指定レジスタとＣＰＵ＿ＰＣとの比較結果が入力さる。ＡＮＤ回路１０２の出力は、３つの入力の論理値がすべて「１」の場合に「１」を出力し、その他の場合に論理値「０」を出力する。
【００２９】
ＡＮＤ回路１０２の出力によってセレクタ１１０が切り換えられ、ＡＮＤ回路１０２の出力が「０」の場合にはメモリ１２に記憶されたデータであるメモリデータが、ＡＮＤ回路１０２の出力が「１」の場合には擬似ジャンプ命令が選択され、ＣＰＵ＿ＤＩＮデータとしてバス１６に出力される。出力されたＣＰＵ＿ＤＩＮデータはＣＰＵ１４に取り込まれ、実行される。
【００３０】
ＯＲ回路１０４は２入力ＯＲ回路であり、ＰＣ指定レジスタとＣＰＵ＿ＰＣとの比較結果と、ＰＣ指定レジスタ＋１とＣＰＵ＿ＰＣとの比較結果と、が入力され、いずれか一方が一致した場合に論理値「１」を出力する。ＰＣ指定レジスタ＋１はＰＣ指定レジスタの次のレジスタを意味している。つまり、本実施の形態では、２ワードの命令を前提としている。
【００３１】
ＰＣ指定レジスタとＣＰＵ＿ＰＣとの比較結果が一致した場合には、ＯＲ回路１０４の一方の入力に論理値「１」が入力されると共に、セレクタ１０６において、（１）入力端子の変換後命令ＩＮＳＴ１が選択され、セレクタ１１０で（１）入力端子が選択されている場合には、ＩＮＳＴ１がＣＰＵ＿ＤＩＮとして出力される。
【００３２】
また、ＰＣ指定レジスタ＋１とＣＰＵ＿ＰＣとの比較結果が一致した場合には、ＯＲ回路１０４の他方の入力に論理値「１」が入力されると共に、セレクタ１０８において、（１）入力端子の変換後命令ＩＮＳＴ２が選択される。この際、セレクタ１０６のセレクト信号は論理値「０」となっているので、セレクタ１０６ではセレクタ１０８の出力に接続された（０）入力端子が選択され、セレクタ１１０で（１）入力端子が選択されている場合には、ＩＮＳＴ２がＣＰＵ＿ＤＩＮとして出力される。
【００３３】
命令変換部１００は以上のように動作し、ＰＣで指定された本来ＣＰＵが実行すべき命令を他の命令に変換し、つまり、本実施の形態では擬似ジャンプ命令に変換し、当該擬似ジャンプ命令を実行する。
【００３４】
次に、図４を参照して、命令変換部１００の動作とメモリ１２の記憶領域との関係について説明するが、まず上述した命令変換部１００の動作を以下にまとめて記す。
［１］ＣＳＲレジスタ及びＰＣ指定レジスタにデータを格納する。本例では、このデータを０：０３３０Ｈ（セグメント＝０、アドレス＝０３３０Ｈ、以下これらのデータを「設定データ」という）とする。
［２］ＰＣＯＮを論理値「１」に設定し、本機能を有効にする。
［３］ＣＳＲレジスタの値とＣＰＵ＿ＣＳＲとの比較処理、ＰＣ指定レジスタとＣＰＵ＿ＰＣとの比較処理を実行する。
［４］上記の比較結果がいずれも一致した場合に、変換後命令設定回路１１２で、ハードウエア的に設定したメモリのアドレスにジャンプする命令を実行する。
［５］ジャンプ先で指定された処理を実行し、予め定められた条件でジャンプ元に戻る。
【００３５】
図４は、ＣＰＵ１４のＰＣで指定されたアドレスに従って、メモリ１２に格納されたプログラムが逐次実行されていく状態を示している。そして、［３］における比較処理の結果、ＰＣに対応するセグメント及びアドレスが［１］で設定した設定データと一致した場合には、本来実行すべき変換前命令２０が、変換後の命令である変換後命令２２に変換される。より具体的には、ＰＣ＝０：０３３０Ｈで指定された命令ＭＯＶ  Ｒ０，＃０１Ｈ、ＰＣ＝０：０３３２Ｈで指定された命令ＭＯＶ  Ｒ１，＃０１Ｈの組で表された変換前命令２０が、Ｂ  ２：Ｃ０００Ｈ（セグメント・アドレス＝２：Ｃ０００Ｈへのジャンプ命令）で表された変換後命令２２に変換されている。このことにより、図４中の［４］で示されたように、メモリ１２のセグメント・アドレス＝２：Ｃ０００Ｈにジャンプし、当該アドレスに格納されたプログラムを実行する。その後、予め定められた条件で次のＰＣの値に戻る（［５］）。
【００３６】
以上のようにして、本実施の形態に係るメモリ制御装置１０では、ＣＰＵ１４のプログラムカウンタ１４０で指定される命令を変換し、実行すべき命令が格納されたメモリ１２内の領域が変更される。従って、本実施の形態に係るメモリ制御装置１０によれば、簡易な方法でかつ柔軟にメモリの領域設定を行うことが可能となる。
【００３７】
＜第１の実施の形態の変形例＞
図３（ｂ）を参照して、本実施の形態に係るメモリ制御装置１０ａについて説明する。
本実施の形態は、指定ＰＣを複数にし、各々の指定ＰＣで変換される命令を異ならせる場合の形態である。そのため、メモリ制御装置１０ａの命令変換部１００は、複合命令変換部１００ａに変更されている。
【００３８】
図３（ｂ）は、指定ＰＣが３つの場合の複合命令変換部１００ａの構成の一例を示す機能ブロック図である。複合命令変換部１００ａは、各々の指定ＰＣに対応する３つの選択回路１１４−１、１１４−２、１１４−３（図示省略）、ＯＲ回路１３０、１３２、及びセレクタ１１０ａを含んで構成されている。３つの選択回路１１４−１、１１４−２、１１４−３の各々のａ端子から出力信号ａ−１、ａ−２、及びａ−３が出力され、ｂ端子から出力信号ｂ−１、ｂ−２、及びｂ−３が出力される。出力信号ａ−１、ａ−２、ａ−３は、ＯＲ回路１３０に入力され、出力信号ｂ−１、ｂ−２、ｂ−３は、ＯＲ回路１３２に入力される。
【００３９】
選択回路１１４−１、１１４−２、１１４−３の各々は図３（ａ）に示す選択回路１１４と同様の構成となっている、すなわち、各々の選択回路１１４の入力は、ＰＣＯＮレジスタ==１の演算結果、ＣＳＲレジスタ==ＣＰＵ＿ＣＳＲの演算結果、ＰＣ指定レジスタ==ＣＰＵ＿ＰＣの演算結果、ＰＣ指定レジスタ＋１==ＣＰＵ＿ＰＣの演算結果、変換後命令ＩＮＳＴ１、ＩＮＳＴ２、メモリデータ、及び００００Ｈである。選択回路１１４−１、１１４−２、１１４−３の各々は、それぞれの入力に対応する出力信号ａ−１、ａ−２、ａ−３、及び出力信号ｂ−１、ｂ−２、ｂ−３を出力する。
【００４０】
いずれかの選択回路１１４の入力が上記の条件を満たすことにより、出力信号ａの値がａ＝１となった場合には、ＯＲ回路１３０の出力信号が１となり、セレクタ１１０ａによってＯＲ回路１３２の出力信号が選択される。このとき、ＯＲ回路１３２の出力信号は、出力信号ｂ−１、ｂ−２、ｂ−３のいずれかにより、ａ＝１となった選択回路１１４における変換後命令ＩＮＳＴ１又はＩＮＳＴ２となっているので、当該選択回路１１４の変換後命令ＩＮＳＴ１又はＩＮＳＴ２がセレクタ１１０ａから出力され、バス１６を介してＣＰＵ１４に取り込まれ、実行される。一方、いずれの選択回路１１４の入力も上記の条件を満たさない場合には、ＯＲ回路１３０の出力信号が０となるので、セレクタ１１０ａでメモリデータが選択され、バス１６を介してＣＰＵ１４に取り込まれ、実行される。
【００４１】
なお、本実施の形態では、複合命令変換部１００ａの指定ＰＣが３つの場合を例示して説明したが、これに限られず、指定ＰＣはいくつであってもよい。また、本実施の形態における指定ＰＣのアドレスは異なっていても同じであってもよいし、指定ＰＣに対応する変換後命令ＩＮＳＴが異なっていても同じであってもよい。
【００４２】
以上詳述したように、本実施の形態に係るメモリ制御装置では、予め指定ＰＣを設定回路にセットしておき、ＣＰＵがそのＰＣの命令を実行しようとした際に、ハードウエアで疑似的に命令を変換することによって、つまり本実施の形態ではジャンプ命令分のみの命令の変換を行うことによって、メモリ内部に格納された本来指定されているアドレスの命令に代えて、意図した領域の命令、すなわちプログラムを実行することができる。従って、リマップのように、ＣＰＵに対して、メモリの一定領域のアドレスを化かして見せる必要はなく、また、複数の指定ＰＣを設定したい場合にも、回路（命令変換部１００）を追加することによって、容易に設定できるという効果がある。
【００４３】
［第２の実施の形態］
図５及び図６を参照して、本実施の形態に係るメモリ制御装置１０ｂについて説明する。メモリ制御装置１０が、変換後命令設定回路１１２によってハードウエア的に変換後命令ＩＮＳＴを設定したのに対し、本実施の形態は、専用のレジスタによってハードウエア的に変換後命令ＩＮＳＴを設定する形態である。
【００４４】
図５（ａ）に本実施の形態に係るメモリ制御装置１０ｂのブロック図を示す。図５（ａ）に示すように、メモリ制御装置１０ｂは、命令変換部１００、及び命令変換レジスタセット１２０ａを含んで構成されている。つまり、図２（ａ）に示すメモリ制御装置１０の変換後命令設定回路１１２を備えていない。図５（ａ）に示す命令変換部１００は、図２（ａ）に示す命令変換部１００と同じものである。
【００４５】
図５（ｂ）に本実施の形態に係る命令変換レジスタセット１２０ａの内容の一例を示す。図５（ｂに示すように、命令変換レジスタセット１２０ａは、ＰＣＯＮレジスタ、ＣＳＲレジスタ、ＰＣ指定レジスタ、及び変換後命令レジスタＲＩＮＳＴを含んで構成されている。ＰＣＯＮレジスタ、ＣＳＲレジスタ、及びＰＣ指定レジスタの機能は図２（ｂ）と同様なので、詳細な説明は省略する。変換後命令レジスタＲＩＮＳＴは、変換後命令ＩＮＳＴを格納するレジスタであり、その出力は、命令変換部１００のセレクタ１０６の（１）入力端子及びセレクタ１０８の（１）入力端子に接続されている（図３（ａ）参照）。
【００４６】
本実施の形態に係るメモリ制御装置１０ｂは、以下のように動作する。
［１］ＣＳＲレジスタ及びＰＣ指定レジスタにデータを格納する。本例では、このデータを０：０３３０Ｈ（セグメント＝０、アドレス＝０３３０Ｈ、以下これらのデータを「設定データ」という）とする。
［２］変換後の命令を、変換後命令レジスタＲＩＮＳＴに格納する。本例では、この命令を、Ｂ  ２：Ｃ０００Ｈ（セグメント・アドレス＝２：Ｃ０００Ｈへのジャンプ命令）とする。
［３］ＰＣＯＮを論理値「１」に設定し、本機能を有効にする。
［４］ＣＳＲレジスタの値とＣＰＵ＿ＣＳＲとの比較処理、ＰＣ指定レジスタとＣＰＵ＿ＰＣとの比較処理を実行する。
［５］上記の比較結果がいずれも一致した場合に、変換後命令レジスタＲＩＮＳＴでハードウエア的に設定したメモリのアドレスにジャンプする命令を実行する。
［６］ジャンプ先で指定された処理を実行し、予め定められた条件でジャンプ元に戻る。
【００４７】
図６は、ＣＰＵ１４のＰＣで指定されたアドレスに従って、メモリ１２に格納されたプログラムが逐次実行されていく状態を示している。そして、［４］における比較処理の結果、ＰＣに対応するセグメント及びアドレスが［１］で設定した設定データと一致した場合には、本来実行すべき変換前命令２０が、変換後の命令である変換後命令２２に変換される。より具体的には、ＰＣ＝０：０３３０Ｈで指定された命令ＭＯＶ  Ｒ０，＃０１Ｈ、ＰＣ＝０：０３３２Ｈで指定された命令ＭＯＶ  Ｒ１，＃０１Ｈの組で表された変換前命令２０が、Ｂ  ２：Ｃ０００Ｈ（セグメント・アドレス＝２：Ｃ０００Ｈへのジャンプ命令）で表された変換後命令２２に変換されている。このことにより、図６中の［５］で示されたように、メモリ１２のセグメント・アドレス＝２：Ｃ０００Ｈにジャンプし、当該アドレスに格納されたプログラムを実行する。その後、予め定められた条件で次のＰＣの値に戻る（［６］）。
【００４８】
［第３の実施の形態］
図７を参照して、本実施の形態に係るメモリ制御装置１０ｃについて説明する。本実施の形態は、変換後命令レジスタＲＩＮＳＴを用いて、複数の指定ＰＣに対応する形態である。図７は、指定ＰＣのアドレスと、ジャンプ命令でジャンプする飛び先アドレス（ジャンプ先アドレス）の対応を示した図である。図７は、例えば、指定ＰＣのアドレスがＰＣ０の場合には、変換後命令が、ジャンプ命令Ｂ  ２：Ｃ０００Ｈであることを示している。
【００４９】
図７に示すように、設定できるＰＣ、すなわち指定ＰＣが複数ある場合には、指定ＰＣに番号を割り振ることによって、飛び先のアドレスを変更する。処理の流れは指定ＰＣがひとつの場合と同様であるが、飛び先アドレスに関しては、パラメータで先頭のアドレスを設定しておき、そのアドレスを指定ＰＣであるＰＣ０の飛び先に設定し、それ以降はアドレスをずらすことによって飛び先を変更する。この際、アドレスの間隔は、ジャンプ命令が一つ入る程度でよい。また、飛び先によってどのＰＣからジャンプしてきたか判断できるので、ジャンプ先から戻る場合に便利である。
【００５０】
［第４の実施の形態］
図８ないし図１２を参照して、本実施の形態に係るメモリ制御装置１０ｄについて説明する。上記実施の形態では、メモリ制御装置の命令変換機能によって、指定ＰＣを設定することにより本来実行すべき命令を変換し、一例として、メモリの本来指定されたアドレスとは異なるアドレスにジャンプさせ、本来実行すべき処理とは異なる処理を実行させた。これに対し、本実施の形態は、上記実施の形態でジャンプしたジャンプ先のメモリの領域が、処理内容に応じて適切な属性の領域となるように、メモリの領域を分割する形態である。より詳細には、メモリのコードオプションを使用し、ブロックイネーフブルと類似の処理を行いながらも、様々なソフトウエア・アプリケーションに対応させるために、さらに機能を拡張させた形態である。ここで、コードオプションとは、領域分割の対象となるメモリを制御するためのパラメータをさし、本実施の形態では、特に書き換え設定レジスタセットに格納すべきパラメータをいう。
【００５１】
図８（ａ）は、本実施の形態に係るメモリ制御装置１０ｄの機能ブロック図を示している。図８（ａ）に示すように、メモリ制御装置１０ｄは、メモリローダ（設定部）２００、及び書き換え設定レジスタセット２０２を含んで構成されている。なお、図８（ａ）に示したメモリ制御装置１０ｄは、本実施の形態に関わる構成のみを抽出して記載しているが、むろん、図２（ａ）、図５（ａ）に示す、命令変換部１００、命令変換レジスタセット１２０（１２０ａ）、変換後命令設定回路１１２を含んでいてもよい。
【００５２】
メモリ１２の種類に特に制限はないが、本実施の形態では、フラッシュメモリ等の不揮発性メモリを想定しており、メモリ空間の領域は、一般的なメモリと同様に、プログラム領域２１０とデータ領域２１４とに分割されている。本実施の形態に係るメモリ１２では、さらに、テスト（設定データ）領域２１２を備えている。テスト領域２１２とは、メモリ１２の周辺回路を動作させるためのパラメータが格納される領域であるが、本実施の形態では、コードオプション、すなわち書き換え設定のためのデータ（以下、「書き換え設定データ」という）が格納されている。
【００５３】
メモリローダ２００は、メモリ１２のテスト領域２１２から書き換え設定データを読み込み、書き換え設定データの各パラメータを書き換え設定レジスタセット２０２の各レジスタに格納させる。
【００５４】
書き換え設定レジスタセット２０２は、メモリ１２のメモリ空間の領域分割を行うための各パラメータを格納するレジスタの組である。図８（ｂ）に、書き換え設定レジスタセット２０２の内容を示す。図８（ｂ）に示すように、本実施の形態に係る書き換え設定レジスタセット２０２には、書き換えアクセプタレジスタ、書き換えプログラム領域開始アドレスレジスタ、及び書き換え領域分割設定レジスタの３つのレジスタが含まれており、これらの３つのレジスタの内容に応じて、メモリ１２のメモリ空間が分割される。
【００５５】
書き換えアクセプタレジスタには、書き換えアクセプタを設定するデータ（アクセプタ設定データ）が格納される。アクセプタ設定とは、領域分割のパターンに合わせて、プログラムによるメモリの書き換えや消去、プログラムの実行を可能にするか否かの設定を行うことであり、アクセプタ設定データはこの切り替えを行うためのデータである。このデータの値が所定の値の場合、書き換え処理などが有効状態となる。書き換え処理などを有効状態にした後、書き換えプログラム領域開始アドレスデータと、領域分割設定データをもとに、メモリ１２の領域を、固定領域と書き換え領域に区分する。ここで、固定領域とはソフトウエアからイレース（消去）／ライト（書き込み）を行うことができない領域であり、書き換え領域とは、プログラムからイレース／ライトを行うことができる領域である。
【００５６】
書き換えプログラム領域開始アドレスレジスタには、書き換えプログラム領域を開始するアドレスを指定するデータ（プログラム領域開始アドレスデータ）が格納される。上記のアクセプタ設定によって、書き換え処理が有効状態とされている場合に、指定されたアドレス以降が書き換えプログラム領域となる。
【００５７】
書き換え領域分割設定レジスタには、書き換え領域の領域数を指定するデータ（領域分割データ）が格納される。上記のアクセプタ設定によって、書き換え処理が有効状態とされている場合において、例えば、領域分割データの値が「０ｘ０」の場合には書き換え領域を１領域確保し、領域分割データが「０ｘ１」の場合には書き換え領域を２領域確保する。ただし、本実施の形態では、２領域を確保した場合のＣＰＵ１４の実行領域は、予め定められたレジスタ（ＣＰＵ１４がアクセス可能な領域を指定するレジスタ、以下、「アクセス領域指定レジスタ」という）の値に応じて、片方の領域のみとなる。
【００５８】
本実施の形態に係るメモリ制御装置１０ｄでは、以上の３つのデータ、すなわち、図８（ｂ）に示すアクセプタ設定データ、プログラム領域開始アドレスデータ、及び領域分割データの３つのデータを設定することによって、メモリ制御装置１０ｄによるメモリの分割制御方法が変わる。
【００５９】
次に、図９を参照して、メモリ１２の分割制御方法、すなわち、テスト領域２１２（コードオプション）のデータが各レジスタに格納され、メモリ１２のメモリ空間が分割されるまでの流れを説明する。図９の［１］ないし［３］は、本実施の形態に係るメモリ１２の分割制御の手順を示しており、その内容は以下のとおりとなっている。
［１］ＣＰＵ１４の起動前に実行されるメモリ制御装置１０ｄのリセット時に、メモリローダ２００がテスト領域２１２に格納されたコードオプションをロードする（読み込む）。
［２］書き換え設定レジスタセットの各レジスタに、メモリローダ２００がロードした各データ（アクセプタ設定データ、プログラム領域開始アドレスデータ、及び領域分割データ）が格納される。
［３］コードオプションのデータに基づいてメモリ１２の領域分割の設定方法が決定され、領域分割が実行される。
以上の分割制御が実行されることにより、メモリ１２に対するＣＰＵ１４のアクセス方法（以下、「ＣＰＵアクセス」という）が設定される。以下、各ＣＰＵアクセスについて説明する。なお、図９に示すように、以下の説明では、プログラム領域開始アドレスデータを「０ｘＹＹＹＹ」として説明する。
【００６０】
図１０（ａ）は、書き換え無効の場合、すなわち、書き換えアクセプタレジスタにおいて、アクセプタ設定データが無効に設定されている場合のＣＰＵアクセスを、図１０（ｂ）は、その際の各レジスタの値を、各々示している。本実施の形態では、アクセプタ設定の値が「０」で書き換え無効、「１」で書き換え有効としている。むろん、この対応関係は逆の論理値であってもよい。図１０（ａ）に示すように、アクセプタ設定データが無効状態においては、プログラムメモリ空間の全領域が固定プログラム領域となるので、ＲＯＭ参照（データの読み出し）は可能であるが、Ｅｒａｓｅ／Ｗｒｉｔｅ（消去及び書き込み）は行うことができない。ここで、本実施の形態における「固定プログラム領域」とは「固定プログラム」が格納された領域であり、「固定プログラム」とは、本実施の形態に係るマイクロコンピュータシステム１を動作させるためのプログラムである。
【００６１】
図１１（ａ）は、書き換え有効の場合、すなわち、書き換えアクセプタレジスタにおいて、アクセプタ設定データが有効に設定されている場合で、書き換え領域分割設定が、１領域に設定された場合のＣＰＵアクセスを、図１１（ｂ）は、その際の各レジスタの値を各々示している。アクセプタ設定が有効の状態においては、プログラムメモリ空間が、固定プログラム領域と、書き換えプログラム領域とに分割される。書き換えプログラム領域は、書き換えプログラム領域開始アドレスＹＹＹＹを開始アドレスとするメモリ空間上の一定の領域を占める。
【００６２】
ここで、本実施の形態における「書き換えプログラム領域」とは「書き換えプログラム」が格納された領域をいう。また、「書き換えプログラム」とは「固定プログラム」と組み合わされるプログラムであり、本実施の形態では、「固定プログラム」＋「書き換えプログラム」でひとつのプログラムを構成している。すなわち、例えば固定プログラム中に記述されたジャンプ命令で書き換えプログラムに移行することにより、両者は一体のプログラムとして機能する。固定プログラム領域においては、ＲＯＭ参照は可能であるが、Ｅｒａｓｅ／Ｗｒｉｔｅは行うことができない。書き換えプログラム領域は書き換え可能領域となるので、ＲＯＭ参照に加え、Ｅｒａｓｅ／Ｗｒｉｔｅを行うことが可能になる。なお、本実施の形態では、固定プログラム領域の直下を書き換えプログラム領域開始アドレスＹＹＹＹとする形態を例示して説明するが、これに限られず、例えば固定プログラム領域との間に一定の記憶領域を空けたアドレスをアドレスＹＹＹＹとして指定してもよい。
【００６３】
図１２（ａ）は、書き換え有効の場合で、書き換え領域分割設定が２領域に設定された場合のＣＰＵアクセスを、図１２（ｂ）は、その際の各レジスタの値を各々示している。
この場合には、プログラムメモリ空間が、固定プログラム領域と、書き換えプログラム領域０及び書き換えプログラム領域１とに分割される。
【００６４】
本実施の形態において、「書き換えプログラム領域０」とは「書き換えプログラム０」が格納された領域をいい、「書き換えプログラム領域１」とは「書き換えプログラム１」が格納された領域をいう。固定プログラム領域においては、ＲＯＭ参照は可能であるが、Ｅｒａｓｅ／Ｗｒｉｔｅは行うことができない。一方、本実施の形態では、書き換えプログラム領域０、及び書き換えプログラム領域１の各々を、プログラム実行が可能な領域とするか、Ｅｒａｓｅ／Ｗｒｉｔｅが可能な領域とするかを切り換えることができるように構成されている。
【００６５】
本実施の形態に係るメモリ制御装置１０ｄの領域分割方法について、より詳細に説明する。本実施の形態に係る領域分割方法では、書き換えプログラム領域開始アドレスＹＹＹＹが指定されると、当該アドレスＹＹＹＹ以降（本実施の形態では、固定プログラム領域の直下）に、書き換えプログラムを格納させる領域として、同じ容量の２領域が確保される。以下、図１２（ａ）に示すように、当該２領域を、固定プログラム領域に近い方から順に、「領域Ａ」、「領域Ｂ」という。本実施の形態では、当該２領域の容量が同じである形態を例示して説明するが、むろん、これらの容量は異なってもよい。
【００６６】
そして、本実施の形態では、領域Ａがプログラム実行の可能な領域とされ、領域ＢがＥｒａｓｅ／Ｗｒｉｔｅの可能な領域とされる。そして、本実施の形態では、固定プログラム中に記述されたジャンプ命令によって、固定プログラムの実行後、領域Ａに格納されたプログラムに移行するように構成されている。本実施の形態では、この領域Ａ及び領域Ｂの属性の制御をメモリ制御装置１０ｄが行っている。つまり、書き換えプログラム０／１のうち、領域Ａに格納された方がプログラム実行の可能な書き換えプログラムとされ、領域Ｂに格納された方がＥｒａｓｅ／Ｗｒｉｔｅの可能な書き換えプログラムとされる。このことにより、仮に、領域Ａに書き換えプログラム０が格納され、領域Ｂに書き換えプログラム１が格納された状態を考えると、一方では、固定プログラム＋書き換えプログラム０なるプログラムを実行し、他方では書き換えプログラム１について、更新等の操作を行うという動作が可能となる。
【００６７】
上記に加え、本実施の形態では、領域Ａ及び領域Ｂに格納する書き換えプログラム０／１が切り換え可能に構成されている。すなわち、書き換えプログラム領域については、先述したように、アクセス領域指定レジスタの設定によって、プログラムとして使用する領域を決定することができる。より具体的には、アクセス領域指定レジスタの値が「０ｘ００」の場合は、図１２（ａ）に示すように、書き換えプログラム領域０が領域Ａに格納されることにより、プログラム実行領域（プログラムメモリ空間）として選択されるため、固定プログラム領域と同じ扱いになる。そのため、書き換えプログラム領域０は、ＲＯＭ参照は可能であるが、Ｅｒａｓｅ／Ｗｒｉｔｅは行うことができない領域となる。このとき、書き換えプログラム領域１は領域Ｂに格納されるため、書き換え可能領域となるので、ＲＯＭ参照及びＥｒａｓｅ／Ｗｒｉｔｅが可能な（更新が可能な）領域となる。
【００６８】
一方、アクセス領域指定レジスタの値が「０ｘ０１」の場合は、図１２（ａ）に示すように、書き換えプログラム領域１が領域Ａに格納されることにより、プログラム実行領域として選択されるため、固定プログラム領域と同じ扱いになる。そのため、ＲＯＭ参照は可能であるが、Ｅｒａｓｅ／Ｗｒｉｔｅは行うことができない領域となる。このとき、書き換えプログラム領域０は領域Ｂに格納されるため、書き換え可能領域となるので、ＲＯＭ参照及びＥｒａｓｅ／Ｗｒｉｔｅが可能な（更新が可能な）領域となる。
【００６９】
上記のような構成を有する、本実施の形態に係るメモリ制御装置１０ｄの領域分割方法の作用について、より詳細に説明する。初期状態として、領域Ａに書き換えプログラム０が格納され、領域Ｂに書き換えプログラム１が格納されている状態、すなわち、アクセス領域指定レジスタの値が「０ｘ００」とされている状態を考える。この場合、マイクロコンピュータシステム１のプログラムは、固定プログラム＋書き換えプログラム０からなるプログラム（初期プログラム）で作成されている。
【００７０】
その後、この初期プログラムに更新の必要が生じた場合には、例えば、図示しない外部との通信手段を介して領域Ｂに書き換えプログラム１を書き込んだ後、アクセス領域指定レジスタの値を「０ｘ０１」とする。このことにより、書き換えプログラム１が書き換えプログラム０の代わりに領域Ａに格納されるので、書き換えプログラム１がＣＰＵ１４によって実行されるプログラムとなる。一方、初期プログラムにおける書き換えプログラム０は、Ｅｒａｓｅ／Ｗｒｉｔｅの可能なプログラムとされ、次の更新に備えることができる。
【００７１】
以上詳述したように、本実施の形態に係るメモリ制御装置１０ｄの領域分割方法では、アクセス領域指定レジスタによって領域Ａに格納する書き換えプログラムと領域Ｂに格納する書き換えプログラムとを切り換え可能なように構成されているので、固定プログラム領域のプログラムを変更することなく、書き換えプログラムを更新することができるという効果を奏する。
【００７２】
以上のように、本実施の形態に係るメモリ制御装置では、コードオプションによって設定されたデータを、メモリをコントロールするデータとして使用することによって、メモリの使用目的に応じメモリ空間を詳細に分割することができる。また、セキュリティに関しても、書き換えが不可能な領域を設定することにより、プログラムが暴走した場合などでもその領域のデータについては消去や書き込み等を行うことができなくなるため、メモリに記憶させたデータの信頼性も確保できるという効果がある。従って、例えば、上記命令変換機能によってジャンプしたジャンプ先のメモリの領域を、処理内容に応じて適切な属性の領域とすることも可能となる。
【符号の説明】
【００７３】
１        マイクロコンピュータシステム
１０、１０ａ、１０ｂ、１０ｃ、１０ｄ  メモリ制御装置
１２      メモリ
１４      ＣＰＵ
１６      バス
２０      変換前命令
２２      変換後命令
１００、１００−１、１００−２、１００−３  命令変換部
１００ａ  複合命令変換部
１０２    ＡＮＤ回路
１０４    ＯＲ回路
１０６    セレクタ
１０８    セレクタ
１１０、１１０ａ  セレクタ
１１２    変換後命令設定回路
１１４    選択回路
１２０、１２０ａ  命令変換レジスタセット
１３０、１３２  ＯＲ回路
１４０    プログラムカウンタ
２００    メモリローダ
２０２    書き換え設定レジスタセット
２１０    プログラム領域
２１２    テスト領域
２１４    データ領域
ＩＮＳＴ、ＩＮＳＴ１、ＩＮＳＴ２  変換後命令
【図１】
2020009498.tif 000003
【図２】
2020009498.tif 000004
【図３】
2020009498.tif 000005
【図４】
2020009498.tif 000006
【図５】
2020009498.tif 000007
【図６】
2020009498.tif 000008
【図７】
2020009498.tif 000009
【図８】
2020009498.tif 000010
【図９】
2020009498.tif 000011
【図１０】
2020009498.tif 000012
【図１１】
2020009498.tif 000013
【図１２】
2020009498.tif 000014