web-dev-qa-db-ja.com

64ビットバージョンがAMD64と呼ばれ、32ビットバージョンがi386と呼ばれるのはなぜですか?

私はこれを理解したことがありません。

これは私が知っていることです:2GB以上のRAMを処理したい場合は64ビットOS。それ以外の場合は、32ビットOS。

したがって、Ubuntuのホームページでは、64ビットまたは32ビットのいずれかをダウンロードできます。ただし、64ビットはAMD64と呼ばれ、32ビットはi386と呼ばれます。

だから私はAMD64を実行するためにAMDプロセッサを持っている必要がありますか?そして、i386を実行するためのIntel?

そして、誰かがソフトウェアをコーディングした場合(Apacheとしましょう)。彼は1つの32ビットと1つの64ビットをコーディングする必要がありますか?一部のソフトウェアは32にのみ存在し、64には存在しませんか?その逆もありますか?

前もって感謝します!

14
ajsie

AMDが64ビット命令拡張を開発したため、64ビットバージョンは通常「AMD64」と呼ばれます。 (AMDは、IntelがItaniumに取り組んでいる間、x86アーキテクチャを64ビットに拡張しましたが、Intelは後で同じ命令を採用しました。)

Intelがこれらのチップで使用される32ビット命令セットを作成したため、32ビットバージョンはi386と呼ばれます。

64ビットバージョンは、事実上すべての64ビット対応のx86互換チップで実行でき、32ビットバージョンは、最新のx86互換チップで実行できます。

ソフトウェアの記述方法によっては、64ビットに書き換える必要がある場合とない場合があります。 (通常、コンパイルされたソフトウェアは変更が必要ですが、すべての解釈されたソフトウェア(たとえば、PythonまたはPerl)が変更を必要とするわけではありません。)

24
Jon Lasser

数分前の 同様の質問 への回答で名前の由来を説明しました。

4
coneslayer

AMDは64ビットのISAを使用して発売されたため、AMD64と呼ばれています。 Intelには独自のバージョンEM64Tがあり、ほとんど互換性があります。同様に、Intelは最初に32ビットのISAをi80386、または略してi386に搭載していました。 AMDはずっと前に彼らからそれを認可しました。