Микропроцессоры Sun UltraSPARC IIi

Еще в 1996 году компания Sun Microelectronics объявила о разработке микропроцессоров UltraSPARC серии i. Основная идея - объединение в одной микросхеме обычного универсального микропроцессора, средств управления шиной PCI и контроллера оперативной памяти. Понятно, что такая интеграция (на нее, по всей вероятности, и призвано указывать название серии) обеспечивает простоту разработки и изготовления компьютеров на их базе и, соответственно, низкую стоимость. В частности, отпадает потребность в таком хорошо известном пользователям ПК компоненте, как набор микросхем, окрещенный отечественными любителями компьютерных жаргонизмов "чипсетом".

Сегодня становится особенно очевидной прозорливость этой задумки Sun. Действительно, Intel разгоняет Pentium II до все более высоких тактовых частот, а взрослеющие ПК тихой сапой вытесняют младшие модели рабочих станций RISC-архитектуры. Производителям последних не остается ничего другого, как снижать стоимость соответствующих изделий. Одновременно как грибы после дождя появляются относительно дешевые компьютеры, собранные "третьими" фирмами (не являющимися "авторами" микропроцессоров). Sun идет еще дальше: выпуск процессоров UltraSPARC серии i существенно упрощает конструирование такими фирмами собственных материнских плат. В конце марта Sun объявила о выходе 333-мегагерцевой разновидности UltraSPARC IIi.

Микроархитектура UltraSPARC IIi

К числу основных блоков относятся устройство предварительной выборки и диспетчеризации (PDU), устройство загрузки регистров/записи в память, кэш-память первого уровня (L1): команд (I-кэш) и данных (D-кэш), блок управления внешним Е-кэшем, устройство управления оперативной памятью и, конечно, функциональные исполнительные устройства - целочисленное (IU) и с плавающей запятой (FPU).

Кэш первого уровня в UltraSPARC IIi состоит из двух блоков. I-кэш емкостью 16 Кбайт является 2-канальным частично-ассоциативным и содержит 512 строк по 32 байт. D-кэш также имеет емкость 16 Кбайт, но (при той же длине строки) является прямоадресуемым и использует алгоритм сквозной (write through) записи.

Внешний E-кэш может иметь емкость 256, 512, 1024 и 2048 Кбайт при размере строки 64 байт. Задержка при обращении в Е-кэш составляет 4 или 6 тактов. Как и у Pentium II, частота, на которой работает этот кэш, является делителем частоты процессора и лежит в диапазоне от 135 до 167 МГц. Для 333-мегагерцевого процессора частота Е-кэша равна половине частоты процессора; при этом пиковая пропускная способность кэша составляет 1,2 Гбайт/с. Процессор на 333 МГц комплектуется Е-кэшем емкостью 2 Мбайт, а процессор на 300 и 270 МГц - внешним кэшем емкостью 512 и 256 Кбайт соответственно. Такие предложения Sun обеспечивают сбалансированность основных компонентов компьютера, определяющих его производительность. Вообще Е-кэш является частью не самого микропроцессора, а процессорного модуля, поставляемого Sun Microelectronics.

UltraSPARC IIi - суперскалярный процессор, способный выполнять до 4 команд за такт. Его основной конвейер является 9-стадийным. Общая задержка выполнения для большинства команд равна 9 тактам. Однако некоторые более сложные команды, например, умножение и сложение с плавающей запятой, требуют больше времени на стадии выполнения (в данном случае - 3 такта).

Для "сокрытия" возможных задержек устройство FPU cодержит очередь команд емкостью в 3 строки. FPU данного процессора может выдавать 2 результата с плавающей запятой за такт, поэтому его пиковая производительность равна удвоенной тактовой частоте, т. е. 666 МFLOPS для 333-мегагерцевого UltraSPARC II. В блок FPU включено также графическое устройство, обеспечивающее возможности работы с видео в реальном времени и мощные графические возможности. На мой взгляд, набор команд VIS (Visual Instruction Set), реализованный в UltraSPARC IIi, по своим возможностям превосходит аналогичные предложения конкурентов. Команды VIS не используют регистров с плавающей запятой, как это сделано в MMX, наборе мультимедийных инструкций, расширяющих стандартную систему команд процессоров Intel, а также могут быть использованы для высокоэффективной пересылки данных в оперативной памяти.

Другим примером увеличения эффективной длины конвейера является ситуация непопадания в кэш. Что касается целочисленного устройства, то оно включает 2 арифметических блока, умножитель и некоторые другие блоки. Для упрощения синхронизации с блоком FPU в целочисленный конвейер добавляются дополнительные стадии.

Средства динамического предсказания переходов, применяемые в UltraSPARC IIi, по меркам современных микропроцессоров, особенно RISC-архитектуры, довольно нехитрые. Они основываются на простой таблице предыстории переходов емкостью 2048 двухразрядных строк. Вероятность правильного предсказания перехода, по оценкам Sun Microsystems, составляет 88% для SPECint95 и 94% для SPECfp95. Влияние удачных предсказаний перехода усиливается возможностью предварительной выборки данных (команда, появившаяся в спецификации архитектуры SPARC V9).

Блок управления оперативной памятью обеспечивает преобразование 44-разрядного виртуального адреса в 41-разрядный физический адрес, защиту памяти, а также арбитраж доступа в оперативную память со стороны кэш-памяти и средств ввода-вывода.

Интерфейс с 64-разрядной шиной UPA работает на тактовой частоте, равной одной трети от процессорной. Пропускная способность UPA составляет 1,6 Гбайт/с, пропускная способность оперативной памяти (EDO DRAM) - 400 Мбайт/с. Результаты измерения реальной пропускной способности оперативной памяти на тестах STREAM даны в таблице.

Микропроцессоры серии UltraSPARC IIi
Тактовая Емкость SPEC STREAM (Мбайт/с)
частота, МГц E-кэша, Кбайт int95 fp95 сopy scale add triad
270 256 8,5 10,1 272 271 272 253
300 512 12,1 12,9 294 293 298 285
333 2048 14,2 16,9 - - - -

Вокруг процессора

На мой взгляд, одной из наиболее привлекательных черт таких компьютеров является возможность применения PCI-мостов APB (Advanced PCI bridge), открывающих богатые возможности по организации ввода-вывода. Пиковая пропускная способность тракта, связывающего APB и процессорный модуль, составляет 2 Гбит/с.

Другим важным моментом, на который Sun обратила особое внимание, является пропускная способность на тракте "процессор - оперативная память". Следует отметить, что недавнее появление 100-мегагерцевой системной шины в ПК на базе Pentium II ликвидирует традиционное отставание компьютера по этому параметру.

Что же касается собственно оперативной памяти, то она строится на основе технологии EDO DRAM, и в ней поддерживаются коды ЕСС. Предусмотрено 4 разъема для модулей DIMM. Ее емкость может составлять от 16 Мбайт до 1 Гбайт (типично - 256 Мбайт при 4 заполненных слотах). В качестве примера подобных систем можно назвать рабочие станции Sun Ultra 5 и 10.

Если сравнить оценки производительности по SPEC95 процессоров UltraSPARC IIi и Pentium II (SPECint95/ SPECfp95 = 11,6/7,20 для тактовой частоты 300 МГц), то, даже с учетом появления 350- и 400-мегагерцевой версий Pentium II, можно сказать, что UltraSPARC IIi остается предпочтительным решением при выполнении расчетов с плавающей запятой. Компьютеры на базе этого микропроцессора целесообразнее всего применять при работе сетевых приложений, где требуется высокая производительность с плавающей запятой при относительно низкой стоимости (например, мультимедийных приложений).

Если бы мне пришлось решать, купить ли домой ПК с микропроцессором UltraSPARC IIi или с процессором Intel при близкой цене, я бы выбрал UltraSPARC с операционной системой Solaris. Но пока компьютеры Sun для меня дороговаты - так что подождем...


Михаил Кузьминский - старший научный сотрудник Центра компьютерного обеспечения Института химических исследований РАН. С ним можно связаться по телефону (095) 135-6388.