[an error occurred while processing this directive]
Еще добавлю про конфликты (+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено SM 28 февраля 2003 г. 22:44
В ответ на: после чтения доки по С6000 возникла пара вопросов отправлено yes 28 февраля 2003 г. 17:26

Есть некоторые команды, которые действительно "занимают" юнит - это в основном плавучка с IEEE double. Там юнит не может за 1 такт вычитать все необходимые данные (больно длинны они, а за 1 такт умеем принимать только 2 данных по 32 бита), по-этому ему приходится находиться в "отключке" от 2 до 4 тактов. Если в это время выполнить команду на этом-же юните - вроде NOP получается.
Еще один конфликт - использование шины записи юнита двумя командами одновременно (в одном такте юнит может писать только в одно место) например ADDSP .L1 а после трех нопов ADD .L1. Это конфликт - так как и ADDSP и ADD требуют в одно и тоже время записи своих результатов. По моим наблюдением результат первой команды пишется, результат второй - нет.
Третий конфликт, не показываемый компилером - запись двумя юнитами на одном такте в один регистр. Например ADDSP .L1 A1,A2,A3 и через три такта MV .D1 A4,A3. Тут я закономерности не выявлял :), так как это явная и бросающаяся в глаза ошибка.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru