1. 研エンの仲
  2. #76 ノートパソコンはなぜ熱く..
2022-02-19 58:30

#76 ノートパソコンはなぜ熱くなって遅くなるのか?

Ayakaの「ノートパソコンはなぜシューシューと音を立てて熱くなって遅くなるのか」という疑問について、Ryoheiが調べたことを元に話しました。

  • 1サイクル … 音楽の「1拍」のような、CPUにとっての時間の基準となる単位。例えば3Ghzで動作しているCPUでは、1秒間に30億サイクル進む。1サイクルは0.33ナノ秒というとても短い時間となり、この間に光や電磁波は約10cmしか進めない。
  • 足し算にかかる時間 … 1サイクルと言っているが、1サイクルかからないこともある。例えば IA-32 (Intel 社の命令セットの1つ) では、1サイクルに足し算の命令 (ADD) を2つ実行することができる (参照)
  • メモリの読み書きにかかる時間 … 様々な条件に依存するが、いわゆるメモリから1つの整数を読み込んだり書き込むには、同じ整数を足し算するのにかかる時間の100倍以上の時間がかかる。
  • 最大ジャンクション温度 … 最大接合部温度ともいう。
  • 半導体 … CPUなどのICは、シリコン(ケイ素)という半導体でできている。他にも電力制御やLEDなどたくさんの用途がある。
  • シリコン以外の半導体 … パワー半導体という用途では、SiC (シリコンカーバイド)、GaN (窒化ガリウム) などが実用化されている。
  • CPUの冷却装置 … 冷却装置の歴史に関するWikipediaの記事。
  • サーマルスロットリング 
  • Macbook Air … Ryohei が使っている2020年モデルのMacbook Airはファンがついていない。
  • 相転移冷却 … 「相変化冷却」のほうが一般的な用語 ( ごろ)。
  • Ryzen 3100 と 3300X。同じ世代のCPU、同じコア数だが、コア同士の接続方法が異なり、コア同士でデータを受け渡しするのに時間がかかるため、性能が異なる (参考)。
  • Shobu … 理化学研究所の液浸冷却システムを備えたスーパーコンピュータ。
  • 相変化冷却 … エアコンなどでも使われている気液相変化を使ってコンピュータを冷却する技術。汗をかいて身体を冷やしたり、打ち水で道路が冷えるのと同じ仕組みだが、ここでは冷媒は回収され再利用される仕組みを想定している。
  • Project Nautic … Microsoft が実験的に運用している海中データセンター。2年間にわたる連続運用の実績がある。
  • Graphics Processing Unit  … 定形かつ大量の演算を並列にパイプライン処理することに特化したプロセッサ。
  • GPGPU (General Purpose GPU) … GPUをグラフィック以外の用途に使うこと。
  • Tensor Processing Unit
  • DSA … Domain Specific Architecture。いわゆるヘネパタ本 (Hennessy & Patterson の著作 "Computer Architecture") の6版では、DSAに関する章が新設された。
  • プログラマはアーキテクチャの仕様を理解してコードを書くべきか? … Intel は Intel アーキテクチャ向けにプログラムを最適化したい人のために、788ページに渡る長大な最適化リファレンスを公開している。
  • FPGA … 「自分で書き換える」と言っているが、一般的にはFPGA自身がFPGAの構成を書き換えるわけではないです。
  • Project Catapult … Microsoftが開発している、FPGAがCPUの隣に乗ったサーバ。
  • SoC (System on chip) … 1個のチップに、CPUだけなく様々な種類のユニットを集積したしたもの。
00:01
なんか、今日は大丈夫そうですね。
あ、はい、そうですね。
パソコンが結構、Ayakaさんのやつは、シュシュ、熱くなって音を出して、
で、収録中にはね、結構そのノイズが混じっちゃうので、
うんうん。
もう閉じちゃったりしてることが多いですね。
そうですね、うん。
今日は静か。
うん。
いやー、でもなんか、なんでシュシュ言うのかずっと気になってて、
それを今日、Ryoheiさんに教えてもらいたいなって思ったんですけど、
なぜパソコンは熱くなるのか、
うん。
そしてシュシュ言うのか、
うん。
そして遅くなるのかってことですね。
そうですね、私この今家にあるMacは、あんま遅くなったりしたの見たことないんですけど、
あの、まあ他のPCで、なんかえらい動作がなんかちょっと遅くなるなっていうふうに思って、
なんか遅くなるPCとそうじゃないPCもあるじゃないですか、
だからなんか何が違うのかなとか。
確かに。
なぜそれがなんか種類によって違うのかっていうことですよね。
そうですね、あとやっぱ何使ってるかによってもシュシュ言うの言ったり、
ソフトの種類とか、ソフト上で何をやってるのかによっても変わるってことですね。
そうですね、うん。
はい、なのでまあ、なぜPCが熱くなって遅くなるのかっていうことについて話していこうと思います。
はい、よろしくお願いします。
いや、これほんとずっと気になってたんで、ありがたい。
どうだろう、なんか究極の答えが出せるとは思えないけど、
まあそのうちの一つの側面について話そうと思います。
お願いします。
で、パソコン遅くなるという現象を2つに分けて説明、カテゴライズして説明すると、
1つは熱くなってかつ遅くなるっていうパターンと、
熱くはなってないけど遅くなるっていうパターンが、
外から観察すると2パターンに分けられます。
はい、はい。
で、今回はその前者について基本的には扱います。
はい。
で、パソコン、そうですね。
前者は熱くなってかつ遅くなる。
そのせいで遅くなってる方ですね。
なるほど、はい。
で、なんかCPUの性能を表現するのによく使われる単位があるんですけど、
ギガヘルツって言うんですね。
はい、はい。
聞いたことありますか?
あります。
やっかさんのパソコンはだいたい何ギガヘルツだと思いますか?
えー、わかんない。
僕も知らないんで、調べると出てくると思いますけど、
だいたい現代のPCは3ギガヘルツぐらいです。
これはどういう意味かっていうと、ギガって10億だから、
1秒間に35億回計算をしてるみたいなイメージ。
これが高いとより早く計算ができるっていうことですね、大まかには。
2.6ギガヘルツでしょ。
2.6ギガってことは26億回計算してるってことですね。
まあ、最大でそのぐらいの計算ができるってことなのかな?
もしくは最小かな?どっちを表示してるかちょっとわかんないんですけど。
03:00
計算ってすみません、単位は?
計算は、まあ、サイクルかな。
1サイクルあたりどのぐらい計算できるっていうのが決まっていて、はい。
え、じゃあ何だろう、足し算するのは1計算に?
足し算1個するのは1計算。
なるほど。
1サイクルを使います。
本当かな?
いや、そこちょっと気になって。
例えば、プログラム上では1行で書く、例えば3つぐらいの項を多数とします。
それって1回の計算で済むんですか?とかね。
はい、1回の計算で済むということはできます。
ただ、実際にそれを実行するためには、どっかメモリからその1っていう数字を取ってきて、2っていう数字を取ってきて、
それを実際に計算をしてくれる中央のコアの計算機に渡して、その計算結果を出力する必要があります。
すると、最初の真ん中の部分の1サイクルで終わる足し算がすごく早く終わったとしても、
入出力にすごい時間がかかるっていうことは結構起こります。
なので、その全体が1サイクルできるかっていうと、そうではないし、
実際に僕たちが、もしくはそのプログラムが気にする速さっていうのは、
どっちかというと、その1サイクルで終わりますが、
配達には1000サイクルかかりますって言ったら、
普通はその全体のことを気にするじゃないですか。
そうですね。で、配達も計算に入るってことですか?
配達を含めて速さを計測することもできるし、
その純粋なその計算にかかる時間だけを計測することもできます。
このギガヘルツっていうのはどっちなんですか?
ギガヘルツっていうのはその計算そのものにかかる単位の、時間の単位が26億毎秒っていうことですね。
なので、理想的に入出力の時間を考えてなくてよければ、
ある計算がそのぐらいの回数できると。
スパコンとかでスペックを競い合うときとかは、
そういう理想的な状況を作って競い合う?
それもいい質問で、理想的な状況ではないです。
スパコンの計算のタスク、評価に使われるタスクは、
結局理想的な状況をだけで競ってもあまり意味がないことはわかったので、
線形計算みたいな行列の計算みたいな、
そういうかなり実用的な、実用に近いようなタスクを用意して、
実用といってもウェブブラウザを動かすとかではなくて、
スパコンにとっての実用的っていうのは、
例えばシミュレーションを回したりとか、
そういうのに必要な方程式を解いたりとか、
そういうデータセットを使ってその計算の速さを競うっていうのが使われてます。
ありがとうございます。ちょっと脱線しちゃいました。
なのでスパコンの話で言うとギガ並列コンテストではないってことです。
06:01
なるほどですね。理解しました。
だし、その足し算が1サイクルって言ったけど、
実際には足し算以上のことはできて、
例えば512項の数字を並列で足す、
みたいな命令が1個で定義されているのもあるし、
そういう複雑な命令が1サイクルでは終わらないっていうパターンもあります。
そういうのを上手く命令を並び替えたりしながら、
現代パソコンは実行していると。
なんだけど全てのコンピューターに対する命令が実行される最小の時間単位が1サイクル。
それが速いほど、同じCPUでそのサイクルが遅い時と速い時だと必ず速い時の方が計算はどっちの意味でも速くなる。
なるほど。これ今聞くのが適切か分からないんですけど、
方分は時間がかかるけど、行列で計算すると速くなるっていうのはあるじゃないですか。
それってCPUレベルで関係があることなんですか?
さっき言ってるのは例えばPythonみたいな言語でってことですね。
行配列をforっていう繰り返しの文で計算すると、やり方によって速度が変わるのはなぜかっていうことですね。
それは結構関係しています。
効率的な命令を使うことができるか、それとも遅い命令。
遅い命令っていうのは1個ずつ例えば立ち直してくださいっていう命令を使わなきゃいけないのかっていうのがプログラムの書き方によって変わるっていうイメージですね。
方分の場合、具体例で言うと500回これを繰り返しなさいって言って1個ずつ出させるよりも、
最初からこの500個の数字とこの500個の数字を足したいんだよねっていうことをCPUに直接教えてあげることができたら、
早くその入出力も含めて計算を終わらせることができる。
なるほど。
だから早くなるっていうことですね。
ありがとうございます。だいぶ減るってところか。
そうですね。
計算って何なんだっていうことが気になって。
1サイクルってのは何なのかっていうのは、すごく昔は1個足し算をするのが1サイクルかかるんだよっていう説明だったんですけど、
CPUがどんどん進化して複雑な命令ができたりとか、サイクルとか命令の順序とかいろんな仕組みがかかってくるにつれて、
あまり1にうまく説明はしづらくなっていると。
なるほど。
あやかさんが使っているパソコンのギガヘルツの話に戻ると、さっきMacのCPUの動作周波数が2.6ギガって書いてあったと思うんですけど、
具体的にはプロセッサーの品番名、i7-8850Hっていうものらしくて、
インテルの公式サイトを見てみると、この動作周波数っていうのは変わるらしいです。
09:01
なるほど。
2.6ギガから4.3ギガまで変わると。
だいたい2倍、2倍弱ですよね。
なるほど。
で、これはどういう時に変わるかっていうと、負荷が高くなった時、たくさん計算しなきゃいけない時に変わると。
で、暇している時には下がるっていうことですね。
なるほど。
それってアクティビティモニターとかから見れるんですか?
アクティビティモニターで直接周波数は見れないと思います。
ただ、例えばファンを回るような計算をする時には、少なくとも一時的には高い周波数になってます。
で、周波数がなぜ遅くなる、むしろ速くなるわけじゃないですか、周波数を高くすることで。
で、それがなぜ影響するのか大事なのかっていうと、周波数が高いほど基本的には熱がいっぱい出るんですよね。
で、CPUってのは基本的なことですけど、計算してる時に半導体で電気が流れて熱が出ます。
それは基本的にはジュール熱ってやつですね。
抵抗があってそこに電流を流すと熱が発生する、ナンジュールって熱が発生するよっていうことですね。
それがめちゃめちゃちっちゃいCPUの中で、例えば何十ワットとかいう電力を消費してるわけなので、何十ワット分の熱がどんどん放出されてるわけですね。
で、その放出される熱っていうのは基本的には負荷が高い、つまりたくさん計算するほどたくさん出るっていうことになってます。
その周波数が高ければ高いほどたくさん計算できる、イコール熱がいっぱい出るってことですね。
で、なぜ熱が大事なのかってことなんですけど、半導体っていうのは基本熱が熱すぎると壊れちゃうんですよね。
で、半導体一個一個を取ってきた時に、それぞれの半導体にジャンクション温度っていう温度があって、それを超えると電力の損失が多分上がりすぎて熱暴走しちゃう。
損失っていうのは?
損失っていうのはさっき言ったジュール熱でどのぐらい使っちゃうかってことですね。
で、この温度を超えたらいけないわけですけど、いっぱい計算するとすぐ超えちゃうですね、実は。
なるほど。
なので、冷やすっていうのがCPUにとってはすごく大事になってくるわけですね。
ちょっと冷やす話に行く前に、そもそもこれは温度が上がらないように、温度依存性が低い半導体を作ろうっていう研究とかってされてるんですか?
それは実際多分あるんだと思いますし、CPUのメーカーによって限界の温度っていうのは違います、実際。
インテルのCPUとAMDって別の会社のCPUと、多分iPhoneみたいなのに使われているものではそれぞれ違うし、そこを実際に熱が出ない、もしくは熱が出ても大丈夫な回路を作るっていうのは研究されてることだと思います。
12:03
ただ、かなり限界を極めた結果、このぐらいの温度で落ち着いている。かつ、それが長年変わってないことから、大金かシリコンっていうものの特性上このぐらいで仕方ないってことなのかなと。
なるほど。これはもうシリコンの限界なんじゃないかな。
うん、なんじゃないかな。
なるほど。シリコン以外で作ろうっていう試みがあるんですか?
それも非常に一寸過ぎるけど、ちょっと僕の知識が超えてしまうけど、考えたことはみんなあるけど、
あるでしょうね、おそらくね。
ってことだと思います。
うん、うん、なるほどですね。
あとはもう一つ質問があるのは、温度をどこで感知しているのかっていう。
そんなちっちゃい、なんていうか、個々の半導体の温度が上がってしまうっていうことがあるんだとすると、そんなに細かく計測できているのか、それとも割と全体的にどれくらい温まってるかで判断しているのか、なんかどうなってるのかなと思って。
そうですね。一応、CPUの温度っていうのは、この使ってるユーザーも調べることができるんですね。
で、Intel CPUっていうと、多分僕たちが見える温度、ツールとかを入れて見えるようになる温度だけでも20個ぐらい以上あるんじゃないかな。
実際に何個測って、それをフィードバックに使っているのか、制御に使っているのかっていうのはちょっとわかんないですけど、
一箇所だけで測定しているわけでは全然ないです。
じゃあ、複数箇所測ってて、少なくとも一箇所でもその厚さを超えないようにコントロールしなきゃいけないってことですね。
ただ、個体でつながってるので、だんだん時間が経てば熱は分散していくわけなので、各半導体一個一個に温度の精査がないといけないってわけではないです。
ある程度予測はできるので、そういうのも使いつつ、各コアだったり、各コアの各部分だったりの計測に必要なのがそのぐらいの数の温度センサーなんじゃないかなと思ってるってところですね。
わかりました。
じゃあ、冷やす話。
冷やす話。
なので、昔は実はCPUって何も冷やしてなかったんですよね。
それはクロック数も低かった。つまり周波数も低かったし、線の一個一個の配線が太いんで、そんなに熱が出なかった。
だけど、だんだん熱が問題になってきて、例えばヒートシンクっていう熱を分散させるためのアルミのビラビラがついた部品をつけたりとか、ファンをつけて空気を強制的に回してそのヒートシンクの放熱の性能を高めたりをしてると。
でもやっぱり超えそうになることはあって、そのために今使われているのはサーマルスロットリングっていう方法ですね。
サーマルスロットリング。
はい。これはスロットリングってどういう意味かわかります?なんとなく。
15:01
何だろう、100回できることを50回、30回っていう減らしていくみたいな。
エンジンのスロットリングと語源は一緒なんですけど、そういう意味です。
これは要するに熱くなるのが限界がきそうだったら、CPUのクロックを動的に遅くしてあげようっていうことですね。
で、遅くどんどんしていけば熱は減るので、それと同時にファンをブンブン回していけば、いつかは冷えてまた正常運転に戻れるだろうっていうことです。
で、実際多分MacBookとか現代のPCっていうのは、結構そのCPUを使いすぎると、まずファンが回って、限界を超えるとスロットリングが始まって、CPUの動作周波数を遅くすることで熱の発生を低くすよという。
なるほど。それが私たちが観察している上では、パソコンがシュシュ言って、その後遅くなるっていう。
たぶん順番的にはシュシュ言う方が先なはず。で、シュシュ言って熱く、それでも排熱が追いつかなくなってきたら、実際に遅くなるということが観察できるはずです。
でも当然、シュシュ言う前に、そもそも重いタスクを開始しているはずなので、例えば計算するだったり、動画見るだったり、それによってそもそも他のタスクができなくなるって意味の重さもあるので、実際に観察している遅さがどっち由来なのかってのは分かるんですけど、
実際にCPUのクロックが遅くなるっていう意味では遅くなってるっていうのは確実に起こってるはずなので、それは一つの原因と言っていいんじゃないだろうかと。
なるほど。だから計算には熱、計算すると熱が出てしまって、それを冷やすためにファンを回したり、クロックを遅くしたりするっていうそういうことですかね。
そうですね。
なんか前、M1Macの、ではそのファンを回すんじゃなくて、別の方法で冷やしてるって話されてましたよね。
そうですね。M1チップっていう新しいチップを搭載したMacが最近発売されて、2020年の年末ですね。
その時にちょっと話したのは、実はファンっていうのは必ずしも必要じゃなくて、ヒートシンクっていうのは要は温かいものに冷たいものをくっつけることによって熱が分散するから冷えるよっていうそういう仕組みなんですけど、
それだけで放熱しているってことになってます。中にはその熱の伝導を早めるためのファンじゃないけどヒートパイプっていうものがついてたりして、
なので完全にそのヒートシンクだけでやってるわけではないんですけど、ファンって回転するものはなしで冷却をしてるっていうことになってます。
それはなんか熱すぎたりすることはない?それはやっぱり遅くすることで対応するっていうことなんですか?
そうですね。熱くなったらもう遅くなるけど別にそれでいいでしょう。ファンがないことによる静かさだったり、行動のシンプルさだったり軽さだったりのほうが大事なんじゃないかってことですね。
18:11
分かりました。
例えばiPhoneとかAndroidとかスマホにはファンついてないですけど、それで熱くなるけど、じゃあファンを分厚く買ったり重くなってもいいからファンつけようかとはなってないわけですね。
なので最近のノートブック、ノートPCでもそういう方向性で高性能と両立することができるんじゃないかっていうのは方向性としては結構盛んにやられてることだと思います。
それってなんていうか、とにかくいい感じの状態にある程度冷えてる状態に保とうっていう動きがあるっていうことですかね。
なんか結構これ高温動物みたいな話に近いような気がしてる。
そうですね、退瀉すると熱が上がるからそれを何かしらの手段で放出しなきゃいけなくて、感染が出る。
汗をかくみたいなのも面白いですね。
汗をかいたり、暑くなりすぎないようにするみたいな。
はい、実は汗をかくのと同じ方法で放熱するコンピューターが後で出てきます。
そうなんですね、汗をかくのと同じ方法で?
そうですね、一応送天冷却っていうのがあるらしいんですけど。
その前にじゃあ遅いPCとそうでないPCの違いみたいな話をしますか。
はい、わかりました。
質問の2つ目であったと思うんですけど。
そうですね。
ここまで話したCPUのコアの性能の一つの表し方で、周波数っていうのはあったと思うんですけど、
まず最小の動作周波数、最大の動作周波数ってのがあって、
さっき彩香さんのパソコンに入ってるCPUが2.6から4.3GHzって言ったんですけど、
このカラーっていうのが最小最大でしたね。
基本、インテルの最近のCPUっていうのはいつもは低いクロック数で動作して、
ウェブブラウジングとかしてるだけだったら低いけど、
だんだん負荷が高まってくるとこれを高めるっていう風にしてるんですね。
この周波数っていうのは一つは遅いPC、そうでないPCの違いになります。
でもそれ以外に1個のCPUのコアの性能に大事なものは結構たくさんあって、
どんな命令をサポートしてるかっていうのもあるし、
キャッシュっていうメモリーですね。
1個のCPUごとにちっちゃいメモリーがくっついてて、
たくさんのCPUコアから共用できるでっかいメモリーっていうのがあって、
そのCPUにくっついてる方のメモリーの大きさ、キャッシュって言うんですけど、
それの大きさも違います。
これはすごいたくさん計算をしてる時に、
メモリーに実際データを取りに行かなくても、
近くに置いてある机みたいなものからデータを取ってくれた方が早く計算ができるんですけど、
21:03
その机の大きさみたいなことですね。
でも違います。
っていうその一つ一つのCPUのコアの違いっていうのもあるし、
コアの数も違うと。
たくさんのものは6つ乗ってるって言ってましたけど、
6コアっていうのがコアが大きいほど基本的には早く動作すると言われています。
たくさんコアがあればあるほど早い。
そうですね。
ただそれを2倍にすると2倍になるってわけではなくて、
ボトルネックがあるんですけど、
2コアから8コアぐらいの幅だったら、
現代のOSであればかなり性能が目に見えて増加すると思います。
6コアから8コアにするとより早くなると言えると思います。
いくつかCPUコアの性能、
速さにどれがどういうパラメータが効いてるかって話があったと思うんですけど、
速さに効くパラメータっていうのは、
早くなるに貢献すればするほど厚くなりやすかったりするんですか?
そうですね。
それとも性能ごとに、
例えばキャッシュの大きさとか動作周波数とか、
どれは大きくなってもあんまり厚さには関係ないとか、
速さと厚さの関係が気になったんですか?
なるほどね。
キャッシュの大きさが厚さ、出る熱にどのぐらい影響するかっていうのはすぐにはわかんない。
パッと聞き、動作周波数とかは計算のスピードとかに関して言うと、
多分速さと厚くなりやすさっていうのは結構関係してそうな感じがするけど、
キャッシュの大きさは別に大きくても厚くならないんじゃないかなって一瞬素人的には思った。
なるほどね。それは面白い視点だね。
多分回線が長くなったりするのもあるし、
最終的には熱を増加させる方法には方向に働くと思います。
ただ、どのパラメーターが例えば1上がるとどれぐらい厚くなるかっていうのは、
そのコアの性能の項目ごとで違うってこと?
違うってことですね。
なるほど。
はい。
そういうパッケージされたコアが何個あるのかっていうのがCPUのコア数の話なんですけど、
実は個数だけじゃなくて、それらがどうやって接続されているかっていうのも結構大事なんですよね。
例として挙げるのがAMDっていう、インテルじゃない方でよく言われるんだけど、
インテルじゃないけど、関係性があるCPUを作っているメーカーがあって、
そこが出しているRyzenっていうCPUなんですけど、3100っていうのと3300Xかなっていう2つのCPUがあると。
これは同じクロック数で同じコアの数なんだけど、
性能が3300Xの方が数字がでかいのが分かる通り高いんですよね。
これ何でかっていうと、コアがどのぐらいの太さの回路で要は繋がっているかっていう。
太ければ太いほどより連絡しやすくなるんですか?
24:04
そういうイメージです。
実際には、実際に太い回路っていうわけではなくて、
キャッシュがどのぐらいのコア数で共有できるかっていう。
あるレベルのキャッシュ、L3キャッシュっていう種類のキャッシュを共有できるコアが2つずつあって、
それが2×2で4つあるのと、そのL3キャッシュっていうキャッシュを全員4人が共有できるっていう、
そういう繋がり方の違いで4人が実際共有できた方が、
4人は協力して作業できるので、複雑なタスクに関しては早いっていうふうなことですね。
なので、4人いてそれぞれの頭の良さは一緒だけど、
協力する方法、協力できる方法が違うので、
全体としてのプロセスの速度が3300の方が早いよっていうことですね。
なるほど。
で、多分これはそんなに温度とは関係なく速くする方法の一つかもしれない。
なるほどですね。
このコネクト、インターコネクトって言われてるコア同士とか、
プロセッサー同士の接続の方法を工夫するっていうことで、CPUは速くなる。
で、もう一つ最後にあるのは、さっき言った冷却ダジっていう話と関連してるんですけど、
CPUが発生した熱をどのくらい処理できるのかっていうことですね。
で、最強のスーパーコンピューターのCPUを取ってきても、
例えばファンとかヒートシンクとかを無しにそのまま動作させると、
一瞬で遅くなって、実際には多分壊れちゃうと思うんですね。
それは熱暴走をして、シャットダウンしてしまう。
なので、冷却できる、どのくらい冷却できるかっていうのは、
実質的にはこのPCの速さを決める大きなファクターになっているということですね。
なので、同じスペックのCPUを積んだデスクトップPCとマートパソコンを持ってきたときに、
一般的にはデスクトップの方が早いと言われてます。
それは冷却しやすいからですか?
そうですね。
大きいから。
大きいファンをつけたりとか、大きいヒートシンクをつけたりとかっていう、そういう余裕があるし、
なるほど。
音的にも、デスクトップCPUと同じ音がウワーって出てきた、ブーンってファンが回ってたら、
実際にはユーザー文句タラタラだと思うんですけど、
デスクトップだとある程度話せる、話した場所におけるから音に関する制約が低いということで、
ファンも高い回転数で回せる。
なるほど。
っていうのもありますね。
ノートPCの方が音も静かにしなきゃいけないから、
ちっちゃなファンしか載せられないしっていう。
なるほどですね。
あとは物理的にね、そのCPUとキーボードとかがつながってるんで、
めちゃめちゃ熱いキーボードとかだと火傷しちゃう。
27:01
確かに。
だったり、例えばラップトップっていうぐらいだから、膝の上で押しても大丈夫な温度にする必要があるわけですね。
だったりするので、いろんな制約がある。熱に関する制約があるせいで、ラップトップの方がだいたいは遅いと言われてます。
なるほど。
で、ここからいろんな冷却方向っていう話になるんですけど、
さっき言ったM1のMacBook Airっていうのはファンがついてなくて、ヒートシンクだけでやってるよっていうのがあって、
でも一般的な、一番よく売られているタイプのやつはヒートパイプがあって、ファンがあって、ヒートシンクがあって、それで冷やしてるっていうのがあります。
デスクトップPCで結構高性能なものになってくると、水冷っていうのがあります。
水冷。
水冷っていうのは、水を媒体にして熱を伝達するってことですね。
CPUのすごいちっちゃい面積の、例えば1cm×1cmとか、3cm×3cmとか、そういうぐらいのCPUの大きさなんですけど、
そこで出てくる熱をどうやってファンとかヒートシンクに伝えるかっていうのは、放熱を考えるときにネックになるんですけど、
一旦水を、冷たい水をそこに当てて、その水を温めて、その温めた水をCPUから遠いところで冷やすっていうのが基本的な水冷の仕組みです。
なので最終的にはファンとかを使って冷やすんだけど、その熱をちょっと遠くに送ってあげることによって、
大きいファンだとか、大きいヒートシンクに効率的な方法で伝えることができると。
っていうのが空冷、普通のノートPCとかが動作する仕組みに比べていいよっていうことです。
で、それが使われていると。
なんですけど、最近はスーパーコンピューターとかも基本的にはそういう水冷、空冷とかっていう仕組みだったんだけど、
最近は液晶コンピューターっていう、液晶っていうのは液に浸す、液晶。
それはなんか、なんだろう、大丈夫なんですか?
重いじゃないですか、ショートしちゃうんじゃないっていう。
でも冷媒の中には電気を伝えないっていうのがあるので、そういうものにつけてあげれば、
基本的に防水っていうか、ちゃんと冷媒が入ってきても、たぶんフロンとかを使うんじゃないかな。
実際フロンではないけど、冷媒によく使われている物質、液体のものを使って、
それが入ってきても問題ないように、シーリングをちゃんとしていれば大丈夫ってことなんじゃないかな。
実際、たぶん理研とページコンピューティングっていう、たぶん日本の会社が作ったスーパーコンで勝負っていうのがあるんですけど、
これは液晶コンピューターの中でもかなり当時高性能なものとして有名になって、
2016年ぐらいにスーパーコンのランキングでグリーン500っていうのがあるんですけど、これで1位を取ったと。
30:03
グリーン500っていうのは最もっとも高性能なものっていうわけじゃなくて、1Wあたりの計算性能が最も高い。
なるほど、エコなやつってことですね。
でも実際エコなものイコール計算性能が高いっていう風に、冷却性能がボトルネックである限りはなるわけなので、
そういう意味では、かなり熱のことを気にせずいろいろ集積できるっていう意味で高性能なCPUで、
ただ超エネっていうだけではなくて、かなりスーパーコンとしても優秀なコンピューターってことになってます。
あとは結構熱はいろいろみんな困っていて、
例えばデータセンターをグリーンランドとか物理的に寒い場所に置くっていうのも結構やられてるし、
海中で冷却を海水で行ったほうがいいんじゃないか。
専用のコンテナにサーバーを収納して、冷却を海水で行う。
海中データセンター。
海中データセンターっていうのがマイクロソフトがやってるプロジェクトになっているらしいんですけど。
すごい。
っていうのが液晶とか水冷の最先端と言われているというものです。
これはだいぶ僕らが使えるようになるのはどうそうですけど。
液晶っていうのは最先端と言われていたんだけど、最近は層変化っていうのを使ってる。
層変化っていうのは要は蒸発したりってことですね。
気化熱っていうのがすごく熱を奪うのに優秀っていうのはよく言われてるわけじゃないですか。
水が蒸発するときに接しているものから熱を奪う効果っていうのはすごく高いと。
だから打ち水をして冷やそうとかっていう。
なんかちょっとオリンピックが出てきちゃった。
要するにそういうことです。
あっちあっちのCPUがあってそこに低い温度で沸騰するような液体をかけてあげるとシューとか言って冷えるわけですね。
それをシューシューシューってやってればどんどん冷えるんじゃないか。
それは液身よりも効率がいいんじゃないかっていうことですね。
でもそれは蒸発して大丈夫なものに限りますよね。
だし蒸発した蒸気を排出しないといけないし、エアコン、ちっちゃいエアコンみたいなものを作るのと同じですね。
エアコンっていうのは実際には層変化まではいかないけど冷媒を使って熱を伝えているわけなので、
それと同じことがCPUでできたらいいよねっていうことで、これはすごく今盛んに研究されているそうです。
すごいな。
なんか我々が使うのはもしかしたら遠い世界になるかも言ってましたけど、
実際我々結構サーバーで計算させることが増えているってか、サーバーってかあれか、
クラウドで計算すること増えてて、
手元のPCじゃなくてそういう大きなセンターとかを持ってるサーバーで計算するってことは増えてるわけなので、
33:07
クラウドサービス介して。
そういう意味では我々も恩恵に預かってるっていうことですよね。
そうですね、確かに。
だからそういう自宅で使えないような冷却性能がでも発達していくことは、
間接的には僕たちがPCを使う上でより表現であったり、早くコンピューターを使うっていうのに貢献してくれるっていうことですね。
なるほど。
ありがとうございます。確かにそれはだいぶいい話というか、
こういうテクノロジーも実は身近に使えるっていう日は近いのかもしれないですね。
あとはもう一つ遅いPCとそうでないPCの違いって言ったんですけど、
CPUの話とその放熱って話をしたんですけど、
CPU以外にも計算の速度に大事な要素っていうのがたくさんあって、
もちろんメモリとかそういう話もあるんですけど、
プロセッサー、信号処理する、計算を処理するプロセッサーの中でも
CPUじゃないプロセッシングユニット、PUの部分ですね、があると。
それ一番有名なのは多分GPUってやつですね。
はい、聞いたことあります。
で、これはなんでCPUと別に用意してあるかっていうと、
CPUっていうのはかなり汎用的に使われていて、
なんか器用貧乏みたいなところがあるんですね。
人間が用意したプログラムがどんな指令であっても、
器用に読んで動いてくれるっていう、器用さがある一方で、
ある用途に特化しているわけじゃない。
例えばグラフィックの計算とかで、
すごく同じことを繰り返し繰り返しやるっていうのが実は苦手だったりするんですね。
なるほど、なんか私GPUって言うとすごい今機械学習で使うものっていう印象がすごい強いんですけど、
もともとはそういうわけではなかった。
そうですね、確かに。
もうなんか新世代の人類と話している。
GPUのGがグラフィックなの知ってましたか?
いや、それは知ってるんですけど、
でもなんでグラフィックなんだろうっていうかなんだろう。
確かに。
基本GPUはなんかあれだね、
深層教科学習とか深層学習やるのかなみたいな、
ディープラーニングやるのかなみたいな。
確かに。
GPUはグラフィックスだけにしか使われてない時期っていうのはあって、
で、その頃はなんかGPUを計算に使っちゃうっていうやばい奴らがいるらしい。
あ、そうだったんだ。
GP、GPUって言うらしい。
そういう時代があったんですよ。
じゃあグラフィックスの計算っていうのは要するにすごい高性能なものを表示する。
CGが出せるとかもあるし、
まあそうですね、CGとかが出せるとか、
そうですね、なんかGPUってそんなに何もできないのかもしれない。
ちょっと今GPUの気持ちになると悲しい気持ちになりました。
全然僕はうまく説明できないから。
ごめんねGPU。
GPUっていうのはグラフィックスの計算に昔は特化してデザインされていたんですね。
36:05
今ではそれ以外の用途にも使われるようにある意味汎用化されてるわけですけどアーキテクチャは。
昔はグラフィックスでよく使われる行列の計算だとかそういうものが早くなるように特化された仕組みだったわけです。
CPUみたいに器用にif何とか、if何とかっていって条件分岐をたくさん含むようなものをたくさん高速に処理することはできないけど、
たくさんの計算を同時並列でやったりとか、
データを大量に読み出してきてそれを計算してまた書き戻したりとか、
そういうのが得意なアーキテクチャになっている仕組みになっているということですね。
GPUは既にいろんなところにさっき言った機械学習とかに使われてるし、
身近なところで言うとブラウザのレンダリングとかはほぼ全てGPUによるハードウェアアクセラレーションっていうGPUの支援を使って、
CPUだけじゃなくてGPUを使ったレンダリングをしていると。
ブラウザのレンダリングって何か聞いてほしいです。
ウェブブラウザのレンダリングっていうのは、
ウェブブラウザがどういうふうに文字とか画像とかを表示するかっていう、
そういう目に見えるビジュアルな部分を実際に書いていく。
1ピクセルずつ書いていくっていうことをレンダリングっていう。
で、それがさっき言った両立計算早いとかそういう特性が機械学習とすごく相性がいいと。
なのでそのGPUを使ってそういう計算をできるようにしているっていうのが、
最近は境になっているということですね。
なるほど。それがドメイン固有アーキテクチャっていうか、
それがっていうのは、そういう用途に特化したチップ、何かしらの。
だからGPUの場合はそういう並列計算に特化した例ってことですね。
そうですね。
でもGPUっていうのはもともとグラフィックスに特化して作られたものを転用しているわけで、
機械学習に特化したものを作ってもいいんじゃないかっていうのはあるわけですね。
GPUをどんどん高速化させてそれを機械学習に使おうっていうんじゃなくて、
機械学習PUみたいなのがあったらいいじゃんっていう。
で、それはなんか実際に結構もう出てきていて、
例えばGoogleのTPU、Console Processing Unitかなとか、
Appleのニューラルエンジン、これはiPhoneにも既に搭載されているし、
M1チップの最近のMacBookだと、それが16個載ってますみたいな。
ちょっと詳細なスペックはAppleが公開してないんで、
それどのぐらい速いのかっていうのは比較はできないんですけど、
その専用のチップがどんどん出てきていますと。
例えばそれはApple上で動くSherryとか、
あるいは画像処理とかですかね、写真撮った時の、
そういう時に使われている機械学習、
そのオンチップでの機械学習をそれでやってるってことですね。
そういうことです。
なるほど。
確かにオンチップでやるんだったらね、なんか必要ですよね。
39:03
一回サーバーに送ってとかじゃなくて、
ここでやってるってことですね、それが載ってるってことは。
それをGPUを使い回してもいいけど、
全然専用のものを使っていいぐらい、
そのぐらいみんな機械学習、いろんなアプリが機械学習を使っているっていう時代であれば、
その方が効率的じゃないかってことで、
そういうなんかドメインっていうのは、
タスクの種類に合わせたアーキテクチャを作って、
CPUじゃないチップ、仕組みのチップを作ってやれば、
CPUが遅くても全体としては速い、
パソコンとかスマホができるわけですね。
でもなんかスペース的な問題として、
CPUに加えてそういうドメイン、こういうアーキテクチャがいっぱいあったら、
それはなんかでかくならないんですか?
そうですね、なんか実際に結構その問題あって、
例えばGPUを実際別の部品として組み込むと、
どうしてもその間の速度が原因で遅くなっちゃったりするわけなので、
同じチップ上にCPUもGPUとして働くチップも、
そういう機械学習用のチップも載せてあげようっていう、
そういうトレンドにはなってます。
実際に何度も話に出ているM1チップっていうのは、
そういう仕組みになっている。
そうなんですね。
GPUもさっき言った機械学習に必要なチップも、
それからセキュリティとかそういうのを扱うチップも一緒になってます。
なるほど、なるほど。
そうやってかなりこういうアーキテクチャが増えてるんですね。
そうですね。
今の状況としては。
いや、面白いな。
なんかすみません、これ今聞くのがいいのか、
後で聞いた方がいいのかちょっとわかんないんで、
後の方が良ければ飛ばしてほしいんですけど、
何だろう、そうやって例えば、
こここれはAppleニューラルエンジンを積んでるから、
それを意識してソフトって書くものなのかなとかいうことが気になったんですよね。
ソフトウェアでこういう計算をするっていうのを決めたときに、
それを受けてが、例えばCPUでやるのかGPUでやるのか、
それともそういうドメイン、こういうアーキテクチャをやるのかっていうのは誰が決めるのか、
ソフトを書いた人が決めるのか、
それとも、そっち側で吉野にやってくれるのか。
なるほどね。
例えば、Appleのニューラルエンジンが入ってる人と入ってない人の方があって、
プログラマーは、
Ifニューラルエンジンとかっていって、条件分岐を書くって、
それと特有のプログラミングとそうじゃないプログラミングを別にする必要があるのかっていう質問でもあると思うんですけど、
それはまさにAppleのニューラルエンジンだったらAppleが工夫してるところで、
それを意識しないでも一番早いコードが書けるようなAPIが用意されていて、
ライブラリが用意されていて、基本的にはそれを通じて計算をしてねと。
なるほど。
そのライブラリの中でどういう風なZIPの使い方をするのかっていうのは任せてくれと。
そういう風な方向のトレンドが入ってます。
42:00
なるほど。
じゃあ基本的にはハード側がそういうAPIを提供するっていう方向になってる。
そうです。
OSとか、OSの上のライブラリとかがそういうハイレベルな抽象化されたAPIを提供して、
プログラマーはそれを使って、基本的にはその中身も多少は意識するわけだけど、
基本的にはその中身とかニューラルエンジンが何個積んであるのかとかについては、
意識せずにニューラルエンジンの場合はできるようになってます。
なるほど。
し、Googleの場合はTencel FlowだったかなっていうライブラリがTPUをうまく使うのに、
1個レイヤーを挟んであげることによってうまく使えるようになってるということですか。
なるほどですね。
いや、なるほど。
じゃあそれはOSごとに違う?
OSごとに、はい。
だからmacOSと例えばWindows上で動く、Windows OSであればそれぞれ別のAPIを使わないといけない?
そうかな、多分それをうまいことできるようなライブラリに開発、今頑張ってるけれども、
現状ではそうですね、なんかワンサイズフィットオールみたいなのはあんまり思いつかないかな。
基本的にはそのOSごとにAPIを使って、
そうですね、スマホ向けに書いたプログラムをそのまま全く同じように動かすっていうのは、
そういうふうにデザインされたライブラリを使わないと今のところできないのかな。
僕はあんまりちょっとそのコードをバリバリ書いてるわけじゃないんで、最新時事はわかんないんですけど。
なるほどです。いや、勉強になりました。
他にどういうこういうアーキテクチャがあるんですか。
なんかさっきじゃらっと話したセキュリティで、今は例えばHTPSっていうそのエンドツーエンドで、
つまり途中にこう傍受している人がいてもその中身がわかんないようなセキュアなって言うんですけど、
セキュアな通信をしているソフトが増えていると思うんですね。
ブラウザでもなんか左上のそのアドレスバーの横に鍵マークが付いている場合はほとんどだと思うんですけど、
これはSSLっていうHTPSの中でセキュアな通信をしているって意味なんですね。
それは傍受されても大丈夫ですよっていうことですね。
で、このためにはすごいたくさんの計算をして、暗号化をして、送られてきたデータを複号化して戻してっていうことが必要なんですけど、
これもGPUと同じくちょっと特別な計算でCPUは苦手としてるんですね。
最近CPUでは結構それが早いような特別な命令が追加されたんで大丈夫ってこともあるんですけど、
専用のチップに外注した方が早かったりとか、それからより高いレベルのセキュリティが実現できたりとかするので、
結構スマホが多いですけど、最近はパソコンのCPUにもそういうセキュリティ専用のチップっていうのが。
なるほどですね。
45:00
そっか、セキュリティって言うとどうしてもそういうセキュリティ用のソフトウェアみたいなのが浮かんじゃうんですけど、
それだけじゃなくて暗号化とかをするためにはCPU単体でも動いてるというか、そういうチップ。
どんな通信をする時にも大抵は何らかのセキュリティは間に挟まってる。
つまり暗号化されたものが実際にはネットワークの上を通ってるので、その暗号化、複号化のためのチップが必要ですね。
それはオンチップというか、自分の手元でもそういう計算をする必要があるから、それぞれこういうのはきてくちゃが載ってるっていう。
それもあるし、あとはネットワーク上のセキュリティの話を今話しましたけど、
メモリに書く内容もセキュリティ、暗号化されたものとか、ハードディスクですね。
ハードディスクに書いてある内容に関しても、例えばIEOって書いてある。
IEOってそのまま書くとパソコンを破壊して半導体の中身を読んだら全部割れちゃうわけじゃないですか。
でもそれを暗号化してから書き込む。複号化してから読み出すっていうことにすれば、
そういう意味でもセキュリティが高まる。
ネットワークと関係なく、パソコンの中でのセキュリティが高まる。
ということで、そういうふうなデータの書き込み読み出しの中でも暗号化って動いていて、
そういうのはもっとさらにオンチップでしかできない、暗号化、複号化っていうのは需要が高まってる。
っていう意味で専用チップが最近よく開発されてますね。
なるほどですね。
なんかちょっと前の話というか、CPUのコア間の接続によって速くなるみたいな話があったんですけど、
これもそういうアーキテクチャ間の接続によって速くなったりとかそういうのってあるんですか?
多分あると思います。
多分この中で例としてあげたいのは、
例えばセキュアエンクレーブ、iPhoneで使われている仕組みだったり、
プロセッサーってものですけど、ピクセルっていうスマホでもTITAN M2っていうのがあったりとか、
それも大体オンチップで、一つのチップの中にCPUのまさに隣とかに置いてあって、
なるべく行き来しなくてもいいように作られてるんですけど、
それはそういう理由があるんじゃないかなと思います。
なるほど。そのドメイン、こういうアーキテクチャとCPU間の連絡が早ければ早いほど早くなるってことですね。
あとはここまで特化したアーキテクチャを作ろうっていう話があったんですけど、
実はアーキテクチャを自分で書き換えられるプロセッサーっていうのがある。
やばいですね、それは。
FPGAって言うんですけど、FPGA自体聞いたことありますよね。
それは大まかに言うと、さっき言ったいろんな用途のアーキテクチャがあって、
それを自分で書き換えて、今は機械学習特化だけど、
48:02
次はもう機械学習終わったからセキュリティに特化したチップにしようって言って書き換えることができる。
それはどうやって書き換えてるんですか。
それはブロックみたいなものですね。
回路図はブロックみたいなもので構成できるとしたら、
そのブロックを一個一個プログラミング可能な回路を使って、
こことここを繋げるっていうプログラムをすると、そことそこが繋がるみたいな。
そういうものを作って、その繋ぎ替えをすることで、
異なるアーキテクチャを一つの仕組みで実演することができる。
そしたらもうCPUの他にはそれだけあればいいってことですか。
そうなるかもしれないとは思います。
実際マイクロソフトはそういう実験をしていて、
プロジェクトカタパルトっていうプロジェクト名でやってると。
これはCPUの隣にFPUを置くことで、かなり少ないコスト増加で高い効果を出せる。
かつGPUとか機械学習のTPUみたいに一つのものに特化させて作ったら、
それで終わりではなくて、それを動的に進化させることができる。
っていう特殊性があるというふうに言われてますね。
確かにそれはなんだろう、いろいろ要請が変化していったときに割といいですよね。
こんな新しいドメイン、こういうアーキテクチャができましたって言ったときに、
それを入れなくても今あるFPUをいじればいけるみたいな。
どんどん進化していくと。
それって、ある意味規定をたくさん用意しとかないといけないわけじゃないですか、あるものを作るために。
作る部品がたくさんないといけない。
ある意味ちょっと冗長になるんじゃないかなっていう感じがする。
同じことをする機械学習専用のプロセッサーに比べると、多分かなり遅いとは思いますって言われてました。
なので、どのぐらい書き換えの需要が発生するかっていうのも結構重要なんじゃないかな。
でも、機械学習の特化といっても、このモデルに特化したプロセッサーっていうのはできないわけじゃないですか。
このニューラルネットワークのモデルに特化したプロセッサーっていうのはできないけど、FPGAだったらそれができる可能性があるわけですね。
なるほどですね。
だからそれは、どれぐらい効率的なこういうアーキテクチャを作れるかと、
FPGAがこういうアーキテクチャの中で覇権を握るかどうかっていうのは結構表裏一体って感じ。
なるほど、それはすごい面白いですね。
なんかあんまりFPGAは研究文脈では聞いたことあるんですけど、そういうふうに使われようとしているっていうのは初めて聞きました。
そうですね。なんか次はFPGAの時代が来ると、20年以上言われていたと言われているらしいんですけど、
なるほどですね。
ついにそういう時代が、実用的に使えるような時代が来たりしないということですね。
なるほど。
これは多分なんかいろんなアーキテクチャがそもそも作られるようになったっていうのが、最近特にTPUとか機械学習とかの、
51:05
SOC、システムオンチップみたいないろんなIC、いろんな種類のアーキテクチャが混ざったプロセッサーを一つのチップの上に乗せようっていう、
そういうのが盛んになってきて、で、なんか意外とアーキテクチャっていろいろいじり合いが全然あるじゃん、まだ。
みたいなのが高まって、で、そういうのに注目が集まってるっていう、そういう大まかな流れはあるんじゃないかなと。
いや、面白いですね。それはなんか特化したものを作れば作るほど、なんていうか、これ汎用性あった方が良くないっていう。
そうそうそうそう。
それすごいなんか面白い話っていうか、なんかいい話ですね。
まあ、FPGA本当に時代が来るのかってわかんない日ですけど、かなり今注目されてる。
いや、面白い。ありがとうございます。なんかいろいろ教えてもらった。
ちなみにIntelっていうメーカーと、XilinxっていうのがFPGAの2大ベンダーと呼ばれてます。
そうなんですね。
Intelも実は作ってる。
今は何か何に使われてるんですか?
今、たぶん身近なところでは、僕は最初あんまり思いつかなかったんだけど、調べてみたら、実は結構いろんなところに使われていて、監視カメラとか、
なるほど、なるほど。
高精細テレビも4Kテレビとか、DVDレコーダープロジェクターなど、
まあ共通点としてあるのは、画像とか使うってことですね。
画像処理とかが高速にリアルタイムに必要なものに、まあよく使われてる。
なるほど、なるほど。
で、なんか多分いろんなそのプロトコルとかに対応できたり、かなり早く、CPUよりも早く、でもGPUみたいな大きい回路が必要なく処理できる。
何かに特化した回路を、でも専用に設計するほどでもないっていう数作りたいっていう時に、FPGAっていうのはよく使われてるらしいです。
なるほど、へー。
それは頻繁に書き換えっていう感じではなさそう。
まあたくさん書き換える必要はなくても、やっぱ1個ロッドを作って専用アーキテクチャとして、
それでペースするほどではない市場とかだったりすると、そういう感じでやるっていうことが多いのかな。
そうだと思います。
なんかカメラのなんかに乗ってる、なんだろう、なんとかエンジンみたいな、VIXUSエンジンみたいな、そういうのはFPGAだったりするのかな。
まあなんか書き換えできるようなんで、そういうところに載せても良さそう。
確かに確かに、そうですね、なるほど。
いろんなアーキテクチャが今使われ始めているっていうことですね。
なんかでもその、やっぱアーキテクチャが増えれば増えるほど、冷却コストが大きくなったり遅くなったりする可能性も上がる。
まあチップの面積がやっぱりでかくなると、そうなりますよね。
で、なんかその分、例えばメインのCPUで不得意なことをやらなくてよくなるわけじゃないですか。
はいはいはい。
だからCPUは実はどんどん遅くしていくっていう可能性はあるかもしれないですね。
54:00
なるほどですね。
まあそれによって暑くなったりする可能性を下げることができる。
で、今やってるタスクに合わせた、それに得意なコアを使ってあげれば、CPUはどんどん遅くしても大丈夫。
で、まあやっぱりこう自慢熱が出るっていうのはCPUなので、そこを遅く発熱しないような設計にすることで全体として熱を抑えられるっていう可能性はあると思います。
え、やっぱ固有のやつの方がこう熱は出にくい。
そうですね。
なんでですか?
回路の大きさが全然違うからです。
なるほどなるほど。
回路が大きければ大きいほどやっぱり熱は出やすくなるから。
そしてやっぱCPUはかなり汎用的に作ってあるので、どこに例えばイフナとかが来ても対応できるようにすごく大きなパイプラインとか複雑な分岐の予測だとかそういう仕組みを持ってるわけですね。
それが必要なければないほど、どんどん小さいシンプルな仕組みで実装できるっていうことです。
私はただパソコンがシューシュー言って遅くなるのは何でなのかっていうところから始まったんですけど、えらいいろんな方向に行ってめっちゃ面白かったです。
まだPCの進化が足りてないからっていうのが答えなのかな。
あとはプログラマーがもっと頑張れっていうのはあるかもしれないです。
確かに。
今回は全然熱くはなかったですけど、ソフトウェアの書き方によって当然早くプログラム遅いプログラムってあるんで。
なるほどですね。
確かに自分で計算を回してるとき、例えば私の場合RStudioとかでやるんですけど、
例えばRで計算させてるときにすごい時間かかったりみたいなことがあって、それは私が書き方を変えれば早くシューシュー言わなくなるかもしれない。
あと他に何か自分があることだと、結構私Chromeを使ってて、ウェブブラウザーを開きすぎてシューシュー言うこととかがあるんですよね。
ブラウザーも最近は1個のタブが1個のアプリみたいな感じで、ワードと同じことが例えばGoogle Docsとかオフィスのブラウザー上で動くやつとかでできるようになってるんで、
それが100個同時に開いてたら遅くなるわっていう感じであるんで、1個はタブを閉じるっていうのはありますけど、
最近はあんまりアクティブじゃないタブはメモリとかCPU使わなくなってきたので、開いてるタブだけがそういうふうに表示されてるタブだけがCPU使うってなってきたんで、
閉じれば解決っていうもので、もしかしたらなくなってるかもしれない。かなり効率的に使えるようになってきたせいで、閉じようとしていろいろ開くと余計遅くなるっていうのはあるかもしれないですけどね。
なるほど。
でも、少なくとも100個開いてると遅くなるのはそうっていう感じなので、たまに閉じましょう。
タブを整理したいと思います。
じゃあそんなところでしょうかね。
57:00
はい、ありがとうございました。
今日はパソコンはなぜ遅くなるのか。
暑くなるのか遅くなるのか。
暑くなるのか遅くなるのかっていうことですね。
について、熱とかCPUのアーキテクチャとかそういう話をしていきました。
次は研究成分の質問を僕はいっぱいしてるんで、またそういう話もさせてもらいます。
今回結構エンジニア側の話でしたね。
ありがとうございます。すごい勉強になりました。
こういうのを習いたいなって思った。
どうなんだろう。
少なくとも情報でこういう話ってしないですよね。
そうなのかな。
何だろう。
あんまりなぜ遅くなるのかっていうテーマだけで横断して話したりはしないかな。
確かに。
アーキテクチャの仕組みとか半導体の仕組みとかっていう話するけど、
それが繋がってこんなに解説するっていうのはなかなかないかもしれない。
そうですね。
割とソフトウェアの話とか多い気がするんですけど、
そもそもインターネットとはみたいな話ってある気がするけど、
パソコン自体どうできてるのかみたいな話って意外とあまり聞かないかなっていうでしょう。
早いプログラムの書き方みたいな話はするけど、
そもそもパソコンっていう大きなマクロなものの話っていうのはなかなかできなかったので、
僕もかなり勉強するきっかけになって楽しかったです。
はい。ありがとうございました。
それではまた次回も来てください。
さよなら。
さよなら。
58:30

Comments

Scroll