Documente Academic
Documente Profesional
Documente Cultură
FII 1
&I.6.1.
PROCESORUL
FII 2
Procesorul
• Ciclu de execuţie
• Fetch (căutare şi încărcare)
• Decodificare
• Execuţie operaţie
• Arhitectura von Neumann
• Modelul programului memorat
– Nici o deosebire la nivel fizic între datele de prelucrat şi instrucţiunile care le
prelucrează
– Deosebirile apar la execuţie
– Instrucţiunile se execută secvenţial
Ciclu de execuţie
II ID OI IE R
Încărcarea Decodificarea Încărcarea Executarea Scrierea
instrucţiunii instrucţiunii operanzilor operaţiei rezultatului ...
Stadiu
S5:R I1 I2 I3 I4 I5 I6 ...
S4:IE I1 I2 I3 I4 I5 I6 ...
S3:OI I1 I2 I3 I4 I5 I6 ...
S2:ID I1 I2 I3 I4 I5 I6 ...
S1:II I1 I2 I3 I4 I5 I6 ...
1 2 3 4 5 6 7 8 9 10 timp
Procesorul
• Alt mod de a reprezenta execuţia în pipeline:
Instrucţiune
I5 II ID OI IE R
I4 II ID OI IE R
I3 II ID OI IE R
I2 II ID OI IE R
I1 II ID OI IE R
1 2 3 4 5 6 7 8 9 10 timp
FII 5
Procesorul - Arhitecturi RISC/CISC
• Reduced Instruction Set Computer
• Are instrucţiuni–maşină simple
• Instrucţiunile mai complicate se obţin din cele simple ca
secvenţe
• Operanzii – în regiştrii procesorului
» nu în memorie
• Proiectarea se simplifică
» d.e., instrucţiunile au lungimi fixe
• Complex Instruction Set Computer
• Foloseşte instrucţiuni-maşină complexe
• Operanzii pot fi în regiştrii procesorului sau în memorie
» Lungimea instrucţiunilor nu este fixă
• De obicei se foloseşte microprogramarea
» o instrucţiune în limbaj maşină devine un program scris
cu instrucţiuni şi mai simple
» abia acestea din urmă sunt executate prin construcţie
(cablate) şi nu ca un program
FII 6
Procesorul
Implementarea RISC
Implementarea CISC
FII 7
Procesorul
• Microprogramare: dacă apar modificări la nivelul
ISA, acestea se pot implementa schimbând doar
microprogramul (nu circuitele)
FII 8
&I.6.2.
MEMORIA
FII 9
Memoria
• Şir ordonat de octeţi (nivel logic)
• Fiecare octet are un predecesor (cu excepţia
primului) şi un succesor (cu excepţia ultimului)
• Nivel fizic: matrice de matrici; piste concentrice
• Adresa absolută a unui octet: numărul
său de ordine din şir
– memorie adresabilă la nivel de octet
• fiecare octet are o adresă unică
– numerotarea începe de la 0
– adresa absolută indică poziţia faţă de primul
octet din memorie
FII 10
Alte tipuri de adrese
• Adresa relativă a unui octet: indică poziţia sa
faţă de un octet de referinţă, altul decât primul
octet din memorie
• Adresa absolută a octetului de referinţă se numeşte adresă
de bază
• De regulă, de la adresa de bază începe zona rezervată
programului / datelor din care face parte octetul indicat prin
adresă relativă
• Adresă simbolică: identificator alfanumeric
(“nume”) ataşat adresei relative a unui octet
• Exemplu: numele variabilelor
• Corespondenţa adrese simbolice – adrese relative este
făcută de compilator, printr-o tabelă
FII 11
Măsuri ale performanţei memoriei
FII 12
Memorii DRAM şi SRAM
• Memoria principală este de tip DRAM
– Dynamic Random Access Memory
– Dinamică: necesită reîmprospătare periodică (refresh)
• la fiecare 8 milisecunde (“rar”)
– Adresele sunt constituite din 2 jumătăţi
• memoria ca matrice bidimensională
• RAS (Row Access Strobe)
• CAS (Column Access Strobe)
• Pentru memoria cache se utilizează SRAM
– Static Random Access Memory
– Nu necesită refresh
• 6 tranzistori / bit faţă de 1 tranzistor /bit;
• Dimensiunea fizică creşte de 10 ori
– Adresele nu sunt divizate în cele două jumătăţi
FII 13
Spaţiul adreselor de memorie
• Element esenţial al arhitecturii unui
calculator
• Dimensiunea sa este strâns legată de
capacitatea magistralei de adrese
• La Pentium, capacitatea busului de adrese
este de 32 de biţi
– Spaţiul de adrese 4GB (232)
FII 14
Memoria – adrese absolute
Adresa (în Adresa
zecimal) (în hexa)
232-1 FFFFFFFF
FFFFFFFE
FFFFFFFD
2 00000002
1 00000001
0 00000000
FII 15
Memoria
• Unitatea de memorie – comunicare cu exteriorul
– Adresare
– Date
– Semnale de control
• Read
• Write
Adresa
Unitate de Date
Read memorie
Write
FII 16
Ciclul “citire memorie” (Read)
– activitatea procesorului
1. Aducerea adresei de citire pe busul de adrese
(MAR)
2. Emiterea semnalului de control “citire memorie” (UC)
3. Aşteptare până când memoria găseşte data de citit
• E nevoie de starea de aşteptare (wait state) dacă
memoria utilizată este înceată
4. Citirea datei de pe busul de date (MDR)
5. Inactivarea semnalului de control “citire memorie”
(UC)
• Pentium: o citire necesită trei cicluri de ceas (tacte)
• Clock 1: paşii 1 şi 2
• Clock 2: pasul 3
• Clock 3 : paşii 4 şi 5.
FII 17
Ciclul “scriere memorie” (Write) –
activitatea procesorului
1. Aducerea adresei de scriere pe busul de adrese
2. Activarea semnalului de control “scriere memorie”
3. Aducerea datei de scris pe busul de date
4. Aşteptare până când memoria efectuează scrierea
• starea de aşteptare (wait state) dacă memoria
este înceată
5. Inactivarea semnalului de control “scriere
memorie”.
• La Pentium, o scriere necesită trei cicluri de ceas
• Clock 1: paşii 1 şi 2
• Clock 2: pasul 3
• Clock 3 : paşii 4 şi 5
FII 18
Ordinea octeţilor
Bitul cel mai
Bitul cel mai puţin
semnificativ semnificativ
Prelucrarea
instrucţiunii
Aritmetica Aritmetica în
întreagă virgulă mobilă
Unitatea de interfaţă cu
magistrala
FII 22
Magistrala sistem
Memoria virtuală
• Un program se poate memora în zone
necontigue
– de unde se aduc în fiecare moment doar
instrucţiunile / datele necesare în acel
moment (“pagini”)
• Devin posibile spaţii logice de adrese
(virtuale) “oricât de mari”
• Permite multiprogramarea pe scară mai
mare.
FII 23
Comunicare în mecanismul de
memorie virtuală
Adresă Translare Adresă Eşec
UCP virtuală fizică Memorie
adrese Cache
principală
Succes
Date
Frame Pagină
(fizic) (logic)
Regiştri Cache
Memorie Disc
principală
FII 24
Proiecţia memoriei virtuale
pe memoria fizică
Cores-
pondenţa
Memoria fizică
Memoria virtuală
FII 25
&I.6.3.
INTRĂRI - IEŞIRI
FII 26
Intrări – ieşiri (Input/Output)
FII 27
Intrări - ieşiri
• Mai multe feluri de a “vedea” I/O
– I/O Proiectat pe memorie (memory-mapped I/O)
• Citirile / scrierile sunt “văzute” ca şi când s-ar face din / în
memorie
• Aceleaşi semnale de control ca pentru citire/scriere din/în
memorie
• Aşa fac cele mai multe procesoare
– I/O izolate
• Spaţiul de adrese pentru “locaţiile” I/O diferă de cel al
memoriei
• Semnale de control R/W diferite de ale memoriei
• Pentium foloseşte I/O izolate
– dar şi I/O proiectate pe memorie
FII 28
Comunicare cu perifericele
Date
Magistrală de adrese
Stare
Magistrala sistem
Comanda
Magistrală de date
Dispozitiv I/O
Controller I/O
Magistrală de control
FII 29
Modalităţi de transmitere date I/O
• Intrări – ieşiri programate (programmed I/O)
– Programul foloseşte o buclă “busy-wait”
– Se aplică transferurilor pentru care se ştie de la început
momentul când vor apărea
• Acces direct la memorie (Direct Memory Access -
DMA)
– Un controller special (DMA controller) efectuează
transferurile
• I/O gestionate prin întreruperi (Interrupt-driven I/O)
– Întreruperile sunt folosite pentru a iniţia şi / sau termina
transferuri de date
• Tehnică extrem de eficientă
• Utilizată pentru transferuri despre care nu se ştie de la început când
vor apărea
FII 30
Interconexiuni
• Componentele unui sistem de calcul sunt
interconectate prin magistrale (bus-uri)
– Bus: mai multe fire pentru comunicaţii de date
• La diverse niveluri, se folosesc mai multe bus-uri
– Magistrale “on-chip”
• Interconectează UAL şi regiştrii
– Magistralele A, B, şi C din exemplul de la finalul cursului anterior
• Există bus de date şi bus de adrese – pentru legături cu memoria
cache din chip
– Magistrale interne
• PCI, AGP, PCMCIA
– Magistrale externe
• Seriale, paralele, USB, IEEE 1394 (FireWire)
– Conectori, porturi
FII 31
&I.7.
O PERSPECTIVĂ ISTORICĂ
FII 32
• Pre-generaţii
– “Difference engine” a lui Charles Babbage
• Generaţia tuburilor cu vid
– Anii 1940 - 1950
• Generaţia tranzistorilor
– Aproximativ anii 1950 - 1960
• Generaţia circuitelor integrate
– 1960 - 1970
• Generaţia VLSI
– De la mijlocul anilor ‘70
FII
– ULSI etc. 33
Evoluţia tehnologică
• Densitatea tranzistorilor
• Până prin 1990, se dubla la fiecare 18…24 luni
• De atunci, dublare la fiecare 2 ani şi jumătate
• Densitatea memoriei
• Până în 1990, quadruplare la fiecare 3 ani
• De atunci, la fiecare 5 ani
• Capacităţile diverselor tipuri de discuri
• La 3.5”
• La 2.5”
• La 1.8” (e.g., periferice portabile USB)
FII 34
Evoluţia tehnologică: integrare
FII 35
Evoluţia tehnologică (memorie)
FII 36
Evoluţia tehnologică (discuri)
FII 37
Submultipli;
scara binară a multiplilor
(sub)multiplu Zecimal Binar
p (pico) 10-12 -
n (nano) 10-9 -
μ (micro) 10-6 -
m (mili) 10-3 -
Unitatea 1 (=100) 1 (=20)
K (kilo) (103) 210
M (mega) (106) 220
G (giga) (109) 230
T (tera) (1012) 240
FII 38
P (peta) (1015) 250
Capitolul al-II-lea
CIRCUITE COMBINAŢIONALE ŞI
FUNCŢII BOOLEENE
&II.1. INTRODUCERE
FII 40
Semnal analogic şi
semnal digital
• Semnal analogic
– continuu
• dacă a luat valorile a şi b, atunci a luat şi “toate” valorile
din [a,b].
• Semnal digital
– are câteva niveluri – valori – distincte şi stabile
– discontinuu
– nu ia alte valori (…)
• Indiferent de fenomenul fizic aflat la bază
• Calculator: semnal digital cu 2 niveluri
• “0” şi “1” …
• Modem: comunicare digital – analogic.
• Conducerea proceselor industriale
FII • Folosirea reţelelor telefonice analogice 41
Aplicaţii ale circuitelor digitale
• Calculatoare
– CPU, memorie, bus, periferice,…
• Reţele, comunicaţii
– telefoane, modemuri, routere
• Bunuri diverse
– automobile, audio-video, jucării, …
• Echipament pentru (alte) activităţi ştiinţifice
– Testare, măsurare etc.
• Lumea calculului se extinde mult dincolo de PC.
• embedded systems
• definiţii restrânse ale calculului
FII 42
Circuite
• Combinaţionale:
I1 O1 IEŞIRI
INTRĂRI
In
Om
• Secvenţiale:
I1 o1
INTRĂRI parte IEŞIRI
In Om
combina-
ţională
STĂRI
memorie
FII 43
Metoda cutiei negre
• Pentru un circuit combinaţional a cărui
structură / funcţionare nu este cunoscută:
– se aplică fiecare combinaţie posibilă de valori ale
intrărilor;
– se observă valorile ieşirilor pentru fiecare astfel de
combinaţie
– se obţine astfel un tabel de adevăr.
• Cum unui tabel de adevăr îi corespunde o
funcţie booleană, rezultă că fiecărui circuit
combinaţional îi corespunde o funcţie
booleană.
FII 44
De la circuite la funcţii booleene
• Circuit combinaţional tabel de adevăr
I1 ……. In O1 ……. Om
0 0….0 0 ? ?….? ?
0 0….0 1 ? ?….? ?
……. ……. ……. ……. ……. …….
1 1….1 1 ? ?….? ?
• n fixat: partea de intrare e întotdeauna aceeaşi
• Întotdeauna aceeaşi corespondenţă pentru un
circuit (determinist)
FII 45
&II.2. FUNCŢII BOOLEENE
FII 46
Structura algebrică
• Mulţimea nevidă B
• Mulţimea de operaţii binare { + , • }
• O operaţie unară { }
• B conţine cel puţin două elemente,
a, b, a b.
• închidere: a + b este în B
a • b este în B
a este în B
FII 47
Funcţii booleene
• B = {0,1}
• f : Bn Bm
• funcţie: n variabile, m valori
• circuit: n intrări, m ieşiri
m 2n
• Există (2 ) astfel de funcţii.
• n=1, m=1 : 4 funcţii unare cu o valoare.
x f0(x) = 0 f1(x) = x f2(x)= x f3(x) = 1
0 0 0 1 1
1 0 1 0 1
FII 48
Funcţii booleene
de două variabile
• 16 funcţii booleene complet definite de 2
variabile şi cu o valoare.
X
F
Y
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
X X xor Y X=Y not X 1
Y
FII 0 X and Y X or Y X nor Y not Y X nand 49
Y
Axiome şi teoreme
în algebra booleană
• Identitate 1. X + 0 = X 1D. X • 1 = X
• Constante 2. X + 1 = 1 2D. X • 0 = 0
• Idempotenţă 3. X + X = X 3D. X • X = X
• Involuţie 4. X = X
• Complementaritate 5. X + x = 1 5D. X • x = 0
• Comutativitate 6. X + Y = Y + X 6D. X • Y = Y • X
• Asociativitate 7. (X + Y) + Z = X + (Y + Z)
7D. (X • Y) • Z = X • (Y • Z)
• Distributivitate 8. X • (Y + Z) = (X • Y) + (X • Z)
8D. X + (Y • Z) = (X + Y) • (X + Z)
• Unificare 9. X • Y + X • Y = X 9D. (X + Y) • (X + Y) = X
• Absorbţie 10. X + X • Y = X 10D. X • (X + Y) = X
11. (X + Y ) • Y = X • Y 11D. (X • Y) + Y = X + Y
FII 50
Legile lui De Morgan
• 12. X Y ... X Y ...
• Dualitate
FII 51
Forme normale
• Plecând de la tabelul de adevăr al unei funcţii,
se pot obţine două expresii diferite pentru acea
funcţie:
• Forma normală disjunctivă
– Pentru fiecare 1 din ultima coloană, se scrie un
termen ce conţine doar conjuncţii
– Termenii se leagă prin disjuncţie
– Fiecare termen conţine fiecare variabilă a funcţiei
• negată, dacă în linia acelui 1 variabila apare cu valoarea 0
• nenegată pentru 1
• Exemplu: F9(x,y)=x·y + x·y
• Forma normală conjunctivă: dual
• Exemplu: F9(x,y)= (x+y)·(x+y)
FII 52
Operaţiile calculatorului
la nivel logic elementar
FII 53