(57)【要約】  【課題】  安価に時計機能を実装できる子供用パーソナルコンピュータを提供することである。  【解決手段】  プログラムに従った演算を実行して、ビデオ信号ＶＤ及びオーディオ信号ＡＵを生成し、テレビジョンモニタ７に出力するプロセッサ６０と、複数のキースイッチＫｉをマトリクス状に配列したキーマトリクス４６と、キースイッチＫｉの操作によるキー入力をキーマトリクス４６から読み取り、キー入力情報をプロセッサ６０に与えるＭＣＵ４８と、を備える。ＭＣＵ４８は、水晶発振器からのクロックに基づいて動作するとともに、そのクロックに基づくリアルタイムクロック機能を有し、プロセッサ６０からの１フレームごとの要求に応答して、キー入力情報とともに、リアルタイムクロック機能により生成した時刻情報をプロセッサ６０に与える。【選択図】  図２
0003108114.tif 000002
【実用新案登録請求の範囲】
【請求項１】
プログラムに従った演算を実行して、ビデオ信号及びオーディオ信号を生成し、テレビジョンモニタに出力するプロセッサと、
複数のキースイッチをマトリクス状に配列したキーマトリクスと、
前記キースイッチの操作によるキー入力を前記キーマトリクスから読み取り、キー入力情報を前記プロセッサに与えるマイクロコントローラユニットと、を備え、
前記マイクロコントローラユニットは、水晶発振器からのクロックに基づいて動作するとともに、そのクロックに基づくリアルタイムクロック機能を有し、前記プロセッサからの一定時間ごとの要求に応答して、前記キー入力情報とともに、前記リアルタイムクロック機能により生成した時刻情報を前記プロセッサに与える、子供用パーソナルコンピュータ。
【請求項２】
前記プロセッサは、前記マイクロコントローラユニットから前記キー入力情報及び前記時刻情報を取得する場合、前記マイクロコントローラユニットからの割り込み要求が発生するたびに、前記マイクロコントローラユニットから１ビットのデータを受け取ることにより、前記マイクロコントローラユニットが出力した前記キー入力情報及び前記時刻情報を取得する、請求項１記載の子供用パーソナルコンピュータ。
【請求項３】
前記プロセッサと前記マイクロコントローラユニットとは、第１のライン、第２のライン、及び第３のラインにより接続され、
前記第1のラインは、前記マイクロコントローラユニットから前記プロセッサへ、前記割り込み要求を表すパルスを伝達し、
前記第２のラインは、前記マイクロコントローラユニットから前記プロセッサへ、前記キー入力情報及び前記時刻情報を伝達し、
前記第３のラインは、前記プロセッサから前記マイクロコントローラユニットへの応答を伝達する、請求項２記載の子供用パーソナルコンピュータ。
【請求項４】
第１ブートプログラムを格納した第1のメモリと、
第２ブートプログラムを格納した第２のメモリを内蔵するメモリカートリッジが装着されていない場合は、前記プロセッサの論理アドレス空間の第１領域に前記第１のメモリがマッピングされ、前記メモリカートリッジが装着されている場合は、前記第１のメモリが前記論理アドレス空間の第２領域にマッピングされるとともに、前記第２のメモリが前記第１領域にマッピングされるように、マッピングを制御するメモリマップコントロールユニットと、をさらに備え、
前記プロセッサは、前記第１ブートプログラム及び前記第２ブートプログラムのうち、前記第１領域にマッピングされたプログラムを電源投入時に実行する、請求項１から３記載の子供用パーソナルコンピュータ。
【考案の詳細な説明】
【技術分野】
【０００１】
本発明は、テレビジョンモニタに接続して使用する子供用パーソナルコンピュータ及びその関連技術に関する。
【背景技術】
【０００２】
従来より、テレビジョンモニタに接続して使用する子供用パーソナルコンピュータが存在する。
【考案の開示】
【考案が解決しようとする課題】
【０００３】
このパーソナルコンピュータは、子供用であるため、安価であることが要求される。このため、極力コストを抑えるべく、時計機能は実装されていない。
【０００４】
そこで、本考案は、安価に時計機能を実装できる子供用パーソナルコンピュータ及びその関連技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本考案の形態によると、子供用パーソナルコンピュータは、プログラムに従った演算を実行して、ビデオ信号及びオーディオ信号を生成し、テレビジョンモニタに出力するプロセッサと、複数のキースイッチをマトリクス状に配列したキーマトリクスと、前記キースイッチの操作によるキー入力を前記キーマトリクスから読み取り、キー入力情報を前記プロセッサに与えるマイクロコントローラユニットと、を備え、前記マイクロコントローラユニットは、水晶発振器からのクロックに基づいて動作するとともに、そのクロックに基づくリアルタイムクロック機能を有し、前記プロセッサからの一定時間ごとの要求に応答して、前記キー入力情報とともに、前記リアルタイムクロック機能により生成した時刻情報を前記プロセッサに与える。
【０００６】
この構成によれば、キースキャンを行うマイクロコントローラユニットがリアルタイムクロック機能を有しているので、マイクロコントローラユニットとは別個に、リアルタイムクロック機能を有するチップを設ける必要がなく、時計機能を実装した子供用パーソナルコンピュータを安価に提供できる。
【０００７】
上記子供用パーソナルコンピュータにおいて、前記プロセッサは、前記マイクロコントローラユニットから前記キー入力情報及び前記時刻情報を取得する場合、前記マイクロコントローラユニットからの割り込み要求が発生するたびに、前記マイクロコントローラユニットから１ビットのデータを受け取ることにより、前記マイクロコントローラユニットが出力した前記キー入力情報及び前記時刻情報を取得する。
【０００８】
この構成によれば、プロセッサは、マイクロコントローラユニットからの割り込み要求に応答して、キー入力情報及び時刻情報を取得するので、１ビットのデータを取得した後、次の割り込み要求が発生するまでは、他の処理を実行できる。従って、マイクロコントローラユニットの動作クロックが、プロセッサの演算処理装置の動作クロックより大幅に遅い場合でも、プロセッサを効率良く動作させることができる。
【０００９】
また、マイクロコントローラユニットはリアルタイムクロック機能を有するため、常に動作させておく必要がある。従って、マイクロコントローラユニットの消費電力は小さいほうが好ましい。一般的に、動作クロックの周波数が高いほど消費電力が大きくなる。従って、消費電力抑制という観点からは、マイクロコントローラユニットの動作クロックは遅いほうが好ましい。本発明では、マイクロコントローラユニットの動作クロックを遅くして、消費電力を抑制しながらも、上記のようにプロセッサを効率良く動作させることができる。
【００１０】
上記子供用パーソナルコンピュータにおいて、前記プロセッサと前記マイクロコントローラユニットとは、第１のライン、第２のライン、及び第３のラインにより接続され、前記第1のラインは、前記マイクロコントローラユニットから前記プロセッサへ、前記割り込み要求を表すパルスを伝達し、前記第２のラインは、前記マイクロコントローラユニットから前記プロセッサへ、前記キー入力情報及び前記時刻情報を伝達し、前記第３のラインは、前記プロセッサから前記マイクロコントローラユニットへの応答を伝達する。
【００１１】
上記子供用パーソナルコンピュータは、第１ブートプログラムを格納した第1のメモリと、第２ブートプログラムを格納した第２のメモリを内蔵するメモリカートリッジが装着されていない場合は、前記プロセッサの論理アドレス空間の第１領域に前記第１のメモリがマッピングされ、前記メモリカートリッジが装着されている場合は、前記第１のメモリが前記論理アドレス空間の第２領域にマッピングされるとともに、前記第２のメモリが前記第１領域にマッピングされるように、マッピングを制御するメモリマップコントロールユニットと、をさらに備え、前記プロセッサは、前記第１ブートプログラム及び前記第２ブートプログラムのうち、前記第１領域にマッピングされたプログラムを電源投入時に実行する。
【００１２】
この構成によれば、メモリカートリッジが未装着の場合、第１領域にマッピングされる第１ブートプログラムが最初に実行される。一方、メモリカートリッジが装着されている場合、第１領域にマッピングされる第２ブートプログラムが最初に実行される。このように、メモリカートリッジを装着したときと装着しないときとで異なるプログラムを起動できる。
【考案を実施するための最良の形態】
【００１３】
以下、本考案の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。また、１６進数の表現に関しては、１０進数と区別するために数字の末尾に「ｈ」を付けて表記する。
【００１４】
図１は、本考案の実施の形態における子供用パーソナルコンピュータシステムの全体構成を示す図である。図１に示すように、この子供用パーソナルコンピュータシステムは、パーソナルコンピュータ本体（以下、「ＰＣ本体」と呼ぶ。）１、メモリカートリッジ３、マウス５、テレビジョンモニタ７、及びＡ／Ｖ（ａｕｄｉｏ／ｖｉｄｅｏ）ケーブル９を備える。
【００１５】
ＰＣ本体１とテレビジョンモニタ７とはＡ／Ｖケーブル９により接続される。ＰＣ本体１には、図示しないＡＣアダプタにより、直流電源電圧が与えられる。ただし、ＡＣアダプタに代えて、電池により、直流電源電圧を与えることもできる。
【００１６】
ＰＣ本体１の正面中央には、メモリカートリッジ３を装着するためのスロット１１が設けられる。ＰＣ本体１には、マウス５がケーブルにより接続される。ＰＣ本体１には、キーカバー１３が開閉自在に取り付けられる。このキーカバー１３は、フック１８により、閉じた状態で固定することができる。
【００１７】
ＰＣ本体１の表面には、６５個のキースイッチＫｉ（ｉ＝０〜６４）、方向キーセット１７，２１、決定キー１９，２３、電源スイッチ１５、リセットボタン２５、及びフック１８が設けられる。
【００１８】
電源スイッチ１５によって、電源のオン／オフを切り換えることができる。リセットボタン２５により、ＰＣ本体１の内部システムをリセットすることができる。ＰＣ本体１は、二人で使用することもできる。方向キーセット１７及び決定キー１９は、一方のプレイヤの操作用に用いることができ、方向キーセット２１及び決定キー２３は、他方のプレイヤの操作用に用いることができる。方向キーセット１７及び２１の各々は、４方向（上下左右）の個別キーを有し、テレビジョンモニタ７の表示画面上で、カーソルの移動やオブジェクトの操作などに用いられる。
【００１９】
６５個のキーＫｉには、エスケープキー、バックスペースキー、エンターキー、入力切換キー、入力モードキー、３個のカーソルキー、文字切り替えキー、記号キー、絵文字キー、ゲームボタン、戻るキー、メールキー、スーパーキー、スペースキー、２個のシフトキー、及び、４８個の文字入力キーが含まれる。マウス５は、テレビジョンモニタ７の表示画面上のカーソルの移動やオブジェクトの移動などに用いられる。マウス５のマウスボタンは、テレビジョンモニタ７の表示画面上のアイコンの選択などに用いられる。
【００２０】
図２は、図１のＰＣ本体１の電気的構成を示す図である。図２に示すように、ＰＣ本体１は、マイクコネクタ３０、プリンタコネクタ３２、マウスコネクタ３４、オーディオ端子３６、ビデオ端子３８、ＥＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ａｎｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）４０、アンプ４２、電源回路４４、キーマトリクス４６、マイクロコントローラユニット（以下、「ＭＣＵ」と呼ぶ。）４８、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ：以下、「本体ＲＯＭ」と呼ぶ。）５０、ＳＲＡＭ（ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）５２、メモリマップコントローラ（以下、「ＭＭＣ」と呼ぶ。）５４、データバス５６、アドレスバス５８、及びプロセッサ６０を含む。メモリカートリッジ３は、ＥＥＰＲＯＭ４及びＲＯＭ（以下、「カートリッジＲＯＭ」と呼ぶ。）６を内蔵する。
【００２１】
本体ＲＯＭ５０には、ブートプログラム、オペレーティングシステム、及びアプリケーションプログラムなどのプログラム、並びに、画像データ、音声データ、及びフォントデータなどのデータが格納される。カートリッジＲＯＭ６には、本体ＲＯＭ５０とは異なる、ブートプログラム、オペレーティングシステム、及びアプリケーションプログラムなどのプログラム、並びに、画像データ及び音声データなどのデータが格納される。
【００２２】
ＳＲＡＭ５２は、プロセッサ６０による描画領域として使用され、フォントを描画するための画面イメージ、背景を描画するための画面イメージ、及びその両者を合成した画面イメージを格納する。これらの画面イメージは、ビットマップイメージである。
【００２３】
本体ＲＯＭ５０、カートリッジＲＯＭ６、及びＳＲＡＭ５２は、データバス５６及びアドレスバス５８に接続される。プロセッサ６０は、データバス５６及びアドレスバス５８を介して、本体ＲＯＭ５０、カートリッジＲＯＭ６、及びＳＲＡＭ５２にアクセスできる。本実施の形態では、データバス５６のバス幅を１６ビットとし、アドレスバス５８のバス幅を２４ビット（Ａ０〜Ａ２３）とする。
【００２４】
プロセッサ６０は、メモリカートリッジ３が装着されていない場合は、本体ＲＯＭ５０に格納されたプログラムを実行して、様々な演算を行い、本体ＲＯＭ５０及びＳＲＡＭ５２に格納されたデータに基づいて、ビデオ信号ＶＤ及びオーディオ信号ＡＵを生成する。また、プロセッサ６０は、メモリカートリッジ３が装着されている場合は、カートリッジＲＯＭ６に格納されたプログラムを実行して、様々な演算を行い、カートリッジＲＯＭ６、ＳＲＡＭ５２、及び本体ＲＯＭ５０に格納されたデータに基づいて、ビデオ信号ＶＤ及びオーディオ信号ＡＵを生成する。
【００２５】
ＭＭＣ５４は、モード１及びモード２、並びに、メモリカートリッジ３の装着／未装着に応じて、メモリマップを制御する。これにより、プロセッサ６０は、メモリカートリッジ３の未装着時には、本体ＲＯＭ５０のブートプログラムを実行し、メモリカートリッジ３の装着時には、カートリッジＲＯＭ６のブートプログラムを実行する。詳細は後述する。
【００２６】
キーマトリクス４６は、６５個のキースイッチＫｉ、方向キーセット１７，２１、及び決定キー１９，２３をマトリクス状に配列して形成される。詳細は後述する。ＭＣＵ４８は、キースキャン機能及びリアルタイムクロック機能を有する。つまり、ＭＣＵ４８は、キーマトリクス４６に対してキースキャンを実行し、キー入力情報をプロセッサ６０に与えるとともに、後述の水晶発信器に基づいて計時を行い、時刻情報を生成して、プロセッサ６０に与える。詳細は後述する。
【００２７】
マイクコネクタ３０は、図示しないマイクを接続するためのコネクタである。マイクから入力された音声信号は、マイクコネクタ３０を介してアンプ４２に入力される。ただし、マイクコネクタ３０は、マイクを接続できるだけでなく、他の入力装置（デジタル入力／アナログ入力のいずれでもよい。）も接続できるように、プロセッサ６０の特定のいくつかの入出力ポート（Ｉ／Ｏポート）及び特定のアナログ入力ポートに接続される。
【００２８】
プリンタコネクタ３２は、図示しないプリンタを接続するためのコネクタであり、プロセッサ６０の特定のいくつかのＩ／Ｏポートに接続される。プリンタとプロセッサ６０とは、プリンタコネクタ３２及びそれらＩ／Ｏポートを介して通信を行う。ただし、プリンタコネクタ３２は、プリンタを接続できるだけでなく、他の入力装置（デジタル入力）を接続することもできる。また、プリンタコネクタ３２は、アナログ入力装置を接続できるように、プロセッサ６０の特定のいくつかのアナログ入力ポートに接続される。
【００２９】
マウスコネクタ３４は、マウス５を接続するためのコネクタであり、プロセッサ６０の特定のいくつかのＩ／Ｏポートに接続される。マウス５からの信号は、それらＩ／Ｏポートに与えられる。なお、マウス５とは別に、他のマウス（図示せず）をマイクコネクタ３０に接続することにより、二人がそれぞれマウスを使用することもできる。この場合、テレビジョンモニタ７には、それぞれのマウスに対応して２つのカーソルが表示される。
【００３０】
ＥＥＰＲＯＭ４０及び４はそれぞれ、プロセッサ６０の特定のいくつかのＩ／Ｏポートに接続される。従って、プロセッサ６０は、これらのＩ／Ｏポートを介して、ＥＥＰＲＯＭ４０，４にアクセスでき、ライト、リード、及びイレイズなどを行うことができる。
【００３１】
アンプ４２は、プロセッサ６０が出力したオーディオ信号ＡＵを増幅して、オーディオ端子３６に与える。マイクコネクタ３０から音声信号が入力されたときは、アンプ４２は、その音声信号とプロセッサ６０からのオーディオ信号ＡＵとをミキシングし、さらに、増幅して、オーディオ端子３６に出力する。オーディオ端子３６及びビデオ端子３８は、Ａ／Ｖケーブル９に接続される。
【００３２】
電源回路４４は、ＡＣアダプタからの直流電源電圧に基づいて、電源電圧Ｖｃｃ０及びＶｃｃ１を生成して、ＰＣ本体１内及びメモリカートリッジ３内の各種回路に供給する。電源電圧Ｖｃｃ０は、例えば、＋２．５Ｖであり、主にデジタル回路に供給される。また、電源電圧Ｖｃｃ１は、例えば、＋３．３Ｖであり、主にアナログ回路に供給される。
【００３３】
図３は、図２のプロセッサ６０の内部構成を示すブロック図である。図３に示すように、このプロセッサ６０は、中央演算処理装置（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）６１、グラフィックプロセッサ６３、ピクセルプロッタ６５、サウンドプロセッサ６７、ＤＭＡ（ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）コントローラ６９、第１バスアービタ７３、第２バスアービタ７４、バックアップコントロール回路７５、メインメモリ７７、タイマ回路７９、Ａ／Ｄコンバータ（ＡＤＣ：ａｎａｌｏｇ  ｔｏ  ｄｉｇｉｔａｌ  ｃｏｎｖｅｒｔｅｒ）８０、入出力制御回路８１、外部メモリインタフェース回路８３、クロックドライバ８９、ＰＬＬ（ｐｈａｓｅ−ｌｏｃｋｅｄ  ｌｏｏｐ）回路８７、低電圧検出回路８５、第１バス９１、及び第２バス９３を含む。
【００３４】
ＣＰＵ６１は、メモリＭＥＭに格納されたプログラムに従い、各種演算やシステム全体の制御を行う。ＣＰＵ６１は、第１バス９１及び第２バス９３のバスマスタであり、それぞれのバスに接続された資源にアクセスが可能である。ＣＰＵ６１の動作クロックは、例えば、約４０ＭＨｚである。
【００３５】
ここで、本実施の形態では、メインメモリ７７、本体ＲＯＭ、及びカートリッジＲＯＭ６を区別して説明する必要がないときは、「メモリＭＥＭ」と表記する。また、本体ＲＯＭ５０、ＳＲＡＭ５２、及びカートリッジＲＯＭ６を区別して説明する必要がないときは、「外部メモリ」と表記する。
【００３６】
グラフィックプロセッサ６３は、第１バス９１及び第２バス９３のバスマスタであり、メモリＭＥＭ及びＳＲＡＭ５２に格納されたデータを基に、グラフィックデータを合成し、さらにこれを基にテレビジョンモニタ７に合わせたビデオ信号ＶＤを生成して出力する。
【００３７】
ここで、グラフィックデータは、バックグラウンドスクリーンとスプライトとビットマップスクリーンとから合成される。バックグラウンドスクリーンは、矩形の画素集合の二次元配列からなり、テレビジョンモニタ７のスクリーンを全て覆う大きさを持つ。奥行きのある背景を形成できるように、バックグラウンドスクリーンとして、第１のバックグラウンドスクリーンと第２のバックグラウンドスクリーンとが用意される。スプライトは、テレビジョンモニタ７のスクリーンのいずれの位置にでも配置可能な１つの矩形の画素集合からなる。ビットマップスクリーンは自由に大きさと位置を設定可能な二次元ピクセル配列からなる。
【００３８】
また、グラフィックプロセッサ６３は、第１バス９１を通じて、ＣＰＵ６１により制御され、また、ＣＰＵ６１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。
【００３９】
ピクセルプロッタ６５は、第１バス９１を通じて、ＣＰＵ６１により制御され、ＣＰＵ６１から与えられたピクセルデータの描画を実行する。この場合、ピクセル単位での描画が可能である。ここで言うピクセルデータは、１ピクセルの表示色をＭビット（Ｍは１以上の整数）で表したデータである。例えば、Ｍ＝１〜８である。
【００４０】
また、ピクセルプロッタ６５は、キャッシュシステムにより、高速な描画と効率的なバス（第１バス９１及び第２バス９３）の使用を実現している。さらに、ピクセルプロッタ６５は、第１バス９１及び第２バス９３のバスマスタであり、キャッシュ（図示せず）からメモリＭＥＭ及びＳＲＡＭ５２へのライト並びにメモリＭＥＭ及びＳＲＡＭ５２からキャッシュへのリードを自律的に行うことができる。
【００４１】
サウンドプロセッサ６７は、第１バス９１及び第２バス９３のバスマスタであり、メモリＭＥＭに格納されたデータを基に、サウンドデータを合成し、さらにこれを基にオーディオ信号ＡＵを生成して出力する。
【００４２】
サウンドデータは、基本の音色となるＰＣＭ（パルスコードモジュレーション）データに対し、ピッチ変換及び振幅変調を行い合成される。振幅変調では、ＣＰＵ６１によって指示されるボリューム制御の他に、楽器の波形を再現するためのエンベロープ制御の機能が用意される。
【００４３】
また、サウンドプロセッサ６７は、第１バス９１を通じて、ＣＰＵ６１により制御され、また、ＣＰＵ６１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。
【００４４】
ＤＭＡコントローラ６９は、データバス５６及びアドレスバス５８に接続された外部メモリから、メインメモリ７７へのデータ転送を司る。また、ＤＭＡコントローラ６９は、データ転送の完了を通知するために、ＣＰＵ６１に対する割込み要求信号ＩＮＲＱを発生する機能を有する。さらに、ＤＭＡコントローラ６９は、第１バス９１及び第２バス９３のバスマスタであり、また、第１バス９１を通じてＣＰＵ６１により制御される。
【００４５】
メインメモリ７７は、マスクＲＯＭ、ＳＲＡＭ、及び、ＤＲＡＭのうち、必要なものを備える。本実施の形態では、メインメモリ７７をＳＲＡＭで構成する。
【００４６】
バックアップコントロール回路７５は、電源電圧Ｖｃｃ０及びＶｃｃ１を監視して、これらの電源電圧の少なくとも一方が所定の電圧より低くなった場合に、メインメモリ７７を非活性化する。そして、メインメモリ７７には、バッテリ９５から電源電圧が供給される。従って、電源電圧Ｖｃｃ０及びＶｃｃ１の供給が停止された場合でも、ＳＲＡＭたるメインメモリ７７のデータが保持される。
【００４７】
第１バスアービタ７３は、第１バス９１の各バスマスタからの第１バス使用要求信号を受け付け、調停を行って、バスサイクル毎に１つのバスマスタに対して第１バス使用許可信号を発行する。各バスマスタは、第１バス使用許可信号を受領することによって第１バス９１の使用が許可される。ここで、第１バス使用要求信号及び第１バス使用許可信号は、図３では、第１バス調停信号ＦＡＢとして示されている。
【００４８】
第１バス９１は、例えば、８ビットのデータバス、１５ビットのアドレスバス、及びコントロールバスを含む（図示せず）。
【００４９】
第２バスアービタ７４は、第２バス９３の各バスマスタからの第２バス使用要求信号を受け付け、調停を行って、要求されたバイト数に対応する１または複数のバスサイクル毎に１つのバスマスタに第２バス使用許可信号を発行する。各バスマスタは、第２バス使用許可信号を受領することによって第２バス９３の使用が許可される。ここで、第２バス使用要求信号及び第２バス使用許可信号は、図３では、第２バス調停信号ＳＡＢとして示されている。
【００５０】
第２バス９３は、例えば、１６ビットのデータバス、２４ビットのアドレスバス、及びコントロールバスを含む（図示せず）。
【００５１】
タイマ回路７９は、設定された時間間隔に基づき、ＣＰＵ６１に対する割込み要求信号ＩＮＲＱを発生する機能を有する。時間間隔等の設定は、第１バス９１を介してＣＰＵ６１によって行われる。
【００５２】
ＡＤＣ８０は、アナログ入力信号をデジタル信号に変換する。このデジタル信号は、第１バス９１を介してＣＰＵ６１によってリードされる。また、ＡＤＣ８０は、ＣＰＵ６１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。なお、外部からのアナログ信号は、例えば、６つのアナログ入力ポートＡＩＮ０〜５を介して、ＡＤＣ８０へ入力される。
【００５３】
入出力制御回路８１は、外部入出力装置や外部の半導体素子との通信等を、入出力信号を介して行う。入出力信号は、第１バス９１を介して、ＣＰＵ６１からリード／ライトされる。また、入出力制御回路８１は、ＣＰＵ６１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。なお、入出力信号は、例えば、プログラマブルな入出力ポート（Ｉ／Ｏポート）ＩＯ０〜ＩＯ２３を介して入出力される。
【００５４】
低電圧検出回路８５は、電源電圧Ｖｃｃ０及びＶｃｃ１を監視し、いずれかの電源電圧がそれぞれについて定められた電圧以下になったときに、ＰＬＬ回路８７等のリセット信号、その他のシステム全体のリセット信号ＲＳＥＴを発行する。
【００５５】
ＰＬＬ回路８７は、水晶振動子９７より得られる正弦波信号を逓倍した高周波クロック信号を生成する。
【００５６】
クロックドライバ８９は、ＰＬＬ回路８７より受け取った高周波クロック信号を、十分な信号強度へ増幅して、内部クロックＩＣＬＫとして、各ブロックへ供給する。
【００５７】
外部メモリインタフェース回路８３は、第２バス９３をデータバス５６及びアドレスバス５８に接続するための機能を有する。
【００５８】
図３のプロセッサ６０におけるデータの転送経路を説明する。例えば、バスマスタたるＣＰＵ６１が、バススレイブとして第１バス９１に接続されている他の機能ブロック（グラフィックプロセッサ６３、ピクセルプロッタ６５、サウンドプロセッサ６７、ＤＭＡコントローラ６９、第１バスアービタ７３、第２バスアービタ７４、等）を制御する場合は、これら機能ブロックの制御レジスタ等へのライトデータは、第１バスアービタ７３へ与えられ、調停後に、第１バス９１から、各機能ブロックに与えられ、一方、これら機能ブロックの制御レジスタ等からのリードデータは、調停後に、第１バス９１及び第１バスアービタ７３を介して、ＣＰＵ６１に与えられる。但し、グラフィックプロセッサ６３、ピクセルプロッタ６５、サウンドプロセッサ６７、ＤＭＡコントローラ６９は、第１バス９１のバスマスタとして、第１バスアービタ７３へバス使用要求を行う機能を備える。
【００５９】
バスマスタが、メインメモリ７７に対してアクセスする場合は、ライトデータは、第１バスアービタ７３に与えられ、調停後に、第１バス９１から、メインメモリ７７に与えられ、一方、リードデータは、調停後に、第１バス９１及び第１バスアービタ７３を介して、バスマスタに与えられる。また、バスマスタが、外部メモリに対してアクセスする場合は、ライトデータは、第２バスアービタ７４に与えられ、調停後に、第２バス９３から、外部メモリインタフェース回路８３及びデータバス５６を介して、外部メモリに与えられ、一方、リードデータは、調停後に、データバス５６、外部メモリインタフェース回路８３、第２バス９３及び第２バスアービタ７４を介して、バスマスタに与えられる。
【００６０】
次に、キースキャン機能及びリアルタイムクロック機能について説明する。
【００６１】
図４は、図２のキーマトリクス４６及びＭＣＵ４８の説明図である。図４に示すように、キーマトリクス４６は、キースイッチＫ０〜Ｋ６４、方向キーセット１７，２１、及び決定キー１９，２３をマトリクス状に配列して形成される。ただし、図４では、方向キーセット１７，２１及び決定キー１９，２３、並びに、それらに関連する配線は省略している。
【００６２】
ラインＬ０は、ＭＣＵ４８の端子Ｐ０、キースイッチ（左シフトキー）Ｋ６３の一方接点、及びキースイッチ（右シフトキー）Ｋ６４の一方接点に接続される。ラインＬ１３は接地されるとともに、キースイッチＫ６３及びＫ６４の他方接点に接続される。また、ラインＬ１〜Ｌ１２はそれぞれ、ＭＣＵ４８の端子Ｐ１〜Ｐ１２に接続される。
【００６３】
ラインＬ２〜Ｌ１１はそれぞれ、キースイッチＫ０，Ｋ１，Ｋ３，Ｋ６，Ｋ１０，Ｋ１５，Ｋ２１，Ｋ２８，Ｋ３６及びＫ４４により、ラインＬ１と導通可能に接続される。ラインＬ３〜Ｌ１２はそれぞれ、キースイッチＫ２，Ｋ４，Ｋ７，Ｋ１１，Ｋ１６，Ｋ２２，Ｋ２９，Ｋ３７，Ｋ４５及びＫ５４により、ラインＬ２と導通可能に接続される。ラインＬ４〜Ｌ１２はそれぞれ、キースイッチＫ５，Ｋ８，Ｋ１２，Ｋ１７，Ｋ２３，Ｋ３０，Ｋ３８，Ｋ４６及びＫ５５により、ラインＬ３と導通可能に接続される。
【００６４】
ラインＬ５〜Ｌ１２はそれぞれ、キースイッチＫ９，Ｋ１３，Ｋ１８，Ｋ２４，Ｋ３１，Ｋ３９，Ｋ４７及びＫ５６により、ラインＬ４と導通可能に接続される。ラインＬ６〜Ｌ１２はそれぞれ、キースイッチＫ１４，Ｋ１９，Ｋ２５，Ｋ３２，Ｋ４０，Ｋ４８及びＫ５７により、ラインＬ５と導通可能に接続される。ラインＬ７〜Ｌ１２はそれぞれ、キースイッチＫ２０，Ｋ２６，Ｋ３３，Ｋ４１，Ｋ４９及びＫ５８により、ラインＬ６と導通可能に接続される。ラインＬ８，Ｌ９，Ｌ１１及びＬ１２はそれぞれ、キースイッチＫ２７，Ｋ３４，Ｋ５０及びＫ５９により、ラインＬ７と導通可能に接続される。ラインＬ９〜Ｌ１２はそれぞれ、キースイッチＫ３５，Ｋ４２，Ｋ５１及びＫ６０により、ラインＬ８と導通可能に接続される。ラインＬ１０〜Ｌ１２はそれぞれ、キースイッチＫ４３，Ｋ５２及びＫ６１により、ラインＬ９と導通可能に接続される。
【００６５】
ＭＣＵ４８の端子Ｐ１３とプロセッサ６０のＩ／ＯポートＩＯ１３とは信号線ＡＣＫにより接続され，端子Ｐ１４とプロセッサ６０のＩ／ＯポートＩＯ１４とは信号線ＤＡＴにより接続され、端子Ｐ１５とプロセッサ６０のＩ／ＯポートＩＯ１５とは信号線ＩＣＫにより接続される。なお、信号及びそれに対応する信号線には同じ参照符号を付する。
【００６６】
本体ＰＣ１の電源スイッチ１５がオンの場合は、ショットキーダイオード１０７を介して、電源電圧Ｖｃｃ０がＭＣＵ４８に供給される。本体ＰＣ１の電源スイッチ１５がオフの場合は、ショットキーダイオード１０５を介して、バッテリ１０１から電源電圧がＭＣＵ４８に供給される。
【００６７】
水晶振動子１１１、コンデンサ１１３，１１５、ＭＣＵ４８内部の抵抗素子（図示せず）、及びＭＣＵ４８内部のインバータ（図示せず）により水晶発振器が構成される。本実施の形態では、水晶振動子１１１の発振周波数を、３２．７６８ｋＨｚとする。ＭＣＵ４８は、この水晶発振器からのクロックに基づいて動作する。
【００６８】
ＭＣＵ４８は、端子Ｐ１〜Ｐ１０を制御して、ラインＬ１〜Ｌ１０を順番に一本ずつハイレベルにしていく。ハイレベルにされたラインＬ１，…Ｌ９又はＬ１０に一方接点が接続されるキースイッチＫｉが押下されると、押下されたキースイッチＫｉの他方接点に接続されるラインＬ２，…Ｌ１１又はＬ１２（つまり、端子Ｐ２，…Ｐ１１又はＰ１２）の電位がハイレベルになる。
【００６９】
ＭＣＵ４８は、ラインＬ１がハイレベルのときは端子Ｐ２〜Ｐ１１の値を読み込み、ラインＬ２がハイレベルのときは端子Ｐ３〜Ｐ１２の値を読み込み、ラインＬ３がハイレベルのときは端子Ｐ４〜Ｐ１２の値を読み込み、ラインＬ４がハイレベルのときは端子Ｐ５〜Ｐ１２の値を読み込み、ラインＬ５がハイレベルのときは端子Ｐ６〜Ｐ１２の値を読み込み、ラインＬ６がハイレベルのときは端子Ｐ７〜Ｐ１２の値を読み込み、ラインＬ７がハイレベルのときは端子Ｐ８，Ｐ９，ｐ１１，Ｐ１２の値を読み込み、ラインＬ８がハイレベルのときは端子Ｐ９〜Ｐ１２の値を読み込み、ラインＬ９がハイレベルのときは端子Ｐ１０〜Ｐ１２の値を読み込み、ラインＬ１０がハイレベルのときは端子Ｐ１１，Ｐ１２の値を読み込む。また、ＭＣＵ４８は、端子Ｐ０の値を読み込む。キースイッチＫ６３あるいはＫ６４のいずれかが押下されていると、ラインＬ０（つまり端子Ｐ０）の電位はローレベルになる。
【００７０】
ＭＣＵ４８は、以上のようなキースキャンを行うことにより、キースイッチＫｉのオン／オフ情報を取得する。図示は省略したが、ＭＣＵ４８は、同様にして、方向キーセット１７，２１及び決定キー１９，２３のオン／オフ情報を取得する。
【００７１】
また、ＭＣＵ４８は、水晶振動子１１１を含む水晶発振器からのクロックに基づいて計時を行い、時刻を算出する。電源スイッチ１５がオフの場合でも、バッテリ１０１からの電源電圧によりＭＣＵ４８は動作し、計時及び時刻の算出を行うことができる。
【００７２】
プロセッサ６０は、１ビデオフレームごとに、ＭＣＵ４８対して、アップロードリクエストを出す。ＭＣＵ４８は、このリクエストに応答して、そのとき取得しているキー入力情報及び時刻情報をプロセッサ６０に送信する。ここで、キー入力情報は、キースイッチＫｉを示すコード及びオン／オフ情報からなる。方向キーセット１７を構成する４つのキー及び決定キー１９のそれぞれのオン／オフ情報のパックを、左ジョイパッド情報、方向キーセット２１の４つのキー及び決定キー２３のそれぞれのオン／オフ情報のパックを、右ジョイパッド情報と呼ぶ。ただし、これらを区別する必要がないときは、左ジョイパッド情報や右ジョイパッド情報も、キー入力情報と呼ぶこともある。
【００７３】
詳しく説明する。ＭＣＵ４８は、プロセッサ６０に対して、左ジョイパッド情報、右ジョイパッド情報、及びキー入力情報という順で送出する。ただし、これらの情報のうち、変化のない情報については、伝送は行わない。また、複数のキーに変化があった場合は、最初に検知したキーについての情報を伝送する。
【００７４】
ＭＣＵ４８は、これらの情報の送信終了後に時刻情報を送信して、１つの伝送シーケンスを終了する。４バイトの時刻情報は４つに分割され、１回の伝送ではこの内の１バイトだけが送信される。４バイトの伝送が連続して成功すると時刻情報が確定され、プロセッサ６０内部の時刻変数が書き換えられる。従って、時刻情報の確定には、４ビデオフレーム有することになる。なお、時刻情報は下位バイトから順に送られる。
【００７５】
ＭＣＵ４８は、１回の伝送が終了すると、キースキャンを実行して、次の伝送に備える。ただし、ＭＣＵ４８は、キースキャン中のプロセッサ６０からのリクエストは無視する。
【００７６】
次に、プロセッサ６０とＭＣＵ４８との間の通信プロトコルについて説明する。図４を参照して、ＭＣＵ４８の端子Ｐ１５からプロセッサ６０のＩ／ＯポートＩＯ１５へ、正のパルスＩＣＫ（Ｌ→Ｈ→Ｌ）が与えられる。ＭＣＵ４８は、この正のパルスＩＣＫによりプロセッサ６０に割り込みを要求し、これにより、プロセッサ６０でのリアルタイム処理が可能になる。
【００７７】
プロセッサ６０のＩ／ＯポートＩＯ１３からＭＣＵ４８の端子Ｐ１３へ、信号ＡＣＫが与えられる。信号ＡＣＫのローレベルからハイレベルへの遷移あるいはハイレベルからローレベルへの遷移が、パルスＩＣＫに対する応答となる。また、伝送開始時においては、信号ＡＣＫがハイレベルであることはリクエストを意味する。
【００７８】
データＤＡＴは、プロセッサ６０のＩ／ＯポートＩＯ１４とＭＣＵ４８の端子Ｐ１４との間で伝送される。この場合、双方向の伝送が可能である。データＤＡＴのハイレベルは「１」を示し、ローレベルは「０」を示す。
【００７９】
電源スイッチ１５がオフの場合でも、ＭＣＵ４８はバッテリ１０１により動作しているが、アイドル時には、これら３本の信号線ＩＣＫ，ＤＡＴ，ＡＣＫの電位は、ローレベルにされるので、プロセッサ６０へ電流が流れることを防止できる。
【００８０】
ダウンロード（つまりプロセッサ６０からＭＣＵ４８へのデータ伝送）を行う場合の通信シーケンスは次の通りである。
【００８１】
（１）プロセッサ６０は、信号線ＡＣＫをハイレベルにして、ＭＣＵ４８に伝送要求を出す。このとき、プロセッサ６０は、信号線ＤＡＴをハイレベルにする。この状態が、ダウンロードリクエストを意味する。
【００８２】
（２）ＭＣＵ４８は、このようなプロセッサ６０からのダウンロードリクエストを受けて、パルスＩＣＫを出力する。
【００８３】
（３）プロセッサ６０は、このパルスＩＣＫを受けて、信号線ＤＡＴにデータ（１ビット）を出力すると同時に、信号線ＡＣＫの電位を反転する。
【００８４】
（４）ＭＣＵ４８は、信号線ＡＣＫの反転を受けて、信号線ＤＡＴのデータ（１ビット）を読み込み、パルスＩＣＫを出力する。
【００８５】
（５）上記（３）（４）の処理が繰り返される。
【００８６】
（６）プロセッサ６０は、ダウンロードが終了すると、信号線ＡＣＫの電位を反転するとともに、信号線ＤＡＴをローレベルにして交信を終了する。この場合、全ての信号線ＡＣＫ，ＤＡＴ及びＩＣＫはローレベルになり、アイドル状態となる。ここで、電源瞬断などの非常事態に備えて、一定時間以上（1ビデオフレーム以上）プロトコルが進行しない場合は、アイドル状態に戻るように構成されている。
【００８７】
ダウンロードリクエストは、時刻情報をＭＣＵ４８にセットする場合に出される。
【００８８】
図５は、図２のプロセッサ６０からＭＣＵ４８へ、セットすべき時刻情報を送信する際の通信プロトコルの説明図である。図５に示すように、プロセッサ６０は、信号線ＡＣＫ及びＤＡＴをハイレベルにして、ダウンロードリクエストを出す。これを受けて、ＭＣＵ４８は、パルスＩＣＫを出力する。このパルスＩＣＫによる割り込み要求を受けて、プロセッサ６０は、時刻情報の１ビットｔ３１を信号線ＤＡＴに出力すると同時に、信号線ＡＣＫの電位を反転する。ＭＣＵ４８は、信号線ＡＣＫの電位の反転を受けて、信号線ＤＡＴの１ビットｔ３１を読み込み、パルスＩＣＫを出力する。以上の処理が繰り返され、時刻情報の全ビットｔ３１〜ｔ０の送信が完了する。そして、プロセッサ６０は、信号線ＡＣＫの電位を反転するとともに、信号線ＤＡＴをローレベルにして交信を終了する。なお、時刻情報の全ビットの送信には、２ビデオフレームを要する。したがって、この期間は、プロセッサ６０は、キー入力情報を取得することはできない。
【００８９】
アップロード（つまりＭＣＵ４８からプロセッサ６０へのデータ伝送）を行う場合の通信シーケンスは次の通りである。
【００９０】
（１）プロセッサ６０は、信号線ＡＣＫをハイレベルにして、ＭＣＵ４８に伝送要求を出す。このとき、プロセッサ６０は、信号線ＤＡＴをローレベルに維持する。この状態が、アップロードリクエストを意味する。
【００９１】
（２）ＭＣＵ４８は、このようなプロセッサ６０からのアップロードリクエストを受けて、パルスＩＣＫを出力するとともに、信号線ＤＡＴにデータ（１ビット）を出力する。
【００９２】
（３）プロセッサ６０は、このパルスＩＣＫを受けて、信号線ＤＡＴからデータ（１ビット）を読み込む。その後、プロセッサ６０は、信号線ＡＣＫの電位を反転する。
【００９３】
（４）ＭＣＵ４８は、信号線ＡＣＫの電位の反転を受けて、信号線ＤＡＴのデータ（１ビット）を更新し、パルスＩＣＫを出力する。
【００９４】
（５）上記（３）（４）の処理が繰り返される。
【００９５】
（６）ＭＣＵ４８は、１つのパケットの伝送が終了すると、続けて次のパケットの送出を開始する。そして、ＭＣＵ４８は、全てのパケットの送信が終了すると、信号線ＤＡＴをローレベルにする。この場合、全ての信号線ＡＣＫ，ＤＡＴ及びＩＣＫはローレベルになり、アイドル状態となる。ここで、電源瞬断などの非常事態に備えて、一定時間以上（1ビデオフレーム以上）プロトコルが進行しない場合は、アイドル状態に戻るように構成されている。
【００９６】
アップロードリクエストは、プロセッサ６０が、ＭＣＵ４８から、キー入力情報（左ジョイパッド情報及び右ジョイパッド情報を含む。）及び時刻情報を取得する場合に出される。
【００９７】
図６（ａ）は、図２のＭＣＵ４８からプロセッサ６０へキー入力情報を送信する際の通信プロトコルの説明図である。図６（ｂ）は、ＭＣＵ４８からプロセッサ６０へ時刻情報（ｔ０〜ｔ７）を送信する際の通信プロトコルの説明図である。図６（ｃ）は、ＭＣＵ４８からプロセッサ６０へ時刻情報（ｔ８〜ｔ１５）を送信する際の通信プロトコルの説明図である。図６（ｄ）は、ＭＣＵ４８からプロセッサ６０へ時刻情報（ｔ１６〜ｔ２３）を送信する際の通信プロトコルの説明図である。図６（ｅ）は、ＭＣＵ４８からプロセッサ６０へ時刻情報（ｔ２４〜ｔ３１）を送信する際の通信プロトコルの説明図である。
【００９８】
図６（ａ）に示すように、プロセッサ６０は、信号線ＡＣＫをハイレベルにし、信号線ＤＡＴをローレベルに維持して、アップロードリクエストを出す。ＭＣＵ４８は、このようなプロセッサ６０からのアップロードリクエストを受けて、パルスＩＣＫを出力するとともに、信号線ＤＡＴにコマンドの１ビットを出力する。プロセッサ６０は、このパルスＩＣＫを受けて、信号線ＤＡＴから１ビットを読み込む。その後、プロセッサ６０は、信号線ＡＣＫの電位を反転する。ＭＣＵ４８は、信号線ＡＣＫの電位の反転を受けて、信号線ＤＡＴのコマンドの１ビットを更新し、パルスＩＣＫを出力する。以上の処理を繰り返して、３ビットのコマンド及びキー入力情報（オン／オフ情報及びキーコードｋ０〜ｋ５）が、プロセッサ６０に伝送される。ＭＣＵ４８は、１つのパケット（コマンド及びキー入力情報）の伝送が終了すると、続けて次のパケットの送出を開始する。なお、左ジョイパッド情報及び右ジョイパッド情報も同様にして、プロセッサ６０に送信される。この場合、コマンド及び左ジョイパッド情報により１つのパケットが構成され、コマンド及び右ジョイパッド情報により１つのパケットが構成される。
【００９９】
ここで、コマンドは、アップロードされるデータの種別（４分割された時刻情報の各々、キー入力情報、左ジョイパッド情報、及び右ジョイパッド情報）を示す情報である。
【０１００】
図６（ｂ）に示すように、キー入力情報のアップロードと同様のシーケンスにより、時刻情報の１バイトｔ０〜ｔ７が、ＭＣＵ４８からプロセッサ６０に送信される。その後、ＭＣＵ４８は、信号線ＤＡＴをローレベルにする。
【０１０１】
図６（ｃ）〜（ｅ）に示すように、図６（ｂ）の場合と同様のシーケンスにより、異なるコマンドで、残りの時刻情報が１バイトずつプロセッサ６０にアップロードされる。
【０１０２】
次に、メモリマップについて詳しく説明する。
【０１０３】
図７は、図２のプロセッサ６０の論理アドレス空間の概念図である。図７において、アドレスＡ０〜Ａ２３は、バイトアドレスである。
【０１０４】
図７に示すように、アドレスが、領域Ｓ１を示すとき（上位８ビットのアドレス値が"４０ｈ"〜"５Ｆｈ"のいずれかを示し、かつ下位１６ビットのアドレス値が"ＦＦＦＦｈ"〜"８０００ｈ"のいずれかを示すとき、あるいは上位８ビットのアドレス値が"Ｃ０ｈ"〜"ＤＦｈ"のいずれかを示すとき）、プロセッサ６０は、チップイネーブル信号／ＣＥ１をアサートする。チップイネーブル信号／ＣＥ１はローアクティブの信号である。
【０１０５】
アドレスが、領域Ｓ２を示すとき（上位８ビットのアドレス値が"６０ｈ"〜"７Ｆｈ"のいずれかを示し、かつ下位１６ビットのアドレス値が"ＦＦＦＦｈ"〜"８０００ｈ"のいずれかを示すとき、あるいは上位８ビットのアドレス値が"Ｅ０ｈ"〜"ＦＦｈ"のいずれかを示すとき）、チップイネーブル信号／ＣＥ２をアサートする。チップイネーブル信号／ＣＥ２はローアクティブの信号である。
【０１０６】
アドレスが領域Ｓ０を示すとき（上位８ビットのアドレス値が"００ｈ"〜"３Ｆｈ"のいずれかを示し、かつ下位１６ビットのアドレス値が"ＦＦＦＦｈ"〜"８０００ｈ"のいずれかを示すとき、あるいは上位８ビットのアドレス値が"８０ｈ"〜"ＢＦｈ"のいずれかを示すとき）、アサートされるべきチップイネーブル信号／ＣＥ０は、アドレスＡ２２により代用される。言い換えると、アドレスＡ２２がローレベル（Ｌレベル）であることは、領域Ｓ０を示すことになる。
【０１０７】
ここで、本実施の形態では、本体ＲＯＭ５０の記憶容量を６４Ｍビット、ＳＲＡＭ５２の記憶容量を４Ｍビット、カートリッジＲＯＭ６の記憶容量を３２Ｍビットとする。プロセッサ６０にはアドレスピンＡ０〜Ａ２３（図示せず）が設けられ、本体ＲＯＭ５０にはアドレスピンａ０〜ａ２１（図示せず）が設けられ、ＳＲＡＭ５２にはアドレスピンａ０〜ａ１７（図示せず）が設けられる。
【０１０８】
プロセッサ６０のアドレスピンＡ１〜Ａ２０，２２はそれぞれ本体ＲＯＭ５０のアドレスピンａ０〜ａ１９，ａ２１に接続される。プロセッサ６０のアドレスピンＡ１〜Ａ２１はそれぞれカートリッジＲＯＭ６のアドレスピンａ０〜ａ２０に接続される。プロセッサ６０のアドレスピンＡ１〜Ａ１８はそれぞれＳＲＡＭ５２のアドレスピンａ０〜ａ１７に接続される。なお、アドレスピン及び対応するアドレスには同一の参照符号を使用する。
【０１０９】
図７を参照して、ＳＲＡＭ５２は、領域Ｓ２にマッピングする。ＳＲＡＭ５２のマッピングは、モード１及び２、並びに、メモリカートリッジ３の装着の有無に関係なく固定である。
【０１１０】
メモリカートリッジ３が装着されていない場合の本体ＲＯＭ５０のマッピングは次の通りである。
【０１１１】
図８（ａ）は、図１のメモリカートリッジ３が装着されていないときのモード１のメモリマップの説明図である。図８（ｂ）は、メモリカートリッジ３が装着されていないときのモード２のメモリマップの説明図である。図８（ａ）に示すように、モード１のとき、つまり、プロセッサ６０のＩ／ＯポートＩＯ１８がローレベルのときは、本体ＲＯＭ５０の領域Ａを、アドレスの上位８ビットが"８０ｈ"〜"９Ｆｈ"を示す空間（領域Ｓ０）にマッピングし、本体ＲＯＭ５０の領域Ｂを、アドレスの上位８ビットが"Ａ０ｈ"〜"ＢＦｈ"を示す空間（領域Ｓ０）にマッピングし、本体ＲＯＭ５０の領域Ｃを、アドレスの上位８ビットが"Ｃ０ｈ"〜"ＤＦｈ"を示す空間（領域Ｓ１）にマッピングする。
【０１１２】
一方、図８（ｂ）に示すように、モード２のとき、つまり、プロセッサ６０のＩ／ＯポートＩＯ１８がハイレベルのときは、本体ＲＯＭ５０の領域Ｂを、アドレスの上位８ビットが"８０ｈ"〜"９Ｆｈ"を示す空間（領域Ｓ０）にマッピングし、本体ＲＯＭ５０の領域Ｂを、アドレスの上位８ビットが"Ａ０ｈ"〜"ＢＦｈ"を示す空間（領域Ｓ０）にマッピングし、本体ＲＯＭ５０の領域Ｄを、アドレスの上位８ビットが"Ｃ０ｈ"〜"ＤＦｈ"を示す空間（領域Ｓ１）にマッピングする。
【０１１３】
以上のように、プロセッサ６０は、Ｉ／ＯポートＩＯ１８の値を制御することにより、メモリマップを変更して、本体ＲＯＭ５０に格納された全ての情報をリードできるようにしている。また、メモリカートリッジ３が装着されていない場合は、領域Ｓ０及びＳ１に、本体ＲＯＭ５０がマッピングされる。
【０１１４】
プロセッサ６０は、電源が投入されると、アドレス"００ＦＦＦＣ"，"００ＦＦＦＤ"にアクセスして、その２バイトにより示される位置にマッピングされたプログラムを実行する。本体ＲＯＭ５０のブートプログラムは、アドレス"００ＦＦＦＣ"，"００ＦＦＦＤ"の２バイトにより示される位置にマッピングされているため、メモリカートリッジ３が装着されていない状態で電源が投入されたときは、本体ＲＯＭ５０のブートプログラムが最初に実行される。なお、アドレスピンＡ２３は、オープンになっているため、アドレスの上位８ビットが"００ｈ"〜"７Ｆｈ"であり、かつ、下位１６ビットが"ＦＦＦＦｈ"〜"８０００ｈ"である領域と、上位８ビットが"８０ｈ"〜"ＦＦｈ"であり、かつ、下位１６ビットが"ＦＦＦＦｈ"〜"８０００ｈ"である領域と、のそれぞれにおいて、本体ＲＯＭ５０の物理アドレス空間が全く同一に現れる。
【０１１５】
メモリカートリッジ３が装着されている場合のカートリッジＲＯＭ６及び本体ＲＯＭ５０のマッピングは次の通りである。
【０１１６】
図９（ａ）は、図１のメモリカートリッジ３が装着されているときのモード１のメモリマップの説明図である。図９（ｂ）は、メモリカートリッジ３が装着されているときのモード２のメモリマップの説明図である。図９（ａ）に示すように、モード１のとき、つまり、プロセッサ６０のＩ／ＯポートＩＯ１８がローレベルのときは、カートリッジＲＯＭ６を、アドレスの上位８ビットが"８０ｈ"〜"ＢＦｈ"を示す空間（領域Ｓ０）にマッピングし、本体ＲＯＭ５０の領域Ｃを、アドレスの上位８ビットが"Ｃ０ｈ"〜"ＤＦｈ"を示す空間（領域Ｓ１）にマッピングする。
【０１１７】
一方、図９（ｂ）に示すように、モード２のとき、つまり、プロセッサ６０のＩ／ＯポートＩＯ１８がハイレベルのときは、カートリッジＲＯＭ６を、アドレスの上位８ビットが"８０ｈ"〜"ＢＦｈ"を示す空間（領域Ｓ０）にマッピングし、本体ＲＯＭ５０の領域Ｄを、アドレスの上位８ビットが"Ｃ０ｈ"〜"ＤＦｈ"を示す空間（領域Ｓ１）にマッピングする。
【０１１８】
以上のように、メモリカートリッジ３が装着されている場合は、領域Ｓ０に、メモリカートリッジ３がマッピングされる。
【０１１９】
プロセッサ６０は、電源が投入されると、アドレス"００ＦＦＦＣ"，"００ＦＦＦＤ"にアクセスして、その２バイトにより示される位置にマッピングされたプログラムを実行する。カートリッジＲＯＭ６のブートプログラムは、アドレス"００ＦＦＦＣ"，"００ＦＦＦＤ"の２バイトにより示される位置にマッピングされているため、メモリカートリッジ３が装着されている状態で電源が投入されたときは、カートリッジＲＯＭ６のブートプログラムが最初に実行される。なお、アドレスピンＡ２３は、オープンになっているため、アドレスの上位８ビットが"００ｈ"〜"７Ｆｈ"であり、かつ、下位１６ビットが"ＦＦＦＦｈ"〜"８０００ｈ"である領域と、上位８ビットが"８０ｈ"〜"ＦＦｈ"であり、かつ、下位１６ビットが"ＦＦＦＦｈ"〜"８０００ｈ"である領域と、のそれぞれにおいて、本体ＲＯＭ５０の物理アドレス空間が全く同一に現れる。
【０１２０】
図１０は、図２のＲＯＭ５０の物理アドレス空間の概念図である。図１０において、アドレスａ−１，ａ０〜ａ２２は、バイトアドレスである。なお、アドレスａ−１はアドレスＡ０に対応する。図１０に示すように、アドレスの上位７ビットが"００ｈ"〜"１Ｆｈ"を示す空間を、本体ＲＯＭの領域Ｂとし、アドレスの上位７ビットが"２０ｈ"〜"３Ｆｈ"を示す空間を、本体ＲＯＭの領域Ａとし、アドレスの上位７ビットが"４０ｈ"〜"５Ｆｈ"を示す空間を、本体ＲＯＭの領域Ｄとし、アドレスの上位７ビットが"６０ｈ"〜"７Ｆｈ"を示す空間を、本体ＲＯＭの領域Ｃとする。この理由は後の説明で明らかになる。
【０１２１】
図１１は、図２のＭＭＣ５４の回路図である。図１１に示すように、ＭＭＣ５４は、ＮＯＲ回路１２０，１２２，１２４，１２６及び抵抗素子１２８からなる。
【０１２２】
ＮＯＲ回路１２０の一方入力端子は、プロセッサ６０のＩ／ＯポートＩＯ１８に接続され、他方入力端子は、プロセッサ６０のアドレスピンＡ２１に接続される。ＮＯＲ回路１２０の出力端子は、本体ＲＯＭ５０のアドレスピンａ２０に接続される。
【０１２３】
ＮＯＲ回路１２２の一方入力端子には、抵抗素子１２８の一方端及びコネクタ（図示せず）の端子ＣＴＲが接続され、他方入力端子は、プロセッサ６０のアドレスピンＡ２２に接続される。抵抗素子１２８の他方端は接地される。なお、端子ＣＴＲを有する上記コネクタは、スロット１１に設けられ、メモリカートリッジ３が接続される。
【０１２４】
ＮＯＲ回路１２６の一方入力端子には、プロセッサ６０からチップイネーブル信号／ＣＥ１が与えられ、他方入力端子は接地される。
【０１２５】
ＮＯＲ回路１２４の一方入力端子は、ＮＯＲ回路１２２の出力端子が接続され、他方入力端子は、ＮＯＲ回路１２６の出力端子が接続される。ＮＯＲ回路１２４の出力信号は、チップイネーブル信号／ＣＥとして、本体ＲＯＭ５０に与えられる。
【０１２６】
メモリカートリッジ３が装着されていない場合のモード１について説明する。モード１では、Ｉ／ＯポートＩＯ１８がローレベルにされる。従って、アドレスＡ２１がローレベルのときは、ＮＯＲ回路１２０の出力が、ハイレベルになって、本体ＲＯＭ５０のアドレスピンａ２０がハイレベルになる。一方、アドレスＡ２１がハイレベルのときは、ＮＯＲ回路１２０の出力が、ローレベルになって、本体ＲＯＭ５０のアドレスピンａ２０がローレベルになる。
【０１２７】
このように、プロセッサ６０からのアドレスＡ２１の論理が反転したアドレスａ２０が本体ＲＯＭ５０に与えられる。従って、図１０に示すように、領域Ａ〜Ｄを配置することにより、プロセッサ６０には、領域Ａ〜Ｃは、図８（ａ）のようなマッピング状態に見える。
【０１２８】
メモリカートリッジ３が装着されていないため、端子ＣＴＲはオープンになっており、従って、ＮＯＲ回路１２２の一方入力端子は抵抗素子１２８によりプルダウンされ、常にローレベルである。プロセッサ６０のアドレスＡ２２がローレベルのときは、ＮＯＲ回路１２４にハイレベルの信号が入力されるので、チップイネーブル信号／ＣＥは必ずローレベルになりアサートされる。これにより、本体ＲＯＭ５０が活性化され、領域Ａ及びＢへのアクセスが可能になる。
【０１２９】
一方、アドレスＡ２２がハイレベルのときは、ＮＯＲ回路１２４にローレベルの信号が入力される。従って、この場合、チップイネーブル信号／ＣＥの論理は、ＮＯＲ回路１２６の出力信号の論理に基づく。チップイネーブル信号／ＣＥ１がローレベルのときは、ＮＯＲ回路１２６の出力はハイレベルとなって、ＮＯＲ回路１２４からのチップイネーブル信号／ＣＥがローレベルとなりアサートされる。よって、このとき、本体ＲＯＭ５０が活性化され、領域Ｃへのアクセスが可能になる。逆に、チップイネーブル信号／ＣＥ１がハイレベルのときは、ＮＯＲ回路１２６の出力はローレベルとなって、ＮＯＲ回路１２４からのチップイネーブル信号／ＣＥがハイレベルとなりネゲートされる。よって、このとき、本体ＲＯＭ５０が非活性化される。
【０１３０】
メモリカートリッジ３が装着されていない場合のモード２について説明する。モード２では、Ｉ／ＯポートＩＯ１８がハイレベルにされる。従って、アドレスＡ２１に関係なく常に、ＮＯＲ回路１２０の出力が、ローレベルになって、本体ＲＯＭ５０のアドレスピンａ２０がローレベルになる。それ故、アドレスＡ２２がローレベルのとき、図８（ｂ）に示すように、領域Ｂが、領域Ｓ０にマッピングされる。なお、アドレスＡ２２をローレベルにすることで、チップイネーブル信号／ＣＥがアサートされ、本体ＲＯＭ５０が活性化される。一方、アドレスＡ２２がハイレベルのとき、図８（ｂ）に示すように、領域Ｄが、領域Ｓ１にマッピングされる。なお、アドレスＡ２２をハイレベルにすることで、ＮＯＲ回路１２２の出力はローレベルになるが、チップイネーブル信号／ＣＥ１をアサートすることにより、ＮＯＲ回路１２６の出力がハイレベルになって、チップイネーブル信号／ＣＥがアサートされ、本体ＲＯＭ５０が活性化される。
【０１３１】
メモリカートリッジ３が装着されている場合のモード１について説明する。メモリカートリッジ３が装着されているときは、端子ＣＴＲがハイレベルにされる。なぜなら、メモリカートリッジ３の内部において、端子ＣＴＲに電源電圧Ｖｃｃ０が供給されるような配線になっているからである。
【０１３２】
従って、ＮＯＲ回路１２２の出力は必ずローレベルになる。つまり、アドレスＡ２２の影響は受けない。従って、アドレスＡ２２に関係なく、ＮＯＲ回路１２２の出力はローレベルになる。この場合、チップイネーブル信号／ＣＥの論理は、ＮＯＲ回路１２６の出力信号の論理に基づく。このため、チップイネーブル信号／ＣＥ１がアサートされたときは、チップイネーブル信号／ＣＥがアサートされ、チップイネーブル信号／ＣＥ１がネゲートされたときは、チップイネーブル信号／ＣＥがネゲートされる。つまり、チップイネーブル信号／ＣＥ１をアサートしない限り、本体ＲＯＭ５０が活性化されることはない。
【０１３３】
よって、アドレスＡ２２をローレベルにすることにより、図９（ａ）に示すように、領域Ｓ０に、カートリッジＲＯＭ６がマッピングされる。
【０１３４】
また、アドレスＡ２２をハイレベルにし、アドレスＡ２１をローレベルにすることにより、図９（ａ）に示すように、領域Ｓ１に、本体ＲＯＭ５０の領域Ｃがマッピングされる。
【０１３５】
メモリカートリッジ３が装着されている場合のモード２について説明する。メモリカートリッジ３が装着されているときは、端子ＣＴＲがハイレベルにされる。よって、アドレスＡ２２をローレベルにすることにより、図９（ｂ）に示すように、領域Ｓ０に、カートリッジＲＯＭ６がマッピングされる。
【０１３６】
また、アドレスＡ２２をハイレベルにし、アドレスＡ２１をハイレベルにすることにより、図９（ｂ）に示すように、領域Ｓ１に、本体ＲＯＭ５０の領域Ｄがマッピングされる。
【０１３７】
さて、以上のように、本実施の形態によれば、キースキャンを行うＭＣＵ４８がリアルタイムクロック機能を有しているので、ＭＣＵ４８とは別個に、リアルタイムクロック機能を有するチップを設ける必要がなく、安価に時計機能を実装できる。
【０１３８】
また、本実施の形態によれば、プロセッサ６０は、ＭＣＵ４８からの割り込み要求に応答して、キー入力情報及び時刻情報を取得するので、１ビットのデータを取得した後、次の割り込み要求が発生するまでは、他の処理を実行できる。従って、ＭＣＵ４８の動作クロックが、プロセッサ６０のＣＰＵ６１の動作クロックより大幅に遅い場合でも、プロセッサ６０を効率良く動作させることができる。
【０１３９】
ＭＣＵ４８は、リアルタイムクロック機能を有するため、常に動作させておく必要がある。従って、ＭＣＵ４８の消費電力は小さいほうが好ましい。一般的に、動作クロックの周波数が高いほど消費電力が大きくなる。従って、消費電力抑制という観点からは、ＭＣＵ４８の動作クロックは遅いほうが好ましい。本実施の形態では、ＭＣＵ４８の動作クロックをＣＰＵ６１の動作クロックよりも大幅に遅くして、消費電力を抑制しながらも、上記のようにプロセッサ６０を効率良く動作させることができる。
【０１４０】
さらに本実施の形態によれば、メモリカートリッジ３が未装着の場合、領域Ｓ０にマッピングされる本体ＲＯＭ５０のブートプログラムが最初に実行される。一方、メモリカートリッジ３が装着されている場合、領域Ｓ０にマッピングされるカートリッジＲＯＭ６のブートプログラムが最初に実行される。このように、メモリカートリッジ３を装着したときと装着しないときとで異なるプログラムを起動できる。
【０１４１】
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。上記では、アドレスバス５８のバス幅を２４ビットとしたがこれに限定されない。例えば、２７ビットとすることもできる。こうすると、プロセッサ６０の論理アドレス空間が大きくなるので、ＭＭＣ５４の構成を簡略化できる。
【図面の簡単な説明】
【０１４２】
【図１】本考案の実施の形態における子供用パーソナルコンピュータシステムの全体構成を示す図である。
【図２】図１のパーソナルコンピュータ本体１の電気的構成を示す図である。
【図３】図２のプロセッサ６０の内部構成を示すブロック図である。
【図４】図２のキーマトリクス４６及びＭＣＵ４８の説明図である。
【図５】図２のプロセッサ６０からＭＣＵ４８へ、セットすべき時刻情報を送信する際の通信プロトコルの説明図である。
【図６】（ａ）図２のＭＣＵ４８からプロセッサ６０へキー入力情報を送信する際の通信プロトコルの説明図である。（ｂ）ＭＣＵ４８からプロセッサ６０へ時刻情報（ｔ０〜ｔ７）を送信する際の通信プロトコルの説明図である。（ｃ）ＭＣＵ４８からプロセッサ６０へ時刻情報（ｔ８〜ｔ１５）を送信する際の通信プロトコルの説明図である。（ｄ）ＭＣＵ４８からプロセッサ６０へ時刻情報（ｔ１６〜ｔ２３）を送信する際の通信プロトコルの説明図である。（ｅ）ＭＣＵ４８からプロセッサ６０へ時刻情報（ｔ２４〜ｔ３１）を送信する際の通信プロトコルの説明図である。
【図７】図２のプロセッサ６０の論理アドレス空間の概念図である。
【図８】（ａ）図１のメモリカートリッジ３が装着されていないときのモード１のメモリマップの説明図である。（ｂ）メモリカートリッジ３が装着されていないときのモード２のメモリマップの説明図である。
【図９】（ａ）図１のメモリカートリッジ３が装着されているときのモード１のメモリマップの説明図である。（ｂ）メモリカートリッジ３が装着されているときのモード２のメモリマップの説明図である。
【図１０】図２のＲＯＭ５０の物理アドレス空間の概念図である。
【図１１】図２のメモリマップコントローラ５４の回路図である。
【符号の説明】
【０１４３】
１…ＰＣ本体、３…メモリカートリッジ、５…マウス、６，５０…ＲＯＭ、７…テレビジョンモニタ、９…Ａ／Ｖケーブル、４６…キーマトリクス、４８…マイクロコントローラユニット（ＭＣＵ）、５２…ＳＲＡＭ、５４…メモリマップコントローラ（ＭＭＣ）、６０…プロセッサ。
【図１】
0003108114.tif 000003
【図２】
0003108114.tif 000004
【図３】
0003108114.tif 000005
【図４】
0003108114.tif 000006
【図５】
0003108114.tif 000007
【図６】
0003108114.tif 000008
【図７】
0003108114.tif 000009
【図８】
0003108114.tif 000010
【図９】
0003108114.tif 000011
【図１０】
0003108114.tif 000012
【図１１】
0003108114.tif 000013