Documentation
¶
Overview ¶
Package tlb provides a TLB component implementation.
Index ¶
- type Builder
- func (b Builder) Build(name string) *TLB
- func (b Builder) WithEngine(engine akita.Engine) Builder
- func (b Builder) WithFreq(freq akita.Freq) Builder
- func (b Builder) WithLowModule(lowModule akita.Port) Builder
- func (b Builder) WithNumMSHREntry(num int) Builder
- func (b Builder) WithNumReqPerCycle(n int) Builder
- func (b Builder) WithNumSets(n int) Builder
- func (b Builder) WithNumWays(n int) Builder
- func (b Builder) WithPageSize(n uint64) Builder
- type TLB
- type TLBFlushReq
- type TLBFlushReqBuilder
- func (b TLBFlushReqBuilder) Build() *TLBFlushReq
- func (b TLBFlushReqBuilder) WithDst(dst akita.Port) TLBFlushReqBuilder
- func (b TLBFlushReqBuilder) WithPID(pid ca.PID) TLBFlushReqBuilder
- func (b TLBFlushReqBuilder) WithSendTime(t akita.VTimeInSec) TLBFlushReqBuilder
- func (b TLBFlushReqBuilder) WithSrc(src akita.Port) TLBFlushReqBuilder
- func (b TLBFlushReqBuilder) WithVAddrs(vAddrs []uint64) TLBFlushReqBuilder
- type TLBFlushRsp
- type TLBFlushRspBuilder
- type TLBRestartReq
- type TLBRestartReqBuilder
- type TLBRestartRsp
- type TLBRestartRspBuilder
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 TLBs
func (Builder) WithEngine ¶
WithEngine sets the engine that the TLBs to use
func (Builder) WithLowModule ¶
WithLowModule sets the port that can provide the address translation in case of tlb miss.
func (Builder) WithNumMSHREntry ¶ added in v1.4.0
WithNumMSHREntry sets the number of mshr entry
func (Builder) WithNumReqPerCycle ¶
WithNumReqPerCycle sets the number of requests per cycle can be processed by a TLB
func (Builder) WithNumSets ¶
WithNumSets sets the number of sets in a TLB. Use 1 for fully associated TLBs.
func (Builder) WithNumWays ¶
WithNumWays sets the number of ways in a TLB. Set this field to the number of TLB entries for all the functions.
func (Builder) WithPageSize ¶
WithPageSize sets the page size that the TLB works with.
type TLB ¶
type TLB struct { *akita.TickingComponent TopPort akita.Port BottomPort akita.Port ControlPort akita.Port LowModule akita.Port Sets []internal.Set // contains filtered or unexported fields }
A TLB is a cache that maintains some page information.
type TLBFlushReq ¶ added in v1.5.0
A TLBFlushReq asks the TLB to invalidate certain entries. It will also not block all incoming and outgoing ports
func (*TLBFlushReq) Meta ¶ added in v1.5.0
func (r *TLBFlushReq) Meta() *akita.MsgMeta
Meta returns the meta data associated with the message.
type TLBFlushReqBuilder ¶ added in v1.5.0
type TLBFlushReqBuilder struct {
// contains filtered or unexported fields
}
TLBFlushReqBuilder can build AT flush requests
func (TLBFlushReqBuilder) Build ¶ added in v1.5.0
func (b TLBFlushReqBuilder) Build() *TLBFlushReq
Build creates a new TLBFlushReq
func (TLBFlushReqBuilder) WithDst ¶ added in v1.5.0
func (b TLBFlushReqBuilder) WithDst(dst akita.Port) TLBFlushReqBuilder
WithDst sets the destination of the request to build.
func (TLBFlushReqBuilder) WithPID ¶ added in v1.5.0
func (b TLBFlushReqBuilder) WithPID(pid ca.PID) TLBFlushReqBuilder
WithPID sets the pid whose entries are to be flushed
func (TLBFlushReqBuilder) WithSendTime ¶ added in v1.5.0
func (b TLBFlushReqBuilder) WithSendTime( t akita.VTimeInSec, ) TLBFlushReqBuilder
WithSendTime sets the send time of the request to build.:w
func (TLBFlushReqBuilder) WithSrc ¶ added in v1.5.0
func (b TLBFlushReqBuilder) WithSrc(src akita.Port) TLBFlushReqBuilder
WithSrc sets the source of the request to build.
func (TLBFlushReqBuilder) WithVAddrs ¶ added in v1.5.0
func (b TLBFlushReqBuilder) WithVAddrs(vAddrs []uint64) TLBFlushReqBuilder
WithVAddrs sets the Vaddr of the pages to be flushed
type TLBFlushRsp ¶ added in v1.5.0
A TLBFlushRsp is a response from AT indicating flush is complete
func (*TLBFlushRsp) Meta ¶ added in v1.5.0
func (r *TLBFlushRsp) Meta() *akita.MsgMeta
Meta returns the meta data associated with the message.
type TLBFlushRspBuilder ¶ added in v1.5.0
type TLBFlushRspBuilder struct {
// contains filtered or unexported fields
}
TLBFlushRspBuilder can build AT flush rsp
func (TLBFlushRspBuilder) Build ¶ added in v1.5.0
func (b TLBFlushRspBuilder) Build() *TLBFlushRsp
Build creates a new TLBFlushRsps.
func (TLBFlushRspBuilder) WithDst ¶ added in v1.5.0
func (b TLBFlushRspBuilder) WithDst(dst akita.Port) TLBFlushRspBuilder
WithDst sets the destination of the request to build.
func (TLBFlushRspBuilder) WithSendTime ¶ added in v1.5.0
func (b TLBFlushRspBuilder) WithSendTime( t akita.VTimeInSec, ) TLBFlushRspBuilder
WithSendTime sets the send time of the request to build.:w
func (TLBFlushRspBuilder) WithSrc ¶ added in v1.5.0
func (b TLBFlushRspBuilder) WithSrc(src akita.Port) TLBFlushRspBuilder
WithSrc sets the source of the request to build.
type TLBRestartReq ¶ added in v1.5.0
A TLBRestartReq is a request to TLB to start accepting requests and resume operations
func (*TLBRestartReq) Meta ¶ added in v1.5.0
func (r *TLBRestartReq) Meta() *akita.MsgMeta
Meta returns the meta data associated with the message.
type TLBRestartReqBuilder ¶ added in v1.5.0
type TLBRestartReqBuilder struct {
// contains filtered or unexported fields
}
TLBRestartReqBuilder can build TLB restart requests.
func (TLBRestartReqBuilder) Build ¶ added in v1.5.0
func (b TLBRestartReqBuilder) Build() *TLBRestartReq
Build creates a new TLBRestartReq.
func (TLBRestartReqBuilder) WithDst ¶ added in v1.5.0
func (b TLBRestartReqBuilder) WithDst(dst akita.Port) TLBRestartReqBuilder
WithDst sets the destination of the request to build.
func (TLBRestartReqBuilder) WithSendTime ¶ added in v1.5.0
func (b TLBRestartReqBuilder) WithSendTime( t akita.VTimeInSec, ) TLBRestartReqBuilder
WithSendTime sets the send time of the request to build.
func (TLBRestartReqBuilder) WithSrc ¶ added in v1.5.0
func (b TLBRestartReqBuilder) WithSrc(src akita.Port) TLBRestartReqBuilder
WithSrc sets the source of the request to build.
type TLBRestartRsp ¶ added in v1.5.0
A TLBRestartRsp is a response from AT indicating it has resumed working
func (*TLBRestartRsp) Meta ¶ added in v1.5.0
func (r *TLBRestartRsp) Meta() *akita.MsgMeta
Meta returns the meta data associated with the message.
type TLBRestartRspBuilder ¶ added in v1.5.0
type TLBRestartRspBuilder struct {
// contains filtered or unexported fields
}
TLBRestartRspBuilder can build AT flush rsp
func (TLBRestartRspBuilder) Build ¶ added in v1.5.0
func (b TLBRestartRspBuilder) Build() *TLBRestartRsp
Build creates a new TLBRestartRsp
func (TLBRestartRspBuilder) WithDst ¶ added in v1.5.0
func (b TLBRestartRspBuilder) WithDst(dst akita.Port) TLBRestartRspBuilder
WithDst sets the destination of the request to build.
func (TLBRestartRspBuilder) WithSendTime ¶ added in v1.5.0
func (b TLBRestartRspBuilder) WithSendTime( t akita.VTimeInSec, ) TLBRestartRspBuilder
WithSendTime sets the send time of the request to build.:w
func (TLBRestartRspBuilder) WithSrc ¶ added in v1.5.0
func (b TLBRestartRspBuilder) WithSrc(src akita.Port) TLBRestartRspBuilder
WithSrc sets the source of the request to build.