64-битные процессоры - Itanium vs Sledgehammer
Месяцы - нет, уже годы мы слышим о разработке Intel-ом нового процессора по
имени Merced. Но до недавнего времени о нём практически не было достоверной
информации. Теперь, с началом производства образцов и присвоением официального
торгового имени Itanium, Intel начинает выдавать информацию.
В это же время AMD анонсировала свой 64-битный процессор по имени
Sledgehammer. И сделала это вовремя! Процессоры Pentium I, II, III, даже Xeon -
всё это вариации старой темы 32-битных вычислений. А вот Itanium, и вместе с ним
Sledgehammer - действительно следующая ступенька эволюции процессоров.
Представляем Itanium
Xeon был первым шагом Intel в область RISC-процессоров. Сейчас Intel
заявляет, что Itanium превосходит RISC-машины. Давайте посмотрим на то, что
известно об этом процессоре.
EPIC (Explicitly Parallel Instruction Computing) Одним из наиболее
важных отличий между Itanium и RISC-процессорами является использование в
Itanium метода расширенных параллельных вычислений. Это не параллельные
вычисления, для которых используются два и более процессоров, это относится к
возможности выполнить несколько команд за один такт на одном процессоре.
Intel называет это EPIC (Explicitly Parallel Instruction Computing).
Эффективность работы этой технологии сильно зависит от качества разработанных
для неё компиляторов, а также оптимизации под такие вычисления выполняемого
софта.
Для выполнения EPIC используются две методики: предсказание и предположение
(predication and speculation). Предсказание ветвления используется и в
современных процессорах. Однако, слишком много времени процессора расходуется
для вычисления ветвей программы, которые затем не используются. Предсказание
ветвления основывается на анализе исполняемой программы компилятором, и целиком
на него полагается при принятии решений, какие из ветвей нужно просчитывать, а
какие нет.
Методика предположения используется в процессоре Itanium. Она
заключается в том, что инструкции и данные загружаются в процессор (используя
процессор как кэш) до того, как они могут понадобится, а в некоторых случаях
даже если они и не должны понадобится. Такая ранняя загрузка должна происходить
во время простоя процессора. Выигрыш этой методики в том, что при совпадении
загруженных данных с теми, которые потребовались для дальнейшей работы, исчезает
время ожидания на их загрузку из памяти.
Распределение сигнала тактовой частоты: Процессор Itanium
достаточно большой, что приводит к искажениям в передаче сигнала тактовой
частоты. Это приводит к тому, что некоторые области процессора могут получать
сигнал значительно позже, чем другие. В Itanium проблема решена созданием в чипе
нескольких узлов распределения сигнала.
Регистры мониторинга производительности: Itanium содержит
несколько специальных регистров, которые позволяют проводить менеджмент работы
процессора в реальном времени, практически не ухудшая производительности
собственно вычислений.
Три кэша Два кэша, L1 и L2, находятся на кристалле процессора. Кэш
третьего уровня, L3, расположен на картридже и имеет объём четыре мегабайта.
Плавающая точка Довольно большой процент площади кристалла (около
10%) - занят модулем работы с плавающей точкой (FPU). Для такой работы у
процессора есть 128 82-битных регистров.
Совместимость с 32-битными инструкциями Intel заявляет, что
Itanium имеет полную совместимость с существующим набором инструкций, что
означает, что все программы, написанные для современных машин, будут работать
без изменений. Однако не нужно думать, что 32-битные приложения будут
исполняться быстрее на 64-битном Itanium. Фактически есть основания считать, что
они будут работать медленнее. В опубликованной Aberdeen Group "An Executive
White Paper" заявляется: "Для достижения максимальной производительности IA-32
приложений, нужно серьёзно рассматривать архитектуру IA-32, а не IA-64."
64-битный процессор. Что даёт переход на 64-битный процессор? Одно
- это возможность обрабатывать 8-байтную информацию за такт процессора. Кроме
процессора, это должна поддерживать системная шина. Другое - возможность
использования 64-бит для адресации памяти. 32-битный процессор может адресовать
2^32, приблизительно 4,3млрд бит. А 64-битный - 2^64, около 18,4 квинтильона бит
(около 2,1 млрд гигабайт).
Большое количество регистров. В процессоре Itanium больше
регистров, чем у предшественников.
Тип регистра
| Количество
| Размер
|
Функция
|
Общего назначения
|
128
| 64 + 1 бит
| Программисту доступны 64 бита, а один дополнительный NaT (Not A Thing)
показывает пригодность информации, записанной в регистре. Другими словами,
если данные признаны ненужными, как результат неправильного предсказания
ветвления, то изменяется только бит NaT, что даёт существенный выигрыш во
времени.
|
Плавающая точка
|
128
| 82 бит
| Используются для вычислений с плавающей точкой
|
Предикативный
|
64
| 1 бит
| Контролирует условное выполнение инструкций и ветвление
|
Ветвление
|
64
| 8 бит
| Указывает адреса ветвей программы |
Itanium - серьёзный шаг Intel в новую область. Этим процессором атакуется
сравнительно новый для Intel сегмент рынка - сервера и рабочие станции,
значительная доля которых работает на RISC-процесорах. Intel полагает, что EPIC
(не реализуемый эффективно на RISC-архитектуре) позволит предложить рынку новые,
лучшие решения.
С выходом Itanium сравнение процессоров по частоте практически теряет смысл.
Должны будут применяться новые методики, учитывающие величину IPC (Instructions
Per Clock Cycle). Плюс к этому, результирующая производительность сильно зависит
от качества анализа компилятором исполняемой программы (процессор может работать
с бешеной скоростью, вычисляя ненужные ветви).
Поэтому довольно логичен шаг Intel по созданию широкой коалиции софтовых
компаний, до выхода процессора начавших работу над созданием софта для него.
Пока непонятен конечный результат, но в любом случае неплохо иметь какой-то
объём софта уже при выходе процессора к потребителю.
Если Itanium будет работать, как обещает Intel, то это безусловно мощный
процессор. Он способен выполнять 6 GFLOP (миллиардов операций с плавающей точкой
в секунду). Однако значительная часть этой мощности будет использована для
вычисления ненужных впоследствии ветвей программы.
Как бы там ни было, но способность выполнять 6 инструкций за такт впечатляет.
Кроме того, регистры мониторинга производительности должны помочь в создании
более надёжных систем.
Итак, от Itanium можно ожидать многого, теперь попытаемся оценить, что
предложат его конкуренты, один из них -
Sledgehammer
Совсем недавно это слово ничего не говорило широкой публике. AMD заявила о
существовании проекта 64-битного процессора Sledgehammer явно с целью отвлечь
слишком пристальное внимание от Itanium. Однако, кроме самого заявления, AMD
выдала не так много информации. Причина может быть объяснена так "Мы не видим
необходимости сообщать Intel, о том, что мы делаем." С другой стороны, Intel
тоже выдаёт информацию по капельке, так что позиции близки.
Заявление AMD от 5-го октября о Sledgehammer имеет два существенных
момента: Sledgehammer будет использовать х86 набор инструкций, с расширениями
для 64-битного режима. Процессор будет интегрирован с новой шиной Lightning
Data Transport (LTD).
Набор 64-битных инструкций AMD заявляет, что её план расширить
набор х86 инструкций до 64-битного режима лучше подхода Intel, так как сохраняет
естественную совместимость с существующими программами и операционными
системами. В пресс-релизе AMD цитировалось высказывание одного из разработчиков
ядра Linux, Alan Cox: "Расширяя набор х86 инструкций до 64 бит, AMD даёт
разработчикам возможность быстрой переделки компиляторов и довольно лёгкого
портирования ядра."
Этот подход очень простой - AMD как бы говорит разработчикам софта -
продолжайте заниматься своим делом, и не беспокойтесь, программы будут работать.
Насколько это сработает, пока на видно, однако AMD разослала спецификации
основным разработчикам програмного обеспечения.
Новая архитектура шины LDT - это что-то действительно новое.
Заявляется, что в ней достигается полоса пропускания "чип-к-чипу" в 6,4Gb/s.
Новая шина совместима с существующей PCI и возникающей SIO.
На какой стадии находится разработка Sledgehammer, непонятно. Заявляется, что
первые чипсеты должны появиться во второй половине 2000.
Кто же станет победителем?
AMD начала наступать на пятки Intel. Успех её Athlon показывает, что компания
хочет и может не просто гнаться за лидером, а бороться за само лидерство.
Попробуем определить лидера, используя следующие категории:
кто первый выйдет на рынок
реальная производительность
софтовая поддержка
популярность у публики и менеджеров
финансово - технические возможности
Скорее всего, первым на рынок выйдет Intel, и нельзя недооценивать важность
этого. Конечно, AMD будет бороться, и пытаться нагнать, хотя в реальность этого
верится с трудом. О реальной производительности Itanium известно очень мало,
а возможности Sledgehammer вообще покрыты мраком. Так что это определится только
с выходом процессоров. Софтовая поддержка Itanium огромна, при этом Intel
обращается с софтовыми компаниями как с виртуальными партнёрами. И проблема AMD
именно эти взаимоотношения - вложив силы, время и средства в какой-либо софт,
компания будет его продвигать. А для Sledgehammer чего стараться - съест чего
дадут. Популярность - штука капризная, но в драке обычно сочуствуют более
слабому (т.е. AMD), и успехи более слабого выглядят как-то весомее. Отольётся ли
это сочуствие в звонкую монету, зависит от очень многих факторов. А пока у AMD
есть преимущество в симпатиях публики. Наконец - деньги и фабрики, тут всё
понятно, стабильно, и изменится не скоро.
Для большинства обычных пользователей проблема выбора покупки - Itanium или
Sledgehammer будет стоять не скоро. Но в любом случае, битва новых процессоров
обещает быть интересной, а её важность трудно переоценить.
|