vLx0F 0 23 декабря, 2008 Опубликовано 23 декабря, 2008 · Жалоба Как сейчас обстоят дела с компилятором Си у AD для TS в плане производительности ? Раньше для 21x (VD++ 1-2) все было очень печально. Кто может сравнивал Си с асм, кто пользует Си, подскажите стоит ли сейчас с асмом заморачиваться ? (раньше очень даже стоило :)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serg'o 0 24 декабря, 2008 Опубликовано 24 декабря, 2008 (изменено) · Жалоба Как сейчас обстоят дела с компилятором Си у AD для TS в плане производительности ? Раньше для 21x (VD++ 1-2) все было очень печально. Кто может сравнивал Си с асм, кто пользует Си, подскажите стоит ли сейчас с асмом заморачиваться ? (раньше очень даже стоило :)) Да и сейчас стоит, если хочешь получить максимальную производительность. Вообще имеет смысл писать на Си со вкраплениями асма. Как правило асма получается не много, а быстродействие повышается значительно. Изменено 24 декабря, 2008 пользователем Manuchin_serg Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vLx0F 0 24 декабря, 2008 Опубликовано 24 декабря, 2008 · Жалоба Да и сейчас стоит, если хочешь получить максимальную производительность. Вообще имеет смысл писать на Си со вкраплениями асма. Как правило асма получается не много, а быстродействие повышается значительно. Ну понятно, что для макс производительности - asm. Просто раньше у AD с Си было уж очень плохо (у TI в этом плане гораздо лучше). Вопрос в том, есть ли сейчас у AD значительные ) улучшения в этом плане ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fontp 0 24 декабря, 2008 Опубликовано 24 декабря, 2008 · Жалоба Ну понятно, что для макс производительности - asm. Просто раньше у AD с Си было уж очень плохо (у TI в этом плане гораздо лучше). Вопрос в том, есть ли сейчас у AD значительные ) улучшения в этом плане ? Это больше зависит от процессора. Если регистров мало и они специализированные как в TI tms54x то на С делать там нечего. Компилятору нужно хоть где-то раскрутиться. Аналогично ADSP и SHARC® Кроме того на С недоступны специализированые и многие параллельные возможности. На tms320C6х у TI и Blackfin у AD многие вещи можно делать на С. Производительность на С может достигать 0.5-1 от asm, почему нет? На TigerSHARC® я не работал, но мне кажется, что там как в SHARC, только ещё всё усугублено параллелизмами, недоступными из С ни компилятору, ни программисту Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jojo 0 24 декабря, 2008 Опубликовано 24 декабря, 2008 · Жалоба В TigerSharc желательно наиболее ресурсоемкие вычисления делать самому на ассемблере. Если они ведут к 100% занятости ядра. На си можно делать все остальное, если оно не задерживает realtime, т.е. если на скорость кусков кода на Си "наплевать и забыть". Оптимизатор неплох, нельзя сказать, что он сильно хуже, чем у остальных в индустрии. Но иногда тупИт, а единственное решение - самому на ассемблере. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
stealth-coder 2 27 декабря, 2008 Опубликовано 27 декабря, 2008 · Жалоба Пишу для adsp ts-101. Эксперименты показали, что оптимальным подходом с точки зрения производительность процессора/производительность программиста является написание программы в виде обслуживающий код на С + код DSP на ассемблере, т.к. эффективное задействование обоих вычислительных ядер должно закладываться алгоритмически (например, делим отсчеты входного сигнала на 2 части и обрабатываем их независимо друг от друга, но одновременно) и компилятор такую оптимизацию выполнить, конечно, не в состоянии. Кстати, в С можно использовать built-in макросы, представляющие из себя эффективную ассемблерную реализацию типовых операций, например, перевод чисел из fixed-point в float-point и т.п. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Exception13 0 28 декабря, 2008 Опубликовано 28 декабря, 2008 · Жалоба Кстати, в С можно использовать built-in макросы, представляющие из себя эффективную ассемблерную реализацию типовых операций О, а можно по подробнее, как самому сделать что то подобное, а то у TS я не нашел макроса для инструкций VMAX, VMIN, а нейронная сеть мозга пока никак не может перестроиться под DSP ассемблер :) Или может кто нить объяснит как делаются ассемблерные вставки, ассемблерные процедуры (описание входов/выходов), я по этой теме не нашел ни одного путного документа (конкретно для TS-x01). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vik0 0 28 декабря, 2008 Опубликовано 28 декабря, 2008 · Жалоба Или может кто нить объяснит как делаются ассемблерные вставки, ассемблерные процедуры (описание входов/выходов), я по этой теме не нашел ни одного путного документа (конкретно для TS-x01). Все прекрасно расписано тут. Стр. 1-102: Inline Assembly Language Support Keyword (asm) Стр. 1-261: C/C++ Run-Time Model and Environment Стр. 1-289: Register Classification Стр. 1-298: Calling Assembly Subroutines From C/C++ Programs Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться