Mein Prozessor ist 64-Bit - bedeutet das, dass ich das amd64-Image benötige?

65

Mein Prozessor ist ein Intel Core 2 Duo P8600 (2,40 GHz). Soweit ich weiß, handelt es sich um einen 64-Bit-Prozessor. Ich bin etwas verwirrt, da die Architektur als AMD 64 bezeichnet wird. Ist dies ein generischer Name für 64-Bit-Architekturen? Ich habe von x64 gehört, kann aber keine Veröffentlichung mit diesem Label sehen.

Ross
quelle

Antworten:

84

X64, amd64 und x86-64 sind Namen für denselben Prozessortyp. Es wird oft als amd64 bezeichnet, weil AMD es ursprünglich erfunden hat. Alle aktuellen öffentlich zugänglichen 64-Bit-Desktops und -Server verfügen über einen amd64-Prozessor.

Es gibt einen Prozessortyp namens IA-64 oder Itanium . Es ist nur in Supercomputern und einigen High-End-Servern zu finden.

Auf einem 64-Bit-Prozessor kann ein 32-Bit-System ausgeführt werden. Sie haben daher die Wahl, die amd64-Version oder die i386-Version zu installieren. Hier einige Vergleichspunkte:

  • Vor ein paar Jahren hatten einige Programme Fehler, als sie für 64-Bit-Prozessoren kompiliert wurden, aber das ist größtenteils Vergangenheit.

  • Sie können 32-Bit-Programme auf einem 64-Bit-System ausführen. Das Gegenteil ist nicht wahr.

  • Ein 32-Bit-Kernel kann auf mehr als 4 GB RAM zugreifen. Daher ist es kein zwingender Grund, einen 64-Bit-Kernel auszuführen, wenn mehr als 4 GB RAM vorhanden sind. Andererseits kann ein 32-Bit-Programm nur auf weniger als 3 GB Speicher zugreifen.

  • Welches schneller ist, hängt von der Anwendung ab (die Zahlenverarbeitung kann im 64-Bit-Modus mehr als doppelt so schnell sein, während die symbolische Manipulation mehr als doppelt so langsam sein kann).

Verwenden Sie auf einem amd64-fähigen Prozessor im Zweifelsfall eine amd64-Distribution.

Gilles
quelle
2
Ein 32-Bit-Kernel -> Ein 64-Bit-Kernel @Gilles! ;)
Jelly
1
@Jelly Ich verstehe deinen Kommentar nicht. Haben Sie einen Tippfehler gemeldet? Das einzige Vorkommen von "32-Bit-Kernel" in meiner Antwort ist korrekt. (Natürlich ist der Satz auch für einen 64-Bit-Kernel korrekt, aber das ist nicht interessant.)
Gilles
1
@Jelly PAE- Kernel (der den Standardkernel seit 12.04 enthält ) können auf bis zu 64 GB zugreifen.
Gilles
3
@Jelly Nein, sie heißen 32-Bit, weil virtuelle Adressen 32-Bit haben. Physische Adressen (die nur an einigen Stellen im Kernel intern verwendet werden) verwenden 64 Bit. Sie können es einen "32-Bit-Kernel mit 64-Bit-Adressen" nennen, aber keinesfalls einen "36-Bit" - oder "64-Bit-Kernel" - das würde bedeuten, dass Zeiger (dh virtuelle Adressen) 36 oder 64 verwenden Bits. Das Limit auf 2 ^ 36 hängt nicht von der Anzahl der Bits in Zeigern ab, sondern von der Anzahl der Bits, die von MMU-Deskriptoren und auf einigen Bussen überspannt werden. Diese haben keinen Grund, Potenzen von 2 zu sein.
Gilles
1
@gihanchanuka Nein. Das würde nicht einmal Sinn ergeben. Der Punkt hier ist, dass ein 32-Bit-Kernel auf mehr als 4 GB RAM zugreifen kann.
Gilles
17

Sie können sowohl x86- als auch amd64-Images verwenden. Und ja, der ursprüngliche generische Name für die Architektur war amd64, weil er von AMD entwickelt wurde. Wie auch immer, heute ist in der Regel als x86-64 oder sogar x64 bekannt.

Javier Rivera
quelle
15

Intel hat den AMD64-Befehlssatz für seine Nicht-Itanium-64-Bit-CPUs lizenziert. Dann ist AMD64 ein generischer Name für die 64-Bit-x86-Architektur.

Natürlich kann Ihre CPU auch 32-Bit-x86-Kernel ausführen - dies wird jedoch nicht empfohlen, da Sie alle Vorteile der x86-64-Architektur (hauptsächlich größerer Adressraum und mehr Register) verlieren.

maxschlepzig
quelle