Ashtu si procesorët mbështesin hiperthreading. Edhe një herë në lidhje me Hyper Threading

Mjetet antipiretike për fëmijët përshkruhen nga një pediatër. Por ka situata të ndihmës së domosdoshme në rast likhomantsi, nëse fëmija duhet të japë fytyra nga pakujdesia. Pastaj baballarët marrin përsipër reanimimin dhe përgatitjet antipiretike zastosovuyut. Çfarë lejohet t'u jepet fëmijëve të gjoksit? Si mund ta ulni temperaturën tek fëmijët më të rritur? Cilat janë fytyrat më të sigurta?

Nëse e keni rishikuar me respekt konfigurimin e BIOS-it, mund të keni vënë re këtu opsionin CPU Hyper Threading Technology. Ndoshta, ata pyetën veten se çfarë është Hyper Threading (Super-threading ose hyper-threading, emri zyrtar është Hyper Threading Technology, HTT) dhe pse nevojitet ky opsion.

Hyper Threading është një teknologji krejtësisht e re, e zhvilluar nga Intel për procesorët e arkitekturës Pentium. Siç ka treguar praktika, përdorimi i teknologjisë Hyper Threading lejoi në shumë mënyra të rrisë produktivitetin e CPU-së me afërsisht 20-30%.

Këtu është e nevojshme të merret me mend se si filloi procesori qendror i kompjuterit. Ndizni kompjuterin për ju dhe ekzekutoni programin në të riun, pasi CPU fillon të lexojë udhëzimet e shkruara në të ashtuquajturin kod të makinës. Vіn përmendësh, lexoni udhëzimet e lëkurës dhe vikonuє їх një nga një.

Megjithatë, shumë programe mund të bien në sy të kilkës në të njëjtën kohë me proceset e programimit. Përveç kësaj, sistemet moderne operative lejojnë një periudhë të shkurtër të ekzekutimit të programeve. Dhe jo vetëm të lejojmë - në fakt, situata, nëse në sistemin operativ ka një proces të vetëm, është absolutisht e papranueshme sot. Kjo është arsyeja pse përpunuesit, të zhvilluar për teknologjitë e vjetra, kanë produktivitet të ulët në mot të qetë, nëse është e nevojshme të përpunohen një duzinë procesesh njëorëshe.

Zrozumіlo, për të zgjidhur këtë problem, mund të përfshini para magazinës së sistemit një numër të vogël përpunuesish ose procesorësh, të cilët do të mposhtin numrin e bërthamave fizike. Por megjithatë duket e shtrenjtë, teknikisht e palosshme dhe jo gjithmonë efektive nga pikëpamja praktike.

Historia e shpërndarjes

Prandaj, u vendos që të krijohej një teknologji e tillë, pasi do të lejonte përpunimin e disa proceseve në një bërthamë fizike. Nëse po, për programet në të djathtë, do të duket kështu, sikur të mos kishte bërthama procesori në sistem.

Mbështetja për teknologjinë Hyper Threading u shfaq për herë të parë në procesorë në 2002. U përdorën procesorë të familjes Pentium 4 dhe procesorë të serverëve Xeon me një frekuencë orësh më shumë se 2 GHz. Në fillim, teknologjia u kodua me emrin Jackson, por më pas emri u ndryshua në më të kuptueshëm për publikun e gjerë Hyper Threading - që mund të përkthehet përafërsisht si "superthreading".

Me këtë, për ngurtësimin e Intel, sipërfaqja e kristalit të procesorit, i cili mbështet Hyper Threading, është rritur paralelisht me modelin e përparmë, por jo i mbështetur, me një total prej 5% me një rritje të produktivitetit në mes me 20%.

Pavarësisht nga ajo që teknologjia përgjithësisht rezultoi e mirë, për një sërë arsyesh, Intel Corporation hodhi poshtë përfshirjen e teknologjisë Hyper Threading në procesorët Pentium 4 të familjes Core 2. Bridge dhe Haswell, duke u ripunuar plotësisht në to.

thelbi i teknologjisë

Kuptimi i teknologjisë Hyper Threading është i rëndësishëm, por është një nga veçoritë kryesore në procesorët Intel.

Pavarësisht nga çdo sukses, sikur të ishin brenda mundësive të përpunuesve, ata kanë vetëm një mungesë - ata mund të shkruajnë vetëm një udhëzim në të njëjtën kohë. Le të themi se keni nisur në të njëjtën kohë shtesa të tilla, si një redaktues teksti, një shfletues dhe Skype. Nga pikëpamja e koristuvach, mprehja e softuerit mund të quhet me detyrë të pasur, megjithatë, nga pikëpamja e procesorit, nuk është kështu. Bërthama e procesorit do të ekzekutojë një instruksion më herët në orë. Në këtë rast, detyra e procesorit përfshin burimet rozpodіl të orës së procesorit midis okremi dodatkami. Oskіlki tse poslіdovne vykonannya іnstruktsіy vіdbuvaєtsya nadzvichayno svydko, ju nuk shënoni asgjë tjetër. Dhe ju jepet që nuk ka pengesa.

Gjithsesi, ka një pengesë. Zatrimka z'yavlyaєtsya përmes metodës së furnizimit të procesorit me të dhëna nga programi i lëkurës. Lëkura e djersës së këtyre është fajtore që vjen në orën e këndimit dhe përpunohet nga përpunuesi individualisht. Teknologjia Hyper Threading lejon që bërthama e lëkurës së procesorit të planifikojë përpunimin e të dhënave dhe të ndajë burimet në të njëjtën kohë për dy thread.

Duhet të theksohet se në thelbin e përpunuesve të sotëm ka një spërkatje të të ashtuquajturave ndërtesa vikonavchih, lëkura e të cilave njihet për funksionimin e këndimit të vikonannya në danim. Në të njëjtën kohë, një pjesë e këtyre ndërtesave vykonavchih mund të qëndrojnë boshe për një orë të përpunimit të të dhënave nga një rrjedhë.

Për të kuptuar situatën, mund të bëjmë një analogji me punëtorët, të cilët punojnë në një magazinë në një rrip transportieri dhe detajojnë lloje të ndryshme detajesh. Siguria e punës së lëkurës është një mjet këndimi, ne e njohim atë për vikonannya, pavarësisht nga detyra. Megjithatë, nëse detajet janë në sekuencën e gabuar, atëherë tërhiqen ngatërresa - tek ai që një pjesë e punës kontrollon kërpudhat e tyre për të filluar punën. Hyper Threading mund të përafrohet me linjën shtesë të transportuesit, pasi ishte vendosur në punishte në mënyrë që të qëndronte boshe më herët, punëtorët do të kryenin funksionimin e tyre të pavarur nga të tjerët. Punëtoria, sikur më parë, mbeti vetëm, por detajet përpunohen më shpejt dhe me efikasitet, atëherë së shpejti do të përfundojë një orë pushim. Në këtë mënyrë, Hyper Threading bëri të mundur përfshirjen në robot të atyre bashkëngjitjeve të procesorit, të cilat qëndronin për një orë instruksione shtypjeje nga një thread.

Ndizni kompjuterin tuaj me një procesor me dy bërthama që mbështet Hyper Threading dhe hapni "Menaxherin e detyrave të Windows" në skedën "Performance" (Swedcode), në mënyrë që të mund të shihni grafikën në atë të re. Por kjo nuk do të thotë që ju keni vërtet 4 bërthama procesori.

Vlen të merret në konsideratë që Windows kujdeset që thelbi i lëkurës të ketë dy procesorë logjik. Termi "përpunues logjik" tingëllon qesharak, por vera ale do të thotë një përpunues që nuk është fizikisht i disponueshëm. Windows mund të dërgojë të dhëna në procesorin logjik të lëkurës, por në fakt robotit i duhet vetëm një bërthamë. Për këtë arsye, një bërthamë me teknologjinë Hyper Threading është testuar tërësisht në bërthama të ndryshme fizike.

Për teknologjinë robotike Hyper Threading, është e nevojshme të mbështetet hardueri dhe softueri i mëposhtëm:

  • procesor
  • chipset i motherboard-it
  • Sistemi operativ

përparimet e teknologjisë

Tani le të shohim fuqinë e ardhshme - sa po rrit produktivitetin e një kompjuteri teknologjia Hyper Threading? Në detyrat e përditshme, si shfletimi në internet dhe shtypja e tekstit, avantazhet e teknologjisë nuk janë aq të dukshme. Megjithatë, pranë nënës në rrugë, se sot përpunuesit janë të fortë në dysheme, dhe se detyrat e përditshme rrallë e heqin procesorin. Përveç kësaj, ka shumë për të hedhur më shumë dhe përveç kësaj, siç është shkruar në sigurinë e softuerit. Mund të keni një sërë programesh që funksionojnë menjëherë, megjithatë, duke u mrekulluar me orarin e avancimit, mund të shihni se vetëm një procesor logjik për bërthamë fiton. Kjo për faktin se siguria e softuerit nuk mbështet proceset midis kerneleve.

Sidoqoftë, në më shumë detyra të palosshme, Hyper Threading mund të paloset më shumë. Programe të tilla, si programet për modelimin e botës së parëndësishme, lojërat e botës trivi, programet për kodimin / dekodimin e muzikës, ose videot dhe shumë shtesa shkencore, janë shkruar në atë mënyrë që të maksimizojnë transmetimin e pasur. Prandaj, ju mund të shihni epërsinë e kodit swid të kompjuterit me funksionin Hyper Threading, duke luajtur lojëra të palosshme, duke dëgjuar muzikë ose duke parë filma. Rritja e produktivitetit mund të jetë deri në 30%, nëse dëshironi, dhe situata të tilla, nëse Hyper Threading nuk ju jep përparësinë. Ndonjëherë, në atë rast, sikur temat ofenduese të zavantazhuyut të gjitha bashkëngjitjet vykonavchi të procesorit me të njëjtën zavdannya, ju mund të shkaktoni posterihatisya dhe ulje të produktivitetit.

Duke iu kthyer qartësisë në konfigurimin e BIOS-it të opsioneve të ndryshme që ju lejojnë të vendosni parametrat Hyper Threading, rekomandohet më së shumti të aktivizoni këtë funksion. Vtіm, ju mund ta aktivizoni gjithmonë, për të treguar se kompjuteri funksionon me falje, ose për të frymëzuar më pak produktivitet, ju ulni ochіkuvali.

visnovok

Nëse rritja maksimale e produktivitetit me Hyper Threading bëhet 30%, atëherë mund të themi se teknologjia është e barabartë me rritjen e numrit të bërthamave të procesorit. Prote, Hyper Threading është një opsion i denjë dhe ju, si mjeshtër i një kompjuteri, nuk do ta gaboni. Është veçanërisht e rëndësishme, për shembull, në raste të tilla, nëse redaktoni skedarë multimedialë ose përdorni një kompjuter si stacion pune për programe të tilla profesionale si Photoshop ose Maya.

Do të ketë raste kur ju duhet të vlerësoni produktivitetin e kujtesës në kontekstin e teknologjisë Hyper-threading. Ne erdhëm në visnovka, kështu që її pasi u derdhëm, mos filloni pozitivisht. Nëse shfaqet një sasi prej një ore të lirë, prodhuesi i verës vazhdon të ndjekë dhe të shikojë kalimin e proceseve përpara në saktësinë e orëve të makinës dhe betejave, softuerin vikoristovuyuchi për të siguruar sigurinë e shpërndarjes së lagështirës.

platforma e kompletuar

Objekti i eksperimenteve është një laptop ASUS N750JK me një procesor Intel Core i7-4700HQ. Frekuenca e orës është 2.4 GHz, duke lëvizur në modalitetin Intel Turbo Boost deri në 3.4 GHz. I instaluar 16 gigabajt RAM DDR3-1600 (PC3-12800), i cili funksionon në modalitetin me dy kanale. Sistemi operativ - Microsoft Windows 8.1 64 bit.

Fig.1 Konfigurimi i platformës së ardhshme.

Procesori i platformës së zgjeruar përmban 4 bërthama, të cilat, kur aktivizohet teknologjia Hyper-Threading, siguron mbështetje harduerike për 8 threads ose procesorë logjik. Firmware-i i platformës e transferon këtë informacion në sistemin operativ për ndihmën e tabelës ACPI MADT (Tabela e Përshkrimit të Shumëfishtë APIC). Vetëm një kontrollues RAM, tabela SRAT (System Resource Affinity Table), deklaron afërsinë e bërthamave të procesorit me kontrollorët e memories, çdo ditë. Natyrisht, laptopi nuk ka një platformë NUMA, por sistemi operativ, me metodën e unifikimit, duket si një sistem NUMA me një domen, rreth renditjes së nyjeve NUMA = 1. Në fakt, parimet për eksperimentet tona janë cache e të dhënave të së parës është e barabartë me 32 kilobajtë në lëkurën e katër bërthamave. Dy procesorë logjikë, që ndajnë njërën bërthamë, ndajnë në mënyrë të barabartë memorien e memories së të parit dhe tjetrit.

operacion përcjellës

Ne do të vazhdojmë të gjurmojmë sigurinë e leximit të bllokut të të dhënave në yogo rozmіru. Për të cilën zgjidhni metodën më produktive, dhe vetë leximin e operandëve 256-bit për ndihmën e instruksionit AVX VMOVAPD. Në grafikët në boshtin X, tregohet madhësia e bllokut, në boshtin Y - shpejtësia e leximit. Në afërsi të pikës X, e cila hap memorien e memories së nivelit të parë, është e mundur të goditet pika e ndërprerjes, pjesët e produktivitetit duhet të bien pasi blloku përpunohet jashtë kufirit të memories së memories. Testi ynë, në një sërë procesesh të pasura transmetimi, ka 16 transmetime të iniciuara, duke punuar me një gamë të kufizuar adresash. Për të kontrolluar teknologjinë Hyper-Threading brenda programit, funksioni SetThreadAffinityMask API përdoret në fillin e lëkurës, i cili vendos maskën dhe një bit i kalohet procesorit të logjikës së lëkurës. Një vlerë e vetme e një biti lejon përpunimin e detyrave nga procesori nga një fije e caktuar, një vlerë zero - bllokim. Për 8 procesorë logjikë në platformën tjetër, maska ​​11111111b lejon të hakohen të gjithë procesorët (përfshirjet Hyper-Threading), maska ​​01010101b lejon të hakohet një procesor logjik në bërthamën e lëkurës (përfshirjet Hyper-Threading).

Në tabela ka shkurtesa të tilla:

MBPS (Megabajt për sekondë)bllokojnë shpejtësinë e leximit në megabajt për sekondë;

CPI (orë për instruksion)Numri i rriqrave për udhëzim;

TSC (Time Stamp Counter)numërimi i ciklit të procesorit.

Shënim. Shpejtësia e orës së regjistrit TSC mund të mos përputhet me shpejtësinë e orës së procesorit kur punon në modalitetin Turbo Boost. Është e nevojshme të keni kujdes kur interpretoni rezultatet.

Në anën e djathtë të grafikut, shfaqet një hale udhëzimi gjashtëmbëdhjetë, e cila shton trupin në ciklin e operacionit të synuar, i cili është i mbështjellë në lëkurën e rrjedhave të programit, ose 128 bajtët e parë të kodit.

Dosvid nr. 1. një djersë



fig.2 Leximi në një transmetim

Shpejtësia maksimale është 213,563 megabajt për sekondë. Pika e thyerjes mund të jetë gjysma e kohës kur zgjerimi i bllokut është afër 32 kilobajt.

Dosvid nr. 2. 16 threads për 4 procesorë, ndërprerës Hyper-Threading



fig.3 Leximi në gjashtëmbëdhjetë rrjedha. Numri i përpunuesve logjik fitues është më i shtrenjtë

Hyper-Threading Shpejtësia maksimale është 797,598 megabajt për sekondë. Pika e thyerjes mund të jetë gjysma e kohës kur zgjerimi i bllokut është afër 32 kilobajt. Ndërsa u pastrua, në të njëjtën rrjedhë leximesh, shpejtësia u rrit me rreth 4 herë, për numrin e bërthamave të punës.

Dosvid nr. 3. 16 threads për 8 procesorë, Hyper-Threading i aktivizuar



fig.4 Leximi në gjashtëmbëdhjetë rrjedha. Numri i përpunuesve logjik fitues është deri në tetë

Përfshirje me hiperfije. Shpejtësia maksimale është 800,722 megabajt për sekondë, si rezultat, përfshirja e Hyper-Threading nuk u rrit shumë. Minus i madh është se pika e thyerjes mund të jetë më e vogël kur zgjerimi i bllokut është afër 16 kilobajt. Aktivizimi i troçit Hyper-Threading rriti shpejtësinë maksimale, por tani rënia e shpejtësisë është tani në madhësinë e dytë më të vogël të bllokut - afër 16 kilobajt, kjo është arsyeja pse shpejtësia mesatare ka rënë. Nuk është për t'u habitur, bërthama e lëkurës mund të ketë memorien e cache të të njëjtës së parë, në atë orë, si një procesor logjik i një bërthame, vicorist mund të jetë i derdhur.

visnovki

Operacioni është zbatuar në shkallë të mirë në një procesor të pasur bërthamor. Shkaqet - lëkura nga bërthamat për t'u hakmarrë për kujtesën e cache të të parëve dhe të tjerëve të barabartë, zgjerimi i bllokut mund të jetë i barabartë me zgjerimin e memories cache, dhe lëkura nga rrjedhat për të punuar me gamën e adresave të saj. Për qëllime akademike, ne kemi krijuar një mendje të tillë në një test sintetik, në një mënyrë që programet reale tingëllojnë shumë larg optimizimit ideal. Dhe përfshirja e Hyper-Threading, e cila në mendjet e tyre, dha një efekt negativ, me një fitim të vogël në shpejtësinë e pikut, mund të ketë një problem me shpejtësinë e përpunimit të bllokut, madhësia e të cilit është në intervalin nga 16 deri në 32 kilobajt.

Ne shkruam se zgjedhja e sistemeve Xeon me një procesor u kursye nga çdo ndjesi, por me një çmim më të lartë, produktiviteti i tyre do të jetë i njëjtë pasi Pentium 4 ka frekuenca më të larta. Tani, pas një pajtimi më serioz, është jashtëzakonisht e mundur të bëhet një korrigjim i vogël në pohim. Teknologjia Hyper-Threading, e implementuar në Intel Xeon me bërthamën Prestonia, funksionon në mënyrë efektive dhe jep një efekt të përgjithshëm të dukshëm. Dëshira dhe ngrënia në її vikoristanny tezh vinikaє chimalo ...

Jepni produktivitet

"Shvidshe, schvidshe ...". Gara për produktivitet nuk është më hera e parë dhe është e rëndësishme të thuhet se cili komponent i kompjuterit do të bëhet më shpejt. Për këtë verë, ka mënyra të reja dhe të reja, dhe më shumë, punë më e kualifikuar dhe verëra me rendiment të lartë janë investuar në këtë proces si ortek.

Rritja e vazhdueshme e kodit swid, çmendurisht, e nevojshme. Së paku, për biznesin pributkovy, ekziston gjithmonë një mënyrë e mirë për të fituar para spontanisht për një përmirësim të tmerrshëm të një "CPU super produktive" për "më shumë super ..." të së nesërmes. Për shembull, njohja sinkron e një filmi dhe përkthimi sinkron në një gjuhë tjetër - pse të mos mriya të gjitha dhe lëkurën? Por lojërat realiste mbi-top mund të kenë një cilësi "kinematike" (për të betuar respekt dhe për të çuar në ndryshime serioze në psikikë për një orë) - pse të mos praktikoni lojtarë jopersonalë nga të vegjël në të mëdhenj?

Por le të fajësojmë në këtë rast harqet e aspekteve të marketingut, duke u ndalur tek ato teknike. Tim është më i madh, por jo gjithçka është aq e zymtë: є nagalni zavdannya (shtesat e serverit, zhvillimet shkencore, modelimi etj.), Produktiviteti gjithnjë e më i lartë, procesorët qendrorë, është vërtet i nevojshëm.

Otzzhe, cilat janë mënyrat për të marrë më shumë nga kodet e tyre swed?

Zhvendos frekuencën e orës. Ju mund të "holloni" më tej procesin teknologjik dhe të rrisni frekuencën. Por, siç mund ta shihni, nuk është e lehtë dhe kërcënuese me të gjitha llojet e efekteve anësore për problemet me shikimin e nxehtësisë.

Rritja e burimeve të procesorit- për shembull, rritja e angazhimit të cache, shtimi i blloqeve të reja (Njësitë Ekzekutuese). E njëjta gjë, rritja e numrit të transistorëve, kompleksiteti i procesorit, rritja e sipërfaqes së kristalit, si dhe vartost, po tërhiqen pas saj.

Për më tepër, dy metodat e mëparshme japin, si rregull, një rritje jo lineare të produktivitetit. Është mirë të shihet në prapanicën e Pentium 4: faljet në parashikimet e llogaritjes dhe rinovimit kërkojnë heqjen e linjës së vjetër të montimit, e cila tregohet fuqishëm në kodin e egër.

multiprocesimi. Instalimi i dekіlkoh CPU dhe robotëve rozpodіl ndërmjet tyre shpesh rezulton të jetë efektiv. Por një pidhid i tillë nuk është shumë më i lirë - një procesor suplementar lëkure e bën sistemin më të gjithanshëm, kështu që motherboard i dyfishtë është më i shtrenjtë për çmimin (nuk duket se bëhet fjalë për pllaka amë me pak më shumë CPU). Për më tepër, jo të gjitha programet përfitojnë nga shumëpërpunimi për sa i përket produktivitetit, i mjaftueshëm për punë reale.

Crim multiprocesor "i pastër" dhe disa opsione "të ndërmjetme" që ju lejojnë të shpejtoni programin:

Përpunimi i shumëfishtë i çipeve (CMP)- dy bërthama procesori janë të grumbulluara fizikisht në një kristal, memorie të brendshme dhe të fortë. Natyrisht, trëndafili i kristalit del i shkëlqyeshëm dhe është e pamundur të mos njihet në vartost. Vlen të përmendet se disa nga këto CPU "të dyfishta" mund të përdoren gjithashtu në një sistem të pasur procesorësh.

Time Fetë Multithreading. Procesori është duke lëvizur ndërmjet temave të programit përmes intervaleve fikse. Vitrati i sipërm ndonjëherë duket të jetë i rëndësishëm, veçanërisht pasi procesi i disa nebud dihet se pastrohet.

Ndërprerja e ngjarjeve me shumë fije. Remikannya zavdan kur vyniknenny trivaly ndalon, për shembull "kache misses" (kache misses), një numër i madh i të tillave është tipik për aplikacionet e serverit. Në këtë rast, procesi, i cili kontrollon zënien e të dhënave nga sasia e barabartë e memories në cache, ngarkohet, duke humbur burimet e CPU-së për proceset e tjera. Megjithatë, Switch-on-Event Multithreading, si Time-Slice Multithreading, nuk ju lejon gjithmonë të arrini burimin optimal të procesorit, - problemi është përmes faljeve në parashikim, fshirjes, udhëzimeve të tjera, etj.

Multithreading i njëkohshëm. Në këtë mënyrë, flukset e programit mbyllen në një procesor "një orë", d.m.th., pa kaluar ndërmjet tyre. Burimet e CPU-së shpërndahen në mënyrë dinamike, sipas parimit "mos mashtroni - ndryshoni ndryshe".

Si të praktikoni Hyper-Threading

Siç mund ta shihni, dega e industrisë "paradigmë kompjuterike" transferon shumë flukse llogaritëse. Kushton jo vetëm serverët, por edhe kupton, por edhe stacionet e punës dhe sistemet e dyshemesë. Threads (threads) mund të vendosen në një, kështu që në programe të tjera, ose mund të keni tema më aktive, më poshtë (për të kaluar në një tjetër, bëjeni në Windows 2000 / XP, hapni Task Manager dhe aktivizoni numrin e fijet). Në të njëjtën kohë, një procesor superior mundet, në të njëjtën kohë, të mposht vetëm një nga rrymat dhe zhurmat dhe të bashkohet vazhdimisht mes tyre.

Më parë, teknologjia Hyper-Threading ishte implementuar në procesorin Intel Xeon MP (Foster MP), në të cilin ishte "funksionuar". Le të hamendësojmë, Xeon MP, i prezantuar zyrtarisht në pranverën e IDF 2002 në vendlindjen e bërthamës Pentium 4 Willamette, 256 KB L2-cache dhe 512 KB / 1 MB L3-cache dhe mbështet robotin në konfigurimet me 4 procesorë. Gjithashtu mbështetja Hyper-Threading është e dukshme në procesorët për stacionet e punës - Intel Xeon (core Prestonia, 512 KB L2-cache), i cili u prezantua në treg tre herë më herët, më i ulët Xeon MP. Me konfigurimet me dy procesorë në Intel Xeon, lexuesit tanë tashmë e dinë, kështu që ne mund të shohim mundësinë e vetë Hyper-Threading në aplikacionet e CPU - si teorikisht ashtu edhe praktikisht. Yak bi nuk ishte aty, por Xeon "i thjeshtë" - bar më i zakonshëm dhe i lehtë, Xeon MP më i ulët në sistemet me 4 procesorë ...

Parimi i Hyper-Threading bazohet në faktin se në një moment të caktuar vetëm një pjesë e burimeve të procesorit mbingarkohet kur prishet kodi i programit. Burimet jo specifike mund të zënë gjithashtu një robot - për shembull, një detyrë për një vykonannnya paralele sche një program (ose një rrymë tjetër të së njëjtës shtesë). Në një procesor fizik Intel Xeon, formohen dy procesorë logjikë (LP - Logical Processor), të cilët ndajnë burimet e CPU-së së bashku. Sistemi operativ dhe shtesat "pompojnë" dy CPU vetë dhe mund ta ndajnë robotin midis tyre, si në rastin e një sistemi të plotë me dy procesorë.

Një nga qëllimet e zbatimit të Hyper-Threading është të lejohet që vetëm një thread aktiv të lejohet të ndjekë të njëjtin kod si në CPU-në kryesore. Për cilin procesor ka dy mënyra kryesore të funksionimit: Single-Task (ST) dhe Multi-Task (MT). Në modalitetin ST, ekziston vetëm një procesor logjik aktiv, i cili mbështetet pafundësisht nga burimet e disponueshme (modalitetet ST0 dhe ST1); LP-ja tjetër merret nga ekipi HALT. Kur shfaqet një fill tjetër i programit, procesori logjik aktivizohet (për një rindezje shtesë) dhe CPU-ja fizike kalon në modalitetin MT. Zupinka nevykoristovuvanih LP ekipi HALT vënë në sistemin operativ, si në qese dhe vydpovida për të njëjtën shvidka vykonannya një fije, si në rastin pa Hyper-Threading.

Për mbrojtjen e lëkurës, dy LP janë zgjedhur si tituj të Architecture State (AS), të cilat përfshijnë regjistrimin e një lloji të ndryshëm - njohje të përbashkët, keruyuchih, APIC dhe shërbim. Skin LP ka APIC (kontrolluesin e transferimit) dhe regjistrat e vet të telefonimit; në LP prej lëkure.

Kur punoni me dy prurje, dy transmetime ndjekin grupin e Treguesve të Udhëzimeve Next. Shumica e udhëzimeve janë marrë nga Trace Cache (TC), ato ruhen në pamjen e dekoduar dhe aksesi në TC merret nga dy LP aktive në një orë të vetme. Në të njëjtën kohë, nëse ka vetëm një LP aktive, do të keni akses ekskluziv në TC pa ndjekur cikle. E njëjta gradë kërkon qasje në ROM-in e mikrokodit. Blloqet ITLB (Instruction Translation Look-aside Buffer), të cilat ekzekutohen kur udhëzimet e nevojshme janë të pranishme në memorien e komandës, dublikohen dhe japin komandat e lëkurës për thread-in e tyre. Udhëzimet e dekodimit të bllokut IA-32 Dekodimi i udhëzimeve ndahen dhe në kohë, nëse është e nevojshme të deshifrohen udhëzimet për të dy rrymat, duke i shërbyer ato sipas dëshirës (por përsëri gjatë ciklit). Blloqet Uop Queue dhe Allocator ndahen në dysh, duke futur gjysmën e elementeve për LP të lëkurës. Programuesit në një numër prej 5 pjesësh përpunojnë linjat e komandës së deshifruar (Uops) pavarësisht nëse i përkasin LP0 / LP1 dhe dërgojnë komanda në Njësitë e Ekzekutimit të kërkuara - në të ardhmen, në gatishmëri, deri në të parën dhe disponueshmërinë e një tjetri. Të gjitha cache (L1 / L2 për Xeon, si dhe L3 për Xeon MP) ndahen midis dy LP-ve, për të siguruar integritetin e hyrjeve të të dhënave në DTLB (Data Translation Look-aside Buffer) janë pajisur me përshkrues për ID-të e ngjashme të procesorëve logjikë.

Në këtë mënyrë, udhëzimet e të dy CPU-ve logjike mund të shkarkohen në të njëjtën kohë në burimet e një procesori fizik, pasi ato ndahen në një klasë zgjedhjeje:

  • dyfishim (Dublicated);
  • Plotësisht të përbashkëta;
  • me përshkrues të elementeve (Entry Tagged);
  • dinamikisht kolektive (I ndarë) në modalitetin e djersës në ST0 / ST1 ose MT.

Nëse ka më shumë shtesa, të cilat mund të përshpejtohen në sistemet e pasura të procesorëve, mund të mësoheni edhe me CPU-në me Hyper-Threading të aktivizuar pa asnjë modifikim. Por ka edhe probleme: për shembull, nëse një proces është në lak, ai mund të marrë të gjitha burimet e CPU-së fizike, duke transferuar robotët e një LP tjetër. Në këtë mënyrë, produktiviteti me hiper-fije ndonjëherë mund të bjerë (deri në 20%). Për të shmangur këtë, Intel rekomandon zëvendësimin e cikleve boshe me udhëzimin PAUSE (prezantuar në IA-32 me Pentium 4). Është kryer gjithashtu për të kryer një punë serioze për optimizimin automatik dhe automatik të kodit gjatë përpilimit - për shembull, në të cilin përpiluesit e serisë Intel OpenMP C ++ / Fortran Compilers () kanë hapur qartë rrugën e tyre.

Një metodë tjetër e zbatimit të parë të Hyper-Threading, sipas fjalëve të Intel, ishte rritja e numrit të transistorëve në minimum, zona e kristalit dhe kursimi i energjisë me një rritje të konsiderueshme të kodit swid. Pjesa e parë e kësaj gusha nuk dihet më: shtimi i mbështetjes Hyper-Threading në Xeon / Xeon MP rriti zonën e kristalit dhe uli furnizimin me energji me 5%. Epo, çfarë ndodhi me pjesën tjetër (produktivitetin), duhet të rishqyrtojmë akoma.

Pjesa praktike

Për një numër arsyesh të arsyeshme, ne nuk testuam sistemet e serverëve me 4 procesorë në Xeon MP me Hyper-Threading të aktivizuar. Para së gjithash, bëjeni me një punë të mundimshme. Dhe në një mënyrë tjetër, zvazhsya mi në një arritje të tillë - të gjitha një nga një, më pak se një muaj më vonë pas njoftimit zyrtar, është absolutisht joreale që rruga të rregullohet. Për këtë, u ilustrua se ishte i rrethuar nga ky sistem me dy Intel Xeon 2.2 GHz, mbi të cilin u krye testimi i parë i këtyre procesorëve (ndarje Bazuar në kallirin e artikullit). Sistemi ishte i pajisur me një motherboard Supermicro P4DC6 + (Chipset Intel i860), memorie RDRAM 512 MB, një kartë video në një çip GeForce3 (64 MB DDR, Detonator 21.85 drejtues), një hard disk Western Digital WD300BB dhe 6X DVD-ROM; si një OS, Windows 2000 Professional SP2 u fitua.

Për kallirin e spratëve të armiqësisë së egër. Kur instaloni një Xeon me një bërthamë Prestonia, në fillim të sistemit BIOS, shfaqni njoftime për praninë e dy CPU-ve; Epo, ka dy procesorë të instaluar, në mënyrë që të mund të merrni informacione se cilat CPU. Sistemi operativ normalisht njeh "procesorin e ofenduar", por vetëm sapo të dy mendjet vdesin.

Së pari, në konfigurimin CMOS të versioneve të mbetura të BIOS-it të tabelave Supermicro P4DCxx, u shfaq artikulli Aktivizo Hyper-Threading, pa lejen e të cilit OS, mund të njihet vetëm procesori (t) fizik. Në një mënyrë tjetër, për të informuar OS për praninë e procesorëve logjikë shtesë, diskutohet mundësia e ACPI. Për të aktivizuar Hyper-Threading në CMOS Setup, fajtor është opsioni ACPI, dhe për vetë OS, fajësohet edhe për instalimet HAL (Hardware Abstraction Layer) me mbështetje ACPI. Për fat të mirë, në Windows 2000, ndryshimi i HAL dhe Standard PC (ose MPS Uni- / Multiprocessor PC) në ACPI Uni- / Multiprocessor PC është i lehtë - duke zëvendësuar "shoferin e kompjuterit" në menaxherin e shtesave. Në të njëjtën kohë për Windows XP, mënyra e vetme ligjore është kalimi në ACPI HAL - riinstaloni sistemin mbi instalimin origjinal.

Por boshti është i përgatitur i gjithi, dhe Windows 2000 Pro ynë është tashmë i shenjtë për të besuar në ato që punojnë në një sistem me procesor të dyfishtë (megjithëse në fakt ka vetëm një procesor). Tani është koha që tradita të emërohet për qëllime testimi. Baba, ne duam:

  • Vlerësoni ndikimin e Hyper-Threading në produktivitetin e shtesave në një klasë tjetër.
  • Krahasoni këtë efekt me efektin e instalimit të një procesori tjetër.
  • Perevіriti, naskіlki "sinqerisht" burimet i jepen procesorit aktiv logjik, nëse LP-ja tjetër nuk e bën.

Për të vlerësuar produktivitetin, morëm një grup suplementesh, tashmë të njohura për lexuesit, të cilat ata i shënuan në testet e sistemeve të stacioneve të punës. Le ta bëjmë, ndoshta, nga pikëpamja dhe të rishikojmë "barazinë" e CPU-ve logjike. Gjithçka është e thjeshtë në kufi: ne fillojmë testimin në një procesor me Hyper-Threading të aktivizuar, dhe më pas e përsërisim procesin me Hyper-Threading të aktivizuar dhe vetëm një nga dy CPU-të logjike (me ndihmën e Task Manager). Në këtë rast, rezultatet në këtë rast janë më pak të rëndësishme për ne, rezultatet e të gjitha testeve janë sjellë të duken "më të mëdha - më të shkurtra" dhe të normalizuara (për një, merren treguesit e një sistemi me një procesor pa Hyper-Threading) .

Epo, si mundesh bachiti, budallenjtë e Intel-it këtu janë fitimtarë: me praninë e vetëm një filli aktiv, produktiviteti i lëkurës së dy LP-ve është saktësisht i njëjtë me firmware-in e një CPU fizike pa Hyper-Threading. LP joaktive (për më tepër, si LP0, pra LP1) caktohet në mënyrë efektive, dhe burimet kolektive, për aq sa është e mundur, mund të gjykohen nga rezultatet e otrimanimi, më shpesh transferohen në LP aktive.

Kjo është arsyeja pse është gjëja e parë: dy procesorë logjikë janë vërtet të barabartë, dhe Hyper-Threading "nuk respekton" punën e një thread (që në vetvete është tashmë e keqe). Pyes veten tani, "duke ndihmuar" Chi tse përfshirë, dhe nëse po, atëherë de dhe yak?

Vizualizimi. Rezultatet e disa testeve në paketat e modelimit 3D 3D Studio MAX 4.26, Lightwave 7b dhe A | W Maya 4.0.1 kombinuar në një diagram bazuar në ngjashmëritë e tyre.

Në të katër rastet (për Lightwave - dy skena të ndryshme), zënia e CPU me praninë e një procesori me Hyper-Threading të çaktivizuar praktikisht shkurtohet vazhdimisht në 100%. Kur aktivizohet Hyper-Threading, skenat do të përshpejtohen (si rezultat i së cilës kemi një ethe rreth zënies së CPU-së mbi 100%. Në tre teste, mund të shihni një rritje të produktivitetit në Hyper-Threading 14--18% - nga njëra anë, pak në përputhje me CPU-në tjetër, dhe nga ana tjetër - për ta bërë atë keq, duke parë "pa kosto". "efekt. Në një nga dy testet me Lightwave, rritja e kodit swid është praktikisht zero (ndoshta, është dhënë si një shenjë e specifikave të diversifikimit total të shtesës). Megjithatë, askund nuk ka rezultat negativ, por inkurajuese është një rritje e ndjeshme në tre trende të tjera. Por përkundër faktit se proceset e paraqitjes paralele funksionojnë si një robot dhe në asnjë mënyrë të shkurtër mund të marrin menjëherë burimet e CPU-së fizike.

Photoshop dhe kodim MP3. Kodeku GOGO-no-coda 2.39c është një nga të paktët mbështetës të SMP, dhe në një shënim të ri 34% rritje në swidcode për shkak të procesorit të dyfishtë. Në të njëjtën kohë, efekti i Hyper-Threading në këtë kategori është zero (diferenca 3% nuk ​​është e rëndësishme). Dhe boshti në testin me Photoshop 6.0.1 (një skript që përbëhet nga një grup i madh komandash dhe filtrash) mund të shihet të përmirësohet me Hyper-Threading të aktivizuar, megjithëse një CPU tjetër fizike i shton produktivitetin 12%. Aksi, i lartë, rënia e parë, nëse Hyper-Threading kërkon një rënie në swidcode ...

OpenGL profesionale. Ato që SPEC ViewPerf dhe shumë shtesa të tjera OpenGL janë implementuar shpesh në sistemet SMP kanë ekzistuar për një kohë të gjatë.

OpenGL dhe procesorë të dyfishtë: pse të mos jeni miq

Shumë herë në artikull kemi respektuar lexuesit për ata që platformat me procesorë të dyfishtë në rast të testeve profesionale OpenGL rrallë tregojnë të paktën një shkallë respekti në ato me procesor të dyfishtë me ato me një procesor. Dhe për më tepër, ka luhatje të shpeshta, nëse instalimi i një procesori tjetër navpak, përkeqëson kodin e sistemit kur shfaqen skena dinamike të botës së parëndësishme.

Natyrisht, ata e përkujtuan këtë divin jo vetëm mi. Testuesit Deyakі thjesht e anashkaluan këtë fakt - për shembull, duke sugjeruar rezultatet e përputhjes në testet SPEC ViewPerf vetëm për konfigurimet me dy procesorë, duke shpjeguar në mënyrë unike "pse një sistem me dy procesorë është më i mirë?". Të tjerat ishin të gjitha supozime fantastike të mundshme për koherencën e cache-ve, nevojën për përmirësim, të cilat mund të fajësohen përmes mbivendosjeve të ekranit, etj. Dhe pse nuk befasoi askënd, që, për shembull, koherenca e procesorëve, pse ai vetë u qarkullua gjatë paraqitjes me dritare OpenGL (sipas thelbit të tij "të shumtë", pak njerëz shqetësohen për të, nëse është një rozrachunk tjetër detyrë).

Në fakt, shpjegimi, për mendimin tonë, është shumë më i thjeshtë. Siç mund ta shihni, shtesa mund të përdoret në dy procesorë më shpejt, më poshtë në një, si kjo:

  • є më shumë se dy ose më shumë fije programimi njëorëshe (threads);
  • Këto rryma nuk zavazhayut vykonannya një іnshoy - për shembull, mos konkurroni për një burim të egër në ndërfaqen kshtalt zvnіshny kopychuvacha ose rrjetë.

Tani është thjeshtuar sikur të shikoni në OpenGL-rendering, dy fije fituese. Nëse programi "bachachi" ka dy procesorë, duke krijuar dy thread rendering OpenGL, atëherë për lëkurën, sipas rregullave të OpenGL, krijohet gl-konteksti i tij. Vіdpovіdno kozhen potіk vykonuє rendering në sviy gl-context. Por problemi është se për një pamje vizuale, në një farë mënyre, imazhi shfaqet, vetëm një kontekst gl mund të jetë më i saktë për momentin. Është e qartë se transmetimet në këtë mënyrë thjesht "përputhshmërisht" shfaqin imazhin e krijuar në dritare, ne do të sqarojmë në mënyrë alternative kontekstin tonë. Chi duhet të thotë, çfarë lloj "vizatimi i konteksteve" mund të jetë më i shtrenjtë në dritaret sensi të sipërme?

Gjithashtu, për prapanicën, ne do të konfigurojmë grafikë duke përdorur dy CPU në shtesat decal që shfaqin skena OpenGL. Të gjitha eksperimentet u kryen në platformën e konfigurimit të avancuar:

  • një ose dy Intel Xeon 2.2 GHz (Hyper-Threading i aktivizuar);
  • 512 MB memorie RDRAM;
  • Pllaka amë Supermicro P4DC6+;
  • Karta video ASUS V8200 Deluxe (NVidia GeForce3, 64 MB DDR SDRAM, drejtues Detonator 21,85);
  • Windows 2000 Professional SP2;
  • modaliteti i videos 1280x1024x32 bpp, 85 Hz, Vsync i aktivizuar.

Emrat blu dhe të kuq të imazheve të grafikëve të zënies së CPU 0 dhe CPU 1 janë të qarta. Vija në mes është grafiku i nën-çantës së përdorimit të CPU. Tre grafika përputhen me dy skena në 3D Studio MAX 4.26 dhe një pjesë të testit SPEC ViewPerf (AWadvs-04).


Përdorimi i CPU: animacion 3D Studio MAX 4.26 - Anibal (me manipulues) .max


Përdorimi i CPU: animacion 3D Studio MAX 4.26 - Rabbit.max


Përdorimi i CPU: SPEC ViewPerf 6.1.2 - AWadvs-04

I njëjti model përsëritet në masën e shtesave të tjera që po punojnë në OpenGL. Dy procesorë nuk janë absolutisht të vështirë për të punuar, dhe përdorimi më i lartë i CPU është 50-60%. Në të njëjtën kohë, për një sistem me një procesor të vetëm, të gjitha nivelet e përdorimit të CPU-së janë vendosur në 100%.

Nuk është për t'u habitur që ata që tashmë kanë shumë programe OpenGL nuk kanë nevojë të pikëllohen në sisteme të dyfishta. Epo, dhe ata që kundërmojnë për një orë për të mashtruar, sipas mendimit tonë, mund të kenë një shpjegim krejtësisht logjik.

Mund të themi se me dy CPU logjike, rënia në swidcode është edhe më e rëndësishme, gjë që kuptohet plotësisht: dy procesorë logjikë respektojnë një për një në të njëjtën mënyrë si dy ata fizikë. E megjithatë, produktiviteti i përgjithshëm, natyrisht, shfaqet kur është më i ulët, kështu që kur aktivizohet Hyper-Threading, zvogëlohet edhe më shumë, më i ulët pikërisht kur funksionojnë dy CPU fizike. Rezultati i transferimeve dhe ndryshimeve është i thjeshtë: Hyper-Threading, si "referenca" SMP, për OpenGL ka kundërindikacione.

Shtesa CAD. Qepja e përparme konfirmohet nga rezultatet e dy testeve CAD - SPECapc për SolidEdge V10 dhe SPECapc për SolidWorks. Performanca e testeve grafike të magazinës për Hyper-Threading është e ngjashme (edhe pse rezultati është tre herë më i lartë në sisteme të ndryshme SMP për SolidEdge V10). Dhe boshti i rezultateve të procesorëve të testit CPU_Score navantage ju bën të mendoni: 5-10% rritje në SMP dhe 14--19% rritje në Hyper-Threading.

Ale, sinqerisht, Intel e di në disa raste mundësinë e një rënie të produktivitetit me Hyper-Threading - për shembull, me disa cikle boshe. Mund të supozojmë vetëm se kjo është arsyeja (detajet e kodit SolidEdge dhe SolidWorks janë përtej qëllimit të artikullit). Megjithatë, ne jemi të vetëdijshëm për konservatorizmin e zhvilluesve të shtesave CAD, të cilët kujdesen për mbivlerësimin më të mirë të sipërfaqësisë dhe nuk nxitojnë veçanërisht të rishkruajnë kodin me përmirësimin e tendencave të reja në programim.

Pіdvedennya pіdzumkіv, ose "Respekti, ushqimi i duhur"

Hyper-Threading funksionon, në këtë rast nuk ka dyshime. Çmendurisht, teknologjia nuk është universale: - shtesa, të tilla si "të dobëta" në Hyper-Threading, dhe në kohët e zgjerimit të teknologjisë, do të jetë e nevojshme ta modifikoni atë. Ale khіba nuk u bë e njëjta gjë me MMX dhe SSE dhe të vazhdojë me SSE2? ..

Sidoqoftë, këtu është një postim për mundësinë e sjelljes së teknologjisë në realitetet tona. Një variant i një sistemi me një procesor të vetëm në një Xeon me Hyper-Threading mi vіdkinemo vіdrazu (përndryshe është i pranueshëm vetëm si orë, në rastin e blerjes së një procesori tjetër): merrni një rritje prej 30% në produktivitetin, por nuk është çmimi i vërtetë - është edhe më i mirë se numri i madh i Pentium 4. dy e më shumë.

Dhe tani le të vërejmë se po blejmë një sistem me dy procesorë në Xeon (të themi, me Windows 2000 / XP Professional). Dy CPU janë instaluar, Hyper-Threading është aktivizuar, BIOS është i vetëdijshëm për të gjithë numrin e procesorëve logjikë, është kaq i bezdisshëm menjëherë ... Ndalo. Dhe sa procesorë mund të mbështesin sistemin tonë operativ? Është e drejtë, dy. Vetëm dy, copëzat për një numër më të madh fitimesh thjesht nuk mbulohen. Do të ketë dy procesorë fizikë, dmth. Gjithçka do të bëhet saktësisht në të njëjtën mënyrë, si kur është aktivizuar Hyper-Threading - jo më mirë (dy CPU "shtesë" logjike thjesht do të belbëzojnë), por jo më mirë (verifikuar nga teste shtesë, rezultatet nuk shkaktohen nga evidenca e tyre totale). M-po, nuk mjafton...

Çfarë ka mbetur? Epo, mos e vendosni Serverin e Avancuar ose Serverin .NET në stacionin tonë të punës apo jo? Përshëndetje, sistemi do të ngrihet, do të njohë të gjithë procesorët logjikë dhe do të jetë funksional. Boshti i vetëm serverit OS shikon stacionin robotik, butësisht, trochi në mënyrë të mrekullueshme (jo në dukje për aspektet financiare). Mundësia e vetme e arsyeshme është nëse sistemi ynë Xeon me dy procesorë do të fitojë rolin e serverit (të paktën, përzgjedhësit pa asnjë hezitim kanë nisur tashmë lëshimin e serverëve në përpunuesit e stacionit të punës Xeon). Ashtu si boshti për stacionet e punës të dyfishtë me sisteme operative të pavarura, stagnimi Hyper-Threading kapërcehet nga furnizimi me energji elektrike. Intel është përfshirë në mënyrë aktive në licencimin e OS nga numri i CPU-ve jo logjike, por fizike. Diskutimet janë ende duke vazhduar dhe, në përgjithësi, ka shumë për të gënjyer për të mbështetur sistemin tonë operativ për stacionet e punës me mbështetje për disa procesorë.

Epo, është e lehtë të aksesosh gjithçka nga serverët. Për shembull, Windows 2000 Advanced Server, instalimet në një sistem Xeon me procesor të dyfishtë me Hyper-Threading të aktivizuar, "pompojnë" disa procesorë logjikë dhe ji i qetë në të. Për të vlerësuar se çfarë bën Hyper-Threading në sistemet e serverëve, ne ekzekutojmë rezultatet e Intel Microprocessor Software Labs për sistemet me dy procesorë në Xeon MP dhe disa shtesa të serverit Microsoft.

Një bonus produktiviteti prej 20-30% për një server me dy procesorë "falas" është gjithnjë e më i përballueshëm (veçanërisht në lidhje me blerjen e një sistemi "të duhur" me 4 procesorë).

Aksi dhe dalja, e cila në momentin aktual është praktike zastosovnіst Hyper-Threading mund të jetë vetëm në serverë. Furnizimi me energji elektrike me stacione pune të qëndrojë në vendimin për licencimin e OS. Dëshira për një ndërprerje tjetër të Hyper-Threading në tërësi është e vërtetë - edhe përpunuesit e dyshemesë do të heqin mbështetjen e teknologjisë. Për shembull (në mënyrë fantastike), pse është instaluar në të sistemi me Pentium 4 me mbështetje Hyper-Threading, Windows 2000 / XP Professional me mbështetje SMP? .. Ndërkohë, nuk ka asgjë për të emërtuar në të: me gjithë entuziazmin, shitësit me pakicë të Intel shpallin Hyper-Threading kudo - nga serverët te sistemet desktop dhe celular.

Në vitin 2002 të egër të largët, Hyper-Threading, një teknologji e pronarit nga kompania Intel, debutoi. Çfarë është kjo dhe pse ajo u ngrit në këtë ditë praktikisht kudo? Vіdpovіd në zinxhirin ushqimor dhe jo vetëm do të konsiderohet në këtë material.

Historia e teknologjisë HT

Procesori i katit të parë me multithreading logjik të avancuar u bë gjenerata e katërt Pentium. Hyper-Threading është një teknologji që në disa raste lejon që dy rrjedha të të dhënave të përpunohen në një bërthamë fizike. Për më tepër, çipi u instalua në prizën e procesorit PGA478, duke funksionuar në modalitetin 32-bit dhe frekuenca e orës së tij arriti në 3.06 GHz. Deri atëherë, mund të mësoni më shumë rreth bashkëngjitjeve të procesorit të serverit të serisë XEON.

Pas rezultateve të suksesshme në këtë kompani të re, Intel vendosi të zgjerojë HT dhe në segmentin e dyshemesë. Nadali brenda kornizës së PGA478, u lëshua një familje e tërë e përpunuesve të tillë. Pas kësaj, pasi debutoi prizën LGA775, NT Bula timchasovo harroi. Dhe me kallirin e shitjeve të LGA1156, fitimi u hoq nga një mik në rotacionin e 2009-ës. Sinqerisht, ai është bërë një atribut detyrues i zgjidhjeve të procesorit të Intel, si në segmentin ultra-produktiv ashtu edhe në sistemet kompjuterike buxhetore.

Koncepti i kësaj teknologjie

Thelbi i teknologjisë Intel Hyper-Threading qëndron në faktin se përmes rrugës së ndryshimeve minimale në paraqitjen e shtesës së mikroprocesorit, shitësit me pakicë sigurohen që, në nivelin e sigurisë së sistemit dhe softuerit, kodi të përpunohet në dy fijet në një bërthamë fizike. Të gjithë elementët e modulit të numërimit mbeten pa ndryshime, vetëm regjistrat dhe rishikimet speciale i shtohen kontrolluesit.

Për ndonjë arsye ose tjetër, moduli fizik fillon të jetë i papunë, më pas një rrjedhë tjetër programi niset në të riun dhe i pari kontrollon për të dhënat ose informacionin e nevojshëm. Domethënë, edhe para kohës së ndërprerjes në llogaritjen robotike të pjesëve të çipave, është bërë në pjesë, atëherë është praktike të aktivizohet një mundësi e tillë e Hyper-Threading. Çfarë është teknologjia, ne do të shohim më poshtë.

Në nivelin e harduerit

Përparimet po varen nga siguria e harduerit në kohën e Hyper-Threading. Faji është motherboard, BIOS dhe procesori. Të paktën, brenda kornizës së prizës së procesorit PGA478, ishte e nevojshme të ngrihej niveli i respektit për një summ_snіst të ngjashme. Jo të gjitha grupet e logjikës së sistemit në këtë mënyrë ishin të orientuara drejt versionit NT, si dhe bashkëngjitjeve të procesorit. Nëse një shkurtim i tillë ishte i pranishëm në nomenklaturën e bordit të sistemit, atëherë kjo nuk do të thotë që çipat ishin inicuar saktë për ato arsye që ishte e nevojshme të përditësohej BIOS.

Situata ka ndryshuar rrënjësisht në këtë drejtim me LGA1156. Kjo platformë llogaritëse është mprehur në pjesën e pasme të kokës nën Hyper-Threading. Për këtë nuk pati probleme reale për shkak të ngecjes së pjesës tjetër në këtë rrënim, nuk fajësuan koristuvaçët. E njëjta gjë vlen edhe për prizat e ardhshme të procesorit, si LGA1155, LGA1151 dhe LGA1150.

Prizat me performancë të lartë LGA1366, LGA2011 dhe LGA2011-v3 mund të mburren me një shumëllojshmëri të ngjashme problemesh për shkak të stagnimit të NT. Si përfundim, konkurrenti i drejtpërdrejtë i Intel - AMD - në gjeneratën e fundit të procesorëve të tij për AM4 ka zbatuar një teknologji shumë të ngjashme të multitasking logjik - SMT. Vaughn vikoristovu koncept praktikisht identik. Vіdminnіst polygaє vetëm në emër.

Komponentët kryesorë nga ana e softuerit

Është e nevojshme të tregohet se do të jetë e mundur të punohet me sukses në nivelin e sigurisë së softuerit në mënyra të ndryshme. Për kalli, sistemi operativ është fajtor për zbutjen e një ore nga kernelit e numërimit të dekilkomit. Versionet e vjetra të softuerit të sistemit MS-DOS ose Windows 98 nuk kanë një mundësi të tillë. Dhe nga pikëpamja e Windows 10, nuk ka probleme, dhe sistemi operativ tashmë është mprehur në anën e pasme të të njëjtave burime harduerike të një kompjuteri personal.

Tani le të kuptojmë se si të aktivizojmë Hyper-Threading në Windows Për të cilin kompjuteri mund të ketë të instaluar të gjithë softuerin e nevojshëm të aplikimit të kontrollit. Si rregull, ekziston një mjet i veçantë nga CD-ja e bordit të sistemit. Ka një skedë të veçantë, për të cilën mund të ndryshoni vlerën në BIOS në kohë reale. Në linjën time, për ta sjellë deri tek fakti që në opsionin e ri Hyper-Threading për të kaluar në kampin Enabled, si dhe flukse logjike shtesë aktivizohen, për më tepër, ato mund të lansohen pa ringarkuar sistemin operativ.

përfshirë teknologjinë

Shpesh në fazën fillestare të një kompjuteri të ri, një gjë e rëndësishme për t'u marrë parasysh është Hyper-Threading: si ta ndizni atë? Ka dy mënyra të mundshme për të përmbushur këtë detyrë. Një prej tyre është BIOS Victoria. Në këtë rast, është e nevojshme të viskozoni gjëra të tilla:

  • Kur kompjuteri është i ndezur, ne inicializojmë procedurën për hyrjen në BIOS. Për të cilat mjafton të shtypni butonin DEL kur shfaqet ekrani i testimit (në disa raste është e nevojshme të shtypni F2).
  • Pasi të shfaqet ekrani blu, kalojmë nga butonat e navigimit në skedën ADVANCED.
  • Atëherë ne e njohim artikullin Hyper-Threading.
  • Në vend të kësaj, duhet të vendosni vlerën Enabled.

Mungesa kryesore e kësaj metode është nevoja për të ri-inxhinieruar kompjuterin personal për të përfunduar këtë operacion. Alternativa e vërtetë është përdorimi i programit të konfigurimit të tabelës së sistemit. Kjo metodë përshkruhet në detaje në pjesën e përparme. І në këtë mënyrë, futni BIOS në asnjë obov'yazkovo.

përfshirja e NT

Në analogji me tre mënyrat për të aktivizuar NT, ekzistojnë dy mënyra për të çaktivizuar këtë funksion. Njëri prej tyre mund të përdoret vetëm në procesin e inicializimit të një sistemi kompjuterik. Tse, në linjën time, nuk e di mirë në praktikë. Prandaj, fahіvtsі zupinayut zgjedhjen e tyre në një metodë tjetër, e cila është përgatitur në një mjet kompjuterik vikoristan të motherboard. Për herë të parë, kryhen manipulimet e mëposhtme:

  1. Kur zavantazhennі makinë llogaritëse elektronike, ne hyjmë në sistemin bazë të prezantimit - ekranit (një emër tjetër i BIOS) sipas metodës së prezantuar më parë.
  2. Ne lëvizim nga butonat e shtypur për të kontrolluar kursorin në artikullin e menysë Avancuar.
  3. Më pas, duhet të dini artikullin e menusë Hyper-Threading (në disa modele të pllakave amë, VIN mund të shfaqet si NT). Nga ana tjetër, pas ndihmës së butonave PG DN dhe PG UP, vendoset vlera Disabled.
  4. Ne kujdesemi për ndryshimin për ndihmë F10.
  5. Duket si BIOS dhe ka rindezur kompjuterin personal.

Në një rast tjetër, kur përdorni mjetin diagnostikues të bordit të sistemit, nuk ka nevojë të rivendosni PC-në. Tse key yogo perevag. Algoritmi është identik në një farë mënyre. Dallimi qëndron në faktin se ka një mjet të veçantë të instaluar përpara zgjedhësit të tabelës së sistemit.

Ne kemi përshkruar më parë dy mënyra kryesore për të aktivizuar Hyper-Threading. Edhe pse më e palosshme, nominalisht respektohet nga një tjetër, por më praktike për ato arsye, që nuk ndikon në rivendosjen e kompjuterit.

Modelet e procesorëve me mbështetje NT

Nga ana tjetër, siç u njoftua më herët, mbështetja Hyper-Threading u zbatua vetëm në bashkëngjitjet e procesorit të serisë Pentium 4 dhe vetëm në viconan PGA478. Dhe boshti brenda kornizës së LGA1156 dhe më shumë platformave të tjera llogaritëse u konsiderua brenda kornizës së këtij materiali, teknologjia ishte fituese në pothuajse të gjitha modelet e mundshme të çipave. Me ndihmën e tyre, procesorët Celeron u shndërruan nga një zgjidhje me një bërthamë në një zgjidhje me dy fije. Në të njëjtën kohë, Penrium і i3 z її me ndihmë tashmë mund të përfundonte transmetimin e kodit të 4-të. Epo, zgjidhjet kryesore të serisë i7 janë ndërtuar në të njëjtën kohë me 8 procesorë logjikë.

Për hir të saktësisë, ne do të nxisim regjistrimin e NT brenda kornizës së platformës aktuale llogaritëse si Intel - LGA1151:

  • CPU-të e serisë Celeron nuk e mbështesin këtë teknologji dhe mund të mbështesin vetëm 2 njësi numërimi.
  • Linjat e çipave Pentium janë të pajisura me 2 bërthama dhe dy fije. Si rezultat, NT në këtë mënyrë mbështetet në marrëveshje të plotë.
  • Një strukturë e ngjashme mund dhe bashkëngjitje procesori më produktive të gamës së modelit Core i3: 2 module fizike mund të funksionojnë në 4 fije.
  • Ashtu si çipat më të mëdhenj të buxhetit Celeron, Core i5 nuk janë të pajisur me mbështetje NT.
  • Zgjidhjet kryesore i7 gjithashtu mbështet HT. Vetëm në këtë mënyrë, zëvendësoni 2 bërthama reale dhe tashmë 4 blloqe të përpunimit të kodit. Erë e keqe, për kënaqësinë tuaj, tashmë mund të punoni në 8 transmetime.

Hyper-Threading - çfarë është kjo teknologji dhe cili është aplikimi i saj kryesor? Kjo logjikë është e pasur me detyra, pasi lejon, me anë të rregullimeve minimale në sigurinë e harduerit, të rritet produktiviteti i sistemit kompjuterik në tërësi.

Në çfarë mënyrash është më mirë të fitosh teknologjinë më optimale?

Në disa raste, siç ishte caktuar më herët, NT zbіshuє svidkodіyu, zіkam obroblyає procesori i kodit të programit. Hyper-Threading mund të përdoret në mënyrë efektive vetëm me softuer të nxehtë. Prapa joga tipike janë koduesit e përmbajtjes video dhe audio, paketat grafike profesionale dhe arkivatorët. Gjithashtu, prania e një teknologjie të tillë ju lejon të zgjeroni plotësisht firmware-in e sistemit të serverit. Dhe boshti me një zbatim me një fillesë të kodit të programit zvogëlohet nga prania e Hyper-Threading, në mënyrë që të dalë një procesor i shkëlqyer, i cili ekzekuton një detyrë në një bërthamë.

Avantazhet dhe mangësitë

Ka shumë mangësi në teknologjinë Intel Hyper-Threading. E para prej tyre është promovimi i CPU var. Ale më shumë swidkodіyu dhe polypshena silikonuvannya kristal në çdo mënyrë zbіlshat tsіnu CPU. Gjithashtu, zona e bazës napіvprovіdnikovoї e zgjerimit të procesorit u rrit deri në një rritje të nivelit të tensionit dhe temperaturës së reduktuar. Shitja me pakicë në këtë mënyrë nuk është sutteva, dhe nuk do të kalojë 5%, por ende nuk do të jetë. Nuk ka më mungesa vjetore në çdo sezon të caktuar.

Tani për perevagi. Teknologjia e kompanisë NT nga kompania "Intel" nuk e grabit shpejtësinë dhe produktivitetin e teknologjisë së kompanisë, kështu që nuk mund të shkosh nën pragun e një kompjuteri të tillë. Përveç sigurisë së softuerit, ai mbështet në mënyrë të përsosur llogaritjen paralele, më pas do të pasohet nga një rritje e këndimit të kodit swid dhe, natyrisht, produktivitetit.

Siç tregojnë testet, në disa raste, rritja mund të arrijë në 20%. Softueri më i optimizuar në këtë mënyrë janë konvertuesit e ndryshëm për përmbajtje multimediale, arkivues dhe paketa grafike. Dhe boshti me lojëra nuk është ende aq i mirë. Erë e keqe, në vetvete, ndërtohet në 4 rryma dhe, si rezultat, çipat kryesorë nuk janë ndërtuar në të njëjtën mënyrë për të tejkaluar zgjidhjen e procesorit të nivelit të mesëm.

Një alternativë moderne për AMD

Teknologjia Hyper-Threading nuk është e vetmja në llojin e saj sot. Ajo ka një alternativë të vërtetë. Me lëshimin e platformës AM4, AMD ka përhapur konkurrentin e saj më të fortë në formën e SMT. Në nivelin e harduerit, zgjidhja është identike. Vetëm boshti kryesor i Intel mund të përpunojë 8 rryma, dhe çipi kryesor AMD - 16. Tashmë një situatë tregon për ato që janë më premtuese dhe zgjidhje të tjera.

Prandaj, kompania "Intel" është në siklet të korrigjojë planet e saj për nxjerrjen e produkteve në terminologji dhe të propozojë zgjidhje të reja procesoresh, të cilat do të jenë në gjendje të konkurrojnë me të sapoardhurit e AMD. Vetëm boshti i ditës aktuale ende nuk është riorganizuar. Nëse ekziston një platformë kompjuterike, është më mirë të zgjidhni LGA1151 nga Intel. Nëse është e nevojshme për produktivitet, atëherë do të jetë më mirë nëse AM4 është AMD.

Në të kaluarën, na u tha për teknologjinë e filetimit njëorësh (Simultaneous Multi-Threading - SMT), e cila është e ndenjur në procesorët Intel. Dua të largohem nga rruga nën emrat e koduar "Jackson Technology" si një opsion i mundshëm, efikas, Intel zyrtarisht njoftoi teknologjinë e saj në forumin e IDF vjeshtën e kaluar. Kodi i emrit Jackson është zëvendësuar nga një version më i madh i Hyper-Threading. Tash e tutje, për t'u rritur, si praktikë e teknologjisë së re, na duhen shumë njohuri. Dhe për ne është e nevojshme të dimë se si është rrjedha, si valëzojnë përrenjtë. Pse keni nevojë për një shtesë? Si e njeh procesori, çfarë lloj operacionesh dhe për çfarë lloj të dhënash është fajtor? I gjithë ky informacion ruhet në kodin e përpilimit të zastosuvannya të koduar. Dhe ashtu si një shtojcë i hiqet koristuvaçës, qoftë një komandë, qoftë e dhënë, - procesori do të menaxhojë menjëherë rrjedhat, si rezultat i të cilave fajësohen dhe dënohen nga koristuvaça ata që janë fajtorë për vikonati. Nga pikëpamja e procesorit, potik - tse nabіr іnstruktsіy, yakі nebhіdno vykonat. Nëse goditeni nga një predhë në Quake III Arena, ose nëse jeni duke hapur një dokument Microsoft Word, procesorit do t'i kërkohet të shkruajë udhëzimet, është faji i viconati.

Procesori e di saktësisht se ku t'i marrë këto udhëzime. Për takimet ts_єї meti rіdko zgaduvany regіstr, rendit komandat lіchilnik (Program Counter, PC). Ky regjistër tregohet aty për aty në kujtesë, de zberіgaєtsya ofensivës për komandën fitimtare. Nëse fluksi i dërgohet procesorit, adresat e memories së rrjedhës do të merren në të njëjtin numër komandash, në mënyrë që procesori të dijë se nga cili vend është i nevojshëm fillimi i migrimit. Pas udhëzimeve të lëkurës, vlera e regjistrit do të rritet. I gjithë procesi është vykonuetsya deri në fund të rrjedhës. Pas përfundimit të rrjedhës, adresa e udhëzimit të ardhshëm futet në listën e komandave, pasi është e nevojshme të vikonate. Threads mund të pererivat një nga një, me të cilat procesori do të ruajë vlerën e komandës së fundit në stek dhe do t'i shtojë një vlerë të re asaj të re. Ale, obmezhennya në këtë proces, gjithçka është e njëjtë - në një orë të vetme mund të shpenzoni vetëm një djersë.

Іsnuє zagalnovіdomy mënyrë për të zgjidhur këtë problem. Nëse dy procesorë fitojnë mbi dy procesorë - ashtu si një procesor mund të mposht një fije në të njëjtën kohë, atëherë dy procesorë mund të mposhtin dy thread në të njëjtën orë. Është e rëndësishme që kjo metodë nuk është ideale. Me një faj të ri, nuk ka probleme të tjera. Me deakim, shih tashmë, ndoshta, di. Së pari, sprati i përpunuesve është më i shtrenjtë, më i ulëti. Në një mënyrë tjetër, menaxhimi i dy procesorëve nuk është aq i lehtë. Përveç kësaj, mos harroni për ndarjen e burimeve midis përpunuesve. Për shembull, përpara ardhjes së çipsetit AMD 760MP, të gjitha platformat x86 me mbështetje për shumëpërpunim ndanin të gjithë gjerësinë e brezit të autobusit të sistemit midis procesorëve aktualisht të disponueshëm. Por mangësia kryesore në një rast tjetër - për punë dhe shtesa të tilla, dhe vetë sistemi operativ është fajtor për mbështetjen e shumëpërpunimit. Ndërtimi i kapaciteteve shpesh quhet rrjedha e pasurisë. Në rast të të gjithave, sistemi operativ është fajtor për ruajtjen e pasurisë së rrjedhës. Aditivët janë gjithashtu përgjegjës për përmirësimin e pasurisë së rrjedhës, në mënyrë që të maksimizohet efektiviteti i burimit të kompjuterit. Mos harroni për këtë, nëse shohim një zgjidhje tjetër për problemin e multithreading, teknologjinë e re Hyper-Threading të Intel.

Ka pak produktivitet

Është shumë për të folur për efikasitetin. Dhe jo vetëm në lustrimin e korporatave, në disa projekte serioze, por në jetën e përditshme. Duket se homo sapiens ka më pak gjasa të zadіyut mozhlivostі svogo mozku. E njëjta gjë mund të zbatohet edhe për procesorët e kompjuterëve modernë.

Merrni, për shembull, Pentium 4. Procesori, në përgjithësi, mund të ketë disa bashkëngjitje, dy prej të cilave mund të punojnë me shpejtësi të dyfishtë - dy operacione (mikro-operacione) për orë. Ale, me një humor të ngjashëm, nuk do t'i njihje programet, si mund t'i plotësoje udhëzimet me të gjitha bashkëngjitjet. Programet Zvichaynі menaxhojnë me llogaritje të ngathëta të numrave të plotë, të tilla si operacionet për marrjen dhe ruajtjen e të dhënave, dhe operacionet me pikë lundruese janë lënë jashtë. Programe të tjera (për shembull, Maya) si kryetar i bashkëngjitjes së robotit zavantazhuyut për operacione me njolla lundruese.

Për të ilustruar situatën, le të shohim procesorin me tre bashkëngjitje të ndryshme: aritmetike-logjike (numër i plotë - ALU), bashkëngjitje për robotët me pikë lundruese (FPU) dhe bashkëngjitje kapëse/ruajtjeje (për shkrimin dhe leximin e të dhënave nga memoria). Përveç kësaj, le të themi se procesori ynë mund të kryejë një operacion në një cikël orësh dhe mund të ndajë operacionet në të tre bashkëngjitjet menjëherë. Le të sqarojmë se cili procesor po dërgohet te procesori tjetër me udhëzimet e mëposhtme:

I vogli më poshtë ilustraє rіven zavantazhennostі vykonavchih pristroїv (ngjyra sirim tregon bashkëngjitjet jo të pasme, blu - bashkëngjitjet e punës):

Otzhe, ju shikoni, se vetëm 33% e të gjitha ndërtesave vykonavchih janë fitimtare në taktin e lëkurës. Sa herë FPU ngec sa hap e mbyll sytë. Sipas të dhënave të Intel, shumica e programeve për IA-32 x86 nuk janë më shumë se 35% e pajisjeve të procesorit Pentium 4.

Më thuaj edhe një potik, ta rregullojmë në procesor. Në këtë kohë, verërat do të grumbullohen nga operacionet e marrjes së të dhënave, ruajtjes dhe ruajtjes së të dhënave. Erë e keqe do të jetë vikonuvatisya në mënyrë fyese:

Unë do të rinovoj koston e ndërtimit të ndërtesave shtesë për t'u ulur me 33%.

Një rrugëdalje e mirë nga kjo situatë do të ishte paralelizmi i nivelit të instruksionit (ILP). Në këtë moment, një orë në një kohë, një numër i dekaleve instruksionesh fërkohen, copat e procesorit të ndërtesës duhet të zëvendësohen nga një numër copëzash paralele të ndërtesave shtesë. Fatkeqësisht, shumica e programeve x86 nuk janë bashkangjitur me ILP në botën tjetër. Për t'u njohur me mënyra të tjera për të rritur produktivitetin. Kështu, për shembull, nëse dy përpunues do të rriheshin në një sistem, atëherë do të ishte e mundur të rraheshin dy fije njëherësh. Kjo zgjidhje quhet paralelizëm i nivelit të fillit (TLP). Për të thënë fjalën, një vendim i tillë për të përfunduar rrugën.

Si tjetër mund të gjeni mënyra për të rritur fuqinë e procesorëve të sotëm të arkitekturës x86?

Hyper Threading

Problemi i ndërtesave jo të pastra vikoristannya vykonavchih lidhet me arsye dekіlkom. Me sa duket, pasi procesori nuk mund të marrë të dhëna nga shpejtësia e bagazhit (kjo është për shkak të xhiros së pamjaftueshme të autobusit të sistemit dhe autobusit të memories), atëherë zgjerimet e kujtesës nuk do të jenë aq efektive. Për më tepër, ekziston një arsye më shumë - martesa e paralelizmit sipas udhëzimeve të barabarta të shumicës së rrymave të ekipeve fitimtare.

Në këtë orë, shumica e hakerëve përmirësojnë shpejtësinë e robotit dhe procesorëve duke rritur frekuencën e orës dhe duke zgjeruar cache. Natyrisht, në këtë mënyrë ju mund të rrisni produktivitetin, por megjithatë potenciali i procesorit nuk do të jetë më shumë detyra. Nëse ne mund të fitonim mbi një spërkatje të rrjedhave menjëherë, atëherë ne mund ta mposhtim procesorin në mënyrë shumë më efikase. Vetë thelbi i teknologjisë Hyper-Threading.

Hyper-Threading është emri i teknologjisë, e cila u bazua dhe më parë në botën x86, teknologjia e filetimit të pasur njëorëshe (Simultaneous Multi-Threading, SMT). Ideja e kësaj teknologjie është e thjeshtë. Një procesor fizik i shfaqet sistemit operativ si dy procesorë logjikë dhe sistemi operativ nuk mund të diferencohet midis një procesori SMT ose dy procesorëve të fuqishëm. Në të dyja rastet, sistemi operativ drejton fijet si një sistem me dy procesorë. Dali e gjithë ushqimi varet nga niveli i harduerit.

Procesori me lëkurë Hyper-Threading ka një procesor logjik që mund të shtypë regjistrat e vet (përfshirë një numër komandash), dhe për të mos e komplikuar teknologjinë, ai nuk zbaton shtypjen / dekodimin e udhëzimeve një-orëshe në dy fije. Kjo është arsyeja pse udhëzimet janë rrahur sipas dëshirës tuaj. Në të njëjtën kohë, ka gjithnjë e më pak urdhërime.

Teknologjia u njoftua zyrtarisht në Forumin e Zhvilluesve të Intel vjeshtën e kaluar. Teknologjia u demonstrua në procesorin Xeon, renderimi u krye me ndihmën e Maya. Në testin tim, Xeon me Hyper-Threading tregoi rezultate 30% më të mira se Xeon standard. Pranimi i përfitimeve të produktivitetit, por mbi të gjitha, ato teknologji tashmë të pranishme në bërthamat Pentium 4 dhe Xeon janë lënë vetëm jashtë.

Teknologjia nuk është lëshuar ende, megjithatë, për ju që keni shtuar 0,13 mikron Xeon dhe keni instaluar këtë procesor në motherboard me një përditësim të BIOS-it, vetëm zdivatovan, pasi keni aktivizuar / çaktivizoni Hyper-Threading në BIOS.

Ndërkohë, Intel do të mbajë opsionin Hyper-Threading të aktivizuar për kyçje. Vtіm, për її përfshirje dosit thjesht përditësoni BIOS-in. Gjithçka ia vlen të punojë stacionet dhe serverët, sa i përket tregut të kompjuterëve personal, në të ardhmen e afërt kompania nuk ka plane për teknologjinë. Nëse është e mundur, shitësit e motherboard do t'ju lejojnë të aktivizoni Hyper-Threading pas ndihmës së një BIOS të veçantë.

Ka mbetur shumë energji, pse Intel dëshiron ta çaktivizojë këtë opsion?

Zhyt në teknologji

A ju kujtohen ato dy rryma nga prapanica e përparme? Le të supozojmë për momentin se procesori ynë është i pajisur me Hyper-Threading. Pyesim veten se çfarë shohim, si do të përpiqemi t'i vikonojmë njëkohësisht këto dy rryma:

Ashtu si më parë, drejtkëndëshat blu tregojnë udhëzimet e rrjedhës së parë, dhe ato jeshile drejt udhëzimeve të rrymës tjetër. Siri pryamokutnikët tregojnë bashkëngjitje të pakufizuara vykonavchi, dhe ato të kuqe - një konflikt, nëse dy udhëzime të ndryshme nga rryma të ndryshme vijnë në një bashkëngjitje.

Otzhe, çfarë po bëjmë? Paralelizmi në rrjedhat e barabarta, duke dhënë ndërtesat zbіy - vykonavchi filluan të vikoristovovatysya edhe më pak në mënyrë efektive. Zëvendës për çiklimin e fijeve paralele, procesori që i hakon më shumë, i poshtëm yakby që i hakon pa Hyper-Threading. Arsyeja e qumështit është e thjeshtë. Në të njëjtën kohë, ne kënduam vikonati dy herë të ngjashme me përroin. Edhe më shumë erëra fyese shtohen me operacione nga zavantazhennia / kursime dhe operacione për të plotësuar. Yakby mi lëshoi ​​në të njëjtën kohë një shtesë dhe shtesë "integer", e cila funksionon me një pikë lundruese, ne do të ktheheshim në një situatë të shkurtër. Në fakt, efektiviteti i Hyper-Threading varet shumë nga PC-të.

Për momentin, shumica e PC-ve janë të lidhur me kompjuterin e tyre në afërsisht të njëjtën mënyrë siç përshkruhet në aplikacionin tonë. Procesori është i heshtur për operacione të ngjashme. Është për të ardhur keq, nëse në të drejtën për të arritur të njëjtin lloj operacionesh, vështirësitë shtesë i fajësohen menaxhmentit. Situatat po vizatohen, nëse nuk ka më ndërtesa të mjaftueshme të llojit të kërkuar, dhe udhëzimet, si të këqija, janë më të mëdha, më të ulëta dhe më domethënëse. Për shumicën e laptopëve, edhe pse procesorët e kompjuterëve shtëpiak përdornin teknologjinë Hyper-Threading, produktiviteti nuk u rrit, ose ndoshta u ul me 0-10%.

Në stacionet e punës, ka më shumë mundësi për rritjen e produktivitetit në Hyper-Threading. Ale z іnshoy anë, të gjithë shtrihen në formën e një kompjuteri të veçantë vikoristannya. Një stacion pune mund të nënkuptojë një kompjuter të nivelit të lartë për përpunimin e grafikëve 3D, por është gjithashtu thjesht një kompjuter shumë i sofistikuar.

Rritja më e madhe e produktivitetit për shkak të Hyper-Threading mund të gjendet në shtesat e serverit. Renditja e kreut shpjegohet nga diapazoni i gjerë i kërkesave për procesorin e operacioneve. Serveri i bazës së të dhënave që fiton transaksione mund të funksionojë 20-30% më shpejt me opsionin Hyper-Threading të aktivizuar. Pak më pak fitim produktiviteti mund të shihet në serverët në internet dhe në zona të tjera.

Efikasiteti maksimal me Hyper-Threading

A mendoni se Intel ka zhvilluar Hyper-Threading vetëm për linjën e saj të procesorëve të serverëve? Natyrisht, jo. Yakbi do të ishte kështu, era e keqe nuk do të ishte bërë më kot hapësirë ​​xhami me njolla në kristalet e përpunuesve të tyre të tjerë. Në fakt, arkitektura e NetBurst, e cila fiton në Pentium 4 dhe Xeon, nuk mund të përshtatet më mirë për thelbin me mbështetjen e filetimit të pasur prej një ore. Le të ndezim përsëri procesorin tonë. Këtë herë në të ardhmen e re ekziston një bashkëngjitje Vikonavchiy - një bashkëngjitje tjetër me numër të plotë. Le të pyesim veten se çfarë do të bëhet, sikur përrenjtë do të jenë të liga nga të dy ndërtesat shtesë:

Me ndihmën e një aneksi tjetër të numrit të plotë, një konflikt i vetëm u shpenzua vetëm në pjesën tjetër të operacionit. Procesori ynë teorik është disi i ngjashëm me Pentium 4. Procesori i ri ka tre shtesa me numra të plotë (dy ALU dhe një shtrirje mjaft të plotë për dëmtime ciklike). Dhe ajo që është edhe më e rëndësishme, ofendimi i shtesave të numrit të plotë Pentium 4 në ndërtesë bëhet me swidkist nën kabllo - dy mikrooperacione për cikël. Dhe tse, në vetvete, do të thotë se nëse do të kishte dy shtesa me numra të plotë të Pentium 4 / Xeon, ai mund të vikononte ato dy operacione të palosjes nga rrjedha të ndryshme në një cikël orësh.

Por kjo nuk e zgjidh problemin tonë. Do të ishte një ndjesi e vogël që thjesht t'i shtoni procesorit një shtesë shtesë procesorit me një metodë për të rritur produktivitetin në formën e Hyper-Threading. Nga një këndvështrim i huazuar në hapësirën e silikonit, do të ishte shumë i shtrenjtë. Si zëvendës, Intel u kërkoi shitësve me pakicë të optimizonin programet Hyper-Threading.

Duke përdorur udhëzimin HALT, mund t'i caktoni robotit një nga procesorët logjikë dhe në këtë mënyrë të rrisni produktivitetin e shtesave, të cilat nuk luajnë në llojin Hyper-Threading. Më vonë, programi nuk do të bëhet më efikas, një nga procesorët logjik do të funksionojë dhe sistemi do të funksionojë në një procesor logjik - produktiviteti do të jetë i njëjtë si në kompjuterët me një procesor. Pastaj, nëse jeni të vetëdijshëm për faktin se Hyper-Threading nuk do të luajë në produktivitet, një procesor tjetër logjik thjesht do të frymëzojë punën e tij.

Në faqen e internetit të Intel, ekziston një prezantim që përshkruan se si të programoni veten për të përfituar sa më shumë nga Hyper-Threading.

visnovki

Edhe pse të gjithë ne ishim me fat, nëse do të kishim dëgjuar pak për Hyper-Threading në bërthamat e të gjithë Pentium 4 / Xeons aktual, ne ende nuk do të jemi pa produktivitet kosto në të gjitha llojet e jetës. Arsyet janë të arsyeshme, dhe teknologjitë janë më të pasura, para së gjithash, Hyper-Threading, i cili funksionon në të gjitha platformat, përfshirë kompjuterët në shtëpi. Dhe për këshillat e shitësve me pakicë, teknologjia mund të duket çmendurisht si një aleat i mirë i Pentium 4, Xeon dhe procesorëve të gjeneratës së ardhshme nga Intel.

Për zgjerimin e dukshëm dhe me teknologjinë më të fundit të paketimit, Hyper-Threading është zgjedhja më e arsyeshme për një treg më të ngadaltë, më i ulët, për shembull, çipi i AMD në SledgeHammer - ka dy bërthama në këta procesorë. Deri tani, derisa teknologjitë e paketimit të bëhen të përsosura, si p.sh.

Vetëm respekt, AMD dhe Intel janë bërë disi të ndryshme për pjesën tjetër të viteve. Edhe nëse AMD praktikisht kopjoi procesorët Intel. Tani, kompanitë kanë zgjedhur në parim t'u qasen procesorëve të ardhshëm për serverët dhe stacionet e punës. AMD me të vërtetë ka dështuar për një kohë të gjatë. Sapo dy bërthama do të jenë fitimtare në procesorët Sledge Hammer, atëherë për sa i përket produktivitetit, kjo zgjidhje do të jetë më efikase, me Hyper-Threading më të ulët. Andje, në këtë periudhë të Krimesë ka probleme, siç e kemi përshkruar më sipër.

Hyper-Threading nuk do të shfaqet ende në treg për një kompjuter të shkëlqyeshëm, por me mbështetjen e mirë të shitësve me pakicë, mund të bëhet një teknologji djallëzore, kështu që mund të zbresë nga niveli i serverit në kompjuterë të thjeshtë.

Mbështetni projektin - ndani përpjekjet tuaja, faleminderit!
Lexoni gjithashtu
Sbebrank (i njohur gjithashtu si Oschadbank) Sbebrank (i njohur gjithashtu si Oschadbank) Zgjidhja e problemeve të licencës me Autocad Chi nuk fillon autocad Windows 7 Zgjidhja e problemeve të licencës me Autocad Chi nuk fillon autocad Windows 7 Udhëzime për zgjedhjen e kodit PIN CryptoPro, në orën e nënshkrimit të një numri dokumentesh - Udhëzime - AT Udhëzime për zgjedhjen e kodit PIN CryptoPro, në orën e nënshkrimit të një numri dokumentesh - Udhëzime - SHA "PEK-Torg"