Documente Academic
Documente Profesional
Documente Cultură
Paşca Sever
Numărătoare şi registre
Prof. Dr. Ing. Sever Paşca
Catedra de Electronică Aplicată şi Ingineria Informaţiei
Facultatea Electronică, Telecomunicaţii şi Tehnologia Informaţiei
Universitatea POLITEHNICA din Bucureşti
Numărătoare şi registre 2
Conţinutul cursului
Numărătoare – generalităţi, definiţii
Numărătoare binare asincrone
Numărătoare binare sincrone
Numărătoare modulo p 2n
Registre – generalităţi, definiţii
Registre de memorie
Registre de deplasare
Registru combinat (de memorie şi de deplasare)
Registru universal
Exemple de utilizare
Numărătoare şi registre 1
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Numărătoare şi registre 4
Numărătoare – generalităţi, definiţii
Clasificări
După modul în care îşi modifică conţinutul
numărătoare directe – îşi cresc conţinutul cu câte o unitate la
fiecare impuls aplicat la intrare;
numărătoare inverse – conţinutul scade cu câte o unitate la fiecare
impuls aplicat la intrare;
numărătoare reversibile – numără în sens direct sau invers în
funcţie de o comandă aplicată din exterior.
După modul de funcţionare:
numărătoare asincrone – celulele binare nu comută simultan sub
acţiunea unui impuls de tact aplicat tuturor celulelor;
numărătoare sincrone – toate celulele binare comută simultan sub
acţiunea unui impuls de tact aplicat tuturor celulelor.
Numărătoare şi registre 2
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Numărătoare şi registre 5
Numărătoare – generalităţi, definiţii
Precizări
Numărătoarele electronice se realizează cu celule binare de tip T, care
realizează o divizare cu 2.
Prin interconectarea adecvată a n astfel de celule, se va obţine schema
unui numărător care poate fi privit şi ca un circuit secvenţial cu un număr
de stări distincte.
Fiecărei stări îi vom putea asocia câte un cuvânt de cod de lungime n,
reprezentând conţinutul celor n celule binare pentru starea dată a
numărătorului.
Codul în care numără un numărător va fi dat de succesiunea cuvintelor
de cod binare asociate stărilor numărătorului. Cele mai frecvent utilizate
coduri sunt: codul binar natural, codul binar reflectat, coduri BCD etc.
Numărătoare şi registre 6
Numărătoare – generalităţi, definiţii
Precizări (cont.)
Numărul stărilor distincte posibile ale unui numărător format din n celule
binare este 2n.
De multe ori însă, din cele 2n stări posibile, se sar un număr de k stări
rezultând un numărător cu p = 2n – k stări distincte.
Din punct de vedere matematic, operaţia realizată de un numărător este
o operaţie modulo 2n sau modulo p.
Vom defini capacitatea unui numărător ca fiind numărul stărilor distincte
pe care le are.
Revenirea numărătorului în starea iniţială (de obicei asociată cuvântului
de cod 000 ... 0) este însoţită de apariţia unui impuls (tranziţie activă) pe
ieşirea acestuia.
Vom defini factorul de divizare al numărătorului prin raportul dintre
numărul impulsurilor de la intrare şi numărul impulsurilor de la ieşire.
Numărătoare şi registre 3
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Numărătoare şi registre 8
Numărătoare binare asincrone
Iesirea numaratorului
Numărător binar asincron direct
J___ Q0 J___ Q1 J___ Q2
Prin interconectarea mai Intrare
CK _ CK _ CK _
multor celule de tip T prin legarea K _ Q0 K _ Q1 K _ Q2 Borna de
ieşirea Qi a uneia de intrarea de tact a R R R
aducere
la zero
următoarei (CKi + 1), obţinem schema
1 1 1 (CLEAR)
unui numărător binar asincron direct.
Numărătorul este format din 3 celule
binare, în consecinţă va avea 23 = 8
Intrare
stări distincte. Capacitatea 1 2 3 4 5 6 7 8 9
t
numărătorului este 8 iar factorul de
divizare este tot 8. Q0
Numărătoare şi registre 4
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Numărătoare şi registre 9
Numărătoare binare asincrone
Q i CK i 1 1 1 1
Intrare 1 2 3 4 5 6 7 8 9
t
Q0
Q1
Q2
t
_ _ _
Q2 Q1 Q0 111 000 001 010 011 100 101 110 111 000
Numărătoare şi registre 10
Numărătoare binare asincrone
Numărătoare şi registre 5
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Numărătoare şi registre 11
Numărătoare binare asincrone
12
Numărătoare şi registre 6
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Numărătoare şi registre 13
Numărătoare binare sincrone
P1
P2
1 CBB0 CBB1 CBB2 CBB3
Numărătoare şi registre 14
Numărătoare binare sincrone
Iesirile numaratorului
P1
P2
1 CBB0 CBB1 CBB2 CBB3
Numărătoare şi registre 7
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Numărătoare şi registre 15
Numărătoare binare sincrone
Iesirile numaratorului
P1
P2
1 CBB0 CBB1 CBB2 CBB3
Numărătoare şi registre 16
Numărătoare binare sincrone
Q0
Q0
Q1
Q1
Q2
1
Numărătoare şi registre 8
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Numărătoare şi registre 17
Numărătoare binare sincrone
_ _ _ _
S S S S
1 J___ Q0 1 J___ Q 1 1 J___ Q2 1 J___ Q 3
S1 CK _ S2 CK _ S3 CK _ S4 CK _
1 K _ Q0 1 K _ Q1 1 K _ Q2 1 K _ Q3
R R R R
__ __ __ __
__
Q0 __ Q __ Q Q 0 __
__ Q
P2 Q1 0 P4 Q2 1 P6 __ Q Q 1
0
BR
NU2 P8
CD Q3 2
Numărătoare şi registre 18
Numărătoare binare sincrone
_ _ _ _
S S S S
1 J___ Q0 1 J___ Q 1 1 J___ Q2 1 J___ Q 3
S1 CK _ S2 CK _ S3 CK _ S4 CK _
1 K _ Q0 1 K _ Q1 1 K _ Q2 1 K _ Q3
R R R R
__ __ __ __
__
Q0 __ Q __ Q Q 0 __
__ Q Q 0
P2 Q1 0 P4 Q2 1 P6 __ Q 1 BR
NU2 P8
CD Q3 2
Numărătoare şi registre 9
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Numărătoare şi registre 19
Numărătoare binare sincrone
Incarcare CLEAR
(LOAD) _
RESET (R) _
RESET (R)
Numărătoare şi registre 20
Numărătoare binare sincrone
D0 D1 D2 D3
CU CY
CD BR
LOAD Q Q Q Q CLEAR
0 1 2 3
Numărătoare şi registre 10
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
21
Numărătoare modulo p 2n
Numărătoare şi registre 22
Numărătoare modulo p
Numărătoare şi registre 11
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Numărătoare şi registre 23
Numărătoare modulo p
Intrare 1 2 3 4 5 6
t
Q0
t
J_0__ Q0 J_1__ Q1 J_2__ Q2 Q1
CK CK CK _
1 K0 K1 1 K2 Q2 t
Intrare Q2
Numărătoare şi registre 24
Numărătoare modulo p
Numărătorul decadic
1
Prin conectarea în
J_0__ Q0 J_1__ Q1 J_2__ Q2 J_0__ Q3
cascadă a unor Intrare
CK CK CK CK
_ _ _ _
numărătoare cu factori K0 Q0 1 K1 Q1 K2 Q2 K0 Q3
de divizare diferiţi
putem obţine noi
numărătoare. De :2 :5
exemplu, dacă cuplăm :10
în cascadă un Număr impulsuri aplicate Q1 Q2 Q3 Q4
numărător modulo doi 0 0 0 0 0
(un bistabil), cu un 1 0 0 0 1
numărător modulo cinci, 2 0 0 1 0
va rezulta un numărător 3 0 0 1 1
modulo 10 (numărător 4 0 1 0 0
decadic). 5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 0 0 0 0
Numărătoare şi registre 12
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Numărătoare şi registre 25
Numărătoare modulo p
Numărătoare şi registre 26
Numărătoare modulo p
0 0 0 0 0 0
Intrare 1 2 3 4 5 6 7 8 9 10 11 12
1 0 0 0 1 0
t
2 0 0 1 0 0
Q0
3 0 0 1 1 0
4 0 1 0 0 0 0 1 0 1 0 1 t
5 0 1 0 1 0 Q1
6 0 1 1 0 0 0 0 0 0 0 0 t
7 0 1 1 1 0
Q2
8 1 0 0 0 0
0 0 0 0 0 0 t
9 1 0 0 1 0
Q3
10 1 0 1 0 1
11 1 0 1 1 X 0 0 1 1 0 0 t
12 1 1 0 0 X
13 1 1 0 1 X
14 1 1 1 0 X
15 1 1 1 1 X
Numărătoare şi registre 13
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Numărătoare şi registre 27
Numarul p scris in binar
Numărătoare modulo p
Divizoare programabile CU
D0 D 1 D2 D3
CY
Intrare Iesire
CD BR
Un divizor programabil este un circuit LOAD Q Q Q Q CLEAR
electronic la care factorul de divizare poate 0 1 2 3
28
Numărătoare şi registre 14
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Numărătoare şi registre 29
Registre – generalităţi, definiţii
Clasificări
Plecând de la această definiţie, registrele se pot clasifica în:
registre de memorie;
registre de deplasare;
registre combinate;
registre universale.
Dacă avem în vedere faptul că datele în aceste registre pot fi introduse
serie sau paralel iar citirea lor poate fi făcută de asemenea serie sau
paralel, atunci putem face şi o altă clasificare echivalentă cu cea de mai
înainte astfel:
registru cu intrare serie - ieşire serie;
registru cu intrare paralelă - ieşire serie;
registre cu intrare serie - ieşire paralelă;
registre cu intrare paralelă - ieşire paralelă.
30
Registre de memorie
Numărătoare şi registre 15
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Numărătoare şi registre 31
Registre de memorie
Schema de principiu
DA Q A DB Q B DC Q C DD Q D
CK CK CK CK
WRITE
sau
L.S.I.
AL BL CL DL
Numărătoare şi registre 32
Registre de memorie
Variante de implementare
Dacă schema este realizată cu CBB de tip D sincrone pe frontul anterior
(trecere 0 1), atunci informaţia se înscrie la apariţia unei asemenea
tranziţii (comanda Write) şi rămâne neschimbată atât pe valoarea zero
cât şi pe valoarea unu a impulsului de tact.
Dacă celulele registrului de memorie sunt realizate cu CBB de tip D
Latch, atunci, pe valoarea 1 a impulsului de comandă (numit de această
dată Latch Strobe Imput – LSI) registrul devine transparent (ieşirea este
copia fidelă a intrării). În momentul în care impulsul de comandă trece
din nou în zero (1 0), celulele de tip D se zăvoresc pe valoarea din
acel moment a semnalului de intrare şi menţin această valoare pe toată
durata în care impulsul de comandă (LSI) este pe nivel logic 0.
Dacă registrul este realizat cu celule de tip D master-slave, în registru se
va memora informaţia prezentă pe intrările de date în momentul trecerii
1 0 a impulsului de tact şi se păstrează până la următoarea trecere
1 0 a impulsului de tact.
Numărătoare şi registre 16
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
33
Registre de deplasare
Numărătoare şi registre 34
Registre de deplasare
Funcţionare:
Numărătoare şi registre 17
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Numărătoare şi registre 35
Registre de deplasare
S(J)
___ Q 0 S(J)
___ Q 1 S(J)
___ Q 2 S(J)
___ Q 3
CK _ CK _ CK _ CK _
R(K) Q 0 R(K) Q 1 R(K) Q 2 R(K) Q 3
Tact
36
Registru combinat
(de memorie şi de deplasare)
Numărătoare şi registre 18
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Numărătoare şi registre 37
Registru combinat (de memorie şi de deplasare)
AI BI CI DI
Intrari paralele
38
Registru universal
Numărătoare şi registre 19
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Numărătoare şi registre 39
Registru universal
A1
A0
A1 A0 A1 A 0 A1 A 0
IS(ST-DR) 0 Y D___ Q 1 0 Y D___ Q 2 0 Y D___ Q 3
1 1 1
2 MUX CK 2 MUX CK 2 MUX CK
3 4:1 _ 3 4:1 _ 3 4:1 _
R R R
CLEAR
IS(DR-ST)
AI BI CI
Intrari paralele
Numărătoare şi registre 20
Electronică analogică şi digitală în biomedicină Prof. Dr. Ing. Paşca Sever
Conţinutul cursului
Generalităţi şi definiţii
Circuite aritmetice
Circuite aritmetice
Reprezentarea numerelor
În circuitele digitale, numerele reale sunt aproximate prin numere
raţio-nale, cu un număr finit de cifre.
Reprezentarea unui număr raţional pozitiv scris într-o bază de numeraţie
oarecare B este
N bn 1 bn 2 ... b1 b0 , b1 b 2 ... b m
partea int reagă partea fractională
Valoarea în baza zece a numărului este dată de expresia
n 1
N bi B i
i m
Prin convenţie s-a ales bn–1 = 0 pentru numere pozitive şi bn–1 = 1 pentru
numere negative.
2 1 N 2 1
n 1 n 1
1 2 N' N 2 1 n 1 2 1 n
1 n
2 1 N 2 1
n 1 n 1
Avantaj: uşurinţa cu care se obţin numerele negative
Dezavantaj: dualitatea reprezentării numărului zero (00000 dacă îl
considerăm număr pozitiv şi 11111 dacă îl considerăm număr negativ)
2 N 2 1
n 1 n 1
Dezavantajul legat de reprezentarea mai greoaie a numerelor
negative în C2 este compensat de faptul că o operaţie de scădere a
două numere binare se transformă într-o operaţie de adunare în C2.
Adunarea şi scăderea
Cazul numerelor de un bit
Circuite sumatoare
Aşa cum s-a arătat anterior, în C2 operaţiile de adunare şi de scădere
se tratează similar şi, în consecinţă, pentru realizarea practică a acestor
operaţii, vom avea nevoie doar de circuite de sumare şi complementare.
Se poate arăta că operaţiile de înmulţire şi împărţire în binar se reduc la
adunări şi deplasări succesive.
În concluzie, rezultă că cele patru operaţii matematice de bază, folosind
reprezentarea în C2, se reduc la complementări, adunări şi deplasări,
ceea ce simplifică foarte mult realizarea unor automate aritmetice
programabile.
O operaţie matematică, oricât de complicată ar fi ea, se va realiza
printr-o înşiruire de asemenea operaţii elementare.
Pentru că o operaţie matematică, care poate conţine un număr foarte
mare de asemenea operaţii elementare, să se efectueze într-un timp
scurt, este necesar ca aceste operaţii elementare să se efectueze
într-un timp extrem de scurt.
y n -1 x n -1 yi xi y0 x0
SE SE SE
cn c n -1 ci c i -1 c1 c0
s n -1 si s0
ci xi yi xi ci 1 yi ci 1
si xi yi ci 1 xi yi ci 1
xi yi ci 1 xi yi ci 1
xi yi ci 1
si
g4 p4 g3 p3 g2 p2 g1 p1
c4 c0
c3 c2 c1
s4 s3 s2 s1
într-un timp
mult mai scurt
decât timpul g4 p4 g3 p3 g2 p2 g1 p1
necesar
propagării în
cascadă a
transportului
prin celulele
sumatorului. c4
c3 c2 c1
c0
s4 s3 s2 s1
Cap.2. Circuite
microprogramabile –
microcalculatoare şi
microprocesoare
Cuprins
1. Noţiuni generale
2. Schema bloc a unui microcalculator
3. Clasificarea microcalculatoarelor
4. Terminologia utilizată
5. Microprocesorul
6. Structura de principiu a unui microprocesor
7. Funcţionarea unui microprocesor elementar
8. Aspecte privind istoria dezvoltării microprocesoarelor
9. Scurtă istorie a PC-urilor
Obiective
Unitate de
AB
executie
Comenzi Semnal DB
de stare
Unitate de
comanda CB
CPU
CPU conţine:
microprocesorul,
coprocesorul aritmetic,
unitatea de management a memorie,
memoriile cache
controlerul de întreruperi
etc.
3. Clasificarea microcalculatoarelor
Clasificarea microcalculatoarelor
După lăţimea magistralei de date:
pot fi de 8, 16, 32 sau 64 de biţi
După gradul de specializare funcţională avem:
microcalculatoare universale
microcalculatoare specializate pe domenii
După numărul procesoarelor din sistem avem:
microcalculatoare mono-procesor
microcalculatoare multi-procesor
După gradul de integrare avem:
microcalculatoare cu microprocesor integrat şi componente
asociate externe
microcalculatoare monolitice
4. Terminologia utilizată
Super computer – calculator de înaltă performanţă
special conceput pentru rezolvarea unor probleme de
mare complexitate din domeniul cercetării ştiinţifice
Mainframe computer – calculator universal de înaltă
performanţă (exemplu tipic de utilizare: server de reţea
la companii mari)
Microcomputer – calculator universal folosit la
realizarea de calculatoare personale (Personal
Computer – PC) şi staţii de lucru
Microcontroler – calculator universal realizat pe un
singur chip proiectat special pentru aplicaţii de comandă
şi control
5. Microprocesorul (μP)
Componenta de bază a oricărui microcalculator îl
reprezintă microprocesorul;
În esenţă un microprocesor este format dintr-o unitate de
execuţie şi o unitate de comandă;
Unitatea de execuţie, în varianta ei de bază, este
formată dintr-un circuit programabil ALU (Arithmetic and
Logic Unit) şi un set de registre interne;
Pentru a putea funcţiona, microprocesorul are nevoie a fi
conectat la un circuit de memorie unde sa fie stocate
datele şi instrucţiunile programului;
Structura şi funcţionarea de principiu a microprocesorului
este ilustrată în diapozitivele următoare
A B
tR0 s
R0 ALU
tR1 tR0
s ALU R1
ALU tR1 Unitatea de
--- Comanda
---
tRn-1 tRn-1
F
d[0] FF r[0]
>
d[1] FF r[1]
> 16 16
d[15-0] R[15-0]
---
R[15-0]
>
d[15] FF r[15]
>
Tact Tact
16
d r MUX
d[15-0] 1 > r
b 16 [15-0]
b
Tact
do
mo
Locaţie adresată
Memoria de cuvântul de cod
de adresă ai
...
Decodor
ai
ar
...
din
mi
R/ W
LAC a 10 35
ADD b 7 34
SAC c 5 36
Codul operaţiei Adresa de memorie
34 400 b
a Adrese atribuite de
35 25 asamblor
36 56 c
81 10 35 LAC a
Memoria program cu
82 7 34 ADD b instructiuni executabile
83 5 36 SAC c
Microprocesor
34 400 b
A CC 35 25 a
--- 36 56 c
PC 81 10 35 LAC a
81 82 7 34 ADD b
83 5 36 SAC c
IR
---
LAC a
34 400 b
A CC
35 25 a
25
36 56 c
PC
81 10 35 LAC a
82
82 7 34 ADD b
83 5 36 SAC c
IR
10 35
LAC a
ADD b
34 400 b
A CC
35 25 a
425
56 c
36
PC
81 10 35 LAC a
83
82 7 34 ADD b
83 5 36 SAC c
IR
7 34
34 400 b
A CC
35 25 a
425
425 c
36
PC
81 10 35 LAC a
84
82 7 34 ADD b
83 5 36 SAC c
IR
5 36
tpc tac
mo
pc Acc
tmo Memoria
1 0
s 34 400
MUX
Decodor
ar
tar 82 7 34
sALU ALU
2
tm
mi
tmi
ir
tir
tpc tac
mo
82 25
tmo Memoria
1 0
s 34 400
MUX
Decodor
82
2 tar 82
7 34
sALU ALU
tm
mi
tmi
ir
tir
tpc tac
mo
82 25
tmo Memoria
1 0
s 34 400
MUX
Decodor
82
2 tar 82
7 34
sALU ALU
tm
34
tmi
7
tir
tpc tac
mo
82 25
tmo Memoria
1 0
s 34 400
MUX
Decodor
82
2 tar 82
7 34
sALU ALU
tm
34
tmi
7
tir
tpc tac
mo
82 25
tmo Memoria
1 0
s 34 400
MUX
Decodor
34
2 tar 82
7 34
sALU ALU
tm
34
tmi
7
tir
tpc tac
mo
83 25
tmo Memoria
1 0
s 34 400
MUX
Decodor
34
2 tar 82
7 34
sALU ALU
+1
tm
400
tmi
7
tir
tpc tac
mo
83 425
tmo Memoria
1 0
s 34 400
MUX
Decodor
34
2 tar 82 7 34
sALU ALU
+
tm
400
tmi
7
tir
tpc =1 tac=0
mo
83 425
tmo=0 Memoria
1 0
s=0 34 400
MUX
Decodor
34
2 tar =0 82 7 34
sALU=11 ALU
tm=0
400
tmi=1
7
tir=0
0 01 0 0 0 1 0 0 0 Ar := pc IF
0 00 0 0 1 0 1 0 0 mi := mem[ar], ir := mem[ar] IF
0 00 0 0 0 0 0 0 0 Decodare instrucţiune ID
1 01 0 0 0 1 0 0 0 ar := mi OF
0 11 0 1 0 0 1 0 0 mi := mem[ar], pc := pc+1 OF
1 00 1 0 0 0 0 0 0 Ac := ac+mi IE
Cap.3. Arhitectura
microprocesoarelor
Cuprins [1/2]
1. Introducere, definiţii, structuri de principiu
2. Arhitectura CISC
1. Analiza unei arhitecturi CISC
2. Date, instrucţiuni, adresarea memoriei
3. Arhitectura RISC
1. Motivaţie, soluţii propuse
2. Sinteza unei arhitecturi RISC
3. Principii de execuţie a instrucţiunilor
4. Arhitectura superscalară
Cuprins [2/2]
5. Procesoare auxiliare
6. Reprezentarea numerelor în virgulă mobilă
1. Standardul IEEE 754
2. Adunarea şi scăderea în virgulă mobilă
3. Înmulţirea în virgulă mobilă
7. Coprocesoare aritmetice
8 Procesoare de semnal
8.
Obiective
Exemplu de program:
LAC a
c := a + b ADD b
SAC c
Acumulator
Adrese
---
Comenzi
---
Comenzi
Exemplu de program:
PUSH a
c := a + b PUSH b
ADD
STORE c
Structura de principiu
Set intern
-- -
Adrese
de registre
Comenzi
Exemplu de program:
MOV R1, a
c := a + b ADD R1, b
MOV c, R1
Cap.3. Arhitectura microprocesoarelor 19
Exemplu de program:
LOAD R1
R1, a
c := a + b LOAD R2, b
ADD R3, R2, R1
STORE c, R3
2. Arhitectura CISC
Caracteristicile principale ale arhitecturii CISC enunţate
anterior au condus la realizarea unei structuri HW având
următoarele componente principale:
2. Arhitectura CISC
Cuart Tact de Reset
Schema bloc
sistem
extern
generală a R0
Generator
de tact Unitate de
Semnale
de stare
procesorului CISC
comanda a
microprogramelor Comenzi
Rn-1 Decodor
S e t d e r egistr e
Registru de comanda Registru de instructiuni
Registru de stare
Unitate de comanda
ALU
Automat
T.R T.ACC de
adresare
ACC
ICB
cu
magistralele
PC
externe
+1
sunt pe chip,
sunt selectate în mod direct şi
permit scrierea într-un registru concomitent cu citirea din unul
sau două alte registre.
Offset
Baza
Adresa bazei segmentului
Registru baza
PUSH
n+2
SP SP
n+1
n
n+1 n
n1
n-1
pre decrement n-2
post increment
PULL
inaintea instructiuni
i inaintea instructiuni
i
după instructiune după instructiune
Unitate de comanda
dintr-o unitate ••• S Z A P C
B2 B4
registrul Acumulator
Temp. Reg. Temp. Acc.
(Acc). Unităţii Comenzi Registre
aritmetico logice i se B3
auxiliare în
B1
execuţia Operand b Rezultat a+b
unei operaţii
de adunare B2
Operand b
B4 Operand a
t ALU tH
Sarcina
S i principală
i i lă a unităţii
ităţii d
de comandă
dă (UC) este
t
aceea de a genera setul de comenzi necesare executării
unei anumite instrucţiuni.
Comenzile trebuie să fie generate către toate
componentele HW ale procesorului la momentele de
timp corespunzătoare fazelor de execuţie ale
instrucţiunilor
instrucţiunilor.
O soluţie posibilă de realizare a unităţii de comandă este
varianta microprogramată.
Instructiuni CROM
IR
Decodificator Microprogramul
…
asociat instructiunii
••••• ••• RET
Adresa de start a
microprogramului asociat
instructiunii
••••• •••
Memorie pentru
nanoprograme
280x70 Biti
Registru de instructiuni
IR
Sfarsit microprogram
Decodificator pentru codul
operatiei
Adresa de start a
microprogramului Memorie pentru
or
microprograme
Decodo
640x10 Bit i
Contor de microinstructiuni Circuit de
(+1) demultiplexare
cu 70 de intrari
si 180 iesiri
•••
la zero – RESET D
R 20 k
+5V
t
O altă componentă RESET RESET
Vprag
t0
HW din UC este şi 47 R1
C t2
t
20 µF Oscilator
circuitul de PB °
°
iniţializare a Momentul
t1
t
sistemului (RESET).
pornirii
Subrutina de Derularea
resetare programului
este aceea de a
baza si index
instrucţiunilor sau
de adresare
program şi a +
cadrul memoriei de
date. DB AB
Reg intermediar
Reg.
PC
+1
DB CB AB
magistrale Bus 2
interne
separate
ALU Automat de
adresare
Reg intermediar
Reg.
PC
+1
DB AB
Reg intermediar
Reg.
PC
+1
DB AB
C l ttreii magistrale
Cele i t l externe
t sunt:
t
IDB
ICB
Interfata Registru intermediar
cu
magistralele PC
externe
+1
DB CB AB
Int DB Ext DB
1 0 Int DB → Ext DB
En 1 1 Ext DB → Int DB
0 x Int DB şi Ext DB sunt în
stare de impedanţă mare
Dir
Int DB Ext DB
D Q
Bf2 Ck Bf4
Si
So
Un ti
U tip d
de d
date
t specifică
ifi ă d
domeniul
i l valorilor
l il pe care o
constantă, o variabilă, o expresie sau o funcţie le pot lua
în cadrul unui program.
7 6 5 4 3 2 1 0 15 8 7 1 0
BS BS
+/-
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
0<T O ,T1<9
0 0 0 0
TO T1 TO
7 6 5 4 3 2 1 0 15 8 7 1 0
BS
63 47 32
BS
31 15 0
Vom înţelege
V î ţ l prin
i setul
t l de
d iinstrucţiuni
t ţi i all unuii
microprocesor, mulţimea instrucţiunilor ce pot fi
interpretate de Unitatea de Comandă a procesorului şi
executate prin derularea unui micro program cu comenzi
asociate instrucţiunii în cauză.
Operaţiile
O ţiil di
din setul
t ld
de iinstrucţiuni
t ţi i pott avea următoarele
ăt l
formate principale:
A := B op C
unde B şi C semnifică operanzi (constante sau variabile),
A o variabilă iar op semnifică operaţia care se
efectuează cu cei doi operanzi.
ÎÎn cazull în
î care după
d ă codul
d l operaţiei
ţi i este
t precizată
i tă o
adresă atunci aceasta de obicei este indicată prin cele
două jumătăţi ale sale:
al instrucţiunilor 1a
7 6 5 4 3 2 1 0
-
--
1f
2a
2b
Operand 1 (0-8 Byte )
Offset, adrese 8/16/32 Biti
-
Operanzi de pâna la 64 Biti
--
2h
3a
3h
3. Arhitectura RISC
Obiective
Î ţ l
Înţelegerea limitărilor
li ită il arhitecturii
hit t ii CISC
Succesull arhitecturii
S hit t ii RISC se b
bazează,
ă îîn esenţă,
ţă pe
următoarele elemente determinante:
P i
Precizarea d
destinaţiei
ti ţi i procesorului
l i
Pentru
P t a mări
ă i viteza
it d
de execuţie
ţi operaţiile
ţiil ffrecventt
utilizate vor fi implementate prin instrucţiuni HW (make
the common case fast)
0 56 10 11 15 16 20 21 31
o atu R
Formatul
Cod operatie rs1 rs2 rd
0 56 31
Formatul J
Cod operatie Distanta
Instrucţiunea de mai sus transferă în registrul intern R1 patru octeţi citiţi din memoria externă de la
următoarele adrese: MEM(R2+400), MEM(R2+401), MEM(R2+402) şi MEM(R2+403)
Este o operaţie inversă celei de mai sus şi care va transfera conţinutul registrului R1 în patru locaţii
consecutive de memorie începând cu adresa R2+400
IF : ID: IE : MEM : WB :
Setul de
Memoria de
A LU
Memoria de registre-rf
PC program 32x32 biti date
a
Setul de
Memoria ar Memoria di
ALU
registre-rf
d program
de 32 32 biti
32x32 de date
PC ir
b
pc <= pc +4
Memoria
PC
de program
ir
În această fază are loc citirea codului
instrucţiunii din memoria program şi depunerea
acestuia în registrul
g de instrucţiuni
ţ ir,,
concomitent cu incrementarea contorului de
instrucţiunii pc cu 4 (instrucţiunile sunt de 32 de
biţi iar memoria este organizată pe octeţi!).
Pentru realizarea operaţiei de incrementare, a
+4
fost necesară introducerea unui sumator
suplimentar.
Cap.3. Arhitectura microprocesoarelor 104
rs1
a
rs2 Setul de
registre - rf
PC Memoria ir 32x32 biti
de program rd
b
rs1
a
rs2 Setul de
ALU
registre - rf ar
PC Memoria ir rd 32x32 biti
de program b
MPX
imm
ir <= i_mem (pc) a <= rf (ir [6:10]) ar <= a + ir [16:31] di <= d_mem (ar)
rs1
a
rs2 Setul de
ALU
registre - rf ar Memoria di
PC Memoria ir 32x32 biti de date
de program rd
b
MPX
imm
ir <= i_mem (pc) a <= rf (ir [6:10]) ar <= a + ir [16:31] di <= d_mem (ar) rf(ir(11:15)<=di
rs1
a
rs2 Setul de
ALU
registre - rf ar Memoria di
PC Memoria ir rd 32x32 biti de date
de b
MPX
imm
ir <= i_mem (pc) a <= rf (ir [6:10]) ar <= a + ir [16:31] d_mem (ar) <= do S impune
Se i
pc <= pc + 4 b <= rf ( ir [11:15] introducerea
unui registru
auxiliar
rs1
a
suplimentar
rs2 Setul de notat cu do.
ALU
registre - rf ar Memoria di
PC Memoria ir rd 32x32 biti de date
de b
MPX
imm
M
do SW 400 (R2), R1
MEM (R2 + 400) := R1
0 56 10 11 15 16 31
Formatul I
Cod operatie rs1 rd immediate
+4
operaţie instr. 4
c) instr. 1
c) pipelining IF ID OF EX
IF ID OF EX instr. 2
(suprapunerea IF ID OF EX
IF ID OF EX
instr. 3
instr. 4
ciclurilor)
instr. 1
d) superscalar
d) IF ID OF EX
IF ID OF EX instr 2
instr.
IF ID OF EX instr. 3
Observaţie: IF ID OF EX instr. 4
instr. 5
Ultimele două
IF ID OF EX
IF ID OF EX instr. 6
instr. 7
necesită un HW IF
IF
ID OF EX
ID OF EX instr. 8
suplimentar!
Cap.3. Arhitectura microprocesoarelor 117
Setul de registre
Setul de registre
Pipelining
rf 32x32 biti
rf 32x32 biti
d-mem
i-mem
ALU
Organizarea
egistre
egistre
pipeline pentru
2 biti
rf 32x32 biti
em
i-mem
Setul de re
Setul de re
ALU
U
d-me
rf 32x32
cinci instrucţiuni de
tip LW.
Setul de registre
Setul de registre
rf 32x32 biti
rf 32x32 biti
d-mem
Se impune să se
i-mem
ALU
pună în evidenţă
succesiunile de
Setul de registre
Setul de registre
rf 32x32 biti
rf 32x32 biti
d-mem
i-mem
instrucţiuni care
ALU
pot crea probleme,
să se identifice
Setul de registre
Setul de registre
rf 32x32 biti
rf 32x32 biti
d-mem
i-mem
aceste probleme şi
ALU
să se găsească
soluţii pentru
rezolvarea lor.
Pasul: 1 2 3 4 5 6 7 8 9
Cap.3. Arhitectura microprocesoarelor 119
Conflicte de date
la nivelul conţinutului registrelor interne
în cazul în care înaintea unei operaţii de transfer, conţinutul
registrului implicat nu este cel corect (care ar trebui să fie!)
la nivelul instrucţiunilor
când o dată care este necesară pentru o anume instrucţiune nu
este încă disponibilă
Cele
C l ddouăă LW ir <= i - mem (pc)
pc <= pc + 4
a <= rf (ir [6:10]) ar <= a + ir [16:31] d - mem (ar) <=
do
rf (ir [11:15]) <=di
b <= rf ( ir [11:15]
consecutive ADD
ir <= i - mem (pc)
pc <= pc + 4
a <= rf (ir [6:10]) temp <= a + b rf (ir [16:20]) <=
apelează simultan
setul intern de
Setul de registre
Setul de registre
rf 32x32 biti
d-mem
i-mem
rf 32x32 biti
LW
registre pentru
ALU
scriere ceea ce nu
scriere,
este posibil.
Setul de registre
Setul de registre
rf 32x32 biti
rf 32x32 biti
i-mem
ALU
ADD
Pasul: 1 2 3 4 5
Cap.3. Arhitectura microprocesoarelor 122
LW R1 <= a
LW R2 <= b
LW R4 <= c
ADD R3 <= R1 + R2
ADD R3 <= R3 + R4
SW x <= R1
Cache de instructiuni
2 instructiuni
Decodor pentru
Ordinea de De multe ori
executare a instructiuni
dependentele de date
instructiunilor I2: R4:= R1+R4 nu permit executia in
paralel
I1: R1:= R2*R3 R0
R1
R2
R3
Unitati de
executie EU1 EU2 … EUn
EU …
adresa + *
Setul de registre
Cache de date
Buffer de
Unitati de I3: R7:= R8+R9 I1: R1:= R2*R3 reordonare
executie EU1 EU2 EUn
a dr e sa + *
I4: R8
I3: R7
I2: R4
I1: R1
I4: R8
I3: R7
I2: R4
Buffer de
Unitati de I2: R4:= R1+ R4 I4: R8:= R7*R10 reordonare
executie EU1 EU2 EUn
a dr e sa + *
I4: R8
I3: R7
I2: R4
ÎÎn funcţie
f ţi de
d gradul
d l de
d acces a procesoarelor
l
auxiliare la resursele sistemului avem:
Procesoare auxiliare de tip sclav;
Coprocesoare.
a)
((controlere)) Comen i
Comenzi
auxiliare pentru Microprocesor Procesor auxiliar Semn. stare Periferic
controlul
Date
echipamentelor
periferice
Magistrale de sistem
b)
Cap.3. Arhitectura microprocesoarelor 142
msb lsb
E
Exponent
t M ti
Mantisa
a) cu exponent şi mantisă
Bitul de semn al exponentului
a)
msb lsb
31 30 23 22 0
Formatul de 32 de Biti
BS Caracteristica Mantisa
63 62 52 51 0
Formatul de 64 de Biti
BS Caracteristica Mantisa
79 78 64 63 0
Formatul de
80 de Biti
BS Caracteristica Mantisa
Cuprins
1. Noţiuni introductive, definiţii
2. Celule elementare de memorie
3. Circuite de memorie
4. Memoria cache
Obiective
Prezentarea structurilor şi a modului de funcţionare a
celulelor elementare de memorie
Prezentarea şi înţelegerea principiului de lucru a
circuitelor de memorie
Înţelegerea modului de realizare şi de operare a
memoriilor cache
Memoriile
M iil ROM şii PROM suntt memoriiii nevolatile
l til şii suntt
utilizate pentru stocarea unor date fixe (de exemplu,
constantele π, e etc.), rutine de bază ale sistemelor de
operare, programe aplicative înglobate în sisteme
dedicate etc.
a d a d
Memorie Memorie
Adresa de tip Date Adresa de tip Date
RAM ROM
R/W R
Cerere de acces Cerere de acces
a) pe bit
b) pe octet
c) pe cuvinte
d) pe cuvinte duble
0 7 0 15 8 7 0 31 24 23 16 15 8 7 0
a. b. c. d.
Structura tipică a •
•
circuitului de Adresa •
memorie
n-1
°° °
Date
Cap.4. Memoria externă 15
Adrese
date valide
Date
de siliciu
IDS
b) cu strat suplimentar de S G(WL)
IDS
două praguri, n n V GS
tranzistorul a) se p VP2 t1 t2 t
deschide (info 0 citit în WL BL
drenă) iar tranzistorul b) V GSc V GS
b) nu se deschide (info t1
1 citit în drenă). t2
Cap.4. Memoria externă t 20
Di
8
or de adresa
10
--- 1024 cuvinte a
cite 8 Biti
Decodo
Linii de adresa
1023
D0
Arie de celule
10 ROM
---
1024 cuvinte
a câte 8 Biti
Linii de adresa
1023
CS
OE
Unitate de comanda
D0 D1 D7
RAS
unui
pachet de CAS
Citire
date R/W
Scriere
R/W
r0
Memoria Memoria Hard
Cache principala discul
r31
1 ns 5 ns 20 ns 10 ms
Cap.4. Memoria externă 38
Comparator
Memoria de date
Adresa Data
Memoria de adrese
Magistrala de date
Cuprins
1. Introducere
2. Principii de organizare şi de programare
3. Circuite logice programabile
4. Circuite logice programabile complexe
5. Arii logice programabile
Obiective
Înţelegerea principiului de lucru al unui circuit
configurabil
1. Introducere [1/5]
Dacă se urmăreşte evoluţia în domeniul circuitelor
integrate digitale, se constată că, pe măsura evoluţiei în
domeniul tehnologiei, au fost realizate circuite integrate
specializate cu grade crescânde de complexitate, cum ar
fi cipuri cu porţi logice, bistabile, numărătoare, unităţi
aritmetice şi logice etc. Se poate identifica această
evoluţie în diversele familii de circuite integrate digitale,
cum ar fi familiile TTL, MOS şi CMOS.
1. Introducere [2/5]
Proiectarea cu asemenea circuite integrate presupune
ca, după faza de elaborare a schemei, să se treacă la
alegerea circuitelor integrate, dintr-o anume familie, cu
care să se poată realiza funcţiile care compun schema.
Aceste circuite integrate urmează apoi a fi montate pe
un suport, care să permită şi realizarea interconexiunilor
(cablaj imprimat).
Această procedură este costisitoare şi mare
consumatoare de timp.
Din acest motiv, în decursul anilor, au existat numeroase
preocupări vizând realizarea unor circuite programabile
sau configurabile de către utilizator.
1. Introducere [3/5]
La ora actuală, există o mare varietate de asemenea
circuite utilizabile cu eficienţă maximă la realizarea de
prototipuri, serii mici, sisteme dedicate etc.
Durata proiectării şi a punerii în funcţiune a aplicaţiilor,
folosind astfel de circuite programabile, se reduce cu
câteva ordine de mărime (la nivelul câtorva ore de lucru).
Se spune despre un circuit integrat digital că este
programabil dacă utilizatorul îl poate configura (în
funcţie de aplicaţia concretă dorită), prin programare,
astfel încât să realizeze o anumită funcţie. Aceste
circuite sunt livrate de către fabricant fără un anume
conţinut informaţional, ele urmând a fi "personalizate", în
funcţie de aplicaţie, prin programarea făcută de utilizator,
fără intervenţia fabricantului.
Cap.6. Circuite configurabile 6
1. Introducere [4/5]
Există trei mari categorii de circuite integrate digitale
programabile:
circuite de memorie care memorează informaţia (funcţia pe
care trebuie să o realizeze) nevolatil (ROM, PROM) sau volatil
(RAM);
microprocesoare (microcalculatoare) care realizează anumite
funcţii prin rularea unui program scris folosind un set prestabilit
de instrucţiuni;
circuite logice programabile la care programarea funcţiilor
logice, care pot varia de la funcţii booleene simple până la
automate finite complexe, se face prin arderea sau nu a unor
fuzibile sau prin utilizarea unor celule de memorie SRAM a căror
conţinut furnizează circuitului informaţiile necesare privind
funcţia logică care trebuie realizată, conexiunile între blocuri etc.
1. Introducere [5/8]
Observaţie:
Există o deosebire esenţială în ceea ce priveşte
programarea microprocesoarelor (microcalculatoarelor)
şi programarea circuitelor logice programabile.
În cazul microprocesorului, funcţia se realizează prin rularea
unui program scris ca o înşiruire de instrucţiuni specifice
procesorului. Fiecare instrucţiune este citită, decodificată iar apoi
executată de către microprocesor.
În cazul circuitelor logice programabile, programarea înseamnă
alegerea funcţiilor şi a interconexiunilor realizate de circuit prin
arderea unor fuzibile sau prin alegerea conţinutului unor celule
SRAM. Din acest motiv, considerăm că acestor circuite li se
potriveşte mai mult denumirea de circuite configurabile.
1. Introducere [6/8]
În funcţie de structura lor internă, circuitele logice
programabile pot fi clasificate, la rândul lor, în
următoarele trei mari categorii:
Circuite logice programabile simple
(Programmable Logic Device – PLD);
Circuite logice programabile complexe
(Complex Programmable Logic Device – CPLD);
Arii logice programabile
(Field Programmable Gate Array – FPGA).
1. Introducere [7/8]
În funcţie de modul de programare, circuitele logice
programabile pot fi clasificate de asemenea în trei
categorii:
Programabile ireversibil;
Programare se bazează pe arderea sau nu a unor fuzibile plasate în
punctele de conexiune. Un circuit odată programat, va realiza o
anumită funcţie, nefiind posibile corecturi sau modificări ulterioare.
Reprogramabile;
Aceste circuite utilizează în locul fuzibilelor tehnologia EPROM sau
EEPROM. Ambele se programează pe cale electrică şi permit
ştergerea şi reprogramarea legăturilor făcute. În cazul tehnologiei
EPROM, ştergerea este neselectivă (prin iradiere cu raze
ultraviolete), în schimb, în cazul tehnologiei EEPROM, ştergerea
este selectivă şi se face pe cale electrică. Varianta cu tehnologia
EEPROM este mai flexibilă şi mai ieftină (lipseşte fereastra de cuarţ
prin care razele ultraviolete pătrund la structura EPROM).
1. Introducere [8/8]
Configurabile în mod dinamic.
Acest tip de programare este tipică ariilor logice din ultimele
generaţii.
La aceste circuite, în punctele de conexiune şi de alegere a
funcţiilor, sunt plasate tranzistoare, funcţionând ca nişte
întrerupătoare, comandate fiecare de câte o celulă RAM statică
(SRAM).
Starea de conducţie sau de blocare a tranzistorului depinde de
informaţia prezentă în celula de memorie.
Pentru a realiza o anumită funcţie, programarea circuitului se
realizează prin încărcarea acestor celule SRAM cu unităţi sau
zerouri.
Celulele SRAM sunt interconectate într-o schemă de registru de
deplasare care în procesul de programare se încarcă serial.
Dacă se doreşte schimbarea funcţiei, adică reprogramarea
circuitului, este nevoie doar de reîncărcarea celulelor SRAM în
întregime sau parţial (zonal).
a b c d a b c d
a
b a•b•d a•b•d a•b•d
1
d
Fuzibil Fuzibil
Intact Ars
a b c d
a
b a+b+d a+b+d
0
d
Notatie:
a
b
c
d
_ _
a•b•d + a•b•c
Tact
D Q
OE
CK _
_ Q
f sau HiZ
Produse
Logice
Intrari Arie de Arie de Iesiri
circuite SI circuite SAU
a b
_ _
a•b
_
a•b
_
a•b
a•b
f1 = a
_
f 2 = a • b_
f1 f2 f3 f4
f3 = a + b _
_
f4 = a• b + a• b
a
_
a• b
_
b
_
a• b
f1 = a
_
f 2 = a • b_
f1 f2 f3 f4
f3 = a + b _
_
f4 = a• b + a• b
f1 = a
_
f 2 = a • b_
f1 f2 f3 f4
f 3 = a +_b
_
f4 = a• b + a• b
Cap.6. Circuite configurabile 28
D Q
CK _
Q
D Q
CK _
ARIE LOGICA Q
PROGRAMABILA
D Q
CK _
Q
D Q
CK _
Q
64 termeni
produs
MUP
INTERCONEXIUNI
MUP
RETEA DE
MUP
MUP
Celule logice
Celule de
intrare/iesire
Retea de
interconexiuni
Cuprins
1. Introducere
2. Structuri de tipul System on Chip
3. Sisteme Wireless
1. Standardul IEEE 802.15.4
2. Principalele caracteristici ale standardului ZigBee
Obiective
Prezentarea structurii unui System on Chip şi a unor
domenii de utilizare ale acestora
1. Introducere [1/2]
1. Introducere [2/2]
Source: ICE
3.0 1.0 0.5 0.2
Why SoCs?
increased functionality
smaller packaging
lower manufacturing costs
improved reliability
low power consumption
3. Sisteme wireless
Sistemele de tipul wireless sunt utilizate pe scară largă
în cele mai diferite domenii.
Pentru a putea înţelege acest gen de aplicaţii, este
nevoie să cunoaştem standardele de comunicaţii pe care
acestea se bazează (IEEE 802.15.4 şi ZigBee), precum
şi componentele HW care au încorporate astfel de
facilităţi.
Componentele RFD:
Sunt gândite pentru aplicaţii simple (citirea unui senzor pasiv,
aprinderea unui LED etc.)
Sunt implementate cu resurse reduse
Au capacitate de memorare redusă
Viteza de transmisie redusă
Într-o reţea este asociată unui singur FFD
Protocolul
ZigBee se
pretează
perfect
pentru
aplicaţii de
monitorizare
şi control.
Cuprins
1. Introducere
2. Schema bloc şi modul de realizare
3. Cerinţe specifice sistemelor dedicate
4. Problematica proiectării
5. Exemple tipice din domeniul medical