wtf "DSP"? - Page 4

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
wtf "DSP"?
*** Ответ на письмо из области PRIVATE (На мое имя).

████ OS/2
                Hello, наиглубокоуважаемейший Evgeny!

14 Oct 05 11:47, Evgeny Kotsuba wrote to Pavel Berdashkewich:


 PB>> Программа реального времени должна не _писаться_ быстро, а
 PB>> _работать_.
 EK> виноват,с разу не ответил.Это тоже спорное утверждение.
 EK> Писаться программа тоже должна в реальном времени. Шедевр на ASM'е,
 EK> разрабатываемый в течении года нафиг никому не сдался, особенно в
А сколько, по-твоему, нормально? Это зависит от сложности конкретной задачи,
всего проекта, фирмы,где все делается и т.д.
Вообще находится компромисс...
 EK> условиях, когда все меняется.
За один день БПФ не напишешь оптимальный.
Вот changelist фирменного БПФ от AD:

FFTRAD2.ASM    ADSP-21060 Radix-2 DIT Complex Fast Fourier Transform

Author:   10-SEP-90, Kapriel Karagozian, Analog Devices DSP Div.(617) 461-3672
Version:  25-APR-91, Ronnin Yee, Steven Cox
          26-MAY-93, Steven Cox, in FSTAGE drain pipe without dummy dm access
          14-DEC-93, Cleaned up format, added benchmarks
          15-JUL-01, Michael Hennerich, bitreversed addressing mode for DAG2
implemented, Last Stage usage of complex conjugated twiddel pairs N/4 apart
implemented

    С уважением! Павел.  Suzuki VX-800 1936 AE 77

wtf "DSP"?
Hello Pavel.

Sat Oct 15 2005 19:49, Pavel Berdashkewich wrote to Evgeny Kotsuba:

 EK>> условиях, когда все меняется.
 PB> За один день БПФ не напишешь оптимальный.
 PB> Вот changelist фирменного БПФ от AD:
 PB> FFTRAD2.ASM    ADSP-21060 Radix-2 DIT Complex Fast Fourier Transform

А где бы взять что-то подобное на C?  Только complex необязательно, достаточно
real.


Dimmy.


wtf "DSP"?
*** Ответ на письмо из области PRIVATE (На мое имя).

████ OS/2
                Hello, наиглубокоуважаемейший Dimmy!

16 Oct 05 05:32, Dimmy Timchenko wrote to Pavel Berdashkewich:

 PB>> Вот changelist фирменного БПФ от AD:
 PB>> FFTRAD2.ASM    ADSP-21060 Radix-2 DIT Complex Fast Fourier
 PB>> Transform
 DT> А где бы взять что-то подобное на C?  Только complex необязательно,
 DT> достаточно real.
К сожалению, не знаю. В инете покопайся. В RU.DSP

    С уважением! Павел.  Suzuki VX-800 1936 AE 77

wtf "DSP"?
Hello Pavel.

Sun Oct 16 2005 17:29, Pavel Berdashkewich wrote to me:

 PB>>> FFTRAD2.ASM    ADSP-21060 Radix-2 DIT Complex Fast Fourier
 PB>>> Transform
 DT>> А где бы взять что-то подобное на C?  Только complex необязательно,
 DT>> достаточно real.
 PB> К сожалению, не знаю. В инете покопайся. В RU.DSP

В RU.DSP обычно така-ая тишина...


Dimmy.


wtf "DSP"?
Fri Oct 14 2005 11:12, Pavel Berdashkewich wrote to Evgeny Kotsuba:


 PB> Программа реального времени должна не _писаться_ быстро, а _работать_.

 Программа реального времени должна быть написана и отлажена вовремя.

 PB> Я не пробовал, но думаю тот же БПФ, написанный на сях будет работать раз
 PB> в 20 медленнее, чем на асм.

 Сильно зависит от. Разница от полутора до нескольких раз.
  
 VLV

 "Деньги - это для богатых" (с)  Fantozzi


Re: wtf "DSP"?
*** Ответ на письмо из области PRIVATE (На мое имя).

████ OS/2
                Hello, наиглубокоуважаемейший Dmitry!

15 Oct 05 19:17, Dmitry Orlov wrote to Pavel Berdashkewich:

 DO> Это очень сильно зависит от решаемых задач. Иногда приходится работать
 DO> на пределе возможностей железа и вручную оптимизировать узкие места
 DO> (причем не обязательно это именно на ассемблере делать, иногда можно и
 DO> сишный код подрихтовать так, чтобы он компилировался в эффективные
 DO> конструкции). А иногда именно по быстродействию есть приличный запас.
[...]
Примерно об этом и всем поскипанном я и говорил...
 DO> приходится. Запас
 DO> примерно десятикратный (он был примерно двукратный на 4МГц). Какое
 DO> железо мне выкинуть и что я с этого получу? Какими алгоритмами его
 DO> грузить, если программа во-первых все, что от нее требуется и так
 DO> делает, а во-вторых уже занимает почти всю память?
У нас ситуация обратная. Все на пределе. Алгоритмов много, данных много...


    С уважением! Павел.  Suzuki VX-800 1936 AE 77

Re: wtf "DSP"?
Hello, Pavel Berdashkewich!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sun, 16 Oct 2005
16:08:41
+0400:

  PB> У нас ситуация обратная. Все на пределе. Алгоритмов много,
 PB> данных много...

Если все на пределе, нужно брать процессор по-мощнее.

dima
http://www.dorlov.no-ip.com


Re: wtf "DSP"?
Hello Harry.

Fri Oct 14 2005 08:39, Harry Zhurov wrote to me:

 DT>> Hет, в 430-м хороший DMA. :)  В частности, длина пересылки может быть
 DT>> задана любой. Каналов - три.

 HZ> У него есть существенный минус, проистекающий из низкой цены и
 HZ> малого потребления кристалла. DMA использует для пересылки данных те
 HZ> же самые шины данных и адресов, которые используются самим процессором
 HZ> - других там нету.

Hу это да, сверхбыстрого обмена не получишь.  Hо экономно снимать данные,
например, с АЦП - самое то.

 HZ> Т.е. пересылки через DMA на полной скорости в фоне будут очень
 HZ> сильно тормозить нормальную работу проца.

Это если с какой-то очень быстрой периферии что-то очень быстро схватить... :)

 HZ> Жаль только, что не ко всей периферии DMA можно пристегнуть. Для
 HZ> SPI/I2C можно, для UART'а нет. И это очень обидно. :(

Пока не пришлось в это упереться.  UART в этом приборе будет выполнять функции
вспомогательные...


Dimmy.


wtf "DSP"?
Fri Oct 07 2005 09:46, Harry Zhurov wrote to Nickita A Startcev:

 
 HZ> Очевидно, что команды проверки цикла и перехода тут внесут здоровенные
 HZ> тормоза.
 HZ> Поэтому в DSP есть специальный механизм для организации аппаратных циклов

 Hе понимаю особого кайфа от этого механизма. Цикл можно частично
 развернуть. При этом оверхед на зацикливание становится пренебрежимо
 малым. Разве что если цикл настолько короткий, что весь крутится
 в конвейере, но что-то я не знаю подобных архитектур.
 Аппаратные циклы порождают страшный гемор при переключении задач.
 Сохранение/восстановление контекста такого цикла - нетривиальная операция.


 HZ> Таким образом, для свертки сигналов длинной, например, 32 отсчета
 HZ> требуется 32 такта.

 :) Добавь еще ~10 тактов на инициализацию.

 HZ> В современных процах шины широкие,
 HZ> умножителей-аккумуляторов может быть больше одного - два, к примеру,
 HZ> поэтому те 32 отсчета будут прогнаны за 16 тактов.

 :) Добавь еще ~20 тактов на инициализацию.


 HZ> Итого. DSP - это девайс, выполненный по [модифицированной | супер |
 HZ> др.] гарвардской архитектуре, имеющий умножитель-аккумулятор, способность
 HZ> подгружать два операнда за такт

 Что бы там не говорили, но самый удобный процессор -  пень :)

  VLV

 "Деньги - это для богатых" (с)  Fantozzi


wtf "DSP"?
Hello Vladimir.

Fri Oct 07 2005 19:20, Vladimir Vassilevsky wrote to Harry Zhurov:

 HZ>> Итого. DSP - это девайс, выполненный по [модифицированной | супер |
 HZ>> др.] гарвардской архитектуре, имеющий умножитель-аккумулятор,
 HZ>> способность подгружать два операнда за такт

 VV>  Что бы там не говорили, но самый удобный процессор -  пень :)

Кстати, был же когда-то Embedded 386...


Dimmy.


wtf "DSP"?
████ OS/2
                Hello, наиглубокоуважаемейший Dimmy!

08 Oct 05 02:30, Dimmy Timchenko wrote to Vladimir Vassilevsky:

 HZ>>> Итого. DSP - это девайс, выполненный по [модифицированной |
 HZ>>> супер | др.] гарвардской архитектуре, имеющий
 HZ>>> умножитель-аккумулятор, способность подгружать два операнда за
 HZ>>> такт
 VV>>  Что бы там не говорили, но самый удобный процессор -  пень :)
 DT> Кстати, был же когда-то Embedded 386...
А чем он лучше одноклассного МК?

    С уважением! Павел.  Suzuki VX-800 1936 AE 77

wtf "DSP"?
Hello Pavel.

Wed Oct 12 2005 16:05, Pavel Berdashkewich wrote to me:

 VV>>>  Что бы там не говорили, но самый удобный процессор -  пень :)
 DT>> Кстати, был же когда-то Embedded 386...
 PB> А чем он лучше одноклассного МК?

Видимо, тем, что дос можно поставить. ;))


Dimmy.


wtf "DSP"?
*** Ответ на письмо из области PRIVATE (На мое имя).

████ OS/2
                Hello, наиглубокоуважаемейший Dimmy!

13 Oct 05 04:01, Dimmy Timchenko wrote to Pavel Berdashkewich:
 VV>>>>  Что бы там не говорили, но самый удобный процессор -  пень :)
 DT>>> Кстати, был же когда-то Embedded 386...
 PB>> А чем он лучше одноклассного МК?
 DT> Видимо, тем, что дос можно поставить. ;))
Или Видовс.
    С уважением! Павел.  Suzuki VX-800 1936 AE 77

wtf "DSP"?
Привет, Dimmy !


 13 Oct 05 , 05:01  Dimmy Timchenko писал к Pavel Berdashkewich:

VV>>>>  Что бы там не говорили, но самый удобный процессор -  пень :)
DT>>> Кстати, был же когда-то Embedded 386...
PB>> А чем он лучше одноклассного МК?

DT> Видимо, тем, что дос можно поставить. ;))

И писать на обычно-привычном bc31/pb7/tasm, отлаживаться привычным td.exe итд.

.                                            С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... проблемы шерифа волнуют индейцев

wtf "DSP"?
Привет, Dimmy !


 08 Oct 05 , 03:30  Dimmy Timchenko писал к Vladimir Vassilevsky:

HZ>>> Итого. DSP - это девайс, выполненный по [модифицированной |
HZ>>> супер | др.] гарвардской архитектуре, имеющий
HZ>>> умножитель-аккумулятор, способность подгружать два операнда за
HZ>>> такт

VV>>  Что бы там не говорили, но самый удобный процессор -  пень :)

DT> Кстати, был же когда-то Embedded 386...


По соотношению производительность/потребление x86 - это тихий ужос.


.                                            С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... Быстрорастворимые бутерброды

Re: wtf "DSP"?
████ OS/2
                Hello, наиглубокоуважаемейший All!

К вопросу о необходимости написания быстрых программ.

 OL>>> Я cлышал чтоо в Pentuim MMX пеpеключение из MMX в ноpмальный pежим
 OL>>> ~50 тактов. В итоге - тоpмоза.
 DA>>  50 тактов - пpи чаcтоте 200 миллионов тактов в cек - тоpмоза ?
Quoted text here. Click to load it



    С уважением! Павел.  Suzuki VX-800 1936 AE 77

wtf "DSP"?
████ OS/2
                Hello, наиглубокоуважаемейший Vladimir!

07 Oct 05 18:20, Vladimir Vassilevsky wrote to Harry Zhurov:
 HZ>> Очевидно, что команды проверки цикла и перехода тут внесут
 HZ>> здоровенные тормоза. Поэтому в DSP есть специальный механизм для
 HZ>> организации аппаратных циклов
 VV>  Hе понимаю особого кайфа от этого механизма.
например, скопировать массив длинной N - затраты N+1 тактов.

 VV>  Цикл можно частично
 VV>  развернуть. При этом оверхед на зацикливание становится пренебрежимо
 VV>  малым. Разве что если цикл настолько короткий, что весь крутится
 VV>  в конвейере, но что-то я не знаю подобных архитектур.
 VV>  Аппаратные циклы порождают страшный гемор при переключении задач.
 VV>  Сохранение/восстановление контекста такого цикла - нетривиальная
 VV> операция.
Че-то я не в курсе...

 HZ>> Таким образом, для свертки сигналов длинной, например, 32 отсчета
 HZ>> требуется 32 такта.
 VV>  :) Добавь еще ~10 тактов на инициализацию.
Инициализацию чего?
Возьми сигналы длинной 2048 отсчетов :)

 HZ>> В современных процах шины широкие,
 HZ>> умножителей-аккумуляторов может быть больше одного - два, к
 HZ>> примеру, поэтому те 32 отсчета будут прогнаны за 16 тактов.
 VV>  :) Добавь еще ~20 тактов на инициализацию.

 HZ>> Итого. DSP - это девайс, выполненный по [модифицированной | супер
 HZ>> | др.] гарвардской архитектуре, имеющий умножитель-аккумулятор,
 HZ>> способность подгружать два операнда за такт
 VV>  Что бы там не говорили, но самый удобный процессор -  пень :)
Для задач обработки сигналов - нет.
Пнем хорошо помещение отапливать ;)

    С уважением! Павел.  Suzuki VX-800 1936 AE 77

wtf "DSP"?
Wed Oct 12 2005 16:00, Pavel Berdashkewich wrote to Vladimir Vassilevsky:

 VV>>  Аппаратные циклы порождают страшный гемор при переключении задач.
 VV>>  Сохранение/восстановление контекста такого цикла - нетривиальная
 VV>> операция.
 PB> Че-то я не в курсе...
 
 Чтобы переключить задачу, нужно в том числе разобрать/собрать стек
 аппаратных циклов. Hа ADSP-21xx это вообше не делается штатными средствами,
 на других архитектурах это делается более или менее ракообразно.

 HZ>>> Таким образом, для свертки сигналов длинной, например, 32 отсчета
 HZ>>> требуется 32 такта.
 VV>>  :) Добавь еще ~10 тактов на инициализацию.
 PB> Инициализацию чего?

 Указателей и аккумуляторов.

 PB> Возьми сигналы длинной 2048 отсчетов :)

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

 VV>>  Что бы там не говорили, но самый удобный процессор -  пень :)
 PB> Для задач обработки сигналов - нет.

 Пень максимально удобен для разработки программ без необходимости
 заморочек на мелкие технические трудности.

 PB> Пнем хорошо помещение отапливать ;)

 Это да. Пень сам по себе не работает - к нему нужна PCшка.

 VLV

 "Деньги - это для богатых" (с)  Fantozzi


wtf "DSP"?
*** Ответ на письмо из области PRIVATE (На мое имя).

████ OS/2
                Hello, наиглубокоуважаемейший Vladimir!

12 Oct 05 18:11, Vladimir Vassilevsky wrote to Pavel Berdashkewich:
 VV>>>  :) Добавь еще ~10 тактов на инициализацию.
 PB>> Инициализацию чего?
 VV>  Указателей и аккумуляторов.
Это для любой архитектуры.
Кроме того, указатели автоматически изменяются в теле цикла.

 PB>> Возьми сигналы длинной 2048 отсчетов :)
 VV>  Вычисление сверток такой длины - явный признак плохого алгоритма.
 VV>  Реально редко когда действительно нужно вычислять свертки длиной
 VV>  более нескольких десятков отсчетов.
Даю пример: радиолокация. Длины от 256 до 2048 дискретов.

 VV>>>  Что бы там не говорили, но самый удобный процессор -  пень :)
 PB>> Для задач обработки сигналов - нет.
 VV>  Пень максимально удобен для разработки программ без необходимости
 VV>  заморочек на мелкие технические трудности.
Мы на пне моделируем.
Но продаем мы не модели, а системы обработки сигналов ;)

 PB>> Пнем хорошо помещение отапливать ;)
 VV>  Это да. Пень сам по себе не работает - к нему нужна PCшка.


    С уважением! Павел.  Suzuki VX-800 1936 AE 77

wtf "DSP"?
Thu Oct 13 2005 13:21, Pavel Berdashkewich wrote to Vladimir Vassilevsky:


 VV>>>>  :) Добавь еще ~10 тактов на инициализацию.
 PB>>> Инициализацию чего?
 VV>>  Указателей и аккумуляторов.
 PB> Это для любой архитектуры.

 Один DSPшный указатель - это 3..4 регистра.

 PB> Кроме того, указатели автоматически изменяются в теле цикла.

 Суперскалярный процессор удобнее - скорость такая же, а думать меньше :)

 VLV
 

 "Деньги - это для богатых" (с)  Fantozzi


Site Timeline