Главная | Новости | Cтатьи и обзоры | Производители | Драйверы | Cсылки | Об авторе | Высказаться |
Взгляд в будущее: процессоры 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 (наследственного режима). Что они собой представляют,
можно понять из таблицы:
Итак,
Как видите, полностью используются все возможности Hammer именно в 64-битном Long Mode, то есть при работе с 64-битными операционными системами. Здесь надо оговориться, что таких операционных систем к моменту выхода Hammer на рынок будет предостаточно. В настоящий момент AMD тесно сотрудничает с Microsoft, чтобы обеспечить поддержку будущих 64-разрядных процессоров 8-го поколения операционной системой Windows. Кроме того, планируется, что процессоры Hammer будут поддерживаться 64-разрядными клонами операционной системы Linux от главных поставщиков. Собственно, поддержку Hammer и со стороны бета-версий Windows-64 и SuSE Linux AMD уже демонстрировала. Так что сомнений в появлении 64-битных операционных систем, понимающих x86-64 архитектуру, быть не должно. Содержание |