Operácie

Meranie výkonu počítačov: Rozdiel medzi revíziami

Z SensorWiki

(Hodinová frekvencia)
(MIPS: Million instructions per second)
Riadok 54: Riadok 54:
 
 
 
MIPS can vary inversely to performance.
 
MIPS can vary inversely to performance.
 +
 +
Rychlost vykonávání instrukcí
 +
Intuitivní (čím vyšší, tm rychlejší)
 +
Problémy
 +
Nebere v úvahu možnosti instrukcí, dobu vykonávání
 +
jednotlivých instrukcí atd.
 +
Nelze porovnávat počítače s různou instrukční sadou
 +
Liší se podle konkrétního instrukčního mixu daného
 +
programu (jedna hodnota nereprezentuje výkon
 +
počítače)
 +
 +
 +
Príklad:
 +
 +
{|
 +
Operácie            | Početnosť | CPI |-
 +
Aritmeticko-logické |    43%    |  1  |-
 +
Čítanie z pamäti    |    21%    |  2  |-
 +
Zápis do pamäti    |    12%    |  2  |-
 +
Skoky a vetvenie    |    24%    |  2  |-
 +
|}
 +
 +
Answer.
 +
 +
 +
== MFLOPS: Million FLoat Operations per second ==
 +
 +
Počet operácií v plávajúcej desatinnej čiarke (float) za sekundu.
 +
 +
            Number of floating-point operations in a program
 +
  MFLOPS = --------------------------------------------------
 +
                      Execution time × 10^6
 +
 +
The MFLOPS rating is dependent on the machine and on the program, and since MFLOPS
 +
are intended to measure °oating-point performance, they are not applicable outside that
 +
range. For example, compilers have a MFLOPS rating of nearly zero no matter how fast
 +
the CPU is since compilers rarely use °oating-point arithmetic. When comparing the per-
 +
formance of di®erent machines, MFLOPS is not dependable because the set of °oating-point
 +
operations is not consistent across machines.
 +
  
  
 
[[Category:Základy počítačov]]
 
[[Category:Základy počítačov]]

Verzia zo dňa a času 09:46, 17. december 2017

Pri porovnávaní výkonu dvoch počítačov sa často porovnáva len jeden parameter, pričom ako uvidíme ďalej, je treba zohľadniť oveľa viac faktorov, vrátane architektúry. Vo všeobecnosti možno povedať, že jediným skutočne objektívnym parametrom je porovnanie doby behu rovnakého programu na dvoch rozličných strojoch. Všetky ostatné kritéria dajú v istom zmysle pokrivený obraz.


Clock rate - Hodinová frekvencia

Najčastejšie používaný parameter. Uvádza sa v MHz, resp. GHz. Príklad:

Maximálna frekvencia pre procesor ATmega328P. Datasheet.


Je to základná taktovacia frekvencia, ktorá určuje časovanie všetkých činností procesora. Používa sa aj prevrátená hodnota, doba taktu.

T = \frac{1}{f} [s; Hz]

Napríklad pre vyššie uvedený procesor ATmega328P je

 T = \frac{1}{16.10^6} = 62,5 [ns]

Porovnanie dvoch rozličných počítačov len na základe frekvencie nie je správne, pretože nezoladňuje vnútornú architektúru a inštrukčnú sadu. Porovnajme napríklad procesor Intel 8051, ktorý má hodinovú frekvenciu 16MHz rovnako ako Atmel AVR ATmega168. Keďže prvý z nich má CISC inštrukčnú sadu, pričom inštrukčný cyklus trvá 12 hodinových taktov a druhý má sadu RISC kde sa väčšina inštrukcií dokončí v jedinom takte, tak rovnaký program môže na procesore ATmega168 zbehnúť desaťnásobne rýchlejšie.

CPI: Cycles per instruction

Z dôvodov uvedených vyššie sa používa ako presnejší výkonový parameter CPI - skratka z Cycles Per Instruction, t. j. koľko hodinových cyklov trvá jedna inštrukcia. Keďže to však nie je jediné číslo (ako vieme, rozličné inštrukcie trvajú rozličný počet cyklov), udáva sa táto hodnota ako priemer. Je dôležité vedieť, z akých inštrukcií sa tento priemer počítal - nie je dobrý nápad zobrať všetky inštruckie ktoré procesor má a spočítať priemer. Oveľa presnejšie by bolo spočítať, koľko cyklov trvá váš konkrétny prorgam. To však nie je vždy možné, preto sa používa typický mix, ktorý zahŕňa viac bežných inštruckií a menej tých exotických, ktoré sa používajú len zriedka. Tento instruction mix potom slúži ako základ pre výpočet. Pretože CPI sa počíta ako priemerná hodnota, nemalo by vás prekvapiť, že to nie je celé číslo.


MIPS: Million instructions per second

Ďalším spôsobom ako porovnávať výkonnosť procesora je jednotka MIPS, vyjadrujúca, koľko miliónov inštrukcíí za sekundu vykoná procesor. Parameter sa počíta pre konkrétny program a je daný vzťahom

          Instruction count 
 MIPS = --------------------     (1)
        Execution time × 10^6  

Keďže

                    Instruction count × CPI
 Execution time = ----------------------------   (2)
                             Clock rate

Z rovnice (1) dostávame

           Clock rate
 MIPS = -----------------------------     (3)
           CPI × 10^6

Since MIPS is a rate of operations per unit time, CPU performance can be specified as the inverse of execution time, with faster machines having a higher MIPS rating. How- ever, according to the Patterson and Hennessy, there are problems with using MIPS as a performance metric. • MIPS is dependent on the instruction set of the CPU, making it difficult to compare the MIPS ratings of processors with different instruction sets. • MIPS can vary inversely to performance.

Rychlost vykonávání instrukcí Intuitivní (čím vyšší, tm rychlejší) Problémy Nebere v úvahu možnosti instrukcí, dobu vykonávání jednotlivých instrukcí atd. Nelze porovnávat počítače s různou instrukční sadou Liší se podle konkrétního instrukčního mixu daného programu (jedna hodnota nereprezentuje výkon počítače)


Príklad:

Operácie | Početnosť | CPI |- Aritmeticko-logické | 43% | 1 |- Čítanie z pamäti | 21% | 2 |- Zápis do pamäti | 12% | 2 |- Skoky a vetvenie | 24% | 2 |-

Answer.


MFLOPS: Million FLoat Operations per second

Počet operácií v plávajúcej desatinnej čiarke (float) za sekundu.

            Number of floating-point operations in a program
  MFLOPS = -------------------------------------------------- 
                      Execution time × 10^6

The MFLOPS rating is dependent on the machine and on the program, and since MFLOPS are intended to measure °oating-point performance, they are not applicable outside that range. For example, compilers have a MFLOPS rating of nearly zero no matter how fast the CPU is since compilers rarely use °oating-point arithmetic. When comparing the per- formance of di®erent machines, MFLOPS is not dependable because the set of °oating-point

operations is not consistent across machines.