Celá pravda o viacjadrových procesoroch. Hyper-Threading: Dva v jednom od Intelu alebo skryté schopnosti Xeonu

  • 28.06.2019

Prvé počítačové procesory s viacerými jadrami sa objavili na spotrebiteľskom trhu v polovici roku 2000, ale mnohí používatelia stále celkom nechápu, čo sú viacjadrové procesory a ako zistiť ich vlastnosti.

Video formát článku „Celá pravda o viacjadrových procesoroch“

Jednoduché vysvetlenie otázky „čo je to procesor“

Mikroprocesor je jedným z hlavných zariadení v počítači. Tento suchý oficiálny názov sa často skracuje na jednoducho „procesor“). Procesor - mikroobvod, rozlohou porovnateľný so zápalkovou škatuľkou... Ak chcete, procesor je ako motor v aute. Najdôležitejšia časť, ale nie jediná. Auto má aj kolesá, korbu a otočný tanier so svetlometmi. Ale je to procesor (ako motor auta), ktorý určuje výkon „auta“.

Mnoho ľudí nazýva procesor systémová jednotka - "škatuľa", v ktorej sú umiestnené všetky komponenty počítača, ale to je zásadne nesprávne. Systémová jednotka je počítačová skriňa spolu so všetkými jej súčasťami – pevným diskom, pamäťou RAM a mnohými ďalšími časťami.

Funkcia procesora - výpočtová... Nie je až také dôležité, ktoré. Faktom je, že všetka práca počítača je viazaná výlučne na aritmetické výpočty. Sčítanie, násobenie, odčítanie a iná algebra – to všetko robí mikroobvod nazývaný „procesor“. A výsledky takýchto výpočtov sa zobrazujú na obrazovke vo forme hry, súboru Word alebo len pracovnej plochy.

Hlavná časť počítača, ktorá sa zaoberá výpočtami - tu, čo je procesor.

Čo je jadro procesora a viacjadro

Od nepamäti „vekov“ procesorov boli tieto mikroobvody jednojadrové. Jadrom je v skutočnosti samotný procesor. Jeho hlavná a hlavná časť. Procesory majú aj iné časti - povedzme "nohy" - kontakty, mikroskopické "káblovanie" - ale samotný blok, ktorý je zodpovedný za výpočty, je tzv. jadro procesora... Keď sa procesory dosť zmenšili, inžinieri sa rozhodli spojiť niekoľko jadier naraz vo vnútri jedného procesorového „puzdra“.

Ak si pod byt predstavíme procesor, tak jadrom je v takomto byte veľká miestnosť. Jednoizbový byt je jedno procesorové jadro (veľká izba-predsieň), kuchyňa, kúpeľňa, chodba... Dvojizbový byt sú ako dve procesorové jadrá spolu s ďalšími miestnosťami. K dispozícii sú tri, štyri a dokonca aj 12-izbové byty. Aj v prípade procesorov: vo vnútri jedného kryštálu-"bytu" môže byť niekoľko jadier-"miestností".

Viacjadrový Ide o rozdelenie jedného procesora na niekoľko rovnakých funkčných blokov. Počet blokov je počet jadier v rámci jedného procesora.

Rôzne viacjadrové procesory

Existuje mylná predstava: "čím viac jadier má procesor, tým lepšie." Marketingoví pracovníci, ktorí sú platení za vytváranie takýchto bludov, sa snažia prezentovať tento prípad. Ich úlohou je predávať lacné procesory, navyše za vyššiu cenu a v obrovských množstvách. Ale v skutočnosti je počet jadier ďaleko od hlavnej charakteristiky procesorov.

Vráťme sa k analógii medzi procesormi a bytmi. Dvojizbový byt je drahší, pohodlnejší a prestížnejší ako jednoizbový. Ale iba ak sa tieto byty nachádzajú v rovnakej oblasti, sú vybavené rovnakým spôsobom a majú podobné opravy. Existujú slabé štvorjadrové (alebo aj 6-jadrové) procesory, ktoré sú oveľa slabšie ako dvojjadrové. Ale je ťažké tomu uveriť: stále kúzlo veľkých čísel 4 alebo 6 proti "nejakým" dvom. Presne toto sa však stáva veľmi, veľmi často. Pôsobí ako ten istý štvorizbový byt, ale v mŕtvom stave, bez rekonštrukcie, v úplne odľahlej lokalite – a ešte za cenu luxusného „kopečka“ v úplnom centre.

Koľko jadier je vo vnútri procesora?

Pre osobné počítače a notebooky sa jednojadrové procesory skutočne nevyrábajú už niekoľko rokov a len veľmi zriedka ich nájdete v predaji. Počet jadier začína dvoma. Štyri jadrá - spravidla ide o drahšie procesory, ale existuje ich návratnosť. Existujú aj 6-jadrové procesory, ktoré sú neskutočne drahé a oveľa menej praktické. Len málo úloh je schopných dosiahnuť výkon na týchto monštruóznych kryštáloch.

Spoločnosť AMD uskutočnila experiment na vytvorenie 3-jadrových procesorov, ale to je už minulosťou. Dopadlo to celkom dobre, ale ich čas už uplynul.

Mimochodom, AMD vyrába aj viacjadrové procesory, ale spravidla sú výrazne slabšie ako konkurenti od Intelu. Je pravda, že ich cena je oveľa nižšia. Len treba vedieť, že 4 jadrá od AMD budú takmer vždy citeľne slabšie ako tie isté 4 jadrá od Intelu.

Teraz viete, že procesory majú 1, 2, 3, 4, 6 a 12 jadier. Jedno- a 12-jadrové procesory sú zriedkavé. Trojjadrové procesory sú minulosťou. Šesťjadrové procesory sú buď veľmi drahé (Intel), alebo nie také silné (AMD), aby preplatili číslo. 2 a 4 jadrá sú najbežnejšie a najpraktickejšie zariadenia, od najslabších až po najvýkonnejšie.

Frekvencia viacjadrového procesora

Jednou z charakteristík počítačových procesorov je ich frekvencia. Tie isté megahertz (a častejšie - gigahertz). Frekvencia je dôležitá charakteristika, ale zďaleka nie jediná.... Áno, možno ešte nie to najdôležitejšie. Napríklad 2GHz dvojjadrový procesor je výkonnejšia ponuka ako jeho 3GHz jednojadrový náprotivok.

Je úplne nesprávne predpokladať, že frekvencia procesora sa rovná frekvencii jeho jadier vynásobenej počtom jadier. Zjednodušene povedané, 2-jadrový procesor s frekvenciou jadra 2 GHz nemá v žiadnom prípade celkovú frekvenciu 4 GHz! Dokonca ani pojem „spoločná frekvencia“ neexistuje. V tomto prípade, Frekvencia CPU je presne 2 GHz. Žiadne násobenia, sčítanie alebo iné operácie.

A opäť si „rozrobme“ procesory na byty. Ak je výška stropov v každej miestnosti 3 metre, potom celková výška bytu zostane rovnaká - všetky rovnaké tri metre a nie o centimeter vyššia. Bez ohľadu na to, koľko izieb je v takomto byte, výška týchto miestností sa nemení. Tiež taktovacej frekvencie jadier procesora... Nepridáva ani nenásobí.

Virtuálne viacjadrové alebo Hyper-Threading

Existujú tiež jadrá virtuálnych procesorov... Technológia Hyper-Threading od spoločnosti Intel núti počítač „myslieť si“, že vo vnútri dvojjadrového procesora sú v skutočnosti 4 jadrá. Podobne ako jeden pevný disk je rozdelená do niekoľkých logických- lokálne jednotky C, D, E atď.

hyper-Threading je veľmi užitočná technológia pre množstvo úloh.... Niekedy sa stáva, že jadro procesora je zapojené len do polovice a zvyšok tranzistorov v jeho zložení je nečinný. Inžinieri prišli na spôsob, ako zabezpečiť, aby aj tieto nečinné jednotky fungovali, a to tak, že každé jadro fyzického procesora rozdelili na dve „virtuálne“ časti. Akoby dostatočne veľká miestnosť bola predelená na dve časti.

Má to praktický zmysel V-core trik? Najčastejšie - áno, aj keď všetko závisí od konkrétnych úloh. Zdá sa, že je viac izieb (a čo je najdôležitejšie, používajú sa racionálnejšie), ale plocha miestnosti sa nezmenila. V kanceláriách sú takéto priečky neuveriteľne užitočné, v niektorých obytných bytoch tiež. V ostatných prípadoch nemá zmysel blokovať miestnosť (rozdelenie jadra procesora na dve virtuálne).

Všimnite si, že najdrahšie a procesory produktívnej triedyJadroi7 bez problémov vybavenýhyper-Navliekanie závitov... Majú 4 fyzické jadrá a 8 virtuálnych. Ukazuje sa, že na jednom procesore pracuje súčasne 8 výpočtových vlákien. Lacnejšie, ale aj výkonné procesory triedy Intel Jadroi5 pozostávajú zo štyroch jadier, no Hyper Threading tam nefunguje. Ukázalo sa, že Core i5 pracujú so 4 výpočtovými vláknami.

Procesory Jadroi3- typickí "strední sedliakovia" cenou aj výkonom. Majú dve jadrá a žiadny náznak Hyper-Threadingu. Celkovo sa ukazuje, že Jadroi3 iba dve výpočtové vlákna. To isté platí pre úprimne rozpočtové kryštály. Pentium aCeleron... Dve jadrá, žiadne hyper-threading = dve vlákna.

Potrebuje počítač veľa jadier? Koľko jadier potrebuje procesor?

Všetky moderné procesory sú dostatočne výkonné na bežné úlohy... Prezeranie internetu, chatovanie na sociálnych sieťach a e-mailoch, kancelárske úlohy Word-PowerPoint-Excel: na túto prácu sa hodí aj slabý Atom, budgetový Celeron a Pentium, nehovoriac o výkonnejšom Core i3. Dve jadrá sú na bežnú prevádzku viac než dostatočné. Procesor s veľkým počtom jadier neprinesie výrazné zvýšenie rýchlosti.

Pri hrách by ste mali venovať pozornosť procesoromJadroi3 aleboi5... Herný výkon skôr nebude závisieť od procesora, ale od grafickej karty. Málokedy si hra vyžaduje plný výkon Core i7. Preto sa verí, že hry nevyžadujú viac ako štyri jadrá procesora a častejšie budú stačiť dve jadrá.

Pre serióznu prácu, ako sú špeciálne inžinierske programy, kódovanie videa a iné úlohy náročné na zdroje vyžaduje sa skutočne produktívne vybavenie... Často sú tu zapojené nielen fyzické, ale aj virtuálne procesorové jadrá. Čím viac výpočtových vlákien, tým lepšie. A je jedno, koľko taký procesor stojí: pre profesionálov nie je cena až taká dôležitá.

Existujú nejaké výhody viacjadrových procesorov?

Samozrejme áno. Zároveň sa počítač venuje niekoľkým úlohám - prinajmenšom prevádzke systému Windows (mimochodom, sú to stovky rôznych úloh) a súčasne prehrávaniu filmu. Prehrávanie hudby a prehliadanie internetu. Textový editor a zahrnutá hudba. Dve jadrá procesora - čo sú v skutočnosti dva procesory, sa dokážu vyrovnať s rôznymi úlohami rýchlejšie ako jeden. Dve jadrá to urobia o niečo rýchlejšie. Štvorka je ešte rýchlejšia ako dvojka.

V prvých rokoch existencie viacjadrovej technológie neboli všetky programy schopné pracovať ani s dvoma jadrami procesora. Do roku 2014 bude drvivá väčšina aplikácií dobre informovaná a schopná využívať výhody viacerých jadier. Rýchlosť spracovania úloh na dvojjadrovom procesore sa zriedka zdvojnásobí, ale takmer vždy dôjde k zvýšeniu výkonu.

Preto je zakorenený mýtus, že programy údajne nemôžu využívať viacero jadier, zastarané informácie. Kedysi to tak naozaj bolo, dnes sa situácia dramaticky zlepšila. Výhody viacerých jadier sú nepopierateľné, to je fakt.

Keď má procesor menej jadier, je to lepšie

Nemali by ste kupovať procesor s nesprávnym vzorcom „čím viac jadier, tým lepšie“. To nie je pravda. Po prvé, 4, 6 a 8-jadrové procesory sú podstatne drahšie ako ich dvojjadrové náprotivky. Výrazné zvýšenie ceny nie je vždy opodstatnené z hľadiska výkonu. Ak je napríklad 8-jadro iba o 10 % rýchlejšie ako CPU s menším počtom jadier, no bude 2-krát drahšie, potom je takáto kúpa ťažko ospravedlniteľná.

Po druhé, čím viac jadier má procesor, tým je energeticky náročnejší. Nemá zmysel kupovať oveľa drahší notebook so 4-jadrovým (8-vláknovým) Core i7, ak tento notebook bude spracovávať iba textové súbory, prehliadať internet a pod. S dvojjadrovým (4 vláknam) Core i5 rozdiel nebude a klasický Core i3 len s dvomi výpočtovými vláknami svojmu význačnejšiemu „kolegovi“ neustúpi. A takto výkonný notebook vydrží na batériu oveľa menej ako ekonomický a nenáročný Core i3.

Viacjadrové procesory v mobilných telefónoch a tabletoch

Móda niekoľkých výpočtových jadier v rámci jedného procesora platí aj pre mobilné zariadenia. Smartfóny spolu s tabletmi s veľkým počtom jadier takmer nikdy nevyužívajú plné možnosti svojich mikroprocesorov. Dvojjadrové mobilné počítače niekedy skutočne pracujú o niečo rýchlejšie, ale 4 a ešte viac 8 jadier je úprimne prehnané. Batéria sa spotrebúva úplne bohorovne a výkonné výpočtové zariadenia sú jednoducho nečinné. Pointa je, že viacjadrové procesory v telefónoch, smartfónoch a tabletoch sú len marketingovou poctou, nie absolútnou nevyhnutnosťou. Počítače sú náročnejšie zariadenia ako telefóny. Naozaj potrebujú dve jadrá procesora. Štyri neublížia. 6 a 8 sú prehnané v bežných úlohách a dokonca aj v hrách.

Ako si vybrať viacjadrový procesor a nemýliť sa?

Praktická časť dnešného článku je relevantná pre rok 2014. Je nepravdepodobné, že v najbližších rokoch sa niečo vážne zmení. Budeme sa baviť len o procesoroch Intel. Áno, AMD ponúka dobré riešenia, ale sú menej populárne a je ťažšie ich zistiť.

Upozorňujeme, že tabuľka je založená na procesoroch z rokov 2012-2014. Staršie vzory majú iné vlastnosti. Nespomenuli sme ani zriedkavé varianty CPU, napríklad jednojadrový Celeron (také sú aj dnes, ale ide o atypickú možnosť, ktorá na trhu takmer nie je zastúpená). Procesory by ste si nemali vyberať iba podľa počtu jadier v nich - existujú aj iné, dôležitejšie vlastnosti. Tabuľka len uľahčí výber viacjadrového procesora, no konkrétny model (a v každej triede ich sú desiatky) si treba kúpiť až po dôkladnom oboznámení sa s ich parametrami: frekvencia, odvod tepla, generácia, cache veľkosť a ďalšie vlastnosti.

CPU Počet jadier Výpočtové prúdy Typická oblasť použitia
Atóm 1-2 1-4 Nízkoenergetické počítače a netbooky. Procesory Atom sú navrhnuté tak, aby spotreba energie bola čo najnižšia. Ich výkon je minimálny.
Celeron 2 2 Najlacnejšie procesory pre stolné počítače a notebooky. Výkon postačuje na kancelárske úlohy, no nejde vôbec o herné CPU.
Pentium 2 2 Rovnako lacné a nízkovýkonné procesory Intel ako Celeron. Skvelá voľba pre kancelárske počítače. Pentiá sú vybavené o niečo väčšou vyrovnávacou pamäťou a niekedy aj o niečo vyšším výkonom v porovnaní s Celeronom
Core i3 2 4 Dve dostatočne výkonné jadrá, z ktorých každé je rozdelené na dva virtuálne „procesory“ (Hyper-Threading). To sú už dosť výkonné CPU za nie príliš vysoké ceny. Dobrá voľba pre domáci alebo výkonný kancelársky počítač bez špeciálnych nárokov na výkon.
Core i5 4 4 Plne 4-jadrové procesory Core i5 sú pomerne drahé procesory. Ich výkon chýba len pri tých najnáročnejších úlohách.
Core i7 4-6 8-12 Najvýkonnejšie, no najmä drahé procesory Intel. Spravidla sa len zriedka ukážu, že sú rýchlejšie ako Core i5, a to iba v niektorých programoch. Jednoducho k nim neexistujú žiadne alternatívy.

Krátke zhrnutie článku „Celá pravda o viacjadrových procesoroch“. Namiesto súhrnu

  • Jadro procesora- jeho základná súčasť. V skutočnosti je to samostatný procesor vo vnútri puzdra. Dvojjadrový procesor – dva procesory v jednom.
  • Viacjadrový porovnateľný s počtom izieb v byte. Dvojizbové byty sú lepšie ako jednoizbové, ale len pri rovnakých ostatných veciach (umiestnenie bytu, stav, plocha, výška stropu).
  • Vyhlásenie, že čím viac jadier má procesor, tým je lepší Je to marketingový trik, úplne nesprávne pravidlo. Koniec koncov, byt sa vyberá nielen podľa počtu izieb, ale aj podľa jeho polohy, opravy a ďalších parametrov. To isté platí pre viacero jadier vo vnútri procesora.
  • existuje "Virtuálne" viacjadrové- Technológia Hyper-Threading. Vďaka tejto technológii je každé „fyzické“ jadro rozdelené na dve „virtuálne“. Ukazuje sa, že 2-jadrový procesor s Hyper-Threadingom má len dve skutočné jadrá, no tieto procesory spracúvajú súčasne 4 výpočtové vlákna. Ide o skutočne užitočnú funkciu, no 4-vláknový procesor nemožno považovať za štvorjadrový.
  • Pre stolné procesory Intel: Celeron - 2 jadrá a 2 vlákna. Pentium - 2 jadrá, 2 vlákna. Core i3 - 2 jadrá, 4 vlákna. Core i5 - 4 jadrá, 4 vlákna. Core i7 - 4 jadrá, 8 vlákien. Prenosné (mobilné) procesory Intel majú rôzny počet jadier/vlákien.
  • Pre mobilné počítače je energetická efektívnosť (v praxi výdrž batérie) často dôležitejšia ako počet jadier.

Na petrohradskom trhu sa objavil procesor Intel Pentium 4 s taktovacou frekvenciou 3,06 GHz, ktorý využíva technológiu Hyper-Threading (HT).
Táto technológia, ktorá sa predtým používala iba v serverových systémoch, uviedla na trh novú triedu vysokovýkonných stolných osobných počítačov, hovoria výrobcovia.
Pri technológii HT je jeden fyzický procesor operačným systémom a aplikáciami PC vnímaný ako dva logické procesory. Podľa vedúceho zastúpenia spoločnosti Intel v Rusku a krajinách SNŠ Alexeja Navolokina predbežné údaje ukazujú, že nový procesor s technológiou NT poskytuje priemerný nárast výkonu o 25 %.

Mimo poradia
Technológia HT umožňuje používateľom zlepšiť výkon počítača dvoma spôsobmi: pri práci so softvérom, ktorý využíva viacvláknové spracovanie údajov, a pri práci v prostredí s viacerými úlohami. Aplikácie napísané s prihliadnutím na schopnosť nového procesora pracovať súčasne s niekoľkými fragmentmi kódu (takzvané „vlákna“ – vlákno) „uvidia“ jeden fyzický procesor Intel Pentium 4 s taktom 3,06 GHz s technológiou HT. ako dva logické procesory. Technológia HT umožňuje procesoru spracovávať dva nezávislé dátové toky nie postupne, ale súčasne.

Pre biznis
Pomocou technológie HT môžete napríklad spustiť prehrávanie hudobného albumu a zároveň si vymieňať správy v chate bez toho, aby ste ohrozili kvalitu zvuku. Stiahnutím MP3 súboru z internetu do vášho hudobného archívu môžete paralelne spustiť antivírusový program, ktorý ochráni váš počítač pred prenikaním nežiaducich programov zvonku.
HT poskytuje bohaté príležitosti vo svete podnikania – vedúci podniku môže súčasne prezerať skladové správy a indexy, sledovať ukazovatele automatizovaného systému riadenia podniku a byť v kontakte s dodávateľmi. Inžinieri a výskumníci využívajúci PC s procesorom Intel Pentium 4 s technológiou Hyper-Threading budú môcť najefektívnejšie pracovať s informačnými zdrojmi, pričom si ich budú sťahovať z internetu a prijímať od kolegov vo forme súborov rôznych formátov – od PDF do XLS.
Petrohradské integračné firmy ("Svega +", "Computer Service 320-80-80", "Computer-Center KEY" a "Computer World") plánujú predať najmenej 15-20 počítačov založených na procesore Intel Pentium 4 3,06 GHz mesačne s HT technológie.

Napísali sme, že použitie jednoprocesorových systémov Xeon nemá zmysel, keďže pri vyššej cene bude ich výkon rovnaký ako pri Pentiu 4 rovnakej frekvencie. Teraz, po dôkladnejšom preštudovaní, bude zrejme potrebné toto vyhlásenie urobiť malou úpravou. Technológia Hyper-Threading implementovaná v Intel Xeon s jadrom Prestonia naozaj funguje a dáva celkom znateľný efekt. Aj keď pri jeho používaní vzniká veľa otázok...

Podávajte výkon

"Rýchlejšie, ešte rýchlejšie ...". Preteky o výkon prebiehajú už roky a niekedy je dokonca ťažké povedať, ktorý komponent vášho počítača zrýchľuje rýchlejšie. Na to sa vymýšľajú stále nové a nové spôsoby a do tohto lavínovitého procesu sa investuje čím ďalej tým viac kvalifikovanej pracovnej sily a kvalitnejších mozgov.

Neustále zvyšovanie výkonu je určite potrebné. Prinajmenšom ide o ziskový biznis a vždy bude existovať krásny spôsob, ako povzbudiť používateľov, aby upgradovali včerajší „supervýkonný CPU“ na zajtrajší „ešte super...“ Napríklad simultánne rozpoznávanie reči a simultánny preklad do iného jazyka nie je snom každého? Alebo nezvyčajne realistické hry takmer "filmovej" kvality (úplne pohlcujúce pozornosť a niekedy vedúce k vážnym zmenám v psychike) - nie je toto ašpiráciou mnohých mladých aj starých hráčov?

Ale vyberme v tomto prípade marketingové aspekty, pričom sa zameriame na tie technické. Navyše nie všetko je také pochmúrne: sú naliehavé úlohy (serverové aplikácie, vedecké výpočty, modelovanie atď.), kde je skutočne potrebný stále vyšší výkon, najmä centrálnych procesorov.

Aké sú teda spôsoby, ako zvýšiť ich výkon?

Pretaktovanie... Je možné ďalej „preriediť“ technologický postup a zvýšiť frekvenciu. Ako však viete, nie je to ľahké a je spojené so všetkými druhmi vedľajších účinkov, ako sú problémy s rozptylom tepla.

Zvýšenie zdrojov procesora- napríklad zväčšenie veľkosti vyrovnávacej pamäte, pridanie nových blokov (Execution Units). To všetko znamená zvýšenie počtu tranzistorov, zvýšenie zložitosti procesora, zvýšenie plochy matrice a následne aj náklady.

Okrem toho predchádzajúce dve metódy spravidla neposkytujú lineárny nárast produktivity. Toto je dobre známe na príklade Pentia 4: chyby v predikcii vetvenia a prerušenia spôsobujú, že sa spustí dlhý kanál, čo výrazne ovplyvňuje celkový výkon.

Multiprocessing... Inštalácia viacerých CPU a distribúcia práce medzi nimi je často dosť efektívna. Tento prístup však nie je príliš lacný - každý ďalší procesor zvyšuje náklady na systém a duálna základná doska je oveľa drahšia ako bežná (nehovoriac o základných doskách s podporou štyroch alebo viacerých CPU). Navyše nie všetky aplikácie ťažia z výkonu viacerých procesorov natoľko, aby odôvodnili náklady.

Okrem „čistého“ multiprocesingu existuje niekoľko „stredne pokročilých“ možností na urýchlenie vykonávania aplikácií:

Chip Multiprocessing (CMP)- dve jadrá procesora sú fyzicky umiestnené na jednej matrici pomocou zdieľanej alebo samostatnej vyrovnávacej pamäte. Prirodzene, veľkosť kryštálu sa ukáže byť dosť veľká, a to nemôže ovplyvniť náklady. Všimnite si, že niekoľko z týchto „duálnych“ CPU môže bežať aj na viacprocesorovom systéme.

Time-Slice Multithreading... Procesor prepína medzi vláknami programu v pevných intervaloch. Réžia môže byť niekedy dosť pôsobivá, najmä ak prebieha proces.

Multithreading pri zapnutí udalosti... Úlohy prepínania, keď sa vyskytnú dlhé pauzy, napríklad „chyby vo vyrovnávacej pamäti“, ktorých veľký počet je typický pre serverové aplikácie. V tomto prípade je pozastavený proces čakajúci na načítanie údajov z relatívne pomalej pamäte do vyrovnávacej pamäte, čím sa uvoľnia prostriedky CPU pre iné procesy. Switch-on-Event Multithreading, podobne ako Time-Slice Multithreading, však nie vždy umožňuje dosiahnuť optimálne využitie zdrojov procesora, najmä kvôli chybám v predikcii vetvy, závislostiam inštrukcií atď.

Simultánne viacvláknové spracovanie... V tomto prípade sa vlákna programu vykonávajú na jednom procesore „súčasne“, teda bez prepínania medzi nimi. Prostriedky CPU sa prideľujú dynamicky podľa princípu „ak ho nevyužívate, dajte ho niekomu inému“. Práve tento prístup je základom technológie Intel Hyper-Threading, ku ktorej sa teraz obraciame.

Ako funguje Hyper-Threading

Ako viete, súčasná „výpočtová paradigma“ predpokladá viacvláknové výpočty. To platí nielen pre servery, kde takýto koncept pôvodne existuje, ale aj pre pracovné stanice a desktopové systémy. Vlákna môžu odkazovať na jednu alebo rôzne aplikácie, ale takmer vždy je aktívnych viac ako jedno (pre istotu stačí otvoriť Správcu úloh vo Windows 2000 / XP a zapnúť zobrazenie počtu vlákien) . Bežný procesor môže súčasne vykonávať iba jedno z vlákien a je nútený medzi nimi neustále prepínať.

Prvýkrát bola technológia Hyper-Threading implementovaná do procesora Intel Xeon MP (Foster MP), na ktorom bola testovaná. Pripomeňme, že Xeon MP, oficiálne predstavený na IDF jar 2002, využíva jadro Pentium 4 Willamette, obsahuje 256 KB L2 cache a 512 KB / 1 MB L3 cache a podporuje 4-procesorové konfigurácie. Taktiež podpora Hyper-Threadingu je prítomná v procesore pre pracovné stanice – Intel Xeon (jadro Prestonia, 512 KB L2 cache), ktorý prišiel na trh o niečo skôr ako Xeon MP. Naši čitatelia už poznajú dvojprocesorové konfigurácie na Intel Xeon, takže ako príklad zvážime možnosti Hyper-Threading pomocou týchto CPU - teoreticky aj prakticky. Každopádne, „jednoduchý“ Xeon je všednejšia a stráviteľnejšia vec ako Xeon MP v 4-procesorových systémoch ...

Princíp Hyper-Threading je založený na skutočnosti, že v danom čase sa pri vykonávaní programového kódu využíva iba časť zdrojov procesora. Nevyužité zdroje môžu byť tiež zaťažené prácou - napríklad môžu byť použité na paralelné vykonávanie inej aplikácie (alebo iného vlákna tej istej aplikácie). V jednom fyzickom procesore Intel Xeon sú vytvorené dva logické procesory (LP - Logical Processor), ktoré zdieľajú výpočtové prostriedky CPU. Operačný systém a aplikácie „vidia“ rovno dva CPU a dokážu si medzi seba rozložiť prácu ako v prípade plnohodnotného dvojprocesorového systému.

Jedným z cieľov implementácie Hyper-Threadingu je umožniť, aby bežal rovnakou rýchlosťou ako na bežnom CPU, ak je tam len jedno aktívne vlákno. Na tento účel má procesor dva hlavné prevádzkové režimy: Single-Task (ST) a Multi-Task (MT). V režime ST je aktívny iba jeden logický procesor, ktorý plne využíva dostupné zdroje (režimy ST0 a ST1); druhý LP bol zastavený príkazom HALT. Keď sa objaví druhé vlákno programu, nečinný logický procesor sa aktivuje (cez prerušenie) a fyzický CPU sa prepne do režimu MT. Za zastavenie nepoužívaných LP príkazom HALT je zodpovedný operačný systém, ktorý je v konečnom dôsledku zodpovedný za rovnako rýchle spustenie jedného vlákna ako v prípade bez Hyper-Threadingu.

Pre každý z dvoch LP je uložený takzvaný Architecture State (AS), ktorý zahŕňa stav rôznych typov registrov – všeobecný, riadiaci, APIC a servisný. Každý LP má svoj vlastný APIC (kontrolér prerušenia) a sadu registrov, s ktorými je pre správnu činnosť zavedený koncept Register Alias ​​​​Table (RAT), ktorý sleduje súlad medzi ôsmimi univerzálnymi registrami IA-32 a 128. fyzické registre CPU (jeden RAT pre každý LP).

Pri prevádzke s dvoma prúdmi sú podporované dve zodpovedajúce sady ukazovateľov ďalšej inštrukcie. Väčšina inštrukcií je prevzatá z Trace Cache (TC), kde sú uložené v dekódovanej forme a dva aktívne LP majú prístup k TC striedavo prostredníctvom hodinového cyklu. Zároveň, keď je aktívny iba jeden LP, získava výhradný prístup k TC bez prekladania hodinami. Mikrokód ROM je prístupný rovnakým spôsobom. Bloky ITLB (Instruction Translation Look-aside Buffer), ktoré sa používajú pri absencii potrebných inštrukcií vo vyrovnávacej pamäti inštrukcií, sú duplikované a každý doručuje inštrukcie pre svoj vlastný tok. Jednotka dekódovania inštrukcií IA-32 Instruction Decode je zdieľaná a keď je potrebné dekódovať inštrukcie pre oba toky, obsluhuje ich jeden po druhom (opäť každý cyklus hodín). Bloky Uop Queue a Allocator sú rozdelené na dva, pričom pre každý LP je pridelená polovica prvkov. Plánovače, ktorých je 5, spracúvajú fronty dekódovaných príkazov (Uops), napriek tomu, že patria k LP0 / LP1, a odosielajú príkazy na vykonanie potrebných vykonávacích jednotiek v závislosti od pripravenosti na vykonanie prvého a dostupnosti druhého. Cache všetkých úrovní (L1 / L2 pre Xeon, ako aj L3 pre Xeon MP) sú úplne zdieľané medzi dvoma LP, avšak na zabezpečenie integrity údajov sú záznamy v DTLB (Data Translation Look-aside Buffer) vybavené deskriptormi v vo forme ID logických procesorov.

Inštrukcie oboch logických CPU sa teda môžu vykonávať súčasne na zdrojoch jedného fyzického procesora, ktoré sú rozdelené do štyroch tried:

  • duplikovaný (Duplicated);
  • plne zdieľané (Fully Shared);
  • s deskriptormi prvkov (Entry Tagged);
  • dynamicky rozdelené v závislosti od prevádzkového režimu ST0 / ST1 alebo MT.

Zároveň väčšina aplikácií zrýchlených vo viacprocesorových systémoch môže byť akcelerovaná aj na CPU so zapnutým Hyper-Threadingom bez akýchkoľvek úprav. Ale sú tu aj problémy: ak je napríklad jeden proces v čakacej slučke, môže zaberať všetky zdroje fyzického CPU, čo bráni fungovaniu druhého LP. Výkon pri používaní Hyper-Threading môže teda niekedy klesnúť (až o 20 %). Aby sa tomu zabránilo, spoločnosť Intel odporúča použiť inštrukciu PAUSE (zavedenú v IA-32 od Pentia 4) namiesto prázdnych čakacích slučiek. Pomerne seriózne sa pracuje aj na automatickej a poloautomatickej optimalizácii kódu počas kompilácie - napríklad kompilátory radu Intel OpenMP C ++ / Fortran Compilers () v tomto smere výrazne pokročili.

Ďalším cieľom prvej implementácie Hyper-Threadingu bolo podľa Intelu minimalizovať nárast počtu tranzistorov, plochy matrice a spotreby energie s citeľným zvýšením výkonu. Prvá časť tohto záväzku už bola splnená: pridanie podpory Hyper-Threading do Xeon / Xeon MP zvýšilo plochu matrice a spotrebu energie o menej ako 5 %. Čo sa stalo s druhým dielom (výkon), si musíme ešte overiť.

Praktická časť

Zo zrejmých dôvodov sme netestovali 4-procesorové serverové systémy na Xeon MP s povoleným Hyper-Threadingom. Po prvé, je to dosť časovo náročné. A po druhé, ak sa rozhodneme pre takýto počin – každopádne teraz, necelý mesiac po oficiálnom oznámení, je absolútne nereálne získať túto drahú výbavu. Preto bolo rozhodnuté obmedziť sa na rovnaký systém s dvoma Intel Xeon 2,2 GHz, na ktorom prebiehalo prvé testovanie týchto procesorov (pozri odkaz na začiatku článku). Systém bol založený na základnej doske Supermicro P4DC6 + (čipset Intel i860), obsahoval 512 MB RDRAM, grafickú kartu založenú na čipe GeForce3 (64 MB DDR, ovládače Detonator 21.85), pevný disk Western Digital WD300BB a 6X DVD- ROM; Ako operačný systém bol použitý Windows 2000 Professional SP2.

Najprv niekoľko všeobecných dojmov. Pri inštalácii jedného Xeonu s jadrom Prestonia pri štarte systému BIOS zobrazí správu o prítomnosti dvoch CPU; ak sú nainštalované dva procesory, používateľovi sa zobrazí správa o štyroch procesoroch. Operačný systém bežne rozpozná „oba procesory“, ale iba ak sú splnené dve podmienky.

Po prvé, v nastavení CMOS najnovších verzií BIOS dosiek Supermicro P4DCxx sa objavila položka Enable Hyper-Threading, bez ktorej OS rozpoznáva iba fyzický procesor (procesory). Po druhé, schopnosti ACPI sa používajú na informovanie operačného systému o prítomnosti ďalších logických procesorov. Preto, aby ste povolili Hyper-Threading, musí byť v CMOS Setup povolená možnosť ACPI a pre samotný OS musí byť nainštalovaná aj vrstva HAL (Hardware Abstraction Layer) s podporou ACPI. Našťastie vo Windows 2000 je zmena HAL zo Standard PC (alebo MPS Uni-/Multiprocessor PC) na ACPI Uni-/Multiprocessor PC jednoduchá – nahradením „ovládača počítača“ v správcovi zariadení. V prípade Windows XP je zároveň jediným legálnym spôsobom migrácie na ACPI HAL preinštalovanie systému cez existujúcu inštaláciu.

Teraz sú však všetky prípravy hotové a náš Windows 2000 Pro už pevne verí, že funguje na dvojprocesorovom systéme (hoci v skutočnosti je nainštalovaný iba jeden procesor). Teraz je už tradične čas rozhodnúť o cieľoch testovania. Takže chceme:

  • Vyhodnoťte vplyv Hyper-Threadingu na výkon aplikácií rôznych tried.
  • Porovnajte tento efekt s efektom inštalácie druhého procesora.
  • Skontrolujte, ako sú „spravodlivé“ zdroje pridelené aktívnemu logickému procesoru, keď je druhý LP nečinný.

Na vyhodnotenie výkonu sme vzali súbor aplikácií, ktoré už naši čitatelia poznajú a používajú sa pri testovaní systémov pracovných staníc. Začnime od konca a skontrolujte „spravodlivosť“ logických CPU. Všetko je veľmi jednoduché: najprv spustíme testy na jednom procesore s vypnutým Hyper-Threadingom a potom proces zopakujeme, povolíme Hyper-Threading a použijeme iba jeden z dvoch logických CPU (pomocou Správcu úloh). Keďže nás v tomto prípade zaujímajú len relatívne hodnoty, výsledky všetkých testov sú zredukované na „väčšie, tým lepšie“ a normalizované (ukazovatele jednoprocesorového systému bez Hyper-Threadingu sa berú ako jednotka).

No, ako vidíte, sľuby Intelu sa tu splnili: len s jedným aktívnym vláknom sa výkon každého z dvoch LP presne rovná rýchlosti fyzického CPU bez Hyper-Threadingu. Nečinný LP (LP0 aj LP1) je v skutočnosti pozastavený a zdieľané zdroje, pokiaľ môžeme usúdiť zo získaných výsledkov, sú úplne prevedené na používanie aktívneho LP.

Preto vyvodíme prvý záver: dva logické procesory sú si v skutočnosti rovné a umožnenie Hyper-Threadingu „nezasahuje“ do práce jedného vlákna (čo samo o sebe nie je zlé). Teraz sa pozrime, či toto začlenenie „pomáha“ a ak áno, kde a ako?

Vykresľovanie... Výsledky štyroch testov v 3D modelovacích balíkoch 3D Studio MAX 4.26, Lightwave 7b a A | W Maya 4.0.1 sú z dôvodu ich podobnosti spojené do jedného diagramu.

Vo všetkých štyroch prípadoch (pre Lightwave - dve rôzne scény) sa zaťaženie CPU s jedným procesorom s vypnutým Hyper-Threadingom takmer vždy udrží na 100 %. Napriek tomu sa pri povolenom Hyper-Threading zrýchli výpočet scény (v dôsledku čoho sme mali aj vtip o zaťažení CPU nad 100%). V troch testoch môžeme vidieť 14-18% nárast výkonu z Hyper-Threading - na jednej strane nie veľa v porovnaní s druhým CPU, ale na druhej strane je to celkom dobré, vzhľadom na "zadarmo" efekt tohto účinku. V jednom z dvoch testov s Lightwave je nárast výkonu prakticky nulový (zrejme je to spôsobené špecifickosťou tejto aplikácie, ktorá je plná podivností). Ale nikde nie je žiadny negatívny výsledok a citeľný nárast v ostatných troch prípadoch je povzbudzujúci. A to aj napriek tomu, že paralelné procesy vykresľovania vykonávajú podobnú prácu a s najväčšou pravdepodobnosťou to nemusí byť najlepší spôsob, ako súčasne využívať zdroje fyzického CPU.

Photoshop a kódovanie MP3... Kodek GOGO-no-coda 2.39c je jedným z mála, ktorý podporuje SMP a vykazuje 34% nárast výkonu vďaka technológii s dvomi procesormi. Zároveň je efekt Hyper-Threadingu v tomto prípade nulový (3% rozdiel nepovažujeme za významný). Ale v teste s Photoshopom 6.0.1 (skript pozostávajúci z veľkej sady príkazov a filtrov) môžete vidieť spomalenie, keď je povolený Hyper-Threading, hoci druhý fyzický CPU v tomto prípade pridáva 12% výkonu. Toto je v skutočnosti prvý prípad, keď Hyper-Threading spôsobí pokles výkonu ...

Profesionálne OpenGL... Už dlho je známe, že SPEC ViewPerf a mnohé ďalšie OpenGL aplikácie sa na SMP systémoch často spomaľujú.

OpenGL a duálny procesor: Prečo nie sú priatelia

Viackrát sme v článkoch upozorňovali čitateľov na to, že dvojprocesorové platformy pri vykonávaní profesionálnych testov OpenGL len veľmi zriedkavo prejavia výraznejšiu výhodu oproti jednoprocesorovým. Navyše sa často vyskytujú prípady, keď inštalácia druhého procesora naopak znižuje výkon systému pri vykresľovaní dynamických trojrozmerných scén.

Prirodzene, nielen my sme si všimli túto zvláštnosť. Niektorí testeri túto skutočnosť jednoducho potichu obišli – napríklad citovali výsledky benchmarku SPEC ViewPerf len pre dvojprocesorové konfigurácie, čím sa vyhli vysvetleniu „prečo je dvojprocesorový systém pomalší?“. Iní urobili všetky možné fantastické predpoklady o koherencii kešiek, potrebe jej údržby, výslednej réžii atď. A z nejakého dôvodu nikoho neprekvapilo, že napríklad procesory netrpezlivo sledovali koherenciu procesorov pri vykresľovaní OpenGL v okne (z hľadiska svojej „výpočtovej“ podstaty sa príliš nelíši od akéhokoľvek iného výpočtového problému) .

V skutočnosti je vysvetlenie podľa nášho názoru oveľa jednoduchšie. Ako viete, aplikácia môže bežať na dvoch procesoroch rýchlejšie ako na jednom, ak:

  • súčasne bežia viac ako dve alebo viac vlákien;
  • tieto vlákna si navzájom nezasahujú do vykonávania — napríklad nesúťažia o zdieľaný zdroj, akým je externé úložné zariadenie alebo sieťové rozhranie.

Teraz sa pozrime zjednodušene na to, ako vyzerá OpenGL rendering, keď ho vykonávajú dve vlákna. Ak aplikácia, ktorá „vidí“ dva procesory, vytvorí dve vlákna vykresľovania OpenGL, potom sa pre každé z nich podľa pravidiel OpenGL vytvorí vlastný gl-kontext. V súlade s tým sa každé vlákno vykresľuje do svojho vlastného gl-kontextu. Problém je však v tom, že pre okno, do ktorého sa obrázok zobrazuje, môže byť naraz aktuálny iba jeden gl-kontext. Vlákna teda v tomto prípade jednoducho „na oplátku“ vydávajú vygenerovaný obrázok do okna, pričom ich kontext je striedavo aktuálny. Netreba dodávať, že toto „striedanie súvislostí“ môže byť z hľadiska réžie veľmi drahé?

Tiež napríklad uvedieme grafy využitia dvoch CPU vo viacerých aplikáciách zobrazujúcich OpenGL scény. Všetky merania boli vykonané na platforme s nasledujúcou konfiguráciou:

  • jeden alebo dva Intel Xeon 2,2 GHz (Hyper-Threading vypnutý);
  • 512 MB pamäte RDRAM;
  • Supermicro P4DC6 + základná doska;
  • Grafická karta ASUS V8200 Deluxe (NVidia GeForce3, 64 MB DDR SDRAM, ovládače Detonator 21.85);
  • Windows 2000 Professional SP2
  • video režim 1280x1024x32 bpp, 85 Hz, Vsync vypnutý.

Modrá a červená znázorňujú grafy využitia CPU 0 a CPU 1, v tomto poradí. Čiara v strede je konečný graf využitia CPU. Tri grafy zodpovedajú dvom scénam z 3D Studio MAX 4.26 a časti benchmarku SPEC ViewPerf (AWadvs-04).


Využitie CPU: Animation 3D Studio MAX 4.26 - Anibal (s manipulátormi) .max


Využitie procesora: Animácia 3D Studio MAX 4.26 - Králik.max


Využitie CPU: SPEC ViewPerf 6.1.2 - AWadvs-04

Rovnaký vzor sa opakuje v mnohých iných aplikáciách, ktoré používajú OpenGL. Dva procesory sa s prácou vôbec neobťažujú a celkové využitie CPU sa pohybuje na úrovni 50-60%. Zároveň je v prípade jednoprocesorového systému vo všetkých týchto prípadoch využitie CPU s istotou udržiavané na 100 %.

Preto nie je prekvapujúce, že toľko aplikácií OpenGL sa na duálnych systémoch príliš nezrýchľuje. No to, že občas aj spomalia, má podľa nás úplne logické vysvetlenie.

Môžeme konštatovať, že pri dvoch logických CPU je pokles výkonu ešte výraznejší, čo je celkom pochopiteľné: dva logické procesory sa navzájom rušia rovnako ako dva fyzické. Ale ich celkový výkon sa, prirodzene, ukáže byť nižší, takže keď je povolený Hyper-Threading, klesá ešte viac, ako keď bežia dva fyzické CPU. Výsledok je predvídateľný a záver je jednoduchý: Hyper-Threading, podobne ako „skutočný“ SMP, je niekedy kontraindikovaný pre OpenGL.

CAD aplikácie... Predošlý záver potvrdzujú výsledky dvoch CAD testov – SPECapc pre SolidEdge V10 a SPECapc pre SolidWorks. Grafický výkon týchto testov pre Hyper-Threading je podobný (hoci v prípade SMP systému pre SolidEdge V10 je výsledok o niečo vyšší). Ale výsledky testov CPU_Score pri zaťažení procesora vás nútia premýšľať: 5-10% zisk z SMP a 14-19% spomalenie z Hyper-Threading.

Intel ale nakoniec v niektorých prípadoch úprimne pripúšťa možnosť zhoršenia výkonu počas Hyper-Threadingu – napríklad pri použití prázdnych čakacích slučiek. Môžeme sa len domnievať, že toto je dôvod (podrobná štúdia kódu SolidEdge a SolidWorks je nad rámec tohto článku). Každý predsa pozná konzervatívnosť CAD vývojárov, ktorí uprednostňujú overenú spoľahlivosť a neponáhľajú sa s prepisovaním kódu s ohľadom na nové trendy v programovaní.

Zhrnutie alebo „Pozor, správna otázka“

Hyper-Threading funguje, o tom niet pochýb. Samozrejme, technológia nie je univerzálna: existujú aplikácie, ktoré sú od Hyper-Threadingu „horšie“ a ak sa táto technológia rozšíri, bolo by žiaduce ich upraviť. Ale nestalo sa to isté v pravý čas s MMX a SSE a stále sa deje s SSE2? ..

To však vyvoláva otázku použiteľnosti tejto technológie v našej realite. Variant jednoprocesorového systému na báze Xeonu s Hyper-Threadingom hneď zavrhneme (alebo nech je len dočasný, do kúpy druhého procesora): ani 30% nárast výkonu neospravedlňuje cenu v akýmkoľvek spôsobom - potom je lepšie kúpiť bežné Pentium 4. Počet CPU zostáva od dvoch alebo viacerých.

Teraz si predstavme, že kupujeme dvojprocesorový systém Xeon (povedzme s Windows 2000 / XP Professional). Dva procesory sú nainštalované, Hyper-Threading je zapnutý, BIOS nájde až štyri logické procesory, teraz, ako môžeme vzlietnuť... Stop. Koľko procesorov však uvidí náš operačný systém? Presne tak, dve. Iba dve, keďže na väčšie číslo to jednoducho nie je určené. Pôjde o dva fyzické procesory, to znamená, že všetko bude fungovať úplne rovnako ako s vypnutým Hyper-Threadingom – nie pomalšie (dva „dodatočné“ logické CPU sa jednoducho zastavia), ale ani rýchlejšie (overené dodatočnými testami, výsledky nie sú sú uvedené z dôvodu ich úplných dôkazov). Hmmm, málo príjemné...

Čo zostalo? Naozaj nedávajte Advanced Server alebo .NET Server na našu pracovnú stanicu? Nie, systém sa nainštaluje sám, rozpozná všetky štyri logické procesory a bude fungovať. Ale OS servera vyzerá na pracovnej stanici mierne čudne (nehovoriac o finančných aspektoch). Jediný rozumný prípad je, keď náš dvojprocesorový systém Xeon bude fungovať ako server (aspoň niektorí zberatelia už bez váhania spustili výrobu serverov na pracovných staniciach-procesoroch Xeon). Ale pre duálne pracovné stanice so zodpovedajúcimi operačnými systémami zostáva použiteľnosť Hyper-Threading otázna. Intel teraz aktívne obhajuje licencovanie OS na základe počtu nie logických, ale fyzických CPU. Diskusie stále prebiehajú a vo všeobecnosti veľa závisí od toho, či sa dočkáme OS pre pracovné stanice s podporou štyroch procesorov.

So servermi všetko vychádza úplne jednoducho. Napríklad Windows 2000 Advanced Server, nainštalovaný na dvojprocesorovom systéme Xeon s povoleným Hyper-Threadingom, „uvidí“ štyri logické procesory a bude na ňom bežať bez problémov. Na posúdenie výhod Hyper-Threading v serverových systémoch uvádzame výsledky z Intel Microprocessor Software Labs pre dvojprocesorové systémy Xeon MP a niekoľko serverových aplikácií spoločnosti Microsoft.

20-30% zvýšenie výkonu pre dvojprocesorový server „zadarmo“ je viac než lákavé (najmä v porovnaní s kúpou „skutočného“ 4-procesorového systému).

Ukazuje sa teda, že v súčasnosti je praktická použiteľnosť Hyper-Threading možná iba na serveroch. Problém s pracovnými stanicami závisí od licenčného riešenia OS. Ešte jedna aplikácia Hyper-Threadingu je však celkom reálna – ak podporu tejto technológie dostanú aj desktopové procesory. Napríklad (poďme fantazírovať), prečo je nainštalovaný systém s Pentiom 4 s podporou Hyper-Threading a Windows 2000 / XP Professional s podporou SMP? - od serverov až po stolné a mobilné systémy.

s v stroji a našiel som niekoľko príspevkov, ale som zmätený, pretože niektorí spomenuli, že získate logické jadrá a fyzické jadrá atď.
Aký je teda rozdiel medzi logickými a fyzickými jadrami a existuje spôsob, ako získať fyzické jadrá? Alebo má zmysel zahrnúť logické jadrá do nášho účtu?

4 Riešenia zhromažďujú formulárový web pre „Čo sú teda jadrá logického procesora (na rozdiel od jadier fyzických procesorov)?

Fyzické jadrá sú jednoducho fyzické jadrá v procesore. Logické jadrá sú schopnosťou jedného jadra robiť dve alebo viac vecí súčasne. Vyrástol zo skorých procesorov Pentium 4 schopných robiť to, čo sa nazývalo Hyper Threading (HTT).

Bola to hra, keď sa pre určité typy inštrukcií nepoužívali pomocné komponenty jadra, zatiaľ čo bolo možné vykonávať inú zdĺhavú prácu. Centrálna procesorová jednotka by teda mohla pracovať na dvoch veciach súčasne.

Nové jadrá sú plne funkčné procesory, takže pracujú na viacerých veciach súčasne, ale nie sú skutočnými procesormi ako fyzické jadrá. Viac o obmedzeniach funkcie hyperthreading a fyzických možnostiach jadra si môžete prečítať tu na tomshardware v tomto článku s názvom: Intel Core i5 a Core i7: Intel Mainstream Magnum Opus.

Rozdelenie okna môžete vidieť pomocou príkazu lscpu:

$ lscpu Architektúra: x86_64 CPU operačný režim (režimy): 32-bitový, 64-bitový CPU (y): 4 vlákna na jadro: 2 jadrá na päticu: 2 pätice CPU: 1 NUMA uzol (s): 1 ID dodávateľa: GenuineIntel CPU rodina: 6 Model: 37 Krokovanie: 5 CPU MHz: 2667 000 Virtualizácia: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K NUMA CPU (uzlov) ): 0-3

Môj vyššie uvedený notebook Intel i5 má celkovo 4 "procesory".

Procesor(y): 4

z toho sú 2 fyzické jadrá

Jadro (jadrá) na zásuvku: 2

z ktorých každé môže spustiť až 2 vlákna

Téma (témy) na jadro: 2

v rovnakom čase. Tieto vlákna predstavujú logické schopnosti jadra.

Fyzické jadrá predstavujú počet fyzických jadier, skutočných hardvérových komponentov.

Logické jadrá sú počet fyzických jadier vynásobený počtom vlákien, ktoré môžu bežať na každom jadre pomocou hyperthreadingu.

napríklad môj 4-jadrový procesor beží na 2 vláknach na jadro, takže mám 8 logických procesorov.

$ sudo dmidecode | egrep "Označenie zásuvky: Proces | ((vlákno | Počet jadier)" Označenie zásuvky: Proces 1 Počet jadier: 14 Počet vlákien: 28 Označenie zásuvky: Proces 2 Počet jadier: 14 Počet vlákien: 28

Dve hniezda. Každý konektor má 14 fyzických jadier. Každé jadro má dva závity (28/14). Celkový počet logických blokov "cpus" alebo logického spracovania je 56 (to je to, čo "top" a niektoré ďalšie príkazy zobrazujú ako číslo "cpus").

Technológia Hyperthreading umožňuje, aby sa jedno fyzické jadro procesora správalo ako dva logické procesory.

Jedno procesorové jadro teda môže súčasne vykonávať dve nezávislé vlákna.

Intel označuje fyzický procesor ako socket.

Hyperthreading umožňuje fyzickému procesoru správať sa tak, ako keby mal dva fyzické procesory, nazývané logické procesory. Za čo?

Hoci hyperthreading nezdvojnásobuje výkon systému, môže zlepšiť výkon využitím nečinných zdrojov, čo vedie k väčšej priepustnosti pre určité dôležité typy pracovných zaťažení. Aplikácia bežiaca na jedinom logickom procesore na vyťaženom jadre môže očakávať o niečo viac ako polovičnú šírku pásma, ktorú získa, keď beží v jednom režime na procesore bez hyperthreadingu.

Zhrnutie

Fyzický procesor je niečo, čo môžeme vidieť a spadnúť.

Logický procesor je podobný ako: Fyzické jadro, ktoré funguje ako dve fyzické jadrá