КАТАЛОГ ТОВАРОВ

Срок доставки товара в течении 1-3 дней !!!

 

ПОЛЬЗОВАТЕЛЬ
КОРЗИНА

Многоядерные процессоры и насколько они необходимы. Четырехъядерные процессоры


Многоядерные процессоры: принципы работы

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

Что же дают многоядерные процессоры в плане повышения производительности компьютера?

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

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

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

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

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

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

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

fb.ru

Многоядерные процессоры - Блог веб-программиста

Подробности мая 15, 2017 Просмотров: 1606 Многоядерные процессоры

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

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

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

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

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

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

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

Читайте также

 

 

 

 

juice-health.ru

Многоядерные процессоры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

studfiles.net

Многоядерные процессоры

Многоядерные процессоры

На протяжении длительного времени прогресс в области микропроцессоров фактически отождествлялся со значением тактовой частоты. В 2001 году в корпоративных планах производителей микропроцессоров значилось, что уже к концу десятилетия будет преодолен барьер 10 ГГц. Увы, планы эти оказались неверны. Прав же оказался тот, кто сделал ставку на многоядерные архитектуры.

Первый двухъядерный процессор в семействе Power выпустила корпорация IBM. Сегодня многоядерные процессоры предлагает Sun Microsystems (восьмиядерный UltraSPARC T1), а также Intel и AMD. Однако, несмотря на видимый подъем интереса к многоядерным и многопотоковым процессорам, следует признать, что ключевой момент грядущей «параллельной революции» заключается не в собственно процессорах, а в грядущих радикальных изменениях в программном обеспечении. Оно должно стать таким, чтобы сохранилась возможность использовать преимущества экспоненциального роста производительности процессоров.

Сила есть — ума не надо

На протяжении многих лет разработка суперкомпьютеров была авангардом ИТ-индустрии, своего рода полигоном, где отрабатывались перспективные решения, которые потом переносились на тиражируемые компьютерные системы. Но лет 20-25 тому назад пути массовых систем и суперкомпьютеров разошлись, что не пошло на пользу ни тем, ни другим. Надо признать, что с архитектурной точки зрения нынешние суперкомпьютеры упростились до банальных кластеров, собрать которые мог кто и где угодно — хоть в доме пионеров, были бы место и средства. Однако в последние годы ситуация меняется; пути развития массовых компьютеров и суперкомпьютеров снова сближаются. Причиной тому явление, получившее название Concurrency Revolution. Что можно перевести как «параллельная революция», хотя английское понятие concurrency сложнее, чем «параллельность», поскольку выражает не тривиальный «геометрический» параллелизм, а одновременное существование во времени и пространстве, взаимную совместимость.

В расхождении траекторий развития суперкомпьютеров и остальных компьютерных систем оказалось «виновато» быстрое развитие микропроцессорных технологий. Благодаря микропроцессорам практически вся логика компьютеров оказалась собранной на одном кристалле. Из-за этого архитектура компьютеров со времен мини-ЭВМ пребывала в стагнации; их конструирование превратилось в игру в кубики (чтобы убедиться в этом, достаточно посмотреть на любое из семейств современных серверов). К тому же на протяжении десятилетий количественные показатели микропроцессоров росли так быстро, что уверенность в истинности выбранного направления превратилась в догму. Размножились различные формулировки, ошибочно трактующие закон Мура (среди них — утверждения, будто частота или даже производительность удваиваются каждые два года; на самом деле гениальное предвидение одного из основателей Intel фиксирует периодическое удвоение количества транзисторов на кристалле).

Бурное развитие микроэлектроники всегда однозначно воспринималось только со знаком плюс. Действительно, результаты прогресса видны невооруженным взглядом, но у любого явления всегда есть оборотная сторона; развитие по закону Мура — не исключение. Из-за удельного удешевления транзисторов открылась возможность компенсировать несовершенство процессорной архитектуры их количеством, что в конечном итоге и стало причиной консервации предложенной в далекие 40-е годы схемы организации компьютерных систем, которая получила свое название по имени Джона фон Неймана. Трудно представить еще какую-либо из современных технологических областей, которая, декларируя свою причастность к техническому прогрессу, была бы столь консервативна по своей сути. О врожденных недостатках фон-неймановской схемы написано немало, но, что бы сейчас ни говорили на эту тему, еще лет десять назад никакие аргументы не возможно было противопоставить убеждению в том, что процессорная индустрия выбрала единственно правильный путь, основанный на количественном росте. Достаточно вспомнить, с какой гордостью произносились новые цифры; считалось, что, если не хватит миллиона транзисторов, сделаем миллиард — «нет проблем», главное уменьшить размеры кристаллов и межсоединений и повысить тактовую частоту. Но за все приходится платить. Каждый транзистор потребляет энергию, в итоге, по данным IDC, сегодня затраты на электричество, необходимое для питания центров обработки данных, составляют свыше 80% от затрат на приобретение компьютерного оборудования, а через пару лет эти показатели сравняются.

Модернизации схемы фон Неймана

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

SISD (Single Instruction Single Data) — «один поток команд, один поток данных»; SIMD (Single Instruction Multiple Data) — «один поток команд, много потоков данных»; MISD (Multiple Instruction Single Data) — «много потоков команд, один поток данных»; MIMD (Multiple Instruction Multiple Data) — «много потоков команд, много потоков данных»; Класс SISD предполагает, что в один момент времени может быть выполнена одна команда, и она может оперировать только теми порциями данными, адреса которых непосредственным образом присутствуют в операндах этой команды. Напротив, в класс MIMD попадают машины, которые могут одновременно выполнять множество команд, используя при этом множество фрагментов данных. Эта классификация известна как «таксономия Флинна», она названа так по имени предложившего ее Майкла Флинна, выдающегося инженера и ученого, ныне являющегося профессором Стэндфордского университета. Из нее следует, что фон-неймановская машина является частным случаем, попадающим в класс SISD. Большинство современных компьютеров построено именно по этой схеме; между тем все суперкомпьютеры из первой десятки TOP500 построены по схеме MIMD.

Было бы некорректно объяснять рост производительности процессоров только наращиванием количественных показателей, вполне естественно, что на протяжении десятилетий было предложено несколько серьезных модернизаций, являющихся отступлениями от схемы фон Неймана, но ограниченными масштабом. Исторически первым оказалось изобретение процессоров, способных выполнять операции не над содержимым одного или нескольких регистров, а над более крупными фрагментами данных; по классификации Флинна они попадают в класс SIMD. Их появление связывают с проектом Solomon (1962 год, компания Westinghouse). Позднее аналогичный принцип работы с данными был реализован в самой производительной машине своего времени ILLIAC IV (1972). Если процессор, используя одну команду, может выполнять действия над векторами, то его называют векторным процессором (vector processor), а если над массивами, то процессором массивов (array processor). Впоследствии Сеймур Крей использовал векторные принципы при разработке своих суперкомпьютеров, начиная с Cray-1. Сегодня схема SIMD широко используется в специализированных процессорах, предназначенных для игровых консолей.

После введения нового класса векторных процессоров обычные процессоры стали вынужденно, чтобы различать, называть «скалярными»; именно поэтому на следующем шаге появились решения со странным названием «суперскалярные процессоры». Идея суперскалярности заключается в том, что процессор просматривает приближающиеся к исполнению команды и выбирает из них те последовательности, которые могут быть выполнены параллельно. Такие процессоры способны выполнять несколько инструкций за один такт, а такой вид параллелизма стали называть параллелизмом на уровне команд (Instruction-Level Parallelism, ILP). Очевидно, что при заданной частоте суперскалярный процессор будет производительнее скалярного, поскольку он способен выделить в подмножество и одновременно выполнить несколько команд, распределив их по своим функциональным устройствам. Родоначальником идеи ILP был тот же Крей; он реализовал ее в 1965 году в компьютере CDC 6600, затем ILP была воспроизведена в процессоры Intel i960 (1988 год) и AMD 29050 (1990), особенно «впору» суперскалярный подход пришелся для RISC-процессоров с их упрощенной системой команд. Позже, начиная с Pentium II, обрели ILP и процессоры с архитектурой CISC.

Примерно в то же время — сначала на мэйнфреймах, а позже и на мини-ЭВМ — появилась кэш-память; в дальнейшем идея кэширования получила развитие в многоуровневых решениях, предполагавших наличие кэшей первого и второго, а затем и третьего уровня.

Еще одним существенным изобретением, ускорившим работу процессоров, оказалось внеочередное исполнение (out-of-order execution, OoO), представляющее собой ограниченную реализацию идеи обработки потока данных (data flow computation). Хотя первые попытки в этом направлении были предприняты еще при проектировании компьютеров CDC, но реально первые внедрения были в IBM 360, а затем в процессорах Power1. Одно из важнейших достоинств внеочередного исполнения состоит в том, что данная технология позволяет согласовать более высокую скорость работы процессоров с менее быстродействующей памятью, сняв часть нагрузки с кэш-памяти.

Заметной вехой в ряду усовершенствований фон-неймановской архитектуры стоит распараллеливание потоков (Thread Level Parallelism, TLP). Данная технология существует в нескольких версиях; среди них — одновременная многопоточность (Simultaneous Multithreading, SMT) и многопоточность на уровне кристалла (Сhip-level Multithreading, CMT). Эти два подхода в основном различаются представлением о том, что есть «поток», иначе говоря, по уровню гранулярности потоков. Хронологически первым процессором, поддерживающим многопоточность, был процессор DEC Alpha EV4 21064. Драматическая судьба этого процессорного семейства была и остается предметом серьезных обсуждений, и, хотя на версии EV7 производство прекратилось, а EV8 и EV9 остались на бумаге, есть основания полагать, что ядро EV7 может возродиться в одном из готовящихся к выпуску многоядерных процессоров. Типичным представителем лагеря SMT является Pentium 4 с его технологией HTT (Hyper-Threading Technology). Процессор поддерживает деление на два потока команд, выбираемых из одной задачи в режиме SMT, что обеспечивает суммарное повышение производительности примерно на 30%. В процессоре UltraSPARC T1, известном прежде под кодовым названием Niagara, потоки образуются из разных задач; никакой одновременности в данном случае нет, каждый поток представляет собой виртуальное ядро процессора.

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

Ядра на кристалле

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

С точки зрения организации и упрощения проектирования достоинства CMP неоспоримы. Понятно, можно разработать одно очень эффективное ядро, а затем тиражировать его в нужном количестве, дополняя архитектуру нужными системными компонентами. Такой подход обладает модульностью, масштабируемостью, а главное, уменьшает трудозатраты, что сможет в будущем изменить баланс сил на процессорном рынке. Дело в том, что увеличение количества транзисторов в одном ядре ведет к резкому, нелинейному росту затрат труда проектировщиков и других специалистов, участвующих в процессе создания новых кристаллов. Как следствие, возрастает стоимость проектирования новых процессоров, а потому этот вид деятельности становится прерогативой самых крупных компаний. (Одно время, когда практически все поверили в архитектуру EPIC, многим представлялось, что число семейств процессоров вообще будет сведено к одному или — в крайнем случае — к двум; к счастью, эти прогнозы не оправдались.) При модульном проектировании трудозатраты оказываются существенно меньше, чем затраты на проектирование единого, существенно более сложного процессорного ядра. Как следствие, переход к многоядерным архитектурам может демократизировать процессорную отрасль; он в состоянии вернуть на рынок небольшие компании и создать новые возможности для возникновения разнообразных «стартапов». В этом отношении показателен пример Sun Microsystems, которая открыла спецификацию на процессор Ultra SPARC T1, и уже сегодня появились компании, воспроизводящие его архитектуру в собственных разработках. Схожие цели преследует и корпорация IBM, инициировавшая создание и поддерживающая деятельность сообщества power.org.

Второе преимущество заключается в том, что переход на многоядерные процессоры позволит решить постоянно возрастающие проблемы энергопотребления. Вообще говоря, то, что центры обработки данных, имеющие дело с нематериальной сферой, сравнились по уровню энергопотребления с промышленными производствами, выглядит, по меньшей мере, странно. Если, к примеру, на кристалле разместить два ядра и заставить их работать на тактовой частоте, вдвое меньшей, чем аналогичный одноядерный процессор, а потом сравнить энергопотребление этого кристалла с монолитным аналогом, имеющим производительность, равную их суммарной характеристике, то обнаружится, что энергопотребление уменьшается в несколько раз, поскольку оно растет почти пропорционально квадрату частоты. Для оценки этого рода преимуществ многоядерных процессоров в Sun предложили метрику SWaP (Space, Watts and Performance), которая выражается отношением производительности к произведению потребляемой мощности на занимаемое пространство. По этой метрике серверы, построенные на процессорах Niagara, превосходят свои аналоги в пять с лишним раз. Это абсолютный и не нуждающийся в комментариях аргумент в пользу многоядерности.

И тем не менее в этом эффективном сравнении есть очевидная некорректность, основной вопрос заключается в том, что именно понимать под производительностью. Напрашивается очевидная аналогия с автомобильными двигателями. Для того чтобы адекватно оценить характеристики двигателя внутреннего сгорания, одним показателем — его максимальной мощностью обойтись нельзя. Следует учитывать то, на каком числе оборотов развивается максимальная мощность, какова максимальная величина крутящего момента и какова моментная характеристика. Следуя методике Sun, мы можем предложить условный показатель, аналогичной SWaP, включив в него вес, мощность, расход топлива и что-то еще в этом роде. После этого мы будем сравнивать, скажем, двигатели легкового автомобиля с судовыми или тепловозными двигателями, в таком случае при равной мощности десять двигателей по 200 лошадиных сил опередят тяжелый дизель по этому показателю в десятки раз, но это вовсе не значит, что они смогут обеспечить адекватную замену. Двигателю от болида «Формулы-1» не удастся сдвинуть с места железнодорожный состав.

Примерно то же самое можно сказать и о процессорах: выполнение «тяжелых» задач, таких как высокопроизводительные вычисления, работа с большими СУБД и других, не поддающихся простому распараллеливанию, требует большой мощности от каждого ядра. Однако значительная часть серверной нагрузки (в особенности нагрузки, так или иначе связанной с Internet) складывается из выполнения большого количества мелких задач; вот для их решения гораздо лучше подходят многоядерные многопотоковые процессоры. Для такого рода задач величина получаемой ими мощности процессора не является слишком критичной; если перейти на более медленное ядро, то время выполнения задачи — скажем, обращения к Web-сайту, — может увеличиться, но оно в любом случае несопоставимо со временем человеческой реакции. Поэтому задержка, вызванная относительно невысокой величиной индивидуальной мощности одного потока в одном ядре, останется незаметной, зато суммарная высокая производительность сервера имеет большое значение — именно она определяет качество обслуживания.

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

Революционер из МТИ

Наиболее радикален в выражении своего отношения к многоядерности и тем особенно интересен профессор Массачусетского технологического института Ананд Агарвал. Это, безусловно, один из крупнейших современных специалистов по процессорным архитектурам; в свое время он участвовал в разработке первой спецификации SPARC. Несмотря на солидный возраст, он по-юношески экстремален и выражает крайние взгляды, но при этом обнажает и наиболее полным образом выражает саму идею перехода от монолитных процессоров к многоядерным. К тому же созданная им компания Tilera показательна в качестве представителя нового поколения процессорных компаний, не имеющих собственного производства, но обладающих свежими мыслями и ресурсами для проектирования. Далеко не случайно именно Агарвал выступал в качестве одного из основных докладчиков на проводившихся в 2006 и 2007 году конференциях Multicore Expo. Он считает, что многоядерные системы станут столь мощной силой, что разрушат сложившуюся стабильную обстановку и заставят проектировщиков переосмыслить фундаментальные начала. Агарвал предлагает еще одну дополнительную формулировку для закона Мура, в соответствии с ней с периодом 18 или 24 месяца удваиваться должно не только число транзисторов, как это звучит в оригинале, но еще и число ядер на кристалле. Из этого следует, что при сегодняшних одном–восьми ядрах в начале следующего десятилетия их число превысит 1000.

Для того чтобы синхронизировать рост числа ядер в соответствии с ростом числа транзисторов (число транзисторов, приходящихся на ядро, по мнению профессора, возрастать не будет), необходимо сохранять простоту ядер, сокращая размеры кэш-памяти, и отказаться от других усовершенствований (суперскалярность, внеочередное исполнение и др.). Можно представить это так, что ядро возвращается к чистой архитектуре фон Неймана, а система на кристалле вбирает в себя всю инфраструктурную сложность. Агарвал предложил правило, названное (им KILL аббревиатура от kill if less than linear, то есть «убей, если меньше, чем линейно»). Правило это можно интерпретировать следующим образом: некоторый ресурс ядра может наращиваться, если при этом обеспечивается, как минимум, линейный рост производительности. Таким образом, утверждает Агарвал, можно найти оптимум для разного рода устройств, например кэш-памяти. Если уменьшить тактовую частоту с 4 до 1 ГГц, то вероятность промаха при обращении в стек уменьшается в четыре раза, и стек можно сделать в 16 раз меньше.

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

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

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

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

Настоящим «бестселлером» оказалась простая по форме, но эпохальная по содержанию статья «Бесплатных завтраков не будет. Основополагающий разворот по направлению к параллельности в программировании» (The Free Lunch Is Over A Fundamental Turn Toward Concurrency in Software). Она была опубликована весной 2005 года сразу в двух журналах — Dr. Dobb’s Journal и C/C++ Users Journal. Суть статьи заключается в утверждении, что рост производительности процессоров, опережающий потребности, создал парниковые условия для программирования, что оказалось в конечном итоге не на пользу делу, как известно, эволюция в излишне благоприятной среде если не ведет к вырождению, то уж точно не формирует жизнестойкость, способность противостоять перегрузкам. Существовавшие до сих пор условия Саттер сравнил с бесплатной раздачей завтраков, которая закончилась. Немного позже Саттер вместе с коллегой из Microsoft Джеймсом Ларуссом опубликовал статью «Программное обеспечение и параллельная революция» (Software and the Concurrency Revolution), на этот раз в журнале ACM Queue, где он не столько критиковал настоящее, сколько размышлял о будущем. В ней Саттер назвал необходимую реакцию на изменившиеся условия «грядущей параллельной революцией».

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

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

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

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

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

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

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

studfiles.net

Многоядерный процессор - это... Что такое Многоядерный процессор?

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

Архитектура многоядерных систем

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

Способ связи между ядрами:

  • разделяемая шина
  • сеть (Mesh) на каналах точка-точка
  • сеть с коммутатором
  • общая кеш-память

Кеш-память: Во всех существующих на сегодня многоядерных процессорах кеш-памятью 1-го уровня обладает каждое ядро в отдельности, а кеш-память 2-го уровня существует в нескольких вариантах:

  • разделяемая — расположена на одном кристалле с ядрами и доступна каждому из них в полном объёме. Используется в процессорах семейств Intel Core.
  • индивидуальная — отдельные кеши равного объёма, интегрированные в каждое из ядер. Обмен данными из кешей 2-го уровня между ядрами осуществляется через контроллер памяти — интегрированный (Athlon 64 X2, Turion X2, Phenom) или внешний (использовался в Pentium D, в дальнейшем Intel отказалась от такого подхода).

Производительность

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

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

Наращивание количества ядер

На сегодня основными производителями процессоров — Intel и AMD дальнейшее увеличение числа ядер процессоров признано как одно из приоритетных направлений увеличения производительности.

В 2011 году освоено производство 8-ядерных процессоров для домашних компьютеров,[1] и 16-ядерных для серверных систем.[2]

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

История массовых многоядерных процессоров

Двухядерные процессоры различных архитектур существовали ранее, например IBM PowerPC-970MP (G5), но их использование было ограничено узким кругом специализированных применений.

В апреле 2005 года AMD выпустила 2-ядерный процессор Opteron архитектуры AMD64, предназначенный для серверов. В мае 2005 года Intel выпустила процессор Pentium D архитектуры x86-64, ставший первым 2-ядерным процессором, предназначенным для персональных компьютеров.

В марте 2010 года появились первые 12-ядерные серийные процессоры, которыми стали серверные процессоры Opteron 6100 компании AMD (архитектура x86/x86-64).[3]

В августе 2011 года компанией AMD были выпущены первые 16-ядерные серийные серверные процессоры Opteron серии 6200 (кодовое наименование Interlagos). Процессор Interlagos объединяет в одном корпусе два 8-ядерных (4-модульных) чипа и является полностью совместимым с существующей платформой AMD Opteron серии 6100 (Socket G34).[4]

Сводные данные по истории микропроцессоров и их параметров представлены в обновляющейся английской статье: Хронология микропроцессоров, 2010ые годы. Для получения числа ядер процессора надо умножить поля "Cores per die" и "Dies per module", для получения числа аппаратных потоков - умножить число ядер на число "threads per core". Например, для Xeon E7, Intel: "4, 6, 8, 10" ядер на 1 die на 1-2 аппаратных потоков = максимум 10 ядер и 20 аппаратных потоков, AMD FX "Bulldozer" Interlagos "4-8" на 2 на 1 = максимум 16 ядер и 16 потоков.

История экспериментальных многоядерных процессоров

27 сентября 2006 года Intel представила прототип 80-ядерного процессора.[5] Предполагается, что массовое производство подобных процессоров станет возможно не раньше перехода на 32-нанометровый техпроцесс.

20 августа 2007 года компания Tilera, анонсировала чип TILE64 (англ.) с 64 процессорными ядрами и встроенной высокопроизводительной сетью, посредством которой обмен данными между различными ядрами может происходить со скоростью до 32 Тбит/с.[6][7]

26 октября 2009 года Tilera анонсировала[8] 100-ядерный процессор широкого назначения серии TILE-Gx (англ.). Каждое процессорное ядро представляет собой отдельный процессор с кеш-памятью 1 и 2 уровней. Ядра, память и системная шина связаны посредством топологии mesh network. Процессоры производятся по 40-нм техпроцессу и работают на тактовой частоте 1,5 ГГц. Выпуск 100-ядерных процессоров назначен на начало 2011 года.

2 декабря 2009 года Intel представила одночиповый «облачный» Single-chip Cloud Computer (SCC) компьютер, представляющий собой 48-ядерный чип. «Облачность» процессора состоит в том, что все 48 ядер сообщаются между собой как сетевые узлы. SCC — часть проекта, целью которого является создание 100-ядерного процессора. Ожидается, что некоторые функции SCC появятся в серийных процессорах Intel в 2010 году.[9]

В июне 2011 года Intel раскрыла детали разрабатываемой архитектуры Many Integrated Core (MIC) — эта технология выросла из проекта Larrabee. Микропроцессоры на основе этой архитектуры получат более 50 микроядер архитектуры x86 и начнут производится в 2012 году по 22-нм техпроцессу. Эти микропроцессоры не могут быть использованы в качестве центрального процессора, но из нескольких чипов этой архитектуры будут строиться вычислительные ускорители в виде отдельной карты расширения и конкурировать на рынках GPGPU и высокопроизводительных вычислений с решениями типа Nvidia Tesla и AMD FireStream.[10] По опубликованному в 2012 году описанию архитектуры, возможны чипы с количеством ядер до 60.

В октябре 2011 года компания Adapteva представила 64-ядерные микропроцессоры Epiphany IV, которые показывают производительность до 70 гигафлопс, при этом потребляя менее 1 Вт электроэнергии. Микропроцессоры спроектированы с использованием RISC-архитектуры и начнут массово производится в начале 2012 года по 28-нм техпроцессу. Данные процессоры не могут быть использованы в качестве центрального процессора, но компания Adapteva предлагает использовать их в качестве сопроцессора для таких сложных задач, как распознавание лиц или жестов пользователя. Компания Adapteva утверждает, что в дальнейшем число ядер данного микропроцессора может быть доведено до 4096[11].

В январе 2012 года компания ZiiLabs (дочернее предприятие Creative Technology) анонсировала 100-ядерную систему на чипе ZMS-40. Эта система, объединяющая 4-ядерный процессор ARM Cortex-A9 1,5 ГГц (с мультимедийными блоками Neon) и массив из 96 более простых и менее универсальных вычислительных ядер StemCell. Ядра StemCell — это энергоэффективная архитектура SIMD, пиковая производительность при вычислениях с плавающей запятой (32 бит) — 50 гигафлопс, ядра которой работают скорее как GPU в других системах на чипе, и могут быть использованы для обработки видео, изображений и аудио, для ускорения 3D- и 2D-графики и других мультимедийных задач (поддерживается OpenGL ES 2.0 и OpenCL 1.1)[12].

Многоядерные контроллеры

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

Например:

  • seaForth-24 — новая разработка multi-core MISC архитектуры Chuck Moore 1 ГГц 24-ядерный асинхронный контроллер.
  • Контроллер от Parallax [1] имеет восемь 32-разрядных процессоров (COG) в одном кристалле P8X32A.
  • Kilocore PowerPC процессор с 1024 8-ми битными ядрами работающими на частоте 125 МГц. На данный момент существует 256-ядерный процессор.

См. также

Ссылки

Примечания

dic.academic.ru

Четырехъядерные процессоры Intel - Mega Obzor

Теперь рассмотрим новый процессор более подробно. Прежде всего, он называется Core 2 Extreme QX6700, имеет разъем LGA775 и теоретически должен быть совместим с широким кругом материнских плат. И хотя по официальной информации Intel данный процессор может работать только на платах с чипсетом i975X, мы не сомневаемся, что вскоре ведущие производители объявят о поддержке QX6700 платами на P965 и новых версиях nForce Intel Edition. Не исключена поддержка со стороны других чипсетов, поскольку для работы QX6700 необходимо наличие модуля питания платы соответствующего спецификациям VRM 11, а также поддержка со стороны BIOS.

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

Поскольку нововведения микроархитектуры Intel Core уже достаточно подробно описаны в нашей статье Эволюция многоядерной процессорной архитектуры Intel Core: Conroe, Kentsfield, далее по расписанию, повторяться здесь на эту тему уже нет смысла. Главное, что хотелось бы отметить: ключевые возможности архитектуры нового поколения, заложенные в описанных ранее технологиях Intel Wide Dynamic Execution, Intel Intelligent Power Capability, Intel Advanced Smart Cache, Intel Advanced Digital Media Boost и Intel Smart Memory Access, актуальны для 4-ядерного процессора Core 2 Extreme QX6700 так же, как и для его 2-ядерных собратьев. Разница лишь в том, что теперь новая архитектура Intel Core реализована в четырёх независимых ядрах на единой подложке, с 8 Мб кэша L2 (по 4 Мб на каждую пару ядер), что обеспечивает поддержку четырёх независимых физических тредов и теоретически позволяет добиться дополнительного прироста производительности (при адекватной работе программной части платформы).

В нашем тестировании мы использовали материнские платы Intel D975XBX2 ("Bad Axe") и ASUS P5W64 WS Pro (обе на чипсете i975X).

Соответственно, при поддержке процессора QX6700 со стороны материнской платы, апгрейд осуществляется только заменой процессора. Дело в том, что компьютерная индустрия полностью готова к появлению 4-ядерных процессоров. На практике это выражается в наличии широкого ассортимента мощных кулеров, способных рассеивать 130-150 Вт, а также большого количества мощных (>500 Вт) блоков питания.

Примечательно, что появление процессора QX6700 произошло спустя всего три месяца после выхода ядра ConroeAllendale. Столь высокая скорость разработки объясняется тем, что данные процессоры разрабатывались практически одновременно. Уже на начальных этапах разработки, в спецификации Conroe было заложено требование совместимости в 2-ядерной конфигурации. Иными словами размещение на одном процессоре двух ядер Conroe (каждое из которых также является двухъядерным) позволяет выпустить 4-ядерный процессор. А невысокое энергопотребление Conroe позволяет уложиться в предел 150 Вт для 4-ядерной конфигурации (официальные данные о TDP для QX6700 говорят о 130 Вт потребляемой энергии).

Кстати, подобный подход к разработке двухъядерных процессоров продолжает традицию Intel. Точно также были выпущены процессоры Smithfield и Presler. Кстати, последний имеет два ядра Cedar Mill, выпущен по 65нм техпроцессу и до последнего времени был единственным процессором, который способен исполнять 4 потока команд одновременно. Дело в том, что оба интегрированных ядра имели поддержку технологии HyperThreading. Тем самым, будет особенно интересно сравнить производительность Presler c Core 2 Extreme QX6700.

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

Как мы видим, тактовая частота процессора QX6700 равна 2,66 ГГц, частота системной шины 266 МГц (1066 МГц QPB) и, соответственно множитель = 10. Объем кэш-памяти второго уровня составляет 8 Мб (2 х 4 Мб), а штатное напряжение питания может колебаться от 1,25 В до 1,35 В в зависимости от степпинга.

Визуально, новый процессор мало, чем отличается от своих LGA775 собратьев. С лицевой стороны отличий нет вообще (кроме маркировки), а с обратной стороны Kentsfield можно узнать по конфигурации конденсаторов:

Крупным планом:

На время отвлечемся от процессора, и рассмотрим общий подход Intel к увеличению производительности своих CPU. Обжегшись на архитектуре NetBurst, которая требовала серьезного увеличения тактовой частоты, Intel изменила подход, и выпустила архитектуру нового поколения - Core 2 Duo. Последняя обеспечивает революционный скачок в производительности, при довольно низком энергопотреблении. При этом, как показали многочисленные эксперименты с разгоном, запас по наращиванию тактовой частоты просто колоссальный (до 3,4-3,6 ГГц). Последний фактор позволил бы без особых проблем штамповать все новые версии процессоров еще пару лет (как раз до перехода на 45нм техпроцесс). Однако общие тенденции компьютерной отрасли требуют параллельных вычислений. Соответственно, главная стратегическая задача Intel выражается в разработке многоядерных процессоров.

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

Даже двухъядерный Celeron позволяет почувствовать разницу в удобстве работы! Под Celeron'ом я подразумеваю дешевые процессоры Smithfield (например, все тот же двухъядерный процессор Pentium 805). А то, что он называется Pentium не должно смущать покупателя: производительность процессоров Conroe столь велика, что разом отправляет все остальные LGA775 процессоры в разряд low- и middle-end продуктов.

Итак, в ближайшем будущем можно ожидать увеличение количества ядер на одном процессоре. Думаю, это произойдет не ранее 2008 года, когда Intel перейдет на новый (45нм) техпроцесс и продемонстрирует новую процессорную архитектуру. В это время можно будет ожидать появление первых 8-ядерных процессоров. Тем самым рост производительности происходит по двум направлениям: увеличение производительности архитектуры (т.е. одного ядра) и увеличение количества ядер на одном процессоре.

Думаю, это время станет эпохой расцвета многоядерных процессоров. Наличие оптимизации под многопоточность станет необходимым требованием при разработке ПО (вероятно, подобная оптимизация будет встроена на уровне средств разработки), а одноядерные процессоры просто исчезнут с прилавков магазинов. Кроме того, в 2007 году выходит новая операционная система MS Vista, и соответственно, все последние разработки программного обеспечения ведутся именно под эту систему. И вполне возможно, первые плоды преимущества многоядерных систем мы получим уже через несколько недель.

Как я уже говорил, на сегодняшний день количество оптимизированного ПО довольно мало, и чаще всего встречается среди программ для обработки 3-мерной графики, кодирование потоковой информации (видео и звук), сжатия информации (архиваторы) и работа с графической информацией (обработка изображений). Именно с этих приложений мы начнем тестирование процессора Core 2 Extreme QX6700. Однако, прежде рассмотрим потенциал нового процессора в области разгона.

Разгон и тепловыделение

Поскольку Kentsfield представляет собой два ядра Conroe, то понятно, что потенциал по росту тактовой частоты не будет превышать пределы ядра Conroe. Однако размещение на одном процессоре двух ядер приводит к тому, что максимально возможная тактовая частота ограничена потенциалом самого "худшего" ядра. Но с другой стороны, для производства Kentsfield компания Intel отбирает только самые "лучшие" зерна, т.е. ядра, что говорит в пользу разгона. В общем, можно ожидать, что технологический предел находится в районе 3,5 ГГц.

Так оно и оказалось: максимально стабильная тактовая частота нашего экземпляра процессора оказалась равна 3,45-3,5 ГГц с воздушным охлаждением (кулер Gigabyte G-Power). При этом стоит отметить, что данный процессор с успехом стартовал на частоте 3,66 ГГц, но стабильная работа была невозможной по причине очень высокого тепловыделения.

Автор: Александр Митрофанов

megaobzor.com

Многоядерные процессоры и насколько они необходимы

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

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

Итак, для того, чтобы насладиться всеми возможностями многоядерного процессора, вам понадобятся программы, которые эту самую многомерность поддерживают. И таких программ не так уж и мало. В первую очередь к ним относятся различные базы данных, программы для трехмерного моделирования (такие как Мауа и 3Ds Мах), некоторые архиваторы (например, 7Zip) и ряд компьютерных игр. К сожалению, программ, способных воспользоваться преимуществами многоядерных процессоров, совсем не так много, как хотелось бы, и большинство программ многомерность не поддерживает. Но ситуация постепенно меняется, разработчики программ выпускают или новые версии своих продуктов, поддерживающие многомерность  или специальные обновления, после установки которых программа приобретает поддержку многомерности.

Нужен ли лично вам многоядерный процессор?

Нужен ли лично вам многоядерный процессор? Во-первых, производители процессоров уже все решили за нас, и одно ядерные процессоры постепенно уходят в прошлое. Во-вторых, преимущества многоядерных процессоров вы сможете ощутить даже в том случае, если на вашем компьютере нет ни единой программы с поддержкой многомерности.  Все дело в том, что Windows ХР и Windows  7, 8 изначально поддерживают распределение нагрузки между несколькими ядрами. Следовательно, если одна программа загрузит один процессор на 100%, то та же самая программа загрузит двухъякорный процессор уже только на 50%. К другому преимуществу многоядерных процессоров, о котором любят говорить производители процессоров  рекламируя свое творение, относится возможность одновременного выполнения ресурсосберегающих программ без потери производительности. В практическом плане это означает, что вы сможете одновременно, скажем, играть в компьютерную игру и кодировать содержимое компакт-диска в MP3 без какого-либо эффекта «торможения». Другой вопрос, что едва ли вам понадобится одновременно выполнять такие операции, но подобная возможность может действительно пригодиться.

Нужен ли лично вам многоядерный процессор?

Кроме того, не забывайте — приобретая многоядерный процессор сейчас, вы делаете вклад в будущее. Постепенно программ с поддержкой многомерности будет все больше, и вы сможете насладиться новыми мультимедийными программами и играми, не приобретая нового процессора. Уже появились модели с 4 ядрами на одном кристалле, и это еще не предел. Многоядерные процессоры будут использоваться не только в компьютерах и серверах, но и в бытовой электронике и игровой индустрии. Наглядный тому пример — процессор Cell компании Sony, который применяется в игровой приставке нового поколения Playstation 3 и имеет 8 встроенных ядер.

it-war.ru