Summary

This document provides a preliminary overview of a computer science course, likely an introductory lecture on topics, including computer performance, and related concepts. The document outlines key performance indicators such as execution time, CPU time, MIPS, and MFLOPS. The information might be part of educational materials at a university level.

Full Transcript

Informații despre disciplina SSC (6) Observații Studenții trebuie să se prezinte strict cu grupa proprie (L, P) Se pot efectua schimburi între semigrupe cu acordul cadrelor didactice Studenți din anul 4 Trebuie să c...

Informații despre disciplina SSC (6) Observații Studenții trebuie să se prezinte strict cu grupa proprie (L, P) Se pot efectua schimburi între semigrupe cu acordul cadrelor didactice Studenți din anul 4 Trebuie să comunice prin mail adresa Campus și vor fi adăugați teamului 03.10.2023 Structura sistemelor de calcul (01-1) 7 Bibliografie (1) Baruch, Z. F., Structura sistemelor de calcul, Editura Albastră, Cluj-Napoca, 2005, ISBN 973- 650-143-4 03.10.2023 Structura sistemelor de calcul (01-1) 8 Bibliografie (2) Baruch, Z. F., Aplicații de proiectare digitală cu circuite FPGA, Editura MEGA, Cluj-Napoca, 2020, ISBN 978-606-020-261-5 03.10.2023 Structura sistemelor de calcul (01-1) 9 Cuprinsul cursului 1. Introducere 2. Unitatea aritmetică și logică 3. Sisteme de memorie 4. Arhitecturi RISC 5. Introducere în arhitecturi paralele 03.10.2023 Structura sistemelor de calcul (01-1) 10 1. Introducere Indicatori de performanță Timpul de execuție Timpul UCP MIPS MFLOPS Programe de evaluare a performanțelor Legea lui Amdahl 03.10.2023 Structura sistemelor de calcul (01-1) 11 Timpul de execuție (1) Performanța unui calculator se referă la: Viteza Fiabilitatea 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 03.10.2023 Structura sistemelor de calcul (01-1) 12 Timpul de execuție (2) UCP: unitatea centrală de prelucrare Timpul UCP: timpul în care UCP execută efectiv un program Nu cuprinde timpul de așteptare pentru operațiile 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 03.10.2023 Structura sistemelor de calcul (01-1) 13 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ă: t E (Y ) n = 1+ tE ( X ) 100 03.10.2023 Structura sistemelor de calcul (01-1) 14 Timpul de execuție (4) Deoarece tE este inversul performanței P: t E (Y ) P( X ) n = = 1+ t E ( X ) P(Y ) 100 Creșterea performanței (n) va fi: P( X ) − P(Y ) t E (Y ) − t E ( X ) n= 100 = 100 P(Y ) tE ( X ) Exemplul 1.1 Calculatorul A execută un program în 12 s, iar calculatorul B execută același program în 15 s. Cu cât este mai performant calculatorul A față de B? 03.10.2023 Structura sistemelor de calcul (01-1) 15 1. Introducere Indicatori de performanță Timpul de execuție Timpul UCP MIPS MFLOPS Programe de evaluare a performanțelor Legea lui Amdahl 03.10.2023 Structura sistemelor de calcul (01-1) 16 Timpul UCP (1) Timpul UCP (tUCP) poate fi exprimat prin: tUCP = CUCP  tC CUCP – numărul ciclurilor de ceas ale UCP necesare pentru execuția programului tC – durata ciclului de ceas O altă exprimare: CUCP tUCP = f f – frecvența semnalului de ceas 03.10.2023 Structura sistemelor de calcul (01-1) 17 Timpul UCP (2) Se poate considera numărul de instrucțiuni executate → contorul de instrucțiuni N Numărul mediu al ciclurilor de ceas pe instrucțiune (CPI): CUCP CPI = N Timpul UCP poate fi definit ca: tUCP = CUCP  tC = N  CPI  tC 03.10.2023 Structura sistemelor de calcul (01-1) 18 Timpul UCP (3) sau: N  CPI tUCP = f Numărul total al ciclurilor de ceas ale UCP: n CUCP =  (CPIi  I i ) i =1 CPIi – numărul ciclurilor de ceas pentru instrucțiunea i Ii – numărul de execuții ale instrucțiunii i 03.10.2023 Structura sistemelor de calcul (01-1) 19 Timpul UCP (4) Rezultă pentru timpul UCP: n tUCP = CUCP  tC = tC   (CPIi  I i ) i =1 Numărul total al ciclurilor pe instrucțiune: n  (CPI  I ) i i n  Ii  n =   CPIi   =  (CPIi  Fi ) CUCP CPI = = i =1 N N i =1  N  i =1 Fi – frecvența de utilizare a instrucțiunii i 03.10.2023 Structura sistemelor de calcul (01-1) 20 1. Introducere Indicatori de performanță Timpul de execuție Timpul UCP MIPS MFLOPS Programe de evaluare a performanțelor Legea lui Amdahl 03.10.2023 Structura sistemelor de calcul (01-1) 23 MIPS (1) Cel mai important indicator de performanță: timpul de execuție al programelor reale Totuș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ă 03.10.2023 Structura sistemelor de calcul (01-1) 24 MIPS (2) Pentru un program dat, MIPS este: N MIPS = t E 106 N – contorul de instrucțiuni Considerând că tE = tUCP , N  CPI tE = f Rezultă: f MIPS = CPI 106 03.10.2023 Structura sistemelor de calcul (01-1) 25 MIPS (3) Timpul de execuție exprimat în funcție de indicatorul MIPS: N tE = MIPS106 Un indicator similar: BIPS (Billions of Instructions Per Second) sau GIPS Avantajul 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: 03.10.2023 Structura sistemelor de calcul (01-1) 26 MIPS (4) MIPS este dependent de setul de instrucțiuni MIPS 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 pentru calcule în virgulă mobilă Programele care utilizează coprocesorul necesită un timp mai redus pentru execuție, dar au o valoare MIPS mai redusă 03.10.2023 Structura sistemelor de calcul (01-1) 27 1. Introducere Indicatori de performanță Timpul de execuție Timpul UCP MIPS MFLOPS Programe de evaluare a performanțelor Legea lui Amdahl 03.10.2023 Structura sistemelor de calcul (01-1) 29 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 N Formula de calcul: MFLOPS = VM t 10 E 6 03.10.2023 Structura sistemelor de calcul (01-1) 30 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 VM Combinația operațiilor în VM mai rapide și mai lente 03.10.2023 Structura sistemelor de calcul (01-1) 31 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ă Operații reale în VM Operații normalizate în VM ADD, SUB, MULT 1 DIV, SQRT 4 EXP, SIN 8 03.10.2023 Structura sistemelor de calcul (01-1) 32 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 03.10.2023 Structura sistemelor de calcul (01-1) 33 MFLOPS (5) Totuși, MFLOPS este utilizat de anumite programe de evaluare a performanței supercalculatoarelor Exemplu: programul Linpack Bibliotecă software pentru operații de algebră numerică liniară (vectorială sau matriceală) HPL (High Performance Linpack) – implementare portabilă a programului Linpack utilizată pentru lista TOP500 03.10.2023 Structura sistemelor de calcul (01-1) 34 MFLOPS (6) TOP500 – ordonează primele 500 cele mai rapide calculatoare cunoscute public http://www.top500.org/ Lista actuală: publicată în 22 mai 2023 Nr. 1 în listă: FRONTIER - HPE CRAY EX235A Produs de firma HPE – Hewlett-Packard Ent. Instalat la Oak Ridge National Laboratory, Tennessee, USA Performanța Linpack: 1,194.00 PFlop/s Performanța maximă: 1,679.82 PFlop/s 03.10.2023 Structura sistemelor de calcul (01-1) 35 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 UCP Timpul 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ță 03.10.2023 Structura sistemelor de calcul (01-1) 36 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 sau alți indicatori similari 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 03.10.2023 Structura sistemelor de calcul (01-1) 37 Noțiuni, cunoștințe Timpul de răspuns Timpul UCP Exprimarea timpului UCP Indicatorul MIPS Probleme legate de utilizarea indicatorului MIPS Indicatorul MFLOPS Probleme legate de utilizarea indicatorului MFLOPS 03.10.2023 Structura sistemelor de calcul (01-1) 38

Use Quizgecko on...
Browser
Browser