Sunteți pe pagina 1din 12

IISC

Sisteme i semnale

Capitolul 6
6.1 Strucrura i funcionarea
unui calculator elementar
6.1.1 Schema celor 5 uniti
Sistemele de calcul reprezint cel mai important sistem digital.
Avnd n vedere numrul foarte mare de entiti numite la ora actual
calculator precum i caracteristicile foarte diferite ale acestora, este practic
imposibil s se formuleze o definiie unic a acestei noiuni. O definiie cu
o acceptare suficient de larg este urmatoarea:
Se numete calculator orice sistem capabil sa realizeze urmatoarele
obiective:
s accepte intrri care reprezint o form codificat de informaie
(date de intrare sau operanzi);
s prelucreze datele conform unui algoritm;
s furnizeze la ieire informaie (date de iesire sau rezultate) ntr-o
forma accesibil omului sau altui calculator.
Cu alte cuvinte se poate spune c:
Un calculator este un sistem care permite prelucrarea datelor n
scopul obinerii de informaii.
n funcie de modul de codificare a datelor, calculatoarele se pot
mpri n:
1) calculatoare analogice - care prelucreaza date materializate prin
semnale analogice (care variaza continuu ntre doua valori oarecare);
2) calculatoare numerice - care prelucreaza date codificate
numeric.

IISC

Sisteme i semnale

Observatie! Avnd n vedere ca la ora actuala n toate domeniile de activitate


se utilizeaz numai calculatoare numerice, prin cuvntul calculator vom ntelege de
fapt "calculator numeric".

Pe baza definiiei de mai sus un calculator poate fi reprezentat prin


diagrama din figura Fig. 6.1.

Fig. 6.1

n aceast diagram calculatorul este o "cutie neagr", adic un sistem a crui structur i tehnologie de realizare nu ne intereseaz. Aceast
viziune asupra calculatorului este apropiat de cea a utilizatorilor fr
pregtire n domeniul informatic, care cunosc doar problema ce trebuie
rezolvat i modul cum trebuie s arate rezultatele. Pe baza primei definiii
a calculatorului, schema din Fig.6.1 poate fi rafinat adic pot fi puse n
eviden 3 blocuri diferite ca n figura Fig. 6.2, care ndeplinesc fiecare
funcii bine precizate i interacioneaz pentru realizarea obiectivului
calculatorului.

Fig. 6.2

Cele trei blocuri au urmatoarele semnificaii:


Unitatea de intrare (UI) este subsistemul care transform datele
reprezentate ntr-o form natural (litere, cifre, sunete,imagini, diverse
semnale din instalaii industriale etc.) n date codificate care pot fi citite i
prelucrate de catre unitatea central.

IISC

Sisteme i semnale

Exemple:
Tastatura - transforma semne specifice scrierii umane n coduri numerice ce
pot fi preluate si prelucrate de calculator.
Scaner - transforma o imagine, text dintr-o reprezentare umana pe un suport
specific (hrtie, film) ntr-o reprezentare binara.
Microfon - transforma sunetele n semnale electrice.
Camera video - transforma imaginile n semnale electrice.

Unitatea centrala (UC) permite preluarea datelor oferite de UI,


stocarea lor, prelucrarea lor automat i livrarea rezultatelor ctre o unitatea
de ieire. De asemenea UC furnizeaz toate semnalele de comand necesare
funcionrii calculatorului.
Avnd n vedere funciile realizate de unitatea central, aceasta poate
fi descompus n dou subsisteme cu funcii distincte bine definite i
anume procesorul pentru prelucrarea automat a datelor i memoria pentru
pastrarea datelor codificate numeric.
Unitatea de ieire (UE) este subsistemul care transform datele de
ieire codificate furnizate de unitatea central n date de ieire reprezentate
ntr-o forma accesibil omului sau altui calculator.
Exemple:
Display - transform datele codificate numeric n imagini pe tub catodic cu
cristale lichide etc.
Imprimanta - permite transpunerea textelor si imaginilor pe un suport tipic
uman, hrtia.
Difuzor - permite transformarea unor semnale electrice n sunete.
Din cele de mai sus rezulta imediat schema bloc din figura Fig. 6.3.

Fig. 6.3

IISC

Sisteme i semnale

Procesorul asigur prelucrarea automat a datelor i genereaz toate


semnalele de comanda necesare funcionrii ntregului sistem.
Din motive de simplificare a proiectrii, implementrii, testrii i
depanarii procesorului, acesta poate fi mprit n dou blocuri distincte
numite unitate aritmetico-logic (ALU - arithmetical and logical unity)
respectiv schema de comand (SC).
Unitatea aritmetico-logic realizeaz prelucrarea aritmetic i logic a
datelor. Este n calculator componenta cu cea mai mare vitez de lucru.
Schema de comand genereaz toate semnalele necesare funcionrii
automate a sistemului. Pentru generarea semnalelor de comand sunt
necesare urmtoarele elemente:
1) Comenzi externe sau manuale adica semnale de comand
generate de operatorul uman cu ajutorul unor chei sau butoane. La unele
calculatoare moderne acestea se reduc la o singura comand i anume
comanda de iniializare (reset) dar pot exista i panouri de comand
complexe care s permit citirea datelor, nscrierea datelor n memorie,
lansarea n execuie a unor secvene de program etc.
2) Informaii de stare adic informaii asupra strii fiecrui bloc al
calculatorului (pornit/oprit, funcional/nefuncional, liber/ocupat etc.) si a
modului cum fiecare bloc al calculatorului a executat comenzile primite
(operaie executat/operaie imposibil) sau informaii privind proprietile
unor rezultate ale operaiilor aritmetice i logice (pozitiv/negativ, nul/nenul,
par/impar etc.).
3) Algoritmul de generare a comenzilor.
Prin algoritm vom nelege o secven finit de reguli riguros
formulate care permite rezolvarea unei clase de probleme ntr-un timp finit
i cu precizia dorit.
O reprezentare codificat a unui algoritm, care poate fi citit i
executat de ctre calculator, se numeste program. Pentru a putea scrie un
program se utilizeaz limbaje artificiale, special create, numite limbaje de
programare.
n final, pe baza celor prezentate anterior rezult schema bloc din
figura 6.4 numit i schema celor 5 uniti. Aceast schem bloc reprezint
structura general a oricrui calculator, indiferent de complexitatea sa sau
de scopul pentru care a fost creat. Pe lnga blocurile prezentate n figura

IISC

Sisteme i semnale

6.4, orice calculator are nevoie de surse de alimentare, generatoare de tact,


elemente de supervizare i control ns aceste elemente nu au fost figurate
n schem deoarece nu particip direct la transformarea datelor n
informaie.

Fig. 6.3

6.1.2 Magistrale
Legaturile ntre blocurile calculatorului se realizeaz cu ajutorul unor
grupe de conexiuni, reunite pe principiul funcional, numite magistrale.
Magistralele permit transferul paralel de date i comenzi ntre
blocurile unui calculator.
Din punct de vedere funcional se disting 3 mari categorii de
magistrale:
1) magistrale de date pe care se vehiculeaza operanzii;
2) magistrale de adrese pe care se vehiculeaza informaii privind
localizarea sursei sau destinaiei datelor;
3) magistrale de comand i control pe care se vehiculeaz semnale
de comand i semnale de stare.
Numrul de semnale ce pot fi transmise simultan pe o magistral
reprezint "limea magistralei".

IISC

Sisteme i semnale

Limea magistralelor unui calculator poate reprezenta un indicator de


calitate al acestuia.
Dei aparent simple, magistralele sunt elemente fundamentale ale
sistemelor de calcul moderne deoarece lrgimea magistralei i viteza de
transmisie a informaiei pe magistral influeneaz puternic performanele
calculatorului.
6.1.3 Principiile von Neumann
Principiile formulate de matematicianul von Neumann au avut ca scop
simplificarea proiectrii i implementrii unui calculator.
Dei din momentul formulrii lor au aparut n domeniul tehnicii de
calcul nenumrate mbuntiri tehnologice, cele mai multe principii sunt
valabile n majoritatea calculatoarelor moderne.
P1. Informaiile n calculator sunt codificate binar.
Utilizarea sistemului de numeraie binar a simplificat foarte mult
proiectarea, implementarea, utilizarea i mentenana calculatoarelor i a
redus foarte mult preul de cost al acestora.
P2. Regulile de codificare binar sunt aceleai indiferent de
natura informaiei.
Conform acestui principiu rezult ca o combinaie binar poate
reprezenta un operand, o adres sau o instruciune a unui program, n
funcie de contextul n care este utilizat.
Aceasta nseamn c i programele pot fi privite ca date de intrare de
ctre alte programe i pot fi prelucrate automat.
Programele care primesc ca operanzi instruciunile unui program i le
transform pe baza unui algoritm prestabilit n instruciuni ale unui
program scris ntr-un alt limbaj sau n comenzi executabile de catre
calculator, se numesc translatoare.
P3. Pentru pastrarea datelor si programelor codificate binar
calculatorul dispune de un bloc specializat numit memorie.
Memoria poate fi privita ca o lista (figura 6.5).

IISC

Sisteme i semnale

Fig. 6.5

Fiecare linie a listei reprezint o locaie.


Fiecare locaie este format din n elemente de memorie binar (care
pot memora un bit) numite celule ale memoriei.
Numrul maxim de bii ce pot fi pstrai la un moment dat n memorie
reprezint capacitatea memoriei.
Fiecare locaie este identificat printr-un numar ntreg unic numit
adres. Din motive de simplificare a realizrii i utilizrii calculatorului,
mulimea adreselor formeaz o succesiune de numere ntregi de la 0 la N-1
(N mumrul maxim de locaii).
Adresele sunt reprezentate binar, ca oricare alt informaie n
calculator.
Cu m bii pot fi reprezentate maxim N=2m adrese n plaja 02m-1.
P4 Comenzile codificate binar au o structur relativ rigid,
format n principiu din dou zone numite cmpuri (cmpul codului
operaiei si cmpul de adres). O astfel de comand se numete
instruciune cod main.
Structura general a unei instruciuni este

IISC

Sisteme i semnale

Fig. 6.6

OPCOD reprezint codul binar al operaiei prin care procesorul este


informat asupra operaiei pe care urmeaz s o efectueze. Acest cmp este
obligatoriu n toate instruciunile unui calculator.
ADRESA poate fi valoarea unui operand codificat binar, adresa unui
operand sau a unei instruciuni sau informaii pe baza crora se determin o
adres. Exist instruciuni la care cmpul de adres lipsete.
Mulimea instruciunilor cod main ce pot fi executate de un anumit
procesor formeaz limbajul cod main al procesorului.
Un set de instruciuni cod main reunite logic n scopul obinerii unui
anumit rezultat formeaz un program cod main.
Observatie! Procesoarele nu pot executa direct dect programe cod main
depuse n memoria calculatorului.

P5. Toate operaiile din calculator se execut secvenial, adic una


dupa alta. Nu se accept nici un fel de paralelism n executarea
diverselor tipuri de operaii.
n ciuda complexitii lor, cea mai mare parte a calculatoarelor
moderne respect primele 4 principii.
Al 5-lea principiu nu este respectat la majoritatea calculatoarelor
actuale deoarece conduce la o scdere drastic a vitezei de lucru. Din
contra, la ora actual se caut asigurarea pe orice cale a paralelismului n
desfaurarea diverselor operaii (de exemplu execuia n paralel a
operaiilor de intrare/ieire i a operaiilor de prelucrare a datelor n
procesor).
Calculatoarele care respect toate cele 5 principii se numesc
calculatoare VON NEUMANN sau calculatoare cu arhitectur
Princeton.
Calculatoarele care nu respect toate cele 5 principii se numesc
calculatoare NON VON NEUMANN.

10

IISC

Sisteme i semnale

6.1.4 Funcionarea unui calculator von Neumann


Pentru ca o instruciune cod main s poat fi executat de catre
procesor, este necesar ca ea s fie deja nscris n memoria calculatorului de
unde va fi extras de ctre procesor, va fi decodificat i apoi executat.
Din aceast cauz execuia unei instruciuni cod-main a fost mprit n
dou faze i anume:
faza de FETCH;
faza de EXECUTIE.
n faza de FETCH procesorul citete instruciunea din memorie.
n faza de EXECUTIE codul instruciunii este decodificat i schema
de comand genereaz toate comenzile necesare realizrii operaiei
comandate prin OPCOD. Dup execuia propriuzis a instruciunii se trece
automat la o nou faz de FETCH. n felul acesta se asigura nlanuirea
automat a instruciunilor. Procesul ciclic de execuie a instruciunilor este
prezentat n figura Fig. 6.7.

Fig. 6.7

Execuia fiecrei faze presupune parcurgerea unui numr finit de pai.


Pentru faza de FETCH paii specifici sunt independeni de tipul
instruciunii.
Pentru faza de EXECUTIE paii execuiei sunt puternic dependeni de
tipul instruciunii. Totui, indiferent de instruciune, primul pas este

11

IISC

Sisteme i semnale

"decodificarea codului instructiunii" iar ultimul pas este "trecerea la o


noua faz de FETCH".
Pentru a putea executa un program este necesar sa fie rezolvate dou
probleme i anume:
precizarea adresei de nceput a programului;
precizarea adresei urmtoarei instruciuni.
Pentru o rezolvare simpl a acestor probleme se utilizeaz o
component special a procesorului, numit numrtor de program
(program counter-PC) sau indicator de instruciuni (instruction pointerIP).
Numrtorul de program pstreaz ntotdeauna adresa instruciunii
care va fi citit la urmtoarea faz de FETCH. Pentru nlnuirea automat
a instruciunilor, la ncheierea fiecrei faze de FETCH coninutul
numrtorului de program este incrementat.
Rezult imediat c instruciunile care se execut una dup alta trebuie
s fie plasate n memorie la adrese consecutive.
Pentru cazul n care acest lucru nu este posibil, n setul de instruciuni
al calculatorului sunt prevazute instruciuni speciale, numite instruciuni de
salt, care permit modificarea coninutului numrtorului de program.
La pornirea calculatorului, numrtorul de program se ncarc automat
cu o combinaie binar prestabilit care reprezint adresa de nceput a
primei instruciuni ce va fi executat.

6.2 Calculatoare cu arhitectura Harvard.


La arhiectura Princeton, discutate anterior, caracteristic este faptul c
blocul de memorie este utilizat att pentru pstrarea datelor ct i pentru
pstrarea programelor codificate binar.
Avantajul acestei structuri este acele c programele pot fi utilizate ca
i date i din aceast cauz se recomand pentru calculatoare generale la
care se schimb frecvent limbajul de scriere a programelor.
Principalul dezavanta const n conflictele frecvente pentru accesarea
memoriei i n dificultatea implementrii paralelismului n prelucrarea
instruciunilor,

12

IISC

Sisteme i semnale

Arhitectura Harvard ncearc s elimine tocmai acest neajuns. Ideea


fundamental const n separarea memoriei de date de memoria de
instruciuni ceea ce introduce anumite avantaje n utilizare:
1. Deoarece magistrala pentru transferul instruciunilor este diferit
de cea pentru transferul datelor, dispare conflictul de interes la
utilizarea lor deci pot fi transferate n paralel instruciuni
codificate binar i date.
2. Spaiul adreselor pentru instruciuni este diferit de spaiul de
adrese pentru date ceea ce permite proiectantului o mai
bunadaptare a structurii n raport cu cerinele clasei de probleme
rezolvate.
3. Limea cuvintelor n memoria de instruciuni poate fi diferit de
limea cuvintelor n memoria de date.
4. Memoria de instruciuni poate fi o memorie fix care pstreaz
datele i n lipsa alimentrii cu energie. Aceasta nseamn c
programul va fi nscris n memorie ninte de olasarea ei n sistem.
Pentru a crete flexibilitatea n utilizare, la ora actual pot fi
utilizate memorii flesh care pot fi reprogramate fr a scoate
memoria din sistem.
5. Memoria de date este o memorie RAM (scrie/citete). n general
este o memorie de capacitate mic, uor de realizat cu memorii
statice de mare vitez.
Dezavantajele modelului HARVARD:
1. Modificarea programelor este relativ dificil deci nu poate fi utilizat
pentru realizarea unor calculatoare de uz general. Se recomand pentru
calculatoare dedicate folosite n sisteme nglobate (embedded systems) cum
ar fi microcontrollere pentru comanda mainii de splat, cuptorului cu
microunde, automobile etc.
2. Nu pot fi pstrate n memoria fix anumite date cum ar fi
constantele de sistem.
Din aceast cauz se ncearc crearea unor sisteme hibride care s
mbine avantajele celor dou modele.

13

IISC

Sisteme i semnale

14