导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页
    1. 主页
    2. ssfx77
    3. 帖子
    S
    • 资料
    • 关注 0
    • 粉丝 0
    • 我的积分 143
    • 主题 2
    • 帖子 4
    • 最佳 0
    • 群组 0

    ssfx77 发布的帖子

    • 回复: D1-H内存访问速度差异测试

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

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

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

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

      发布在 MR Series
      S
      ssfx77
    • 回复: D1-H内存访问速度差异测试

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

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

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

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

      发布在 MR Series
      S
      ssfx77
    • D1-H内存访问速度差异测试

      测试现象: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的映射方式有大佬了解吗?可否告知一下

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

      发布在 MR Series
      S
      ssfx77
    • 1 / 1