Instrukční cyklus: Porovnání verzí
Bez shrnutí editace |
|||
Řádek 1: | Řádek 1: | ||
{{#widget:YouTube|id=bMLnqQEQGNE|height=270|width=360|Fetch-Decode-Execute Cycle|right}} | |||
== '''Úvod''' == | == '''Úvod''' == | ||
Aktuální verze z 22. 10. 2018, 08:08
Úvod
Instrukční cyklus je posloupnost kroků, jejichž postupným provedením se vykonává operace definovaná instrukcí programu.
Dělení cyklusu
Instrukční cyklus se skládá ze dvou fází:
- Výběrová - v průběhu této fáze se vybere instrukce z hlavní paměti, dekóduje kód operace a určí adresy operandů.
- Vykonávací - v průběhu této fáze se vyberou operandy, realizuje se operace a výsledek se zapíše na určené paměťové místo (registr nebo hlavní paměť)
Instrukční cyklus se dále dělí na strojové cykly, přičemž jeden strojový cyklus znamená jeden přístup do paměti. Strojový cyklus se pak dále dělí na strojové takty.
Zřetězení
Je to všeobecný princip zpracování informací, založený na rozdělení operací, procesů nebo úloh na jednotlivé kroky, které jsou vykonávány samostatnými moduly.
Zřetězené zpracování instrukcí (pipelining)
Vychází z toho, že zpracování každé instrukce procesorem lze rozdělit do pěti základních fází:
- PF - výběr instrukce (další zpracovávaná instrukce se bere buď z RAM nebo z Cache.
- DI - dekódování instrukce (určí se délka a typ instrukce)
- DA - výpočet adresy (určí se adresa operandů, se kterými instrukce pracuje)
- EX - provedení instrukce
- WB - zápis výsledků
Při klasickém zpracování se v každých pěti taktech zpracuje kompletně celá jedna první instrukce, v dalších pěti taktech zase druhá, což prodlužuje dobu zpracování všech instrukcí. Např. po deseti taktech jsou zpracovány pouze dvě instrukce.
Při zřetězeném zpracování je sice v prvních pěti taktech zase zpracována jenom jedna celá první instrukce, ale další instrukce jsou už rozpracovány, takže v každém dalším taktu je pak zpracována jedna další instrukce. Např. po deseti taktech je zpracováno šest instrukcí. Což je samozřejmě rychlejší než u klasického zpracování.
Může ale nastat problém, když některá z instrukcí způsobí skok. V tom případě se musí vyprázdnit fronta, nezpracované instrukce nebudou vůbec provedeny a program bude pokračovat tam, kde byl uskutečněn skok.
- procesor, který má jednu frontu pro toto zřetězené zpracování se nazývá skalární procesor.
- ten, co má více než jednu frontu se nazývá superskalární procesor.
Instruktion Execution
- Introduction
- Instruction Sets
- Execution Cycle
- Fetch Cycle
- Decode/Execute Cycles
- Execute (Immediate)
- Execute (Direct)
- Execute (Indirect)
- Sample Program
- Quiz
Otázky k opakování z referátů mikroprocesorové techniky TVY
Zdroje:
http://vos.panacek.com/download/ap-tema/04-absolventske-tema.doc
--Jhejnova 3. 5. 2010, 18:09 (UTC)
--Arni 27. 5. 2010, 13:42 (UTC)