Was ist der Unterschied zwischen Intel 64 und AMD64?

Kann jemand erklären, ob es einen Unterschied zwischen den intel64-und amd64-Architekturen gibt?

Author: Hennes, 2012-01-29

2 answers

Von dem, was ich gelesen habe extended Memory 64-Bit-Technologie (EM64T) ist Intels Implementierung AMD64 und die Unterschiede zwischen Intel64 und AMD64 sind:

  • Die BSF-und BSR-Anweisungen von EM64T verhalten sich anders, wenn die Quelle 0 und die Operandengröße 32 Bit beträgt. Der Prozessor setzt die null-Flag und lässt die oberen 32 Bits des Ziels undefiniert.

  • AMD64 unterstützt 3DNow! Anweisung. Dies beinhaltet Prefetch mit dem Opcode 0x0F 0x0D und PREFETCHW, die zum Ausblenden der Speicherlatenz nützlich sind.

  • EM64T fehlt die Möglichkeit, eine reduzierte (und damit schnellere) Version des Gleitkommazustands zu speichern und wiederherzustellen (einschließlich der FXSAVE-und FXRSTOR-Anweisungen).

  • EM64T fehlen einige modellspezifische Register, die für AMD64 als architektonisch gelten. Dazu gehören SYSCFG, TOP_MEM, und TOP_MEM2.

  • EM64T unterstützt Mikrocode-Update wie im 32-Bit-Modus, während AMD64-Prozessoren eine andere microcode update format und kontrolle MSRs.

  • Die CPUID-Anweisung von EM64T ist sehr herstellerspezifisch, wie dies bei Prozessoren im x86-Stil normal ist.

  • EM64T unterstützt die MONITOR-und MWAIT-Anweisungen, die von Betriebssystemen verwendet werden, um besser mit Hyper-Threading umzugehen.

  • AMD64-Systeme ermöglichen die Verwendung der AGP-Blende als IO-MMU. Betriebssysteme können dies nutzen, um normale PCI-Geräte DMA in den Speicher über 4 GiB zu lassen. EM64T-Systeme erfordern die Verwendung von bounce-Puffer, die langsamer sind.

  • SYSCALL und SYSRET werden auch nur im IA-32e-Modus (nicht im Kompatibilitätsmodus) auf EM64T unterstützt. SYSENTER und SYSEXIT werden in beiden Modi unterstützt.

  • Nahe Zweige mit dem Präfix 0×66 (Operandengröße) verhalten sich anders. Ein CPU-Typ löscht nur die oberen 32 Bits, während der andere Typ die oberen 48 Bits löscht.

 28
Author: Mayhem,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-03-05 15:19:21

Auf der x86-Seite von von Wikipedia können Sie

In 1999-2003 erweiterte AMD diese 32-Bit-Architektur auf 64 Bit und bezeichnet es als x86-64 in frühen Dokumenten und später als AMD64. Intel bald übernahm AMD architektonische Erweiterungen unter dem Namen IA-32e die später umbenannt wurde EM64T und schließlich Intel 64.

Mit anderen Worten, das Unterscheidungsmerkmal ist hauptsächlich Marketing. Es gibt Intel - und AMD-spezifische Erweiterungen für den Befehlssatz, aber solange Sie wenn Sie Programme im Benutzerbereich schreiben, müssen Sie den Unterschied im Allgemeinen nicht kennen.

 8
Author: Joachim Isaksson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-01-29 17:37:09