summaryrefslogtreecommitdiff
path: root/src/cpu/inorder/resources/cache_unit.hh
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2009-05-12 15:01:15 -0400
committerKorey Sewell <ksewell@umich.edu>2009-05-12 15:01:15 -0400
commit3603dd25efb70ec400e8ea1e76137e8e288e533a (patch)
tree2cfa5d08686ca4eb4f1fb5af0f58688cb6d0affd /src/cpu/inorder/resources/cache_unit.hh
parentc9a03f549b63dbf2e6e192bce02c57c48cec05e2 (diff)
downloadgem5-3603dd25efb70ec400e8ea1e76137e8e288e533a.tar.xz
inorder-fetch: update model to use predecoder
Diffstat (limited to 'src/cpu/inorder/resources/cache_unit.hh')
-rw-r--r--src/cpu/inorder/resources/cache_unit.hh19
1 files changed, 5 insertions, 14 deletions
diff --git a/src/cpu/inorder/resources/cache_unit.hh b/src/cpu/inorder/resources/cache_unit.hh
index 4cde686b8..06ccf3bec 100644
--- a/src/cpu/inorder/resources/cache_unit.hh
+++ b/src/cpu/inorder/resources/cache_unit.hh
@@ -36,8 +36,7 @@
#include <list>
#include <string>
-//#include "cpu/inorder/params.hh"
-
+#include "arch/predecoder.hh"
#include "cpu/inorder/resource.hh"
#include "cpu/inorder/inorder_dyn_inst.hh"
#include "mem/packet.hh"
@@ -154,19 +153,12 @@ class CacheUnit : public Resource
/** Align a PC to the start of an I-cache block. */
Addr cacheBlockAlignPC(Addr addr)
{
- //addr = TheISA::realPCToFetchPC(addr);
return (addr & ~(cacheBlkMask));
}
/** Returns a specific port. */
Port *getPort(const std::string &if_name, int idx);
- /** Fetch on behalf of an instruction. Will check to see
- * if instruction is actually in resource before
- * trying to fetch.
- */
- //Fault doFetchAccess(DynInstPtr inst);
-
/** Read/Write on behalf of an instruction.
* curResSlot needs to be a valid value in instruction.
*/
@@ -207,17 +199,16 @@ class CacheUnit : public Resource
return (addr & ~(cacheBlkMask));
}
- /** THINGS USED FOR FETCH */
- // NO LONGER USED BY COMMENT OUT UNTIL FULL VERIFICATION
/** The mem line being fetched. */
- //uint8_t *cacheData[ThePipeline::MaxThreads];
+ uint8_t *fetchData[ThePipeline::MaxThreads];
+ /** @TODO: Move functionaly of fetching more than
+ one instruction to 'fetch unit'*/
/** The Addr of the cacheline that has been loaded. */
//Addr cacheBlockAddr[ThePipeline::MaxThreads];
-
//unsigned fetchOffset[ThePipeline::MaxThreads];
- /** @todo: Add Resource Stats Here */
+ TheISA::Predecoder predecoder;
};
struct CacheSchedEntry : public ThePipeline::ScheduleEntry