Как работают многоядерные процессоры. Многоядерные процессоры: принципы работы. Увеличение производительности за счёт многоядерности

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

Ещё буквально 6-7 лет назад, о многоядерности процессоров практически не было слышно. Нет, многоядерные процессоры от той же компании IBM существовали и ранее, но появление первого двухъядерного процессора для настольных компьютеров , состоялось лишь в 2005 году, и назывался данный процессор Pentium D. Также, в 2005 году был выпущен двухъядерник Opteron от AMD, но для серверных систем.

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

Увеличение производительности за счёт многоядерности

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

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


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

И рассмотрим, что же будет в двух разных случаях:

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

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

Нужны ли многоядерные процессоры? Повседневная резонность

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

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

Точкой старта можно назвать двухъядерные процессоры, так как нет смысла возвращаться к одноядерным решениям. Но и двухъядерные процессоры бывают разные. Это может быть не «самый» свежий Celeron, а может быть Core i3 на Ivy Bridge, точно так же и у АМД – Sempron или Phenom II. Естественно, за счёт других показателей производительность у них будет очень отличаться, поэтому нужно смотреть на всё комплексно и сопоставлять многоядерность с другими характеристиками процессоров .

К примеру, у Core i3 на Ivy Bridge, в наличии имеется технология Hyper-Treading, что позволяет обрабатывать 4 потока одновременно (операционная система видит 4 логических ядра, вместо 2-ух физических). А тот же Celeron таким не похвастается.

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

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


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

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

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

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

Центральный процессор

Процессор персонального компьютера представляет собой микросхему, которая отвечает за выполнение любых операций с данными и управляет периферийными устройствами. Он содержится в специальном кремниевом корпусе, называемом кристаллом. Для краткого обозначения используют аббревиатуру — ЦП (центральный процессор) или CPU (от англ. Central Processing Unit – центральное обрабатывающее устройство). На современном рынке компьютерных комплектующих присутствуют две конкурирующие корпорации, Intel и AMD , которые беспрестанно участвуют в гонке за производительность новых процессоров, постоянно совершенствуя технологический процесс.

Техпроцесс

Техпроцесс — это размер, используемый при производстве процессоров. Он определяет величину транзистора, единицей измерения которого является нм (нанометр). Транзисторы, в свою очередь, составляют внутреннюю основу ЦП. Суть заключается в том, что постоянное совершенствование методики изготовления позволяет уменьшать размер этих компонентов. В результате на кристалле процессора их размещается гораздо больше. Это способствует улучшению характеристик CPU, поэтому в его параметрах всегда указывают используемый техпроцесс. Например, Intel Core i5-760 выполнен по техпроцессу 45 нм, а Intel Core i5-2500K по 32 нм, исходя из этой информации, можно судить о том, насколько процессор современен и превосходит по производительности своего предшественника, но при выборе необходимо учитывать и ряд других параметров.

Архитектура

Также процессорам свойственно такая характеристика, как архитектура - набор свойств, присущий целому семейству процессоров, как правило, выпускаемому в течение многих лет. Говоря другими словами, архитектура – это их организация или внутренняя конструкция ЦП.

Количество ядер

Ядро – самый главный элемент центрального процессора. Оно представляет собой часть процессора, способное выполнять один поток команд. Ядра отличаются по размеру кэш памяти, частоте шины, технологии изготовления и т. д. Производители с каждым последующим техпроцессом присваивают им новые имена (к примеру, ядро процессора AMD – Zambezi, а Intel – Lynnfield). С развитием технологий производства процессоров появилась возможность размещать в одном корпусе более одного ядра, что значительно увеличивает производительность CPU и помогает выполнять несколько задач одновременно, а также использовать несколько ядер в работе программ. Многоядерные процессоры смогут быстрее справиться с архивацией, декодированием видео, работой современных видеоигр и т.д. Например, линейки процессоров Core 2 Duo и Core 2 Quad от Intel, в которых используются двухъядерные и четырехъядерные ЦП, соответственно. На данный момент массово доступны процессоры с 2, 3, 4 и 6 ядрами. Их большее количество используется в серверных решениях и не требуется рядовому пользователю ПК.

Частота

Помимо количества ядер на производительность влияет тактовая частота . Значение этой характеристики отражает производительность CPU в количестве тактов (операций) в секунду. Еще одной немаловажной характеристикой является частота шины (FSB – Front Side Bus) демонстрирующая скорость, с которой происходит обмен данных между процессором и периферией компьютера. Тактовая частота пропорциональна частоте шины.

Сокет

Чтобы будущий процессор при апгрейде был совместим с имеющейся материнской платой, необходимо знать его сокет. Сокетом называют разъем , в который устанавливается ЦП на материнскую плату компьютера. Тип сокета характеризуется количеством ножек и производителем процессора. Различные сокеты соответствуют определенным типам CPU, таким образом, каждый разъём допускает установку процессора определённого типа. Компания Intel использует сокет LGA1156, LGA1366 и LGA1155, а AMD — AM2+ и AM3.

Кэш

Кэш - объем памяти с очень большой скоростью доступа, необходимый для ускорения обращения к данным, постоянно находящимся в памяти с меньшей скоростью доступа (оперативной памяти). При выборе процессора, помните, что увеличение размера кэш-памяти положительно влияет на производительность большинства приложений. Кэш центрального процессора различается тремя уровнями (L1, L2 и L3 ), располагаясь непосредственно на ядре процессора. В него попадают данные из оперативной памяти для более высокой скорости обработки. Стоит также учесть, что для многоядерных CPU указывается объем кэш-памяти первого уровня для одного ядра. Кэш второго уровня выполняет аналогичные функции, отличаясь более низкой скоростью и большим объемом. Если вы предполагаете использовать процессор для ресурсоемких задач, то модель с большим объемом кэша второго уровня будет предпочтительнее, учитывая что для многоядерных процессоров указывается суммарный объем кэша L2. Кэшем L3 комплектуются самые производительные процессоры, такие как AMD Phenom, AMD Phenom II, Intel Core i3, Intel Core i5, Intel Core i7, Intel Xeon. Кэш третьего уровня наименее быстродействующий, но он может достигать 30 Мб.

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

Энергопотребление процессора тесно связано с технологией его производства. С уменьшением нанометров техпроцесса, увеличением количества транзисторов и повышением тактовой частоты процессоров происходит рост потребления электроэнергии CPU. Например, процессоры линейки Core i7 от Intel требуют до 130 и более ватт. Напряжение подающееся на ядро ярко характеризует энергопотребление процессора. Этот параметр особенно важен при выборе ЦП для использования в качестве мультимедиа центра. В современных моделях процессоров используются различные технологии, которые помогают бороться с излишним энергопотреблением: встраиваемые температурные датчики, системы автоматического контроля напряжения и частоты ядер процессора, энергосберегающие режимы при слабой нагрузке на ЦП.

Дополнительные возможности

Современные процессоры приобрели возможности работы в 2-х и 3-х канальных режимах с оперативной памятью, что значительно сказывается на ее производительности, а также поддерживают больший набор инструкций, поднимающий их функциональность на новый уровень. Графические процессоры обрабатывают видео своими силами, тем самым разгружая ЦП, благодаря технологии DXVA (от англ. DirectX Video Acceleration – ускорение видео компонентом DirectX). Компания Intel использует вышеупомянутую технологию Turbo Boost для динамического изменения тактовой частоты центрального процессора. Технология Speed Step управляет энергопотреблением CPU в зависимости от активности процессора, а Intel Virtualization Technology аппаратно создает виртуальную среду для использования нескольких операционных систем. Также современные процессоры могут делиться на виртуальные ядра с помощью технологии Hyper Threading . Например, двухъядерный процессор способен делить тактовую частоту одного ядра на два, что способствует высокой производительности обработки данных с помощью четырех виртуальных ядер.

Размышляя о конфигурации вашего будущего ПК, не забывайте про видеокарту и ее GPU (от англ. Graphics Processing Unit – графическое обрабатывающее устройство) – процессор вашей видеокарты, который отвечает за рендеринг (арифметические операции с геометрическими, физическими объектами и т.п.). Чем больше частота его ядра и частота памяти, тем меньше будет нагрузки на центральный процессор. Особенное внимание к графическому процессору должны проявить геймеры.

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

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

Чаще всего под многоядерными процессорами понимают центральные процессоры, в которых несколько вычислительных ядер интегрированы в одну микросхему (то есть они расположены на одном кристалле кремния).

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

Hyper-threading

Ядра в многоядерных процессорах могут поддерживать технологию SMT, позволяющую исполнять несколько потоков вычислений и создавать на основе каждого ядра несколько логических процессоров. На процессорах, которые выпускает компания Intel, такая технология называется «Hyper-threading». Благодаря ей можно удваивать число логических процессоров по сравнению с числом физических чипов. В микропроцессорах, поддерживающих эту технологию, каждый физический процессор способен сохранять состояние двух потоков одновременно. Для операционной системы это будет выглядеть, как наличие двух логических процессоров. Если в работе одного из них возникает пауза (например, он ждет получения данных из памяти), другой логический процессор приступает к выполнению собственного потока.

Виды многоядерных процессоров

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

Принцип работы

Большинство современных многоядерных процессоров работает по следующей схеме. Если запущенное приложение поддерживает многопоточность, оно может заставлять процессор выполнять несколько заданий одновременно. Например, если в компьютере используется 4-ядерный процессор с тактовой частотой 1.8 ГГц, программа может «загрузить» работой сразу все четыре ядра, при этом суммарная частота процессора будет составлять 7.2 ГГц. Если запущено сразу несколько программ, каждая из них может использовать часть ядер процессора, что тоже приводит к росту производительности компьютера.

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

Ядро процессора

Термин «ядро микропроцессора» (англ. processor core ) не имеет чёткого определения и в зависимости от контекста употребления может обозначать:

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

Ядро микропроцессора обычно имеет собственное кодовое обозначение (например, Deschutes).

Характеристики ядра

Типичными характеристиками ядра являются, например:

  • микроархитектура;
  • количество функциональных блоков (ALU , FPU , конвейеров и т.п.);
  • объём встроенной кэш-памяти ;
  • интерфейс (логический и физический);
  • тактовые частоты;
  • напряжение питания;
  • максимальное и типичное тепловыделение;
  • технология производства;
  • площадь кристалла.

Ревизии ядра

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

Ссылки

Wikimedia Foundation . 2010 .

Смотреть что такое "Ядро процессора" в других словарях:

    Ядро нечто центральное и самое важное, часто круглое. Это слово имеет различные значения в разных областях: Содержание 1 Ядерная физика 2 Биология 3 Науки о Земле 4 Спорт … Википедия

    Содержание 1 Ядерная физика 2 Биология 3 Науки о Земле … Википедия

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

    Термин «ядро микропроцессора» (англ. processor core) не имеет чёткого определения и в зависимости от контекста употребления может обозначать: часть микропроцессора, содержащую основные функциональные блоки. набор параметров, характеризующих… … Википедия

    Кэш микропроцессора кэш (сверхоперативная память), используемый микропроцессором компьютера для уменьшения среднего времени доступа к компьютерной памяти. Является одним из верхних уровней иерархии памяти … Википедия

    Эту страницу предлагается переименовать в Разъём процессора. Пояснение причин и обсуждение на странице Википедия:К переименованию/19 марта 2012. Возможно, её текущее название не соответствует нормам современного русского языка и/или… … Википедия

    Кэш (англ. cache, произносится kæʃ кЭш) промежуточный буфер с быстрым доступом, содержащий копию той информации, которая хранится в памяти с менее быстрым доступом, но с наибольшей вероятностью может быть оттуда запрошена. Доступ к данным в… … Википедия

    Ядро процессора Cell Cell микропроцессорная архитектура, совместно разработанная Sony, Toshiba и IBM, которые организовали альянс, известный как «STI». Разработка архитектуры и первые прототипы были созданы в STI Design Center за… … Википедия

    80486 DX2 x86 (англ. Intel 80x86) архитектура процессора c одноимённым наборо … Википедия

    - << Athlon >> Центральный процессор … Википедия

Книги

  • Ядро Cortex-M3 компании ARM Полное руководство , Ю Д.. Настоящая книга представляет собой исчерпывающее руководство по новому 32-битному процессору компании ARM - Cortex-M3. В данном руководстве подробно описана архитектурапроцессорного ядра…

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

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

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

Когда мы изучали вопрос, то обратили внимание на особенность процессоров Intel – в стандартных инструментах Windows отображается разное число ядер. Это обусловлено работой технологии Hyper-Threading, которая обеспечивает многопоточность.

Чтобы вы больше не путались в понятиях, разберемся раз и навсегда:

  • Многоядерность – чип оснащен несколькими физическими архитектурными ядрами. Их можно увидеть, потрогать руками.
  • Многопоточность – несколько одновременно обрабатываемых потоков информации.
    Ядро может быть физически одно, но программные технологии на его основе создают два потока выполнения задач; два ядра – четыре потока и т.д.

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

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

  • архиваторы;
  • медиапроигрыватели;
  • кодировщики видео;
  • дефрагментаторы;
  • антивирусы;
  • графические редакторы.

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

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

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

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

Так сколько ядер выбирать?

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

  • Если компьютер приобретается для работы с документами, серфинга в интернете, прослушивания музыки, просмотра фильмов, то хватит двух ядер. Если взять процессор с двумя ядрами из верхнего ценового сегмента с хорошей частотой и поддержкой многопоточности, то не будет проблем при работе с графическими редакторами.
  • Если вы покупаете машину с расчетом на мощную игровую производительность, то сразу ставьте фильтр на 4 ядра минимум. 8 ядер с поддержкой многопоточности – самый топ с запасом на несколько лет. 16 ядер – перспективно, но велика вероятность, что пока вы раскроете потенциал такого чипа, он устареет.

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

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

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

Ещё на сайте:

На что влияет количество ядер процессора обновлено: Январь 31, 2018 автором: admin