Obecnie na rynku pojawia siΩ coraz wiΩcej p│yt g│≤wnych, obs│uguj▒cych dwa procesory, po do╢µ atrakcyjnych cenach. W zwi▒zku z tym, zapewne nie raz zastanawiali╢cie siΩ nad zakupem takiej w│a╢nie p│yty. Komu potrzebne s▒ dwa procesory? Co to jest architektura SMP? Dlaczego tylko niekt≤re aplikacje s▒ w stanie wykorzystaµ moc drzemi▒c▒ w dw≤ch jednostkach centralnych? Na te i inne pytania znajdziecie odpowied╝, czytaj▒c niniejszy artyku│.

SMP,

Czyli Symmetrical Multi Processing, jest jedn▒ z najstarszych, a zarazem najprostszych architektur wieloprocesorowo╢ci. W p│ytach g│≤wnych SMP, procesory maj▒ wsp≤lny i r≤wnoprawny dostΩp do pamiΩci RAM, oraz korzystaj▒ ze wsp≤lnej przestrzeni adresowej urz▒dze± peryferyjnych i urz▒dze± wej╢cia/wyj╢cia (I/O). G│≤wnym wyzwaniem dla konstruktor≤w p│yt SMP, jest uwsp≤lnienie danych w pamiΩci cache obu procesor≤w (jest to tzw. cache coherency). W przeciwnym wypadku, procesor pobieraj▒cy dane z pamiΩci operacyjnej komputera lub ze swojej pamiΩci podrΩcznej, m≤g│by operowaµ na nieaktualnych danych, podczas gdy dane aktualne przebywa│yby w pamiΩci podrΩcznej procesora, kt≤ry operowa│ na nich wcze╢niej (namota│em?).
Z tym problemem poradzono sobie na r≤┐ne sposoby. W przypadku szyny FSB GTL+ (Gunning Tranceiver Logic) wykorzystywanej w procesorach Intela, odpowiednie uk│ady s│u┐▒ce do nadzoru sp≤jno╢ci pamiΩci podrΩcznej musz▒ byµ wbudowane w sam procesor. W tym wypadku uk│ady te potrzebuj▒ niewielkiego wsparcia ze strony mostka p≤│nocnego p│yty g│≤wnej.
Natomiast w przypadku szyny EV6, stosowanej w procesorach AMD (a zapo┐yczonej od procesor≤w Alpha firmy Compaq), sytuacja jest odwrotna. Ca│▒ odpowiedzialno╢µ za nadzorowanie sp≤jno╢ci pamiΩci cache bierze na swoje barki uk│ad northbridge (czyli mostek p≤│nocny), przy niewielkim wk│adzie CPU.
Na poni┐szych rysunkach przedstawiam orientacyjn▒ konstrukcjΩ p│yt SMP dla procesor≤w AMD i Intela.

Architektura Shared Bus dla procesor≤w Intela...

i architektura Point to Point dla AMD

Inne architektury

Inn▒ architektur▒, polegaj▒ca na zintegrowaniu dw≤ch procesor≤w w jednym uk│adzie scalonym, jest CMP (Chip Multi Processing lub Cellular Multi Processing). Architektura CMP w zasadzie polega na po│▒czonych ze sob▒ wΩz│ach SMP. Do integracji wΩz│≤w SMP, w architekturze CMP, s│u┐y pamiΩµ RAM. PlatformΩ sprzΩtow▒ CMP jest w stanie obs│u┐yµ wiele znanych system≤w operacyjnych- od Windows NT (New Technology), po r≤┐ne dystrybucje Linuxa. 

 Wielow▒tkowe aplikacje

Niew▒tpliwie korzystaj▒c z dw≤ch procesor≤w, uzyskamy spory przyrost wydajno╢ci podczas jednoczesnej pracy z kilkoma programami. W przypadku pracy z tylko jedn▒ aplikacj▒, przyrost ten nie jest ju┐ taki oczywisty. Program jest niczym innym jak tylko pojedynczym ci▒giem instrukcji, kt≤re maj▒ byµ wykonywane jedna po drugiej. W tej sytuacji, nawet sto procesor≤w nie jest w stanie przyspieszyµ dzia│ania programu. Dlatego w│a╢nie, aby odczuµ r≤┐nicΩ w prΩdko╢ci dzia│ania programu, musi on byµ podzielony na wiele r≤wnoleg│ych w▒tk≤w. Programista musi zamie╢ciµ informacje w kodzie programu, kt≤re jego czΩ╢ci mog▒ byµ wykonywane r≤wnolegle. Nie trudno siΩ domy╢liµ, ┐e takich wielow▒tkowych program≤w nie jest zbyt wiele. Jednym z najpopularniejszych program≤w wielow▒tkowych, jest 3D Studio Max. Z dwoma procesorami, mo┐na w nim uzyskaµ niemal dwukrotny przyrost wydajno╢ci. MuszΩ niestety zawie╢µ tych, kt≤rzy s▒dz▒, ze z dwoma procesorami ilo╢µ klatek w Quake'u czy innej grze wzro╢nie dwukrotnie. Nic podobnego. »adna z wsp≤│czesnych gier nie ma struktury wielow▒tkowej, tak wiΩc w tym przypadku, drugi procesor bΩdzie siΩ nudzi│.

Dla kogo?

Oto jest pytanie...
Na pewno nie dla graczy. Nie ma sensu wydawaµ pieniΩdzy na dwa procesory, je╢li ma siΩ zamiar graµ. Ewentualnie bΩdzie mo┐na siΩ pochwaliµ tym kolegom... Nale┐y r≤wnie┐ pamiΩtaµ, ┐e do poprawnej obs│ugi maszyn dwuprocesorowych, potrzebny jest odpowiedni OS. Mam tutaj na my╢li Windows NT, 2000 lub nadchodz▒cy XP od firmy Billa (a w zasadzie-ju┐ od jakiego╢ czasu- Stevena Ballmera) . Wszystkie dystrybucje Linuxa, z w miarΩ nowym kernelem, r≤wnie┐ poradz▒ sobie z obs│ug▒ platformy dwuprocesorowej. Osoby bawi▒ce siΩ programem 3D Studio Max, powinny powa┐nie przemy╢leµ sprawΩ zakupu p│yty SMP i dw≤ch procesor≤w. Na pewno zakup ten, pozwoli im na du┐o wygodniejsz▒ i szybsz▒ pracΩ z tym programem. Podsumowuj▒c, dwie jednostki centralne stosowane bΩd▒ raczej w wydajnych stacjach roboczych, ni┐ w domowym pececie.

Na koniec...

Czas na podsumowanie. Niezbyt wielka ilo╢µ wielow▒tkowych aplikacji potrafi▒cych wykorzystaµ ca│▒ moc dw≤ch procesor≤w sprawia, ┐e inwestowanie w tak▒ platformΩ nie wydaje siΩ byµ op│acalne. Z punktu widzenia zwyk│ego u┐ytkownika, jest to wrΩcz bezsensowne. Gry nie bΩd▒ dzia│a│y dwa razy szybciej, ani Windows nie bΩdzie siΩ uruchamia│ dwa razy kr≤cej. Korzy╢µ z dw≤ch procesor≤w mo┐e uzyskaµ osoba, kt≤ra u┐ywa dw≤ch aplikacji naraz. Ale powiedzmy sobie szczerze- kto z Was ogl▒da film DVD jednocze╢nie graj▒c? Wed│ug mnie dwa procesory znajd▒ zastosowanie w serwerach, stacjach roboczych lub... os≤b pracuj▒cych z programem 3D Studio Max.
Mam nadziejΩ, ┐e powy┐szy artyku│ wyja╢ni│ zagadnienia zwi▒zane z dwuprocesorowo╢ci▒, i pom≤g│ choµ trochΩ w podjΩciu decyzji- czy warto w to inwestowaµ?


Tomass
tomass@klub.chip.pl