Үй / ғаламтор / ht технологиясы. Гипер жіптер дегеніміз не және ол неліктен? Hyper Threading қолдауы бар процессорлар

ht технологиясы. Гипер жіптер дегеніміз не және ол неліктен? Hyper Threading қолдауы бар процессорлар

15.03.2013

Hyper-Threading технологиясы пайда болды Intel процессорлары, айту қорқынышты, 10 жылдан астам уақыт бұрын. Қазіргі уақытта бұл Core процессорларының маңызды элементі. Дегенмен, ойындарда HT қажеттілігі туралы мәселе әлі де толық түсінілмеген. Біз геймерлерге Core i7 керек пе, әлде Core i5-ті пайдалану жақсы ма, соны анықтау үшін сынақ жүргізуді шештік. Сондай-ақ Core i3 Pentium-ға қарағанда қаншалықты жақсы екенін біліңіз.


Intel компаниясы әзірлеген және есте қаларлық Pentium 4-тен бастап компанияның процессорларында тек қана қолданылатын Hyper-Threading технологиясы қазір қарапайым нәрсе. Ол қазіргі және алдыңғы буын процессорларының айтарлықтай санымен жабдықталған. Ол да жақын арада пайдалануға беріледі.

Hyper-Threading технологиясы пайдалы және өнімділікке оң әсер ететінін мойындау керек, әйтпесе Intel оны өз процессорларын желі ішінде орналастыру үшін пайдаланбайды. Және кішігірім элемент ретінде емес, ең маңыздысы болмаса, ең маңыздыларының бірі. Біз не туралы айтып жатқанымызды түсіну үшін Intel процессорларының сегменттеу принципін бағалауды жеңілдететін кесте дайындадық.


Көріп отырғаныңыздай, Pentium және Core i3, сондай-ақ Core i5 және Core i7 арасында өте аз айырмашылықтар бар. Шындығында, i3 және i7 үлгілері Pentium және i5-тен тек бір ядродағы үшінші деңгейдегі кэштің өлшемімен ғана ерекшеленеді (әрине, тактілік жиілікті есептемегенде). Бірінші жұп 1,5 мегабайт, ал екіншісі 2 мегабайт. Бұл айырмашылық процессорлардың өнімділігіне түбегейлі әсер ете алмайды, өйткені кэш өлшеміндегі айырмашылық өте аз. Сондықтан Core i3 және Core i7 Hyper-Threading технологиясына қолдау көрсетті, бұл осы процессорларға сәйкесінше Pentium және Core i5-тен өнімділік артықшылығына ие болуға мүмкіндік беретін негізгі элемент.

Нәтижесінде сәл үлкенірек кэш және Hyper-Threading қолдауы процессорларға айтарлықтай жоғары бағаларды орнатуға мүмкіндік береді. Мысалы, Pentium желісінің процессорлары (шамамен 10 мың теңге) Core i3-тен (шамамен 20 мың теңге) шамамен екі есе арзан және физикалық тұрғыдан, аппараттық деңгейде олар мүлдем бірдей және сәйкесінше , бірдей құны бар. Core i5 (шамамен 30 мың теңге) мен Core i7 (шамамен 50 мың теңге) арасындағы баға айырмашылығы да өте үлкен, бірақ жас үлгілерде екі еседен аз.


Бағаның бұлай өсуі қаншалықты орынды? Hyper-Threading қандай нақты пайда береді? Жауап бұрыннан белгілі: өсу әртүрлі болуы мүмкін - бәрі қолданбаға және оны оңтайландыруға байланысты. Біз ең талап етілетін «тұрмыстық» қосымшалардың бірі ретінде HT ойындарда не істейтінін тексеруді шештік. Сонымен қатар, бұл сынақ процессор өзегі санының ойын өнімділігіне әсері туралы алдыңғы материалымызға тамаша қосымша болады.

Тесттерге көшпес бұрын, Hyper-Threading технологиясының не екенін еске түсірейік (жақсы немесе білейік). Intel өзі айтқандай, таныстыру бұл технологиякөптеген жылдар бұрын бұл туралы күрделі ештеңе жоқ. Шын мәнінде, физикалық деңгейде HT енгізу үшін қажет нәрсе - бір физикалық ядроға регистрлердің бір жиынтығын және үзу контроллерін емес, екеуін қосу. Pentium 4 процессорларында бұл қосымша элементтертранзисторлардың санын бес пайызға ғана арттырды. Бүгінгі Айви көпірінің өзектерінде (сондай-ақ Сэнди көпірінде және болашақ Хасвеллде) тіпті төрт ядроға арналған қосымша элементтер штампты тіпті 1 пайызға арттырмайды.


Қосымша регистрлер мен үзіліс контроллері бағдарламалық қамтамасыз етумен бірге операциялық жүйеге бір физикалық ядроны емес, екі логикалық ядроны көруге мүмкіндік береді. Сонымен қатар, жүйе жіберетін екі ағынның деректерін өңдеу бұрынғыдай бір ядрода жүреді, бірақ кейбір мүмкіндіктері бар. Бүкіл процессор әлі де бір ағынның иелігінде қалады, бірақ кейбір CPU блоктары босатылып, жұмыс істемей тұрғанда, олар бірден екінші ағынның иелігіне қойылады. Осының арқасында барлық процессор блоктарын бір уақытта пайдалануға және сол арқылы оның тиімділігін арттыруға мүмкіндік туды. Intel компаниясының өзі айтқандай, тамаша жағдайларда өнімділік 30 пайызға дейін жетуі мүмкін. Рас, бұл сандар өте ұзын құбыры бар Pentium 4 үшін ғана дұрыс, заманауи процессорлар HT-тен азырақ пайда көреді.

Бірақ Hyper-Threading үшін тамаша жағдайлар әрқашан бола бермейді. Ең бастысы, ХТ жұмысының ең нашар нәтижесі - өнімділік өсімінің жоқтығы емес, оның төмендеуі. Яғни, белгілі бір жағдайларда HT бар процессордың өнімділігі HT жоқ процессорға қатысты төмендейді, себебі жіптерді бөлу және кезекке қоюдың үстеме шығындары параллельді ағындарды есептеуден айтарлықтай асып түседі, бұл нақты жағдайда мүмкін. іс. Және мұндай жағдайлар Intel қалағанынан әлдеқайда жиі кездеседі. Оның үстіне Hyper-Threading-ті көп жылдар пайдалану жағдайды жақсарта алмады. Бұл, әсіресе, өте күрделі және деректерді есептеу, қолданбалар тұрғысынан дәстүрлі емес ойындарға қатысты.

Hyper-Threading-тің ойын өнімділігіне әсерін білу үшін біз қайтадан ұзақ уақыт бойы шыдамды Core i7-2700K сынақ процессорын қолдандық және ядроларды өшіру және HT қосу/өшіру арқылы бірден төрт процессорды модельдедік. Шартты түрде оларды Pentium (2 ядро, HT өшірулі), Core i3 (2 ядро, HT қосулы), Core i5 (4 ядро, HT өшірулі) және Core i7 (4 ядро, HT қосулы) деп атауға болады. Неліктен шартты түрде? Біріншіден, кейбір сипаттамаларға сәйкес олар нақты өнімдерге сәйкес келмейді. Атап айтқанда, ядроларды өшіру үшінші деңгейдегі кэш көлемінің сәйкес төмендеуіне әкелмейді - оның көлемі барлығы үшін 8 мегабайтты құрайды. Сонымен қатар, біздің барлық «шартты» процессорларымыз бірдей 3,5 ГГц жиілікте жұмыс істейді, оған әлі барлық Intel процессорлары қол жеткізе алмайды.


Дегенмен, бұл жақсырақ, өйткені бәрінің өзгермейтіндігінің арқасында маңызды параметрлербіз Hyper-Threading-тің ойын өнімділігіне нақты әсерін ешқандай ескертусіз біле аламыз. Біздің «шартты» Pentium және Core i3 арасындағы өнімділіктің пайыздық айырмашылығы, жиіліктер тең болған жағдайда нақты процессорлар арасындағы айырмашылыққа жақын болады. Сондай-ақ біз Sandy Bridge процессорын қолданып жатқанымыз ұят емес, өйткені біздің тиімділік сынақтары туралы «Жаңа өнімділік - ALU және FPUs тиімділігін зерттеу» мақаласында оқи аласыздар Hyper-Threading Core процессорларының соңғы буындары өзгеріссіз қалады. Сірә, өзекті берілген материалалдағы Haswell процессорлары үшін де қол жетімді болады.

Тестілеу әдістемесіне қатысты барлық сұрақтар, сондай-ақ Hyper-Threading технологиясының жұмыс істеу ерекшеліктері талқыланған сияқты, сондықтан ең қызықты нәрсеге - тесттерге көшудің уақыты келді.

Біз процессор ядроларының санының ойын өнімділігіне әсерін зерттеген сынақта біз 3DMark 11 процессорының өнімділігі туралы өте тыныш, тіпті бір ядрода да тамаша жұмыс істейтінін білдік. Hyper-Threading бірдей «қуатты» әсерге ие болды. Көріп отырғаныңыздай, сынақ Pentium және Core i7 арасындағы айырмашылықтарды мүлдем байқамайды, аралық үлгілерді айтпағанда.

Метро 2033

Бірақ Metro 2033 Hyper-Threading пайда болғанын анық байқады. Және теріс жауап берді! Иә, дұрыс: бұл ойында HT қосу өнімділікке теріс әсер етеді. Кішігірім әсер, әрине - төрт физикалық ядромен секундына 0,5 кадр және екеуімен 0,7. Бірақ бұл факт Metro 2033-те Pentium Core i3-тен жылдамырақ, ал Core i5 Core i7-ден жақсы деп айтуға толық негіз береді. Бұл Hyper-Threading өзінің тиімділігін әрқашан және барлық жерде көрсете бермейтінін растайды.

Crysis 2

Бұл ойын өте қызықты нәтиже көрсетті. Біріншіден, Hyper-Threading әсері екі ядролы процессорларда айқын көрінетінін атап өтеміз - Core i3 Pentium-дан 9 пайызға дерлік асып түсті, бұл осы ойын үшін өте көп. HT және Intel үшін жеңіс пе? Шын мәнінде емес, өйткені Core i7 айтарлықтай арзанырақ Core i5-ке қарағанда ешқандай жақсартуларды көрсетпеді. Бірақ бұл үшін ақылға қонымды түсініктеме бар - Crysis 2 төрттен көп деректер ағынын қалай пайдалану керектігін білмейді. Осыған байланысты біз HT-мен қос ядроның жақсы өсуін көреміз - түптеп келгенде, төрт ағын, логикалық болса да, екеуінен жақсы. Екінші жағынан, қосымша Core i7 ағындарын қоятын жер болмады, төрт физикалық ядро ​​жеткілікті болды. Сонымен, осы сынақтың нәтижелері бойынша Core i3-те HT-тің оң әсерін атап өтуге болады, бұл Pentium-дан айтарлықтай жақсырақ. Бірақ төрт ядролы Core i5 арасында тағы да ақылға қонымды шешім сияқты көрінеді.

Ұрыс алаңы 3

Мұнда нәтижелер өте таңқаларлық. Егер ядролар санына арналған сынақта ұрыс алаңы микроскопиялық, бірақ сызықтық өсудің үлгісі болса, онда Hyper-Threading-ті қосу нәтижелерге хаос әкелді. Шын мәнінде, екі ядросы және HT бар Core i3 тіпті Core i5 және Core i7-ден де ең жақсысы болып шықты деп айта аламыз. Біртүрлі, әрине, бірақ сонымен бірге Core i5 және Core i7 қайтадан бірдей деңгейде болды. Мұны не түсіндіреді, түсініксіз. Бұл ойында тестілеу әдістемесі маңызды рөл атқарды, бұл стандартты көрсеткіштерге қарағанда үлкен қателер береді.

Соңғы сынақта F1 2011 өзін ядролар санына өте сыншыл ойындардың бірі ретінде көрсетті және бұл ойында ол Hyper-Threading технологиясының өнімділігіне тамаша әсерімен тағы да таң қалдырды. Тағы да, Crysis 2-дегідей, HT қосу екі ядролы процессорларда өте жақсы болды. Шартты Core i3 пен Pentium арасындағы айырмашылықты қараңыз - бұл екі еседен көп! Ойынның екі ядросы жетіспейтінін анық көруге болады, сонымен бірге оның коды соншалықты жақсы параллельді, бұл әсер керемет. Екінші жағынан, сіз төрт физикалық ядроны жеңе алмайсыз - Core i5 Core i3-ке қарағанда айтарлықтай жылдамырақ. Бірақ Core i7, бұрынғы ойындардағыдай, Core i5 фонында керемет ештеңе көрсетпеді. Себеп бірдей - ойын 4 жіптен артық пайдалана алмайды, ал HT үстеме шығыны Core i7 өнімділігін Core i5 деңгейінен төмендетеді.

Ескі жауынгерге Hyper-Threading қажет емес, кірпіге футболка қажет емес - оның әсері F1 2011 немесе Crysis 2-дегідей анық емес. Сонымен бірге біз екі ядролы HT-ті қосу әлі де ескертеміз. процессор 1 қосымша кадр әкелді. Әрине, бұл Core i3 Pentium-дан жақсы деп айту жеткіліксіз. Кем дегенде, бұл жақсарту осы процессорлардың бағасының айырмашылығына сәйкес келмейді. Core i5 және Core i7 арасындағы баға айырмашылығын еске түсірудің қажеті жоқ, өйткені HT қолдауы жоқ процессор қайтадан жылдамырақ болды. Және айтарлықтай жылдамырақ - 7 пайызға. Ұнаса да, ұнамаса да, біз бұл ойын үшін төрт ағынның максимум екенін тағы да айтамыз, сондықтан HyperThreading бұл жағдай Core i7-ге көмектеспейді, бірақ кедергі жасайды.

Егер сіз BIOS Setup мазмұнын мұқият қарап шықсаңыз, онда сіз CPU Hyper Threading Technology опциясын байқаған боларсыз. Мүмкін олар Hyper Threading деген не (Super-threading немесе hyper-threading, ресми атауы - Hyper Threading Technology, HTT) және бұл опция не үшін қажет деп ойлаған шығар.

Hyper Threading салыстырмалы түрде жаңа технология, Intel компаниясы Pentium архитектуралық процессорлары үшін әзірлеген. Тәжірибе көрсеткендей, Hyper Threading технологиясын қолдану көптеген жағдайларда орталық процессордың өнімділігін шамамен 20-30% арттыруға мүмкіндік берді.

Мұнда сіз компьютердің орталық процессоры қалай жұмыс істейтінін есте сақтауыңыз керек. Компьютерді қосып, ондағы бағдарламаны іске қосқан кезде, орталық процессор оның ішіндегі машиналық код деп аталатын нұсқауларды оқи бастайды. Ол әрбір нұсқауды кезекпен оқиды және оларды бір-бірден орындайды.

Дегенмен, көптеген бағдарламаларда бір уақытта жұмыс істейтін бірнеше бағдарламалық процестер бар. Сонымен қатар, заманауи операциялық жүйелер пайдаланушыға бірнеше мүмкіндік береді іске қосылған бағдарламалар. Және жай ғана рұқсат етпеңіз - шын мәнінде, операциялық жүйеде бір процесс жұмыс істейтін жағдай бүгінгі күні мүлдем мүмкін емес. Сондықтан, ескі технологияларды пайдалана отырып жасалған процессорлар бір уақытта бірнеше процестерді өңдеу қажет болған жағдайда нашар өнімділікке ие болды.

Әрине, бұл мәселені шешу үшін жүйеге бірден бірнеше процессорларды немесе бірнеше физикалық есептеуіш ядроларды пайдаланатын процессорларды қосуға болады. Бірақ мұндай жақсарту қымбат, техникалық күрделі және практикалық тұрғыдан әрқашан тиімді емес болып шығады.

Даму тарихы

Сондықтан бір физикалық ядрода бірнеше процестерді өңдеуге мүмкіндік беретін технологияны құру туралы шешім қабылданды. Сонымен қатар, бағдарламалар үшін мәселе жүйеде бірден бірнеше процессор ядросы бар сияқты көрінеді.

Hyper Threading технологиясын қолдау процессорларда алғаш рет 2002 жылы пайда болды. Бұл Pentium 4 отбасының процессорлары және 2 ГГц-тен жоғары тактілік жиілігі бар Xeon сервер процессорлары. Бастапқыда технологияның кодтық атауы Джексон болды, бірақ кейін оның атауы Hyper Threading болып өзгерді, бұл жалпы жұртшылыққа түсінікті - оны шамамен «супер ағын» деп аударуға болады.

Сонымен қатар, Intel мәліметтері бойынша, Hyper Threading-ті қолдайтын процессорлық чиптің беті оны қолдамайтын алдыңғы үлгімен салыстырғанда небәрі 5%-ға ұлғайып, өнімділікті орташа есеппен 20%-ға арттырған.

Тұтастай алғанда технология өзін жақсы дәлелдегеніне қарамастан, Intel компаниясы бірқатар себептерге байланысты Pentium 4-ті ауыстырған Core 2 отбасының процессорларында Hyper Threading технологиясын өшіруді шешті. Алайда Hyper Threading кейінірек қайта пайда болды. Сэнди көпірінің, Айви көпірінің және Хасвеллдің процессорлық архитектурасында, оларда айтарлықтай қайта жобаланған.

Технологияның мәні

Hyper Threading-ті түсіну маңызды, өйткені ол бірі болып табылады негізгі функциялар Intel процессорларында.

Процессорлар қол жеткізген барлық жетістіктерге қарамастан, олардың бір маңызды кемшілігі бар - олар бір уақытта тек бір нұсқауды орындай алады. сияқты бір уақытта іске қосылған қолданбалар бар делік мәтіндік редактор, браузер және Skype. Пайдаланушы көзқарасы бойынша бұл бағдарламалық ортаны көп тапсырмалы деп атауға болады, бірақ процессор тұрғысынан бұл олай емес. Процессордың ядросы әлі де белгілі бір уақыт аралығында бір нұсқауды орындайды. Бұл жағдайда процессордың міндеті процессордың уақыт ресурстарын арасында бөлуді қамтиды жеке қолданбалар. Нұсқаулардың дәйекті орындалуы өте жылдам болғандықтан, сіз оны байқамайсыз. Ал сізге кідіріс жоқ сияқты.

Бірақ әлі де кешігу бар. Кешігу процессордың әрбір бағдарламаның деректерімен қамтамасыз етілу жолына байланысты пайда болады. Әрбір деректер ағыны белгілі бір уақытта келіп, процессормен жеке өңделуі керек. Hyper Threading технологиясы әрбір процессор өзегіне деректерді өңдеуді жоспарлауға және ресурстарды бір уақытта екі ағынға бөлуге мүмкіндік береді.

Айта кету керек, қазіргі заманғы процессорлардың өзегінде бірден бірнеше орындау бірліктері бар, олардың әрқайсысы деректермен белгілі бір операцияны орындауға арналған. Сонымен қатар, осы атқарушы құрылғылардың кейбіреулері бір ағыннан деректерді өңдеу кезінде жұмыссыз болуы мүмкін.

Бұл жағдайды түсіну үшін конвейерде құрастыру цехында жұмыс істейтін және әртүрлі бөлшектерді өңдейтін жұмысшыларға ұқсастық жасауға болады. Әрбір жұмысшы тапсырманы орындауға арналған арнайы құралмен жабдықталған. Дегенмен, егер бөлшектер дұрыс емес реттілікпен келсе, онда кешігулер бар - өйткені жұмысшылардың кейбірі жұмысқа кірісу үшін өз кезегін күтіп отыр. Hyper Threading-ті бұрын жұмыс істемейтін жұмысшылар өз міндеттерін басқалардан тәуелсіз орындау үшін цехта төселген қосымша конвейермен салыстыруға болады. Цех әлі жалғыз, бірақ бөлшектер тезірек және тиімдірек өңделеді, сондықтан тоқтап қалулар азаяды. Осылайша, Hyper Threading бір ағыннан нұсқауларды орындау кезінде жұмыс істемейтін процессордың атқарушы құрылғыларын жұмысқа қосуға мүмкіндік берді.

Hyper Threading-ті қолдайтын екі ядролы процессоры бар компьютерді қосып, Өнімділік (Өнімділік) қойындысында Windows тапсырмалар реттеушісін (тапсырмалар реттеушісі) ашқан кезде, сіз одан төрт графикті табасыз. Бірақ бұл сізде 4 процессор өзегі бар дегенді білдірмейді.

Себебі Windows әр ядрода екі логикалық процессор бар деп ойлайды. «Логикалық процессор» термині күлкілі естіледі, бірақ ол физикалық түрде жоқ процессорды білдіреді. Windows әр логикалық процессорға деректер ағындарын жібере алады, бірақ тек бір ядросы жұмыс істейді. Сондықтан Hyper Threading технологиясы бар жалғыз ядро ​​жеке физикалық ядролардан айтарлықтай ерекшеленеді.

Hyper Threading технологиясы келесі аппараттық және бағдарламалық құралдың қолдауын қажет етеді:

  • Орталық Есептеуіш Бөлім
  • аналық платаның чипсеті
  • Операциялық жүйе

Технологияның артықшылықтары

Енді келесі сұрақты қарастырыңыз - Hyper Threading технологиясы компьютердің өнімділігін қаншалықты арттырады? Интернетте серфинг және теру сияқты күнделікті тапсырмаларда технологияның артықшылықтары соншалықты айқын емес. Дегенмен, бүгінгі процессорлардың қуаттылығы соншалықты, күнделікті тапсырмалар процессорды толық қуатында сирек пайдаланатынын есте сақтаңыз. Сонымен қатар, көп нәрсе оның қалай жазылғанына байланысты бағдарламалық қамтамасыз ету. Бір уақытта бірнеше бағдарламаны іске қосуға болады, бірақ жүктеме графигіне қарап, бір ядроға тек бір логикалық процессордың ғана пайдаланылғанын көресіз. Бұл бағдарламалық жасақтама процестерді ядролар арасында бөлуді қолдамайтындығына байланысты.

Дегенмен, күрделірек тапсырмаларда Hyper Threading пайдалырақ болуы мүмкін. 3D модельдеу бағдарламалары, 3D ойындары, музыка немесе бейне кодтау/декодтау бағдарламалары және көптеген ғылыми қолданбалар сияқты қолданбалар көп ағынды барынша тиімді ету үшін жазылған. Сондықтан күрделі ойындарды ойнау, музыка тыңдау немесе фильмдерді қарау кезінде гипер-ағынды компьютер өнімділігінің артықшылықтарын көре аласыз. Бұл өнімділікті 30%-ға дейін арттыруы мүмкін, дегенмен Hyper Threading мүлдем артықшылық бермейтін жағдайлар болуы мүмкін. Кейде, екі ағын да бірдей тапсырмалармен процессордың барлық атқарушы құрылғыларын жүктеген жағдайда, тіпті кейбір өнімділік төмендеуі мүмкін.

Hyper Threading параметрлерін орнатуға мүмкіндік беретін сәйкес опцияның BIOS Setup жүйесінде болуына оралсақ, көп жағдайда бұл мүмкіндікті қосу ұсынылады. Дегенмен, егер компьютер қателермен жұмыс істеп жатқаны немесе тіпті сіз күткеннен төмен өнімділігі болса, оны әрқашан өшіре аласыз.

Қорытынды

Hyper Threading пайдалану кезінде өнімділіктің максималды артуы 30% құрайтындықтан, технология процессор ядроларының санын екі есе арттыруға тең деп айтуға болмайды. Дегенмен, Hyper Threading пайдалы нұсқа болып табылады және сіз компьютердің иесі ретінде оған кедергі жасамайсыз. Оның артықшылығы әсіресе, мысалы, мультимедиялық файлдарды өңдегенде немесе компьютерді Photoshop немесе Maya сияқты кәсіби бағдарламалар үшін жұмыс станциясы ретінде пайдаланғанда байқалады.

Жад өнімділігін Hyper-threading технологиясы контекстінде бағалау қажет болған уақыт болды. Оның әсері әрқашан оң бола бермейді деген қорытындыға келдік. Бос уақыттың кванты болған кезде, зерттеуді жалғастыруға және өз дизайнымыздағы бағдарламалық жасақтаманы пайдалана отырып, машина циклдары мен биттерінің дәлдігімен жүріп жатқан процестерді қарастыруға деген ұмтылыс пайда болды.

Зерттелген платформа

Эксперимент объектісі – ASUS ноутбугы Intel Core i7-4700HQ процессоры бар N750JK. Сағат жиілігі 2,4 ГГц, Intel Turbo Boost режимімен 3,4 ГГц-ке дейін артады. 16 гигабайт орнатылған жедел жадыҚосарна режимінде жұмыс істейтін DDR3-1600 (PC3-12800). Операциялық жүйе - Microsoft Windows 8.1 64 бит.

Сурет 1 Зерттелетін платформаның конфигурациясы.

Зерттелетін платформаның процессорында 4 ядро ​​бар, олар Hyper-Threading технологиясы қосылған кезде 8 ағынды немесе логикалық процессорларды аппараттық қолдауды қамтамасыз етеді. Платформаның микробағдарламасы бұл ақпаратты MADT (Multiple APIC Description Table) ACPI кестесі арқылы операциялық жүйеге береді. Платформада тек бір жедел жад контроллері болғандықтан, процессор өзектерінің жад контроллерлеріне жақындығын жариялайтын SRAT (Жүйе ресурстарының жақындығы кестесі) жоқ. Әлбетте, бұл ноутбук NUMA платформасы емес, бірақ операциялық жүйе, біріздендіру мақсатында оны NUMA түйіндері = 1 жолында көрсетілгендей бір домені бар NUMA жүйесі ретінде қарастырады. Біздің эксперименттер үшін негізгі факті бірінші деңгейдегі деректер кэшінің әрқайсысы үшін 32 килобайт өлшемі бар. төрт ядродан. Бір ядроны ортақ пайдаланатын екі логикалық процессор L1 және L2 кэштерін бөліседі.

Тергеу операциясы

Біз деректер блогын оқу жылдамдығының оның өлшеміне тәуелділігін зерттейміз. Ол үшін біз ең өнімді әдісті таңдаймыз, атап айтқанда, VMOVAPD AVX нұсқаулығын пайдаланып 256-разрядты операндтарды оқу. Диаграммаларда X осі блок өлшемін, ал Y осі оқу жылдамдығын көрсетеді. Бірінші деңгей кэшінің өлшеміне сәйкес келетін X нүктесіне жақын жерде біз иілу нүктесін көреміз деп күтеміз, өйткені өңделген блок кэштен шыққаннан кейін өнімділік төмендеуі керек. Біздің сынақта, көп ағынды жағдайда, 16 басталған ағындардың әрқайсысы жеке мекенжай ауқымымен жұмыс істейді. Қолданбадағы Hyper-Threading технологиясын басқару үшін әрбір ағын әрбір логикалық процессор бір битке сәйкес келетін масканы орнататын SetThreadAffinityMask API функциясын пайдаланады. Биттің бір мәні көрсетілген процессорды көрсетілген ағынмен пайдалануға мүмкіндік береді, нөлдік мән оған тыйым салады. Зерттелетін платформаның 8 логикалық процессоры үшін 11111111b маскасы барлық процессорларды пайдалануға мүмкіндік береді (Hyper-Threading қосылған), маска 01010101b әрбір ядрода бір логикалық процессорды пайдалануға мүмкіндік береді (Hyper-Threading өшірілген).

Графиктерде келесі қысқартулар қолданылады:

MBPS (секундына мегабайт)секундына мегабайттағы оқу жылдамдығын блоктау;

CPI (нұсқау бойынша сағаттар)бір нұсқаудағы циклдар саны;

TSC (уақыт белгісін есептегіш)процессор циклінің есептегіші.

Ескертпе: TSC регистрінің тактілік жиілігі Turbo Boost режимінде жұмыс істеген кезде процессордың тактілік жылдамдығына сәйкес келмеуі мүмкін. Бұл нәтижелерді интерпретациялау кезінде ескерілуі керек.

Графиктердің оң жағында бағдарлама ағындарының әрқайсысында орындалатын мақсатты операция циклінің денесін құрайтын нұсқаулардың он алтылық үйіндісі немесе осы кодтың алғашқы 128 байты бейнеленген.

№1 тәжірибе. Бір жіп



2-сурет Бір тарауда оқу

Максималды жылдамдық секундына 213563 мегабайт. Иілу нүктесі шамамен 32 килобайт блок өлшемінде орын алады.

№2 тәжірибе. 4 процессордағы 16 ағын, Hyper-Threading өшірілген



3-сурет Он алты тарауда оқу. Қолданылатын логикалық процессорлардың саны төрт

Гипер-ағынды қосу өшірілген. Максималды жылдамдық секундына 797598 мегабайт. Иілу нүктесі шамамен 32 килобайт блок өлшемінде орын алады. Күтілгендей, бір жіппен оқумен салыстырғанда жылдамдық жұмыс істейтін ядролардың саны бойынша шамамен 4 есе өсті.

№3 тәжірибе. 8 процессордағы 16 ағын, Hyper-Threading қосылған



4-сурет Он алты тарауда оқу. Қолданылатын логикалық процессорлар саны сегіз

Гипер-ағынды қосу қосылды. Секундына 800722 мегабайт максималды жылдамдығы Hyper-Threading-ті қосу нәтижесінде дерлік өскен жоқ. Үлкен минус - иілу нүктесі шамамен 16 килобайт блок өлшемінде орын алады. Hyper-Threading қосу максималды жылдамдықты сәл арттырды, бірақ қазір жылдамдықтың төмендеуі блок өлшемінің жартысында орын алады - шамамен 16 килобайт, сондықтан орташа жылдамдық айтарлықтай төмендеді. Бұл таңқаларлық емес, әрбір ядроның өзінің L1 кэші бар, ал сол ядродағы логикалық процессорлар оны бөліседі.

қорытындылар

Зерттелетін операция көп ядролы процессорда өте жақсы масштабталады. Себептері мынада: ядролардың әрқайсысында бірінші және екінші деңгейлердің жеке кэш-жады бар, мақсатты блоктың өлшемі кэш жадының өлшемімен салыстырылады және ағындардың әрқайсысы өз адрестерінің диапазонымен жұмыс істейді. Академиялық мақсаттар үшін біз мұндай шарттарды синтетикалық сынақта жасадық, өйткені нақты қолданбалар әдетте идеалды оңтайландырудан алыс екенін түсіндік. Бірақ Hyper-Threading-тің қосылуы, тіпті осы шарттарда да теріс әсер етті, ең жоғары жылдамдықтың шамалы өсуімен блоктарды өңдеу жылдамдығы айтарлықтай жоғалады, олардың өлшемі 16-дан 32-ге дейін. килобайт.

Сәлеметсіз бе, компьютер және аппараттық құралдарды жақсы көретіндер.

Компьютеріңізде найзағай жылдамдығымен бір уақытта көптеген тапсырмаларды орындай алатын өнімділігі жоғары процессордың болғанын қалайсыз ба? Кім бас тартады, солай емес пе? Содан кейін мен сізге гипер жіп технологиясымен танысуды ұсынамын: бұл не және ол қалай жұмыс істейді, сіз осы мақаладан үйренесіз.


Ұғымды түсіндіру

Hyper-threading ағылшын тілінен аударғанда «hyper-accuracy» деп аударылады. Технология белгілі бір себептермен осындай үлкен атауға ие болды. Өйткені, операциялық жүйе екі логикалық ядро ​​үшін онымен жабдықталған бір физикалық процессорды алады. Демек, көбірек пәрмендер өңделеді және өнімділік төмендемейді.

Бұл қалай мүмкін? Процессорға байланысты:

  • Бір уақытта бірнеше орындалатын ағындар туралы ақпаратты сақтайды;
  • Әрбір логикалық процессор үшін регистрлердің бір жинағы – жылдам ішкі жад блоктары, сонымен қатар үзілістердің бір блогы бар. Соңғысы әртүрлі құрылғылардан келетін сұраныстардың дәйекті орындалуына жауап береді.

Бұл шын мәнінде қандай көрінеді? Енді физикалық процессор бірінші логикалық процессордың командаларын өңдейді делік. Бірақ соңғысында қандай да бір сәтсіздік болды және, мысалы, ол жадтан деректерді күту керек. Физикалық ешбір уақытты босқа өткізбейді және бірден екінші логикалық процессорға ауысады.

Өнімділікті жақсарту туралы

Физикалық процессордың тиімділігі, әдетте, 70% -дан аспайды. Неліктен? Көбінесе белгілі бір тапсырманы орындау үшін кейбір блоктар қажет емес. Мысалы, процессор тривиальды есептеу әрекеттерін орындағанда, SIMD нұсқаулығы мен кеңейтімі қатыспайды. Бөлімді болжау модулінде немесе кэшке кіру кезінде сәтсіздік орын алады.

Мұндай жағдайларда Hyper-threading «бос орындарды» басқа тапсырмалармен толтырады. Осылайша, технологияның тиімділігі пайдалы жұмыстың бос қалмай, бос тұрған құрылғыларға берілуінде жатыр.

Сыртқы түрі және жүзеге асырылуы

Hyper-threading өзінің 15 жылдығын атап өтті деп болжауға болады. Өйткені, ол 2002 жылы шыққан және алғаш рет Xeon өнімдерінде жұмыс істей бастаған супер-жіп технологиясы негізінде әзірленді, содан кейін сол жылы ол Pentium 4-ке біріктірілді. Бұл технологиялардың авторлық құқығы Intel компаниясына тиесілі.

HT жоғары тактілік жылдамдықпен сипатталатын NetBurst микроархитектурасында жұмыс істейтін процессорларда жүзеге асырылады. Технологиялық қолдау Core vPro, M және Xeon отбасыларының үлгілерінде жүзеге асырылады. Дегенмен, Core 2 («Duo», «Quad») серияларында ол біріктірілмеген. Жұмыс принципі бойынша ұқсас технология Atom және Itanium процестерінде жүзеге асырылады.

Оны қалай қосуға болады? Сізде жоғарыда аталған процессорлардың біреуі ғана емес, сонымен қатар технологияны қолдайтын операциялық жүйе және HT қосу және өшіру мүмкіндігі бар BIOS болуы керек. Олай болмаса, BIOS-ны жаңартыңыз.

Hyperthreading артықшылықтары мен кемшіліктері

Жоғарыда келтірілген ақпараттан технологияның кейбір артықшылықтары туралы қорытынды жасауға болады. Мен оларға тағы бірнеше сөз қосамын:

  • Параллельді бірнеше бағдарламалардың тұрақты жұмысы;
  • Интернетті шарлау немесе қолданбаларды пайдалану кезінде жауап беру уақыты қысқарды.

Түсінгеніңіздей, шыбынсыз болған жоқ. Төмендегі себептерге байланысты өнімділік артуы мүмкін емес:

  • Кэш жады жеткіліксіз. Мысалы, 4 ядролы i7 процессорларында кэш 8 МБ құрайды, бірақ логикалық ядролардың саны бірдей. Біз бір ядроға тек 1 МБ аламыз, бұл көптеген бағдарламалар үшін есептеу тапсырмаларын орындау үшін жеткіліксіз. Осыған байланысты өнімділік бір орында тұрып қана қоймайды, тіпті төмендейді.

  • Деректерге тәуелділік. Бірінші ағын екіншіден ақпаратты дереу талап етеді делік, бірақ ол әлі дайын емес немесе басқа ағынға кезекте тұр. Сондай-ақ, циклдік деректерге тапсырманы жылдам орындау үшін белгілі блоктар қажет болады, бірақ олар қазірдің өзінде басқа жұмыстармен айналысады.
  • Ядроның шамадан тыс жүктелуі. Ядроның шамадан тыс жүктелуі мүмкін, бірақ бұған қарамастан, болжау модулі оған әлі де деректерді жібереді, нәтижесінде компьютер баяулай бастайды.

Hyper-threading қайда қажет?

Технология ресурсты қажет ететін бағдарламаларды: аудио, бейне және фото редакторларды, ойындарды, мұрағаттарды пайдалану кезінде пайдалы болады. Оларға Photoshop, Maya, 3D's Max, Corel Draw, WinRar және т.б.

Бағдарламалық құралдың Hyper-threading үшін оңтайландырылған болуы маңызды. Әйтпесе, кешігулер орын алуы мүмкін. Шындығында, бағдарламалар логикалық ядроларды физикалық деп санайды, сондықтан олар бір блокқа әртүрлі тапсырмаларды жібере алады.

Сізді блогымда көруді асыға күтемін.

BIOS-ты кем дегенде бір рет конфигурациялаған пайдаланушылар көптеген адамдар үшін түсініксіз параметр бар екенін байқаған болуы мүмкін. Intel Hyperжіп тігу. Көбісі бұл технологияның не екенін және қандай мақсатта қолданылатынын білмейді. Hyper Threading деген не екенін және осы қолдауды пайдалануды қалай қосуға болатынын анықтауға тырысайық. Сондай-ақ біз оның компьютерге қандай артықшылықтар беретінін анықтауға тырысамыз. бұл параметр. Негізінде мұнда түсіну қиын ештеңе жоқ.

Intel Hyper Threading: бұл не?
Егер сіз компьютерлік терминологияның джунглиіне тереңдеп кірмейтін болсаңыз, бірақ оны қарапайым тілмен айтсақ, онда бұл технология орталық процессормен бір уақытта өңделетін командалар ағынын арттыру үшін жасалған. Қазіргі процессорлық чиптер, әдетте, қол жетімді есептеу мүмкіндіктерінің тек 70% ғана пайдаланады. Қалғаны, былайша айтқанда, резервте қалады. Деректер ағынын өңдеуге келетін болсақ, жүйеде көп ядролы процессор пайдаланылғанына қарамастан, көп жағдайда тек бір ағын пайдаланылады.

Жұмыстың негізгі принциптері
Орталық процессордың мүмкіндіктерін арттыру мақсатында ол әзірленді арнайы технологиягипертрейдинг. Бұл технология бір пәрмен ағынын екіге бөлуді жеңілдетеді. Сондай-ақ, бар ағынға екінші ағын қосуға болады. Тек осындай ағын виртуалды және физикалық деңгейде жұмыс істемейді. Бұл тәсіл процессордың өнімділігін айтарлықтай арттыруға мүмкіндік береді. Бүкіл жүйе, тиісінше, тезірек жұмыс істей бастайды. CPU өнімділігінің артуы айтарлықтай ауытқуы мүмкін. Бұл бөлек талқыланатын болады. Дегенмен, Hyper Threading технологиясын жасаушылардың өздері оның толыққанды ядроға жетпейтінін айтады. Кейбір жағдайларда бұл технологияны пайдалану толығымен негізделген. Егер сіз Hyper Threading процессорларының мәнін білсеңіз, нәтиже көп күттірмейді.

Тарих анықтамасы
Осы даму тарихына аздап үңіліп көрейік. Hyper Threading қолдауы алғаш рет тек Intel Pentium 4 процессорларында пайда болды.Кейінірек бұл технологияны енгізу Intel Core iX сериясында жалғасты (X бұл жерде процессорлар сериясын білдіреді). Айта кету керек, ол қандай да бір себептермен Core 2 процессорлық чиптерінің қатарында жоқ. Рас, ол кезде өнімділіктің өсуі өте әлсіз болды: бір жерде 15-20% деңгейінде. Бұл процессордың қажетті өңдеу қуатының жоқтығын және жасалған технологияның іс жүзінде өз уақытынан озып кеткенін көрсетті. Бүгінгі таңда Hyper Threading технологиясын қолдау қазіргі заманғы барлық дерлік чиптерде қол жетімді. Орталық процессордың қуатын арттыру үшін процестің өзі пәрмендер мен деректерді өңдеуге орын қалдыра отырып, кристалдық беттің тек 5%-ын пайдаланады.

Қақтығыстар мен өнімділік мәселесі
Мұның бәрі, әрине, жақсы, бірақ кейбір жағдайларда деректерді өңдеу кезінде жұмыстың баяулауы мүмкін. Бұл көбінесе тармақты болжау модулі деп аталатын және үнемі қайта жүктелген кезде кэш көлемінің жеткіліксіздігімен байланысты. Егер негізгі модуль туралы айтатын болсақ, онда бұл жағдайда жағдай кейбір жағдайларда бірінші ағын екіншіден деректерді талап етуі мүмкін, олар сол сәтте өңделмейді немесе өңдеу үшін кезекте тұрады. Сондай-ақ, орталық процессордың өзегінде өте ауыр жүктеме болған жағдайлар жиі кездеседі және негізгі модуль, соған қарамастан, оған деректерді жіберуді жалғастырады. Кейбір бағдарламалар мен қолданбалар, мысалы, ресурстарды көп қажет ететін онлайн ойындар, Hyper Threading технологиясын пайдалану үшін оңтайландыру болмағандықтан ғана айтарлықтай баяулауы мүмкін. Ойындармен не болады? Пайдаланушының компьютерлік жүйесі өз тарапынан қолданбадан серверге дейінгі деректер ағынын оңтайландыруға тырысады. Мәселе мынада, ойын деректер ағындарын өз бетінше қалай тарату керектігін білмейді, бәрін бір үймеге тастайды. Жалпы алғанда, бұл жай ғана бұл үшін жасалмауы мүмкін. Кейде екі ядролы процессорларда өнімділікті арттыру 4 ядролы процессорларға қарағанда айтарлықтай жоғары. Оларда өңдеу қуаты жоқ.

BIOS жүйесінде Hyper Threading қалай қосуға болады?
Біз Hyper Threading технологиясының не екенін аздап түсіндік және оның даму тарихымен таныстық. Біз Hyper Threading технологиясының не екенін түсінуге жақындадық. Процессорда пайдалану үшін бұл технологияны қалай белсендіруге болады? Мұнда бәрі өте қарапайым. BIOS басқару ішкі жүйесін пайдалану керек. Ішкі жүйе Del, F1, F2, F3, F8, F12, F2+Del, т.б. пернелердің көмегімен енгізіледі. Егер сіз Sony Vaio ноутбугін пайдалансаңыз, оларда арнайы ASSIST пернесін пайдаланған кезде арнайы кіріс болады. BIOS параметрлерінде, егер сіз пайдаланып жатқан процессор Hyper Threading технологиясын қолдаса, арнайы орнату сызығы болуы керек. Көп жағдайда ол Hyper Threading Technology сияқты, ал кейде Функция сияқты көрінеді. Ішкі жүйені әзірлеушіге байланысты және BIOS нұсқалары, бұл параметрді орнату негізгі мәзірде немесе қосымша параметрлерде болуы мүмкін. Бұл технологияны қосу үшін опциялар мәзіріне кіріп, мәнді Қосылған күйіне орнату керек. Осыдан кейін енгізілген өзгертулерді сақтап, жүйені қайта жүктеу керек.

Hyper Threading неліктен пайдалы?
Қорытындылай келе, мен Hyper Threading технологиясын қолданудың артықшылықтары туралы айтқым келеді. Мұның бәрі не үшін? Неліктен процессордың өңдеу қуатын арттыру қажет? Ресурсты көп қажет ететін қолданбалармен және бағдарламалармен жұмыс істейтін пайдаланушылар ештеңені түсіндірудің қажеті жоқ. Көптеген адамдар графикалық, математикалық, дизайндық бағдарламалық пакеттер жұмыс процесінде көптеген жүйелік ресурстарды қажет ететінін білетін шығар. Осыған байланысты бүкіл жүйенің жүктелгені сонша, ол қатты баяулай бастайды. Мұның алдын алу үшін Hyper Threading қолдауын қосу ұсынылады.