Arch: chore

This commit is contained in:
2025-06-20 12:48:16 +03:00
parent 537c87bc48
commit 970aa9b9e2
27 changed files with 735 additions and 55252 deletions

View File

@ -7,10 +7,11 @@
- $j$ зависит по данным от $k$ и $k$ зависит по данным от $i$ (цепочка конфликтов RAW).
**Пример зависимости по данным:**
```assembly
Loop: LD [R1], F0
```armasm
Loop:
LD [R1], F0
DADD F2, F0, F4
ST F4, [R1]
ST F4, [R1]
```
**Зависимость по именам** возникает, когда 2 инструкции используют один и тот же регистр или место в памяти, т.е. общее имя места.
@ -32,13 +33,13 @@ $i$, $j$ пишут по одинаковому имени. Тогда $j$ за
Изменение относительного порядка исполнения $i$, $j$ нарушает эту зависимость по именам и приводит к конфликту WAW и некорректному исполнению.
**Пример:**
```assembly
1 LD F0, [R1]
2 DADD F2, F0, F4
3 ST F4, [R1]
4 LD F0, [R1-8]
5 DADD F2, F0, F4
6 ST F4, [R1-8]
```armasm
LD F0, [R1] ; 1
DADD F2, F0, F4 ; 2
ST F4, [R1] ; 3
LD F0, [R1-8] ; 4
DADD F2, F0, F4 ; 5
ST F4, [R1-8] ; 6
```
В графе можем переупорядочивать инструкции только если сохраняется порядок стрелок.