"Nii" Intelilt. Intel AVX2 kasutamine vektortöötluseks

Tõlgime... Tõlgi hiina (lihtsustatud) hiina (traditsiooniline) inglise prantsuse saksa itaalia portugali vene hispaania türgi

Kahjuks ei saa me seda teavet praegu tõlkida – proovige hiljem uuesti.

Sissejuhatus

Side- ja andmeedastuseks mõeldud tarkvara nõuab väga suurt jõudlust, kuna see edastab tohutul hulgal väikeseid andmepakette. Üks virtualiseerimisrakenduste arendamise funktsioone võrgufunktsioonid(NFV) seisneb selles, et virtualiseerimist on vaja kasutada võimalikult suures ulatuses, kuid samas vajalikke juhtumeid optimeerida rakendusi kasutatava riistvara jaoks.

Selles artiklis toon esile kolm Intel® protsessorite funktsiooni, mis on kasulikud NFV rakenduste jõudluse optimeerimiseks: vahemälu eraldamise tehnoloogiad (CAT), Intel® Advanced Vector Extensions 2 (Intel® AVX2) vektortöötluseks ja Intel®. Tehingute sünkroonimise laiendused (Intel® TSX).

Prioriteetse inversiooni probleemi lahendamine CAT-i abil

Kui madala prioriteediga funktsioon varastab kõrge prioriteediga funktsioonilt ressursse, kutsume seda "prioriteedi inversiooniks".

Kõik virtuaalsed funktsioonid ei ole võrdsed. Näiteks on marsruutimise funktsioon oluline töötlemisaja ja jõudluse jaoks, samas kui meediumi kodeerimise funktsioon pole nii oluline. Sellel funktsioonil võiks väga hästi lubada perioodiliselt pakette maha jätta, ilma et see mõjutaks kasutajakogemust, kuna keegi ei märka video kaadrisageduse vähenemist 20-lt 19-le sekundis.

Vaikimisi vahemälu on kujundatud nii, et selle saab kätte kõige aktiivsem tarbija suurim osa. Kuid kõige aktiivsem tarbija ei ole alati kõige olulisem rakendus. Tegelikult on sageli vastupidi. Kõrge prioriteediga rakendused on optimeeritud, nende andmemaht vähendatakse võimalikult väikese hulgani. Madala prioriteediga rakendused ei vaja nii palju optimeerimispingutusi, seega kulutavad nad rohkem mälu. Mõned neist funktsioonidest tarbivad palju mälu. Näiteks paketivaate funktsioon Statistiline analüüs on madala prioriteediga, kuid tarbib palju mälu ja kasutab palju vahemälu.

Arendajad eeldavad sageli, et kui nad panevad konkreetsesse kernelisse ühe kõrge prioriteediga rakenduse, on rakendus seal turvaline ja madala prioriteediga rakendused ei mõjuta seda. Kahjuks ei ole. Igal tuumal on oma 1. taseme vahemälu (L1, kiireim, kuid väikseim vahemälu) ja 2. taseme vahemälu (L2, veidi suurem, kuid aeglasem). Andmete (L1D) ja programmikoodi (L1I, "I" tähistab juhiseid) jaoks on eraldi L1 vahemälupiirkonnad. Kolmanda taseme vahemälu (kõige aeglasem) on ühine kõigile protsessori tuumadele. Intel® protsessoriarhitektuuridel kuni Broadwelli perekonnani (kaasa arvatud) on L3 vahemälu täielikult kaasatud, mis tähendab, et see sisaldab kõike, mis sisaldub L1 ja L2 vahemälus. Tulenevalt kaasamise vahemälu toimimisest, kui midagi eemaldatakse kolmanda taseme vahemälust, eemaldatakse see ka vastavast esimese ja teise taseme vahemälust. See tähendab, et madala prioriteediga rakendus, mis vajab L3 vahemälus ruumi, võib kõrge prioriteediga rakenduse L1 ja L2 vahemälust andmeid välja tõrjuda, isegi kui see töötab teises tuumas.

Varem oli selle probleemi lahendamiseks lähenemisviis, mida kutsuti "soojenduseks". Kui juurdepääs L3 vahemälule võistleb, on "võitja" rakendus, mis pääseb kõige sagedamini mälule juurde. Seetõttu on lahendus tagada, et kõrge prioriteediga funktsioon pääseks vahemällu pidevalt juurde, isegi kui see on tühikäigul. See ei ole väga elegantne lahendus, kuid sageli on see olnud üsna vastuvõetav ja kuni viimase ajani polnud alternatiive. Kuid nüüd on olemas alternatiiv: Intel® Xeon® E5 v3 protsessoriperekond tutvustab vahemälu eraldamise tehnoloogiat (CAT), mis annab teile võimaluse eraldada vahemälu rakenduste ja teenuseklasside alusel.

Prioriteedi inversiooni mõju

Prioriteedi inversiooni mõju demonstreerimiseks kirjutasin lihtsa mikropingi, mis käivitab perioodiliselt lingitud loendi läbimise kõrge prioriteediga lõimel, samal ajal kui madala prioriteediga lõim töötab pidevalt mälu kopeerimise funktsiooni. Need lõimed on määratud sama protsessori erinevatele tuumadele. See simuleerib halvimat stsenaariumi ressursikonkurentsi jaoks: kopeerimisoperatsioon nõuab palju mälu, nii et tõenäoliselt häirib see loendile juurdepääsu olulisemat lõime.

Siin on kood C-s.

// Koostage lingitud loend suurusega N pseudojuhusliku mustriga void init_pool(list_item *head, int N, int A, int B) ( int C = B; list_item *current = head; for (int i = 0; i< N - 1; i++) { current->linnuke = 0; C = (A*C + B) % N; praegune->järgmine = (loendi_üksus*)&(pea[C]); praegune = praegune->järgmine; ) ) // Puudutage lingitud loendis esimest N elementi void warmup_list(list_item* current, int N) ( bool write = (N > POOL_SIZE_L2_LINES) ? true: false; for(int i = 0; i< N - 1; i++) { current = current->järgmine; if (kirjuta) praegune->linnuke++; ) ) void meetme(loendi_üksus* head, int N) ( märgita __pikk pikk i1, i2, keskmine = 0; for (int j = 0; j< 50; j++) { list_item* current = head; #if WARMUP_ON while(in_copy) warmup_list(head, N); #else while(in_copy) spin_sleep(1); #endif i1 = __rdtsc(); for(int i = 0; i < N; i++) { current->linnuke++; praegune = praegune->järgmine; ) i2 = __rdtsc(); keskmine += (i2-i1)/50; in_copy = tõene; ) tulemused=keskm./N )

See sisaldab kolme funktsiooni.

  • Funktsioon init_pool() initsialiseerib koondatud loendi suurel eraldatud vabal mälualal, kasutades lihtsat pseudojuhuslike arvude generaatorit. See hoiab ära loendiüksuste asumise mälus üksteisele lähedale, mis tekitaks ruumilise lokaalsuse, mis mõjutaks meie mõõtmisi, kuna mõned elemendid laaditaks automaatselt eellaadimiseks. Iga loendi element on täpselt üks vahemälu rida.
  • Funktsioon warmup() kordab pidevalt koostatud loendit. Juurdepääs on teatud andmetele, mis peaksid olema vahemälus, nii et see funktsioon takistab teistel lõimedel koostatud loendit L3 vahemälust välja viskamast.
  • Funktsioon meetme() mõõdab ühe loendielemendi läbimist, seejärel kas uinutakse 1 millisekundi või kutsub välja soojendusfunktsiooni () olenevalt sellest, millist testi me käivitame. Funktsioon meetme() keskmistab seejärel tulemused.

5. põlvkonna Intel® Core™ i7 protsessori mikroetaldi tulemused on näidatud alloleval graafikul, kus X-telg on vahemälu ridade koguarv lingitud loendis ja Y-telg on keskmine protsessori tsüklite arv link-loendi juurdepääs. Kui lingitud loendi suurus suureneb, liigub see esimese taseme andmevahemälust välja teise ja seejärel kolmanda taseme vahemällu ning seejärel põhimällu.

Põhiindikaator on punakaspruun joon, see vastab programmile, millel pole mälus koopialõime, st ilma vaidluseta. Sinine joon näitab prioriteedi inversiooni tagajärgi: mälukopeerimise funktsiooni tõttu võtab loendile juurdepääs oluliselt kauem aega. Mõju on eriti suur, kui loend mahub suure kiirusega L1 või L2 vahemällu. Kui loend on nii suur, et see ei mahu kolmanda taseme vahemällu, on mõju tühine.

Roheline joon näitab soojendusefekti, kui mälu kopeerimise funktsioon töötab: juurdepääsuaeg väheneb järsult ja läheneb baasväärtusele.

Kui lubame CAT-i ja eraldame L3 vahemälu osad igale tuumale eksklusiivseks kasutamiseks, on tulemused väga lähedased lähtetasemele (liiga lähedal, et diagrammil näidata), mis on meie eesmärk.

KaasamineKASS

Kõigepealt veenduge, et platvorm toetab CAT-i. Saate kasutada CPUID-i juhist, kontrollides aadressilehte 7, CAT-i saadavuse näitamiseks on lisatud alamleht 0.

Kui CAT on lubatud ja toetatud, on olemas MSR-registrid, mida saab programmeerida L3 vahemälu eri osade eraldamiseks erinevatele tuumadele.

Kõigil on see protsessori pesa on MSR-registrid IA32_L3_MASKn (näiteks 0xc90, 0xc91, 0xc92, 0xc93). Need registrid salvestavad bitimaski, mis näitab, kui palju L3 vahemälu tuleks iga teenuseklassi (COS) jaoks eraldada. 0xc90 salvestab vahemälu eraldamise COS0 jaoks, 0xc91 COS1 jaoks jne.

Näiteks näitab see diagramm mõningaid võimalikke bitimaske erinevate teenuseklasside jaoks, et näidata, kuidas vahemälu saab jagada: COS0 saab poole, COS1 veerand ning COS2 ja COS3 saavad kumbki kaheksandiku. Näiteks 0xc90 sisaldaks 11110000 ja 0xc93 00000001.

DDIO (Direct Data Input/Output) algoritmil on oma peidetud bitimask, mis võimaldab andmevoogu kiiretest PCIe-seadmetest, näiteks võrguadapteritest, edastada L3 vahemälu kindlatesse piirkondadesse. Siiski võib määratletud teenuseklassidega tekkida konflikt, seega peate seda kvaliteetsete NFV-rakenduste loomisel arvesse võtma. ribalaius. Konfliktide kontrollimiseks kasutage vahemälu puudujääkide tuvastamiseks. Mõnel BIOS-il on säte, mis võimaldab teil DDIO maski vaadata ja muuta.

Igal tuumal on MSR-register IA32_PQR_ASSOC (0xc8f), mis näitab, milline teenuseklass sellele tuumale kehtib. Vaikimisi teenuseklass on 0, mis tähendab, et kasutatakse MSR 0xc90 bitimaski. (Vaikimisi on bitmask 0xc90 seatud väärtusele 1, et tagada vahemälu maksimaalne kättesaadavus.)

Kõige lihtne mudel CAT kasutamine NFV-s – L3 vahemälu tükkide eraldamine erinevatele tuumadele, kasutades isoleeritud bitimaske ja seejärel lõimede kinnitamist või virtuaalsed masinad südamike taga. Kui VM-id peavad täitmiseks südamikke jagama, on võimalik teha ka OS-i ajakavas triviaalne parandus, lisada vahemälu mask lõimedele, milles VM-id töötavad, ja lubada see dünaamiliselt igal ajastamissündmusel.

On veel üks ebatavalisel viisil kasutades CAT-i andmete lukustamiseks vahemälus. Esiteks looge aktiivne vahemälu mask ja pääsete juurde mälus olevatele andmetele, et laadida need L3 vahemällu. Seejärel keelake L3 vahemälu seda osa esindavad bitid mis tahes tulevikus kasutatavas CAT-bitimaskis. Andmed lukustatakse kolmanda taseme vahemällu, kuna neid pole nüüd võimalik sealt välja tõsta (peale DDIO). NFV-rakenduses võimaldab see mehhanism keskmise suurusega marsruutimise ja pakettide parsimise otsingutabelid lukustada L3 vahemällu, et tagada püsiv juurdepääs.

Intel AVX2 kasutamine vektortöötluseks

SIMD (üks käsk, palju andmeid) juhised võimaldavad teha sama toimingut erinevate andmetega korraga. Neid juhiseid kasutatakse sageli ujukomaarvutuste kiirendamiseks, kuid saadaval on ka juhiste täisarvu-, tõeväärtus- ja andmeversioonid.

Olenevalt kasutatavast protsessorist on teile saadaval erinevad SIMD-juhiste perekonnad. Käskudega töödeldud vektori suurus erineb ka:

  • SSE toetab 128-bitiseid vektoreid.
  • Intel AVX2 toetab 256-bitiste vektorite täisarvulisi juhiseid ja rakendab kogumistoimingute juhiseid.
  • Tulevaste Intel® arhitektuuride AVX3 laiendused toetavad 512-bitiseid vektoreid.

Ühte 128-bitist vektorit saab kasutada kahe 64-bitise muutuja, nelja 32-bitise muutuja või kaheksa 16-bitise muutuja jaoks (olenevalt kasutatavatest SIMD-juhistest). Suuremad vektorid mahutavad rohkem andmeelemente. Arvestades NFV-rakenduste kõrget läbilaskevõimet, peaksite alati kasutama kõige võimsamaid SIMD-juhiseid (ja seotud riistvara), praegu Intel AVX2.

SIMD käske kasutatakse kõige sagedamini sama toimingu tegemiseks väärtuste vektoriga, nagu on näidatud joonisel. Siin on loomisoperatsioon X1opY1 kuni X4opY4 üks käsk, mis töötleb samaaegselt andmeüksusi X1 kuni X4 ja Y1 kuni Y4. Selles näites on kiirendamine neli korda kiirem kui tavaline (skalaarne) täitmine, kuna korraga töödeldakse nelja toimingut. Kiirendus võib olla sama suur, kui suur on SIMD vektor. NFV-rakendused töötlevad sageli mitut paketivoogu samal viisil, nii et SIMD-juhised on loomulik viis jõudluse optimeerimiseks.

Lihtsate tsüklite puhul vektoriseerib kompilaator sageli operatsioonid automaatselt, kasutades antud CPU jaoks saadaolevaid uusimaid SIMD juhiseid (kui kasutate õigeid kompilaatori lippe). Saate oma koodi optimeerida, et kasutada kõige kaasaegsemat juhiste komplekti, mida riistvara käitusajal toetab, või saate koodi kompileerida konkreetse sihtarhitektuuri jaoks.

SIMD toimingud toetavad ka mälukoormust, kopeerides kuni 32 baiti (256 bitti) mälust registrisse. See võimaldab vahemälust mööda minnes andmeid mälu ja registrite vahel üle kanda ning mälu erinevatest kohtadest andmeid koguda. Samuti saab teha erinevaid toiminguid vektoritega (ühe registri piires andmete muutmine) ja vektorite salvestamisega (registrist mällu kuni 32 baiti kirjutamine).

Memcpy ja memmov on tuntud näited põhirutiinidest, mida rakendati algusest peale SIMD-juhiste abil, kuna REP MOV-i käsk oli liiga aeglane. Memcpy koodi uuendati süsteemiteekides regulaarselt, et kasutada uusimaid SIMD juhiseid. CPUID-halduri tabelit kasutati teabe saamiseks selle kohta, millised uusimad versioonid on kasutamiseks saadaval. Samal ajal viibib tavaliselt uute SIMD-i käskude põlvkondade juurutamine raamatukogudes.

Näiteks, järgmine protseduur memcpy, mis kasutab lihtsat tsüklit, põhineb sisseehitatud funktsioonidel (teegi koodi asemel), nii et kompilaator saab seda optimeerida SIMD juhiste uusima versiooni jaoks.

Mm256_store_si256((__m256i*) (dest++), (__m256i*) (src++))

See kompileerub järgmisele koostekoodile ja selle jõudlus on kaks korda parem kui viimastel teegidel.

C5 fd 6f 04 04 vmovdqa (%rsp,%rax,1),%ymm0 c5 fd 7f 84 04 00 00 vmovdqa %ymm0.0x10000(%rsp,%rax,1)

Sisefunktsiooni koostekood kopeerib 32 baiti (256 bitti), kasutades uusimaid saadaolevaid SIMD juhiseid, samas kui SSE-d kasutav teegikood kopeerib ainult 16 baiti (128 bitti).

NFV-rakendused peavad sageli tegema kogumistoimingu, laadides andmeid mitmest asukohast erinevad kohad mittejärjestikused mälestused. Näiteks saab võrguadapter DDIO abil sissetulevaid pakette vahemällu salvestada. NFV rakendus võib vajada juurdepääsu ainult osale võrgu päis sihtkoha IP-aadressiga. Kogumistoiminguga saab rakendus koguda andmeid korraga 8 paketi kohta.

Kogumistoimingu jaoks ei ole vaja kasutada reafunktsioone ega koostekoodi, sest kompilaator saab koodi vektoriseerida, nagu allpool näidatud programmi puhul, testimise põhjal, mis summeerib numbreid mälus pseudojuhuslikest asukohtadest.

Int a; int b; jaoks (i = 0; i< 1024; i++) a[i] = i; for (i = 0; i < 64; i++) b[i] = (i*1051) % 1024; for (i = 0; i < 64; i++) sum += a]; // This line is vectorized using gather.

Viimane rida on koostatud järgmiseks koostekoodiks.

C5 fe 6f 40 80 vmovdqu -0x80(%rax),%ymm0 c5 ed fe f3 vpaddd %ymm3,%ymm2,%ymm6 c5 e5 ef db vpxor %ymm3,%ymm3,%ymm3 c5 d5 76 ed %ypmm5,%d ymm5,%ymm5 c4 e2 55 90 3c a0 vpgatherdd %ymm5,(%rax,%ymm4,4),%ymm7

Üks kogumistoiming on oluliselt kiirem kui allalaadimiste jada, kuid sellel on mõtet ainult siis, kui andmed on juba vahemälus. Vastasel juhul tuleb andmed mälust tõmmata, mis nõuab sadu või tuhandeid protsessoritsükleid. Kui andmed on vahemälus, on võimalik kiirendada 10 korda
(st 1000%). Kui andmeid vahemälus pole, on kiirus vaid 5%.

Selliste tehnikate kasutamisel on oluline rakendust analüüsida, et tuvastada kitsaskohad ja mõista, kas rakendus kulutab liiga palju aega andmete kopeerimisele või kogumisele. Sa võid kasutada .

Veel üks kasulik funktsioon NFV jaoks Intel AVX2 ja muudes SIMD operatsioonides on biti- ja loogilised toimingud. Neid kasutatakse kiirendamiseks mittestandardne kood krüpteerimine ja bitikontroll on mugav ASN.1 arendajatele ning seda kasutatakse sageli andmete jaoks telekommunikatsioonis. Intel AVX2 saab kasutada stringide kiiremaks võrdlemiseks, kasutades täiustatud algoritme, nagu MPSSEF.

Inteli AVX2 laiendused töötavad hästi virtuaalsed masinad. Jõudlus on sama ja pole ühtegi vigast virtuaalmasinast väljumist.

Intel TSX kasutamine suurema mastaapsuse tagamiseks

Paralleelsete programmide üks väljakutseid on vältida andmete kokkupõrkeid, mis võivad tekkida siis, kui mitu lõime üritab kasutada sama andmeosa ja vähemalt üks lõim proovib andmeid muuta. Ettenägematute sagedustulemuste vältimiseks kasutatakse lukustamist: esimene andmeüksust kasutav lõim lukustab selle teistest lõimedest, kuni see oma töö lõpetab. Kuid see lähenemisviis ei pruugi olla tõhus, kui konkureerivaid lukke esineb sageli või kui lukud juhivad suuremat mäluala, kui tegelikult vaja on.

Inteli tehingute sünkroonimise laiendused (TSX) pakuvad protsessori juhised riistvaramälus tehtavate tehingute ajal lukkudest mööda hiilimiseks. See aitab saavutada suuremat mastaapsust. See toimib nii, et kui programm siseneb sektsiooni, mis kasutab mälukohtade kaitsmiseks Intel TSX-i, salvestatakse kõik mälule juurdepääsu katsed ja kaitstud seansi lõpus kinnitatakse need automaatselt või tühistatakse automaatselt. Tagasivõtmine tehakse, kui teisest lõimest käivitades tekkis mälu juurdepääsukonflikt, mis võib põhjustada võistlustingimuse (nt kirjutamine asukohta, kust loeb andmeid muu tehing). Tagasivõtmine võib toimuda ka siis, kui mälu juurdepääsukirje muutub Inteli TSX-i juurutamise jaoks liiga suureks, kui on olemas I/O-käsk või süsteemikutse või kui tehakse erandeid või suletakse virtuaalmasinad. I/O-kõned tühistatakse, kui neid ei saa väliste häirete tõttu spekulatiivselt teostada. Süsteemikõne on väga keeruline toiming, mis muudab helinaid ja mälukäepidemeid ning mida on väga raske tagasi pöörata.

Intel TSX-i tavaline kasutusjuht on juurdepääsukontroll räsitabelis. Tavaliselt kasutatakse vahemälu tabeli lukku, et tagada juurdepääs vahemälu tabelile, kuid see suurendab juurdepääsu pärast konkureerivate lõimede latentsust. Lukustamine on sageli liiga jäme: kogu laud on lukus, kuigi on äärmiselt haruldane, et niidid üritavad samadele elementidele juurde pääseda. Kuna südamike (ja keermete) arv suureneb, takistab jäme lukustamine skaleeritavust.

Nagu on näidatud alloleval diagrammil, võib jäme blokeerimine panna ühe lõime ootama, kuni teine ​​lõim räsitabeli vabastab, kuigi lõimed kasutavad erinevaid elemente. Intel TSX-i kasutamine võimaldab mõlemal lõimel töötada, nende tulemused salvestatakse pärast tehingu edukat lõppu. Riistvara tuvastab konfliktid käigu pealt ja katkestab rikkuvad tehingud. Intel TSX-i kasutamisel ei pea lõime 2 ootama, mõlemad lõimed käivituvad palju varem. Räsitabelite lukustamine muudetakse peenhäälestatud lukustamiseks, mille tulemuseks on parem jõudlus. Intel TSX toetab konkurentsi jälgimise täpsust ühe vahemälurea tasemel (64 baiti).

Intel TSX kasutab tehingute sooritamiseks koodiosade määramiseks kahte programmeerimisliidest.

  • Riistvaraluku ümbersõit (HLE) on tagasiühilduv ja seda saab hõlpsasti kasutada skaleeritavuse parandamiseks ilma lukuteegis suuri muudatusi tegemata. HLE-l on nüüd blokeeritud juhiste eesliited. HLE juhise eesliide annab riistvarale märku luku oleku jälgimiseks seda omandamata. Ülaltoodud näites tagab kirjeldatud toimingute tegemine, et juurdepääs teistele räsitabeli kirjetele ei põhjusta enam lukustamist, välja arvatud juhul, kui räsitabelisse salvestatud väärtusele on vastuoluline kirjutamisõigus. Selle tulemusena muudetakse juurdepääs paralleelseks, seega suureneb skaleeritavus kõigis neljas lõimes.
  • RTM-i liides sisaldab selgesõnalisi juhiseid tehingute alustamiseks (XBEGIN), sidumiseks (XEND), tühistamiseks (XABORT) ja oleku testimiseks (XTEST). Need juhised annavad lukustamisteegidele paindlikuma võimaluse lukust möödahiilimise rakendamiseks. RTM-liides võimaldab raamatukogudel kasutada paindlikke tehingute tühistamise algoritme. Seda funktsiooni saab kasutada Intel TSX-i jõudluse parandamiseks, kasutades tehingute optimistlikku taaskäivitamist, tehingu tagasipööramist ja muid täiustatud tehnikaid. Kasutades CPUID-i käsku, võib teek minna tagasi vanemale mitte-RTM-lukkude teostusele, säilitades tagasiühilduv kasutajataseme koodiga.
  • HLE ja RTM-i kohta lisateabe saamiseks soovitan vaadata järgmisi Inteli arendajatsooni artikleid.

Nagu sünkroonimisprimitiivide optimeerimine HLE või RTM-i abil, saavad NFV andmeplaani funktsioonid andmetasandi arenduskomplekti (DPDK) kasutamisel Intel TSX-ist kasu.

Intel TSX-i kasutamisel ei seisne peamiseks väljakutseks nende laienduste juurutamine, vaid nende jõudluse hindamine ja määramine. Seal on jõudlusloendurid, mida saab kasutada Linuxi programmid* perf ja Intel TSX täitmise edukuse hindamiseks (lõpetatud ja tühistatud tsüklite arv).

Inteli TSX-i tuleks kasutada ettevaatusega ja NFV-rakendustes hoolikalt testida, kuna Intel TSX-iga kaitstud ala sisend-/väljundtoimingud hõlmavad alati tagasipööramist ja paljud NFV-funktsioonid kasutavad palju I/O-toiminguid. NFV-rakendustes tuleks vältida samaaegset lukustamist. Kui lukud on vajalikud, aitavad lukustamisest möödaviimise algoritmid mastaapsust parandada.

autori kohta

Aleksander Komarov töötab Intel Corporationi tarkvara ja teenuste rühmas rakenduste arendusinsenerina. Viimase 10 aasta jooksul on Alexanderi põhitöö olnud koodi optimeerimine, et saavutada kõrgeim jõudlus olemasolevatel ja tulevastel Inteli serveriplatvormidel. See töö hõlmab Inteli tarkvaraarenduse tööriistade (nt profileerijad, kompilaatorid, teegid, uusimad juhiskomplektid, nanoarhitektuur ja uusimate x86 protsessorite ja kiibistike arhitektuursed täiustused) kasutamist.

Lisainformatsioon

NFV kohta lisateabe saamiseks vaadake järgmisi videoid.

Iga uue põlvkonnaga kaasavad Inteli protsessorid üha rohkem tehnoloogiaid ja funktsioone. Mõned neist on üldtuntud (kes näiteks ei tea hüperkeermestamise kohta?), samas kui enamik mittespetsialiste ei tea isegi teiste olemasolust. Avame selle kõigile tuntud alus teadmisi Intel Automated Relational Knowledge Base (ARK) toodete kohta ja valige seal protsessor. Näeme kopsakat funktsioonide ja tehnoloogiate loendit – mis on nende salapäraste turundusnimede taga? Soovitame teemasse süveneda, pöörates erilist tähelepanu vähesele tuntud tehnoloogiad- seal on kindlasti palju huvitavat.

Inteli nõudluspõhine ümberlülitamine

Koos täiustatud Intel SpeedStep tehnoloogiaga vastutab Intel Demand Based Switching tehnoloogia selle eest, et protsessor töötaks optimaalne sagedus ja sai piisava elektrivõimsuse: ei rohkem ega vähem kui nõutud. See vähendab energiatarbimist ja soojuse hajumist, mis on oluline mitte ainult kaasaskantavate seadmete, vaid ka serverite jaoks – siin kasutatakse nõudluspõhist vahetamist.

Inteli kiire juurdepääs mälule

Mälukontrolleri funktsioon RAM-i jõudluse optimeerimiseks. See on tehnoloogiate kombinatsioon, mis võimaldab käsujärjekorra süvaanalüüsi kaudu tuvastada kattuvaid käske (näiteks lugedes samalt mälulehelt) ja seejärel tegelikku täitmist ümber korraldada nii, et kattuvad käsud oleksid hukati üksteise järel. Lisaks on madalama prioriteediga mälu kirjutamiskäsud ajastatud aegadeks, mil lugemisjärjekord eeldatavasti tühjeneb, muutes mälu kirjutamisprotsessi lugemiskiirust veelgi vähem piiravaks.

Intel Flex Memory Access

Veel üks mälukontrolleri funktsioon, mis ilmus juba 2004. aastal, kui see oli eraldi kiip. Annab võimaluse töötada sünkroonrežiimis kahe mälumooduliga korraga ning erinevalt varem eksisteerinud lihtsast kahe kanaliga režiimist võivad mälumoodulid olla erineva suurusega. Nii saavutati paindlikkus arvuti mäluga varustamisel, mis kajastub ka nimes.

Inteli juhiste kordus

Väga sügav tehnoloogia, mis ilmus esmakordselt Intel Itaniumi protsessorites. Protsessori torustike töötamise ajal võib tekkida olukord, kus käsud on juba täitma tulnud, kuid vajalikud andmed pole veel saadaval. Seejärel tuleb käsk uuesti läbi mängida: konveierilt eemaldada ja käivitada selle alguses. Mis täpselt toimub. Veel üks oluline funktsioon IRT – protsessori torujuhtmete juhuslike vigade parandamine. Loe selle kohta lähemalt huvitav funktsioon loe .

Intel My WiFi tehnoloogia

Virtualiseerimistehnoloogia, mis võimaldab lisada olemasolevale füüsilisele virtuaalse WiFi-adapteri; seega võib teie ultrabookist või sülearvutist saada täieõiguslik pääsupunkt või repiiter. Minu WiFi tarkvarakomponendid on kaasas Intel PROSet Wireless Software draiveri versiooniga 13.2 ja uuemaga; Tuleb meeles pidada, et tehnoloogiaga ühilduvad vaid mõned WiFi-adapterid. Installimisjuhised ning tarkvara ja riistvara ühilduvuse loendi leiate Inteli veebisaidilt.

Intel Smart Idle tehnoloogia

Veel üks energiasäästu tehnoloogia. Võimaldab keelata hetkel kasutamata protsessoriplokid või vähendada nende sagedust. Asendamatu asi nutitelefoni CPU jaoks, mis on täpselt seal, kus see ilmus - Intel Atomi protsessorites.

Inteli stabiilne pildiplatvorm

Mõiste, mis viitab pigem äriprotsessidele kui tehnoloogiale. Inteli programm SIPP tagab tarkvara stabiilsuse, tagades, et platvormi põhikomponendid ja draiverid jäävad muutumatuks vähemalt 15 kuud. Seega on äriklientidel võimalus sel perioodil kasutada samu juurutatud süsteemipilte.

Intel QuickAssist

Riistvaraliselt rakendatud funktsioonide komplekt, mis nõuab suuri arvutusi, näiteks krüptimine, tihendamine, mustrituvastus. QuickAssisti eesmärk on muuta arendajate asjad lihtsamaks, pakkudes neile funktsionaalseid ehitusplokke ja kiirendades nende rakendusi. Teisest küljest võimaldab tehnoloogia usaldada "raskeid" ülesandeid mitte kõige võimsamatele protsessoritele, mis on eriti väärtuslik manustatud süsteemides, mille jõudlus ja energiatarbimine on tugevalt piiratud.

Intel Quick Resume

Intel Viivi platvormil põhinevate arvutite jaoks välja töötatud tehnoloogia, mis võimaldab neil peaaegu koheselt sisse ja välja lülituda, näiteks telerite või DVD-mängijate jaoks; samal ajal võis arvuti väljalülitatud olekus jätkata mõningate ülesannete täitmist, mis ei vajanud kasutaja sekkumist. Ja kuigi platvorm ise läks koos sellega kaasnenud arendustega sujuvalt üle teistesse vormidesse, on liin ARK-is endiselt olemas, sest see polnud nii ammu.

Inteli turvavõti

Üldnimetus 32- ja 64-bitistele RDRAND-käskudele, mis kasutavad digitaalse juhusliku arvu generaatori (DRNG) riistvararakendust. Seda juhist kasutatakse krüptograafilistel eesmärkidel ilusate ja kvaliteetsete juhuslike võtmete genereerimiseks.

Intel TSX-NI

Tehnoloogia keeruka nimega Intel Transactional Synchronization Extensions - New Instructions hõlmab protsessori vahemälusüsteemi lisandmoodulit, mis optimeerib mitme lõimega rakenduste täitmiskeskkonda, kuid loomulikult ainult siis, kui need rakendused kasutavad tarkvara liidesed TSX-NI. Kasutaja poolelt pole see tehnoloogia otseselt nähtav, kuid igaüks saab Stepan Koltsovi blogist lugeda selle kirjeldust juurdepääsetavas keeles.

Kokkuvõtteks tuletame veel kord meelde, et Intel ARK ei eksisteeri mitte ainult veebisaidina, vaid ka võrguühenduseta rakendusena iOS-i ja Androidi jaoks. Püsi teemas!

Kas Haswelli arhitektuur on väärt uueks nimetamist ja ümberkujundamist?

Rohkem kui viis aastat Intel järgib “tick-tock” strateegiat, vaheldudes konkreetse arhitektuuri tõlkimist peenematele tehnoloogilistele normidele uue arhitektuuri väljaandmisega.

Selle tulemusena saame igal aastal kas uue arhitektuuri või ülemineku uuele tehnilisele protsessile. “Nii” oli kavandatud aastaks 2013, see tähendab uue arhitektuuri - Haswelli - väljaandmine. Uue arhitektuuriga protsessoreid toodetakse sama protsessitehnoloogiaga nagu eelmise põlvkonna Ivy Bridge: 22 nm, Tri-gate. Tehniline protsess ei ole muutunud, kuid transistoride arv on suurenenud, mis tähendab, et uue protsessori kristalli lõplik pindala on suurenenud - ja pärast seda ka voolutarve.

Traditsioone järgides esitles Intel Haswelli väljakuulutamise päeval ainult suure jõudlusega ja kalleid protsessoreid Core i5 ja i7 liinidelt. Madalamate liinide kahetuumaliste protsessorite väljakuulutamine on nagu alati viibinud. Väärib märkimist, et uute protsessorite hinnad jäid Ivy Bridge'i omadega samale tasemele.

Võrdleme neljatuumaliste protsessorite erinevate põlvkondade stantsialasid:

Nagu näete, on neljatuumalise Haswelli pindala vaid 177 mm², samas kui põhjasild ja kontroller on sellesse integreeritud muutmälu ja graafiline tuum. Seega on transistoride arv kasvanud 200 miljoni võrra ja pindala 17 mm² võrra. Kui võrrelda Haswelli 32nm-ga Liivasild, siis kasvas transistoride arv 440 miljoni võrra (38%) ja 22 nm protsessitehnoloogiale ülemineku tõttu vähenes pindala 39 mm² (18%). Soojuse hajumine on kõik need aastad püsinud peaaegu samal tasemel (95 W SB ja 84 W Haswelli puhul) ning pindala on vähenenud.

Kõik see on viinud selleni, et igalt kristalli ruutmillimeetrilt tuleb eemaldada rohkem soojust. Kui varem tuli 216 mm² pealt võtta 95 W ehk 0,44 W/mm², siis nüüd 177 mm² alalt 84 W - 0,47 W/mm², mis on 6,8% rohkem kui varem . Kui see trend jätkub, on peagi nii väikestelt aladelt soojust lihtsalt füüsiliselt raske eemaldada.

Puhtteoreetiliselt võib eeldada, et kui Broadwellis, mida hakatakse tootma 14 nm protsessitehnoloogia abil, suureneb transistoride arv 21%, nagu üleminekul 32 nm-lt 22 nm-le, ja pindala väheneb 26 võrra. % (sama palju kui 32-lt 22 nm-le liikudes) saame 131 mm² pinnal 1,9 miljardit transistorit. Kui ka soojuse hajumine langeb 19%, saame 68 W ehk 0,52 W/mm².

Need on teoreetilised arvutused, praktikas on see teisiti - tehnoloogilise protsessi üleminekut 32 nm-lt 22 nm-le tähistas ka 3D-transistoride kasutuselevõtt, mis vähendas lekkevoolusid ja koos nendega ka soojuse teket. 22 nm-lt 14 nm-le ülemineku kohta pole aga midagi sellist veel kuulda olnud, nii et praktikas on soojuse hajumise väärtused suure tõenäosusega veelgi hullemad ning 0,52 W/mm² peale ei tasu loota. Kuid isegi kui soojuse hajumise tase on 0,52 W/mm², muutub lokaalse ülekuumenemise ja väikese kristalli soojuse eemaldamise probleem veelgi teravamaks.

Muide, just 0,52 W/mm² soojuse hajumise raskused võivad olla aluseks Inteli soovile minna üle BGA-le või katsetele pistikupesa kaotada. Kui protsessor on emaplaadi külge joodetud, siis kandub soojus kiibilt otse ilma vahekatteta jahutusradiaatorisse. See tundub veelgi asjakohasem, pidades silmas jooteaine asendamist termopastaga kaasaegsete protsessorite katte all. Oodata on taas “paljaste” protsessorite ilmumine lahtiste kristallidega Athlon XP eeskujul ehk ilma katteta jahutusradiaatori vahelülina.

Seda on videokaartidel tehtud pikka aega ja kristalli purunemise ohtu vähendab selle ümber olev raudraam, mistõttu videokaartidel pole sellist “ praegused probleemid", nagu termopasta protsessori katte all. Ülekiirendamine muutub aga veelgi keerulisemaks ja "õhemate" protsessorite korralik jahutamine muutub peaaegu teaduseks. Ja see kõik ootab meid varsti, kui muidugi ime ei juhtu...

Aga tuleme maa peale ja naaseme Haswellist rääkimise juurde. Nagu me teame, sai Haswell võrreldes Sandy Bridge'iga (ja vastavalt ka Ivy Bridge'iga, mis oli üldiselt SB ülekandmine peenemale tehnilisele protsessile) mitmeid "täiustusi/muudatusi":

  • sisseehitatud pingeregulaator;
  • uued energiasäästurežiimid;
  • puhvrite ja järjekordade mahu suurendamine;
  • vahemälu mahu suurendamine;
  • käivitusportide arvu suurendamine;
  • uute plokkide, funktsioonide, API-de lisamine integreeritud graafikatuumikusse;
  • suurendades torujuhtmete arvu graafika tuumas.

Seega võib uue platvormi ülevaate jagada kolme ossa: protsessor, integreeritud graafikakiirend, kiibistik.

Protsessori osa

Protsessori muudatused hõlmavad uute juhiste ja uute energiasäästurežiimide lisamist, pingeregulaatori kaasamist, aga ka protsessori tuuma enda muudatusi.

Juhendi komplektid

Haswelli arhitektuur tutvustab uusi juhiste komplekte. Need võib jagada kahte suurde rühma: need, mis on suunatud vektori jõudluse suurendamisele, ja need, mis on suunatud serveri segmendile. Esimeste hulka kuuluvad AVX ja FMA3, teised - virtualiseerimine ja tehingumälu.

Advanced Vector Extensions 2 (AVX2)

AVX-i komplekti on laiendatud versioonini AVX 2.0. AVX2 komplekt sisaldab:

  • 256-bitiste täisarvuvektorite tugi (varem oli tugi ainult 128-bitistele);
  • kogumisjuhiste tugi, mis eemaldab nõude külgneva andmete asukoha kohta mälus; nüüd “kogutakse” andmeid erinevatelt mäluaadressidelt – huvitav on näha, kuidas see jõudlust mõjutab;
  • juhiste lisamine bittide manipuleerimiseks/operatsioonideks.

Üldiselt uus komplekt on rohkem keskendunud täisarvude aritmeetikale ja AVX 2.0 peamine eelis on nähtav ainult täisarvuliste operatsioonide puhul.

Fused Multiply-Add (FMA3)

FMA on kombineeritud korrutamisoperatsioon, milles kaks arvu korrutatakse ja lisatakse akumulaatorisse. Seda tüüpi toiming on üsna levinud ja võimaldab tõhusamalt rakendada vektorite ja maatriksite korrutamist. Selle laienduse tugi peaks oluliselt suurendama vektoroperatsioonide jõudlust. FMA3 on juba toetatud AMD protsessorid Piledriveri südamikuga ja FMA4 buldooseris.

FMA on korrutamis- ja liitmistehte kombinatsioon: a=b×c+d.

Mis puutub FMA3-sse, siis tegemist on kolme operandiga, st tulemus kirjutatakse ühele kolmest käsus osalevast operandist. Selle tulemusena saame tehte nagu a=b×c+a, a=a×b+c, a=b×a+c.

FMA4 on neljast operandist koosnevad käsud, mille tulemus kirjutatakse neljandale operandile. Käsk on kujul: a=b×c+d.

Rääkides FMA3-st: see uuendus suurendab tootlikkust rohkem kui 30%, kui kood kohandada FMA3-ga. Väärib märkimist, et kui Haswell oli veel kaugel silmapiiril, plaanis Intel rakendada FMA3 asemel FMA4, kuid muutis hiljem oma otsust FMA3 kasuks. Tõenäoliselt just seetõttu tuli Bulldozer välja FMA4 toega: nad ütlevad, et neil polnud aega seda Inteliks teisendada (kuid Piledriver tuli välja FMA3-ga). Veelgi enam, algselt kavandati Bulldozer 2007. aastal koos FMA3-ga, kuid pärast seda, kui Intel teatas FMA4 kasutuselevõtu plaanist 2008. aastal, muutis AMD oma otsust, vabastades Bulldozeri koos FMA4-ga. Ja Intel muutis seejärel oma plaanides FMA4 FMA3-ks, kuna FMA4-st saadav kasu FMA3-ga võrreldes on väike ja elektriseadmete komplikatsioon. loogikaahelad- märkimisväärne, mis suurendab ka transistori eelarvet.

AVX2 ja FMA3 eelised ilmnevad pärast seda, kui tarkvara on kohandatud nende juhistega, nii et te ei tohiks oodata jõudluse kasvu "siin ja praegu". Ja kuna tarkvaratootjad on üsna inertsed, peavad "täiendavad" jõudlused ootama.

Tehingumälu

Mikroprotsessorite areng on toonud kaasa lõimede arvu suurenemise – kaasaegses lauaarvuti protsessoris on neid kaheksa või enam. Suur hulk lõime tekitab üha suuremaid raskusi mitme lõimega mälule juurdepääsu rakendamisel. On vaja kontrollida muutujate asjakohasust RAM-is: teatud lõimede jaoks on vaja blokeerida andmete õigeaegne kirjutamine ja lubada teiste lõimede jaoks andmete lugemist või muutmist. See on keeruline ülesanne ja andmete ajakohasena hoidmine mitme lõimega programmid Arendati tehingumälu. Kuid tänaseni rakendati seda tarkvaras, mis vähendas tootlikkust.

Haswellil on uus Transactional Synchronization Extensions (TSX) - tehingumälu, mis on loodud mitme lõimega programmide tõhusaks rakendamiseks ja nende töökindluse suurendamiseks. See laiendus võimaldab teil rakendada tehingumälu "riistvaras", suurendades seeläbi üldist jõudlust.

Mis on tehingumälu? See on mälu, millel on mehhanism paralleelsete protsesside haldamiseks, et tagada juurdepääs jagatud andmetele. TSX laiendus koosneb kahest komponendist: riistvaraluku Elision (HLE) ja Restricted Transaction Memory (RTM).

RTM-komponent on juhiste kogum, mida programmeerija saab kasutada tehingu alustamiseks, lõpetamiseks ja katkestamiseks. HLE komponent tutvustab eesliiteid, mida TSX-i toeta protsessorid ignoreerivad. Prefiksid pakuvad muutujate lukustamist, võimaldades teistel protsessidel kasutada (lugeda) lukustatud muutujaid ja käivitada nende koodi seni, kuni tekib lukustatud andmete kirjutamise konflikt.

Hetkel on seda laiendust kasutavad rakendused juba ilmunud.

Virtualiseerimine

Virtualiseerimise tähtsus kasvab pidevalt: üha enam asuvad paljud virtuaalserverid ühes füüsilises serveris ning pilveteenused levivad üha enam. Seetõttu on virtualiseerimistehnoloogiate ja virtualiseeritud keskkondade kiiruse suurendamine serverisegmendis väga kiireloomuline ülesanne. Haswell sisaldab mitmeid täiustusi, mis on spetsiaalselt suunatud virtualiseeritud keskkondade jõudluse suurendamisele. Loetleme need:

  • täiustused külalissüsteemidelt hostsüsteemile ülemineku aja vähendamiseks;
  • lisatud juurdepääsubitid laiendatud lehetabelisse (EPT);
  • TLB juurdepääsuaeg on vähenenud;
  • uued juhised hüperviisori kutsumiseks ilma käsku vmexit täitmata;

Selle tulemusena on üleminekuaeg virtualiseeritud keskkondade vahel vähenenud alla 500 protsessoritsükli. Selle tulemuseks peaks olema virtualiseerimisega seotud üldise jõudluse üldkulude vähenemine. Ja uus Xeon E3-12xx-v3 on selles ülesannete klassis arvatavasti kiirem kui Xeon E3-12xx-v2.

Sisseehitatud pingeregulaator

Haswellis viidi pingeregulaator emaplaadilt protsessori kaane alla. Varem (Sandy Bridge) tuli protsessor ühendada erinevad pinged graafika südamiku jaoks, süsteemiagendi jaoks, protsessori tuumade jaoks jne. Nüüd antakse protsessorile läbi pistikupesa ainult üks pinge Vccin 1,75 V, mis antakse sisseehitatud pingeregulaatorile. Pingeregulaator koosneb 20 elemendist, iga element loob 16 faasi koguvooluga 25 A. Kokku saame 320 faasi, mis on oluliselt rohkem kui isegi kõige keerukamatel emaplaatidel. Selline lähenemine võimaldab mitte ainult lihtsustada emaplaatide paigutust (ja seega vähendada nende maksumust), vaid ka täpsemalt reguleerida protsessori sees olevaid pingeid, mis omakorda toob kaasa suurema energiasäästu.

See on üks peamisi põhjusi, miks Haswell ei saa füüsiliselt ühilduda vana LGA1155 pesaga. Jah, võime rääkida Inteli soovist raha teenida, andes igal aastal välja uue platvormi (uue kiibistiku) ja iga kahe aasta tagant uue pesa, kuid sel juhul on pistikupesa vahetamisel objektiivsed põhjused: füüsiline/elektriline ühildumatus.

Siiski on kõigel oma hind. Pingeregulaator on uues protsessoris veel üks märgatav soojusallikas. Ja arvestades, et Haswelli valmistamisel kasutatakse sama protsessitehnoloogiat nagu tema eelkäija Ivy Bridge, peaksime eeldama, et protsessor on kuumem.

Üldiselt on see paranemine kasulikum mobiilisegmendis: kiiremad ja täpsemad pingemuutused vähendavad energiatarbimist, samuti kontrollivad tõhusamalt protsessori tuumade sagedust. Ja ilmselt pole see tühi turundusavaldus, sest Intel kavatseb välja kuulutada ülimadala energiatarbimisega mobiilprotsessoreid.

Uued energiasäästurežiimid

Haswellil on uued S0ix puhkeolekud, mis on sarnased S3/S4 olekutele, kuid protsessori tööolekusse üleminekuks kulub palju lühem aeg. Lisatud on ka uus C7 jõudeolek.

C7 režiimiga kaasneb protsessori põhiosa väljalülitamine, samal ajal kui pilt ekraanil jääb aktiivseks.

Protsessorite minimaalne tühikäigusagedus on 800 MHz, mis peaks ka voolutarvet vähendama.

Protsessori arhitektuur

Esiots

Haswelli konveieril, nagu ka SB-l, on 14–19 etappi: 14 etappi µop vahemälu tabamuse jaoks, 19 möödalaskmise jaoks. µop vahemälu suurus pole võrreldes SB - 1536 µop-ga muutunud. Uop-vahemälu korraldus jäi samaks, mis SB-s - 32 kaheksast reast koosnevat komplekti, millest igaühel oli kuus uopi. Kuigi täitmisseadmete arvu suurenemise, aga ka uop-vahemälu järel tekkivate puhvrite tõttu võis oodata uop-vahemälu suurenemist - kuni 1776 uops-ni (miks täpselt sellest mahust tuleb juttu allpool).

Dekooder

Võib öelda, et dekooder pole muutunud - see jääb neljasuunaliseks, nagu SB. See koosneb neljast paralleelsest kanalist: ühest keerulisest translaatorist (keeruline dekooder) ja kolmest lihtsast (lihtne dekooder). Keeruline tõlkija suudab töödelda/dekodeerida keerukaid juhiseid, mis genereerivad rohkem kui ühe uop. Ülejäänud kolm kanalit dekodeerivad lihtsaid juhiseid. Muide, makrooperatsioonide ühendamise tõttu genereerivad laadimis- ja mahalaadimisjuhised näiteks ühe uop ja seda saab dekodeerida “lihtsates” dekoodrikanalites. SSE juhised genereerivad ka ühe uop, nii et neid saab dekodeerida mis tahes kolmest lihtsast kanalist. Arvestades 256-bitiste AVX-i, FMA3 tulekut ning suurenenud päästikuportide ja funktsiooniseadmete arvu, ei pruugi sellest dekoodri kiirusest lihtsalt piisata – ja sellest võib saada kitsaskoht. Osaliselt laiendab seda kitsaskohta L0m uop vahemälu, kuid 8 käivituspordiga protsessori olemasolul peaks Intel siiski mõtlema dekoodri laiendamisele - eriti ei teeks halba keerukate kanalite arvu suurendamine.

Planeerija, ümberjärjestuspuhver, täitmisüksused

Pärast dekoodrit tuleb dekodeeritud juhiste järjekord ja siin näeme esimest muudatust. SB-l oli kaks 28 kirjega järjekorda – üks järjekord virtuaalse hüperlõime (HT) lõime kohta. Haswellis ühendati kaks järjekorda üheks ühiseks kahe HT lõime jaoks 56 kirjega, see tähendab, et järjekorra maht ei muutunud, kuid kontseptsioon muutus. Nüüd on kogu 56 kirjest koosnev maht ühe lõime jaoks teise puudumisel saadaval - seetõttu võime oodata nii madala lõimega kui ka mitme lõimega rakenduste arvu suurenemist (see on tingitud asjaolust, et kaks lõime saavad kasutada ühtne järjekord tõhusamalt).

Samuti muudeti ümberjärjestamispuhvrit – seda suurendati 168-lt 192-le. See peaks parandama HT tõhusust, kuna on suurem tõenäosus, et uops on üksteisest "sõltumatud". Dekodeeritud mikrooperandide järjekorda on suurendatud 54-lt 60-le. Samuti on suurendatud SB-s ilmunud füüsiliste registrite faile - täisarvuliste operandide puhul 160-lt 168-le ja ujukomaoperandidele 144-lt 168-le, millel peaks olema positiivne väärtus. mõju vektorarvutuste toimivusele.

Võtame kõik andmed puhvrite ja järjekordade muutuste kohta ühte tabelisse.

Põhimõtteliselt tunduvad Haswelli parameetrite muutused Inteli protsessorite arhitektuuri üldist arenguloogikat arvestades üsna ootuspärased. Samast loogikast lähtudes võime eeldada, et järgnevas Generation Core puhvrite ja järjekordade suurused ei suurene rohkem kui 14%, see tähendab, et ümberjärjestuspuhvri suurus on umbes 218. Kuid need on puhtalt teoreetilised oletused.

Dekodeeritud toimingute järjekorra järel on käivituspordid ja nendega seotud pordid. funktsionaalsed seadmed. Selles etapis peatume üksikasjalikumalt.

Nagu me teame, oli Sandy Bridge'il kuus stardiporti, mille ta päris Nehalemilt, mis omakorda Conroelt. See tähendab, et alates 2006. aastast, mil Intel lisas Pentium 4-le saadaolevale neljale pordile veel kaks, ei ole käivitusportide arv muutunud – lisandunud on vaid uusi funktsionaalseid seadmeid. Siiski tasub mainida, et P4-l oli omamoodi originaalne NetBursti arhitektuur, milles selle kaks porti suutsid ühe taktitsükli jooksul teha kaks toimingut (kuigi mitte kõigi operatsioonidega). Kuid kõige õigem oleks jälgida käivitusportide arvu arengut mitte P4, vaid PIII näite abil, kuna P4-l on pikk konveier ja "topelt" jõudlusega käivituspordid ja jälgimisvahemälu. ja kogu selle arhitektuur erineb märgatavalt üldtunnustatud arhitektuurist. Ja Pentium III on käivitusportide funktsionaalse skeemi poolest Conroele väga lähedal ja sellel on ka lühike konteiner. Seega võib üldiselt öelda, et Conroe on PIII otsene järglane. Selle põhjal võib väita, et 2006. aastal lisandus viie stardipordiga PIII-ga võrreldes vaid üks stardiport.

Seega kasvab käivitusportide arv üsna aeglaselt ja kui uusi lisandub, siis ükshaaval. Haswell lisas kaks korraga, andes kokku kaheksa porti – vaid veidi rohkem ja jõuame Itaniumini. Sellest lähtuvalt näitab Haswell teoreetilist jõudlust 8 UOP-i tsükli kohta, millest 4 UOP-d kulutatakse aritmeetilistele tehtetele ja ülejäänud 4 mälutoimingutele. Tuletame meelde, et Conroe/Nehalem/SB oli 6 uops/tsükkel: 3 uops aritmeetiliste tehte jaoks ja 3 uops mälutehte jaoks. See täiustus peaks tõstma IPC skoori ja seega on Haswelli arhitektuuris tõepoolest toimunud väga tõsised muudatused, mis õigustavad täielikult selle kohta Inteli arengukavas "nii".

FU muutused Haswellis

Samuti on suurendatud täiturmehhanismide arvu. Uus kuues (seitsmes) port lisas kaks täiendavat täiturmehhanismi - täisarvude aritmeetika ja nihke seade ning haru ennustamise seade. Aadressi mahalaadimise eest vastutab seitsmes (kaheksas) sadam.

Seega saame neli täisarvu aritmeetilist täitmisühikut, samas kui Sandy Bridge andis meile ainult kolm. Seetõttu võime oodata täisarvude aritmeetika kiiruse suurenemist. Lisaks peaks see teoreetiliselt võimaldama meil teha korraga nii ujukoma kui ka täisarvu arvutusi, mis omakorda võib tõsta NT efektiivsust. SB-s viidi ujukomaarvutused läbi samadel portidel, kus kasutati täisarvufunktsiooni seadmeid, nii et üldiselt toimus blokeerimine, st teil ei saanud olla "heterogeenset" koormust. Samuti tuleb märkida, et lisades lisaseadeüleminek Haswellis võimaldab aritmeetiliste arvutuste ajal ennustada üleminekut ilma blokeerimiseta - varem oli täisarvude arvutuste ajal ainus haru ennustaja blokeeritud, st kasutada oli võimalik kas aritmeetilist täitmisüksust või ennustajat. Porte 0 ja 1 on samuti muudetud – need toetavad nüüd FMA3. Intel tutvustas efektiivsuse suurendamiseks ja "blokeeringu" eemaldamiseks seitsmendat (kaheksandat) porti - kui teine ​​ja kolmas port töötavad allalaadimiseks, saab seitsmenda (kaheksanda) pordi üleslaadimisega tegeleda, mis varem oli lihtsalt võimatu. See lahendus on vajalik AVX/FMA3 koodi suure täitmiskiiruse tagamiseks.

Üldiselt võib nii lai juhitee viia HT-s muutumiseni – muutes selle neljalõimeliseks. Kaasprotsessorites Intel Xeon Palju kitsama HT täitmisteega Phi on neljalõimeline ning nagu uuringud ja testid näitavad, skaleerub kaasprotsessor päris hästi. See tähendab, et isegi kitsam täitmistee võimaldab põhimõtteliselt tõhusalt töötada nelja lõimega. Ja kaheksa käivituspordiga tee suudab üsna tõhusalt läbida nelja lõime ja pealegi saab nelja lõime olemasolu paremini laadida kaheksa käivitusporti. Tõsi, selleks suurem efektiivsus Sõltumatute andmete suurema tõenäosuse suurendamiseks on vaja puhvreid (peamiselt ümberkorraldamispuhvrit) suurendada.

Haswell kahekordistas ka L1-L2 läbilaskevõimet, säilitades samal ajal samad latentsusväärtused. See meede oli lihtsalt vajalik, kuna 32-baidisest kirjutamisest ja 16-baidisest lugemisest ei piisaks kaheksa käivituspordi, aga ka 256-bitise AVX-i ja FMA3 olemasolu tõttu.

LiivasildHaswell
L1i32k, 8-suunaline32k, 8-suunaline
L1d32k, 8-suunaline32k, 8-suunaline
Latentsus4 meedet4 meedet
Allalaadimise kiirus32 baiti/kell64 baiti/kell
Kirjutamise kiirus16 baiti tsükli kohta32 baiti/kell
L2256k, 8-suunaline256k, 8-suunaline
Latentsus11 meedet11 meedet
Ribalaius L2 ja L1 vahel32 baiti/kell64 baiti/kell
L1i TLB4k: 128, 4-suunaline
2M/4M: 8/niit
4k: 128, 4-suunaline
2M/4M: 8/niit
L1d TLB4k: 128, 4-suunaline
2M/4M: 7/niit
1G: 4, 4-suunaline
4k: 128, 4-suunaline
2M/4M: 7/niit
1G: 4, 4-suunaline
L2 TLB4k: 512, 4-suunaline4k+2M jagatud: 1024, 8-suunaline

TLB L2 suurendati 1024 kirjeni ja ilmus kahe megabaidise lehtede tugi. TLB L2 suurenemine tõi kaasa ka assotsiatiivsuse suurenemise neljalt kaheksale.

Mis puudutab kolmanda taseme vahemälu, siis sellega on olukord ebaselge: uues protsessoris peaks juurdepääsu latentsus sünkroonimiskadude tõttu suurenema, sest nüüd töötab L3 vahemälu loomulik sagedus, ja mitte protsessorituumade sagedusel, nagu varem. Kuigi juurdepääs toimub endiselt 32 baiti taktitsükli kohta. Teisest küljest räägib Intel System Agenti muudatustest ja Load Balanceri ploki täiustustest, mis suudavad nüüd paralleelselt töödelda mitut L3 vahemälupäringut ning eraldada need andme- ja mitteandmepäringuteks. See peaks suurendama L3 vahemälu läbilaskevõimet (mõned testid kinnitavad seda, L3 vahemälu ribalaius on veidi suurem kui IB).

Haswelli L3 vahemälu tööpõhimõte on mõnevõrra sarnane Nehalemiga. Nehalemis asus L3 vahemälu Uncore'is ja sellel oli oma fikseeritud sagedus, SB-s aga oli L3 vahemälu seotud protsessori tuumadega - selle sagedus sai võrdseks protsessori tuumade sagedusega. Seetõttu tekkisid probleemid - näiteks kui protsessori tuumad töötasid koormuse puudumisel vähendatud sagedustel (ja LLC jäi magama) ning GPU vajas kõrget LLC PS-i. See tähendab, et see otsus on piiratud GPU jõudlus, ja pealegi oli LLC äratamiseks vaja protsessori tuumad jõudeolekust välja tuua. Uus protsessor energiatarbimise ja tõhususe parandamiseks GPU tööülaltoodud olukordades töötab L3 vahemälu oma sagedusel. Sellest lahendusest peaksid kõige rohkem kasu saama pigem mobiilsed kui lauaarvutilahendused.

Väärib märkimist, et vahemälu suurustel on teatav sõltuvus. Kolmanda taseme vahemälu on kaks megabaiti tuuma kohta, teise taseme vahemälu on 256 KB, mis on kaheksa korda vähem kui L3 maht tuuma kohta. Esimese taseme vahemälu maht on omakorda kaheksa korda väiksem kui L2 ja on 32 KB. Uop vahemälu sobib sellesse sõltuvusse suurepäraselt: selle maht 1536 uops on 7-9 korda väiksem kui L1 (seda on võimatu täpselt kindlaks teha, kuna uop biti suurus on teadmata ja tõenäoliselt Intel sellel teemal ei laiene ). Ümberjärjestamispuhver 168 uops on omakorda täpselt kaheksa korda väiksem kui uop vahemälu 1536 uops, kuigi puhvrite ja järjekordade laialdase suurenemise põhjal võiks oodata uop vahemälu 14% suurenemist, st. kuni 1776. Seega on puhvrite ja vahemälude mahud proportsionaalsed. See on ilmselt veel üks põhjus, miks Intel L1/L2 vahemälu ei suurenda, pidades selliseid mahtude proportsioone kõige tõhusamaks jõudluse suurendamise seisukohast piirkonna kasvu kohta. Väärib märkimist, et sisseehitatud tipptasemel graafikatuumaga protsessoritel on laia juurdepääsusiiniga vahekiire mälu, mis salvestab vahemällu kõik päringud RAM-ile – nii protsessorile kui ka videokiirendile. Selle mälu maht on 128 MB. Protsessori tuumade puhul, kui võtta seda mälu kui L4 vahemälu, siis maht oleks pidanud olema 64 megabaiti ja graafikatuuma lisandudes tundub 128 MB kasutamine üsna loogiline.

Mis puutub mälukontrollerisse, siis see ei saanud ei kanalite arvu ega RAM-i töösageduse suurenemist, see tähendab, et see on endiselt sama mälukontroller, millel on kahe kanaliga juurdepääs sagedusel 1600 MHz. See otsus tundub üsna kummaline, sest üleminek SB-lt IB-le suurendas ICP töösagedust 1333 MHz-lt 1600 MHz-ni, kuigi see oli vaid arhitektuuri üleminek uuele tehnilisele protsessile. Ja nüüd on meil uus arhitektuur, samas kui mälu toimimise sagedus jääb samale tasemele.

See tundub veelgi kummalisem, kui meenutada graafikatuuma täiustusi – lõppude lõpuks mäletame, et isegi IB-s olev odav HD2500 videokaart kasutas täielikult ära 25 GB/s ribalaiuse. Nüüd on nii protsessori jõudlus kui ka graafika jõudlus kasvanud, samas kui mälu ribalaius on jäänud samale tasemele. Laiemas plaanis suurendab konkurent pidevalt oma APU-de mälu ribalaiust ja see on Inteli omast suurem. Loogiline oleks eeldada, et Haswell toetab mälu sagedusega 1866 MHz või 2133 MHz, mis tõstaks ribalaiuse vastavalt 30 ja 34 GB/s.

Selle tulemusena see Inteli lahendus pole päris selge. Esiteks tutvustas konkurent kiirema mälu tuge ilma probleemideta. Teiseks ei ole 1866 MHz sagedusel töötavate mälumoodulite maksumus 1600 MHz moodulitega võrreldes palju kõrgem ja pealegi pole kellelgi kohustust osta 1866 MHz mälu - valik jääks kasutaja teha. Kolmandaks ei saa olla probleeme mitte ainult 1866 MHz, vaid ka 2133 MHz toega: alates Haswelli väljakuulutamisest on püstitatud RAM-i kiirendamise maailmarekordid, see tähendab, et ICP oleks ilma selleta hakkama saanud enamaga. mingeid probleeme kiire mälu. Neljandaks väidab Xeon E5-2500 V2 (Ivy Bridge-EP) serveriliin 1866 MHz toetust, kuid Intel võtab sellel turul kiiremate mälustandardite toe tavaliselt palju hiljem kui lauaarvutilahendused.

Põhimõtteliselt võiks eeldada, et konkurentsi puudumisel ei pea Intel oma lihaseid “niisama” üles ehitama ja oma paremust veelgi suurendama, kuid see eeldus on absoluutselt vale, kuna mälu ribalaiuse suurendamine reeglina suurendab integreeritud graafikatuuma jõudlust ja peaaegu ei suurenda protsessori jõudlust. Samal ajal jääb Intel graafika jõudluses endiselt AMD-st maha ja viimastel aastatel on Intel ise järjest rohkem tähelepanu pööranud graafikale ning selle paranemise määr on palju suurem kui protsessori tuum. Lisaks, kui tugineda eelmise põlvkonna HD4000 integreeritud graafikatuuma testimise tulemustele, mis näitasid, et mälu ribalaiuse suurenemine toob kaasa graafika jõudluse tõusu kuni 30%, ning võttes arvesse ka seda, et uus graafikatuum HD4600 on märgatavalt kiirem kui HD4000, siis muutub graafikatuuma jõudluse sõltuvus PSP-st veelgi ilmsemaks. Uut graafikatuuma piirab veelgi "kitsas" mälu ribalaius. Kõiki fakte kokku võttes on Inteli otsus täiesti arusaamatu: ettevõte ise “kägistas” oma graafika, kuid ribalaiuse suurendamine võib selle jõudlust parandada.

Vahemälude arhitektuuri juurde tagasi tulles viskame mõtte tühjaks: kuna vahepealne vahemälu (mop cache) on lisatud, siis miks mitte lisada ca 4-8 KB suurune ja väiksema ligipääsuga andmevahemälu. latentsus L1d vahemälu ja täitevseadmete vahel, nagu P4-st (kuna uop vahemälu kontseptsioon võeti Netburstist)? Tuletame meelde, et P4-s oli selle vahepealse andmevahemälu juurdepääsuaeg kaks taktitsüklit ja üks P4 tsükkel oli võrdne umbes 0,75 tavalise protsessori taktsagedusega, see tähendab, et juurdepääsuaeg oli umbes poolteist taktitsüklit. Samas ehk näeme veel midagi sarnast – Intel armastab meenutada hästi unustatud vanu asju.

Nagu näete, enamik arhitektuurne Inteli muudatused mille eesmärk oli suurendada AVX/FMA3 koodi jõudlust: see hõlmas vahemälu läbilaskevõime suurenemist, portide arvu suurenemist ja üles-/allalaadimiskiiruse suurenemist täitmisteel. Selle tulemusel peaks peamise jõudluse kasvu tulema AVX/FMA3 abil kirjutatud tarkvarast. Põhimõtteliselt tundub testitulemuste põhjal otsustades, et nii see on. Kuiv jõudlus samal sagedusel "vanades" rakendustes kasvas eelmise tuumaga võrreldes umbes 10% ja uute käsukomplektide abil kirjutatud rakendused näitavad rohkem kui 30% tõusu. Seega ilmnevad Haswelli arhitektuuri eelised, kui rakendused optimeeritakse uute käsukomplektide jaoks. Siis tuleb ilmsiks Haswelli paremus SB üle.

Märkimisväärse osa uuendustest saavad põhikasu mobiilseadmed. Neid aidatakse ja uus lähenemine L3 vahemällu ja sisseehitatud pingeregulaatorit ja uusi puhkerežiime ning protsessori tuumade madalamaid minimaalseid töösagedusi.

Järeldus (protsessori osa)

Mida võite Haswellilt oodata?

Käivitusportide arvu suurenemise tõttu võite oodata IPC kasvu, nii et kerge eelis Uus Haswelli arhitektuur Sandy Bridge'i kohal on nüüd sama sagedusega, isegi optimeerimata tarkvara korral. AVX2/FMA3 juhised on aluseks tulevikule ja see tulevik sõltub tarkvaraarendajatest: mida kiiremini nad oma rakendusi kohandavad, seda kiiremini näeb lõppkasutaja jõudlust. Siiski ei tasu oodata kasvu kõiges ja igal pool: SIMD juhiseid kasutatakse peamiselt multimeediumiandmetega töötamisel ja teaduslikes arvutustes, seega tuleks nende ülesannete puhul oodata jõudluse kasvu. Peamine kasu energiatõhususe suurendamisest on mobiilsidesüsteemides, kus see küsimus on tõesti oluline. Seega kaks peamist suunda, milles uus arhitektuur Intel Haswell Märkimisväärne kasu on SIMD jõudluse suurenemine ja energiatõhususe suurenemine.

Uute Haswelli protsessorite rakendatavuse osas tasub uurida mitmeid erinevaid valikuid nende rakendused: lauaarvutites, serverites, mobiililahendustes, mänguritele, ülekiirendajatele.

Töölaud

Voolutarve ei ole lauaarvuti protsessori puhul võtmetähtsusega aspekt, nii et isegi kalli elektriga Euroopas on vähetõenäoline, et keegi just seetõttu eelmistelt põlvkondadelt Haswellile üle läheb. Veelgi enam, Haswelli TDP on kõrgem kui IB-l, seega säästetakse ainult minimaalsete koormuste korral. Kui küsimus on nii püstitatud, ei saa olla kahtlust – see pole seda väärt.

Jõudluse seisukohalt ei paista üleminek samuti nii tulusa tehinguna: protsessori ülesannete maksimaalne kiiruse kasv ei ületa nüüd 10%. Sandy Bridge'ilt või Ivy Bridge'ilt Haswellile üleminek on õigustatud ainult siis, kui kavatsete kasutada FMA3 ja AVX2 pädeva toega rakendusi: FMA3 tugi võib mõne rakenduse puhul suurendada 30%-lt 70%-le. Virtualiseerimise ja tehingumälu rakendamisega seotud täiustused pakuvad töölaua jaoks vähe huvi ja kasutust.

Serverid ja tööjaamad

Arvestades, et serverid töötavad pidevalt 24 tundi ööpäevas ja neil on protsessorile üsna suur pidev koormus, ei ole Haswell tõenäoliselt puhta voolutarbimise poolest IB-st parem, kuigi see võib anda teatud võitu jõudluses vati kohta. Tõenäoliselt pole AVX2/FMA3 tugi serverites kasulik, kuid teaduslike arvutustega seotud tööjaamades on see tugi väga-väga kasulik – kuid ainult siis, kui kasutatud tarkvara toetab uusi juhiseid. Tehingumälu on üsna kasulik asi, kuid ka mitte alati: see võib suurendada mitme lõimega programmide ja andmebaasidega töötavate programmide arvu, kuid tõhus kasutamine Samuti on vajalik tarkvara optimeerimine.

Kuid kõik virtualiseerimisega seotud täiustused annavad suure tõenäosusega head efekti, kuna virtuaalseid keskkondi kasutatakse nüüd väga aktiivselt ja enamikul füüsilistel serveritel on mitu virtuaalset serverit. Veelgi enam, virtualiseerimise levikut ei seleta mitte ainult virtuaalse keskkonna kulude märgatav vähenemine jõudluse osas, vaid ka majanduslik efektiivsus: Paljude virtuaalserverite sisaldamine ühes füüsilises serveris on odavam ja võimaldab efektiivsemalt kasutada ressursse, sh protsessoriressursse.

Nii edasi serveriturg Haswelli välimust tuleks positiivselt tervitada. Pärast Xeon E3-1200v1 ja Xeon E3-1200v2 serverite vahetamist Xeon E3-1200v3 (Haswell) serveritega saate koheselt efektiivsuse tõusu ning pärast tarkvara optimeerimist AVX2/FMA3 ja tehingumälu jaoks suureneb jõudlus isegi rohkem.

Mobiililahendused

Peamine kasu Haswelli kasutuselevõtust mobiilisegmendis seisneb loomulikult paremas energiatarbimises. Inteli esitluste ja juba Internetis ilmuvate testitulemuste põhjal otsustades on efekt tõesti ja märgatav.

Puhtalt jõudluse mõttes ei tundu Ivy Bridge'ilt Haswellile üleminek nii mõistlik ettevõtmine: puhaskasum peaks olema suhteliselt väike ja paranemine üksikud komponendid(sama virtualiseerimis- või multimeediumijuhised) ei anna tõenäoliselt mobiilsüsteemi kasutajale suurt midagi, kuna need loovad harva keskkondi või keerulisi teaduslikke arvutusi sülearvutites ja tahvelarvutites.

Üldiselt ei tohiks protsessori jõudluse osas palju oodata, kuid mobiilsüsteemid nõuavad kindlasti graafikatuuma jõudluse suurendamist. Seega, kui energiatarbimisega seotud probleemid ei ole teie jaoks kriitilise tähtsusega, siis ei tohiks te tõsiselt kaaluda Sandy Bridge'i või Ivy Bridge'i versiooniuuendust - parem on jätkata olemasolevate süsteemide kasutamist, kuni need täielikult vananevad. Kui töötate sageli akudega, võib Haswell aku kasutusaega oluliselt pikendada.

Mängijad

Venemaa mängijate energiatarbimise küsimus ei ole reeglina probleem - ja miks see peaks olema, kui mänguvideokaardid tarbivad 200 vatti või rohkem? Mängijad ei vaja ka virtualiseerimist ja tehingumälu. Pole tõsi, et AVX2/FMA3 on spetsiaalselt mängude jaoks nõutud, kuigi need võivad olla kasulikud füüsikalistes arvutustes. Järele jääb puhas protsessori jõudlus ja siin on vahe sellesama Ivy Bridge'iga väike. Seetõttu ei tundu selle kasutajakategooria jaoks asjakohane ka otsene üleminek SB-lt või IB-lt Haswellile. Kuid on mõttekas üle minna Nehalemi ja Lynifieldi ning veelgi enam Conroe uutele protsessoritele.

Ülekiirendajad

Ülekiirendajatele uus protsessor(aga muidugi ainult selle “lukustamata” K-versioon) võib olla huvitav, eriti kui õnnestub see “peanahkida” ehk eemaldada metallkate ja kristalli otse jahutada. Kui seda ei tehta, näevad kiirendamise tulemused isegi tagasihoidlikumad välja kui Ivy Bridge'i omad. Lisaks võib integreeritud pingeregulaator olla piirav tegur. Loe selle kohta lähemalt

#Xeon

Üsna sageli valides ühe protsessoriga serveri või tööjaam Tekib küsimus, millist protsessorit kasutada – serverit Xeon või tavalist Core ix’i. Arvestades, et need protsessorid on ehitatud samadele tuumadele, langeb valik üsna sageli lauaarvutite protsessoritele, mille hind on sarnase jõudlusega tavaliselt madalam. Miks Intel siis Xeon E3 protsessoreid välja laseb? Selgitame välja.

Tehnilised andmed

Alustuseks võtame Xeoni protsessori madalaima mudeli praegusest mudelivalik- Xeon E3-1220 V3. Vastane saab olema Põhiprotsessor i5-4440. Mõlemad protsessorid põhinevad Haswelli tuumal, neil on sama kellasagedus ja sarnased hinnad. Nende kahe protsessori erinevused on toodud tabelis:

Integreeritud graafika saadavus. Esmapilgul on eelis Core i5-l, kuid kõigil serveri emaplaatidel on integreeritud graafikakaart, mida pole vaja graafika kiip protsessoris ja tööjaamad ei kasuta tavaliselt integreeritud graafikat nende suhteliselt madala jõudluse tõttu.

ECC tugi. Suur kiirus ja suur hulk RAM-i suurendavad tarkvaravigade tõenäosust. Tavaliselt on sellised vead nähtamatud, kuid vaatamata sellele võivad need põhjustada andmete muutumist või süsteemi krahhi. Kui selleks lauaarvutid Kuigi sellised vead ei ole nende harvaesinemise tõttu ohtlikud, on need serverites, mis töötavad ööpäevaringselt mitu aastat, vastuvõetamatud. Nende parandamiseks kasutatakse ECC (error-correcting code) tehnoloogiat, mille efektiivsus on 99,988%.

Soojuskujundusvõimsus (TDP). Sisuliselt protsessori energiatarve maksimaalsel koormusel. Xeoonidel on tavaliselt väiksem soojusümbris ja nutikamad energiasäästualgoritmid, mille tulemuseks on kokkuvõttes madalamad elektriarved ja tõhusam jahutus.

L3 vahemälu. Vahemälu on omamoodi kiht protsessori ja RAM-i vahel, millel on väga suur kiirus. Mida suurem on vahemälu maht, seda kiiremini protsessor töötab, kuna isegi väga kiire RAM on vahemälust oluliselt aeglasem. Xeoni protsessoritel on tavaliselt suuremad vahemälu suurused, mistõttu on need ressursimahukate rakenduste jaoks eelistatavad.

Sagedus / Sagedus TurboBoost režiimis. Siin on kõik lihtne - mida kõrgem on sagedus, seda kiiremini töötab protsessor, kõik muud asjad on võrdsed. Baassagedus, st sagedus, millega protsessorid töötavad täiskoormusel, on sama, kuid sisse Turbo Boost, see tähendab, kui töötate rakendustega, mis pole mõeldud mitmetuumalised protsessorid,Xeon on kiirem.

Intel TSX-NI tugi. Intel Transactional Synchronization Extensions New Instructions (Intel TSX-NI) on protsessori vahemälusüsteemi lisand, mis optimeerib mitme lõimega rakenduste täitmiskeskkonda, kuid loomulikult ainult juhul, kui need rakendused kasutavad TSX-NI programmeerimisliideseid. TSX-NI käsukomplektid võimaldavad tõhusamalt rakendada tööd Big Data ja andmebaasidega – juhtudel, kui paljud lõimed pääsevad ligi samadele andmetele ja tekivad lõime blokeerimise olukorrad. Spekulatiivne andmete juurdepääs, mis on rakendatud TSX-is, võimaldab teil selliseid rakendusi tõhusamalt luua ja jõudlust dünaamilisemalt skaleerida, kui suurendate samaaegselt täidetavate lõimede arvu, lahendades jagatud andmetele juurdepääsul tekkinud konfliktid.


Usaldusväärne täitmise tugi. Inteli tehnoloogia Usaldusväärne täitmine parandab käskude turvalist täitmist Inteli protsessorite ja kiibikomplektide riistvaratäiustuste kaudu. See tehnoloogia pakub digitaalsetele kontoriplatvormidele turvafunktsioone, nagu rakenduste mõõdetud käivitamine ja turvaline käskude täitmine. See saavutatakse keskkonna loomisega, kus rakendused töötavad süsteemi teistest rakendustest isoleeritult.

Vanemate Xeoni protsessorite eelisteks saate lisada veelgi suurema L3 võimsuse, kuni 45 MB, suur kogus südamikud, kuni 18 ja rohkem toetatud RAM-i, kuni 768 GB protsessori kohta. Samal ajal ei ületa tarbimine 160 W. Esmapilgul on see väga suur väärtus, kuid arvestades, et selliste protsessorite jõudlus on mitu korda suurem kui sama Xeon E3-1220 V3 jõudlus 80 W TDP-ga, muutub kokkuhoid ilmselgeks. Samuti tuleb märkida, et ükski protsessorid Põhiperekond ei toeta multitöötlust, see tähendab, et ühte arvutisse on võimalik paigaldada mitte rohkem kui üks protsessor. Enamik serverite ja tööjaamade rakendusi skaleeruvad hästi tuumade, lõimede ja füüsiliste protsessorite lõikes, nii et kahe protsessori installimine suurendab jõudlust peaaegu kaks korda.

Kuupäev: 2014-08-13 22:26

Tagasi aastal 2007 AMD ettevõte andis välja uue põlvkonna Phenom protsessoreid. Need protsessorid, nagu hiljem selgus, sisaldasid viga TLB plokis (tõlke kõrvalpuhver kiire konversioon virtuaalsed aadressid füüsilisteks). Ettevõttel ei jäänud muud üle, kui lahendada see probleem BIOS-i paiga kujul, kuid see vähendas protsessori jõudlust umbes 15%.

Midagi sarnast on nüüd juhtunud ka Inteliga. Haswelli põlvkonna protsessorites rakendas ettevõte TSX (Transactional Synchronization Extension) juhiste toe. Need on loodud mitme lõimega rakenduste kiirendamiseks ja neid oleks pidanud kasutama peamiselt serverisegmendis. Hoolimata asjaolust, et Haswelli protsessorid on turul olnud üsna pikka aega, see komplekt Juhiseid praktiliselt ei kasutatud. Ilmselt seda lähitulevikus ei juhtu.

Fakt on see, et Intel tegi TSX-i juhistes kirjavea, nagu ettevõte ise seda nimetab. Muide, seda viga ei avastanud protsessorigigandi spetsialistid. See võib põhjustada süsteemi ebastabiilsust. Otsustama see probleem Ettevõte saab seda teha ainult ühel viisil, värskendades BIOS-i, mis keelab selle juhiste komplekti.

Muide, TSX-i ei rakendata mitte ainult Haswelli protsessorites, vaid ka esimestes Broadwelli protsessorimudelites, mis peaksid ilmuma Core M nime all. Ettevõtte esindaja kinnitas, et Intel kavatseb juurutada TSX-i juhiste “veavaba” versiooni. oma järgmistes toodetes tulevikus.

Sildid: Kommentaar

Eelmised uudised

2014-08-13 22:23
Sony Xperia Z2 jäi ellu pärast kuuenädalast viibimist soolase tiigi põhjas

Nutitelefonid muutuvad sageli uskumatute lugude kangelasteks, kus nad proovivad kanda soomusveski rolli, peatada kuuli ja päästa.

2014-08-13 21:46
IPhone 6 on jõudnud viimasesse testimisetappi

Viimaste andmete kohaselt uudisteagentuur Gforgames, iPhone 6 on jõudnud viimasesse testimisetappi enne uue nutitelefoni massilist tootmisse laskmist. Tuletame meelde, et iPhone 6 pannakse kokku Hiina tehastes...

2014-08-12 16:38
Kaheksatuumaline iRU M720G tahvelarvuti toetab kahte SIM-kaarti

Tahvelarvutil on 2 GB muutmälu ja 16 GB sisseehitatud välkmälu. Pardal on kaks kaamerat: peamine 8-megapiksline ja eesmine 2-megapiksline. iRU M720G on varustatud 3G, GPS, Wi-Fi, Bluetooth, FM raadiomoodulitega, samuti kahe SIM-kaardi pesaga, mis võimaldab teostada...

2014-08-10 18:57
LG on Venemaal välja andnud odava nutitelefoni L60

LG Electronics esitles Venemaal ilma suurema pompeossuseta uus mudel L-seeria III – LG L60. See odav nutitelefon on saadaval hinnavahemikus 4 kuni 5 tuhat rubla suurimast Venemaa ...