l1v

package
v1.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 5, 2020 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package l1v provides a GCN3 GPU L1 cache implementation.

Index

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 l1v cache

func NewBuilder

func NewBuilder() *Builder

NewBuilder creates a builder with default parameter setting

func (*Builder) Build

func (b *Builder) Build(name string) *Cache

Build returns a new cache unit

func (*Builder) WithBankLatency

func (b *Builder) WithBankLatency(n int) *Builder

WithBankLatency sets the number of cycles needed to read to write a cacheline.

func (*Builder) WithEngine

func (b *Builder) WithEngine(engine akita.Engine) *Builder

WithEngine sets the event driven simulation engine that the cache uses

func (*Builder) WithFreq

func (b *Builder) WithFreq(freq akita.Freq) *Builder

WithFreq sets the frequency that the cache works at

func (*Builder) WithLog2BlockSize

func (b *Builder) WithLog2BlockSize(n uint64) *Builder

WithLog2BlockSize sets the number of bytes in a cache line as a power of 2

func (*Builder) WithLowModuleFinder

func (b *Builder) WithLowModuleFinder(
	lowModuleFinder cache.LowModuleFinder,
) *Builder

WithLowModuleFinder specifies how the cache units to create should find low level modules.

func (*Builder) WithNumBanks

func (b *Builder) WithNumBanks(n int) *Builder

WithNumBanks sets the number of banks in each cache

func (*Builder) WithNumMSHREntry

func (b *Builder) WithNumMSHREntry(num int) *Builder

WithNumMSHREntry sets the number of mshr entry

func (*Builder) WithNumReqsPerCycle

func (b *Builder) WithNumReqsPerCycle(n int) *Builder

WithNumReqsPerCycle sets the number of requests that the cache can process per cycle

func (*Builder) WithTotalByteSize

func (b *Builder) WithTotalByteSize(byteSize uint64) *Builder

WithTotalByteSize sets the capacity of the cache unit

func (*Builder) WithVisTracer added in v1.8.1

func (b *Builder) WithVisTracer(tracer tracing.Tracer) *Builder

WithVisTracer sets the visualization tracer

func (*Builder) WithWayAssocitivity

func (b *Builder) WithWayAssocitivity(wayAssocitivity int) *Builder

WithWayAssocitivity sets the way associtivity the builder builds.

type Cache

type Cache struct {
	*akita.TickingComponent

	TopPort     akita.Port
	BottomPort  akita.Port
	ControlPort akita.Port
	// contains filtered or unexported fields
}

A Cache is a customized L1 cache the for R9nano GPUs.

func (*Cache) SetLowModuleFinder added in v1.8.1

func (c *Cache) SetLowModuleFinder(lmf cache.LowModuleFinder)

SetLowModuleFinder sets the finder that tells which remote port can serve the data on a certain address.

func (*Cache) Tick

func (c *Cache) Tick(now akita.VTimeInSec) bool

Tick update the state of the cache

Directories

Path Synopsis
acceptancetest

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL