Download - Structura microprocesorului
-
1 Structura unui microprocesor Definiii
Sunt prezentate cteva definiii strict necesare pentru nelegereanoiunilor ce vor urma. De asemenea, este prezentat arhitectura foartegeneral a unui sistem de calcul, care nu necesit multe cunotinepentru a fi bine neleas. Pornind de la aceasta, vor fi dezvoltatearhitecturi reale foarte diverse i complicate.
1.1 Cteva definiii Vom defini cuvintele ce vor fi utilizate foarte frecvent n lucrare,
care sunt de fapt larg folosite n informatic. Chiar dac definiiile nucoincid total cu cele ale Academiei, au meritul de a fi simple i clare.
Circuit integrat - component electronic de mici dimensiuni, (cusuprafaa msurat n milimetri ptrai) ce conine un numr detranzistoare elementare interconectate; el poate avea funcii cablate sauprogramate. Circuitele integrate sunt clasificate n mai multe categorii, nfuncie de densitatea de integrare: circuite integrate simple, circuiteintegrate pe scar medie (MSI - Medium Scale Integration), circuiteintegrate pe scar larg (LSI - Large Scale Integration), circuite integratepe scar foarte larg (VLSI - Verry Large Scale Integration), etc. Dupdezvoltarea exploziv a circuitelor integrate n ultimii ani, aceste noiuniau nceput s devin desuete.
Unitate central sau Unitate central de procesare este aceacomponent a unui calculator care realizeaz prelucrarea datelor pe bazaunui program i controlul ntregului sistem. Se utilizeaz frecvent notaiaCPU (Central Processing Unit) ceea ce desemneaz de data aceasta nmod exclusiv un microprocesor.
Microprocesor - este un circuit integrat (LSI, VLSI) cu mii detranzistoare n structur care realizeaz funciile unitii centrale dintr-uncalculator.
Microcalculator - sistem de calcul n care unitatea central este unmicroprocesor; un microcalculator mai cuprinde: blocuri de memorie,circuite pentru transferul informaiei (porturi de intrare - ieire) idispozitive periferice - tastatur, monitor, unitate de discuri, imprimantetc.
1
-
Hardware - totalitatea componentelor materiale ale unui sistem decalcul (structuri mecanice, cabluri, cutii, circuite, etc.).
Software - totalitatea componentelor imateriale (programe de sistemi de aplicaii) cu care este dotat un sistem de calcul. Pentru programelecomplexe, nu exist nici o metod de verificare care s garanteze c estefr erori de concepie. Doar utilizarea ndelungat n practic a unuiprogram poate duce la detectarea i eliminarea total a erorilor.
Sistem de operare - totalitatea programelor care permitutilizatorului accesul deplin la toate resursele sistemului. Conineprograme cu denumiri specifice dup funciile realizate, care asiguraccesul la echipamentele periferice (tastatur, monitor, uniti externe dememorie etc.) organizarea informaiei sub form de fiiere i o gam largde operaii asupra acestora (deschiderea, nchiderea, transferul, afiarea,crearea, tergerea, modificarea i altele). Cele mai rspndite sisteme deoperare sunt MS-DOS, WINDOWS i UNIX.
Noiunea de memorie. Nu se poate nelege funcionarea unuisistem programabil, ca microprocesorul de exemplu, fr a stpninoiunea de memorie.
S considerm, de exemplu, o comod cu mai multe sertaresuprapuse, pe care le numerotm. Numrul fiecrui sertar este ceea ce
numim n general adres iarsertarul este n informaticlocaie de memorie. Pentrusistemul de calcul, memoriaeste un ir finit de locaiinumerotate (fig.1). O locaie este definit dedou entiti informaionale:coninutul i adresa.
Coninutul este un ir decifre binare 0 sau 1 (BinaryDigit = bit) care poatereprezenta o dat (un numrsau un caracter n cod binar, ostare, etc.) sau o comand(instruciune). Numrul decifre binare dintr-o locaiereprezint dimensiunealocaiei (formatul memoriei)(pentru 8 bii se utilizeazdenumirea "octet" iar pentru
16 bii - "cuvnt").
2
0 1 0 1 0 1 0 1 0 0 0 1 1 1 0 1
Celule (locaii) de memorie Adrese
0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 0 0 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 0 1 1 0 0 1 11 1 0 0 0 0 1 10 0 0 0 1 1 1 11 1 1 1 0 0 0 0
0 0 0 00 0 0 10 0 0 20 0 0 30 0 0 40 0 0 50 0 0 60 0 0 70 0 0 80 0 0 90 0 1 00 0 1 1
Fig. 1. Reprezentarea memoriei (locaii de 8 bii)
-
Adresa este numrul de ordine al unei locaii de memorie; adresapermite identificarea fiecrei locaii n irul ordonat de locaii cealctuiesc memoria unui sistem de calcul.
Structura memoriei organizat pe locaii, cu delimitarea anumitorzone este numit "harta memoriei".
Se pot evidenia dou astfel de zone:- Memoria de date (locaiile conin "date");- Memoria de programe (locaiile conin instruciuni codificate).
Instruciunea reprezint cea mai simpl operaie (comand) pe careo poate transmite programatorul ctre o unitate central (care poate fi unmicroprocesor). Unitatea central poate recunoate i executa numaiinstruciunile codificate pentru care a fost construit; acestea formeazsetul de instruciuni caracteristic unitii centrale.
Un ir de instruciuni, organizate logic dup un algoritm, formeazun program; prin intermediul programului, utilizatorul transmite sistemuluide calcul o anumit sarcin privind prelucrarea datelor (task). Noiuneade task este mai larg dect cea de program: exist sarcini pentru a crorndeplinire sunt necesare mai multe programe.
Magistrala este un ansamblu de conexiuni electrice prin carecircul informaie de acelai tip avnd ca suport semnale electrice; nfuncie de tipul informaiei, magistralele sunt de trei categorii: de date, deadrese i de control. O caracteristic de baz este dimensiuneamagistralei, adic numrul liniilor de conectare; avem astfel magistrale de8 bii (cu 8 linii de conectare), magistrale de 16 bii (cu 16 linii deconectare), etc. Dimensiunea fiecrei magistrale este determinat destructura unitii centrale i determin la rndul su structura memoriei(numrul de bii pe locaie) i a porturilor de intrare / ieire.
Prin cuvntul magistral se nelege de regul i ansamblul decircuite electronice (amplificatoare uni- sau bi-direcionale) care sporescputerea semnalelor electrice (pentru fan-out mai mare) i aduc nivelul(tensiunea) la valoarea standard.
Magistralele unidirecionale pot transmite informaia ntr-un singursens iar cele bidirecionale, n ambele sensuri (sensul de transmisie estecontrolat de unitatea central). Magistrala de adrese este unidirecional(de la unitatea central spre sistem) iar magistralele de date i de controlsunt bidirecionale.
La o magistral se cupleaz n paralel mai multe blocuri de acelaitip sau de tipuri diferite; acestea devin active succesiv sub comandaunitii centrale; astfel UC coordoneaz toate transferurile din sistem.
3
-
1.2 Structura sistemelor de calcul
Orice sistem numeric de prelucrare a datelor, primete din exteriordate binare pe care le prelucreaz pe baza unor programe de lucruexistente n memorie. Rezultatele prelucrrii sunt transmise ctre exteriorprin uniti specializate.
Principalele componente hardware sunt vizibile n structura dinfigura 2, care este valabil att pentru sisteme simple (calculator debuzunar), ct i pentru sisteme complexe de calcul.
UCP - unitate central de procesare (microprocesor n cazul n caresistemul de calcul este un microcalculator). Ea conine o unitatecentral de comand - UCC i o unitate aritmetic i logic - UAL; Memoria;Uniti de intrare / ieire - I/E;
1. UCC are rol de prelucrare a datelor i de coordonare a ntreguluisistem. Prin intermediul magistralelor extrage succesiv din memorieinstruciuni, le interpreteaz i genereaz semnale de comand ctreunitile de prelucrare a datelor. Operaiilor aritmetice i logice suntefectuate de unitatea UAL.
2. Memoria pstreaz programe i date. Programele sunt stocate nmemorie sub form de iruri de instruciuni iar datele sunt operanzi saurezultate ale prelucrrilor. Datele sunt numere binare (iruri de ''0'' i ''1'')iar instruciunile sunt comenzi de prelucrare, care dei se prezint tot ca
UCP
UAL
UCC
MEMORIA
Mag.de adrese
Mag. de date
Mag. de control
Uniti I / E
Unitate de
Intr/ieiri
Unitate de intrare
Unitate de ieire
Figura 2. Structura unui sistem de calcul
4
-
iruri de cifre binare, vor fi numitecoduri. Anumite zone de memorie vorfi utilizate pentru programe iar altele, pentru date.
Controlul asupra coninutului memoriei revine exclusiv unitiicentrale; blocul de memorie nu are nici un control asupra semnificaieiinformaiei pe care o conine.
3. Unitile sau dispozitivele de intrare/ieire (notate I/E sauInput/Output=I/O) realizeaz legtura dintre sistemul de calcul i lumeaexterioar. O unitate elementar de tip I/O este numit n mod curent portde intrare/ieire . ntre porturi i locaiile de memorie exist asemnridar i deosebiri fundamentale.
Ca i locaiile de memorie, porturile sunt adresabile (fiecare port areo adres proprie de identificare); operaiile pe care unitatea central lepoate efectua cu porturile sunt: ''scriere port'' - transfer de date la port i''citire port'' - transfer de date de la port la UCC (aceleai operaii seefectueaz i cu locaiile de memorie).
Deosebirea esenial fa de locaiile de memorie este legtura pecare porturile o realizeaz cu echipamentele externe (periferice):tastatur, monitor, uniti de memorie externe (disc, band), imprimant,alte echipamente specifice unor procese industriale ( traductoare,echipamente de for, de semnalizare etc.). Aceast funcie a porturilor de''puncte de frontier '' determin i alte deosebiri fa de locaiile dememorie:
Informaia primit prin intermediul porturilor este tot timpul ''deactualitate'' - informaie nou pentru UCC.Informaia ''scris '' ntr-un port nu este stocat n mod pasiv, ca ntr-olocaie de memorie ci are efect asupra unui periferic (aprinde luminileoraului, declanaz sistemul de propulsie al unei rachete cosmice).Operaiile cu porturile sunt realizate de UCC prin instruciunispecifice, de tip IN (Input) sau OUT (Output), altele dect cele cumemoria, MOV, PUSH, POP etc.
Din punct de vedere software, un sistem de calcul dispune de doucomponente fundamentale.
1. Sistemul de operare - totalitatea programelor care asigur accesul
utilizatorului la resursele sistemului ( MS-DOS, WINDOWS, UNIX etc.).Programele, cu denumiri specifice dup funciile realizate, asigur accesuli controlul dispozitivelor periferice, organizarea informaiei n memoriaintern, ncrcarea i execuia programelor de aplicaii etc.
Fr un sistem de operare, calculatorul este o cutie inutil.2. Programele de aplicaii - introduse de utilizator n scopul
rezolvrii sarcinilor proprii. Acestea au o varietate practic nelimitat.
5
-
1.3 Arhitectura de baz a unui microprocesorAcest capitol se refer la structura intern a unui microprocesor
"standard", unitile interne fiind prezente sub form mai simpl sau maicomplex la toate tipurile de microprocesoare .
Dei exist o mare varietate de microprocesoare, produse de diferitefirme, cu multe deosebiri n structura i tehnologia lor de fabricaie, toateau o schem structural comun, rezultat din operaiile de baz pe care leefectueaz. Caracteristicile structurale i funcionale comune rezult dinfilosofia proiectrii microprocesoarelor, ca instrumente complexe pentrurealizarea unor sisteme numerice flexibile, rapide, puternice i la un prede cost deosebit de avantajos.
Structura de baz conine 5 uniti cu funcii specifice: unitatea decomand i control - UCC, unitatea aritmetic i logic - UAL, memoriaintern (format din registre = locaii), unitatea de adresare a memorieiexterne i unitatea de instruciuni.
1.3.1. Memoria internEste format din registre cu dimensiunea (numr de celule de
memorie) egal cu cea a magistralei de date.
UAL
A TF
UCC
Memorie
Memorie (registre)
Unitate de adresarea memoriei
Magistrala intern de date RD
R1R2
Rk
(microcod)
externeRA
Unitate de instruciuni
:
Magistrala de control
Magistralade adrese
Magistralade date
Fig. 3 Arhitectura standard a unui microprocesor
6
-
Registrele, notate R1, R2, . . . ,Rk, sunt numite "de uz general"deoarece, prin intermediul instruciunilor, n acestea se pot stoca temporardate de orice tip (numerice, alfanumerice, date de intrare - ieire, adrese,instruciuni etc.). n mod frecvent, n registrele de uz general se stocheazoperanzi i rezultate intermediare ale prelucrrilor numerice; registrelefiind conectate la magistrala intern de date, transferul datelor este rapidi facil.
Setul de registre de uz general constituie un atribut de arhitecturdeoarece aceste registre sunt la dispoziia programatorului; acesta leutilizeaz prin intermediul instruciunilor. Pentru a fi uor de utilizat,registrele au un nume format din una sau mai multe litere: A, B, C, . . ,AX, BX, . . , EAX, EDI, EDS etc.
1.3.2. Registrul de date i registrul de adreseDou registre, RA i RD prin care se realizeaz conectarea cu
magistralele externe de date i adrese, au rol cu totul special n structur.
Registrul de date RD memoreaz temporar datele magistralei pe careo deservete. Datele ce se transfer spre exterior sunt meninute pemagistral pn cnd dispozitivele externe (de regul mai lente dectprocesorul) le recepioneaz n registrele proprii. Datele transferate prinmagistral spre microprocesor se consider recepionate dup nscrierea nRD, care fiind conectat la magistrala intern de date devine surs de datepentru blocurile interne.
DESTBC QD
DC Q
DI 7
DI 6
DI 5 DC Q
DC Q
DI 4
DI 3
DI 2
DI 1
DI 0 DC QDC QDC Q
DC Q
DO 0
DO 1
DO 2
DO 3
DO 4
DO 5
DO 6
DO 7
Fig. 4. Schema unui registru de 8 bii
7
-
Similar, registrul de adrese RA are rolul de a menine o adres pemagistrala extern de adrese un timp suficient pentru ca memoria iporturile s o poat nregistra pentru realizarea funciei de selecie.
Cele dou registre, RA i RD sunt invizibile pentru utilizator.n figura 4 este prezentat schema de principiu a unui registru de 8
bii care poate fi utilizat ca tampon pentru magistrala de adrese (RA).Pentru o magistral de 16 bii, se utilizeaz dou registre de 8 bii.
Registrul din figur are i rol de amplificator de magistral,asigurnd un fan - out de 20 intrri TTL. Informaia de la intrrile DIapare al ieirile DO pe nivelul 1 logic al semnalului STB i este memoratn cele 8 circuite basculante bistabile de tip D. Pentru ca informaia s fiedisponibil la ieiri, este necesar ca semnalul de validare DE = 0.
1.3.3. Unitatea aritmetic i logic (UAL)Acest bloc funcional execut prelucrarea datelor. Funciile
realizate de unitate sunt:funcii aritmetice: adunare, scdere, nmulire, mprire; funcii logice: I, SAU, SAU EXCLUSIV, NU i complement.
Fiecare funcie este activat de o instruciune corespunztoare carefurnizeaz i operanzii implicai n operaie.
Pentru realizarea funciilor sale, unitatea aritmetic i logicutilizeaz cteva registre speciale care fac parte integrant din UAL:
AcumulatorulRegistru de uz general care este utilizat de UAL pentru stocarea
unuia dintre operanzi i pentru rezultatul operaiei; din acest punct devedere are un rol cu totul special n comparaie cu celelalte registre de uzgeneral.
Registrul FEste registrul fanioanelor de condiii (Flags) i conine celule de
memorie independente, cu funcii specifice, pentru nregistrarea unorinformaii ce rezult din operaiile aritmetice i logice (semnulrezultatului, paritatea, existena bitului de transport sau mprumut,depirea domeniului i altele). n ansamblu, indicatorii de condiiiexprim starea unitii aritmetice i logice.
Registrul de deplasareEste utilizat pentru deplasri spre stnga sau spre dreapta a unui
operand. Deplasrile se pot face cu unul sau mai muli bii. Deplasareaspre stnga cu un bit este echivalent cu nmulirea cu 2 iar cea spredreapta, cu mprirea prin 2.
La microprocesoarele de 8 bii, acumulatorul este folosit i caregistru de deplasare ns la microprocesoarele evoluate exist un registruspecial cu aceast funcie, care nu este vizibil pentru programator.
8
-
Deplasrile spre stnga sau spre dreapta se realizeaz sub comanda unorinstruciuni specifice care acioneaz asupra unui registru de uz generalsau unei locaii de memorie. Pentru realizarea operaiei, coninutulregistrului sau locaiei se transfer n registrul de deplasare, se executdeplasarea i apoi rezultatul se transfer napoi n registru sau locaie.Pentru programator operaiile secundare sunt invizibile.
1.3.4. Unitatea de adresare a memoriei externeRolul acestei uniti este calcularea adresei unui operand aflat n
memoria extern, ncrcarea acesteia pe magistrala de adrese i controlultransferului ntre memorie i microprocesor.
n memoria extern se adreseaz instruciuni i operanzi. Pentruinstruciuni se utilizeaz un registru special de adres, PC (ProgramCounter) - numrtor de program sau IP (Instruction Pointer) - indicatorde instruciuni; coninutul su crete cu o unitate dup citirea fiecruioctet.
Pentru adresarea operanzilor (datelor) se utilizeaz registre deadresare numite ''index''. Adresa se poate obine direct din registru sauprin adunarea (scderea) unui deplasament (constant specificat ninstruciune). Adresarea datelor se poate face i direct, prin ncrcareaadresei n registrul RA; n acest caz, adresa este furnizat de instruciune.
1.3.5. Unitatea de comand i controlCoordoneaz funcionarea tuturor unitilor interne pentru execuia
operaiilor coninute n mod codificat n instruciuni.Funciile unitii de comand sunt:
Extragerea instruciunii din memoria extern.Se ''citete'' instruciunea din zona care conine programul aflat n
execuie. Instruciunea are dou zone de informaie: zona de cod, careconine operaia caracteristic instruciunii i zona de date (operanzi).Zona de cod se ncarc n registrul de instruciuni, aflat n unitatea deinstruciuni.
Decodificarea instruciunii.Fiecare instruciune are ca efect o succesiune specific de operaii
elementare, numite microoperaii. Secvena de microoperaii este generatde unitatea de comand pe baza codului instruciunii; determinarea acesteisecvene n funcie de cod, este numit ''decodificare''.
Execuia propriu-zis const n activarea succesiv a unitilorinterne pentru efectuarea operaiilor din secvena corespunztoareinstruciunii.
Codul instruciunii permite obinerea tuturor informaiilor necesareexecuiei operaiilor impuse de instruciune:
9
-
- numrul de octei din formatul instruciunii;- tipul operaiei principale (adunare, scdere, transfer, salt etc.);- numrul operanzilor implicai n operaie;- adresa fiecrui operand ( dac este operand aflat temporar ntr-un
registru intern, se specific acest registru; dac este operand n memorie,se specific adresa sau cum se obine adresa lui).
Fiecare instruciune corespunde unei operaii fundamentale, care, ngeneral se realizeaz n mai multe etape. Execuia unei instruciuni este unir de operaii elementare:
starea - corespunde unei perioade de tact (T) i este durata uneioperaii elementare (de exemplu, incrementarea unui registru);ciclul main - conine 3 - 5 stri i corespunde unei etape dinexecuia unei instruciuni (de exemplu, citirea unei locaii dememorie, transferul de date ntre un registru intern i o locaie dememorie etc.); o instruciune conine 1 - 5 cicluri main, dintre careprimul ciclu main este de citire memorie (citirea codului instr.).
n desfurarea n timp a unei instruciuni, unitatea de comand icontrol selecteaz i adreseaz unitile interne ale microprocesorului carerealizeaz funcii specifice rolului lor.
Realizarea concret a unitii de comand i control (UCC) estespecific fiecrui tip de microprocesor i determin multe dinperformanele sale.
Ca structur, UCC este un automat finit, care funcioneaz pe bazaunui microprogram introdus n procesul de fabricaie. Acest microprogramnu poate fi modificat de utilizator i corespunde setului de instruciuni,fiind un interpretor de instruciuni. De aceea, setul de instruciuni este deasemenea fix pentru fiecare tip de microprocesor.
t
t
T1 T2 T3 T4 T5
CM (ciclu main)Fig.4 Diagrama semnalului de tact i delimitarea unui ciclu main
stare stare stare stare stare
CM
10
-
n figura de mai sus este prezentat structura general a unitii decomand i control. Registrul de instruciuni (RI) memoreaz temporarcodul instruciunii, care este ncrcat din memorie prin intermediulmagistralei externe de date. Decodorul identific instruciunea n cadrulsetului de instruciuni; informaia privind instruciunea curent estetransferat blocului de comand.
Blocul de comand i sincronizare, pe baza unui microprogram deinterpretare, genereaz semnalele de comand ctre unitile interne deexecuie.
1.4 Principiul de funcionare al unui microprocesor
Programul este compus din instruciuni care se afl n memorie.Citirea instruciunilor din memorie se face n sensul cresctor al adreselorla care sunt memorate. Activitatea microprocesorului const, n principal,n execuia instruciunilor una cte una, n ordinea n care se afl nprogram. Principalele etape sunt aadar:
citirea instruciunii din memorie i stocarea sa ntr-un registru intern;decodarea instruciunii, adic identificarea operaiilor coninute subform codificat n instruciune;
Magistrala de date
Magistrala de control
RI
Decodor
Bloc de comand
i sincronizare
. . . .
.
.
. . . .
Semnale de comand pentru unitile interne
Semnaledecontrolinterne
Fig. 5 Structura unitii de comand i control
11
-
executarea operaiilor ntr-o anumit ordine.Fiecare instruciune are o anumit adres. Pentru citirea instruciunii
este necesar ncrcarea adresei pe magistrala de adrese pentru a serealiza accesul la locaia de memorie. Microprocesorul trebuie s dispunn permanen de adresa instruciunii curente, din care, prin incrementareobine adresa instruciunii urmtoare. n acest scop se utilizeaz unregistru de adresare, numit, n general, numrtor de program (PC -Program Counter) sau indicator de instruciuni (IP - Instruction Pointer)care conserv n permanen adresa curent.
Primul octet al unei instruciuni (uneori i al doilea) este totdeaunaoctet de cod; el este ncrcat temporar n registrul RI (registrul deinstruciuni). Un octet d o informaie direct de 8 bii, adic 16 stri,ceea ce este insuficient pentru setul de instruciuni. De aceea,instruciunile sunt codificate pe 8 bii, ceea ce permite utilizarea tuturorcombinaiilor binare, n total 256; dac se utilizeaz doi octei de cod,numrul maxim de instruciuni codificabile este 256 x 256.
Pentru obinerea informaiei din codul instruciunii, este necesaroperaia de decodare (decodorul are 8 intrri i 256 ieiri, cte una pentrufiecare instruciune codat) i transformarea ieirilor decodorului ncomenzi electrice care urmeaz s activeze unitile interne care vorexecuta operaiile prestabilite. De exemplu, o comand de adunareactiveaz unitatea aritmetic pentru operaia de adunare.
Decodarea instruciunii furnizeaz i informaia privind numrul deoctei pe care l conine. Astfel, unitatea central poate separainstruciunile din irul de octei al programului. Unele instruciuni coninpe lng unul sau doi octei de cod i operanzi. Acetia sunt transferai nregistrele de uz general, RI fiind rezervat exclusiv pentru coduri. Dupcitirea unui octet din program, numrtorul de program (PC) este
Memorie
Numrtor (PC)
Registru de instruciuni
Decodor
Unitate de execuie
Acumulator
Unitatea decomand
Fig.6 Etapele tratrii unei instruciuni
Microprocesor
12
-
incrementat (coninutul crete cu o unitate: PC+1), fiind astfel pregtitpentru extragerea octetului urmtor, care se afl n memorie la adresaurmtoare n sens cresctor.
Registrul PC se comport asemntor cu indicatorul kilometric alunui automobil: el indic permanent numrul de kilometri parcuri icrete cu o unitate imediat ce a fost parcurs nc un kilometru.
1.4.1. Ceasul microprocesoruluiCircuitele de comand i cele care genereaz secvenele de operare,
pun n funciune diferite uniti interne ale microprocesorului la anumitemomente. UCC fiind un automat secvenial cu numr finit de stri,funcioneaz pe baza unor impulsuri de tact. Acestea sunt produse de ungenerator electronic pilotat de un cristal de cuar, care asigur stabilitateafrecvenei la variaia tensiunii de alimentare i a temperaturii. Generatorulde tact poate fi un circuit specializat extern sau poate fi coninut nstructura intern a microprocesorului (Fig.7).
Frecvena impulsurilor de tact determin viteza de execuie ainstruciunilor. O operaie elementar se efectueaz ntr-o singurperioad de tact. Viteza de operare, exprimat n operaii/secund, va fi:
v = f = 1T op/ sec .unde
f este frecvena (n Herz) iar T este perioada (n secunde).
De exemplu, la o frecven de 100 MHz, rezult o vitez de operarede 100 000 000 de operaii elementare pe secund.
Nu se pot msura foarte riguros performanele unui microprocesor,deoarece nu exist un instrument cu asemenea funcie.
Evaluarea performanelor se face prin compararea diferitelor tipuride microprocesoare ntre ele, pe baza unor criterii unanim recunoscute.
1111
2222
Microprocesor Microprocesor
Gen
erat
or
de ta
ct
Gen
erat
or
de ta
ct
Fig.7 Relaia generator de tact - microprocesor
QzQz
13
-
Viteza de operare, de exemplu, se exprim prin mai muli parametri:Frecvena de tact, exprimat n MHz; cu ct este mai mare, cu attviteza de execuie crete. Frecvena nu exprim ns foarte exactviteza de execuie a instruciunilor; n cazul apelrii la subrutine, estenecesar un interval de timp pentru schimbarea adresei curente. Unuimicroprocesor i sunt necesare 10 perioade de tact pentru a executasaltul iar altuia, 20 de perioade. Dac s-ar dubla frecvena de tact lacel de-al doilea, durata saltului rmne aceeai!Numrul de instruciuni pe secund; se exprim n MIPS (Milioane deInstruciuni Pe Secund). Durata de execuie (exprimat n perioadede tact), difer foarte mult n funcie de tipul instruciunii. Cele mailungi instruciuni sunt cele pentru operaii aritmetice n virgulmobil; de aceea, unitatea recunoscut este FLOPS (Floating PointOperation per Second).
La compararea calculatoarelor, totul se complic, deoarece pe lngperformanele unitii centrale intervin cele de sistem: viteza de transferpe magistrale, viteza de operare a discului, a monitorului. Au fostconcepute programe test speciale pentru evaluarea performanelor prinmsurarea timpului de execuie pe diferite calculatoare. Orice program,ns, favorizeaz o anumit arhitectur n detrimentul alteia.
1.4.2. Exemplu de execuie a unui program simpluExemplul urmtor este real dar corespunde microprocesoarelor de 8
bii, care dei au performane modeste, prezint avantajul simplitii.Urmrirea etapelor de execuie nu este foarte dificil iar valoarea
pedagogic este considerabil.Problema const n adunarea 5+12, rezultatul fiind ncrcat n
registrul acumulator .Vom privi problema din punctul de vedere al programatorului, care
are acces doar la registrele interne i la locaiile de memorie.Instruciunile i operanzii (5 i 12) se afl n memorie.Secvena complet de operaii este urmtoarea:
Prima instruciune transfer numrul 5 din memorie n acumulator;A doua, comand adunarea lui 12 la coninutul acumulatorului;Rezultatul adunrii rmne n acumulator.
Organigrama programului (schema logic) este dat n fig.8.
14
-
Programul din memorie va conine aadar dou instruciuni, careconin i operanzii. Vom presupune c programul ncepe la adresa 0105.
Pentru a fi executat de microprocesor, programul trebuie scris n codmain (n sistem binar sau n hexazecimal) i ncrcat n memorie, octetcu octet ncepnd cu locaia de memorie cu adresa 0105.
n setul de instruciuni al microprocesorului cutm instruciunilecorespunztoare. Pentru aceasta, este necesar manualul de utilizare; vomfolosi manualul de utilizare al microprocesorului Intel 8085, unde gsimtoate informaiile necesare, cu privire la instruciuni.
MOV A, d8 ; ncarc n acumulator data de 8 biiADD A, d8 ; adun data la acumulator, rezultatul n A.
Vom nlocui n corpul fiecrei instruciuni operanzii generici, cu 5 i 12.Instruciunea Descrierea Cod Hexa Cod binar
MOV A, 05H
ncarc n acumulator numrul 05 (05 n Hexa este tot 05)
3E 05
0011 11100000 0101
ADD A, 0CH Adun 12 la acumulator (12 n Hexa este C)
C60C
1100 01100000 1100
Cei 4 octei (din ultimele dou coloane ale tabelului) definesc ntotalitate programul.
Programul se ncarc n memorie, octet cu octet, de la adresa 0105.Celulele de memorie fiind circuite bistabile (binare), n memorie vom gsiprogramul sub form de cod binar (ultima coloan).
Start program
Pune 5 n acumulator
Adaug 12 la acumulator
Sfrit de program
Fig. 8 Schema logic a programului
15
-
n continuare vom derula ''filmul'' operaiilor care au loc pentruexecuia programului. Este pus n eviden principiul fundamental alrulrii programelor ntr-un sistem numeric de calcul.
Etapa 0: situaia iniialNe intereseaz coninutul numrtorului de program (PC), al
registrului de instruciuni (RI) i al registrului acumulator (A).PC conine adresa primei instruciuni (0105), acumulatorul conine
data rmas din operaii anterioare, care nu mai intereseaz pe nimeni iarregistrul RI conine codul unei instruciuni anterioare, care, de asemeneanu ne intereseaz.
Etapa 1: Citirea primului octet. Coninutul contorului (PC) sencarc pe magistrala de adrese, ceea ce are ca efect selectarea locaiei cuadresa 0105, care conine primul octet al instruciunii ( de cod).
0105
0106
0107
0108
0109
0 0 1 1 1 1 1 0
0 0 0 0 0 1 0 1
1 1 0 0 0 1 1 0
0 0 0 0 1 1 0 0
Fig. 9 Aspectul programului n memorie
Coninutul locaiei Adresa
UAL
A T
UCC
(registre)
Magistrala intern de date RD
(microcod)
:
RI
Decodor PC= 0105
01050106010701080109
0011 11100000 01011100 01100000 1100
MemoriaMicroprocesor
Fig. 10 Adresarea memoriei pentru extragerea primului octet
X X X X X X X X X X X X
16
-
Dup citirea primului octet, contorul de program este incrementatautomat, aadar coninutul lui devine PC = 0106.
Dup decodare, UCC obine informaia privind octetul de date icomand citirea lui i ncrcarea n registrul A; UCC ''tie'' c al doileaoctet este ultimul i deci va urma eventual alt instruciune.
Etapa 2: Citirea octetului al doilea (operandul 05). Coninutulcontorului (PC) se ncarc pe magistrala de adrese, ceea ce are ca efectselectarea locaiei cu adresa 0106, care conine al doilea octet al
UAL
A T
UCC
(registre)
Magistrala intern de dateRD
(microcod)
:
RI
Decodor PC= 0106
01050106010701080109
0011 11100000 01011100 01100000 1100
Memorie
0011 1110
Fig. 11 ncrcarea octetului de cod n RI i decodarea Microprocesor
UAL
A T
UCC
(registre)
Magistrala intern de dateRD
(microcod)
:
RI
Decodor PC= 0106
01050106010701080109
0011 11100000 01011100 01100000 1100
Memorie
0011 0101
Fig. 12 Citirea celui de-al doilea octet al instruciunii (primul operand)Microprocesor
17
-
instruciunii - octetul de date. Acesta va fi ncrcat n registrul A, conformcomenzii primei instruciuni. Dup citirea octetului de date, n modautomat, coninutul contorului devine PC = 0107.
Etapa 3: Citirea octetului de cod ( instruciunea a doua) .Se efectueaz aceleai operaii ca n etapa 1, dar locaia de memorie
selectat este 0107, n care se afl codul instruciunii a doua.
UAL
A T
UCC
(registre)
Magistrala intern de dateRD
(microcod)
:
RI
Decodor PC= 0107
01050106010701080109
0011 11100000 01011100 01100000 1100
Memorie
0011 01010000 0101
Fig. 13 ncheierea execuiei primei instruciuniMicroprocesor
UAL
A T
UCC
(registre)
Magistrala intern de dateRD
(microcod)
:
RI
Decodor PC= 0107
01050106010701080109
0011 11100000 01011100 01100000 1100
Memorie
0011 01010000 0101
Fig.14 Citirea locaiei cu adresa 0107, codul instruciunii a douaMicroprocesor
18
-
Etapa 4: Citirea octetului al doilea .Acesta reprezint al doilea operand ce va fi ncrcat n registrul
temporar T, al unitii aritmetice UAL (fig. 16, 17). Transferul n T seexecut pe baza comenzii codificate n instruciunea ADD A, 0C - deadunare a operandului 0C la acumulator; aceeai instruciune comandoperaia de adunare A+T i plasarea rezultatului n registrul A (fig.18).
UAL
A T
UCC
(registre)
Magistrala intern de dateRD
(microcod)
:
RI
Decodor PC= 0108
01050106010701080109
0011 11100000 01011100 01100000 1100
Memorie
1100 01100000 0101
Fig. 15 Decodarea instruciunii a doua (de adunare)Microprocesor
UAL
A T
UCC
(registre)
Magistrala intern de dateRD
(microcod)
:
RI
Decodor PC= 0108
01050106010701080109
0011 11100000 01011100 01100000 1100
Memorie
0000 0101 1100 0110
Fig. 16 Citirea octetului al doilea al instruciunii de adunare.
Microprocesor
19
-
Operaia de adunare A+T se face ntr-o singur perioad de tact iarrezultatul este plasat n A prin intermediul magistralei interne de date lacare registrul A este conectat.
n fig.19, 20, sunt prezentate cele dou instruciuni descompuse noperaii elementare (conform manualului de utilizare Intel); sunt delimitateperioadele de tact i ciclurile main. Pentru prima instruciune, ciclulmain CM1:
UAL
A T
UCC
(registre)
Magistrala intern de dateRD
(microcod)
:
RI
Decodor PC= 0109
01050106010701080109
0011 1110
0000 11001100 01100000 0101
Memorie
1100 01100000 0101 0000 1100
Fig. 17 ncrcarea octetului 0C n registrul temporar TMicroprocesor
UAL
A T
UCC
(registre)
Magistrala intern de dateRD
(microcod)
:
RI
Decodor PC= 0109
01050106010701080109
0011 11100000 01011100 01100000 1100
Memorie
1100 01100001 0001 0000 1100
Fig. 18 Efectuarea adunrii A+T, rezultatul fiind 0001 0001=17
Microprocesor
20
-
T1: coninutul numrtorului PC este ncrcat pe magistrala deadrese iar pe magistrala de date se ncarc temporar cuvntul de stare(Status).
T2: se incrementeaz PC pentru citirea locaiei urmtoare.Tw: dac citirea memoriei dureaz mai mult de o stare, se insereaz
automat o stare de ateptare ( wait).
T3: codul instruciunii se transfer n registrul de instruciuni.T4: se face decodarea octetului de cod.Ciclul main CM2:T1: coninutul numrtorului PC este ncrcat pe magistrala de
adrese iar pe magistrala de date se ncarc temporar cuvntul de stare(Status).
T2, (Tw), T3: data din locaia adresat se copiaz n A(acumulator).
n cazul instruciunii ADD A, 0CH, desfurarea n timp esteasemntoare (fig.20), cu deosebirea c al doilea ciclu main are 4 stri,copierea operandului se face n registrul T iar n ultima stare se faceadunarea A+T cu depunerea rezultatului n A.
;se transfer octetul 05H n acumulatorMOV A, 05H
M1 M2
PC outStatus PC=PC+1 Cod RI Decod. Satus Data A
T1 T2 T3 T4 T1 T2 T3
Tw TwFig. 19 Desfurarea n timp a instruciunii MOV A, 05H
PC out PC=PC+1
;se adun octetul 0C la acumlatorADD A, 0CH ;rezultatul se obine n acumulator.M1 M2
PC outStatus PC=PC+1 Cod RI Decod. Satus Data T
T1 T2 T3 T4 T1 T2 T3
Tw Tw
Fig. 20 Desfurarea n timp a instruciunii ADD A, 0CH
PC out A A+TT4
PC=PC+1
21
-
2 Magistrale i standarde de magistral
2.1 Conceptul de magistralMicroprocesorul schimb informaii nu numai cu memoria dar i cu
lumea perifericelor ( tastatur, mouse, ecran, imprimant, modem etc.). Eldialogheaz cu aceste periferice prin intermediul circuitelor de interfa,numite nc de ''intrare/ieire'' (I/O - input/output). Toate perifericeletrebuie s poat fi nominalizate individual prin adrese specifice; acesteadrese nu se confund cu cele de memorie, deoarece ele sunt activesimultan cu comenzi specifice numai circuitelor de interfa.
Comunicarea cu memoria i perifericele se realizeaz prin liniiparalele de transfer de date, magistrale.
Magistrala este un mediu comun de comunicaie ntre componenteleunui sistem de calcul; fizic, este format din linii electrice prin carecircul semnale de acelai tip i amplificatoare electronice pentrumeninerea nivelului de tensiune n condiiile creterii numrului decomponente conectate.
Orice magistral este generat i controlat de o unitate specializat,de regul unitatea central a sistemului. Aceast unitate iniiaz dialogulcu alte uniti conectate la magistral (uniti de intrare/ieire, memorie).Dialogul este totdeuna de tipul UC unitate secundar i nu ntre douuniti secundare.
Ampl
. de
Unitatecentral
C1 C2 C3 C4
De
codo
rm
agi
stra
l
::
:
linii de selecie
Sel Sel Sel Sel
Fig. 1 Comunicare ntre UC i componenta C3, prin magistral. Celelalte componente conectate sunt pasive
Magistral bidirecional
n fig.2, este prezentat amplificatorul de magistral Intel 8286,bidirecional, pe 8 bii, cu ieiri cu trei stri i fan-out 20 pentru ieirileB, 6 pentru ieirile A.
22
-
Circuitul realizeaz funciile de amplificare i transfer atta timp ctsemnalul Dac , ieirile trec n starea de nalt impedan.DE = 0. DE = 1Sensul transferului este stabilit de intrarea T: dac T=1, transferul se facede la A la B iar dac T=0, de la B la A.
Introducerea conceptului de magistral a revoluionat modul deconcepere i proiectare a sistemelor de calcul. Modelul de calculatorbazat pe magistral a fost preluat mai ales de familiile de mini i microcalculatoare. Prin standardizarea magistralelor, sistemele de calcul audevenit deschise, n sensul c productorii de componente au putut srealizeze module de memorie, interfee de intrare / ieire, echipamenteperiferice, pentru familii mari de calculatoare, bazndu-se numai pespecificaiile magistralei.
Au fost dezvoltate diferite standarde de magistral, urmrindevoluia microprocesoarelor utilizate ca uniti centrale i implicit anecesitilor lor de comunicare (vitez, mod de transfer, sincronizareetc.).
DE
A0B0
A1
B1
A2B2
A3
B3
A4
B4
A5B5
A6
B6
A7B7
Fig. 2. Schema unui amplificator bidirecional de magistral (Intel 8286)
T
23
-
S-au dezvoltat magistrale specializate pentru anumite tipuri deechipamente periferice ( uniti de disc, console grafice etc.).
Din acest punct de vedere se pot distinge dou clase de magistrale:Magistrale de sistem - dezvoltate n special pentru conectareaunitii centrale cu celelalte componente de baz ale sistemului: ISA,EISA, MULTIBUS, PCI;Magistrale specializate - care sunt destinate optimizrii transferuluide date ntre sistem i anumite tipuri de periferice: VESA, SCSI,GPIB.
Apariia i evoluia rapid a microprocesoarelor a consacrat modelulde calculator bazat pe magistral. Semnalele generate de microprocesorsunt concepute tocmai pentru conectarea la o magistral de sistem.
Dei familiile de microprocesoare sunt diferite, n funcie deproductor, totui numeroase caracteristici ale magistralelor lor suntcomune ( principii de transfer, tipuri de semnale, dimensiune), astfel cmodulele proiectate pentru o anumit magistral pot fi adaptate uorpentru alta.
2.2 Elementele de baz ale unei magistraleO magistral, care din punct de vedere fizic este constituit din linii
conductoare i amplificatoare de semnal, din punct de vedere funcional se
Microprocesor
Memorie
Interfa demagistral
Interfa video Interfa hard disc Intrri / Ieiri
Magistral standard ISA, EISA, MCA
Magistral intern
Fig.3 Microprocesorul genereaz magistrala intern (de date, adrese,i de control). Interfaa de magistral face corespondendena cu magistrala standard (extins).
24
-
compune dintr-un set de semnale electrice i un set de reguli careguverneaz accesul la comunicaie i transferul de informaii.
Informaiile transferate pot fi: date, instruciuni, informaii decontrol i sincronizare. Regulile de funcionare se refer la:
caracteristicile fizice i electrice ale componentelor conectate lamagistral (niveluri de tensiune, cureni, ncrcare, tip conectori);secvena de generare a semnalelor necesare pentru transfer;timpi limit pentru diferite faze ale unui transfer i timpi de meninerea unui anumit semnal;dependene funcionale i temporare ntre diferite tipuri de semnale.
n funcie de numrul liniilor utilizate pentru transferul de date,magistralele sunt de dou tipuri:
paralele i seriale.Cele seriale se utilizeaz n principal pentru comunicaie ntre
sisteme de calcul aflate la distan (reele de calculatoare).
2.3 Magistrale paraleleO magistral paralel se compune din urmtoarele tipuri de semnale:
semnale de date - utilizate pentru transfer de date n ambele sensuri;la un moment dat o singur unitate poate s emit pe liniile de date;numrul liniilor de date ( 8, 16, 32, 64) determin dimensiuneacuvntului de date ce poate fi transferat i viteza de transfer;semnale de adres - avnd rolul de adresare a modulului destinaiesau surs; numrul liniilor de adres determin dimensiunea spaiuluide adresare al magistralei;semnale de comand - specific direcia de transfer (dinspre procesorsau ctre procesor) i tipul componentei adresate (modul de memorie,dispozitiv de intrare/ieire, controler de ntreruperi etc.).semnale de control - stabilesc condiiile de transfer pe magistral;semnale de ntrerupere - semnalizeaz apariia unor evenimenteinterne sau externe i determin ntreruperea execuiei programuluicurent;semnale de tact - au rol de sincronizare i permit generarea unorsemnale de frecven programabil;semnale de alimentare - utilizate ca tensiuni de alimentare pentrucomponentele sitemului;semnale de control acces - utilizate pentru arbitraj i pentru controlulaccesului la magistral, n cazul magistralelor multimaster.
25
-
Numrul i semnificaia particular a semnalelor depinde de tipul idestinaia magistralei. Anumite grupe de semnale pot lipsi i alte grupepot fi adugate (semnale de eroare, de control paritate etc.).
Clasificare1. Dup modul de lucru, n raport cu semnalul de tact:
magistrale sincrone - ciclurile de transfer sunt corelate cu semnalulde tact. Dimensiunea magistralei este limitat de frecvena semnaluluide tact.magistrale asincrone - nu exist o legtur direct ntre ciclul detransfer i semnalul de tact al sistemului; majoritatea magistraleloractuale lucreaz pe acest principiu (ISA, EISA, MULTIBUS).
2. Dup numrul de uniti master conectate la magistral:magistrale unimaster - exist o singur unitate master pe magistral;nu sunt necesare mecanisme de arbitraj. Unitatea master iniiaz oricetransfer de informaie i are permanent controlul deplin asupra striimagistralei; unitile slave conectate la magistral nu dispun deelementele necesare pentru controlul magistralei.magistrale multimaster - sunt controlate de mai multe uniti masterdar nu simultan; magistrala trebuie s conin semnale de arbitraj iun anumit protocol de transfer al controlului ntre unitile master.
3. Dup modul de realizare a transferului de date:magistrale cu transfer prin cicluri (secveniale); se aplic regula cala un moment dat cel mult un ciclu de transfer s se afle ndesfurare; majoritatea magistralelor folosesc acest principiu detransfer.magistrale tranzacionale - transferul de date se efectueaz printranzacii; o tranzacie este divizat n mai multe faze care se potdesfura simultan dac ele utilizeaz grupuri de semnale diferite.
Pentru compatibilizarea modulelor cu sistemele de calcul, au foststandardizate multe tipuri de magistrale.
n cadrul unui sistem de calcul pot s coexiste ma imulte tipuri destandarde, specializate pe transfer de date ntre diferite tipuri decomponente de sistem. Astfel se poate utiliza o magistral de mare vitezpentru transferul ntre procesor i memorie, o magistral cu acces multiplupentru conectarea unor periferice de mare vitez (disc, interfa video) io magistral de vitez redus pentru periferice lente.
n domeniul calculatoarelor personale s-au dezvoltat mai multemagistrale care au devenit standarde n fapt, nainte de standardizarea lorformal:
26
-
ISA (Industrial Standard Architecture) - magistrala de sistem aprimelor calculatoare personale compatibile IBM PC i care nc seutilizeaz n majoritatea calculatoarelor personale.EISA (Extended ISA) - varianta extins a magistralei ISA.VESA Local Bus ( Video Electronics Standard Association) -magistral proiectat iniial pentru pentru accelerarea transferuluintre procesor i interfaa grafic, s-a dovedit util i pentru altetipuri de interfee de mare vitez (
Hard Disc).PCI (Peripheral Component Interconnect) - magistral de marevitez adaptat cerinelor procesoarelor evoluate din familia Intel. Afost adoptat n arhitectura general Power PC definit de Apple-IBM - Motorola.PCMCIA (Personal Computer Memory Card InternationalAssociation) n format de carte de credit.
2.4 Caracteristici funcionale ale magistralei ISAMagistrala ISA (Industrial Standard Architecture) a fost definit
pentru calculatoarele personale IBM PC. Se utilizeaz pentru conectarean sistem a interfeelor de intrare/ieire specifice unui calculator personal:interfaa de disc, interfaa video, interfaa de sunet i diferite alte interfeede utilizator.
Este o magistral asincron, care poate transfera date pe 8 i 16 bii.Semnalele magistralei se regsesc pe sloturile de extensie ale
calculatorului. Un slot se compune din doi conectori, unul de 64 de pini icellalt de 36 de pini.
Pe o magistral ISA transferul de date se realizeaz pe baz decicluri de magistral. n funcie de tipul transferului, exist 4 tipuri deciclu:
ciclu de citire memorie ( - Memory Read Command);MRDC ciclu de scriere memorie ( - Memory Write Command);MWTC ciclu de citire port intrare ( - Input Output Read Command);IORC ciclu de scriere port ieire ( - Input Output Write Command);IOWC
n paranteze sunt menionate denumirile semnalelor care se activeaz laexecuia fiecrui tip de ciclu, toate fiind active n ''0''.
A1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A31B1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .B31
C1 . . . . . . . . . . . . . . . . . . C18D1 D18. . . . . . . . . . . . . . . . . .
Fig.4 Conectorii magistralei ISA (62 +36 pini)
27
-
Conectorii magistralei ISA se compun din dou seciuni:Seciunea de origine, pe 8 bii (PC XT), cu 62 de pini;Seciunea de extensie la 16 bii (PC AT), cu 36 de pini.
Liniile de semnal sunt:SA0 . .SA19 (System Address) linii de adres pentru memorie iporturi;LA17 . . LA23 (Lachable Address) linii de adres nememorate, validenumai pe durata semnalului BALE.
CLK linia semnalului de tact al sistemului;Reset DRV (Reset Driver) comanda de iniializare;SD0 . . SD15 (System Data Lines) linii bidirecionale de date;I/O CH CK (I/O Channel Check) indic o eroare de paritate;I/O CH RDY (I/O Channel Ready) prin dezactivare, semnalulintroduce stri de ateptare pentru dispozitive lente;IRQ3 . .IRQ7, IRQ9 . .IRQ15 (Interrupt Request) cereri de ntrerupere; IORC (Input/Output Read Command) citire port de intrare (periferic);IOWC
(Input/Output Write Command) scriere port de ieire(periferic);SMEMR (System Memory Read) citire memorie din spaiul sub 1 MB;
A1B1
A10B10
A20B20
A31B31
C1D1
C10D10
I/O CH CKSD7SD6SD5SD4SD3SD2SD1SD0I/O CH RDYAENSA19SA18SA17SA16SA15SA14SA13SA12SA11SA10SA9SA8SA7SA6SA5SA4SA3SA2SA1SA0
Mas
Mas
Reset DRV+5VIRQ9-5VDRQ2-12VOWS+12V
SMEMWSMEMRIOWIORDACK3DRQ3DACK1DRQ1RefreshCLKIRQ7IRQ6IRQ5IRQ4IRQ3DACK2T/CBALE+5VOSCMas
SBHELA23LA22LA21LA20LA19LA18LA17MEMRMEMWSD 8SD 9SD10SD11SD12SD13
C18 D18SD14SD15
MEM CS16I/O CS16 IRQ10
IRQ11IRQ12IRQ15IRQ14DACK0DRQ0DACK5DRQ5DACK6DRQ6DACK7DRQ7+5VMASTERMas
Fig.5 Semnalele magistralei ISA: seciunea de 62 de pini i seciunea de extensie de 36 de pini
28
-
SMEMW (System Memory Write) scriere memorie n spaiul deadresare sub 1 MB;MRDC (Memory Read Command) citire memorie n tot spaiul;MWTC (Memory Write Command) scriere memorie n tot spaiul;DRQ0 . . DRQ7 (DMA Request) cereri de acces direct la memorie (0..3pentru transferuri de 8 bii, 4..7 pentru transferuri de 16 bii);DACK0 . . DACK7 (DMA Acknowledge) achitare cereri DMA (0..3pentru transferuri de 8 bii, 4..7 pentru transferuri de 16 bii);AEN (Address Enable) invalideaz selecia porturilor I/O pe duratadesfurrii unui ciclu DMA;REFRESH - indic ciclu main de remprosptare memorie DRAM;T/C (Terminal Count) indic terminarea transferului DMA;SBHE
(System Bus Hight Enable) indic transfer pe octetul superiorde date (SD8 . . 15);MASTER semnal generat de un modul master (procesor de intr./ieire)cnd iniiaz un ciclu de transfer;MEMCS 16 (Memory Size 16) indic selectarea unui modul dememorie pe 16 bii;I/O CS 16 (Input/Output Size 16) indic selecia unui port pe 16 bii;OSC (Oscilator) semnal generat de oscilatorul sitemului; acest semnaleste divizat cu diferii factori pentru obinerea frecvenei de transfer,de remprosptare memorie etc.
2.5 Arbitrajul magistralelorntr-un sistem cu mai multe procesoare (sistem multiprocesor), i o
singur magistral de sistem, un singur procesor trebuie s aib controlulmagistralei, altfel apar conflicte de acces. Este necesar aadar, prezenaunui arbitru, care s atribuie magistrala unui singur procesor la un momentdat.
Gestiunea magistralelor este numit ''arbitrajul magistralelor'' i esteasigurat de circuite logice speciale; aceste circuite sunt numite genericASIC (Application Specific Integrated Circuit) i au ca sarcin rezolvareaconflictelor de acces la magistral. Arbitrajul se face n funcie de nivelulde prioritate al fiecrui concurent. n general, dispozitivele deremprosptare a memoriei DRAM i cele de acces direct la memorie,DMA, au nivelul de prioritate maxim.
Problemele de acces la magistral sunt evitate dac fiecare procesorare memorie intern ''cache''; este unul din motivele pentru care generaiileevoluate de microprocesoare dispun de memorie intern, integrat pe chip.
29
-
30