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

Умножитель-накопитель (MAC) сигнальных процессоров семейства ADSP2100

Основным устройством вычислительного блока MAC является аппаратный умножитель. Его входы называются X и Y. Разрядность входов умножителя равна 16. Так как в умножителях разрядность выходного слова определяется как сумма разрядностей входных слов, то выходная шина умножителя является 32-разрядной. 32-разрядный результат поступает на вход 40-разрядного сумматора/вычитателя. Его выход подключен к 40-разрядному регистру-аккумулятору (накопителю). Так как сигнальный процессор AD21xx 16-разрядный, то 40-разрядный регистр для отображения в 16-разрядную память процессора разбивают на три регистра: 16-разрядный регистр младших бит MR0, 16-разрядный регистр старших бит MR1 и 8-разрядный регистр защитных бит MR2. Структурная схема MAC сигнальных процессоров семейства ADSP-2100 приведена на рисунке 1.

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

Сумматор/вычитатель и регистр MR обычно называется аккумулятором (накопителем). Разрядность аккумулятора выбирают больше 32 для того, чтобы предотвратить переполнение при выполнении нескольких операций умножителя-накопителя последовательно. Это обычно требуется при реализации цифрового фильтра с КИХ характеристикой. Восемь защитных бит обычно достаточно для реализации 200-отводного цифрового фильтра. Если при выполнении операции цифровой фильтрации возникает переполнение (число больше 40 разрядов), то устанавливается бит переполнения умножения MV (в этот бит записывается '1')

Регистры ввода/вывода MAC аналогичны регистрам ввода/вывода вычислительного блока АЛУ. Вход умножителя X может получать данные как из регистров MX, так и из регистров результата любого вычислительного блока процессора по Р-шине (шине результатов). MAC содержит два набора регистров MX: МХ0 и МХ1. Запись в эти наборы регистров и считывание из них может производиться по шине памяти данных ДПД. Выходы регистров MX двухпортовые, так что один регистр может осуществлять передачу данных в умножитель, в то время как данные из другого регистра будут записываться в память данных по шине ДПД.

На вход умножителя Y могут поступать данные как из регистров MY, так и из регистра обратной связи MF. Имеется два регистра MY: MY0 и MY1. Запись в эти регистры и считывание с них может производиться по шине ДПД, кроме того запись вних может быть произведена по шине ДПП. В наборе команд возможно также считывание данных из этих регистров по шине ДПП, но в этой операции используется устройство обмена данными между шинами ДПД и ДПП. Выходы регистров MY, как и MX двухпортовые, что позволяет одновременно осуществлять считывание данных из одного регистра MY в умножитель, а из другого сохранять данные в память процессора по шине ДПД.

Выход MAC подключается либо к регистру обратной связи MF, либо к регистру результата MR. Регистр обратной связи MF позволяет использовать биты результата 16-31 для входа Y данных в следующем машинном цикле. Как уже упоминалось выше, 40-разрядный регистр результата MR разделен на три части: MRO, MR1 и MR2. Каждый из этих регистров может загружаться с шины ДПД и передавать данные либо на шину ДПД, либо на Р-шину.

Запись и считывание из любого регистра умножителя-накопителя MAC может осуществляться в одном и том же цикле. Считывание данных из регистров происходит в начале цикла, а запись — в конце. Следовательно, при чтении из регистра считывается значение, загруженное в конце предыдущего цикла. Новое значение, записанное в регистр, невозможно считать до следующего цикла. Это позволяет считывать из регистра ввода операнд для умножителя в начале цикла и записывать новое значение данных из памяти сигнального процессора в конце этого же цикла. Это также позволяет сохранять предыдущее содержимое регистра результатов в памяти процессора и записывать в него очередной результат в течении этого же цикла.

MAC содержит два банка регистров MR, MF, MX, MY, теневые банки регистров показаны на рисунке 1 за основными регистрами. В любой момент времени доступен только один банк. Теневой ряд регистров может быть задействован для быстрого переключения между задачами. Новая задача, такая как подпрограмма обслуживания прерывания, может выполняться без сохранения текущего содержимого регистров в памяти сигнального процессора.

Выбор основного или теневого банка регистров выбирается битом 0 в регистре состояния режима процессора (MSTAT). Если этот бит равен 0, то выбран основной банк, если он равен 1, то — теневой банк регистров.

Литература:

  1. ADSP-2100 Family User's Manual, Analog Devises, 1995. — 486 с.
  2. Руководство пользователя по сигнальным микропроцессорам семейства ADSP-2100/ Пер. с англ. О. В. Луневой; Под ред. А. Д. Викторова; Санкт-Петербургский государственный электротехнический университет. - Санкт Петербург. 1997. - 520 с.
  3. Глинченко А.С., Голенок А.И. Принципы организации и программирования сигнальных процессоров ADSP-21xx. Красноярск: Изд-во КГТУ. 2000. 86 с.

Вместе со статьей "Умножитель-накопитель (MAC) сигнальных процессоров семейства ADSP2100" читают:

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

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

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

Базовая архитектура сигнальных процессоров семейства ADSP2100
http://digteh.ru/dsp/ADSP2100/


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

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

Поиск по сайту сервисом Яндекс

Поиск по сайту сервисом ГУГЛ

пЕИРХМЦ@Mail.ru


Яндекс.Метрика
Rambler's Top100