Интернет-журнал 'Домашняя лаборатория', 2007 №8 - Журнал «Домашняя лаборатория»
Шрифт:
Интервал:
Закладка:
Хотя все DSP с плавающей точкой могут работать с фиксированной точкой (при необходимости на них можно реализовать счетчики, циклы и обработку сигналов АЦП/ЦАП), это не обязательно означает, что математические действия с фиксированной точкой выполняются в них так же быстро, как операции с плавающей точкой, что зависит от внутренней архитектуры DSP. Например, DSP семейства SHARC Analog Devices оптимизированы как для операций с плавающей точкой, так и для операций с фиксированной точкой, которые производятся с одинаковой эффективностью. По этой причине процессоры SHARC чаще называют "32-разрядными DSP", чем "процессорами с плавающей точкой".
СРАВНЕНИЕ АРИФМЕТИКИ С ФИКСИРОВАННОЙ ТОЧКОЙ И С ПЛАВАЮЩЕЙ ТОЧКОЙ
• 16-раз рядная с фиксированной точкой:
♦ 216 = 65536 возможных значений
• 32-разрядная с плавающей точкой:
♦ Наибольшее значение: ±6.8 х 1038, в стандарте IEEE-754: ±3.4 х 1038
♦ Наименьшее значение: ±5.9 х 10-39, в стандарте IEEE-754: ±1.2 х 10-38
• Расширенная точность (40-бит: знак + 8-битная экспонента + 31-битная мантисса)
• Двойная точность: (64-бит.: знак + 11-бит. эксп.+ 52-бит. мантисса)
• 32-разрядная с плавающей точкой:
♦ Более высокая точность
♦ Больший динамический диапазон
♦ Проще в программировании
Рис. 7.29
Цифровые сигнальный процессоры с плавающей точкой SHARC® компании Analog Devices
SHARC семейства ADSP-2106, построенный по модифицированной гарвардской архитектуре, представляет собой 32-разрядный высокопроизводительный цифровой сигнальный процессор. Процессор SHARC имеет в своей основе ядро процессорного семейства ADSP-21000, блок двухпортовой статической памяти и встроенные средства ввода-вывода, представляя, таким образом, полноценную микропроцессорную систему. Благодаря использованию встроенной кэш-памяти команд, процессор может выполнять каждую инструкцию за один машинный цикл. Модифицированная гарвардская архитектура процессоров семейства ADSP-2106x, показанная на рис. 7.30, включает в себя четыре независимых шины, предназначенных для передачи двойного набора данных, команд и осуществления ввода-вывода, а также набор коммутаторов адресов и данных между шинами адреса и данных программ и данных (crossbar switch memory connections).
Для передачи данных между вычислительными блоками и шинами данных и для запоминания промежуточных результатов используется регистровый файл общего назначения. Регистровый файл имеет два набора регистров (первичный и альтернативный) каждый из которых включает 16 регистров для быстрого переключения контекста, например, при обработке прерываний. Все регистры являются 40-разрядными. Наличие регистрового файла общего назначения и гарвардская архитектура ядра процессора позволяют осуществлять без ограничений перемещение данных между вычислительными блоками процессора и внутренней памятью.
Процессор SHARC семейства ADSP-2106x отвечает пяти главным требованиям к DSP семейства 16-разрядных сигнальных процессоров ADSP-21xx с фиксированной точкой. Это (1) быстрота и гибкость выполнения арифметических операций, (2) эффективная передача данных к вычислительным блокам и от вычислительных блоков, (3) обеспечение повышенной точности и расширенного динамического диапазона в вычислительных блоках, (4) наличие двух генераторов адреса, (5) эффективное управление выполнением команд с автоматической проверкой условия завершения цикла.
Устройство управления выполнением команд включает в себя КЭШ-память инструкций глубиной в 32 слова, которая позволяет производить выборку двух операндов и кода команды в одном машинном цикле. Занесение инструкций в КЭШ-память носит избирательный характер: в память заносятся только те команды, которые требуют двух операндов при выполнении выборки из памяти. Такая организация устройства управления выполнением команд позволяет производить умножение с накоплением и выполнение базовой операции "бабочка" при БПФ с весьма высокой скоростью.
КЛЮЧЕВЫЕ ОСОБЕННОСТИ ПРОЦЕССОРА SHARC
• 100МГц ядро / пиковая производительность 300 MFLOPS
• Параллельная работа: умножителя, АЛУ, двух генераторов адреса (DAG) и секвенсера
♦ Отсутствует арифметический конвейер; все вычисления — за один цикл
• Высокая точность и расширенный динамический диапазон
♦ 32/40-разрядный формат IEEE с плавающей точкой
♦ 32-разрядное умножение с фиксированной точкой с 64-разрядным результатом и накоплением в 80-разрядном аккумуляторе
• Обмен с двухпортовой памятью осуществляется за один цикл
♦ Осуществляется с помощью кэш-памяти и улучшенной Гарвардской архитектуры
• Возможность организации многопроцессорной системы без дополнительных микросхем
• Наличие порта JTAG для тестирования и эмуляции
• Контроллер DMA, последовательные порты, порты связи, внешняя шина, контроллер динамической памяти, таймеры
Рис. 7.31
SHARC® — ЛИДЕР СРЕДИ DSP С ПЛАВАЮЩЕЙ ТОЧКОЙ
• SHARC фактически является стандартом для многопроцессорных систем
• ADSP-21160 — это укрепление лидирующей позиции процессоров SHARC в области многопроцессорных систем ЦОС
• ADSP-21065L — это правильный выбор среди недорогих DSP-процессоров с плавающей точкой
СУПЕР ГАРВАРДСКАЯ АРХИТЕКТУРА:
Сбалансированные память, средства ввода-вывода и вычислительная мощь.
• Высокопроизводительный вычислительный блок
• Наличие четырех шин для:
♦ Выборки следующей команды
♦ Доступа к двум значениям данных
♦ Осуществления DMA для ввода/вывода
• Эффективная организация памяти
• DMA не замедляет работу
Рис. 7.32
Процессоры семейства ADSP-2106x выполняют все команды за один цикл синхронизации. Процессоры поддерживают 32-разрядный формат IEEE с плавающей точкой, 32-разрядный целочисленный и дробный форматы с фиксированной точкой (дополнительный код и беззнаковый формат) и 40-разрядный формат IEEE с плавающей точкой с повышенной точностью. Процессоры поддерживают повышенную точность во всех своих вычислительных блоках, минимизируя ошибки промежуточного округления. При работе с данными внутри кристалла 32-разрядная мантисса расширенной точности может пересылаться между всеми вычислительными блоками. 40-разрядная шина данных может выводиться и за пределы кристалла, если существует такая необходимость. При работе с числами, представленными в формате с фиксированной точкой, используется 80-разрядный аккумулятор, который позволяет без ограничений производить вычисления с 32-разрядными числами с фиксированной точкой.
Процессоры семейства ADSP-2106x построены по супергарвардской архитектуре, предполагающей наличие 10-портового регистрового файла данных. В каждом цикле синхронизации регистровый файл может поддерживать следующие операции: (1) два операнда могут записываться и считываться из регистрового файла, (2) два операнда могут подаваться на АЛУ, (3) два операнда могут подаваться на умножитель и (4) два результата могут быть получены от АЛУ и умножителя.
Система команд процессоров семейства ADSP-2106x обеспечивает большие возможности для программирования. Многофункциональные команды позволяют производить вычисления параллельно с пересылкой данных, а также умножение одновременно с арифметическими операциями в АЛУ.
Представитель семейства ADSP-2106X — процессор ADSP-21060 — содержит 4 Мбита SRAM, организованных в виде двух блоков по 2 Мбита каждый, которые могут быть сконфигурированы для хранения различных комбинаций программных модулей и модулей данных. Такие представители семейства, как ADSP-21062, ADSP-21061 и ADSP-21065, содержат по 2