Как работи Hyper Threading в процесорите Intel Core i7?

Компоненти / Как работи Hyper Threading в процесорите Intel Core i7? 4 минути четене

Чували сте термина Hyper-Threading много пъти. Предполага се, че това е някаква магическа технология, която удвоява скоростта на вашия процесор, след като бъде активиран. Компаниите могат да го включат или изключат и да зареждат много повече като премия.



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

Предговор

В по-старите дни, ако Intel или AMD трябваше да направят по-бърз процесор, те обикновено щяха да увеличат потенциалния брой транзистори, като ги свият и поставят повече в едно и също пространство и се опитат да увеличат своите честоти (измерени в MHz / GHz). Всички процесори имаха само едно ядро. Процесорите станаха 32 битови и можеха да обработват RAM до 4 GB. По-късно те се преместиха на 64-битови процесори, които могат да се справят с RAM скокове и граници повече от само 4 GB. След това беше решено да се използват множество ядра и да се разпределят натоварванията в тези множество ядра за по-ефективно изчисляване. Всички ядра комуникират помежду си, за да разпределят всяка задача. За такава задача се казва, че е задача с много нишки.



Части от процесор



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



  • Планировчик (всъщност на ниво ОС)
  • Извличане
  • Декодер
  • Ядро
  • Тема
  • Кеш памет
  • Контролер за памет и вход / изход
  • FPU (единица с плаваща запетая)
  • Регистри

Функциите на тези части са както следва

Контролерът за памет и I / O управлява въвеждането и излизането на данните към и от процесора. Данните се внасят от твърдия диск или SSD в RAM, след което по-важните данни се внасят в кеша на процесора. Кешът има 3 нива. За напр. Core i7 7700K има L3 кеш памет от 8 MB. Този кеш се споделя от целия процесор при 2 MB на ядро. Данните от тук се събират от по-бързия L2 кеш. Всяко ядро ​​има свой собствен L2 кеш, който е общо 1 MB и 256 KB на ядро. Както в случая с Core i7, той има Hyper-Threading. Всяко ядро ​​има 2 нишки, така че този L2 кеш се споделя от двете нишки. Общо кешът L1 е 256 KB при 32 KB на нишка. Тук данните след това влизат в регистрите, които са общо 8 регистри в 32-битов режим и 16 регистри в 64-битов режим. ОС (операционна система) планира процеси или инструкции към наличната нишка. Тъй като в i7 има 8 нишки, той ще превключва към и от нишки в ядрата. ОС като Windows или Linux са достатъчно умни, за да знаят какво са физически ядра и какво са логически ядра.

Как работи Hyper Threading?



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

В традиционен многоядрен процесор, ядрото може да „паркира“ или да остане без работа, ако не са му присвоени никакви данни или процес. Това състояние се нарича глад и се решава здравословно чрез SMT или Hyper-Threading.

Физически срещу логически ядра (и какво представляват нишките)

Ако прочетете спецификационния лист за почти всеки Core i5, ще забележите, че той има 4 физически ядра и 4 логически ядра или 4 нишки (Coffee Lake i5s имат 6 ядра и 6 нишки). Всички i7 до 7700K са 4 ядра и 8 нишки / логически ядра. В контекста на архитектурата на процесорите на Intel, нишките и логическите ядра са едно и също нещо. Те не са променили оформлението на своята архитектура от 1-во поколение Nehalem до днес с Coffee Lake, така че тази информация ще се задържи. Тази информация няма да е достатъчна за по-старите процесори на AMD, но Ryzen също е променил много от оформлението си и техните процесори вече са подобни по дизайн на Intel.

Предимства на Hyper Threading

  • Hyper-Threading решава проблема с „гладуването“. Ако ядрото или нишката са безплатни, планировчикът може да им предаде данните, вместо ядрото да остане без работа или да изчака някои други нови данни да преминат през тях.
  • Много по-големи и паралелни натоварвания могат да се извършват с по-голяма ефективност. Тъй като има повече нишки за паралелизиране, приложенията, които зависят силно от множество нишки, могат да увеличат работата си значително (но не два пъти по-бързо).
  • Ако играете и имате някаква важна задача, която се изпълнява във фонов режим, CPU няма да се бори да осигури адекватни рамки и да изпълнява тази задача гладко, тъй като може да превключва ресурси между нишките.

Недостатъци на Hyper Threading

Следващите не са много недостатъци, а по-скоро неудобства.

  • Hyper-Threading се нуждае от внедряване от софтуерно ниво, за да се възползва. Въпреки че се разработват все повече и повече приложения, за да се възползват от множество нишки, приложения, които не се възползват от която и да е технология SMT (Едновременно многопоточно) или дори няколко физически ядра, ще работят абсолютно еднакво, независимо. Ефективността на тези приложения зависи в по-голяма степен от тактовата честота и IPC на процесора.
  • Hyper-Threading може да накара процесора да създава повече топлина. Ето защо i5s използваха часовник много по-висок от i7s, защото те нямаше да се нагряват толкова, колкото имат по-малко нишки.
  • Множество нишки споделят едни и същи ресурси в ядрото. Ето защо производителността не се удвоява. Вместо това е много умен метод за максимизиране на ефективността и повишаване на производителността, където е възможно.

Заключение

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

#ВизуализацияИмеNVIDIA SLIAMD CrossFireVRM фазиRGBПокупка
1 ASUS Формула 9 10

Проверете цената
2 MSI Arsenal Gaming Intel Z270 10

Проверете цената
3 MSI Performance Gaming Intel Z270 единадесет

Проверете цената
4 ASRock Gaming K6 Z270 10 + 2

Проверете цената
5 GIGABYTE AORUS GA-Z270X Gaming 8 единадесет

Проверете цената
#1
Визуализация
ИмеASUS Формула 9
NVIDIA SLI
AMD CrossFire
VRM фази10
RGB
Покупка

Проверете цената
#2
Визуализация
ИмеMSI Arsenal Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
VRM фази10
RGB
Покупка

Проверете цената
#3
Визуализация
ИмеMSI Performance Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
VRM фазиединадесет
RGB
Покупка

Проверете цената
#4
Визуализация
ИмеASRock Gaming K6 Z270
NVIDIA SLI
AMD CrossFire
VRM фази10 + 2
RGB
Покупка

Проверете цената
#5
Визуализация
ИмеGIGABYTE AORUS GA-Z270X Gaming 8
NVIDIA SLI
AMD CrossFire
VRM фазиединадесет
RGB
Покупка

Проверете цената

Последна актуализация на 2021-01-05 в 22:02 / Партньорски връзки / Изображения от API за рекламиране на продукти на Amazon