Project

General

Profile

DDR Memory Bandwidth

Introduction

This wiki page summarizes the results of memory bandwidth usage measurements for the MitySOM-iMX6.

Freescale Profiling tool

The profiling tool (based on software originally provided by Freescale/NXP) used to conduct these tests, is available in a git repository. Once compiled for the i.MX6 processor, the following line was used to run the profiling tool on the target device.

MMDC_LOOPCOUNT=1 ./mmdc_profile

where the argument MMDC_LOOPCOUNT controls the number of iterations that are performed.

Results

The SMARC Development Board was connected to a 1080p monitor via HDMI. Within U-Boot the output resolution was changed to two different values for testing, 1280x720@60 and 1920x1080@60.

Summary of Results

  • When idle, 1920x1080@60 output has 2.25x (475.06/211.5) the memory throughput of the 1280x720@60 output.
  • While playing back the 1080p video in the two outputs, the 1920x1080@60 output has 1.60x (2018.3/1258.47) the memory throughput of the 1280x720@60 output.
  • Comparing the two video qualities both played on the 1920x1080@60 output, the 1080p video has 1.39x the memory throughput of the 720p video.

Total memory throughput, where the output is the video output settings from U-Boot.

1920x1080@60 Output 1280x720@60 Output
Idle 475.06 MB/s 211.50 MB/s
720p video playback 1456.47 MB/s 640.16 MB/s
1080p video playback 2018.30 MB/s 1258.47 MB/s

Results for Idle Testing

  • For 1920x1080@60 display
    MMDC new Profiling results:
    ***********************
    Measure time: 1000ms 
    Total cycles count: 528094008
    Busy cycles count: 165947593
    Read accesses count: 7788358
    Write accesses count: 2086
    Read bytes count: 498075544
    Write bytes count: 63856
    Avg. Read burst size: 63
    Avg. Write burst size: 30
    Read: 475.00 MB/s /  Write: 0.06 MB/s  Total: 475.06 MB/s 
    Utilization: 18%
    Bus Load: 31%
    Bytes Access: 63
    
  • For 1280x720@60 display
    MMDC new Profiling results:
    ***********************
    Measure time: 1000ms 
    Total cycles count: 528094072
    Busy cycles count: 87463770
    Read accesses count: 3472339
    Write accesses count: 3454
    Read bytes count: 221670378
    Write bytes count: 101112
    Avg. Read burst size: 63
    Avg. Write burst size: 29
    Read: 211.40 MB/s /  Write: 0.10 MB/s  Total: 211.50 MB/s 
    Utilization: 15%
    Bus Load: 16%
    Bytes Access: 63
    

Results during video playback

Two video files of Big Buck Bunny were used for testing the video playback performance, one 720p the other 1080p. Both were tested with the output resolutions set to 1280x720@60 and 1920x1080@60, resulting in 4 total tests.

md5sum Filename Quality Source
54673faa68059667f58edb0f96a70d9d BigBuckBunny_512kb.mp4 720p https://archive.org/download/BigBuckBunny_328/BigBuckBunny_512kb.mp4
f6966535944c9b0170d85e29a42e0997 BigBuckBunny-DivXPlusHD.mkv 1080p http://www.divx.com/en/big-buck-bunny
  • 1080p Output playing 1080p video
    ***********************
    Measure time: 1001ms 
    Total cycles count: 528070784
    Busy cycles count: 450213356
    Read accesses count: 30939416
    Write accesses count: 13677743
    Read bytes count: 1367557202
    Write bytes count: 750902728
    Avg. Read burst size: 44
    Avg. Write burst size: 54
    Read: 1302.90 MB/s /  Write: 715.40 MB/s  Total: 2018.30 MB/s 
    Utilization: 29%
    Bus Load: 85%
    Bytes Access: 47
    
  • 1080p Output playing 720p video
    MMDC new Profiling results:
    ***********************
    Measure time: 1000ms 
    Total cycles count: 528069872
    Busy cycles count: 312113173
    Read accesses count: 16109126
    Write accesses count: 9456761
    Read bytes count: 940488994
    Write bytes count: 586733872
    Avg. Read burst size: 58
    Avg. Write burst size: 62
    Read: 896.92 MB/s /  Write: 559.55 MB/s  Total: 1456.47 MB/s 
    Utilization: 30%
    Bus Load: 59%
    Bytes Access: 59
    
  • 720p Output playing 1080p video
    MMDC new Profiling results:
    ***********************
    Measure time: 1000ms 
    Total cycles count: 528066072
    Busy cycles count: 348638608
    Read accesses count: 23259473
    Write accesses count: 8661722
    Read bytes count: 891707804
    Write bytes count: 427897728
    Avg. Read burst size: 38
    Avg. Write burst size: 49
    Read: 850.40 MB/s /  Write: 408.08 MB/s  Total: 1258.47 MB/s 
    Utilization: 23%
    Bus Load: 66%
    Bytes Access: 41
    
  • 720p Output playing 720p video
    MMDC new Profiling results:
    ***********************
    Measure time: 1000ms 
    Total cycles count: 528074112
    Busy cycles count: 167453726
    Read accesses count: 7638605
    Write accesses count: 4100168
    Read bytes count: 425207622
    Write bytes count: 246045024
    Avg. Read burst size: 55
    Avg. Write burst size: 60
    Read: 405.51 MB/s /  Write: 234.65 MB/s  Total: 640.16 MB/s 
    Utilization: 25%
    Bus Load: 31%
    Bytes Access: 57
    

Go to top
Add picture from clipboard (Maximum size: 600 MB)