Перейти к содержанию
    

Или нет?

Как правильно заметил jcxz, все будет зависеть от того, насколько часто будет выполняться условие ветвление, а это зависит от набора самих данных.

Скажем, если все данные идут "по нарастающей", то время всего сравнения будет одно, а если "спадающей", то уже совсем другое.

Чтобы этого не было, нужно "выровнять" время отработки в одном и другом условии (например, банальными NOP-ами).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так ведь исходник будет независимо от чисел, которые должны быть перемолоты, оттранслирован при прочих равных условиях. Или нет?

Исходник независимо - ну и что? Выполняться он будет за разное число тактов, в зависимости от данных. Я говорил о том, что тест проведённый ТС-ом для его исходника - некорректен, так как выполнение его исходника будет зависеть от данных. А значит нужно указывать - на каком наборе данных тестировать, или тестировать для самого худшего случая.

 

PS: Код, который я привёл - он для CM4. Возможно на CM7 появились ещё какие-то новые команды, с помощью которых можно ещё оптимизировать. Не знаю. Всё в руках ТС-а. B)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У вас в "LDMIA R0, {R3-R9, R12}" одни и те же 8 слов грузятся всю дорогу. R0 c "!" должон быть, чтоб по массиву двигаться ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У вас в "LDMIA R0, {R3-R9, R12}" одни и те же 8 слов грузятся всю дорогу. R0 c "!" должон быть, чтоб по массиву двигаться ;)

Да, Вы правы, забыл. Исправил. Проверял поверхностно, на скорую руку. :laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Исходник независимо - ну и что? Выполняться он будет за разное число тактов, в зависимости от данных. Я говорил о том, что тест проведённый ТС-ом для его исходника - некорректен, так как выполнение его исходника будет зависеть от данных. А значит нужно указывать - на каком наборе данных тестировать, или тестировать для самого худшего случая.

 

PS: Код, который я привёл - он для CM4. Возможно на CM7 появились ещё какие-то новые команды, с помощью которых можно ещё оптимизировать. Не знаю. Всё в руках ТС-а. B)

Я указывал, что изначально массив заполняется по возрастанию, т.е. это и будет по сути самый худший случай. Еще что у меня получилось: собрал с максимальной оптимизации (мой косяк, не заметил) получилось 65 мкс, и потом попробовал запретить прерывания получилось 50 мкс. Спасибо за совет, сейчас попробую ради интереса на ассемблере и использовать TCM RAM.

Изменено пользователем Eros

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за совет, сейчас попробую ради интереса на ассемблере и использовать TCM RAM.

А за сколько у Вас мой ассемблерный вариант выполняется?

PS: Мерить время лучше в отладчике по отладочному таймеру (в ядре).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А за сколько у Вас мой ассемблерный вариант выполняется?

PS: Мерить время лучше в отладчике по отладочному таймеру (в ядре).

Да, я так и измеряю :smile3046:

Сейчас буду пробовать ассемблерный вариант

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

здравсвуйте!

а частота семплирования ацп какая?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 9/19/2018 at 4:49 PM, klen said:

здравсвуйте!

а частота семплирования ацп какая?

АЦП LTC2248 65 Msps

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да! накидал макет примерно такой же штуковины.

ltc2206-14, работать буду на 50МГц .

предварительная фильтрация/предобработка и выталкивание через ETH MAC - с выдачей непрерывного потока UDP пакетами.

удалось протащить (правда без фильтрации - сырые данные с АЦП)  в ETH MAC на скорости 82MBit/s что соответствует 82MBit/s/(16бит-размер слова АЦП) = 5MГц АЦП  - получается типа сетевого AЦП реального времени,. Пинг правда перестает работать но тестовая прилагуха на РС принимает UDP пакеты c данными исправно.

давно была у меня идея внешний АЦП через DCMI прикрутить - Ваш опыт показал что можно была сразу делать и не раздумывать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

On 10/4/2018 at 1:52 PM, Erooseight said:

АЦП LTC2248 65 Msps

Если не секрет, где так мёдом намазано? Прошёлся поиском - цены просто дурные по сравнению с риалтеком, у которого кстати 500Msps и сразу три канала. (дёргаю с дохлых мониторов)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 hours ago, AVI-crak said:

 

Если не секрет, где так мёдом намазано? Прошёлся поиском - цены просто дурные по сравнению с риалтеком, у которого кстати 500Msps и сразу три канала. (дёргаю с дохлых мониторов)

Ну я же не сам все покупаю, а компания, поэтому почему бы и да =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Erooseight said:

Ну я же не сам все покупаю, а компания, поэтому почему бы и да =)

Ну это понятно, но триста баксов за чип из омерики - это как-то непропорционально рядом с stm.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 10/13/2018 at 10:41 PM, AVI-crak said:

цены просто дурные по сравнению с риалтеком, у которого кстати 500Msps и сразу три канала

А что это за микросхема и каков у нее реальный динамический диапазон? На DCMI она цепляется без "клея" или надо ПЛИС лепить дял согласования интерфейсов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 hours ago, AVI-crak said:

Ну это понятно, но триста баксов за чип из омерики - это как-то непропорционально рядом с stm.

Я вижу на Маузере цену $47. Откуда взялись триста баксов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...