Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Процессоры компании Tilera




Современные многоядерные процессоры IBM.

Процессоры компании Tilera

 


Появившиеся в начале XXI века первые двухъядерные процессоры от Intel и AMD стали не просто очередными конкурирующими новинками от лидеров отрасли ПК, как это часто бывало в последние годы. Их появление - начало нового этапа проникновения профессиональных технологий в потребительский сегмент «настольных» вычислений, как в тактическом, так и в стратегическом понимании.

1. Предварительные определения: архитектура.

 

Архитектура многоядерных процессоров аналогична архитектуре построения многопроцессорных систем. Существует общепринятая классификация:

 

1. SMP - системы (Symmetrical Multi Processor systems) (Слайд 2) - все процессоры имеют равноправный доступ к общей оперативной памяти. Создавать подобные системы с определенным уровнем рентабельности сложно: SMP - системы обычно содержат 2-4 процессора. Цена системы с большим числом процессоров может достигать сотен тысяч долларов (SMP с 32-мя CPU может стоить несколько миллионов долларов) Экономически более целесообразно использовать менее дорогостоящие архитектуры. Intel предпочитает создавать SMP - системы.

2. NUMA - системы (Non-Uniform Memory Access systems) (Слайд 3) - память таких систем неоднородна один её фрагмент «быстрее», другой – «медленнее. В системе при этом образуются сегменты со своей, быстрой «локальной» памятью, соединенные относительно медленными линиями связи. Обращения к «своей» памяти происходят быстро, к «чужой» - медленнее. Чем «дальше» чужая память расположена, тем медленнее получается доступ к ней. Создавать NUMA - системы куда проще, чем SMP- системы, но без учета неоднородности памяти для NUMA - системы создать эффективное ПО практически невозможно. AMD, IBM и Sun предпочитает создавать те или иные варианты NUMA - систем.

3. Кластеры (Слайд 4) - объединение нескольких компьютеров (узлы кластера или «ноды») посредством быстродействующих линий связи. В отличие от NUMA - систем, при работе с кластером требуется очень четко программно распределять функции обработки. Это создает трудности при программировании приложений и накладывает существенные ограничения на применимость кластерных систем. Основная область применения кластеров – суперкомпьютеры.

 

 

2. Предварительные определения: системотехника.

 

1. APIC (Advanced Programmable Interrupt Controller) – одна из важнейших схем, занимающаяся сбором и обработкой возникающих в компьютере прерываний.

 

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

 

Кроме аппаратных существуют еще и программные прерывания (exceptions), которые генерирует не периферия, а сам процессор – в случае возникновения какой-либо нештатной ситуации.

 

Типичные примеры:

 

· в программе встретилась непонятная или просто запрещенная инструкция (#GP, General Protection Exception),

· произошло деление на ноль (#DE, Divide-by-Zero Error Exception),

· программа обратилась к несуществующему адресу в памяти (#PF, Page Fault Exception).

 

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

Для многопроцессорных, многоядерных и даже для процессоров с Hyper - Threading (виртуальной многоядерностью) требуется для обработки программных прерываний по одному APIC на каждое ядро процессора (включая каждое виртуальное ядро).

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

 

2. DMA (Direct Memory Access) – блок чипсета, выполняющий обработку фоновых задач, связанных с периферией. DMA обеспечивает работу процессора по обмену с жесткими дисками, начиная с интерфейса Ultra ATA/33 (будет рассмотрен позже).

 

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

 

3. GART (Graphical Address Relocation Table) - блок, обеспечивающий графическому ускорителю доступ к системной памяти процессора. GART появился в компьютерах одновременно с шиной AGP. Его задача – реализация механизма виртуальной памяти для CPU. Позволяет 3D - ускорителям использовать не только собственную видеопамять, но и основную системную память компьютера.

 

 

3. Особенности архитектуры

 

Идея многоядерного процессора довольно проста: несколько процессоров в одном корпусе, и компьютер получает возможность исполнять несколько программных потоков одновременно. Конкретные её реализации в процессорах AMD и Intel заметно различаются.

 

Архитектура многоядерных процессоров отличается организацией кэш-памяти L1 и L2:

 

· общая кэш-память 1-го уровня и разделяемая кэш-память 2-го уровня (расположена на одном с обеими ядрами кристалле и доступна каждому в полном объёме - Intel Core)(Слайд 5).

· общая кэш-память 1-го уровня и индивидуальная кэш-память 2-го уровня (отдельные кэши равного объёма, интегрированные в каждое из ядер). Обмен данными из кэшей L2 между ядрами - через контроллер памяти (интегрированный Athlon 64 X2 или внешний Pentium D).

· индивидуальная кэш-память 1-го уровня и индивидуальная кэш-память 2-го уровня (Opteron) (Слайд 6)

 

 

4. Многоядерные процессоры: история возникновения

 

Основные даты начала эпохи двухъядерных процессоров: (Слайд 7)

 

1. 1999 год – анонс первого двухъядерного процессора в мире (IBM Power 4 для серверов).

2. 2001 год – начало продаж двухъядерного IBM Power4.

3. 2002 год – почти одновременно AMD и Intel объявляют о создании своих двухъядерных процессоров.

4. 2002 год – выход процессоров Intel Xeon и Intel Pentium 4 с технологией Hyper-Threading, обеспечивающей виртуальную двухпроцессорность на одном кристалле.

5. 2004 год – свой двухъядерный процессор выпустила Sun (UltraSPARC IV).

6. 2005 год, 18 марта – Intel выпустила первый в мире двухъядерный процессор архитектуры x86.

7. 2005 год, 21 марта – AMD анонсировала десктопные двухъядерные процессоры Athlon 64 X2 и начала поставки двухъядерных серверных Opteron 8xx.

8. 2005 год, 20-25 мая – AMD начинает поставки двухядерных Opteron 2xx.

9. 2005 год, 26 мая – Intel выпускает двухъядерные Pentium D для массовых ПК.

10. 2005 год, 31 мая – AMD начинает поставки Athlon 64 X2.

11. 2007 год, май - компания IBM выпускает двуядерный Power 6 (65-нм) - самый быстрый на тот момент процессор в мире с тактовой частотой 4,7 ГГц и кэшем второго уровня в 8 Мб.

 

Эволюция процессоров шла от увеличения количества элементов на кристалле (интегрированность ядра) через рост частоты процессора к росту количества ядер (многоядерности) и идет весьма быстрыми темпами. Так, в ноябре 2008 года компания Dell подтвердила планы выпуска в 2011 году персонального суперкомпьютера с 80-ядерным процессором (Слайд 8). Такие чипы смогут передавать информацию на скорости 1 терабайт / сек.

 

5. Многоядерные процессоры: производительность

 

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

6. Многоядерные процессоры: наращивание количества ядер

 

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

7. Многоядерные чипыдля мобильных устройств

 

Сфера применения многоядерных процессоров – не только ПК и другие ЭВМ. Создаются также и многоядерные чипы для мобильных устройств. Пример - данные из Википедии (Слайд 9):

 

· seaForth-24 —24-х ядерный асинхронный контроллер архитектуры Chuck Moore, работающий на частоте 1ГГц.

· Parallax P8X32A 8-и ядерный контроллер имеет восемь 32-разрядных процессоров в одном кристалле.

· Kilocore PowerPC – 1024-х ядерный процессор имеет 1024 8-ми битных ядра, работающих на частоте 125МГц.

 

 

8. Многоядерные процессоры: Intel и AMD – два подхода

8.1. Первые двухядерные процессоры Intel

 

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

 

Двухъядерный процессор Smithfield имел два обычных ядра, аналогичных одноядерному Prescott, просто расположены они рядом на одном кристалле кремния и электрически подключены к одной (общей) системной шине. Никакой общей схемотехники у этих ядер нет. (Слайд 11)

 

У каждого ядра Smithfield – свой APIC, вычислительное ядро, кэш-память второго уровня и свой интерфейс процессорной шины (Bus I/F). Ядро Smithfield является монолитным (два ядра образуют единый кристалл процессора).

Следующее поколение настольных процессоров Intel (Presler - 65-нм технология) было еще проще – два одинаковых кристалла одноядерных процессоров (Cedar Mill) в одном корпусе (Слайд 12)

Таким же был и первый серверный процессор Intel данной микроархитектуры (Dempsey). Но если у Smithfield на каждое из ядер приходилось по 1 Мбайт кэш-памяти второго уровня, то у Presler и Dempsey (Слайд 13) было уже по 2 Мбайт на ядро.

 

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

 

· Montecito (Слайд 14) (двухъядерный Itanium),

· Yonah (двухъядерный аналог Pentium M) (Слайд 15),

· Paxville для многопроцессорных серверов на базе Intel Xeon MP (Слайд 15).

 

Такой подход Intel позволил этой корпорации довольно быстро начать производство дешевых и доступных двухъядерников. Организация «системы в целом» у Intel столь же традиционна, сколь и устройство двухъядерного процессора. (Слайд 16).

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

Весь этот комплект объединяется в единое целое специальным коммуникационным процессором – «северным мостом» (Northbridge) чипсета. Через него проходят практически все потоки данных.

Подобный централизованный подход, во-первых, отличается относительной простотой, а во-вторых, удобен тем, что в нём каждый компонент компьютера получается узкоспециализированным, и поддающимся модернизации независимо от других компонентов. То есть, с одним и тем же Northbridge можно использовать, различные по своей производительности процессоры и наоборот – меняя Northbridge, можно, использовать с одним и тем же процессором разные типы оперативной памяти. Это преимущество таких SMP-систем одновременно оборачивается и ее огромным недостатком - налицо латентность памяти – замедление ее работы, особенно у систем с большим количеством процессоров (Слайд 17).

 

 

8.2. Процессоры AMD: SUMA, SRI и интегрированный Northbridge

 

Архитектура AMD концептуально иная, т.к. в ней нет какого-то выделенного центра. Каждый из процессоров архитектуры AMD является независимой и самодостаточной единицей, объединяющей в себе почти всю функциональность Северного моста традиционных наборов системной логики. Это началось с одноядерных процессоров, а с появлением двухъядерников добавились новые отличия. Например, в двухпроцессорной системе на двухъядерных AMD Opteron. (Слайд 18)

AMD интегрировала практически всю функциональность Северного моста в центральный процессор. Это приводит к совсем иной архитектуре компьютера – SUMA; ее основные преимущества над SMP показывает архитектура двухъядерного AMD Opteron (Слайд 19):

 

1. Основа SUMA-архитектуры – последовательная шина Hyper Transport (подробнее этот интерфейс будет рассмотрен позднее). В серверных вариантах процессоров AMD может быть интегрировано до трех независимых 16 -разрядных линков (каналов) HT, работающих на частотах 1 ГГц - 2 ГГц со скоростью передачи 4 Гбайт/с в каждом из направлений. HT - линки организуют:

 

· связь процессоров между собой,

· подключение периферийных устройств через внешний чипсет,

· подключение процессора к внешнему чипсету.

 

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

 

2. В каждый процессор интегрируется одно- или двухканальный (у двухъядерников) контроллер памяти DDR. Обращения к памяти других процессоров происходят по шине Hyper Transport – ее осуществляет встроенный в Northbridge коммутатор CrossBar, работающий на полной частоте процессора. Он же обеспечивает автоматическую маршрутизацию проходящих через процессор сообщений от периферийных устройств и других процессоров, включая обслуживание чужих запросов к ОЗУ.

 

3. Шина HT специально оптимизировалась для подобного режима работы с множеством сообщений и обеспечивает высокую (до 4 Гбайт/с) пропускную способность при обращении к памяти других процессоров. Шина является полнодуплексной, т.е. данные одновременно передаются на этой скорости в обе стороны (до 8 Гбайт/с суммарно). Модель получается неоднородной (NUMA), но различия в скорости своих и чужих участков оперативной памяти получаются относительно небольшими.

 

4. Чипсет сильно упрощается: всё, что от него требуется – это просто обеспечивать работу т.н. туннелей и хабов между HT и другими типами шин, и заодно обеспечивать работу интегрированных контроллеров. (Подробно туннели и хабы рассматриваются позже).

 

5. Второе ядро подключается к коммутаторe CrossBar через общую шину SRI (Sistem Request Interface); оба ядра идентичны и, фактически, являются полноценными процессорами.

 

Варианты исполнения SUMA-архитектуры (Слайды 20-23)


Поделиться:

Дата добавления: 2015-08-05; просмотров: 81; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты