- pociatocne nastavenie program countera a nastavenie stavu procesoru
- nacitanie instrukcie, INSTRUCTION FETCH (IF)
- dekodovanie operacneho znaku, INSTRUCTION DECODE (ID)
- vyhodnotenie efektivnych adries a citanie operandov, OPERAND FETCH (OF)
- vykonanie operacie, INSTRUCTION EXECUTION (IE)
- zapis do pamate, WRITE BACK - nemusi byt vykonana (WB)
- osetrenie prerusenia, INTERRUPT
- pokracujeme znovu od 2. kroku
Instruction Fetch
V tejto faze je adresa instrukcie ulozena v PC vystavena na adress bus (AB). Obsah tohto pamatoveho miesta je vystaveny pamatou (M) na data bus. Kod instrukcie z DB je ulozeny do instruction registra (IR).
Instruction Decode
V tejto je instrukcia z IR dekodovana internou logikou (to este pride) a su vygenerovane riadiace signaly pre ALU. Zaroven je potrebne zvysit PC, aby sme pri dalsom cykle citali dalsiu instrukciu ;). PC sa zvysi o hodnotu k, kde k je cislo urcene po dekodovani instrukcie. Nova hodnota PC sa vypocita ako PC <- PC + k v ALU. Aby k tomu mohlo dojst, tak PC vystavil svoju hodnotu na AB. Ak k == 1, tak hovorime o sekvencnom spracovani. Ak k > 1, tak sa jedna o skok. Inak, len tak medzi nami, k je vlastne dlzka instrukcie (teda, asi pokial sa nejedna o skok)
Operand Fetch
Ako naznacuje nazov, musime ziskat operandy, aby mohla byt instrukcia vykonana. To samozrejme v pripade, ze instrukcia nejake operandy potrebuje. Adresa operandu je vystavena IR na AB. M "vypusti" tuto hodnotu na DB, cim je "ready" pre ALU alebo pre ACC (akumulator).
Instruction Execution
Konecne sme sa dostali k vykonanie operacie podla instrukcii z IR. Na obrazku nam chyba cast, ktoru volame "rizeni" a jedna sa o internu logiku, ktora generuje signaly pre ALU. ACC nam dobre posluzi ako zdrojovy/cielovy register.
Write Back
K tejto faze vobec nemusi dojst, ale ak uz, tak k nej dojde preto, aby vysledna hodnota bola zapisana do pamate. IR teda vystavi adresu v pamati na AB, kam ma byt hodnota zapisana. ACC vystavi hodnotu na DB a ta je nasledovne zapisana na adresu z AB do M.
Btw, verim, ze ste si vsimli, ze tento pocitac je Von Neumann ;).