Operácie

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

Z SensorWiki

(Hodinová frekvencia)
(Hodinová frekvencia)
Riadok 21: Riadok 21:
 
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.  
 
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.
  
  
 
[[Category:Základy počítačov]]
 
[[Category:Základy počítačov]]

Verzia zo dňa a času 13:44, 13. 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.


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.