Princip činnosti počítače
Algoritmus je přesně definovaná konečná posloupnost příkazů. Jejich prováděním pro každé přípustné vstupy získáme po konečném počtu kroků odpovídající výstupy.
Hardwarové komponenty:
1) datové struktury – registry
2) řídící struktury
- sekvence – komponenty řazeny za sebou
- selekce – multiplexor
- iterace – čítač a řídící automat
- rekurce – v hardwaru nelze vyřešit
Procesor je obvodovou realizací algoritmu. Dokáže vykonávat libovolné programy, sestavené z předem definovaných operací (instrukcí)
Hlavní komponenty procesoru:
1) programový čítač – určuje adresu následující instrukce
2) instrukční registr – uchovává právě zpracovávanou instrukci
3) řadič – konečný automat, vykonává instrukce
4) aritmeticko-logická jednotka – k provádění matematických operací
5) I/O jednotka – umožňuje vstup a výstup dat z procesoru i jinak než přes paměť
6) registry – uchování informací
Řetězené zpracování instrukcí
Mějme model, kdy počítač používá tři základní moduly při zpracování instrukce: fetch
, decode
, execute
, tedy 3 moduly. Pokud bychom měli vykonat 3 takovéto cykly, zabralo by nám to 9 taktů.
Každý modul je 2 ze 3 taktů nevyužit. Pokud bychom tedy zpracovávali instrukce paralelně, dosáhneme zrychlení.
Problémem při zřetězeném zpracování jsou instrukce skoku. Ty způsobují, že je nutné obsah celého pipeline zahodit a načíst nové instrukce od adresy na kterou se skáče.
K částečnému odstranění tohoto problému se využívá tzv. predikce skoku, co je jednoduché stavové řízení, které dekóduje instrukce nepodmíněného skoku již při jejich načtení do pipeline.
Rovněž je problémem přerušení, které se často řeší tak, že se neobsluhuje okamžitě ale rovněž se zařadí do pipeline.
RISC
Procesory s malým počtem relativně jednoduchých instrukcí. Snaha o dokončení jedné instrukce v každém taktu procesoru (CPI = 1).
Přístup k paměti mají pouze 2 instrukce – LOAD
a STORE
.
Paměť instrukcí a dat je oddělena.
CISC
Procesory s komplexním instrukčním souborem. Vykonání jedné instrukce probíhá posloupností mikrooperací.
Díky vývoji mikrotechniky se řídící pamět přesuna na cache, což umožnilo držet krok s RISC architekturou.