artykuły

Cała(?) prawda(?) o K8L

82
31 października 2006, 10:32 Ryszard Sobkowski

Powiększyć IPC!

Współczynnik IPC, Instructions Per Cycle, jest najważniejszym obecnie wyznacznikiem wydajności procesorów, nie tylko z rodziny x86. To właśnie dzięki wyższemu współczynnikowi IPC intelowski Conroe odebrał Athlonowi 64 koronę króla wydajności. Nic dziwnego więc w tym, że przedstawiona przez AMD prezentacja na FPF '06 w znacznej części nagłówków miała hasło "CPU Core IPC Enhancements". Jednak prezentowane pod tym hasłem usprawnienia są... chyba odrobinę nie na temat.

512-pozycyjny system przewidywania, powiększona pamięć historii rozgałęzień kodu, podwojona pojemność stosu powrotnego - wszystko to nie ma praktycznego związku ze współczynnikiem IPC.

Sideband Stack Optimizer - pod tą szumną nazwą kryje się niewielki układ, którego zadaniem jest modyfikacja wskaźnika stosu podczas operacji na stosie (instrukcje PUSH i POP) - w dotychczasowej konstrukcji K8 mikrooperacja modyfikacji wskaźnika stosu obciążała główny potok wykonawczy procesora. Eliminację tego obciążenia możemy, przy odrobinie dobrych chęci, uznać za krok w kierunku zwiększenia IPC. Ale...

... Out of order load execution - niekolejne wykonywanie operacji pobrań, to coś, co znamy już z Conroe pod nazwą Memory Disambiguation. Pobranie potrzebnych danych lub instrukcji nie musi oczekiwać na to, by zostały pobrane lub zapisane dane z poprzednich operacji. To rozwiązanie w oczywisty sposób zwiększa przepływność, ale nie ma żadnego wpływu na współczynnik IPC!

2