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


Устранение зависимостей по данным и механизмы динамического планирования - часть 12


Регистровый файл и буфер записи имеют поле Qi:

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

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

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

1. LF F6,34(R2)

2. LF F2,45(R3)

3. MULTD F0,F2,F4

4. SUBD F8,F6,F2

5. DIVD F10,F0,F6

6. ADDD F6,F8,F2

Рис. 6.6 описывает станции резервирования, буфера загрузки и записи и регистровые теги. К именам add, mult и load добавлены номера, стоящие за тегами для этой станции резервирования - Add1 является тегом для результата из первого устройства сложения. Состояние каждой операции, которая выдана для выполнения, хранится в станции резервирования.

Состояние команд

КомандаВыдачаВыполнениеЗапись результата

LDF6,34(R2)(((+
LDF2,45(R3)((

MULTDF0,F2,F4(

SUBDF8,F6,F2(

DIVDF10,F0,F6(

ADDDF6,F8,F2(

Станции резервирования

ИмяЗанятостьOpVjVkQjQk

Add1ДаSUBMem[34+Regs[R2]] Load2
Add2ДаADD Add1Load2
Add3Нет

Mult1ДаMULT Regs[F4]Load2

Mult2ДаDIV Mem[34+Regs[R2]]Mult1

Состояние регистров

ПолеF0F2F4F6F8F10F12. . .F30

QiMult1Load2 Add2Add1Mult2

Рис. 6.6. Теги станций резервирования и регистров

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


Начало  Назад  Вперед



Книжный магазин