Смекни!
smekni.com

Архитектура и производительность серверных ЦП (стр. 9 из 13)

Необходимо отметить, что в отличие от активно развивавшегося поколения РА-7х00 в архитектуру ядра процессоров РА-8х00 не было внесено никаких серьезных изменений с момента их появления. Очевидно, что уже в то время руководство компании рассматривало вариант прекращения разработки этой архитектуры, и только затянувшийся запуск архитектуры Itanium позволил ей дожить до наших дней.

Все ЦП архитектуры РА-RISC, использующие системную шину Runway, позволяют создавать четырехканальные многопроцессорные системы. ЦП архитектуры РА-RISC использовались исключительно в серверах и рабочих станциях Hewlett-Packard и ее ближайших партнеров, таких, как Hitachi, Convex и Stratus. В свободную продажу они никогда не поступали.

К сожалению, компания Hewlett-Packard не пополняет базу данных SPEC2000 результатами систем с РА-8800 и РА-8900. Тем не менее, основываясь на показателях РА-8700 и приняв во внимание, что вдвое меньший размер D-cache, подключенного к каждому ядру, вполне компенсируется более высокой пропускной способностью системной шины, можно предположить, что производительность этих ЦП должна оцениваться 800—900 баллами как для SPECint2000, так и для SPECfp2000. Этого уже недостаточно для современных серверных ЦП. Добавление больших объемов кэш-памяти не приведет к значительному росту производительности, зато увеличит стоимость ЦП при производстве, а полная перепроектировка ядра требует значительных финансовых и временных затрат, поэтому решение Hewlett-Packard окончательно перейти на архитектуру Itanium выглядит вполне обоснованным.

Sun SPARC

Основы архитектуры SPARC (Scalable Processor ARChi-tecture, масштабируемая процессорная архитектура) были заложены в ходе работы над проектами RISC I и RISC II, проводимых в 1980-1982 гг. в университете Беркли (Калифорния, США) Дэвидом Паттерсоном (Dave Patterson), Манолисом Катевенисом (Manolis Katevenis) и Робертом Шерберном (Robert Sherburne). Компания Sun Microsystems, которая добилась того, что архитектура стала коммерчески успешной, была основана в феврале 1982 г. группой студентов, закончивших Стэнфордский университет: Скоттом МакНили (Scott McNealy), Вильямом Джоем (William Joy), Андреасом Бехтольсхаймом (Andreas Bechtolsheim) и Ви-нодом Хослой (Vinod Khosla).

Официальным началом разработки этой архитектуры принято считать момент, когда в 1984 г. Джой, вице-президент Sun по НИОКР, пригласил Паттерсона консультантом в компанию. Год спустя архитектура SPARC была представлена официально. Первая аппаратная реализация появилась в июле 1987 г. в виде рабочих станций Sun-4/260 и Sun-4/280, а вскоре Sun-4/ПО и Sun-4/150. В «железе» была реализована седьмая версия — SPARC V7. В то время архитектура SPARC была 32-бит, так как явной необходимости в 64-бит вычислениях и адресном пространстве тогда еще не наблюдалось (персональные компьютеры того времени еще только переходили на 32-бит вычисления).

Архитектура SPARC V7 обладала следующими особенностями:

длина любой команды составляет ровно 4 байта,

только команды загрузки-сохранения имеют доступ к оперативной памяти,

предусмотрен только один режим адресации (регистр+смещение на величину другого регистра или 13 бит

стековая регистровая модель (для любой программы доступно восемь основных 32-бит регистров и часть стека, состоящая из 24 вспомогательных 32-бит регистров), а также вещественные регистры.

Суть стековой регистровой модели архитектуры SPARC состоит в том, что для каждой запускаемой функции доступно 32 целочисленных регистра:

восемь глобальных регистров,

восемь входящих регистров (в которых находятся параметры, с которыми ьыла вызвана данная функция),

восемь регистров для локальных данных,

восемь исходящих регистров (в которых находятся

параметры, с которыми будет вызвана некоторая подфункция данной функции),

Очевидно, что те регистры, которые являются исходящими для данной функции, в то же время и входящие для ее некоторой подфункции. Другими словами, для каждой функции непосредственно выделяется только 16 вспомогательных регистров, а также обеспечивается доступ к восьми вспомогательным регистрам вышестоящей функции и восьми глобальным регистрам. Необходимые вспомогательные регистры выделяются функциями ОС из числа свободных. Преимущество такой регистровой модели — очень быстрое переключение задач (context switch), так как нет необходимости каждый раз сбрасывать данные из регистров в кэш или оперативную память, а потом считывать обратно в регистры, достаточно просто переместить регистровое «окно» в нужное место стека регистров.

В спецификации SPARC V8 документировано 32 32-бит вещественных регистра, которые могут быть при необходимости адресованы как 16 64-бит или 8 128-бит, предусмотрена возможность одновременного использования различной адресации. В SPARC V9 были регламентированы 16 дополнительных 64-бит регистров.

В 1991 г. вышла восьмая версия архитектуры SPARC (SPARC V8) — конструктивная доработка предыдущей, но все-таки еще 32-бит. Основными отличиями от 7-й версии было обязательное разделение кэша 1-го уровня на I-cache и D-cache, а также использование ранее отсутствовавших команд целочисленного умножения и деления. В мае 1992 г. Sun выпустила семейство рабочих станций SPARCstation 10, базирующихся на ЦП 8-й версии архитектуры, SuperSPARC (TMS390), совместно разработанном Sun и Texas Instruments. ЦП располагал I-cache размером в 20 Кбайт с пятиканальной ассоциативностью и D-cache размером 16 Кбайт с четырехканальной ассоциативностью, встроенным математическим сопроцессором и работал на тактовых частотах до 50 МГц. Кроме того, готовые системы обычно комплектовались B-cache. Сначала семейство SPARCstation 10 насчитывало четыре модели:

модель 30 с одним 36-МГц ЦП, без B-cache, с 32- Мбайт RAM и 420-Мбайт HDD за 18,5 тыс. долл. США;

модель 41 с одним 40-МГц ЦП, 1-Мбайт B-cache, 32-Мбайт RAM и 420-Мбайт HDD за 25 тыс. долл. США;

модель 52 с двумя 45-МГц ЦП, 1-Мбайт B-cache на каждый, 64-Мбайт RAM и 1-Гбайт HDD за 40 тыс.

модель 54 с четырьмя 45-МГц ЦП, 1-Мбай B-cache на каждый, 64-Мбайт RAM и 1-Гбайт HDD за 58 тыс. долл. США.

Вскоре было выпущено семейство рабочих станций SPARCstation 20, а также модернизирован появившийся в предыдущем году первый многопроцессорный сервер Sun — SPARCserver 600MP.

В 1992 г. вышла спецификация на версию 9 архитектуры (SPARC V9), которая должна была стать полностью 64-бит, но первых ЦП, удовлетворяющих ее требованиям, пришлось ждать еще несколько лет.

Первый ЦП с архитектурой SPARC V9 состоял из четырехстадийного одноконвейерного Е-box с одноконвейерным A-box?, a также из C-box с интерфейсом для 64-Кбайт внешнего унифицированного кэша с прямым отображением. Поскольку в ЦП не был предусмотрен F-box, использовался математический сопроцессор. Тактовая частота ЦП составляла 16 МГц (Sun4-260, Sun-4/280) или 14 МГц (Sun-4/ПО, Sun-4/150). Микросхема была создана совместно компаниями Sun и Fujitsu, изготавливалась на мощностях последней и маркировалась как МВ86900. Ими же была спроектирована микросхема контроллера математического сопроцессора (МВ86910), а сам сопроцессор состоял из двух микросхем — Weitek 1164 и 1165. Другими словами, первый SPARC состоял из четырех отдельных микросхем. Через некоторое время появился новый контроллер и новый сопроцессор к нему — Texas Instruments 8847. Они были применены в Sun-4/260 и Sun-4/280.

В октябре 1992 г. на Microprocessor Forum был официально представлен ЦП microSPARC — удешевленная версия SuperSPARC, также совместной разработки Sun и Texas Instruments. ЦП работал на тактовой частоте 50 МГц, располагал 4-Кбайт I-cache и 2-Кбайт D-cache, а самое главное — встроенным математическим сопроцессором. Этот ЦП предназначался для недорогих рабочих станций, которыми стали сразу же выпущенные SPARCclassic и SPARCstation LX по 4500 и 8000 тыс. долл. США соответственно. В 1993 г. появилась модификация этого ЦП, microSPARC II, с тактовой частотой от 60 МГц, 16-Кбайт I-cache и 8-Кб D-cache без B-cache. На его основе были выпущены популярные рабочие станции SPARCstation Voyager и SPARCstation 5.

В 1989 г. была представлена первая независимая разработка компании Cypress — ЦП 601. Впоследствии подразделение по созданию ЦП SPARC было выделено в дочернюю компанию Ross Technology, которая в мае 1992 г. анонсировала ЦП hyperSPARC. В мае 1993 г. Fujitsu приобрела контрольный пакет компании Cypress, а уже в августе того же года в продажу поступили 55- и 66-МГц версии hyperSPARC. В дальнейшем Ross предлагала разные версии hyperSPARC с тактовой частотой до 200 МГц и выше для модернизации рабочих станций и серверов компании Sun, в частности SPARCstation 10 и 20, а также SPARCserver 600МР. Еще одной оригинальной разработкой компании был SPARCplug — компактный модуль расширения, содержащий до двух ЦП hyperSPARC. ЦП Ross также применялись в некоторых моделях рабочих станций и серверов Sun. Однако к 1998 г. компания столкнулась с серьезными финансовыми проблемами, а после отказа Fujitsu от дальнейших капиталовложений руководству Ross пришлось распродавать активы и закрывать компанию.

Другой фирмой, работавшей над архитектурой SPARC, была Weitek. Кроме выпуска математических сопроцессоров для первых рабочих станций и серверов, в 1993 г. она представила SPARC PowerUP ЦП с тактовой частотой 80 МГц, предназначенный для модернизации Sun SPARCstation 2.

Еще одним важным участником рынка SPARC была HAL Computer Systems, основанная в 1990 г. бывшим инженером IBM Эндрю Хеллером (Andrew Heller), главным разработчиком архитектуры POWER. После согласия Fujitsu финансировать компанию была развернута разработка 64-бит SPARC64. Когда Хеллер ушел из компании (в конце 1993 г.), она стала структурой Fujitsu. В июне 1994 г. был получен первый работоспособный прототип SPARC64, а в феврале 1995 г. на ISSCC он был официально представлен, на три месяца опередив разработку самой Sun. Этот ЦП содержал беспрецедентно большие встроенные I-cache и D-cache — по 128 Кбайт каждый, B-cache отсутствовал. Следующий ЦП, SPARC64 GP, был выпущен в 1998 г. В нем был предусмотрен B-cache (от 2 до 8 Мбайт), процессор работал на более высоких тактовых частотах (до 810 МГц). В октябре 1999 г. на Microprocessor Forum главный разработчик SPARC64 V от HAL Computer Systems Майкл Шебанов (Michael Shebanow) открыл ключевые моменты архитектуры, несколько напоминавшей NetBurst: очень высокие тактовые частоты, кэш команд типа trace cache, очень быстрый 8-Кбайт D-cache. S-cache размером 512 Кбайт предполагалось разделить на сегменты для данных и команд, что было уникальным решением. Ядро ЦП получилось сравнительно большим — 65 млн. транзисторов. При использовании шестислойного 170-нм технологического процесса площадь ядра составила бы 380 мм2. Скорее всего, руководство Fujitsu сочло разработку экономически нецелесообразной, а потому в середине 2001 г. закрыло компанию HAL.