M5 Bugs

Login!
Register as a new userLost password?

for Project:

FS#261 — Make bus bridge use 1 line cache for partial block writes

Attached to Project— M5 Bugs
Opened by Ali Saidi (saidi) - Wednesday, 09 May 2007, 05:02PM
Last edited by Ali Saidi (saidi) - Friday, 11 April 2008, 02:04PM
Bug
Memory System
New
Ali Saidi
All
High
Normal
1.1
2.0
Undecided
70%
Right now the bus bridge is doing a functional read when it sees a partial block write. It should really be using a 1 line cache to do it's work for it, but the caches probably need to be in a better state before this happens.

This works now, however the implementation is non-ideal. We need more control over the latency on both sides of the cache. Generally, memory side requests should be handled quickly, while device side requests might take longer. However unless we stick another bus bridge between the devices and the cache this isn't really configurable.
This task blocks these from closing
Comment by Ron Dreslinski (rdreslin) - Wednesday, 16 May 2007, 07:36PM

Here is a diagram of possible bus bridge diode connection.

  diodde.jpg
Comment by Ali Saidi (saidi) - Friday, 10 August 2007, 02:12PM

Works, but cache needs to send out write invalidates instead of readex, writebacks on full block writes and maybe eagerly writeback partial blocks


Comment by Ali Saidi (saidi) - Saturday, 15 December 2007, 02:12PM

Another problem with this is that there is that I believe the hit latency governs how fast the cache can respond to snoops that require a block transfer. This is annoying because presumably an I/O cache would have a fast memory side interface and a slower device side interface (the reverse of a normal cache). Getting latencies from i/o devices right is harder in this case. We probably want a separate snoop response latency and hit latency in the caches