#
1592abd1 |
| 08-Apr-2025 |
Yan Xu <[email protected]> |
feat: support inst lifetime trace (#4007)
PerfCCT(performance counter commit trace) is a Instruction-level granularity perfCounter like GEM5 How to use this: 1. Make with "WITH_CHISELDB=1" argument
feat: support inst lifetime trace (#4007)
PerfCCT(performance counter commit trace) is a Instruction-level granularity perfCounter like GEM5 How to use this: 1. Make with "WITH_CHISELDB=1" argument 2. Run with "--dump-db --dump-select-db lifetime", then get the database 3. Instruction lifetime visualize run "python3 scripts/perfcct.py "the-db-file-path" -p 1 -v | less" 4. Analysis script now is in XS-GEM5 repo, see https://github.com/OpenXiangShan/GEM5/blob/xs-dev/util/ClockAnalysis.py
How it works: 1. Allocate one unique tag "seqNum" like GEM5 for each instruction at fetch stage 2. Passing the "seqNum" in each pipeline 3. Recording perf data through the DPIC interface
show more ...
|
#
99ce5576 |
| 20-Feb-2025 |
cz4e <[email protected]> |
style(Bundles): rewrite bundles with new style (#4274)
|
#
9e12e8ed |
| 08-Feb-2025 |
cz4e <[email protected]> |
style(Bundles): move bundles to Bundles.scala (#4247)
|
#
066ca249 |
| 27-Dec-2024 |
zhanglinjuan <[email protected]> |
fix(MemBlock): support non-data error handling for cacheable region (#4093)
When DCache refill reponses with `denied` or `corrupt` asserted, the loads belonging to the cache line should report load
fix(MemBlock): support non-data error handling for cacheable region (#4093)
When DCache refill reponses with `denied` or `corrupt` asserted, the loads belonging to the cache line should report load access fault. This is accomplished by including a `corrupt` bit in the DCache MSHR forwarding and TileLink channel D forwarding logic and triggering excepion when `corrupt` is detected.
Store non-data error that comes from DCache store miss is unable to trigger a precise access fault trap but an imprecise bus-error interrupt. And it will be included in another commit.
show more ...
|
#
e04c5f64 |
| 19-Nov-2024 |
Yanqin Li <[email protected]> |
feat(outstanding): support nc outstanding and remove mmio st outstanding
|
#
bb76fc1b |
| 10-Oct-2024 |
Yanqin Li <[email protected]> |
fix(NC): fix a list of bugs of NC WMO access
* fix(PBMT): skip nc difftest and handle the conflict of nc and normal store
* fix(PBMT): nc st req is changed to a state machine execution
* fix(pbmt)
fix(NC): fix a list of bugs of NC WMO access
* fix(PBMT): skip nc difftest and handle the conflict of nc and normal store
* fix(PBMT): nc st req is changed to a state machine execution
* fix(pbmt): fix typo and control error of nc ld
* fix(pbmt): nc data assignment error
* fix(pbmt): nc should be used to wakeup
* fix(pbmt): remove wrong assert
* fix(pbmt): lots of bugs of nc st ld forward
* fix(pbmt): fix address align error
show more ...
|
#
189d8d00 |
| 29-Oct-2024 |
Anzo <[email protected]> |
refactor(MemBlock): turn on `dontTouch` only when debugging (#3792)
This will result in the delivery of clean generated code and may remove
some of the pseudo-paths.
|
#
506ca2a3 |
| 11-Sep-2024 |
Anzooooo <[email protected]> |
feat(Trigger): add vector memory access Trigger logic
|
#
94998b06 |
| 04-Sep-2024 |
happy-lx <[email protected]> |
fix(Zicclsm, trigger): fix the problem of missing breakpoint exception (#3470)
+ @wissygh Refactored Trigger check code of Memblock.
+ Move Trigger address cmp from load S3 to S1. In addition, the
fix(Zicclsm, trigger): fix the problem of missing breakpoint exception (#3470)
+ @wissygh Refactored Trigger check code of Memblock.
+ Move Trigger address cmp from load S3 to S1. In addition, the
detection of trigger is moved from Memblock to LoadUnit.
- Once the breakpoint exception is detected, enter the exception Buffer
directly to handle the exception (previously, the
load instruction was executed first and then the exception was handled,
which would cause the mmio load to change the
status of the peripheral).
+ If Trigger address matches and the action is to enter debug mode, both
loadUnit and storeUnit will directly write this instruction back without
any execution (by setting this instruction as an exception).
+ Match trigger addresses for vector instructions in LoadUnit.
+ If both a misalign exception and a breakpoint occur, the breakpoint
exception will be processed first.
---------
Co-authored-by: chengguanghui <[email protected]>
show more ...
|
#
08b0bc30 |
| 03-Sep-2024 |
happy-lx <[email protected]> |
timing(MemBlock): optimize MemBlock timing (#3467)
This PR optimizes the timing of MemBlock. Specific optimizations include
but are not limited to:
+ TLB use the redirect for the next cycle
+ Opt
timing(MemBlock): optimize MemBlock timing (#3467)
This PR optimizes the timing of MemBlock. Specific optimizations include
but are not limited to:
+ TLB use the redirect for the next cycle
+ Optimize VLSU feedback and redirect
+ Optimise ldCancel and writeback signal generation
+ Optimise TLB Query Vaddr/hlv/hlvx/valid etc
+ Delay MMIO Store writeback for 1 Cycle
+ Fix tlbNoQuery and pmp logic
+ Remove clock gating for s3_fast_rep
+ Remove wbq conflict check to LoadPipe/MainPipe
+ Remove Mux in dcache resp data
+ Optimise data generation logic of LoadUnit
+ Duplicate Register in LoadUnit for data writeback
+ Duplicate Register in loadPipe for missQueue enq
+ Add skid buffer in VLSU
+ Select data from metaArray at S1
+ Simplify the enqueuing logic of missQueue
+ Separately generate the ready logic of miss Queue
+ Relax the conditions valid for bankdataArray reads
+ Add Reg between Dcache Mainpipe with sms prefetcher
+ Optimise store exceptionBuffer pipeline
---------
Co-authored-by: weiding liu <[email protected]>
Co-authored-by: Charlie Liu <[email protected]>
Co-authored-by: good-circle <[email protected]>
show more ...
|
#
753d2ed8 |
| 02-Sep-2024 |
Yanqin Li <[email protected]> |
refactor(LDU, HYU): optimized for low coupling (#3451)
The old version involved manually handling multiple load sources and
processing signals like `valid`, `ready`, and `select` one by one. Each
refactor(LDU, HYU): optimized for low coupling (#3451)
The old version involved manually handling multiple load sources and
processing signals like `valid`, `ready`, and `select` one by one. Each
time a new source was added, multiple lines of dependent code had to be
written. In the new version, `Vec` are used for unified handling, so
adding a new source only requires adding the corresponding `idx` and the
necessary dependent code.
show more ...
|
#
7e0f64b0 |
| 21-Aug-2024 |
Guanghui Cheng <[email protected]> |
Trigger: refactor trigger information in pipeline. (#3403)
|
#
04b415db |
| 02-Jul-2024 |
chengguanghui <[email protected]> |
Trigger: add breakpoint exception for `STORE`
*prevent `STORE` from writing sbuffer when trigger fire.
|
#
38f78b5d |
| 10-Jul-2024 |
xiaofeibao-xjtu <[email protected]> |
Backend&MemBlock: feedback use sqidx instead of robidx and uopidx for fix timing (#3172)
|
#
5adc4829 |
| 16-Jun-2024 |
Yanqin Li <[email protected]> |
memblock: add rest clockgate of reg (#3017)
Co-authored-by: cai luoshan <[email protected]> Co-authored-by: Cai Luoshan <[email protected]> Co-authored-by: good-circle <
memblock: add rest clockgate of reg (#3017)
Co-authored-by: cai luoshan <[email protected]> Co-authored-by: Cai Luoshan <[email protected]> Co-authored-by: good-circle <[email protected]> Co-authored-by: Ma-YX <[email protected]> Co-authored-by: Ma-YX <[email protected]> Co-authored-by: CharlieLiu <[email protected]>
show more ...
|
#
a4d1b2d1 |
| 13-May-2024 |
good-circle <[email protected]> |
Merge branch 'master' into vlsu-merge-master-0504
|
#
20e09ab1 |
| 09-May-2024 |
happy-lx <[email protected]> |
fix bug of stream (#2756)
Bug Description:
(1) Increase the way of Dcache to 8 to reduce the problem of running on the bwaves test caused by too many addresses mapped to the same set.
(2) Set ldu0
fix bug of stream (#2756)
Bug Description:
(1) Increase the way of Dcache to 8 to reduce the problem of running on the bwaves test caused by too many addresses mapped to the same set.
(2) Set ldu0 to a high-confidence prefetch request channel to increase the probability that the prefetch request will be accepted by Dcache's MSHR.
(3) Fix the issue that ldu sends an error ready back to the prefetcher to prevent the prefetch request from being dropped.
(4) Dont let the prefetch request access Dcache's DataArray.
(5) Add a extra port in Muti-level prefetch Queue to accept more pf req from stream&stride
(6) Larger Stream bit vector Array 16 -> 32 to cover muti Stream access pattern in Bwaves and GemsFDTD.
In addition, the decline in libquantum is a bit strange.
show more ...
|
#
25df626e |
| 04-May-2024 |
good-circle <[email protected]> |
Merge branch 'master' into vlsu-tmp-master
|
#
3952421b |
| 24-Mar-2024 |
weiding liu <[email protected]> |
rv64v: rewrite VLSU
uop split in V*SplitImp, flow merge in V*MergeBufferImp, uop issued out of order
|
#
13a87dc5 |
| 19-Apr-2024 |
Xiaokun-Pei <[email protected]> |
LSU, RVH: fix the bug about the exception vaddr of guest page fault (#2898)
After new backend was merged into master, the guest page fault was
delete from fuConfig. That results in the wrong guest
LSU, RVH: fix the bug about the exception vaddr of guest page fault (#2898)
After new backend was merged into master, the guest page fault was
delete from fuConfig. That results in the wrong guest page fault
exception vaddr in CSR module. This commit adds gpf back to fuConfig
show more ...
|
#
b28f986d |
| 14-Apr-2024 |
Xuan Hu <[email protected]> |
fix merge error in HybridUnit
|
#
0ffeff0d |
| 07-Apr-2024 |
Xuan Hu <[email protected]> |
Merge remote-tracking branch 'upstream/master' into tmp-master
|
#
00e6f2e2 |
| 27-Feb-2024 |
weiding liu <[email protected]> |
rv64v: add suport of 128-bit vector elements load/store
|
#
e6db8670 |
| 05-Mar-2024 |
chengguanghui <[email protected]> |
Trigger: delete useless code about trigger
|
#
a9715d9d |
| 29-Feb-2024 |
sinsanction <[email protected]> |
HybridUnit: disable ld1Cancel
|