ORGANIZATsIYa_EVM
.pdf
|
|
|
|
Регистр состояния ФУ |
|
|
|
|
|
|
|
||
Свободно/з |
Поле |
… |
Поле |
номер |
содержмрег |
содерж |
Поле |
Поле |
|
готовность |
Готов. |
||
анято |
операции |
|
операции |
регистрарез |
истра |
регистраопе |
поставки |
поставки |
операнд 1 |
Операнд 2 |
|||
|
|
|
|
ультат |
операнд1 |
ранд2 |
операнд1 |
операнд2 |
|
|
|||
1 |
|
2 |
|
3 |
4 |
5 |
6 |
7 |
|
8 |
|
9 |
|
|
|
Для многофункциональных устройств |
|
|
|
|
|
|
|
|
|
||
|
|
Структурная схема без упорядоченного выполнения с блоком предсказывания переходов |
|
|
|
|
|||||||
|
|
Станции резервирования |
|
|
|
|
|
|
|
|
|
||
Входная очередь |
шина |
|
ФУ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Строка станции резервирования |
|
|
|||
|
|
|
|
|
СDВ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Q |
|
номер |
|
номер |
Vi |
Vj |
|
|
|
|
ФУ |
|
|
Код операции |
Строки в |
Строки в |
|
заня |
||
|
|
|
|
|
|
|
|
буфере |
|
буфере |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Регистровый |
|
|
|
|
|
|
|
|
|
|
|
|
|
файл |
|
|
Занято |
Номер строки в буфере |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|||||
Буфер |
|
|
|
|
|
|
переупорядочивания откуда должен |
|
|
||||
|
|
|
|
|
|
поступить результат |
|
|
|
|
|||
переупорядо |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
||
чивания |
|
|
|
|
|
|
|
|
|
|
|
|
Буфер переупорядочения
Номер |
Занят |
Команда |
Состояние |
Место назначения |
Значение |
||
1 |
|
|
Код команды или |
Завершение/записать |
Номер регистра |
Значение опрерандов |
|
2 |
|
|
микрооперации |
результат выполнения |
результата |
|
|
3 |
|
|
команды |
|
регистровом файле |
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Очередь …
|
… регистр |
|
|
|
Регистров |
Выдача |
ID1 |
ый файл |
|
|
|
|
|
И |
ТЭГ Номер ФУ которое будет
выдавать результат операции запись в регистр Если поле равно 0, то в
команде на… … запись в регистр отсутствует и значит регистр … … …
|
Из памяти |
|
|
|
|
|
|
|
Станция |
|
Станция |
|
|
||
|
|
|
|
|
|
||
|
|
кол |
резервиро |
кол |
резервиро |
|
|
Буфер |
вания |
вания |
|
|
|||
|
|
|
|
||||
загрузки |
|
|
|
Буфер записи |
|||
|
|
|
|
|
|||
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ФУ2 |
|
ФУ1 |
|
ОП. |
|
|
|
|
|
|
|
|
|
Шина результата |
Коп Qi |
Qk |
Vi Vk занято |
|
Q- номера функциональных устройств,поставляющих данные в станцию
V- значения операндов
Если Q равен 0, то ни одна команда не претендует выполнить запись в оперативную память и строка в буфере записи свободна
Конфликты по данным
RAW |
|
|
|
Чтение после записи |
|
WAW |
|
ADD R1R2R3 |
IF ID EX W |
Запись в R1 |
Конфликт запись после записи |
SUB R4R1R5 |
IF ID EX W Чтение R1 |
Этот конфликт присутствует в конвейере, который |
|
|
IF ID |
EX W |
допускает запись в приемник со многих ступеней или в |
|
|
|
случае безупорядоченого выполнения, когда результат |
|
|
|
последующей команды формируется раньше, чем в |
|
|
|
предыдущей согласно програмного порядка. |
WAR |
|
Запись после чтения |
|
Этот тип конфликтов не возникает в системах с потоком команд, обеспечивающих выполнение команд |
|
в порядке их поступления. Они возникают в системах, допускающих выполнение команд не в порядке |
|
их расположения в программном коде. |
|
R7 = R1 * R3 |
ID EX EX W (конвейер умнож. плав. точ.) |
R1 = R0 – R2 |
ID EX W W (конвейер фиксированной точки) |
Запись в R1 невозможна, т.к. R1 еще считывается 1й командой |