Andrzej wrote:
> Czy procesory Core2Duo to takie coś jak dwa procesory, lub procesor
> z HT, czyli czegoś co jakby udaje dwa procesory ?
Starsza generacja dwurdzeniowców Intela - Pentium D 9xx - to były
de-facto dwa fizyczne procesory na jednej płytce, co widać na zdjęciu:
W nowej generacji - Core 2 Duo - jest tylko jedna płytka krzemu, lecz
rdzeń to nadal pełnowartościowy procesor. Natomiast obydwa rdzenie, nie
są już od siebie niezależne: wprowadzono dzielenie pojedynczej pamięci
podręcznej drugiego poziomu między dwa rdzenie.
Czyli w Pentium D każdy rdzeń to niezależny procesor z własną pamięcią
podręczną pierwszego poziomu i z własną pamięcią podręczną drugiego
poziomu. W Core 2 Duo każdy rdzeń to pełnowartościowy procesor z
pamięcią podręczną pierwszego poziomu, ale "złączony" z drugim rdzeniem
wspólną pamięcią podręczną drugiego poziomu.
Takie dzielenie pamięci podręcznej drugiego poziomu pozwala na lepsze
jej wykorzystanie dla przypadku gdy kod uruchomiony na jednym rdzeniu
potrzebuje mało pamięci podręcznej, a uruchomiony na drugim wymaga dużo.
Lub gdy uruchamia się starszy program lub system, które nie potrafią
wykorzystać drugiego rdzenia - wówczas jeden pracujący rdzeń ma do
dyspozycji całą pamięć podręczną drugiego poziomu! I m.in. w ten sposób
procesor dwurdzeniowy Core 2 Duo jest lepszy od dwóch procesorów
jednordzeniowych.
> Jeśli tak, to Core2Duo dedykowane są tylko pod systemy które potrafią
> to wykorzystać ...
Na szczęście systemy operacyjne już od dawna (lata 60-te?) potrafią
wykorzystać wiele procesorów :-) Aczkolwiek można przez przypadek lub
celowo taki system stworzyć - np. podmieniając jądro Windowsa czy Linuxa
na jądro nie-SMP lub gdy podczas upgrade z procesora jednordzeniowego do
procesora dwurdzeniowego zostanie stare jądro nie-SMP.
Jeżeli chodzi o wydajność jednowątkową w porównaniu do P-III, to w ogóle
nie ma porówniania - Core 2 Duo pod każdym względem go przewyższa.
Zaczynając od "brutalnej siły" - rdzeń C2D potrafi wykonać 4 instrukcje
na cykl zegara, P3 tylko 3 instrukcje na cykl zegara.
C2D ma 128-bitowe jednostki wektorowe z kompletną listą instrukcji SSE3,
a P3 ma o połowę węższe - 64 bitowe jednostki i to tylko z
niepełnowartościową listą instrukcji SSE1.
Przepustowość szyny łączącej procesor z pamięcią jest 8 razy (!) większa.
Pamięć podręczna jest 4 - 16 razy większa (2-4MB kontra 1/4 - 1/2 MB w
najlepszym modelu P3).
Dodatkowo przy pracy z oprogramowaniem 64 bitowym jest dostępnych 8
dodatkowych rejestrów - co daje ~15% przyśpieszenia.
Ale te parametry wcale nie jest najmocniejszą stroną Core 2 Duo.
Aktualnie problemem wszystkich procesorów jest tzw. "memory wall",
polegający na tym, że procesor musi czekać na pamięć (~50% czasu nic nie
robiąc tylko czekając). A to dlatego, że dostęp losowy do pamięci trwa
~100 ns, a procesory pracują z częśtotliwościa ~3GHz - czyli cykl to
0,33 ns.
Core 2 Duo ma obecnie najlepsze ze wszystkich - jednostki do
przewidywania przebiegu programu (branch prediction) i uprzedniego
sprowadzania potrzebnych w przyszłości danych do pamięci podręcznej
(prefetch). Dzięki dobrej umiejętności przewidywania przyszłości C2D
statystycznie często nie musi czekać na wolną pamięć bo dane i kod
zostają mu "podstawione pod nos".
Poza tym ma bardzo dobre - lepsze od Athlonów czy P3 - mechanizmy "out
of order execution", polegające przede wszystkim na omijaniu w
programie tych instrukcji, które czekają na wolną pamięć, przez
instrukcje od nich niezależne znajdujące się za nimi w programie.
Received on Tue Jan 2 21:20:10 2007
To archiwum zostało wygenerowane przez hypermail 2.1.8 : Tue 02 Jan 2007 - 21:51:01 MET