jon
8de3cfffeb
Remove debug print statements.
2021-03-10 17:03:35 +00:00
Jonathan Woodruff
6ef565e56c
Fix bugs in previous commit due to test build not using performance
...
counters.
2021-03-09 16:05:01 +00:00
jon
1ef2d0cbeb
Include both execute redirect and commit redirect in "redirect" counter.
2021-03-09 15:57:15 +00:00
jon
fe7977e4e9
Fix typo when removing commented out code.
2021-03-06 07:24:49 +00:00
jon
8da520175f
Use an (unguarded) BRAM in the Btb.
...
Also, assume that a target that is not taken should be removed from the
Btb. (The read that checked isn't possible with BRAM timing unless we
latched and had an extra port, but removing the check actually improved
performance a bit in CoreMark, and the pipeline should actually only be
reporting a non-taken branch if we did something wrong.)
2021-03-06 07:19:50 +00:00
jon
4b411bf752
A Btb with 1/4 the storage that will (hopefully) infer as BRAM.
2021-03-05 12:14:26 +00:00
jon
7aea0325fc
Add cycles to commit instruction reports to help with performance
...
debugging.
2021-03-05 12:12:33 +00:00
jon
89f0c3a45f
Reduce verbosity.
2021-03-05 12:11:49 +00:00
jon
6ea387f744
Fix performance bug in PC compression where we execute across a page
...
boundary.
2021-03-04 14:41:50 +00:00
Peter Rugg
7a1d234e40
Merge branch 'ifetch-cleanup' into CHERI
2021-03-02 11:57:31 +00:00
Jessica Clarke
e1060ac43d
TlbTypes: Fix exception code reported for some store page fault conditions
...
The mode and well-formedness checks above also set fault to True, so we
end up with cases where a DataStore request uses the default load page
fault exception code. Instead, unconditionally set excStorePageFault for
DataStore, and conditionally override to excStoreCapPageFault when
appropriate, being particularly careful to ensure earlier exception
causes still take precedence.
Also restructure the InstFetch and DataLoad cases to match how DataStore
needs to look.
This fixes the rv64si-p-dirty ISA test, currently the sole failure.
2021-02-28 03:51:05 +00:00
Jessica Clarke
c7bd60b47e
CSRs: Don't guard HPM CSRs with PERFORMANCE_MONITORING
...
They always exist, just WARL so can be hard-wired.
2021-02-28 01:11:39 +00:00
jon
9d5095b076
Count CJALRs with Jrs.
2021-02-24 20:36:46 +00:00
Jessica Clarke
df430e22c8
Exec: Enable non-ASR access to TIME
...
This is needed for benchmarking.
2021-02-24 04:17:42 +00:00
Jessica Clarke
7776bac8b5
Exec: Enable non-ASR access to HPMCOUNTERn
...
These are now defined, and needed for benchmarking.
2021-02-23 20:35:18 +00:00
Peter Rugg
5b6e8d88f6
Add CSetEqualExact
2021-02-22 17:44:36 +00:00
jon
2f0b0c110f
Use the necessary number of ports.
2021-02-19 17:38:16 +00:00
jon
b5bce1209a
Revert "Revert biggest scheduling change from potentially problematic commit."
...
This one does not actually build with the new BSC compiler. I forgot to
test the hardware build (with GDB), which is where we have the problem.
This reverts commit b4308e9a6e .
2021-02-19 17:38:16 +00:00
jon
b4308e9a6e
Revert biggest scheduling change from potentially problematic commit.
...
This still builds with the new BSC compile.
2021-02-18 15:18:58 +00:00
jon
40ea082310
Some updates to build with the new bsc compiler.
2021-02-10 17:22:26 +00:00
Peter Rugg
3417fb454e
Revert "Provide opt-in wedge debugging info" - some missed changes
...
This reverts commit 68d3bd484e .
2021-01-21 20:30:07 +00:00
Peter Rugg
e8487e2a1c
Revert "Provide opt-in wedge debugging info"
...
This reverts commit 68d3bd484e .
2021-01-19 22:00:16 +00:00
Peter Rugg
20f1ddf587
Revert "Plumb through a lot more ROB debug state"
...
This reverts commit 0f65994955 .
2021-01-19 21:40:59 +00:00
Peter Rugg
a6ab823d1d
Revert "Cover interesting fetch and rename state for DEBUG_WEDGE configs"
...
This reverts commit 5e9b478371 .
2021-01-19 21:39:59 +00:00
jon
c515fb4518
Remove commented-out code.
...
Enable building with open-source BSC.
Resolve a couple issues brought up by Jess.
Remove a stray space (as noted by Jess).
2021-01-14 17:10:04 +00:00
jon
a6771219ba
Fold the fragment count into the standard pipeline structs.
2021-01-14 12:29:38 +00:00
jon
fc968c867f
PC compression scheme for the instruction fetch pipeline.
...
Store the upper bits of the PC in a table and only handle indices and
lsbs in the main pipeline.
This eliminates redundancy between PCs and predicted PCs, and even more
between fragments of instructions.
2021-01-14 11:41:11 +00:00
jon
dd82b2703c
Record an exception from either half of an instruction, with preference
...
for the first half.
2021-01-13 15:33:08 +00:00
jon
0d93ed3ad2
Merge branch 'CHERI' into ifetch-cleanup
2021-01-13 15:21:20 +00:00
Jonathan Woodruff
92ca72a6e2
Fix build error by providing default.
2020-12-18 17:55:18 +00:00
Jonathan Woodruff
84d60d03b1
Merge pull request #6 from nwf/capdirty
...
CHERI ISAv8 CapDirty fault priority fix
2020-12-18 16:48:56 +00:00
jon
f86d4d9dc0
Add counter support to ITLB.
2020-12-17 17:57:43 +00:00
jon
4ddcaff497
Support for data TLB counters.
2020-12-17 16:52:45 +00:00
jon
bab989d6d2
Support for stat counters from the tag controller.
...
The order of the events is very not tested; 50% chance of being correct.
2020-12-17 12:38:52 +00:00
jon
fa9931b64c
Implement a couple Cache counters in the LLCache.
...
These aren't too useful... We don't seem to have normal counters for
loads and stores in the baseline.
2020-12-15 18:16:21 +00:00
jon
17a7a32092
Use DRegOR instead of immitating latching behaviour.
2020-12-15 16:18:36 +00:00
jon
b6a397df52
Support for ICache stat counters.
2020-12-15 14:49:16 +00:00
jon
73d25bf8f5
Support performance counters (hopefully) in the caches. The DCache
...
should be fully wired up.
2020-12-14 18:10:06 +00:00
Jessica Clarke
f6569e2d14
Actually do the intended fix, not just inverting the variable
2020-12-14 10:51:57 +00:00
Jessica Clarke
295b878836
Fix negated CYCLE/INSTRET logic for ASR and make less confusing
2020-12-14 10:50:23 +00:00
jon
6768bf92c7
iMove the store count to the pipeline write.
...
It appeared to be counting capabilities in store counter flushes, which,
FI think, is not quite what was intended in this counter.
2020-12-11 17:16:38 +00:00
jon
19a07882ab
CSome style cleanups from chat with Alexandre.
2020-12-11 16:44:59 +00:00
jon
1bae03da9c
Implement all the remaining core (not cache) memory stat counters.
2020-12-11 15:48:10 +00:00
jon
d6243be1dd
Add a few more core performance counters.
2020-12-04 18:34:56 +00:00
jon
f42c3f3577
Merge branch 'cheri-perfmon' into CHERI
2020-12-04 16:29:51 +00:00
jon
5665d2e9cd
A more effective Fence count (as some fences go through as the Nop
...
iType).
2020-12-04 16:28:19 +00:00
jon
1fb388fb18
Count more things correctly.
2020-12-03 17:54:46 +00:00
jon
4fcc18635a
Supporting most architectural counters, wiring them out from
...
CommitStage.
Also support multiple events per cycle.
2020-12-02 15:28:41 +00:00
jon
e99e1e6274
Update CSR names to fullish standard names.
2020-12-02 10:18:25 +00:00
jon
259d34618c
A design that actually passes one performance monitor trace from
...
TestRig. The example counted redirections, which happend to match
between Flute and Toooba for this example.
2020-12-01 18:02:11 +00:00