1. 13 11月, 2021 1 次提交
    • L
      bpu: fix folded history bugs · b9e1a5f8
      Lingrui98 提交于
      * fix a bug of wrongly discarding some new bits to be xored
      * ghr should be longer in default config to avoid falsely overriding
      * move TageBanks to top, and fix SC folded history config
      b9e1a5f8
  2. 12 11月, 2021 6 次提交
  3. 11 11月, 2021 5 次提交
  4. 10 11月, 2021 2 次提交
  5. 09 11月, 2021 5 次提交
  6. 07 11月, 2021 1 次提交
  7. 05 11月, 2021 2 次提交
  8. 04 11月, 2021 4 次提交
    • S
      Merge pull request #1198 from OpenXiangShan/fix-crossline-falsehit · 855327c3
      Steve Gou 提交于
      PreDecode: fix cross-line false hit condition
      855327c3
    • S
      Merge pull request #1191 from OpenXiangShan/JWrong-bug-fix · 3d9bf28b
      Steve Gou 提交于
      Predecode: Fixed the bug that Predecode did not compare jal offset wh…
      3d9bf28b
    • W
      Optimize dcache timing (#1195) · 300ded30
      William Wang 提交于
      * dcache: do not check readline rmask
      
      This should opt bank_conflict check timing
      
      * dcache: block replace if store s1 valid
      
      It takes quite long to generate way_en in mainpipe s1. As a result,
      use s1 way_en to judge if replace should be blocked will cause severe
      timing problem
      
      Now we simply block replace if mainpipe.s1.valid
      
      Refill timing to be optmized later
      
      * sbuffer: delay sbuffer enqueue for 1 cycle
      
      With store queue growing larger, read data from datamodule nearly
      costs a whole cycle. Hence we delay sbuffer enqueue for 1 cycle
      for better timing.
      
      * dcache: reduce probe queue size
      
      * dcache: replace probe pipe req RRArbiter with Arbiter
      
      * dcache: reduce writeback queue size for timing opt
      
      * dcache: delay wbqueue enqueue req for 1 cycle
      
      Addr enqueue req will compare its addr with addrs in all writeback
      entries to check if it should be blocked. Delay enqueue req will
      give that process more time.
      
      * dcache: set default replacer to setplru
      
      It does not change current design
      
      * dcache: fix wbqueue req_delayed deadlock
      
      We delayed writeback queue enq for 1 cycle, missQ req does not
      depend on wbQ enqueue. As a result, missQ req may be blocked
      in req_delayed. When grant comes, that req should also be updated
      
      * dcache: remove outdated require
      
      * dcache: replace missReqArb RRArbiter with Arbiter
      
      * perf: add detailed histogram for low dcache latency
      
      * dcache: fix wbqueue entry alloc logic
      
      * dcache: opt probe req timing
      
      In current design, resv_set is maintained in dcache. All probe req
      will be blocked if that addr is in resv_set.
      
      However, checking if that addr is in resv_set costs almost half a cycle,
      which causes severe timing problem.
      
      Now when we update update_resv_set, all probe reqs will be blocked
      in the next cycle. It should give Probe reservation set addr compare an
      independent cycle, which will lead to better timing
      300ded30
    • J
      PreDecode: fix cross-line false hit condition · 91d4493c
      JinYue 提交于
      91d4493c
  9. 02 11月, 2021 2 次提交
  10. 01 11月, 2021 3 次提交
  11. 30 10月, 2021 2 次提交
  12. 29 10月, 2021 5 次提交
  13. 28 10月, 2021 1 次提交
  14. 27 10月, 2021 1 次提交