CPU
2020年の記事
箇条書きにしてみようとした(何故?)が、何か大事なものを削いでしまっている気が…
中央処理演算装置Central Processing Unit
こんな形
https://gyazo.com/8d51209476aeb4a05f917eefc3aa8c9d
基本的にこの部品でその電子機器 デバイス プロダクト ...の性能の上限や速度が決まると言って良い
パーツの相性などもあるが
従って、大企業などでは コイツの設計に心血を注いでるんじゃね?
コスト
お高め
例
正規品 一個18800円程
正規品 42900円/個数 ぐらい
基本的に新品買うとなったらX万円ぐらい
やっすいのだと5,000円くらい
家庭用で高い方になると10万以上
何してる部品か
動作に注目して言うなら、機械語の命令を受け取って、言われるがままに演算を行い、結果を返す装置。
機械語というのは、文字通り機械(コンピュータ)の言語 人間が自然言語を理解するように、CPUは機械語を理解する。
なお、人間も訓練すれば機械語は読める。
CPUも種類によって理解できる機械語が異なる
人間が日本語や英語や韓国語や中国語を理解するように
なお、機械語の種類のことを、命令セットアーキテクチャと呼んだりする。
CPUは知らない命令セット(機械語)を理解できない
例えば、普段みんなが使っているパソコンのCPUならだいたいx86_(64)という命令セットの機械語を理解するし、スマホとかに入ってるCPUならだいたいARMという命令セットの機械語を理解する。 スマホ向けのソフトウェアをPCで動かすにはひと手間かかる
これは命令セットの問題だけじゃないけどね。
ちなみにNintendo SwitchはARM CPUだし、WiiはPower PCだった。Yamahaの方のSwitchだったらCPUの見本市みたいなことになっていて、ARM, SH3, MIPS32, PowerPC, i386,なんでもござれである。RISC-Vはこれから来そうだ。 性能と進化
CPUはコンピュータの中枢なだけあって、コンピュータの普及のころから目覚ましい進化を続けてきた
性能の進化を見る時、一番わかり易いのは動作周波数という数字の大きさ。 ざっくりと言うならば、CPU内部の回路が一秒間に何回処理を行うかを示す値
周波数と言う名前の通り単位はHzだけど、現代のパソコンのCPUは速すぎるため一般にはGHzオーダーになっている
G(ギガ)はSI接頭辞の一つで、10^9を示す。つまり10億である。
2020年現在の製品だと、4GHz以上のものがざらにあるので、一秒間に内部の回路が40億回以上動作していることになる。どういうこと?
最近のトレンドはたぶんこれ。
太古のCPUは1つのCPUに1つのCPUが載っていた(自明の理)
けれど2005年位から1つのCPUという部品単位の中に、複数のCPU(コア)が入った製品が出回り始めた。
理由は簡単、増やすといっぱい処理できて速くなるから
テクニカルタームで言えば、並列処理というのができるようになる もちろん、ただ増やすだけですべての処理が速くなるわけではないし、増やすことによって発生するCPU設計上のデメリットだってある。
だけど、現代ではなんかコア数多いし強いだろ!と思っておいて、別に間違いじゃない。
これはもしかすると、周波数やコア数よりも実際のソフトウェアの動作速度を精確に示す値かもしれない
IPCというのはInstruction per cycleの略
超訳するとたぶん「クロック(サイクル)一回で平均的に実行できる機械語命令の個数」
この概念の理解には若干の前提知識が必要だけど、そんなに難しくない。
CPUは機械語を理解して処理を行うと言ったけど、すべての命令がCPUにとって一発で結果を導ける命令なわけじゃない。
処理が簡単な命令なら一発(1クロック)で処理できても、難しい命令には5段階(5クロック)くらいの処理が必要かもしれない。
この「ある命令の処理に必要なクロック数」は、CPUの回路設計に依存する。
だから、いくら動作周波数がバカみたいに高くても、命令の実行にかかる平均クロック数、つまりIPCが示す処理効率が一命令あたり1億クロックとかだったら、いつまでたっても処理はおわらなくなってしまうわけだ。
さらに、この値は単に命令を実行する時の効率性(省クロック)だけに影響されるわけでもない。例えば、CPUのコア数が2以上だったらどうなるだろう。処理回路が増えることになるから、部品単位で見たらIPCが約2倍に見えるかもしれない。などなど、いろんな要素が複合して、最終的なIPCの値が発生してくる。
「もしかすると、周波数やコア数よりも実際のソフトウェアの動作速度を精確に示す値かもしれない」と言ったのは、こういうことだ。
処理性能と直接関係しそうに見えない値だけど、TDPも大事な値。これはつまりは消費電力である。 「電力ゥ? そんなものいくらでもくれてやるよ! 性能をよこせ!」
と思われる諸兄もいらっしゃるかもしれない。実際そんなスタンスの性能原理主義の過激派集団は実在するが、一般社会ではそうは問屋が卸さない。環境に著しい影響を及ぼす黒煙と人々の安眠に著しい障害を及ぼす爆音を撒き散らして爆走する暴走族のようなものだ。
なにせ、CPUとはいえ結局は導電線の集まりなんだから、大きな電流を流すとアッツアツになる。もしCPUクーラーで冷やさなければ、たぶん平気で数百℃とかに到達する。原子力発電所よりも熱密度が大きいとかいう話もある。
そんなことになって火事にでもなったら大変だし、危ない。仮に家を全焼させる覚悟があったとしても、発熱にはもっと致命的な問題がある。CPUの回路を構成する半導体は、温度によって特性が変化するのである。具体的には、電気抵抗が減少する。こうなると、電流が流れすぎてしまいCPUが正常な処理を行えなくなる。これが俗に言う熱暴走である。サマーウォーズでスパコンを氷で頑張って冷やしていたのは、これによって正常な処理ができなくなることで世界が終わるからである。 だから、一般的なCPUは温度センサを内蔵しており、アツくなってきたら処理速度をDownさせて温度を安定させにかかり、ヤバい温度になったら強制終了する。
よって、TDPが大きいCPUを扱うにはそれ相応の冷却装置を併設してやらなければならない。ドラゴンボールの世界ではないので、熱いのは別に強くないのだ。
メーカー
パソコンで一番使われているx86と呼ばれる命令セットアーキテクチャのCPUだと、今作ってるメーカーはIntelとAMDだけ。少ないけど、一応二社いるのでかろうじて市場は健全らしい。
スマホや組み込みデバイスになると、もっと複雑。そもそも命令セットアーキテクチャがARMとかPower PCとかRISC-Vとかなんかいっぱいある。そして特定の命令セットアーキテクチャのCPUを特定の企業が作っているわけでもない。いろんな企業が作っている。競争の意味で言うなら、こっちはたぶん激戦。
しかも2020年現在では、「パソコンならx86」とも一概には言えなくなってきた。GoogleのノートPCであるchromebookはARMのCPUを搭載したものがあるし、少し前にAppleが「いままでMacはIntelのx86使ってきたけど、これからは独自のARMベースCPUであるApple Silicon搭載するわ」なんて言い出していたりする。これ以外にもARMプロセッサを搭載したノートは増えてきて、Windowsの開発元であるMicrosoftも、2019年にARM用Windows 10なんてものをリリースしている。時代が変わりつつある。
/icons/hr.icon
最近のPC向けCPUだと、端子(ゲジゲジ部分)が無くなって、裏側にびっしり電極がついていたりする。
こっちがIntelのCPUの裏側。大量の電極がある。ここにマザーボード側の突出した電極が接触する。 https://gyazo.com/c8c96e2e86ec818659c64f8fc86e4cc1
こっちはAMDのCPUの裏側。針山である。これがマザーボードに刺さる。
https://gyazo.com/57de97f91bfa670a3e41014bf62de811
意外な(?)使用方法として、焼肉がある(通称CPU焼肉)。そこそこの性能を持つCPUに高負荷をかけると肉が焼けるくらいの高温になることから。※良い子は真似しないでね::CPU焼肉をやる場合はもう使用しないCPUとマザーボードを使おう!