1. 28 1月, 2023 21 次提交
  2. 19 1月, 2023 1 次提交
  3. 18 1月, 2023 1 次提交
  4. 16 1月, 2023 1 次提交
  5. 11 1月, 2023 2 次提交
  6. 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
  7. 03 1月, 2023 1 次提交
  8. 02 1月, 2023 3 次提交
  9. 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
  10. 25 12月, 2022 1 次提交
  11. 21 12月, 2022 2 次提交
  12. 15 12月, 2022 1 次提交
  13. 11 12月, 2022 1 次提交
  14. 08 12月, 2022 1 次提交
  15. 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
  16. 05 12月, 2022 1 次提交