pub struct CacheParameter { /* private fields */ }
Expand description

Information about an individual cache in the hierarchy.

Platforms

🟡 AMD ✅ Intel

Implementations§

source§

impl CacheParameter

source

pub fn cache_type(&self) -> CacheType

Cache Type

Platforms

✅ AMD ✅ Intel

source

pub fn level(&self) -> u8

Cache Level (starts at 1)

Platforms

✅ AMD ✅ Intel

source

pub fn is_self_initializing(&self) -> bool

Self Initializing cache level (does not need SW initialization).

Platforms

✅ AMD ✅ Intel

source

pub fn is_fully_associative(&self) -> bool

Fully Associative cache

Platforms

✅ AMD ✅ Intel

source

pub fn max_cores_for_cache(&self) -> usize

Maximum number of addressable IDs for logical processors sharing this cache

Platforms

✅ AMD ✅ Intel

source

pub fn max_cores_for_package(&self) -> usize

Maximum number of addressable IDs for processor cores in the physical package

Platforms

❌ AMD ✅ Intel

source

pub fn coherency_line_size(&self) -> usize

System Coherency Line Size (Bits 11-00)

Platforms

✅ AMD ✅ Intel

source

pub fn physical_line_partitions(&self) -> usize

Physical Line partitions (Bits 21-12)

Platforms

✅ AMD ✅ Intel

source

pub fn associativity(&self) -> usize

Ways of associativity (Bits 31-22)

Platforms

✅ AMD ✅ Intel

source

pub fn sets(&self) -> usize

Number of Sets (Bits 31-00)

Platforms

✅ AMD ✅ Intel

source

pub fn is_write_back_invalidate(&self) -> bool

Write-Back Invalidate/Invalidate (Bit 0) False: WBINVD/INVD from threads sharing this cache acts upon lower level caches for threads sharing this cache. True: WBINVD/INVD is not guaranteed to act upon lower level caches of non-originating threads sharing this cache.

Platforms

✅ AMD ✅ Intel

source

pub fn is_inclusive(&self) -> bool

Cache Inclusiveness (Bit 1) False: Cache is not inclusive of lower cache levels. True: Cache is inclusive of lower cache levels.

Platforms

✅ AMD ✅ Intel

source

pub fn has_complex_indexing(&self) -> bool

Complex Cache Indexing (Bit 2) False: Direct mapped cache. True: A complex function is used to index the cache, potentially using all address bits.

Platforms

❌ AMD ✅ Intel

Trait Implementations§

source§

impl Clone for CacheParameter

source§

fn clone(&self) -> CacheParameter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CacheParameter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq<CacheParameter> for CacheParameter

source§

fn eq(&self, other: &CacheParameter) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for CacheParameter

source§

impl Eq for CacheParameter

source§

impl StructuralEq for CacheParameter

source§

impl StructuralPartialEq for CacheParameter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.