В последнее время в традиционном споре "Чьи процессоры лучше" все чаще упоминают 64-битные процессоры Intel и AMD. Спорщики чаще всего и не подозревают, что Hammer и Itanium - не конкуренты. Это совершенно разные процессоры как по архитектуре, так и по сфере применения. Они просто не могут выступать в качестве двух альтернативных вариантов, так как нацелены на разные ниши рынка информационных технологий. В этой статье я хочу рассказать о новом процессоре Intel - Itanium 2, причем не только с точки зрения архитектуры и функционирования.
64-битный процессор Intel
Как известно, поколение процессоров с архитектурой IA-64 началось с Itanium (ранее этот процессор был известен под кодовым названием Merced). Несведущие люди почему-то считали, что он станет преемником Pentium-II/III. Конечно же, это не так. Itanium был первым процессором Intel, предназначенным исключительно для серверов и рабочих станций - рынка, на котором господствовали такие компании, как Sun, HP, IBM, Compaq со своими уникальными архитектурами. Цель Intel была в том, чтобы разработать свою конкурирующую архитектуру процессора для серьезных научных и финансовых задач.
Конечно, Intel столкнулась с трудностями различного характера - как техническими, так и маркетинговыми. Серверный процессор нельзя предлагать просто так, в коробке. Он должен входить в состав целой программно-аппаратной платформы, способной решать самые сложные и ответственные задачи. Разработка и доведение до нужной степени надежности и защищенности от ошибок потребовали много времени и ресурсов. В частности, только на тестирование платформы Itanium было затрачено 500 тыс. часов.
Itanium 2, или McKinley, стал вторым процессором на базе той же архитектуры. Он был улучшен, по сравнению с Itanium, практически по всем параметрам: увеличена иерархия, объем, ассоциативность и латентность кэш-памяти, добавлены новые исполнительные блоки, модернизирована системная шина, повышена тактовая частота. Все это позволило почти в полтора раза увеличить производительность нового процессора.
Архитектура Itanium 2
Процессор Itanium 2, как и его предшественник, построен по совершенно новой архитектуре, отличной как от классической CISC, применяемой в настольных процессорах Intel и AMD, так и от популярной в среде серверов и рабочих станций RISC. Архитектура EPIC (Explicitly Parallel Instruction Computing) является практической реализацией концепции VLIW (Very Long Instruction Word). Ее суть в том, что процессор обрабатывает не команды, а группы команд (instruction bundles), состоящие из нескольких инструкций определенного типа. Архитектура EPIC предусматривает хранение трех команд в одном блоке, причем каждый блок заполняется по одному из шаблонов. Для чего это было сделано? Все достаточно просто: обычные CISC- и RISC-процессоры затрачивают достаточно много времени на перегруппировку команд, чтобы параллельно выполняемые команды не влияли на результаты друг друга. В случае EPIC это делает не процессор, а компилятор: он собирает независимые друг от друга команды в блоки, и процессор может сразу же начинать параллельное выполнение, не заботясь о проверке их совместимости. Тем самым достигается существенное ускорение, но только для тех программ, которые предварительно были обработаны компилятором. Старые 16- и 32-разрядные программы будут тоже работать, но с меньшей скоростью.
Вот каким образом реализуется архитектура EPIC внутри процессора Itanium 2. Имеется шесть исполнительных конвейеров небольшой длины - по 8 стадий. Процессор может выполнять одновременно два блока команд. Каждая команда выполняет одно или несколько действий, связанных с загрузкой или выгрузкой операндов, выполнением арифметических или логических действий и т.д. Itanium 2 содержит большое количество ресурсов, необходимых для выполнения команд. Количество 64-разрядных целочисленных регистров - 128; 82-разрядных регистров для данных с плавающей запятой тоже 128, есть еще 64 однобитных регистров для предсказания ветвлений и 8 регистров с адресами переходов. Регистры выделяются динамически, а если их не хватает, часть регистров записывается в системную память и становится доступной для команд. Исполнительных блоков в процессоре Itanium 2 тоже достаточно много: 6 блоков для целочисленной арифметики разрядностью 64 бита, 6 блоков для обработки упакованных форматов данных, два 82-разрядных FPU c поддержкой SIMD-инструкций, четыре блока для загрузки и сохранения операндов. В общем, все сделано с учетом как можно большего параллелизма.
В процессоре есть блоки предсказания ветвлений, блоки обработки исключительных ситуаций, проверки зависимости инструкций, слежения за производительностью и т.д. Для выполнения инструкций архитектуры IA-32 имеется отдельный блок, который занимается распределением ресурсов процессора (регистров, исполнительных модулей) для поддержки старого набора команд.
Подсистема кэширования тоже выполнена интересно: у Itanium 2 есть два кэша первого уровня - один для целочисленных (не FP-) операндов объемом 16 Кб, второй - для инструкций. Если процессор выполняет операции с плавающей запятой или не находит данных в кэше L1, он обращается к кэшу второго уровня объемом 256 Кб. Если данных и там не найдено, производится обращение к кэшу третьего уровня. Его объем зависит от модели процессора: у 900 МГц он 1.5 Мб, у 1 ГГц - 3 Мб. Далее по иерархии находится оперативная память. Itanium 2 теоретически способен адресовать огромный ее объем - 264 (16 эксабайт), но на практике, имея 50-разрядную шину адреса, он работает с 250 байт оперативки (1 петабайт).
Теперь - о системной шине. Она 128-разрядная, имеет частоту 400 МГц, построена по технологии AGTL+, рассчитана на подключение четырех процессоров, обеспечивает обнаружение и исправление ошибок по методу ECC.
В целом, процессор Itanium 2 по уровню параллелизма, объему кэша, пропускной способности шины и другим параметрам превосходит практически любой другой настольный или серверный процессор. Но обратите внимание на тот факт, что Itanium 2 будет показывать высокую производительность только в том случае, если программное обеспечение было подготовлено специальным компилятором.
Чипсет E8870
Сегодня Itanium 2 поддерживают несколько платформ от разных производителей. В их число входят HP zx1, Hitachi ColdFusion-2, IBM X-Architecture, NEC AzusA, а также собственная разработка Intel - чипсет E8870 (ранее известный как i870). Понятно, что этот чипсет построен по иной архитектуре, нежели настольные чипсеты: это обусловлено одним из важнейших требований - масштабируемостью, то есть возможностью наращивать вычислительную мощность путем добавления новых блоков и устройств (процессоров, периферийных контроллеров, модулей памяти и т.д.).
Главный компонент чипсета E8870 - чип Scalable Node Controller (SNC). Он поддерживает процессорную шину (до 4 процессоров), интерфейс с хабом памяти (пропускная способность - 6.4 Гб/с) и два порта масштабирования (пропускная способность - 3.2 Гб/с в обе стороны), к которым могут подключаться другие SNC и хабы ввода-вывода. Хаб памяти DMH (DDR Memory Hub) имеет два 64-разрядных канала для подключения до 16 Гб памяти DDR200/PC1600. Хаб ввода-вывода SIOH (Server I/O Hub) имеет два порта масштабирования и четыре хаб-порта версии 2.0 (пропускная способность - 1 Гб/с), а также один хаб-порт версии 1.5 (пропускная способность - 266 Мб/с). К последнему можно подключать известный нам по настольным чипсетам ICH4, а к хаб-портам версии 2.0 - серверные хабы P64H2 (восемь слотов 133 МГц шины PCI-X). В итоге получается, что на базе чипсета E8870 можно строить платформы различной конфигурации - от одно- до восьмипроцессорных, с обычными и серверными периферийными устройствами и объемом памяти до 32 Гб.
Применение Itanium 2
Процессоры семейства Itanium, а точнее, платформы на их базе, ориентированы на применение в качестве серверов, как минимум, масштаба предприятия (в ценовом диапазоне от $50 тыс. до $500 тыс.). Чтобы успешно конкурировать с традиционно сильными в этой области компаниями Sun, HP и IBM, корпорация Intel активно сотрудничает с разработчиками аппаратных и программных решений. Так, сегодня уже 20 крупных OEM-поставщиков предлагают системы на базе Itanium 2 (в числе которых один российский - Kraftway), разработано и находится в процессе доводки семь операционных систем - от Windows до Linux, создано и оптимизировано более сотни инструментариев и приложений. Как вы знаете, подобная тактика в отношении платформы ПК привела к тому, что закрытые для сторонних разработчиков Mac'и сейчас встречаются только в университетах и издательствах, а PC-совместимые компьютеры есть в каждом офисе.
А как же Hammer?
Процессоры AMD, будучи тоже 64-разрядными, но на базе существующей архитектуры x86, подразделяются на настольную и серверную ветки. Процессоры SledgeHammer, получившие название Opteron, тоже будут применяться для создания серверов. Но они станут конкурировать, скорее, с Intel'овскими Xeon и Xeon MP, которые стоят в серверах начального и среднего уровня. Фактически AMD сейчас на одну ступеньку ниже на своем пути от дешевых настольных компьютеров к самым мощным серверам.
Более оптимистично выглядят прогнозы относительно процессоров Hammer для рабочих станций. Современным профессиональным приложениям необходимы огромные массивы оперативной памяти (никак не менее 4 Гб) и недорогая 64-разрядная платформа - как раз то, что сейчас нужно. Впрочем, и Intel не сидит сложа руки. Следующая версия Itanium, на 0.13 мкм ядре Madison, будет иметь недорогой вариант Deerfield, ориентированный на рабочие станции. Но будет ли он эффективно работать с 32-разрядными приложениями - вопрос. В любом случае до выхода Hammer и Deerfield можно только строить предположения о том, в чью пользу сложится итог борьбы на рынке рабочих станций. А на рынке серверов пока лидирует Intel.
Официальные документы по процессору Itanium 2 вы найдете тут: developer.intel.com/design/Itanium2
Макс КУРМАЗ,
max@hw.by,
"Белорусский 'железный' сайт" (www.hw.by)
Комментарии
Жду более конструктивной критики.
Цитата:
"отличной как от классической CISC, применяемой в настольных процессорах Intel и AMD"... - а вот и нет :-))) Макс, понял?