Влияние ядра. Что такое потоки в процессоре и в чём различие с ядрами? Когда меньше ядер у процессора — лучше

На сегодняшний день все большее распространение получают игровые системы на базе многоядерных процессоров. Век одноядерных процессоров давно прошел и даже бюджетные процессоры класса Celeron и Sempron обзавелись двумя ядрами.

Мощные игровые системы постепенно перестают быть уделом энтузиастов, и уже мало кого удивишь наличием в системном блоке четырехъядерного процессора. Современная игровая индустрия тоже не стоит на месте и с каждым годом количество игр, оптимизированных под многоядерные процессоры, возрастает.

При покупке процессора для системного блока перед пользователем встает нелегкий вопрос: "А что брать для комфортной игры в современных играх?". Действительно, оба крупнейших производителя процессоров - Intel и AMD - предлагают большой выбор двух-, трех- и четырехъядерных процессоров с диапазоном тактовых частот 2400 - 3330 МГц.

В сегодняшнем материале мы постараемся максимально исследовать этот вопрос, чтобы практическими советами помочь покупателям в нелегком деле выбора процессора.

Для тестов нами были взяты сорок три игры, за последние три года привлекшие внимание широких масс геймеров. Также для полноты картины мы использовали процессорные тесты 3DMark 06 и 3DMark Vantage.

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

Конфигурация тестового стенда:

  • Процессор: Intel Core 2 Quad Q6600, 2.4 ГГц, 1.3 В, L2 2 x 4 Мбайт, FSB: 1066 МГц (Kensfield, G0);
  • Материнская плата: GigaByte GA-X38-DS4;
  • Система охлаждения CPU: Zalman VF 9700 LED (~1000 об/мин);
  • Оперативная память: 4 x 1024 Мбайт DDR2 Hynix (Spec: 800 МГц / 5-5-5-15-2t / 1.9 В);
  • Дисковая подсистема: SATA-II 500 Гбайт, WD 5000KS, 7200 об/мин, 16 Мбайт;
  • Оптический привод: IDE DVD RAM & DVD±R/RW & CD±RW Pioneer DVR-109;
  • Видеокарта: MSI GeForce GTX 275 896 Mбайт (666/1476/2230 МГц);
  • Корпус: ATX CoolerMaster Centurion 590 ;
  • Панель управления и мониторинга: Zalman ZM-MFC2;
  • Блок питания: FSP Epsilon 700 Ватт (штатный вентилятор: 120-мм на вдув);
  • Монитор: 24" BenQ V2400W (Wide LCD, 1920x1200 / 60 Гц);
  • Програмное обеспечение:

  • RivaTuner 2.24;
  • Операционная система Windows Vista Ultimate Edition x86 SP2;
  • Драйверы видеокарт ATI Catalyst 9.8 и NVIDIA Display Driver 190.62.
  • В корпусе на вдув и выдув установлены 120-мм корпусные вентиляторы GlacialTech на ~1000 об/мин, на боковой стенке - такие же два вентилятора на ~1000 об/мин, в верхней стенке еще два вентилятора на ~1000 об/мин.

    Инструментарий и методика тестирования

  • Call of Juarez, Crysis (gpu_test / cpu_test), Crysis Warhead (ambush / frost), Devil May Cry4 (scene1), Far Cry 2 (ranch small), Lost Planet: Colonies (area1), Tom Clancy"s H.A.W.X. и World in Conflict: Soviet Assault - тестирование проводилось игровым бенчмарком.
  • Call of Duty 4: Modern Warfare, Left 4 Dead и Stalker: Clear Sky тестировались с помощью записанных игровых демок.
  • Cryostasis, PT Boats: Knights of the sea и X3: Terrain Conflict тестировались с помощью технических демок игры.
  • Armed Assault 2, Assassins Creed, Battle station: Pacific, Brothers in Arms: Hell"s Highway, Clive Barker"s: Jericho, Colin McRae: Dirt, Dead Space, Demigod, Fallout 3: The Pitt, FEAR 2: Project Origin, Gears of War, Ghost Recon: Advanced War fighter 2, Gothic 3: Forsaken Gods, Grand Theft Auto 4, Kane & Lynch: Dead Men, Mass Effect, Mirrors Edge, Need for Speed: Pro Street, Oblivion: Shivering Isles, Prince of Persia, Race Driver: GRID, Sacred 2: Fallen Angel, Supreme Commander, The Chronicles of Riddick: Assault on Dark Athena, The Witcher, Tomb Raider: Underworld, Total War: Empire, Velvet Assassin, и Warhammer 40000: Dawn of War 2 тестировались с помощью утилиты FRAPS v2.9.6 build 7637.
  • Во всех играх замерялись min и avg значения FPS.

    В бенчмарках и демках, у которых отсутствовал показатель min fps, это значение замерялось при помощи утилиты FRAPS.

    Тестирование игровых приложений проводилось в разрешениии 1680х1050.

    VSync при проведении тестов был отключен.

    Методика тестов представляет собой трехкратный прогон каждой игры вне зависимости от утилиты, которой она тестировалась: бенчмарком, демкой или FRAPS. Полученные три результата обрабатывались, и за итоговое бралось среднестатистическое значение.

    В тестировании мы решили применить разрешение 1680х1050, так как разрешение 1280х1024 является устаревшим (19" мониторы с соотношением сторон 4:3 в настоящее время почти не производятся и не продаются), а разрешение 1920х1200 максимально загружает видеокарту, что может негативно сказаться на результатах тестов.

    Практическая часть по выбору метода отключения процессорных ядер из ОС Windows Vista SP2 x86.

    Как было указано выше, для тестов мы применяли процессор Intel Core 2 Quad Q6600. Для эмуляции двух- и трехъядерных процессоров нами было принято решение отключать их из операционной системы.

    Существует четыре способа отключения процессорных ядер:

    1. Из диспетчера задач, задавая соответствие процессоров для конкретного приложения (в нашем случае для игры).
    2. Из конфигурации системы (вызываемой командой msconfig), задавая число процессоров в дополнительных параметрах загрузки.
    3. При помощи утилиты CPU Control.
    4. При помощи утилиты bcdedit (аналог файла boot.ini в Windows XP, отсутствующий в Windows Vista), задавая количество процессорных ядер командой в командной строке: bcdedit /set {current} numproc 2

    После перезагрузки система и приложения будут видеть только заданное число ядер (процессоров), что почти аналогично физическому наличию.

    В нашем небольшом тестировании при помощи указанных выше способов, мы отключили в Core 2 Quad Q6600 два ядра.

    В качестве инструментария для тестов мы использовали следующие игры: Crysis (cpu_test), Crysis Warhead (cargo flythrough), Far Cry 2 (ranch small) и World in Conflict.

    Чтобы получить более точные результаты в данном мини исследовании тестирование проводилось в разрешении 1280х1024.

    Для выявления наиболее точного способа отключения процессорных ядер из ОС мы сравнили полученные результаты с системой на базе процессора Core 2 Duo E6420 (огромное спасибо за помощь камраду Rodyanin).

    Конфигурация стенда №1 (Phoenix):

  • Процессор: Intel Core 2 Quad Q6600 2400 @ 3200 МГц;
  • Материнская плата: GigaByte GA-X38-DS4;
  • Видеокарта: GigaByte Radeon HD 4870 512 Мбайт 750/3600 @ 840/4000 МГц.
  • Конфигурация стенда №2 (Rodyanin):

  • Процессор: Intel Core 2 Duo E6420 2130 @ 3200 МГц;
  • Материнская плата: ASUS COMMANDO;
  • Оперативная память: 4 x 1024 Мбайт DDR2 Hynix (Spec: 800 МГц / 5-5-5-15-2t / 1.9 В);
  • Видеокарта: HIS Radeon HD 4870 512 Мбайт 810/4000 @ 840/4000 МГц.
  • Crysis (cpu-test)

    Crysis Warhead (cargo flythrough)

    DirectX 9.0, полноэкранное сглаживание (АА) 2, анизотропная фильтрация (AF) 0, качество текстур - high, качество объектов - high, качество теней - high, качество физики - high, качество шейдеров - high, качество объемного освещения - high, качество спецэффектов - high, качество постобработки - high, качество частиц - high, качество воды - high, качество размытия - high.

    Far Cry 2 (ranch small)

    DirectX 9.0, полноэкранное сглаживание (AA) 4, реалистичность деревьев - very high, огонь - very high, физика - very high, растительность - very high, затенение - very high, ландшафт - very high, геометрия - very high, пост-обработка - high, текстуры - very high, тени - very high, детализация - high.

    World in Conflict: Soviet Assault

    DirectX 9.0, полноэкранное сглаживание (AA) 4, анизотропная фильтрация (AF) 16, пиксельные шейдеры - high, проработка физики - high, качество текстур - high, текстуры поверхности - high, качество воды - high, тени - on, динамическая детализация - very high, качество анимации - high, следы от техники - very high, размеры отражений - 1024, все дополнительные настройки включены.

    По приведенным выше результатам тестов отчетливо видно, что наиболее близкие результаты к Core 2 Duo E6420 показывает эмулированный двухъядерный процессор, полученный при помощи утилиты bcdedit и из конфигурации системы (вызванной командой msconfig). Эти результаты далеко не самые корректные, но они объясняются тем, что при отключении ядер вышеуказанными способами, скорее всего, остается задействован L2=8Мбайт кэш процессора.

    Тем не менее эти способы доказали свою корректность и в дальнейшем для отключения процессорных ядер мы будем пользоваться одним из них - утилитой bcdedit.

    Для отражения полной картины о возможностях современных процессоров мы протестировали двух-, трех- и четырехъядерный процессоры на частотах 2400, 2800, 3200, 3600 МГц.

    При тестировании использовались следующие параметры FSB процессора и тактовой частоты оперативной памяти:

  • 2400 МГц - FSB 300x8 - DDRII 900 МГц
  • 2800 МГц - FSB 350x8 - DDRII 840 МГц
  • 3200 МГц - FSB 400x8 - DDRII 800 МГц
  • 3600 МГц - FSB 450x8 - DDRII 900 МГц
  • Современные архитектуры процессоров Intel и AMD (Core 2 Duo/Quad и K10.5) обладают приблизительно равной производительностью, поэтому полученные ниже результаты тестов будут отражать приблизительный расклад сил на современном рынке процессоров.

    Приступим непосредственно к тестам.

    Добрый день, уважаемые читатели нашего блога. Сегодня постараемся разобраться, что важнее частота или количество ядер процессора? На что влияет каждый из этих параметров в повседневном использовании, в играх и профессиональных приложениях? Играет ли свою роль , или ручной разгон приносит больше пользы? В общем, давайте вникать, как все это работает.

    Процедура сравнения будет элементарна до безобразия:

    • преимущества высокой тактовой частоты;
    • преимущества большого числа ядер процессора;
    • необходимость того или иного в зависимости от выбранных задач;
    • итоги.

    А теперь давайте приступать.

    Высокие частоты – признак комфортного гейминга

    Давайте сразу окунемся в игровую индустрию и по пальцам одной руки перечислим те игры, которым нужна многопоточность для комфортной работы. На ум приходят только последние продукты Ubisoft (Assassin’s Creed Origins, Watch Dogs 2), старичок GTA V, свежий Deus Ex и Metro Last Light Redux. Данные проекты с легкостью «съедят» все вакантные вычислительные мощности процессора, включая ядра и потоки.

    Но это скорее исключение из правил, поскольку остальные игры более требовательны именно к частоте ЦП и ресурсам видеопамяти. Иными словами, если вы решите запустить старый добрый DOOM на AMD Ryzen Threadripper 1950X c его 16 вычислительными ядрами (дорогой, мощный), то будете крайне разочарованы ввиду следующих факторов:

    • FPS будет низким;
    • большинство ядер и потоков простаивает;
    • переплата крайне сомнительна.

    А все потому, что этот чип ориентирован на профессиональные вычисления, рендеринг, обработку видео и иные задачи, в которых «решают» именно и потоки, а не частотный потенциал.
    Меняем AMD на Intel Core i5 8600К и видим неожиданный результат – количество кадров увеличилось, стабильность картинки возросла, все ядра задействованы оптимально. А если разогнать камень, то картина получится и вовсе шикарная. Все потому, что гейминг до сих пор корректно воспринимает от 4 до 8 ядер (не считая вышеописанных исключений), и дальнейший рост физических и виртуальных потоков попросту неоправдан, приходится гнать .

    В каких случаях нужна многопоточность

    А теперь давайте сравним в профессиональных задачах два топовых решения от Intel и AMD: Core 7 8700K (6/12, L3 – 9 МБ) и Ryzen 7 2700x (8/16, L3 – 16 МБ). И здесь уже количество ядер и потоков играет главную и лучшую роль в следующих задачах:

    • архивация;
    • обработка данных;
    • рендеринг;
    • работа с графикой;
    • создание сложных 3D‐объектов;
    • разработка приложений.

    Стоит отметить, что если программа не рассчитана на мультипоточность, то Intel одерживает пальму первенства только за счет большей частоты, но в остальных случаях лидерство остается за «красными».

    Подведем итоги

    А теперь давайте рассуждать логично. И AMD и Intel за последние несколько лет неплохо так выровняли свои показатели в плане производительности. Оба чипа построены для новейших платформ Ryzen+ (AM4) и Coffee Lake (s1151v2) и имеют отличный разгонный потенциал, а также задел на будущее.

    Если для вас первостепенной задачей является получение высокого FPS в современных игровых проектах, то «синяя» платформа здесь выглядит более оптимальным решением.

    Однако стоит понимать, что высокий фреймрейт будет заметен только на мониторах с частотой от 120 Гц и выше. На 60‐герцовых вы просто не заметите разницы в плавности картинки.

    Вариант от AMD при прочих равных выглядит более «всеядным» и универсальным, да и ядер с у него больше, а значит открываются новые перспективы вроде того же стриминга, который так популярен на Youtube.

    Надеемся, теперь вы понимаете, в чем разница между частотой и количеством вычислительных ядер, и в каких случаях переплата за потоки оправдана.

    Я считаю, что в данной борьбе, победителя здесь быть не может, так как битва в сравнениях была в разных весовых категориях.

    На этой ноте закончим, не забывайте подписываться на блога, пока пока.

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

    Четырех- и восьмиядерные процессоры. Производительность

    Сами термины «восьмиядерный» и « четырехъядерный» отражают число ядер центрального процессора.

    Но ключевое различие между этими двумя типами процессоров — по крайней мере по состоянию на 2015 год — состоит в способе установки процессорных ядер.

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

    Современные восьмиядерные чипы, в свою очередь, просто состоят из двух четырехъядерных процессоров, которые распределяют между собой различные задачи в зависимости от их типа. Чаще всего в восьмиядерном чипе присутствует набор из четырех ядер с более низкой тактовой частотой, чем во втором наборе. Когда требуется выполнить сложную задачу, за нее, разумеется, берется более быстрый процессор.

    Более точным термином, чем «восьмиядерный» стал бы «двойной четырехъядерный». Но это звучит не так красиво и не подходит для маркетинговых задач. Поэтому эти процессоры называют восьмиядерными.

    Зачем нужны два набора процессорных ядер?

    В чем причина сочетания двух наборов процессорных ядер, передающих задачи один другому, в одном устройстве? Для обеспечения энергоэффективности.

    Более мощный центральный процессор потребляет больше энергии и батарею приходится чаще заряжать. А аккумуляторные батареи намного более слабое звено смартфона, чем процессоры. В результате — чем более мощен процессор смартфона, тем более емкая батарея ему нужна.

    При этом для большинства задач смартфона вам не понадобится столь высокая вычислительная производительность, какую может обеспечить современный процессор. Перемещение между домашними экранами, проверка сообщений и даже веб-навигация — не столь требовательные к ресурсам процессора задачи.

    Но HD-видео, игры и работа с фотографиями такими задачами являются. Поэтому восьмиядерные процессоры достаточно практичны, хотя элегантным это решение назвать трудно. Более слабый процессор обрабатывает менее ресурсоемкие задачи. Более мощный — более ресурсоемкие. В итоге сокращается общее энергопотребление по сравнению с той ситуацией, когда обработкой всех задач занимался бы только процессор с высокой тактовой частотой. Таким образом, сдвоенный процессор прежде всего решает задачу повышения энергоэффективности, а не производительности.

    Технологические особенности

    Все современные восьмиядерные процессоры базируются на архитектуре ARM, так называемой big.LITTLE.

    Эта восьмиядерная архитектура big.LITTLE была анонсирована в октябре 2011 года и позволила четырем низкопроизводительным ядрам Cortex-A7 работать совместно с четырьмя высокопроизводительными ядрами Cortex-A15. ARM с тех пор ежегодно повторяла этот подход, предлагая более способные чипы для обоих наборов процессорных ядер восьмиядерного чипа.

    Некоторые из основных производителей чипов для мобильных устройств сосредоточили свои усилия на этом образце «восьмиядерности» big.LITTLE. Одним из первых и наиболее примечательных стал собственный чип компании Samsung, известный Exynos. Его восьмиядерная модель использовалась начиная с Samsung Galaxy S4, по крайней мере в некоторых версиях устройств компании.

    Сравнительно недавно Qualcomm также начала применение big.LITTLE в своих восьмиядерных чипах Snapdragon 810 CPU. Именно на этом процессоре базируются такие известные новинки рынка смартфонов, как и G Flex 2, ставший компании LG.

    В начале 2015 года NVIDIA представила Tegra X1, новый суперпроизводительный мобильный процессор, который компания предназначает для автомобильных компьютеров. Основной функцией X1 является его вызываемый консольно («console-challenging») графический процессор, который также основывается на архитектуре big.LITTLE. То есть он также станет восьмиядерным.

    Велика ли разница для обычного пользователя?

    Велика ли разница между четырех- и восьмиядерным процессором смартфона для обычного пользователя? Нет, на самом деле она очень мала, считает Йон Манди.

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

    Нужен ли восьмиядерный процессор в каждом современном смартфоне. Такой необходимости нет, полагает Йон Манди и приводит пример Apple, обеспечивающих достойную энергоэффективность своих iPhone при всего двухъядерном процессоре.

    Таким образом, восьмиядерная архитектура ARM big.LITTLE является одним из возможных решений одной из самых важных задач, касающихся смартфонов — времени работы от одной зарядки батареи. По мнению Йона Манди, как только найдется другое решение этой задачи, так и прекратится тренд установки в одном чипе двух четырехъядерных наборов, и подобные решения .

    Знаете ли вы другие преимущества восьмиядерных процессоров смартфонов?

    Я рассказал, почему рост частоты процессоров застопорился на нескольких гигагерцах. Теперь же поговорим о том, почему развитие числа ядер в пользовательских процессорах также идет крайне медленно: так, первый честный двухядерный процессор (где оба ядра были в одном кристалле), построенный на архитектуре x86, появился аж в 2006 году, 12 лет назад - это была линейка Intel Core Duo. И с тех пор 2-ядерные процессоры с арены не уходят, более того - активно развиваются: так, буквально на днях вышел ноутбук Lenovo с процессором, построенном на новейшем (для архитектуры x86) 10 нм техпроцессе. И да, как вы уже догадались, этот процессор имеет ровно 2 ядра.

    Для пользовательских процессоров число ядер застопорилось на 6 еще с 2010 года, с выходом линейки AMD Phenom X6 - да, AMD FX не были честными 8-ядерными процессорами (там было 4 APU), равно как и Ryzen 7 представляет собой два блока по 4 ядра, расположенные бок о бок на кристалле. И тут, разумеется, возникает вопрос - а почему так? Ведь те же видеокарты, будучи в 1995-6 годах по сути «одноголовыми» (то есть имевшими 1 шейдер), сумели к текущему времени нарастить их число до нескольких тысяч - так, в Nvidia Titan V их аж 5120! При этом за гораздо больший срок развития архитектуры x86 пользовательские процессоры остановились на честных 6 ядрах на кристалле, а CPU для высокопроизводительных ПК - на 18, то есть на пару порядков меньше, чем у видеокарт. Почему? Об этом и поговорим ниже.

    Архитектура CPU

    Изначально все процессоры Intel x86 строились на архитектуре CISC (Complex Instruction Set Computing, процессоры с полным набором инструкций) - то есть в них реализовано максимальное число инструкций «на все случаи жизни». С одной стороны, это здорово: так, в 90-ые годы CPU отвечал и за рендеринг картинки, и даже за звук (был такой лайфхак - если игра тормозит, то может помочь отключение в ней звука). И даже сейчас процессор является эдаким комбайном, который может все - и это же является и проблемой: распараллелить случайную задачу на несколько ядер - задача не тривиальная. Допустим, с двумя ядрами можно сделать просто: на одно ядро «вешаем» систему и все фоновые задачи, на другое - только приложение. Это сработает всегда, но вот прирост производительности будет далеко не двукратным, так как обычно фоновые процессы требуют существенно меньше ресурсов, чем текущая тяжелая задача.

    Слева - схема GPU Nvidia GTX 980 Ti, где видно 2816 CUDA-ядер, объединенных в кластеры. Справа - фотография кристалла процессора AMD Ryzen, где видно 4 больших ядра.

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

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

    Энергопотребление

    Одной из причин отказа от дальнейшей гонки частот - резкое увеличение энергопотребления. Как я уже объяснял в статье с замедлением роста частоты CPU, тепловыделение процессора пропорционально кубу частоты. Иными словами, если на частоте в 2 ГГц процессор выделяет 100 Вт тепла, что в принципе можно без проблем отвести воздушным кулером, то на 4 ГГц получится уже 800 Вт, что возможно отвести в лучшем случае испарительной камерой с жидким азотом (хотя тут следует учитывать, что формула все же приблизительная, да и в процессоре есть не только вычислительные ядра, но получить порядок цифр с ее помощью вполне можно).

    Поэтому рост вширь был отличным выходом: так, грубо говоря, двухядерный 2 ГГц процессор будет потреблять 200 Вт, а вот одноядерный 3 ГГц - почти 340, то есть выигрыш по тепловыделению больше чем на 50%, при этом в задачах с хорошей оптимизацией под многопоточность низкочастотный двухядерный CPU будет все же быстрее высокочастотного одноядерного.


    Пример испарительной камеры с жидким азотом для охлаждения экстремально разогнанных CPU.

    Казалось бы - это золотое дно, быстро делаем 10-ядерный процессор с частотой в 1 ГГц, который будет выделять лишь на 25% больше тепла, чем одноядерный CPU с 2 ГГц (если 2 ГГц процессор выделяет 100 Вт тепла, то 1 ГГц - всего 12.5 Вт, 10 ядер - около 125 Вт). Но тут мы быстро упираемся в то, что далеко не все задачи хорошо распараллеливаются, поэтому на практике зачастую будет получаться так, что гораздо более дешевый в производстве одноядерный CPU с 2 ГГц будет существенно быстрее гораздо более дорогого 10-ядерного, но с 1 ГГц. Но все же такие процессоры есть - в серверном сегменте, где проблем с распараллеливанием задач нет, и 40-60 ядерный CPU с частотами в 1.5 ГГц зачастую оказывается в разы быстрее 8-10 ядерных процессоров с частотами под 4 ГГц, выделяя при этом сравнимое количество тепла.

    Поэтому производителям CPU приходится следить за тем, чтобы при росте ядер не страдала однопоточная производительность, а с учетом того, что предел отвода тепла в обычном домашнем ПК был «нащупан» уже достаточно давно (это около 60-100 Вт) - способов увеличения числа ядер при такой же одноядерной производительности и таком же тепловыделении всего два: это или оптимизировать саму архитектуру процессора, увеличивая его производительность за такт, или же уменьшать техпроцесс. Но, увы, и то и другое идет все медленнее: за более чем 30 лет существования x86 процессоров «отполировано» уже почти все, что можно, поэтому прирост идет в лучшем случае 5% за поколение, а уменьшение техпроцесса дается все труднее из-за фундаментальных проблем создания корректно функционирующих транзисторов (при размерах в десяток нанометров уже начинают сказываться квантовые эффекты, трудно изготовить подходящий лазер, и т.д.) - поэтому, увы, увеличивать число ядер все сложнее.

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

    Если мы посмотрим на площадь кристаллов процессоров лет 15 назад, то увидим, что она составляет всего около 100-150 квадратных миллиметров. Около 5-7 лет назад чипы «доросли» до 300-400 кв мм и... процесс практически остановился. Почему? Все просто - во-первых, производить гигантские кристаллы очень сложно, из-за чего резко возрастает количество брака, а, значит, и конечная стоимость CPU.

    Во-вторых, возрастает хрупкость: большой кристалл может очень легко расколоть, к тому же разные его края могут греться по-разному, из-за чего опять же может произойти его физическое повреждение.


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

    Ну и в-третьих - скорость света также вносит свое ограничение: да, она хоть и велика, но не бесконечна, и с большими кристаллами это может вносить задержку, а то и вовсе сделать работу процессора невозможной.

    В итоге максимальный размер кристалла остановился где-то на 500 кв мм, и вряд ли уже будет расти - поэтому чтобы увеличивать число ядер, нужно уменьшать их размеры. Казалось бы - та же Nvidia или AMD смогли это сделать, и их GPU имеют тысячи шейдеров. Но тут следует понимать, что шейдеры полноценными ядрами не являются - к примеру, они не имеют собственного кэша, а только общий, плюс «заточка» под определенные задачи позволила «выкинуть» из них все лишнее, что опять же сказалось на их размере. А CPU же не только имеет полноценные ядра с собственным кэшем, но зачастую на этом же кристалле расположена и графика, и различные контроллеры - так что в итоге опять же чуть ли не единственные способы увеличения числа ядер при том же размере кристалла - это все та же оптимизация и все то же уменьшение техпроцесса, а они, как я уже писал, идут медленно.

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

    Представим, что у нас есть коллектив людей, выполняющих различные задачи, некоторые из которых требуют работы нескольких человек одновременно. Если людей в нем двое - они смогут договориться и эффективно работать. Четверо - уже сложнее, но тоже работа будет достаточно эффективной. А если людей 10, а то и 20? Тут уже нужно какое-то средство связи между ними, в противном случае в работе будут встречаться «перекосы», когда кто-то будет ничем не занят. В процессорах от Intel таким средством связи является кольцевая шина, которая связывает все ядра и позволяет им обмениваться информацией между собой.

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


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

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

    Так что в итоге, как видим, что наращивание частоты, что наращивание числа ядер - задача достаточно сложная, а игра при этом зачастую не стоит свеч. И в ближайшем будущем вряд ли что-то серьезно изменится, так как ничего лучше кремниевых кристаллов пока еще не придумали.

    Многие люди при покупке процессора стараются выбрать что-нибудь покруче, с несколькими ядрами и большой тактовой частотой. Но при этом мало кто знает, на что влияет количество ядер процессора в действительности. Почему, например, обычный и простенький двухъядерник может оказаться быстрее четырехядерника или тот же "проц" с 4 ядрами будет быстрее "проца" с 8 ядрами. Это довольно интересная тема, в которой определенно стоит разобраться более детально.

    Вступление

    Прежде чем начать разбираться, на что влияет количество ядер процессора, хотелось бы сделать небольшое отступление. Еще несколько лет назад разработчики ЦП были уверены в том, что технологии производства, которые так стремительно развиваются, позволят выпускать "камни" с тактовыми частотами до 10 Ггц, что позволит пользователям забыть о проблемах с плохой производительностью. Однако успех достигнут не был.

    Как бы ни развивался техпроцесс, что "Интел", что "АМД" уперлись в чисто физические ограничения, которые попросту не позволяли выпускать "процы" с тактовой частотой до 10 Ггц. Тогда и было принято решение сфокусироваться не на частотах, а на количестве ядер. Таким образом, началась новая гонка по производству более мощных и производительных процессорных "кристаллов", которая продолжается и по сей день, но уже не столь активно, как это было на первых порах.

    Процессоры Intel и AMD

    На сегодняшний день "Интел" и "АМД" являются прямыми конкурентами на рынке процессоров. Если посмотреть на выручку и продажи, то явное преимущество будет на стороне "синих", хотя в последнее время "красные" стараются не отставать. У обоих компаний имеется хороший ассортимент готовых решений на все случаи жизни - от простого процессора с 1-2 ядрами до настоящих монстров, у которых количество ядер переваливает за 8. Обычно подобные "камни" используются на специальных рабочих "компах", которые имеют узкую направленность.

    Intel

    Итак, на сегодняшний день у компании Intel успехом пользуются 5 видов процессоров: Celeron, Pentium, и i7. Каждый из этих "камней" имеет разное количество ядер и предназначенные для разных задач. Например, Celeron имеет всего 2 ядра и используется в основном на офисных и домашних компьютерах. Pentium, или, как его еще называют, "пенек", также используется в дому, но уже имеет гораздо лучшую производительность, в первую очередь за счет технологии Hyper-Threading, которая "добавляет" физическим двум ядрам еще два виртуальных ядра, которые называют потоками. Таким образом, двухъядерный "проц" работает как самый бюджетный четырехъядерник, хотя это не совсем корректно сказано, но основная суть именно в этом.

    Что же касается линейки Core, то тут примерно схожая ситуация. Младшая модель с цифрой 3 имеет 2 ядра и 2 потока. Линейка постарше - Core i5 - имеет уже полноценные 4 или 6 ядер, но лишена функции Hyper-Threading и дополнительных потоков не имеет, кроме как 4-6 стандартных. Ну и последнее - core i7 - это топовые процессоры, которые, как правило, имеют от 4 до 6 ядер и в два раза больше потоков, т. е., например, 4 ядра и 8 потоков или 6 ядер и 12 потоков.

    AMD

    Теперь стоит сказать про AMD. Список "камушков" от данной компании огромен, смысла перечислять все нет, поскольку большинство из моделей уже попросту устарели. Стоит, пожалуй, отметить новое поколение, которое в некотором смысле "копирует" "Интел" - Ryzen. В данной линейке также присутствуют модели с номерами 3, 5 и 7. Главное отличие от "синих" у Ryzen заключается в том, что самая младшая модель уже сразу предоставляет полноценные 4 ядра, а у старшей их не 6, а целых восемь. Кроме этого, и количество потоков меняется. Ryzen 3 - 4 потока, Ryzen 5 - 8-12 (в зависимости от кол-ва ядер - 4 или 6) и Ryzen 7 - 16 потоков.

    Стоит упомянуть и о еще одной линейке "красных" - FX, которая появилась в 2012 году, и, по сути, данная платформа уже считается устаревшей, но благодаря тому, что сейчас все больше и больше программ и игр начинает поддерживать многопоточность, линейка Vishera вновь обрела популярность, которая наряду с низкими ценами только растет.

    Ну а что касается споров касательно частоты процессора и количества ядер, то, по сути, правильнее смотреть в сторону второго, поскольку с тактовыми частотами уже давно все определились, и даже топовые модели от "Интел" работают на номинальных 2. 7, 2. 8, 3 Ггц. Помимо этого, частоту всегда можно поднять при помощи оверклокинга, но в случае с двухъядерником это не даст особого эффекта.

    Как узнать сколько ядер

    Если кто-то не знает, как определить количество ядер процессора, то сделать это можно легко и просто даже без скачивания и установки отдельных специальных программ. Достаточно лишь зайти в "Диспетчер устройств" и нажать на маленькую стрелочку рядом с пунктом "Процессоры".

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

    Преимущество двух ядер

    В чем может быть преимущество двухъядерного процессора? Много в чем, например, в играх или приложениях, при разработке которых основным приоритетом была однопоточная работа. Взять хотя бы для примера игру Wold of Tanks. Самые обычные двухъядерники типа Pentium или Celeron будут выдавать вполне приличный результат по производительности, в то время как какой-нибудь FX от AMD или INTEL Core задействуют гораздо больше своих возможностей, а итог будет примерно таким же.

    Чем лучше 4 ядра

    Чем 4 ядра могут быть лучше двух? Лучшей производительностью. Четырехъядерные "камни" рассчитаны уже на более серьезную работу, где простые "пеньки" или "селероны" попросту не справятся. Отличным примером тут послужит любая программа по работе с 3D-графикой, например 3Ds Max или Cinema4D.

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

    Конечно, можно взять и какой-нибудь бюджетный "процик" из семейства Core i3, например, модель 6100, но 2 ядра и 2 дополнительных потока все равно будут уступать полноценному четырехядернику.

    6 и 8 ядер

    Ну и последний сегмент многоядерников - процессоры с шестью и восемью ядрами. Их основное предназначение, в принципе, точно такое же, как и у ЦП выше, только вот нужны они там, где обычные "четверки" не справляются. Кроме этого, на базе "камней" с 6 и 8 ядрами строят полноценные профильные компьютеры, которые будут "заточены" под определенную деятельность, например, монтаж видео, 3Д-программы для моделирования, рендеринг готовых тяжелых сцен с большим количеством полигонов и объектов и т. д.

    Помимо этого, такие многоядерники очень хорошо себя показывают в работе с архиваторами или в приложениях, где нужны хорошие вычислительные возможности. В играх, которые оптимизированы под многопоточность, равных таких процессорам нет.

    На что влияет количество ядер процессора

    Итак, на что же еще может влиять количество ядер? В первую очередь на повышение энергопотребления. Да, как бы это ни прозвучало удивительно, но это так и есть. Особо переживать не стоит, потому как в повседневной жизни данная проблема, если можно так выразиться, заметна не будет.

    Второе - это нагрев. Чем больше ядер, тем лучше нужна система охлаждения. Поможет измерить температуру процессора программа, которая называется AIDA64. При запуске нужно нажать на "Компьютер", а затем выбрать "Датчики". Следить за температурой процессора нужно, потому как если он будет постоянно перегреваться или работать на слишком высоких температурах, то через какое-то время он просто сгорит.

    Двухъядерники незнакомы с такой проблемой, потому как не обладают слишком высокой производительностью и тепловыделением соответственно, а вот многоядерники - да. Самыми "горячими" считаются камни от AMD, особенно серии FX. Например, возьмем модель FX-6300. Температура процессора в программе AIDA64 находится в отметке около 40 градусов и это в режиме простоя. При нагрузке цифра будет расти и если случится перегрев, то комп выключится. Так что, покупая многоядерник, нужно не забывать о кулере.

    На что влияет количество ядер процессора еще? На многозадачность. Двухъядерные"процы" не смогут обеспечить стабильную производительность при работе в двух, трех и более программ одновременно. Самый простой пример - стримеры в интернете. Помимо того, что они играют в какую-нибудь игру на высоких настройках, у них параллельно запущена программа, которая позволяет транслировать игровой процесс в интернет в режиме онлайн, работает и интернет-браузер с несколькими открытыми страницами, где игрок, как правило, читает комментарии смотрящих его людей и следит за прочей информацией. Обеспечить должную стабильность может даже далеко не каждый многоядерник, не говоря уже о двух- и одноядерных процессорах.

    Также стоит сказать пару слов о том, что у многоядерных процессоров есть очень полезная вещь, которая называется "Кеш третьего уровня L3". Этот кеш имеет определенный объем памяти, в который постоянно записывается различная информация о запущенных программах, выполненных действиях и т. д. Нужно это все для того, чтобы увеличить скорость работы компьютера и его быстродействие. Например, если человек часто пользуется фотошопом, то эта информация сохранится в памяти каша, и время на запуск и открытие программы значительно сократиться.

    Подведение итогов

    Подводя итог разговора о том, на что влияет количество ядер процессора, можно прийти к одному простому выводу: если нужна хорошая производительность, быстродействие, многозадачность, работа в тяжелых приложениях, возможность комфортно играть в современные игры и т. д., то ваш выбор - процессор с четырьмя ядрами и больше. Если же нужен простенький "комп" для офиса или домашнего пользования, который будет использоваться по минимуму, то 2 ядра - это то что нужно. В любом случае, выбирая процессор, в первую очередь нужно проанализировать все свои потребности и задачи, и только после этого рассматривать какие-либо варианты.