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

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

Отправлено AntZ 27 сентября 2004 г. 20:48
В ответ на: Уважаемый AntZ, вот Вы говорите отправлено GM 27 сентября 2004 г. 20:15

"Но ни инструкция XCCPART CARRY, ни инструкция OR #8000h, AC0 не имеет parallel enable bit. Значит ли это, что они не могут выполняться параллельно?"

Страница 5-511
This instruction may be executed with the instruction with which it is
paralleled. When this instruction syntax is used and the instruction to be executed conditionally is a store-to-memory instruction, there is a 1-cycle latency for the condition setting.
XCCPART [label, ]cond
|| instruction_executes_conditionally
[label:]

если OR #8000h, AC0 не параллелится (проверять в ассемблере нет возможности, но вроде lk16 не параллелятся), то всегда можно заменить на OR REG, AC0, а регистр инициализировать парралельно с какой-нибудь другой командой.

"На мой взгляд это нонсенс, ведь сначала надо проверить флаг переноса, а уж затем устанавливать 15-й бит в аккумуляторе ас0. Или я в корне неправ?"

Вы и правы и не правы одновременно. Фокус в том, то XCCPART исполняет часть инструкции "безусловно", а часть "условно". Например

BCLR TC1
XCCPART TC1
MOV *AR0+, T0

AR0 будет инкрементирован, а T0 загружен не будет. AD фаза инструкции выполнена (тогда еще не знали что с TC1), а X фаза блокирована. Это конечно несколько необычно, но зато эффективно.

По поводу поребления. У меня ядро 5502 кушает 200-250mA при напряжении 1.26V (на максимуме 300Mhz). Периферия кушает ничтожно мало



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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru