Организация компьютерных систем. Орлов С.П - 90 стр.

UptoLike

очередной команды. Каждый новый результат в конвейере будет за-
писываться в новый физический регистр. Предыдущее значение каж-
дого регистра сохраняется и может быть восстановлено при прерыва-
нии. Во время выполнения программы генерируется множество про-
межуточных результатов. Каждому физическому регистру соответ-
ствует признак, временное или постоянное значение. Временное ста-
нет постоянным, когда завершается команда, вычислившая это значе-
ние. Команда считается завершенной тогда, когда все предыдущие
команды завершились в заданном программой порядке. Программист
имеет дело только с логическими регистрами, а распределение физи-
ческих регистров от него скрыто.
Пример:
Пусть в команде первый адрес – адрес результата.
ADD R
1
, R
2
, R3 A:=B+C
MOV R
2
, R
1
A передается в регистр, занимаемый ранее B
MUL R
1
, R
4
, R
5
D:=M*N.
Предположим, что при выполнении программы в процессоре
произошло изменение последовательности команд, и возник кон-
фликт, связанный с записью в R
1
нового значения D, прежде, чем
было считано А:
ADD R
1
, R
2
, R3 A:=B+C
MUL R
1
, R
4
, R
5
D:=M*N
MOV R
2
, R
1
A передается в регистр, занимаемый ранее B.
Для исключения конфликта переименуем регистры, как показано
в (табл. 5.1).
92