ARMとx86/x64の違い
ARMとx86/x64の違いをまとめると、以下のようになります。
プロセッサーの アーキテクチャーの種類 |
ARM | x86/x64 |
---|---|---|
アーキテクチャーの 開発会社 |
ARM | インテル、AMD |
プロセッサーの 製造会社 |
インテル、フリースケール、 ルネサス テクノロジなどが ライセンス供与 |
インテル、AMD |
命令セットの アーキテクチャー |
RISC | CISC |
主に使われている用途 | スマートフォン、タブレット | パソコン、PCサーバー |
32ビット/64ビット | 両方あり | x86が32ビット x64が64ビット |
エンディアン | バイエンディアン | リトルエンディアン |
それぞれのポイントを見てみましょう。
ARMとx86/x64
x86とは
x86はインテルの32ビットアーキテクチャーのことです。
x86の読み方は、エックスハチロクです。
インテルの初期のプロセッサの型番が「8086」「80186」「80286」「80386」「80486」と続いたため、総称して「80×86」、更に型番の下2桁が共通するところから、x86や86系などと呼ばれるようになりました。
x64とは
x64はインテルの64ビットアーキテクチャーのことです。
x64の読み方は、エックスロクヨンです。
x64またはx86-64は、x86アーキテクチャを64ビットに拡張した命令セットアーキテクチャで、AMDがx86-64の名前で仕様を発表したものが元になっています。
インテルは、AMDのx86とは別にIA-64の名前で64ビット命令セットアーキテクチャを開発・展開していたのですが、AMDのx64の方が普及したために、これに互換のある命令セットを実装しました。
IA-64は、現在はほとんど使われていません。
ARMとは
ARMは省電力に強く組込みでよく使われる32ビット/64ビットアーキテクチャーです。
ARMの読み方は、アームです。
ARMアーキテクチャーを開発したARMホールディングスは、現在はソフトバンクの傘下となっています。
ARMはスマホ、タブレット、HDD、SSD、家庭用ゲーム機で圧倒的なシェアを持っています。
CISC(x86/x64、メインフレーム) とRISC (ARM、UNIXワークステーション向け)
CISCとは
CISCは、Complex Instruction Set Computerの略で、読み方はシスクです。
単純なものから複雑な命令まで種類を増やしていて、1命令で色々できるCPUです。
x86互換プロセッサ、古くに設計されたミニコンピュータやメインフレームもCISCに分類されるほか、モトローラ社のMC 680×0 (68K) 系プロセッサもCISCです。
命令語長が可変長であるため、ある一つの命令のデコードが終わらなければ次の命令の語の位置が判らず、複数の命令を同時にデコードするのが困難と言われています。
RISCとは
RISCは、Reduced Instruction Set Computerの略で、読み方はリスクです。
単純な命令のみに絞ったCPUです。単純な命令なので処理の高速化が期待できます。
命令セットを簡潔にし、回路を単純にすることで、クロックサイクルを短縮して全体としての、演算の高速化を図るアーキテクチャです。
ARMアーキテクチャー、IBMのPowerPC、サンのSPARC、HPのPA-RISCがRISCプロセッサに分類されます。
ビッグエンディアンとリトルエンディアン
エンディアン (endianness) は、複数のバイトなどを並べる順序の種類のことです。
十六進法で表現すると 1234ABCD という1ワードが4バイトのデータがあったとします。
ビッグエンディアンでは、バイト毎に上位側から「12 34 AB CD」のように並べます。
リトルエンディアンでは、バイト毎に下位側から「CD AB 34 12」のように並べます。
その他に「34 12 CD AB」あるいは「AB CD 12 34」のように並べる方式もあり、ミドルエンディアンと呼ばれます。
IBMのメインフレーム、モトローラのMC68000、サン・マイクロシステムズのSPARC等はビッグエンディアンを採用しています。
DECのVAX、インテルのx86、x64等はリトルエンディアンを採用しています。
ARMアーキテクチャ、PowerPCなどは、エンディアンを切り替えられるため、バイエンディアン (bi-endian) と呼ばれます。
コメント