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

 
 
9 страниц V  « < 4 5 6 7 8 > »   
Reply to this topicStart new topic
> High Speed USB Cortex M0-M3
AHTOXA
сообщение Jun 13 2011, 13:13
Сообщение #76


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(sonycman @ Jun 13 2011, 18:49) *
В остальном от STM32F1 остались только хорошие впечатления.

А что, со скоростью у STM32F1x -- совсем швах? Может, прогоните на них тот тест, и выложите результаты? Интересно будет сравнить... sm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 13 2011, 13:32
Сообщение #77


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



щас прогоню попробую, stm32f105rc 72mhz
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 13 2011, 13:37
Сообщение #78


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(AHTOXA @ Jun 13 2011, 17:13) *
А что, со скоростью у STM32F1x -- совсем швах? Может, прогоните на них тот тест, и выложите результаты? Интересно будет сравнить... sm.gif

Ну, если сравнить по загрузке при декодировании MP3 320 kbps:
LPC17xx - 30%
SAM3U - 50%
STM32F1 - 100% и даже тормозит sad.gif

Если откопаю у себя отладку с F1, может, займусь.

Цитата(brag @ Jun 13 2011, 17:32) *
щас прогоню попробую, stm32f105rc 72mhz

Ждём sm.gif
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 13 2011, 15:56
Сообщение #79


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



прогнал.
все компилилось так:
arm-none-eabi-gcc -Werror -Wall -Wextra -pipe -mcpu=cortex-m3 -mthumb -O2 -fomit-frame-pointer -ffreestanding -fno-common -fwide-exec-charset=UTF-16LE -fshort-wchar

Код
Dhrystone Benchmark, Version 2.1 (Language: C)

Execution starts, 1000000 runs through Dhrystone
Execution ends

Final values of the variables used in the benchmark:

Int_Glob:            5
        should be:   5
Bool_Glob:           1
        should be:   1
Ch_1_Glob:           A
        should be:   A
Ch_2_Glob:           B
        should be:   B
Arr_1_Glob[8]:       7
        should be:   7
Arr_2_Glob[8][7]:    1000010
        should be:   Number_Of_Runs + 10
Ptr_Glob->
  Ptr_Comp:          536871440
        should be:   (implementation-dependent)
  Discr:             0
        should be:   0
  Enum_Comp:         2
        should be:   2
  Int_Comp:          17
        should be:   17
  Str_Comp:          DHRYSTONE PROGRAM, SOME STRING
        should be:   DHRYSTONE PROGRAM, SOME STRING
Next_Ptr_Glob->
  Ptr_Comp:          536871440
        should be:   (implementation-dependent), same as above
  Discr:             0
        should be:   0
  Enum_Comp:         1
        should be:   1
  Int_Comp:          18
        should be:   18
  Str_Comp:          DHRYSTONE PROGRAM, SOME STRING
        should be:   DHRYSTONE PROGRAM, SOME STRING
Int_1_Loc:           5
        should be:   5
Int_2_Loc:           13
        should be:   13
Int_3_Loc:           7
        should be:   7
Enum_Loc:            1
        should be:   1
Str_1_Loc:           DHRYSTONE PROGRAM, 1'ST STRING
        should be:   DHRYSTONE PROGRAM, 1'ST STRING
Str_2_Loc:           DHRYSTONE PROGRAM, 2'ND STRING
        should be:   DHRYSTONE PROGRAM, 2'ND STRING

Register option selected?  YES
Microseconds for one run through Dhrystone: 19
Dhrystones per Second:                      52631
VAX MIPS rating = 29.95
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jun 13 2011, 16:20
Сообщение #80


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(brag @ Jun 13 2011, 21:56) *
VAX MIPS rating = 29.95

Цитата(sonycman @ Jun 12 2011, 04:21) *
134.5 Dhrystone VAX MIPS


Это один и тот же параметр? Что-то как-то совсем ужасно... Где обещанные "0,95 DMIPS/МГц"? sm.gif Видимо ещё gcc добавил тормозов... Я потому и хотел чтоб sonycman провёл тест в тех же условиях, что и LPC. Так хоть уберётся влияние компилятора и ключей оптимизации.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 13 2011, 16:29
Сообщение #81


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



прогнал второй код, скачал с сайта арма http://infocenter.arm.com/help/index.jsp?t...qs/ka13553.html
частота 72мгц.
Код
Dhrystone Benchmark, Version 2.1 (Language: C)

Program compiled without 'register' attribute

Execution starts, 1000000 runs through Dhrystone
Execution ends

Final values of the variables used in the benchmark:

Int_Glob:            5
        should be:   5
Bool_Glob:           1
        should be:   1
Ch_1_Glob:           A
        should be:   A
Ch_2_Glob:           B
        should be:   B
Arr_1_Glob[8]:       7
        should be:   7
Arr_2_Glob[8][7]:    1000010
        should be:   Number_Of_Runs + 10
Ptr_Glob->
  Ptr_Comp:          536871440
        should be:   (implementation-dependent)
  Discr:             0
        should be:   0
  Enum_Comp:         2
        should be:   2
  Int_Comp:          17
        should be:   17
  Str_Comp:          DHRYSTONE PROGRAM, SOME STRING
        should be:   DHRYSTONE PROGRAM, SOME STRING
Next_Ptr_Glob->
  Ptr_Comp:          536871440
        should be:   (implementation-dependent), same as above
  Discr:             0
        should be:   0
  Enum_Comp:         1
        should be:   1
  Int_Comp:          18
        should be:   18
  Str_Comp:          DHRYSTONE PROGRAM, SOME STRING
        should be:   DHRYSTONE PROGRAM, SOME STRING
Int_1_Loc:           5
        should be:   5
Int_2_Loc:           13
        should be:   13
Int_3_Loc:           7
        should be:   7
Enum_Loc:            1
        should be:   1
Str_1_Loc:           DHRYSTONE PROGRAM, 1'ST STRING
        should be:   DHRYSTONE PROGRAM, 1'ST STRING
Str_2_Loc:           DHRYSTONE PROGRAM, 2'ND STRING
        should be:   DHRYSTONE PROGRAM, 2'ND STRING

Microseconds for one run through Dhrystone: 18
Dhrystones per Second:                      55555


он же, только с ключем -O0
Код
Microseconds for one run through Dhrystone: 42
Dhrystones per Second:                      23809

Go to the top of the page
 
+Quote Post
brag
сообщение Jun 13 2011, 18:13
Сообщение #82


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



а этот код он выполняет 100е6 раз за 18 сек. и того эффективная тактовая частота выходит 100e6/18*(6+1+3)=55.6мгц, чего и следовало ожидать от обычного кеширования...
Код
800487e:    bf00          nop
8004880:    bf00          nop
8004882:    bf00          nop
8004884:    bf00          nop
8004886:    bf00          nop
8004888:    bf00          nop
800488a:    3b01          subs    r3, #1
800488c:    d1f7          bne.n    800487e


а так, уже 16сек, тобышь 62.5мгц. из за того, что прыгаем какраз на тот адресс,с которого начитается чтение с 128битной флешки...
Код
8004880:    bf00          nop
8004882:    bf00          nop
8004884:    bf00          nop
8004886:    bf00          nop
8004888:    bf00          nop
800488a:    bf00          nop
800488c:    3b01          subs    r3, #1
800488e:    d1f7          bne.n    8004880


ну и 22 nop'а, 1 subs и bne(3 такта) - 66.7мгц, максимум,что можно выдавить,если все лежит в правильных адрессах.

апд. из SRAM 8 "mov r0,r0;" 1 subs и 1 bne.n выполняется четко за 25сек (100e6/25*(8+6+1+3)=72e6), не зависимо от адресса,где это все лежит. Вобщем флешка-тормоз, проц нормал.

Протестю на lpc17 на днях
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 13 2011, 19:38
Сообщение #83


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



и на последок весь код в SRAM. 0.52 DMIPS/MHz sm.gif
Код
Microseconds for one run through Dhrystone: 15
Dhrystones per Second:                      66666
VAX MIPS rating = 37.943
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 13 2011, 20:29
Сообщение #84


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Вот, откопал свою старенькую покуроченную отладку на базе STM32F103RBT6 ещё старой ревизии Z:
72 МГц, 2WS такта, IAR 5.11, High optimization, Speed:

Microseconds for one run through Dhrystone: 11.1
Dhrystones per Second: 89702.8
VAX MIPS rating = 51.055

Слабенько, что уж и говорить. 1.25 DMIPS/MHz тут и не пахнет.

ЗЫ: но это фигня, скомпилировал проект в последнем ИАРе 6.20.3 с такими же настройками, и вот тут-то уже запахло:

Код
Dhrystone Benchmark, Version 2.1 (Language: C)

Execution starts, 500000 runs through Dhrystone
Execution ends

Final values of the variables used in the benchmark:

Int_Glob:            5
        should be:   5
Bool_Glob:           1
        should be:   1
Ch_1_Glob:           A
        should be:   A
Ch_2_Glob:           B
        should be:   B
Arr_1_Glob[8]:       7
        should be:   7
Arr_2_Glob[8][7]:    500010
        should be:   Number_Of_Runs + 10
Ptr_Glob->
  Ptr_Comp:          2000283C
        should be:   (implementation-dependent)
  Discr:             0
        should be:   0
  Enum_Comp:         2
        should be:   2
  Int_Comp:          17
        should be:   17
  Str_Comp:          DHRYSTONE PROGRAM, SOME STRING
        should be:   DHRYSTONE PROGRAM, SOME STRING
Next_Ptr_Glob->
  Ptr_Comp:          2000283C
        should be:   (implementation-dependent), same as above
  Discr:             0
        should be:   0
  Enum_Comp:         1
        should be:   1
  Int_Comp:          18
        should be:   18
  Str_Comp:          DHRYSTONE PROGRAM, SOME STRING
        should be:   DHRYSTONE PROGRAM, SOME STRING
Int_1_Loc:           5
        should be:   5
Int_2_Loc:           13
        should be:   13
Int_3_Loc:           7
        should be:   7
Enum_Loc:            1
        should be:   1
Str_1_Loc:           DHRYSTONE PROGRAM, 1'ST STRING
        should be:   DHRYSTONE PROGRAM, 1'ST STRING
Str_2_Loc:           DHRYSTONE PROGRAM, 2'ND STRING
        should be:   DHRYSTONE PROGRAM, 2'ND STRING

Register option selected?  YES
Microseconds for one run through Dhrystone:     6.0
Dhrystones per Second:                        166997.3
VAX MIPS rating =     95.047


95.047!
Аж быстрее Сэма под RVCT вышло! sm.gif
Что-то уж очень эффективная оптимизация под драйстоун у ИАР...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 13 2011, 22:41
Сообщение #85


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Добавим энтропии в тему?

STM32F103VET6 Z, 72MHz, Flash, 2WS, RVCT 4.1 -O3 -Otime: 73.0 Dhrystone VAX MIPS
Memcpy 94.7 МБайт/с

То есть чуть быстрее SAM3, но при 2WS.


Ерунда, конечно, выходит из всех этих тестов: нужно смотреть на одном и том же коде и тулчейне. Да и тест сделать позаковыристее - картинку, например, в JPEG утоптать или что-нибудь еще в этом роде.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jun 14 2011, 10:35
Сообщение #86


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(sonycman @ Jun 14 2011, 02:29) *
95.047!
Аж быстрее Сэма под RVCT вышло! sm.gif

Ну вот, а то "тормоз", "тормоз" sm.gif

Вот что вышло у меня (arm-kgp-eabi-gcc, -O3):

Код
Microseconds for one run through Dhrystone:     8.0
Dhrystones per Second:                        125000.0
VAX MIPS rating =     71.144


---
Вот так точнее (было округление до секунд, сейчас до сотых):
Код
Microseconds for one run through Dhrystone:     8.8
Dhrystones per Second:                        114025.1
VAX MIPS rating =     64.898


Нормуль, я доволенsm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 14 2011, 12:53
Сообщение #87


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Скомпилил все ARM C/C++ Compiler, 4.1 [Build 713] [Standard]
armcc --thumb -O3 --cpu=Cortex-M3 --bss_threshold=0 --c99 --gnu --wchar16 --diag_error=Warning -g
результ еще хуже:
Код
Microseconds for one run through Dhrystone: 30
Dhrystones per Second:                      33333
VAX MIPS rating = 18.971


arm-kgp-eabi-gcc -Werror -Wall -Wextra -pipe -mcpu=cortex-m3 -mthumb -O2 -fomit-frame-pointer -ffreestanding -fno-common -fwide-exec-charset=UTF-16LE -fshort-wchar -g
Код
Microseconds for one run through Dhrystone: 19
Dhrystones per Second:                      52631
VAX MIPS rating = 29.955


где вы столько понабирали, или это connectivity line такая тормозная?

AHTOXA, можете выложить откомпиленные бинарки dhry21a.о,dhry21b.о или как там у вас? уж больно интересно стало...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 14 2011, 13:14
Сообщение #88


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



-Otime поставьте для RVCT.
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 14 2011, 13:21
Сообщение #89


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



спасибо,поставил.
Код
Microseconds for one run through Dhrystone: 20
Dhrystones per Second:                      50000
VAX MIPS rating = 28.457

чуть не дотянуло до gcc. хоть и код у rvct вроде красивее местами выглядит (gcc в упор не юзает ldm, загружает значения через ld, вместо movw/movt часто), но на gcc всеравно запахало чуть быстрее.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 14 2011, 13:28
Сообщение #90


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(AHTOXA @ Jun 14 2011, 14:35) *
Ну вот, а то "тормоз", "тормоз" sm.gif

Ну, думаю под ИАРом SAM3U покажет больше 100 мипсов, там в частоте только разница почти 50%.
Последний результат в 95 мипсов сильно удивил, честное слово sm.gif
Может, какая халтура там в коде?

Цитата
Вот так точнее (было округление до секунд, сейчас до сотых):

Хех, секунды, сотые - вот тут мои микросекундные таймеры рулят в полную laughing.gif

Цитата(brag @ Jun 14 2011, 17:21) *
VAX MIPS rating = 28.457[/code]

Честно говоря, странные результаты. Даже древний ИАР 5 версии выдаёт 50 мипсов...
Go to the top of the page
 
+Quote Post

9 страниц V  « < 4 5 6 7 8 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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