Многоядерность процессора или характеристика количества ядер

На первых порах развития процессоров, все старания по повышению производительности процессоров были направлены в сторону наращивания тактовой частоты, но с покорением новых вершин показателей частоты, наращивать её стало тяжелее, так как это сказывалось на увеличении 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-ми ядерные процессоры

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

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

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


Комментарии   

 
+42 # Дмитрий 03.12.2012 20:17
Очень полезная статья, спасибо автору!
 
 
+3 # Spang 29.03.2013 11:56
Согласен с Дмитрием!
 
 
+1 # Никита 01.04.2013 21:43
в чем различие многопоточного процессора от многоядерного ? тот же hyper-threading ?
 
 
+18 # Администратор 01.04.2013 23:56
Никита, многоядерность - это количество физических ядер. 2,4,6,8 ядер - это именно физические архитектурные ядра.
А многопоточность - это количество одновременно обрабатываемых потоков. То есть, у FX-8350 например, 8 потоков и 8 ядер, а i7-3770 - 4 физических ядра и благодаря Hyper-Threading 8 потоков.
 
 
+2 # Рафаэль 01.06.2013 16:07
Спасибо за развернутый ответ на мой уже долго волнуйющий меня вопрос! :-)
 
 
+1 # KAi 19.06.2013 01:43
А как к ядерности относится тактовая частота и зависит ли она от ядерности(много поточости)?
 
 
+15 # Администратор 19.06.2013 18:17
Частота - это отдельный параметр. Если написано, что частота процессора 3 ГГц - это означает, что каждое ядро процессора работает на частоте 3 Ггц. То бишь, частота с многоядерностью не связана.
 
 
+8 # ВаcМих 20.06.2013 17:37
Грамотно пишешь и понятно без лишних ненужных слов.
 
 
+4 # Сергей G 30.06.2013 18:16
Спасибо за статью.Но вы не могли бы написать, как узнать сколько ядер у процессора?Напр имер в описании компа написано- Процессор — Intel Core i3-2120 (Sandy Bridge, 3.3 ГГц, 3Мб, S1155).Как это понять?
 
 
-3 # Елена1234 14.06.2014 15:21
А меня больше интересует как определить именно физические ядра,а не локальные...Пок упаю ноутбук,нужен для создания сайтов...
 
 
0 # radmin 13.09.2014 18:51
fx 8350 отлично тянет игрушки, правда были кое какие подвисания в ROME2totalwar,s upremcom2 в основном в ультра 3d режиме , но я бахнул SLI и проблема была устранена , запас мощности у него действительно большой))))
 
 
-1 # Джамал 27.09.2014 20:56
на сколько я осведомлен, существуют одно, двух, четырех и восьми ядерные процессоры... но недавно мне один любезный человек доказывал что есть пяти ядерный!!! можете статью написать с подробным описанием разновидностей ядер и сколько ядер на тех же i3 i5 i7? если вас не затруднит. заранее спасибо!
 
 
-1 # Астсергей 02.03.2016 14:07
Здравствуйте, скажем в ASUS X54H - Если я меняю 3i-2310m на i7- 2670- -ОС - ДОС - она сможет работать с ней как с 4 ядрами и 8- потоками?
 

У Вас не достаточно прав для комментирования!

Инфо

Информативно о компьютерных технологиях. Различные материалы относительно компьютерного железа, софта (программ) и сетевых технологий. При полном или частичном копировании информации - прямая ссылка на сайт (We-it.net) обязательна.