Vous êtes sur la page 1sur 20

1

ARHITECTURA SISTEMELOR DE CALCUL


Analizm n acest capitol problemele absolut fundamentale privind arhitectura i principiile funcionale ale unui sistem de calcul (SC), pornind cu prezentarea plcilor de baz, a procesoarelor, hard discurilor i memoriei, din structura unui calculator personal (PC) i continund cu arhitectura detaliat a unui microprocesor, sau hardware-ul acestuia. Ulterior este abordat i problema interconectrii SC n structuri numite reele de calculatoare. Pentru acest capitol se pot folosi din bibliografie lucrrile 3, 8, 9.

1. Componentele de baz ale unui SC


1. Plcile de baz Placa de baz este principala plac de sistem pentru un calculator personal PC i conine magistrala de date care transfer datele ntre diferitele componente de pe placa de baz i procesorul calculatorului personal. Viteza cu care sunt transferate datele de-a lungul magistralei este msurat n megahertzi (MHz). Dei 66 MHz a fost standardul pentru calculatoarele personale care aveau un procesor Pentium, plcile de baz pot opera azi la viteze de la 100 pn la 300 MHz. O plac de baz este specific tipului de procesor care ruleaz pe calculator. Astfel, o plac de baz a unui calculator IBM PC va fi conceput diferit de o plac de baz pentru calculatoarele Apple iMac, care folosesc un procesor Motorola. Placa de baz mai ofer toate sloturile destinate procesorului i memoriei calculatorului. Tot pe placa de baz se afl zonele n care se conecteaz (cu ajutorul cablurilor panglic) hard discurile i alte dispozitive hardware precum unitile CD-ROM, ca i sloturile de extensie (PCI i ISA) pentru alte dispozitive cum ar fi plcile de sunet i plcile de interfa pentru reea. Plcile de baz sunt caracterizate i prin tipul de conectare oferit pentru procesor. O plac de baz cu Socket 7 folosete un procesor ce este n esen un ptrat mic ataat la un Socket de pe placa de baz printr-o serie de pini de mici dimensiuni. Intel, AMD i Cyrix produc procesoare pentru plcile de baz cu socket 7. Plcile de baz cu slot 1 i slot 2 prezint un slot mai mare pentru procesor, care este de regul de form rectangular i seamn cu o crmid foarte mic. O serie de plci de baz cu slot 1 disponibile pe pia furnizeaz spaiu pentru procesoare duale. Acest lucru face ca plcile de baz pe slot 1 s fie adecvate pentru staiile de lucru client performante sau pentru serverele de reea. Dei rapiditatea cu care un calculator poate prelucra datele este n realitate determinat de procesorul calculatorului, deciderea asupra unei anumite plci de baz ar trebui s fie, influenat de caracteristicile oferite de chipset-ul plcii de baz. Chipsetul este acela care determin nivelul maxim al vitezei magistralei de date. Chipseturile ofer suportul DMA i alte caracteristici, cum ar fi portul AGP (care asigur un rspuns video mai rapid). Aceste caracteristici vor influena pozitiv performanele globale ale calculatorului.

2. Memoria Pentru calculatoarele personale par a exista tot attea tipuri de memorie pe ct sunt diferite sortimentele de mere ntre ele. Memoria calculatorului sau memoria RAM reprezint spaiul de stocare funcional. Ea este utilizat de procesor i de alte dispozitive pentru stocarea temporar a informaiilor i, este accesat de software atunci cnd noi lucrm pe calculatoarele noastre. Nu putei instala orice tip de memorie de RAM pe placa dumneavoastr de baz. Acest lucru este de fapt determinat de chipset-ul instalat de productor pe placa de baz. Trebuie s cunoatei astfel ce tip de memorie RAM este compatibil cu o anumit plac de baz. Memoria RAM se prezint n dou formate de baz: SIMM i DIMM. O memorie SIMM (Single Inline Memory Module) este o plac de silicon epoxidat care conine o serie de cipuri de memorie. Memoriile SIMM se instaleaz ntr-un slot de pe placa de baz. Ele trebuie instalate pe placa de baz n perechi identice. Pentru a avea 64 MB de memorie pe o plac de baz, trebuie instalate dou SIMM uri de 32 MB. O memorie DIMM (Dual Inline Memory Module) conine cipuri de memorie, la fel ca memoria SIMM, dar ofer o densitate mai mare de cipuri de memorie, deci mai mult memorie RAM. Memoriile DIMM nu trebuie s fie instalate n perechi i, de regul, exist 3 sloturi DIMM pe o plac de baz. Aceasta nseamn c un calculator cu 128 MB de memorie va necesita instalarea unui singur banc de memorie DIMM de 128 MB. Toate plcile de baz mai noi folosesc memoria DIMM, dar este posibil s ntlnii i unele plci de baz care prezint sloturi att pentru memorii DIMM, ct i pentru memorii SIMM. Memoria RAM a fost msurat, din punct de vedere istoric, n nanosecunde (ns). Cu ct o memorie RAM este caracterizat printr-un timp de acces mai mic n nanosecunde, cu att este ea mai rapid. De exemplu, o memorie RAM pe 10 ns este mai rapid dect o memorie RAM pe 30 ns. Viteza memoriilor RAM mai noi este acum msurat n MHz. n prezent sunt disponibile memorii RAM pe 100 i pe 133 MHz. Aceste dou viteze ale memoriei RAM sunt echivalente aproximativ cu 12 i respectiv, 8 ns. Exist o serie de tipuri de memorii RAM diferite iar tipul care va fi utilizat depinde de placa de baz folosit de calculator. Dei memoriile s-au modificat dramatic de la apariia calculatoarelor personale, tipurile de memorii RAM prezentate n continuare reprezint toate modelele pe care la putei gsi pe o plac de baz pentru un procesor Pentium:
Memoria FPM (Fast Page Mode). Acest tip de memorie RAM este montat n module SIMM de 2, 4, 8, 16 sau 32 MB i reprezint tipul tradiional de memorie RAM. Memoria FPM RAM se gsete n dou versiuni: 60 ns i 70 ns. Nu putei combina memorii cu viteze diferite pe aceeai plac de baz. Memoria EDO (Extended Data Output). Acest tip de memorie RAM reprezint o mbuntire fa de memoria FPM RAM i ofer o citire mai rapid a datelor. Memoriile EDO RAM se vnd, de regul n versiunile de 60 i 50 ns. Versiunea pe 50 ns este disponibil la un cost mai ridicat. Memoria EDO RAM este montat n module SIMM. Memoria SDRAM ( Synchronuos Dynamic RAM). Acest tip de memorie RAM este mai nou i este utilizat n majoritatea calculatoarelor personale noi. Acest tip de memorie este denumit, de regul, PC 100 sau PC 133 RAM, n funcie de viteza sa. Memoria SDRAM este montat n module DIMM i are un timp de acces de 12 ns (PC 100 RAM), respectiv de numai 8 ns (PC 133 RAM). Acest tip de memorie RAM este numit sincron deoarece este capabil s se sincronizeze cu viteza plcii de baz. Memoria DDR-SDRAM (Double Data Rate-Synchronous DRAM). Cel mai nou tip de memorie RAM, care este deocamdat suportat doar de puini productori de plci de baz, este DDR-SDRAM.

Acest tip de memorie RAM este capabil s transfere date de dou ori n cursul unui singur ciclu al ceasului plcii de baz (care este msurat n MHz). Aceasta nseamn c acest tip de memorie RAM poate fi de dou ori mai rapid dect celelalte tipuri de memorie RAM. Memoria DDR-SDRAM este montat n module DIMM.

Ca o concluzie, cu ct exist mai mult memorie RAM pe un sistem, cu att performanele sistemului vor fi mai bune. Adugarea de mai mult memorie RAM la orice calculator va spori rata de transfer n sistem i, n multe cazuri, va oferi chiar un spor de performan mai mare dect cel obinut prin trecerea la un procesor mai rapid.
O. Un alt tip de memorie RAM aprut recent pe pia este RDRAM (Rambus DRAM). Aceast memorie a fost dezvoltat de compania Rambus inc. Memoria RDRAM este un tip de memorie DRAM extrem de rapid i poate funciona la 600 MHz. n prezent, memoria RDRAM este utilizat n unele plci de accelerare grafic. Cu toate acestea, Intel are un acord de licen cu Rambus pentru a utiliza tehnologia RDRAM la viitoarele plci de baz Intel.

3. Hard discurile Primul hard disc disponibil pentru calculatorul IBM PC original avea o capacitate de 10 MB (10 milioane de bytes). Astzi este un lucru obinuit pentru hard discuri (sau discuri fixe) s aib o capacitate de peste 40 GB (adic 30 miliarde de bii). Hard discurile sunt mprite n dou mari categorii: discuri IDE i discuri SCSI. Un disc IDE (Integrated Drive Electronics) este un hard disc (sau un alt dispozitiv, cum ar fi unitatea CD-ROM) n care controller-ul pentru disc este construit chiar n discul respectiv. Un disc IDE este conectat la placa de baz folosind o panglic. Fiecare conector IDE de pe placa de baz suport maxim dou discuri IDE. Plcile de baz au de regul doi conectori IDE, ceea ce nseamn c pe un calculator pot fi instalate maxim patru discuri IDE (incluznd aici hard discurile i unitile CD-ROM).
O. Cel mai nou standard disponibil n materie de discuri este EIDE (En-hanced IDE). El ofer rate de transfer a datelor mai mari i poate suporta dispozitive de stocare mai mari dect standardul IDE.

Hard discurile SCSI (Small Computer System Interface) sunt ataate la un controller SCSI (plasat n unul din sloturile de extensie ale plcii de baz sau construit direct pe placa de baz, n cazul serverelor). Controller-ele SCSI permit ataarea mai multor discuri (pn la apte). Prin urmare, discurile SCSI reprezint oarecum standardul pentru calculatoarele server. n ceea ce privete componentele hardware pentru servere, hard discurile SCSI sunt preferate discurilor IDE, deoarece ele ofer un spor de performan de 12%, n comparaie cu discurile IDE similare. De asemenea, numai dou discuri IDE pot fi conectate la placa de baz prin intermediul aceleiai panglici (limitnd un calculator la maxim patru discuri IDE conectate la placa1 de baz). Pe de alt parte, un controller SCSI va suporta pn la apte discuri, ceea ce face mai uoar construirea configuraiilor multi-disc. 4. Microprocesoarele
Aceste componente proceseaz informaiile binare furnizate de ctre utilizator sau primite de la diferite dispozitive ale calculatorului, cum ar fi placa de interfa pentru reea. Viteza procesorului este msurat n MHz sau GHz. Procesorul Intel utilizat de primul calculator IBM PC avea viteza de 8 MHz.

n prezent sunt disponibile procesoare care ruleaz la peste 3600 MHz. Procesoarele sunt fabricate de o serie de companii diferite ca: Intel, Motorola, Cyrex i AMD. Selectarea tipului de procesor i a vitezei acestuia va depinde, din punctul de vedere al reelei, de tipul de calculator pe care l configurai: main client sau un server de reea. Procesoarele mai rapide reprezint o cerin obligatorie pentru un server care trebuie s proceseze un numr mare de solicitri de date din partea utilizatorilor din reea. Microprocesorul reprezint cea mai important realizare a industriei electronice a ultimelor decenii. Apariia sa este legat de necesitatea producerii unor circuite integrate pe scar larg (LSI) universale, apte de a fi utilizate ntr-o gam extins de aplicaii. Pn la crearea microprocesorului, circuitele LSI erau proiectate pentru o aplicaie anume, ceea ce limita foarte mult extinderea masiv a produciei acestora. Era necesar un nou concept n ceea ce privete funcionalitatea unui asemenea circuit, flexibilitatea utilizrii lui. Aceast varietate de funcii i posibiliti, permind realizarea, cu un numr redus i standardizat de circuite integrate, a diverse sisteme automate complexe, a fost implementat cu ajutorul sistemelor microprocesor. Legat prin interfee specifice de lumea nconjurtoare, un astfel de sistem are posibilitatea culegerii de informaii din exterior (mrimi numerice, analogice, semnalizri), a prelucrrii lor (diveri algoritmi de calcul i decizie), i a acionrii spre exterior (dnd comenzi numerice, analogice, semnalizri diverse, comunicnd rezultatele operaiilor efectuate, etc.). Prelund, uneori chiar dezvoltnd structura funcional de baz a oricrui calculator electronic clasic, aceast gam deosebit de larg de sisteme, denumite microcalculatoare, poate implementa aplicaii limitate doar de marginile imaginaiei omeneti. Aria lor de utilizare este considerabil mrit fa de cea a calculatoarelor electronice mari, prin dimensiuni mult reduse, funcionare nepretenioas din punct, de vedere al condiiilor de mediu ambiant, fiabilitate ridicat, vitez de lucru comparabil (tot mai mare la tipurile noi de microprocesoare), i, nu n ultimul rnd, preul, n scdere exponenial, al acestor tipuri de echipamente. Utilizatorii actuali, ct i cei poteniali, ai acestor puternice instrumente, trebuie s stpneasc ntr-o oarecare msur noiunile fundamentale, att ale structurii constructive (hardware) a microcalculatoarelor, ct i a celei referitoare la programarea lor (software). Pe de o parte, cel ce implementeaz structura unui astfel de sistem trebuie s cunoasc disponibilitile de programare (setul de instruciuni) ale microprocesorului utilizat, iar cel ce utilizeaz sistemul are nevoie de informaii constructive i funcionale pentru a implementa n mod optim, ca performane, o aplicaie dat (prin realizarea unui program adecvat). Pentru punerea n acord a cunotinelor de baz, necesare la nelegerea principiilor de funcionare ale unui microprocesor, ale programrii acestuia, aceast prezentare face o trecere n revist a noiunilor fundamentale legate de sistemele microprocesor.

Caracteristicile 2. Caracteristicile funcionale ale microprocesorului


ntrebrile la care vom ncerca s rspundem n urmtoarele paragrafe sunt: ce este un microprocesor? ce poate face el? cum funcioneaz? cum interacioneaz cu lumea nconjurtoare? cum se implementeaz, pe baza lui, un sistem microprocesor? Cunoaterea rspunsurilor la aceste ntrebri ofer baza necesar pentru evaluarea just a posibilitilor i performanelor diverselor sisteme, n vederea alegerii soluiei optime (combinaia hardware software cea mai indicat) pentru o aplicaie dat.

Deci, ce este un microprocesor? Un circuit integrat LSI, reprezentnd elementul central (CPU1 ), ca importan i posibiliti, n efectuarea sau coordonarea tuturor operaiilor ce au loc n funcionarea unui microcalculator. El reprezint un circuit logic de o extrem complexitate, reprezentabil printr-o structur format din elemente de logic combinaional i secvenial. Elementul specific, care difereniaz microprocesorul de o astfel de configuraie clasic, i care i confer totodat excepionala gam de posibiliti de utilizare, practic ntr-un numr nelimitat de aplicaii, l reprezint flexibilitatea sa, la nivelul software al sistemului. Aceasta face ca implementarea acelei structuri logice echivalente, pentru o aplicaie dat, s nu reprezinte o intervenie la nivelul structurii constructive, hardware, a sistemului microprocesor, ci s se obin prin implementarea unui program specific. Modificarea aplicaiei nu reprezint dect modificarea programului microprocesorului.

Astfel, n esen, se implementeaz structuri logice prin program, deci prin software. Totui, trebuie evideniat faptul c dezvoltarea de noi programe consum un timp ce poate fi apreciabil, i uneori modificrile nu sunt aa de simple pe ct par a fi. Proiectarea cu microprocesoare implic trecerea de la proiectarea cu circuite logice combinationale i secveniale, la combinaia hardware-software optim oferind performane maxime pentru un cost al instalaiei dat. Proiectantul sistemului microprocesor trebuie s stpneasc att proiectarea circuitelor logice, ct i tehnica programrii. Calitile cerute unui bun programator sunt ns similare, n esen, celor cerute proiectantului de structuri logice. Ceea ce trebuie remarcat de la bun nceput este faptul c microprocesorul are posibilitatea de a executa aciuni proprii unui anumit numr de instruciuni (uzual cteva zeci), care alctuiesc setul su de instruciuni (i care este specific fiecrui tip de procesor n parte). Pe baza acestor instruciuni se elaboreaz programul (de ctre programator) pe care l va executa microprocesorul. Memorat ntr-o memorie, programul este citit (adus din memorie n microprocesor), instruciune cu instruciune, care, odat decodificate, determin aciunea dorit. O modificare n comportarea sistemului se obine aadar printr-o modificare (sau mai multe) n program. Evident, programul trebuie s conin doar instruciuni al cror cod este neles de ctre microprocesor (aparin setului lui de instruciuni). O. Punctele de vedere din care se va face prezentarea sa vor fi cel funcional, legat de aciunile specifice efectuate de ctre microprocesor, i cel temporal secvenial, legat de succesiunea i durata acestora. Legtura ntre aceste dou abordri este extrem de important. 1. Funciile microprocesorului La ora actual, exist disponibil un numr foarte mare de microprocesoare, produse de ctre diferite firme. Dei exist multe deosebiri n structura i tehnologia lor de fabricaie, toate microprocesoarele sunt proiectate pentru a efectua un numr de operaii de baz. Dup cum s-a specificat, de altfel, aceste caracteristici funcionale comune provin din filozofia crerii microprocesoarelor, ca instrumente complexe utilizate la implementarea unor sisteme numerice flexibile, puternice, i la un pre deosebit de avantajos.
1

CPU: Central Processing Unit = unitate central de prelucrare

Structura de baz a unui sistem microcalculator este prezentat n figura 3.1. Se remarc faptul c ntr-o seciune de memorie sunt memorate att secvenele de instruciuni ce alctuiesc programul, ct i datele numerice (de intrare, sau rezultate intermediare sau finale). Prin seciuni specifice de intrare sau ieire, calculatorul comunic cu perifericele exterioare, care pot fi att echipamente standard (tastatur, afiaj, etc.), ct i interfee specifice de conectare la un proces fizic controlat (traductoare, elemente de execuie, etc.).

Figura 3.1. Structura de baz a unui sistem microcalculator

Figura 3.2 prezint structura funcional a unui microprocesor n contextul utilizrii memoriei i a perifericelor sistemului. Se disting pe grupe funcionale: manipularea informaiilor (instruciuni pentru microprocesor, ct i date transmise sau primite de la diferite componente ale sistemului), execuia diferitelor operaii de calcul, i controlul i supervizarea tuturor componentelor din sistem, i a operaiilor efectuate n diferitele seciuni ale acestuia. Funcional, un sistem microprocesor (ca de altfel orice calculator numeric), prezint cinci funcii de baz: funcia de intrare (INPUT), care permite legtura ntre lumea exterioar i sistem; funcia de ieire (OUTPUT), care permite legtura ntre sistem i lumea exterioar; funcia de memorare (MEMORY), care permite pstrarea informaiilor (date, rezultate), i (uneori) a instruciunilor programului; funcia aritmetico-logic, (implementat prin ALU2) care permite efectuarea operaiilor aritmetice i logice n sistem; funcia de CONTROL, care nglobeaz totalitatea aciunilor de secvenializare i control ale activitii sistemului.

ALU - Arithmetic Logic Unit = unitate aritmetico-logic (UAL)

Figura 3.2. Reprezentarea funciilor unui microprocesor

Aceast delimitare funcional nu este strict, n sensul existenei ntr-o proporie variabil, la diverse tipuri de microprocesoare, a unora din cele 5 componente, n spe, componentele de intrare i ieire ale microprocesorului apar n general n mic msur la nivelul microprocesorului ca legturi directe spre exteriorul sistemului; de asemenea, doar unele microprocesoare, (i acelea, n general, parial) acoper ele nsele necesitile de memorie ale sistemului. Uzual, aceasta este exterioar unitii centrale. Figura 3.3 prezint fluxul de informaie ntre cele cinci componente funcionale ale microprocesorului. Uzual informaia este adus, prin funcia de intrare (INPUT), sub coordonarea funciei de control, n memoria sistemului. Informaia poate fi utilizat ori pentru a spune microprocesorului ce are de fcut (instruciuni), ori ca dat n operaii aritmetice sau logice, (n caz general, sub form de instruciuni, alctuind programul, informaia poate fi rezident n mod permanent n memoria sistemului). Din memorie, tot sub incidena funciei de CONTROL, informaia este citit i decodificat de ctre microprocesor, executndu-se n mod secvenial instruciunile programului. Datele i rezultatele sunt de asemenea vehiculate ntre procesor i memorie, tot sub comanda funciei de CONTROL, conform programului. Dup caz, coordonat de ctre funcia de CONTROL, se activeaz, pentru transfer de informaie spre ieirea sistemului, funcia de ieire (OUTPUT). Se remarc delimitarea n figura 3.3, a funciilor sistemului, nglobate de ctre microprocesor. Dou dintre seciunile sistemului sunt coninute ntotdeauna integral de ctre microprocesor:
Blocul ALU , care reprezint o colecie de circuite logice complexe, programabile, capabile s proceseze date numerice, pe baza unui set de instruciuni ale utilizatorului, uzual bazate pe trei operaii fundamentale: adunare, scdere, i operaii logice. Seciunea de CONTROL, care genereaz i coordoneaz toate semnalele de control necesare pentru a executa operaiile de calcul din ALU, i a sincroniza transferul datelor n sistem. O funcie esenial a seciunii de CONTROL este aceea de a decodifica i executa instruciunile programului pe baza cruia funcioneaz ntregul sistem.

Figura 3.3. Structura funcional i fluxul de informaii ntr-un sistem microprocesor

Ca o remarc special, modul de conectare i funcionarea componentelor de baz ale unui sistem de calcul, s-au bazat i se bazeaz nc, n mod curent, n marea majoritate a structurilor utilizate, pe aa numita arhitectur de tip von Neuman utilizat practic n exclusivitate la realizarea microprocesoarelor uzuale. n aceast arhitectur, unitatea central de prelucrare (CPU), va executa cte o singur instruciune la un moment dat, ntr-o secven de program. Dei mai lent dect n sistemele n care se execut mai multe instruciuni deodat (procesare paralel), arhitectura von Neuman este relativ mai simplu de implementat. Arhitecturile recentelor tipuri de microprocesoare au ns elemente de prelucrare paralel, ct i, n cazul procesoarelor DSP, cu aa numita arhitectur Harvard, o paralelizare complet a lanului de citire / decodificare instruciuni, respectiv efectuare operaii de calcul, i transfer al datelor n sistem.

Caracterul temporal secvenial. Desfurarea operaiilor efectuate de ctre diversele componente funcionale ale sistemului este controlat, ca durat i succesiune, de ctre seciunea de control. Aceast seciune selecteaz n mod corespunztor (activeaz), secvenial funciunile microprocesorului, pe durate de timp fixe, determinate de specificul operaiei ce se execut. O diagram de timp simplificat a activrii seciunilor sistemului este prezentat n figura 3.4. Pe intervalul t1, informaia (instruciuni i date), se preia de la intrare i se memoreaz (activndu-se corespunztor, cele dou seciuni: INPUT i MEMORY). n t2, instruciunile din memorie sunt preluate i executate (ele alctuind programul microprocesorului), i mpreun cu datele, prelucrate n ALU, determin execuia dorit de operaii ale sistemului.
Citire informaii Intrare activare Prelucrare Ieire rezultate

Memorie

activare

U.A.L

activare

Ieire T1 T2

activare T3

Figura 3.4. nlnuirea temporal a activitilor sistemului microprocesor

Rezultatele sunt memorate n memorie, ntr-o ultima etap (t3), se dezactiveaz ALU, i se transfer rezultatele spre exteriorul sistemului, activndu-se funcia de OUTPUT. Un semnal de ceas de sistem (uzual controlat cu un cristal de cuar), este utilizat pentru sincronizarea i secvenializarea diverselor operaii i semnale, pe parcursul efecturii tuturor operaiilor sistemului.

2. Reprezentarea informaiei Implementarea electric/electronic a funciilor calculatorului este posibil, i se realizeaz, prin utilizarea bazei 2. Astfel toate informaiile (instruciuni sau date, rezultate) se memoreaz i se prelucreaz de ctre microprocesor n form binar. Ele trebuie s fie interpretabile n mod unic de ctre microprocesor, prezentndu-se ntr-un format specific n acest scop. Depinznd de concepia proiectanilor microprocesorului, acest format este o combinaie de lungime fix, de simboluri binare, alctuind aa-numitele cuvinte de instruciuni, respectiv cuvinte de date (figura 3.5). Fiecare instruciune din programul microprocesorului va fi format din unul sau mai multe cuvinte de instruciune. Acestea spun procesorului ce are de fcut. Cuvntul de instruciune const din dou pri: codul operaiei (care indic ce operaie se va executa), i operanzii (care indic asupra cui se va efectua operaia indicat de codul operaiei). Figura 3.5 este un exemplu de reprezentare a cuvintelor de instruciune, pentru un microprocesor cu formatul cuvintelor de 8 bii. (Uzuale sunt microprocesoarele cu cuvinte de 8 bii = 1 byte, n ultima vreme afirmndu-se i extinzndu-se cele de 16, 32 i chiar 64 de bii). Va exista deci cte o combinaie unic a biilor cuvntului de instruciune, pentru desemnarea codului operaiei (combinaia 10000 n fig. 3.5.b), i a operandului asupra cruia se va efectua operaia dorit (combinaia 010 n fig. 3.5.b). Decodificarea cuvntului de instruciune va furniza astfel microprocesorului informaiile necesare pentru a ti ce operaie se execut, i asupra crei (cror) valori (date), se execut aceast operaie. Instruciunile sunt memorate n ordinea executrii (cu excepiile ce se vor prezenta la analiza detaliat a tipurilor de instruciuni), iar microprocesorul le citete i le execut secvenial, n esen, se citete un cuvnt de instruciune, se decodific, obinndu-se operanzii, locaia lor i se execut operaia indicat. Apoi se trece la o nou instruciune etc.

Figura 3.5. Reprezentarea informaiei (instruciuni sau date); LSB: bitul cel mai puin semnificativ (last significant bit); MSB: bitul cel mai semnificativ (most significant bit)

10

3. Memorarea informaiei Plecnd de la o reprezentare intuitiv, de genul organizrii numerelor de telefon, fiecare cuvnt de instruciune sau date are asociat, n mod unic, un numr care simbolizeaz (i se numete), adresa sa. A citi o anumit instruciune sau dat din memorie va nsemna, n mod practic, a se activa, prin intermediul funciilor de control, acea celul de memorie, a crei adres este cea dorit. Coninutul ei (instruciune sau dat --- este rspunderea programatorului de a ti ce se va gsi acolo i de a se ngriji de corectitudinea amplasrii lor) este prelucrat n mod corespunztor de ctre microprocesor. Memoria sistemului este organizat sub forma unei matrice, cu liniile avnd un numr de celule (bii), egal cu cel al cuvntului de instruciune sau de date, fiecrei linii corespunzndu-i, n mod unic, o adres proprie. Selectarea unei astfel de celule permite accesul de la / la microprocesor, la / de la aceast celul de memorie, sensul transferului de informaie fiind indicat de seciunea de CONTROL. Trebuie menionat c microprocesorul poate conine pe cip att memorie ROM (eventual programe), ct i memorie RAM (de uz general, sau, sub denumirea de registre, celule cu destinaie special n memorarea, decodificarea i executarea instruciunilor, a operaiilor aritmetice i logice etc.). Se ajunge, prin mbinarea conceptelor prezentate, de operare secvenial, reprezentare i memorare a informaiilor la conceptul final de program. Astfel, executarea unei secvene dorite de operaii, de ctre microprocesor, este obinut prin implementarea unei succesiuni de instruciuni, memorate n memoria sistemului, alctuind programul acestuia. Fiecare operaie dorit a sistemului va fi implementat printr-o secven de una sau mai multe instruciuni. Odat implementat programul i pornit execuia sa, sistemul va aciona conform instruciunilor din program, realiznd funciile i operaiile dorite. 4. Conceptul de magistral Sunt necesare, n funcionarea unui sistem microprocesor, legturi multiple i complexe ntre diferitele pri funcionale ale acestuia. Grupurile de interconexiuni cu funcii similare, legnd diversele seciuni ale unui sistem microprocesor, se numesc magistrale. Ele conecteaz semnalele de date, adrese, control, ale unei seciuni, cu semnalele omologe ale celorlalte seciuni, constituind calea de legtur dintre ele. Exist dou seturi de magistrale n orice sistem microprocesor: magistrale interne (reprezentnd canalele de legtur ntre diversele uniti funcionale din unitatea central (CPU) a sistemului) i magistrale externe (reprezentnd cile de comunicaie ntre CPU i componentele externe acestuia). Fiecare grup de magistrale poate fi subdivizat n trei categorii, dup tipul informaiei transferate: magistrale de adrese, de date, i de control. O magistral poate avea mai multe linii, permind transferul simultan al unui cuvnt de informaie (adres sau dat), caz n care magistrala se numete magistral paralel. Exist de asemenea magistrale seriale, pentru care datele sunt transmise multiplexat n timp (un cuvnt este transmis bit cu bit, pe aceeai linie), care sunt, n mod evident, mult mai lente dect magistralele paralele. Practic, toate magistralele interne ale CPU, ct i cele externe care conecteaz CPU cu memoria, i cu majoritatea interfeelor de intrare / ieire ale sistemului, sunt organizate ca magistrale paralele. Legturi

11

seriale se utilizeaz mai ales pentru transmiterea datelor la / de la echipamente aflate la distan de CPU (terminale, linii telefonice, etc.). n figura 3.6 se reprezint o structur de principiu a modului de interconectare ntre diferitele elemente componente ale sistemului microprocesor prin intermediul diferitelor magistrale ale acestuia. Deoarece unitatea central nu poate alimenta simultan un numr prea mare de circuite exterioare (exist valori limitate ale curenilor pe care acesta i suport sau genereaz), este necesar amplificarea semnalelor de pe magistralele sistemului. Aceast adaptare a semnalelor este efectuat cu diferite tipuri de circuite, distingndu-se n esen urmtoarele tipuri: circuite tampon amplificatoare de magistral (drivere); circuite tampon bidirecionale (buffere bidirecionale); circuite pentru reinerea datelor (latch). Figura 3.7 prezint utilizarea circuitelor tampon (uni i bidirecionale), pe magistralele sistemului. Semnalele obinute la ieirea acestor circuite formeaz magistrale similare celor din care provin.

Figura 3.6. Structura unui sistem microprocesor. Magistralele sistemului

Uzual, se utilizeaz circuite tampon unidirecionale pentru semnalele de pe magistralele de adrese i de control, i circuite tampon bidirecionale, pentru magistralele de date, n cazurile n care microprocesorul se interfaeaz cu periferice mult mai lente dect unitatea central, este necesar ca informaia s fie prezent la intrarea acestor circuite, pn la preluarea ei de ctre respectivul circuit, n aceste cazuri, se pot utiliza circuite pentru reinerea datelor (latch reprezentnd n esen, registre paralele), n care informaia prezent pe pinii de intrare, de pe o magistral a sistemului, este nscris la primirea unui semnal de control (de scriere), generat direct de ctre microprocesor sau de ctre un circuit decodificator. Figura 3.8 prezint structura unui asemenea montaj, care menine la ieirea ctre un afiaj cu segmente informaia dorit, pn la nscrierea altor date, la un acces ulterior al circuitului latch din schem.

12

Figura 3.7. Utilizarea circuitelor tampon (buffere)

Magistrala de date Magistrala de date este destinat att transferului unidirecional de instruciuni de la memorie (citire a programului), ct i celui bidirecional, de date ntre memorie, unitatea central i / sau interfeele de intrri/ieiri (informaia parcurge magistrala n ambele sensuri, sau de la procesor la una dintre unitile externe acestei uniti, sau de la una dintre aceste uniti spre procesor). Direcia transferului de informaie este supervizat de ctre seciunea de CONTROL a microprocesorului, prin generarea de semnale specifice (citire sau scriere). Lungimea cuvntului microprocesorului determin numrul de linii de conexiune din magistrala de date (8,16,32, etc.). Dac n structurile de tip von Neuman, exist o singur magistral de date, pe care se vehiculeaz, la momente de timp diferite, att cuvintele de program (coduri de instruciune), citite din memoria program, ctre microprocesor, ct i cuvintele de date, ntre memorie sau periferice i microprocesor, la execuia instruciunilor, n structurile de tip Harvard (specifice procesoarelor DSP), exist magistrale independente pentru transferul cuvintelor de instruciune, respectiv a datelor propriu-zise ale programului. Astfel, este mrit eficiena global a sistemului, n acest al doilea caz.

Figura 3.8. Utilizarea circuitelor de tip latch

Magistrala de adrese Magistrala de adrese este o magistrala unidirecional. Ea vehiculeaz codul binar reprezentnd locaia (adresa) datei ce se va utiliza n cadrul operaiei ce se execut. Astfel, ea poate selecta adresa celulei de memorie de la care se citete o nou instruciune, dat, sau la care se memoreaz un rezultat. Multe microprocesoare utilizeaz magistrala de adrese i pentru configurarea adresei echipamentului de intrare-ieire, selectat la o operaie de INPUT sau

13

OUTPUT. Este sarcina seciunii de CONTROL de a delimita i indica, prin generarea de semnale de control specifice, dac este o operaie de citire sau scriere din memorie sau intrare-ieire. Adresabilitatea unui microprocesor este dat de numrul de bii ai magistralei de adrese. Un numr uzual de 65536 (64 ko) celule de memorie vor necesita 16 linii de adres pe aceast magistral. (216 = 65536). n general se vor putea adresa 2N celule de memorie prin intermediul a N linii de adres.
O. Similar remarcii de la paragraful anterior, menionm i aici c structurile von Neuman au o singur magistral de adrese, vehiculnd la momente de timp diferite, adresa de unde se citete cuvntul de instruciune, respectiv adresa la / de la care se efectueaz transferul datelor, la execuia propriu-zis a instruciunii. Structurile cu arhitectur Harvard au dou magistrale separate de adrese, pentru adresarea memoriei de program, respectiv a celei de date (ceea ce permite ca n paralel cu execuia unei instruciuni s se poate adresa i citi cuvntul de instruciune urmtor).

Magistrala de control Aceast magistral furnizeaz informaii suplimentare necesare pentru indicarea operaiei ce se efectueaz. Numrul de semnale de pe aceast magistral depinde de numrul de semnale de control necesare pentru microprocesorul utilizat. Tipice sunt semnalul de ceas al sistemului (care asigur funcionarea secvenial cu o periodicitate fix a ntregului sistem microprocesor), semnalele de citire/scriere n memorie, citire/scriere pentru intrare/ieire din sistem etc. Corelate cu magistrala de adrese, semnalele de pe magistrala de control permit selecia unic a echipamentului sau a celulei de memorie creia/de la care, prin intermediul magistralei de date, se transmite/preia informaia, conform operaiei ce se execut. Un aspect important ce trebuie clarificat aici este cel ridicat de problema desfurrii operaiilor n sistem, pe aceste magistrale, n mod corect, fr probleme de interferen a informaiilor, care pe aceleai ci sunt transferate n sensuri i spre/de la echipamente diferite. Rspunsul este dat de nsi funcionarea secvenial, sub supravegherea funciei de CONTROL, a ntregului sistem. Este asigurat activarea unic, dup cum s-a menionat, a celulelor de memorie sau a elementelor de intrare/ieire cu care se opereaz la un moment dat. Acestea sunt dotate cu circuite tampon (buffere) proprii. Conectarea pe liniile magistralelor, n sensul transferului de informaie pe magistral, este efectuat prin circuitele tampon respective, care sunt selectate (deschise) doar n cazul adresrii circuitului respectiv. La fel, nscrierea informaiei ntr-o anumita celul de memorie sau element de ieire se face prin activarea funciei de memorare doar pentru elementul respectiv. Astfel, la efectuarea unei operaii de transfer de informaii n sistem, va exista o singur surs a semnalelor de pe fiecare magistral, i va fi selectat un singur element n care datele se vor nscrie la operaia respectiv. Aceste selecii unice vor trebui asigurate prin proiectarea corespunztoare a circuitelor de adresare i decodificare, dup cum se va prezenta detaliat n paragrafele urmtoare.

14

5. Hardware-ul microprocesorului Acesta va fi prezentat n maniera de abordare a utilizatorului orientat spre hardware-ul sistemului. Fiecare dintre cele cinci seciuni de baz sunt identificate n mod unic. Trebuie ns menionat prezena unor poriuni ale funciei MEMORY ataate celorlalte seciuni, ct i prezena n mai multe locaii a elementelor de INPUT-OUTPUT Aceasta s-a fcut pentru o mai bun nelegere a operrii detaliate a hardware-ului microprocesorului, dup cum se va vedea n continuare. Figura 3.9 prezint diagrama funcional detaliat a microprocesorului. Se vor discuta fiecare seciune funcional a acestuia, operaiile sale i legtura cu celelalte seciuni. Funcia de control Dup cum s-a artat, microprocesorul opereaz n mod secvenial, determinat de ctre un program memorat, format din instruciuni. Dar programul n sine nu este suficient pentru funcionarea sistemului. (De exemplu, calculatorul trebuie s tie de unde s nceap citirea din memorie a primei instruciuni din program). Trebuie s fie activate n mod corespunztor semnalele de control, la momente adecvate de timp, pentru seciunile de MEMORY, ALU, INPUT/OUTPUT; n vederea citirii, decodificrii i executrii instruciunilor n ordinea dorit i evitndu-se interferena operaiilor. Toate aceste cerine sunt ndeplinite de ctre seciunea de CONTROL. Seciunea de CONTROL asigur secvenializarea, decodificarea i activarea operaiilor acestuia. Ciclul microprocesorului Realizarea operaiilor microprocesorului are loc n mod secvenial-repetitiv. Semnalul de temporizare minim, n raport cu care se desfoar toate celelalte temporizri sincronizate din funcionarea acestuia, se numete semnal de ceas (clock) al sistemului. Se definete ciclul de instruciune al microprocesorului, care dureaz un numr variabil de perioade de ceas, n funcie de microprocesor i de instruciunea ce se execut, ca fiind secvena de operaii efectuate pentru a extrage o instruciune din memorie, a o decodifica i executa.

Figura 3.9. Structura intern a unui microprocesor

15

Deoarece microprocesorul execut cte o instruciune la un moment dat, ncepnd cu prima instruciune din program, este necesar a se cunoate n permanen care instruciune se execut (sau va fi executat la pasul urmtor). Se utilizeaz n acest scop un registru special, numit registru contor de program (PC = program counter), care conine adresa urmtoarei instruciuni de program care va fi citit din memorie. Deoarece programul este memorat la adrese succesive, contorul de program va fi actualizat uzual prin simpla incrementare cu 1, la fiecare transfer al unui cuvnt de instruciune din memorie n registrul de instruciuni al microprocesorului (descris n seciunea urmtoare). Astfel, putem considera registrul PC ca un indicator (pointer) artnd unde s-a ajuns cu execuia programului la un moment dat. Primul subciclu al fiecrui ciclu al procesorului este utilizat pentru extragerea de informaie din memorie (fetch) i are de regul patru perioade de ceas. n prima perioad, coninutul numrtorului de adres (PC), reprezentnd adresa de unde se va citi instruciunea curent, este adus pe magistrala de adrese, selectnd, mpreun cu semnalele de control, celula de memorie dorit. n a doua perioad, coninutul PC este incrementat, pregtindu-l pentru urmtoarea extragere din memorie. Registrele microprocesorului Se pot considera dou categorii de registre ale unui microprocesor: cele speciale i cele de uz general. Cu excepia registrului indicator de adres a stivei programului (stack pointer), registrele speciale sunt utilizate funcional, n celelalte seciuni ale microprocesorului. (De exemplu registrul de instruciuni, registrul adresei de program --- PC etc. ). Avnd uzual o lungime de unul sau dou cuvinte de date, registrele sunt folosite la stocarea diferitelor informaii utilizate prin program, sau sub coordonarea funciei de control. Registrele de uz general sunt adresabile de ctre utilizator, i pot fi folosite pentru stocarea i manevrarea datelor programului - operanzi, date, adrese de memorie coninnd date utile programului, etc. Uzual, aceste registre conin informaiile cele mai utilizate de ctre program. Aceasta conduce la o sporire a vitezei de lucru globale a sistemului, deoarece timpii de acces la registrele interne sunt sensibil mai redui deci timpii de acces la memoria extern a sistemului, dup cum s-a menionat. Aceste registre sunt conectate att la alte registre interne ale microprocesorului, ct i la magistralele externe, prin intermediul magistralelor interne i al circuitelor tampon (figura 3.10). Registrele de uz general sunt utilizate pentru manipularea i memorarea temporar a datelor. n general, orice registru de acest tip este accesibil programatorului, prin instruciuni specifice, fiind posibile: ncrcarea cu un cuvnt dorit de date, deplasarea informaiei ntre registre, sau ntre registre i memorie, rotirea coninutului acestora; tratarea unei perechi de registre ca reprezentnd date pe cuvinte cu lungime dubl (la registre de 8 bii, perechi de 16 bii) i posibilitatea operrii cu acestea. Prezentarea organizrii i a posibilitilor specifice de utilizare a registrelor de uz general, din punctul de vedere al software-ului, va fi fcut ulterior, pe larg. Selectarea registrului de uz general desemnat de o instruciune este fcut tot prin seciunea de CONTROL. Dac, n urma decodificrii codului operaiei, se indic o operaie cu registre, se folosesc anumii bii ai instruciunii, prin intermediul registrului de selecie (vezi figura 3.15), pentru selectarea

16

registrului dorit. Numrul registrelor de uz general variaz, in funcie de microprocesor, n game foarte largi, de la 2 pn la 48., Registrele speciale - numite i registre de lucru, sau registre interne ale microprocesorului, au funcii predefinite specifice n funcionarea acestuia. Dei uneori pot fi setate la valori iniiale specificate, aceste registre nu sunt accesibile prin program, la execuia instruciunilor. Deja menionate n aceast categorie sunt registrele contor de program (PC), registrul de instruciuni, registrul decodificator de instruciuni, etc. De multe ori se utilizeaz subrutine la scrierea programelor, pentru o structurare i mai bun organizare a acestora. Subrutinele reprezint poriuni de program utilizate frecvent pentru a efectua anumite operaii specifice. Subrutinele sunt apelate din diferite locuri ale programului, evitndu-se astfel repetarea unei aceleai secvene de instruciuni. Deoarece la rndul ei, o subrutin poate apela o alta subrutin, etc., este necesar utilizarea unui mecanism specific pentru a se putea cunoate adresa de revenire, la terminarea execuiei unei subrutine, la punctul din program de unde se fcuse apelarea el.

Figura 3.10. Structura principal a memoriei interne a unui microprocesor

De asemenea, n funcionarea microprocesorului, pot aprea evenimente exterioare care s necesite o tratare imediat (de exemplu, necesitatea de a se citi valoarea unei mrimi la intervale date de timp), n astfel de cazuri, operarea curent este oprit, iar microprocesorul trece la executarea unei secvene speciale din program, care va efectua operaiile dorite, conforme evenimentului aprut. Acest mod de a trata evenimentele asincrone, relativ la desfurarea curent a microprocesorului, poart numele de lucru n ntreruperi. i la apariia unei ntreruperi, n esen, se apeleaz o subrutin, specific ntreruperii respective. Se va face ulterior prezentarea detaliat a funcionrii microprocesorului la apelarea unei subrutine, sau la apariia unei ntreruperi. Ceea ce trebuie menionat aici este faptul c o subrutin odat apelat, (din program, sau ca urmare a unei ntreruperi), odat tratat, trebuie s permit revenirea n program, permind continuarea acestuia din punctul de apel al subrutinei, sau de ntrerupere. n acest scop exist o zon special a memoriei, numit stiv (stack), n care se

17

stocheaz, pe perioada execuiei unei subrutine, sau tratrii unei ntreruperi, adresa la care se va reveni, la terminarea acestei seciuni speciale de program. n acest scop, microprocesorul este prevzut cu un registru special, numit registrul indicator de adresei al stivei programului (SP - stack pointer). El conine adresa ultimei celule de memorie RAM, n care este salvat, la apelarea subrutinei, coninutul actual al registrului contor de program (PC). Trecerea la zona de program pentru execuia subrutinei se face prin modificarea valorii PC, care va conine adresa de nceput a acestei zone de program. Microprocesorul va executa urmtoarea instruciune ncepnd de la aceast adres, deci va ncepe execuia subrutinei (apelat prin program sau ca urmare a unei ntreruperi). La sfritul acestei zone de program, o instruciune specific de revenire la programul iniial va determina readucerea n PC, din memorie, de la adresa specificat de registrul indicator al adresei stivei, a valorii salvate a PC n momentul apelrii subrutinei. Astfel, programul va continua apoi din punctul de unde a fost efectuat apelul subrutinei. Memoria RAM i ROM Dup cum s-a menionat, unele microprocesoare au incluse pe cip celule de memorie RAM i ROM. i aici, dimensiunea acestor zone de memorie este dependent de tipul microprocesorului; de la procesoare care nu au memorie local, la cele cu civa ko de memorie ROM i cteva sute de octei de memorie RAM. Adresele acestor celule de memorie sunt unice. Prin intermediul magistralei de adrese se poate selecta n mod unic o celul de memorie, seciunea de CONTROL, determinnd ce anume este de fcut la aceast locaie. Dac se dorete citirea (READ) informaiei, coninutul celulei de memorie apare pe magistrala de date. La o scriere a informaiei (WRITE), se memoreaz informaia de pe magistrala de date n celula selectat. Prezentarea modului de adresare i a organizrii memoriilor exterioare va fi fcut ulterior. Funcia aritmetico-logic Seciunea care efectueaz operaiile aritmetice i logice este compus dintr-o unitate aritmetico-logic (ALU), ce efectueaz operaia propriu-zis, i registre speciale necesare la manipularea i memorarea temporar a operanzilor. Unitatea aritmetico-logic (ALU) O structur comun a ALU este prezentat n figura 3.11. Cele dou intrri de date vor furniza valorile celor doi (uzual) operanzi al unei operaii aritmetice sau logice efectuate n ALU. Intrarea de selecie a funciei provine de la seciunea de CONTROL, i specific operaia ce se va efectua. n plus, intrarea semnalului de transport (carry), este utilizat la efectuarea operaiilor aritmetice cu precizie extins.

18

Figura 3.11. Structura seciunii aritmetico-logice a microprocesorului

Posibilitile ALU depind de tipul i performanele microprocesorului. Ele pot varia de la simple operaii de adunare i scdere pe cuvinte de 8 bii i operaii logice elementare, pn la nmuliri i mpriri pe 16 bii etc. n general ns, ALU poate efectua adunri binare, scderi binare, operaii logice booleene, rotaii la dreapta sau la stnga ale coninutului operanzilor. Alte operaii, mai complexe, pot fi implementate prin succesiuni de astfel de operaii simple, printr-un software adecvat. Multe microprocesoare (mai ales de 8 bii) efectueaz operaiile de nmulire i de mprire utiliznd o serie de operaii elementare de adunare sau scdere.

Figura 3.12 Structura de baz a ALU

O. Microprocesoarele recent aprute, practic toate microprocesoarele de 16 sau 32 bii, au implementate n setul de instruciuni i operaiile de nmulire i mprire (cu numere ntregi pozitive sau n complement fa de doi). Preul acestor dispozitive va fi mai mare dect al procesoarelor standard. Exist o singur unitate aritmetico-logic ntr-un microprocesor i cte unul sau dou acumulatoare i registre auxiliare. Registre pentru funcia aritmetico-logic Una dintre cele dou intrri n ALU este ntotdeauna conectat la un registru de uz general, cu utilizare specific, denumit acumulator (A), care deci va furniza unul dintre operanzii oricrei operaii aritmetice sau logice. Dup efectuarea operaiei, n acumulator se va transfera rezultatul operaiei efectuate n ALU. Astfel, operandul aflat iniial n acumulator se va pierde. Unele operaii specifice se pot efectua direct cu coninutul acumulatorului, cum ar fi incrementarea sau

19

decrementarea coninutului acestuia cu l, tergerea sa etc. Fiind adresabil ca oricare alt registru general, coninutul acumulatorului poate fi ncrcat/transferat direct sau indirect, din/n memoria sistemului, sau n alte registre de uz general, fr a necesita utilizarea ALU. Pentru memorarea temporar a celuilalt dintre operanzi (n cazul efecturii operaiilor care necesit doi operanzi), se prevede un registru de date. Datele n registrul de date i acumulator sunt vehiculate sub comanda seciunii de CONTROL, dinspre / ctre registrele de uz general, sau memorie, prin intermediul magistralelor de date intern, respectiv extern. Pentru a se cunoate caracteristicile rezultatului unei operaii (depirea rangului cuvntului de date, la o adunare, de exemplu, semnul rezultatului, sau faptul c s-a obinut un rezultat nul etc.), este prevzut un registru special, registrul de stare. Acest registru special, inaccesibil direct utilizatorului, are ntre 8 i 16 bii, fiecare bit avnd o semnificaie aparte, i fiind controlat de cte o structur logic specific. Uneori acest registru este denumit i registrul indicatorilor de condiie. Coninutul biilor individuali, denumii indicatori de condiie (flag), este modificat (setat sau resetat), n funcie de rezultatul operaiilor efectuate n ALU. Aceti indicatori (unii dintre ei putnd fi iniializai prin program, cu 1 = set, 0 = reset), reprezint baza mecanismului de luare a deciziilor de ctre unitatea central. Coninutul registrului de stare va furniza la orice moment de timp informaii importante despre starea procesorului i rezultatele ultimei operaii aritmetice sau logice efectuate n ALU. Dei coninutul acestui registru nu este direct accesibil prin program, execuia instruciunilor condiionate de salt salt apel de subrutin permite testarea indirect a valorii biilor indicatori de stare. n funcie de semnificaie, biii de stare din registrul indicator de stare vor fi modificai prin program sau n urma efecturii operaiilor n ALU. n descrierea detaliat a setului de instruciuni al unui microprocesor, se indic pentru fiecare instruciune dac i care anume dintre biii de stare sunt modificai, i cum, de ctre instruciunea respectiv. Programatorii trebuie s cunoasc aceste specificaii, la elaborarea programelor implementate. Semnificaia principalilor bii indicatori de stare ntlnii la majoritatea microprocesoarelor este prezentat n continuare. Carry (CF) Indicatorul de transport: este utilizat pentru a indica depirea preciziei de lucru a microprocesorului, n urma efecturii unei operaii aritmetice (de exemplu, adunarea a dou numere a cror sum depete dimensiunea cuvntului de date al procesorului). Rezultatul se va memora n aceste cazuri n acumulator, cu excepia bitului cel mai semnificativ, memorat n indicatorul de transport (carry), utilizat astfel ca o extensie a acumulatorului. Acest bit poate fi astfel ulterior testat, sau utilizat n operaii ulterioare ale ALU. Avem:
- CF = 1, dac rezultatul ultimei operaii n ALU a generat transport; - CF = 0, dac rezultatul ultimei operaii n ALU nu a generat transport.

Carry poate fi iniializat uzual (0 sau 1), prin instruciuni specifice ale microprocesorului. Valoarea sa se va modifica ns, n cursul efecturii de operaii n ALU.

20

Zero ZF Indicatorul de zero: este utilizat pentru a indica faptul c rezultatul unei operaii aritmetice sau logice a fost 0 sau nu. Acest bit nu poate fi iniializat direct printr-o instruciune specific. Avem:
- ZF = 1 , dac s-a obinut rezultat nul la ultima operaie aritmetic sau logic; - ZF = 0, dac nu s-a obinut rezultat nul la ultima operaie aritmetic sau logic.

Paritate (PF) Indicatorul de paritate este utilizat pentru a indica tipul sumei modulo 2 a rezultatului ultimei operaii efectuate n ALU. Astfel
- PF = 0, dac rezultatul are un numr impar de bii cu valoarea l; - PF = 1, dac rezultatul are un numr par de bii cu valoarea l.

Acest bit este uzual testat n cazul programelor de verificare a corectitudinii informaiilor codificate, sau la transmisii de date. Semn (SF) Indicatorul de semn este utilizat pentru a indica semnul rezultatului unei operaii efectuate n ALU. Astfel:
- SF = 0, dac s-a obinut un rezultat pozitiv (sau zero}; - SF = 1, dac s-a obinut un rezultat negativ.

Semnul rezultatului este decis n funcie de valoarea celui mai semnificativ bit al su, considerat ca bit de semn, numerele fiind tratate ca numere reprezentate n complement fa de doi. Exist i ali bii de stare specifici, cum ar fi indicatorul de activare a ntreruperilor (IF), de apariie a depirilor de calcul (overflow OF), etc., numrul, tipul i semnificaia lor fiind diferite de la microprocesor la microprocesor. n paragrafele ce urmeaz se va prezenta descrierea indicatorilor de condiii ai microprocesorului INTEL 8086. n esen, indicatorii de stare vor permite luarea unei decizii n funcie de valoarea lor, permind de exemplu, efectuarea unui salt (ramificare) n program (trecerea, din punctul n care era programul n acel moment, la o alt adres - nu cea urmtoare - prin modificarea explicit a coninutului registrului de adres al programului (PC), se numete salt n program), la o zon unde se va trata adecvat situaia respectiv. Funcia de intrare/ieire n general, dup cum s-a menionat, seciunea de intrare/ieire este prezent n mic msur la nivelul cipului microprocesor, cu excepia hardware-ului necesar pentru izolarea cipului de exterior. Uzual, operaiile de intrare/ieire se fac tot prin configurarea unei adrese pe magistrala de adrese, corelat cu generarea, de ctre seciunea de control, a semnalelor adecvate de intrare sau ieire, permind selectarea unic a unuia dintre elementele de intrare/ieire (generic denumite porturi ale sistemului) i transferul n sensul dorit de la/la microprocesor la/de la port, a datelor, pe magistrala de date. (Portul poate fi un periferic, un convertor A/D sau D/A etc.).

Vous aimerez peut-être aussi