From e2185b7733f55709666d1f4f8a59adcf0eed4506 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Wed, 4 May 2022 17:12:14 +0300 Subject: [PATCH] amd64, x86_64, x64, intel64 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit https://en.wikipedia.org/wiki/X86-64 https://sourceware.org/binutils/docs/as/i386_002dISA.html Ужасно бесит что буквально за пять минут можно встретить в разном софте разные названия 64-бит x86 архитектуры. Лично для меня amd64 это то что я пишу и в BSD встречаю. x86_64 это так в GNU/Linux мире принято (просто создаётся впечатление). А x64... это нечто яростно выбешивающее меня. Intel64 не встречал прежде, до чтения статьи на Wikipedia. Оказывается... AMD64 и Intel64 вполне себе разные ISA! Судя по Wikipedia, всякие штуки типа: не отличающегося на практике (хотя это и undefined behaviour) значения, формата микрокода, ограничения вне 32-бит режима -- выглядят как не существенными на практике для пользователя. Но другие отличия вроде бы выглядят кардинально и серьёзно. Что же получается? Что на самом деле нет одного amd64 (пускай и с расширениями, типа AVX)? Есть действительно разные наборы команд и поведения для AMD и Intel процессоров? Почему же я не встречаю intel64, а только amd64? Или программистам приходится жутко страдать и делать CPU detection и удовлетворять оба этих процессора? Или это как-раз то самое: мы работаем на AMD64, но поддерживаем чётко-заданный-список-CPU? Звучит всё страшно пугающе несовместимо. А ещё, бывает, находятся особо умные, кто пишет "IA64", где-то, видимо, предварительно увидев "IA32". Вот только IA64 это Itanium и совершенно другая и несовместимая штука. -- 2.48.1