Komputery zaczynają pączkować
Hasło "dwurdzeniowy procesor" stało się już normą podczas kupowania komputera. Jednak patrząc na kierunek rozwoju komputerów, "cudowne rozmnożenie" nie ominie także innych części komputera.
Zasada stara jak świat - kiedy nie radzisz sobie z pracą, poproś kogoś o pomoc. Podobne podejście coraz częściej spotkać można także w pecetach. To naprawdę zadziwiające, jak wiele już możemy, a ile jeszcze znajdziemy w przyszłości w naszym komputerze "podwójnych" rozwiązań.
Zwielokrotnianie stosowanych w komputerze podzespołów nie jest wynalazkiem ostatnich lat. Już za czasów pierwszych superkomputerów, takich jak Cray-1, większą wydajność próbowano uzyskać poprzez zastosowanie kilku, nawet prostszych, procesorów aniżeli jednego, bardzo złożonego. Pierwszym, dwuprocesorowym superkomputerem był zaprezentowany w 1982 roku, Cray X-MP (Multiple Processor). Rozwiązanie to bardzo szybko przyjęło się na rynku i po dziś dzień komputery wyposażone w dwa, cztery i więcej CPU stosowane są w wielu dziedzinach komputerowego życia. Także zwykli użytkownicy mogą tym sposobem znacznie podnieść wydajność swojego komputera. Jest to jednak kosztowne, wysoce problematyczne, i przez to mało popularne przedsięwzięcie. Zdecydowanie bardziej dostępne są rozwiązania bazujące na jednym procesorze, ale z dwoma rdzeniami.
Moda na "dwa w jednym"
Zapoczątkowana przez Intela układem Presler, i w pełni rozwinięta w Athlonie 64 X2 i Core 2 Duo, moda na dwurdzeniowe procesory trwa w najlepsze, nawet w notebookach. Dziś, w nadchodzącej szybkimi krokami erze systemu operacyjnego Windows Vista, przystosowanego do pracy wielowątkowej, trudno już znaleźć użytkownika, któremu nie można by polecić dwurdzeniowego CPU. Na takim procesorze korzystanie z kilku aplikacji jednocześnie jest znacznie sprawniejsze i przyjemniejsze. Konwersja filmów do formatu DivX, muzyki do standardu MP3, no i oczywiście gry - to tylko najbardziej oczywiste i popularne zastosowania, w których dwurdzeniowy układ oferuje znaczący przyrost wydajności. Tak oto rozwiązanie, będące odpowiedzią na coraz większe trudności z opracowywaniem i produkowaniem wydajniejszych, ale pojedynczych procesorów, szybko staje się standardem.
2 razy 2
Intel i AMD zachęceni sukcesem dwurdzeniowych układów już przymierzają się do masowej sprzedaży ich czterordzeniowych wariantów. Na razie są to rozwiązania pośrednie (Intel QuadCore 2 Extreme - Kentsfield) powstałe z połączenia w jednej obudowie dwóch dwurdzeniowych procesorów. Już niedługo jednak do sprzedaży trafią w pełni czterordzeniowe CPU (np. AMD K8L). I choć, przynajmniej na razie, wiele pożytku z takich monstrualnych układów mieć nie będziemy (niewielka liczba aplikacji, które potrafią dodatkową moc wykorzystać, a niektóre nawet zwalniają po uruchomieniu na czterordzeniowym procesorze), to widać wyraźnie, dokąd to wszystko zmierza.
Pełne wykorzystanie tranzystorów
Wraz ze wzrostem liczby rdzeni, dramatycznie rośnie także liczba tranzystorów potrzebnych do ich wyprodukowania. Niestety, rzeczywista wydajność takich procesorów nie rośnie równie szybko. Cóż bowiem z tego, że w teorii taki wielordzeniowy układ może wykonywać miliardy operacji na sekundę, jeśli w praktyce rzadko kiedy udaje się tą ogromną moc obliczeniową wykorzystać. Dzieje się tak przede wszystkim z winy oprogramowania, nieprzystosowanego do pracy z wielordzeniowym procesorem. Problemem jest jednak i to, że takie układy dublują moc obliczeniową wszystkich jednostek wykonawczych, podczas gdy w praktyce np. wydajność stałoprzecinkowa jest już wystarczająco duża i nie potrzeba jej więcej, za to przydała by się dodatkowa zmiennoprzecinkowa. Z każdym zwielokrotnieniem rdzeni wydajność rośnie jednak tu i tu, i przez to wiele tranzystorów jest zwyczajnie marnowanych.
Wielordzeniowe poletko
Jak na razie zwielokrotnianie liczby procesorów zamkniętych w jednej obudowie przebiega według jednego schematu. Ich producenci, w mniej lub bardziej wyszukany sposób, łączą ze sobą prawie kompletne, a przede wszystkim takie same, układy. Dodatkowo wszystko odbywa się zgodnie z zasadą rosnącego ciągu geometrycznego. Mamy więc dwa, cztery, a w trochę bardziej odległej przyszłości i osiem rdzeni. W następnej dekadzie zarówno Intel, jak i AMD, zaprezentują nam procesory złożone z wielu różnych rdzeni spełniających dokładnie określone role. Kilka z nich odpowiadać będzie za np. fizykę, inne będą procesorami strumieniowymi przeznaczonymi do zadań multimedialnych, jeszcze inne będą układami wielozadaniowymi ogólnego przeznaczenia, a dopełnieniem wszystkiego będzie rdzeń graficzny (projekt AMD Fusion). Wszystko po to, by moc obliczeniowa była nie tylko duża, ale przede wszystkim optymalnie rozdysponowana.
Zanim jednak na rynku pojawią się takie heterogeniczne procesory, rewolucja musi nastąpić wśród programistów. A Ci, jak pokazuje przykład konsolowego Cella (wielordzeniowe serce PlayStation 3), niechętnie podchodzą do wyzwań wymagających radykalnej zmiany sposobu pisania gier i programów.
Zunifikowana grafika
Twórcy układów graficznych, w odróżnieniu od producentów procesorów, podążają w odmiennym kierunku. Zamiast, jak to miało jeszcze do niedawna miejsce, stosowania wielu specjalizowanych jednostek, odpowiedzialnych za poszczególne etapy renderowania grafiki, NVIDIA i ATI (choć teraz już winniśmy pisać AMD) opracowują bardzo złożone GPU bazujące na ogromnej licznie potężnych jednostek wykonawczych coraz bardziej ogólnego przeznaczenia. Opisywane jednostki są tak naprawdę samodzielnymi procesorami, zdolnymi do pracy zarówno na wierzchołkach (vertexy), jak i pikselach.
Dodatkowo łączone są one ze sobą i zarządzane w taki sposób, by ich wydajność była w każdej chwili maksymalnie wykorzystana. I to nie koniecznie do generowania grafiki. Zunifikowane shadery i coraz bardziej elastyczna logika sterująca najnowszych GPU pozwala na ich stosunkowo proste wykorzystanie także do liczenia np. fizyki gry.
Kojarzenie w pary
Oczywiście, nawet super potężne GPU możemy, w celu zwiększenia wydajności, wykorzystać w parze. Dublowanie kart graficznych też nie jest niczym nowym. Już bowiem za czasów Voodoo2 firmy 3Dfx mogliśmy w komputerze wykorzystywać jednocześnie dwa takie same akceleratory 3D. Bywały też eksperymenty takie jak ATI Rage MAXX, czyli karty wyposażone w dwa graficzne układy (w tym konkretny wypadku był to Radeon II). Firma 3Dfx poszła nawet dalej konstruując monstrualne VooDoo5 6000, bazujące aż na czterech procesorach VSA-100. Dziś także spotkać możemy karty z dwoma GPU zainstalowanymi na jednej płytce drukowanej. Np. firma Gigabyte wyprodukowała kartę Gigabyte GV-3D1 z dwoma układami GeForce 6600GT na pokładzie - zarówno szerokość szyny komunikacyjnej, jak i 256 MB zainstalowanej na karcie pamięci, są po połowie dzielone między oba GPU. Ciekawą wariację dwuukładowej karty zaprezentowała także sama NVIDIA. Jej GeForce 7950 GX2 to połączenie dwóch oddzielnych kart z układem GeForce 7900 w jeden organizm za pomocą specjalnego przełącznika PCI Express. Z punktu widzenia użytkownika i komputera, jest to jedna karta, którą - dzięki wykorzystaniu technologii SLI - możemy skojarzyć w parę i uzyskać czteroukładowy system graficzny.
Wojna gigantów
NVIDIA już w połowie 2004 roku zaprezentowała system SLI pozwalający na łączenie dwóch, wtedy jeszcze dokładnie takich samych kart graficznych. Z czasem ATI zaprezentowała konkurencyjne rozwiązanie o nazwie CrossFire, które zamiast zewnętrznego mostka łączącego obie karty wykorzystywało specjalny kabel DVI i pozwalało na łączenie różnych kart, przy czym jedna z nich musiała być "kartą matką" (na jej pokładzie był dodatkowy układ odpowiedzialny za kompozycje sceny wyliczonej przez dwa GPU).
Dziś zarówno SLI, jak i CrossFire są technologiami szeroko dostępnymi i dopracowanymi. A mimo to, niewielu użytkowników zdecydowało się w taki sposób zwiększyć wydajność swojego komputera. Ciągle znacznie popularniejsze jest kupowanie pojedynczej, wydajniejszej karty, niż dwóch słabszych, nawet jeśli drugą możemy dokupić po pewnym czasie. NVIDIA nie daje jednak za wygraną i już za kilka miesięcy zaprezentuje nam SLI w wersji 2.0, które pozwolić ma na kojarzenie prawie dowolnych kart, a także na budowę systemów złożonych z czterech, sześciu, a nawet 8 GPU. Pytanie tylko, jak to zostanie zrealizowane?
Dzisiejsze GPU, np. GeForce 8800 GTX, składają się z gigantycznej liczby tranzystorów (681 mln) i do wydajnej pracy wymagają nie tylko potężnego systemu chłodzenia, ale i pojemnej pamięci zainstalowanej na karcie. Powstaje więc pytanie, jak zmieścić na jednej płytce drukowanej kilka takich GPU, tym bardziej, że już dziś mówi się, że najnowszy Radeon (nazwa kodowa R600) w swojej najwydajniejszej wersji będzie instalowany na kartach o monstrualnych rozmiarach.
Oczywiście można sobie wyobrazić wariacje powstałe na wzór GeForce 7950 GX2 (wolniejsze taktowanie rdzenia i pamięci, ale za to więcej GPU), łączone w jedną, czy nawet dwie pary, ale nadal nie wiadomo, jak taką graficzną farmę zasilać i gdzie w komputerze, który przecież staje się coraz mniejszy i zgrabniejszy, to wszystko zmieścić? O ile więc dublowanie rdzeni w przypadku procesorów wydaje się czymś naturalnym i dla nas przynosi duże korzyści, o tyle dublowanie z natury potężnych i złożonych rdzeni graficznych jest zdecydowanie problematyczne i często zbyt kosztowne. No chyba, że jedną taką kartę będziemy mogli wykorzystać jako super wydajny system zajmujący się liczeniem fizyki gry, a coś takiego być może już całkiem niedługo trafić ma na sklepowe półki.
Pamięć absolutna
Obecnie w większości sprzedawanych komputerów znaleźć możemy podsystem pamięci oparty na dwóch, pracujących równoległe, modułach pamięci. Rozwiązanie to na rynek masowego odbiorcy wprowadził Intel, prezentując na przełomie 1999 i 2000 roku chipset i840 (Caramel), zdolny do obsługi dwóch modułów RDRAM jednocześnie. Choć może wprowadził to jednak za dużo powiedziane - koszt takiego systemu opartego na pamięciach korporacji RAMBUS był kosmicznie wysoki, przez co tylko nieliczni mogli sobie na niego pozwolić. Pierwszym, dwukanałowym rozwiązaniem dla przeciętnego użytkownika był zaprezentowany pod koniec 2002 roku chipset nForce2 firmy NVIDIA. Obsługiwał on dwa, znacznie tańsze od pamięci RDRAM, moduły DDR DRAM i przeznaczony był dla procesorów z rodziny Athlon XP. Rok później także Intel w końcu przekonał się do pamięci DDR i zaprezentował konkurencyjne rozwiązanie - chipset E7205 (Granite Bay).
Twórca P4, oprócz sprzedaży całej gamy chipsetów obsługujących w trybie dwukanałowym moduły DDR, po raz kolejny postawił się w roli pioniera, promując chipset i925X, obsługujący w trybie dwukanałowym pamięci DDR2. Co więcej, układ ten pozwala na zastosowanie modułów o różnej pojemności, ważne jest tylko to, aby suma pojemności RAM-u dla obu kanałów była taka sama.
W trybie dwukanałowym pracować będą także, zapowiedziane na bliżej nieokreśloną przyszłość, pamięci XDR DRAM korporacji RAMBUS. Moduły te już w najsłabszej wersji oferować mają przepływowość na poziomie 12 GB/s i to przy znacznie niższych, niż w przypadku RDRAM, opóźnieniach. A skoro jesteśmy już przy pamięciach "słynnej" firmy RAMBUS, to warto wspomnieć o chipsecie R659 firmy SiS, zdolnym do obsługi czterech modułów RDRAM w trybie nie dwu-, a czterokanałowym. Niestety, albo stety, to rozwiązanie nigdy nie trafiło pod strzechy. Choć oczywiście nie jest wykluczone, że w przyszłości ktoś powróci do pomysłu czterokanałowej obsługi pamięci.
Nie tylko wydajność
Dotychczas przedstawione dualne rozwiązania powstały po to, by możliwie prostym sposobem uzyskać niekiedy spektakularny, bo i ponad dwukrotny, przyrost wydajności. Znacznie częściej jednak wzrost wydajności jest zdecydowanie mniejszy, co bywa prostą konsekwencją ograniczonych możliwości reszty podzespołów komputera, a w szczególności szyn komunikacyjnych, z których podwajane urządzenia korzystają.
Większe możliwości obliczeniowe to, choć oczywiście najpopularniejszy, ale nie jedyny cel dublowania zainstalowanych w komputerze podzespołów. Czasami, jak w przypadku dysków twardych, instalacja dwóch urządzeń może przynieść nam całkiem inną korzyść, tj. zwiększenie bezpieczeństwa przechowywanych informacji. To dlatego coraz popularniejsze nawet na rynku domowego użytkownika, macierze RAID dysków twardych. Oprócz trybu RAID-0, teoretycznie zwiększającego szybkość zapisu i odczytu, oferują także (pośród wielu pośrednich) tryb RAID-1, który zapewnia, poprzez dublowanie zapisywanych danych, znacznie większe bezpieczeństwo pracy.
Ciągłość i stabilność pracy komputera osiągnąć można także poprzez zdublowanie zasilania. Podwajanie poszczególnych elementów komputera to także wygoda. Gdy np. chcemy pracować z dwoma ekranami jednocześnie, przyda się nam karta graficzna z podwójnym wyjściem wideo. Już niedługo, w czasach sprzętowej wirtualizacji zasobów komputera (technologie Vanderpool oraz Pacifica), niezastąpione mogą okazać się także rozwiązania takie jak płyta Jetway N2VIEW MagicTwin 2-User MotherBoard umożliwiająca podłączenie dwóch kompletów klawiatur i myszek.
Oczywiście to wszystko jest dopiero zapowiedzią tego, co nas czeka w erze w pełni wielozadaniowego, pojedynczego, ale tak naprawdę mocno zwielokrotnionego komputera.