rob

package
v1.10.1 Latest Latest
Warning

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

Go to latest
Published: Mar 5, 2021 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package rob implemented an reorder buffer for memory requests.

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 ReorderBuffers.

func MakeBuilder

func MakeBuilder() Builder

MakeBuilder creates a builder with default parameters.

func (Builder) Build

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

Build creates a ReorderBuffer with the given parameters.

func (Builder) WithBufferSize

func (b Builder) WithBufferSize(n int) Builder

WithBufferSize sets the number of transactions that the buffer can handle.

func (Builder) WithEngine

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

WithEngine sets the engine to use.

func (Builder) WithFreq

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

WithFreq sets the frequency that the ReorderBuffer works at.

func (Builder) WithNumReqPerCycle

func (b Builder) WithNumReqPerCycle(n int) Builder

WithNumReqPerCycle sets the number of request that the ReorderBuffer can handle in each cycle.

type ReorderBuffer

type ReorderBuffer struct {
	*akita.TickingComponent

	TopPort     akita.Port
	BottomPort  akita.Port
	ControlPort akita.Port

	BottomUnit akita.Port
	// contains filtered or unexported fields
}

ReorderBuffer can maintain the returning order of memory transactions.

func (*ReorderBuffer) Tick

func (b *ReorderBuffer) Tick(now akita.VTimeInSec) (madeProgress bool)

Tick updates the status of the ReorderBuffer.

Jump to

Keyboard shortcuts

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