У дома / интернет / ht технология. Хипер нишки какво е това и защо е? Процесори с поддръжка на Hyper Threading

ht технология. Хипер нишки какво е това и защо е? Процесори с поддръжка на Hyper Threading

15.03.2013

Технологията Hyper-Threading се появи през Процесори на Intel, страшно да се каже, преди повече от 10 години. И в момента това е важен елемент от процесорите Core. Въпреки това, въпросът за необходимостта от HT в игрите все още не е напълно разбран. Решихме да проведем тест, за да видим дали геймърите се нуждаят от Core i7 или е по-добре да минат с Core i5. И също така разберете с какво Core i3 е по-добър от Pentium.


Технологията Hyper-Threading, разработена от Intel и използвана ексклузивно в процесорите на компанията, започвайки със запомнящия се Pentium 4, вече е нещо естествено. Той е оборудван със значителен брой процесори от сегашното и предишното поколение. Той също ще бъде използван в близко бъдеще.

И трябва да се признае, че технологията 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 тези допълнителни елементиувеличи броя на транзисторите само с пет процента. В днешните ядра на Ivy Bridge (както и в Sandy Bridge и бъдещия Haswell) допълнителните елементи дори за четири ядра не увеличават матрицата дори с 1 процент.


Допълнителни регистри и контролер за прекъсване, съчетани със софтуерна поддръжка, позволяват на операционната система да вижда не едно физическо ядро, а две логически. В същото време обработката на данни от два потока, които се изпращат от системата, продължава да се извършва на едно и също ядро, но с някои функции. Целият процесор все още остава на разположение на една нишка, но веднага щом някои процесорни блокове бъдат освободени и неактивни, те незабавно се поставят на разположение на втората нишка. Благодарение на това беше възможно да се използват всички процесорни единици едновременно и по този начин да се увеличи ефективността му. Както заяви самият Intel, увеличението на производителността при идеални условия може да достигне до 30 процента. Вярно е, че тези цифри са верни само за Pentium 4 с неговия много дълъг конвейер, съвременните процесори се възползват по-малко от HT.

Но идеалните условия за Hyper-Threading не винаги са такива. И най-важното, най-лошият резултат от работата на HT не е липсата на увеличение на производителността, а нейното намаляване. Това означава, че при определени условия производителността на процесор с 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 GHz, което все още не е постигнато от всички процесори на Intel.


Това обаче е дори за добро, защото благодарение на неизменността на всички важни параметрище можем да разберем реалното въздействие на Hyper-Threading върху производителността на игрите без никакви резерви. И процентната разлика в производителността между нашите „условни“ Pentium и Core i3 ще бъде близка до разликата между реалните процесори, при условие че честотите са равни. Също така не трябва да е смущаващо, че използваме процесор Sandy Bridge, тъй като нашите тестове за ефективност, за които можете да прочетете в статията „Гола производителност – Изследване на ефективността на ALU и FPU“, показаха, че въздействието на 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, там бяха достатъчни четири физически ядра. И така, според резултатите от този тест, можем да отбележим положителното влияние на HT в Core i3, което тук е значително по-добро от Pentium. Но сред четириядрените Core i5 отново изглежда по-разумно решение.

Бойно поле 3

Тук резултатите са много странни. Ако в теста за броя на ядрата бойното поле беше извадка от микроскопично, но линейно увеличение, то включването на Hyper-Threading внесе хаос в резултатите. Всъщност можем да кажем, че Core i3 със своите две ядра и HT се оказа най-добрият от всички, изпреварвайки дори 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 и сървърни процесори Xeon с тактова честота над 2 GHz. Първоначално технологията беше с кодово име Jackson, но след това името й се промени на Hyper Threading, което е по-разбираемо за широката публика - което може грубо да се преведе като „супернишки“.

В същото време, според Intel, повърхността на процесорен чип, който поддържа Hyper Threading, се е увеличил в сравнение с предишния модел, който не го поддържа, само с 5%, като същевременно повишава производителността средно с 20%.

Въпреки факта, че технологията като цяло се е доказала добре, въпреки това, поради редица причини, Intel реши да деактивира технологията Hyper Threading в процесорите от семейството Core 2, които замениха Pentium 4. Hyper Threading обаче по-късно се появи отново в процесорните архитектури на Sandy Bridge, Ivy Bridge и Haswell, като е значително преработен в тях.

Същността на технологията

Разбирането на Hyper Threading е важно, защото е един от ключови функциив процесорите на Intel.

Въпреки всички успехи, които са постигнати от процесорите, те имат един съществен недостатък - те могат да изпълняват само една инструкция в даден момент. Да приемем, че имате приложения, работещи едновременно, като напр текстов редактор, браузър и Skype. От гледна точка на потребителя тази софтуерна среда може да се нарече многозадачна, но от гледна точка на процесора това далеч не е така. Ядрото на процесора все пак ще изпълни една инструкция за определен период от време. В този случай задачата на процесора включва разпределението на времевите ресурси на процесора между тях индивидуални приложения. Тъй като това последователно изпълнение на инструкции е изключително бързо, вие не го забелязвате. И ви се струва, че забавяне няма.

Но пак има забавяне. Забавянето се дължи на начина, по който процесорът се захранва с данни от всяка от програмите. Всеки поток от данни трябва да пристигне в определено време и да бъде обработен от процесора индивидуално. Технологията Hyper Threading прави възможно всяко ядро ​​на процесора да планира обработка на данни и да разпределя ресурси едновременно за две нишки.

Трябва да се отбележи, че в ядрото на съвременните процесори има няколко така наречени изпълнителни единици наведнъж, всяка от които е предназначена да извършва специфична операция върху данни. В същото време някои от тези изпълнителни устройства могат да бъдат неактивни по време на обработката на данни от една нишка.

За да разберем тази ситуация, можем да направим аналогия с работниците, работещи в монтажния цех на конвейера и обработващи различни видове части. Всеки работник е оборудван със специфичен инструмент, предназначен да изпълнява дадена задача. Ако обаче частите пристигнат в грешна последователност, тогава има закъснения - защото част от работниците чакат своя ред, за да започнат работа. Hyper Threading може да се сравни с допълнителна конвейерна лента, която е била положена в цеха, така че предишните празни работници да изпълняват задачите си независимо от другите. Цехът все още е сам, но частите се обработват по-бързо и по-ефективно, така че времето за престой е намалено. По този начин Hyper Threading направи възможно включването в работата на тези изпълнителни устройства на процесора, които бяха неактивни, докато изпълняваха инструкции от една нишка.

Веднага след като включите компютър с двуядрен процесор, който поддържа Hyper Threading и отворите Windows Task Manager (Task Manager) в раздела Performance (Performance), в него ще намерите четири графики. Но това не означава, че всъщност имате 4 процесорни ядра.

Това е така, защото Windows смята, че всяко ядро ​​има два логически процесора. Терминът "логически процесор" звучи смешно, но означава процесор, който не съществува физически. Windows може да изпраща потоци от данни към всеки логически процесор, но само едно ядро ​​всъщност върши работата. Следователно едно ядро ​​с технология Hyper Threading е значително различно от отделните физически ядра.

Технологията Hyper Threading изисква поддръжка от следния хардуер и софтуер:

  • процесор
  • чипсет на дънната платка
  • Операционна система

Технологични ползи

Сега помислете за следващия въпрос - доколко технологията Hyper Threading увеличава производителността на компютъра? При ежедневни задачи като сърфиране в интернет и писане, ползите от технологиите не са толкова очевидни. Имайте предвид обаче, че днешните процесори са толкова мощни, че ежедневните задачи рядко използват процесора до пълния му капацитет. Освен това много зависи от това как е написано софтуер. Можете да имате няколко програми, работещи наведнъж, но като погледнете графиката на натоварването, ще видите, че се използва само един логически процесор на ядро. Това е така, защото софтуерът не поддържа разпределението на процесите между ядрата.

При по-сложни задачи обаче Hyper Threading може да бъде по-полезен. Приложения като програми за 3D моделиране, 3D игри, програми за кодиране/декодиране на музика или видео и много научни приложения са написани, за да се възползват максимално от многопоточността. Следователно можете да изпитате предимствата на производителността на компютър с хипернишки, докато играете сложни игри, слушате музика или гледате филми. Това може да увеличи производителността с до 30%, въпреки че може да има ситуации, при които Hyper Threading изобщо не предоставя предимство. Понякога, в случай че и двете нишки заредят всички изпълнителни устройства на процесора с едни и същи задачи, може дори да има известно влошаване на производителността.

Връщайки се към наличието в BIOS Setup на съответната опция, която ви позволява да зададете параметрите на Hyper Threading, в повечето случаи се препоръчва да активирате тази функция. Винаги обаче можете да го изключите, ако се окаже, че компютърът работи с грешки или дори има по-ниска производителност от очакваното.

Заключение

Тъй като максималното увеличение на производителността при използване на Hyper Threading е 30%, не може да се каже, че технологията е еквивалентна на удвояване на броя на процесорните ядра. Въпреки това, Hyper Threading е полезна опция и вие, като собственик на компютър, няма да се намесвате в нея. Предимството му е особено забележимо, например, когато редактирате мултимедийни файлове или използвате компютъра си като работна станция за професионални програми като Photoshop или Maya.

Имаше време, когато беше необходимо да се оцени производителността на паметта в контекста на технологията Hyper-threading. Стигнахме до извода, че влиянието му не винаги е положително. Когато имаше количество свободно време, имаше желание да продължим изследванията и да разгледаме текущите процеси с точност до машинни цикли и битове, използвайки софтуер по наш собствен дизайн.

Проучена платформа

Обектът на експериментите - Лаптоп ASUS N750JK с процесор Intel Core i7-4700HQ. Тактовата честота е 2,4 GHz, подсилена от режим Intel Turbo Boost до 3,4 GHz. Инсталирани 16 гигабайта оперативна памет DDR3-1600 (PC3-12800), работещ в двуканален режим. Операционна система - Microsoft Windows 8.1 64 бита.

Фиг.1 Конфигурация на изследваната платформа.

Процесорът на изследваната платформа съдържа 4 ядра, които при активирана технология Hyper-Threading осигуряват хардуерна поддръжка за 8 нишки или логически процесори. Фърмуерът на платформата предава тази информация на операционната система чрез ACPI таблицата MADT (Multiple APIC Description Table). Тъй като платформата съдържа само един RAM контролер, няма SRAT (System Resource Affinity Table), който да декларира близостта на процесорните ядра до контролерите на паметта. Очевидно въпросният лаптоп не е NUMA платформа, но операционна система, за целите на обединяването, я разглежда като NUMA система с един домейн, както е посочено от реда NUMA Nodes = 1. Фактът, който е фундаментален за нашите експерименти, е, че кешът на данни от първо ниво има размер от 32 килобайта за всеки от четирите ядра. Два логически процесора, споделящи едно и също ядро, споделят L1 и L2 кеша.

Изследвана операция

Ще изследваме зависимостта на скоростта на четене на блока данни от неговия размер. За да направим това, ще изберем най-продуктивния метод, а именно четене на 256-битови операнди с помощта на инструкцията VMOVAPD AVX. На диаграмите оста X показва размера на блока, а оста Y показва скоростта на четене. В близост до точка X, която съответства на размера на кеша от първо ниво, очакваме да видим точка на инфлексия, тъй като производителността трябва да спадне, след като обработеният блок излезе от кеша. В нашия тест, в случай на многопоточност, всяка от 16-те стартирани нишки работи с отделен адресен диапазон. За да контролира технологията Hyper-Threading в приложение, всяка нишка използва API функцията SetThreadAffinityMask, която задава маска, в която всеки логически процесор съответства на един бит. Една единствена стойност на бита позволява използването на посочения процесор от определената нишка, нулева стойност го забранява. За 8 логически процесора на изследваната платформа маска 11111111b позволява използването на всички процесори (Hyper-Threading е активиран), маска 01010101b позволява използването на един логически процесор във всяко ядро ​​(Hyper-Threading е деактивиран).

В графиките са използвани следните съкращения:

MBPS (мегабайта в секунда)скорост на четене на блокове в мегабайти в секунда;

CPI (Частота на инструкция)брой цикли на инструкция;

TSC (брояч на клеймо за време)брояч на процесорни цикли.

Забележка: Тактовата честота на TSC регистъра може да не съответства на тактовата честота на процесора, когато работи в режим Turbo Boost. Това трябва да се има предвид при тълкуването на резултатите.

От дясната страна на графиките се визуализира шестнадесетичен дъмп на инструкциите, които съставляват тялото на цикъла на целевата операция, изпълнявана във всяка от нишките на програмата, или първите 128 байта от този код.

Опит номер 1. Една нишка



Фиг.2 Четене в една тема

Максималната скорост е 213 563 мегабайта в секунда. Инфлексната точка възниква при размер на блок от около 32 килобайта.

Опит номер 2. 16 нишки на 4 процесора, Hyper-Threading деактивиран



Фиг.3 Четене в шестнадесет теми. Броят на използваните логически процесори е четири

Hyper-threading е деактивиран. Максималната скорост е 797598 мегабайта в секунда. Инфлексната точка възниква при размер на блок от около 32 килобайта. Както се очакваше, в сравнение с четенето с една нишка, скоростта се увеличи с около 4 пъти, по отношение на броя на работещите ядра.

Опит номер 3. 16 нишки на 8 процесора, активиран Hyper-Threading



Фиг.4 Четене в шестнадесет теми. Броят на използваните логически процесори е осем

Хипер-нишките са активирани. Максималната скорост от 800722 мегабайта в секунда, в резултат на включването на Hyper-Threading, почти не се увеличи. Големият минус е, че инфлексната точка се появява при размер на блок от около 16 килобайта. Активирането на Hyper-Threading леко увеличи максималната скорост, но сега спадът на скоростта се случва при половината от размера на блока - около 16 килобайта, така че средната скорост е спаднала значително. Това не е изненадващо, всяко ядро ​​има собствен L1 кеш, докато логическите процесори в същото ядро ​​го споделят.

заключения

Изследваната операция се мащабира доста добре на многоядрен процесор. Причините са, че всяко от ядрата съдържа собствена кеш памет от първо и второ ниво, размерът на целевия блок е сравним с размера на кеш паметта и всяка от нишките работи със собствен диапазон от адреси. За академични цели създадохме такива условия в синтетичен тест, осъзнавайки, че реалните приложения обикновено са далеч от идеалната оптимизация. Но включването на Hyper-Threading, дори при тези условия, имаше отрицателен ефект, с леко увеличение на пиковата скорост, има значителна загуба в скоростта на обработка на блокове, чийто размер е в диапазона от 16 до 32 килобайта.

Здравейте любители на компютъра и хардуера.

Бихте ли искали да имате високопроизводителен процесор във вашия компютър, който може да изпълнява много задачи едновременно със светкавична скорост? Кой би отказал, нали? Тогава ви предлагам да се запознаете с технологията за хипер резба: какво е и как работи, ще научите от тази статия.


Обяснение на понятието

Hyper-threading се превежда от английски като "хипер-точност". Технологията получи толкова голямо име с причина. В крайна сметка операционната система отнема един физически процесор, оборудван с него за две логически ядра. Следователно се обработват повече команди и производителността не намалява.

Как е възможно? Поради факта, че процесорът:

  • Запазва информация за няколко работещи нишки наведнъж;
  • За всеки логически процесор има един набор от регистри - блокове от бърза вътрешна памет, както и един блок от прекъсвания. Последният е отговорен за последователното изпълнение на заявки от различни устройства.

Как изглежда на практика? Да предположим сега, че физическият процесор обработва командите на първия логически процесор. Но в последния имаше някаква повреда и, например, той трябва да изчака данни от паметта. Физическият няма да губи време и веднага ще премине към втория логически процесор.

За подобряване на производителността

Ефективността на физически процесор, като правило, е не повече от 70%. Защо? Често някои блокове просто не са необходими за изпълнение на определена задача. Например, когато процесорът извършва тривиални изчислителни действия, блокът с инструкции и разширението SIMD не са включени. Случва се да възникне повреда в модула за предсказване на разклонения или при достъп до кеша.

В такива ситуации Hyper-threading запълва "празните" с други задачи. По този начин ефективността на технологията се състои в това, че полезната работа не е празна и се дава на празни устройства.

Външен вид и изпълнение

Можем да предположим, че Hyper-threading вече отбеляза своята 15-та годишнина. В края на краищата, той е разработен на базата на технология за супер-нишки, която беше пусната през 2002 г. и първо започна да работи в продуктите на Xeon, след което през същата година беше интегрирана в Pentium 4. Авторските права върху тези технологии принадлежат на Intel.

HT се реализира в процесори, работещи на микроархитектурата NetBurst, която се характеризира с високи тактови честоти. Технологичната поддръжка е внедрена в модели от семействата Core vPro, M и Xeon. Въпреки това, в серията Core 2 ("Duo", "Quad"), той не е интегриран. Подобна по принцип на работа технология е внедрена в процесите Atom и Itanium.

Как да го активирам? Трябва да имате не само един от горните процесори, но и операционна система, която поддържа технологията и BIOS, който има опция за включване и изключване на HT. Ако не, актуализирайте BIOS.

Плюсове и минуси на Hyperthreading

Вече можете да си направите изводи за някои от предимствата на технологията от горната информация. Ще добавя още няколко думи към тях:

  • Стабилна работа на няколко програми паралелно;
  • Намалено време за реакция при сърфиране в интернет или използване на приложения.

Както разбирате, не беше без муха в мехлема. Възможно е да няма повишаване на производителността поради следните причини:

  • Няма достатъчно кеш памет. Например при 4-ядрените i7 процесори кешът е 8 MB, но има същия брой логически ядра. Получаваме само 1 MB на ядро, което не е достатъчно за повечето програми за изпълнение на изчислителни задачи. Поради това производителността не само остава неподвижна, но дори пада.

  • Зависимост от данни. Да предположим, че първата нишка незабавно изисква информация от втората, но тя все още не е готова или е на опашка за друга нишка. Също така се случва, че цикличните данни се нуждаят от определени блокове, за да изпълнят бързо задача, но те вече са заети с друга работа.
  • Претоварване на ядрото. Случва се ядрото вече да е претоварено, но въпреки това модулът за прогнозиране все още изпраща данни към него, в резултат на което компютърът започва да се забавя.

Къде е необходим Hyper-threading?

Технологията ще бъде полезна при използване на програми с интензивно използване на ресурси: аудио, видео и фото редактори, игри, архиватори. Те включват Photoshop, Maya, 3D's Max, Corel Draw, WinRar и др.

Важно е софтуерът да е оптимизиран за Hyper-threading. В противен случай може да възникнат забавяния. Факт е, че програмите считат логическите ядра за физически, така че могат да изпращат различни задачи към един и същи блок.

Очаквам с нетърпение да ви видя в моя блог.

Потребителите, които поне веднъж са конфигурирали BIOS, вероятно вече са забелязали, че има параметър, неразбираем за мнозина Intel Hyperрезба. Мнозина не знаят какво представлява тази технология и за каква цел се използва. Нека се опитаме да разберем какво е Hyper Threading и как можете да активирате използването на тази поддръжка. Също така ще се опитаме да разберем какви предимства дава на компютъра. тази настройка. По принцип тук няма нищо трудно за разбиране.

Intel Hyper Threading: какво е това?
Ако не навлизате дълбоко в джунглата на компютърната терминология, а просто казано, тази технология е разработена, за да увеличи потока от команди, обработвани едновременно от централния процесор. Съвременните процесорни чипове, като правило, използват само 70% от наличните изчислителни възможности. Останалото остава, така да се каже, в резерв. Що се отнася до обработката на потока от данни, в повечето случаи се използва само една нишка, въпреки факта, че системата използва многоядрен процесор.

Основни принципи на работа
За да се увеличат възможностите на централния процесор, той е разработен специална технологияхипернишковост. Тази технология улеснява разделянето на един команден поток на два. Също така е възможно да добавите втори поток към съществуващ. Само такъв поток е виртуален и не работи на физическо ниво. Този подход ви позволява значително да увеличите производителността на процесора. Цялата система, съответно, започва да работи по-бързо. Увеличаването на производителността на процесора може да варира доста. Това ще бъде обсъдено отделно. Самите разработчици на технологията Hyper Threading обаче твърдят, че тя не достига пълноценно ядро. В някои случаи използването на тази технология е напълно оправдано. Ако знаете същността на процесорите Hyper Threading, тогава резултатът няма да закъснее.

История справка
Нека се потопим малко в историята на това развитие. Поддръжката на Hyper Threading за първи път се появи само в процесорите Intel Pentium 4. По-късно внедряването на тази технология беше продължено в серията Intel Core iX (X означава серия процесори тук). Трябва да се отбележи, че по някаква причина той отсъства в линията на процесорните чипове Core 2. Вярно е, че тогава увеличението на производителността беше доста слабо: някъде на ниво от 15-20%. Това показва, че процесорът не разполага с необходимата изчислителна мощност и създадената технология на практика е изпреварила времето си. Днес поддръжката на технологията Hyper Threading вече е налична в почти всички съвременни чипове. За да увеличи мощността на централния процесор, самият процес използва само 5% от кристалната повърхност, като същевременно оставя място за обработка на команди и данни.

Въпрос на конфликти и изпълнение
Всичко това със сигурност е добро, но в някои случаи при обработката на данни може да има забавяне на работата. Това се дължи най-вече на така наречения модул за предсказване на разклонения и недостатъчен размер на кеша при постоянно презареждане. Ако говорим за основния модул, тогава в този случай ситуацията е такава, че в някои случаи първата нишка може да изисква данни от втората, които може да не бъдат обработени в този момент или да са в опашката за обработка. Също така, не по-малко чести са ситуации, когато ядрото на централния процесор има много сериозно натоварване и основният модул, въпреки това, продължава да изпраща данни към него. Някои програми и приложения, като ресурсоемки онлайн игри, могат сериозно да забавят само защото им липсва оптимизация за използване на технологията Hyper Threading. Какво се случва с игрите? Компютърната система на потребителя от своя страна се опитва да оптимизира потоците от данни от приложението към сървъра. Проблемът е, че играта не знае как да разпределя независимо потоци от данни, изхвърляйки всичко в една купчина. Като цяло може просто да не е предназначен за това. Понякога при двуядрените процесори увеличението на производителността е значително по-високо, отколкото при 4-ядрените. Те просто нямат мощността за обработка.

Как да активирам Hyper Threading в BIOS?
Вече разбрахме малко какво представлява технологията Hyper Threading и се запознахме с историята на нейното развитие. Доближихме се до разбирането какво представлява технологията Hyper Threading. Как да активирам тази технология за използване в процесора? Тук всичко се прави съвсем просто. Трябва да използвате подсистемата за управление на BIOS. В подсистемата се влиза с клавишите Del, F1, F2, F3, F8, F12, F2+Del и др. Ако използвате лаптоп Sony Vaio, тогава те имат специфичен вход, когато използвате специалния клавиш ASSIST. В настройките на BIOS, ако процесорът, който използвате, поддържа технологията Hyper Threading, трябва да има специален ред за настройка. В повечето случаи изглежда като Hyper Threading Technology, а понякога изглежда като Function. В зависимост от разработчика на подсистемата и BIOS версии, настройката на този параметър може да се съдържа или в главното меню, или в разширените настройки. За да активирате тази технология, трябва да влезете в менюто с опции и да зададете стойността на Enabled. След това трябва да запазите направените промени и да рестартирате системата.

Защо Hyper Threading е полезно?
В заключение бих искал да говоря за предимствата, които предоставя използването на технологията Hyper Threading. За какво е всичко това? Защо е необходимо да се увеличи мощността на процесора при обработка на информация? Тези потребители, които работят с ресурсоемки приложения и програми, не е необходимо да обясняват нищо. Много хора вероятно знаят, че графичните, математическите, дизайнерските софтуерни пакети изискват много системни ресурси в процеса на работа. Поради това цялата система се натоварва толкова много, че започва да се бави ужасно. За да предотвратите това да се случи, се препоръчва да активирате поддръжката на Hyper Threading.