haraduka's diary

やる気が欲しい

CPUアーキテクチャ

x86_64とかamd64とかaarch64とか色々聞いて頭がおかしくなりそうなのでまとめる。あっているかは知らん。

CPUアーキテクチャの種類

これはハードウェア全体の、ユーザーから見たインターフェイスのこと。データ型だとか命令セットだとかそういう話。いわゆるアーキテクチャと呼ばれる部分。
例えばx86とかamd64とかIA-32とかがこれに当てはまる。x86というのは、初期のintelプロセッサの名前が80286,80386,386と続いたことから80x86 -> x86へとなった。そしてx86の64bit拡張としてx86_64(x64)が生まれた。これにはAMD社が発表したamd64、inteleが発表したEM64Tなどを含む。x86IA-32というのはx86とほぼ同義であるが、x86amdなど他社の互換性のあるプロセッサなども含めた総称であるのに対して、intelのオリジナルだけを指すことが多い。IA-64はもはや全く互換性はなく限定的な要素でしか使われてない。

これは命令セットアーキテクチャよりさらに下位の各マイクロプロセッサの実装に関する部分のこと。パイプライン処理だとかキャッシュだとかそこら辺。例えばIA-32intelアーキテクチャとかCoreアーキテクチャとか。より具体的には、intel core iシリーズの第4世代であるHaswellとかそういうこと。

これは他のコンピュータのハードウェア全般に関する部分。

これは命令セットアーキテクチャの一つ、つまりx86とかと対比するものですが、別に書いてみました。x86CISCなのに対して、ARMはRISCを採用しています。x86は高性能、ARMは安価で低消費電力、なのです。今まではPC市場ではIntelが独占してきましが、今後は組み込み系で活躍してきたARMの進出も期待できるそうです。実際最近のスマホとかタブレットはarm多いですし。ちなみに、arm64とaarch64というのがありますが、元々別々だったのですが、ひとつの公式なものにマージされてaarch64になるそうですね。