Uy / Internet / ht texnologiyasi. Hyper threading nima va bu nima uchun? Hyper Threading-ni qo'llab-quvvatlaydigan protsessorlar

ht texnologiyasi. Hyper threading nima va bu nima uchun? Hyper Threading-ni qo'llab-quvvatlaydigan protsessorlar

15.03.2013

Hyper-Threading texnologiyasi paydo bo'ldi Intel protsessorlari, aytish qo'rqinchli, 10 yildan ko'proq vaqt oldin. Va ichida hozirgi paytda u Core protsessorlarining muhim elementidir. Biroq, o'yinlarda HT zarurligi haqidagi savol hali ham to'liq aniq emas. Biz o'yinchilarga Core i7 kerakmi yoki Core i5 yaxshiroqmi yoki yo'qligini tushunish uchun test o'tkazishga qaror qildik. Shuningdek, Core i3 Pentium-dan qanchalik yaxshiroq ekanligini bilib oling.


Intel tomonidan ishlab chiqilgan va esda qolarli Pentium 4 dan boshlab faqat kompaniya protsessorlarida qo'llaniladigan Hyper-Threading texnologiyasi hozirda oddiy narsa hisoblanadi. Hozirgi va oldingi avlodlarning ko'plab protsessorlari u bilan jihozlangan. U yaqin kelajakda qo'llaniladi.

Va shuni tan olish kerakki, Hyper-Threading texnologiyasi foydali va ishlashga ijobiy ta'sir ko'rsatadi, aks holda Intel o'z protsessorlarini chiziq ichida joylashtirish uchun undan foydalanmaydi. Va ikkinchi darajali element sifatida emas, balki eng muhimlaridan biri, eng muhimi. Nima haqida gapirayotganimizni tushunish uchun biz Intel protsessorlarini segmentatsiyalash tamoyilini baholashni osonlashtiradigan jadval tayyorladik.


Ko'rib turganingizdek, Pentium va Core i3 o'rtasida, shuningdek, Core i5 va Core i7 o'rtasida juda kam farqlar mavjud. Aslida, i3 va i7 modellari Pentium va i5 dan faqat yadro uchun uchinchi darajali kesh hajmida farq qiladi (albatta, soat chastotasini hisobga olmaganda). Birinchi juftlik 1,5 megabaytga, ikkinchi juftlik esa 2 megabaytga ega. Bu farq protsessorlarning ishlashiga tubdan ta'sir qila olmaydi, chunki kesh hajmidagi farq juda kichik. Shuning uchun Core i3 va Core i7 Hyper-Threading texnologiyasini qo'llab-quvvatladi, bu esa ushbu protsessorlarga tegishli ravishda Pentium va Core i5 ga nisbatan ishlash ustunligiga ega bo'lish imkonini beruvchi asosiy element hisoblanadi.

Natijada, biroz kattaroq kesh va Hyper-Threading qo'llab-quvvatlashi protsessorlar uchun narxlarni sezilarli darajada oshirish imkonini beradi. Masalan, Pentium liniyasining protsessorlari (taxminan 10 ming tenge) Core i3 (taxminan 20 ming tenge) dan ikki baravar arzon va bu jismonan, apparat darajasida ular mutlaqo bir xil va shunga mos ravishda bir xil bo'lishiga qaramay. , bir xil narxga ega. Core i5 (taxminan 30 ming tenge) va Core i7 (taxminan 50 ming tenge) o'rtasidagi narx farqi ham juda katta, garchi yosh modellarda ikki baravar kam.


Narxning bu o'sishi qanchalik asosli? Hyper-Threading qanday haqiqiy daromad keltiradi? Javob uzoq vaqtdan beri ma'lum: o'sish o'zgaradi, barchasi dastur va uni optimallashtirishga bog'liq. Biz eng talabchan "uy" ilovalaridan biri sifatida HT o'yinlarda nima qila olishini tekshirishga qaror qildik. Bundan tashqari, ushbu test protsessordagi yadrolar sonining o'yin samaradorligiga ta'siri bo'yicha oldingi materialimizga ajoyib qo'shimcha bo'ladi.

Sinovlarga o'tishdan oldin, Hyper-Threading texnologiyasi nima ekanligini eslaylik (yoki bilib olaylik). Intelning o'zi tanishtirganda aytganidek bu texnologiya ko'p yillar oldin, bu borada ayniqsa murakkab narsa yo'q. Darhaqiqat, XTni jismoniy darajada joriy qilish uchun zarur bo'lgan narsa bitta jismoniy yadroga registrlar to'plami va uzilish boshqaruvchisini emas, balki ikkitasini qo'shishdir. Pentium 4 protsessorlarida bular qo'shimcha elementlar tranzistorlar sonini atigi besh foizga oshirdi. Zamonaviy Ivy Bridge yadrolarida (shuningdek, Sandy Bridge va kelajakdagi Haswell) hatto to'rtta yadro uchun qo'shimcha elementlar qolipni hatto 1 foizga ham oshirmaydi.


Qo'shimcha registrlar va uzilish tekshiruvi dasturiy ta'minotni qo'llab-quvvatlash bilan birgalikda operatsion tizimga bitta jismoniy yadroni emas, balki ikkita mantiqiy yadroni ko'rishga imkon beradi. Shu bilan birga, tizim tomonidan yuborilgan ikkita oqimdan ma'lumotlarni qayta ishlash hali ham bir yadroda sodir bo'ladi, lekin ba'zi xususiyatlar bilan. Bitta ip hali ham butun protsessorga ega, ammo ba'zi protsessor bloklari bo'shab qolishi va ishlamay qolishi bilan ular darhol ikkinchi ipga beriladi. Buning yordamida barcha protsessor bloklarini bir vaqtning o'zida ishlatish va shu bilan uning samaradorligini oshirish mumkin bo'ldi. Intelning o'zi ta'kidlaganidek, ideal sharoitlarda ishlashning o'sishi 30 foizgacha yetishi mumkin. To'g'ri, bu ko'rsatkichlar faqat Pentium 4 uchun juda uzun bo'lgan zamonaviy protsessorlar uchun HT dan kamroq foyda keltiradi;

Ammo Hyper-Threading uchun ideal sharoitlar har doim ham shunday emas. Va eng muhimi, HT ning eng yomon natijasi - unumdorlikning kamayishi emas, balki uning pasayishi. Ya'ni, ma'lum sharoitlarda, HT bo'lmagan protsessorning ishlashi HT bo'lmagan protsessorga nisbatan pasayadi, chunki ipni bo'linish va navbatga qo'yishning ortiqcha yuki parallel iplarni qayta ishlashdan sezilarli darajada oshadi, bu ayniqsa bu mumkin. hol. Va bunday holatlar Intel xohlaganidan ko'ra tez-tez sodir bo'ladi. Bundan tashqari, Hyper-Threading-dan ko'p yillar foydalanish vaziyatni yaxshilamadi. Bu, ayniqsa, ma'lumotlarni hisoblash va ilovalar nuqtai nazaridan juda murakkab va umuman standart bo'lmagan o'yinlar uchun to'g'ri keladi.

Hyper-Threading-ning o'yin samaradorligiga ta'sirini aniqlash uchun biz yana uzoq vaqtdan beri ishlaydigan Core i7-2700K sinov protsessoridan foydalandik va yadrolarni o'chirib, HT-ni yoqish/o'chirish orqali bir vaqtning o'zida to'rtta protsessorni simulyatsiya qildik. An'anaviy tarzda ularni Pentium (2 yadro, HT o'chirilgan), Core i3 (2 yadro, HT yoqilgan), Core i5 (4 yadro, HT o'chirilgan) va Core i7 (4 yadro, HT yoqilgan) deb atash mumkin. Nima uchun shartli? Avvalo, chunki ba'zi xususiyatlarga ko'ra ular haqiqiy mahsulotlarga mos kelmaydi. Xususan, yadrolarni o'chirib qo'yish uchinchi darajadagi kesh hajmining mos ravishda qisqarishiga olib kelmaydi - uning hajmi hamma uchun 8 megabaytni tashkil qiladi. Bundan tashqari, bizning barcha "shartli" protsessorlarimiz bir xil 3,5 gigagerts chastotasida ishlaydi, bu Intel liniyasidagi barcha protsessorlar tomonidan hali erishilmagan.


Biroq, bu yaxshi tomonga, chunki hammaning o'zgarmasligi tufayli muhim parametrlar Biz Hyper-Threading-ning o'yin samaradorligiga haqiqiy ta'sirini hech qanday shartlarsiz bilib olamiz. Va bizning "shartli" Pentium va Core i3 o'rtasidagi ishlashdagi foiz farqi, chastotalar teng bo'lsa, haqiqiy protsessorlar orasidagi farqga yaqin bo'ladi. Bundan tashqari, biz Sandy Bridge arxitekturasiga ega protsessordan foydalanayotganimizni chalkashtirib yubormaslik kerak, chunki "Yalang'och ishlash - ALU va FPUlarning samaradorligini tekshirish" maqolasida o'qishingiz mumkin bo'lgan samaradorlik testlarimiz Hyper-ning ta'sirini ko'rsatdi. Core protsessorlarining so'nggi avlodlarida o'zgarishsiz qolmoqda. Katta ehtimol bilan tegishli bu material kelgusi Haswell protsessorlari uchun ham mavjud bo'ladi.

Sinov metodologiyasiga oid barcha savollar, shuningdek Hyper-Threading texnologiyasining ishlash xususiyatlari muhokama qilinganga o'xshaydi va shuning uchun eng qiziqarli qismga - testlarga o'tish vaqti keldi.

Biz protsessor yadrolari sonining o'yin samaradorligiga ta'sirini o'rgangan sinovimizda ham, biz 3DMark 11 protsessor unumdorligi bo'yicha butunlay bo'shashganini va hatto bitta yadroda ham mukammal ishlashini aniqladik. Hyper-Threading xuddi shunday "kuchli" ta'sirga ega edi. Ko'rib turganingizdek, test Pentium va Core i7 o'rtasida hech qanday farqni sezmaydi, oraliq modellar haqida gapirmasa ham bo'ladi.

Metro 2033

Ammo Metro 2033 Hyper-Threading ko'rinishini aniq sezdi. Va u unga salbiy munosabatda bo'ldi! Ha, to'g'ri: ushbu o'yinda HTni yoqish ishlashga salbiy ta'sir qiladi. Kichkina ta'sir, albatta - to'rtta jismoniy yadro bilan sekundiga 0,5 kvadrat va ikkitasi bilan 0,7. Ammo bu fakt Metro 2033 Pentium Core i3 dan tezroq, Core i5 esa Core i7 dan yaxshiroq deyishga barcha asoslar beradi. Bu Hyper-Threading o'z samaradorligini har doim ham, hamma joyda ham ko'rsatmasligining tasdig'idir.

Crysis 2

Bu o'yin juda qiziqarli natijalarni ko'rsatdi. Avvalo shuni ta'kidlaymizki, Hyper-Threading ta'siri ikki yadroli protsessorlarda yaqqol ko'rinadi - Core i3 Pentiumdan deyarli 9 foizga oldinda, bu o'yin uchun juda ko'p. HT va Intel uchun g'alaba? Aslida emas, chunki Core i7 sezilarli darajada arzonroq Core i5 ga nisbatan hech qanday daromad ko'rsatmadi. Ammo buning oqilona tushuntirishi bor - Crysis 2 to'rtdan ortiq ma'lumot oqimidan foydalana olmaydi. Shu sababli, biz HT bilan ikki yadroli yaxshi o'sishni ko'rmoqdamiz - baribir, mantiqiy bo'lsa ham, to'rtta ip ikkitadan yaxshiroqdir. Boshqa tomondan, qo'shimcha Core i7 iplarini joylashtirish uchun hech qanday joy yo'q edi; Shunday qilib, ushbu test natijalariga asoslanib, biz Core i3-da HTning ijobiy ta'sirini qayd etishimiz mumkin, bu Pentium-dan sezilarli darajada yaxshiroq. Ammo to'rt yadroli protsessorlar orasida Core i5 yana oqilona echimga o'xshaydi.

Jang maydoni 3

Bu erda natijalar juda g'alati. Agar yadrolar soni bo'yicha testda jang maydoni mikroskopik, ammo chiziqli o'sishning namunasi bo'lsa, Hyper-Threading-ning kiritilishi natijalarga betartiblikni keltirib chiqardi. Aslida, shuni aytishimiz mumkinki, Core i3 o'zining ikkita yadrosi va HT bilan, hatto Core i5 va Core i7 dan ham eng yaxshisi bo'lib chiqdi. Bu, albatta, g'alati, lekin ayni paytda Core i5 va Core i7 yana bir xil darajada edi. Buni nima tushuntirishi aniq emas. Ehtimol, ushbu o'yindagi sinov metodologiyasi bu erda rol o'ynadi, bu standart ko'rsatkichlarga qaraganda ko'proq xatolarga olib keladi.

Oxirgi testda F1 2011 yadrolar soniga nisbatan juda tanqidiy o'yinlardan biri bo'lib chiqdi va bu testda Hyper-Threading texnologiyasining ishlashga ajoyib ta'siri bilan bizni yana hayratda qoldirdi. Va yana, Crysis 2-da bo'lgani kabi, HT-ning kiritilishi ikki yadroli protsessorlarda juda yaxshi ishladi. Bizning shartli Core i3 va Pentium o'rtasidagi farqni ko'ring - bu ikki baravar ko'p! O'yinda ikkita yadro juda kamligi aniq ko'rinib turibdi va shu bilan birga uning kodi shunchalik yaxshi parallellashtirilganki, effekt ajoyib. Boshqa tomondan, siz to'rtta jismoniy yadro bilan bahslasholmaysiz - Core i5 Core i3-ga qaraganda sezilarli darajada tezroq. Ammo Core i7, avvalgi o'yinlarda bo'lgani kabi, Core i5 bilan solishtirganda hech qanday ajoyib narsa ko'rsatmadi. Sababi bir xil - o'yin 4 dan ortiq ipdan foydalana olmaydi va HT-ni ishga tushirishning qo'shimcha xarajatlari Core i7 ish faoliyatini Core i5 darajasidan pastga tushiradi.

Qadimgi jangchiga Hyper-Threading kerak bo'lganidek, kirpiga futbolka kerak emas - uning ta'siri F1 2011 yoki Crysis 2dagidek aniq sezilmaydi. Biroq, biz hali ham HTni ikki yadroli protsessorda yoqishni ta'kidlaymiz. 1 ta qo'shimcha ramka olib keldi. Bu, albatta, Core i3 Pentium-dan yaxshiroq deb aytish uchun etarli emas. Hech bo'lmaganda, bu yaxshilanish ushbu protsessorlarning narxidagi farqga aniq mos kelmaydi. Core i5 va Core i7 o'rtasidagi narx farqini eslatib o'tishning hojati yo'q, chunki HT-ni qo'llab-quvvatlamaydigan protsessor yana tezroq bo'lib chiqdi. Va sezilarli darajada tezroq - 7 foizga. Nima bo'lishidan qat'iy nazar, biz yana bir bor ta'kidlaymizki, to'rtta ip bu o'yin uchun maksimaldir, shuning uchun HyperThreading Ushbu holatda Core i7 yordam bermaydi, lekin to'sqinlik qiladi.

Agar siz BIOS Setup tarkibini diqqat bilan ko'rib chiqsangiz, u erda CPU Hyper Threading Technology variantini ko'rgan bo'lishingiz mumkin. Va siz Hyper Threading (yoki hyperthreading, rasmiy nomi Hyper Threading Technology, HTT) nima ekanligini va bu variant nima uchun ekanligini qiziqtirgandirsiz.

Hyper Threading nisbatan yangi texnologiya, Pentium arxitektura protsessorlari uchun Intel tomonidan ishlab chiqilgan. Amaliyot shuni ko'rsatadiki, Hyper Threading texnologiyasidan foydalanish ko'p hollarda protsessor unumdorligini taxminan 20-30% ga oshirish imkonini berdi.

Bu erda siz kompyuterning markaziy protsessori qanday ishlashini eslab qolishingiz kerak. Kompyuterni yoqsangiz va unda dasturni ishga tushirganingizdan so'ng, protsessor undagi mashina kodi deb ataladigan ko'rsatmalarni o'qiy boshlaydi. Har bir ko'rsatmani navbatma-navbat o'qiydi va ularni birin-ketin bajaradi.

Biroq, ko'pgina dasturlarda bir vaqtning o'zida bir nechta dasturiy jarayonlar mavjud. Bundan tashqari, zamonaviy operatsion tizimlar foydalanuvchiga bir nechtasiga ega bo'lish imkonini beradi ishlaydigan dasturlar. Va ular shunchaki ruxsat berishmaydi - aslida, operatsion tizimda bitta jarayon ishlayotgan vaziyatni bugungi kunda umuman tasavvur qilib bo'lmaydi. Shu sababli, eski texnologiyalar yordamida ishlab chiqilgan protsessorlar bir vaqtning o'zida bir nechta jarayonlarni qayta ishlash zarur bo'lgan hollarda past ko'rsatkichlarga ega edi.

Albatta, ushbu muammoni hal qilish uchun siz tizimga bir nechta jismoniy hisoblash yadrolari yordamida bir nechta protsessor yoki protsessorlarni kiritishingiz mumkin. Ammo bunday takomillashtirish qimmat, texnik jihatdan murakkab va amaliy nuqtai nazardan har doim ham samarali emas.

Rivojlanish tarixi

Shu sababli, bitta jismoniy yadroda bir nechta jarayonlarni qayta ishlashga imkon beradigan texnologiyani yaratishga qaror qilindi. Bunday holda, dasturlar uchun tizimda bir vaqtning o'zida bir nechta protsessor yadrolari mavjud bo'lib ko'rinadi.

Hyper Threading texnologiyasini qo'llab-quvvatlash birinchi marta protsessorlarda 2002 yilda paydo bo'lgan. Bular Pentium 4 oilasining protsessorlari va soat tezligi 2 GGts dan yuqori bo'lgan Xeon server protsessorlari edi. Dastlab, texnologiya Jekson kod nomini oldi, ammo keyin uning nomi Hyper Threadingga o'zgartirildi, bu keng jamoatchilikka tushunarli bo'lib, uni taxminan "super-threading" deb tarjima qilish mumkin.

Shu bilan birga, Intel ma'lumotlariga ko'ra, Hyper Threading-ni qo'llab-quvvatlaydigan protsessor kristalining sirt maydoni uni qo'llab-quvvatlamaydigan oldingi modelga nisbatan atigi 5% ga oshdi va o'rtacha unumdorlik 20% ga oshdi.

Umuman olganda, texnologiya o'zini yaxshi isbotlaganiga qaramay, bir qator sabablarga ko'ra Intel Pentium 4 o'rnini bosgan Core 2 oilasi protsessorlarida Hyper Threading texnologiyasini o'chirishga qaror qildi. Biroq Hyper Threading keyinchalik protsessorlarda yana paydo bo'ldi. Sandy Bridge va Ivy arxitekturalari Bridge va Haswell, sezilarli darajada qayta ishlangan.

Texnologiyaning mohiyati

Hyper Threading texnologiyasini tushunish juda muhim, chunki u... asosiy funktsiyalari Intel protsessorlarida.

Protsessorlar erishgan barcha muvaffaqiyatlarga qaramay, ular bitta muhim kamchilikka ega - ular bir vaqtning o'zida faqat bitta ko'rsatmani bajarishlari mumkin. Aytaylik, siz bir vaqtning o'zida kabi ilovalarni ishga tushirdingiz matn muharriri, brauzer va Skype. Foydalanuvchi nuqtai nazaridan, ushbu dasturiy muhitni ko'p vazifali deb atash mumkin, ammo protsessor nuqtai nazaridan bu juda uzoqdir. Protsessor yadrosi hali ham ma'lum vaqt oralig'ida bitta buyruqni bajaradi. Bunday holda, protsessorning vazifasi protsessor vaqt resurslarini o'rtasida taqsimlashdir alohida ilovalar. Ko'rsatmalarning bunday ketma-ket bajarilishi juda tez sodir bo'lganligi sababli, siz buni sezmaysiz. Va sizga hech qanday kechikish yo'qdek tuyuladi.

Ammo hali ham kechikish bor. Kechikish har bir dastur protsessorni ma'lumotlar bilan ta'minlaganligi sababli yuzaga keladi. Har bir ma'lumot oqimi ma'lum bir vaqtda kelishi va protsessor tomonidan alohida ishlov berilishi kerak. Hyper Threading texnologiyasi har bir protsessor yadrosiga ma'lumotlarni qayta ishlashni rejalashtirish va resurslarni bir vaqtning o'zida ikkita oqim uchun taqsimlash imkonini beradi.

Shuni ta'kidlash kerakki, zamonaviy protsessorlarning yadrosida bir nechta ijro birliklari mavjud bo'lib, ularning har biri ma'lumotlar ustida muayyan operatsiyani bajarish uchun mo'ljallangan. Bunday holda, bitta ipdan ma'lumotlarni qayta ishlash paytida ushbu ijro etuvchi qurilmalarning ba'zilari ishlamay qolishi mumkin.

Ushbu holatni tushunish uchun biz konveyerda yig'ish sexida ishlaydigan va har xil turdagi qismlarga ishlov beradigan ishchilarga o'xshatishimiz mumkin. Har bir ishchi vazifani bajarish uchun mo'ljallangan maxsus asbob bilan jihozlangan. Biroq, agar qismlar noto'g'ri ketma-ketlikda kelsa, kechikishlar yuzaga keladi, chunki ba'zi ishchilar ishni boshlash uchun navbatda turishadi. Hyper Threading-ni ilgari bo'sh turgan ishchilar o'z ishlarini boshqalardan mustaqil ravishda amalga oshirishlari uchun ustaxonada yotqizilgan qo'shimcha konveyer bilan solishtirish mumkin. Seminar hali ham bitta, lekin qismlar tezroq va samaraliroq qayta ishlanadi, buning natijasida ishlamay qolish vaqti kamayadi. Shunday qilib, Hyper Threading bitta ipdan ko'rsatmalarni bajarayotganda ishlamay qolgan protsessor ijro bloklarini yoqish imkonini berdi.

Hyper Threading-ni qo'llab-quvvatlaydigan ikki yadroli protsessorli kompyuterni yoqsangiz va "Ishlash" yorlig'i ostidagi Windows Task Manager (Vazifa menejeri) ni ochsangiz, unda to'rtta grafik topasiz. Lekin bu aslida sizda 4 ta protsessor yadrosi bor degani emas.

Buning sababi, Windows har bir yadroda ikkita mantiqiy protsessor bor deb o'ylaydi. "Mantiqiy protsessor" atamasi kulgili ko'rinadi, lekin bu jismonan mavjud bo'lmagan protsessorni anglatadi. Windows har bir mantiqiy protsessorga ma'lumotlar oqimini yuborishi mumkin, lekin faqat bitta yadro bu ishni bajaradi. Shuning uchun Hyper Threading texnologiyasiga ega bitta yadro alohida jismoniy yadrolardan sezilarli darajada farq qiladi.

Hyper Threading texnologiyasi quyidagi apparat va dasturiy ta'minotdan yordam talab qiladi:

  • Markaziy protsessor
  • Anakart chiplari
  • operatsion tizim

Texnologiyaning afzalliklari

Endi quyidagi savolni ko'rib chiqamiz: Hyper Threading texnologiyasi kompyuter ish faoliyatini qanchalik oshiradi? Internetda kezish va matn terish kabi kundalik ishlarda texnologiyaning afzalliklari unchalik aniq emas. Biroq, shuni yodda tutingki, bugungi protsessorlar shunchalik kuchliki, kundalik vazifalar protsessordan kamdan-kam hollarda to'liq foydalanadi. Bundan tashqari, ko'p narsa uning qanday yozilishiga bog'liq dasturiy ta'minot. Sizda bir vaqtning o'zida bir nechta dastur ishlayotgan bo'lishi mumkin, lekin agar siz yuklanish grafigiga qarasangiz, har bir yadroda faqat bitta mantiqiy protsessor ishlatilganligini ko'rasiz. Buning sababi, dasturiy ta'minot jarayonlarni yadrolar o'rtasida taqsimlashni qo'llab-quvvatlamaydi.

Biroq, murakkabroq vazifalar uchun Hyper Threading foydaliroq bo'lishi mumkin. 3D modellashtirish dasturlari, 3D o'yinlar, musiqa yoki video kodlash/dekodlash dasturlari va ko'plab ilmiy ilovalar kabi ilovalar ko'p ish zarralarini to'liq ishlatish uchun yozilgan. Shunday qilib, siz qiyin o'yinlarni o'ynash, musiqa tinglash yoki filmlarni tomosha qilish paytida Hyper Threading yoqilgan kompyuterning ishlash afzalliklarini his qilishingiz mumkin. Ishlashning o'sishi 30% gacha yetishi mumkin, ammo Hyper Threading umuman afzallik bermaydigan holatlar bo'lishi mumkin. Ba'zan, agar ikkala oqim protsessorning barcha ijro birliklarini bir xil vazifalar bilan yuklasa, unumdorlikning biroz pasayishi ham kuzatilishi mumkin.

BIOS Setup-da Hyper Threading parametrlarini o'rnatishga imkon beruvchi mos variant mavjudligiga qaytsak, aksariyat hollarda ushbu funktsiyani yoqish tavsiya etiladi. Biroq, agar kompyuteringiz xatoliklar bilan ishlayotgani yoki hatto siz kutganingizdan pastroq ishlashi aniqlansa, uni har doim o'chirib qo'yishingiz mumkin.

Xulosa

Hyper Threading-dan foydalanganda maksimal ishlash o'sishi 30% ni tashkil etganligi sababli, texnologiya protsessor yadrolari sonini ikki baravar oshirishga teng deb aytish mumkin emas. Biroq, Hyper Threading foydali variant bo'lib, kompyuter egasi sifatida sizga zarar keltirmaydi. Uning foydasi, masalan, multimedia fayllarini tahrir qilganingizda yoki kompyuteringizni Photoshop yoki Maya kabi professional dasturlar uchun ish stantsiyasi sifatida ishlatganingizda sezilarli bo'ladi.

Hyper-threading texnologiyasi kontekstida xotira samaradorligini baholash zarur bo'lgan vaqt bor edi. Biz uning ta'siri har doim ham ijobiy emas degan xulosaga keldik. Bo'sh vaqt kvanti paydo bo'lganda, tadqiqotni davom ettirish va davom etayotgan jarayonlarni o'z dizaynimizdagi dasturiy ta'minotdan foydalangan holda mashina soatlari va bitlarining aniqligi bilan ko'rib chiqish istagi paydo bo'ldi.

O'rganilayotgan platforma

Tajribalar ob'ekti - ASUS noutbuki Intel Core i7-4700HQ protsessorli N750JK. Soat chastotasi 2,4 gigagerts, Intel Turbo Boost rejimida 3,4 GGts gacha oshirildi. 16 gigabayt o'rnatilgan Ram DDR3-1600 (PC3-12800), ikki kanalli rejimda ishlaydi. Operatsion tizim - Microsoft Windows 8.1 64 bit.

Fig.1 O'rganilayotgan platformaning konfiguratsiyasi.

O'rganilayotgan platformaning protsessorida 4 ta yadro mavjud bo'lib, ular Hyper-Threading texnologiyasi yoqilganda 8 ta oqim yoki mantiqiy protsessorlar uchun apparat ta'minotini ta'minlaydi. Platforma proshivka dasturi ushbu ma'lumotni MADT (Multiple APIC Description Table) ACPI jadvali orqali operatsion tizimga uzatadi. Platformada faqat bitta RAM kontrolleri mavjud bo'lganligi sababli, protsessor yadrolarining xotira kontrollerlariga yaqinligini e'lon qiladigan SRAT (Tizim resurslariga yaqinlik jadvali) jadvali mavjud emas. Shubhasiz, ko'rib chiqilayotgan noutbuk NUMA platformasi emas, balki operatsion tizim, birlashtirish maqsadida, NUMA tugunlari = 1 qatorida ko'rsatilganidek, uni bitta domenga ega NUMA tizimi deb hisoblaydi. Bizning tajribalarimiz uchun asosiy fakt shundaki, birinchi darajali ma'lumotlar keshi 32 kilobayt hajmga ega. to'rt yadroning har biri. Bir yadroli ikkita mantiqiy protsessor L1 va L2 keshlarini baham ko'radi.

O'rganilayotgan operatsiya

Biz ma'lumotlar blokining o'qish tezligining uning hajmiga bog'liqligini o'rganamiz. Buning uchun biz eng samarali usulni tanlaymiz, ya'ni AVX ko'rsatmasi VMOVAPD yordamida 256 bitli operandlarni o'qish. Grafiklarda X o'qi blok hajmini, Y o'qi esa o'qish tezligini ko'rsatadi. L1 kesh hajmiga mos keladigan X nuqtasi atrofida biz burilish nuqtasini ko'rishni kutamiz, chunki qayta ishlangan blok kesh chegaralarini tark etgandan so'ng unumdorlik pasayishi kerak. Bizning testimizda, ko'p tarmoqli ishlov berishda, 16 ta boshlangan ipning har biri alohida manzillar diapazoni bilan ishlaydi. Ilova ichidagi Hyper-Threading texnologiyasini boshqarish uchun har bir ip har bir mantiqiy protsessorga bitta bit mos keladigan niqobni o'rnatuvchi SetThreadAffinityMask API funksiyasidan foydalanadi. Bitta bit qiymati ko'rsatilgan protsessorni ma'lum bir ip tomonidan ishlatishga imkon beradi, nol qiymat uni taqiqlaydi. O'rganilayotgan platformaning 8 ta mantiqiy protsessorlari uchun 11111111b maskasi barcha protsessorlardan foydalanishga imkon beradi (Hyper-Threading yoqilgan), maska ​​01010101b har bir yadroda bitta mantiqiy protsessordan foydalanishga imkon beradi (Hyper-Threading o'chirilgan).

Grafiklarda quyidagi qisqartmalar qo'llaniladi:

MBPS (sekundiga megabayt)sekundiga megabaytlarda o'qish tezligini bloklash;

CPI (ko'rsatma bo'yicha soatlar)har bir ko'rsatma uchun soat sikllari soni;

TSC (vaqt markasi hisoblagichi)CPU sikl hisoblagichi.

Eslatma: Turbo Boost rejimida ishlayotganda TSC registrining soat tezligi protsessorning soat tezligiga mos kelmasligi mumkin. Natijalarni sharhlashda buni hisobga olish kerak.

Grafiklarning o'ng tomonida dasturning har bir ipida bajarilgan maqsadli operatsiyaning tsikli tanasini tashkil etuvchi ko'rsatmalarning o'n oltilik soni yoki ushbu kodning birinchi 128 bayti tasvirlangan.

Tajriba № 1. Bitta ip



2-rasm Bitta ipni o'qish

Maksimal tezlik sekundiga 213563 megabayt. Burilish nuqtasi taxminan 32 kilobayt blok hajmida sodir bo'ladi.

Tajriba № 2. 4 ta protsessorda 16 ta ip, Hyper-Threading o'chirilgan



3-rasm O'n olti ipda o'qish. Amaldagi mantiqiy protsessorlar soni to'rtta

Hyper-Threading o'chirilgan. Maksimal tezlik sekundiga 797598 megabayt. Burilish nuqtasi taxminan 32 kilobayt blok o'lchamida sodir bo'ladi. Kutilganidek, bitta ip bilan o'qish bilan solishtirganda, ishlaydigan yadrolar soniga qarab tezlik taxminan 4 baravar oshdi.

Tajriba № 3. 8 ta protsessorda 16 ta ip, Hyper-Threading yoqilgan



4-rasm O'n olti ip bilan o'qish. Amaldagi mantiqiy protsessorlar soni sakkizta

Hyper-Threading yoqilgan. Hyper-Threading-ni yoqish natijasida maksimal tezlik sekundiga 800 722 megabaytni tashkil etadi, u deyarli oshmadi. Katta minus shundaki, burilish nuqtasi taxminan 16 kilobayt blok hajmida sodir bo'ladi. Hyper-Threading-ni yoqish maksimal tezlikni biroz oshirdi, ammo tezlikning pasayishi endi blok hajmining yarmida - taxminan 16 kilobaytda sodir bo'ladi, shuning uchun o'rtacha tezlik sezilarli darajada kamaydi. Buning ajablanarli joyi yo'q, har bir yadro o'zining L1 keshiga ega, ayni paytda bir yadroning mantiqiy protsessorlari uni baham ko'radi.

Xulosa

Operatsiya ko'p yadroli protsessorda o'lchovlarni yaxshi o'rgandi. Sabablari: Har bir yadro o'zining L1 va L2 keshini o'z ichiga oladi, maqsadli blok hajmi kesh hajmi bilan taqqoslanadi va har bir ip o'z manzil diapazoni bilan ishlaydi. Akademik maqsadlarda biz ushbu shartlarni sintetik testda yaratdik va real ilovalar odatda ideal optimallashtirishdan uzoq ekanligini tan oldik. Ammo Hyper-Threading-ni yoqish, hatto bunday sharoitlarda ham, eng yuqori tezlikning biroz oshishi bilan, o'lchamlari 16 dan 32 kilobaytgacha bo'lgan bloklarni qayta ishlash tezligida sezilarli yo'qotishlarga olib keldi;

Assalomu alaykum kompyuter va apparat ixlosmandlari.

Kompyuteringizda bir vaqtning o'zida ko'p vazifalarni yashin tezligida bajara oladigan yuqori unumdor protsessorga ega bo'lishni xohlaysizmi? Kim rad etadi, to'g'rimi? Keyin men sizga hiper ip texnologiyasi bilan tanishishingizni taklif qilaman: bu nima va u qanday ishlaydi, siz ushbu maqoladan bilib olasiz.


Kontseptsiyani tushuntirish

Hyper-threading ingliz tilidan "hyper-precision" deb tarjima qilingan. Texnologiya biron bir sababga ko'ra bunday baland nom oldi. Axir, operatsion tizim ikkita mantiqiy yadro sifatida u bilan jihozlangan bitta jismoniy protsessorni oladi. Shunday qilib, ko'proq buyruqlar ishlashga ta'sir qilmasdan qayta ishlanadi.

Bu qanday mumkin? Protsessor tufayli:

  • Bir vaqtning o'zida bir nechta ishlaydigan iplar haqidagi ma'lumotlarni saqlaydi;
  • Har bir mantiqiy protsessor uchun bitta registrlar to'plami - tezkor ichki xotira bloklari, shuningdek, bitta uzilish bloki mavjud. Ikkinchisi turli qurilmalardan so'rovlarni ketma-ket bajarish uchun javobgardir.

Bu amalda qanday ko'rinadi? Aytaylik, jismoniy protsessor hozirda birinchi mantiqiy protsessordan buyruqlarni qayta ishlamoqda. Ammo ikkinchisida qandaydir nosozlik yuz berdi va u, masalan, xotiradan ma'lumotlarni kutish kerak. Jismoniy vaqtni behuda sarflamaydi va darhol ikkinchi mantiqiy protsessorga o'tadi.

Hosildorlikni oshirish haqida

Jismoniy protsessorning samaradorligi, qoida tariqasida, 70% dan oshmaydi. Nega? Ko'pincha ma'lum bir vazifani bajarish uchun ba'zi bloklar kerak emas. Masalan, protsessor arzimas hisoblash amallarini bajarganda, buyruq bloki va SIMD kengaytmalari ishlatilmaydi. Filialni bashorat qilish modulida yoki keshga kirishda xatolik yuz beradi.

Bunday holatlarda Hyper-threading "bo'shliqlarni" boshqa vazifalar bilan to'ldiradi. Shunday qilib, texnologiyaning samaradorligi foydali ishning bo'sh qolmasligi va faol bo'lmagan qurilmalarga berilishidadir.

Tashqi ko'rinishi va amalga oshirilishi

Hyper-threading allaqachon o'zining 15 yilligini nishonlagan deb hisoblashimiz mumkin. Axir u 2002 yilda chiqarilgan va dastlab Xeon mahsulotlarida ishlay boshlagan super-threading texnologiyasi asosida ishlab chiqilgan, keyin o'sha yili Pentium 4 ga integratsiya qilingan. Ushbu texnologiyalarga mualliflik huquqi Intelga tegishli.

HT NetBurst mikroarxitekturasida ishlaydigan protsessorlarda amalga oshiriladi, u yuqori quvvat bilan tavsiflanadi. soat chastotalari. Texnologik yordam Core vPro, M va Xeon oilalari modellarida amalga oshirildi. Biroq, Core 2 seriyasi ("Duo", "Quad") birlashtirilmagan. Ishlash printsipiga o'xshash texnologiya Atom va Itanium protsessorlarida amalga oshiriladi.

Uni qanday yoqish mumkin? Sizda nafaqat yuqoridagi protsessorlardan biriga, balki texnologiyani qo'llab-quvvatlaydigan operatsion tizimga va HTni yoqish va o'chirish imkoniyatiga ega bo'lgan BIOS ham bo'lishi kerak. Agar yo'q bo'lsa, BIOS-ni yangilang.

Hyper-threadingning ijobiy va salbiy tomonlari

Yuqoridagi ma'lumotlardan texnologiyaning ba'zi afzalliklari haqida xulosa qilgan bo'lishingiz mumkin. Men ularga yana ikkita so'z qo'shaman:

  • Parallel ravishda bir nechta dasturlarning barqaror ishlashi;
  • Internetda kezish yoki ilovalar bilan ishlashda javob vaqti qisqardi.

Siz tushunganingizdek, malhamda chivin bor edi. Quyidagi sabablarga ko'ra samaradorlikning oshishi bo'lmasligi mumkin:

  • Kesh xotirasi yetarli emas. Misol uchun, 4 yadroli i7 protsessorlari 8 MB keshga ega, ammo mantiqiy yadrolar soni bir xil. Biz har bir yadro uchun atigi 1 MB olamiz, bu ko'pchilik dasturlar uchun hisoblash vazifalarini bajarish uchun etarli emas. Shu sababli, unumdorlik nafaqat to'xtamaydi, balki pasayadi.

  • Ma'lumotlarga bog'liqlik. Aytaylik, birinchi ip darhol ikkinchisidan ma'lumot talab qiladi, lekin u hali tayyor emas yoki boshqa ipda navbatda turibdi. Bundan tashqari, tsiklik ma'lumotlarga vazifani tezda bajarish uchun ma'lum bloklar kerak bo'ladi, lekin ular allaqachon boshqa ishlar bilan band.
  • Yadro haddan tashqari yuklanishi. Yadro allaqachon haddan tashqari yuklangan bo'lishi mumkin, ammo shunga qaramay, bashorat qilish moduli unga ma'lumotlarni yuboradi, buning natijasida kompyuter sekinlasha boshlaydi.

Hyper-threading qayerda kerak?

Texnologiya resurs talab qiladigan dasturlardan foydalanishda foydali bo'ladi: audio, video va foto muharrirlar, o'yinlar, arxivatorlar. Bularga Photoshop, Maya, 3D’s Max, Corel Draw, WinRar va boshqalar kiradi.

Dasturiy ta'minot Hyper-threading bilan ishlash uchun optimallashtirilgan bo'lishi muhimdir. Aks holda, kechikishlar paydo bo'lishi mumkin. Gap shundaki, dasturlar mantiqiy yadrolarni jismoniy deb hisoblaydi, shuning uchun ular bir xil blokga turli vazifalarni yuborishlari mumkin.

Sizni mening blogimga tashrif buyurishingizni kutamiz.

Hech bo'lmaganda bir marta BIOS-ni o'rnatgan foydalanuvchilar, ehtimol, ko'pchilik uchun tushunarsiz bo'lgan parametr mavjudligini allaqachon payqashgan. Intel Hyper Ip o'tkazish. Ko'pchilik bu texnologiya nima ekanligini va u qanday maqsadda qo'llanilishini bilmaydi. Keling, Hyper Threading nima ekanligini va ushbu yordamdan foydalanishni qanday yoqish mumkinligini aniqlashga harakat qilaylik. Bundan tashqari, kompyuterning ishlashi uchun qanday foyda keltirishini aniqlashga harakat qilamiz. bu sozlama. Aslida, bu erda tushunish qiyin narsa yo'q.

Intel Hyper Threading: bu nima?
Agar siz kompyuter terminologiyasining o'rmoniga chuqur kirmasangiz, lekin oddiy qilib aytganda, bu texnologiya markaziy protsessor tomonidan bir vaqtning o'zida qayta ishlangan buyruqlar oqimini oshirish uchun ishlab chiqilgan. Zamonaviy protsessor chiplari odatda mavjud hisoblash imkoniyatlarining atigi 70 foizidan foydalanadi. Qolganlari, ta'bir joiz bo'lsa, zaxirada qoladi. Ma'lumotlar oqimini qayta ishlashga kelsak, tizim ko'p yadroli protsessordan foydalanishiga qaramay, aksariyat hollarda faqat bitta ip ishlatiladi.

Asosiy ishlash tamoyillari
Markaziy protsessorning imkoniyatlarini oshirish maqsadida u ishlab chiqilgan maxsus texnologiya Hyper Threading. Ushbu texnologiya bitta buyruq oqimini ikkiga bo'lishni osonlashtiradi. Mavjudga ikkinchi ipni qo'shish ham mumkin. Faqatgina bunday ip virtual bo'lib, jismoniy darajada ishlamaydi. Ushbu yondashuv protsessor ish faoliyatini sezilarli darajada oshirishi mumkin. Shunga ko'ra, butun tizim tezroq ishlay boshlaydi. CPU unumdorligi o'sishi biroz o'zgarishi mumkin. Bu alohida muhokama qilinadi. Biroq, Hyper Threading texnologiyasini ishlab chiquvchilarning o'zlari u to'laqonli yadroga etib bormasligini da'vo qilmoqda. Ba'zi hollarda ushbu texnologiyadan foydalanish yuz foiz oqlanadi. Agar siz Hyper Threading protsessorlarining mohiyatini bilsangiz, natija sizni uzoq kuttirmaydi.

Tarixiy fon
Keling, ushbu rivojlanish tarixiga biroz to'xtalib o'tamiz. Hyper Threading qo'llab-quvvatlashi birinchi navbatda faqat Intel Pentium 4 protsessorlarida paydo bo'ldi. Keyinchalik bu texnologiyani amalga oshirish Intel Core iX seriyasida davom ettirildi (bu erda X protsessor seriyasini anglatadi). Shuni ta'kidlash kerakki, u negadir Core 2 protsessor chiplari qatorida yo'q. To'g'ri, o'sha paytda hosildorlikning o'sishi ancha zaif edi: qayerdadir 15-20% atrofida. Bu protsessor zarur hisoblash kuchiga ega emasligini va yaratilgan texnologiya o'z vaqtidan deyarli oldinda ekanligini ko'rsatdi. Bugungi kunda Hyper Threading texnologiyasini qo'llab-quvvatlash deyarli barcha zamonaviy chiplarda allaqachon mavjud. Markaziy protsessorning quvvatini oshirish uchun jarayonning o'zi buyruqlar va ma'lumotlarni qayta ishlash uchun joy qoldirib, chip sirtining atigi 5 foizidan foydalanadi.

Mojarolar va ishlash masalasi
Bularning barchasi, albatta, yaxshi, lekin ma'lumotlarni qayta ishlashda ba'zi hollarda sekinlashuv bo'lishi mumkin. Bu, asosan, filialni bashorat qilish moduli va doimiy ravishda qayta yuklanganda kesh hajmining etarli emasligi bilan bog'liq. Agar biz asosiy modul haqida gapiradigan bo'lsak, unda bu holda vaziyat shunday bo'ladiki, ba'zi hollarda birinchi ip ikkinchidan ma'lumotlarni talab qilishi mumkin, ular o'sha paytda qayta ishlanmasligi yoki ishlov berish uchun navbatda turishi mumkin. Bundan tashqari, markaziy protsessor yadrosi juda og'ir yukga ega bo'lgan holatlar ham kam uchraydi va shunga qaramay, asosiy modul unga ma'lumotlarni yuborishda davom etadi. Ba'zi dasturlar va ilovalar, masalan, resurs talab qiladigan onlayn o'yinlar, Hyper Threading texnologiyasidan foydalanish uchun optimallashtirilmaganligi sababli jiddiy sekinlashishi mumkin. O'yinlar bilan nima sodir bo'ladi? Foydalanuvchining kompyuter tizimi, o'z navbatida, dasturdan serverga ma'lumotlar oqimini optimallashtirishga harakat qiladi. Muammo shundaki, o'yin hamma narsani bitta qoziqqa yig'ib, ma'lumotlar oqimlarini mustaqil ravishda qanday tarqatishni bilmaydi. Umuman olganda, u shunchaki buning uchun mo'ljallanmagan bo'lishi mumkin. Ba'zan ikki yadroli protsessorlarda ishlashning o'sishi 4 yadroli protsessorlarga qaraganda ancha yuqori. Ikkinchisida shunchaki hisoblash kuchi etarli emas.

BIOS-da Hyper Threading-ni qanday yoqish mumkin?
Biz allaqachon Hyper Threading texnologiyasi nima ekanligini biroz tushundik va uning rivojlanish tarixi bilan tanishdik. Biz Hyper Threading texnologiyasi nima ekanligini tushunishga yaqinmiz. Protsessorda foydalanish uchun ushbu texnologiyani qanday faollashtirish mumkin? Bu erda hamma narsa juda sodda tarzda amalga oshiriladi. BIOS boshqaruv quyi tizimidan foydalanishingiz kerak. Quyi tizim Del, F1, F2, F3, F8, F12, F2+Del va boshqalar tugmalari yordamida kiritiladi. Agar siz Sony Vaio noutbukidan foydalanayotgan bo'lsangiz, maxsus ASSIST tugmasidan foydalanganda ular uchun maxsus kirish mavjud. BIOS sozlamalarida, agar siz foydalanayotgan protsessor Hyper Threading texnologiyasini qo'llab-quvvatlasa, maxsus sozlash liniyasi bo'lishi kerak. Ko'p hollarda u Hyper Threading Technology kabi ko'rinadi va ba'zan Function kabi. Quyi tizim ishlab chiqaruvchisiga qarab va BIOS versiyasi, sozlash bu parametr asosiy menyuda yoki kengaytirilgan sozlamalarda bo'lishi mumkin. Ushbu texnologiyani yoqish uchun siz variantlar menyusiga kirishingiz va qiymatni Enabled ga o'rnatishingiz kerak. Shundan so'ng siz kiritilgan o'zgarishlarni saqlashingiz va tizimni qayta ishga tushirishingiz kerak.

Hyper Threading texnologiyasi qanday foydali?
Xulosa qilib aytganda, Hyper Threading texnologiyasidan foydalanishning afzalliklari haqida gapirmoqchiman. Bularning barchasi nima uchun? Nima uchun axborotni qayta ishlashda protsessor quvvatini oshirish kerak? Resurs talab qiladigan ilovalar va dasturlar bilan ishlaydigan foydalanuvchilar hech narsani tushuntirishlari shart emas. Ko'pchilik, ehtimol, grafik, matematik va dizayn dasturlari paketlari ishlash jarayonida juda ko'p tizim resurslarini talab qilishini bilishadi. Shu sababli, butun tizim shunchalik yuklanganki, u juda sekinlasha boshlaydi. Buning oldini olish uchun Hyper Threading yordamini faollashtirish tavsiya etiladi.