Введение в мультиклеточные процессоры

Печать PDF

Общая характеристика

 

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

Ядро может состоять из 4, 8, 16 или 32 клеток, объединенных интеллектуальной коммутационной средой. Клетки имеют систему команд, построенную на базе языка триад. Типы данных – целые и дробные (как знаковые, так и беззнаковые числа) одинарной - 16(24) бит или двойной точности – 32(48) бит, а также дробные знаковые и беззнаковые упакованные (комплексные) числа одинарной точности – 32(48) бит.


Архитектурные особенности

 

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

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

2. От известных не-фон-неймановских архитектур она отличается использованием традиционных императивных языков программирования, последовательным способом выборки команд, использованием для указания информационных связей не адресов команд, а значений динамически формируемых тегов, а также механизмом исполнения команд - не только по «готовности данных», но и по «готовности потребителей ее результата».

 

3. Система команд клетки, основана на промежуточном представлении компилируемой программы после синтаксического анализа (триадах) и, фактически, является аппаратной реализацией входного языка программирования.

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

5. Триады обеспечивают возможность одновременного чтения и исполнения нескольких команд без анализа их очередности выполнения и информационной связности т.е. обеспечивают «естественную» реализацию параллелизма.

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

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

8. Асинхронная и децентрализованная организация мультиклеточного процессора, как на системном уровне – между клетками (при реализации параллелизма), так и на внутриклеточном уровне – между блоками клетки (при реализации команд), дополнительно обеспечивает:

 

 минимизацию номенклатуры и сложности объектов проектирования;


  • уменьшение площади кристалла, так как объем оборудования при децентрализованном управлении меньше, чем при централизованном;

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

  • при реализации, в перспективе, на одном кристалле десятков и сотен клеток - использование индивидуальной системы синхронизации для каждой клетки.



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


Статус

 

  На данный момент разработано и отработано на модели RTL описание процессорного ядра на 4, 8 и 16 клеток. Проведена отработка на FPGА-модели (XC2V4000) 4-х клеточного ядра и выполнен его синтез для техпроцесса 0,18m, V=1,8V (вариант - 50Mhz/200MIPS). Получены оценочные характеристики по производительности и энергопотреблению. 


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

 

Таблица 1. - Производительность

 

MCc0401100000

MCc0801100000

MCc1601100000

TI С64хх-С*

TMS320C647x**

Количество опера-ций выбираемых и исполняемых за один такт

4

8

16

8

24(3*8)

CFFT-256(такты)

1192

(radix-2)

639

(radix-2)

338

(radix-2)

1246

(radix-4)

806

(radix-4)

 

* Одноядерный процессор. Ядро типа C64xx имеет VLIW архитектуру. Командное слово содержит 8 полей для задания 8 операций, которые могут исполняться параллельно. См..: Buyer's Guide to DSP Processors, 2001 Edition (Berkeley Design Technology, Inc. (BDTI), стр. 645)

**Процессор содержит три ядра типа C64xx. См.: http://focus.ti.com/dsp/docs/dspplatformscontento.tsp?sectionId=2&;familyId=1635&tabId=2432

Таблица 2. - Энергопотребление
Характеристики

Размерность

MCc0401100000

TMS320

VC5504***

Результат синтеза

Расчетное значение*

Прогноз**

Частота

Mhz

50

50

50

60

Быстродействие

MIPS

200

200

200

120

Топологическая норма

m

0,18

0,13

0,13

0,09

Напряжение

V

1,8

1,2

1,2

1,05

Энергопотребление на задаче CFFT-256

µW/MHz

426

98,6

54,6

нет данных

µW/MIPS

106,5

24,6

13,64

Энергопотребление насмеси 75%DMAC+25%ADD (Typical Sine Wave Data Switching)

µW/MHz

319,5

73,9

39,4

150

µW/MIPS

79,9

18,5

9,8

75

Вычисление чисел Фибоначчи

µW/MHz

данная задача не рассматривалась

нет данных

µW/MIPS



* Расчетное значение учитывает только уменьшение топологической нормы и напряжения питания.

** Прогноз учитывает уменьшение энергопотребления на 60% после оптимизации RTL-кода (полномасштабное введение следующих методов сокращения энергопотребления: «clock gating», «operand isolation for functional unit», «operand isolation for multiplexers», «latching of register addresses instructional decoder»; см.http://www.retarget.com/resources/pdfs/goossens-ip07.pdf ).

*** Процессор TMS320VC5504*** анонсирован в августе 2009г. как процессор со сверхнизким энергопотреблением. См.:http://focus.ti.com/lit/ds/symlink/tms320vc5504.pdf



11.10.2011