Mājas / Internets / ht tehnoloģija. Hipervītne, kas tas ir un kāpēc tā ir? CPU ar hipervītņu atbalstu

ht tehnoloģija. Hipervītne, kas tas ir un kāpēc tā ir? CPU ar hipervītņu atbalstu

15.03.2013

gadā parādījās Hyper-Threading tehnoloģija Intel procesori, biedējoši teikt, pirms vairāk nekā 10 gadiem. Un šobrīd tas ir svarīgs Core procesoru elements. Tomēr jautājums par HT nepieciešamību spēlēs joprojām nav pilnībā izprasts. Mēs nolēmām veikt testu, lai noskaidrotu, vai spēlētājiem ir nepieciešams Core i7, vai arī labāk ir iztikt ar Core i5. Un arī uzziniet, ar ko Core i3 ir labāks par Pentium.


Intel izstrādātā Hyper-Threading tehnoloģija, kas tiek izmantota tikai uzņēmuma procesoros, sākot ar neaizmirstamo Pentium 4, tagad ir kaut kas pašsaprotams. Tas ir aprīkots ar ievērojamu skaitu pašreizējās un iepriekšējo paaudžu procesoru. To arī tuvākajā laikā izmantos.

Un jāatzīst, ka Hyper-Threading tehnoloģija ir noderīga un pozitīvi ietekmē veiktspēju, pretējā gadījumā Intel to neizmantotu savu procesoru pozicionēšanai rindā. Un nevis kā mazsvarīgs elements, bet viens no svarīgākajiem, ja ne pats svarīgākais. Lai būtu skaidrs, par ko ir runa, esam sagatavojuši tabulu, kas ļauj ērti novērtēt Intel procesoru segmentācijas principu.


Kā redzat, starp Pentium un Core i3, kā arī starp Core i5 un Core i7 ir ļoti maz atšķirību. Faktiski i3 un i7 modeļi no Pentium un i5 atšķiras tikai ar trešā līmeņa kešatmiņas lielumu vienam kodolam (protams, neskaitot pulksteņa frekvenci). Pirmais pāris ir 1,5 megabaiti, bet otrais - 2 megabaiti. Šī atšķirība nevar radikāli ietekmēt procesoru veiktspēju, jo kešatmiņas lieluma atšķirība ir ļoti maza. Tāpēc Core i3 un Core i7 saņēma atbalstu Hyper-Threading tehnoloģijai, kas ir galvenais elements, kas ļauj šiem procesoriem iegūt veiktspējas priekšrocības attiecīgi salīdzinājumā ar Pentium un Core i5.

Līdz ar to nedaudz lielāka kešatmiņa un Hyper-Threading atbalsts ļaus iestatīt ievērojami augstākas cenas procesoriem. Piemēram, Pentium līnijas procesori (apmēram 10 tūkstoši tenge) ir aptuveni divas reizes lētāki nekā Core i3 (apmēram 20 tūkstoši tenge), un, neskatoties uz to, ka fiziski, aparatūras līmenī, tie ir absolūti vienādi un attiecīgi. , ir tādas pašas izmaksas. Cenu atšķirība starp Core i5 (apmēram 30 tūkstoši tenge) un Core i7 (apmēram 50 tūkstoši tenge) ir arī ļoti liela, lai gan jaunākos modeļos mazāk nekā divas reizes.


Cik pamatots ir šāds sadārdzinājums? Kādu reālu ieguvumu nodrošina Hyper-Threading? Atbilde jau sen zināma: pieaugums var būt dažāds – viss atkarīgs no lietojumprogrammas un tās optimizācijas. Nolēmām pārbaudīt, ko HT dara spēlēs, kā vienu no prasīgākajām "sadzīves" aplikācijām. Turklāt šis tests būs lielisks papildinājums mūsu iepriekšējam materiālam par procesora kodolu skaita ietekmi uz spēļu veiktspēju.

Pirms pāriet uz testiem, atcerēsimies (labi vai uzzināsim), kas ir Hyper-Threading tehnoloģija. Kā izteicās pats Intel, iepazīstinot šī tehnoloģija pirms daudziem gadiem tajā nav nekā īpaši sarežģīta. Patiesībā viss, kas nepieciešams, lai ieviestu HT fiziskajā līmenī, ir vienam fiziskajam kodolam pievienot nevis vienu reģistru kopu un pārtraukumu kontrolieri, bet divus. Pentium 4 procesoros šie papildu elementi palielināja tranzistoru skaitu tikai par pieciem procentiem. Mūsdienu Ivy Bridge serdeņos (kā arī Sandy Bridge un topošajā Haswell) papildu elementi pat četriem serdeņiem nepalielina diegu pat par 1 procentu.


Papildu reģistri un pārtraukumu kontrolleris kopā ar programmatūras atbalstu ļauj operētājsistēmai redzēt nevis vienu fizisko kodolu, bet gan divus loģiskos. Tajā pašā laikā datu apstrāde no divām sistēmas sūtītajām straumēm joprojām notiek tajā pašā kodolā, taču ar dažām funkcijām. Viss procesors joprojām paliek viena pavediena rīcībā, taču, tiklīdz daži CPU bloki tiek atbrīvoti un dīkstāvē, tie nekavējoties tiek nodoti otrā pavediena rīcībā. Pateicoties tam, bija iespējams vienlaikus izmantot visas procesora vienības un tādējādi palielināt tā efektivitāti. Kā norāda pati Intel, veiktspējas pieaugums ideālos apstākļos var sasniegt pat 30 procentus. Tiesa, šie skaitļi attiecas tikai uz Pentium 4 ar tā ļoti garo cauruļvadu, mūsdienu procesori gūst mazāk labumu no HT.

Taču ideāli apstākļi hipervītnēm ne vienmēr ir. Un pats galvenais, HT darba sliktākais rezultāts ir nevis veiktspējas pieauguma trūkums, bet gan tā samazināšanās. Tas ir, noteiktos apstākļos procesora ar HT veiktspēja samazināsies attiecībā pret procesoru bez HT, jo pavedienu sadalīšanas un rindas veidošanas izmaksas ievērojami pārsniegs ieguvumu no paralēlo pavedienu aprēķināšanas, kas šajā konkrētajā gadījumā ir iespējams. lietu. Un šādi gadījumi ir daudz biežāki, nekā Intel vēlētos. Turklāt daudzu gadu izmantošana Hyper-Threading situāciju neuzlaboja. Īpaši tas attiecas uz spēlēm, kas ir ļoti sarežģītas un nekādā ziņā nav netradicionālas datu aprēķināšanas, aplikāciju ziņā.

Lai noskaidrotu Hyper-Threading ietekmi uz spēļu veiktspēju, mēs atkal izmantojām mūsu ilgi cieto Core i7-2700K testa procesoru un simulējām četrus procesorus vienlaikus, atspējojot kodolus un iespējojot/atspējojot HT. Parasti tos var saukt par Pentium (2 kodoli, HT izslēgts), Core i3 (2 kodoli, HT ieslēgts), Core i5 (4 kodoli, HT izslēgts) un Core i7 (4 kodoli, HT ieslēgts). Kāpēc nosacīti? Pirmkārt, tāpēc, ka pēc dažām īpašībām tie neatbilst reāliem produktiem. Jo īpaši, atspējojot kodolus, netiek attiecīgi samazināts trešā līmeņa kešatmiņas apjoms - tā apjoms visiem ir 8 megabaiti. Un turklāt visi mūsu “nosacītie” procesori darbojas ar tādu pašu 3,5 GHz frekvenci, ko vēl nav sasnieguši visi Intel procesori.


Tomēr tas ir pat uz labu, jo pateicoties visu negrozāmībai svarīgi parametri bez ierunām varēsim noskaidrot reālo Hyper-Threading ietekmi uz spēļu veiktspēju. Procentuālā veiktspējas atšķirība starp mūsu “nosacījuma” Pentium un Core i3 būs tuvu atšķirībai starp reāliem procesoriem, ja frekvences ir vienādas. Nevajadzētu būt arī apkaunojoši, ka mēs izmantojam Sandy Bridge procesoru, jo mūsu veiktās efektivitātes pārbaudes, par kurām varat lasīt rakstā “Nepārspējama veiktspēja — ALU un FPU efektivitātes izpēte”, parādīja, ka Hyper-Threading ietekme jaunākās paaudzes procesori Core paliek nemainīgs. Visticamāk atbilstošs dots materiāls būs pieejams arī topošajiem Haswell procesoriem.

Nu, šķiet, ka visi jautājumi par testēšanas metodiku, kā arī par Hyper-Threading Technology darbības iezīmēm ir apspriesti, un tāpēc ir pienācis laiks pāriet uz interesantāko - testiem.

Atgriežoties testā, kurā pētījām procesora kodolu skaita ietekmi uz spēļu veiktspēju, noskaidrojām, ka 3DMark 11 ir diezgan mierīgs attiecībā uz CPU veiktspēju, lieliski strādājot pat ar vienu kodolu. Hiper-Threading bija tāda pati "spēcīga" ietekme. Kā redzat, testā absolūti nav pamanītas atšķirības starp Pentium un Core i7, nemaz nerunājot par starpposma modeļiem.

Metro 2033

Bet Metro 2033 skaidri pamanīja Hyper-Threading parādīšanos. Un reaģēja negatīvi! Jā, tieši tā: HT iespējošana šajā spēlē negatīvi ietekmē veiktspēju. Neliela ietekme, protams - 0,5 kadri sekundē ar četriem fiziskajiem kodoliem, un 0,7 ar diviem. Bet šis fakts dod pamatu apgalvot, ka Metro 2033 Pentium ir ātrāks par Core i3 un Core i5 ir labāks par Core i7. Šeit tas ir apstiprinājums tam, ka Hyper-Threading ne vienmēr un ne visur parāda savu efektivitāti.

Krīze 2

Šī spēle uzrādīja ļoti interesantus rezultātus. Pirmkārt, atzīmējam, ka Hyper-Threading ietekme ir skaidri redzama divkodolu procesoros - Core i3 pārspēja Pentium gandrīz par 9 procentiem, kas šai spēlei ir diezgan daudz. Uzvara HT un Intel? Nav īsti, jo Core i7 neuzrādīja nekādus uzlabojumus salīdzinājumā ar ievērojami lētāko Core i5. Taču tam ir saprātīgs izskaidrojums – Crysis 2 neprot izmantot vairāk par četrām datu straumēm. Šī iemesla dēļ mēs redzam labu divkodolu pieaugumu ar HT - galu galā četri pavedieni, kaut arī loģiski, ir labāki par diviem. No otras puses, nebija kur likt papildu Core i7 pavedienus, tur pietika ar četriem fiziskajiem kodoliem. Tātad, saskaņā ar šī testa rezultātiem, mēs varam atzīmēt HT pozitīvo ietekmi Core i3, kas ir ievērojami labāks nekā Pentium šeit. Bet starp četrkodolu Core i5 atkal izskatās kā saprātīgāks risinājums.

Battlefield 3

Šeit rezultāti ir ļoti dīvaini. Ja kodolu skaita pārbaudē kaujas lauks bija mikroskopiska, bet lineāra pieauguma paraugs, tad Hyper-Threading iekļaušana rezultātos radīja haosu. Faktiski mēs varam teikt, ka Core i3 ar diviem kodoliem un HT izrādījās labākais no visiem, apsteidzot pat Core i5 un Core i7. Protams, dīvaini, bet tajā pašā laikā Core i5 un Core i7 atkal bija vienā līmenī. Kas to izskaidro, nav skaidrs. Visticamāk, šeit savu lomu spēlēja testēšanas metodika šajā spēlē, kas dod lielākas kļūdas nekā standarta etaloni.

Pēdējā testā F1 2011 sevi parādīja kā vienu no spēlēm, kas ļoti kritiski vērtē kodolu skaitu, un šajā atkal pārsteidza ar lielisko ietekmi uz Hyper-Threading tehnoloģijas veiktspēju. Un atkal, tāpat kā Crysis 2, HT iekļaušana izrādījās ļoti laba divkodolu procesoros. Paskatieties uz atšķirību starp mūsu nosacīto Core i3 un Pentium — tā ir vairāk nekā divas reizes! Jūs varat skaidri redzēt, ka spēlei ļoti trūkst divu kodolu, un tajā pašā laikā tās kods ir tik labi paralēls, ka efekts ir pārsteidzošs. No otras puses, jūs nevarat pārspēt četrus fiziskos kodolus - Core i5 ir manāmi ātrāks nekā Core i3. Bet Core i7 atkal, tāpat kā iepriekšējās spēlēs, neko izcilu uz Core i5 fona neparādīja. Iemesls ir tas pats - spēle nevar izmantot vairāk par 4 pavedieniem, un HT pieskaitāmās izmaksas samazina Core i7 veiktspēju zem Core i5 līmeņa.

Vecam karavīram Hyper-Threading ir vajadzīgs ne vairāk kā ezim T-krekls - tā ietekme nekādā ziņā nav tik izteikta kā F1 2011 vai Crysis 2. Tajā pašā laikā mēs joprojām atzīmējam, ka HT iespējošana uz divkodolu. procesors atnesa 1 papildu kadru. Protams, ar to nepietiek, lai teiktu, ka Core i3 ir labāks par Pentium. Vismaz šis uzlabojums nepārprotami neatbilst šo procesoru cenu atšķirībai. Un cenu atšķirību starp Core i5 un Core i7 pat nav vērts atcerēties, jo procesors bez HT atbalsta atkal izrādījās ātrāks. Un manāmi ātrāk – par 7 procentiem. Patīk vai nē, mēs vēlreiz apstiprinām faktu, ka četri pavedieni ir šīs spēles maksimums, un līdz ar to HyperThreading Šis gadījums Core i7 nepalīdz, bet traucē.

Ja rūpīgi izskatījāt BIOS iestatīšanas saturu, iespējams, tur pamanīsit CPU opciju. Hiperpavediens tehnoloģija. Un, iespējams, viņi domāja, kas ir Hyper Threading (Super-threading vai hipervītne, oficiālais nosaukums ir Hyper Threading Technology, HTT) un kāpēc šī opcija ir nepieciešama.

Hiperpavediens ir salīdzinoši jauna tehnoloģija, ko Intel izstrādājis Pentium arhitektūras procesoriem. Kā liecina prakse, Hyper Threading tehnoloģijas izmantošana daudzos gadījumos ir ļāvusi palielināt CPU veiktspēju par aptuveni 20-30%.

Šeit jums jāatceras, kā parasti darbojas datora centrālais procesors. Tiklīdz ieslēdzat datoru un palaižat tajā programmu, centrālais procesors sāk lasīt tajā ietvertās instrukcijas, kas ierakstītas tā sauktajā mašīnkodā. Tas nolasa katru instrukciju pēc kārtas un izpilda tos pa vienam.

Tomēr daudzām programmām vienlaikus darbojas vairāki programmatūras procesi. Turklāt mūsdienu operētājsistēmas ļauj lietotājam būt vairākas darbojas programmas. Un ne tikai atļaut – patiesībā situācija, kad operētājsistēmā darbojas viens process, mūsdienās ir pilnīgi neiedomājama. Tāpēc procesoriem, kas izstrādāti, izmantojot vecākas tehnoloģijas, bija slikta veiktspēja gadījumos, kad bija nepieciešams apstrādāt vairākus vienlaikus procesus.

Protams, lai atrisinātu šo problēmu, sistēmā var iekļaut vairākus procesorus vienlaikus vai arī procesorus, kas izmanto vairākus fiziskos skaitļošanas kodolus. Taču šāds uzlabojums izrādās dārgs, tehniski sarežģīts un ne vienmēr efektīvs no praktiskā viedokļa.

Attīstības vēsture

Tāpēc tika nolemts izveidot tehnoloģiju, kas ļautu apstrādāt vairākus procesus vienā fiziskajā kodolā. Tajā pašā laikā programmām lieta ārēji izskatīsies tā, it kā sistēmā būtu vairāki procesora kodoli vienlaikus.

Hyper Threading tehnoloģijas atbalsts pirmo reizi parādījās procesoros 2002. gadā. Tie bija Pentium 4 saimes procesori un Xeon serveru procesori ar takts frekvenci virs 2 GHz. Sākotnēji tehnoloģija tika nosaukta ar koda nosaukumu Jackson, bet pēc tam tās nosaukums tika mainīts uz Hyper Threading, kas ir saprotamāks plašākai sabiedrībai - ko var aptuveni tulkot kā “superthreading”.

Tajā pašā laikā, saskaņā ar Intel, procesora mikroshēmas virsma, kas atbalsta Hyper Threading, ir palielinājusies, salīdzinot ar iepriekšējo modeli, kas to neatbalsta, tikai par 5%, vienlaikus palielinot veiktspēju vidēji par 20%.

Neskatoties uz to, ka tehnoloģija kopumā ir sevi pierādījusi labi, tomēr vairāku iemeslu dēļ Intel nolēma atspējot Hyper Threading tehnoloģiju Core 2 saimes procesoros, kas aizstāja Pentium 4. Tomēr vēlāk atkal parādījās Hyper Threading. Sandy Bridge, Ivy Bridge un Haswell procesoru arhitektūrās, kas tajās tiek būtiski pārveidotas.

Tehnoloģiju būtība

Izpratne par hipervītnēm ir svarīga, jo tā ir viena no galvenās funkcijas Intel procesoros.

Neskatoties uz visiem procesoru panākumiem, tiem ir viens būtisks trūkums - vienlaikus tie var izpildīt tikai vienu instrukciju. Pieņemsim, ka jums vienlaikus darbojas lietojumprogrammas, piemēram, teksta redaktors, pārlūkprogramma un Skype. No lietotāja viedokļa šo programmatūras vidi var saukt par daudzuzdevumu veikšanu, tomēr no procesora viedokļa tas nebūt nav tā. Procesora kodols joprojām izpildīs vienu instrukciju noteiktu laika periodu. Šajā gadījumā procesora uzdevums ietver procesora laika resursu sadali starp individuālie pieteikumi. Tā kā šī secīgā instrukciju izpilde ir ārkārtīgi ātra, jūs to nepamanāt. Un tev šķiet, ka nav nekādas kavēšanās.

Bet joprojām ir kavēšanās. Aizkave rodas tāpēc, ka procesoram tiek piegādāti dati no katras programmas. Katrai datu straumei ir jāierodas noteiktā laikā un procesoram tā jāapstrādā atsevišķi. Hyper Threading tehnoloģija ļauj katram procesora kodolam plānot datu apstrādi un vienlaikus piešķirt resursus diviem pavedieniem.

Jāatzīmē, ka mūsdienu procesoru kodolā vienlaikus ir vairākas tā saucamās izpildes vienības, no kurām katra ir paredzēta, lai veiktu noteiktu darbību ar datiem. Tajā pašā laikā dažas no šīm izpildierīcēm var būt dīkstāves laikā, kad tiek apstrādāti dati no viena pavediena.

Lai izprastu šo situāciju, mēs varam izdarīt analoģiju ar darbiniekiem, kas strādā montāžas cehā uz konveijera un apstrādā dažāda veida detaļas. Katrs darbinieks ir aprīkots ar īpašu instrumentu, kas paredzēts uzdevuma veikšanai. Taču, ja detaļas pienāk nepareizā secībā, tad rodas kavēšanās – jo daļa strādnieku gaida savu kārtu, lai sāktu darbu. Hyper Threading var salīdzināt ar papildu konveijera lenti, kas tika uzlikta cehā, lai iepriekš dīkstāvē esošie darbinieki veiktu savus uzdevumus neatkarīgi no citiem. Veikals joprojām ir viens, taču detaļas tiek apstrādātas ātrāk un efektīvāk, tādējādi tiek samazināts dīkstāves laiks. Tādējādi Hyper Threading ļāva darbā iekļaut tās procesora izpildierīces, kuras bija dīkstāvē, izpildot instrukcijas no viena pavediena.

Tiklīdz ieslēdzat datoru ar divkodolu procesoru, kas atbalsta Hyper Threading, un atverat Windows uzdevumu pārvaldnieku (uzdevumu pārvaldnieku) cilnē Performance (Performance), tajā atradīsit četras diagrammas. Bet tas nenozīmē, ka jums faktiski ir 4 procesora kodoli.

Tas ir tāpēc, ka Windows domā, ka katram kodolam ir divi loģiskie procesori. Termins "loģiskais procesors" izklausās smieklīgi, bet tas nozīmē procesoru, kas fiziski neeksistē. Windows var nosūtīt datu straumes katram loģiskajam procesoram, taču faktiski darbu veic tikai viens kodols. Tāpēc viens kodols ar Hyper Threading tehnoloģiju būtiski atšķiras no atsevišķiem fiziskajiem kodoliem.

Hyper Threading tehnoloģijai nepieciešams atbalsts no šādas aparatūras un programmatūras:

  • Procesors
  • mātesplates mikroshēmojums
  • Operētājsistēma

Tehnoloģiju priekšrocības

Tagad apsveriet nākamo jautājumu - cik daudz Hyper Threading tehnoloģija palielina datora veiktspēju? Ikdienas uzdevumos, piemēram, sērfojot internetā un rakstot, tehnoloģiju priekšrocības nav tik acīmredzamas. Tomēr paturiet prātā, ka mūsdienu procesori ir tik jaudīgi, ka ikdienas uzdevumos reti kad tiek izmantots procesors ar pilnu jaudu. Turklāt daudz kas ir atkarīgs no tā, kā tas ir uzrakstīts programmatūra. Vienlaicīgi var darboties vairākas programmas, taču, aplūkojot slodzes grafiku, redzēsit, ka tiek izmantots tikai viens loģiskais procesors uz vienu kodolu. Tas ir tāpēc, ka programmatūra neatbalsta procesu sadali starp kodoliem.

Tomēr sarežģītākos uzdevumos Hyper Threading var būt noderīgāks. Tādas lietojumprogrammas kā 3D modelēšanas programmas, 3D spēles, mūzikas vai video kodēšanas/dekodēšanas programmas un daudzas zinātniskas lietojumprogrammas ir rakstītas, lai maksimāli izmantotu daudzpavedienu iespējas. Tāpēc, spēlējot sarežģītas spēles, klausoties mūziku vai skatoties filmas, varat izbaudīt datora veiktspējas priekšrocības ar hipervītni. Tas var palielināt veiktspēju līdz pat 30%, lai gan var būt situācijas, kad Hyper Threading vispār nesniedz priekšrocības. Dažreiz, ja abi pavedieni ielādē visas procesora izpildierīces ar vienādiem uzdevumiem, var būt pat veiktspējas pasliktināšanās.

Atgriežoties pie atbilstošās opcijas klātbūtnes BIOS iestatījumos, kas ļauj iestatīt Hyper Threading parametrus, vairumā gadījumu ir ieteicams iespējot šo funkciju. Tomēr jūs vienmēr varat to izslēgt, ja izrādās, ka dators darbojas ar kļūdām vai pat tam ir mazāka veiktspēja, nekā gaidījāt.

Secinājums

Tā kā maksimālais veiktspējas pieaugums, izmantojot Hyper Threading, ir 30%, nevar teikt, ka tehnoloģija ir līdzvērtīga procesora kodolu skaita dubultošanai. Tomēr Hyper Threading ir noderīga iespēja, un jūs kā datora īpašnieks to netraucēsit. Tā priekšrocība ir īpaši pamanāma, piemēram, rediģējot multivides failus vai izmantojot datoru kā darbstaciju profesionālām programmām, piemēram, Photoshop vai Maya.

Bija laiks, kad bija nepieciešams novērtēt atmiņas veiktspēju Hyper-threading tehnoloģijas kontekstā. Mēs nonācām pie secinājuma, ka tā ietekme ne vienmēr ir pozitīva. Kad bija daudz brīvā laika, radās vēlme turpināt pētījumus un aplūkot notiekošos procesus ar mašīnu ciklu un bitu precizitāti, izmantojot mūsu pašu izstrādātu programmatūru.

Izpētītā platforma

Eksperimentu objekts - ASUS klēpjdators N750JK ar Intel Core i7-4700HQ procesoru. Pulksteņa ātrums ir 2,4 GHz, ko pastiprina Intel Turbo Boost režīms līdz 3,4 GHz. Instalēti 16 gigabaiti brīvpiekļuves atmiņa DDR3-1600 (PC3-12800), kas darbojas divu kanālu režīmā. Operētājsistēma - Microsoft Windows 8.1 64 biti.

1. att. Pētītās platformas konfigurācija.

Pētāmās platformas procesors satur 4 kodolus, kas, iespējotu Hyper-Threading tehnoloģiju, nodrošina aparatūras atbalstu 8 pavedieniem jeb loģiskajiem procesoriem. Platformas programmaparatūra nodod šo informāciju operētājsistēmai, izmantojot MADT (vairāku APIC aprakstu tabulas) ACPI tabulu. Tā kā platformā ir tikai viens RAM kontrolleris, nav SRAT (System Resource Affinity Table), kas deklarētu procesora kodolu tuvumu atmiņas kontrolleriem. Acīmredzot attiecīgais klēpjdators nav NUMA platforma, bet gan operētājsistēma, apvienošanas nolūkā uzskata to par NUMA sistēmu ar vienu domēnu, kā norādīts rindā NUMA Nodes = 1. Fakts, kas mūsu eksperimentiem ir būtisks, ir tāds, ka pirmā līmeņa datu kešatmiņas lielums katram ir 32 kilobaiti. no četriem kodoliem. Diviem loģiskiem procesoriem, kuriem ir viens kodols, ir kopīga L1 un L2 kešatmiņa.

Izmeklēta darbība

Mēs pētīsim datu bloka lasīšanas ātruma atkarību no tā lieluma. Lai to izdarītu, mēs izvēlēsimies visproduktīvāko metodi, proti, 256 bitu operandu nolasīšanu, izmantojot VMOVAPD AVX instrukciju. Diagrammās X ass parāda bloka izmēru, bet Y ass parāda lasīšanas ātrumu. Punkta X tuvumā, kas atbilst L1 kešatmiņas lielumam, mēs sagaidām lēciena punktu, jo veiktspējai vajadzētu samazināties pēc tam, kad apstrādājamais bloks tiek izņemts no kešatmiņas. Mūsu testā daudzpavedienu gadījumā katrs no 16 uzsāktajiem pavedieniem darbojas ar atsevišķu adrešu diapazonu. Lai kontrolētu Hyper-Threading tehnoloģiju lietojumprogrammā, katrs pavediens izmanto SetThreadAffinityMask API funkciju, kas iestata masku, kurā katrs loģiskais procesors atbilst vienam bitam. Viena bita vērtība ļauj norādītajam pavedienam izmantot norādīto procesoru, bet nulles vērtība to aizliedz. 8 pētāmās platformas loģiskajiem procesoriem maska ​​11111111b ļauj izmantot visus procesorus (Hyper-Threading iespējots), maska ​​01010101b ļauj izmantot vienu loģisko procesoru katrā kodolā (Hyper-Threading atspējots).

Grafikos tiek izmantoti šādi saīsinājumi:

MBPS (megabaiti sekundē)bloka lasīšanas ātrums megabaitos sekundē;

CPI (pulksteņi pēc instrukcijas)ciklu skaits vienā instrukcijā;

TSC (laika zīmogu skaitītājs)procesora cikla skaitītājs.

Piezīme: TSC reģistra pulksteņa ātrums var nesakrist ar procesora takts ātrumu, kad tas darbojas Turbo Boost režīmā. Tas jāņem vērā, interpretējot rezultātus.

Grafiku labajā pusē tiek vizualizēta instrukciju heksadecimālā izgāztuve, kas veido katrā programmas pavedienā veiktās mērķa darbības cikla pamattekstu jeb šī koda pirmie 128 baiti.

Pieredze numur 1. Viens pavediens



2. att Lasīšana vienā pavedienā

Maksimālais ātrums ir 213563 megabaiti sekundē. Līkuma punkts notiek bloka lielumā aptuveni 32 kilobaiti.

Pieredze numur 2. 16 pavedieni 4 procesoros, hiperpavedienu funkcija ir atspējota



3. att Lasīšana sešpadsmit pavedienos. Izmantoto loģisko procesoru skaits ir četri

Hiperpavediens ir atspējots. Maksimālais ātrums ir 797598 megabaiti sekundē. Līkuma punkts notiek bloka lielumā aptuveni 32 kilobaiti. Kā gaidīts, salīdzinot ar lasīšanu ar vienu pavedienu, ātrums palielinājās apmēram 4 reizes, ņemot vērā strādājošo kodolu skaitu.

Pieredze numur 3. 16 pavedieni 8 procesoros, iespējota hiperpavedienu funkcija



4. att Lasīšana sešpadsmit pavedienos. Izmantoto loģisko procesoru skaits ir astoņi

Hiperpavediens ir iespējots. Maksimālais ātrums 800722 megabaiti sekundē, pateicoties Hyper-Threading iekļaušanai, gandrīz nepalielinājās. Lielais mīnuss ir tas, ka lēciena punkts notiek bloka lielumā aptuveni 16 kilobaiti. Iespējojot Hyper-Threading, tika nedaudz palielināts maksimālais ātrums, taču tagad ātruma samazināšanās notiek uz pusi mazāka bloka izmēra - aptuveni 16 kilobaiti, tāpēc vidējais ātrums ir ievērojami samazinājies. Tas nav pārsteidzoši, katram kodolam ir sava L1 kešatmiņa, savukārt loģiskie procesori tajā pašā kodolā to koplieto.

secinājumus

Izpētītā darbība diezgan labi mērogojas daudzkodolu procesorā. Iemesli ir tādi, ka katram kodolam ir sava pirmā un otrā līmeņa kešatmiņa, mērķa bloka lielums ir salīdzināms ar kešatmiņas lielumu, un katrs pavediens darbojas ar savu adrešu diapazonu. Akadēmiskiem nolūkiem mēs radījām šādus apstākļus sintētiskā testā, saprotot, ka reālās lietojumprogrammas parasti ir tālu no ideālas optimizācijas. Bet Hyper-Threading iekļaušanai pat šādos apstākļos bija negatīva ietekme, nedaudz palielinoties maksimālajam ātrumam, ievērojami samazinās bloku apstrādes ātrums, kuru izmērs ir diapazonā no 16 līdz 32 kilobaiti.

Sveiki datoru un aparatūras cienītāji.

Vai vēlaties, lai jūsu datorā būtu augstas veiktspējas procesors, kas zibens ātrumā spēj veikt daudzus uzdevumus vienlaikus? Kurš gan atteiktos, vai ne? Tad es iesaku jums iepazīties ar hipervītņu tehnoloģiju: kas tas ir un kā tas darbojas, jūs uzzināsit no šī raksta.


Jēdziena skaidrojums

Hiperpavediens ir tulkots no angļu valodas kā "hiper-precizitāte". Tehnoloģija ieguva tik lielu nosaukumu kāda iemesla dēļ. Galu galā operētājsistēma aizņem vienu ar to aprīkotu fizisko procesoru diviem loģiskiem kodoliem. Līdz ar to tiek apstrādāts vairāk komandu, un veiktspēja nemazinās.

Kā tas ir iespējams? Sakarā ar to, ka procesors:

  • Saglabā informāciju par vairākiem palaistiem pavedieniem vienlaikus;
  • Katram loģiskajam procesoram ir viens reģistru komplekts - ātras iekšējās atmiņas bloki, kā arī viens pārtraukumu bloks. Pēdējais ir atbildīgs par secīgu pieprasījumu izpildi no dažādām ierīcēm.

Kā tas izskatās patiesībā? Pieņemsim, ka tagad fiziskais procesors apstrādā pirmā loģiskā procesora komandas. Bet pēdējā bija sava veida kļūme, un, piemēram, viņam jāgaida dati no atmiņas. Fiziskais netērēs laiku un nekavējoties pārslēgsies uz otro loģisko procesoru.

Par veiktspējas uzlabošanu

Fiziskā procesora efektivitāte, kā likums, ir ne vairāk kā 70%. Kāpēc? Bieži vien daži bloki vienkārši nav nepieciešami konkrēta uzdevuma veikšanai. Piemēram, ja CPU veic triviālas skaitļošanas darbības, instrukciju bloks un paplašinājums SIMD netiek iesaistīti. Gadās, ka atzarojuma prognozēšanas modulī vai piekļūstot kešatmiņai rodas kļūme.

Šādās situācijās Hyper-threading aizpilda "pilnus" ar citiem uzdevumiem. Tādējādi tehnoloģijas efektivitāte slēpjas apstāklī, ka lietderīgais darbs nav dīkstāvē un tiek dots dīkstāvē esošām ierīcēm.

Izskats un realizācija

Varam pieņemt, ka Hyper-threading jau ir nosvinējis 15 gadu jubileju. Galu galā tas tika izstrādāts, pamatojoties uz super-threading tehnoloģiju, kas tika izlaista 2002. gadā un vispirms sāka darboties Xeon produktos, pēc tam tajā pašā gadā tika integrēta Pentium 4. Šo tehnoloģiju autortiesības pieder Intel.

HT ir ieviests procesoros, kas darbojas ar NetBurst mikroarhitektūru, kam raksturīgi lieli takts ātrumi. Tehnoloģiju atbalsts ir ieviests Core vPro, M un Xeon saimes modeļos. Tomēr Core 2 ("Duo", "Quad") sērijās tas nav integrēts. Pēc darbības principa līdzīga tehnoloģija tiek ieviesta Atom un Itanium procesos.

Kā to iespējot? Jums ir jābūt ne tikai vienam no iepriekš minētajiem procesoriem, bet arī operētājsistēmai, kas atbalsta tehnoloģiju, un BIOS, kurai ir iespēja ieslēgt un izslēgt HT. Ja nē, atjauniniet BIOS.

Hyperthreading plusi un mīnusi

Jau no iepriekš minētās informācijas varētu izdarīt secinājumus par dažām tehnoloģijas priekšrocībām. Es tiem pievienošu vēl dažus vārdus:

  • Stabila vairāku programmu darbība paralēli;
  • Samazināts reakcijas laiks, sērfojot internetā vai izmantojot lietojumprogrammas.

Kā jūs saprotat, tas nebija bez mušas. Var nebūt veiktspējas pieauguma šādu iemeslu dēļ:

  • Nepietiek kešatmiņas. Piemēram, 4 kodolu i7 procesoros kešatmiņa ir 8 MB, bet ir tikpat daudz loģisko kodolu. Mēs saņemam tikai 1 MB uz vienu kodolu, kas nav pietiekami, lai lielākā daļa programmu veiktu skaitļošanas uzdevumus. Šī iemesla dēļ sniegums ne tikai stāv uz vietas, bet pat krītas.

  • Datu atkarība. Pieņemsim, ka pirmais pavediens nekavējoties pieprasa informāciju no otrā, bet tas vēl nav gatavs vai atrodas rindā uz citu pavedienu. Gadās arī, ka cikliskajiem datiem ir nepieciešami noteikti bloki, lai ātri izpildītu uzdevumu, bet tie jau ir aizņemti ar citiem darbiem.
  • Kodola pārslodze. Gadās, ka kodols jau var būt pārslogots, taču, neskatoties uz to, prognožu modulis joprojām nosūta tam datus, kā rezultātā dators sāk palēnināties.

Kur ir nepieciešama hipervītņošana?

Tehnoloģija noderēs, izmantojot resursietilpīgas programmas: audio, video un foto redaktorus, spēles, arhivētājus. Tajos ietilpst Photoshop, Maya, 3D's Max, Corel Draw, WinRar utt.

Ir svarīgi, lai programmatūra būtu optimizēta hipervītņošanai. Pretējā gadījumā var rasties kavēšanās. Fakts ir tāds, ka programmas loģiskos kodolus uzskata par fiziskiem, tāpēc tās var nosūtīt dažādus uzdevumus vienam blokam.

Ar nepacietību gaidu jūs manā emuārā.

Lietotāji, kuri vismaz vienu reizi ir konfigurējuši BIOS, iespējams, jau ir pamanījuši, ka ir Intel Hyper Threading parametrs, kas daudziem ir nesaprotams. Daudzi nezina, kas ir šī tehnoloģija un kādam nolūkam tā tiek izmantota. Mēģināsim noskaidrot, kas ir Hyper Threading un kā jūs varat iespējot šī atbalsta izmantošanu. Mēģināsim arī noskaidrot, kādas priekšrocības tas dod datoram. šo iestatījumu. Principā šeit nav nekā grūti saprotama.

Intel Hyper Threading: kas tas ir?
Ja neiedziļināties datoru terminoloģijas džungļos, bet vienkāršāk sakot, tad šī tehnoloģija tika izstrādāta, lai palielinātu centrālā procesora vienlaicīgi apstrādāto komandu plūsmu. Mūsdienu procesoru mikroshēmas, kā likums, izmanto tikai 70% no pieejamajām skaitļošanas iespējām. Pārējais paliek, tā teikt, rezervē. Kas attiecas uz datu straumes apstrādi, vairumā gadījumu tiek izmantots tikai viens pavediens, neskatoties uz to, ka sistēma izmanto daudzkodolu procesoru.

Darba pamatprincipi
Lai palielinātu centrālā procesora iespējas, tas tika izstrādāts īpaša tehnoloģija hipervītņu veidošana. Šī tehnoloģija ļauj viegli sadalīt vienu komandu straumi divās daļās. Ir iespējams arī pievienot otru straumi jau esošai. Tikai šāda straume ir virtuāla un nedarbojas fiziskajā līmenī. Šī pieeja ļauj ievērojami palielināt procesora veiktspēju. Visa sistēma attiecīgi sāk darboties ātrāk. CPU veiktspējas pieaugums var diezgan daudz svārstīties. Tas tiks apspriests atsevišķi. Tomēr paši Hyper Threading tehnoloģijas izstrādātāji apgalvo, ka tā atpaliek no pilnvērtīga kodola. Dažos gadījumos šīs tehnoloģijas izmantošana ir pilnībā pamatota. Ja jūs zināt Hyper Threading procesoru būtību, tad rezultāts nebūs ilgi jāgaida.

Vēstures atsauce
Nedaudz ienirt šīs attīstības vēsturē. Hyper Threading atbalsts vispirms parādījās tikai procesoros Intel Pentium 4. Vēlāk šīs tehnoloģijas ieviešana tika turpināta Intel Core iX sērijā (X šeit apzīmē procesoru sēriju). Jāatzīmē, ka kāda iemesla dēļ Core 2 procesora mikroshēmu rindā tā nav. Tiesa, tad produktivitātes pieaugums bija diezgan vājš: kaut kur 15-20% līmenī. Tas norādīja, ka procesoram nebija nepieciešamās apstrādes jaudas, un radītā tehnoloģija praktiski apsteidza savu laiku. Mūsdienās Hyper Threading tehnoloģijas atbalsts jau ir pieejams gandrīz visās mūsdienu mikroshēmās. Lai palielinātu centrālā procesora jaudu, pats process izmanto tikai 5% no kristāla virsmas, vienlaikus atstājot vietu komandu un datu apstrādei.

Jautājums par konfliktiem un sniegumu
Tas viss noteikti ir labi, taču dažos gadījumos, apstrādājot datus, var būt darba palēninājums. Tas galvenokārt ir saistīts ar tā saukto filiāles prognozēšanas moduli un nepietiekamu kešatmiņas lielumu, kad tas tiek pastāvīgi atkārtoti ielādēts. Ja mēs runājam par galveno moduli, tad šajā gadījumā situācija ir tāda, ka dažos gadījumos pirmajam pavedienam var būt nepieciešami dati no otrā, kas tajā brīdī var netikt apstrādāti vai atrodas apstrādes rindā. Tāpat ne mazāk izplatītas ir situācijas, kad centrālajam procesora kodolam ir ļoti nopietna slodze, un galvenais modulis, neskatoties uz to, turpina sūtīt uz to datus. Dažas programmas un lietojumprogrammas, piemēram, resursietilpīgas tiešsaistes spēles, var nopietni palēnināties tikai tāpēc, ka tām trūkst optimizācijas Hyper Threading tehnoloģijas izmantošanai. Kas notiek ar spēlēm? Lietotāja datorsistēma no savas puses cenšas optimizēt datu plūsmas no aplikācijas uz serveri. Problēma ir tāda, ka spēle nezina, kā patstāvīgi izplatīt datu straumes, izmetot visu vienā kaudzē. Kopumā tas var vienkārši nebūt paredzēts šim nolūkam. Dažreiz divkodolu procesoros veiktspējas pieaugums ir ievērojami lielāks nekā 4 kodolu procesoros. Viņiem vienkārši nav apstrādes jaudas.

Kā BIOS iespējot Hyper Threading?
Mēs jau esam nedaudz sapratuši, kas ir Hyper Threading tehnoloģija, un iepazinušies ar tās attīstības vēsturi. Mēs esam nonākuši tuvu izpratnei, kas ir Hyper Threading tehnoloģija. Kā aktivizēt šo tehnoloģiju izmantošanai procesorā? Šeit viss tiek darīts pavisam vienkārši. Ir jāizmanto BIOS pārvaldības apakšsistēma. Apakšsistēmu ievada, izmantojot taustiņus Del, F1, F2, F3, F8, F12, F2+Del utt. Ja izmantojat Sony Vaio klēpjdatoru, tam ir īpaša ieeja, izmantojot speciālo ASSIST taustiņu. BIOS iestatījumos, ja jūsu izmantotais procesors atbalsta tehnoloģiju Hyper Threading, jābūt īpašai iestatījumu rindai. Vairumā gadījumu tas izskatās kā Hyper Threading tehnoloģija, un dažreiz tas izskatās kā funkcija. Atkarībā no apakšsistēmas izstrādātāja un BIOS versijas, šī parametra iestatījumu var ietvert vai nu galvenajā izvēlnē, vai papildu iestatījumos. Lai iespējotu šo tehnoloģiju, jums jāievada opciju izvēlne un jāiestata vērtība Enabled. Pēc tam jums ir jāsaglabā veiktās izmaiņas un jārestartē sistēma.

Kāpēc Hyper Threading ir noderīga?
Nobeigumā vēlos runāt par priekšrocībām, ko sniedz Hyper Threading tehnoloģijas izmantošana. Priekš kam tas viss? Kāpēc, apstrādājot informāciju, ir jāpalielina procesora jauda? Tiem lietotājiem, kuri strādā ar resursietilpīgām lietojumprogrammām un programmām, nekas nav jāpaskaidro. Daudzi droši vien zina, ka grafiskās, matemātiskās, dizaina programmatūras pakotnes darba procesā prasa daudz sistēmas resursu. Šī iemesla dēļ visa sistēma ir tik ļoti noslogota, ka tā sāk šausmīgi palēnināties. Lai tas nenotiktu, ieteicams iespējot Hyper Threading atbalstu.