Микропроцессор Alpha 21164

Особенности архитектуры

· Высокая (относительно) тактовая частота

· Высокая степень конвейеризации выполняемых операций (до 10 тактов на операцию)

Микропроцессор Alpha 21064 имеет 64-разрядную суперскалярную RISC-архитектуру с двумя исполнительными конвейерами. Микропроцессор может выполнять за один такт до двух команд с фиксированной и плавающей точкой или команду перехода. Блок предсказания перехода обеспечивает вероятность правильного прогноза 0,8.

Микропроцессор содержит на кристалле раздельные кэш-памяти команд и данных, каждый емкостью 16 Кбайт, 32 регистра с плавающей точкой и 32 регистра с фиксированной точкой. Кэш второго уровня - внешний - может составлять от 128 Кбайт до 16 Кбайт. Тактовая частота шины в системе может быть в 2,5 - 10 раз меньше, чем частота работы микропроцессора. Ширина внешних шин адреса и данных составляет 43 и 128 бит соответственно. В микропроцессорах Alpha 21064 не используется сложная логика переупорядочивания команд и переименования регистров. Обеспечение эффективной загрузки исполнительных устройств возлагается на компилятор.

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

Микропроцессор Alpha 21264 имеет сложный механизм динамического исполнения команд:

· Динамическое планирование с изменением последовательности команд (Out-of-Order). Эффективность выполнения Out-of-Order определяется количеством инструкций, которыми может манипулировать ЦП в целях определения оптимального порядка выполнения команд. Инструкции выполняются не порядку, а в зависимости от готовности операндов. Чем больше инструкций ЦП может для этого использовать, тем лучше, тем дальше он может заглядывать вперед. Процессоры Intel класса Р6 (Pentium Pro, Pentium II, Xeon) могут одновременно обращаться не менее чем с 40 командами. У других процессоров данный показатель значительно больше: PA-8000 фирмы HP оперирует 56 командами, а процессор Alpha справляется с 80 командами.

· Переименование регистров (Register Renaming). Каждый регистр процессора на самом деле представляет собой несколько параллельных регистров, хранящих несколько версий значения. Используется для реализации спекулятивного исполнения.

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

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

· UNIX или Windows NT серверы;

· Серверы баз данных (начиная от Oracle и заканчивая распространенными mysql и posgres);

· Интернет www или ftp серверы;

· Прокcи и Firewall серверы;

· Станции обработки данных для геоинформационных систем;

· CAD/CAM станции;

· Станции издательских систем;

· 3D станции;

· отказоустойчивые корпоративные серверы.

Развитие архитектур современных МП

Рассмотрим основные этапы эволюции микропроцессорных архитектур. С развитием архитектур менялся состав операций и их сложность (CISCи RISC), а также место хранения операндов, что влияет на количество и длину адресов, указываемых в адресной части команд обработки данных.

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

Для загрузки в аккумулятор содержимого ячейки х предусмотрена команда загрузки loadx, а запись содержимого аккумулятора в ячейку х происходит при помощи команды storex.

Достоинствами аккумуляторной АСК можно считать короткие команды и простоту декодирования команд. Однако наличие всего одного регистра порождает многократные обращения к основной памяти.

Второе поколение (1954–1962) ознаменовалось переходом от электронных ламп к полупроводниковым диодам и транзисторам со временем переключения порядка 0.3 мс. Появление регистрового файла позволило организовать машины либо с регистровой архитектурой, либо со стековой архитектурой. Тогда стековая архитектура превалировала над регистровой, благодаря очень компактному коду. Безоперандные команды брали аргументы из стека и клали результат в стек. Для кодирования такой команды достаточно нескольких бит. В условиях ограниченности объёма доступной памяти это было очень веским преимуществом. В дальнейшем появление полупроводниковых запоминающих устройств привело к резкому увеличению объёма оперативной памяти и, соответственно, к бесперспективности стековой архитектуры.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: