Файл amd64 что это
Вашему вниманию предлагается перевод прощального письма Миода Валлата, разработчика OpenBSD в течение 15+ лет, покинувшего проект неделю назад. Письмо, изначально адресованное лично некоему Джиму, рассказывает историю о том, куда порой приводят благие намерения, и вызвало резонанс среди пользователей Reddit и HackerNews. Учтите — высказанное мнение субъективно, и, по словам самого автора, "вы имеете право с ним не согласиться".
Сегодняшний мир — это amd64 (по-другому x64, или x86-64), armv7 и, в скором будущем, aarch64 (64-битный ARMv8). Всё остальное мертво, Джим. Никто не вкладывает достаточно денег и мыслительного труда в прочие архитектуры. В действительности, лишь небольшая часть людей в курсе существования остальной части экосистемы (mips, power8, . ), и все равно никому нет до них дела.
Поддержка устаревшей платформы на плаву — это весело, поскольку это напоминает тебе о 90-ых, когда существовал большой выбор «железных» платформ, с приблизительно одинаковым соотношением цены/мощности. В конце концов, дешевые PC убили практически всю конкуренцию, а рынок смартфонов дал ARM нездоровую долю рынка в мире встраиваемых систем.
Затем, спустя некоторое время, веселье подходит к концу, поскольку никто не пишет код, держа в уме твою платформу, — ведь она не считается достаточно мощной, а современные компиляторы больше ее не поддерживают (или они генерируют для нее нерабочий код, что на деле еще хуже). У твоей платформы есть аппаратные границы в несколько сотен MB физической памяти? Тебе не удастся запустить на ней веб-браузер или даже программу для просмотра PDF. Кто-нибудь все еще запускает testsuite из последней версии gcc на твоей платформе? Нет? Прости, чувак, но вот тебе «никель» (5 центов), сходи купи себе уже компьютер получше…
На деле, поддержка платформы в жизнеспособном состоянии — это настоящая командная работа. Она требует серьезных обязательств от проектов, являющихся «строительными блоками»: не слишком сильно «забагованного» тулчейна (as/ld/gcc), поддержки в флагманских проектах (emacs, python, X11, mozilla, libreoffice. ), а также аккуратной и актуальной документации, доступной бесплатно.
Ни один из перечисленных пунктов не является истиной для всех платформ, исключая amd64, armv7 и aarch64.
Из-за всего этого стремление поддерживать «жизнь» какой-либо другой платформы — это на самом деле попытка плыть против течения.
Конечно, ты все еще можешь встретить нескольких безумцев, готовых выполнить невероятный объем работы для предотвращения упадка их любимой платформы и умело создающих впечатление того, что эти платформы — все еще «пассажиры первого класса». Но эти ребята — те же самые люди, что были и десять лет назад. Рано или поздно, они устают и сдаются. Как, например, я.
Самое худшее во всем этом — это когда ты оглядываешься назад и понимаешь, что после всех этих лет, свободное ПО проиграло. Компаниям, занимающимся созданием не-свободного ПО, хватило достаточно ума и смекалки, чтобы поймать «импульс» разработчиков свободного ПО, направленный на работу над встраиваемыми платформами, и использовать его для того, чтобы максимально сократить собственные расходы на разработку ПО, получив при этом еще и позитивную реакцию прессы.
- видение будущего, позволяющее различным поколениям аппаратного обеспечения использовать одно и то же «железо» и софт;
- дизайн, позволяющий сегодняшнему ПО запускаться на «железе» завтрашнего дня до тех пор, пока изменения не слишком радикальны;
- целостность в выборе шин, процессоров, отображений адресного пространства (consistency in choices of busses, key chips, address maps);
- настоящего firmware, а не чего-то абсолютно отвратительного вроде EFI, который не может соревноваться даже со старым Open Firmware (IEEE 1275), которому уже больше 20 лет;
- надежные перечислители шин (reliably enumerable busses).
Я потратил 20 лет своей жизни, пытаясь продвигать правильный взгляд на свободное программное обеспечение, его ценности и его этику; сражался за него, всегда был активно вовлечен, старался показывать другим пример, и сегодня я чувствую так, словно все мои усилия были лишь пустой тратой времени, и ничего из того, что я сделал, не принесло пользы.
С этим трудно смириться, но лучше сдаться сейчас, чем продолжать попытки и только еще больше расстраиваться.
Думаем многие из работающих за компьютерами сталкивались с термином «AMD64». Вы могли видеть это название как в технической документации, так и в наименованиях папок связанных с ОС Windows. Фактически это два разных термина и давайте разберёмся что к чему.
Основное значение:
AMD64 — это обозначение 64-битной архитектуры центрального процессора, разработанной и внедренной компанией AMD в 2003 году в процессоры Athlon 64. Позднее все процессоры Advanced Micro Devices обладающие двумя и более физическими ядрами(с логическим делением и без него) или несущие одно физическое ядро с логическим делением на два виртуальных потока стали относиться к категории AMD64. Другое возможное наименование — x86-64.
До появления 64х битной архитектуры, повсеместно использовалась 32х битная. При ней каждый процессор нёс только одно ядро без логического деления на потоки, что значительно затрудняло параллельное выполнение нескольких операций.
Часто операционная система, например Linux предлагает выбрать дистрибутив AMD64 или i386. Запомните: дистрибутив AMD64 рассчитан под все многоядерные/многопоточные(то есть 64х битные) процессоры не зависимо от производителя, i386 дистрибутив выбирается если в системе установлен одноядерный однопоточный процессор(32 бита).
Дополнительное значение:
Папки с наименованием AMD64 часто встречаются в структуре OC Windows. Такие папки содержат в себе информацию об обновлениях операционной системы. Удалять их крайне их не рекомендуется. Если по каким-то причинам папки имеющие в названии часть имени «AMD64» начинают занимать слишком много места, рекомендуется произвести следующую операцию:
1) Открыть «Компьютер» или «Мой компьютер»
2) На значке диска «C» нажать правой кнопкой мыши.
3) В открывшемся окне(должна быть открыта вкладка «Общие») нажимаем левой кнопкой мыши на кнопку «Очистка диска».
4) В новом окне нажимаем кнопку «Очистить системные файлы».
5) Ставим галочку на пункте «Очистка обновлений Windows»
6) Нажимаем кнопку «ОК».
x86-64 (также x64/AMD64/Intel64/EM64T) — 64-битная аппаратная платформа: архитектура микропроцессора и соответствующий набор инструкций и чипсет, разработанные компанией AMD. Это расширение архитектуры x86 с полной обратной совместимостью. Набор инструкций x86-64 в настоящее время поддерживается процессорами AMD Athlon 64, Athlon 64 FX, Athlon 64 X2,Phenom, Phenom II, Turion 64, Opteron, последними моделями Sempron. Этот набор инструкций поддержан компанией Intel (с незначительными дополнениями) под названием Intel 64 (ранее известные как EM64T и IA-32e) в поздних моделях процессоров Pentium 4, а также в Pentium D, Pentium Extreme Edition, Celeron D, Core 2 Duo, Core 2 Quad, Core i3, Core i5, Core i7 и Xeon. Корпорации Microsoft и Sun Microsystems используют для обозначения этого набора инструкций термин "x64", однако каталог с файлами для архитектуры в дистрибутивах Microsoft называется "amd64" (ср. "i386" для архитектуры x86).
Содержание
Особенности архитектуры
Архитектура x86_64 имеет:
Содержание
Legacy Mode
Данный «наследственный» режим позволяет процессору AMD64 выполнять инструкции, рассчитанные для процессоров x86, и предоставляет полную совместимость с 32/16-битным кодом и операционными системами. В этом режиме процессор ведёт себя точно так же, как x86-процессор, например Pentium 4, и дополнительные функции, предоставляемые архитектурой AMD64 (например, дополнительные регистры) недоступны. В этом режиме 64-битные программы и операционные системы работать не будут (если, конечно, не используется виртуализация).
Long Mode
Особенности архитектуры
Архитектура x86_64 имеет:
Режимы работы
Процессоры архитектуры поддерживают два режима работы: Long mode («длинный» режим) и Legacy mode («наследственный», режим совместимости с x86).
Режимы работы
Процессоры архитектуры поддерживают два режима работы: Long mode («длинный» режим) и Legacy mode («наследственный», режим совместимости с x86).
Смерть и возрождение сегментной модели организации памяти
Разрабатывая архитектуру x86-64, инженеры корпорации AMD решили навсегда покончить с главным «рудиментом» архитектуры x86 — сегментной моделью памяти, которая передавалась по наследству ещё со времён 8086/80286. Однако, как потом оказалось, они очень погорячились. Архитектура стала абсолютно невиртуализируемой. При разработке новой версии своего продукта для виртуализации программисты компании VMWare столкнулись с непреодолимыми трудностями при реализации 64-битной виртуальной машины. Поскольку, для отделения кода монитора от кода «гостя» программой использовался механизм сегментации, эта задача стала практически неразрешимой. Осознав свою ошибку, AMD вернула ограниченный вариант сегментной организации памяти начиная с ревизии D архитектуры AMD64, что позволило запускать 64-битные ОС в виртуальных машинах. Intel, однако, этому примеру не последовала, и поэтому ни на одном её процессоре, не поддерживающем средства аппаратной виртуализации, запустить 64-битную виртуальную машину нельзя. С целью проверки того, возможен ли на данном процессоре запуск 64-битных гостевых ОС или нет, VMWare предоставляет вместе со своими продуктами специальную утилиту. Также следует отметить, что первоначально попавшие «под нож» команды LAHF и SAHF, которые также активно используются ПО виртуализации, затем также были возвращены в систему команд. С распространением средств аппаратной виртуализации (Intel VT, AMD-V) потребность в сегментации вновь постепенно отпадет.
AMD64 (также x86-64/Intel64/EM64T/x64) — 64-битная архитектура микропроцессора и соответствующий набор инструкций, разработанные компанией AMD. Это расширение архитектуры x86 с полной обратной совместимостью. Набор инструкций x86-64 в настоящее время поддерживается процессорами AMD Athlon 64, Athlon 64 FX, Athlon 64 X2, Phenom, Turion 64, Sempron. Этот набор инструкций был лицензирован основным конкурентом AMD — компанией EM64T (Intel 64) (ранее известные как EM64T и IA-32e) в поздних моделях процессоров Pentium 4, а также в Pentium D, Pentium Extreme Edition, Celeron D, Core 2 Duo и Microsoft и Sun Microsystems используют для обозначения этого набора инструкций термин x64, однако, каталог с файлами для архитектуры в дистрибьютивах Microsoft называется amd64 (ср. i386 для архитектуры x86).
Режимы работы
Процессоры архитектуры поддерживают два режима работы: Long mode («длинный» режим) и Legacy mode («наследственный», режим совместимости с x86).
Особенности архитектуры
Архитектура x86_64 имеет:
Как правильно называть
Существует несколько вариантов названий этой технологии, которые, порой, приводят к путанице и могут ввести пользователя в заблуждение.
- x86-64. Первоначальный вариант. Именно под этим названием фирмой AMD была опубликована первая предварительная спецификация.
- AA-64. Так архитектуру окрестил популярный неофициальный справочник IA-64, и по-прежнему так её называющий, как AMD Architecture 64.
- Hammer Architecture. Иногда встречалось название по первым разрабатываемым ядрам процессоров, получившим названия Clawhammer (гвоздодёр) и Sledgehammer (кувалда) иногда называемых просто Hammer (молоток).
- AMD64. После выпуска первых Hammer’ов в названии архитектуры появилось название фирмы-разработчика Advanced Micro Devices. Сейчас является официальным для реализации AMD.
- Yamhill Tehnology. Первое название
- EM64T. Первое официальное название реализации Intel. Расшифровывалось как Extended Memory 64 Technology.
- IA-32e. Иногда встречалось совместно с EM64T, чаще для обозначения длинного режима, который в документации Intel называется "режимом IA-32e".
- Intel 64. Текущее официальное название архитектуры Intel. Постепенно Intel отказывается от наименований IA-32, IA-32e и EM64T в пользу этого названия, которое теперь является единственным официальным для этой архитектуры.
- x64 Официальное название версий операционных систем Windows и Solaris, также используемое как название архитектуры фирмами Sun Microsystems.
На сегодняшний день наиболее распространёнными являются AMD64, x86-64 и x64. Порой упоминание AMD вводит пользователей в заблуждение, вплоть до того, что они отказываются скачивать дистрибутивы родных версий ОС, мотивируя это тем, что на их Intel-процессоре версия для AMD не пойдёт. На самом деле распространители ПО используют название amd64 лишь потому, что именно AMD была пионером в разработке этой технологии. Бывает, что пользователи путают архитектуру Intel 64 с IA-64, ошибочно скачивая ПО для этой архитектуры, и с удивлением обнаруживают, что программа не запускается. Во избежание подобных ошибок, всегда следует помнить, что Intel 64 и . Представители Intel 64 - это Pentium 4 (последние модели), ряд моделей Celeron D, семейство Core 2 и некоторые модели Intel Atom. Представители IA-64 - это семейства Itanium 2.
Legacy Mode
Данный «наследственный» режим позволяет процессору AMD64 выполнять инструкции, рассчитанные для процессоров x86, и предоставляет полную совместимость с 32/16-битным кодом и операционными системами. В этом режиме процессор ведёт себя точно так же, как x86-процессор, например Pentium 4, и дополнительные функции, предоставляемые архитектурой AMD64 (например, дополнительные регистры) недоступны. В этом режиме 64-битные программы и операционные системы работать не будут (если, конечно, не используется виртуализация).
Long Mode
Смерть и возрождение сегментной модели организации памяти
Разрабатывая архитектуру x86-64, инженеры корпорации AMD решили навсегда покончить с главным «рудиментом» архитектуры x86 — сегментной моделью памяти, которая передавалась по наследству ещё со времён 8086/80286. Однако, как потом оказалось, они очень погорячились. Архитектура стала абсолютно невиртуализируемой. При разработке новой версии своего продукта для виртуализации программисты компании VMWare столкнулись с непреодолимыми трудностями при реализации 64-битной виртуальной машины. Поскольку, для отделения кода монитора от кода «гостя» программой использовался механизм сегментации, эта задача стала практически неразрешимой. Осознав свою ошибку, AMD вернула ограниченный вариант сегментной организации памяти начиная с ревизии D архитектуры AMD64, что позволило запускать 64-битные ОС в виртуальных машинах. VMWare предоставляет вместе со своими продуктами специальную утилиту. Также следует отметить, что первоначально попавшие «под нож» команды LAHF и SAHF, которые также активно используются ПО виртуализации, затем также были возвращены в систему команд. С распространением средств аппаратной виртуализации (Intel VT, AMD-V) потребность в сегментации вновь постепенно отпадет, однако VMWare по-прежнему активно её использует, и поддержки AMD-V даже на сегодняшний день в её продуктах нет.
AMD64 (также x86-64/Intel64/EM64T/x64) — 64-битная архитектура микропроцессора и соответствующий набор инструкций, разработанные компанией AMD. Это расширение архитектуры x86 с полной обратной совместимостью. Набор инструкций x86-64 в настоящее время поддерживается процессорами AMD Athlon 64, Athlon 64 FX, Athlon 64 X2, Phenom, Turion 64, Sempron. Этот набор инструкций был лицензирован основным конкурентом AMD — компанией EM64T (Intel 64) (ранее известные как EM64T и IA-32e) в поздних моделях процессоров Pentium 4, а также в Pentium D, Pentium Extreme Edition, Celeron D, Core 2 Duo и Microsoft и Sun Microsystems используют для обозначения этого набора инструкций термин x64, однако, каталог с файлами для архитектуры в дистрибьютивах Microsoft называется amd64 (ср. i386 для архитектуры x86).
Как правильно называть
Существует несколько вариантов названий этой технологии, которые, порой, приводят к путанице и могут ввести пользователя в заблуждение.
- x86-64. Первоначальный вариант. Именно под этим названием фирмой AMD была опубликована первая предварительная спецификация.
- AA-64. Так архитектуру окрестил популярный неофициальный справочник IA-64, и по-прежнему так её называющий, как AMD Architecture 64.
- Hammer Architecture. Иногда встречалось название по первым разрабатываемым ядрам процессоров, получившим названия Clawhammer (гвоздодёр) и Sledgehammer (кувалда) иногда называемых просто Hammer (молоток).
- AMD64. После выпуска первых Hammer’ов в названии архитектуры появилось название фирмы-разработчика Advanced Micro Devices. Сейчас является официальным для реализации AMD.
- Yamhill Tehnology. Первое название
- EM64T. Первое официальное название реализации Intel. Расшифровывалось как Extended Memory 64 Technology.
- IA-32e. Иногда встречалось совместно с EM64T, чаще для обозначения длинного режима, который в документации Intel называется "режимом IA-32e".
- Intel 64. Текущее официальное название архитектуры Intel. Постепенно Intel отказывается от наименований IA-32, IA-32e и EM64T в пользу этого названия, которое теперь является единственным официальным для этой архитектуры.
- x64 Официальное название версий операционных систем Windows и Solaris, также используемое как название архитектуры фирмами Sun Microsystems.
На сегодняшний день наиболее распространёнными являются AMD64, x86-64 и x64. Порой упоминание AMD вводит пользователей в заблуждение, вплоть до того, что они отказываются скачивать дистрибутивы родных версий ОС, мотивируя это тем, что на их Intel-процессоре версия для AMD не пойдёт. На самом деле распространители ПО используют название amd64 лишь потому, что именно AMD была пионером в разработке этой технологии. Бывает, что пользователи путают архитектуру Intel 64 с IA-64, ошибочно скачивая ПО для этой архитектуры, и с удивлением обнаруживают, что программа не запускается. Во избежание подобных ошибок, всегда следует помнить, что Intel 64 и . Представители Intel 64 - это Pentium 4 (последние модели), ряд моделей Celeron D, семейство Core 2 и некоторые модели Intel Atom. Представители IA-64 - это семейства Itanium 2.
Содержание
Как правильно называть
Существует несколько вариантов названий этой технологии, которые, порой, приводят к путанице и могут ввести пользователя в заблуждение.
- x86-64. Первоначальный вариант. Именно под этим названием фирмой AMD была опубликована первая предварительная спецификация.
- x64 Официальное название версий операционных систем Windows и Solaris, также используемое как название архитектуры фирмами Microsoft и Sun Microsystems.
- AA-64. Так архитектуру окрестил популярный неофициальный справочник sandpile.org (внеся информацию практически сразу после публикаций первой предварительной спецификации) по аналогии с IA-64, и по-прежнему так её называющий, как AMD Architecture 64.
- Hammer Architecture. Иногда встречалось название по первым разрабатываемым ядрам процессоров, получившим названия Clawhammer (гвоздодёр) и Sledgehammer (кувалда) иногда называемых просто Hammer (молоток).
- AMD64. После выпуска первых Hammer’ов в названии архитектуры появилось название фирмы-разработчика Advanced Micro Devices. Сейчас является официальным для реализации AMD.
- Yamhill Tehnology. Первое название Intel'овской реализации технологии. Иногда упоминалось название CT (Clackamas Technology).
- EM64T. Первое официальное название реализации Intel. Расшифровывалось как Extended Memory 64 Technology.
- IA-32e. Иногда встречалось совместно с EM64T, чаще для обозначения длинного режима, который в документации Intel называется "режимом IA-32e".
- Intel 64. Текущее официальное название архитектуры Intel. Постепенно Intel отказывается от наименований IA-32, IA-32e и EM64T в пользу этого названия, которое теперь является единственным официальным для этой архитектуры.
На сегодняшний день наиболее распространёнными являются x64, x86-64 и AMD64. Порой упоминание AMD вводит пользователей в заблуждение, вплоть до того, что они отказываются скачивать дистрибутивы родных версий ОС, мотивируя это тем, что на их Intel-процессоре версия для AMD не пойдёт. На самом деле распространители ПО используют название amd64 лишь потому, что именно AMD была пионером в разработке этой технологии. Бывает, что пользователи путают архитектуру Intel 64 с IA-64, ошибочно скачивая ПО для этой архитектуры, и с удивлением обнаруживают, что программа не запускается. Во избежание подобных ошибок, всегда следует помнить, что Intel 64 и IA-64 это совершенно разные, несовместимые друг с другом, микропроцессорные архитектуры. Представители Intel 64 - это Pentium 4 (последние модели), ряд моделей Celeron D, семейство Core 2 и некоторые модели Intel Atom. Представители IA-64 - это семейства Itanium и Itanium 2.
Legacy Mode
Данный «наследственный» режим позволяет процессору AMD64 выполнять инструкции, рассчитанные для процессоров x86, и предоставляет полную совместимость с 32/16-битным кодом и операционными системами. В этом режиме процессор ведёт себя точно так же, как x86-процессор, например Pentium 4, и дополнительные функции, предоставляемые архитектурой AMD64 (например, дополнительные регистры) недоступны. В этом режиме 64-битные программы и операционные системы работать не будут.
Long Mode
Смерть и возрождение сегментной модели организации памяти
Разрабатывая архитектуру x86-64, инженеры корпорации AMD решили навсегда покончить с главным «рудиментом» архитектуры x86 — сегментной моделью памяти, которая передавалась по наследству ещё со времён 8086/80286. Однако, как потом оказалось, они очень погорячились. Архитектура стала абсолютно невиртуализируемой. При разработке новой версии своего продукта для виртуализации программисты компании VMWare столкнулись с непреодолимыми трудностями при реализации 64-битной виртуальной машины. Поскольку, для отделения кода монитора от кода «гостя» программой использовался механизм сегментации, эта задача стала практически неразрешимой. Осознав свою ошибку, AMD вернула ограниченный вариант сегментной организации памяти начиная с ревизии D архитектуры AMD64, что позволило запускать 64-битные ОС в виртуальных машинах. VMWare предоставляет вместе со своими продуктами специальную утилиту. Также следует отметить, что первоначально попавшие «под нож» команды LAHF и SAHF, которые также активно используются ПО виртуализации, затем также были возвращены в систему команд. С распространением средств аппаратной виртуализации (Intel VT, AMD-V) потребность в сегментации вновь постепенно отпадет, однако VMWare по-прежнему активно её использует, и поддержки AMD-V даже на сегодняшний день в её продуктах нет.
Читайте также: