уроци

Какви са нишките на процесора? различия с ядрата

Съдържание:

Anonim

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

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

Индекс на съдържанието

Какви са ядрата на процесор

Ще започнем с обяснението какви са ядрата на нашия процесор, така че ще имаме това предварително знание, за да не се объркаме.

Знаем, че процесор е отговорен за изпълнението и изпълнението на инструкциите на програмите, заредени в паметта на RAM паметта на нашия компютър. През него преминават практически всички инструкции, необходими за изпълнение на типичните задачи на нашия компютър, навигиране, писане, преглед на снимки и др. Във физическата секция процесор представлява интегрална схема, съставена от милиони транзистори, които образуват логически порти, за да преминат или не предадат битовете на данни под формата на енергия, без допълнително преклонение.

Е, този малък чип съдържа различни модули, които можем да наречем ядра, в допълнение към други елементи, от които сега не се интересуваме. Преди няколко години процесорите имаха само едно от тези ядра и бяха в състояние да обработват по една инструкция на цикъл. Тези цикли се измерват в Мегагерц (MHz), колкото повече MHz, толкова повече инструкции можем да направим всяка секунда.

Сега имаме не само едно ядро, но и няколко. Всяко ядро ​​представлява подпроцесор, тоест всеки от тези подпроцесори ще изпълни една от тези инструкции, като по този начин ще може да изпълнява няколко от тях във всеки тактов цикъл с многоядрен процесор. Ако имаме 4-ядрен процесор, можем да изпълним едновременно 4 инструкции, а не само една. Така че подобрението на производителността е четирикратно. Ако имаме 6, тогава 6 инструкции едновременно. Ето как настоящите процесори са много по-мощни от по-старите.

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

Какво представляват нишките за обработка?

Нишките, конците или нишките не са физическа част от процесора, поне поне когато става въпрос за повече ядра или нещо подобно.

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

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

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

Това със сигурност е някак абстрактно и трудно за разбиране, така че нека да видим как се превежда, ако говорим за архитектурата на програма на нашия компютър.

Програми, процеси и теми

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

Процесите на програмата

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

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

  • Програмен брояч (CP): той се нарича указател на инструкции и следи последователността на инструкциите, които се обработват. Регистри: това е склад, разположен в процесора, където може да се съхранява инструкция, адрес за съхранение или всякакви други данни. Стек: структурата на данните съхранява информацията, свързана с случаите, които една програма има активна в компютъра.

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

Нишките на един процес

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

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

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

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

Можем ли да видим тези нишки или нишки в системата?

Не по твърде подробен начин, но да, можем да ги видим, както в Windows, така и на Mac.

В случая на Windows ще трябва само да отворим диспечера на задачите и да преминем към " изпълнение ". След това ще кликнете върху връзката „ монитор на ресурсите “ по-долу. В този нов прозорец ще имаме всеки процес разделен на потребление на процесор и нишки, това ще бъдат нишките.

В монитора на активността на Mac ще имаме директно нишките, изброени на главния екран.

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

Посетете нашите статии за:

Надяваме се, че всичко е било повече или по-малко ясно и оценяваме, че сте ни избрали, за да знаем повече по тази тема.

уроци

Избор на редакторите

Back to top button