以下では、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。ただし、図面は模式的なものであり、現実のものとは異なることに留意すべきである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることはもちろんである。
また、以下に示す実施の形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、各構成部品の配置などを下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
[第1の実施の形態]
本発明の第1の実施の形態に係るデータ制御装置12の原理的ブロック構成は、図1に示すように、一次側電源電圧VDD1が供給される一次側電源線VDL1と、二次側電源電圧VDD2が供給される二次側電源線VDL2と、一次側電源線VDL1と二次側電源線VDL2との間に配置され、一次側電源電圧VDD1を二次側電源電圧VDD2に変換する電源電圧変換部14と、一次側電源線VDL1と二次側電源線VDL2との間に配置される検出・制御部15とを備える。図1に示すように、二次側電源線VDL2に接続される制御対象回路10は、検出・制御部15を介して、一次側電源線VDL1にも接続されている。
ここで、一次側電源電圧VDD1と、二次側電源電圧VDD2からなる二系統の電源を使用するデータ制御装置12の場合、二次側電源電圧VDD2の系統の電源を使用する制御対象回路10は、二次側電源電圧VDD2±10%VDD2の範囲内で動作可能であると仮定する。
図1に示すデータ制御装置12の動作は、図2に示すように表される。
(a)図2において、電源OFF以前は、一次側電源線VDL1および二次側電源線VDL2には、それぞれ一次側電源電圧VDD1、二次側電源電圧VDD2(VDD2<VDD1)が供給されている。
(b)次に、一次側電源線VDL1に供給される一次側電源電圧VDD1が、VDD1検出電圧レベルVLV1レベル(90%VDD1)と比較して電源遮断(電源OFF)を検知することで、一次側電源電圧VDD1が、電源OFFと見なされる。一次側電源線VDL1に供給される一次側電源電圧VDD1は、図2に示すように、所定の時定数で電圧降下する。一方、二次側電源線VDL2に供給される二次側電源電圧VDD2は、一定状態が保持された後、所定の時定数で電圧降下する。
(c)次に、二次側電源線VDL2に供給される二次側電源電圧VDD2が、VDD2検出電圧レベルVLV2(90%VDD2)と比較して電源遮断(電源OFF)を検知することで、二次側電源電圧VDD2が、電源OFFと見なされ、制御対象回路10は動作不可能状態となる。
一次側電源電圧VDD1がVDD1検出電圧レベルVLV1となり、一次側電源電圧VDD1が電源OFFと見なされる時点から、二次側電源電圧VDD2がVDD2検出電圧レベルVLV2となり、制御対象回路10が動作不可能となる時点までの期間が、電源遮断検知後の制御対象回路10のデータ退避/復帰等のバックアップの処理可能期間TW1である。
本発明の第1の実施の形態に係るデータ制御装置によれば、二次側電源電圧VDD2より供給電圧が高い別系統の一次側電源電圧VDD1(VDD2<VDD1)を監視し、一次側電源電圧VDD1がVDD1検出電圧レベルVLV1と比較して電源遮断(電源OFF)を検知することで、二次側電源線VDL2の二次側電源電圧VDD2が下降する前に電源遮断を検出することが可能となる。したがって、電源遮断検知後の制御対象回路10の処理可能期間TW1を広く設定することができる。
一方、本発明の第1の実施の形態の比較例に係るデータ制御装置の模式的ブロック構成は、図3に示すように、一次側電源電圧VDD1が供給される一次側電源線VDL1と、二次側電源電圧VDD2が供給される二次側電源線VDL2と、一次側電源線VDL1と二次側電源線VDL2との間に配置され、一次側電源電圧VDD1を二次側電源電圧VDD2に変換する電圧変換器4とを備える。図3に示すように、二次側電源線VDL2に接続される制御対象回路3は、一次側電源線VDL1には接続されていない。
図3に示すデータ制御装置の動作は、図4に示すように表される。
(a)図3において、電源OFF以前は、二次側電源線VDL2には、二次側電源電圧VDD2が供給されている。同様に、一次側電源線VDL1には、一次側電源電圧VDD1が供給されている。
(b)次に、二次側電源線VDL2に供給される二次側電源電圧VDD2が、VDD2検出電圧レベルVLV2レベル(95%VDD2)と比較して電源遮断(電源OFF)を検知することで、二次側電源電圧VDD2が、電源OFFと見なされる。二次側電源線VDL2に供給される二次側電源電圧VDD2は、図4に示すように、所定の時定数で電圧降下する。
(c)次に、二次側電源線VDL2に供給される二次側電源電圧VDD2が、VDD2検出電圧レベルVLV2(90%VDD2)と比較して電源遮断を検知することで、制御対象回路3は、動作不可能となる。
二次側電源電圧VDD2がVDD2検出電圧レベルVLV2(95%VDD2)となって、電源OFFと見なされる時点から、VDD2検出電圧レベルVLV2(90%VDD2)となり、制御対象回路3が、動作不可能となる時点までの期間が、電源遮断検知後の制御対象回路3のデータ退避/復帰等のバックアップの処理可能期間TW2である。
比較例に係るデータ制御装置の動作は、図4に示すように、制御対象回路3が接続される二次側電源線VDL2の二次側電源電圧VDD2のみを監視して電源遮断を検知する。すなわち、二次側電源電圧VDD2が下降してから電源遮断を検知するため、電源遮断検知後の処理可能時間TW2が短い。
別系統の一次側電源電圧VDD1の電圧レベルを監視して電源遮断を検知する場合、二次側電源電圧VDD2を監視して電源遮断を検知する場合と比較して、検知する電圧レベルを低く設定することができる。
別系統の一次側電源電圧VDD1を監視する場合、上述のように、一次側電源電圧VDD1が、VDD1検出電圧レベルVLV1レベル(90%VDD1)と比較して電源遮断(電源OFF)を検知することで、一次側電源電圧VDD1が、電源OFFと見なされことから、検知レベルが通常動作電圧(VDD1)の90%である。
これに対して、二次側電源線VDL2の二次側電源電圧VDD2を監視する場合、図4に示すように、検知レベルが通常動作電圧(VDD2)の95%である。
したがって、本発明の第1の実施の形態に係るデータ制御装置の方が、比較例に比べて電源の揺らぎを吸収できる確率も高くなる。
(詳細ブロック構成)
本発明の第1の実施の形態に係るデータ制御装置12は、図5に詳細な模式的ブロック構成を示すように、一次側電源電圧VDD1が供給される一次側電源線VDL1と、二次側電源電圧VDD2が供給される二次側電源線VDL2と、一次側電源線VDL1と二次側電源線VDL2との間に配置され,一次側電源電圧VDD1を二次側電源電圧VDD2に変換する電圧変換部14と、一次側電源線VDL1に接続され,電圧レベル検知信号VDTを出力する電圧レベル検出部18と、二次側電源線VDL2に接続され,リセット信号RSTnを出力するリセット信号発生部16と、電圧レベル検出部18より電圧レベル検知信号VDT,リセット信号発生部16よりリセット信号RSTnを受信して、制御信号CLSを出力する制御信号発生部20とを備える。
二次側電源線VDL2には、図5に示すように、制御対象回路10が接続され、データ制御装置12内のリセット信号発生部16よりリセット信号RSTn、制御信号発生部20より制御信号CLSを受信している。
また、図5において、キャパシタC1、C2は、それぞれ一次側電源線VDL1、二次側電源線VDL2の有する寄生キャパシタである。
(動作タイミングチャート)
図6は、図5に示すデータ制御装置の動作例を示す。図6においては、一次側電源電圧VDD1および二次側電源電圧VDD2の電源変動波形が示され、さらに、これらの電源変動波形に対応して、リセット信号RSTn、電圧レベル検出信号VDTおよび制御信号CLSの動作波形がそれぞれ示されている。
(a)まず、時刻t0〜時刻t1の期間においては、電源はオフ状態にある。負論理のリセット信号RSTnはオン状態、電圧レベル検出信号VDTはオフ状態、制御信号CLSは待機状態にある。
(b)次に、時刻t1において、電源をオンにする。
(c)次に、時刻t1〜時刻t2の期間においては、一次側電源電圧VDD1および二次側電源電圧VDD2の動作波形は上昇し、二次側電源電圧VDD2の値がリセット電圧レベルVRSTに到達すると、リセット信号RSTnがオフ状態になる。
(d)次に、時刻t2において、一次側電源電圧VDD1の値がVDD1検知電圧レベルVLV1に到達すると、電圧レベル検出信号VDTはオン状態になる。
(e)次に、時刻t2〜時刻t3の期間においては、一次側電源電圧VDD1および二次側電源電圧VDD2ともにオン状態が保持される。時刻t2の直後において、制御信号CLSは待機状態からオン状態となり、制御信号発生部20から制御対象回路10に対して制御信号CLSが出力される。その後、待機状態が保持される。
(f)次に、時刻t3〜t4の期間において、一次側電源電圧VDD1の値がVDD1検知電圧レベルVLV1よりも低くなり、二次側電源電圧VDD2の値も低下し、かつリセット電圧レベルVRSTよりも高い場合には、リセット信号RSTnはオフ状態を保持するが、電圧レベル検出信号VDTはオフ状態となる。制御信号CLSは、待機状態が保持される。
(g)次に、時刻t4〜t5の期間において、一次側電源電圧VDD1の値がVDD1検知電圧レベルVLV1よりも高くなり、かつ二次側電源電圧VDD2の値も上昇し、リセット電圧レベルVRSTよりも高い場合には、リセット信号RSTnはオフ状態を保持するが、電圧レベル検出信号VDTはオン状態となる。制御信号CLSは、待機状態が保持される。
(h)次に、時刻t5〜t6の期間において、一次側電源電圧VDD1の値がVDD1検知電圧レベルVLV1よりも低くなると、電圧レベル検出信号VDTはオフ状態となる。制御信号CLSはオン状態となり、制御信号発生部20から制御対象回路10に対して、制御信号CLSが出力される。その後、待機状態が保持される。
さらに一次側電源電圧VDD1の値が低下して、二次側電源電圧VDD2の値がリセット電圧レベルVRSTよりも低くなる場合には、リセット信号RSTnはオン状態となる。
さらに、一次側電源電圧VDD1が上昇して、二次側電源電圧VDD2の値がリセット電圧レベルVRSTよりも高くなる場合には、リセット信号RSTnはオフ状態となる。
さらに、一次側電源電圧VDD1が上昇して、VDD1検知電圧レベルVLV1よりも高くなる場合には、リセット信号RSTnはオフ状態が保持され、電圧レベル検出信号VDTはオン状態になる。
(i)次に、時刻t6〜時刻t7の期間においては、一次側電源電圧VDD1および二次側電源電圧VDD2ともにオン状態が保持される。時刻t6の直後において、制御信号CLSは待機状態からオン状態となり、制御信号発生部20から制御対象回路10に対して制御信号CLSが出力される。その後、待機状態が保持される。
(j)次に、時刻t7において、電源をオフにする。
(k)次に、時刻t7〜時刻t8の期間においては、一次側電源電圧VDD1の動作波形は降下し、一方、二次側電源電圧VDD2の動作波形は略一定値を保持する。
(l)次に、時刻t8において、一次側電源電圧VDD1の値がVDD1検知電圧レベルVLV1に到達すると、リセット信号RSTnはオフ状態を保持するが、電圧レベル検出信号VDTはオフ状態になる。
(m)次に、時刻t8〜時刻t9の期間においては、一次側電源電圧VDD1は、図6に示すように、所定の時定数で電圧降下する。一方、二次側電源電圧VDD2は、一定状態が保持された後、所定の時定数で電圧降下する。時刻t8の直後において、制御信号CLSは待機状態からオン状態となり、制御信号発生部20から制御対象回路10に対して、制御信号CLSが出力される。
(n)次に、時刻t9において、二次側電源電圧VDD2が、リセット電圧レベルVRSTに到達して、電源遮断(電源OFF)を検知することで、制御対象回路10は動作不可能となる。同時に、リセット信号RSTnはオン状態となり、電圧レベル検出信号VDTはオフ状態を保持し、制御信号CLSは待機状態となる。
本発明の第1の実施の形態に係るデータ制御装置によれば、二系統の電源線を有する制御対象回路システムに適用する場合、電源線の有するキャパシタによる時定数を利用していないため、電源遮断後の電圧確保を行うためのコンデンサの容量を小さくすることができる。
また、本発明の第1の実施の形態に係るデータ制御装置によれば、電源線上のノイズ等により電源電圧の値が変動した場合においても、無駄なバックアップ処理(データ退避/復帰)を抑制することができる。
[第2の実施の形態]
(データ制御装置)
本発明の第2の実施の形態に係るデータ制御装置であって、データ退避/復帰制御動作を実行するデータ制御装置12は、図7に示すように、一次側電源電圧VDD1が供給される一次側電源線VDL1と、二次側電源電圧VDD2が供給される二次側電源線VDL2と、一次側電源線VDL1と二次側電源線VDL2との間に配置され,一次側電源電圧VDD1を二次側電源電圧VDD2に変換する電圧変換部14と、一次側電源線VDL1に接続され,電圧レベル検知信号VDTを出力する電圧レベル検出部18と、二次側電源線VDL2に接続され,リセット信号RSTnを出力するリセット信号発生部16と、電圧レベル検出部18より電圧レベル検知信号VDT,リセット信号発生部16よりリセット信号RSTnを受信して、データ退避制御信号DRCSおよびデータ復帰制御信号DSCSを出力する制御信号発生部20とを備える。
二次側電源線VDL2には、図7に示すように、制御対象回路30が接続され、データ制御装置12内のリセット信号発生部16よりリセット信号RSTn、制御信号発生部20よりデータ退避制御信号DRCSおよびデータ復帰制御信号DSCSを受信している。
制御対象回路30は、図7に示すように、主動作部32と、不揮発性記憶部36と、主動作部32と不揮発性記憶部36との間のデータインタフェース制御部34とを備える。
図7に示すように、制御対象回路30内の主動作部32、データインタフェース制御部34、および不揮発性記憶部36は、データ制御装置12内のリセット信号発生部16よりリセット信号RSTnを受信し、また、データインタフェース制御部34は、制御信号発生部20よりデータ退避制御信号DRCSおよびデータ復帰制御信号DSCSを受信している。
また、図7において、キャパシタC1、C2は、それぞれ一次側電源線VDL1、二次側電源線VDL2の有する寄生キャパシタである。
(データ制御装置の動作シーケンス)
本発明の第2の実施の形態に係るデータ制御装置12の動作シーケンスを図8に示す状態遷移図を用いて説明する。
リセット状態S1とは、データ制御装置12がリセット状態のままホールドされ、動作していない状態を示す。
電源復帰待ち状態S2とは、一次側電源電圧VDD1が所定の閾値電圧Vth1(例えば、VDD1検出電圧レベルVLV1)になるまで待機している状態を示す。
データ復帰信号出力状態S3とは、データ制御装置12から制御対象回路30に対してデータ復帰制御信号DSCSを送信し、制御対象回路30内の不揮発性記憶部36からデータを復帰している状態を示す。
電源監視状態S4とは、一次側電源電圧VDD1が所定の閾値電圧Vth1(例えば、VDD1検出電圧レベルVLV1)を下回るレベルかどうかをチェックし、監視している状態を示す。
データ退避信号出力状態S5とは、データ制御装置12から制御対象回路30に対してデータ退避制御信号DRCSを送信し、制御対象回路30内の不揮発性記憶部36にデータを退避している状態を示す。
―動作シーケンス―
(a)まず、リセット状態S1において、RSTn=“1”で示されるように、リセット信号RSTnをオフ状態にすると、リセット状態S1から電源復帰待ち状態S2に状態遷移する。
(b)次に、電源復帰待ち状態S2において、RSTn=“0”で示されるように、リセット信号RSTnをオン状態にすると、電源復帰待ち状態S2からリセット状態S1に状態遷移する。
(c)次に、電源復帰待ち状態S2において、VDT=“1”で示されるように、電圧レベル検知信号VDTをオン状態にすると、電源復帰待ち状態S2からデータ復帰信号出力状態S3に状態遷移する。
(d)次に、データ復帰信号出力状態S3から電源監視状態S4に状態遷移する。
(e)次に、電源監視状態S4において、VDT=“0”で示されるように、電圧レベル検知信号VDTをオフ状態にすると、電源監視状態S4からデータ退避信号出力状態S5に状態遷移する。
(f)次に、データ退避信号出力状態S5から電源復帰待ち状態S6に状態遷移する。
(g)次に、電源復帰待ち状態S6において、VDT=“1”で示されるように、電圧レベル検知信号VDTをオン状態にすると、電源復帰待ち状態S6からデータ退避信号出力状態S5に状態遷移する。
(h)次に、電源復帰待ち状態S6において、RSTn=“0”で示されるように、リセット信号RSTnをオフ状態にすると、電源復帰待ち状態S6からリセット状態S1に状態遷移する。
(動作タイミングチャート)
図9は、図7に示すデータ制御装置12の動作例を示す。図9においては、一次側電源電圧VDD1および二次側電源電圧VDD2の電源変動波形が示され、さらに、これらの電源変動波形に対応して、リセット信号RSTn、電圧レベル検出信号VDT、データ復帰制御信号DSCSおよびデータ退避制御信号DRCSの動作波形が各々示されている。
(a)まず、時刻t0〜時刻t1の期間においては、電源はオフ状態にある。負論理のリセット信号RSTnはオン状態、電圧レベル検出信号VDTはオフ状態、データ退避制御信号DRCSおよびデータ復帰制御信号DSCSはオフ状態にある。
(b)次に、時刻t1において、電源をオンにする。
(c)次に、時刻t1〜時刻t2の期間においては、一次側電源電圧VDD1および二次側電源電圧VDD2の動作波形は上昇し、二次側電源電圧VDD2の値がリセット電圧レベルVRSTに到達すると、リセット信号RSTnがオフ状態になる。
(d)次に、時刻t2において、一次側電源電圧VDD1の値がVDD1検知電圧レベルVLV1に到達すると、電圧レベル検出信号VDTはオン状態になる。
(e)次に、時刻t2〜時刻t3の期間においては、一次側電源電圧VDD1および二次側電源電圧VDD2ともにオン状態が保持される。時刻t2の直後において、データ復帰制御信号DSCSはオフ状態からオン状態となり、制御信号発生部20から制御対象回路30のデータインタフェース制御部34に対して、データ復帰制御信号DSCSが出力される。その後、オフ状態が保持される。
(f)次に、時刻t3〜t4の期間において、一次側電源電圧VDD1の値がVDD1検知電圧レベルVLV1よりも低くなり、かつ二次側電源電圧VDD2の値も低下し、リセット電圧レベルVRSTよりも高い場合には、リセット信号RSTnはオフ状態を保持するが、電圧レベル検出信号VDTはオフ状態となる。データ復帰制御信号DSCSは、オフ状態が保持される。
(g)次に、時刻t4〜t5の期間において、一次側電源電圧VDD1の値がVDD1検知電圧レベルVLV1よりも高くなり、かつ二次側電源電圧VDD2の値も上昇し、リセット電圧レベルVRSTよりも高い場合には、リセット信号RSTnはオフ状態を保持するが、電圧レベル検出信号VDTはオン状態となる。データ退避制御信号DRCSおよびデータ復帰制御信号DSCSはオフ状態にある。
(h)次に、時刻t5〜t6の期間において、一次側電源電圧VDD1の値がVDD1検知電圧レベルVLV1よりも低くなると、電圧レベル検出信号VDTはオフ状態となる。ここで、データ退避制御信号DRCSは、オン状態となり、制御信号発生部20から制御対象回路30のデータインタフェース制御部34に対して、データ退避制御信号DRCSが出力される。その後、オフ状態が保持される。
さらに一次側電源電圧VDD1の値が低下して、二次側電源電圧VDD2の値がリセット電圧レベルVRSTよりも低くなる場合には、リセット信号RSTnはオン状態となる。
さらに、一次側電源電圧VDD1が上昇し、二次側電源電圧VDD2がリセット電圧レベルVRSTよりも高くなる場合には、リセット信号RSTnはオフ状態となる。
さらに、一次側電源電圧VDD1が上昇して、VDD1検知電圧レベルVLV1よりも高くなる場合には、リセット信号RSTnはオフ状態が保持され、電圧レベル検出信号VDTはオン状態になる。
(i)次に、時刻t6〜時刻t7の期間においては、一次側電源電圧VDD1および二次側電源電圧VDD2ともにオン状態が保持される。時刻t6の直後において、データ復帰制御信号DSCSはオフ状態からオン状態となり、制御信号発生部20から制御対象回路30のデータインタフェース制御部34に対して、データ復帰制御信号DSCSが出力される。その後、オフ状態が保持される。
(j)次に、時刻t7において、電源をオフにする。
(k)次に、時刻t7〜時刻t8の期間においては、一次側電源電圧VDD1の動作波形は降下し、一方、二次側電源電圧VDD2の動作波形は略一定値を保持される。
(l)次に、時刻t8において、一次側電源電圧VDD1の値がVDD1検知電圧レベルVLV1に到達すると、リセット信号RSTnはオフ状態を保持するが、電圧レベル検出信号VDTはオフ状態になる。
(m)次に、時刻t8〜時刻t9の期間においては、一次側電源電圧VDD1は、図9に示す通り、所定の時定数で電圧降下する。一方、二次側電源電圧VDD2は、一定状態が保持された後、所定の時定数で電圧降下する。時刻t8の直後において、データ退避制御信号DRCSはオフ状態からオン状態となり、制御信号発生部20から制御対象回路30のデータインタフェース制御部34に対してデータ退避制御信号DRCSが出力される。
(n)次に、時刻t9において、二次側電源電圧VDD2が、リセット電圧レベルVRSTに到達して、電源遮断(電源OFF)を検知することで、二次側電源電圧VDD2が、電源OFFと見なされ、制御対象回路30は動作不可能状態となる。同時に、リセット信号RSTnはオン状態となり、電圧レベル検出信号VDTはオフ状態を保持し、データ退避制御信号DRCSおよびデータ復帰制御信号DSCSは共にオフ状態となる。
電源復帰時においては、一次側電源電圧VDD1の電圧レベルを監視し、一次側電源電圧VDD1がVDD1検出電圧レベルVLV1と比較して、VDD1>VLV1になったことを検知して、電源復帰状態を検出する。結果として、データ制御装置12から制御対象回路30のデータインタフェース制御部34にデータ復帰制御信号DSCSを出力する。上記の場合、二次側電源電圧VDD2の電源監視は、二次側電源電圧VDD2より電源供給されるデータ制御装置12のリセット信号発生部16にのみ適用される。
本発明の第2の実施の形態に係るデータ制御装置によれば、電源遮断/投入を検知し、データのバックアップ(データ退避/復帰)を要求する信号を出力するに際して、十分なバックアップ処理のための処理可能期間を確保するができる。
また、本発明の第2の実施の形態に係るデータ制御装置によれば、二系統の電源線を有する制御対象回路システムに適用する場合、電源線の有するキャパシタによる時定数を利用していないため、電源遮断後の電圧確保を行うためのコンデンサの容量を小さくすることができる。
また、本発明の第2の実施の形態に係るデータ制御装置によれば、電源線上のノイズ等により電源電圧の値が変動した場合においても、無駄なバックアップ処理(データ退避/復帰)を抑制することができる。
[第3の実施の形態]
(データ制御装置)
本発明の第3の実施の形態に係るデータ制御装置であって、不揮発性CPU40を制御対象とするデータ制御装置12は、図10に示すように、一次側電源電圧VDD1が供給される一次側電源線VDL1と、二次側電源電圧VDD2が供給される二次側電源線VDL2と、一次側電源線VDL1と二次側電源線VDL2との間に配置され,一次側電源電圧VDD1を二次側電源電圧VDD2に変換する電圧変換部14と、一次側電源線VDL1に接続され,電圧レベル検知信号VDTを出力する電圧レベル検出部18と、二次側電源線VDL2に接続され,リセット信号RSTnを出力するリセット信号発生部16と、電圧レベル検出部18より電圧レベル検知信号VDT,リセット信号発生部16よりリセット信号RSTnを受信する制御信号発生部20とを備える。
制御信号発生部20は、不揮発性CPU40に対して、強誘電体素子書込み信号E1、通常動作信号E2、強誘電体素子両端短絡信号FRST、および強誘電体素子駆動用信号PL1,PL2を出力する。また、制御信号発生部20から出力されるクロックイネーブル信号CLKENと、クロック生成装置42からの出力信号は、ANDゲート44に入力され、ANDゲート44の出力信号は不揮発性CPU40に入力されている。
二次側電源線VDL2には、図10に示すように、不揮発性CPU40が接続され、データ制御装置12内のリセット信号発生部16よりリセット信号RSTn、制御信号発生部20より、強誘電体素子書込み信号E1、通常動作信号E2、強誘電体素子両端短絡信号FRST、および強誘電体素子駆動用信号PL1,PL2を受信している。また、不揮発性CPU40は、ANDゲート44を介してクロック信号CLKを受信している。
また、図10において、キャパシタC1、C2は、それぞれ一次側電源線VDL1、二次側電源線VDL2の有する寄生キャパシタである。
(不揮発性CPUの構成例)
本発明の第3の実施の形態に係るデータ制御装置を適用する不揮発性CPU40の模式的ブロック構成は、図11に示すように、命令処理部102と、命令処理部102に接続され、命令処理部102から演算制御信号ACSを受信する演算処理部110と、演算処理部110に接続され、演算処理部110から演算出力信号zを受信する演算結果記憶部104と、演算結果記憶部104および命令処理部102に接続され、出力信号aを演算処理部110に供給するスイッチブロック106と、スイッチブロック106および命令処理部102に接続され、命令処理部102からスイッチ制御信号SCSを受信し、出力信号bを演算処理部110に供給するスイッチブロック108とを備える。
プログラム/データ入出力線112を介して、命令処理部102には、プログラム/データ入力端子112aが接続され、スイッチブロック108には、プログラム/データ出力端子112bが接続される。
また、図11に示すように、不揮発性CPU40には、制御信号入出力線114を介して、制御信号入力端子114bおよび制御信号出力端子114aが接続される。
また、図11に示すように、不揮発性CPU40には、クロック制御端子92を介してクロック信号CLKが供給され、不揮発動作用制御線100に接続される不揮発動作制御端子94を介して、強誘電体素子書込み信号E1、通常動作信号E2、強誘電体素子駆動用信号PL1およびPL2、強誘電体素子両端短絡信号FRSTが供給される。
また、図11に示すように、命令処理部102は、不揮発性記憶ゲート50を有する論理回路ブロック58を備え、演算結果記憶部104は、不揮発性記憶ゲート50を有する論理回路ブロック54を備え、演算処理部110は、不揮発性記憶ゲート50を有する論理回路ブロック56を備える。
(不揮発性記憶ゲートの構成例)
本発明の第3の実施の形態に係るデータ制御装置の制御対象である不揮発性CPU40に適用可能な不揮発性記憶ゲート50の構成例は、図12に示すように、第1および第2の不揮発性記憶部(NVSE)361 ,362と、第1の不揮発性記憶部361に隣接して配置され、第1の不揮発性記憶部361へのデータ書込みおよび第1の不揮発性記憶部361からのデータ読出しのための外部制御信号を受信する第1のデータインタフェース制御部341と、第2の不揮発性記憶部362に隣接して配置され、第2の不揮発性記憶部362へのデータ書込みおよび第2の不揮発性記憶部362からのデータ読出しのための外部制御信号を受信する第2のデータインタフェース制御部342と、第1のデータインタフェース制御部341および第2のデータインタフェース制御部342に隣接して配置され、データ入力端子からデータ入力信号D、クロック入力端子からクロック信号CLKを受信し、データ出力端子からデータ出力信号Qを出力する揮発性記憶部(VSE)35とを備える。
図12に示すように、第1の不揮発性記憶部(NVSE)361は、MOSトランジスタQ1a,Q1bと、強誘電体キャパシタ51a,51bとを備え、第2の不揮発性記憶部(NVSE)362は、MOSトランジスタQ2a,Q2bと、強誘電体キャパシタ52a,52bとを備える。
図12に示すように、揮発性記憶部(VSE)35は、インバータ60,61,64,70,72,74と、パススイッチ62,66,68と、マルチプレクサ84,86とを備える。
図12に示す通り、第1のデータインタフェース制御部341は、インバータ76と、パススイッチ78とを備え、第2のデータインタフェース制御部342は、インバータ80と、パススイッチ82とを備える。
インバータ61の入力端は、データ入力信号Dの印加端に接続されている。インバータ61の出力端は、インバータ60の入力端に接続されている。インバータ60の出力端はパススイッチ66を介して、マルチプレクサ84の第1入力端(1)に接続されている。さらに、インバータ60の出力端は、インバータ64の入力端に接続され、インバータ64の出力端は、パススイッチ62を介してインバータ60の入力端に接続されている。
マルチプレクサ84の出力端は、インバータ72の入力端に接続されている。インバータ72の出力端は、インバータ74の入力端に接続されている。インバータ74の出力端はデータ出力信号Qの引出端に接続されている。マルチプレクサ86の第1入力端(1)は、インバータ72の出力端に接続されている。マルチプレクサ86の出力端は、インバータ70の入力端に接続されている。インバータ70の出力端は、パススイッチ68を介して、マルチプレクサ84の第1入力端(1)に接続されている。
このように、不揮発性記憶ゲート50は、図12に示す通り、ループ状に接続された2つの論理ゲート(図12ではインバータ72,70)を用いて、入力されたデータ入力信号Dを保持するループ構造部LOOP(図中の84,72,86,70で囲まれた部分)を有する揮発性記憶部(VSE)35を備える。
インバータ76の入力端はマルチプレクサ84の第1入力端(1)に接続されている。インバータ76の出力端は、パススイッチ78を介して、マルチプレクサ86の第2入力端(0)に接続されている。インバータ80の入力端は、マルチプレクサ86の第1入力端(1)に接続されている。インバータ80の出力端は、パススイッチ82を介して、マルチプレクサ84の第2入力端(0)に接続されている。
強誘電体キャパシタ51aの正極端は、第1プレートラインに接続され、強誘電体素子駆動用信号PL1が供給される。強誘電体キャパシタ51aの負極端は、マルチプレクサ86の第2入力端(0)に接続されている。強誘電体キャパシタ51aの両端間には、MOSトランジスタQ1aが接続されている。MOSトランジスタQ1aのゲートは、強誘電体素子両端短絡信号FRSTの印加端に接続されている。
強誘電体キャパシタ51bの正極端は、マルチプレクサ86の第2入力端(0)に接続されている。強誘電体キャパシタ51bの負極端は、第2プレートラインに接続され、強誘電体素子駆動用信号PL2が供給される。強誘電体キャパシタ51bの両端間には、MOSトランジスタQ1bが接続されている。MOSトランジスタQ1bのゲートは、強誘電体素子両端短絡信号FRSTの印加端に接続されている。
強誘電体キャパシタ52aの正極端は、第1プレートラインに接続され、強誘電体素子駆動用信号PL1が供給される。強誘電体キャパシタ52aの負極端は、マルチプレクサ84の第2入力端(0)に接続されている。強誘電体キャパシタ52aの両端間には、MOSトランジスタQ2aが接続されている。MOSトランジスタQ2aのゲートは、強誘電体素子両端短絡信号FRSTの印加端に接続されている。
強誘電体キャパシタ52bの正極端は、マルチプレクサ84の第2入力端(0)に接続されている。強誘電体キャパシタ52bの負極端は、第2プレートラインに接続され、強誘電体素子駆動用信号PL2が供給される。強誘電体キャパシタ52bの両端間には、MOSトランジスタQ2bが接続されている。MOSトランジスタQ2bのゲートは、強誘電体素子両端短絡信号FRSTの印加端に接続されている。
なお、上記の構成要素のうち、パススイッチ62,66は、クロック信号CLKに応じてオン/オフされ、パススイッチ68は、反転クロック信号CLKB(クロック信号CLKの論理反転信号)に応じてオン/オフされる。すなわち、パススイッチ62,66とパススイッチ68は、互いに排他的(相補的)にオン/オフされる。一方、パススイッチ78,82は、いずれも強誘電体素子書込み信号E1に応じてオン/オフされる。また、マルチプレクサ84,86は、いずれも通常動作信号E2に応じてその信号経路が切り換えられる。
図12に示した不揮発性記憶ゲート50の構成例では、データ書込み用ドライバ(インバータ76、80)や、マルチプレクサ84、86が新たに必要となるが、不揮発性CPU40の命令処理部102、演算処理部110、演算結果記憶部104内における不揮発性記憶ゲート50の占有面積は、数%に過ぎないため、不揮発性CPU40全体に与える面積増加の影響は殆どない。
(不揮発性CPUの制御時の動作タイミングチャート)
本発明の第3の実施の形態に係るデータ制御装置の動作波形であって、不揮発性CPU40の制御時の動作タイミングチャートは、図13に示すように表される。図13において、一次側電源電圧VDD1および二次側電源電圧VDD2の電源変動波形が示され、さらに、これらの電源変動波形に対応して、リセット信号RSTn、電圧レベル検出信号VDT、クロック信号CLK、クロックイネーブル信号CLKEN、強誘電体素子書込み信号E1、通常動作信号E2、強誘電体素子両端短絡信号FRST、強誘電体素子駆動用信号PL1およびPL2、揮発性データ信号VSEDATA、および不揮発性データ信号NVSEDATAが示されている。
以下の説明では、図12に示すように、強誘電体キャパシタ51a、51bの接続ノードに現れる電圧をV1、強誘電体キャパシタ52a、52bの接続ノードに現れる電圧をV2、インバータ70の入力端に現れる電圧をV3、インバータ70の出力端に現れる電圧をV4、インバータ72の入力端に現れる電圧をV5、インバータ72の出力端に現れる電圧をV6とする。
―通常動作―
まず、通常動作について説明する。
(a)時刻t0〜時刻t1で示される時点W1までの期間T1は電源はオン状態にある。負論理のリセット信号RSTnはオフ状態、及び、電圧レベル検出信号VDTはオン状態にある。時刻t0〜時刻t1内の所定の時刻t01において、電源をオフにすると、一次側電源電圧VDD1は、所定の時定数で電圧が降下するが、二次側電源電圧VDD2は、一定状態のままである。
不揮発性CPU40は通常動作状態にある。強誘電体素子両端短絡信号FRSTが「H(ハイレベル)」とされており、MOSトランジスタQ1a、Q1b、Q2a、Q2bがオンされて、強誘電体キャパシタ51a、51b、52a、52bの各両端間がいずれも短絡されているので、これらの強誘電体キャパシタ51a、51b、52a、52bには一切電圧が印加されない状態となっている。なお、第1プレートラインおよび第2プレートラインに印加される強誘電体素子駆動用信号PL1およびPL2は、いずれも「L(ローレベル)」とされている。
また、時点W1までは、強誘電体素子書込み信号E1が「L」とされており、パススイッチ78とパススイッチ82がオフされているので、データ書込み用ドライバ(図12の例ではインバータ76,82)はいずれも無効とされている。
また、時点W1までは、通常動作信号E2が「H」とされており、マルチプレクサ84とマルチプレクサ86の第1入力端(1)が選択されているので、ループ構造部LOOP(図中の84,72,86,70で囲まれた部分)にて通常ループが形成されている。
揮発性記憶部35では、クロック信号CLKがハイレベルのとき、インバータ61がオフされ、パススイッチ62はオンされ、パススイッチ66はオンされ、パススイッチ68はオフされる。したがって、インバータ60とインバータ64からなるループでは、クロック信号CLKがローレベルからハイレベルと切り替わる際に、取り込まれたデータ入力信号Dが保持される。そして、ループ構造部(84,72,86,70)では、そのデータをそのまま通過させ、揮発性記憶部35よりデータ出力信号Qが出力される。
一方、クロック信号CLKがローレベルのときは、ループ構造部(84,72,86,70)では、クロック信号CLKがハイレベルからローレベルへと切り替わる際に取り込まれたデータ入力信号Dを保持し、データ出力信号Qが出力される。
―強誘電体素子へのデータ退避動作―
次に、強誘電体素子へのデータ退避動作について説明する。
(b)時刻t1において、一次側電源電圧VDD1の値がVDD1検知電圧レベルVLV1に到達すると、電圧レベル検出信号VDTはオフ状態になる。リセット信号RSTnはオン状態が保持される。
(c)時刻t1〜t3で示される時点W1〜W3の期間T2および時刻t3〜t4で示される時点W3〜W4の期間T3では、不揮発性CPU40は、データ退避状態にあり、不揮発性記憶ゲート50内の強誘電体素子へのデータ書込み動作が実行される。
クロック信号CLKが「L」とされ、反転クロック信号CLKBが「H」とされる。従って、パススイッチ66がオフされ、パススイッチ68がオンされる。
特に、時刻t2〜t3で示される時点W2〜W3の期間において、揮発性記憶部(VSE)35から、不揮発性記憶部(NVSE)361,362へのデータ書込みが実行される。このデータ書込み動作は、揮発性データ信号VSEDATAから不揮発性データ信号NVSEDATAへの矢印Aで示される。
また、時点W1〜W3では、強誘電体素子両端短絡信号FRSTが「L」とされ、MOSトランジスタQ1a、Q1b、Q2a、Q2bがオフされて、強誘電体キャパシタ51a、51b、52a、52bに対する電圧印加が可能な状態とされる。
また、時点W1〜W3では、強誘電体素子書込み信号E1が「H」とされ、パススイッチ78とパススイッチ82がオンされる。従って、データ書込み用ドライバ(図12の例ではインバータ76,82)がいずれも有効とされる。
なお、時点W1〜W3においては、それまでと同様、通常動作信号E2が「H」とされており、マルチプレクサ84とマルチプレクサ86の第1入力端(1)が選択されているので、ループ構造部LOOP(図中の84,72,86,70で囲まれた部分)にて通常ループが形成されている。
また、時点W1〜W2では、第1プレートラインに印加される強誘電体素子駆動用信号PL1と第2プレートライン印加される強誘電体素子駆動用信号PL2が「L」とされ、時点W2〜W3では、強誘電体素子駆動用信号PL1,PL2が「H」とされる。すなわち、第1プレートラインと第2プレートラインに対して同一のパルス電圧が印加される。このようなパルス電圧の印加により、強誘電体キャパシタ内部の残留分極状態が反転状態/非反転状態のいずれかに設定される。
図12の例に即して具体的に述べると、時点W1では出力信号Qが「H」であるため、ノード電圧V1が「L」となり、ノード電圧V2が「H」となる。従って、時点W1〜W2において、第1プレートラインに印加される強誘電体素子駆動用信号PL1と第2プレートラインに印加される強誘電体素子駆動用信号PL2が「L」とされている間、強誘電体キャパシタ51a、51bの両端間には電圧が印加されない状態となり、強誘電体キャパシタ52aの両端間には負極性の電圧が印加される状態となり、強誘電体キャパシタ52bの両端間には正極性の電圧が印加される状態となる。
一方、時点W2〜W3において、第1プレートラインに印加される強誘電体素子駆動用信号PL1と第2プレートラインに印加される強誘電体素子駆動用信号PL2が「H」とされている間、強誘電体キャパシタ52a、52bの両端間には電圧が印加されない状態となり、強誘電体キャパシタ51aの両端間には正極性の電圧が印加される状態となり、強誘電体キャパシタ51bの両端間には負極性の電圧が印加される状態となる。
このように、第1プレートラインと第2プレートラインに対して、パルス電圧を印加することにより、強誘電体素子内部の残留分極状態が反転状態/非反転状態のいずれかに設定される。なお、強誘電体キャパシタ51aと51bとの間、及び、強誘電体キャパシタ52aと52bとの間では、互いの残留分極状態が逆になる。また、強誘電体キャパシタ51aと52aとの間、及び、強誘電体キャパシタ51bと52bとの間でも、互いの残留分極状態が逆になる。
(d)時刻t3〜t4で示される時点W3〜W4の期間T3においては、電源遮断待ち状態にある。時点W3では、強誘電体素子両端短絡信号FRSTが再び「1」とされ、MOSトランジスタQ1a、Q1b、Q2a、Q2bがオンされて、強誘電体キャパシタ51a、51b、52a、52bの各両端間がいずれも短絡されるので、これらの強誘電体キャパシタ51a、51b、52a、52bには一切電圧が印加されない状態となる。このとき、第1プレートラインに印加される強誘電体素子駆動用信号PL1と第2プレートラインに印加される強誘電体素子駆動用信号PL2は、いずれも「L」とされる。
また、時点W3では、強誘電体素子書込み信号E1が再び「L」とされ、パススイッチ78とパススイッチ82がオフされるので、データ書込み用ドライバ(図12の例ではインバータ76、80)がいずれも無効とされる。なお、通常動作信号E2については不問であるが、図13の例では「L」とされている。
(e)次に、時刻t4〜t6で示される時点W4〜W6の期間T4においては、電源遮断状態にある。すなわち、時刻t4で示される時点W4では、二次側電源電圧VDD2は、リセット電圧レベルVRSTに到達する。さらに、一次側電源電圧VDD1の値が低下して二次側電源電圧VDD2の値がリセット電圧レベルVRSTよりも低くなる場合には、不揮発性CPU40は、電源遮断状態となる。負論理のリセット信号RSTnはオン状態、電圧レベル検出信号VDTはオフ状態、強誘電体素子書込み信号E1、通常動作信号E2、強誘電体素子駆動用信号PL1およびPL2はオフ状態にある。特に、時刻t4〜t5内の所定の時刻t41において、二次側電源線VDL2に接続される不揮発性CPU40は電源オフとなり、時刻t41〜t42の期間において、不揮発性CPU40は、電源オフ状態になる。
強誘電体素子両端短絡信号FRSTは、時点W3から「H」に維持されており、MOSトランジスタQ1a、Q1b、Q2a、Q2bがオンされ、強誘電体キャパシタ51a、51b、52a、52bの各両端間がいずれも短絡されている。従って、強誘電体キャパシタ51a、51b、52a、52bに一切電圧が印加されない状態となっているので、電源遮断時に電圧変動が生じた場合であっても、強誘電体キャパシタ51a、51b、52a、52bに意図しない電圧が印加されることはなく、データ化けを回避することが可能となる。
―強誘電体素子からのデータ復帰動作―
次に、強誘電体素子からのデータ復帰動作について説明する。
(f)時刻t42において、電源をオンにする。一次側電源電圧VDD1および二次側電源電圧VDD2の動作波形は上昇し、二次側電源電圧VDD2の値がリセット電圧レベルVRSTに到達すると、リセット信号RSTnがオフ状態になる。
(g)時刻t5〜t9で示される時点R1〜R5では、クロック信号CLKが「L」とされており、反転クロック信号CLKBが「H」とされている。従って、パススイッチ66がオフされており、パススイッチ68がオンされている。なお、時点R1において、第1プレートラインに印加される強誘電体素子駆動用信号PL1と第2プレートラインに印加される強誘電体素子駆動用信号PL2は、いずれも「L」とされている。
(h)時刻t6〜t7で示される時点R2〜R3の期間T5においては、電源復帰待ち状態にある。時点R2では、強誘電体素子書込み信号E1、通常動作信号E2がいずれも、「L」とされた状態(すなわち、データ書込み用ドライバが無効とされ、かつ、ループ構造部LOOPで通常ループが形成されている状態)で、二次側電源電圧VDD2は、リセット電圧レベルVRSTに到達する。さらに、一次側電源電圧VDD1の値が上昇して、二次側電源電圧VDD2の値がリセット電圧レベルVRSTよりも高くなる場合には、不揮発性CPU40は、電源復帰待ち状態になる。
(i)次に、時刻t7において、一次側電源電圧VDD1の値がVDD1検知電圧レベルVLV1に到達すると、電圧レベル検出信号VDTはオン状態になる。ここで、データ復帰動作が開始される。
(j)次に、時刻t7〜時刻t10の期間においては、一次側電源電圧VDD1および二次側電源電圧VDD2ともにオン状態が保持される。時刻t7の直後において、強誘電体素子駆動用信号PL1がオフ状態からオン状態となり、不揮発性データ信号NVSEDATAから揮発性データ信号VSEDATAへの矢印Bで示されるデータ読出し動作が実行される。
特に、時点R3〜R5の期間T6においては、不揮発性記憶部(NVSE)361,362から、揮発性記憶部(VSE)35へのデータ読出しが実行される。
時点R3では、強誘電体素子両端短絡信号FRSTが「L」とされ、MOSトランジスタQ1a、Q1b、Q2a、Q2bがオフされて、強誘電体キャパシタ51a、51b、52a、52bに対する電圧印加が可能な状態とされる一方、第2プレートラインに印加される強誘電体素子駆動用信号PL2が「L」に維持されたまま、第1プレートラインに印加される強誘電体素子駆動用信号PL1が「H」とされる。このようなパルス電圧の印加により、ノード電圧V1及びノード電圧V2として、強誘電体キャパシタ内の残留分極状態に対応した電圧信号が現れる。
図12の例に即して具体的に説明すると、ノード電圧V1としては、比較的低い電圧信号(以下、その論理をWL[Weak Low]と呼ぶ)が現れ、ノード電圧V2としては、比較的高い電圧信号(以下、その論理をWH[Weak Hi]と呼ぶ)が現れる。すなわち、ノード電圧V1とノード電圧V2との間には、強誘電体キャパシタ内の残留分極状態の差に応じた電圧差が生じる形となる。
このとき、時点R3〜R4では、通常動作信号E2が「L」とされ、マルチプレクサ84とマルチプレクサ86の第2入力端(0)が選択されるので、ノード電圧V3の論理はWLとなり、ノード電圧V4の論理はWHとなる。また、ノード電圧V5の論理はWHとなり、ノード電圧V6の論理はWLとなる。このように、時点R3〜R4では、各ノード電圧V1〜V6が未だ不安定な状態(インバータ76及びインバータ80での論理反転が完全に行われず、その出力論理が確実に「L」/「H」となっていない状態)である。
時点R4では、通常動作信号E2が「H」とされ、マルチプレクサ84とマルチプレクサ86の第1入力端(1)が選択されるので、ループ構造部LOOPにて通常ループが形成されている。このような信号経路の切り換えに伴って、インバータ70の出力端(論理:WH)とインバータ72の入力端(論理:WH)が接続され、インバータ72の出力端(論理:WL)とインバータ70の入力端(論理:WL)が接続される。従って、各ノードの信号論理(WH/WL)に不整合は生じず、以降、ループ構造部LOOPにて通常ループが形成されている間、インバータ72は、論理WLの入力を受けて、その出力論理を「H」に引き上げようとし、インバータ70は、論理WHの入力を受けて、その出力論理を「L」に引き下げようとする。その結果、インバータ72の出力論理は、不安定な論理WLから「L」に確定され、インバータ70の出力論理は、不安定な論理WHから「H」に確定される。
時点R4において、ループ構造部LOOPが通常ループとされたことに伴い、強誘電体キャパシタから読み出された信号(ノード電圧V1とノード電圧V2との電位差)がループ構造部LOOPで増幅される形となり、電源遮断前の保持データが復帰される。
時点R5では、強誘電体素子両端短絡信号FRSTが再び「H」とされ、MOSトランジスタQ1a、Q1b、Q2a、Q2bがオンされて、強誘電体キャパシタ51a、51b、52a、52bの各両端間がいずれも短絡されるので、これらの強誘電体キャパシタ51a、51b、52a、52bには一切電圧が印加されない状態となる。このとき、第1プレートラインに印加される強誘電体素子駆動用信号PL1と第2プレートラインに印加される強誘電体素子駆動用信号PL2は、いずれも「L」とされる。従って、時点W1以前と同様、通常動作状態に復帰される。
本発明の第3の実施の形態によれば、制御対象を不揮発性CPUとした場合においても電源遮断/投入を検知し、データのバックアップ(データ退避/復帰)を要求する信号を出力するに際して、十分なバックアップ処理のための処理可能期間を確保可能なデータ制御装置を提供することができる。
本発明の第3の実施の形態に係るデータ制御装置によれば、制御対象を二系統の電源線を有する不揮発性CPUとした場合においても、電源遮断後の電圧確保を行うためのコンデンサの容量を小さくすることができる。
また、本発明の第3の実施の形態に係るデータ制御装置によれば、制御対象を不揮発性CPUとした場合においても、電源線上のノイズ等により電源電圧の値が変動した場合において、無駄なバックアップ処理(データ退避/復帰)を抑制することができる。
[その他の実施の形態]
上記のように、本発明は第1〜第3の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなろう。
このように、本発明はここでは記載していない様々な実施の形態などを含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
[実際のアプリケーションへの応用例]
図14は、本発明に係るデータ処理装置の一実施形態を示すブロック図である。本実施形態のデータ処理装置は、不揮発CPU210(以下では単にCPU210と呼ぶ)と、CPU/メモリ制御回路220と、I/O制御回路230と、電源スイッチ240と、JTAG制御回路250と、CPU入力側スイッチ261〜269と、CPU出力側スイッチ271、272と、電源チェック回路280と、RS232Cポート290と、メインメモリ300と、ビデオDAC[Digital Analog Convertor]310と、LCD[Liquid Crystal Display]320と、ビデオメモリ330と、C/Fカード340と、PS/2インタフェイス350と、マウス360と、バスモニタ370と、を有して成る。
なお、本実施形態は、本発明をパーソナルコンピュータに適用した構成を例に挙げて説明を行うが、本発明の適用対象はこれに限定されるものではなく、本発明は、その他の用途に供されるデータ処理装置全般に広く適用することが可能である。
CPU210は、CPUコア(図示せず)で取り扱われるレジスタデータを保持する手段として、揮発性記憶部(VSE)と不揮発性記憶部(NVSE)を有して成り、CPU/メモリ制御回路220からの指示に基づいて、CPUコアへの電源オン/オフに同期したレジスタデータの待避/復帰処理を行う機能を備えている。なお、CPU210におけるレジスタデータの待避処理とは、CPUコントローラ221からの指示に基づいて、揮発性記憶部に保持されているレジスタデータを不揮発性記憶部に格納するための処理である。また、CPU210におけるレジスタデータの復帰処理とは、CPUコントローラ221からの指示に基づいて、不揮発性記憶部に格納されているレジスタデータを揮発性記憶部に戻すための処理である。このように、レジスタデータの待避/復帰機能を備えたCPU210であれば、電源オフ時にもレジスタデータを不揮発的に保持しておくことができるので、電源オン時には電源オフ直前の動作状態に復帰することが可能である。なお、CPU210は、先に説明した第3実施形態の不揮発CPU40に相当するものであるため、その構成や動作については、重複した説明を割愛する。
CPU/メモリ制御回路220は、CPU210とメインメモリ300を統括制御する主体であり、不揮発CPUロジックコントローラ221(以下では、単にCPUコントローラ221と呼ぶ)と、メモリインタフェイスコントローラ222(以下では、メモリI/Fコントローラ222と呼ぶ)と、デバッグコントローラ223と、JTAG[Joint Test Action Group]コントローラ224と、を有して成る。
CPUコントローラ221は、CPU/メモリ制御回路220の中核を成す回路ブロックであり、メモリI/Fコントローラ222、デバッグコントローラ223、及び、JTAGコントローラ224の制御を行うほか、CPU210の各種制御(電源オン/オフ制御、不揮発レジスタ制御、クロック信号とリセット信号の供給制御等)や、イネーブル信号Senを用いたCPU入力側スイッチ263〜269のイネーブル制御を行う。また、CPUコントローラ221は、アドレスバスやデータバス(図14ではいずれも32ビットバス)、及び、CPUウェイト信号線や割込み制御信号線の監視機能も備えている。
メモリI/Fコントローラ222は、CPUコントローラ221からの指示に基づいてメインメモリ300のアクセス制御(リード/ライト制御)を行う回路ブロックであり、アドレスバスやメモリ制御信号の監視機能を備えている。また、メモリI/Fコントローラ222は、CPUコントローラ221からの指示に基づいて、イネーブル信号OEn、AEnを用いたCPU出力側スイッチ271、272のイネーブル制御を行う機能も備えている。また、メモリI/Fコントローラ222は、第1システムリセット信号RSTnと第2システムリセット信号RST2nに基づいて、メインメモリ300のデータ待避/復帰処理を行う機能も備えている。なお、第1システムリセット信号RSTnは、先に説明した第1〜第3実施形態のリセット信号RSTnに相当するものであり、第2システムリセット信号RST2nは、電圧レベル検出信号VDTに相当するものであるため、その生成手法については、重複した説明を割愛する。
デバッグコントローラ223は、CPUコントローラ221からの指示に基づいて、CPU210のデバッグ制御やスキャン/テスト制御を行う回路ブロックである。
JTAGコントローラ224は、CPUコントローラ221からの指示に基づいて、CPU210のJTAGテスト制御を行う回路ブロックである。また、JTAGコントローラ224は、CPUコントローラ221からの指示に応じて、イネーブル信号JEn1、JEn2を用いたCPU入力側スイッチ261、262のイネーブル制御を行う機能も備えている。
I/O制御回路230は、CPU210とこれに接続される各種デバイスとの入出力制御を行う主体であって、I/Oコントローラ231と、グラフィックコントローラ232と、C/Fコントローラ233と、PS/2コントローラ234と、バスモニタコントローラ235と、を有して成る。
I/Oコントローラ231は、I/O制御回路230の中核を成す回路ブロックであって、グラフィックコントローラ232、C/Fコントローラ233、PS/2コントローラ234、及び、バスモニタコントローラ235の制御を行うほか、CPU210の各種制御(CPUウェイト制御や割込み制御など)を行う。また、I/Oコントローラ231は、アドレスバスやデータバス、及び、メモリ制御信号線の監視機能も備えている。
グラフィックコントローラ232は、I/Oコントローラ231からの指示に基づいてビデオメモリ330へのアクセス制御(リード/ライト制御)、及び、ビデオDAC310へのビデオデータ出力制御を行う回路ブロックである。なお、図14では、ビデオメモリ330へのアドレスバスとして18ビットバスが用いられており、データバスとして64ビットバスが用いられている。
C/Fコントローラ233は、I/Oコントローラ231からの指示に基づいて、C/Fカード340へのアクセス制御(リード/ライト制御)を行う回路ブロックである。
PS/2コントローラ234は、I/Oコントローラ231からの指示に基づき、PS/2インタフェイス350を介して接続されるマウス360からの入力情報を適宜処理する回路ブロックである。
バスモニタコントローラ235は、I/Oコントローラ231からの指示に基づいて、バスモニタ370の制御を行う回路ブロックである。
電源スイッチ240は、CPU210(特にCPUコアやCPU入出力部)への電源ライン上に挿入されており、CPUコントローラ221からの指示に基づいて、CPU210の電源オン/オフ(電源ラインの導通/遮断)を行う手段である。
JTAG制御回路250は、装置外部からの指示に基づいて、CPU210のJTAGテスト制御を行う回路ブロックである。
CPU入力側スイッチ261〜269は、それぞれ、CPU210への信号入力ライン上に挿入されており、CPU/メモリ制御回路220からの指示(具体的には、CPUコントローラ221から出力されるイネーブル信号SEnとJTAGコントローラ224から出力されるイネーブル信号JEn1、JEn2)に基づいて、CPU210への信号入力ラインを導通/遮断する手段である。なお、CPU入力側スイッチ261〜269としては、3ステートバッファなどを好適に用いることができる。
CPU出力側スイッチ271、272は、CPU210からの信号出力ライン上(具体的にはデータバス出力ラインとアドレスバス出力ライン)に挿入されており、CPU/メモリ制御回路220からの指示(具体的には、メモリI/Fコントローラ222から出力されるイネーブル信号OEn、AEn)に基づいて、CPU210からの信号出力ラインを導通/遮断する手段である。なお、CPU出力側スイッチ271、272としては、3ステートバッファなどを好適に用いることができる。
電源チェック回路280は、第1電源電圧VDD1(例えば5.0V)と第2電源電圧VDD2(例えば3.3V)をそれぞれ監視して、第1システムリセット信号RSTn、RST2nを生成する回路ブロックであり、リセットICなどを好適に用いることができる。なお、システムリセット信号RSTn、RST2nは、CPU/メモリ制御回路220やI/O制御回路230に入力されている。
RS232Cポート290は、CPU/メモリ制御回路220やI/O制御回路230と、データ処理装置に外部接続される電子機器(別のパーソナルコンピュータなど)との間で、種々の情報を入出力するためのシリアルインタフェイスである。
メインメモリ300は、CPU210の作業領域等として用いられる記憶手段であり、揮発性メモリ300a(図14ではSRAM[Static Random Access Memory])と、不揮発性メモリ300b(図14ではFRAM[Ferroelectric Random Access Memory])と、を有して成る。メインメモリ300は、メモリI/F制御コントローラ222からの指示に基づき、システムリセット信号RSTn、RST2nに同期したデータの待避/復帰処理を行う機能を備えている。なお、メインメモリ300におけるデータの待避処理とは、メモリI/F制御コントローラ222からの指示に基づいて、揮発性メモリ300aに保持されているデータを不揮発性メモリ300bに格納するための処理である。また、メインメモリ300におけるデータの復帰処理とは、メモリI/F制御コントローラ222からの指示に基づいて、不揮発性メモリ300bに格納されているデータを揮発性メモリ300aに戻すための処理である。このように、データの待避/復帰機能を備えたメインメモリ300であれば、電源オフ時にもデータを不揮発的に保持しておくことができるので、電源オン時には電源オフ直前の動作状態に復帰することが可能である。
ビデオDAC310は、グラフィックコントローラ232から入力されるデジタル信号をアナログ信号に変換してLCD320に供給する回路ブロックである。
LCD320は、ビデオDAC310から入力されるアナログ信号に基づいて、映像を表示するデバイスである。
ビデオメモリ330は、グラフィックコントローラ232の作業領域などとして用いられる記憶手段であり、揮発性メモリ330a(図14ではSRAM)と、不揮発性メモリ330b(図14ではFRAM)と、を有して成る。ビデオメモリ330は、グラフィックコントローラ232からの指示に基づいて、データの待避/復帰処理を行う機能を備えている。なお、ビデオメモリ330におけるデータの待避処理とは、グラフィックコントローラ232からの指示に基づいて、揮発性メモリ330aと不揮発性メモリ330bの双方に同一内容のデータをミラーリングしながら格納するための処理である。また、ビデオメモリ330におけるデータの復帰処理とは、グラフィックコントローラ232からの指示に基づいて、不揮発性メモリ330bに格納されているデータを揮発性メモリ330aに戻すための処理である。このように、データの待避/復帰機能を備えたビデオメモリ330であれば、電源オフ時にもデータを不揮発的に保持しておくことができるので、電源オン時には電源オフ直前の動作状態に復帰することが可能である。
C/Fカード340は、フラッシュメモリなどを用いて成る着脱可能な半導体記録メディアの一種である。
PS/2インタフェイス350は、パーソナルコンピュータ等の入出力ポートであり、マウス360やキーボード(不図示)の接続に利用される。
マウス360は、パーソナルコンピュータ等に接続されて利用されるポインティングデバイスの一種であり、座標の検出方式としては、ボール方式や光学方式などが広く一般に採用されている。
バスモニタ370は、7セグメントディスプレイなどが接続されるバスを監視するデバイスである。
なお、図14では、CPU210、CPU/メモリ制御回路220、及び、I/O制御回路230をそれぞれ独立した回路ブロックとして描写したが、本発明の構成はこれに限定されるものではなく、CPU210に内蔵されるモジュールとして、CPU/メモリ制御回路220やI/O制御回路230の一部ないしは全部を適宜組み込んでも構わない。
次に、上記構成から成るデータ処理装置の動作について、図15〜図17を主に参照しながら詳細に説明する。図15は、システム電源の投入時における初期化/データ復帰処理の一例を示すフローチャートである。図16は、通常動作の一例を示すフローチャートである。図17は、システム電源の低下時におけるデータ待避処理の一例を示すフローチャートである。なお、図15〜図17には、それぞれ、紙面左から順番に、CPU210(CPUコア)、CPUコントローラ221、メモリI/Fコントローラ222、I/Oコントローラ231、グラフィックコントローラ232、C/Fコントローラ233、及び、PS/2コントローラ234の各動作を示すフローチャートが描写されている。
まず、システム電源の投入時における初期化/データ復帰処理について、図15を参照しながら詳細に説明する。システム電源が投入されると、CPUコントローラ221、メモリI/Fコントローラ222、I/Oコントローラ231、グラフィックコントローラ232、C/Fコントローラ233、及び、PS/2コントローラ234は、いずれもパワーオン状態となるが(ステップS201、S301、S401、S501、S601、S701)、第2電源電圧VDD2が所定の閾値VRSTに達して、システムリセット信号RSTnがローレベルからハイレベルに立ち上がるまで、リセット状態に維持される(ステップS202、S302、S402、S502、S602、S702)。
その後、システムリセット信号RSTnがハイレベルに立ち上がると、各コントローラのリセット状態が解除されて、各自の立上げ処理が開始される。具体的に述べると、CPUコントローラ221は、リセット状態の解除後、電源スイッチ240を導通させることでCPU210へのパワーオンを行い(ステップS203、S101)、CPU210をリセットしてから(ステップS204、S102)、CPU210にレジスタデータの復帰処理を指示する(ステップS205)。レジスタデータの復帰処理を指示されたCPU210は、CPUコアの不揮発性記憶部に格納されているレジスタデータを揮発性記憶部に戻すための処理を行う(ステップS103)。また、メモリI/Fコントローラ222は、リセット状態の解除後、メインメモリ300のデータ復帰処理を行った上で(ステップS303)、アクセス待ちの状態となる(ステップS304)。このような立上げ処理により、CPU210及びメインメモリ300に保持されているデータは、システム電源遮断直前の状態に復帰される。
CPUコントローラ221は、CPU210に対してレジスタデータの復帰処理を指示した後、メモリI/Fコントローラ222に対して立上げ処理が正常に完了しているか否か(アクセス待ちの状態に移行しているか否か)の確認を行う(ステップS206)。立上げ確認の要求を受け取ったメモリI/Fコントローラ222は、CPUコントローラ221に対して立上げ終了信号を送信する(ステップS305)。立上げ終了信号を受け取ったCPUコントローラ221は、メモリI/Fコントローラ222に対してイニシャル読出し要求を行う(ステップS207)。イニシャル読出し要求を受け取ったメモリI/Fコントローラ222は、その時点でアドレスバスに出力されているアドレスに対応するデータをメインメモリ300から読み出した後(ステップS306)、アクセス待ちの状態となる(ステップS307)。
上記のイニシャル読出し要求に関して、図18A及び図18Bを参照しながら詳細に説明する。図18A及び図18Bは、イニシャル読出しの作用を説明するためのタイミングチャートである。なお、図18Aは、イニシャル読出し処理が実施される場合を示しており、図18Bは、イニシャル読出し処理が実施されない場合を示している。
図18A及び図18Bに示す通り、CPU210はクロック信号に同期して動作する。具体的に述べると、CPU210は、クロック信号の立上がりエッジで、そのときデータバスに流れているデータを取り込むとともに、アドレスバスに次のアドレス指定を行う。仮に、図示の時刻t11においてシステム電源が遮断された場合、CPU210は、アドレスバスにアドレスA2を出力し、これに応答してメインメモリ300からデータバスに出力されているデータD2を次のクロック信号の立上がりエッジで読み込もうとしている状態に保持されたままシャットダウンされる。
その後、時刻t12においてシステム電源が再投入され、時刻t13においてデータ復帰処理が行われると、CPU210は、システム電源遮断直前の状態に復帰される。すなわち、CPU210は、アドレスバスに出力されているアドレスA2に応答してメインメモリ300からデータバスに出力されているはずのデータD2を次のクロック信号の立上がりエッジで読み込もうとする。
しかし、時刻t12におけるシステム電源の再投入に際して、メモリI/Fコントローラ222にはリセットが掛けられているので、時刻t13においてデータ復帰処理を行っただけでは、データバスに何らデータが出力されていない状態となる。そのため、イニシャル読出し処理が実施されない場合、CPU210は、システム電源の再投入後、クロック信号の立上がりエッジで所望のデータD2を読み込むことができず、システムの暴走を起こしてしまう(図18Bを参照)。
一方、本実施形態のデータ処理装置では、図18Aで示すように、時刻t14においてイニシャル読出し処理が実施される。すなわち、CPUコントローラ221は、時刻t14の時点でアドレスバスに出力されているアドレスA2に対応するデータD2を読み出すように、メモリI/Fコントローラ232に対して指示を送る。このようなイニシャル読出し処理を実施することにより、データバスにはデータD2が出力されるので、CPU210は、クロック信号の立上がりエッジで所望のデータD2を正常に読み込むことが可能となる。
すなわち、時刻t14において実施されるイニシャル読出し処理は、CPU210の動作状態だけでなく、データバスに流れているデータの状態についても、システム電源遮断直前の状態に復帰させるための処理であると言える。なお、時刻t14については、時刻t13におけるデータ復帰処理が完了し、アドレスバスにシステム電源遮断直前のアドレスが出力された頃合いを見計らって適切に設定することが望ましい。
なお、CPUコントローラ221は、上記のイニシャル読出し要求を行った後、I/Oコントローラ231に対して立上げ処理が正常に完了しているか否か(アクセス待ちの状態に移行しているか否か)の確認を行った後(ステップS208)、第1電源電圧VDD1が所定の閾値VLV1に達して、システムリセット信号RST2nがローレベルからハイレベルに立ち上がるまで、通常動作開始を待機した状態となる(ステップS209)。
一方、I/Oコントローラ231は、リセット状態の解除後、自身に接続される全てのI/Oブロック(図15〜図17では、グラフィックコントローラ232、C/Fコントローラ233、及び、PS/2コントローラ234のみを描写)から復帰完了信号が届くのを待機する状態となる(ステップS403)。
グラフィックコントローラ232は、リセット状態の解除後、ビデオメモリ330のデータ復帰処理(すなわち、不揮発性メモリ330bから揮発性メモリ330aへのデータ転送処理)を行う(ステップS503)。このようなデータ復帰処理により、システム電源の投入後、ビデオメモリ330に保持されているデータをシステム電源遮断直前の状態に戻すことが可能となる。その後、グラフィックコントローラ232は、I/Oコントローラ231に対して復帰完了信号を送出し(ステップS504)、グラフィック表示状態となる(ステップS505)。
C/Fコントローラ233は、リセット状態の解除後、C/Fカード340の初期化処理(動作確認など)を行い(ステップS603)、I/Oコントローラ231に復帰完了信号を送出して(ステップS604)、アクセス待ち状態となる(ステップS605)。
PS/2コントローラ234は、リセット状態の解除後、PS/2インタフェイス350及びこれに接続されているマウス360の初期化処理(動作確認など)を行い(ステップS703)、I/Oコントローラ231に復帰完了信号を送出してから(ステップS704)、アクセス待ち状態となる(ステップS705)。
I/Oコントローラ231は、自身に接続される全てのI/Oブロックから復帰完了信号が届いたことを確認して、CPU210からのアクセス待ち状態となる(ステップS404)。なお、I/Oコントローラ231は、先に述べたCPUコントローラ221からの立上げ確認要求を受け取ると、CPUコントローラ221に対して立上げ終了信号を送信した後(ステップS405)、再びアクセス待ち状態に戻る(ステップS406)。
以上で説明した一連の動作により、システム全体の初期化/データ復帰処理が完了し、通常動作に移行可能となる。
次に、システム電源投入後の通常動作について、図16を参照しながら詳細な説明を行う。なお、ここでは、C/Fカード340からメインメモリ300に対してデータ転送を行う場合を例に挙げて説明する。
図15のステップS209においてシステムリセット信号RST2nがハイレベルに立ち上がると、CPUコントローラ221からCPU210に対してイネーブル信号が送出され、CPU210の通常動作が開始される(ステップS210、S104)。CPU210は、C/Fカード340からメインメモリ300にデータ転送を行う際、I/Oコントローラ231に対してC/Fカード340からデータを読み出し、そのデータをメインメモリ300に書き込むように、I/Oリクエストを送出する(ステップS105)。なお、CPU210からI/Oコントローラ231へのI/Oリクエストは、アドレスマッピング方式によりアドレスバス経由で送信される。
上記のように、CPU210からのI/Oリクエストに応じて、I/Oコントローラ231とメモリI/Fコントローラ222を主体とするデータ転送処理(ここではC/Fカード340からメインメモリ300へのデータ転送処理)が行われている間、CPU210は特段処理を行う必要がない。そこで、I/Oコントローラ231は、CPU210からI/Oリクエストを受け取った時点で、CPU210の処理を停止させるべく、CPUコントローラ221に対してCPUウェイト信号を送出する(ステップS408)。
なお、上記のCPUウェイト処理については、従来のシステムでも行われているが、本実施形態のデータ処理装置は、上記のCPUウェイト処理と同時に、CPU210のパワーオフを行い、システムの省電力化を図るものとなっている。以下では、図16のフローチャートに沿ってより詳細な説明を行う。
CPUコントローラ221は、I/Oコントローラ231からCPUウェイト信号を受け取ると、CPU210のパワーオフに先立って、CPU210のデータ待避処理を開始し(ステップS211)、CPU210にレジスタデータの待避処理を指示する(ステップS212)。レジスタデータの待避処理を指示されたCPU210は、CPUコアの揮発性記憶部に格納されているレジスタデータを不揮発性記憶部に格納するための処理を行う(ステップS106)。その後、CPUコントローラ221は、電源スイッチ240を遮断させることでCPU210のパワーオフを行い(ステップS213、S107)、CPUウェイト解除待ちの状態となる(ステップS214)。すなわち、本実施形態のデータ処理装置では、I/Oコントローラ232から入力されるCPUウェイト信号をCPU210のパワーオフトリガとして用いられている。
上記のように、CPU210がシャットダウンされている間、I/Oコントローラ231とメモリI/Fコントローラ222を主体として、C/Fカード340からメインメモリ300へのデータ転送処理が行われる。具体的に述べると、I/Oコントローラ231は、CPUコントローラ221に対してCPUウェイト信号を送出した後、C/Fコントローラ233に対して、C/Fカード340からデータを読み出し、そのデータをメインメモリ300へ書き込むように処理要求を送出する(ステップS409)。そして、I/Oコントローラ231は、C/Fコントローラ233の処理完了待ち状態となる(ステップS410)。
一方、I/Oコントローラ231からのアクセス待ち状態(ステップS606)とされていたC/Fコントローラ233は、I/Oコントローラ231からの処理要求を受け付けた時点で、C/Fカード340からデータの読出しを開始するとともに、そのデータをメインメモリ300に書き込むように、I/Oコントローラ231を介する形で、メモリI/Fコントローラ222に書込みリクエストを送出する(ステップS607)。
また、CPU210ないしはI/Oコントローラ231からのアクセス待ち状態(ステップS309)とされていたメモリI/Fコントローラ222は、I/Oコントローラ231経由で入力されるC/Fコントローラ233からの書込みリクエストに応じて、C/Fカード340から読み出されたデータをメインメモリ300(ここでは揮発性メモリ300a)に書込処理を行い(ステップS310)、その後、再びアクセス待ち状態となる(ステップS311)。
なお、上記のデータ書込処理に際して、データの書込動作を指示するためのメモリ制御信号、及び、データの書込先を指示するアドレス信号は、それぞれメモリ制御信号ライン及びアドレスバスを介して、I/Oコントローラ231からI/Fコントローラ222に入力される。また、C/Fカード340から読み出されたデータは、データバスを介してI/Oコントローラ231からメインメモリ300に入力される。また、メモリI/Fコントローラ222は、上記のデータ書込処理に際して、イネーブル信号OEn、AEnをいずれもディセーブルとすることにより、CPU出力側スイッチ271、272をオフ状態(出力ディセーブル状態(出力ハイインピーダンス状態))とする。
C/Fコントローラ233は、上記のデータ転送処理が完了すると、I/Oコントローラ231に対して処理完了信号を送出し(ステップS608)、再びアクセス待ち状態となる(ステップS609)。上記の処理完了信号を受け取ったI/Oコントローラ231は、CPUウェイトを解除するように、CPUコントローラ221に対して指示を送った後(ステップS411)、再びアクセス待ち状態となる(ステップS412)。
CPUコントローラ221は、CPUウェイトの解除後、電源スイッチ240を導通させることでCPU210へのパワーオンを行い(ステップS215、S108)、CPU210をリセットしてから(ステップS216、S109)、CPU210にレジスタデータの復帰処理を指示する(ステップS217)。レジスタデータの復帰処理を指示されたCPU210は、CPUコアの不揮発性記憶部に格納されているレジスタデータを揮発性記憶部に戻すための処理を行う(ステップS110)。このような立上げ処理により、CPU210に保持されているデータは、パワーオフ直前の状態に復帰される。
また、CPUコントローラ221は、CPU210でのレジスタデータ復帰処理後、メモリI/Fコントローラ222にイニシャル読出し要求を行い(ステップS218)、CPU210の通常動作を開始する(ステップS219、S111)。一方、イニシャル読出し要求を受け取ったメモリI/Fコントローラ222は、その時点でアドレスバスに出力されているアドレスに対応するデータをメインメモリ300から読み出した後(ステップS312)、CPU210からのアクセス要求に応じてメインメモリ300に対するリード/ライト制御を行う状態となる(ステップS313)。なお、上記のイニシャル読出し処理は、データバスをCPU210のパワーオフ直前の状態に戻すための処理であり、図18Aで説明した処理と同様である。
このように、システムの通常動作中においても、CPU210を必要としない処理(上記の例では、I/Oコントローラ231とメモリI/Fコントローラ222を主体としたデータ転送処理)が実行される場合には、積極的にCPU210のパワーオフを行うことにより、システムの省電力化を図ることが可能となる。
なお、上記実施形態では、C/Fカード340からメインメモリ300へのデータ転送処理を例に挙げて説明を行ったが、CPU210をパワーオフさせる機会はこれに限定されるものではなく、メインメモリ300からC/Fカード340へのデータ転送処理を行う際にCPU210のパワーオフを行っても構わないし、さらに一般的に言えば、CPU210を介することなく第1モジュールと第2モジュールとの間で直接的にデータ転送が行われている間であれば、CPU210を積極的にパワーオフさせることが可能である。
ただし、本実施形態のデータ処理装置では、システム全体への給電は維持しつつ、CPU210への給電のみ遮断する状態が当然に生じ得る。そのため、CPU210への信号入力ラインに電気的な絶縁処理を施しておかないと、上記の信号入力ラインを介してパワーオフ中のCPU210に電流が流れ込み、CPU210が意図せずにパワーオンするなど、様々な不具合を生じるおそれがある。
そこで、本実施形態のデータ処理装置は、CPU210への信号入力ライン全てに、CPU入力側スイッチ(3ステートバッファ)261〜269を挿入して成る。CPUコントローラ221は、CPU210をパワーオフする際に、CPU入力側スイッチ261〜269をオフ状態(出力ディセーブル状態(出力ハイインピーダンス状態))とし、CPU210をパワーオンする際に、CPU入力側スイッチ261〜269をオン状態(出力イネーブル状態)とする。なお、図15〜図17のフローチャートで言えば、CPU210のパワーオフを行うステップ(ステップ(ステップS213、S223)にCPU入力側スイッチ261〜269のターンオフ制御が含まれており、CPU210のパワーオンを行うステップ(ステップS203、S215)にCPU入力側スイッチ261〜269のターンオン制御が含まれている。
なお、図14では、CPU210のパワーオン/パワーオフ制御とは無関係にJTAG入力ラインの導通/遮断制御を行う必要性を鑑み、CPU入力側スイッチ261〜269のうち、JTAG入力ラインに挿入されたCPU入力側スイッチ261、262については、JTAGコントローラ224を直接の制御主体とし、その余のCPU入力側スイッチ263〜269については、CPUコントローラ221を直接の制御主体とする構成が描写されているが、本発明の構成はこれに限定されるものではなく、CPU入力側スイッチ261〜269全てについてCPUコントローラ221を直接の制御主体としてもよい。
次に、システム電源低下時のデータ待避処理について、図17を参照しながら詳細に説明する。第1電源電圧VDD1が所定の閾値VLV1を下回り、システムリセット信号RST2nがハイレベルからローレベルに立ち下がると(ステップS220)、CPUコントローラ221は、CPU210のデータ待避処理を開始し(ステップS221)、CPU210に対しレジスタデータの待避処理を指示する(ステップS222)。レジスタデータの待避処理を指示されたCPU210は、CPUコアの揮発性記憶部に格納されているレジスタデータを不揮発性記憶部に格納するための処理を行う(ステップS112)。その後、CPUコントローラ221は、電源スイッチ240を遮断させることでCPU210のパワーオフを行い(ステップS223)、システムリセット信号RST2nが再びハイレベルに立ち上がっているか否かのチェックを行う(ステップS224)。そして、CPUコントローラ221は、システムリセット信号RST2nがハイレベルに立ち上がっていれば、CPUコントローラ221からCPU210に対してイネーブル信号が送出され、CPU210の通常動作が再開される(ステップS225、S113)。
一方、メモリI/Fコントローラ222は、メインメモリ300のデータ待避処理を開始し、揮発性メモリ300aから不揮発性メモリ300bへのデータ転送処理を行い(ステップS314、S315)、その後、CPU210からのアクセス要求に従ってメインメモリ300(特に、揮発性メモリ300a)へのリード/ライト制御を行う状態に戻る(ステップS316)。
なお、図17のフローチャートでは、メインメモリ300のデータ待避処理のみが描写されており、ビデオメモリ330のデータ待避処理については何ら描写されていない。これは、ビデオメモリ330のデータ待避処理がグラフィックコントローラ232の通常動作中(図15〜図17のステップS505〜S507)にミラーリング処理として逐次実行されているからである。
上記したビデオメモリ330のミラーリング処理について、図19を参照しながら詳細に説明する。図19は、ビデオメモリ330のデータ待避処理(ミラーリング処理)を説明するためのタイミングチャートであり、上から順番に、クロック信号、アドレス信号、データ信号を示している。
先にも述べた通り、本実施形態のデータ処理装置は、システム電源低下時にデータ待避処理を行う機能を備えている。このようなデータ待避処理を行う際、メインメモリ300については、その記憶容量が比較的小さいので、システム電源の低下を検出してからデータ待避処理を開始しても、これを正常に完了することが可能である。一方、ビデオメモリ330の記憶容量は非常に大きいため、システム電源の低下を検出してからデータ待避処理を開始していたのでは間に合わないおそれがある。このような理由から、ビデオメモリ330のデータ待避処理については、グラフィックコントローラ232の通常動作中にミラーリング処理として逐次実行されている。
揮発性メモリ330aとして用いられるSRAMの転送速度(ランダムアクセス時間:55ns)は、不揮発性メモリ330bとして用いられるFRAMの転送速度(ランダムアクセス時間:110ns)の約2倍である。グラフィックコントローラ232の通常動作時、揮発性メモリ330aとして用いられるSRAMには、既に格納されているデータを順次読み出して一のフレーム画像を表示するためのシーケンシャルリードと、新たなデータを上書きするためのランダムライトが行われる。
図19に即してより具体的に述べると、SRAMについては、一のクロックパルスに同期してデータの読み出しが行われ、次のクロックパルスに同期して新たなデータの書き込みが行われる。このとき、データの読み出しについては、連続的なアドレス指定(A0、A1、A2、A3、…)に応じてシーケンシャルに実施されるが、新たなデータの書き込みについては、データ更新が必要となった画素データのみを上書きすべく、離散的なアドレス指定(A50、A51、A100、A101、…)に応じてランダムに実施される。
一方、不揮発性メモリ330bとして用いられるFRAMについては、SRAMと同一内容のデータをミラーリングするだけなので、上記のランダムライト動作しか必要としない。すなわち、SRAMに対してリード動作とライト動作が1回ずつ行われている間に、FRAMに対してはライト動作を1回だけ行えばよい。従って、SRAMとFRAMとの間に2倍近いアクセス速度の差違があっても、両者のミラーリング処理は可能である。
このように、ビデオメモリ330のデータ待避処理として、通常動作中にビデオメモリ330のミラーリング処理を逐次行う構成であれば、システム電源が突然遮断した場合でも、システム電源の再投入時において、不揮発性メモリ330bにミラーリングされているデータを揮発性メモリ330aに読み戻すことで、ビデオメモリ330に格納されているデータをシステム電源遮断直前の状態に復帰させることが可能となる(図15のステップS503を参照)。
なお、本発明の構成は、上記実施形態のほか、発明の主旨を逸脱しない範囲で種々の変更を加えることが可能である。