Современные высокопроизводительные компьютеры

       

Процессор MC88110 компании Motorola


Процессор 88110 относится к разряду суперскалярных RISC-процессоров. Основные особенности этого процессора связаны с использованием принципов суперскалярной обработки, двух восьмипортовых регистровых файлов, десяти независимых исполнительных устройств, больших по объему внутренних кэшей и широких магистралей данных.

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

Процессор имеет 10 исполнительных устройств, которые работают одновременно и независимо, и два регистровых файла. Файл регистров общего назначения имеет 32-битовую организацию. Расширенные регистры плавающей точки имеют 80-битовую организацию. Эти регистровые файлы снабжены шестью портами чтения и двумя портами записи каждый.

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

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

Рис. 8.8. Блок-схема процессора MC 88110

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

В процессоре предусмотрено несколько способов ускорения обработки условных переходов. Один из них, предсказание направления перехода, позволяет компилятору сообщить процессору предпочтительное направление перехода. Для выполняемых переходов используется буфер целевых адресов перехода емкостью 32 строки, позволяющий быстро выбрать две команды по целевому адресу перехода. Механизм предсказания направления переходов позволяет одновременно выполнять эти команды и оценивать условие перехода. Для предсказанного направления перехода разрешено спекулятивное (условное) выполнение команд. Если направление перехода предсказано неверно, исходное состояние процессора восстанавливается с помощью буфера истории. Выполнение программы в этом случае будет продолжено с "правильной" команды.

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

В устройстве загрузки/записи реализован буфер загрузки FIFO на четыре строки и три станции резервирования операций записи, что позволяет иметь в каждый момент времени до 4 отложенных команд загрузки и до трех команд записи. Выполнение этих команд внутри устройства может переупорядочиваться для обеспечения большей эффективности.

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


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