Documentation ¶
Overview ¶
Package writethrough provides a GCN3 GPU L1 cache implementation.
Index ¶
- type Builder
- func (b *Builder) Build(name string) *Cache
- func (b *Builder) WithBankLatency(n int) *Builder
- func (b *Builder) WithDirectoryLatency(n int) *Builder
- func (b *Builder) WithEngine(engine sim.Engine) *Builder
- func (b *Builder) WithFreq(freq sim.Freq) *Builder
- func (b *Builder) WithLog2BlockSize(n uint64) *Builder
- func (b *Builder) WithLowModuleFinder(lowModuleFinder mem.LowModuleFinder) *Builder
- func (b *Builder) WithMaxNumConcurrentTrans(n int) *Builder
- func (b *Builder) WithNumBanks(n int) *Builder
- func (b *Builder) WithNumMSHREntry(num int) *Builder
- func (b *Builder) WithNumReqsPerCycle(n int) *Builder
- func (b *Builder) WithTotalByteSize(byteSize uint64) *Builder
- func (b *Builder) WithVisTracer(tracer tracing.Tracer) *Builder
- func (b *Builder) WithWayAssociativity(wayAssociativity int) *Builder
- type Cache
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
A Builder can build an writethrough cache
func NewBuilder ¶
func NewBuilder() *Builder
NewBuilder creates a builder with default parameter setting
func (*Builder) WithBankLatency ¶
WithBankLatency sets the number of cycles needed to read to write a cacheline.
func (*Builder) WithDirectoryLatency ¶
WithDirectoryLatency sets the number of cycles required to access the directory.
func (*Builder) WithEngine ¶
WithEngine sets the event driven simulation engine that the cache uses
func (*Builder) WithLog2BlockSize ¶
WithLog2BlockSize sets the number of bytes in a cache line as a power of 2
func (*Builder) WithLowModuleFinder ¶
func (b *Builder) WithLowModuleFinder( lowModuleFinder mem.LowModuleFinder, ) *Builder
WithLowModuleFinder specifies how the cache units to create should find low level modules.
func (*Builder) WithMaxNumConcurrentTrans ¶
WithMaxNumConcurrentTrans sets the maximum number of concurrent transactions that the cache can process.
func (*Builder) WithNumBanks ¶
WithNumBanks sets the number of banks in each cache
func (*Builder) WithNumMSHREntry ¶
WithNumMSHREntry sets the number of mshr entry
func (*Builder) WithNumReqsPerCycle ¶
WithNumReqsPerCycle sets the number of requests that the cache can process per cycle
func (*Builder) WithTotalByteSize ¶
WithTotalByteSize sets the capacity of the cache unit
func (*Builder) WithVisTracer ¶
WithVisTracer sets the visualization tracer
func (*Builder) WithWayAssociativity ¶
WithWayAssociativity sets the way associativity the builder builds.
type Cache ¶
type Cache struct { *sim.TickingComponent // contains filtered or unexported fields }
A Cache is a customized L1 cache the for R9nano GPUs.
func (*Cache) SetLowModuleFinder ¶
func (c *Cache) SetLowModuleFinder(lmf mem.LowModuleFinder)
SetLowModuleFinder sets the finder that tells which remote port can serve the data on a certain address.