Jump to content

    
GenaSPB

STM32MP1 - bare metal

Recommended Posts

STM32H743

cplxmla @00000DED, src @24010E00, dst @24000E00. refv @20004220, CPU_FREQ=384 MHz

Тестовый выход - 969 Hz

 

Это самое большое, что удалось получить, комбинируя разное расположение массивов.

Как ни странно, помещение кода cplxmla  в ITCM видимых результатов не дало (заперт инлайна для неё сделан).

Edited by GenaSPB

Share this post


Link to post
Share on other sites

Renesas RZA1L Cortex-A9 @360 MHz w/o NEON

cplxmla @200702D8, src @20132C00, dst @20122C00. refv @200AA7C0, CPU_FREQ=360 MHz

Тестовый выход -  791 Hz

Renesas RZA1L Cortex-A9 @360 MHz with NEON

cplxmla @2008E68C, src @20117B00, dst @20107B00. refv @200C4300, CPU_FREQ=360 MHz

Тестовый выход -  673 Hz

Хреновато...

Edited by GenaSPB

Share this post


Link to post
Share on other sites
4 часа назад, GenaSPB сказал:

STM32H743

cplxmla @00000DED, src @24010E00, dst @24000E00. refv @20004220, CPU_FREQ=384 MHz

Тестовый выход - 969 Hz

 

2 часа назад, GenaSPB сказал:

Renesas RZA1L Cortex-A9 @360 MHz w/o NEON

cplxmla @200702D8, src @20132C00, dst @20122C00. refv @200AA7C0, CPU_FREQ=360 MHz

Тестовый выход -  791 Hz

Как бы что и требовалось доказать... Никаких 5и кратных результатов и не видно, почти равные параметры, при учете того, что архитектура М7 гораздо новее, чем А9...

Share this post


Link to post
Share on other sites

Тут везде сравнивается floating point производительность. Мои оценки относятся к integer вычислениям.
Кстати, нет мыслей что с А9-м ?

Share this post


Link to post
Share on other sites

В процессе унификации стартапа инициализация L2_Cache контроллера PL310 на Renesas RZA1L была забыта.

Вернул - имеем 813 герц

Share this post


Link to post
Share on other sites
10 часов назад, GenaSPB сказал:

Кстати, нет мыслей что с А9-м ?

А что с ним не так?

7 часов назад, GenaSPB сказал:

В процессе унификации стартапа инициализация L2_Cache контроллера PL310 на Renesas RZA1L была забыта.

Вернул - имеем 813 герц

У меня с imx6 кэш l2 тоже давала очень небольшой прирост, хотя она в нем аж 512 кбайт, т.е. по логике, вся моя система туда умещалась...

ЗЫ. Кстати, как нагрев проца при полной загрузке и выводе на дисплей? Хочу сравнить с аллвиннером и имх...

Edited by mantech

Share this post


Link to post
Share on other sites

Не так - понижение производительности под neon. И вообще отсутствие отличий в тесте от h7. Или тест такой специфический?

Тестировал кстати, без обслуживания дисплея.

В работе с дисплеем не греется совсем. Скажем так, нагрев не выражен. У меня еще из-за особенностей его pll частота 360 а не 400.

Еще.  Работа с дисплеем 7 дюймов 800*480 на внутренней памяти h7 не получается вместе с dsp частью. Объем. На внешней тормоза такие, что в паре конструкций такого назначения авторы ставят по два процессора h7.  Renesas справляется из внутренней памяти без заметной потери производительности.

Edited by GenaSPB

Share this post


Link to post
Share on other sites

Тест на STM32MP157AAB3 @648 MHz, DDR3 @528 MHz w/o NEON

cplxmla @C00343D0, src @C01F6080, dst @C01E6080. refv @C0062D80, CPU_FREQ=648 MHz

Тестовый выход -  1715 Hz

Тест на STM32MP157AAB3 @648 MHz, DDR3 @528 MHz with NEON

cplxmla @C0041568, src @C02035C0, dst @C01F35C0. refv @C0070300, CPU_FREQ=648 MHz

Тестовый выход -  2396 Hz

т.е., разницы с исполнением из SYSRAM нету.

Edited by GenaSPB

Share this post


Link to post
Share on other sites
6 hours ago, mantech said:

У меня с imx6 кэш l2 тоже давала очень небольшой прирост, хотя она в нем аж 512 кбайт, т.е. по логике, вся моя система туда умещалась...

Нужно смотреть на организацию кэша и подсистему памяти в целом. Даже в случае ассоциативности она работает только внутри индекса (исключение - полная ассоциативность, что для L2 нереально на сегодняшний день). Да и строение TLB стоит учитывать.

Share this post


Link to post
Share on other sites

Как предлагается учитывать? В нашей тестовой программе. Без dma. Просто включили l2 cache.   Какие параметры этого устройства можно покрутить?

Share this post


Link to post
Share on other sites
8 minutes ago, GenaSPB said:

Просто включили l2 cache.

Этого мало.
 

8 minutes ago, GenaSPB said:

Какие параметры этого устройства можно покрутить?

Это зависит от конкретного устройства (cache arch, TLB, SDRAM controller), от подключенной динамической памяти и от менеджера памяти (отображение физической памяти на виртуальную). Также неплохо было бы посмотреть на саму тестовую программу. Вообще все эи тестовые программы без адаптации к конкретной платформе - сравнивание тёплого с мягким.

А что за тестовая программа? Какая-то стандартная или самописная?

Share this post


Link to post
Share on other sites

Контроллер pl310 от ARM. Программа парой страниц ранее была.

отображение физической памяти на виртуальную - один в один.

Edited by GenaSPB

Share this post


Link to post
Share on other sites
4 hours ago, GenaSPB said:

Программа парой страниц ранее была.

Ага, спасибо.

4 hours ago, GenaSPB said:

Контроллер pl310 от ARM

Я в январе буду заниматься оптимизацией RTOS с Linux под гипервизором на ARM. Сегодня посмотрю на target, если там тот же контроллер, то посмотрю его и тогда отпишусь.

4 hours ago, GenaSPB said:

отображение физической памяти на виртуальную - один в один.

Уточняющий вопрос: у Вас таблицы трансляции сделаны один в один? Можете скинуть таблицы на всякий случай?

Edited by andrey_p

Share this post


Link to post
Share on other sites

Вот тут для  мегабайтных страниц атрибуты получаю. При заполнении 16-ти килобайтной ttb просто цикл на 4096 итераций.

https://github.com/ua1arn/hftrx/blob/7bdafa78d9d5c86c7cf3d3d13a19bd81ec238874/hardware.c#L10944

Память кешируется. Периферия нет, с сохранением порядка обращений. Два значения атрибутов для простоты. Задача из любого навороченного процессора сделать I8080 по простоте использования.

Edited by GenaSPB

Share this post


Link to post
Share on other sites
On 12/21/2019 at 6:29 PM, GenaSPB said:

STM32H743

cplxmla @00000DED, src @24010E00, dst @24000E00. refv @20004220, CPU_FREQ=384 MHz

Тестовый выход - 969 Hz

 

Это самое большое, что удалось получить, комбинируя разное расположение массивов.

Как ни странно, помещение кода cplxmla  в ITCM видимых результатов не дало (заперт инлайна для неё сделан).

Что-то очень медленно у вас для Н серии. (И очень уж быстро для STM по сравнению с ам3352 А8).  И с неоном непонятки. Надо бы вернутся к этому вопросу и понять причину расхождений с моими тестами. Кстати iMX8 A53 дает всего лишь 3 кГц @1.5 ГГц

А почему вы СТМ на 480 мгц не пускаете?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.