If-Koubou

Dlaczego nowsze generacje procesorów są szybsze przy tej samej prędkości zegara?

Dlaczego nowsze generacje procesorów są szybsze przy tej samej prędkości zegara? (Jak)

Być może ciekawi Cię, jak nowsze generacje procesorów mogą być szybsze z tymi samymi prędkościami zegara, co starsze procesory. Czy to tylko zmiany w fizycznej architekturze, czy jest to coś więcej? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedzi na ciekawe pytania czytelnika.

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, społecznościowego forum z pytaniami i odpowiedziami.

Zdjęcie dzięki uprzejmości Rodrigo Senny (Flickr).

Pytanie

Czytnik SuperUser agz chce wiedzieć, dlaczego nowsze generacje procesorów są szybsze przy tej samej częstotliwości zegara:

Dlaczego, na przykład, dwurdzeniowy rdzeń Core i5 2,66 GHz byłby szybszy niż 2,66 GHz Core 2 Duo, który jest również dwurdzeniowy?

Czy to z powodu nowszych instrukcji, które mogą przetwarzać informacje w mniejszej liczbie cykli zegara? Jakie są inne zmiany architektoniczne?

Dlaczego nowsze generacje procesorów są szybsze przy tej samej prędkości zegara?

Odpowiedź

Współautorzy SuperUser David Schwartz i Breakthrough mają dla nas odpowiedź. Po pierwsze, David Schwartz:

Zwykle nie jest to spowodowane nowszymi instrukcjami. Dzieje się tak tylko dlatego, że procesor wymaga mniejszej liczby cykli instrukcji do wykonania tych samych instrukcji. Może to wynikać z wielu przyczyn:

  1. Duże pamięci podręczne oznaczają mniej czasu traconego na oczekiwanie na pamięć.
  2. Więcej jednostek wykonawczych oznacza krótszy czas oczekiwania na rozpoczęcie pracy z instrukcją.
  3. Lepsze przewidywanie rozgałęzień oznacza mniej czasu zmarnowanego na spekulacyjne wykonywanie instrukcji, które nigdy nie muszą być wykonywane.
  4. Ulepszenia jednostek wykonania oznaczają krótszy czas oczekiwania na instrukcje do wykonania.
  5. Krótsze rurociągi oznaczają szybsze zapełnianie rurociągów.

I tak dalej.

Poniżej znajduje się odpowiedź od Breakthrough:

Absolutnym odniesieniem są podręczniki dla programistów oprogramowania Intel 64 i IA-32 Architectures. Wyszczególniają zmiany między architekturami i są doskonałym źródłem do zrozumienia architektury x86.

Zaleciłbym pobranie połączonych woluminów od 1 do 3C (pierwszy link do pobrania na stronie powyżej). Tom 1, rozdział 2.2 zawiera potrzebne informacje.

Niektóre ogólne różnice wymienione w tym rozdziale, przechodząc od mikro-architektur Nehalem / Sandy Bridge są następujące:

  • Ulepszone przewidywanie rozgałęzień, szybsze odzyskiwanie po błędach
  • Technologia HyperThreading
  • Zintegrowany kontroler pamięci, nowa hierarchia pamięci podręcznej
  • Szybsza obsługa wyjątków zmiennoprzecinkowych (tylko Sandy Bridge)
  • Poprawa przepustowości LEA (tylko Sandy Bridge)
  • Rozszerzenia instrukcji AVX (tylko Sandy Bridge)

Pełną listę można znaleźć w powyższym linku (tom 1, rozdział 2.2).

Przeczytaj tę bardziej interesującą dyskusję, korzystając z poniższego linku!

Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.