Sprzęt dla opornych – Core 2 Duo od wewnątrz

MBI
2006/08/10 20:30
0
0

Core 2 Duo Intela, według testów, to aktualnie najlepszy procesor. To już wiemy. Jednak aby zrozumieć dlaczego AMD ma poważny problem, zajrzyjmy do środka Conroe.

Core 2 Duo Intela, według testów, to aktualnie najlepszy procesor. To już wiemy. Jednak aby zrozumieć dlaczego AMD ma poważny problem, zajrzyjmy do środka Conroe.

Minęło parę dni od premiery najnowszej rodziny procesorów Intela. Śledząc ich testy w pismach branżowych, widać jak na dłoni przewagę wydajności Core 2 Duo nad Athlonami i wchodzącymi w etap powolnego konania, Pentiumami. Pod względem poboru mocy i produkcji ciepła procesory AMD wypadają jeszcze nie najgorzej, natomiast problemy z temperaturą P4 i PD wszyscy znamy. Warto na to zwrócić uwagę zwłaszcza, że jeszcze jakiś czas temu Intel głosił wszem i wobec o wyczerpaniu się możliwości konstrukcyjnych układów x86. Jak się okazało, była to tylko wymówka w trakcie przegrywanej batalii z AMD. Intel, przyparty do muru stratą około połowy rynku, wziął się do roboty, czego efekty, jeśli tylko chcemy, możemy już instalować w naszych pecetach. I to nawet za rozsądne pieniądze.

Dwa procesory u staruszków i problemy z cache. Mówi się, że co dwie głowy, to nie jedna. To powiedzonko dobrze pasuje do „dwurdzeniowców”, jednak z pewnym zastrzeżeniem. Dwa razy więcej procesorów wcale nie musi oznaczać dwukrotnie wyższej wydajności, o czym mogliśmy się przekonać zarówno w przypadku Pentiumów D, jak i Athlonów 64 X2 i FX. W obydwu konstrukcjach procesory połączone są ze sobą wspólną szyną FSB i za jej pośrednictwem korzystają z pamięci podręcznej (cache). Jeśli jeden z procesorów wykonał operację na danych znajdujących się w przyporządkowanej mu pamięci podręcznej, a kolejny ma właśnie poddać obróbce te same, ale jeszcze nie zmodyfikowane dane w jego cache, pojawia się problem. Zanim drugi z chipów będzie mógł się zabrać za dalszą pracę, będzie zmuszony poczekać, aż zmodyfikowane dane trafią do jego pamięci, właśnie poprzez szynę FSB. Przez ten czas dostęp do szyny jest zablokowany, a procesor traci kilkadziesiąt cykli zegara na oczekiwaniu. Tak wygląda to w przypadku Pentium D. Architektura AMD K8, projektowana specjalnie dla układów dwurdzeniowych, radzi sobie trochę lepiej z tym problemem, jednak nie rozwiązuje go do końca. Dwa procesory korzystają ze wspólnego zestawu interfejsów za pośrednictwem przełącznika krzyżowego, dzięki czemu wymiana danych odbywa się z prędkością taktowania zegara procesora. Szybciej niż w Pentiumach korzystających z szyny FSB. Dzięki temu, w układach AMD procesor pobierający dane krócej na nie oczekuje. Transmisja nadal jednak blokuje dostęp do FSB i możliwość komunikacji z pozostałymi podzespołami. Wkracza Conroe, czyli prosto i skutecznie. W Core 2 Duo problem ten rozwiązano wprowadzając, znany z mobilnych Core Duo, system zarządzania pamięcią podręczną Advanced Smart Cache, który po prostu udostępnia obydwu rdzeniom całą cache. Pozwala to na pominięcie magistrali systemowej w wymianie danych, a co za tym idzie, jej odciążenie. Jeśli zaistnieje taka potrzeba, jeden z procesorów może na raz korzystać z pełnych 4MB pamięci podręcznej (lub 2MB w przypadku E6300 i E6400). Komunikacja ze wspólną cache Core 2 Duo odbywa za pomocą 256 bitowej szyny, dzięki czemu na raz pobierane jest od czterech do dziesięciu kolejnych instrukcji (instrukcje kodu x86 mają długość od 16 do 128 bitów). Jaki z tego pożytek? Smart Memory Access zastosowany w Conroe, ma za zadanie odświeżać pamięć cache oraz zmieniać kolejność odwołań do pamięci w celu ich optymalnego dostosowania do zmodyfikowanego sposobu dekodowania kodu Wide Dynamic Execution.

Przez fuzję po wydajność. Właśnie na Wide Dynamic Execution warto zwrócić uwagę. Czemu? Kod binarny programu, jest to sekwencja kolejnych instrukcji przekształcanych w tak zwane mikrooperacje. Dzięki WDE, z pobranego fragmentu kodu wybierane są dwie instrukcje na raz (przy założeniu, że można je wykonać równocześnie), a następnie wprowadzane do tej samej fazy potoku wykonawczego, gdzie traktowane są jako jedna mikrooperacja. Jako, że mikrooperacje często nie wymagają zachowania kolejności wykonywania, pozwoliło to na wprowadzenie możliwości ich łączenia (także w pary). W jednej fazie potoku Conroe realizuje zatem dwie mikrooperacje, z których każda może zawierać po dwie instrukcje kodu. Oznacza to, że na raz wykonywane są cztery instrukcje, a im więcej instrukcji wykonanych w jednym cyklu zegara tym większa wydajność procesora. Technologie te Intel ochrzcił mianem Macro i Micro Operation Fusion.

Przecinki stałe i zmienne również wydajniejsze. Advanced Digital Media Boost – dzięki tej technice Conroe jest w stanie obsłużyć wszystkie mikrooperacje przewidziane do realizacji, bez konieczności oczekiwania na wolną jednostkę wykonawczą. W tym celu Core 2 Duo posiada trzy jednostki ALU, mogące wykonywać cztery podstawowe instrukcje (pobrania, zapisywania, dodawania i mnożenia) i korzystające z 128 bitowych szyn danych. Wszystko oczywiście w jednym cyklu zegara. W związku z tym, iż większość operacji SIMD w zestawie SSE/SSE2/SSE3 operuje na danych zmiennoprzecinkowych i coraz częściej instrukcje zmiennoprzecinkowe zastępowane są przez SSE, które wykonują te same operacje szybciej, połączono jednostki SIMD i FPU. Conroe wyposażono w trzy takie kooprocesory działające równolegle i niezależnie. Ponadto dodano obsługę instrukcji strumieniowych SSE4 oraz poprawiono wykonywanie dotychczasowych. Instrukcje trafiające do jednostek wykonawczych najpierw muszą odwiedzić układ odpowiedzialny za ich rozdysponowanie. W Core 2 Duo odpowiedzialny jest za to zunifikowany, czterodrogowy scheduler – Reservation Station – z możliwością wyboru pomiędzy trzydziestoma dwoma kolejnymi mikrooperacjami. W Athlonah i Pentium, jest on podzielony na część odpowiedzialną za operacje stałoprzecinkowe i część obsługującą operacje zmiennoprzecinkowe. W celu uniknięcia problemów z instrukcjami odwołującymi się do tego samego rejestru, Conroe został wyposażony w bufor przemianowania i przeporządkowania rejestrów liczący 96 pozycji.

GramTV przedstawia:

Z powrotem przy pamięci, czyli pobieranie na zapas. Oczywiście twórcy Core 2 Duo nie zapomnieli o usprawnieniu kontaktów swojego procesora z pamięcią. Memory Disambiguation odpowiada za przekolejkowanie operacji wykonywanych przez jednostki pobrań i zapisów, usprawniające przepływ danych przez szynę FSB. Ponadto każdy z rdzeni posiada trzy układy pobrań wyprzedzających do obsługi cache L1, a cache L2 wyposażono w oddzielny dwudrogowy system pobierania danych. Systemy te są odpowiedzialne za umieszczenie w pamięci podręcznej danych potrzebnych procesorowi za chwilę. Normalnie operacje zapisu i pobrania nie mogą być wykonywane w tym samym czasie, co powoduje zastój na szynie FSB. W jednym cyklu zegara pamięci „mieści się” kilka cykli zegara procesora co jeszcze bardziej wydłuża przestoje. Użytkownikom Conroe to nie grozi.

Temperatura ważna rzecz. Kwestię wydajności mamy za sobą. Pora na parę słów o tym, jak Intel poradził sobie z poborem energii. Na tym polu Core 2 Duo także wypada bardzo dobrze. Maksymalna moc tracona waha się od 65 do 95W, co pozwala na „podkręcanie” i stabilną pracę tych procesorów ze standardowym BOX- owym wiatraczkiem. Dla przypomnienia, E6300 można przetaktować z 1,86 do 2,8MHz i nie martwić się wydatkiem na wymyślny, i drogi system chłodzenia. Jak udało się połączyć wysoką wydajność z niskim poborem mocy? Po pierwsze - odpowiedzialny jest za to proces technologiczny 65 nanometrów. Po drugie - krótszy potok wykonawczy, opisane wcześniej Micro i Macro Fusion czy optymalne wykorzystanie przez Conroe dzielonych magistrali, co bezpośrednio przekłada się na niższe zapotrzebowanie na energię. Po trzecie - Intel opracował parę technologii, które mają zadbać o to, aby Core 2 Duo nie groziło przegrzanie. Enchanced SpeedStep poprzez zmianę mnożnika obniża zegar taktujący, gdy procesor nie jest w pełni wykorzystywany. Conroe potrafi także całkowicie wyłączyć swoje nieużywane w danym momencie bloki (Ultra Fine Grained Power Control) lub pamięć cache L2 poprzez obniżenie napięcia zasilania. Na czas uśpienia dane z pamięci podręcznej trafiają do RAM-u. Zarządzanie energią ma wspomóc także specjalny układ – Digital Thermal Sensor – którego zadaniem będzie przekazywanie do chipsetu informacji o temperaturze w newralgicznych miejscach procesora. Zmiana na tronie i co na to AMD. Wyniki testów potwierdzają teorię. Core 2 Duo biją konkurencję na głowę. Athlon 64 jest lepszy od Conroe tylko pod jednym względem. Dostęp do pamięci RAM obsługiwany jest przez wewnętrzny kontroler, którego cacko Intela nie posiada. Jednak wielkość i szybkość pamięci podręcznej oraz system pobrań wyprzedzających niwelują tą przewagę, czyniąc Core 2 wydajniejszym także pod tym względem. Zwolennicy Intela mogą zacierać ręce. Aktualnie król jest jeden. Conroe. Oznacza to zaprzestanie prac nad Pentium, ale za nim chyba niewielu będzie tęsknić. Zwłaszcza mając jako alternatywę Core 2. Fani AMD wbrew pozorom nie mają się czym martwić. Przynajmniej na razie. Ceny układów AMD spadły i będą spadać, więc aby wyciągnąć z naszego peceta pewien pułap wydajności może się okazać, że taniej będzie jednak skorzystać z przecenionych Athlonów. Zapowiadane jest także znaczne przyspieszenie prac nad platformą K8L – czterordzeniowymi układami i rychłe wprowadzenie technologii 65 nanometrów. Co wyjdzie z tych zapowiedzi? Zobaczymy. Należy mieć nadzieję, że pojawienie się Core 2 Duo wpłynie równie motywująco na konstruktorów AMD, jak cztery lata dominacji Athlona nad Pentium wpłynęły na naukowców Intela. Na takiej konkurencji najczęściej najlepiej wychodzimy my – użytkownicy.

Słowniczek: Szyna FSB – Szyna danych, za pomocą której procesor komunikuje się z płytą główną i umieszczonymi na niej elementami. Częstotliwość pracy procesora jest równa wielokrotności FSB. Cache – pamięć podręczna procesora o bardzo krótkim czasie dostępu. Używana do tymczasowego przechowywania danych przeznaczonych do dalszego przetwarzania. Cache typu L1 i L2 w aktualnie używanych układach jest scalony z procesorem. Cache L3 znajduje się zwykle na płycie głównej komputera. ALU – Jednostka arytmetyczno-logiczna (arithmetic and logical unit) Kooprocesor, jedna z głównych części procesora mająca za zadanie przeprowadzać proste operacje na liczbach całkowitych. SIMD – Single Instruction - Multiple Data, jest to rodzaj instrukcji procesora, które wykonują tęąsamą operację na wielu danych. FPU – Jednostka zmiennoprzecinkowa. Wewnętrzny koprocesor matematyczny służący do wykonywania obliczeń na liczbach ułamkowych, nazywanych również zmiennoprzecinkowymi. Duża wydajność FPU jest istotna zwłaszcza w przypadku gier 3D, ponieważ podczas odświeżania obrazu poszczególne współrzędne obliczane są za pomocą liczb zmiennoprzecinkowych.

Komentarze
0



Nie ma jeszcze żadnych komentarzy. Napisz komentarz jako pierwszy!