Двухъядерные и четырехъядерные процессоры работа браузера. Чем восемь ядер процессора смартфона лучше четырех? Виды многоядерных процессоров

…в процессе развития количество ядер будет становиться всё больше и больше.

(Разработчики Intel )

Ещё core , да ещё core , да ещё много, много core !..

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

Что такое ядро процессора

В центре современного центрального микропроцессора (CPU – сокр. от англ. central processing unit – центральное вычислительное устройство) находится ядро (core ) – кристалл кремния площадью примерно один квадратный сантиметр, на котором посредством микроскопических логических элементов реализована принципиальная схема процессора, так называемая архитектура (chip architecture ).

Ядро связано с остальной частью чипа (называемой «упаковка», CPU Package ) по технологии «флип-чип» (flip-chip , flip-chip bonding – перевернутое ядро, крепление методом перевернутого кристалла). Эта технология получила такое название, потому что обращённая наружу – видимая – часть ядра на самом деле является его «дном», – чтобы обеспечить прямой контакт с радиатором кулера для лучшей теплоотдачи. С обратной (невидимой) стороны находится сам «интерфейс» – соединение кристалла и упаковки. Соединение ядра процессора с упаковкой выполнено с помощью столбиковых выводов (Solder Bumps ).

Ядро расположено на текстолитовой основе, по которой проходят контактные дорожки к «ножкам» (контактным площадкам), залито термическим интерфейсом и закрыто защитной металлической крышкой.

Первый (естественно, одноядерный!) микропроцессор Intel 4004 был представлен 15 ноября 1971 г. корпорацией Intel. Он содержал 2300 транзисторов, работал на тактовой частоте 108 кГц и стоил $300.

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

Долгое время повышение производительности традиционных одноядерных процессоров в основном происходило за счет последовательного увеличения тактовой частоты (около 80% производительности процессора определяла именно тактовая частота) с одновременным увеличением количества транзисторов на одном кристалле. Однако дальнейшее повышение тактовой частоты (при тактовой частоте более 3,8 ГГц чипы попросту перегреваются!) упирается в ряд фундаментальных физических барьеров (поскольку технологический процесс почти вплотную приблизился к размерам атома: сегодня процессоры выпускаются по 45-нм технологии, а размеры атома кремния – приблизительно 0,543 нм):

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

Во-вторых, преимущества более высокой тактовой частоты частично сводятся на нет из-за задержек при обращении к памяти, так как время доступа к памяти не соответствует возрастающим тактовым частотам;

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

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

Так в недрах компании Intel родилась Hyper-Threading Technology (HTT ) – технология сверхпоточной обработки данных, которая позволяет процессору выполнять в одноядерном процессоре параллельно до четырех программных потоков одновременно. Hyper-threading значительно повышает эффективность выполнения ресурсоемких приложений (например, связанных с аудио- и видеоредактированием, 3D -моделированием), а также работу ОС в многозадачном режиме.

Процессор Pentium 4 с включенным Hyper-threading имеет одно физическое ядро, которое разделено на два логических , поэтому операционная система определяет его, как два разных процессора (вместо одного).

Hyper-threading фактически стала трамплином к созданию процессоров с двумя физическими ядрами на одном кристалле. В 2-ядерном чипе параллельно работают два ядра (два процессора!), которые при меньшей тактовой частоте обеспечивают бо льшую производительность, поскольку параллельно (одновременно!) выполняются два независимых потока инструкций.

Способность процессора выполнять одновременно несколько программных потоков называется параллелизмом на уровне потоков (TLP thread-level parallelism ). Необходимость в TLP зависит от конкретной ситуации (в некоторых случаях она просто бесполезна!).

Основные проблемы создания процессоров

Каждое ядро процессора должно быть независимым, – с независимым энергопотреблением и управляемой мощностью;

Рынок программного обеспечения должен быть обеспечен программами, способными эффективно разбивать алгоритм ветвления команд на четное (для процессоров с четным количеством ядер) или на нечётное (для процессоров с нечётным количеством ядер) количество потоков;

По сообщению пресс-службы AMD , на сегодня рынок 4-ядерных процессоров составляет не более 2% от общего объема. Очевидно, что для современного покупателя приобретение 4-ядерного процессора для домашних нужд пока почти не имеет смысла по многим причинам. Во-первых, на сегодня практически нет программ, способных эффективно использовать преимущества 4-х одновременно работающих потоков; во-вторых, производители позиционируют 4-ядерные процессоры, как Hi-End -решения, добавляя к оснастке самые современные видеокарты и объемные жесткие диски, – а это в конечном счете ещё больше увеличивает стоимость и без того недешёвых

Разработчики Intel говорят: «…в процессе развития количество ядер будет становиться всё больше и больше…».

Что ждёт нас в будущем

В корпорации Intel уже говорят не о «Мультиядерности» (Multi-Core ) процессоров, как это делается в отношении 2-, 4-, 8-, 16- или даже 32-ядерных решений, а о «Многоядерности» (Many-Core ), подразумевая совершенно новую архитектурную макроструктуру чипа, сравнимую (но не схожую) с архитектурой процессора Cell .

Структура такого Many-Core -чипа подразумевает работу с тем же набором инструкций, но с помощью мощного центрального ядра или нескольких мощных CPU , «окруженных» множеством вспомогательных ядер, что поможет более эффективно обрабатывать сложные мультимедийные приложения в многопоточном режиме. Кроме ядер «общего назначения», процессоры Intel будут обладать также специализированными ядрами для выполнения различных классов задач – таких, как графика, алгоритмы распознавания речи, обработка коммуникационных протоколов.

Именно такую архитектуру представил Джастин Раттнер (Justin R. Rattner ), руководитель сектора Corporate Technology Group Intel , на пресс-конференции в Токио. По его словам, таких вспомогательных ядер в новом многоядерном процессоре может насчитываться несколько дюжин. В отличие от ориентации на большие, энергоемкие вычислительные ядра с большой теплоотдачей, многоядерные кристаллы Intel будут активизировать только те ядра, которые необходимы для выполнения текущей задачи, тогда как остальные ядра будут отключены. Это позволит кристаллу потреблять ровно столько электроэнергии, сколько нужно в данный момент времени.

В июле 2008 г. корпорация Intel сообщила, что рассматривает возможность интеграции в один процессор нескольких десятков и даже тысяч вычислительных ядер. Ведущий инженер компании Энвар Галум (Anwar Ghuloum ) написал в своем блоге: «В конечном счете, я рекомендую воспользоваться следующим моим советом… разработчики уже сейчас должны начать думать о десятках, сотнях и тысячах ядер». По его словам, в настоящий момент Intel изучает технологии, которые смогли бы масштабировать вычисления «на то количество ядер, которые мы пока не продаём».

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

Гонку за дополнительную производительность на рынке процессоров могут выиграть только те производители, которые на основе текущих технологий производства смогут обеспечить разумный баланс между тактовой частотой и количеством вычислительных ядер. Благодаря переходу на 90- и 65-нм техпроцессы появилась возможность создавать процессоры с большим числом ядер. В немалой степени это было обусловлено и новыми возможностями регулировки тепловыделения, и размерами ядер, именно поэтому сегодня мы наблюдаем появление всё большего числа четырёхядерных процессоров. Но как насчёт программного обеспечения? Насколько хорошо оно масштабируется от одного до двух или четырёх ядер?

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

Но имеет ли смысл оснащать процессоры четырьмя или даже большим числом ядер? Хватит ли работы, чтобы нагрузить четыре ядра или большее их количество? Не стоит забывать, что весьма сложно распределить работу между ядрами, чтобы такие физические интерфейсы, как HyperTransport (AMD) или Front Side Bus (Intel), не стали "узким местом". Есть и третий вариант: механизм, который распределяет нагрузку между ядрами, а именно, диспетчер ОС, может тоже стать "узким местом".

Переход AMD с одного на два ядра прошёл практически безупречно, поскольку компания не увеличивала тепловой пакет до экстремального уровня, как это было у процессоров Intel Pentium 4. Поэтому процессоры Athlon 64 X2 были дорогими, но вполне разумными, а линейка Pentium D 800 прославилась своей горячей работой. Но 65-нм процессоры Intel и, в особенности, линейка Core 2 изменили картину. Intel смогла сочетать два процессора Core 2 Duo в одной упаковке, в отличие от AMD, в результате чего мы и получили современные Core 2 Quad. AMD обещает выпустить до конца этого года свои собственные четырёхядерные процессоры Phenom X4.

В нашей статье мы рассмотрим конфигурацию Core 2 Duo на четырёх ядрах, двух ядрах и на одном ядре. И посмотрим, насколько хорошо масштабируется производительность. Стоит ли сегодня переходить на четыре ядра?

Одно ядро

Под термином "одноядерный" скрывается процессор, который обладает одним вычислительным ядром. Сюда подпадают практически все процессоры с зарождения архитектуры 8086 вплоть до Athlon 64 и Intel Pentium 4. Пока техпроцесс производства не стал достаточно тонким, чтобы создавать два вычислительных ядра на одном кристалле, переход на меньший техпроцесс использовался для снижения рабочего напряжения, увеличения тактовых частот или добавления функциональных блоков и кэш-памяти.

Работа одноядерного процессора на высоких тактовых частотах может дать более высокую производительность для одного приложения, но подобный процессор в один момент времени может выполнять только одну программу (поток). Intel реализовала принцип Hyper-Threading, который эмулирует наличие нескольких ядер для операционной системы. Технология HT позволила лучше загрузить длинные конвейеры процессоров Pentium 4 и Pentium D. Конечно, прирост производительности был невелик, но отзывчивость системы оказалась определённо лучше. А в многозадачном окружении это может быть и важнее, поскольку вы сможете выполнять какую-либо работу, пока ваш компьютер работает над определённой задачей.

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


Процессор Core 2 Extreme X6800 на момент выхода был самым быстрым в линейке Intel Core 2, работая на частоте 2,93 ГГц. Сегодня двуядерные процессоры достигли 3,0 ГГц, правда, при более высокой частоте шины FSB1333.

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

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

Двуядерные процессоры AMD содержат два полноценных ядра с кэш-памятью, интегрированным контроллером памяти и кросс-коммутатором, который обеспечивает совместный доступ к памяти и к интерфейсу HyperTransport. Intel пошла путём, схожим с первым Pentium D, установив в физический процессор два ядра Pentium 4. Поскольку контроллер памяти является частью чипсета, системную шину приходится использовать и для связи между ядрами, и для доступа к памяти, что накладывает определённые ограничения на производительность. Процессор Core 2 Duo оснащён более совершенными ядрами, которые дают лучшую производительность на такт и лучшее соотношение производительности на ватт. У двух ядер используется общий кэш L2, который позволяет обмениваться данными без использования системной шины.

Процессор Core 2 Quad Q6700 работает на частоте 2,66 ГГц, используя внутри два ядра Core 2 Duo.

Если сегодня существует много причин, чтобы перейти на двуядерные процессоры, то четыре ядра выглядят пока не так убедительно. Одна из причин заключается в ограниченной оптимизации программ под несколько потоков, но существуют и определённые проблемы в архитектуре. Хотя AMD сегодня критикует Intel за упаковку двух двуядерных кристаллов в одном процессоре, считая это не "настоящим" четырёхядерным CPU, подобный подход Intel работает хорошо, поскольку процессоры действительно обеспечивают четырёхядерную производительность. С точки зрения производства легче получить высокий уровень выхода годных кристаллов и выпускать больше продуктов с небольшими ядрами, которые затем можно соединить вместе для нового, более мощного продукта на новом техпроцессе. Что же касается производительности, то есть "узкие места" - два кристалла взаимодействуют друг с другом через системную шину, поэтому весьма сложно управлять несколькими ядрами, распределёнными на несколько кристаллов. Хотя наличие нескольких кристаллов позволяет обеспечить лучшую экономию энергии и регулировать частоты отдельных ядер для нужд приложения.

Настоящие четырёхядерные процессоры используют четыре ядра, которые, вместе с кэш-памятью, располагаются на одном кристалле. Здесь важно наличие общего унифицированного кэша. AMD будет реализовывать такой подход, оснащая 512 кбайт кэша L2 каждое ядро и добавляя кэш L3 для всех ядер. Преимущество AMD заключается в том, что можно будет выключать отдельные ядра и ускорять другие, чтобы получить более высокую производительность однопоточных приложений. Intel пойдёт тем же путём, но не раньше представления в 2008 году архитектуры Nehalem.

Утилиты вывода системной информации, такие, как CPU-Z, позволяют узнать число ядер и объёмы кэша, но не раскладку процессора. Вы не узнаете, что Core 2 Quad (или четырёхядерный Extreme Edition, показанный на скриншоте) состоит из двух ядер.


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

С тех пор прошло немало времени, в широком доступе появились ЦП с двумя, тремя, четырьмя, шестью и даже восемью ядрами. Но основную долю на рынке до сих пор занимают 2 и 4-ядерные модели. Изменить ситуацию пытаются в AMD, но их архитектура Bulldozer не оправдала надежд и бюджетные восьмиядерники все еще не очень популярны в мире. Поэтому вопрос, что лучше: 2 или 4-ядерный процессор , до сих пор остается актуальным.

Разница между 2 и 4-ядерным процессором

На аппаратном уровне основное отличие 2-ядерного процессора от 4-ядерного – количество функциональных блоков. Каждое ядро, по сути, представляет собой отдельный ЦП, оснащенный своими вычислительными узлами. 2 или 4 таких ЦП объединены между собой внутренней скоростной шиной и общим контроллером памяти для взаимодействия с ОЗУ. Другие функциональные узлы тоже могут быть общими: у большинства современных ЦП индивидуальной является кэш-память первого (L1) и второго (L2) уровня, блоки целочисленных вычислений и операций с плавающей запятой. Кэш L3, отличающийся относительно большим объемом, один и доступен всем ядрам. Отдельно можно отметить уже упомянутые AMD FX (а также ЦП Athlon и APU серии A): у них общими являются не только кэш-память и контроллер, но и блоки вычислений с плавающей запятой: каждый такой модуль одновременно принадлежит двум ядрам.

Схема четырехъядерного процессора AMD Athlon

С пользовательской точки зрения разница между 2 и 4-ядерным процессором заключается в количестве задач, которые ЦП может обработать за один такт. При одинаковой архитектуре, теоретическая разница будет составлять 2 раза для 2 и 4 ядер или 4 раза для 2 и 8 ядер, соответственно. Таким образом, при одновременной работе нескольких процессов, увеличение количества должно повлечь за собой рост быстродействия системы. Ведь вместо 2 операций четырехъядерный ЦП за один момент времени сможет выполнять сразу четыре.

Чем обусловлена популярность двухъядерных ЦП

Казалось бы, если увеличение числа ядер влечет за собой рост производительности, то на фоне моделей с четырьмя, шестью или восемью ядрами у двухядерников нет никаких шансов. Тем не менее, мировой лидер на рынке ЦП, компания Intel, ежегодно обновляет ассортимент своей продукции и выпускает новые модели всего с парой ядер (Core i3, Celeron, Pentium). И это на фоне того, что даже в смартфонах и планшетах на такие ЦП пользователи смотрят с недоверием или презрением. Чтобы понять, почему самые популярные модели – именно процессоры с двумя ядрами, следует учесть несколько основных факторов.

Intel Core i3 — самые популярные 2-ядерные процессоры для домашнего ПК

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

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

Преемственность технологий . Разработчики программного обеспечения используют для своих новых проектов уже существующие наработки, подвергающиеся неоднократной модернизации. В отдельных случаях доходит до того, что такие технологии уходят корнями в прошлое на 10-15 лет. Разработка, основанная на проекте десятилетней давности, кардинальной переработке для идеальной оптимизации поддается очень неохотно, если не совсем никак. Как следствие, наблюдается неспособность софта рационально использовать аппаратные возможности ПК. Игра S.T.A.L.K.E.R. Зов Припяти, вышедшая в 2009 году (в эпоху расцвета многоядерных ЦП) построена на движке 2001 года, поэтому не умеет нагружать более, чем одно ядро.

S.T.A.L.K.E.R. полноценно задействует только одно ядоро 4-ядерного ЦП

Такая же ситуация и с популярной онлайн-РПГ World of Tanks: движок Big World, на котором она базируется, создан в 2005 году, когда многоядерные ЦП еще не воспринимались, как единственно возможный путь развития.

World of Tanks тоже не умеет распределять нагрузку на ядра равномерно

Финансовые сложности . Следствием этой проблемы является предыдущий пункт. Если создавать каждое приложение с нуля, не используя имеющиеся технологии, его реализация обойдется в баснословные суммы. К примеру, стоимость разработки GTA V составила более 200 млн долларов. При этом, некоторые технологии все равно не были созданы «из чистого листа», а позаимствованы из предыдущих проектов, так как игра писалась под 5 платформ сразу (Sony PS3, PS4, Xbox 360 и One, а также ПК).

GTA V оптимизирована под многоядерность и умеет равномерно загружать процессор

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

Какой процессор лучше: 2 или 4-ядерный

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

На рынке представлены продукты двух производителей: Intel и AMD, отличающиеся особенностями реализации. Advanced Micro Devices традиционно делают упор на многоядерность, в то время как «Интел» неохотно идут на такой шаг и наращивают количество ядер только если это не приводит к снижению удельной производительности в расчете на ядро (избежать которого очень сложно).

Увеличение количества ядер снижает итоговую производительность каждого из них

Как правило, общая теоретическая и практическая производительность многоядерного ЦП ниже, чем аналогичного (построенного на такой же микроархитектуре, с тем же техпроцессорм) с одним ядром. Вызвано это тем, что ядра используют общие ресурсы, и это не лучшим образом сказывается на быстродействии. Таким образом, нельзя просто приобрести мощный четырех- или шестиъядерный процессор с расчетом на то, что он точно не будет слабее двухъядерника из той же серии. В некоторых ситуациях – будет, при том ощутимо. В качестве примера можно привести запуск старых игр на компьютере с восьмиядерным процессором AMD FX : FPS при этом порой ниже, чем на аналогичном ПК, но с четырехъядерным ЦП.

Нужна ли сегодня многоядерность

Значит ли это, что много ядер не нужно? Несмотря на то, что вывод кажется закономерным — нет. Легкие повседневные задачи (такие как веб-серфинг или работа с несколькими программами одновременно) положительно реагируют на увеличение числа ядер процессора. Именно по этой причине производители смартфонов делают упор на количество, опуская на второй план удельную производительность. Opera (и другие браузеры на движке Chromium), Firefox запускают каждую открытую вкладку в виде отдельного процесса, соответственно, чем больше ядер – тем быстрее переход между вкладками. Файловые менеджеры, офисные программы, проигрыватели – сами по себе не являются ресурсоемкими. Но при потребности часто переключаться между ними многоядерный процессор позволит повысить производительность системы.

Браузер Opera каждой вкладке присваивает отдельный процесс

В компании Intel осознают это, потому технология HuperThreading, позволяющая ядру обрабатывать второй поток силами неиспользуемых ресурсов, появилась еще во времена Pentium 4. Но она не позволяет в полной мере компенсировать недостаток производительности.

В «Диспетчере задач» 2-ядерный процессор с Huper Threading отображается, как 4-ядерный

Создатели игр, тем временем, постепенно наверстывают упущенное. Появление новых поколений консолей Sony Play Station и Microsoft Xbox простимулировало разработчиков уделять больше внимания многоядерности. Обе приставки созданы на базе восьмиядерных чипов AMD, поэтому теперь программистам не нужно тратить уйму сил на оптимизацию при портировании игры на ПК. С ростом популярности этих консолей — с облегчением смогли вздохнуть и те, кто разочаровался в приобретении AMD FX 8xxx. Многоядерники усиленно отвоевывают позиции на рынке, о чем можно убедиться на примере обзоров.

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

2-х или 4-х ядерный процессор?

Большинство людей ошибаются, думая, что частота каждого ядра складывается. Раз 2.5 Ггц частота ядер, а ядра 4, то значит 2.5*4= 10Ггц. Но это не так: частота всегда одна — 2.5 Ггц. Почему же частота не складывается? Потому, что с этой частотой параллельно работает каждый процессор.

Порция — это часть времени, на вычисление которой процессор выделяет ресурсы всем потокам, попавшим в процессор. Это как 4-ре магистрали с предельной скоростью 60 км/час (2.5 Ггц): у нас есть грузовики, которые должны доставить нам товары (это наши кусочки программы или порции программы), и чтобы нам повысить скорость доставки (повысить работоспособность системы), нам нужно использовать все 4-ре магистрали или повысить предельную скорость (3.0 Ггц). Но для большинства программ невозможно работать в несколько потоков, так как они работают в один поток и способны использовать лишь одну магистраль (а значит нашей программе будет выделено лишь 25% общей мощности процессора) потому, что в программе логика должна выполняться последовательно (поточно), и если нарушить последовательность, нарушится логика, а это приведет к сбоям. Новые программы стараются использовать мультипрограммирование — возможность работать в несколько потоков (наших магистралей), а не в одну, как большинство программ сейчас. Игры, по большей части тоже оптимизированы под многопоточность, но основной поток обычно работает в один. Хоть сейчас и пытаются разделить его на несколько, чтобы облегчить и ускорить. Поэтому для игр или приложений, которые обычно работают в один или два потока, лучше взять 2-ух ядерный процессор.

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

Теперь об очередях:

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

Частота у одноядерного процессора и двухъядерного одна и та же, но работает компьютер быстрее с 2-я ядрами. Дело в мультипрограммировании, когда осуществляется переход с одноядерного на двухъядерный, то скорость возрастает в разы. А мультипрограммирование — это работа с потоками. Представим себе 2 потока, например, работа Windows и запущенная компьютерная игра. Если у нас имеется одно ядро, то обрабатывается последовательно то игра (порция), то работа Windows (порция). Процессам приходиться ждать очереди, т. е. когда «кусочек» игры обрабатывается, то Windows приходится ждать конца обработки игры (порции игры). Когда мы перешли на 2 ядра, то даже с той же частотой, как у одноядерного, компьютер начинает более быструю обработку, так как очередь уменьшается в 2 раза.

Объясню подробнее на примере 100 приложений, если у нас 1 ядро, то 1 приложение обрабатывается, остальные 99 ждут своей очереди. И чем длиннее очередь, тем дольше идет обновления, и тогда мы чувствуем, что у нас тормозит система. А когда у нас 2 ядра, то очередь делится наполовину, т. е. 50 приложений на одном и 50 на другом, следовательно, их проще и быстрее обновлять. Важно знать, что очередь становится меньше и наши приложения быстрее обновляются.

Для теста потока запустите winrar, чтобы сжимать большой файл, и посмотрите в диспетчере (он сжимает в один поток), сколько ресурсов процессора он будет использовать (25%- на 4-ех ядерном и 50% на 2-ух). Из этого следует, что нашей игре, если она работает в один поток в четырехъядерном процессоре, будет выделено 25 % мощности процессора, 50%, если в двухъядерном. В играх у нас многопоточность присутствует, но главный поток в игре все равно будет обрабатываться на четверть процессора (в четырехъядерном).

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

У 2-ух ядерного процессора i5 есть технология позволяющая имитировать работу системы, как с 4-х ядерным процессором. Фактически есть только 2 ядра, но для Windows имитируется работа 4-х ядер. 4 очереди (потока) по 2 очереди (потока) на ядро обрабатываются по очереди. Каждое ядро берет по порции каждого из потоков, то есть он способен быть четырехъядерным.

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

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