昨日書いた記事「私がOSやアプリケーションがインフラ化してきたと感じる理由」の"具体例"でCPU(プロセッサ)のアーキテクチャについて触れたので補足したいと思います。
base on 私がOSやアプリケーションがインフラ化してきたと感じる理由
- 2.OSのマルチプラットフォーム化
- OSが特定のハードウェアではなく、様々なデバイスでの動作をサポートするようになってきています。
- プラットフォームが異るハードウェアでも同じOSが動く時代になってきました。
【異なるアーキテクチャのハードウェアでも同じOSが使える環境が整ってきた】- 3.アプリケーションのマルチプラットフォーム化
- アプリケーションも特定のハードウェア・OSに限定されず、複数のデバイスでの動作を前提に開発されるようになってきています。
【アプリケーションが異なるOS上で動き、作成されるファイルには互換性がある】
なお、CPUのアーキテクチャとは大まかにはプロセッサの設計に該当します。
base on http://e-words.jp/w/アーキテクチャ.html
マイクロプロセッサ(CPU/MPU)の分野では、プロセッサに指示を与えるための命令の体系を定義した「命令セットアーキテクチャ」と、プロセッサ内部をどのような構造や構成にするかを表した「マイクロアーキテクチャ」の二つのアーキテクチャが定義される。
目次
主な命令セットアーキテクチャ
- CISC
- RISC
- EPIC
※一世を風靡した省エネ設計CPU:Crusoe採用の"VLIW"は除外しています
実際の製品群
CPU(プロセッサ)も他部品と同様に統合・淘汰され、現在主要な製品をアーキテクチャ別にまとめると以下のようになります。
- CISC
- Intel, AMD ...
- x86 / IA-32
- x86_64 / amd64
- Intel, AMD ...
- RISC
- ARM
(自社ではSoC自体の販売を行わず、設計データをライセンス販売している)- ARM / AArch32
- AArch64 / ARM64
- Apple, IBM, Motorola ...
- POWER / PowerPC
- Power Systems
- AIX
- POWER / PowerPC
- Oracle
(旧 Sun Microsystems)- SPARC / SPARC64
- SPARC series
- SPARC / SPARC64
- ARM
- EPIC
- Intel
- IA-64 / Itanium
- Intel
上記で、一般的にPCとして出回っているものは、以下の2種類です。
- PC向け、Intel, AMD製CPU
- x86 / IA-32
- x86_64 / amd64
- スマホ・タブレット・Chromebook向けSoC
- x86_64 / amd64
- ARM / AArch32
- AArch64 / ARM64
上記のうち、斜体で表現した2つについては新規で製品化されることは無い、と判断しました。
つまり、実質的に以下の2つに絞られます。
- x86_64 / amd64
- AArch64 / ARM64
総括
プロセッサのアーキテクチャが絞られることで開発リソースを効果的・集中的に投入できるようになったことも、マルチプラットフォームを実現しやすくなった要因と言えるのではないでしょうか。