реклама на сайте
подробности

 
 
> Ассемблер и Си, когда кого?
PoDoNoK
сообщение May 4 2007, 12:16
Сообщение #1





Группа: Новичок
Сообщений: 10
Регистрация: 13-10-05
Из: Москва
Пользователь №: 9 584



Здравствуйте! Приходится работать на АДСП 21160 и я чётко не могу понять, когда стоит писать функции на ассемблере, а когда на Си. Как вы для себя определяете, что этот алгоритм оптимальнее по скорости написать на ассемблере, а этот кусок на Си?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
fontp
сообщение May 4 2007, 12:37
Сообщение #2


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



Вычислительные алгоритмы обработки сигнала или по крайней мере их внутренние циклы обычно пишутся на ассемблере. Всяческая логическая ерунда по организации программы может писаться на С
Как-то так :-) Насколько я помню на всяких 21ххх на С не особо разгуляешься - компилятору маловато регистров общего назначения

Какой из модулей нужно писать на ассемблере в первую очередь, если весь проект на С уже существует, легко оценить в профайлере - тот покажет какую часть производительности ядра поглощает какой модуль
Go to the top of the page
 
+Quote Post
PoDoNoK
сообщение May 7 2007, 05:32
Сообщение #3





Группа: Новичок
Сообщений: 10
Регистрация: 13-10-05
Из: Москва
Пользователь №: 9 584



Цитата(fontp @ May 4 2007, 15:37) *
Вычислительные алгоритмы обработки сигнала или по крайней мере их внутренние циклы обычно пишутся на ассемблере. Всяческая логическая ерунда по организации программы может писаться на С
Как-то так :-) Насколько я помню на всяких 21ххх на С не особо разгуляешься - компилятору маловато регистров общего назначения

Какой из модулей нужно писать на ассемблере в первую очередь, если весь проект на С уже существует, легко оценить в профайлере - тот покажет какую часть производительности ядра поглощает какой модуль


Спасибо огромное! Про Profiling даже не знал! Очень полезная возможность. Век живи - век учись =).
Go to the top of the page
 
+Quote Post
fontp
сообщение May 7 2007, 08:33
Сообщение #4


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



Цитата(PoDoNoK @ May 7 2007, 09:32) *
Спасибо огромное! Про Profiling даже не знал! Очень полезная возможность. Век живи - век учись =).


:-) RTFM

Вопрос даже в другом - нужно не пренебрегать долбаной документацией

Там в VDSP ещё есть и средства автоматизации деятельности по оптимизации по профилю - и на уровне линкера и на уровне компилятора. Другое дело, что на уровне компилятора profile guided optimization компилятора работает только в симуляторе и полагается на тот тестовый набор данных, который предоставлен. Редко бывает возможным предоставить исчерпывающий набор данных. Кроме того в задачах обработки сигнала реального времени всегда оптимизируется максимальное время вычислений, а не среднее, на что направлена статистическая оптимизация. Получается, что обычно это пустое...
PGO linker автоматизирует, как раз то, что вы желаете - а именно расположение секций в памяти
На сайте analog.com есть описание и примеры использования PGO-линкера. Это Application Note EE-306
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 15:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01422 секунд с 7
ELECTRONIX ©2004-2016