wieloprocesorowe uklady rozwijaja skrzydla dopiero na aplikacjach ktorych autor przewidzial obecnosc wiekszej ilosc rdzeni, wymaga to troche innej architektury i organizacji kodu zrodlowego, dlatego sceptycznie bym sie odniosl do stwierdzenia ze pare rdzeni radzi sobie lepiej z aplikacjami ktore nie zostaly odpowiednio napisane (chyba ze autor byl wizjonerem, bo watki istnieja nie od dzis, jedynie tylko wraz z wprowadzeniem ukladow multi-core pojawila sie realna mozliwosc wykorzystania ich mozliwosci)
my ludzie, posiadamy jedna pare rak, nog, jeden mozg, jedna pare oczu i uszu i potrafimy w jednym kwancie czasu skupic sie tylko na jednej czynnosci, nawet jesli ktos ma podzielna uwage to nie ma fizycznej mozliwosci sluchac i rozumiec dwoch osob naraz (taka dezorientacja zwie sie efektem cocktail party, wystarczy wejsc do pubu pelnego ludzi), czytac dwoch ksiazek naraz albo pochlaniac w tym samym czasie dwoch oddzielnych stron ksiazki, np czytac naraz rozdzial 1 i 2 ... mozna jedynie skubnac jedno zdanie z rodzialu pierwszego po czym przeskoczyc do rozdzialu drugiego, uczynic to samo, wrocic do pierwszego i tak w kolko... tak funkcjonuje jeden rdzen
wiec przechodzac do kompów i aplikacji... by uzmyslowic roznice zalozmy ze mamy do czynienia z klasycznym programem, ktorego zrodlo sklada sie z 2 linijek kodu gdzie kazda linijka to okreslone zadanie, zalozmy ze pierwsza to dodawanie a druga odejmowanie, zwykly procesor bedzie wykonywal je po kolei, gdyz tak mowi kod zrodlowy a procek sam ma tylko jeden mozg/rdzen, dwa rdzenie nie beda w tym modelu naraz dodawac i odejmowac, conajwyzej jeden wykona dodawanie a drugi odejmowanie, ale wywolanie linijki nr2 nastapi nie wczesniej niz zakonczy sie operacja z linijki nr1, tak po prostu dyktuje zrodlo w klasycznym modelu programowania, nie uwzgledniajacym
wątków/threadów i mozliwosci ukladow wieloprocesorowych. gdyby drugi rdzen zajal sie linijka 2 nim pierwszy skonczy 1, byloby to bardzo niebezpieczne z punktu widzenia utraty danych i synchronizacji, ogolnie powstalby 'logiczny' chaos i bledy jesli np linia 2 wykorzystuje informacje powstajace podczas procesu z linii 1, szczerze watpie zeby wogole to dzialalo w takim podejsciu, to po prostu malo prawdopodobne, wiec nie wierze ze multi-core w starych aplikacjach beda szybsze, ot wystarczy dodac czestotliwosci taktowania rdzeni i mamy jednordzeniowego procka ktory powinien miec podobne osiagi, jeno wiekszym kosztem energii elektrycznej
wersja tego prymitywu dajaca pole do popisu ukladom wielordzeniowym skladalaby sie z dwoch funkcji (obiektow) zwanych watkami, ktore mozna odpalac niezaleznie, powiedzmy, ze funkcjonuja one jako osobne mikro-programy 'robiace swoje', trzeba to troszke inaczej napisac i zaprojektowac, nie bede wchodzil w szczegoly, ale dopiero wtedy oba rdzenie beda rownoczesnie zajmowac sie roznymi watkami W JEDNEJ CHWILI CZASU i de facto naraz zrealizuja dwa zadania miast czekac az jeden rdzen po kolei wykona oba watki, scislej to procek wtedy dzieli sie na dwoje jednakze w jednej chwili wykonuje tylko jedna operacje i przeskakuje pomiedzy watkami, bo tak sie dzieje gdy mamy tylko jeden rdzen, wtedy aplikacja wielowatkowa wydajnoscia nie rozni sie od tej wspomnianej na poczatku tego wywodu
dla tych co zastanawiaja sie, dlaczego gears of war i ogolnie engine unreal3 smiga na xbox360 juz calkiem sporo czasu a na pecetach cisza, to wszystko dlatego ze napisany jest wlasnie z mysla o wielu rdzeniach (xbox360 ma trzy, ps3 bodajze siedem), to po prostu wymaga po pierwsze innej metodyki myslienia i projektowania aplikacji a po drugie mozliwosci sprzetowych typu wiele rdzeni, ktore na pc dopiero raczkuja, bo geforce chyba lepsze sa niz uklady z xboxa, wiec to niekoniecznie kwestia cieniackich kart graficznych ( engine unreal3/gears of war startowaly razem z konsola )
koniec. kropka.
ps. ja mysle czy nie poczekac az standardem bedzie quad core, bo konsole juz pare lat maja kilka rdzeni a intel wpycha c2d po kosmicznych cenach, czysty marketing, $$$$$$$$$ pozniej wejda quady znow beda dolary i tak to sie kreci, pieprzony monopol i kontrola rynku przez swiatowych potentatow