Программы Windows Устройства

Как понять 2 ядерный процессор. Вся правда о многоядерных процессорах

В чем преимущество двухъядерных процессоров?

При покупке ноутбука вы наверняка заметили, что на некоторых из них есть ярлыки: "Intel Core 2 Duo " или "AMD Turion 64 x2". Эти ярлыки указывают на то, что ноутбуки созданы на основе двухъядерной технологии обработки данных.

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

Двухъядерные процессоры относятся к типу систем, состоящих из двух независимых процессорных ядер, объединенных в одной интегральной схеме (ИС) или, как говорят профессионалы, в единый кристалл. Такие системы совмещают два ядра в одном процессоре. Аналогичная технология впервые была применена к персональному компьютеру и к домашней игровой консоли, но очень скоро ее приспособили к мобильной компьютерной среде. Ноутбуки с подобной технологией есть у компаний AMD и Intel.

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

Каждый из процессоров в двухъядерной системе имеет встроенную кэш-память (первичная кэш-память), что дает им собственный потенциал для быстрого и эффективного восстановления и обработки часто используемых команд. Кроме этого, на той же интегральной схеме находится кэш-память второго уровня. Вторичная кэш-память на чипсете Intel"s Mobile Core 2 Duo делится между собой двумя процессорами. В чипсете Turion AMD 64x2 каждый из двух процессоров имеет выделенную кэш-память - по 512 КБ на каждое ядро. Кэш-память второго уровня - это резерв на случай, если первичной окажется недостаточно.

Преимущества двухъядерной технологии

Самые важные преимущества подобных процессоров - скорость и эффективность. Обработка команд и поиск данных осуществляются двумя процессорами; таким образом, достигается большая производительность без нагревания процессоров. То, что эти два процессора имеют свою собственную легко доступную первичную кэш-память, также гарантирует быструю работоспособность. Кроме того, особенно в случае с Intel Core 2 Duo, где вторичный кэш разделен, вся вторичная кэш-память может быть использована или одним, или обоими процессорами одновременно, если в этом возникнет необходимость.

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

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

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

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

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

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

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


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

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

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

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

Hyper-threading

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

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

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

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

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

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