ОБЗОРЫ

Sun Microsystems - одна из тех немногих компаний, кто разрабатывает системы от начала до конца

В конце января авторитетное издание Microprocessor Report (MicroDesign Resource) присвоило звание лучшего процессора для серверов и рабочих станций микросхеме UltraSPARC III Sun Microsystems (www.sun.com). Основной девиз корпорации, “Сеть - это компьютер”, очень хорошо согласуется с нынешними основными тенденциями развития индустрии за последние годы, привлекающими все больше внимания к Интернету и сетевым вычислениям. В конце прошлого года Sun Microsystems приступила к реализации стратегии Net Effect, которая должна позиционировать корпорацию как производителя инфраструктуры для Сети.

Микропроцессор UltraSPARC III

Архитектура SPARC (Scalable Processor Architecture) является одной из самых распространенных среди RISC-систем. Процессоры SPARC лицензированы и изготавливаются по спецификациям Sun Microsystems несколькими фирмами-производителями. Отделение микроэлектроники корпорации создает и распространяет не только высокопроизводительные процессы, но и системные платы на их основе, а также выдает лицензии на использование ядра SPARC- и Java-процессоров. Вся продукция ориентирована на OEM-производителей компьютеров, телекоммуникационного оборудования, бытовых электронных устройств, средств автоматизации производства и т. п. А поскольку Sun Microsystems разрабатывает вычислительные системы от начала до конца, т. е. от микропроцессоров и архитектуры вычислительной системы до ПО, то все этапы разработки проходят в рамках единой концепции, и это дает ей определенные конкурентные преимущества.

В настоящее время модельный ряд процессоров включает в себя три семейства устройств, оптимизированных для выполнения конкретных задач. В семейство S входят микропроцессоры UltraSPARC I, II и III, обладающие полным набором функций и имеющие максимальную производительность. Они используются в рабочих станциях и серверах с наращиваемой архитектурой, обеспечивая рекордную производительность серверам масштаба предприятия, таким, как Sun Enterprise 10000 (Starfire).

К семейству I сейчас относят микропроцессоры UltraSPARC IIi для однопроцессорных систем, имеющих низкое соотношение цена/производительность. Это достигается за счет оптимизации внешних интерфейсов процессора, размещения части функциональных устройств, например контроллеров интерфейсов, непосредственно на кристалле процессора и сокращения за счет этого числа внешних специализированных микросхем. На их базе разработаны такие популярные рабочие станции, как Sun Ultra 5 и Ultra 10.

Семейство E на сегодняшний день представлено микропроцессорами двух типов: microSPARC и UltraSPARC, которые предназначены для встроенного применения в тонких клиентах, сетевых интерфейсах, платах управления, модемах и других устройствах, требующих достаточной вычислительной мощности при минимальной стоимости и низком энергопотреблении. Процессоры UltraSPARC IIe, выпущенные осенью прошлого года, в скором времени должны заменить поколение microSPARC. Это обеспечит полную совместимость всех выпускаемых процессоров на программном уровне. Дело в том, что microSPARC представляет собой 32-разрядный процессор с архитектурой SPARC V8, которая использовалась до появления линии UltraSPARC.

Об успехах технологий Sun Microsystems говорит тот факт, что ежегодно на рынок поставляется более 8 млн. устройств, использующих ядро процессоров SPARC. Гибкая стратегия корпорации позволяет минимизировать риск, связанный с циклом разработки новых процессоров, а также защищает капиталовложения заказчиков в архитектуру SPARC путем обеспечения полной двоичной совместимости новых изделий с процессорами предыдущих поколений. В частности, стратегия уменьшения риска заключается в том, что при разработке каждого следующего процессора компания концентрирует свои усилия лишь на одном из трех основных аспектов: архитектуре процессора, технологии его производства или системе команд. Так, при создании процессоров с нечетными номерами версий (UltraSPARC I, III и V) Sun разрабатывает новые архитектурные решения, а процессоры с четными номерами версий (UltraSPARC II и IV) изготавливаются по улучшенной производственной технологии. При этом Sun Microsystems поддерживает полную двоичную совместимость, что избавляет заказчиков от сложной, рискованной и дорогой процедуры замены ОС, приложений и ПО промежуточного слоя.

При производстве процессоров SPARC Sun Microsystems тесно сотрудничает с компанией Texas Instruments (www.ti.com) и более 10 лет использует ее производственные мощности для производства полупроводников. Сотрудничество здесь обоюдовыгодное: технологии, которые применяются для создания процессоров, затем используются Texas Instruments при создании своих собственных продуктов. Новая технология, которая позволит разместить более 400 млн. транзисторов на одном кристалле, планируется Sun Microsystems для производства гигагерцовых процессоров UltraSPARC.

Появление SPARC

К моменту выпуска первого кристалла SPARC корпорация Sun Microsystems была несомненным лидером на рынке рабочих станций под UNIX, со своими продуктовыми линейками, базирующимися на процессорах Motorola 68020 и Intel 386. В 1987 г. на заводе Fujitsu был произведен первый 32-разрядный чип SPARC, который работал на тактовой частоте 36 МГц и показал производительность 16 MIPS. Именно на основе этого процессора была разработана первая рабочая станция Sun-4. Чуть позже тактовая частота процессоров SPARC была повышена до 40 МГц, а производительность - до 28 MIPS. Дальнейшее увеличение производительности процессоров с архитектурой SPARC было достигнуто за счет реализации в кристаллах принципов суперскалярной обработки. Так, процессор SuperSPARC-I, который компания Texas Instruments разработала на базе архитектуры SPARC V8 с использованием технологического процесса BiCMOS, стал основой серии рабочих станций и серверов SPARCstation/ SPARCserver 10 и 20. В зависимости от смеси команд он обеспечивал выдачу до трех команд за один машинный такт. Процессор SuperSPARC-I (STP1020N) имел сбалансированную производительность на операциях с фиксированной и плавающей точкой. Его отличительными особенностями были кэш-память емкостью 36 Кб (20 Кб для команд и 16 Кб - для данных), а также раздельные конвейеры целочисленной и вещественной арифметики. При тактовой частоте 75 МГц кристалл обеспечивал производительность около 205 MIPS. Вскоре на смену ему пришел 32-разрядный процессор SuperSPARC-II с более высокой производительностью. К середине 1995 г. тактовые частоты кристаллов SuperSPARC достигли 85 МГц. Стоит отметить, что SPARCstation 10 была первой настольной многопроцессорной (до четырех ЦПУ) машиной Sun Microsystems.

Компания Texas Instruments разработала также процессор microSPARC, работающий с тактовой частотой 50 МГц и имеющий встроенную кэш-память емкостью 6 Кб. Затем Sun Microsystems совместно с Fujitsu создали новую версию кристалла - microSPARC II. Это был 32-разрядный процессор с архитектурой SPARC V8 и кэш-памятью, увеличенной до 24 Кб, работающий на тактовых частотах 70, 85 и 110 МГц. Кристалл microSPARC II содержал целочисленное устройство, устройство управления памятью, устройство плавающей точки, раздельную кэш-память команд и данных, контроллер управления микросхемами динамической памяти и контроллер шины SBus. Новый процессор microSPARC-IIep включал также контроллер и шинный интерфейс PCI. Напряжение питания ядра было уменьшено до 3,3 В. Диапазон рабочих частот составлял 100-125 МГц.

В 1994 г. компания Ross Technology анонсировала процессоры hyperSPARC с тактовыми частотами 100, 125 и 150 МГц. Одной из главных задач, стоявших перед разработчиками hyperSPARC, было повышение производительности, особенно при выполнении операций с плавающей точкой. Особое внимание уделялось созданию простых и сбалансированных шестиступенчатых конвейеров целочисленной и вещественной арифметики. При производстве этих кристаллов использовался технологический КМОП-процесс с тремя уровнями металлизации и соблюдением проектных норм 0,5 мкм. Напряжение питания ядра составляло 3,3 В.

Архитектура UltraSPARC

В ноябре 1995 г. появились 64-разрядные процессоры UltraSPARC I, содержащие 5,2 млн. транзисторов и выполненные с учетом проектных норм 0,5 мкм. Тактовые частоты составили 143, 167 и 200 МГц. Кроме этого были объявлены процессоры UltraSPARC II с тактовыми частотами от 250 до 300 МГц. При ужесточении проектных норм до 0,25 мкм количество транзисторов должно было возрасти до 5,4 млн., а тактовые частоты - увеличиться до 336-450 МГц. За первые три года с начала производства было поставлено более миллиона процессоров UltraSPARC, что сделало их наиболее успешно продаваемым семейством RISC-процессоров для корпоративных приложений.

Стоит отметить, что в том же году фирмой HAL Computer, принадлежащей Fujitsu, был начат выпуск 64-разрядных кристаллов SPARC64, имеющих ту же архитектуру - SPARC V9. До настоящего времени SPARC64 и UltraSPARC конкурируют на рынке.

Основные характеристики UltraSPARC определили следующие конструктивные особенности:

- реализация на кристалле раздельной кэш-памяти команд и данных;

- организация широкой выборки команд (128 разрядов);

- создание эффективных средств динамического прогнозирования направления переходов;

- реализация девятиступенчатого конвейера, обеспечивающего выдачу до четырех команд в каждом такте;

- оптимизация конвейерных операций обращения к памяти;

- реализация команд обмена данными между памятью и регистрами плавающей точки, позволяющая не приостанавливать диспетчеризацию команд обработки;

- интеграция на кристалле устройства управления памятью;

- расширение набора команд для поддержки графики и обработки изображений;

- использование новой архитектуры шины UPA.

В состав UltraSPARC входят устройства предварительной выборки и диспетчеризации команд, целочисленной (исполнительное) и вещественной (с графическим блоком) арифметики, управления памятью, загрузки-записи, управления внешней кэш-памятью, управления интерфейсом памяти и кэш-памяти команд и данных.

Кэш-память команд представляет собой двухканальную множественно-ассоциативную кэш-память емкостью 16 Кб в виде 512 строк, содержащих по 32 байта данных. Для кэш-памяти данных с прямым отображением емкостью 16 Кб реализуется алгоритм сквозной записи. Она организована в виде 512 строк, содержащих по два 16-байтовых подблока данных. С каждой строкой связан соответствующий адресный тег. Все обращения к внешней кэш-памяти конвейеризованы, выполняются за три такта и осуществляют пересылку 16 байт команд или данных за такт.

Конвейерное устройство плавающей точки процессора UltraSPARC построено в соответствии со спецификациями архитектуры SPARC V9 и стандарта IEEE 754. Оно состоит из пяти отдельных функциональных устройств и обеспечивает выполнение графических операций и операций с плавающей точкой. Реализация раздельных исполнительных устройств позволяет UltraSPARC выполнять две операции вещественной арифметики в каждом такте.

В процессорах UltraSPARC II введен новый набор инструкций VIS (Video Instruction Set), включающий команды: упаковки и распаковки пикселов; параллельного сложения, умножения и сравнения данных, представленных в нескольких целочисленных форматах; выравнивания и слияния; обработки контуров изображений и адресации массивов.

Процессоры поддерживают алгоритмы компрессии, используемые для видеоприложений и обработки неподвижных изображений, включая H.261, MPEG-1, MPEG-2 и JPEG. Более того, они могут обеспечить скорости кодирования и декодирования, необходимые для организации видеоконференций в реальном масштабе времени.

Архитектура UPA (Ultra Port Architecture) определяет логические и физические интерфейсы порта системной шины и требования, накладываемые на организацию межсоединений. UPA не только поддерживает отдельные шины адреса и данных, но и позволяет иметь несколько шин с организацией соединений точка - точка. Это позволяет минимизировать количество циклов арбитража и уменьшает вероятность конфликтов.

Процессоры третьего тысячелетия

Выпуск нового процессора UltraSPARC III задержался на полтора года. Хотя опытный экземпляр кристалла появился еще в 1999-м, официальный анонс его состоялся только в сентябре 2000-го. На площади 300 кв. мм микросхема, выполненная с учетом проектных норм 0,18 мкм с шестью слоями металлизации, содержит 29 млн. транзисторов. Технологический процесс позволяет использовать как алюминиевые, так и медные межсоединения. Тактовые частоты составляют 600, 750 и 900 МГц. Резерв по частоте обеспечивает ее увеличение до 1,5 ГГц. Кристалл упакован в керамический корпус типа BGA с 1368 контактными выводами. Потребляемая мощность на частоте 750 МГц не превышает 70 Вт.

В состав устройства входят: шесть исполнительных блоков (четыре для целочисленной и два для вещественной арифметики); кэш-память команд и данных объемом 32 и 64 Кб соответственно; кэш-память предвыборки и записи объемом по 2 Кб каждая; системный интерфейс; контроллер основной памяти; контроллер кэш-памяти второго уровня; таблица тегов (с поддержкой внешней кэш-памяти до 8 Мб).

UltraSPARC III имеет 14-ступенчатый конвейер, причем шесть ступеней отводится на подготовку к выполнению команд, столько же - на их исполнение, а две последние являются завершающими. Устройство предсказания переходов представляет собой таблицу на 16 Кб значений, содержащую информацию об уже происшедших ветвлениях, и обеспечивает для тестов SPEC95 точность предсказаний на уровне 95%.

У процессора три внешних интерфейса: 128-разрядный канал обмена с основной памятью, 256-разрядный канал обмена с кэш-памятью второго уровня и 128-разрядный системный интерфейс. Производительность каналов процессор - память, шина - память и кэш-память - процессор составляет соответственно 2,4; 4,8 и 6,4 Гб/с. Сделанные нововведения позволяют в два-три раза повысить производительность процессора по сравнению с предыдущим поколением UltraSPARC.

По имеющейся информации, самой крупной системой на базе UltraSPARC III станет сервер под кодовым названием Serengeti, который будет поддерживать до 78 процессоров.