- Osnovni odnos: Vrijeme = (NI × CPI)/f i Učinak = (f × CPI)/NI, gdje su CPI/CPI ključne poluge.
- Prava skalabilnost: Amdahl i Gustafson ograničavaju ubrzanje; efikasnost se smanjuje s povećanjem režijskih troškova.
- Pravila memorije: pogodak/promašaj, DDR i propusnost utiču na CPI koliko i frekvencija.
- WPA metoda: kritični put, niti (Spremno/Izvršeno/Čekanje), DPC/ISR i prioriteti objašnjavaju uska grla.
Kada tražite sve formule za izračunavanje performansi CPU-a, idealno je da budu dobro objašnjene, sa kontekstom i praktičnim slučajevima., ne samo labavi popis jednačina. Ovaj vodič objedinjuje i na jasan i sveobuhvatan način preoblikuje metrike, formule, nijanse i tehnike profesionalne analize. (uključujući korištenje Windows Performance Analyzera) koji se često pojavljuju raspršeni po mnogim izvorima.
Ovdje ćete pronaći sve, od klasičnih jedinica (IPS, IPC, CPI i FLOPS) do tačnog odnosa između vremena izvršavanja i performansi, Amdahl-ovih i Gustafson-ovih zakona, memorije i propusnog opsega, pa čak i kako proučavati interferenciju niti i DPC/ISR sa WPA.Osim toga, uključuje izračun potrošnje energije CPU-a (C·V²·F), alate za mjerenje i preporuke za praktična poboljšanja efikasnosti i performansi.
Osnovne jedinice i metrike: IPS, IPC, CPI, FLOPS i frekvencija

Prvo što treba uzeti u obzir je koje su najvažnije jedinice s kojima ćemo se baviti:
- IPS (Instrukcije u sekundi) mjeri koliko instrukcija procesor izvrši u jednoj sekundi (obično MIPS, milioni IPS). To je korisna metrika za dobijanje globalne slike o propusnosti, iako ne obuhvata dobro složenost instrukcija ili mikroarhitektonske razlike. Historijski i moderni primjeri pokazuju jaz između dizajna i epoha, a sa overklokom može varirati.
- IPC (Instrukcije po ciklusu) Označava koliko instrukcija procesor izvršava u prosjeku po taktnom ciklusu. Ključno je razumjeti efikasnost po ciklusu bez obzira na frekvenciju.. Poređenje IPC-a zahtijeva korištenje istog programa ili benchmarka na različitim mašinama, jer broj i vrsta instrukcija zavise od softvera.
- CPI (Ciklusi po instrukciji) To je konceptualni inverz CPI-ja: koliko ciklusa svaka instrukcija traje u prosjeku. CPI varira ovisno o vrsti instrukcije i mikroarhitekturi. (na primjer, opterećenje može zahtijevati više ciklusa nego skok), pa se obično izračunava kao ponderirani prosjek po časovima nastave.
- FLOPS (Operacije s pomičnim zarezom u sekundi) kvantificira izračunavanje s pomičnim zarezom, ključno u HPC-u, umjetnoj inteligenciji i nauci. Razlikuje se jednostruka preciznost (SP) i dvostruka preciznost (DP), a energetska efikasnost se naziva i FLOPS/W.. Važno je razlikovati izvorne FLOPS-ove i normalizirane FLOPS-ove. prilikom poređenja heterogenih platformi.
- Frekvencija (Hz) označava ritam sata, ali nije direktno sinonim za performanse. Mit o MHzDanas CPU niže frekvencije može nadmašiti brži za paralelizam, bolji IPC i efikasnije mikroarhitekture. Osim toga, dubina cjevovoda i kritična logika određuju ostvarivu frekvenciju..
Osnovne formule: vrijeme izvršavanja, propusnost, IPC, CPI, IPS i FLOPS
Neke Osnovne formule za izračunavanje/mjerenje performansi procesora koje biste trebali znati su:
- Vrijeme izvršenjaStandardni način izražavanja ovoga je Vrijeme = NI × CPI × T, gdje NI je broj instrukcija u programu, CPI prosječan broj ciklusa po instrukciji i T period takta (T = 1/frekvencija). Ekvivalent: Vrijeme = (NI × CPI) / Učestalost. Hardver i kompajler često napadaju CPI i frekvenciju; NI zavisi od softvera..
- Performanse je inverzna vrijednost vremena: Performanse = 1 / VrijemePrepisivanje, Performanse = (Učestalost × CPI) / NI. Ovo jasno pokazuje trougao obaveza: povećanje učestalosti i CPI i/ili smanjenje NI (bolji algoritam, bolja kompilacija) povećava performanse.
- CPU vrijeme na višeprocesorskim sistemima Izražava se dodavanjem vremena niti ili korištenjem agregacija koje razmatraju P procesori. Paralelno, zapravo paralelizabilni dio i dodatni troškovi koordinacije ograničavaju korist. (pogledajte Amdahlove i Gustafsonove zakone u nastavku).
- Efektivni CPI za određeni program se dobija iz stvarni prosječan broj posmatranih instrukcija po ciklusu tokom njegovog izvršenja; radi poređenja, koristi isti kriterij na obje mašine tako da su NI i miješanje instrukcija uporedivi.
- Ponderirani prosječni CPI Obično se izračunava kao Σ (CPI_i × težina_i), gdje svaki CPI_i odgovara klasi instrukcija i težina_i je udio te klase u programu. Ovaj prikaz zasnovan na klasi vam omogućava da vidite gdje treba optimizirati (npr. spora učitavanja ili skupe podjele).
- IPS (Instrukcije u sekundi) se često aproksimira kao IPS ≈ Frekvencija × CPI. Budite oprezni s cjevovodima, ovisnostima, predviđanjima i pražnjenjem kanalau praksi, Eksplozije i kazne vas mogu udaljiti od teorijske brojke.
- flops U jednostavnom sistemu se procjenjuje kao Frekvencija × plutajuće operacije po ciklusu (u zavisnosti od širine vektora i FPU jedinica), i paralelno kao Ukupan broj FLOPS-ova ≈ Σ FLOPS-ova svakog procesora. Razlika ako radite u SP ili DP i zapamtite razliku između Izvorni i normalizirani FLOPS-ovi.
Skalabilnost: Amdahlov zakon, Gustafsonov zakon, ubrzanje, efikasnost i izoefikasnost
Druge važne formule za izračunavanje performansi, efikasnosti itd. računara:
- Amdahlov zakon modelira dobitak od ubrzanja dijela sistema. Ako dio f vremena nema koristi od poboljšanja, maksimalno ubrzanje je ograničeno sa 1/f. Paralelno, sa paralelizirajućim razlomkom p, tipična granica se izražava kao S(N) = 1 / ((1 − p) + p/N). Poboljšanje uskog grla (smanjenje efektivnog sekvencijalnog dijela) je ono što se najviše isplati.
- Primjena na cjevovodPipelineing smanjuje latencije po instrukciji u stabilnom stanju, ali Mjehurići, rizici podataka i neuspjesi u predviđanjima Dodaju kazne koje ograničite idealno ubrzanje. Produbljivanje cjevovoda povećava učestalost, ali i kazne za pražnjenje..
- Gustafsonov zakon zauzima drugačije gledište: kako problem raste s brojem procesora, S(N) ≈ N − α (N − 1), gdje α aproksimira sekvencijalni udio skaliranjem opterećenja. On naglašava da raspodjela opterećenja i režijski troškovi određuju stvarnu efikasnost..
- Efikasnost je definisan kao E = S(N) / N. Kako se N povećava, E ima tendenciju smanjenja koordinacijom, zajedničkim pamćenjem i neravnotežama. Izoefikasnost traži kako povećati veličinu problema n para održava E konstantnim kako se p (procesora) povećava, apsorbirajući režijske troškove.
Memorija, keš memorije, propusnost i skladištenje: ostalih 50% performansi

Pored izračuna za obradu, važne su i performanse memorije, a najvažnije formule za to su:
- Hijerarhija memorije određuje CPIPristup keš memoriji može koštati 1 ciklus, dok pristup RAM memoriji stotine ciklusa. Stope pogodaka/neuspjeha su važne jednako kao i, ili čak i više, od sirove propusnosti i latencije.Bolja stopa pogodaka jednaka je manje kazni i manje energije utrošene na pamćenje.
- Ključne definicije: Stopa promašaja = broj neuspjeha / ukupan broj pristupa y Stopa pogodaka = broj pogodaka / ukupan broj pristupa. Povećajte veličinu keša instrukcija ili podataka i poboljšajte lokalnost vašeg koda povećati stopu pogodaka i smanjiti CPI.
- DDR i efektivna frekvencijaDDR memorije rade 2 transfera po ciklusu kontrolera, zato DDR4-3200 je ekvivalentan 1600 MHz memorije. Teorijski propusni opseg po modulu se aproksimira kao memclk × 2 × širina magistrale (bitovi) × broj kanala, a izražava se u bajtovima/s (podijeljeno sa 8). Klasičan primjer DDR4-3200, 64-bitna magistrala, dvokanalni: 1.600.000.000 × 2 × 64 × 2 = 409.600.000.000 bita/s ≈ 51,2 GB / s.
- Rotacijska latencija na tvrdom disku (kada je glava već na tračnicama): procjenjuje se kao 0,5 okretaja / (o/min/60). Za 7200 obrtaja u minuti: 0,5 / (7200/60) ≈ 4,16 ms. Baferi i keš memorije diska mogu ublažiti dio vremena pristupa, ali ne eliminišu mehaničku prirodu kašnjenja.
- Zahtjevi za memorijom i računarstvomKod HPC opterećenja analiza se vrši od intenzitet rada (FLOP/bajt), koji se odnosi Instrukcije s pomičnim zarezom i kretanje podataka. Nizak intenzitet izdaje ograničenje memorijevisok, računsko ograničenje. Optimizirajte rasporede i sekvencijalni pristup može potpuno promijeniti profil performansi.
Potrošnja i efikasnost: TDP, dinamička snaga i alati
S druge strane, imamo i probleme potrošnje i efikasnosti:
- TDP nije stvarna potrošnja: je termalni/dizajnerski cilj. Potrošnja varira u zavisnosti od efektivnog opterećenja, napona i frekvencijePod malim opterećenjima, Stvarna prosječna potrošnja je obično mnogo niža od TDP-a..
- Približna dinamička snaga: P = C · V² · F. C je preklopljeni kapacitet, V napon i F frekvencija. Povećanje napona kažnjava kvadratno; stoga overklokiranje s prenaponom uzrokuje veliki skokovi u potrošnji i zagrijavanju. Pored dinamičkog dijela, postoje i curenja koja rastu s temperaturom i procesom..