Количество ядер на что влияет: На что влияет число ядер CPU? Объясняем по-простому

На что влияет число ядер CPU? Объясняем по-простому

Какой процессор лучше — с более высокой тактовой частотой или с большим количеством ядер? Не всегда все однозначно…

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

Так что же дает наличие нескольких ядер? Во-первых, вся основная нагрузка системы распределяется между несколькими «вычислительными центрами». Благодаря этому ваш ноутбук или ПК реже оказывается полностью перегруженным и не «замирает» так часто, как мог бы с одноядерным процессором. CPU с несколькими ядрами могут повышать тактовую частоту и, как следствие, производительность компьютера. Однако, на практике увеличение мощности сильно зависит от того, какая программа выполняется и какая при этом используется операционная система. Сам по себе принцип работает только в том случае, если вы используете ПО, поддерживающее многопоточность обработки данных, то есть особенно требовательное к ресурсам системы.

Например, Intel Core i5-4570S имеет в целом 4 физических CPU-ядра и может работать на тактовой частоте до 3,6 ГГц. Другая модель этого же производителя, Intel Core i3-7350K располагает всего двумя физическими ядрами, но тактовая частота у него достигает отметки в 4,2 ГГц. Расчеты вида 4 (ядра) * 3,6 ГГц = 14,4 ГГц здесь не подходят: i5-4570S по результатам наших тестовых испытаний оказался значительно хуже и менее эффективным, чем i3-7350K. Несмотря ни на что вы должны покупать только те процессоры, которые имеют минимум 2 ядра или больше. Делать ли выбор в пользу большего количества ядер или подыскивать процессор с более высокой тактовой частотой, зависит от того, как вы собираетесь использовать свой компьютер.

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

Читайте также:

Intel представила процессоры Intel Core восьмого поколения

Как тестирует CHIP: центральные процессоры

Теги

процессоры

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

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

Что такое центральный процессор?

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

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

Процессор иногда называют мозгом компьютера. Он расположен на материнской плате (также называемой основной платой) и является отдельным компонентом от компонента памяти.

Он действует на компонент памяти, который хранит все данные и информацию в вашей системе. Компонент памяти и процессор отделены от вашей видеокарты. Единственная функция видеокарты состоит в том, чтобы получать данные и преобразовывать их в изображения, которые вы видите на мониторе.

С развитием технологий из года в год, мы видим, что процессоры становятся все меньше и меньше. И они работают быстрее, чем когда-либо прежде. Вы поймете что значит быстрее, если узнаете кое-что о законе Мура, который получил свое название от соучредителя Intel Гордона Мура. Мур считает, что число транзисторов в интегральной схеме удваивается каждые два года.

Что делает процессор?

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

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

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

Что же такое многопоточность?

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

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

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

Вы также услышите, как люди используют такие термины, как «многопоточность» и «гиперпоточность». Технология Hyper-Threading позволяет одному ядру ЦП выступать в качестве двух ядер, ускоряя выполнение конкретной программы или приложения.

Даже с одним ядром он может имитировать производительность, как если бы у вас было два ядра. Чем больше в процессоре ядер, тем больше  потоков. Чем больше у вас потоков, тем выше будет производительность вашей системы.

Что такое Hyper-Threading

Гиперпоточность дебютировала в 2002 году и была попыткой Intel донести до пользователей параллельные вычисления. Это немного уловка, так как ОС распознает потоки как отдельные ядра процессора.Когда вы используете Intel Chip, ваш диспетчер задач покажет вам удвоенное количество ядер и обработает их как таковые. Это позволяет им обмениваться информацией и ускорять процесс декодирования, разделяя ресурсы между ядрами. Intel утверждает, что эта технология может повысить производительность до 30%.

Как работают процессорные ядра и потоки?

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

Одно ядро может работать над одной задачей за раз. Множество ядер помогут вам запускать различные приложения более плавно. Например, если вы планируете запускать видеоигру, для ее запуска потребуется несколько ядер, в то время как другие ядра могут запускать фоновые приложения, такие как Skype, Spotify, Chrome или что-то еще. Многопоточность только делает обработку более эффективной. Это, конечно, приведет к повышению производительности, но также заставит процессор потреблять больше энергии, но так как, многопоточность уже включена в микросхемах, так что это не повод для беспокойства. Хотя процессор потребляет больше энергии, это редко вызывает повышение температуры.

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

Многоядерность

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

В отличие от многопоточности, здесь нет хитростей — двухъядерный ЦП буквально имеет два центральных процессора на чипе ЦП. Четырехъядерный процессор имеет четыре центральных процессора, восьмиъядерный процессор имеет восемь центральных процессоров и так далее.

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

Диспетчер задач Windows показывает это наглядно. Здесь, например, вы можете видеть, что эта система имеет один фактический процессор (сокет) и четыре ядра. Многопоточность делает каждое ядро похожим на два ЦП для операционной системы, поэтому оно показывает 8 логических процессоров.

Выводы

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

Если ваша рабочая нагрузка включает в себя интенсивные задачи, такие как: работа с нагруженными базами данных, аналитическик задачами, редактированием видео, то многопоточные процессоры являются обязательными для вас. И Intel, и AMD предоставляют множество многоядерных, многопоточных процессоров, как для рабочих станций, так и для серверов малых и больших предприятий.

На что влияет число ядер CPU? Объясняем по-простому — Рамблер/новости

Какой процессор лучше — с более высокой тактовой частотой или с большим количеством ядер? Не всегда все однозначно

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

Так что же дает наличие нескольких ядер? Во-первых, вся основная нагрузка системы распределяется между несколькими «вычислительными центрами». Благодаря этому ваш ноутбук или ПК реже оказывается полностью перегруженным и не «замирает» так часто, как мог бы с одноядерным процессором. CPU с несколькими ядрами могут повышать тактовую частоту и, как следствие, производительность компьютера. Однако, на практике увеличение мощности сильно зависит от того, какая программа выполняется и какая при этом используется операционная система. Сам по себе принцип работает только в том случае, если вы используете ПО, поддерживающее многопоточность обработки данных, то есть особенно требовательное к ресурсам системы.

Например, Intel Core i5-4570S имеет в целом 4 физических CPU-ядра и может работать на тактовой частоте до 3,6 ГГц. Другая модель этого же производителя, Intel Core i3-7350K располагает всего двумя физическими ядрами, но тактовая частота у него достигает отметки в 4,2 ГГц. Расчеты вида 4 (ядра) * 3,6 ГГц = 14,4 ГГц здесь не подходят: i5-4570S по результатам наших тестовых испытаний оказался значительно хуже и менее эффективным, чем i3-7350K. Несмотря ни на что вы должны покупать только те процессоры, которые имеют минимум 2 ядра или больше. Делать ли выбор в пользу большего количества ядер или подыскивать процессор с более высокой тактовой частотой, зависит от того, как вы собираетесь использовать свой компьютер.

При всем этом сравнивать напрямую вы можете процессоры только одного производителя и одного типа. Все потому, что более старый CPU с 8 ядрами может оказаться хуже, чем новый процессор с 4 ядрами от другого производителя. Вы вдумчиво выбираете процессор? Да, как же иначе! Доверяю производителям ПК Просмотреть результаты Загрузка … Читайте также:

Intel представила процессоры Intel Core восьмого поколения

Как тестирует CHIP: центральные процессоры

Как процессоры влияют на производительность в играх — Intel

HITMAN 2

Детализированные окружения в HITMAN 2 имеют ощутимые преимущества при использовании процессора с большим количеством ядер, начиная от шумных улиц Мумбая до красочных гоночных трасс в Майами. «Повысить качество HITMAN 2 на ПК можно за счет дополнительных ресурсов, предоставляемых большим количеством ядер», — поделился технический директор HITMAN 2 Маурицио де Паскаль (Maurizio De Pascale).

В HITMAN 2 игровые настройки разбиты на три различных уровня качества «моделирования процессора»: «базовый» — стандартный вариант для компьютеров с четырьмя ядрами, «средний» — стандартный вариант для компьютеров с шестью ядрами и «лучший» — стандартный вариант для компьютеров с более чем восемью ядрами.

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

Несмотря на то, что самый большой уровень HITMAN 2 вмещает до 300 неигровых персонажей, лишь небольшая их часть фактически получает полное обновление в каждом кадре. Другими словами, в анимациях некоторых неигровых персонажей может наблюдаться более низкая частота кадров, чем у других, в зависимости от того, сколько кадров отображается на экране одновременно. «В результате неигровые персонажи, находящиеся на расстоянии, будут обновляться с более низкой частотой, а в их анимации могут появиться видимые сбои», — сказал де Паскаль. Увеличение количества ядер увеличивает количество неигровых персонажей, которые будут обновляться в каждом кадре, до 40 обновляемых неигровых персонажей на «базовом» уровне, до 80 обновляемых персонажей на «среднем» уровне и до 120 обновляемых персонажей на «лучшем» уровне.

Плотность толпы — это не единственный важный элемент, на который влияет мощность процессора игрока. При использовании «лучших» настроек разрушаемые объекты будут распадаться на большее количество частиц и осколков. Даже звуковые эффекты выигрывают от доступа к большему количеству ядер. «На процессорах с большим количеством ядер мы используем более дорогой алгоритм для свертки реверберации, что приводит к тому, что звуковые эффекты становятся менее похожими на игровые и более реалистичными, создавая эффект присутствия», — рассказал Де Паскаль. Например, при использовании «лучших» настроек звук выстрела из соседней комнаты будет иметь реверберацию помещения, в котором в настоящее время находится Агент 47, именно так, как если бы вы услышали выстрел от первого лица. Однако при использовании более низких настроек звук выстрела получит реверберацию из комнаты, в которой он был совершен, что приведет к снижению реалистичности.

Реализм и эффект присутствия — это основа того, что делает HITMAN 2 столь впечатляющей при игре на высокопроизводительном процессоре. И хотя де Паскаль сказал, что игроки, использующие «базовые» и «средние» настройки, столкнутся с идентичным геймплеем, он отметил, что более высокие настройки улучшают общее впечатление от игры. «В некотором смысле использование многоядерного процессора, установленного на вашем игровом ПК, позволяется приблизиться к тому, как наши гейм-дизайнеры изначально задумывали игру», — говорит де Паскаль.

Что надо знать о процессоре

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

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

Процессор в смартфоне — это самая сложная деталь и отвечает она за все вычисления, производимые устройством. По сути, говорить, что в смартфоне используется процессор, неправильно, так как процессоры как таковые в мобильных устройствах не используются. Процессор вместе с другими компонентами образуют SoC (System on a chip – система на кристалле), а это значит, что на одной микросхеме находится полноценный компьютер с процессором, графическим ускорителем и другими компонентами.

Если речь заходит о процессоре, то сперва надо разобраться с таким понятием, как «архитектура процессора». Современные смартфоны используют процессоры на архитектуре ARM, разработкой которой занимается одноименная компания ARM Limited. Можно сказать, что архитектура — это некий набор свойств и качеств, присущий целому семейству процессоров. Компании Qualcomm, Nvidia, Samsung, MediaTek, Apple и другие, занимающиеся производством процессоров, лицензируют технологию у ARM и затем продают готовые чипы производителям смартфонов или же используют их в собственных устройствах. Производители чипов лицензируют у ARM отдельные ядра, наборы инструкций и сопутствующие технологии. Компания ARM Limited не производит процессоры, а только продает лицензии на свои технологии другим производителям.

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

Ядро

Начнем с вопроса, а что такое ядро? Ядро – это элемент чипа, который определяет производительность, энергопотребление и тактовую частоту процессора. Очень часто мы сталкиваемся с понятием двухъядерный или четырехъядерный процессор. Давайте разберемся, что же это значит.

Двухъядерный или четырехъядерный процессор – в чем разница?

Очень часто покупатели думают, что двухъядерный процессор в два раза мощнее, чем одноядерный, а четырехъядерный, соответственно, в четыре раза. А теперь мы расскажем вам правду. Казалось бы, вполне логично, что переход с одного ядра к двум, а с двух к четырем увеличивает производительность, но на самом деле редко когда эта мощность возрастает в два или четыре раза. Увеличение количества ядер позволяет ускорить работу девайса за счет перераспределения выполняемых процессов. Но большинство современных приложений являются однопотоковыми и поэтому одновременно могут использовать только одно или два ядра. Естественно возникает вопрос, для чего тогда четырехъядерный процессор? Многоядерность, в основном, используется продвинутыми играми и приложениями по редактированию мультимедийных файлов. А это значит, что если вам нужен смартфон для игр (трехмерные игры) или съемки Full HD видео, то необходимо приобретать аппарат с четырехъядерным процессором. Если же программа сама по себе не поддерживает многоядерность и не требует затраты больших ресурсов, то неиспользуемые ядра автоматически отключаются для экономии заряда батареи. Часто для самых неприхотливых задач используется пятое ядро-компаньон, например, для работы устройства в спящем режиме или при проверке почты.

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

Тактовая частота

Следующее понятие, с которым нам предстоит познакомиться — это тактовая частота.
Тактовая частота – это характеристика процессора, которая показывает, сколько тактов способен отработать процессор за единицу времени (одну секунду).
Например, если в характеристиках устройства указана частота 1,7 ГГц — это значит, что за 1 секунду его процессор осуществит 1 700 000 000 (1 миллиард 700 миллионов) тактов.

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

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

И опять возвращаемся к многоядерности. Увеличение тактовой частоты (МГц, ГГц) может увеличить выработку тепла, а это крайне нежелательно и даже вредно для пользователей смартфонов. Поэтому многоядерная технология также используется как один из способов увеличения производительности работы смартфона, при этом не нагревая его в вашем кармане.

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

Кэш процессора

Еще одна важная характеристика процессора, о которой продавцы смартфонов часто умалчивают — это кэш процессора.

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

Особенно актуален кэш в современных системах, где разрыв между скоростью работы процес-сора и скоростью работы оперативной памяти довольно большой.
Конечно, возникает вопрос, почему же эту характеристику не желают упоминать? Всё очень просто. Наведем пример. Предположим, что есть два всем известных процессора (условно A и B) с абсолютно одинаковым числом ядер и тактовой частотой, но почему-то А работает намного быстрее, чем В. Объяснить это очень просто: у процессора А кэш больше, следовательно, и сам процессор работает быстрее.

Особенно разница в объеме кэша ощущается между китайскими и брендовыми телефонами. Казалось бы, по циферках характеристик всё вроде как совпадает, а вот цена устройств отличается. И вот здесь покупатели решают сэкономить с мыслью «а зачем платить больше, если нет никакой разницы?» Но, как видим, разница есть и очень существенная, только вот продавцы о ней часто умалчивают и продают китайские телефоны по завышенным ценам.

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

Магазин запчастей для электроники ВСЕ ЗАПЧАСТИ продолжает следить за событиями мира коммуникационных технологий и обращает ваше внимание, что все запчасти для новинок вы всегда сможете заказать и купить на нашем сайте по самым доступным ценам.

Влияние различных характеристик на быстродействие процессоров современных архитектур

Часть 1: AMD Phenom II, количество ядер

Во «времена оные», когда новые модели процессоров анонсировались несколько раз в год (два-три раза, на самом деле…), а любая новая архитектура являлась де-факто почти на 100% новой (хорошо, хотя бы на 70%…), сравнительные тестирования было делать достаточно легко: взял пару-тройку CPU, сравнил между собой — вот и новые данные, вполне актуальные, свежие, всем интересные. Нынешние времена — совсем другие: смотришь на якобы новый процессор, и понимаешь: это — от того прототипа (или решения конкурента) взяли, это — от другого, с этим — смирились дешевизны ради, это — добавили, потому что технологии производства позволяют добавить почти задаром, но этот блок — именно таким образом сделан потому, что те же пресловутые технологии производства вынудили сделать его именно таким (хотя, с точки зрения идеала, можно было бы и лучше). И наступает понимание, что результаты сравнения какого-нибудь Core 2 Duo E8500 с каким-нибудь Core 2 Duo E8700 будут настолько банально предсказуемы, что их даже читать не хочется: чтобы относительно точно их предсказать, достаточно результатов любого из них, плюс логики, здравого смысла и знания основ арифметики. И даже в случае с различными архитектурами CPU, вполне хватает пары-тройки сравнений, чтобы результаты всех остальных были ясны даже без проведения тестов.

С другой стороны, наверняка, в точности подобным образом создавались и старые добрые массовые процессоры прошлых времён — нет ничего нового под солнцем. Однако в те времена мы меньше знали, и, согласно мудрости царя Соломона, эти знания приносили нам меньше печали… Данная серия материалов, которая будет включать в себя всего 4 статьи, предназначена именно для тех, чьё душевное состояние состоит в полном согласии с предыдущим абзацем: кто не хочет читать десятки тестовых сравнений, потому что им проще один раз достаточно подробно разобраться в вопросе — а дальше они сами сделают выводы, искренне веря в свои собственные логику и здравый смысл. Данную серию можно назвать, в некотором роде, «материалами для IT-снобов».

Кроме того, это, безусловно, материал для тех, кто верит в закономерности. Если вы не верите в возможность предсказания производительности Core 2 Duo E8700 на основании объективно полученных данных о производительности Core 2 Duo E8500 — то этот материал не для вас. Если вы не верите в то, что быстродействие Phenom X3 8450, однозначно, обуславливает скорость Phenom X3 8750 — то вам не следует читать эту статью. Ибо во многих знаниях, как известно… и далее по тексту. Для всех остальных, мы решили, наконец-то, дать простые тестовые ответы на простые пользовательские вопросы: что случается, если взять одно и то же процессорное ядро — и поставить его в ситуацию, когда оно сможет (с той или иной долей успешности) справиться с простыми пользовательскими задачами? Для этих целей мы взяли два самых «продвинутых» ядра от двух самых популярных производителей x64-процессоров — AMD Phenom II X4 и Intel Core i7. Частота? Какая разница?! Объём кэша? Тоже не важно! Мы попытались оценить перспективность и масштабируемость самой архитектуры. Разумеется, конкретные воплощения могут быть лучше или хуже — однако у них есть общие черты, которые практически невозможно изжить, не меняя общей концепции развития. Мы стремились оценить именно общую концепцию — разумеется, применительно к нынешнему, реальному программному обеспечению.

К слову о реальности. на данный момент наша методика не содержит тестов, в которых бы одно приложение выполнялось на фоне активности другого (как это действительно часто бывает в жизни). О причинах такого (вполне осознанного) решения мы писали не раз, однако в таком масштабном материале можно повториться: суть в том, что multi-application тест практически невозможно сделать хоть сколько-нибудь репрезентативным, с точки зрения получаемых результатов, из-за почти бесконечного количества вариантов комбинаций приложений. То есть, например, мы решим, что тестироваться будет быстродействие в игре Unreal Tournament 3 на фоне архивации с помощью 7-Zip и проверки диска антивирусом Avast. Тут же возникает пять вопросов:

  1. Почему Unreal Tournament 3, а не, например, World in Conflict?
  2. Почему 7-Zip, а не, например, WinRAR?
  3. Почему Avast, а не, например, AVG?
  4. Наконец, почему игра + архивация + антивирус, а не кодирование видео + рендеринг + математические вычисления?
  5. И, кстати, имеют ли полученные результаты какую-то ценность за пределами комбинации вышеуказанной тройки конкретных программных продуктов? Что станет с результатами, если заменить, скажем, архиватор другим?

Честный ответ на вопросы 1-4 должен звучать так: «Просто потому, что нам так захотелось», — и другого варианта честного ответа не существует. Действительно, либо нужно тестировать всё многообразие различных комбинаций разного рода ПО (задача невыполнимая) — либо нужно брать одну конкретную комбинацию, осознавая, что она будет выбрана, по сути, с помощью высоконаучного метода тыканья пальцем в небо. Ответ на пятый вопрос тоже один: «Никакой. Неизвестно». Именно по этой причине, мы не используем multi-application тесты: лучше получить корректный результат при тестировании в несколько идеализированном варианте окружения, чем непонятно о чём говорящую цифру при тестировании в псевдореальном окружении (а на самом деле, в одном конкретном варианте реального окружения, произвольно выбранном из многих тысяч других).

В данной части обещанного сериала, мы оценим масштабируемость производительности систем на базе AMD Phenom II в зависимости от количества процессорных ядер, взяв в качестве примера систему на базе AMD Phenom II X4 940 Black Edition, и протестировав её быстродействие с одним включенным ядром, двумя, тремя, и четырьмя. Таким образом, мы создали идеальную для исследования ситуацию: в тестируемой системе не меняется   ничего, кроме количества ядер у центрального процессора, а физически — так и вовсе ничего не меняется. Разумеется, некоторые могут возразить, что реальным одно- двух- и трёхъядерникам недоступны такие размеры кэша, там всё намного скромнее. Однако мы и не пытались сделать сравнение процессоров. Мы ставим топовое решение в различные ситуации — и исследуем его поведение в них. Для вышеупомянутых «IT-снобов», как нам кажется, данных сведений будет вполне достаточно. Остальное они наверняка додумают сами — руководствуясь, опять-таки, вышеупомянутыми логикой и здравым смыслом.

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

Относительно конфигурации тестовых стендов, хотелось бы сделать только одно замечание — о принятом нами способе размещения модулей памяти. Как мы уже писали ранее, полностью корректным образом уравнять системы на базе LGA1366 и Socket AM2+ не возможно, так как логичная для трёхканального контроллера памяти платформы LGA1366 конфигурация «3 модуля по 2 ГБ», на Socket AM2+ воспроизведена быть не может — у данной платформы всего два канала контроллера памяти. Соответственно, для получения того же объёма ОЗУ, придется, так или иначе, комбинировать двух- и одногигабайтные модули. Подробнее, проблема выбора режимов контроллера памяти на платформе Socket AM2+ будет освещена в следующей статье, а пока просто скажем, что в данном тестировании использовался вариант «2+1 на каждый канал в unganged-режиме».

* — разумеется, использовался один и тот же процессор, требуемое количество ядер включалось с помощью настройки BIOS системной платы.Тестирование

Для начала имеет смысл описать специфику данной статьи. Специфика связана, прежде всего, с тем, что это «как бы тестирование»… только не совсем — ведь тестируемых «процессоров» не существует в реальности (за исключением одного — оригинального AMD Phenom II X4 940 Black Edition со всеми включенными ядрами). Соответственно, нет смысла рассуждать о полезности того или иного выбора, ибо никакого реального выбора в статье тоже не имеется. Поэтому нам предстоит задуматься, скорее, о глобальном: какие тенденции в развитии современного программного обеспечения иллюстрируют результаты сегодняшних тестов? Реально ли выявить эти тенденции, и осмыслить их? Для этого вряд ли хватит одной только сравнительной диаграммы по группе ПО, поэтому в данном материале на каждую группу иногда будет по две диаграммы и вдобавок таблица с подробными результатами тестов.

Первая диаграмма — традиционная. На ней приведены баллы каждого «процессора», вычисленные, согласно нашей методике тестирования. Правда, сегодня мы решили привести их не в виде столбиков, а в виде графика — чтобы было видно, насколько стремительно (или, наоборот, неохотно) «рвётся ввысь» кривая производительности системы, по мере включения всё большего количества ядер. Вторая диаграмма представляет собой график, на котором каждая линия олицетворяет прирост производительности по мере добавления количества ядер для каждого приложения из данной группы в отдельности. Отсчёт начинается с одноядерной системы, производительность которой, соответственно, принята за 100% (поэтому все линии выходят из одной точки). Данная диаграмма позволяет более точно отследить поведение отдельных программ, что в контексте наших желаний может быть очень полезно. И, наконец, — таблица с результатами тестов (также по каждому приложению в отдельности). Начиная со столбика «2 ядра», в ней присутствуют не только абсолютные величины результатов, но и некие проценты. Что это? Это цифра, отражающая прирост производительности данной системы по отношению к предыдущей. Запомните, это очень важно: по отношению к предыдущей, а не к исходной одноядерной. Таким образом, если мы видим в столбике трёхъядерной системы цифру 12% — это значит, что трёхъядерная система в данном приложении показала на 12% более хороший результат, чем двухъядерная. А для двухъядерной системы эта же цифра будет означать её превосходство над одноядерной.

Кстати, советуем освежить в памяти некоторые знания по арифметике, чтобы не удивляться тому, чему удивляться вовсе не стоит: совершенно очевидно, что только двухъядерная система может (и то в идеальном случае*) оказаться на 100% быстрее одноядерной. Трёхъядерная система, даже в идеальной ситуации не может быть быстрее двухъядерной более чем на 50%. Четырёхъядерная быстрее трёхъядерной — не более чем на 33%.

* — На самом деле, как вы увидите позже, при анализе результатов тестирования, практика иногда успешно опровергает все самые стройные теории… но об этом — позже.

Также, традиционно, мы даём любознательным читателям ссылку на таблицу в формате Microsoft Excel, в которой приведены все результаты тестов в самом подробном виде. А также, для удобства их анализа, присутствуют две дополнительные закладки — «Compare #1» и «Compare #2». На них, как и в таблицах, присутствующих в статье, произведено сравнение четырёх систем в процентном отношении. Разница очень простая: в случае с Compare #1, проценты вычисляются так же, как в таблицах в статье, — по отношению к предыдущей системе, а в случае с Compare #2, все системы сравниваются с базовой одноядерной (как на второй диаграмме, только в текстовом виде).

3D-визуализация

1 ядро2 ядра3 ядра4 ядра
3ds max ↑*11,9512,06+1%12,21+1%12,83+5%
Maya ↑2,042,58+26%3,15+22%3,18+1%
Lightwave ↓22,7519,76+15%19,44+2%18,94+3%
SolidWorks ↓64,1162,62+2%63,16-1%61,99+2%
Pro/ENGINEER ↓14771304+16%1381-1%1223+4%
UGS NX ↑2,12,14+2%2,1402,17+1%

* — здесь и далее в таблицах стрелочкой вверх (↑) помечены те тесты, где лучшим является больший результат, стрелочкой вниз (↓) — тесты, где лучшим является меньший результат.

Нас уже давно «терзали смутные сомненья» по поводу того, насколько хорошо трёхмерные пакеты умеют задействовать возможности многоядерных систем не в процессе рендеринга, а в процессе обычной интерактивной работы. Именно по этой причине визуализация трёхмерных объектов и была выделена в отдельную группу новой методики. Взгляд на первую диаграмму совершенно не внушает оптимизма: «в среднем по больнице» переход с одного ядра на четыре даёт жалкие 17% прироста быстродействия. Однако может быть у некоторых приложений ситуация всё-таки лучше? Обратим внимание на вторую диаграмму и таблицу к ней.

Наибольшую отдачу от многоядерных систем получает пакет Maya: он с достаточно большим оптимизмом (+26%) реагирует на включение второго ядра, почти так же «бодро» (ещё +22%) реагирует на включение третьего — и только на четвёртом «сдувается», демонстрируя всего лишь 1% прироста. Кое-как умеют задействовать 2-е ядро при визуализации Lightwave и Pro/ENGINEER, но существенно хуже, и только второе — уже на 3-е ядро они практически не реагируют. Для проформы, мы выделили красным фоном два результата, когда при включении большего количества ядер система начинала работать медленнее, но пока мы не видим в этом серьёзного повода для беспокойства: расхождение в 1% вполне может быть объяснено элементарной погрешностью измерений. Впрочем, на всякий случай, поставим в уме «флажок»: в обоих случаях это произошло при переходе с двух ядер на три.

Трёхмерный рендеринг

1 ядро2 ядра3 ядра4 ядра
3ds max ↑3,417,62+123%10,26+35%12,89+26%
Maya ↑00:11:2300:05:53+93%00:03:57+49%00:03:01+31%
Lightwave ↓502,78212,34+137%144,85+47%109,21+33%

Существенно более оптимистичная диаграмма: в среднем, в группе рендеринга переход одного ядра на два даёт прирост производительности на 116% (!), а переход с одного ядра на четыре — 400% (то есть максимально возможный теоретически идеал). Однако взгляд на вторую диаграмму и таблицу к ней заставляет нас здорово удивиться: в двух случаях из трёх, при переходе от одного ядра к двум, скорость рендеринга возросла существенно, более чем на 100%! То есть превысила теоретически допустимый предел. Была бы разница хотя бы процентов на 5-6 — можно было бы (слегка сомневаясь в собственной правоте, но всё же…) списать всё на ту же погрешность измерений. Однако 23% и 37% на неё списать никак не получается. Что же произошло?

В принципе, можно напридумывать массу гипотез. В конце концов, теория предусматривает и условия работы ПО «теоретически-стерильные», а у нас ПО работает под управлением операционной системы, которая сама по себе имеет сотни фоновых процессов. В процессе написания материала автор из любопытства даже завёл отдельную тему в конференции iXBT. com, где предложил всем желающим высказывать свои предположения. Прозвучала масса предположений, но наиболее правдоподобными, с нашей точки зрения, выглядят два: об эффекте увеличения общего объёма кэша всего процессора при включении второго ядра (у AMD Phenom II L2-кэш является «собственностью» ядра, и при его отключении также отключается), а также о не очень удачной параллелизации процессов на уровне самого ПО (то есть, получается, что одноядерные системы движок рендеринга искусственно тормозит). К слову — довольно печально, если правильным окажется и второе предположение. С другой стороны, если попытаться проследить в этом некую тенденцию, то получается довольно забавно: выходит, что на компьютерах разработчиков ПО уже настолько прочно обосновались как минимум двухъядерные системы, что об эффективности своего кода применительно к системам одноядерным, они просто перестали думать* — и всплывают странные эффекты.

* — Можно, конечно, заняться конспирологией, и предположить и вовсе злой умысел и наличие тайного сговора с производителями процессоров… однако это, с нашей точки зрения, уже перегиб.

На диаграмме чётко видно, что наиболее хорошо распараллелен движок рендеринга Lightwave: он стабильно показывает почти максимальные для каждого случая цифры прироста. Стабильнее всего движок Maya (MentalRay) — у него линия роста почти абсолютно прямая, без «горба» в районе перехода с одного ядра на два.

Научные и инженерные расчёты

1 ядро2 ядра3 ядра4 ядра
MAPLE ↑0,15250,1399-8%0,1560+12%0,1586+2%
Mathematica ↑2,19722,3784+8%2,5288+6%2,5968+3%
MATLAB ↓0,09200,0648+42%0,0565+15%0,0525+8%
SolidWorks ↓54,446,64+17%45,74+2%44,71+2%
Pro/ENGINEER ↓22841951+17%1917+2%1934-1%
UGS NX ↑4,184,29+3%4,2804,33+1%

В данном разделе, как вы, наверное, помните (если читали описание методики тестирования; если нет — советуем почитать: данный материал без знания некоторых её нюансов будет достаточно сложно понять) мы собрали все результаты, относящиеся к различного рода вычислениям. Состав группы делится надвое на программные инструменты больше инженерные (SolidWorks, Pro/ENGINEER, UGS NX) и больше научные (MAPLE, Mathematica, MATLAB). Легко заметить, что даже внутри групп «согласья нет» — в «научной» группе MAPLE при переходе с одного ядра на два  снизила производительность на целых 8% (ох, уж этот переход! Вечно с ним что-то не то!), а в «инженерной» группе умеренно оптимистичные SolidWorks и Pro/ENGINEER (+17 при включении второго ядра) соседствуют с совершенно индифферентным UGS NX (при включении второго ядра — +3%, при включении третьего —   0).

Включение третьего ядра демонстрирует ещё более печальную картину: фактически, им сумел более-менее эффективно воспользоваться только MATLAB (не забывайте, что +12% на трёх ядрах у MAPLE — это, по сравнению с минус 8% на двух ядрах). Четвёртое ядро задействовать эффективно не смог даже MATLAB — но он хотя бы пытается, но остальные пакеты «сдулись» совсем, Pro/ENGINEER на четырех ядрах даже ушёл в незначительный минус.

Помнится, примерно похожая ситуация наблюдалась в группе 3D-визуализации: подавляющее большинство программного обеспечения если и смогло более-менее эффективно задействовать несколько ядер, то имя этим нескольким — два. Не более. И, опять-таки, как и в случае с визуализацией, наблюдается одна хорошо распараллеленная программа, которая на общем слабеньком фоне смотрится просто чемпионом параллелизма. В данном случае — это MATLAB. За счёт него общий прирост в группе между двумя крайними значениями (1 ядро и 4 ядра) чуть больше, чем в визуализации — 24%. Впрочем, раздумывающим над приобретением четырёхъядерника, такая «высокая» эффективность вряд ли внушит оптимизм.

Растровая графика

1 ядро2 ядра3 ядра4 ядра
ACDSee ↓00:08:1500:07:01+18%00:07:02000:06:44+4%
Paint.NET ↓00:01:3800:00:50+96%00:00:34+47%00:00:26+31%
PaintShop Pro ↓00:13:2500:12:46+5%00:12:46000:12:51-1%
PhotoImpact ↓00:10:4100:09:32+12%00:09:24+1%00:09:34-2%
Photoshop ↓00:15:0800:10:09+49%00:08:23+21%00:07:40+9%

Кривая на первой диаграмме не настолько оптимистичная, как в случае с рендерингом, — но, по крайней мере, явно выраженное стремление ввысь присутствует. За счёт чего оно присутствует, и почему не такое выраженное, становится ясно при взгляде на вторую диаграмму и таблицу.

Получается следующая картина:

  • ACDSee использовать несколько ядер как-то умеет, но явно не большее их количество, чем 2; +4% при включении четвертого ядра дают какую-то смутную надежду, но поскольку от включения третьего ядра пользы ноль — надежда очень смутная.
  • PaintShop Pro и PhotoImpact 2 ядра используют ещё хуже ACDSee, если используют вообще: конечно, +12% — это немаленькая цифра, но не будем забывать о том, что второе ядро взяло на себя выполнение всех системных сервисов, а их у Windows Vista очень немало… С третьим и четвертым ядром PaintShop и PhotoImpact работать не умеют точно.
  • Adobe Photoshop, хоть и приблизился к идеалу лишь наполовину (+49% там, где, в идеале, могло бы быть 100, +21% там, где, в идеале, могло быть 50, +9% там, где, в идеале, могло быть 33), однако на нынешний момент даже такой результат следует признать очень неплохим. Видно, что с увеличением количества ядер эффективность их использования Photoshop падает: если на двухъядерной системе реальная эффективность составляет порядка половины максимальной теоретической, то уже на трех ядрах она меньше трети теоретической. Можно предположить, что при дальнейшем увеличении количества ядер, эффективность продолжит падать.
  • Прекрасную масштабируемость и наивысшую во всей группе эффективность использования многоядерных систем демонстрирует Paint.NET. Напомним, что это единственный в группе графический редактор, написанный полностью на платформе Microsoft.NET. Искреннюю радость по поводу наличия такой превосходно распараллеленной программы омрачает лишь одно: всё-таки, это довольно примитивный графический редактор. Пожалуй, самый простой из всех представленных в группе.

Сжатие данных без потерь

1 ядро2 ядра3 ядра4 ядра
7-Zip ↓00:07:2500:04:53+52%00:04:47+2%00:04:460
WinRAR ↓00:02:4900:02:01+40%00:01:55+5%00:01:54+1%

И первая, и вторая диаграммы в данном случае говорят нам об одном и том же, и, положа руку на сердце: то, о чём они нам говорят, мы и так давно знали. Как было сказано недавно другим автором в другой статье на процессорную тематику: «…уже ни для кого не секрет [что] пока для архиваторов «многопоточность» означает «двухпоточность»…» Так оно и есть: и 7-Zip, и WinRAR демонстрируют вполне хорошую эффективность при переходе от одного ядра к двум, и… всё. Включение третьего ядра даёт +2% и +5%, соответственно, результат от включения четвертого и вовсе находится где-то в рамках погрешности измерения. Если анализировать сами результаты, то можно сказать, что у 7-Zip чуть повыше эффективность задействования второго ядра — зато WinRAR, судя по всему, хотя бы пытается задействовать третье. Кроме того, он просто существенно быстрее в абсолютных временных величинах.

Компиляция

В детализированных диаграммах нет нужды, так как в данной подгруппе всего один тест. Разница в 322% между крайними значениями (для одного ядра и для четырех) при максимально теоретически возможных 400%, свидетельствует о том, что нам, наконец-то, удалось разработать очень хорошо распараллеленный бенчмарк для тестирования скорости компиляции с помощью Microsoft Visual C++*. В нынешней реинкарнации, наши тесты успешно подтверждают давно теоретически обоснованный постулат: компиляция большого проекта действительно может быть существенно ускорена при грамотном задействовании многоядерной системы.

* — На самом деле, конкретно в данном случае хорошо распараллеленный бенчмарк действительно являлся серьёзной проблемой, так как «лобовой» подход, использованный в предыдущей методике, привёл к тому, что тест не совсем адекватно отражал реальную ситуацию: возможность задействования параллельной компиляции была заложена в продукте (MS VC++), но мы не смогли ей воспользоваться. Нынешний бенчмарк, в отличие от прошлого, устранил эту ошибку: сейчас возможности MS VC++ по распараллеливанию процесса компиляции проекта используются максимально возможным образом.

К слову, о забавных подробностях разработки бенчмарка: при сборке проекта с помощью vcbuild, этой утилите можно указать опцию /M — количество потоков сборки. Разумеется, напрашивается самый простой вариант: указать его равным количеству процессорных ядер. Тут-то мы и натолкнулись на совершенно неожиданный подводный камень: при указании опции /M3 (для системы с тремя ядрами, соответственно) — сборщик VC++ вёл себя так, как будто была указана опция /M2. То есть третье ядро не задействовалось никак. Пришлось в качестве исключения при обнаружении трех ядер указывать принудительно опцию /M4 — тогда прирост от включения третьего ядра наблюдается, что вы и имеете возможность видеть на диаграмме.

Кодирование аудио

В данном случае, в детализированных диаграммах тоже нет нужды, но по другой причине: в новой версии методики мы используем для тестирования скорости кодирования аудио оболочку dBpoweramp, которая обладает способностью практически идеально распараллеливать процесс кодирования за счёт запуска нескольких (равных числу найденных процессорных ядер) однопоточных кодеков одновременно. Таким образом, мы имели полное право ожидать эффективности, близкой к идеальной: несколько процессов, запущенных на исполнение параллельно, и при этом не очень критичных к подсистеме памяти и объёму кэша (данное свойство аудиокодеков давно известно), как правило, совершенно не мешают друг другу. В реальности, всё именно так и произошло, о чём красноречиво свидетельствуют результаты тестов: +392%, если сравнивать одноядерную и четырёхъядерную системы.

Забавно, что даже на достаточно грубом графике чётко виден небольшой «провал» в районе результата 3-ядерной системы. Если вы скачаете xls-табличку с подробными результатами, вы сами с помощью элементарных подсчётов сможете убедиться, что он действительно существует. То есть — эффективность использования ядер на 3-ядерной системе чуть проседает по сравнению с 2-ядерной и 4-ядерной.

Кодирование видео

1 ядро2 ядра3 ядра4 ядра
Canopus ProCoder ↓00:04:4500:04:00+19%00:03:46+6%00:03:460
DivX ↓00:08:1900:06:18+32%00:05:19+18%00:05:04+5%
Mainconcept ↓00:20:0000:12:01+66%00:09:16+30%00:07:54+17%
x264 ↓00:37:2700:20:55+79%00:15:16+37%00:10:48+41%
XviD ↓00:08:5800:07:19+23%00:06:21+15%00:05:46+10%

Первая диаграмма демонстрирует нам, что эффект увеличения производительности при увеличении количества ядер в данной группе, несомненно, прослеживается даже невооружённым взглядом, однако он существенно меньше идеального (примерно в два раза), поэтому дополнительная диаграмма с таблицей, конечно, будут необходимы. Начинаем разбираться, что к чему в группе кодирования видео…

К сожалению, явный аутсайдер — это Canopus (GrassValley) ProCoder. Это достаточно пожилое ПО (версия не обновлялась уже несколько лет) по-прежнему является одним из самых качественных программных кодировщиков MPEG2, однако возможности современного железа он использует весьма поверхностно: даже прирост от включения второго ядра равен всего лишь 19%, а дальше эффективность падает ещё больше…

Кодек DivX пытается быть эффективным до конца, но у него это получается с каждым добавляемым ядром всё хуже и хуже. Впрочем, примерно такое же поведение демонстрирует его брат-близнец из рода open source — XviD. Небольшие различия между их поведением всё-таки имеются: DivX более эффективно использует второе ядро, зато XviD умудряется извлечь большую пользу из четвертого. Впрочем, различия не очень принципиальны.

«Монстры параллельной оптимизации» — это коммерческий кодек Mainconcept, и, как ни странно, — open source разработка x264. Причём последний умудряется везде почти приблизиться к максимуму возможного, а при переходе с трех ядер на четыре даже превысить его! Но мы-то с вами уже знаем, в чём тут дело: «псевдопревышение» теоретического лимита, видимо, связано с тем, что x264 «недобрал скорости» на трех ядрах. Мы уже встречались с подобным феноменом 3-ядерной системы раньше, не так ли?

Можно констатировать, что без «старичка» Canopus и первая диаграмма выглядела бы веселее. С другой стороны — формат MPEG2 многие продолжают по старинке использовать для изготовления любительских DVD, а пока жив этот формат — будет жив и лучший по качеству кодек для него, пусть даже он не очень эффективно задействует современные компьютеры.

Java

Мы специально продублировали диаграмму, указав вместо баллов проценты, чтобы вы могли увидеть, как выглядит стандартно хорошо сделанная многопроцессорная оптимизация на данный момент. Смотрите: при переходе с одного ядра на два, она демонстрирует практически идеальный результат: 196% из 200 возможных. При включении третьего ядра, результат уже меньше — 272% из 300 возможных. И лишь на четвертом ядре всё становится понятно: 337% из 400 возможных — дальнейшее наращивание количества ядер, скорее всего, уже почти ничего не даст. На данный момент, повторимся, такое поведение — это лучшее, на что можно рассчитывать. Разумеется, бывают и исключения (вроде рендеринга или кодека x264) — но это именно исключения. А последствия простой, хорошо сделанной ремесленной работы по распараллеливанию кода, будут выглядеть сегодня примерно так.

Трёхмерные игры

1 ядро2 ядра3 ядра4 ядра
STALKER: Clear Sky ↑45,253,9+19%54,4+1%54,40
Devil May Cry 4 ↑132202+53%20202020
Far Cry 2 ↑17,633,3+89%36,6+10%41,1+12%
Unreal Tournament 3 ↑61106+74%127+20%133+5%
Crysis: Warhead ↑26,543,4+64%47,4+9%47,40
World in Conflict ↑17,425,8+48%33,6+30%40,4+20%
Grand Theft Auto 4 ↑937,1+312%54,9+48%60,8+11%
Left 4 Dead ↑67114+70%128+12%120-6%

Первая диаграмма сразу привлекает наш взгляд знакомым «горбом» в районе результатов двухъядерной системы. Да, так оно и есть: для большинства игровых приложений «многопоточность» тоже означает «двухпоточность». Однако, прежде чем перейти к анализу предпочтений компьютерных игр, давайте для начала разберёмся с одним вопиющим безобразием — с результатами Grand Theft Auto IV.

В данном случае мы скажем чётко и уверенно: ничем, кроме «головотяпства» программистов, такая ситуация объяснена быть не может (нашей ошибкой она, увы, тоже объяснена быть не может — мы перепроверили результаты раз 15). И даже если для немыслимого прироста в 312% (!!!) от включения второго ядра и есть какие-то объективные причины, всё равно — надо же, право слово, как-то тестировать свою продукцию! Или в отделе разработки Rockstar Games просто нет ни одного компьютера с одноядерным процессором*? Похоже на то… К слову, результаты GTA4 мы не включили во вторую диаграмму, так как тогда на ней только эти 312% и были бы хорошо видны.

* — C другой стороны, вспоминая о том, откуда GTA4 пришла на PC, появляется ещё одна гипотеза — спустя рукава, отнеслась к своей работе та группа, которая занималась адаптацией кода. И действительно: программисты, разрабатывающие игры для приставок, не обременены вечной PC-шной борьбой за совместимость со всем и вся — аппаратная конфигурация приставки неизменна. Тогда, наоборот, «основных» разработчиков следует похвалить за вполне адекватную оптимизацию, позволяющую задействовать ресурсы даже четырёхъядерной системы, но портировщиков — поругать за отсутствие адекватного восприятия реалий платформы, на которую они портировали данную игру.

Что касается остальных игр, то тут всё более-менее понятно и предсказуемо.

  • STALKER: Clear Sky звёзд с небес не хватает — явно задействованы только два потока. На второй поток разработчики движка вроде бы собирались «вынести» всю физику… видимо, там её не очень много, судя по результатам.
  • Devil May Cry 4 — честный двухпотоковый, честнее не бывает. Но хотя бы второе ядро умеет задействовать более-менее прилично.
  • Far Cry 2 — кажется, действительно «много-» (не «двух-») поточная. Но остальные ядра кроме двух основных толком нагрузить не умеет, используя их чисто формально. Аналогичная ситуация наблюдается с Unreal Tournament 3, но ему хотя бы удаётся нагрузить трёхъядерник.
  • Crysis: Warhead тоже, по сути «сдувается» после второго ядра.
  • Left 4 Dead ведёт себя совсем странно: вполне толерантно относится к третьему ядру и даже пытается его как-то задействовать, а после включения четвертого реагирует падением производительности. Не исключено, что это тоже следствие какой-то ошибки программистов.
  • А сияет яркой звездой на небосводе параллелизма одна-единственная (причём, заметим, не такая и новая) игра: World in Conflict. Ей единственной удалось получить с четвертого ядра +20% производительности при 33 теоретически возможных, каковой результат и для «серьёзного» ПО можно считать весьма неплохим, а уж для компьютерной игры — шикарным.

Заключение

Общая температура по больнице демонстрирует нам результат, на редкость, «круглый», но от этого ещё более неожиданный: в среднем, чтобы достичь идеальной производительности двухъядерника… в реальности, нам понадобился четырёхъядерник. Однако давайте разбавим нашу общую картину некоторым количеством деталей. Например, какова средняя загрузка процессора при исполнении всех задач, используемых в нашей методике тестирования? Понятно, что для одноядерной системы она равна 100% — если работа есть, то нет вариантов, кто будет её выполнять, а кто простаивать. В системе с большим количеством ядер варианты уже есть: если задача не может создать более одного активного потока — второе ядро будет простаивать. Таким образом, для данного случая общую загрузку всего CPU можно принять равной 50%. Однако отвлечёмся от теории и перейдём к практике. Такова средняя загрузка процессора на 1- 2- 3- и 4-ядерной системе при выполнении тестов, входящих в нашу методику тестирования.

Как видите, результат очень хорошо «бьётся» с выводами из первой диаграммы: средняя загрузка 4-ядерной системы находится в районе 50%, то есть в среднем, половина ядер не работает. Каким бы ещё вопросом задаться? Давайте зададимся таким: на сколько процентов, в среднем, повысится производительность системы, если к ней добавить ещё одно процессорное ядро? Смотрим на диаграмму…

Итак: если к одному ядру мы добавим второе — средняя производительность системы возрастёт на 56%. Хорошая, «серьёзная» величина. А что если к двум ядрам добавить третье? Увы — по отношению к двухъядерной системе, производительность у трёхъядерной будет всего на 18% выше. Уже намного более скромный результат. А добавление четвертого ядра приносит и вовсе смешные дивиденды в виде 12% прибавки. Тем более: мы-то с вами знаем, что «вытянуть» хотя бы такой прирост удалось за счёт весьма небольшого количества приложений, умеющих эффективно утилизировать четвёртое ядро — а остальные за их счёт в этом балле «едут пассажирами», не умея его задействовать практически никак.

Что мы наблюдаем в итоге? Результаты тестирования совершенно однозначно свидетельствуют о том, что двухъядерность на сегодня вполне состоялась в качестве способа сравнительно легко и эффективно повысить быстродействие компьютерной системы: её хорошо принимает даже вполне «домашнее» по ориентации программное обеспечение, и уже достаточно трудно найти программу, которая бы напрочь игнорировала наличие в системе второго ядра. К слову, похоже, что немалую лепту в формирование данной ситуации внесла ОС Microsoft Windows Vista, которая вполне способна «нагрузить» своими фоновыми сервисами отдельно взятое ядро — пусть и не на 100%, но настолько, чтобы польза от второго была ощутима даже в том случае, когда конкретное приложение эффективно использовать многоядерность практически неспособно.

Трёхъядерность (на данный момент, являющаяся «фирменной фишкой» компании AMD), вызывает несколько противоречивые ощущения: не все программы способны адекватно воспринимать наличие в системе количества ядер, не кратного степеням двойки, и не все способны задействовать этот «альтернативный» потенциал. С другой стороны, явного вреда от трёх ядер, по сравнению с двумя, практически не наблюдается, а корректно написанное ПО вполне адекватно реагирует на появление ещё одного ядра, и способно его задействовать. Таким образом, если принять за данность, что одноядерники сейчас уже однозначно уходят в сферу low-end, а двухъядерники позиционируются как разумное решение для среднего класса — трёхъядерники можно позиционировать как решение для «умеренно-оптимистичных энтузиастов»: вроде бы кое-где быстрее, и к тому же достаточно недорого стоит.

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

Такие выводы позволяет нам сделать сегодняшнее тестирование. Разумеется, мы не исключаем полностью того варианта, что исследование влияния количества ядер на производительность, проведенное на базе другой архитектуры (Intel Core i7), скорректирует их в ту или иную сторону. Однако такой шанс нами расценивается как весьма маловероятный.

Следующая часть серии тоже будет посвящена особенностям систем на базе AMD Phenom II. В ней мы исследуем вопросы влияния на производительность подсистемы памяти и настроек встроенного контроллера.

Следующая статья серии: AMD Phenom II, подсистема памяти

Модули памяти для тестовых стендов предоставлены Corsair Memory
Процессор AMD Phenom II X4 940 Black Edition предоставлен компанией Ulmart

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

Центральный процессор – это основной компонент компьютера, производящий львиную долю вычислений, и от его мощности зависит скорость работы всей системы. В этой статье мы поговорим о том, как влияет количество ядер на производительность CPU.

Ядра центрального процессора

Ядро – это основная составляющая ЦП. Именно здесь производятся все операции и вычисления. Если ядер несколько, то они «общаются» между собой и с другими компонентами системы посредством шины данных. Количество таких «кирпичиков», в зависимости от поставленной задачи, влияет на общую производительность процессора. В целом, чем их больше, тем выше скорость обработки информации, но на деле имеются условия, при которых многоядерные 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 или занимаетесь стримингом.

Заключение

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

Мы рады, что смогли помочь Вам в решении проблемы.

Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.

Помогла ли вам эта статья?

ДА НЕТ

Факторы, влияющие на производительность компьютерной системы — Структура компьютера — High Computing Science Revision

Количество процессоров (ядер)

ЦП может содержать один или несколько процессоров. Каждая единица называется ядром. Ядро содержит АЛУ, блок управления и регистры. Обычно компьютеры имеют два (двойных), четыре (четырехъядерных) или даже больше ядер. Многоядерные процессоры имеют больше возможностей для одновременного запуска нескольких программ.

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

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

Ширина шины данных

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

Увеличив шину данных с 32-битной до 64-битной, компьютер может передавать вдвое больше информации за один раз.Следовательно, увеличение размера шины данных улучшает производительность системы компьютера.

Кэш-память

Кэш — это небольшой объем памяти, который является частью ЦП и находится ближе к ЦП, чем ОЗУ. Он используется для временного хранения инструкций и данных, которые ЦП может повторно использовать.

Блок управления ЦП автоматически проверяет кэш на наличие инструкций перед запросом данных из ОЗУ. Это позволяет избежать многократного извлечения инструкций и данных из ОЗУ — относительно медленного процесса, который в противном случае мог бы заставить ЦП ждать.Передача в кэш и из кэша занимает меньше времени, чем передача в ОЗУ и из него.

Чем больше имеется кэш, тем больше данных можно хранить ближе к ЦП.

Кэш классифицируется как Уровень 1 (L1), Уровень 2 (L2) и Уровень 3 (L3):

  • L1 обычно является частью самого чипа ЦП и одновременно является самым маленьким и самым быстрым для доступа. Его размер часто ограничивается от 8 до 64 КБ.
  • Кеши L2 и L3 больше, чем L1. Это дополнительные кэши, встроенные между ЦП и ОЗУ.Иногда L2 встроен в ЦП с L1. Доступ к кешам L2 и L3 занимает немного больше времени, чем кэшам L1. Чем больше доступно L2 и L3 памяти, тем быстрее может работать компьютер.

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

Тактовая частота

Тактовая частота — также известная как тактовая частота — указывает, насколько быстро может работать ЦП. Это измеряется в мегагерцах (МГц) или гигагерцах (ГГц) и соответствует тому, сколько циклов команд процессор может обработать за секунду.ЦП с частотой 2 ГГц выполняет два миллиарда циклов в секунду. Более быстрый процессор потребляет больше энергии и выделяет больше тепла.

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

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

Эксперт по ЦП Стив Фурбер объясняет, почему современные ЦП имеют несколько ядер

Производительность ЦП — ЦП и память — GCSE Computer Science Revision

Архитектура ЦП имеет четыре ключевых фактора, которые влияют на его производительность:

  • ядер
  • тактовая частота
  • размер кэша
  • тип процессора

Ядра

ЦП может содержать один или несколько процессоров.Каждая единица называется ядром. Ядро содержит АЛУ, блок управления и регистры. Обычно компьютеры имеют два (двойных), четыре (четырехъядерных) или даже больше ядер. Многоядерные процессоры имеют больше возможностей для одновременного запуска нескольких программ.

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

Тактовая частота

Тактовая частота — также известная как тактовая частота — указывает, насколько быстро может работать ЦП.Это измеряется в мегагерцах (МГц) или гигагерцах (ГГц) и соответствует тому, сколько циклов команд процессор может обработать за секунду. ЦП с частотой 2 ГГц выполняет два миллиарда циклов в секунду. Более быстрый процессор потребляет больше энергии и выделяет больше тепла.

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

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

Эксперт по ЦП Стив Фурбер объясняет, почему современные ЦП имеют несколько ядер

Сколько ядер? Больше всегда лучше?

Большое модное слово в аппаратном обеспечении — это многоядерность. Такие компании, как AMD и Intel, выпускают процессоры с большим количеством ядер, чем когда-либо.Они захватывающие, особенно в игровом мире, но нужны ли они вам? Мы точно исследуем, что делают многоядерные процессоры, и могут ли они действительно улучшить ваш бизнес.

Что такое многоядерный процессор?

Многоядерный процессор — это компьютерный процессор с двумя или более отдельными процессорами (ЦП), называемыми ядрами, каждое из которых считывает и выполняет программные инструкции, как если бы компьютер имел несколько процессоров.

В одноядерном процессоре производительность ЦП ограничена временем, затрачиваемым на обмен данными с кэш-памятью и ОЗУ.Примерно 75% времени процессора используется в ожидании результатов доступа к памяти. Чтобы улучшить производительность своих процессоров, производители выпускают больше многоядерных машин. ЦП с несколькими ядрами может работать значительно лучше, чем одноядерный ЦП с такой же скоростью.

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

Нарезание резьбы

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

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

Тактовые частоты

Высокая тактовая частота означает более быстрый процессор. Например, четырехъядерный процессор может поддерживать тактовую частоту 3.0 ГГц, в то время как двухъядерный процессор может поддерживать тактовую частоту 3,5 ГГц для каждого процессора. Это означает, что двухъядерный процессор может работать на 14% быстрее.

Итак, если у вас однопоточная программа, двухъядерный процессор действительно более эффективен. С другой стороны, если ваша программа может использовать все 4 процессора, тогда четырехъядерный процессор будет примерно на 70% быстрее, чем двухъядерный процессор.

Как это связано с бизнесом?

Когда несколько ядер работают одновременно над командами с меньшей скоростью, чем одноядерное, они достигают неизмеримой скорости обработки.Многоядерные процессоры обеспечивают высокопроизводительные вычисления (HPC). HPC выполняет сложные вычисления и разбивает их на более мелкие части. Используя программное обеспечение, каждая часть вычислений может быть решена несколькими ядрами ЦП. Думайте об этом как о том, как взять суперкомпьютер и разбить его на более мелкие, более управляемые строительные блоки, которые затем можно использовать для решения сложных научных задач.

Таким образом,

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

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

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

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

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

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

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

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

О CMI

Мы позаботимся о вашей ИТ, чтобы вы могли сосредоточиться на ведении бизнеса. Если вы ищете комплексную услугу ИТ-поддержки с привлечением сторонних ресурсов или что-то более гибкое, CMI может вам помочь. Как ведущие специалисты в области сетевой безопасности, обеспечения непрерывности бизнеса, аппаратного и программного обеспечения, облачных вычислений и Интернет-услуг, CMI уже 25 лет помогает предприятиям получить конкурентное преимущество с помощью технологий.Позвоните сегодня по телефону 020 8875 7676, чтобы узнать больше и записаться на бесплатную консультацию.

Нужно ли мне много ядер или более быструю тактовую частоту процессора?

Сколько ядер мне нужно на Mac Pro? Лучше иметь больше ядер с более высокой скоростью обработки?
В этой последней статье все будет объяснено. Итак, от ядер, процессоров, ГГц, многопоточности и гиперпоточности — мы вам поможем!

12-ядерная система с частотой 2,66 ГГц или 3.6 ядер 46 ГГц, что лучше? Стоит ли 12-ядерная система с частотой 3,46 ГГц, или я должен просто получить 6-ядерную? На эти вопросы мы поможем вам ответить сегодня.
Процессоры (или CPU, что означает центральный процессор) прошли долгий путь с момента своего скромного начала. У нас больше ядер и более высокие тактовые частоты, чем когда-либо. Если мы вернемся к 2000 году и к выпуску первых наборов микросхем Intel Pentium 4, то частота процессора превысит 1,5 ГГц, и вам придется подождать до 2005 года, чтобы увидеть, как первый двухъядерный процессор Intel появится на рынке.
Но что все это значит? Тактовая частота, многоядерные, гиперпоточные, двухпроцессорные системы. Нам предстоит многое понять, к счастью, мы собираемся разбить это так, чтобы каждый мог понять. Надеюсь, это поможет вам решить, какой процессор подходит для вашей системы.

Тактовая частота

Многие люди называют ЦП мозгом вашей системы. Чтобы упростить понимание, думайте о ЦП не как о мозге, а как о мускулах. Если вычисления — это машина, то центральный процессор — это двигатель.Чем выше тактовая частота, тем быстрее поедет машина (система). Тактовая частота измеряется в ГГц (гигагерцах), большее число означает более высокую тактовую частоту.
Для запуска ваших приложений ваш ЦП должен постоянно выполнять вычисления. Если у вас более высокая тактовая частота, вы можете выполнять эти вычисления быстрее, и в результате приложения будут работать быстрее и плавнее.

Многоядерные и многопроцессорные

До 2005 года практически все процессоры на рынке были одноядерными.Тактовая частота имела первостепенное значение, и самый быстрый процессор всегда был лучшим выбором. В настоящее время процессоры имеют несколько ядер, и такие системы, как Mac Pro 5,1, могут быть построены с несколькими процессорами (каждый с несколькими ядрами).

Многоядерные процессоры стали популярными, поскольку стало все труднее увеличивать тактовую частоту одноядерных процессоров из-за технологических ограничений. Вместо того, чтобы без устали работать над дополнительной тактовой частотой 0,1 ГГц, производители вместо этого добавили больше идентичных процессоров к отдельным процессорам.

Ядро — это один блок обработки, многоядерные процессоры имеют несколько блоков обработки. Таким образом, двухъядерный процессор с тактовой частотой 3,0 ГГц имеет два процессора, каждый с тактовой частотой 3,0 ГГц. Шестиядерный процессор 3,0 ГГц имеет шесть блоков обработки, каждый с тактовой частотой 3,0 ГГц. Шестиядерный процессор, который мы только что описали, имеет общую тактовую частоту 18,0 ГГц. Значит, ваши программы будут работать в шесть раз быстрее, чем с одноядерным процессором 3,0 ГГц? Ну не совсем…

Многопоточность и гиперпоточность

Итак, мы поговорили о многоядерных и многопроцессорных системах и о том, как они могут помочь вашим приложениям работать быстрее, именно здесь на помощь приходят многопоточность и гиперпоточность.Многопоточность — это способность приложения или операционной системы использовать несколько ядер для обработки. Когда приложения пишутся с учетом многопоточности, они могут извлечь выгоду из множества ядер, доступных в современных ЦП, и увидеть огромный рост производительности по сравнению с использованием одноядерного процессора.
Так что, если ваше приложение не поддерживает многопоточность? Во-первых, это редкость; поддержка многоядерных процессоров в настоящее время является фантастической и будет только улучшаться. Однако, если ваши приложения по какой-то причине не поддерживают многопоточность, вам все равно будет лучше иметь как можно больше ядер.Когда ваши приложения поддерживают только один поток (и вы используете многоядерную систему), они получат целое ядро ​​для себя (если вы не запускаете больше однопоточных приложений, чем у вас есть ядер), вместо того, чтобы делиться ядрами по мере их использования. будет на одноядерной системе.
Значит, больше ядер — это хорошо, поддержка многопоточности еще лучше. Что такое гиперпоточность? Гиперпоточность — это запатентованная технология Intel, которая позволяет разделить одно ядро ​​на виртуальное и логическое и распределять рабочую нагрузку между ними.Гиперпоточность особенно полезна, когда приложения хорошо оптимизированы для многопоточности.

Более высокая тактовая частота по сравнению с большим количеством ядер?

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

Больше ядер, меньше тактовая частота
  • Плюсы
    • Приложения, поддерживающие многопоточность, значительно выиграют, если в их распоряжении будет большее количество ядер
    • Увеличение количества ядер в вашем ЦП — экономичный способ повышения производительности
    • Поддержка многопоточности для приложений со временем будет улучшаться
    • Вы сможете запускать больше приложений одновременно без снижения производительности
    • Отлично подходит для работы нескольких виртуальных машин
  • Минусы
    • Более низкая однопоточная производительность, чем у процессора с более высокой тактовой частотой
Меньше ядер, выше тактовая частота
  • Плюсы
    • Лучшая однопоточная производительность
    • Вариант с меньшими затратами
  • Минусы
    • Меньше ядер для разделения между приложениями
    • Не такая высокая производительность многопоточности

Лучшее, что можно сделать в большинстве случаев, — это изучить поддержку, которую предпочитают ваши приложения для многопоточности.После этого вы можете решить, что вам лучше, например, 6-ядерная система с частотой 3,46 ГГц или 12-ядерная система с частотой 2,66 ГГц.
Также стоит рассмотреть GPGPU, OpenCL и CUDA. В основном, независимо от того, помогает ли ваш графический процессор с задачами обработки, опять же, это в основном случай поддержки конкретного приложения, подробнее о GPGPU читайте здесь.

Означает ли добавление большего количества ядер более высокую производительность?

Вы знакомы с законом Мура? Гордон Мур — соучредитель Intel.Он сделал интересное наблюдение: вычислительная мощность компьютеров должна удваиваться каждые два года или около того. Проще говоря, это связано с тем, что на одном кристалле установлено большее количество транзисторов.

И это подводит нас к вопросу, на который мы попытаемся ответить в этом руководстве: «Верно ли, что большее количество ядер означает лучшую производительность»?

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

Означает ли большее количество ядер более высокую производительность?

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

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

Многоядерный процессор состоит из двух или более ядер (блоков обработки).Каждое ядро ​​обрабатывает разные программные инструкции. Это увеличивает общую вычислительную мощность. Вот почему многоядерный процессор быстрее, чем одноядерный процессор, работающий с той же скоростью.

Проблема с одноядерными процессорами заключается в том, что им требуется больше времени для доступа к кэш-памяти и ОЗУ и выполнения программных инструкций. И это делает их немного медленными. Многоядерные процессоры решили эту проблему, распределяя нагрузку на большее количество ядер и выполняя несколько процессов одновременно. Это изменение в архитектуре процессора значительно повысило скорость передачи данных.

Что важнее: ядра или ГГц?

Вообще говоря, тактовая частота (ГГц) более важна, чем количество ядер, когда речь идет об общей вычислительной мощности и производительности.

Это связано с тем, что высокая тактовая частота означает, что ваш процессор будет быстрее читать и выполнять данные. Например, предположим, что у вас есть шестиядерный процессор (шесть ядер), работающий на частоте 3,5 ГГц. Затем у вас есть четырехъядерный процессор (четыре ядра) с тактовой частотой 4 ГГц.Четырехъядерный процессор фактически будет работать на 13,5% быстрее.

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

Для каких задач нужно больше ядер?

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

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

Что лучше: больше ядер или больше оперативной памяти?

Больше ОЗУ означает больше места для ваших программ. Это не обязательно означает большую скорость или лучшую производительность.

Если ваша главная забота — скорость, то лучше иметь больше ядер, чем ОЗУ.Но ответ также зависит от того, какие программы вы используете. Например, если вы запускаете моделирование, вам нужно много оперативной памяти. В этом случае наличие нескольких ядер, но нехватки оперативной памяти приводит к проблемам с замедлением.

Плохо иметь два ядра?

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

Конечно, если вы хотите большей скорости и производительности, смело выбирайте четырехъядерный процессор. Но все, что выше четырех ядер, не имеет значения для обычного пользователя.

Четыре ядра лучше двух?

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

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

Ограничения и смешанные преимущества

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

Производительность многих программ фактически ограничена одним потоком или самым быстрым потоком.

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

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

Должен ли я включать все ядра?

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

Например, Windows 10 настроена на автоматическое использование всех ядер, если программа, которую вы запускаете, имеет такую ​​возможность.

Как включить все ядра?

Если вы хотите вручную включить все ядра, вам нужно сделать следующее:

  1. Введите «конфигурация системы» в строке поиска Windows.
  2. Дважды щелкните приложение «Конфигурация системы».
  3. Щелкните вкладку Boot.
  4. Затем выберите Дополнительные параметры.
  5. Установите флажок Число процессоров.
  6. Используйте раскрывающееся меню, чтобы выбрать количество ядер, которое вы хотите включить.
  7. Сохраните изменения.

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

Заключение

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

Итак, видите ли, когда дело касается количества ядер и производительности компьютера, ответ — «это зависит от обстоятельств».Это зависит от того, какие программы вы установили и какие задачи выполняете.

⇒ Интересный факт: какое наибольшее количество ядер в процессоре? Altra Max от Ampere в настоящее время является процессором с самым большим количеством ядер в мире с колоссальными 128 ядрами. Altra Max подходит для облачной архитектуры.

Сколько ядер слишком много?

Этот сайт может получать партнерские комиссии за ссылки на этой странице. Условия эксплуатации.

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

Это было приемлемым мышлением до сих пор — в конце концов, это только в этом году, с выпуском серий Intel Core i7-980X и Core i7-970 и AMD Phenom II X6 (включая 1090T, 1055T и 1075T). ), что количество ядер в потребительских ЦП переросло то, что можно сосчитать, просто используя пальцы одной руки.Но технологии никогда не перестают развиваться, и некоторые недавние исследования показывают, что текущие рекомендации покупать как можно больше ядер могут оказаться недолговечными.

Группа исследователей из Массачусетского технологического института представляет сегодня на симпозиуме USENIX по проектированию и внедрению операционных систем в Торонто доклад под названием «Анализ масштабируемости Linux для многих ядер», в котором подробно рассказывается о том, как очень большое количество ядер влияет на производительность обработки. . Этот документ может касаться конкретно Linux, но он служит полезным напоминанием для всех о проблемах, с которыми сталкивается проектирование оборудования и программного обеспечения в современном компьютерном мире, и о том, насколько важно, чтобы эти проблемы были решены в ближайшее время.

Проблема, по мнению исследователей, начинает проявляться в системах с десятками ядер. Они построили систему, в которой восемь шестиядерных чипов эффективно имитировали один 48-ядерный чип, а затем наблюдали, что произошло, в длительной серии тестов. Большое количество ядер могло сделать систему невероятно быстрой, но она все равно была медленнее, чем должна была быть. Причина? Эта история от MITnews объясняет:

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

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

Согласно статье, проблемы часто возникали из-за проблем с кешем:

Многие проблемы масштабирования проявляются как задержки, вызванные промахами в кэше, когда ядро ​​использует данные, записанные другими ядрами. Это обычный симптом как конфликта блокировок, так и конфликта изменяемых данных без блокировок.Детали зависят от протокола согласованности аппаратного кэша, но обычно следующее. Каждое ядро ​​имеет кэш данных для собственного использования. Когда ядро ​​записывает данные, кэшированные другими ядрами, протокол согласования кеша заставляет запись ждать, пока протокол найдет кэшированные копии и аннулирует их. Когда ядро ​​считывает данные, которые только что записало другое ядро, протокол согласования кеша не возвращает данные, пока не найдет кеш, содержащий измененные данные, аннотирует этот кеш, чтобы указать, что есть копия данных, и не получит данные. до читающего ядра.Эти операции занимают примерно столько же времени, что и загрузка данных из ОЗУ вне кристалла (сотни циклов), поэтому совместное использование изменяемых данных может иметь непропорционально большое влияние на производительность.

Вывод, согласно истории MITnews, заключается в том, что «[s] легкое переписывание кода Linux так, чтобы каждое ядро ​​сохраняло локальный счетчик, который только иногда синхронизировался с счетчиками других ядер, значительно улучшило общую производительность системы. . » Но будет ли то, что работает в современном Linux и других операционных системах, работать, когда количество ядер вырастет еще больше? По словам одного из исследователей, за последние 48 лет «могут потребоваться новые архитектуры и операционные системы.”

% PDF-1.4
%
612 0 объект
>
эндобдж

xref
612 224
0000000016 00000 н.
0000006073 00000 п.
0000006220 00000 н.
0000007895 00000 н.
0000008384 00000 п.
0000008773 00000 н.
0000009357 00000 н.
0000009855 00000 н.
0000009939 00000 н.
0000010054 00000 п.
0000010167 00000 п.
0000010281 00000 п.
0000010393 00000 п.
0000010443 00000 п.
0000010975 00000 п.
0000011345 00000 п.
0000011792 00000 п.
0000011938 00000 п.
0000021774 00000 п.
0000033217 00000 п.
0000044621 00000 п.
0000051150 00000 п.
0000051441 00000 п.
0000051609 00000 п.
0000061712 00000 п.
0000061858 00000 п.
0000062004 00000 п.
0000062177 00000 п.
0000062323 00000 п.
0000062469 00000 п.
0000062641 00000 п.
0000062814 00000 п.
0000062960 00000 п.
0000063157 00000 п.
0000063303 00000 п.
0000063400 00000 п.
0000063572 00000 п.
0000063718 00000 п.
0000063815 00000 п.
0000075931 00000 п.
0000076077 00000 п.
0000076199 00000 п.
0000076345 00000 п.
0000076491 00000 п.
0000076588 00000 п.
0000076734 00000 п.
0000076831 00000 н.
0000076953 00000 п.
0000077099 00000 п.
0000077245 00000 п.
0000077391 00000 п.
0000077537 00000 п.
0000077634 00000 п.
0000077780 00000 п.
0000077877 00000 п.
0000078050 00000 п.
0000078196 00000 п.
0000078343 00000 п.
0000078489 00000 п.
0000078586 00000 п.
0000078732 00000 п.
0000078878 00000 п.
0000079024 00000 н.
0000079170 00000 п.
0000079316 00000 п.
0000079345 00000 п.
0000079491 00000 п.
0000079637 00000 п.
0000079783 00000 п.
0000079929 00000 н.
0000080075 00000 п.
0000080221 00000 п.
0000080367 00000 п.
0000080513 00000 п.
0000080659 00000 п.
0000080806 00000 п.
0000080952 00000 п.
0000081098 00000 п.
0000081219 00000 п.
0000091167 00000 п.
0000091340 00000 п.
0000092276 00000 п.
0000093661 00000 п.
0000093834 00000 п.
0000094974 00000 п.
0000095160 00000 п.
0000095346 00000 п.
0000096294 00000 п.
0000097198 00000 н.
0000097442 00000 п.
0000098835 00000 п.
0000099008 00000 н.
0000099181 00000 п.
0000099394 00000 н.
0000099607 00000 н.
0000100656 00000 н.
0000100829 00000 н.
0000102299 00000 н.
0000102472 00000 н.
0000102645 00000 н.
0000103835 00000 п.
0000104063 00000 н.
0000104240 00000 н.
0000104413 00000 н.
0000104586 00000 н.
0000104804 00000 н.
0000106132 00000 н.
0000106338 00000 п.
0000106524 00000 н.
0000106710 00000 н.
0000106883 00000 н.
0000107056 00000 п.
0000107229 00000 п.
0000107423 00000 п.
0000107609 00000 н.
0000107795 00000 п.
0000107981 00000 п.
0000108158 00000 н.
0000108331 00000 п.
0000108504 00000 н.
0000108681 00000 п.
0000108854 00000 н.
0000109192 00000 п.
0000110815 00000 н.
0000112325 00000 н.
0000112585 00000 н.
0000113673 00000 н.
0000114569 00000 н.
0000114780 00000 н.
0000114994 00000 н.
0000116482 00000 н.
0000117585 00000 н.
0000117762 00000 н.
0000117956 00000 н.
0000119308 00000 н.
0000119481 00000 н.
0000119654 00000 н.
0000119827 00000 н.
0000120000 00000 н.
0000120173 00000 н.
0000121276 00000 н.
0000131184 00000 н.
0000131330 00000 н.
0000131475 00000 н.
0000131621 00000 н.
0000131766 00000 н.
0000131906 00000 н.
0000132047 00000 н.
0000132171 00000 н.
0000132294 00000 н.
0000132433 00000 н.
0000132579 00000 н.
0000132725 00000 н.
0000132871 00000 н.
0000133017 00000 н.
0000133163 00000 п.
0000133309 00000 н.
0000133455 00000 н.
0000133601 00000 н.
0000133747 00000 н.
0000133890 00000 н.
0000134036 00000 н.
0000134177 00000 н.
0000134308 00000 н.
0000134449 00000 н.
0000134590 00000 н.
0000134736 00000 н.
0000134879 00000 н.
0000135016 00000 н.
0000135151 00000 н.
0000138092 00000 н.
0000141956 00000 н.
0000142607 00000 н.
0000143029 00000 н.
0000146178 00000 н.
0000149327 00000 н.
0000157108 00000 н.
0000209829 00000 н.
0000209946 00000 н.
0000210012 00000 н.
0000210345 00000 п.
0000218126 00000 н.
0000221275 00000 н.
0000221353 00000 н.
0000221388 00000 н.
0000221542 00000 н.
0000221663 00000 н.
0000221742 00000 н.
0000221821 00000 н.
0000221850 00000 н.
0000221990 00000 н.
0000222127 00000 н.
0000222263 00000 н.