Для чего нужны ядра процессора
Ядра процессора, их влияния и функции в ПК
Доброго времени суток, уважаемый посетитель. Сегодня поговорим о том, что такое ядра процессора и какую функцию они выполняют. Сразу хотим сказать, что не собираемся лезть в дебри, которые не каждый техногик осилит. Все будет доступно, понятно и непринужденно, а потому тащите бутеры.
Начать хочется с того, что процессор – центральный модуль в компьютере, который отвечает за все математические вычисления, логические операции и обработку данных. Фактически вся его мощь сосредоточена, как ни странно, в ядре. Их количество определяет скорость, интенсивность и качество переработки полученной информации. А потому рассмотрим компонент более пристально.
Основные характеристики ядер ЦП
Ядро – физический элемент процессора (не путать с логическими ядрами — потоками), который влияет на производительность системы в целом.
Каждое изделие построено на определенной архитектуре, что говорит об определенном наборе свойств и возможностей, присущих линейке выпускаемых чипов.
Основная отличительная особенность – техпроцесс, т.е. размер транзисторов, используемых в производстве чипа. Показатель измеряется в нанометрах. Именно транзисторы являются базой для ЦП: чем больше их размещено на кремниевой подложке – тем мощнее конкретный экземпляр чипа.
Возьмем к примеру 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 или занимаетесь стримингом.
Заключение
Резюмируя все написанное выше, можно сделать следующий вывод: количество ядер процессора — это характеристика, показывающая общую вычислительную мощность, а вот, каким образом она будет использоваться, зависит от приложения. Для игр вполне сгодится четырехъядерная модель, а для высокоресурсных программ лучше выбрать «камень» с большим количеством потоков.
Помимо этой статьи, на сайте еще 12556 инструкций.
Добавьте сайт 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 процессоры порой уступают немногопоточным собратьям? Дело в программной поддержке. Иногда плохо оптимизированные программы не могут отличать логический поток от настоящего ядра, из-за чего на одно ядро может попасть две тяжелых задачи и замедлить работу. Тем не менее, подобные технологии имеют огромный потенциал, главное — грамотно реализовать его на программном уровне.
Руководство: сколько ядер нужно процессору в вашем компьютере
Современные процессоры для ПК и ноутбуков имеют как минимум два ядра — одноядерные чипы выпускаются разве что для сверхкомпактных компьютеров, которые управляют всевозможной электроникой и не нуждаются даже в сравнтельно небольшой вычислительной мощности. Какой же процессор выбрать для офисного или домашнего ПК? Сколько ядер хватит для выполнения повседневных задач без заметных замедлений? Что такое Hyper Threading и bottlenecking? Постараемся ответить на все эти вопросы в нашей статье.
Краткие ответы и советы
Если вы подбираете процессор для компьютера, который будет выполнять обычную офисную работу, серфить в интернете и воспроизводить видео, хватит четырехъядерного чипа. Даже самые скромные Intel Core i3 и Ryzen 3 последних поколений — четырехъядерные. Конечно, можно выбрать совсем уж бюджетный Celeron или Athlon — в рамках этих линеек до сих выпускают сверхдешевые CPU, которые подойдут для ПК, исполняющего роль «печатной машинки». Но лучше все-таки обратить внимание на четырехъядерные варианты — с ними точно не будет никаких проблем.
Для домашнего ПК, который используется в том числе и для игр, оптимальный вариант в 2019 году — это шестиядерный процессор. Да, многие четырехъядерные CPU (особенно Core i5 и Core i7 с поддержкой Hyper Threading, о которой поговорим чуть дальше) вполне справятся с большинством современных игр благодаря достаточно высокой тактовой частоте, но лучше сделать хоть какой-то задел на будущее. Ну а восемь ядер — это и вовсе идеальный вариант, который позволит не беспокоиться о замене процессора (и материнской платы — это немаловажно!) еще несколько лет.
Рабочие станции, которые выполняют серьезные вычисления (3D-рендеринг, нейросети, кодирование видео, математика, профессиональная работа с фотографиями и так далее), обычно оснащаются так называемыми HEDT-процессорами (High-end Desktop). Каждое их ядро не так быстро, как ядра топовых процессоров для игровых ПК, но этих ядер обычно больше. Благодаря тому, что практически все профессиональные пакеты ПО отлично справляются с задачей распределения вычислений на процессоре с большим количеством ядер, итоговая производительность в этом случае выше.
В любом случае, при выборе конкретной модели нужно опираться не только на количество ее ядер, но и на результаты независимых тестов производительности — именно в тех задачах, в которых вы будете задействовать свой ПК.
Отдельно нужно рассказать о ноутбуках. Из-за ограничений, которые накладывают компактные корпусы, охладить компоненты которых далеко не так просто, как в полноценных корпусах настольных ПК, их процессоры заметно слабее и часто используют меньше ядер. Двухъядерные Core i3 в бюджетных рабочих лаптопах — это вполне нормально. Впрочем, в этом году в продаже начали появляться очень привлекательные модели с Ryzen, у которых довольно производительных ядер уже как минимум четыре.
Что такое ядро процессора?
Если не вдаваться в технические подробности, то количество ядер процессора означает то, сколько задач он может выполнять одновременно. Одноядерный процессоры, которые использовались много лет назад, для работы с несколькими программами очень быстро переключались между ними, что приводило к серьезным замедлениям.
В 2005 году все изменилось — именно тогда в продаже появились первые двухъядерные CPU AMD Athlon 64 x2 и Intel Pentium D. На протяжении следующих десяти лет эти компании начали выпускать четырех-, шести- и даже восьмиядерные модели. Не так давно AMD представила 24-ядерный Threadripper 3970X, предназначенный для серверов и высокопроизводительных рабочих станций, а в 2020 и вовсе собирается выпустить 64-ядерный CPU — Threadripper 3990WX.
Кстати, в сфере специализированных серверных процессоров уже есть и еще более впечатляющие экземпляры, чем 3970X — например, 32-ядерные AMD Epyc. Впрочем, устанавливать их в обычные ПК никакого смысла нет.
Что ж, прямая зависимость скорости работы профессионального ПО от количества ядер процессора очевидна. А что насчет игр?
Производительность одного и нескольких ядер в играх
Когда самыми распространенными были одноядерные процессоры, игры разрабатывались именно для них — они никак не использовали мощь дополнительных ядер, и покупать многоядерные CPU ради увеличения производительности было незачем. Но эти времена давно в прошлом.
Взрывная популярность двух- и четырехъядерных процессоров позволила разработчикам игр эффективно разделить вычислительные процессы и добиться куда более интересных результатов, чем раньше. Стоит отметить, что очень важную роль в этом процессе сыграли консоли — в 2013 Microsoft и Sony выпустили Xbox One и PlayStation 4, которые используют восьмиядерные чипсеты AMD. Вскоре после этого четырехъядерные процессоры стали «золотым стандартом» на ПК, а топовые восьмиядерные — идеальным выбором геймеров.
Впрочем, мощность каждого из ядер до сих пор остается более важной, чем их количество. Достаточно взглянуть на результаты внутриигровых тестов флагманских Intel Core i9-9900K и AMD Ryzen 9 3950X — хоть у последнего и вдвое больше ядер, первый немного выигрывает за счет их прозводительности.
Таким образом, если вы хотите любой ценой получить самый мощный игровой ПК, в данный момент лучшим выбором является платформа Intel. С другой стороны, AMD предлагает куда более сбалансированные процессоры, которые отлично себя показывают во всех задачах (в играх они уступают совсем немного) и стоят заметно дешевле.
Если же вы хотите собрать не слишком дорогой компьютер, то стоит обратить внимание на шестиядерные CPU — например, Intel Core i5-9600K и AMD Ryzen 5 3600X.
Ну и, конечно, не стоит думать, что четырехъядерные процессоры совсем для игр не годятся — это вполне себе бюджетный вариант, который прослужит еще пару лет. Но и только — не стоит ждать от них хорошей производительности в играх, которые будут выпускать для консолей следующего поколения.
Если же говорить о CPU с восемью ядрами и более, они используются в дорогих ПК, но только в связке с достаточно мощной видеокартой. Нет никакого смысла в сочетании i9-9900K и GeForce GTX 1660 — для него понадобится что-то уровня хотя бы RTX 2070.
Отдельно нужно сказать о стриминге и записи видео во время игр. Если вы хотите заниматься этими вещами и стать новым Shroud или хотя бы Lirik, то в идеале вам понадобится отдельный ПК с мощным восьмиядерным CPU для кодирования видео в реальном времени. Если возможности купить второй дорогой компьютер нет, нужно выбирать CPU с восемью или более ядрами для первого — ему придется одновременно работать и с игрой, и с программой для стриминга / записи, а это необыкновенно сложная комбинация (впрочем, многое зависит от выбранной игры — если она совсем не «прожорлива» по отношению к CPU, может хватить и четырех ядер).
Физические и логические ядра CPU
Стоит поговорить о важном различии между физическими и логическими ядрами. Технологии Intel Hyper-threading и AMD Simultaneous Multithreading позволяют каждому ядру современных процессоров (по крайней мере, более-менее дорогих) одновременно работать с двумя потоками данных. Таким образом, поддержка HT и SMT означает удваивание количества ядер — например, с четырех физических до восьми логических.
Пригодится ли эта функция в играх и «тяжелом» ПО? Ответ однозначен: еще как!
SMT поддерживается большей частью процессоров, которые выпускает AMD — даже недорогими Ryzen 5. В случае с Intel поддержка HT есть только у топовых Core i7 и Core i9.
В 3D-ренедринге, кодировании видео, обработке задач, связанных с нейросетями и так далее дополнительные вычислительные потоки выгодны всегда. В играх они тоже практически всегда дают прирост производительности, но его далеко не во всех случаях можно назвать существенным — все опять-таки зависит от разработчиков и их способностей к оптимизации.
Bottlenecking — «узкое место»
Это очень важный термин, который нужно понимать, если вы хотите собрать сбалансированный ПК для игр. Если говорить кратко, то при неправильном подборе компонентов (в частности, процессора и видеокарты) один из них при полной загрузке будет работать «впустую» — другие просто не будут справляться с потоком готовых данных, которые он посылает дял дальнейшей обработки.
В качестве примера можно привести уже упомянутую выше воображаемую систему с CPU Core i9-9900K и GPU GeForce GTX 1660. Первый будет регулярно «простаивать» из-за того, что GTX 1660 — это среднебюджетная модель, предназначенная для недорогих компьютеров. Таким образом, в этом случае тратить лишние деньги на Core i9 было незачем (отметим, однако, что в большинстве случаев это касается только игр).
Точный совет тут дать сложно, но старайтесь подбирать к бюджетным процессорам бюджетные видеокарты, а к дорогим — дорогие. Скажем, AMD Ryzen 3 и Intel Core i3 хорошо покажут себя в GPU вроде AMD Radeon RX 570 или Nvidia GeForce GTX 1650, Ryzen 5 и Core i5 — с Radeon RX 5700 и RTX 2060, Ryzen 7 и Core i7 — с RTX 2080, а Ryzen 9 и Core i9 — с RTX 2080 Ti, Titan или даже двумя мощными GPU одновременно.
Заключение
Итак, простой и быстрый ответ на вопрос, заданный в заголовке статьи, дать можно, но лучше разобраться в вопросе более внимательно.
Еще несколько лет назад двухъядерные процессоры можно было назвать удовлетворительными, но к 2019 они остались уделом сверхбюджетных офисных ПК. Совсем скоро в таком же положении окажутся четырехъядерные модели без поддержки Hyper-threading и Simultaneous Multithreading.
Если вам нужен недорогой компьютер для обычной офисной работы или игр, выбирайте четыреъядерные CPU. Если хотите оптимальную производительность в играх, остановитесь на какой-нибудь из шестиядерных моделей. Если же нужна высокая производительность (что в играх, что в «тяжелых» пакетах ПО для серьезной работы со сложными вычислениями), покупайте процессор с восемью ядрами или более.