Колко ядрен процесор е по-добре. Какво влияе върху броя на процесорните ядра? Многоядрен процесор

Казах защо увеличаването на честотата на процесорите спря на няколко гигахерца. Сега нека поговорим защо развитието на броя на ядрата в потребителските процесори също е изключително бавно: например първият честен двуядрен процесор (където и двете ядра бяха в един и същ чип), изграден върху архитектурата x86, се появи още през 2006, преди 12 години - това беше линията Intel Core Duo. И оттогава 2-ядрените процесори не са напуснали арената, освен това те се развиват активно: например, само онзи ден лаптоп Lenovo излезе с процесор, изграден върху най-новата (за x86 архитектура) 10 nm технология . И да, познахте, че този процесор има точно 2 ядра.

За потребителските процесори броят на ядрата е спрял на 6 от 2010 г., с пускането на линията AMD Phenom X6 - да, AMD FX не бяха честни 8-ядрени процесори (имаше 4 APU), както и Ryzen 7 е два блокове от 4 ядра, поставени една до друга върху кристал. И тогава, разбира се, възниква въпросът - защо така? В края на краищата, същите видеокарти, които са по същество "едноглави" (т.е. имат 1 шейдър) през 1995-6 г., са успели да увеличат броя си до няколко хиляди до настоящия момент - например, има толкова, колкото 5120 от тях в Nvidia Titan V! В същото време, за много по-дълъг период на развитие на архитектурата x86, потребителските процесори се спряха на честни 6 ядра на чип, а процесорите за високопроизводителни компютри - на 18, тоест няколко порядъка по-малко от видео карти. Защо? Ще говорим за това по-долу.

Архитектура на процесора

Първоначално всички процесори Intel x86 бяха изградени върху архитектурата CISC (Complex Instruction Set Computing, процесори с пълен набор от инструкции) - тоест те внедриха максималния брой инструкции "за всички случаи". От една страна, това е страхотно: например през 90-те процесорът отговаряше за изобразяването на картината и дори за звука (имаше такъв лайфхак - ако играта се забави, изключване на звука в нея мога да помогна). И дори сега процесорът е един вид комбинат, който може да направи всичко - и това също е проблем: успоредяването на произволна задача на няколко ядра не е тривиална задача. Да кажем, че е лесно да се направи с две ядра: на едното ядро ​​"окачваме" системата и всички фонови задачи, а на другото - само приложението. Това винаги ще работи, но увеличението на производителността далеч няма да бъде двойно, тъй като обикновено фоновите процеси изискват значително по-малко ресурси от настоящата тежка задача.

Вляво е диаграма на Nvidia GTX 980 Ti GPU, показваща 2816 CUDA ядра, групирани заедно. Вдясно е снимка на матрица на процесор AMD Ryzen, показваща 4 големи ядра.

А сега си представете, че имаме не две, а 4 или дори 8 ядра. Да, паралелизирането работи добре при архивиране и други изчисления (поради което едни и същи сървърни процесори могат да имат няколко десетки ядра). Но какво ще стане, ако имаме задача със случаен резултат (от който, уви, мнозинството) - да кажем, игра? В крайна сметка тук всяко ново действие зависи изцяло от играча, така че „разпръскването“ на такова натоварване върху няколко ядра не е лесна задача, поради което разработчиците често „ръчно“ предписват какво правят ядрата: например, едно може да бъде само обработка на заети действия изкуствен интелект, друг отговаря само за съраунд звук и т.н. Натоварването дори на 8-ядрен процесор по този начин е почти невъзможно, което виждаме и на практика.

С видеокартите всичко е по-просто: графичният процесор всъщност се занимава с изчисления и само с тях, а броят на видовете изчисления е ограничен и малък. Следователно, първо, е възможно да се оптимизират самите изчислителни ядра (Nvidia ги нарича CUDA) точно за необходимите задачи, и второ, тъй като всички възможни задачи са известни, процесът на тяхното паралелизиране не създава затруднения. И трето, управлението не е от отделни шейдъри, а от изчислителни модули, които включват 64-192 шейдъра, така че голямо числошейдърите не са проблем.

Консумация на енергия

Една от причините за отказа да продължи честотната надпревара е рязкото увеличение на консумацията на енергия. Както вече обясних в статията за забавяне на нарастването на честотата на процесора, разсейването на топлината на процесора е пропорционално на куба на честотата. С други думи, ако при честота 2 GHz процесорът генерира 100 W топлина, която по принцип може лесно да се отстрани с въздушен охладител, то при 4 GHz вече ще бъде 800 W, които могат да бъдат пренасочени към най-добрият случайизпарителна камера с течен азот (въпреки че трябва да се има предвид, че формулата все още е приблизителна и процесорът има не само изчислителни ядра, но е напълно възможно да се получи редът на числата с негова помощ).

Следователно растежът в ширина беше отличен изход: така че, грубо казано, двуядрен 2 GHz процесор ще консумира 200 W, но едноядрен 3 GHz процесор ще консумира почти 340 W, тоест печалба в разсейването на топлината с повече от 50%, докато при задачи с добра оптимизация за многопоточност двуядрен процесор с ниска честота все още ще бъде по-бърз от високочестотен едноядрен.


Пример за камера с течен азот за охлаждане на изключително овърклокнати процесори.

Изглежда, че това е златна мина, бързо създавайки 10-ядрен процесор с честота 1 GHz, който ще генерира само 25% повече топлина от едноядрен процесор с 2 GHz (ако 2 GHz процесор генерира 100 W топлина, тогава 1 GHz е само 12,5 W, 10 ядра - около 125 W). Но тук бързо се натъкваме на факта, че не всички задачи са добре паралелизирани, така че на практика често ще се окаже, че много по-евтин едноядрен процесор с 2 GHz ще бъде значително по-бърз от много по-скъпия 10-ядрен, но с 1 GHz. Но все пак има такива процесори - в сървърния сегмент, където няма проблеми с паралелизиране на задачи, а 40-60-ядрен процесор с честоти от 1,5 GHz често се оказва няколко пъти по-бърз от 8-10-ядрен процесор с честоти под 4 GHz, като същевременно разпределя сравнимо количество топлина.

Следователно производителите на процесори трябва да гарантират, че производителността на една нишка не страда от нарастването на ядрата и като се има предвид фактът, че границата на разсейване на топлината в обикновен домашен компютър е била „напипана“ дълго време (около 60 -100 W) - начини за увеличаване на броя на ядрата със същата едноядрена производителност и същото разсейване на топлината, има само две възможности: или да се оптимизира самата архитектура на процесора, като се увеличи производителността му на такт, или да се намали техническия процес. Но, уви, и двете вървят все по-бавно: за повече от 30 години съществуване на процесори x86 почти всичко, което може да бъде „полирано“, вече е „полирано“, така че увеличението е в най-добрия случай 5% на поколение, а намаляването техническият процес става все по-труден поради фундаментални проблеми за създаване на правилно работещи транзистори (с размери от десет нанометра квантовите ефекти вече започват да се отразяват, трудно е да се произведе подходящ лазер и т.н.) - следователно, уви, става все по-трудно да се увеличи броят на ядрата.

Размер на кристала

Ако погледнем площта на процесорните чипове преди 15 години, ще видим, че тя е само около 100-150 квадратни милиметра. Преди около 5-7 години чиповете "пораснаха" до 300-400 кв.мм и... процесът на практика спря. Защо? Всичко е просто - първо, много е трудно да се произвеждат гигантски кристали, което рязко увеличава количеството на отхвърлените, а оттам и крайната цена на процесора.

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


Сравнение на кристали Intel Pentium 3 и Core i9.

И трето, скоростта на светлината също въвежда своето ограничение: да, въпреки че е голяма, тя не е безкрайна и при големи кристали това може да доведе до забавяне или дори да направи работата на процесора невъзможна.

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

Оптимизация на работата

Нека си представим, че имаме екип от хора, изпълняващи различни задачи, някои от които изискват работата на няколко човека едновременно. Ако в него има двама души, те ще могат да се споразумеят и да работят ефективно. Четири вече е по-трудно, но работата също ще бъде доста ефективна. Ами ако има 10 или дори 20 души? Тук вече са необходими някакви средства за комуникация между тях, в противен случай ще има „изкривявания“ в работата, когато някой не е зает с нищо. В процесорите на Intel такова средство за комуникация е пръстенна шина, която свързва всички ядра и им позволява да обменят информация помежду си.

Но дори и това не помага: например при едни и същи честоти 10-ядрените и 18-ядрените процесори от Intel от поколението Skylake-X се различават по производителност само с 25-30%, въпреки че на теория те трябва да бъдат колкото 80%. Причината е само в шината - колкото и да е добра, пак ще има закъснения и прекъсвания и колкото повече ядра, толкова по-зле ще е положението. Но защо тогава няма такива проблеми във видеокартите? Всичко е просто - ако процесорните ядра могат да си представят хора, които могат да изпълняват различни задачи, тогава изчислителните единици на видеокартите са по-скоро като роботи на конвейер, които могат да изпълняват само определени инструкции. Всъщност те не трябва да „преговарят“ - следователно, с увеличаване на техния брой, ефективността пада по-бавно: например разликата в CUDA между 1080 (2560 броя) и 1080 Ti (3584 броя) е 40 %, на практика е около 25-35%, тогава има значително по-малко загуби.


Колкото повече ядра, толкова по-лошо работят заедно, до нулево увеличение на производителността, тъй като броят на ядрата се увеличава.

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

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

Здравейте всички От дълго време в съзнанието на потребителите се водят спорове кое е по-добро, висока честота или брой ядра? Сега има много процесори и основно те се различават или по броя на ядрата и честотата, или всички наведнъж, така да се каже. Защото именно тези две точки са основните фактори, които влияят на производителността.

Така че вижте, нека ви покажа с пример защо понякога много ядра са по-добри, а понякога високата честота е по-добра. Вижте, например, нека вземем офис компютър, където създават и редактират документи, използват интернет, браузъри. Всичко това не са много взискателни задачи, но за удобство е по-добре всичко това да работи бързо. Да, тук можете да вземете например процесора Core i5 и пак ще работи бързо. Но аз бих взел Pentium G3258 тук (за пример), това е Stump, има две ядра и може да се овърклокне добре. Но струва много по-евтино от i5. Можете да го овърклокнете до 4,4 GHz, така да се каже, това е безопасно овърклокване. И тези две ядра с честота 4,4 GHz ще ви позволят да получите доста бърз компютър. И ако овърклокнете до 4,6 GHz, е още по-добре. В същото време процесорът не се нагрява особено ужасно, но добър радиатор е, разбира се, това, което е необходимо.

Ето такъв овърклок на Pentium G3258 ще бъде оправдан както по отношение на цената, така и по отношение на производителността

Сега да вземем любимите игри на всички. Често ли играете няколко игри едновременно? Аз не мисля. Следователно няма смисъл от голям брой ядра. Но от друга страна две ядра няма да са достатъчни. Тук идеалната златна среда е 4 ядра, ние имаме i5 процесор, имам предвид това за стационарни компютри, защото лаптоп i5s може да има или 2 ядра и 4 потока, или само 4 ядра, но лаптоп процесорите определено са по-слаби. В идеалния случай за игри това са 4 ядра с висока честота, поне на 4,2 GHz, това вече е достатъчно за няколко години напред, както ми се струва. Е, за три години, това е сигурно. i7 е почти същото, но ПО-ШИРОКО като мощност. Ще видиш. Не по-бързо, но ПО-ШИРОКО, тоест ще може да тегли нещо друго освен играта, например втората игра, ако сте уникален и играете две игри едновременно ..

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

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

Е, всички момчета, това е всичко, надявам се, че тук успях да ви предам идеята си и тук всичко ви беше ясно. Успех и винаги да си в добро настроение

17.11.2016
  • урок

В тази статия ще се опитам да опиша терминологията, използвана за описание на системи, способни да изпълняват множество програми паралелно, т.е. многоядрени, многопроцесорни, многонишкови. Различни видове паралелизъм в процесора IA-32 се появиха в различно времеи то в малко непоследователен ред. Лесно е да се объркате във всичко това, особено като се има предвид, че операционните системи внимават да скрият подробности от по-малко сложни приложни програми.

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

Предупреждение за знаци ®, ™, в статията

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

процесор

Разбира се, най-старият, най-често използван и двусмислен термин е "процесор".

IN модерен святпроцесорът е този (пакет), който купуваме в красива кутия за продажба на дребно или не много красива OEM опаковка. Неделима единица, поставена в гнездо на дънна платка. Дори и да няма конектор и не може да се премахне, тоест ако е плътно запоен, това е един чип.

Мобилните системи (телефони, таблети, лаптопи) и повечето настолни компютри имат един процесор. Работните станции и сървърите понякога могат да се похвалят с два или повече процесора на една и съща дънна платка.

Поддръжката на множество процесори в една система изисква множество промени в дизайна. Най-малкото е необходимо да се осигури тяхната физическа връзка (осигурете няколко гнезда на дънната платка), да разрешите проблемите с идентифицирането на процесорите (вижте по-нататък в тази статия, както и моята бележка), координирането на достъпа до паметта и доставянето на прекъсвания ( контролерът на прекъсванията трябва да може да насочва прекъсванията към множество процесори) и, разбира се, поддръжка от операционната система. За съжаление, не можах да намеря документирано споменаване на момента, в който първата многопроцесорна система е създадена на процесори Intel, но Wikipedia твърди, че Sequent Computer Systems ги е доставила още през 1987 г., използвайки процесори Intel 80386. Широко разпространена поддръжка за няколко чипа в една система става достъпна започвайки с Intel® Pentium.

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


Готов за излитане! Платка за настолен компютър Intel® D5400XS

Ядро

Исторически многоядрените процесори в Intel IA-32 се появяват по-късно от Intel® HyperThreading, но идват на следващо място в логическата йерархия.

Изглежда, че ако има повече процесори в системата, тогава нейната производителност е по-висока (при задачи, които могат да използват всички ресурси). Въпреки това, ако цената на комуникацията между тях е твърде висока, тогава цялата печалба от паралелизма се унищожава от дългите закъснения в прехвърлянето на общи данни. Точно това се наблюдава при многопроцесорните системи – и физически, и логически те са много далеч една от друга. За да се комуникира ефективно при такива условия, трябва да бъдат изобретени специализирани шини като Intel® QuickPath Interconnect. Консумацията на енергия, размерът и цената на крайното решение, разбира се, не намаляват от всичко това. Високата интеграция на компонентите трябва да дойде на помощ - схемите, изпълняващи части от паралелна програма, трябва да се влачат по-близък приятелна приятел, за предпочитане един кристал. С други думи, един процесор трябва да организира няколко ядра, еднакви помежду си във всичко, но работещи независимо.

Първите IA-32 многоядрени процесори от Intel бяха представени през 2005 г. Оттогава средният брой ядра в сървърни, настолни, а сега и мобилни платформи непрекъснато нараства.

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


Микроснимка на четириядрен процесор Процесор Intelс кодово име Nehalem. Отделни ядра, споделен L3 кеш, както и QPI връзки към други процесори и споделен контролер на паметта са подчертани.

хипернишка

До около 2002 г. единственият начин да се получи система IA-32, способна да изпълнява две или повече програми паралелно, беше да се използват конкретно многопроцесорни системи. Intel® Pentium® 4, както и линията Xeon с кодово име Foster (Netburst), представиха нова технология - хипернишковост или хипернишковост - Intel® HyperThreading (наричана по-нататък HT).

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

Няма да се опитвам да обясня всички плюсове и минуси на SMT дизайна като цяло и в частност на HT дизайна. Заинтересованият читател може да намери доста подробно обсъждане на технологията в много източници и, разбира се, в Уикипедия. Ще отбележа обаче следния важен момент, който обяснява текущите ограничения върху броя на хипернишките в реално производство.

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

Типичните сценарии за настолни и сървърни приложения, проектирани за машинни архитектури с общо предназначение, имат потенциал за паралелизъм, реализиран с помощта на HT. Този потенциал обаче бързо се "изчерпва". Може би поради тази причина при почти всички процесори IA-32 броят на хардуерните хипернишки не надвишава две. В типичните сценарии печалбата от използването на три или повече хипернишки би била малка, но загубата в размера на матрицата, консумацията на енергия и цената е значителна.

Друга ситуация се наблюдава при типични задачи, изпълнявани на видеоускорители. Следователно тези архитектури се характеризират с използването на SMT технология с по-голям брой нишки. Тъй като копроцесорите Intel® Xeon Phi (въведени през 2010 г.) са идеологически и генеалогично доста близки до видеокартите, те може да имат четири Hyperthreading на всяко ядро ​​- конфигурация, уникална за IA-32.

логически процесор

От трите описани "нива" на паралелизъм (процесори, ядра, хипернишки), някои или дори всички от тях може да липсват в определена система. Това се влияе от настройките на BIOS (многоядрените и многонишковите функции са деактивирани поотделно), микроархитектурни характеристики (например HT отсъстваше от Intel® Core™ Duo, но беше върнат с пускането на Nehalem) и системни събития (многопроцесорните сървъри могат да изключат повредени процесори в случай на неизправност и да продължат да "летят" на останалите). Как тази многопластова зоологическа градина на едновременност е видима за операционната система и в крайна сметка за приложенията?

Освен това, за удобство, ние обозначаваме броя на процесорите, ядрата и нишките в дадена система с тройка ( х, г, z), Където хе броят на процесорите ге броят на ядрата във всеки процесор и zе броят на хипернишките във всяко ядро. По-нататък ще говоря за това трио топология- утвърден термин, който няма много общо с раздела на математиката. работа стр = xyzдефинира броя на именуваните обекти логически процесорисистеми. Той определя общия брой независими контексти на процеса на приложение в система със споделена памет, изпълняваща се паралелно, които операционната система трябва да вземе предвид. Казвам "принуден", защото не може да контролира реда на изпълнение на два процеса, които са на различни логически процесори. Това се отнася и за хипернишките: въпреки че те се изпълняват "последователно" на едно и също ядро, специфичният ред се диктува от хардуера и не се вижда или контролира от програми.

Най-често операционната система скрива от крайните приложения характеристиките на физическата топология на системата, на която работи. Например следните три топологии: (2, 1, 1), (1, 2, 1) и (1, 1, 2) - ОС ще бъде представена като два логически процесора, въпреки че първият от тях има два процесора , вторият има две ядра, а третият е само с две нишки.


Windows Task Manager показва 8 логически процесора; но колко е това в процесори, ядра и хипернишки?


Горната част на Linux показва 4 логически процесора.

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

Софтуерна дефиниция на топология

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

Информацията за топологията на системата като цяло, както и позицията на всеки логически процесор в IA-32, е достъпна с помощта на инструкцията CPUID. От появата на първите многопроцесорни системи логическата схема за идентификация на процесора е разширявана няколко пъти. Към днешна дата части от него се съдържат в листове 1, 4 и 11 на CPUID. Кой от листовете да гледате може да се определи от следната блокова схема, взета от статията:

Тук няма да отегчавам с всички подробности за отделните части на този алгоритъм. Ако има интерес, следващата част от тази статия може да бъде посветена на това. Ще насоча заинтересования читател към, в който този въпрос е анализиран възможно най-подробно. Тук първо ще опиша накратко какво е APIC и как се свързва с топологията. Тогава помислете за работа с лист 0xB (единадесет в десетичен знак), който е в момента последна думав Апикостроителство.

APIC ID
Локален APIC (усъвършенстван програмируем контролер за прекъсване) е устройство (сега част от процесора), отговорно за работата с прекъсвания, идващи към конкретен логически процесор. Всеки логически процесор има свой собствен APIC. И всеки от тях в системата трябва да има уникална стойност на APIC ID. Този номер се използва от контролерите за прекъсване за адресиране при доставяне на съобщения и от всички останали (като операционната система) за идентифициране на логически процесори. Спецификацията за този контролер за прекъсване е еволюирала от Intel 8259 PIC през Dual PIC, APIC и xAPIC до x2APIC.

В момента ширината на числото, съхранявано в APIC ID, е достигнала пълните 32 бита, въпреки че в миналото беше ограничена до 16, а дори по-рано само до 8 бита. Днес останките от старите дни са разпръснати из целия CPUID, но всичките 32 бита на APIC ID се връщат в CPUID.0xB.EDX. Всеки логически процесор, независимо изпълняващ инструкцията CPUID, ще върне различна стойност.

Изясняване на семейните връзки
Стойността на APIC ID сама по себе си не казва нищо за топологията. За да разберете кои два логически процесора са в един и същ физически (т.е. те са „братя“ на хипернишките), кои два са в един и същи процесор и кои са напълно различни процесори, трябва да сравните техните APIC ID стойности. В зависимост от степента на връзка, някои от техните части ще съвпадат. Тази информация се съдържа в подсписъците CPUID.0xB, които са кодирани с операнд в ECX. Всеки от тях описва позицията на битово поле на едно от нивата на топология в EAX (по-точно броят битове, които трябва да бъдат изместени в APIC ID надясно, за да се премахне по-ниски ниватопология), както и вида на този слой - хипернишка, ядро ​​или процесор - в ECX.

Логическите процесори в рамките на едно и също ядро ​​ще съответстват на всички APIC ID битове, с изключение на тези в полето SMT. За логически процесори, които са в един и същи процесор, всички битове с изключение на полетата Core и SMT. Тъй като броят на подлистовете за CPUID.0xB може да нараства, тази схема ще поддържа описанието на топологии с по-голям брой нива, ако е необходимо в бъдеще. Освен това ще бъде възможно въвеждането на междинни нива между съществуващите.

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

Имайте предвид, че CPUID.0xB не е единственият източник на информация за логическите процесори, достъпни за операционната система. Списъкът на всички достъпни за него процесори, заедно с техните APIC ID стойности, е кодиран в MADT ACPI таблицата.

Операционни системи и топология

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

В Linux информацията за топологията се съдържа в псевдофайла /proc/cpuinfo, както и в резултата от командата dmidecode. В примера по-долу филтрирам съдържанието на cpuinfo на някаква не-HT четириядрена система, оставяйки само записи, свързани с топологията:

Скрит текст

ggg@shadowbox:~$ cat /proc/cpuinfo |grep "процесор\|физически\ идентификатор\|братя и сестри\|ядро\|ядра\|apicid" процесор: 0 физически идентификатор: 0 братя и сестри: 4 идентификатор на ядро: 0 процесорни ядра: 2 apicid: 0 първоначален apicid: 0 процесор: 1 физически id: 0 братя и сестри: 4 id на ядро: 0 ядра на процесора: 2 apicid: 1 първоначален apicid: 1 процесор: 2 физически id: 0 братя и сестри: 4 id на ядро: 1 ядра на процесора: 2 apicid: 2 първоначален apicid: 2 процесор: 3 физически id: 0 братя и сестри: 4 core id: 1 cpu ядра: 2 apicid: 3 първоначален apicid: 3

Във FreeBSD топологията се отчита чрез механизма sysctl в променливата kern.sched.topology_spec като XML:

Скрит текст

user@host:~$ sysctl kern.sched.topology_spec kern.sched.topology_spec: 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7 0, 1 Група НИШКИSMT група 2, 3 Група НИШКИSMT група 4, 5 Група НИШКИSMT група 6, 7 Група НИШКИSMT група

В MS Windows 8 информацията за топологията може да се види в диспечера на задачите.

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

Повечето процесори вече са 2-4 ядра, но има скъпи модели за игрови компютри и центрове за данни с 6 и дори 8 ядра. Преди това, когато централният процесор имаше само едно ядро, цялата производителност беше в честотата и работата с няколко програми едновременно можеше напълно да „окачи“ операционната система.

Можете да определите броя на ядрата, както и да разгледате качеството на тяхната работа, като използвате решения, вградени в самия Windows или програми на трети страни (статията ще обсъди най-популярните от тях).

Метод 1: AIDA64

е популярна програма за наблюдение на производителността на компютъра и провеждане на различни тестове. Софтуерът е платен, но има тестов период, който е достатъчен, за да разберете броя на ядрата в процесора. Интерфейсът AIDA64 е напълно преведен на руски език.

Инструкцията изглежда така:


Метод 2: CPU-Z

CPU-Z е безплатна програма, която ви позволява да получите цялата основна информация за компютърните компоненти. Има прост интерфейс, който е преведен на руски език.

За да разберете броя на ядрата, използващи този софтуер, просто го стартирайте. В главния прозорец намерете най-долу, от дясната страна, елемента Ядра. Срещу него ще бъде изписан броят на ядрата.

Метод 3: Диспечер на задачите

Този метод е подходящ само за потребители на Windows 8, 8.1 и 10. Следвайте тези стъпки, за да разберете броя на ядрата по този начин:


Метод 4: Диспечер на устройства

Този метод е подходящ за всички версии на Windows. Когато го използвате, трябва да запомните, че за някои процесори от Intel информацията може да се показва неправилно. Факт е, че процесорите на Intel използват технология Hyper-threading, която разделя едно процесорно ядро ​​на няколко нишки, като по този начин повишава производителността. Но в същото време "Диспечер на устройства"може да вижда различни нишки на едно и също ядро ​​като множество отделни ядра.

Ръководството стъпка по стъпка изглежда така:


Не е трудно да разберете сами броя на ядрата в централния процесор. Можете също така просто да погледнете спецификациите в документацията за вашия компютър / лаптоп, ако имате под ръка. Или "гугълнете" модела на процесора, ако го знаете.

В първите години на новото хилядолетие, когато честотите на процесора най-накрая преминаха границата от 1 GHz, някои компании (да не сочим с пръст Intel) прогнозираха, че новата архитектура NetBurst може да достигне скорости от порядъка на 10 GHz в бъдеще. Ентусиастите очакваха нова ера, когато тактовите честоти на процесора ще растат като гъби след дъжд. Нуждаете се от повече производителност? Просто надстройте до процесор с по-висока тактова честота.

Ябълката на Нютон падна шумно върху главите на мечтателите, които смятаха мегахерца за най-много лесен начиннепрекъснат ръст на производителността на компютъра. Физическите ограничения възпрепятстваха експоненциалното увеличаване на тактовата честота без съответно увеличение на разсейването на топлината и започнаха да възникват други проблеми, свързани с производствените технологии. Наистина ли, последните годининай-бързите процесори работят на честоти между 3 и 4 GHz.

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

Pentium EE 840 е първият двуядрен процесор, който излиза на пазара на дребно.

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

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

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

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

За да направим тестовете коректни, избрахме четириядрен процесор - Intel Core 2 Quad Q6600, овърклокнат до 2,7 GHz. След провеждане на тестове на нашата система, деактивирахме едно от ядрата, рестартирахме и повторихме тестовете. Деактивирахме ядрата последователно и получихме резултати за различен брой активни ядра (от едно до четири), докато процесорът и неговата честота не се промениха.

Деактивирането на процесорните ядра под Windows е много лесно. Ако искате да знаете как да направите това, напишете "msconfig" в прозореца "Стартиране на търсене" на Windows Vista и натиснете "Enter". Това ще отвори помощната програма за системна конфигурация.

В него отидете в раздела "Зареждане" и натиснете клавиша "Разширени опции".

Това ще изведе прозореца за разширени опции на BOOT. Поставете отметка в квадратчето „Брой процесори“ и посочете броя на процесорните ядра, които ще бъдат активни в системата. Всичко е много просто.

След потвърждение програмата ще ви подкани да рестартирате. След рестартиране в "Диспечер на задачите на Windows" (Диспечер на задачите) можете да видите броя на активните ядра. Извикването на "Диспечер на задачите" се извършва чрез натискане на Crtl+Shift+Esc.

Изберете раздела „Ефективност“ в „Диспечер на задачите“. В него можете да видите графиките на натоварването за всеки процесор / ядро ​​(независимо дали е отделен процесор / ядро ​​или виртуален процесор, както получаваме в случая на Core i7 с активна поддръжка на Hyper-Threading) в "CPU / CPU Usage История“. Две графики означават две активни ядра, три означават три активни ядра и т.н.

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

Тестова конфигурация

Системен хардуер
процесор Intel Core 2 Quad Q6600 (Kentsfield), 2,7 GHz, FSB-1200, 8 MB L2 кеш
Платформа MSI P7N SLI Platinum, Nvidia nForce 750i, BIOS A2
памет A-Data EXTREME DDR2 800+, 2 x 2048MB, DDR2-800, CL 5-5-5-18 при 1.8V
HDD Western Digital Caviar WD50 00AAJS-00YFA, 500 GB, 7200 rpm, 8 MB кеш, SATA 3.0 Gb/s
Нет Интегриран nForce 750i Gigabit Ethernet контролер
Видео карти Gigabyte GV-N250ZL-1GI 1GB DDR3 PCIe
захранващ агрегат Ultra HE1000X, ATX 2.2, 1000W
Софтуер и драйвери
операционна система Microsoft Windows Vista Ultimate 64-bit 6.0.6001, SP1
DirectX версия DirectX 10
Платформен драйвер Версия на драйвера nForce 15.25
Графичен драйвер Nvidia Forceware 182.50

Тестове и настройки

3D игри
криза Настройките за качество са зададени на най-ниски, детайлите на обекта са високи, физиката е много висока, версия 1.2.1, 1024x768, инструмент за сравнение, средно за 3 пъти
Left 4 Dead Настройките за качество са зададени на най-ниските, 1024x768, версия 1.0.1.1, демонстрация с време.
свят в конфликт Настройките за качество са зададени на най-ниските, 1024x768, корекция 1.009, вграден бенчмарк.
iTunes Версия: 8.1.0.52, Audio CD ("Terminator II" SE), 53 мин., формат по подразбиране AAC
Куц MP3 Версия: 3.98 (64-bit), Audio CD ""Terminator II" SE, 53 min, вълна към MP3, 160 Kb/s
TMPEG 4.6 Версия: 4.6.3.268, Импортиран файл: "Terminator II" SE DVD (5 минути), Резолюция: 720x576 (PAL) 16:9
DivX 6.8.5 Режим на кодиране: Безумно качество, Подобрена многонишковост, Активирано чрез SSE4, Търсене по четвърт пиксел
Xvid 1.2.1 Състояние на кодиране на дисплея = изключено
Препратка към основната концепция 1.6.1 MPEG2 към MPEG2 (H.264), MainConcept H.264/AVC кодек, 28 сек HDTV 1920x1080 (MPEG2), Аудио: MPEG2 (44,1 KHz, 2 канала, 16 бита, 224 Kb/s), Режим: PAL (25) FPS), Профил: Хардуерни настройки на Tom за Qct-Core
Autodesk 3D Studio Max 2009 (64-битова) Версия: 2009, изобразяване на Dragon Image при 1920x1080 (HDTV)
Adobe Photoshop CS3 Версия: 10.0x20070321, Филтриране от 69 MB TIF-снимка, Бенчмарк: Tomshardware-Benchmark V1.0.0.4, Филтри: Crosshatch, Glass, Sumi-e, Акцентирани ръбове, Ъглови щрихи, Напръскани щрихи
Grisoft AVG Antivirus 8 Версия: 8.0.134, Virus base: 270.4.5/1533, Benchmark: Сканиране на 334 MB папка с ZIP/RAR компресирани файлове
WinRAR 3.80 Версия 3.80, Benchmark: THG-натоварване (334 MB)
WinZip 12 Версия 12, Компресия=Най-добра, Бенчмарк: THG-Натоварване (334 MB)
3D Mark Vantage Версия: 1.02, GPU и CPU резултати
PC Mark Vantage Версия: 1.00, система, памет, тестове за твърд диск, Windows Media Player 10.00.00.3646
SiSoftware Sandra 2009 SP3 Тест на процесора=Аритметика на процесора/Мултимедия, Тест на паметта=Бенчмарк за честотна лента

Резултати от тестовете

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

Ще започнем с бенчмарка за синтетични игри 3DMark Vantage. Избрахме изпълнението "Entry", което 3DMark изпълнява на най-ниската налична резолюция, така че производителността на процесора да има по-голямо влияние върху резултата.

Почти линейният растеж е доста интересен. Най-голямото увеличение се наблюдава при преминаване от едно ядро ​​към две, но дори и тогава мащабируемостта може да бъде проследена доста забележимо. А сега да преминем към теста PCMark Vantage, който е предназначен да покаже цялостната производителност на системата.

Резултатите от PCMark показват, че крайният потребител ще се възползва от увеличаването на броя на процесорните ядра до три, докато четвъртото ядро, напротив, леко ще намали производителността. Да видим с какво е свързан този резултат.

В теста на подсистемата на паметта отново виждаме най-голямото увеличение на производителността при преминаване от едно CPU ядро ​​към две.

Тестът за производителност изглежда има най-голямо влияние върху общия резултат на PCMark, тъй като в този случай увеличението на производителността завършва при три ядра. Да видим дали резултатите от друг синтетичен тест на SiSoft Sandra са подобни.

Ще започнем с аритметичните и мултимедийните тестове на SiSoft Sandra.


Синтетичните тестове показват доста линейно увеличение на производителността при преминаване от едно CPU ядро ​​към четири. Този тест е написан специално за ефективно използване на четири ядра, но се съмняваме, че реалните приложения ще изпитат същия линеен напредък.

Тестът на паметта на Sandra също предполага, че три ядра ще осигурят по-голяма честотна лента на паметта при целочислени буферирани iSSE2 операции.

След синтетичните тестове е време да видим какво получаваме в тестовете на приложенията.

Аудио кодирането традиционно е сегмент, в който приложенията не са се възползвали много от множество ядра или не са били оптимизирани от разработчиците. По-долу са резултатите от Lame и iTunes.

Lame не показва голямо предимство при използване на множество ядра. Интересното е, че виждаме леко повишаване на производителността с четен брой ядра, което е доста странно. Разликата обаче е малка, така че може просто да е в границите на грешка.

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

Оказва се, че нито Lame, нито iTunes са оптимизирани за множество процесорни ядра за аудио кодиране. От друга страна, доколкото ни е известно, програмите за кодиране на видео често са силно оптимизирани за множество ядра поради тяхната присъща паралелна природа. Нека да разгледаме резултатите от кодирането на видео.

Ще започнем нашите тестове за видео кодиране с MainConcept Reference.

Забележете доколко увеличаването на броя на ядрата влияе на резултата: времето за кодиране намалява от девет минути при едноядрен 2,7 GHz процесор Core 2 до само две минути и 30 секунди, когато и четирите ядра са активни. Съвсем ясно е, че ако често транскодирате видео, тогава е по-добре да вземете процесор с четири ядра.

Ще получим ли подобни предимства в тестовете TMPGEnc?

Тук можете да видите ефекта върху резултата от енкодера. Ако DivX енкодерът е силно оптимизиран за множество процесорни ядра, тогава Xvid не показва толкова забележимо предимство. Въпреки това дори Xvid дава 25% намаление на времето за кодиране при преминаване от едно ядро ​​към две.

Нека започнем графичните тестове с Adobe Photoshop.

Както можете да видите, версията CS3 не забелязва добавянето на ядра. Странен резултат за толкова популярна програма, въпреки че признаваме, че не сме използвали последна версия Photoshop CS4. Резултатите от CS3 все още не са вдъхновяващи.

Нека да разгледаме резултатите от 3D изобразяване в Autodesk 3ds Max.

Съвсем очевидно е, че Autodesk 3ds Max обича допълнителни ядра. Тази функцияприсъстваше в 3ds Max, когато работеше в DOS среда, тъй като изпълнението на задачата за 3D изобразяване отне толкова време, че трябваше да бъде разпределено между множество компютри в мрежа. Отново, за такива програми е много желателно да се използват четириядрени процесори.

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

AVG Antivirus показва прекрасно повишаване на производителността при увеличаване на процесорните ядра. По време на антивирусно сканиране производителността на компютъра може да спадне драстично и резултатите ясно показват, че множеството ядра значително намаляват времето за сканиране.


WinZip и WinRAR не показват забележими подобрения в производителността на множество ядра. WinRAR показва повишаване на производителността на две ядра, но нищо повече. Ще бъде интересно да видим как се представя току-що пуснатата версия 3.90.

През 2005 г., когато започнаха да се появяват двуядрени настолни компютри, просто нямаше игри, които да показват подобрения в производителността при преминаване от едноядрени към многоядрени процесори. Но времената се промениха. Как многото процесорни ядра влияят на съвременните игри? Нека пуснем някои популярни игри и да видим. Проведохме тестове за игри при ниска разделителна способност от 1024x768 и с ниски нива на графични детайли, за да минимизираме влиянието на графичната карта и да определим каква част от данните на играта засягат производителността на процесора.

Да започнем с Crysis. Намалихме всички опции до минимума, с изключение на детайлите на обекта, които сме задали на „Високи“, и Физиката, които сме задали на „Много високи“. В резултат на това производителността на играта трябва да зависи повече от процесора.

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

Но знаем, че Crysis използва сериозно физичните изчисления, така че нека видим какво ще бъде положението в игра с не толкова напреднала физика. Например в Left 4 Dead.

Интересното е, че играта Left 4 Dead показва подобен резултат, въпреки че лъвският дял от печалбата идва след добавянето на второто ядро. Има малко увеличение при прехода към три ядра, но четвъртото ядро ​​не е необходимо за тази игра. Интересна тенденция. Нека да видим как ще бъде типично за стратегията в реално време World in Conflict.

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

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

Първо, бих искал да кажа, че резултатите от синтетичните тестове са твърде оптимистични, когато се сравнява използването на няколко ядра с реални приложения. Увеличаването на производителността на синтетичните тестове при преминаване от едно ядро ​​към няколко изглежда почти линейно, всяко ново ядро ​​добавя 50% от производителността.

При приложенията виждаме по-реалистичен прогрес - около 35% увеличение от второто процесорно ядро, 15% увеличение от третото и 32% увеличение от четвъртото. Странно е, че при добавяне на трето ядро ​​получаваме само половината от предимството, което дава четвъртото ядро.

При приложенията обаче е по-добре да гледате отделните програми, а не общия резултат. Наистина, приложенията за аудио кодиране, например, изобщо не се възползват от увеличаването на броя на ядрата. От друга страна, приложенията за кодиране на видео се възползват значително от повече процесорни ядра, въпреки че това зависи доста от използвания енкодер. В случая с 3D рендъра 3ds Max виждаме, че той е силно оптимизиран за многоядрени среди, а приложенията за редактиране на 2D снимки като Photoshop не отговарят на броя на ядрата. AVG Antivirus показа значително увеличение на производителността на няколко ядра, а при помощните програми за компресиране на файлове печалбата не е толкова голяма.

Що се отнася до игрите, при преминаване от едно ядро ​​към две, производителността се увеличава с 60%, а след добавяне на трето ядро ​​към системата, получаваме още 25% преднина. Четвъртото ядро ​​в избраните от нас игри не дава предимства. Разбира се, ако вземем още игри, тогава ситуацията може да се промени, но във всеки случай триядрените процесори Phenom II X3 изглеждат много привлекателен и евтин избор за геймър. Важно е да се отбележи, че при преминаване към повече високи резолюциии добавяне на визуални детайли, разликата поради броя на ядрата ще бъде по-малка с нарастването на графичната карта решаващ факторвлияещи на честотата на кадрите.


Четири ядра.

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

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

моб_инфо