#
935edac4 |
| 21-Sep-2023 |
Tang Haojin <[email protected]> |
chore: remove deprecated brackets, APIs, etc. (#2321)
|
#
c89b4642 |
| 19-Sep-2023 |
Guokai Chen <[email protected]> |
New RAS design (#2292)
By introducing non-volatile queue for specutive states, RAS avoids entry pollution
Co-authored-by: Easton Man <[email protected]>
|
#
0f55a0d3 |
| 05-Sep-2023 |
Haojin Tang <[email protected]> |
Scheduler: implement load speculative wakeup and cancel
|
#
5db4956b |
| 10-Aug-2023 |
zhanglyGit <[email protected]> |
Backend: refactor issueQueue to entry form
|
#
89cc69c1 |
| 11-Aug-2023 |
Tang Haojin <[email protected]> |
Rob: support ROB compression (#2192)
For consecutive instructions that do not raise exceptions, they can share a same rob entry and reduce rob consumption.
Only scalar instructions are supported no
Rob: support ROB compression (#2192)
For consecutive instructions that do not raise exceptions, they can share a same rob entry and reduce rob consumption.
Only scalar instructions are supported now.
---------
Co-authored-by: fdy <[email protected]>
show more ...
|
#
c61abc0c |
| 06-Aug-2023 |
Xuan Hu <[email protected]> |
merge master into new-backend
Todo: fix error
|
#
24519898 |
| 06-Aug-2023 |
Xuan Hu <[email protected]> |
backend: refactor
* Prepare for merge master
|
#
fa7f2c26 |
| 20-Jul-2023 |
Tang Haojin <[email protected]> |
CtrlBlock: implement rename snapshot (#2191)
* CtrlBlock: new ME method for better timing and area
* ctrlblock: implement snapshot recovery
* rename: enlarge distance between snapshots
* sn
CtrlBlock: implement rename snapshot (#2191)
* CtrlBlock: new ME method for better timing and area
* ctrlblock: implement snapshot recovery
* rename: enlarge distance between snapshots
* snapshot: add rename snapshot switch
* CtrlBlock: add snapshotGen API
* snapshot: optimize timing
* snapshot: put snapshot logic in a module
show more ...
|
#
14a67055 |
| 12-Jul-2023 |
sfencevma <[email protected]> |
ldu, stu: Refactoring the code for ldu/stu (#2171)
* add new ldu and stu
* add fast replay kill at s1
* fix pointer chasing cancel
* pick flushpipe_rvc
* merge flushpipe_rvc
* fix s3_
ldu, stu: Refactoring the code for ldu/stu (#2171)
* add new ldu and stu
* add fast replay kill at s1
* fix pointer chasing cancel
* pick flushpipe_rvc
* merge flushpipe_rvc
* fix s3_cache_rep and s3_feedbacked
* fix fast replay condition
---------
Co-authored-by: Lyn <[email protected]>
show more ...
|
#
dcf3a679 |
| 12-Jul-2023 |
Tang Haojin <[email protected]> |
CtrlBlock: new ME method for better timing and area (#2161)
new move elimination method:
1. get old_pdest from arch-rat when commit;
2. get ready-for-free from comparing old-pdest with arch-rat
CtrlBlock: new ME method for better timing and area (#2161)
new move elimination method:
1. get old_pdest from arch-rat when commit;
2. get ready-for-free from comparing old-pdest with arch-rat after commit;
show more ...
|
#
d54d930b |
| 12-Jun-2023 |
fdy <[email protected]> |
StatusArrayDeqRespBundle: remove 'success' attribute
|
#
b536da76 |
| 04-Jun-2023 |
Xuan Hu <[email protected]> |
backend,mem: fix feedback signals of load
|
#
d2b20d1a |
| 02-Jun-2023 |
Tang Haojin <[email protected]> |
top-down: align top-down with Gem5 (#2085)
* topdown: add defines of topdown counters enum
* redirect: add redirect type for perf
* top-down: add stallReason IOs
frontend -> ctrlBlock -> de
top-down: align top-down with Gem5 (#2085)
* topdown: add defines of topdown counters enum
* redirect: add redirect type for perf
* top-down: add stallReason IOs
frontend -> ctrlBlock -> decode -> rename -> dispatch
* top-down: add dummy connections
* top-down: update TopdownCounters
* top-down: imp backend analysis and counter dump
* top-down: add HartId in `addSource`
* top-down: broadcast lqIdx of ROB head
* top-down: frontend signal done
* top-down: add memblock topdown interface
* Bump HuanCun: add TopDownMonitor
* top-down: receive and handle reasons in dispatch
* top-down: remove previous top-down code
* TopDown: add MemReqSource enum
* TopDown: extend mshr_latency range
* TopDown: add basic Req Source
TODO: distinguish prefetch
* dcache: distinguish L1DataPrefetch and CPUData
* top-down: comment out debugging perf counters in ibuffer
* TopDown: add path to pass MemReqSource to HuanCun
* TopDown: use simpler logic to count reqSource and update Probe count
* frontend: update topdown counters
* Update HuanCun Topdown for MemReqSource
* top-down: fix load stalls
* top-down: Change the priority of different stall reasons
* top-down: breakdown OtherCoreStall
* sbuffer: fix eviction
* when valid count reaches StoreBufferSize, do eviction
* sbuffer: fix replaceIdx
* If the way selected by the replacement algorithm cannot be written into dcache, its result is not used.
* dcache, ldu: fix vaddr in missqueue
This commit prevents the high bits of the virtual address from being truncated
* fix-ldst_pri-230506
* mainpipe: fix loadsAreComing
* top-down: disable dedup
* top-down: remove old top-down config
* top-down: split lq addr from ls_debug
* top-down: purge previous top-down code
* top-down: add debug_vaddr in LoadQueueReplay
* add source rob_head_other_repay
* remove load_l1_cache_stall_with/wihtou_bank_conflict
* dcache: split CPUData & refill latency
* split CPUData to CPUStoreData & CPULoadData & CPUAtomicData
* monitor refill latency for all type of req
* dcache: fix perfcounter in mq
* io.req.bits.cancel should be applied when counting req.fire
* TopDown: add TopDown for CPL2 in XiangShan
* top-down: add hartid params to L2Cache
* top-down: fix dispatch queue bound
* top-down: no DqStall when robFull
* topdown: buspmu support latency statistic (#2106)
* perf: add buspmu between L2 and L3, support name argument
* bump difftest
* perf: busmonitor supports latency stat
* config: fix cpl2 compatible problem
* bump utility
* bump coupledL2
* bump huancun
* misc: adapt to utility key&field
* config: fix key&field source, remove deprecated argument
* buspmu: remove debug print
* bump coupledl2&huancun
* top-down: fix sq full condition
* top-down: classify "lq full" load bound
* top-down: bump submodules
* bump coupledL2: fix reqSource in data path
* bump coupledL2
---------
Co-authored-by: tastynoob <[email protected]>
Co-authored-by: Guokai Chen <[email protected]>
Co-authored-by: lixin <[email protected]>
Co-authored-by: XiChen <[email protected]>
Co-authored-by: Zhou Yaoyang <[email protected]>
Co-authored-by: Lyn <[email protected]>
Co-authored-by: wakafa <[email protected]>
show more ...
|
#
b9e121df |
| 02-Jun-2023 |
happy-lx <[email protected]> |
hint: add CustomHint interface (#2111)
* hint: add CustomHint interface
* dcache: fix replacement & mshrId update
* access replacement only once per load
* update mshrId in replayqueue only w
hint: add CustomHint interface (#2111)
* hint: add CustomHint interface
* dcache: fix replacement & mshrId update
* access replacement only once per load
* update mshrId in replayqueue only when this load enters mshr
* replay: block cache miss load
* block cache miss load until hint or dcache refill appears
* buffer: fix hint buffer depth to 1
* ldu: add dcache miss l2hint fast replay path
* bump coupledL2
* bump utility
---------
Co-authored-by: Lyn <[email protected]>
Co-authored-by: wangkaifan <[email protected]>
show more ...
|
#
dfb4c5dc |
| 30-May-2023 |
Xuan Hu <[email protected]> |
fix merge error
|
#
68d13085 |
| 25-May-2023 |
Xuan Hu <[email protected]> |
Merge remote-tracking branch 'upstream/master' into tmp-new-backend-merge-vlsu
# Conflicts: # .gitmodules # build.sc # src/main/scala/top/Configs.scala # src/main/scala/xiangshan/Bundle.scala # src/
Merge remote-tracking branch 'upstream/master' into tmp-new-backend-merge-vlsu
# Conflicts: # .gitmodules # build.sc # src/main/scala/top/Configs.scala # src/main/scala/xiangshan/Bundle.scala # src/main/scala/xiangshan/Parameters.scala # src/main/scala/xiangshan/XSCore.scala # src/main/scala/xiangshan/backend/CtrlBlock.scala # src/main/scala/xiangshan/backend/MemBlock.scala # src/main/scala/xiangshan/backend/Scheduler.scala # src/main/scala/xiangshan/backend/issue/ReservationStation.scala # src/main/scala/xiangshan/backend/issue/StatusArray.scala # src/main/scala/xiangshan/backend/rob/Rob.scala # src/main/scala/xiangshan/mem/MemCommon.scala # src/main/scala/xiangshan/mem/lsqueue/LSQWrapper.scala # src/main/scala/xiangshan/mem/lsqueue/LoadQueue.scala # src/main/scala/xiangshan/mem/lsqueue/StoreQueue.scala # src/main/scala/xiangshan/mem/pipeline/LoadUnit.scala # src/main/scala/xiangshan/mem/pipeline/StoreUnit.scala
show more ...
|
#
bb6c3663 |
| 22-May-2023 |
Xuan Hu <[email protected]> |
bundle: remove useless bundles
|
#
e4f69d78 |
| 21-May-2023 |
sfencevma <[email protected]> |
lsu: split lq for larger ooo load window (#2077)
BREAKING CHANGE: new LSU/LQ architecture introduced in this PR
In this commit, we replace unified LQ with:
* virtual load queue
* load replay qu
lsu: split lq for larger ooo load window (#2077)
BREAKING CHANGE: new LSU/LQ architecture introduced in this PR
In this commit, we replace unified LQ with:
* virtual load queue
* load replay queue
* load rar queue
* load raw queue
* uncache buffer
It will provide larger ooo load window.
NOTE: IPC loss in this commit is caused by MDP problems, for previous MDP
does not fit new LSU architecture.
MDP update is not included in this commit, IPC loss will be fixed by MDP update later.
---------
Co-authored-by: Lyn <[email protected]>
show more ...
|
#
3f6c8c2c |
| 10-May-2023 |
Xuan Hu <[email protected]> |
Merge branch 'dev-vector' into new-backend
|
#
a8db15d8 |
| 10-May-2023 |
fdy <[email protected]> |
backend: refactor vset and add rab support
|
#
b52d4755 |
| 26-Apr-2023 |
Xuan Hu <[email protected]> |
isa-riscv,vector: add bundles and convert function
* Add class VType, VConfig * Add object VSew, VLmul
|
#
d91483a6 |
| 28-Apr-2023 |
fdy <[email protected]> |
add vset support
Co-authored-by: zhanglyGit <[email protected]> Co-authored-by: Xuan Hu <[email protected]>
|
#
ea0f92d8 |
| 10-Apr-2023 |
czw <[email protected]> |
func(fuBusyTable): add fuBusyTable with resp
func(IQ): add fuBusyTable
func(IssueQueue): suppport fuBusyTable write with og0Resp & og1Resp
func(RSFeedbackType): delete issueFail/rfArbitFail in RSF
func(fuBusyTable): add fuBusyTable with resp
func(IQ): add fuBusyTable
func(IssueQueue): suppport fuBusyTable write with og0Resp & og1Resp
func(RSFeedbackType): delete issueFail/rfArbitFail in RSFeedbackType
func(Fu):make some FuncUnits piped
fix(fuBusyTable): fix write of fuBusyTable
type(fuBusyTable): rename & delete some comments
show more ...
|
#
e2695e90 |
| 28-Apr-2023 |
zhanglyGit <[email protected]> |
Decode: optimize coding style (#2063)
|
#
cb9b28b4 |
| 19-Apr-2023 |
fdy <[email protected]> |
Handle the case of memory feedback not hit
|