Procesory
Artykuł
Ryszard Sobkowski, Poniedziałek, 10 lipca 2006, 10:43
Procesor Intel Core 2 Duo (nazwa kodowa: Conroe) niedługo trafi na rynek, a informacje o jego wydajności, jakie zaczęły się od pewnego czasu pojawiać, sprawiają że czekamy z coraz większą niecierpliwością. Zanim jednak poznamy wyniki testów, zobaczmy, co też takiego ma ten procesor w środku - dowiemy się w ten sposób, czego się można po nim spodziewać w praktyce. Zapraszamy do zwiedzania makro- i mikroarchitektury Intel Core 2.

Podwójne, a w przyszłości zwielokrotnione jądro, to rozwiązanie lansowane od pewnego czasu jako środek zwiększania wydajności procesorów - praktycznie jedyny wobec zahamowania przez fizykę możliwości przyspieszania zegarów i wyczerpania możliwości rozwoju mikroarchitektury układów. Wyczerpania? Conroe/Merom/Woodcrest udowadnia, że lansowany za czasów Pentium 4 pogląd o wyczerpaniu możliwości rozwoju był całkowicie błędny.

Podwójność pozorowana

Zostawmy na później mikroarchitekturę i na początek prześledźmy różne koncepcje realizacji podwójnego jądra w dotychczasowych procesorach Intela. Podstawą tych koncepcji jest architektura SMP - Symmetrical MultiProcessing - w której wszystkie procesory mają jednakowy dostęp do pozostałych zasobów komputera. Od tej koncepcji wyszedł Intel w swojej pierwszej konstrukcji dwurdzeniowej.

Smithfield vs Yonah vs Presler

Podwójne jądro procesorów Smithfield to w rzeczywistości klasyczna konfiguracja SMP, złożona z dwóch niezależnych procesorów na jednym chipie - złośliwi mówią, że to po prostu dwa sąsiadujące ze sobą na waflu Prescotty, wycięte jako jeden kawałek.

SMP na jednym chipie sprawdziło się zadowalająco, ale... im większy jest chip, tym mniejszy procentowy uzysk sprawnych chipów z jednego wafla, więc w następnej konstrukcji "dwurdzeniowej", o kodowej nazwie Presler, Intel zrezygnował z pozorowania podwójnego jądra.

Presler to dwa całkiem osobne procesory Cedar Mill, umieszczone na wspólnej płytce podłoża. Zarówno w układzie Smithfield jak i w Preslerze dwa procesory, wchodzące w skład konstrukcji, połączone są ze sobą wspólna szyną FSB. Za jej pośrednictwem odbywa się rozwiązywanie podstawowego problemu architektur wieloprocesorowych, jakim jest uzgadnianie spójności cache. O co tu chodzi?

Problem spójności cache

Współczesne procesory wykonują operacje przede wszystkim na danych zawartych w systemie pamięci podręcznych cache. Co prawda w zestawach instrukcji SSE przewidziano możliwość operacji z pominięciem cache, jednak w praktyce są one bardzo rzadko stosowane. Wyobraźmy sobie sytuację, w której jeden z procesorów zmodyfikował dane, na których dalsze operacje ma wykonywać drugi - w jego pamięci cache dane te nie są zmodyfikowane! W układach przewidzianych do stosowania w konfiguracjach wieloprocesorowych stosuje się więc systemy zachowania spójności cache (cache coherency). W sytuacji takiej jak wyżej opisana odwołanie do zmodyfikowanych przez inny procesor danych wymaga przesłania ich z pamięci cache procesora - autora modyfikacji - do pamięci cache procesora podejmującego dalszą obróbkę. W większości procesorów przy uzgadnianiu spójności cache przesyłana jest zawartość całego wiersza - 64 bajty. Transmisja taka blokuje dostęp do szyny FSB, a procesor, który ma dalej obrabiać dane, traci całkiem sporo czasu oczekując na jej zakończenie. W procesorach Intela strata ta jest minimalizowana przez dużą szybkość szyny FSB, jednak mimo to jest znacząca - szesnaście cykli transmisyjnych szyny, potrzebne do przesłania 64 bajtów, to stracone kilkadziesiąt cykli zegara procesora. Jeśli do tego dodamy czas tracony na przesłanie informacji o modyfikacjach i czas potrzebny do nawiązania transmisji, widzimy wyraźnie słabe strony SMP. Praktycznie mierzony czas komunikacji cache L2-cache L2 w architekturach SMP Smithfield i Presler wynosi około 200 nanosekund. Problem spójności dotyczy nie tylko cache L2, ale także pamięci podręcznej pierwszego poziomu dla danych. Pamięć ta jest jednak w intelowskich architekturach niewielka, więc problem spójności występuje relatywnie rzadziej.

SMP również w K8

Architektura K8 od początku projektowana była z myślą o podwójnym rdzeniu. W praktyce jednak K8 z dwoma rdzeniami to dwa osobne procesory, wyposażone we wspólny zestaw interfejsów dostępny za pośrednictwem przełącznika krzyżowego. Ta swoista forma architektury SMP, bo trudno to inaczej określić, ma nad klasyczną SMP zasadniczą przewagę - dzięki komunikacji przez przełącznik krzyżowy transmisja danych przy uzgadnianiu spójności cache odbywa się z szybkością taktowania zegara procesora. Czas trwania tego procesu jest dzięki temu znacznie krótszy niż przy klasycznej architekturze SMP, jednak cała procedura też trochę trwa. Warto zauważyć, że architektura systemu pamięci cache w K8, nazwana exclusive cache, eliminuje problem spójności L1 - uzgodnienie danych obejmuje całość podsystemu, równocześnie L1 i L2. Mierzony praktycznie czas komunikacji L2-L2 w procesorze Athlon 64 to 110 nanosekund. Znacznie krócej, niż w przypadku Pentium D, jednak - podobnie jak przy połączeniu SMP na poziomie szyny FSB transmisja blokowała szynę, tak przy połączeniu na poziomie przełącznika krzyżowego transmisja zajmuje ten przełącznik, odcinając na pewien czas obydwa jądra od możliwości komunikacji z otoczeniem. Jedyną korzyścią jest krótszy czas oczekiwania przez procesor przejmujący dane - tym zresztą tłumaczy się fakt, że procesory Athlon 64 X2 zyskują na podwójnym jądrze więcej wydajności niż układy Pentium D. Ale problem spójności cache można rozwiązać w bardzo prosty sposób...

Ocena artykułu:
Ocen: 4
Zaloguj się, by móc oceniać
Mi3t3k (2006.07.10, 10:58)
Ocena: 0

0%
Witam.

Brawa dla Pana Sobkowskiego za wspaniały artykuł. Dzieki takim artykułom enter jest taki interesujący. Mam nadzieje ze publikacje pana R.S. zagoszczą na stałe na PCLabie, bede mógł wtedy zapomnieć o zakupach w kiosku.

Pozdarawiam.
*Konto usunięte* (2006.07.10, 11:16)
Ocena: 0
Nie wiem czy wszystko rozumiem. Conroe ma byc wydajniejszy od K8 (czyli dzisiejszy X2) o blisko 40 % tak ?? A AMD szykuje riposte w postaci K8L - czterordzeniowca na poczatku 2007 tak ?? Mam racje ?? smilies/tongue.gif smilies/smile.gif
Nereidin (2006.07.10, 11:22)
Ocena: 0

0%
Na poczatku roku 2007 bedzie kentsfield - intela.
weiss (2006.07.10, 11:26)
Ocena: 0

0%
Ciekawy artykuł, nie powiem, ale jednak nie podniecałbym się tak tym wynalazkiem, sztuka polega na tym, by stworzyć procesor wydajny i możliwie jak najtańszy. Conroe na pewno tego nie spełnia, bo nawet kilkudziesięcioprocentowy przyrost wydajności między K8 nie jest powodem, by wydawać na CPU ponad 4 tysiące zł.

Ja wolę jednak poczekać na K8L.
S.W.A.T (2006.07.10, 11:34)
Ocena: 0

0%
Amd troche straci ale prawdziwa walka bedze dopiero po wesjciu K8L i kentsfield -a bo w tedy bedzie widaomo kto ma lepsza technologie smilies/cool.gif
pila (2006.07.10, 11:34)
CYTAT(weiss @ 10 lipca 2006, 11:26) <{POST_SNAPBACK}>
nawet kilkudziesięcioprocentowy przyrost wydajności między K8 nie jest powodem, by wydawać na CPU ponad 4 tysiące zł.

Jakie znowu 4 tysiące? smilies/shocked.gif Core 2 Duo E6300 będzie kosztować poniżej 900 złotych!
Matias (2006.07.10, 11:35)
Ocena: 0

0%
Łooo matko jest ktoś kto, to wszystko zrozumiał ?
Tommo (2006.07.10, 11:41)
Ocena: 0

0%
Artykuł pierwsza klasa... smilies/smile.gif do czego zresztą jako mnie jako (swego czasu stałego) czytelnika "Entera" pan Sobkowski przyzwyczaił... Jedyne czego mógłbym sobie i innym czytelnikom życzyć to tego by artykuły pana Ryszarda Sobkowskiego gościły na Labie częściej...

A odnośnie tematu - Intel chyba w końcu wyciągnął wnioski ze "średnio" udanej architektury NetBurst... jesli na dodatek cena najwolniejszych modeli tych procesorów będzie oscylowała w granicach 800-900zł to szykuje się naprawdę bardzo dobry produkt... smilies/smile.gif

I sam jestem ciekaw jaka rzeczywiście będzie odpowiedź AMD na Conroe? (tzn. jak będzie ze wzrostem wydajności w K8L gdy już się pojawi na rynku).
skaziu (2006.07.10, 11:41)
Ocena: 0

0%
CYTAT(weiss @ 10 lipca 2006, 11:26) <{POST_SNAPBACK}>
Ciekawy artykuł, nie powiem, ale jednak nie podniecałbym się tak tym wynalazkiem, sztuka polega na tym, by stworzyć procesor wydajny i możliwie jak najtańszy. Conroe na pewno tego nie spełnia, bo nawet kilkudziesięcioprocentowy przyrost wydajności między K8 nie jest powodem, by wydawać na CPU ponad 4 tysiące zł.

Ja wolę jednak poczekać na K8L.

Tylko kto takie coś kupuje smilies/lol2.gif za 4k albo i więcej będą wersje extreme a dokładnie taki sam procesor tylko z niższą ceną i z niższym taktowanie chociażby e6600 będzie napewno o wiele tańszy.A więc rozumiem że ty uważasz że k8 jest tani-idąc twoim tokiem rozumowania ja również mogę podać cenę najdroższego procesora AMD FX62 który również kosztuje ok.4k i jest tak wydajny(przynajmniej w testach tweaka) jak podkręcony,najtańszy układ Core 2 Duo.
A jeżeli chodzi o k8l to myślisz że te proce będą rozdawali za darmo i będą one jednocześnie kilkanaście razy wydajne niż np.k8 smilies/Up_to_something.gif wątpię smilies/lol2.gif
Pozdrawiam
weiss (2006.07.10, 11:46)
Ocena: 0

0%
CYTAT(pila @ 10 lipca 2006, 11:34) <{POST_SNAPBACK}>
Jakie znowu 4 tysiące? smilies/shocked.gif Core 2 Duo E6300 będzie kosztować poniżej 900 złotych!

Mówię o najwyższym modelu.
Zaloguj się, by móc komentować
Artykuły spokrewnione
Facebook
Ostatnio komentowane