Cell (Cell Broadband Engine Architecture)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 18:30, 17 ноября 2016.

Cell (полное название архитектуры: Cell Broadband Engine Architecture, CBEA, или Cell BE) — микропроцессорная архитектура, совместно разработанная Sony, Toshiba и IBM, которые организовали альянс, известный как «STI». Разработка архитектуры и первые прототипы были созданы в STI Design Center за четырёхлетний период с начала марта 2001 года с бюджетом, что, заявлило IBM, составляет приблизительно 400 млн $. Cell совмещает универсальное ядро процессора архитектуры Power с сопроцессорами, которые значительно ускоряют обработку мультимедиа и векторных вычислений.

Первое коммерческое применение процессора Cell — в игровой консоли Sony PlayStation 3. Toshiba использует Cell в своих домашних HDTV-кинотеатрах. Экзотические возможности (память XDR и шина EIB) позиционируют Cell для будущих приложений в супервычислительном пространстве, которые могут использовать всю мощь процессора в вычислениях с плавающей запятой. IBM объявила о планах использования процессоров Cell как дополнительных карт в мейнфреймах IBM System z9, для возможности использования этих машин в качестве серверов для MMORPG.

Архитектура Cell использует новую технологию когерентности памяти, на которую IBM зарегистрировала большое количество патентов. Эта технология ставит акцент на высокую производительность в пересчёте на один ватт потребляемой мощности. Пропускная способность памяти приоритетна по сравнению с латентностью, а пиковая пропускная способность ядра важнее простоты кода. Из-за этого Cell считается сложной платформой для разработки приложений. IBM предоставляет комплексную платформу разработчика, основанную на Linux, для помощи разработчикам в преодолении этих проблем. Основной проблемой остаётся адаптация существующего программного обеспечения под архитектуру Cell. Несмотря на все сложности, исследования показали, что Cell даёт преимущество в некоторых типах научных вычислений.

В ноябре 2006 года Дейвид Бейдер из Технологического университета Джорджии был избран директором экспертного центра процессоров Cell STI. Этот центр предназначен для создания сообщества Cell-программистов и расширения поддержки Cell со стороны индустрии.

История

В 2000 году Sony Computer Entertainment, Toshiba Corporation и IBM объединились для разработки и производства процессора Cell. Это объединение стало известно как STI. Центр разработки STI открылся в марте 2001 года. Разработка длилась четыре года, в ней принимали участие более 400 инженеров из трёх компаний при поддержке 11 центров разработки IBM.

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

В окончательной версии процессор называется Cell Broadband Engine (Cell BE), содержит 1 блок «POWER™ Processing Element» (универсальное ядро процессора, УЯП) и восемь специализированных ядер процессора (СЯП, англ. Synergistic Processing Element). УЯП имеет RISC-архитектуру POWER и предназначен для работы операционной системы, а также координации работы СЯПа. Последние являются векторными процессорами архитектуры SIMD. На частоте 3,2 ГГц каждый СЯП имеет теоретическую производительность 25,6 гигафлопс, а 8 СЯПов позволяют достигать 200 гигафлопс. Несмотря на то что номинальная частота процессора 4 ГГц, корректная его работа возможна на частотах вплоть до 5,6 ГГц.

Изначально для производства процессора использовалась 90 нм технология КНИ (SOI), но в марте 2007 года IBM объявила о запуске производства Cell по 65-нм технологии на своём заводе в Восточном Фишкилле, штат Нью-Йорк (США). И в феврале 2008 IBM заявила, что будет производить Cell по технологии 45 нанометров.

Следующее развитие процессора — поколение PowerXCell 32iv, выпуск которого был запланирован на 2010 год. Количество УЯП-элементов в нём увеличено в 2 раза, а СЯП — в 4, производиться он будет по техпроцессу 45 нм SOI (кремний на изоляторе). Однако в ноябре 2009 года официальные представители IBM заявили, что разработка нового поколения процессоров Cell с 32 SPE-элементами прекращена. Но это не означает, что развитие других, будущих продуктов семейства Cell остановлено.

Коммерческое использование

В мае 2005 года было заявлено об использовании Cell в игровых приставках Sony Playstation 3. Рабочая частота была снижена до 3,2 ГГц, а количество доступных SPE ядер — до 6 (одно ядро зарезервировано для нужд ОС, и ещё одно заблокировано для повышения выхода рабочих процессоров, и таким образом удалось существенно снизить цену). Эти процессоры производились по 90 нм технологии[8].

Осенью 2006 года компания IBM выпустила блейд-сервер QS20, оборудованный двумя процессорами Cell BE. Модули QS22, оборудованные двумя процессорами PowerXCell 8i (модифицированная версия Cell BE с аппаратной поддержкой вычислений двойной точности), используются в суперкомпьютере IBM Roadrunner.

На базе процессора Cell был разработан упрощённый процессор SpursEngine фирмы Toshiba для выполнения мультимедийных задач, таких, как кодирование видеопотока AVCHD.

Характеристики

  • Теоретическая производительность: 218 гигафлопс
  • 90-нм технологический процесс (первая ревизия)
  • 234 млн транзисторов
  • 221 мм²
  • Частота: 3,2—5,6 ГГц
  • Напряжение: 0,9—1,3 В
  • Тепловыделение:
    • 80 Вт (4 ГГц, 1,1 В)
    • 180 Вт (5,3 ГГц, 1,3 В)
  • Корпус: BGA 42,5×42,5 мм
  • Сокет: 1236 контактов
  • Межпроцессорная шина Flex I/O 32 ГБ/с на ввод, 44,8 ГБ/с на вывод.
  • интегрированный двухканальный контроллер памяти XDR RAM 25 ГБ/с.
  • Процессор третьей ревизии — изготовление по 45-нм техпроцессу. УЯП состоит из двух процессорных ядер, поддерживает набор команд AltiVec, кэш-память 1-го уровня 64 КБ, кэш-память 2-го уровня 512 КБ, 11-стадийный конвейер. SPE 21 млн транзисторов, 256 КБ локальной памяти, контроллер DMA.[1]

PowerXCell 8i

В 2008 году IBM объявила об исправленном варианте Cell под названием PowerXCell 8i, что доступен в QS22 Blade Servers от IBM. PowerXCell изготовлен по 65 нм техпроцессу и поддерживает дополнительно до 32 Гб разделённой DDR2-памяти, как и значительно повышенную производительность СЯПов с плавающей точкой двойной точности с пиковой — около 12,8 гигафлопс — до 102,4 гигафлопс на всех восьми СЯПах, что, внезапно, равно пиковой производительности векторного процессора NEC SX-9, выпущенного примерно в то же время. Суперкомпьютер IBM Roadrunner, самый быстрый в мире в 2008-2009 гг., содержит 12 240 процессоров PowerXCell 8i вместе с 6 562 процессорами AMD Opteron. PowerXCell 8i питает суперкомпьютеры, занимающие ТОП-6 «зеленейших» систем в списке Green500, с наибольшим отношением мегафлопс/Вт среди всех суперкомпьютеров. Помимо QS22 и суперкомпьютеров, процессор PowerXCell используется как акселератор в плате PCI-express и как основной процессор в проекте QPACE.

С тех пор, как PowerXCell 8i заменили в интерфейсе RAMBUS-памяти громоздкими DDR2-интерфейсами, а топология микросхемы СЯПа должна была быть переработана, это привело к увеличению микросхемы и упаковки.[2]

Архитектура

Базовая конфигурация многоядерной микросхемы Cell составляют универсальное ядро процессора (англ. Power Processor Element, PPE — УЯП) и несколько специализированных ядер процессора (англ. Synergistic Processing Element, SPE — СЯП). Между ними проходит соединяющая элементы шина (англ. Element Interconnect Bus, EIB — СЭШ). Из-за особенностей приложений Cell оптимизирована под вычисления с плавающей точкой одинарной точности. СЯПы могут вычислять с двойной точностью, но это карается падением производительности на порядок.

Универсальное ядро процессора (УЯП)

УЯП основан на архитектуре Power, это последовательное многопоточное ядро с двойным вводом и 23-ступенчатым каналом, ведущем себя как контроллер восьми СЯПов, что обрабатывает бо́льшую часть вычислительной нагрузки. УЯП имеет ограниченное число мощностей исполнения заявок, оно может выполнять загрузку вне заявок, и у него есть каналы отложенного исполнения. УЯП работает с обычными операционными системами потому, что похож на прочие 64-битные процессоры PowerPC, тогда как СЯПы разработаны для исполнения векторизованного кода с плавающей точкой. УЯП содержит 64 Кб кэша первого уровня (32 на команды и 32 на данные) и 512 Кб кэша второго уровня. Размер кэш-строки равен 128 байт. Ещё IBM включила блок AltiVec (VMX), целиком привязанный к вычислениям с плавающей точкой одинарной точности (Altivec 1 не поддерживает векторы с плавающей точкой двойной точности), 32-битный блок с фиксированной точкой (БФТ, англ. Fixed Point Unit, FXU) с 64-битным файлом регистров на поток, блок загрузки с запоминанием (БЗЗ, англ. Load and Store Unit, LSU), 64-битный блок с плавающей точкой (БПТ, англ. Floating-Point Unit, FPU), блок переходов (БЛП, англ. Branch Unit, BRU) и блок исполнения переходов (БИП, англ. Branch Execution Unit, BXU).

УЯП состоит из трёх основных блоков: команд, исполнения и векторного / скалярного исполнения (ВСИ). Блок команд содержит кэш команд L1, предсказатель переходов, буферы команд и логин, зависящий от проверки. Блок исполнения содержит блоки целочисленного исполнения (БФТ) и БЗЗ. ВСИ содержит все исполнительные ресурсы БПТ и VMX. Каждое УЯП способно провести две операции двойной точности за такт с использованием скалярных команд сложения-умножения, что переводит 6,4 гигафлопс в 3,2 ГГц, или восемь операций одинарной точности за такт с помощью векторной команды сложения-умножения, что переводит 25,6 гигафлопс в 3,2 ГГц.

Специализированное ядро процессора (СЯП)

Synergistic processing element (англ. специализированное ядро процессора) — это упорядоченный процессор с одновременным вводом двух команд, состоящий из синергичного процессорного блока (СПБ, или SPU) и контроллера потока памяти (КПП, или MFC: DMA, MMU-интерфейсы и интерфейс шины).

Источники

  1. Википедия [Электронный ресурс]: Cell (архитектура) — материал из Википедии — свободной энциклопедии: Версия 80002026, сохранённая в 04:26 UTC 05 августа 2016 / Авторы Википедии // Википедия, свободная энциклопедия. — Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2016. — Режим доступа: https://ru.wikipedia.org/w/index.php?title=Cell_(архитектура)&oldid=80002026.
  2. Wikipedia [Электронный ресурс]: Cell (microprocessor) — материал из Википедии — свободной энциклопедии: Версия 748020241, сохранённая в 21:33 UTC 05 ноября 2016 / Авторы Википедии // Википедия, свободная энциклопедия. — Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2016. — Режим доступа: https://en.wikipedia.org/w/index.php?title=Cell_(microprocessor)&oldid=748020241.

Ссылки