Hello everyone,
I'm currently in the process of evaluating the theoretical and maximal DDR bandwidth of the i.MX 8M Plus processor. My setup is the IMX8MP-EVK evaluation board, running a Yocto Linux with kernel 6.1.55.
The board is equipped with 6GB of LPDDR4, the DDR core clock is set to 1GHz. In my understanding, the actual clock of the DDR is doubled (=2GHz), which leads to a theoretical data rate of 4000MT/s. With the 32-bit memory interface, this leads to a theoretical bandwidth of 4000MT/s * 4B = 16 GB/s.
When it comes to the practical bandwidth, I read that the real bandwidth is only half of this value. To get some real numbers, I used perf stat and some integrated metrics (imx8mp_ddr_read.all,imx8mp_ddr_write.all) to obtain the following results while running a stresstest with bandwidth64:
I have the following questions:
Best regards
Markus
Solved! Go to Solution.
Hello,
You may use Perf tool for the test.
Cycle events is not recommended to use in 8MP and we use axid events instead. But we still use the metric feature to do the test, which will call the axid events internally.
perf list metric
The supported metric feature is imx8mp-lpddr4-bandwidth-usage.
perf stat -a -I 1000 -M imx8mp-lpddr4-bandwidth-usage
Best regards/Saludos,
Aldo.
Hi Aldo,,
thanks for your response. Maybe I didn't make myself clear in the previous post. I already used perf stat with axid events and the integrated metrics to obtain the graph.
In specific, I used the following command:
perf stat -I 1000 -a \
-e imx8_ddr0/axid-read,axi_mask=0xffff/,imx8_ddr0/axid-write,axi_mask=0xffff/ \
-M imx8mp_ddr_read.all,imx8mp_ddr_write.all
perf stat -I 1000 -a -M imx8mp_bandwidth_usage.lpddr4