Какво е Hyperthreading и защо трябва да ви е грижа?

Да приемем, че търсите да купите нов процесор и изведнъж трябва да изберете между два продукта, които и двата са почти еднакви на хартия, но единият от тях има функция, наречена hyperthreading , а другият не.

Ясно е, че хиперпоточността е добро нещо, защото трябва да плащате допълнително за него, но какво прави? Най-важното е нещо, за което(you) трябва да се интересувате? За да отговорим на тези горещи въпроси, трябва да направим кратка обиколка на това как процесорите(CPUs) вършат работата си.

Неограничена мощност!

Дори и да не се интересувате толкова от фините технически детайли на компютърните технологии, вероятно сте чували за закона на Мур(Moore’s Law) преди. Това всъщност не е естествен закон, а наблюдение, че основните компоненти на интегралните схеми се удвояват по плътност на всеки две години или така.

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

Проблемът е, че производителността на процесора(CPU) не се определя само от плътността на неговите компоненти. Неговата тактова честота, която е колко пълни цикъла на изчисление може да извърши в секунда, очевидно е важна. Ако вземете процесор(CPU) и удвоите неговата тактова честота, той ще работи два пъти по-добре. Поне на теория.

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

И така, едно от решенията беше да се постави повече от един процесор(CPU) във всеки процесор, така че различните задачи да могат да бъдат разделени между тях. Днес четириядрените процесори(CPUs) са почти основната конфигурация.

Hyperthreading (HT) е името на Intel за едновременна многонишкова обработка(simultaneous multithreading) . Това основно означава, че едно ядро ​​на процесора(CPU) може да работи по два проблема едновременно. Това не означава, че процесорът(CPU) може да върши два пъти повече работа. Само че може да гарантира, че целият му капацитет се използва, като се справя с множество по-прости проблеми наведнъж.

За вашата операционна система всяко истинско силициево ядро ​​на процесора(CPU) изглежда като две, така че захранва всяко от тях да работи, сякаш са отделни. Тъй като толкова много от това, което един процесор(CPU) прави, не е достатъчно, за да работи максимално, HT гарантира, че получавате парите си от този чип.

Кой трябва да се грижи за Hyperthreading ?

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

Например, ако имате двуядрен процесор(CPU) с хипернишка и четириядрен процесор, който не е HT ,(CPU) вариантът с четири ядра е по-добрият избор. Като се има предвид, че те са близо един до друг в еднонишкова, едноядрена производителност. Защо? Тъй като четириядреният процесор(CPU) има повече хардуер за физическа обработка.

Истинската туршия идва, когато имате два процесора(CPUs) със същите физически спецификации, но единият има HT, а другият не. Сега въпросът ни наистина е свързан със софтуера, който искате да стартирате. Ако имате софтуер, който може да създаде достатъчно нишки, за да използвате и HT нишките, ще видите значителен тласък от избора на CPU с хиперпоточност. Просто(Simply) защото нито един от капацитета за обработка не се губи и компонентът работи близо до пълния си потенциал през възможно най-голямата част от времето.

Ако софтуерът, който искате да стартирате, не създава достатъчно нишки, за да използва и виртуалните ядра на HT, ще видите буквално никаква разлика в производителността.

Традиционно операции като CPU 3D изобразяване, видео кодиране и манипулиране на снимки ще създадат толкова нишки, колкото може да поеме вашият лош процесор(CPU) . С други думи, много съвременни професионални приложения са гладни за нишки. Ето защо Hyperthreading е ограничен до процесори(CPUs) от професионално ниво като i7 и по-нови(i7 and up) .

Основните(Mainstream) приложения като текстообработващи програми и уеб браузъри няма да се представят по-добре с хиперпоточност, дори ако могат да създават повече нишки. Просто(Simply) защото нуждите на тези приложения, използвани от повечето хора, дори не затрудняват процесорите от начално ниво.(CPUs)

Големият въпрос на игри

Видеоигрите(Video) са друго основно приложение, което е доста апатично към Hyperthreading . Към момента на писане, през 2019 г., най-новите двигатели за видеоигри започват да стават все по-тежки. Което означава, че процесорите(CPUs) с HT ще се представят по-добре в тях. По-старите заглавия няма да видят никакво предимство, с изключение на няколко игри от тип симулация, които използват интензивно AI или други процеси, ориентирани към процесора.

Това означава ли, че следващият ви компютър за игри трябва да има Hyperthreading ? Работата е там, че сега преминаваме към масовия пазар на процесори, където шест-, осем- и дванадесет-ядрени процесори(CPUs) са норма. Така че е много по-добре да имате повече физически ядра, където е възможно.

Простият отговор

Надяваме се, че горното обяснение е било достатъчно ясно, но нека го разбием до крайния ред:

  • Ако вършите професионална работа, натоварена с нишки, Hyperthreading има значение
  • Ако сте масов потребител, не се притеснявайте!
  • Ако сте геймър, дайте приоритет да имате повече ядра в следващата си версия пред HT, но вземете HT в допълнение, ако цената е подходяща.

Hyperthreading е страхотна технология, но не си струва премията за всеки. Сега трябва да знаете дали този „някой“ сте вие ​​или не!



About the author

Аз съм компютърен програмист, специализиран в разработването на софтуер за MacOS. Използвам уменията си, за да пиша професионални рецензии и да давам съвети как да подобрите уменията си за програмиране на Mac. Имам и уебсайт, който предлага подробни инструкции стъпка по стъпка за създаване на успешен уеб сайт.



Related posts