Jeśli zadanie zajmuje 10 godzin procesorowi 1 GHz, czy procesor 2 GHz zajmuje 5 godzin?


12

Jeśli zadanie zajmuje 10 godzin procesorowi 1 GHz, czy procesor 2 GHz zajmuje 5 godzin?

A może upraszczam problem?

Odpowiedzi:


20

Jak wskazano w innych odpowiedziach, nawet jeśli procesor działa 5 razy szybciej, nie wszystko będzie 5 razy szybsze, ponieważ czasami komputer spędza czas nie pracując z procesorem, ale czekając na inne operacje, takie jak dysk lub sieciowe I / O.

Ponadto współczesne procesory są dość złożone wewnętrznie i wykonują wszelkiego rodzaju fantazyjne sztuczki (potokowanie, przewidywanie gałęzi, wykonywanie poza kolejnością), aby przyspieszyć. Może to działać lepiej lub nie na szybszym procesorze, więc nawet w przypadku zadań związanych z procesorem przyspieszenie prawdopodobnie nie będzie 5 razy.

Może być mniej, a nawet więcej, w zależności od charakteru zadania i tego, jak dobrze dopasowuje się do optymalizacji, których procesor próbuje użyć. Również same optymalizacje prawdopodobnie będą różne w nowym modelu procesora (nawet jeśli pochodzi z tej samej serii).


1
+1 za bardzo jasne wyjaśnienie niektórych bardzo subtelnych punktów.
Shinrai

2
Czasami możesz mieć więcej rdzeni, które dają wyższe wyniki testów takich jak kodowanie wideo, ale wiele innych zadań nie zobaczy przyspieszeń, chyba że będą mogły wykorzystać wszystkie rdzenie.
Jared Updike,

8

Nie, to tylko najlepszy 1 możliwy przypadek. Jeśli Twoje zadanie wymaga np. Dostępu do sieci lub dysku twardego, będzie to wąskie gardło, którego nie można zrekompensować szybszym procesorem.

1 ) przy założeniu braku innych zmian w systemie i procesorze


8

Nie. Cały czas potrzebny aplikacji do uruchomienia zależy nie tylko od szybkości procesora.
Na przykład:

  • Dyski wejściowe i wyjściowe zależą od prędkości obrotowej talerzy dyskowych
  • Pamięć odczytuje, zapisuje wolniej lub szybciej w zależności od bufora
  • Planowanie procesów może być inne.

2

Jeśli utworzysz, powiedzmy, program, który oblicza liczby pierwsze i absolutnie nie ma dostępu do I / O lub dostępu do sieci, prędkość nadal nie jest podwójna. Może być zupełnie inaczej.

Jeśli jest to procesor tego samego producenta, generacji, technologii, liczby tranzystorów, zestawów instrukcji i tej samej wielkości części w nanometrach, podwójna częstotliwość może oznaczać podwójną prędkość. Oznacza to, że jeśli nic nie zapisujesz i nie ma wąskiego gardła w pamięci podręcznej procesora.


Zapominacie o innych elementach, takich jak pamięć podręczna, które nie podwoją prędkości. W końcu procesor wykonuje instrukcje z pamięci podręcznej (w najlepszym scenariuszu).
harrymc

Nie zapomniałem pamięci podręcznej, przeczytałem dwa ostatnie słowa :). Warunkiem wstępnym jest brak wąskiego gardła we wspomnianej pamięci podręcznej, że pamięć podręczna nadal działa wystarczająco szybko
sinni800
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.