share: true
aliases:
- 01 Instrukční cyklus počítače
complete: true
- Instrukční cyklus počítače
- Zřetězené zpracování instrukcí
- Mikroarchitektura skalárního procesoru se zřetězeným zpracováním instrukcí
- Datové a řídicí hazardy při zřetězeném zpracování instrukcí
Instrukční cyklus počítače
- PC - Program Counter - ukazuje na adresu další instrukce
- Jedná se o sekvenci operací, které provádí procesor aby vykonal instrukci
- Instrukční pipeline
- Dělíme instrukci na menší celky
- IF -> Instruction fetch
- ID/OF -> Instruction decode, operand fetch
- EX -> execute
- MEM -> Memory access přístup do paměti
- WB -> WriteBack zápis výsledku
- Jednotlivé fáze jsou oddělené registry
- Skutečně oddělí zpracování fází
- Následující fáze jde s clk hranou
- Umožňuje využít paralelismus při zpracování
Mikroarchitektura skalárního procesoru se zřetezeným zpracováním
Datové a řídící hazardy
- Konfilkty při přístupu ke sdíleným prostředkům CPU při pipelinování procesoru
- Typy hazardů
- Datové hazardy
- Instrukce odkazuje na výsledky předchozích instrukcí
- 3 typy
- RAW (Read After Write) -> nelze eliminovat
- WAR (Write After Read) -> eliminace přejmenováním registru
- WAW (Write After Write) -> eliminace přejmenováním registru
- Řídící hazardy
- Obecně vznikají od změn toku programu a PG
- Předchozí instrukce (její výsledek) mění následně vykonávaný kód
- Potlačujeme spekulativním vykonáváním instrukcí a predikcí skoků
- Strukturální hazardy
- Počet požadavků na prostředek převyšuje počet jeho instancí
- Dvě instrukce najednou do ALU
- Zvýšíme počet ALU, počet portů
- Pozastavíme instrukci
- způsobují pozastavení zřetězení (stall) nebo vyprázdnění (flush)
- delší zřetězení -> vyšší frekvence, potenciálně víc hazardů
- Řešení
- Forwarding
- výsledek vznika dříve nebo ve stejném cyklu, kdy je potřeba
- EX phase -> ID phase
- Stall
- Instrukce potřebuje výsledek dříve než vznikne -> pozastavíme zpracování
- zvyšuje latenci, zhoršuje propustnost
- Flush
- Vyčistí načtenou pipeline (podmíněný skok skočil)
- Kritická cesta
- Nejdelší cesta (přes hradla) uvnitř jednotlivých fází procesoru
- Určuje maximální frekvenci
Vytvořeno: 29. 5. 2026, 16:37
Poslední aktualizace: 11. 6. 2026, 0:13