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

07

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

Архитектура ядра процессора Tiger SHARC показана на рис. 7.42. Ядро включает несколько функциональных блоков: вычислительные блоки, память, АЛУ для операций с целыми числами и устройство для управления выполнением команд. В архитектуре процессора Tiger SHARC предусмотрены вычислительные блоки X и Y, каждый из которых содержит умножитель, АЛУ и 64-разрядное устройство сдвига. Благодаря ресурсам этих блоков, процессор может выполнять восемь 40-разрядных операций умножения с последующим суммированием 16-разрядных данных, две 40-разрядных операции умножения с последующим суммированием 16-разрядных комплексных чисел или две 80разрядные операции умножения с последующим суммированием 32-разрядных даннымх. Все перечисленные операции выполняются в одном цикле. Процессор TigerSHARC реализует архитектуру, использующую полностью ортогональный регистровый файл длиной в 32 слова, допускающий чтение и запись в одном машинном цикле.

Архитектура процессора ADSP-TS001

TigerSHARC

 

Дешифр ком

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

J АЛУ

 

 

 

 

K АЛУ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

128-entry

 

 

 

J-РФ

 

 

K-РФ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BTB

 

 

 

31

 

 

 

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Внеш. порт

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

128

 

 

 

 

128

 

 

 

 

 

 

 

128

 

MD2

 

128

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

128

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MD1

 

 

 

 

 

DMA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

128

 

 

 

 

 

 

 

 

 

 

 

 

 

MD0

 

 

 

 

 

Перифер.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

128

 

 

 

128

 

128

 

128

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

128

128

128 устр-ва

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выч бл. X

Выч.бл.Y

M0

M1

M2

0

AЛУ

0

AЛУ

 

 

 

 

 

Р

Умн

R

Умн

2Mbit

2Mbit

2Mbit

Ф

F

 

 

 

31

У.сдв

31

У.сдв

Внутренняя память

Рис. 7.42

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

выполняться выборка четырех 32-разрядных команд. Одновременно могут быть загружены в регистровые файлы или записаны в память 256 битов данных. Данные с длиной слова 8, 16 или 32 разряда могут записываться в память последовательно в упакованном виде. Внутренняя и внешняя память организованы в виде единого адресного пространства, которое оставляет полную свободу программисту для распределения памяти. При работе на тактовой частоте 150 МГц скорость обмена с внутренней памятью для данных и команд составляет 7,2 Гбит/с.

Два АЛУ, выполняющие операции с целыми числами, используются для адресации данных и вычисления значений указателей. Они поддерживают циклические буферы и бит-реверсивную адресацию, причем каждое имеет свой регистровый файл длиной 32 слова. Рассматриваемые АЛУ не просто являются блоками, генерирующими адреса данных, но и могут совместно осуществлять вычисления с целыми числами. Наличие АЛУ такого вида позволяет существенно улучшить эффективность компилятора, разрабатываемого для данного процессора, а также повысить гибкость программирования.

Архитектура процессоров TigerSHARC называется статической суперскалярной архитектурой, т.к. она предполагает выполнение до четырех 32-разрядных команд за один цикл, и программист имеет возможность независимо задавать команды для всех вычислительных блоков. Устройство управления выполнением команд (program sequencer) поддерживает последовательное исполнение команд, при котором каждая очередная инструкция выполняется в соответствии с результатом предварительно заданного условия. Кроме того, одна и та же команда может быть выполнена двумя вычислительными блоками одновременно с использованием различных значений данных (это называется SIMD — одна инструкция — двойной набор данных).

Архитектура процессоров TigerSHARC позволяет выполнять операции над 8-, 16- и 32-разрядными данными. Производительность процессора повышается по мере уменьшения разрядности обрабатываемых данных.

Добавление буфера адресов перехода (Branch Target Buffer, BTB) и логики статического предсказания перехода делает ненужным заполнение конвейера команд после перехода. Как отмечалось раньше, переход осуществляется за один цикл.

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

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

Архитектура процессора TigerSHARC основана на различных режимах работы аппаратуры. Это позволяет избежать потери циклов и упрощает работу компилятора. Система команд непосредственно поддерживает все числовые форматы, применяемые в ЦОС и в обработке изображений и видеосигналов, включая знаковый и беззнаковый, дробный и целочисленный., . Во всех случаях существует возможность ограничения или усечения результатов вычислений.

Работая на тактовой частоте 150 МГц, процессор ADSP-TS001 обеспечивает наилучшую производительность среди процессоров семейства SHARC как при обработке данных с фиксированной точкой, так и при работе с данными в формате с плавающей точкой. Кроме того, разместив на кристалле 6 Мбит статической памяти, компания Analog Devices увеличила степень интеграции памяти на 50% по сравнению с предыдущими членами семейства SHARC. При переходе к меньшим проектным нормам при производстве кристаллов, компания Analog Devices планирует увеличить тактовую частоту работы процессора и объем памяти на кристалле для новых представителей семейства

TigerSHARC.

Основные свойства процессоров TigerSHARC

Выполнение от 1 до 4 32-разрядных инструкций за цикл

Архитектура: одна инстукция, двойной набор данных (SIMD), поддерживаемая двумя вычислительными блоками

Поддержка разных форматов данных вычислительными блоками

Каждый содержит рeгистр. файл, MAC, АЛУ, устр. сдвига

Вычисления с 32/40-разряд. данными с плав. точкой или 32-разрядными данными с фиксир. точкой (6 за один цикл)

Вычисл.с 16-р. (24 за од. цикл) или 8-р. дан. (32 за од. цикл)

Логика статического предсказания переходов,

сцелевым буфером перехода (BTB), поддерживающим

до 128 входовВнутр. пропус. способность 7,2 Гбит /с

Простая программная модель с гибкой системой прерываний

Рис. 7.43

Применение процессоров ADSP-TS001 уменьшает общую стоимость материалов при проектировании системы, благодаря наличию интегрированных

(xR0,xR1,xR2,xR3) из

функций ввода-вывода набора периферийных устройств, которые уменьшают или вообще ликвидируют потребность в применении вспомогательных и дополнительных аппаратных средств. Работая на тактовой частоте 150 МГц, процессор ADSP-TS001 объединяет четыре порта связи со скоростью передачи 600 Мбит/с, средства поддержки мультипроцессорного кластера с возможностью подключения до восьми процессоров ADSP-ТS001, контроллер динамической памяти и интерфейс JTAG. Данная, не имеющая аналогов комбинация возможностей реализована в 35х35 мм корпусе SBGA с 360 выводами.

Вычислительные возможности и пример кодирования процессора TigerSHARC показаны на рис. 7.44. Четыре 32-разрядные команды выполняются параллельно, образуя одну 128-разрядную командную строку. Данная командная строка выполняется за один цикл. Ниже приведен пример кодирования на языке ассемблера одной строки с расшифровкой выполняемых функций:

xR3:0=Q[j0+=4];// загрузитьиз памяти четыре регистра регистрового файла Х

yR3:0=Q[k0+=4];// загрузить из памяти четыре регистра из регистрового файла Y FR5=R4*R4; // перемножить два 32-разрядных значения с плавающей точкой

в вычислительном блоке Х и еще два — в блоке Y (две операции умножения)

FR9:8=R6+/-R7;;// сложить и вычесть в обоих вычислительных блоках Х и Y (четыре операции в АЛУ)

Один символ «точка с запятой» разделяет 32-разрядные команды, а два символа «точка с запятой» обозначают конец командной строки. Этот пример иллюстрирует синтаксис, применяемый при кодировании операций АЛУ и умножении 32-разрядных данных, представленных в формате с плавающей точкой. Параллельные 16-разрядные операнды могут быть легко специфицированы, используя префикс «S» (short - короткий) вместо «F» ( float – данные с плавающей точкой). J0 и K0 являются регистрами, принадлежащими IALU, которые используются в качестве указателей при косвенной адресации для чтении из памяти.

Максимальная производительность процессора

TigerSHARC

4 инструкции за один цикл осуществляют:

Ö 24 операции с 16-разр.дан. , или 6 опер. с 32-разр. дан. Ö8 опер. MAC с 16-разр.дан, или 2 опер. MAC с 32-разр.д

А также перемещ. 256-разр. данн, и вычисление двух адресов

 

8 16-разр

16 16-разр.

 

или

или

2 загр. данных, всего 256бит

2 32-разр

4 32-разр.

умножения

опер. в АЛУ

Вычисляются 2 адр.

в реж. SIMD

в реж. SIMD

 

xR3:0=Q[j0+=4]; yR3:0=Q[k0+=4]; FR5=R4*R4;

Рис. 7.44

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

Действительно, ядро процессора TigerSHARC включает 128 32-разрядных регистров общего назначения. Такое большое число регистров обеспечивает С- компилятору высокую степень гибкости при максимальном использовании в работе всего потенциала архитектуры. Для обеспечения целостности данных все регистры полностью синхронизированы, вследствии чего программисту не требуется контролировать детали, связанные с движением данных. Корректность использования данных при вычислениях контролируется аппаратно. Кроме того, доступ ко всем регистрам может осуществляться с использованием всех возможных режимов адресации (ортогональность), и все вычислительные команды имеют детерминированную задержку выполнения (2 цикла). Помимо прочего, архитектура процессора TigerSHARC включает буфер адресов перехода, в котором сохраняется эффективный адрес последних 128 переходов. Данный буфер облегчает программирование при заполнении конвейера команд после перехода. Как было показано раньше, архитектура позволяет осуществлять переход к следующей команде в одном цикле.

Свойства архитектуры, необходимые для поддержки языков высокого уровня

128 регистров общего назначения

Все регистры полностью синхронизированы

Для адресации испол. целочисленные АЛУ общего назн.

Предсказание переходов

Нет необх. перекл. реж. аппаратно при исп. разн. форм. дан.

Ортоганальные режимы адресации

Поддержка языка ассемблера

Рис. 7.45

На рис. 7.46 представлена одна из возможных мультипроцессорных систем, построенная на процессорах TigerSHARC. До восьми процессоров ADSP-TS001 могут взаимодействовать напрямую через высокоскоростной 64-разрядный интерфейс внешней шины. При таком взаимодействии широко используемый протокол, построенный по принципу «ведущий – ведомый» (master-slave), позволяет любым двум процессорам непосредственно взаимодействовать в любой момент времени.

В дополнение к внешней шине, неограниченное число процессоров может взаимодействовать между собой через порты связи, которыми оснащен процессор ADSP-TS001. Взаимодействие через порты связи предоставляет большую гибкость при меньшей пропускной способности, чем при обмене через интерфейс внешней параллельной шины. Следует еще раз упомянуть, что передача данных через порты связи выполняется отдельным процессором ввода-вывода и не требует вмешательства ЦПУ.

Если сложить пропускную способность портов связи (600 Мбит/с) и внешнего порта (600 Мбит.\с), то получится суммарная пропускная способность процессора, составляющаят 1200 Мбит/с при работе на тактовой частоте 150 МГц. К тому же, следует отметить, что интерфейс, основанный на портах связи, как и параллельный интерфейс, не требует для своей реализации никаких дополнительных аппаратных средств.

Процессор ADSP-TS001 является первым представителем планируемого семейства продуктов, основанных на технологии TigerSHARC. Последующие представители семейства TigerSHARC будут характеризоваться оптимальным соотношением объемов встроенной памяти и периферийных устройств с точки зрения наиболее полного удовлетворения требованиям специализированных рынков. Эти рынки включают базовые станции сотовых сетей третьего поколения, приложения VoIP (голос по протоколу Интернет), серверы и сетевые концентраторы. Ожидаемые усовершенствования в технологии и архитектуре процессора должны привести к двукратному улучшению базовых характеристик процессоров семейства TigerSHARC.

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

ADSP-TS001

TigerSHARC

Взаимод. через порты

связи

ADSP-TS001

TigerSHARC

 

SRAM

ADSP-TS001

 

TigerSHARC

 

 

DRAM

 

SDRAM

ADSP-TS001

I/O

TigerSHARC

 

 

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

связь через шину

Рис. 7.46

Пути развития семейства TigerSHARC

250 МГц

2Mбит/с Канал на одном

к кристалле

150 МГц

ADSP-TS001

Голос через

Интернет

2,4 Г MAC

Рис. 7.47

Сравнение цифровых сигнальных процессоров, основанное только на таких характеристиках как MIPS, MOPS или MFLOPS, не дает полного представления о вычислительных возможностях процессоров. Полезнее сравнить работу ЦСП применительно к реализации специфических алгоритмов. БПФ и КИХ-фильтр, например, являются популярными эталонными тестами, также как и БИХ-фильтр, умножение матриц, деление и вычисление квадратного корня.

На рис. 7.48 показаны результаты тестов процессора ADSP-TS001 TigerSHARC, работающего с 16-разрядными данными с фиксированной точкой. На рис. 7.49 представлены результаты обработки 32-разрядных данных с плавающей точкой.

Характеристики ADSP-TS001 TigerSHARC @ 150 МГц.

Работа с 16-разрядными данными.

Работа с 16-разрядными данными. Максимальная производительность 1200 MMAC

Алгоритм

время

кол-во

выполн.

цикл.

 

 

 

 

256 точ. компл БПФ по осн 2

7,3

µs

1100

50 звен КИХ-ф. на 1024т

48

µs

7200

Звено КИХ-фильтра

0,93 ns

0,14

Звено КИХ-ф с компл. данными

3,80 ns

0,57

Базовая операция БПФ «Бабочка»

6,7 ns

1,0

 

 

 

 

Рис.7.48

Характеристики ADSP-TS001 TigerSHARC@ 150 MГц при работе с 32-разрядными данными

Работа с 32-разр. дан.-- MMAC максимальная производительность

 

Aлгоритм

Время

Кол-во

 

вып-я

циклов

 

 

 

 

 

 

БПФ на 1024 точки по осн. 2)

69 µs

10300

 

 

КИХ-ф на 50 звеньев и 1024 точки

184 µs

27500

 

 

Одно звено КИХ-фильтра

3,7 ns

0,55

 

 

Одна базовая оп. «бабочка» БПФ

13,3 ns

2,0

 

 

Одно звено КИХ-ф. при компл. данных

13,3 ns

2,0

 

 

 

 

 

 

 

Деление

20 ns

3,0

 

 

Квадратный корень

33,3 ns

5,0

 

 

Декодер Витерби (на звено)

3,3 ns

0,5

 

Рис. 7.49

Средства для отладки и проектирования систем на цифровых сигнальных процессорах.

Наличие полного набора средств аппаратной и программной отладки весьма важно для любого проекта, основанного на DSP. Ниже будет описан пример проектирования типичной системы, содержащей DSP.

Первый шаг в процессе проектирования – это описание архитектуры системы, которое включает такую информацию, как тип процессора, периферийные устройства (внешняя память, кодеки, хост-процессор, каналы связи), конфигурацию и т.д. Эта информация помещается в файл, называемый LDF (файл описания связей).

Следующий шаг в процессе проектирования — генерирование необходимой программы DSP. Программа может создаваться на языке высокого уровня (обычно C или C++), на языке ассемблера для DSP или с использованием обоих языков. Программа DSP, разработанная на C, должна быть откомпилирована для получения кода на языке ассемблера. Нужно учитывать, что преимуществом использования языка С является простота программирования, в то время как результат компилирования такой программы не так эффективен, как при программировании непосредственно на ассемблере. По этой причине многие программисты DSP программируют на С, но используют ассемблер для проектирования таких моментов в программе, которые требуют наибольшего быстродействия. Язык ассемблера компании Analog Devices для DSP использует алгебраический синтаксис и достаточно прост при непосредственном использовании. В конце этапа компиляции компоновщик генерирует исполняемый файл.

Затем программное обеспечение должно быть отлажено с использованием программного симулятора в сочетании с некоторой аппаратной отладочной системой, такой как, например, плата EZ-ICE или другая плата, встраиваемая в слот персонального компьютера и поставляемая какой-либо фирмой

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

Конечный этап в процессе создания программы требует генерации загрузочного модуля с использованием программы PROM Splitter.

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