Nachádzate sa tu

Domov » Procesory

Dvoj- a viacjadrové procesory

 

 

-Viac jadrový mikroprocesor je jeden procesor, ktorý kombinuje dva alebo viac nezávislých procesorov do jedného puzdra – často jeden integrovaný obvod (IC – intergradet circuit).

-Dvojjadrový procesor obsahuje dva nezávislé procesory. Všeobecne viacjadrový procesor dovoľuje vykonávať, vlákna paralelne bez toho aby počítač obsahoval viac procesorov vo fyzicky oddelených soketoch. Softvér ma teda prospech z viacjadrových architektúr pretože, jeho kód môže byť vykonaný paralelne. Pod najbežnejšími operačnými systémami sa kód vykonáva v separátnych vláknach alebo procesoch . 

-Každá  aplikácia môže teda mať multihreading, ale vo väčšine prípadov, pre jeho využitie musí byť špecifický zapísaný v kóde.

-Veľká časť motivácie pre výrobu viacjadrových procesorov je daná tým, že stúpajú ťažkosti ako zlepšiť výkon procesoru zvyšovaním frekvencie. Za účelom pokračovať v pravidelnom zlepšovaní výkonu procesorov, sa výrobcovia obrátili na viacjadrové návrhy procesorov. Obetujú tým terajšie nízke náklady na výrobu pre vyšší výkon v niektorých aplikáciách a systémoch.

-Blízkosť viacerých CPU jadier na tom istom čipe má výhodu, že cache pamäť má omnoho vyššiu rýchlosť ako keď sú spojené mimo čipu, takže kombinácia rovnakých procesorov na jednom čipe významne zlepšuje výkon cache snoop operácií. Znamená to že, keď signály medzi jednotlivými procesormi majú kratšie vzdialenosti, ich degradovanie je menšie. Tieto signály, keďže sú kvalitnejšie, dovoľujú posielať viacej dát za určitý časový interval. Jednotlivé signály potom môžu byť kratšie a nemusia byť tak často opakované.

-Za predpokladu, že čip sa fyzicky zmestí do jedného puzdra, dizajn viacjadrového procesoru požaduje omnoho menej miesta na doske plošných spojov (PCB) než viac čipové návrhy. Tiež dvojjadrový procesor potrebuje menšiu energiu než dve spojene jednojadrové procesory, hlavne kvôli zvýšenej energií, ktorú je treba k smerovaniu externých signálov do čipu a tiež preto, že menšia výrobná technológia dovolí jadrám pracovať v nižších napätiach.

-Takáto redukcia zmenší oneskorenie.

-Ďalšou výhodou je, že jadrá môžu zdieľať L2 cache a prepojenie k frontside zbernici (FSB). Navyše viacjadrový dizajn môže využívať osvedčené jadrá a tvoriť produkt s menšou pravdepodobnosťou chyby, ako by mali vymýšľať nové návrhy jadra.



         

 Výkonnosť:

 

Situácia keď v jednom okamžiku je spustený jediný program, je dnes prakticky nereálna. Tak to možno fungovalo možno v dobách DOSu, ale pod multitaskingovými operačnými systémami (Windows, ...) neprichádza niečo také do úvahy – v jednom okamžiku máme spustený Internet Explorer, ktorý kombinujeme s Winampom, S ICQ klientom a podobne.

-Plánovač, ktorý prideľuje jednotlivým procesorom úlohy čakajúce vo fronte (na základe ich priority procesorov), má pri dvojjadrovom procesore dvojnásobok výpočtového výkonu než na klasickom procesore. Takže naraz môže bežať Internet Explorer aj ICQ klient, čo bolo predtým nebolo možné (museli sa striedať).Vyzerá to ideálne no realita je úplne iná.

-Ten zásadný problém je totiž v tom, ako veľmi jednotlivé programy požadujú výkon procesoru. Faktom je, že oni ho prakticky vôbec nevyžadujú.

-Už mnoho rokov prevažuje názor, že na kancelársku prácu stačí s prehľadom 1 GHz procesory. Procesory, ktoré sa už niekoľko rokov nepredávajú. Všetky programy ako Internet Explorer, ICQ klienti, Windows Media Playery, download manažéri a mnohé ďalšie sú tak nenáročné, že ich hravo zvládne obslúžiť aj z pohľadu informačných technológií starý procesory. Je jasné ak otvorené okno Internet Exploreru s reklamou Macromedia Flash vyžaduje šesť percent výkonu procesoru a neaktívne okno jednu tisícinu výkonu, ak ICQ klient si vystačí s jedným percentom, tak sa nikdy nemôžeme dostať do situácie, keď máme výkonu nedostatok.

-Záťaž moderného procesoru i pri desiatkach spustených programov je iba niekoľko percent. Preto dvojjadrový procesor, vo všeobecnosti viacjadrový procesor nemá pre kancelárske nasadenie takmer žiadny význam. Asi jediný význam je odozva. Tým, že je možné spúšťať dve vlákna naraz, sa významne znižuje čas potrebný pre vyriadenie niektorej náročnej kancelárskej situácie.

-Keď spúšťame  ktorýkoľvek program, zároveň sa začína načítavať množstvo DLL knižníc starajúcich sa štandardný vzhľad. Vyťaženie procesoru tak v momente vyskočí na 100 percent. Inak povedané Microsoft Word sa už nemusí štartovať štyri sekundy , ale dve. Ja osobne vlastním jednojadrový procesor a vôbec sa na odozvu nesťažujem.

-Mimo kancelárskych, skoro vôbec nezaťažujúcich  situácií sú situácie, keď spúšťame tzv. záťažové programy – napríklad balíme súbory WinRARom a podobne. Pri týchto Záležitostiach je počítač praktický nepoužiteľný a to aj niekoľko desiatok minút (v závislosti od veľkosti balených súborov).program je tak náročný, že všetko ostatné nereaguje.

-A aj keby sme spustili nejakú hudbu, či film na zabitie nudy znížime tým len výkon onej pre nás dôležitej aplikácie, čo nie je pravé žiaduce. Viacjadrový procesor má na toto riešenie – na jednom beží dôležitý program a zase na inom zábava(hudba, film, Internet, ...).

-Celkovo teda dvojjadrový procesor neprináša v prípade viacerých aplikácií vyšší výkon, ale hlavne pohodlie – programy sa spúšťajú rýchlejšie, je možné robiť viac (pri viacjadrových procesoroch) vecí naraz bez straty výkonu procesora pre jednotlivé aplikácie.

-Avšak plánovač operačného systému musí vedieť obslúžiť viac jadier. Ak na to nie je pripravený , bude sa dvojjadrový procesor chovať ako jednojadrový – druhé jadro nebude vôbec rozpoznané. Tak tomu bude napríklad v systémoch DOS, či Windows 95/98/Me.

 



         

Výkon a spotreba:

 

S multihradingom to vôbec nie je jednoduché. Prečo teda výrobcovia viacjadrových procesorov sa tak snažia a tlačia ich na trh? Realita je , že pre nich sú tieto procesory záchranou. Čím ďalej tým lepšie technológie majú, čím ďalej tým väčšie problémy s prekonávaním fyzikálnych bariér.

-Dvojjadro je práve dôsledkom, že výrobcovia nie sú schopný prekonávať fyzikálne bariéry.

 

-Idea dvojjadra je asi taká, že pre dosiahnutie vysokých frekvencií procesora je potreba vysokého napätia. To zvyšuje prúdový odber a vo výsledku zvyšuje aj spotrebu.

 

-Tým, že znížime frekvenciu, môžeme zároveň znížiť aj napätie. Pokles o 200 MHz môže dnes priniesť napríklad o 0,1V nižšie napätie, čo je skoro 10 percent.

-Zníženie napätia o 10 zredukuje spotrebu o 20 percent. Keď týmto spôsobom znížime spotrebu jedného jadra, môžeme pridať aj jadro druhé.

-Dohromady sa tak dostanem na takmer rovnakú spotrebu ako u jednojadrového procesora, výkon bude tak oveľa lepší.

 -To ak predpokladáme, že aplikácie sú schopné dve jadra využiť, čo nie vždy platí. 

-V Praxi ale očakávame skôr vyššiu hodnotu spotreby. Ani jeden z výrobcov nechce, by jeho viacjadrové riešenia frekvencií príliš zaostávali za jednojadrovými modelmi, preto to s tým poklesom napätia nemyslia až tak razantne. Najväčší vplyv na výpočtový výkon stále frekvencia, ale platí to len v rámci jednotlivých architektúr alebo modelových radov. Podľa frekvencie väčšinou nie je možné vzájomne porovnávať odlišné procesory, i keď je možné určiť, koľko MHz navyše potrebuje jednotlivý procesor na prekonanie druhého. Ďalší zmätok do tejto úvahy prinášajú i samotný výrobcovia , ktorí už dnes takmer vôbec nepropagujú frekvencie svojich čipov, ale skôr ich modelové značenie. To môže ale neznalým jedincom pripomínať chaotické zoskupenie čísel, i keď majú svoj význam. 

 

Druhým parametrom, ktorý je ešte zvykom uvádzať, je veľkosť vyrovnávacej pamäte L2.

L2 cache je jednou z najviac problematických vecí u dvojjadrových procesorov, čo sa výkonu týka. Zásadný problém je v zdieľaní obsahu.

Existujú dva prístupy:

- separátna L2 cache pre každé jadro

- zdieľaná pre obidve jadrá

 

 

 

-Ide teda o to, že ak dva thready chcú dáta z rovnakej časti pamäte a jedno jadro túto časť pamäte mení (a teda urýchľuje výkon umiestnením výsledku do svojej L2 cache), druhé jadro do nej nesmie zasahovať. Nie je proste možné aby keď jedno jadro má zapísať výsledok operácie (napr.: keď na adresu v pamäti má byť zapísané  číslo 5), aby si druhé jadro načítalo dáta skôr, než tam skutočne číslo 5 bude (načíta napr. iné číslo, ktoré tam bolo uložené predtým). To, že druhé jadro musí počkať, je ošetrené protokolom, pomocou ktorého spolu obe jadrá komunikujú. Toto problémom teda nie je.

 

 

Čo naopak problém je, ako dostať v uvedenej situácií číslo 5 z jedného jadra k druhému, t.j. predať si číslo 5, tak aby druhé jadro nemuselo dlho čakať. Je nutné premiestniť ono číslo z jednej cache pamäte do druhej. U zdieľaných cache to nie je problém. Hneď  ako jedno jadro zapíše výsledok do L2 cache, akoby ho zapísalo druhému jadru priamo pod nos. Horšia situácia nastáva u separátnych L2 cache. Tie si musia dáta predať cez zbernicu, ktorou sú prepojené. 

Odkazy

Odkazy

Elektrotechnika

Rezistor, kondenzátor, cievka, transformátor, dióda,... až procesory.