И в свет разрешаю на основании «Единых правил», п 14 Заместитель первого проректора начальник организационно методи- ческого управления В. Б. Юскаев Строение персонального компьютера учебное пособие

Вид материалаУчебное пособие

Содержание


Многоядерные процессоры
Подобный материал:
1   ...   6   7   8   9   10   11   12   13   14

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


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

Первой данный факт признала компания Intel, поэтому ею и был сделан революционный ход— в процессорах для настольных систем компания внедрила технологию Hyper-Threading. Решение простое и элегантное: простаивающие ресурсы физического процессора отдаются в распоряжение логическому чипу.

Однако смысл от внедрения нескольких процессоров — физических или логических — появляется лишь в том случае, когда операционная система, системные и прикладные программы «умеют» задействовать имеющиеся возможности. Т.е. второй процессор не нужен, если Windows 98 все равно работает с одним, и лишь Windows XP с установленным Service Pack 2 уже способна адекватно работать с логическими процессорами. Хотя многопроцессорными конфигурациями операционные системы семейства Windows NT не удивишь уже давно, не говоря уже о различных *nix-клонах.

Впрочем, сегодня Hyper-Threading выглядит не ново, ведь развитие полупроводникового производства открывает возможности для многопроцессорности на базе одного чипа, а именно полноценной многоядерности. Как частный случай, – двухъядерности.

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

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

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

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

У компании AMD есть сильный козырь — ввод в эксплуатацию предприятия Fab 36 в Дрездене (Германия), оснащенного оборудованием для выпуска чипов по технологическому процессу 65 нм. Специалисты компании полагают, что появление процессоров, изготовленных с применением данных норм, не за горами — это 2006 год. Однако в 2005 году двухъядерные процессоры будут производиться с использованием технологии 90 нм. Если быть более точным, то 14 июля 2004 года компания AMD объявила о завершении стадии разработки нового двухъядерного процессора. Процессор будет продаваться как Opteron для серверного рынка и Athlon 64 – для рынка настольных чипов. Конечно, речь не идет о практически одинаковых процессорах с разной маркировкой, они будут различаться частотой, объемом кэш-памяти и количеством выводов, имея лишь общую «начинку» — то, что называется dual-core. Существует три модификации двухъядерных Opteron – Egypt, Italy и Denmark, для «настольного» же двухъядерного Athlon 64 кодовое имя — Toledo.

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

Интегрированные в процессоры, спроектированные с учетом 64-разрядной архитектуры, контроллер памяти и шина Hyper Transport теоретически позволяют добиться от двухъядерного процессора производительности, аналогичной производительности двух раздельных процессоров, объединенных в рамках единой системы. Другое неоспоримое достоинство архитектуры AMD64 – своеобразное «предвидение» ситуации. Еще на стадии проектирования AMD64 разработчики предусмотрели возможность соединения до четырех процессоров Opteron , не используя набор системной логики, что позволяет без особых проблем объединить на одном кристалле кремния два процессорных ядра, так как все необходимые компоненты уже присутствуют.

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

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

В отношении энергопотребления процессоров AMD собирается по-прежнему придерживаться своей нынешней тактики. Коль скоро имеются три градации энергопотребления — 30, 55 и 89 Вт, — есть все основания предполагать, что двухъядерные чипы будут им соответствовать.

Есть сведения, что двухъядерный процессор от AMD появится в форм-факторе Socket 939, будет изготавливаться по технологии «кремний-на-изоляторе» и 90-нм техпроцессу.

Точной информации о размерах ядер и количестве входящих в них транзисторов пока нет, однако можно сделать кое-какие предположения. Итак, площадь ядра ClawHammer с 1 Мбайтом кэш-памяти второго уровня составляет 193 кв. мм. Для настольных систем данная площадь ядра выглядит великоватой, однако для серверных процессоров это не является проблемой. Площадь собственно ядра ClawHammer составляет 28%, или 54 кв. мм, площадь 1 Мбайт кэш-памяти второго уровня – 42%, или 81 кв. мм, площадь блока северного моста и ввода-вывода – 30%, или 58 кв. мм.

Если предположить, что в двухъядерном процессоре у каждого ядра есть собственная кэш-память второго уровня объемом 1 Мбайта, то будет: два ядра, два блока кэш-памяти и один общий блок северного моста и ввода-вывода, то есть без малого удвоенная площадь ядра ClawHammer. С учетом перехода на более тонкий технологический процесс (90 нм против 130 нм) площадь двух ядер составляет 33%, или 65 кв. мм, площадь двух блоков кэш-памяти – 49%, или 97 кв. мм, площадь блока северного моста и ввода-вывода – 18%, или 35 кв. мм. Итого, общая площадь двухъядерного процессора Opteron составит примерно 197 кв. мм.

Компания AMD не пошла по пути Intel, которая ранее просто использовала свободные ресурсы единого физического процессорного ядра для имитации логического второго процессора. Вместо этого реализовано второе физическое процессорное ядро с использованием шины Hyper Transport для межпроцессорных связей. Основная идея состоит в том, что механизм, названный очередью системных запросов (System Request Queue, SRQ), может взаимодействовать с двумя процессорными ядрами «0» и «1». В нынешних чипах AMD присутствует только ядро «0», однако добавление второго ядра («1») требует минимальных усилий – вся необходимая инфраструктура присутствует с самого начала.

Одно из главных преимуществ двухъядерной архитектуры AMD перед технологией Intel Hyper-Threading — каждое процессорное ядро использует собственную кэш-память второго уровня. Не секрет, что одной из основных проблем при построении многопроцессорных и многоядерных систем является «борьба» за память. Если запущенное приложение достаточно мало и полностью помещается в кэш-памяти, то особых проблем не возникает, но сегодня время больших массивов данных. Работа с большими изображениями, обработка видеомассивов и баз данных означают интенсивное использование оперативной памяти. Именно поэтому столь существенная часть системы, как встроенный в процессоры Athlon 64 и Opteron собственный контроллер памяти, обусловливает взрывообразный рост производительности.

Борьба двух процессорных ядер за данные из основной памяти — факт не новый. Такая же ситуация наблюдается и в более старых системах, оснащенных процессорами Xeon или Athlon MP. В подобных системах процессоры осуществляют запросы на доступ к основной памяти у контроллера памяти, находящегося, как правило, в северном мосту набора системной логики, и потому (в общем случае) прирост производительности с этой точки зрения составляет не более 50% по сравнению с однопроцессорной системой. Двухъядерная архитектура Athlon 64 и Opteron несколько больше, чем просто старая двухпроцессорная схема в рамках одного чипа.

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

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

Стоит сказать несколько слов о шине Hyper Transport, которая будет применяться для межъядерных соединений в процессоре. Текущая версия Hyper Transport позволяет достичь пиковой скорости обмена данными 6,4 Гбайт/с (3,2 Гбайт/с в каждую сторону) на частоте 800 МГц — этого явно недостаточно для соединений между двумя процессорными ядрами одного чипа. Видимо, для данного применения будет использоваться шина Hyper Transport с большей пропускной способностью.

Существует некая неопределенность относительно производства двухъядерных процессоров. Известно, что в любом случае, даже при использовании технологического процесса 90 нм, два процессорных ядра будут иметь большие линейные размеры, нежели единственное ядро, производящееся по техпроцессу 130 нм. Итого, на одну кремниевую пластину поместится меньше процессоров – ведь, по некоторым сведениям, AMD до сих пор использует кремниевые пластины диаметром 300 мм (это справедливо и для Fab 36 в Дрездене, «стартовый» техпроцесс которой 65 нм).

Компания Intel также проявляет необычайную активность в данной области, вполне отдавая себе отчет, что «виртуальная двухъядерность», обусловленная технологией Hyper-Threading, никоим образом не может противостоять многоядерности реальной, невзирая на все свои преимущества. В мае 2004 года Intel отменила планы по выпуску чипов, известных широкой общественности под кодовыми именами Tejas и Jayhawk, и предпочла заняться новыми двухъядерными продуктами для серверов и рабочих станций.

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

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

Количество транзисторов на кристалле Montecito — 1,72 млрд, которое объясняется в первую очередь поистине огромным объемом кэш-памяти третьего уровня — 24 Мбайта (по 12 Мбайтов на каждое ядро). При этом задержки кэша третьего уровня останутся такими же, как и в нынешних процессорах Itanium 2. Объем кэш-памяти второго уровня у Montecito 1,25 Мбайта (256 Кбайтов — для данных, 1 Мбайт — инструкции), первого уровня — 64 Кбайта (по 32 Кбайта для данных и инструкций). Предусмотрены и так называемые буферы промахов, контролирующие работу кэш-памяти второго и третьего уровней.

В каждом из ядер Montecito реализована многопоточная обработка (по два потока в каждом ядре). На одном кристалле два ядра и соответственно четыре потока инструкций. Иными словами, четыре логических процессора, то есть в системах, аналогичных сегодняшним четырехпроцессорным на базе Itanium 2, получится 16 потоков инструкций, или 16 логических процессоров.

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

В этом процессоре реализованы новые технологии:
  • Silvervale - серверный вариант технологии виртуализации, позволяющей процессору поддерживать на аппаратном уровне одновременную работу нескольких операционных систем;
  • Pellston - повышение надежности кэш-памяти за счет отключения неисправных сегментов;
  • Foxton - динамическое переключение тактовой частоты и рабочего напряжения в зависимости от вычислительной нагрузки;
  • Snoop-контроллер – устройство, реализующее арбитраж, т.е. отслеживающее выполнение инструкций в обоих ядрах;
  • Dynamic Thread Switching - механизм динамического переключения потоков, способный фиксировать обработку операций, связанных с длительными задержками, и инициировать переход к обработке соседнего потока инструкций.