Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АВМиС лекции (слайды) / Лекция 3 (Алгоритм Томасуло).pptx
Скачиваний:
70
Добавлен:
15.09.2014
Размер:
805.2 Кб
Скачать

Порядок исполнения инструкций загрузки и сохранения.

Определяется наличием зависимостей между инструкциями по ячейкам памяти.

Адреса ячеек вычисляются на первом этапе.

Инструкция загрузки ожидает завершения всех предшествующих инструкций сохранения по данному адресу.

Инструкция сохранения ожидает завершения всех предшествующих инструкций загрузки и сохранения по данному адресу.

Файл переименования

Находиться в РФ.

Содержит имена переименованных

регистров.

Регистр

Ссылка

Состоит из двух полей:

Если значение находиться в регистре, то ссылка равна нулю, если нет то ссылка указывает на СР, которая его вычислит.

1.L.D

F6,34(R2)

2.L.D

F2,45(R3)

3.MUL.D

F0,F2,F4

4.SUB.D

F8,F2,F6

5.DIV.D

F10,F0,F6

6.ADD.D

F6,F8,F2

Пример 1

Допущения

1.Латентность загрузки/сохранения : 2

2.Латентность сложения/вычитания : 2

3.Латентность умножения : 10

4.Латентность деления: 40

5.СР для загрузки/сохранения: 3

6.СР для простых арифм. орпер. : 3

7.СР для сложных арифм. орпер. : 2

8.Планирование инструкций происходит отдельно от процесса исполнения.

Обозначения

Op — операция, которая будет выполняться Vj, Vk— готовые значения операндов.

Qj, Qk— ссылка на СР, на которой будет рассчитан соответствующий операнд. Значение «0» – данные записаны в Vj или Vk соответственно.

Busy — флаг занятости.

Issue — стадия планирования инструкции.

Complete — стадия выполнения и завершения выполнения.

Result — стадия сохранения результата

Такт 0

Такт 1

Instruction status

 

 

Execution

Write

 

 

 

 

 

 

Instruction

j

k

Issue

complete

Result

 

 

Busy

Address

 

LD

F6

34+

R2

1

 

 

 

Load1

Yes

34+R2

 

LD

F2

45+

R3

 

 

 

 

Load2

No

 

 

 

MULTD

F0

F2

F4

 

 

 

 

Load3

No

 

 

 

SUBD

F8

F6

F2

 

 

 

 

 

 

 

 

 

DIVD

F10

F0

F6

 

 

 

 

 

 

 

 

 

ADDD

F6

F8

F2

 

 

 

 

 

 

 

 

 

Reservation Stations

 

 

S1

S2

RS for j

RS for k

 

 

 

 

 

Time

Name

Busy

Op

Vj

Vk

Qj

Qk

 

 

 

 

 

0

Add1

No

 

 

 

 

 

 

 

 

 

 

0

Add2

No

 

 

 

 

 

 

 

 

 

 

 

Add3

No

 

 

 

 

 

 

 

 

 

 

0

Mult1

No

 

 

 

 

 

 

 

 

 

 

0

Mult2

No

 

 

 

 

 

 

 

 

 

Register result status

 

 

 

 

 

 

 

 

 

 

Clock

 

 

 

F0

F2

F4

F6

F8

F10

F12

...

F30

1

 

 

FU

 

 

 

Load1

 

 

 

 

 

Такт 2

Такт 3

Такт 4

Instruction status

 

 

Execution

Write

 

 

 

 

 

 

 

Instruction

j

k

Issue

complete

Result

 

 

Busy

Address

 

 

LD

F6

34+

R2

1

2--3

4

 

Load1

No

 

 

 

 

LD

F2

45+

R3

2

3--4

 

 

Load2

Yes

45+R3

 

 

MULTD

F0

F2

F4

3

 

 

 

Load3

No

 

 

 

 

SUBD

F8

F6

F2

4

 

 

 

 

 

 

 

 

 

DIVD

F10

F0

F6

 

 

 

 

 

 

 

 

 

 

ADDD

F6

F8

F2

 

 

 

 

 

 

 

 

 

 

Reservation Stations

 

 

S1

S2

RS for j

RS for k

 

 

 

 

 

 

Time

Name

Busy

Op

Vj

Vk

Qj

Qk

 

 

 

 

 

 

0

Add1

Yes

Sub

M(A1)

 

 

Load2

 

 

 

 

 

 

0

Add2

No

 

 

 

 

 

 

 

 

 

 

 

 

Add3

No

 

 

 

 

 

 

 

 

 

 

 

0

Mult1

Yes

Mult

 

R(F4)

Load2

 

 

 

 

 

 

 

0

Mult2

No

 

 

 

 

 

 

 

 

 

 

Register result status

 

 

 

 

 

 

 

 

 

 

 

Clock

 

 

 

F0

F2

F4

F6

F8

F10

F12

...

 

F30

4

 

 

FU

Mult1

Load2

 

M(A1)

Add1

 

 

 

 

 

Такт 5

Instruction status

 

 

Execution

Write

 

 

 

 

 

 

Instruction

j

k

Issue

complete

Result

 

 

Busy

Address

 

LD

F6

34+

R2

1

2--3

4

 

Load1

No

 

 

 

LD

F2

45+

R3

2

3--4

5

 

Load2

No

 

 

 

MULTD

F0

F2

F4

3

 

 

 

Load3

No

 

 

 

SUBD

F8

F6

F2

4

 

 

 

 

 

 

 

 

DIVD

F10

F0

F6

5

 

 

 

 

 

 

 

 

ADDD

F6

F8

F2

 

 

 

 

 

 

 

 

 

Reservation Stations

 

 

S1

S2

RS for j

RS for k

 

 

 

 

 

Time

Name

Busy

Op

Vj

Vk

Qj

Qk

 

 

 

 

 

2

Add1

Yes

Sub

M(A1)

M(A2)

 

 

 

 

 

 

 

0

Add2

No

 

 

 

 

 

 

 

 

 

 

 

Add3

No

 

 

 

 

 

 

 

 

 

 

10

Mult1

Yes

Mult

M(A2)

R(F4)

 

 

 

 

 

 

 

0

Mult2

Yes

Div

 

M(A1)

Mult1

 

 

 

 

 

Register result status

 

 

 

 

 

 

 

 

 

 

Clock

 

 

 

F0

F2

F4

F6

F8

F10

F12

...

F30

5

 

 

FU

Mult1

M(A2)

 

M(A1)

Add1

Mult2