Módszerek egyre nagyobb számítási teljesítmény
Köszönjük a támogatást!
Az élettartam a számítógépek, kezdve több hozzátéve gépek, az alkotók mindig is szerettem volna, hogy gyorsítsa fel. Mi a módja kapnak, és ez kiderül? Persze, nincs fő módszer, hogy növeljék a számítási sebesség nem ugyanabban az időben használják szinte az összes eddig talált. Ezért van szükség a besorolás felosztás kvalitatív (intenzív) és mennyiségi (extenzív) gyorsulás. Szétválasztása nagyon hagyományos - nincs világos határvonal a módszerek egyre nagyobb termelékenységet, és azon belül ők is osztva különböző alosztályok. mert feldolgozásáért felelős egy vagy több központi processzorral (CPU), és a teljesítmény annak / azok fő jellemzője - a legtöbb módszer valahogy kapcsolódnak ezt a részét a rendszer. Mi forewarned, hogy egy processzor chip, megértjük a ház és a terminál behelyezett csatlakozó (aljzat).
Az első osztódás utal, hogy a processzorok számának: kvalitatív eljárások során gyorsulás a CPU változatlan annak / azok mennyiségét kvantitatív - kapacitása a CPU céljából összehajtogatott erőfeszítéseiket. Többprocesszoros architektúrák használják, amikor más módszerek már a helyükön vannak, és már nem hatékony, és kellő szaktudással mérnökök és a programozók a kiváló eredményeket (kivéve persze, a feladat párhuzamosított jó) - a teljes rendszer teljesítményét közel lineárisan nő a processzorok számának keresztül gondosan összehangolt szinkronizálása kölcsönhatások kiszámítja csomópontok. Az utóbbi a rangsorolást a világ leggyorsabb szuperszámítógépe Top500 szinte minden gép használja cluster architektúra koncepciója alapján a tömeges párhuzamosság (MPP, masszívan párhuzamos feldolgozás). Ezekben számítástechnikai szörnyet, hogy elfoglalják az egész szoba, több tucat munka egyidejűleg, és hamarosan, talán több százezer processzorok.
Azonban nem minden program, különösen a családon belüli speciális hangsúlyt, jól párhuzamosított be több patakok, kihasználva az összes rendelkezésre álló magot. Eddig sokan a játék (és a legnépszerűbb programok vannak a leginkább erőforrás-igényes) szinte felgyorsul a magok száma, mint kettő, nem is beszélve a lineáris teljesítmény-növekedést, amikor nagy számban. Annak érdekében, hogy a gyorsulás a mag önmagában szükségszerűen, különösen, ha ez az egyik. Ez a feladat a legnehezebb. Már az első számítógépes rendszer után azonnal elkezdte használni a különböző módon, amelyet a későbbiekben tovább - az út hosszú volt. És akkor megint meg kell osztani a mennyiségi és minőségi fejlesztése. Növelni mennyiségi otnesom CPU frekvencia, mint a fő számszerű jellemzői ( „vásárolt megahertz” Több 80), a minőséget - az elvégzett műveletek száma egy órajel ciklusra.
Járatsűrítések két módon érhető el. Fizikailag: csökkenti a tervezési szabályok, vagyis A minimális méretei és karmesterek tranzisztorok egy chip - rovására az utóbbi gyorsabb és kevesebb energiát fogyasztanak (ez a fő oka annak, hogy egy időben a világ elhagyott a TTL és ECL logikai családok javára CMOS - akiknek csökkent a mérete olyan kiváltságokkal nem skála volt). És az építészet: gyakoriságának növelése osztály mennyezet processzor külön lépésben, azaz Számítástechnikai szállítószalag. És ha már ott van - egy számának növekedése ezen szakaszában.
Vegyünk például egy kis gyár állítja elő néhány részlet. Míg ez 1 gép, a munkadarab 6 perc. Teljesítmény - 10 rész / óra. Azonban a folyamat lehet osztani 3 különálló gyengén kapcsolódó lépést végezhető egyszerre három részre - mindegyik a saját színpadon. Azt hogy három gép egy helyett: egymás felett munkadarab 1 perc, másodperc 3. és harmadik szállítószalag 2. Az általános teljesítményét korlátozza a leglassabb része - egy második gép. És míg a többi tétlen, a mi kis gyár több mint 20 alkatrészek / óra. Optimalizálása érdekében a csővezeték kell ezt a munkát a lépteit, amennyire csak lehet egységes - transzfer a munka a második gép az első, hogy mindketten dolgoztak 2 percig. Azonban ez nem mindig működik, de úgy találtuk, hogy tudjuk leglassabb része a rendszernek ( „szűk keresztmetszet”) osztva 2 fázisból áll - kezdődik az 1. és 2. percig. Most már 4 gépet a lépést a munka 1, 1, 2, és 2 perc. volt. Minden jó, de a vas mennyisége megnégyszereződött, de a sebesség - csak három alkalommal. És ne vágják a csővezeték, ha még mindig kisebb - tegye 6 működő gépek egy perc. Most, már befektetett 6-szor az összeg a termelési eszközök és kapott egy 6-szoros hozamot.
Így a frekvencia határérték növeli nehéz. Így bo lshaya gyakorisága igényel nagyobb tápegységet, ami növeli az energia-fogyasztás mintegy 5-ször megduplázva frekvenciatartományban. (Az ideális FET egy lineáris összefüggés a max frekvencia a tápfeszültség, lineáris összefüggés az energiafogyasztás gyakoriságától és másodfokú - .. Fogyasztás a feszültség, így 8-szorosára nőtt a fogyasztás és a szigetelés watt duplájára hertz azonban parazita kapacitás, szivárgási áram és egyéb nem ideálistól teszi függőség simított az irányt a másodfokú és harmadfokú nem.) képesség sütjük egy tojás a hűtő CPU alig értékelhető egy fontos előnye az új generációs processzorok és a mobil Elektronikai és annak minden lehetőségét, hogy mentse mindent igényel az energiahatékonyság sebesség csökkenése nélkül - szükség van, hogy a módját, hogy gyorsítsák fel a teljesítmény, ha a meglévő frekvencia.
Termelékenység ciklusonként jellemzi két egymásra fordított érték - az átlagos órajelek száma végrehajtani egy utasítást (órák egy utasítást, CPI) és az átlagos végrehajtott utasítások órajelenként (utasítást egy órajel, IPC). Eljövetele előtt a fő út szuperskaláris CPU gyorsulás kívül frekvencia verseny csökkenését CPI (növekedés vagy IPC, bár ez a kifejezés még nem használják szükségtelen). Lehetőség van arra, hogy egy minőségi javulást, mivel Egy fő út helyett - tenyésztési vagy gyorsítása meglévő struktúrák hozzáadott új hardver (azaz gyorsabb) számításai szerint a korábban történt, lassan egy általános célú egységek.
A 386 processzor a duplájára viszont preload parancsot (előzetes letöltési sorban) az 12 bájt kiterjeszthető 3-bájtos szóhossz dekóder után hozzáadott, a mikroutasítás puffert (most egy CPU egy 3-fokozatú futószalag), és helyébe a soros léptetőregiszter párhuzamosan (hordó váltó, termel semmiféle elmozdulás tetszőleges számú bit egy fix idő). 486 felruházva futószalagos végrehajtás, beágyazott valós egységet, és a belső írási puffer gyorsítótár L1 (az egyik a fedélzeten most L2). Apellált a trónkövető 486DX2 kapott egy esélyt az L1 cache felvétel (write-back, nem minden modellnél), és 486DX4 - kétszer a cache és a mátrix szorzó (eddig csak egész és fél szélességű - 16 · 16). Mindezen fejlesztések még folyamatban vannak - például eljövetele előtt architektúrák AMD K10 és az Intel Core 2 processzor végzi aritmetikai utasítások felett vektor valós adatokat sebességgel 2 ciklus - vektor ALU és szorzók ott felében, a 64 bites szélességű, és a K10 és a Core 2 váltak teljes méretű.
A fő ilyen mankó - megbízás végrehajtása (Out-of-order végrehajtás OoOE vagy OOO): nyeles halmozódik fel egy speciális shuffle puffert (újrarendezésből puffer, ROB), és olvassa el, nem a program által a rend és a véletlen, ha egy egyidejű végrehajtása képességeit. mert puffer fér több tucat mops, ez elég lesz 3-4 futni a ciklus csapat, még messze nem egymással szemben (ha már elolvasott és dekódolni). OOO különösen jól működik a másik mechanizmus javítására - regisztrálja átnevezés eltávolítja azokat a téves egymásrautaltság az operandusok az ezután következő parancsok az előző. Azonban ez nem teszi lehetővé számunkra, hogy növelje az IPC több mint 4. Részben azért, mert több, mint nyeles parancsokat úgy, hogy elolvassa a 4 csapat, megkapjuk 5-10 mops, tárolása és végrehajtása, amely megköveteli az azonos mennyiségű szabad források minden órajel ciklusban. Ezért találták egyesülés rendszer (fúzió), lehetővé teszi, hogy összekapcsolják a kezelés előtti időben, néhány csapat (amíg egy pár, de lehetséges, hogy senki más nem fog működni). Mert mops ez Micro fúzió: a fúziós generál dekóder mops, hogy a kiosztott befut egy pár különböző PK végző különböző műveletek vannak, ami megmenti az alkalmazottak száma mopami pipeline busz és pufferek sejteket. A külső parancsok azt makrosliyanie: a dekóder értelmezi néhány pár parancs, mint egy, termelő neki rongykorong 1 (esetleg egy fúzió), ami ritkán is megemeli az IPC.
De ezek a módszerek nem elég, ha az ilyen Rushan teljesítmény eseményeket tévesen jósolta átmeneti cache (a kért információ nem cache), a hosszú végrehajtható utasítások stb - torlódás egyik szakaszában a többiek várnak, amíg a kívánt erőforrás elérhetővé válik. Ezután az egyes lépések között adjunk hozzá több pufferek és sorok, kisimítja a különbség a teljesítmény az egyes fokozatok és támogató felszínen teljes csővezeték az első néhány taktust halálos torlódás. És akkor még mindig kell valahol el utasításokat és adatokat. És ha nem tudunk mit kezdeni a jelenlegi programot, amíg ez meg fog oldódni torlódás - átválthat egy másik, mivel az összes processzor multitasking?
Szerint a pontok száma azt mutatja, hogy a túl további utasítás készleteket - az egyik legegyszerűbb módszer a növekvő CPU sebességét. Már az összes csapat a x86 architektúra meghaladta az 1000, ami a kivételes összetettsége dekóderek és FU, és egy erős nehéz programozási és optimalizálása az összeszerelés. Ettől függetlenül az Intel (azaz bevezette a legtöbb ilyen készletek) továbbra is az új típusú processzorok egymást követő utasítások, ami ugyanazt csinálni, és versenytársa.
Tippelje elágazása technikai ötletek a mérnökök, építészek és mikroelektronschikov próbál találni egy másik módja, hogy gyorsítsák fel a processzor - a feladat nem könnyebb, mint megjósolni a CPU ága a futtatható program 99% -os pontossággal. Azonban, ha megnézzük felülről a számítástechnika történetében módszerek gyorsulás figyelhető meg egy furcsa minta: először egy módja annak, hogy megjelenik a nagyobb gépek - nagy rendszerek és szuperszámítógépek, ahol megvizsgálják és tökéletesítette. Aztán, hála a haladás a mikroelektronika, mit korábban vett szekrények és csarnokok, így lehetővé vált, hogy elférjen egy kártyát, akkor a processzor ház, és majd az ő chip. Szállítószalagok, cache, szuperskalár, OOO, a SIMD és a többi - mindez származik 60-80th. Azt kell feltételeznünk, hogy ez fog történni, majd - csak nézd meg a mai szuperszámítógépek, és próbálja 10-20 év, hogy nem ugyanaz, egyetlen chip. Azonban várja váratlan eredmény - a többség a bolygó legerősebb számítógépek ma magukat alapján az x86 architektúra. Egyszerűen nem volt olyan sikeres és sokoldalú, így gyorsan felszívódik a legjobb a versenytársak, hogy éppen ellenkezőleg, ez szuperszámítógépek most készül az építészeti, eredetileg a munkaasztalon. Tény, hogy a számítógépek, hogy egy teljes kört, rátette önmagába.
Talán szabadulás lesz egy új, nem-szilikon mikroelektronika (sőt, már régóta „nano”) - vagy szén nanocsövek és grafén, vagy kvantum spintronikai tranzisztorok vagy „összekuszált” részecskék. Vagy talán, és nem volt áram egyáltalán - Optika aktívan tanulmányozta ugyanaz az Intel, amely már megvalósította a létrehozását integrált hullámvezetők és feltárja módját fotonikus tranzisztor. Mindez képes megemeli a frekvencia (sőt le arról, szinkron számológépek nem fog, bár például az emberi agy „netaktiruemoy számítástechnikai gép”), de mi lesz a minőség ötlet (túl szabályos SSE8) - senki sem tudja. Ezért a hírhedt Moore-törvény (amelyeknek nincs törvény, és az empirikus szabályosság nem nagyon világos, de még mindig eleget évtizedek) a közelmúltban folyamatosan megkérdőjelezték - meghosszabbítja még öt rövid év, vagy jöjjön ugyanazon a végén az exponenciális növekedés?
Azonban az emelkedés nem feltétlenül szükséges. Mint mondta a 90 egyik felhasználó, akinek vonatkozásában a védelmi ipar „a számítógép 486 processzorral, egy fej is elég lenne kezelni az egész csoport szovjet katonai műholdak, de ez nem volt elég a szimultán gépelési és nyomtatási szövegének Word-ben.” Több tucat gigaflop és a rendelkezésre álló programozás magas szintű nyelvek, elrejti a komplexitás a hardver fortélyait, így sérült sok programozó, úgy gondolják, már körülbelül valamilyen megtakarítási és optimalizálási - miért, ha a felhasználó egyszerűen csak hat hónap és korszerűsítése, és ez idő alatt nem jobb, mint optimalizálja a jelenlegi változata a program, és egy új és drágább eladni. Ha a programozás a munka felé fordult in-line jármű (PC jelent hatalmas masszív hatalmas szoftverek és programozó), a fő acél nem a minőség, a gyorsaság és a kényelem, és gyorsabb módon pénzt. Kiderült, hogy a bevezetés után egy viszonylag egyszerű és olcsó gyorsító teljesítményét jelentős módon, hogy a számítógép gyorsabban lehet optimalizálási programok és a megtakarítások már rendelkezésre álló forrásokat. De ez a téma egy másik cikk.