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

Ris_DSP / TZOS_red4_ch2_C25_Tablet

.pdf
Скачиваний:
38
Добавлен:
18.04.2015
Размер:
868.07 Кб
Скачать

103

Ком. цикл,

25

20

17

10

нс

 

 

 

 

MFLOPS

160

200

180

600

Память

40K×48

10K×48

6.8K×48

40K×48

программ

(RAM)

(RAM)

(RAM)

(RAM)

Память

64K×32

16K×32

6.8K×32

64K×32

данных

 

 

 

 

Паралл.

+

+

+

+

порт

 

 

 

 

Посл. порт

2

2

2

4

Прогр.

+

+

+

+

таймер

 

 

 

 

ПДП

+

+

+

+

Хост-

+

+

+

+

интерфейс

 

 

 

 

Сигнальный процессор TigerSHARC™ (ADSPTS001) является первым DSP компании Analog Devices, построенным по новой статической суперскалярной архитектуре.

Процессор TigerSHARC™ создан для применения в области телекоммуникаций и имеет высочайший уровень интеграции и возможность обрабатывать 8, 16, 32-разрядные данные с фиксированной и плавающей точкой (для поддержки разных телекоммуникационных протоколов), используя одну микросхему. В отличие от других DSP, процессор ADSPTS001 имеет способность увеличивать скорость обработки в зависимости от типа данных. Процессоров TigerSHARC имеет RISC (Reduced Instruction Set Computer) архитектуру с очень длинным командным словом - VLIW (Very Long Instruction Word).

Статическая суперскалярная архитектура предполагает выполнение до четырех 32-разрядных команд за один цикл, и программист имеет возможность независимо задавать команды для всех вычислительных блоков. Одна и та же команда может быть выполнена двумя вычислительными блоками одновременно с использованием различных значений данных (SIMD-архитектура).

104

Основные характеристики сигнального процессора TigerSHARCTM:

-1200 MMACs/s (миллионов операций умножений с накоплением в секунду) при тактовой частоте 150MГц и 16разрядных данных с фиксированной точкой;

-300 MMACs/s при тактовой частоте 150MГц и 32-разрядных данных с

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

- 900 MFLOPS для 32-разрядных данных с плавающей точкой;

-6Mбит внутренней памяти (SRAM), организованных как единое адресное пространство;

-скорость передачи данных через внешнюю шину - 600 Mбайт/с;

-скорость передачи данных через 4 порта связи - 600 Mбайт/с;

-4 порта ввода-вывода общего назначения;

-контроллер SDRAM.

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

-выполнение до четырёх 32-разрядных инструкций за цикл;

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

-каждый вычислительный блок содержит рeгистровый файл, MAC (умножитель/аккумулятор), АЛУ, устройство сдвига;

-за один цикл производит 6 вычислений с 32/40-разрядными данными с плавающей точкой или 32-разрядными данными с фиксированной точкой;

-за один цикл производит 24 вычисления с 16-разрядными данными;

-за один цикл производит 32 вычисления с 8-разрядными даннными;

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

4.3. СИГНАЛЬНЫЙ ПРОЦЕССОР TEXAS INSTRUMENTS TMS320C25

Высокая производительность сигнальных процессоров семейства TMS320 обеспечивается внутренней Гарвардской архитектурой (разделение шин данных и программ), использованием специальных

105

команд, ориентированных на цифровую обработку сигналов (ЦОС), выполняемых аппаратными средствами микросхемы.

Второе поколение процессоров Texas Instruments, относящееся к классу 16-ти разрядных процессоров с фиксированной точкой, включает в себя - TMS32020 (командный цикл 200 нс), TMS320C25, TMS320C25-50 (внешняя тактовая частота 50 МГц), TMS320E25 (ПЗУ с ультрафиолетовым стиранием), TMS320C26 (внутренне ОЗУ на 1568 слов). Архитектура этих устройств базируется на архитектуре процессора первого поколения TMS32010.

Характеристики процессора TMS320C25:

командный цикл – 100 нс.

внутренняя память данных (RAM) - 544 слова.

внутренняя память программ (ROM) – 4 Кслова.

адресуемая внешняя память программ/данных - 128 Кслов (64К×16 - память данных, 64К×16 - память программ).

16-разрядный параллельный интерфейс.

прямой доступ к памяти от внешних устройств.

32-разрядные умножитель MPL и арифметико-логическое устройство ALU с 32-разрядным аккумулятором.

одноцикловые команды умножения/накопления.

масштабирующий сдвигатель от 20 до 216.

набор команд, поддерживающих операции с плавающей точкой.

возможность перемещения блоков памяти программ/данных.

возможность многократного повторения команд.

8 вспомогательных регистров для хранения данных и для косвенной адресации памяти с возможностью автоинкремента/автодекремента.

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

последовательный порт для построения мультипроцессорных систем, подключения кодеков и последовательных АЦП и ЦАП.

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

106

внутренний таймер.

три внешних маскируемых прерывания.

напряжение питания + 5 В.

внутренний тактовый генератор.

4.3.1АРХИТЕКТУРА TMS320C25

Функциональная схема процессора TMS320C25 (рис.4.1) включает следующие аппаратные средства:

ALU – 32-разрядное арифметико-логическое устройство, оперирующее с числами в дополнительном коде;

ACCH (31-16), ACCL(15-0) – 32-разрядный аккумулятор – накопитель старших и младших разрядов, соответственно;

MULTIPLIER – параллельный 16×16 умножитель;

SHIFTER – сдвиговые регистры;

ARAU – 16-разрядное устройство беззнаковой арифметики, для операций над адресами (данными), содержащимися во вспомогательных регистрах;

AR0-AR7 – файл 16-разрядных вспомогательных регистров, используемых для адресации памяти данных и хранения других данных;

ARP – 3-разрядный указательный регистр. Содержит номер одного из вспомогательных регистров;

DATA BUS – 16-разрядная внутренняя шина данных;

PROGRAMM BUS – 16-разрядная внутренняя шина программ;

DAB – 16-разрядная шина адреса памяти данных;

DRB – 16-разрядная шина непосредственного адреса памяти данных (образуется объединением содержимого DP – регистра и семи младших бит кода команды;

AFB – 16-разрядная шина вспомогательных регистров AR(n);

D0-D15 – внешняя шина данных;

107

Рис.4.1 Архитектура TMS320C25

108

A0-A15 – внешняя шина адреса;

RSR – входной 16-разрядный сдвиговый регистр последовательного порта;

XSR – выходной 16-разрядный сдвиговый регистр последовательного порта;

DRR – 16-разрядный регистр-приемник последовательного порта;

DXR – 16-разрядный регистр-передатчик последовательного порта;

TIM – 16-разрядный таймер;

IMR – 6-разрядный регистр масок прерываний;

GREG – 8-разрядный регистр местоположения и размера глобальной памяти;

PRD – 16-разрядный регистр периода для загрузки таймера;

DP – 9-разрядный указатель страницы адреса памяти данных;

RAM (B0) – ОЗУ (256×16) с произвольным доступом для хранения данных или программ;

RAM (B1) – ОЗУ (256×16) с произвольным доступом для хранения данных;

RAM (B2) – ОЗУ (32×16) с произвольным доступом для хранения данных;

ROM – память программ, объемом 4К×16;

PC – 16-разрядный счетчик команд для адресации памяти команд;

PFC – 16-разрядный счетчик предзахвата команд;

MCS – однословный стек для временного хранения содержимого PFC;

Stack – аппаратный стек объемом 8×16 для размещения значений PC во время прерываний или программных вызовов;

QIR – 16-разрядный регистр для хранения предварительно захваченной команды;

IR – 16-разрядный регистр выполняемой команды;

RPTC – 8-разрядный счетчик повторения одной команды;

IFR – 6-разрядный флаговый регистр для захвата внешних или внутренних прерываний;

ST0, ST1 – 16-разрядные регистры состояния для хранения управляющих битов и битов состояния;

109

MUX – мультиплексоры.

Архитектура TMS320C25 построена вокруг двух основных шин - шины команд (Program Bus) и шины данных (Data Bus). Шина команд служит для передачи кодов команд и непосредственных операндов, расположенных в памяти программ. Шина данных подсоединяет CALU (ALU, SHIFTER, ACC и MPL) к ОЗУ данных (RAM).

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

4.3.2 ОРГАНИЗАЦИЯ ПАМЯТИ

На кристалле TMS320С25 содержится RAM объемом 544 16-разрядных слова, из которых 288 слов используются как память данных, а 256 слов могут использоваться либо как память данных, либо как память программ (рис.4.2). Кроме того, имеется маскируемое ПЗУ (ROM), объемом 4 Кслова.

Внутренняя RAM процессора разделена на три блока: B0, B1, B2 (рис.4.2). Из них 256 слов (блок B0) в зависимости от конфигурации процессора, устанавливаемой специальными командами, можно использовать либо как память данных, либо как память программ. 288 слов (блоки B1 и B2) всегда используются для данных.

Общая адресуемая память данных TMS320C25 достигает 64 Кслова. Внутренняя память данных и внутренняя резервная память располагаются в адресном пространстве до 1К. Старше 1К может располагаться внешняя память. Если внешняя память - медленная, то для формирования циклов ожидания можно использовать контакт READY процессора.

110

Рис. 4.2 Память данных на кристалле TMS320С25

Для адресации памяти данных используется 16-разрядная шина адреса данных (DAB). При этом используется один из трех способов:

прямая адресация;

косвенная адресация;

непосредственная адресация.

При прямой адресации 7 младших разрядов адреса памяти данных (dma) соединяются с 9 битами указателя страницы памяти данных (DP) для образования полного 16-разрядного адреса памяти данных. Таким образом, DP регистр указывает на одну из 512 возможных страниц памяти размером 128 слов, а 7-разрядный адрес в команде указывает на конкретное место на этой странице памяти данных.

Пример:

LDPK 4 - загрузить DP значением 4h.

111

ADD 1,2 - добавить к ACC содержимое 1 ячейки 4 страницы памяти данных, сдвинутое влево на 2 разряда.

Косвенная адресация памяти данных осуществляется через 8 вспомогательных регистров ARn. Для выбора конкретного вспомогательного регистра (AR0-AR7), хранящего адрес памяти данных, в указатель вспомогательного регистра ARP загружается одно из значений от 0 до 7.

Пример:

 

LRLK AR1,0200h

- загрузить вспомогательный регистр AR1

LARP 1

константой 0200h

- загрузить указатель вспомогательного

ADD *,2

регистра константой 1h

- сложить содержимое 0200h ячейки

 

памяти данных, сдвинутое на 2 разрядя

 

влево, с АСС.

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

Пример:

1). ADLK 1024,2 - прибавить к АСС число 1024, сдвинутое на 2 разряда влево.

2). LARP 7 - загрузить константу 7h в указатель вспомогательного регистра.

На TMS320C25 установлено программируемое ПЗУ программ (ROM), объемом 4 Кслова. В это масочное ПЗУ может быть зашита программа

112

пользователя. Наличие ROM позволяет выполнять программы с максимальной скоростью и не требует использования быстродействующей внешней памяти. Кроме того, это освобождает внешнюю шину для обращения к внешней памяти данных и к портам ввода/вывода.

Использование в качестве первых 4 Кслов памяти программ внутренней памяти (ROM) или внешней памяти, определяется состоянием контакта MP/MC (микропроцессор /микроконтроллер) процессора TMS320C25. Если на MP/MC высокий уровень - используется внешняя память, если низкий - внутренняя.

4.3.3 КАРТЫ РАСПРЕДЕЛЕНИЯ ПАМЯТИ

Вся память TMS320C25 разделена на три адресных пространства - для памяти программ, для памяти данных и для устройств ввода/вывода (рис.4.3). Вне кристалла эти пространства различаются сигналами PS, DS, IS (пространства программы, данных и ввода/вывода) процессора. Блоки памяти B0, B1, B2, расположенные на кристалле, охватывают в сумме 544 слова памяти с произвольным доступом (RAM). Блок B0 (256 слов) располагается на 4 и 5 страницах памяти данных, если он отведен под данные, или по адресам FF00h - FFFFh, если он является частью памяти программ. Блок B1 (только для данных) располагается на 6 и 7 страницах, а блок B2 занимает старшие 32 слова 0 страницы.

Оставшуюся часть 0 страницы занимают 6 адресуемых регистров и резервная область; 1 - 3 страницы также представляют собой резервную область. Резервные области нельзя использовать для хранения информации, при чтении их содержимое не определено.

Для конфигурации блока B0 как память программ используется команды CNFP, как память данных - CNFD. Команду BLKP (переместить информацию из памяти программ в память данных) можно использовать для загрузки блока B0 кодами команд, пока он является памятью данных, и затем, используя команду CNFP сконфигурировать RAM как память программ.

Соседние файлы в папке Ris_DSP