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

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

Отправлено GM 28 июля 2005 г. 20:24

И два такта - для сборки.

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

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

Для F2810 фрагмент выглядит так


movl portCnv,*xar1+ ;запись 32-бит в порт-конвертер
mov al,portEven ;чтение 16-бит четного канала
mov ah,portOdd ;чтение 16-бит нечетного канала

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

mov portCnv,al ;запись 16-бит в порт-конвертер
mov al,portCnv ;конвертированное выходное слово

Итого пять тактов. Думаю что-то подобное можно применить, как на 55хх, так и на других процессорах.

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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

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

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

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


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

E-mail: info@telesys.ru