Скачиваний:
24
Добавлен:
21.02.2014
Размер:
39.94 Кб
Скачать

RISK­ – процессоры.

Рассмотрим структуру и функционирование RISK­ – процессора на примере процессора семейства Р6.

Особенности данных процессоров:

  • гарвардская структура: разделение потоков команд и данных;

  • суперкамерная архитектура: обеспечивает выполнение сразу нескольких команд;

  • динамическое выполнение команд: изменение последовательности команд, предсказание ветвлений;

  • двойная независимая шина: шина для обращения к КЭШ L2 и системная шина (частота системной платы).

Общая структура Р6 (рис.1.1).

Принцип работы.

Блок внешнего интерфейса BIU (Bus Interface Umt) реализует протоколы обмена с системной шиной, к α подключаются активные устройства системы и шиной L2.

Команды по внутренней шине команд поступают в L1K. Блок выборки-декодирования выбирает из L1K 32 байта командного кода (32 байта = 256 бит = 1 строке L1K). Из выбранных команд выделяются простые, для выполнения α достаточно одной микрооперации. К ним относятся: +, –, логические операции, использующие адресацию операндов. Обработка этих команд происходит в DC1, DC2.

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

Т.о. блок выборки-декодирования обеспечивает шесть потоков микрокоманд для параллельного выполнения трех команд программы.

При обнаружении команды условного перехода подключается блок предсказывающий ветвление.

После формирования потоков микрокоманд блок распределения регистров (Register Alias Table) выделяет для каждого указанного в команде регистра (логического) один из физических регистров, входящих в блок регистров замещения RRF (Retirement Register File).

Блок ROB (Re-Order Buffer) реализован в виде буфера. Одновременно в ROB могут находиться до 40 микрокоманд. Команды выполняются не по мере поступления, а по мере согласованности операндов и исследовательных устройств. Естественный порядок следования команд нарушается для обеспечения более полной загрузки исполнительных устройств.

Блок распределения RS (Reservation Station) направляет микрокоманду в соответствующее устройство по мере их освобождения. При этом в среднем обеспечивается выполнение трех команд одновременно.

Исполнительное ядро CPU организованно в виде 5 параллельно работающих блоков.

IU1, IU2 (Integer Unit) – обработка целочисленных операндов.

FPU (Floating Point Unit) – операции над числами с плавающей точкой.

ММХ – обработка 8 символов по 8 бит.

SSE (Streaming SIMD Extension) – потоковое SIMD расширение обеспечивает развитие ММХ-технологии без обработки группы команд, выполняющих операции одновременно над несколькими числами с плавающей запятой (введен в Р3).

Блок MIU (Memory Interface Unit) – вычисляет адреса операндов. При выборке операнда из памяти происходит обращение к L1D, α имеет отдельные порты для чтения и записи, что обеспечивает параллельную выборку операндов для двух команд. При отсутствии адресуемого операнда в L1D через МОВ (Memory Order Buffer) идет обращение к L2 или ОП. MIU и МОВ могут формировать адреса и читать операнды для команд, α не поступили на исполнение (спекулятивная выборка). Если команда не поступает, данные теряются (неправильное предсказание ветвлений).

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

Обмен данными с ОП осуществляется без пакетных циклов обращения, α позволяет за один цикл переслать содержимое строки L1 (32 байта).

64 разрядная шина данных позволяет выполнить пересылку за 5 минимальных тактов:

1 – установка адреса строки

2 – 5 – передача данных (256 бит).

Блок трансляции адреса (TLB – Translation Look –aside Buffer) обеспечивает формирование физических адресов команд и данных при использовании страничной организации памяти. Для сокращения времени трансляции используется внутренняя буферная память (TLB), в α хранятся адреса наиболее часто используемых страниц.

Блок предсказания ветвлений: содержит ассоциативное ЗУ, буфер адресов ветвления (BTB – Bransh Target Buffer), в котором хранится 512 адресов выполненных переходов.

При поступлении очередной команды условного перехода указанный в ней адрес сравнивается с содержимым ВТВ. Если адрес отсутствует, то предсказывается отсутствие ветвления. ВТВ также содержит 4 бита предыстории ветвлений, α указывают, выполнялся ли переход при четырех предыдущих выборках команды.

Если в ВТВ присутствует адрес ветвления и есть в предыстории ветвление чаин выполнялось, то предсказывается выполнение ветвления и в конвейер загружается команда, размещенная по предсказанному адресу (Р = 0,9).

В процессорах Р6 реализован 12 ступенчатый конвейер команд. В семи первых ступенях сохраняется естественный порядок следования команд, на трех исполнительных ступенях: ROB, RS исполнительные устройства порядок нарушен. Запись результата в исходном порядке на двух последних ступенях обеспечивают блоки МОВ или ROB, RS при записи данных в RRF.

Общие особенности RISK:

  • расширенный объем регистровой памяти;

  • использование в командах обработки данных только регистровой памяти;

  • отказ от аппаратной реализации сложных способов адресации;

  • фиксированный формат команд.

L1 – кэш-память команд

TLB – блок трансляции адреса

BTB – буфер адресов ветвления

RAT – блок распределения регистров

RS – блок распределения команд

MIU – блок выработки адресов операндов

IU1, IU2 – блоки обработки целочисленных операндов

FPU – обработка чисел с плавающей запятой

MMX – обработка упакованных символов

SSE – обработка потока данных с плавающей запятой

L1D – кэш 1 данных

TLB – юлок трансляции адреса

MOB – буферный блок обращения к внешней памяти

RRF – блок замещения регистров

BIU – блок внешнего интерфейса

Другим примером RISK-процессора является процессор семейства Power PC. Данный процессор имеет следующие особенности.

Для декодирования используются 4 блока: 2 блока декодирования простых команд (1 микрооперация), 2 блока декодирования сложных команд: 1) над целыми числами, 2) числами с плавающей запятой.

После декодирования команды распределяются по исполнительным устройствам.

Т.о. могут параллельно выполняться следующие операции (4 команды):

  • операции над целочисленными данными (IU1, IU2)

  • сложные операции над целочисленными данными: умножение (3-4 такта), деление (20 тактов) (IU3)

  • операции над числами с плавающей запятой (FPU) в основном выполняется за три такта.

Назначение других блоков:

IR – регистры хранения целочисленных операндов (32 шт.*32 разр.)

FR – регистры для хранения операндов с плавающей запятой (32 шт. * 64 разр.)

При параллельной работе нескольких устройств возможно их одновременное обращение к одним регистрам. Для избежания ошибок при записи нового содержимого до считывания предыдущего введены буферные регистры: 12 для IR и 8 для FR. В них хранятся данные, используемые при выполнении текущих операций. После завершения операции данные перезаписываются в основной регистр.

Для выборки данных необходимых для выполнения команд, используется блок обращения к внешней памяти MIU.

Блок завершения обеспечивает получение исходной последовательности результатов операций.

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

TLB – аналогично Р6

BIU – обеспечивает связь с системной шиной, но не выделена отдельная магистраль под Cashe L2.

На базе процессоров Power PC реализованы PC Macintosh, Apple; рабочие станции IBM выгодно использовать для обработки потока вычислений, невыгодно – MMX приложений.

Соседние файлы в папке 46 Диалоговый автомат выключения нагрузки