Jonathan Woodruff
280ace318e
Bump TagController to quadruple the size again.
2021-04-15 14:27:41 +00:00
jon
86afb7e68e
Add counter for LL writebacks (in the ST_MISS field).
2021-04-12 16:21:58 +01:00
Peter Rugg
53549e0dbc
Set number of cores using RISCY config instead of manual define
...
This was leading to -D NUM_CORES=2 -D NUM_CORES=1 in the command.
The NUM_CORES=2 seems to have been winning, but this is obviously
far from ideal.
2021-04-12 13:10:12 +01:00
jon
2c41fcd7fb
Fix bug and improve expression by using Int.
2021-04-12 12:48:49 +01:00
jon
4776bc0a11
Double-train on killing a load (still decrement by one on success).
...
This combo got the best performance overall (I tested triple and
quadruple training).
2021-04-12 06:34:16 +01:00
jon
8e3fd534f9
Do negative training when we encounter a load that has previously been
...
killed, but was not killed this time.
2021-04-10 08:47:05 +01:00
jon
aa9e57ce10
Fix bug so that we actually start at minBound.
...
(Map defaults to unpack(0), so for an Int, our first updateFunc will add
one to zero and it won't be much different than before.)
2021-04-10 07:54:39 +01:00
jon
6b871c0442
Use a saturating add before being conservative with issuing loads.
2021-04-09 16:21:55 +01:00
Peter Rugg
fcea5365f6
Initial implementation CLoadTags
...
This currently just loads in the data on cache miss, so won't help to reduce DRAM overhead, but will be forwards compatible and save on instructions in the revoker loop.
2021-04-08 17:08:15 +01:00
jon
103835db72
Merge branch 'CHERI' of https://github.com/CTSRD-CHERI/Toooba into CHERI
2021-04-08 14:41:48 +01:00
jon
0be771df4c
Bump TagController to one with 32KiB cache.
2021-04-08 14:40:49 +01:00
Peter Rugg
b232272ad1
Treat CCSeal with an out-of-bounds capability as a move
...
See 2d7ae22c0a for corresponding Sail change
This is not the nicest approach for area, but integrating with the existing bounds check would delay the result a cycle, and incur additional complexity.
2021-04-08 13:08:46 +01:00
jon
12ac14c1ca
Move to config registers here as this affects scheduling.
2021-04-07 17:47:49 +01:00
Marno van der Maas
3f059cbd94
Added note on bsc-contrib dependency to SSITH readme
2021-04-07 11:53:48 +01:00
Franz Fuchs
ad044689cb
added some of the performance counters in the L2 TLB
...
- count L2 TLB accesses
- count L2 TLB misses
- count L2 TLB flushes
2021-04-01 16:18:18 +01:00
Franz Fuchs
6e157fff5a
Small improvement of BTB changes made by Jon and myself
2021-04-01 09:08:47 +01:00
jon
c17eb9e7c1
Finish propagating BTB name change from previous commit.
2021-04-01 09:04:31 +01:00
jon
0701dea9a9
Preserve name for verilog so component.xml doesn't have to be fixed.
2021-04-01 07:08:46 +01:00
Franz Fuchs
4b531fac46
Made the hash size in the BTB configurable
...
The current configuration is a tag of 16 bits width
2021-03-31 17:46:27 +01:00
jon
84271b2712
Changes to build (and run?) with TSO_MM.
2021-03-29 12:03:27 +01:00
jon
5e687a972a
Slight cleanups from review with Alexandre.
2021-03-24 12:21:00 +00:00
jon
07dd70d77b
Associative 2-way associative BTB.
...
Also, 16-bit hashed tags. (This is because the only full-speed
implementation required duplicating the tags).
This implementation uses the MAP library, and a new BRAM instance of it.
2021-03-24 09:56:25 +00:00
jon
20e2249761
Make map associative in preparation for associative BTB.
...
Also make jump alias predictor smaller and associative. (2x64 entries
instead of 256 entries)
2021-03-23 11:26:43 +00:00
Jonathan Woodruff
2bfe25dfad
Update Map.bsv
...
Remove unused function.
2021-03-22 20:28:34 +00:00
jon
d351eeee11
Increase BTB to 1024 entries.
...
(On FPGA we can make this as large as we like, but returns diminish.
This one has a chance of being reasonable for ASIC I guess?)
2021-03-22 18:20:22 +00:00
jon
30bd5e7f46
Allow entries in the load kill predictor to be "False" so that they can
...
be invalidated.
Also invalidate entries "randomly" to prevent a steady-state of waiting
for all stores to complete on 1/256 loads even when no aliasing is going
on.
Remove debugging prints.
2021-03-22 18:14:33 +00:00
jon
791927f852
Prediction for whether a load will have an aliasing store.
2021-03-22 18:14:33 +00:00
Marno
47cddd8ec9
Reverted back to using FPGA specific memory addresses
2021-03-19 15:54:53 +00:00
Marno
dbc1443bf2
Also using new tagsparams API in SSITH build
2021-03-19 15:30:11 +00:00
Marno
c38f0e8488
Using new tagparams.py that explicitly warns about overlapping tag and data memory regions
2021-03-19 11:22:40 +00:00
Marno van der Maas
5d7b224d8b
Added TagTableStructure.bsv as dependency for .depends.mk in verilator build as well
2021-03-18 11:36:46 +00:00
Peter Rugg
057964e940
Some more tagsparam makefile fixes
2021-03-18 11:09:26 +00:00
Marno
e759077259
Made sure TagTableStructure.bsv is present upon regenration of .depends.mk
2021-03-18 10:47:15 +00:00
Marno
e7d0a6adf6
Removing TagTableStructure.bsv and .depends.mk on clean
2021-03-17 16:53:03 +00:00
Marno
df6cc12abb
Removed TagTableStructure.bsv files from repo because these are now automatically generated
2021-03-17 16:01:16 +00:00
Marno
db57e909fc
Added calling tagsparams.py in Include_Common.mk
2021-03-17 15:56:03 +00:00
Franz Fuchs
c5a0d38a63
Enabled HPM by default in builds/RV64ACDFIMSUxCHERI_Toooba_verilator/
2021-03-16 13:19:47 +00:00
Peter Rugg
80fb97cc62
Take Bluestuff-ified Giraffe_IFC from Flute
2021-03-15 12:25:38 +00:00
Peter Rugg
395a9d1c02
Remove unused non-existent libraries from ssith Makefile
2021-03-15 11:26:24 +00:00
Jessica Clarke
d722d851d9
verilator_config.vlt: Hopefully suppress deprecation warnings for 4.026
2021-03-11 14:11:38 +00:00
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
Marno van der Maas
da1fd3781a
Correction in testbench section
2021-03-09 10:58:56 +00:00
Marno van der Maas
f3f52d85ea
Added links to RiscyOO and CHERI
2021-03-09 10:55:17 +00:00
Marno van der Maas
d3f40216a9
Made the unimplemented notation consistent
2021-03-09 10:46:55 +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