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

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

Отправлено SM 25 ноября 2004 г. 14:09
В ответ на: я уже наверно всем надоел со своими представлениями о "правильном процессоре" отправлено yes 25 ноября 2004 г. 13:55

там сделано так (в general purpose) если операнд-приемник 40-битный, то операция направляется в D-unit, если 16-битный, то в A-unit. Соответственно при условии выполнения остальных условий параллельности возможно за такт две операции. Далее - ВСЕ инструкции выполняются за 1 такт (в execute). И если нет STALL'ов из-за памяти или прочих конфликтов ресурсов (особенно между адресной фазой и execute/write) - то все операции выполняются за 1 такт (кроме переходов). В общем для подробного разбирательства есть "Cycle accurate simulator" и "Pipeline stall analyzer".

Межмодульных операций нет. На чтение все регистры доступны всем модулям, на запись - модулю A доступны T/AR, модулю D - ACx. Но оба модуля умеют все General purpose операции. Докучи запись-чтение в/из ОЗУ идет байпасным путем мимо модулей, позволяя параллелить эти операции с арифметикой.

Теперь аппаратные циклы - команды перехода там чистят конвейер, в результате выполняются 5-6 тактов. Даже если бы не чистили и декремент счетчика с переходом были бы 2 такта... Аппаратные циклы - выполняются 0 (ноль) тактов. Есть разница? Особенно если внутри цикла например две команды типа "dual MAC" и цикл на пару тысяч итераций?

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru