что значит количество ядер в процессоре
Ядра процессора, их влияния и функции в ПК
Доброго времени суток, уважаемый посетитель. Сегодня поговорим о том, что такое ядра процессора и какую функцию они выполняют. Сразу хотим сказать, что не собираемся лезть в дебри, которые не каждый техногик осилит. Все будет доступно, понятно и непринужденно, а потому тащите бутеры.
Начать хочется с того, что процессор – центральный модуль в компьютере, который отвечает за все математические вычисления, логические операции и обработку данных. Фактически вся его мощь сосредоточена, как ни странно, в ядре. Их количество определяет скорость, интенсивность и качество переработки полученной информации. А потому рассмотрим компонент более пристально.
Основные характеристики ядер ЦП
Ядро – физический элемент процессора (не путать с логическими ядрами — потоками), который влияет на производительность системы в целом.
Каждое изделие построено на определенной архитектуре, что говорит об определенном наборе свойств и возможностей, присущих линейке выпускаемых чипов.
Основная отличительная особенность – техпроцесс, т.е. размер транзисторов, используемых в производстве чипа. Показатель измеряется в нанометрах. Именно транзисторы являются базой для ЦП: чем больше их размещено на кремниевой подложке – тем мощнее конкретный экземпляр чипа.
Возьмем к примеру 2 модели устройств от Intel – Core i7 2600k и Core i7 7700k. Оба имеют 4 ядра в процессоре, однако техпроцесс существенно отличается: 32 нм против 14 нм соответственно при одинаковой площади кристалла. На что это влияет? У последнего можно наблюдать такие показатели:
Иными словами, снижение техпроцесса = рост производительности. Это аксиома.
Функции ядер
Центральное ядро процессора выполняет 2 основных типа задач:
В первую категорию стоит отнести задачи по организации вычислений, загрузке интернет-страниц и обработке прерываний.
Во вторую же попадают функции поддержки приложений путем использования программной среды. Собственно, прикладное программирование как раз и построено на том, чтобы нагрузить ЦП задачами, которые он будет выполнять. Цель разработчика – настроить приоритеты выполнения той или иной процедуры.
Современные ОС позволяют грамотно задействовать все ядра процессора, что дает максимальную продуктивность системы. Из этого стоит отметить банальный, но логичный факт: чем больше физических ядер на процессоре, тем быстрее и стабильней будет работать ваш ПК.
Как включить все ядра в работу
Некоторые пользователи в погоне за максимальной производительностью хотят задействовать всю вычислительную мощь ЦП. Для этого существует несколько способов, которые можно использовать по отдельности, или объединить несколько пунктов:
Самый простой метод запустить сразу все активные ядра, выглядит следующим образом:
Как в Windows 10 включить все ядра?
Теперь при запуске ОС Windows будут работать сразу все вычислительные физические ядра (не путать с потоками).
Обладателям старых процессоров AMD
Следующая информация будет полезна обладателям старых процессоров AMD. Если вы до сих пользуетесь следующими чипами, то будете приятно удивлены:Технология разблокировки дополнительных ядер называется ACC (Advanced Clock Calibration). Она поддерживается в следующих чипсетах:
Утилита, позволяющая раскрыть дополнительные ядра у каждого производителя называется по-разному:
Таким несложным способом можно превратить 2-ядерную систему в 4-ядерную. Большинство из вас даже не догадывались о подобном, верно? Будем надеяться, что я вам помог бесплатно добиться повышения производительности.
В данной статье я попытался вам максимально подробно объяснить, что такое ядро, из чего оно состоит, какие функции выполняет и каким потенциалом обладает.
В следующих ликбезах вас ждет еще много интересного, а потому не пропускайте новый материал. Пока, пока.
Влияние количества ядер на производительность процессора
Ядра центрального процессора
Ядро – это основная составляющая ЦП. Именно здесь производятся все операции и вычисления. Если ядер несколько, то они «общаются» между собой и с другими компонентами системы посредством шины данных. Количество таких «кирпичиков», в зависимости от поставленной задачи, влияет на общую производительность процессора. В целом, чем их больше, тем выше скорость обработки информации, но на деле имеются условия, при которых многоядерные CPU уступают своим менее «упакованным» собратьям.
Физические и логические ядра
Многие процессоры Intel, а с недавнего времени и AMD, способны производить расчеты так, что одно физическое ядро оперирует двумя потоками вычислений. Эти потоки называются логическими ядрами. Например, мы можем увидеть в CPU-Z вот такие характеристики:
Отвечает за это технология Hyper Threading (HT) у Intel или Simultaneous Multithreading (SMT) у AMD. Здесь важно понять, что добавленное логическое ядро будет медленнее физического, то есть полноценный четырехъядерный ЦП мощнее двухъядерного того же поколения с HT или SMT в одних и тех же приложениях.
Игровые приложения построены таким образом, что вместе с видеокартой над расчетом мира трудится и центральный процессор. Чем сложнее физика объектов, чем их больше, тем выше нагрузка, и более мощный «камень» лучше справится с работой. Но не стоит спешить покупать многоядерного монстра, так как игры бывают разные.
Старые проекты, разработанные примерно до 2015 года, в основном не могут загрузить больше 1 – 2 ядер из-за особенностей кода, написанного разработчиками. В этом случае предпочтительнее иметь двухъядерный процессор с высокой частотой, чем восьмиядерный с низкими мегагерцами. Это лишь пример, на практике современные многоядерные ЦП имеют довольно высокую производительность на ядро и в устаревших играх работают хорошо.
Одной из первых игр, код которой способен выполняться на нескольких (4 и более) ядрах, загружая их равномерно, стала GTA 5, выпущенная на ПК в 2015 году. С тех пор большинство проектов можно считать многопоточными. Это значит, что у многоядерного процессора есть шанс не отстать от своего высокочастотного коллеги.
В зависимости от того, насколько хорошо игра способна использовать вычислительные потоки, многоядерность может быть как плюсом, так и минусом. На момент написания данного материала «игровыми» можно считать CPU, имеющие от 4 ядер, лучше с гиперпоточностью (см. выше). Впрочем, тенденция такова, что разработчики все более оптимизируют код под параллельные вычисления, и малоядерные модели скоро безнадежно устареют.
Программы
Здесь все немного проще, чем с играми, так как мы можем подобрать «камень» для работы в конкретной программе или пакете. Рабочие приложения также бывают однопоточными и многопоточными. Первым нужна высокая производительность на ядро, а вторым большое количество вычислительных потоков. Например, с рендерингом видео или 3D сцен лучше справится многоядерный «проц», а Фотошопу необходимо 1 – 2 мощных ядра.
Операционная система
Количество ядер влияет на быстродействие ОС только в том случае, если равняется 1. В остальных случаях системные процессы не нагружают процессор настолько, чтобы были задействованы все ресурсы. Мы сейчас не говорим о вирусах или сбоях, способных «положить на лопатки» любой «камень», а о штатной работе. Впрочем, вместе с системой может быть запущено много фоновых программ, которые также потребляют процессорное время и дополнительные ядра не будут лишними.
Универсальные решения
Сразу отметим, что многозадачных процессоров не бывает. Есть только модели, способные показывать неплохие результаты во всех приложениях. В качестве примера можно привести шестиядерные CPU с высокой частотой i7 8700, Ryzen R5 2600 (1600) или более пожилые аналогичные «камни», но даже они не могут претендовать на универсальность, если вы параллельно с играми активно работаете с видео и 3D или занимаетесь стримингом.
Заключение
Резюмируя все написанное выше, можно сделать следующий вывод: количество ядер процессора — это характеристика, показывающая общую вычислительную мощность, а вот, каким образом она будет использоваться, зависит от приложения. Для игр вполне сгодится четырехъядерная модель, а для высокоресурсных программ лучше выбрать «камень» с большим количеством потоков.
Помимо этой статьи, на сайте еще 12473 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Технологии многопоточности процессоров: принцип работы и сферы применения
Содержание
Содержание
Физические ядра, логические ядра, технологии многопоточности — все это разрабатывалось инженерами для увеличения производительности компьютерного железа, требования к которому постоянно растут. Программы и игры требуют все больше ресурсов. Как же производители процессоров увеличивают мощность своих детищ? Процессор является «сердцем» компьютера и выполняет вычисления, необходимые для работы софта. Модели CPU отличаются между собой даже в рамках одного семейства. Например, Intel Core i7 отличается от i5 технологией многопоточности под названием «Hyper-Threading», о которой далее пойдет речь (Core i3, i9, и некоторые Pentium также обладают данной технологией).
Принцип работы процессорных ядер и многопоточности
В современных операционных системах одновременно работает множество процессов.
Нагрузка от операционной системы на процессор идет по так называемому конвейеру, на который «выкладываются» нужные задачи для ядра. В качестве примера возьмем одно ядро процессора на частоте 4 ГГц с одним ALU (арифметико-логическое устройство) и одним FPU (математический сопроцеесор). Частота в 4 ГГц означает, что ядро исполняет 4 миллиарда тактов в секунду. К ядру по конвейеру поступают задачи, требующие исполнительной мощности, на которые тратится процессорное время.
Часто происходят случаи, когда для выполнения необходимой операции процессору приходится ждать данные из кеша более низкой скорости (L3 кеш), или же оперативной памяти. Данная ситуация называется кэш-промах. Это происходит, когда в кэше ядра не была найдена запрошенная информация и приходится обращаться к более медленной памяти. Также существуют и другие причины, заставляющие прерывать выполнение операции ядром, что негативно сказывается на производительности.
Данный конвейер можно представить, как настоящую сборочную линию на заводе — рабочий (ядро) выполняет работу, поступающую к нему на ленту. И если необходимо взять нужный инструмент, работник отходит, оставляя конвейер простаивать без работы. То есть, исполняемая задача прерывается. Инструментом, за которым пошел рабочий, в данном случае является информация из оперативной памяти или же L3 кэша. Поскольку L1 и L2 кэш намного быстрее, чем любая другая память в компьютере, работа с вычислениями теряет в скорости.
На конвейере с одним потоком не могут выполняться одновременно несколько процессов. Ядро постоянно прерывает выполнение одной операции для другой, более приоритетной. Если появятся две одинаково приоритетные задачи, одна из них обязательно будет остановлена, ведь ядро не сможет работать над ними одновременно. И чем больше поступает задач одновременно, тем больше прерываний происходит.
Способы увеличения производительности процессоров
Разгон
При увеличении частоты ядра повышается количество исполняемых операций за секунду. Казалось бы, с возрастанием производительности процессора проблемы должны исчезнуть. Но все не так просто, как хотелось бы думать. Прирост от увеличения частоты ЦП нелинейный. Множество процессов все еще делят одно ядро между собой и обращаются к памяти. Кроме того, не решается проблема с кэш-промахами и прерываниями операций, поскольку объем кэша от разгона не изменяется. Разгон — не самый лучший способ решения проблемы нехватки потоков. В пример можно привести всю ту же сборочную линию: рабочий увеличивает темп работы, но по-прежнему не умеет собирать два и более заказа одновременно.
Увеличение количества потоков на ядро
В процессорах Intel данная технология носит название Hyper-Threading, а в процессорах от Amd — SMT. Производители добавляют еще один регистр для работы со вторым конвейером. Пока один поток простаивает, ожидая нужные данные, свободная вычислительная мощность может быть использована вторым потоком. На кристалл же добавлен еще один контроллер прерываний и набор регистров.
Появляется возможность избавиться от последствий прерывания операций и сокращения времени простоя процессорной мощности. Благодаря чему ядро с двумя потоками выполняет больше работы за одинаковый отрезок времени, нежели в случае с однопотоком. На примере с рабочим: у конвейера появляется вторая сборочная линия, на которую выкладываются заказы. Пока производство на первой ленте простаивает в ожидании нужных инструментов, рабочий приступает к работе на второй ленте, сокращая время перерыва.
Стоит учитывать, что логический поток это не второе ядро, как может показаться с первого взгляда. Это лишь дополнительная «линия производства», чтобы более эффективно использовать доступную мощность. Из минусов технологии Hyper-Threading или SMT можно выделить увеличение тепловыделения, недостаток кэша (кэш на два потока по-прежнему общий), и проблемы с оптимизацией некоторых программ или игр, не способных отличать настоящее ядро от логического потока.
Именно по этой причине процессоры серии i7 «горячее» и имеют больше кэша по сравнению с i5. Использование технологии многопоточности может принести примерно до 30 % прироста производительности. Все это применимо как к Intel Hyper-Threading, так и к AMD SMT, поскольку технологии во многом схожи. Может возникнуть вопрос: «Если можно добавить второй поток, то почему бы не добавить третий и четвертый?» Это реализуемо, но не имеет смысла, поскольку кэш одного ядра достаточно мал для большего количества потоков и прироста производительности практически не будет.
Увеличение количества ядер
Это самый действенный способ решения проблемы, поскольку каждый конвейер теперь располагает своим FPU, ALU и кэшем, который не придется делить с другим потоком. Разные процессы используют разные ядра, из-за чего реже происходят кэш-промахи и конфликты приоритетных задач. Способ, разумеется, несет в себе некоторые издержки для производителей: дороговизна разработки и производства, увеличение тепловыделения и размера кристалла, и, как результат, повышается итоговая стоимость процессора.
Сферы применения многопоточных процессоров
С развитием компьютерных технологий перечень программ, использующих многопоточность, неуклонно растет. Это дает огромный простор разработчикам для создания нового софта и игр. Например, сейчас каждый современный triple-A проект оптимизирован для многопоточных процессоров, что позволяет наслаждаться игрой, получая высокий уровень fps на многоядерном CPU.
Еще больше распространены многоядерные системы в среде разработчиков. Программы для 3D-моделирования, монтажа видео и создания музыки требуют параллельного выполнения большого количества задач, с чем хорошо справляются системы с Hyper-Threading или SMT. В операционных системах мощность одного потока может тратиться на фоновые задачи (Skype, браузер, мессенджер), в то время как остальные задействуются для тяжелой игры или программы.
Но далеко не всегда увеличение количества потоков означает увеличение общей производительности. Почему же SMT процессоры порой уступают немногопоточным собратьям? Дело в программной поддержке. Иногда плохо оптимизированные программы не могут отличать логический поток от настоящего ядра, из-за чего на одно ядро может попасть две тяжелых задачи и замедлить работу. Тем не менее, подобные технологии имеют огромный потенциал, главное — грамотно реализовать его на программном уровне.
Сколько ядер и потоков процессора нужно для игр в 2020 году
Содержание
Содержание
Четырьмя ядрами процессора уже давно никого не удивить, в последние время количество ядер и потоков в предлагаемых для настольного ПК центральных процессорах растёт с каждым годом. Поколение консолей с x86 архитектурой и 8 ядрами на борту уже готово смениться на следующее. Сколько же ядер нужно для игр прямо сейчас и в ближайшем будущем?
Методика тестирования
В идеальных условиях необходимо взять многоядерный процессор и протестировать все варианты отключения ядер. При этом надо сохранить идентичность внутренних взаимодействий и размер кеша. С другой стороны, такое исследование несет меньше пользы в реальном применении — размер кеша является одним из инструментов в разделении линеек. Поэтому многоядерные решения имеют большой размер кеша, а самые младшие процессоры в несколько раз меньше заветных МБ в L3.
Выявлять зависимость игр от количества ядер и потоков центрального процессора будем на двенадцатиядерном Ryzen 9 3900X.
Для каждой конфигурации подберу оптимальную на мой взгляд комбинацию активных ядер и CCD-чиплетов. Напомню, что процессоры AMD на архитектуре Zen2 состоят из нескольких кристаллов: I/O-чиплет с контроллерами интерфейсов и CCD-чиплеты с ядрами. Каждый CCD-чиплет представляет собой блок из двух CCX, содержащих в максимальной конфигурации 4 ядра и 16 МБ кеша третьего уровня. В Ryzen 9 3900X каждый CCX модуль оснащен тремя ядрами и 16 МБ кеша L3. CCD-чиплет может работать либо с равным количеством активных ядер на каждом из его CCX, либо только с одним активным CCX — это накладывает ограничение на итоговые комбинации для тестирования.
Активных CCD | Конфигурация CCD | 32 | 2 |
1 | 2+0 | 16 | 2 |
1 | 3+0 | 16 | 3 |
1 | 2+2 | 32 | 4 |
1 | 3+3 | 32 | 6 |
2 | 1+1 | 64 | 4 |
2 | 2+0 | 32 | 4 |
2 | 3+0 | 32 | 6 |
2 | 2+2 | 64 | 8 |
2 | 3+3 | 64 | 12 |
В таблице выше указаны все возможные для Ryzen 9 3900X конфигурации ядер, жирным выделены компромиссно выбранные для тестирования варианты — с максимальным кешем для 8 и 12 ядер и одинаковым половинным для всех остальных вариантов от 2 до 6 ядер.
Вариант с 3 ядрами исключил по причине отсутствия таковых в продаже и слишком малого для игр количества ядер, 2 ядра без SMT (технология использования одного физического ядра для создания двух логических, аналогично Hyper Threading у Intel) не включены в тест из-за неактуальности таких процессоров в настоящее время.
В CPU-Z соревнующиеся варианты с включенным SMT выглядят так:
CCD-чиплеты в процессоре не одинаковы по частотному потенциалу: один является более удачным и используется для достижения максимальных частот буста, второй — с меньшими возможными частотами на тех же напряжениях. Для чистоты эксперимента все ядра зафиксируем на одинаковой частоте — 4350 МГц.
Остальной тестовый стенд выглядит так:
Настройки таймингов оперативной памяти выставлены в режим высокой производительности.
Для улучшения читаемости текста обозначу каждый вариант конфигурации процессора комбинацией двух чисел, например 4-8, где первая указывает на количество активных физических ядер, вторая — общее количество потоков.
Производительность в играх буду измерять в трех параметрах: AVG — среднее значение ФПС на тестируемом отрезке, 1 % — среднее значение 1 % меньших ФПС и 0,1 % — среднее значение 0,1 % меньших ФПС. Из этих трех показателей самым интересным, пожалуй, является 1 % — основываясь на этом значении, можно составить представление о плавности и комфортности геймплея.
Тесты
Настройки в играх буду подбирать для облегчения нагрузки на видеокарту, но сохраняя сложность построения сцены для процессора.
В качестве отправной точки для сравнения буду использовать вариант с 4 физическими ядрами без использования многопоточности SMT.
3D Mark Time Spy CPU Test
Первой дисциплиной будет синтетический CPU тест игровой производительности из пакета 3D Mark.
Как и полагается искусственно созданной нагрузке с оптимизациями под многопоток — результат растет почти линейно вместе с количеством ядер и потоков.
Из интересных результатов — преимущество 6 физических ядер над 4 с включенным SMT, и 6-12 конфигурации над 8-8. Для процессоров Intel результат был бы похожим, за исключением почти идентичных результатов 6-12 и 8-8, Hyper Threading в среднем менее эффективен, чем SMT у AMD. Примечательность сравнения этих комбинаций ядер-потоков в прямой конкуренции реальных процессоров в игровых сборках.
Assassin’s Creed Odyssey
Первый игровой проект и сразу один из самых процессорозависимых. Полностью избавиться от влияния видеокарты на результат не удалось, но и в таких условиях сравнение возможно.
Вопреки полученным выше результатам синтетического теста 3D Mark, восьмипоточный вариант 4-8 оказался производительнее 6-6, а 8-8 — быстрее 6-12. Реальное положение дел отличается от теоретических вычислительных возможностей.
Любой вариант с восемью потоками и больше, особенно начиная с шести ядер, показывает почти максимальную производительность. Очевидна оптимизация игры именно под 8 потоков, и дальнейшее их наращивание не приносит заметного увеличения количества кадров в секунду.
Четыре ядра без SMT показывают достаточный для одиночной игры уровень ФПС, но сильно отстают от более оснащенных конфигураций. Вариант 2-4 подойдет только для совсем непритязательных игроков.
Far Cry 5
Far Cry не является игрой, сильно зависящей от количества потоков процессора, но протестировать такие проекты тоже необходимо.
Скриншоты с мониторингом параметров системы в вариантах 4-4 и 12-12 показывают отсутствие влияния видеокарты на результат теста, загрузка мощностей видеокарты не более 60 %.
Даже два ядра с включенным SMT показывают достойный уровень производительности во встроенном тесте, а 4-4 уже вплотную подбирается к максимально возможным для 3900Х на частоте 4,35 ГГц результатам. Классическая четырехпоточная игра.
Интересной особенностью Far Cry 5 является странная работа с процессорами без технологий логической многопоточности, причем это касается и процессоров AMD, и Intel. Статтеры в вариантах 6-6 и 8-8 роняют значение 0,1 % ФПС очень сильно и отражаются на комфорте игрового процесса для придирчивых игроков. При этом 4-4 и 12-12 конфигурации лишены таких проблем — для четырех ядер это верно и для процессоров Intel, 12 проверить не удалось.
Вот так огрехи оптимизации игры могут снизить итоговый ФПС при увеличении количества ядер и вычислительной мощности процессора.
PlayerUnknown’s Battlegrounds
PUBG уже не так популярен, как в былые времена, но все еще подходит под определение онлайн игры с большим количеством участников. В качестве тестового использовался отрезок повтора с двухминутным проездом на транспорте мимо активных боевых действий и красной зоны.
Скриншот мониторинга для варианта 4-4.
Конфигурации до 6-6 показывают приличный средний уровень ФПС, но мощности процессора явно не хватает — 1 % ниже 60 кадров в секунду уже нельзя назвать комфортным для сетевого шутера. 4-8 претендует на роль минимально приемлемого варианта.
World of Tanks enCore RT
WoT — яркий пример малопоточной онлайн игры, результаты в отдельном бенчмарке трудно считать реальным тестированием именно этого онлайн проекта, но вполне показательно в разрезе аналогичных игр, не требовательных к процессору.
Скриншот тестирования 8-16 варианта, количество кадров, подготавливаемых процессором, очень высоко: даже 720p не выручает — загрузка видеокарты более 80 %.
Любая из тестируемых конфигураций процессора показывает запредельный уровень ФПС. Начиная с 4-8, производительность достигает максимума и уже не меняется с ростом числа ядер и потоков.
Четырех ядер без SMT вполне достаточно для этой и подобных игр.
Red Dead Redemption 2
Вышедший на ПК эпичный вестерн доставляет больше проблем видеокарте, но и для процессора работа найдется, проект будет представлять портированные с приставок на настольный компьютер игры.
Скриншоты мониторинга вариантов 2-4 и 12-12, загрузка видеокарты велика для любого производительного варианта, но в этой игре это не мешает выявить разницу производительности процессоров.
Заметна оптимизация игры именно под 8 потоков: варианты 4-8 и 8-8 самые производительные. Примечательно, что даже 2-4 конфигурация позволит окунуться в атмосферу дикого запада с комфортом, если мощности видеокарты позволят.
Wolfenstein: Youngblood
Wolfenstein попал в сравнение как современная, хорошо оптимизированная игра.
Скриншот теста максимальной конфигурации 12-24 с мониторингом, избавиться от влияния видеокарты на результат не удалось, RTX 2080 Super оказалось недостаточно.
Все протестированные комбинации показывают отличные результаты, 4-4 не выглядит сильно отстающим.
Внимание привлекает отличная оптимизация игры под многопоточные процессоры — результаты в целом очень похожи на синтетический тест 3D Mark, 6-12 быстрее 8-8. С более мощной видеокартой рост производительности возможно сохранился бы и выше 8-16 варианта.
Итоги
Тенденция на увеличение ядер процессора в среднем ПК не обошла и игровую индустрию, многие проекты уже сейчас содержат оптимизации под многопоточные варианты. Переход приставок на x86 архитектуру, несомненно, тоже повлиял на этот процесс.
Можно с уверенностью сказать, что эра четырехядерных игровых процессоров подходит к концу, но прямо сейчас их производительности еще достаточно для относительно комфортного времяпрепровождения за любой игрой.
Естественно, главным ограничителем уровня кадров в секунду как и прежде является видеокарта, но, имея производительный шестиядерный процессор, уже можно рассчитывать на высокий ФПС в большинстве игр. А, начиная с 6-12 конфигураций, прирост кадров в секунду от увеличения потоков почти отсутствует.
Именно шесть ядер и двенадцать потоков скорее всего станут ориентиром для разработчиков игр в ближайшее время, но не стоит забывать о консолях с их восьмиядрной начинкой.