Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    D1-H内存访问速度差异测试

    MR Series
    2
    5
    1833
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      ssfx77 LV 2 last edited by

      测试现象:D1-H内存访问速度与特定的地址位相关
      测试流程:连续访问a、b两个地址(访问之后清cache,保证访问到DRAM),统计平均的访问时间
      测试结果一共有如下几种情况:

      • 若两个地址4,5位都为00 且 两个地址6,7,8,9,10,11位不同,内存访问时间为304个周期

      • 若两个地址4,5位都为00 且 两个地址6,7,8,9,10,11位相同,内存访问时间为305~307个周期

      • 若只有一个地址4,5位为00 且 两个地址6,7,8,9,10,11位不同,内存访问时间为310个周期

      • 若只有一个地址4,5位为00 且 两个地址6,7,8,9,10,11位相同,内存访问时间为314个周期

      • 若两个地址4,5位都不为00 且 两个地址6,7,8,9,10,11位不同,内存访问时间为317个周期

      • 若两个地址4,5位都不为00 且 两个地址6,7,8,9,10,11位相同,内存访问时间为321个周期

      总结:

      • 地址位4,5位为0的情况下,内存访问速度会稍快

      • 若两个地址的6,7,8,9,10,11地址位相同会导致内存访问速度变慢

      问题:

      • 造成以上现象的原因是什么呢?

      • 6,7,8,9,10,11地址位相同造成内存访问速度变慢可能是row conflict现象吗?但通常来说地址低位不太可能是bank位

      • CPU超频之后,内存测试的周期数没有变化,D1的内存访问时间有没有优化空间?

      • D1-H的物理地址到DRAM row、bank、column的映射方式有大佬了解吗?可否告知一下

      新人初次发帖,希望有大佬能帮助解答一下

      1 Reply Last reply Reply Quote Share 0
      • aozima
        aozima LV 7 last edited by

        虽然你访问完就刷cache,但实际CPU操作的还是cache中的,结果有参考意义,但不准确。除非你裸机映射成非cache的,但这样没什么实际意义。

        实际使用中,数据结构和地址多留意尽量对齐,大数据量尽量cache line对齐就行了。

        S 1 Reply Last reply Reply Quote Share 0
        • S
          ssfx77 LV 2 @aozima last edited by

          @aozima 在 D1-H内存访问速度差异测试 中说:

          虽然你访问完就刷cache,但实际CPU操作的还是cache中的,结果有参考意义,但不准确。除非你裸机映射成非cache的,但这样没什么实际意义。

          实际使用中,数据结构和地址多留意尽量对齐,大数据量尽量cache line对齐就行了。

          为什么说Cache刷完后还是操作的Cache中的呢?300+个周期不可能还是操作的Cache吧

          1 Reply Last reply Reply Quote Share 0
          • aozima
            aozima LV 7 last edited by

            抱歉,我理解成写入操作了。

            只读取的话,清cache后确实真实地从DRAM中读取。
            但此时CPU实际可能会从DRAM读取64字节的数据吧,因为cache line是64字节。

            S 1 Reply Last reply Reply Quote Share 0
            • S
              ssfx77 LV 2 @aozima last edited by

              @aozima 在 D1-H内存访问速度差异测试 中说:

              抱歉,我理解成写入操作了。

              只读取的话,清cache后确实真实地从DRAM中读取。
              但此时CPU实际可能会从DRAM读取64字节的数据吧,因为cache line是64字节。

              是的 但我随机取的地址,很小概率在同一个cache line里。
              映射到非cache大佬能细讲一下吗?我了解到这个好像跟PMA有关,是在芯片设计时就固化的,不知道D1上是否可以配置,划分出一块uncached的内存呢

              1 Reply Last reply Reply Quote Share 0
              • Referenced by  Z zhaodongyu 
              • 1 / 1
              • First post
                Last post

              Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

              行为准则 | 用户协议 | 隐私权政策