Henry Cook
c292a07ace
Bugfix for merged voluntary releases in L2Cache.
...
Track pending release beats for voluntary releases that are merged by Acquire Trackers.
Closes #23 and #24 .
2016-04-01 19:57:47 -07:00
Henry Cook and Andrew Waterman
82bdf3afcb
Fix LRSC starvation bug by punching Finish messages out to caching clients via a new TileLinkNetworkPort.
2016-04-01 16:17:27 -07:00
Henry Cook
c13b8d243d
BroadcastHub race on allocating VolWBs vs Acquires
2016-03-17 18:32:35 -07:00
Henry Cook
5f3d3a0b2d
Bugfix for probe flags in L2BroadcastHub
...
Closes #25
2016-03-17 16:42:40 -07:00
Henry Cook
49d82864bf
Fix StoreDataQueue allocation bug in BroadcastHub
...
Closes #27
2016-03-17 12:31:18 -07:00
Henry Cook
67e711844a
index extraction bug
2016-03-10 17:37:40 -08:00
Henry Cook
93773a4496
Refactor L2 transaction trackers to each be capable of processing Voluntary Writebacks.
...
To elide several races between reading and writing the metadata array for different types of transactions, all L2XactTrackers can now sink Voluntary Releases (writebacks from the L1 in the current implementation). These writebacks are merged with the ongoing transaction, and the merging tracker supplies an acknowledgment of the writeback in addition to its ongoing activities. This change involved another refactoring of the control logic for allocating new trackers and routing incoming Acquires and Releases. BroadcastHub uses the new routing logic, but still processes all voluntary releases through the VoluntaryReleaseTracker (not a problem because there are no metadata update races).
Closes #18
Closes #20
2016-03-10 17:14:34 -08:00
Henry Cook
7eef3393f1
fix bug resulting in different g_types on tail beats in L2CacheBank.io.inner.grant
2016-03-02 14:11:45 -08:00
Henry Cook
57370bdf49
first and last on HasTileLinkData
2016-03-02 14:11:39 -08:00
Henry Cook and Howard Mao
929d8e31f7
refactor ready/valid logic for routing release messages in the l2
2016-02-19 16:30:26 -08:00
Henry Cook
2b977325e3
Make prefetch type available in a_type, issue probeInvalidates for putPrefetches
2015-11-16 23:26:13 -08:00
Henry Cook
0290635454
amo_shift_bits -> amo_shift_bytes
2015-11-16 19:07:58 -08:00
Henry Cook
64aaf71b06
L2AcquireTracker refactor to support merging Gets and Puts into Prefetches of the correct type.
...
Transaction metadata for primary and seconday misses now stored in the secondary miss queue.
Added BuiltInAcquireBuilder factory.
2015-11-16 18:10:09 -08:00
Henry Cook
03fa06e6e7
fix prefetch lockup on L2 hit
2015-11-15 12:51:34 -08:00
Henry Cook
e3efc09b5b
remove unnecessary UInt encode/decode on releaseMatches path
2015-11-05 17:20:03 -08:00
Henry Cook
3698153535
OHToUInt instead of PriorityEncoder on Acq/RelMatches signals in L2Bank
2015-11-03 14:31:35 -08:00
Henry Cook
f8594da1d3
depend on external cde library
2015-10-21 18:17:17 -07:00
Henry Cook
4389b9edb0
tilelink parameter tweak: addrBits now a constant
2015-10-20 15:00:30 -07:00
Henry Cook
d391f97953
Minor refactor of StoreGen/AMOALU. Bugfix for 32b ops in L2's AMOALU.
2015-10-16 19:11:06 -07:00
Henry Cook
e1f573918d
simplify TileLinkParameters with Option
2015-10-16 18:24:38 -07:00
Henry Cook
7fa3eb95e3
refactor tilelink params
2015-10-14 12:13:37 -07:00
Henry Cook
66ea39638e
GlobalAddrMap
2015-10-14 00:23:28 -07:00
Henry Cook
31be6407ec
Removed all traces of params
2015-10-14 00:23:28 -07:00
Henry Cook
908922c1a4
refactor NASTI to not use param
2015-10-14 00:23:28 -07:00
Henry Cook
005752e2a6
use the parameters used to create the original object
2015-08-10 14:43:17 -07:00
Henry Cook
c70b495f6d
moved buses to junctions repo
2015-07-29 18:04:30 -07:00
Henry Cook
8b1ab23347
update README.md
2015-07-29 11:49:21 -07:00
Henry Cook
4daa20b5fe
simplify .sbt files
2015-07-29 11:49:20 -07:00
Henry Cook
fb91e3e1ab
minor metadata API update (0.3.3)
2015-07-09 14:36:09 -07:00
Henry Cook
d7cb60e8fa
L2 WritebackUnit bug fix
2015-07-02 13:52:40 -07:00
Henry Cook
f3a838cedf
nasti converters, hub bugfix
2015-05-21 19:49:17 -07:00
Henry Cook
c202449e34
first version NASTI IOs
2015-05-14 15:29:49 -07:00
Henry Cook
90c9ee7b04
fix unalloc putblocks
2015-05-14 12:37:35 -07:00
Henry Cook
a7fa77c7fc
track operand size for Gets
2015-05-13 23:28:18 -07:00
Henry Cook
172c372d3e
L2 alloc cleanup
2015-05-12 17:14:06 -07:00
Henry Cook
5fdae2cb61
Merge branch 'master' of github.com:ucb-bar/uncore
2015-05-07 16:18:23 -07:00
Henry Cook
fc883b5049
rm index.html
2015-05-07 16:17:40 -07:00
Henry Cook
8362eba00f
Merge branch 'gh-pages'
2015-05-07 16:16:13 -07:00
Henry Cook
aec24cf1a7
readme
2015-05-07 16:16:07 -07:00
Henry Cook
90ced93eeb
Merge branch 'master' into gh-pages
2015-05-07 12:35:14 -07:00
Henry Cook
4cef8c9cd4
Added MemIOArbiter
2015-05-07 10:55:38 -07:00
Henry Cook
8832b454ce
add plugins to make scala doc site and publish to ghpages
2015-04-29 15:34:56 -07:00
Henry Cook
1e05fc0525
First pages commit
2015-04-29 13:18:26 -07:00
Henry Cook
3673295d03
network shim cleanup
2015-04-27 16:59:30 -07:00
Henry Cook
09e30041ed
Voluntary Writeback tracker rewrite
2015-04-27 12:56:33 -07:00
Henry Cook
11b5222d01
Refactored WritebackUnit
2015-04-21 22:23:04 -07:00
Henry Cook
4c7969b2b3
Metadata docs and api cleanup
2015-04-20 16:32:09 -07:00
Henry Cook
f66a9fd7a6
simplify ClientMetadata.makeRelease
2015-04-20 10:46:02 -07:00
Henry Cook
6d40a61060
TileLink scala doc and parameter renaming
2015-04-19 22:06:44 -07:00
Henry Cook
ba7a8b1752
TileLink refactor; TileLinkPorts now available. L2Banks no longer have unique ids (suitable for hierarhical P&R).
2015-04-17 16:55:20 -07:00
Henry Cook
ce3271aef2
refactor LNClients and LNManagers
2015-04-15 15:48:36 -07:00
Henry Cook
90f800d87d
Grant bugfixes and more comments
2015-04-13 15:57:06 -07:00
Henry Cook
3cf1778c92
moved ecc lib to uncore, l2 checks for partial write masks when ecc is enabled
2015-04-06 12:22:23 -07:00
Henry Cook
9708d25dff
Restructure L2 state machine and utilize HeaderlessTileLinkIO
2015-04-06 12:19:51 -07:00
Henry Cook
ced627f00a
slight mod to pending_puts
...
cleaner state transition logic
2015-04-01 15:24:53 -07:00
Henry Cook
8959b2e81a
TileLinkEnqueuer
2015-03-26 13:29:52 -07:00
Henry Cook
b7af610569
broadcast hub bugfix
2015-03-26 11:29:04 -07:00
Henry Cook
4176edaa34
clean up tracker allocation
2015-03-26 10:17:51 -07:00
Henry Cook
db5511300d
Merge branch 'l2-subblock-merging'
2015-03-18 23:52:06 -07:00
Henry Cook
3cf033180f
pending read fix
2015-03-18 22:41:09 -07:00
Henry Cook
004ad11af6
cleanup pending signals
2015-03-18 22:14:41 -07:00
Henry Cook
002851f836
disentangle is_hit logic
2015-03-18 21:11:40 -07:00
Henry Cook
b92ea60891
you can 'hit' with putblocks even when the tag doesn't match but you still better writeback
2015-03-18 19:32:46 -07:00
Henry Cook
fb8071c12d
generous hit detection on PutBlocks
2015-03-18 18:49:32 -07:00
Henry Cook
19059bf0eb
put data can be used for ignts
2015-03-18 18:28:03 -07:00
Henry Cook
1ff184bf62
first cut at optimized state transitions
2015-03-18 17:55:05 -07:00
Henry Cook
e325399c87
Re-split mem resp tag and data queues
2015-03-18 12:49:53 -07:00
Henry Cook
42aa4aa8ca
Secondary miss param
2015-03-17 22:53:50 -07:00
Henry Cook
b364d387de
Merge branch 'l2-subblock-merging' of github.com:ucb-bar/uncore into l2-subblock-merging
2015-03-17 22:46:54 -07:00
Henry Cook
825c4b2850
make ignts more eager
2015-03-17 22:44:53 -07:00
Henry Cook
0e4cf74d8a
always merge Puts
2015-03-17 20:53:27 -07:00
Henry Cook
d48775eecb
cleanup outdated comments
2015-03-17 20:31:23 -07:00
Henry Cook
638bace858
avoid reading data when write mask is full
2015-03-17 20:28:21 -07:00
Henry Cook
b9591b297c
added s_wait_puts to L2AcquireTracker
2015-03-17 20:28:21 -07:00
Henry Cook
2d3f947a9c
cleaned up finish counter
2015-03-17 20:28:21 -07:00
Henry Cook
b08dced37c
first cut at pending scoreboarding
2015-03-17 17:51:00 -07:00
Henry Cook
fc0ae81a97
added finish counter
2015-03-17 15:04:30 -07:00
Henry Cook
d774afaf73
Merge branch 'l2-subblock-merging' of github.com:ucb-bar/uncore into l2-subblock-merging
2015-03-17 13:10:42 -07:00
Henry Cook
5c2461c743
merge data wmask bugfix
2015-03-17 13:09:47 -07:00
Henry Cook
dc88614094
overlapping read/resps in l2 fix
2015-03-17 13:09:47 -07:00
Henry Cook
730a13abf2
pending read fix
2015-03-17 13:09:46 -07:00
Henry Cook
23f8033df5
turn off self probes again
2015-03-17 13:09:46 -07:00
Henry Cook
d9598d26f2
fix assert
2015-03-17 13:09:46 -07:00
Henry Cook
6d565d22e3
clean up acquire alloc in hub
2015-03-17 13:09:45 -07:00
Henry Cook
3f070eee1f
first cut of merging puts/gets
2015-03-17 13:09:44 -07:00
Henry Cook
6af48e168a
cleanup mergeData buffer
2015-03-17 13:08:14 -07:00
Henry Cook
9bedde9a8a
re-merge mem resp queues
2015-03-17 12:22:57 -07:00
Henry Cook
1471d9debc
fix assert
2015-03-17 05:40:05 -07:00
Henry Cook
ce9d4b6e70
further amo cleanups
2015-03-17 05:37:41 -07:00
Henry Cook
257dcedcb3
merge data wmask bugfix
2015-03-17 04:58:54 -07:00
Henry Cook
fd8f6ff026
overlapping read/resps in l2 fix
2015-03-17 02:10:30 -07:00
Henry Cook
2d33dd8e6e
pending read fix
2015-03-17 01:17:44 -07:00
Henry Cook
b21fcdfbe0
turn off self probes again
2015-03-17 00:24:59 -07:00
Henry Cook
672fbb574f
fix assert
2015-03-17 00:23:35 -07:00
Henry Cook
40a5059cee
clean up acquire alloc in hub
2015-03-17 00:23:11 -07:00
Henry Cook
f6fe037e30
first cut of merging puts/gets
2015-03-16 23:41:56 -07:00
Henry Cook
36fc67dc7c
cleanup mergeData buffer
2015-03-16 22:43:36 -07:00
Henry Cook
cf1df2d72a
further amo cleanups
2015-03-16 13:27:05 -07:00
Henry Cook
f35a6a574f
Add a queue on released data coming in to L2
2015-03-16 13:25:01 -07:00
Henry Cook
b72230a9f0
PutBlock bugfix
2015-03-16 00:09:55 -07:00