Sunteți pe pagina 1din 7

Curs 6 AMP

Pasul 5 de detaliere unitatea de conrol a microprocesorului (UcP)


Executia unei instruciuni presupune mai multe etape. Fiecare etapa este
compusa la rndul ei din mai multe aciuni elementare:
- Etapa 1: FETCH -> localizarea i aducerea din din
memorie a codului instructiunii curente, care presupune urmatoarele ac iuni
elementare:

ncrcarea registrului de adrese cu adresa furnizata de PC n cazul


uzual al parcurgerii secventiale al programului curent; Adresa devine astfel
disponibila pe magistrala de adrese a microcalculatorului

Incrementarea lui PC pentru ca acesta s fie pregtit sa localizeze


urmtoarea informaie din memorie

Generarea unui semnal de citire din memorie pe magistrala de control

Codul instructiunii astfel localizat e citit din memorie i fcut


disponibil pe magistrala externa de date

El poate fi inscris n registrul de date

Codul instructiunii este adus din registrul de date pe magistrala interna


de date ntr-un registru special numit registru de instruciuni
Elementele de structura care iau parte la o astfel de secven a sunt
prezentate n figura urmtoare.

- Etapa 2:
Decodificarea registrului de instruciuni -> succesiunea de cifre binare ce
reprezint codul i care individualizeaza instruciunea permite recunoasterea sa.

Acesata initiaza declansarea ulterioara a unei secvente corecte de ac iuni


elementare pentru execuie.
- Etapa 3: Executia propriu-zisa : activare diverselor blocuri din UCP ntr-o
ordine prestabilita i / sau schimburi de informaii cu memoria sau proturile.
Secvena corecta de aciuni elementare este impusa de semantica fiecarei
instruciuni
Toat aceasta desfurare n timp a instructiunilor este asigurata de un bloc
special , pe care l denumim Unitatea de control a microprocesorului.
(UcP)
O prima sarcina a UcP este de a decide n funcie de codul primit ,
care este formatul instruciunii curente. nelegem prin aceasta notiune ,
desfasurarea pe locatii de memorie succesive, imediat dup cod a
ntregii informaii aferente executiei corecte a instructiunii. Formatul este
determinat de modul de adresare folosit de instruciunea respectiva.
Presupunnd o memorie organizata pe octeti , formatul poate
conine:
1. obligatoriu pe primul octet , codul instructiunii(care da sensul
instructiunii <semantica>)
2. optional, un al doilea octet de cod , n cazul
microprocesoarelor care au mai mult de 256 de instruciuni diferite
i deci codificarea lor cu un singur octet nu este suficienta
3.
optional, un operand pe 8 biti, un deplasament pe 8 biti sau
jumtatea inferioara a unei adrese pe 16 biti
4.
un octet , care va reprezenta jumtatea superioara a unei
adrese, sau jumtatea superioara a unui operand pe 16 biti (nu
sunt obligatorii)
5.
un octet suplimentar pentru cod, n cazul microprocesoarele
care nu folosesc octetul al doilea n acest scop
OBSERVATIE: Formatul unei instruciuni depinde esential de
formatul datelor i al adreselor utilizate de un microprocesor anume.
Astfel pot exista formate intre 1 i 4 octeti sau intre 1 i 6 pana la 10
octeti pentru microprocesoarele pe 16 biti
n cazul Ucup , orice instruciuni se realizeaza prin desfasurarea
corecta n concordonta cu semantica sa, a unei secvene de aciuni
elementare.
Aciune elementara -> activiatatea specifica a diferitelor blocuri din
alctuirea microprocesorului standard
Inlantuirea unor astfel de aciuni elementare pune n evidenta 2
aspecte:
1. Exista un numar finit (relativ redus) de tipuri de aciuni

elementare
2. n scopul unei sistematizari a activitatii interne a
microprocesorului, se grupeaza aciunile elementare , n entitati
temporale mai complexe
Definitie : Starea -> durata maxima de efectuare a unei
aciuni elementare i corespunde duratei fizice a unei perioade
de tact a microprocesorului
Definitie: Ciclul maina -> corespunde unei grupari de mai
multe aciuni elementare astfel nct sa duca la realizarea unei
etape bine definite din desfasurarea unei instruciuni
Un ciclul maina dureaz mai multe stari i are o
semnificatie strict functionala. El nu este impus de un tact fizic,
ci doar de considerente de sistematizare a activitatii
microprocesorului.
EX:
R1, R2, R3, R4, A -> 8b (acumulator pe 8 biti)
memorie microcalculatorului e organizata pe octeti
Folosind schemele bloc prezentate, s se propuna o
desfurare posibila a starilor pentru o instruciuni care
insumeaza continutul unei locatii de memorie avnd adresa inr
R1 i R2 cu un octet din memorie avnd adresa n R3 i R4.
Rezultatul va rmne n acumulator.
Descrierea formala a semanticii este urmtoarea:
(A) ((R1) (R2))+((R3)(R4))
1.
1.2
1.3
1.4
1.5
2.
2.2
2.3
3.
3.2
3.3

1.1 (RA)(PC)
READ
(PC)(PC)+1
(RD)((RA))
(RI)(RD)
Decodificare
2.1 (RA)((RA)) //adresam primul operand
READ
(RD)((RA))
//operandul este adus n microprocesor
(A)(RD) // mutam n acumulator operandul respectiv
3.1 (RA)(R3)(R4)
READ
(RD)((RA))
(A)(RD)+(A) //A-urile sunt diferite

1,2,3 -> ciclul maina

Concluzii:

Desfasurarea propusa este o propunere posibila (pot exista


mult mai multe)

Grupurile de aciuni elementare, notate cu o singura cifra


corespund ciclurilor maina, iar starile sunt numerotate cu 2 cifre

Ciclurile maina pot avea un numar diferit de stari. Aceasta


situaie corespunde cazului n care proiectantul microprocesorului,
dorete optimizarea timpului de execuie a unei instruciuni

Se observa ca ciclurile maina realizeaza anumite etape logice


coerente n desfasurarea instructiunilor astfel: ciclul 1 -> un ciclu
maina de tip FETCH care este oblicagatoriu pentru orice
instruciuni. Ciclul 2 este un ciclu de citire din memorie. Ciclul 3
este un ciclu de citire din memorie completat cu insumarea a 2
operanzi.
Se pot defini n acest fel cteva cicluri maina care vor contribui la
realizarea intregului set de instruciuni:
1. Ciclu de FETCH
2. Citire din memorie
3. Ciclu de inscriere n memorie
4. Citire din stiva i inscriere n stiva
5. Prelucrari aritmetico-logica n interiorul microprocesorului
6. Citire i inscriere n porturi
Fiecare ciclul maina este personalizat de anumite stari, de
exemplu, ciclul de FETCH are aciunea tipica de aducere a codului
instructiunii n registrul de instruciuni(starea 1.4).

Anumite detalii de structura insuficient prelucrate pot avea ca


efect o restructurare a unor stari. De exemplul, starile 2.1 i 3.1
necesita de fapt cte 2 stari dac magisteala interna are 8 biti i
registrele interne sunt fizic organizate ca o memorie ram. Invers ,
starile 1.2 i 1.3 pot fi comasate ntr-o singura stare. Acest lucru
este valabil pentru oricare aciuni elementare succesive, care nu
afecteaza amndou magistrala interna de date.

n desfasurarea n timp a unei instruciuni , unitatea de control


a microprocesorului trebuie sa comande , sa selecteze sau sa
adrese diverse componente ale structurii sale interne . Fiecarea
aciune elementara inseamna de fapt comenzi specifice trimise
diverselor blocuri.
O schema generala a unei uniti de control a microprocesorului
este prezentata n figura urmtoare:

RI (registrul de instruciuni) este legat pe MID deoarece pe aici


primete ntr-un ciclu maina special codul instructiunii curente.
Urmeaz decodificatorul care identifica instruciunea din setul de
instruciuni potenial utilizabile de ctre microprocesor.
Blocul de control i sincronizare este un automat finit n esenta,
microprogramat , al carui microprogram va trebui sa in seama de
urmatoarele cerinte:
setul de instruciuni al microprocesorului
semantica fiecarei instruciuni
sistematizarea desfasurarii n timp a instructiunilor pe stari
cicluri maina standardizate
formatul fiecarei instruciuni
structura fizica concreta a blocurilor microprocesorului n
special intrrile lor de selecie, comanda i adresare
semnalele de control necesare sau impuse din interiorul
microprocesorului sau impuse din exteriorul sau pe magistrala

de control

Capitol : Dezoltareaa functionala a


microprocesoarelor de uz general pe 16
biti
Trecerea de la microprocesoarele pe 8 biti la cele pe 16 biti nu a
nsemnat o simpla dublare a magistralei de date. La microprocesoarele
pe 16 biti apar de uz general apar imbunatatiri esentiale ale atributelor
de arhitectura, posibilitatea de realizare a noi funcii, totul fiind bazat pe
dezvoltari importante ale structurii.
O schema bloc functionala posibila pe care discutam n continuare
este urmtoarea:

Prima schimbare esentiala este ca noile UCP contin de fapt 2


procesoare specializate care lucreaz n paralele.

Astfel avem o uniteate de execuie (UE) i o unitate de interfata cu


magistrala (UIM) <denumiri specifice Intel>.Fiecare dintre acestea are
sarcini bine definite i anume:
UE:
executa functiile de baza de prelucrare a operanzilor
conine registrele generale i unitatea aritmetica de procesare de
obicei cu mai multe acumulatoare, conine Ucup, primete
instruciunile de UIM i nu direct din memoria de program
primete operanzi i trimite rezultate tot prin intermediul UIM
UIM:
are drept scop esential marirea largimii de banda a magistralei ,
adic mrete cantitatea de informaii de pe magistrala n unitatea
de timp comparativ cu structurile pe 8 biti

S-ar putea să vă placă și