登録日: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の性能としてクロックやコア・スレッド数が書かれているのを見かけることが多い。
性能だけ見るならこれらはいずれも小さいより大きい方がいいのだが、その意味を知っておくことでPCやスマホの商品選びをうまくできるようになるだろう。
CPUの動作回数。「1秒あたりに何回の計算ができるか」をあらわす。
「クロック」で察しが付くと思うが、CPUには
時計と同じく、電気を流すことで振動する「クォーツ(水晶)」が封入されている。
CPUはこの水晶が出す振動によって動作するため、その動きは水晶が出す「カチ、カチ、カチ……」という一定のテンポに合わせたものとなる。
というか水晶が出す振動より早く動かすことも遅く動かすこともできない。
このテンポが速ければ早いほどCPUの処理速度も速くなる、
というわけだ。これを現した数字がクロック数である。
単純に処理の速さの指標であるため、速ければ速いほど……数字が大きいほど素早く作業を終わらせることができると考えていい。
たとえば、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
インテルが開発した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の後追い……というより安さだけが取り柄の小規模メーカーでしかなく、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
米カリフォルニア大学バークレー校のクリステ・アサノヴィッチ教授らによって開発されたRISC系アーキテクチャ。
学校で生まれたこともあってかオープンソースとして公開されている。ARMと違って使用料も払う必要が無いことが注目されており、ライセンス費用を節約したい・より自由な設計をしたい企業が中心になって、こちらにも研究開発・投資することが増加中。
個人でも開発できるので、これでCPUも自作できるのでは?と考える人も出てきている。
現状は組み込み機器が中心だが、Qualcommやintelが意欲的な姿勢を見せているので将来的にはスマートフォンやパソコン等でも採用例が増えるかも?
GPGPU
厳密にはアーキテクチャとは言いづらいものの、下記の理由により無視できない存在となっているためこちらに記載する。
GPGPUとは、簡単に言えばグラフィックスプロセッサー(GPU)をCPU代わりとして使おう、というもの。
通常のCPUとの違いとして、通常のCPUはオールラウンダータイプで個々の能力は平均〜今一だが苦手が無いのが強みなのに対し、
GPUはできないことはからっきし駄目だが、限られたできることであればCPUを遥かに超える性能を持つという特化型タイプなのである。
この特性が注目され、単なる画面表示用チップ以外の用途も考え出されたのである。
また重たい画面処理をやっていないときはGPUが遊んでいる時間となってしまいもったいないので、GPUの空き時間活用という面もあった。
構想や実装自体は2000年代前半頃からあって研究が続けられてきたが、本格的に知られるようになったのは2010年代末頃に始まった仮想通貨ブームおよびAIブームだろう。
とにかくこれらの処理についてはGPUの独壇場かつ様々な活用方法が見出されてきたことで競争も非常に激しいため、ハードウェアはもちろん、制御するためのソフトウェア開発部分でも競争の激しい分野である。
グラフィックボードがとんでもなく高くなった、最大の理由がこれ。
生体・有機CPU
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文でエラーを起こす。
これも用途はとにかく広い。
プログラマブルだから、というのもあるが既製品だと不要な機能があるので必要な機能だけ欲しいという場合に非常に重宝する。
もしこのようなカスタム品を設計から実際の品物にするまでのコストは大雑把に億円単位が最低単位と言わんばかりに大金が余裕で飛んでいくし、
大金が飛んでいくのだから大量に生産・販売するのが当たり前なためテスト生産やサンプル生産といった明確な目的が無い限り少数生産は前提にないのが半導体の世界である。
しかしFPGAであれば個人や小規模団体または企業でも手を出しやすいコストで作れ、1個単位といった小ロット制作もたやすいことが大きい。
またこの手のデバイスは当初は絶対性能に難があったが技術発展により余程世界一線級のCPU含めた品物を作るのでなければこれで間に合うようになり
最近では暗号資産のマイニング等にも使われているとか。
GPU
主にグラフィック処理用に搭載されているプロセッサ。
基本的な仕組みはCPUとほぼ同じだが、こちらはグラフィック用の計算に特化しており、簡単に言うと比較的単純な計算を高速かつ並行して行う能力が高い。「難しい計算の代わりに複数人が手分けしてひたすら色を塗る」といった感じ。
CPUの多くが数個の高性能なコアという構成に対し、GPUは
数千以上という無数の小さなコアが一つのチップにみっちりと詰め込まれている。ハイエンドモデルだと時に1万コアを超える。
製造コストや消費電力という点ではGPUの方が高く付きやすいため、
ゲーム等の用途でない場合はCPUの統合機能だけで間に合う
パソコンも多い。
上に挙げた通りグラフィック処理に限らず他の使われ方もある。
000 |
Appending process... [ OK ] Editing process... [ OK ]
Review by wiki-komori... [ COMPLETED ]
追記・修正は正常に実行されました。
|
- おい、その解釈はwww -- 名無しさん (2020-12-05 22:06:27)
- 複数の会社の商品について取り扱っているので一覧項目相当では? -- 名無しさん (2020-12-05 22:12:19)
- もっとアニヲタwikiらしいネタを増やして一覧要素を薄くすれば良いんじゃね? -- 名無しさん (2020-12-05 22:29:00)
- しれっと混ざる生体CPUにワロタ -- 名無しさん (2020-12-05 22:45:48)
- >複数シリーズ・複数企業・複数ジャンルに跨がるような、分類分けやその例示をメインとした項目 別にこの項目は『CPUの一覧をリストアップする』のが目的じゃなく項目の半分は『CPUとは何ぞや』に費やしてるんだから一覧項目ではなくね? -- 名無しさん (2020-12-05 23:38:58)
- 逆に言うと半分がリストアップって事だし -- 名無しさん (2020-12-06 05:15:43)
- ↑一覧取っ払ったときの文字数が2000超えてるんですけど…… -- 名無しさん (2020-12-06 09:17:35)
- ↑少なくとも、項目の半分をリストが埋めている現状では、除外規定の「対象の説明を項目内容のメインとしてその中で少し例を挙げる」に誰の目から見ても相当するとはとても言えないのでは? -- 名無しさん (2020-12-06 09:28:50)
- ↑じゃあリスト消す? -- 名無しさん (2020-12-06 09:34:04)
- 仮にリストを消しても記事として成立してるなら問題ないはず リスト含めて消す必要ないと思う -- 名無しさん (2020-12-06 11:51:52)
- というかリスト消しても記事として成立するなら別にリスト残してても問題ないのでは? -- 名無しさん (2020-12-06 12:14:41)
- まぁあくまで「要相談」なだけで、事後承諾アリだから、「問題なし」が多数派なら存続でOKかな。 -- 名無しさん (2020-12-06 12:16:10)
- ただ、一応結論出るまで1週間は項目名このままにしておきたい。 -- 名無しさん (2020-12-06 12:16:43)
- ハードSF系ロボットもの、とりあえず人間の脳をコンピューターに使用しがち -- 名無しさん (2020-12-06 14:26:20)
- ↑「脳だけで乗る」タイプと、「制御装置に脳が組み込まれてる(パイロットは別に必要)」とでは意味が違うと思う。この項目でいうCPUは後者で、フロントミッションの「B型デバイス」やオルフェンズの「阿頼耶識type-E」とかぐらいじゃないか? -- 名無しさん (2020-12-07 00:47:35)
- まぁ流石に問題なしで終わるしょ。ちょっと言いがかりに近いし -- 名無しさん (2020-12-07 01:21:27)
- SEEDの生体CPUは「人間としての運用はしていない」という意味でCPU扱いされてる(強化)人間だから、『大本営「これは無人機です」』みたいな話になってきて色々ややこしくなるタイプの予感。まあ本人達一応軍籍与えられてたらしいけど -- 名無しさん (2020-12-07 14:33:31)
- 特に反対意見も無いようですが、一応このまま一週間という意見があったので、明日項目名を戻したいと思います。 -- 名無しさん (2020-12-11 10:30:50)
- ノイマン・ボトルネックについて追記しました。もし場違いだったらごめんなさい^^; -- 名無しさん (2021-08-17 14:11:36)
- 最近はHelioじゃなくてDimensityだな。 -- 名無しさん (2021-11-01 16:27:18)
- ビット数のところだけど、Win95世代は32ビット。95の最低動作環境が486SXで386以降が32ビット -- 名無しさん (2024-06-13 20:33:58)
- 16ビット→32ビットの時の互換性は不安定だったのに32ビット→64ビットの互換性は安定してるなと思ったらそういう事情だったのか。 -- 名無しさん (2024-08-03 12:19:50)
- 建て主はもしかして、Ryzen派の可能性が微レ存……? -- 名無しさん (2025-04-10 08:52:57)
最終更新:2025年04月10日 15:03