Дата последнего обновления файла 02.05.2013

Базовая архитектура сигнальных процессоров семейства ADSP2100

Каждый процессор семейства ADSP-2100 содержит три независимых полнофункциональных вычислительных блока: арифметико-логическое устройство (АЛУ), умножитель-накопитель (MAC) и сдвигатель данных (Shifter). Вычислительные устройства обрабатывают 16-разрядные данные и для ряда команд позволяют выполнять вычисления повышенной точности. Базовая архитектура сигнальных процессоров (ядро) семейства ADSP-2100 приведена на рисунке 1.

Базовая архитектура сигнальных процессоров семейства ADSP-2100
Рисунок 1. Базовая архитектура сигнальных процессоров семейства ADSP-2100

В АЛУ выполняются стандартные арифметические и логические команды и примитивы деления. В умножителе-накопителе за один машинный цикл выполняются команды умножения, умножения/сложения и умножения/вычитания. Сдвигатель данных выполняет команды арифметического и логического сдвига, нормализации, денормализации и нахождения порядка числа. Сдвигатель данных предназначен для преобразования форматов данных, включая представления чисел, состоящих из нескольких машинных слов, числами с плавающей точкой. Вычислительные устройства соединены между собой таким образом, что выход любого из этих блоков может быть входом в любой из этих блоков в следующем машинном цикле. Передача данных в этом случае произодится по внутренней шине результатов (Р-шина) напрямую соединяющей вычислительные блоки базовой архитектуры сигнального процессора семейства ADSP-2100.

Все три вычислительных блока содержат регистры ввода и вывода, подключенные к шине данных памяти данных (ДПД) и к шине данных памяти программ (ДПП). Вычислительные блоки обычно используют операнды из регистров ввода и загружают результат в регистры вывода. Эти регистры являются буферами между оперативной памятью сигнального процессора и вычислительными блоками. Благодаря этому вводится один уровень конвейерной обработки при вводе данных и один уровень — при выводе. Р-шина позволяет непосредственно использовать результат одного вычислительного блока в качестве входного значения для другого вычислительного устройства. Это позволяет избежать применения операции NOP для ожидания завершения предыдущей команды при выполнении серии различных вычислений.

Два специальных генератора адреса данных и генератор адреса следующей команды обеспечивают работу вычислительных устройств с максимальной производительностью, освобождая их от необходимости вычислять следующий адрес операндов, организовывать цикл и проверять его окончание. Генераторы адреса данных формируют адреса памяти, при обмене данными между оперативной памятью сигнального процессора и регистрами ввода/вывода вычислительных устройств. Каждый генератор адреса содержит четыре указателя адреса. Когда указатель используется для косвенной адресации, он модифицируется на величину, содержащуюся в заданном регистре. Это позволяет осуществлять переход не только на соседнюю ячейку памяти, но и с заданным шагом. Имея два генератора адреса данных, сигнальный процессор может одновременно генерировать два адреса для считывания сразу двух операндов.

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

Генератор адреса данных 1 может формировать адреса только для памяти данных. Генератор адреса данных 2 может формировать адреса как для памяти данных, так и для памяти программ. При установке бита соответствующего режима в регистре состояния режима (MSTAT) биты выходного адреса генератора адреса данных 1 переставляются в обратном порядке перед их выводом на шину адреса. Это свойство облегчает организацию бит-реверсной адресации при выполнении быстрого преобразования Фурье (БПФ).

Генератор адреса следующей команды формирует адреса команд в памяти программ. Генератор адреса следующей команды управляется регистром команд, в котором содержится текущая выполняемая команда. Регистр команд позволяет ввести один уровень конвейерной обработки для потока команд. Команды считываются и загружаются в регистр команд за один цикл сигнального процессора, а выполняются в течении следующего машинного цикла. Одновременно подготавливается адрес следующей команды. Для сокращения количества холостых циклов (команд NOP) генератор адреса следующей команды осуществляет выполнение условных переходов, вызовов подпрограмм и возврата из подпрограммы за один цикл. Благодаря счетчику циклов и стеку цикла сигнальный процессор может выполнять программный цикл без дополнительных затрат времени. Никаких дополнительных команд условного перехода для организации циклов не требуется.

Литература:

  1. ADSP-2100 Family User's Manual, Analog Devises, 1995. — 486 с.
  2. Куприянов М. C. Матюшкин Б. Д. Цифровая обработка сигналов. — 2-е. — СПб: Политехника, 2000. — 592 с.
  3. Сергиенко А. Б. Цифровая обработка сигналов. — 2-е. — СПб: Питер, 2006. — с. 751
  4. ru.wikipedia.org Гарвардская архитектура

Вместе со статьей "Базовая архитектура сигнальных процессоров семейства ADSP2100" читают:

Внутренние шины сигнальных процессоров семейства ADSP2100
http://digteh.ru/dsp/BusADSP2100/

Арифметико-логическое устройство (АЛУ) сигнальных процессоров семейства ADSP2100
http://digteh.ru/dsp/ALU/

Умножитель-накопитель (MAC) сигнальных процессоров семейства ADSP2100
http://digteh.ru/dsp/MAC/

Сдвигатель данных сигнальных процессоров семейства ADSP2100
http://digteh.ru/dsp/SHIFT/


Автор Микушин А. В. All rights reserved. 2001 ... 2015

Предыдущие версии сайта:
http://neic.nsk.su/~mavr
http://digital.sibsutis.ru/

пЕИРХМЦ@Mail.ru


Rambler's Top100