Битва двух титанов Докучаев Дмитрий aka Forb Спецвыпуск Xakep, номер #038, стр. 038-012-5 3. Использование регистрового стека для оптимизации некоторых операций. 4. Поддержка циклических инструкций без потерь времени на их выполнение. Как видишь, на основе EPIC появляется Itanium. Прежде чем Intel взял за основу эту технологию, много других производителей использовали ее основы, что говорит о ее большой пользе. Внутри x86-64 Давай посмотрим, какие именно изменения сделал AMD при переходе от 32 к 64 разрядам. На самом деле, они аналогичны тем, которые появились в 32-разрядной технологии. Ты сам сможешь догадаться, что именно изменилось в камне, но все же я приведу список новшеств: 1. 64-разрядные адреса, регистры и счетчик команд (RIP). Это основа нового камня, без нее никак не обойтись. 2. Расширение регистров общего назначения и добавление специальных Intel-совместимых SSE-регистров. Указания на дополнительные регистры и размеры операнд теперь вводятся как некоторый префикс команд. Это очень удобно и ускоряет работу с данными. 3. Уменьшение площади ядра. Новые процессоры будут иметь площадь всего 105 мм^2. Если сравнивать с Itanium, то площадь этого камня – 464 мм^2. Компания AMD выпустила два процессора, основывающихся на технологии x86-64. Это Sledgehammer и Clawhammer. Первая модель заточена под рабочие станции и имеет меньший размер кэша второго уровня. Clawhammer разрабатывался для крупных серверов, поэтому способен работать в связке с 8 процессорами, а также имеет площадь всего 94 мм^2. Режимные регистры AMD 64 Весьма интересным моментом является организация режимных регистров в процессорах AMD. Для того чтобы перевести процессор в режим Long, требуется взвести управляющий бит LMA (Long Mode Active). При этом игнорируется работа некоторых других регистров. Для выбора подрежима существует бит CS.L. Когда он взведен, процессор работает в обычном расширенном режиме, в противном случае рулит режим совместимости. Такая простая схема дает огромную производительность в решении как 32, так и 64-разрядных задач. Новшества Intel Помимо Itanium, компания Интел выпустила еще один 64-разрядный процессор под названием Xeon. Он отличается от своего собрата и, я бы сказал, имеет ряд преимуществ. Xeon больше заточен под пользовательские нужды, поэтому по соотношению производительность/цена у него нет конкурентов :). О применении Itanium я уже писал, поэтому повторяться не буду. Кроме того, в архитектуре Xeon 32-разрядные инструкции выполняются гораздо быстрее, чем в Itanium. Регистровый стек Itanium Разработчики Intel весьма хитро подошли к созданию регистрового стека нового процессора. Их нововведения весьма облегчают жизнь программиста. Как известно, процессор имеет 128 регистров, которые делятся на два множества: 0-31 видимых и 96 невидимых, которые заключены в так называемые “регистровые окна”. Когда выполняется процедура, компилятор решает, сколько выделить места для хранения локальных переменных процедуры. Если нет потребности, они сохраняются в первичных 32 регистрах (остальные остаются невидимыми). Когда из процедуры вызывается вложенная, компилятор сохраняет переменные в регистрах и заносит их в кэш-память, чтобы не потерять данные при возврате. Сохранение выполнено весьма хитро: стек переворачивается, и регистр, который был нулевым, становится 32. Этим и достигается безопасное сохранение данных. |