Введение
Клеточные микропроцессоры - это многоядерные процессоры, которые используют клеточную архитектуру для распределенных вычислений высокой производительности. Первый коммерческий микропроцессор Cell, Cell BE, был разработан для Sony PlayStation 3. IBM разработала PowerXCell 8i для использования в суперкомпьютере Roadrunner.
План этажа SPE
+ Функциональные единицы SPU и площадь функциональных единиц SPU Область Описание трубы однонаправленность 10.0% однонаправленность FP-аппелляционная единица даже двойная точность 4.4% двойная точность FP-аппелляционная единица даже простая фиксированная 3.25% фиксированная точка исполнительной единицы даже выпускной контроль 2.5% кормить исполнительные единицы вперед макро 3.75% кормить исполнительные единицы GPR 6.25% общего назначения регистр файл переменный 3.25% переменный исполнительная единица нечетная ветвь 2.5% ветвь исполнительной единицы нечетный канал 6.75% канал интерфейс (три дискретных блоков) нечетный LS0LS3 30.0% четыре 64 КиБ блоков локального магазина нечетный MMU 4.75% блок управления памятью DMA 7.5% блок прямого доступа памяти BIU 9.0% блок интерфейса шины RTB 2.5% встроенный блок-тест (ABIST) ATO 1.6% атомная единица для обновлений DMA HB 0.5% неясно Дополнительные детали относительно внутренней реализации SPE были раскрыты инженеры IBM, в том числе главный архитектор IBM Питер Хофштейн Хофштейн, главный архитектор синх элементов синх процессин. В настоящем документе содержится фотография SPE размером 2,54 мм × 5,81 мм, реализованная в 90 нм SOI. В этой технологии SPE содержит 21 миллион транзисторов, из которых 14 миллионов содержится в массивах (термин, предположительно, обозначающий регистровые файлы и локальный магазин), а 7 миллионов транзисторов являются логическими. На этой фотографии зачеркнуты границы функциональных единиц, которые также подсказаны по названию, что показывает распределение площади кремния по функциональным единицам следующим образом: Понимание диспетчерских труб важно для написания эффективного кода. В архитектуре SPU две инструкции могут быть отправлены (запущены) в каждом цикле часов с использованием диспетчерских труб, обозначенных четными и нечетными. Две трубы обеспечивают различные единицы исполнения, как показано в таблице выше. Как IBM разделила это, большинство арифметических инструкций выполняются на четной трубе, в то время как большинство инструкций памяти выполняются на нечетной трубе. Пермутационный блок тесно связан с инструкциями памяти, поскольку он служит для упаковки и разпаковки структур данных, расположенных в памяти, в многооперандовый формат SIMD, который SPU вычисляет наиболее эффективно. В отличие от других конструкций процессоров, обеспечивающих отдельные исполнительные каналы, каждая инструкция SPU может отправляться только по одной назначенной канале. В конкурирующих конструкциях более одной трубы может быть разработана для обработки чрезвычайно распространенных инструкций, таких как добавление, что позволяет более двух или более этих инструкций выполняться одновременно, что может служить для повышения эффективности на несбалансированных рабочих процессах. В соответствии с философией спартанского дизайна, для SPU не используются многократные блоки. Понимание ограничений ограничительного двухпроводной конструкции является одной из ключевых концепций, которые программист должен понять, чтобы написать эффективный код SPU на самом низком уровне абстракции. Для программистов, работающих на более высоких уровнях абстракции, хороший компилятор автоматически сбалансирует параллельность трубопровода, где это возможно.
Additional details concerning the internal SPE implementation have been disclosed by IBM engineers, including Peter Hofstee, IBM's chief architect of the synergistic processing element, in a scholarly IEEE publication. This document includes a photograph of the 2.54 mm × 5.81 mm SPE, as implemented in 90 nm SOI. In this technology, the SPE contains 21 million transistors of which 14 million are contained in arrays (a term presumably designating register files and the local store) and 7 million transistors are logic. This photograph is overdrawn with functional unit boundaries, which are also captioned by name, which reveals the breakdown of silicon area by function unit as follows:
Understanding the dispatch pipes is important to write efficient code. In the SPU architecture, two instructions can be dispatched (started) in each clock cycle using dispatch pipes designated even and odd. The two pipes provide different execution units, as shown in the table above. As IBM partitioned this, most of the arithmetic instructions execute on the even pipe, while most of the memory instructions execute on the odd pipe. The permute unit is closely associated with memory instructions as it serves to pack and unpack data structures located in memory into the SIMD multiple operand format that the SPU computes on most efficiently. Unlike other processor designs providing distinct execution pipes, each SPU instruction can only dispatch on one designated pipe. In competing designs, more than one pipe might be designed to handle extremely common instructions such as add, permitting more two or more of these instructions to be executed concurrently, which can serve to increase efficiency on unbalanced workflows. In keeping with the extremely Spartan design philosophy, for the SPU no execution units are multiply provisioned. Understanding the limitations of the restrictive two pipeline design is one of the key concepts a programmer must grasp to write efficient SPU code at the lowest level of abstraction. For programmers working at higher levels of abstraction, a good compiler will automatically balance pipeline concurrency where possible.
Мощность и производительность SPE
+ Соотношение скорости к температуре напряжение частота мощность температуры зажигания. 0,9 V 2,0 GHz 1 W 25 °C 0,9 V 3,0 GHz 2 W 27 °C 1,0 V 3,8 GHz 3 W 31 °C 1,1 V 4,0 GHz 4 W 38 °C 1,2 V 4,4 GHz 7 W 47 °C 1,3 V 5,0 GHz 11 W 63 °C По результатам испытаний IBM при большой нагрузке на трансформацию и освещение [средний показатель IPC 1,4], профиль производительности этой реализации для одного процессора SPU квалифицируется следующим образом: Запись для работы в 2,0 GHz при 0,9 V представляет собой конфигурацию с низкой мощностью. Другие записи показывают пиковую стабильную рабочую частоту, достигаемую при каждом увеличении напряжения. Как правило, в схемах CMOS рассеивание энергии возрастает в приблизительном отношении к VF, квадрату напряжения, умноженному на рабочую частоту. Хотя измерения мощности, предоставленные авторами IBM, не имеют точности, они дают хорошее представление об общей тенденции. Эти цифры показывают, что деталь способна работать свыше 5 ГГц в условиях испытаний в лаборатории, хотя при температуре, слишком высокой для стандартных коммерческих конфигураций. Первые процессоры Cell, выпущенные в продажу, были оценены IBM на 3,2 ГГц, операционная скорость, при которой эта диаграмма предполагает температуру SPU в комфортной близости от 30 градусов. Обратите внимание, что одна СПУ составляет 6% площади процессора Cell. Данные по мощности, приведенные в таблице выше, представляют собой лишь небольшую часть общего энергетического бюджета. IBM публично объявила о своем намерении внедрить Cell на будущей технологии ниже узла 90 нм для улучшения потребления энергии. Снижение энергопотребления может потенциально позволить существующей конструкции быть увеличен до 5 ГГц или выше, не превышая термических ограничений существующих продуктов.
As tested by IBM under a heavy transformation and lighting workload [average IPC of 1.4], the performance profile of this implementation for a single SPU processor is qualified as follows:
The entry for 2.0 GHz operation at 0.9 V represents a low power configuration. Other entries show the peak stable operating frequency achieved with each voltage increment. As a general rule in CMOS circuits, power dissipation rises in a rough relationship to VF, the square of the voltage times the operating frequency. Though the power measurements provided by the IBM authors lack precision they convey a good sense of the overall trend. These figures show the part is capable of running above 5 GHz under test lab conditions—though at a die temperature too hot for standard commercial configurations. The first Cell processors made commercially available were rated by IBM to run at 3.2 GHz, an operating speed where this chart suggests a SPU die temperature in a comfortable vicinity of 30 degrees. Note that a single SPU represents 6% of the Cell processor's die area. The power figures given in the table above represent just a small portion of the overall power budget. IBM has publicly announced their intention to implement Cell on a future technology below the 90 nm node to improve power consumption. Reduced power consumption could potentially allow the existing design to be boosted to 5 GHz or above without exceeding the thermal constraints of existing products.
Ячейка на 65 нм
Первый психолог в "Cell" был на 65-мм узле. Сокращение до 65 нм уменьшило существующий 230 мм2 на основе 90 нм процесса до половины его текущего размера, около 120 мм2, значительно снизив производственные затраты IBM. 12 марта 2007 года IBM объявила, что начала производство 65-нм клеток на своем заводе в Восточном Фишкиле. Чипы, произведенные там, по-видимому, предназначены только для собственных серверов IBM Cell blade, которые первыми получили 65-нм ячейки. Sony представила третье поколение PS3 в ноябре 2007 года, модель на 40 ГБ без совместимости с PS2, которая была подтверждена использованием 65-нм Cell. Благодаря уменьшенной ячейке, потребление электроэнергии было сокращено с 200 до 135 Вт. Сначала было известно только, что 65-нм ячейки работают до 6 ГГц и работают на 1,3 В напряжении, как это было продемонстрировано на ISSCC 2007. Это дало бы чипу теоретическую пиковую производительность 384GFLOPS в четверть точности FP8 (48GFLOPS в FP64 двойной точности), значительное улучшение по сравнению с пиком 204.8GFLOPS (25.6GFLOPS FP64 двойной точности), который может обеспечить 90 нм 3,2 ГГц ячейка с 8 активными SPU. IBM также объявила о внедрении новых функций энергосбережения и двойного источника питания для массива SRAM. Эта версия еще не была давно известной "Cell+" с улучшенной производительностью плавающей запятой Double Precision, которая впервые увидела свет в середине 2008 года в суперкомпьютере Roadrunner в виде лопаток QS22 PowerXCell. Хотя IBM и раньше говорила и даже показывала более высокие тактовые ячейки, тактовая скорость оставалась постоянной на уровне 3,2 ГГц, даже для двойной точности, включенной "Cell+" Roadrunner. Сохраняя постоянную часовую скорость, IBM вместо этого решила сократить потребление энергии. Кластеры PowerXCell даже лучше кластеров IBM Blue Gene (371MFLOPS/Вт), которые уже намного более энергоэффективны, чем кластеры, состоящие из обычных процессоров (265MFLOPS/Вт и ниже).
Перспективы на 45 нм
На конференции ISSCC 2008 IBM объявила о запуске ноутбука Cell на 45 нм узле. IBM заявила, что при такой же часовой скорости потребуется на 40 процентов меньше энергии, чем у предшественника на 65 нм, и что площадь матрицы сократится на 34 процента. 45-нм ячейка требует меньше охлаждения и позволяет производить ее дешевле, также за счет использования гораздо меньшего теплоотвода. Массовое производство было первоначально запланировано на конец 2008 года, но было перенесено на начало 2009 года.
Перспективы за пределами 45 нм
Sony, IBM и Toshiba объявили о начале работы над Cell размером 32 нм в январе 2006 года, но поскольку процесс сокращения в фабрах обычно происходит в глобальном масштабе, а не в индивидуальном масштабе чипа, это было просто публичным обязательством довести Cell до 32 нм.