Commit Graph

100 Commits

Author SHA1 Message Date
Jessica Clarke
a8299cfc01 CCTypes: Fix misleading bit width for MESI/Msi enum
4 does not fit in 2 bits. This appears to not matter in practice, as a
spot check of the generated Verilog shows 3'dN for state-related
constants, but we should not be relying on this surprisingly lax
behaviour from bsc, and who knows if there are ways in which bsc does
end up using the as-written bit width somewhere.

Fixes: 6d4644ce73 ("Add tag-only state to MESI and interface with tagOnlyReq of tag controller")
2025-11-02 14:28:02 +00:00
Jonathan Woodruff
e576a2cae7 Revert "Changes to make Prefetcher more deterministic, and also to report schedules."
This reverts commit f964e1dd2c.
2025-07-03 11:47:00 +01:00
Jonathan Woodruff
acbf07ddf0 Merge pull request #46 from CTSRD-CHERI/CHERI-benchmarks
Cheri benchmarks
2025-06-12 10:15:45 +01:00
Yuecheng-CAM
8af3b2e85a Revert "initial commit, test compiled and run sucessfully"
This reverts commit d025278195.
2025-06-01 18:17:24 +01:00
Yuecheng-CAM
d025278195 initial commit, test compiled and run sucessfully 2025-06-01 18:14:19 +01:00
Jonathan Woodruff
f964e1dd2c Changes to make Prefetcher more deterministic, and also to report schedules. 2025-05-20 16:32:33 +01:00
Louis Hobson
769a6aec83 merge fix in L1Pipe 2025-03-25 09:23:08 +00:00
Louis Hobson
0c634fc019 Better print statements 2025-03-25 09:23:08 +00:00
Louis Hobson
a08a701805 Let cRqNum increase 2025-03-25 09:23:07 +00:00
Louis Hobson
c28c6c3670 Fix bad IBank merge 2025-03-25 09:23:07 +00:00
Louis Hobson
657e7e529b Turn verbose on 2025-03-25 09:23:07 +00:00
Louis Hobson
535d85ff35 Request queues in L1 cache 2025-03-25 09:23:06 +00:00
Peter Rugg
1df304a820 Prevent various debug prints by default 2025-01-08 18:43:05 +00:00
Jonathan Woodruff
b65994c00c Include the new single-cycle CCPipe as a seperate implementation, and
use it only in the L1 caches so that the L2 cache can have lower
resource utilisation and better timing.  (Resource utilisation is up
about 5% with the new design, and it's not necessary for the L2 cache.)
2024-02-02 11:50:45 +00:00
Jonathan Woodruff
ccc71952bf Use forwarding BRAMs in L2 Cache. Duh; this is required for the new
CCPipe structure.
2024-02-01 13:44:36 +00:00
Jonathan Woodruff
7608543da5 Move back to more traditional implementation of the forwarded BRAM,
which also workst.
2024-02-01 10:07:48 +00:00
Jonathan Woodruff
3416040a74 Forward using a working forwarding memory rather than logic in CCPipe.
This design runs CoreMark successfully.
2024-01-31 13:29:59 +00:00
Jonathan Woodruff
0e87595d73 Work toward eliminating a cycle of cache latency by doing data lookup in
parallel with tag lookup.
2024-01-31 10:15:51 +00:00
Jonathan Woodruff
3ebf537f71 Tidy up tracing options, including using RVFI when building for bluesim
(which I'm sure we had meant to be doing?).
2023-06-23 13:09:38 +00:00
Karlis Susters
373d92c17a Added license text 2023-05-23 13:37:43 +01:00
Karlis Susters
35524a2a50 Revert L1 store counters to tracking stores 2023-05-18 13:34:39 +01:00
Karlis Susters
2ae2b99268 Move Prefetcher unit tests to unit test folder 2023-05-11 00:10:32 +01:00
Karlis Susters
3098b8afba Other code cleanup 2023-05-10 23:59:35 +01:00
Karlis Susters
1776ba3317 Prefetcher code cleanup 2023-05-10 23:55:05 +01:00
Karlis Susters
05e5ad5076 Update tests for singlewindow-target 2023-05-10 23:51:16 +01:00
Karlis Susters
0554fad990 Config for L1D MarkovDouble 2023-04-25 13:05:01 +01:00
Karlis Susters
88fee870d0 Minor update to single-window-target 2023-04-22 10:00:50 +01:00
Karlis Susters
3953581b50 Fix stride prefetcher mis-commit 2023-04-22 10:00:15 +01:00
Karlis Susters
754627d4e8 Stride: block prefetches out of page bounds, and reduce stride bit length 2023-04-21 16:05:10 +01:00
Karlis Susters
b5a3a78e58 Minor change to multi window prefetcher design 2023-04-20 17:05:59 +01:00
Karlis Susters
4bc04b581d Config for L1I MultiWindowTarget-2 2023-04-19 14:22:01 +03:00
Karlis Susters
cc65297cf9 simplified simple stride slightly 2023-04-15 15:49:34 +03:00
Karlis Susters
8e3d6409c0 Simplified Stride2 code, using Int type 2023-04-15 15:37:59 +03:00
Karlis Susters
2f428a974a Reduce bit storage for stride prefetcher 2023-04-13 18:27:28 +03:00
Karlis Susters
2ec0f37bbd Remove stride prefetcher empty state 2023-04-13 13:39:22 +03:00
Karlis Susters
0e4b9a710a Implemented SimpleStride, to compare with Gem5 2023-04-12 23:31:15 +03:00
Karlis Susters
f20e80e5b2 Tests for prefetchervector, double target table, overflow bypass fifo 2023-04-12 21:57:03 +03:00
Karlis Susters
d2b41c852d Added prefetcher port to ICrqmshr and retired prefetchRqDone 2023-04-12 21:55:13 +03:00
Karlis Susters
bf0f26ce56 Implemented double target table and the corresponding markov prefetcher 2023-04-12 21:52:56 +03:00
Karlis Susters
2d94cba951 Implemented vector prefetcher setup in L2 2023-04-12 21:50:31 +03:00
Karlis Susters
4ea9b17971 Minor changes to targettable and instruction target prefetchers 2023-04-12 21:31:08 +03:00
Karlis Susters
1ad1dfad6a Config for MarkovOnHit-2-8KiB. 2023-03-30 13:07:34 +01:00
Karlis Susters
625dbb3066 Count sent prefetch requests as Store misses, cache full cycles as stores 2023-03-30 13:06:12 +01:00
Karlis Susters
06651f1a31 Actually repurpose L1D store count, not store miss count 2023-03-24 15:15:03 +00:00
Karlis Susters
7d7d38ad49 Repurpose L1D store miss count to track number of cycles cache is full 2023-03-24 15:11:08 +00:00
Karlis Susters
a4ad28d865 Config for MarkovOnHit-1-bigtable 2023-03-23 11:09:36 +00:00
Karlis Susters
643afd81e2 Implementation and config for L1D StrideV2-2 prefetcher 2023-03-22 22:12:59 +00:00
Karlis Susters
808d961a7b Implementation and config for L1D MarkovOnHit-2-BigTable 2023-03-21 19:26:38 +00:00
Karlis Susters
1123f43423 Config for L1D Markov-2-Bigtable 2023-03-20 13:04:21 +00:00
Karlis Susters
e584786c93 Bugfix to Stride Adaptive config 2023-03-17 11:26:23 +00:00