itthon / Internet / ht technológia. Hyper threading mi ez és miért? CPU-k Hyper Threading támogatással

ht technológia. Hyper threading mi ez és miért? CPU-k Hyper Threading támogatással

15.03.2013

A Hyper-Threading technológia megjelent Intel processzorok, ijesztő kimondani, több mint 10 évvel ezelőtt. Jelenleg pedig a Core processzorok fontos eleme. A játékokban a HT szükségességének kérdése azonban még mindig nem teljesen érthető. Úgy döntöttünk, hogy tesztelünk, hogy megnézzük, a játékosoknak szüksége van-e a Core i7-re, vagy a Core i5 jobb. És azt is megtudhatja, hogy a Core i3 miben jobb, mint a Pentium.


Az Intel által kifejlesztett Hyper-Threading technológia, amelyet kizárólag a cég processzoraiban használnak, kezdve az emlékezetes Pentium 4-től, ma már magától értetődő. Jelentős számú jelenlegi és korábbi generációs processzorral van felszerelve. A közeljövőben ezt is használni fogják.

És el kell ismerni, hogy a Hyper-Threading technológia hasznos és pozitív hatással van a teljesítményre, különben az Intel nem használja a processzorok soron belüli elhelyezésére. És nem mellékes elemként, hanem az egyik legfontosabb, ha nem a legfontosabb. Hogy érthető legyen, miről is beszélünk, készítettünk egy táblázatot, amely megkönnyíti az Intel processzorok szegmentálási elvének értékelését.


Mint látható, nagyon kevés különbség van a Pentium és a Core i3, valamint a Core i5 és Core i7 között. Valójában az i3 és i7 modellek csak a harmadik szintű gyorsítótár magonkénti méretében térnek el a Pentiumtól és az i5-től (persze az órajel frekvenciáját nem számítva). Az első pár 1,5 megabájtos, a második 2 megabájtos. Ez a különbség nem befolyásolhatja radikálisan a processzorok teljesítményét, mivel a gyorsítótár méretének különbsége nagyon kicsi. A Core i3 és Core i7 ezért kapott támogatást a Hyper-Threading technológiához, amely a fő elem, amely lehetővé teszi, hogy ezek a processzorok teljesítményelőnyben részesüljenek a Pentium, illetve a Core i5-höz képest.

Ennek eredményeként a valamivel nagyobb gyorsítótár és a Hyper-Threading támogatása lehetővé teszi, hogy lényegesen magasabb árakat állítson be a processzorok számára. Például a Pentium vonal processzorai (körülbelül 10 ezer tenge) körülbelül kétszer olcsóbbak, mint a Core i3 (körülbelül 20 ezer tenge), és annak ellenére, hogy fizikailag, hardver szinten teljesen azonosak, és ennek megfelelően , ugyanolyan költséggel járnak. A Core i5 (kb. 30 ezer tenge) és a Core i7 (kb. 50 ezer tenge) árkülönbsége is nagyon nagy, bár a fiatalabb modelleknél kevesebb, mint kétszerese.


Mennyire indokolt egy ilyen áremelés? Milyen valódi nyereséget biztosít a Hyper-Threading? A válasz régóta ismert: a növekedés eltérő lehet – minden az alkalmazástól és annak optimalizálásától függ. Úgy döntöttünk, hogy megnézzük, mit csinál a HT a játékokban, mint az egyik legigényesebb "háztartási" alkalmazást. Ezen túlmenően, ez a teszt nagyszerűen kiegészíti a processzor magjainak számának a játékteljesítményre gyakorolt ​​hatásáról szóló korábbi anyagunkat.

Mielőtt folytatnánk a teszteket, emlékezzünk (jól, vagy derítsük ki), hogy mi is az a Hyper-Threading technológia. Ahogy maga az Intel is megfogalmazta, bemutatkozik ezt a technológiát sok évvel ezelőtt semmi különösebben bonyolult nincs benne. Valójában a HT fizikai szintű bevezetéséhez csak annyit kell tenni, hogy egy fizikai maghoz nem egy regiszterkészletet és egy megszakításvezérlőt kell hozzáadni, hanem kettőt. A Pentium 4 processzorokban ezek további elemek mindössze öt százalékkal növelte a tranzisztorok számát. A modern Ivy Bridge magokban (valamint a Sandy Bridge-ben és a jövőbeni Haswellben) még négy maghoz tartozó kiegészítő elemek még 1 százalékkal sem növelik a matricát.


A további regiszterek és a megszakításvezérlő szoftveres támogatással párosulva lehetővé teszik, hogy az operációs rendszer ne egy fizikai, hanem két logikai magot lásson. Ugyanakkor a rendszer által küldött két adatfolyamból származó adatok feldolgozása továbbra is ugyanazon a magon folyik, de bizonyos funkciókkal. A teljes processzor továbbra is egy szál rendelkezésére áll, de amint néhány CPU blokk felszabadul és tétlen, azonnal a második szál rendelkezésére állnak. Ennek köszönhetően az összes processzoregységet egyszerre lehetett használni, és ezáltal növelni a hatékonyságot. Ahogy azt maga az Intel is nyilatkozta, a teljesítménynövekedés ideális körülmények között akár a 30 százalékot is elérheti. Igaz, ezek az adatok csak a Pentium 4-re igazak a nagyon hosszú csővezetékkel, a modern processzorok kevésbé profitálnak a HT-ból.

De a Hyper-Threading ideális feltételei nem mindig állnak fenn. És ami a legfontosabb, a HT munkájának legrosszabb eredménye nem a teljesítménynövekedés hiánya, hanem annak csökkenése. Ez azt jelenti, hogy bizonyos feltételek mellett a HT-val rendelkező processzor teljesítménye csökken a HT nélküli processzorhoz képest, mivel a szálfelosztás és a sorba állítás többletterhelése jelentősen meghaladja a párhuzamos szálak kiszámításából származó nyereséget, ami ebben az esetben lehetséges. ügy. És az ilyen esetek sokkal gyakoribbak, mint azt az Intel szeretné. Ráadásul a Hyper-Threading sok éves használata sem javított a helyzeten. Ez különösen igaz azokra a játékokra, amelyek nagyon összetettek és semmiképpen sem szokatlanok az adatszámítás, az alkalmazások szempontjából.

Annak érdekében, hogy megtudjuk a Hyper-Threading játékteljesítményre gyakorolt ​​hatását, ismét a régóta szenvedő Core i7-2700K tesztprocesszorunkat használtuk, és egyszerre négy processzort szimuláltunk a magok letiltásával és a HT engedélyezésével/letiltásával. Hagyományosan Pentium (2 mag, HT ki), Core i3 (2 mag, HT be), Core i5 (4 mag, HT ki) és Core i7 (4 mag, HT be) névre hallgatható. Miért feltételesen? Először is azért, mert bizonyos jellemzőik szerint nem felelnek meg a valódi termékeknek. Különösen a magok letiltása nem vezet a harmadik szintű gyorsítótár térfogatának megfelelő csökkenéséhez - annak mennyisége minden esetben 8 megabájt. Ráadásul minden „feltételes” processzorunk ugyanazon a 3,5 GHz-es frekvencián működik, amit még nem minden Intel processzor ér el.


Ez azonban még jobb is, mert hála minden megváltoztathatatlanságának fontos paramétereket fenntartások nélkül megtudhatjuk majd a Hyper-Threading valódi hatását a játékteljesítményre. A „feltételes” Pentium és Core i3 teljesítményének százalékos különbsége pedig közel lesz a valódi processzorok közötti különbséghez, feltéve, hogy a frekvenciák egyenlőek. Az sem lehet kínos, hogy Sandy Bridge processzort használunk, hiszen hatékonysági tesztjeink, amelyekről a „Csupasz teljesítmény – Az ALU-k és FPU-k hatékonyságának feltárása” című cikkben olvashat, kimutatta, hogy a Hyper-Threading hatása A Core processzorok legújabb generációi változatlanok maradnak. Valószínűleg releváns adott anyag a hamarosan megjelenő Haswell processzorokhoz is elérhető lesz.

Nos, úgy tűnik, hogy a tesztelési módszertannal, valamint a Hyper-Threading technológia működésének jellemzőivel kapcsolatos összes kérdést megvitatták, ezért ideje továbbmenni a legérdekesebb dologra - a tesztekre.

A teszt során, amelyben a processzormagok számának a játékteljesítményre gyakorolt ​​hatását tanulmányoztuk, rájöttünk, hogy a 3DMark 11 meglehetősen nyugodt a CPU teljesítményét illetően, még egyetlen magon is tökéletesen működik. A Hyper-Threading ugyanolyan „erős” befolyással bírt. Mint látható, a teszt abszolút nem veszi észre a Pentium és a Core i7 közötti különbségeket, nem beszélve a köztes modellekről.

Metró 2033

De a Metro 2033 egyértelműen észrevette a Hyper-Threading megjelenését. És negatívan reagált! Igen, ez így van: a HT engedélyezése ebben a játékban negatív hatással van a teljesítményre. Természetesen kis hatás - 0,5 képkocka másodpercenként négy fizikai maggal és 0,7 kettővel. De ez a tény minden okot ad arra, hogy a Metro 2033-ban a Pentium gyorsabb, mint a Core i3, és a Core i5 jobb, mint a Core i7. Ez megerősíti azt a tényt, hogy a Hyper-Threading nem mindig és nem mindenhol mutatja meg hatékonyságát.

Crysis 2

Ez a játék nagyon érdekes eredményeket mutatott. Mindenekelőtt megjegyezzük, hogy a Hyper-Threading hatása jól látható a kétmagos processzorokban - a Core i3 majdnem 9 százalékkal felülmúlta a Pentiumot, ami ennél a játéknál elég sok. Győzelem a HT és az Intel számára? Nem igazán, mivel a Core i7 nem mutatott előrelépést az észrevehetően olcsóbb Core i5-höz képest. De erre van egy ésszerű magyarázat - a Crysis 2 nem tudja, hogyan kell négynél több adatfolyamot használni. Emiatt jó növekedést látunk egy kétmagos HT-nál - elvégre négy szál, bár logikus, jobb, mint kettő. Másrészt nem volt hova rakni további Core i7 szálakat, ott négy fizikai mag elég volt. Tehát ennek a tesztnek az eredménye szerint a HT pozitív hatását figyelhetjük meg a Core i3-ban, ami észrevehetően jobb, mint az itteni Pentium. De a négymagos Core i5 között ismét ésszerűbb megoldásnak tűnik.

Battlefield 3

Itt az eredmények nagyon furcsaak. Ha a magok számának tesztjében a csatatér egy mikroszkopikus, de lineáris növekedés mintája volt, akkor a Hyper-Threading bevonása káoszt hozott az eredményekben. Valójában kijelenthetjük, hogy a Core i3 a két magjával és a HT-vel a legjobbnak bizonyult mind közül, még a Core i5-öt és Core i7-et is megelőzve. Furcsa persze, de ugyanakkor a Core i5 és a Core i7 ismét egy szinten volt. Hogy mi magyarázza ezt, nem világos. Valószínűleg ebben a játékban a tesztelési módszer játszott szerepet, amely nagyobb hibákat ad, mint a standard benchmarkok.

A legutóbbi teszten az F1 2011 azon játékok közé sorolta magát, amelyek nagyon kritikusak a magok számát illetően, most pedig ismét meglepett a Hyper-Threading technológia teljesítményére gyakorolt ​​kiváló hatásával. És ismét, mint a Crysis 2-ben, a HT beépítése nagyon jónak bizonyult a kétmagos processzorokon. Nézze meg a különbséget a feltételes Core i3 és a Pentium között – ez több mint duplája! Jól látható, hogy a játékból nagyon hiányzik két mag, ugyanakkor a kódja olyan jól párhuzamosított, hogy a hatás elképesztő. Másrészt a négy fizikai magot nem lehet legyőzni – a Core i5 észrevehetően gyorsabb, mint a Core i3. De a Core i7, mint az előző játékokban, nem mutatott semmi kiemelkedőt a Core i5 hátterében. Az ok ugyanaz - a játék nem használhat 4 szálnál többet, és a HT overheadje a Core i7 teljesítményét a Core i5 szintje alá csökkenti.

Egy öreg harcosnak nem kell jobban a Hyper-Threading, mint egy sündisznónak egy póló – a hatása korántsem olyan markáns, mint az F1 2011-ben vagy a Crysis 2-ben. Ugyanakkor továbbra is megjegyezzük, hogy a HT engedélyezése kétmagos rendszeren processzor hozott 1 plusz keretet. Ez persze nem elég ahhoz, hogy a Core i3 jobb, mint a Pentium. Ez a javulás legalábbis egyértelműen nem egyezik a processzorok árkülönbségével. A Core i5 és Core i7 árkülönbségére pedig még emlékezni sem érdemes, hiszen a HT támogatás nélküli processzor ismét gyorsabbnak bizonyult. És észrevehetően gyorsabban - 7 százalékkal. Akár tetszik, akár nem, ismét kijelentjük, hogy a négy szál a maximum ennél a játéknál, és ezért a HyperThreading ez az eset nem segít a Core i7-en, de zavar.

Ha alaposan átnézte a BIOS Setup tartalmát, akkor valószínűleg észreveszi ott a CPU opciót. Hyper Threading technológia. És talán azon töprengtek, hogy mi az a Hyper Threading (Super-threading vagy hyper-threading, a hivatalos neve Hyper Threading Technology, HTT), és miért van szükség erre a lehetőségre.

A Hyper Threading ehhez képest új technológia, amelyet az Intel fejlesztett ki Pentium architektúrájú processzorokhoz. Amint a gyakorlat azt mutatja, a Hyper Threading technológia használata sok esetben lehetővé tette a CPU teljesítményének körülbelül 20-30%-os növelését.

Itt emlékeznie kell arra, hogyan működik általában a számítógép központi feldolgozóegysége. Amint bekapcsolja a számítógépet és lefuttat rajta egy programot, a CPU elkezdi olvasni a benne található, úgynevezett gépi kódba írt utasításokat. Minden utasítást felváltva olvas be, és egyenként hajtja végre.

Sok programban azonban több szoftverfolyamat fut egyidejűleg. Ezenkívül a modern operációs rendszerek lehetővé teszik a felhasználó számára, hogy több programok futtatása. És nem csak engedni – sőt, ma már teljesen elképzelhetetlen az a helyzet, amikor egyetlen folyamat fut az operációs rendszerben. Ezért a régebbi technológiákkal kifejlesztett processzorok gyenge teljesítményt nyújtottak olyan esetekben, amikor több egyidejű folyamatot kellett egyszerre feldolgozni.

Természetesen a probléma megoldása érdekében egyszerre több processzort is beépíthet a rendszerbe, vagy olyan processzorokat, amelyek több fizikai számítási magot használnak. De egy ilyen fejlesztés költségesnek, technikailag bonyolultnak és gyakorlati szempontból nem mindig hatékonynak bizonyul.

Fejlődéstörténet

Ezért egy olyan technológia létrehozása mellett döntöttek, amely lehetővé teszi több folyamat feldolgozását egy fizikai magon. Ugyanakkor a programok esetében a dolog külsőleg úgy fog kinézni, mintha egyszerre több processzormag lenne a rendszerben.

A Hyper Threading technológia támogatása először 2002-ben jelent meg a processzorokban. Ezek a Pentium 4 család processzorai és a 2 GHz feletti órajelű Xeon szerverprocesszorok voltak. Kezdetben a technológia a Jackson kódnevet kapta, de aztán a neve Hyper Threading-re változott, ami érthetőbb a nagyközönség számára – ami nagyjából „superthreading”-nek fordítható.

Ugyanakkor az Intel szerint a Hyper Threadinget támogató processzorlapka felülete az előző, azt nem támogató modellhez képest mindössze 5%-kal nőtt, miközben a teljesítmény átlagosan 20%-kal nőtt.

Annak ellenére, hogy a technológia egésze jól bevált, ennek ellenére több okból az Intel úgy döntött, hogy letiltja a Hyper Threading technológiát a Pentium 4-et felváltó Core 2 család processzoraiban. A Hyper Threading azonban később újra megjelent. a Sandy Bridge, Ivy Bridge és Haswell processzorarchitektúrájában, bennük lényegesen újratervezve.

A technológia lényege

A Hyper Threading megértése azért fontos, mert ez az egyik kulcsfunkciók Intel processzorokban.

A processzorok által elért összes siker ellenére van egy jelentős hátrányuk - egyszerre csak egy utasítást tudnak végrehajtani. Tegyük fel, hogy egyszerre futnak az alkalmazások, mint pl szöveg szerkesztő, böngésző és Skype. Ezt a szoftverkörnyezetet a felhasználó szempontjából nevezhetjük multitaskingnak, a processzor szempontjából azonban ez korántsem így van. A processzormag egy bizonyos ideig továbbra is végrehajt egy utasítást. Ebben az esetben a processzor feladata a processzor idő erőforrásainak elosztása között egyedi alkalmazások. Mivel az utasítások szekvenciális végrehajtása rendkívül gyors, ezt nem veszi észre. És önnek úgy tűnik, hogy nincs késés.

De még mindig van késés. A késleltetés annak köszönhető, hogy a processzort az egyes programokból származó adatokkal látják el. Minden adatfolyamnak meghatározott időpontban kell megérkeznie, és a processzornak külön-külön kell feldolgoznia. A Hyper Threading technológia lehetővé teszi, hogy minden processzormag ütemezze az adatfeldolgozást és egyidejűleg allokáljon erőforrásokat két szál számára.

Meg kell jegyezni, hogy a modern processzorok magjában egyszerre több úgynevezett végrehajtó egység található, amelyek mindegyike egy adott művelet végrehajtására szolgál az adatokon. Ugyanakkor egyes végrehajtó eszközök tétlenek lehetnek az egyik szálból származó adatok feldolgozása során.

Ennek a helyzetnek a megértéséhez analógiát vonhatunk az összeszerelő műhelyben a szállítószalagon dolgozó és különböző típusú alkatrészeket feldolgozó dolgozókkal. Minden dolgozó fel van szerelve egy speciális eszközzel, amelyet egy feladat elvégzésére terveztek. Ha azonban az alkatrészek rossz sorrendben érkeznek, akkor késések vannak - mert a dolgozók egy része kivárja a sorát a munka megkezdéséhez. A Hyper Threading egy kiegészítő szállítószalaghoz hasonlítható, amelyet az üzletben fektettek le, hogy a korábban tétlenül dolgozó dolgozók másoktól függetlenül végezzék feladataikat. Az üzlet továbbra is egyedül van, de az alkatrészek feldolgozása gyorsabban és hatékonyabban történik, így csökken az állásidő. Így a Hyper Threading lehetővé tette a processzor azon végrehajtó eszközeinek bevonását a munkába, amelyek tétlenek voltak, miközben egy szálból hajtották végre az utasításokat.

Amint bekapcsol egy kétmagos processzorral rendelkező számítógépet, amely támogatja a Hyper Threading funkciót, és megnyitja a Windows Feladatkezelőt (Task Manager) a Teljesítmény (Teljesítmény) lapon, négy grafikont fog találni benne. De ez nem jelenti azt, hogy valójában 4 processzormagod van.

Ennek az az oka, hogy a Windows úgy gondolja, hogy minden magnak két logikai processzora van. A "logikai processzor" kifejezés viccesen hangzik, de olyan processzort jelent, amely fizikailag nem létezik. A Windows képes adatfolyamokat küldeni minden egyes logikai processzornak, de valójában csak egy mag végzi a munkát. Ezért a Hyper Threading technológiával ellátott egyetlen mag jelentősen eltér a különálló fizikai magoktól.

A Hyper Threading technológia a következő hardverek és szoftverek támogatását igényli:

  • processzor
  • alaplapi lapkakészlet
  • Operációs rendszer

Technológiai előnyök

Most fontolja meg a következő kérdést: mennyivel növeli a Hyper Threading technológia a számítógép teljesítményét? A mindennapi feladatokban, mint például az internetes böngészés és a gépelés, a technológia előnyei nem annyira nyilvánvalóak. Ne feledje azonban, hogy a mai processzorok olyan erősek, hogy a napi feladatok ritkán használják ki teljes kapacitásukat. Ráadásul sok múlik azon, hogy hogyan írják szoftver. Egyszerre több program is futhat, azonban a terhelési grafikonon látni fogjuk, hogy magonként csak egy logikai processzort használunk. Ennek az az oka, hogy a szoftver nem támogatja a folyamatok elosztását a magok között.

Az összetettebb feladatoknál azonban a Hyper Threading hasznosabb lehet. Az olyan alkalmazások, mint a 3D modellező programok, 3D játékok, zene- vagy videókódoló/dekódoló programok, valamint számos tudományos alkalmazás úgy készült, hogy a legtöbbet kihozzák a többszálú használatból. Ezért összetett játékok, zenehallgatás vagy filmnézés közben is megtapasztalhatja a hiperszálas számítógép teljesítményének előnyeit. Ez akár 30%-kal is növelheti a teljesítményt, bár előfordulhatnak olyan helyzetek, amikor a Hyper Threading egyáltalán nem nyújt előnyt. Néha, abban az esetben, ha mindkét szál ugyanazokkal a feladatokkal tölti be a processzor összes végrehajtó eszközét, előfordulhat, hogy a teljesítmény romlik.

Visszatérve a BIOS Setupban a megfelelő opció jelenlétére, amely lehetővé teszi a Hyper Threading paraméterek beállítását, a legtöbb esetben ajánlott engedélyezni ezt a funkciót. Azonban bármikor kikapcsolhatja, ha kiderül, hogy a számítógép hibásan működik, vagy akár a vártnál kisebb teljesítményt nyújt.

Következtetés

Mivel a maximális teljesítménynövekedés a Hyper Threading használatakor 30%, nem mondható, hogy a technológia megfelelne a processzormagok számának megduplázásának. Ennek ellenére a Hyper Threading hasznos lehetőség, és Ön, mint a számítógép tulajdonosa, nem fog beleavatkozni. Előnye különösen akkor szembetűnő, ha például multimédiás fájlokat szerkeszt, vagy számítógépét munkaállomásként használja olyan professzionális programok számára, mint a Photoshop vagy a Maya.

Volt idő, amikor a memória teljesítményét a Hyper-threading technológia összefüggésében kellett értékelni. Arra a következtetésre jutottunk, hogy hatása nem mindig pozitív. Amikor rengeteg volt a szabadidő, megvolt a vágy, hogy folytassuk a kutatást, és a folyamatban lévő folyamatokat gépi ciklusok és bitek pontossággal, saját tervezésű szoftverek segítségével mérlegeljük.

Kutatott platform

A kísérletek tárgya - ASUS laptop N750JK Intel Core i7-4700HQ processzorral. Az órajel 2,4 GHz, amit az Intel Turbo Boost mód 3,4 GHz-ig növel. 16 gigabájt telepítve véletlen hozzáférésű memória DDR3-1600 (PC3-12800) kétcsatornás módban működik. Operációs rendszer - Microsoft Windows 8.1 64 bites.

1. ábra A vizsgált platform konfigurációja.

A vizsgált platform processzora 4 magot tartalmaz, amely a Hyper-Threading technológia engedélyezése esetén 8 szálhoz vagy logikai processzorokhoz nyújt hardveres támogatást. A platform firmware ezt az információt a MADT (Multiple APIC Description Table) ACPI táblán keresztül továbbítja az operációs rendszernek. Mivel a platform csak egy RAM-vezérlőt tartalmaz, nincs SRAT (System Resource Affinity Table), amely deklarálja a processzormagok és a memóriavezérlők közelségét. Nyilván a kérdéses laptop nem NUMA platform, hanem operációs rendszer, az egységesítés szempontjából egy tartományú NUMA rendszernek tekinti, amit a NUMA Nodes = 1 sor jelzi. Kísérleteink szempontjából alapvető tény, hogy az első szintű adatgyorsítótár mérete 32 kilobájt mind a négy mag. Két ugyanazon a magon osztozó logikai processzor osztozik az L1 és L2 gyorsítótáron.

Vizsgált működés

Megvizsgáljuk az adatblokk olvasási sebességének a méretétől való függését. Ehhez a legproduktívabb módszert választjuk, nevezetesen a 256 bites operandusok beolvasását a VMOVAPD AVX utasítás segítségével. A diagramokon az X-tengely a blokkméretet, az Y-tengely pedig az olvasási sebességet mutatja. Az L1 gyorsítótár méretének megfelelő X pont közelében inflexiós pontra számítunk, mivel a teljesítménynek csökkennie kell, miután a feldolgozás alatt álló blokk kikerül a gyorsítótárból. Tesztünkben többszálú feldolgozás esetén a 16 kezdeményezett szál mindegyike külön címtartománnyal működik. A Hyper-Threading technológia alkalmazáson belüli vezérléséhez minden szál a SetThreadAffinityMask API függvényt használja, amely beállít egy maszkot, amelyben minden logikai processzor egy bitnek felel meg. A bit egyetlen értéke lehetővé teszi a megadott processzor használatát a megadott szálon, a nulla érték tiltja. A vizsgált platform 8 logikai processzoránál a 11111111b maszk lehetővé teszi az összes processzor használatát (Hyper-Threading engedélyezve), a 01010101b maszk pedig egy logikai processzor használatát teszi lehetővé minden magban (Hyper-Threading letiltva).

A grafikonokon a következő rövidítéseket használjuk:

MBPS (megabájt per másodperc)blokk olvasási sebessége megabájt per másodpercben;

CPI (Óraszám utasításonként)ciklusok száma utasításonként;

TSC (Time Stamp Counter)processzor ciklusszámláló.

Megjegyzés: Előfordulhat, hogy a TSC-regiszter órajele nem egyezik a processzor órajelével, ha Turbo Boost módban fut. Ezt figyelembe kell venni az eredmények értelmezésekor.

A grafikonok jobb oldalán az egyes programszálakban végrehajtott célművelet ciklusának törzsét alkotó utasítások hexadecimális kiíratása, vagy a kód első 128 bájtja látható.

1. számú tapasztalat. Egy szál



2. ábra Olvasás egy szálban

A maximális sebesség 213563 megabájt másodpercenként. Az inflexiós pont körülbelül 32 kilobájt blokkméretnél fordul elő.

2. számú tapasztalat. 16 szál 4 processzoron, a Hyper-Threading letiltva



3. ábra Tizenhat szálban olvasni. A felhasznált logikai processzorok száma négy

A hiperszál le van tiltva. A maximális sebesség 797598 megabájt másodpercenként. Az inflexiós pont körülbelül 32 kilobájt blokkméretnél fordul elő. Ahogy az várható volt, az egyszálas olvasáshoz képest a sebesség körülbelül 4-szeresére nőtt, a működő magok számát tekintve.

3. számú tapasztalat. 16 szál 8 processzoron, a Hyper-Threading engedélyezve



4. ábra Tizenhat szálban olvasni. A felhasznált logikai processzorok száma nyolc

Hyper-threading engedélyezve. A 800 722 megabájt másodpercenkénti maximális sebesség a Hyper-Threading beépítésének eredményeként szinte nem nőtt. A nagy mínusz az, hogy az inflexiós pont körülbelül 16 kilobájt blokkméretnél fordul elő. A Hyper-Threading engedélyezése némileg növelte a maximális sebességet, de a sebességcsökkenés most a blokkméret felénél – körülbelül 16 kilobájtnál – következik be, tehát az átlagsebesség jelentősen csökkent. Ez nem meglepő, minden magnak saját L1 gyorsítótára van, míg az ugyanabban a magban lévő logikai processzorok megosztják azt.

következtetéseket

A vizsgált működés elég jól skálázható többmagos processzoron. Ennek oka az, hogy mindegyik mag tartalmaz egy saját gyorsítótárat az első és a második szinten, a célblokk mérete összemérhető a cache memória méretével, és mindegyik szál saját címtartományával működik. Akadémiai célokra ilyen feltételeket teremtettünk egy szintetikus tesztben, felismerve, hogy a valódi alkalmazások általában távol állnak az ideális optimalizálástól. De a Hyper-Threading bevonása még ilyen körülmények között is negatív hatással volt, a csúcssebesség enyhe növekedésével jelentős veszteség van a blokkok feldolgozási sebességében, amelyek mérete 16 és 32 között van. kilobájt.

Sziasztok számítógép és hardver szerelmesei!

Szeretne egy nagy teljesítményű processzort a számítógépébe, amely villámgyorsan tud egyszerre sok feladatot végrehajtani? Ki utasítaná el, igaz? Akkor azt javaslom, hogy ismerkedjen meg a hiperszálfűzési technológiával: mi ez és hogyan működik, ebből a cikkből megtudhatja.


A fogalom magyarázata

A hyperthreading angol fordítása "hiperpontosság". A technológia okkal kapott ekkora nevet. Végül is az operációs rendszer egy fizikai processzort vesz igénybe, amely két logikai maghoz van felszerelve. Következésképpen több parancsot dolgoznak fel, és a teljesítmény nem csökken.

Hogyan lehetséges ez? Annak a ténynek köszönhetően, hogy a processzor:

  • Egyszerre több futó szálról menti az információkat;
  • Minden logikai processzorhoz van egy regiszterkészlet - gyors belső memória blokkok, valamint egy megszakítási blokk. Ez utóbbi felelős a különböző eszközökről érkező kérések egymás utáni végrehajtásáért.

Hogy néz ki a valóságban? Tegyük fel, hogy most a fizikai processzor az első logikai processzor parancsait dolgozza fel. De az utóbbiban volt valami hiba, és például várnia kell az adatokra a memóriából. A fizikai nem vesztegeti az időt, és azonnal átvált a második logikai processzorra.

A teljesítmény javításáról

A fizikai processzor hatékonysága általában nem haladja meg a 70% -ot. Miért? Gyakran előfordul, hogy néhány blokkra egyszerűen nincs szükség egy adott feladat elvégzéséhez. Például amikor a CPU triviális számítási műveleteket hajt végre, az utasításblokk és a SIMD kiterjesztés nem vesz részt. Előfordulhat, hogy hiba történik az elágazás előrejelző moduljában vagy a gyorsítótár elérésekor.

Ilyen helyzetekben a Hyper-threading más feladatokkal pótolja a "hézagokat". A technológia hatékonysága tehát abban rejlik, hogy a hasznos munka nem tétlen, és az üresjáratú készülékekre adatik.

Megjelenés és megvalósítás

Feltételezhetjük, hogy a Hyper-threading már a 15. évfordulóját ünnepelte. Hiszen a 2002-ben megjelent szuperszálas technológia alapján fejlesztették ki, és először Xeon termékekben kezdett dolgozni, majd még ugyanebben az évben beépült a Pentium 4-be. Ezen technológiák szerzői joga az Intelt illeti.

A HT a NetBurst mikroarchitektúrán futó processzorokban valósul meg, amelyet magas órajel jellemez. A technológiai támogatás a Core vPro, M és Xeon családok modelljeiben valósul meg. A Core 2 ("Duo", "Quad") sorozatban azonban nincs integrálva. Az Atom és az Itanium folyamatokban működési elvben hasonló technológiát valósítanak meg.

Hogyan lehet engedélyezni? Nemcsak a fenti processzorok egyikével kell rendelkeznie, hanem a technológiát támogató operációs rendszerrel és a HT be- és kikapcsolására alkalmas BIOS-szal is. Ha nem, frissítse a BIOS-t.

A Hyperthreading előnyei és hátrányai

A fenti információkból már levonhat egy következtetést a technológia egyes előnyeiről. Még néhány szót fűzök hozzájuk:

  • Több program párhuzamos, stabil működése;
  • Csökkentett válaszidő internetezéskor vagy alkalmazások használatakor.

Amint érti, nem volt légy nélkül. Előfordulhat, hogy a következő okok miatt nincs teljesítménynövekedés:

  • Nincs elég gyorsítótár. Például a 4 magos i7 processzorokban a gyorsítótár 8 MB, de ugyanennyi logikai mag van. Magonként mindössze 1 MB-ot kapunk, ami a legtöbb program számára nem elegendő a számítási feladatok elvégzéséhez. Emiatt a teljesítmény nem csak áll, de még vissza is esik.

  • Adatfüggőség. Tegyük fel, hogy az első szál azonnal információt kér a másodiktól, de az még nincs készen, vagy egy másik szálhoz áll sorban. Az is előfordul, hogy a ciklikus adatoknak bizonyos blokkokra van szükségük egy feladat gyors elvégzéséhez, de már más munkával vannak elfoglalva.
  • Kernel túlterhelés. Előfordulhat, hogy a kernel már túlterhelt, de ennek ellenére a predikciós modul továbbra is küld neki adatokat, aminek következtében a számítógép lassulni kezd.

Hol van szükség hiperszálra?

A technológia erőforrás-igényes programok használatakor lesz hasznos: hang-, videó- ​​és fotószerkesztők, játékok, archiválók. Ide tartozik a Photoshop, a Maya, a 3D's Max, a Corel Draw, a WinRar stb.

Fontos, hogy a szoftver Hyper-threading-re legyen optimalizálva. Ellenkező esetben késések léphetnek fel. Az tény, hogy a programok a logikai magokat fizikainak tekintik, így ugyanahhoz a blokkhoz különböző feladatokat küldhetnek.

Várlak szeretettel a blogomon.

Azok a felhasználók, akik legalább egyszer konfigurálták a BIOS-t, valószínűleg már észrevették, hogy van egy sokak számára érthetetlen Intel Hyper Threading paraméter. Sokan nem tudják, mi ez a technológia és milyen célra használják. Próbáljuk kitalálni, mi az a Hyper Threading, és hogyan engedélyezheti ennek a támogatásnak a használatát. Azt is megpróbáljuk kitalálni, hogy milyen előnyökkel jár a számítógép számára. ezt a beállítást. Elvileg nincs itt semmi nehéz megérteni.

Intel Hyper Threading: mi ez?
Ha nem megy mélyre a számítógépes terminológia dzsungelébe, de egyszerűen fogalmazva, akkor ezt a technológiát azért fejlesztették ki, hogy növelje a központi processzor által egyidejűleg feldolgozott parancsok áramlását. A modern processzorchipek általában csak a rendelkezésre álló számítási képességek 70%-át használják ki. A többi úgymond tartalékban marad. Ami az adatfolyam feldolgozását illeti, a legtöbb esetben csak egy szálat használnak, annak ellenére, hogy a rendszer többmagos processzort használ.

A munka alapelvei
A központi processzor képességeinek növelése érdekében fejlesztették ki speciális technológia hyperthreading. Ez a technológia megkönnyíti egy parancsfolyam kettéosztását. Lehetőség van egy második adatfolyam hozzáadására is egy meglévőhöz. Csak egy ilyen adatfolyam virtuális és nem működik fizikai szinten. Ez a megközelítés lehetővé teszi a processzor teljesítményének jelentős növelését. Ennek megfelelően az egész rendszer gyorsabban kezd működni. A CPU teljesítményének növekedése nagyon ingadozhat. Erről külön lesz szó. Maguk a Hyper Threading technológia fejlesztői azonban azt állítják, hogy az elmarad egy teljes értékű magtól. Bizonyos esetekben ennek a technológiának a használata teljes mértékben indokolt. Ha ismeri a Hyper Threading processzorok lényegét, akkor az eredmény nem fog sokáig várni.

Történeti hivatkozás
Merüljünk el egy kicsit ennek a fejlődésnek a történetében. A Hyper Threading támogatása először csak az Intel Pentium 4 processzorokban jelent meg, majd az Intel Core iX sorozatban (az X itt a processzorsorozatot jelöli) folytatódott a technológia megvalósítása. Meg kell jegyezni, hogy valamilyen oknál fogva hiányzik a Core 2 processzorchipek sorából. Igaz, akkor a termelékenység növekedése meglehetősen gyenge volt: valahol 15-20% körül volt. Ez azt jelezte, hogy a processzor nem rendelkezik a szükséges feldolgozási teljesítménnyel, és a megalkotott technológia gyakorlatilag megelőzte korát. Ma már szinte minden modern chipben elérhető a Hyper Threading technológia támogatása. A központi processzor teljesítményének növelése érdekében maga a folyamat csak a kristályfelület 5%-át használja fel, miközben teret hagy a parancsok és adatok feldolgozására.

Konfliktusok és teljesítmény kérdése
Mindez természetesen jó, de bizonyos esetekben az adatok feldolgozása során lassulhat a munka. Ez leginkább az úgynevezett elágazás-előrejelző modulnak és az állandó újratöltéskor elégtelen gyorsítótár-méretnek köszönhető. Ha a fő modulról beszélünk, akkor ebben az esetben az a helyzet, hogy bizonyos esetekben az első szál a másodiktól kérhet olyan adatokat, amelyek abban a pillanatban nem dolgoznak fel, vagy feldolgozási sorban állnak. Ezenkívül nem kevésbé gyakoriak azok a helyzetek, amikor a CPU magja nagyon komoly terhelést szenved, és a fő modul ennek ellenére továbbra is adatokat küld neki. Egyes programok és alkalmazások, például az erőforrás-igényes online játékok, komolyan lelassulhatnak, csak azért, mert nincs optimalizálva a Hyper Threading technológia használatához. Mi történik a játékokkal? A felhasználó számítógépes rendszere a maga részéről igyekszik optimalizálni az adatáramlást az alkalmazástól a szerverig. A probléma az, hogy a játék nem tudja, hogyan kell önállóan elosztani az adatfolyamokat, és mindent egy kupacba dob. Általánosságban elmondható, hogy egyszerűen nem erre tervezték. Néha a kétmagos processzorokban a teljesítménynövekedés lényegesen magasabb, mint a 4 magos processzorokban. Egyszerűen nincs feldolgozási teljesítményük.

Hogyan lehet engedélyezni a Hyper Threading-et a BIOS-ban?
Kicsit kitaláltuk már, hogy mi is az a Hyper Threading technológia, és megismerkedtünk fejlődésének történetével. Közelebb kerültünk a Hyper Threading technológia megértéséhez. Hogyan lehet aktiválni ezt a technológiát a processzorban való használatra? Itt minden nagyon egyszerűen történik. Használnia kell a BIOS felügyeleti alrendszerét. Az alrendszerbe a Del, F1, F2, F3, F8, F12, F2+Del stb. billentyűkkel lehet belépni. Ha Sony Vaio laptopot használ, akkor annak meghatározott bemenete van a dedikált ASSIST gomb használatakor. A BIOS-beállításokban, ha a használt processzor támogatja a Hyper Threading technológiát, egy speciális beállítási sornak kell lennie. A legtöbb esetben úgy néz ki, mint Hyper Threading Technology, és néha úgy néz ki, mint a Function. Attól függően, hogy az alrendszer fejlesztője és BIOS verziók, ennek a paraméternek a beállítása a főmenüben vagy a speciális beállításokban is megtalálható. A technológia engedélyezéséhez be kell lépnie a beállítások menübe, és be kell állítania az értéket Enabled értékre. Ezt követően el kell mentenie a változtatásokat, és újra kell indítania a rendszert.

Miért hasznos a Hyper Threading?
Befejezésül szeretnék beszélni a Hyper Threading technológia használatának előnyeiről. Minek ez az egész? Miért szükséges a processzor teljesítményének növelése az információfeldolgozás során? Azoknak a felhasználóknak, akik erőforrás-igényes alkalmazásokkal és programokkal dolgoznak, nem kell semmit magyarázniuk. Valószínűleg sokan tudják, hogy a grafikai, matematikai, tervező szoftvercsomagok sok rendszererőforrást igényelnek a munka során. Emiatt az egész rendszer annyira le van terhelve, hogy rettenetesen lassulni kezd. Ennek elkerülése érdekében ajánlott engedélyezni a Hyper Threading támogatást.