Instrukční cyklus: Porovnání verzí
Bez shrnutí editace |
Bez shrnutí editace |
||
Řádek 1: | Řádek 1: | ||
'''Úvod''' | '''Úvod''' | ||
---- | ---- | ||
Instrukční cyklus je posloupnost kroků, jejichž postupným provedením se vykonává operace definovaná instrukcí programu. | Instrukční cyklus je posloupnost kroků, jejichž postupným provedením se vykonává operace definovaná instrukcí programu. | ||
'''Dělení cyklusu''' | '''Dělení cyklusu''' | ||
---- | ---- | ||
Instrukční cyklus se skládá ze dvou fází: | Instrukční cyklus se skládá ze dvou fází: | ||
1.)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ů. | 1.)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ů. | ||
2.)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ěť]]) | 2.)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ěť]]) | ||
Řádek 16: | Řádek 19: | ||
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. | 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]])''' | '''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í: | Vychází z toho, že zpracování každé instrukce procesorem lze rozdělit do pěti základních fází: | ||
1.)PF - výběr instrukce (další zpracovávaná instrukce se bere buď z [[RAM]] nebo z [[Cache]]. | 1.)PF - výběr instrukce (další zpracovávaná instrukce se bere buď z [[RAM]] nebo z [[Cache]]. |
Verze z 9. 5. 2010, 13:54
Ú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í:
1.)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ů. 2.)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. Soubor:Http://wiki.sps-pi.com/wiki/Soubor:Tabulka pro instrukční cyklus.jpg
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í: 1.)PF - výběr instrukce (další zpracovávaná instrukce se bere buď z RAM nebo z Cache. 2.)DI - dekódování instrukce (určí se délka a typ instrukce) 3.)DA - výpočet adresy (určí se adresa operandů, se kterými instrukce pracuje) 4.)EX - provedení instrukce 5.)WB - zápis výsledků Soubor:Http://wiki.sps-pi.com/wiki/Soubor:Instrukční cyklus.JPG
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.
Zdroje: http://vos.panacek.com/download/ap-tema/04-absolventske-tema.doc.
--Jhejnova 3. 5. 2010, 18:09 (UTC)