В 21164 работает четыре исполнительных блока (два для целых и два для чисел с плавающей точкой) и может обрабатывать по две команды каждого типа за такт. Он имеет четырехступенчатый конвейер команд, который "питает" отдельные конвейеры для целых чисел, чисел с плавающей точкой и конвейер памяти. По сравнению с прочими RISC-процессорами нового поколения чип 21164 имеет относительно глубокие и простые конвейеры, что позволяет запускать их с более высокой тактовой частотой.
Конвейер команд вообще не заботится о их зависимости по данным (в отличие от pentium Pro, который является ярким примером машины данных), он выдает команды в порядке их поступления на свой вход (в порядке следования по программе). Если текущие четыре команды невозможно послать сразу все на различные исполнительные блоки, то конвейер команд останавливается до тех пор, пока это не станет возможным. В отличие от конкурентов 21164 также не использует технику переименования регистров, вместо нее он непосредственно обновляет содержимое своих архитектурных регистров, когда результат достигает финальной ступени конвейера – write – back. Для борьбы с задержками и зависимостью команд по данным в процессоре активно используются маршруты для обхода регистров, поэтому совместно используемые операнды становятся доступными до стадии write - back.
Компания Digital продвигает Альфу как платформу для серверов Windows NT, а не как традиционный UNIX-сервер.
4.7. Процессоры Mips.
Mips процессор R1000 унаследовал свой суперскалярный дизайн от R8000, который предназначался для рынка суперкомпьютеров научного назначения. Но 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-тактовую задержку и не конвейеризированы, но они могут работать одновременно с блоками МАС.
В PA-8000 использован буфер переупорядочивания команд (IRB) глубиной 56 команд, позволяющий "просматривать" программу на следующие 56 команд вперед в поисках таких четырех команд, которые можно выполнить параллельно. IRB фактически состоит из двух 28-слотовых буферов. Буфер АЛУ содержит команды для целочисленного блока и блока плавающей точки, а буфер памяти - команды загрузки/записи.
Как только команда попадает в слот IRB, аппаратура просматривает все команды, отправленные на функциональные блоки, чтобы найти среди них такую, которая является источником операндов для команды, находящейся в слоте. Команда в слоте запускается только после того, как будет распределена на исполнение последняя команда, которая сдерживала ее. Каждый из буферов IRB может выдавать по две команды в каждом такте, и в любом случае выдается самая "старая" команда в буфере. Поскольку PA-8000 использует переименование регистров и возвращает результаты выполнения команд из IRB в порядке их следования по программе, тем самым поддерживается точная модель обработки исключительных ситуаций.
HP проектировала РА-8000 специально для задач коммерческой обработки данных и сложных вычислений, типа генной инженерии, в которых объем данных настолько велик, что они не умещаются ни в один из мыслимых внутрикристалльных КЭШей. Вот почему, РА-8000 полагается на внешние первичные КЭШи команд и данных. Слоты в третьем 28-слотовом буфере, который называется буфером переупорядочивания адресов (Adress – Recorder Buffer - ARB), один к одному ассоциированы со слотами в буфере памяти IRB. В АРВ содержатся виртуальные и физические адреса всех выданных команд загрузки/записи. Кроме того, АРВ допускает выполнение загрузок и записей в произвольном порядке, но с сохранением согласованности и сглаживанием влияния задержки, связанной с адресацией внешних КЭШей.
4.9. Процессоры Motorola.
Motorola/IBM процессор PowerPC620 это первая 64-битовая реализация архитектуры PowerPC. Имея 64-битовые регистры и внутренние магистрали данных и семь миллионов транзисторов, новому процессору требуется почти вдвое больший и сложный кристалл, чем у PowerPC 604. Модель 620 имеет четырехканальную суперконвейерную схему с шестью исполнительными устройствами: три целочисленных АЛУ, блок плавающей точки, блок загрузки/записи и блок переходов. Последний способен на четырехуровневое предсказание ветвлений в программе и условное исполнение с использованием схемы переименования регистров.
ПО микроархитектуре RISC-ядра 620-й похож на 604-й. Отличия сводятся в основном к ширине регистров и магистралей данных, а также к увеличенному числу станций резервирования для условного исполнения команд. Прибавка производительности достигнута за счет улучшенного шинного интерфейса. Теперь он имеет 128-битовый интерфейс к памяти, по которому за один цикл обращения можно выбрать два 64-битовых длинных слова, и 40-битовая шина адреса, по которой можно адресовать до одного терабайта физической памяти.
В состав шинного интерфейса входить также поддержка кэш-памяти второго уровня объемом до 128 Мбайт, которая может работать на четверти, половине или на полной скорости ЦПУ.
5. Лабораторные испытания и тестирование микропроцессоров.
5.1. Лабораторные испытания процессоров i386DX.
В 1992 году на рынке появилось три новых МП, способных заместить существующие 386DX и обеспечить повышение характеристик систем на основе i386. Это: Intel RapidCAD, Chips& Technologies 38600DX, и Cyrix 486DLC. В настоящий момент предлагаются только версии 33 МГц, хотя C&T и Cyrix обещают выпустить в начале 1993 года вариант 40 МГц. Конечно, на такой частоте можно заставить работать и 33 МГц вариант, но мой опыт показывает, что это ненадежно, в любой момент машина может зависнуть. Intel RapidCAD распространяется, как продукт для конечных пользователей, т.е. в машину его устанавливают именно они. Напротив, C&T и Cyrix поставляют свои процессоры и производителям. Cyrix также производит процессор 486SLC, заменяющий Intel/AMD 386SX. C&T объявил о создании процессора 38600SX, но в продаже он появится только в 1993 году, если вообще появится.