Who calls it and what is the input?
Where does it go?
How is it related tagged memory?
memory
is re-used by TagControllerfile: cherilibs/trunk/L2Cache.bsv
Master is memory
; Slave is cache
;
mkConnection(l2CacheMemory, tagController.cache);
means Master is l2CacheMemory
and slave is tagController.cache
, that is tag controller is being called by l2Cache; and l2Cache send request and get response from tagController.
interface L2CacheIfc;
interface Slave#(CheriMemRequest, CheriMemResponse) cache;
interface Master#(CheriMemRequest, CheriMemResponse) memory;
`ifdef MULTI
`ifndef TIMEBASED
method ActionValue#(Maybe#(InvalidateCache)) getInvalidate;
method Action putInvalidateDone(Bool didWriteback);
`endif
`endif
`ifdef STATCOUNTERS
interface Get#(ModuleEvents) cacheEvents;
`endif
endinterface: L2CacheIfc
Reference 1
If you could revise
the fundmental principles of
computer system design
to improve security...
... what would you change?