Hyper-Threading technológia az Intel
A múltban, beszélgettünk egyidejű többszálas technika (párhuzamos többszálú - SMT), amely a használt Intel processzorok. Bár kezdetben jött létre fedőnéven „Jackson Technology” (Jackson Technology), amely lehetővé, valószínű változat szerint az Intel hivatalosan is bemutatta a technológia IDF tavaly ősszel. Kód Jackson nevét váltotta megfelelőbb Hyper-Threading. Tehát, ahhoz, hogy megértsük, hogy az új technológia, szükségünk van néhány alapvető ismereteket. Nevezetesen, tudnunk kell, hogy mi az áramlás, hogy ezek a hullámok. Miért működik? A processzor tudja, hogy melyik művelet és milyen adatokat kellene tennie? Minden ilyen információ megtalálható a lefordított kódban futó alkalmazás. És amint a kérelem érkezik a felhasználó olyan parancs, bármilyen adatot - processzor azonnal küldött folyni, azzal az eredménnyel, hogy ő nem, mit kell tenni, válaszul a felhasználó kérésére. Ami a processzor, az áramlás - egy sor utasítást, hogy meg kell követni. Ha shell esik Quake III Arena, vagy ha megnyit egy Microsoft Word dokumentumot, a processzor küld egy konkrét utasításokat, hogy azt végre.
Van egy jól ismert módon oldja meg ezt a problémát. Ez abban áll, két processzor - ha egy processzor egy időben tudja látni egy áramlás, a két processzor számára időben egység már hordozhat két folyamban továbbítjuk. Megjegyzendő, hogy ez a módszer nem tökéletes. Ha felvet egy csomó más probléma. Bizonyos, akkor valószínűleg már ismerik. Először is, a több processzor mindig drágább, mint egy. Másodszor, hogy ellenőrizzék a két processzor szintén nem olyan könnyű. Továbbá ne feledkezzünk meg a szétválás a források között a feldolgozók. Például eljövetele előtt AMD 760MP chipset, minden x86 platformokon többprocesszoros támogatást megosztja a sávszélességet a rendszer busz között a feldolgozóknak. De a fő hátránya a másik - a munka és az alkalmazás és az operációs rendszernek támogatnia kell többprocesszoros. Az a képesség, hogy osztja a végrehajtása több szálat a számítógép erőforrásait gyakran nevezik multi-threading. Ugyanakkor, az operációs rendszernek támogatnia kell a multi-threading. Pályázatot is támogatja a multi-threading, hogy maximálisan kihasználják a számítógép erőforrásait. Tartsa ezt szem előtt, ha figyelembe vesszük a másik megközelítés a problémák megoldása a multi-threading, új Hyper-Threading technológia az Intel.
Teljesítmény sosem elég
A hatékonyság mindig sokat beszélnek. És nem csak a vállalati környezetben, néhány komoly projektek, hanem a mindennapi életben. Azt mondja, a homo sapiens csak részben merül fel az agyában. Ugyanez vonatkozik a feldolgozók a modern számítógépek.
Jellemző a helyzetre, képzeljük el a processzor három hengerek: aritmetikai logikai (integer - ALU), egy eszköz a lebegőpontos (az FPU), és az eszköz terhelési / store (az írás és olvasás az adatokat a memória). Sőt, azt feltételezzük, hogy a processzor műveleteket hajt végre egy órajel ciklus és terjeszthető ügyletek mindhárom eszköz egyszerre. Képzeljük el, hogy ez a processzor, hogy végre a gőzára a következő utasításokat:
1 + 1
10 + 1
Mentsd meg a korábbi eredményt
Az alábbi ábra a szintje a torlódás beavatkozószervek (szürke jelöljük dugó aktiváiatlan készülék kék - működő eszköz):
Tehát láthatjuk, hogy minden ciklusban csak 33% -a az összes hajtóművek. Ezúttal a FPU általánosságban továbbra is kihasználatlan. Összhangban az Intel adatok a legtöbb program az IA-32 x86 használatra nem több, mint 35% hajtóművek Pentium 4 processzor.
Képzeld másik patak, küldje el a processzor teljesítményét. Ebben az időben, akkor adatokból állnak rakodás, kívül és tárolása. Ők fogják elvégezni a következő sorrendben:
Ismét terhelés állítóművek csak 33%.
Egy jó hozammal ez lenne a helyzet utasításszintû párhuzamosság (Instruction Level párhuzamosság - ILP). Ebben az esetben végre egyszerre több utasítást, mert a processzor lehet tölteni több párhuzamos hajtóművek. Sajnos, a legtöbb x86 programok nem igazodik a ILP a megfelelő mértékű. Ezért szükséges, hogy más módon növelni a termelékenységet. Például, ha a rendszer azonnal felhasználunk két processzort, lehetett egyszerre végrehajtani két szál egyszerre. Ez a megoldás az úgynevezett szál-szintű párhuzamosságot (menet-szintű párhuzamosság, TLP). By the way, ez a megoldás meglehetősen drága.
Mi a legjobb módja, hogy növelje a végrehajtó hatalmat a modern processzorok x86 architektúra?
Hyper-Threading
hiányos alkalmazása meghajtások a probléma több okra vezethető vissza. Általánosságban elmondható, hogy ha a processzor nem tud adatokat fogadni a kívánt sebességgel (ez annak köszönhető, hogy nem elegendő kapacitása a rendszerbusz és memória busz), a működtető fogják használni nem olyan hatékony. Ezen kívül van egy másik oka - a hiánya párhuzamosság a használati szint a legtöbb parancs folyik.
Jelenleg a legtöbb gyártó, hogy javítsa a processzor sebességét növeli az órajelet és a cache méretét. Természetesen ez így lehet növelni a termelékenységet, hanem a potenciális a processzor nem használják fel teljes mértékben. Ha tudnánk egyszerre fut több szálon, akkor tudnánk használni a processzor sokkal hatékonyabban. Hogy ez a lényege a Hyper-Threading technológiát.
Hyper-Threading - ez a neve a technológia előtti x86 világban, szimultán multi-threading technológiát (párhuzamos többszálú, SMT). Az ötlet mögött ez a technológia egyszerű. Egy fizikai processzor úgy tűnik, hogy az operációs rendszer két logikai processzort, és az operációs rendszer nem látja a különbséget egy SMT processzor vagy két hagyományos processzorok. Mindkét esetben az operációs rendszer irányítja az áramlás mind a kétprocesszoros rendszer. Továbbá az összes problémák megoldódnak hardver szintű.
A processzor a Hyper-Threading egyes logikai processzor saját nyilvántartás set (beleértve egy külön program számláló), és így nem bonyolítja a technológia, ez nem valósítható meg egyszerre végrehajtani utasításlehívó / dekódolni két folyamban. Azaz az ilyen utasítások végrehajtásra egyesével. Ezzel párhuzamosan, a csapat végzett egy rutin.
A technológia még nem megjelent, de azoknak, akik vásároltak a 0,13 mikronos Xeon, és állítsa be a processzor kártyát a frissített BIOS-t, lehetett kivédeni, hogy a BIOS beállítás engedélyezése / tiltása a Hyper-Threading.
Időközben az Intel fogja hagyni a Hyper-Threading opció alapértelmezésben le van tiltva. Azonban egyszerűen el lehet fordítani a BIOS frissítése. Mindez vonatkozik a munkaállomások és szerverek, a személyi számítógép piac a közeljövőben tervezi a cég számára ez a technológia nem áll rendelkezésre. Bár lehetséges, az alaplap gyártók lehetőséget nyújt, hogy tartalmazza a Hyper-Threading egy speciális BIOS.
Továbbra is egy nagyon érdekes kérdés, hogy miért az Intel akarja hagyni ezt az opciót ki van kapcsolva?
Mi ásni a technológia
Emlékszel azokra a két folyam az előző példák? Legyen ez alkalommal, azt feltételezik, hogy a processzor van szerelve Hyper-Threading. Lássuk, mi történik, ha megpróbáljuk elvégezni ezt a két szál:
Mint korábban, a kék téglalapok jelzik a teljesítmény az első adatfolyam utasításokat, és zöld - a végrehajtás a második utasítás áramot. Gray-box nem használt hajtóművek, és piros - a konfliktus, amikor egy készülék ez csak két különböző utasításokat a különböző szálak.
Szóval, mit látunk? Menet szintű párhuzamosságot nem sikerült - hajtóművek kezdték használni még kevésbé hatékonyan. Ahelyett, hogy a párhuzamos végrehajtás szálak, a processzor végrehajtja azokat lassabb, mint ha ő végzett ki őket anélkül, Hyper-Threading. Az ok igen egyszerű. Próbáltuk tartalmát egyszerre csak két nagyon hasonló áramlását. Végtére is, mindketten állnak műveleteinek terhelés / áruház és működését felül. Ha párhuzamosan futott „integer” alkalmazására és az alkalmazás fut egy lebegőpontos, mi lenne valahol a legjobb helyzetben. Mint látható, a Hyper-Threading hatékonyság erősen függ a terhelés típusától függ a PC-n.
Jelenleg a legtöbb PC-felhasználó használja a számítógépet, mint ez, ahogy ebben a példában. A processzor hajtja végre sok műveletet nagyon hasonló. Sajnos, amikor a ügyletcsoportra, vannak további problémák kezelésével. Vannak olyan helyzetek, amikor meg kell beírni hajtóművek már nem létezik, és a szabályozás sajnos kétszer több, mint máskor. A legtöbb esetben, ha a hazai számítógép-processzorok a Hyper-Threading technológiát, a teljesítmény ez nem növeli, és akár meg is csökkent 0-10%.
Ugyanakkor állomások működő képességek javítása érdekében a Hyper-Threading tovább. De másfelől, minden attól függ, az egyedi használata esetén a számítógép. A munkaállomás jelentheti egyaránt high-end számítógépes feldolgozására 3D grafika, és a terhelt számítógépet.
A legnagyobb lökést a teljesítmény a használata Hyper-Threading megfigyelt kiszolgáló alkalmazások. Főként ez annak köszönhető, hogy a legkülönbözőbb tranzakciók által küldött processzor. Az adatbázis szerver a tranzakció működhet 20-30% -kal gyorsabb a Hyper-Threading kompatibilis lehetőségeket. A valamivel kisebb teljesítmény-növekedést jelentkezik webszerverek és más területeken.
Maximális hatékonyság a Hyper-Threading
Azt hiszem, az Intel kifejlesztett Hyper-Threading csak a vonal szerver processzorok? Természetesen nem. Ha ez így lenne, akkor nem kell a hulladék hely a többi chip processzorok. Tény, hogy a NetBurst építészet, használt Pentium 4 és Xeon, tökéletesen alkalmas a kernel támogatja a szimultán többszálú. Nézzük újra elképzelni egy processzort. Ezúttal ez lesz a másik hajtómű - a második egész egységet. Lássuk, mi történik, ha a hullámok fogja elvégezni mindkét eszköz:
A készülék használata a második egész szám, az egyetlen konfliktus történt csak az utolsó művelet. Az elméleti processzor valami hasonló a Pentium 4. Ez annyi, mint három egész egység (ALU két lassú és egy egész egység ciklikus eltolás). És ami még fontosabb, mind egész számra Pentium 4 működhet dupla sebességgel - végre két mikro-ops per órát. Ez viszont azt jelenti, hogy ezek közül bármelyik két egész Pentium 4 / Xeon eszközök elláthatja a két művelet a felül a különböző jelfolyamokat egyetlen ciklusban.
De ez nem oldja meg a problémát. Érdemes lenne sok értelme, hogy egyszerűen hozzá a processzor további végrehajtási egységek a termelékenység növelése érdekében a használata Hyper-Threading. Ami a megszállt területen szilícium ez rendkívül drága. Ehelyett, az Intel meghívott fejlesztők számára, hogy optimalizálják programok Hyper-Threading.
Segítségével HALT utasítás, akkor felfüggeszti a működését az egyik logikai processzor, és ezáltal növeli a teljesítményt alkalmazások, amelyek nem részesülnek a Hyper-Threading. Így az alkalmazás nem lassítja, hanem az egyik logikai processzor leáll, és a rendszer működni fog egy logikai processzor - teljesítmény ugyanaz lesz, mint az egyprocesszoros számítógépeken. Aztán, amikor az alkalmazás úgy véli, hogy ez előnyére válik a teljesítménye a második logikai processzort egyszerűen folytassa a munkát a Hyper-Threading.
Intel honlapon található egy bemutatót. leírja, hogy hogyan kell programozni, hogy tanuljunk a Hyper-Threading maximális előnyöket.
Bár nagyon elégedettek voltunk, amikor hallottuk a pletykákat a Hyper-Threading a magok az összes jelenlegi Pentium 4 / Xeon, de ez nem lesz egy szabad teljesítmény minden alkalomra. Az okok világosak, és a technológia legyőzni sokkal, mielőtt látjuk a Hyper-Threading működik minden platformon, beleértve az otthoni számítógépek. És a támogatást a fejlesztők, a technológia is határozottan jó szövetséges a Pentium 4, Xeon, és a jövő generáció processzorok az Intel.
A jelenleg hatályos korlátozások és a meglévő csomagolástechnika, Hyper-Threading tűnik sokkal ésszerűbb választás a fogyasztói piacon, mint például az AMD megközelítés kalapáccsal - ilyen processzorok használják, mint két magot. És addig, amíg nem válik tökéletes csomagolási technológiák, mint például Bumpless lerakódását réteg. kutatási költségei többmagos processzor lehet túl magas.
Érdekes megjegyezni, hogy a különböző acél AMD és az Intel az elmúlt néhány évben. Elvégre, ha az AMD gyakorlatilag másolt Intel processzorok. Most, a cég kifejlesztett egy gyökeresen más megközelítést jövő processzorok szerverek és munkaállomások. AMD valóban tett egy nagyon hosszú út. És ha a Sledge Hammer processzorok fogja használni két mag, a teljesítménye egy ilyen megoldás hatékonyabb lenne, mint a Hyper-Threading. Sőt, ebben az esetben, amellett, hogy kétszer annyi működtető megszüntesse a problémát, amit a fent leírt.
Hyper-Threading egy ideig nem jelennek meg a piacon, a hagyományos PC, de jó támogatja a fejlesztők, akkor lesz a következő technológia, hogy csökkenni fog a szerver szinten a számítógép tétlen.
Hozzájárul ahhoz, hogy a személyes adatok feldolgozása