gem5  v20.1.0.0
Public Member Functions | Private Attributes | List of all members
TaggedEntry Class Reference

Copyright (c) 2018 Metempsy Technology Consulting All rights reserved. More...

#include <associative_set.hh>

Inheritance diagram for TaggedEntry:
ReplaceableEntry Prefetcher::AccessMapPatternMatching::AccessMapEntry Prefetcher::DeltaCorrelatingPredictionTables::DCPTEntry Prefetcher::IndirectMemory::IndirectPatternDetectorEntry Prefetcher::IndirectMemory::PrefetchTableEntry Prefetcher::IrregularStreamBuffer::AddressMappingEntry Prefetcher::IrregularStreamBuffer::TrainingUnitEntry Prefetcher::PIF::IndexEntry Prefetcher::SignaturePath::PatternEntry Prefetcher::SignaturePath::SignatureEntry Prefetcher::SignaturePathV2::GlobalHistoryEntry Prefetcher::STeMS::ActiveGenerationTableEntry Prefetcher::Stride::StrideEntry

Public Member Functions

 TaggedEntry ()
 
virtual ~TaggedEntry ()
 
bool isValid () const
 Consult the valid bit. More...
 
void setValid ()
 Sets the entry to valid. More...
 
virtual void invalidate ()
 Invalidates the entry. More...
 
Addr getTag () const
 Obtain the entry tag. More...
 
void setTag (Addr t)
 Sets the tag of the entry. More...
 
bool isSecure () const
 Consult if this entry refers to a memory in the secure area. More...
 
void setSecure (bool s)
 Sets the secure value bit. More...
 
- Public Member Functions inherited from ReplaceableEntry
 ReplaceableEntry ()=default
 
virtual ~ReplaceableEntry ()=default
 
virtual void setPosition (const uint32_t set, const uint32_t way)
 Set both the set and way. More...
 
uint32_t getSet () const
 Get set number. More...
 
uint32_t getWay () const
 Get way number. More...
 
virtual std::string print () const
 Prints relevant information about this entry. More...
 

Private Attributes

Addr tag
 Tag for the entry. More...
 
bool valid
 Valid bit. More...
 
bool secure
 Whether this entry refers to a memory area in the secure space. More...
 

Additional Inherited Members

- Public Attributes inherited from ReplaceableEntry
std::shared_ptr< ReplacementDatareplacementData
 Replacement data associated to this entry. More...
 
- Protected Attributes inherited from ReplaceableEntry
uint32_t _set
 Set to which this entry belongs. More...
 
uint32_t _way
 Way (relative position within the set) to which this entry belongs. More...
 

Detailed Description

Copyright (c) 2018 Metempsy Technology Consulting All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer; redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution; neither the name of the copyright holders nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Entry used for set-associative tables, usable with replacement policies

Definition at line 39 of file associative_set.hh.

Constructor & Destructor Documentation

◆ TaggedEntry()

TaggedEntry::TaggedEntry ( )
inline

Definition at line 47 of file associative_set.hh.

◆ ~TaggedEntry()

virtual TaggedEntry::~TaggedEntry ( )
inlinevirtual

Definition at line 48 of file associative_set.hh.

Member Function Documentation

◆ getTag()

Addr TaggedEntry::getTag ( ) const
inline

Obtain the entry tag.

Returns
the tag value

Definition at line 78 of file associative_set.hh.

References tag.

Referenced by Prefetcher::IndirectMemory::trackMissIndex2().

◆ invalidate()

virtual void TaggedEntry::invalidate ( )
inlinevirtual

◆ isSecure()

bool TaggedEntry::isSecure ( ) const
inline

Consult if this entry refers to a memory in the secure area.

Returns
True if this entry refers to secure memory area

Definition at line 96 of file associative_set.hh.

References secure.

◆ isValid()

bool TaggedEntry::isValid ( ) const
inline

Consult the valid bit.

Returns
True if the entry is valid

Definition at line 54 of file associative_set.hh.

References valid.

◆ setSecure()

void TaggedEntry::setSecure ( bool  s)
inline

Sets the secure value bit.

Parameters
ssecure bit value

Definition at line 105 of file associative_set.hh.

References ArmISA::s, and secure.

◆ setTag()

void TaggedEntry::setTag ( Addr  t)
inline

Sets the tag of the entry.

Parameters
tthe tag value

Definition at line 87 of file associative_set.hh.

References ArmISA::t, and tag.

◆ setValid()

void TaggedEntry::setValid ( )
inline

Sets the entry to valid.

Definition at line 62 of file associative_set.hh.

References valid.

Member Data Documentation

◆ secure

bool TaggedEntry::secure
private

Whether this entry refers to a memory area in the secure space.

Definition at line 45 of file associative_set.hh.

Referenced by isSecure(), and setSecure().

◆ tag

Addr TaggedEntry::tag
private

Tag for the entry.

Definition at line 41 of file associative_set.hh.

Referenced by getTag(), and setTag().

◆ valid

bool TaggedEntry::valid
private

Valid bit.

Definition at line 43 of file associative_set.hh.

Referenced by invalidate(), isValid(), and setValid().


The documentation for this class was generated from the following file:

Generated on Wed Sep 30 2020 14:02:33 for gem5 by doxygen 1.8.17