Введение в архитектуру компьютеров

Особенности архитектуры Alpha компании DEC


В настоящее время семейство микропроцессоров с архитектурой Alpha представлено несколькими кристаллами, имеющими различные диапазоны производительности, работающие с разной тактовой частотой и рассеивающие разную мощность.

Первым на рынке появился 64-разрядный микропроцессор Alpha (DECchip 21064). Он представляет собой RISC-процессор в однокристальном исполнении, в состав которого входят устройства целочисленной и плавающей арифметики, а также кэш-память емкостью 16 Кб. Кристалл проектировался с учетом реализации передовых методов увеличения производительности, включая конвейерную организацию всех функциональных устройств, одновременную выдачу нескольких команд для выполнения, а также средства организации симметричной многопроцессорной обработки.

В кристалле имеются два регистровых файла по 32 64-битовых регистра: один– для целых чисел, второй – для чисел с плавающей точкой. Для обеспечения совместимости с архитектурами MIPS и VAX архитектура Alpha поддерживает арифметику с одинарной и двойной точностью как в соответствии со стандартом IEEE 754, так и в соответствии с внутренним для компании стандартом арифметики VAX.

В конце 1993 г. появилась модернизированная версия кристалла – модель 21064А, имеющая на кристалле кэш-память удвоенного объема и работающая с тактовой частотой 275 МГц.

Затем были выпущены модели 21066 и 21068, оперирующие на частоте 166 и 66 МГц. Отличительной особенностью этой ветви процессоров Alpha является реализация на кристалле шины PCI. Отличительная особенность модели 21068 – низкая потребляемая мощность (около 8 Вт). Основное предназначение этих двух новых моделей – персональные компьютеры и од



ноплатные ЭВМ.

На рис. 4.8 представлена схема микропроцессора 21066.

Рис. 4.8. Основные компоненты процессора Alpha 21066

Кэш-память команд представляет собой кэш прямого отображения емкостью 8 Кб. Команды, выбираемые из этой кэш-памяти, могут выдаваться попарно для выполнения в одно из исполнительных устройств.
Кэш-память данных емкостью 8 Кб также реализует кэш с прямым отображением. При выполнении операций записи в память данные одновременно записываются в этот кэш и в буфер записи. Контроллер памяти или контроллер ввода-вывода шины PCI обрабатывает все обращения, которые проходят через расположенные на кристалле кэш-памяти первого уровня.

Контроллер памяти прежде всего проверяет содержимое внешней кэш-памяти второго уровня, которая построена на принципе прямого отображения и реализует алгоритм отложенного обратного копирования при выполнении операций записи. При обнаружении промаха контроллер обращается к основной памяти для перезагрузки соответствующих строк кэш-памяти. Контроллер ввода-вывода шины PCI обрабатывает весь трафик, связанный с вводом-выводом.

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

Рис. 4.9. Пример построения системы на базе микропроцессора Alpha 21066

Конструкция поддерживает до четырех банков динамической памяти, каждый из которых может управляться независимо, что дает определенную гибкость при организации памяти и ее модернизации. Один из банков может заполняться микросхемами видеопамяти (VRAM) для реализации дешевой графики. Контроллер памяти прямо работает с видеопамятью и поддерживает несколько простых графических операций. Мостовая микросхема интерфейса ISA позволяет подключить к системе низкоскоростные устройства типа модема, флоппи-дисковода и т. д.

Модернизированная версия этого микропроцессора, новый кристалл Alpha 21066A, помимо интерфейса PCI, содержит на кристалле интегрированный контроллер памяти и графический акселератор.


Эти характеристики позволяют значительно снизить стоимость реализации систем, базирующихся на Alpha 21066A, и обеспечивают простой и дешевый доступ к внешней памяти и периферийным устройствам. Alpha 21066A имеет две модификации в соответствии с частотой 100 МГц и 233 МГц.

Микропроцессор Alpha 21164 представляет собой вторую реализацию архитектуры Alpha. Микропроцессор 21164, представленный в сентябре 1994 г., выполняет до четырех инструкций за такт. На кристалле микропроцессора 21164 размещено около 9,3 млн транзисторов, большинство из которых образуют кэш. Кристалл построен на базе 0,5-микронной КМОП технологии компании DEC.

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

На рис. 4.10 представлена схема процессора, который включает  пять

функциональных устройств: устройство управления потоком команд (IBOX); целочисленное устройство (EBOX); устройство плавающей точки (FBOX); устройство управления памятью (MBOX) и устройство управления кэш-памятью и интерфейсом шины (CBOX). На рисунке представлены три вида кэш-памяти. Кэш-память команд и кэш-память данных представляют собой первичные кэши, реализующие прямое отображение.

Множественно-ассоциативная кэш-память второго уровня предназначена для хранения команд и данных. Длина конвейеров процессора 21164 варьируется от 7 ступеней для выполнения целочисленных команд и 9 ступеней для реализации команд с плавающей точкой до 12 ступеней при выполнении команд обращения к памяти в пределах кристалла и переменного числа ступеней при выполнении команд обращения к памяти за пределами кристалла.

Устройство управления потоком команд осуществляет выборку и декодирование команд из кэша команд и направляет их для выполнения в соответствующие исполнительные устройства после разрешения всех конфликтов по регистрам и функциональным устройствам.


Оно управляет выполнением программы и всеми аспектами обработки исключительных ситуаций, ловушек и прерываний. Кроме того, обеспечивает управление всеми исполнительными устройствами, контролируя все цепи обхода данных и записи в регистровый файл.

Целочисленное исполнительное устройство выполняет целочисленные команды, вычисляет виртуальные адреса для всех команд загрузки и записи, обрабатывает целочисленные команды условного перехода и другие команды управления. Оно включает в себя регистровый файл и несколько функциональных устройств, расположенных на четырех ступенях двух параллельных конвейеров. Первый конвейер содержит сумматор, устройство логических операций, сдвигатель и умножитель. Второй конвейер содержит сумматор, устройство логических операций и устройство выполнения команд управления.

Устройство плавающей точки состоит из двух конвейерных исполнительных устройств: конвейера сложения, который выполняет все команды плавающей точки, за исключением команд умножения, и конвейер умножения, который выполняет команды умножения с плавающей точкой.

Рис 4.10. Блок-схема процессора Alpha 21164

Устройство управления памятью выполняет все команды загрузки, записи и барьерные операции синхронизации. Оно содержит полностью ассоциативный 64-строчный буфер преобразования адресов (DTB), 8 Кб кэш-память данных с прямым отображением, файл адресов промахов и буфер записи.

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


Содержание раздела