diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2006-06-27 15:04:11 -0400 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2006-06-27 15:04:11 -0400 |
commit | ecab4b426c949dad797df0bde1c0c120b4b5fb00 (patch) | |
tree | 3e37ef3c4cd06aab776f4cedf6840526eded9215 /src/mem/page_table.hh | |
parent | 07cd37c48b018679553e6b12a5591c5759f433d6 (diff) | |
download | gem5-ecab4b426c949dad797df0bde1c0c120b4b5fb00.tar.xz |
change the page table from map to hash_map and create small cache to to speed up lookups
--HG--
extra : convert_revision : 4c73ed33c2a22ae3254b459b0fd189e6ac9d438e
Diffstat (limited to 'src/mem/page_table.hh')
-rw-r--r-- | src/mem/page_table.hh | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/mem/page_table.hh b/src/mem/page_table.hh index f7212d423..494c0ce9a 100644 --- a/src/mem/page_table.hh +++ b/src/mem/page_table.hh @@ -37,9 +37,9 @@ #define __PAGE_TABLE__ #include <string> -#include <map> #include "arch/isa_traits.hh" +#include "base/hashmap.hh" #include "base/trace.hh" #include "mem/request.hh" #include "mem/packet.hh" @@ -53,7 +53,14 @@ class System; class PageTable { protected: - std::map<Addr,Addr> pTable; + m5::hash_map<Addr,Addr> pTable; + + struct cacheElement { + Addr paddr; + Addr vaddr; + } ; + + struct cacheElement pTableCache[3]; const Addr pageSize; const Addr offsetMask; |