structura sistemelor de calcul

40
Structura sistemelor de calcul Prof. Zoltan Francisc Baruch Departamentul de Calculatoare Universitatea Tehnică din Cluj-Napoca

Upload: aiden

Post on 22-Feb-2016

132 views

Category:

Documents


2 download

DESCRIPTION

Structura sistemelor de calcul. Prof . Zoltan Francisc Baruch Departamentul de Calculatoare Universitatea Tehnică din Cluj-Napoca. Informații despre disciplina SSC (1). Obiectivul principal Cunoașterea structurii și proiectarea unor componente ale sistemelor de calcul - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Structura sistemelor de calcul

Structurasistemelor de calcul

Prof. Zoltan Francisc BaruchDepartamentul de CalculatoareUniversitatea Tehnică din Cluj-Napoca

Page 2: Structura sistemelor de calcul

2Structura sistemelor de calcul (01-1)

Informații despre disciplina SSC (1)

Obiectivul principalCunoașterea structurii și proiectarea unor componente ale sistemelor de calcul

Obiective teoreticeCunoașterea unor indicatori de performanțăCunoașterea diferitelor metode de implementare a operațiilor aritmetice Cunoașterea diferitelor tehnologii și tipuri de memorii: asociativă, cache, virtualăCunoașterea unor arhitecturi paralele

22.02.2016

Page 3: Structura sistemelor de calcul

3Structura sistemelor de calcul (01-1)

Informații despre disciplina SSC (2)

Obiective practiceProiectarea și implementarea prin hardware a unor operații aritmeticeProiectarea unor sisteme ierarhice de memorie și memorii cacheProiectarea și implementarea unor module hardware utilizând limbajul VHDL și mediul de dezvoltare Xilinx Vivado IDESimularea funcțională a unor module hardware

22.02.2016

Page 4: Structura sistemelor de calcul

4Structura sistemelor de calcul (01-1)

Informații despre disciplina SSC (3)

Notare25% Laborator colocviu25% Proiect raport scris și susținere50% Examen (parțial + final)Nota minimă pentru fiecare activitate: 5

Pagini webhttp://users.utcluj.ro/~baruch/ro/

Cursuri Structura sistemelor de calcul

22.02.2016

Page 5: Structura sistemelor de calcul

5Structura sistemelor de calcul (01-1)

Informații despre disciplina SSC (4)

ObservațiiPromovarea examenului parțial este foarte importantăPrezența la lucrările de laborator pentru acceptarea la examenul final: 100%Pentru acceptarea la examenul final, trebuie promovat atât colocviul de laborator, cât și proiectulLa examen, schemele bloc și diagramele de timp trebuie explicate

22.02.2016

Page 6: Structura sistemelor de calcul

Structura sistemelor de calcul (01-1) 6

Bibliografie (1)

Baruch, Z. F., Structura sistemelor de calcul, Editura Albastră, Cluj-Napoca, 2005, ISBN 973-650-143-4

22.02.2016

Page 7: Structura sistemelor de calcul

Structura sistemelor de calcul (01-1) 7

Bibliografie (2)

Baruch, Z. F., Structure of Computer Systems, Editura U.T.PRES, Cluj-Napoca, 2002, ISBN 973-8335-44-2

22.02.2016

Page 8: Structura sistemelor de calcul

Structura sistemelor de calcul (01-1) 8

Bibliografie (3)

Baruch, Z. F., Structure of Computer Systems with Applications, Editura U. T. PRES, Cluj-Napoca, 2003, ISBN 973-8335-89-2

22.02.2016

Page 9: Structura sistemelor de calcul

9Structura sistemelor de calcul (01-1)

Cuprinsul cursului

1. Introducere2. Unitatea aritmetică și logică3. Sisteme de memorie4. Arhitecturi RISC5. Introducere în arhitecturi paralele

22.02.2016

Page 10: Structura sistemelor de calcul

10Structura sistemelor de calcul (01-1)

1. Introducere

Indicatori de performanțăTimpul de execuțieTimpul UCPMIPSMFLOPS

Programe de evaluare a performanțelorLegea lui Amdahl

22.02.2016

Page 11: Structura sistemelor de calcul

11Structura sistemelor de calcul (01-1)

Timpul de execuție (1)

Performanța unui calculator se referă la:VitezaFiabilitatea hardware și software

Măsura performanței: timpul de execuție (tE)Timpul de răspuns: timpul necesar terminării unui task

Include accesele la memorie, operațiile de I/E și operațiile executate de sistemul de operare

22.02.2016

Page 12: Structura sistemelor de calcul

12Structura sistemelor de calcul (01-1)

Timpul de execuție (2)

Timpul UCP: timpul în care UCP execută efectiv un program

Nu cuprinde timpul de așteptare pentru operațiile de I/ENu include nici timpul în care UCP execută alte programe Poate fi divizat în:

Timpul UCP al utilizatoruluiTimpul UCP al sistemului

22.02.2016

Page 13: Structura sistemelor de calcul

13Structura sistemelor de calcul (01-1)

Timpul de execuție (3)

Compararea performanțelor a două calculatoare, de ex., X și Y

Calculatorul X este mai rapid decât Y dacă timpul de execuție al lui X este mai redus decât cel al lui Y pentru taskul dat Calculatorul X este cu n% mai rapid decât Y înseamnă că:

22.02.2016

1001

)()( nXtYt

E

E

Page 14: Structura sistemelor de calcul

14Structura sistemelor de calcul (01-1)

Timpul de execuție (4)

Deoarece tE este inversul performanței P:

Creșterea performanței (n) va fi:

Exemplul 1.1

22.02.2016

1001

)()(

)()( n

YPXP

XtYt

E

E

100)()()(100

)()()(

XtXtYt

YPYPXPn

E

EE

Page 15: Structura sistemelor de calcul

15Structura sistemelor de calcul (01-1)

1. Introducere

Indicatori de performanțăTimpul de execuțieTimpul UCPMIPSMFLOPS

Programe de evaluare a performanțelorLegea lui Amdahl

22.02.2016

Page 16: Structura sistemelor de calcul

16Structura sistemelor de calcul (01-1)

Timpul UCP (1)

Timpul UCP (tUCP) poate fi exprimat prin:

CUCP – numărul ciclurilor de ceas ale UCP necesare pentru execuția programuluitC – durata ciclului de ceas

O altă exprimare:

f – frecvența semnalului de ceas 22.02.2016

fCt UCP

UCP

CUCPUCP tCt

Page 17: Structura sistemelor de calcul

17Structura sistemelor de calcul (01-1)

Timpul UCP (2)

Se poate considera numărul de instrucțiuni executate contorul de instrucțiuni NNumărul mediu al ciclurilor de ceas pe instrucțiune (CPI):

Timpul UCP poate fi definit ca:

22.02.2016

NCUCPCPI

CCUCPUCP tNtCt CPI

Page 18: Structura sistemelor de calcul

18Structura sistemelor de calcul (01-1)

Timpul UCP (3)

sau:

Numărul total al ciclurilor de ceas ale UCP:

CPIi – numărul ciclurilor de ceas pentru instrucțiunea i Ii – numărul de execuții ale instrucțiunii i

22.02.2016

fNtUCPCPI

n

iiiUCP IC

1

)CPI(

Page 19: Structura sistemelor de calcul

19Structura sistemelor de calcul (01-1)

Timpul UCP (4)

Rezultă pentru timpul UCP:

Numărul total al ciclurilor pe instrucțiune:

Fi – frecvența instrucțiunii i Exemplul 1.2

22.02.2016

n

iiiCCUCPUCP IttCt

1

)CPI(

n

iii

n

i

ii

n

iii

UCP FNI

N

I

NC

11

1 CPICPI)(CPI

CPI

Page 20: Structura sistemelor de calcul

20Structura sistemelor de calcul (01-1)

1. Introducere

Indicatori de performanțăTimpul de execuțieTimpul UCPMIPSMFLOPS

Programe de evaluare a performanțelorLegea lui Amdahl

22.02.2016

Page 21: Structura sistemelor de calcul

21Structura sistemelor de calcul (01-1)

MIPS (1)

Cel mai important indicator de performanță: timpul de execuție al programelor realeTotuși, s au adoptat diferiți indicatori ‑populari de performanțăUnul din indicatori este numit MIPS (Millions of Instructions Per Second)Indică numărul de “instrucțiuni medii” pe care un calculator le poate executa pe secundă

22.02.2016

Page 22: Structura sistemelor de calcul

22Structura sistemelor de calcul (01-1)

MIPS (2)

Pentru un program dat, MIPS este:

N – contorul de instrucțiuniConsiderând că tE = tUCP ,

Rezultă:

22.02.2016

610MIPS

EtN

fNtECPI

610CPIMIPS

f

Page 23: Structura sistemelor de calcul

23Structura sistemelor de calcul (01-1)

MIPS (3)

Timpul de execuție exprimat în funcție de indicatorul MIPS:

Un indicator similar: BIPS (Billions of Instructions Per Second) sau GIPSAvantajul indicatorului MIPS: este ușor de înțeles, mai ales de către utilizatori Există anumite probleme atunci când MIPS este utilizat ca o măsură pentru comparație:

22.02.2016

610MIPS

NtE

Page 24: Structura sistemelor de calcul

24Structura sistemelor de calcul (01-1)

MIPS (4)MIPS este dependent de setul de instrucțiuniMIPS variază pentru programe diferite ale aceluiași calculator MIPS poate varia invers proporțional cu performanța

Exemplu pentru ultimul caz: calculator cu un coprocesor opțional pentru calcule în VM

Programele care utilizează coprocesorul necesită un timp mai redus pentru execuție, dar au o valoare MIPS mai redusă

Exemplul 1.3 22.02.2016

Page 25: Structura sistemelor de calcul

25Structura sistemelor de calcul (01-1)

1. Introducere

Indicatori de performanțăTimpul de execuțieTimpul UCPMIPSMFLOPS

Programe de evaluare a performanțelorLegea lui Amdahl

22.02.2016

Page 26: Structura sistemelor de calcul

26Structura sistemelor de calcul (01-1)

MFLOPS (1)

MIPS nu reprezintă o metrică adecvată pentru calculatoarele care execută calcule științifice și inginerești

Este important să se măsoare numărul operațiilor de calcul în virgulă mobilă (VM)

MFLOPS (Millions of Floating-point Operations Per Second), GFLOPS, TFLOPS, PFLOPS Formula de calcul:

22.02.2016

610MFLOPS

E

VM

tN

Page 27: Structura sistemelor de calcul

27Structura sistemelor de calcul (01-1)

MFLOPS (2)

NVM – numărul de operații în virgulă mobilăValoarea MFLOPS este dependentă de calculator și de program Probleme legate de indicatorul MFLOPS:

Setul operațiilor de calcul în VM diferă de la un calculator la altul Valoarea MFLOPS se modifică în funcție de:

Combinația operațiilor întregi și în VMCombinația operațiilor în VM mai rapide și mai lente

22.02.2016

Page 28: Structura sistemelor de calcul

28Structura sistemelor de calcul (01-1)

MFLOPS (3)

Soluția la ambele probleme: utilizarea operațiilor normalizate în VM Exemplu în care se calculează numărul de operații normalizate în VM pentru un program în funcție de operațiile reale din codul sursă

22.02.2016

Operații reale în VM Operații normalizate în VM ADD, SUB, MULT 1DIV, SQRT 4EXP, SIN 8

Page 29: Structura sistemelor de calcul

29Structura sistemelor de calcul (01-1)

MFLOPS (4)

Operațiile reale în VM conduc la valoarea nativă pentru MFLOPS Operațiile normalizate în VM conduc la valoarea normalizată pentru MFLOPS Indicatorii MIPS și MFLOPS sunt utili pentru compararea calculatoarelor din aceeași familie

Nu sunt potriviți pentru compararea calculatoarelor cu seturi diferite de instrucțiuni

22.02.2016

Page 30: Structura sistemelor de calcul

30Structura sistemelor de calcul (01-1)

MFLOPS (5)

Totuși, MFLOPS este utilizat de anumite programe de evaluare a performanței supercalculatoarelorExemplu: programul Linpack

Bibliotecă software pentru operații de algebră numerică liniară (vectorială sau matricială) HPL (High Performance Linpack) – implementare portabilă a programului Linpack utilizată pentru lista TOP500

22.02.2016

Page 31: Structura sistemelor de calcul

31Structura sistemelor de calcul (01-1)

MFLOPS (6)TOP500 – ordonează primele 500 cele mai rapide calculatoare cunoscute public

http://www.top500.org/Lista actuală: publicată în noiembrie 2015Nr. 1 în listă: Tianhe-2 (China)

Dezvoltat de National University of Defense Technology (NUDT) și firma Inspur, ChinaInstalat la National Supercomputer Center din Guangzhou, China

22.02.2016

Page 32: Structura sistemelor de calcul

32Structura sistemelor de calcul (01-1)

MFLOPS (7)Performanța (în Nov. 2015): 33,86 PFLOPS Performanța maximă: 54,9 PFLOPS Numărul total de nuclee: 3.120.000Numărul 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

22.02.2016

Page 33: Structura sistemelor de calcul

33Structura sistemelor de calcul (01-1)

MFLOPS (8)

Memorie internă totală: 1.375 TB (1,34 PB)Nodurile de calcul sunt amplasate în 146 de dulapuri, 720 mpInterconexiune: TH Express-2

Tehnologie hibridă optoelectronică13 comutatoare cu câte 576 porturi

Sistem de operare: Kylin Linux (versiune dezvoltată de NUDT)Consum de putere: 17,6 MW (cu sistemul de răcire: 24 MW)

22.02.2016

Page 34: Structura sistemelor de calcul

34Structura sistemelor de calcul (01-1)

MFLOPS (9)

22.02.2016

Page 35: Structura sistemelor de calcul

35Structura sistemelor de calcul (01-1)

MFLOPS (10)

22.02.2016

Page 36: Structura sistemelor de calcul

36Structura sistemelor de calcul (01-1)

MFLOPS (11)

22.02.2016

Page 37: Structura sistemelor de calcul

37Structura sistemelor de calcul (01-1)

Rezumat (1)

Timpul de execuție este principalul indicator de performanțăPentru estimarea performanței UCP, timpul de execuție se poate aproxima prin timpul UCPTimpul UCP se poate exprima în funcție de numărul mediu al ciclurilor de ceas pe instrucțiune (CPI)MIPS este un indicator popular de performanță

22.02.2016

Page 38: Structura sistemelor de calcul

38Structura sistemelor de calcul (01-1)

Rezumat (2)

Există diferite probleme atunci când MIPS se utilizează pentru compararea performanțelor

Pentru aplicații care necesită operații î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 operații normalizate în VM

Programul Linpack se utilizează pentru evaluarea performanței supercalculatoarelor

22.02.2016

Page 39: Structura sistemelor de calcul

39Structura sistemelor de calcul (01-1)

Noțiuni, cunoștințe

Timpul de răspunsTimpul UCPExprimarea timpului UCPIndicatorul MIPSProbleme legate de utilizarea indicatorului MIPSIndicatorul MFLOPSProbleme legate de utilizarea indicatorului MFLOPS

22.02.2016

Page 40: Structura sistemelor de calcul

40Structura sistemelor de calcul (01-1)

Întrebări

1. Care sunt deosebirile dintre timpul de răspuns și timpul UCP?

2. Cum se poate exprima timpul UCP în funcție de numărul mediu al ciclurilor de ceas pe instrucțiune?

3. Care sunt dezavantajele indicatorului MIPS?

4. Care sunt problemele legate de indicatorul MFLOPS?

22.02.2016