Sunteți pe pagina 1din 53

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Jumtatea a 2-a a semestrului


curs
structura hardware a unui sistem de calcul
finalizare - test scris (sptmna a 8-a)
condiie susinere test - cel mult 2 absene la
laborator

laborator
limbaj de asamblare
finalizare - test practic (sptmna a 7-a)
1

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Cuprins
I.
II.
III.
IV.
V.
VI.
VII.

Structura unui sistem de calcul


Memoria
Unitatea central de procesare (CPU)
mbuntirea performanei CPU
Pipeline
Sistemul de ntreruperi
Sistemul de operare
2

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

I. Structura
unui sistem de calcul

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Componentele principale

Unitatea central de procesare (CPU)


Memoria
Dispozitive periferice (I/O = input/output)
Magistrale
de date
de adrese
de control
4

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Unitatea central de procesare


numit i procesor
execut instruciunile indicate de
programator
realizeaz prelucrarea datelor
coordoneaz funcionarea celorlalte
componente
5

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Memoria
stocarea informaiilor
date
instruciuni

furnizarea informaiilor la cerere


rol pasiv
"rspunde" la cererile venite din exterior
nu iniiaz niciodat un transfer
6

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Dispozitivele periferice
comunicarea cu exteriorul
funcii - foarte variate

preluare date
afiare
imprimare
stocare (persistent)
etc.
7

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Magistralele
ci de legtur ntre CPU, memorie i
periferice
dup informaia care le parcurge
de date - date i instruciuni
de adrese - adrese pentru memorie i
dispozitive periferice
de control - semnale prin care CPU comunic
cu celelalte circuite i le controleaz
8

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

II. Memoria

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Tipuri de memorie
ROM (Read-Only Memory)
coninutul su poate fi citit, dar nu i modificat
nevolatil (nu i pierde coninutul la
ntreruperea alimentrii)

RAM (Random Access Memory)


coninutul su poate fi citit i modificat
volatil (i pierde coninutul la ntreruperea
alimentrii)
10

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Memoria ROM - tehnologii


PROM (Programmable ROM) - coninutul
su poate fi programat de utilizator
EPROM (Erasable PROM) - poate fi ters
i reprogramat de mai multe ori
UVEPROM (Ultra-Violet EPROM) - tergere
prin expunere la radiaie UV
EEPROM (Electrical EPROM) - tergere prin
impulsuri electrice
11

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Memoria RAM - tehnologii


SRAM (Static RAM)
vitez mare
pre ridicat

DRAM (Dynamic RAM)


mai lent
densitate de integrare mare spaiu ocupat
mic
pre mai redus
12

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Structura memoriei (1)


ir unidimensional de celule (locaii)
fiecare celul are asociat un numr unic adresa
bloc decodificare - selecteaz locaia cu
adresa indicat
dimensiunea circuitului de memorie - dat
de numrul de bii de adres
dimensiune = 2nr_biti_adresa
13

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Structura memoriei (2)

14

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Caracteristici tehnice
timpul de acces
durata dintre momentul primirii comenzii i
momentul furnizrii rezultatului
acelai pentru toate celulele dintr-un circuit
ordin de mrime: nanosecunde

capacitatea
pn la 256 GB/circuit
n cretere continu
15

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

II.1. Memoria cache

16

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Problema
procesorul este mai rapid dect memoria
este obligat s atepte pn cnd primete
datele i instruciunile din memorie

performana procesorului nu este exploatat


cauze
dezvoltarea tehnologic
factori economici
17

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Soluia
legile localizrii - determinate empiric
valabile pentru marea majoritate a
aplicaiilor
tipuri de localizare
spaial
temporal
18

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Localizare temporal
dac o locaie de memorie este accesat la
un moment dat, este foarte probabil s fie
accesat din nou n viitorul apropiat
exemple
variabilele sunt folosite n mod repetat
bucle de program - instruciunile se repet
19

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Localizare spaial
dac o locaie de memorie este accesat la
un moment dat, este foarte probabil ca i
locaiile vecine s fie accesate n viitorul
apropiat
exemple
parcurgerea tablourilor
bucle de program
20

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Legile localizrii - consecine


la un moment dat, un program folosete
numai o (mic) parte din locaiile sale de
memorie
un circuit de capacitate mai mic poate
reine aceste locaii
acest circuit poate fi mai rapid
sporul de performan poate fi major
21

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Memoria cache
circuit rapid i de capacitate mic
interpus ntre procesor i memoria principal

reine locaiile din memoria principal


accesate cel mai recent de procesor
procesorul solicit coninutul unei locaii
se caut mai nti n cache
dac locaia nu este gsit n cache - cutare n
memoria principal
22

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Caracteristici
Viteza
foarte mare - la acelai nivel cu procesorul
tehnologie performant (SRAM)
dimensiune redus bloc de decodificare mai
simplu, deci mai rapid

Preul
rezonabil
datorit dimensiunii reduse
23

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Parametri de performan (1)


H - rata de succes (hit ratio)
procentajul cazurilor n care locaia cutat a
fost gsit n cache

M - rata de insucces (miss ratio)


procentajul cazurilor n care locaia cutat nu a
fost gsit n cache

0 H, M 1
M=1-H
24

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Parametri de performan (2)


Tc - timpul de acces la cache
Tm - timpul de acces la memorie n cazul
unei ratri n cache
T - timpul mediu de acces la memorie (cu
cache)
Tp - timpul de acces la memoria principal
(n absena cache-ului)
25

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Performana memoriei cache (1)


T = Tc H + Tm M
dac T < Tp spor de vitez
T - mrime statistic
cazuri extreme
H=100% (M=0): T = Tc ideal
H=0 (M=100%): T = Tm pierdere de vitez
(Tm > Tp)
26

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Performana memoriei cache (2)


Situaia real - exemplu
Tc = 2 ns
Tp = 10 ns
Tm = 11 ns
H = 95%
T = 2.45 ns = 0.245 Tp viteza de acces
crete de peste 4 ori
27

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Adresare
adresa din cache nu corespunde cu adresa
din memoria principal
cutarea se face dup adresa din memoria
principal
deci cache-ul trebuie s rein i adresele
locaiilor n memoria principal
28

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Linii de cache
cache-ul se folosete de localizarea
temporal
cum se poate exploata i localizarea
spaial?
cnd se aduce o locaie n cache, se aduc i
locaiile vecine
acestea formeaz o linie de cache
29

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Politica de nlocuire
cache mic - se umple repede
noi linii aduse n cache - trebuie eliminate
altele mai vechi
eliminare - scriere n memoria principal

care linii trebuie eliminate?


scopul - creterea vitezei

cele care nu vor fi accesate n viitorul


apropiat !!!
30

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

mbuntirea performanei
depinde de dou mrimi
timpul de acces la cache (Tc)
rata de succes (H)

nu pot fi optimizate simultan


influenate de
tehnologie
politica de nlocuire
31

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Tipuri constructive de cache

cu adresare direct (direct mapped cache)


total asociativ (fully associative cache)

parial asociativ (set associative cache)

32

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Cache cu adresare direct (1)


plasarea unei locaii n cache
linia de cache este ntotdeauna aceeai
depinde de adresa din memoria principal

adresa din memoria principal - 3 pri


eticheta - se memoreaz n cache
selectorul liniei de cache
selectorul octetului n cadrul liniei
33

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Cache cu adresare direct (2)

34

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Cache cu adresare direct (3)


Exemplu
adresa n memoria principal - 32 bii
dimensiune cache: 211 linii 25 octei/linie
adresa n memoria principal se mparte n
selectorul liniei de cache - 11 bii
selectorul octetului n cadrul liniei - 5 bii
eticheta - 16 bii ( = 32 11 5)
35

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Cache cu adresare direct (4)


Exemplu (continuare)
adresa n memoria principal: 45097373(10)
00000010101100000010000110011101(2)
eticheta: 0000001010110000(2)=688(10)
linia de cache: 00100001100(2)=268(10)
octetul n cadrul liniei: 11101(2)=29(10)
36

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Cache cu adresare direct (5)


Exemplu (continuare)
Ce adrese din memoria principal sunt
aduse n linia de cache?
000000101011000000100001100xxxxx(2)
00000010101100000010000110000000
0000010101100000010000110011111(2)
45097344 45097375(10)
37

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Cache cu adresare direct (6)


Coninutul unei linii de cache
un bit care indic dac linia conine date
valide
iniial, toate liniile sunt goale, deci invalide

cmpul etichet
datele propriu-zise, aduse din memoria
principal
38

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Cache cu adresare direct (7)


Avantaje
implementare simpl
timp de acces (Tc) redus
Dezavantaje
lips de flexibilitate
politic de nlocuire neperformant - rat de
succes (H) sczut
39

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Cache cu adresare direct (8)


Exemplu
for(i=0;i<1000;i++) a=a+i;
adrese: i3806240, a 1756566572
ambele sunt memorate n cache n linia 161
accese alternative nlocuiri dese n cache
numr mare de ratri
40

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Cache total asociativ (1)


realizat cu memorii asociative
memoria obinuit - acces la o locaie pe baza
adresei sale
memoria asociativ - permite i regsirea
locaiei pe baza coninutului su
implementare - valoarea cutat este comparat
n paralel cu toate locaiile
de ce n paralel?
41

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Cache total asociativ (2)


Avantaje
plasarea datelor din memoria principal - n
orice linie de cache
se pot alege convenabil adresele aduse n
linia de cache
se pot implementa politici de nlocuire
eficiente - rat de succes (H) ridicat
42

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Cache total asociativ (3)


Dezavantaje
timp de acces (Tc) mare
memoriile asociative - lente
algoritmi compleci de nlocuire - timp
suplimentar consumat

hardware complicat pentru memoriile


asociative i algoritmii de nlocuire
43

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Cache parial asociativ (1)


numit i cache asociativ pe seturi
derivat din cache-ul cu adresare direct
fiecare linie de cache conine mai multe
seturi de date (4, 8, 16, ...)
structura unui set
bit de validare
etichet
date din memoria principal
44

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Cache parial asociativ (2)

45

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Cache parial asociativ (3)


Timpul de acces (Tc)
puin mai mare dect la cache-ul cu adresare
direct
trebuie verificate toate cele n seturi

Rata de succes (H)


ridicat
elimin problema suprapunerilor
46

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Scrierea n cache (1)


scriere ntr-o locaie care nu se afl n cache
unde se face scrierea?
variante
doar n memoria principal - nu se poate
de ce?

doar n cache (write-back)


att n cache, ct i n memoria principal
(write-through)
47

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Scrierea n cache (2)


Cache de tip write-back
scrierea se face doar n cache
datele ajung n memoria principal doar la
evacuarea din cache
vitez mare
probleme n sistemele multiprocesor
48

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Scrierea n cache (3)


Cache de tip write-through
scrierea se face att n cache, ct i n
memoria principal
mai lent
datorit accesului la memoria principal

ambele tipuri de cache sunt larg folosite


49

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Conceptul de cache - extindere


aplicabil nu doar la procesoare
tipul de problem: comunicarea cu o
entitate lent, de mare capacitate
soluia: interpunerea unei entiti cu
capacitate mai mic i vitez mai mare
reine ultimele date vehiculate
50

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Unde mai putem folosi ideea?

Aplicabilitate
oriunde funcioneaz legile localizrii
hardware
software

51

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Exemple (1)
Cache-uri de disc
2 direcii de aplicare
hardware - circuit de memorie integrat n
controller
software - o zon din memoria sistem

entitatea mai mare i lent - discul


entitatea mai mic i rapid - memoria
52

Arhitectura calculatoarelor i sisteme de operare - partea a II-a

Exemple (2)
Browserul web
ultimele pagini accesate sunt reinute pe
disc
numai localizare temporal - de ce?

entitatea mai mare i lent - reeaua


(Internet)
entitatea mai mic i rapid - discul
53

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