4.5. Процессоры Sun Microsystems.
Sun Microsystems процессор UltraSparc-II. Впервые вводя RISC-технологию, SUN в 1988 году объявила SPARC в качестве масштабируемой архитектуры, с запасом на будущее. Однако, с 1993 года реализация SuperSparc стала на шаг отставать от своих конкурентов.
С появлением UltraSparc, четвертого поколения архитектуры SPARC, компания связывает надежды на восстановление утраченных озиций. Он содержит ни много ни мало, но девять исполнительных блоков: два целочисленных АЛУ, пять блоков вычислений с плавающей точкой (два для сложения, два для умножения и одно для деления и извлечения квадратного корня), блок предсказания адреса перехода и блок загрузки/записи. UltraSparc содержит блок обработки переходов, встроенный в первичную кэш команд, и условно выполняет предсказанные переходы, но не может выдавать команды с нарушением их очередности. Эта функция перекладывается на оптимизирующие компиляторы.
Архитектура SPARC всегда имела регистровые окна, т.е. восемь перекрывающихся банков по 24 двойных регистра, которые могут предотвратить остановки процессора в моменты комплексного переключения, связанные с интенсивными записями в память. Разработчики компиляторов склонны считать эти окна недостаточным решением, поэтому в UltraSparc используется иерархическая система несвязанных шин. Шина данных разрядностью 128 бит работает на одной скорости с ядром процессора. Она соединяется через буферные микросхемы с 128-разрядной системной шиной, работающей на частоте, составляющей половину, треть или четверть скорости процессорного ядра. Для согласования с более "медленной" периферией служит шина ввода-вывода Sbus.
Фирма Sun реализует эту схему на аппаратном уровне с помощью коммутационной микросхемы, являющейся составной частью схемного комплекта окружения. Эта микросхема может изолировать шину памяти от шины ввода-вывода, так что ЦПУ продолжает, например, запись в графическую подсистему или в иное устройство ввода-вывода, а не останавливается во время чтения ОЗУ. Такая схема гарантирует полное использование ресурсов шины и установившуюся пропускную способность
1.3 Гигабайт/с.
В процессоре UltraSparc-II используется система команд Visual Instruction Set (VIS), включающая 30 новых команд для обработки данных мультимедиа, графики, обработки изображений и других целочисленных алгоритмов. Команды VIS включают операции сложения, вычитания и умножения, которые позволяют выполнять до восьми операций над целыми длинной байт параллельно с операцией загрузки или записи в память и с операцией перехода за один такт. Такой подход может повысить видеопроизводительность систем.
4.6. Процессоры Digital Equipment.
Digital Equipment процессор Alpha наиболее тесно следует в русле RISC-философии по сравнению со своими конкурентами, "посрезав излишки сала" с аппаратуры и системы команд с целью максимального спрямления маршрута прохождения данных. Разработчики Alpha уверены, что очень высокая частота чипа даст вам большие преимущества, чем причудливые аппаратные излишества. Их принцип сработал: кристалл 21164 был самым быстрым в мире процессором со дня своего появления в 1995 году. Процессор 21164 в три раза быстрее на целочисленных вычислениях, чем Pentium-100, и превосходит на обработке числе с плавающей точкой, чем суперкомпьютерный набор микросхем R8000 фирмы Mips. Топология процессора следующего поколения 21164А не изменилась, но она смаштабирована, кроме того, модернизирован компилятор, что повысило производительность на тестах SPECmarks. Предполагается, что готовые образцы нового процессора, изготовленные по КМОП-технологии с нормами 0.35 микрон, при тактовой частоте свыше 300 МГц будут иметь производительность 500 по SPECint92 и 700 по SPECfp92.
Процессоры семейства 21164 на прибегают к преимуществам исполнения не в порядке очередности (out-of-order), больше полагаясь на интеллектуальные компиляторы, которые могут генерировать коды, сводящие к минимуму простои конвейера. Это самый гигантский процессор в мире - на одном кристалле размещено 9.3 миллиона транзисторов, большая часть которых пошла на ячейки кэш-памяти. Alpha 21164 имеет на кристалле относительно небольшую первичную кэш прямого отображения на 8 Кбайт и 96 Кбайт вторичной. За счет вздувания площади кристалла достигнута беспрецедентная производительность кэширования.
В 21164 работает четыре исполнительных блока (два для целых и два для чисел с плавающей точкой) и может обрабатывать по две команды каждого типа за такт. Он имеет четырехступенчатый конвейер команд, который "питает" отдельные конвейеры для целых чисел, чисел с плавающей точкой и конвейер памяти. По сравнению с прочими RISC-процессорами нового поколения чип 21164 имеет относительно глубокие и простые конвейеры, что позволяет запускать их с более высокой тактовой частотой.
Конвейер команд вообще не заботится о их зависимости по данным (в отличие от pentium Pro, который является ярким примером машины данных), он выдает команды в порядке их поступления на свой вход (в порядке следования по программе). Если текущие четыре команды невозможно послать сразу все на различные исполнительные блоки, то конвейер команд останавливается до тех пор, пока это не станет возможным. В отличие от конкурентов 21164 также не использует технику переименования регистров, вместо нее он непосредственно обновляет содержимое своих архитектурных регистров, когда результат достигает финальной ступени конвейера - write-back. Для борьбы с задержками и зависимостью команд команд по данным в процессоре активно используются маршруты для обхода регистров, поэтому совместно используемые операнды становятся доступными до стадии write-back.
Компания Digital продвигает Альфу как платформу для серверов Windows NT, а не как традиционный UNIX-сервер.
4.7. Процессоры Mips.
Mips процессор R1000 унаследовал свой суперскалярный дизайн от R8000, который предназначался для рынка суперкомпьютеров научного назначения. Hо R1000 ориентирован на массовые задачи. Использование в R1000 динамического планирования команд, которое ослабляет зависимость от перекомпиляции ПО, написанного для более старых процессоров, стало возможным благодаря тесным связям Mips со своим партнером Silicon Graphics, имеющим богатейший тыл в виде сложных графических приложений.
R1000 первый однокристалльный процессор от Mips. Для предотвращения остановок конвейера в нем использовано динамическое предсказание переходов, с четырьмя уровнями условного исполнения, с использованием переименования регистров, гаранитирующего что результаты не будут передаваться в реальные регистры до тех пор, пока неясность по команде перехода не будет снята. Процессор поддерживает "теневую карту" отображения своих регистров переименования. В случае неверного предсказания адреса перехода он просто восстанавливает эту карту отображения, но не выполняет фактической очистки регистров и "промывки" буферов, экономя таким образом один такт.
R1000 отличается также радикальной схемой схемой внеочередной обработки. Порядок следования команд в точном соответствии с программой сохраняется на трех первых ступенях конвейера, но затем поток разветвляется на три очереди (где команды дожидаются обработки на целочисленном АЛУ, блоке вычислений с плавающей точкой и блоке загрузки/записи). Эти очереди уже обслуживаются по мере освобождения того или иного ресурса.
Предполагаемая производительность R1000, выполненного по КМОП-технологии с нормами 0.35 микрон должна достичь 300 по SPECint92 и по SPECfp92.
Программный порядок в конце концов восстанавливается так, что самая "старая" команда покидает обработку первой. Аппаратная поддержка исполнения в стиле out-of-order дает большие преимущества конечному пользователю, так как коды, написанные под старые скалярные процессоры Mips (например, R4000), начинают работать на полной скорости и не требуют перекомпиляции. Хотя потенциально процессор R1000 способен выдавать по пять команд на исполнение в каждом такте, он выбирает и возвращает только четыре, не успевая закончить пятую в том же такте.
Одно из двух устройств для вычисления двойной точности с плавающей точкой занято сложениями, а другое умножениями/делениями и извлечением квадратного корня. Hа кристалле R1000 реализован также интерфейс внешней шины, позволяющий связывать в кластер до четырех процессоров без дополнительной логики обрамления.
4.8. Процессоры Hewlett-Packard.
Hewlett-Packard процессор PA-8000. Компания Hewlett-Packard одной из первых освоила RISC-технологию, выйдя еще в 1986 году со своим первым 32-разрядным процессором PA-RISC. Практически все выпускаемые процессоры PA-RISC используются в рабочих станциях HP серии 9000. В период с 1991 по 1993 (перед появлением систем на базе PowerPC) HP отгрузила достаточно много таких машин, став крупнейшим продавцом RISC-чипов в долларовом выражении.
С целью пропаганды своих микропроцессоров среди других производителей систем компания HP стала организатором организации Precision RISC Organization (PRO). А в 1994 году компания взорвала бомбу, объединившись с Intel для создания новой архитектуры. Это поставило под сомнение будущее PRO.
PA-8000 это 64-разрядный, четырехканальный суперскалярный процессор с радикальной схемой неупорядоченного исполнения программ. В составе кристалла десять функциональных блоков, включая два целочисленных АЛУ, два блока для сдвига целых чисел, два блока multiply/accumulate (MAC) для чисел с плавающей запятой, два блока деления/извлечения квадратного корня для чисел с плавающей запятой и два блока загрузки/записи. Блоки МАС имеют трехтактовую задержку и при полной загрузке конвейера на обработке одинарной точности обеспечивают производительность 4 FLOPS за такт. Блоки деления дают 17-тактовую задержку и не конвейеризированы, но они могут работать одновременно с блоками МАС.