Sunteți pe pagina 1din 50

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

IV.8. Hyperthreading

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

Hyperthreading (1)
avem un singur procesor real, dar acesta apare ca dou procesoare virtuale sunt duplicate componentele care rein starea procesorului
regitrii generali regitrii de control regitrii controlerului de ntreruperi regitrii de stare ai procesorului
2

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

Hyperthreading (2)
nu sunt duplicate resursele de execuie
unitile de execuie unitile de predicie a salturilor magistralele unitatea de control a procesorului

procesoarele virtuale execut instruciunile n mod ntreptruns


3

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

De ce hyperthreading?
exploateaz mai bine structura pipeline
cnd o instruciune a unui procesor virtual se blocheaz, cellalt procesor preia controlul

nu ofer acelai ctig de performan ca un al doilea procesor real dar complexitatea i consumul sunt aproape aceleai cu ale unui singur procesor
componentele de stare sunt foarte puine
4

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

IV.9. Arhitectura RISC

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

Structura clasic a CPU


CISC (Complex Instruction Set Computer) numr mare de instruciuni complexitate mare a instruciunilor timp mare de execuie numr mic de regitri acces intensiv la memorie
6

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

Observaii practice
multe instruciuni sunt rar folosite 20% din instruciuni sunt executate 80% din timp
sau 10% sunt executate 90% din timp depinde de sursa de documentare...

instruciunile complexe pot fi simulate prin instruciuni simple


7

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

Structura alternativ
RISC (Reduced Instruction Set Computer) set de instruciuni simplificat
instruciuni mai puine (relativ)
i mai simple funcional (elementare)

numr mare de regitri (zeci) mai puine moduri de adresare a memoriei


8

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

Accesele la memorie
format fix al instruciunilor
acelai numr de octei, chiar dac nu toi sunt necesari n toate cazurile mai simplu de decodificat

arhitectur de tip load/store


accesul la memorie - doar prin instruciuni de transfer ntre memorie i regitri restul instruciunilor lucreaz doar cu regitri
9

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

Avantajele structurii RISC


instruciuni mai rapide reduce numrul de accese la memorie
depinde de capacitatea compilatoarelor de a folosi regitrii

accesele la memorie - mai simple


mai puine blocaje n pipeline

necesar de siliciu mai mic - se pot integra circuite suplimentare (ex. cache)
10

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

IV.10. Arhitecturi paralele de calcul

11

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

Calcul paralel - utilizare


comunicare ntre aplicaii
poate fi folosit i procesarea concurent

performane superioare
calcule tiinifice volume foarte mari de date modelare/simulare
meteorologie, astronomie etc.
12

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

Cum se obine paralelismul?


structuri pipeline
secvenial/paralel

sisteme multiprocesor
unitile de calcul - procesoare

sisteme distribuite
unitile de calcul - calculatoare
13

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

Performana
ideal - viteza variaz liniar cu numrul de procesoare real - un program nu poate fi paralelizat n ntregime exemple
operaii de I/O sortare-interclasare
14

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

Scalabilitatea (1)
creterea performanei o dat cu numrul procesoarelor probleme - sisteme cu foarte multe procesoare factori de limitare
complexitatea conexiunilor timpul pierdut pentru comunicare natura secvenial a aplicaiilor
15

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

Scalabilitatea (2)
funcional pentru un numr relativ mic de procesoare numr relativ mare
creterea de performan nu urmeaz creterea numrului de procesoare

numr foarte mare


performana se plafoneaz sau poate scdea
16

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

Sisteme de memorie
dup organizarea fizic a memoriei
centralizat distribuit

dup tipul de acces la memorie


comun (partajat) local
17

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

Tipuri de sisteme multiprocesor

sisteme cu memorie partajat centralizat sisteme cu memorie partajat distribuit sisteme cu schimb de mesaje

18

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

Memorie partajat centralizat


denumiri
UMA (Uniform Memory Access) SMP (Symmetrical Multiprocessing)

memorie comun accesibil tuturor procesoarelor timpul de acces la memorie


acelai pentru orice procesor i orice locaie
19

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

Memorie partajat distribuit


denumiri
DSM (Distributed Shared Memory) NUMA (Non-Uniform Memory Access)

memoria este distribuit fizic spaiu de adrese unic


vzut de toate procesoarele

accesul la memorie - neuniform


20

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

Sisteme cu schimb de mesaje


multicalculatoare fiecare procesor are propria memorie local
nu este accesibil celorlalte procesoare

comunicarea ntre procesoare


transmiterea de mesaje explicite similar reelelor de calculatoare
21

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

Comunicare
conectarea
ntre procesoare ntre procesoare i memorie

variante
sisteme cu memorie partajat centralizat magistral sisteme cu memorie partajat distribuit - reele de interconectare
22

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

Comunicare pe magistral
economic proiectare simpl performan mai redus nu scaleaz bine cu numrul de procesoare rol important - memoriile cache
probleme de coeren
23

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

Reele de interconectare (1)


ntre
procesoare procesoare i memorie

scop
flexibilitate performan
mai multe accese n paralel
24

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

Reele de interconectare (2)


tipuri de conectare
total - fiecare cu fiecare parial - unele perechi de componente nu sunt conectate direct

conectare procesoare-memorii
mai multe circuite de memorie pot fi accesate n paralel de procesoare diferite
25

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

Coerena memoriei
trebuie ca toate procesoarele s foloseasc ultima valoare scris pentru o variabil partajat problema - memoriile cache scopul - orice variabil partajat s aib aceeai valoare
n toate cache-urile n memoria principal
26

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

Coerena - cache write-back


x - variabil partajat
Procesor A B A B Aciune i=x; j=x; x=5; k=x; Valoare cache A 9 9 5 5 Valoare cache B Valoare memorie 9 9 9 9 9
27

9 9 9

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

Coerena - cache write-through


x - variabil partajat
Procesor A B A B Aciune i=x; j=x; x=5; k=x; Valoare cache A 9 9 5 5 Valoare cache B Valoare memorie 9 9 9 5 5
28

9 9 9

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

Ce nseamn coerena? (1)


1. ordinea execuiei
a) procesorul P scrie n variabila X b) apoi procesorul P citete X ntre a) i b) nu exist alte scrieri n X citirea b) returneaz valoarea scris de a)
29

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

Ce nseamn coerena? (2)


2. viziune coerent a memoriei
a) b) procesorul P scrie n variabila X apoi procesorul Q (QP) citete X ntre a) i b) nu exist alte scrieri in X ntre a) i b) a trecut suficient timp

citirea b) returneaz valoarea scris de a)


30

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

Ce nseamn coerena? (3)


3. serializarea scrierilor
a) procesorul P scrie n variabila X b) procesorul Q (Q=P sau QP) scrie n variabila X toate procesoarele vd cele dou scrieri n aceeai ordine nu neaprat a) naintea b)
31

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

Meninerea coerenei cache-urilor


protocoale de meninere a coerenei se bazeaz pe informaiile despre liniile de cache
invalid - datele nu sunt valide dirty - doar cache-ul curent deine valoarea actualizat shared - cache-ul curent deine valoarea actualizat, la fel memoria principal i eventual alte cache-uri
32

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

Tipuri de protocoale
directory based
informaiile despre fiecare linie de cache inute ntr-un singur loc

snooping
fiecare cache are o copie a liniei partajate fr centralizarea informaiei cache-urile monitorizeaz magistrala
detecteaz schimbrile produse n liniile de cache
33

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

Actualizarea cache-urilor
fiecare cache anun modificrile fcute celelalte cache-uri reacioneaz conteaz doar operaiile de scriere variante
scriere cu invalidare (write invalidate) scriere cu actualizare (write update)
34

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

Scriere cu invalidare (1)


un procesor modific o dat modificarea se face n cache-ul propriu
toate celelalte cache-uri sunt notificate

celelalte cache-uri
nu au o copie a datei modificate - nici o aciune au o copie a datei modificate - i invalideaz linia corespunztoare valoarea corect va fi preluat cnd va fi nevoie
35

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

Scriere cu invalidare (2)


x - variabil partajat Reacie Cache Cache Memorie Proc. Aciune A B cache 9 A i=x; read miss 9 9 B j=x; read miss 9 9 9 A x=5; invalidation 5 inv. 9 B k=x; read miss 5 5 5
36

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

Scriere cu actualizare (1)


un procesor modific o dat modificarea se face n cache-ul propriu
toate celelalte cache-uri sunt notificate se transmite noua valoare

celelalte cache-uri
nu au o copie a datei modificate - nici o aciune au o copie a datei modificate - preiau noua valoare
37

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

Scriere cu actualizare (2)


x - variabil partajat Reacie Cache Cache Memorie Proc. Aciune A B cache 9 A i=x; read miss 9 9 B j=x; read miss 9 9 9 A x=5; invalidation 5 5 5 B k=x; read hit 5 5 5
38

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

Invalidare vs. actualizare (1)


mai multe scrieri succesive n aceeai locaie
write invalidation - o singur invalidare (prima dat) write update - cte o actualizare pentru fiecare scriere mai avantajos - invalidare
39

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

Invalidare vs. actualizare (2)


mai multe scrieri n aceeai linie de cache
modificarea unei locaii necesit invalidarea/actualizarea ntregii linii write invalidation - o singur invalidare (prima dat) write update - cte o actualizare pentru fiecare scriere mai avantajos - invalidare
40

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

Invalidare vs. actualizare (3)


"timpul de rspuns"
timpul ntre modificarea unei valori la un procesor i citirea noii valori la alt procesor write invalidation - nti invalidare, apoi citire (cnd este necesar) write update - actualizare imediat mai avantajos - actualizare
41

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

Invalidare vs. actualizare (4)


ambele variante au avantaje i dezavantaje scrierea cu invalidare - ocupare (mult) mai redus a memoriei i magistralelor scrierea cu actualizare - rata de succes a cache-urilor mai mare mai des folosit - invalidarea
42

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

V. Dispozitivele periferice

43

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

Magistrale (1)
ci de comunicaie a informaiei o magistral leag ntre ele mai mult de 2 componente printr-o cale unic descrierea unei magistrale
semnalele electrice folosite reguli de comunicare - trebuie respectate de toate prile implicate mod de conectare
44

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

Magistrale (2)
Accesul la magistral mai multe entiti pot solicita simultan accesul este necesar o procedur de arbitraj
decide cine va primi accesul celelalte trebuie s atepte eliberarea magistralei
45

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

Arbitrarea magistralelor
Tipuri de arbitrare a magistralelor centralizat
decizia o ia un circuit specializat (arbitru)

descentralizat
componentele se neleg ntre ele pe baza regulilor care definesc funcionarea magistralei
46

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

Conectarea la magistral
probleme de natur electric mai multe circuite conectate mpreun
n intrare i ieire

nu se pot conecta mai multe ieiri


nivelele diferite de tensiune ar distruge circuitele

o soluie - multiplexarea
toate ieirile sunt conectate la un multiplexor
47

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

Circuite tri-state
ieirea are 3 stri posibile
0 1 impedan infinit (High-Z)

primele dou corespund valorilor obinuite a treia implic decuplarea de pe magistral


ca i cum ieirea circuitului nici nu ar fi conectat la magistral
48

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

Circuite open-collector
n unele cazuri se numesc open-drain
n funcie de tehnologia utilizat

este posibil conectarea mai multor ieiri simultan valoarea rezultat - funcia AND ntre ieirile conectate
49

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

Magistrale - privire general


Avantaje activitatea pe magistral - uor de controlat economic - structur relativ simpl Dezavantaj performane mai sczute
doar 2 componente pot comunica la un moment dat
50

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