Dlaczego nowsze generacje procesorów są szybsze przy tej samej prędkości zegara?
Być może zastanawiasz się, w jaki sposób nowsze generacje procesorów mogą działać szybciej z tymi samymi zegarami, co starsze procesory. Czy to tylko zmiany w architekturze fizycznej 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, opartego na społecznościach grupowania witryn 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 z tą samą 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 z tą samą szybkoś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. Jest tak dlatego, że procesor wymaga mniejszej liczby cykli instrukcji, aby wykonać te same instrukcje. Może to wynikać z wielu przyczyn:
- Duże pamięci podręczne oznaczają mniej czasu zmarnowanego na oczekiwanie na pamięć.
- Więcej jednostek wykonawczych oznacza krótszy czas oczekiwania na rozpoczęcie pracy z instrukcją.
- Lepsze przewidywanie rozgałęzień oznacza mniej czasu zmarnowanego na spekulacyjne wykonywanie instrukcji, które nigdy nie muszą być wykonywane.
- Ulepszenia jednostek wykonania oznaczają krótszy czas oczekiwania na wykonanie instrukcji.
- 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 wyszczególnione w tym rozdziale, przechodzące od mikro-architektur Nehalem / Sandy Bridge są następujące:
- Ulepszone przewidywanie rozgałęzień, szybsza regeneracja 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 linku podanym powyżej (Tom 1, rozdział 2.2).
Przeczytaj tę bardziej interesującą dyskusję, korzystając z linku poniżej!
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.