README.440-DDR-performance 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. AMCC suggested to set the PMU bit to 0 for best performace on the
  2. PPC440 DDR controller. The 440er common DDR setup files (sdram.c &
  3. spd_sdram.c) are changed accordingly. So all 440er boards using
  4. these setup routines will automatically receive this performance
  5. increase.
  6. Please see below some benchmarks done by AMCC to demonstrate this
  7. performance changes:
  8. ----------------------------------------
  9. SDRAM0_CFG0[PMU] = 1 (U-Boot default for Bamboo, Yosemite and Yellowstone)
  10. ----------------------------------------
  11. Stream benchmark results
  12. -------------------------------------------------------------
  13. This system uses 8 bytes per DOUBLE PRECISION word.
  14. -------------------------------------------------------------
  15. Array size = 2000000, Offset = 0
  16. Total memory required = 45.8 MB.
  17. Each test is run 10 times, but only
  18. the *best* time for each is used.
  19. -------------------------------------------------------------
  20. Your clock granularity/precision appears to be 1 microseconds.
  21. Each test below will take on the order of 112345 microseconds.
  22. (= 112345 clock ticks)
  23. Increase the size of the arrays if this shows that you are not getting
  24. at least 20 clock ticks per test.
  25. -------------------------------------------------------------
  26. WARNING -- The above is only a rough guideline.
  27. For best results, please be sure you know the precision of your system
  28. timer.
  29. -------------------------------------------------------------
  30. Function Rate (MB/s) RMS time Min time Max time
  31. Copy: 256.7683 0.1248 0.1246 0.1250
  32. Scale: 246.0157 0.1302 0.1301 0.1302
  33. Add: 255.0316 0.1883 0.1882 0.1885
  34. Triad: 253.1245 0.1897 0.1896 0.1899
  35. TTCP Benchmark Results
  36. ttcp-t: socket
  37. ttcp-t: connect
  38. ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5000 tcp ->
  39. localhost
  40. ttcp-t: 16777216 bytes in 0.28 real seconds = 454.29 Mbit/sec +++
  41. ttcp-t: 2048 I/O calls, msec/call = 0.14, calls/sec = 7268.57
  42. ttcp-t: 0.0user 0.1sys 0:00real 60% 0i+0d 0maxrss 0+2pf 3+1506csw
  43. ----------------------------------------
  44. SDRAM0_CFG0[PMU] = 0 (Suggested modification)
  45. Setting PMU = 0 provides a noticeable performance improvement *2% to
  46. 5% improvement in memory performance.
  47. *Improves the Mbit/sec for TTCP benchmark by almost 76%.
  48. ----------------------------------------
  49. Stream benchmark results
  50. -------------------------------------------------------------
  51. This system uses 8 bytes per DOUBLE PRECISION word.
  52. -------------------------------------------------------------
  53. Array size = 2000000, Offset = 0
  54. Total memory required = 45.8 MB.
  55. Each test is run 10 times, but only
  56. the *best* time for each is used.
  57. -------------------------------------------------------------
  58. Your clock granularity/precision appears to be 1 microseconds.
  59. Each test below will take on the order of 120066 microseconds.
  60. (= 120066 clock ticks)
  61. Increase the size of the arrays if this shows that you are not getting
  62. at least 20 clock ticks per test.
  63. -------------------------------------------------------------
  64. WARNING -- The above is only a rough guideline.
  65. For best results, please be sure you know the precision of your system
  66. timer.
  67. -------------------------------------------------------------
  68. Function Rate (MB/s) RMS time Min time Max time
  69. Copy: 262.5167 0.1221 0.1219 0.1223
  70. Scale: 258.4856 0.1238 0.1238 0.1240
  71. Add: 262.5404 0.1829 0.1828 0.1831
  72. Triad: 266.8594 0.1800 0.1799 0.1802
  73. TTCP Benchmark Results
  74. ttcp-t: socket
  75. ttcp-t: connect
  76. ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5000 tcp ->
  77. localhost
  78. ttcp-t: 16777216 bytes in 0.16 real seconds = 804.06 Mbit/sec +++
  79. ttcp-t: 2048 I/O calls, msec/call = 0.08, calls/sec = 12864.89
  80. ttcp-t: 0.0user 0.0sys 0:00real 46% 0i+0d 0maxrss 0+2pf 120+1csw
  81. 2006-07-28, Stefan Roese <sr@denx.de>