[an error occurred while processing this directive]
Да за счет того, что у него (не 5х, а 55х) (+)
(«Телесистемы»: Конференция 'Цифровые сигнальные процессоры (DSP) и их применение')

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

Отправлено SM 15 декабря 2004 г. 18:06
В ответ на: А если он (5х) и вправду 32-х разрядный, но просто 16ти битные операции делает гораздо быстрее за счёт аппратной оптимизации? отправлено zlyh 15 декабря 2004 г. 17:37

второе АЛУ есть 16-битное, и он делает две операции за такт - одну 32-битную (разделяемую в DUAL-операциях на две 16-битные) и одну просто 16 битную. Итого при хороших раскладах три 16 битные операвции за такт.

Для примера:

ADD DUAL(*ar0+),AC0 || SUB #1, T0

берем 32-битное число из памяти с адресом *ar0, инкрементируем ar0 на два (адресная модификация), это 32-битное число рассматриваем как два независимых 16-битных. Точно также рассматриваем содержимое регистра AC0. Складываем два 16-битных числа впараллель в D-АЛУ. Так сказать SIMD-инструкция. И впараллель всему этому вычитаем единицу из регистра T0 в A-АЛУ.

ИТОГО ЗА 1 ТАКТ:
1) считали два 16 битных операнда из памяти
2) прибавили их к двум половинкам 32-битного регистра.
3) декрементировали 16-битный регистр T0
4) выполнили адресную модификацию.

Вот и ускорение для 16-битных операций.

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru