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

Руководство пользователя по сигнальным процессорам Sharc

.pdf
Скачиваний:
128
Добавлен:
01.05.2014
Размер:
9.49 Mб
Скачать

Руководство пользователя по сигнальным процессорам семейства SHARC ADSP-2106x

Санкт-Петербург 2002

Предполагается, что информация предоставленная компани ей "Analog Devices Inc." является точной и достоверной.

Тем не менее, компания "Analog Devices Inc." не несет ответственности за использование

этой информации, а также за нарушения патентов или прав третьих сторон, которые

могут возникнуть при использовании этой информации. Никакая лицензия не предоставляется ни прямо, ни косвенно, на объекты, попадающие под патентные права

"Analog Devices Inc."

Руководство пользователя по сигнальным процессорам семейства SHARC ADSP-2106x. Пер. с англ. А.В. Бархатов, А.А. Коновалов, М.Н. Петров.

Технический редактор В.П. Шатилов.

Перевод настоящего Руководства был осуществлен сотрудн иками Центра цифровых сигнальных процессоров СПбГЭТУ, при содействии Российск ого представительства компании “Analog Devices, Inc.” Перевод и издание финансировалось ООО ЭЛТЕХ г. Са нкт-Петербург.

В Руководстве детально рассматривается архитектура, система команд цифрового сигнального процессора компании "Analog Devices, Inc." Данное издание является переводом второй редакции оригинального издания "ADSP-2106x SHARC User's Manual", являющегося главным техническим описанием процессоров семейства ADSP-2106x. В Руководстве содержится информация о процессорах ADSP-21060, ADSP-21061, ADSP-21062.

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

Издание данного Руководства согласовано с компанией "Analog Dev ices, Inc."

ADSP-2106x SHARC

User's Manual

Second Edition(7/96)

ADSP-2106x SHARC User’s Manual.

© 1996,1997 Analog Devices, Inc.

ALL RIGHTS RESERVED

Information furnished by Analog Devices is believed to be accurate and reliable. However, no responsibility is assumed by Analog Devices for its use; nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under the patent rights of Analog Devices.

Second Edition, May 1997

Analog Devices, Inc. Computer Products Division One Technology Way

P.O. Box 9106

Norwood, MA 02062-9106 (617) 329-4700

If you have comments or suggestions about this manual or find any errors in it, please contact us via email at:

dsp_techpubs@analog.com

For product marketing information or technical support, contact any Analog Devices sales office or authorized distributor. For applications engineering assistance, contact:

DSP Applications Engineering Phone:(617) 461-3672 Massachusetts Fax:(617) 461-3010

email: dsp_applications@analog.com

Phone: (408) 879-3037 California

Phone: (404) 263-3722 Georgia

Содержание

Глава 1. Ведение

 

1.1.

Обзор .................................................................................................................................

21

1.2.

Характеристики семейства ADSP 21000 ............................................................

25

1.2.1.

Дополнительные характеристики системы ........................................................

26

1.2.2.

Почему процессор с плавающей точкой? ............................................................

27

1.3.

Архитектура ADSP 2106x .........................................................................................

28

1.3.1.

Ядро процессора ...........................................................................................................

28

1.3.1.1. Вычислительные устройства ...................................................................................

28

1.3.1.2. Регистровый файл данных........................................................................................

29

1.3.1.3. Программный автомат и генераторы адреса данных ......................................

39

1.3.1.4. Кэш команд .....................................................................................................................

30

1.3.1.5. Прерывания ....................................................................................................................

30

1.3.1.6. Таймер...............................................................................................................................

30

1.3.1.7. Шины ядра процессора ..............................................................................................

31

1.3.1.8. Внутренняя передача данных ..................................................................................

31

1.3.1.9. Контекстное переключение ......................................................................................

31

1.3.1.10.Набор команд .................................................................................................................

32

1.3.2.

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

32

1.3.3. Интерфейс внешней памяти и периферийных устройств ............................

33

1.3.4.

Интерфейс хост процессора ....................................................................................

33

1.3.5.

Многопроцессорная обработка ...............................................................................

34

1.3.6.

Устройство ввода вывода (IOP) .............................................................................

34

1.3.6.1. Последовательные порты ..........................................................................................

34

1.3.6.2. Линк порты ....................................................................................................................

34

1.3.6.3. Контроллер DMA .........................................................................................................

35

1.3.6.4. Начальная загрузка .....................................................................................................

36

1.4.

Средства разработки ...................................................................................................

36

1.5.

Многопроцессорная сеть ...........................................................................................

37

1.6.

Дополнительная литература ....................................................................................

38

Глава 2. Вычислительные устройства

 

2.1.

Обзор .................................................................................................................................

39

5

Содержание

2.2.

Операции с плавающей точкой стандарта IEEE ..............................................

40

2.2.1.

Формат с плавающей точкой повышенной точности .....................................

41

2.2.2.

Формат коротких слов с плавающей точкой .....................................................

41

2.2.3.

Исключения при выполнении операций с плавающей точкой ..................

42

2.3.

Операции с фиксированной точкой ......................................................................

42

2.4.

Округление .....................................................................................................................

43

2.5.

Арифметико–логическое устройство (ALU) ....................................................

43

2.5.1.

Работа ALU .....................................................................................................................

44

2.5.2.

Режимы работы ALU ..................................................................................................

45

2.5.2.1.

Режим насыщения .......................................................................................................

45

2.5.2.2.

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

45

2.5.2.3.

Границы округления данных с плавающей точкой .........................................

45

2.5.3.

Флаги состояния ALU................................................................................................

46

2.5.3.1.

Нулевой флаг ALU (AZ) ...........................................................................................

46

2.5.3.2.

Флаги потери значащих разрядов (AZ,AUS) ....................................................

47

2.5.3.3.

Отрицательный флаг ALU (AN) ............................................................................

47

2.5.3.4.

Флаги переполнения ALU (AV, AOS, AVS) ........................................................

47

2.5.3.5.

Флаг переноса операции ALU с фиксированной точкой (AC) ...................

47

2.5.3.6.

Знаковый флаг ALU (AS) .........................................................................................

47

2.5.3.7.

Флаги ошибки ALU (AI, AIS) .................................................................................

47

2.5.3.8.

Флаг операции с плавающей точкой ALU (AF) ...............................................

48

2.5.3.9.

Накопление сравнений ..............................................................................................

48

2.5.4.

Резюме команд ALU ....................................................................................................

48

2.6.

Умножитель ....................................................................................................................

49

2.6.1.

Работа умножителя .....................................................................................................

50

2.6.2.

Результаты с фиксированной точкой ...................................................................

51

2.6.2.1.

Регистры MR..................................................................................................................

51

2.6.3.

Операции с фиксированной точкой ......................................................................

52

2.6.3.1.

Обнуление регистра MR ............................................................................................

52

2.6.3.2.

Округление содержимого регистра MR ..............................................................

53

2.6.3.3.

Насыщение регистра MR при переполнении ....................................................

53

2.6.4.

Режимы работы с плавающей точкой ...................................................................

53

2.6.4.1.

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

54

2.6.4.2.

Граница округления данных с плавающей точкой ..........................................

54

2.6.5.

Флаги состояния умножителя ................................................................................

54

2.6.5.1.

Флаги потери значащих разрядов (MU, MUS) ................................................

55

2.6.5.2.

Отрицательный флаг умножителя (MN) ............................................................

55

2.6.5.3.

Флаг переполнения умножителя (MV)...............................................................

55

2.6.5.4.

Флаг ошибки умножителя (MI) .............................................................................

56

2.6.6.

Резюме команд умножителя ....................................................................................

56

2.7.

Устройство сдвига ........................................................................................................

58

2.7.1.

Работа устройства сдвига ..........................................................................................

58

2.7.2.

Команды внесения и извлечения поля бит.........................................................

59

6

Содержание

2.7.3.

Флаги состояния устройства сдвига ....................................................................

61

2.7.3.1. Нулевой флаг устройства сдвига (SZ) ................................................................

61

2.7.3.2. Флаг переполнения устройства сдвига (SV) ....................................................

61

2.7.3.3. Знаковый флаг устройства сдвига (SS) ..............................................................

61

2.7.4.

Резюме команд устройства сдвига .........................................................................

62

2.8.

Многофункциональные вычисления ...................................................................

63

2.9.

Регистровый файл........................................................................................................

64

2.9.1.

Дополнительные регистры .......................................................................................

65

Глава 3. Управление программой

 

3.1.

Обзор .................................................................................................................................

67

3.1.1.

Цикл выполнения команды......................................................................................

68

3.1.2.

Архитектура программного автомата ...................................................................

69

3.1.2.1. Регистры программного автомата и системные регистры ............................

71

3.2.

Работа программного автомата ...............................................................................

72

3.2.1.

Последовательное выполнение программы .......................................................

72

3.2.2.

Обращение к данным памяти программы...........................................................

72

3.2.3.

Переходы .........................................................................................................................

73

3.2.4.

Циклы ...............................................................................................................................

73

3.3.

Выполнение условных команд ................................................................................

73

3.4.

Ветвление программы (CALL, JUMP, RTS, RTI) ............................................

75

3.4.1.

Задержанные и незадержанные переходы ..........................................................

76

3.4.2.

Стек счетчика команд .................................................................................................

78

3.5.

Циклы (DO UNTIL) ...................................................................................................

79

3.5.1.

Ограничения при выполнении циклов и короткие циклы ...........................

80

3.5.1.1.

Общие ограничения ....................................................................................................

80

3.5.1.2.

Циклы, организованные по счетчику ...................................................................

81

3.5.1.3.

Циклы, организованные без счетчика ..................................................................

82

3.5.2.

Стек адреса цикла ........................................................................................................

84

3.5.3.

Счетчики цикла и стек счетчика ............................................................................

85

3.5.3.1. CURLCNTR ....................................................................................................................

85

3.5.3.2. LCNTR ..............................................................................................................................

86

3.6.

Прерывания ....................................................................................................................

87

3.6.1.

Время ожидания прерывания ..................................................................................

88

3.6.2.

Таблица векторов прерываний ................................................................................

90

3.6.3.

Регистр фиксирования прерывания (IRPTL) ...................................................

93

3.6.4.

Приоритет прерываний..............................................................................................

93

3.6.5.

Управление прерываниями и их маскирование ...............................................

94

3.6.5.1. Регистр маскирования прерываний (IMASK) ..................................................

94

3.6.5.2. Вложенность прерываний и IMASKP ..................................................................

94

3.6.6.

Сохранение и восстановление стека состояния................................................

95

7

Содержание

3.6.7.

Программные прерывания........................................................................................

96

3.6.8.

Очистка текущего прерывания для повторного использования ................

96

3.6.9.

Синхронизация и режим срабатывания внешних прерываний..................

98

3.6.9.1. Внешние асинхронные прерывания ......................................................................

98

3.6.10. Многопроцессорное векторное прерывание VIRPT ......................................

99

3.7.

Таймер.............................................................................................................................

100

3.7.1.

Включение и выключение таймера .....................................................................

101

3.7.2.

Прерывания таймера.................................................................................................

102

3.7.3.

Регистры таймера .......................................................................................................

103

3.8.

Флаги стека ..................................................................................................................

103

3.9.

IDLE и IDLE16 ...........................................................................................................

104

3.10.

Кэш команд ...................................................................................................................

105

3.10.1.

Архитектура кэша ......................................................................................................

106

3.10.2.

Эффективность использования кэша .................................................................

107

3.10.3. Отключение и фиксация кэша ..............................................................................

108

Глава 4. Передача данных

 

4.1.

Обзор ...............................................................................................................................

109

4.2.

Регистры генератора адреса данных ...................................................................

109

4.2.1.

Дополнительные регистры DAG ..........................................................................

110

4.3.

Работа DAG ..................................................................................................................

112

4.3.1.

Вывод и модификация адреса ...............................................................................

112

4.3.1.1.

Команды модификации генератора адреса данных ......................................

113

4.3.1.2.

Непосредственные модификаторы ......................................................................

113

4.3.2.

Адресация с использованием циклического буфера ....................................

114

4.3.2.1.

Работа циклического буфера .................................................................................

115

4.3.2.2.

Регистры циклического буфера ............................................................................

115

4.3.2.3.

Прерывание при переполнении циклического буфера ................................

116

4.3.3.

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

117

4.3.3.1.

Режим битреверсии ...................................................................................................

117

4.3.3.2.

Команда битреверсии ...............................................................................................

118

4.4.Передача данных с использованием регистров генератора адреса данных 118

4.4.1. Ограничения на передачу данных с использованием регистров DAG... 119

Глава 5. Память

 

5.1.

Обзор ...............................................................................................................................

121

5.1.1. Двойной доступ к данным .......................................................................................

123

5.1.2. Кэш команд и обращение к данным по шине памяти программы ...........

124

5.1.3. Шины памяти и генерация адресов .....................................................................

125

5.1.4.

Обмен данными между шинами ...........................................................................

126

8

Содержание

5.1.5.

Обращение к блоку памяти и конфликты ........................................................

128

5.2.

Карта памяти ADSP 2106x .....................................................................................

128

5.2.1.

Пространство внутренней памяти ADSP 21060 ............................................

131

5.2.2.

Пространство внутренней памяти ADSP 21062 ............................................

133

5.2.3.

Пространство внутренней памяти ADSP 21061 ............................................

134

5.2.4. Перенесение кодов из ADSP 21060 в ADSP 21062 или ADSP 21061 ...

136

5.2.5.

Пространство памяти многопроцессорной системы ....................................

138

5.2.6.

Пространство внешней памяти .............................................................................

138

5.2.7.

Ограничения при обращении к пространству памяти .................................

139

5.3.

Организация внутренней памяти и размер слова ..........................................

139

5.3.1.

32 разрядные и 48 разрядные слова ...................................................................

140

5.3.2.

Смешивание 32 х и 48 разрядных слов в одном блоке памяти ................

142

5.3.3.

Основные примеры смешивания 32 х и 48 разрядных слов .....................

143

5.3.4.

Короткие 16 разрядные слова ...............................................................................

146

5.3.5.Более тонкая структура расположения в памяти смешанных

 

32 разрядных и 48 разрядных слов

.....................................................................

 

147

5.3.5.1. Низкоуровневое физическое отображение блоков памяти........................

147

5.3.5.2. Ограничения при размещении смешанных 32 разрядных и

 

 

48 разрядных слов .....................................................................................................

 

 

 

148

5.3.5.3. FIFO теневой записи ................................................................................................

 

 

 

152

5.3.6.

Конфигурирование памяти для 32 х или 40 разрядных данных .............

153

5.4.

Интерфейс внешней памяти ..................................................................................

 

 

154

5.4.1.

Банки внешней памяти ............................................................................................

 

 

 

157

5.4.2.

Небанковая память ....................................................................................................

 

 

 

158

5.4.3.

Выбор начальной загрузки памяти (

) .....................................................

158

5.4.4.

Состояния ожидания и сигнал подтверждения ..............................................

158

5.4.4.1. Регистр WAIT ..............................................................................................................

 

 

 

159

5.4.4.2. Состояния ожидания и сигналы подтверждения для пространства

 

 

памяти многопроцессорной системы ..................................................................

 

163

5.4.5.

Обнаружение пересечения границы страницы DRAM ...............................

164

5.4.5.1.

Перевод шины в третье состояние (

) ...................................................

166

5.4.5.2.

Нормальная работа

:

не выставлен ..........................................

167

5.5.

Синхронизация обращения к внешней памяти ..............................................

168

5.5.1.

Внешняя память .........................................................................................................

 

 

 

168

5.5.1.1.

Чтение из внешней памяти, режим ведущего ..................................................

169

5.5.1.2.

Запись во внешнюю память, режим ведущего ................................................

169

5.5.2.

Память многопроцессорной системы .................................................................

 

170

Глава 6. DMA

6.1. Обзор ............................................................................................................................... 171

9

Содержание

6.1.1.

Возможности контроллера DMA .........................................................................

175

6.1.2.

Настройка передач по DMA ...................................................................................

176

6.2.

Регистры управления DMA ...................................................................................

177

6.2.1.

Регистры управления DMA через внешний порт ..........................................

179

6.2.2.

Управление режимами DMA последовательных портов ............................

184

6.2.3.

Управление режимами DMA линк портов .......................................................

185

6.2.4.

Выбор порта для совместно используемых каналов DMA ........................

187

6.2.5.

Регистр состояния каналов DMA (DMASTAT) .............................................

188

6.3.

Работа контроллера DMA .......................................................................................

189

6.3.1.

Регистры параметров каналов DMA ...................................................................

190

6.3.2.

Внутренние запросы и предоставления DMA.................................................

194

6.3.3.

Определение приоритетов каналов DMA .........................................................

195

6.3.3.1.

Вращение приоритетов каналов внешнего порта ..........................................

196

6.3.4.

Цепочка операций DMA ..........................................................................................

197

6.3.4.1.

Блок управления передачей и загрузка цепочки............................................

199

6.3.4.2.

Настройка и начало цепочек ..................................................................................

201

6.3.4.3.

Вставка цепочки .........................................................................................................

201

6.3.5.

Прерывания DMA ......................................................................................................

202

6.3.6.

Начало и окончание последовательности DMA.............................................

204

6.4.

DMA через внешний порт .......................................................................................

205

6.4.1.

Буферы FIFO внешнего порта (EPBx) ..............................................................

205

6.4.1.1.

Упаковка данных при DMA через внешний порт ..........................................

206

6.4.1.2.

Состояние упаковки ..................................................................................................

207

6.4.2.

Генерация внешнего и внутреннего адреса .......................................................

207

6.4.3.

Режимы DMA через внешний порт .....................................................................

208

6.4.3.1.

Режим ведущего ..........................................................................................................

209

6.4.3.2.

Пошаговый режим ведущего .................................................................................

210

6.4.3.3.

Режим ведомого ..........................................................................................................

210

6.4.3.4.

Режим с квитированием ..........................................................................................

212

6.4.3.5.

Внешний режим с квитированием .......................................................................

217

6.4.4.

Конфигурация системы для межпроцессорного DMA ................................

218

6.4.5.

Аппаратный интерфейс при выполнении DMA.............................................

218

6.5.

Производительность DMA .....................................................................................

221

6.6.

2 D DMA........................................................................................................................

222

6.6.1.

Организация каналов для 2 D DMA ..................................................................

222

6.6.2.

Работа DMA в 2 D режиме .....................................................................................

224

Глава 7. Многопроцессорная система

 

7.1.

Обзор ...............................................................................................................................

225

7.2.

Архитектура многопроцессорной системы ......................................................

228

7.2.1.

Потоковая многопроцессорная система ............................................................

228

10