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

 
 
> Помогите оттестировать производительность микроконтроллера ARM или AVR
RomaRoma
сообщение Jan 10 2014, 19:21
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 10-01-14
Пользователь №: 79 981



Добрый день/ночь!

Прошу помощи форумчан. Хочу использовать микроконтроллер для произведения большого объема вычислений, но не уверен в том, достаточна ли его мощность. Марка микроконтроллера еще не выбрана, скорее всего, на ядре ARM или Cortex.

Прошу счастливых владельцев микроконтроллеров на ядре ARM и/или AVR произвести замер времени выполнения простейшего вычисления с вещественными числами.
Покупать отладочную плату и программатор для этого слишком накладно.

Если производительности не хватит, буду вынужден использовать мощный РС под управлением ОС реального времени. Либо можно запараллелить несколько микроконтроллеров.

Детали кода значения не имеют, нужно просто ПРИМЕРНО оценить длительность вычислений с применением умножения и деления вещественных чисел. Желательно использовать real двойной точности (64 бит), но это не принципиально.

Заранее благодарен всем откликнувшимся!


Пример кода на псевдоязыке

//желательно использовать real двойной точности (64 бит), но это не принципиально
real a = 1;
real b = 1234.567;

//получить текущее значение системного время в мсек или мксек
int StartTime = getCurrentTime();

//рабочий цикл
for (int i=0; i<1000000; i++)
{ a = a + (real(i) / b );
b = b + 0.000001;

//на всякий пожарный
If (a>100000000) {a=1};
}

//итоговая длительность вычислений
int Dur = getCurrentTime() - StartTime;

//используем полученное значение, чтобы слишком умный компилятор не удалил неиспользуемые вычисления
//вместо Print можно сделать что угодно, лишь бы использовать значение!
//например, сохранить в EEPROM
Print(a);
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ZASADA
сообщение Jan 13 2014, 15:28
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 738
Регистрация: 13-01-11
Из: Минск
Пользователь №: 62 210



а не сокращает, я его после цикла распечатываю =)
наибольший эффект дает ключ -ffast -math, без него при минимальной оптимизации float = 1,992 сек

быстродействие победил =).
b принималось за константу
заменил на
Код
b = b + 0.001;


итоговый результат
без оптимизации float = 3,256 сек
после оптимизации float = 2,64 сек

результаты вычислений в обоих случаев одинаковы, т.е. ничего в цикле не сокращается
Go to the top of the page
 
+Quote Post
RomaRoma
сообщение Jan 14 2014, 07:57
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 10-01-14
Пользователь №: 79 981



всем спасибо
тема закрыта
вижу, что на микроконтроллере такие задачи не решить
Go to the top of the page
 
+Quote Post
yes
сообщение Jan 14 2014, 13:21
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



Цитата(RomaRoma @ Jan 14 2014, 11:57) *
всем спасибо
тема закрыта
вижу, что на микроконтроллере такие задачи не решить


на всякий случай - есть микроконтроллеры с поддержкой double FPU

например LPC3xxx (ARM9+FPU)

также у renesas-а есть SH-2|3|4 семейство с 64бит FPU у них и по целым числам получше чем у ARM-ов - может есть и не BGA корпуса

если BGA не смущает, то imx

то есть, микроконтроллеры бывают разные, можно к ПК (типа на атоме Жsm.gif по скорости вычислений приблизиться

Цитата(ViKo @ Jan 14 2014, 14:06) *
Последняя цифра меня удивила. Видимо, использование FPU STM32 для double в Keil недоработано. rolleyes.gif


ну я сам лудить/паять, в тонкую математику не лезу, но наши математики, когда им предлагаю взять замечательный проц без FPU или с 32х битным FPU (что для даблов одноикственно) сразу же с негодованием отвергают и приблизительно такими же соотношениями мотивируют sm.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- RomaRoma   Помогите оттестировать производительность микроконтроллера ARM или AVR   Jan 10 2014, 19:21
- - megajohn   с максимальной оптимизацией по скорости получилось...   Jan 10 2014, 20:18
|- - A. Fig Lee   Цитата(megajohn @ Jan 10 2014, 15:18) с м...   Jan 10 2014, 20:46
||- - megajohn   Цитата(A. Fig Lee @ Jan 11 2014, 00:46) *...   Jan 10 2014, 20:53
||- - RomaRoma   Цитата(megajohn @ Jan 10 2014, 23:53) сам...   Jan 10 2014, 21:04
||- - megajohn   ЦитатаУточню: такт - имеется в виду такт процессор...   Jan 10 2014, 21:10
||- - mantech   Может имеет смысл глянуть в сторону STM32F407 или ...   Jan 11 2014, 05:40
|- - ViKo   Цитата(megajohn @ Jan 10 2014, 23:18) с м...   Jan 11 2014, 08:11
||- - megajohn   Цитата(ViKo @ Jan 11 2014, 12:11) Можете ...   Jan 11 2014, 09:14
||- - RomaRoma   спасибо всем откликнувшимся Цитата(megajohn ...   Jan 11 2014, 14:04
|- - M_Andrey   Цитата(megajohn @ Jan 10 2014, 23:18) для...   Jan 12 2014, 12:03
|- - RomaRoma   Цитата(M_Andrey @ Jan 12 2014, 15:03) В ж...   Jan 12 2014, 15:58
|- - megajohn   Цитата(M_Andrey @ Jan 12 2014, 16:03) В ж...   Jan 12 2014, 18:15
|- - M_Andrey   Цитата(megajohn @ Jan 12 2014, 21:15) чой...   Jan 12 2014, 19:12
|- - megajohn   Цитата(M_Andrey @ Jan 12 2014, 23:12) Все...   Jan 12 2014, 19:21
|- - M_Andrey   Ужесточил типы, теперь между double и float разниц...   Jan 12 2014, 19:58
|- - megajohn   Цитата(M_Andrey @ Jan 12 2014, 23:58) Уже...   Jan 12 2014, 20:05
|- - Ruslan1   PIC32, 80 MHz (оптимизация средненькая, такую дает...   Jan 12 2014, 22:49
|- - M_Andrey   Цитата(megajohn @ Jan 12 2014, 23:05) Чой...   Jan 13 2014, 08:52
- - slog   AVR 8 разрядов, ARM 32. Понятно что производительн...   Jan 11 2014, 07:04
|- - stells   Цитата(slog @ Jan 11 2014, 11:04) AVR 8 р...   Jan 11 2014, 07:12
- - ZASADA   +1. кидайте законченный код, запущу на авр32 60 мг...   Jan 11 2014, 09:01
- - ZASADA   дсп еще не щупали.   Jan 12 2014, 16:07
- - ZASADA   avr32 60MHz i = 1 000 000 без оптимизации double ...   Jan 13 2014, 11:02
|- - A. Fig Lee   Цитата(ZASADA @ Jan 13 2014, 06:02) avr32...   Jan 13 2014, 13:37
- - ZASADA   на реальной плате причем double не особо круто со...   Jan 13 2014, 14:01
|- - A. Fig Lee   Цитата(ZASADA @ Jan 13 2014, 09:01) на ре...   Jan 13 2014, 14:12
||- - M_Andrey   Кстати, если посмотреть в float числа: 1234.567 ...   Jan 13 2014, 14:41
|- - Ruslan1   Цитата(ZASADA @ Jan 13 2014, 16:01) на ре...   Jan 13 2014, 14:41
- - ZASADA   Цитата800036E0 mov R8, 0 800036E2 movhi R7, 0...   Jan 13 2014, 14:39
- - neiver   Попробовал на Stm32f407 с использованием аппаратно...   Jan 13 2014, 14:47
|- - ViKo   Цитата(neiver @ Jan 13 2014, 17:47) Попро...   Jan 14 2014, 08:25
|- - megajohn   Цитата(RomaRoma @ Jan 14 2014, 11:57) виж...   Jan 14 2014, 08:21
- - ViKo   С вашего позволения, предлагаю тест, который 1000 ...   Jan 14 2014, 10:06
|- - A. Fig Lee   Цитата(ViKo @ Jan 14 2014, 05:06) С вашег...   Jan 14 2014, 16:23
- - SM   Добавлю к списку еще MCU на Cortex-R4F, такие тоже...   Jan 14 2014, 14:19
- - ZASADA   могу завтра на авр32 запустить=)   Jan 14 2014, 16:45
|- - A. Fig Lee   Цитата(ZASADA @ Jan 14 2014, 11:45) могу ...   Jan 14 2014, 17:24
- - ZASADA   итак вычисление числа Пи, код ViKo AVR32, 60MHz, ж...   Jan 15 2014, 07:56
- - mantech   Цитата(ZASADA @ Jan 15 2014, 11:56) итак ...   Jan 15 2014, 09:22


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

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 22:21
Рейтинг@Mail.ru


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