Sunteți pe pagina 1din 54

Curs 2.

2
Sistemul cu microprocesor
Structura de baza
control
Memorie magistrala date/adrese
Memorare Memorare magistrala date
program date
secventele de datele numerice (de MICROPROCESOR
instructiuni ce intrare, rezultate
alcatuiesc programul intermediare sau finale) (CPU) Magistrale
- grupurile de interconexiuni cu functii similare, care leaga
diversele sectiuni al sistemului microprocesor

Interfete periferice
Culegere de informatii din exterior (marimi numerice, analogice,
Iesire Intrare semnalizari),
- prelucrari (diversi algoritmi de calcul si decizie),
- actionari spre exterior (prin comenzi numerice, analogice,
De la / la periferice
echipamente standard interfete specifice de conectare la un proces fizic semnalizari diverse, comunicand rezultatele operatiilor efectuate,
(tastatura, afisaj, etc.), controlat (traductoare, elemente de executie, etc.). etc.)

Structura functionala si Intrare Memorie Iesire


fluxul de informatii
UAL - colectie de circuite logice complexe,
control U.A.L. programabile, capabile sa proceseze date
informatie numerice, pe baza unui set de instructiuni ale
Fluxul de informatii
utilizatorului, uzual bazate pe operatii
Control
fundamentale: adunare, scadere, si operatii logice.
Microprocesor
Sectiunea de CONTROL:
§ genereaza si coordoneaza toate semnalele de control necesare pentru a executa operatiile de calcul din ALU, si sincronizeaza transferul datelor in sistem.
§ decodifica si executa instructiunile programului pe baza caruia functioneaza intregul sistem.
Cadru didactic S.Paturca
Functiile unui sistem cu microprocesor, corelat
cu memoria si perifericele sistemului

manipularea informatiilor
Receptioneaza (instructiuni pentru microprocesor, cat si
Programul, Transmite Informatie date transmise sau primite de la diferite
Memoreaza componente ale sistemului)
in memorie Analizeaza

Efectueaza operatii logice


executia diferitelor operatii de calcul,
Date de la aritmetice
controlul si supervizarea tuturor
memorie,
componentelor din sistem, si a operatiilor
Registrele interne efectuate in diferitele sectiuni ale acestuia.
sau periferice
Controleaza Memoria
Componentele /
sistemele
externe

Functii de baza ale sist. uP:


 functia de intrare (INPUT) - legatura cu “lumea” exterioara a sistemului;
 functia de iesire (OUTPUT) - legatura intre sistem si lumea exterioara;
 functia de memorare (MEMORY) - pastrarea informatiilor (date, rezultate), si a instructiunilor programului;
 functia aritmetico-logica, implementata prin ALU, (ro. UAL) - efectuarea operatiilor aritmetice si logice in sistem;
 functia de CONTROL- inglobeaza totalitatea actiunilor de secventializare si control ale activitatii sistemului.

Cadru didactic S.Paturca


Sistemul cu microprocesor
The computer system (not the same as a (whole) computer) consists of:

• The Central Processing Unit executes (computer) instructions -


(computer perform computations)

• The memory RAM store data and computer instructions

Central
Central
Processing Unit Processing
(CPU) Unit (CPU)

Random
Access
Memory (RAM
Random Access Memory)
Memory (RAM
Memory)

The CPU can read the next computer instruction from the memory

After the CPU obtain the instruction, the CPU will execute the instruction.
The CPU perform arithmetic and logical operation,
Structura interna a unui sistem cu microprocesor

Cadru didactic S.Paturca


Exemplificare

Exemplu

Se presupune ca sistemul cu CPU trebuie sa salveze numarul


binar 1010101010101010 in locatia de memorie 4

Datele binare vor fi transferate între CPU și memorie pe magistrala de date


La primirea acestor semnale de pe magistrala de date memoria
stocheaza datele binare in locatia de memorie 4

Semnalele disponibile pentru magistrala de adrese reprezintă numărul binar al


adresei memoriei pe care CPU o acceseaza (pentru Read sau Write)
Microprocesor / Microcontroler
Limbaje de programare de
nivel înalt (ex. C )

Compilare

Limbaj de asamblare

Asamblare

Cod maşină
Sisteme cu microprocesor

Tipul microprocesorului defineşte apartenenţa microprocesorului la o familie de microprocesoare care


au caracteristici comune. Aceste caracteristici determină performanţele sistemului: viteza de lucru,
setul de instrucţiuni executate de procesor, etc.
Fiecare tip de microprocesor este caracterizat printr-o arhitectură internă.

• Cuvant de date: 8, 16, 32, 64, 128...


Cuvântul microprocesorului reprezintă numărul de biţi, multiplu de octeţi, care pot fi prelucraţi la un moment
dat de către microprocesor, de exemplu pe 8 biţi, 16 biţi, 32 biţi, 64 biţi, .... (cuvânt pe mai mulţi biţi - viteza
de lucru a microprocesorului mai mare şi performanta marita).

• Capacitate de adresare: 2k, 64k, 1M,…xG


• Frecventa de lucru: 2MHz ... 3GHz..
• Tipuri de date: intregi, floating-point, …
• CPU+memorie+interfete / microcontrolere (MCU)
• Calculatoare de uz general / sisteme integrate
(embedded)
Structura de principiu a unui sistem de control
numeric, controlat cu microcalculator
In sistemele conduse cu sisteme microprocesor, operatiile se desfasoara continuu, ciclic, sistemul de calcul efectuand operatii de masurare a datelor,
calcule, si dand comenzi in mod succesiv.

Sistem embedded

Aplicatii in timp real - au specific faptul ca echipamentul controleaza functionarea unui proces, calculele facandu-se in timpul controlarii acestei functionari.
Secventializarea operatiilor din sistem poate fi legata si conditionata de evenimentele exterioare (evolutia procesului condus, care trebuie sa fie sub controlul
sistemului numeric)
h (perioada
Program Principal Rutina Tratare Intrerupere h
(polling loop – background) (foreground) esantionare)

START Rutina A/D;calcule;D/A A/D;calcule;D/A A/D;calcule;D/A


Tratare
Intrerupere
Aplicatii in timp
Initializare parametri Salvare context
Definire / setare porturi I/O
Program
Principal PP PP PP
real – time critical
Achizitie date - porturi intrare
(citire - "READ")

Operatii Executie program specific


ne-prioritare (prelucrare date de intrare,
conform algoritmului numeric)

Transmitere date prelucrate


Bucla - port de iesire
(scriere - "WRITE")
infinita

Refacere context

RETURN
Bit:
– unitate elementara de informatie
– poate avea valoarea logica “0” sau “1”, aceste valori corespund fizic unor nivele de tensiune, în funcţie de circuitele
electronice componente sistemului.
Ø Sistemele de calcul opereaza cu elemente de circuit cu doua stari (de tipul tranzistor in stare saturat sau blocat,
avand la iesire doua nivele de tensiune continua distincte - de exemplu pt. 0V este asociata valoarea binara 0,
respectiv pt. max. 5V este asociata valoarea binara 1).
– starea unui bistabil, sau a unei celule elementare de memorie
Ø "Cuvintele" pe care le înţelege sistemul cu uP formate din 8 biţi se numesc
octeţi (în engl. bytes).
Octet (byte):
– grup de 8 biti
– unitatea elementara de adresare la cele mai multe calculatoare actuale (inclusiv Intel
x86)
– poate reprezenta: o valoare numerica, un caracter (cod ASCII), un set de variabile
(semnale) logice
B7 B6 B5 B4 B3 B2 B1 B0

B7 - bitul cel mai semnificativ B0 - bitul cel mai putin semnificativ

Octal Binar
0 000
Note: 1 001
1 K sau 1 Kilo octet (1 Kilo byte) = 1024 bytes -> (210) 2 010
3 011
1 M sau 1 Mega octet (1 Mega byte) = 1024 K ->(220) 4 100
1G sau 1 Giga octet (1 Giga byte) = 1024 M -> (230) 5 101
6 110
7 111
N, in baza b de numarare, n cifre supraunitare (an-1, an-2, ... , a0), si m cifre
subunitare (a-1, a-2, ... , a-m), are valoarea în baza 10:

(N)10 = an-1bn-1 + an-2bn-2 + ... + a1b1 + a0b0 + a-1b-1 + ... + a-mb-m

Ex: N = (1011.11)2

(N) 10 = 1*2 3 + 0*2 2 + 1*2 1 + 1*2 0 + 1*2 -1 + 1*2-2 = 8 + 0 + 2 + 1+ 0.5 +


0.25 = 11.7510
• Cuvant (word)
D15-D8 - octetul superior (High)
D7-D0 - octetul inferior (Low)

- folosit pt. reprezentarea intregilor, simpla precizie


B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0

n Dublu-cuvant (double word):


q 32 biti, 4 octeti, 2 cuvinte B31 ...... B24 B23 ...... B16 B15 ...... B8 B7 ...... B0
q D31-D16 cuvantul superior
q D15-D0 cuvantul inferior
q folosit pentru reprezentarea numerelor in virgula fixa (dubla precizie la sistemele pe
16 biti) sau in virgula flotanta

• Cuadruplu-cuvant (quad-word) B63 B0

– 64 de biti, 8 octeti, 4 cuvinte, 2 dublu cuvinte


– folosit pentru reprezentarea numerelor in virgula fixa (dubla precizie pt. sist. pe 32 biti) si in
virgula flotanta (mobila)
• Formate extinse: ex. 80 de biti - pt. reprezentarea numerelor in virgula flotanta (formate
interne/intermediare)
baza sistemul simboluri/cifre

2 Binar 0, 1

8 Octal 0,1,2,3,4,5,6,7

10 Zecimal 0,1,2,3,4,5,6,7,8,9

16 Hexazecimal 0,1,2,3,4,5,6,7,8 ,9, A,


B,C,D,E,F

Sisteme de numeratie:
– sistemul binar - putine reguli, multe cifre
– sistemul zecimal - multe reguli, mai putine cifre
– sistemul hexazecimal - intermediar intre binar si zecimal
n Conversia partii intregi: prin divizare
succesiva cu noua baza

Exemplu: Conversia numarului zecimal 45 in binar

• Conversia partii fractionare: prin inmultire succesiva cu noua baza


– atentie!, conversia nu este univoca (precisa)

Exemplu: Conversia numarului zecimal 41,828125 in binar

Stop atunci cand catul este 0.

nr. in zecimal nr. binar


Cadru didactic S.Paturca
Ø numerele pot fi scrise din baza 10 în binar descompunând repetat după
puterile lui 2.

Ø Exemplul 1:
77 = 64 + 8 + 4 + 1 = 26 + 23 +22 + 1 = 1*26 + 0*25 + 0*24 + 1*23 + 1*22 + 0*21 + 1*20
=> numarul 77 din zecimal se scrie în binar: 100 1101.

> Exemplul 2: Conversia numarului zecimal 9 in binar


Solutie : 9 = 8 + 1 “se aleg numere puteri ale lui 2 ”

Exemple:
Reprezentari numerice

( 1011 1010 0011 0010 )2 ( 4 F C 2 )16


( B A 3 2 )16 ( 0100 1111 1100 0010)2
__________________________________________________________________
8 biti = octet / byte
cuvinte de: 8 / 16 / 32 / 64 biti
• Numere: - intregi – fara semn / cu semn
- fractionare
- virgula mobila

Aritmetica numerelor întregi (interpretat “fara semn”)

Adunarea / scaderea.
8 biti -> [0, ] ( ) 27 26 25 24 23 22 21 20
1 1 0 1 1 0 1 1 +
16 biti -> [0, ] ( ) 0 1 0 0 0 1 1 0
1 0 0 1 0 0 0 0 1
Depasire (overflow / borrow)

Aritmetica numerelor întregi, interpretate “cu semn”

8 biti -> [-128, ] Overflow / borrow


Inmultirea – separat module, semne
16 biti -> [-32768, ]
Reprezentari numerice

• Reprezentarii matematice
– virgula fixa

– virgula mobile
Virgula (punctul zecimal sau binar, în notaţia engleza) nu este reprezentată
fizic în registrele sistemului de calcul, dar poziţia sa este cunoscută de
programator (stabilită) pentru fiecare dintre modurile de reprezentare

Precizia reprezentarii matematice


numarul de biti utilizati pentru memorarea variabilelor si pentru efecturarea calculelor

Cadru didactic S.Paturca


Reprezentari numerice

Reprezentarea numerelor în virgulă fixă


n Se lucrează cu numere întregi în virgulă fixă, datorită avantajelor în ceea ce
priveşte structura hardware a circuitelor pentru operaţii aritmetice şi logice.

n Prin comparaţie cu reprezentarea în virgulă mobilă, reprezentarea în virgulă fixă


prezinta avantaje, precum:
q uşor de pus în aplicare într-un spaţiu de memorie mic,

q operaţiile sunt executate rapid de procesoarele în virgulă fixă. Procesoarele în virgulă


fixă sunt ieftine şi au consum mai redus.

n Aceste caracteristici sunt deosebit de importante pentru: aplicaţii de timp real,


sisteme integrate (embeded systems), procesare de semnale.

q Domeniul de aplicabilitate foarte larg: controlere industriale, telefoane mobile,


echipamente medicale portabile, etc.

Cadru didactic S.Paturca


Reprezentari numerice

Reprezentarea numerelor în virgulă fixă


• Unitatea aritmetico-logică a unui procesor în virgulă fixă lucrează
doar cu numere întregi, (de ex. pe 8, 16, 32 .....biţi).

• Reprezentarea numerelor în virgulă fixă -> sub formă de numere


întregi cu semn sau fără semn. Pozitia “virgulei” este fixă faţă de şirul
de biţi prin care se reprezintă data numerică.
• Inconvenient:

– volum sporit de muncă şi o atenţie din partea programatorului, care trebuie să manipuleze
numerele în aşa fel încât procesorul să poată face operaţii cu numere preluate din lumea
reală, în gama de reprezentare.

La unele compilatoarele scrise pentru virgulă fixă, factorul de scară este tratat de compilator, astfel încât
utilizatorul limbajelor de nivel înalt nu trebuie să ia în considerare acest aspect la efectuarea operaţiilor.
Reprezentari numerice

Explicatii

• Există posibilitatea de a reprezenta datele în virgulă fixă sub


forma de numere subunitare.
– Reprezentarea în virgulă fixă cu numere subunitare are avantaje
din punct de vedere al operaţiilor de înmulţire, pentru că această
operaţie nu va duce la depăşirea capacităţii de reprezentare.

• Daca procesorul lucrează în virgulă fixă cu numere subunitare,


la introducerea datelor, fiecărui număr i se ataşează un factor
de scară, care să-l transforme într-un număr subunitar.
Reprezentari numerice

Interpretarea numerelor în virgulă fixă

ca numere fracţionare
– virgula nu se reprezintă fizic în registrele procesorului,
d a r p o zi ţ ia s a e st e c un o s c ut ă ş i f ix a t ă d e c ă t r e
programator pentru a putea interpreta numerele într-un
mod mult mai intuitiv şi mai apropiat de lumea reală.

– programatorul plasează o virgulă imaginară, care separă


componenta întreagă şi pe cea fracţionară

– numărul de poziţii ale părţii întregi cât şi numărul de


poziţii ale părţii fracţionare este fix
Reprezentari numerice

Explicatii
• Pentru reprezentarea numerelor pozitive şi negative se alocă
un bit suplimentar, care indică semnul.

(a) (b)

Număr cu semn reprezentat în virgulă fixă (a) interpretat fracţionar,


(b) interpretat intreg

bitul de semn – S
partea întreagă – I
partea fracţionară, formată din Q biţi

Cadru didactic S.Paturca


Reprezentari numerice

Explicatii

• Notaţia utilizata în mod curent pentru reprezentarea în virgulă fixă în


reprezentarea unui număr semn

Qi.q,

unde:

i - numărul de biţi al componentei întregi a numărului,

q - numărul de biţi al componentei fracţionare.

Suma i + q + 1 este numărul total de biţi disponibil pentru a reprezinta valoarea


a lungimii cuvântului.

• Pentru reprezentarea unui număr întreg, pe n biţi fără semn se utilizează


notaţia UQi.q, unde U indică o reprezentare fără bit de semn

Cadru didactic S.Paturca


Reprezentari numerice

Formate în virgulă fixă

Exemplificarea reprezentării unui format care include atât parte întreagă cât şi fracţionară,
Q3.12, pentru numere interpretate cu semn:

Cadru didactic S.Paturca


Probleme specifice programării în virgulă fixă şi soluţii
1. Posibilitatea de depăşire a limitelor de reprezentare în timpul execuţiei programului

2. Necesitatea transpunerii numerelor din lumea reală în formatul specific („nativ”) al


procesorului – numere întregi pe 8, 16 , 32 biţi, utilizând cât mai bine puterea de
reprezentare a formatului existent. Soluţia este scalarea mărimilor
Reprezentarea în virgulă fixă cu numere subunitare are avantajul important că prin operaţia de
înmulţire nu se depăşeşte capacitatea de reprezentare (produsul a două numere subunitare este
tot subunitar).

Limite de reprezentare pentru numere pe 16 biţi, in interpretarea “cu semn”


0 0

() () () ()


 16384 16384  0.5 0 .5

 32768 32767 1 1
Reprezentarea numerelor întregi cu semn pe 16 biţi: (a) cu numere întregi şi (b)formatul
echivalent Q15, în interpretare fracţionară

Intervalul de reprezentare la nivelul


Intervalul de reprezentare în interpretarea
procesorului, ca numere intregi,
fracţionară de către programator
interpretate “cu semn”
[-32768…32767] [-1, 1) (mai precis [-1...0.9999695])
>> 1/32767-1
ans =
-0.999969481490524
Aritmetica numerelor întregi, cu semn

• Complement fata de 2 (2's complement)

[X]2 = 2n – X ( [X]2 = - X )
Ex: X = 610 = 01102, n=4
Þ [X]2 = 24 - 0110 = 10000 - 0110 = 1010

(a) se inverseaza toti bitii numarului, si se aduna 1 la cel mai


putin semnificativ bit.

De exemplu, fie: X = 0110


X inversat va fi 1001
se adună 1 1
Rezultat: [X]2 = 1010

Cadru didactic S.Paturca


Aritmetica numerelor întregi, cu semn

(b) se lasa neschimbate cifrele din numar pâna la


primul 1, inclus iv (de la dre apt a la s t ânga ),
inversându-se celelalte cifre.
Ex: X=0110 => [X]2 = 1 0 1 0
 |
se inverseaza ramân nemodificate
___________________________________________

Cadru didactic S.Paturca


Aritmetica numerelor fractionare

Format Q (numere subunitare)


X = 0 . x7 x6 ... x0 => [X]10 = x7 2-1 + x6 2-2 + ... + x0 2-8

Q15 -> 16 biti, 1 de semn


[-1, +1);

• eroare de trunchiere
• eroare de rotunjire

Format IQ (numere cu parte intreaga si parte fractionara)


X = xn xn-1 … x0 , x-1 x-2 ... x-m

Cadru didactic S.Paturca


Recapitulare - Reprezentari numerice

Reprezentarea numerelor in virgula mobila


(floating-point)

• Folosita pentru stocarea şi prelucrarea numerelor reale în


calculator.

• Denumirea provine de la faptul că “virgula” nu are o poziţie fixă


faţă de şirul de biţi ce reprezintă valoarea numărului.
– Poziţia virgulei se poate modifica fie ca să permită efectuarea de
operaţii aritmetice şi logice cu numere reale, fie pentru
reprezentarea standardizată, în virgulă mobilă, a numerelor reale.

Cadru didactic S.Paturca


Reprezentarea numerelor reale (floating-point)

Simpla precizie – 32 biti:


- Exponent 8 biti: intreg, cu semn: [-128, +127]
- Mantisa 24 biti: fractionar cu semn, subunitar (Q23): [-1., +1.)
- Gama de valori:
- Minim: 2-127 = 5.87747 * 10-39
- Maxim: 2127 = 1.70141 * 10+38
- Precizia (1 bit): 2-23 = 1.19209 * 10-7

s (7 biti) s (23 biti)

Exponent Mantisa
Valoare numar:
N = 2Exponent * Mantisa

Cadru didactic S.Paturca


Logica booleana

Postulate
x = 0 daca x  1; x = 1 daca x  0
0  1 1  0
0 0  0 11  1
1 1  1 0  0  0
1 0  0 0 1  1

Teoreme cu o singura variabila Teoreme cu 2 sau 3 variabile


x y  yx xy  yx
x  (x  y)  x (x  y)  y  x  y
x  y  z  x  ( y  z)  (x  y)  z
x  y  z  (x  y)  z  x  ( y  z)
(x  y)  (x  z)  x  ( y  z)

Teoreme cu n variabile
( x  y  z  ...)  x  y  z  ... (Teoremele De Morgan)
( x  y  z  ...)  x  y  z  ... (Teoremele expansiunii)
f ( x1 , x 2 ,..., x n )  [ x1  f (1, x 2 ,..., x n )]  [ x1  f ( 0 , x 2 ,..., x n )]
f ( x1 , x 2 ,..., x n )  [ x1  f ( 0 , x 2 ,..., x n )]  [ x1  f (1, x 2 ,..., x n )]
Porti Logice
Poarta TTL +5V

(Transistor 4.7k 1k
160 logic 1: (2 - 5) V
Transistor Intrare
A Iesire
logic 0: (0 0.8) V
Logic) B C

470 Intrari Iesire


A B C
Functie: implementarea electronica a unei functii logice binare

1 1 0
1 0 1
0 1 1
0 0 1

Tabela logica a portii TTL

CMOS Complementary Metal Oxide Semiconductor


Porti Logice

A B AND OR NAND NOR XOR ExNOR


0 0 0 0 1 1 0 1
0 1 0 1 1 0 1 0
1 0 0 1 1 0 1 0
1 1 1 1 0 0 0 1
Simbol A&B A|B ~(A&B) ~(A|B) A^B ~(A^B)

A A A
B f=AB B f=A+B B f=A + B
A&B A|B A^B
AND OR XOR

A A A
B
f=AB
B
f=A+B f=A . B
~(A&B) B
~(A|B) ~(A^B)
NAND NOR Ex-NOR
Cadru didactic S.Paturca
Porti Logice
Porti Logice

Inversorul Reprezentari logice alternative

A f=AB A
f=A+B
A f B B
A f=A 0 1 (a)
~A
1 0 A A
(a) f=A+B f=A B
"1" B B
(b)
f=A1=A
A A A
f=AB f=A + B
B B
A (c)
f = A+0 = A
A A
(b) f=A+B f=A B
B B
(d)

Cadru didactic S.Paturca


Poarta Tri-State / Buffer / Circuit Tampon

- starea de mare impedanta la iesirea circuitului permite decuplarea semnalului de iesire de


intrarea circuitului
- iesirile mai multor circuite tri-state pot fi conectate impreuna, nivelul logic pe iesirea comuna
fiind dictat de circuitul activat (cu semnalul de selectie E=1) la un moment-dat.
A1 A2 A3 A4
E E
1 0 0 0
A Out A Out EA1 EA2 EA3 EA4

A E Out A E Out
x 0 High z x 0 High z
0 1 0 0 1 1 0 0 1 0
1 1 1 1 1 0 EB1 EB2 EB3 EB4

(a) (b) B1 B2 B4
B3 = A 1
Functie: permite transferul informatiei pe o cale comuna mai
multor circuite, prin posibilitatea de izolare / transfer
controlat a semnalului logic de intrare de / la cel de iesire
Cadru didactic S.Paturca
Poarta Tri-State / Buffer / Circuit Tampon
continuare

Functie: permite transferul informatiei pe o cale comuna mai multor circuite, prin posibilitatea de izolare /
transfer controlat a semnalului logic de intrare de / la cel de iesire

iesirile mai multor circuite tri-state conectate impreuna;


nivelul logic pe iesirea comuna este dictat de circuitul activat
cu semnalul de selectie =1

Utilizarea multor elemente de circuit cu iesiri tri-state este datorata posibilitatii de a avea
starea de mareimpedanta la iesirea circuitului.

Cadru didactic S.Paturca


Circuitele basculante bistabile

- Circuitele basculante bistabile - circuite logice secvenţiale cu 2 stări


stabile (distincte), tranziţia între cele 2 stări făcându-se odată cu aplicarea
unor semnale de comandă din exterior.
Bistabilul D
Bistabilul D este cel mai utilizat in sistemele cu microprocesoare ca element de memorie de 1 bit
(mai rar se utilizeaza si bistabile de tip T, SR, sau JK).

Dt Qt Q t t
D Q bistabilul tip D întârzie starea, adică
0 0 0 ieşirea la momentul t t este
Q aceeaşi cu intrarea la momentul t
0 1 0 (celulă de întârziere sau de
Clk memorare).
1 0 1
1 1 1

t t
Q  (D Q  D Q)  D t t

Functie: implementarea electronica a unei celule (bit) de memorie

Cadru didactic S.Paturca


Registre

Registru - sir de bistabile; permite memorarea si / sau deplasarea informatiei la comanda impulsurilor de tact
- Deplasarea informatiei se poate face într-un singur sens sau în ambele sensuri.
- Înscrierea informatiei în registru se poate face serial - bit dupa bit, toti bitii cuvântului de n biti) sau
paralel - cei n biti se scriu simultan în registru.
- Citirea registrului se poate face serial - bit dupa bit, sau paralel - toti bitii simultan.

PISO
(Parallel Input - Serial Output)
PIPO (Parallel Input – Parallel Output)

SIPO (Serial Input - SISO (Serial Input - Serial Output)


Parallel Output) -SR (Shift Right) SL (Shift Left)

Rotirea informatiei
Registre paralele

- operatie frecventa intr-un microprocesor este transferul paralel al datelor intre doua registre

Incarcate initial in registrul A, datele sunt transferate in registrul B la aparitia semnalului TRANSFER pe linia de ceas a reg. B.
Continutul registrului A este neschimbat, pana la o modificare ulterioara (stergere, sau incarcare cu alte date)

La primirea semnalului de control T, se transfera continutul registrului A in reg. B.


Acest tip de registru este de tip PIPO (Paralel Input - Paralel Output
= intrare paralela, iesire paralela)

Schema bloc Transfer T:(B)<-(A)


date iesire

A7 A6 A0
D D D
7A 6A 0A
READ
Reg.A
Clk

B7 B6 B0
WRITE D D D
7B 6B 0B

date intrare Reg.B

Clk
Transfer
Datele pot fi inscrise in registru prin semnalul de control WRITE, si
raman inscrise pana la o inscriere ulterioara. Citirea datelor se va
face oricand, prin activarea semnalului de citire READ.

Functie: implementarea electronica a unui cuvant de memorie


Registre seriale

Schema bloc
D P
J7 J6 J0

K6 Q
K7 K0

Clk

Transferul unui bit de la intrarea D pana la iesirea P a registrului va necesita in


acest caz 8 semnale de ceas. Acest tip de registru se numeste SISO ( Serial
Transfer Input Serial Output = intrare seriala, iesire seriala)

registrul A isi pastreaza continutul, prin


recircularea informatiei intre iesire si intrare
S S Clk

Clk Reg. A Reg. B


1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0

inainte de transfer
S S Clk
Reg. A Reg. B
Clk
1 0 1 0 1 1 0 0 1 0 1 0 1 1 0 0

dupa transfer

Clk

S Clk

Durata transferului - 8 pulsuri de ceas


Registre

Registre Latch Registre cu iesiri tri-state

Date intrare E Date intrare

Q Q O
E
D R D7 D0 Clk D D7 D0 Clk
Clk Reg.Latch Clk Reg.Tri-State
Q7 Q0 R Q7 Q0
R R
Date iesire Date iesire

Reg. de 8 biti de tip Latch, Reg. cu iesirile tri-state.


• utilizeaza bistabile D active pe front pozitiv • inscrierea datelor se face normal
• datele de la intrare sunt transferate la iesirea reg. pe • iesirile O0¸O7 vor contine datele inscrise in
durata niv. "1" al semnalului Clk, ramanand la valorile registru doar la aplicarea semnalului de
avute in momentul frontului cazator al semnalului de activare a circuitelor tri-state de la iesirea
ceas acestuia, prin semnalul de activare E
• semnalul asincron de stergere va trece la valoarea "0"
toate iesirile registrului, simultan
Circuite Logice Programabile (PLD)

PLD (Programmable Logic Device) circuite ce contin combinatii de porti logice "SI" (AND) si "SAU"
(OR), inversoare (NOT), circuite tristate, si bistabile.

- PLA – Programmable Logic Array


- PROM – Programmable Read Only Memory
- FPLA – Field Programmable Logic Array
- FPGA – Field Programmable Gate Array

P-term (product term) Product-term / P-term - combinatie a semnalelor de intrare care


se aplica la intrarea unei porti AND (sau OR) a circuitului PLD

Semnele (x), de la intersectia unei linii cu o coloana, indica prezenta unui fuzibil
intact, care conecteaza semnalul de intrare la poarta logica AND (sau OR) de
A pe coloana respectiva
A
B
B
C A B C
Prin programarea circuitului - se determina
C distrugerea unor fuzibile, astfel incat prin
conexiunile care raman intacte, sa se
sintetizeze functia logica dorita intre
semnalul de intrare si cel de iesire.
(a ) (b )
Cadru didactic S.Paturca
Circuite PLA
Programmable Logic Array

X = p + q + r + s = ABCD + ABCD + EF
linii P-term
A

B Fuzibil intreg

X X
r s
p q
Circuite PROM
Programmable Read Only Memory

- utilizate functional ca memorii cu continut nealterabil (fix), stocand coduri de program, seturi de
tabele de date constante, etc.
- posibila utilizarea in proiectarea circuitelor logice

semnale
de intrare B circuit de memorie
(adrese) cu 8 celule de cate
C 3 biti fiecare

P0 P1 P2 P3 P4 P5 P6 P7 O/P0
semnale de
O/P1
iesire
O/P2

linii P-term fixe

O / P0 = P0 + P2 = CBA + CBA
O / P1 = P2 + P4 = CBA + CBA
O / P2 = P3 + P4 + P5 = CBA + CBA + CBA
Multiplexoare
Un multiplexor selecteaza o iesire din n intrari. Selectia liniei de iesire se face cu semnale de control.

Figura prezinta un asemenea multiplexor cu patru intrari (D0, D1, D2 si D3), si iesirea f (si negata sa)

Din punct de vedere functional,


multiplexorul poate fi privit ca
un comutator cu mai multe
pozitii, selectand una dintre ele
la un moment dat

Liniile de control A si B si semnalul de activare E complecteaza circuitul.

Cadru didactic S.Paturca


Demultiplexoare / Decodificatoare

Demultiplexoare (Decodificatoare)
- indeplinesc functia opusa multiplexorului.
- poate fi utilizat la convertirea unui sir de semnale numerice transmise serial,
intr-o forma paralela.
Linia de intrare D poate fi conectata la oricare dintre cele patru linii de
iesire, prin semnalele de control A si B.

Diagrama bloc a acestui circuit

Semnalele de control A si B.

Sunt posibile 4 combinatii distincte ale celor


doua semnale de control A si B, circuitul va
avea in acest caz patru linii de iesire.

Ex. pentru cazul A=0, B=0, semnalul D este


transferat la iesirea O0 (la activarea
circuitului, prin semnalul E=0), etc.
Fig. Demultiplexor

Cadru didactic S.Paturca


Decodificator
- folosit la selectia cipurilor de memorie, a porturilor sistemului, etc

O0

O1

O2

Decodificator
3:8
(74LS138)
O7
realizat în tehnologie
TTL

Decodificator 3:8
Cadru didactic S.Paturca
Decodificatoare

Functie: activarea unica a unuia dintre semnalele de iesire,


corespunzator combinatiei semnalelor de selectie

E A2 A1 A0 O0 O1 O2 O3 O4 O5 O6 O7
O0
1 x x x 1 1 1 1 1 1 1 1 O1
O2
0 0 0 0 0 1 1 1 1 1 1 1 Decod
E O3
0 0 0 1 1 0 1 1 1 1 1 1 O4
3 la 8 O5
0 0 1 0 1 1 0 1 1 1 1 1 O6
0 0 1 1 1 1 1 0 1 1 1 1 O7

0 1 0 0 1 1 1 1 0 1 1 1
0 1 0 1 1 1 1 1 1 0 1 1 AA B C
3 A2 A1

0 1 1 0 1 1 1 1 1 1 0 1 cod intrare

0 1 1 1 1 1 1 1 1 1 1 0
Cadru didactic S.Paturca
Extras din Fisa tehnica a decodificatorului 74LS138 IC -TI

• The IC 74LS138 is a 3 to 8 line decoder The IC 74LS138 is a 16-pin integrated circuit,


integrated circuit from the 74xx family of and each pin of this IC is discussed below.
transistor-transistor-logic-gates. The main
function of this IC is to decode otherwise • Pin1 (A): Address input pin
• Pin2 (B): Address input pin
demultiplex the applications. The setup of • Pin3 (C): Address input pin
this IC is accessible with 3-inputs to 8- • Pin4 (G2A): Active low enable pin
• Pin5 (G2B): Active low enable pin
output setup. • Pin6 (G1): Active high enable pin
• This IC is mainly used in applications like • Pin7 (Y7): Output pin
• Pin8 (GND): Ground pin
memory decoding with high performance • Pin9 (Y6): Output pin 6
otherwise data routing, etc. These ICs can • Pin10 (Y5): Output pin 5
• Pin11 (Y4): Output pin 4
be used for minimizing the system • Pin12 (Y3): Output pin 3
decoding effects in memory systems with • Pin13 (Y2): Output pin 2
• Pin14 (Y1): Output pin 1
high performance. This IC includes three • Pin15 (Y0): Output pin 0
enable pins (where two pins are active low • Pin16 (VCC): Power supply pin

and one is active high) decreases the


necessity of outside gates.

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