|
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
|
|