You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

preload-practice.zh.md 1.1 kB

1234567891011121314151617181920212223242526272829
  1. ## 只是实践经验,没有理论,不一定正确
  2. ```
  3. prfm pldl1keep, [x0, #256]
  4. ```
  5. * 放在 ld1 [x0] 前面 0~8 条指令
  6. * #256 表示把 x0+256 的内容放进 L1 cache
  7. * ldp 也适用
  8. * (经验)不写 offset 不如写个 #128
  9. * (经验)pldl1strm 似乎没啥意思,也没 pldl1keep 快
  10. * (经验)x0 ~ x0+256 的内容也会进来
  11. * (经验)load 128bit 用 #128,256bit或更多用 #256
  12. * (经验)避免 pld a,pld b,load a,load b 顺序,可能相互干扰
  13. * (经验)提前太多会失效
  14. * (经验)适合连续读
  15. ```
  16. prfm pldl2strm, [x0, #256]
  17. ```
  18. * 放在 ld1 [x0] 前面 N 条指令,N 尽量大些
  19. * #256 表示把 x0+256 的内容放进 L2 cache
  20. * ldp 也适用
  21. * (经验)不写 offset 不如写个 #128
  22. * (经验)pldl2strm 效果稍好于 pldl2keep
  23. * (经验)x0 ~ x0+256 的内容也会进来
  24. * (经验)load 128bit 用 #128,256bit 用 #256
  25. * (经验)读很多数据,用不同 offset 连续两次 pldl2strm
  26. * (经验)后面不要对同位置再 pldl1keep,会变慢
  27. * (经验)适合提前准备要跳到很远的地方读,比如换 channel