(57)【要約】【課題】　モード端子を増加し、有効な端子を減少することなく、またレジスタ手段を設定することを省き、レジスタ手段を誤って書き換えてしまうことを防ぎつつ、多数の動作モードを有するデータ処理装置を提供する。【解決手段】　１つの半導体基板上に半導体集積回路として形成されるシングルチップマイクロコンピュータであって、中央処理装置ＣＰＵ、システムコントローラＳＹＳＣ、割込コントローラＩＮＴ、リードオンリメモリＲＯＭ、ランダムアクセスメモリＲＡＭ、タイマ、シリアルコミュニケーションインタフェースＳＣＩ、第１から第８の入出力ポートＩＯＰ１〜８、クロック発振器ＣＰＧの機能ブロックから構成されている。このマイクロコンピュータの動作開始後のハードウェア的な初期化動作において、動作モードを自動的に読み込み、この動作モードがレジスタに自動的に設定されるようになっている。【選択図】　　　　図１ 
2004078996.tif 000002
【特許請求の範囲】
【請求項１】
　複数の動作モードを持ち、動作モード制御端子と中央処理装置とを有するデータ処理装置であって、
　前記中央処理装置は動作開始後に動作モード情報を読み込み、前記動作モード情報と、前記動作モード制御端子との状態によって、前記動作モードが制御され、
　前記動作モード制御端子は、前記動作モード情報を読み込むために必要な端子の機能を指定することを特徴とするデータ処理装置。
【請求項２】
　請求項１記載のデータ処理装置であって、前記動作モードは、前記データ処理装置のアドレス空間、データバス幅、内蔵する記憶装置の容量、割込優先レベルの少なくとも１つの条件を選択的に切り替えることを特徴とするデータ処理装置。
【請求項３】
　請求項１または２記載のデータ処理装置であって、レジスタ手段を有し、前記動作モード情報を前記レジスタ手段に格納するものであって、前記レジスタ手段は、前記中央処理装置の命令による書き換えが禁止されていることを特徴とするデータ処理装置。
【請求項４】
　請求項３記載のデータ処理装置であって、テストモード設定手段を有し、前記テストモード設定手段がテストモードを指示したときに、前記レジスタ手段を読み込むことができることを特徴とするデータ処理装置。
【請求項５】
　複数の動作モードを持ち、動作モード制御端子と中央処理装置とを有するデータ処理装置であって、
　前記中央処理装置は動作開始後に動作モード情報を読み込み、前記動作モード情報と、前記動作モード制御端子との状態によって、前記データ処理装置のアドレス空間、データバス幅、内蔵する記憶装置の容量、割込優先レベルの少なくとも１つの条件を選択的に切り替える動作モードが制御され、
　前記動作モード制御端子は、前記動作モード情報を読み出すために必要な入出力ポートの端子機能を設定するための信号が入力されることを特徴とするデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、データ処理装置（マイクロコンピュータまたは半導体集積回路装置）に関し、特に複数の動作モードを有するデータ処理装置などに適用して有効な技術に関する。
【背景技術】
【０００２】
　たとえば、平成５年３月（株）日立製作所発行『Ｈ８／３００３　ハードウェアマニュアル』（［非特許文献１］）または特願平４−７６１５１号＝特開平５−２４１８２６号公報（［特許文献１］）に記載されるように、半導体集積回路でなるマイクロコンピュータは各種の動作モードを持つ。かかる動作モードは、ＣＰＵのアドレス空間、内蔵ＲＯＭの有効／無効、外部バス幅の初期値などをモード端子で設定し、割込動作などを制御レジスタで設定する。これらはユーザ毎に固定の値であり、動作中に変更することはない。
【０００３】
　マイクロコンピュータの機能向上に伴い、動作モードは増える。特に、特願平４−２２６４４７号＝特開平６−５１９８１号公報（［特許文献２］）や特願平４−１３７９５５号＝特開平５−３０７４８５号公報（［特許文献３］）に記載されるように、従来のマイクロコンピュータのソフトウェア資産を有効に利用するために互換性を保持しようとすると、動作モードはさらに増えることになる。従来、動作モードはモード端子または制御レジスタで設定されている。
【特許文献１】特開平５−２４１８２６号公報
【特許文献２】特開平６−５１９８１号公報
【特許文献３】特開平５−３０７４８５号公報
【非特許文献１】平成５年３月（株）日立製作所発行『Ｈ８／３００３　ハードウェアマニュアル』
【発明の開示】
【発明が解決しようとする課題】
【０００４】
　ところで、前記のようなマイクロコンピュータにおいては、動作モードを前記のようにモード端子で設定しようとすると、動作モードの増加に伴いモード端子も増やさざるを得ない。ユーザはこのモード端子を、一方に固定して使用するものであって信号の入出力には使用できず、有効な端子、すなわちユーザが任意に使用できる端子が減少してしまう。
【０００５】
　また、制御レジスタで設定しようとすると、この制御レジスタを設定するためのプログラムが必要になりソフトウェアの負担になる。制御レジスタを設定し、実際の動作を開始するまでの時間が長くなってしまう。また、誤って制御レジスタを書き換えてしまい、誤動作に至る可能性がある。
【０００６】
　そこで、本発明の目的は、このような問題点を解決し、モード端子を増加し、有効な端子を減少することなく、また制御レジスタを設定することを省き、制御レジスタを誤って書き換えてしまうことを防ぎつつ、多数の動作モードを有することができるデータ処理装置などを提供することにある。
【０００７】
　本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
　本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【０００９】
　すなわち、本発明のデータ処理装置は、動作モード制御端子と中央処理装置を有する場合に適用されるものであり、このデータ処理装置の動作開始後のハードウェア的な初期化動作において、動作モード情報を自動的に読み込み、かかる動作モード情報を内部のレジスタ手段に自動的に設定するものである。
【００１０】
　この場合に、動作モード情報の読み込みに関する情報は動作モード制御端子で設定し、またレジスタ手段は中央処理装置の命令によるソフトウェアで書き換えられないようにし、さらにテストモード設定手段によるテストモードの時にはレジスタ手段を読み込めるようにするものである。
【００１１】
　また、動作モード制御端子と電気的に書込み消去可能な不揮発性記憶装置を有する場合には、この不揮発性記憶装置から動作モード情報を、専用の制御信号による制御、中央処理装置が動作開始直後、または動作モード設定手段が動作開始直後に読み込むようにするものである。
【００１２】
　この場合に、動作モード情報によって、不揮発性記憶装置の容量、一部アドレスのアクセス禁止、または一部または全部のアドレスの変更を選択的に切り替えたり、不揮発性記憶装置の動作モード情報を格納する部分を制御回路によって消去用の電圧を阻止するようにしたものである。
【００１３】
　前記したデータ処理装置によれば、データ処理装置の初期化動作において、自動的に読み込まれる動作モード情報がレジスタ手段に自動的に設定されることにより、動作モード制御端子で設定する情報を最低限にしてモード端子の本数を最低限にすることができる。
【００１４】
　また、動作モード情報の読み込み、設定をハードウェアで自動的に行うことにより、ソフトウェアの負担をなくしレジスタ手段の設定に要する時間を短縮して、実際の動作を開始するまでの時間を短縮することができる。
【００１５】
　さらに、動作モード情報を保持するレジスタ手段を書き換え不可能にすることにより、誤って書き換えてしまうことを防ぐことができる。
【発明の効果】
【００１６】
　本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
(1).複数の動作モードを持ち、動作モード制御端子と中央処理装置とを有することにより、データ処理装置の動作開始後のハードウェア的な初期化動作において、動作モード情報を自動的に読み込み、かかる動作モード情報を内部のレジスタ手段に自動的に設定し、動作モード情報の読み込みに関する情報は動作モード制御端子で設定し、また前記レジスタ手段はソフトウェアで書き換えられないようにすることができるので、モード端子を増加することなく他種類の動作モードを実現することが可能となる。
(2).前記(1) により、レジスタ手段の設定に要する時間を短縮することができるので、実際の動作を開始するまでの時間を短縮することが可能となる。
(3).前記(1) により、動作モード情報を保持するレジスタ手段を書き換え不可能にすることができるので、誤って書き換えてしまうことを防止することが可能となる。
(4).複数の動作モードを持ち、動作モード制御端子と電気的に書込み消去可能な不揮発性記憶装置とを有することにより、データ処理装置の動作開始直後に不揮発性記憶装置から動作モード情報を読み込むことができるので、前記(1) 〜(3) と同様に、モード端子を増加することなく他種類の動作モードを実現し、実際の動作を開始するまでの時間を短縮し、さらに誤って書き換えてしまうことを防止することが可能となる。
【発明を実施するための最良の形態】
【００１７】
　以下、本発明の実施例を図面に基づいて詳細に説明する。
【００１８】
　図１は本発明の一実施例であるデータ処理装置の一例であるマイクロコンピュータを示すブロック図、図２はＣＰＵの概略ブロック図、図３はマイクロコンピュータのリセット動作を示すフローチャート、図４は動作モードの一覧を示す説明図、図５〜図７はベクタのアドレスマップを示す説明図、図８は動作モード制御回路の一例を示すブロック図、図９はモード制御レジスタの変形例を示すブロック図、図１０はマイクロコンピュータのリセット動作の変形例を示すフローチャート、図１１は本実施例に用いられるＰＲＯＭのブロック図、図１２はマイクロコンピュータのリセット動作の変形例を示すフローチャート、図１３はモード情報リード制御回路の一例を示すブロック図である。
【００１９】
　まず、図１により本実施例のマイクロコンピュータの構成を説明する。
【００２０】
　本実施例のマイクロコンピュータは、たとえば公知の半導体製造技術により１つの半導体基板上に半導体集積回路として形成されるシングルチップマイクロコンピュータとされ、中央処理装置ＣＰＵ、システムコントローラＳＹＳＣ（動作モード設定手段）、割込コントローラＩＮＴ、リードオンリメモリＲＯＭ、ランダムアクセスメモリＲＡＭ、タイマ、シリアルコミュニケーションインタフェースＳＣＩ、第１から第８の入出力ポートＩＯＰ１〜８、クロック発振器ＣＰＧの機能ブロックまたはモジュールから構成されている。
【００２１】
　かかるシングルチップマイクロコンピュータは、電源端子として、グランドレベル端子Ｖｓｓ、電源電圧レベル端子Ｖｃｃ、その他専用制御端子として、リセット端子ＲＥＳ、スタンバイ端子ＳＴＢＹ、モード端子（動作モード制御端子）ＭＤ０〜２、クロック入力端子ＥＸＴＡＬ，ＸＴＡＬの各端子を有する。
【００２２】
　クロック入力ＥＸＴＡＬ，ＸＴＡＬの端子に接続される、図示はされない水晶振動子に基づいて、クロック発振器が生成するシステムクロックφ１，φ２に同期して、シングルチップマイクロコンピュータは動作する。あるいは外部クロックをＥＸＴＡＬ端子に入力してもよい。システムクロックの１周期を１ステートと呼ぶ。
【００２３】
　これらの機能ブロックは、内部バスによって相互に接続される。内部バスはアドレスバスＰＡＢ・データバスＰＤＢの他、リード信号・ライト信号を含み、さらにバスサイズ信号あるいはシステムクロックφ１，φ２などを含む。
【００２４】
　入出力ポートは、外部バス信号、入出力回路の入出力信号と兼用とされている。これらは、動作モードあるいはソフトウェアの設定により、機能を選択されて使用される。ＩＯＰ１〜３はアドレスバス出力、ＩＯＰ４，５はデータバス入出力、ＩＯＰ６はバス制御信号入出力信号と兼用されている。外部アドレスは、それぞれ、これらの入出力ポートに含まれるバッファ回路を介してＩＡＢと接続されている。ＰＡＢは入出力ポートのレジスタをリード／ライトするために使用し、外部バスとは直接の関係はない。
【００２５】
　内部バスおよび外部バスは共に１６ビットバス幅とし、バイトサイズ（８ビット）およびワードサイズ（１６ビット）のリード／ライトを可能にする。なお、内部バスおよび外部バスのいずれも８ビット幅とすることもできる。
【００２６】
　バス制御信号入出力信号には、アドレスストローブ信号ＡＳ、リード信号ＲＤ、ライト信号ＨＷＲ・ＬＷＲ、ウェイト信号ＷＡＩＴ、エリア０選択信号ＣＳ０などがある。
【００２７】
　割込信号は、タイマ、ＳＣＩ、ＩＯＰ８から要求され、割込コントローラが調停して、ＣＰＵに割込を要求する。このとき、ＣＰＵに対し、割込要求信号とベクタ番号を与える。割込マスクレベルは、特願平４−１３７９５５号に記載されるように、Ｉビットのみによる制御、ＩビットとＵＩビットによる制御を選択できる。
【００２８】
　ＲＥＳ端子にリセット信号が加えられると、モード端子ＭＤ０〜２で与えられる動作モードを取り込み、マイクロコンピュータはリセット状態になる。モード端子で設定する動作モードは、シングルチップ／拡張、アドレス空間、内蔵ＲＯＭの有効／無効、データバス幅の初期値を８ビットまたは１６ビットから選択する。
【００２９】
　モード１はＲＯＭ無効拡張モード、アドレス空間６４ｋバイト、データバス幅初期値８ビット、
　モード２はＲＯＭ無効拡張モード、アドレス空間１Ｍバイト、データバス幅初期値８ビット、
　モード３はＲＯＭ無効拡張モード、アドレス空間１Ｍバイト、データバス幅初期値１６ビット、
　モード４はＲＯＭ無効拡張モード、アドレス空間１６Ｍバイト、データバス幅初期値８ビット、
　モード５はＲＯＭ無効拡張モード、アドレス空間１６Ｍバイト、データバス幅初期値１６ビット、
　モード６はＲＯＭ有効拡張モード、モード７はシングルチップモード、
とされる。
【００３０】
　なお、モード０はテストモードとする。
【００３１】
　モードの番号は任意に変更可能である。
【００３２】
　その他の動作モードはリセット例外処理で読み込むモード情報によって設定する。
【００３３】
　たとえば、ＲＯＭ無効拡張モードは、エリアの大きさの選択をモード情報で設定する。
【００３４】
　ＲＯＭ有効拡張モードは、アドレス空間の６４ｋ／１Ｍ／１６Ｍバイトの選択、データバス幅、エリアの大きさの選択をモード情報で設定する。
【００３５】
　シングルチップモードは、アドレス空間の６４ｋ／１Ｍ／１６Ｍバイトの選択をモード情報で設定する。
【００３６】
　また、各モードともに、割込優先レベルの選択をモード情報で設定する。
【００３７】
　内蔵ＲＯＭを無効にすると外部アドレスが有効とされ、ＲＯＭに相当するアドレスは外部アドレスとする。ベクタ領域も外部アドレスになる。
【００３８】
　内蔵ＲＯＭを有効にするとベクタ領域は内蔵ＲＯＭアドレスになる。
【００３９】
　リセット状態を解除すると、ＣＰＵはベクタ（モード情報、スタートアドレス）をリードして、このモード情報に基づいて動作モードを設定し、スタートアドレスから命令のリードを開始するリセット例外処理を行う。前記ベクタは、特に制限はされないものの０番地から始まる領域に格納されているものとする。その後、ＣＰＵは前記スタートアドレスから順次命令を実行する。
【００４０】
　次に、図２により、ＣＰＵの概略について説明する。
【００４１】
　命令レジスタＩＲ、命令デコーダ・制御回路ＣＯＮＴ、レジスタセレクタ、ライトデータバッファＤＢＷ、リードデータバッファＤＢＲ、演算器ＡＬＵ、汎用レジスタＲ０〜７、プログラムカウンタＰＣ、コンディションコードレジスタＣＣＲ、モード制御レジスタＭＣＲ（レジスタ手段）、ベクタアドレス生成器ＶＡＧ、メモリアドレスバッファＭＡＢからなる。
【００４２】
　Ａバス、Ｂバス、Ｃバスによって相互に接続されている。
【００４３】
　また、ライトデータバッファは内部データバスへの出力、リードデータバッファは内部データバスからの入力、アドレスバッファは内部アドレスバスへの出力、命令レジスタは内部データバスからの入力が可能であり、それぞれ内部バスに接続されている。
【００４４】
　モード制御レジスタは、Ｂバスから入力が可能とされ、かかる内容を命令デコーダ・制御回路ＣＯＮＴおよびＣＰＵ外部のシステムコントローラに出力する。
【００４５】
　モード制御レジスタ以外の各ブロックの機能は、前記特願平４−７６１５１号に記載のＣＰＵと概略同様である。命令デコーダ・制御回路ＣＯＮＴが、ＩＲからの入力、モード制御レジスタからの入力、そのほかの入力信号に基づいて動作制御を行う。アドレスバッファはインクリメント機能を有する。
【００４６】
　ＣＰＵは１６ビット長の汎用レジスタが８本、１６ビット長のプログラムカウンタ、８ビット長のコンディションコードレジスタが各１本を有し、これらは命令によって操作される。汎用レジスタは上位８ビットと下位８ビットを独立させて８ビット長のレジスタとすることも、上位・下位を連結して１６ビット長のレジスタとすることもできる。プログラムカウンタは１６ビットのカウンタであり、ＣＰＵが次に実行する命令のアドレスを示している。コンディションコードレジスタは割込マスクビットＩ、ユーザ／割込マスクビットＵＩ、キャリフラグＣ、ゼロフラグＺ、ネガテブフラグＮ、オーバフローフラグＶを含んでいる。
【００４７】
　ベクタとして、リセット例外処理によってリードされたモード情報は、モード制御レジスタに格納される。モード制御レジスタは、ＲＯＭ無効拡張モードのエリアの大きさの選択、ＲＯＭ有効拡張モードのアドレス空間・データバス幅・エリアの大きさの選択、シングルチップモードのアドレス空間の選択、および各モード共通に、割込優先レベルの選択を選択する。
【００４８】
　すなわち、ビット１５，１４でアドレス空間６４ｋ／１Ｍ／１６Ｍの選択、ビット１３でデータバス幅、ビット１２でエリアの大きさの選択、ビット１１で内蔵ＲＯＭ容量の選択、ビット１０で割込優先レベルの選択を行うものとする。
【００４９】
　ビット１１の内蔵ＲＯＭ容量によって、内蔵ＲＯＭは３２ｋバイト／１６ｋバイトの容量が選択される。かかる動作は、特願平４−２０７３５３号に記載されるφｉｎｈ信号を、ビット１１の内容によって指定するようにする。あるいは、特願平４−２９６４８８号に記載されるＲＯＭ制御ビットを、ビット１１の内容によって指定するようにしてもよい。
【００５０】
　ビット１０の割込優先レベルの選択によって、ＣＰＵ内部ではＵＩビットの動作が指定される。かかる動作は、前記特願平４−１３７９５５号、図１１に記載のようにされる（ＵＩビットがＵ２ビットに対応、ＭＣＲビット１０がＵ２Ｃビットに対応する）。
【００５１】
　さらに、モード制御レジスタのビット長を大きくして、エリア毎のバス情報を指定してもよい。たとえば、アドレス空間１６Ｍバイトの場合、８エリアに分割し、これらに対応する制御ビットでデータバス幅・アクセスステート数を制御するものである。バス情報の設定自体は、前記平成５年３月（株）日立製作所発行『Ｈ８／３００３　ハードウェアマニュアル』または特願平４−７６１５１号に記載されている。
【００５２】
　かかるアドレス空間上のエリアの分割の大きさを、モード制御レジスタのビット１２で選択する。アドレス空間が１６Ｍバイトのとき有効であり、ビット１２が“０”のときエリアの大きさは２Ｍバイト、ビット１２が“１”のときエリアの大きさは５１２ｋバイトとされる。
【００５３】
　次に、図３により、リセット例外処理のフローについて説明する。
【００５４】
　ＲＥＳ入力が非活性状態になると、ＣＰＵはリセット例外処理を開始する。
【００５５】
　ステップＳ１で、モード情報のリードを要求する。割込コントローラから与えられるベクタ番号に基づき、ベクタアドレス生成器が生成したベクタアドレスをＡバス経由でアドレスバッファに転送する。ベクタアドレスは４とする。特に制限はされないものの、ベクタ番号を１ビットシフトし、ビット２を“１”にセットするようにする。
【００５６】
　ステップＳ２でリードをワードサイズで開始する。
【００５７】
　ウェイトが要求されれば待機状態になる。
【００５８】
　ステップＳ３で、リードした内容をリードデータバッファに格納する。
【００５９】
　ステップＳ４で、リードデータバッファの内容をＢバスを経由して、モード制御レジスタに格納する。リードを要求し、ベクタ番号に基づき、ベクタアドレス生成器が生成したベクタアドレスをＡバス経由でアドレスバッファに転送する。ベクタアドレスは０とし、ベクタ番号を１ビットまたは２ビットシフトする。シフトするビット数はモード制御レジスタのビット１５に依存する。
【００６０】
　モード制御レジスタのビット１５が“０”にクリアされていればミニマムモード（アドレス空間６４ｋバイト）であり、１ワードのベクタをリードする。また、ビット１５が“１”にセットされていればマキシマムモード（アドレス空間１Ｍ／１６Ｍバイト）であり、２ワードのベクタをリードする。
【００６１】
　ミニマムモードでは、ステップＳ５Ａでリードをワードサイズで開始する。
【００６２】
　ウェイトが要求されれば待機状態になる。
【００６３】
　ステップＳ８Ａで、リードした内容をリードデータバッファに格納する。
【００６４】
　マキシマムモードでは、ステップＳ５Ｂでリードをワードサイズで開始する。
ウェイトが要求されれば待機状態になる。
【００６５】
　ステップＳ６Ｂで、リードした内容をリードデータバッファに格納する。アドレスバッファの内容をインクリメント（＋２）する。
【００６６】
　ステップＳ７Ｂでリードをワードサイズで開始する。
【００６７】
　ウェイトが要求されれば待機状態になる。
【００６８】
　ステップＳ８Ｂで、リードした内容をリードデータバッファに格納する。
【００６９】
　ステップＳ９で、リードデータバッファの内容（スタートアドレス）をＡバスを経由してアドレスバッファに転送すると共に、ＡＬＵに入力してインクリメント（＋２）を行う。インクリメント結果はＣバスを経由してＰＣに格納される。ミニマムモードのときは、スタートアドレスの下位１６ビットが有効で、上位ビットは全て“０”とみなされる。
【００７０】
　ステップＳ１０でリードをワードサイズで開始する。
【００７１】
　ウェイトが要求されれば待機状態になる。
【００７２】
　ステップＳ１１で、リードした内容をリードデータバッファと命令レジスタに格納する。ＰＣの内容をＡバスを経由してアドレスバッファに転送すると共に、ＡＬＵに入力してインクリメント（＋２）を行う。インクリメント結果はＣバスを経由してＰＣに格納される。
【００７３】
　ステップＳ１２でリードをワードサイズで開始する。命令レジスタの内容を命令デコーダ・制御回路ＣＯＮＴに入力する。リセット例外処理は終了する。
【００７４】
　次に、図４により、動作モードについて説明する。
【００７５】
　特に、動作モードによって動作が異なる端子の機能について示している。
【００７６】
　ＲＯＭ無効拡張モードでは、リセットによって指定したアドレス空間に対応するアドレスが出力になる。たとえば、アドレス空間６４ｋバイトではポート２，３がアドレス出力になり、ポート１は入出力ポートになる。指定した初期バス幅に相当するポートがデータバスになる。初期データバス幅を８ビットとすると、ポート４がデータバスになり、ポート５は入出力ポートになる。但し、入出力ポートは、初期状態は入力状態であるので、その後、１６ビットバスモードの設定を行えばポート５もデータバスになる。また、バス制御信号ＡＳ，ＲＤ，ＨＷＲ，ＬＷＲ，ＣＳ０が出力状態になる。
【００７７】
　ＲＯＭ無効拡張モードでは、リセットによって、バス制御信号ＡＳ，ＲＤ，ＨＷＲ，ＬＷＲ，ＣＳ０が出力状態になる。ポート２，３、およびポート１のアドレス空間に対応したビットがアドレス出力と入力ポートの兼用になる。ポートのデータディレクションレジスタで出力を設定するとアドレス出力になり、入力を設定すると入力ポートになる。初期状態は入力ポートであり、外部アドレスバスは不定になるが、バス制御信号が非活性状態を出力するので問題はない。ポート４がデータバスになり、ポート５は入出力ポートになる。但し、入出力ポートは、初期状態は入力状態であるので、その後、１６ビットバスモードの設定を行えばポート５もデータバスになる。
【００７８】
　シングルチップモードでは、全てのポートが入出力ポートとなる。リセットによって全て入力ポートになる。
【００７９】
　表中で、／で示される兼用の機能は、ポートのデータディレクションレジスタによって選択される。
【００８０】
　但し、モード２、４のポート５の機能が、入出力ポートとするか、入出力ポートにするかはモード制御レジスタに格納されたモード情報で指定される。ビット１３が、“０”にクリアされているときデータバス入出力、“１”にセットされているとき入出力ポートとなる。
【００８１】
　また、モード６のポート１は、ポート入出力とするか、入力ポートとアドレス出力の兼用にするかはモード制御レジスタに格納されたモード情報で指定される。ビット１５，ビット１４がいずれも“０”にクリアされているとき入出力ポート、ビット１５が“０”にクリア、ビット１４が“１”にセットされているとき、上位４ビットが入出力ポート、下位４ビットが入力ポートとアドレス出力の兼用となる。ビット１５が“１”にセットされていると、入力ポートとアドレス出力の兼用となる。
【００８２】
　リセット状態での端子状態・ベクタリード時の端子機能をモード端子で設定することにより、端子状態を動作モードに適合した状態にすることができ、外部にプルアップ抵抗などの回路を付加する必要がない。
【００８３】
　次に、図５により、ベクタの第１の例のアドレスマップについて説明する。
【００８４】
　ミニマムモードのとき、アドレス空間は６４ｋバイトであり、これに対応してスタートアドレスは１６ビットであり、ベクタはワード単位とされる。リセットベクタは０，１番地、モード情報は４，５番地、その他の割込などのベクタは６番地以降とされる。
【００８５】
　マキシマムモードのとき、アドレス空間は１Ｍまたは１６Ｍバイトであり、これに対応してスタートアドレスは２０または２４ビットであり、ベクタはロングワード単位とされる。上位１バイトは予約とされる。リセットベクタは０〜３番地、モード情報は４，５番地、その他のベクタは１２番地以降とされる。
【００８６】
　モード情報は、ミニマム／マキシマムモードで共通であり、その他のベクタは、ミニマムモード時はマキシマムモード時の１／２とされる。特に制限はされないものの、ＣＰＵに与えられるベクタ番号はミニマムモード時のベクタアドレスの１／２とする。
【００８７】
　次に、図６により、ベクタの第２の例のアドレスマップについて説明する。
【００８８】
　アドレス空間が１６Ｍバイトのみのマイクロコンピュータに適用して好適である。
【００８９】
　スタートアドレスは２４ビット（３バイト）であるが、ベクタはロングワード（４バイト）単位とする。これによって、ベクタアドレス生成回路を簡単にすることができる。ベクタ番号を２ビットシフトするだけでよい。
【００９０】
　ロングワードの内、下位３バイトにスタートアドレスを格納し、上位１バイトは予約とされる。リセットベクタについては、上位１バイトにモード情報を格納する。
【００９１】
　フローチャートにおいては０，１番地を２回リードするようにする。１回目はモード情報のリードであり、下位バイトは無視する。２回目はスタートアドレスのリードであり、上位バイトは無視され、下位バイトが、２，３番地の内容と併せてスタートアドレスとされる。その他はマキシマムモードの動作と概略同様にする。
【００９２】
　モード情報は、ビット１５が無視される（常に“１”と看做される）他は、図５と同様である。
【００９３】
　ベクタ長の選択がないので、モード情報とスタートアドレスを同時にリードして、上位８ビットをモード制御レジスタに格納し、下位２４ビットをスタートアドレスとして使用するようにしてもよい。
【００９４】
　図５のマキシマムモードの６〜１１番地の予約領域を有効に利用し、また、リセットベクタとその他のベクタとの間の予約領域を無くして、メモリの利用効率を向上することができる。
【００９５】
　次に、図７により、ベクタの第３の例のアドレスマップについて説明する。
【００９６】
　アドレス空間が６４ｋバイト未満、あるいはスタートアドレスが１６ビット未満のマイクロコンピュータに適用して好適である。アドレス空間が６４ｋバイト未満のマイクロコンピュータには、昭和６３年１２月（株）日立製作所発行『日立８ビットシングルチップマイクロコンピュータ』第３版ｐｐ３６９−６４８などがある。
【００９７】
　アドレス空間は１６ｋバイト、スタートアドレスは１２ビットとする。
【００９８】
　スタートアドレスは１４ビットであるが、ベクタはワード（２バイト）単位とする。これによって、ベクタアドレス生成回路を簡単にすることができる。ベクタ番号を１ビットシフトするだけでよい。
【００９９】
　ワードの内、下位側にスタートアドレスを格納し、上位２ビットは予約とされる。リセットベクタについては、上位２ビットにモード情報を格納する。
【０１００】
　ＣＰＵのアーキテクチャ上アドレス空間が１６ｋバイトであるので、アドレス空間の選択は必要ない。また、大規模なメモリを接続できないので、外部データバスも８ビット固定でよい。内蔵ＲＡＭ・内部Ｉ／Ｏレジスタの配置の変更も必要ない。従って、割込優先レベルの選択を最上位ビットで行うのみである。
【０１０１】
　フローチャートにおいては０，１番地を２回リードするようにする。１回目はモード情報のリードであり、下位バイトは無視する。２回目はスタートアドレスのリードであり、上位バイトは無視され、下位バイトが、２，３番地の内容と併せてスタートアドレスとされる。その他はミニマムモードの動作と概略同様にする。
【０１０２】
　ベクタ長の選択がないので、モード情報とスタートアドレスを同時にリードして、上位２ビットをモード制御レジスタに格納し、下位１２ビットをスタートアドレスとして使用するようにしてもよい。
【０１０３】
　その他のベクタの上位２ビットは無視される。
【０１０４】
　なお、リセットベクタのみ１４ビット、そのほかのベクタは１６ビットなどとしてもよい。
【０１０５】
　アドレスの配置は、０番地を先頭にしなくてもよい。アドレス空間の最後のアドレスを最後にするように配置してもよい。
【０１０６】
　次に、図８により、モード制御回路の概略について説明する。
【０１０７】
　システムコントローラの主要部であるモード制御回路の概略ブロック図を示す。およびアドレス判定回路の一部が示されている。
【０１０８】
　モード端子ＭＤ２〜０の入力とＣＰＵのモード制御レジスタの出力ＭＣＲ１５〜９とによって、動作モードは制御される。
【０１０９】
　たとえば、アドレス空間６４ｋバイト信号は、モード１のとき、または、モード６もしくはモード７でモード制御ビット１５，ビット１４、すなわちＭＣＲ１５，ＭＣＲ１４がいずれも“０”のとき活性状態になり、たとえば、ＩＯＰ１の動作が相違される。
【０１１０】
　また、ＲＯＭ１６ｋバイト信号は、モード制御ビット１０、すなわちＭＣＲ１０である。ＲＯＭ１６ｋバイト信号が活性状態のとき、アドレスをアドレスデコードした結果、Ｈ’０〜Ｈ’３ＦＦＦであるときに、ＲＯＭ選択信号が活性状態になり、ＲＯＭのアクセスが行われる。このとき、Ｈ’４０００〜Ｈ’７ＦＦＦのＲＯＭは無効になる。ＲＯＭ１６ｋバイト信号が非活性状態のとき、アドレスをアドレスデコードした結果、Ｈ’０〜Ｈ’７ＦＦＦであるときに、ＲＯＭ選択信号が活性状態になり、ＲＯＭのアクセスが行われる。
【０１１１】
　次に、図９により、モード制御レジスタの変形例について説明する。
【０１１２】
　モード制御レジスタは、ＣＰＵ内部ではなく、特に制限はされないものの、システムコントローラに配置される。
【０１１３】
　モード制御レジスタはフリップフロップ回路で構成され、図９には、代表的に１ビット分が示されている。それぞれのビットが所定のデータバスのビットに接続されている。フリップフロップの入力は内部データバスであり、クロックはＣＰＵから与えられる専用のＭＣＲラッチ信号である。出力はモード制御回路またはＣＰＵに与えられる。また、クロックドバッファＣＢＦを介してデータバスに出力される。
【０１１４】
　フリップフロップはリセット状態で、制御信号に従ってクリアまたはセットされる。この制御信号はモード端子ＭＤ０〜２、すなわち動作モードによって指定される。制御信号はビット毎に異なった信号とされる。たとえば、モード１では、ビット１５，ビット１４がいずれも“０”にクリアされ、アドレス空間６４ｋバイトが指定される。モード２，３ではビット１５が“０”にクリア、ビット１４が“１”にセットされ、アドレス空間１Ｍバイトが指定される。モード４，５ではビット１５が“１”にセットされ、アドレス空間１６Ｍバイトが指定される。ビット１５，ビット１４のそのほかの場合は、特に制限はされないものの、“０”にクリアされる。
【０１１５】
　かかるレジスタは、通常のライト信号は与えられず、ソフトウェアではライトできない。一方、リードはソフトウェアで行うことができる。クロックドバッファＣＢＦのクロックはアンドゲートＡＮＤの出力とされ、アンドゲートＡＮＤの入力は、テストモード信号、ＭＣＲ選択信号および内部リード信号である。ＭＣＲ選択信号は、アドレスをデコードして生成され、ＭＣＲが存在するアドレスが選択されたときに活性状態になる。すなわち、テストモードでＭＣＲのアドレスをリードしたときのみ、モード制御ビットの内容が読み出される。
【０１１６】
　テストモード信号は、動作モード制御端子に従ってＳＹＳＣ内で生成される。前記の通り、モードφを選択するとテストモードとなり、テストモード信号が活性状態になる。
【０１１７】
　特に、テストの容易化に有効である。モード制御レジスタの機能、少なくともリセット機能やラッチ機能を動作モードの内容で判定することなく、レジスタをリードすることによって判定できるためである。テストモード以外でもリード可能にしてもよい。
【０１１８】
　次に、図１０により、リセット例外処理の変形例のフローについて説明する。
【０１１９】
　これは、図９のモード制御レジスタの変形例に対応する。
【０１２０】
　ＣＰＵがリセット例外処理を開始すると、ステップＳ１で、前記同様に、モード情報のリードを要求する。割込コントローラから与えられるベクタ番号に基づき、ベクタアドレス生成器が生成したベクタアドレスをＡバス経由でアドレスバッファに転送する。
【０１２１】
　ステップＳ２でリードをワードサイズで開始する。
【０１２２】
　ウェイトが要求されれば待機状態になる。
【０１２３】
　ステップＳ３で前記と相違して、モード制御レジスタにラッチ信号を与えて、リードした内容をモード制御レジスタに格納させる。
【０１２４】
　リードを要求し、ベクタ番号に基づき、ベクタアドレス生成器が生成したベクタアドレスをＡバス経由でアドレスバッファに転送する。以下は前記同様である。
【０１２５】
　ミニマムモードではステップＳ５Ａ，ステップＳ８Ａで、マキシマムモードではステップＳ５Ｂ〜ステップＳ８Ｂで、スタートアドレスをリードする。
【０１２６】
　ステップＳ９以降で、スタートアドレスから順次命令をリードする。ステップＳ１２で命令レジスタの内容を命令デコーダに入力し、リセット例外処理は終了する。
【０１２７】
　モードは、ユーザが設定するほか、製造者が設定するものであってもよい。利用可能な内蔵ＲＯＭの容量などを設定することができる。
【０１２８】
　たとえば、内蔵ＲＯＭ容量の異なる２つのマイクロコンピュータが存在する場合であって、ＲＯＭをマスクＲＯＭとしたマイクロコンピュータを２種類と、ＲＯＭをＰＲＯＭとしたマイクロコンピュータを１種類用意することが効率的であることが、たとえば、特願平４−２０７３５３号または特願平４−２９６４８８号に記載されている。このような１種類のＰＲＯＭ内蔵マイクロコンピュータで種類のＲＯＭ容量に対応させる場合、いずれのＲＯＭ容量とするかを製造者がＰＲＯＭに書込み、リセット例外処理でかかる情報を読み出して、これに基づき指定されたＲＯＭ容量として動作させることができる。
【０１２９】
　かかるＲＯＭ容量情報の場合、リセット例外処理時のみリードできるようにすれば都合がよい。あるいは、アドレス空間上に配置しないようにすればよい。ユーザにかかる情報を知らしめずに済むためである。
【０１３０】
　さらに、製造者が設定する場合、ＰＲＯＭであることが望ましい。かかるモード情報は、マイクロコンピュータ内部に不揮発的に記憶しなければならないが、マスクＲＯＭは製造工程で書込むために任意の場合に設定することができない。また、設定してから当該のマイクロコンピュータを入手するまでの時間が長い。これに対して、ＰＲＯＭは完成後（半導体基板上に形成された状態またはこれをパッケージに封止した状態）に設定できるので、設定してから当該マイクロコンピュータを入手するまでの時間が短く、種々の状況に対応し易い。
【０１３１】
　次に、図１１により、本実施例のマイクロコンピュータに内蔵されるＰＲＯＭ（不揮発性記憶装置）について説明する。
【０１３２】
　なお、ＰＲＯＭは、電気的に書込み可能なＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ　Ｐｒｏｇｒａｍａｂｌｅ　Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）、または、電気的に書込み消去が可能なＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ　Ｅｒａｓａｂｌｅ　ａｎｄ　Ｐｒｏｇｒａｍａｂｌｅ　Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）またはフラッシュメモリとされる。
【０１３３】
　ＰＲＯＭは、メモリアレイ、アドレスデコーダ（独立の制御回路）、出力回路からなる。メモリアレイは記憶情報を格納し、アドレスデコーダの指示に基づいて記憶情報を読み出し、出力回路を介して内部データバスに出力する。アドレスデコーダはＣＰＵの出力するアドレス、アドレスをデコードしたＲＯＭ選択信号、モード情報選択信号（専用の制御信号）に基づいてメモリアレイを選択する。出力回路は内部リード信号、モード情報リード信号（専用の制御信号）に基づいてＰＲＯＭの記憶情報を内部データバスに出力する。
【０１３４】
　ＰＲＯＭは、ＣＰＵのアドレス空間上に存在する部分と、アドレス空間上に存在しないモード情報部分が存在する。アドレス空間上に存在する部分は、ＲＯＭ選択信号・内部リード信号がいずれも活性状態のとき、アドレスに基づくアドレスデコーダの指定に従ってリードされる。モード情報部分は、モード情報選択信号・モード情報リード信号が活性状態のとき、アドレスデコーダの指定に従ってリードされる。
【０１３５】
　かかるＰＲＯＭが、電気的に書込み消去が可能な場合、モード情報は消去を禁止するようにするとよい。モード情報を格納するＰＲＯＭ素子の、アドレスデコーダによって制御されるワード線あるいはソース線またはウェルを分離し、他のＰＲＯＭ素子と同時に消去されないようにする。たとえば、モード情報を格納するＰＲＯＭ素子を制御するアドレスデコーダは、消去用の高電圧を出力しないようにする。ＰＲＯＭの特定領域の消去を禁止する方法は、たとえば、特開昭６３−３０３４４７号公報などに記載されている。
【０１３６】
　次に、図１２により、リセット例外処理の変形例のフローについて説明する。
【０１３７】
　これは、図１１のＰＲＯＭに対応する。
【０１３８】
　ＣＰＵがリセット例外処理を開始すると、前記図３，図１０と相違して、ステップＳ２でモード情報選択信号・モード情報リード信号を活性状態にして、モード情報のリードを開始する。
【０１３９】
　ステップＳ３でモード制御レジスタにラッチ信号を与えて、リードした内容をモード制御レジスタに格納させる。
【０１４０】
　リードを要求し、ベクタ番号に基づき、ベクタアドレス生成器が生成したベクタアドレスをＡバス経由でアドレスバッファに転送する。以下は前記同様である。
【０１４１】
　ミニマムモードではステップＳ５Ａ，ステップＳ８Ａで、マキシマムモードではステップＳ５Ｂ〜ステップＳ８Ｂで、スタートアドレスをリードする。
【０１４２】
　ステップＳ９以降でスタートアドレスから順次命令をリードする。ステップＳ１２で命令レジスタの内容を命令デコーダに入力し、リセット例外処理は終了する。
【０１４３】
　かかるモード情報のリードは、ＣＰＵによるものの他、モード制御回路がリードしてもよい。
【０１４４】
　次に、図１３により、モード制御回路に含まれるモード情報リード制御回路について説明する。
【０１４５】
　内部リセット信号が直列に接続された４段のフリップフロップＦＦ１，ＦＦ２，ＦＦ３，ＦＦ４で構成される。なお、内部リセット信号は、ＲＥＳ端子入力をφ１で同期化した信号とされる。
【０１４６】
　モード情報選択信号は、ＦＦ４の出力と、内部リセット信号の反転との論理積信号とされる。従って、内部リセット信号が非活性状態になってから２ステートの期間、モード情報選択信号は活性状態になる。
【０１４７】
　モード情報リード信号は、ＦＦ３の出力と、ＦＦ１の出力の反転との論理積信号とされる。従って、モード情報選択信号は、モード情報選択に対し、１／２ステート遅れて活性状態になり、１／２ステート早く非活性状態になる。
【０１４８】
　ＭＣＲラッチ信号は、モード情報リード信号とφ１との論理積信号とされる。
【０１４９】
　前記の通り、モード情報リード信号およびモード情報選択信号が活性状態になると、ＰＲＯＭからモード情報が読み出されモード制御レジスタにラッチされる。
【０１５０】
　このとき、ＣＰＵのリセット例外処理動作は、図１２のフローチャートに対し、ステップＳ２・ステップＳ３を待機状態にするようにすればよい。
【０１５１】
　上記実施例によれば、以下の作用効果を得ることができる。
(1).モード端子による設定を、動作開始後の状態あるいはベクタのリード方法のみに限定することにより、モード端子の本数を最低限にし有効な端子を減少させることがない。
(2).リセット例外処理によって、ハードウェアによって読み込んだモード情報を自動的に設定することにより、ソフトウェアの負担を無くすことができる。ソフトウェアによる初期設定の時間を無くし、実際の動作を開始するまでの時間を短縮できる。
(3).モード情報を、ソフトウェアで書き換え不可能なレジスタに設定することにより、誤って書き換えてしまうことを防止できる。リードのみを可能にすることによりテストの容易化を実現できる。
(4).リセット状態での端子状態・ベクタリード時の端子機能をモード端子で設定することにより、外部にプルアップ抵抗などの回路を付加する必要がない。システムの小型化を実現できる。
(5).モード情報を、スタートアドレスのリードに先だってリードすることにより、スタートアドレスのビット数を２種類以上（ミニマムモード／マキシマムモード）有するものであっても、かかる選択を、モード端子によることなく、モード情報に含めて指定することができる。
(6).スタートアドレスのビット長が、単位データ長（バイトまたはワード）の整数倍ではない場合、整数倍に不足するビット数にモード情報を配置することによってメモリの利用効率を向上することができる。また、リセット例外処理動作のステップ数を増加させることがない。
(7).モード情報で、たとえば内蔵ＲＯＭ容量などを指定し、これを製造者が指定することによって多種多様（ＲＯＭ容量が異なるなど）のマイクロコンピュータを即座に提供することができる。専用のリード信号を用いたりして、かかるモード情報をアドレス空間に存在しないようにすることによって、ユーザにかかる内部的な情報を知らしめることがない。
【０１５２】
　以上、本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は前記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【０１５３】
　たとえば、モード制御の対象は変更可能である。ＲＡＭや内部Ｉ／Ｏレジスタのアドレスを変更したりする信号を生成することができる。一部の機能ブロックの動作を禁止したり、変更したりする信号を生成することもできる。システムクロックを分周する機能を有するものにあっては、かかる分周比を指定する信号を生成することもできる。
【０１５４】
　モード制御レジスタあるいはベクタの構成の詳細は種々変更が可能である。たとえば、モード制御レジスタはＣＰＵ内部に設けたり、システムコントローラ内部に設けリードサイクルのみで設定するほか、一旦、ベクタとしてＣＰＵがリードした後、ライト動作を行って設定してもよい。この場合、リセット例外処理でのみライト可能にすれば都合がよい。ベクタは例外処理のベクタとは無関係のアドレスに設定してもよい。アドレス空間上の任意のアドレスでよい。但し、ＲＯＭのアドレスとすることができるようにすると都合がよい。プログラムの作成と同時に、モード情報を設定することができるためである。
【０１５５】
　モード情報のビット数、ベクタのビット数が種々変更可能であることは言うまでもない。
【０１５６】
　モード制御レジスタ・モード制御回路の具体的な回路構成も種々変更が可能である。シングルチップマイクロコンピュータのその他の機能ブロックについても何等制約されない。
【産業上の利用可能性】
【０１５７】
　以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるシングルチップマイクロコンピュータに適用した場合について説明したが、それに限定されるものではなく、その他のデータ処理装置にも適用可能であり、本発明は少なくとも、複数の動作モードを選択して動作するデータ処理装置に適用することができる。
【図面の簡単な説明】
【０１５８】
【図１】本発明の一実施例であるデータ処理装置の一例であるマイクロコンピュータを示すブロック図である。
【図２】本実施例におけるＣＰＵの概略ブロック図である。
【図３】本実施例におけるマイクロコンピュータのリセット動作を示すフローチャートである。
【図４】本実施例における動作モードの一覧を示す説明図である。
【図５】本実施例におけるベクタの第１の例のアドレスマップを示す説明図である。
【図６】本実施例におけるベクタの第２の例のアドレスマップを示す説明図である。
【図７】本実施例におけるベクタの第３の例のアドレスマップを示す説明図である。
【図８】本実施例における動作モード制御回路の一例を示すブロック図である。
【図９】本実施例におけるモード制御レジスタの変形例を示すブロック図である。
【図１０】本実施例におけるマイクロコンピュータのリセット動作の第１の変形例を示すフローチャートである。
【図１１】本実施例に用いられるＰＲＯＭのブロック図である。
【図１２】本実施例におけるマイクロコンピュータのリセット動作の第２の変形例を示すフローチャートである。
【図１３】本実施例におけるモード情報リード制御回路の一例を示すブロック図である。
【符号の説明】
【０１５９】
　ＣＰＵ　中央処理装置
　ＳＹＳＣ　システムコントローラ（動作モード設定手段）
　ＩＮＴ　割込コントローラ
　ＲＯＭ　リードオンリメモリ
　ＲＡＭ　ランダムアクセスメモリ
　ＳＣＩ　シリアルコミュニケーションインタフェース
　ＩＯＰ１〜８　入出力ポート
　ＣＰＧ　クロック発振器
　Ｖｓｓ　グランドレベル端子
　Ｖｃｃ　電源電圧レベル端子
　ＲＥＳ　リセット端子
　ＳＴＢＹ　スタンバイ端子
　ＭＤ０〜２　モード端子（動作モード制御端子）
　ＥＸＴＡＬ，ＸＴＡＬ　クロック入力端子
　φ１，φ２　システムクロック
　ＩＲ　命令レジスタ
　ＣＯＮＴ　命令デコーダ・制御回路
　ＤＢＷ　ライトデータバッファ
　ＤＢＲ　リードデータバッファ
　ＡＬＵ　演算器
　Ｒ０〜７　汎用レジスタ
　ＰＣ　プログラムカウンタ
　ＣＣＲ　コンディションコードレジスタ
　ＭＣＲ　モード制御レジスタ（レジスタ手段）
　ＶＡＧ　ベクタアドレス生成器
　ＭＡＢ　メモリアドレスバッファ
　ＣＢＦ　クロックドバッファ
　ＡＮＤ　アンドゲート
ＰＲＯＭ　プログラマブルリードオンリメモリ（不揮発性記憶装置）
　ＦＦ１〜４　フリップフロップ
【図１】
2004078996.tif 000003
【図２】
2004078996.tif 000004
【図３】
2004078996.tif 000005
【図４】
2004078996.tif 000006
【図５】
2004078996.tif 000007
【図６】
2004078996.tif 000008
【図７】
2004078996.tif 000009
【図８】
2004078996.tif 000010
【図９】
2004078996.tif 000011
【図１０】
2004078996.tif 000012
【図１１】
2004078996.tif 000013
【図１２】
2004078996.tif 000014
【図１３】
2004078996.tif 000015
【手続補正書】
【提出日】平成16年1月16日(2004.1.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
　複数の動作モードを持ち、動作モード制御端子と中央処理装置とを有するデータ処理装置であって、
　前記中央処理装置は、動作開始後にメモリに格納される動作モード情報を読み込むと共に、前記動作モード情報と前記動作モード制御端子との状態によって、前記動作モードが制御され、
　前記データ処理装置は、前記動作モード情報を読み込んだ後にスタートアドレスを読み込み、
　前記動作モード制御端子は、前記スタートアドレスが前記データ処理装置の外部のメモリに格納される場合に、前記動作モード情報を読み込むために必要な端子の機能を指定し、
　前記動作モード情報は、前記スタートアドレスが前記データ処理装置の内部のメモリに格納される場合に、前記スタートアドレスを読み込むために必要な情報を含むことを特徴とするデータ処理装置。
【請求項２】
　請求項１記載のデータ処理装置であって、前記動作モードは、前記データ処理装置のアドレス空間、データバス幅、内蔵する記憶装置の容量、割込優先レベルの少なくとも１つの条件を選択的に切り替えることを特徴とするデータ処理装置。
【請求項３】
　請求項１または２記載のデータ処理装置であって、レジスタ手段を有し、前記動作モード情報を前記レジスタ手段に格納するものであって、前記レジスタ手段は、前記中央処理装置の命令による書き換えが禁止されていることを特徴とするデータ処理装置。
【請求項４】
　請求項３記載のデータ処理装置であって、テストモード設定手段を有し、前記テストモード設定手段がテストモードを指示したときに、前記レジスタ手段を読み込むことができることを特徴とするデータ処理装置。
【請求項５】
　請求項１乃至４の何れか一つに記載のデータ処理装置であって、
　前記複数の動作モードは、前記スタートアドレスを前記データ処理装置の外部のメモリに格納されるか内部のメモリに格納されるかで分類され、
　前記複数の動作モードのうち前記スタートアドレスが前記データ処理装置の外部のメモリに格納される動作モードは、前記スタートアドレスのビット数により更に分類され、
　前記複数の動作モードのうち前記スタートアドレスが前記データ処理装置の内部のメモリに格納される動作モードは、前記スタートアドレスのビット数により更に分類され、
　前記複数の動作モードのうち前記スタートアドレスが前記データ処理装置の外部のメモリに格納され、前記スタートアドレスのビット数が異なる動作モードの切換えは、前記動作モード制御端子により制御され、
　前記複数の動作モードのうち前記スタートアドレスが前記データ処理装置の内部のメモリに格納され、前記スタートアドレスのビット数が異なる動作モードの切換えは、前記動作モード情報により制御されることを特徴とするデータ処理装置。