Sunteți pe pagina 1din 40

Structura

sistemelor de calcul

Prof. Zoltan Francisc Baruch


Departamentul de Calculatoare
Universitatea Tehnic din Cluj-
Napoca
Informaii despre disciplina
SSC (1)
Obiectivul principal
Cunoaterea structurii i proiectarea
unor componente ale sistemelor de
calcul
Obiective teoretice
Cunoaterea unor indicatori de
performan
Cunoaterea diferitelor metode de
implementare a operaiilor
23.02.2015 aritmeticeStructura sistemelor de calcul (01-1) 2
Informaii despre disciplina
SSC (2)
Obiective practice
Proiectarea i implementarea prin
hardware a unor operaii aritmetice
Proiectarea unor sisteme ierarhice
de memorie i memorii cache
Proiectarea i implementarea unor
module hardware utiliznd limbajul
VHDL i mediul de dezvoltare Xilinx
ISE Design Suite
23.02.2015 Simularea funcional a unor
Structura sistemelor de calcul (01-1) 3
Informaii despre disciplina
SSC (3)
Notare
25% Laborator colocviu
25% Proiect raport scris i susinere
50% Examen (parial + final)
Nota minim pentru fiecare activitate: 5
Pagini web
http://users.utcluj.ro/~baruch/ro/
Cursuri Structura sistemelor de calcul

23.02.2015 Structura sistemelor de calcul (01-1) 4


Informaii despre disciplina
SSC (4)
Observaii
Promovarea examenului parial este
foarte important
Prezena la lucrrile de laborator
pentru acceptarea la examenul
final: 100%
Pentru acceptarea la examenul
final, trebuie promovat att
colocviul de laborator, ct i
23.02.2015 proiectulStructura sistemelor de calcul (01-1) 5
Bibliografie (1)

Baruch, Z. F., Structura sistemelor de


calcul, Editura Albastr, Cluj-Napoca,
2005, ISBN 973-650-143-4
23.02.2015 Structura sistemelor de calcul (01-1) 6
Bibliografie (2)

Baruch, Z. F., Structure of Computer


Systems, Editura U.T.PRES, Cluj-Napoca,
2002, ISBN 973-8335-44-2
23.02.2015 Structura sistemelor de calcul (01-1) 7
Bibliografie (3)

Baruch, Z. F., Structure of Computer


Systems with Applications, Editura U.
T. PRES, Cluj-Napoca, 2003, ISBN
973-8335-89-2
23.02.2015 Structura sistemelor de calcul (01-1) 8
Cuprinsul cursului

1. Introducere
2. Unitatea aritmetic i logic
3. Sisteme de memorie
4. Arhitecturi RISC
5. Introducere n arhitecturi
paralele
6. Direcii curente
23.02.2015 Structura sistemelor de calcul (01-1) 9
1. Introducere

Indicatori de performan
Timpul de execuie
Timpul UCP
MIPS
MFLOPS
Programe de evaluare a
performanelor
Legea lui Amdahl
23.02.2015 Structura sistemelor de calcul (01-1) 10
Timpul de execuie (1)
Performana unui calculator se refer la:
Viteza
Fiabilitatea hardware i software
Msura performanei: timpul de
execuie (tE)
Timpul de rspuns: timpul necesar
terminrii unui task
Include accesele la memorie, operaiile de
I/E i operaiile executate de sistemul de
operare
23.02.2015 Structura sistemelor de calcul (01-1) 11
Timpul de execuie (2)
Timpul UCP: timpul n care UCP
execut efectiv un program
Nu cuprinde timpul de ateptare
pentru operaiile de I/E
Nu include nici timpul n care UCP
execut alte programe
Poate fi divizat n:
Timpul UCP al utilizatorului
Timpul UCP al sistemului
23.02.2015 Structura sistemelor de calcul (01-1) 12
Timpul de execuie (3)
Compararea performanelor a
dou calculatoare, de ex., X i Y
Calculatorul X este mai rapid dect
Y dac timpul de execuie al lui X
este mai redus dect cel al lui Y
pentru taskul dat
Calculatorul X este cu n% mai rapid
dect Y nseamn
t (Y )
E
1 c:
n
tE ( X ) 100

23.02.2015 Structura sistemelor de calcul (01-1) 13


Timpul de execuie (4)
Deoarece tE este inversul
performanei
t (Y ) P:P( X )
E
1
n
tE ( X ) P(Y ) 100

Creterea
n
P ( X )performanei
P (Y )
100
t (Y ) t ( X (n)
E )
100
va fi:E
P (Y ) tE ( X )

Exemplul 1.1
23.02.2015 Structura sistemelor de calcul (01-1) 14
1. Introducere

Indicatori de performan
Timpul de execuie
Timpul UCP
MIPS
MFLOPS
Programe de evaluare a
performanelor
Legea lui Amdahl
23.02.2015 Structura sistemelor de calcul (01-1) 15
Timpul UCP (1)
Timpul UCP (tUCP) poate fi exprimat prin:
tUCP CUCP tC

CUCP numrul ciclurilor de ceas ale UCP


necesare pentru execuia programului
tC durata ciclului de ceas
O alt exprimare:
CUCP
tUCP
f

f frecvena semnalului de ceas

23.02.2015 Structura sistemelor de calcul (01-1) 16


Timpul UCP (2)
Se poate considera numrul de
instruciuni executate contorul
de instruciuni N
Numrul mediu al ciclurilor de
ceas pe instruciune
C (CPI):
CPI UCP

Timpul UCP
t poate
C t Nfi CPI
UCP
definit
UCP t ca:
C C

23.02.2015 Structura sistemelor de calcul (01-1) 17


Timpul UCP (3)
sau:
N CPI
tUCP
f

Numrul total al ciclurilor de ceas ale


UCP: n
CUCP (CPIi I i )
i 1

CPIi numrul ciclurilor de ceas pentru


instruciunea i
Ii numrul de execuii ale instruciunii i
23.02.2015 Structura sistemelor de calcul (01-1) 18
Timpul UCP (4)
Rezult pentru timpul UCP:
n
tUCP CUCP tC tC (CPIi I i )
i 1

Numrul total al ciclurilor pe


instruciune:
n

CUCP (CPI I )
i i n
Ii n
CPI i 1
CPIi CPIi Fi
N N i 1 N i 1

Fi frecvena instruciunii i
Exemplul 1.2
23.02.2015 Structura sistemelor de calcul (01-1) 19
1. Introducere

Indicatori de performan
Timpul de execuie
Timpul UCP
MIPS
MFLOPS
Programe de evaluare a
performanelor
Legea lui Amdahl
23.02.2015 Structura sistemelor de calcul (01-1) 20
MIPS (1)
Cel mai important indicator de
performan: timpul de execuie al
programelor reale
Totui, sau adoptat diferii indicatori
populari de performan
Unul din indicatori este numit MIPS
(Millions of Instructions Per Second)
Indic numrul de instruciuni
medii pe care un calculator le poate
executa pe secund
23.02.2015 Structura sistemelor de calcul (01-1) 21
MIPS (2)
Pentru un program dat, MIPS este:
N
MIPS
t E 106

N contorul de instruciuni
Considernd c tE = tUCP ,
N CPI
tE
f
Rezult:
f
MIPS
CPI 10 6
23.02.2015 Structura sistemelor de calcul (01-1) 22
MIPS (3)
Timpul de execuie exprimat n funcie de
indicatorul MIPS:
N
tE
MIPS106

Un indicator similar: BIPS (Billions of


Instructions Per Second) sau GIPS
Avantajul indicatorului MIPS: este uor de
neles, mai ales de ctre utilizatori
Exist anumite probleme atunci cnd
MIPS este utilizat ca o msur pentru
comparaie:
23.02.2015 Structura sistemelor de calcul (01-1) 23
MIPS (4)
MIPS este dependent de setul de instruciuni
MIPS variaz pentru programe diferite ale
aceluiai calculator
MIPS poate varia invers proporional cu
performana
Exemplu pentru ultimul caz: calculator cu
un coprocesor opional pentru calcule n
VM
Programele care utilizeaz coprocesorul
necesit un timp mai redus pentru execuie,
dar au o valoare MIPS mai redus
Exemplul 1.3
23.02.2015 Structura sistemelor de calcul (01-1) 24
1. Introducere

Indicatori de performan
Timpul de execuie
Timpul UCP
MIPS
MFLOPS
Programe de evaluare a
performanelor
Legea lui Amdahl
23.02.2015 Structura sistemelor de calcul (01-1) 25
MFLOPS (1)
MIPS nu reprezint o metric adecvat
pentru calculatoarele care execut
calcule tiinifice i inginereti
Este important s se msoare numrul
operaiilor de calcul n virgul mobil
(VM)
MFLOPS (Millions of Floating-point
Operations Per Second), GFLOPS,
TFLOPS, PFLOPS NVM
MFLOPS
Formula de calcul: t E 106
23.02.2015 Structura sistemelor de calcul (01-1) 26
MFLOPS (2)
NVM numrul de operaii n virgul mobil
Valoarea MFLOPS este dependent de
calculator i de program
Probleme legate de indicatorul MFLOPS:
Setul operaiilor de calcul n VM difer de la
un calculator la altul
Valoarea MFLOPS se modific n funcie de:
Combinaia operaiilor ntregi i n VM
Combinaia operaiilor n VM mai rapide i mai
lente

23.02.2015 Structura sistemelor de calcul (01-1) 27


MFLOPS (3)
Soluia la ambele probleme:
utilizarea operaiilor normalizate n
VM
Exemplu n care se calculeaz
numrul de operaii normalizate n
VM pentru un program n funcie de
operaiile reale
Operaii reale n VMdinOperaii
codulnormalizate
surs
n VM
ADD, SUB, MULT 1
DIV, SQRT 4
EXP, SIN
23.02.2015 Structura sistemelor de calcul (01-1)
8 28
MFLOPS (4)
Operaiile reale n VM conduc la
valoarea nativ pentru MFLOPS
Operaiile normalizate n VM conduc la
valoarea normalizat pentru MFLOPS
Indicatorii MIPS i MFLOPS sunt utili
pentru compararea calculatoarelor din
aceeai familie
Nu sunt potrivii pentru compararea
calculatoarelor cu seturi diferite de
instruciuni
23.02.2015 Structura sistemelor de calcul (01-1) 29
MFLOPS (5)
Totui, MFLOPS este utilizat de
anumite programe de evaluare a
performanei supercalculatoarelor
Exemplu: programul Linpack
Bibliotec software pentru operaii de
algebr numeric liniar (vectorial
sau matricial)
HPL (High Performance Linpack)
implementare portabil a programului
Linpack utilizat pentru lista TOP500
23.02.2015 Structura sistemelor de calcul (01-1) 30
MFLOPS (6)
TOP500 ordoneaz primele 500 cele
mai rapide calculatoare cunoscute public
http://www.top500.org/
Lista actual: publicat n noiembrie
2014
Nr. 1 n list: Tianhe-2 (China)
Dezvoltat de National University of
Defense Technology (NUDT) i
firma Inspur, China
Instalat la National Supercomputer Center
din Guangzhou, China
23.02.2015 Structura sistemelor de calcul (01-1) 31
MFLOPS (7)
Performana (n Nov. 2014): 33,86 PFLOPS
Performana maxim: 54,9 PFLOPS
Numrul total de nuclee: 3.120.000
Numrul nodurilor de calcul: 16.000
Nod de calcul:
Dou procesoare Intel Ivy Bridge Xeon (2,2
GHz; 12 nuclee)
Trei procesoare Intel Xeon Phi (1,1 GHz; 57
nuclee)
Memorie: DDR3, 64 GB + 3 x 8 GB = 88 GB

23.02.2015 Structura sistemelor de calcul (01-1) 32


MFLOPS (8)
Memorie intern total: 1.375 TB
(1,34 PB)
Nodurile de calcul sunt amplasate n
146 de dulapuri, 720 mp
Interconexiune: TH Express-2
Tehnologie hibrid optoelectronic
13 comutatoare cu cte 576 porturi
Sistem de operare: Kylin Linux
(versiune dezvoltat de NUDT)
23.02.2015 Consum de putere: 17,6 MW (cu
Structura sistemelor de calcul (01-1) 33
MFLOPS (9)

23.02.2015 Structura sistemelor de calcul (01-1) 34


MFLOPS (10)

23.02.2015 Structura sistemelor de calcul (01-1) 35


MFLOPS (11)

23.02.2015 Structura sistemelor de calcul (01-1) 36


Rezumat (1)
Timpul de execuie este principalul
indicator de performan
Pentru estimarea performanei UCP,
timpul de execuie se poate aproxima
prin timpul UCP
Timpul UCP se poate exprima n
funcie de numrul mediu al ciclurilor
de ceas pe instruciune (CPI)
MIPS este un indicator popular de
performan
23.02.2015 Structura sistemelor de calcul (01-1) 37
Rezumat (2)
Exist diferite probleme atunci cnd
MIPS se utilizeaz pentru compararea
performanelor
Pentru aplicaii care necesit operaii
n VM, ca metric de performan se
poate utiliza MFLOPS (GFLOPS,
TFLOPS, PFLOPS)
Pentru evitarea unor probleme legate
de utilizarea indicatorului MFLOPS, se
pot considera operaii normalizate n
VM 38
23.02.2015 Structura sistemelor de calcul (01-1)
Noiuni, cunotine
Timpul de rspuns
Timpul UCP
Exprimarea timpului UCP
Indicatorul MIPS
Probleme legate de utilizarea
indicatorului MIPS
Indicatorul MFLOPS
Probleme legate de utilizarea
indicatorului MFLOPS
23.02.2015 Structura sistemelor de calcul (01-1) 39
ntrebri
1. Care sunt deosebirile dintre timpul
de rspuns i timpul UCP?
2. Cum se poate exprima timpul UCP n
funcie de numrul mediu al
ciclurilor de ceas pe instruciune?
3. Care sunt dezavantajele
indicatorului MIPS?
4. Care sunt problemele legate de
indicatorul MFLOPS?
23.02.2015 Structura sistemelor de calcul (01-1) 40