Exemple de executare a unor instructiuni

        Executia unei instructiuni trece prin mai multe etape, in functie de tipul instructiunii. Fiecareia din aceste etape ii corespunde un microprogram distinct in memoria de control a secventiatorului. In general executia unei instructiuni trece printr-o faza de extragere sau fetch , o faza de decodificare si o faza de executie .
        Faza de extragere: Este comuna tuturor instructiunilor. In cadrul acestei faze adresa din numaratorul de adrese al programului este pusa pe magistrala de date . Dupa semnalul de READ dat de secventiator , continutul locatiei de memorie de la adresa respectiva (instructiunea) este pusa pe magistrala de date . Urmeaza un semnal de LOAD dat de secventiator  care determina inscrierea datelor de pe magistrala in registrul de instructiuni  unde va fi memorata .
        Faza de decodificare: Dupa ce instructiunea a fost memorata in registrul de instructiuni , ea va trece in decodificatorul de de instructiuni. Prin decodificarea instructiunii se genereaza un cuvint adresa pentru memoria de control. Cuvintul adresa generat de decodificator este incarcat intr-un numarator de adrese de microinstructiuni . Dupa ce instructiunea a fost decodificata , numaratorul de adrese al programului va fi incrementat .
        Faza de executie: Difera in functie de tipul instructiunii. In faza de executie se extrag adresele operanzilor din instructiune si se depun in registrele temporare ( latch) ale unitatii aritmetico-logice ALU.
In continuare atit datele din latch-uri cit si codul operatiei se incarca in ALU  unde se va realiza operatia specificata. In urma operatiei se vor seta flagurile corespunzatoare iar rezultatul va fi inscris in registrul acumulator.

        Pentru o mai buna intelegere a rolului secventiatorului sa urmarim in continuare o simulare grafica a executiei unei instructiuni . Presupunem ca numaratorul de adrese a fost incarcat cu adresa 100 .
 
        Executia instructiunii incepe cu

Fig.4: Faza de extragere
 

        Dupa cum se poate observa din imaginea de mai sus , numaratorul de adrese al programului pune continutul sau pe magistrala de date . La semnalul de READ dat de secventiator, magistrala trimite adresa 100 la memoria sistem. In memorie, la adresa 100, se afla stocata instructiunea ADD AX,BX. Memoria raspunde prin punerea pe magistrala de date a continutului locatiei de la adresa 100 . Urmatorul pas al secventiatorului este aplicarea semnalului de LOAD magistralei de adrese . Ca urmare a acestui semnal , magistrala de date transfera instructiunea in registrul de instructiuni .O copie a acestei instructiuni va fi pastrata aici pe toata durata executiei acestei instructiuni .

        Urmeaza faza de decodificare:
 
 
 

        In faza de decodificare instructiunea trece din registrul de instructiuni in decodificator unde va fi descompusa in codul operatiei (CODOP) si adresa operanzi (ADR) . Tot in aceasta faza, numaratorul de adrese al programului va fi incrementat, el indicind adresa urmatoarei instructiuni .
 

        Ultima faza este

Fig.6: Faza de executie
 

        In aceasta faza secventiatorul, pe baza datelor primite de la decodificator, va genera toate semnalele necesare executarii instructiunii . Astfel  se comanda deschiderea si inchiderea portilor astfel incit sa poata fi incarcat in registrii temporari continutul acumulatorului (reg. AX) si al registruluiBX . In continuare, continutul registrilor temporari precum si codul operatiei (ADD) vor fi incarcate in unitatea aritmetico-logica unde are loc executia operatiei . In urma executarii operatiei se vor seta corespunzator indicatorii de stare (s) iar rezultatul va fi depus in registrul acumulator (AX) .

        Acum ca am studiat fiecare faza in parte putem trece la inlantuirea lor obtinind astfel imaginea generala a executiei unei instructiuni :


 
 
Fig.7: Executia in ansamblu a unei instructiuni