
Может ли кто-нибудь объяснить, есть ли разница между архитектурами intel64 и amd64?
решение1
Из того, что я прочитал, расширенная 64-битная технология памяти (EM64T) — это реализация AMD64 от AMD компанией Intel, а различия между Intel64 и AMD64 следующие:
Инструкции BSF и BSR EM64T действуют по-разному, когда источник равен 0, а размер операнда равен 32 битам. Процессор устанавливает нулевой флаг и оставляет верхние 32 бита назначения неопределенными.
AMD64 поддерживает инструкции 3DNow!. Это включает предварительную выборку с кодом операции 0x0F 0x0D и PREFETCHW, которые полезны для сокрытия задержки памяти.
В EM64T отсутствует возможность сохранения и восстановления сокращенной (и, следовательно, более быстрой) версии состояния с плавающей точкой (включая инструкции FXSAVE и FXRSTOR).
В EM64T отсутствуют некоторые регистры, специфичные для модели, которые считаются архитектурными для AMD64. К ним относятся SYSCFG, TOP_MEM и TOP_MEM2.
EM64T поддерживает обновление микрокода в 32-битном режиме, тогда как процессоры AMD64 используют другой формат обновления микрокода и управляют MSR.
Инструкция CPUID процессора EM64T сильно зависит от производителя, что является обычным явлением для процессоров архитектуры x86.
EM64T поддерживает инструкции MONITOR и MWAIT, используемые операционными системами для лучшей работы с Hyper-Threading.
Системы AMD64 позволяют использовать апертуру AGP в качестве IO-MMU. Операционные системы могут воспользоваться этим, чтобы позволить обычным устройствам PCI осуществлять DMA к памяти свыше 4 ГиБ. Системы EM64T требуют использования буферов отскока, которые работают медленнее.
SYSCALL и SYSRET также поддерживаются только в режиме IA-32e (не в режиме совместимости) на EM64T. SYSENTER и SYSEXIT поддерживаются в обоих режимах.
Ближние ветви с префиксом 0×66 (размер операнда) ведут себя по-разному. Один тип ЦП очищает только верхние 32 бита, а другой — верхние 48 бит.
решение2
ВСтраница Википедии x86ты можешь читать
В 1999-2003 годах AMD расширила эту 32-битную архитектуру до 64 бит и называла ее x86-64 в ранних документах, а позже AMD64. Вскоре Intel приняла архитектурные расширения AMD под названием IA-32e, которое позже было переименовано в EM64T и, наконец, в Intel 64.
Другими словами, отличительной чертой является в основном маркетинг. Существуют специфические расширения набора инструкций Intel и AMD, но пока вы пишете программы в пользовательском пространстве, вам, как правило, не нужно знать разницу.