Взгляд в будущее: процессоры AMD Hammer и технология x86-64

Введение

Некоторое время тому назад мы узнали о том, что AMD готовит к выпуску новое процессорное ядро, называемое тогда еще K8 (K7 - Athlon). Тогда вообще мало кто чего знал об этом ядре. Со временем стали выясняться подробности, одна из которых была просто-таки шокирующей - K8 оказался 64-битным процессором. Удивление это вызывало потому, что единственным на то время 64-битным процессором, о котором имелись сведения, был Intel Itanium - монстр, построенный из огромного количества транзисторов, обладающий не-x86 архитектурой и стоящий бешеных денег. Возник вопрос - неужели AMD готовит нечто подобное? Как выяснилось со временем - совсем нет. Процессор K8, позже названный Hammer, в общем-то, похож на существующий Athlon XP, но в то же время отличается от него весьма значительно. Всплыло и название архитектуры, которую применила AMD в Hammer - "x86-64", то есть 64-битная x86 (по аналогии с x86-32). В данной статье мы попробуем разобраться, что такое x86-64, Hammer и чем он отличается от Athlon, от Pentium 4 и Itanium.

Но для начала зададимся вопросом - а зачем вообще нужны 64-битные процессоры? Ответ прост - современные приложения порой стали ставить перед вычислительной техникой чрезвычайно ресурсоемкие задачи. В частности, оперативная память в 4 Гбайт уже перестает быть чем-то недостижимо огромным. Почему именно 4 Гбайта? Очень просто - 32-битный процессор и адресовать память может только 32 разрядами, то есть максимальный объем памяти в современных x86 системах составляет 232 = 4 297 967 296 байт = 4 Гбайта. Тут надо заметить, что Xeon'ы могут эмулировать 36-битную адресацию, то есть адресовать до 64 Гбайт, однако такие ухищрения не лучшим образом сказываются на производительности, к тому же максимальная память, которую может использовать один поток приложения составляет все те же 4 Гбайта. В частности для того, чтобы преодолеть это ограничение, люди и стали задумываться о построении 64-битных процессоров.

Основные принципы x86-64 архитектуры

x86-64 - 64-битная архитектура, разработанная AMD для своих процессоров семейства Hammer. В отличие от 64-битной архитектуры IA64, примененной в процессорах Intel Itanium, x86-64 базируется на существующей архитектуре x86-32. Следовательно, процессор, построенный на основе x86-64, может безо всяких проблем исполнять существующие 32-битные приложения, которых написано на текущий момент, как вы понимаете, просто немеряно (и в них, кстати, зачастую вложены очень большие деньги). Причем, эти приложения могут выполняться без каких бы то ни было потерь в производительности в отличие от того же Intel Itanium, где x86-32 систему команд приходится эмулировать. Таким образом, для того, чтобы начать эксплуатировать Hammer-системы, не придется ждать, когда производители программного обеспечения соблаговолят перекомпилировать свои продукты для новой платформы. Наоборот, новый процессор AMD имеет все преимущества своих предшественников, однако добавляет к ним некоторые дополнительные возможности, которые можно будет задействовать впоследствии.

Данная стратегия выбрана AMD не случайно - в отличие от Intel, который может чуть ли не силой навязывать переход на нечто новое (вспомним Rambus или многообразие Socket'ов, одновременно поддерживаемых этой компанией), AMD сохраняет совместимость со старыми продуктами (вспомним опять же, срок жизни Socket A). Примерно такой же подход применен AMD и при разработке своей 64-битной архитектуры.

Как же реализуется 64-битность в Hammer? Очень просто: в этом процессоре к имеющейся системе регистров будет добавлено несколько новых регистров, а существующие - расширены:


Как видите, привычные регистры общего назначения (GPR) дополнены еще 8 регистрами R8-R15, используемыми в 64-битном режиме (то есть для их задействования потребуется перекомпиляция программ), а существующие EAX, EBX и т.д. расширены с 32 до 64 бит. Также, 8 новых регистров добавлено в блок SSE, что обеспечит поддержку SSE2. Увеличение количества регистров призвано повысить производительность ресурсоемких приложений, например, в программах научных расчетов (кстати, это вообще сильное место процессоров AMD, начиная с K7).

Расширение существующих регистров показано на вот этом рисунке:


Как видите, расширение EAX до RAX - то же самое, что расширение AX до EAX - процесс, который мы имели возможность наблюдать 15 лет назад, когда был выпущен процессор i386. Как вы помните, i386 замечательно справлялся с 16-битными приложениями, написанными для i286 - предыдущего поколения микропроцессоров Intel. Примерно так же Hammer будет справляться с 32-битным кодом: просто в этом случае процессор будет работать, что называется «не в полную силу».

Для реализации одновременной работы как с 32-битным, так и с 64-битным кодом и регистрами x86-64 предполагает поддержку процессором 2-х режимов: Long Mode, «длинного» режима с двумя подрежимами - 64-битным и Compatibility mode (режим совместимости) и Legacy Mode (наследственного режима). Что они собой представляют, можно понять из таблицы:

Режим ОС Необх. пере- компиляция приложений Умолчания
Длина адреса Длина операнда Дополнит. регистры Размер GPR
Long Mode 64-битный 64-битная да 64 32 да 64
Compatibility mode нет 64 нет 32
Legacy Mode 32- или 16-битная нет 32 32 нет 32
16 16

Итак,

  • В 64-битном режиме обеспечивается поддержка:
    • 64-битных виртуальных адресов;
    • 8 новых 64-битных регистров общего назначения;
    • расширения регистров общего назначения до 64 бит (включая "старые" EAX, EBX и т.д.);
    • 64-битного указателя инструкций (RIP);
    • нового RIP-относительного (RIP-relative) метода адресации данных;
    • сплошного адресного простанства с единым пространством для инструкций, данных и стека.
    То есть, 64-битный режим - это и есть 64-битность в чистом виде.
  • Compatibility mode обеспечивает бинарную совместимость с существующими 16- и 32-битными приложениями при работе с 64-битной операционной системой. Compatibility mode разрешается операционной системой по принципу отдельных кодовых сегментов. Однако, в отличие от 64-битного режима, сегментация функционирует обычным образом, используя семантику защищенного режима. С точки зрения выполняемого приложения процессор выглядит как обычный x86 CPU в защищенном режиме (protected mode). Однако, с точки зрения операционной системы трансляция адресов, работа с прерываниями и исключениями, а также системные структуры данных используют механизмы 64-битного Long Mode;
  • В дополнение к Long Mode, x86-64 предполагает поддержку также наследованного режима (Legacy Mode), обеспечивающего бинарную совместимость с 16- и 32-битными операционными системами. То есть, в Legacy Mode процессор уподобляется обычному 32-битному x86 CPU. В этом режиме не задействуется ни одна из 64-битных функций и процессор работает как стандартный x86 процессор. Этот режим обеспечивает полную совместимость с существующими 32-битными реализациями x86-архитектуры. Она включает в себя поддержку сегментированной памяти и 32-битных регистров общего назначения и указателя инструкций.

Как видите, полностью используются все возможности Hammer именно в 64-битном Long Mode, то есть при работе с 64-битными операционными системами. Здесь надо оговориться, что таких операционных систем к моменту выхода Hammer на рынок будет предостаточно. В настоящий момент AMD тесно сотрудничает с Microsoft, чтобы обеспечить поддержку будущих 64-разрядных процессоров 8-го поколения операционной системой Windows. Кроме того, планируется, что процессоры Hammer будут поддерживаться 64-разрядными клонами операционной системы Linux от главных поставщиков. Собственно, поддержку Hammer и со стороны бета-версий Windows-64 и SuSE Linux AMD уже демонстрировала. Так что сомнений в появлении 64-битных операционных систем, понимающих x86-64 архитектуру, быть не должно.


Далее: Athlon и Hammer: сходства и различия процессорных ядер >>



Содержание

Стр.1: Введение
Основные принципы x86-64 архитектуры
Стр.2: Athlon и Hammer: сходства и различия процессорных ядер
Стр.3: Свежая идея - контроллер памяти в процессоре
Стр.4: Еще одна инновация - HyperTransport
Стр.5: Два брата: ClawHammer и SledgeHammer
Стр.6: Многопроцессорность в Hammer-системах: есть чему удивиться
Производительность: первые прикидки
Стр.7: Что мы имеем на данный момент
Стр.8: Планы
Итог: позиции Intel в опасности!
Hint Site Aport

© Авторские права и копия защищены законом: © Дудкин Александр Константинович, 2002 г.
Копирование любых материалов только с письменного разрешения автора сайта
URL сайта: www.alexishw.mailru.com
Ваши замечания и предложения присылайте по e-mail: alexishw@mail333.com