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

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

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

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

Hyper-threading

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

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

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

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

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

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

Нельзя разобраться с этим вопросом, не зная, что собой представляет 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 очереди (потока) на ядро обрабатываются по очереди. Каждое ядро берет по порции каждого из потоков, то есть он способен быть четырехъядерным.

Модуль поиска не установлен.

Одноядерный или двухъядерный?

Виктор Куц

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

К примеру, в последний год перед появлением двухъядерных процессоров компания Intel смогла увеличить частоты своих CPU на 400 МГц, а AMD и того меньше - всего лишь на 200 МГц. Другие же методы повышения производительности, такие как увеличение скорости шины и размера кэш-памяти, также утратили былую эффективность. Таким образом, внедрение двухъядерных процессоров, обладающих двумя процессорными ядрами в одном чипе и разделяющими между собой нагрузку, в настоящее время оказалось наиболее логичным шагом на сложном и тернистом пути наращивания производительности современных компьютеров.

Что же представляет собой двухъядерный процессор? В принципе, двухъядерный процессор представляет собой SMP-систему (Symmetric MultiProcessing - симметричная многопроцессорная обработка; термин, обозначающий систему с несколькими равноправными процессорами) и по сути своей не отличается от обыкновенной двухпроцессорной системы, состоящей из двух независимых процессоров. Таким образом, мы получаем все преимущества двухпроцессорных систем без необходимости использования сложных и очень дорогих двухпроцессорных материнских плат.

До этого компанией Intel уже была произведена попытка распараллелить выполняемые инструкции - речь идет о технологии HyperThreading, обеспечивающей разделение ресурсов одного "физического" процессора (кэш, конвейер, исполнительные устройства) между двумя "виртуальными" процессорами. Прирост производительности (в отдельных, оптимизированных для HyperThreading приложениях) при этом составлял примерно 10-20%. Тогда как полноценный двухъядерный процессор, включающий в себя два "честных" физических ядра, обеспечивает прирост производительности системы на все 80-90% и даже больше (естественно, при полном задействовании возможностей обоих его ядер).

Главным инициатором в продвижении двухъядерных процессоров выступила компания AMD, которая в начале 2005 года выпустила первый серверный двухъядерный процессор Opteron. Что касается настольных процессоров, то здесь инициативу перехватила компания Intel, примерно в это же время анонсировавшая процессоры Intel Pentium D и Intel Extreme Edition. Правда, анонс аналогичной линейки процессоров Athlon64 X2 производства AMD запоздал всего лишь на считанные дни.

Двухъядерные процессоры Intel

Первые двухъядерные процессоры Intel Pentium D семейства 8хх были основаны на ядре Smithfield, которое является ничем иным, как двумя ядрами Prescott, объединенными на одном полупроводниковом кристалле. Там же размещается и арбитр, который следит за состоянием системной шины и помогает разделять доступ к ней между ядрами, каждое из которых имеет собственную кэш-память второго уровня объемом по 1 Мбайт. Размер такого кристалла, выполненного по 90-нм техпроцессу, достиг 206 кв. мм, а количество транзисторов приближается к 230 миллионам.

Для продвинутых пользователей и энтузиастов компания Intel предлагает процессоры Pentium Extreme Edition, отличающиеся от Pentium D поддержкой технологии HyperThreading (и разблокированным множителем), благодаря чему они определяются операционной системой как четыре логических процессора. Все остальные функции и технологии обоих процессоров полностью одинаковы. Среди них можно выделить поддержку 64-битного набора команд EM64T (x86-64), технологии энергосбережения EIST (Enhanced Intel SpeedStep), C1E (Enhanced Halt State) и TM2 (Thermal Monitor 2), а также функцию защиты информации NX-bit. Таким образом, немалая ценовая разница между процессорами Pentium D и Pentium EE является по большей части искусственной.

Что касается совместимости, то процессоры на ядре Smithfield потенциально могут быть установлены в любую LGA775 материнскую плату, лишь бы она соответствовала требованиям Intel к модулю питания платы.

Но первый блин, как обычно, вышел комом - во многих приложениях (большинство из которых не оптимизированы под многопоточность) двухъядерные процессоры Pentium D не только не превосходили одноядерные Prescott, работающие на той же тактовой частоте, но иногда и проигрывали им. Очевидно, проблема кроется во взаимодействии ядер через процессорную шину Quad Pumped Bus (при разработке ядра Prescott не было предусмотрено масштабирование его производительности путем увеличения количества ядер).

Устранить недостатки первого поколения двухъядерных процессоров Intel были призваны процессоры на 65-нм ядре Presler (два отдельные ядра Cedar Mill, размещенные на одной подложке), появившиеся в самом начале нынешнего года. Более "тонкий" техпроцесс позволил уменьшить площадь ядер и их энергопотребление, а также повысить тактовые частоты. Двухъядерные процессоры на ядре Presler получили наименование Pentium D с индексами 9хх. Если сравнивать процессоры Pentium D 800-й и 900-й серий, то кроме ощутимого снижения энергопотребления новые процессоры получили удвоение кэш-памяти второго уровня (по 2 Мбайт на ядро вместо 1 Мбайт) и поддержку перспективной технологии виртуализации Vanderpool (Intel Virtualization Technology). Кроме того, был выпущен процессор Pentium Extreme Edition 955 с включенной технологией HyperThreading и работающий на частоте системной шины 1066 МГц.

Официально процессоры на ядре Presler с частотой шины 1066 МГц совместимы только с материнскими платами на чипсетах серии i965 и i975X, тогда как 800-мегагерцевые Pentium D в большинстве случаев заработают на всех системных платах, поддерживающих эту шину. Но, опять же, встает вопрос о питании этих процессоров: термопакет Pentium EE и Pentium D, за исключением младшей модели, составляет 130 Вт, что почти на треть больше, чем у Pentium 4. Согласно заявлениям самой Intel, стабильная работа двухъядерной системы возможна лишь при использовании блоков питания мощностью не менее 400 Вт.

Наиболее эффективными современными десктопными двухъядерными процессорами Intel, без сомнения, являются Intel Core 2 Duo и Core 2 eXtreme (ядро Conroe). Их архитектура развивает базовые принципы архитектуры семейства P6, тем не менее, количество принципиальных нововведений столь велико, что впору говорить о новом, 8-м поколении процессорной архитектуры (P8) компании Intel. Несмотря на более низкую тактовую частоту, они заметно превосходят процессоры семейства Р7 (NetBurst) по производительности в подавляющем большинстве применений - в первую очередь за счет увеличения числа операций, выполняемых в каждом такте, а также за счет снижения потерь, обусловленных большой длиной конвейера P7.

Десктопные процессоры линейки Core 2 Duo выпускаются в нескольких вариантах:
- серия E4xxx - FSB 800 МГц, общий для обоих ядер L2-кэш 2 Мбайт;
- серия E6ххх - FSB 1066 МГц, размер кэша 2 или 4 Мбайт;
- серия X6ххх (eXtreme Edition) - FSB 1066 МГц, размер кэша 4 Мбайт.

Буквенный шифр "E" обозначает диапазон энергопотребления от 55 до 75 ватт, "X" - выше 75 ватт. Core 2 eXtreme отличается от Core 2 Duo лишь только повышенной тактовой частотой.

Все процессоры Conroe используют хорошо отработанные процессорную шину Quad Pumped Bus и разъем LGA775. Что, однако, совсем не означает совместимости со старыми материнскими платами. Помимо поддержки тактовой частоты 1067 МГц, материнские платы для новых процессоров должны содержать новый модуль регулирования напряжения (VRM 11). Этим требованиям соответствуют в основном обновленные версии материнских плат, выполненных на базе чипсетов Intel 975 и 965 серий, а также NVIDIA nForce 5xx Intel Edition и ATI Xpress 3200 Intel Edition.

В ближайшие два года процессоры Intel всех классов (мобильные, десктопные и серверные) будут базироваться на архитектуре Intel Core, а основное развитие будет идти в направлении увеличения числа ядер на кристалле и усовершенствования их внешних интерфейсов. В частности, для рынка настольных ПК таким процессором станет Kentsfield - первый четырехъядерный процессор Intel для сегмента высокопроизводительных настольных ПК.

Двухъядерные процессоры AMD

В линейке двухъядерных процессоров AMD Athlon 64 X2 используются два ядра (Toledo и Manchester) внутри одного кристалла, произведенные по 90-нм техпроцессу с использованием технологии SOI. Каждое из ядер Athlon 64 X2 обладает собственным набором исполнительных устройств и выделенной кэш-памятью второго уровня, контроллер памяти и контроллер шины HyperTransport у них общие. Различия между ядрами - в размере кэша второго уровня: у Toledo кэш L2 имеет объем 1 Мбайт на каждое ядро, а у Manchester этот показатель вдвое меньше (по 512 Кбайт). Все процессоры имеют кэш-память первого уровня 128 Кбайт, их максимальное тепловыделение не превышает 110 Вт. Ядро Toledo состоит примерно из 233,2 млн. транзисторов и имеет площадь около 199 кв. мм. Площадь ядра Manchester заметно меньше - 147 кв. мм., количество транзисторов составляет 157 млн.

Двухъядерные процессоры Athlon64 X2 унаследовали от Athlon64 поддержку технологии энергосбережения Cool`n`Quiet, набор 64-битных расширений AMD64, SSE - SSE3, функцию защиты информации NX-bit.

В отличие от двухъядерных процессоров Intel, работающих только с памятью DDR2, Athlon64 Х2 способны работать как с памятью типа DDR400 (Socket 939), обеспечивающей предельную пропускную способность в 6,4 Гбайт/с, так и с DDR2-800 (Socket AM2), пиковая пропускная способность которой составляет 12,8 Гбайт/с.

На всех достаточно современных материнских платах процессоры Athlon64 X2 работают без каких-либо проблем - в отличие от Intel Pentium D они не предъявляют каких-либо специфических требований к дизайну модуля питания материнской платы.

До самого последнего времени наиболее производительными среди десктопных процессоров считались AMD Athlon64 X2, однако с выходом Intel Core 2 Duo ситуация в корне изменилась - последние стали безусловными лидерами, особенно в игровых и мультимедийных применениях. Кроме того, новые процессоры Intel имеют пониженное энергопотребление и гораздо более эффективные механизмы управления питанием.

Такое положение дел компанию AMD не устроило, и в качестве ответного хода она анонсировала выпуск в середине 2007 года нового 4-ядерного процессора с улучшенной микроархитектурой, известного под названием K8L. Все его ядра будут иметь раздельные L2-кэши по 512 Кбайт и один общий кэш 3-го уровня размером 2 Мбайта (в последующих версиях процессора L3-кэш может быть увеличен). Более подробно перспективная архитектура AMD K8L будет рассмотрена в одном из ближайших номеров нашего журнала.

Одно ядро или два?

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

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

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

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

А вот в современных трехмерных игровых приложениях какого-либо серьезного прироста скорости от нескольких процессоров ожидать не следует. Почему? Потому, что типичную компьютерную игру так просто не распараллелить на два или более процессов. Поэтому второй логический процессор в лучшем случае будет заниматься выполнением лишь вспомогательных задач, что не даст практически никакого прироста производительности. А разработка многопоточной версии игры с самого начала достаточно сложна и требует немалых трудозатрат - порой гораздо больших, чем для создания однопоточной версии. Трудозатраты эти, кстати, могут еще и не окупиться с экономической точки зрения. Ведь производители компьютерных игр традиционно ориентируются на наиболее массовую часть пользователей и начинают использовать новые возможности компьютерного "железа" только в случае его широкой распространенности. Это хорошо заметно на примере использования разработчиками игр возможностей видеокарт. Например, после того как появилась новые видеочипы с поддержкой шейдерных технологий, разработчики игр еще долгое время игнорировали их, ориентируясь на возможности урезанных массовых решений. Так что даже продвинутые игроки, купившие самые "навороченные" видеокарты тех лет, так и не дождались нормальных игр, использующих все их возможности. Примерно аналогичная ситуация с двухъядерными процессорами наблюдается сегодня. Сегодня не так много игр, толком задействующих даже технологию HyperThreading, несмотря на то, что уже не один год вовсю выпускаются массовые процессоры с ее поддержкой.

В офисных приложениях ситуация не столь однозначная. Прежде всего, программы такого класса редко работают в одиночку - гораздо чаще встречается ситуация, когда на компьютере запущено нескольких работающих параллельно офисных приложений. Например, пользователь работает с текстовым редактором, и одновременно происходит загрузка web-сайта в браузер, а также в фоновом режиме осуществляется сканирование на вирусы. Очевидно, что несколько работающих приложений позволяют без особого труда задействовать несколько процессоров и получить прирост производительности. Тем более что все версии Windows XP, включая Home Edition (которой изначально было отказано в поддержке мультиядерных процессоров), уже сейчас способны использовать преимущества двухъядерных процессоров, распределяя программные потоки между ними. Обеспечивая тем самым высокую эффективность исполнения многочисленных фоновых программ.

Таким образом, можно ожидать некоторого эффекта даже от неоптимизированных офисных приложений, если они запускаются параллельно, но вот стоит ли такой прирост производительности существенного увеличения стоимости двухъядерного процессора, понять сложно. Кроме того, определенным недостатком двухъядерных процессоров (особенно это касается процессоров Intel Pentium D) является то, что приложения, производительность которых ограничена не вычислительной способностью самого процессора, а скоростью доступа к памяти, могут не так сильно выиграть от наличия нескольких ядер.

Заключение

Несомненно, что будущее определенно за многоядерными процессорами, однако сегодня, когда большая часть существующего программного обеспечения не оптимизирована под новые процессоры, достоинства их не столь очевидны, как пытаются показать производители в своих рекламных материалах. Да, чуть позже, когда произойдет резкое увеличение количества приложений, поддерживающих многоядерные процессоры (в первую очередь это касается 3D-игр, в которых CPU нового поколения помогут существенно разгрузить графическую систему), приобретение их будет целесообразно, но сейчас... Давно известно, что покупка процессоров "на вырост" - далеко не самое эффективное вложение средств.

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


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

Особенности строения одноядерных процессоров

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

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

Особенностью одноядерных процессоров по архитектуре можно считать:

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

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

Особенности работы двухъядерных процессоров

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

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

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

В чем отличия двухъядерного процессора

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

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

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

Преимущества использования двухъядерных процессоров

Зная особенности структуры и существенные отличия процессоров с одним и двумя ядрами можно выделить основные преимущества использования двухъядерных процессоров:

  1. Быстрая работа браузера при загрузке и отображении.
  2. Высокая производительность в игровых приложениях.
  3. При работе в многозначном режиме увеличивается скорость работы нескольких потоков.
  4. Высокое быстродействие и плавность работы.
  5. Снижение энергопотребления при увеличении производительности.

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

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

Обнаружили неприятную проблему предела тактовой частоты. Достигнув порога в 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. Многоядерники усиленно отвоевывают позиции на рынке, о чем можно убедиться на примере обзоров.