web-dev-qa-db-ja.com

x86_64、i386、ia64および他のそのような専門用語は何を表していますか?

私は頻繁にこれらの用語に遭遇し、それらについて混乱しています。それらはプロセッサ、またはオペレーティングシステム、あるいはその両方に固有ですか?

buntu 12.04Intel i7マシンで実行されています。では、そのうちのどれが私の場合に当てはまるでしょうか?

16
hardcoder

これらはプロセッサ命令セット名です。

  • i386は、Intelが386プロセッサに最初に実装した32ビット命令セットの名前です。それは汚れの安いPCハードウェアのおかげで支配的になりました。
  • x86-64は、64ビットコードを実行できるようにするためにi386に追加されたAMD拡張機能の名前です。これはあなたが持っているものです。 i386との互換性が高く、i386プロセッサと同じ速度で32ビットプログラムを実行します。
  • ia64は、Itaniumプロセッサで使用される命令セットの名前です。誰も使用しなくなった他の64ビットアーキテクチャ。
19
Hans Passant

これらはCPU命令セットです。アプリインストーラーは、それらのサブセットにコンパイルされます。ここで最も大きな違いは、32ビット(i386)と64ビット(x86_64とia64)の違いです。 32ビットCPUで64ビット用のアプリを実行することはできませんが、逆に通常は可能です。

x86_64(AMD64)cpuは、デスクトップコンピューターの64ビットcpuに関して最も一般的な命令セットです。これは、x86(32ビット)命令でも正常に動作するCPUを搭載した数年前のAMDからのものです。

ia64(itanium)はIntel製です。 Itaniumは64ビットでのみ高速に動作し、現在でも業界で使用されています。 Intelは、業界で人気があるため、AMDからのx86_64命令を使用するようになりました。

インストーラーパッケージ名にキー「AMD」が存在する場合があり、これは64ビットIntelCPUに必要なものです。

i386はかなり古いです(Pentium時代、Pentium IIIにはi686があります)。 32ビットアーキテクチャ(デスクトップコンピュータ上)を決定するために、x86という用語も使用されます(エイリアス:IA-32、x86-32)。スマートフォンのARM)のような32/64ビットの他のアーキテクチャもあります。

他のCPU命令セットは、圧縮、ビデオコーディング/デコーディング、仮想化、ランダムジェネレーター、セキュリティなどをより高速かつ優れたものにすることができます。 Windows 8にはPAE、NX、SSE2が必要です(これらの一部はARM cpusに存在しないため、他のバージョンのWindows 8RTがあります)。

3

ハードウェアでは、x86_64は、32ビットと64ビットの両方のアプリケーションを問題なく実行できるタイプのプロセッサです。ia64は64ビットのみのアプリケーションを対象としているため、他のどのCPUよりも32ビットアプリケーションの実行速度が遅くなります。

ソフトウェア側に移ります。 Ubuntuについてはよくわかりませんが、通常、64ビットのWindows OSでは、3.3 GBを超えるメモリを使用できるほか、64ビットのハードウェアを使用してメモリをより適切にアドレス指定し、2GBを超えるプロセスを実行できるという利点があります。通常、32ビットでは、アプリケーションが2GBの制限に達すると、アプリケーションからOutOfMemoryエラーが発生します。

完全な記事については、以下を参照してください: http://en.wikipedia.org/wiki/64-bit_computing

0
Schalk