Sunteți pe pagina 1din 53

&I.6.

SCURTĂ TRECERE ÎN REVISTĂ


A ORGANIZĂRII
CALCULATORULUI

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 ...

Faze de execuţie a instrucţiunii


FII 3
Procesorul
• Pipelining: descompunerea în mai mulţi paşi a
execuţiei fiecărei instrucţiuni
• Execuţie simultană, pe paşi, a mai multor instrucţiuni
succesive decalate
• Creşte numărul de instrucţiuni executate în unitatea de timp
• Secvenţial: 1 instr. în 5 tacte, 2 instr. în 10 tacte,…, k în 5k
• Pipeline: 1 instr. în 5 tacte, 2 în 6 tacte,…, k în k+4 tacte
» Cel mult k în k+4 tacte !

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

• Timpul de acces: timpul dintre cerere şi


terminarea operaţiei asupra cuvântului
solicitat

• Ciclu: timpul minim dintre două cereri


succesive

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

10110100 10011100 10110101 00001001


a) date pe 32 de biţi - reprezentare liniară

Adresa ... Adresa ...


1003 1003
10110100 00001001
1002 1002
10011100 10110101
1001 1001
10110101 10011100
1000 1000
00001001 10110100
... ...

FII b) Ordinea “little-endian” c) Ordinea “big-endian” 19


Ordinea octeţilor
• Adresa de început a unei date memorate
pe un număr de octeţi egal cu un multiplu
de 4 nu depinde de “little / big - endian”
• Exemplul anterior: 1000
• Dar ordinea în care se citeşte (MSB etc. sau
LSB etc.), depinde de această convenţie
• Little-endian - folosit la Pentium
• Big-endian - implicit folosit la PowerPC
• Procesoarele moderne permit configurarea
FII 20
Probleme la proiectare
• TIMP: Memorii încete
Problema: diferenţă mare de viteză între procesor şi
memorie
– făcând procesorul să aştepte cea mai mare parte a timpului
Soluţie: Memoria cache (Cache memory)
– Se foloseşte o mică memorie rapidă
– Memoria înceată pare a fi devenit rapidă
– Are efect datorită “legilor localizării”
• SPAŢIU: Limitări de capacitate
– Cantitate limitată de memorie fizică în unitatea de
memorie
• Tehnici de refolosire a zonelor de memorie prin suprapunere
– în timpul rulării programului (folosirea dinamică a memoriei)
– gestionate de programator
– Memoria virtuală
• Automatizează gestionarea suprapunerilor
FII
• Aduce şi alte câştiguri 21
Folosirea memoriilor cache

Prelucrarea
instrucţiunii
Aritmetica Aritmetica în
întreagă virgulă mobilă

Cache pt. Cache pt.


instrucţiuni date

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)

• Perifericele de intrare – ieşire (I/O devices) au


interfaţa gestionată de câte un I/O controller

• Gestionează detalii legate de operaţiile de nivel


jos (periferic)

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

x y F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15

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  ...

• 12D. 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

• Pentru calculatoarele actuale, operaţiile


elementare la nivelul circuitelor de bază
sunt operaţiile logicii booleene
– care simulează şi operaţiile aritmetice
elementare în baza 2.
• Un circuit combinaţional poate fi văzut ca
implementând o funcţie booleană.

FII 53

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