Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

07

.pdf
Скачиваний:
30
Добавлен:
09.04.2015
Размер:
1.43 Mб
Скачать

IEEE-754.

32-битовый формат с плавающей точкой

смещ

NUMBER10 = (–1)S Ч1.M Ч2(E–127)

допустим

 

 

 

 

MSB

 

 

 

 

 

 

 

LSBMSB

 

 

 

 

 

 

LSB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0/1

27

26

 

 

25

24

23

22

21

20 2–1

2–2

2–3

 

2–4

 

2–22

2–23

 

 

знак

 

 

 

 

 

 

 

 

 

 

 

 

 

EXPONENT = E

 

MANTISSA =

M

 

 

 

 

бит = S

 

 

 

 

8-битов

 

 

 

 

 

 

 

23-бита

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

00000111

1100…00

 

 

 

смещ

+ 1,316554 Ч10–36

 

 

 

 

 

 

 

 

+ 1,75 Ч2(7–

 

 

+

 

7

 

 

 

 

0.75

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

допустим

 

 

 

 

 

 

 

 

1

 

10000001

 

0110…00

 

 

 

 

 

 

 

смещ

 

 

 

 

 

 

– 1,375 Ч2(129–

 

 

 

 

 

 

 

 

 

129

 

 

0.375

 

=

– 5,500000

допустим

Рис. 7.28

вычитается из экспоненты «Е» так, что «Е» — всегда положительное число. В случае использования арифметики с плавающей точкой с повышенной точностью используется один разряд для знака, 31-разрядная мантисса, 11разрядная экспонента, и полная длина слова, таким образом, составляет 43 разряда.

При работе с арифметикой повышенной точности динамический диапазон мантиссы увеличивается на 8 разрядов, скорость обработки данных при этом остается практически прежней, так как регистры-аккумуляторы уже имеют число разрядов больше 32. С другой стороны, 64-разрядная двойная точность (52-разрядная мантисса, 11-разрядная экспонента и разряд под знак) требует дополнительного цикла процессора при обработке. Необходимость использовать удвоенную точность при цифровой обработке сигналов встречается редко.

Многие приложения ЦОС используют преимущества более широкого динамического диапазона, обеспечиваемого 32-разрядной арифметикой с плавающей точкой. К тому же, гораздо проще программировать процессор с

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

Хотя все DSP с плавающей точкой могут работать с фиксированной точкой (при необходимости на них можно реализовать счетчики, циклы и обработку сигналов АЦП/ЦАП), это не обязательно означает, что математические действия с фиксированной точкой выполняются в них так же быстро, как операции с плавающей точкой, что зависит от внутренней архитектуры DSP. Например, DSP семейства SHARC Analog Devices оптимизированы как для операций с плавающей точкой, так и для операций с фиксированной точкой, которые производятся с одинаковой эффективностью. По этой причине процессоры SHARC чаще называют «32-разрядными DSP», чем «процессорами с плавающей точкой».

Сравнение арифметики с фиксированной

точкой и с плавающей точкой

ν16-бит с фиксированной точкой:

υ216= 65536 возможных значений

ν32-бит с плавающей точкой:

υ

Наиб. знач.:

±6,8 Ч1038

754

Std: ±3,4 Ч1038

υ

Наим.знач.:

–39

754

–38

±5,9 Ч10

Std: ±1,2 Ч10

νРасширенная точность (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 слова, которая позволяет производить выборку двух операндов и кода команды в одном машинном цикле. Занесение инструкций в КЭШ-память носит избирательный характер: в память заносятся только те команды, которые требуют двух операндов при выполнении выборки из памяти. Такая организация устройства управления выполнением команд позволяет производить умножение с накоплением и выполнение базовой операции «бабочка» при БПФ с весьма высокой скоростью.

Модифицированная гарвардская архитектура

 

32-разрядного процессора SHARC семейства ADSP-2106x

ядро

Таймер КЭШ команд

Два независимых блока

 

 

Двухпортовая память

двухпортовой памяти

 

 

процессора

 

 

 

 

 

 

Порт ядра проц.

Порт процессора

 

 

 

 

 

 

 

 

 

 

 

 

адр

дан

 

ввода-вывода

JTAG

7

 

 

 

 

 

дан

адр

 

 

 

Устройство

 

 

адр

дан

дан

адр

TEST &

 

DAG1

DAG2

 

 

EMULATION

управления

 

 

 

 

 

 

 

 

 

8x4x32

8x4x24

выполнением

 

 

 

 

 

 

 

 

 

 

команд

 

 

 

 

 

 

IOA Внешний порт

 

 

 

 

 

 

 

 

IOD

 

 

PMA

24

 

 

 

 

48

17

Мультипл.

32

 

 

 

 

 

 

 

 

 

 

 

 

DMA

32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шинаы адр

 

 

 

 

 

 

 

 

 

 

 

Многопроцессор-

Коммута-

 

PMD

48

 

 

 

 

 

 

ный интерфейс

 

 

 

 

 

 

 

 

48

тор шин

 

DMD

40

 

 

 

 

 

 

Мультипл.

 

 

 

 

 

 

 

 

(PX)

 

 

 

 

 

 

 

шинаы данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Хост интерфейс

 

Регистро-

 

 

 

 

 

 

 

 

 

 

 

вый файл

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

D

E

I

 

DMA

4

 

16x40

 

 

 

контроллер

 

 

Устройство

 

 

M

M

P

O

 

 

BIT

 

 

 

 

6

Умножитель

сдвига

AЛУ

 

D

D

D

D

Послед. порты

 

 

 

 

 

Регистры

 

 

6

 

 

 

 

 

 

 

 

(2)

 

 

 

 

 

управления,

 

 

 

 

 

 

 

 

 

состояния и

 

Порты связи

36

 

 

 

 

 

буферные регистры

 

 

 

 

 

 

(6)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Процессор ввода-вывода

 

Рис.7.30

Важнейшие свойства процессора

SHARC

100MHz Ядро/ до 300 MFLOPS

Параллельная работа : умножителя, АЛУ, 2 генераторов адреса & устр-ва управления выполнением командами

Нет арифметического конвеера; все вычисления вып за 1 цикл

Высокая точность и расширенный динамический диапазон

32/40-разр. формат IEEE с плавающей точкой

Результат операции 32-разр. умножения с накоплением с фикс. точкой сохраняется в 80-ти битовом аккумуляторе

Быстрая двухпортовая статическая память

Наличие КЭШ программ и модифицированная гарвардская архитектура

Встроенные средства для построения многопроцессорных

JTAG Интерфейс

DMA контроллер, последовательные порты, порты связи, внешняя шина, контроллер динамической памяти, таймер

Рис. 7.31

SHARC® - лидер в DSP с плавающей точкой

SHARC — это стандарт de facto в многопроцессорных системах

ADSP-21160 — это укрепление лидирующей позиции процессоров SHARC в области многопроцессорных систем ЦОС

ADSP-21065L — это правильный выбор среди недорогих DSP-процессоров с плавающей точкой

Супер гарвардская архитектура:

Сбалансированный объем памяти, вычислительной мощности и ввода-вывода

Высокая эффективность работы вычислительного блока

Наличие 4 шин для:

выборки команд

доступа к 2 значениям данных

выполнения 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–2106Х — процессор ADSP–21060 — содержит 4 Мбита SRAM, организованных в виде двух блоков по 2 Мбита каждый, которые могут быть сконфигурированы для хранения различных комбинаций программных модулей и модулей данных. Такие представители семейства, как

ADSP-21062, ADSP-21061 и ADSP-21065, содержат по 2 Мбита, 1Мбиту и 544

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

Поскольку в каждом блоке памяти может храниться комбинация кодов и данных, работа с памятью становится более эффективной, если для обращения к одному блоку применяется шина программ, а для обращения к другому блоку используется шина данных. Наличие двух шин — программ и данных,— каждая из которых используется для доступа к одному из блоков памяти, позволяет производить вычисления с передачей двух операндов в одном цикле синхронизации. В этом случае код команды должен присутствовать в КЭШпамяти инструкций. Вычисления производятся за один цикл даже тогда, когда один из операндов находится во внешней памяти и передается на кристалл процессора или с кристалла процессора через внешний порт.

Внешний порт процессоров семейства ADSP-2106x обеспечивает интерфейс между процессором, внешней памятью и периферийными устройствами. Адресное пространство внешней памяти размером 4 Гслов включено в унифицированное адресное пространство процессоров семейства ADSP-2106x. Отдельные шины внутри кристалла, служащие для адресации памяти программ, передачи данных из памяти программ, адресации памяти данных, передачи данных из памяти данных, адресации шины ввода/вывода и передачи данных шины ввода/вывода мультиплексируются во внешнем порту образуя внешнюю унифицированную системную шину, с единой 32-разрядной шиной адреса и единой 48-разрядной шиной данных. Процессоры семейства ADSP-2106x

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

Хост-интерфейс процессоров семейства ADSP-2106x позволяет легко устанавливать связь со стандартными микропроцессорными средствами как с 16-разрядными, так и с 32-разрядными шинами с незначительной доработкой аппаратуры. Хост-интерфейс имеет в своем распоряжении 4 канала DMA; передача команд и данных производится при минимальным вмешательстве программного обеспечения. Хост-процессор может напрямую осуществлять доступ во внутреннюю память процессоров семейства ADSP-2106x, а также модифицировать конфигурационные регистры канала DMA и почтовые регистры. Для эффективного выполнения команд, поступающих от хостпроцессора, для хост-интерфейса зарезервирован вектор прерывания .

Процессоры семейства ADSP-2106x обладают весьма эффективными средствами для организации многопроцессорных систем цифровой обработки сигналов. Унифицированное адресное пространство позволяет осуществлять прямой доступ каждому процессору, являющемуся элементом многопроцессорной системы, а также к внутренней памяти других процессоров системы. Для организации многопроцессорной системы, имеющей в своем составе до шести процессоров семейства ADSP-2106x и хост-процессор, на кристалле имеются встроенные средства арбитража шины. Передача управления шиной от одного процессора другому требует только одного дополнительного цикла шины. Приоритет при управлении доступом к общей шине может быть фиксированным либо циклическим. Максимальная скорость передачи данных между процессорами через порты связи (линк-порты) или внешний порт может составлять 240 Мбит/секунду (при тактовой частоте 40 МГц).

Процессор ввода/вывода (IOP) DSP семейства ADSP-2106x имеет два последовательных порта, шесть 4-разрядных портов связи (линк-портов) и контроллер DMA. Процессоры семейства ADSP-2106x обладают двумя последовательными синхронными портами, которые реализуют экономичный интерфейс с широким спектром периферийных цифровых устройств, а также периферийных устройств, осуществляющих смешанную обработку сигналов. Последовательные порты могут работать на скорости, соответствующей полной частоте внешнего тактового генератора, обеспечивая максимальную скорость передачи данных равную 50 Мбит/секунду. Независимые функции передачи и приема данных обеспечивают большую гибкость при организации обмена через последовательный порт. Данные через последовательный порт

могут автоматически передаваться из памяти процессора и в память процессора с использованием механизма DMA. Каждый последовательный порт поддерживает многоканальный режим с разделением каналов во времени, а также возможность компрессии данных по µ- или A-законам. Сигналы битовой и фреймовой синхронизации последовательного порта могут генерироваться самим процессором, но возможно и использование внешних сигналов синхронизации.

Процессоры семейства ADSP-21060 и ADSP-21062 имеют в своем составе шесть 4-разрядных портов связи (линк-портов), которые обеспечивают дополнительные возможности по вводу/выводу данных. Порты связи могут работать с двойной относительно тактовой частотой, позволяя передавать 8 бит за один цикл синхронизации процессора. Взаимодействие через порты связи особенно полезно в многопроцессорных системах, реализующих связь между процессорами по принципу точка-точка. Порты связи могут работать независимо и совместно, обеспечивая максимальную скорость передачи данных 240 Мбит/с. Данные, переданные через порт связи, представляются в виде 32разрядных или 48-разрядных слов и могут быть считаны напрямую ядром процессора или переданы во внутреннюю память с использованием механизма DMA. Каждый порт связи имеет свои собственные буферизованные входной и выходной регистры. Управление передачей данных между портами связи осуществляется с использованием сигналов тактовой синхронизации и подтверждения. Порты связи должны быть запрограммированы либо на прием, либо на передачу данных. Порты связи отсутствуют на процессорах ADSP21061 и ADSP-21065.

Внутренний контроллер DMA сигнального процессора семейства ADSP-2106x пересылает данные без вмешательства ядра процессора. Контроллер DMA работает независимо и незаметно для ядра процессора, позволяя проводить операции DMA тогда, когда ядро процессора выполняет свою программу. Как команды, так и данные могут быть загружены в процессор семейства ADSP2106x с использованием передающих средств DMA. Данные в DMA передаются между внутренней и внешней памятью процессора семейства ADSP-2106x, внешними периферийными устройствами или внутренним процессором. Пересылка в DMA может также выполняться между внутренней памятью процессора семейства ADSP-2106x и его последовательными портами или портами связи. Другой возможностью, предоставляемой механизмом DMA, является передача данных между внешней памятью и внешними периферийными устройствами системы.

Внутренняя память процессора семейства ADSP-2106x может быть загружена из 8-разрядного внешнего EPROM или из хост-процессора. К тому же, такие

представители семейства, как ADSP-21060 и ADSP-21062, могут загружаться через один из портов связи. Для загрузки могут быть использованы как 32разрядный, так и 16-разрядный хост-процессоры.

Для тестирования системы процессоры семейства ADSP-2106x используют стандарт IEEE P1149 JTAG. Этот стандарт определяет метод поочередного сканирования состояний входа/выхода каждого компонента системы.

Внутрисхемный эмулятор также использует последовательный порт JTAG для доступа к встроенной системе поддержки внутрисхемного эмулятора. Эмуляторы EZ-ICE используют порт JTAG для текущего контроля и управления процессором, установленным на печатной плате, в процессе отладки. Внутрисхемный эмулятор EZ-ICE тестирует процессор на полной скорости, поддерживая возможности модификации и чтения внутренней памяти, регистров и стеков процессора. Применение интерфейса процессора JTAG обеспечивает непрерывную внутрисхемную отладку работы системы, поскольку внутрисхемный эмулятор не влияет на загрузку и синхронизацию системы.

Архитектура процессоров SHARC не допускает появления узких мест при работе процессора, возникающих вследствие несоответствия между производительностью ядра, пропускной способностью процессора вводавывода, объемом встроенной памяти и набором встроенных периферийных устройств, как показано на рис. 7.30. Ядро поддерживает работу с 32разрядными данными с плавающей и фиксированной точкой. Память вносит свой вклад в сбалансированность архитектуры своим большим размером и наличием двух портов. Ядро может осуществлять доступ через один порт, другой порт может использоваться для передачи данных процессором вводавывода. Процессор ввода-вывода передает данные между периферийными устройствами и внутренней памятью, используя DMA, без вмешательства процессорного ядра. Такая передача происходит одновременно с операциями, выполняемыми ядром процессора.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]