Sunteți pe pagina 1din 10

ARHITECTURA SISTEMELOR DE CALCUL

CURS1

CAP. 1. ORGANIZAREA SISTEMELOR DE CALCUL


Calculatorul (numeric) este un sistem fizic ( alcatuit in principiu din circuite si dispozitive electronice ) ce are sarcina de a de a rezolva problemele pe baza unor programe. Din punct de vedere al organizarii interne a calculatoarelor numerice trebuie puse in evidenta doua aspecte complementare asociate acestora. In primul rand un sistem de calcul este caracterizat de structura sa, aceasta fiind reprezentata de totalitatea componentelor individuale si a subansamblurilor ce sunt necesare asigurarii functiilor specificate. Ex: circuite electronice , subansambluri electronice, componente electromecanice. Spre deosebire de aceasta ar itectura calculatorului se defineste ca totalitatea datelor acceptate a operatiilor ce pot fi efectuate respectiv a tuturor facilitatilor accesibile programatorilor.

1.1. O caracterizare sintetica a sistemelor cu microprocesor


Structura principala a unui astfel de sistem este redata in fig.1 unde sunt puse in evidenta cele 3 entitati fundamentale a caror prezenta este impusa in orice calculator: a) U.C.P.- unitatea centrala de prelucrare b) -memoria c) !.".#. -dispozitivele de intrare iesire $ceste 3 entitati sunt interconectate la nivel magistral !$&# P'O)'$ U( # O'"# CO%&'O( $!'#S# !$&# "#I$!$E CE#$%!&! DE '%E&"C%!%E (microprocesor)

DIS'()I$I*E DE I#$%!%E IESI%E

!SC

*ig 1. Se poate remarca asocierea dintre U.C.P. si microprocesor acesta din urma reprezentand de fapt unitate centrala de prelucrare realizata fizic la nivelul unui unic circuit integrat. "n ceea ce priveste subsistemul memorie este realizata o distinctie la nivel logic intre tipurile de date stocate astfel o diviziune a meoriei este destinata mamorarii programelor +reprezentarea de coduri numerice) asociate instructiunilor in timp ce o alta diviziune memoreaza datele necesare e,ecutiei programului. Obs- !in punct de vedere fizic nu e,ista nici o deosebire intre modul in care sunt memorate programul .respectiv datele asociate. !in punct de vedere al modului e,tern calculatorul interact/ioneaza cu asesta prin intermediul dispozitivelor de intrare iesire. &erminologia asociata desemneaza aceste cai de comunicatie ca fiind porturi de intrare iesire. CURS 2

Caracterizarea functionala a calculatorului


Sub aspect functional un calculator numeric respectiv un microprocesor se evidentiaza prin 0 aspecte: 1) *unctia de intrare care permite e,istenta unui flu, informational de la mediul e,terior catre sistem 1) *unctia de iesire care permite e,istenta unui flu, informational de sens opus 3) *unctia operationala ce permite efectuarea caculelor aritmetice si logice 2) *unctia de supervizare si comanda ce inglobeaza toate activitatile de sincronizare si control ce se pot e,ercita asupra activitatii sistemului $ceasta divizare nu este e,clusiva deoarece in cazul diferitelor tipuri de calculatoare respectiv microprocesoareo parte din aceste functii se regasesc intro mai mare masura in timp ce altele pot fi mai putin prezente+bancomate).

Caracterizare din punct de vedere informational


"n stransa legatura cu cele 0 functii anterior amintite la nivelul unui sistem de calcul + respectiv a unui microprocesor) se stabileste un flu, informational comple, reprezentat principal in fig 1. Uzual informatia este preluata de subsistemul de intrare si pe baza comenzilor primite de la blocul de comanda si control informatia este depusa in memoria sistemului. &ot in urma comenzilor primite de la 3.C.C. . informatia depusa in

!SC

memorie este citita de microprocesor.decodificata.prelucrata + se efectueaza calcule prin intermediul U$(). (a finalul prelucrarilor rezultatele sunt depuse din nou in memorie. &ot la comanda data de 3CC rezultatele depuse in memorie sunt transmise in e,teriorul sistemului prin intermediul blocului de iesire.Se observa astfel la nivelul microprocesorului e,istenta celor 1 blocuri functionale importante. 3locul unitatii aritmetice-logice ce este o colectie de circuite comple,e programabile capibile de a procesa date numerice pe baza unor instructiuni primite sub forma unui program . 3locul de comanda si control+3CC) decodifica programul genereaza si sincronizeaza toate semnalele necesare prelucrarii datelor si asigura transferul corespunzator al acestora in interiorul respectiv e,teriorul calculatorului.

Caracterizare temporal secventiala


odul de interconectare precum si functionarea componentelor de baza ale unui calculator au la baza in general asa numita ar4itectura von %eumann. "n aceasta ipoteza unitatea centrala de prelucrare +microprocesor) e,ecuta o singura instructiune a programului la un moment de timp bine determinat. $cest fapt conduce la o incetinire a activitatii sistemului fata de sistemele cu e,ecutie paralela + care permit procesarea a 1 sau mai multe instructiuni in acelasi timp). Pe de alta parte ar4itectura von %eumann este e,trem de fiabila. robusta in functionare si usor de implementat. !e aceea marea ma5oritate a calculatoarelor din prezent subscriu acestei ar4itecturi. !esfasurarea in timp a operatiilor efectuate de diferitele componente ale calculatorului este supervizata tot de catre sectiunea de control 6 din acest punct de vedere functiile generale ale calculatorului sunt activate intr-o maniera adecvata pe intervale de timp fi,e si prestabilite in functie de specificul operatiei efectuate. Un e,emplu este prezentat in fig. 3 Se observa ca in intervalul t1 informatia este preluata de sistemul de intrare memorata remarcandu-se activarea celor 1 blocuri. "n perioada t1 instructiunile sunt e,trase din memorie si prin e,ecutia lor de catre U$( se produc rezultate ce sunt la randul lor memorate. Ultima etapa +t3) se dezactiveaza unitatea aritmetico-logica controlul fiind predat sistemului de iesire. Sincronizarea acestor proceduri se realizeaza in concordanta cu asanumitul ceas de sistem +s/stem cloc7) care este reprezentat practic de un generator de impulsuri +se poate considera ca fiecarui impuls " se asociaza o anumita activitate elementara simpla in calculator.

!SC

Curs 3

Caracterizarea e,ecutiva Atribute executive


Datorita caracteristicilor anterior amintite sistemelor de calcul le este asociata in mod necesar o component executiva + notiunea de executie este in mod necesar legata de conceptual de program. !stfel o suita de operatii ce se doresc a fi executate de catre calculator este reprezentata de o suita de instructiuni stocate in memoria sistemului impreuna cu datele necesare alcatuind un program.

Magistrale de sistem
,unctionarea unui calculator presupune existent unor legaturi multiple si complexe intre diferitele blocuri functionale ale acestuia. -ruparile liniilor de semnal carora le sunt associate functii similar interconectand diferitele sectiuni ale unui calculator numeric poarta numele generic de magistrala. 'ractic o magistrala realizeaza punerea in corespondenta a semnalelor de date , adrese si control ale unui bloc functional cu semnalele omonime ale unui alt bloc functional. Din puct de vedere topologic la nivelul unui sistem exista . categorii de magistrale : /. 0agistrale interne reprezinta canalele de legatura stabilite intre diversele unitati functionale ale calculatorului .. 0agistrale externe ce reprezinta caile de comunicatie dintre sistemul de calcul si mediul extern. !ceasta diferenta topologica poate fi extinsa si la nivelul microprocesorului unde putem distinge o magistrala interna a acestuia respective o magistrala externa a microprocesorului( ce corespunde de fapt cu o magistrala interna a calculatorului). Din punct de vedere al informatiei ve iculate magistralele pot fi impartite in 1 categorii: 0agistrale de date

!SC

0agistrale de adrese 0agistrale de control $otusi la nivelulcalculatoarelor actuale aceste 1 tipuri de magistrale nu se mai regasesc in mod distinct ele reprezentand sectiuni ale magistralelor de sistem standard. ( magistrala de comunicatiipoate fi constituita din mai multe linii de semnal permitand astfel transferal simultan al unui asa numit avant de informatii. In acest caz magistrala numindu se paralela. %eciproc in structura calculatorului se regasesc si magistrale seriale la care datele sunt transmise pe o linie unica de semnal bit cu bit in mod succesiv. Dezavanta2ul magistralei seriale este !cela ca ele prezintao viteza de transfer mult redusa in comparatie cu magistralele paralele. 'e de alta parte datorita particularitatilor de implementare orice magistrala serial prezinta avanta2ul de a asigura comunicatia pe distante mult mai mari fata de orice magistrala paralela. In consecinta magistralele paralele sunt folosite pentru conexiuni de viteza mare effectuate pe distante scurte (de exemplu intre blocurile functionale ale calculatorului) in timp ce magistralele seriale se folosesc in cazul transmisiilor mai lente effectuate pe distante medii sau mari (de exemplu teletransmisii). In fig.3 este prezenta o structura principal a conexiunilor stabilite intre sectiunile functionale ale calculatorului prin intermediul magistralei. Observatie! Deoarece un microprocessor nu poate alimenta (din punct de vedere electric) un numar prea mare de circuite exterioare este necesara o amplificare a semnalelor de pe magistralele sistemului. !cest lucru se realizeaza prin intermediul unor circuite specializate numite generic amplificatoare de magistrala ce indeplinesc rolul unor circuite intermediare de transfer (4buffer5e6) realizand totodata si refacerea calitatii semnalelor de pe magistrale.

Magistrale de date
Destinatia acesteia este reprezentata atat de efectuarea unui transfer unidirectional de la memorie catre processor cat si a transferului bidirectional dintre memorie , processor si ec ipamente intrare5iesire. De regula lungimea cuvantului de date asociat microprocesorului ( adica numaul de bit ice pot fi simultan prelucrat de microprocesor) determina numarul liniilor de semnal associate magistralei de date. De exemplu un processor ce opereaza pe 1. biti va fi conectat la o magistrala de date avand 1. linii de semnal. Curs 4

Magistrala de adrese
%olul magistralei de adresa este !cela de a transporta coduri binare asociate adreselor de memorie unde sunt localizate atat instructiunile programelor aflate in ecuatie cat si datele necesare executiei acestora.

!SC

$ot la nivelul acestei magistrale este transportata informatia necesara localizarii sporturilor de intrare 7 iesire. !dresabilitatea unui microprocesor se refera la cantitatea maxima de memorie pe care acesta o poate accesa. !cest atribut este asociat numarului de linii ale magistralei de adresa, deci implicit numarului de biti ai cuvantului de adresa. #umarul maxim de adrese care pot circula pe magistrala de adrese este de .n si tot atatea locatii de memorie pe care procesorul le poate accesa. Deoarece prin intermediul a n biti se pot codifica .n valori binare distincte , rezulta ca spatiul adresabil al unui procesor avand magistrala de adrese pe n biti , este similar cu .n.

Magistrala de control
!ceasta transporta in sistem o serie de informatii necesare sincronizarii si coordonarii activitatii diverselor blocuri functionale ale calculatorului. #umarul de semnale asociat magistralei este acelasi cu numarul de semnale de control disponibile la nivelul miroprocesorului. Exemple de semnale de control: Semnalul de ceas al calculatorului(sir de impulsuri furnizat de un circuit special5 toate operatiile din calculator se executra in timpul unui semnal de ceas). Semnalul de ceas nu se opreste decat intr5un caz special5daca temperature din sistem creste,astfel racindu5se procesorul. Semnale care specifica tipul de transfer cu memoria(citire sau scriere) Semnale care specifica tipul de transfer cu memoria (citire sau scriere) Semnale care specifica sensul transferului cu sporturile(citire8scriere) Semnale de sincronizare

Microprocesorul
In fig. 9 este propusa sructura generala a unui microprocesor standard pe baza careia pot fi puse in evidenta functiile indeplinite de acesta. 1. Functia de supervizare: 0icroprocesorul ca sistem independent este operat prin intermediul unui program . 'rogramul insa nu poate el insusi sa furnizeze toate datele ( informatiile) necesare executiei sale. De exemplu , atunci cand un program este incarcat in memorie, calculatorul trebuie sa fie informat asupra locatiei ce contine prima instructiune a programului. !cest fapt neputand fi realizat de catre programul in sine. De asemenea o serie de semnale de control necesita o perfecta sincronizare in timp pentru ca sectiunile microprocesorului sa isi poata desfasura corespunzator activitatea fara interferente. $oate aceste cerinte sunt indeplinite de catre sectiunea de decodificare timing si control a microprocesorului, la nivelul acesteia realizandu5se toate procedurile de decodificare a instructiunilor active a subansamblelor microprocesorului,respective de desfasurare in timp a secventelor de operatii presupuse de instructiuni.

!SC

Ciclul de executie al microprocesorului !sa cum am aratat , actiunile microprocesorului se desfasoara in mod secvential si repetitive. $oate operatiile desfasurandu5se in sincronism cu asa5numitul semnal de ceas. Se defineste ciclul instructiunilor(ciclul de executie) al microprocesorului ca fiind secventa de operatii effectuate in vederea extragerii, decodificarii si executiei unei instructiuni din memorie. "n astfel de ciclu5instructiune dureaza un numar variabil de perioade ceas in functie de tipul microprocesorului ,respective de tipul instructiunii implicate. "n ciclu5 instructiune este divizat in subcicluri,fiecare dintre acestea corespund unor operatii fundamentale indivizibile (ex:citirea unui cod numeric din memorie, etc)5fig.: Deoarece microprocesorul standard executa o singura instructiune la un moment de timp precizat, este necesara cunoasterea in permanenta a6 numarului de ordine6 asociat fie instructiunii curente, fie celei ce va fi executata la pasul urmator. !ceasta informatie este memorata intr5o locatie interna a microprocesorului , numita registru contor de programare(pc5program counter). Deoarece programul este in general memorat la adrese successive , contorul de program va fi actualizat prin incrementare dupa transferal fiecarei instructiuni intr5o alta locatie specializata din microprocesor numita registru de instructiuni(ir5instruction registers). CURS 5

Decodificarea instructiunilor si controlul activitatilor


In fig.; este prezentata o sc ema functionala constructive a unei sectiuni de control specifica microprocesoarelor actuale. 0!%5registrul de adresare a memoriei (este o memorie temporara care inmagazineaza adresele ce vor fi trimise de microprocesor catre exterior) 'C5contor de programe ('rogram Counter 7indicator al parcurgerii programului) I%5 registru de instructiuni:!re rolul de a memora temporar codul numeric al ultimei instructiuni extrase din memorie &a executia unui program microprocesorul plaseaza pe magistrala de adrese, adresa urmatoarei instructiuni ce trebuie executata (aceasta adresa se fala initial in 'C si este transmisa catre 0!% ulterior codul instructiunii este preluat de pe magistrala de date si depozitat temporar in I%. !cest cod este transmis mai departe blocului decodificator care efectueaza o 4recunoastere a codului instructiunii6 in cadrul setului de instructiuni administrate de microprocesor. !tunci cand instructiunea a fost recunoscuta (identificata) decodificatorul informeaza blocul generator de control asupra actiunilor ce trebuiesc effectuate in interiorul sau exteriorul microprocesorului in vederea executiei instructiunii.

!SC

In conformitate cu informatia primita si intr5o perfecta sincronizare cu semnalul de ceasal sistemului generatorul de control al sistemului trimite semnale de control ce activeaza8dezactiveaza,blocul functional,sincronizeaza blocuri functionale astfel instructiunea curenta sa fie executata . $ot acest ciclu se repeat pentru urmatoarele instructiuni ale programului. 2. Functia de memorare asociata microprocesorului 0icroprocesorul in functie de destinatia sa poate contine integral pe acelasi circuit prpriile resurse de memorie de dimensiuni reduse insa fata de memoria principal a sistemului.

CURS 6

%esursele de memorare proprii microprocesoarelor sunt implementate la nivelul asa numitelor register. "n registru reprezinta practice o locatie de memorie care I identifica nu printr5o adresa ci printr5un nume fiecare microprocesor are propriul set de registre ce constituie practice memoria sa de lucru prin intermediul registrelor ce manipuleaza toate datele(respectiv operanti si rezultate associate executiei unui program). &a nivelul micrfoprocesorului regasim . categorii mari de registre: registru de uz general care se afla in intregime la dispozitia utilizatorului respective registre special care sunt registre cu functii bine stabilite in cadrul microprocesorului. %egistrele sunt folosite la stocarea diferitelor informatii utilizate atat in cadrul aplicatiilor soft<are cat si pentru implementarea functiei de control. De exemplu, registrele generale contin datele frecvent accesate de catre programe ceea ce conduce la cresterea vitezei de lucru a sistemului deoarece timpii de acces la registre sunt sensibil mai mici decat timpii de acces la memoria externa a sistemului. !ceste registre sunt direct conectate atat la alte registre interne ale microprocesorului cat si la magistralele externe prin intermediul magistralelor interne ale microprocesorului respective a unor circuite tampon (fig /=). %egula generala (rice registru de acest tip este accesibil programatorului el fiind astfel un element de ar itectura. ,iecare microprocesor are instructiuni specifice lucrului cu registrele prin intermediul carora se pot inacrca valori numerice se pot aplica functii logice asupra continutului registrelor. !ccesul individual la registru se efectueaza in mod selective la nivelul sectiunii de control al microprocesorului. Celelalte registre(speciale)au functii predefinite in funct.microprocesorului. ex: registrul control de program, registrul de instructiuni etc. !ceste registre nu sunt direct accesibile utilizatorului si in consecinta nu reprezinta atribute de ,unctia aritmetico logica sectiunea care efectueaza operatiile aritmetice si logice este compusa din unitatea aritmetico logica "!& ( avand rol de executie) si o serie de registre asociate functiei de memorare a operanzilor respectiv a rezultatelor (vezi fig //) "!&

!SC

In fig // se remarca in primul rand prezenta a doua intrari de date ce furnizeaza valorile operantilor. ( alta intrare este reprezentata de intrarea de selectie a operatiei ce va fi executata. &a iesirea "!& se regasesc ata rezultatul operatiei aritmetice avand o serie de indicatori (grupati int5un registru special ) ce funizeaza informatie despre starea interna a "!& respectiv eventualele evenimente aparute in functionarea sa (rezultat eronat). 'erformantele microprocesorului sunt in primul rand datorate "!& in sarcina acesteia revenind efectuarea operatiilor de adunare si scadere liniara , operatii logice , deplasari la stanga si la dreapta a continutului etc. !lte operatii mai complexe pot fi implementate prin succesiuni : de operatii ample. "n exemplu in acest sens fiind efectuarea inmultirileo si impartirilor prin adunari scaderi repetate. "na din cele . intrari este intodeauna conectata la cel mai utilizat registru de uz general numit registru acumulator.( in consecinta in mod firesc registru acumulator contine intodeauna unul din operanzi in plus tot registrul acumultaor este cel ce va contine valoarea rezultatului dupa inc eierea operatiei ), deci operandul initial inscris in accumulator va fi intodeauna suprascris de catre operand. 'entru memorarea temporala a celui de5al doilea operand precum si in vederea editarii efectului de cerc vicios ( autoalimentarea "!& cu prpriul rezultat in structura microprocesorului regasim o serie de registre auxiliare special . In fig /= vom reprezenta registrul auxiliar> pentru operandul / respectiv registru de date.

CURS 7

3. Functia de intrare iesire !sa cum s a aratat functia de intrare iesire se regaseste intr5o mai mica masura la nivelul microprocesorului ea fiind o caracteristica a calculatorului in ansamblu. Singura exceptie in acest caz este reprezentata in acest caz de functia ce permite izolarea fizica a circuitului integrat a microprocesorului fata de mediul exterior ( aceasta functie este utila in situatiile in care apare necesara prote2area microprocesorului impotriva posibilelor defecte ale placii de baza). 'entru realizarea acestei functii microprcesorul este conectat la mediul exterior reprezentat de magistrale prin intermediul unor circuite tampon avand rol de izolare(fig /.). !ceste circuite prezinta in functionare doua regimuri. In conditii obisnuite ele transfera la iesire valoarea aplicata la intrare. In conditiile producerii unor evenimente deosebite aceste circuite tampon primesc o comanda ce are ca effect intreruperea efectiva a oricarei legaturi dintre iesire si intrare. 'ractic aceste circuite au rolul unor microintrerupatoare implementate insa nu mec anic ci electric.

!SC

Sectiunea de control al microprocesorului este responsabila de activarea corespunzatore a circuitelor tampon . !stfel de circuite tampon se regasesc nu doar in cazul microprocesoarelor ele fiind prezente in cadrul tuturor circuitelor ce sunt cuplate pe magistralele comune ale calculatorului. In cazul acestor circuite izolarea lor fata de magistrale se produce atunci cand un alt circuit transfera date pe magistrala.

Microprogramare
!nterior s5a aratat ca fiecare instructiune recunoscuta de catre microprocesor determina executia unor microetape in interiorul microprocesorului. !ceste microetape corespund unor operatii fundamentale ( ex. $ranferul cu memoria, transferuri intre registrele microprocesorului etc) Succesiunea acestor microetape reprezinta de fapt asa numitele microprograme. !ceste microprograme reprezinta practice firm<are5ul procesorului ce este inscris intr5o memorie speciala in interiorul circuitului de catre fabricant. "tilizatorul nu are practice acces la aceste microprograme in sensul de a le modifica. 0ai mult, inlantuirea microinstructiunilor specifica executiei fiecarei instructiuni este o caracteristica asociata fiecarui microprocesor in parte implementata in structura ard<are a acestuia de catre proiectant. $otusi exista o serie de microprocesoare speciale pentru care utilizatorul isi defineste singur setul de instructiuni pornind de la setul de microinstruc>iuni elementare acceptate de microprocesor. Desi aceasta implica o fiabilitate sporita solutia prezinta dezavanta2ul implementarii la nivel soft<are a setului de instructiuni ceea ce duce la dificultati in programare. ,ig /1 prezinta la nivel de principiu desfasurarea in timp la nivelul unui processor ipotetic a microinstructiunilor asociate instructiunii de adunare a doua numere din memorie cu pastrarea ulterioara a rezultatului intr5o alta locatie de memorie.

!SC

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