(57)【特許請求の範囲】
【請求項１】
時刻を示すカウント値を保持する保持更新部と、
前記保持更新部を制御する制御部と、
を含み、
前記カウント値は、クロックに従って動作する中央処理装置からの読出タイミング信号であって、前記クロックの第１エッジに同期して出力される読出タイミング信号にしたがって前記中央処理装置によって読み出され、
前記制御部は、
前記中央処理装置による前記カウント値の書き換えのタイミングを規定する書換タイミング信号であって、前記クロックの前記第１エッジとは異なる第２エッジに同期して出力される書換タイミング信号と、
前記カウント値のカウントアップのタイミングを規定するカウントアップタイミング信号であって、前記第２エッジに同期して出力されるカウントアップタイミング信号と、
を前記保持更新部に供給して、前記保持更新部の前記カウント値の更新を行う情報処理装置。
【請求項２】
前記保持更新部は、前記制御部から供給された前記書換タイミング信号に従って前記カウント値を書き換えることで前記カウント値を更新し、前記制御部から供給された前記カウントアップタイミング信号に従って前記カウント値をカウントアップすることで前記カウント値を更新する請求項１に記載の情報処理装置。
【請求項３】
前記保持更新部は、前記制御部から供給された前記書換タイミング信号に従って、時刻単位で前記カウント値を書き換え、前記カウント値の書き換えが終了する迄の間、書き換え対象とされたカウント値と異なる時刻単位のカウント値の桁上がりを阻止する論理回路を有する請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記中央処理装置は、前記クロックとして、システムクロック及び前記システムクロックよりも低周波数のクロックである低周波クロックのうちの指定されたクロックに従って動作し、
前記制御部は、前記中央処理装置が前記低周波クロックに従って動作する場合、前記カウント値のカウントアップが前記低周波クロックで規定されたタイミングで行われるように前記保持更新部を制御する請求項１から請求項３の何れか１項に記載の情報処理装置。
【請求項５】
前記制御部は、前記中央処理装置によって前記カウント値の読み出しが行われる場合、前記中央処理装置による前記カウント値の読み出しが終了したことを条件に前記カウント値がカウントアップされるように前記保持更新部を制御する請求項４に記載の情報処理装置。
【請求項６】
前記制御部は、前記中央処理装置によって前記カウント値の書き換えが行われる場合、前記中央処理装置による前記カウント値の書き換えが前記システムクロックで規定したタイミングで行われるように前記保持更新部を制御する請求項４又は請求項５に記載の情報処理装置。
【請求項７】
前記第１エッジは、前記クロックの立ち上がりであり、
前記第２エッジは、前記クロックの立ち下がりである請求項１から請求項６の何れか１項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関する。
【背景技術】
【０００２】
情報処理装置には、電源が切られた状態でも時刻を刻み続ける機能であるＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ：リアルタイムクロック）が搭載されており、ＲＴＣは、ＲＴＣモジュールによって実現される（例えば、特許文献１参照）。
【０００３】
ＲＴＣモジュールは、例えば、秒を管理する秒カウンタ及び分を管理する分カウンタを有する。一例として図１０に示すように、秒カウンタは、１Ｈｚ（ヘルツ）のクロックである１Ｈｚクロックの立ち上がりで、秒を示すカウント値である秒カウント値に１を加算することにより秒カウント値を更新する。分カウンタは、秒カウンタの秒カウント値が“５９”の場合、１Ｈｚクロックの次の立ち上がりで、分を示すカウント値である分カウント値に１を加算することにより分カウント値を更新する。
【０００４】
時、日、週、月、及び年の各々の時刻単位も、秒及び分と同様に、時カウンタ、日カウンタ、週カウンタ、月カウンタ、及び年カウンタによって管理されている。そして、１Ｈｚクロックの立ち上がりで、時カウント値、日カウント値、週カウント値、月カウント値、及び年カウント値が更新される。
【０００５】
なお、本明細書では、説明の便宜上、秒カウンタ、分カウンタ、時カウンタ、日カウンタ、週カウンタ、月カウンタ、及び年カウンタを区別して説明する必要がない場合、「時刻カウンタ」と称する。また、本明細書では、説明の便宜上、秒カウント値、分カウント値、時カウント値、日カウント値、週カウント値、月カウント値、及び年カウント値を区別して説明する必要がない場合、「時刻カウント値」と称する。
【０００６】
ところで、情報処理装置は、システムクロックに従って動作するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）によって制御される。時刻カウンタは、ＣＰＵによってシステムクロックに従ってリードアクセス及びライトアクセスされる。すなわち、時刻カウント値は、システムクロックに従ってＣＰＵによって読み出され、システムクロックに従ってＣＰＵによって書き換えられることで更新される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２２２５１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、システムクロックは、１Ｈｚクロックの周波数よりも高い周波数（例えば、数十ｋＨｚ（キロヘルツ）から数ＧＨｚ（ギガヘルツ））で、かつ、１Ｈｚクロックと非同期のクロックである。
【０００９】
そのため、一例として図１１に示すように、ＣＰＵによる秒カウント値の読み出しのタイミングが秒カウント値のカウントアップのタイミングと重なり、不確定な秒カウント値がＣＰＵによって読み出されてしまう虞がある。
【００１０】
また、一例として図１２に示すように、ＣＰＵによる分カウント値の書き換えのタイミングが時刻カウント値のカウントアップのタイミングと重なると、分カウント値の書き換えのために１Ｈｚクロックを途中で一旦ローレベルにする必要が生じる。そうすると、１Ｈｚクロックが分断され、書き換えタイミングによっては、カウントアップを完遂するために必要なパルス幅を確保することができなくなる虞がある。
【００１１】
本発明は、システムクロックの立ち上がりのみを利用して時刻の更新及び読み出しを行う場合に比べ、時刻の更新及び読み出しを高精度に行うことができる情報処理装置を提供することが目的である。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、請求項１に記載の情報処理装置は、時刻を示すカウント値であって、システムクロックに従って動作する中央処理装置によって前記システムクロックの第１エッジに同期して読み出しが行われるカウント値を保持して更新する保持更新部と、前記システムクロックの前記第１エッジとは異なる第２エッジに同期して前記カウント値がカウントアップされるように前記保持更新部を制御する制御部と、を含む。
【発明の効果】
【００１３】
本発明によれば、システムクロックの立ち上がりのみを利用して時刻の更新及び読み出しを行う場合に比べ、時刻の更新及び読み出しを高精度に行うことができる、という効果が得られる。
【図面の簡単な説明】
【００１４】
【図１】第１実施形態に係る情報処理装置の要部構成の一例を示すブロック図である。
【図２】第１実施形態に係る情報処理装置に含まれるＲＴＣＭの要部構成の一例を示す概略構成図である。
【図３】第１実施形態に係る情報処理装置において、時刻カウント値が更新され、かつ、ＣＰＵにより時刻カウント値が読み出される場合のＲＴＣＭの動作タイミングの一例を示すタイムチャートである。
【図４】第１実施形態に係る情報処理装置において、時刻カウント値が更新され、かつ、ＣＰＵにより時刻カウント値が書き換えられる場合のＲＴＣＭの動作タイミングの一例を示すタイムチャートである。
【図５】第２実施形態に係る情報処理装置の要部構成の一例を示すブロック図である。
【図６】第２実施形態に係る情報処理装置に含まれるＲＴＣＭの要部構成の一例を示す概略構成図である。
【図７】第２実施形態に係る情報処理装置において、時刻カウント値が更新される場合のＲＴＣＭの動作タイミングの一例を示すタイムチャートである。
【図８】第２実施形態に係る情報処理装置において、時刻カウント値が更新され、かつ、ＣＰＵにより時刻カウント値が読み出される場合のＲＴＣＭの動作タイミングの一例を示すタイムチャートである。
【図９】第２実施形態に係る情報処理装置において、時刻カウント値が更新され、かつ、ＣＰＵにより時刻カウント値が書き換えられる場合のＲＴＣＭの動作タイミングの一例を示すタイムチャートである。
【図１０】従来のＲＴＣＭによって時刻カウント値が更新される場合のＲＴＣＭの動作タイミングの一例を示すタイムチャートである。
【図１１】従来のＲＴＣＭによって時刻カウント値が更新され、かつ、ＣＰＵにより時刻カウント値が読み出される場合のＲＴＣＭの動作タイミングの一例を示すタイムチャートである。
【図１２】従来のＲＴＣＭによって時刻カウント値が更新され、かつ、ＣＰＵにより時刻カウント値が書き換えられる場合のＲＴＣＭの動作タイミングの一例を示すタイムチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明を実施するための形態例について詳細に説明する。
【００１６】
［第１実施形態］
一例として図１に示すように、情報処理装置１０は、ＣＰＵ１２、ＲＴＣＭ（ＲＴＣモジュール）１４、システムクロック発生器１８、及び１Ｈｚクロック発生器２０を含む。情報処理装置１０の一例としては、マイクロコントローラが挙げられるが、これに限らず、パーソナル・コンピュータやサーバ装置であってもよい。なお、本第１実施形態において、情報処理装置１０は、１チップ化された半導体装置であるが、本発明はこれに限定されるものではなく、例えば、ＣＰＵ１２とＲＴＣＭ１４とが別々にチップ化されていてもよい。
【００１７】
システムクロック発生器１８は、システムクロックを発生させ、発生させたシステムクロックを、ＣＰＵ１２及びＲＴＣＭ１４に供給する。なお、システムクロックは、ＣＰＵ１２及びＲＴＣＭ１４に限らず、情報処理装置１０に含まれる各種モジュールに供給される。また、本実施形態において、システムクロックは、数ＧＨｚのクロックとされているが、本発明はこれに限定されるものではなく、他の周波数のクロックであってもよい。
【００１８】
１Ｈｚクロック発生器２０は、１Ｈｚクロックを発生させ、発生させた１ＨｚクロックをＲＴＣＭ１４に供給する。なお、１Ｈｚクロックは、システムクロックと非同期のクロックである。
【００１９】
ＣＰＵ１２は、システムクロック発生器１８から供給されるシステムクロックに従って情報処理装置１０の全体を制御する。
【００２０】
ＲＴＣＭ１４は、１Ｈｚクロック発生器２０から供給される１Ｈｚクロックに従って計時を行う。すなわち、ＲＴＣＭ１４は、１Ｈｚクロック発生器２０から供給される１Ｈｚクロックに従って時刻カウント値をカウントアップする（１を加算する）ことで時刻カウント値を更新する。
【００２１】
ＣＰＵ１２及びＲＴＣＭ１４は、アドレスバス、コントロールバス、及びデータバスを含むバス１６に接続されている。従って、時刻カウント値は、ＲＴＣＭ１４から、バス１６に含まれる出力用のデータバスを介してＣＰＵ１２によって読み出され、バス１６に含まれる入力用のデータバスを介してＣＰＵ１２によって書き換えられる。なお、本実施形態において、時刻カウント値の更新は、カウントアップによる更新とＣＰＵ１２による書き換えによる更新とに大別される。
【００２２】
ＲＴＣＭ１４は、秒、分、時、日、週、月、及び年の各々の時刻単位毎に、ＢＣＤ（Ｂｉｎａｒｙ−ｃｏｄｅｄ  ｄｅｃｉｍａｌ）カウンタである時刻カウンタを有する。
【００２３】
また、一例として図２に示すように、時刻カウンタは、本発明に係る保持更新部の一例であるビット時刻カウンタ１４Ａを有する。ビット時刻カウンタ１４Ａは、１ビット単位で設けられており、１ビット毎に、時刻カウント値を管理する。
【００２４】
一例として図２に示すように、ＲＴＣＭ１４は、制御部１４Ｂを有する。制御部１４Ｂは、システムクロックの立ち下がり（本発明に係る第１エッジの一例）に同期して時刻カウント値が更新されるようにビット時刻カウンタ１４Ａを制御する。
【００２５】
制御部１４Ｂは、レジスタ３０，３２，論理和回路３６，３８、及び論理積回路４０，４２，４４を有する。また、ビット時刻カウンタ１４Ａは、レジスタ３４、論理積回路４６，４８，５０，５２、排他的論理和回路５４、及びセレクタ５６，５８を有する。なお、レジスタ３０，３２，３４は何れもフリップフロップである。また、論理積回路５２は、本発明に係る論理回路の一例である。
【００２６】
論理和回路３６には、ＣＰＵ１２から、バス１６に含まれるコントロールバスを介して書換タイミング信号が入力される。書換タイミング信号は、秒、分、時、日、週、月、及び年の各々の時刻単位毎にＣＰＵ１２によって生成され、各時刻カウンタの時刻カウント値の書き換えのタイミングを規定する。書換タイミング信号は、ローレベル及びハイレベルのうちの一方から他方へ遷移する２値信号であり、信号レベルがハイレベルの場合に時刻カウント値の書き換えが行われる。
【００２７】
書換タイミング信号は、秒書換タイミング信号、分書換タイミング信号、時書換タイミング信号、週書換タイミング信号、日書換タイミング信号、月書換タイミング信号、及び年書換タイミング信号に大別される。
【００２８】
秒書換タイミング信号は、秒カウンタの秒カウント値の書き換えのタイミングを規定する２値信号である。分書換タイミング信号は、分カウンタの分カウント値の書き換えのタイミングを規定する２値信号である。時書換タイミング信号は、時カウンタの時カウント値の書き換えのタイミングを規定する２値信号である。週書換タイミング信号は、週カウンタの週カウント値の書き換えのタイミングを規定する２値信号である。月書換タイミング信号は、月カウンタの月カウント値の書き換えのタイミングを規定する２値信号である。年書換タイミング信号は、年カウンタの年カウント値の書き換えのタイミングを規定する２値信号である。
【００２９】
なお、以下では、秒書換タイミング信号、分書換タイミング信号、時書換タイミング信号、週書換タイミング信号、日書換タイミング信号、月書換タイミング信号、及び年書換タイミング信号を区別して説明する必要がない場合、「書換タイミング信号」と称する。
【００３０】
論理和回路３６は、ＣＰＵ１２から入力された書換タイミング信号の論理和を示す第１論理和信号を生成する。
【００３１】
論理積回路４０は、論理和回路３６により生成された第１論理和信号とシステムクロックを反転させて得た反転システムクロックとの論理積を示す第１論理積信号を出力する。
【００３２】
レジスタ３０は、システムクロックに同期して１Ｈｚクロックを取り込み、取り込んだ１Ｈｚクロックを遅延させた信号である第１遅延信号を出力する。
【００３３】
レジスタ３２は、レジスタ３０により出力された第１遅延信号をシステムクロックに同期して取り込み、取り込んだ第１遅延信号を遅延させた信号である第２遅延信号を出力する。
【００３４】
論理積回路４２は、レジスタ３０により出力された第１遅延信号とレジスタ３２により出力された第２遅延信号を反転させて得た反転遅延信号との論理積を示す第２論理積信号を出力する。
【００３５】
論理積回路４４は、論理積回路４２により出力された第２論理積信号と反転システムクロックとの論理積を示す第３論理積信号を生成する。なお、第３論理積信号は、本発明に係るカウントアップタイミング信号の一例である。
【００３６】
論理和回路３８は、論理積回路４０により出力された第１論理積信号と論理積回路４４により出力された第３論理積信号との論理和を示す第２論理和信号を出力する。なお、第２論理和信号は、本発明に係る更新信号の一例である。
【００３７】
レジスタ３４には、１ビット分の時刻カウント値が格納されている。レジスタ３４は、セレクタ５８により出力された更新用の時刻カウント値（後述）を第２論理和信号に従って取り込み、現時点で保持している時刻カウント値を、取り込んだ更新用の時刻カウント値に書き換えることで時刻カウント値を更新する。時刻カウント値は、バス１６に含まれる出力用のデータバスを介してＣＰＵ１２によって読み出される。
【００３８】
論理積回路４６には、レジスタ３４に格納されている時刻カウント値のカウントアップを許可する２値信号であるアップ信号及び第２論理積信号が入力される。論理回路４６は、アップ信号と第２論理積信号との論理積を示す第４論理積信号を出力する。
【００３９】
論理積回路４８には、レジスタ３４に格納されている時刻カウント値をクリアする（時刻カウント値を“０”に戻す）ことを指示する２値信号であるクリア信号及び第２論理積信号が入力される。論理積回路４８は、クリア信号と第２論理積信号との論理積を示す第５論理積信号を出力する。
【００４０】
排他的論理和回路５４は、下位桁のビット時刻カウンタ１４Ａから供給されるキャリとレジスタ３４に格納されている時刻カウント値との排他的論理和を示す排他的論理和信号を出力する。
【００４１】
セレクタ５４は、排他的論理和回路５４により出力された排他的論理和信号とレジスタ３４に格納されている時刻カウント値とを第４論理積信号に従って選択的に出力する。
【００４２】
論理積回路５０は、セレクタ５４の出力結果と第５論理積信号を反転させて得た反転論理積信号との論理積を示す第６論理積信号を出力する。
【００４３】
セレクタ５８は、カウントアップ用の時刻カウント値である第６論理積信号とバス１６に含まれる入力用のデータバスを介して入力された書換用の時刻カウント値とを書換タイミング信号に従って選択的に更新用の時刻カウント値として出力する。
【００４４】
論理積回路５２は、下位桁のビット時刻カウンタ１４Ａから供給されるキャリと、レジスタ３４に格納されている時刻カウント値と、書換タイミング信号を反転させて得た反転書換タイミング信号との論理積を示す第７論理積信号を出力する。第７論理積信号の出力先は、上位桁のビット時刻カウンタ１４Ａである。
【００４５】
なお、論理積回路５２では、反転書換タイミング信号を基に第７論理積信号が生成されるので、時刻カウント値の書き換えが行われている間は、信号レベルがハイレベルの第７論理積信号であるキャリが生成されず、時刻カウント値の桁上がりが行われない。
【００４６】
次に、時刻カウント値がＣＰＵ１２によって読み出される場合のＲＴＣＭ１４の動作について図３を参照しながら説明する。
【００４７】
１Ｈｚクロックは、システムクロックの立ち上がりに同期してレジスタ３０に取り込まれ、レジスタ３０によって第１遅延信号が生成される。また、第１遅延信号は、システムクロックの立ち上がりに同期してレジスタ３２に取り込まれ、レジスタ３２によって、第１遅延信号よりもシステムクロックの１サイクル分遅延した第２遅延信号が生成される。
【００４８】
論理積回路４２では、第１遅延信号と第２遅延信号を反転させて得た反転遅延信号との論理積を示す第２論理積信号が生成される。論理積回路４２によって生成された第２論理積信号は、システムクロックに同期して１Ｈｚクロックの立ち上がりを検出したことを示す信号として用いられる。
【００４９】
論理積回路４４では、第２論理積信号と反転システムクロックとの論理積（第２論理積信号の後半部分）を示す第３論理積信号が生成される。このようにして生成された第３論理積信号は、システムクロックの立ち下がりに同期して出力される１Ｈｚクロックと同様に機能する信号である。すなわち、第３論理積信号は、時刻カウント値のカウントアップのタイミングを規定する同期信号として用いられる。
【００５０】
論理積回路４０では、書換タイミング信号の論理和を示す第１論理和信号と反転システムクロックとの論理積を示す第１論理積信号が生成される。このようにして生成された第１論理積信号は、システムクロックの立ち下がりに同期して出力される書換タイミング信号と同様に機能する信号である。すなわち、第１論理積信号は、ＣＰＵ１２による時刻カウント値の書き換えのタイミングを規定する同期信号として用いられる。
【００５１】
論理和回路３８では、第１論理積信号と第３論理積信号の論理和を示す第２論理和信号が生成される。よって、第２論理和信号のハイレベル期間は、第１論理積信号のハイレベル期間（図４参照）及び第３論理積信号のハイレベル期間の各々と一致する。なお、図３に示す例では、書換タイミング信号がＲＴＣＭ１４に供給されていないため、第１論理積信号がローレベルであり、第２論理和信号のハイレベル期間は、第３論理積信号のハイレベル期間と一致している。
【００５２】
ここで、ＣＰＵ１２は、秒カウント値の読み出しを行う場合、読み出しのタイミングを規定する信号である秒読出タイミング信号に従って秒カウント値を読み出す。秒読出タイミング信号は、ＣＰＵ１２によって生成される２値信号であり、システムクロックの立ち上がり（本発明に係る第１エッジの一例）でローレベルからハイレベルに遷移する。すなわち、秒読出タイミング信号は、システムクロックの半サイクル分だけ第３論理積信号よりも先行して立ち上がる。そのため、秒読出タイミング信号が立ち上がると、秒カウント値のカウントアップに先立って、読み出し対象の秒カウント値が確定する。読み出し対象の秒カウント値が確定すると、秒読出タイミング信号のハイレベル期間にＣＰＵ１２によって秒カウント値がレジスタ３４から読み出される。
【００５３】
時刻カウント値のカウントアップは、読み出し対象の秒カウント値の確定後、システムクロックの立ち下がりでローレベルからハイレベルに遷移する第３論理積信号のハイレベル期間に行われる。
【００５４】
よって、図３に示すように、第２論理積信号のハイレベル期間と秒読出しタイミング信号のハイレベル期間とが重なった場合であっても、読み出し対象の時刻カウント値が確定するタイミングと秒カウント値がカウントアップされるタイミングとが重ならない。従って、カウントアップ中の秒カウント値である不確定データがＣＰＵ１２によって読み出されることが回避される。
【００５５】
次に、時刻カウント値がＣＰＵ１２によって書き換えられる場合のＲＴＣＭ１４の動作について図４を参照しながら説明する。なお、時刻カウント値がＣＰＵ１２によって読み出される場合と同様の動作については説明を省略する。
【００５６】
ＣＰＵ１２は、分カウント値の書き換えを行う場合、書き換えタイミングを規定する信号である分書換タイミング信号をＲＴＣＭ１４に供給し、かつ、入力用のデータバスを介してセレクタ５８に書換用の分カウント値を供給する。
【００５７】
ここで、分書換タイミング信号は、システムクロックの立ち上がりでローレベルからハイレベルに遷移するのに対し、第３論理積信号と同期して生成される第１論理積信号は、システムクロックの立ち下がりでローレベルからハイレベルに遷移する。第１論理積信号がローレベルからハイレベルに遷移すると、分カウント値のカウントアップに優先して、ＣＰＵ１２による分カウント値の書き換えが第１論理積信号のハイレベル期間に行われる。
【００５８】
分カウント値以外の時刻カウント値のカウントアップは、図３に示す例と同様に、システムクロックの立ち下がりでローレベルからハイレベルに遷移する第３論理積信号のハイレベル期間に行われる。
【００５９】
よって、図４に示すように、第２論理積信号のハイレベル期間と分書換タイミング信号のハイレベル期間とが重なった場合であっても、分カウント値の書き換えが完遂される。また、分カウント値以外の時刻カウント値のカウントアップが分カウント値の書き換えに起因して不安定になることが回避される。
【００６０】
また、分カウント値の書き換えが行われている間、秒カウンタの論理積回路５２では、反転書換タイミング信号を基に第７論理積信号が生成されるので、分カウント値の書き換えが行われている間に第７論理積信号の信号レベルはハイレベルに遷移しない。よって、分カウント値の書き換えが行われている間、秒カウンタにおいて、キャリは、上位桁のビット時刻カウンタ１４Ａに供給されない。なお、秒カウンタに限らず、分カウンタと異なる時刻カウンタにおいても、キャリは、上位桁のビット時刻カウンタ１４Ａに供給されない。
【００６１】
以上説明したように、情報処理装置１０では、システムクロックの立ち上がりに同期して時刻カウント値の読み出しが行われ、システムクロックの立ち下がりに同期して時刻カウント値のカウントアップ及び書き換えが行われる。従って、情報処理装置１０は、システムクロックの立ち上がりのみを利用して時刻カウント値の更新及び読み出しを行う場合に比べ、時刻カウント値の更新及び読み出しを高精度に行うことができる。
【００６２】
また、情報処理装置１０では、システムクロックの立ち下がりに同期して第２論理和信号がビット時刻カウンタ１４Ａに供給されることで、ビット時刻カウンタ１４Ａにより時刻カウント値が更新される。従って、情報処理装置１０は、システムクロックの立ち下がりに同期しない信号に従ってビット時刻カウンタ１４Ａにより時刻カウント値が更新される場合に比べ、時刻カウント値の高精度な更新を簡易な構成で実現することができる。
【００６３】
また、情報処理装置１０では、システムクロックの立ち下がりに同期して出力される第１論理積信号に従って時刻カウント値の書き換えが行われる。また、システムクロックの立ち下がりに同期して出力される第３論理積信号に従って時刻カウント値のカウントアップが行われる。従って、情報処理装置１０は、システムクロックの立ち下がりに同期しない信号に従って時刻カウント値の書き換え及びカウントアップが行われる場合に比べ、時刻カウント値の高精度な更新を簡易な構成で実現することができる。
【００６４】
また、情報処理装置１０では、分カウント値の書き換えが行われている間、秒カウンタにおいて、論理積回路５２により、キャリは、上位桁のビット時刻カウンタ１４Ａに供給されない。従って、情報処理装置１０は、分カウント値の書き換えが行われている間に秒カウンタにおいてキャリが上位桁のビット時刻カウンタ１４Ａに供給される場合に比べ、分カウント値の書き換えが行われている間の秒カウント値の桁上がりを回避することができる。
【００６５】
なお、上記第１実施形態では、システムクロックの立ち上がりに同期させて時刻カウント値の読み出しが行われ、システムクロックの立ち下がりに同期させて時刻カウント値の書き換え及びカウントアップが行われているが、本発明はこれに限定されるものではない。例えば、システムクロックの立ち下がりに同期させて時刻カウント値の読み出しが行われ、システムクロックの立ち上がりに同期させて時刻カウント値の書き換え及びカウントアップが行われるようにしてもよい。
【００６６】
［第２実施形態］
上記第１実施形態では、システムクロックを用いて時刻カウント値の更新及び読み出しを行う場合を例示したが、本第２実施形態では、低周波クロックを用いて時刻カウント値の更新及び読み出しを行う場合について説明する。なお、本第２実施形態では、上記第１実施形態で説明した構成要素と同一の構成要素については同一の符号を付して、その説明を省略する。
【００６７】
一例として図５に示すように、本第２実施形態に係る情報処理装置１００は、上記第１実施形態で説明した情報処理装置１０に比べ、低周波クロック発生器１０２を有する点、及びＲＴＣＭ１４に代えてＲＴＣＭ１０４を有する点が異なる。
【００６８】
低周波クロック発生器１０２は、システムクロックよりも低周波数のクロックである低周波クロックを発生させ、発生させた低周波クロックを、ＣＰＵ１２及びＲＴＣＭ１０４に供給する。
【００６９】
低周波クロックは、システムクロック及び１Ｈｚクロックの各々と非同期のクロックであり、低周波クロックの周波数は、３２７６８Ｈｚ（例えば、水晶発振によって得られる周波数）とされている。なお、３２７６８Ｈｚの低周波クロックは、あくまでも一例であり、システムクロックよりも低周波数で、かつ、１Ｈｚよりも高周波数のクロックであればよい。
【００７０】
ＣＰＵ１２は、システムクロック発生器１８から供給されるシステムクロック及び低周波クロック発生器１０２から供給される低周波クロックのうちの指定されたクロックに従って情報処理装置１０の全体を制御する。なお、低周波クロックは、例えば、情報処理装置１０が非省電力モードから省電力モードに移行した際にＣＰＵ１２によって用いられるクロックである。
【００７１】
一例として図６に示すように、ＲＴＣＭ１０４は、図２に示すＲＴＣＭ１４に比べ、制御部１０４Ｂを有する点が異なる。
【００７２】
制御部１０４Ｂは、制御部１４Ｂに比べ、論理和回路３６及び論理積回路４０を除いた点が異なる。また、制御部１０４Ｂは、制御部１４Ｂに比べ、否定論理和回路１０６を有する点、論理積回路４４に代えてラッチ回路１０８を有する点、及び論理和回路３８に代えてセレクタ１１０を有する点が異なる。
【００７３】
否定論理和回路１０６には、ＣＰＵ１２から、バス１６に含まれるコントロールバスを介して読出タイミング信号が入力される。読出タイミング信号は、秒、分、時、日、週、月、及び年の各々の時刻単位毎にＣＰＵ１２によって生成され、各時刻カウンタの時刻カウント値の読み出しのタイミングを規定する。読出タイミング信号は、ローレベル及びハイレベルのうちの一方から他方へ遷移する２値信号であり、信号レベルがハイレベルの場合に時刻カウント値の読み出しが行われる。
【００７４】
読出タイミング信号は、上記第１実施形態で説明した秒読出タイミング信号、分読出タイミング信号、時読出タイミング信号、週読出タイミング信号、日読出タイミング信号、月読出タイミング信号、及び年読出タイミング信号に大別される。
【００７５】
分読出タイミング信号は、分カウンタの分カウント値の読み出しのタイミングを規定する２値信号である。時読出タイミング信号は、時カウンタの時カウント値の読み出しのタイミングを規定する２値信号である。週読出タイミング信号は、週カウンタの週カウント値の読み出しのタイミングを規定する２値信号である。月読出タイミング信号は、月カウンタの月カウント値の読み出しのタイミングを規定する２値信号である。年読出タイミング信号は、年カウンタの年カウント値の読み出しのタイミングを規定する２値信号である。
【００７６】
なお、以下では、秒読出タイミング信号、分読出タイミング信号、時読出タイミング信号、週読出タイミング信号、日読出タイミング信号、月読出タイミング信号、及び年読出タイミング信号を区別して説明する必要がない場合、「読出タイミング信号」と称する。
【００７７】
否定論理和回路１０６は、ＣＰＵ１２から入力された読出タイミング信号の否定論理和を示す否定論理和信号を生成する。
【００７８】
ラッチ回路１０８は、否定論理和信号に従って第２論理積信号を取り込んで、取り込んだ第２論理積信号をカウントアップクロックとしてセレクタ１１０に出力する。
【００７９】
セレクタ１１０は、書換タイミング信号に従って、反転システムクロックとカウントアップクロックとを、時刻カウント値を更新するタイミングを規定する更新タイミング信号として、選択的にビット時刻カウンタ１４Ａに出力する。すなわち、セレクタ１１０は、書換タイミング信号が入力された場合に、反転システムクロックをビット時刻カウンタ１４Ａに出力し、書換タイミング信号が入力されない場合に、カウントアップクロックをビット時刻カウンタ１４Ａに出力する。
【００８０】
次に、ＲＴＣＭ１０４の動作について図７〜図９を参照しながら説明する。
【００８１】
一例として図７に示すように、ＲＴＣＭ１０４では、上記第１実施形態で説明したＲＴＣＭ１４に比べ、システムクロックに代えて低周波クロックに従って第２論理積信号が生成される点が異なる。よって、論理積回路４２により生成された第２論理積信号は、低周波クロックに同期して１Ｈｚクロックの立ち上がりを検出したことを示す信号として用いられる。
【００８２】
ここで、ＣＰＵ１２によって秒カウント値の読み出しが行われる場合、一例として図８に示すように、秒読出タイミング信号が否定論理和回路１０６に入力される。否定論理和回路１０６に秒読出タイミング信号が入力されると、ラッチ回路１０８は、ＣＰＵ１２により秒カウント値の読み出しが行われている間、第２論理積信号の取り込みを停止する。そして、ラッチ回路１０８は、ＣＰＵ１２による秒カウント値の読み出しが終了すると、第２論理積信号の取り込みを再開する。
【００８３】
ラッチ回路１０８により第２論理積信号の取り込みが再開されることで生成されたカウントアップクロックは、セレクタ１１０により更新タイミング信号としてビット時刻カウンタ１４Ａに出力される。ビット時刻カウンタ１４Ａでの時刻カウント値のカウントアップは、更新タイミング信号のハイレベル期間に行われる。
【００８４】
また、一例として図９に示すように、秒カウント値のカウントアップが行われている途中で秒書換タイミング信号がセレクタ１１０に入力されると、セレクタ１１０により、反転システムクロックが更新タイミング信号として出力される。これにより、更新タイミング信号は、システムクロックの半サイクル分だけローレベルとなり、ローレベル期間に秒カウント値の書き換えが行われる。
【００８５】
以上説明したように、情報処理装置１００では、カウントアップクロックが低周波クロックに従って生成されることで、ビット時刻カウンタ１４Ａにより、低周波クロックで規定されたタイミングで時刻カウント値のカウントアップが行われる。従って、情報処理装置１００は、ＣＰＵ１２が低周波クロックに従って動作する場合であっても、時刻カウント値のカウントアップを行うことができる。
【００８６】
また、情報処理装置１００では、ＣＰＵ１２による時刻カウント値の読み出しが終了したことを条件に時刻カウント値がカウントアップされる。従って、情報処理装置１００は、ＣＰＵ１２が低周波クロックに従って動作する場合であっても、カウントアップ中の秒カウント値である不確定データがＣＰＵ１２によって読み出されることを回避することができる。
【００８７】
また、情報処理装置１００では、ＣＰＵ１２により時刻カウント値の書き換えが行われる場合、反転システムクロックに従って時刻カウント値の書き換えが行われる。従って、情報処理装置１００は、ＣＰＵ１２が低周波クロックに従って動作する場合であっても、時刻カウント値の書き換えと時刻カウント値のカウントアップとを両立させることができる。
【００８８】
なお、上記第２実施形態では、制御部１０４Ｂのみがビット時刻カウンタ１４Ａを制御する場合について説明したが、本発明はこれに限定されるものではなく、制御部１４Ｂ及び制御部１０４Ｂを選択的に用いてビット時刻カウンタ１４Ａを制御してもよい。例えば、ＲＴＣＭ１０４が制御部１４Ｂ及び制御部１０４Ｂの双方を備える場合には、ビット時刻カウンタ１４Ａを制御部１４Ｂと制御部１０４Ｂとに切り替えて接続するスイッチ（図示省略）を設け、スイッチをＣＰＵ１２によって制御すればよい。
【００８９】
この場合、例えば、省電力モードで、スイッチにより、制御部１０４Ｂがビット時刻カウンタ１４Ａに接続され、非省電力モードで、スイッチにより、制御部１４Ｂがビット時刻カウンタ１４Ａに接続される。これにより、省電力モードの場合、ビット時刻カウンタ１４Ａは、制御部１０４Ｂによって制御され、非省電力モードの場合、ビット時刻カウンタ１４Ａは、制御部１４Ｂによって制御される。
【符号の説明】
【００９０】
１０，１００  情報処理装置
１２  ＣＰＵ
１４，１０４  ＲＴＣＭ
１４Ａ  ビット時刻カウンタ
１４Ｂ，１０４Ｂ  制御部
５２  論理積回路
【図１】
0006584805.tif 000002
【図２】
0006584805.tif 000003
【図３】
0006584805.tif 000004
【図４】
0006584805.tif 000005
【図５】
0006584805.tif 000006
【図６】
0006584805.tif 000007
【図７】
0006584805.tif 000008
【図８】
0006584805.tif 000009
【図９】
0006584805.tif 000010
【図１０】
0006584805.tif 000011
【図１１】
0006584805.tif 000012
【図１２】
0006584805.tif 000013