Versions in this module Expand all Collapse all v1 v1.8.2 Mar 26, 2020 Changes in this version + type BankedLowModuleFinder struct + BankSize uint64 + LowModules []akita.Port + func NewBankedLowModuleFinder(bankSize uint64) *BankedLowModuleFinder + func (f *BankedLowModuleFinder) Find(address uint64) akita.Port + type Block struct + CacheAddress uint64 + DirtyMask []bool + IsDirty bool + IsLocked bool + IsValid bool + PID ca.PID + ReadCount int + SetID int + Tag uint64 + WayID int + type Directory interface + FindVictim func(address uint64) *Block + GetSets func() []Set + Lookup func(pid ca.PID, address uint64) *Block + Reset func() + TotalSize func() uint64 + Visit func(block *Block) + WayAssociativity func() int + type DirectoryImpl struct + BlockSize int + NumSets int + NumWays int + Sets []Set + func NewDirectory(set, way, blockSize int, victimFinder VictimFinder) *DirectoryImpl + func (d *DirectoryImpl) FindVictim(addr uint64) *Block + func (d *DirectoryImpl) GetSets() []Set + func (d *DirectoryImpl) Lookup(PID ca.PID, reqAddr uint64) *Block + func (d *DirectoryImpl) Reset() + func (d *DirectoryImpl) TotalSize() uint64 + func (d *DirectoryImpl) Visit(block *Block) + func (d *DirectoryImpl) WayAssociativity() int + type FlushReq struct + DiscardInflight bool + InvalidateAllCachelines bool + PauseAfterFlushing bool + func (r *FlushReq) Meta() *akita.MsgMeta + type FlushReqBuilder struct + func (b FlushReqBuilder) Build() *FlushReq + func (b FlushReqBuilder) DiscardInflight() FlushReqBuilder + func (b FlushReqBuilder) InvalidateAllCacheLines() FlushReqBuilder + func (b FlushReqBuilder) PauseAfterFlushing() FlushReqBuilder + func (b FlushReqBuilder) WithDst(dst akita.Port) FlushReqBuilder + func (b FlushReqBuilder) WithSendTime(t akita.VTimeInSec) FlushReqBuilder + func (b FlushReqBuilder) WithSrc(src akita.Port) FlushReqBuilder + type FlushRsp struct + RspTo string + func (r *FlushRsp) Meta() *akita.MsgMeta + type FlushRspBuilder struct + func (b FlushRspBuilder) Build() *FlushRsp + func (b FlushRspBuilder) WithDst(dst akita.Port) FlushRspBuilder + func (b FlushRspBuilder) WithRspTo(id string) FlushRspBuilder + func (b FlushRspBuilder) WithSendTime(t akita.VTimeInSec) FlushRspBuilder + func (b FlushRspBuilder) WithSrc(src akita.Port) FlushRspBuilder + type InterleavedLowModuleFinder struct + HighAddress uint64 + InterleavingSize uint64 + LowAddress uint64 + LowModules []akita.Port + ModuleForOtherAddresses akita.Port + UseAddressSpaceLimitation bool + func NewInterleavedLowModuleFinder(interleavingSize uint64) *InterleavedLowModuleFinder + func (f *InterleavedLowModuleFinder) Find(address uint64) akita.Port + type LRUVictimFinder struct + func NewLRUVictimFinder() *LRUVictimFinder + func (e *LRUVictimFinder) FindVictim(set *Set) *Block + type LowModuleFinder interface + Find func(address uint64) akita.Port + type MSHR interface + Add func(pid ca.PID, addr uint64) *MSHREntry + AllEntries func() []*MSHREntry + IsFull func() bool + Query func(pid ca.PID, addr uint64) *MSHREntry + Remove func(pid ca.PID, addr uint64) *MSHREntry + Reset func() + func NewMSHR(capacity int) MSHR + type MSHREntry struct + Address uint64 + Block *Block + Data []byte + DataReady *mem.DataReadyRsp + PID ca.PID + ReadReq *mem.ReadReq + Requests []interface{} + func NewMSHREntry() *MSHREntry + type RestartReq struct + func (r *RestartReq) Meta() *akita.MsgMeta + type RestartReqBuilder struct + func (b RestartReqBuilder) Build() *RestartReq + func (b RestartReqBuilder) WithDst(dst akita.Port) RestartReqBuilder + func (b RestartReqBuilder) WithSendTime(t akita.VTimeInSec) RestartReqBuilder + func (b RestartReqBuilder) WithSrc(src akita.Port) RestartReqBuilder + type RestartRsp struct + RspTo string + func (r *RestartRsp) Meta() *akita.MsgMeta + type RestartRspBuilder struct + func (b RestartRspBuilder) Build() *RestartRsp + func (b RestartRspBuilder) WithDst(dst akita.Port) RestartRspBuilder + func (b RestartRspBuilder) WithRspTo(id string) RestartRspBuilder + func (b RestartRspBuilder) WithSendTime(t akita.VTimeInSec) RestartRspBuilder + func (b RestartRspBuilder) WithSrc(src akita.Port) RestartRspBuilder + type Set struct + Blocks []*Block + LRUQueue []*Block + type SingleLowModuleFinder struct + LowModule akita.Port + func (f *SingleLowModuleFinder) Find(address uint64) akita.Port + type VictimFinder interface + FindVictim func(set *Set) *Block