CMOSとは? nMOSとpMOSを組み合わせて電力を節約するしくみ

約13分 · 更新: 2026年10月23日

CMOS(シーモス)は、正反対の合図でオンになる2種類のトランジスタ、nMOSとpMOSを組にして回路を作る方式です。どちらか一方が必ずオフになるので、出力が変わらない間は、電源から電流がほとんど流れ抜けません。この省電力のおかげで、CPUやメモリなど、ほとんどのデジタルのチップがCMOSで作られています。

この記事でわかること

  • nMOSとpMOSが「逆の合図で入るスイッチ」であること
  • 2つを組にしたNOTゲート(インバータ)の動きと、止まっている間に電力をほとんど使わない理由
  • それでも電力を使う3つの場面(切り替えのたびの充電と放電、漏れ、一瞬の通り抜け)
  • ほとんどのデジタルのチップがCMOSである理由と、1963年からの歴史
  • パソコンの設定の「CMOS」や、カメラの「CMOSセンサー」との関係

前提知識: 「トランジスタは電気で切り替えるスイッチ」「コンピュータは電圧の高い・低いを1と0に見立てる」の2つ。くわしくは「トランジスタとは?」で説明しています。

身近なところでは: 何十億個のスイッチと電池

高性能なスマホのチップには、トランジスタが100億個以上入っています。2023年のiPhone用「A17 Pro」では、約190億個です。もしその一つひとつが、何もしていない間も電流を流し続けたらどうなるでしょう。合計の電流は大きくなり、電池はすぐに減り、チップは熱くなってしまいます。

実際には、そうなりません。理由の一つが、CMOSという回路の作り方です。この記事では、CMOSがなぜ電力を節約できるのか、それでもどこで電力を使うのかを順に見ていきます。

なお、ここで出てくる「インバータ」は、0と1をひっくり返す小さな回路です。エアコンなどの「インバーター」(電気の形を変える装置)とは別物です。

しくみ① 逆の合図で入る2種類のスイッチ

チップの中のトランジスタは、電気の合図で、電流の通り道をつないだり切ったりするスイッチです。合図を受ける部分をゲート(英語で「門」)と呼びます。ゲートにかける電圧が高いか低いかで、スイッチが切り替わります。

このスイッチには、正反対に動く2種類があります。1つは、ゲートの電圧が高いとき、つまり1のときにつながるnMOSです。もう1つは、電圧が低いとき、つまり0のときにつながるpMOSです。

同じ合図を2つに同時に送ると、片方がつながり、もう片方は必ず切れます。CMOSは、この「正反対」を利用する方式です。頭のCは英語のComplementary(相補型)で、「互いに補い合う」という意味です。

ここでは話を簡単にするため、2つを「つながる・切れる」だけのスイッチとして扱います。中のしくみの違いは、比較「nMOSとpMOSの違い」で読めます。

しくみ② 2つを組にするとNOTゲートになる

いちばん簡単なCMOSの回路は、pMOSとnMOSを1つずつ縦に並べたものです。上のpMOSは電源の+側に、下のnMOSは0 Vの側につなぎます。2つのゲートには同じ入力を入れ、2つの間から出力を取り出します。

CMOSのNOTゲート: 入力が0のときと1のときに、どちらのトランジスタがつながるか 入力が0 電源の+側 pMOS オン 出力 1 nMOS オフ 0 V 入力が1 電源の+側 pMOS オフ 出力 0 nMOS オン 0 V
左は入力が0、右は入力が1のとき。太い色の線が、出力とつながっている道です。どちらでも片方のトランジスタは切れています。省略していること: 入力の配線(入力は2つのゲートの両方に入ります)、実際の回路記号、切り替わる途中の動き。

入力が0のときは、上のpMOSがつながり、下のnMOSは切れます。出力は電源の+側とつながって、1になります。入力が1のときはその逆で、出力は0 Vの側とつながって0になります。

入力を反対にして出すので、この回路をNOTゲート、またはインバータ(反転させるもの)と呼びます。0と1を決まりどおりに処理する回路の1単位を、論理ゲートと呼びます。種類と決まりは「論理ゲートとは?」で説明しています。

ここで大事なのは、出力が0でも1でも、上と下の片方が必ず切れていることです。電源の+側から0 Vの側まで、電流がまっすぐ流れ抜ける道ができません。

しくみ③ 止まっている間、電力をほとんど使わない理由

CMOSが広まる前の1970年代、コンピュータ用のチップの主流は、nMOSだけで作る方式でした。この方式では、出力と電源の+側の間に、いつも電流を通す部品を置きます。抵抗(電流を流れにくくする部品)か、その代わりをするトランジスタです。

入力が1でnMOSがつながると、出力は0になります。ところがこのとき、電源の+側から抵抗とnMOSを通って、0 Vの側へ電流が流れ続けます。出力が0でいる間は、何も計算していなくても、ずっとです。

出力が0のとき: nMOSだけの方式では電流が流れ続け、CMOSでは流れ抜けない nMOSだけ 電源の+側 抵抗 出力 0 nMOS オン 0 V 電流が流れ続ける CMOS 電源の+側 pMOS オフ 出力 0 nMOS オン 0 V 流れ抜けない
どちらも入力が1で、出力が0のとき。左では矢印のように電流が流れ続けます。右では上のpMOSが切れているので、通り抜ける道がありません。省略していること: 入力の配線、実際の回路記号。上の部品は、ここでは抵抗で代表させています。

チップには、こうしたゲートが何万、何百万と並んでいます。nMOSだけの方式では、そのうち出力が0のゲートが、止まっている間も電力を使い続けます。CMOSなら、出力を保っている間の電流はほぼゼロです。「ほぼ」と書くのは、あとで説明する漏れがあるからです。

しくみ④ それでも電力を使う3つの場面

切り替えるたびの充電と放電

出力の先には、次のゲートの入力や配線がつながっています。これらは、少しだけ電気をためる性質をもっています。この性質を容量と呼びます。電気をためる部品と同じ働きです(「コンデンサとは?」)。

出力が0から1になるとき、電源からpMOSを通って、配線などの容量に電気が流れ込みます。これを充電と呼びます。出力が1から0になるときは、ためた電気がnMOSを通って0 Vの側へ流れ出ます。これが放電です。電気が流れるたびに、そのエネルギーは主にトランジスタの中で熱に変わります。

出力が切り替わるとき: 0から1では容量に充電し、1から0では放電する 0→1のとき 電源の+側 pMOS オン 容量 nMOS オフ 0 V 充電: 流れ込む 1→0のとき 電源の+側 pMOS オフ 容量 nMOS オン 0 V 放電: 流れ出る
「容量」の記号(2本の短い平行線)は、出力の先の配線や次のゲートが電気をためる性質を、1つにまとめて表したものです。矢印は電流の向きです。省略していること: 入力の配線、通り抜けの電流、漏れの電流。

つまりCMOSは、主に「0と1が入れ替わった回数」に応じて電力を使います。1秒に何十億回も刻まれる、時計のような合図に合わせて動くCPUでは、多くの場合、この電力が大きな割合を占めます。この、切り替えに使う電力を動的消費電力と呼びます。

電圧を下げると、よく効く

1回の充電でためる電気の量は、電源の電圧に比例します。そして、その電気を押し出す強さも電圧です。そのため電圧を半分にすると、1回の切り替えに使うエネルギーは、半分の半分で4分の1になります。

式にすると、切り替えの電力は「切り替わる割合 × 容量 × 電圧の2乗 × 1秒あたりの合図の回数」です。記号では P = αCV²f と書きます。数字を入れて試したい人は、CMOSの消費電力の計算ツールを使ってみてください。

トランジスタや配線を小さくすると、ためる容量も小さくなります。チップの世代が進むと1回の切り替えのエネルギーが減る、理由の一つです(「「2nm」「3nm」は何の長さ?」)。

オフでも少し漏れる

理想のスイッチは、切れていれば電流をまったく通しません。実際のトランジスタは、切れていても、ごくわずかな電流が漏れて流れます。この漏れによって、止まっている間も使われ続ける電力を静的消費電力と呼びます。

漏れは、トランジスタを小さくするほど増えやすく、温度が上がっても増えます。そこで今のチップは、使っていない部分の電源をまるごと切るなどの工夫をしています。2種類の電力の違いは、比較「静的消費電力と動的消費電力の違い」で読めます。

切り替わる一瞬だけ、両方が入る

入力の電圧は、0から1へ一瞬で変わるわけではなく、少し時間をかけて上がります。その途中の電圧では、pMOSとnMOSが両方とも少しつながった状態になります。この短い間だけ、電源から0 Vの側へ電流が通り抜けます。これを貫通電流と呼び、ふつうは充電と放電の電力より小さな部分です。

NANDも同じ考え方で作る

入力が2つ以上のゲートも、同じ考え方で作れます。出力を1にする上の道はpMOSで、出力を0にする下の道はnMOSで組みます。そして、片方の道がつながるときは、もう片方が必ず切れるようにします。

たとえば2入力のNANDゲートは、「両方が1のときだけ0」を出す回路です。下の道はnMOS 2個を一列に(直列に)つなぎ、上の道はpMOS 2個を横に並べて(並列に)つなぎます。両方が1なら下の道がつながり、どちらかが0なら上の道がつながります。使うトランジスタは4個です。

どの入力でも、上と下が同時につながることはありません。そのため、NANDでも止まっている間の電力はほぼゼロです。ゲートを組み合わせて足し算をするしくみは、「コンピュータは0と1でどう計算するの?」で説明しています。

なぜ、ほとんどのチップがCMOSなのか

1つ目の理由は、ここまで見てきた電力の小ささです。1つのチップに何十億個も詰めると、1個あたりのわずかな電流でも、合計は大きな電力と熱になります。止まっている間ほとんど電流を使わないCMOSは、1つのチップ(集積回路)に載せる数を増やしやすい方式でした。

2つ目は、0と1がはっきりすることです。CMOSの出力は、電源の+側か0 Vの側の、どちらかにしっかりつながります。nMOSだけの方式では、上の抵抗と下のnMOSの「引っぱり合い」で0の電圧が決まるので、ぴったり0 Vにはなりません。0と1の電圧の差が大きいほど、配線に雑音が乗っても読み違えにくくなります(この余裕をノイズマージンと呼びます)。

3つ目は、同じ作り方で、いろいろな回路を1枚のチップに載せられることです。計算の回路、CPUの中の小さく速いメモリ、DRAMやフラッシュメモリの周りの回路も、CMOSで作れます。カメラのイメージセンサも、光を電気に変える画素と読み出す回路を、同じ技術で1つのチップにまとめています。

一方、大きな電力を扱う部品などでは、別の種類のトランジスタも使われます(「パワー半導体とは?」)。

歴史: 1963年の発明から主役になるまで

CMOSは、1963年に米国のフェアチャイルドという会社の研究所で生まれました。フランク・ワンラスとC. T. サー(薩支唐)が学会の論文で、nMOSとpMOSを組にした回路を発表したのです。ワンラスは同じ1963年の6月に特許を出願し、1967年12月に米国の特許が認められました。

ただ、初めのころのCMOSは性能の面で弱点があり、すぐには広まりませんでした。製造に力を入れたのは米国のRCAで、まず宇宙・航空の機器向けに作りました。1968年には、汎用の論理IC「CD4000」シリーズの最初の製品を出しています(コンピュータ歴史博物館の解説による)。

1970年代のコンピュータ用のチップでは、しくみ③で見たように、より速いnMOSだけの方式が主流でした。CMOSは、時計など電力の小ささが特に大事な用途が中心でした。流れを変えた例の一つが、日立が1978年に発表した高速なCMOSのメモリ(のちの製品「HM6147」)です。インテルの高速なnMOSのメモリ「2147」と同じ速さを、ずっと少ない電流で実現しました(半導体歴史館の解説による)。

年出来事
1963年フェアチャイルドのワンラスとサーがCMOSを発表。ワンラスが特許を出願
1967年CMOSの米国特許(第3,356,858号)が成立
1968年RCAが論理IC「CD4000」シリーズの最初の製品を出す
1978年日立が、nMOSのメモリと同じ速さの高速なCMOSのメモリを発表
その後マイクロプロセッサやDRAMなどにも、CMOSが広がっていく

半導体歴史館の解説では、日立のメモリの後、CMOSはマイクロプロセッサやDRAMなどにも広がったとされます。今では、計算をするチップのほとんどがCMOSです。

よくある誤解

誤解: CMOSが電力を使うのは、トランジスタがオンになっている間

実際は、主に出力が「切り替わるとき」に使います。オンのトランジスタがあっても、その先の道がもう一方のオフのトランジスタでふさがっていれば、電流は流れ続けません。照明のように「つけている間ずっと電気を使う」イメージから生まれやすい誤解です。止まっている間に使うのは、漏れの分だけです。

誤解: パソコンの設定画面の「CMOS」は、CPUの作り方のこと

実際は、BIOS(電源を入れたときに最初に動くプログラム)の設定と日付・時刻を、電源を切っても保つ小さなメモリを指します。昔のパソコンでは、ここに電力の小さいCMOSのチップを使いました(モトローラのMC146818Aなど)。ボタンの形の電池で、中身を保ったのです。今は別の大きなチップの一部になっていますが、電池は今も「CMOS電池」と呼ばれます。「CMOSクリア」は設定を初めの状態に戻す操作で、CPUの回路とは関係ありません。

誤解: 「CMOSセンサー」のCMOSは、カメラ専用の部品の名前

実際は、CMOSの作り方で作ったイメージセンサという意味です。CPUなどと同じ種類の製造技術を使えるので、読み出しや処理の回路を同じチップにまとめやすく、電力も小さくできます。CMOSイメージセンサーと呼び、昔からあるCCDという方式との違いは「CMOSイメージセンサーとCCDの違い」で比べられます。

数字で見る

数字意味
2個CMOSのNOTゲートに使うトランジスタ(pMOSとnMOSが1個ずつ)
4個CMOSの2入力NANDゲートに使うトランジスタ
4分の1電源の電圧を半分にしたときの、1回の切り替えに使うエネルギー
最大20 µACMOSのIC「74HC00」(NANDゲート4個入り)の電源の電流。入力を電源の電圧か0 Vに止め、出力に何もつながないとき(電源6 V、85 °Cまで。TIのデータシート)
約15 mA と 約110 mA1978年の日立のCMOSメモリと、同じ速さのインテルのnMOSメモリ「2147」の電流(半導体歴史館の解説の値)

µA(マイクロアンペア)は100万分の1アンペア、mA(ミリアンペア)は1000分の1アンペアです。74HC00の20 µAは、ゲート4個を合わせた上限です。日立のメモリの電流は、およそ7分の1でした(当サイトの計算)。

もっと詳しく学ぶ

次に読む

シリーズ「はじめての半導体」の記事

  1. 半導体は何から学ぶ? 初心者向けの勉強の順番ガイド
  2. 半導体とは? 電気の通しやすさを変えられる材料
  3. トランジスタとは? スマホに100億個以上ある小さなスイッチ
  4. 集積回路(IC)とは? チップ・ダイ・LSI・SoCの違いも整理
  5. 「2nm」「3nm」は何の長さ? 半導体の世代の数字の読み方
  6. ダイオードとは? 電流を一方向にだけ流すしくみと使い道
  7. CMOSとは? nMOSとpMOSを組み合わせて電力を節約するしくみ
  8. GAAトランジスタとは? FinFETの次、2nm時代のナノシート

この分野の問題: MOSFET

参考にした資料

やさしい解説の一覧へ