トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 マイクロコンピュータ
【発明者】 【氏名】片居木 孝至

【氏名】金子 進

【氏名】徳永 浩二

【要約】 【課題】揮発性メモリにプログラムを常駐させた状態で通常動作モードから低消費電力モードへの遷移を可能とする。

【解決手段】CPU24において、命令フェッチユニット9によってフェッチされた命令が、通常動作モードから低消費電力モードへの遷移を指示する第1命令であるとき、第1命令の直後に命令フェッチ手段によってフェッチされた第2命令を第1命令よりも先に実行し、その後に第1命令を実行することで、揮発性メモリがセルフリフレッシュモードに遷移されたにもかかわらず、第1命令を実行することができ、揮発性メモリにプログラムを常駐させた状態で通常動作モードから低消費電力モードへの遷移が可能とされる。
【特許請求の範囲】
【請求項1】 通常動作モードと低消費電力モードとを備え、記憶情報保持のためのセルフリフレッシュモードを有する揮発性メモリに記憶されたプログラムを実行可能な中央処理装置を含むマイクロコンピュータであって、上記中央処理装置は、上記揮発性メモリから命令をフェッチする命令フェッチ手段と、上記命令フェッチ手段によってフェッチされた命令が、通常動作モードから低消費電力モードへの遷移を指示する第1命令であるとき、上記第1命令の直後に上記命令フェッチ手段によってフェッチされた第2命令を上記第1命令よりも先に実行し、その後に上記第1命令を実行する命令実行手段と、を含んで成ることを特徴とするマイクロコンピュータ。
【請求項2】 通常動作モードと低消費電力モードとを備え、記憶情報保持のためのセルフリフレッシュモードを有する揮発性メモリに記憶されたプログラムを実行可能な中央処理装置と、上記揮発性メモリのリフレッシュ動作の制御機能を有するバスステートコントローラとを含むマイクロコンピュータであって、上記中央処理装置は、上記揮発性メモリから命令をフェッチする命令フェッチ手段と、上記命令フェッチ手段によってフェッチされた命令が、通常動作モードから低消費電力モードへの遷移を指示する第1命令であるとき、上記第1命令の直後に上記命令フェッチ手段によってフェッチされた第2命令を上記第1命令よりも先に実行し、上記第2命令の実行によって、上記不揮発性メモリのリフレッシュモードを、上記バスステートコントローラの制御による通常動作リフレッシュモードからセルフリフレッシュモードに遷移させ、上記第2命令が実行された後に上記第1命令が実行されることによって、上記中央処理装置を低消費電力モードに遷移させるとともに、上記命令フェッチ手段によるその後の命令フェッチを禁止するための命令実行手段と、を含むことを特徴とするマイクロコンピュータ。
【請求項3】 上記揮発性メモリとの間のインタフェースを制御するための情報を記憶可能な記憶手段と、上記第1命令の実行により上記スタンバイモードへ遷移される前に、上記記憶手段の記憶情報を退避するための第1制御手段を含む請求項2記載のマイクロコンピュータ。
【請求項4】 上記中央処理装置は、低消費電力モードから通常動作モードへの遷移指示に応じて、上記揮発性メモリをセルフリフレッシュモードから、上記バスステートコントローラの制御による通常動作リフレッシュモードに遷移させるための第2制御手段を含む請求項2又は3記載のマイクロコンピュータ。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、マイクロコンピュータ、さらにはそれにおける低消費電力モードへ移行する際の内部動作の改良に関するものであり、例えば携帯情報機器に適用して有効な技術に関する。
【0002】
【従来の技術】マイクロコンピュータ応用機器において、システムの処理を続行する必要がない場合、CPU(中央処理装置)を外部割り込みが発生するまで休止状態にするスリープ命令を実行させることにより、システム処理を休止状態にする制御技術が採用されている。CPUを休止状態にする命令をサポートしているマイクロコンピュータなどにおいては、スリープ命令の実行後に、割り込みなどの外部イベントが発生するまで無限に待つという機能を備えている。
【0003】CPUの休止状態には、スリープモードとスタンバイモードを挙げることができる。スリープモードにおいてはCPUでの命令実行が停止されるだけで、CPUへの電源供給は絶たれていないが、スタンバイモードにおいてはCPUへの電源供給をも停止されるため、スタンバイモードは、低消費電力モードの一例とされる。CPUでスリープ(sleep)命令が実行されることによって、上記スリープモードやスタンバイモードへ遷移することができる。上記スリープモードとスタンバイモードとの区別は、所定のレジスタに設定されているスタンバイビットの論理状態によって決定される。例えばスタンバイビットが論理値“0”でスリープ命令が実行された場合には、CPUはスリープモードに遷移され、スタンバイビットが論理値“1”でスリープ命令が実行された場合には、CPUはスタンバイモードに遷移される。
【0004】尚、CPUのスリープモードについて記載された文献の例としては、CQ出版社から発行された「トランジスタ技術(1999年5月号第176頁から)」がある。
【0005】
【発明が解決しようとする課題】マイクロコンピュータ応用機器の一例として携帯情報機器を挙げることができる。そのような携帯用情報機器の設計及び開発においては、ハードウェア及びソフトウェアの評価期間を短縮するために、オペレーティングシステムや、アプリケーションソフトウェアなどを揮発性メモリ例えばSDRAM(シンクロナス・ランダム・アクセス・メモリ)へ常駐させ、このSDRAMに常駐されたオペレーティングシステムや、アプリケーションソフトウェアなどをCPUで実行することが考えられる。RAMなどの揮発性メモリは、ROM(リード・オンリ・メモリ)などの不揮発性メモリに比べると、記憶情報の高速読み出しが可能であるため、ROM(リード・オンリ・メモリ)などの不揮発性メモリからオペレーティングシステムや、アプリケーションソフトウェアなどをCPUでフェッチして実行するのに比べて、処理の高速化が可能となり、そのことが評価期間の短縮につながるからである。
【0006】しかしながら、携帯情報機器にとって必須の機能とされているスタンバイモードの評価においては、CPU及びSDRAMの制限によりプログラムをSDRAMへ常駐させることができないため、ROMをベースにプログラムを実行せねばならない。例えば、CPUがスタンバイモードに遷移する際、先ず、システム全体の消費電力を下げるためにSDRAMへのリフレッシュが停止され、次に、システムが必要とする情報を保持させるため、SDRAMがセルフリフレッシュモードに遷移される。SDRAMのセルフリフレッシュモードにおいては、SDRAMへのアクセスは不可能となる。このため、当該SDRAMがセルフリフレッシュモードに遷移された後は、正しいスリープ命令をSDRAMからフェッチすることができず、CPUをスタンバイモードに遷移することができない。また、仮にCPUをスタンバイモードに遷移できたとしても、このスタンバイモードから通常動作モードに遷移するのに必要なプログラムがSDRAMに格納されていることから、セルフリフレッシュモードに遷移されているSDRAMからの情報読み出しは不可能となり、それによってスタンバイモードから通常動作モードへの遷移は不可能とされる。
【0007】本発明の目的は、揮発性メモリにプログラムを常駐させた状態で通常動作モードから低消費電力モードへの遷移を可能とする技術を提供することにある。
【0008】また、本発明の別の目的は、揮発性メモリにプログラムを常駐させた状態で低消費電力モードから通常動作モードへの遷移を可能とする技術を提供することにある。
【0009】本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【0010】
【課題を解決するための手段】本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0011】すなわち、通常動作モードと低消費電力モードとを備え、記憶情報保持のためのセルフリフレッシュモードを有する揮発性メモリに記憶されたプログラムを実行可能な中央処理装置を含んでマイクロコンピュータが構成されるとき、上記中央処理装置には、上記揮発性メモリから命令をフェッチする命令フェッチ手段と、上記命令フェッチ手段によってフェッチされた命令が、通常動作モードから低消費電力モードへの遷移を指示する第1命令であるとき、上記第1命令の直後に上記命令フェッチ手段によってフェッチされた第2命令を上記第1命令よりも先に実行し、その後に上記第1命令を実行する命令実行手段とを設ける。
【0012】上記手段によれば、命令実行手段は、上記命令フェッチ手段によってフェッチされた命令が、通常動作モードから低消費電力モードへの遷移を指示する第1命令であるとき、上記第1命令の直後に上記命令フェッチ手段によってフェッチされた第2命令を上記第1命令よりも先に実行し、その後に上記第1命令を実行する。プログラミングにおいて上記第2命令は、上記揮発性メモリをセルフリフレッシュモードに遷移させるための命令とすることができ、その場合において、上記揮発性メモリがセルフリフレッシュモードに遷移されたにもかかわらず、上記第1命令を実行することができ、このことが、揮発性メモリにプログラムを常駐させた状態で通常動作モードから低消費電力モードへの遷移を可能とする。
【0013】また、通常動作モードと低消費電力モードとを備え、記憶情報保持のためのセルフリフレッシュモードを有する揮発性メモリに記憶されたプログラムを実行可能な中央処理装置と、上記揮発性メモリのリフレッシュ動作の制御機能を有するバスステートコントローラとを含んでマイクロコンピュータが構成されるとき、上記中央処理装置には、上記揮発性メモリから命令をフェッチする命令フェッチ手段と、上記命令フェッチ手段によってフェッチされた命令が、通常動作モードから低消費電力モードへの遷移を指示する第1命令であるとき、上記第1命令の直後に上記命令フェッチ手段によってフェッチされた第2命令を上記第1命令よりも先に実行し、上記第2命令の実行によって、上記不揮発性メモリのリフレッシュモードを、上記バスステートコントローラの制御による通常動作リフレッシュモードからセルフリフレッシュモードに遷移させ、上記第2命令が実行された後に上記第1命令が実行されることによって、上記中央処理装置を低消費電力モードに遷移させるとともに、上記命令フェッチ手段によるその後の命令フェッチを禁止するための命令実行手段とを設ける。
【0014】上記手段によれば、命令実行手段は、上記命令フェッチ手段によってフェッチされた命令が、通常動作モードから低消費電力モードへの遷移を指示する第1命令であるとき、上記第1命令の直後に上記命令フェッチ手段によってフェッチされた第2命令を上記第1命令よりも先に実行し、その後に上記第1命令を実行する。プログラミングにおいて上記第2命令は、上記揮発性メモリをセルフリフレッシュモードに遷移させるための命令とすることができ、その場合において、上記揮発性メモリがセルフリフレッシュモードに遷移されたにもかかわらず、上記第1命令を実行することができ、このことが、揮発性メモリにプログラムを常駐させた状態で通常動作モードから低消費電力モードへの遷移を可能とする。
【0015】このとき、上記揮発性メモリとの間のインタフェースを制御するための情報を記憶可能な記憶手段と、上記第1命令の実行により上記スタンバイモードへ遷移される前に、上記記憶手段の記憶情報を退避するための第1制御手段を設けることができる。
【0016】また、上記中央処理装置には、低消費電力モードから通常動作モードへの遷移指示に応じて、上記揮発性メモリをセルフリフレッシュモードから、上記バスステートコントローラの制御による通常動作リフレッシュモードに遷移させるための第2制御手段を設けることができる。このとき第2制御手段によって、上記揮発性メモリをセルフリフレッシュモードから、上記バスステートコントローラの制御による通常動作リフレッシュモードに遷移されるため、揮発性メモリにプログラムを常駐させた状態で低消費電力モードから通常動作モードへの遷移が可能とされる。
【0017】
【発明の実施の形態】図7には、本発明にかかるマイクロコンピュータが適用された携帯用情報機器が示される。
【0018】この携帯用情報機器70は、外部バスBUSを介して、マイクロコンピュータ31、SDRAM(シンクロナス・ダイナミック・ランダム・アクセス・メモリ)32、SRAM(スタティック・ランダム・アクセス・メモリ)33、ROM(リード・オンリ・メモリ)34、周辺装置制御部35、表示制御部36などが、互いに信号のやり取りが可能に結合され、予め定められたプログラムに従って所定のデータ処理を行う。上記マイクロコンピュータ31は、本システムの論理的中核とされ、主として、アドレス指定、情報の読出しと書込み、データの演算、命令のシーケンス、割り込みの受付け、記憶装置と入出力装置との情報交換の起動等の機能を有し、演算制御系や、バス制御系、メモリアクセス制御系などから構成される。上記SDRAM32や、SRAM33、及びROM34は内部記憶装置として位置付けられている。ROM34にはCPU30での計算や制御に必要なプログラムが格納される。また、SRAM33は、リード・ライト動作の高速性を活かしてメインメモリやキャッシュメモリなどとして利用される。周辺装置制御部35によって、記憶装置38の動作制御や、キーボード39などからの情報入力制御が行われ、さらに、表示制御部36の制御によって、液晶ディスプレイ40への情報表示が行われる。記憶装置38は、特に制限されないが、不揮発性メモリの一例とされるフラッシュメモリを記憶媒体として含んで成る。
【0019】上記構成の携帯用情報機器70の設計及び開発において、ハードウェアやソフトウェアの評価期間の短縮化を図るため、オペレーティングシステムやアプリケーションソフトなどは、SDRAM32に常駐される。すなわち、オペレーティングシステムやアプリケーションソフトなどがROM34あるいは記憶装置38に記憶されている場合において、このオペレーティングシステムやアプリケーションソフトなどがROM34あるいは記憶装置38から、高速動作可能なSDRAM32に転送され、このSDRAM32におけるオペレーティングシステムやアプリケーションソフトなどがマイクロコンピュータ31によってフェッチされて実行される。また、この携帯用情報機器70においては、低消費電力モード(スタンバイモード)の評価も、オペレーティングシステムやアプリケーションソフトなどが、SDRAM32に常駐された状態で行われる。オペレーティングシステムやアプリケーションソフトなどが、SDRAM32に常駐された状態で、低消費電力モードの評価を行うことができのは、後述するところの、CPUの低消費電力モードに関する命令セットが使用されることによる。
【0020】図8には上記SDRAM32の構成例が示される。
【0021】SDRAM32は、特に制限されないが、公知の半導体集積回路製造技術により、単結晶シリコン等の一つの半導体基板に形成される。
【0022】メモリセルアレイ50は、ダイナミック型メモリセルをアレイ状に配列して成る複数のメモリマットを有する。外部からアドレスがロウアドレスバッファ51を介してロウアドレスデコーダ52に伝達され、そこでデコードされることによって、メモリセルアレイ50のワード線を選択的に駆動するための信号が生成されるようになっている。また、外部から取込まれたアドレスの一部が、カラムアドレスバッファ53を介してカラムアドレスカウンタ54に入力される。このカラムアドレスカウンタ54は、入力アドレスを初期アドレスとしてそれに続くカラムアドレスを歩進動作によって生成する。生成されたカラムアドレスは、カラムアドレスデコーダ54に伝達される。このカラムアドレスデコーダ54は、入力アドレスをデコードすることによって、センスアンプ及びカラム選択回路56におけるカラム選択系の動作信号を生成する。センスアンプ及びカラム選択回路56は、メモリセルアレイ50のメモリセルに結合されたデータ線の微弱な電位差(メモリセルデータ)を増幅するためのセンスアンプや、コモンI/O線(I/Oバスとも称される)を、上記カラムアドレスデコーダ55からの制御信号に基づいて選択的にデータ線に結合するためのカラム選択系などが含まれる。
【0023】センスアンプで増幅されたメモリセルデータは、入出力バッファ57を介して外部出力される。また、外部からの書込みデータは、入出力バッファ57を介してコモンI/O線に伝達され、上記のようにカラムアドレスに基づいて選択されたデータ線を介して、対応するメモリセルに書込まれる。
【0024】コントローラ58は、基本クロックCLK、クロックイネーブルCLE、チップセレクト信号CS*(*はローアクティブ又は信号反転を意味する)、ロウアドレスストローブ信号RAS*、カラムアドレスストローブ信号CAS*、ライトイネーブル信号WE*など、外部から入力される各種信号に基づいて、SDRAM32における各部の動作制御信号を生成する。特に、このSDRAM32の動作モードは、チップセレクト信号CS*、ロウアドレスストローブ信号RAS*、ライトイネーブル信号WE*の論理状態の組合せにによって決定される。ここで、クロックイネーブルCKEがアサートされた状態で、クロックCLKの取込みが有効とされ、クロックCLKの取込みが有効とされる場合に、各部がクロックCLKに同期動作される。従って、クロックイネーブルCKEがネゲートされた状態では、クロックCLKが有効とされないから、同期動作が行われない。つまり低消費電力モードとされる。この実施例では、CPU24における低消費電力モードについての割り込み処理によって、上記クロックイネーブルCLKがネゲートされることによって、SDRAM32が低消費電力モードに移行されるようになっている。SDRAM32の低消費電力モードにおいては、外部からのメモリアクセスは不可能とされる。また、この低消費電力モードにおいては、記憶情報の保持のためのセルフリフレッシュが行われる。このような意味で、上記低消費電力モードはセルフリフレッシュモードとも称される。セルフリフレッシュにおいては、チップ内に設けられたタイマ機能により、待機状態が所定時間続いた場合に自動的にリフレッシュ動作が行われることで記憶情報の喪失が阻止される。
【0025】図1には上記マイクロコンピュータ31の構成例が示される。
【0026】図1に示されるように、マイクロコンピュータ31は、特に制限されないが、バス制御のためのバスコントローラ21、割り込み制御のための割り込みコントローラ23、演算処理のためのCPU(中央処理装置)24、時間計測のためのタイマ25、そして、CPU24で実行されるマイクロプログラムが格納された内蔵ROM26、CPU24での演算処理のための作業領域などとして使用される内蔵RAM27、内蔵周辺モジュール28が設けられ、それらが信号のやり取り可能に内部バス22によって結合されている。内部バス22は、アドレス信号を伝達するためのアドレスバス、データを伝達するためのデータバス、及びコントロール信号を伝達するためのコントロールバスを含む。上記周辺回路には、ユーザブレークコントローラ、ダイレクトメモリアクセスコントローラ、シリアルコミュニケーションインタフェース、シリアルインタフェース、及びユーザデバッグインタフェース、などが含まれる。バスコントローラ21は、この内部バス22とシステムバスBUSとに結合され、信号伝達のためのバス制御を行う。
【0027】図5には上記CPU25の構成例が示される。
【0028】CPU24は、特に制限されないが、命令フェッチユニット9、命令レジスタ10A,10B、命令デコーダ11、ディジタル信号処理のためのDSPユニット12、整数演算のための整数ユニット13、演算制御のための制御レジスタ14、DSP命令のオペランドとしてDSPデータの転送やデータ処理に使用されるDSPレジスタ15、データ処理やアドレス計算に使用される汎用レジスタ16、積和レジスタやプログラムカウンタなどを含むシステムレジスタ17を含んで成る。
【0029】命令フェッチユニット9は、SDRAM32から命令をフェッチする。フェッチされた命令は命令レジスタ10Aを介して命令デコーダ11に伝達されてデコードされる。命令フェッチユニット9によって、CPUの動作モードからスタンバイモードへの遷移を指定するスリープ命令がフェッチされた場合において、スタンバイビットが論理値“1”に設定されている場合には、このスリープ命令は、命令レジスタ10Aに保持されるが、そのスリープ命令は遅延命令として取り扱われ、直ぐにはデコードされない。そして命令フェッチユニット9によって次にフェッチされた命令が命令レジスタ10Bに保持され、それが命令デコーダ11によってデコードされ、そのデコード結果がDSPユニット12や整数演算ユニット13に供給されることで、命令が実行される。その後、上記命令レジスタ10Aに保持されているスリープ命令が命令デコーダ11でデコードされ、そのデコード結果がDSPユニット12や整数演算ユニット13に供給されることで、命令が実行される。
【0030】尚、スタンバイビットが論理値“0”に設定されている場合、スリープ命令の実行によってスリープモードに遷移されるが、この場合には、CPU24での命令実行が停止されるだけで、CPU24への電源供給は絶たれていないため、スリープ命令は、遅延命令ではなく、メモリ制御命令や周辺デバイス制御命令と同様に、フェッチされた順に実行される。
【0031】DSPユニット12及び整数ユニット13は、フェッチ及びデコードユニット11からのデコード結果に基づいて演算処理を行う。マイクロコンピュータ31は、バスを通じて外部空間を含むアドレス空間のどの領域に対してもアクセスすることができる。整数ユニット13は、バスを介して命令とデータ転送する。
【0032】ここで、上記DSPユニットや整数演算ユニット13が、本発明における命令実行手段の一例とされる。
【0033】図6には上記バスステートコントローラ21の構成例が示される。
【0034】バスステートコントローラ21は、内部バスと外部バスとの間のバスステートの制御の他に、広範囲なメモリタイプについてのインタフェースを提供する。バスステートコントローラ21の内部アドレス空間には、内蔵ROM26や内蔵RAM27、内蔵周辺モジュール28が配置される。バスステートコントローラ21の外部アドレス空間には、外部に接続されるデバイス(SDRAM、SRAM、ROMなど)が配置される。また、リフレッシュ機能を有し、SDRAM32の通常動作リフレッシュとセルフリフレッシュをサポートする。上記通常動作リフレッシュは、ロウアドレスストローブ信号RASよりも先にカラムアドレスストローブ信号CASをアサートすることによってリフレッシュを指示するCASビフォRASリフレッシュとされる。
【0035】図6に示されるようにバスステートコントローラ21は、特に制限されないが、外部バスBUSとのインタフェースをとるためのバスインタフェース211、バスサイクルにおけるウェイト制御のためのウェイト制御部212、アドレス空間におけるエリア制御のためのエリア制御部213、メモリ制御のためのメモリ制御部214、内部バス22とのインタフェースをとるための内部バスインタフェース215、及び各種レジスタが含まれる。上記各種レジスタ215には、ウェイトコントロールのためのウェイトコントロールレジスタWCR、バスコントロールのためのバスコントロールレジスタBCR、個別メモリコントロールのための個別メモリコントロールレジスタMCR、さらにはリフレッシュコントロールのためのリフレッシュタイマカウンタRTCNT、リフレッシュタイムコンスタントレジスタRTCOR、リフレッシュタイマコントロール/ステータスレジスタRTCSRが含まれる。
【0036】ここで、個別メモリコントロールレジスタMCRにおける所定ビットの論理値によってリフレッシュ動作を実行するか否か、さらには通常動作リフレッシュやセルフリフレッシュのモード指定が可能とされる。例えばビット3がモード指定ビットとされるとき、このモード指定ビットが論理値“0”の場合には、通常動作リフレッシュが指定され、モード指定ビットが論理値“1”の場合には、セルフリフレッシュが指定されるように設定することができる。上記モード指定ビットは、CPU24によって設定することができる。
【0037】尚、CMPは、リフレッシュタイマカウンタRTCNTの値とリフレッシュタイムコンスタントレジスタRTCORの値とが一致したか否かを判別し、その判別結果をメモリ制御部214に供給するために設けられる。
【0038】図2には、上記CPU24の低消費電力モード(スタンバイモード)に関する命令セットについての機能仕様が示される。
【0039】図2に示されるように上記CPU24の低消費電力モードに関する命令セットは、CPU24がスタンバイモードに遷移するスリープ命令が遅延命令として取り扱われ、このスリープ命令はCPU24において遅延実行される。すなわち、フェッチされた命令が、通常動作モードから低消費電力モードへの遷移を指示するスリープ命令であるとき、このスリープ命令の直後にフェッチされた命令を上記スリープ命令よりも先に実行し、その後に上記スリープ命令が実行される。また、スリープ命令が実行されることによってCPU24はスタンバイモードに遷移されるが、CPU24がこのスタンバイモードから解除されない限り、命令フェッチは行われない。さらに、CPU24がスタンバイモードから通常動作モードに遷移する際には、予め指定された値を、汎用レジスタ16などの予め指定されたアドレスに書き込まれる。このとき汎用レジスタ16に書き込まれた情報は、CPU24がスタンバイモードから通常動作モードに遷移する際にバスステートコントローラ21における所定レジスタ例えば個別メモリコントロールレジスタMCRに書き込まれるようになっている。本例においては、上記汎用レジスタ16に書き込まれている情報は論理値“0”であり、CPU24に対する割り込みが割り込みコントローラ23によって受け付けられることでCPU24がスタンバイモードから通常動作モードに遷移される場合には、先ず、個別メモリコントロールレジスタMCRにおけるビット3が上記汎用レジスタの情報によって論理値“0”にセットされる。これにより、SDRAM32が通常リフレッシュモードに遷移される。
【0040】図3には、CPU24が通常動作モードからスタンバイモードに遷移する場合の流れが示される。
【0041】CPU24は、基本的にはSDRAM32から命令をフェッチすると、その命令をフェッチ順に実行する。例えばマイクロコンピュータ31の外部に配置されている周辺デバイスへの制御命令32AがCPU24によってフェッチされた場合に、CPU24においてこの制御命令32Aが実行されることによって、上記周辺デバイスが制御される。そして、スリープ命令32Bがフェッチされた場合には、CPU24ではこの命令が遅延命令として取り扱われるため、このスリープ命令32Bの実行の前に、上記スリープ命令32Bの直後にフェッチされたメモリ制御命令32Cがフェッチされてそれが実行される。このメモリ制御命令の実行において、先ず、バスステートコントローラ21における各種レジスタの保持情報がSDRAM32に退避され、その後に、SDRAM32がセルフリフレッシュモードに遷移される。そして上記メモリ制御命令32Cが実行された後に、上記スリープ命令32Bが実行されることによってCPU24がスタンバイモードに遷移される。尚、このとき、スタンバイビットは論理値“1”にセットされているものとする。ここで、スリープ命令32Bは、上記メモリ制御命令32Cの前に既にCPU24にフェッチされているため、上記メモリ制御命令32Cの実行によりSDRAM32がセルフリフレッシュモードに遷移されたにもかかわらず、スリープ命令32Bの実行が可能とされる。
【0042】そして、上記スリープ命令32Bが実行された後は、上記メモリ制御命令32Cの次の命令例えば周辺デバイスへの制御命令32Dのフェッチは禁止される。
【0043】このように、スリープ命令32Bがフェッチされた場合には、CPU24ではこの命令が遅延命令として取り扱われ、このスリープ命令32Bの実行の前に、上記スリープ命令32Bの直後にフェッチされたメモリ制御命令32Cがフェッチされてそれが実行されることから、上記メモリ制御命令32Cの実行によりSDRAM32がセルフリフレッシュモードに遷移されたにもかかわらず、スリープ命令32Bの実行が可能とされる。
【0044】図4には、CPU24がスタンバイモードから通常動作モードへ遷移する場合の流れが示される。
【0045】例えば割り込みによってCPU24がスタンバイモードから通常動作モードへの遷移が指示された場合には、先ず、CPU24はSDRAM24をセルフリフレッシュモードから通常動作リフレッシュモードへ変更される。このモード変更は、上述したように、予め汎用レジスタ16に設定されている情報に基づいてバスステートコントローラ21における個別メモリコントロールレジスタMCRにおけるビット3が論理値“1”にセットされることにより可能とされる。これにより、SDRAM32は、セルフリフレッシュモードから通常リフレッシュモードへ遷移され、CPU24からのアクセスが可能とされる。通常動作リフレッシュモードに遷移された後は、バスステートコントローラ21におけるその他のレジスタの状態が、SDRAM32に退避されているレジスタ情報に従って再設定される。次に、CPU24によって周辺デバイス制御命令32E、メモリ制御命令32F、周辺デバイス制御命令32Gが順にフェッチされ、それぞれCPU24で実行される。
【0046】上記の例によれば、以下の作用効果を得ることができる。
【0047】(1)スリープ命令32Bがフェッチされた場合に、CPU24においてこの命令が遅延命令として取り扱われ、このスリープ命令32Bの実行の前に、上記スリープ命令32Bの直後にフェッチされたメモリ制御命令32Cがフェッチされてそれが実行される。このメモリ制御命令の実行において、先ず、バスステートコントローラ21における各種レジスタの保持情報がSDRAM32に退避され、その後に、SDRAM32がセルフリフレッシュモードに遷移される。そして上記メモリ制御命令32Cが実行された後に、上記スリープ命令32Bが実行されることによってCPU24がスタンバイモードに遷移される。このようにSDRAM32がセルフリフレッシュモードに遷移されたにもかかわらず、上記スリープ命令32Bが実行されることによってCPU24をスタンバイモードに遷移させることができる。
【0048】(2)予め汎用レジスタ16に設定されている情報に基づいてバスステートコントローラ21における個別メモリコントロールレジスタMCRにおけるビット3が論理値“1”にセットされることによりSDRAM24がセルフリフレッシュモードから通常動作リフレッシュモードへ変更される。これにより、CPU24からのアクセスが可能とされる。
【0049】(3)上記(1),(2)の作用効果により、揮発性メモリにプログラムを常駐させた状態でハードウェア及びソフトウェアの評価を行うことができるため、処理の高速化により、評価期間の短縮を図ることができる。
【0050】以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0051】例えば、CPU24がスタンバイモードから通常動作モードへ遷移する場合において、ハードウェアによって、バスステートコントローラ21における個別メモリコントロールレジスタMCRにおけるビット3を論理値“1”にセットするようにしてもよい。
【0052】以上の説明では主として本発明者によってなされた発明をその背景となった利用分野である携帯情報機器に適用した場合について説明したが、本発明はそれに限定されるものではなく、各種データ処理装置に広く適用することができる。
【0053】本発明は、少なくとも中央処理装置を含むことを条件に適用することができる。
【0054】
【発明の効果】本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【0055】すなわち、命令フェッチ手段によってフェッチされた命令が、通常動作モードから低消費電力モードへの遷移を指示する第1命令であるとき、第1命令の直後に命令フェッチ手段によってフェッチされた第2命令を第1命令よりも先に実行され、その後に第1命令が実行されるため、プログラミングにおいて第2命令は、揮発性メモリをセルフリフレッシュモードに遷移させるための命令とすることにより、揮発性メモリがセルフリフレッシュモードに遷移されたにもかかわらず、第1命令を実行することができるため、揮発性メモリにプログラムを常駐させた状態で通常動作モードから低消費電力モードへの遷移が可能とされる。
【0056】また、低消費電力モードから通常動作モードへの遷移指示に応じて、上記揮発性メモリをセルフリフレッシュモードから、上記バスステートコントローラの制御による通常動作リフレッシュモードに遷移させるための第2制御手段を設けることにより、上記揮発性メモリをセルフリフレッシュモードから、上記バスステートコントローラの制御による通常動作リフレッシュモードに遷移されるため、揮発性メモリにプログラムを常駐させた状態で低消費電力モードから通常動作モードへ遷移させることができる。
【出願人】 【識別番号】000005108
【氏名又は名称】株式会社日立製作所
【出願日】 平成13年5月22日(2001.5.22)
【代理人】 【識別番号】100089071
【弁理士】
【氏名又は名称】玉村 静世
【公開番号】 特開2002−341980(P2002−341980A)
【公開日】 平成14年11月29日(2002.11.29)
【出願番号】 特願2001−152095(P2001−152095)