- •Алгоритм Тамасуло
- •Алгоритм Тамасуло
- •Схема процессора для реализации алгоритма Тамасуло
- •Состав процессора
- •Схема процессора для реализации алгоритма Тамасуло
- •Этапы исполнения инструкции
- •Устройство СР
- •Планирование инструкций
- •Ожидание готовности операндов, исполнение, сохранение результатов
- •Обработка инструкций загрузки и сохранения.
- •Порядок исполнения инструкций загрузки и сохранения.
- •Файл переименования
- •Обозначения
- •Такт 0
- •Такт 1
- •Такт 2
- •Такт 3
- •Такт 4
- •Такт 5
- •Такт 6
- •Такт 7
- •Такт 8
- •Такт 9
- •Такт 10
- •Такт 11
- •Такт 12
- •Такт 15
- •Такт 16
- •Такт 56
- •Такт 57
- •Такт 0
- •Такт 4
- •Такт 5
- •Такт 6
- •Такт 7
- •Такт 8
- •Такт 9
- •Такт 15
- •Такт 16
- •Такт 17
- •Такт 18
- •Такт 19
- •Такт 20
- •Такт 21
- •Такт 57
- •Такт 58
- •Общее описание алгоритма
- •Достоинства и недостатки алгоритма.
- •Пример задачи
Такт 57
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 |
6 -- 15 |
16 |
|
Load3 |
No |
|
|
|
SUBD |
F8 |
F6 |
F2 |
4 |
6 -- 7 |
8 |
|
|
|
|
|
|
DIVD |
F10 |
F0 |
F6 |
5 |
17 -- 56 |
57 |
|
|
|
|
|
|
ADDD |
F6 |
F8 |
F2 |
6 |
9 -- 10 |
11 |
|
|
|
|
|
|
Reservation Stations |
|
|
S1 |
S2 |
RS for j |
RS for k |
|
|
|
|
||
|
Time |
Name |
Busy |
Op |
Vj |
Vk |
Qj |
Qk |
|
|
|
|
|
0 |
Add1 |
No |
|
|
|
|
|
|
|
|
|
|
|
Add2 |
No |
|
|
|
|
|
|
|
|
|
|
|
Add3 |
No |
|
|
|
|
|
|
|
|
|
|
|
Mult1 |
No |
|
|
|
|
|
|
|
|
|
|
0 |
Mult2 |
No |
|
|
|
|
|
|
|
|
|
Register result status |
|
|
|
|
|
|
|
|
|
|
||
Clock |
|
|
|
F0 |
F2 |
F4 |
F6 |
F8 |
F10 |
F12 |
... |
F30 |
57 |
|
|
FU |
M*F4 |
M(A2) |
M1 |
-M2+M( |
M1-M2 |
result |
|
|
|
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
Пример 2
Допущения
1.Латентность загрузки/сохранения : 2
2.Латентность сложения/вычитания : 2
3.Латентность умножения : 10
4.Латентность деления: 40
5.СР для загрузки/сохранения: 3
6.СР для простых арифм. орпер. : 3
7.СР для сложных арифм. орпер. : 1
8.Планирование инструкций происходит отдельно от процесса исполнения.