はじめに
コンピュータアーキテクチャを勉強しようと思っているのですが,ちょくちょく聞くARMやx86,RISC-Vなどが全体的にどういった立ち位置なのかみたいなのがわからなかったので調べた結果を簡単にまとめてみました.
全体図
全体的な見取り図としては以下の通り.
CISC(Complex Instruction Set Computer)
└── x86,x86-64(x64またはamd64と呼ばれることも)
└── Intel社
└── Xeon、Core、Pentium、Celeronなど
└── AMD社
└── Ryzen、Athlon、Optelonなど
RISC(Reduced Instruction Set Computer)
└── arm
└── ARM社
└── ARMv7(32bit)
└── ARMv8
└── AArch32(32bit)(LinuxではAArch32をarmと表記)
└── AArch64(64bit)(LinuxではAArch64をarm64と表記)
└── RISC-V
└── カリフォルニア大学バークレー校
命令セットアーキテクチャ
- CPUの命令セットアーキテクチャの種類は大きく分けてCISCとRISCの2種類
- RISCは命令体系が簡単なアーキテクチャで,CISCは命令体型が複雑なCPUアーキテクチャ
CISC
32bitと64bit
- CISCには32bitのx86と,x86を64bitに拡張させたx86-64(x64またはamd64と呼ばれることも)という二つのCPUアーキテクチャがある
- 今のx86は大体が64bitだが,32bit用のアプリケーションにも対応しているものがほとんど
x86のアーキテクチャを採用している企業
- x86のアーキテクチャを採用している企業には有名どころとしてはIntel社とAMD社がある
x86の有名な商品名
- Intel社が製造しているx86のCPUはXeon、Coreなどの商品名が有名
- AMD社が製造しているx86のCPUはRyzenなどの商品名が有名
RISC
- RISCにはarmとRISC-Vの2種類がある
arm
- armはARM社がライセンス権を持っているので,armのアーキテクチャを採用するCPUを作る場合はARM社にライセンス料を支払う必要がある
- armにはバージョンがあり,前のバージョンはARMv7(32bit),今のバージョンはARMv8でこちらはAArch32(32bit)とAArch64(64bit)の2種類がある
- LinuxではAArch32のアーキテクチャをarmと表記し,AArch64をarm64と表記している
RISC-V
- 最近になってカリフォルニア大学バークレー校が開発したRISC-Vというアーキテクチャが出現し,こちらはarmと違ってライセンス料を支払う必要がないので,armからRISC-Vに企業が徐々に移るのではないかと一部では言われている
x86 vs arm
- PCではほとんどx86が使われているが,PC以外のIoTやルータ,家電などではarmがよく使われている
- また,スマホもほぼarmが使われている
最後に
頭の中で用語がごっちゃになっていたのはCPUアーキテクチャの用語の中にも色々な階層があったからなんですね.今回整理してみて頭がスッキリしました.
参考