Structura sistemelor de calcul

Post on 22-Feb-2016

161 views 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

Structurasistemelor de calcul

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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(

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

34Structura sistemelor de calcul (01-1)

MFLOPS (9)

22.02.2016

35Structura sistemelor de calcul (01-1)

MFLOPS (10)

22.02.2016

36Structura sistemelor de calcul (01-1)

MFLOPS (11)

22.02.2016

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

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

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

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