Predsa len, nemylis si IPC s vyuzivanim instrukcnych sad? Prirodzene ze SIMD sady zrychluju vypocty mnoho-mnoho-nasobne, kedze sa rovnaka instrukcia vykonava nad mnohymi datami.
IPC spociva vo zvyseni efektivity prace CPU, bez uvazovania o instrukcnych sadach. Ako uz bolo vysvetlene na jednom nemenovanom SK-IT portali, je par krokov, ktore procesor potrebuje k tomu, aby vyplul nejaky vysledok, co je exactly a presne tychto 5: fetch instruction, decode instruction, execute instruction, access memory, write result. V idealnom pripade si schopny spravit tychto 5 ukonov naraz pre rozne ulohy v jednom jedinom takte. Teda, pekne povedane, v idealnom pripade, ze vsetko idealne bezi, si schopny dosiahnut idealne IPC exactly a presne rovne, prekvapivo, rovnych 5, kedze tychto 5 uloh sa urobi naraz. Samozrejme pri SIMD ti staci urobit jedna jedina z tych 5 na velikanskom mnozstve dat a aj tak je to efektivne jak svina, lebo je to SIMD. Ale neexistuje CPU, ktory by mal pre jedno vlakno tuto hodnotu nie 5, ale 10 alebo 20 alebo 50 alebo 100.
https://en.wikipedia.org/wiki/Instructions_per_cycle
Ako vysvetlis 50-60% rozdiel v IPC medzi AMD stavebnymi strojmi a Intel Ci7/5/3? Instrukcne sady maju takmer totozne. Odpoved: presne rovnako ako 80% rozdiel v IPC medzi Pentoim4 a Core2: samotna vnutorna mikroarchitektura CPU.
Pr.: Intel Core 2 ma IPC 4 a AMD K10 ma IPC 3 (uzke hrdlo je dekoder). A postNehalem CPU tuto hodnotu posunul na samotnu teoreticku hranicu. Tazko niekto uvedie x86 CPU na sucasnom koncepte, ktoreho jedno jadro/vlakno na 2 GHz rozdrti jedno jadro/vlakno Ci7 na 5 GHz. To proste uz nejde.
Tu mas hodnoty IPC niektorych dalsich kuskov od Pentia1 po Pentium4:
Pentium 1 1.1
Pentium MMX 1.2
Pentium 3 1.9
Pentium 4 (Wil) 1.5
Pentium 4 (Nor) 1.6
Pentium 4 (Pre) 1.8
Pentium 4 (Gal) 1.9
Pentium D 2
Pentium M 2.5
Core 2 3
K6 II 1.1
K6 III 1.3
Athlon B 1.9
Athlon C 1.9
Athlon XP 2
Athlon 64 2.3
Athlon 64 X2 2.5
Via C3 0.85
Via C7 0.9
zdroj: http://brej.org/blog/?p=15
Pjetro de