Опубликован: 12.07.2010 | Уровень: специалист | Доступ: платный | ВУЗ: Алтайский государственный университет
Лекция 14:

Состояние отечественных разработок в области высокопроизводительных вычислений

< Лекция 13 || Лекция 14: 12345 || Лекция 15 >

Микросхемы сигнальных процессоров серии "Мультикор"

Микросхемы сигнальных процессоров серии "Мультикор" [86] — это однокристальные программируемые многопроцессорные "системы на кристалле" на базе IP-ядерной (IP-intellectual property) платформы "Мультикор" [87], разработанной в ГУП НПЦ "ЭЛВИС".

Процессоры серии "Мультикор" сочетают в себе лучшие качества двух классов приборов: микроконтроллеров и цифровых процессоров обработки сигналов (DSP), что позволяет решать в рамках ограниченных габаритов одновременно обе задачи: управления и высокоточной обработки информации, включая сигналы и изображения.

Микросхемы спроектированы специалистами ГУП НПЦ "ЭЛВИС" совместно с центром проектирования "АНГСТРЕМ-М" (топологическое проектирование) и "АНГСТРЕМ-СБИС" (разработка блока PLL). Информация о микросхемах серии представлена в таблице 14.2.

Таблица 14.2. Цифровые сигнальные процессоры "Мультикор"
Микросхема МС-12 MC-24 MC-0226 NVCom-01 MC-0428
Технология изготовления, мкм 0,25 0,25 0,25 0,13 0,18/0,13
Размер кристалла, мм \ast мм 10 \ast 10 10 \ast 10 12,3 \ast 12,6 8,8 \ast 9,5 14 \ast 14/–
Интеграция, млн транзисторов \sim 18 \sim 18 \sim 26 \sim 60 \sim 65
Корпус PQFP240 HSBG A292 HSBG A416 HSBG A400 Уточняется
Многопроцессорная MIMD-архитектура 2 процессора:RISCore32+ ELcore-14 2 процессора:RISCore32+ ELcore-24 3 процессора:RISCore32+ 2 x ELcore-26 3 процессора,RISCore32+ 2 x ELcore-26 5 процессоров,уточняется
Рабочая частота 80 80 100 300 250-340/–
Пиковая производительность, Мфлопс, 32 бит 240 480 1200 3600 не менее 8000
Год выпуска 2004 2004 2006 2008

В качестве процессорных блоков используются следующие типы IP-ядер из библиотеки платформы "Мультикор":

  • процессорные RISC-ядра с архитектурой MIPS32, выполняющие функции центрального процессора системы CPU (Central Processing Unit);
  • высокопроизводительные ядра процессоров-акселераторов для цифровой обработки сигналов (DSPDigital Signal Processing) с плавающей/фиксированной точкой ELcore-xx (ELcore = Elvees's core).

Архитектура микросхем "Мультикор" по организации потоков данных и инструкций поддерживает пиковую производительность на большинстве задач обработки сигналов/изображений реального времени. Это обеспечивается малым количеством стадий процессорного конвейера, а также наличием многоканального интеллектуального контроллера DMA с поддержкой режимов самосинхронизации ресурсов микросхемы и 32/64-разрядного по данным порта внешней памяти со встроенным SDRAM/FLASH/SRAM/ROM-контроллером.

Микросхемы в зависимости от модели содержат от 2 до 8 Мбит внутренней памяти, периферийные SHARC-совместимые линки и последовательные порты, I2C, I2S, USB, Ethernet, PCI, UART, JTAG, а также ги-перлинки типа SpaceWire и Serial RapidIO.

Важным преимуществом отечественных микросхем является плотность кодов для DSP-ядер, которая характеризуется длиной программ для той или иной функции. Для микросхем серии "Мультикор" данная характеристика, как правило, лучше, чем у зарубежных аналогов ( таблица 14.4).

Таблица 14.3. Производительность DSP-ядер процессоров "Мультикор"
Компания ЭЛВИС TI ADI
Процессор МС-12 МС-24 МС-0226 NVCom-01 С6701 С6416 TS201 BF53
Технология, нм 250 250 250 130 180 130 130 130
Тактовая частота, МГц 80 80 100 300 166 600 600 600
Пиковая производительность по смеси арифметических операций (умножения, сложения, вычитания)
— 16-разр. фиксированная точка, млн оп./с 640 1280 3200 19200 - 4800 14400 3360
— 32-разр. плавающая точка, млн флопс/с 240 480 1200 3600 1000 - 3600 -
— 32-разр. фиксированная точка, млн оп./с 320 640 1600 4800 - - - -
— 8-разр. фиксированная точка, млн оп./с 1440 2880 7200 28800 - - - 4800
Пиковая производительность по операции MAC(умножение+накопление)
— 16-разр. фиксированная точка, млн оп./с 160 320 800 4800 - - 4800 1200
— 32-разр. плавающая точка, млн флопс/с 80 160 400 1200 - - - -
— 32-разр. фиксированная точка, млн оп./с 80 160i 400 1200 - - 1200 -
— 1-разр. фиксированная точка, млн оп./с 1700 3400 8500 25600 - - 32000 -
Пиковая производительность по операции СМАС (комплексное умножение+накопление)
— 16-разр. фиксированная точка, млн оп./с - - - 1200 - - - -
— 8-разр. фиксированная точка, млн оп./с 160 320 800 2400 - - - -
КИХ-фильтр, действительные данные и коэффициенты, 35 отводов, 1024 входных данных, без прореживания
- формат 16 \ast 16+32/64, фиксированная точка, МКС/с 363 243 97 13,4 - - 12 44
БПФ-1024, комплексные данные
— формат (16+jl6), блочная плавающая точка, мкс 145 72 29 4,6 - 10 5 -
- формат (32+j32), плавающая точка, мкс 273 136 55 17,9 160 - 16,8 -
БПФ-256, комплексные данные
— формат (16+jl6), блочная плавающая точка, мкс 28,9 14,5 5,8 1 - - 1,5 -
Операция ACS (сложение+сравнение+выбор) — базовая операция декодера Витерби
— 16-разр. метрики путей, не/метрика 12,5 6,3 2,5 1,3 - 0.82 - -
Таблица 14.4. Размер программ для DSP процессоров "Мультикор" (на примере МС-24) по некоторым типовым процедурам обработки
Процедура Размер332-разрядные слова Дополнительные условия
КИХ-фильтр 10-15 32-разрядный формат плавающей точки, действительные данные и коэффициенты
FFT 150-230 32-разрядный формат плавающей точки, вход: комплексные данные, произвольная степень 2, выход: комплексная амплитуда/мощность, порядок 2-инверсный/прямой
DCT 8x8 50-80 16-разрядный целочисленный формат (блочная плавающая точка) или 32-разрядный формат плавающей точки
SIN/COS 30 32-разрядный формат плавающей точки

Команда для DSP-ядра имеет длину 32 или 64 бита и напоминает с этой точки зрения VLIW (Very Long Instruction Word). К примеру, одна 64-разрядная инструкция для ELcore-24 может выполнять две пары арифметических (логических) операций любой сложности и две пары пересылок типа "регистр-память". Это обеспечивает высокую плотность кодов для различных программ и позволяет реализовать различные функции обработки сигналов, используя в несколько раз меньше команд, чем для многих известных на рынке DSP-микросхем. Это обусловлено тем, что сравниваемые DSP имеют, к примеру, или огромную длину конвейера (10-12 уровней, как процессор TigerSHARC TS201), или низкую плотность кода. Например, число тактов для процедуры FFT-256 (комплексные 16-разрядные форматы данных и коэффициентов) в 8 раз короче для SISD-ядра ELcore-14 (менее 1000 тактов), чем для C54 разработки TI (8542 такта). За то же время 2SIMD ядро ELcore-24 может выполнять одновременно 2 таких преобразования, т. е. более чем в 16 раз быстрее по количеству тактов, чем ядро C54. Если обрабатываемый поток имеет двукратное распараллеливание, то ускорение обработки за счет 2SIMD-архитектуры автомати­чески равно 2. Для более сложной ситуации, без распараллеливания по данным, оценки ускорения даны в таблице 14.5.

Таблица 14.5. Оценка ускорения (в разах) процедур обработки сигналов/ изображений на 1892ВМ2Я (МС-24) в режиме 2SIMD (параллелизм по данным отсутствует)
Процедура Ускорение Пояснение
1. КИХ-фильтр с N отводами: N = 8 N = 16 N = 32 N = 64 1,0/1,44 1,23/1,61 1,48/1,76 1,68/1,86 Формат плавающей точки, действительные отсчеты сигнала и отклика фильтра, прямая форма фильтра. Значение справа достигается, если допустимо, чтобы выход формировался в виде двух полусумм в соседних словах XRAM
2. БПФ-N, комплексы.: N = 256 N = 1024 N = 2048 1,6 1,66 1,66 Формат плавающей точки, основание 4, один этап выполняется в режиме SISD, остальные — в режиме 2SIMD
3. DCT-8x8 2,0 2-мерное DCT, 16-b целочисленный формат, массив введен в XRAM по строкам, обрабатывается сначала по строкам, затем — по столбцам
4. Декодер Витерби c N состояниями: N = 64 N = 256 1,67 1,75 Оценены затраты на наиболее громоздкую часть процедуры: операции ACS, 16-b целый формат метрик
5. Генератор случайных чисел 2,0 Равномерное распределение, некоррелированные значения, интервал —8192:+8191, 16-b отсчеты упакованы по 2 от старших разрядов

Микросхема сигнального процессора 1892ВМ3Т

Микросхема сигнального процессора 1892ВМ3Т (MC-12) — это однокристальная двухпроцессорная "система на кристалле" (SOC) на базе IP-ядерной (IP-intellectual property) платформы "Мультикор" [84, 85].

Состав центрального процессора (CPU) следующий. Архитектура ядра, совместимая с MIPS32, имеет 32-битные шины передачи адреса и данных, кэш команд объемом 16 Кбайт, внутреннюю оперативную память объемом 64 Кбайт, аппаратные блоки умножения и деления. Обрабатываются 5 внешних запросов прерывания, в том числе немаскируемое прерывание (NMI). Производительность составляет 80 млн оп./с.

Поддерживается архитектура привилегированных ресурсов в стиле ядра R4000: регистры Count/Compare для прерываний реального времени, отдельный вектор обработки исключений по прерываниям.

Программируемое устройство управления памятью: два режима работы — с TLB (Translation Look aside Buffer) и FM (Fixed Mapped), 16 строк в режиме TLB.

Для отладки используются интерфейс JTAG IEEE 1149.1, встроенные средства отладки программ.

Цифровой сигнальный процессор (DSP) построен по "гарвардской" RISC-подобной архитектуре с оригинальной системой команд и преимущественно однотактным исполнением инструкций. Имеется SISD (Single Instructions Single Data) организация потоков команд и данных, 3-ступен-чатый конвейер по выполнению 32- и 64-разрядных инструкций. В состав сигнального процессора включены также память программ PRAM объемом 16 Кбайт, двухпортовые памяти данных RAM и YRAM объемом 96 и 48 Кбайт соответственно.

Процессор имеет стандартный набор инструкций, процедуры обработки и пересылки совмещаются.

Расширены возможности по динамическому диапазону обрабатываемых данных, позволяющие обрабатывать данные в 8/16/32-разрядных форматах с фиксированной точкой либо в одном из форматов с плавающей точкой — 24Е8 (стандарт IEEE 754) или 32Е16 (расширенный формат). Обеспечен компромиссный выбор между точностью и производительностью. Реализованы аппаратные меры повышения точности и динамического диапазона (блочная плавающая точка; режим насыщения; инструкции преобразования форматов).

Присутствует аппаратная поддержка программных циклов.

Пиковая производительность DSP:

  • 240 млн оп./с 32-битных операций с плавающей точкой (IEEE 754);
  • 1440 млн оп./с 8-битных операций с фиксированной точкой;
  • 640 млн оп./с 16-битных операций с фиксированной точкой;
  • 320 млн оп./с 32-битных операций с фиксированной точкой.

Порт внешней памяти (MPORT):

  • шина данных — 32 разряда, шина адреса — 32 разряда;
  • встроенный контроллер управления статической памятью типа SRAM, FLASH, ROM, а также синхронной памятью типа SDRAM. Возможно программное конфигурирование типа памяти и объема ее сегмента, программное задание циклов ожидания, формирование сигналов выборки 4 сегментов памяти, обеспечение обслуживания 4 внешних прерываний.

Периферийные устройства:

  • 12-канальный контроллер прямого доступа в память (DMA). 4 внешних запроса прямого доступа. Специальные режимы синхронизации. Поддержка двумерной и разрядно-инверсной адресаций. Режим передачи Flyby, подобный реализованному в ADSP-TS201: внешнее устройство — внешняя память;
  • два порта обмена последовательным кодом (SPORT), совместимые с ADSP21160 (разработка фирмы ADI);
  • четыре линковых порта (LPORT), совместимые с ADSP21160. Имеется режим работы в качестве портов ввода-вывода общего назначения (GPIO);
  • универсальный асинхронный порт (UART) типа 16550;
  • набор таймеров — 32-разрядный интервальный таймер (IT), 32-разрядный таймер реального времени (RTT), 32-разрядный сторожевой таймер (WDT).

Реализованы дополнительные возможности и особенности:

  • узел фазовой автоподстройки частоты (PLL) c умножителем/делителем входной частоты;
  • встроенные средства отладки программ (OnCD);
  • порт JTAG в соответствии со стандартом IEEE 1149.1.

Рассеиваемая мощность — около 1200 мВт (максимальная); режимы энергосбережения: 700 — при неработающем DSP-ядре (режим Stop); 70 — при программном уменьшении тактовой частоты в 16 раз; 30 — при программном отключении тактовой частоты (включение тактовой частоты осуществляется по внешним прерываниям).

Структурная схема микросхемы 1892ВМ3T приведена на Рис. 14.2.

Состав процессора:

CPUцентральный процессор на основе RISC-ядра;

CRAM — двухпортовая оперативная память центрального процессора;

DSP — сопроцессор цифровой обработки сигналов с фиксированной точкой;

DMAконтроллер прямого доступа в память;

MPORT — порт внешней памяти;

SPORT — последовательный порт;

LPORT — линковый порт;

UART — универсальный асинхронный порт;

ICACHE — кэш программ центрального процессора;

IT — интервальный таймер;

WDTсторожевой таймер;

RTTтаймер реального времени;

CDB[31:0] — шина данных CPU;

DDB[31:0] — шина данных DMA;

A[31:0] — шина адреса порта внешней памяти;

D[31:0] — шина данных порта внешней памяти;

OnCD — встроенные средства отладки программ;

XRAM, YRAM — памяти данных DSP;

PRAMпамять программ DSP;

AGUадресный генератор;

EDBSкоммутатор внешних шин;

IDBS — коммутатор внутренних шин;

PCU — устройство программного управления;

PAG — генератор адреса программ;

PDC — программный дешифратор;

RF — регистровый файл;

ALU — арифметическое устройство;

ALUCtr — управление ALU;

XDB0 — XDB3, GDB, PDB — шина данных DSP;

XAB, YAB, PAB — адресные шины DSP;

M, S, A, L — арифметические узлы ALU DSP.

Структурная схема микросхемы 1892ВМ3Т(MC-12)

Рис. 14.2. Структурная схема микросхемы 1892ВМ3Т(MC-12)

CPU-ядро является ведущим в двухпроцессорной конфигурации микросхемы и выполняет основную программу. Для CPU-ядра обеспечен доступ к ресурсам DSP-ядра, являющегося ведомым по отношению к CPU-ядру: обмен данными CPU-ядра с ресурсами DSP-ядра выполняется по командам LOAD, STORE. Память DSP-ядра и его регистры для CPU-ядра — 32-разрядные (словные), то есть состояние двух младших разрядов адреса игнорируется.

CPU-ядро управляет работой DSP-ядра, передавая ему задание (ма­крокоманду). Затем запускает DSP-ядро, переводя его из режима STOP в режим RUN. С другой стороны, DSP-ядро формирует следующие прерывания в CPU-ядро: программное; по переполнению стека; при выполнении команды STOP; при достижении адреса останова при исполнении программы до адреса останова или завершении требуемого числа шагов при пошаговом исполнении программы.

< Лекция 13 || Лекция 14: 12345 || Лекция 15 >
Сергей Горбунов
Сергей Горбунов

 

прошел курс и сдал экзамен   Многоядерные процессоры   

система сертификат не выдала. почему?

Зарина Каримова
Зарина Каримова
Казахстан, Алматы, Гимназия им. Ахмета Байтурсынова №139, 2008
Филипп Шишкин
Филипп Шишкин
Россия, Пенза, Пензенский Государственный Университет, 2015