Możesz być ciekawy, jak nowsze generacje procesorów są w stanie działać szybciej przy tych samych częstotliwościach zegara, co starsze procesory. Czy to tylko zmiany w architekturze fizycznej, czy też coś więcej? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedzi na pytania zaciekawionego czytelnika.
Dzisiejsza sesja pytań i odpowiedzi jest dostępna dzięki uprzejmości SuperUser - części Stack Exchange, grupy witryn internetowych z pytaniami i odpowiedziami.
Zdjęcie dzięki uprzejmości Rodrigo Senna (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 Core i5 2,66 GHz miałby być szybszy niż 2,66 GHz Core 2 Duo, który również jest dwurdzeniowy?
Czy to z powodu nowszych instrukcji, które mogą przetwarzać informacje w mniejszej liczbie cykli zegara? Jakie inne zmiany architektoniczne są wymagane?
Dlaczego nowsze generacje procesorów są szybsze przy tej samej częstotliwości zegara?
Odpowiedź
Współpracownicy SuperUser David Schwartz i Breakthrough mają dla nas odpowiedź. Najpierw David Schwartz:
Zwykle nie dzieje się tak z powodu nowszych instrukcji. Dzieje się tak dlatego, że procesor wymaga mniejszej liczby cykli instrukcji, aby wykonać te same instrukcje. Może to mieć wiele przyczyn:
- Duże pamięci podręczne oznaczają mniej czasu straconego na oczekiwanie na pamięć.
- Więcej jednostek wykonawczych oznacza krótszy czas oczekiwania na rozpoczęcie wykonywania instrukcji.
- Lepsze przewidywanie rozgałęzień oznacza mniej czasu traconego na spekulacyjne wykonywanie instrukcji, które w rzeczywistości nigdy nie muszą być wykonywane.
- Udoskonalenia jednostki wykonawczej oznaczają krótszy czas oczekiwania na ukończenie instrukcji.
- Krótsze rurociągi oznaczają szybsze napełnianie się rurociągów.
I tak dalej.
Następnie odpowiedź z Breakthrough:
Absolutnym ostatecznym odniesieniem jest Podręczniki dla deweloperów oprogramowania architektur Intel 64 i IA-32 . Opisują szczegółowo zmiany między architekturami i są doskonałym źródłem informacji na temat architektury x86.
Zalecałbym pobranie połączonych tomów od 1 do 3C (pierwszy link do pobrania na stronie, do której link znajduje się powyżej). Tom 1, Rozdział 2.2 zawiera potrzebne informacje.
Niektóre ogólne różnice wymienione w tym rozdziale, przechodząc od rdzenia do mikroarchitektur Nehalem / Sandy Bridge to:
- Ulepszone przewidywanie gałęzi, 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 linku podanym powyżej (tom 1, rozdział 2.2).
Przeczytaj więcej z tej interesującej dyskusji, korzystając z poniższego łącza!
Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych zaawansowanych technicznie użytkowników Stack Exchange? Sprawdź cały wątek dyskusji tutaj .