1. 05 2月, 2023 1 次提交
  2. 04 2月, 2023 1 次提交
  3. 19 1月, 2023 1 次提交
  4. 18 1月, 2023 1 次提交
  5. 16 1月, 2023 1 次提交
  6. 12 1月, 2023 1 次提交
  7. 11 1月, 2023 2 次提交
  8. 04 1月, 2023 1 次提交
    • Maxpicca's avatar
      dcache: setup way predictor framework (#1857) · 144422dc
      Maxpicca 提交于
      This commit sets up a basic dcache way predictor framework and a dummy predictor.
      A Way Predictor Unit (WPU) module has been added to dcache. Dcache data SRAMs
      have been reorganized for that. 
      
      The dummy predictor is disabled by default. 
      
      Besides, dcache bank conflict check has been optimized. It may cause timing problems,
      to be fixed in the future.
      
      * ideal wpu
      
      * BankedDataArray: change architecture to reduce bank_conflict
      
      * BankedDataArray: add db analysis
      
      * Merge: the rest
      
      * BankedDataArray: change the logic of rrl_bank_conflict, but let the number of rw_bank_conflict up
      
      * Load Logic: changed to be as expected
      
      reading data will be delayed by one cycle to make selection
      writing data will be also delayed by one cycle to do write operation
      
      * fix: ecc check error
      
      * update the gitignore
      
      * WPU: add regular wpu and change the replay mechanism
      
      * WPU: fix refill fail bug, but a new addiw fail bug appears
      
      * WPU: temporarily turn off to PR
      
      * WPU: tfix all bug
      
      * loadqueue: fix the initialization of replayCarry
      
      * bankeddataarray: fix the bug
      
      * DCacheWrapper: fix bug
      
      * ready-to-run: correct the version
      
      * WayPredictor: comments clean
      
      * BankedDataArray: fix ecc_bank bug
      
      * Parameter: set the enable signal of wpu
      144422dc
  9. 03 1月, 2023 1 次提交
  10. 02 1月, 2023 3 次提交
  11. 28 12月, 2022 1 次提交
    • H
      lq: Remove LQ data (#1862) · 683c1411
      happy-lx 提交于
      This PR remove data in lq.
      
      All cache miss load instructions will be replayed by lq, and the forward path to the D channel
      and mshr is added to the pipeline.
      Special treatment is made for uncache load. The data is no longer stored in the datamodule
      but stored in a separate register. ldout is only used as uncache writeback, and only ldout0
      will be used. Adjust the priority so that the replayed instruction has the highest priority in S0.
      
      Future work:
      1. fix `milc` perf loss
      2. remove data from MSHRs
      
      * difftest: monitor cache miss latency
      
      * lq, ldu, dcache: remove lq's data
      
      * lq's data is no longer used
      * replay cache miss load from lq (use counter to delay)
      * if dcache's mshr gets refill data, wake up lq's missed load
      * uncache load will writeback to ldu using ldout_0
      * ldout_1 is no longer used
      
      * lq, ldu: add forward port
      
      * forward D and mshr in load S1, get result in S2
      * remove useless code logic in loadQueueData
      
      * misc: revert monitor
      683c1411
  12. 25 12月, 2022 1 次提交
  13. 21 12月, 2022 2 次提交
  14. 15 12月, 2022 1 次提交
  15. 11 12月, 2022 1 次提交
  16. 08 12月, 2022 1 次提交
  17. 07 12月, 2022 1 次提交
    • S
      Uncache: optimize write operation (#1844) · 37225120
      sfencevma 提交于
      This commit adds an uncache write buffer to accelerate uncache write
      
      For uncacheable address range, now we use atomic bit in PMA to indicate
      uncache write in this range should not use uncache write buffer.
      
      Note that XiangShan does not support atomic insts in uncacheable address range.
      
      * uncache: optimize write operation
      
      * pma: add atomic config
      
      * uncache: assign hartId
      
      * remove some pma atomic
      
      * extend peripheral id width
      Co-authored-by: NLyn <lyn@Lyns-MacBook-Pro.local>
      37225120
  18. 05 12月, 2022 1 次提交
  19. 02 12月, 2022 2 次提交
    • H
      Replay all load instructions from LQ (#1838) · a760aeb0
      happy-lx 提交于
      This intermediate architecture replays all load instructions from LQ.
      An independent load replay queue will be added later.
      
      Performance loss caused by changing of load replay sequences will be
      analyzed in the future.
      
      * memblock: load queue based replay
      
      * replay load from load queue rather than RS
      * use counters to delay replay logic
      
      * memblock: refactor priority
      
      * lsq-replay has higher priority than try pointchasing
      
      * RS: remove load store rs's feedback port
      
      * ld-replay: a new path for fast replay
      
      * when fast replay needed, wire it to loadqueue and it will be selected
      this cycle and replay to load pipline s0 in next cycle
      
      * memblock: refactor load S0
      
      * move all the select logic from lsq to load S0
      * split a tlbReplayDelayCycleCtrl out of loadqueue to speed up
      generating emu
      
      * loadqueue: parameterize replay
      a760aeb0
    • H
      mmu: increase mmu timeout to 10000 (#1839) · 914b8455
      Haoyuan Feng 提交于
      914b8455
  20. 30 11月, 2022 1 次提交
  21. 22 11月, 2022 1 次提交
  22. 21 11月, 2022 1 次提交
  23. 19 11月, 2022 13 次提交