1. 01 4月, 2022 2 次提交
    • L
      l2tlb.cache: store invalid entries(only super entries) into sp to avoid mem access waste (#1518) · 8d8ac704
      Lemover 提交于
      Corner Case that makes l2tlb's performance decrease sharply:
      core may have mis-speculative memory access, which may cause tlb-miss and ptw req to l2tlb.
      In l2tlb, the reqs may still miss and even have invalid pte that won't be stored in l2tlb.cache.
      If the relative ptes are invalid, these reqs will be held by miss queue and wait for page walker performing
      page table walk one by one. It's too slow and will raise time out assert in l2tlb.missqueue.
      
      Solution:
      store invalid entries(only super entries) into sp.
      Bad news is that sp only has16 entries, so invaid entries will pollute sp as well.
      Good news is that the invalid reqs are always in same super page, so only one entries is mostly enough.
      
      * l2tlb.cache: sp entries now handles invalid entries
      
      * l2tlb.cache: fix syntax error, forgot assgin some signals
      8d8ac704
    • J
      Merge pull request #1517 from OpenXiangShan/circt-support · 128703a2
      Jiawei Lin 提交于
      Add support for compiling XiangShan with CIRCT
      128703a2
  2. 31 3月, 2022 3 次提交
  3. 30 3月, 2022 1 次提交
  4. 28 3月, 2022 2 次提交
  5. 27 3月, 2022 3 次提交
  6. 26 3月, 2022 1 次提交
  7. 23 3月, 2022 2 次提交
  8. 22 3月, 2022 1 次提交
  9. 15 3月, 2022 1 次提交
  10. 06 3月, 2022 1 次提交
  11. 28 2月, 2022 3 次提交
  12. 25 2月, 2022 1 次提交
  13. 24 2月, 2022 2 次提交
  14. 18 2月, 2022 3 次提交
  15. 16 2月, 2022 2 次提交
    • J
      b127c1ed
    • W
      mem: opt tag error exception writeback logic (#1464) · a9a812d4
      William Wang 提交于
      * mem: opt dcache tag error check timing
      
      dcache.resp.bits.miss used to depend on tag_error, it causes severe
      timing problem. That dependence is now removed.
      
      Now when tag_error, we:
      
      * Set access fault bit in exception vec
      * Do not update miss queue. That is to say, if miss, that inst
      may not be refilled
      * Mark that inst as dataForwarded so it will not wait for refill
      * Report error to CSR and BEU
      
      If tag_error come with a miss, writeback taht inst from load
      queue. Otherwise, writeback it from load pipeline.
      
      * mem: opt tag error exception writeback logic
      a9a812d4
  16. 14 2月, 2022 1 次提交
  17. 13 2月, 2022 3 次提交
    • W
      mem: opt dcache tag error check timing (#1461) · a469aa4b
      William Wang 提交于
      dcache.resp.bits.miss used to depend on tag_error, it causes severe
      timing problem. That dependence is now removed.
      
      Now when tag_error, we:
      
      * Set access fault bit in exception vec
      * Do not update miss queue. That is to say, if miss, that inst
      may not be refilled
      * Mark that inst as dataForwarded so it will not wait for refill
      * Report error to CSR and BEU
      
      If tag_error come with a miss, writeback taht inst from load
      queue. Otherwise, writeback it from load pipeline.
      a469aa4b
    • J
      ITLB <timing>: delay miss and flush req for ITLB (#1457) · 91df15e5
      Jay 提交于
      * ITLB <timing>: delay miss and flush req for ITLB
      
      * add 2 ILTB requestor and delete tlb_arb
      
      * Bump huancun
      
      * ICacheMainPipe <bug-fix>: fix slot invalid condition
      
      * ITLB <timing>: add port to 6
      
      * ICacheMainPipe <bug-fix>: stop pipe when tlb miss
      
      * ICacheMainPipe <bug-fix>: fix illegal flush
      Co-authored-by: NLinJiawei <linjiawei20s@ict.ac.cn>
      91df15e5
    • W
      mem: fix ldld vio check implementation (#1456) · ef3b5b96
      William Wang 提交于
      * mem: fix ldld vio mask gen logic
      
      * mem: fix lq released flag update logic
      
      Make sure that every load before a probe has correct released flag
      
      See the PR of this commit for illustration
      
      * mem: fix ld-ld violation check logic
      
      * ci: clean up workspace before do real test
      
      * mem: reduce lq released flag update delay for 1 cycle
      
      * chore: bump difftest to run no-smp diff
      
      * ci: add mc test
      
      * mem: fix lq released flag update logic
      
      * chore: set difftest firstCommit_limit to 10000
      
      * ci: use dual-nemu-so for mc test
      ef3b5b96
  18. 12 2月, 2022 1 次提交
  19. 08 2月, 2022 2 次提交
  20. 03 2月, 2022 1 次提交
  21. 01 2月, 2022 3 次提交
  22. 28 1月, 2022 1 次提交