CPU

登録日:2020/12/05 Sat 21:58:18
更新日:2025/04/10 Thu 15:03:45
所要時間:約 18 分で読めます





CPUとは、中央演算処理装置(Central Processing Unit→CPU)の意味で、コンピュータの文字通り中枢部に当たる部品。



画像出典:Unsplash url 2025/04/10







概要

コンピュータの構成要素の中でも、コンピュータの中枢部・脳みそに当たる部品。
これがなければそもそも成立しない。

現代では「CPU=プロセッサ=マイクロプロセッサ」として扱われる事が多いが、
厳密には「CPU」、「プロセッサ」はコンピュータの文字通りの中枢部となる要素全般を指す言葉であり、
「マイクロプロセッサ」はその機能を1つのICに集約した部品を指す。

じゃあ、ワンチップじゃないCPUもあったのかって?
うん。あったよ。というよりマイクロプロセッサが登場するまでは、ディスクリート(独立したパーツ)の部品やロジックICを組み合わせてCPUを作ってた。当然、容赦なく巨大。お値段? 察しろ。
マイクロプロセッサが登場したからこそ安価で自宅の部屋に置けるサイズのパソコンや、テレビの脇に置ける程度のゲーム機や、ポケットサイズのスマートフォンが実現できるようになったのだ。
まさに、かがくのちからってすげー!

CPUは、記憶装置(RAMやHDD、ROMカートリッジなど)に入っているプログラムを順に読み込んで解釈・実行することで情報処理を行うというのが基本動作。
主記憶装置、補助記憶装置、I/O関連などはバスと呼ばれる信号線で接続され、情報の交換を行う。
ちなみに信号線を「バス」と呼ぶのは、バスから来ている。
様々な信号の伝達を行う様を、バスに様々な乗客が乗り込むのを見立ててのことだそうで。


構造

CPUは、制御装置、演算装置、レジスタ、記憶装置とのインターフェイス、周辺機器とのI/Oインターフェイスなどから構成される。さらにレジスタよりも多くの情報を一時的に記憶するキャッシュメモリ、浮動小数点演算ユニットなども追加される事がある。

制御装置
読んで字のごとく。CPU全体を制御するブロック。リーダー。指揮者。
演算装置
実際に計算を行うブロック。
レジスタ
演算装置や制御装置に直結された、小型で高速なメモリ。演算装置にとっての作業机のようなもの、と思えばいい。
レジスタはいくつかの値を保持しておけるが、この個数はCPUによって異なる。
インターフェイス
外部のRAMや補助記憶装置(HDD、フラッシュメモリ、ROMカートリッジなど)、キーボードなどとの入出力を担当する部分。言うなれば受付嬢。
浮動小数点演算ユニット/FPU
浮動小数点の計算を行う部分。ものすごく乱暴に言うと、いわゆる「コンマ何ミリ」とか「コンマ何秒」とかの領域、つまり小数点以下の計算を行うブロック。
こいつの性能は、例えばゲームならポリゴンモデルの精細さなんかに影響してくる(浮動小数点演算の性能が低いとポリゴンに隙間ができたりする)。
キャッシュメモリ
主記憶装置やバスなどの遅延を吸収するための小規模なメモリ。レジスタが作業机なら、こちらは出荷前に一時保管する倉庫のようなもの。
一般的なPCやスマホのCPUには複数搭載されているが、これは処理速度を上げるための工夫なので、役割はまとめて覚えてもらって差し支えない。

※なお、ちゃんとしたPCが抱える情報量は、主記憶でGB(ギガバイト)級、補助記憶でTB(テラバイト)級にもなり、CPUが抱えきれないほど膨大なので、CPUとは別にRAMやHDDを用意することが通例。
キャッシュメモリの項に「一時」保管とあるのはこのためである。


動作

(ノイマン型の)CPUの動作は、「フェッチ」「デコード」「実行」の3ステップが基本となる。

  • フェッチ
CPU「ああ…プログラムってなんてかわいいんだハァハァ」←これはフェチだ。違う。
要するに、メモリからプログラムを読み込む動作である。「取ってくる」という意味の英単語そのまま。
犬を飼っていたりMtGをやっていたりする人は聞いたことがあるだろう。

  • デコード
俳句(プログラム)を読め!解釈してやる!
フェッチしてきたプログラムを、CPUが理解できるように解釈(カイシャク)する動作。
なお、デコードは「復号」という意味であり、「暗号化」を意味するエンコードの対義語である。

  • 実行
解釈(カイシャク)したプログラムをしめやかに計算する。

これを猛烈なスピードで繰り返している、と考えればいい。

  • パイプライン
しかし、これを単純に繰り返すだけではどんなに猛烈なスピードで繰り返しても無駄ができる。

たとえば、フェッチが終わってデコードの段階になるとフェッチの機構は暇になってしまい、
同じように、デコードが終わって実行の段階になるとフェッチ機構に加えてデコードの機構まで暇になってしまう。これでは無駄が多い。

それを抑えるために、最近のCPUではもっぱら「パイプライニング」という手法が採用される。
これは料理における段取りを想像してもらえばわかりやすいが、簡潔に説明すると「空いた部分に矢継ぎ早にデータを流し込んで処理密度を高める」ということになる。

「フェッチ」「デコード」「実行」の3段階を1つの処理として考えて、それぞれの段階は1サイクル(テーブルの横幅1マス分)で完了すると考える。3つの処理をパイプライニングを施していないCPUで実行した場合こうなる。
フェッチ デコード 実行 フェッチ デコード 実行 フェッチ デコード 実行
この場合、テーブルの横幅は9マスで、9サイクルということになる。

これにパイプライニングを施すと、
フェッチ デコード 実行
フェッチ デコード 実行
フェッチ デコード 実行
このようになり、このテーブルの横幅は5マスであるため、5サイクルで完了することになる。

実際の商用プロセッサはもっと細かく段階を区切ることがほとんどで、「フェッチ①」...「フェッチ③」のようにもっと細かく刻んでパイプラインに流すことが多い。これを細かくしていくと周波数が上げやすくなり、性能の向上を狙うことができる。
さらに、複数の命令を同時にさばくことで並列性の向上を狙う「スーパースカラ」という技術も存在する。

それを踏まえたうえで、これを見ると「もっとパイプラインの段階を細かくして深くすれば性能はどんどん上がるのでは?」と思われるかもしれないが、パイプラインの段数が多くなると処理のやり直しに非常に時間がかかることになり、これはクロック当たりの実行効率を下げることにつながる。
そのうえ、周波数を上昇させることは電気的な効率を下げるという事象と背中合わせであり、あまり調子に乗ってパイプラインの段数を増やすと手に負えないほどの消費電力のCPUができてしまうことがある...どこぞのPentium 4やFXのように

また、パイプラインの途中でメモリアクセスに依存する命令などが実行されるて待ち時間ができると「パイプラインストール」といい、せっかくこしらえた段取りが崩壊することもあり得るが、これの解決策については本項では省略する。


ビット数

よくCPUやコンピュータ関連でで○○ビットとかいう言葉を聞くだろう。ピコピコの8ビット風とか、32ビット世代とか。
これは乱暴に言えば、CPUが一度に扱えるデータ量のこと。
8ビットなら一度に8個の数値を、16ビットなら16個の数値を一度に処理できる、くらいに考えればいい。しかもCPU…というかデジタルの世界でメジャーなのは2進数。0と1が並んだアレであり、1ビットは「0」か「1」でしかない。
…あ、そこ。「うわ、少なっ!?」と思っただろう。
だが8ビットなら(0と1の)2の8乗で256もの、16ビットなら2の16乗で65536もの数値を表現できるのだ。

4ビット
古い家電製品向けの安価なCPUに多い。今は特定の機能に特化したICに取って代わられることも。
8ビット
かつてのホビー向けマイコンや、黎明期のゲーム機などに多い。ドット絵とピコピコの世代。
パソコン向けが16ビット以降に置き換わった後も、マイコンの世界では長らく安定した地位を築いていたが、いよいよ32ビットマイコンの低価格化などによって斜陽化しつつある。
16ビット
Windows95世代のPCや、スーパーファミコンやMDなどのゲーム機、組み込み機器など。
32ビット
一昔前のメジャーなビット数の一つ。古めのPCから組み込み機器まで幅広く使われている。
メモリを4GBまでしか認識しない(PAEによって回避されるが)などの問題から、2000年代後半以降は以下の64ビットへの移行が進み、PCにおいてはもはや古い規格となってしまっている。
しかし、マイコンでは成長を続けており、8ビットや16ビットのマイコンを駆逐しようとしつつある。
64ビット
これも最もメジャーなビット数。現代のPCやゲーム機など。
スマホでも64ビット化が進んでいる。だってメモリの問題とかもあるし。
128ビット
16ビットや32ビットで発生したメモリ空間の枯渇に備えて、128ビットの命令を策定しようとする動きもあるが、64ビットの時点で十分にメモリ空間は広大であることや、128ビット分のアドレスをすべて実装しようとすると膨大な回路面積になってしまうことから策定は宙づり状態である。
つまり、近いうちに128ビットのCPUが普及する確率は極めて低い。
Playstation 2のEmotion Engine CPUが128ビットであると言われるが実際のところそうではなく、これは演算用のレジスタの長さが128ビットなだけで、Emotion Engine自体のメモリ空間は32ビット分しかない。


クロックとコア・スレッド数

PCやスマホを買いに行ったり、自作パソコンの構成を考えていたりすると、CPUの性能としてクロックやコア・スレッド数が書かれているのを見かけることが多い。
性能だけ見るならこれらはいずれも小さいより大きい方がいい*1のだが、その意味を知っておくことでPCやスマホの商品選びをうまくできるようになるだろう。

  • クロック
CPUの動作回数。「1秒あたりに何回の計算ができるか」をあらわす。
「クロック」で察しが付くと思うが、CPUには時計(クロック)と同じく、電気を流すことで振動する「クォーツ(水晶)」が封入されている。
CPUはこの水晶が出す振動によって動作するため、その動きは水晶が出す「カチ、カチ、カチ……」という一定のテンポに合わせたものとなる。
というか水晶が出す振動より早く動かすことも遅く動かすこともできない。
このテンポが速ければ早いほどCPUの処理速度も速くなる、というわけだ。これを現した数字がクロック数である。
単純に処理の速さの指標であるため、速ければ速いほど……数字が大きいほど素早く作業を終わらせることができると考えていい。*2

たとえば、200万回の計算が必要な処理をクロック数100万/秒(一般的な表記は「1MHz」)のCPUで行うとした場合、かかる時間は200万÷100万=2秒となる。

  • コア数
CPUが積んでいる演算装置の数。それぞれの演算装置に溜まっている仕事を振り分けることで処理の高速化を図ることができる(マルチコア)。
組込み機器はまだしも、2000年代以降のPCやスマホのCPUはコア数が2つ以上のものが主流になっている。
これが多いほど速い……のだが、振り分けにくい仕事(Excelのセルへの書き込みやAdobe Photoshopなど)では、コア1つあたりの性能が重要になることもある。

  • スレッド数
処理を振り分けることができる最大の数。PCなら1コアあたり2つの処理、スマホなら1コアあたり1つの処理を行えるものが多い。
たとえば2つの処理ができるコアを8つ持つCPUなら全体で8コア/16スレッドとなる。
ちなみにサーバーやスーパーコンピューター用のCPUだと1コアあたり4スレッドや8スレッドという事もある。
性能への影響はコア数に準ずるが、一般的にコア数の方がスレッド数より大きく影響が出ると言われている。

  • ※備考:ノイマン・ボトルネック
CPU、そしてPCの性能向上について重要となる問題の一つ。
いくらCPUが高性能でも、他の周辺機器(特にメモリ)の性能が遅ければ、それに足を引っ張られてしまってCPUが十分にそのポテンシャルを発揮できなくなる問題のこと。
これを解決するための答えの一つがキャッシュメモリである。


主要なアーキテクチャ

この節におけるアーキテクチャとは、ソフトウェアが物理的なCPUを動作させるためにどのような命令をしてどのように計算するかを定義する方式のこと。命令セットアーキテクチャとも。

命令セットアーキテクチャにおいて一つ大きなカテゴリ分けとして語られるのが、「CISC」(Complex Instruction Aet Computer)と「RISC」(Reduced Instruction Set Computer)。
これは既存の複雑な命令セットであるCISCに対し、命令の種類を減らして仕組みを単純にしようとしたRISCが対比されている構造にある。
どちらにも利点・欠点はあるものの、令和の現代においてはいずれかが完全に淘汰された状況にはなく、Macを除く多くのPCに用いられるCPUはCISCであるx64(x86系)、スマートフォンやMacなどはRISCであるARMが広く用いられている。
x86においても部分的にはRISCの設計を採用しているので、RISCの利点を享受していないアーキテクチャは事実上ほぼ存在しないと言ってもよいかもしれない。

Z80

ザイログ社が開発した8ビットCPU。通称は「ゼッぱち」。
令和の現代でもパチンコの基板とかでどっこい生きている。
実はメガドライブの中にも入っている。FM音源周りの再生担当と、セガ・マークIIIへの互換性のため。
他にもバトルガレッガ等、FM音源制御のためにメインCPUとは別にZ80搭載というのは結構あった。
SF作品では巨大ロボット超巨大宇宙船の心臓部に使われていたという事例も。
インテルの8080をベースとしており、バイナリレベルでのほぼ上位互換品。

x86

  • 主な採用例: PC/AT互換機、Xboxなど
インテルが開発した8086と、その子孫たち。
たぶん最もメジャーなCPUアーキテクチャの一つ。
インテル自身も流石に基本部分が古いよなとなって何度か刷新しようと後継のアーキテクチャを出したものの、開発環境まで含めてあまりに普及しすぎていて逆にx86系の方が勝ち残ってしまったという。

x64

  • 主な採用例: AMD Athlon64シリーズまたはIntel Pentium4 Rev.E(Prescottコア)以降の、AMD・Intel製CPU全般
x86と完全な後方互換を実現した64ビットアーキテクチャ。x86の64ビット拡張版なので「x86-64」とも称される。
AMDが開発したためAMD64と呼ばれていたが、Intel側もほぼ同様の仕様となったためにx64とも呼ばれており呼称が一定しない。
当時のAMDはまだ単なるIntelの後追い……というより安さだけが取り柄の小規模メーカーでしかなく*3、x86の時代はIntel一強かつ絶対王者でAMD含むそのほかは他弱ですらないともいえる位独占的シェアを取っていたため、PCまわりの規格といった周辺のこともIntelが決めれば業界もそれに従うという状態だった。

そんな中、PCのスペックアップに伴い64ビットアーキティクチャが必要になってきたのだが、元々IntelはIA-64というアーキテクチャを提唱していた。
しかしIA-64はx86との互換性が全くなかったせいで、IA-64対応商品も全く売れなかった。
一方AMD64対応商品は標準となるほど搭載された商品が増えた……つまり小メーカーが開発したAMD64が勝利するという、当時としてはとんでもないジャイアントキリングが発生したことは業界に多大なインパクトを与えた。
Windows XPの64ビット版もこの移行期のすったもんだの最中に出ていた。無論、IA-64版とAMD64版が。

68000/MC68000

モトローラ(現: フリースケール・セミコンダクタ → NXPセミコンダクターズ)が開発したCPU。通称は「68K」。
16ビットCPUだが、部分的には32ビットというよくわからないやつ。
68000という名前は、当初の内部のトランジスタの数が約68000個だったことから来ている(実際は7万個程度らしいが)。
当時はとにかく高性能を売りとするマシンで主に採用されていた。アーケードゲームに至っては、68000を複数個使ったという頭おかしいシステム(褒め言葉)もあった。
例えばグラディウスII(68000の2機掛け)や、ギャラクシーフォースII(同3機掛け)辺り。
組込システムや交通システムなどにも採用例があり、例えばTGVの信号システムは68000系のCPUを用いて制御している。

6502

上記のモトローラから独立したスタッフが旗揚げした、モステクノロジーが開発したCPU。
モトローラのMC6800を元に大幅な簡素化・効率化が図られており、格安でもプログラム次第ではMC6800や8080よりも高速に処理できるというとんでもないヤツ。
RISCという設計コンセプトの起点とされるほど画期的なものであったが、こいつ自身は未だCISCアーキテクチャとされる。
こんなものを日米の変態共が見逃すわけもなく、Apple IIやファミコンなどの歴史的なマシンの中枢部として採用される。
16ビットに拡張した65816というものもあり、スーパーファミコンなどに採用されている。

SuperH RISC Engine

日立製作所(現: ルネサステクノロジ)が開発したRISC型CPU。フィーチャーフォン(ガラケー)のCPUはたいていこいつの系譜。
32ビットCPUだが、命令セットは16ビット固定とし、コード効率を向上させている。
この設計はMIPSやARMにも影響を与えたほど。

MIPSアーキテクチャ

ミップステクノロジーが開発したRISC型CPU。
一昔前のゲーム機などの組み込み機器で多数採用された。一時期はRISC CPUの1/3がMIPSだったと言われたことも。

Power/PowerPC

IBM・Apple・モトローラが開発したRISC型CPU。IBMのPowerアーキテクチャを元に開発された。
(当時としては)低消費電力かつパワフルなCPUとして、高性能な組み込み機器などにも多数用いられた。
PS3のCPUとして知られるCELLも、実はこいつの系統。
現在はほぼ新規採用はないが、NXP Semiconductors(元モトローラの半導体部門)がPowerQUICCやQorIQブランドで組み込み向けとして販売していた。

Powerは主にIBMとそのパートナーのサーバーシステムに搭載されるサーバー用CPUで、最新のPower10は8-Way SMT対応のコアを15コア搭載し、120スレッドを実現する。
PowerPCはPower1から派生したが、後年(Power4以降)PowerがPowerPCの設計に準拠する形へ変更されている。

ARMアーキテクチャ

現代の携帯機器において多数用いられるCPU。
設計者は上記の6502を参考にしたと言っているが、参考にしたのは飽くまで「シンプルで軽量なCPU」という部分であり、中身は全くの別物。こいつは名前にAcorn RISC Machineとある通り、完全なRISC系アーキテクチャ。
イギリス設計らしく(?)、機械語が非常に独特なことでも一部で有名。省エネ性と取り扱いの容易さに優れ、各種の携帯機器で採用されている。
2020年代に入ると絶対性能がかなり向上したことでパソコン方面にも侵食中。
MacのCPUが2020年からARMアーキテクチャに切り替わった他、ARM版Windowsなんてものも誕生し、マイクロソフト自社のSurfaceもARM機に移行しつつある。
x64の遺産を引き継ぐためにARM版のmacOS・Windows双方ともにエミュレート機能も内蔵されており気合がうかがえる。そのためCISC系アーキテクチャを時代遅れと考える人も出てくるほど。

ちなみにここまでのアーキテクチャは「アーキテクチャ開発者=CPU設計者」という趣が強かったが、ARMアーキテクチャに関しては、開発しているARM社はあくまでもベースのアーキテクチャを販売しているだけで、CPUそのものはアーキテクチャの使用権を購入したメーカーによるという形式になっている。
そのためARMアーキテクチャといってもメーカーは多岐にわたっている。
有名なところだとQualcomm社の「Snapdragon」シリーズやApple社の「Apple Silicon」シリーズだが、これら以外でもARMアーキテクチャを使ったCPUは列挙するには多すぎるくらい多様かつ色んなところで使われている。

RISC-V

米カリフォルニア大学バークレー校*4のクリステ・アサノヴィッチ教授らによって開発されたRISC系アーキテクチャ。
学校で生まれたこともあってかオープンソースとして公開されている。ARMと違って使用料も払う必要が無いことが注目されており、ライセンス費用を節約したい・より自由な設計をしたい企業が中心になって、こちらにも研究開発・投資することが増加中。
個人でも開発できるので、これでCPUも自作できるのでは?と考える人も出てきている。
現状は組み込み機器が中心だが、Qualcommやintelが意欲的な姿勢を見せているので将来的にはスマートフォンやパソコン等でも採用例が増えるかも?

GPGPU

  • 主な採用例: AI関連、仮想通貨のマイニング
厳密にはアーキテクチャとは言いづらいものの、下記の理由により無視できない存在となっているためこちらに記載する。
GPGPUとは、簡単に言えばグラフィックスプロセッサー(GPU)をCPU代わりとして使おう、というもの。
通常のCPUとの違いとして、通常のCPUはオールラウンダータイプで個々の能力は平均〜今一だが苦手が無いのが強みなのに対し、
GPUはできないことはからっきし駄目だが、限られたできることであればCPUを遥かに超える性能を持つという特化型タイプなのである。
この特性が注目され、単なる画面表示用チップ以外の用途も考え出されたのである。
また重たい画面処理をやっていないときはGPUが遊んでいる時間となってしまいもったいないので、GPUの空き時間活用という面もあった。

構想や実装自体は2000年代前半頃からあって研究が続けられてきたが、本格的に知られるようになったのは2010年代末頃に始まった仮想通貨ブームおよびAIブームだろう。
とにかくこれらの処理についてはGPUの独壇場かつ様々な活用方法が見出されてきたことで競争も非常に激しいため、ハードウェアはもちろん、制御するためのソフトウェア開発部分でも競争の激しい分野である。
グラフィックボードがとんでもなく高くなった、最大の理由がこれ。

生体・有機CPU

  • 主な採用例: SFメカ
SF系創作界隈ではよく採用される、生物の有機脳神経系を模したり有機素材で作られた架空のCPU。
日本のアニヲタ界隈では露悪主義的な声の大きい者達のせいでR-TYPEⅡ鉄血ACなどの様に人間そのものを有機CPUに改造したり、
あるいはパイロットを人道的に扱わない事を皮肉・揶揄った物ばかりが取り沙汰されがちだが、
バイオコンピュータ有機ゲルパック回路など何ら人道的に問題の無い普通のCPUの有機版の物もそれなりに存在する点に注意。

余談だが、「脳神経系のような処理方法」で演算をしようとする『ニューロモーフィック(脳を模した)コンピューティング』は現在、現実の様々な研究機関によって研究が進められている。
また別のアプローチとして、人間の組織からiPS細胞を経由して脳細胞へ分化、これを増殖させた「培養脳」を直接電子回路に接続し、簡単な動作をさせることに成功したとも。
未だ有用性はそれほど明らかになってはいないし、しかもSFに登場するものとは異なるものの、なんともロマンのある話ではないか。


ゲーム用語としてのCPU

コンピュータゲームにおいて人間以外のプレイヤーがしばしばCPUと呼ばれる。
よくよく考えると意味不明な呼び方であるが、 ご覧の通り当wikiに限ってすら定着度は極めて高い
いつから使われ始めたのかは不明である。
というのも、大抵のゲームではコンピュータ担当は「COM」と表記されている事が多く、むしろCPUと表記されているゲームの方が珍しい
ざっくり例を挙げても、人生ゲーム・桃太郎電鉄・ドカポン等のボードゲームタイプはもちろんのこと、パワプロやボンバーマンなどなど操作担当を人間とコンピュータで任意に切り替える場合は高確率でCOMである。
一応、テトリス99などCPU表記のゲームが皆無というわけではないが……。
いずれにせよゲーム内の実際の表記に比べ、なぜか我々人間の方がCPU呼びしている事が多いのは興味深いと言えよう。

独自研究の域だが、どうも対人格闘ゲームでの一人プレイ(いわゆるアーケードモード)は「対CPU戦」と呼ばれる事がしばしばあり、
一回限りである対戦モードだと「対COM戦」が使われている傾向がある……気がする?

類語としては稀にシミュレーションゲームで使われる「AI」がある(コンピュータ側が担当するAI文明、AI帝国など)。


CPUと似て非なる者たち

マイクロコントローラ

最近電子工作界隈でよく聞く、PICだのAVRだのいうアレ。通称は「マイコン」。
一見すると単なるICチップだが、中身はコンピュータの構成要素をCPU筆頭に1チップにまとめた「ワンチップコンピュータ」。
CPU「も」含められた部品である。
マイコンに応じて、通信規格に対応していたりアナログ入力に対応していたりと色々違いがある。いやもう本当に色々ある。

システムオンチップ/SoC

ものすごく乱暴に言うと、上記のマイクロコントローラの超大規模・多機能・超高性能なバージョン。
「コンピュータをワンチップにまとめた」という点ではマイクロコントローラと似ているが、こちらは家電などの制御ではなくスマホやPC、ゲーム機などのガチのコンピュータ機器を作るためのものであり、それ相応の高性能。
有名どころでは最近のスマホによく使われるQualcomm製の「Snapdragon」やMediaTek製の「Dimensity」や「Helio」、Nintendo Switchに採用されたNVIDIA製の「Tegra」なんかがある。

プログラマブルロジックデバイス

これも(外見だけなら)CPUとよく似ているが、中身は全くの別物。
中の構造で”FPGA”と”CPLD”の大きく2種類が存在するが名称含めてFPGAがメジャー。専門で学習するレベルでなければ、とりあえず名前だけもっと言えばFPGAだけを覚えておく程度でよい。
ざっくり言うなら、CPUは「計算機」だけど、このFPGAというやつの中身は「論理回路の塊」である。論理回路って何なの?という人は置いとく方向で。
で、どう使うのかというと、回路をプログラムして様々な機能を持たせて使う、要するに「プログラマブル電子回路IC」とでも言うべきブツ。…こんなSFみたいな製品が、既に出回っている。
ただ、中身は割と単純だったりする。
プログラマブルといっても”HDL”という独特の言語を用いる。「プログラムなん? ならCとかできるしやれる!」とか思ってはいけない。
適当に始めたソフト屋はまず間違いなくIF文でエラーを起こす

これも用途はとにかく広い。
プログラマブルだから、というのもあるが既製品だと不要な機能があるので必要な機能だけ欲しいという場合に非常に重宝する。
もしこのようなカスタム品を設計から実際の品物にするまでのコストは大雑把に億円単位が最低単位と言わんばかりに大金が余裕で飛んでいく*5し、
大金が飛んでいくのだから大量に生産・販売するのが当たり前なためテスト生産やサンプル生産といった明確な目的が無い限り*6少数生産は前提にないのが半導体の世界である。
しかしFPGAであれば個人や小規模団体または企業でも手を出しやすいコストで作れ、1個単位といった小ロット制作もたやすいことが大きい。
またこの手のデバイスは当初は絶対性能に難があったが技術発展により余程世界一線級のCPU含めた品物を作るのでなければこれで間に合うようになり
最近では暗号資産のマイニング等にも使われているとか。

GPU

主にグラフィック処理用に搭載されているプロセッサ。
基本的な仕組みはCPUとほぼ同じだが、こちらはグラフィック用の計算に特化しており、簡単に言うと比較的単純な計算を高速かつ並行して行う能力が高い。「難しい計算の代わりに複数人が手分けしてひたすら色を塗る」といった感じ。
CPUの多くが数個の高性能なコアという構成に対し、GPUは数千以上という無数の小さなコアが一つのチップにみっちりと詰め込まれている。ハイエンドモデルだと時に1万コアを超える。
製造コストや消費電力という点ではGPUの方が高く付きやすいため、ゲーム等の用途でない場合はCPUの統合機能だけで間に合うパソコンも多い。
上に挙げた通りグラフィック処理に限らず他の使われ方もある。

000
Appending process... [ OK ]
Editing process... [ OK ]

Review by wiki-komori... [ COMPLETED ]



追記・修正は正常に実行されました。


この項目が面白かったなら……\ポチッと/

+ タグ編集
  • タグ:
  • CPU
  • 中央演算処理装置
  • プロセッサ
  • マイクロプロセッサ
  • 68000
  • 8080
  • 8086
  • x86
  • x64
  • SuperH
  • ARM
  • Z80
  • コンピュータ
  • 電子部品
  • 半導体
  • 生体CPU
  • スマホ
  • パソコン
  • アニヲタIT教室
  • 曖昧さ回避
  • 命令セット
  • CISC
  • RISC
  • PC
最終更新:2025年04月10日 15:03
添付ファイル

*1 もちろんそれだけではなく、クロックあたりの処理効率や開発時期など比較すべきものはたくさんあるのだが、本記事の趣旨を逸脱してしまうため自作パソコンの項目に譲る。

*2 ただ実際には、この通り速いわけではない。CPUはメモリやHDDなど、他の周辺機器と歩調を合わせて動かなきゃいけないため、それらが遅ければ、それに引っ張られて本来の性能を十分に活かせなくなるのだ。これが後述の、『ノイマン・ボトルネック』である。

*3 当時のAMDは自社工場を持つなど、Intel以外のCPUメーカーの中では規模が大きい部類だったが、それでもIntelの前では小物も同然だった。

*4 カリフォルニア州の州立大学。米国公立大学の屈指の有名校で多くの技術者・研究者を輩出している。シリコンバレーに近い土地柄もありビッグテックに就職する卒業生も多いことで知られる。

*5 生産にかかる料金はもちろんだが、設計に必要なソフトもとんでもなく高い。

*6 目的があっても非常に割高なのでやるとしても大抵は完成品といっても良い位のできばえになってからである。