English / 日本語
← 基礎編の入口へ戻る
第6章:第2部・契約の書き方で機械が変わる
第6章 省電力 ― 契約の書き方が、電力にどう効くか
この章のねらい。 序章で、「同じ契約でも、スマホの省電力コアと、パソコン級の高性能コアは、まるで違う機械になる」と言いました。その分かれ目の大きな一つが 電力 です。この章では、CPUは何で電力を食うのか、そして設計者は、機械の作りや契約の書き方で、電力をどう抑えるのかを見ます。第4章の「単純さ」が、ここでもう一度効いてきます。
6.1 なぜ電力が、これほど大事なのか
スマホ、イヤホン、センサー、腕時計――いまのチップの多くは、電池で動き、手のひらの中で熱を持ちます。電力は、速さと並ぶ、設計の最重要の制約です。同じ計算ができても、電力が倍なら、電池のもちは半分。「どれだけ少ない電力で動くか」が、そのチップが使えるかどうかを左右します。
6.2 CPUは、何で電力を食うのか
ざっくり、二つの出どころがあります。ひとつは 動的電力――トランジスタが 0↔1 を切り替えるたびに、ちょっとずつ食う電気。たくさん・速く切り替えるほど食います。ふつう、こちらが主役です。もうひとつは 静的電力――電源が入っているだけで、回路からじわじわ漏れる電気。回路が大きいほど、常に少しずつ漏れます。
動的電力は、ざっくり 「回路の大きさ × 電圧² × 速さ(周波数)」 のかけ算で決まる、と覚えると見通しがよくなります。下の図が、その効きどころです。
6.3 どこを動かせば省電力になるのか ― 設計者のレバー
このかけ算と漏れを見れば、効きどころが見えてきます。設計者が握っているレバーは、おもに四つです。
- 回路を小さく、単純に。 要らない部品を載せない。命令を単純にそろえる。スイッチも漏れも減ります。――ここで第4章の RISC がもう一度効きます。単純な命令は、デコーダや制御部が軽く、回路が小さい=省電力。
- 電圧を下げる。 電力は電圧の2乗で効くので、下げると大きく減ります。ただし下げすぎると、遅くなったり、動かなくなったり。
- 速さ(周波数)を下げる。 比例して減ります。急がない仕事は、ゆっくり回す。
- 使わない所を止める。 暇な部分は、クロックを止める/電源を切る。厨房でいえば、使わないコンロの火を消し、暇な担当を休ませる。漏れも止まります。
設計者はここで決める。 何を:どれだけの速さで、どの電圧で回すか。要らない部品をどこまで削るか。どこを、いつ止めるか。どう決める:用途が求める速さを満たす範囲で、電圧と周波数をできるだけ低く。使わない時間が長い部分には、止める仕組みを入れる。なぜ:電力は電圧²と速さで効くので、必要以上に速く・高電圧で回すと、そのまま電池と熱に跳ね返るから。
6.4 同じ契約でも、機械は省電力にも高性能にもなる
ここで、序章の話がぐるりと戻ってきます。スマホの省電力コアと、パソコン級の高性能コアは、同じ命令セット(契約)でも、中の作りがまるで違う。省電力コアは、ゆっくり・低電圧で・小さく作り、こまめに止める。高性能コアは、速く・たくさんの部品で押す(そのぶん電力を食う)。契約は共有、機械は選択――省電力は、その「選択」の、いちばん分かりやすい現れです。
RISC-V が、スマホの省電力コアや、電池で動く小さな機器で好まれるのは、単純で小さく作れて、省電力に向くから。第4章・第5章で見た「単純さ」と「関所のない自由」が、ここで電力という形になって効いてくる、というわけです。
この章は、どの判断のための知識か。 速さ・面積・電力は、いつも綱引きです(第2章のクロックの話の続きでもあります)。省電力の効きどころ――小さく・低電圧・低周波数・止める――が分かると、自分チップを「電池で、どれだけ動かしたいか」から逆算して、コアや動かし方を選べるようになります。序章の“決めることマップ”でいう 「物理」(クロック何MHz・電力・面積予算)の、いちばん芯にあたります。次の第3部では、その「機械を、必要なぶんだけ選ぶ」を、RISC-Vのモジュール式ISAで具体的に見ます。