Open
Close

Что значит 2 ядра. Все о программном обеспечении

Одним из этапов совершенствования архитектуры фон Неймана является распараллеливание потоков (Thread Level Parallelism , TLP ). Различают одновременную многопоточность (Simultaneous Multithreading , SMT ) и многопоточность на уровне кристалла (Chip - level Multithreading , CMT ). Эти два подхода в основном различаются представлением о том, что такое поток. Типичным представителем SMT является так называемая технология HTT (Hyper - Threading Technology ).

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

Преимущества многоядерных процессоров состоят в следующем.

    Простота (естественно относительная) проектирования и производства. Разработав одно эффективное ядро, его можно тиражировать в кристалле, дополняя архитектуру нужными системными компонентами.

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

В целом же, если внимательно посмотреть на рисунки 8 и 9, можно увидеть, что принципиальной разницы между, скажем, 2-х процессорной системой и ЭВМ на 2-х ядерном процессоре нет. Проблемы одинаковые. И одна из первых – соответствующая операционная система.

Способы организации работы процессоров

Главным стимулом развития архитектуры ЭВМ является повышение производительности. Один из способов повышения производительности ЭВМ - специализация (как отдельных элементов ЭВМ, так и создание специализированных вычислительных систем).

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

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

Простейшим примером параллелизма данных является последовательность из двух команд: А=В+С; D=E*F;

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

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

Существует несколько достаточно близких по смыслу классификаций программного параллелизма, из которых наиболее признанной считается классификация по шести уровням (Рис.10). Три верхних уровня параллелизма занимают крупные программные объекты - независимые задания, программы и процедуры программы. Несвязанные операторы, циклы и операции образуют нижние уровни параллелизма. Если совместить такое ранжирование с категориями М. Флина «параллельные потоки команд» и «параллельные потоки данных», то видно, что параллелизм верхнего уровня в основном достигается за счет множества независимых потоков команд, а параллелизм нижнего уровня обязан своим существованием главным образом несвязанным потокам данных.

Конвейерная обработка и конвейерные структуры

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

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

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

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

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

Приём №1

  • Для этого нажимаем компьютерную мышку с правой стороны, щёлкая на значке «Компьютер», или контекстном меню, расположенном на рабочем столе, на значке «Компьютер». Выбираем пункт «Свойства».

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

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

Этот способ подходит для операционных систем Windows, а вот на процессорах Intel, отличающихся гиперпоточностью (технология Hyper-threading), этот способ, скорее всего, выдаст ошибочное обозначение, ведь в них одно физическое ядро может разделяться на два потока, независимых один от одного. В итоге, программа, которая хороша для одной операционной системы, для этой посчитает каждый независимый поток за отдельное ядро, и вы получите в результате восьмиядерный процессор. Поэтому, если у вас процессор поддерживает технологию Hyper-threading, обратитесь к специальной утилит – диагностике.

Приём №2

Существуют бесплатные программы для любопытствующих о количестве ядер в процессоре. Так, неоплачиваемая программа CPU-Z, вполне справится с поставленной вами задачей. Для того чтоб воспользоваться программой:

  • зайдите на официальный сайт cpuid.com , и скачайте архив с CPU-Z. Лучше воспользоваться версией, которую не нужно устанавливать на компьютер, на этой версии стоит обозначение «no installation».
  • Далее следует распаковать программу и спровоцировать её запуск в исполняемом файле.
  • В открывшемся главном окне этой программы, на вкладке «CPU», в нижней части найдите пункт «Cores». Вот здесь и будет указано точное количество ядер вашего процессора.

Можно узнать, сколько ядер в компьютере с установленной системой Windows, с помощью диспетчера задач.

Приём №3

Очерёдность действий такая:

  • Запускаем диспетчер с помощью клика правой стороны мышки на панели быстрого запуска, обычно расположенной внизу.
  • Откроется окно, ищем в нём пункт «Запустить диспетчер задач»

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

Приём №4

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

В процессорах Intel количество ядер прописывается словами. Если стоит Core 2 Duo, Dual, то ядра два, если Quad – четыре.

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

P.S. Ну вот и все, теперь мы знаем как узнать сколько ядер в компьютере, даже целых четыре способа, а уж какой применить — это уже ваше решение 😉

Вконтакте

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

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

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

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

Hyper-threading

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

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

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

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

Большинство современных многоядерных процессоров работает по следующей схеме. Если запущенное приложение поддерживает многопоточность, оно может заставлять процессор выполнять несколько заданий одновременно. Например, если в компьютере используется 4-ядерный процессор с тактовой частотой 1.8 ГГц, программа может «загрузить» работой сразу все четыре ядра, при этом суммарная частота процессора будет составлять 7.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 нового поколения помогут существенно разгрузить графическую систему), приобретение их будет целесообразно, но сейчас... Давно известно, что покупка процессоров "на вырост" - далеко не самое эффективное вложение средств.

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


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

Двухъядерный или четырехъядерный, как можно проще

Давайте сделаем все просто. Вот все, что вам нужно знать:

  • Существует только один процессорный чип. У этого чипа может быть одно, два, четыре, шесть или восемь ядер.
  • В настоящее время 18-ядерный процессор - это лучшее, что можно получить на потребительских ПК.
  • Каждое «ядро» является частью чипа, который выполняет обработку. По сути, каждое ядро является центральным процессором (CPU).

Скорость

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

Больше ядер дают большую скорость только если программа может разделить свои задачи между ядрами. Не все программы предназначены для разделения задач между ядрами. Подробнее об этом позже.

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

Потребляемая мощность

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

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

Выделение тепла

Каждое ядро, влияет на тепло, генерируемое процессором. И опять же, общее правило, больше ядер приводит к более высокой температуре.

Из-за этого дополнительного тепла, производители должны добавить лучшие радиаторы или другие решения для охлаждения.

Цена

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

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

Все о программном обеспечении

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

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

Важно отметить, что даже если это многопоточная программа, также важно то, для чего она используется. Например, веб-браузер Google Chrome поддерживает несколько процессов, а также программное обеспечение для редактирования видео Adobe Premier Pro.

Adobe Premier Pro предлагает различные ядра для работы над различными аспектами вашего редактирования. Учитывая многие слои, связанные с редактированием видео, это имеет смысл, так как каждое ядро может работать над отдельной задачей.

Аналогично, Google Chrome предлагает разным ядрам работать на разных вкладках. Но в этом и заключается проблема. После того как вы откроете веб-страницу на вкладке, она обычно статична после этого. Нет необходимости в дальнейшей обработке; остальная часть работы заключается в сохранении страницы в ОЗУ. Это означает, что даже если ядро можно использовать для закладки фона, в этом нет никакой необходимости.

Этот пример Google Chrome представляет собой иллюстрацию того, как даже многопоточное программное обеспечение может не дать вам большой реальный прирост производительности.

Два ядра не удваивают скорость

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

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

В действительности задачи разбиваются последовательно (что делает большинство многопоточных программ) или случайным образом. Например, скажем, вам нужно выполнить три задачи, чтобы закончить действие, и у вас есть пять таких действий. Программное обеспечение сообщает ядру 1 решить задачу 1, в то время как ядро 2 решает вторую, ядро 3 третью; между тем, ядро 4 простаивает.

Если третья задача самая сложная и длинная, тогда было бы разумно, чтобы программное обеспечение разделило третью задачу между ядрами 3 и 4. Но это не то, что она делает. Вместо этого, хотя ядро 1 и 2 выполнят задачу быстрее, действие должно будет дождаться завершения ядра 3, а затем вычислить результаты ядер 1, 2 и 3 вместе.

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

Где больше ядер реально помогут?

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

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

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

Фотошоп и дизайн

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

Более быстрый веб-просмотр

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

Офисные задачи

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

Нужно ли вам больше ядер?

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

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