diff options
Diffstat (limited to 'src/mem/cache/prefetch/base.hh')
-rw-r--r-- | src/mem/cache/prefetch/base.hh | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/mem/cache/prefetch/base.hh b/src/mem/cache/prefetch/base.hh index dd768e0b4..683c59f1f 100644 --- a/src/mem/cache/prefetch/base.hh +++ b/src/mem/cache/prefetch/base.hh @@ -68,6 +68,9 @@ class BasePrefetcher : public ClockedObject /** The block size of the parent cache. */ unsigned blkSize; + /** log_2(block size of the parent cache). */ + unsigned lBlkSize; + /** System we belong to */ System* system; @@ -102,6 +105,17 @@ class BasePrefetcher : public ClockedObject /** Determine if addresses are on the same page */ bool samePage(Addr a, Addr b) const; + /** Determine the address of the block in which a lays */ + Addr blockAddress(Addr a) const; + /** Determine the address of a at block granularity */ + Addr blockIndex(Addr a) const; + /** Determine the address of the page in which a lays */ + Addr pageAddress(Addr a) const; + /** Determine the page-offset of a */ + Addr pageOffset(Addr a) const; + /** Build the address of the i-th block inside the page */ + Addr pageIthBlockAddress(Addr page, uint32_t i) const; + Stats::Scalar pfIssued; |