Ник:
Пароль:

Контакты

Cтатус Skype: starterkit.ru
тел.: (+7 3412) 478-448
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
E-mail: info@starterkit.ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
Производительность DDR оперативной памяти
Pavel Ivanchenko
Добавлено 24.09.2019 09:45 Редактировалось 24.09.2019 10:26
0
Сообщение: 1
Pavel Ivanchenko
Admin
4.45

Пункты: 81222
Регистрация: 24.03.2009
Пол: Мужчина
Озадачились сравнительным тестированием производительности DDR памяти на изделиях.
Тестировал утилитой mbw
SK-iMX8Mini (LPDDR4-3000 шина 32Бит): ~2000MiB (с подключенным HDMI ~1750MiB)
SK-iMX6S-SODIMM-Ind (DDR3-800 шина 32Бит): ~730MiB
SK-iMX6ULL-MOD (DDR3-800 шина 16Бит): ~430MiB

А вот SK-iMX6D-SODIMM (DDR3-1066 шина 32Бит) очень удивил результатом ~ 420MiB (видимо какие-то аппаратные корки память постоянно "терзают").

Еще испытал утилиту на PC виртуалке (DIMM DDR4-4800): 4500-7500MiB

Самостоятельно собрать утилиту в виртуалке можно так:
Код
git clone [url=https://github.com/raas/mbw.git]https://github.com/raas/mbw.git[/url]
cd mbw
/home/user/src/buildroot-XXXX.XX-sk/output/host/usr/bin/arm-linux-gnueabihf-gcc mbw.c -o mbw -O2
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 24.09.2019 10:35 Сообщение: 2
sasamy
4.84

Пункты: 54409
Регистрация: 14.08.2009
Цитата
Озадачились сравнительным тестированием производительности DDR памяти


это скорость копирования CPU а не производительность DDR

Цитата

SK-iMX6ULL-MOD (DDR3-800 шина 16Бит): ~430MiB

А вот SK-iMX6D-SODIMM (DDR3-1066 шина 32Бит) очень удивил результатом ~ 420MiB


тут хорошо видно как сказывается эррата ранних версий cortex-a9. На i.mx6q скорость будет скорей всего тоже меньше чем у imx6ull а там двухканальная память 64 бита. У SoC главное не CPU а всевозможные аппаратные ускорители - на imx6ull видео не накодируешь/
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 25.09.2019 10:04 Редактировалось 25.09.2019 10:58 Сообщение: 3
sasamy
4.84

Пункты: 54409
Регистрация: 14.08.2009
Вот результат для SK-IMX6Q (DDR3-1066 шина 64 бита)

Цитата

без HDMI

# mbw 300
AVG Method: MEMCPY Elapsed: 0.80807 MiB: 300.00000 Copy: 371.255 MiB/s
AVG Method: DUMB Elapsed: 0.81423 MiB: 300.00000 Copy: 368.445 MiB/s
AVG Method: MCBLOCK Elapsed: 0.80833 MiB: 300.00000 Copy: 371.135 MiB/s


с HDMI

# mbw 300
AVG Method: MEMCPY Elapsed: 0.80813 MiB: 300.00000 Copy: 371.226 MiB/s
AVG Method: DUMB Elapsed: 0.81422 MiB: 300.00000 Copy: 368.450 MiB/s
AVG Method: MCBLOCK Elapsed: 0.80844 MiB: 300.00000 Copy: 371.084 MiB/s

вся периферия и все ускорители в ядре отключены

# mbw 300
AVG Method: MEMCPY Elapsed: 0.78440 MiB: 300.00000 Copy: 382.457 MiB/s
AVG Method: DUMB Elapsed: 0.79693 MiB: 300.00000 Copy: 376.444 MiB/s
AVG Method: MCBLOCK Elapsed: 0.78475 MiB: 300.00000 Copy: 382.288 MiB/s


это даже не рядом с реальной пропускной способностью.

Цитата

As for "Theoretical memory bandwidth:

DDR3 1066 x 64 bits = > 1066*8 = 8528 MB/s".

Such calculations, assuming that data are provided at every clock edge, are very "theoretical" :-).
Real DDR data access burst needs some preparation stage : bus arbitration, RAS phase, CAS phase,
CAS Latency and only after that we can get data at every clock edge. So, let's divide 8528 MB/s by 2.


https://community.nxp.com/thread/309197

Для imx8 можно оценить пропускную способность

SK-iMX8Mini (LPDDR4-3000 шина 32Бит)

3000 х 32Бит => 3000 x 4 = 12 000 MB/s

с учетом накладных расходов: 6 000 MB/s

Для i.mx6 есть профилировщик памяти

https://support.criticallink.com/redmine/projects/imx6/wiki/DDR_Memory_Bandwidth


1080p video playback (1920x1080@60 Output)

Read: 1302.90 MB/s / Write: 715.40 MB/s Total: 2018.30 MB/s
Utilization: 29%
Bus Load: 85%


У i.mx8 другой контроллер памяти - для него я подобной утилиты не нашел
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux