JP2004078996A - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP2004078996A
JP2004078996A JP2003386521A JP2003386521A JP2004078996A JP 2004078996 A JP2004078996 A JP 2004078996A JP 2003386521 A JP2003386521 A JP 2003386521A JP 2003386521 A JP2003386521 A JP 2003386521A JP 2004078996 A JP2004078996 A JP 2004078996A
Authority
JP
Japan
Prior art keywords
mode
operation mode
address
register
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003386521A
Other languages
English (en)
Inventor
Naomiki Mitsuishi
三ッ石 直幹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2003386521A priority Critical patent/JP2004078996A/ja
Publication of JP2004078996A publication Critical patent/JP2004078996A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Microcomputers (AREA)

Abstract

【課題】 モード端子を増加し、有効な端子を減少することなく、またレジスタ手段を設定することを省き、レジスタ手段を誤って書き換えてしまうことを防ぎつつ、多数の動作モードを有するデータ処理装置を提供する。
【解決手段】 1つの半導体基板上に半導体集積回路として形成されるシングルチップマイクロコンピュータであって、中央処理装置CPU、システムコントローラSYSC、割込コントローラINT、リードオンリメモリROM、ランダムアクセスメモリRAM、タイマ、シリアルコミュニケーションインタフェースSCI、第1から第8の入出力ポートIOP1〜8、クロック発振器CPGの機能ブロックから構成されている。このマイクロコンピュータの動作開始後のハードウェア的な初期化動作において、動作モードを自動的に読み込み、この動作モードがレジスタに自動的に設定されるようになっている。
【選択図】    図1



Description

 本発明は、データ処理装置(マイクロコンピュータまたは半導体集積回路装置)に関し、特に複数の動作モードを有するデータ処理装置などに適用して有効な技術に関する。
 たとえば、平成5年3月(株)日立製作所発行『H8/3003 ハードウェアマニュアル』([非特許文献1])または特願平4−76151号=特開平5−241826号公報([特許文献1])に記載されるように、半導体集積回路でなるマイクロコンピュータは各種の動作モードを持つ。かかる動作モードは、CPUのアドレス空間、内蔵ROMの有効/無効、外部バス幅の初期値などをモード端子で設定し、割込動作などを制御レジスタで設定する。これらはユーザ毎に固定の値であり、動作中に変更することはない。
 マイクロコンピュータの機能向上に伴い、動作モードは増える。特に、特願平4−226447号=特開平6−51981号公報([特許文献2])や特願平4−137955号=特開平5−307485号公報([特許文献3])に記載されるように、従来のマイクロコンピュータのソフトウェア資産を有効に利用するために互換性を保持しようとすると、動作モードはさらに増えることになる。従来、動作モードはモード端子または制御レジスタで設定されている。
特開平5−241826号公報 特開平6−51981号公報 特開平5−307485号公報 平成5年3月(株)日立製作所発行『H8/3003 ハードウェアマニュアル』
 ところで、前記のようなマイクロコンピュータにおいては、動作モードを前記のようにモード端子で設定しようとすると、動作モードの増加に伴いモード端子も増やさざるを得ない。ユーザはこのモード端子を、一方に固定して使用するものであって信号の入出力には使用できず、有効な端子、すなわちユーザが任意に使用できる端子が減少してしまう。
 また、制御レジスタで設定しようとすると、この制御レジスタを設定するためのプログラムが必要になりソフトウェアの負担になる。制御レジスタを設定し、実際の動作を開始するまでの時間が長くなってしまう。また、誤って制御レジスタを書き換えてしまい、誤動作に至る可能性がある。
 そこで、本発明の目的は、このような問題点を解決し、モード端子を増加し、有効な端子を減少することなく、また制御レジスタを設定することを省き、制御レジスタを誤って書き換えてしまうことを防ぎつつ、多数の動作モードを有することができるデータ処理装置などを提供することにある。
 本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
 本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
 すなわち、本発明のデータ処理装置は、動作モード制御端子と中央処理装置を有する場合に適用されるものであり、このデータ処理装置の動作開始後のハードウェア的な初期化動作において、動作モード情報を自動的に読み込み、かかる動作モード情報を内部のレジスタ手段に自動的に設定するものである。
 この場合に、動作モード情報の読み込みに関する情報は動作モード制御端子で設定し、またレジスタ手段は中央処理装置の命令によるソフトウェアで書き換えられないようにし、さらにテストモード設定手段によるテストモードの時にはレジスタ手段を読み込めるようにするものである。
 また、動作モード制御端子と電気的に書込み消去可能な不揮発性記憶装置を有する場合には、この不揮発性記憶装置から動作モード情報を、専用の制御信号による制御、中央処理装置が動作開始直後、または動作モード設定手段が動作開始直後に読み込むようにするものである。
 この場合に、動作モード情報によって、不揮発性記憶装置の容量、一部アドレスのアクセス禁止、または一部または全部のアドレスの変更を選択的に切り替えたり、不揮発性記憶装置の動作モード情報を格納する部分を制御回路によって消去用の電圧を阻止するようにしたものである。
 前記したデータ処理装置によれば、データ処理装置の初期化動作において、自動的に読み込まれる動作モード情報がレジスタ手段に自動的に設定されることにより、動作モード制御端子で設定する情報を最低限にしてモード端子の本数を最低限にすることができる。
 また、動作モード情報の読み込み、設定をハードウェアで自動的に行うことにより、ソフトウェアの負担をなくしレジスタ手段の設定に要する時間を短縮して、実際の動作を開始するまでの時間を短縮することができる。
 さらに、動作モード情報を保持するレジスタ手段を書き換え不可能にすることにより、誤って書き換えてしまうことを防ぐことができる。
 本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
(1).複数の動作モードを持ち、動作モード制御端子と中央処理装置とを有することにより、データ処理装置の動作開始後のハードウェア的な初期化動作において、動作モード情報を自動的に読み込み、かかる動作モード情報を内部のレジスタ手段に自動的に設定し、動作モード情報の読み込みに関する情報は動作モード制御端子で設定し、また前記レジスタ手段はソフトウェアで書き換えられないようにすることができるので、モード端子を増加することなく他種類の動作モードを実現することが可能となる。
(2).前記(1) により、レジスタ手段の設定に要する時間を短縮することができるので、実際の動作を開始するまでの時間を短縮することが可能となる。
(3).前記(1) により、動作モード情報を保持するレジスタ手段を書き換え不可能にすることができるので、誤って書き換えてしまうことを防止することが可能となる。
(4).複数の動作モードを持ち、動作モード制御端子と電気的に書込み消去可能な不揮発性記憶装置とを有することにより、データ処理装置の動作開始直後に不揮発性記憶装置から動作モード情報を読み込むことができるので、前記(1) 〜(3) と同様に、モード端子を増加することなく他種類の動作モードを実現し、実際の動作を開始するまでの時間を短縮し、さらに誤って書き換えてしまうことを防止することが可能となる。
 以下、本発明の実施例を図面に基づいて詳細に説明する。
 図1は本発明の一実施例であるデータ処理装置の一例であるマイクロコンピュータを示すブロック図、図2はCPUの概略ブロック図、図3はマイクロコンピュータのリセット動作を示すフローチャート、図4は動作モードの一覧を示す説明図、図5〜図7はベクタのアドレスマップを示す説明図、図8は動作モード制御回路の一例を示すブロック図、図9はモード制御レジスタの変形例を示すブロック図、図10はマイクロコンピュータのリセット動作の変形例を示すフローチャート、図11は本実施例に用いられるPROMのブロック図、図12はマイクロコンピュータのリセット動作の変形例を示すフローチャート、図13はモード情報リード制御回路の一例を示すブロック図である。
 まず、図1により本実施例のマイクロコンピュータの構成を説明する。
 本実施例のマイクロコンピュータは、たとえば公知の半導体製造技術により1つの半導体基板上に半導体集積回路として形成されるシングルチップマイクロコンピュータとされ、中央処理装置CPU、システムコントローラSYSC(動作モード設定手段)、割込コントローラINT、リードオンリメモリROM、ランダムアクセスメモリRAM、タイマ、シリアルコミュニケーションインタフェースSCI、第1から第8の入出力ポートIOP1〜8、クロック発振器CPGの機能ブロックまたはモジュールから構成されている。
 かかるシングルチップマイクロコンピュータは、電源端子として、グランドレベル端子Vss、電源電圧レベル端子Vcc、その他専用制御端子として、リセット端子RES、スタンバイ端子STBY、モード端子(動作モード制御端子)MD0〜2、クロック入力端子EXTAL,XTALの各端子を有する。
 クロック入力EXTAL,XTALの端子に接続される、図示はされない水晶振動子に基づいて、クロック発振器が生成するシステムクロックφ1,φ2に同期して、シングルチップマイクロコンピュータは動作する。あるいは外部クロックをEXTAL端子に入力してもよい。システムクロックの1周期を1ステートと呼ぶ。
 これらの機能ブロックは、内部バスによって相互に接続される。内部バスはアドレスバスPAB・データバスPDBの他、リード信号・ライト信号を含み、さらにバスサイズ信号あるいはシステムクロックφ1,φ2などを含む。
 入出力ポートは、外部バス信号、入出力回路の入出力信号と兼用とされている。これらは、動作モードあるいはソフトウェアの設定により、機能を選択されて使用される。IOP1〜3はアドレスバス出力、IOP4,5はデータバス入出力、IOP6はバス制御信号入出力信号と兼用されている。外部アドレスは、それぞれ、これらの入出力ポートに含まれるバッファ回路を介してIABと接続されている。PABは入出力ポートのレジスタをリード/ライトするために使用し、外部バスとは直接の関係はない。
 内部バスおよび外部バスは共に16ビットバス幅とし、バイトサイズ(8ビット)およびワードサイズ(16ビット)のリード/ライトを可能にする。なお、内部バスおよび外部バスのいずれも8ビット幅とすることもできる。
 バス制御信号入出力信号には、アドレスストローブ信号AS、リード信号RD、ライト信号HWR・LWR、ウェイト信号WAIT、エリア0選択信号CS0などがある。
 割込信号は、タイマ、SCI、IOP8から要求され、割込コントローラが調停して、CPUに割込を要求する。このとき、CPUに対し、割込要求信号とベクタ番号を与える。割込マスクレベルは、特願平4−137955号に記載されるように、Iビットのみによる制御、IビットとUIビットによる制御を選択できる。
 RES端子にリセット信号が加えられると、モード端子MD0〜2で与えられる動作モードを取り込み、マイクロコンピュータはリセット状態になる。モード端子で設定する動作モードは、シングルチップ/拡張、アドレス空間、内蔵ROMの有効/無効、データバス幅の初期値を8ビットまたは16ビットから選択する。
 モード1はROM無効拡張モード、アドレス空間64kバイト、データバス幅初期値8ビット、
 モード2はROM無効拡張モード、アドレス空間1Mバイト、データバス幅初期値8ビット、
 モード3はROM無効拡張モード、アドレス空間1Mバイト、データバス幅初期値16ビット、
 モード4はROM無効拡張モード、アドレス空間16Mバイト、データバス幅初期値8ビット、
 モード5はROM無効拡張モード、アドレス空間16Mバイト、データバス幅初期値16ビット、
 モード6はROM有効拡張モード、モード7はシングルチップモード、
とされる。
 なお、モード0はテストモードとする。
 モードの番号は任意に変更可能である。
 その他の動作モードはリセット例外処理で読み込むモード情報によって設定する。
 たとえば、ROM無効拡張モードは、エリアの大きさの選択をモード情報で設定する。
 ROM有効拡張モードは、アドレス空間の64k/1M/16Mバイトの選択、データバス幅、エリアの大きさの選択をモード情報で設定する。
 シングルチップモードは、アドレス空間の64k/1M/16Mバイトの選択をモード情報で設定する。
 また、各モードともに、割込優先レベルの選択をモード情報で設定する。
 内蔵ROMを無効にすると外部アドレスが有効とされ、ROMに相当するアドレスは外部アドレスとする。ベクタ領域も外部アドレスになる。
 内蔵ROMを有効にするとベクタ領域は内蔵ROMアドレスになる。
 リセット状態を解除すると、CPUはベクタ(モード情報、スタートアドレス)をリードして、このモード情報に基づいて動作モードを設定し、スタートアドレスから命令のリードを開始するリセット例外処理を行う。前記ベクタは、特に制限はされないものの0番地から始まる領域に格納されているものとする。その後、CPUは前記スタートアドレスから順次命令を実行する。
 次に、図2により、CPUの概略について説明する。
 命令レジスタIR、命令デコーダ・制御回路CONT、レジスタセレクタ、ライトデータバッファDBW、リードデータバッファDBR、演算器ALU、汎用レジスタR0〜7、プログラムカウンタPC、コンディションコードレジスタCCR、モード制御レジスタMCR(レジスタ手段)、ベクタアドレス生成器VAG、メモリアドレスバッファMABからなる。
 Aバス、Bバス、Cバスによって相互に接続されている。
 また、ライトデータバッファは内部データバスへの出力、リードデータバッファは内部データバスからの入力、アドレスバッファは内部アドレスバスへの出力、命令レジスタは内部データバスからの入力が可能であり、それぞれ内部バスに接続されている。
 モード制御レジスタは、Bバスから入力が可能とされ、かかる内容を命令デコーダ・制御回路CONTおよびCPU外部のシステムコントローラに出力する。
 モード制御レジスタ以外の各ブロックの機能は、前記特願平4−76151号に記載のCPUと概略同様である。命令デコーダ・制御回路CONTが、IRからの入力、モード制御レジスタからの入力、そのほかの入力信号に基づいて動作制御を行う。アドレスバッファはインクリメント機能を有する。
 CPUは16ビット長の汎用レジスタが8本、16ビット長のプログラムカウンタ、8ビット長のコンディションコードレジスタが各1本を有し、これらは命令によって操作される。汎用レジスタは上位8ビットと下位8ビットを独立させて8ビット長のレジスタとすることも、上位・下位を連結して16ビット長のレジスタとすることもできる。プログラムカウンタは16ビットのカウンタであり、CPUが次に実行する命令のアドレスを示している。コンディションコードレジスタは割込マスクビットI、ユーザ/割込マスクビットUI、キャリフラグC、ゼロフラグZ、ネガテブフラグN、オーバフローフラグVを含んでいる。
 ベクタとして、リセット例外処理によってリードされたモード情報は、モード制御レジスタに格納される。モード制御レジスタは、ROM無効拡張モードのエリアの大きさの選択、ROM有効拡張モードのアドレス空間・データバス幅・エリアの大きさの選択、シングルチップモードのアドレス空間の選択、および各モード共通に、割込優先レベルの選択を選択する。
 すなわち、ビット15,14でアドレス空間64k/1M/16Mの選択、ビット13でデータバス幅、ビット12でエリアの大きさの選択、ビット11で内蔵ROM容量の選択、ビット10で割込優先レベルの選択を行うものとする。
 ビット11の内蔵ROM容量によって、内蔵ROMは32kバイト/16kバイトの容量が選択される。かかる動作は、特願平4−207353号に記載されるφinh信号を、ビット11の内容によって指定するようにする。あるいは、特願平4−296488号に記載されるROM制御ビットを、ビット11の内容によって指定するようにしてもよい。
 ビット10の割込優先レベルの選択によって、CPU内部ではUIビットの動作が指定される。かかる動作は、前記特願平4−137955号、図11に記載のようにされる(UIビットがU2ビットに対応、MCRビット10がU2Cビットに対応する)。
 さらに、モード制御レジスタのビット長を大きくして、エリア毎のバス情報を指定してもよい。たとえば、アドレス空間16Mバイトの場合、8エリアに分割し、これらに対応する制御ビットでデータバス幅・アクセスステート数を制御するものである。バス情報の設定自体は、前記平成5年3月(株)日立製作所発行『H8/3003 ハードウェアマニュアル』または特願平4−76151号に記載されている。
 かかるアドレス空間上のエリアの分割の大きさを、モード制御レジスタのビット12で選択する。アドレス空間が16Mバイトのとき有効であり、ビット12が“0”のときエリアの大きさは2Mバイト、ビット12が“1”のときエリアの大きさは512kバイトとされる。
 次に、図3により、リセット例外処理のフローについて説明する。
 RES入力が非活性状態になると、CPUはリセット例外処理を開始する。
 ステップS1で、モード情報のリードを要求する。割込コントローラから与えられるベクタ番号に基づき、ベクタアドレス生成器が生成したベクタアドレスをAバス経由でアドレスバッファに転送する。ベクタアドレスは4とする。特に制限はされないものの、ベクタ番号を1ビットシフトし、ビット2を“1”にセットするようにする。
 ステップS2でリードをワードサイズで開始する。
 ウェイトが要求されれば待機状態になる。
 ステップS3で、リードした内容をリードデータバッファに格納する。
 ステップS4で、リードデータバッファの内容をBバスを経由して、モード制御レジスタに格納する。リードを要求し、ベクタ番号に基づき、ベクタアドレス生成器が生成したベクタアドレスをAバス経由でアドレスバッファに転送する。ベクタアドレスは0とし、ベクタ番号を1ビットまたは2ビットシフトする。シフトするビット数はモード制御レジスタのビット15に依存する。
 モード制御レジスタのビット15が“0”にクリアされていればミニマムモード(アドレス空間64kバイト)であり、1ワードのベクタをリードする。また、ビット15が“1”にセットされていればマキシマムモード(アドレス空間1M/16Mバイト)であり、2ワードのベクタをリードする。
 ミニマムモードでは、ステップS5Aでリードをワードサイズで開始する。
 ウェイトが要求されれば待機状態になる。
 ステップS8Aで、リードした内容をリードデータバッファに格納する。
 マキシマムモードでは、ステップS5Bでリードをワードサイズで開始する。
ウェイトが要求されれば待機状態になる。
 ステップS6Bで、リードした内容をリードデータバッファに格納する。アドレスバッファの内容をインクリメント(+2)する。
 ステップS7Bでリードをワードサイズで開始する。
 ウェイトが要求されれば待機状態になる。
 ステップS8Bで、リードした内容をリードデータバッファに格納する。
 ステップS9で、リードデータバッファの内容(スタートアドレス)をAバスを経由してアドレスバッファに転送すると共に、ALUに入力してインクリメント(+2)を行う。インクリメント結果はCバスを経由してPCに格納される。ミニマムモードのときは、スタートアドレスの下位16ビットが有効で、上位ビットは全て“0”とみなされる。
 ステップS10でリードをワードサイズで開始する。
 ウェイトが要求されれば待機状態になる。
 ステップS11で、リードした内容をリードデータバッファと命令レジスタに格納する。PCの内容をAバスを経由してアドレスバッファに転送すると共に、ALUに入力してインクリメント(+2)を行う。インクリメント結果はCバスを経由してPCに格納される。
 ステップS12でリードをワードサイズで開始する。命令レジスタの内容を命令デコーダ・制御回路CONTに入力する。リセット例外処理は終了する。
 次に、図4により、動作モードについて説明する。
 特に、動作モードによって動作が異なる端子の機能について示している。
 ROM無効拡張モードでは、リセットによって指定したアドレス空間に対応するアドレスが出力になる。たとえば、アドレス空間64kバイトではポート2,3がアドレス出力になり、ポート1は入出力ポートになる。指定した初期バス幅に相当するポートがデータバスになる。初期データバス幅を8ビットとすると、ポート4がデータバスになり、ポート5は入出力ポートになる。但し、入出力ポートは、初期状態は入力状態であるので、その後、16ビットバスモードの設定を行えばポート5もデータバスになる。また、バス制御信号AS,RD,HWR,LWR,CS0が出力状態になる。
 ROM無効拡張モードでは、リセットによって、バス制御信号AS,RD,HWR,LWR,CS0が出力状態になる。ポート2,3、およびポート1のアドレス空間に対応したビットがアドレス出力と入力ポートの兼用になる。ポートのデータディレクションレジスタで出力を設定するとアドレス出力になり、入力を設定すると入力ポートになる。初期状態は入力ポートであり、外部アドレスバスは不定になるが、バス制御信号が非活性状態を出力するので問題はない。ポート4がデータバスになり、ポート5は入出力ポートになる。但し、入出力ポートは、初期状態は入力状態であるので、その後、16ビットバスモードの設定を行えばポート5もデータバスになる。
 シングルチップモードでは、全てのポートが入出力ポートとなる。リセットによって全て入力ポートになる。
 表中で、/で示される兼用の機能は、ポートのデータディレクションレジスタによって選択される。
 但し、モード2、4のポート5の機能が、入出力ポートとするか、入出力ポートにするかはモード制御レジスタに格納されたモード情報で指定される。ビット13が、“0”にクリアされているときデータバス入出力、“1”にセットされているとき入出力ポートとなる。
 また、モード6のポート1は、ポート入出力とするか、入力ポートとアドレス出力の兼用にするかはモード制御レジスタに格納されたモード情報で指定される。ビット15,ビット14がいずれも“0”にクリアされているとき入出力ポート、ビット15が“0”にクリア、ビット14が“1”にセットされているとき、上位4ビットが入出力ポート、下位4ビットが入力ポートとアドレス出力の兼用となる。ビット15が“1”にセットされていると、入力ポートとアドレス出力の兼用となる。
 リセット状態での端子状態・ベクタリード時の端子機能をモード端子で設定することにより、端子状態を動作モードに適合した状態にすることができ、外部にプルアップ抵抗などの回路を付加する必要がない。
 次に、図5により、ベクタの第1の例のアドレスマップについて説明する。
 ミニマムモードのとき、アドレス空間は64kバイトであり、これに対応してスタートアドレスは16ビットであり、ベクタはワード単位とされる。リセットベクタは0,1番地、モード情報は4,5番地、その他の割込などのベクタは6番地以降とされる。
 マキシマムモードのとき、アドレス空間は1Mまたは16Mバイトであり、これに対応してスタートアドレスは20または24ビットであり、ベクタはロングワード単位とされる。上位1バイトは予約とされる。リセットベクタは0〜3番地、モード情報は4,5番地、その他のベクタは12番地以降とされる。
 モード情報は、ミニマム/マキシマムモードで共通であり、その他のベクタは、ミニマムモード時はマキシマムモード時の1/2とされる。特に制限はされないものの、CPUに与えられるベクタ番号はミニマムモード時のベクタアドレスの1/2とする。
 次に、図6により、ベクタの第2の例のアドレスマップについて説明する。
 アドレス空間が16Mバイトのみのマイクロコンピュータに適用して好適である。
 スタートアドレスは24ビット(3バイト)であるが、ベクタはロングワード(4バイト)単位とする。これによって、ベクタアドレス生成回路を簡単にすることができる。ベクタ番号を2ビットシフトするだけでよい。
 ロングワードの内、下位3バイトにスタートアドレスを格納し、上位1バイトは予約とされる。リセットベクタについては、上位1バイトにモード情報を格納する。
 フローチャートにおいては0,1番地を2回リードするようにする。1回目はモード情報のリードであり、下位バイトは無視する。2回目はスタートアドレスのリードであり、上位バイトは無視され、下位バイトが、2,3番地の内容と併せてスタートアドレスとされる。その他はマキシマムモードの動作と概略同様にする。
 モード情報は、ビット15が無視される(常に“1”と看做される)他は、図5と同様である。
 ベクタ長の選択がないので、モード情報とスタートアドレスを同時にリードして、上位8ビットをモード制御レジスタに格納し、下位24ビットをスタートアドレスとして使用するようにしてもよい。
 図5のマキシマムモードの6〜11番地の予約領域を有効に利用し、また、リセットベクタとその他のベクタとの間の予約領域を無くして、メモリの利用効率を向上することができる。
 次に、図7により、ベクタの第3の例のアドレスマップについて説明する。
 アドレス空間が64kバイト未満、あるいはスタートアドレスが16ビット未満のマイクロコンピュータに適用して好適である。アドレス空間が64kバイト未満のマイクロコンピュータには、昭和63年12月(株)日立製作所発行『日立8ビットシングルチップマイクロコンピュータ』第3版pp369−648などがある。
 アドレス空間は16kバイト、スタートアドレスは12ビットとする。
 スタートアドレスは14ビットであるが、ベクタはワード(2バイト)単位とする。これによって、ベクタアドレス生成回路を簡単にすることができる。ベクタ番号を1ビットシフトするだけでよい。
 ワードの内、下位側にスタートアドレスを格納し、上位2ビットは予約とされる。リセットベクタについては、上位2ビットにモード情報を格納する。
 CPUのアーキテクチャ上アドレス空間が16kバイトであるので、アドレス空間の選択は必要ない。また、大規模なメモリを接続できないので、外部データバスも8ビット固定でよい。内蔵RAM・内部I/Oレジスタの配置の変更も必要ない。従って、割込優先レベルの選択を最上位ビットで行うのみである。
 フローチャートにおいては0,1番地を2回リードするようにする。1回目はモード情報のリードであり、下位バイトは無視する。2回目はスタートアドレスのリードであり、上位バイトは無視され、下位バイトが、2,3番地の内容と併せてスタートアドレスとされる。その他はミニマムモードの動作と概略同様にする。
 ベクタ長の選択がないので、モード情報とスタートアドレスを同時にリードして、上位2ビットをモード制御レジスタに格納し、下位12ビットをスタートアドレスとして使用するようにしてもよい。
 その他のベクタの上位2ビットは無視される。
 なお、リセットベクタのみ14ビット、そのほかのベクタは16ビットなどとしてもよい。
 アドレスの配置は、0番地を先頭にしなくてもよい。アドレス空間の最後のアドレスを最後にするように配置してもよい。
 次に、図8により、モード制御回路の概略について説明する。
 システムコントローラの主要部であるモード制御回路の概略ブロック図を示す。およびアドレス判定回路の一部が示されている。
 モード端子MD2〜0の入力とCPUのモード制御レジスタの出力MCR15〜9とによって、動作モードは制御される。
 たとえば、アドレス空間64kバイト信号は、モード1のとき、または、モード6もしくはモード7でモード制御ビット15,ビット14、すなわちMCR15,MCR14がいずれも“0”のとき活性状態になり、たとえば、IOP1の動作が相違される。
 また、ROM16kバイト信号は、モード制御ビット10、すなわちMCR10である。ROM16kバイト信号が活性状態のとき、アドレスをアドレスデコードした結果、H’0〜H’3FFFであるときに、ROM選択信号が活性状態になり、ROMのアクセスが行われる。このとき、H’4000〜H’7FFFのROMは無効になる。ROM16kバイト信号が非活性状態のとき、アドレスをアドレスデコードした結果、H’0〜H’7FFFであるときに、ROM選択信号が活性状態になり、ROMのアクセスが行われる。
 次に、図9により、モード制御レジスタの変形例について説明する。
 モード制御レジスタは、CPU内部ではなく、特に制限はされないものの、システムコントローラに配置される。
 モード制御レジスタはフリップフロップ回路で構成され、図9には、代表的に1ビット分が示されている。それぞれのビットが所定のデータバスのビットに接続されている。フリップフロップの入力は内部データバスであり、クロックはCPUから与えられる専用のMCRラッチ信号である。出力はモード制御回路またはCPUに与えられる。また、クロックドバッファCBFを介してデータバスに出力される。
 フリップフロップはリセット状態で、制御信号に従ってクリアまたはセットされる。この制御信号はモード端子MD0〜2、すなわち動作モードによって指定される。制御信号はビット毎に異なった信号とされる。たとえば、モード1では、ビット15,ビット14がいずれも“0”にクリアされ、アドレス空間64kバイトが指定される。モード2,3ではビット15が“0”にクリア、ビット14が“1”にセットされ、アドレス空間1Mバイトが指定される。モード4,5ではビット15が“1”にセットされ、アドレス空間16Mバイトが指定される。ビット15,ビット14のそのほかの場合は、特に制限はされないものの、“0”にクリアされる。
 かかるレジスタは、通常のライト信号は与えられず、ソフトウェアではライトできない。一方、リードはソフトウェアで行うことができる。クロックドバッファCBFのクロックはアンドゲートANDの出力とされ、アンドゲートANDの入力は、テストモード信号、MCR選択信号および内部リード信号である。MCR選択信号は、アドレスをデコードして生成され、MCRが存在するアドレスが選択されたときに活性状態になる。すなわち、テストモードでMCRのアドレスをリードしたときのみ、モード制御ビットの内容が読み出される。
 テストモード信号は、動作モード制御端子に従ってSYSC内で生成される。前記の通り、モードφを選択するとテストモードとなり、テストモード信号が活性状態になる。
 特に、テストの容易化に有効である。モード制御レジスタの機能、少なくともリセット機能やラッチ機能を動作モードの内容で判定することなく、レジスタをリードすることによって判定できるためである。テストモード以外でもリード可能にしてもよい。
 次に、図10により、リセット例外処理の変形例のフローについて説明する。
 これは、図9のモード制御レジスタの変形例に対応する。
 CPUがリセット例外処理を開始すると、ステップS1で、前記同様に、モード情報のリードを要求する。割込コントローラから与えられるベクタ番号に基づき、ベクタアドレス生成器が生成したベクタアドレスをAバス経由でアドレスバッファに転送する。
 ステップS2でリードをワードサイズで開始する。
 ウェイトが要求されれば待機状態になる。
 ステップS3で前記と相違して、モード制御レジスタにラッチ信号を与えて、リードした内容をモード制御レジスタに格納させる。
 リードを要求し、ベクタ番号に基づき、ベクタアドレス生成器が生成したベクタアドレスをAバス経由でアドレスバッファに転送する。以下は前記同様である。
 ミニマムモードではステップS5A,ステップS8Aで、マキシマムモードではステップS5B〜ステップS8Bで、スタートアドレスをリードする。
 ステップS9以降で、スタートアドレスから順次命令をリードする。ステップS12で命令レジスタの内容を命令デコーダに入力し、リセット例外処理は終了する。
 モードは、ユーザが設定するほか、製造者が設定するものであってもよい。利用可能な内蔵ROMの容量などを設定することができる。
 たとえば、内蔵ROM容量の異なる2つのマイクロコンピュータが存在する場合であって、ROMをマスクROMとしたマイクロコンピュータを2種類と、ROMをPROMとしたマイクロコンピュータを1種類用意することが効率的であることが、たとえば、特願平4−207353号または特願平4−296488号に記載されている。このような1種類のPROM内蔵マイクロコンピュータで種類のROM容量に対応させる場合、いずれのROM容量とするかを製造者がPROMに書込み、リセット例外処理でかかる情報を読み出して、これに基づき指定されたROM容量として動作させることができる。
 かかるROM容量情報の場合、リセット例外処理時のみリードできるようにすれば都合がよい。あるいは、アドレス空間上に配置しないようにすればよい。ユーザにかかる情報を知らしめずに済むためである。
 さらに、製造者が設定する場合、PROMであることが望ましい。かかるモード情報は、マイクロコンピュータ内部に不揮発的に記憶しなければならないが、マスクROMは製造工程で書込むために任意の場合に設定することができない。また、設定してから当該のマイクロコンピュータを入手するまでの時間が長い。これに対して、PROMは完成後(半導体基板上に形成された状態またはこれをパッケージに封止した状態)に設定できるので、設定してから当該マイクロコンピュータを入手するまでの時間が短く、種々の状況に対応し易い。
 次に、図11により、本実施例のマイクロコンピュータに内蔵されるPROM(不揮発性記憶装置)について説明する。
 なお、PROMは、電気的に書込み可能なEPROM(Electrically Programable Read Only Memory)、または、電気的に書込み消去が可能なEEPROM(Electrically Erasable and Programable Read Only Memory)またはフラッシュメモリとされる。
 PROMは、メモリアレイ、アドレスデコーダ(独立の制御回路)、出力回路からなる。メモリアレイは記憶情報を格納し、アドレスデコーダの指示に基づいて記憶情報を読み出し、出力回路を介して内部データバスに出力する。アドレスデコーダはCPUの出力するアドレス、アドレスをデコードしたROM選択信号、モード情報選択信号(専用の制御信号)に基づいてメモリアレイを選択する。出力回路は内部リード信号、モード情報リード信号(専用の制御信号)に基づいてPROMの記憶情報を内部データバスに出力する。
 PROMは、CPUのアドレス空間上に存在する部分と、アドレス空間上に存在しないモード情報部分が存在する。アドレス空間上に存在する部分は、ROM選択信号・内部リード信号がいずれも活性状態のとき、アドレスに基づくアドレスデコーダの指定に従ってリードされる。モード情報部分は、モード情報選択信号・モード情報リード信号が活性状態のとき、アドレスデコーダの指定に従ってリードされる。
 かかるPROMが、電気的に書込み消去が可能な場合、モード情報は消去を禁止するようにするとよい。モード情報を格納するPROM素子の、アドレスデコーダによって制御されるワード線あるいはソース線またはウェルを分離し、他のPROM素子と同時に消去されないようにする。たとえば、モード情報を格納するPROM素子を制御するアドレスデコーダは、消去用の高電圧を出力しないようにする。PROMの特定領域の消去を禁止する方法は、たとえば、特開昭63−303447号公報などに記載されている。
 次に、図12により、リセット例外処理の変形例のフローについて説明する。
 これは、図11のPROMに対応する。
 CPUがリセット例外処理を開始すると、前記図3,図10と相違して、ステップS2でモード情報選択信号・モード情報リード信号を活性状態にして、モード情報のリードを開始する。
 ステップS3でモード制御レジスタにラッチ信号を与えて、リードした内容をモード制御レジスタに格納させる。
 リードを要求し、ベクタ番号に基づき、ベクタアドレス生成器が生成したベクタアドレスをAバス経由でアドレスバッファに転送する。以下は前記同様である。
 ミニマムモードではステップS5A,ステップS8Aで、マキシマムモードではステップS5B〜ステップS8Bで、スタートアドレスをリードする。
 ステップS9以降でスタートアドレスから順次命令をリードする。ステップS12で命令レジスタの内容を命令デコーダに入力し、リセット例外処理は終了する。
 かかるモード情報のリードは、CPUによるものの他、モード制御回路がリードしてもよい。
 次に、図13により、モード制御回路に含まれるモード情報リード制御回路について説明する。
 内部リセット信号が直列に接続された4段のフリップフロップFF1,FF2,FF3,FF4で構成される。なお、内部リセット信号は、RES端子入力をφ1で同期化した信号とされる。
 モード情報選択信号は、FF4の出力と、内部リセット信号の反転との論理積信号とされる。従って、内部リセット信号が非活性状態になってから2ステートの期間、モード情報選択信号は活性状態になる。
 モード情報リード信号は、FF3の出力と、FF1の出力の反転との論理積信号とされる。従って、モード情報選択信号は、モード情報選択に対し、1/2ステート遅れて活性状態になり、1/2ステート早く非活性状態になる。
 MCRラッチ信号は、モード情報リード信号とφ1との論理積信号とされる。
 前記の通り、モード情報リード信号およびモード情報選択信号が活性状態になると、PROMからモード情報が読み出されモード制御レジスタにラッチされる。
 このとき、CPUのリセット例外処理動作は、図12のフローチャートに対し、ステップS2・ステップS3を待機状態にするようにすればよい。
 上記実施例によれば、以下の作用効果を得ることができる。
(1).モード端子による設定を、動作開始後の状態あるいはベクタのリード方法のみに限定することにより、モード端子の本数を最低限にし有効な端子を減少させることがない。
(2).リセット例外処理によって、ハードウェアによって読み込んだモード情報を自動的に設定することにより、ソフトウェアの負担を無くすことができる。ソフトウェアによる初期設定の時間を無くし、実際の動作を開始するまでの時間を短縮できる。
(3).モード情報を、ソフトウェアで書き換え不可能なレジスタに設定することにより、誤って書き換えてしまうことを防止できる。リードのみを可能にすることによりテストの容易化を実現できる。
(4).リセット状態での端子状態・ベクタリード時の端子機能をモード端子で設定することにより、外部にプルアップ抵抗などの回路を付加する必要がない。システムの小型化を実現できる。
(5).モード情報を、スタートアドレスのリードに先だってリードすることにより、スタートアドレスのビット数を2種類以上(ミニマムモード/マキシマムモード)有するものであっても、かかる選択を、モード端子によることなく、モード情報に含めて指定することができる。
(6).スタートアドレスのビット長が、単位データ長(バイトまたはワード)の整数倍ではない場合、整数倍に不足するビット数にモード情報を配置することによってメモリの利用効率を向上することができる。また、リセット例外処理動作のステップ数を増加させることがない。
(7).モード情報で、たとえば内蔵ROM容量などを指定し、これを製造者が指定することによって多種多様(ROM容量が異なるなど)のマイクロコンピュータを即座に提供することができる。専用のリード信号を用いたりして、かかるモード情報をアドレス空間に存在しないようにすることによって、ユーザにかかる内部的な情報を知らしめることがない。
 以上、本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は前記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
 たとえば、モード制御の対象は変更可能である。RAMや内部I/Oレジスタのアドレスを変更したりする信号を生成することができる。一部の機能ブロックの動作を禁止したり、変更したりする信号を生成することもできる。システムクロックを分周する機能を有するものにあっては、かかる分周比を指定する信号を生成することもできる。
 モード制御レジスタあるいはベクタの構成の詳細は種々変更が可能である。たとえば、モード制御レジスタはCPU内部に設けたり、システムコントローラ内部に設けリードサイクルのみで設定するほか、一旦、ベクタとしてCPUがリードした後、ライト動作を行って設定してもよい。この場合、リセット例外処理でのみライト可能にすれば都合がよい。ベクタは例外処理のベクタとは無関係のアドレスに設定してもよい。アドレス空間上の任意のアドレスでよい。但し、ROMのアドレスとすることができるようにすると都合がよい。プログラムの作成と同時に、モード情報を設定することができるためである。
 モード情報のビット数、ベクタのビット数が種々変更可能であることは言うまでもない。
 モード制御レジスタ・モード制御回路の具体的な回路構成も種々変更が可能である。シングルチップマイクロコンピュータのその他の機能ブロックについても何等制約されない。
 以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるシングルチップマイクロコンピュータに適用した場合について説明したが、それに限定されるものではなく、その他のデータ処理装置にも適用可能であり、本発明は少なくとも、複数の動作モードを選択して動作するデータ処理装置に適用することができる。
本発明の一実施例であるデータ処理装置の一例であるマイクロコンピュータを示すブロック図である。 本実施例におけるCPUの概略ブロック図である。 本実施例におけるマイクロコンピュータのリセット動作を示すフローチャートである。 本実施例における動作モードの一覧を示す説明図である。 本実施例におけるベクタの第1の例のアドレスマップを示す説明図である。 本実施例におけるベクタの第2の例のアドレスマップを示す説明図である。 本実施例におけるベクタの第3の例のアドレスマップを示す説明図である。 本実施例における動作モード制御回路の一例を示すブロック図である。 本実施例におけるモード制御レジスタの変形例を示すブロック図である。 本実施例におけるマイクロコンピュータのリセット動作の第1の変形例を示すフローチャートである。 本実施例に用いられるPROMのブロック図である。 本実施例におけるマイクロコンピュータのリセット動作の第2の変形例を示すフローチャートである。 本実施例におけるモード情報リード制御回路の一例を示すブロック図である。
符号の説明
 CPU 中央処理装置
 SYSC システムコントローラ(動作モード設定手段)
 INT 割込コントローラ
 ROM リードオンリメモリ
 RAM ランダムアクセスメモリ
 SCI シリアルコミュニケーションインタフェース
 IOP1〜8 入出力ポート
 CPG クロック発振器
 Vss グランドレベル端子
 Vcc 電源電圧レベル端子
 RES リセット端子
 STBY スタンバイ端子
 MD0〜2 モード端子(動作モード制御端子)
 EXTAL,XTAL クロック入力端子
 φ1,φ2 システムクロック
 IR 命令レジスタ
 CONT 命令デコーダ・制御回路
 DBW ライトデータバッファ
 DBR リードデータバッファ
 ALU 演算器
 R0〜7 汎用レジスタ
 PC プログラムカウンタ
 CCR コンディションコードレジスタ
 MCR モード制御レジスタ(レジスタ手段)
 VAG ベクタアドレス生成器
 MAB メモリアドレスバッファ
 CBF クロックドバッファ
 AND アンドゲート
PROM プログラマブルリードオンリメモリ(不揮発性記憶装置)
 FF1〜4 フリップフロップ

Claims (5)

  1.  複数の動作モードを持ち、動作モード制御端子と中央処理装置とを有するデータ処理装置であって、
     前記中央処理装置は動作開始後に動作モード情報を読み込み、前記動作モード情報と、前記動作モード制御端子との状態によって、前記動作モードが制御され、
     前記動作モード制御端子は、前記動作モード情報を読み込むために必要な端子の機能を指定することを特徴とするデータ処理装置。
  2.  請求項1記載のデータ処理装置であって、前記動作モードは、前記データ処理装置のアドレス空間、データバス幅、内蔵する記憶装置の容量、割込優先レベルの少なくとも1つの条件を選択的に切り替えることを特徴とするデータ処理装置。
  3.  請求項1または2記載のデータ処理装置であって、レジスタ手段を有し、前記動作モード情報を前記レジスタ手段に格納するものであって、前記レジスタ手段は、前記中央処理装置の命令による書き換えが禁止されていることを特徴とするデータ処理装置。
  4.  請求項3記載のデータ処理装置であって、テストモード設定手段を有し、前記テストモード設定手段がテストモードを指示したときに、前記レジスタ手段を読み込むことができることを特徴とするデータ処理装置。
  5.  複数の動作モードを持ち、動作モード制御端子と中央処理装置とを有するデータ処理装置であって、
     前記中央処理装置は動作開始後に動作モード情報を読み込み、前記動作モード情報と、前記動作モード制御端子との状態によって、前記データ処理装置のアドレス空間、データバス幅、内蔵する記憶装置の容量、割込優先レベルの少なくとも1つの条件を選択的に切り替える動作モードが制御され、
     前記動作モード制御端子は、前記動作モード情報を読み出すために必要な入出力ポートの端子機能を設定するための信号が入力されることを特徴とするデータ処理装置。

JP2003386521A 2003-11-17 2003-11-17 データ処理装置 Pending JP2004078996A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003386521A JP2004078996A (ja) 2003-11-17 2003-11-17 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003386521A JP2004078996A (ja) 2003-11-17 2003-11-17 データ処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP6199993A Division JPH0863445A (ja) 1994-08-25 1994-08-25 データ処理装置

Publications (1)

Publication Number Publication Date
JP2004078996A true JP2004078996A (ja) 2004-03-11

Family

ID=32025959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003386521A Pending JP2004078996A (ja) 2003-11-17 2003-11-17 データ処理装置

Country Status (1)

Country Link
JP (1) JP2004078996A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009049170A (ja) * 2007-08-20 2009-03-05 Renesas Technology Corp 半導体装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009049170A (ja) * 2007-08-20 2009-03-05 Renesas Technology Corp 半導体装置

Similar Documents

Publication Publication Date Title
US5617559A (en) Modular chip select control circuit and method for performing pipelined memory accesses
US4870562A (en) Microcomputer capable of accessing internal memory at a desired variable access time
KR100462951B1 (ko) Risc 구조를 갖는 8 비트 마이크로콘트롤러
JPH11353300A (ja) 半導体素子のためのプログラム可能ピンの指定
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
JPH09171488A (ja) 内部メモリへのアクセスを制限するマイクロコントローラ
US7680976B2 (en) Method and apparatus for emulating rewritable memory with non-rewritable memory in an MCU
US5664156A (en) Microcontroller with a reconfigurable program status word
JP2000194551A (ja) フラッシュメモリ書換え回路
JP3681590B2 (ja) データ処理装置及びデータ処理システム
JP2004078996A (ja) データ処理装置
JPH0863445A (ja) データ処理装置
JPH08106446A (ja) モジュール方式チップ選択制御回路および関連する回路および方法
JPWO2006003693A1 (ja) データプロセッサ
JPH07295922A (ja) データ処理装置及びこれを用いたデータ処理システム
JP3839068B2 (ja) 半導体集積回路装置
JP3866269B2 (ja) マイクロコンピュータ
JPS6362778B2 (ja)
JP3323341B2 (ja) エミュレーション用プロセッサおよびそれを搭載したエミュレータ
JPH1153338A (ja) 半導体集積回路およびその半導体集積回路における外部バスモード選択方法
US6269429B1 (en) Microcomputer which writer data to memory based on an interrupt control mode
JPH08137784A (ja) 情報処理装置
JP2002541582A (ja) エミュレータシステム内のユーザメモリを更新する方法およびシステム
JP4236808B2 (ja) 不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法
JP2004021422A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050906

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060117