Завдання.
На оцінку 3:
Скласти звіт про виконання лабораторної роботи, в якому дати відповіді на наступні питання:
1. Що таке супер-скалярна архітектура? Як вона реалізована у процесорі Pentium?
2. Яка різниця між U та V конвеєрами? Як між ними розподіляються інструкції?
3. Як організований FPU? Яким чином операції потрапляють на виконання до FPU?
4. Які регістри доступні FPU? Як організований доступ до FP-регістрів?
5. Який кеш містить ядро процесора Pentium? Що означає термін Набірно-асоціативний?
6. В чому суть динамічного передбачення переходів? При якому коді програми він ефективний, а коли ні?
7. Які функції виконує буфер BTB?
8. Які основні правила, за якими дві інструкції можуть виконуватись на U та V конвеєрах одночасно?
На оцінку 4:
Скласти звіт про виконання лабораторної роботи, в якому дати відповіді на питання з попереднього пункту, та написати програму на мові С або асемблер, яка визначає як саме буде виконуватись потік інструкцій наведений в варианті:
1. pu pv pv pu uv uv pv pv np np pu uv uv pv.
2. uv uv uv uv pu pu pu pu pv pv pv pv np np.
3. uv pu uv pu np uv pv np pv uv uv pv uv uv.
4. np np np np np np pu pu pu pu pu pv pv uv.
5. uv uv uv uv uv pu pu pu pu pu uv pu uv pu.
6. np pv uv pu pu uv pv np np uv pv pv pu pv.
7. np uv np pu np pv np np pu pu pu pv pu uv.
8. uv uv uv pu uv pv pv uv pu uv pv pu pv pv.
9. pv uv pu pv uv uv uv uv pv pv pv pv uv uv.
10. uv uv uv uv uv uv pu uv uv uv uv uv pv uv.
Відповідь аргументувати.
На оцінку 5:
Скласти звіт про виконання лабораторної роботи, в якому дати відповіді на питання з попереднього пункту, та написати програму на мові С або асемблер, яка визначає як саме буде виконуватись потік інструкцій наведений в варіанті:
1. mov eax, 32
mov edx, eax
mov ebx, eax
cmp edx, 100
Imul ecx
inc eax
2. mov [ebp], ecx
dec edx
sub ecx, edx
jmp 100
adc eax, ecx
mov edx, [eax+90]
3. mov [ecx], eax
mov edx, ecx
mul ebx
sbb ecx, 30
test ebx, ebx
je 250
4. mov [ecx+100], eax
mov edx, ecx
mov eax, [ecx+100]
mov ecx, edx
mul ebx
inc eax
5. mov [ebp], eax
mov [edi], ecx
mov eax, [ebp+100]
mov ecx, edx
Imul ebx
dec eax
6. sub eax, ecx
sbb ebx, 32
test eax, 12
and eax, 12
xor ecx, [120]
mov [120], eax
7. adc eax, ecx
add ebx, 32
test eax, 12
cmp eax, 12
xor ecx, [120]
mov [ecx], eax
8. adc eax, 300
jmp 100
test eax, 12
cmp ebx, 12
mov [ecx+20], eax
mov [ecx], eax
9. mov eax, [120]
jmp 120
sub eax, 12
inc ebx
mov [ecx+20], eax
mov [eax], ecx
10. mov eax, [edi]
add ecx, edx
add edx, ecx
mov edx, 56
inc ebx
mov eax, [ecx+20]
mov [eax], ecx
Відповідь аргументувати.