明 細 書 コブロセサシステムおよび補助演算機能付外部メモリ装置 技術分野
この発明はコプロセサシステムおよび補助演算機能付外部メモリ 装置に関する。 より特定的には、 この発明は、 外部メモリ装置のメ モリにプログラムが格納されていて、 その外部メモリ装置がゲーム 機や画像処理装置のような情報処理装置に着脱自在に装着され、 外 部メモリ装置に設けられたプロセサが情報処理装置に設けられたプ 口セサと協働する、 コプロセサシステムおよび補助演算機能付外部 メモリ装置に関する。 従来技術
この種のコプロセサシステムの一例が、 たとえば、 平成 6年 ( 1 9 9 4 ) 3月 2 2日付で出願公開された特開平 6— 7 9 0 9 3号に 開示されている。 この従来技術は、 簡単にいうと、 図 1に示すよう に、 情報処理装置本体の C P U 1 と 「マリオチップ」 と呼ばれる別 の C P U 2とが R OM3のプログラムにアクセスし、 C P U 1がプ ログラムに従って情報処理を実行する。 この従来技術では、 C P U 1を動作させるためのプログラムは R OM 3から RAM 4に転送さ れて記憶 (ダウンロード) される。 その後、 C P U 1は、 RAM 4 に転送されたプログラムを直接アクセスして処理することにより、 差替え用紙 (規則 26)
藺接的に R OM 3のプログラムを処理する。 一方、 マリオチップ 2 は、 RAM 4に転送していない期間 (すなわち C P U 1が R OM 2 をアクセスしていない期間) において、 R OM 3を直接アクセスし てプログラムを実行する。
また、 図 2に示す並列処理装置もコプロセサシステムの一種と考 えることができる力く、 図 2のシステムの場合、 バスコントローラ 5 が第 1 C P U 6 aおよび第 2 C P U 6 bを時分割的に切り換えて R OM 7に接続し、 それによつて必要なプログラムが R OM 7から第 1 RAM 8 aまたは第 2 RAM 8 bにダウンロードされる。 また、 C P U 6 aおよび C P U 6 bには、 クロック発生器 9から共通のク 口ックが与えられる。 そして、 C P U 6 aまたは C P U 6 bは、 同 じクロックに基づいて同時的 (または同期的) に対応の RAM 8 a または RAM 8 bの記憶されているプログラムを個別的に実行する 。 すなわち、 図 2のシステムは、 2つの C P U 8 aおよび 8 bが同 一マシンサイクル期間に R OM 7を直接アクセスして ROM 7のプ ログラムを実行するのではなく、 対応する R AM 8 a , 8 にプロ グラムを一旦転送して RAM 8 a , 8 b上で直接処理 (アクセス) しているので、 2つの C P U 6 a , 6 bが同じ動作サイクル期間に おいて ROM 7を直接アクセスするものではない。
図 1の従来技術では、 マリオチップ 2を動作させるとき、 ROM 3はマリオチップ 2に占有されてしまうので、 結局、 C P U 1とマ リオチップ 2とを同時に動作させるためには、 RAM 4のような別 のメモリが必要になる。 したがって、 プログラム作成上で以下のよ
差替え用紙 (規則 26)
うな多くの制約が生じる。 (1) C P U 1およびマリオチップ 2のた めにそれぞれのァ一キテクチユアに基づいて C P U 1およびマリォ チップ 2毎に個別にプログラムを準備しなければならない。 (2) R OM 3内に C P U 1のためのプログラムを組み込むとき、 それを上 述のようにダウンロ一ドする必要があるため、 そのプログラムを一 連の R OMア ドレスに書き込まなければならない。 (3) RAM 4の 容量が不足するとき、 C P U 1に必要な全てのプログラムを口一ド できず、 それを分割して分割プログラムブロック毎にロードしなけ ればならない。 (3) の場合、 ジャンプやサブルーチンを各分割プロ グラムプロック毎に書き込んでおかなければならないし、 同じサブ ルーチンでも各分割プログラムプロック毎に設けておく必要がある ので、 R OM容量の無駄遣いが多くなる。
図 2の従来技術は、 上記図 1の従来技術の(3) の問題があるのに 加えて、 RAM 8 a, RAM 8 bが必要となるため、 部品点数が多 くなり、 システム全体が高価となる。 もしも、 RAM8 a , RAM 8 bを安価にする目的で記憶容量の小さなものを使用すると、 R O M 7のプログラムデータを RAMの最大記憶容量に分けて頻繁に転 送しなければならないので、 C P U 6 a , 6 bのプログラム処理が 頻繁に中断され、 データ転送のための待ち時間が増大し、 その期間 に使用者を待たせることになり、 プログラムの高速処理が阻害され る。 発明の概要
差替え用紙 (規則 26)
それゆえに、 この発明の主たる目的は、 プログラムに制約のなし に全体として高速化できる、 コプロセサシステムを提供することで ある。
この発明の他の目的は、 プログラムに制約のなしに全体として情 報処理装置の動作を高速化できる、 補助演算機能付外部メモリ装置 を提供することである。
この発明のさらに他の目的は、 アーキテクチャ一の共通する 2つ のプロセサがプログラムメモリを共通的に使用可能であり、 2つの プロセサが非同期的かつ直接的にプログラムメモリのプログラムを 実行することにより、 プログラムを転送するための R A Mを用いる ことなく安価な構成で高速に処理し得る、 コブロセサシステムおよ び補助演算機能付外部メモリ装置を提供することである。
この発明に従ったコプロセサシステムは、 プログラムに基づいて 第 1 のサイ クルタイムで演算処理する第 1のプロセサ(18)、 第 1 の プロセサのァ一キテクチユアと同じであり、 かつプログラムに基づ いて第 1のサイ クルタイムより短い第 2のサイ クルタイムで演算処 理する第 2のプロセサ(34)、 第 1 のサイクルタイムの基準となる第 1 のクロック信号を第 1のプロセサに供給する第 1 のクロック供給 手段(23, 25) 、 第 2のサイクルタイムの基準となる第 2のクロ 'ンク 信号を第 2のプロセサに供給する第 2のクロック供給手段 (23, 216) 、 第 2のプロセサがアクセスして高速読み出し可能であり、 かつ第 1 のプロセサおよび第 2のプロセサによって直接アクセスされるプ ログラムを格納したプログラムメモリ (22)、 およびプログラムメモ
差替え用紙 (規則 26)
'Jのアクセスタイムより長くかつ第 1のサイクルタイムより短い第 1の期間において第 1のプロセサがプログラムメモリへ直接ァクセ スするのを許容し、 第 1のサイクルタイムと第 1の期間との差であ る第 2の期間において第 2のプロセサが前記プログラムメモリへ直 接アクセスするのを許容するァクセス制御手段(35, 54 , 60, 52)を備 える 0
この発明に従った補助演算機能付外部メモリ装置は、 プログラム に基づいて第 1のサイクルタイムで演算処理する第 1のプロセサ(1 8)と第 1のサイ クルタィムの基準となる第 1のク口ック信号を前記 第 1のプロセサに供給する第 1 のクロック供給手段(23, 25) とを舍 む情報処理装置に着脱自在に装着され、 第 1のプロセサのァーキテ クチユアと同じであり、 かつプログラムに基づいて第 1のサイクル タィムより短い第 2のサイクルタイムで演算処理する第 2のプロセ サ(34)、 第 2のサイクルタイムの基準となる第 2のクロック信号を 第 2のプロセサに供給する第 2のク口ック供給手段(23 , 216)、 第 2 のプロセサがアクセスして高速読み出し可能であり、 かつ第 1のブ ロセサおよび第 2のプロセサによって直接アクセスされるプログラ ムを格納したプログラムメモリ(22)、 およびプログラムメモリのァ クセスタイムより長くかつ第 1のサイ クルタイムより短い第 1の期 間において第 1のプロセサがプログラムメモリへ直接アクセスする のを許容し、 第 1のサイクルタイムと第 1の期間との差である第 2 の期間において第 2のプロセサが前記プログラムメモリへ直接ァク セスするのを許容するアクセス制御手段(35 , 54 , 60, 52)を備える。
差替え用紙 (規則 26)
たとえば信号 SSYNC が第 1の期間および第 2の期間を規定する。 すなわち、 信号 SSYNC がハイレベルのとき第 1の期間であり、 ロー レベルのとき第 2の期間である。 第 1の期間においては、 第 1のプ 口セサがプログラムメモリに直接アクセスし、 そのプログラムデー タに從つて演算処理を実行する。 第 2の期間においては、 第 2のプ 口セサがプログラムメモリに直接アクセスし、 そのプログラムデー タに従って演箕処理を実行する。 第 1のプロセサおよび第 2のプロ セサは同じァーキテクチユアであるため、 プログラム互換性を有し 、 したがって、 両プロセサが直接プログラムメモリをアクセスする ことによって、 演箕処理が実行可能なのである。
この発明によれば、 あたかも 1つの C P U (プロセサ) が直列的 処理を行うように作成したプログラムを、 僅かな変更を加えるだけ で、 2つの C P U (プロセサ) が並列処理を行うためのプログラム に変更可能である。 また、 プログラムをダウンロードしないため、 プログラムを一連の R O Mァドレスに書き込む必要がない。 また、 同じサブルーチンを各分割プログラムブロック毎に記憶させる必要 がないので、 R O M容量を無駄遣いすることがない。 したがって、 プログラム作成上の制約が生じない。
この発明によれば、 さらに、 プログラムをダウンロードするため の R A Mを必要としないので、 システム全体の価格が安価となる, また、 プログラムをダウンロードするための R A Mを備えていない 情報処理装置が先行して発売されている場合、 従来技術を用いて処 理能力を向上させることができなかったが、 この発明の補助演算機
能付外部メモリ装置を用いれば、 安価にシステム全体としての情報 処理能力を向上させることができる。
この発明の上述の目的およびその他の目的, 特徴, 局面および利 点は、 添付図面に関連して行われる以下の実施例の詳細な説明から 一層明らかとなろう。 図面の簡単な説明
第 1図は従来技術の一例を簡単に示すプロック図であり ; 第 2図は從来技術の他の例を簡単に示すプロック図であり ; 第 3図はこの発明の一実施例を示すプロック図であり ; 第 4図は第 3図実施例の S— C P Uからみたメモリマップを示す 図解図であり ;
第 5図は第 3図実施例の C一 C P Uからみたメモリマツプを示す 図解図であり ;
第 6図は第 3図実施例におけるコプロセサを示すプロツク図であ 第 7図は第 3図実施例におけるコプロセサの一部を詳細に示すブ 口 ンク図であり ;
第 8図は第 3図実施例におけるコプロセザの他の部分を詳細に示 すブロック図であり ;
第 9図は第 7図実施例における M— R O Mシーケンサを詳細に示 すブロック図であり ;
第 1 0図は第 9図実施例によって M— R O Mにアクセスする状態
を示す図解図であり :
第 1 1図は第 7図実施例における B— RAMシーケンサ ( I一 R AMシーケンサ) を詳細に示すブロック図であり ;
第 1 2図は第 1 1図実施例によって B— RAMにアクセスする状 態を示す図解図であり ;
第 1 3図は第 1 1図実施例によって I一 RAMにアクセスする状 態を示す図解図であり ;
第 1 4図は第 7図実施例における S C P U I Fを示すプロツク図 であ 0 ;
第 1 5図は第 7図実施例における S CPU I Fの一部を詳細に示 すプロック図であり ;
第 1 6図は第 7図実施例における S CPU I Fの他の部分を詳細 に示すプロック図であり ;
第 1 7図は第 7図実施例におけるクロックジェネレータを詳細に 示すプロツク図であり ;
第 1 8図は第 1 7図実施例におけるクロックジヱネレークによつ て発生される各タイミング信号あるいはク口ック信号の一例を示す 図解図であり ;
第 1 9図は第 1 7図実施例におけるクロックジェネレータによつ て発生される各タイミング信号あるいはク口ック信号の他の例を示 す図解図であり ;
第 20図は実施例において S— CPUが C一 C P Uを起動する場 合の動作を示すフロー図であり ;
第 2 1図は実施例において S— C PUが C一 CPUを停止する場 合の動作を示すフロー図であり ;
第 22図は実施例において S— CPUが C一 CP Uに NM I割り 込みをかける場合の動作を示すフ u—図であり ;
第 23図は実施例において S— CPUが C一 CPUに I RQ割り 込みをかける場合の動作を示すフロー図であり ;
第 24図は実施例において C一 CPUが S— C P Uの NM Iべク タを変更する場合の動作を示すフロー図であり ;
第 25図は実施例において C一 C P Uが S— C P Uに I R Q割り 込みをかけ ¾場合の動作を示すフロー図であり ;
第 26図は実施例においてァクセラレータモードの動作を示すフ ロー図であり ;
第 27図は第 26図に従って動作するシステムの分散処理の状態 を示す図解図であり ;
第 2 8図は実施例においてミックス処理モードの動作を示すフロ 一図であり ;
第 29図は第 28図に従って動作するシステムの分散処理の状態 を示す図解図であり ;
第 30図は実施例において代行処理モードの動作を示すフロー図 であり ;
第 3 1図は第 30図に従って動作するシステムの分 理の状態 を示す図解図である,
発明を実施するための最良の形態
以下に示す実施例では、 この発明がゲームシステムに適用される 。 しかしながら、 この発明は、 ゲームシステムのみならず、 画像処 理システムや他の同様の情報処理システムに適用できることを予め 指摘しておく。
図 3はこの発明の一実施例のコブロセサシステムのプロック図で ある。 図 3に示すコブロセサシステムの一例であるゲ一ムシステム 1 0は、 本体 1 2およびその本休 1 2にたとえば 6 4ビンのコネク タ 1 6によって着脱自在に装着される補助演算機能付外部メモリ装 置の一例であるカートリ ッジ 1 4を舍む。 本体 1 2は本体側プロセ サとしての S— C P U 1 8 , および P P U (Picture Processing Un it) 2 0を舍む。 S— C P U 1 8はカー トリ ッジ 1 4に舍まれる M - R O 2 2に予め格納されているプログラムに従って動作する。
S— C P U 1 8にはヮーキングRAM、 W-R AM2 4が結合され る。 本体 1 2はまた、 発振器 2 3を舍み、 この発振器 2 3からの約 2 1 H zの原ク口ック信号 Z21Mはクロックジェネレータ 2 5に与 えられる。 クロックジェネレータ 2 5は分周器を含み、 この分周器 によって原ク口ック信号 Z2 が 8分周されて、 約 2. 6 8 MH zの システムク口 ック信号 SYSCK として S— C P U 1 8に与えられる。 なお、 この原クロック信号 Z21Mは、 システムクロック信号 SYSCK と ともに、 後述の力—トリ ッジ 1 4のクロックジェネレータ 2 1 6に 与えられる。 P P U 2 0は S— C P U 1 8の制御の下で、 V— RA M 2 6と協働して画像処理を実行し、 ビデオ信号をモニタ 2 8に与
差替え用紙 (規則 26)
える。 したがって、 モニタ 2 8の画面上にはゲーム画像が表示され る。 なお、 本体 1 2の S— C P U 1 8や P P U 2 0の一般的な動作 それ自体は既に周知であるばかりでなく、 この発明に直接は関係し ないので、 ここでは、 詳細な説明は省略する。
カートリ ッジ 1 4は、 上述の M— R O 2 2の他にコブロセサ 3 0および B— RAM 3 2を舍み、 コブロセサ 3 0は、 補助演算機能 を達成するための C P Uコアとしての C— C P U 3 4 , アクセス制 御回路 3 5, I -R A 3 6, およびクロックジェネレータ 2 1 6 を舍む。 B— RAM3 2は、 たとえばリチウム電池等でバックアツ ブされた RAMであり、 たとえば 4 Mビッ トの記憶容量を有する。 I — RAM 3 6は、 たとえば 1 6 Kビッ 卜の S RAMで構成される 。 B— RAM 3 2および I 一 RAM 3 6は、 ともに、 S— C P U 1 8および C一 C P U 3 4の外部 RAMとして機能する。 なお、 M— ROM 2 2は、 たとえば最大 6 4 Mビッ トのマスク ROMで構成さ れ、 その中には、 ゲーム用プログラムが格納されている。 M— RO M 2 2のアクセスタイムは、 一例として、 1 6ビ'ン ト幅で約 1 2 0 ナノ秒 ( 8ビッ ト幅で約 6 0ナノ秒) である。
S - C P U 1 8および C _ C P U 3 4は、 たとえばウェス夕ンデ ザイ ンコーポレーショ ン ( W D C ) 製の " 6 5 C 8 1 6 " のような 同じ C P Uコアを用いる。 ただし、 この実施例では、 C一 C P U 3 4の動作周波数は、 1 0. 7 3 MH zであり、 S— C P U 1 8の動 作周波数は 2. 6 8 MH z (または 3. 5 8 MH z ) である。 換言 すれば、 3—〇? 111 8ぉょびじーじ? 1; 3 4は、 同じ C P Uコア
差替え用紙 (規則 26)
を用いるため、 同じァーキテクチユアで動作する、 すなわち、 プロ グラム互換性を有するカ^ 動作速度についていえば C一 C P U 3 4 の動作速度は S— CPU 1 8の動作速度の最大 4倍である, 8ビツ ト C P Uである S— C P U 1 8のサイクルタイムは、 2. 6 8 H zのとき約 37 2ナノ秒であり、 8ビッ ト C P Uである C_ C P U 3 4のサイクルタイムは 1 0. 3 7 MH zのとき約 9 3ナノ秒であ る。 他方、 M— ROM2 2のアクセスタイムは上述のように 1 6ビ ッ ト幅で約 1 2 0ナノ秒であるので、 M—ROM2 2のアクセスタ ィムは 8ビッ ト換箕で C— C PU 34のサイクルタイムより短い, そこで、 以下の実施例では、 このようなタイム差を利用して、 S— C P U 1 8には M_R OM 2 2をアクセスしてそこからプログラム データを読み出すに十分な、 たとえば 1 8 6ナノ秒を割り当て、 C -CPU 3 4にも同様に 1 86ナノ秒を割り当てることによって、 S-CPU 1 8と C一 CPU 3 4とが、 実質的に同時に、 M— RO M2 2にアクセスできるようにしている。 そして、 C一 C P U34 に割り当てられた 1 86ナノ秒は C一 C P U 34のサイクルタイム の 2倍であり、 したがって、 C— C P U 3 4は 1 8 6ナノ秒の間に 2回動作する β
なお、 実施例のゲームシステム 1 0において、 S— C P U 1 8 , W-R AM 24 , およびコプロセサ 3 0すなわち C一 C P U 3 4は アドレスバス 3 8で結合され、 S— C P U 1 8, P PU 20, W— RAM 2 4. およびコプロセサ 3 0すなわち C一 C P U 34はデー タバス 4 0で桔合される。 コプロセサ 3 0すなわち C一 C PU 34
と M— R OM 2 2とはァドレスバス 4 2およびデータバス 4 4によ つて結合され、 コブロセサ 3 0すなわち C— C P U 3 4と B— RA M 3 2とはアドレスバス 4 6およびデータバス 4 8によって結合さ れる。 ァ ドレスバス 3 8は 2 4ビッ トであり、 データバス 4 0は 8 ビツ トであり、 ア ドレスバス 4 2は 2 3ビッ トであり、 データバス 4 4は 1 6ビッ トであり、 ァ ドレスバス 4 6は 1 9ビッ トであり、 データバス 4 8は 8ビッ トである。 そして、 S— C P U 1 8と C— C P U 3 4とは、 同じアクセス制御回路 3 5を介して、 M— R OM 2 2または B— RAM 3 2をアクセスする。 である。 したがって、 図 4および図 5に示すように、 S— C P U 1 8および C— C P U 3 4には、 S— C P U 1 8のみがァクセスできる W— RAM2 4のァ ドレスペースを除き、 同じたとえば 2 4ビッ 卜のア ドレススペース が割り付けられている。 なお、 上述のように各 C P Uは 8ビッ トで あるが、 バンク切換の技術を用いることによって 2 4ビッ トのア ド レススペースを有する。 すなわち、 図 4には S— C P U 1 8から見 たメモリマップが示され、 図 5には C— C P U 3 4から見たメモリ マップが示される力 2つのメモリマツビングは同じである。 ただ し、 I 一 RAM 3 6のアドレスマツビングは、 S— C P U 1 8と C — C P U 3 4とでは多少異なる。 この実施例では、 S— C P U 1 8 は "* * 3 0 0 0 1!〜 * * 3 7 F F h" で I 一 RAM3 6をァクセ スできる力く、 C一 C P U 3 4は "* * 0 0 0 0 1!〜 * * 07 F F h " および "* * 3 0 0 0 h〜* * 3 7 F F h" で I 一 RAM 3 6を アクセスできるようにしている。 なお、 "* *" は " 0 0 h〜3 F
差替え用紙 (規貝 IJ26)
h " バンクおよび "8 0 h〜 B F h " バンクである。
なお、 S— C P U 1 8の各メモリ 2 2 , 3 2および 3 6へのァク セスと、 C— C P U 3 4の各メモリ 2 2, 3 2および 3 6へのァク セスと力く、 クロックジヱネレ一タ 2 1 6からの信号 SSYNC(SSSYNC) を受けるアクセス制御回路 3 5によって制御される。 このアクセス 制御回路 3 5は、 後述の M— R OMシーケンサ 5 4 , B— RAMシ 一ケンサ 9 8および I —RAMシーケンサ 1 0 0を舍むが、 それら の動作は後述する。
図 6〜図 8はコブロセサ 3 0のブロック図であり、 コプロセサ 3 0は、 C一 C P U 3 4に結合されたァドレスデコーダ 5 0を舍む。 7 ドレスデコーダ 5 0は S— C P U 1 8および C— C P U 3 4の両 方のアドレスをデコードする。 したがって、 アドレスデコーダ 5 0 は S— C P U 1 8のァドレスデータ S Aおよび C— C P U 3 4のァ ドレスデータ C Aを受ける。 ァドレスデコーダ 5 0の出力は後述の ように種々のレジスタ等のィネーブル信号またはクロックとして与 えられる。 なお、 ァドレスデコーダ 5 0は C一 C P U 3 4力、ら、 こ の C一 C P U 3 4が M—ROM2 2からプログラムデータを読み出 すための信号 CRWB (" B" は反転:バーを意味する。 以下同様。 ) を受ける。
M—ROMSMMC 5 2は、 M—R OM2 2 (図 3 ) のバンク切 り換えを行うと共に、 S— C P U 1 8および C一 C P U 3 4のァク セスの切り換えを行う。 そのために、 M - ROMSMMC 5 2は S — C P U 1 8のァ ドレスデータ S Aおよび C一 C P U 3 4のァ ドレ
差替え用紙 (規則 26)
スデータ C Aならびに S— CPU 1 8のデータ S Dおよび C一 C P U 3 4のデータ C Dを受けると共に、 M— ROMシーケンサ 54か らの信号 TMSAを受ける。
図 3のアクセス制御回路 3 5に含まれる M— R OMシーケンサ 5 は図 9に詳細に示すように、 ァドレスデコーダ 5 6および 5 8を 舍む。 ァ ドレスデコーダ 5 6は S— C P U 1 8のア ドレスデータ S Aをデコードし、 ァ ドレスデータ S Aが図 4に示した M— ROM 2 2をアクセスすべきァドレスにヒッ トするとハイ レベルの信号 SMHI T を出力する。 ァドレスデコーダ 5 Bは C一 C P U 3 4のア ドレス データ C Aをデコードし、 ァドレスデータ C Aが図 5に示した M— ROM 2 2をアクセスすべきァ ドレスにヒ 'ン トするとハイ レベルの 信号 CMH1T を出力する, 信号 SMHIT は ANDゲート 6 0の一方入力 に与えられ、 この ANDゲート 60の他方入力には、 S— CP U 1 8が M— R OM 2 2をアクセスするために決められたタイ ミング信 号 SSYNC (後述:図 1 8または図 1 9 ) が与えられる。 この AND ゲート 6 0の出力は信号 TMSAとして、 上述の M— ROMSMMC 5 2に与えられる。 したがって、 M— R OMSMMC 5 2において、 この信号 TMSAがハイレベルのとき S— C PU 1 8のァ ドレス S Aが 有効化され、 ローレベルのとき C— C P U 3 4のア ドレス C Aが有 効化される, このようにして、 有効化されたァ ドレス S Aまたは C Aは、 M— ROM2 2のア ドレス入力 MA (図 7 ) に与えられる。 ァドレスデコーダ 5 6の出力はまた、 ANDゲート 6 2の一方入 力に与えられ、 ANDゲート 6 2の他方入力には S— C P U 1 8が
M-R OM 2 2を読み出すとき口一レベルとなる信号 SCPliRDB が与 えられる, AN Dゲート 62の出力信号 SMRD0UT は、 したがって、 S— CPU 1 8が M— ROM2 2を読み出すべきときにハイ レベル となる。 信号 SMHD0UT は、 M— ROM2 2から読み出され、 データ 出力 MDから出力されるプログラムデータを S— C P U 1 8のデー タバス S Dに入力するためのラ 'ンチ バッファ 6 4 (図 7 ) に与え られる。 図 7のラツチ バッファ 6 はデータ出力 MDに結合され たラッチ 6 6を含み、 このラッチ 6 6のラツチ信号としては前述の 信号 SSYNC が与えられる, ラッチ 6 6の上位 8ビッ トおよび下位 8 ビッ トはそれぞれトライステートバッフ 7 6 8および 7 0に与えら れる。 トライステートパッフ 7 6 8および 7 0の制御入力としては ANDゲート 7 2および 7 4の出力がそれぞれ与えられる β AND ゲート 7 2および 7 の各一方入力には上記信号 SMRD0UT が与えら れ、 ANDゲートマ 2の他方入力には S— C PU 1 8のアドレス S Aの最下位ビッ ト SA0 が与えられ、 ANDゲート 7 の他方入力に は最下位ビッ ト SA0 の反転が与えられる。 したがって、 最下位ビッ ト SA0 が口一レベルのとき M— ROM 2 2のデータの下位 8ビッ ト MD 0〜MD 7がトライステートバッファ 7 0から出力され、 最下 位ビッ ト SA0 がハイレベルのとき M— ROM 2 2のデータの上位 B ビッ MD 8〜MD 1 5がトライステ一トバッファ 6 8から出力さ れ、 それぞれ、 S— C P U 1 Bのデータバス S Dに入力される。 図 9において上記信号 CMHIT は NAN Dゲート 7 6の一方入力に 与えられ、 この NAN Dゲート 7 6の他方入力には上述の AN Dゲ
—ト 6 0からの信号 TMSAが与えられる。 NAN Dゲート 7 6の出力 は信号 RDY となり、 この信号 fiDY は C— CP U 3 4を停止するため の信号として作用する。 すなわち、 信号 RDY がローレペルのとき C — C P U 3 4がゥヱイ ト状態にされる。 したがって、 C一 C P U 3 4および S— C PU 1 8がともに M— R OM2 2をアクセスすると き、 信号 RDY がローレベルとなり、 C一 C P U 34に信号 CRDYとし て与えられる。 応じて、 C一 C P U 3 4が待機状態になる。 これに より、 S— C P U 1 8と C一 C P U 3 4とが同時に M— R OM2 2 または B— RAM 32をアクセスしたとき、 C一 C P U 3 4が待機 状態になって S— C PU 1 8のアクセスが優先される。 そして、 S - C P U 1 8のアクセスが終了した後に、 C— C P U 34の待機状 態が解除され、 C一 CP U 34は、 M— R OM2 2または B— RA M 3 2にアクセスする。 そのため、 S— C P U 1 8と C一 C P U 3 4とによる M—R OM2 2または B— RAM3 2の非同期的 2フヱ ーズアクセスが可能となり、 1つのメモリ、 すなわち M— ROM 2 2に記憶されたプログラムを S— C P U 1 8と C— C P U 3 4とが 同時に実行することが可能となる。
また、 AN Dゲート 6 0からの信号 TMSAの反転, アドレスデコー ダ 5 8からの信号 CMH1T , および C一 C P.U 3 4が M— ROM 22 を読み出すべきときハイレベルとなる信号 CRWBが AN Dゲート 7 8 の 3入力のそれぞれに与えられる。 したがって、 この ANDゲート 7 8からは、 S— C P U 1 8が M— ROM2 2をアクセスしないと き、 信号 CHHIT に応答して、 CーC P U 34がM—ROM2 2から
データを読み出すべきときハイ レベルとなる信号 CMRDOUT が出力さ れる。 信号 CMBDOUT は、 M— R 0M 22からのプログラムデータを C- C P U 3 のデータバス CDに入力するためのラツチ バッフ 7 8 0 (図 7 ) に与えられる。 図 7のラツチ/バ ンファ 8 0は M— R OM 2 2のデータ出力 MDに結合されたラツチ 8 2を含み、 この ラッチ 82のラツチ信号としては信号 CSYNC (後述) が与えられる 。 ラッチ 82の上位 8ビッ トおよび下位 8ビッ トはそれぞれトライ ステートバッファ 8 4および 8 6に与えられる。 トライステートバ ッファ 8 4および 8 6の制御入力としては ANDゲート 88および 9 0の出力がそれぞれ与えられる, ANDゲート 8 8および 9 0の 各一方入力には上記信号 CMRDOUT が与えられ、 AN Dゲート 8 8の 他方入力には C— C P U 34のァ ドレス C Aの最下位ビッ ト CA0 が 与えられ、 ANDゲート 90の他方入力には最下位ビッ ト CA0 の反 転が与えられる。 したがって、 最下位ビッ ト CA0 がローレベルのと き M-ROM22のデータの下位 8ビッ ト MD 0〜MD 7力 トライ ステートバッファ 8 6から出力され、 最下位ビッ ト SA0 がハイ レべ ルのとき M— R OM2 2のデータの上位 8ビッ ト MD 8〜MD 1 5 がトライステートバッファ 8 4から出力され、 それぞれ、 C— C P U 34のデータバス C Dに入力される。
前述の信号 CSYNC は C一 C PU 34が M— ROM2 2からデータ を読み出し、 かつ読み出されたデータをラツチ 8 2にラツチすべき タイ ミングを示す信号であり、 ANDゲート 9 2から出力される, すなわち、 信号 CRWB, 信号 CMH1T , ァドレス C Aの最下位ビッ ト CA
0 の反転, およびクロック信号 PHI2が ANDゲート 9 2の 4入力に 与えられる。 クロック信号 PHI2は、 図 1 8または図 1 9に示すよう に、 C一 CPU 3 4のための周波数を有し、 たとえば 1 0. 7 3M H zのクロックである。 したがって、 信号 CSYNC は C— C P U 34 が M— ROM2 2をアクセスするときにハイレベルとなって出力さ れ、 α—レベルのときラ ンチ 82が M— R ΟΜ 2 2のデータバス Μ Dから与えられる 1 6ビッ トのプログラムデータをラツチする,
S— C P U 1 8および C一 C PU 3 4は、 図 4および図 5のメモ リマップからわかるように Μ— ROM 2 2の全領域を共有しており 、 いつでも非同期に M— R OM2 2をアクセスすることができる, そのときの M— ROM22へのアクセスを調停するのが M— R OM シーケンサ 5 4である。 図 9の M— R OMシーケンサ 5 4の AND ゲート 6 0から信号: TMSAが出力されると図 8の M— ROMSMMC 52において S— C P U 1 Bからのァドレス S Aを有効化する。 し たがって、 この場合には、 C一 CP U 34が M— ROM2 2のアド レスをヒッ トすると NANDゲート 7 6から信号 HDY が出力される ので、 図 1 0 (B) または (C) に示すように、 信号 TMSAのハイレ ベル期間中、 C一 C P U 3 4は M— ROM2 2へのアクセスを待つ 。 したがって、 C— CPU 34は、 信号 TMSAがローレベルとなり、 したがって信号 RDY がハイレベルのとき、 M— R OM2 2をァクセ スすることができる。 このようにして、 3—じ?1; 1 8ぉょび(:ー C P U 34は、 図 1 0 (C) に示すように、 M— R OM 22を非同 期の 2フェーズでアクセスすることができるのである,
なお、 図 1 0 (A) に示すように、 C一 C P U 34のみが M— R O 2 2をアクセスする場合、 C一 C PU 3 4の動作周波 は、 ク ロック信号 PHI2によって、 1 0. 7 3 MH zである。 ただし、 図 1 0 ( B ) または ( C ) に示すように、 S— C P U 1 8と C一 C PU 34とが 2フェーズで M— ROM 2 2をアクセスする場合には、 S - C PU 1 8が M— ROM2 2をアクセスしている期間中は C一 C P U 3 4がゥヱイ ト状態になるため、 C一 C P U 3 4の動作周波数 は 5. 3 7 MH zとなる。 しかしながら、 S— CP U 1 8の動作周 波数はシステムクロック信号 SYSCK によって、 常に、 2. 68 MH zとされる。
図 8に示す B— RAMS MM C 9 4および I一 RAMSMMC 9 6は、 ともに、 先に説明した M— R OMSMMC 5 2と同様の機能 を果たす。 すなわち、 B— R AMSMMC 9 4は、 B— RAM32 (図 3 ) のバンク切り換えを行うと共に、 S— C P U 1 8および C — C P U 34の切り換えを行う。 そのために、 B— RAMSMMC 94は S— C P U 1 8のァドレスデータ S Aおよび C一 CP U 34 のァ ドレスデータ CA、 ならびに S— C PU 1 8のデータ S Dおよ び C一 C P U 3 4のデータ CDを受けると共に、 B— RAMシーケ ンサ 9 8からの信号 TBSAを受ける。
I一 RAMSMMC 9 6は、 I一 RAM3 6 (図 3 ) のバンク切 り換えを行うと共に、 S— CPU 1 8および C— C PU 3 4のァク セスの切り換えを行う。 そのために、 I— R AMSMMC 9 6は S 一 C P U 1 8のアドレスデータ S Aおよび C一 C P U 3 4のァドレ
スデータ C A、 ならびに S— C P U 1 8のデータ S Dおよび C— C P U 3 4のデータ C Dを受けると共に、 I一 RAMシーケンサ 1 0 0からの信号 T1SAを受ける。
図 3のアクセス制御回路 3 5に舍まれる B— RAMシ一ケンサ 9 8は、 I — RAMシーケンサ 1 0 0と同じ回路構成を有し、 図 1 1 に詳細に示すように、 ァドレスデコーダ 1 0 2および 1 0 4を舍む 。 ァドレスデコーダ 1 0 2は S— C P U 1 8のアドレスデータ S A をデコードし、 ァドレスデータ SAが B— RAM 3 2をアクセスす べきア ドレスにヒッ トするとハイ レベルの信号 SBHIT を出力する。 ァ ドレスデコーダ 1 0 4は C— C P U 3 4のア ドレスデータ C Aを デコードし、 ア ドレスデータ CAが B— RAM 3 2をアクセスすべ きア ドレスにヒッ トするとハイレベルの信号 CBHIT を出力する。 信 号 SBHIT は AN Dゲート 1 0 6の一方入力に与えられ、 この AN D ゲート 1 0 6の他方入力には、 S—〇? 1! 1 8が8— 1¾八\13 2を アクセスすることができるタイ ミングを決めるための先に述べたタ ィ ミング信号 SSYNC が与えられる。 この AN Dゲート 1 0 6の出力 は信号 TBSAとして、 B— RAM S MM C 9 4に与えられる。 したが つて、 この信号 TBSAがハイ レベルのとき、 S— C P U 1 8が B— R AM 3 2をアクセスするタイ ミングとなる。 すなわち、 信号 TBSAが ハィ レベルのとき B— RAMSMM C 9 4は S— C P U 1 8からの ア ドレス SAを B— RAM 3 2のア ドレス入力 B Aに与え、 ローレ ベルのとき、 C— C P U 3 4からのァドレス C Aがァドレス入力 B Aに与えられる。
差替え用紙 (規則 26)
' ァ ドレスデコーダ 1 0 2の出力は、 また、 AN Dゲート 1 0 8の 一方入力に与えられ、 AN Dゲート 1 0 8の他方入力には S— C P U 1 8が B— RAM 3 2を読み出すときローレベルとなる信号 SCPU RDB が与えられる。 AN Dゲート 1 0 8の出力信号 SBRD0UT は、 し たがって、 S— C P U 1 8が B— R AM 3 2を読み出すべきときに ハイ レベルとなり、 B— R AM 3 2へデータを書き込むときローレ ベルとなる。 信号 SBRD0UT は、 B— RAM 3 2のデータ端子 B Dか らのデータを S— C P U 1 8のデータバス S Dに入力するためのラ ツチ/バッファ 1 1 0 (図 8 ) に与えられる。 図 8のラツチノバッ ファ 1 1 0はデータ端子 B Dに結合されたラツチ 1 1 2を含み、 こ のラッチ 1 1 2のラツチ信号としては前述の信号 SSYNC が与えられ る。 ラッチ 1 1 2は B— RAM 3 2の 8ビッ トの出力データを受け 、 それを信号 SSYNC に応答してラッチする。 ラッチ 1 1 2の出力は トライステートバッファ 1 1 4に与えられる。 また、 B— RAM 3 2の 8ビッ トの出力データはそのまま トライステートバッファ 1 1 6に与えられる。 トライステートバッファ 1 1 4および 1 1 6の制 御入力としては B— RAMシ一ケンサ 9 8からの信号 SBRD0UT およ び信号 CBRD0UT (後述) が与えられる。 したがって、 信号 SBRD0UT がハイレベルのとき B— R AM 3 2の出力データがトライステート バッファ 1 1 4から出力される。 同様に、 信号 CBRD0UT がハイ レべ ルのとき B— RAM 3 2の出力データがトライステートバッファ 1 1 6から出力され、 それぞれ、 S— C P U 1 8のデータバス S Dお よび C— C P U 3 4のデータバス C Dに入力される„
差替え用紙 (規貝 U26)
' 図 1 1の上記信号 CMHIT は NAN Dゲート 1 1 8の一方入力に与 えられ、 この NAN Dゲート 1 1 8の他方入力には上述の ANDゲ —ト 1 0 6からの信号 TBSAが与えられる。 N AN Dゲート 1 0 6の 出力は信号 RDY となり、 この信号!? DY は C一 C P U 3 4を停止する ための信号として作用する。 すなわち、 信号 RDY が口一レベルのと き C— C P U 3 4がゥヱイ ト状態にされる。 したがって、 C— C P U 3 4および S— C P U 1 8がともに B— RAM 3 2をアクセスす るとき、 信号 が口一レベルとなり、 C— C P U 3 4に信号 CRDY として与えられる。 応じて、 C— C P U 3 4が待機状態になる。 また、 AN Dゲート 1 0 6からの信号 TBSAの反転, ア ドレスデコ ーダ 1 0 4からの信号 CBHIT , および C— C P U 3 4が書き込みの とローレベルとなり読み出しのときハイ レベルとなる信号 CRWBが A NDゲート 1 2 0の 3入力にそれぞれ与えられる。 したがって、 こ の A N Dゲート 1 2 0からは、 S— C P U 1 8が B— RAM3 2を アクセスしていないとき、 信号 CBHIT に応答して、 ハイ レベルとな る信号 CBRD0UT が出力される。 信号 CBRD0UT は、 前述のように、 ト ラィステ一トバッファ 1 1 6の制御信号として与えられる。
先に述べたように、 I 一 RAMシーケンサ 1 0 0も B— RAMシ 一ケンサ 9 8と同じであり、 したがって、 ここでは、 I — RAMシ 一ケンサ 1 0 0の詳細な説明は省略する。 ただし、 図 1 1に、 図 1 1の回路が I — RAMシ一ケンサ 1 0 0として用いられたとき与え られまたは出力される信号を括弧書きで図示した。
図 3のアクセス制御回路 3 5に含まれる I —RAMシーケンサ 1
差替え用紙 (規則 26)
00からの信号 SIBDOUT は、 I— RAM 3 6からのデータを S— C P U 1 8のデータバス S Dに入力するためのラツチ/バッファ 1 2 2 (図 B ) に与えられる * 図 8のラツチ バッファ 1 2 2は 1一 R AM 3 6の読出データ 1 RDを受けるラツチ 1 2 4を舍み、 このラ ツチ 1 24のラツチ信号としては前述の信号 SSYNC が与えられる, ラッチ】 2 4は 1— RAM3 6の 8ビッ 卜の出力データを受け、 そ れを信号 SSYNC に応答してラツチする。 ラッチ 1 24の出力はトラ イステートバッファ 1 2 6に与えられる。 また、 I — RAM 3 6の 8ビッ トの出力データはそのまま トライステートバッファ 1 2 8に 与えられる。 トライステートバッファ 1 2 6および 1 2 8の制御入 力としては 1— RAMシーケンサ 1 00からの信号 SIHD0UT および 信号 CIIiDOUT が与えられる。 したがって、 信号 SIRD0UT がハイ レべ ルのとき I一 RAM 3 6の出力データがトライステートバ ソ フ 7 1 2 6から出力される。 同様に、 信号 CIRD0UT がハイ レベルのとき I - AM 3 6の出力データがトライステートバッファ 1 28から出 力され、 それぞれ、 S— C P II 1 8のデータバス SDおよび C一 C P U 34のデータバス CDに入力される。
B— 1¾八1^132ぉょび 1 —^八\13 6への書込データはセレクタ 1 3 0および 1 3 2によってそれぞれ選択される。 詳しく述べると 、 セレクタ 1 3 0は S— C P U 1 8のデータバス S Dからの 8ビン 卜のデータおよび C— C P U 3 4のデータバス C Dからの 8ビッ ト のデータを受ける。 セレクタ 1 3 0の選択信号としては B— RAM シーケンサ 9 8からの信号 BDY が与えられる。 すなわち、 信号 BM
がローレベルのときセレクタ 1 3 0は S— C P U 1 8からの書込デ ータを選択して B— RAM 32に与え、 信号 RDY がハイ レベルのと きセレクタ 1 30は C— C PU 3 4からの書込データを選択して B -RAM 3 2に与える, 同じように、 セレクタ 1 3 2は S— C P U 1 8のデータバス S Dからの 8ビッ トのデータおよび C一 C P U 3 4のデータバス CDからの 8ビン トのデータを受ける。 セレクタ 1 3 2の選択信号としては I—RAMシーケンサ 1 00からの信号 RD Ϊ が与えられる, すなわち、 信号 RDY がローレベルのときセレクタ 1 3 2は S— CP U 1 8からの書込データを選択して I —RAM 3 6に与え、 信号 RDY がハイレベルのときセレクタ 1 3 2は C— C P U 34からの書込データを選択して I一 RAM3 6に与える。
S— CP U 1.8および C一 C P U 3 4は、 図 4および図 5のメモ リマップからわかるように B— RAM 3 2の全領域を共有しており 、 いつでも非同期に B— RAM 3 2をアクセスすることができる。 そのときの B— RAM 3 2へのアクセスを調停するのが B— RAM シーケンサ 9 8である。 図 1 1の B— RAMシーケンサ 9 8の AN Dゲー ト 1 0 6からハイ レベルの信号 TBSAが出力されると図 Bの B -R A SM C 9 4において S— C P U 1 8からのァ ドレス SA を有効化する。 したがって、 この場合には、 C一 CP U 3 4が B— RAM3 2のアドレスをヒッ トすると NANDゲート 1 1 8から信 号 RDY が出力されるので、 図 1 2 (B) または (C) に示すように 、 信号 TMSAのハイレベル期間中、 じーじ? 1; 3 4は8— 1¾八1^3 2 へのアクセスを待つ, したがって、 C— C P U 3 4は、 信号 が
ローレベルのとき、 かつ信号 TMSAがローレベルのとき、 B— RAM 3 2をアクセスすることができる。 このようにして、 S— C P U 1 8および C— C P U 3 4は Β—: RAM 3 2へ完全に 2フェーズァク セスが可能である,
なお、 図 1 2 (A) に示すように、 C— C P U 3 4のみが B— R AM 3 2をアクセスする場合、 C— C P U 3 4の動作周波数は、 ク ロック信号 PHI2によって、 5. 37 MH zである, ただし、 図 1 2 (B) または (C) に示すように、 S—じ? 1! 1 8とじーじ? 1; 3 とが 2フェーズで B— RAM 3 2をアクセスする場合には、 C一 C PU 3 4の動作周波数は 2. 6 8 MH zとなる。 また、 S— CP u 1 8の動作周波数はシステムクロック信号 syscKによって、 常に
、 2. 6 8 H zとされる。
同様に、 S— C P U 1 8および C— C P U 3 4は、 Uおよび図 5のメモリマツブからわかるように I — R AM 3 6の全領域にァク セスでき、 いつでも非同期に I— RAM3 6をアクセスすることが できる, そのときの I一 RAM3 6へのアクセスを調停するのが I -RAMシーケンサ 1 00である。 図 1 1の I一 RAMシーケンサ 1 0 0の AN Dゲート 1 0 6からハイ レベルの信号 TISAが出力され ると図 8の I— RAMSMMC 9 6において S— C P U 1 8からの ア ドレス S Aを有効化する。 したがって、 この場合には、 C一 C P U 3 4が I一 RAM 3 6のア ドレスをヒッ トすると NANDゲート 1 1 8から信号 RDY が出力されるので、 図 1 3 (B) に示すように 、 信号 TISAのハイ レベル期間中、 じーじ?1;3 4は 1ー1¾八1^36
へのアクセスを待つ。 したがって、 C— C P U 3 4は、 信号 RDYが 口一レベルのとき、 かつ信号 TISAがローレベルのとき、 I— RAM 3 6をアクセスすることができる。 このようにして、 S— C P U 1 8および C— C P U 3 4は I —RAM3 6へ完全に 2フェーズァク セスが可能である。
なお、 図 1 3 ( A) に示すように、 C一 C P U 3 4のみが I 一 R AM 3 6をアクセスする場合、 C— C P U 3 4の動作周波数は、 ク ロック信号 PHI2によって、 1 0. 7 3 MH zである。 ただし、 図 1 3 (B) に示すように、 S— C P U 1 8と C— C P U 3 4とが 2フ ェ一ズで I —RAM 3 6をアクセスする場合には、 C— C P U 3 4 の動作周波数は 5. 3 7 MH zとなる。 しかしながら、 S— C P U 1 8の動作周波数はシステムクロック信号 SYSCK によって、 常に、 2. 6 8 MH zとされる。
図 7に戻って、 S C P U I F 1 3 4は、 S— C P U 1 8と C— C P U 3 4との間で割り込み I R Qを互いに与えたり、 S— C P U 1 8から C一 C P U 3 4ヘリセッ ト信号や割り込み NM Iを与えたり 、 あるいは S— C P U 1 8と C— C P U 3 4との間でベクタを互い に与える。 そのために、 この S C P U I F 1 3 4は、 S— C P U 1 8のァ ドレス S Aおよびデータ S Dならびに C— C P U 3 4のァ ド レス C Aおよびデータ C Dを受ける。
この S C P U I F 1 3 4が図 1 4〜図 1 6に詳細に示される。 図 1 5に示すように、 S— C P U 1 8のデータ S Dの下位 8ビッ ト S D 0〜S D 7の最上位ビッ ト S D 7を受ける C— C P Uコントロー
差替え用紙 (規則 26)
ノレレジスタ 1 3 6, 最上位から 3ビッ ト目のビッ ト S D 5を受ける C一 C P Uコントロールレジスタ 1 3 8 , 最上位から 4ビッ ト目の ビッ ト S D 4を受ける C一 C P Uコン ト口一ルレジスタ 1 4 0, お よび下位 4ビッ ト S D 3〜S D 0を受ける C一 C P Uコン トロール レジスタ 1 4 2を舍む。 また、 それぞれがデータ S D 0〜S D 7の 全てのビッ トを受けるデコーダ 1 4 4および 1 4 6, ならびにべク タレジスタ 1 4 8, 1 5 0, 1 5 2, 1 5 4, 1 5 6, および 1 5 8を舍む。 これら C— C P Uコントロールレジスタ, デコーダおよ びべクタレジスタ 1 36〜 1 58の全てのク αックとして、 後述の クロックジェネレータ 2 1 6からの S— C P U 1 8のためのシステ ムクロック信号 SYSCK がィンバ一タ 1 6 0によって反転されて与え られる。
C— C P Uコン トロールレジスタ 1 3 6〜 1 4 2のィネーブル信 号としては、 図 7のア ドレスデコーダ 5 0からの、 S— C P U 1 8 が C— C P U 3 4を制御するためのコントロール信号を書き込むタ ィ ミング信号 CCNTW が与えられる。 デコーダ 1 4 4および 1 4 6の ィネーブル信号としては、 図 7のァドレスデコーダ 5 0からの、 S - C P U 1 8が割り込みを制御するためのコントロール信号を書き 込むタイ ミング信号 SIFWおよび SICWが与えられる。 リセッ トベクタ レジスタ 1 4 8および 1 50のィネーブル信号としては、 図 7のァ ドレスデコーダ 5 0からの、 S— C P U 1 8がリセッ トベクタを書 き込むタイ ミング信号!? VLWおよび RVHWが与えられ、 NM Iベクタレ ジスタ 1 5 2および 1 5 4のィネーブル信号としては、 図 7のァド
差替え用紙 (規則 26)
レスデコーダ 5 0からの、 S— C P U 1 8が NM Iベクタを書き込 むタイ ミング信号 CNVLW および CNVHW が与えられ、 そして I RQベ クタレジスタ 1 5 6および 1 5 8のィネーブル信号としては、 図 7 のア ドレスデコーダ 5 0からの、 S_C P U 1 8力 I RQベクタを 書き込むためのタイ ミング信号 CIVLW および CIVHW が与えられる。 また、 図 1 6に示すように、 S C P U I F 1 3 4は C— C P U 3 からのデータ C Dの下位 8ビッ ト C D 7〜CD 0の最上位ビッ ト C D 7を受ける S— C P Uコ ン ト口一ルレジスタ 1 6 2, および下 位 8ビッ ト CD 7〜CD 0の下位 7ビッ ト CD 6〜CD 0を受ける
5— C P Uコン トロールレジスタ 1 6 4を舍む。 さらに、 データ C Dの下位 8ビッ ト C D 7〜 C D 0は 2つのデコーダ 1 6 6および 1
6 8 , ならびに 4つのべクタレジスタ 1 7 0 , 1 7 2, 1 7 4およ び 1 7 6に与えられる。 これらレジスタおよびデコーダ 1 6 2〜 1
7 6のクロックとしては、 クロックジェネレータ 2 1 6からの C— C P U 3 のためのクロック信号 PHI2がィ ンバ一タ 1 7 8によって 反転されて与えられる。
S— C P Uコン トロールレジスタ 1 6 2および 1 6 4のイネ一ブ ル信号としては、 図 7のァ ドレスデコーダ 5 0からの、 C— C P U 3 4が S— C P U 1 8を制御するためのコントロール信号を書き込 むタィ ミング信号 SCNTW が与えられる。 デコーダ 1 6 6のィネーブ ル信号としては、 図 7のァドレスデコーダ 5 0からの、 C— C P U 3 4が S— C P U 3 4からの割り込みを制御するためのコン トロー ル信号を書き込むタイ ミ ング信号 CIEWおよび CICWが与えられる„ N
差替え用紙 (規則 26)
M Iベクタレジスタ 1 7 0および 1 7 2のィネーブル信号としては 、 図 7のァドレスデコーダ 5 0からの、 C— C P U 3 4が NM Iベ クタを書き込むためのタイ ミング信号 SNVLW および SNVHW が与えら れ、 I R Qべク夕レジスタ 1 7 4および 1 7 6のィネーブル信号と しては、 図 7のァドレスデコーダ 5 0からの、 C— C P U 3 4が I R Qベクタを書き込むためのタイ ミング信号 SIVLW および SIVHW が 与んられる。
C— C P Uコン ト口一ルレジスタ 1 3 6の出力 Qは、 デコーダ 1 6 6からの C一 C P U 3 4から S— C P U 1 8への I R Q割り込み を許可するための信号 SIRQENとともに、 AN Dゲート 1 8 2に与え られ、 この AN Dゲート 1 8 2からは、 S— C P U 1 8から C一 C P U 3 に対して I R Q割り込みをかけるための信号 CIRQが出力さ れる。 なお、 C一 C P Uコントロールレジスタ 1 3 6は、 デコーダ 1 6 8からの S— C P U 1 8からの I R Q割り込みを終了するため の信号 SIRQCLによってリセッ トされる。 C— C P Uコ ン トロールレ ジスタ 1 3 8の出力 Qは、 そのまま、 S— C P U 1 8が C一 C P U
3 4をリセッ トするための信号 CRESとして出力される。 D— F F 1
4 0の出力 Qは、 デコーダ 1 6 6からの C— C P U 3 4から S— C P U 1 8への NM I割り込みを許可する信号 SNMIENとともに、 AN Dゲート 1 8 2に与えられ、 この AN Dゲ一ト 1 8 2からは、 C一 C P U 3 4に対して NM I割り込みをかけるための信号 CNMIが出力 される。 なお、 D— F F 1 4 0は、 デコーダ 1 6 8からの NM I割 り込みを終了するための信号 SNHICLによってリセッ トされる。 C一
差替え用紙 (規則 26)
P Uコン トロールレジスタ 1 4 2からは、 S— C P U 1 8から C - C P U 3 4に与えるための 4ビッ トの信号 SMEG3 〜SMEG0 が出力 される。 この 4ビッ トの信号は、 割込処理のステータスを表すため に用いられ、 たとえば、 S— C P U 1 8が C— C P U 3 4に NM I 割込をかけると同時に C— C P Uコントロールレジスタ 1 4 2の SM EG3 〜SMEG0 に 0を書き込むことにより、 C一 C P U 3 4に対して 0番の NM I割込をかけたことを知らせることができる。 SMEG3 〜 SMEG0 の 4ビッ トを用いれば 0〜 1 5までの数字を表すことができ るので、 したがって S _ C P U 1 8は C一 C P U 3 4に対して 1 6 種類の NM I割込をかけることができる。 同様に I R Q割込の際に SMEG3 〜SMEG0 を用いれば、 1 6種類の I RQ割込をかけることが できる。
S— C P Uコン トロールレジスタ 1 6 2の出力は、 デコーダ 1 4 4からの S— C P U 1 8から C— C P U 3 4への I R Q割り込みを 許可するための信号 CIRQENとともに、 ANDゲート 1 8 4に与えら れ、 この A N Dゲート 1 8 4からは、 C— C P U 3 4から S— C P U 1 8に対して I RQ割り込みをかけるための信号 SIRQが出力され る。 なお、 S— C P Uコン トロールレジスタ 1 6 2は、 デコーダ 1 4 4からの C— C P U 3 4からの I R Q割り込みを終了するための 信号 CIRQCUこよってリセッ トされる。 S— C P Uコン トロールレジ スタ 1 6 4からは、 C— C P U 3 4から S— C P U 1 8に与えるた めの 4ビッ 卜の信号 CMEG3 〜CMEG0 が出力される。 この 4ビッ トの 信号は、 割込処理のステータスを表すために用いられ、 たとえば、
差替え用紙 (規則 26)
C— C P U 3 4が S— CPU 1 8に I R Q割込をかけると同時に S 一 C P Uコントロールレジスタ 1 6 4の CMEG3 〜CMEG0 に Dを書き 込むことにより、 S— C PU 1 8に対して 0番の I RQ割込をかけ たことを知らせることができる。 CMEG3 〜CMEG0 の 4ビツ トを用い れば 0〜 1 5までの数字を表すことができるので、 したがって C一 C P U 3 4は S— C PU 1 8に対して 1 6種類の I RQ割込をかけ ることができる。 同様に、 後述のように C一 CPU 3 4が S— CP U 1 8の NM Iベクタを変更する際に CMEG3 〜CMEG0 を用いれば、 1 6種類の NM Iベクタの変更を行うことができる。
なお、 ANDゲート 1 8 0および 1 8 2の出力はバッファ 1 8 6 および 1 8 8を通して、 また、 C一 C P Uコントロールレジスタ 1
4 2の出力はバツファ 1 9 0を通して、 S— C P U 1 8へのデータ
5 D 7〜S D 0として出力される, さらに、 リセッ トベクタレジス タ 1 4 8および 1 5 0の出力はバッファ 1 9 2および 1 94を通し て、 リセ 'ン トベクタデータ BVL7〜! JVL0および HVH7〜RVH0として、 デ ータ S D 7〜S D 0に出力される, NM 1ベクタレジスタ 1 5 2お よび 1 5 4の出力はバッフ 7 1 9 6および 1 9 8を通して、 NM I ベクタデータ CNVL7 〜(: NVL0 および CNVH7 〜CNVH0 として、 データ S D 7〜SD 0に出力される。 I RQベクタレジスタ 1 5 6および 1 5 8の出力はバッファ 2 0 0および 20 2を通して、 I RQべク タデータ CIVL7 〜CIVL0 および CIVH7 〜CIVH0 として、 データ SD 7〜S D 0に出力される,
また、 ANDゲート 1 84の出力はバッフ 7 204を通して、 ま
た、 S— C P Uコン トロールレジスタ 1 6 の出力はバッファ 2 0 6を通して、 C一 C P U 3 4へのデータ CD 7〜CD 0として出力 される。 さらに、 NM Iベクタレジスタ 1 7 0および 1 Ί 2の出力 はバッファ 2 08および 2 1 0を通して、 NM Iベクタデータ SNVL 7 〜SNVL0 および SNVH7 〜SNVH0 として、 データ CD 7〜CD 0に 出力される, I R Qベクタレジスタ 1 Ί および 1 マ 6の出力はパ ッフ 7 2 1 2および 2 1 を通して、 I R Qベクタデータ SIVL7 〜 SIVL0 および SIVH7 〜SIVH0 として、 データ C D 7〜 C D 0に出力 される。
図 7に示すクロックジヱネレータ 2 1 6は、 原発振器 2 3 (図 3 ) からの周波数約 2 1 MH zの原クロックを受け、 S— C P U 1 8 および C— C P U 3 4に必要なシステムク口ック信号 SYSCK および クロック信号 PH120 等を作成する。 図 1 7を参照すると、 クロック ジェネレータ 2 1 6は、 原クロック信号 Z21Mを受け、 それをパッフ ァ 2 1 8を通して、 図 1 8または図 1 9に示すようなクロック信号 21M として出力する, クロック信号 21M が D— F F 2 20および 2 2 2のクロック入力に与えられるとともに、 ィンバータ 2 2 6によ つて反転されて D— F F 224のクロック入力に与えられる。 なお 、 D— F F 2 2 0〜2 2 4の各リセッ ト入力には、 システムリセッ ト信号!? ES が与えられる。 D— F F 2 2 0のデータ入力にはバッフ ァ 2 2 8を介して、 クロックジェネレータ 25 (図 3 ) から原シス テムクロ ンク信号 ZSYSCKが与えられ、 D— F F 222のデータ入力 にはデータ 22 0の出力 Qが与えられる。 D- F F 2 2 2の出力 Q
は D— F F 2 2 0の出力 Qの反転とともに ANDゲート 2 30に与 えられる。 ANDゲート 2 3 0の出力は反転されて ANDゲート 2 32の一方入力に与えられ、 他方入力には D— F F 2 2 の出力 Q が反転されて与えられる。 そして、 D— F F 2 24の出力 Qが、 ノヽ' ンファ 2 3 4を通して、 図 1 8または図 1 9に示すようなクロック 信号 PHI2として出力される。 すなわち、 クロック信号 PHI2は、 原ク ロック信号 21M が 2分周されたものである。
原システムクロック信号 ZSYSCKがバッファ 22 8を介して、 図 1 8または図 1 9に示すようなシステムクロ 'ンク信号 SYSCK として出 力される。
ANDゲート 2 3 0の出力が D— F F 2 3 6のデータ入力に与え られる。 この D— F F 2 3 6のリセッ ト入力には、 他の D— F F 2
3 8, 2 4 0および 24 2と同様に、 システムリセッ ト信号!? ES が 与えられる。 また、 これら D— F F 2 3 6〜2 4 2のクロック入力 としては、 クロック信号 PHI2が与えられる, ノヽ 'ンフ 7228からの システムクロック信号 SYSCK が反転されて ANDゲート 2 4 4およ び 2 4 6の一方入力に与えられ、 この ANDゲート 2 4 4および 2
4 6の他方入力には D— F F 2 4 0の出力 Qが与えられる, AND ゲート 24 4の出力が D— F F 23 8のデータ入力に与えられ、 D - F F 2 3 8の出力 Qは、 S— C P U 1 8が M— ROM2 2からの プログラムデータを読み出すときローレベルとなる信号 SCPURDB お よび S— C P U 1 Bが B— RAM 3 2または I —RAM 36にデー タを読み出すときローレベルとなりかつ書き込むときハイ レベルと
なる信号 SCPUWRD のそれぞれの反転とともに、 ORゲート 2 4 8に 与えられる。 データ 2 3 6の出力 Qが ANDゲート 24 6の出力と ともに、 ORゲート 2 5 0を介して D— F F 24 0のデータ入力に 与えられる。 D— F F 2 4 0の出力 Qは ORゲート 2 8の出力とと もに、 ANDゲート 25 2 K入力に与えられ、 ANDゲート 252 の出力が 0 Rゲート 2 5 0の出力とともに ORゲート 2 5 4に与え られる。 ORゲート 2 54の出力が D— F F 24 2のデータ入力に 与えられる,
D- F F 240の出力 Qが S— CP U 1 8が 3. 5 8MH zで動 作するときに S— C P U 1 8のメモリ 2 2 , 32または 3 6へのァ クセスを許容するための信号 SSSYNCとして出力されるとともに、 D -F F 2 4 2の出力 Qが S— CP U 1 8がメモリ 2 2. 3 2または 3 6をアクセスするのを許容するためのタイ ミング信号 とし て出力される。 すなわち、 信号 SSYNC は図 1 8または図 1 9に示す ようにように、 システムクロック信号 SYSCK (図 1 8または図 1 9 では SYSCK-FASTまたは SYSCK-SLOWS で示されている) の後緣よりや や進んだ後縁を有し、 信号 SSSYNCは信号 SSYNC の前緑と同期した前 緣を有し、 原クロック信号 21M の 2周期分に相当する呤間持続して 後縁となる。
このようにして、 クロックジェネレータ 2 1 6によって、 S— C P U 1 8の動作ク口ック信号 SYSCK および C一 C P U 3 4の動作ク 口ツク信号 PHI2が作成されるとともに、 S— C PU I Bおよび C一 CP U 3 4のメモリ 2 2. 32または 3 6へのアクセスを許容しま
たは禁止するための信号 SSYNC (SSSYNC) が作成される,
システムクロック信号 SYSCK とクロック信号 PHI2との位相を合わ せるために、 原クロック信号 21M が用いられるが、 クロック信号 SY SC がこの信号 21H と同期がとれるのは、 図 1 8または図 1 9で示 す、 SYSCK-FASTのときかあるいは SYSCK-SLDWのときである。 そして 、 S— C P U 1 8は、 このクロック信号 SYSCK-PASTまたは SYSCK-SL 0Wの後縁でメモリ 2 2, 32または 3 6から読み出されたデータを 読み込む。 したがって、 S— C PU 1 8がこれらメモリへアクセス する期間は、 このクロック信号 SYSCK の後緣より前に位置しなけれ ばならない, そこで、 図 1 7のクロックジェネレータ 2 1 6では、 信号 SSYNC または SSSYNCの後緣はクロック信号 SYSCK の後緣より前 に存在する。 なお、 S— C P U 1 8が 3. 5 B MH zで動作すると きには図 1 9に示すようにクロック信号 SYSCK の位相が変わるので 、 S - C P U 1 Bのアクセスを許容するのに信号 SSYNC を用いると 前後の動作サイクルと重なりを生じることがある。 そこで、 図 1 9 に示すように信号 ssyNc より短いハイ レベル期間を有する信号 sssy
NCを用いる。
そして、 前述のように、 この信号 SSYNC(SSSYNC) のハイ レベル期 間に S— C PU 1 8のメモリへのアクセスを許容し、 ローレベル期 間に C- C P U 34のメモリへのアクセスを許容することによって 、 S-C PU 1 8および C一 CPU 3 4が実質的に同時に、 デュア ルフェーズで、 各メモリ 22, 32または 3 6をアクセスすること ができるのである。
ここで、 図 2 0〜図 2 5を参照して、 S C P U I F 1 3 4を介し て S— C PU 1 8および C一 C PU 3 4の相互作用について説明す る。
S— CPU 1 8が C一 C P U 3 4を起動する場合、 図 2 0のステ ップ S 1に示すように、 S— C P U 1 8は、 データ S D 0〜S D 7 によって、 リセッ トベクタレジスタ 1 4 8および 1 50に、 C— C P U 3 に実行させたいプログラムの先頭ァドレスをセッ トする。 そして、 ステップ S 2において、 C一 C P Uコントロールレジスタ 1 3 8にデータビッ ト S D 5によって Γ 1 j をセッ 卜する, 応じて 、 C— CPUコン トロールレジスタ 1 38からハイ レベルの C一 C P Uリセ 'ン ト信号 CBESが出力され、 それが図 7に示すように C— C P U 3 4に与えられ、 C一 CP U 34のリセッ トが解除される。 な お、 C— C PU 34は、 応じて、 M— ROM 2 2にアクセスし、 リ セッ トベクタレジスタ 1 4 8および 1 50によって指定された M— R OM 2 2の先頭ァ ドレスからブ αグラム 実行する。
S— C PU 1 8が C- C P U 3 4を停止する場合、 図 2 1のステ ップ S 3に示すように、 5— CP U 1 8は、 C一 CP Uコントロー ルレジスタ 1 3 8にデータビ 'ン ト SD 5によって 「 0」 をセツ 卜す る, 応じて、 C一 C P Uコントロールレジスタ 1 3 8からローレべ ルの C_ C PUリセッ ト信号 CBESが出力され、 それが図 7に示すよ うに C一 CP U 3 4に与えられ、 C一 C P U 34がリセッ トされる
S—じ?1! 1 8が( ーじ?1; 3 4に NM I割り込みをかける場仓,
図 2 1のステップ S 4に示すように、 S— C P U 1 Bは、 データ S D 0〜SD 7によって、 NM Iベクタレジスタ 1 52および 1 54 に、 M— : R OM 22の NM Iプログラムが格納されている先頭ァド レスをセッ トする。 そして、 ステップ S 6において、 C一 C PUコ ントロールレジスタ 1 4 0にデータビッ ト S D 4によって Γ 1 j を セッ トする。 応じて、 C— C P Uコントロールレジスタ 1 4 0から ハイレベルの C一 CPU割り込み信号 CNMIが出力され、 それが図 7 に示すように C— CP U 34に与えられ、 C一 C P U 34に割り込 み起動がかけられる, なお、 C— C P U 34は、 応じて、 M— R 0 M22にアクセスし、 NM 1ベクタレジスタ 1 52および 1 54に よって指定された M— ROM22の先頭ァドレスから NM I割り込 みプログラムを実行する。
S - C P U 1 8が C— CPU 34に I R Q割り込みをかける場合 、 図 23のステップ S 7に示すように、 S— C PU 1 8は、 データ SD 0〜SD7によって、 I RQベクタレジスタ 1 56および 1 5 8に、 M— R OM 22の I R Qプログラムが格納されている先頭ァ ドレスをセッ トする。 そして、 ステップ S 8において、 C一 CPU コント口ールレジスタ 1 36にデータビッ ト S D 7によって Γ 1 j をセッ トする, 応じて、 C一 C P Uコントロールレジスタ 1 36力、 らハイ レベルの C— C P U割り込み信号 CIHQが出力され、 それが図 7に示すように C一 C P U 34に与えられ、 C—CPU 34に割り 込み起動がかけられる。 なお、 C一 CPU 34は、 応じて、 M— R OM22にアクセスし、 I RQベクタレジスタ 1 56および 158
によって指定された M— ROM 22の先頭ァドレスから I RQ割り 込みプログラムを実行する。
次に、 C一 CPU34が S— C P U 1 8の NM Iベクタを変更す る場合、 図 24のステップ S 1 0に示すように、 C— C P U 34は 、 データ CD 0〜CD 7によって、 Iベクタレジスタ 1 70お よび 1 7 2に、 M— ROM22の NM Iプログラムが格納されてい る先頭ァドレスをセッ トする。 そして、 ステップ S 1 1において、 S— C P Uコントロールレジスタ 1 62にデータビッ ト CD 4によ つて 「 1」 をセッ トする。 応じ、 S— C P U 1 8に NM I割込がか かったときに読み出される NM Iベクタアドレスが M— R OM 22 内から NM Iベクタレジスタ 1 70および 1 7 2に変更される。 な お、 S— C P U 1 8は NM I割込がかかったことに応じて M— R 0 22をアクセスし、 NM Iベクタレジスタ 1 7 0および 1 Ί 2に よって指定された M— R OM 22の先頭ァドレスから NM I割込み プログラムを実行する。
そして、 C一 CP U 34が S— C P U 1 8に I RQ割り込みをか ける場合、 図 25のステップ S 1 2に示すように、 C一 C P U 34 は、 データ CD 0〜CD 7によって、 I RQベクタレジスタ 1 7 4 および 1 7 6に、 M— ROM22の I R Qプログラムが格納されて いる先頭ァドレスをセッ トする。 そして、 ステップ S 1 3において 、 S— C P Uコント口一ルレジスタ 1 6 2にデータビッ ト C D 7に よって 「 1」 をセッ トする。 応じて、 S— CP Uコントロールレジ スタ 1 62からハイ レベルの S— C P U割り込み信号 SIRQが出力さ
差替え用紙 (規則 26)
れ、 それが S— C P U 1 8に与えられ、 S— C P U 1 8に割り込み 起動がかけられる。 なお、 S— C P U 1 8は、 応じて、 M— R OM 2 2にアクセスし、 I R Qベクタレジスタ 1 7 4および 1 7 6によ つて指定された M— R OM 2 2の先頭ァドレスから I R Q割り込み プログラムを実行する。
実施例のゲームシステム 1 0においては、 コプロセサ 3 0の C一 C P U 3 4は、 主として、 (a) ァクセラレータモ一ド, (b) ミック ス処理モード, および(c) 代行処理モードにおいてその威力を発揮 する。
(a) ァクセラレータモード
このモ一ドでは、 図 2 6に示すように C一 C P U 3 4は停止状態 にされている。 そして、 ステップ S 1 0 1において、 S— C P U 1 8は、 データ S D 0〜S D 7によって、 リセッ トベクタレジスタ 1
4 8および 1 5 0に、 C— C P U 3 4に実行させたいプログラムの 先頭ァドレスをセッ トする。 そして、 ステップ S 1 0 2において、
5— C P U 1 8は、 C一 C P Uコントロールレジスタ 1 3 8にデー タビッ ト S D 5によって 「 1 j をセッ 卜する。 応じて、 C一 C P U コン トロールレジスタ 1 3 8力、らハイ レベルの C— C P Uリセ 'ン ト 信号 CRESが出力され、 それが C一 C P U 3 4に与えられ、 C一 C P U 3 4のリセッ トが解除される。 したがって、 C一 C P U 3 4は、 図 2 6のステップ S 2 0 1において M— R O M 2 2にアクセスし、 指定された M— R OM 2 2の先頭ァ ドレスからプログラムを実行す る。
差替え用紙 (規則 26)
C一 C P U 3 4は、 プログラム実行の結果を S— C P U 1 8に送 るために、 ステップ S 2 0 2において、 S— C P Uコントロールレ ジスタ 1 62にデータビッ ト CD 7によって Γ 1」 をセ 'ン トする。 応じて、 S— C P Uコントロールレジスタ 1 6 2および ANDゲ一 ト 1 8 4からハイレベルの S— C P U割り込み信号 SIRQが出力され 、 それが S— C P U 1 8に与えられ、 S— C P U 1 8に割り込みが かけられる。
S— C P U 1 8は、 ステップ S 1 0 6において上記 I R Qを検出 するまで、 ステップ S 1 0 3, S 1 0 4 , および S 1 0 5を実行す る。 すなわち、 S— C P U 1 8は C— C P U 3 4からの I RQ割り 込みを可能にするために、 まず、 ステップ S 1 0 3において、 I N Tイネ一ブルレジスタ 1 4 4をイネ一ブルする。 応じて、 このレジ スタ 1 4 4から信号 CIRQENが出力され、 それが図 1 6に示す AND ゲート 1 8 4に与えられる。 したがって、 以後、 この ANDゲ一ト 1 8 4を通して、 上述のように C— C P U 3 4から S— C P U 1 8 に I 割り込みをかけることができる。 そして、 S— C P U 1 8 は、 ステップ S 1 0 4において本体 1 2内の W— RAM 2 4に移り 、 C— C P U 3 4からの I R Q割り込みを待つ (プログラムウェイ h)
ステップ S 1 0 6において C— C P U 3 4からの I RQを検出し 、 C— C P U 3 4による処理結果を受け取った後、 S— C P U 1 8 は、 ステップ S 1 0 7において、 C— C P Uコン トロールレジスタ 1 3 8にデータビッ ト S D 5によって 「 0」 をセ ン トする。 応じて.
差替え用紙 (規則 26)
C一 C P Uコン トロールレジスタ 1 38から口一レベルの C— C P Uリセッ ト信号 CRESが出力され、 それが C— C P U 3 に与えられ 、 C一 C P U 34がリセッ トされ、 停止状態となる。
このようなァクセラレ一タモードにおいては、 図 27に示すよう に、 C一 C P U 34によって時間のかかるサブルーチン (たとえば 、 衝突判定, 3 D座標演算等) を処理させることによって、 S— C P U 1 8は極めて高速に全体処理を実行することができる。
(b) ミ ックス処理モ一ド
この場合、 C一 C P U34は、 図 28のステップ S 2 1 1におけ るように、 並列処理 (別のプログラムの実行) を行っている。 そし て、 S— C PU 1 8は、 図 28のステップ S 1 1 1に示すように、 データ SD 0〜SD7によって、 NM Iベクタレジスタ 1 52およ び 1 54に、 M— ROM22の NM Iプログラムが格納されている 先頭ァドレスをセッ トする。 そして、 ステップ S I 1 2において、 C— CPUコン トロールレジスタ 1 40にデータビッ ト SD 4によ つて 「 1」 をセッ トする。 応じて、 C— C P Uコント口一ルレジス タ 1 40からハイ レベルの C— C P U割り込み信号 CNMIが出力され 、 それが C— C P U 34に与えられ、 C_ C P U 34に NM I割り 込み起勛がかけられる。 なお、 C_ C P U 34はステップ S 2 1 2 において割り込みフラグを読み込み、 S— C PU 1 8から NM I割 り込みがあつたか否かをステップ S 2 1 3で検出する。 S— C P U 1 8からの NM I割り込みを検出すると、 C一 C P U 34は、 ステ ップ S 2 1 4において、 先に説明したァクセラレ一タ処理を実行す
差替え用紙 (規則 26)
る o
C— C PU 34は、 プログラム実行の結果を S— C PU 1 8に送 るために、 ステヅプ S 2 1 5において、 S— C P Uコントロールレ ジスタ 1 62にデータビッ ト CD 7によって 「 1 j をセッ トする。 応じて、 S— C P Uコントロールレジスタ 1 6 2および AN Dゲ一 ト 1 84からハイレベルの S— C P U割り込み信号 SIRQが出力され 、 それが S— C P U 1 8に与えられ、 S— C P U 1 8に割り込みが かけられる。 すなわち、 S— C P U 1 8は指定された M— R OM 2 2の先頭ァドレスから I RQ割り込みプログラムを実行する。
S— C P U 1 8は、 ステップ S 1 1 6において上記 I R Qを検出 するまで、 ステップ S 1 1 3 , S 1 1 , および S 1 1 5を実行す る。 すなわち、 · S— CPU 1 8は C一 C P U 34からの I RQ割り 込みを可能にするために、 まず、 ステップ S 1 1 3において、 I N Tイネ一ブルレジスタ 1 44をイネ一ブルする。 応じて、 このレジ スタ 1 44から信号 CIRQENが出力され、 それが図 1 6に示す AND ゲート 1 84に与えられる。 したがって、 以後、 この ANDゲート 1 84を通して、 上述のように C— C P U 34から S— C P U 1 8 に I 割り込みをかけることができる。 そして、 S— C P U 1 8 は、 ステップ S 1 1 4において本体 1 2内の W— RAM 24に移り 、 C— CPU 34からの I RQ割り込みを待つ (プログラムウェイ h) o
ステップ S 1 1 5で S— CP U 1 8は割り込みフラグを読み取り 、 ステップ S 1 1 6において C一 CP U 34力、らの I R Qを検出す
差替え用紙 (規則 26)
。 S— C P U 1 8は、 ステップ S 1 1 7においてメィンルーチン に復帰する。 また C— C P U 3 4は、 ステップ S 2 1 6において、 先の S— C P U 1 8からの割り込みによって中断した並列処理 (別 のプログラムの実行) を再開する。
このようなミックス処理モードは、 特に、 並列処理時、 コプロセ サ (C一 C P U 3 4 ) に余裕があり、 2つのプロセサ、 S— C P U 1 8および C— C P U 3 4の処理速度のバランスをとりたい場合や 、 比較的処理頻度の高い S— C P ϋ 1 8側のサブルーチン (各種演 箕サブルーチン, 回転 ·拡大 '縮小バラメータ算出等) に有効であ る。 すなわち、 2つの C P Uで並列処理を実行している場合であつ ても、 C一 C P U 3 4を S— C P U 1 8のァクセラレータとして起 動できるため、 両 C P Uの処理速度のバランスをとることができる
(c) 代行処理モード
このモードでは、 図 3 0に示すように C— C P U 3 4はステップ S 2 2 1で停止状態にされている。 そして、 ステップ S 1 2 1にお いて、 S— C P U 1 8は、 データ S D 0〜S D 7によって、 リセッ トベクタレジスタ 1 4 8および 1 5 0に、 C— C P U 3 4に実行さ せたいプログラムの先頭アドレスをセッ トする。 そして、 ステップ S 1 2 2において、 S— C P U 1 8は、 C一 C P Uコントロールレ ジスタ 1 3 8にデータビッ ト S D 5によって 「 1」 をセッ トする。 応じて、 C— C P Uコントロールレジスタ 1 3 8からハイレベルの C一 C P Uリセッ ト信号 CRESが出力され、 それが C— C P U 3 4に
差替え用紙 (規則 26)
与えられ、 C一 C PU 34のリセッ トが解除される。 したがって、 C一 CP U 3 4は、 図 3 0のステップ S 2 2 2において M— ROM 22にアクセスし、 指定された M— R OM 22の先頭ァ ドレスから プログラムを実行する,
その後、 S— CPU 1 8では、 ステップ S 1 2 3およびステップ S 1 2 4によって DMAを実行する。 このとき、 C一 C P U 34は S— CP U 1 8に代わってプログラムを実行する (代行処理) β
C— CP U 34は、 プログラム実行の結果を S— C P U 1 8に送 るために、 ステップ S 2 2 3において、 S— C PUコント口一ルレ ジスタ 1 62にデータビン ト CD 7によって 「 1 j をセ ン トする, 応じて、 S— CPUコントロールレジスタ 1 62および ANDゲー ト 1 8 4からハイレベルの S— C P U割り込み信号 SIRQが出力され 、 それが S— C P U 1 8に与えられ、 S— C P U 1 8に割り込みが かけられる。
S— CP U 1 8は、 ステップ S 1 2 8において上記 1 RQを検出 するまで、 ステップ S 1 2 5, S 1 2 6, および S 1 27を実行す る。 すなわち、 S— CPU 1 8は C— CP U 3 4からの I RQ割り 込みを可能にするために、 まず、 ステップ S 1 2 5において、 I N Tィネ一ブルレジスタ 1 4 4をィネーブルする。 応じて、 このレジ スタ 1 4 4から信号 CIRQENが出力され、 それが図 1 6に示す AND ゲート 1 84に与えられる。 したがって、 以後、 この ANDゲート 1 8 4を通して、 上述のように C— C PU 3 4から S— CP U 1 8 に I RQ割り込みをかけることができる。 そして、 S„二 C PU 1 8
は、 ステップ S 1 26において本体 1 2内の W— RAM 2 4に移り 、 C一 C P U 34からの I RQ割り込みを待つ (プログラムウェイ ステップ S 1 27で S— CPU 1 8は割り込みフラグを読み取り 、 ステップ S 1 2 8において C一 C P U 3 4からの I RQを検出し 、 C一 CPU 34による処理結果を受け取った後、 S— CPU 1 8 は、 ステップ S 1 2 9において、 C— C P Uコントロールレジスタ 1 38にデータビッ ト SD 5によって 「 0」 をセッ トする。 応じて 、 C一 CPUコントロールレジスタ 1 3 8からローレベルの C一 C P Uリセッ ト信号 CUESが出力され、 それが C— C PU 3 4に与えら れ、 C一 C P U 34がリセッ トされ、 停止状態となる (ステップ S 224 ) o
このような代行処理モードにおいては、 図 3 1に示すように、 S — C PU 1 8は DMA時停止しいてるため、 従来であれば直列にお こなっていた処理を C一 C P U 3 4に代行させることにより、 全体 の処理速度の大幅な向上が期待できる。 したがって、 この代行処理 モードは、 たとえば、 圧縮画像の展開, アニメーショ ン等、 DMA と平行した処理を操り返すサブルーチンに特に効果的である。 なお、 上述の実施例では M— ROM 22. B-RAM32, およ び I一 RAM 3 6等のメモリのアクセスタイムは、 S— C P U 1 8 だけでなく、 C— CP U 3 4のサイクルタイムに比べても短い, す なわち、 メモリのアクセス速度は S— C PU 1 8や C一 C P U 3 4 の動作速度に比べて速い。 しかしながら、 全てのメモリがこの条件
を充足する必要はなく、 2つの C P Uないしはプロセサによってァ クセスされ得るメモリだけがこの条件を満足していればよい。
この発明が詳細に説明され図示されたが、 それは単なる図解およ び一例として用いたものであり、 限定であると解されるべきではな いことは明らかであり、 この発明の精神および範囲は添付されたク レームの文言によってのみ限定される。
差替え用紙 (規則 26)