summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/sparc/miscregfile.cc6
-rw-r--r--src/cpu/o3/commit_impl.hh16
-rw-r--r--src/cpu/o3/decode_impl.hh6
-rw-r--r--src/cpu/o3/fetch_impl.hh5
-rw-r--r--src/cpu/o3/iew_impl.hh7
-rw-r--r--src/cpu/o3/inst_queue_impl.hh11
-rw-r--r--src/cpu/o3/lsq_impl.hh13
-rw-r--r--src/cpu/o3/lsq_unit_impl.hh2
-rw-r--r--src/cpu/o3/rename_impl.hh10
-rw-r--r--src/cpu/o3/rob_impl.hh4
-rw-r--r--src/cpu/o3/sparc/cpu_builder.cc7
-rw-r--r--src/dev/i8254xGBe.cc317
-rw-r--r--src/dev/i8254xGBe.hh135
-rw-r--r--src/dev/i8254xGBe_defs.hh87
-rw-r--r--tests/quick/00.hello/ref/alpha/linux/o3-timing/config.ini4
-rw-r--r--tests/quick/00.hello/ref/alpha/linux/o3-timing/config.out4
-rw-r--r--tests/quick/00.hello/ref/alpha/linux/o3-timing/m5stats.txt456
-rw-r--r--tests/quick/00.hello/ref/alpha/linux/o3-timing/stderr2
-rw-r--r--tests/quick/00.hello/ref/alpha/linux/o3-timing/stdout10
-rw-r--r--tests/quick/00.hello/ref/alpha/tru64/o3-timing/config.ini4
-rw-r--r--tests/quick/00.hello/ref/alpha/tru64/o3-timing/config.out4
-rw-r--r--tests/quick/00.hello/ref/alpha/tru64/o3-timing/m5stats.txt431
-rw-r--r--tests/quick/00.hello/ref/alpha/tru64/o3-timing/stderr2
-rw-r--r--tests/quick/00.hello/ref/alpha/tru64/o3-timing/stdout10
-rw-r--r--tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/config.ini4
-rw-r--r--tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/config.out4
-rw-r--r--tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/m5stats.txt782
-rw-r--r--tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/stderr4
-rw-r--r--tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/stdout10
-rw-r--r--tests/quick/02.insttest/ref/sparc/linux/simple-atomic/config.ini6
-rw-r--r--tests/quick/02.insttest/ref/sparc/linux/simple-atomic/config.out5
-rw-r--r--tests/quick/02.insttest/ref/sparc/linux/simple-atomic/m5stats.txt18
-rw-r--r--tests/quick/02.insttest/ref/sparc/linux/simple-atomic/stdout8
33 files changed, 1377 insertions, 1017 deletions
diff --git a/src/arch/sparc/miscregfile.cc b/src/arch/sparc/miscregfile.cc
index 5bd572d38..f511ef454 100644
--- a/src/arch/sparc/miscregfile.cc
+++ b/src/arch/sparc/miscregfile.cc
@@ -647,11 +647,9 @@ void MiscRegFile::setReg(int miscReg,
return;
case MISCREG_CWP:
new_val = val >= NWindows ? NWindows - 1 : val;
- if (val >= NWindows) {
+ if (val >= NWindows)
new_val = NWindows - 1;
- warn("Attempted to set the CWP to %d with NWindows = %d\n",
- val, NWindows);
- }
+
tc->changeRegFileContext(CONTEXT_CWP, new_val);
break;
case MISCREG_GL:
diff --git a/src/cpu/o3/commit_impl.hh b/src/cpu/o3/commit_impl.hh
index 3fd85595f..65e36d99a 100644
--- a/src/cpu/o3/commit_impl.hh
+++ b/src/cpu/o3/commit_impl.hh
@@ -96,7 +96,7 @@ DefaultCommit<Impl>::DefaultCommit(Params *params)
if (policy == "aggressive"){
commitPolicy = Aggressive;
- DPRINTF(Commit,"Commit Policy set to Aggressive.");
+// DPRINTF(Commit,"Commit Policy set to Aggressive.");
} else if (policy == "roundrobin"){
commitPolicy = RoundRobin;
@@ -105,11 +105,11 @@ DefaultCommit<Impl>::DefaultCommit(Params *params)
priority_list.push_back(tid);
}
- DPRINTF(Commit,"Commit Policy set to Round Robin.");
+// DPRINTF(Commit,"Commit Policy set to Round Robin.");
} else if (policy == "oldestready"){
commitPolicy = OldestReady;
- DPRINTF(Commit,"Commit Policy set to Oldest Ready.");
+// DPRINTF(Commit,"Commit Policy set to Oldest Ready.");
} else {
assert(0 && "Invalid SMT Commit Policy. Options Are: {Aggressive,"
"RoundRobin,OldestReady}");
@@ -229,8 +229,8 @@ template <class Impl>
void
DefaultCommit<Impl>::setCPU(O3CPU *cpu_ptr)
{
- DPRINTF(Commit, "Commit: Setting CPU pointer.\n");
cpu = cpu_ptr;
+ DPRINTF(Commit, "Commit: Setting CPU pointer.\n");
// Commit must broadcast the number of free entries it has at the start of
// the simulation, so it starts as active.
@@ -250,7 +250,6 @@ template <class Impl>
void
DefaultCommit<Impl>::setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr)
{
- DPRINTF(Commit, "Commit: Setting time buffer pointer.\n");
timeBuffer = tb_ptr;
// Setup wire to send information back to IEW.
@@ -264,7 +263,6 @@ template <class Impl>
void
DefaultCommit<Impl>::setFetchQueue(TimeBuffer<FetchStruct> *fq_ptr)
{
- DPRINTF(Commit, "Commit: Setting fetch queue pointer.\n");
fetchQueue = fq_ptr;
// Setup wire to get instructions from rename (for the ROB).
@@ -275,7 +273,6 @@ template <class Impl>
void
DefaultCommit<Impl>::setRenameQueue(TimeBuffer<RenameStruct> *rq_ptr)
{
- DPRINTF(Commit, "Commit: Setting rename queue pointer.\n");
renameQueue = rq_ptr;
// Setup wire to get instructions from rename (for the ROB).
@@ -286,7 +283,6 @@ template <class Impl>
void
DefaultCommit<Impl>::setIEWQueue(TimeBuffer<IEWStruct> *iq_ptr)
{
- DPRINTF(Commit, "Commit: Setting IEW queue pointer.\n");
iewQueue = iq_ptr;
// Setup wire to get instructions from IEW.
@@ -304,7 +300,6 @@ template<class Impl>
void
DefaultCommit<Impl>::setActiveThreads(std::list<unsigned> *at_ptr)
{
- DPRINTF(Commit, "Commit: Setting active threads list pointer.\n");
activeThreads = at_ptr;
}
@@ -312,8 +307,6 @@ template <class Impl>
void
DefaultCommit<Impl>::setRenameMap(RenameMap rm_ptr[])
{
- DPRINTF(Commit, "Setting rename map pointers.\n");
-
for (int i=0; i < numThreads; i++) {
renameMap[i] = &rm_ptr[i];
}
@@ -323,7 +316,6 @@ template <class Impl>
void
DefaultCommit<Impl>::setROB(ROB *rob_ptr)
{
- DPRINTF(Commit, "Commit: Setting ROB pointer.\n");
rob = rob_ptr;
}
diff --git a/src/cpu/o3/decode_impl.hh b/src/cpu/o3/decode_impl.hh
index 79a0bfdbf..93d02bfcd 100644
--- a/src/cpu/o3/decode_impl.hh
+++ b/src/cpu/o3/decode_impl.hh
@@ -114,15 +114,14 @@ template<class Impl>
void
DefaultDecode<Impl>::setCPU(O3CPU *cpu_ptr)
{
- DPRINTF(Decode, "Setting CPU pointer.\n");
cpu = cpu_ptr;
+ DPRINTF(Decode, "Setting CPU pointer.\n");
}
template<class Impl>
void
DefaultDecode<Impl>::setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr)
{
- DPRINTF(Decode, "Setting time buffer pointer.\n");
timeBuffer = tb_ptr;
// Setup wire to write information back to fetch.
@@ -138,7 +137,6 @@ template<class Impl>
void
DefaultDecode<Impl>::setDecodeQueue(TimeBuffer<DecodeStruct> *dq_ptr)
{
- DPRINTF(Decode, "Setting decode queue pointer.\n");
decodeQueue = dq_ptr;
// Setup wire to write information to proper place in decode queue.
@@ -149,7 +147,6 @@ template<class Impl>
void
DefaultDecode<Impl>::setFetchQueue(TimeBuffer<FetchStruct> *fq_ptr)
{
- DPRINTF(Decode, "Setting fetch queue pointer.\n");
fetchQueue = fq_ptr;
// Setup wire to read information from fetch queue.
@@ -160,7 +157,6 @@ template<class Impl>
void
DefaultDecode<Impl>::setActiveThreads(std::list<unsigned> *at_ptr)
{
- DPRINTF(Decode, "Setting active threads list pointer.\n");
activeThreads = at_ptr;
}
diff --git a/src/cpu/o3/fetch_impl.hh b/src/cpu/o3/fetch_impl.hh
index 34b06420d..85885906d 100644
--- a/src/cpu/o3/fetch_impl.hh
+++ b/src/cpu/o3/fetch_impl.hh
@@ -266,8 +266,8 @@ template<class Impl>
void
DefaultFetch<Impl>::setCPU(O3CPU *cpu_ptr)
{
- DPRINTF(Fetch, "Setting the CPU pointer.\n");
cpu = cpu_ptr;
+ DPRINTF(Fetch, "Setting the CPU pointer.\n");
// Name is finally available, so create the port.
icachePort = new IcachePort(this);
@@ -292,7 +292,6 @@ template<class Impl>
void
DefaultFetch<Impl>::setTimeBuffer(TimeBuffer<TimeStruct> *time_buffer)
{
- DPRINTF(Fetch, "Setting the time buffer pointer.\n");
timeBuffer = time_buffer;
// Create wires to get information from proper places in time buffer.
@@ -306,7 +305,6 @@ template<class Impl>
void
DefaultFetch<Impl>::setActiveThreads(std::list<unsigned> *at_ptr)
{
- DPRINTF(Fetch, "Setting active threads list pointer.\n");
activeThreads = at_ptr;
}
@@ -314,7 +312,6 @@ template<class Impl>
void
DefaultFetch<Impl>::setFetchQueue(TimeBuffer<FetchStruct> *fq_ptr)
{
- DPRINTF(Fetch, "Setting the fetch queue pointer.\n");
fetchQueue = fq_ptr;
// Create wire to write information to proper place in fetch queue.
diff --git a/src/cpu/o3/iew_impl.hh b/src/cpu/o3/iew_impl.hh
index 4883e5a5c..d2948a525 100644
--- a/src/cpu/o3/iew_impl.hh
+++ b/src/cpu/o3/iew_impl.hh
@@ -282,8 +282,8 @@ template<class Impl>
void
DefaultIEW<Impl>::setCPU(O3CPU *cpu_ptr)
{
- DPRINTF(IEW, "Setting CPU pointer.\n");
cpu = cpu_ptr;
+ DPRINTF(IEW, "Setting CPU pointer.\n");
instQueue.setCPU(cpu_ptr);
ldstQueue.setCPU(cpu_ptr);
@@ -295,7 +295,6 @@ template<class Impl>
void
DefaultIEW<Impl>::setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr)
{
- DPRINTF(IEW, "Setting time buffer pointer.\n");
timeBuffer = tb_ptr;
// Setup wire to read information from time buffer, from commit.
@@ -314,7 +313,6 @@ template<class Impl>
void
DefaultIEW<Impl>::setRenameQueue(TimeBuffer<RenameStruct> *rq_ptr)
{
- DPRINTF(IEW, "Setting rename queue pointer.\n");
renameQueue = rq_ptr;
// Setup wire to read information from rename queue.
@@ -325,7 +323,6 @@ template<class Impl>
void
DefaultIEW<Impl>::setIEWQueue(TimeBuffer<IEWStruct> *iq_ptr)
{
- DPRINTF(IEW, "Setting IEW queue pointer.\n");
iewQueue = iq_ptr;
// Setup wire to write instructions to commit.
@@ -336,7 +333,6 @@ template<class Impl>
void
DefaultIEW<Impl>::setActiveThreads(std::list<unsigned> *at_ptr)
{
- DPRINTF(IEW, "Setting active threads list pointer.\n");
activeThreads = at_ptr;
ldstQueue.setActiveThreads(at_ptr);
@@ -347,7 +343,6 @@ template<class Impl>
void
DefaultIEW<Impl>::setScoreboard(Scoreboard *sb_ptr)
{
- DPRINTF(IEW, "Setting scoreboard pointer.\n");
scoreboard = sb_ptr;
}
diff --git a/src/cpu/o3/inst_queue_impl.hh b/src/cpu/o3/inst_queue_impl.hh
index 79e03d4bf..4d99fb520 100644
--- a/src/cpu/o3/inst_queue_impl.hh
+++ b/src/cpu/o3/inst_queue_impl.hh
@@ -81,8 +81,6 @@ InstructionQueue<Impl>::InstructionQueue(Params *params)
// Set the number of physical registers as the number of int + float
numPhysRegs = numPhysIntRegs + numPhysFloatRegs;
- DPRINTF(IQ, "There are %i physical registers.\n", numPhysRegs);
-
//Create an entry for each physical register within the
//dependency graph.
dependGraph.resize(numPhysRegs);
@@ -124,8 +122,10 @@ InstructionQueue<Impl>::InstructionQueue(Params *params)
maxEntries[i] = part_amt;
}
+/*
DPRINTF(IQ, "IQ sharing policy set to Partitioned:"
"%i entries per thread.\n",part_amt);
+*/
} else if (policy == "threshold") {
iqPolicy = Threshold;
@@ -139,8 +139,10 @@ InstructionQueue<Impl>::InstructionQueue(Params *params)
maxEntries[i] = thresholdIQ;
}
+/*
DPRINTF(IQ, "IQ sharing policy set to Threshold:"
"%i entries per thread.\n",thresholdIQ);
+*/
} else {
assert(0 && "Invalid IQ Sharing Policy.Options Are:{Dynamic,"
"Partitioned, Threshold}");
@@ -360,7 +362,6 @@ template <class Impl>
void
InstructionQueue<Impl>::setActiveThreads(std::list<unsigned> *at_ptr)
{
- DPRINTF(IQ, "Setting active threads list pointer.\n");
activeThreads = at_ptr;
}
@@ -368,15 +369,13 @@ template <class Impl>
void
InstructionQueue<Impl>::setIssueToExecuteQueue(TimeBuffer<IssueStruct> *i2e_ptr)
{
- DPRINTF(IQ, "Set the issue to execute queue.\n");
- issueToExecuteQueue = i2e_ptr;
+ issueToExecuteQueue = i2e_ptr;
}
template <class Impl>
void
InstructionQueue<Impl>::setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr)
{
- DPRINTF(IQ, "Set the time buffer.\n");
timeBuffer = tb_ptr;
fromCommit = timeBuffer->getWire(-commitToIEWDelay);
diff --git a/src/cpu/o3/lsq_impl.hh b/src/cpu/o3/lsq_impl.hh
index d4994fcb7..02cc5784c 100644
--- a/src/cpu/o3/lsq_impl.hh
+++ b/src/cpu/o3/lsq_impl.hh
@@ -112,8 +112,6 @@ LSQ<Impl>::LSQ(Params *params)
SQEntries(params->SQEntries), numThreads(params->numberOfThreads),
retryTid(-1)
{
- DPRINTF(LSQ, "Creating LSQ object.\n");
-
dcachePort.snoopRangeSent = false;
//**********************************************/
@@ -131,20 +129,20 @@ LSQ<Impl>::LSQ(Params *params)
maxLQEntries = LQEntries;
maxSQEntries = SQEntries;
-
+/*
DPRINTF(LSQ, "LSQ sharing policy set to Dynamic\n");
-
+*/
} else if (policy == "partitioned") {
lsqPolicy = Partitioned;
//@todo:make work if part_amt doesnt divide evenly.
maxLQEntries = LQEntries / numThreads;
maxSQEntries = SQEntries / numThreads;
-
+/*
DPRINTF(Fetch, "LSQ sharing policy set to Partitioned: "
"%i entries per LQ | %i entries per SQ",
maxLQEntries,maxSQEntries);
-
+*/
} else if (policy == "threshold") {
lsqPolicy = Threshold;
@@ -156,10 +154,11 @@ LSQ<Impl>::LSQ(Params *params)
//amount of the LSQ
maxLQEntries = params->smtLSQThreshold;
maxSQEntries = params->smtLSQThreshold;
-
+/*
DPRINTF(LSQ, "LSQ sharing policy set to Threshold: "
"%i entries per LQ | %i entries per SQ",
maxLQEntries,maxSQEntries);
+*/
} else {
assert(0 && "Invalid LSQ Sharing Policy.Options Are:{Dynamic,"
diff --git a/src/cpu/o3/lsq_unit_impl.hh b/src/cpu/o3/lsq_unit_impl.hh
index e70c960b3..0a3021046 100644
--- a/src/cpu/o3/lsq_unit_impl.hh
+++ b/src/cpu/o3/lsq_unit_impl.hh
@@ -112,7 +112,7 @@ void
LSQUnit<Impl>::init(Params *params, LSQ *lsq_ptr, unsigned maxLQEntries,
unsigned maxSQEntries, unsigned id)
{
- DPRINTF(LSQUnit, "Creating LSQUnit%i object.\n",id);
+// DPRINTF(LSQUnit, "Creating LSQUnit%i object.\n",id);
switchedOut = false;
diff --git a/src/cpu/o3/rename_impl.hh b/src/cpu/o3/rename_impl.hh
index e303f1cee..eb04ca733 100644
--- a/src/cpu/o3/rename_impl.hh
+++ b/src/cpu/o3/rename_impl.hh
@@ -168,15 +168,14 @@ template <class Impl>
void
DefaultRename<Impl>::setCPU(O3CPU *cpu_ptr)
{
- DPRINTF(Rename, "Setting CPU pointer.\n");
cpu = cpu_ptr;
+ DPRINTF(Rename, "Setting CPU pointer.\n");
}
template <class Impl>
void
DefaultRename<Impl>::setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr)
{
- DPRINTF(Rename, "Setting time buffer pointer.\n");
timeBuffer = tb_ptr;
// Setup wire to read information from time buffer, from IEW stage.
@@ -193,7 +192,6 @@ template <class Impl>
void
DefaultRename<Impl>::setRenameQueue(TimeBuffer<RenameStruct> *rq_ptr)
{
- DPRINTF(Rename, "Setting rename queue pointer.\n");
renameQueue = rq_ptr;
// Setup wire to write information to future stages.
@@ -204,7 +202,6 @@ template <class Impl>
void
DefaultRename<Impl>::setDecodeQueue(TimeBuffer<DecodeStruct> *dq_ptr)
{
- DPRINTF(Rename, "Setting decode queue pointer.\n");
decodeQueue = dq_ptr;
// Setup wire to get information from decode.
@@ -228,7 +225,6 @@ template<class Impl>
void
DefaultRename<Impl>::setActiveThreads(std::list<unsigned> *at_ptr)
{
- DPRINTF(Rename, "Setting active threads list pointer.\n");
activeThreads = at_ptr;
}
@@ -237,8 +233,6 @@ template <class Impl>
void
DefaultRename<Impl>::setRenameMap(RenameMap rm_ptr[])
{
- DPRINTF(Rename, "Setting rename map pointers.\n");
-
for (int i=0; i<numThreads; i++) {
renameMap[i] = &rm_ptr[i];
}
@@ -248,7 +242,6 @@ template <class Impl>
void
DefaultRename<Impl>::setFreeList(FreeList *fl_ptr)
{
- DPRINTF(Rename, "Setting free list pointer.\n");
freeList = fl_ptr;
}
@@ -256,7 +249,6 @@ template<class Impl>
void
DefaultRename<Impl>::setScoreboard(Scoreboard *_scoreboard)
{
- DPRINTF(Rename, "Setting scoreboard pointer.\n");
scoreboard = _scoreboard;
}
diff --git a/src/cpu/o3/rob_impl.hh b/src/cpu/o3/rob_impl.hh
index fde636754..975aba379 100644
--- a/src/cpu/o3/rob_impl.hh
+++ b/src/cpu/o3/rob_impl.hh
@@ -66,7 +66,7 @@ ROB<Impl>::ROB(unsigned _numEntries, unsigned _squashWidth,
} else if (policy == "partitioned") {
robPolicy = Partitioned;
- DPRINTF(Fetch, "ROB sharing policy set to Partitioned\n");
+// DPRINTF(Fetch, "ROB sharing policy set to Partitioned\n");
//@todo:make work if part_amt doesnt divide evenly.
int part_amt = numEntries / numThreads;
@@ -78,7 +78,7 @@ ROB<Impl>::ROB(unsigned _numEntries, unsigned _squashWidth,
} else if (policy == "threshold") {
robPolicy = Threshold;
- DPRINTF(Fetch, "ROB sharing policy set to Threshold\n");
+// DPRINTF(Fetch, "ROB sharing policy set to Threshold\n");
int threshold = _smtROBThreshold;;
diff --git a/src/cpu/o3/sparc/cpu_builder.cc b/src/cpu/o3/sparc/cpu_builder.cc
index 3cac89bad..35badce2c 100644
--- a/src/cpu/o3/sparc/cpu_builder.cc
+++ b/src/cpu/o3/sparc/cpu_builder.cc
@@ -50,11 +50,11 @@ BEGIN_DECLARE_SIM_OBJECT_PARAMS(DerivO3CPU)
Param<int> clock;
Param<int> phase;
Param<int> numThreads;
+ Param<int> cpu_id;
Param<int> activity;
#if FULL_SYSTEM
SimObjectParam<System *> system;
- Param<int> cpu_id;
SimObjectParam<SparcISA::ITB *> itb;
SimObjectParam<SparcISA::DTB *> dtb;
Param<Tick> profile;
@@ -161,11 +161,11 @@ BEGIN_INIT_SIM_OBJECT_PARAMS(DerivO3CPU)
INIT_PARAM(clock, "clock speed"),
INIT_PARAM_DFLT(phase, "clock phase", 0),
INIT_PARAM(numThreads, "number of HW thread contexts"),
+ INIT_PARAM(cpu_id, "processor ID"),
INIT_PARAM_DFLT(activity, "Initial activity count", 0),
#if FULL_SYSTEM
INIT_PARAM(system, "System object"),
- INIT_PARAM(cpu_id, "processor ID"),
INIT_PARAM(itb, "Instruction translation buffer"),
INIT_PARAM(dtb, "Data translation buffer"),
INIT_PARAM(profile, ""),
@@ -305,14 +305,15 @@ CREATE_SIM_OBJECT(DerivO3CPU)
SparcSimpleParams *params = new SparcSimpleParams;
params->clock = clock;
+ params->phase = phase;
params->name = getInstanceName();
params->numberOfThreads = actual_num_threads;
+ params->cpu_id = cpu_id;
params->activity = activity;
#if FULL_SYSTEM
params->system = system;
- params->cpu_id = cpu_id;
params->itb = itb;
params->dtb = dtb;
params->profile = profile;
diff --git a/src/dev/i8254xGBe.cc b/src/dev/i8254xGBe.cc
index c38a9e873..3d08bca1e 100644
--- a/src/dev/i8254xGBe.cc
+++ b/src/dev/i8254xGBe.cc
@@ -55,10 +55,10 @@ using namespace iGbReg;
using namespace Net;
IGbE::IGbE(Params *p)
- : PciDev(p), etherInt(NULL), useFlowControl(p->use_flow_control),
+ : PciDev(p), etherInt(NULL), drainEvent(NULL), useFlowControl(p->use_flow_control),
rxFifo(p->rx_fifo_size), txFifo(p->tx_fifo_size), rxTick(false),
- txTick(false), rdtrEvent(this), radvEvent(this), tadvEvent(this),
- tidvEvent(this), tickEvent(this), interEvent(this),
+ txTick(false), txFifoTick(false), rdtrEvent(this), radvEvent(this),
+ tadvEvent(this), tidvEvent(this), tickEvent(this), interEvent(this),
rxDescCache(this, name()+".RxDesc", p->rx_desc_cache_size),
txDescCache(this, name()+".TxDesc", p->tx_desc_cache_size), clock(p->clock)
{
@@ -223,6 +223,7 @@ IGbE::read(PacketPtr pkt)
pkt->set<uint32_t>(regs.rdtr());
if (regs.rdtr.fpd()) {
rxDescCache.writeback(0);
+ DPRINTF(EthernetIntr, "Posting interrupt because of RDTR.FPD write\n");
postInterrupt(IT_RXT);
regs.rdtr.fpd(0);
}
@@ -411,6 +412,7 @@ IGbE::write(PacketPtr pkt)
regs.itr = val;
break;
case REG_ICS:
+ DPRINTF(EthernetIntr, "Posting interrupt because of ICS write\n");
postInterrupt((IntTypes)val);
break;
case REG_IMS:
@@ -429,6 +431,7 @@ IGbE::write(PacketPtr pkt)
regs.rctl = val;
if (regs.rctl.rst()) {
rxDescCache.reset();
+ DPRINTF(EthernetSM, "RXS: Got RESET!\n");
rxFifo.clear();
regs.rctl.rst(0);
}
@@ -568,8 +571,8 @@ IGbE::postInterrupt(IntTypes t, bool now)
} else {
DPRINTF(EthernetIntr, "EINT: Scheduling timer interrupt for %d ticks\n",
Clock::Int::ns * 256 * regs.itr.interval());
- assert(!interEvent.scheduled());
- interEvent.schedule(curTick + Clock::Int::ns * 256 * regs.itr.interval());
+ if (!interEvent.scheduled())
+ interEvent.schedule(curTick + Clock::Int::ns * 256 * regs.itr.interval());
}
}
}
@@ -676,39 +679,39 @@ IGbE::RxDescCache::pktComplete()
// no support for anything but starting at 0
assert(igbe->regs.rxcsum.pcss() == 0);
- DPRINTF(EthernetDesc, "RxDesc: Packet written to memory updating Descriptor\n");
+ DPRINTF(EthernetDesc, "Packet written to memory updating Descriptor\n");
uint8_t status = RXDS_DD | RXDS_EOP;
uint8_t err = 0;
IpPtr ip(pktPtr);
if (ip) {
if (igbe->regs.rxcsum.ipofld()) {
- DPRINTF(EthernetDesc, "RxDesc: Checking IP checksum\n");
+ DPRINTF(EthernetDesc, "Checking IP checksum\n");
status |= RXDS_IPCS;
desc->csum = htole(cksum(ip));
if (cksum(ip) != 0) {
err |= RXDE_IPE;
- DPRINTF(EthernetDesc, "RxDesc: Checksum is bad!!\n");
+ DPRINTF(EthernetDesc, "Checksum is bad!!\n");
}
}
TcpPtr tcp(ip);
if (tcp && igbe->regs.rxcsum.tuofld()) {
- DPRINTF(EthernetDesc, "RxDesc: Checking TCP checksum\n");
+ DPRINTF(EthernetDesc, "Checking TCP checksum\n");
status |= RXDS_TCPCS;
desc->csum = htole(cksum(tcp));
if (cksum(tcp) != 0) {
- DPRINTF(EthernetDesc, "RxDesc: Checksum is bad!!\n");
+ DPRINTF(EthernetDesc, "Checksum is bad!!\n");
err |= RXDE_TCPE;
}
}
UdpPtr udp(ip);
if (udp && igbe->regs.rxcsum.tuofld()) {
- DPRINTF(EthernetDesc, "RxDesc: Checking UDP checksum\n");
+ DPRINTF(EthernetDesc, "Checking UDP checksum\n");
status |= RXDS_UDPCS;
desc->csum = htole(cksum(udp));
if (cksum(tcp) != 0) {
- DPRINTF(EthernetDesc, "RxDesc: Checksum is bad!!\n");
+ DPRINTF(EthernetDesc, "Checksum is bad!!\n");
err |= RXDE_TCPE;
}
}
@@ -748,15 +751,18 @@ IGbE::RxDescCache::pktComplete()
// If the packet is small enough, interrupt appropriately
// I wonder if this is delayed or not?!
- if (pktPtr->length <= igbe->regs.rsrpd.idv())
+ if (pktPtr->length <= igbe->regs.rsrpd.idv()) {
+ DPRINTF(EthernetSM, "RXS: Posting IT_SRPD beacuse small packet received\n");
igbe->postInterrupt(IT_SRPD);
+ }
- DPRINTF(EthernetDesc, "RxDesc: Processing of this descriptor complete\n");
+ DPRINTF(EthernetDesc, "Processing of this descriptor complete\n");
unusedCache.pop_front();
usedCache.push_back(desc);
pktPtr = NULL;
enableSm();
pktDone = true;
+ igbe->checkDrain();
}
void
@@ -776,11 +782,33 @@ IGbE::RxDescCache::packetDone()
return false;
}
+bool
+IGbE::RxDescCache::hasOutstandingEvents()
+{
+ return pktEvent.scheduled() || wbEvent.scheduled() ||
+ fetchEvent.scheduled();
+}
+
+void
+IGbE::RxDescCache::serialize(std::ostream &os)
+{
+ DescCache<RxDesc>::serialize(os);
+ SERIALIZE_SCALAR(pktDone);
+}
+
+void
+IGbE::RxDescCache::unserialize(Checkpoint *cp, const std::string &section)
+{
+ DescCache<RxDesc>::unserialize(cp, section);
+ UNSERIALIZE_SCALAR(pktDone);
+}
+
+
///////////////////////////////////// IGbE::TxDesc /////////////////////////////////
IGbE::TxDescCache::TxDescCache(IGbE *i, const std::string n, int s)
: DescCache<TxDesc>(i,n, s), pktDone(false), isTcp(false), pktWaiting(false),
- hLen(0), pktEvent(this)
+ pktEvent(this)
{
}
@@ -792,10 +820,10 @@ IGbE::TxDescCache::getPacketSize()
TxDesc *desc;
- DPRINTF(EthernetDesc, "TxDesc: Starting processing of descriptor\n");
+ DPRINTF(EthernetDesc, "Starting processing of descriptor\n");
while (unusedCache.size() && TxdOp::isContext(unusedCache.front())) {
- DPRINTF(EthernetDesc, "TxDesc: Got context descriptor type... skipping\n");
+ DPRINTF(EthernetDesc, "Got context descriptor type... skipping\n");
// I think we can just ignore these for now?
desc = unusedCache.front();
@@ -813,7 +841,7 @@ IGbE::TxDescCache::getPacketSize()
if (!unusedCache.size())
return -1;
- DPRINTF(EthernetDesc, "TxDesc: Next TX packet is %d bytes\n",
+ DPRINTF(EthernetDesc, "Next TX packet is %d bytes\n",
TxdOp::getLen(unusedCache.front()));
return TxdOp::getLen(unusedCache.front());
@@ -833,9 +861,9 @@ IGbE::TxDescCache::getPacketData(EthPacketPtr p)
pktWaiting = true;
- DPRINTF(EthernetDesc, "TxDesc: Starting DMA of packet\n");
+ DPRINTF(EthernetDesc, "Starting DMA of packet\n");
igbe->dmaRead(igbe->platform->pciToDma(TxdOp::getBuf(desc)),
- TxdOp::getLen(desc), &pktEvent, p->data + hLen);
+ TxdOp::getLen(desc), &pktEvent, p->data + p->length);
}
@@ -848,7 +876,7 @@ IGbE::TxDescCache::pktComplete()
assert(unusedCache.size());
assert(pktPtr);
- DPRINTF(EthernetDesc, "TxDesc: DMA of packet complete\n");
+ DPRINTF(EthernetDesc, "DMA of packet complete\n");
desc = unusedCache.front();
@@ -857,20 +885,21 @@ IGbE::TxDescCache::pktComplete()
DPRINTF(EthernetDesc, "TxDescriptor data d1: %#llx d2: %#llx\n", desc->d1, desc->d2);
if (!TxdOp::eop(desc)) {
- assert(hLen == 0);
- hLen = TxdOp::getLen(desc);
+ // This only supports two descriptors per tx packet
+ assert(pktPtr->length == 0);
+ pktPtr->length = TxdOp::getLen(desc);
unusedCache.pop_front();
usedCache.push_back(desc);
pktDone = true;
pktWaiting = false;
pktPtr = NULL;
- DPRINTF(EthernetDesc, "TxDesc: Partial Packet Descriptor Done\n");
+ DPRINTF(EthernetDesc, "Partial Packet Descriptor Done\n");
return;
}
// Set the length of the data in the EtherPacket
- pktPtr->length = TxdOp::getLen(desc) + hLen;
+ pktPtr->length += TxdOp::getLen(desc);
// no support for vlans
assert(!TxdOp::vle(desc));
@@ -888,33 +917,33 @@ IGbE::TxDescCache::pktComplete()
// Checksums are only ofloaded for new descriptor types
if (TxdOp::isData(desc) && ( TxdOp::ixsm(desc) || TxdOp::txsm(desc)) ) {
- DPRINTF(EthernetDesc, "TxDesc: Calculating checksums for packet\n");
+ DPRINTF(EthernetDesc, "Calculating checksums for packet\n");
IpPtr ip(pktPtr);
if (TxdOp::ixsm(desc)) {
ip->sum(0);
ip->sum(cksum(ip));
- DPRINTF(EthernetDesc, "TxDesc: Calculated IP checksum\n");
+ DPRINTF(EthernetDesc, "Calculated IP checksum\n");
}
if (TxdOp::txsm(desc)) {
if (isTcp) {
TcpPtr tcp(ip);
tcp->sum(0);
tcp->sum(cksum(tcp));
- DPRINTF(EthernetDesc, "TxDesc: Calculated TCP checksum\n");
+ DPRINTF(EthernetDesc, "Calculated TCP checksum\n");
} else {
UdpPtr udp(ip);
udp->sum(0);
udp->sum(cksum(udp));
- DPRINTF(EthernetDesc, "TxDesc: Calculated UDP checksum\n");
+ DPRINTF(EthernetDesc, "Calculated UDP checksum\n");
}
}
}
if (TxdOp::ide(desc)) {
// Deal with the rx timer interrupts
- DPRINTF(EthernetDesc, "TxDesc: Descriptor had IDE set\n");
+ DPRINTF(EthernetDesc, "Descriptor had IDE set\n");
if (igbe->regs.tidv.idv()) {
- DPRINTF(EthernetDesc, "TxDesc: setting tidv\n");
+ DPRINTF(EthernetDesc, "setting tidv\n");
if (igbe->tidvEvent.scheduled())
igbe->tidvEvent.reschedule(curTick + igbe->regs.tidv.idv() *
igbe->intClock());
@@ -924,7 +953,7 @@ IGbE::TxDescCache::pktComplete()
}
if (igbe->regs.tadv.idv() && igbe->regs.tidv.idv()) {
- DPRINTF(EthernetDesc, "TxDesc: setting tadv\n");
+ DPRINTF(EthernetDesc, "setting tadv\n");
if (!igbe->tadvEvent.scheduled())
igbe->tadvEvent.schedule(curTick + igbe->regs.tadv.idv() *
igbe->intClock());
@@ -939,17 +968,34 @@ IGbE::TxDescCache::pktComplete()
pktWaiting = false;
pktPtr = NULL;
- hLen = 0;
- DPRINTF(EthernetDesc, "TxDesc: Descriptor Done\n");
+ DPRINTF(EthernetDesc, "Descriptor Done\n");
if (igbe->regs.txdctl.wthresh() == 0) {
- DPRINTF(EthernetDesc, "TxDesc: WTHRESH == 0, writing back descriptor\n");
+ DPRINTF(EthernetDesc, "WTHRESH == 0, writing back descriptor\n");
writeback(0);
} else if (igbe->regs.txdctl.wthresh() >= usedCache.size()) {
- DPRINTF(EthernetDesc, "TxDesc: used > WTHRESH, writing back descriptor\n");
+ DPRINTF(EthernetDesc, "used > WTHRESH, writing back descriptor\n");
writeback((igbe->cacheBlockSize()-1)>>4);
}
+ igbe->checkDrain();
+}
+void
+IGbE::TxDescCache::serialize(std::ostream &os)
+{
+ DescCache<TxDesc>::serialize(os);
+ SERIALIZE_SCALAR(pktDone);
+ SERIALIZE_SCALAR(isTcp);
+ SERIALIZE_SCALAR(pktWaiting);
+}
+
+void
+IGbE::TxDescCache::unserialize(Checkpoint *cp, const std::string &section)
+{
+ DescCache<TxDesc>::unserialize(cp, section);
+ UNSERIALIZE_SCALAR(pktDone);
+ UNSERIALIZE_SCALAR(isTcp);
+ UNSERIALIZE_SCALAR(pktWaiting);
}
bool
@@ -969,7 +1015,12 @@ IGbE::TxDescCache::enableSm()
igbe->restartClock();
}
-
+bool
+IGbE::TxDescCache::hasOutstandingEvents()
+{
+ return pktEvent.scheduled() || wbEvent.scheduled() ||
+ fetchEvent.scheduled();
+}
///////////////////////////////////// IGbE /////////////////////////////////
@@ -977,10 +1028,61 @@ IGbE::TxDescCache::enableSm()
void
IGbE::restartClock()
{
- if (!tickEvent.scheduled() && (rxTick || txTick))
+ if (!tickEvent.scheduled() && (rxTick || txTick) && getState() ==
+ SimObject::Running)
tickEvent.schedule((curTick/cycles(1)) * cycles(1) + cycles(1));
}
+unsigned int
+IGbE::drain(Event *de)
+{
+ unsigned int count;
+ count = pioPort->drain(de) + dmaPort->drain(de);
+ if (rxDescCache.hasOutstandingEvents() ||
+ txDescCache.hasOutstandingEvents()) {
+ count++;
+ drainEvent = de;
+ }
+
+ txFifoTick = false;
+ txTick = false;
+ rxTick = false;
+
+ if (tickEvent.scheduled())
+ tickEvent.deschedule();
+
+ if (count)
+ changeState(Draining);
+ else
+ changeState(Drained);
+
+ return count;
+}
+
+void
+IGbE::resume()
+{
+ SimObject::resume();
+
+ txFifoTick = true;
+ txTick = true;
+ rxTick = true;
+
+ restartClock();
+}
+
+void
+IGbE::checkDrain()
+{
+ if (!drainEvent)
+ return;
+
+ if (rxDescCache.hasOutstandingEvents() ||
+ txDescCache.hasOutstandingEvents()) {
+ drainEvent->process();
+ drainEvent = NULL;
+ }
+}
void
IGbE::txStateMachine()
@@ -998,8 +1100,10 @@ IGbE::txStateMachine()
bool success;
DPRINTF(EthernetSM, "TXS: packet placed in TX FIFO\n");
success = txFifo.push(txPacket);
+ txFifoTick = true;
assert(success);
txPacket = NULL;
+ txDescCache.writeback((cacheBlockSize()-1)>>4);
return;
}
@@ -1021,6 +1125,7 @@ IGbE::txStateMachine()
txDescCache.writeback(0);
txTick = false;
postInterrupt(IT_TXQE, true);
+ return;
}
@@ -1038,11 +1143,17 @@ IGbE::txStateMachine()
"DMA of next packet\n", size);
txFifo.reserve(size);
txDescCache.getPacketData(txPacket);
- } else {
+ } else if (size <= 0) {
DPRINTF(EthernetSM, "TXS: No packets to get, writing back used descriptors\n");
txDescCache.writeback(0);
+ } else {
+ DPRINTF(EthernetSM, "TXS: FIFO full, stopping ticking until space "
+ "available in FIFO\n");
+ txDescCache.writeback((cacheBlockSize()-1)>>4);
+ txTick = false;
}
+
return;
}
}
@@ -1095,9 +1206,9 @@ IGbE::rxStateMachine()
}
if (descLeft == 0) {
- DPRINTF(EthernetSM, "RXS: No descriptors left in ring, forcing writeback\n");
+ DPRINTF(EthernetSM, "RXS: No descriptors left in ring, forcing"
+ " writeback and stopping ticking\n");
rxDescCache.writeback(0);
- DPRINTF(EthernetSM, "RXS: No descriptors left, stopping ticking\n");
rxTick = false;
}
@@ -1119,9 +1230,9 @@ IGbE::rxStateMachine()
}
if (rxDescCache.descUnused() == 0) {
- DPRINTF(EthernetSM, "RXS: No descriptors available in cache, stopping ticking\n");
+ DPRINTF(EthernetSM, "RXS: No descriptors available in cache, "
+ "fetching descriptors and stopping ticking\n");
rxTick = false;
- DPRINTF(EthernetSM, "RXS: Fetching descriptors because none available\n");
rxDescCache.fetchDescriptors();
}
return;
@@ -1159,15 +1270,18 @@ void
IGbE::txWire()
{
if (txFifo.empty()) {
+ txFifoTick = false;
return;
}
- txTick = true;
if (etherInt->sendPacket(txFifo.front())) {
- DPRINTF(Ethernet, "TxFIFO: Successful transmit, bytes in fifo: %d\n",
+ DPRINTF(EthernetSM, "TxFIFO: Successful transmit, bytes available in fifo: %d\n",
txFifo.avail());
txFifo.pop();
+ } else {
+ // We'll get woken up when the packet ethTxDone() gets called
+ txFifoTick = false;
}
}
@@ -1180,34 +1294,133 @@ IGbE::tick()
if (rxTick)
rxStateMachine();
- if (txTick) {
+ if (txTick)
txStateMachine();
+
+ if (txFifoTick)
txWire();
- }
- if (rxTick || txTick)
+
+ if (rxTick || txTick || txFifoTick)
tickEvent.schedule(curTick + cycles(1));
}
void
IGbE::ethTxDone()
{
- // restart the state machines if they are stopped
+ // restart the tx state machines if they are stopped
+ // fifo to send another packet
+ // tx sm to put more data into the fifo
+ txFifoTick = true;
txTick = true;
+
restartClock();
- DPRINTF(Ethernet, "TxFIFO: Transmission complete\n");
+ DPRINTF(EthernetSM, "TxFIFO: Transmission complete\n");
}
void
IGbE::serialize(std::ostream &os)
{
- panic("Need to implemenet\n");
+ PciDev::serialize(os);
+
+ regs.serialize(os);
+ SERIALIZE_SCALAR(eeOpBits);
+ SERIALIZE_SCALAR(eeAddrBits);
+ SERIALIZE_SCALAR(eeDataBits);
+ SERIALIZE_SCALAR(eeOpcode);
+ SERIALIZE_SCALAR(eeAddr);
+ SERIALIZE_ARRAY(flash,iGbReg::EEPROM_SIZE);
+
+ rxFifo.serialize("rxfifo", os);
+ txFifo.serialize("txfifo", os);
+
+ bool txPktExists = txPacket;
+ SERIALIZE_SCALAR(txPktExists);
+ if (txPktExists)
+ txPacket->serialize("txpacket", os);
+
+ Tick rdtr_time = 0, radv_time = 0, tidv_time = 0, tadv_time = 0,
+ inter_time = 0;
+
+ if (rdtrEvent.scheduled())
+ rdtr_time = rdtrEvent.when();
+ SERIALIZE_SCALAR(rdtr_time);
+
+ if (radvEvent.scheduled())
+ radv_time = radvEvent.when();
+ SERIALIZE_SCALAR(radv_time);
+
+ if (tidvEvent.scheduled())
+ rdtr_time = tidvEvent.when();
+ SERIALIZE_SCALAR(tidv_time);
+
+ if (tadvEvent.scheduled())
+ rdtr_time = tadvEvent.when();
+ SERIALIZE_SCALAR(tadv_time);
+
+ if (interEvent.scheduled())
+ rdtr_time = interEvent.when();
+ SERIALIZE_SCALAR(inter_time);
+
+ nameOut(os, csprintf("%s.TxDescCache", name()));
+ txDescCache.serialize(os);
+
+ nameOut(os, csprintf("%s.RxDescCache", name()));
+ rxDescCache.serialize(os);
}
void
IGbE::unserialize(Checkpoint *cp, const std::string &section)
{
- panic("Need to implemenet\n");
+ PciDev::unserialize(cp, section);
+
+ regs.unserialize(cp, section);
+ UNSERIALIZE_SCALAR(eeOpBits);
+ UNSERIALIZE_SCALAR(eeAddrBits);
+ UNSERIALIZE_SCALAR(eeDataBits);
+ UNSERIALIZE_SCALAR(eeOpcode);
+ UNSERIALIZE_SCALAR(eeAddr);
+ UNSERIALIZE_ARRAY(flash,iGbReg::EEPROM_SIZE);
+
+ rxFifo.unserialize("rxfifo", cp, section);
+ txFifo.unserialize("txfifo", cp, section);
+
+ bool txPktExists;
+ UNSERIALIZE_SCALAR(txPktExists);
+ if (txPktExists) {
+ txPacket = new EthPacketData(16384);
+ txPacket->unserialize("txpacket", cp, section);
+ }
+
+ rxTick = true;
+ txTick = true;
+ txFifoTick = true;
+
+ Tick rdtr_time, radv_time, tidv_time, tadv_time, inter_time;
+ UNSERIALIZE_SCALAR(rdtr_time);
+ UNSERIALIZE_SCALAR(radv_time);
+ UNSERIALIZE_SCALAR(tidv_time);
+ UNSERIALIZE_SCALAR(tadv_time);
+ UNSERIALIZE_SCALAR(inter_time);
+
+ if (rdtr_time)
+ rdtrEvent.schedule(rdtr_time);
+
+ if (radv_time)
+ radvEvent.schedule(radv_time);
+
+ if (tidv_time)
+ tidvEvent.schedule(tidv_time);
+
+ if (tadv_time)
+ tadvEvent.schedule(tadv_time);
+
+ if (inter_time)
+ interEvent.schedule(inter_time);
+
+ txDescCache.unserialize(cp, csprintf("%s.TxDescCache", section));
+
+ rxDescCache.unserialize(cp, csprintf("%s.RxDescCache", section));
}
diff --git a/src/dev/i8254xGBe.hh b/src/dev/i8254xGBe.hh
index a2b9f38d5..2dec3b08c 100644
--- a/src/dev/i8254xGBe.hh
+++ b/src/dev/i8254xGBe.hh
@@ -62,8 +62,10 @@ class IGbE : public PciDev
uint8_t eeOpcode, eeAddr;
uint16_t flash[iGbReg::EEPROM_SIZE];
+ // The drain event if we have one
+ Event *drainEvent;
+
// cached parameters from params struct
- Tick tickRate;
bool useFlowControl;
// packet fifos
@@ -76,24 +78,44 @@ class IGbE : public PciDev
// Should to Rx/Tx State machine tick?
bool rxTick;
bool txTick;
+ bool txFifoTick;
// Event and function to deal with RDTR timer expiring
- void rdtrProcess() { rxDescCache.writeback(0); postInterrupt(iGbReg::IT_RXT, true); }
+ void rdtrProcess() {
+ rxDescCache.writeback(0);
+ DPRINTF(EthernetIntr, "Posting RXT interrupt because RDTR timer expired\n");
+ postInterrupt(iGbReg::IT_RXT, true);
+ }
+
//friend class EventWrapper<IGbE, &IGbE::rdtrProcess>;
EventWrapper<IGbE, &IGbE::rdtrProcess> rdtrEvent;
// Event and function to deal with RADV timer expiring
- void radvProcess() { rxDescCache.writeback(0); postInterrupt(iGbReg::IT_RXT, true); }
+ void radvProcess() {
+ rxDescCache.writeback(0);
+ DPRINTF(EthernetIntr, "Posting RXT interrupt because RADV timer expired\n");
+ postInterrupt(iGbReg::IT_RXT, true);
+ }
+
//friend class EventWrapper<IGbE, &IGbE::radvProcess>;
EventWrapper<IGbE, &IGbE::radvProcess> radvEvent;
// Event and function to deal with TADV timer expiring
- void tadvProcess() { postInterrupt(iGbReg::IT_TXDW, true); }
+ void tadvProcess() {
+ txDescCache.writeback(0);
+ DPRINTF(EthernetIntr, "Posting TXDW interrupt because TADV timer expired\n");
+ postInterrupt(iGbReg::IT_TXDW, true);
+ }
+
//friend class EventWrapper<IGbE, &IGbE::tadvProcess>;
EventWrapper<IGbE, &IGbE::tadvProcess> tadvEvent;
// Event and function to deal with TIDV timer expiring
- void tidvProcess() { postInterrupt(iGbReg::IT_TXDW, true); };
+ void tidvProcess() {
+ txDescCache.writeback(0);
+ DPRINTF(EthernetIntr, "Posting TXDW interrupt because TIDV timer expired\n");
+ postInterrupt(iGbReg::IT_TXDW, true);
+ }
//friend class EventWrapper<IGbE, &IGbE::tidvProcess>;
EventWrapper<IGbE, &IGbE::tidvProcess> tidvEvent;
@@ -131,8 +153,15 @@ class IGbE : public PciDev
Tick intClock() { return Clock::Int::ns * 1024; }
+ /** This function is used to restart the clock so it can handle things like
+ * draining and resume in one place. */
void restartClock();
+ /** Check if all the draining things that need to occur have occured and
+ * handle the drain event if so.
+ */
+ void checkDrain();
+
template<class T>
class DescCache
{
@@ -202,8 +231,10 @@ class IGbE : public PciDev
*/
void areaChanged()
{
- if (usedCache.size() > 0 || unusedCache.size() > 0)
+ if (usedCache.size() > 0 || curFetching || wbOut)
panic("Descriptor Address, Length or Head changed. Bad\n");
+ reset();
+
}
void writeback(Addr aMask)
@@ -229,7 +260,7 @@ class IGbE : public PciDev
moreToWb = false;
wbAlignment = aMask;
- if (max_to_wb + curHead > descLen()) {
+ if (max_to_wb + curHead >= descLen()) {
max_to_wb = descLen() - curHead;
moreToWb = true;
// this is by definition aligned correctly
@@ -265,10 +296,14 @@ class IGbE : public PciDev
*/
void fetchDescriptors()
{
- size_t max_to_fetch = descTail() - cachePnt;
- if (max_to_fetch < 0)
+ size_t max_to_fetch;
+
+ if (descTail() >= cachePnt)
+ max_to_fetch = descTail() - cachePnt;
+ else
max_to_fetch = descLen() - cachePnt;
+
max_to_fetch = std::min(max_to_fetch, (size - usedCache.size() -
unusedCache.size()));
@@ -311,8 +346,9 @@ class IGbE : public PciDev
#endif
cachePnt += curFetching;
- if (cachePnt > descLen())
- cachePnt -= descLen();
+ assert(cachePnt <= descLen());
+ if (cachePnt == descLen())
+ cachePnt = 0;
curFetching = 0;
@@ -320,7 +356,7 @@ class IGbE : public PciDev
oldCp, cachePnt);
enableSm();
-
+ igbe->checkDrain();
}
EventWrapper<DescCache, &DescCache::fetchComplete> fetchEvent;
@@ -337,8 +373,8 @@ class IGbE : public PciDev
curHead += wbOut;
wbOut = 0;
- if (curHead > descLen())
- curHead = 0;
+ if (curHead >= descLen())
+ curHead -= descLen();
// Update the head
updateHead(curHead);
@@ -352,6 +388,7 @@ class IGbE : public PciDev
writeback(wbAlignment);
}
intAfterWb();
+ igbe->checkDrain();
}
@@ -390,6 +427,63 @@ class IGbE : public PciDev
usedCache.clear();
unusedCache.clear();
+
+ cachePnt = 0;
+
+ }
+
+ virtual void serialize(std::ostream &os)
+ {
+ SERIALIZE_SCALAR(cachePnt);
+ SERIALIZE_SCALAR(curFetching);
+ SERIALIZE_SCALAR(wbOut);
+ SERIALIZE_SCALAR(moreToWb);
+ SERIALIZE_SCALAR(wbAlignment);
+
+ int usedCacheSize = usedCache.size();
+ SERIALIZE_SCALAR(usedCacheSize);
+ for(int x = 0; x < usedCacheSize; x++) {
+ arrayParamOut(os, csprintf("usedCache_%d", x),
+ (uint8_t*)usedCache[x],sizeof(T));
+ }
+
+ int unusedCacheSize = unusedCache.size();
+ SERIALIZE_SCALAR(unusedCacheSize);
+ for(int x = 0; x < unusedCacheSize; x++) {
+ arrayParamOut(os, csprintf("unusedCache_%d", x),
+ (uint8_t*)unusedCache[x],sizeof(T));
+ }
+ }
+
+ virtual void unserialize(Checkpoint *cp, const std::string &section)
+ {
+ UNSERIALIZE_SCALAR(cachePnt);
+ UNSERIALIZE_SCALAR(curFetching);
+ UNSERIALIZE_SCALAR(wbOut);
+ UNSERIALIZE_SCALAR(moreToWb);
+ UNSERIALIZE_SCALAR(wbAlignment);
+
+ int usedCacheSize;
+ UNSERIALIZE_SCALAR(usedCacheSize);
+ T *temp;
+ for(int x = 0; x < usedCacheSize; x++) {
+ temp = new T;
+ arrayParamIn(cp, section, csprintf("usedCache_%d", x),
+ (uint8_t*)temp,sizeof(T));
+ usedCache.push_back(temp);
+ }
+
+ int unusedCacheSize;
+ UNSERIALIZE_SCALAR(unusedCacheSize);
+ for(int x = 0; x < unusedCacheSize; x++) {
+ temp = new T;
+ arrayParamIn(cp, section, csprintf("unusedCache_%d", x),
+ (uint8_t*)temp,sizeof(T));
+ unusedCache.push_back(temp);
+ }
+ }
+ virtual bool hasOutstandingEvents() {
+ return wbEvent.scheduled() || fetchEvent.scheduled();
}
};
@@ -428,6 +522,10 @@ class IGbE : public PciDev
EventWrapper<RxDescCache, &RxDescCache::pktComplete> pktEvent;
+ virtual bool hasOutstandingEvents();
+
+ virtual void serialize(std::ostream &os);
+ virtual void unserialize(Checkpoint *cp, const std::string &section);
};
friend class RxDescCache;
@@ -447,7 +545,6 @@ class IGbE : public PciDev
bool pktDone;
bool isTcp;
bool pktWaiting;
- int hLen;
public:
TxDescCache(IGbE *i, std::string n, int s);
@@ -475,6 +572,11 @@ class IGbE : public PciDev
void pktComplete();
EventWrapper<TxDescCache, &TxDescCache::pktComplete> pktEvent;
+ virtual bool hasOutstandingEvents();
+
+ virtual void serialize(std::ostream &os);
+ virtual void unserialize(Checkpoint *cp, const std::string &section);
+
};
friend class TxDescCache;
@@ -513,7 +615,8 @@ class IGbE : public PciDev
virtual void serialize(std::ostream &os);
virtual void unserialize(Checkpoint *cp, const std::string &section);
-
+ virtual unsigned int drain(Event *de);
+ virtual void resume();
};
diff --git a/src/dev/i8254xGBe_defs.hh b/src/dev/i8254xGBe_defs.hh
index 8538c155b..91b3eacc9 100644
--- a/src/dev/i8254xGBe_defs.hh
+++ b/src/dev/i8254xGBe_defs.hh
@@ -162,7 +162,7 @@ struct TxDesc {
namespace TxdOp {
const uint8_t TXD_CNXT = 0x0;
-const uint8_t TXD_DATA = 0x0;
+const uint8_t TXD_DATA = 0x1;
bool isLegacy(TxDesc *d) { return !bits(d->d2,29,29); }
uint8_t getType(TxDesc *d) { return bits(d->d2, 23,20); }
@@ -220,6 +220,14 @@ struct Regs {
bool operator==(T d) { return d == _data; }
void operator()(T d) { _data = d; }
Reg() { _data = 0; }
+ void serialize(std::ostream &os)
+ {
+ SERIALIZE_SCALAR(_data);
+ }
+ void unserialize(Checkpoint *cp, const std::string &section)
+ {
+ UNSERIALIZE_SCALAR(_data);
+ }
};
struct CTRL : public Reg<uint32_t> { // 0x0000 CTRL Register
@@ -595,6 +603,79 @@ struct Regs {
ADD_FIELD32(smbclkout,30,1); // smb clock out
};
MANC manc;
-};
-}; // iGbReg namespace
+ void serialize(std::ostream &os)
+ {
+ paramOut(os, "ctrl", ctrl._data);
+ paramOut(os, "sts", sts._data);
+ paramOut(os, "eecd", eecd._data);
+ paramOut(os, "eerd", eerd._data);
+ paramOut(os, "ctrl_ext", ctrl_ext._data);
+ paramOut(os, "mdic", mdic._data);
+ paramOut(os, "icr", icr._data);
+ SERIALIZE_SCALAR(imr);
+ paramOut(os, "itr", itr._data);
+ SERIALIZE_SCALAR(iam);
+ paramOut(os, "rctl", rctl._data);
+ paramOut(os, "fcttv", fcttv._data);
+ paramOut(os, "tctl", tctl._data);
+ paramOut(os, "pba", pba._data);
+ paramOut(os, "fcrtl", fcrtl._data);
+ paramOut(os, "fcrth", fcrth._data);
+ paramOut(os, "rdba", rdba._data);
+ paramOut(os, "rdlen", rdlen._data);
+ paramOut(os, "rdh", rdh._data);
+ paramOut(os, "rdt", rdt._data);
+ paramOut(os, "rdtr", rdtr._data);
+ paramOut(os, "rxdctl", rxdctl._data);
+ paramOut(os, "radv", radv._data);
+ paramOut(os, "rsrpd", rsrpd._data);
+ paramOut(os, "tdba", tdba._data);
+ paramOut(os, "tdlen", tdlen._data);
+ paramOut(os, "tdh", tdh._data);
+ paramOut(os, "tdt", tdt._data);
+ paramOut(os, "tidv", tidv._data);
+ paramOut(os, "txdctl", txdctl._data);
+ paramOut(os, "tadv", tadv._data);
+ paramOut(os, "rxcsum", rxcsum._data);
+ paramOut(os, "manc", manc._data);
+ }
+
+ void unserialize(Checkpoint *cp, const std::string &section)
+ {
+ paramIn(cp, section, "ctrl", ctrl._data);
+ paramIn(cp, section, "sts", sts._data);
+ paramIn(cp, section, "eecd", eecd._data);
+ paramIn(cp, section, "eerd", eerd._data);
+ paramIn(cp, section, "ctrl_ext", ctrl_ext._data);
+ paramIn(cp, section, "mdic", mdic._data);
+ paramIn(cp, section, "icr", icr._data);
+ UNSERIALIZE_SCALAR(imr);
+ paramIn(cp, section, "itr", itr._data);
+ UNSERIALIZE_SCALAR(iam);
+ paramIn(cp, section, "rctl", rctl._data);
+ paramIn(cp, section, "fcttv", fcttv._data);
+ paramIn(cp, section, "tctl", tctl._data);
+ paramIn(cp, section, "pba", pba._data);
+ paramIn(cp, section, "fcrtl", fcrtl._data);
+ paramIn(cp, section, "fcrth", fcrth._data);
+ paramIn(cp, section, "rdba", rdba._data);
+ paramIn(cp, section, "rdlen", rdlen._data);
+ paramIn(cp, section, "rdh", rdh._data);
+ paramIn(cp, section, "rdt", rdt._data);
+ paramIn(cp, section, "rdtr", rdtr._data);
+ paramIn(cp, section, "rxdctl", rxdctl._data);
+ paramIn(cp, section, "radv", radv._data);
+ paramIn(cp, section, "rsrpd", rsrpd._data);
+ paramIn(cp, section, "tdba", tdba._data);
+ paramIn(cp, section, "tdlen", tdlen._data);
+ paramIn(cp, section, "tdh", tdh._data);
+ paramIn(cp, section, "tdt", tdt._data);
+ paramIn(cp, section, "tidv", tidv._data);
+ paramIn(cp, section, "txdctl", txdctl._data);
+ paramIn(cp, section, "tadv", tadv._data);
+ paramIn(cp, section, "rxcsum", rxcsum._data);
+ paramIn(cp, section, "manc", manc._data);
+ }
+};
+} // iGbReg namespace
diff --git a/tests/quick/00.hello/ref/alpha/linux/o3-timing/config.ini b/tests/quick/00.hello/ref/alpha/linux/o3-timing/config.ini
index cc4477d68..4d44e14fe 100644
--- a/tests/quick/00.hello/ref/alpha/linux/o3-timing/config.ini
+++ b/tests/quick/00.hello/ref/alpha/linux/o3-timing/config.ini
@@ -115,7 +115,7 @@ split=false
split_size=0
store_compressed=false
subblock_size=0
-tgts_per_mshr=5
+tgts_per_mshr=20
trace_addr=0
two_queue=false
write_buffers=8
@@ -291,7 +291,7 @@ split=false
split_size=0
store_compressed=false
subblock_size=0
-tgts_per_mshr=5
+tgts_per_mshr=20
trace_addr=0
two_queue=false
write_buffers=8
diff --git a/tests/quick/00.hello/ref/alpha/linux/o3-timing/config.out b/tests/quick/00.hello/ref/alpha/linux/o3-timing/config.out
index f50559125..686c3b2f6 100644
--- a/tests/quick/00.hello/ref/alpha/linux/o3-timing/config.out
+++ b/tests/quick/00.hello/ref/alpha/linux/o3-timing/config.out
@@ -251,7 +251,7 @@ assoc=2
block_size=64
latency=1
mshrs=10
-tgts_per_mshr=5
+tgts_per_mshr=20
write_buffers=8
prioritizeRequests=false
protocol=null
@@ -289,7 +289,7 @@ assoc=2
block_size=64
latency=1
mshrs=10
-tgts_per_mshr=5
+tgts_per_mshr=20
write_buffers=8
prioritizeRequests=false
protocol=null
diff --git a/tests/quick/00.hello/ref/alpha/linux/o3-timing/m5stats.txt b/tests/quick/00.hello/ref/alpha/linux/o3-timing/m5stats.txt
index 4b323618c..988584966 100644
--- a/tests/quick/00.hello/ref/alpha/linux/o3-timing/m5stats.txt
+++ b/tests/quick/00.hello/ref/alpha/linux/o3-timing/m5stats.txt
@@ -1,40 +1,40 @@
---------- Begin Simulation Statistics ----------
global.BPredUnit.BTBCorrect 0 # Number of correct BTB predictions (this stat may not work properly.
-global.BPredUnit.BTBHits 669 # Number of BTB hits
-global.BPredUnit.BTBLookups 2338 # Number of BTB lookups
-global.BPredUnit.RASInCorrect 76 # Number of incorrect RAS predictions.
-global.BPredUnit.condIncorrect 437 # Number of conditional branches incorrect
-global.BPredUnit.condPredicted 1559 # Number of conditional branches predicted
-global.BPredUnit.lookups 5224 # Number of BP lookups
-global.BPredUnit.usedRAS 2821 # Number of times the RAS was used to get a target.
-host_inst_rate 12539 # Simulator instruction rate (inst/s)
-host_mem_usage 156028 # Number of bytes of host memory used
-host_seconds 0.45 # Real time elapsed on the host
-host_tick_rate 3120138 # Simulator tick rate (ticks/s)
+global.BPredUnit.BTBHits 615 # Number of BTB hits
+global.BPredUnit.BTBLookups 1663 # Number of BTB lookups
+global.BPredUnit.RASInCorrect 78 # Number of incorrect RAS predictions.
+global.BPredUnit.condIncorrect 439 # Number of conditional branches incorrect
+global.BPredUnit.condPredicted 1180 # Number of conditional branches predicted
+global.BPredUnit.lookups 2032 # Number of BP lookups
+global.BPredUnit.usedRAS 304 # Number of times the RAS was used to get a target.
+host_inst_rate 15105 # Simulator instruction rate (inst/s)
+host_mem_usage 154056 # Number of bytes of host memory used
+host_seconds 0.37 # Real time elapsed on the host
+host_tick_rate 3572881 # Simulator tick rate (ticks/s)
memdepunit.memDep.conflictingLoads 24 # Number of conflicting loads.
-memdepunit.memDep.conflictingStores 12 # Number of conflicting stores.
-memdepunit.memDep.insertedLoads 3770 # Number of loads inserted to the mem dependence unit.
-memdepunit.memDep.insertedStores 3723 # Number of stores inserted to the mem dependence unit.
+memdepunit.memDep.conflictingStores 13 # Number of conflicting stores.
+memdepunit.memDep.insertedLoads 2144 # Number of loads inserted to the mem dependence unit.
+memdepunit.memDep.insertedStores 1221 # Number of stores inserted to the mem dependence unit.
sim_freq 1000000000000 # Frequency of simulated ticks
sim_insts 5623 # Number of instructions simulated
sim_seconds 0.000001 # Number of seconds simulated
-sim_ticks 1400134 # Number of ticks simulated
+sim_ticks 1331134 # Number of ticks simulated
system.cpu.commit.COM:branches 862 # Number of branches committed
system.cpu.commit.COM:bw_lim_events 101 # number cycles where commit BW limit reached
system.cpu.commit.COM:bw_limited 0 # number of insts not committed due to BW limits
system.cpu.commit.COM:committed_per_cycle.start_dist # Number of insts commited each cycle
-system.cpu.commit.COM:committed_per_cycle.samples 52214
+system.cpu.commit.COM:committed_per_cycle.samples 30311
system.cpu.commit.COM:committed_per_cycle.min_value 0
- 0 49499 9480.02%
- 1 1576 301.83%
- 2 483 92.50%
- 3 233 44.62%
- 4 133 25.47%
- 5 102 19.53%
- 6 60 11.49%
- 7 27 5.17%
- 8 101 19.34%
+ 0 27595 9103.96%
+ 1 1579 520.93%
+ 2 482 159.02%
+ 3 232 76.54%
+ 4 131 43.22%
+ 5 104 34.31%
+ 6 60 19.79%
+ 7 27 8.91%
+ 8 101 33.32%
system.cpu.commit.COM:committed_per_cycle.max_value 8
system.cpu.commit.COM:committed_per_cycle.end_dist
@@ -43,70 +43,70 @@ system.cpu.commit.COM:loads 979 # Nu
system.cpu.commit.COM:membars 0 # Number of memory barriers committed
system.cpu.commit.COM:refs 1791 # Number of memory references committed
system.cpu.commit.COM:swp_count 0 # Number of s/w prefetches committed
-system.cpu.commit.branchMispredicts 368 # The number of times a branch was mispredicted
+system.cpu.commit.branchMispredicts 370 # The number of times a branch was mispredicted
system.cpu.commit.commitCommittedInsts 5640 # The number of committed instructions
system.cpu.commit.commitNonSpecStalls 17 # The number of times commit has been forced to stall to communicate backwards
-system.cpu.commit.commitSquashedInsts 13804 # The number of squashed insts skipped by commit
+system.cpu.commit.commitSquashedInsts 4834 # The number of squashed insts skipped by commit
system.cpu.committedInsts 5623 # Number of Instructions Simulated
system.cpu.committedInsts_total 5623 # Number of Instructions Simulated
-system.cpu.cpi 249.001245 # CPI: Cycles Per Instruction
-system.cpu.cpi_total 249.001245 # CPI: Total CPI of All Threads
-system.cpu.dcache.ReadReq_accesses 1596 # number of ReadReq accesses(hits+misses)
-system.cpu.dcache.ReadReq_avg_miss_latency 6986.684848 # average ReadReq miss latency
-system.cpu.dcache.ReadReq_avg_mshr_miss_latency 6882.626263 # average ReadReq mshr miss latency
-system.cpu.dcache.ReadReq_hits 1431 # number of ReadReq hits
-system.cpu.dcache.ReadReq_miss_latency 1152803 # number of ReadReq miss cycles
-system.cpu.dcache.ReadReq_miss_rate 0.103383 # miss rate for ReadReq accesses
-system.cpu.dcache.ReadReq_misses 165 # number of ReadReq misses
-system.cpu.dcache.ReadReq_mshr_hits 66 # number of ReadReq MSHR hits
-system.cpu.dcache.ReadReq_mshr_miss_latency 681380 # number of ReadReq MSHR miss cycles
-system.cpu.dcache.ReadReq_mshr_miss_rate 0.062030 # mshr miss rate for ReadReq accesses
-system.cpu.dcache.ReadReq_mshr_misses 99 # number of ReadReq MSHR misses
+system.cpu.cpi 236.730215 # CPI: Cycles Per Instruction
+system.cpu.cpi_total 236.730215 # CPI: Total CPI of All Threads
+system.cpu.dcache.ReadReq_accesses 1606 # number of ReadReq accesses(hits+misses)
+system.cpu.dcache.ReadReq_avg_miss_latency 7256.076023 # average ReadReq miss latency
+system.cpu.dcache.ReadReq_avg_mshr_miss_latency 7095.200000 # average ReadReq mshr miss latency
+system.cpu.dcache.ReadReq_hits 1435 # number of ReadReq hits
+system.cpu.dcache.ReadReq_miss_latency 1240789 # number of ReadReq miss cycles
+system.cpu.dcache.ReadReq_miss_rate 0.106476 # miss rate for ReadReq accesses
+system.cpu.dcache.ReadReq_misses 171 # number of ReadReq misses
+system.cpu.dcache.ReadReq_mshr_hits 71 # number of ReadReq MSHR hits
+system.cpu.dcache.ReadReq_mshr_miss_latency 709520 # number of ReadReq MSHR miss cycles
+system.cpu.dcache.ReadReq_mshr_miss_rate 0.062267 # mshr miss rate for ReadReq accesses
+system.cpu.dcache.ReadReq_mshr_misses 100 # number of ReadReq MSHR misses
system.cpu.dcache.WriteReq_accesses 812 # number of WriteReq accesses(hits+misses)
-system.cpu.dcache.WriteReq_avg_miss_latency 5293.200787 # average WriteReq miss latency
-system.cpu.dcache.WriteReq_avg_mshr_miss_latency 5141.095890 # average WriteReq mshr miss latency
-system.cpu.dcache.WriteReq_hits 558 # number of WriteReq hits
-system.cpu.dcache.WriteReq_miss_latency 1344473 # number of WriteReq miss cycles
-system.cpu.dcache.WriteReq_miss_rate 0.312808 # miss rate for WriteReq accesses
-system.cpu.dcache.WriteReq_misses 254 # number of WriteReq misses
-system.cpu.dcache.WriteReq_mshr_hits 181 # number of WriteReq MSHR hits
-system.cpu.dcache.WriteReq_mshr_miss_latency 375300 # number of WriteReq MSHR miss cycles
+system.cpu.dcache.WriteReq_avg_miss_latency 8026.070225 # average WriteReq miss latency
+system.cpu.dcache.WriteReq_avg_mshr_miss_latency 7200.452055 # average WriteReq mshr miss latency
+system.cpu.dcache.WriteReq_hits 456 # number of WriteReq hits
+system.cpu.dcache.WriteReq_miss_latency 2857281 # number of WriteReq miss cycles
+system.cpu.dcache.WriteReq_miss_rate 0.438424 # miss rate for WriteReq accesses
+system.cpu.dcache.WriteReq_misses 356 # number of WriteReq misses
+system.cpu.dcache.WriteReq_mshr_hits 283 # number of WriteReq MSHR hits
+system.cpu.dcache.WriteReq_mshr_miss_latency 525633 # number of WriteReq MSHR miss cycles
system.cpu.dcache.WriteReq_mshr_miss_rate 0.089901 # mshr miss rate for WriteReq accesses
system.cpu.dcache.WriteReq_mshr_misses 73 # number of WriteReq MSHR misses
system.cpu.dcache.avg_blocked_cycles_no_mshrs <err: div-0> # average number of cycles each access was blocked
-system.cpu.dcache.avg_blocked_cycles_no_targets 3366.930233 # average number of cycles each access was blocked
-system.cpu.dcache.avg_refs 11.563953 # Average number of references to valid blocks.
+system.cpu.dcache.avg_blocked_cycles_no_targets <err: div-0> # average number of cycles each access was blocked
+system.cpu.dcache.avg_refs 10.930636 # Average number of references to valid blocks.
system.cpu.dcache.blocked_no_mshrs 0 # number of cycles access was blocked
-system.cpu.dcache.blocked_no_targets 43 # number of cycles access was blocked
+system.cpu.dcache.blocked_no_targets 0 # number of cycles access was blocked
system.cpu.dcache.blocked_cycles_no_mshrs 0 # number of cycles access was blocked
-system.cpu.dcache.blocked_cycles_no_targets 144778 # number of cycles access was blocked
+system.cpu.dcache.blocked_cycles_no_targets 0 # number of cycles access was blocked
system.cpu.dcache.cache_copies 0 # number of cache copies performed
-system.cpu.dcache.demand_accesses 2408 # number of demand (read+write) accesses
-system.cpu.dcache.demand_avg_miss_latency 5960.085919 # average overall miss latency
-system.cpu.dcache.demand_avg_mshr_miss_latency 6143.488372 # average overall mshr miss latency
-system.cpu.dcache.demand_hits 1989 # number of demand (read+write) hits
-system.cpu.dcache.demand_miss_latency 2497276 # number of demand (read+write) miss cycles
-system.cpu.dcache.demand_miss_rate 0.174003 # miss rate for demand accesses
-system.cpu.dcache.demand_misses 419 # number of demand (read+write) misses
-system.cpu.dcache.demand_mshr_hits 247 # number of demand (read+write) MSHR hits
-system.cpu.dcache.demand_mshr_miss_latency 1056680 # number of demand (read+write) MSHR miss cycles
-system.cpu.dcache.demand_mshr_miss_rate 0.071429 # mshr miss rate for demand accesses
-system.cpu.dcache.demand_mshr_misses 172 # number of demand (read+write) MSHR misses
+system.cpu.dcache.demand_accesses 2418 # number of demand (read+write) accesses
+system.cpu.dcache.demand_avg_miss_latency 7776.223909 # average overall miss latency
+system.cpu.dcache.demand_avg_mshr_miss_latency 7139.612717 # average overall mshr miss latency
+system.cpu.dcache.demand_hits 1891 # number of demand (read+write) hits
+system.cpu.dcache.demand_miss_latency 4098070 # number of demand (read+write) miss cycles
+system.cpu.dcache.demand_miss_rate 0.217949 # miss rate for demand accesses
+system.cpu.dcache.demand_misses 527 # number of demand (read+write) misses
+system.cpu.dcache.demand_mshr_hits 354 # number of demand (read+write) MSHR hits
+system.cpu.dcache.demand_mshr_miss_latency 1235153 # number of demand (read+write) MSHR miss cycles
+system.cpu.dcache.demand_mshr_miss_rate 0.071547 # mshr miss rate for demand accesses
+system.cpu.dcache.demand_mshr_misses 173 # number of demand (read+write) MSHR misses
system.cpu.dcache.fast_writes 0 # number of fast writes performed
system.cpu.dcache.mshr_cap_events 0 # number of times MSHR cap was activated
system.cpu.dcache.no_allocate_misses 0 # Number of misses that were no-allocate
-system.cpu.dcache.overall_accesses 2408 # number of overall (read+write) accesses
-system.cpu.dcache.overall_avg_miss_latency 5960.085919 # average overall miss latency
-system.cpu.dcache.overall_avg_mshr_miss_latency 6143.488372 # average overall mshr miss latency
+system.cpu.dcache.overall_accesses 2418 # number of overall (read+write) accesses
+system.cpu.dcache.overall_avg_miss_latency 7776.223909 # average overall miss latency
+system.cpu.dcache.overall_avg_mshr_miss_latency 7139.612717 # average overall mshr miss latency
system.cpu.dcache.overall_avg_mshr_uncacheable_latency <err: div-0> # average overall mshr uncacheable latency
-system.cpu.dcache.overall_hits 1989 # number of overall hits
-system.cpu.dcache.overall_miss_latency 2497276 # number of overall miss cycles
-system.cpu.dcache.overall_miss_rate 0.174003 # miss rate for overall accesses
-system.cpu.dcache.overall_misses 419 # number of overall misses
-system.cpu.dcache.overall_mshr_hits 247 # number of overall MSHR hits
-system.cpu.dcache.overall_mshr_miss_latency 1056680 # number of overall MSHR miss cycles
-system.cpu.dcache.overall_mshr_miss_rate 0.071429 # mshr miss rate for overall accesses
-system.cpu.dcache.overall_mshr_misses 172 # number of overall MSHR misses
+system.cpu.dcache.overall_hits 1891 # number of overall hits
+system.cpu.dcache.overall_miss_latency 4098070 # number of overall miss cycles
+system.cpu.dcache.overall_miss_rate 0.217949 # miss rate for overall accesses
+system.cpu.dcache.overall_misses 527 # number of overall misses
+system.cpu.dcache.overall_mshr_hits 354 # number of overall MSHR hits
+system.cpu.dcache.overall_mshr_miss_latency 1235153 # number of overall MSHR miss cycles
+system.cpu.dcache.overall_mshr_miss_rate 0.071547 # mshr miss rate for overall accesses
+system.cpu.dcache.overall_mshr_misses 173 # number of overall MSHR misses
system.cpu.dcache.overall_mshr_uncacheable_latency 0 # number of overall MSHR uncacheable cycles
system.cpu.dcache.overall_mshr_uncacheable_misses 0 # number of overall MSHR uncacheable misses
system.cpu.dcache.prefetcher.num_hwpf_already_in_cache 0 # number of hwpf that were already in the cache
@@ -119,90 +119,90 @@ system.cpu.dcache.prefetcher.num_hwpf_removed_MSHR_hit 0
system.cpu.dcache.prefetcher.num_hwpf_span_page 0 # number of hwpf spanning a virtual page
system.cpu.dcache.prefetcher.num_hwpf_squashed_from_miss 0 # number of hwpf that got squashed due to a miss aborting calculation time
system.cpu.dcache.replacements 0 # number of replacements
-system.cpu.dcache.sampled_refs 172 # Sample count of references to valid blocks.
+system.cpu.dcache.sampled_refs 173 # Sample count of references to valid blocks.
system.cpu.dcache.soft_prefetch_mshr_full 0 # number of mshr full events for SW prefetching instrutions
-system.cpu.dcache.tagsinuse 101.349670 # Cycle average of tags in use
-system.cpu.dcache.total_refs 1989 # Total number of references to valid blocks.
+system.cpu.dcache.tagsinuse 102.478227 # Cycle average of tags in use
+system.cpu.dcache.total_refs 1891 # Total number of references to valid blocks.
system.cpu.dcache.warmup_cycle 0 # Cycle when the warmup percentage was hit.
system.cpu.dcache.writebacks 0 # number of writebacks
-system.cpu.decode.DECODE:BlockedCycles 17501 # Number of cycles decode is blocked
+system.cpu.decode.DECODE:BlockedCycles 17469 # Number of cycles decode is blocked
system.cpu.decode.DECODE:BranchMispred 70 # Number of times decode detected a branch misprediction
-system.cpu.decode.DECODE:BranchResolved 167 # Number of times decode resolved a branch
-system.cpu.decode.DECODE:DecodedInsts 29609 # Number of instructions handled by decode
-system.cpu.decode.DECODE:IdleCycles 29114 # Number of cycles decode is idle
-system.cpu.decode.DECODE:RunCycles 5540 # Number of cycles decode is running
-system.cpu.decode.DECODE:SquashCycles 2527 # Number of cycles decode is squashing
+system.cpu.decode.DECODE:BranchResolved 169 # Number of times decode resolved a branch
+system.cpu.decode.DECODE:DecodedInsts 11765 # Number of instructions handled by decode
+system.cpu.decode.DECODE:IdleCycles 10684 # Number of cycles decode is idle
+system.cpu.decode.DECODE:RunCycles 2098 # Number of cycles decode is running
+system.cpu.decode.DECODE:SquashCycles 907 # Number of cycles decode is squashing
system.cpu.decode.DECODE:SquashedInsts 200 # Number of squashed instructions handled by decode
-system.cpu.decode.DECODE:UnblockCycles 60 # Number of cycles decode is unblocking
-system.cpu.fetch.Branches 5224 # Number of branches that fetch encountered
-system.cpu.fetch.CacheLines 6367 # Number of cache lines fetched
-system.cpu.fetch.Cycles 13308 # Number of cycles fetch has run and was not squashing or blocked
-system.cpu.fetch.IcacheSquashes 295 # Number of outstanding Icache misses that were squashed
-system.cpu.fetch.Insts 35526 # Number of instructions fetch has processed
-system.cpu.fetch.SquashCycles 2057 # Number of cycles fetch has spent squashing
-system.cpu.fetch.branchRate 0.095429 # Number of branch fetches per cycle
-system.cpu.fetch.icacheStallCycles 7360 # Number of cycles fetch is stalled on an Icache miss
-system.cpu.fetch.predictedBranches 3490 # Number of branches that fetch has predicted taken
-system.cpu.fetch.rate 0.648972 # Number of inst fetches per cycle
+system.cpu.decode.DECODE:UnblockCycles 61 # Number of cycles decode is unblocking
+system.cpu.fetch.Branches 2032 # Number of branches that fetch encountered
+system.cpu.fetch.CacheLines 1710 # Number of cache lines fetched
+system.cpu.fetch.Cycles 3962 # Number of cycles fetch has run and was not squashing or blocked
+system.cpu.fetch.IcacheSquashes 268 # Number of outstanding Icache misses that were squashed
+system.cpu.fetch.Insts 12603 # Number of instructions fetch has processed
+system.cpu.fetch.SquashCycles 472 # Number of cycles fetch has spent squashing
+system.cpu.fetch.branchRate 0.065089 # Number of branch fetches per cycle
+system.cpu.fetch.icacheStallCycles 1710 # Number of cycles fetch is stalled on an Icache miss
+system.cpu.fetch.predictedBranches 919 # Number of branches that fetch has predicted taken
+system.cpu.fetch.rate 0.403696 # Number of inst fetches per cycle
system.cpu.fetch.rateDist.start_dist # Number of instructions fetched each cycle (Total)
-system.cpu.fetch.rateDist.samples 54742
+system.cpu.fetch.rateDist.samples 31219
system.cpu.fetch.rateDist.min_value 0
- 0 47805 8732.78%
- 1 199 36.35%
- 2 500 91.34%
- 3 1426 260.49%
- 4 1459 266.52%
- 5 244 44.57%
- 6 327 59.73%
- 7 1225 223.78%
- 8 1557 284.43%
+ 0 28979 9282.49%
+ 1 197 63.10%
+ 2 198 63.42%
+ 3 167 53.49%
+ 4 197 63.10%
+ 5 187 59.90%
+ 6 222 71.11%
+ 7 122 39.08%
+ 8 950 304.30%
system.cpu.fetch.rateDist.max_value 8
system.cpu.fetch.rateDist.end_dist
-system.cpu.icache.ReadReq_accesses 6366 # number of ReadReq accesses(hits+misses)
-system.cpu.icache.ReadReq_avg_miss_latency 5085.923937 # average ReadReq miss latency
-system.cpu.icache.ReadReq_avg_mshr_miss_latency 4278.032258 # average ReadReq mshr miss latency
-system.cpu.icache.ReadReq_hits 5919 # number of ReadReq hits
-system.cpu.icache.ReadReq_miss_latency 2273408 # number of ReadReq miss cycles
-system.cpu.icache.ReadReq_miss_rate 0.070217 # miss rate for ReadReq accesses
-system.cpu.icache.ReadReq_misses 447 # number of ReadReq misses
-system.cpu.icache.ReadReq_mshr_hits 137 # number of ReadReq MSHR hits
-system.cpu.icache.ReadReq_mshr_miss_latency 1326190 # number of ReadReq MSHR miss cycles
-system.cpu.icache.ReadReq_mshr_miss_rate 0.048696 # mshr miss rate for ReadReq accesses
+system.cpu.icache.ReadReq_accesses 1710 # number of ReadReq accesses(hits+misses)
+system.cpu.icache.ReadReq_avg_miss_latency 5139.251163 # average ReadReq miss latency
+system.cpu.icache.ReadReq_avg_mshr_miss_latency 4349.151613 # average ReadReq mshr miss latency
+system.cpu.icache.ReadReq_hits 1280 # number of ReadReq hits
+system.cpu.icache.ReadReq_miss_latency 2209878 # number of ReadReq miss cycles
+system.cpu.icache.ReadReq_miss_rate 0.251462 # miss rate for ReadReq accesses
+system.cpu.icache.ReadReq_misses 430 # number of ReadReq misses
+system.cpu.icache.ReadReq_mshr_hits 120 # number of ReadReq MSHR hits
+system.cpu.icache.ReadReq_mshr_miss_latency 1348237 # number of ReadReq MSHR miss cycles
+system.cpu.icache.ReadReq_mshr_miss_rate 0.181287 # mshr miss rate for ReadReq accesses
system.cpu.icache.ReadReq_mshr_misses 310 # number of ReadReq MSHR misses
system.cpu.icache.avg_blocked_cycles_no_mshrs <err: div-0> # average number of cycles each access was blocked
-system.cpu.icache.avg_blocked_cycles_no_targets 3443.500000 # average number of cycles each access was blocked
-system.cpu.icache.avg_refs 19.093548 # Average number of references to valid blocks.
+system.cpu.icache.avg_blocked_cycles_no_targets <err: div-0> # average number of cycles each access was blocked
+system.cpu.icache.avg_refs 4.129032 # Average number of references to valid blocks.
system.cpu.icache.blocked_no_mshrs 0 # number of cycles access was blocked
-system.cpu.icache.blocked_no_targets 8 # number of cycles access was blocked
+system.cpu.icache.blocked_no_targets 0 # number of cycles access was blocked
system.cpu.icache.blocked_cycles_no_mshrs 0 # number of cycles access was blocked
-system.cpu.icache.blocked_cycles_no_targets 27548 # number of cycles access was blocked
+system.cpu.icache.blocked_cycles_no_targets 0 # number of cycles access was blocked
system.cpu.icache.cache_copies 0 # number of cache copies performed
-system.cpu.icache.demand_accesses 6366 # number of demand (read+write) accesses
-system.cpu.icache.demand_avg_miss_latency 5085.923937 # average overall miss latency
-system.cpu.icache.demand_avg_mshr_miss_latency 4278.032258 # average overall mshr miss latency
-system.cpu.icache.demand_hits 5919 # number of demand (read+write) hits
-system.cpu.icache.demand_miss_latency 2273408 # number of demand (read+write) miss cycles
-system.cpu.icache.demand_miss_rate 0.070217 # miss rate for demand accesses
-system.cpu.icache.demand_misses 447 # number of demand (read+write) misses
-system.cpu.icache.demand_mshr_hits 137 # number of demand (read+write) MSHR hits
-system.cpu.icache.demand_mshr_miss_latency 1326190 # number of demand (read+write) MSHR miss cycles
-system.cpu.icache.demand_mshr_miss_rate 0.048696 # mshr miss rate for demand accesses
+system.cpu.icache.demand_accesses 1710 # number of demand (read+write) accesses
+system.cpu.icache.demand_avg_miss_latency 5139.251163 # average overall miss latency
+system.cpu.icache.demand_avg_mshr_miss_latency 4349.151613 # average overall mshr miss latency
+system.cpu.icache.demand_hits 1280 # number of demand (read+write) hits
+system.cpu.icache.demand_miss_latency 2209878 # number of demand (read+write) miss cycles
+system.cpu.icache.demand_miss_rate 0.251462 # miss rate for demand accesses
+system.cpu.icache.demand_misses 430 # number of demand (read+write) misses
+system.cpu.icache.demand_mshr_hits 120 # number of demand (read+write) MSHR hits
+system.cpu.icache.demand_mshr_miss_latency 1348237 # number of demand (read+write) MSHR miss cycles
+system.cpu.icache.demand_mshr_miss_rate 0.181287 # mshr miss rate for demand accesses
system.cpu.icache.demand_mshr_misses 310 # number of demand (read+write) MSHR misses
system.cpu.icache.fast_writes 0 # number of fast writes performed
system.cpu.icache.mshr_cap_events 0 # number of times MSHR cap was activated
system.cpu.icache.no_allocate_misses 0 # Number of misses that were no-allocate
-system.cpu.icache.overall_accesses 6366 # number of overall (read+write) accesses
-system.cpu.icache.overall_avg_miss_latency 5085.923937 # average overall miss latency
-system.cpu.icache.overall_avg_mshr_miss_latency 4278.032258 # average overall mshr miss latency
+system.cpu.icache.overall_accesses 1710 # number of overall (read+write) accesses
+system.cpu.icache.overall_avg_miss_latency 5139.251163 # average overall miss latency
+system.cpu.icache.overall_avg_mshr_miss_latency 4349.151613 # average overall mshr miss latency
system.cpu.icache.overall_avg_mshr_uncacheable_latency <err: div-0> # average overall mshr uncacheable latency
-system.cpu.icache.overall_hits 5919 # number of overall hits
-system.cpu.icache.overall_miss_latency 2273408 # number of overall miss cycles
-system.cpu.icache.overall_miss_rate 0.070217 # miss rate for overall accesses
-system.cpu.icache.overall_misses 447 # number of overall misses
-system.cpu.icache.overall_mshr_hits 137 # number of overall MSHR hits
-system.cpu.icache.overall_mshr_miss_latency 1326190 # number of overall MSHR miss cycles
-system.cpu.icache.overall_mshr_miss_rate 0.048696 # mshr miss rate for overall accesses
+system.cpu.icache.overall_hits 1280 # number of overall hits
+system.cpu.icache.overall_miss_latency 2209878 # number of overall miss cycles
+system.cpu.icache.overall_miss_rate 0.251462 # miss rate for overall accesses
+system.cpu.icache.overall_misses 430 # number of overall misses
+system.cpu.icache.overall_mshr_hits 120 # number of overall MSHR hits
+system.cpu.icache.overall_mshr_miss_latency 1348237 # number of overall MSHR miss cycles
+system.cpu.icache.overall_mshr_miss_rate 0.181287 # mshr miss rate for overall accesses
system.cpu.icache.overall_mshr_misses 310 # number of overall MSHR misses
system.cpu.icache.overall_mshr_uncacheable_latency 0 # number of overall MSHR uncacheable cycles
system.cpu.icache.overall_mshr_uncacheable_misses 0 # number of overall MSHR uncacheable misses
@@ -218,74 +218,74 @@ system.cpu.icache.prefetcher.num_hwpf_squashed_from_miss 0
system.cpu.icache.replacements 0 # number of replacements
system.cpu.icache.sampled_refs 310 # Sample count of references to valid blocks.
system.cpu.icache.soft_prefetch_mshr_full 0 # number of mshr full events for SW prefetching instrutions
-system.cpu.icache.tagsinuse 147.070711 # Cycle average of tags in use
-system.cpu.icache.total_refs 5919 # Total number of references to valid blocks.
+system.cpu.icache.tagsinuse 148.421347 # Cycle average of tags in use
+system.cpu.icache.total_refs 1280 # Total number of references to valid blocks.
system.cpu.icache.warmup_cycle 0 # Cycle when the warmup percentage was hit.
system.cpu.icache.writebacks 0 # number of writebacks
-system.cpu.idleCycles 1345393 # Total number of cycles that the CPU has spent unscheduled due to idling
-system.cpu.iew.EXEC:branches 2362 # Number of branches executed
+system.cpu.idleCycles 1299916 # Total number of cycles that the CPU has spent unscheduled due to idling
+system.cpu.iew.EXEC:branches 1267 # Number of branches executed
system.cpu.iew.EXEC:nop 48 # number of nop insts executed
-system.cpu.iew.EXEC:rate 0.247123 # Inst execution rate
-system.cpu.iew.EXEC:refs 5464 # number of memory reference insts executed
-system.cpu.iew.EXEC:stores 2131 # Number of stores executed
+system.cpu.iew.EXEC:rate 0.270476 # Inst execution rate
+system.cpu.iew.EXEC:refs 2748 # number of memory reference insts executed
+system.cpu.iew.EXEC:stores 1031 # Number of stores executed
system.cpu.iew.EXEC:swp 0 # number of swp insts executed
-system.cpu.iew.WB:consumers 6466 # num instructions consuming a value
-system.cpu.iew.WB:count 11625 # cumulative count of insts written-back
-system.cpu.iew.WB:fanout 0.798948 # average fanout of values written-back
+system.cpu.iew.WB:consumers 5354 # num instructions consuming a value
+system.cpu.iew.WB:count 8160 # cumulative count of insts written-back
+system.cpu.iew.WB:fanout 0.757378 # average fanout of values written-back
system.cpu.iew.WB:penalized 0 # number of instrctions required to write to 'other' IQ
system.cpu.iew.WB:penalized_rate 0 # fraction of instructions written-back that wrote to 'other' IQ
-system.cpu.iew.WB:producers 5166 # num instructions producing a value
-system.cpu.iew.WB:rate 0.212360 # insts written-back per cycle
-system.cpu.iew.WB:sent 11698 # cumulative count of insts sent to commit
-system.cpu.iew.branchMispredicts 401 # Number of branch mispredicts detected at execute
+system.cpu.iew.WB:producers 4055 # num instructions producing a value
+system.cpu.iew.WB:rate 0.261379 # insts written-back per cycle
+system.cpu.iew.WB:sent 8228 # cumulative count of insts sent to commit
+system.cpu.iew.branchMispredicts 404 # Number of branch mispredicts detected at execute
system.cpu.iew.iewBlockCycles 7230 # Number of cycles IEW is blocking
-system.cpu.iew.iewDispLoadInsts 3770 # Number of dispatched load instructions
+system.cpu.iew.iewDispLoadInsts 2144 # Number of dispatched load instructions
system.cpu.iew.iewDispNonSpecInsts 24 # Number of dispatched non-speculative instructions
-system.cpu.iew.iewDispSquashedInsts 2547 # Number of squashed instructions skipped by dispatch
-system.cpu.iew.iewDispStoreInsts 3723 # Number of dispatched store instructions
-system.cpu.iew.iewDispatchedInsts 19439 # Number of instructions dispatched to IQ
-system.cpu.iew.iewExecLoadInsts 3333 # Number of load instructions executed
-system.cpu.iew.iewExecSquashedInsts 305 # Number of squashed instructions skipped in execute
-system.cpu.iew.iewExecutedInsts 13528 # Number of executed instructions
+system.cpu.iew.iewDispSquashedInsts 179 # Number of squashed instructions skipped by dispatch
+system.cpu.iew.iewDispStoreInsts 1221 # Number of dispatched store instructions
+system.cpu.iew.iewDispatchedInsts 10469 # Number of instructions dispatched to IQ
+system.cpu.iew.iewExecLoadInsts 1717 # Number of load instructions executed
+system.cpu.iew.iewExecSquashedInsts 299 # Number of squashed instructions skipped in execute
+system.cpu.iew.iewExecutedInsts 8444 # Number of executed instructions
system.cpu.iew.iewIQFullEvents 10 # Number of times the IQ has become full, causing a stall
system.cpu.iew.iewIdleCycles 0 # Number of cycles IEW is idle
system.cpu.iew.iewLSQFullEvents 1 # Number of times the LSQ has become full, causing a stall
-system.cpu.iew.iewSquashCycles 2527 # Number of cycles IEW is squashing
+system.cpu.iew.iewSquashCycles 907 # Number of cycles IEW is squashing
system.cpu.iew.iewUnblockCycles 39 # Number of cycles IEW is unblocking
system.cpu.iew.lsq.thread.0.blockedLoads 0 # Number of blocked loads due to partial load-store forwarding
-system.cpu.iew.lsq.thread.0.cacheBlocked 1656 # Number of times an access to memory failed due to the cache being blocked
+system.cpu.iew.lsq.thread.0.cacheBlocked 0 # Number of times an access to memory failed due to the cache being blocked
system.cpu.iew.lsq.thread.0.forwLoads 81 # Number of loads that had data forwarded from stores
system.cpu.iew.lsq.thread.0.ignoredResponses 3 # Number of memory responses ignored because the instruction is squashed
system.cpu.iew.lsq.thread.0.invAddrLoads 0 # Number of loads ignored due to an invalid address
system.cpu.iew.lsq.thread.0.invAddrSwpfs 0 # Number of software prefetches ignored due to an invalid address
-system.cpu.iew.lsq.thread.0.memOrderViolation 61 # Number of memory ordering violations
+system.cpu.iew.lsq.thread.0.memOrderViolation 60 # Number of memory ordering violations
system.cpu.iew.lsq.thread.0.rescheduledLoads 1 # Number of loads that were rescheduled
-system.cpu.iew.lsq.thread.0.squashedLoads 2791 # Number of loads squashed
-system.cpu.iew.lsq.thread.0.squashedStores 2911 # Number of stores squashed
-system.cpu.iew.memOrderViolationEvents 61 # Number of memory order violations
+system.cpu.iew.lsq.thread.0.squashedLoads 1165 # Number of loads squashed
+system.cpu.iew.lsq.thread.0.squashedStores 409 # Number of stores squashed
+system.cpu.iew.memOrderViolationEvents 60 # Number of memory order violations
system.cpu.iew.predictedNotTakenIncorrect 279 # Number of branches that were predicted not taken incorrectly
-system.cpu.iew.predictedTakenIncorrect 122 # Number of branches that were predicted taken incorrectly
-system.cpu.ipc 0.004016 # IPC: Instructions Per Cycle
-system.cpu.ipc_total 0.004016 # IPC: Total IPC of All Threads
-system.cpu.iq.ISSUE:FU_type_0 13833 # Type of FU issued
+system.cpu.iew.predictedTakenIncorrect 125 # Number of branches that were predicted taken incorrectly
+system.cpu.ipc 0.004224 # IPC: Instructions Per Cycle
+system.cpu.ipc_total 0.004224 # IPC: Total IPC of All Threads
+system.cpu.iq.ISSUE:FU_type_0 8743 # Type of FU issued
system.cpu.iq.ISSUE:FU_type_0.start_dist
- (null) 2 0.01% # Type of FU issued
- IntAlu 8240 59.57% # Type of FU issued
+ (null) 2 0.02% # Type of FU issued
+ IntAlu 5868 67.12% # Type of FU issued
IntMult 1 0.01% # Type of FU issued
IntDiv 0 0.00% # Type of FU issued
- FloatAdd 2 0.01% # Type of FU issued
+ FloatAdd 2 0.02% # Type of FU issued
FloatCmp 0 0.00% # Type of FU issued
FloatCvt 0 0.00% # Type of FU issued
FloatMult 0 0.00% # Type of FU issued
FloatDiv 0 0.00% # Type of FU issued
FloatSqrt 0 0.00% # Type of FU issued
- MemRead 3428 24.78% # Type of FU issued
- MemWrite 2160 15.61% # Type of FU issued
+ MemRead 1809 20.69% # Type of FU issued
+ MemWrite 1061 12.14% # Type of FU issued
IprAccess 0 0.00% # Type of FU issued
InstPrefetch 0 0.00% # Type of FU issued
system.cpu.iq.ISSUE:FU_type_0.end_dist
system.cpu.iq.ISSUE:fu_busy_cnt 87 # FU busy when requested
-system.cpu.iq.ISSUE:fu_busy_rate 0.006289 # FU busy rate (busy events/executed inst)
+system.cpu.iq.ISSUE:fu_busy_rate 0.009951 # FU busy rate (busy events/executed inst)
system.cpu.iq.ISSUE:fu_full.start_dist
(null) 0 0.00% # attempts to use FU when none available
IntAlu 1 1.15% # attempts to use FU when none available
@@ -303,37 +303,37 @@ system.cpu.iq.ISSUE:fu_full.start_dist
InstPrefetch 0 0.00% # attempts to use FU when none available
system.cpu.iq.ISSUE:fu_full.end_dist
system.cpu.iq.ISSUE:issued_per_cycle.start_dist # Number of insts issued each cycle
-system.cpu.iq.ISSUE:issued_per_cycle.samples 54742
+system.cpu.iq.ISSUE:issued_per_cycle.samples 31219
system.cpu.iq.ISSUE:issued_per_cycle.min_value 0
- 0 47874 8745.39%
- 1 3270 597.35%
- 2 1302 237.84%
- 3 1673 305.62%
- 4 327 59.73%
- 5 188 34.34%
- 6 75 13.70%
- 7 22 4.02%
- 8 11 2.01%
+ 0 27042 8662.03%
+ 1 1845 590.99%
+ 2 1151 368.69%
+ 3 572 183.22%
+ 4 318 101.86%
+ 5 182 58.30%
+ 6 76 24.34%
+ 7 22 7.05%
+ 8 11 3.52%
system.cpu.iq.ISSUE:issued_per_cycle.max_value 8
system.cpu.iq.ISSUE:issued_per_cycle.end_dist
-system.cpu.iq.ISSUE:rate 0.252694 # Inst issue rate
-system.cpu.iq.iqInstsAdded 19367 # Number of instructions added to the IQ (excludes non-spec)
-system.cpu.iq.iqInstsIssued 13833 # Number of instructions issued
+system.cpu.iq.ISSUE:rate 0.280054 # Inst issue rate
+system.cpu.iq.iqInstsAdded 10397 # Number of instructions added to the IQ (excludes non-spec)
+system.cpu.iq.iqInstsIssued 8743 # Number of instructions issued
system.cpu.iq.iqNonSpecInstsAdded 24 # Number of non-speculative instructions added to the IQ
-system.cpu.iq.iqSquashedInstsExamined 13339 # Number of squashed instructions iterated over during squash; mainly for profiling
-system.cpu.iq.iqSquashedInstsIssued 73 # Number of squashed instructions issued
+system.cpu.iq.iqSquashedInstsExamined 4378 # Number of squashed instructions iterated over during squash; mainly for profiling
+system.cpu.iq.iqSquashedInstsIssued 68 # Number of squashed instructions issued
system.cpu.iq.iqSquashedNonSpecRemoved 7 # Number of squashed non-spec instructions that were removed
-system.cpu.iq.iqSquashedOperandsExamined 9527 # Number of squashed operands that are examined and possibly removed from graph
-system.cpu.l2cache.ReadReq_accesses 480 # number of ReadReq accesses(hits+misses)
-system.cpu.l2cache.ReadReq_avg_miss_latency 4520.693750 # average ReadReq miss latency
-system.cpu.l2cache.ReadReq_avg_mshr_miss_latency 2303.372917 # average ReadReq mshr miss latency
-system.cpu.l2cache.ReadReq_miss_latency 2169933 # number of ReadReq miss cycles
+system.cpu.iq.iqSquashedOperandsExamined 2580 # Number of squashed operands that are examined and possibly removed from graph
+system.cpu.l2cache.ReadReq_accesses 481 # number of ReadReq accesses(hits+misses)
+system.cpu.l2cache.ReadReq_avg_miss_latency 4807.594595 # average ReadReq miss latency
+system.cpu.l2cache.ReadReq_avg_mshr_miss_latency 2390.114345 # average ReadReq mshr miss latency
+system.cpu.l2cache.ReadReq_miss_latency 2312453 # number of ReadReq miss cycles
system.cpu.l2cache.ReadReq_miss_rate 1 # miss rate for ReadReq accesses
-system.cpu.l2cache.ReadReq_misses 480 # number of ReadReq misses
-system.cpu.l2cache.ReadReq_mshr_miss_latency 1105619 # number of ReadReq MSHR miss cycles
+system.cpu.l2cache.ReadReq_misses 481 # number of ReadReq misses
+system.cpu.l2cache.ReadReq_mshr_miss_latency 1149645 # number of ReadReq MSHR miss cycles
system.cpu.l2cache.ReadReq_mshr_miss_rate 1 # mshr miss rate for ReadReq accesses
-system.cpu.l2cache.ReadReq_mshr_misses 480 # number of ReadReq MSHR misses
+system.cpu.l2cache.ReadReq_mshr_misses 481 # number of ReadReq MSHR misses
system.cpu.l2cache.avg_blocked_cycles_no_mshrs <err: div-0> # average number of cycles each access was blocked
system.cpu.l2cache.avg_blocked_cycles_no_targets <err: div-0> # average number of cycles each access was blocked
system.cpu.l2cache.avg_refs 0 # Average number of references to valid blocks.
@@ -342,32 +342,32 @@ system.cpu.l2cache.blocked_no_targets 0 # nu
system.cpu.l2cache.blocked_cycles_no_mshrs 0 # number of cycles access was blocked
system.cpu.l2cache.blocked_cycles_no_targets 0 # number of cycles access was blocked
system.cpu.l2cache.cache_copies 0 # number of cache copies performed
-system.cpu.l2cache.demand_accesses 480 # number of demand (read+write) accesses
-system.cpu.l2cache.demand_avg_miss_latency 4520.693750 # average overall miss latency
-system.cpu.l2cache.demand_avg_mshr_miss_latency 2303.372917 # average overall mshr miss latency
+system.cpu.l2cache.demand_accesses 481 # number of demand (read+write) accesses
+system.cpu.l2cache.demand_avg_miss_latency 4807.594595 # average overall miss latency
+system.cpu.l2cache.demand_avg_mshr_miss_latency 2390.114345 # average overall mshr miss latency
system.cpu.l2cache.demand_hits 0 # number of demand (read+write) hits
-system.cpu.l2cache.demand_miss_latency 2169933 # number of demand (read+write) miss cycles
+system.cpu.l2cache.demand_miss_latency 2312453 # number of demand (read+write) miss cycles
system.cpu.l2cache.demand_miss_rate 1 # miss rate for demand accesses
-system.cpu.l2cache.demand_misses 480 # number of demand (read+write) misses
+system.cpu.l2cache.demand_misses 481 # number of demand (read+write) misses
system.cpu.l2cache.demand_mshr_hits 0 # number of demand (read+write) MSHR hits
-system.cpu.l2cache.demand_mshr_miss_latency 1105619 # number of demand (read+write) MSHR miss cycles
+system.cpu.l2cache.demand_mshr_miss_latency 1149645 # number of demand (read+write) MSHR miss cycles
system.cpu.l2cache.demand_mshr_miss_rate 1 # mshr miss rate for demand accesses
-system.cpu.l2cache.demand_mshr_misses 480 # number of demand (read+write) MSHR misses
+system.cpu.l2cache.demand_mshr_misses 481 # number of demand (read+write) MSHR misses
system.cpu.l2cache.fast_writes 0 # number of fast writes performed
system.cpu.l2cache.mshr_cap_events 0 # number of times MSHR cap was activated
system.cpu.l2cache.no_allocate_misses 0 # Number of misses that were no-allocate
-system.cpu.l2cache.overall_accesses 480 # number of overall (read+write) accesses
-system.cpu.l2cache.overall_avg_miss_latency 4520.693750 # average overall miss latency
-system.cpu.l2cache.overall_avg_mshr_miss_latency 2303.372917 # average overall mshr miss latency
+system.cpu.l2cache.overall_accesses 481 # number of overall (read+write) accesses
+system.cpu.l2cache.overall_avg_miss_latency 4807.594595 # average overall miss latency
+system.cpu.l2cache.overall_avg_mshr_miss_latency 2390.114345 # average overall mshr miss latency
system.cpu.l2cache.overall_avg_mshr_uncacheable_latency <err: div-0> # average overall mshr uncacheable latency
system.cpu.l2cache.overall_hits 0 # number of overall hits
-system.cpu.l2cache.overall_miss_latency 2169933 # number of overall miss cycles
+system.cpu.l2cache.overall_miss_latency 2312453 # number of overall miss cycles
system.cpu.l2cache.overall_miss_rate 1 # miss rate for overall accesses
-system.cpu.l2cache.overall_misses 480 # number of overall misses
+system.cpu.l2cache.overall_misses 481 # number of overall misses
system.cpu.l2cache.overall_mshr_hits 0 # number of overall MSHR hits
-system.cpu.l2cache.overall_mshr_miss_latency 1105619 # number of overall MSHR miss cycles
+system.cpu.l2cache.overall_mshr_miss_latency 1149645 # number of overall MSHR miss cycles
system.cpu.l2cache.overall_mshr_miss_rate 1 # mshr miss rate for overall accesses
-system.cpu.l2cache.overall_mshr_misses 480 # number of overall MSHR misses
+system.cpu.l2cache.overall_mshr_misses 481 # number of overall MSHR misses
system.cpu.l2cache.overall_mshr_uncacheable_latency 0 # number of overall MSHR uncacheable cycles
system.cpu.l2cache.overall_mshr_uncacheable_misses 0 # number of overall MSHR uncacheable misses
system.cpu.l2cache.prefetcher.num_hwpf_already_in_cache 0 # number of hwpf that were already in the cache
@@ -380,31 +380,31 @@ system.cpu.l2cache.prefetcher.num_hwpf_removed_MSHR_hit 0
system.cpu.l2cache.prefetcher.num_hwpf_span_page 0 # number of hwpf spanning a virtual page
system.cpu.l2cache.prefetcher.num_hwpf_squashed_from_miss 0 # number of hwpf that got squashed due to a miss aborting calculation time
system.cpu.l2cache.replacements 0 # number of replacements
-system.cpu.l2cache.sampled_refs 480 # Sample count of references to valid blocks.
+system.cpu.l2cache.sampled_refs 481 # Sample count of references to valid blocks.
system.cpu.l2cache.soft_prefetch_mshr_full 0 # number of mshr full events for SW prefetching instrutions
-system.cpu.l2cache.tagsinuse 248.469469 # Cycle average of tags in use
+system.cpu.l2cache.tagsinuse 250.999286 # Cycle average of tags in use
system.cpu.l2cache.total_refs 0 # Total number of references to valid blocks.
system.cpu.l2cache.warmup_cycle 0 # Cycle when the warmup percentage was hit.
system.cpu.l2cache.writebacks 0 # number of writebacks
-system.cpu.numCycles 54742 # number of cpu cycles simulated
-system.cpu.rename.RENAME:BlockCycles 7851 # Number of cycles rename is blocking
+system.cpu.numCycles 31219 # number of cpu cycles simulated
+system.cpu.rename.RENAME:BlockCycles 7810 # Number of cycles rename is blocking
system.cpu.rename.RENAME:CommittedMaps 4051 # Number of HB maps that are committed
system.cpu.rename.RENAME:IQFullEvents 2 # Number of times rename has blocked due to IQ full
-system.cpu.rename.RENAME:IdleCycles 29263 # Number of cycles rename is idle
-system.cpu.rename.RENAME:LSQFullEvents 458 # Number of times rename has blocked due to LSQ full
-system.cpu.rename.RENAME:ROBFullEvents 8 # Number of times rename has blocked due to ROB full
-system.cpu.rename.RENAME:RenameLookups 35953 # Number of register rename lookups that rename has made
-system.cpu.rename.RENAME:RenamedInsts 29156 # Number of instructions processed by rename
-system.cpu.rename.RENAME:RenamedOperands 20115 # Number of destination operands rename has renamed
-system.cpu.rename.RENAME:RunCycles 5451 # Number of cycles rename is running
-system.cpu.rename.RENAME:SquashCycles 2527 # Number of cycles rename is squashing
-system.cpu.rename.RENAME:UnblockCycles 486 # Number of cycles rename is unblocking
-system.cpu.rename.RENAME:UndoneMaps 16064 # Number of HB maps that are undone due to squashing
+system.cpu.rename.RENAME:IdleCycles 10837 # Number of cycles rename is idle
+system.cpu.rename.RENAME:LSQFullEvents 465 # Number of times rename has blocked due to LSQ full
+system.cpu.rename.RENAME:ROBFullEvents 6 # Number of times rename has blocked due to ROB full
+system.cpu.rename.RENAME:RenameLookups 14384 # Number of register rename lookups that rename has made
+system.cpu.rename.RENAME:RenamedInsts 11306 # Number of instructions processed by rename
+system.cpu.rename.RENAME:RenamedOperands 8499 # Number of destination operands rename has renamed
+system.cpu.rename.RENAME:RunCycles 2010 # Number of cycles rename is running
+system.cpu.rename.RENAME:SquashCycles 907 # Number of cycles rename is squashing
+system.cpu.rename.RENAME:UnblockCycles 491 # Number of cycles rename is unblocking
+system.cpu.rename.RENAME:UndoneMaps 4448 # Number of HB maps that are undone due to squashing
system.cpu.rename.RENAME:serializeStallCycles 9164 # count of cycles rename stalled for serializing inst
system.cpu.rename.RENAME:serializingInsts 27 # count of serializing insts renamed
-system.cpu.rename.RENAME:skidInsts 831 # count of insts added to the skid buffer
+system.cpu.rename.RENAME:skidInsts 825 # count of insts added to the skid buffer
system.cpu.rename.RENAME:tempSerializingInsts 21 # count of temporary serializing insts renamed
-system.cpu.timesIdled 369 # Number of times that the entire CPU went into an idle state and unscheduled itself
+system.cpu.timesIdled 365 # Number of times that the entire CPU went into an idle state and unscheduled itself
system.cpu.workload.PROG:num_syscalls 17 # Number of system calls
---------- End Simulation Statistics ----------
diff --git a/tests/quick/00.hello/ref/alpha/linux/o3-timing/stderr b/tests/quick/00.hello/ref/alpha/linux/o3-timing/stderr
index 684350ff9..8053728f7 100644
--- a/tests/quick/00.hello/ref/alpha/linux/o3-timing/stderr
+++ b/tests/quick/00.hello/ref/alpha/linux/o3-timing/stderr
@@ -1,3 +1,3 @@
-0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
+0: system.remote_gdb.listener: listening for remote gdb on port 7001
warn: Entering event queue @ 0. Starting simulation...
warn: Increasing stack size by one page.
diff --git a/tests/quick/00.hello/ref/alpha/linux/o3-timing/stdout b/tests/quick/00.hello/ref/alpha/linux/o3-timing/stdout
index cbdc4ee25..ef47b0265 100644
--- a/tests/quick/00.hello/ref/alpha/linux/o3-timing/stdout
+++ b/tests/quick/00.hello/ref/alpha/linux/o3-timing/stdout
@@ -6,9 +6,9 @@ The Regents of The University of Michigan
All Rights Reserved
-M5 compiled Mar 24 2007 13:51:02
-M5 started Sat Mar 24 13:51:12 2007
-M5 executing on zizzer.eecs.umich.edu
-command line: build/ALPHA_SE/m5.opt -d build/ALPHA_SE/tests/opt/quick/00.hello/alpha/linux/o3-timing tests/run.py quick/00.hello/alpha/linux/o3-timing
+M5 compiled Mar 30 2007 13:12:55
+M5 started Fri Mar 30 13:13:02 2007
+M5 executing on zamp.eecs.umich.edu
+command line: build/ALPHA_SE/m5.fast -d build/ALPHA_SE/tests/fast/quick/00.hello/alpha/linux/o3-timing tests/run.py quick/00.hello/alpha/linux/o3-timing
Global frequency set at 1000000000000 ticks per second
-Exiting @ tick 1400134 because target called exit()
+Exiting @ tick 1331134 because target called exit()
diff --git a/tests/quick/00.hello/ref/alpha/tru64/o3-timing/config.ini b/tests/quick/00.hello/ref/alpha/tru64/o3-timing/config.ini
index ea499f4f1..bd6b9bcdc 100644
--- a/tests/quick/00.hello/ref/alpha/tru64/o3-timing/config.ini
+++ b/tests/quick/00.hello/ref/alpha/tru64/o3-timing/config.ini
@@ -115,7 +115,7 @@ split=false
split_size=0
store_compressed=false
subblock_size=0
-tgts_per_mshr=5
+tgts_per_mshr=20
trace_addr=0
two_queue=false
write_buffers=8
@@ -291,7 +291,7 @@ split=false
split_size=0
store_compressed=false
subblock_size=0
-tgts_per_mshr=5
+tgts_per_mshr=20
trace_addr=0
two_queue=false
write_buffers=8
diff --git a/tests/quick/00.hello/ref/alpha/tru64/o3-timing/config.out b/tests/quick/00.hello/ref/alpha/tru64/o3-timing/config.out
index 6672039dd..58df46dcb 100644
--- a/tests/quick/00.hello/ref/alpha/tru64/o3-timing/config.out
+++ b/tests/quick/00.hello/ref/alpha/tru64/o3-timing/config.out
@@ -251,7 +251,7 @@ assoc=2
block_size=64
latency=1
mshrs=10
-tgts_per_mshr=5
+tgts_per_mshr=20
write_buffers=8
prioritizeRequests=false
protocol=null
@@ -289,7 +289,7 @@ assoc=2
block_size=64
latency=1
mshrs=10
-tgts_per_mshr=5
+tgts_per_mshr=20
write_buffers=8
prioritizeRequests=false
protocol=null
diff --git a/tests/quick/00.hello/ref/alpha/tru64/o3-timing/m5stats.txt b/tests/quick/00.hello/ref/alpha/tru64/o3-timing/m5stats.txt
index f855ff850..1919ca3fe 100644
--- a/tests/quick/00.hello/ref/alpha/tru64/o3-timing/m5stats.txt
+++ b/tests/quick/00.hello/ref/alpha/tru64/o3-timing/m5stats.txt
@@ -1,40 +1,40 @@
---------- Begin Simulation Statistics ----------
global.BPredUnit.BTBCorrect 0 # Number of correct BTB predictions (this stat may not work properly.
-global.BPredUnit.BTBHits 200 # Number of BTB hits
-global.BPredUnit.BTBLookups 718 # Number of BTB lookups
-global.BPredUnit.RASInCorrect 42 # Number of incorrect RAS predictions.
-global.BPredUnit.condIncorrect 218 # Number of conditional branches incorrect
-global.BPredUnit.condPredicted 459 # Number of conditional branches predicted
-global.BPredUnit.lookups 898 # Number of BP lookups
-global.BPredUnit.usedRAS 171 # Number of times the RAS was used to get a target.
-host_inst_rate 12517 # Simulator instruction rate (inst/s)
-host_mem_usage 155528 # Number of bytes of host memory used
-host_seconds 0.19 # Real time elapsed on the host
-host_tick_rate 3937113 # Simulator tick rate (ticks/s)
-memdepunit.memDep.conflictingLoads 10 # Number of conflicting loads.
+global.BPredUnit.BTBHits 187 # Number of BTB hits
+global.BPredUnit.BTBLookups 653 # Number of BTB lookups
+global.BPredUnit.RASInCorrect 41 # Number of incorrect RAS predictions.
+global.BPredUnit.condIncorrect 217 # Number of conditional branches incorrect
+global.BPredUnit.condPredicted 426 # Number of conditional branches predicted
+global.BPredUnit.lookups 832 # Number of BP lookups
+global.BPredUnit.usedRAS 170 # Number of times the RAS was used to get a target.
+host_inst_rate 19984 # Simulator instruction rate (inst/s)
+host_mem_usage 153584 # Number of bytes of host memory used
+host_seconds 0.12 # Real time elapsed on the host
+host_tick_rate 6228839 # Simulator tick rate (ticks/s)
+memdepunit.memDep.conflictingLoads 9 # Number of conflicting loads.
memdepunit.memDep.conflictingStores 8 # Number of conflicting stores.
-memdepunit.memDep.insertedLoads 783 # Number of loads inserted to the mem dependence unit.
-memdepunit.memDep.insertedStores 381 # Number of stores inserted to the mem dependence unit.
+memdepunit.memDep.insertedLoads 701 # Number of loads inserted to the mem dependence unit.
+memdepunit.memDep.insertedStores 382 # Number of stores inserted to the mem dependence unit.
sim_freq 1000000000000 # Frequency of simulated ticks
sim_insts 2387 # Number of instructions simulated
sim_seconds 0.000001 # Number of seconds simulated
-sim_ticks 752028 # Number of ticks simulated
+sim_ticks 746028 # Number of ticks simulated
system.cpu.commit.COM:branches 396 # Number of branches committed
-system.cpu.commit.COM:bw_lim_events 51 # number cycles where commit BW limit reached
+system.cpu.commit.COM:bw_lim_events 52 # number cycles where commit BW limit reached
system.cpu.commit.COM:bw_limited 0 # number of insts not committed due to BW limits
system.cpu.commit.COM:committed_per_cycle.start_dist # Number of insts commited each cycle
-system.cpu.commit.COM:committed_per_cycle.samples 28200
+system.cpu.commit.COM:committed_per_cycle.samples 29809
system.cpu.commit.COM:committed_per_cycle.min_value 0
- 0 27273 9671.28%
- 1 240 85.11%
- 2 328 116.31%
- 3 127 45.04%
- 4 80 28.37%
- 5 54 19.15%
- 6 28 9.93%
- 7 19 6.74%
- 8 51 18.09%
+ 0 28885 9690.03%
+ 1 239 80.18%
+ 2 325 109.03%
+ 3 129 43.28%
+ 4 78 26.17%
+ 5 53 17.78%
+ 6 29 9.73%
+ 7 19 6.37%
+ 8 52 17.44%
system.cpu.commit.COM:committed_per_cycle.max_value 8
system.cpu.commit.COM:committed_per_cycle.end_dist
@@ -43,69 +43,69 @@ system.cpu.commit.COM:loads 415 # Nu
system.cpu.commit.COM:membars 0 # Number of memory barriers committed
system.cpu.commit.COM:refs 709 # Number of memory references committed
system.cpu.commit.COM:swp_count 0 # Number of s/w prefetches committed
-system.cpu.commit.branchMispredicts 141 # The number of times a branch was mispredicted
+system.cpu.commit.branchMispredicts 140 # The number of times a branch was mispredicted
system.cpu.commit.commitCommittedInsts 2576 # The number of committed instructions
system.cpu.commit.commitNonSpecStalls 4 # The number of times commit has been forced to stall to communicate backwards
-system.cpu.commit.commitSquashedInsts 1703 # The number of squashed insts skipped by commit
+system.cpu.commit.commitSquashedInsts 1536 # The number of squashed insts skipped by commit
system.cpu.committedInsts 2387 # Number of Instructions Simulated
system.cpu.committedInsts_total 2387 # Number of Instructions Simulated
-system.cpu.cpi 315.051529 # CPI: Cycles Per Instruction
-system.cpu.cpi_total 315.051529 # CPI: Total CPI of All Threads
-system.cpu.dcache.ReadReq_accesses 560 # number of ReadReq accesses(hits+misses)
-system.cpu.dcache.ReadReq_avg_miss_latency 7232.163043 # average ReadReq miss latency
-system.cpu.dcache.ReadReq_avg_mshr_miss_latency 7288.491803 # average ReadReq mshr miss latency
-system.cpu.dcache.ReadReq_hits 468 # number of ReadReq hits
-system.cpu.dcache.ReadReq_miss_latency 665359 # number of ReadReq miss cycles
-system.cpu.dcache.ReadReq_miss_rate 0.164286 # miss rate for ReadReq accesses
-system.cpu.dcache.ReadReq_misses 92 # number of ReadReq misses
-system.cpu.dcache.ReadReq_mshr_hits 31 # number of ReadReq MSHR hits
-system.cpu.dcache.ReadReq_mshr_miss_latency 444598 # number of ReadReq MSHR miss cycles
-system.cpu.dcache.ReadReq_mshr_miss_rate 0.108929 # mshr miss rate for ReadReq accesses
+system.cpu.cpi 312.537914 # CPI: Cycles Per Instruction
+system.cpu.cpi_total 312.537914 # CPI: Total CPI of All Threads
+system.cpu.dcache.ReadReq_accesses 565 # number of ReadReq accesses(hits+misses)
+system.cpu.dcache.ReadReq_avg_miss_latency 7055.843750 # average ReadReq miss latency
+system.cpu.dcache.ReadReq_avg_mshr_miss_latency 7158.016393 # average ReadReq mshr miss latency
+system.cpu.dcache.ReadReq_hits 469 # number of ReadReq hits
+system.cpu.dcache.ReadReq_miss_latency 677361 # number of ReadReq miss cycles
+system.cpu.dcache.ReadReq_miss_rate 0.169912 # miss rate for ReadReq accesses
+system.cpu.dcache.ReadReq_misses 96 # number of ReadReq misses
+system.cpu.dcache.ReadReq_mshr_hits 35 # number of ReadReq MSHR hits
+system.cpu.dcache.ReadReq_mshr_miss_latency 436639 # number of ReadReq MSHR miss cycles
+system.cpu.dcache.ReadReq_mshr_miss_rate 0.107965 # mshr miss rate for ReadReq accesses
system.cpu.dcache.ReadReq_mshr_misses 61 # number of ReadReq MSHR misses
system.cpu.dcache.WriteReq_accesses 294 # number of WriteReq accesses(hits+misses)
-system.cpu.dcache.WriteReq_avg_miss_latency 6647.685714 # average WriteReq miss latency
-system.cpu.dcache.WriteReq_avg_mshr_miss_latency 6571.666667 # average WriteReq mshr miss latency
-system.cpu.dcache.WriteReq_hits 224 # number of WriteReq hits
-system.cpu.dcache.WriteReq_miss_latency 465338 # number of WriteReq miss cycles
-system.cpu.dcache.WriteReq_miss_rate 0.238095 # miss rate for WriteReq accesses
-system.cpu.dcache.WriteReq_misses 70 # number of WriteReq misses
-system.cpu.dcache.WriteReq_mshr_hits 46 # number of WriteReq MSHR hits
-system.cpu.dcache.WriteReq_mshr_miss_latency 157720 # number of WriteReq MSHR miss cycles
+system.cpu.dcache.WriteReq_avg_miss_latency 7089.086420 # average WriteReq miss latency
+system.cpu.dcache.WriteReq_avg_mshr_miss_latency 6946.208333 # average WriteReq mshr miss latency
+system.cpu.dcache.WriteReq_hits 213 # number of WriteReq hits
+system.cpu.dcache.WriteReq_miss_latency 574216 # number of WriteReq miss cycles
+system.cpu.dcache.WriteReq_miss_rate 0.275510 # miss rate for WriteReq accesses
+system.cpu.dcache.WriteReq_misses 81 # number of WriteReq misses
+system.cpu.dcache.WriteReq_mshr_hits 57 # number of WriteReq MSHR hits
+system.cpu.dcache.WriteReq_mshr_miss_latency 166709 # number of WriteReq MSHR miss cycles
system.cpu.dcache.WriteReq_mshr_miss_rate 0.081633 # mshr miss rate for WriteReq accesses
system.cpu.dcache.WriteReq_mshr_misses 24 # number of WriteReq MSHR misses
system.cpu.dcache.avg_blocked_cycles_no_mshrs <err: div-0> # average number of cycles each access was blocked
-system.cpu.dcache.avg_blocked_cycles_no_targets 2980.375000 # average number of cycles each access was blocked
-system.cpu.dcache.avg_refs 8.141176 # Average number of references to valid blocks.
+system.cpu.dcache.avg_blocked_cycles_no_targets <err: div-0> # average number of cycles each access was blocked
+system.cpu.dcache.avg_refs 8.023529 # Average number of references to valid blocks.
system.cpu.dcache.blocked_no_mshrs 0 # number of cycles access was blocked
-system.cpu.dcache.blocked_no_targets 8 # number of cycles access was blocked
+system.cpu.dcache.blocked_no_targets 0 # number of cycles access was blocked
system.cpu.dcache.blocked_cycles_no_mshrs 0 # number of cycles access was blocked
-system.cpu.dcache.blocked_cycles_no_targets 23843 # number of cycles access was blocked
+system.cpu.dcache.blocked_cycles_no_targets 0 # number of cycles access was blocked
system.cpu.dcache.cache_copies 0 # number of cache copies performed
-system.cpu.dcache.demand_accesses 854 # number of demand (read+write) accesses
-system.cpu.dcache.demand_avg_miss_latency 6979.611111 # average overall miss latency
-system.cpu.dcache.demand_avg_mshr_miss_latency 7086.094118 # average overall mshr miss latency
-system.cpu.dcache.demand_hits 692 # number of demand (read+write) hits
-system.cpu.dcache.demand_miss_latency 1130697 # number of demand (read+write) miss cycles
-system.cpu.dcache.demand_miss_rate 0.189696 # miss rate for demand accesses
-system.cpu.dcache.demand_misses 162 # number of demand (read+write) misses
-system.cpu.dcache.demand_mshr_hits 77 # number of demand (read+write) MSHR hits
-system.cpu.dcache.demand_mshr_miss_latency 602318 # number of demand (read+write) MSHR miss cycles
-system.cpu.dcache.demand_mshr_miss_rate 0.099532 # mshr miss rate for demand accesses
+system.cpu.dcache.demand_accesses 859 # number of demand (read+write) accesses
+system.cpu.dcache.demand_avg_miss_latency 7071.056497 # average overall miss latency
+system.cpu.dcache.demand_avg_mshr_miss_latency 7098.211765 # average overall mshr miss latency
+system.cpu.dcache.demand_hits 682 # number of demand (read+write) hits
+system.cpu.dcache.demand_miss_latency 1251577 # number of demand (read+write) miss cycles
+system.cpu.dcache.demand_miss_rate 0.206054 # miss rate for demand accesses
+system.cpu.dcache.demand_misses 177 # number of demand (read+write) misses
+system.cpu.dcache.demand_mshr_hits 92 # number of demand (read+write) MSHR hits
+system.cpu.dcache.demand_mshr_miss_latency 603348 # number of demand (read+write) MSHR miss cycles
+system.cpu.dcache.demand_mshr_miss_rate 0.098952 # mshr miss rate for demand accesses
system.cpu.dcache.demand_mshr_misses 85 # number of demand (read+write) MSHR misses
system.cpu.dcache.fast_writes 0 # number of fast writes performed
system.cpu.dcache.mshr_cap_events 0 # number of times MSHR cap was activated
system.cpu.dcache.no_allocate_misses 0 # Number of misses that were no-allocate
-system.cpu.dcache.overall_accesses 854 # number of overall (read+write) accesses
-system.cpu.dcache.overall_avg_miss_latency 6979.611111 # average overall miss latency
-system.cpu.dcache.overall_avg_mshr_miss_latency 7086.094118 # average overall mshr miss latency
+system.cpu.dcache.overall_accesses 859 # number of overall (read+write) accesses
+system.cpu.dcache.overall_avg_miss_latency 7071.056497 # average overall miss latency
+system.cpu.dcache.overall_avg_mshr_miss_latency 7098.211765 # average overall mshr miss latency
system.cpu.dcache.overall_avg_mshr_uncacheable_latency <err: div-0> # average overall mshr uncacheable latency
-system.cpu.dcache.overall_hits 692 # number of overall hits
-system.cpu.dcache.overall_miss_latency 1130697 # number of overall miss cycles
-system.cpu.dcache.overall_miss_rate 0.189696 # miss rate for overall accesses
-system.cpu.dcache.overall_misses 162 # number of overall misses
-system.cpu.dcache.overall_mshr_hits 77 # number of overall MSHR hits
-system.cpu.dcache.overall_mshr_miss_latency 602318 # number of overall MSHR miss cycles
-system.cpu.dcache.overall_mshr_miss_rate 0.099532 # mshr miss rate for overall accesses
+system.cpu.dcache.overall_hits 682 # number of overall hits
+system.cpu.dcache.overall_miss_latency 1251577 # number of overall miss cycles
+system.cpu.dcache.overall_miss_rate 0.206054 # miss rate for overall accesses
+system.cpu.dcache.overall_misses 177 # number of overall misses
+system.cpu.dcache.overall_mshr_hits 92 # number of overall MSHR hits
+system.cpu.dcache.overall_mshr_miss_latency 603348 # number of overall MSHR miss cycles
+system.cpu.dcache.overall_mshr_miss_rate 0.098952 # mshr miss rate for overall accesses
system.cpu.dcache.overall_mshr_misses 85 # number of overall MSHR misses
system.cpu.dcache.overall_mshr_uncacheable_latency 0 # number of overall MSHR uncacheable cycles
system.cpu.dcache.overall_mshr_uncacheable_misses 0 # number of overall MSHR uncacheable misses
@@ -121,88 +121,88 @@ system.cpu.dcache.prefetcher.num_hwpf_squashed_from_miss 0
system.cpu.dcache.replacements 0 # number of replacements
system.cpu.dcache.sampled_refs 85 # Sample count of references to valid blocks.
system.cpu.dcache.soft_prefetch_mshr_full 0 # number of mshr full events for SW prefetching instrutions
-system.cpu.dcache.tagsinuse 46.684988 # Cycle average of tags in use
-system.cpu.dcache.total_refs 692 # Total number of references to valid blocks.
+system.cpu.dcache.tagsinuse 46.650284 # Cycle average of tags in use
+system.cpu.dcache.total_refs 682 # Total number of references to valid blocks.
system.cpu.dcache.warmup_cycle 0 # Cycle when the warmup percentage was hit.
system.cpu.dcache.writebacks 0 # number of writebacks
-system.cpu.decode.DECODE:BlockedCycles 21870 # Number of cycles decode is blocked
+system.cpu.decode.DECODE:BlockedCycles 23701 # Number of cycles decode is blocked
system.cpu.decode.DECODE:BranchMispred 79 # Number of times decode detected a branch misprediction
-system.cpu.decode.DECODE:BranchResolved 150 # Number of times decode resolved a branch
-system.cpu.decode.DECODE:DecodedInsts 4900 # Number of instructions handled by decode
-system.cpu.decode.DECODE:IdleCycles 5406 # Number of cycles decode is idle
-system.cpu.decode.DECODE:RunCycles 923 # Number of cycles decode is running
-system.cpu.decode.DECODE:SquashCycles 336 # Number of cycles decode is squashing
+system.cpu.decode.DECODE:BranchResolved 129 # Number of times decode resolved a branch
+system.cpu.decode.DECODE:DecodedInsts 4617 # Number of instructions handled by decode
+system.cpu.decode.DECODE:IdleCycles 5228 # Number of cycles decode is idle
+system.cpu.decode.DECODE:RunCycles 877 # Number of cycles decode is running
+system.cpu.decode.DECODE:SquashCycles 297 # Number of cycles decode is squashing
system.cpu.decode.DECODE:SquashedInsts 286 # Number of squashed instructions handled by decode
-system.cpu.decode.DECODE:UnblockCycles 2 # Number of cycles decode is unblocking
-system.cpu.fetch.Branches 898 # Number of branches that fetch encountered
-system.cpu.fetch.CacheLines 813 # Number of cache lines fetched
-system.cpu.fetch.Cycles 1769 # Number of cycles fetch has run and was not squashing or blocked
-system.cpu.fetch.IcacheSquashes 146 # Number of outstanding Icache misses that were squashed
-system.cpu.fetch.Insts 5593 # Number of instructions fetch has processed
-system.cpu.fetch.SquashCycles 258 # Number of cycles fetch has spent squashing
-system.cpu.fetch.branchRate 0.031468 # Number of branch fetches per cycle
-system.cpu.fetch.icacheStallCycles 813 # Number of cycles fetch is stalled on an Icache miss
-system.cpu.fetch.predictedBranches 371 # Number of branches that fetch has predicted taken
-system.cpu.fetch.rate 0.195991 # Number of inst fetches per cycle
+system.cpu.decode.DECODE:UnblockCycles 4 # Number of cycles decode is unblocking
+system.cpu.fetch.Branches 832 # Number of branches that fetch encountered
+system.cpu.fetch.CacheLines 760 # Number of cache lines fetched
+system.cpu.fetch.Cycles 1674 # Number of cycles fetch has run and was not squashing or blocked
+system.cpu.fetch.IcacheSquashes 131 # Number of outstanding Icache misses that were squashed
+system.cpu.fetch.Insts 5310 # Number of instructions fetch has processed
+system.cpu.fetch.SquashCycles 230 # Number of cycles fetch has spent squashing
+system.cpu.fetch.branchRate 0.027635 # Number of branch fetches per cycle
+system.cpu.fetch.icacheStallCycles 760 # Number of cycles fetch is stalled on an Icache miss
+system.cpu.fetch.predictedBranches 357 # Number of branches that fetch has predicted taken
+system.cpu.fetch.rate 0.176371 # Number of inst fetches per cycle
system.cpu.fetch.rateDist.start_dist # Number of instructions fetched each cycle (Total)
-system.cpu.fetch.rateDist.samples 28537
+system.cpu.fetch.rateDist.samples 30107
system.cpu.fetch.rateDist.min_value 0
- 0 27581 9665.00%
- 1 50 17.52%
- 2 84 29.44%
- 3 78 27.33%
- 4 118 41.35%
- 5 67 23.48%
- 6 41 14.37%
- 7 56 19.62%
- 8 462 161.90%
+ 0 29196 9697.41%
+ 1 37 12.29%
+ 2 87 28.90%
+ 3 73 24.25%
+ 4 125 41.52%
+ 5 66 21.92%
+ 6 42 13.95%
+ 7 50 16.61%
+ 8 431 143.16%
system.cpu.fetch.rateDist.max_value 8
system.cpu.fetch.rateDist.end_dist
-system.cpu.icache.ReadReq_accesses 813 # number of ReadReq accesses(hits+misses)
-system.cpu.icache.ReadReq_avg_miss_latency 4955.454183 # average ReadReq miss latency
-system.cpu.icache.ReadReq_avg_mshr_miss_latency 4151.815217 # average ReadReq mshr miss latency
-system.cpu.icache.ReadReq_hits 562 # number of ReadReq hits
-system.cpu.icache.ReadReq_miss_latency 1243819 # number of ReadReq miss cycles
-system.cpu.icache.ReadReq_miss_rate 0.308733 # miss rate for ReadReq accesses
-system.cpu.icache.ReadReq_misses 251 # number of ReadReq misses
-system.cpu.icache.ReadReq_mshr_hits 67 # number of ReadReq MSHR hits
-system.cpu.icache.ReadReq_mshr_miss_latency 763934 # number of ReadReq MSHR miss cycles
-system.cpu.icache.ReadReq_mshr_miss_rate 0.226322 # mshr miss rate for ReadReq accesses
+system.cpu.icache.ReadReq_accesses 760 # number of ReadReq accesses(hits+misses)
+system.cpu.icache.ReadReq_avg_miss_latency 4979.783333 # average ReadReq miss latency
+system.cpu.icache.ReadReq_avg_mshr_miss_latency 4157.255435 # average ReadReq mshr miss latency
+system.cpu.icache.ReadReq_hits 520 # number of ReadReq hits
+system.cpu.icache.ReadReq_miss_latency 1195148 # number of ReadReq miss cycles
+system.cpu.icache.ReadReq_miss_rate 0.315789 # miss rate for ReadReq accesses
+system.cpu.icache.ReadReq_misses 240 # number of ReadReq misses
+system.cpu.icache.ReadReq_mshr_hits 56 # number of ReadReq MSHR hits
+system.cpu.icache.ReadReq_mshr_miss_latency 764935 # number of ReadReq MSHR miss cycles
+system.cpu.icache.ReadReq_mshr_miss_rate 0.242105 # mshr miss rate for ReadReq accesses
system.cpu.icache.ReadReq_mshr_misses 184 # number of ReadReq MSHR misses
system.cpu.icache.avg_blocked_cycles_no_mshrs <err: div-0> # average number of cycles each access was blocked
-system.cpu.icache.avg_blocked_cycles_no_targets 3445 # average number of cycles each access was blocked
-system.cpu.icache.avg_refs 3.054348 # Average number of references to valid blocks.
+system.cpu.icache.avg_blocked_cycles_no_targets <err: div-0> # average number of cycles each access was blocked
+system.cpu.icache.avg_refs 2.826087 # Average number of references to valid blocks.
system.cpu.icache.blocked_no_mshrs 0 # number of cycles access was blocked
-system.cpu.icache.blocked_no_targets 4 # number of cycles access was blocked
+system.cpu.icache.blocked_no_targets 0 # number of cycles access was blocked
system.cpu.icache.blocked_cycles_no_mshrs 0 # number of cycles access was blocked
-system.cpu.icache.blocked_cycles_no_targets 13780 # number of cycles access was blocked
+system.cpu.icache.blocked_cycles_no_targets 0 # number of cycles access was blocked
system.cpu.icache.cache_copies 0 # number of cache copies performed
-system.cpu.icache.demand_accesses 813 # number of demand (read+write) accesses
-system.cpu.icache.demand_avg_miss_latency 4955.454183 # average overall miss latency
-system.cpu.icache.demand_avg_mshr_miss_latency 4151.815217 # average overall mshr miss latency
-system.cpu.icache.demand_hits 562 # number of demand (read+write) hits
-system.cpu.icache.demand_miss_latency 1243819 # number of demand (read+write) miss cycles
-system.cpu.icache.demand_miss_rate 0.308733 # miss rate for demand accesses
-system.cpu.icache.demand_misses 251 # number of demand (read+write) misses
-system.cpu.icache.demand_mshr_hits 67 # number of demand (read+write) MSHR hits
-system.cpu.icache.demand_mshr_miss_latency 763934 # number of demand (read+write) MSHR miss cycles
-system.cpu.icache.demand_mshr_miss_rate 0.226322 # mshr miss rate for demand accesses
+system.cpu.icache.demand_accesses 760 # number of demand (read+write) accesses
+system.cpu.icache.demand_avg_miss_latency 4979.783333 # average overall miss latency
+system.cpu.icache.demand_avg_mshr_miss_latency 4157.255435 # average overall mshr miss latency
+system.cpu.icache.demand_hits 520 # number of demand (read+write) hits
+system.cpu.icache.demand_miss_latency 1195148 # number of demand (read+write) miss cycles
+system.cpu.icache.demand_miss_rate 0.315789 # miss rate for demand accesses
+system.cpu.icache.demand_misses 240 # number of demand (read+write) misses
+system.cpu.icache.demand_mshr_hits 56 # number of demand (read+write) MSHR hits
+system.cpu.icache.demand_mshr_miss_latency 764935 # number of demand (read+write) MSHR miss cycles
+system.cpu.icache.demand_mshr_miss_rate 0.242105 # mshr miss rate for demand accesses
system.cpu.icache.demand_mshr_misses 184 # number of demand (read+write) MSHR misses
system.cpu.icache.fast_writes 0 # number of fast writes performed
system.cpu.icache.mshr_cap_events 0 # number of times MSHR cap was activated
system.cpu.icache.no_allocate_misses 0 # Number of misses that were no-allocate
-system.cpu.icache.overall_accesses 813 # number of overall (read+write) accesses
-system.cpu.icache.overall_avg_miss_latency 4955.454183 # average overall miss latency
-system.cpu.icache.overall_avg_mshr_miss_latency 4151.815217 # average overall mshr miss latency
+system.cpu.icache.overall_accesses 760 # number of overall (read+write) accesses
+system.cpu.icache.overall_avg_miss_latency 4979.783333 # average overall miss latency
+system.cpu.icache.overall_avg_mshr_miss_latency 4157.255435 # average overall mshr miss latency
system.cpu.icache.overall_avg_mshr_uncacheable_latency <err: div-0> # average overall mshr uncacheable latency
-system.cpu.icache.overall_hits 562 # number of overall hits
-system.cpu.icache.overall_miss_latency 1243819 # number of overall miss cycles
-system.cpu.icache.overall_miss_rate 0.308733 # miss rate for overall accesses
-system.cpu.icache.overall_misses 251 # number of overall misses
-system.cpu.icache.overall_mshr_hits 67 # number of overall MSHR hits
-system.cpu.icache.overall_mshr_miss_latency 763934 # number of overall MSHR miss cycles
-system.cpu.icache.overall_mshr_miss_rate 0.226322 # mshr miss rate for overall accesses
+system.cpu.icache.overall_hits 520 # number of overall hits
+system.cpu.icache.overall_miss_latency 1195148 # number of overall miss cycles
+system.cpu.icache.overall_miss_rate 0.315789 # miss rate for overall accesses
+system.cpu.icache.overall_misses 240 # number of overall misses
+system.cpu.icache.overall_mshr_hits 56 # number of overall MSHR hits
+system.cpu.icache.overall_mshr_miss_latency 764935 # number of overall MSHR miss cycles
+system.cpu.icache.overall_mshr_miss_rate 0.242105 # mshr miss rate for overall accesses
system.cpu.icache.overall_mshr_misses 184 # number of overall MSHR misses
system.cpu.icache.overall_mshr_uncacheable_latency 0 # number of overall MSHR uncacheable cycles
system.cpu.icache.overall_mshr_uncacheable_misses 0 # number of overall MSHR uncacheable misses
@@ -218,59 +218,59 @@ system.cpu.icache.prefetcher.num_hwpf_squashed_from_miss 0
system.cpu.icache.replacements 0 # number of replacements
system.cpu.icache.sampled_refs 184 # Sample count of references to valid blocks.
system.cpu.icache.soft_prefetch_mshr_full 0 # number of mshr full events for SW prefetching instrutions
-system.cpu.icache.tagsinuse 91.596649 # Cycle average of tags in use
-system.cpu.icache.total_refs 562 # Total number of references to valid blocks.
+system.cpu.icache.tagsinuse 91.559894 # Cycle average of tags in use
+system.cpu.icache.total_refs 520 # Total number of references to valid blocks.
system.cpu.icache.warmup_cycle 0 # Cycle when the warmup percentage was hit.
system.cpu.icache.writebacks 0 # number of writebacks
-system.cpu.idleCycles 723492 # Total number of cycles that the CPU has spent unscheduled due to idling
-system.cpu.iew.EXEC:branches 566 # Number of branches executed
-system.cpu.iew.EXEC:nop 267 # number of nop insts executed
-system.cpu.iew.EXEC:rate 0.118022 # Inst execution rate
-system.cpu.iew.EXEC:refs 1013 # number of memory reference insts executed
-system.cpu.iew.EXEC:stores 341 # Number of stores executed
+system.cpu.idleCycles 715922 # Total number of cycles that the CPU has spent unscheduled due to idling
+system.cpu.iew.EXEC:branches 547 # Number of branches executed
+system.cpu.iew.EXEC:nop 269 # number of nop insts executed
+system.cpu.iew.EXEC:rate 0.108081 # Inst execution rate
+system.cpu.iew.EXEC:refs 940 # number of memory reference insts executed
+system.cpu.iew.EXEC:stores 340 # Number of stores executed
system.cpu.iew.EXEC:swp 0 # number of swp insts executed
-system.cpu.iew.WB:consumers 1860 # num instructions consuming a value
-system.cpu.iew.WB:count 3219 # cumulative count of insts written-back
-system.cpu.iew.WB:fanout 0.786022 # average fanout of values written-back
+system.cpu.iew.WB:consumers 1841 # num instructions consuming a value
+system.cpu.iew.WB:count 3178 # cumulative count of insts written-back
+system.cpu.iew.WB:fanout 0.788702 # average fanout of values written-back
system.cpu.iew.WB:penalized 0 # number of instrctions required to write to 'other' IQ
system.cpu.iew.WB:penalized_rate 0 # fraction of instructions written-back that wrote to 'other' IQ
-system.cpu.iew.WB:producers 1462 # num instructions producing a value
-system.cpu.iew.WB:rate 0.112801 # insts written-back per cycle
-system.cpu.iew.WB:sent 3234 # cumulative count of insts sent to commit
-system.cpu.iew.branchMispredicts 152 # Number of branch mispredicts detected at execute
-system.cpu.iew.iewBlockCycles 14743 # Number of cycles IEW is blocking
-system.cpu.iew.iewDispLoadInsts 783 # Number of dispatched load instructions
+system.cpu.iew.WB:producers 1452 # num instructions producing a value
+system.cpu.iew.WB:rate 0.105557 # insts written-back per cycle
+system.cpu.iew.WB:sent 3194 # cumulative count of insts sent to commit
+system.cpu.iew.branchMispredicts 151 # Number of branch mispredicts detected at execute
+system.cpu.iew.iewBlockCycles 16588 # Number of cycles IEW is blocking
+system.cpu.iew.iewDispLoadInsts 701 # Number of dispatched load instructions
system.cpu.iew.iewDispNonSpecInsts 6 # Number of dispatched non-speculative instructions
-system.cpu.iew.iewDispSquashedInsts 79 # Number of squashed instructions skipped by dispatch
-system.cpu.iew.iewDispStoreInsts 381 # Number of dispatched store instructions
-system.cpu.iew.iewDispatchedInsts 4280 # Number of instructions dispatched to IQ
-system.cpu.iew.iewExecLoadInsts 672 # Number of load instructions executed
-system.cpu.iew.iewExecSquashedInsts 123 # Number of squashed instructions skipped in execute
-system.cpu.iew.iewExecutedInsts 3368 # Number of executed instructions
-system.cpu.iew.iewIQFullEvents 8 # Number of times the IQ has become full, causing a stall
+system.cpu.iew.iewDispSquashedInsts 62 # Number of squashed instructions skipped by dispatch
+system.cpu.iew.iewDispStoreInsts 382 # Number of dispatched store instructions
+system.cpu.iew.iewDispatchedInsts 4113 # Number of instructions dispatched to IQ
+system.cpu.iew.iewExecLoadInsts 600 # Number of load instructions executed
+system.cpu.iew.iewExecSquashedInsts 110 # Number of squashed instructions skipped in execute
+system.cpu.iew.iewExecutedInsts 3254 # Number of executed instructions
+system.cpu.iew.iewIQFullEvents 9 # Number of times the IQ has become full, causing a stall
system.cpu.iew.iewIdleCycles 0 # Number of cycles IEW is idle
system.cpu.iew.iewLSQFullEvents 0 # Number of times the LSQ has become full, causing a stall
-system.cpu.iew.iewSquashCycles 336 # Number of cycles IEW is squashing
+system.cpu.iew.iewSquashCycles 297 # Number of cycles IEW is squashing
system.cpu.iew.iewUnblockCycles 12 # Number of cycles IEW is unblocking
system.cpu.iew.lsq.thread.0.blockedLoads 0 # Number of blocked loads due to partial load-store forwarding
-system.cpu.iew.lsq.thread.0.cacheBlocked 82 # Number of times an access to memory failed due to the cache being blocked
+system.cpu.iew.lsq.thread.0.cacheBlocked 0 # Number of times an access to memory failed due to the cache being blocked
system.cpu.iew.lsq.thread.0.forwLoads 29 # Number of loads that had data forwarded from stores
system.cpu.iew.lsq.thread.0.ignoredResponses 0 # Number of memory responses ignored because the instruction is squashed
system.cpu.iew.lsq.thread.0.invAddrLoads 0 # Number of loads ignored due to an invalid address
system.cpu.iew.lsq.thread.0.invAddrSwpfs 0 # Number of software prefetches ignored due to an invalid address
system.cpu.iew.lsq.thread.0.memOrderViolation 15 # Number of memory ordering violations
system.cpu.iew.lsq.thread.0.rescheduledLoads 0 # Number of loads that were rescheduled
-system.cpu.iew.lsq.thread.0.squashedLoads 368 # Number of loads squashed
-system.cpu.iew.lsq.thread.0.squashedStores 87 # Number of stores squashed
+system.cpu.iew.lsq.thread.0.squashedLoads 286 # Number of loads squashed
+system.cpu.iew.lsq.thread.0.squashedStores 88 # Number of stores squashed
system.cpu.iew.memOrderViolationEvents 15 # Number of memory order violations
-system.cpu.iew.predictedNotTakenIncorrect 95 # Number of branches that were predicted not taken incorrectly
-system.cpu.iew.predictedTakenIncorrect 57 # Number of branches that were predicted taken incorrectly
-system.cpu.ipc 0.003174 # IPC: Instructions Per Cycle
-system.cpu.ipc_total 0.003174 # IPC: Total IPC of All Threads
-system.cpu.iq.ISSUE:FU_type_0 3491 # Type of FU issued
+system.cpu.iew.predictedNotTakenIncorrect 96 # Number of branches that were predicted not taken incorrectly
+system.cpu.iew.predictedTakenIncorrect 55 # Number of branches that were predicted taken incorrectly
+system.cpu.ipc 0.003200 # IPC: Instructions Per Cycle
+system.cpu.ipc_total 0.003200 # IPC: Total IPC of All Threads
+system.cpu.iq.ISSUE:FU_type_0 3364 # Type of FU issued
system.cpu.iq.ISSUE:FU_type_0.start_dist
(null) 0 0.00% # Type of FU issued
- IntAlu 2447 70.09% # Type of FU issued
+ IntAlu 2398 71.28% # Type of FU issued
IntMult 1 0.03% # Type of FU issued
IntDiv 0 0.00% # Type of FU issued
FloatAdd 0 0.00% # Type of FU issued
@@ -279,13 +279,13 @@ system.cpu.iq.ISSUE:FU_type_0.start_dist
FloatMult 0 0.00% # Type of FU issued
FloatDiv 0 0.00% # Type of FU issued
FloatSqrt 0 0.00% # Type of FU issued
- MemRead 694 19.88% # Type of FU issued
- MemWrite 349 10.00% # Type of FU issued
+ MemRead 618 18.37% # Type of FU issued
+ MemWrite 347 10.32% # Type of FU issued
IprAccess 0 0.00% # Type of FU issued
InstPrefetch 0 0.00% # Type of FU issued
system.cpu.iq.ISSUE:FU_type_0.end_dist
system.cpu.iq.ISSUE:fu_busy_cnt 34 # FU busy when requested
-system.cpu.iq.ISSUE:fu_busy_rate 0.009739 # FU busy rate (busy events/executed inst)
+system.cpu.iq.ISSUE:fu_busy_rate 0.010107 # FU busy rate (busy events/executed inst)
system.cpu.iq.ISSUE:fu_full.start_dist
(null) 0 0.00% # attempts to use FU when none available
IntAlu 1 2.94% # attempts to use FU when none available
@@ -303,35 +303,35 @@ system.cpu.iq.ISSUE:fu_full.start_dist
InstPrefetch 0 0.00% # attempts to use FU when none available
system.cpu.iq.ISSUE:fu_full.end_dist
system.cpu.iq.ISSUE:issued_per_cycle.start_dist # Number of insts issued each cycle
-system.cpu.iq.ISSUE:issued_per_cycle.samples 28537
+system.cpu.iq.ISSUE:issued_per_cycle.samples 30107
system.cpu.iq.ISSUE:issued_per_cycle.min_value 0
- 0 27014 9466.31%
- 1 617 216.21%
- 2 351 123.00%
- 3 247 86.55%
- 4 178 62.38%
- 5 82 28.73%
- 6 32 11.21%
- 7 11 3.85%
- 8 5 1.75%
+ 0 28628 9508.75%
+ 1 616 204.60%
+ 2 335 111.27%
+ 3 225 74.73%
+ 4 177 58.79%
+ 5 80 26.57%
+ 6 31 10.30%
+ 7 11 3.65%
+ 8 4 1.33%
system.cpu.iq.ISSUE:issued_per_cycle.max_value 8
system.cpu.iq.ISSUE:issued_per_cycle.end_dist
-system.cpu.iq.ISSUE:rate 0.122332 # Inst issue rate
-system.cpu.iq.iqInstsAdded 4007 # Number of instructions added to the IQ (excludes non-spec)
-system.cpu.iq.iqInstsIssued 3491 # Number of instructions issued
+system.cpu.iq.ISSUE:rate 0.111735 # Inst issue rate
+system.cpu.iq.iqInstsAdded 3838 # Number of instructions added to the IQ (excludes non-spec)
+system.cpu.iq.iqInstsIssued 3364 # Number of instructions issued
system.cpu.iq.iqNonSpecInstsAdded 6 # Number of non-speculative instructions added to the IQ
-system.cpu.iq.iqSquashedInstsExamined 1470 # Number of squashed instructions iterated over during squash; mainly for profiling
-system.cpu.iq.iqSquashedInstsIssued 25 # Number of squashed instructions issued
+system.cpu.iq.iqSquashedInstsExamined 1301 # Number of squashed instructions iterated over during squash; mainly for profiling
+system.cpu.iq.iqSquashedInstsIssued 35 # Number of squashed instructions issued
system.cpu.iq.iqSquashedNonSpecRemoved 2 # Number of squashed non-spec instructions that were removed
-system.cpu.iq.iqSquashedOperandsExamined 801 # Number of squashed operands that are examined and possibly removed from graph
+system.cpu.iq.iqSquashedOperandsExamined 682 # Number of squashed operands that are examined and possibly removed from graph
system.cpu.l2cache.ReadReq_accesses 269 # number of ReadReq accesses(hits+misses)
-system.cpu.l2cache.ReadReq_avg_miss_latency 4621.754647 # average ReadReq miss latency
-system.cpu.l2cache.ReadReq_avg_mshr_miss_latency 2296.408922 # average ReadReq mshr miss latency
-system.cpu.l2cache.ReadReq_miss_latency 1243252 # number of ReadReq miss cycles
+system.cpu.l2cache.ReadReq_avg_miss_latency 4610.717472 # average ReadReq miss latency
+system.cpu.l2cache.ReadReq_avg_mshr_miss_latency 2315.289963 # average ReadReq mshr miss latency
+system.cpu.l2cache.ReadReq_miss_latency 1240283 # number of ReadReq miss cycles
system.cpu.l2cache.ReadReq_miss_rate 1 # miss rate for ReadReq accesses
system.cpu.l2cache.ReadReq_misses 269 # number of ReadReq misses
-system.cpu.l2cache.ReadReq_mshr_miss_latency 617734 # number of ReadReq MSHR miss cycles
+system.cpu.l2cache.ReadReq_mshr_miss_latency 622813 # number of ReadReq MSHR miss cycles
system.cpu.l2cache.ReadReq_mshr_miss_rate 1 # mshr miss rate for ReadReq accesses
system.cpu.l2cache.ReadReq_mshr_misses 269 # number of ReadReq MSHR misses
system.cpu.l2cache.avg_blocked_cycles_no_mshrs <err: div-0> # average number of cycles each access was blocked
@@ -343,29 +343,29 @@ system.cpu.l2cache.blocked_cycles_no_mshrs 0 #
system.cpu.l2cache.blocked_cycles_no_targets 0 # number of cycles access was blocked
system.cpu.l2cache.cache_copies 0 # number of cache copies performed
system.cpu.l2cache.demand_accesses 269 # number of demand (read+write) accesses
-system.cpu.l2cache.demand_avg_miss_latency 4621.754647 # average overall miss latency
-system.cpu.l2cache.demand_avg_mshr_miss_latency 2296.408922 # average overall mshr miss latency
+system.cpu.l2cache.demand_avg_miss_latency 4610.717472 # average overall miss latency
+system.cpu.l2cache.demand_avg_mshr_miss_latency 2315.289963 # average overall mshr miss latency
system.cpu.l2cache.demand_hits 0 # number of demand (read+write) hits
-system.cpu.l2cache.demand_miss_latency 1243252 # number of demand (read+write) miss cycles
+system.cpu.l2cache.demand_miss_latency 1240283 # number of demand (read+write) miss cycles
system.cpu.l2cache.demand_miss_rate 1 # miss rate for demand accesses
system.cpu.l2cache.demand_misses 269 # number of demand (read+write) misses
system.cpu.l2cache.demand_mshr_hits 0 # number of demand (read+write) MSHR hits
-system.cpu.l2cache.demand_mshr_miss_latency 617734 # number of demand (read+write) MSHR miss cycles
+system.cpu.l2cache.demand_mshr_miss_latency 622813 # number of demand (read+write) MSHR miss cycles
system.cpu.l2cache.demand_mshr_miss_rate 1 # mshr miss rate for demand accesses
system.cpu.l2cache.demand_mshr_misses 269 # number of demand (read+write) MSHR misses
system.cpu.l2cache.fast_writes 0 # number of fast writes performed
system.cpu.l2cache.mshr_cap_events 0 # number of times MSHR cap was activated
system.cpu.l2cache.no_allocate_misses 0 # Number of misses that were no-allocate
system.cpu.l2cache.overall_accesses 269 # number of overall (read+write) accesses
-system.cpu.l2cache.overall_avg_miss_latency 4621.754647 # average overall miss latency
-system.cpu.l2cache.overall_avg_mshr_miss_latency 2296.408922 # average overall mshr miss latency
+system.cpu.l2cache.overall_avg_miss_latency 4610.717472 # average overall miss latency
+system.cpu.l2cache.overall_avg_mshr_miss_latency 2315.289963 # average overall mshr miss latency
system.cpu.l2cache.overall_avg_mshr_uncacheable_latency <err: div-0> # average overall mshr uncacheable latency
system.cpu.l2cache.overall_hits 0 # number of overall hits
-system.cpu.l2cache.overall_miss_latency 1243252 # number of overall miss cycles
+system.cpu.l2cache.overall_miss_latency 1240283 # number of overall miss cycles
system.cpu.l2cache.overall_miss_rate 1 # miss rate for overall accesses
system.cpu.l2cache.overall_misses 269 # number of overall misses
system.cpu.l2cache.overall_mshr_hits 0 # number of overall MSHR hits
-system.cpu.l2cache.overall_mshr_miss_latency 617734 # number of overall MSHR miss cycles
+system.cpu.l2cache.overall_mshr_miss_latency 622813 # number of overall MSHR miss cycles
system.cpu.l2cache.overall_mshr_miss_rate 1 # mshr miss rate for overall accesses
system.cpu.l2cache.overall_mshr_misses 269 # number of overall MSHR misses
system.cpu.l2cache.overall_mshr_uncacheable_latency 0 # number of overall MSHR uncacheable cycles
@@ -382,29 +382,28 @@ system.cpu.l2cache.prefetcher.num_hwpf_squashed_from_miss 0
system.cpu.l2cache.replacements 0 # number of replacements
system.cpu.l2cache.sampled_refs 269 # Sample count of references to valid blocks.
system.cpu.l2cache.soft_prefetch_mshr_full 0 # number of mshr full events for SW prefetching instrutions
-system.cpu.l2cache.tagsinuse 138.802893 # Cycle average of tags in use
+system.cpu.l2cache.tagsinuse 138.742329 # Cycle average of tags in use
system.cpu.l2cache.total_refs 0 # Total number of references to valid blocks.
system.cpu.l2cache.warmup_cycle 0 # Cycle when the warmup percentage was hit.
system.cpu.l2cache.writebacks 0 # number of writebacks
-system.cpu.numCycles 28537 # number of cpu cycles simulated
-system.cpu.rename.RENAME:BlockCycles 14784 # Number of cycles rename is blocking
+system.cpu.numCycles 30107 # number of cpu cycles simulated
+system.cpu.rename.RENAME:BlockCycles 16613 # Number of cycles rename is blocking
system.cpu.rename.RENAME:CommittedMaps 1768 # Number of HB maps that are committed
-system.cpu.rename.RENAME:IQFullEvents 18 # Number of times rename has blocked due to IQ full
-system.cpu.rename.RENAME:IdleCycles 5489 # Number of cycles rename is idle
+system.cpu.rename.RENAME:IQFullEvents 14 # Number of times rename has blocked due to IQ full
+system.cpu.rename.RENAME:IdleCycles 5311 # Number of cycles rename is idle
system.cpu.rename.RENAME:LSQFullEvents 1 # Number of times rename has blocked due to LSQ full
-system.cpu.rename.RENAME:ROBFullEvents 2 # Number of times rename has blocked due to ROB full
-system.cpu.rename.RENAME:RenameLookups 5285 # Number of register rename lookups that rename has made
-system.cpu.rename.RENAME:RenamedInsts 4708 # Number of instructions processed by rename
-system.cpu.rename.RENAME:RenamedOperands 3399 # Number of destination operands rename has renamed
-system.cpu.rename.RENAME:RunCycles 847 # Number of cycles rename is running
-system.cpu.rename.RENAME:SquashCycles 336 # Number of cycles rename is squashing
-system.cpu.rename.RENAME:UnblockCycles 25 # Number of cycles rename is unblocking
-system.cpu.rename.RENAME:UndoneMaps 1631 # Number of HB maps that are undone due to squashing
-system.cpu.rename.RENAME:serializeStallCycles 7056 # count of cycles rename stalled for serializing inst
+system.cpu.rename.RENAME:RenameLookups 5020 # Number of register rename lookups that rename has made
+system.cpu.rename.RENAME:RenamedInsts 4436 # Number of instructions processed by rename
+system.cpu.rename.RENAME:RenamedOperands 3192 # Number of destination operands rename has renamed
+system.cpu.rename.RENAME:RunCycles 802 # Number of cycles rename is running
+system.cpu.rename.RENAME:SquashCycles 297 # Number of cycles rename is squashing
+system.cpu.rename.RENAME:UnblockCycles 23 # Number of cycles rename is unblocking
+system.cpu.rename.RENAME:UndoneMaps 1424 # Number of HB maps that are undone due to squashing
+system.cpu.rename.RENAME:serializeStallCycles 7061 # count of cycles rename stalled for serializing inst
system.cpu.rename.RENAME:serializingInsts 8 # count of serializing insts renamed
-system.cpu.rename.RENAME:skidInsts 88 # count of insts added to the skid buffer
+system.cpu.rename.RENAME:skidInsts 78 # count of insts added to the skid buffer
system.cpu.rename.RENAME:tempSerializingInsts 6 # count of temporary serializing insts renamed
-system.cpu.timesIdled 211 # Number of times that the entire CPU went into an idle state and unscheduled itself
+system.cpu.timesIdled 207 # Number of times that the entire CPU went into an idle state and unscheduled itself
system.cpu.workload.PROG:num_syscalls 4 # Number of system calls
---------- End Simulation Statistics ----------
diff --git a/tests/quick/00.hello/ref/alpha/tru64/o3-timing/stderr b/tests/quick/00.hello/ref/alpha/tru64/o3-timing/stderr
index 313de3c46..e582c15a8 100644
--- a/tests/quick/00.hello/ref/alpha/tru64/o3-timing/stderr
+++ b/tests/quick/00.hello/ref/alpha/tru64/o3-timing/stderr
@@ -1,4 +1,4 @@
-0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
+0: system.remote_gdb.listener: listening for remote gdb on port 7001
warn: Entering event queue @ 0. Starting simulation...
warn: Increasing stack size by one page.
warn: ignoring syscall sigprocmask(1, 18446744073709547831, ...)
diff --git a/tests/quick/00.hello/ref/alpha/tru64/o3-timing/stdout b/tests/quick/00.hello/ref/alpha/tru64/o3-timing/stdout
index 233834343..25e5ec43b 100644
--- a/tests/quick/00.hello/ref/alpha/tru64/o3-timing/stdout
+++ b/tests/quick/00.hello/ref/alpha/tru64/o3-timing/stdout
@@ -6,9 +6,9 @@ The Regents of The University of Michigan
All Rights Reserved
-M5 compiled Mar 24 2007 13:51:02
-M5 started Sat Mar 24 13:51:14 2007
-M5 executing on zizzer.eecs.umich.edu
-command line: build/ALPHA_SE/m5.opt -d build/ALPHA_SE/tests/opt/quick/00.hello/alpha/tru64/o3-timing tests/run.py quick/00.hello/alpha/tru64/o3-timing
+M5 compiled Mar 30 2007 13:12:55
+M5 started Fri Mar 30 13:13:05 2007
+M5 executing on zamp.eecs.umich.edu
+command line: build/ALPHA_SE/m5.fast -d build/ALPHA_SE/tests/fast/quick/00.hello/alpha/tru64/o3-timing tests/run.py quick/00.hello/alpha/tru64/o3-timing
Global frequency set at 1000000000000 ticks per second
-Exiting @ tick 752028 because target called exit()
+Exiting @ tick 746028 because target called exit()
diff --git a/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/config.ini b/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/config.ini
index e75a10c54..e11ca74dd 100644
--- a/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/config.ini
+++ b/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/config.ini
@@ -115,7 +115,7 @@ split=false
split_size=0
store_compressed=false
subblock_size=0
-tgts_per_mshr=5
+tgts_per_mshr=20
trace_addr=0
two_queue=false
write_buffers=8
@@ -291,7 +291,7 @@ split=false
split_size=0
store_compressed=false
subblock_size=0
-tgts_per_mshr=5
+tgts_per_mshr=20
trace_addr=0
two_queue=false
write_buffers=8
diff --git a/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/config.out b/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/config.out
index 9489e27c0..0d9c5215b 100644
--- a/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/config.out
+++ b/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/config.out
@@ -267,7 +267,7 @@ assoc=2
block_size=64
latency=1
mshrs=10
-tgts_per_mshr=5
+tgts_per_mshr=20
write_buffers=8
prioritizeRequests=false
protocol=null
@@ -305,7 +305,7 @@ assoc=2
block_size=64
latency=1
mshrs=10
-tgts_per_mshr=5
+tgts_per_mshr=20
write_buffers=8
prioritizeRequests=false
protocol=null
diff --git a/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/m5stats.txt b/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/m5stats.txt
index 74e8f8d83..684314d31 100644
--- a/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/m5stats.txt
+++ b/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/m5stats.txt
@@ -1,29 +1,29 @@
---------- Begin Simulation Statistics ----------
global.BPredUnit.BTBCorrect 0 # Number of correct BTB predictions (this stat may not work properly.
-global.BPredUnit.BTBHits 1320 # Number of BTB hits
-global.BPredUnit.BTBLookups 6181 # Number of BTB lookups
-global.BPredUnit.RASInCorrect 173 # Number of incorrect RAS predictions.
-global.BPredUnit.condIncorrect 1181 # Number of conditional branches incorrect
-global.BPredUnit.condPredicted 4228 # Number of conditional branches predicted
-global.BPredUnit.lookups 12535 # Number of BP lookups
-global.BPredUnit.usedRAS 6333 # Number of times the RAS was used to get a target.
-host_inst_rate 6990 # Simulator instruction rate (inst/s)
-host_mem_usage 156628 # Number of bytes of host memory used
-host_seconds 1.61 # Real time elapsed on the host
-host_tick_rate 1386962 # Simulator tick rate (ticks/s)
+global.BPredUnit.BTBHits 827 # Number of BTB hits
+global.BPredUnit.BTBLookups 3697 # Number of BTB lookups
+global.BPredUnit.RASInCorrect 179 # Number of incorrect RAS predictions.
+global.BPredUnit.condIncorrect 1207 # Number of conditional branches incorrect
+global.BPredUnit.condPredicted 2534 # Number of conditional branches predicted
+global.BPredUnit.lookups 4455 # Number of BP lookups
+global.BPredUnit.usedRAS 640 # Number of times the RAS was used to get a target.
+host_inst_rate 15344 # Simulator instruction rate (inst/s)
+host_mem_usage 154676 # Number of bytes of host memory used
+host_seconds 0.73 # Real time elapsed on the host
+host_tick_rate 2857242 # Simulator tick rate (ticks/s)
+memdepunit.memDep.conflictingLoads 24 # Number of conflicting loads.
memdepunit.memDep.conflictingLoads 26 # Number of conflicting loads.
-memdepunit.memDep.conflictingLoads 23 # Number of conflicting loads.
memdepunit.memDep.conflictingStores 4 # Number of conflicting stores.
-memdepunit.memDep.conflictingStores 1 # Number of conflicting stores.
-memdepunit.memDep.insertedLoads 3657 # Number of loads inserted to the mem dependence unit.
-memdepunit.memDep.insertedLoads 5285 # Number of loads inserted to the mem dependence unit.
-memdepunit.memDep.insertedStores 1780 # Number of stores inserted to the mem dependence unit.
-memdepunit.memDep.insertedStores 4439 # Number of stores inserted to the mem dependence unit.
+memdepunit.memDep.conflictingStores 5 # Number of conflicting stores.
+memdepunit.memDep.insertedLoads 2132 # Number of loads inserted to the mem dependence unit.
+memdepunit.memDep.insertedLoads 2142 # Number of loads inserted to the mem dependence unit.
+memdepunit.memDep.insertedStores 1150 # Number of stores inserted to the mem dependence unit.
+memdepunit.memDep.insertedStores 1138 # Number of stores inserted to the mem dependence unit.
sim_freq 1000000000000 # Frequency of simulated ticks
sim_insts 11247 # Number of instructions simulated
sim_seconds 0.000002 # Number of seconds simulated
-sim_ticks 2232164 # Number of ticks simulated
+sim_ticks 2095164 # Number of ticks simulated
system.cpu.commit.COM:branches 1724 # Number of branches committed
system.cpu.commit.COM:branches_0 862 # Number of branches committed
system.cpu.commit.COM:branches_1 862 # Number of branches committed
@@ -32,23 +32,23 @@ system.cpu.commit.COM:bw_limited 0 # nu
system.cpu.commit.COM:bw_limited_0 0 # number of insts not committed due to BW limits
system.cpu.commit.COM:bw_limited_1 0 # number of insts not committed due to BW limits
system.cpu.commit.COM:committed_per_cycle.start_dist # Number of insts commited each cycle
-system.cpu.commit.COM:committed_per_cycle.samples 189138
+system.cpu.commit.COM:committed_per_cycle.samples 165684
system.cpu.commit.COM:committed_per_cycle.min_value 0
- 0 183476 9700.64%
- 1 3161 167.13%
- 2 1212 64.08%
- 3 544 28.76%
- 4 279 14.75%
- 5 155 8.20%
- 6 127 6.71%
- 7 61 3.23%
- 8 123 6.50%
+ 0 159919 9652.05%
+ 1 3333 201.17%
+ 2 1165 70.31%
+ 3 515 31.08%
+ 4 270 16.30%
+ 5 201 12.13%
+ 6 102 6.16%
+ 7 56 3.38%
+ 8 123 7.42%
system.cpu.commit.COM:committed_per_cycle.max_value 8
system.cpu.commit.COM:committed_per_cycle.end_dist
system.cpu.commit.COM:count 11281 # Number of instructions committed
-system.cpu.commit.COM:count_0 5641 # Number of instructions committed
-system.cpu.commit.COM:count_1 5640 # Number of instructions committed
+system.cpu.commit.COM:count_0 5640 # Number of instructions committed
+system.cpu.commit.COM:count_1 5641 # Number of instructions committed
system.cpu.commit.COM:loads 1958 # Number of loads committed
system.cpu.commit.COM:loads_0 979 # Number of loads committed
system.cpu.commit.COM:loads_1 979 # Number of loads committed
@@ -61,141 +61,141 @@ system.cpu.commit.COM:refs_1 1791 # Nu
system.cpu.commit.COM:swp_count 0 # Number of s/w prefetches committed
system.cpu.commit.COM:swp_count_0 0 # Number of s/w prefetches committed
system.cpu.commit.COM:swp_count_1 0 # Number of s/w prefetches committed
-system.cpu.commit.branchMispredicts 938 # The number of times a branch was mispredicted
+system.cpu.commit.branchMispredicts 947 # The number of times a branch was mispredicted
system.cpu.commit.commitCommittedInsts 11281 # The number of committed instructions
system.cpu.commit.commitNonSpecStalls 34 # The number of times commit has been forced to stall to communicate backwards
-system.cpu.commit.commitSquashedInsts 29588 # The number of squashed insts skipped by commit
-system.cpu.committedInsts_0 5624 # Number of Instructions Simulated
-system.cpu.committedInsts_1 5623 # Number of Instructions Simulated
+system.cpu.commit.commitSquashedInsts 9432 # The number of squashed insts skipped by commit
+system.cpu.committedInsts_0 5623 # Number of Instructions Simulated
+system.cpu.committedInsts_1 5624 # Number of Instructions Simulated
system.cpu.committedInsts_total 11247 # Number of Instructions Simulated
-system.cpu.cpi_0 396.899716 # CPI: Cycles Per Instruction
-system.cpu.cpi_1 396.970301 # CPI: Cycles Per Instruction
-system.cpu.cpi_total 198.467502 # CPI: Total CPI of All Threads
-system.cpu.dcache.ReadReq_accesses 3176 # number of ReadReq accesses(hits+misses)
-system.cpu.dcache.ReadReq_accesses_0 3176 # number of ReadReq accesses(hits+misses)
-system.cpu.dcache.ReadReq_avg_miss_latency 9976.257143 # average ReadReq miss latency
-system.cpu.dcache.ReadReq_avg_miss_latency_0 9976.257143 # average ReadReq miss latency
-system.cpu.dcache.ReadReq_avg_mshr_miss_latency 10425.356784 # average ReadReq mshr miss latency
-system.cpu.dcache.ReadReq_avg_mshr_miss_latency_0 10425.356784 # average ReadReq mshr miss latency
-system.cpu.dcache.ReadReq_hits 2861 # number of ReadReq hits
-system.cpu.dcache.ReadReq_hits_0 2861 # number of ReadReq hits
-system.cpu.dcache.ReadReq_miss_latency 3142521 # number of ReadReq miss cycles
-system.cpu.dcache.ReadReq_miss_latency_0 3142521 # number of ReadReq miss cycles
-system.cpu.dcache.ReadReq_miss_rate 0.099181 # miss rate for ReadReq accesses
-system.cpu.dcache.ReadReq_miss_rate_0 0.099181 # miss rate for ReadReq accesses
-system.cpu.dcache.ReadReq_misses 315 # number of ReadReq misses
-system.cpu.dcache.ReadReq_misses_0 315 # number of ReadReq misses
-system.cpu.dcache.ReadReq_mshr_hits 116 # number of ReadReq MSHR hits
-system.cpu.dcache.ReadReq_mshr_hits_0 116 # number of ReadReq MSHR hits
-system.cpu.dcache.ReadReq_mshr_miss_latency 2074646 # number of ReadReq MSHR miss cycles
-system.cpu.dcache.ReadReq_mshr_miss_latency_0 2074646 # number of ReadReq MSHR miss cycles
-system.cpu.dcache.ReadReq_mshr_miss_rate 0.062657 # mshr miss rate for ReadReq accesses
-system.cpu.dcache.ReadReq_mshr_miss_rate_0 0.062657 # mshr miss rate for ReadReq accesses
-system.cpu.dcache.ReadReq_mshr_misses 199 # number of ReadReq MSHR misses
-system.cpu.dcache.ReadReq_mshr_misses_0 199 # number of ReadReq MSHR misses
+system.cpu.cpi_0 372.606082 # CPI: Cycles Per Instruction
+system.cpu.cpi_1 372.539829 # CPI: Cycles Per Instruction
+system.cpu.cpi_total 186.286476 # CPI: Total CPI of All Threads
+system.cpu.dcache.ReadReq_accesses 3234 # number of ReadReq accesses(hits+misses)
+system.cpu.dcache.ReadReq_accesses_0 3234 # number of ReadReq accesses(hits+misses)
+system.cpu.dcache.ReadReq_avg_miss_latency 10308.511696 # average ReadReq miss latency
+system.cpu.dcache.ReadReq_avg_miss_latency_0 10308.511696 # average ReadReq miss latency
+system.cpu.dcache.ReadReq_avg_mshr_miss_latency 10789.975000 # average ReadReq mshr miss latency
+system.cpu.dcache.ReadReq_avg_mshr_miss_latency_0 10789.975000 # average ReadReq mshr miss latency
+system.cpu.dcache.ReadReq_hits 2892 # number of ReadReq hits
+system.cpu.dcache.ReadReq_hits_0 2892 # number of ReadReq hits
+system.cpu.dcache.ReadReq_miss_latency 3525511 # number of ReadReq miss cycles
+system.cpu.dcache.ReadReq_miss_latency_0 3525511 # number of ReadReq miss cycles
+system.cpu.dcache.ReadReq_miss_rate 0.105751 # miss rate for ReadReq accesses
+system.cpu.dcache.ReadReq_miss_rate_0 0.105751 # miss rate for ReadReq accesses
+system.cpu.dcache.ReadReq_misses 342 # number of ReadReq misses
+system.cpu.dcache.ReadReq_misses_0 342 # number of ReadReq misses
+system.cpu.dcache.ReadReq_mshr_hits 142 # number of ReadReq MSHR hits
+system.cpu.dcache.ReadReq_mshr_hits_0 142 # number of ReadReq MSHR hits
+system.cpu.dcache.ReadReq_mshr_miss_latency 2157995 # number of ReadReq MSHR miss cycles
+system.cpu.dcache.ReadReq_mshr_miss_latency_0 2157995 # number of ReadReq MSHR miss cycles
+system.cpu.dcache.ReadReq_mshr_miss_rate 0.061843 # mshr miss rate for ReadReq accesses
+system.cpu.dcache.ReadReq_mshr_miss_rate_0 0.061843 # mshr miss rate for ReadReq accesses
+system.cpu.dcache.ReadReq_mshr_misses 200 # number of ReadReq MSHR misses
+system.cpu.dcache.ReadReq_mshr_misses_0 200 # number of ReadReq MSHR misses
system.cpu.dcache.WriteReq_accesses 1624 # number of WriteReq accesses(hits+misses)
system.cpu.dcache.WriteReq_accesses_0 1624 # number of WriteReq accesses(hits+misses)
-system.cpu.dcache.WriteReq_avg_miss_latency 6512.846154 # average WriteReq miss latency
-system.cpu.dcache.WriteReq_avg_miss_latency_0 6512.846154 # average WriteReq miss latency
-system.cpu.dcache.WriteReq_avg_mshr_miss_latency 7776.006849 # average WriteReq mshr miss latency
-system.cpu.dcache.WriteReq_avg_mshr_miss_latency_0 7776.006849 # average WriteReq mshr miss latency
-system.cpu.dcache.WriteReq_hits 1117 # number of WriteReq hits
-system.cpu.dcache.WriteReq_hits_0 1117 # number of WriteReq hits
-system.cpu.dcache.WriteReq_miss_latency 3302013 # number of WriteReq miss cycles
-system.cpu.dcache.WriteReq_miss_latency_0 3302013 # number of WriteReq miss cycles
-system.cpu.dcache.WriteReq_miss_rate 0.312192 # miss rate for WriteReq accesses
-system.cpu.dcache.WriteReq_miss_rate_0 0.312192 # miss rate for WriteReq accesses
-system.cpu.dcache.WriteReq_misses 507 # number of WriteReq misses
-system.cpu.dcache.WriteReq_misses_0 507 # number of WriteReq misses
-system.cpu.dcache.WriteReq_mshr_hits 361 # number of WriteReq MSHR hits
-system.cpu.dcache.WriteReq_mshr_hits_0 361 # number of WriteReq MSHR hits
-system.cpu.dcache.WriteReq_mshr_miss_latency 1135297 # number of WriteReq MSHR miss cycles
-system.cpu.dcache.WriteReq_mshr_miss_latency_0 1135297 # number of WriteReq MSHR miss cycles
+system.cpu.dcache.WriteReq_avg_miss_latency 8945.050491 # average WriteReq miss latency
+system.cpu.dcache.WriteReq_avg_miss_latency_0 8945.050491 # average WriteReq miss latency
+system.cpu.dcache.WriteReq_avg_mshr_miss_latency 9931.897260 # average WriteReq mshr miss latency
+system.cpu.dcache.WriteReq_avg_mshr_miss_latency_0 9931.897260 # average WriteReq mshr miss latency
+system.cpu.dcache.WriteReq_hits 911 # number of WriteReq hits
+system.cpu.dcache.WriteReq_hits_0 911 # number of WriteReq hits
+system.cpu.dcache.WriteReq_miss_latency 6377821 # number of WriteReq miss cycles
+system.cpu.dcache.WriteReq_miss_latency_0 6377821 # number of WriteReq miss cycles
+system.cpu.dcache.WriteReq_miss_rate 0.439039 # miss rate for WriteReq accesses
+system.cpu.dcache.WriteReq_miss_rate_0 0.439039 # miss rate for WriteReq accesses
+system.cpu.dcache.WriteReq_misses 713 # number of WriteReq misses
+system.cpu.dcache.WriteReq_misses_0 713 # number of WriteReq misses
+system.cpu.dcache.WriteReq_mshr_hits 567 # number of WriteReq MSHR hits
+system.cpu.dcache.WriteReq_mshr_hits_0 567 # number of WriteReq MSHR hits
+system.cpu.dcache.WriteReq_mshr_miss_latency 1450057 # number of WriteReq MSHR miss cycles
+system.cpu.dcache.WriteReq_mshr_miss_latency_0 1450057 # number of WriteReq MSHR miss cycles
system.cpu.dcache.WriteReq_mshr_miss_rate 0.089901 # mshr miss rate for WriteReq accesses
system.cpu.dcache.WriteReq_mshr_miss_rate_0 0.089901 # mshr miss rate for WriteReq accesses
system.cpu.dcache.WriteReq_mshr_misses 146 # number of WriteReq MSHR misses
system.cpu.dcache.WriteReq_mshr_misses_0 146 # number of WriteReq MSHR misses
-system.cpu.dcache.avg_blocked_cycles_no_mshrs 3973 # average number of cycles each access was blocked
-system.cpu.dcache.avg_blocked_cycles_no_targets 3613.488095 # average number of cycles each access was blocked
-system.cpu.dcache.avg_refs 11.563953 # Average number of references to valid blocks.
+system.cpu.dcache.avg_blocked_cycles_no_mshrs 994 # average number of cycles each access was blocked
+system.cpu.dcache.avg_blocked_cycles_no_targets <err: div-0> # average number of cycles each access was blocked
+system.cpu.dcache.avg_refs 10.991329 # Average number of references to valid blocks.
system.cpu.dcache.blocked_no_mshrs 1 # number of cycles access was blocked
-system.cpu.dcache.blocked_no_targets 84 # number of cycles access was blocked
-system.cpu.dcache.blocked_cycles_no_mshrs 3973 # number of cycles access was blocked
-system.cpu.dcache.blocked_cycles_no_targets 303533 # number of cycles access was blocked
+system.cpu.dcache.blocked_no_targets 0 # number of cycles access was blocked
+system.cpu.dcache.blocked_cycles_no_mshrs 994 # number of cycles access was blocked
+system.cpu.dcache.blocked_cycles_no_targets 0 # number of cycles access was blocked
system.cpu.dcache.cache_copies 0 # number of cache copies performed
-system.cpu.dcache.demand_accesses 4800 # number of demand (read+write) accesses
-system.cpu.dcache.demand_accesses_0 4800 # number of demand (read+write) accesses
+system.cpu.dcache.demand_accesses 4858 # number of demand (read+write) accesses
+system.cpu.dcache.demand_accesses_0 4858 # number of demand (read+write) accesses
system.cpu.dcache.demand_accesses_1 0 # number of demand (read+write) accesses
-system.cpu.dcache.demand_avg_miss_latency 7840.065693 # average overall miss latency
-system.cpu.dcache.demand_avg_miss_latency_0 7840.065693 # average overall miss latency
+system.cpu.dcache.demand_avg_miss_latency 9387.044550 # average overall miss latency
+system.cpu.dcache.demand_avg_miss_latency_0 9387.044550 # average overall miss latency
system.cpu.dcache.demand_avg_miss_latency_1 <err: div-0> # average overall miss latency
-system.cpu.dcache.demand_avg_mshr_miss_latency 9304.182609 # average overall mshr miss latency
-system.cpu.dcache.demand_avg_mshr_miss_latency_0 9304.182609 # average overall mshr miss latency
+system.cpu.dcache.demand_avg_mshr_miss_latency 10427.895954 # average overall mshr miss latency
+system.cpu.dcache.demand_avg_mshr_miss_latency_0 10427.895954 # average overall mshr miss latency
system.cpu.dcache.demand_avg_mshr_miss_latency_1 <err: div-0> # average overall mshr miss latency
-system.cpu.dcache.demand_hits 3978 # number of demand (read+write) hits
-system.cpu.dcache.demand_hits_0 3978 # number of demand (read+write) hits
+system.cpu.dcache.demand_hits 3803 # number of demand (read+write) hits
+system.cpu.dcache.demand_hits_0 3803 # number of demand (read+write) hits
system.cpu.dcache.demand_hits_1 0 # number of demand (read+write) hits
-system.cpu.dcache.demand_miss_latency 6444534 # number of demand (read+write) miss cycles
-system.cpu.dcache.demand_miss_latency_0 6444534 # number of demand (read+write) miss cycles
+system.cpu.dcache.demand_miss_latency 9903332 # number of demand (read+write) miss cycles
+system.cpu.dcache.demand_miss_latency_0 9903332 # number of demand (read+write) miss cycles
system.cpu.dcache.demand_miss_latency_1 0 # number of demand (read+write) miss cycles
-system.cpu.dcache.demand_miss_rate 0.171250 # miss rate for demand accesses
-system.cpu.dcache.demand_miss_rate_0 0.171250 # miss rate for demand accesses
+system.cpu.dcache.demand_miss_rate 0.217168 # miss rate for demand accesses
+system.cpu.dcache.demand_miss_rate_0 0.217168 # miss rate for demand accesses
system.cpu.dcache.demand_miss_rate_1 <err: div-0> # miss rate for demand accesses
-system.cpu.dcache.demand_misses 822 # number of demand (read+write) misses
-system.cpu.dcache.demand_misses_0 822 # number of demand (read+write) misses
+system.cpu.dcache.demand_misses 1055 # number of demand (read+write) misses
+system.cpu.dcache.demand_misses_0 1055 # number of demand (read+write) misses
system.cpu.dcache.demand_misses_1 0 # number of demand (read+write) misses
-system.cpu.dcache.demand_mshr_hits 477 # number of demand (read+write) MSHR hits
-system.cpu.dcache.demand_mshr_hits_0 477 # number of demand (read+write) MSHR hits
+system.cpu.dcache.demand_mshr_hits 709 # number of demand (read+write) MSHR hits
+system.cpu.dcache.demand_mshr_hits_0 709 # number of demand (read+write) MSHR hits
system.cpu.dcache.demand_mshr_hits_1 0 # number of demand (read+write) MSHR hits
-system.cpu.dcache.demand_mshr_miss_latency 3209943 # number of demand (read+write) MSHR miss cycles
-system.cpu.dcache.demand_mshr_miss_latency_0 3209943 # number of demand (read+write) MSHR miss cycles
+system.cpu.dcache.demand_mshr_miss_latency 3608052 # number of demand (read+write) MSHR miss cycles
+system.cpu.dcache.demand_mshr_miss_latency_0 3608052 # number of demand (read+write) MSHR miss cycles
system.cpu.dcache.demand_mshr_miss_latency_1 0 # number of demand (read+write) MSHR miss cycles
-system.cpu.dcache.demand_mshr_miss_rate 0.071875 # mshr miss rate for demand accesses
-system.cpu.dcache.demand_mshr_miss_rate_0 0.071875 # mshr miss rate for demand accesses
+system.cpu.dcache.demand_mshr_miss_rate 0.071223 # mshr miss rate for demand accesses
+system.cpu.dcache.demand_mshr_miss_rate_0 0.071223 # mshr miss rate for demand accesses
system.cpu.dcache.demand_mshr_miss_rate_1 <err: div-0> # mshr miss rate for demand accesses
-system.cpu.dcache.demand_mshr_misses 345 # number of demand (read+write) MSHR misses
-system.cpu.dcache.demand_mshr_misses_0 345 # number of demand (read+write) MSHR misses
+system.cpu.dcache.demand_mshr_misses 346 # number of demand (read+write) MSHR misses
+system.cpu.dcache.demand_mshr_misses_0 346 # number of demand (read+write) MSHR misses
system.cpu.dcache.demand_mshr_misses_1 0 # number of demand (read+write) MSHR misses
system.cpu.dcache.fast_writes 0 # number of fast writes performed
system.cpu.dcache.mshr_cap_events 0 # number of times MSHR cap was activated
system.cpu.dcache.mshr_cap_events_0 0 # number of times MSHR cap was activated
system.cpu.dcache.mshr_cap_events_1 0 # number of times MSHR cap was activated
system.cpu.dcache.no_allocate_misses 0 # Number of misses that were no-allocate
-system.cpu.dcache.overall_accesses 4800 # number of overall (read+write) accesses
-system.cpu.dcache.overall_accesses_0 4800 # number of overall (read+write) accesses
+system.cpu.dcache.overall_accesses 4858 # number of overall (read+write) accesses
+system.cpu.dcache.overall_accesses_0 4858 # number of overall (read+write) accesses
system.cpu.dcache.overall_accesses_1 0 # number of overall (read+write) accesses
-system.cpu.dcache.overall_avg_miss_latency 7840.065693 # average overall miss latency
-system.cpu.dcache.overall_avg_miss_latency_0 7840.065693 # average overall miss latency
+system.cpu.dcache.overall_avg_miss_latency 9387.044550 # average overall miss latency
+system.cpu.dcache.overall_avg_miss_latency_0 9387.044550 # average overall miss latency
system.cpu.dcache.overall_avg_miss_latency_1 <err: div-0> # average overall miss latency
-system.cpu.dcache.overall_avg_mshr_miss_latency 9304.182609 # average overall mshr miss latency
-system.cpu.dcache.overall_avg_mshr_miss_latency_0 9304.182609 # average overall mshr miss latency
+system.cpu.dcache.overall_avg_mshr_miss_latency 10427.895954 # average overall mshr miss latency
+system.cpu.dcache.overall_avg_mshr_miss_latency_0 10427.895954 # average overall mshr miss latency
system.cpu.dcache.overall_avg_mshr_miss_latency_1 <err: div-0> # average overall mshr miss latency
system.cpu.dcache.overall_avg_mshr_uncacheable_latency <err: div-0> # average overall mshr uncacheable latency
system.cpu.dcache.overall_avg_mshr_uncacheable_latency_0 <err: div-0> # average overall mshr uncacheable latency
system.cpu.dcache.overall_avg_mshr_uncacheable_latency_1 <err: div-0> # average overall mshr uncacheable latency
-system.cpu.dcache.overall_hits 3978 # number of overall hits
-system.cpu.dcache.overall_hits_0 3978 # number of overall hits
+system.cpu.dcache.overall_hits 3803 # number of overall hits
+system.cpu.dcache.overall_hits_0 3803 # number of overall hits
system.cpu.dcache.overall_hits_1 0 # number of overall hits
-system.cpu.dcache.overall_miss_latency 6444534 # number of overall miss cycles
-system.cpu.dcache.overall_miss_latency_0 6444534 # number of overall miss cycles
+system.cpu.dcache.overall_miss_latency 9903332 # number of overall miss cycles
+system.cpu.dcache.overall_miss_latency_0 9903332 # number of overall miss cycles
system.cpu.dcache.overall_miss_latency_1 0 # number of overall miss cycles
-system.cpu.dcache.overall_miss_rate 0.171250 # miss rate for overall accesses
-system.cpu.dcache.overall_miss_rate_0 0.171250 # miss rate for overall accesses
+system.cpu.dcache.overall_miss_rate 0.217168 # miss rate for overall accesses
+system.cpu.dcache.overall_miss_rate_0 0.217168 # miss rate for overall accesses
system.cpu.dcache.overall_miss_rate_1 <err: div-0> # miss rate for overall accesses
-system.cpu.dcache.overall_misses 822 # number of overall misses
-system.cpu.dcache.overall_misses_0 822 # number of overall misses
+system.cpu.dcache.overall_misses 1055 # number of overall misses
+system.cpu.dcache.overall_misses_0 1055 # number of overall misses
system.cpu.dcache.overall_misses_1 0 # number of overall misses
-system.cpu.dcache.overall_mshr_hits 477 # number of overall MSHR hits
-system.cpu.dcache.overall_mshr_hits_0 477 # number of overall MSHR hits
+system.cpu.dcache.overall_mshr_hits 709 # number of overall MSHR hits
+system.cpu.dcache.overall_mshr_hits_0 709 # number of overall MSHR hits
system.cpu.dcache.overall_mshr_hits_1 0 # number of overall MSHR hits
-system.cpu.dcache.overall_mshr_miss_latency 3209943 # number of overall MSHR miss cycles
-system.cpu.dcache.overall_mshr_miss_latency_0 3209943 # number of overall MSHR miss cycles
+system.cpu.dcache.overall_mshr_miss_latency 3608052 # number of overall MSHR miss cycles
+system.cpu.dcache.overall_mshr_miss_latency_0 3608052 # number of overall MSHR miss cycles
system.cpu.dcache.overall_mshr_miss_latency_1 0 # number of overall MSHR miss cycles
-system.cpu.dcache.overall_mshr_miss_rate 0.071875 # mshr miss rate for overall accesses
-system.cpu.dcache.overall_mshr_miss_rate_0 0.071875 # mshr miss rate for overall accesses
+system.cpu.dcache.overall_mshr_miss_rate 0.071223 # mshr miss rate for overall accesses
+system.cpu.dcache.overall_mshr_miss_rate_0 0.071223 # mshr miss rate for overall accesses
system.cpu.dcache.overall_mshr_miss_rate_1 <err: div-0> # mshr miss rate for overall accesses
-system.cpu.dcache.overall_mshr_misses 345 # number of overall MSHR misses
-system.cpu.dcache.overall_mshr_misses_0 345 # number of overall MSHR misses
+system.cpu.dcache.overall_mshr_misses 346 # number of overall MSHR misses
+system.cpu.dcache.overall_mshr_misses_0 346 # number of overall MSHR misses
system.cpu.dcache.overall_mshr_misses_1 0 # number of overall MSHR misses
system.cpu.dcache.overall_mshr_uncacheable_latency 0 # number of overall MSHR uncacheable cycles
system.cpu.dcache.overall_mshr_uncacheable_latency_0 0 # number of overall MSHR uncacheable cycles
@@ -215,153 +215,153 @@ system.cpu.dcache.prefetcher.num_hwpf_squashed_from_miss 0
system.cpu.dcache.replacements 0 # number of replacements
system.cpu.dcache.replacements_0 0 # number of replacements
system.cpu.dcache.replacements_1 0 # number of replacements
-system.cpu.dcache.sampled_refs 344 # Sample count of references to valid blocks.
+system.cpu.dcache.sampled_refs 346 # Sample count of references to valid blocks.
system.cpu.dcache.soft_prefetch_mshr_full 0 # number of mshr full events for SW prefetching instrutions
system.cpu.dcache.soft_prefetch_mshr_full_0 0 # number of mshr full events for SW prefetching instrutions
system.cpu.dcache.soft_prefetch_mshr_full_1 0 # number of mshr full events for SW prefetching instrutions
-system.cpu.dcache.tagsinuse 198.340517 # Cycle average of tags in use
-system.cpu.dcache.total_refs 3978 # Total number of references to valid blocks.
+system.cpu.dcache.tagsinuse 200.098842 # Cycle average of tags in use
+system.cpu.dcache.total_refs 3803 # Total number of references to valid blocks.
system.cpu.dcache.warmup_cycle 0 # Cycle when the warmup percentage was hit.
system.cpu.dcache.writebacks 0 # number of writebacks
system.cpu.dcache.writebacks_0 0 # number of writebacks
system.cpu.dcache.writebacks_1 0 # number of writebacks
-system.cpu.decode.DECODE:BlockedCycles 95932 # Number of cycles decode is blocked
-system.cpu.decode.DECODE:BranchMispred 257 # Number of times decode detected a branch misprediction
-system.cpu.decode.DECODE:BranchResolved 378 # Number of times decode resolved a branch
-system.cpu.decode.DECODE:DecodedInsts 68233 # Number of instructions handled by decode
-system.cpu.decode.DECODE:IdleCycles 264032 # Number of cycles decode is idle
-system.cpu.decode.DECODE:RunCycles 12255 # Number of cycles decode is running
-system.cpu.decode.DECODE:SquashCycles 5733 # Number of cycles decode is squashing
-system.cpu.decode.DECODE:SquashedInsts 618 # Number of squashed instructions handled by decode
-system.cpu.decode.DECODE:UnblockCycles 167 # Number of cycles decode is unblocking
-system.cpu.fetch.Branches 12535 # Number of branches that fetch encountered
-system.cpu.fetch.CacheLines 13184 # Number of cache lines fetched
-system.cpu.fetch.Cycles 28123 # Number of cycles fetch has run and was not squashing or blocked
-system.cpu.fetch.IcacheSquashes 886 # Number of outstanding Icache misses that were squashed
-system.cpu.fetch.Insts 80687 # Number of instructions fetch has processed
-system.cpu.fetch.SquashCycles 4911 # Number of cycles fetch has spent squashing
-system.cpu.fetch.branchRate 0.066271 # Number of branch fetches per cycle
-system.cpu.fetch.icacheStallCycles 53960 # Number of cycles fetch is stalled on an Icache miss
-system.cpu.fetch.predictedBranches 7653 # Number of branches that fetch has predicted taken
-system.cpu.fetch.rate 0.426584 # Number of inst fetches per cycle
+system.cpu.decode.DECODE:BlockedCycles 112235 # Number of cycles decode is blocked
+system.cpu.decode.DECODE:BranchMispred 273 # Number of times decode detected a branch misprediction
+system.cpu.decode.DECODE:BranchResolved 396 # Number of times decode resolved a branch
+system.cpu.decode.DECODE:DecodedInsts 24032 # Number of instructions handled by decode
+system.cpu.decode.DECODE:IdleCycles 212833 # Number of cycles decode is idle
+system.cpu.decode.DECODE:RunCycles 4096 # Number of cycles decode is running
+system.cpu.decode.DECODE:SquashCycles 1856 # Number of cycles decode is squashing
+system.cpu.decode.DECODE:SquashedInsts 672 # Number of squashed instructions handled by decode
+system.cpu.decode.DECODE:UnblockCycles 181 # Number of cycles decode is unblocking
+system.cpu.fetch.Branches 4455 # Number of branches that fetch encountered
+system.cpu.fetch.CacheLines 3542 # Number of cache lines fetched
+system.cpu.fetch.Cycles 8000 # Number of cycles fetch has run and was not squashing or blocked
+system.cpu.fetch.IcacheSquashes 608 # Number of outstanding Icache misses that were squashed
+system.cpu.fetch.Insts 26459 # Number of instructions fetch has processed
+system.cpu.fetch.SquashCycles 1268 # Number of cycles fetch has spent squashing
+system.cpu.fetch.branchRate 0.026888 # Number of branch fetches per cycle
+system.cpu.fetch.icacheStallCycles 3542 # Number of cycles fetch is stalled on an Icache miss
+system.cpu.fetch.predictedBranches 1467 # Number of branches that fetch has predicted taken
+system.cpu.fetch.rate 0.159692 # Number of inst fetches per cycle
system.cpu.fetch.rateDist.start_dist # Number of instructions fetched each cycle (Total)
-system.cpu.fetch.rateDist.samples 189147
+system.cpu.fetch.rateDist.samples 165688
system.cpu.fetch.rateDist.min_value 0
- 0 174193 9209.40%
- 1 369 19.51%
- 2 281 14.86%
- 3 3638 192.34%
- 4 2283 120.70%
- 5 1005 53.13%
- 6 984 52.02%
- 7 2371 125.35%
- 8 4023 212.69%
+ 0 161234 9731.18%
+ 1 342 20.64%
+ 2 283 17.08%
+ 3 285 17.20%
+ 4 390 23.54%
+ 5 369 22.27%
+ 6 367 22.15%
+ 7 255 15.39%
+ 8 2163 130.55%
system.cpu.fetch.rateDist.max_value 8
system.cpu.fetch.rateDist.end_dist
-system.cpu.icache.ReadReq_accesses 13182 # number of ReadReq accesses(hits+misses)
-system.cpu.icache.ReadReq_accesses_0 13182 # number of ReadReq accesses(hits+misses)
-system.cpu.icache.ReadReq_avg_miss_latency 7732.322368 # average ReadReq miss latency
-system.cpu.icache.ReadReq_avg_miss_latency_0 7732.322368 # average ReadReq miss latency
-system.cpu.icache.ReadReq_avg_mshr_miss_latency 7128.205742 # average ReadReq mshr miss latency
-system.cpu.icache.ReadReq_avg_mshr_miss_latency_0 7128.205742 # average ReadReq mshr miss latency
-system.cpu.icache.ReadReq_hits 12270 # number of ReadReq hits
-system.cpu.icache.ReadReq_hits_0 12270 # number of ReadReq hits
-system.cpu.icache.ReadReq_miss_latency 7051878 # number of ReadReq miss cycles
-system.cpu.icache.ReadReq_miss_latency_0 7051878 # number of ReadReq miss cycles
-system.cpu.icache.ReadReq_miss_rate 0.069185 # miss rate for ReadReq accesses
-system.cpu.icache.ReadReq_miss_rate_0 0.069185 # miss rate for ReadReq accesses
-system.cpu.icache.ReadReq_misses 912 # number of ReadReq misses
-system.cpu.icache.ReadReq_misses_0 912 # number of ReadReq misses
-system.cpu.icache.ReadReq_mshr_hits 285 # number of ReadReq MSHR hits
-system.cpu.icache.ReadReq_mshr_hits_0 285 # number of ReadReq MSHR hits
-system.cpu.icache.ReadReq_mshr_miss_latency 4469385 # number of ReadReq MSHR miss cycles
-system.cpu.icache.ReadReq_mshr_miss_latency_0 4469385 # number of ReadReq MSHR miss cycles
-system.cpu.icache.ReadReq_mshr_miss_rate 0.047565 # mshr miss rate for ReadReq accesses
-system.cpu.icache.ReadReq_mshr_miss_rate_0 0.047565 # mshr miss rate for ReadReq accesses
-system.cpu.icache.ReadReq_mshr_misses 627 # number of ReadReq MSHR misses
-system.cpu.icache.ReadReq_mshr_misses_0 627 # number of ReadReq MSHR misses
+system.cpu.icache.ReadReq_accesses 3542 # number of ReadReq accesses(hits+misses)
+system.cpu.icache.ReadReq_accesses_0 3542 # number of ReadReq accesses(hits+misses)
+system.cpu.icache.ReadReq_avg_miss_latency 7880.839306 # average ReadReq miss latency
+system.cpu.icache.ReadReq_avg_miss_latency_0 7880.839306 # average ReadReq miss latency
+system.cpu.icache.ReadReq_avg_mshr_miss_latency 7272.060897 # average ReadReq mshr miss latency
+system.cpu.icache.ReadReq_avg_mshr_miss_latency_0 7272.060897 # average ReadReq mshr miss latency
+system.cpu.icache.ReadReq_hits 2677 # number of ReadReq hits
+system.cpu.icache.ReadReq_hits_0 2677 # number of ReadReq hits
+system.cpu.icache.ReadReq_miss_latency 6816926 # number of ReadReq miss cycles
+system.cpu.icache.ReadReq_miss_latency_0 6816926 # number of ReadReq miss cycles
+system.cpu.icache.ReadReq_miss_rate 0.244212 # miss rate for ReadReq accesses
+system.cpu.icache.ReadReq_miss_rate_0 0.244212 # miss rate for ReadReq accesses
+system.cpu.icache.ReadReq_misses 865 # number of ReadReq misses
+system.cpu.icache.ReadReq_misses_0 865 # number of ReadReq misses
+system.cpu.icache.ReadReq_mshr_hits 241 # number of ReadReq MSHR hits
+system.cpu.icache.ReadReq_mshr_hits_0 241 # number of ReadReq MSHR hits
+system.cpu.icache.ReadReq_mshr_miss_latency 4537766 # number of ReadReq MSHR miss cycles
+system.cpu.icache.ReadReq_mshr_miss_latency_0 4537766 # number of ReadReq MSHR miss cycles
+system.cpu.icache.ReadReq_mshr_miss_rate 0.176172 # mshr miss rate for ReadReq accesses
+system.cpu.icache.ReadReq_mshr_miss_rate_0 0.176172 # mshr miss rate for ReadReq accesses
+system.cpu.icache.ReadReq_mshr_misses 624 # number of ReadReq MSHR misses
+system.cpu.icache.ReadReq_mshr_misses_0 624 # number of ReadReq MSHR misses
system.cpu.icache.avg_blocked_cycles_no_mshrs <err: div-0> # average number of cycles each access was blocked
-system.cpu.icache.avg_blocked_cycles_no_targets 5603.944444 # average number of cycles each access was blocked
-system.cpu.icache.avg_refs 19.569378 # Average number of references to valid blocks.
+system.cpu.icache.avg_blocked_cycles_no_targets <err: div-0> # average number of cycles each access was blocked
+system.cpu.icache.avg_refs 4.290064 # Average number of references to valid blocks.
system.cpu.icache.blocked_no_mshrs 0 # number of cycles access was blocked
-system.cpu.icache.blocked_no_targets 18 # number of cycles access was blocked
+system.cpu.icache.blocked_no_targets 0 # number of cycles access was blocked
system.cpu.icache.blocked_cycles_no_mshrs 0 # number of cycles access was blocked
-system.cpu.icache.blocked_cycles_no_targets 100871 # number of cycles access was blocked
+system.cpu.icache.blocked_cycles_no_targets 0 # number of cycles access was blocked
system.cpu.icache.cache_copies 0 # number of cache copies performed
-system.cpu.icache.demand_accesses 13182 # number of demand (read+write) accesses
-system.cpu.icache.demand_accesses_0 13182 # number of demand (read+write) accesses
+system.cpu.icache.demand_accesses 3542 # number of demand (read+write) accesses
+system.cpu.icache.demand_accesses_0 3542 # number of demand (read+write) accesses
system.cpu.icache.demand_accesses_1 0 # number of demand (read+write) accesses
-system.cpu.icache.demand_avg_miss_latency 7732.322368 # average overall miss latency
-system.cpu.icache.demand_avg_miss_latency_0 7732.322368 # average overall miss latency
+system.cpu.icache.demand_avg_miss_latency 7880.839306 # average overall miss latency
+system.cpu.icache.demand_avg_miss_latency_0 7880.839306 # average overall miss latency
system.cpu.icache.demand_avg_miss_latency_1 <err: div-0> # average overall miss latency
-system.cpu.icache.demand_avg_mshr_miss_latency 7128.205742 # average overall mshr miss latency
-system.cpu.icache.demand_avg_mshr_miss_latency_0 7128.205742 # average overall mshr miss latency
+system.cpu.icache.demand_avg_mshr_miss_latency 7272.060897 # average overall mshr miss latency
+system.cpu.icache.demand_avg_mshr_miss_latency_0 7272.060897 # average overall mshr miss latency
system.cpu.icache.demand_avg_mshr_miss_latency_1 <err: div-0> # average overall mshr miss latency
-system.cpu.icache.demand_hits 12270 # number of demand (read+write) hits
-system.cpu.icache.demand_hits_0 12270 # number of demand (read+write) hits
+system.cpu.icache.demand_hits 2677 # number of demand (read+write) hits
+system.cpu.icache.demand_hits_0 2677 # number of demand (read+write) hits
system.cpu.icache.demand_hits_1 0 # number of demand (read+write) hits
-system.cpu.icache.demand_miss_latency 7051878 # number of demand (read+write) miss cycles
-system.cpu.icache.demand_miss_latency_0 7051878 # number of demand (read+write) miss cycles
+system.cpu.icache.demand_miss_latency 6816926 # number of demand (read+write) miss cycles
+system.cpu.icache.demand_miss_latency_0 6816926 # number of demand (read+write) miss cycles
system.cpu.icache.demand_miss_latency_1 0 # number of demand (read+write) miss cycles
-system.cpu.icache.demand_miss_rate 0.069185 # miss rate for demand accesses
-system.cpu.icache.demand_miss_rate_0 0.069185 # miss rate for demand accesses
+system.cpu.icache.demand_miss_rate 0.244212 # miss rate for demand accesses
+system.cpu.icache.demand_miss_rate_0 0.244212 # miss rate for demand accesses
system.cpu.icache.demand_miss_rate_1 <err: div-0> # miss rate for demand accesses
-system.cpu.icache.demand_misses 912 # number of demand (read+write) misses
-system.cpu.icache.demand_misses_0 912 # number of demand (read+write) misses
+system.cpu.icache.demand_misses 865 # number of demand (read+write) misses
+system.cpu.icache.demand_misses_0 865 # number of demand (read+write) misses
system.cpu.icache.demand_misses_1 0 # number of demand (read+write) misses
-system.cpu.icache.demand_mshr_hits 285 # number of demand (read+write) MSHR hits
-system.cpu.icache.demand_mshr_hits_0 285 # number of demand (read+write) MSHR hits
+system.cpu.icache.demand_mshr_hits 241 # number of demand (read+write) MSHR hits
+system.cpu.icache.demand_mshr_hits_0 241 # number of demand (read+write) MSHR hits
system.cpu.icache.demand_mshr_hits_1 0 # number of demand (read+write) MSHR hits
-system.cpu.icache.demand_mshr_miss_latency 4469385 # number of demand (read+write) MSHR miss cycles
-system.cpu.icache.demand_mshr_miss_latency_0 4469385 # number of demand (read+write) MSHR miss cycles
+system.cpu.icache.demand_mshr_miss_latency 4537766 # number of demand (read+write) MSHR miss cycles
+system.cpu.icache.demand_mshr_miss_latency_0 4537766 # number of demand (read+write) MSHR miss cycles
system.cpu.icache.demand_mshr_miss_latency_1 0 # number of demand (read+write) MSHR miss cycles
-system.cpu.icache.demand_mshr_miss_rate 0.047565 # mshr miss rate for demand accesses
-system.cpu.icache.demand_mshr_miss_rate_0 0.047565 # mshr miss rate for demand accesses
+system.cpu.icache.demand_mshr_miss_rate 0.176172 # mshr miss rate for demand accesses
+system.cpu.icache.demand_mshr_miss_rate_0 0.176172 # mshr miss rate for demand accesses
system.cpu.icache.demand_mshr_miss_rate_1 <err: div-0> # mshr miss rate for demand accesses
-system.cpu.icache.demand_mshr_misses 627 # number of demand (read+write) MSHR misses
-system.cpu.icache.demand_mshr_misses_0 627 # number of demand (read+write) MSHR misses
+system.cpu.icache.demand_mshr_misses 624 # number of demand (read+write) MSHR misses
+system.cpu.icache.demand_mshr_misses_0 624 # number of demand (read+write) MSHR misses
system.cpu.icache.demand_mshr_misses_1 0 # number of demand (read+write) MSHR misses
system.cpu.icache.fast_writes 0 # number of fast writes performed
system.cpu.icache.mshr_cap_events 0 # number of times MSHR cap was activated
system.cpu.icache.mshr_cap_events_0 0 # number of times MSHR cap was activated
system.cpu.icache.mshr_cap_events_1 0 # number of times MSHR cap was activated
system.cpu.icache.no_allocate_misses 0 # Number of misses that were no-allocate
-system.cpu.icache.overall_accesses 13182 # number of overall (read+write) accesses
-system.cpu.icache.overall_accesses_0 13182 # number of overall (read+write) accesses
+system.cpu.icache.overall_accesses 3542 # number of overall (read+write) accesses
+system.cpu.icache.overall_accesses_0 3542 # number of overall (read+write) accesses
system.cpu.icache.overall_accesses_1 0 # number of overall (read+write) accesses
-system.cpu.icache.overall_avg_miss_latency 7732.322368 # average overall miss latency
-system.cpu.icache.overall_avg_miss_latency_0 7732.322368 # average overall miss latency
+system.cpu.icache.overall_avg_miss_latency 7880.839306 # average overall miss latency
+system.cpu.icache.overall_avg_miss_latency_0 7880.839306 # average overall miss latency
system.cpu.icache.overall_avg_miss_latency_1 <err: div-0> # average overall miss latency
-system.cpu.icache.overall_avg_mshr_miss_latency 7128.205742 # average overall mshr miss latency
-system.cpu.icache.overall_avg_mshr_miss_latency_0 7128.205742 # average overall mshr miss latency
+system.cpu.icache.overall_avg_mshr_miss_latency 7272.060897 # average overall mshr miss latency
+system.cpu.icache.overall_avg_mshr_miss_latency_0 7272.060897 # average overall mshr miss latency
system.cpu.icache.overall_avg_mshr_miss_latency_1 <err: div-0> # average overall mshr miss latency
system.cpu.icache.overall_avg_mshr_uncacheable_latency <err: div-0> # average overall mshr uncacheable latency
system.cpu.icache.overall_avg_mshr_uncacheable_latency_0 <err: div-0> # average overall mshr uncacheable latency
system.cpu.icache.overall_avg_mshr_uncacheable_latency_1 <err: div-0> # average overall mshr uncacheable latency
-system.cpu.icache.overall_hits 12270 # number of overall hits
-system.cpu.icache.overall_hits_0 12270 # number of overall hits
+system.cpu.icache.overall_hits 2677 # number of overall hits
+system.cpu.icache.overall_hits_0 2677 # number of overall hits
system.cpu.icache.overall_hits_1 0 # number of overall hits
-system.cpu.icache.overall_miss_latency 7051878 # number of overall miss cycles
-system.cpu.icache.overall_miss_latency_0 7051878 # number of overall miss cycles
+system.cpu.icache.overall_miss_latency 6816926 # number of overall miss cycles
+system.cpu.icache.overall_miss_latency_0 6816926 # number of overall miss cycles
system.cpu.icache.overall_miss_latency_1 0 # number of overall miss cycles
-system.cpu.icache.overall_miss_rate 0.069185 # miss rate for overall accesses
-system.cpu.icache.overall_miss_rate_0 0.069185 # miss rate for overall accesses
+system.cpu.icache.overall_miss_rate 0.244212 # miss rate for overall accesses
+system.cpu.icache.overall_miss_rate_0 0.244212 # miss rate for overall accesses
system.cpu.icache.overall_miss_rate_1 <err: div-0> # miss rate for overall accesses
-system.cpu.icache.overall_misses 912 # number of overall misses
-system.cpu.icache.overall_misses_0 912 # number of overall misses
+system.cpu.icache.overall_misses 865 # number of overall misses
+system.cpu.icache.overall_misses_0 865 # number of overall misses
system.cpu.icache.overall_misses_1 0 # number of overall misses
-system.cpu.icache.overall_mshr_hits 285 # number of overall MSHR hits
-system.cpu.icache.overall_mshr_hits_0 285 # number of overall MSHR hits
+system.cpu.icache.overall_mshr_hits 241 # number of overall MSHR hits
+system.cpu.icache.overall_mshr_hits_0 241 # number of overall MSHR hits
system.cpu.icache.overall_mshr_hits_1 0 # number of overall MSHR hits
-system.cpu.icache.overall_mshr_miss_latency 4469385 # number of overall MSHR miss cycles
-system.cpu.icache.overall_mshr_miss_latency_0 4469385 # number of overall MSHR miss cycles
+system.cpu.icache.overall_mshr_miss_latency 4537766 # number of overall MSHR miss cycles
+system.cpu.icache.overall_mshr_miss_latency_0 4537766 # number of overall MSHR miss cycles
system.cpu.icache.overall_mshr_miss_latency_1 0 # number of overall MSHR miss cycles
-system.cpu.icache.overall_mshr_miss_rate 0.047565 # mshr miss rate for overall accesses
-system.cpu.icache.overall_mshr_miss_rate_0 0.047565 # mshr miss rate for overall accesses
+system.cpu.icache.overall_mshr_miss_rate 0.176172 # mshr miss rate for overall accesses
+system.cpu.icache.overall_mshr_miss_rate_0 0.176172 # mshr miss rate for overall accesses
system.cpu.icache.overall_mshr_miss_rate_1 <err: div-0> # mshr miss rate for overall accesses
-system.cpu.icache.overall_mshr_misses 627 # number of overall MSHR misses
-system.cpu.icache.overall_mshr_misses_0 627 # number of overall MSHR misses
+system.cpu.icache.overall_mshr_misses 624 # number of overall MSHR misses
+system.cpu.icache.overall_mshr_misses_0 624 # number of overall MSHR misses
system.cpu.icache.overall_mshr_misses_1 0 # number of overall MSHR misses
system.cpu.icache.overall_mshr_uncacheable_latency 0 # number of overall MSHR uncacheable cycles
system.cpu.icache.overall_mshr_uncacheable_latency_0 0 # number of overall MSHR uncacheable cycles
@@ -381,104 +381,104 @@ system.cpu.icache.prefetcher.num_hwpf_squashed_from_miss 0
system.cpu.icache.replacements 6 # number of replacements
system.cpu.icache.replacements_0 6 # number of replacements
system.cpu.icache.replacements_1 0 # number of replacements
-system.cpu.icache.sampled_refs 627 # Sample count of references to valid blocks.
+system.cpu.icache.sampled_refs 624 # Sample count of references to valid blocks.
system.cpu.icache.soft_prefetch_mshr_full 0 # number of mshr full events for SW prefetching instrutions
system.cpu.icache.soft_prefetch_mshr_full_0 0 # number of mshr full events for SW prefetching instrutions
system.cpu.icache.soft_prefetch_mshr_full_1 0 # number of mshr full events for SW prefetching instrutions
-system.cpu.icache.tagsinuse 288.361956 # Cycle average of tags in use
-system.cpu.icache.total_refs 12270 # Total number of references to valid blocks.
+system.cpu.icache.tagsinuse 289.929418 # Cycle average of tags in use
+system.cpu.icache.total_refs 2677 # Total number of references to valid blocks.
system.cpu.icache.warmup_cycle 0 # Cycle when the warmup percentage was hit.
system.cpu.icache.writebacks 0 # number of writebacks
system.cpu.icache.writebacks_0 0 # number of writebacks
system.cpu.icache.writebacks_1 0 # number of writebacks
-system.cpu.idleCycles 2043018 # Total number of cycles that the CPU has spent unscheduled due to idling
-system.cpu.iew.EXEC:branches 4024 # Number of branches executed
-system.cpu.iew.EXEC:branches_0 1569 # Number of branches executed
-system.cpu.iew.EXEC:branches_1 2455 # Number of branches executed
+system.cpu.idleCycles 1929477 # Total number of cycles that the CPU has spent unscheduled due to idling
+system.cpu.iew.EXEC:branches 2535 # Number of branches executed
+system.cpu.iew.EXEC:branches_0 1269 # Number of branches executed
+system.cpu.iew.EXEC:branches_1 1266 # Number of branches executed
system.cpu.iew.EXEC:nop 84 # number of nop insts executed
system.cpu.iew.EXEC:nop_0 42 # number of nop insts executed
system.cpu.iew.EXEC:nop_1 42 # number of nop insts executed
-system.cpu.iew.EXEC:rate 0.144523 # Inst execution rate
-system.cpu.iew.EXEC:refs 11361 # number of memory reference insts executed
-system.cpu.iew.EXEC:refs_0 4575 # number of memory reference insts executed
-system.cpu.iew.EXEC:refs_1 6786 # number of memory reference insts executed
-system.cpu.iew.EXEC:stores 3833 # Number of stores executed
-system.cpu.iew.EXEC:stores_0 1337 # Number of stores executed
-system.cpu.iew.EXEC:stores_1 2496 # Number of stores executed
+system.cpu.iew.EXEC:rate 0.100864 # Inst execution rate
+system.cpu.iew.EXEC:refs 5422 # number of memory reference insts executed
+system.cpu.iew.EXEC:refs_0 2727 # number of memory reference insts executed
+system.cpu.iew.EXEC:refs_1 2695 # number of memory reference insts executed
+system.cpu.iew.EXEC:stores 1997 # Number of stores executed
+system.cpu.iew.EXEC:stores_0 1003 # Number of stores executed
+system.cpu.iew.EXEC:stores_1 994 # Number of stores executed
system.cpu.iew.EXEC:swp 0 # number of swp insts executed
system.cpu.iew.EXEC:swp_0 0 # number of swp insts executed
system.cpu.iew.EXEC:swp_1 0 # number of swp insts executed
-system.cpu.iew.WB:consumers 12385 # num instructions consuming a value
-system.cpu.iew.WB:consumers_0 5750 # num instructions consuming a value
-system.cpu.iew.WB:consumers_1 6635 # num instructions consuming a value
-system.cpu.iew.WB:count 22604 # cumulative count of insts written-back
-system.cpu.iew.WB:count_0 10240 # cumulative count of insts written-back
-system.cpu.iew.WB:count_1 12364 # cumulative count of insts written-back
-system.cpu.iew.WB:fanout 0.811385 # average fanout of values written-back
-system.cpu.iew.WB:fanout_0 0.800522 # average fanout of values written-back
-system.cpu.iew.WB:fanout_1 0.820799 # average fanout of values written-back
+system.cpu.iew.WB:consumers 10258 # num instructions consuming a value
+system.cpu.iew.WB:consumers_0 5162 # num instructions consuming a value
+system.cpu.iew.WB:consumers_1 5096 # num instructions consuming a value
+system.cpu.iew.WB:count 16101 # cumulative count of insts written-back
+system.cpu.iew.WB:count_0 8089 # cumulative count of insts written-back
+system.cpu.iew.WB:count_1 8012 # cumulative count of insts written-back
+system.cpu.iew.WB:fanout 0.770326 # average fanout of values written-back
+system.cpu.iew.WB:fanout_0 0.768888 # average fanout of values written-back
+system.cpu.iew.WB:fanout_1 0.771782 # average fanout of values written-back
system.cpu.iew.WB:penalized 0 # number of instrctions required to write to 'other' IQ
system.cpu.iew.WB:penalized_0 0 # number of instrctions required to write to 'other' IQ
system.cpu.iew.WB:penalized_1 0 # number of instrctions required to write to 'other' IQ
system.cpu.iew.WB:penalized_rate 0 # fraction of instructions written-back that wrote to 'other' IQ
system.cpu.iew.WB:penalized_rate_0 0 # fraction of instructions written-back that wrote to 'other' IQ
system.cpu.iew.WB:penalized_rate_1 0 # fraction of instructions written-back that wrote to 'other' IQ
-system.cpu.iew.WB:producers 10049 # num instructions producing a value
-system.cpu.iew.WB:producers_0 4603 # num instructions producing a value
-system.cpu.iew.WB:producers_1 5446 # num instructions producing a value
-system.cpu.iew.WB:rate 0.119505 # insts written-back per cycle
-system.cpu.iew.WB:rate_0 0.054138 # insts written-back per cycle
-system.cpu.iew.WB:rate_1 0.065367 # insts written-back per cycle
-system.cpu.iew.WB:sent 22763 # cumulative count of insts sent to commit
-system.cpu.iew.WB:sent_0 10322 # cumulative count of insts sent to commit
-system.cpu.iew.WB:sent_1 12441 # cumulative count of insts sent to commit
-system.cpu.iew.branchMispredicts 1027 # Number of branch mispredicts detected at execute
-system.cpu.iew.iewBlockCycles 60103 # Number of cycles IEW is blocking
-system.cpu.iew.iewDispLoadInsts 8942 # Number of dispatched load instructions
+system.cpu.iew.WB:producers 7902 # num instructions producing a value
+system.cpu.iew.WB:producers_0 3969 # num instructions producing a value
+system.cpu.iew.WB:producers_1 3933 # num instructions producing a value
+system.cpu.iew.WB:rate 0.097177 # insts written-back per cycle
+system.cpu.iew.WB:rate_0 0.048821 # insts written-back per cycle
+system.cpu.iew.WB:rate_1 0.048356 # insts written-back per cycle
+system.cpu.iew.WB:sent 16249 # cumulative count of insts sent to commit
+system.cpu.iew.WB:sent_0 8166 # cumulative count of insts sent to commit
+system.cpu.iew.WB:sent_1 8083 # cumulative count of insts sent to commit
+system.cpu.iew.branchMispredicts 1031 # Number of branch mispredicts detected at execute
+system.cpu.iew.iewBlockCycles 84087 # Number of cycles IEW is blocking
+system.cpu.iew.iewDispLoadInsts 4274 # Number of dispatched load instructions
system.cpu.iew.iewDispNonSpecInsts 41 # Number of dispatched non-speculative instructions
-system.cpu.iew.iewDispSquashedInsts 5344 # Number of squashed instructions skipped by dispatch
-system.cpu.iew.iewDispStoreInsts 6219 # Number of dispatched store instructions
-system.cpu.iew.iewDispatchedInsts 40858 # Number of instructions dispatched to IQ
-system.cpu.iew.iewExecLoadInsts 7528 # Number of load instructions executed
-system.cpu.iew.iewExecLoadInsts_0 3238 # Number of load instructions executed
-system.cpu.iew.iewExecLoadInsts_1 4290 # Number of load instructions executed
-system.cpu.iew.iewExecSquashedInsts 872 # Number of squashed instructions skipped in execute
-system.cpu.iew.iewExecutedInsts 27336 # Number of executed instructions
-system.cpu.iew.iewIQFullEvents 45 # Number of times the IQ has become full, causing a stall
+system.cpu.iew.iewDispSquashedInsts 468 # Number of squashed instructions skipped by dispatch
+system.cpu.iew.iewDispStoreInsts 2288 # Number of dispatched store instructions
+system.cpu.iew.iewDispatchedInsts 20693 # Number of instructions dispatched to IQ
+system.cpu.iew.iewExecLoadInsts 3425 # Number of load instructions executed
+system.cpu.iew.iewExecLoadInsts_0 1724 # Number of load instructions executed
+system.cpu.iew.iewExecLoadInsts_1 1701 # Number of load instructions executed
+system.cpu.iew.iewExecSquashedInsts 741 # Number of squashed instructions skipped in execute
+system.cpu.iew.iewExecutedInsts 16712 # Number of executed instructions
+system.cpu.iew.iewIQFullEvents 57 # Number of times the IQ has become full, causing a stall
system.cpu.iew.iewIdleCycles 0 # Number of cycles IEW is idle
system.cpu.iew.iewLSQFullEvents 4 # Number of times the LSQ has become full, causing a stall
-system.cpu.iew.iewSquashCycles 5733 # Number of cycles IEW is squashing
-system.cpu.iew.iewUnblockCycles 122 # Number of cycles IEW is unblocking
+system.cpu.iew.iewSquashCycles 1856 # Number of cycles IEW is squashing
+system.cpu.iew.iewUnblockCycles 131 # Number of cycles IEW is unblocking
system.cpu.iew.lsq.thread.0.blockedLoads 0 # Number of blocked loads due to partial load-store forwarding
-system.cpu.iew.lsq.thread.0.cacheBlocked 1584 # Number of times an access to memory failed due to the cache being blocked
-system.cpu.iew.lsq.thread.0.forwLoads 65 # Number of loads that had data forwarded from stores
+system.cpu.iew.lsq.thread.0.cacheBlocked 0 # Number of times an access to memory failed due to the cache being blocked
+system.cpu.iew.lsq.thread.0.forwLoads 70 # Number of loads that had data forwarded from stores
system.cpu.iew.lsq.thread.0.ignoredResponses 10 # Number of memory responses ignored because the instruction is squashed
system.cpu.iew.lsq.thread.0.invAddrLoads 0 # Number of loads ignored due to an invalid address
system.cpu.iew.lsq.thread.0.invAddrSwpfs 0 # Number of software prefetches ignored due to an invalid address
-system.cpu.iew.lsq.thread.0.memOrderViolation 56 # Number of memory ordering violations
+system.cpu.iew.lsq.thread.0.memOrderViolation 60 # Number of memory ordering violations
system.cpu.iew.lsq.thread.0.rescheduledLoads 1 # Number of loads that were rescheduled
-system.cpu.iew.lsq.thread.0.squashedLoads 2678 # Number of loads squashed
-system.cpu.iew.lsq.thread.0.squashedStores 968 # Number of stores squashed
+system.cpu.iew.lsq.thread.0.squashedLoads 1153 # Number of loads squashed
+system.cpu.iew.lsq.thread.0.squashedStores 338 # Number of stores squashed
system.cpu.iew.lsq.thread.1.blockedLoads 0 # Number of blocked loads due to partial load-store forwarding
-system.cpu.iew.lsq.thread.1.cacheBlocked 2643 # Number of times an access to memory failed due to the cache being blocked
-system.cpu.iew.lsq.thread.1.forwLoads 67 # Number of loads that had data forwarded from stores
-system.cpu.iew.lsq.thread.1.ignoredResponses 7 # Number of memory responses ignored because the instruction is squashed
+system.cpu.iew.lsq.thread.1.cacheBlocked 0 # Number of times an access to memory failed due to the cache being blocked
+system.cpu.iew.lsq.thread.1.forwLoads 65 # Number of loads that had data forwarded from stores
+system.cpu.iew.lsq.thread.1.ignoredResponses 12 # Number of memory responses ignored because the instruction is squashed
system.cpu.iew.lsq.thread.1.invAddrLoads 0 # Number of loads ignored due to an invalid address
system.cpu.iew.lsq.thread.1.invAddrSwpfs 0 # Number of software prefetches ignored due to an invalid address
-system.cpu.iew.lsq.thread.1.memOrderViolation 54 # Number of memory ordering violations
+system.cpu.iew.lsq.thread.1.memOrderViolation 59 # Number of memory ordering violations
system.cpu.iew.lsq.thread.1.rescheduledLoads 1 # Number of loads that were rescheduled
-system.cpu.iew.lsq.thread.1.squashedLoads 4306 # Number of loads squashed
-system.cpu.iew.lsq.thread.1.squashedStores 3627 # Number of stores squashed
-system.cpu.iew.memOrderViolationEvents 110 # Number of memory order violations
-system.cpu.iew.predictedNotTakenIncorrect 796 # Number of branches that were predicted not taken incorrectly
-system.cpu.iew.predictedTakenIncorrect 231 # Number of branches that were predicted taken incorrectly
-system.cpu.ipc_0 0.002520 # IPC: Instructions Per Cycle
-system.cpu.ipc_1 0.002519 # IPC: Instructions Per Cycle
-system.cpu.ipc_total 0.005039 # IPC: Total IPC of All Threads
-system.cpu.iq.ISSUE:FU_type_0 12578 # Type of FU issued
+system.cpu.iew.lsq.thread.1.squashedLoads 1163 # Number of loads squashed
+system.cpu.iew.lsq.thread.1.squashedStores 326 # Number of stores squashed
+system.cpu.iew.memOrderViolationEvents 119 # Number of memory order violations
+system.cpu.iew.predictedNotTakenIncorrect 791 # Number of branches that were predicted not taken incorrectly
+system.cpu.iew.predictedTakenIncorrect 240 # Number of branches that were predicted taken incorrectly
+system.cpu.ipc_0 0.002684 # IPC: Instructions Per Cycle
+system.cpu.ipc_1 0.002684 # IPC: Instructions Per Cycle
+system.cpu.ipc_total 0.005368 # IPC: Total IPC of All Threads
+system.cpu.iq.ISSUE:FU_type_0 8768 # Type of FU issued
system.cpu.iq.ISSUE:FU_type_0.start_dist
(null) 2 0.02% # Type of FU issued
- IntAlu 7865 62.53% # Type of FU issued
+ IntAlu 5895 67.23% # Type of FU issued
IntMult 1 0.01% # Type of FU issued
IntDiv 0 0.00% # Type of FU issued
FloatAdd 2 0.02% # Type of FU issued
@@ -487,54 +487,54 @@ system.cpu.iq.ISSUE:FU_type_0.start_dist
FloatMult 0 0.00% # Type of FU issued
FloatDiv 0 0.00% # Type of FU issued
FloatSqrt 0 0.00% # Type of FU issued
- MemRead 3344 26.59% # Type of FU issued
- MemWrite 1364 10.84% # Type of FU issued
+ MemRead 1838 20.96% # Type of FU issued
+ MemWrite 1030 11.75% # Type of FU issued
IprAccess 0 0.00% # Type of FU issued
InstPrefetch 0 0.00% # Type of FU issued
system.cpu.iq.ISSUE:FU_type_0.end_dist
-system.cpu.iq.ISSUE:FU_type_1 15630 # Type of FU issued
+system.cpu.iq.ISSUE:FU_type_1 8685 # Type of FU issued
system.cpu.iq.ISSUE:FU_type_1.start_dist
- (null) 2 0.01% # Type of FU issued
- IntAlu 8707 55.71% # Type of FU issued
+ (null) 2 0.02% # Type of FU issued
+ IntAlu 5859 67.46% # Type of FU issued
IntMult 1 0.01% # Type of FU issued
IntDiv 0 0.00% # Type of FU issued
- FloatAdd 2 0.01% # Type of FU issued
+ FloatAdd 2 0.02% # Type of FU issued
FloatCmp 0 0.00% # Type of FU issued
FloatCvt 0 0.00% # Type of FU issued
FloatMult 0 0.00% # Type of FU issued
FloatDiv 0 0.00% # Type of FU issued
FloatSqrt 0 0.00% # Type of FU issued
- MemRead 4394 28.11% # Type of FU issued
- MemWrite 2524 16.15% # Type of FU issued
+ MemRead 1800 20.73% # Type of FU issued
+ MemWrite 1021 11.76% # Type of FU issued
IprAccess 0 0.00% # Type of FU issued
InstPrefetch 0 0.00% # Type of FU issued
system.cpu.iq.ISSUE:FU_type_1.end_dist
-system.cpu.iq.ISSUE:FU_type 28208 # Type of FU issued
+system.cpu.iq.ISSUE:FU_type 17453 # Type of FU issued
system.cpu.iq.ISSUE:FU_type.start_dist
- (null) 4 0.01% # Type of FU issued
- IntAlu 16572 58.75% # Type of FU issued
+ (null) 4 0.02% # Type of FU issued
+ IntAlu 11754 67.35% # Type of FU issued
IntMult 2 0.01% # Type of FU issued
IntDiv 0 0.00% # Type of FU issued
- FloatAdd 4 0.01% # Type of FU issued
+ FloatAdd 4 0.02% # Type of FU issued
FloatCmp 0 0.00% # Type of FU issued
FloatCvt 0 0.00% # Type of FU issued
FloatMult 0 0.00% # Type of FU issued
FloatDiv 0 0.00% # Type of FU issued
FloatSqrt 0 0.00% # Type of FU issued
- MemRead 7738 27.43% # Type of FU issued
- MemWrite 3888 13.78% # Type of FU issued
+ MemRead 3638 20.84% # Type of FU issued
+ MemWrite 2051 11.75% # Type of FU issued
IprAccess 0 0.00% # Type of FU issued
InstPrefetch 0 0.00% # Type of FU issued
system.cpu.iq.ISSUE:FU_type.end_dist
-system.cpu.iq.ISSUE:fu_busy_cnt 149 # FU busy when requested
-system.cpu.iq.ISSUE:fu_busy_cnt_0 72 # FU busy when requested
-system.cpu.iq.ISSUE:fu_busy_cnt_1 77 # FU busy when requested
-system.cpu.iq.ISSUE:fu_busy_rate 0.005282 # FU busy rate (busy events/executed inst)
-system.cpu.iq.ISSUE:fu_busy_rate_0 0.002552 # FU busy rate (busy events/executed inst)
-system.cpu.iq.ISSUE:fu_busy_rate_1 0.002730 # FU busy rate (busy events/executed inst)
+system.cpu.iq.ISSUE:fu_busy_cnt 133 # FU busy when requested
+system.cpu.iq.ISSUE:fu_busy_cnt_0 69 # FU busy when requested
+system.cpu.iq.ISSUE:fu_busy_cnt_1 64 # FU busy when requested
+system.cpu.iq.ISSUE:fu_busy_rate 0.007620 # FU busy rate (busy events/executed inst)
+system.cpu.iq.ISSUE:fu_busy_rate_0 0.003953 # FU busy rate (busy events/executed inst)
+system.cpu.iq.ISSUE:fu_busy_rate_1 0.003667 # FU busy rate (busy events/executed inst)
system.cpu.iq.ISSUE:fu_full.start_dist
(null) 0 0.00% # attempts to use FU when none available
- IntAlu 1 0.67% # attempts to use FU when none available
+ IntAlu 0 0.00% # attempts to use FU when none available
IntMult 0 0.00% # attempts to use FU when none available
IntDiv 0 0.00% # attempts to use FU when none available
FloatAdd 0 0.00% # attempts to use FU when none available
@@ -543,52 +543,52 @@ system.cpu.iq.ISSUE:fu_full.start_dist
FloatMult 0 0.00% # attempts to use FU when none available
FloatDiv 0 0.00% # attempts to use FU when none available
FloatSqrt 0 0.00% # attempts to use FU when none available
- MemRead 83 55.70% # attempts to use FU when none available
- MemWrite 65 43.62% # attempts to use FU when none available
+ MemRead 79 59.40% # attempts to use FU when none available
+ MemWrite 54 40.60% # attempts to use FU when none available
IprAccess 0 0.00% # attempts to use FU when none available
InstPrefetch 0 0.00% # attempts to use FU when none available
system.cpu.iq.ISSUE:fu_full.end_dist
system.cpu.iq.ISSUE:issued_per_cycle.start_dist # Number of insts issued each cycle
-system.cpu.iq.ISSUE:issued_per_cycle.samples 189147
+system.cpu.iq.ISSUE:issued_per_cycle.samples 165688
system.cpu.iq.ISSUE:issued_per_cycle.min_value 0
- 0 174626 9232.29%
- 1 7072 373.89%
- 2 3403 179.91%
- 3 2709 143.22%
- 4 713 37.70%
- 5 443 23.42%
- 6 143 7.56%
- 7 26 1.37%
- 8 12 0.63%
+ 0 156701 9457.59%
+ 1 4387 264.77%
+ 2 2473 149.26%
+ 3 1076 64.94%
+ 4 569 34.34%
+ 5 325 19.62%
+ 6 120 7.24%
+ 7 25 1.51%
+ 8 12 0.72%
system.cpu.iq.ISSUE:issued_per_cycle.max_value 8
system.cpu.iq.ISSUE:issued_per_cycle.end_dist
-system.cpu.iq.ISSUE:rate 0.149133 # Inst issue rate
-system.cpu.iq.iqInstsAdded 40733 # Number of instructions added to the IQ (excludes non-spec)
-system.cpu.iq.iqInstsIssued 28208 # Number of instructions issued
+system.cpu.iq.ISSUE:rate 0.105337 # Inst issue rate
+system.cpu.iq.iqInstsAdded 20568 # Number of instructions added to the IQ (excludes non-spec)
+system.cpu.iq.iqInstsIssued 17453 # Number of instructions issued
system.cpu.iq.iqNonSpecInstsAdded 41 # Number of non-speculative instructions added to the IQ
-system.cpu.iq.iqSquashedInstsExamined 28495 # Number of squashed instructions iterated over during squash; mainly for profiling
-system.cpu.iq.iqSquashedInstsIssued 192 # Number of squashed instructions issued
+system.cpu.iq.iqSquashedInstsExamined 8303 # Number of squashed instructions iterated over during squash; mainly for profiling
+system.cpu.iq.iqSquashedInstsIssued 214 # Number of squashed instructions issued
system.cpu.iq.iqSquashedNonSpecRemoved 7 # Number of squashed non-spec instructions that were removed
-system.cpu.iq.iqSquashedOperandsExamined 21369 # Number of squashed operands that are examined and possibly removed from graph
-system.cpu.l2cache.ReadReq_accesses 970 # number of ReadReq accesses(hits+misses)
-system.cpu.l2cache.ReadReq_accesses_0 970 # number of ReadReq accesses(hits+misses)
-system.cpu.l2cache.ReadReq_avg_miss_latency 6748.795876 # average ReadReq miss latency
-system.cpu.l2cache.ReadReq_avg_miss_latency_0 6748.795876 # average ReadReq miss latency
-system.cpu.l2cache.ReadReq_avg_mshr_miss_latency 3604.818557 # average ReadReq mshr miss latency
-system.cpu.l2cache.ReadReq_avg_mshr_miss_latency_0 3604.818557 # average ReadReq mshr miss latency
-system.cpu.l2cache.ReadReq_miss_latency 6546332 # number of ReadReq miss cycles
-system.cpu.l2cache.ReadReq_miss_latency_0 6546332 # number of ReadReq miss cycles
+system.cpu.iq.iqSquashedOperandsExamined 4870 # Number of squashed operands that are examined and possibly removed from graph
+system.cpu.l2cache.ReadReq_accesses 968 # number of ReadReq accesses(hits+misses)
+system.cpu.l2cache.ReadReq_accesses_0 968 # number of ReadReq accesses(hits+misses)
+system.cpu.l2cache.ReadReq_avg_miss_latency 7151.675620 # average ReadReq miss latency
+system.cpu.l2cache.ReadReq_avg_miss_latency_0 7151.675620 # average ReadReq miss latency
+system.cpu.l2cache.ReadReq_avg_mshr_miss_latency 3855.918388 # average ReadReq mshr miss latency
+system.cpu.l2cache.ReadReq_avg_mshr_miss_latency_0 3855.918388 # average ReadReq mshr miss latency
+system.cpu.l2cache.ReadReq_miss_latency 6922822 # number of ReadReq miss cycles
+system.cpu.l2cache.ReadReq_miss_latency_0 6922822 # number of ReadReq miss cycles
system.cpu.l2cache.ReadReq_miss_rate 1 # miss rate for ReadReq accesses
system.cpu.l2cache.ReadReq_miss_rate_0 1 # miss rate for ReadReq accesses
-system.cpu.l2cache.ReadReq_misses 970 # number of ReadReq misses
-system.cpu.l2cache.ReadReq_misses_0 970 # number of ReadReq misses
-system.cpu.l2cache.ReadReq_mshr_miss_latency 3496674 # number of ReadReq MSHR miss cycles
-system.cpu.l2cache.ReadReq_mshr_miss_latency_0 3496674 # number of ReadReq MSHR miss cycles
+system.cpu.l2cache.ReadReq_misses 968 # number of ReadReq misses
+system.cpu.l2cache.ReadReq_misses_0 968 # number of ReadReq misses
+system.cpu.l2cache.ReadReq_mshr_miss_latency 3732529 # number of ReadReq MSHR miss cycles
+system.cpu.l2cache.ReadReq_mshr_miss_latency_0 3732529 # number of ReadReq MSHR miss cycles
system.cpu.l2cache.ReadReq_mshr_miss_rate 1 # mshr miss rate for ReadReq accesses
system.cpu.l2cache.ReadReq_mshr_miss_rate_0 1 # mshr miss rate for ReadReq accesses
-system.cpu.l2cache.ReadReq_mshr_misses 970 # number of ReadReq MSHR misses
-system.cpu.l2cache.ReadReq_mshr_misses_0 970 # number of ReadReq MSHR misses
+system.cpu.l2cache.ReadReq_mshr_misses 968 # number of ReadReq MSHR misses
+system.cpu.l2cache.ReadReq_mshr_misses_0 968 # number of ReadReq MSHR misses
system.cpu.l2cache.avg_blocked_cycles_no_mshrs <err: div-0> # average number of cycles each access was blocked
system.cpu.l2cache.avg_blocked_cycles_no_targets <err: div-0> # average number of cycles each access was blocked
system.cpu.l2cache.avg_refs 0 # Average number of references to valid blocks.
@@ -597,52 +597,52 @@ system.cpu.l2cache.blocked_no_targets 0 # nu
system.cpu.l2cache.blocked_cycles_no_mshrs 0 # number of cycles access was blocked
system.cpu.l2cache.blocked_cycles_no_targets 0 # number of cycles access was blocked
system.cpu.l2cache.cache_copies 0 # number of cache copies performed
-system.cpu.l2cache.demand_accesses 970 # number of demand (read+write) accesses
-system.cpu.l2cache.demand_accesses_0 970 # number of demand (read+write) accesses
+system.cpu.l2cache.demand_accesses 968 # number of demand (read+write) accesses
+system.cpu.l2cache.demand_accesses_0 968 # number of demand (read+write) accesses
system.cpu.l2cache.demand_accesses_1 0 # number of demand (read+write) accesses
-system.cpu.l2cache.demand_avg_miss_latency 6748.795876 # average overall miss latency
-system.cpu.l2cache.demand_avg_miss_latency_0 6748.795876 # average overall miss latency
+system.cpu.l2cache.demand_avg_miss_latency 7151.675620 # average overall miss latency
+system.cpu.l2cache.demand_avg_miss_latency_0 7151.675620 # average overall miss latency
system.cpu.l2cache.demand_avg_miss_latency_1 <err: div-0> # average overall miss latency
-system.cpu.l2cache.demand_avg_mshr_miss_latency 3604.818557 # average overall mshr miss latency
-system.cpu.l2cache.demand_avg_mshr_miss_latency_0 3604.818557 # average overall mshr miss latency
+system.cpu.l2cache.demand_avg_mshr_miss_latency 3855.918388 # average overall mshr miss latency
+system.cpu.l2cache.demand_avg_mshr_miss_latency_0 3855.918388 # average overall mshr miss latency
system.cpu.l2cache.demand_avg_mshr_miss_latency_1 <err: div-0> # average overall mshr miss latency
system.cpu.l2cache.demand_hits 0 # number of demand (read+write) hits
system.cpu.l2cache.demand_hits_0 0 # number of demand (read+write) hits
system.cpu.l2cache.demand_hits_1 0 # number of demand (read+write) hits
-system.cpu.l2cache.demand_miss_latency 6546332 # number of demand (read+write) miss cycles
-system.cpu.l2cache.demand_miss_latency_0 6546332 # number of demand (read+write) miss cycles
+system.cpu.l2cache.demand_miss_latency 6922822 # number of demand (read+write) miss cycles
+system.cpu.l2cache.demand_miss_latency_0 6922822 # number of demand (read+write) miss cycles
system.cpu.l2cache.demand_miss_latency_1 0 # number of demand (read+write) miss cycles
system.cpu.l2cache.demand_miss_rate 1 # miss rate for demand accesses
system.cpu.l2cache.demand_miss_rate_0 1 # miss rate for demand accesses
system.cpu.l2cache.demand_miss_rate_1 <err: div-0> # miss rate for demand accesses
-system.cpu.l2cache.demand_misses 970 # number of demand (read+write) misses
-system.cpu.l2cache.demand_misses_0 970 # number of demand (read+write) misses
+system.cpu.l2cache.demand_misses 968 # number of demand (read+write) misses
+system.cpu.l2cache.demand_misses_0 968 # number of demand (read+write) misses
system.cpu.l2cache.demand_misses_1 0 # number of demand (read+write) misses
system.cpu.l2cache.demand_mshr_hits 0 # number of demand (read+write) MSHR hits
system.cpu.l2cache.demand_mshr_hits_0 0 # number of demand (read+write) MSHR hits
system.cpu.l2cache.demand_mshr_hits_1 0 # number of demand (read+write) MSHR hits
-system.cpu.l2cache.demand_mshr_miss_latency 3496674 # number of demand (read+write) MSHR miss cycles
-system.cpu.l2cache.demand_mshr_miss_latency_0 3496674 # number of demand (read+write) MSHR miss cycles
+system.cpu.l2cache.demand_mshr_miss_latency 3732529 # number of demand (read+write) MSHR miss cycles
+system.cpu.l2cache.demand_mshr_miss_latency_0 3732529 # number of demand (read+write) MSHR miss cycles
system.cpu.l2cache.demand_mshr_miss_latency_1 0 # number of demand (read+write) MSHR miss cycles
system.cpu.l2cache.demand_mshr_miss_rate 1 # mshr miss rate for demand accesses
system.cpu.l2cache.demand_mshr_miss_rate_0 1 # mshr miss rate for demand accesses
system.cpu.l2cache.demand_mshr_miss_rate_1 <err: div-0> # mshr miss rate for demand accesses
-system.cpu.l2cache.demand_mshr_misses 970 # number of demand (read+write) MSHR misses
-system.cpu.l2cache.demand_mshr_misses_0 970 # number of demand (read+write) MSHR misses
+system.cpu.l2cache.demand_mshr_misses 968 # number of demand (read+write) MSHR misses
+system.cpu.l2cache.demand_mshr_misses_0 968 # number of demand (read+write) MSHR misses
system.cpu.l2cache.demand_mshr_misses_1 0 # number of demand (read+write) MSHR misses
system.cpu.l2cache.fast_writes 0 # number of fast writes performed
system.cpu.l2cache.mshr_cap_events 0 # number of times MSHR cap was activated
system.cpu.l2cache.mshr_cap_events_0 0 # number of times MSHR cap was activated
system.cpu.l2cache.mshr_cap_events_1 0 # number of times MSHR cap was activated
system.cpu.l2cache.no_allocate_misses 0 # Number of misses that were no-allocate
-system.cpu.l2cache.overall_accesses 970 # number of overall (read+write) accesses
-system.cpu.l2cache.overall_accesses_0 970 # number of overall (read+write) accesses
+system.cpu.l2cache.overall_accesses 968 # number of overall (read+write) accesses
+system.cpu.l2cache.overall_accesses_0 968 # number of overall (read+write) accesses
system.cpu.l2cache.overall_accesses_1 0 # number of overall (read+write) accesses
-system.cpu.l2cache.overall_avg_miss_latency 6748.795876 # average overall miss latency
-system.cpu.l2cache.overall_avg_miss_latency_0 6748.795876 # average overall miss latency
+system.cpu.l2cache.overall_avg_miss_latency 7151.675620 # average overall miss latency
+system.cpu.l2cache.overall_avg_miss_latency_0 7151.675620 # average overall miss latency
system.cpu.l2cache.overall_avg_miss_latency_1 <err: div-0> # average overall miss latency
-system.cpu.l2cache.overall_avg_mshr_miss_latency 3604.818557 # average overall mshr miss latency
-system.cpu.l2cache.overall_avg_mshr_miss_latency_0 3604.818557 # average overall mshr miss latency
+system.cpu.l2cache.overall_avg_mshr_miss_latency 3855.918388 # average overall mshr miss latency
+system.cpu.l2cache.overall_avg_mshr_miss_latency_0 3855.918388 # average overall mshr miss latency
system.cpu.l2cache.overall_avg_mshr_miss_latency_1 <err: div-0> # average overall mshr miss latency
system.cpu.l2cache.overall_avg_mshr_uncacheable_latency <err: div-0> # average overall mshr uncacheable latency
system.cpu.l2cache.overall_avg_mshr_uncacheable_latency_0 <err: div-0> # average overall mshr uncacheable latency
@@ -650,26 +650,26 @@ system.cpu.l2cache.overall_avg_mshr_uncacheable_latency_1 <err: div-0>
system.cpu.l2cache.overall_hits 0 # number of overall hits
system.cpu.l2cache.overall_hits_0 0 # number of overall hits
system.cpu.l2cache.overall_hits_1 0 # number of overall hits
-system.cpu.l2cache.overall_miss_latency 6546332 # number of overall miss cycles
-system.cpu.l2cache.overall_miss_latency_0 6546332 # number of overall miss cycles
+system.cpu.l2cache.overall_miss_latency 6922822 # number of overall miss cycles
+system.cpu.l2cache.overall_miss_latency_0 6922822 # number of overall miss cycles
system.cpu.l2cache.overall_miss_latency_1 0 # number of overall miss cycles
system.cpu.l2cache.overall_miss_rate 1 # miss rate for overall accesses
system.cpu.l2cache.overall_miss_rate_0 1 # miss rate for overall accesses
system.cpu.l2cache.overall_miss_rate_1 <err: div-0> # miss rate for overall accesses
-system.cpu.l2cache.overall_misses 970 # number of overall misses
-system.cpu.l2cache.overall_misses_0 970 # number of overall misses
+system.cpu.l2cache.overall_misses 968 # number of overall misses
+system.cpu.l2cache.overall_misses_0 968 # number of overall misses
system.cpu.l2cache.overall_misses_1 0 # number of overall misses
system.cpu.l2cache.overall_mshr_hits 0 # number of overall MSHR hits
system.cpu.l2cache.overall_mshr_hits_0 0 # number of overall MSHR hits
system.cpu.l2cache.overall_mshr_hits_1 0 # number of overall MSHR hits
-system.cpu.l2cache.overall_mshr_miss_latency 3496674 # number of overall MSHR miss cycles
-system.cpu.l2cache.overall_mshr_miss_latency_0 3496674 # number of overall MSHR miss cycles
+system.cpu.l2cache.overall_mshr_miss_latency 3732529 # number of overall MSHR miss cycles
+system.cpu.l2cache.overall_mshr_miss_latency_0 3732529 # number of overall MSHR miss cycles
system.cpu.l2cache.overall_mshr_miss_latency_1 0 # number of overall MSHR miss cycles
system.cpu.l2cache.overall_mshr_miss_rate 1 # mshr miss rate for overall accesses
system.cpu.l2cache.overall_mshr_miss_rate_0 1 # mshr miss rate for overall accesses
system.cpu.l2cache.overall_mshr_miss_rate_1 <err: div-0> # mshr miss rate for overall accesses
-system.cpu.l2cache.overall_mshr_misses 970 # number of overall MSHR misses
-system.cpu.l2cache.overall_mshr_misses_0 970 # number of overall MSHR misses
+system.cpu.l2cache.overall_mshr_misses 968 # number of overall MSHR misses
+system.cpu.l2cache.overall_mshr_misses_0 968 # number of overall MSHR misses
system.cpu.l2cache.overall_mshr_misses_1 0 # number of overall MSHR misses
system.cpu.l2cache.overall_mshr_uncacheable_latency 0 # number of overall MSHR uncacheable cycles
system.cpu.l2cache.overall_mshr_uncacheable_latency_0 0 # number of overall MSHR uncacheable cycles
@@ -689,35 +689,35 @@ system.cpu.l2cache.prefetcher.num_hwpf_squashed_from_miss 0
system.cpu.l2cache.replacements 0 # number of replacements
system.cpu.l2cache.replacements_0 0 # number of replacements
system.cpu.l2cache.replacements_1 0 # number of replacements
-system.cpu.l2cache.sampled_refs 969 # Sample count of references to valid blocks.
+system.cpu.l2cache.sampled_refs 968 # Sample count of references to valid blocks.
system.cpu.l2cache.soft_prefetch_mshr_full 0 # number of mshr full events for SW prefetching instrutions
system.cpu.l2cache.soft_prefetch_mshr_full_0 0 # number of mshr full events for SW prefetching instrutions
system.cpu.l2cache.soft_prefetch_mshr_full_1 0 # number of mshr full events for SW prefetching instrutions
-system.cpu.l2cache.tagsinuse 487.752870 # Cycle average of tags in use
+system.cpu.l2cache.tagsinuse 491.189820 # Cycle average of tags in use
system.cpu.l2cache.total_refs 0 # Total number of references to valid blocks.
system.cpu.l2cache.warmup_cycle 0 # Cycle when the warmup percentage was hit.
system.cpu.l2cache.writebacks 0 # number of writebacks
system.cpu.l2cache.writebacks_0 0 # number of writebacks
system.cpu.l2cache.writebacks_1 0 # number of writebacks
-system.cpu.numCycles 189147 # number of cpu cycles simulated
-system.cpu.rename.RENAME:BlockCycles 73147 # Number of cycles rename is blocking
+system.cpu.numCycles 165688 # number of cpu cycles simulated
+system.cpu.rename.RENAME:BlockCycles 87802 # Number of cycles rename is blocking
system.cpu.rename.RENAME:CommittedMaps 8102 # Number of HB maps that are committed
system.cpu.rename.RENAME:IQFullEvents 24 # Number of times rename has blocked due to IQ full
-system.cpu.rename.RENAME:IdleCycles 265134 # Number of cycles rename is idle
-system.cpu.rename.RENAME:LSQFullEvents 2520 # Number of times rename has blocked due to LSQ full
-system.cpu.rename.RENAME:ROBFullEvents 31 # Number of times rename has blocked due to ROB full
-system.cpu.rename.RENAME:RenameLookups 74254 # Number of register rename lookups that rename has made
-system.cpu.rename.RENAME:RenamedInsts 61970 # Number of instructions processed by rename
-system.cpu.rename.RENAME:RenamedOperands 45003 # Number of destination operands rename has renamed
-system.cpu.rename.RENAME:RunCycles 11202 # Number of cycles rename is running
-system.cpu.rename.RENAME:SquashCycles 5733 # Number of cycles rename is squashing
-system.cpu.rename.RENAME:UnblockCycles 2584 # Number of cycles rename is unblocking
-system.cpu.rename.RENAME:UndoneMaps 36901 # Number of HB maps that are undone due to squashing
-system.cpu.rename.RENAME:serializeStallCycles 20319 # count of cycles rename stalled for serializing inst
-system.cpu.rename.RENAME:serializingInsts 49 # count of serializing insts renamed
-system.cpu.rename.RENAME:skidInsts 5114 # count of insts added to the skid buffer
+system.cpu.rename.RENAME:IdleCycles 213369 # Number of cycles rename is idle
+system.cpu.rename.RENAME:LSQFullEvents 2127 # Number of times rename has blocked due to LSQ full
+system.cpu.rename.RENAME:ROBFullEvents 18 # Number of times rename has blocked due to ROB full
+system.cpu.rename.RENAME:RenameLookups 28570 # Number of register rename lookups that rename has made
+system.cpu.rename.RENAME:RenamedInsts 22635 # Number of instructions processed by rename
+system.cpu.rename.RENAME:RenamedOperands 17117 # Number of destination operands rename has renamed
+system.cpu.rename.RENAME:RunCycles 3694 # Number of cycles rename is running
+system.cpu.rename.RENAME:SquashCycles 1856 # Number of cycles rename is squashing
+system.cpu.rename.RENAME:UnblockCycles 2143 # Number of cycles rename is unblocking
+system.cpu.rename.RENAME:UndoneMaps 9015 # Number of HB maps that are undone due to squashing
+system.cpu.rename.RENAME:serializeStallCycles 22337 # count of cycles rename stalled for serializing inst
+system.cpu.rename.RENAME:serializingInsts 51 # count of serializing insts renamed
+system.cpu.rename.RENAME:skidInsts 4330 # count of insts added to the skid buffer
system.cpu.rename.RENAME:tempSerializingInsts 37 # count of temporary serializing insts renamed
-system.cpu.timesIdled 691 # Number of times that the entire CPU went into an idle state and unscheduled itself
+system.cpu.timesIdled 688 # Number of times that the entire CPU went into an idle state and unscheduled itself
system.cpu.workload0.PROG:num_syscalls 17 # Number of system calls
system.cpu.workload1.PROG:num_syscalls 17 # Number of system calls
diff --git a/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/stderr b/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/stderr
index d8ccd6207..54505c240 100644
--- a/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/stderr
+++ b/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/stderr
@@ -1,5 +1,5 @@
-0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
-0: system.remote_gdb.listener: listening for remote gdb #1 on port 7001
+0: system.remote_gdb.listener: listening for remote gdb on port 7001
+0: system.remote_gdb.listener: listening for remote gdb on port 7002
warn: Entering event queue @ 0. Starting simulation...
warn: Increasing stack size by one page.
warn: Increasing stack size by one page.
diff --git a/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/stdout b/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/stdout
index 30a45522d..b4ae56cae 100644
--- a/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/stdout
+++ b/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/stdout
@@ -7,9 +7,9 @@ The Regents of The University of Michigan
All Rights Reserved
-M5 compiled Mar 24 2007 13:51:02
-M5 started Sat Mar 24 13:51:16 2007
-M5 executing on zizzer.eecs.umich.edu
-command line: build/ALPHA_SE/m5.opt -d build/ALPHA_SE/tests/opt/quick/01.hello-2T-smt/alpha/linux/o3-timing tests/run.py quick/01.hello-2T-smt/alpha/linux/o3-timing
+M5 compiled Mar 30 2007 13:12:55
+M5 started Fri Mar 30 13:13:07 2007
+M5 executing on zamp.eecs.umich.edu
+command line: build/ALPHA_SE/m5.fast -d build/ALPHA_SE/tests/fast/quick/01.hello-2T-smt/alpha/linux/o3-timing tests/run.py quick/01.hello-2T-smt/alpha/linux/o3-timing
Global frequency set at 1000000000000 ticks per second
-Exiting @ tick 2232164 because target called exit()
+Exiting @ tick 2095164 because target called exit()
diff --git a/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/config.ini b/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/config.ini
index ccb504cd3..06059c3eb 100644
--- a/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/config.ini
+++ b/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/config.ini
@@ -1,11 +1,7 @@
[root]
type=Root
children=system
-checkpoint=
-clock=1000000000000
-max_tick=0
-output_file=cout
-progress_interval=0
+dummy=0
[system]
type=System
diff --git a/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/config.out b/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/config.out
index 392fec336..7f9a83d25 100644
--- a/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/config.out
+++ b/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/config.out
@@ -1,9 +1,6 @@
[root]
type=Root
-clock=1000000000000
-max_tick=0
-progress_interval=0
-output_file=cout
+dummy=0
[system.physmem]
type=PhysicalMemory
diff --git a/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/m5stats.txt b/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/m5stats.txt
index 4fe3d3732..1ed7d50eb 100644
--- a/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/m5stats.txt
+++ b/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/m5stats.txt
@@ -1,18 +1,18 @@
---------- Begin Simulation Statistics ----------
-host_inst_rate 104057 # Simulator instruction rate (inst/s)
-host_mem_usage 179368 # Number of bytes of host memory used
-host_seconds 0.10 # Real time elapsed on the host
-host_tick_rate 103746 # Simulator tick rate (ticks/s)
+host_inst_rate 65718 # Simulator instruction rate (inst/s)
+host_mem_usage 179556 # Number of bytes of host memory used
+host_seconds 0.17 # Real time elapsed on the host
+host_tick_rate 65601 # Simulator tick rate (ticks/s)
sim_freq 1000000000000 # Frequency of simulated ticks
-sim_insts 10367 # Number of instructions simulated
+sim_insts 11001 # Number of instructions simulated
sim_seconds 0.000000 # Number of seconds simulated
-sim_ticks 10366 # Number of ticks simulated
+sim_ticks 11000 # Number of ticks simulated
system.cpu.idle_fraction 0 # Percentage of idle cycles
system.cpu.not_idle_fraction 1 # Percentage of non-idle cycles
-system.cpu.numCycles 10367 # number of cpu cycles simulated
-system.cpu.num_insts 10367 # Number of instructions executed
-system.cpu.num_refs 2607 # Number of memory references
+system.cpu.numCycles 11001 # number of cpu cycles simulated
+system.cpu.num_insts 11001 # Number of instructions executed
+system.cpu.num_refs 2760 # Number of memory references
system.cpu.workload.PROG:num_syscalls 8 # Number of system calls
---------- End Simulation Statistics ----------
diff --git a/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/stdout b/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/stdout
index 567033922..c89235e64 100644
--- a/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/stdout
+++ b/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/stdout
@@ -7,6 +7,7 @@ CASX FAIL: Passed
CASX WORK: Passed
LDTX: Passed
LDTW: Passed
+STTW: Passed
Done
M5 Simulator System
@@ -15,8 +16,9 @@ The Regents of The University of Michigan
All Rights Reserved
-M5 compiled Mar 6 2007 15:43:35
-M5 started Tue Mar 6 15:52:39 2007
+M5 compiled Mar 29 2007 15:29:35
+M5 started Thu Mar 29 15:39:35 2007
M5 executing on zeep
command line: build/SPARC_SE/m5.debug -d build/SPARC_SE/tests/debug/quick/02.insttest/sparc/linux/simple-atomic tests/run.py quick/02.insttest/sparc/linux/simple-atomic
-Exiting @ tick 10366 because target called exit()
+Global frequency set at 1000000000000 ticks per second
+Exiting @ tick 11000 because target called exit()