(57)【特許請求の範囲】
【請求項１】
データ処理部と、第１エリア及び第２エリアを含むメモリ部と、転送制御部とを含み、選択的に第１モード又は第２モードが設定可能にされたデータ処理装置であって、
前記データ処理部は、前記第１モードでは第１のビット長を有するアドレス信号を用いてアクセスを行ない前記メモリ部の全体をアクセス可能であり、第２モードでは前記第１のビット長よりも少ない第２のビット長を有するアドレス信号を用いてアクセスを行ない前記第１エリアをアクセス可能であり、
前記転送制御部は、前記第２モードにおいても前記第１のビット長を有するアドレス信号を用いて情報の転送制御が可能であり、
前記第２モードにおける前記転送制御部は、第１のビット長のアドレス信号を用いてアクセス可能なアドレス空間において前記メモリ部の第１エリアから前記第２エリアに情報を転送制御し、又は前記第２エリアに格納してある情報を前記第１エリアに転送制御可能であることを特徴とするデータ処理装置。
【請求項２】
第１状態又は第２状態を採り得る制御レジスタ手段を更に有し、
前記第２モードにおいて前記転送制御部は、前記制御レジスタ手段の第１状態に応答して前記第１のビット長を有するアドレス信号を用いた第１の転送制御が許容され、前記制御レジスタ手段の第２状態に応答して前記第２のビット長を有するアドレス信号を用いた第２の転送制御が許容されるものであることを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記第２モードにおいて、前記第１の転送制御により前記メモリ部の全体に対するアクセスが可能にされ、前記第２の転送制御により前記メモリ部の第１エリアに対するアクセスが可能にされる、ことを特徴とする請求項２記載のデータ処理装置。
【請求項４】
前記第１エリアは、前記転送制御部による転送制御の為の転送元、転送先アドレス情報を含む転送制御情報が設定される転送制御情報エリアを含み、
前記データ処理部は複数の前記転送制御情報を前記転送制御情報エリアに対して設定可能とされ、
前記転送制御部は、データ転送動作の起動指示を受けて前記転送制御情報エリアから転送制御情報を読み込み、読み込んだ転送制御情報にしたがった転送制御を行なうものであることを特徴とする請求項１記載のデータ処理装置。
【請求項５】
データ処理装置の外部回路と外部バスを介してアクセス制御可能な外部バスインタフェース回路を更に有し、
前記外部バスインタフェース回路に接続される外部回路は前記第２エリアに割当てられることを特徴とする請求項１又は２記載のデータ処理装置。
【請求項６】
データ処理装置の外部とアクセス可能な入出力周辺回路を更に有し、
前記入出力周辺回路は前記第１エリアに配置されたレジスタを有することを特徴とする請求項１又は２記載のデータ処理装置。
【請求項７】
前記データ処理装置は、第２のビット長のアドレス信号を用いる第２モードのとき、前記第２エリアはアクセス不可能であって、前記第１エリアのみをアクセス可能とされる請求項１乃至６の何れか１項記載のデータ処理装置。
【請求項８】
前記メモリ部は、前記第１エリア及び第２エリアにまたがるＲＯＭと、前記第１エリアに含まれるＲＡＭとを含んで成るものであることを特徴とする請求項１乃至７の何れか１項記載のデータ処理装置。
【請求項９】
前記ＲＯＭは電気的に書き換え可能なフラッシュメモリであることを特徴とする請求項８記載のデータ処理装置。
【請求項１０】
前記メモリ部の前記第２エリアは、前記データ処理部が実行するフラッシュメモリの書換え制御プログラムの記憶領域を含んで成るものであることを特徴とする請求項９記載のデータ処理装置。
【請求項１１】
データ処理装置及び第１の外部装置を有するデータ処理システムであって、
前記データ処理装置は、データ処理部、メモリ部、転送制御部及び前記第１の外部装置に外部バスで接続された外部バスインタフェース回路を含み、選択的に第１モード又は第２モードが設定可能にされ、
前記データ処理部は、前記第１モードでは第１のビット数で表現可能なアドレス信号を用いてアクセスを行ない前記メモリ部の全体をアクセス可能であり、第２モードでは前記第１のビット数よりも少ない第２のビット数で表現可能なアドレス信号を用いてアクセスを行ない前記メモリ部の一部である第１エリアをアクセス可能であり、
前記転送制御部は、前記第２モードにおいても前記第１のビット数で表現可能なアドレス信号を用いて情報の転送制御が可能であり、
前記外部バスインタフェース回路に接続される前記第１の外部装置は、第１のビット数で表現可能なアドレス信号を用いてアクセス可能なアドレス空間において前記第１エリア以外の第２エリアに割当てられることを特徴とするデータ処理システム。
【請求項１２】
前記データ処理装置は外部とインタフェース可能な入出力周辺回路を更に有し、
前記入出力周辺回路は前記第１エリアに配置されたＩ／Ｏレジスタを有し、
前記Ｉ／Ｏレジスタを介してデータ送受を行う第２の外部装置が前記データ処理装置に接続されて成るものであることを特徴とする請求項１１記載のデータ処理システム。
【請求項１３】
夫々メモリアクセスが可能であって共通バスに接続された第１のデータ処理装置及び第２のデータ処理装置を有するデータ処理システムであって、
前記第１のデータ処理装置は、データ処理部、メモリ部、及び転送制御部を含み、選択的に第１モード又は第２モードが設定可能にされ、
前記データ処理部は、前記第１モードでは第１のビット長のアドレス信号を用いて前記メモリ部の全体をアクセス可能であり、第２モードでは前記第１のビット長よりも少ないビット長である第２のビット長のアドレス信号を用いて前記メモリ部の一部の第１エリアをアクセス可能であり、
前記転送制御部は、前記第２モードにおいても前記第１のビット長のアドレス信号を用いて情報の転送制御が可能であり、
前記第２モードにおいて前記データ処理部は、前記第２のデータ処理装置からの第１の要求に応答して、前記メモリ部の第１エリア以外のエリアに含まれる第３エリアを、前記第２データ処理装置の記憶領域に割り当て、前記第２のデータ処理装置からの第２の要求に応答して、前記データ転送制御部に前記第２のデータ処理装置から供給される情報を前記第３のエリアに転送させ、前記第２のデータ処理装置からの第３の要求に応答して、前記データ転送制御部に前記第３のエリアから前記第２のデータ処理装置に情報を転送させるものであることを特徴とするデータ処理システム。
【請求項１４】
前記第２のデータ処理装置は、前記第１の要求と共に、第３のエリアに割当てられる前記第２データ処理装置の記憶領域を特定するエリア情報を第１のデータ処理装置に転送し、
前記第１のデータ処理装置は、前記第２の要求又は第３の要求と共に第２のデータ処理装置が出力するアドレス信号を前記エリア情報を用いて前記第３エリア内のアドレス情報に変換するものであることを特徴とする請求項１３記載のデータ処理システム。
【請求項１５】
前記第２のデータ処理装置は、前記第１の要求と共に、第３のエリアに割当てられる前記第２データ処理装置の記憶領域を特定するエリア情報を第１のデータ処理装置に転送し、
前記第１のデータ処理装置は前記第３エリアを特定するエリア情報を前記第２のデータ処理装置に転送し、
前記第２のデータ処理装置は、前記第２の要求又は第３の要求において、前記第３エリアの前記エリア情報を用いて生成したアドレス信号を第１のデータ処理装置に出力するものであることを特徴とする請求項１３記載のデータ処理システム。
【請求項１６】
前記エリア情報は、エリアサイズ、エリアの先頭アドレス、エリアの先頭アドレスと終了アドレス、又はエリアの先頭アドレスとエリアサイズの少なくとも１つであることを特徴とする請求項１３乃至１５の何れか１項記載のデータ処理システム。
【請求項１７】
前記データ転送部は、前記メモリ部の第１及び第３エリア以外の部分に前記第１のデータ処理装置が使用する情報を格納可能であることを特徴とする請求項１３乃至１６の何れか１項記載のデータ処理システム。
【請求項１８】
前記データ転送部は、前記データ処理部が使用するデータを前記メモリ部の第１及び第３エリア以外の部分から前記第１エリアに転送可能であることを特徴とする請求項１３乃至１７の何れか１項記載のデータ処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動作モードに応じてアドレス空間が切り換えられるデータ処理装置に関し、例えば、マイクロコンピュータに適用して有効な技術に関する。
【０００２】
【従来の技術】
マイクロコンピュータには、アクセス対象になるアドレス空間の異なる動作モードを持つＣＰＵ（中央処理装置）を搭載したものがある。例えば、株式会社日立製作所発行の日立シングルチップマイクロコンピュータＨ８Ｓ／２１４８、Ｈ８Ｓ／２１４４シリーズハードウェアマニュアルに記載のマイクロコンピュータは、ＣＰＵがサポートするアドレス空間が６４ｋバイトのノーマルモードと、１６Ｍバイトのアドバンストモードの２つの動作モードを持つ。アドレス空間の相違はアドレス情報のビット数の相違等として現れるから、ノーマルモード対応でプログラミングする方がアドバンストモード対応に比べて命令コードが短くなり、プログラム容量を小さくすることができる。しかも、ノーマルモードで動作させた方が実行ステート数も短くなり、データ処理動作も高速になる。
【０００３】
【発明が解決しようとする課題】
ノーマルモードでは、６４ｋバイトを超えるアドレス空間をアクセスすることができないため、プログラム及びデータ容量を小さくしなければならないという制限を受けることになる。しかしながら、マイクロコンピュータ応用システムの高機能化若しくは複雑化の傾向等に対して６４ｋバイトのような制限を満足するのが難しい場合がある。このとき、勢い１６Ｍバイト空間で動作させる動作モードを選択してしまうと、６４ｋバイトのような比較的小さなアドレス空間を利用する動作モードの利点が全て失われてしまう。
【０００４】
本発明の目的は、相対的にＣＰＵのアクセス空間が小さくしかもプログラムの実行効率の良い動作モードにおける利便性を向上させることができるデータ処理装置を提供することにある。
【０００５】
本発明の別の目的は、ＣＰＵの比較的小さなアクセス空間によってプログラムの実行効率を良好に維持しながら、プログラム容量の制限を緩和することができるデータ処理装置を提供することにある。
【０００６】
本発明のその他の目的は、物理的な回路規模を縮小し、データ処理効率を良好に維持しながら、プログラム処理の高機能化若しくは複雑化に対応できるデータ処理システムを提供することにある。
【０００７】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【０００８】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００９】
〔１〕本発明の第１の観点によるデータ処理装置は、選択的に第１モード又は第２モードが設定可能にされ、ＣＰＵのようなデータ処理部、内蔵メモリやレジスタ等のメモリ部及びダイレクトメモリアクセスコントローラ若しくはデータトランスファコントローラのような転送制御部を含む。このデータ処理装置は例えば１個の半導体チップに形成される。前記データ処理部は、前記第１モードでは第１のビット数で表現可能なアドレス信号を用いてアクセスを行ない前記メモリ部の全体をアクセス可能であり、第２モードでは前記第１のビット数よりも少ない第２のビット数で表現可能なアドレス信号を用いてアクセスを行ない前記メモリ部の一部である第１エリアをアクセス可能である。前記転送制御部は、前記第２モードにおいても前記第１のビット数で表現可能なアドレス信号を用いて情報の転送制御が可能である。
【００１０】
上記によれば、第２動作モードであっても、データ転送制御部はそのときＣＰＵによってアクセス可能なアドレス範囲を超えてデータ転送制御を行なうことができる。即ち、前記第２モードにおける前記転送制御部は、第１のビット数で表現可能なアドレス信号を用いてアクセス可能なアドレス空間において前記メモリ部の第１エリアからそれ以外の第２エリアに情報を転送制御し、又は前記第２エリアに格納してある情報を前記第１エリアに転送制御可能である。
【００１１】
これにより、例えば、第２モードにおけるＣＰＵのアクセス範囲に対してプログラム容量の制限を超えてプログラム等を生成しても、その制限を超えた分のプログラム等を第１エリア以外のメモリ部に格納しておけば、ＣＰＵは当該第１エリア以外のメモリ部に格納されているプログラムなどを直接アクセスできないが、転送制御部がこれをアクセスしてメモリ部の第１エリアに転送することができ、第２モードのＣＰＵは第１エリアに転送された前記プログラム等をアクセスして利用することができる。したがって、ＣＰＵの比較的小さなアクセス空間によりプログラムの実行効率を良好に維持しながら、プログラム容量の制限を緩和することができる。
【００１２】
〔２〕第２モードにおいて前記転送制御部が、前記第１のビット数で表現可能なアドレス信号を用いて情報の転送制御を行うか、或いは、前記第２のビット数で表現可能なアドレス信号を用いて情報の転送制御を行うかを選択可能にするには、第１状態又は第２状態を採り得る制御レジスタ手段を更に設け、前記第２モードにおいて前記転送制御部は、前記制御レジスタ手段の第１状態に応答して前記第１のビット数で表現可能なアドレス信号を用いた第１の転送制御が許容され、前記制御レジスタ手段の第２状態に応答して前記第２のビット数で表現可能なアドレス信号を用いた第２の転送制御が許容されるようにすればよい。
【００１３】
例えば、前記第２モードにおいて、前記第１の転送制御により前記メモリ部の全体に対するアクセスが可能にされ、前記第２の転送制御により前記メモリ部の第１エリアに対するアクセスが可能にされる。
【００１４】
前記レジスタ手段の第２状態を選択すれば、第２モードにおいてＣＰＵも転送制御部も共に同じアドレス空間をアクセスすることになり、従来のデータ処理装置と同様の動作態様も実現でき、そのような状態で動作されていた既存の動作プログラムをそのまま実行することを保証でき、従来のデータ処理装置に対する互換性を達成することができる。
【００１５】
〔３〕前記第１エリアには、前記転送制御部による転送制御の為の転送元及び転送先アドレス情報を含む転送制御情報が前記データ処理部によって複数組設定可能にされる転送制御情報エリアを割り当て、前記転送制御部は、データ転送動作の起動指示を受けて前記転送制御情報エリアから転送制御情報を読み込み、読み込んだ転送制御情報に従った転送制御を行なような構成を採用してよい。
【００１６】
前記データ処理装置に、外部とバスインタフェース可能な外部バスインタフェース回路を更に設け、前記外部バスインタフェース回路に接続される外部回路を前記第２エリアに割当てれば、第２モードにおいて転送制御部は、ＣＰＵがアクセスできない外部回路のデータ又はプログラムをメモリ部の第１エリアに転送してＣＰＵの利用を可能にすることができる。
【００１７】
前記データ処理装置に、外部とインタフェース可能な入出力周辺回路を更に設け、前記入出力周辺回路には前記第１エリアに配置されるＩ／Ｏレジスタを設けておけば、第２モードにおいて転送制御部は、ＣＰＵがアクセスできない第２エリアのデータを第１エリアの前記Ｉ／Ｏレジスタに転送し、ＣＰＵが入出力周辺回路の入出力動作を制御すれば、周辺回路を介して外部との間で、第２エリアのデータを通信したりすることが可能になる。
【００１８】
〔４〕前記メモリ部は、前記第１エリア及び第２エリアにまたがるＲＯＭ、前記第１エリアに含まれるＲＡＭ、更には周辺Ｉ／Ｏレジスタを含んで構成してよい。
【００１９】
このとき、前記ＲＯＭには電気的に書き換え可能なフラッシュメモリを採用してよい。フラッシュメモリにプログラムを格納すれば、バグ対策の為のプログラム修正やバージョンアップの為のプログラム書換えが可能になる。書換え制御を前記データ処理部が行う場合には、その為に前記データ処理部が実行する書換え制御プログラムを前記フラッシュメモリの第２エリアに記憶しておけばよい。書換え時、第２モードのＣＰＵは転送制御部に転送条件を初期設定し、その後、これに従って、転送制御部は第２エリアの書換え制御プログラムをＲＡＭ等の第１エリアに転送し、ＣＰＵはその書換え制御プログラムを実行してフラッシュメモリを書き換え制御する。
【００２０】
〔５〕本発明の第２の観点によるデータ処理システムは、データ処理装置及び第１の外部装置を有する。前記データ処理装置は、例えば半導体チップに、ＣＰＵのようなデータ処理部、メモリ部、転送制御部及び前記第１の外部装置に外部バスで接続された外部バスインタフェース回路を含み、選択的に第１モード又は第２モードが設定可能にされる。前記データ処理部は、前記第１モードでは第１のビット数で表現可能なアドレス信号を用いてアクセスを行ない前記メモリ部の全体をアクセス可能であり、第２モードでは前記第１のビット数よりも少ない第２のビット数で表現可能なアドレス信号を用いてアクセスを行ない前記メモリ部の一部である第１エリアをアクセス可能である。前記転送制御部は、前記第２モードにおいても前記第１のビット数で表現可能なアドレス信号を用いて情報の転送制御が可能である。前記外部バスインタフェース回路に接続される前記第１の外部装置は、第１のビット数で表現可能なアドレス信号を用いてアクセス可能なアドレス空間において前記第１エリア以外の第２エリアに割当てられている。
【００２１】
このデータ処理システムによれば、第２モードにおいて転送制御部は、ＣＰＵがアクセスできない第２エリア上の第１の外部装置と前記メモリ部の第１エリアとの間でデータ又はプログラムを転送できる。
【００２２】
データ処理システムには更に第２の外部装置を設けてよい。即ち、前記データ処理装置は外部とインタフェース可能な入出力周辺回路を更に有し、前記入出力周辺回路は前記第１エリアに配置されたＩ／Ｏレジスタを有し、前記Ｉ／Ｏレジスタを介してデータ送受を行う第２の外部装置が前記データ処理装置に接続される。これによれば、第２モードにおいて転送制御部は、ＣＰＵがアクセスできない第２エリアのデータを第１エリアの前記Ｉ／Ｏレジスタに転送し、ＣＰＵが入出力周辺回路の入出力動作を制御すれば、入出力周辺回路を介して第２の外部装置との間で、第２エリアのデータを通信したりすることが可能になる。更には、第２モードにおいて第２エリア上の第１の外部装置と前記第２の外部装置との間でも見掛け上データ転送が可能になる。
【００２３】
上記データ処理システムによれば、データ処理装置の第２モードにおいてデータ処理装置内蔵のメモリ部を効率的に利用できるという点で物理的な回路規模の縮小に寄与し、第２モードによるデータ処理効率を良好に維持しながら、プログラム容量の制限を緩和できプログラム処理の高機能化若しくは複雑化に対応することができる。
【００２４】
〔６〕本発明の第３の観点によるデータ処理システムは、夫々メモリアクセスが可能であって共通バスに接続された第１のデータ処理装置及び第２のデータ処理装置を有する。前記第１のデータ処理装置は、例えば半導体チップに、ＣＰＵのようなデータ処理部、メモリ部、及び転送制御部を含み、選択的に第１モード又は第２モードが設定可能にされる。前記データ処理部は、前記第１モードでは第１のビット数で表現可能なアドレス信号を用いてアクセスを行ない前記メモリ部の全体をアクセス可能であり、第２モードでは前記第１のビット数よりも少ない第２のビット数で表現可能なアドレス信号を用いてアクセスを行ない前記メモリ部の一部である第１エリアをアクセス可能である。前記転送制御部は、前記第２モードにおいても前記第１のビット数で表現可能なアドレス信号を用いて情報の転送制御が可能である。前記第２モードにおいて前記データ処理部は、前記第２のデータ処理装置からの第１の要求に応答して、前記メモリ部の第１エリア以外のエリア（第２エリア）に含まれる第３エリアを、前記第２データ処理装置の記憶領域に割り当て、前記第２のデータ処理装置からの第２の要求に応答して、前記データ転送制御部に前記第２のデータ処理装置から供給される情報を前記第３のエリアに転送させ、前記第２のデータ処理装置からの第３の要求に応答して、前記データ転送制御部に前記第３のエリアから前記第２のデータ処理装置に情報を転送させるものである。
【００２５】
前記第１の要求に応答する処理は、第１のデータ処理装置内蔵メモリ部のアドレスと第２のデータ処理装置によるアクセスアドレスとの対応関係を取得する処理である。その後、第２のデータ処理装置による所定のメモリ・ライトアクセスのような第２の要求があると、例えば、データ処理部は前記対応関係の情報を参照して前記ライトアドレスを第３エリアのアドレスに変換し、これを転送制御部に転送条件の一つとして設定し、転送制御部に、第２データ処理装置のライトアクセスサイクルに同期するタイミングで、ライトデータを第３エリアへ転送させる。また、第２のデータ処理装置による所定のメモリ・リードアクセスのような第３の要求があると、例えば、データ処理部は前記対応関係の情報を参照して前記リードアドレスを第３エリアのアドレスに変換し、これを転送制御部に転送条件の一つとして設定し、転送制御部に、第２データ処理装置のリードアクセスサイクルに同期するタイミングで、第３エリアからデータを第２のデータ処理装置へ転送させる。
【００２６】
これにより、第１のデータ処理装置の第２モードにおいて、第１データ処理装置の内蔵ＣＰＵによるアクセス非対象メモリである第２エリアに属するメモリ部の全部又は一部（第３エリア）を、第２のデータ処理装置のメモリとして利用可能になる。
【００２７】
前記メモリ部の第２エリアのうち第３エリア以外の部分には前記第１のデータ処理装置が使用する情報を格納し、又はデータ処理部が使用するデータを前記メモリ部の第２エリアのうち第３エリア以外の部分から前記第１エリアに転送することも可能である。
【００２８】
上記において、データ処理部が前記対応関係の情報を参照して前記ライトアドレスやリードアドレスを第３エリアのアドレスに変換するように説明したが、これとは逆に、第２のデータ処理装置がアドレスの変換を行って第１のデータ処理装置に供給してもよい。この場合には、転送制御部は供給されたアドレス信号をそのまま転送制御部の設定に利用すればよい。
【００２９】
上記データ処理システムによれば、第１のデータ処理装置の第２モードにおいて当該データ処理装置内蔵のメモリ部を効率的に利用でき、しかも、第１データ処理装置の内蔵のメモリ部を第２モードにおいて第２のデータ処理装置のメモリとして利用可能であるという点でデータ処理システムの物理的な回路規模の縮小に寄与し、第２モードによるデータ処理効率を良好に維持しながら、プログラム容量の制限を緩和でき、プログラム処理の高機能化若しくは複雑化に対応することができる。
【００３０】
【発明の実施の形態】
《マイクロコンピュータの概要》
図１には本発明に係るデータ処理装置の一例であるシングルチップマイクロコンピュータ（以下単にマイクロコンピュータとも称する）が示される。
【００３１】
シングルチップマイクロコンピュータ１は、全体の制御を司るデータ処理部としてのＣＰＵ２、転送制御部としてのデータトランスファコントローラ（ＤＴＣ）３、割り込みコントローラ（ＩＮＴ）４、バスコントローラ５、ＣＰＵ２の処理プログラムなどを格納するメモリであるＲＯＭ６、ＣＰＵ２の作業領域並びにデータの一時記憶用のメモリであるＲＡＭ７、タイマ８、ウォッチドッグタイマ９、入出力周辺回路としてのシリアルコミュニケーションインタフェース（ＳＣＩ）１１、同じく入出力周辺回路としてのＡ／Ｄ変換器１２、入出力ポートＩＯＰ１〜ＩＯＰ５、外部バスインタフェース回路としての入出力ポートＩＯＰＡ〜ＩＯＰＦ、クロック発振器（ＣＰＧ）１３、及びシステムコントローラ１４から構成され、公知の半導体製造技術により１つの半導体基板（半導体チップ）に形成される。
【００３２】
前記マイクロコンピュータ１は、電源端子として、グランドレベルＶｓｓ、電源電圧レベルＶｃｃ、アナロググランドレベルＡＶｓｓ、アナログ電源電圧レベルＡＶｃｃの入力端子を有し、専用制御端子として、リセット端子ＲＥＳ、スタンバイ端子ＳＴＢＹ、モード端子ＭＤ０〜ＭＤ２、クロック入力端子ＥＸＴＡＬ，ＸＴＡＬを有する。
【００３３】
ＣＰＧ１３の端子ＥＸＴＡＬ、ＸＴＡＬに接続される水晶発振子またはＥＸＴＡＬ端子に入力される外部クロック信号に基づいて、ＣＰＧ１３は基準クロック信号（システムクロック信号）φを生成する。シングルチップマイクロコンピュータ１の各機能ブロックは基準クロック信号φに同期して、動作を行う。
【００３４】
シングルチップマイクロコンピュータ１の前記機能ブロックは、内部バスによって相互に接続される。内部バスは、アドレスバス、データバスの他に、リード信号、ライト信号、バスサイズ信号或いはシステムクロック信号などを伝達するコントロールバスを含む。内部データバスは、特に制限されないが、１６ビット構成とされ、少なくともＲＯＭ６とＣＰＵ７との間は、１６ビットバスでインタフェースされる。特に制限はされないものの、ＲＡＭ７も同様に１６ビットバスでインタフェースされる。内部アドレスバスはＩＡＢとＰＡＢの２種類があり、内部データバスもＩＤＢとＰＤＢが存在する。ＩＡＢとＰＡＢ、ＩＤＢとＰＤＢは、バスコントローラ５によってバッファリングされている。
【００３５】
前記機能ブロックやモジュールは内部バスを介して、ＣＰＵ２によってリード／ライトさる。内蔵ＲＯＭ６、ＲＡＭ７は、ＩＡＢ及びＩＤＢでインタフェースされ、１ステートでリード／ライト可能とされる。
【００３６】
前記シングルチップマイクロコンピュータ１にリセット信号ＲＥＳが与えられると、ＣＰＵ２を始めとし、シングルチップマイクロコンピュータ１はリセット状態になる。このリセットが解除されると、ＣＰＵ２は所定のアドレスからスタートアドレスをリードして、このスタートアドレスから命令のリードを開始するリセット例外処理を行う。この後、ＣＰＵ２は逐次、ＲＯＭ６などから命令をリードし、解読して、その解読内容に基づいて演算処理を行う。
【００３７】
前記ＤＴＣ３は、図２に例示されるように、割り込みコントローラ４からＤＴＣ起動要求及びＤＴＣベクタ番号１８が与えられる。ＤＴＣ起動要求及びＤＴＣベクタ番号１８が与えられると、ＤＴＣ３はＤＴＣバスリクエストＤＴＣＢＲＥＱによってバスコントローラ５にバス権を要求する。ＤＴＣアクノリッジ信号ＤＴＣＡＣＫＮによってバス権を獲得した後、ＤＴＣ３は、前記ベクタ番号のＤＴＣベクタをリードし、そのＤＴＣベクタで指し示されるＲＡＭ７上の転送制御情報エリア７Ａのデータ転送制御情報を読み込み、これに基づいてデータ転送制御を開始する。
【００３８】
ＤＴＣ３は、前記読み込んだデータ転送制御情報をロードする転送制御レジスタとして、モードレジスタＭＲ、転送カウントレジスタＣＲ、ディスティネーションアドレスレジスタＤＡＲ、ソースアドレスレジスタＳＡＲを有する。モードレジスタＭＲは、データ転送データサイズがバイトかワードか、データ転送後にソースアドレス又はディスティネーションアドレスをインクリメントするのかディクリメントするのか、データ転送をブロックで行うかリピートするか或いは１回だけで終わるか等を決める情報が設定される。前記転送カウントレジスタＣＲは逐次転送語数を計数していく。ディスティネーションアドレスレジスタＤＡＲは転送先アドレスを保有する。ソースアドレスレジスタＳＡＲは転送元アドレスを保有する。それら転送制御レジスタは直接ＣＰＵ２から制御情報をロードすることも可能にされているが、ＲＡＭ７上の複数転送チャネルのための転送制御情報は専用バス１９（図２に図示）を介して１転送チャンネル分を単位に１サイクルで転送制御レジスタにロードすることができるようになっている。前記転送制御レジスタにロードされた転送制御情報によるデータ転送制御はコントロールロジックＤＴＣＬが行う。
【００３９】
前記割り込みコントローラ４は、ＣＰＵ２に対する割り込み要求と、ＤＴＣ３に対する起動要求を制御する。割り込み要因としての割り込み信号１６は、Ａ／Ｄ変換器１２、タイマ８、ウォッチドッグタイマ９、ＳＣＩ１１、及び入出力ポートＩＯＰ５から割り込みコントローラ４に供給される。そして、前記割り込み信号１６の前記割り込み要因毎に、ＤＴＣ起動要求とするか、ＣＰＵ割り込み要求とするかを決定するＤＴＣイネーブルレジスタＤＴＣＥＲが設けられている。前記割り込み要因毎に、割り込みベクタとＤＴＣ起動ベクタとが予め決められている。前記割り込みベクタは割り込み要因に応答する割り込み処理プログラムの先頭ドレスを保有する。前記ＤＴＣ起動ベクタは割り込み要因に応答するデータ転送制御情報を保有するメモリ領域の先頭アドレスを保有する。
【００４０】
前記ＤＴＣイネーブルレジスタＤＴＣＥＲにＣＰＵ割り込み要求として設定されている割り込み要因の要因元より割り込みコントローラ４に割り込み信号１６で割り込みが要求されると、割り込みコントローラ４は、割り込み優先レベルや割り込みマスクレベルに基づいて割り込み要求を受け付けるか否かを判定し、受け付ける場合には、割り込み要因に応ずる割り込みベクタ番号を出力すると共に、ＣＰＵ２に割り込み要求信号１７を与える。これにより、ＣＰＵ２は実行中の処理を中断して、割り込みベクタ番号のベクタに基づいて割り込み要因に応答する所定の処理ルーチンに分岐し、所望の処理を行う。
【００４１】
前記ＤＴＣイネーブルレジスタＤＴＣＥＲにＤＴＣ起動要求として設定されている割り込み要因（ＤＴＣ起動要因）の要因元より割り込みコントローラ４に割り込み信号１６で割り込みが要求されると、割り込みコントローラ４は、規定の優先順位に従ってその割り込み要求を受付け、ＤＴＣ３に、当該割り込み要因に応ずるＤＴＣ起動ベクタのベクタ番号及びＤＴＣ起動要求信号１８を与える。これにより、ＤＴＣ３はバスコントローラ５にバス権を要求し、ＤＴＣアクノリッジ信号ＤＴＣＡＣＫＮによりバス権が認められると、ＤＴＣ起動ベクタで示されるアドレスから対応データ転送チャネルのデータ転送制御情報を読み込み、読み込んだデータ転送制御情報に従ってデータ転送制御を開始する。
【００４２】
更に割り込みコントローラ４は、ＤＴＣ３のソフトウェア起動を可能にするために、ＤＴＣベクタレジスタＤＴＶＥＣＲを有する。ＤＴＣベクタレジスタＤＴＶＥＣＲのイネーブルビットをＣＰＵ２によって論理値“１”にセットすることにより、割り込みによるＤＴＣ起動要求の生成と同様に、ＤＴＣ起動要求信号及びＤＴＣ起動ベクタ番号１８でＤＴＣ３を起動させることができる。このときのＤＴＣ起動ベクタは当該レジスタＤＴＣＶＥＣＲに設定されたベクタ番号によって指定される。
【００４３】
マイクロコンピュータ１は少なくともアドバンストモード（第１モード）とノーマルモード（第２モード）とを有する。動作モードは前記モード端子ＭＤ０〜ＭＤ２の状態によって決定される。
【００４４】
図３にはアドバンストモードとノーマルモードにおけるＣＰＵのアドレス空間が示される。アドバンストモードではＣＰＵ２は例えば２４ビットのアドレス信号で表現可能な１６Ｍバイトのアドレス空間（Ｈ’００００００〜Ｈ’ＦＦＦＦＦＦ）をアクセスできる。１６Ｍバイトのアドレス空間では、ＲＯＭアドレスエリア（Ｈ’００００００〜Ｈ’０１ＦＦＦＦ）にＲＯＭ６の全部の記憶領域がマッピングされ、外部アドレスエリア（Ｈ’０２００００〜Ｈ’ＦＦＤＦＦＦ）にマイクロコンピュータ１の外部アドレス空間がマッピングされ、ＲＡＭアドレスエリア（Ｈ’ＦＦＥ０００〜Ｈ’ＦＦＥＦＦＦ）にＲＡＭ７の全部の記憶領域がマッピングされ、Ｉ／Ｏアドレスエリア（Ｈ’ＦＦＦ０００〜Ｈ’ＦＦＦＦＦＦ）には割り込みコントローラ４、ＷＤＴ９、タイマ８、ＳＣＩ１１、Ａ／Ｄ１２、ＤＴＣ３、及び入出力ポートのレジスタ類（Ｉ／Ｏレジスタ）がマッピングされている。
【００４５】
ノーマルモードではＣＰＵ２は例えば１６ビットのアドレス信号で表現可能な６４ｋバイトのアドレス空間（Ｈ’００００〜Ｈ’ＦＦＦＦ）をアクセスできる。６４ｋバイトのアドレス空間ではＲＯＭアドレスエリア（Ｈ’００００〜Ｈ’ＤＦＦＦ）にＲＯＭ６の一部の記憶領域がマッピングされ、ＲＡＭアドレスエリア（Ｈ’Ｅ０００〜Ｈ’ＥＦＦＦ）にＲＡＭ７の全部の記憶領域がマッピングされ、Ｉ／Ｏアドレスエリア（Ｈ’Ｆ０００〜Ｈ’ＦＦＦＦ）に前記のＩ／Ｏレジスタがマッピングされ、外部アドレスエリアはアクセス不可能にされている。
【００４６】
ここで、１６Ｍバイトのアドレス空間における外部エリア以外のアドレスエリアにマッピングされるＲＯＭやＲＡＭなどの回路はマイクロコンピュータ２のメモリ部２０と見なすことができる。メモリ部２０の内、６４ｋバイトアドレス空間にマッピングされる回路の物理的な記憶領域（メモリセルアレイやレジスタ等）を第１エリア２１と称する。１６Ｍバイトのアドレス空間にマッピングされる回路のうち前記第１エリア以外の回路領域を第２エリア２２と総称する。
【００４７】
《ノーマルモードにおけるＤＴＣ拡張モード》
ここで、ＤＴＣ３等のその他の内蔵バスマスタのアドレス空間は、前記ノーマルモード及びアドバンストモードにおけるＣＰＵ２のアドレス空間と一致させておく、というのが従来の考え方であった。これに対して、マイクロコンピュータ１では、ノーマルモードが設定されていても、前記ＤＴＣ３は前記第２エリア２２もデータ転送対象として動作可能にされる。この動作モードを便宜上ノーマルモードにおけるＤＴＣ拡張モードと称する。したがって、ノーマルモードにおけるＤＴＣ拡張モードにおいて、ＤＴＣ３はアドバンストモードと同じアドレス範囲でデータ転送制御を行うことができる。
【００４８】
前記ノーマルモード及びアドバンストモードにおける図３のアドレスマッピングを実現すると共に前記ノーマルモードにおけるＤＴＣ拡張モードを実現するために、図１に例示されるように、前記システムコントローラ１４は制御信号ＮＯＲＭを生成し、これを、ＣＰＵ２、割り込みコントローラ４、バスコントローラ５、及び上位側１バイトのアドレス出力機能が割当てられる入出力ポートＩＯＰＡに供給する。
【００４９】
前記制御信号ＮＯＲＭは、アドバンストモード及びノーマルモードにおけるＤＴＣ拡張モードで論理値“０”にされ、その他のノーマルモードでは論理値“１”にされる。
【００５０】
上位側１バイトのアドレス出力機能が割当てられる入出力ポートＩＯＰＡは前記制御信号ＮＯＲＭの論理値“１”によって高出力インピーダンス状態にされ、外部アドレス信号は６４ｋバイトのアドレス空間に対応して１６ビットとされる。前記制御信号ＮＯＲＭが論理値“０”にされると入出力ポートＩＯＰＡはアドレス信号を出力可能にされ、外部アドレス信号は１６Ｍバイトのアドレス空間に対応して２４ビットとされる。
【００５１】
前記ＣＰＵ２は前記制御信号ＮＯＲＭの論理値“１”によって実効アドレスの下位１６ビットを有効とするようにアドレス演算機能を制限し、また、割り込みベクタテーブルやスタック構造を１６ビットアドレスに適合させる。前記制御信号ＮＯＲＭが論理値“０”の場合はアドレス演算機能、割り込みベクタテーブル、及びスタック構造を２４ビットアドレスに適合させる。
【００５２】
前記バスコントローラ５はバス権調停とバス制御を行う。バス権調停は、ＣＰＵ２とＤＴＣ３からのバス権要求に対する競合を調停して、一方にバス権を承認する制御である。バス制御は、外部バスアクセス制御機能と内部モジュールセレクト機能に分類される。即ち、バスコントローラは、図３で説明したノーマルモード及びアドバンストモードのアドレスマッピング情報を有し、制御信号ＮＯＲＭが論理値“１”のときはノーマルモードのアドレスマッピングに従って、アドレスバスＩＡＢ上のアドレスが指し示すエリアに応じて、内部モジュールセレクト信号若しくは外部バスアクセスのためのストローブ信号を生成する。制御信号ＮＯＲＭが論理値“０”のときはアドバンストモードのアドレスマッピングに従って、アドレスバスＩＡＢ上のアドレスが指し示すエリアに応じ、内部モジュールセレクト信号若しくは外部バスアクセスのためのストローブ信号を生成する。例えば、ノーマルモードにおいて、ＲＡＭアドレスエリアのアドレス信号がバスＩＡＢ上に現れると、ＲＡＭ７の動作を選択するモジュール選択信号を活性化して、ＲＡＭ７を動作可能にする。アドバンストモードにおいて、外部アドレスエリアのアドレス信号がバスＩＡＢ上に現れると、入出力ポートＩＯＰＡ〜ＩＯＰＦを介して外部バスアクセスのためのライト信号、リード信号などのストローブ信号とアドレス信号を外部に出力して、データの外部入力又は外部出力を可能にする。ノーマルモードにおけるＤＴＣ拡張モードにおいては、制御信号ＮＯＲＭは論理値“０”であるから、バスコントローラ５は、アドバンストモードと同じアドレスエリアに対して外部バスアクセス制御と内部モジュールセレクト動作を行うことでき、ノーマルモードにおけるＤＴＣ拡張モードにおいてＤＴＣ３はアドバンストモードと同じアドレス範囲若しくは同じアドレスマッピングでデータ転送制御を行うことができる。
【００５３】
図４には前記制御信号ＮＯＲＭの生成論理が例示される。ｎｏｒｍは前記モード端子ＭＤ０〜ＭＤ２によるノーマルモードの指示に応答して論理値“１”にされ、アドバンストモードの指示に応答して論理値“０”にされる。制御ビットＤＴＶは制御レジスタ３０の所定の１ビットであり、前記ノーマルモードにおいて前記第２エリア２２も前記ＤＴＣ３によるデータ転送対象とするＤＴＣ拡張モードを許可するか否かを決定する。制御ビットＤＴＶは論理値“１”によってＤＴＣ拡張モードを許可し、制御ビットＤＴＶは論理値“０”によってＤＴＣ拡張モードを禁止する。ＤＴＣアクノリッジ信号ＤＴＣＡＣＫＮは、前記バスコントローラ５が出力し、論理値“０”によってＤＴＣ３にバス権を与えることをＤＴＣ３に指示する。ＤＴＣ３は論理値“０”のＤＴＣアクノリッジ信号ＤＴＣＡＣＫＮによってバス権を獲得して、詳細を後述するデータ転送制御動作を行うことができる。
【００５４】
前記ＤＴＣアクノリッジ信号ＤＴＣＡＣＫＮはインバータ３１で反転され、前記制御ビットＤＴＶ及び信号ｎｏｒｍと共にナンドゲート３２に入力され、このナンドゲート３２の出力は前記信号ｎｏｒｍと共にナンドゲート３３に入力され、当該ナンドゲート３３の出力がインバータ２４で反転されて前記制御信号ＮＯＲＭが生成される。この制御信号ＮＯＲＭの生成論理から明らかなように、前記ＤＴＣアクノリッジ信号ＤＴＣＡＣＫＮが論理値“１”（ＤＴＣはバス権未獲得）又は前記制御ビットＤＴＶが論理値“０”（ＤＴＣ拡張モード禁止状態）のとき、制御信号ＮＯＲＭは信号ｎｏｒｍと同じ論理値とされる。これに対し、マイクロコンピュータ１がノーマルモード（ｎｏｒｍ＝１）にされ、前記制御ビットＤＴＶが論理値“１”（ＤＴＣ拡張モード許可状態）にされているとき、前記ＤＴＣアクノリッジ信号ＤＴＣＡＣＫＮの論理値“０”によってＤＴＣ３がバス権を獲得したとき、制御信号ＮＯＲＭが論理値“０”にされ、ＤＴＣ３は、アドバンストモードのときと同様に、１６Ｍバイトのアドレス空間に対してデータ転送制御が可能にされる。
【００５５】
図５にはノーマルモードにおけるＤＴＣ拡張モードを利用する動作のフローチャートが例示される。同図の例はＤＴＣ３をソフトウェア起動する場合である。
【００５６】
例えば、マイクロコンピュータ１をノーマルモードで起動する。即ち、モード信号ＭＤ０〜ＭＤ２でノーマルモードを指定し、ＲＯＭ６に格納されているリセットベクタからＣＰＵ２を起動する（Ｓ１）。ノーマルモードにおいてＣＰＵ２はＲＯＭ６の第２エリア２２などをアクセスすることはできない。そのようなＲＯＭ６の第２エリア２２には、マイクロコンピュータの製造段階で或いはシステム上で、予め数種類のプログラムモジュールやデータが格納されているものとする。ＣＰＵ２はＲＯＭ６の動作プログラムにしたがって、前記制御レジスタ３０の制御ビットＤＴＶを論理値“１”に設定し、ＲＡＭ７の転送制御情報領域７Ａに所要の転送制御情報を所定のフォーマットで設定する（Ｓ２）。そして、ＣＰＵ２は、その転送制御情報を格納したエリアの先頭アドレスに応ずるＤＴＣベクタ番号をレジスタＤＴＶＥＣＲにセットし（Ｓ３）、次いで、レジスタＤＴＶＥＣＲにイネーブルビットをセットする（Ｓ４）。これに応答して、割り込みコントローラ４からＤＴＣ３に前記設定のベクタ番号及びＤＴＣ起動要求信号１８が与えられ、ＤＴＣ３はバスコントローラ５にバス権を要求し、バス権を獲得して、前記ベクタ番号のベクタを用いて転送制御情報領域７Ａから転送制御情報をリードし、これに従って、ノーマルモードでＣＰＵ２がアクセス不可能な第２エリア２２からＲＡＭ７等へ所定のプログラムを転送する制御を行う（Ｓ５）。ＤＴＣ３によるデータ転送動作中、特に制限されないが、ＣＰＵ２はスリープ状態にされる。
【００５７】
ＤＴＣ３は転送動作を終了すると、所定の割り込みを要求し（Ｓ６）、これに応答してＣＰＵは、その命令実行処理を、前記第２エリア２２からＲＡＭ７に転送されたプログラムを実行する処理に分岐する（Ｓ７）。
【００５８】
上記マイクロコンピュータ１によれば、例えば、ノーマルモードにおけるＣＰＵ２のアクセス範囲に対してプログラム容量の制限を超えてプログラム等を生成しても、その制限を超えた分のプログラム等をＲＯＭ６の非アクセスエリア６Ａ（図１２参照）等に格納しておけば、ＣＰＵ２は当該ＲＯＭ６の非アクセスエリア６Ａに格納されているプログラムなどを直接アクセスできないが、ノーマルモードにおけるＤＴＣ拡張モードでＤＴＣ３がこれをアクセスしてＲＡＭ７に転送することができ、ノーマルモードのＣＰＵ２はＲＡＭ７に転送された前記プログラム等をアクセスして利用することができる。したがって、ＣＰＵ２の比較的小さなアクセス空間によりプログラムの実行効率を良好に維持しながら、プログラム容量の制限を緩和することができる。
【００５９】
また、レジスタ３０の制御ビットＤＴＶを論理値“０”にしておけば、ノーマルモードにおいてＣＰＵ２もＤＴＣ３も共にノーマルモードのアドレス空間だけをアクセスすることになり、従来のマイクロコンピュータと同様の動作態様も実現でき、そのような状態で動作されていた既存の動作プログラムをそのまま実行することを保証でき、従来のマイクロコンピュータに対する互換性を達成することができる。
【００６０】
《データ処理システム》
図６には前記マイクロコンピュータ１を用いたデータ処理システムの第１の例が示される。マイクロコンピュータ１のＩ／ＯポートＩＯＰ１〜ＩＯＰ５にマイクロコンピュータ１内蔵周辺回路と接続する複数の専用信号バス４１が接続されている。同図に示されるシステムにおいては、ノーマルモードではＣＰＵ２がアクセスできないＲＯＭの第２エリアの情報をノーマルモードにおけるＤＴＣ拡張モードを利用してＤＴＣ３がＲＡＭ７に転送してＣＰＵ２の利用を可能にする場合を示している。
【００６１】
例えば、マイクロコンピュータ１をノーマルモードで起動すると、ＣＰＵ２はＲＯＭ６の第２エリア２２などをアクセスすることはできない。そのようなＲＯＭ６の第２エリア２２には、マイクロコンピュータの製造段階で或いはシステム上で、予め数種類のプログラムモジュールやデータが格納されているものとする。その後、ＣＰＵ２が前記制御レジスタ３０の制御ビットＤＴＶを論理値“１”に設定すると、ＤＴＣ３がバス権を獲得しているとき（ＤＴＣＡＣＫＮ＝０）、ノーマルモードにおけるＤＴＣ拡張モードになり、ＤＴＣ３は単なるノーマルモードではアクセスできないＲＯＭの非アクセスエリア６ＡからＲＡＭ７にデータ又はプログラムを転送することができる。
【００６２】
図７には図６のデータ処理システムにおいてノーマルモードにおけるＤＴＣ拡張モード時のＣＰＵ２から見たアドレス空間とＤＴＣ３から見たアドレス空間が概念的に示されている。図７に例示されるように、ＤＴＣ３により第２エリア２２からＲＡＭ７にデータ若しくはプログラムが転送され、その後、ＣＰＵ２がバス権を獲得すれば、ＣＰＵ２はそのＲＡＭ７に転送されたデータ又はプログラムを利用することができる。
【００６３】
図８には前記マイクロコンピュータ１を用いたデータ処理システムの第２の例が示される。マイクロコンピュータ１のＩ／ＯポートＩＯＰＡ〜ＩＯＰＦにアドレスバス及びデータバス等を含む外部バス４２が接続され、外部バス４２にはメモリや周辺回路などの外部デバイス４３が接続されている。外部デバイス４３は、図３のアドバンストモードにおける外部エリアを構成する。
【００６４】
図８のシステムにおいては、ノーマルモードではＣＰＵ２がアクセスできない第２エリア２２上の外部デバイス４３が保有する情報をノーマルモードにおけるＤＴＣ拡張モードを利用してＤＴＣ３がＲＡＭ７に転送してＣＰＵ２の利用を可能にし、また、ＲＡＭ７のデータをノーマルモードにおけるＤＴＣ拡張モードを利用してＤＴＣ３が第２エリア上の外部デバイス４３に転送する。若しくは、ＣＰＵ２が外部デバイス４３にアクセスできるか否かに関わりなく、外部デバイスがマイクロコンピュータ１に転送してくるデータを、ＤＴＣ３がＤＴＣ拡張モードを利用して第２エリア２２上のＲＡＭに転送し、ＣＰＵ２の必要に応じてＲＡＭ７に転送することでＣＰＵ２の利用が可能になる。逆にＣＰＵ２がＲＡＭ７上に出力するデータをＤＴＣ３が第２エリア２２上のＲＡＭに転送し、さらにそのデータをマイクロコンピュータ１に接続された外部デバイス４３に転送することが可能となる。
【００６５】
図９には前記マイクロコンピュータ１を用いたデータ処理システムの第３の例が示される。この例では、外部バス４２に前記外部デバイス４３が接続され、前記専用信号バス４１には別のマイクロコンピュータ１Ａが接続されている。
【００６６】
図９に示されるデータ処理システムは、マイクロコンピュータ１のノーマルモードではＣＰＵ２がアクセスできない第２エリア２２上の外部デバイス４３やＲＯＭ６の情報をノーマルモードにおけるＤＴＣ拡張モードを利用してＤＴＣ３がＳＣＩ１１などの通信モジュールのＩ／Ｏレジスタに転送し、また、マイクロコンピュータ１の内蔵通信モジュールのＩ／ＯレジスタのデータをＤＴＣ３が第２エリア２２に転送可能である。これにより、例えば、マイクロコンピュータ１と別のマイクロコンピュータ１ＡがＳＣＩなどの通信モジュールを介してデータ伝送若しくはデータ通信できるとき、マイクロコンピュータ１は、ノーマルモードにおいてアクセスできない第２エリア２２と別のマイクロコンピュータ１Ａとの間で見掛け上データ通信を行うことが可能になる。
【００６７】
例えば、マイクロコンピュータ１をノーマルモードで起動すると、ＣＰＵ２は外部デバイス４３やＲＯＭ６の第２エリア２２などをアクセスすることはできない。そのようなＲＯＭ６の第２エリア２２には、マイクロコンピュータの製造段階で或いはシステム上で、予め数種類のプログラムモジュールやデータが格納されているものとする。その後、ＣＰＵ２が前記制御レジスタ３０の制御ビットＤＴＶを論理値“１”に設定すると、ＤＴＣ３がバス権を獲得しているとき（ＤＴＣＡＣＫＮ＝０）、ノーマルモードにおけるＤＴＣ拡張モードになり、ＤＴＣは単なるノーマルモードではアクセスできない外部デバイス４３やＲＯＭ６の第２エリア２２からＩ／Ｏ空間のＩ／Ｏレジスタにデータ又はプログラムを転送することができる。
【００６８】
図１０にはノーマルモードにおけるＤＴＣ拡張モード時のＣＰＵから見たアドレス空間とＤＴＣ３から見たアドレス空間が概念的に示されている。図１０に例示されるように、ＤＴＣ３により第２エリア２２からＩ／Ｏレジスタにデータ若しくはプログラムが転送され、その後、ＳＣＩのような通信モジュールは、そのＩ／Ｏレジスタに転送されたデータ又はプログラムはを別のマイクロコンピュータ１Ａに伝送することができる。
【００６９】
図１１には前記マイクロコンピュータ１を用いたデータ処理システムの第４の例が示される。同図に示されるデータ処理システムは、マイクロコンピュータ１のノーマルモードにおいてＣＰＵ２の非アクセス対称エリアである第２エリア２２に含まれるＲＯＭ６の非アクセスエリア６Ａを別のマイクロコンピュータ１Ａの外部メモリとして利用可能にする。即ち、別のマイクロコンピュータ１Ａが接続する外部バス４２に当該別のマイクロコンピュータ１Ａのための外部メモリ４４を廃止し、これに変えて前記ＲＯＭ６の非アクセスエリア６Ａを見掛け上別のマイクロコンピュータ１Ａの外部メモリとして利用可能にする。そのための具体的な制御手法として、別のマイクロコンピュータ１Ａが廃止されているメモリ４４を対象にアクセス動作を行ったとき、これに同期して、マイクロコンピュータ１のＣＰＵ２は前記ノーマルモードにおけるＤＴＣ拡張モードを利用してＤＴＣ３に、前記別のマイクロコンピュータ１Ａのアクセスに応答するデータ転送処理を実行させる。別のマイクロコンピュータ１Ａのアドレス空間におけるメモリ４４のアクセスアドレスと、ＲＯＭ６の非アクセスエリア６Ａのアドレスとの対応関係は例えばＣＰＵ２が予め取得し、ＣＰＵ２がＤＴＣ３に転送制御条件を設定する際にその対応関係を参照すればよい。
【００７０】
上記図１１のデータ処理システムの具体例を更に詳述する。図１１のデータ処理システムは、夫々メモリアクセスが可能であって共通バス４２に接続された前記マイクロコンピュータ１及び別のマイクロコンピュータ１Ａを有する。
【００７１】
前記マイクロコンピュータ１の前記ノーマルモードにおいて前記ＣＰＵ２は、前記別のマイクロコンピュータ１Ａから制御データを付随した特定の処理コマンドが与えられると、当該コマンドによる第１の要求に応答して、前記ＲＯＭ６の非アクセスエリア６Ａの全部又は一部のエリア（第３エリア）６Ｂを、前記別のマイクロコンピュータ１Ａの記憶領域に割り当てる。即ち、ＲＯＭ６の第３エリア６Ｂのアドレスと別のマイクロコンピュータ１Ａのメモリアクセスアドレス（換言すれば別のマイクロコンピュータがメモリ４４をマッピング可能なアドレス）との対応関係を取得する。
【００７２】
その後、前記別のマイクロコンピュータ１Ａがメモリ４４を想定して第２の要求、例えばライトアクセスを要求すると、これに応答して、ＣＰＵ２は前記対応関係の情報を参照して前記ライトアドレスを第３エリア６Ｂのアドレスに変換し、これをＲＡＭ７の転送制御情報エリア７Ａに転送条件の一つとして設定し、ＤＴＣ３に、前記別のマイクロコンピュータ１Ａのライトアクセスサイクルに同期するタイミングで、ライトデータを第３エリアへ転送させる。
【００７３】
また、前記別のマイクロコンピュータ１Ａがメモリ４４を想定してから第３の要求、例えばリードアクセスを要求すると、これに応答して、ＣＰＵ２は前記対応関係の情報を参照して前記リードアドレスを第３エリア６Ｂのアドレスに変換し、これをＲＡＭ７の転送制御情報領域７Ａに転送条件の一つとして設定し、ＤＴＣ３に、前記別のマイクロコンピュータ１Ａのリードアクセスサイクルに同期するタイミングで、第３エリア６Ｂからデータを当該別のマイクロコンピュータ１Ａへ転送させる。
【００７４】
図１１のデータ処理システムによれば、図１２に例示されるように、第１のデータ処理装置としてのマイクロコンピュータ１のノーマルモード（第２モード）において、マイクロコンピュータ１の内蔵ＣＰＵ２によるアクセス非対象エリアであるＲＯＭ６の非アクセスエリア６Ａの全部又は一部の第３エリア６Ｂを、第２のデータ処理装置としての前記別のマイクロコンピュータ１Ａのメモリ４４として利用可能になる。
【００７５】
ノーマルモードにおけるＣＰＵ２による前記ＲＯＭ６の非アクセスエリア６Ａにおける前記第３エリア６Ｂ以外の部分には前記マイクロコンピュータ１が使用する情報を格納し、又はマイクロコンピュータ１が使用するデータを前記ＲＯＭ６の非アクセスエリア６Ａの前記第３エリア６Ｂ以外の部分から前記ＲＡＭ７に転送することも可能である。
【００７６】
上記データ処理システムによれば、マイクロコンピュータ１のノーマルモードにおいて当該マイクロコンピュータ１内蔵のＲＯＭ６等を効率的に利用でき、しかも、マイクロコンピュータ１の内蔵ＲＯＭ６等をノーマルモードにおいて別のマイクロコンピュータ１Ａのメモリとして利用可能であるという点で、データ処理システムの物理的な回路規模の縮小に寄与することができる。したがって、ノーマルモードによるデータ処理効率を良好に維持しながら、プログラム容量の制限を緩和でき、プログラム処理の高機能化若しくは複雑化に対応することができる。
【００７７】
図１３にはＲＯＭ６がフラッシュメモリで構成されるとき当該フラッシュメモリの書換えに着目した例を説明する。前記ＲＯＭ６には電気的に書き換え可能なフラッシュメモリを採用してよい。フラッシュメモリにプログラムを格納すれば、バグ対策の為のプログラム修正やバージョンアップの為のプログラム書換えが可能になる。書換え制御を前記ＣＰＵ２が行う場合には、その為に前記ＣＰＵ２が実行する書換え制御プログラムを前記フラッシュメモリの非アクセスエリア６Ａに記憶しておけばよい。書換え時、ノーマルモードのＣＰＵ２はＲＡＭ７の転送制御情報エリア７Ａに転送条件を初期設定し、その後、これに従って、ＤＴＣ３は非アクセスエリア６Ａの書換え制御プログラムをＲＡＭ７の第１エリア２１に転送し、ＣＰＵ２はその書換え制御プログラムを実行してフラッシュメモリを書き換え制御すればよい。
【００７８】
図１３において、エリア２４はノーマルモードにおけるＤＴＣ拡張モードでデータ転送してＣＰＵ２が利用可能なその他のプログラムやデータ領域として、或いは図１１で説明した別のマイクロコンピュータ１Ａの外部メモリとして利用するようにしてよい。
【００７９】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００８０】
例えばＤＴＣ３はデータなどの転送制御部の一例であり、データ又はプログラムの転送制御機能を有するバスマスタとなり得る回路モジュールであれば、転送制御部はコプロセッサ等の内蔵バスマスタモジュールであってよい。また、ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）と称されるバスマスタモジュールであっても良い。ＤＴＣでは転送制御条件をＲＡＭから内部レジスタに読み込む構成であるが、ＤＭＡＣのように、転送チャネルの数に応ずる複数組の転送制御レジスタを転送制御部が備えてよい。
【００８１】
また、データ処理装置の内蔵モジュールの種類は以上の説明に限定されず、適当に回路モジュールを追加、若しくは削除して、種々の機能を有するデータ処理装置を構成することができる。
【００８２】
データ処理装置の動作モードに応ずるアドレスマップ、動作モードの具体的な内容は適宜変更可能である。ノーマルモードにおいても外部空間をマッピングする場合、拡張モードにおいて内蔵ＲＯＭを無効にする場合などもあってよい。
【００８３】
また、図１１の説明では、ＣＰＵが前記アドレス対応関係の情報を参照して前記ライトアドレスやリードアドレスを第３エリアのアドレスに変換するように説明したが、これとは逆に、別のマイクロコンピュータ１Ａがアドレスの変換を行ってマイクロコンピュータ１に供給してもよい。この場合には、ＤＴＣ３は供給されたアドレス信号をそのまま転送制御条件として利用すればよい。
【００８４】
また、ＣＰＵとＤＴＣは、同一バス上に接続され排他的にバスを使用するものとして説明したが、ＣＰＵとＤＴＣは異なるバスにそれぞれ接続し、双方のバスをバスコントローラにより接続可能としてもよい。この場合、双方のバスを分離してあれば、ＤＴＣはＣＰＵと独立に第２エリアをアクセス可能となり、特に図８、図９、図１１のようなシステムで効果的である。
【００８５】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００８６】
すなわち、ノーマルモードのような第２動作モードであっても、データ転送制御部はそのときＣＰＵによってアクセス可能なアドレス範囲を超えてデータ転送制御を行なうことができる。これにより、第２モードにおけるＣＰＵのアクセス範囲に対してプログラム容量の制限を超えてプログラム等を生成しても、その制限を超えた分のプログラム等を第１エリア以外のメモリ部に格納しておけば、ＣＰＵは当該第１エリア以外のメモリ部に格納されプログラムなどを直接アクセスできないが、転送制御部がこれをアクセスしてメモリ部の第１エリアに転送することができ、第２モードのＣＰＵは第１エリアに転送された前記プログラム等をアクセスして利用することができる。したがって、ＣＰＵの比較的小さなアクセス空間によりプログラムの実行効率を良好に維持しながら、プログラム容量の制限を緩和することができる。
【００８７】
ＣＰＵのアドレス空間を超えて転送制御可能にする動作モードをレジスタ手段の設定状態に応じて許可する構成を採用すれば、第２モードにおいてＣＰＵも転送制御部も共に同じアドレス空間をアクセスする状態を保証することができるようになり、従来のデータ処理装置と同様の動作態様も実現でき、そのような状態で動作されていた既存の動作プログラムをそのまま実行することを保証でき、従来のデータ処理装置に対して互換性を達成することが容易である。
【００８８】
前記データ処理装置に、外部とバスインタフェース可能な外部バスインタフェース回路を更に設け、前記外部バスインタフェース回路に接続される外部回路を前記第２エリアに割当てれば、第２モードにおいて転送制御部は、ＣＰＵがアクセスできない外部回路のデータ又はプログラムをメモリ部の第１エリアに転送してＣＰＵの利用を可能にすることができる。
【００８９】
前記データ処理装置に、外部とインタフェース可能な入出力周辺回路を更に設け、前記入出力周辺回路には前記第１エリアに配置されるＩ／Ｏレジスタを設けておけば、第２モードにおいて転送制御部は、ＣＰＵがアクセスできない第２エリアのデータを第１エリアの前記Ｉ／Ｏレジスタに転送し、ＣＰＵが入出力周辺回路の入出力動作を制御すれば、周辺回路を介して外部との間で、第２エリアのデータを通信したりすることが可能になる。
【００９０】
前記ＲＯＭに電気的に書き換え可能なフラッシュメモリを採用し、ここに、プログラムを格納すれば、バグ対策の為のプログラム修正やバージョンアップの為のプログラム書換えが可能になる。書換え制御を前記データ処理部が行う場合には、その為に前記データ処理部が実行する書換え制御プログラムを前記フラッシュメモリの第２エリアに記憶しておけば、通常必要ないプログラムをＣＰＵのアクセスエリアから追い出すことができ、内蔵ＲＯＭ若しくは内蔵メモリの有効利用を図ることができる。
【００９１】
データ処理装置の第２モードにおいてデータ処理装置内蔵のメモリ部を効率的に利用できるという点で物理的な回路規模の縮小に寄与し、第２モードによるデータ処理効率を良好に維持しながら、プログラム容量の制限を緩和できプログラム処理の高機能化若しくは複雑化に対応することができる。
【００９２】
更に、第１のデータ処理装置の第２モードにおいて、第１データ処理装置の内蔵ＣＰＵによるアクセス非対象メモリである第２エリアに属するメモリ部の全部又は一部（第３エリア）を、第２のデータ処理装置のメモリとして利用可能になる。この点でもデータ処理システムの物理的な回路規模の縮小に寄与し、第２モードによるデータ処理効率を良好に維持しながら、プログラム容量の制限を緩和でき、プログラム処理の高機能化若しくは複雑化に対応することができる。
【図面の簡単な説明】
【図１】本発明に係るデータ処理装置の一例であるシングルチップマイクロコンピュータのブロック図である。
【図２】ＲＡＭ、割り込みコントローラ及びバスコントローラとの関係に着目してＤＴＣを示したブロック図である。
【図３】アドバンストモードとノーマルモードにおけるＣＰＵのアドレス空間を示すアドレスマップである。
【図４】システムコントローラ内部における制御信号ＮＯＲＭの生成論理を例示する論理回路図である。
【図５】ノーマルモードにおけるＤＴＣ拡張モードを利用する動作としてＤＴＣをソフトウェア起動してＣＰＵの非アクセス対象領域からＲＡＭにデータを転送する動作を例示するフローチャートである。
【図６】図１のマイクロコンピュータを用いたデータ処理システムの第１の例を示すブロック図である。
【図７】図６のデータ処理システムにおいてノーマルモードにおけるＤＴＣ拡張モード時のＣＰＵから見たアドレス空間とＤＴＣから見たアドレス空間を概念的に示すアドレスマップである。
【図８】図１のマイクロコンピュータを用いたデータ処理システムの第２の例を示すブロック図である。
【図９】図１のマイクロコンピュータを用いたデータ処理システムの第３の例を示すブロック図である。
【図１０】図９のデータ処理システムにおいてノーマルモードにおけるＤＴＣ拡張モード時のＣＰＵから見たアドレス空間とＤＴＣから見たアドレス空間を概念的に示すアドレスマップである。
【図１１】図１のマイクロコンピュータを用いたデータ処理システムの第４の例を示すブロック図である。
【図１２】図１１のデータ処理システムの動作を説明するためのアドレスマップである。
【図１３】ＲＯＭがフラッシュメモリで構成されるとき当該フラッシュメモリの書換えに着目したと場合のマイクロコンピュータのアドレスマップである。
【符号の説明】
１  マイクロコンピュータ
１Ａ  別のマイクロコンピュータ
２  ＣＰＵ
３  ＤＴＣ
４  割り込みコントローラ
５  バスコントローラ
６  ＲＯＭ
６Ａ  非アクセスエリア
６Ｂ  第３エリア
７  ＲＡＭ
７Ａ  転送制御情報エリア
１１  ＳＣＩ
１４  システムコントローラ
ＩＯＰＡ〜ＩＯＰＦ  入出力ポート
ＮＯＲＭ  モード切り換え用の制御信号
ＤＴＣＡＣＫＮ  ＤＴＣアクノリッジ信号
１６  割り込み要求信号
１７  割り込み信号
１８  ＤＴＣ起動要求信号
２０  メモリ部
２１  第１エリア
２２  第２エリア
３０  制御レジスタ
ＤＴＶ  制御ビット
４１  専用信号バス
４２  外部バス
４３  外部デバイス
【図１】
0003681590.tif 000002
【図２】
0003681590.tif 000003
【図３】
0003681590.tif 000004
【図４】
0003681590.tif 000005
【図５】
0003681590.tif 000006
【図６】
0003681590.tif 000007
【図７】
0003681590.tif 000008
【図８】
0003681590.tif 000009
【図９】
0003681590.tif 000010
【図１０】
0003681590.tif 000011
【図１１】
0003681590.tif 000012
【図１２】
0003681590.tif 000013
【図１３】
0003681590.tif 000014