X64とは?
CPUアーキテクチャについて知らなくても、32ビットや64ビットという言葉は聞いたことがあるでしょう。ファイルエクスプローラーを開き、「このPC」のアイコンを右クリックして「プロパティ」を選択すると、「システムの種類」が表示されます。大抵の場合、OSが32ビットか64ビットかを表示しています。
32ビットと64ビットのどちらをインストールできるかは、CPUの種類によります。CPUがx86アーキテクチャであれば32ビットのシステムとソフトウェアに、x64アーキテクチャであれば64ビットのシステムとソフトウェアに対応します。
X64はx86-64とも呼ばれ、x86をベースにした64ビット拡張CPU ISA(命令セットアーキテクチャ)を指します。32ビットのx86アーキテクチャや、それより古い16ビットのx86アーキテクチャとの後方互換性があります。
x64 CPUは64ビットCPUとも呼ばれ、CPU内部の汎用レジスタの幅が64ビットであり、整数の64ビット幅の算術や論理演算をCPUが担っていることを意味します。
上記の名称に加えて、x86_64、AMD64、Intel64などとも呼ばれます。32ビットのx86アーキテクチャにも、i386という別名があります。
ARM64とは?
ARMは、Advanced RISC(Reduced Instruction Set Computer)Machineの略で、多くの組み込みシステムデザインで広く使用されているCPUアーキテクチャです。RISCは、タスクを実行するためにコンピューターに与えられる個々の命令を単純化するCPU設計モードです。
RISCコンピューターでは、個々の命令がより単純なコードで記述されているため、タスクを実行するにはさらに多くの命令(コード)が必要になるかもしれません。とはいえ、命令がシンプルなので、命令パイプラインの実装が容易です。各命令の速度を上げることで、より多くの命令を処理する必要性を相殺することが可能です。
ARMアーキテクチャには、低コスト、高性能、省電力など多くの利点があります。そのため、ARMアーキテクチャはモバイル通信分野で広く使われています。
2011年にリリースされたARMv8-Aアーキテクチャには、64ビット空間と64ビット算術演算のサポートが追加されています。
ARM64とx64の比較
x64 CPUは高速でパワフルですが、電力を大量消費するので、主にノートパソコンに使われます。ARM CPUは弱く低電力のプロセッサなので、スマートフォンなどのモバイルデバイスに向いています。
この2つのプロセッサアーキテクチャは互いに排他的なので、x86/x64向けのプログラムはどのような状況でもARM上では動作しません。その逆も同様です。
最後に
ARM64とx64の違いについて他に何かご存じでしたら、コメント欄にお寄せ下さい。よろしくお願いします。