Sunteți pe pagina 1din 34

Capitolul 1.

Arhitectura i funcionarea unui


microcalculator. Definiii
:::1.1 Componentele multifuncionale ala unui microcalculator:::
Noiunea de la care pornim este aceea de MICROCALCULATOR (C).
Microcalculatorul (structurat ca o main VON NEUMANN) este un sistem
programabil de prelucrarea informaiei care are dou componente eseniale, inseparabile i
definitorii: hardware i software.
Schema bloc funcional a unui microcalculator este urmtoarea:

A. Din punct de vedere hardware microcalculatorul are trei componente


funcionale legate ntr-un mod specific. Blocurile funcionale sunt:
1. UNITATEA CENTRAL DE PRELUCRARE (UCP) are dou funcii eseniale:
prelucrarea datelor;
controlul activitii ntregului microcalculator.
O Unitate central de prelucrarea informaiei, avnd funciile
enunate mai sus, care coordoneaz un sistem structurat funcional
ca n figur i care, fizic, se prezint sub forma unui singur cip se
numete MICROPROCESOR (P).
2. MEMORIA este o secven de locaii pentru stocarea informaiei.
Fiecare locaie este definit prin dou entiti informaionale:

Curs preluat de la domnul Prof. Dr.Ing. Corneliu Burileanu

2a) Coninutul, reprezentat de o niruire de cifre binare 0 sau 1 ("bii");


De exemplu:
- numere
- coduri, etc.
Observaie: nu folosim noiunea de numr binar deoarece informaia stocat ntr-o
locaie de memorie poate avea diverse semnificaii.
Numrul de cifre binare coninute ntr-o locaie depinde de modul n care
microprocesorul organizeaz informaia n memorie; mrimea unei locaii va fi denumit
formatul memoriei, exprimat n numr de bii (de regul 8, 16, 32 sau 64 bii).
2b) Adresa, reprezentnd numrul de ordine al locaiei, care permite identificarea sa
n cadrul secvenei de locaii (exist o coresponden biunivoc ntre fiecare locaie de
memorie i adresa sa).
n privina memoriei unui microcalculator vom folosi urmtoarele noiuni:
- "Harta memoriei" reprezint totalitatea locaiilor de memorie pe care le poate
adresa un microprocesor.
- "Pagini" i/sau "segmente" sunt subdiviziuni logice ale hrii memoriei, ale cror
dimensiuni, fixe sau dinamice, sunt specifice modului n care un microprocesor anume
organizeaz memoria.
Observaie: Aceste moduri de organizare nu au nici o legtur cu structura fizic a
memoriei unui microcalculator, format din unul sau mai multe cipuri, cu capaciti
diverse; capacitatea total de stocare a informaiei pe care o realizeaz fizic, cipurile de
memorie ntr-un microcalculator este definit ca "memorie intern". Aceasta nu acoper,
n mod necesar, harta memoriei aferent microprocesorului respectiv.
Semnificaia coninutului memoriei microcalculatorului delimiteaz n harta
memoriei dou zone (fizic aceast delimitare este aproape total transparent):
Memoria de date conine operanzi i/sau rezultate; fizic, aceast poriune de
memorie este de tip RAM (cu scriere/citire).
Memoria de program care conine instruciuni; de regul, (dar nu obligatoriu)
aceast zon este o memorie de tip ROM (memorie din care se poate doar citi).
Prin instruciune se nelege informaia codificat (tot binar, desigur) prin care se
impune microprocesorului desfurarea unei aciuni specifice.
Observaii (legate de definiia instruciunii):
O instruciune reprezint cea mai simpl aciune, cu rezultat bine precizat, din
activitatea unui microcalculator a crui unitate central de prelucrare a informaiei este un
microprocesor anume.
Fiecare instruciune este asociat n mod biunivoc cu un ir de cifre binare;
deoarece acestea "codific" instruciunile, vor fi denumite coduri.

Curs preluat de la domnul Prof. Dr.Ing. Corneliu Burileanu

Un microprocesor concret poate "recunoate" i executa numai codurile


corespunztoare instruciunilor pentru care a fost construit; totalitatea instruciunilor pe
care un microprocesor le poate recunoate i executa alctuiete setul de instruciuni al
microprocesorului respectiv.
niruirea instruciunilor n memoria de program nu este haotic, ci sub form de
programe, noiune definit ca fiind o secven de coduri de instruciuni organizate n mod
logic i coerent dup un anumit algoritm, astfel nct ntregul microcalculator s execute o
sarcin prestabilit. Noiunea de "sarcin" (task) nu trebuie confundat cu cea de
program: sarcina unui microcalculator corespunde unei alocri dinamice a resurselor
hardware i software; exist sarcini pentru a cror ndeplinire sunt necesare mai multe
programe.

Concluzii:
Semnificaia coninutului locaiilor de memorie este conferit de programator n
concordan cu funciile specifice realizate de microprocesor: deci putem vorbi de
numere binare atunci cnd ne referim la date (operanzi/rezultate);
coduri cnd ne referim la instruciuni.
IMPORTANT!

n schema bloc funcional propus, memoria nu are nici un control asupra


semnificaiei informaiei pe care o conine.
3. DISPOZITIVELE DE INTRARE/IEIRE (I/O) sunt constituite din circuitele prin care
se realizeaz legtura ntre microcalculator i lumea exterioar. O unitate elementar de
conversaie cu exteriorul poart numele de "port de intrare/ieire".
ntre porturi i locaiile din Memorie exist nite asemnri i anume:
Porturile sunt n esen tot locaii de memorare a informaiei, adresabile; cu
observaia c informaia care se folosete uzual aici este alctuit din operanzi/rezultate
(date).
Exist o "hart a porturilor" care poate sau nu s fac parte din harta memoriei.
Singura deosebire esenial fa de locaiile de memorie este legtura fizic pe care
porturile o asigur cu exteriorul; pentru microprocesor, de multe ori, aceast legtur
fizic este transparent i nesemnificativ.

Componenta hardware a microcalculatorului conine i un set de legturi specifice;


acestea se realizeaz prin aa-numita "Magistral" care reprezint un set de conexiuni
fizice ntre blocuri prin care informaia care circul are o semnificaie prestabilit.
Sistemele la care ne referim au o magistral unic, ce le caracterizeaz.
Din punct de vedere funcional, exist trei componente ale acestei magistrale,
(individualizate i n figura dat):
3

Curs preluat de la domnul Prof. Dr.Ing. Corneliu Burileanu

1. Magistrala de date, bidirecional, permite circulaia datelor (operanzi/rezultate),


a instruciunilor i chiar a adreselor. Magistrala de date este o caracteristica fundamental
VON NEUMANN - deoarece permite s treac i numere(date) i instruciuni.
2. Magistrala de adrese, unidirecional, permite microprocesorului s localizeze
informaia n Memorie sau n Dispozitivele de intrare/ieire; deci pe aceast magistral
circul numai adrese.
3. Magistrala de control permite circulaia, bidirecional, a semnalelor de comand
i control de la/ctre microprocesor, n calitatea sa de Unitate central.

B. Din punct de vedere software:

a doua component definitoarie a


microcalculatorului, definirea rezult practic dintr-o serie de programe organizate n moduri
specifice.
Putem vorbi de dou categorii de software:
1. Sistemul de operare reprezint totalitatea programelor care permit utilizatorului accesul
complet la resursele sistemului (exemple: MS-DOS, UNIX etc.). Poate fi: rezident
(permanent n memoria intern) sau ncrcabil dintr-o memorie extern (operaie denumit
"bootstrap").
2. Software-ul utilizatorului, alctuit din totalitatea programelor folosite pentru
ndeplinirea unor sarcini specifice.
Concluzii (care fac o prim delimitare asupra conceptului de microprocesor aa cum
este el neles n acest curs):
Microprocesorul constituie Unitatea central de prelucrare a unui sistem avnd
schema bloc funcional din figura dat. El concentreaz:
funcia de prelucrare
funcia de comand.
Toate celelalte componente ale sistemului nu au putere de decizie. Memoria nu
controleaz i nici nu e necesar s controleze semnificaia informaiei pe care o
deine i modul n care este organizat logic.
Legtura dintre blocuri este asigurat de o magistral unic cu trei componente
funcionale; pe magistrala de date circul toate tipurile de informaii.
Funcionarea sistemului se face pe baza unor programe alctuite din secvene de
instruciuni. Acestea sunt citite din memorie de ctre microprocesor, recunoscute i
apoi executate.

Curs preluat de la domnul Prof. Dr.Ing. Corneliu Burileanu

Arhitectura:

totalitatea atributelor sistemului (n cazul de fa, microprocesorul)


care sunt disponibile ("vizibile") utilizatorului (ca, de pild:
registrele, modurile de adresare, tipurile de transferuri de date, modul
de organizare logic a memoriei, tehnicile de intrare/ieire, setul de
instruciuni, etc.).

1.2 Clasificri ale noiunii de microprocesor

Se pot face clasificri din mai multe puncte de vedere i anume:

a) Dup limea magistralei de date: microprocesoare pe 8, 16, 32 sau pe 64 de bii.


b) Dup tipul de sarcini eficient realizabile:
microprocesoare de uz general (PUG), nespecializate;
microprocesoare specializate, ca de exemplu:
- procesoare de intrare/ieire, pentru conversaii complexe ntre microcalculator
i lumea exterioar; exemplu: Intel 8089;
- coprocesoare aritmetice, specializate pentru funcii aritmetice de utilitate
general (exponeniale, trigonometrice etc); exemplu: Intel 80387;
- procesoare digitale de semnal, specializate pentru algoritmii specifici
prelucrrii semnalelor (FFT, produse de corelaie, filtre digitale, calcul
matriceal etc.); exemplu: Texas Instruments TMS 320.
c) Dup principiile de baz ale arhitecturii care guverneaz funcionarea:
procesoare cu set complex de instruciuni (CISC) numite microprocesoare
"standard" sau simplu "microprocesoare";
procesoare cu set redus de instruciuni (RISC), etc.

1.3 Convenii pentru notaii

1. neterminali
entitati informaionale neprecizate
folosesc indice ca s pot face diferena ntre ele ( ri,rj )
cifra de dup liter arat dimensiunea (r8)
r
r8
r16
ri , rj
mem
mem8

un registru oarecare
un registru de 8 bii
un registru de 16 bii
registre individualizate, diferite
o locaie de memorie oarecare (sau mai multe locaii succesive)
o locaie de memorie de un octet
5

Curs preluat de la domnul Prof. Dr.Ing. Corneliu Burileanu

mem16
mem32
memi
adr
adr8
adr16
adr24
adri

o locaie de memorie de 16 bii (pot fi dou locaii succesive dac formatul


este octetul)
o locaie de memorie de 32 de bii (pot fi patru locaii succesive dac
formatul este octetul)
o locaie de memorie individualizat (n scopul de a o deosebi de alte locaii
de memorie)
o adres oarecare
o adres pe 8 bii
o adres pe 16 bii
o adres pe 24 de bii
o adres individualizat (n scopul de a o deosebi de alte adrese)

( ) coninut.
((
)) adresare indirect
(r)
(ri, rj)
(r)l
(r)h
((r))
(mem)
adrl
adrh
data
data8
data16
disp8
disp16
port

registru
coninut
coninutul unei locatii de memorie a carei adres se afl ntr-un registru.
coninutul unui registru oarecare
coninutul a dou registre concatenate
coninutul jumtii inferioare (mai puin semnificativ) a unui registru
coninutul jumtii superioare (mai semnificativ) a unui registru
coninutul unei locaii de memorie a crei adres se afl ntr-un registru
(adresare indirect)
coninutul unei locaii de memorie oarecare
jumtatea inferioar a unei adrese (low)
jumtatea superioar a unei adrese (high)
un operand oarecare
un operand de 8 bii
un operand de 16 bii
un deplasament pe 8 bii
un deplasament pe 16 bii
un port de intrare/ieire oarecare

2. terminali
entiti informaionale precizate
litere mari
R1, R2, A, AX, BP, A6, Dn, An
nume de registre
(R1)
coninutul registrului R1
(R1, R2)
coninutul perechii de registre R1 i R2
((R1))
coninutul locaiei de memorie a crei adres
se afl n registrul R1
MEM, MEM1
nume de locaii de memorie
ADR, ADRn
nume de adrese

Curs preluat de la domnul Prof. Dr.Ing. Corneliu Burileanu

3. operatori

4. alte simboluri

Curs preluat de la domnul Prof. Dr.Ing. Corneliu Burileanu

:::1.4 Reprezentarea informaiei n sistemele digitale:::


Modul n care se prezint informaiile n sistemele digitale, n general, i n cele
cu microprocesoare, n special, prezint dou aspecte distincte:
- Reprezentarea n interiorul sistemului, reunind conveniile de scriere a
numerelor binare, de interpretare a codurilor, etc.
- Reprezentarea pentru utilizator, adic modul n care se pot face vizibile i
interpreta informaiile din sistem.
1.4.1 Reprezentarea intern
Relativ la reprezentarea binar posibil n sistemele actuale
microprocesoare, vom utiliza urmtoarele noiuni generale:
- bit (prescurtat b) pentru o cifr binar 0 sau 1;
- nibble (prescurtat n) pentru o niruire de 4 bii;
- byte sau octet (prescurtat B) pentru o niruire de 8 bii;
- cuvnt sau word (prescurtat w) pentru o niruire de 2 octei;
- cuvnt dublu sau double word (prescurtat dw) pentru o niruire de 4 octei;
- prefixele:
k pentru 210 103 ;
M pentru 220 106 ;
G pentru 230 109 ;
T pentru 240 1012 .

cu

a) Reprezentarea programelor
Fiecare instruciune este reprezentat n memorie de un cod binar. Formatul
instruciunilor, adic totalitatea cifrelor binare necesare pentru codificare, are, de
regul, drept cuant de informaie, octetul. Pentru fiecare instruciune exist un numr
prestabilit de octei cu care e codificat (de pild, pentru Intel 8086, este ntre 1 i 6
octei).
Subliniem dou aspecte:
- Exist un compromis ntre numrul de octei pentru codificarea instruciunilor,
ceea ce nseamn, implicit, necesiti sporite pentru cantitatea
b) Reprezentarea numerelor
1) Reprezentarea ntregilor fr semn n "binar natural": este reprezentarea
uzual, "natural" a numerelor binare.

Curs preluat de la Domnul Profesor Corneliu Burileanu

2) Reprezentarea ntregilor cu semn n "binar natural":


Avem urmtoarele convenii suplimentare fa de cazul precedent i anume:
C1. n primul rnd, semnul numrului este reprezentat de msb cu urmtoarea
convenie:
msb = 0 semnific numr pozitiv;
msb = 1 semnific numr negativ.
Observaii:
Pentru un numr fr semn cu 8 bii, plaja numerelor reprezentabile acoper
256 de poziii, ntre 0 i 255, n zecimal.
Pentru un numr cu semn, plaja numerelor reprezentabile acoper tot 256 de
poziii, dar n intervalul -128 +127, presupunnd 0 numr pozitiv.
C2. Dac pentru semn exist o convenie unanim acceptat, n ceea ce privete
mrimea numrului exist mai multe convenii de reprezentare. Cele mai rspndite
convenii de reprezentare sunt: mrime i semn, complement fa de 1 i
complement fa de 2.
Regulile de reprezentare n aceste trei convenii:
Numerele pozitive se reprezint identic.
n "mrime i semn", numerele negative difer de cele pozitive numai prin
bitul de semn.
n "complement fa de 1", mrimea numrului negativ se obine din
reprezentarea precedent prin complementare bit cu bit; convenia pentru bitul de
semn se pstreaz.
n "complement fa de 2", mrimea numrului negativ se obine din
reprezentarea precedent prin adunarea unei cifre binare 1 la lsb.

Convenii de reprezentare:

Extinderea numerelor cu semn reprezentate n complement


fa de 2, de la 8 la 16 bii

n operaiile aritmetice apare deseori necesitatea de a reprezenta un numr dat


cu precizie dubl. Aceasta nseamn c numrul trebuie s rmn neschimbat ca
valoare, dei va fi reprezentat cu un numr dublu de cifre binare. Pentru numerele cu
semn, aceasta se numete extindere a numrului, care depinde de convenia de
reprezentare.

Curs preluat de la Domnul Profesor Corneliu Burileanu

Regulile de "extindere a numerelor cu semn, n complement fa de 2":


Bitul de semn rmne pe poziia cea mai semnificativ.
Partea care reprezint mrimea numrului va ocupa poziiile cele mai puin
semnifica-tive ale numrului extins.
Restul poziiilor din numrul extins se completeaz cu cifre binare identice
cu cea care reprezint semnul (0 pentru numere pozitive i 1 pentru numere negative).
Exemplu: De exemplu, ntr-un sistem de calcul n care se aloc 8 cifre pentru
reprezentarea numerelor, numerele +53 si 53 se exprim astfel:
n reprezentarea prin mrime i semn prima cifr reprezint semnul i este, prin
convenie, 0 pentru numerele pozitive i 1 pentru numerele negative. Celelalte cifre reprezint
mrimea numrului n cod binar natural. Pentru numerele considerate avem:
53 00110101

53 10110101
n reprezentarea prin complementul fa de 1 numerele pozitive se reprezint la fel
ca i n reprezentarea prin mrime i semn, iar cele negative se obin prin schimbarea fiecrei
cifre din reprezentarea prin mrime i semn cu complementul ei, mai puin cifra de semn.
Pentru numerele considerate avem:
53 00110101

53 11001010
n reprezentarea prin complementul fa de 2, numerele pozitive se reprezint la
fel ca i n reprezentarea prin mrime i semn, iar cele negative se obin n dou etape:
1- se formeaz complementul fa de 1;
2- se adun o unitate la poziia cea mai puin semnificativ.
Pentru exemplul considerat avem:
53 00110101

53 11001011
Extinderea numerelor cu semn reprezentate n complement fa de 2, de la 8 la 16 bii:
Numrul cu semn
+53
-53

Reprezentare cu 8 bii
0011 0101
1100 1011

Reprezentare cu 16 bii
0000 0000 0011 0101
1111 1111 1100 1011

3) Reprezentarea ntregilor n "zecimal codificat binar" (ZCB sau BCD


Binary Coded Decimal): se reprezint fiecare cifr zecimal separat, n binar natural,
cu un nibble.
Microprocesoarele folosesc dou tipuri de reprezentri ZCB:
Reprezentarea "ZCB mpachetat" n care fiecare octet din memorie cuprinde cte
dou cifre zecimale, una pe nibble-ul mai puin semnificativ i cealalt pe nibble-ul
superior. Plaja de numere zecimale acoperit de o reprezentare cu 8 bii se micoreaz
de la 256 la 100 de numere: 0 99.
Reprezentarea "ZCB nempachetat" n care fiecare octet cuprinde o singur cifr
zecimal pe nibble-ul mai puin semnificativ. Restul cifrelor binare se completeaz cu
0.
Curs preluat de la Domnul Profesor Corneliu Burileanu

Ex.1: Adunnd 3 cu 4 n cod BCD rezult:


0011+
0100
0111 => 7 rezultat corect
Ex.2: Adunnd 4 cu 7 n cod BCD se obine:
0100+
0111
1011+ -> acest numr nu exist n cod BCD. Pentru a obine codul
0110 rezultatului corect care este 00010001BCD trebuie facut o
10001 corecie adunnd codul cifrei 6.(corespunztor combinaiilor
neutilizate)
rezultat corect
Ex.3: Adunnd numerele 8 cu 9 n cod BCD ar trebui obinut codul 00010111.
1000+
1001
10001 corecia
0110
+
corect
10111

4) Reprezentarea numerelor cu zecimale "cu virgul fix": se folosete


principiul de a aloca un numr fix, prestabilit, de cifre binare pentru a reprezenta
partea ntreag i respectiv partea zecimal a unui numr.
Se poate folosi fie reprezentarea n binar natural fie n ZCB. Pentru partea
ntreag se folosete regula de reprezentare a numerelor ntregi cu semn, iar pentru
partea zecimal regula de reprezentare a ntregilor fr semn. (Apar: "trunchierea" sau
"rotunjirea" numrului).
Modul de reprezentare folosete urmtoarele convenii:
Se rezerv un ir de bii cu care se exprim numrul total de cifre ale numrului
care urmeaz s fie reprezentat.
Se rezerv, apoi, un ir de bii n care se nscrie numrul de zecimale cu care se va
reprezenta numrul.
Urmeaz reprezentarea propriu-zis a numrului niruind reprezentrile pentru
partea ntreag i cea zecimal fr o alt delimitare explicit ntre ele.
Exemplu: 5768,213 = 5*103+7*102+6*101+8*100+2*10-1+1*10-2+3*10-3

5) Reprezentarea numerelor cu zecimale "cu virgul mobil"; reprezentare


normalizat.
Dou entiti informaionale: "mantisa" M i "exponentul" EXP:

Curs preluat de la Domnul Profesor Corneliu Burileanu

c) Reprezentarea datelor alfanumerice


Vom nelege prin "date alfanumerice" sau "caractere" oricare dintre
semnele care pot fi tiprite de la tastatura unui calculator.
"Seturi de caractere" reprezint grupuri minime de simboluri considerate
suficiente pentru a asigura o editare ct mai complet a unui text.
Pentru fiecare caracter se va folosi o reprezentare binar, un cod, cu care
caracterul (dintr-un set prestabilit) este n relaie biunivoc.
Codificarea datelor alfanumerice este necesar pentru a putea imprima i
memora mesaje sau comenzi. n mod obinuit se codific 90 de caractere distincte
care cuprind:
- 52 de simboluri pentru literele mari i mici ale alfabetului;
- 10 simboluri pentru cifrele zecimale;
- 28 de simboluri pentru caractere speciale.
Codificarea a 90 de caractere necesit minimum 7 bii. Datorit faptului c
sistemele de calcul au magistrala de date organizat pe cel puin 8 bii, codificarea
caracterelor alfanumerice se face cu 8 bii, bitul al 8-lea putand fi folosit pentru
verificarea paritii.
Exemplu de cod alfa-numeric frecvent utilizat este codul ASCII (American
Standard Code for Information Interchange), cu care se codific urmtorul set de
caractere:
- 26 de litere mari ale alfabetului latin;
- 26 de litere mici ale alfabetului latin;
- 10 simboluri numerice: 09;
- 20 simboluri speciale adiionale: +, -, *, $, #, (, ), [, ], {, }, etc.
n acest caz se poate realiza o codificare cu 7 bii, deoarece numrul total de
caractere este mai mic dect 128 (82) rezult c se va folosi cte un octet la care msb
(=cel mai semnificativ bit) joac un rol special, acela de bit de paritate, iar convenia
folosit este urmtoarea:
- msb = 0 dac codul are un numr par de cifre binare 1;
- msb = 1 dac codul are un numr impar de cifre binare 1.
De exemplu: A = 01000001;
B = 01000010;
C = 11000011, etc.
Observaie: Bitul de paritate (msb) este stocat ntr-un fanion dedicat (P), folosit pentru o
verificare simpl a corectitudinii transmisiei datelor pe magistrale sau n conversaia cu
perifericele.

Fanionul un bit de informaie n interiorul microprocesorului care i indic


evenimente speciale aprute n funcionarea microprocesoarelor.

Curs preluat de la Domnul Profesor Corneliu Burileanu

1.4.2 Reprezentarea extern


Reprezentarea extern se refer la modul n care informaia prelucrat de un
microcalculator apare utilizatorului (programatorului).
a) Pentru codurile instruciunilor se vor folosi abrevierile sugestive pe
care, de regul, fabricantul le impune i pe care limbajul de asamblare le folosete ca
atare: "mnemonice".
b) Pentru numere se utilizeaz mai multe tipuri de reprezentri:
Reprezentarea binar imagine fidel a coninutului locaiilor de stocare a
informaiilor.
Reprezentarea octal care transform numerele binare n baza de numeraie 8;
pentru trei simboluri binare corespunde o cifr n octal.
Reprezentarea hexazecimal un simbol reprezentnd o cifr n baza de
numeraie 16 nlocuiete 4 cifre binare. Caracterele folosite sunt cifrele zecimale 0 9
i literele A F. Vom folosi convenia de a utiliza litera H ca sufix pentru numerele
reprezentate n hexazecimal (de pild 1199H).

Exemple de sisteme de numeraie:


Numerele pot fi reprezentate n diferite moduri n funcie de sistemul de numeraie
utilizat. Dintre sistemele de numeraie folosite o mai larg rspndire o au sistemele zecimal,
binar, octal i hexazecimal. Toate aceste sisteme de numeraie sunt sisteme poziionale
caracterizate prin faptul c ponderea fiecrei cifre din reprezentarea unui numr depinde de
poziia acesteia n reprezentare.
n sistemele numerice pentru reprezentarea numerelor i a simbolurilor se utilizeaz
succesiuni de cifre binare de 0 i 1. Corespondena dintre elementele mulimii simbolurilor i
elementele mulimii succesiunilor de 0 i 1 definete un cod.
n general, ntr-un sistem de numeraie cu o baz pozitiv ntreag b, un numr
oarecare N se exprim n felul urmtor:
N b a n a n1 a1 a0
(1.1)
iar valoarea lui poate fi determinat cu formula:
(1.2)
N a n .b n a n1 .b n1 a1b a0
(a) Sistemul de numeraie zecimal (b=10) este sistemul cel mai frecvent folosit n
elementele care realizeaz interaciunea dintre om i sistem (introducerea datelor, afiarea
rezultatelor). La reprezentarea numerelor se utilizeaz zece cifre.
(b) Sistemul de numeraie binar (b=2) este sistemul utilizat pentru reprezentarea
intern a numerelor n sistemele de calcul. La reprezentarea numerelor n sistem binar se
folosesc doar dou cifre: 0 i 1.
Exemplu: N 2 1101 N 1 23 1 2 2 1 13
(c) Sistemul octal de numeraie (b=8) este utilizat la introducerea i extragerea
datelor numerice n sisteme mici de calcul pentru simplificarea dispozitivelor de conversie.
La reprezentare se folosesc 8 cifre.
N 8 3618
Ex:
N 3 8 2 6 8 1 192 48 1 24110

Curs preluat de la Domnul Profesor Corneliu Burileanu

3618 0111100012
Conversia invers, din sistem binar n sistemul octal, se face nlocuind fiecare grup de
3 cifre alturate, ncepnd cu cifra cea mai puin semnificativ, cu cifra octal
corespunztoare.
Ex:
110010112 3138
(d) Sistemul hexazecimal de numeraie este asemntor cu sistemul octal i are
aceeasi destinaie, cu precizarea c este preferat, de cele mai multe ori, deoarece conduce la o
reprezentare foarte compact a numerelor ceea ce constituie un avantaj real atunci cnd
volumul datelor de introdus este mare.
Conversia din cod hexazecimal n cod binar i invers se face dup aceleai principii ca
i pentru codul octal.
Sistemul utilizeaz cele zece cifre din sistemul zecimal urmate de primele ase litere
mari din alfabet (cifrele zecimale 0 9 i literele A F).
Ex:

C0DE16 12*163+0*162+13*161+14*160=4937410
C0DE16 1100 0000 1101 11102
C0DE16 1403368

c) Pentru caractere se vor folosi chiar simbolurile cu care ele sunt individualizate.
Programele utilitare folosite pentru examinarea coninutului locaiilor de stocare a
informaiilor fac conversia ASCII simbol caracter dac programatorul stabilete
c semnificaia informaiei vizate impune aceast conversie.
Concluzie: Reprezentarea extern depinde n mod esenial de semnificaia pe care
utilizatorul o confer coninutului locaiilor de stocare a informaiei. Utilitarele
folosite vor interpreta irurile de cifre binare ca: numere, coduri corespunznd unor
mnemonice sau coduri corespunznd unor date alfanumerice, dup cum decide
programatorul.

Curs preluat de la Domnul Profesor Corneliu Burileanu

1.5 Circuite folosite n sistemele digitale pentru reprezentarea informaiilor


n sistemele digitale circuitele folosite se mpart n circuite logice combinaionale (CLC) i
circuite logice secveniale (CLS).
CLC sunt circuite la care mrimile de ieire la un moment dat depind de mrimile de intrare. Ele
mai sunt denumite i circuite fr memorie.
CLS sunt circuite la care starea ieirilor depinde att de starea intrrilor, ct i de stri anterioare
ale circuitului. Sunt denumite circuite logice cu memorie.
Att CLC, ct i CLS se numesc logice pentru c mrimile de intrare i de ieire pot avea doar
dou valori notate cu 0 i 1 n mod curent.
A. CIRCUITE LOGICE COMBINAIONALE (CLC)
n figura 1 este dat schema bloc a unui circuit logic combinaional cu n intrri i m ieiri.

u1

y1

u2

y2
C.L.C

un

ym

Figura 1

Pentru acest circuit se poate scrie setul de funcii:


y1 f 1 (u1 , u 2 , , u n )

y 2 f 2 (u1 , u 2 , , u n )

y m f m (u1 , u 2 , , u n )
unde f 1 , f 2 , , f m sunt funcii logice.
Din categoria CLC fac parte:
1. Porile logice - sunt circuite care efectueaz operaii logice asupra mrimilor de intrare. Cele mai
simple pori logice sunt cele care efectueaz operaiile: I, SAU, SAU-EXCLUSIV, NEGARE, etc.
Cu ajutorul porilor logice pot fi sintetizate circuite cu funcii logice complexe.
2. Decodificatorul este un circuit logic combinational, integrat pe scar medie, obinut printr-o
extensie (conexiune) de tip paralel a unor pori logice i are n intrri de adresare i 2 n iesiri. Din punct
de vedere funcional decodificatorul activeaz una din cele 2 n ieiri ale sale, funcie de codul aplicat la
cele n intrri.
Decodificatorul se utilizeaz n numeroase aplicaii, ca de exemplu adresarea memoriilor,
selectarea (validarea) unor circuite sau a unor periferice, afiarea datelor etc.
Circuitele decodificatoare sunt foarte utile la implementarea sistemelor de funcii.

0
1

a
b

2
3
4

20

5
6

P0
P1

P2

P3
P4

P5
P6
P7

INTRARI
a b c
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

P0
0
1
1
1
1
1
1
1

IESIRI
P1
P2
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1

P3
1
1
1
0
1
1
1
1

P4
1
1
1
1
0
1
1
1

P5
1
1
1
1
1
0
1
1

P6
1
1
1
1
1
1
0
1

P7
1
1
1
1
1
1
1
0

Figura 2
Din punct de vedere constructiv se produc mai multe tipuri de circuite decodificatoare dintre care
amintim decoficatorul zecimal cu 4 intrri i 10 ieiri, decodificatorul binar dublu cu patru ieiri i dou
intrri de adresare comune, decodificatorul binar cu 16 ieiri, decodificator pentru comanda
dispozitivelor de afisaj cu 7 segmente. n figura 2 este dat schema bloc i tabelul de funcionare ale
decodificatorului binar cu 3 intrri i 8 ieiri.
3. Codificatorul realizeaz funcia invers decodificatorului. Un codificator are cel mult 2n intrri,
fiecare intrare corespunznd unui anumit numr de ordine, i n ieiri. La aplicarea unui semnal logic pe o
intrare se obine la ieire un cuvnt de n bii, care reprezint codul intrrii activate. n mod normal, la un
moment dat trebuie s fie activ o singur intrare.
4. Multiplexorul este un circuit logic combinaional, integrat pe scar medie, obinut printr-o
conexiune (extensie) de tip serie a unor pori logice ce constituie elementul tipic de circuit logic
combinaional. Din punct de vedere funcional multiplexorul este un selector ce conecteaz la ieire
intrarea adresat. Circuitul are n general 2 n intrri de date i n intrri de adres. Valoarea ieirii este
determinat de valoarea intrrii selectate prin adres.
E
E

D0
D1
D2
D3

D4

D5
D6

D 7 2 0 212 2
E
a b c

Figura 3

n figura de mai sus este dat schema bloc (figura 3) i tabelul de funcionare ale multiplexorului
(tabelul 2) cu 8 intrri de date, 3 intrri de adresare, o intrare de validare a funcionrii (activ pe 0) i
dou ieiri complementare W i W .
Tabelul 2
INTRARI
IESIRI
c
b
a
W
D0 D1 D2 D3 D4 D5 D6 D7
E
W
0
0
0
0
*
*
*
*
*
*
*
D0
D0
D0
0

D1
*

D1

D1

D2

D2

D2
*

D3

D3

D3

D4

D4

D4
*

D5

D5

D5

D6

D6

D6

D7

D7

D7
1

5. Demultiplexorul
Din punct de vedere funcional demultiplexorul asigur transmiterea semnalului aplicat la intrarea
sa prin una din cele 2 n ieiri, ieire selectat prin codul aplicat la cele n intrri de adresare.
Sau altfel spus:
Realizeaz funcia logic invers fa de multiplexor: pe baza unui cod de n bii, se selecteaz
una din cele 2 n ieiri pe care se transmite unica intrare de date.
Considerm un demultiplexor cu 2 intrri de selecie i 4 ieiri. Tabelul de adevr al acestui
demultiplexor este prezentat n tabelul urmtor:
Tabelul de adevr al unui demultiplexor 1:4.
S1S0
Z0Z1Z2Z3
0 0
D 0 0 0
0 1
0 D 0 0
1 0
0 0 D 0
1 1
0 0 0 D
Multiplexorul i demultiplexorul pot fi utilizate pentru transmiterea mai multor semnale pe o
singur linie.
6. Memorii fixe ROM
Memoriile fixe ROM sunt circuite integrate pe scar larg avnd schema bloc din figura 4 i fiind
organizate sub forma unor cuvinte (n cazul nostru 2 n ) de lungime dat (pentru figura 4 lungimea dat
este m biti).

CS

1
2

D
E
C.

A
D
R.

MATRICE
MEMORIE

CU 2 LINII
(CUVINTE) SI
n COLOANE

2n
1 2

Figura 4

Memoria fix are n intrri de adresare, o intrare (sau mai multe) de validare ( CS ) i m ieiri
de date. Fiecare cuvnt al memoriei este selectat printr-o combinaie unic de valori ale variabilelor de
adresare.
Cu o memorie fix poate fi implementat un sistem de funcii logice caz n care variabilele se
aplic la intrrile de adresare ale memoriei, iar valoarea funciilor logice este obinut la ieirile memoriei.
De menionat c fiecare funcie logic este dat de un bit de la ieire.
Din punct de vedere logic o memorie cu capacitatea de 2 n cifre binare este un selector cu n
intrri de adresare i 2 n intrri de date reprezentate de celulele memoriei (figura 5). O astfel de structur
realizeaz o funcie logic de variabilele de adresare, funcie ale crei valori sunt specificate de intrrile
de date ale multiplexorului care, n cazul de fa, sunt impuse de coninutul celulelor de memorie.

CELULELE
MEMORIEI

D0
D1
MUX.

D2 n

1 2

Figura 5

Observaie: La implementarea funciilor logice cu memorii fixe nu are importan complexitatea funciei.
Structura memoriei ce trebuie folosit este dat de numarul de variabile i numrul de funcii. Rezult
deci c implementarea cu memorii fixe este recomandabil atunci cnd funciile sunt complicate.
Problema care se pune la implementarea unui sistem de funcii cu o memorie fix este aceea de a
folosi o memorie ct mai mic. Se cere deci s se reduc pe ct posibil numrul variabilelor i numrul
funciilor.
Reducerea numrului variabilelor de intrare este deosebit de important deoarece capacitatea
memoriei ce trebuie utilizat se dubleaz pentru fiecare variabil de intrare. O metod posibil de
reducere a numrului de variabile const n codificarea acestora. De exemplu 16 variabile independente
ce nu se pot modifica simultan pot fi codificate cu patru variabile binare.
n mod similar numrul funciilor implementate cu o memorie fix poate fi redus dac se folosete
un decodificator extern care s decodifice funciile cerute din ieirile memoriei.

7. Structuri logice programabile


Structurile logice programabile sunt circuite logice combinaionale capabile s implementeze
funcii logice exprimate n form normal disjunctiv. Structurile programabile conin dou matrici: o
matrice de pori SI care decodific adresa i o matrice de pori SAU care genereaz funciile logice (un
SAU logic ntre adresele pentru care funcia ia valoarea logic 1).
Structurile logice programabile se clasific n:
a) structuri PLA atunci cand sunt programate la fabricatie prin procedee de mascare;
b) structuri FPLA in cazul in care pot fi programate de catre utilizator.
Structurile logice programabile rezolv problema codificrii variabilelor de intrare, care a fost
ridicat n cazul implementrii funciilor logice cu memorii fixe, facilitnd astfel implementarea unor
funcii logice de un numr foarte mare de variabile. Astfel, spre deosebire de memorii unde se decodific
toate adresele posibile, n cazul structurilor programabile sunt decodificate numai adresele utilizate
(produsele logice pentru care funcia ia valoarea logic 1). Adresele utilizate sunt specificate n
formularul de programare.
Aplicaii ale circuitelor logice combinaionale: Sumatorul
Definiie: Sumatorul se definete ca fiind circuitul logic combinaional care asigur, direct sau
indirect, efectuarea nsumrii a dou numere binare innd cont de un eventual transport iniial. n figura 6
este prezentat modul de reprezentare a unui sumator pe n bii care ine cont de un eventual transport
iniial Ti i genereaz, dac este cazul, un transport final T f .

a n 1 bn 1

a1 b1 a 0 b0

Tf

Ti

SUMATOR

S1 S 0

S n 1
Figura 6

Definiie: Circuitul logic combinaional care asigur, direct sau indirect, nsumarea a dou numere
binare cu cte un bit fr a lua n considerare transportul de la bitul cu ponderea imediat inferioar este
denumit semisumator.
CONCLUZII: Circuitele combinaionale implementeaz funciile eseniale ale unui calculator numeric.
Aceste circuite se caracterizeaz prin faptul c starea ieirilor depinde numai de starea intrrilor, i nu
depinde de timp. Deci, cu excepia memoriilor fixe ROM, circuitele combinaionale nu furnizeaz
informaii de memorie sau de stare, care sunt de asemenea elemente eseniale pentru funcionarea unui
calculator numeric. n acest scop se utilizeaz circuitele secveniale.
A. CIRCUITE LOGICE SECVENIALE
Un circuit secvenial are memorie, adic ieirile curente ale circuitului nu depind numai de
intrrile curente, ci i de intrrile anterioare.
Un alt mod de caracterizare al unui circuit secvenial este c ieirile curente ale circuitului depind
de intrrile curente i de starea curent a circuitului.

Circuitul secvenial se compune dintr-un circuit combinaional, o parte a ieirilor acestuia fiind
conectate la intrrile circuitului prin intermediul unor elemente de memorie (elemente de ntrziere).
Semnalele aplicate pe cele n intrri formeaz mulimea X = {x1, x2, , xn} a variabilelor de intrare,
numite i variabile de intrare principale. Mulimea format din 2n intrri distincte se numete alfabet de
intrare I, I={i1, i2,..., i2n }. De exemplu, pentru dou variabile de intrare alfabetul de intrare este I = {00,
01, 10, 11}. O combinaie a intrrilor se numete simbol al alfabetului.
Semnalele de ieire formeaz mulimea Z = { z1, z2, , zm} a variabilelor de ieire, numite i
variabile de ieire principale. Mulimea format din 2m ieiri distincte se numete alfabet de ieire O, O={
O1, O2,..., O2m}.
Pentru a se descrie comportarea unui circuit secvenial, trebuie s se indice corespondena dintre
starea prezent pentru un anumit cuvnt de intrare i starea urmtoare.
Deoarece alfabetul de intrare i cel de ieire sunt mulimi finite, formate din cel mult 2 n, respectiv
2m simboluri, iar numrul de stri interne este finit, circuitul secvenial se numete cu stri finite, sau
main cu stri finite, sau main de stare. Aceste circuite se numesc circuite secveniale de tip Mealy,
iar modelul lor matematic se numete automat finit de tip Mealy.
Exist circuite secveniale la care ieirile nu depind de intrrile principale, ci numai de cele
secundare, adic de starea prezent. Aceste circuite se numesc circuite secveniale de tip Moore, iar
modelul lor matematic se numete automat finit de tip Moore.
n cazul circuitelor combinaionale reale, ieirile nu se modific simultan cu intrrile, ci dup o
anumit ntrziere numit timp de propagare (tp). Vectorul de ieire va fi corect numai dup acest timp de
propagare. n intervalul de timp (0, ..., tp) pot apare mai muli vectori de ieire, diferii de cel corect. Acest
fenomen se numete hazard combinaional. Hazardul se poate elimina prin adugarea unei memorii la
ieirea circuitului combinaional, care preia datele numai la momente discrete de timp, mai mari dect tp: t
= kT (unde k = 1, 2, 3, ). Aceasta se realizeaz prin comanda memoriei cu impulsuri de la un generator
de tact, cu perioada T. Circuitele secveniale la care starea urmtoare devine stare prezent numai n
momente determinate prin impulsuri de tact se numesc circuite secveniale sincrone.
Din categoria CLS fac parte:
1. Circuite basculante bistabile (CBB)
Cele mai simple circuite secveniale sunt circuitele basculante bistabile. Exist diferite tipuri de
asemenea circuite, fiecare din acestea avnd dou proprieti importante:
Un circuit basculant bistabil are numai dou stri stabile. Strile stabile sunt strile n care
circuitul poate rmne un timp nedefinit dac nu se modific intrrile. Astfel, un bistabil poate funciona
ca o memorie de 1 bit.
Un bistabil are dou ieiri, care sunt ntotdeauna complementare una fa de cealalt. Acestea se
noteaz de obicei prin Q i .
2. Bistabilul D sincron
Este un bistabil cu o singur intrare de date, notat cu D, i o intrare de tact. Starea urmtoare a
bistabilului este aceeai cu cea a intrrii D, indiferent de starea prezent. Deci, valoarea logic aplicat la
intrare se transfer la ieire doar la aplicarea semnalului de tact, adic cu o ntrziere de o perioad de
tact. De aceea, bistabilul D se mai numete circuit elementar de ntrziere (D Delay).
Pe durata impulsului de tact, ieirea bistabilului este egal cu intrarea (deci, ieirea urmrete
intrarea). La trecerea semnalului de tact n 0 logic, se menine starea existent n acel moment. De
aceea, acesta este un circuit latch.

Tabelul caracteristic al bistabilului D


D
0
0
0
0
1
0
1
0
1
1
1
1
Exist i bistabile D care comut pe frontul pozitiv sau negativ al semnalului de tact.
3. Bistabilul asincron RS (latch-ul)
Circuitul basculant bistabil RS nesincronizat (sau asincron) constituie cel mai simplu element de
memorare. Bistabilul RS asincron, se obine prin interconectarea a dou pori I-NU n aa fel ca ieirile
uneia s fie conectate la intrarea celeilalte.
Cele dou intrri ale circuitului, R i S , sunt active cnd la ele se aplic semnalul 0 logic. Prin
convenie se consider c circuitul basculant bistabil este n starea 1 logic cnd la ieirea Q avem nivel
logic 1. Dac Q=1 atunci la ieirea complementar Q vom avea nivel logic 0.
nscrierea unui semnal 1 logic n circuitul basculant bistabil (aducerea bistabilului n starea 1) se
face prin aplicarea unui semnal 0 logic la intrarea de nscriere S (set). tergerea bistabilului, adic
aducerea lui n starea 0, se face prin aplicarea unui semnal 0 logic la intrarea de tergere R (reset).
n funcionarea normal nu se permite aplicarea simultan a semnalului logic 1 pe dou intrri R
i deoarece conduce la prezena semnalului logic 0 pe dou ieiri, situaie care este in contradicie cu
situaia dat anterior privind caracterul complementar al ieirii unui bistabil.
Tabelul caracteristic al bistabilului asincron RS
S
R
0
0
0
1
0
1
0
1
1
1 interzis
n tabelul de mai sus s-a notat cu Qn starea prezent i cu Qn+1 starea dup o ntrziere, ntrziere
egal cu timpul necesar pentru propagarea semnalului de la intrare la ieire.
Din analiza funcionrii circuitului basculant bistabil RS asincron rezult c, dei prin intrrile R i
S poate fi controlat modul su de functionare, momentul funcionrii, adic momentul la care au loc
tranziiile de stare, nu poate fi controlat, ceea ce reprezint un inconvenient destul de mare pentru
majoritatea sistemelor discrete de conducere ce utilizeaz circuite basculante bistabile RS asincrone.
4. Memoria RAM
Structura logic a unei memorii RAM (random access memory), memorie cu acces aleator, se
obine dac celor dou nivele ale circuitului bistabil adresabil, nivelul de decodificare i nivelul de
memorare, li se adaug un al treilea nivel i anume, nivelul de multiplexare (figura 7). Schema din figura
8 pune n eviden modul de funcionare al unui circuit de memorie avnd capacitatea de 2 n bii.
Schemele logice concrete ale acestor circuite conin o serie de optimizri ale nivelului de decodificare i a
celui de multiplexare.

DECODIFICATOR E

WE
1

ADRES

CELULE DE
2n
MEMORARE

2n
DINP

MULTIPLEXOR E
DOUT
Figura 7

Modul de funcionare al circuitului de memorie avnd schema din figura 8 este urmtorul:
decodificatorul selecteaz celula de memorie n care se va nscrie informaia binar aplicat la intrarea
DINP, iar multiplexorul permite selectarea oricrui bistabil la ieirea DOUT. Circuitele decodificator i
multiplexor sunt adresate cu acelai cod binar denumit adresa locaiei de memorie.
n afara intrrilor de adresare, intrare date DINP i ieire date DOUT, un circuit de memorie RAM
mai are n mod uzual nc dou intrri i anume:
- WE (write enable) a crui valoare condiioneaz ciclul de scriere sau citire n/din memorie;
- CS care permite selectarea circuitului de memorie.
Observaie: Circuitul basculant bistabil adresabil i memoria RAM reprezint extensii de tip paralel ale
circuitului basculant bistabil RS.
5. Registre
Registrele sunt circuite secveniale destinate memorrii temporare sau deplasrii informaiei
binare, de obicei cu lungimea unui cuvnt. Un registru este format din elemente de memorie binar, n
particular din bistabili, crora li se ataeaz circuite logice care permit efectuarea unor operaii asupra
informaiei, cum ar fi: ncrcarea, deplasarea, citirea, nscrierea. Fiecare bistabil memoreaz un bit al
cuvntului, deci capacitatea registrului este egal cu numrul de bistabili din care este format. Tipul
bistabililor din registru determin, prin modul de comutare a acestora, felul n care informaia este nscris
n registru.
Exist diferite tipuri de registre: registre de memorare (de tip paralel, adic toi biii odat se
memoreaz), registre de deplasare (de tip serie, adic bit cu bit se face deplasarea), registre combinate (de
memorare i deplasare, de tip serie-paralel), i registre universale.
5.1. Registre de memorare
Se utilizeaz pentru pstrarea informaiei care trebuie transferat ctre o anumit destinaie.
Funcioneaz ca un tampon de ieire. Un exemplu ar fi un registru de 4 bii, format din 4 bistabili de tip
D, comandai de acelai semnal de tact.
La tranziia din 0 n 1 a semnalului de tact, informaia de pe intrrile D0, D1, D2, D3 este citit
n registru, iar dup un timp de propagare ea apare la ieirile Q ale bistabililor. Pe durata palierului
impulsului de tact, ieirile urmresc modificarea semnalelor de pe intrri. La tranziia din 1 n 0 a
semnalului de tact, ultima informaie prezent la intrrile bistabililor este reinut n registru.

Semnalul de tact are rolul de a valida informaia prezent la intrrile bistabililor. Datele sunt
ncrcate n registru n paralel, la acelai impuls de tact.
Dac registrul este realizat cu bistabili D care comut pe frontul anterior al impulsului de tact, se
memoreaz informaia existent n momentul tranziiei din 0 n 1 a semnalului de tact.
Funcia principal a unui registru paralel de stocare ntr-un sistem numeric de prelucrare a
informaiilor const n stocarea temporar a unor informaii binare care devin astfel mai uor accesibile.
Registrul constituie astfel memoria zonelor de vitez maxim n sistemele numerice de prelucrare a
informaiilor.
5.2. Registre de deplasare
Aceste registre i deplaseaz coninutul cu o poziie la dreapta sau la stnga, la fiecare impuls de
tact.
5.3. Registre serie-paralel (combinate)
Existnd multe situaii n care, la nivelul sistemelor de conducere, s-a impus modificarea modului
de transfer a datelor de la transferul serie la transferul paralel sau invers. Aceasta este cauza care a condus
la apariia unui nou tip de registru, aa numitul registru serie-paralel.
Registrele anterioare permiteau fie numai accesul paralel (registrul de memorare), fie numai
accesul serie (registrul de deplasare) la date, att la intrare, ct i la ieire. De multe ori este util s existe
att accesul serie, ct i accesul paralel la date. Un asemenea registru poate realiza att funcia de
memorare, ct i cea de deplasare, fiind numit registru combinat.
Bistabilele de tip D din componena unui astfel de registru trebuie s poat primi date de la:
a) bistabilele de tip D anterioare, n cazul transferului serie;
b) din exteriorul registrului, n caz de transfer paralel.
Pentru aceasta registrul serie-paralel trebuie s conin o zon combinaional care s selecteze
sursa de date pentru bistabilele interne n funcie de valoarea unui semnal de comand ce selecteaz
modul de lucru al registrului.
Deoarece informaia poate fi introdus n modul paralel i extras n modul serie, sau introdus n
modul serie i extras n modul paralel, aceste registre permit conversia paralel-serie, respectiv serieparalel a datelor. Altfel spus, registrele serie i paralel sunt utilizabile doar n sistemele de conducere n
care transferul datelor este de tip serie, respectiv paralel.
5.4. Registre universale
Permit operaii de deplasare la stnga i la dreapta, ncrcare paralel, citire serial sau paralel a
datelor.

II.Structura unui nucleu de P pe 8 bii de uz general


(P CISC)
Termenul de P8UG implic un C structurat ca o main von Neumann cu cele trei
componente eseniale:
- Unitatea central de procesare (UCP);
- Memoria (MEM);
- Dispozitivele de intrare/ieire (DI/O).
Toate aceste componente comunic printr-o magistral unic n care am definit trei pri
funcionale (date, adrese i control). Structura P8UG decurge logic din structura C n care a
fost definit, iar arhitectura sa are drept suport funciile ndeplinite de blocurile sale.
Exist dou tipuri de arhitecturi pentru microprocesoare i microcontrolere: arhitectura
von Neumann i arhitectura Harvard.
Conform arhitecturii von Neumann, memoria de date i cea de program folosesc
aceeai magistral, deci orice locaie de memorie trebuie s fie definit de o adres unic. Dei
ofer un model mai simplu de neles i posibiliti interesante, arhitectura von Neumann are o
eficien mai sczut. Un PC utiliznd procesoare din familia x86 este un exemplu tipic de
sistem cu arhitectur von Neumann, la care locaiile I/O sunt accesate prin instruciuni de tip IN
i OUT. Dintre microcontrolere, Motorola HC05 este un exemplu de arhitectur von Neumann
pe 8 bii.

Conform arhitecturii Harvard, memoria de date i cea de program sunt accesate prin
magistrale separate, ceea ce permite unitii centrale s opereze cu ambele memorii simultan,
sporind eficiena prelucrrii.

Arhitectura von Neumann este una din arhitecturile posibile (cuprinznd conceptele
constructive de baz) ale calculatoarelor numerice, arhitectur care are n centrul ei o unitate
central de procesare (UCP) i o unitate separat de memorare (n care se stocheaz att date ct
i instruciuni). Dateaz la origin din anii 1940.

Curs preluat de la Domnul Profesor Corneliu Burileanu

Numele provine de la John von Neumann, un renumit matematician i pionier al


informaticii american de origine austro-ungar evreu, primul care a stabilit cerinele pentru un
calculator electronic de uz general (general purpose). Arhitectura s-a nrdcinat, iar majoritatea
calculatoarele construite pn acum au avut i au aceast arhitectur.
Principalul obiectiv al lui von Neumann a fost s construiasc un sistem de calcul de uz
general n care datele de prelucrat i rezultatele calculelor intermediare s fie stocate alturi de
instruciuni ntr-o memorie comun suficient de mare. Conform acestei arhitecturi, ntr-un sistem
de calcul general chiar i instruciunile nsele trebuie s poat fi modificate la fel de uor ca i
numerele (operanzii) cu care lucreaz i pe care le modific ele. Astfel, instruciunile sunt
codificate numeric i stocate n aceeai memorie ca i datele. Pentru accesul la instruciunile
codificate se definete un subsistem de prelucrare a informaiei care ncarc instruciunile din
memorie pentru a fi executate, acolo unde este nevoie realizndu-se diferenierea ntre numr
(operand) i instruciune, dei nu exist diferene formale ntre ele.
Este necesar i un contor program (contor de instruciuni) care conine permanent adresa
instruciunii urmtoare, ce va fi i ea ncrcat din memorie i apoi i executat (dup execuia
instruciunii actuale). Arhitectura permite ca instruciunile s poat prelucra i modifica nu
numai date, dar chiar i alte instruciuni, sau altfel spus, la nevoie programul se poate
automodifica, cptnd astfel un caracter dinamic.
Aceast arhitectur descrie un calculator cu patru module importante: unitatea
aritmetic-logic (UAL), unitatea de control (UC), memoria central i dispozitivele de
intrare/ieire (prescurtat I/O). Acestea sunt interconectate cu un mnunchi de fire
numit magistral (bus) pe care circul datele de calcul i datele de program (instruciuni) i sunt
conduse n tactul unui ceas (ir permanent de impulsuri regulate).
UAL este, din multe puncte de vedere, inima calculatorului. Aceasta este capabil s
efectueze mai multe tipuri de operaii, de exemplu operaii aritmetice (adunare, nmulire .a.),
operaii de comparaie, operaii de manevrare a datelor (duplicare, mutare, trunchiere .a.),
precum i operaii care influeneaz ordinea i fluxul instruciunilor.
UC este un modul central care comand i leag toate celelalte module ntre ele. Rolul ei
este s culeag (citeasc) instruciunile i datele din memorie sau de la dispozitivele de
intrare/ieire, s decodeze instruciunile, s ofere UAL (unitii aritmetico-logice) date de intrare
corecte conform cu instruciunea, s comande UAL ce anume operaie s efectueze asupra
intrrilor, precum i s trimit (scoat afar) rezultatele, adic s scrie n memorie sau ctre
dispozitivele de ieire. O component cheie a unitii de control este un contor (numrtorul) de
instruciuni. El conine la orice moment adresa instruciunii curente din secvena de program n
execuie, i numr instruciunile, fiind astfel n permanent schimbare. Fizic, ncepnd din anii
1980, UAL i unitatea de control se plaseaz unitar n acelai circuit integrat numit unitate
central de procesare (UCP) sau microprocesor sau chiar i procesor.
Sistemele de calcul rapide pot avea nglobate mai multe procesoare. Fiecare procesor
(UCP) include o unitate de control, precum i unul sau mai multe nuclee de proces logicaritmetic, fiecare dispunnd de o UAL proprie.
Conceptual, memoria unui calculator poate fi vzut ca un ir de celule numerotate.
Fiecare celul primete drept adres un numr unic propriu, asemntor cu numerele caselor de
pe o strad. Celulele pot nmagazina o cantitate mic, prestabilit de informaie. Informaia poate
fi interpretat i ca instruciune, i ca date propriu-zise. Instruciunile prescriu calculatorului ce
s fac, iar datele sunt acele informaii care trebuie prelucrate conform cu instruciunile. n
principiu orice celul poate stoca (memora) att instruciuni ct i date. Important este
Curs preluat de la Domnul Profesor Corneliu Burileanu

posibilitatea ca una sau mai multe instruciuni, deja stocate n memorie, s fie privite de ctre alte
instruciuni drept date de prelucrat/modificat dinamic (n mers), dup necesitate.
Sistemele de I/O sunt dispozitive prin care calculatorul preia informaii din lumea
exterioar i raporteaz napoi rezultatele. ntr-un calculator personal obinuit dispozitive de
intrare sunt, de exemplu: tastatura i mouse-ul, iar dispozitive de ieire sunt monitorul
i imprimanta. Exist i dispozitive de I/O combinate, att pentru intrare ct i pentru ieire, de
exemplu: modemul, placa de reea.
CONCLUZIE: Deci, putem enumera principiile VON NEUMANN:
1. microprocesorul este unitatea centrala de prelucrare (cu 2 funcii)
2. avem magistrala de date (pe care circul informaii)
3. ntreaga funcie a sistemului se bazeaz pe existena unui program memorat alctuit dintr-o
secven de instruciuni
indiferent de instruciuni P parcurge trei etape fundamentale:
1.indentific i adreseaz n memorie codul unei instruciuni
2.decodific acest cod (recunoate semantica acestei instruciuni)
3.execut instruciunea.
Avnd n vedere aceast desfurare a etapelor de funcionare vom analiza
structura unui P standard prin pai succesivi de detaliere i anume:
2.1 Pasul I de detaliere: Registrul de date i registrul de adrese (RD&RA);
2.2 Pasul II de detaliere: Registrele generale;
2.3 Pasul III de detaliere: Unitatea aritmetic de procesare (UAP);
2.4 Pasul IV de detaliere: Unitatea de control a adresrii memoriei (UCAM);
2.5 Pasul V de detaliere: Unitatea de control a microprocesorului (UCP).

Curs preluat de la Domnul Profesor Corneliu Burileanu

:::2.1 Pasul I de detaliere: registrul de date si de adrese:::..


1*

2*

1* RD -registru de date
-nu e atribut de arhitectura
-bidirectional
-dimensiune data de magistrala de datea P
-oricare informatie pe care P o trimite spre restul microcalculatorului este inscrisa in
RD.
-oricare informatie pe care o aducem in informatie pe care o aducem in P o inscriem in
RD
-RD asigura sincronizarea activitatii pe magistrala de date a microcalculatorului

2* RA -registrul de adrese
-foloseste pentru adresarea memoriei si a porturilor
-in el se scrie adresa fizica a unei locatii de memorie si sau a unui port
-unidirectional
-nu e atribut de arhitectura
-dimensiune data de dimensiunea adresei fizice care la randul ei e data de
dimensiunea hartii memoriei

Curs preluat de la Domnul Profesor Corneliu Burileanu

:::2.2 Pasul II de detaliere: registrele generale:::


registre generale
-stocare temporara a informatiilor in interiorul P
-stocheaza mai ales operanzi si/sau rezultate
-sunt attribute de arhitectura
-fac parte din structura interna a microprocesorului, fiind cea mai rapida entitate
de stocare a informatiei
-dimensiunea si nr de locatii sunt criterii de performanta (dimensiunea data de
dimensunea operanzilor de obicei

1*

2*

1* magistrala interna de date a microprocesorului


-este continuarea magistralei externe in interiorul P
-dimensiunea (criteriu de performanta) nu este neaparat egala cu dimensiunea
magistralei externe
2* circuit care permite accesul la registru.

Curs preluat de la Domnul Profesor Corneliu Burileanu

::2.3 Pasul III de detaliere: unitatea aritmetica de procesare::..

1*
2*
4*
3*

5*
6*

1* -registru dedicate
-functii prestabilite
-stocheaza un operand pentru process si dupa operatie rezultatul
-atribut arhitectura
-dimensiunea este egala cu dimensiunea registrelor generale
2* exista anumite portiuni care nu fac parte din magistrala interna de date.

3* circuit combinational cu un set de functii aritmetico-logice


-dimensiunea este egala cu dimensiunea operanzilor de lucru
functii tipice
+, -, *, :
SI, SAU, SAU, XOR, complement fata de 1, complement fata de 2
4* -set de bistabili
-C=carry transport si este un fanion
fanioane=stocheaza informatiile evenimentelor deosebite
sunt stocate intr-un registru virtual(logic)
-atribut architectural
5* -inmulteste sau imparte cu baza de numeratie un operand
-stocheaza un opearand si dupa deplasare rezultatul
Curs preluat de la Domnul Profesor Corneliu Burileanu

-nu e atribut arhitectural


6* unitatea de control al adresarii memoriei

Curs preluat de la Domnul Profesor Corneliu Burileanu

:::2.4 Pasul IV de detaliere: unitatea de control al adresarii


memoriei:::..

1*
2*

3*

1* registre numarator
2* un UAL (este un sumator) suplimentar
3* multiplexor(MUX)-multiplexeaza mai multe magistrale pe una singura

UCAM-uniatate de control al adresarii memoriei


-functie principala-de a furniza calculatorului adresa fizica in memorie si/sau
port ( fabrica adresa fizica)
-are informatii de pe magistrala interna
-intrarea lui este spre RA
UCAM furnizeaza:
a)adresa instructiunii urmatoare
b)adresa unor date
a)

a1 furnizeaza adresa intr-o secvanta de instructiuni


a2 furnizeaza adresa in cazul uni salt (adrese mai complicate)

Curs preluat de la Domnul Profesor Corneliu Burileanu

b)

b1 date elementare (oriunde in memoria de date sau porturi)


b2 date structura organizata temporar (stiva)
b3 date organizate spatial (tablou=tabel)

aceasta schema presupune un mod de acces in memorie numit organizare liniara


care presupune ca atat P cat si utilizatorul folosesc direct adresele fizice ale informatiei
accesata liniar adresa dupa adresa
informatia este accesata liniar de la locatia cu numarul de ordine 0 pana la cea cu ordinal
2n -1 (unde n=nr de linii ale magistralei de adrese)
a1 realizat de PC - registru care apeleaza adresa fizica a instructiunii curente
- numarator, el este incrementat furnizand succesiv adresele
intr-o secventa de instructiuni din memoria unui program
- cea mai simpla modalitate de a a accsesa informatii
dintr-o secventa de instructiuni
a2 realizat de PC
-inscrierea in numaratorul de program (PC) al adresei de salt utilizata intr-o
intr-o anumita maniera pe magistrala interna de date

*numaratorul de program (PC)


-registru dedicate
-nu e atribut de arhitectura
-dimensiunea lui in sistem cu organizare liniara a memoriei este data de
dimensiunea hartii memoriei
b1 furnizeaza adresa unui operand/rezultat prin magistrala interna de date
- nu mai afectez numaratorul de program(cum e la a-uri)
b2 stiva - structura temporala de date
- posibilitatea UCAM de a aloca in memorie o stiva
- LIFO(last in first out)
- numerator special indicator de stiva SP, cel care este automat
actualizat cu adresa varfului stivei curente
- orice scriere in stiva se face cu decrementarea automata a lui SP
- orice citire in stiva se face cu incrementarea automata a SP
stiva creste in jos adica stiva creste spre adrese inferioare
Curs preluat de la Domnul Profesor Corneliu Burileanu

Observatii:
1| organizarea de tip stiva se numeste stiva virtuala (stiva software)
stiva hardware set de registre organizare sub forma de stiva in interiorul P
2| stiva P este utilizata implicit in cateva actiuni importante ale P
-transfer de date
3| SP-atribut arhiectural
4| SP- are dimensiunea dictate de dimensiunea adresei fizice daca folosim organizarea
liniara a memoriei
adresa n
Push=actiune
de scriere
nu trebuie sa cunosc
adresa trimiterea
facandu-se la stiva

Pop=actiune
de citire

adresa 0

b3 tablou - structura spatiala de date


- incarca registrul IX a adresei fizice a bazei tabloului se face un
tablou virtual
- orice acces in tablou se face invocand o adresa relativa
=deplasament
- UCAM calculeaza adresa absoluta a unui element de tablou

Observatii:
1| ca si la stiva nu trebuie sa cunoastem adresa absoluta a unui element de tablou
2| spre deosebire de stiva registrul index (IX) nu se actualizeaza
3| IX-atribut arhiectural

Curs preluat de la Domnul Profesor Corneliu Burileanu

4| dimensiunea registrelor IX depinde de dimensiunea adresei fizice adica dimensiunea


hartii memoriei, atunci cand folosim organizarea liniara a memoriei
5| numarul de registre indez constituie un criteriu de performanta ( cate tablouri
potentiale trebuie sa am in memorie )
6| deplasamentul imi da dimesiunea virtuala a tabloului (8 biti= 256 locatii de memorie)
Organizare liniara a memoriei

a1 si a2

b2-stiva

b3-tablou

Curs preluat de la Domnul Profesor Corneliu Burileanu