Anonim

Keď boli osobné počítače prvýkrát vynájdené, ich centrálna procesorová jednotka (CPU) stála osamote a mala iba jedno jadro procesora. Jadro samotného procesora; myšlienka mať viacjadrový procesor bola doteraz neslýchaná. Dnes nie je vôbec bežné vidieť počítače, telefóny a ďalšie zariadenia s viacerými jadrami - takmer každý komerčne dostupný počítač akéhokoľvek druhu má viac jadier. Tieto jadrá sú umiestnené v rovnakej jednotnej jednotke CPU alebo centrálnej procesorovej jednotke.

Veľkou výhodou je mať viac jadier. Len s jedným jadrom môže počítač súčasne pracovať len na jednej úlohe a úlohu musí dokončiť skôr, ako sa presunie na inú. S väčším počtom jadier však môže počítač pracovať na viacerých úlohách naraz, čo je užitočné najmä pre tých, ktorí robia veľa úloh naraz.

Predtým, ako sa pustíme do toho, ako viacjadrové procesory fungujú, je dôležité sa trochu porozprávať o pozadí technológie spracovania, po ktorej budeme diskutovať o tom, čo robia viacjadrové procesory.

Niektoré dejiny

Pred postavením procesorov s viacerými jadrami sa ľudia a spoločnosti ako Intel a AMD pokúsili zostaviť počítače s viacerými procesormi. To znamenalo, že bola potrebná základná doska s viac ako jedným soketom CPU. Nielenže to bolo drahšie z dôvodu fyzického hardvéru potrebného pre ďalší soket CPU, ale tiež sa zvýšila latencia kvôli zvýšenej komunikácii, ktorá sa musela uskutočňovať medzi dvoma procesormi. Základná doska musela rozdeliť údaje medzi dve úplne samostatné miesta v počítači, namiesto toho, aby ich iba poslala do procesora. Fyzická vzdialenosť v skutočnosti znamená, že proces je pomalší. Uvedenie týchto procesov na jeden čip s viacerými jadrami nielenže znamená, že cestovanie je menšie, ale tiež to znamená, že rôzne jadrá môžu zdieľať zdroje na vykonávanie obzvlášť náročných úloh. Napríklad čipy Intel Pentium II a Pentium III boli implementované vo verziách s dvoma procesormi na jednej základnej doske.

Po chvíli museli byť procesory výkonnejšie, takže výrobcovia počítačov prišli s konceptom hyperzávitov. Samotný koncept pochádza od spoločnosti Intel a bol prvýkrát koncipovaný v roku 2002 na serverových procesoroch spoločnosti Xeon a neskôr na stolných procesoroch Pentium 4. Hyper-Threading sa v procesoroch stále používa a je dokonca hlavným rozdielom medzi čipmi i5 od Intelu a jeho čipmi i7. V zásade využíva skutočnosť, že v procesore sú často nevyužité prostriedky, najmä keď úlohy nevyžadujú veľa výpočtového výkonu, ktoré by sa dali použiť na iné programy. Procesor, ktorý používa hyperzávitovanie, sa v zásade predstavuje pre operačný systém, akoby mal dve jadrá. Nemá samozrejme dve jadrá, avšak pre dva programy, ktoré používajú polovicu dostupného alebo menej spracovateľského výkonu, môžu existovať aj dve jadrá, pretože spolu môžu využiť všetku silu, ktorú procesor musí ponúknuť. Hyper-závitovanie bude však o niečo pomalšie ako procesor s dvoma jadrami, ak nie je dostatok výpočtovej kapacity na zdieľanie medzi dvoma programami, ktoré používajú jadro.

Tu nájdete užitočné video, v ktorom nájdete stručné a podrobnejšie vysvetlenie hyperzávitov.

Multi-procesory

Po dlhom experimentovaní sa CPU s viacerými jadrami konečne dalo vybudovať. To znamená, že jeden procesor v podstate mal viac ako jednu procesorovú jednotku. Napríklad dvojjadrový procesor má dve procesorové jednotky, štvorjadrový procesor má štyri a tak ďalej.

Prečo spoločnosti vyvinuli procesory s viacerými jadrami? Potreba rýchlejších procesorov sa stávala čoraz zrejmejšou, avšak vývoj v jednojadrových procesoroch sa spomaľoval. Od 80-tych rokov do roku 2000 boli inžinieri schopní zvýšiť rýchlosť spracovania z niekoľkých megahertzov na niekoľko gigahertzov. Spoločnosti ako Intel a AMD to urobili zmenšením veľkosti tranzistorov, čo umožnilo viac tranzistorov v rovnakom množstve priestoru, čím sa zlepšil výkon.

Pretože rýchlosť hodín procesora je veľmi spojená s tým, koľko tranzistorov sa zmestí na čip, keď sa technológia zmenšovania tranzistorov začala spomaľovať, začal sa tiež spomaľovať vývoj zvýšených rýchlostí procesorov. Aj keď to nie je vtedy, keď spoločnosti prvýkrát vedeli o viacjadrových procesoroch, je to vtedy, keď začali experimentovať s viacjadrovými procesormi na komerčné účely. Zatiaľ čo viacjadrové procesory boli prvýkrát vyvinuté v polovici osemdesiatych rokov, boli navrhnuté pre veľké korporácie a neboli opravené, až kým sa jednojadrová technológia nezačala spomaľovať. Prvý viacjadrový procesor bol vyvinutý spoločnosťou Rockwell International a bol verziou čipu 6501 s dvoma procesormi 6502 na jednom čipe (viac podrobností nájdete tu v tejto položke Wikipedia).

Čo robí viacjadrový procesor?

No, je to naozaj celkom jednoduché. Mať viac jadier umožňuje robiť viac vecí naraz. Ak napríklad pracujete na e-mailoch, máte otvorený internetový prehľadávač, pracujete na excelentnej tabuľke a počúvate hudbu v iTunes, potom na všetkých týchto veciach môže naraz pracovať štvorjadrový procesor. Alebo, ak má užívateľ úlohu, ktorú je potrebné okamžite dokončiť, môže sa rozdeliť na menšie a ľahšie spracovateľné úlohy.

Používanie viacerých jadier sa neobmedzuje iba na viac programov. Prehliadač Google Chrome napríklad vykresľuje každú novú stránku odlišným procesom, čo znamená, že môže využívať výhody viacerých jadier naraz. Niektoré programy sa však nazývajú jednovláknové, čo znamená, že neboli napísané, aby mohli používať viac jadier, a ako také to nemôžu urobiť. V tomto prípade sa znova objavuje hypertextové vlákno, ktoré umožňuje prehliadaču Chrome odosielať viac stránok na dve „logické jadrá“ na jedno skutočné jadro.

Ide ruka v ruke s viacjadrovými procesormi a hyperzávitovým procesom, čo sa nazýva multithreading. Multithreading je v podstate schopnosť operačného systému využívať výhody viacerých jadier rozdelením kódu na jeho najzákladnejšiu formu alebo vlákna a ich súčasným privádzaním na rôzne jadrá. To je, samozrejme, dôležité vo viacprocesorových aj viacjadrových procesoroch. Vlákno s viacerými vláknami je trochu zložitejšie, ako to znie, pretože vyžaduje, aby operačné systémy správne objednali kód takým spôsobom, aby program mohol pokračovať v efektívnom fungovaní.

Samotné operačné systémy robia podobné veci s vlastnými procesmi - nie je to obmedzené iba na aplikácie. Procesy operačného systému sú veci, ktoré operačný systém vždy robí na pozadí, bez toho, aby o tom používateľ musel vedieť. Pretože tieto procesy stále prebiehajú, môže byť veľmi nápomocné mať hyper-vlákna a / alebo viac jadier, pretože to procesorom uvoľňuje schopnosť pracovať na iných veciach, ako je to, čo sa deje v aplikáciách.

Ako fungujú viacjadrové procesory?

Po prvé, základná doska a operačný systém musia rozpoznať procesor a že existuje viac jadier. Staršie počítače mali iba jedno jadro, takže starší operačný systém nemusí fungovať príliš dobre, ak sa ho používateľ pokúsil nainštalovať na novší počítač s viacerými jadrami. Napríklad systém Windows 95 nepodporuje hyperzávitové vlákna alebo viac jadier. Všetky súčasné operačné systémy podporujú viacjadrové procesory, napríklad systémy Windows 7, 8, novo vydané verzie 10 a Apple OS X 10.10.

Zjednodušene povedané, operačný systém potom oznámi základnej doske, že je potrebné vykonať proces. Základná doska potom oznámi procesoru. Vo viacjadrovom procesore môže operačný systém povedať procesoru, aby vykonal viacero vecí naraz. V podstate sa údaje prostredníctvom smeru operačného systému prenášajú z pevného disku alebo pamäte RAM cez základnú dosku do procesora.

Viacjadrový procesor

V rámci procesora existuje niekoľko úrovní vyrovnávacej pamäte, ktoré uchovávajú údaje pre ďalšiu operáciu alebo operácie procesora. Tieto úrovne vyrovnávacej pamäte zaisťujú, že procesor nemusí vyzerať príliš ďaleko, aby našiel svoj ďalší proces, čo šetrí veľa času. Prvá úroveň vyrovnávacej pamäte je vyrovnávacia pamäť L1. Ak procesor nemôže nájsť dáta, ktoré potrebuje pre svoj ďalší proces, v vyrovnávacej pamäti L1, hľadá vyrovnávaciu pamäť L2. Pamäť cache L2 je väčšia v pamäti, ale je pomalšia ako vyrovnávacia pamäť L1.

Jednojadrový procesor

Ak procesor nemôže nájsť to, čo hľadá v vyrovnávacej pamäti L2, pokračuje po riadku na L3 a ak ho má procesor, L4. Potom bude vyzerať v hlavnej pamäti alebo v RAM počítača.

Existujú tiež rôzne spôsoby, akými rôzne procesory manipulujú s vyrovnávacími rozdielmi. Napríklad niektorí duplikujú údaje v pamäti cache L1 v pamäti cache L2, čo je v podstate spôsob, ako zabezpečiť, aby procesor mohol nájsť to, čo hľadá. To samozrejme zaberá viac pamäte v vyrovnávacej pamäti L2.

Rôzne úrovne vyrovnávacej pamäte vstupujú do hry aj vo viacjadrových procesoroch. Zvyčajne bude mať každé jadro svoju vlastnú vyrovnávaciu pamäť L1, ale budú zdieľať vyrovnávaciu pamäť L2. Toto sa líši od prípadu, keď existovalo viac procesorov, pretože každý procesor má svoju vlastnú vyrovnávaciu pamäť L1, L2 a akékoľvek ďalšie vyrovnávacie pamäte. Zdieľanie vyrovnávacej pamäte jednoducho nie je možné s viacerými jednojadrovými procesormi. Jednou z hlavných výhod zdieľanej vyrovnávacej pamäte je schopnosť využívať vyrovnávaciu pamäť v plnom rozsahu, pretože ak jedno jadro nevyužíva vyrovnávaciu pamäť, druhé môže.

Vo viacjadrovom procesore môže jadro pri vyhľadávaní údajov prezerať svoju vlastnú jedinečnú vyrovnávaciu pamäť L1 a potom sa rozvetví do zdieľanej vyrovnávacej pamäte L2, RAM a prípadne na pevný disk.

Je pravdepodobné, že sa budeme naďalej vyvíjať viac jadier. Rýchlosti hodín procesora sa určite zlepšia, aj keď pomalšie ako predtým. Aj keď teraz nie je neobvyklé vidieť oktávové procesory vo veciach ako smartphony, čoskoro sme mohli vidieť procesory s desiatkami jadier.

Kam si myslíte, že bude nasledovať viacjadrová technológia spracovania? Dajte nám vedieť v komentároch nižšie alebo vytvorením nového vlákna v našom fóre komunity.

Všetko o viacjadrových procesoroch: čo sú to, ako pracujú a odkiaľ prišli