(57)【要約】【課題】メモリのアドレス空間と入出力部（Ｉ／Ｏ）のアドレス空間とが別々に設けられていたことに伴う従来の問題を解決することを目的とする。【解決手段】従来は、Ｉ／Ｏのためのアドレス空間が独立して設けられていたが、Ｉ／Ｏに接続された内蔵デバイスにアクセスするための上位８ビットのアドレスを指定するハードウェアとしてのＵレジスタを設け、ここに予め８ビットの上位アドレスを指定しておく。これにより、メモリ用のアドレス空間とは別々に設けられていたＩ／Ｏアドレス空間を、メモリ用のアドレス空間に統合して一つのアドレス空間とした。【選択図】図４
2019114303.tif 000002
【特許請求の範囲】
【請求項１】
メモリ用のアドレス空間と入出力部（Ｉ／Ｏ）用のアドレス空間とを備え、それぞれの空間をアクセスする命令を備えるＣＰＵと上位互換性を有する遊技機用のセキュリティチップであって、
前記入出力部用のアドレス空間を前記メモリ用のアドレス空間に統合した遊技機用のセキュリティチップ。
【請求項２】
前記入出力部用のアドレス空間を指定するアドレスの上位ビットは、データ記憶デバイスに予め記憶されており、入出力アドレス空間を指定する際に前記データ記憶デバイスから前記上位ビットのデータを読み出してアドレスを指定する上位ビットとして使用する、請求項１に記載のセキュリティチップ。
【請求項３】
前記メモリ用のアドレス空間をアクセスする命令及び前記入出力用のアドレス空間をアクセスする命令により、統合されたメモリ用のアドレス空間のすべてをアクセス可能とした請求項１又は２に記載のセキュリティチップ。
【請求項４】
前記データ記憶デバイスは、ＣＰＵ内の専用レジスタである、請求項２に記載のセキュリティチップ。
【請求項５】
アドレスの上位を示す第１のレジスタ及び第２のレジスタを備え、前記第１のレジスタが第１の命令に対応し、前記第２のレジスタが第２の命令に対応し、ＣＰＵが前記第１の命令と前記第２の命令ですべてのメモリ空間をアクセスする、遊技機用のセキュリティチップ。
【請求項６】
前記第１のレジスタには、対応する裏レジスタが設けられている、請求項５に記載のセキュティチップ。
【請求項７】
請求項１乃至６のいずれか一項に記載のセキュリティチップを搭載した遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遊技機を制御するセキュリティチップ及びこのセキュリティチップを組み込んだ遊技機に関する。
【背景技術】
【０００２】
遊技機を制御するためのセキュリティチップにマイコンが採用された当初には、インテル社の８０系ＣＰＵ（以下「８０系ＣＰＵ」という）及びモトローラ社の６８系ＣＰＵ（以下「６８系ＣＰＵ」という）が存在しおり、各遊技機メーカはその設計思想や使い易さ等を考慮して、いずれかを選択して使用していたが、現在では遊技機を制御するセキュリティチップとしては、８０系ＣＰＵが主流となっている。
【０００３】
遊技機では、使用できるメモリ容量が法令により制限されており、さらにユーザプログラムと呼ばれる遊技機メーカが書き込むことができるプログラムの容量も制限されている。そのため、限られたプログラム容量をより有効に活用できるように、現在では８０系ＣＰＵを踏襲しつつも、より効率の良い命令を追加した８０系ＣＰＵ上位互換のＣＰＵが多く採用されている。このような効率の良い命令の追加は、ＣＰＵ開発技術の向上により実現可能になった。
【０００４】
通常２バイト必要なアドレスの指定において、上位１バイトのアドレス値を予め特定のレジスタ（「上位アドレスレジスタ」という）に記憶しておき、メモリにアクセスする際には予めレジスタに記憶されているこの上位アドレスを用いつつ下位１バイトのみを指定することで、メモリにアクセスできるようにした遊技機用のセキュリティチップが従来から知られている。例えば、上位アドレスレジスタに１バイトのＦ０ｈを記憶しておき、下位アドレスとして、１バイトの００ｈ〜ＦＦｈを指定することにすれば、Ｆ０００ｈからＦ０ＦＦｈまでを２バイトで指定できるようになり、この範囲で２バイトアドレスのユーザＲＡＭ領域にアクセスすることができるが、実質的には下位１バイトでアドレスを指定していることになる。
【０００５】
図９は、従来から知られている８０系ＣＰＵに基づいた遊技機制御用のセキュリティチップのメモリ及び入出力部（Ｉ／Ｏ）に関連する部分の回路図である。従来は、図９に示すように、メモリ１０４のアドレス空間とＩ／Ｏ１０５のためのアドレス空間とが別々に設けられていた。このため、メモリのアドレス空間にアクセスするかＩ／Ｏのアドレス空間にアクセスするかに応じて、セキュリティチップのメモリリクエスト（ＭＲＥＱ）ピン及びＩ／Ｏリクエスト（ＩＯＲＱ）ピンからリクエスト信号を出力し、これを論理回路素子（ゲート）１０７、１０８、１０９、１１０を介してメモリ１０４及びＩ／Ｏ１０５の読み出し（ＲＤ）端子及び書き込み（ＷＲ）端子に送信していた。
【０００６】
アドレスデコーダ（ＤＥＣ）１０６1，１０６2は、アドレスバスからのアドレス信号をデコードするデコーダで、デコードされた信号はメモリ１０４又はＩ／Ｏ１０５のチップセレクト端子（ＣＳ）に入力される。これによりメモリ１０４及びＩ／Ｏ１０５は、チップセレクト端子（ＣＳ）が有効である時、読出し信号（ＲＤ）が有効であればデータバスに当該データを出力し、書込み信号（ＷＲ）が有効であればデータバス上の当該データをメモリ１０４及びＩ／Ｏ１０５に書込みを行う。図９に示したメモリ１０４及びＩ／Ｏ１０５は模擬的にチップセレクト端子（ＣＳ）のみでデバイスを選択しているが、アドレスバスの下位数ビット（不図示）を接続し、デバイス内メモリやＩ／Ｏのアドレスを指定しても良い。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来のように、メモリのアドレス空間と入出力部（Ｉ／Ｏ）のアドレス空間とが別々に設けられていると、どちらのアドレス空間にアクセスするかを選択するための論理動作や、アドレス空間が別々に存在することに関連するハードウェア的な回路が必要となる。さらに、上記の論理動作を実行するためには、セキュリティチップのパッケージにそのためのピンが必要となるが、遊技機用のユーザプログラムを開発する際には、より多くのピンを自由に使うことができれば、それだけ柔軟なハードウェア実装とプログラム開発が可能となる。
【０００８】
本発明は、上記事情に基づいてなされたものであり、メモリのアドレス空間と入出力部（Ｉ／Ｏ）のアドレス空間とが別々に設けられていたことに伴う従来の問題を解決することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明に係る遊技機用のセキュリティチップは、メモリ用のアドレス空間と入出力部（Ｉ／Ｏ）用のアドレス空間とを備え、それぞれの空間をアクセスする命令を備えるＣＰＵと上位互換性を有する遊技機用のセキュリティチップであって、前記入出力部用のアドレス空間を前記メモリ用のアドレス空間に統合した。
【００１０】
前記入出力部用のアドレス空間を指定するアドレスの上位ビットは、データ記憶デバイスに予め記憶されており、入出力アドレス空間を指定する際に前記データ記憶デバイスから前記上位ビットのデータを読み出してアドレスを指定する上位ビットとして使用することができる。
【００１１】
前記メモリ用のアドレス空間をアクセスする命令及び前記入出力用のアドレス空間をアクセスする命令により、統合されたメモリ用のアドレス空間のすべてをアクセス可能とすることができる。
【００１２】
前記データ記憶デバイスは、ＣＰＵ内の専用レジスタとすることができる。
【００１３】
上記の課題を解決するために、本発明に係る遊技機用のセキュリティチップは、アドレスの上位を示す第１のレジスタ及び第２のレジスタを備え、前記第１のレジスタが第１の命令に対応し、前記第２のレジスタが第２の命令に対応し、ＣＰＵが前記第１の命令と前記第２の命令ですべてのメモリ空間をアクセスするようにする。
【００１４】
前記第１のレジスタには、対応する裏レジスタが設けられている。
【図面の簡単な説明】
【００１５】
【図１】実施の一形態に係る遊技機制御用のセキュリティチップの主要部分であるＣＰＵとメモリユニットの構成を示したブロック図である。
【図２】図１に示したＣＰＵコアの内部の構成を示したブロック図である。
【図３】実施の一形態に係るＣＰＵの内部状態遷移の様子を示した図である。
【図４】実施の一形態に係るレジスタユニットに含まれる各種レジスタを詳細に示した図である。
【図５】実施の一形態に係るＩ／Ｏ用のアドレス空間を含むアドレス空間のメモリマップである。
【図６】実施の一形態に係る遊技機制用のセキュリティチップの平面図である。
【図７】図６に示したセキュリティチップの各ピンの名称及びその説明を表にして示した図である。
【図８】実施の一形態に係る遊技機制御用のセキュティチップのＣＰＵとメモリ及び入出力部（Ｉ／Ｏ）とに関連する部分の回路図である。
【図９】従来の遊技機制御用のセキュティチップのＣＰＵとメモリ及び入出力部（Ｉ／Ｏ）とに関連する部分の回路図である。
【発明を実施するための形態】
【００１６】
以下に、本発明の実施の一形態について説明する。図１は、遊技機制御用のセキュリティチップの主要部分であるＣＰＵ１とメモリユニット４の構成を示したブロック図である。ＣＰＵ１は、ＣＰＵコア２とバスコントローラ３を含み、ＣＰＵコア２はバス制御信号（Ｂｕｓ Ｃｏｎｔ）でバスコントローラ３を制御し、メモリユニット４との間でリード／ライト（Ｒ／Ｗ）信号や入出力データ（Ｄａｔａ）のやり取りをする。ＣＰＵコア２に対しては割り込み／待ち（ＩＮＴ／ＷＡＩＴ）信号が入力可能な状態となっており、ＣＰＵコア２及びバスコントローラ３に対してリセット（ＲＥＳＥＴ）信号が入力可能な状態となっている。ここでメモリユニット４は、ＣＰＵ１の実行するプログラムを格納するＲＯＭ、ＣＰＵ１の実行時に使われるＲＡＭ、入出力部（Ｉ／Ｏ）を含むＣＰＵ１がアクセスする対象のものを示す。
【００１７】
図２は、図１に示したＣＰＵコア２の内部の構成を示したブロック図である。同図において、外部入力ユニット１０は、外部信号（例えば、ＲＥＳＥＴ、ＩＮＴ、ＷＡＩＴ、ＢＵＳＲＥＱ等）を受け取って、状態制御ユニット１１に渡す。このとき、ＲＥＳＥＴ信号は中央制御ユニット１２を含む各ユニットのための初期化信号として渡される。
【００１８】
状態制御ユニット１１は、図３に示す内部状態遷移を管理してＣＰＵコア２の動作状態を決定するとともに、中央制御ユニット１２へ実際の動作指示を行う。各命令に関する内部状態遷移は、図３に示す命令フェッチ状態（１）から始まり、中央制御ユニット１２で行われる命令デコードの結果に応じて次の内部状態遷移が決定され（例えば、演算処理、メモリロード、メモリ記憶等）、したがって各命令ごとに異なる内部状態遷移をもつことになる。なお、各命令の状態遷移の情報は、状態制御ユニット１１内に格納されている。
【００１９】
再び図２に戻ると、中央制御ユニット１２は、バスコントローラ３を経由してメモリユニット４より入力された入力データＤＩを読み込んで命令デコーダ１３に渡し、命令デコーダ１３により命令解析を行う。命令デコーダ１３で命令解析が終了して、中央制御ユニット１２が命令デコードの結果を状態制御ユニット１１に渡すと、状態制御ユニット１１内で決定される内部状態遷移による次の動作指示に従い、データパスユニット１４に命令動作を順次実行させる。なお、命令デコードの結果と状態制御ユニット１１から指示される状態により各命令がどのような動作を行うかのシーケンス情報は、中央制御ユニット１２内に格納されている。
【００２０】
データパスユニット１４は、レジスタユニット１５を含んでいる。レジスタユニット１５には、本実施形態の場合、レジスタバンク０及びレジスタバンク１という２つのレジスタバンクの他に、８ビットの割込みベクタレジスタＩ、リフレッシュレジスタＲ、１６ビットのプログラムカウンタＰＣ、バンクセレクタＤＳＴ、バンクセレクタＳＲＣが含まれる。２つのレジスタバンク０及びレジスタバンク１の切り替えは、後述の図４に示したフラグレジスタＦに含まれるレジスタバンク指定レジスタＲＢの指示（１ビット）を参照することにより現在使用中のレジスタバンクを知ることができる。すなわち、バンクセレクタＤＳＴが算術論理演算ユニット（ＡＬＵ）１６の演算結果をストアするのがレジスタバンク０かレジスタバンク１かを指定し、バンクセレクタＳＲＣが、ＡＬＵ１６に入力するソースレジスタをバンクレジスタ０かバンクレジスタ１かを選択する。
【００２１】
図４は、レジスタユニット１５に含まれる各種レジスタをより詳細に示している。上述のようにレジスタユニット１５には２つのレジスタバンク０及びレジスタバンク１が含まれており、各レジスタバンクには、メモリにアクセスするための１６ビットアドレスの上位８ビットアドレスを指定するアドレスレジスタＱ（以下「Ｑレジスタ」ともいう）、Ｉ／Ｏ（入出力部）に接続された内蔵デバイス（タイマ、乱数回路、外部入出力回路等）にアクセスするための１６ビットアドレスの上位８ビットアドレスを指定するレジスタＵ（以下「Ｕレジスタ」ともいう）、８ビットの演算レジスタＡ、フラグレジスタＦ（その具体的内容は、図４に示してある）、汎用レジスタＢ、Ｃ、Ｄ、Ｅ、Ｈ、Ｌと、１６ビットのインデックスレジスタＩＸ、ＩＹ、スタックポインタＳＰ、プログラムカウンタＰＣが含まれる。８ビットのレジスタのうち、汎用レジスタＢＣ、ＤＥ、ＨＬは、ペアレジスタとして１６ビットのレジスタとして扱うこともできる。
【００２２】
さらに、各レジスタバンク内のレジスタＡ、Ｆ、Ｂ、Ｃ、Ｄ、Ｅ、Ｈ、Ｌ、ＩＸ、ＩＹ、Ｑについては、これらを表レジスタとして同一構成の裏レジスタが設けられている。各表レジスタに対応する裏レジスタには、表レジスタと同じアルファベットに記号「’」を付してある。表レジスタ及び裏レジスタは、入れ替え命令などによって互いにどちらかのレジスタを瞬間的に選択して入れ替えて使用することができる。一方、レジスタＵ、レジスタＳＰについては、単一の（裏レジスタを持たない）構成とされている。ＣＰＵは、レジスタバンク指定レジスタＲＢの示すレジスタバンクの表レジスタのみを動作対象とし、裏レジスタについては動作対象とはしない。
【００２３】
従来は、図９のように、メモリ用のアドレス空間（メモリマップ）とは別に、Ｉ／Ｏ（入出力部）に接続された内蔵デバイスにアクセスするための２５６バイト（８ビットで指定される）のＩ／Ｏアドレス空間（Ｉ／Ｏマップ）が独立して設けられていた。また、メモリ用のアドレス空間をアクセスする命令としてＬＤ命令が具備され、１６ビットのメモリ空間をアクセスしていた。さらにメモリ空間の１６ビットアドレスの上位８ビットについてＱレジスタを使用してアクセスするＬＤＱ命令が具備され、ＬＤＱ命令のオペランド８ビットを下位アドレスとしてメモリ空間をアクセスすることができた。
【００２４】
さらに従来は、Ｉ／Ｏアドレス空間をアクセスするための専用命令としてＩＮ命令、ＯＵＴ命令が具備され、この命令が実行されるとＩＯＲＱ信号によりＩ／Ｏアドレス空間のアクセスが行われていた。
【００２５】
これに対し、本実施形態では、ＭＲＥＱ、ＩＯＲＱの信号をなくしメモリ、Ｉ／Ｏ(入出力部)へのアクセスをＲＤ、ＷＲ信号で行うことと、Ｉ／Ｏ（入出力部）に接続された内蔵デバイスにアクセスするための上位８ビットのアドレスを指定するハードウェアとしてのＵレジスタを設け、ここに予め８ビットの上位アドレスを指定しておく。これにより、メモリ用のアドレス空間とは別々に設けられていたＩ／Ｏアドレス空間を、メモリ用のアドレス空間に統合して一つのアドレス空間とし、従来具備されていたＩＮ命令、ＯＵＴ命令を実行するとメモリ空間に実装されたＩ／Ｏに対し、上位８ビットをＵレジスタで指定し下位８ビットはＩＮ命令、ＯＵＴ命令のオペランドで指定した下位８ビットを用いてアクセス可能とした。
【００２６】
上記のように、本実施形態では、ＬＤＱ命令ではＱレジスタを用いてメモリ空間（主にデータエリア、ワークエリア）をアクセスし、ＩＮ命令、ＯＵＴ命令ではＵレジスタを用いて内蔵デバイス（タイマ、乱数回路、外部入出力回路等）のＩ／Ｏをアクセスするようにプログラムを記述できるようになる。これにより、プログラムが見やすくなるという効果の他に、メモリ空間に置かれたメモリとＩ／Ｏを本来命令のオペランドとして１６ビットのアドレスでアクセスしていたものを下位８ビットのオペランドでアクセスすることが可能になり、プログラム容量を圧縮することができる。さらにＱレジスタ、Ｑ’レジスタ、Ｕレジスタと複数の上位指定レジスタを持つことにより、上位レジスタが１つだけの時よりも上位レジスタの使い回しによる入れ替えの回数が少なくなり、プログラム容量をさらに圧縮することができる。
【００２７】
上記の例ではＩＮ命令、ＯＵＴ命令でＩ／Ｏをアクセスしたが、ＩＮ命令、ＯＵＴ命令でメモリ空間をアクセスしても良い。このことは、例えばメモリ上の３つの２５６バイト領域をアクセスする場合にＱレジスタ、Ｑ’レジスタ、Ｕレジスタにそれぞれの上位８ビットを指定しておき、ＬＤＱ命令とＩＮ命令ＯＵＴ命令でそれぞれの領域をアクセスしても良い。
【００２８】
図５は、本実施形態のアドレス空間を示した、Ｉ／Ｏ用のアドレス空間を含むメモリマップである。この１つのメモリマップの中に、メモリのためのアドレス空間の他にＩ／Ｏに接続された内蔵デバイスにアクセスするための制御エリア３７が設けられている。この制御エリア３７を指定する１６ビットのうちの上位８ビットは、Ｕレジスタに予め指定されているデータである。したがって、実際の内蔵デバイスのアドレスは、実質的には下位８ビットによって指定される。
【００２９】
さらに、図５のメモリマップに示したメモリ領域には、遊技機用プログラムが配置される「使用領域」と、遊技機用プログラムとは関係なく、法令で定められているチップの試験に必要な処理及び不正防止を目的としたプログラムが配置される「使用領域外」とが含まれる。使用領域には、００００ｈから始まるユーザプログラムエリア３０（Ｙ1バイト）、ユーザデータエリア３１（Ｙ2バイト）、アドレスがＸＸＸＸ7から始まるＹ4バイトの第１ユーザＲＡＭ３２、アドレスがＸＸＸＸ9から始まるＹ5バイトの第２ユーザＲＡＭ３３が含まれる。ユーザプログラムエリア３０及びユーザデータエリア３１は、ＲＯＭなどの書き換え不能なメモリで構成され、第１ユーザＲＡＭ３２、第２ユーザＲＡＭ３３は、ＲＡＭなどの書き換え可能なメモリで構成される。
【００３０】
ユーザプログラムエリア３０には、各遊技機メーカがそれぞれの遊技機ごとに開発した遊技機制御用のプログラムが格納される。ユーザデータエリア３１には、ユーザプログラムエリア３０に格納されている遊技機制御用のプログラムの実行時に参照するデータテーブルが格納される。第１ユーザＲＡＭ３２及び第２ユーザＲＡＭ３３は、ユーザプログラムエリア３０に格納されている遊技機制御用のプログラムの実行中におけるワークエリアとして使用される。パチンコのプログラムの場合は第１ユーザＲＡＭ３２のみを使用し、パチスロのプログラムの場合は第１ユーザＲＡＭ３２と第２ユーザＲＡＭ３３の両方を使用する。遊技機制御用のプログラムは、通常、遊技機の制御プログラムと割込みプログラムが実行される。第１ユーザＲＡＭ３２及び第２ユーザＲＡＭ３３は、ワークエリアの他に、レジスタ退避やサブルーチン、割込み処理の復帰アドレスを一時的に格納するスタックエリアとしても使用される。Ｑレジスタの初期値はＸＸＸＸ7の上位８ビットとし、第１ユーザＲＡＭ３２の上位バイトを示し、Ｑ’レジスタの初期値はＸＸＸＸ9の上位８ビットとし、第２ユーザＲＡＭ３３の上位バイトを示している。
【００３１】
使用領域外は、アドレスがＸＸＸＸ5から始まる外部プログラムエリア３４（Ｙ9バイト）と、アドレスがＸＸＸＸ11から始まる外部ユーザＲＡＭ３５（Ｙ6バイト）が含まれる。外部プログラムエリア３４はＲＯＭで構成され、外部ユーザＲＡＭ３５は、使用領域外で更新可能なメモリで構成される。外部ブログラムエリア３４には、遊技機の制御以外の、チップの試験に必要な処理及び不正防止を目的としたプログムが配置され、外部ユーザＲＡＭ３５は、外部プログラムエリア３４のプログラムが実行中にワークエリアとしてレジスタ退避やサブルーチンの復帰アドレスを一時的に格納するスタックエリアとして使用される。
【００３２】
内蔵デバイス設定エリア３６は、遊技機制御用チップの内蔵デバイス（タイマ、乱数回路、外部入出力回路等）の設定のためのレジスタが配置されたエリアである。内蔵デバイス制御エリア３７は、遊技機制御用の内蔵デバイスのアクセス制御を行うためのエリアである。前述のように、このエリアにアクセスするための１６ビットのアドレスのうち上位８ビットはＵレジスタに予め初期値として設定された例えばＸＸＸＸ15の上位８ビットとされている。
【００３３】
図６は、本実施形態に係る遊技機制用のセキュリティチップ５０の平面図であり、図７は、図６に示したセキュリティチップ５０の各ピンの名称及びその説明を表にして示している。図６に示すように、セキュリティチップ５０には、パッケージ本体の左側に３５本、右側に３６本、計７１本のピンが設けられている。セキュリティチップ５０が基板に実装される際に、これらのピンが基板に設けられた各種信号線や電源線と接続される。遊技機制御用のセキュリティチップは、規則上、表面実装部品や多層基板を採用できないことになっており、図６に示すようなＤＩＰ形状のパッケージとしなければならない。このため、パッケージの強度と製造工程を考慮すると現状のピン数７１本が設けうる最大のピン数である。
【００３４】
遊技機用メーカは、それぞれに自社の遊技機用のプログラムを開発するが、その際に自由に使うことのできるピンの数が多ければそれだけ開発の自由度も高くなる。しかし、実際のセキュリティチップは、図６に示すように、非常に狭い間隔で多数（７１本）のピンが設けられている。この中で、前述のように検査のために使用されるピンを除いたピンが、遊技機メーカが独自の演出等のために使用できるピンとなる。このため、遊技機の演出等に自由に使うことのできるピンの数を増やしてほしいという要請が以前からあった。
【００３５】
図８は、本実施形態に係る遊技機制御用のセキュティチップのメモリ及び入出力部（Ｉ／Ｏ）に関連する部分のハードウェア的な回路図である。本実施形態では、図５に示したよう、Ｉ／Ｏ（入出力部）に接続された内蔵デバイスのためのアドレス空間をメモリアドレス空間と一体化したことによって、Ｉ／Ｏアドレス空間とメモリアドレス空間とが別々だったこれまでの遊技機用のセキュリティチップにおいて必要とされたメモリリクエスト（ＭＲＥＱ）及びＩ／Ｏリクエスト（ＩＯＲＱ）という２つのピンが不要となる。そのため従来メモリリクエスト（ＭＲＥＱ）及びＩ／Ｏリクエスト（ＩＯＲＱ）が割り振られていた２つのピンを、遊技機メーカが自由に使うことのできるピンとして解放できる。これにより、遊技機メーカでプログラム開発の自由度が高まり、より高度な遊技機用のプログラムを開発する上で有益となる。
【００３６】
さらに、本実施形態のように、Ｉ／Ｏアドレス空間をメモリアドレス空間と一体化したことによって、図９に示したような論理回路素子（ゲート）１０７、１０８、１０９、１１０は不要となり、ハードウェアが簡素化されコストも低減される。
【００３７】
以上、本発明の実施の形態について説明したが、これらのあくまでも実施の一形態であり、本発明の技術的範囲は上述の実施の形態に限定されず、特許請求の範囲に記載に基づいて判断されるべきである。
【符号の説明】
【００３８】
１      ：ＣＰＵ
２      ：ＣＰＵコア
３      ：バスコントローラ
４      ：メモリ（ユニット）
５      ：入出力部（Ｉ／Ｏ）
６1，６2：アドレスデコーダ（ＤＥＣ）
１０    ：外部入力ユニット
１１    ：状態制御ユニット
１２    ：中央制御ユニット
１３    ：命令デコーダ
１４    ：データパスユニット
１５    ：レジスタユニット
３０    ：ユーザプログラムエリア
３１    ：ユーザデータエリア
３２    ：第１ユーザＲＡＭ
３３    ：第２ユーザＲＡＭ
３４    ：外部プログラムエリア
３５    ：外部ユーザＲＡＭ
３６    ：内蔵デバイス設定エリア
３７    ：内蔵デバイス制御エリア
５０    ：セキュリティチップ
５３    ：第２ユーザＲＡＭ
５７    ：制御エリア
１０１  ：ＣＰＵ
１０４  ：メモリユニット
１０５  ：入出力部（Ｉ／Ｏ）１０６1，１０６2：アドレスデコーダ（ＤＥＣ）
１０７，１０８，１０９，１１０：論理回路素子
【図１】
2019114303.tif 000003
【図２】
2019114303.tif 000004
【図３】
2019114303.tif 000005
【図４】
2019114303.tif 000006
【図５】
2019114303.tif 000007
【図６】
2019114303.tif 000008
【図７】
2019114303.tif 000009
【図８】
2019114303.tif 000010
【図９】
2019114303.tif 000011