AMD64

AMD64

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).

Содержание

Как правильно называть

Существует несколько вариантов названий этой технологии, которые, порой, приводят к путанице и могут ввести пользователя в заблуждение.

На сегодняшний день наиболее распространёнными являются 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.

Режимы работы

Процессоры архитектуры поддерживают два режима работы: Long mode («длинный» режим) и Legacy mode («наследственный», режим совместимости с x86).

Long Mode

«Длинный» режим — «родной» для процессоров AMD64. Этот режим позволяет воспользоваться всеми дополнительными возможностями, предоставляемыми архитектурой AMD64. Для использования этого режима необходима 64-битная операционная система, например, Windows XP Professional x64 Edition,Windows Vista x64 или 64-битные варианты GNU/Linux, Solaris (смешаная 32/64 сборка с разными ядрами для 32- и 64-битных процессоров), Mac OS X (смешанная 32/64 сборка с 32-битным ядром, начиная с версии 10.4.7). Этот режим позволяет выполнять 64-битные программы; также (для обратной совместимости) предоставляется поддержка выполнения 32-битного кода, например, 32-битных приложений, хотя 32-битные программы не смогут использовать 64-битные системные библиотеки, и наоборот. Чтобы справиться с этой проблемой, большинство 64-разрядных операционных систем предоставляют два набора необходимых системных файлов: один — для родных 64-битных приложений, и другой — для 32-битных программ. (Этой же методикой пользовались ранние 32-битные системы — например, Windows 95 — для выполнения 16-битных программ). В «длинном» режиме упразднен ряд «рудиментов» архитектуры 8086, сегментированная модель памяти (однако, осталась возможность использования сегментов FS и GS, что полезно для быстрого нахождения важных данных потока при переключении задач), аппаратная мультизадачность, а также ряд команд, как реализующих упраздненные возможности, так и работающие с BCD-числами, которые в новых программах практически не использовались. Среди особенностей «длинного» режима, следует отметить тот факт, что он активируется установкой флага CR0.PG, который используется для включения страничного MMU (при условии что такое переключение разрешено (EFER.LME=1), в противном случае просто произойдет включение MMU в «наследственном» режиме). Таким образом, невозможно исполнение 64-битного кода с запрещенным страничным преобразованием. Это создает определенные трудности в программировании, поскольку при переключении из «длинного» в «наследственный» режим и обратно (например, для вызова функций DOS, монитором виртуальной машины, и т. д.) требуется двойной сброс MMU, для чего код переключения должен находиться в тождественно отображённой странице.

Legacy Mode

Данный «наследственный» режим позволяет процессору AMD64 выполнять инструкции, рассчитанные для процессоров x86, и предоставляет полную совместимость с 32/16-битным кодом и операционными системами. В этом режиме процессор ведёт себя точно так же, как x86-процессор, например Pentium 4, и дополнительные функции, предоставляемые архитектурой AMD64 (например, дополнительные регистры) недоступны. В этом режиме 64-битные программы и операционные системы работать не будут (если, конечно, не используется виртуализация).

Особенности архитектуры

Разработанный компанией AMD набор инструкций x86-64 (позднее переименованный в AMD64) — расширение архитектуры Intel IA-32 (x86-32). Основной отличительной особенностью AMD64 является поддержка 16-ти 64-битных регистров общего назначения (против 8-и 32-битных в x86-32), 64-битных арифметических и логических операций над целыми числами и 64-битных виртуальных адресов. Для адресации новых регистров для команд введены так называемые «префиксы расширения регистра», для которых был выбран диапзон кодов 40h-4Fh, использующихся для команд INC <регистр> и DEC <регистр> в 32- и 16-битных режимах. Команды INC и DEC в 64-битном режиме должны кодироваться в более общей, двухбайтовой форме.

Архитектура x86_64 имеет:

Смерть и возрождение сегментной модели организации памяти

Разрабатывая архитектуру x86-64, инженеры корпорации AMD решили навсегда покончить с главным «рудиментом» архитектуры x86 — сегментной моделью памяти, которая передавалась по наследству ещё со времён 8086/80286. Однако, как потом оказалось, они очень погорячились. Архитектура стала абсолютно невиртуализируемой. При разработке новой версии своего продукта для виртуализации программисты компании VMWare столкнулись с непреодолимыми трудностями при реализации 64-битной виртуальной машины. Поскольку, для отделения кода монитора от кода «гостя» программой использовался механизм сегментации, эта задача стала практически неразрешимой. Осознав свою ошибку, AMD вернула ограниченный вариант сегментной организации памяти начиная с ревизии D архитектуры AMD64, что позволило запускать 64-битные ОС в виртуальных машинах. VMWare предоставляет вместе со своими продуктами специальную утилиту. Также следует отметить, что первоначально попавшие «под нож» команды LAHF и SAHF, которые также активно используются ПО виртуализации, затем также были возвращены в систему команд. С распространением средств аппаратной виртуализации (Intel VT, AMD-V) потребность в сегментации вновь постепенно отпадет, однако VMWare по-прежнему активно её использует, и поддержки AMD-V даже на сегодняшний день в её продуктах нет.

См. также

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "AMD64" в других словарях:

  • AMD64 — AMD64, inicialmente conocida como x86 64, es una arquitectura basada en la extensión del conjunto de instrucciones x86 para manejar direcciones de 64 bits realizada por AMD. Además de una simple extensión contempla mejoras adicionales como… …   Enciclopedia Universal

  • AMD64 — Die AMD64 Mikroarchitektur der AMD K8 Generation (auch x86 64) ist AMDs Einstieg in den 64 Bit Mikroprozessor Markt. Intel verwendet die neuen 64 Bit Befehle unter dem Namen Intel 64 (früher: EM64T) in seinen neueren x86 basierten Prozessoren.… …   Deutsch Wikipedia

  • AMD64 — est le nom de l architecture des premiers microprocesseurs 64 bits de la société Advanced Micro Devices. Son nom de code est Hammer (de l anglais marteau) remplaçant l appellation x86 64. Cette architecture est compatible avec le standard… …   Wikipédia en Français

  • AMD64 (informatique) — AMD64 AMD64 est le nom de l architecture des premiers microprocesseurs 64 bits de la société Advanced Micro Devices. Son nom de code est Hammer (de l anglais marteau) remplaçant l appellation x86 64. Cette architecture est compatible avec le …   Wikipédia en Français

  • Amd64 — …   Википедия

  • AMD64 — x64 (fachsprachlich); IA 32e (veraltet); Intel 64; x86 64 (fachsprachlich); EM64T (veraltet) …   Universal-Lexikon

  • AMD 64 — AMD64 AMD64 est le nom de l architecture des premiers microprocesseurs 64 bits de la société Advanced Micro Devices. Son nom de code est Hammer (de l anglais marteau) remplaçant l appellation x86 64. Cette architecture est compatible avec le …   Wikipédia en Français

  • X64 — AMD64 (также x86 64/Intel64/EM64T/x64) 64 битная архитектура микропроцессора и соответствующий набор инструкций, разработанные компанией AMD. Это расширение архитектуры x86 с полной обратной совместимостью. Набор инструкций x86 64 в настоящее… …   Википедия

  • X86-64 — is a superset of the x86 instruction set architecture. x86 64 processors can run existing 32 bit or 16 bit x86 programs at full speed, but also support new programs written with a 64 bit address space and other additional capabilities.The x86 64… …   Wikipedia

  • Aptosid — Basisdaten Entwickler Stefan Lippers Hollmann (slh); aptosid Team …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»