(57)【要約】【課題】本発明の目的は、回路性能を落さずに回路の消費電力を削減するための効率的な方法により、高速半導体装置の電力を低減することにある。【解決手段】メモリが階層構造となっているシステムにおいて、キャッシュミスが生じた後、メインメモリの先頭アドレスの検出に入った時に、メインメモリの先頭アドレスを検出する命令を検出して演算器を第１の低電力モードに切り替える。また、先頭アドレスが見つかった後、メモリより演算器が備えるキャッシュメモリへの格納と平行して行われる演算器の動作を第２の低電力モードに切り替えて行うものである。【選択図】図１
2010146474.tif 000002
【特許請求の範囲】
【請求項１】
演算処理装置と、
前記演算処理装置で使用される命令及びデータを含む記憶情報を蓄えた、アクセス速度が前記演算処理装置の動作速度よりも遅い大容量記憶装置と、
前記記憶情報の少なくとも一部を蓄えた、アクセス速度が前記演算処理装置の動作速度よりも遅く、前記大容量記憶装置のアクセス速度よりも速い小規模記憶装置と、
前記大容量記憶装置を制御する記憶制御装置と、を有し、
前記演算処理装置が、ゲート端子とドレイン端子とソース端子と基板端子とを具備してなるＣＭＯＳトランジスタで構成され、
前記ＣＭＯＳトランジスタの基板端子に、前記小規模記憶装置に記憶された記憶情報が前記演算処理装置において実行される第１の期間では第１の電圧が印加され、
前記大容量記憶装置が、前記演算処理装置で必要な記憶情報を前記演算処理装置へ送る準備を行う第２の期間では第２の電圧が印加され、
前記第１の電圧と前記第２の電圧とは異なる電圧であって、前記第１の電圧は前記ＣＭＯＳトランジスタのしきい値電圧の絶対値を大きくする電圧であることを特徴とする半導体装置。
【請求項２】
前記第２の期間が、前記演算処理装置が前記小規模記憶装置に必要な記憶情報が無いことを検知し、前記記憶制御装置が前記大容量記憶装置へ前記演算処理装置が必要な記憶情報を求め、その後、前記記憶制御装置が前記大容量記憶装置の記憶情報の中より必要な記憶情報の先頭アドレスを検知し、前記記憶制御装置の制御により前記大容量記憶装置から必要なデータを送り始めるまでの期間であることを特徴とする請求項１記載の半導体装置。
【請求項３】
前記ＣＭＯＳトランジスタは、絶縁膜上に構成されたＳＯＩ構造を有し、ゲート端子と、ドレイン端子と、ソース端子と、該絶縁膜の下に設けられた半導体領域と、該半導体領域に電圧を印加できるバックゲート端子とを備え、
前記第２の期間において、前記バックゲート端子に、前記ＣＭＯＳトランジスタのしきい値電圧の絶対値を大きくする電圧であって、前記第１の期間とは異なる電圧が印加されることを特徴とする請求項１記載の半導体装置。
【請求項４】
前記第２の期間が、前記演算処理装置が前記小規模記憶装置に必要な記憶情報が無いことを検知し、前記記憶制御装置が前記大容量記憶装置へ前記演算処理装置が必要な記憶情報を求め、その後、前記記憶制御装置が前記大容量記憶装置の記憶情報の中より必要な記憶情報の先頭アドレスを検知し、前記記憶制御装置の制御により前記大容量記憶装置から必要なデータを送り始めるまでの期間であることを特徴とする請求項３記載の半導体装置。
【請求項５】
演算処理装置と、
前記演算処理装置が使用する命令及びデータを含む記憶情報を蓄えた、アクセス速度が前記演算処理装置の動作速度よりも遅い大容量記憶装置と、
前記記憶情報の少なくとも一部を蓄えた、アクセス速度が前記演算処理装置の動作速度よりも遅く、前記大容量記憶装置のアクセス速度よりも速い小規模記憶装置と、
前記大容量記憶装置を制御する記憶制御装置と、を有し、
前記演算処理装置が、ゲート端子とドレイン端子とソース端子と基板端子とを具備してなるＣＭＯＳトランジスタで構成され、
前記演算処理装置が前記小規模記憶装置に記憶された記憶情報を用いて演算を実行する第１の期間において、前記ＣＭＯＳトランジスタの基板端子に第１の電圧が印加され、前記演算処理装置は第１のクロック周波数に同期して動作し、
前記大容量記憶装置が、前記演算処理装置に必要な記憶情報を前記演算処理装置へ送る準備を行う第２の期間において、前記演算処理装置は前記第１のクロック周波数より遅い周波数を有する第２のクロック周波数に同期して動作し、前記基板端子には、前記ＣＭＯＳトランジスタのしきい値電圧の絶対値を大きくする前記第１の電圧とは異なる第２の電圧が印加されることを特徴とする半導体装置。
【請求項６】
前記第２の期間が、前記演算処理装置が前記小規模記憶装置に必要な記憶情報が無いことを検知し、前記記憶制御装置が前記大容量記憶装置へ前記演算処理装置が必要な記憶情報を求め、その後、前記記憶制御装置が前記大容量記憶装置の記憶情報の中より必要な記憶情報の先頭アドレスを検知し、前記記憶制御装置の制御により前記大容量記憶装置から必要なデータを送り始めるまでの期間であることを特徴とする請求項５記載の半導体装置。
【請求項７】
前記ＣＭＯＳトランジスタは、絶縁膜上に構成されたＳＯＩ構造を有し、ゲート端子と、ドレイン端子と、ソース端子と、該絶縁膜の下に設けられた半導体領域と、該半導体領域に電圧を印加できるバックゲート端子とを備え、
前記第２の期間において、前記バックゲート端子に、前記ＣＭＯＳトランジスタのしきい値電圧の絶対値を大きくする電圧であって、前記第１の期間とは異なる電圧が印加されることを特徴とする請求項５記載の半導体装置。
【請求項８】
前記第２の期間が、前記演算処理装置が前記小規模記憶装置に必要な記憶情報が無いことを検知し、前記記憶制御装置が前記大容量記憶装置へ前記演算処理装置が必要な記憶情報を求め、その後、前記記憶制御装置が前記大容量記憶装置の記憶情報の中より必要な記憶情報の先頭アドレスを検知し、前記記憶制御装置の制御により前記大容量記憶装置から必要なデータを送り始めるまでの期間であることを特徴とする請求項７記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に係り、特に、低電力プロセッサ用回路技術に関する。
【背景技術】
【０００２】
従来、特開2000-214967号公報（特許文献１）に開示されているように、プロセッサに入力する電力制御命令信号をデコードして、装置内の回路ブロックの周波数やリーク電流を制御する方法が知られている。また、特開2004-318502号公報（特許文献２）に開示されているように、プロセッサに入力するメモリアクセス命令を検出して回路ブロックの周波数やしきい値電圧を制御する方法が知られている。更には、特開2002-229690号公報（特許文献３）に開示されているように、プロセッサ自身が他の命令から電力制御命令を発生し、装置内の回路ブロックの周波数やリーク電流を制御する方法が知られている。
リーク電流やしきい値電圧を制御する手段としては、1996年、IEEE, Journal of Solid-State Circuits, VOL.31, No.11、1770頁〜1779（非特許文献１）の"A 0.9-V, 150-MHz, 10-mW, 4 mm2, 2-D Discrete Cosine Transform Core Processor with Variable Threshold-Voltage (VT) Scheme"に記載のように、CMOSトランジスタの基板（ウエル）に電圧を印加し（この文献のFig.2を参照）、することが知られている。また、2005 年、IEEE International Electron Device Meeting Technical Digest Papers pp. 631-634（非特許文献２）や、特開2007-042730号公報（特許文献４）に開示されるように完全空乏（ＦＤ）型のSOI構造におけるCMOSトランジスタにおいて、その埋め込み酸化膜（ＢＯＸ）層が３０ｎｍ以下と薄いことを特徴としたトランジスタを用い、これにより、このＢＯＸ層をゲート絶縁膜と見立てたバックゲートを駆動してしきい値電圧を制御する手段が知られている。また、特開2004-318502にも開示されているように、電源と回路ブロックの間に別のMOSトランジスタを挿入する方法も知られている。
【０００３】
【特許文献１】特開2000-214967号公報
【特許文献２】特開2004-318502号公報
【特許文献３】特開2002-229690号公報
【特許文献４】特開2007-042730号公報
【非特許文献１】“1996年 IEEE, Journal of Solid-State Circuits”, VOL.31, No.11、pp.1770-1779
【非特許文献２】“2005年、IEEE International Electron Device Meeting Technical Digest Papers”、pp. 473-476
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、電力制御命令信号をデコードして回路ブロックの周波数やしきい値電圧を制御する方法は種々あり、それらが一様に電力削減に効果があるわけではない。特に、近年の半導体装置では、そのメモリシステムは一般に階層構造を持ち、これをいかに制御するかが高性能や低電力実現の鍵となって来ている。また、半導体装置自体も大型化、複雑化しており、一般には複数のプロセッサ(演算ブロック)を多数個用いて並列動作を行わせ、またネットワークで接続して、高性能や低電力実現の鍵となって来ている。この中で、電力制御命令信号をデコードして回路ブロックの周波数やしきい値電圧を制御する時にメモリに階層構造が有る時に、このメモリへのアクセス形態に応じた半導体装置の回路ブロックの周波数やしきい値電圧の制御する効果的な方法についての従来の検討は無かった。
【０００５】
そこで、本発明の目的は、回路性能を落さずに回路の消費電力を削減するための効率的な方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するための代表的な手段を以下に示す。第１の手段としては、メモリが階層構造となっているシステムにおいて、キャッシュミスが生じた後、メインメモリの先頭アドレスを検出する命令を検出して演算器を第１の低電力モードに切り替えるものである。また、先頭アドレスが見つかった情報がメモリより発信されたら演算器を元の高速モードに切り替えるものである。第２の手段としては、先頭アドレスが見つかった後、メモリより演算器が備えるキャッシュメモリへの格納と平行して行われる演算器の動作を第２の低電力モードに切り替えて行うものである。
【０００７】
メモリが階層構造となっているシステムにおいて、キャッシュミスが生じた後、メインメモリの先頭アドレスを検出する動作は、高速な大型システムでも１００ナノ秒からマイクロ秒のオーダーでの時間を要する。この間は、演算器の特定の部分のみ動いておればよく、演算器の多くの部分は停止することができ、また、演算器を構成しているMOSトランジスタのしきい値電圧を絶対値で大きくしてリーク電流を低減することができる。
上記のみでも効果は大きいが、メモリより演算器が備えるキャッシュメモリへの格納の転送速度は一般に演算器がキャッシュメモリを用いて行う演算速度よりも一桁以上遅い。よって、第２の手段により、この期間に演算器が第２の低電力モードである低速かつしきい値電圧がキャッシュメモリを用いて行う時よりも高い値とできることにより、本来の全体の動作性能は落さずに、低電力化が可能となるのである。
【発明の効果】
【０００８】
メモリが階層構造となっているシステムにおいて、キャッシュミスが生じた後、メインメモリの先頭アドレスを検出する動作の間は、演算器を構成しているMOSトランジスタのしきい値電圧を絶対値で大きくしてリーク電流を低減し、これにより回路性能を落さずに回路の消費電力を削減することができる。
【発明を実施するための最良の形態】
【０００９】
本発明の第1の実施例を図１を用いて説明する。この実施例の主要な内容は、半導体チップＣＨＩＰ上のメモリコントローラがメモリ(主記憶)の制御を行うが、このメモリコントローラの動作状態に応じた、又は動作状態を示す信号によって、これがメモリ(主記憶)の先頭アドレスを探す状態となっている期間、演算を行う回路ブロックＰＵの電力状態を変化させるものである。全体の構成例は、半導体チップＣＨＩＰ上に少なくともひとつの演算を行う回路ブロックＰＵがあり、これは電力状態を変化できる機能を備えており、内部バスＢＵＳ１にキャッシュメモリＣＭと共に接続されており、このＢＵＳ１にＣＨＩＰ上の色々な回路ブロックを統括管理するＣＰＵと、メモリと、外部との信号のやり取りを行なう回路ブロックでありがＩＯ接続されている。ＩＯはチップの外へのバスＢＵＳ３は接続され、このＢＵＳ３には例えばファイルメモリが接続されている。ファイルメモリは例えばフラッシュメモリやＨＤＤなどで構成される。ＢＵＳ１にはメモリコントローラが接続され、このメモリコントローラには、チップの外へのバスＢＵＳ２が接続され、ＢＵＳ２にはメモリ(主記憶)が接続される。このメモリ(主記憶)は、例えばＤＲＡＭやＭＲＡＭなどの磁性体メモリなどである。このような構成において、前述のＰＵの回路ＣＫＴはＣＭＯＳ素子で構成されており、電源は高電位Ｖｄは、低電位はＶｓであるが、その基板又はバックゲートの電圧を制御できるようになっている。この基板又はバックゲートに与える電圧及びその端子がＶＰ及びＶＮであり、ｐＭＯＳ用がＶＰであり、ｎＭＯＳがＶＮである。これらの値は制御する回路ブロックがＢＢコントローラであり、回路ＣＫＴに与えるクロックＣＬＫの周波数を制御する回路ブロックがＣＬＫＧである。これらは、ＰＵひとつ毎に準備される場合もあれば、動作内容に応じて複数のＰＵで纏められることもある。
【００１０】
また、共通部分を取り出して、これ以外を各ＰＵに備える場合もある。これらＢＢコントローラとＣＬＫＧによって、ＰＵの電力状態を変えることができる。この電力状態を変える信号が、ＭＳＫとＭＳＢであり、共にメモリコントローラの状態による信号である。つまり、メモリコントローラがメモリ(主記憶)の先頭アドレスを探す状態になっていることを示す信号であり、この信号によって、ＰＵの回路ＣＫＴの周波数及び基板電圧(バックゲート電圧)が変えられ、低電力な状態とすることができるのである。なお、このメモリコントローラの状態は、ＢＵＳ１に接続されたＣＰＵが行っているので、このＭＳＫとＭＳＢはＣＰＵが発生した信号であると言うこともできる。このような構成により、本発明では演算を行う回路ブロックＰＵがキャッシュメモリＣＭの情報のみでは動作が行えず(キャッシュミス)、ＣＨＩＰ外部のメモリ(主記憶)の先頭アドレスを探しに行っている期間において、ＭＳＫとＭＳＢによって回路ＣＫＴの周波数と基板又はバックゲートに与える電圧を変えて、回路ブロックＰＵを低電力な状態を取ることができるという特徴がある。なお、回路ブロックＰＵは複数個存在する場合は、そのそれぞれにおいてこのような低電力な状態を取ることができるという特徴がある。
【００１１】
図２は、本発明の動作の主要な部分例を示したものである。ＭＳＢとＭＳＫは、図１の回路ＣＫＴに与えるクロック周波数と基板電圧(バックゲート電圧)を変化させる信号である。ＶＰとＶＮはその基板電圧(バックゲート電圧)信号であり、ＣＬＫはそのクロック周波数である。図１で、キャッシュメモリへのミスが生じ、メモリ(主記憶)の先頭アドレスを探す状態に時刻ｔ１においてなったとしよう。すると、ＭＳＢとＭＳＫが切り替わり、より電力の小さな状態へ回路ＣＫＴは移行する。すなわち、ＶＰはそれまので電位ＶＰＬからＶＰＨへ、ＶＮはそれまのでＶＮＬからＶＮＨへ変化する。ここで回路ＣＫＴにおいては、ＶＰＬとＶＮＬの電位では、ｐＭＯＳもｎＭＯＳもそのしきい値電圧は低く高速動作が可能である。一方、ＶＰＨとＶＮＨの電位では、ｐＭＯＳとｎＭＯＳのしきい値電圧は高くリーク電流を低く抑えることができる。このｔ１では、ＣＬＫも変化させる。時刻ｔ１以前では、高い周波数ｆ１であったが、ここで低い周波数ｆ２に切り替わる。これによって、メモリ(主記憶)の先頭アドレスを探す状態では、周波数は低く、しきい電圧は高いので、充放電電力もリーク電力も低く抑えることができる。この後、メモリ(主記憶)の先頭アドレスを探す動作が終了すると、この時刻ｔ２で再びＭＳＢとＭＳＫが切り替わり、ＶＰとＶＮはそれぞれＶＰＬとＶＮＬに戻り、ＣＬＫはｆ１に戻る。これにより高速動作が可能な状態となる。このように本実施例では、メモリ(主記憶)の先頭アドレスを探す状態において、電力を低く抑えることが可能となるのである。なお、後述するが、ｔ２において、メモリ(主記憶)からのデータを用いて直接ＰＵが動作を行う場合があり、これは一般的にキャッシュメモリＣＭの内容で動作を行う時よりも低速である。このため、これに適したクロック周波数ＣＬＫと基板電圧(バックゲート電圧) ＶＰとＶＮを与えることもできる。
【００１２】
ここで本発明が適用される半導体装置のメモリの階層構造を図３に示す。
プロセッサに対してレジスタ−キャッシュ−主記憶−ファイル記憶と構成され、一般にプロセッサに近いほど、スピードは速いが容量は小さい。プロセッサは、図１の演算を行う回路ブロックＰＵやＣＰＵであり、図１では省略しているが実行中又は次に実行する命令やデータを蓄えておくレジスタを有している。この下にはキャッシュがあり、図１のキャッシュメモリＣＭなどでありプロセッサが当面の演算を行うのに必要なデータを蓄えておく。このキャッシュはプロセッサの動作速度と同じか近い周波数(１／２や１／４)と高速に動作する。主記憶は、このキャッシュに入りきれない情報を蓄えておくものであり、キャッシュよりも低速であるが大きな記憶容量を備えている。このメモリとキャッシュメモリとのデータのやり取りは、纏まった大きさの単位で行われる。この動作は、先頭のアドレスをアクセスする動作と纏まった単位のデータを連続的に主記憶よりキャッシュへ転送する動作の２つとからなる。このうち、後者の転送する動作はプロセッサの周波数の一桁低い周波数程度であるが、前者の先頭のアドレスをアクセスする動作はこれよりも低速である。これは、バスの衝突を避けるためにプロセッサと主記憶が記憶内容を特定したことを確認する動作や、主記憶を構成するメモリのアクセス時間の制約などによる。これを制御しているのがメモリコントローラである。本発明は、先頭のアドレスをアクセスする動作が半導体装置では起こることを利用し、その間のプロセッサを低速動作又は停止させ、ＭＯＳトランジスタのしきい値電圧も高くしてリーク電力を抑え、低電力化を図るものである。この先頭のアドレスをアクセスする動作は通常の動作で起こるため、本発明によって処理性能が低くなることはない。メモリの階層構造としては、更にファイル記憶がある。これは、ＨＤＤやフラッシュメモリで構成された巨大な容量のメモリであるが、一般的に速度は遅い。よって、一般的な計算では、これに必要な情報は一旦主記憶に取り込んでから行う。又は、動作中であれば、不要な情報内容となった主記憶の部分に予測してファイル記憶内容を転送するなどこの動作が見えないようにする工夫をする。ファイル記憶にアクセスしている時間は長いため、このときはプロセッサを止めてしまうことは行われてきた。本発明は、主記憶の動作を解析した結果、ここに動作速度を損なわずに電力を削減できる状態を見出し、考案したものである。
【００１３】
図４に、レジスタは省力したが、計算中のプロセッサとキャッシュとメモリ(主記憶)のデータのやり取りの大きさに注目した関係を示す。ファイル記憶は、主に計算は終了後、又は計算準備のためのデータをやり取りに使用するので省略してある。（ａ）は、階層構造を示した図であり、プロセッサに対して、キャッシュとメモリ(主記憶) とがあり、一般にキャッシュは高速だがその容量は小さく、メモリ(主記憶) は中速(〜低速)であるがその容量は大きい。一般には、キャッシュメモリはプロセッサと同じチップ上のＳＲＡＭが用いられるが、最近容量がそれでも大きなものが要求されるようになってきており、ＤＲＡＭが用いられる場合もある。また、磁性体メモリもその無限回の書き換え回数のために使用されることもある。この時は、磁性体メモリは不揮発のためこれを活かした使い方も可能である。メモリ(主記憶) は、主にはＤＲＡＭであるが、これも磁性体メモリが使用される場合がある。このような構成において、(ｂ）〜（ｄ）の３つの動作モードが存在する。(ｂ）は、プロセッサがキャッシュの記憶内容を用いて高速に動作している場合であり、プロセッサの最高性能を引き出すことができる。（ｃ）は、主記憶中のデータを直接用いてプロセッサが動作している状態であり、データの転送速度によって速度は制限されてしまう。一般にはプロセッサの最高性能の一桁低い性能となってしまう転送速度となる。（ｄ）は、これまでも説明してきた、先頭アドレスを探しに行っている状態であり、プロセッサそのものは演算を行っていない。本発明を用いて、プロセッサを低電力な状態にできるのは第１には（ｄ）の期間であるが、（ｃ）の期間もプロセッサの動作は最高性能の一桁低い動作しかできないため、本発明を用いてしきい値電圧も高くしてリーク電力を下げることができる。
【００１４】
図５は、この(ｂ）〜（ｄ）の３つの動作モードの時間配分を示した例である。（１）は、プロセッサの最高性能を引き出せるプログラムの例であり、分子動力学の第１原理計算の例である。この例では、５６％の期間が(ｂ）のモードであり、（ｃ）が２５％、（ｄ）が１９％である。この例では、本発明を用いて、プロセッサを低電力な状態にできるのは、先頭アドレスを探しに行っている期間では１９％の部分である。（２）は、（１）のようにキャッシュの内容のみでの計算が占める割合が大きくない例であり、多くのプログラムはこのような傾向となってしまう。この例では、２０％は(ｂ）のモードとできた例であり、４５％が（ｃ）であり、３５％が（ｄ）である。この例では、先頭アドレスを探しに行っている期間のみに着目した場合でも３５％の期間をプロセッサの電力が小さな状態とできる。
【００１５】
ここで、基板電圧(バックゲート電圧)及びクロック周波数を変える回路ブロック図を図６に示しておく。回路ＣＫＴは、本発明を構成するしきい値電圧とクロック周波数が制御可能なＣＭＯＳ回路であり、その電源電圧はＶｄとＶｓであり、基板電圧(バックゲート電圧)の端子及びその電圧はＶＰ及びＶＮであり、入力しているクロックの端子及びその周波数はＣＬＫである。ＶＰ及びＶＮをメモリへのアクセス状況に応じて変化させるＢＢコントローラは、プロセス変動などに応じた電圧を発生するＶｔｈｐ及びＶｔｈｎを備えている。それぞれ電源ＶｄｄとＶｓｓで動作し(これはＶｄとＶｓと同一の場合もあれば、異なる場合もある)、ＶｔｈｐではｐＭＯＳと抵抗とで電圧が発生させられ、ＶｔｈｎではｎＭＯＳと抵抗とで電圧を発生する。これらの電圧は、使用したｐＭＯＳ及びｎＭＯＳがプロセス条件を反映することによって、プロセス条件に応じた電圧を発生する。これによってプロセスの変動を基板電圧(バックゲート電圧)の電圧によって補償することが可能となる。これらの電圧は、一旦ＯＰアンプで安定化される。このときにはプロセスによらない基準電圧Ｖｒｅｆ．が必要である。これは良く知られたバンドギャップジェネレータなどで発生できる。この出力電圧が、それぞれＶＰＬ及びＶＮＬであり、本発明では回路ＣＫＴの高速動作に適したしきい値となる基板電圧(バックゲート電圧)であり、前述のようにプロセス変動を補償することもできる。これらの電圧より一定電圧シフトした電圧をＶｏｌｔａｇｅ  Ｓｈｉｆｔｅｒで作成する。これらは、電源電圧又は内部で発生した電圧とＶＰＬ及びＶＮＬとでダイオードを用いたり、抵抗を用いたり、或いはチャージポンプを用いて発生することができる。この出力がＶＰＨ及びＶＮＨであり、本発明では、回路ＣＫＴが高しきい値電圧となりリーク電流を下げることができる基板電圧(バックゲート電圧)となる。これらの発生電圧をＭＵＸで切り替えて、ＶＰ又はＶＮの電圧として使用すれば良い。この切り替えは、図１のメモリコントローラＭＣよりの信号ＭＳＢによって、Ｂ  Ｒｅｇｉｓｔｏｒと示したレジスタの内容を書き換えることで行う。このレジスタが切り替わると、それに応じてＭＵＸが切り替えられて、ＶＰ及びＶＮへの出力を、ＶＰＨ／ＶＰＬ及びＶＮＨ／ＶＮＬから選択することができるのである。なお、ＭＵＸでは切り替えと共に、ＯＰアンプを用いて出力電圧の安定性を高めることも行われる場合がある。同様に、クロック周波数の切り替えにおいては、ＣＬＫＧにおいて、ＰＬＬの発振周波数を分周器１／２及び１／４によって、それぞれ周波数が１／２及び１／４の周波数を発生させる。ｓｔｏｐは周波数０かそれに近い周波数を発生するためにものである。これらの出力をＭＵＸで切り替えて、ＣＬＫへの出力周波数とする。この切り替えは、図１のメモリコントローラＭＣよりの信号ＭＳＫによって、Ｆ  Ｒｅｇｉｓｔｏｒと示したレジスタの内容を書き換えることで行う。なお、ＭＵＸでは切り替えと共に、信号の駆動能力を高めることも行われる場合がある。以上、仕組みを用いることによって、本発明に必要な基板電圧(バックゲート電圧)及びクロック周波数を変える機能を実現することができる。
【００１６】
図７及び図８に、本発明の動作を纏めておく。図７は、先頭アドレスを探しに行っている状態のみ基板電圧(バックゲート電圧)及びクロック周波数を変える実施例であり、図８は、メモリ(主記憶)よりの情報でプロセッサが動作している時にも別の基板電圧(バックゲート電圧)及びクロック周波数に変える実施例である。
【００１７】
図７において、キャッシュミスが生じると、メモリ(主記憶)アクセスが開始され開始信号が出される。これによってメモリコントローラが動作し、これまでの仕組みを用いて、プロセッサ動作が停止又は低い周波数へ切り替えられ、それと共に、基板電圧(バックゲート電圧)が変化しプロセッサのＭＯＳトランジスタは高しきい値電圧となる。これと平行して、メモリ(主記憶)では先頭アドレスへのアクセスが行われる。バスの調停の準備などを得てこの動作が完了すると、このメモリ(主記憶)アクセスにヒット信号がでる。これまでは、プロセッサは、低クロック周波数及び高しきい値電圧の状態である。しかし、メモリ(主記憶)アクセスにヒット信号により、プロセッサの状態は復帰させられ、クロック周波数も当初の高い周波数に復帰し、ＭＯＳトランジスタも高速動作が可能な低しきい値電圧となる。この後、メモリ(主記憶)よりのデータ転送が行われ、プロセッサは動作を開始する。このような動作により、本実施例では、メモリ(主記憶)にて先頭アドレスへのアクセスが行われている期間、プロセッサを低電力状態とすることができるという特徴がある。また、これはプロセッサ全体の処理能力を邪魔しない。
【００１８】
図８の実施例においては、キャッシュミスが生じ、メモリ(主記憶)アクセスが開始されプロセッサの動作を低電力化し、その後、メモリ(主記憶)のアクセスヒット信号が出るまでは、図７の動作の実施例と同じである。本実施例では、その後のメモリ(主記憶)よりのデータ転送が行われ、これによるプロセッサの動作における基板電圧(バックゲート電圧)によるしきい値電圧及びクロック周波数（第１の低しきい値電圧、第１のクロック周波数）を、キャッシュを用いてのものと異なる値（第２の低しきい値電圧、第２のクロック周波数）に設定するという特徴がある。すなわち、メモリ(主記憶)のアクセスヒット信号が出て、先頭アドレスの検出と準備が終わると、まず、第１の低しきい値電圧、第１のクロック周波数とする。この状態で、メモリ(主記憶)よりのデータ転送を行う。このデータ転送はプロセッサ本来の最高性能よりは遅い転送レートであるため、第１の低しきい値電圧、第１のクロック周波数で動作が可能である。その分低電力となる。この後、キャッシュに必要なデータが揃うと、その次からはプロセッサ本来の性能での動作が可能となる。ここで本実施例では、第２の低しきい値電圧、第２のクロック周波数になるようにプロセッサへのクロック周波数、基板電圧(バックゲート電圧)を制御するのである。これにより、プロセッサは高速動作が可能となり、キャッシュの内容を用いて動作を行う。
【００１９】
図９は、本発明におけるCMOS構造の例を示す図である。ｎＭＯＳとｐＭＯＳとは、ｐ−ｓｕｂ上で下記に説明する構造をつけた形で形成され、両者は溝堀型絶縁領域であるＳＳＴＩで分離される。ｐＭＯＳについてまず述べると、埋め込み酸化膜ＵＴＢ上に形成されている。ＵＴＢの厚さは、例えば１０〜２０ｎｍである。Ｓはソース端子、Ｇはゲート端子、Ｄはドレイン端子であり、これらは、シリサイドＳＣを介して、ｐ＋領域（ソース）、ｎ領域（チャネル形成領域）、ｐ＋領域（ドレイン）に接続されている。この厚みは、例えば２０nm程である。ゲートのＳＣとｎ領域の間には酸化膜があり、いわゆるＭＯＳ構造となっている。この酸化膜は、酸化ハフニウムのようないわゆるＨｉｇｈ−ｋ膜の場合もある。なお、ゲートはシリサイドで構成しているが、これは例えばＮｉＳｉである。他の金属材料も考えられる。ＵＴＢ下にはｎ領域があり、これは端子ＢＧと接続されている。よって、断面図の上に示した回路図に示したように、ＢＧはＵＴＢを絶縁膜として、ｎ領域とキャパシタを介した形で接続されている。これは、このＵＴＢを第２のゲート酸化膜と見立てると、ＭＯＳ構造の背面に第2のゲートが存在する構造となっている。よって、このゲートをバックゲートＢＧ呼ぶことにする。この構造を用いた回路の構成例が図１のＣＫＴとなる。このＢＧの電圧を変えることによって、ＵＴＢの上部のＭＯＳのしきい値を変えることができる。このような構造において、チャネル形成領域が上記例の２０nm程厚さであると、ソースとドレインにはさまれたゲート下の半導体領域（チャネル領域）は、完全に空乏化している。このような、絶縁膜ＵＴＢの上に完全空乏化したチャネル領域を有する構造は、ＵＴＢの厚さを限定しない時、一般にはFD−SOI構造と呼ばれる。ｎＭＯＳにおいても、同様であり、埋め込み酸化膜ＵＴＢ上にｎ＋領域（ソース）、ｐ領域（チャネル形成領域）、ｎ＋領域（ドレイン）が形成され、ＵＴＢ下にはｐ領域があり、これは端子ＢＧと接続されている。ｎＭＯＳにおいては、ｄｎでバックゲート部分をすべて覆う。このようにすれば、ＵＴＢより下の領域では、ｎＭＯＳのｄｎとｐＭＯＳのｎ領域とは、ｐ領域であるｐ−ｓｕｂによって分離することができる。ｄｎに逆バイアスを与えるために電圧が、ＶＤＮより印加される。これによって、回路の動作状態に応じてしきい値電圧を変えることができ、高速かつ低電力・低リーク電流である半導体装置を実現できる。
【００２０】
図１０と図１１にバックゲート（ＢＧ）に電圧を印加する場合の例を示す。
図１０において、（ａ）は回路図であり、（ｂ）はバックゲートBGの電圧VBGSを変えた時のドレイン電流IDSのゲート・ソース間電圧VGS依存性である。この（ｂ）から例えばゲート・ソース間電圧VGSが０Vの点の電流、すなわちオフ状態でのリーク電流を値を見ると、BGの電圧VBGSが０Vの時は、ゲート幅１ミクロンメートル当り１０のマイナス１０乗アンペアであるのに対して、VBGSが１Vの時は、3桁以上大きな電流が流れることが分かる。また、この図は縦軸が対数であるのでわかりにくいが、VGSが１Vの点、すなわちオン電流においても２０％程、VBGSが１Vの方が、VBGSが０Vの場合と比較して大きい。このように、同じゲート・ソース間電圧VGSにおいて、バックゲートの電圧VBGを変えることで異なる電流を取ることができる。よって、リーク電流の小さな状態、又はオン電流の大きな状態を作り出すことができるのである。
【００２１】
図１１では、（ａ）の回路図に示すようにバックゲートとゲートを直接接し、ゲートＧのみで駆動する時のドレイン電流Ｉｄｓのゲート・ソース間電圧ＶＧＳ依存性を示している。（ｂ）において、Ａの線がこの時の依存性である。なお、Ｂの線は、図１０（ｂ）のVBGSが１Vの時依存性の線を示し、Ｃの線は図１０（ｂ）のＶＧＳが０Vの時依存性の線をします。このように、VGSが０V、すなわちオフ状態では小さなリーク電流を実現し、かつ、ＶＧＳが１Ｖでは大きなオン電流を実現している。これによって、高速かつ低電力、低リーク電流を実現できる。
【００２２】
本発明では、図1のＣＫＴのように纏まった論理回路には図１０のようにＢＧを独立に制御する。一般にシステムLSIは多くの回路ブロックが集まってできているが、すべての回路ブロックが常時動いているわけではなく、時間的、空間的に動作している部分は多くの回路ブロックの一部であり、これが時々刻々と移り変わっていく。よって、活性化される回路ブロックのみオン電流が高い状態とし、活性化していない多くの回路ブロックではオフ電流が極めて小さな状態とすることによって、高速化と、低電力化、低リーク化を達成することができる。更に、バックゲートがこの回路ブロックの外から駆動するのでこの回路ブロックの動作が進行していくので、ＣＫＴ内の各回路はバックゲートを駆動することがない。回路ブロック内部では配線が短いので、各回路の駆動する負荷は殆どゲート容量で決まってしまう。よって、このゲート容量を増やさないことが重要であり、これを達成している。
図１２と図１３には、プロセッサと同一チップ上に形成されるメモリセルの例を示す。
【００２３】
図１２は、４つのトランジスタＴｒ１，Ｔｒ２，Ｄｒ１，Ｄｒ２で構成したＳＲＡＭの例であり、Tｒ１とTｒ２のバックゲートを、メモリセルの内部ノードであるＮ１とＮ２で制御している。Ｂ１とＢ２は信号を読み出すビット線であり、Ｗ１がワード線である。この構成によれば、Tｒ１とTｒ２の内、必要な片方のMOSのしきい値電圧を高く、他方を低く設定することができ、このメモリセルの電力を下げることができる。
【００２４】
図１３には、６つのトランジスタＴｒ１，Ｔｒ２，Ｌｄ１，Ｌｄ２，Ｄｒ１，Ｄｒ２で構成したSRAMの例であり、Ｌｄ１とＤｒ１のバックゲートがそのゲートと接続され、同様にＬｄ２とＤｒ２のバックゲートがそのゲートと接続された構成を取る。この構成によれば、このメモリセルの安定度を高めることができる。
【００２５】
図１４〜図１６は、本発明を用いたプロセッサで構成される大型計算機の構成例を示す図である。
【００２６】
図１４において、各プロセッサは、図１のＣＨＩＰ又は図１５に示すプロセッサである。この図１４の例では、４つのプロセッサ、プロセッサ０〜プロセッサ３がひとつのノードを形成し、このノードＭ個（ノード１〜ノードＭ−１）がネットワークで形成されている。このプロセッサ０〜プロセッサ３は、同種のプロセッサが４つでも、或いは異なるプロセッサの組み合わせでも良い。このような構成の大型計算機は並列計算に向いており、各ノードに分配された必要な計算が、４つのプロセッサで同時に処理される。この時、例えば、プロセッサ０が、全体の計算のスケジューリングや他のノードとの通信処理を受け持つ。
【００２７】
図１５は、プロセッサの他の構成例を示す実施例である。ＣＰＵと複数のアクセラレータ１〜アクセラレータｎを備えている。ＯｔｈｅｒはＩＯ回路含めた他の回路ブロックを示す。また、キャッシュッメモリを備え、外部のメモリを制御するメモリコントローラを備えている。このメモリコントローラの動作状態によって、このプロセッサがどの階層のメモリを扱っているのかを認識し、本発明では、外部メモリ(主記憶)の先頭アクセスを探している期間は、このプロセッサ上の少なくとも一部の回路のクロック及びバックゲートを制御する。このために、クロック発生及び制御とＰＬＬとバックゲート電圧発生回路を備えている。この図１５のプロセッサが、プロセッサ０〜プロセッサ３のひとつひとつに対応する。図１５の本実施例によれば、複数のアクセラレータ１〜アクセラレータｎを備えた高い処理性能を持つ計算機においても、その性能を損なうことなく、電力を削減できる半導体装置を実現ですきる。
【００２８】
図１６に、図１５のプロセッサを用いて、図１４の計算機を構成したときの全体像を示す。各プロセッサは図１５と同じものである。この図では、メモリコントローラに接続される主記憶であるメモリが示されている。このメモリの先頭アドレスを検出するときの動作においては、本実施例では、プロセッサの少なくとも一部のバックゲートや周波数を変化させて低電力とすることはできる特徴がある。更に、各プロセッサは４つごとにネットワークＩ／Ｆでひとつのノードとなり、これがＭ個接続されている。また、本実施例では他の特徴として、例えば、プロセッサ０が、他のプロセッサ１〜３の状態を制御することができる。例えば、他のノードとの通信のような時は、プロセッサ０のみが動作すれば良く、この時他のプロセッサのバックゲートや周波数に指令を与えることができる。
【産業上の利用可能性】
【００２９】
本発明は、半導体装置に係わり、高速処理計算を行うが電力の増大が問題となっているサーバやスーパーコンピュータなどの分野において、処理速度の低下をおこさずに消費電力を低下させることができる装置を実現するものである。
【図面の簡単な説明】
【００３０】
【図１】本発明の第１の実施例を示す図。
【図２】図１の回路例の主要な部分の動作例を示す図。
【図３】本発明でのメモリの階層構造を示す図。
【図４】メモリの階層構造での本発明での動作例を示す図。
【図５】図３の例の時間配分例を示す図。
【図６】本発明で用いる基板電圧、周波数発生回路例を示す図。
【図７】本発明の第２の実施例である動作フローを示す図。
【図８】本発明の第３の実施例である動作フローを示す図。
【図９】ＣＭＯＳの断面図例を示す図。
【図１０】ｎＭＯＳの特性例を示す図。
【図１１】ゲートとバックゲートを接続した時のｎＭＯＳの特性例を示す図。
【図１２】４つのトランジスタで構成するＳＲＡＭ回路例を示す図。
【図１３】６つのトランジスタで構成するＳＲＡＭ回路例を示す図。
【図１４】本発明の第４の実施例である大型計算機の構成例を示す図。
【図１５】本発明の第５の実施例であるプロセッサの構成例を示す図。
【図１６】本発明の第６の実施例である大型計算機の構成例を示す図。
【符号の説明】
【００３１】
DCL…論理回路ブロック、BAC…バックゲート制御信号発生回路ブロック、PFC…出力バッファ回路ブロック、UTB…埋め込み酸化膜、OX…ゲート酸化膜、STI…溝堀型絶縁領域、SSTI…溝堀型絶縁領域（STIよりも浅い）、TB…埋め込み酸化膜（UTBの下層にある）。
【図１】
2010146474.tif 000003
【図２】
2010146474.tif 000004
【図３】
2010146474.tif 000005
【図４】
2010146474.tif 000006
【図５】
2010146474.tif 000007
【図６】
2010146474.tif 000008
【図７】
2010146474.tif 000009
【図８】
2010146474.tif 000010
【図９】
2010146474.tif 000011
【図１０】
2010146474.tif 000012
【図１１】
2010146474.tif 000013
【図１２】
2010146474.tif 000014
【図１３】
2010146474.tif 000015
【図１４】
2010146474.tif 000016
【図１５】
2010146474.tif 000017
【図１６】
2010146474.tif 000018