(57)【要約】【課題】消費電力の低減が可能な半導体装置を提供する。【解決手段】ＣＰＵを搭載する半導体装置において、キャッシュメモリへのアクセス頻度を監視し、アクセス頻度が均一である場合はＣＰＵへの電源電圧の供給を遮断し、アクセス頻度が不均一である場合は時間差を置いてキャッシュメモリ内のメモリへの電源電圧の供給を遮断し、最終的にＣＰＵへの電源電圧の供給を遮断することができる。また、ダーティービットの判定に基づき効率の良いライトバック処理を行うことで、半導体装置の一層の省電力化を図れる。【選択図】図１
2020080164.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュメモリ、及び演算回路を備えるＣＰＵと、
制御回路を備える電源管理回路と、
記憶装置と、を有し、
前記キャッシュメモリは、複数のセットを有し、
前記セットは、データ領域と、バリッドビットを有し、
前記バリッドビットは、不揮発性メモリにより構成され、且つ前記データ領域に格納されているデータの有効あるいは無効を示し、
前記演算回路は、前記キャッシュメモリへのアクセス頻度を監視し、
前記電源管理回路は、前記キャッシュメモリ内の前記アクセス頻度の少ないセットから順次電源電圧の供給を遮断し、最後に前記ＣＰＵへの電源電圧の供給を遮断する半導体装置であって、
前記キャッシュメモリ内のセットへの電源電圧の供給を遮断する前に、当該セットのバリッドビットを無効に設定することである半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関する。特に、ＣＰＵへの電源電圧の供給を遮断する事で、消費
電力を削減させた半導体装置に関する。
【０００２】
なお、本明細書中において半導体装置とは、半導体特性を利用することで機能しうる装置
全般を指し、電気光学装置、半導体回路および電子機器は全て半導体装置である。
【背景技術】
【０００３】
現在のコンピュータは、ほとんどがストアドプログラム方式を用いるノイマン型コンピュ
ータである。ストアドプログラム方式は、演算処理に必要なデータをＣＰＵ外部の記憶装
置に格納し、該データを順次読み出す方式である。そのため、演算処理性能の向上には、
ＣＰＵ自体の高速化に加えて、ＣＰＵとＣＰＵ外部の記憶装置との間で、該データのロー
ド及びストアの高速化が求められている。
【０００４】
ＣＰＵと、ＣＰＵ外部の記憶装置との間に生じる速度差を埋め、データ処理の高速化を図
るために、キャッシュメモリが利用されている。例えば、ＣＰＵの近くに配置され、ＣＰ
Ｕに読み出される頻度の高いデータを格納する高速なキャッシュメモリと、ＣＰＵから離
れて配置され、記憶容量の大きな記憶装置とを階層的に設置する事により、ＣＰＵのアク
セス速度を高められる。
【０００５】
キャッシュメモリを階層的に複数設置する事も可能である。ＣＰＵに近い階層のキャッシ
ュメモリから順に１次キャッシュ（一例として、小容量１６〜６４ＫＢ）、２次キャッシ
ュ（一例として、中容量２５６〜５１２ＫＢ）、３次キャッシュ（一例として、大容量１
〜８ＭＢ）等と呼ばれる。ＣＰＵに近い階層程、小容量、高速なキャッシュメモリを用い
る。ＣＰＵ外部の記憶装置もまた、主記憶装置、補助記憶装置等、階層的に設置されるこ
とが多い。
【０００６】
キャッシュメモリには、ＣＰＵの演算処理に必要な全てのデータを格納することはできな
い。必要なデータがキャッシュメモリに存在する場合はキャッシュヒット、存在しない場
合はキャッシュミスと呼ばれる。キャッシュミス時は、ＣＰＵ外部の記憶装置から必要な
データを取得する必要がある。また、キャッシュメモリのデータが更新されていれば、Ｃ
ＰＵ外部の記憶装置に更新データを書き戻す必要がある。キャッシュメモリの書き換え対
象となるラインを決定する方式として、キャッシュメモリに格納された時刻が最も古いラ
インを選択するＦＩＦＯ（Ｆｉｒｓｔ  ｉｎ  Ｆｉｒｓｔ  ｏｕｔ）方式、アクセスされ
た時刻が最も古いラインを選択するＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）
方式等が挙げられる。
【０００７】
また、ＣＰＵの演算処理により得られた更新データの制御方式として、ライトスルー方式
、ライトバック方式、等が挙げられる。ライトスルー方式は、更新データをキャッシュメ
モリ及び主記憶装置に同時に格納する。従って、キャッシュミス時に、更新データを格納
したラインが書き換え対象のラインとなった場合、更新データを主記憶装置に書き戻さな
くても良い。
【０００８】
一方ライトバック方式は、更新データを一旦キャッシュメモリにのみ格納する。従って、
キャッシュミス時に、更新データを格納したラインが書き換え対象のラインとなった場合
、更新データをキャッシュメモリから主記憶装置に書き戻す必要がある。ライトバック方
式を採用することで、主記憶装置へのアクセス頻度を低減することができ、データ処理の
高速化が図れるが、一定期間、キャッシュメモリと主記憶装置との間でデータの一致（デ
ータのコヒーレンシ）が取れない。データのコヒーレンシを維持するためには、キャッシ
ュメモリに搭載されるダーティービットを利用することができる。
【０００９】
特許文献１では、ＣＰＵがアイドル状態に入る直前にライトバック処理を行い、ライトバ
ック処理後にアイドル処理を行うことにより、データのコヒーレンシを保ちながら、ＣＰ
Ｕの消費電力を低減させている。
【００１０】
特許文献２では、ダーティーテーブルメモリが溢れた時のみ、ダーティービットをスキャ
ンして、ライトバック処理を行うことにより、キャッシュデータ全体におけるダーティー
データの割合が高い場合において、処理時間を低減させている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００２−１０８７０２号公報
【特許文献２】特開２００８−３０５３０５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
一定期間、ＣＰＵへの電源電圧の供給を完全に遮断することで、ＣＰＵを搭載する半導体
装置の消費電力を抑制することができる。しかし、遮断と同時に、キャッシュメモリに格
納されているデータの内容は消失する。タイミングを考慮せず、例えばキャッシュメモリ
へのアクセスが頻繁に行われている状態において、パワーゲーティングを行えば、キャッ
シュメモリの性能低下が顕著になる。
【００１３】
特許文献１では、ＣＰＵのアイドル状態への移行を利用する事で、キャッシュメモリの性
能低下を軽減しているが、ＣＰＵは、新たなタスクの発生に備えて、アイドル状態中も一
定の電力を消費している。
【００１４】
即ち、ＣＰＵを搭載する半導体装置の信頼性を損なうことなく、ＣＰＵへの電源電圧の供
給を完全に遮断することは、非常に難しい。
【００１５】
また、電源電圧の遮断直前にキャッシュメモリに格納されているデータの退避処理、電源
電圧の再供給後にキャッシュメモリに新たに格納されるデータの復帰処理の高速化、及び
高効率化も求められる。
【００１６】
そこで、消費電力の低減が可能な半導体装置を提供することを課題の一つとする。
【００１７】
また、キャッシュメモリの性能低下を軽減しつつ、電力消耗を抑制する半導体装置を提供
することを課題の一つとする。
【００１８】
また、効率の良いデータ退避及びデータ復帰を行うことを課題の一つとする。
【課題を解決するための手段】
【００１９】
キャッシュメモリへのアクセス頻度を、ＣＰＵ内の演算回路で監視し、監視結果に基づい
て、電源管理回路により、ＣＰＵへの電源電圧の供給を断つ。また、電源管理回路はキャ
ッシュメモリ内のメモリへの電源電圧の供給を断つこともできる。
【００２０】
ＣＰＵへの電源電圧の供給の遮断は、ＣＰＵがアイドル状態に移行するタイミング、キャ
ッシュメモリへのアクセスが無いタイミングで行われても良い。
【００２１】
また、電源電圧の供給を必要としないキャッシュメモリ内のメモリから電源電圧の供給の
遮断が行われ、最終的にＣＰＵへの電源電圧の供給の遮断が行われても良い。
【００２２】
また、ＣＰＵからのアクセス頻度が低いキャッシュメモリ内のメモリから電源電圧の供給
の遮断が行われ、最終的にＣＰＵへの電源電圧の供給の遮断が行われても良い。
【００２３】
本明細書で開示する本発明の一態様は、ダーティービットを複数含むキャッシュメモリ、
及び演算回路を備えるＣＰＵと、制御回路を備える電源管理回路と、記憶装置と、を有し
、電源管理回路は、ＣＰＵへの電源電圧の供給、又は供給の遮断を行い、ダーティービッ
トは、キャッシュメモリに格納されている第１のデータと、記憶装置に格納されている第
２のデータとの一致あるいは不一致を示し、演算回路は、キャッシュメモリへのアクセス
頻度を監視し、制御回路は、ＣＰＵへの電源電圧の供給の遮断を開始するタイミング又は
、遮断を終了するタイミングを決定することを特徴とする半導体装置である。
【００２４】
電源管理回路は、演算回路及び制御回路からの出力に基づいて、設定値を設定する設定レ
ジスタを備えていても良い。
【００２５】
また、ＣＰＵへの電源電圧の供給を遮断する前に、ダーティービットが、第１のデータと
第２のデータとが一致しない事を示した場合、記憶装置には第１のデータが格納され、ダ
ーティービットが、第１のデータと第２のデータとが一致する事を示した場合、記憶装置
には第２のデータが格納される。即ち、キャッシュメモリ内の変更されたデータに対して
のみライトバック処理が行われる。
【００２６】
また、ダーティービットは、キャッシュメモリに格納されている第１のデータと、キャッ
シュメモリに格納されている第３のデータとの一致あるいは不一致を示すことも可能であ
る。
【００２７】
また、キャッシュメモリは、第１のデータの有効あるいは無効を示すためのバリッドビッ
トを複数含んでいても良い。バリッドビットが、第１のデータの無効を示し、且つ、ダー
ティービットが、第１のデータと第２のデータとが一致しない事を示した場合、記憶装置
には第１のデータが格納される。
【００２８】
また、ＣＰＵは不揮発性ラッチを備えていても良い。
【００２９】
また、制御回路は、ＣＰＵへの電源電圧の供給を遮断する期間を設定するタイマ回路を備
えていても良い。
【００３０】
また、オペレーティングシステムによって管理されるタスクを、ＣＰＵが実行していない
ときに、ＣＰＵへの電源電圧の供給を遮断することが好ましい。
【００３１】
また、キャッシュメモリ内のメモリは、複数のセットに分離されるｎ−ｗａｙセットアソ
シエイティブ方式のキャッシュメモリであっても良い。
【００３２】
また、キャッシュメモリは、ダイレクトマップ方式、フルアソシアティブ方式等を用いて
も良い。
【００３３】
なお、本明細書におけるライトバック処理とは、あるラインにおいてライトバック処理を
行うことを意味するものとする。
【００３４】
また、本明細書におけるライトバック判定処理とは、ライトバック処理が必要なラインを
判定し、該ラインに対してのみライトバック処理を行うことを意味するものとする。
【００３５】
また、本明細書におけるタスクとは、ＣＰＵが実行する処理の実行単位を意味するものと
する。例えば、ＣＰＵが実行する命令を複数まとめて、意味のある命令群とみなしたもの
を意味するものとする。
【発明の効果】
【００３６】
本発明の一態様によれば、キャッシュメモリへのアクセス頻度を監視し、アクセス頻度が
均一である場合はＣＰＵへの電源電圧の供給を遮断し、アクセス頻度が不均一である場合
は時間差を置いてメモリへの電源電圧の供給を遮断し、最終的にＣＰＵへの電源電圧の供
給を遮断することができる。従って、キャッシュメモリの性能低下、及び半導体装置の信
頼性低下を軽減させつつ、半導体装置の電力消耗を抑制できる。更に、ダーティービット
の判定に基づき効率の良いライトバック処理を行うことで、半導体装置の一層の省電力化
を図れる。
【図面の簡単な説明】
【００３７】
【図１】本発明の一態様に係わる半導体装置を説明する図。
【図２】本発明の一態様に係わる半導体装置を説明する図。
【図３】実行できるタスクが存在しない場合のフローチャートを説明する図。
【図４】ライトバック判定処理のフローチャートを説明する図。
【図５】実行できるタスクが存在する場合のフローチャートを説明する図。
【図６】メモリセルの構成を示す回路図。
【図７】メモリセルの構成を示す回路図。
【図８】本発明の一態様に係わる不揮発性レジスタを示す回路図。
【図９】本発明の一態様に係わる不揮発性レジスタの動作を示すタイミングチャート。
【図１０】本発明の一態様に係わる不揮発性レジスタを示す回路図。
【図１１】本発明の一態様に係わる不揮発性レジスタの動作を示すタイミングチャート。
【図１２】本発明の一態様に係わるキャッシュメモリ及び記憶装置を示す回路図。
【図１３】電子機器の一例を示す図。
【図１４】電源管理回路の動作の一例を示す図。
【発明を実施するための形態】
【００３８】
実施の形態について、図面を用いて詳細に説明する。但し、本発明は以下の説明に限定さ
れず、本発明の趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に変更し
得ることは当業者であれば容易に理解される。従って、本発明は以下に示す実施の形態の
記載内容に限定して解釈されるものではない。なお、以下に説明する発明の構成において
、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、
その繰り返しの説明は省略する。
【００３９】
（実施の形態１）
本実施の形態では、一例としてｎ−ｗａｙセットアソシエイティブ方式のキャッシュメモ
リを適用した半導体装置の構成について図１を用いて説明する。該半導体装置は、キャッ
シュメモリへのアクセス頻度を監視し、監視結果に基づいてキャッシュメモリの状態を考
慮しながら、電源管理回路によってＣＰＵへの電源電圧の供給を遮断することが可能であ
る。また、キャッシュメモリに搭載されているダーティービットの判定を利用することで
、処理時間を短縮した高効率なライトバック処理を行うことが可能である。
【００４０】
半導体装置１００は、ＣＰＵ１０１と、記憶装置１１０と、電源管理回路１０７とを有す
る。ＣＰＵ１０１には、キャッシュメモリ１０４と、レジスタ１０５と、演算回路１０６
とが備えられている。記憶装置１１０には、主記憶装置１０２と、補助記憶装置１０３と
が備えられている。電源管理回路１０７には、設定レジスタ１０８と、制御回路１０９と
が備えられている。
【００４１】
ＣＰＵ１０１の演算処理等に必要なデータは、レジスタ１０５、キャッシュメモリ１０４
、記憶装置１１０、のいずれかに格納されている。ｎ−ｗａｙセットアソシエイティブ方
式のキャッシュメモリは、複数のセットを有し、各セットは、複数のラインを有する。
【００４２】
ライトバック処理の際、キャッシュメモリ１０４のあるラインに格納されているデータは
、直接記憶装置１１０に退避させても良いし、他のセット又は他のラインに退避させた後
、記憶装置１１０に退避させても良い。
【００４３】
ＣＰＵ１０１は、キャッシュメモリ１０４、及びレジスタ１０５に格納されている命令（
データ）を読み出し、該当する処理（演算処理等）を、演算回路１０６により実行する。
【００４４】
演算回路１０６は、キャッシュメモリ１０４、レジスタ１０５及び設定レジスタ１０８へ
のデータの格納、又該データの読み出しを行う。更に、演算回路１０６は、キャッシュメ
モリ１０４へのアクセス頻度を監視し、監視結果に基づく設定値を、設定レジスタ１０８
へと出力する。監視結果とは、例えばメモリへのアクセス頻度が均一であるか不均一であ
るか、キャッシュメモリの使用頻度の高低を含む履歴、等を指す。
【００４５】
なお、演算回路１０６の構成は特に限定されない。演算回路１０６は、キャッシュメモリ
１０４を常にモニタするモニタ回路を備えていても良い。
【００４６】
なお、ＣＰＵ１０１は、データがキャッシュメモリ１０４に存在しない場合には、主記憶
装置１０２、補助記憶装置１０３、の順にアクセスし、該記憶装置に格納されているデー
タを取得することが可能である。
【００４７】
電源管理回路１０７は、設定レジスタ１０８に書き込まれた設定値に基づいて、ＣＰＵ１
０１への電源電圧１１１の供給、又は供給の遮断を行う。また、キャッシュメモリ１０４
内のメモリへの電源電圧１１１の供給、又は供給の遮断を行うこともできる。なお、キャ
ッシュメモリ内のメモリへの電源電圧の供給の遮断は、使用頻度、アクセス頻度の低いメ
モリ、電源電圧が供給される必要のないメモリに対して行うことが可能である。詳細につ
いては後述する。
【００４８】
設定レジスタ１０８は、電源管理回路１０７の動作を制御する。動作を制御するための設
定値は、演算回路１０６及び制御回路１０９によって設定され、設定レジスタ１０８に書
き込まれている。設定値は、キャッシュメモリへのアクセス頻度に応じて設定されている
。なお、電源管理回路の動作は、設定値により様々なパターンで制御可能である。本実施
の形態では、電源管理回路の動作として具体例として３つのパターンに分けて説明する。
１つ目のパターンとして、キャッシュメモリへのアクセスが無い、又はキャッシュメモリ
内の各セット又は各ラインへのアクセス頻度に差が無い場合、電源管理回路は、即座にＣ
ＰＵへの電源電圧の供給の遮断を行う。２つ目のパターンとして、アクセス頻度に差が有
る場合、電源管理回路は、キャッシュメモリ内のセットの中で、最もアクセス頻度の高い
セットを除いたセットに対して、同時に電源電圧の供給の遮断を行い、最終的に、ＣＰＵ
への電源電圧の供給の遮断を行う。３つ目のパターンとして、アクセス頻度に差が有る場
合、電源管理回路は、アクセス頻度の低いキャッシュメモリ内のセットから、順番に電源
電圧の供給の遮断を行い、最終的に、ＣＰＵへの電源電圧の供給の遮断を行う。詳細につ
いては後述する。
【００４９】
なお、設定レジスタに書き込まれた設定値はこれらに限定されず、ＣＰＵの状態、キャッ
シュメモリの使用頻度及びアクセス頻度、キャッシュメモリのサイズ、アプリケーション
の有無等により、自由に設定変更可能である。
【００５０】
制御回路１０９は、ＣＰＵ１０１及びキャッシュメモリ１０４内のメモリへの電源電圧１
１１の供給、及び供給の遮断を行うタイミング、キャッシュメモリ１０４内のどのメモリ
から電源電圧１１１の供給を遮断するか、遮断する期間の長さ、等を決定し、設定値を設
定レジスタ１０８へと出力する。
【００５１】
なお、電源管理回路１０７に電源電圧１１１を供給する手段は特に限定されない。公知の
ＡＣアダプタや、バッテリー等を用いても良い。
【００５２】
なお、ＣＰＵ１０１及びキャッシュメモリ１０４内のメモリへの電源電圧の供給、及び供
給の遮断を行うタイミング特に限定されない。
【００５３】
なお、遮断する期間の長さは、特に限定されない。基本プログラムに含まれるタスクのス
ケージューリング機能により算出されても良い。ＣＰＵの演算処理性能に影響がないよう
に算出されることが好ましい。遮断する期間の長さが長い程、半導体装置の省電力化が図
れる。
【００５４】
なお、制御回路１０９は、遮断期間を計測する機能を有している。計測機能は特に限定さ
れない。計測機能は、タイマ回路であっても良い。
【００５５】
また、制御回路１０９は、新たなタスクの存在を判定する機能を有する回路等により制御
されても良い。例えば、該回路により新たなタスクの存在が確認されなかった場合、電源
電圧の供給を遮断し、該回路により新たなタスクの存在が確認された場合、電源電圧を再
供給する、等の制御を行っても良い。
【００５６】
なお、新たなタスクの存在を判定する機能を有する回路の一例として、周辺機器からの割
り込み信号を検出する回路が挙げられる。該回路は、キーボード、ポインティングデバイ
ス、タッチパネルなどの入力装置が操作された場合に、入力装置が生成する割り込み信号
を検出する。
【００５７】
記憶装置１１０は、主記憶装置１０２、補助記憶装置１０３が階層的に配置されている。
キャッシュメモリ１０４と記憶装置１１０との間ではデータのコヒーレンシ維持のために
、定期的に相互アクセスが行われている。なお、本発明の一態様においてＣＰＵへの電源
電圧の供給遮断直前にキャッシュメモリ１０４に格納されていたデータは、ＣＰＵへの電
源電圧の供給遮断直後には記憶装置１１０に格納されている。
【００５８】
レジスタ１０５は、即時利用される演算結果を、一時的に記憶する。また、演算処理に必
要なデータのアドレスや、周辺機器の動作状態等を記憶する。レジスタ１０５には、ＣＰ
Ｕへのアクセス速度が高速な半導体メモリを用いる事が好ましい。更に、レジスタ１０５
には、ＣＰＵへの電源電圧の供給を遮断してもデータが保持される不揮発性メモリを用い
る事が好ましい。ＣＰＵへの電源電圧の供給遮断直前に保持されたデータを用いて、再供
給後も演算処理の続きを再開できるためである。
【００５９】
具体的には、不揮発性のラッチ、不揮発性のレジスタ等が挙げられる。不揮発性のラッチ
、及び、不揮発性のレジスタの構成としては、公知の構成が適用できる（実施の形態５を
参酌）。一例として、不揮発性のラッチ、及び、不揮発性のレジスタにおけるトランジス
タに酸化物半導体を用いることができる。
【００６０】
キャッシュメモリ１０４は、ＣＰＵ１０１が実行するプログラム、演算処理に必要なデー
タ等の一部を一時的に記憶する。キャッシュメモリ１０４は、ＣＰＵ１０１から高速にア
クセスできるように配置されることが好ましい。また、ＣＰＵへのアクセス速度が高速な
半導体メモリを用いる事が好ましい。具体的には、フリップフロップ回路によって構成さ
れるＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等が挙げら
れる（実施の形態３を参酌）。
【００６１】
主記憶装置１０２は、演算回路１０６等で使用するプログラムやデータ等の一部を一時的
に格納する。主記憶装置１０２は、キャッシュメモリ１０４に比べて容量が大きく、揮発
性メモリを用いる事が好ましい。具体的には、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ
Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａ
ｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等が挙げられる（実施の形態３を参酌）。
【００６２】
補助記憶装置１０３は、主記憶装置１０２に比べて容量が大きく、長期間データを保存す
ることが可能な不揮発性のメモリを用いることが好ましい。具体的には、ＨＤＤ（Ｈａｒ
ｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、フレキシブルディスクドライブ、光ディスクドライブ等が
挙げられる。なお、補助記憶装置１０３から主記憶装置１０２へのプログラムやデータ等
の格納は、ＣＰＵ１０１が実行する基本プログラム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓ
ｔｅｍ）によって管理されている。
【００６３】
次に、図１４の模式図を用いて、電源管理回路の動作について説明する。電源管理回路の
動作の具体例を３つのパターンに分けて説明する。上述のように、本発明の一態様に係る
半導体装置は、キャッシュメモリへのアクセス頻度を監視し、監視結果に基づいてキャッ
シュメモリの状態を考慮しながら、電源管理回路によってＣＰＵへの電源電圧の供給を遮
断することが可能である。また、電源管理回路によってキャッシュメモリ内のメモリへの
電源電圧の供給を遮断することが可能である。
【００６４】
図１４において、キャッシュメモリは、４−ｗａｙセットアソシエイティブ方式であり、
４個のセット（セット（１）〜セット（４））を有する。各セットは、４個のライン（ｌ
ｉｎｅ（１）〜ｌｉｎｅ（４））を含む。
【００６５】
ＣＰＵ内の演算回路は、キャッシュメモリへのアクセス頻度を監視することができる。具
体的には、図１４に示す４−ｗａｙセットアソシエイティブ方式の場合、４個のセットに
おけるアクセス頻度、４個のラインにおけるアクセス頻度を監視することができる。
【００６６】
図１４（Ａ）は、４個のセット（セット（１）〜セット（４））に対して同時に、電源電
圧の供給の遮断を行った場合を示している。この場合、電源管理回路は、ＣＰＵとキャッ
シュメモリへの電源電圧の供給の遮断を同時に行っている。
【００６７】
ＣＰＵにとって実行すべきタスクが無い、またＣＰＵがアイドル状態に移行する、等のよ
うにキャッシュメモリへのアクセスが無い場合は、４個のセットに対して同時に、電源電
圧の供給の遮断を行うことが好ましい。
【００６８】
更に、４個のセットに対してアクセス頻度が均一である場合等も、４個のセットに対して
同時に、電源電圧の供給の遮断を行うことが好ましい。
【００６９】
図１４（Ｂ）は、セット（１）、セット（３）、セット（４）に対して同時に、電源電圧
の供給の遮断を行った場合を示している。４個のセットそれぞれに対して、アクセス頻度
が不均一である場合であり、且つアクセス頻度が最も高いセットを特定できる場合は、こ
のように、アクセス頻度が最も高いセット（２）を除いたセット（１）、セット（３）、
セット（４）に対して、同時に電源電圧の供給の遮断を行い、最終的に、ＣＰＵへの電源
電圧の供給の遮断を行うことが好ましい。なお、ＣＰＵからのセット（２）に対するアク
セス頻度が、セット（１）、セット（３）、セット（４）に対するアクセス頻度よりも際
だって高い時に、電源管理回路の動作をこのように制御する事が好ましい。
【００７０】
図１４（Ｂ）のように、ＣＰＵからのアクセス頻度が最も高いセット（２）を抽出し、セ
ット（２）を稼働させることで、キャッシュメモリの性能低下を低減できる。なお、セッ
ト（２）の駆動時間は、キャッシュメモリの性能が維持できる程度であることが好ましい
。
【００７１】
この場合、ＣＰＵへの電源電圧の供給を遮断するまでの間、少なくとも４個のセット全て
を稼働させるよりは、ＣＰＵの消費電力を低減させた状態で、演算処理を行う事ができる
。また、ＣＰＵからのアクセス頻度が最も高いセット（２）を稼働させることで、キャッ
シュメモリの性能低下を軽減しつつ電力消耗を抑制することができる。
【００７２】
また、データ退避については、セット（１）、セット（３）、セット（４）に対して行わ
れる電源電圧の供給の遮断直前に、これらのセットのデータを、記憶装置に退避させる。
その後、セット（２）を暫く稼働させた後、セット（２）に対して行われる電源電圧の供
給の遮断直前に、セット（２）のデータを、記憶装置に退避させる。
【００７３】
図１４（Ｃ）は、ＣＰＵからのアクセス頻度が低いセット、又電源電圧が供給される必要
の無いセットから順番に、電源電圧の供給の遮断を行った場合を示している。勿論この場
合も、４個のセットそれぞれに対して、アクセス頻度が不均一である。
【００７４】
まず、キャッシュメモリ内でＣＰＵからのアクセス頻度が最も低いセット（２）の中の、
アクセス頻度が最も高いｌｉｎｅ（４）に格納されているデータを、同じキャッシュメモ
リ内のセット（１）のｌｉｎｅ（４）に、一旦退避させる。この場合、セット（１）のｌ
ｉｎｅ（４）に格納されているデータよりも、セット（２）のｌｉｎｅ（４）に格納され
ているデータの方が、ＣＰＵからのアクセス頻度が高いことが好ましい。
【００７５】
その後、セット（２）に対して電源電圧の供給の遮断を行う。
【００７６】
次いで、アクセス頻度がセット（２）よりも高いセット（４）の中の、アクセス頻度が最
も高いｌｉｎｅ（２）に格納されているデータを、同じキャッシュメモリ内のセット（１
）のｌｉｎｅ（２）に、一旦退避させる。この場合、セット（１）のｌｉｎｅ（２）に格
納されているデータよりも、セット（４）のｌｉｎｅ（２）に格納されているデータの方
が、ＣＰＵからのアクセス頻度が高いことが好ましい。
【００７７】
その後、セット（４）に対して電源電圧の供給の遮断を行う。
【００７８】
次いで、アクセス頻度がセット（４）よりも高いセット（３）の中の、アクセス頻度が最
も高いｌｉｎｅ（３）に格納されているデータを、同じキャッシュメモリ内のセット（１
）のｌｉｎｅ（３）に、一旦退避させる。この場合、セット（１）のｌｉｎｅ（３）に格
納されているデータよりも、セット（３）のｌｉｎｅ（３）に格納されているデータの方
が、ＣＰＵからのアクセス頻度が高いことが好ましい。
【００７９】
その後、セット（３）に対して電源電圧の供給の遮断を行う。
【００８０】
図１４（Ｃ）のように、ＣＰＵからのアクセス頻度が最も高いセット（１）を抽出し、更
に、セット（１）のラインよりもアクセス頻度の高いラインを、セット（２）、セット（
３）、セット（４）のラインから探し出し、該ラインに格納されているデータを一旦、セ
ット（１）に退避させることで、セット（１）のアクセス頻度を高めることができる。
【００８１】
更に、セット（１）を除いたセット（２）、セット（３）、セット（４）に対して電源電
圧の供給の遮断を行って休止させ、セット（１）を暫く稼働させることで、キャッシュメ
モリの性能を最大限に引き出しながら、半導体装置の消費電力を低減することができる。
【００８２】
その後、セット（１）を暫く稼働させた後、セット（１）に対して行われる電源電圧の供
給の遮断直前に、セット（１）のデータを、記憶装置に退避させる。なお、該セット（１
）の駆動時間は、キャッシュメモリの性能が維持できる程度であることが好ましい。
【００８３】
このように、キャッシュメモリ１０４のあるセットのあるラインに格納されているデータ
を、他のセットの対応するラインに一旦退避させた後、最終的に記憶装置に退避させても
良い。
【００８４】
図１４（Ｃ）では、ＣＰＵへの電源電圧の供給の遮断を行うまで、最も使用頻度の高いセ
ットに対して電源電圧の供給の遮断を行わないため、キャッシュメモリへのアクセス効率
を高めながら、電力消耗を抑制できる。
【００８５】
図２に、本発明の一態様に係るキャッシュメモリ１０４の構成の一例を示す。
【００８６】
また、本実施の形態では一例として、キャッシュメモリ１０４は、ｎ−ｗａｙセットアソ
シエイティブ方式を用いているが、ダイレクトマップ方式、フルアソシアティブ方式等を
用いても良い。ｎ−ｗａｙセットアソシエイティブ方式は、あるアドレスのデータを格納
するセットとしてｎ（ｎは２以上の自然数）個のセット、ラインとしてｓ（ｓは２以上の
自然数）個のラインを候補とする方式である。
【００８７】
キャッシュメモリ１０４は、ｎ個のセット２０４を有する。セット２０４は、ｓ個のライ
ン（ｌｉｎｅ（１）〜ｌｉｎｅ（ｓ））を含む。各ライン２００は、バリッドビット２０
１と、ダーティービット２０２と、を含むフラグ領域２０７と、データ領域２０３と、タ
グ領域２０５と、を有する。
【００８８】
データ領域２０３は、プログラム及び演算処理等に必要なデータを記憶する領域である。
例えば、主記憶装置（又は補助記憶装置）のあるアドレスに格納されているデータを該ア
ドレスに対応するラインのデータ領域に格納する場合、該ラインのデータ領域に格納され
ているデータと、該アドレスに格納されているデータとが一致する。
【００８９】
タグ領域２０５は、データ領域２０３に格納されたデータに対応するアドレスを記憶する
。
【００９０】
フラグ領域２０７は、少なくともバリッドビット２０１と、ダーティービット２０２とを
含み、ライン２００のデータ領域２０３に格納されたデータの属性を示す領域である。
【００９１】
バリッドビット２０１は、ライン２００のデータ領域２０３に格納されたデータが有効で
あるか、無効であるかを示す。
【００９２】
本明細書において、バリッドビット２０１のデータがデータＡ（一例として、”０”）で
あるときは、ライン２００のデータ領域２０３に格納されたデータが無効である事を意味
する。例えば、ＣＰＵ１０１外部の記憶装置のあるアドレスのデータを、対応するライン
２００のデータ領域２０３に格納する前の状態等を示す。バリッドビット２０１のデータ
がデータＡであるラインからデータを読み出すと、キャッシュミスになる。
【００９３】
本明細書において、バリッドビット２０１のデータがデータＢ（一例として、”１”）で
あるときは、ライン２００のデータ領域２０３に格納されたデータが有効である事を意味
する。即ちバリッドビット２０１のデータがデータＢであるラインのデータ領域２０３に
格納されたデータとＣＰＵ１０１が要求したアドレスとが一致すると、キャッシュヒット
になる。この場合、ＣＰＵ１０１は該ラインのデータ領域２０３に格納されたデータを用
いて演算処理を進めることができる。
【００９４】
なお、本発明の一態様に係る半導体装置１００において、ＣＰＵ１０１への電源電圧の供
給が再開した際に、全バリッドビットのデータをデータＡに設定する。（実施の形態２を
参酌。）一例として、バリッドビットをリセット付のラッチとし、ＣＰＵへの電源電圧の
供給が再開した際に、全バリッドビットをリセットする構成としてもよい。該構成とする
ことで、後述するように、ＣＰＵの演算処理の再開を高速に行い、ＣＰＵへの電源電圧の
供給を遮断する期間をより長期間とすることも可能である。
【００９５】
また、バリッドビット２０１は、不揮発性記憶装置とすることが好ましい。
【００９６】
ダーティービット２０２は、ライン２００のデータ領域２０３に格納されたデータが変更
されているか、変更されていないかを示す。すなわち、該ラインに格納されているデータ
と、主記憶装置の該ラインに対応するアドレスに格納されているデータとが異なるか、一
致するかを示す。なお、本明細書においては、バリッドビットのデータがデータＢの時に
限り、ダーティービット２０２の判定を可能とする。即ち、バリッドビットのデータがデ
ータＢ且つダーティービットのデータがデータＣに設定されている場合、該ラインのデー
タは変更されている、バリッドビットのデータがデータＢ且つダーティービットのデータ
がデータＤに設定されている場合、該ラインのデータは変更されていない。
【００９７】
本明細書において、ダーティービット２０２のデータがデータＣ（一例として、”１”）
に設定されているとは、ライン２００のデータ領域２０３に、ＣＰＵ１０１外部の記憶装
置からデータを格納した後に、該データが変更されていることを示す。即ち、データ領域
２０３に格納されたデータと、外部の記憶装置の対応するアドレスのデータとが一致しな
いことを示す。
【００９８】
ダーティービット２０２のデータがデータＤ（一例として、”０”）に設定されていると
は、ライン２００のデータ領域２０３に、ＣＰＵ１０１外部の記憶装置からデータを格納
した後に、該データが変更されていないことを示す。即ち、データ領域２０３に格納され
たデータと、外部の記憶装置の対応するアドレスのデータとが一致することを示す。
【００９９】
図３に、半導体装置１００において、ＣＰＵ１０１に供給する電源電圧の遮断を行う場合
のフローチャートを示す。
【０１００】
本発明の一態様においては、ＣＰＵ１０１への電源電圧の供給を遮断する直前に効率の良
いデータ退避を行い、電源再供給後のデータの自己復帰に要する処理時間を短縮すること
で、ＣＰＵへの電源電圧の供給を遮断する期間をより長期間とし、半導体装置１００の消
費電力を抑制することができる。
【０１０１】
ＣＰＵ１０１への電源電圧の供給を遮断するタイミングは特に限定されないが、基本的に
は実行できるタスクが存在しないタイミングで行われる事が好ましい。
【０１０２】
ステップ３１において、実行できるタスクが存在するか否かの判定が行われる。ステップ
３１は、ＣＰＵ１０１が実行する基本プログラム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔ
ｅｍ）によって管理される構成が好ましい。より具体的には、実行できるタスクが存在す
るか否かは、基本プログラムに含まれるタスクのスケージューリング機能により管理する
。なお、実行できるタスクが存在しないとは、一定期間、実行すべきタスクが存在しない
ことも含む。この判定において、実行できるタスクが存在する（Ｙｅｓ）と判定された場
合は、ステップ３２へと進みタスクが実行される。実行できるタスクが存在しない（Ｎｏ
）と判定された場合は、ステップ３３へと進む。
【０１０３】
ステップ３２において、ＣＰＵ１０１は、タスクを実行する。該タスクが終了した後は、
ステップ３１に戻る。
【０１０４】
ステップ３３において、ＣＰＵ１０１への電源電圧の供給を遮断する直前にキャッシュメ
モリ１０４のライトバック処理を行う。ステップ３３は、ＣＰＵ１０１がライトバック処
理を行うための専用命令で実行する構成とすることが好ましい。
【０１０５】
ＣＰＵ１０１への電源電圧の供給を遮断する際、ＣＰＵ１０１内部のキャッシュメモリ１
０４のデータと、外部の主記憶装置１０２又は補助記憶装置１０３のデータとのコヒーレ
ンシ維持処理が必要である。ステップ３３におけるライトバック処理によって、キャッシ
ュメモリ１０４のデータと外部の主記憶装置１０２又は補助記憶装置１０３のデータとを
一致させることができる。
【０１０６】
ステップ３４において、ライトバック処理後にＣＰＵ１０１への電源電圧の供給を遮断す
る。なお、レジスタ１０５が不揮発性レジスタであれば、ＣＰＵへの電源電圧の供給を遮
断しても、レジスタ１０５に格納されているデータは保存されたままである。
【０１０７】
ステップ３４の処理は、電源管理回路１０７により実行される。具体的には、制御回路１
０９及び演算回路１０６によって決められ、設定レジスタ１０８に書き込まれた設定値に
従って、電源管理回路１０７の動作は制御され、電源管理回路１０７はステップ３４の処
理を行う。
【０１０８】
ステップ３５において、ＣＰＵ１０１への電源電圧の供給を再開する。ステップ３５の処
理もまた、ステップ３４の処理と同様に、電源管理回路１０７により実行される。
【０１０９】
上記のように、実行できるタスクが存在しない期間にＣＰＵ１０１に供給される電源を遮
断することによって、ＣＰＵ１０１の演算性能を低下させることなく半導体装置１００の
消費電力を削減できる。
【０１１０】
ステップ３５の後は、ステップ３１に戻る。
【０１１１】
ステップ３５においてＣＰＵへの電源電圧の供給を再開した直後に、全バリッドビットの
データを一括してデータＡに設定する（実施の形態２を参酌）。該設定により、ＣＰＵへ
の電源電圧の供給が再開し、ＣＰＵが演算処理を再開する時に、全バリッドビットのデー
タがデータＡになる。ＣＰＵ内部のレジスタ１０５（不揮発性レジスタ又はパイプライン
を構成するフリップフロップ等）には、ＣＰＵへの電源電圧の供給を遮断する直前におけ
るデータが格納されているため、続きの命令から実行する事が可能である。全バリッドビ
ットのデータがデータＡに設定されているため、ＣＰＵへの電源電圧の供給を再開した直
後は、キャッシュミスを頻発することになる。しかし、電源電圧の供給再開直後に実行す
る演算処理に必要な命令及びデータを順にキャッシュメモリに格納しながら、演算処理を
再開できる。従って、キャッシュメモリ全体のデータを全て復帰させてから演算処理を再
開する場合と比べて、実効的な処理時間が短く且つ効率的である。
【０１１２】
なお、ステップ３４からステップ３５までの期間、即ちＣＰＵ１０１への電源電圧の供給
を遮断する期間の長さは、半導体装置１００に搭載される、タイマ回路により設定されて
も良い。ステップ３４の実行と同時に、タイマ回路により、一定期間を計測した後、ステ
ップ３５へと進むこともできる。
【０１１３】
ステップ３５は、ステップ３４の後に新たなタスクが発生した場合であっても実行するこ
とができる。なお、制御回路１０９により、ステップ３４の後に発生した新たなタスクの
存在を確認することができる。
【０１１４】
上述したフローチャートによれば、ＣＰＵへの電源電圧の供給を遮断する期間をより長期
間とする事ができる。従って、半導体装置の電力消耗を抑制できる。また、ＣＰＵが実行
するタスクが存在しない期間に、電源電圧を遮断することによって、ＣＰＵが実行する演
算処理の正味の演算速度を低下させることなく半導体装置の消費電力を削減できる。
【０１１５】
図４に、ＣＰＵ１０１への電源電圧の供給を遮断する直前のライトバック判定処理のフロ
ーチャートを示す。効率の良いデータ退避を行うことで、半導体装置の消費電力を削減す
ることができる。
【０１１６】
ステップ４０において、ライトバック判定処理を開始する。
【０１１７】
ステップ４１において、まず、最初の１ライン分のダーティービット及びバリッドビット
の読み出しを行う。バリッドビットのデータがデータＢの場合（データ領域に格納された
データが有効である場合）、ステップ４２へと進む。バリッドビットのデータがデータＢ
であるラインに対してのみ、ダーティービットのデータがデータＣであるかデータＤであ
るかの判定が行われる。バリッドビットのデータがデータＡの場合、バリッドビットのデ
ータがデータＡであるラインに格納されているデータは、無効であるため、ステップ４２
に進まずに、次のラインの判定、即ち再びステップ４１へと進む。ステップ４１は、ＣＰ
Ｕ１０１の専用命令で実行する構成とすることが好ましい。
【０１１８】
ステップ４２において、ダーティービットの論理状態（例えば、”１”を示していればデ
ータＣ、”０”を示していればデータＤ等）からダーティービットのデータがデータＣで
あるかデータＤであるかの判定を行う。
【０１１９】
上記ステップ４２の判別において、ダーティービットがデータＣであると判断された場合
には、該ラインのデータ領域に格納されたデータが変更されていることを意味する。従っ
て、ステップ４３において、該ラインのデータ領域に格納されたデータを、ＣＰＵ外部の
記憶装置（例えば主記憶装置１０２又は補助記憶装置１０３等）の対応するアドレスに格
納する。すなわち、該ラインのライトバック処理を行う。ステップ４２は、ＣＰＵ１０１
の専用命令で実行する構成とすることが好ましい。
【０１２０】
なお、バリッドビットを不揮発性メモリとし、各ラインのバリッドビットのデータをデー
タＡに設定することが好ましい。バリッドビットのデータをデータＡに設定する事で、上
述したように、ＣＰＵへの電源電圧の供給を再開した際、ＣＰＵの演算処理の再開の高速
化が図れる。なお、バリッドビットのデータをデータＡに設定する処理は、ステップ４１
の後、ステップ４２の後、ステップ４３の後など、適宜実行することができる。
【０１２１】
上記ステップ４２の判定において、ダーティービットがデータＤであると判断された場合
には、該ラインのデータ領域に格納されたデータが変更されていないことを意味する。従
って、ステップ４４の判定へと進む。
【０１２２】
ステップ４４において、全てのラインについてライトバック判定処理が完了したか否かの
判定を行う。
【０１２３】
上記ステップ４４の判定において、ライトバック判定処理が完了していないラインがある
（Ｎｏ）と判断された場合には、上記ステップ４１の判定に戻る。
【０１２４】
また、上記ステップ４４の判定において、全てのラインについてライトバック判定処理が
完了した（Ｙｅｓ）と判断された場合には、ステップ４５へと進む。即ち、全ラインのラ
イトバック判定処理が終了する。
【０１２５】
ステップ４５において、全てのラインについてライトバック判定処理が完了した後、ＣＰ
Ｕへの電源電圧の供給を遮断する。
【０１２６】
即ち、ダーティービットのデータがデータＣであるラインのデータ領域に格納されていた
データのみライトバック処理を行うため、全てのラインのデータ領域に格納されていたデ
ータのライトバック処理を行う場合と比べて効率的である。ＣＰＵへの電源電圧の供給を
遮断する直前のデータ退避に要する処理時間を短縮することにより、遮断期間をより長期
間とすることができる。従って半導体装置の消費電力を低減できる。
【０１２７】
また、ダーティービットのデータがデータＤであるラインのデータ領域に格納されていた
データについては、ＣＰＵ外部の記憶装置の対応するアドレスに同じデータが残っている
ことを意味する。従って、ＣＰＵへの電源電圧の供給を遮断する直前に、キャッシュメモ
リに格納されたデータと、ＣＰＵ外部の記憶装置に格納されたデータとの間のコヒーレン
シを維持できている。即ち、ＣＰＵへの電源電圧の供給を再開した後も演算処理の連続性
を保つ事が可能である。
【０１２８】
図５に、半導体装置１００においてタスクが実行されている場合の、フローチャートを示
す。
【０１２９】
ステップ５０１において、ＣＰＵから、あるアドレスに対する読み出し、又は書き込みが
要求される。
【０１３０】
ステップ５０２の判定において、該アドレスのデータがキャッシュメモリ１０４上にある
か否かの判定を行う。具体的には、該アドレスに対応するラインのタグ領域に格納された
タグデータが読み出され、該アドレスのデータと該タグデータとの比較を行う。
【０１３１】
ステップ５０２の判別において、該アドレスのデータがキャッシュメモリ１０４上にある
（Ｙｅｓ）と判断された場合には、ステップ５０３の判別へと進む。具体的には、該アド
レスのデータと該タグデータとが一致する場合である。
【０１３２】
ステップ５０３の判定において、読み出しか書き込みかの判定を行う。
【０１３３】
ステップ５０３の判別において、読み出しであると判断された場合には、ステップ５０４
へと進み、ステップ５０４において、キャッシュメモリ１０４上のデータがＣＰＵに渡さ
れる。具体的には、該ラインのデータ領域に格納されたデータが読み出され、ＣＰＵが該
データを取得する。その後、ステップ５０７へと進む。ステップ５０７においてＣＰＵか
らの要求待ち状態になる。
【０１３４】
また、ステップ５０３の判別において、書き込みであると判断された場合には、ステップ
５０５へと進み、ステップ５０５において、キャッシュメモリ１０４上のデータをＣＰＵ
から受け取ったデータに変更する。具体的には、ＣＰＵから取得したデータを該ラインの
データ領域に格納する。
【０１３５】
ステップ５０６において、該ラインに対してダーティービットをセットする。
【０１３６】
その後、ステップ５０７へと進み、ステップ５０７においてＣＰＵからの要求待ち状態に
なる。
【０１３７】
また、上記ステップ５０２の判定において、該アドレスのデータがキャッシュメモリ１０
４上に無い（Ｎｏ）と判断された場合には、ステップ５０８の判定へと進む。
【０１３８】
ステップ５０８において、ＣＰＵ外部の記憶装置の対応するアドレスに格納されているデ
ータと入れ替えを行うキャッシュメモリ１０４のラインの選択が行われる。そして、該ラ
インはダーティか否かの判定を行う。具体的には、ダーティービットにより判定を行う。
【０１３９】
ステップ５０９の判定において、該ラインはダーティである（Ｙｅｓ）と判断された場合
には、ステップ５１０へと進む。
【０１４０】
ステップ５１０において、該ラインのデータをＣＰＵ外部の記憶装置の対応するアドレス
に書き戻す。該ラインのデータが、該記憶装置に書き戻される。
【０１４１】
ステップ５０９の判定において、該ラインはダーティではない（Ｎｏ）と判断された場合
には、ステップ５１１へと進む。
【０１４２】
ステップ５１１において、ＣＰＵ外部の記憶装置の対応するアドレスにおけるデータがキ
ャッシュメモリ１０４の該ラインに格納する分だけ読み出され、該ラインに書き込まれる
。
【０１４３】
その後、上記ステップ５０３の判定へと進む。
【０１４４】
なお、本実施の形態は、本明細書で示す他の実施の形態と適宜組み合わせることができる
。
【０１４５】
（実施の形態２）
実施の形態１で示したように、本発明の一態様における半導体装置においては、ＣＰＵへ
の電源電圧の供給が再開した際に、全バリッドビットのデータをデータＡに設定する。こ
のようなバリッドビットの処理によって、ＣＰＵへの電源電圧の供給を再開した直後は、
キャッシュミスを頻発することになる。しかし、ＣＰＵへの電源電圧の供給再開直後に実
行する演算処理に必要な命令及びデータを順にキャッシュメモリに格納しながら、演算処
理を再開できる。そのため、キャッシュメモリ全体のデータを全て復帰させてから演算処
理を再開する場合と比べて、ＣＰＵの演算処理の再開を高速に行うことができる。ＣＰＵ
が演算処理を再開するために要する処理時間を短縮することで、電源電圧の供給を遮断す
る期間をより長くし、半導体装置の消費電力を低減できる。
【０１４６】
本実施の形態では、全バリッドビットのデータをデータＡに設定することが可能であり、
且つその処理を高速に行うことが可能なバリッドビットの構成の一例について図６を用い
て説明する。
【０１４７】
図６（Ａ）は、本実施の形態におけるキャッシュメモリのバリッドビットのメモリセルの
構成を示す回路図である。図６（Ａ）において、メモリセルは、電源線３０５、グランド
線３０６、書き込み時のワード線３０４、読み出し時のワード線３０７、書き込み時のデ
ータ線３０１、書き込み時のデータ線３０２、読み出し時のデータ線３０３と、Ｎチャネ
ル型トランジスタ３０８、Ｎチャネル型トランジスタ３０９、Ｎチャネル型トランジスタ
３１０、Ｎチャネル型トランジスタ３１２、Ｎチャネル型トランジスタ３１４Ａ、インバ
ータ回路３１３を有する。
【０１４８】
図６（Ａ）では、Ｎチャネル型トランジスタ３１２のゲート電極が形成するノードをノー
ド３１１Ａと記す。
【０１４９】
Ｎチャネル型トランジスタ３１４Ａのゲート電極は、配線３１５Ａと電気的に接続され、
一方の電極はグランド線３０６と電気的に接続され、他方の電極はノード３１１Ｂと電気
的に接続されている。配線３１５Ａは、バリッドビットのメモリセルを制御することがで
きる。なお、各ラインは１ビットのバリッドビットを有し、該ラインのデータがデータＢ
（ここでは”１”）であれば、データ領域に格納されたデータが有効であり、データＡ（
ここでは”０”）であればデータ領域に格納されたデータが無効であるとする。バリッド
ビットのデータをデータＡに設定する処理を行っている間、Ｎチャネル型トランジスタ３
１４Ａはオン状態となり、メモリセルのデータは”０”となる。
【０１５０】
図６（Ａ）に示すように、キャッシュメモリにおける全てのバリッドビットのメモリセル
に、Ｎチャネル型トランジスタ３１４Ａを設ける事で、全てのバリッドビットのデータを
を同時にデータＡに設定することが可能となる。具体的には、Ｎチャネル型トランジスタ
３１４Ａのゲート電極と電気的に接続されている配線３１５Ａによってメモリセルのデー
タを制御する事で、全てのバリッドビットのメモリセルのデータを同時に”０”とする事
ができる。従って、バリッドビットのデータをデータＡに設定する処理を同時に、且つ高
速に行うことで、電源再供給後のデータの自己復帰に要する処理時間を短縮することがで
きる。
【０１５１】
図６（Ａ）ではＮチャネル型トランジスタ３１４Ａを用いたが、図６（Ｂ）に示すように
Ｐチャネル型トランジスタ３１４Ｂを、各メモリセルに付加する構成を用いても良い。
【０１５２】
なお、図６（Ａ）及び図６（Ｂ）に示すメモリセルに用いられるトランジスタに、酸化物
半導体を用いても良い。
【０１５３】
また、バリッドビットを不揮発性記憶装置としても良い。
【０１５４】
なお、図７（Ａ）に示すように、Ｎチャネル型トランジスタ３１４ＡをＳＲＡＭのメモリ
セルに設けて、全バリッドビットのデータをデータＡに設定する処理を行うことも可能で
ある。又、図７（Ｂ）に示すように、Ｐチャネル型トランジスタ３１４ＢをＳＲＡＭのメ
モリセルに設けて、全バリッドビットのデータをデータＡに設定する処理を行うことも可
能である。
【０１５５】
なお、本実施の形態は、本明細書で示す他の実施の形態と適宜組み合わせることができる
。
【０１５６】
（実施の形態３）
本実施の形態では、実施の形態１で示したキャッシュメモリの構成の一例について図１２
（Ａ）を用いて説明する。具体的には、フリップフロップ回路を記憶部に用いたＳＲＡＭ
で、キャッシュメモリを構成した一例について説明する。また、実施の形態１で示したＣ
ＰＵ外部の記憶装置（例えば主記憶装置等）の構成の一例について図１２（Ｂ）を用いて
説明する。具体的には、ＤＲＡＭで、ＣＰＵ外部の記憶装置を構成した一例について説明
する。
【０１５７】
なお、携帯電話、スマートフォン、電子書籍などの携帯情報端末機器において、画像デー
タ等の一時記憶には、ＳＲＡＭまたはＤＲＡＭが使用されることが多い。本発明の一態様
における半導体装置において、キャッシュメモリには、よりアクセス速度が高速なＳＲＡ
Ｍを用いることが好ましい。また、主記憶装置には、より大容量なＤＲＡＭを用いること
が好ましい。
【０１５８】
図１２（Ａ）は、実施の形態１におけるキャッシュメモリが備えるメモリセル８００を示
している。メモリセル８００は、Ｎチャネル型トランジスタ８０１、Ｎチャネル型トラン
ジスタ８０２、Ｐチャネル型トランジスタ８０３、Ｐチャネル型トランジスタ８０４、Ｎ
チャネル型トランジスタ８０５、Ｎチャネル型トランジスタ８０６、の６個のトランジス
タを有する。また、電源線８０７、グランド線８０８、ワード線８０９、データ線８１０
、データ線８１１、ノード８１２、ノード８１３を有する。
【０１５９】
Ｐチャネル型トランジスタ８０３とＮチャネル型トランジスタ８０５は、インバータ回路
８１４を構成している。また、Ｐチャネル型トランジスタ８０４とＮチャネル型トランジ
スタ８０６は、インバータ回路８１５を構成している。メモリセル８００は、２個の対に
なるこれらのインバータ回路によってフリップフロップ回路８１６を構成している。フリ
ップフロップ回路８１６は、’Ｈ’（ｈｉｇｈ）と、’Ｌ’（ｌｏｗ）の２状態を対応さ
せて安定状態を保ち１ビットの情報（データ等の記憶内容）を、一時的に記憶することが
できる。
【０１６０】
Ｐチャネル型トランジスタ８０３のソース端子又はドレイン端子の一方の端子は、電源線
８０７と電気的に接続されている。Ｐチャネル型トランジスタ８０４のソース端子又はド
レイン端子の一方の端子は、電源線８０７と電気的に接続されている。Ｎチャネル型トラ
ンジスタ８０５のソース端子又はドレイン端子の一方の端子は、グランド線８０８と電気
的に接続されている。Ｎチャネル型トランジスタ８０６のソース端子又はドレイン端子の
一方の端子は、グランド線８０８と電気的に接続されている。Ｎチャネル型トランジスタ
８０１のゲート端子は、ワード線８０９と電気的に接続され、ソース端子又はドレイン端
子の一方の端子はデータ線８１０と電気的に接続されている。Ｎチャネル型トランジスタ
８０２のゲート端子は、ワード線８０９と電気的に接続され、ソース端子又はドレイン端
子の一方の端子はデータ線８１１と電気的に接続されている。
【０１６１】
Ｎチャネル型トランジスタ８０１のソース端子又はドレイン端子の他方の端子、Ｐチャネ
ル型トランジスタ８０３のソース端子又はドレイン端子の他方の端子、Ｎチャネル型トラ
ンジスタ８０５のソース端子又はドレイン端子の他方の端子、Ｐチャネル型トランジスタ
８０４のゲート端子、Ｎチャネル型トランジスタ８０６のゲート端子は、電気的に接続さ
れノード８１２を形成している。
【０１６２】
Ｎチャネル型トランジスタ８０２のソース端子又はドレイン端子の他方の端子、Ｐチャネ
ル型トランジスタ８０４のソース端子又はドレイン端子の他方の端子、Ｎチャネル型トラ
ンジスタ８０６のソース端子又はドレイン端子の他方の端子、Ｐチャネル型トランジスタ
８０３のゲート端子、Ｎチャネル型トランジスタ８０５のゲート端子は、電気的に接続さ
れノード８１３を形成している。
【０１６３】
本明細書におけるキャッシュメモリでは、ＣＰＵへの電源電圧さえ供給し続ければ、メモ
リセル８００は、データを保持することができる。また、一部のメモリセル８００への電
源電圧さえ供給し続ければ、一部のメモリセル８００は、データを保持することができる
。また、ＣＰＵへの電源電圧が遮断されるとキャッシュメモリ内のメモリセル８００は、
データを消失する。
【０１６４】
なお、該メモリセルの構成は実施の形態１及び実施の形態２で示したバリッドビットの記
憶部として、用いられてもよい。
【０１６５】
また、該メモリセルの構成は実施の形態１で示したダーティービットの記憶部として、用
いられてもよい。
【０１６６】
本発明の一態様によれば、ＣＰＵへの電源電圧が再供給された直後に、キャッシュメモリ
内の全バリッドビットのデータをデータＡに設定する。電源電圧の遮断と同時に、遮断直
前のキャッシュメモリ内のデータは消失するが、該設定後は、レジスタや、外部の記憶装
置に格納されているデータを用いながら、キャッシュメモリ内の上記メモリセル８００に
再び演算処理に必要なデータを格納することができる。該設定を行わない場合、電源電圧
が再供給された直後において、上記メモリセル８００に格納されているデータは、特定で
きない。従って、該設定を行う場合に比べて、データ復帰が非効率的になる。キャッシュ
メモリ内の全バリッドビットに対して、一括且つ高速で該設定を行う構成については実施
の形態２を参酌することができる。
【０１６７】
メモリセル８００における書き込みの動作について説明する。ワード線８０９を’Ｈ’に
することにより、Ｎチャネル型トランジスタ８０１（選択トランジスタ）、Ｎチャネル型
トランジスタ８０２（選択トランジスタ）がオン状態になり導通する。データ線８１０を
’Ｈ’、データ線８１１を’Ｌ’にすることにより、Ｐチャネル型トランジスタ８０３及
びＮチャネル型トランジスタ８０５は、Ｎチャネル型トランジスタ８０２を介して、デー
タ線８１１に引かれ、Ｐチャネル型トランジスタ８０３はオン、Ｎチャネル型トランジス
タ８０５はオフになる。また、Ｐチャネル型トランジスタ８０４及びＮチャネル型トラン
ジスタ８０６は、Ｎチャネル型トランジスタ８０１を介して、データ線８１０に引かれ、
Ｐチャネル型トランジスタ８０４はオフ、Ｎチャネル型トランジスタ８０６はオンになる
。ノード８１２には、”１”が書き込まれ、ノード８１３には、”０”が書き込まれる。
このようにして、メモリセル８００にデータが書き込まれる。
【０１６８】
メモリセル８００における記憶保持の原理について説明する。ワード線８０９を’Ｌ’に
することにより、Ｎチャネル型トランジスタ８０１（選択トランジスタ）、Ｎチャネル型
トランジスタ８０２（選択トランジスタ）はオフ状態になり導通しない。従って、ＣＰＵ
への電源電圧が供給され続けている間は、ノード８１２の”１”、ノード８１３の”０”
は、そのまま固定されて保持される。即ち、キャッシュメモリ内の全メモリセル８００に
は、”１”の情報、又は”０”の情報が記憶されることになる。
【０１６９】
メモリセル８００における読み出しの動作について説明する。ワード線８０９を’Ｈ’に
することにより、Ｎチャネル型トランジスタ８０１（選択トランジスタ）、Ｎチャネル型
トランジスタ８０２（選択トランジスタ）がオン状態になり導通する。データ線８１０、
データ線８１１は、’Ｈ’あるいは’Ｌ’を検出して、記憶内容（データ）を記録する。
データ線８１０は、ノード８１２に対応した電位を読み出し、データ線８１１は、ノード
８１３に対応した電位を読み出す。読み出しの際の検出増幅は、センスアンプ等の増幅回
路で行うことができる。
【０１７０】
図１２（Ｂ）は、実施の形態１における主記憶装置が備えるメモリセル９００を示してい
る。メモリセル９００は、Ｎチャネル型トランジスタ９０１、コンデンサ９０２、を有す
る。１個のメモリセル９００は、１個のトランジスタと１個のコンデンサを有する。また
、グランド線９０３、ワード線９０４、データ線９０５を有する。
【０１７１】
Ｎチャネル型トランジスタ９０１のゲート端子は、ワード線９０４と電気的に接続されて
いる。Ｎチャネル型トランジスタ９０１のソース端子又はドレイン端子の一方の端子は、
データ線９０５と電気的に接続されている。Ｎチャネル型トランジスタ９０１のソース端
子又はドレイン端子の他方の端子は、コンデンサ９０２の一方の端子と電気的に接続され
ている。コンデンサ９０２の他方の端子は、グランド線９０３と電気的に接続されている
。
【０１７２】
メモリセル９００における書き込みの動作について説明する。メモリセル９００に、”１
”を書き込むには、ワード線９０４の電位を’Ｈ’にすることにより、Ｎチャネル型トラ
ンジスタ９０１のゲートの電位を’Ｈ’にする。更に、データ線９０５の電位を’Ｈ’に
することにより、Ｎチャネル型トランジスタ９０１がオン状態になり導通する。Ｎチャネ
ル型トランジスタ９０１を介して、コンデンサ９０２は充電される。コンデンサ９０２に
は、”１”の情報が蓄えられるため、メモリセル９００に”１”が書き込まれる。
【０１７３】
一方、メモリセル９００に、”０”を書き込むには”１”の情報を取り除けばよい。従っ
て、ワード線９０４の電位を’Ｈ’にし、データ線９０５の電位を’Ｌ’にすることによ
り、Ｎチャネル型トランジスタ９０１をオフ状態にする。この時、Ｎチャネル型トランジ
スタ９０１は導通しない。Ｎチャネル型トランジスタ９０１を介してコンデンサ９０２は
放電される。コンデンサ９０２には、”０”の情報が蓄えられるため、メモリセル９００
に”０”が書き込まれる。なお、メモリセル９００に、すでに”０”が書きこまれていれ
ば変化は起こらない。このように、ワード線９０４の電位と、データ線９０５の電位を’
Ｈ’と’Ｌ’と交互に切り替えることで、主記憶装置が備える全メモリセル９００に”１
”、”０”の情報を書き込むことができる。
【０１７４】
メモリセル９００における記憶保持の原理について説明する。メモリセル９００が、”１
”、”０”の情報を保持しておくためには、ワード線９０４の電位を’Ｌ’に保つことに
より、Ｎチャネル型トランジスタ９０１をオフ状態にしておけば良い。この時、コンデン
サ９０２は、データ線９０５と分離されているため、充電も放電も起こらない。従って、
全メモリセル９００には、”１”の情報、又は”０”の情報が記憶されることになる。
【０１７５】
メモリセル８００における読み出しの動作について説明する。メモリセル８００が、書き
込まれた情報を読み出すためには、ワード線９０４の電位を’Ｈ’にし、コンデンサ９０
２から、データ線９０５に電荷が流れ出すかどうかを検出すればよい。この際の検出増幅
は、センスアンプ等の増幅回路で行うことができる。
【０１７６】
例えば、メモリセル８００に”１”が記憶されていた場合、Ｎチャネル型トランジスタ９
０１を介して、コンデンサ９０２からデータ線９０５に放電電流が流れ込むため、データ
線９０５の電位が瞬間的に上昇する。従って、メモリセル８００に”１”が記憶されてい
たと判断することができる。
【０１７７】
一方、メモリセル８００に”０”が記憶されていた場合、Ｎチャネル型トランジスタ９０
１を介して、コンデンサ９０２からデータ線９０５に電荷が流れ込むことはないため、デ
ータ線９０５の電位に上昇は検出されず、メモリセル８００に”０”が記憶されていたと
判断することができる。このように、ワード線９０４の電位と、データ線９０５の電位を
’Ｈ’と’Ｌ’と交互に切り替えることで、主記憶装置が備える全メモリセル９００にお
ける”１”、”０”の全ての情報を読み出すことができる。なお、読み出しの際に、コン
デンサ９０２が放電してしまうため、記憶していたデータが破壊されてしまう。従って、
ＤＲＡＭを主記憶装置に用いた場合、再書き込みという操作が必要になる。
【０１７８】
本実施の形態に示す構成、方法などは、他の実施の形態に示す構成、方法などと適宜組み
合わせて用いることができる。
【０１７９】
（実施の形態４）
本明細書に開示する半導体装置は、ＣＰＵを搭載する様々な電子機器に適用することがで
きる。ＣＰＵへの電源電圧の供給を遮断する事で、電力消耗を抑制し、電子機器の消費電
力を低減させることができる。電子機器としては、可搬型のテレビジョン装置（テレビ、
またはテレビジョン受信機ともいう）、デジタルカメラ、デジタルビデオカメラ、デジタ
ルフォトフレーム、携帯電話機、携帯型ゲーム機、携帯情報端末、音響再生装置、遊技機
（パチンコ機、スロットマシン等）、ゲーム筐体等、が挙げられる。
【０１８０】
図１３に電子機器の具体例を示す。図１３（Ａ）及び図１３（Ｂ）は、２つ折り可能なタ
ブレット型端末である。該タブレット型端末には、バッテリーによって電源電圧が供給さ
れるＣＰＵ等が内蔵されている。図１３（Ａ）は、開いた状態であり、タブレット型端末
は、筐体９６３０、表示部９６３１ａ、表示部９６３１ｂ、表示モード切り替えスイッチ
９０３４、電源スイッチ９０３５、省電力モード切り替えスイッチ９０３６、留め具９０
３３、操作スイッチ９０３８を有する。
【０１８１】
表示部９６３１ａは、一部をタッチパネルの領域９６３２ａとすることができ、表示され
た操作キー９６３８にふれることでデータ入力をすることができる。なお、表示部９６３
１ａにおいては、一例として半分の領域が表示のみの機能を有する構成、もう半分の領域
がタッチパネルの機能を有する構成を示しているが、該構成に限定されない。表示部９６
３１ａの全面をキーボードボタン表示させてタッチパネルとし、表示部９６３１ｂを表示
画面として用いることができる。
【０１８２】
また、表示部９６３１ｂにおいても表示部９６３１ａと同様に、表示部９６３１ｂの一部
をタッチパネルの領域９６３２ｂとすることができる。また、タッチパネルのキーボード
表示切り替えボタン９６３９が表示されている位置に指やスタイラスなどでふれることで
表示部９６３１ｂにキーボードボタン表示することができる。
【０１８３】
また、タッチパネルの領域９６３２ａとタッチパネルの領域９６３２ｂに対して同時にタ
ッチ入力することもできる。
【０１８４】
また、表示モード切り替えスイッチ９０３４は、縦表示または横表示などの表示の向きを
切り替え、白黒表示やカラー表示の切り替えなどを選択できる。省電力モード切り替えス
イッチ９０３６は、タブレット型端末に内蔵している光センサで検出される使用時の外光
の光量に応じて表示の輝度を最適なものとすることができる。タブレット型端末は光セン
サだけでなく、ジャイロ、加速度センサ等の傾きを検出するセンサなどの他の検出装置を
内蔵させてもよい。なお、省電力モードの際、タブレット型端末に内蔵されているＣＰＵ
への電源電圧の供給を完全に遮断しても良い。
【０１８５】
また、図１３（Ａ）では表示部９６３１ｂと表示部９６３１ａの表示面積が同じ例を示し
ているが特に限定されず、一方のサイズともう一方のサイズが異なっていてもよく、表示
の品質も異なっていてもよい。例えば一方が他方よりも高精細な表示を行える表示パネル
としてもよい。
【０１８６】
図１３（Ｂ）は、閉じた状態であり、タブレット型端末は、筐体９６３０、太陽電池９６
３３、充放電制御回路９６３４、バッテリー９６３５、ＤＣＤＣコンバータ９６３６を有
する。なお、図１３（Ｂ）では充放電制御回路９６３４の一例としてバッテリー９６３５
、ＤＣＤＣコンバータ９６３６を有する構成について示している。
【０１８７】
なお、タブレット型端末は２つ折り可能なため、未使用時に筐体９６３０を閉じた状態に
することができる。従って、表示部９６３１ａ、表示部９６３１ｂを保護できるため、耐
久性に優れ、長期使用の観点からも信頼性の優れたタブレット型端末を提供できる。
【０１８８】
また、この他にも図１３（Ａ）および図１３（Ｂ）に示したタブレット型端末は、様々な
情報（静止画、動画、テキスト画像など）を表示する機能、カレンダー、日付または時刻
などを表示部に表示する機能、表示部に表示した情報をタッチ入力操作または編集するタ
ッチ入力機能、様々なソフトウェア（プログラム）によって処理を制御する機能、等を有
することができる。
【０１８９】
タブレット型端末の表面に装着された太陽電池９６３３によって、電力をタッチパネル、
表示部、または映像信号処理部等に供給することができる。なお、太陽電池９６３３は、
筐体９６３０の片面又は両面に設けることができ、バッテリー９６３５の充電を効率的に
行う構成とすることができるため好適である。なおバッテリー９６３５としては、リチウ
ムイオン電池を用いると、小型化を図れる等の利点がある。
【０１９０】
また、図１３（Ｂ）に示す充放電制御回路９６３４の構成、および動作について図１３（
Ｃ）にブロック図を示し説明する。図１３（Ｃ）には、太陽電池９６３３、バッテリー９
６３５、ＤＣＤＣコンバータ９６３６、コンバータ９６３７、スイッチＳＷ１乃至ＳＷ３
、表示部９６３１について示しており、バッテリー９６３５、ＤＣＤＣコンバータ９６３
６、コンバータ９６３７、スイッチＳＷ１乃至ＳＷ３が、図１３（Ｂ）に示す充放電制御
回路９６３４に対応する箇所となる。
【０１９１】
まず外光により太陽電池９６３３により発電がされる場合の動作の例について説明する。
太陽電池で発電した電力は、バッテリー９６３５を充電するための電圧となるようＤＣＤ
Ｃコンバータ９６３６で昇圧または降圧がなされる。そして、表示部９６３１の動作に太
陽電池９６３３からの電力が用いられる際にはスイッチＳＷ１をオンにし、コンバータ９
６３７で表示部９６３１に必要な電圧に昇圧または降圧をすることとなる。また、表示部
９６３１での表示を行わない際には、ＳＷ１をオフにし、ＳＷ２をオンにしてバッテリー
９６３５の充電を行う構成とすればよい。
【０１９２】
なお太陽電池９６３３については、発電手段の一例として示したが、特に限定されず、圧
電素子（ピエゾ素子）や熱電変換素子（ペルティエ素子）などの他の発電手段によるバッ
テリー９６３５の充電を行う構成であってもよい。例えば、無線（非接触）で電力を送受
信して充電する無接点電力伝送モジュールや、また他の充電手段を組み合わせて行う構成
としてもよい。
【０１９３】
本実施の形態に示す構成、方法などは、他の実施の形態に示す構成、方法などと適宜組み
合わせて用いることができる。
【０１９４】
（実施の形態５）
本実施の形態では、実施の形態１で示した不揮発性レジスタの構成の一例について図８（
Ａ）を用いて説明する。
【０１９５】
図８（Ａ）において、不揮発性レジスタ４００は、オフ電流が極めて小さいトランジスタ
４１１と、容量素子４１２と、演算回路４２１と、演算回路４２２と、演算回路４２３と
、スイッチ４２４と、を有する。トランジスタ４１１として、チャネルが酸化物半導体層
に形成されるトランジスタを用いる例を示し、ＯＳの符号を付す。演算回路４２１の出力
端子（図中、ｏｕｔ）は、演算回路４２２の入力端子（図中、ｉｎ）と電気的に接続され
る。演算回路４２２の入力端子（図中、ｉｎ）は、スイッチ４２４を介して演算回路４２
３の出力端子（図中、ｏｕｔ）と電気的に接続される。演算回路４２２の出力端子（図中
、ｏｕｔ）は、演算回路４２１の入力端子（図中、ｉｎ）と電気的に接続される。演算回
路４２１の入力端子（図中、ｉｎ）は、トランジスタ４１１のソース及びドレインの一方
と電気的に接続される。トランジスタ４１１のソース及びドレインの他方は、容量素子４
１２の一対の電極のうちの一方、及び演算回路４２３の入力端子（図中、ｉｎ）と電気的
に接続される。ここで、容量素子４１２の一対の電極のうちの一方を、ノードＦ（図中、
Ｆ）で示す。
【０１９６】
演算回路４２１、演算回路４２２、及び演算回路４２３としては、それぞれ、インバータ
、スリーステートバッファ、クロックドインバータ、ＮＡＮＤ回路、ＮＯＲ回路等を用い
ることができる。図８（Ａ）では、演算回路４２３として、インバータ４３０を用いる例
を示す。スイッチとしては、例えばアナログスイッチ、トランジスタ等を用いることがで
きる。図８（Ａ）では、スイッチ４２４として、トランジスタ４１３を用いる例を示す。
トランジスタ４１３は、例えば、シリコン層またはシリコン基板にチャネルが形成される
トランジスタとすることができる。
【０１９７】
ここで、演算回路４２３とスイッチ４２４を合わせた電流駆動能力は、演算回路４２１の
電流駆動能力よりも大きくすることが好ましい。なお、スイッチ４２４の電流駆動能力が
十分に大きい場合には、演算回路４２３の電流駆動能力を、演算回路４２１の電流駆動能
力よりも大きくすることが好ましい。こうして、ノードＭＢ（図中、ＭＢ）の電位を、容
量素子４１２によって保持された信号（電位）に対応する信号とすることが容易となる。
【０１９８】
例えば、演算回路４２１はインバータによって構成され、当該インバータと、インバータ
４３０とは相補型のトランジスタを用いた構成である場合に、各トランジスタは次によう
に設計することが望ましい。インバータ４３０の有する一導電型のトランジスタのチャネ
ル長をＬ１、チャネル幅をＷ１、移動度をμ１とし、演算回路４２１を構成するインバー
タの有する前記一導電型とは異なる導電型のトランジスタのチャネル長をＬ２、チャネル
幅をＷ２、移動度をμ２とすると、μ１（Ｗ１／Ｌ１）＞μ２（Ｗ２／Ｌ２）とするのが
好ましい。つまり、インバータ４３０の有するｎチャネル型のトランジスタのチャネル長
をＬ１、チャネル幅をＷ１、移動度をμ１とし、演算回路４２１を構成するインバータの
有するｐチャネル型のトランジスタのチャネル長をＬ２、チャネル幅をＷ２、移動度をμ
２とすると、μ１（Ｗ１／Ｌ１）＞μ２（Ｗ２／Ｌ２）とするのが好ましい。または、イ
ンバータ４３０の有するｐチャネル型のトランジスタのチャネル長をＬ１、チャネル幅を
Ｗ１、移動度をμ１とし、演算回路４２１を構成するインバータの有するｎチャネル型の
トランジスタのチャネル長をＬ２、チャネル幅をＷ２、移動度をμ２とすると、μ１（Ｗ
１／Ｌ１）＞μ２（Ｗ２／Ｌ２）とするのが好ましい。ここで、スイッチ４２４の電流駆
動能力が十分に大きい場合とは、例えば、スイッチを４２４がトランジスタ４１３によっ
て構成される場合に、トランジスタのチャネル長をＬ３、チャネル幅をＷ３、移動度をμ
３としたとき、μ３（Ｗ３／Ｌ３）がμ２（Ｗ２／Ｌ２）やμ１（Ｗ１／Ｌ１）と比べて
十分に大きいことをいう。μ３（Ｗ３／Ｌ３）が十分に大きい場合に、上記不等式が成立
するように、各回路のトランジスタを設計するのが好ましい。
【０１９９】
トランジスタ４１１のゲートは端子ＳＧ１と電気的に接続される。トランジスタ４１１は
端子ＳＧ１に入力される制御信号によって、オン状態またはオフ状態が選択される。スイ
ッチ４２４は端子ＳＧ２に入力される制御信号によって、オン状態またはオフ状態が選択
される。図８（Ａ）では、端子ＳＧ２はトランジスタ４１３のゲートと電気的に接続され
ている。容量素子４１２の一対の電極のうちの他方は、端子Ｃと電気的に接続される。端
子Ｃには、一定の電位が入力される構成とすることができる。例えば、低電源電位が入力
される構成とすることができる。
【０２００】
演算回路４２１、演算回路４２２、演算回路４２３を、トランジスタを用いて構成する場
合に、当該トランジスタは、酸化物半導体以外の半導体でなる層または基板にチャネルが
形成されるトランジスタとすることができる。例えば、シリコン層またはシリコン基板に
チャネルが形成されるトランジスタとすることができる。
【０２０１】
また、トランジスタ４１１は、酸化物半導体層を挟んで上下に２つのゲートを有するトラ
ンジスタとすることができる。一方のゲートに制御信号を入力し、他方のゲートには、別
の制御信号を入力することができる。別の制御信号は、一定の電位の信号であってもよい
。一定の電位は、低電源電位や高電源電位であってもよい。なお、２つのゲートを電気的
に接続し、制御信号を入力してもよい。他方のゲートに入力する信号によって、トランジ
スタ４１１のしきい値電圧等を制御することが可能である。また、トランジスタ４１１の
オフ電流を更に低減することも可能である。トランジスタ４１１のオン電流を増大させる
ことも可能である。
【０２０２】
図８（Ａ）に示した不揮発性レジスタ４００では、電源電圧が供給されている間は、演算
回路４２１と演算回路４２２によって帰還ループが形成され、帰還ループによってデータ
を保持することができる。演算回路４２１と演算回路４２２とを有し、帰還ループによっ
てデータを保持する回路としては、フリップフロップ回路が挙げられる。図８（Ａ）に示
す構成は、フリップフロップ回路４０１において、オフ電流が極めて小さいトランジスタ
４１１と、容量素子４１２と、演算回路４２３と、スイッチ４２４とを追加した構成に相
当する。図８（Ａ）においてこの追加した部分を回路４０２で示す。
【０２０３】
フリップフロップ回路４０１は、ノードＭ（図中、Ｍ）とノードＭＢ（図中、ＭＢ）を有
し、電源電圧が供給されている間、ノードＭＢに保持される信号は、ノードＭに保持され
た信号の反転信号となる。トランジスタ４１１のソース及びドレインの一方は、ノードＭ
と電気的に接続される。トランジスタ４１１のソース及びドレインの他方は、容量素子４
１２の一対の電極のうちの一方、及び演算回路４２３の入力端子（図中、ｉｎ）と電気的
に接続される。演算回路４２３の出力端子（図中、ｏｕｔ）は、スイッチ４２４を介して
ノードＭＢと電気的に接続される。
【０２０４】
なお、図８（Ａ）では、演算回路４２３として入力された信号の反転信号を出力する回路
を用い、スイッチ４２４を介してノードＭＢに当該出力を入力する構成を示したがこれに
限定されない。図８（Ｂ）に示すように、演算回路４２３として入力された信号を反転さ
せずに出力する回路を用い、スイッチ４２４を介してノードＭに当該出力を入力する構成
としてもよい。このような演算回路４２３としては、例えば、インバータを偶数個直列に
電気的に接続した構成を用いることができる。図８（Ｂ）では、演算回路４２３として、
インバータ４３０ａとインバータ４３０ｂが直列に電気的に接続された構成を用いた例を
示す。なお、図８（Ｂ）においてその他の部分は図８（Ａ）と同様であるため説明は省略
する。
【０２０５】
≪不揮発性レジスタの駆動方法≫
図８（Ａ）の不揮発性レジスタ４００の駆動方法の一態様について説明する。不揮発性レ
ジスタ４００において、電源電圧の供給の後、消費電力を削減するために電源電圧の供給
を停止し、再び電源電圧を供給する場合の駆動方法は以下のようにすることができる。な
お、フリップフロップ回路４０１は、クロック信号及びクロック信号の反転信号に同期し
てデータの入出力を行う回路であるとして、以下の説明を行う。説明には図９のタイミン
グチャートを用い、図８（Ａ）の符号も参照する。
【０２０６】
なお、図９において、ＭはノードＭの電位を示し、ＭＢはノードＭＢの電位を示し、Ｆは
ノードＦの電位を示し、ＳＧ１は端子ＳＧ１に入力される制御信号の信号電位を示し、Ｓ
Ｇ２は端子ＳＧ２に入力される制御信号の信号電位を示し、Ｖは電源電圧を示し、ＣＬＫ
はクロック信号の信号電位を示し、ＣＬＫＢはクロック信号の反転信号の信号電位を示す
。図９中、斜線部分は、任意の信号電位とすることができる。
【０２０７】
ここで、図９では、ＳＧ１がハイレベルの場合にトランジスタ４１１がオン状態となり、
ＳＧ１がローレベルの場合にトランジスタ４１１がオフ状態となる例を示したがこれに限
定されない。以下の説明とトランジスタ４１１のオン状態及びオフ状態の関係が同様とな
るようにＳＧ１の信号電位を適宜定めることができる。また、図９では、ＳＧ２がハイレ
ベルの場合にトランジスタ４１３がオン状態となり、ＳＧ２がローレベルの場合にトラン
ジスタ４１３がオフ状態となる例を示したがこれに限定されない。以下の説明とトランジ
スタ４１３のオン状態及びオフ状態の関係が同様となるようにＳＧ２の信号電位を適宜定
めることができる。
【０２０８】
＜電源電圧供給時の動作＞
期間１において、不揮発性レジスタ４００へ電源電圧ＶとしてＶＤＤが供給され、且つク
ロック信号の信号電位ＣＬＫ、及びクロック信号の反転信号の信号電位ＣＬＫＢは、ハイ
レベルまたはローレベルに周期的に変化する。このとき、クロック信号やクロック信号の
反転信号に同期して、演算回路４２１及び演算回路４２２によって構成される帰還ループ
がデータに対応する信号（及びその反転信号）を保持する。図９では、期間１の最後にお
いて、ノードＭに信号電位ＶＸが保持され、ノードＭＢに信号電位ＶＸＢが保持されてい
る例を示す。ここで、信号電位ＶＸＢは、信号電位ＶＸに対応する信号の反転信号の電位
に相当する。期間１では、ＳＧ２がローレベルであり、スイッチ４２４はオフ状態である
。こうして、不揮発性レジスタ４００は、入力されたデータを帰還ループによって保持し
、また帰還ループによって保持されたデータを出力する。ここで、酸化物半導体層にチャ
ネルが形成されるトランジスタ４１１は、シリコン層やシリコン基板にチャネルが形成さ
れるトランジスタと比較して移動度が低い。移動度が低いトランジスタが帰還ループ上に
存在すると、帰還ループにおけるデータ入力及び出力のスピードが遅くなる。不揮発性レ
ジスタ４００では、帰還ループ上に、酸化物半導体層にチャネルが形成されるトランジス
タ４１１が存在しない。そのため、帰還ループによるデータの書き込み及び読み出しは高
速に行うことができ、不揮発性レジスタ４００におけるデータの書き込み及び読み出し速
度（動作速度）は速い。なお、このとき酸化物半導体層にチャネルが形成されるトランジ
スタ４１１はオフ状態であることが好ましい。仮に、トランジスタ４１１が常にオン状態
であると、帰還ループによるデータの書き込み及び読み出し時に、容量素子４１２へもデ
ータに対応する信号電位が常に入力されることとなり、帰還ループによるデータの書き込
み及び読み出しの速度が低下してしまう。
【０２０９】
＜電源電圧供給停止前の動作＞
期間２において、クロック信号の信号電位ＣＬＫ、及びクロック信号の反転信号の信号電
位ＣＬＫＢを固定する。即ち、クロック信号の信号電位ＣＬＫ、及びクロック信号の反転
信号の信号電位ＣＬＫＢを、所定のデータが帰還ループによって保持された状態のクロッ
ク信号の信号電位ＣＬＫ、及びクロック信号の反転信号の信号電位ＣＬＫＢのままとする
。つまり、通常、クロック信号やクロック信号の反転信号は、ハイレベルまたはローレベ
ルにレベル（信号電位）が周期的に変化する信号であるが、この変化をさせない期間を設
ける。ここで、クロック信号やクロック信号の反転信号のレベル（信号電位）を固定する
期間を、クロック信号固定期間とも呼ぶ。期間２は、クロック信号固定期間に相当する。
このため、クロック信号固定期間において、ノードＭは信号電位ＶＸのままであり、ノー
ドＭＢは信号電位ＶＸＢのままである。図９では、クロック信号の信号電位ＣＬＫがロー
レベルに固定され、クロック信号の反転信号の信号電位ＣＬＫＢがハイレベルに固定され
る例を示したがこれに限定されない。クロック信号の信号電位ＣＬＫがハイレベルに固定
され、クロック信号の反転信号の信号電位ＣＬＫＢがローレベルに固定されてもよい。そ
して、クロック信号固定期間において、ＳＧ１をハイレベルからローレベルに変化させる
ことにより、オフ電流が極めて小さいトランジスタ４１１をオフ状態とする。例えば、ク
ロック信号固定期間の直前において、ＳＧ１がハイレベルでありトランジスタ４１１がオ
ン状態であった場合には、クロック信号固定期間においてＳＧ１をハイレベルからローレ
ベルに変化させてトランジスタ４１１をオフ状態とする。例えば、クロック信号固定期間
の直前において、ＳＧ１がローレベルでありトランジスタ４１１がオフ状態であった場合
には、クロック信号固定期間においてＳＧ１をローレベルからハイレベルに変化させてト
ランジスタ４１１を一旦オン状態とした後に、ＳＧ１をローレベルとしてオフ状態とする
。こうして、容量素子４１２の一対の電極のうちの一方に対応するノードＦの電位はＶＸ
となる。なお、トランジスタ４１１がハイレベルとなった後、ノードＦの電位がＶＸとな
る迄には、時間がかかる。こうして、帰還ループによって保持されていたデータに対応す
る信号（電位）を容量素子４１２に保持する。なお、ＳＧ２はローレベルであり、スイッ
チ４２４はオフ状態のままである。
【０２１０】
このように、クロック信号やクロック信号の反転信号のレベルを一定に保った状態で、オ
フ電流が極めて小さいトランジスタ４１１をオフ状態とすることによって、帰還ループに
よって保持されたデータに対応する信号（電位）の変動を抑制した状態で、当該データに
対応する信号（電位）を容量素子４１２に保持することができる。
【０２１１】
＜電源電圧供給停止の動作＞
期間３において、不揮発性レジスタ４００への電源電圧の供給を停止する（電源電圧Ｖを
０にする）。こうして、期間３において、ノードＭ及びノードＭＢの電位は任意となる。
また、期間３において、クロック信号及びクロック信号の反転信号の供給を停止すること
ができる。ここで、クロック信号及びクロック信号の反転信号の供給を停止するとは、ク
ロック信号の信号電位ＣＬＫ、及びクロック信号の反転信号の信号電位ＣＬＫＢを共に同
じレベル（例えば、ローレベル）とすることに相当する。こうして、電源電圧だけでなく
、クロック信号及びクロック信号の反転信号の供給を停止することによって、クロック信
号やクロック信号の反転信号を供給するための電力も削減することができる。なお、ＳＧ
２はローレベルであり、スイッチ４２４はオフ状態のままである。
【０２１２】
ここで、ＳＧ１はローレベルであり、オフ電流が極めて小さいトランジスタ４１１はオフ
状態のままであり、不揮発性レジスタ４００への電源電圧Ｖの供給が停止した後において
も、帰還ループによって保持されていたデータに対応する信号（電位）が容量素子４１２
によって保持される。つまり、ノードＦの電位はＶＸのままである。こうして、オフ電流
が極めて小さいトランジスタ４１１を用いることによって、容量素子４１２によって保持
された信号（電位）を長期間保つことができるため、不揮発性レジスタ４００は電源電圧
の供給が停止した後も、長期間に渡ってデータを保持することができる。また、データの
書き換えを繰り返すことによる不揮発性レジスタ４００の疲労は少なく、データの書き換
え可能な回数を多くすることができる。
【０２１３】
なお、不揮発性レジスタ４００では、オフ電流が極めて小さいトランジスタ４１１がオフ
状態となり、且つスイッチ４２４がオフ状態となっている間は、容量素子４１２の一対の
電極のうちの一方と、帰還ループの各ノードとは、電気的に遮断されている。それ故、ト
ランジスタ４１１がオフ状態となり、且つスイッチ４２４がオフ状態となっていれば、不
揮発性レジスタ４００への電源電圧の供給停止と、クロック信号及びクロック信号の反転
信号の供給停止とは、同時に行うこともできるし、一方を行った後に他方を行うこともで
きる。つまり、電源電圧供給停止のシーケンスに自由度がある。
【０２１４】
＜電源電圧供給再開の動作＞
期間４において、電源電圧ＶをＶＤＤとして、不揮発性レジスタ４００への電源電圧の供
給を再開する。また、電源電圧の供給停止時におけるレベル（信号電位）に戻して固定さ
れた、クロック信号やクロック信号の反転信号を供給する。こうして、クロック信号固定
期間を開始する。図９では、クロック信号の信号電位ＣＬＫがローレベルに固定され、ク
ロック信号の反転信号の信号電位ＣＬＫＢがハイレベルに固定される。ここで、トランジ
スタ４１１がオフ状態となり、且つスイッチ４２４がオフ状態となっていれば、不揮発性
レジスタ４００への電源電圧の供給再開と、電源電圧の供給停止時におけるレベル（信号
電位）に戻して固定されたクロック信号やクロック信号の反転信号の供給再開とは、同時
に行うこともできるし、一方を行った後に他方を行うこともできる。つまり、電源電圧供
給再開のシーケンスに自由度がある。
【０２１５】
その後、ＳＧ２はハイレベルとして、スイッチ４２４をオン状態とする。なお、ＳＧ１は
ローレベルであり、オフ電流が極めて小さいトランジスタ４１１はオフ状態のままである
。容量素子４１２によって保持された信号（電位）、つまりノードＦの電位ＶＸは演算回
路４２３によって対応する信号ＶＸＢに変換され、スイッチ４２４がオン状態となると、
帰還ループのノードＭＢに入力される。こうして、ノードＭＢの電位はやがてＶＸＢとな
る。すると、ノードＭの電位もやがてＶＸとなる。こうして、電源電圧の供給停止前に保
持していたデータを再び帰還ループによって保持することができる。その後、ＳＧ２はロ
ーレベルとして、スイッチ４２４を再びオフ状態とする。
【０２１６】
ここで、演算回路４２３とスイッチ４２４を合わせた電流駆動能力は、演算回路４２１の
電流駆動能力よりも大きくすることが好ましい。なお、スイッチ４２４の電流駆動能力が
十分に大きい場合には、演算回路４２３の電流駆動能力を、演算回路４２１の電流駆動能
力よりも大きくすることが好ましい。こうして、ノードＭＢの電位を、容量素子４１２に
よって保持された信号（電位）に対応する信号とすることが容易となる。
【０２１７】
例えば、演算回路４２１はインバータによって構成され、当該インバータと、インバータ
４３０とは相補型のトランジスタを用いた構成である場合に、各トランジスタは次によう
に設計することが望ましい。インバータ４３０の有する一導電型のトランジスタのチャネ
ル長をＬ１、チャネル幅をＷ１、移動度をμ１とし、演算回路４２１を構成するインバー
タの有する前記一導電型とは異なる導電型のトランジスタのチャネル長をＬ２、チャネル
幅をＷ２、移動度をμ２とすると、μ１（Ｗ１／Ｌ１）＞μ２（Ｗ２／Ｌ２）とするのが
好ましい。つまり、インバータ４３０の有するｎチャネル型のトランジスタのチャネル長
をＬ１、チャネル幅をＷ１、移動度をμ１とし、演算回路４２１を構成するインバータの
有するｐチャネル型のトランジスタのチャネル長をＬ２、チャネル幅をＷ２、移動度をμ
２とすると、μ１（Ｗ１／Ｌ１）＞μ２（Ｗ２／Ｌ２）とするのが好ましい。または、イ
ンバータ４３０の有するｐチャネル型のトランジスタのチャネル長をＬ１、チャネル幅を
Ｗ１、移動度をμ１とし、演算回路４２１を構成するインバータの有するｎチャネル型の
トランジスタのチャネル長をＬ２、チャネル幅をＷ２、移動度をμ２とすると、μ１（Ｗ
１／Ｌ１）＞μ２（Ｗ２／Ｌ２）とするのが好ましい。ここで、スイッチ４２４の電流駆
動能力が十分に大きい場合とは、例えば、スイッチを４２４がトランジスタ４１３によっ
て構成される場合に、トランジスタのチャネル長をＬ３、チャネル幅をＷ３、移動度をμ
３としたとき、μ３（Ｗ３／Ｌ３）がμ２（Ｗ２／Ｌ２）やμ１（Ｗ１／Ｌ１）と比べて
十分に大きいことをいう。μ３（Ｗ３／Ｌ３）が十分に大きい場合に、上記不等式が成立
するように、各回路のトランジスタを設計するのが好ましい。
【０２１８】
期間５において、クロック信号やクロック信号の反転信号のレベル（信号電位）の固定を
解除する。即ち、クロック信号やクロック信号の反転信号を、ハイレベルまたはローレベ
ルにレベル（信号電位）が周期的に変化する通常の信号に戻す。こうして、不揮発性レジ
スタは、帰還ループによるデータの書き込み及び読み出しを再開することができる。その
後の動作は、上記（電源電圧供給時の動作）と同様である。
【０２１９】
上記のとおり、帰還ループに保持されたデータを容量素子４１２に書き込むための経路（
データ待避経路）と、容量素子４１２に保持されたデータを帰還ループに戻すための経路
（データ復帰経路）とが異なる。データ復帰経路に配置されるスイッチ４２４として、移
動度が高い素子を用いることにより、（電源電圧供給再開の動作）をより高速に行うこと
ができる。例えば、トランジスタ４１３として、シリコン層またはシリコン基板にチャネ
ルが形成されるトランジスタを用いることによって、（電源電圧供給再開の動作）をより
高速に行うことができる。
【０２２０】
上述のとおり、図８（Ａ）における回路４０２は、電源電圧が供給されている間にフリッ
プフロップ回路４０１に保持されたデータが入力端子（図中、ｉｎ）から入力され当該デ
ータを保持し、電源電圧が供給されない間も当該データを保持し、電源電圧が供給される
とフリップフロップ回路４０１に出力端子（図中、ｏｕｔ）から当該データ（に対応する
信号）を提供する動作を行うので、不揮発性の不揮発性レジスタと呼ぶこともできる。デ
ータの書き換えを繰り返すことによる、当該不揮発性の不揮発性レジスタの疲労は少なく
、データの書き換え可能な回数を多くすることができる。
【０２２１】
以上が、不揮発性レジスタ４００の駆動方法の説明である。
【０２２２】
＜記憶装置、信号処理回路＞
本発明の記憶装置の一態様は、不揮発性レジスタ４００を一または複数用いて構成された
記憶装置とすることができる。また、本発明の信号処理回路の一態様は、当該記憶装置を
用いた信号処理回路とすることができる。例えば、信号処理回路が有するレジスタ、キャ
ッシュメモリ等の記憶装置に不揮発性レジスタ４００を用いることができる。
【０２２３】
さらに、信号処理回路は、上記記憶装置に加え、記憶装置とデータのやり取りを行う演算
回路等の各種論理回路を有してもよい。そして、記憶装置へ電源電圧の供給を停止すると
共に、当該記憶装置とデータのやり取りを行う演算回路への電源電圧の供給を停止するよ
うにしても良い。
【０２２４】
本発明の信号処理回路の一態様は、ＣＰＵと、メモリと、メモリとＣＰＵとのアクセスを
制御する周辺制御装置とを有し、ＣＰＵ、メモリ、及び周辺制御装置はそれぞれ、不揮発
性レジスタ４００を有する構成であってもよい。そして、ＣＰＵ、メモリ、及び周辺制御
装置を有する信号処理回路の全体において、電源電圧の供給を停止するようにしてもよい
。
【０２２５】
不揮発性レジスタ４００を信号処理回路に用いることで、電源電圧の供給停止によるデー
タの消失を防ぐことができ、電源電圧を再供給した後、短時間で電源供給停止前の状態に
復帰することができる。そのため、必要なときのみ電源電圧を供給する、ノーマリオフの
駆動方法を採用することができ、消費電力を大幅に削減することができる。また、信号処
理回路の動作速度を高速化することができ、更に信頼性も高めることができる。
【０２２６】
本実施の形態は、他の実施の形態と適宜組み合わせて実施することが可能である。
【０２２７】
（実施の形態６）
本実施の形態では、実施の形態１で示した不揮発性レジスタの図８（Ａ）とは別の構成の
一例について図１０を用いて説明する。
【０２２８】
図１０において、不揮発性レジスタ４００は、フリップフロップ回路４０１ａ、フリップ
フロップ回路４０１ｂ、回路４０２ａ、及び回路４０２ｂを有する。フリップフロップ回
路４０１ａの出力端子（図中、ｏｕｔ）は、フリップフロップ回路４０１ｂの入力端子（
図中、ｉｎ）と電気的に接続されている。フリップフロップ回路４０１ａの入力端子（図
中、ｉｎ）が不揮発性レジスタ４００の入力端子Ｄとなり、フリップフロップ回路４０１
ｂの出力端子（図中、ｏｕｔ）が不揮発性レジスタ４００の出力端子Ｑとなる。
【０２２９】
回路４０２ａ及び回路４０２ｂは、図８（Ａ）における回路４０２と同様の構成とするこ
とができる。
【０２３０】
フリップフロップ回路４０１ａは、演算回路４２１ａ及び演算回路４２２ａを有し、演算
回路４２１ａ、演算回路４２２ａ、及び回路４０２ａの電気的接続関係は、図８（Ａ）に
おける演算回路４２１、演算回路４２２、及び回路４０２の電気的接続関係と同様とする
ことができる。なお、フリップフロップ回路４０１ａでは、アナログスイッチ４２６ａを
有し、アナログスイッチ４２６ａを介して、フリップフロップ回路４０１ａの入力端子（
図中、ｉｎ）はノードＭａと電気的に接続されている。アナログスイッチ４２６ａ及び演
算回路４２２ａには、クロック信号ＣＬＫ１及びクロック信号ＣＬＫ１の反転信号ＣＬＫ
１Ｂが入力されている。ここで、クロック信号ＣＬＫ１及びクロック信号ＣＬＫ１の反転
信号ＣＬＫ１Ｂによって、アナログスイッチ４２６ａがオン状態のときには、演算回路４
２２ａの出力はフローティングとなり、アナログスイッチ４２６ａがオフ状態のときには
、演算回路４２２ａは入力された信号を反転して出力するものとする。ノードＭＢａは、
フリップフロップ回路４０１ａの出力端子（図中、ｏｕｔ）と電気的に接続されている。
【０２３１】
フリップフロップ回路４０１ｂは、演算回路４２１ｂ及び演算回路４２２ｂを有し、演算
回路４２１ｂ、演算回路４２２ｂ、及び回路４０２ｂの電気的接続関係は、図８（Ａ）に
おける演算回路４２１、演算回路４２２、及び回路４０２の電気的接続関係と同様とする
ことができる。なお、フリップフロップ回路４０１ｂでは、アナログスイッチ４２６ｂを
有し、アナログスイッチ４２６ｂを介して、フリップフロップ回路４０１ｂの入力端子（
図中、ｉｎ）はノードＭｂと電気的に接続されている。アナログスイッチ４２６ｂ及び演
算回路４２２ｂには、クロック信号ＣＬＫ２及びクロック信号ＣＬＫ２の反転信号ＣＬＫ
２Ｂが入力されている。ここで、クロック信号ＣＬＫ２及びクロック信号ＣＬＫ２の反転
信号ＣＬＫ２Ｂによって、アナログスイッチ４２６ｂがオン状態のときには、演算回路４
２２ｂの出力はフローティングとなり、アナログスイッチ４２６ｂがオフ状態のときには
、演算回路４２２ｂは入力された信号を反転して出力するものとする。ノードＭＢｂは、
フリップフロップ回路４０１ｂの出力端子（図中、ｏｕｔ）と電気的に接続されている。
【０２３２】
クロック信号ＣＬＫ２は、クロック信号ＣＬＫ１の反転信号とすることもできるし、クロ
ック信号ＣＬＫ１の位相をずらした信号とすることもできる。即ち、図１０における不揮
発性レジスタ４００に単相のクロック信号を供給する構成とすることもできるし、２相の
クロック信号を供給する構成とすることもできる。２相のクロックを供給する構成とし、
クロック信号ＣＬＫ１とクロック信号ＣＬＫ２それぞれのデユーティー比（１周期におけ
るハイレベルの期間の割合）を５０％未満とし、クロック信号ＣＬＫ１とクロック信号Ｃ
ＬＫ２が供にローレベルとなる期間を設けることによって、入力端子Ｄに入力されたデー
タがクロック信号（クロック信号ＣＬＫ１及びクロック信号ＣＬＫ２）に関係なく出力端
子Ｑから出力されるのを抑制することができる。なお、入力端子Ｄに入力されたデータが
クロック信号（クロック信号ＣＬＫ１及びクロック信号ＣＬＫ２）に関係なく出力端子Ｑ
から出力される現象は、データの筒抜け、データ・レーシング等と呼ばれる。
【０２３３】
≪不揮発性レジスタの駆動方法≫
図１０に示した不揮発性レジスタ４００の駆動方法について図１１のタイミングチャート
を用いて説明する。図８（Ａ）、図１０の符号も参照する。
【０２３４】
なお、図１１において、ＭａはノードＭａの電位を示し、ＭＢａはノードＭＢａの電位を
示し、ＭｂはノードＭｂの電位を示し、ＭＢｂはノードＭＢｂの電位を示し、Ｖは電源電
圧を示し、ＣＬＫ１はクロック信号ＣＬＫ１の信号電位を示し、ＣＬＫＢ１はクロック信
号ＣＬＫ１の反転信号の信号電位を示し、ＣＬＫ２はクロック信号ＣＬＫ２の信号電位を
示し、ＣＬＫＢ２はクロック信号ＣＬＫ２の反転信号の信号電位を示す。また、回路４０
２ａ及び回路４０２ｂそれぞれについて、ＦはノードＦの電位を示し、ＳＧ１は端子ＳＧ
１に入力される制御信号の信号電位を示し、ＳＧ２は端子ＳＧ２に入力される制御信号の
信号電位を示す。図１１中、斜線部分は、任意の信号電位とすることができる。
【０２３５】
ここで、図１１では、ＳＧ１がハイレベルの場合にトランジスタ４１１がオン状態となり
、ＳＧ１がローレベルの場合にトランジスタ４１１がオフ状態となる例を示したがこれに
限定されない。以下の説明とトランジスタ４１１のオン状態及びオフ状態の関係が同様と
なるようにＳＧ１の信号電位を適宜定めることができる。また、図１１では、ＳＧ２がハ
イレベルの場合にトランジスタ４１３がオン状態となり、ＳＧ２がローレベルの場合にト
ランジスタ４１３がオフ状態となる例を示したがこれに限定されない。以下の説明とトラ
ンジスタ４１３のオン状態及びオフ状態の関係が同様となるようにＳＧ２の信号電位を適
宜定めることができる。
【０２３６】
＜電源電圧供給時の動作＞
期間１において、不揮発性レジスタ４００へ電源電圧ＶとしてＶＤＤが供給され、且つＣ
ＬＫ１、ＣＬＫ２、ＣＬＫＢ１及びＣＬＫＢ２は、ハイレベルまたはローレベルに周期的
に変化する。ここで、図１１に示す期間１では、クロック信号ＣＬＫ１とクロック信号Ｃ
ＬＫ２それぞれのデユーティー比（１周期におけるハイレベルの期間の割合）を５０％未
満とし、クロック信号ＣＬＫ１とクロック信号ＣＬＫ２が供にローレベルとなる期間を設
けることによって、入力端子Ｄに入力されたデータがクロック信号（クロック信号ＣＬＫ
１及びクロック信号ＣＬＫ２）に関係なく出力端子Ｑから出力されるのを抑制している。
【０２３７】
期間１では、クロック信号やクロック信号の反転信号に同期して、演算回路４２１ａ及び
演算回路４２２ａによって構成される帰還ループ、並びに、演算回路４２１ｂ及び演算回
路４２２ｂによって構成される帰還ループそれぞれが、データに対応する信号（及びその
反転信号）を保持する。図１１では、期間１の終わりにおいて、ノードＭａに信号電位Ｖ
Ｘが保持され、ノードＭＢａに信号電位ＶＸＢが保持され、ノードＭｂに信号電位ＶＹＢ
が保持され、ノードＭＢｂに信号電位ＶＹが保持されている例を示す。ここで、信号電位
ＶＸＢは、信号電位ＶＸに対応する信号の反転信号の電位に相当する。信号電位ＶＹＢは
、信号電位ＶＹに対応する信号の反転信号の電位に相当する。期間１では、回路４０２ａ
及び回路４０２ｂそれぞれにおいて、ＳＧ２がローレベルであり、スイッチ４２４はオフ
状態である。こうして、不揮発性レジスタ４００は、クロック信号ＣＬＫ１とクロック信
号ＣＬＫ２に同期して、入力端子Ｄから入力されたデータをフリップフロップ回路４０１
ａの帰還ループによって保持し、フリップフロップ回路４０１ａの帰還ループによって保
持されたデータをフリップフロップ回路４０１ｂに入力し、フリップフロップ回路４０１
ｂの帰還ループによって保持されたデータを出力端子Ｑから出力する。ここで、酸化物半
導体層にチャネルが形成されるトランジスタ４１１は、シリコン層やシリコン基板にチャ
ネルが形成されるトランジスタと比較して移動度が低い。移動度が低いトランジスタが帰
還ループ上に存在すると、帰還ループにおけるデータ入力及び出力のスピードが遅くなる
。不揮発性レジスタ４００では、帰還ループ上に、酸化物半導体層にチャネルが形成され
るトランジスタ４１１が存在しない。そのため、帰還ループによるデータの書き込み及び
読み出しは高速に行うことができ、不揮発性レジスタ４００におけるデータの書き込み及
び読み出し速度（動作速度）は速い。なお、このとき、回路４０２ａ及び回路４０２ｂに
おいて、酸化物半導体層にチャネルが形成されるトランジスタ４１１はオフ状態であるこ
とが好ましい。仮に、回路４０２ａ及び回路４０２ｂにおいて、トランジスタ４１１が常
にオン状態であると、各帰還ループによるデータの書き込み及び読み出し時に、回路４０
２ａの容量素子４１２及び回路４０２ｂの容量素子４１２へもデータに対応する信号電位
が常に入力されることとなり、各帰還ループによるデータの書き込み及び読み出しの速度
が低下してしまう。
【０２３８】
＜電源電圧供給停止前の動作＞
期間２において、ＣＬＫ１、ＣＬＫ２、ＣＬＫＢ１及びＣＬＫＢ２を固定する。即ち、Ｃ
ＬＫ１、ＣＬＫ２、ＣＬＫＢ１及びＣＬＫＢ２それぞれを、所定のデータが帰還ループに
よって保持された状態のＣＬＫ１、ＣＬＫ２、ＣＬＫＢ１及びＣＬＫＢ２のままとする。
つまり、通常、クロック信号やクロック信号の反転信号は、ハイレベルまたはローレベル
にレベル（信号電位）が周期的に変化する信号であるが、この変化をさせない期間を設け
る。ここで、クロック信号やクロック信号の反転信号のレベル（信号電位）を固定する期
間を、クロック信号固定期間とも呼ぶ。期間２は、クロック信号固定期間に相当する。こ
のため、クロック信号固定期間において、ノードＭａは信号電位ＶＸのままであり、ノー
ドＭＢａは信号電位ＶＸＢのままであり、ノードＭｂは信号電位ＶＹＢのままであり、ノ
ードＭＢｂは信号電位ＶＹのままである。図１１では、ＣＬＫ１及びＣＬＫ２がローレベ
ルに固定され、ＣＬＫＢ１及びＣＬＫＢ２がハイレベルに固定される例を示したがこれに
限定されない。ＣＬＫ１及びＣＬＫ２がハイレベルに固定され、ＣＬＫＢ１及びＣＬＫＢ
２がローレベルに固定されてもよい。そして、クロック信号固定期間において、回路４０
２ａ及び回路４０２ｂそれぞれにおいて、ＳＧ１をハイレベルからローレベルに変化させ
ることにより、オフ電流が極めて小さいトランジスタ４１１をオフ状態とする。例えば、
回路４０２ａ及び回路４０２ｂそれぞれについて、クロック信号固定期間の直前において
、ＳＧ１がハイレベルでありトランジスタ４１１がオン状態であった場合には、クロック
信号固定期間においてＳＧ１をハイレベルからローレベルに変化させてトランジスタ４１
１をオフ状態とする。例えば、回路４０２ａ及び回路４０２ｂそれぞれについて、クロッ
ク信号固定期間の直前において、ＳＧ１がローレベルでありトランジスタ４１１がオフ状
態であった場合には、クロック信号固定期間においてＳＧ１をローレベルからハイレベル
に変化させてトランジスタ４１１を一旦オン状態とした後に、ＳＧ１をローレベルとして
オフ状態とする。こうして、回路４０２ａにおいて、容量素子４１２の一対の電極のうち
の一方に対応するノードＦの電位はＶＸとなり、回路４０２ｂにおいて、容量素子４１２
の一対の電極のうちの一方に対応するノードＦの電位はＶＹＢとなる。なお、回路４０２
ａ及び回路４０２ｂそれぞれにおいて、トランジスタ４１１がハイレベルとなった後、ノ
ードＦの電位が上記電位となる迄には、時間がかかる。こうして、各帰還ループによって
保持されていたデータに対応する信号（電位）を回路４０２ａ及び回路４０２ｂそれぞれ
の容量素子４１２に保持する。なお、回路４０２ａ及び回路４０２ｂそれぞれにおいて、
ＳＧ２はローレベルであり、スイッチ４２４はオフ状態のままである。
【０２３９】
このように、クロック信号やクロック信号の反転信号のレベルを一定に保った状態で、オ
フ電流が極めて小さいトランジスタ４１１をオフ状態とすることによって、各帰還ループ
によって保持されたデータに対応する信号（電位）の変動を抑制した状態で、当該データ
に対応する信号（電位）を回路４０２ａ及び回路４０２ｂそれぞれの容量素子４１２に保
持することができる。
【０２４０】
＜電源電圧供給停止の動作＞
期間３において、不揮発性レジスタ４００への電源電圧の供給を停止する（電源電圧Ｖを
０にする）。こうして、期間３において、ノードＭａ、ノードＭｂ、ノードＭＢａ及びノ
ードＭＢｂの電位は任意となる。また、期間３において、クロック信号及びクロック信号
の反転信号の供給を停止することができる。ここで、クロック信号及びクロック信号の反
転信号の供給を停止するとは、ＣＬＫ１とＣＬＫＢ１を供に同じレベル（例えば、ローレ
ベル）とし、ＣＬＫ２とＣＬＫＢ２を供に同じレベル（例えば、ローレベル）とすること
に相当する。こうして、電源電圧だけでなく、クロック信号及びクロック信号の反転信号
の供給を停止することによって、クロック信号やクロック信号の反転信号を供給するため
の電力も削減することができる。なお、回路４０２ａ及び回路４０２ｂそれぞれにおいて
、ＳＧ２はローレベルであり、スイッチ４２４はオフ状態のままである。
【０２４１】
ここで、回路４０２ａ及び回路４０２ｂそれぞれにおいて、ＳＧ１はローレベルであり、
オフ電流が極めて小さいトランジスタ４１１はオフ状態のままであり、不揮発性レジスタ
４００への電源電圧Ｖの供給が停止した後においても、各帰還ループによって保持されて
いたデータに対応する信号（電位）が回路４０２ａ及び回路４０２ｂそれぞれの容量素子
４１２によって保持される。つまり、回路４０２ａにおけるノードＦの電位はＶＸのまま
であり、回路４０２ｂにおけるノードＦの電位はＶＹＢのままである。こうして、オフ電
流が極めて小さいトランジスタ４１１を用いることによって、回路４０２ａ及び回路４０
２ｂそれぞれの容量素子４１２によって保持された信号（電位）を長期間保つことができ
るため、不揮発性レジスタ４００は電源電圧の供給が停止した後も、長期間に渡ってデー
タを保持することができる。また、データの書き換えを繰り返すことによる不揮発性レジ
スタ４００の疲労は少なく、データの書き換え可能な回数を多くすることができる。
【０２４２】
なお、不揮発性レジスタ４００では、回路４０２ａ及び回路４０２ｂそれぞれにおいて、
オフ電流が極めて小さいトランジスタ４１１がオフ状態となり、且つスイッチ４２４がオ
フ状態となっている間は、容量素子４１２の一対の電極のうちの一方と、帰還ループの各
ノードとは、電気的に遮断されている。それ故、回路４０２ａ及び回路４０２ｂそれぞれ
において、トランジスタ４１１がオフ状態となり、且つスイッチ４２４がオフ状態となっ
ていれば、不揮発性レジスタ４００への電源電圧の供給停止と、クロック信号及びクロッ
ク信号の反転信号の供給停止とは、同時に行うこともできるし、一方を行った後に他方を
行うこともできる。つまり、電源電圧供給停止のシーケンスに自由度がある。
【０２４３】
＜電源電圧供給再開の動作＞
期間４において、電源電圧ＶをＶＤＤとして、不揮発性レジスタ４００への電源電圧の供
給を再開する。また、電源電圧の供給停止時におけるレベル（信号電位）に戻して固定さ
れた、クロック信号やクロック信号の反転信号を供給する。こうして、クロック信号固定
期間を開始する。図１１では、ＣＬＫ１及びＣＬＫ２がローレベルに固定され、ＣＬＫＢ
１及びＣＬＫＢ２がハイレベルに固定される。ここで、回路４０２ａ及び回路４０２ｂそ
れぞれにおいて、トランジスタ４１１がオフ状態となり、且つスイッチ４２４がオフ状態
となっていれば、不揮発性レジスタ４００への電源電圧の供給再開と、電源電圧の供給停
止時におけるレベル（信号電位）に戻して固定されたクロック信号やクロック信号の反転
信号の供給再開とは、同時に行うこともできるし、一方を行った後に他方を行うこともで
きる。つまり、電源電圧供給再開のシーケンスに自由度がある。
【０２４４】
その後、回路４０２ａ及び回路４０２ｂそれぞれにおいて、ＳＧ２はハイレベルとして、
スイッチ４２４をオン状態とする。なお、回路４０２ａ及び回路４０２ｂそれぞれにおい
て、ＳＧ１はローレベルであり、オフ電流が極めて小さいトランジスタ４１１はオフ状態
のままである。回路４０２ａにおいて、容量素子４１２によって保持された信号（電位）
、つまりノードＦの電位ＶＸは演算回路４２３によって対応する信号ＶＸＢに変換され、
スイッチ４２４がオン状態となると、帰還ループのノードＭＢａに入力される。こうして
、ノードＭＢａの電位はやがてＶＸＢとなる。すると、ノードＭａの電位もやがてＶＸと
なる。回路４０２ｂにおいて、容量素子４１２によって保持された信号（電位）、つまり
ノードＦの電位ＶＹＢは演算回路４２３によって対応する信号ＶＹに変換され、スイッチ
４２４がオン状態となると、帰還ループのノードＭＢｂに入力される。こうして、ノード
ＭＢｂの電位はやがてＶＹとなる。すると、ノードＭｂの電位もやがてＶＹＢとなる。こ
うして、電源電圧の供給停止前に保持していたデータを再び帰還ループによって保持する
ことができる。その後、回路４０２ａ及び回路４０２ｂそれぞれにおいて、ＳＧ２はロー
レベルとして、スイッチ４２４を再びオフ状態とする。
【０２４５】
期間５において、クロック信号やクロック信号の反転信号のレベル（信号電位）の固定を
解除する。即ち、クロック信号やクロック信号の反転信号を、ハイレベルまたはローレベ
ルにレベル（信号電位）が周期的に変化する通常の信号に戻す。こうして、不揮発性レジ
スタは、帰還ループによるデータの書き込み及び読み出しを再開することができる。その
後の動作は、上記（電源電圧供給時の動作）と同様である。
【０２４６】
上記のとおり、帰還ループに保持されたデータを容量素子４１２に書き込むための経路（
データ待避経路）と、容量素子４１２に保持されたデータを帰還ループに戻すための経路
（データ復帰経路）とが異なる。データ復帰経路に配置されるスイッチ４２４として、移
動度が高い素子を用いることにより、（電源電圧供給再開の動作）をより高速に行うこと
ができる。例えば、トランジスタ４１３として、シリコン層またはシリコン基板にチャネ
ルが形成されるトランジスタを用いることによって、（電源電圧供給再開の動作）をより
高速に行うことができる。
【０２４７】
以上が、不揮発性レジスタ４００の駆動方法の説明である。
【０２４８】
＜記憶装置、信号処理回路＞
本発明の記憶装置の一態様は、不揮発性レジスタ４００を一または複数用いて構成された
記憶装置とすることができる。また、本発明の信号処理回路の一態様は、当該記憶装置を
用いた信号処理回路とすることができる。例えば、信号処理回路が有するレジスタ、キャ
ッシュメモリ等の記憶装置に不揮発性レジスタ４００を用いることができる。
【０２４９】
さらに、信号処理回路は、上記記憶装置に加え、記憶装置とデータのやり取りを行う演算
回路等の各種論理回路を有してもよい。そして、記憶装置へ電源電圧の供給を停止すると
共に、当該記憶装置とデータのやり取りを行う演算回路への電源電圧の供給を停止するよ
うにしても良い。
【０２５０】
本発明の信号処理回路の一態様は、ＣＰＵと、メモリと、メモリとＣＰＵとのアクセスを
制御する周辺制御装置とを有し、ＣＰＵ、メモリ、及び周辺制御装置はそれぞれ、不揮発
性レジスタ４００を有する構成であってもよい。そして、ＣＰＵ、メモリ、及び周辺制御
装置を有する信号処理回路の全体において、電源電圧の供給を停止するようにしてもよい
。
【０２５１】
不揮発性レジスタ４００を信号処理回路に用いることで、電源電圧の供給停止によるデー
タの消失を防ぐことができ、電源電圧を再供給した後、短時間で電源供給停止前の状態に
復帰することができる。そのため、必要なときのみ電源電圧を供給する、ノーマリオフの
駆動方法を採用することができ、消費電力を大幅に削減することができる。また、信号処
理回路の動作速度を高速化することができ、更に信頼性も高めることができる。
【０２５２】
本実施の形態は、他の実施の形態と適宜組み合わせて実施することが可能である。
【符号の説明】
【０２５３】
１００    半導体装置
１０１    ＣＰＵ
１０２    主記憶装置
１０３    補助記憶装置
１０４    キャッシュメモリ
１０５    レジスタ
１０６    演算回路
１０７    電源管理回路
１０８    設定レジスタ
１０９    制御回路
１１０    記憶装置
１１１    電源電圧
２００    ライン
２０１    バリッドビット
２０２    ダーティービット
２０３    データ領域
２０４    セット
２０５    タグ領域
２０７    フラグ領域
３０１    データ線
３０２    データ線
３０３    データ線
３０４    ワード線
３０５    電源線
３０６    グランド線
３０７    ワード線
３０８    Ｎチャネル型トランジスタ
３０９    Ｎチャネル型トランジスタ
３１０    Ｎチャネル型トランジスタ
３１１Ａ    ノード
３１１Ｂ    ノード
３１２    Ｎチャネル型トランジスタ
３１３    インバータ回路
３１４Ａ    Ｎチャネル型トランジスタ
３１４Ｂ    Ｐチャネル型トランジスタ
３１５Ａ    配線
４００    不揮発性レジスタ
４０１    フリップフロップ回路
４０１ａ    フリップフロップ回路
４０１ｂ    フリップフロップ回路
４０２    回路
４０２ａ    回路
４０２ｂ    回路
４１１    トランジスタ
４１２    容量素子
４１３    トランジスタ
４２１    演算回路
４２１ａ    演算回路
４２１ｂ    演算回路
４２２    演算回路
４２２ａ    演算回路
４２２ｂ    演算回路
４２３    演算回路
４２４    スイッチ
４２６ａ    アナログスイッチ
４２６ｂ    アナログスイッチ
４３０    インバータ
４３０ａ    インバータ
４３０ｂ    インバータ
８００    メモリセル
８０１    Ｎチャネル型トランジスタ
８０２    Ｎチャネル型トランジスタ
８０３    Ｐチャネル型トランジスタ
８０４    Ｐチャネル型トランジスタ
８０５    Ｎチャネル型トランジスタ
８０６    Ｎチャネル型トランジスタ
８０７    電源線
８０８    グランド線
８０９    ワード線
８１０    データ線
８１１    データ線
８１２    ノード
８１３    ノード
８１４    インバータ回路
８１５    インバータ回路
８１６    フリップフロップ回路
９００    メモリセル
９０１    Ｎチャネル型トランジスタ
９０２    コンデンサ
９０３    グランド線
９０４    ワード線
９０５    データ線
９０３３    留め具
９０３４    スイッチ
９０３５    電源スイッチ
９０３６    スイッチ
９０３８    操作スイッチ
９６３０    筐体
９６３１    表示部
９６３１ａ    表示部
９６３１ｂ    表示部
９６３２ａ    領域
９６３２ｂ    領域
９６３３    太陽電池
９６３４    充放電制御回路
９６３５    バッテリー
９６３６    ＤＣＤＣコンバータ
９６３７    コンバータ
９６３８    操作キー
９６３９    ボタン
【図１】
2020080164.tif 000003
【図２】
2020080164.tif 000004
【図３】
2020080164.tif 000005
【図４】
2020080164.tif 000006
【図５】
2020080164.tif 000007
【図６】
2020080164.tif 000008
【図７】
2020080164.tif 000009
【図８】
2020080164.tif 000010
【図９】
2020080164.tif 000011
【図１０】
2020080164.tif 000012
【図１１】
2020080164.tif 000013
【図１２】
2020080164.tif 000014
【図１３】
2020080164.tif 000015
【図１４】
2020080164.tif 000016