SPARC: Combine the 64 and 32 bit process initialization code.
Alignment is done as it was for 32 bit processes. --HG-- extra : convert_revision : 9368ad40dcc7911f8fc7ec1468c6a28aa92d196f
This commit is contained in:
parent
a84d9716d6
commit
16e99e4677
58 changed files with 546 additions and 797 deletions
|
@ -48,8 +48,8 @@ using namespace SparcISA;
|
|||
|
||||
|
||||
SparcLiveProcess::SparcLiveProcess(LiveProcessParams * params,
|
||||
ObjectFile *objFile)
|
||||
: LiveProcess(params, objFile)
|
||||
ObjectFile *objFile, Addr _StackBias)
|
||||
: LiveProcess(params, objFile), StackBias(_StackBias)
|
||||
{
|
||||
|
||||
// XXX all the below need to be updated for SPARC - Ali
|
||||
|
@ -108,23 +108,17 @@ void SparcLiveProcess::handleTrap(int trapNum, ThreadContext *tc)
|
|||
}
|
||||
|
||||
void
|
||||
Sparc32LiveProcess::startup()
|
||||
SparcLiveProcess::startup()
|
||||
{
|
||||
if (checkpointRestored)
|
||||
return;
|
||||
|
||||
argsInit(32 / 8, VMPageSize);
|
||||
Process::startup();
|
||||
|
||||
//From the SPARC ABI
|
||||
|
||||
//The process runs in user mode with 32 bit addresses
|
||||
threadContexts[0]->setMiscReg(MISCREG_PSTATE, 0x0a);
|
||||
|
||||
//Setup default FP state
|
||||
threadContexts[0]->setMiscRegNoEffect(MISCREG_FSR, 0);
|
||||
|
||||
threadContexts[0]->setMiscRegNoEffect(MISCREG_TICK, 0);
|
||||
//
|
||||
|
||||
/*
|
||||
* Register window management registers
|
||||
*/
|
||||
|
@ -158,74 +152,43 @@ Sparc32LiveProcess::startup()
|
|||
threadContexts[0]->setMiscRegNoEffect(MISCREG_MMU_LSU_CTRL, 15);
|
||||
}
|
||||
|
||||
void
|
||||
Sparc32LiveProcess::startup()
|
||||
{
|
||||
if (checkpointRestored)
|
||||
return;
|
||||
|
||||
SparcLiveProcess::startup();
|
||||
|
||||
//The process runs in user mode with 32 bit addresses
|
||||
threadContexts[0]->setMiscReg(MISCREG_PSTATE, 0x0a);
|
||||
|
||||
argsInit(32 / 8, VMPageSize);
|
||||
}
|
||||
|
||||
void
|
||||
Sparc64LiveProcess::startup()
|
||||
{
|
||||
if (checkpointRestored)
|
||||
return;
|
||||
|
||||
argsInit(sizeof(IntReg), VMPageSize);
|
||||
|
||||
//From the SPARC ABI
|
||||
SparcLiveProcess::startup();
|
||||
|
||||
//The process runs in user mode
|
||||
threadContexts[0]->setMiscReg(MISCREG_PSTATE, 0x02);
|
||||
|
||||
//Setup default FP state
|
||||
threadContexts[0]->setMiscRegNoEffect(MISCREG_FSR, 0);
|
||||
|
||||
threadContexts[0]->setMiscRegNoEffect(MISCREG_TICK, 0);
|
||||
|
||||
/*
|
||||
* Register window management registers
|
||||
*/
|
||||
|
||||
//No windows contain info from other programs
|
||||
//threadContexts[0]->setMiscRegNoEffect(MISCREG_OTHERWIN, 0);
|
||||
threadContexts[0]->setIntReg(NumIntArchRegs + 6, 0);
|
||||
//There are no windows to pop
|
||||
//threadContexts[0]->setMiscRegNoEffect(MISCREG_CANRESTORE, 0);
|
||||
threadContexts[0]->setIntReg(NumIntArchRegs + 4, 0);
|
||||
//All windows are available to save into
|
||||
//threadContexts[0]->setMiscRegNoEffect(MISCREG_CANSAVE, NWindows - 2);
|
||||
threadContexts[0]->setIntReg(NumIntArchRegs + 3, NWindows - 2);
|
||||
//All windows are "clean"
|
||||
//threadContexts[0]->setMiscRegNoEffect(MISCREG_CLEANWIN, NWindows);
|
||||
threadContexts[0]->setIntReg(NumIntArchRegs + 5, NWindows);
|
||||
//Start with register window 0
|
||||
threadContexts[0]->setMiscRegNoEffect(MISCREG_CWP, 0);
|
||||
//Always use spill and fill traps 0
|
||||
//threadContexts[0]->setMiscRegNoEffect(MISCREG_WSTATE, 0);
|
||||
threadContexts[0]->setIntReg(NumIntArchRegs + 7, 0);
|
||||
//Set the trap level to 0
|
||||
threadContexts[0]->setMiscRegNoEffect(MISCREG_TL, 0);
|
||||
//Set the ASI register to something fixed
|
||||
threadContexts[0]->setMiscRegNoEffect(MISCREG_ASI, ASI_PRIMARY);
|
||||
|
||||
/*
|
||||
* T1 specific registers
|
||||
*/
|
||||
//Turn on the icache, dcache, dtb translation, and itb translation.
|
||||
threadContexts[0]->setMiscRegNoEffect(MISCREG_MMU_LSU_CTRL, 15);
|
||||
}
|
||||
|
||||
M5_32_auxv_t::M5_32_auxv_t(int32_t type, int32_t val)
|
||||
{
|
||||
a_type = TheISA::htog(type);
|
||||
a_val = TheISA::htog(val);
|
||||
}
|
||||
|
||||
M5_64_auxv_t::M5_64_auxv_t(int64_t type, int64_t val)
|
||||
{
|
||||
a_type = TheISA::htog(type);
|
||||
a_val = TheISA::htog(val);
|
||||
argsInit(sizeof(IntReg), VMPageSize);
|
||||
}
|
||||
|
||||
template<class IntType>
|
||||
void
|
||||
Sparc64LiveProcess::argsInit(int intSize, int pageSize)
|
||||
SparcLiveProcess::argsInit(int pageSize)
|
||||
{
|
||||
typedef M5_64_auxv_t auxv_t;
|
||||
Process::startup();
|
||||
int intSize = sizeof(IntType);
|
||||
|
||||
typedef M5_auxv_t<IntType> auxv_t;
|
||||
|
||||
std::vector<auxv_t> auxv;
|
||||
|
||||
string filename;
|
||||
if(argv.size() < 1)
|
||||
|
@ -233,7 +196,9 @@ Sparc64LiveProcess::argsInit(int intSize, int pageSize)
|
|||
else
|
||||
filename = argv[0];
|
||||
|
||||
Addr alignmentMask = ~(intSize - 1);
|
||||
//Even for a 32 bit process, the ABI says we still need to
|
||||
//maintain double word alignment of the stack pointer.
|
||||
Addr alignmentMask = ~(sizeof(uint64_t) - 1);
|
||||
|
||||
// load object file into target memory
|
||||
objFile->loadSections(initVirtMem);
|
||||
|
@ -259,7 +224,6 @@ Sparc64LiveProcess::argsInit(int intSize, int pageSize)
|
|||
M5_HWCAP_SPARC_V9 |
|
||||
M5_HWCAP_SPARC_ULTRA3;
|
||||
|
||||
|
||||
//Setup the auxilliary vectors. These will already have endian conversion.
|
||||
//Auxilliary vectors are loaded only for elf formatted executables.
|
||||
ElfObject * elfObject = dynamic_cast<ElfObject *>(objFile);
|
||||
|
@ -298,250 +262,6 @@ Sparc64LiveProcess::argsInit(int intSize, int pageSize)
|
|||
|
||||
//Figure out how big the initial stack needs to be
|
||||
|
||||
// The unaccounted for 0 at the top of the stack
|
||||
int mysterious_size = intSize;
|
||||
|
||||
//This is the name of the file which is present on the initial stack
|
||||
//It's purpose is to let the user space linker examine the original file.
|
||||
int file_name_size = filename.size() + 1;
|
||||
|
||||
int env_data_size = 0;
|
||||
for (int i = 0; i < envp.size(); ++i) {
|
||||
env_data_size += envp[i].size() + 1;
|
||||
}
|
||||
int arg_data_size = 0;
|
||||
for (int i = 0; i < argv.size(); ++i) {
|
||||
arg_data_size += argv[i].size() + 1;
|
||||
}
|
||||
|
||||
//The info_block needs to be padded so it's size is a multiple of the
|
||||
//alignment mask. Also, it appears that there needs to be at least some
|
||||
//padding, so if the size is already a multiple, we need to increase it
|
||||
//anyway.
|
||||
int info_block_size =
|
||||
(file_name_size +
|
||||
env_data_size +
|
||||
arg_data_size +
|
||||
intSize) & alignmentMask;
|
||||
|
||||
int info_block_padding =
|
||||
info_block_size -
|
||||
file_name_size -
|
||||
env_data_size -
|
||||
arg_data_size;
|
||||
|
||||
//Each auxilliary vector is two 8 byte words
|
||||
int aux_array_size = intSize * 2 * (auxv.size() + 1);
|
||||
|
||||
int envp_array_size = intSize * (envp.size() + 1);
|
||||
int argv_array_size = intSize * (argv.size() + 1);
|
||||
|
||||
int argc_size = intSize;
|
||||
int window_save_size = intSize * 16;
|
||||
|
||||
int space_needed =
|
||||
mysterious_size +
|
||||
info_block_size +
|
||||
aux_array_size +
|
||||
envp_array_size +
|
||||
argv_array_size +
|
||||
argc_size +
|
||||
window_save_size;
|
||||
|
||||
stack_min = stack_base - space_needed;
|
||||
stack_min &= alignmentMask;
|
||||
stack_size = stack_base - stack_min;
|
||||
|
||||
// map memory
|
||||
pTable->allocate(roundDown(stack_min, pageSize),
|
||||
roundUp(stack_size, pageSize));
|
||||
|
||||
// map out initial stack contents
|
||||
Addr mysterious_base = stack_base - mysterious_size;
|
||||
Addr file_name_base = mysterious_base - file_name_size;
|
||||
Addr env_data_base = file_name_base - env_data_size;
|
||||
Addr arg_data_base = env_data_base - arg_data_size;
|
||||
Addr auxv_array_base = arg_data_base - aux_array_size - info_block_padding;
|
||||
Addr envp_array_base = auxv_array_base - envp_array_size;
|
||||
Addr argv_array_base = envp_array_base - argv_array_size;
|
||||
Addr argc_base = argv_array_base - argc_size;
|
||||
#ifndef NDEBUG
|
||||
// only used in DPRINTF
|
||||
Addr window_save_base = argc_base - window_save_size;
|
||||
#endif
|
||||
|
||||
DPRINTF(Sparc, "The addresses of items on the initial stack:\n");
|
||||
DPRINTF(Sparc, "0x%x - file name\n", file_name_base);
|
||||
DPRINTF(Sparc, "0x%x - env data\n", env_data_base);
|
||||
DPRINTF(Sparc, "0x%x - arg data\n", arg_data_base);
|
||||
DPRINTF(Sparc, "0x%x - auxv array\n", auxv_array_base);
|
||||
DPRINTF(Sparc, "0x%x - envp array\n", envp_array_base);
|
||||
DPRINTF(Sparc, "0x%x - argv array\n", argv_array_base);
|
||||
DPRINTF(Sparc, "0x%x - argc \n", argc_base);
|
||||
DPRINTF(Sparc, "0x%x - window save\n", window_save_base);
|
||||
DPRINTF(Sparc, "0x%x - stack min\n", stack_min);
|
||||
|
||||
// write contents to stack
|
||||
|
||||
// figure out argc
|
||||
uint64_t argc = argv.size();
|
||||
uint64_t guestArgc = TheISA::htog(argc);
|
||||
|
||||
//Write out the mysterious 0
|
||||
uint64_t mysterious_zero = 0;
|
||||
initVirtMem->writeBlob(mysterious_base,
|
||||
(uint8_t*)&mysterious_zero, mysterious_size);
|
||||
|
||||
//Write the file name
|
||||
initVirtMem->writeString(file_name_base, filename.c_str());
|
||||
|
||||
//Copy the aux stuff
|
||||
for(int x = 0; x < auxv.size(); x++)
|
||||
{
|
||||
initVirtMem->writeBlob(auxv_array_base + x * 2 * intSize,
|
||||
(uint8_t*)&(auxv[x].a_type), intSize);
|
||||
initVirtMem->writeBlob(auxv_array_base + (x * 2 + 1) * intSize,
|
||||
(uint8_t*)&(auxv[x].a_val), intSize);
|
||||
}
|
||||
//Write out the terminating zeroed auxilliary vector
|
||||
const uint64_t zero = 0;
|
||||
initVirtMem->writeBlob(auxv_array_base + 2 * intSize * auxv.size(),
|
||||
(uint8_t*)&zero, 2 * intSize);
|
||||
|
||||
copyStringArray(envp, envp_array_base, env_data_base, initVirtMem);
|
||||
copyStringArray(argv, argv_array_base, arg_data_base, initVirtMem);
|
||||
|
||||
initVirtMem->writeBlob(argc_base, (uint8_t*)&guestArgc, intSize);
|
||||
|
||||
//Stuff the trap handlers into the processes address space.
|
||||
//Since the stack grows down and is the highest area in the processes
|
||||
//address space, we can put stuff above it and stay out of the way.
|
||||
int fillSize = sizeof(MachInst) * numFillInsts;
|
||||
int spillSize = sizeof(MachInst) * numSpillInsts;
|
||||
fillStart = stack_base;
|
||||
spillStart = fillStart + fillSize;
|
||||
initVirtMem->writeBlob(fillStart, (uint8_t*)fillHandler64, fillSize);
|
||||
initVirtMem->writeBlob(spillStart, (uint8_t*)spillHandler64, spillSize);
|
||||
|
||||
//Set up the thread context to start running the process
|
||||
assert(NumArgumentRegs >= 2);
|
||||
threadContexts[0]->setIntReg(ArgumentReg[0], argc);
|
||||
threadContexts[0]->setIntReg(ArgumentReg[1], argv_array_base);
|
||||
threadContexts[0]->setIntReg(StackPointerReg, stack_min - StackBias);
|
||||
|
||||
// %g1 is a pointer to a function that should be run at exit. Since we
|
||||
// don't have anything like that, it should be set to 0.
|
||||
threadContexts[0]->setIntReg(1, 0);
|
||||
|
||||
Addr prog_entry = objFile->entryPoint();
|
||||
threadContexts[0]->setPC(prog_entry);
|
||||
threadContexts[0]->setNextPC(prog_entry + sizeof(MachInst));
|
||||
threadContexts[0]->setNextNPC(prog_entry + (2 * sizeof(MachInst)));
|
||||
|
||||
//Align the "stack_min" to a page boundary.
|
||||
stack_min = roundDown(stack_min, pageSize);
|
||||
|
||||
// num_processes++;
|
||||
}
|
||||
|
||||
void
|
||||
Sparc32LiveProcess::argsInit(int intSize, int pageSize)
|
||||
{
|
||||
typedef M5_32_auxv_t auxv_t;
|
||||
Process::startup();
|
||||
|
||||
string filename;
|
||||
if(argv.size() < 1)
|
||||
filename = "";
|
||||
else
|
||||
filename = argv[0];
|
||||
|
||||
//Even though this is a 32 bit process, the ABI says we still need to
|
||||
//maintain double word alignment of the stack pointer.
|
||||
Addr alignmentMask = ~(8 - 1);
|
||||
|
||||
// load object file into target memory
|
||||
objFile->loadSections(initVirtMem);
|
||||
|
||||
//These are the auxilliary vector types
|
||||
enum auxTypes
|
||||
{
|
||||
SPARC_AT_HWCAP = 16,
|
||||
SPARC_AT_PAGESZ = 6,
|
||||
SPARC_AT_CLKTCK = 17,
|
||||
SPARC_AT_PHDR = 3,
|
||||
SPARC_AT_PHENT = 4,
|
||||
SPARC_AT_PHNUM = 5,
|
||||
SPARC_AT_BASE = 7,
|
||||
SPARC_AT_FLAGS = 8,
|
||||
SPARC_AT_ENTRY = 9,
|
||||
SPARC_AT_UID = 11,
|
||||
SPARC_AT_EUID = 12,
|
||||
SPARC_AT_GID = 13,
|
||||
SPARC_AT_EGID = 14,
|
||||
SPARC_AT_SECURE = 23
|
||||
};
|
||||
|
||||
enum hardwareCaps
|
||||
{
|
||||
M5_HWCAP_SPARC_FLUSH = 1,
|
||||
M5_HWCAP_SPARC_STBAR = 2,
|
||||
M5_HWCAP_SPARC_SWAP = 4,
|
||||
M5_HWCAP_SPARC_MULDIV = 8,
|
||||
M5_HWCAP_SPARC_V9 = 16,
|
||||
//This one should technically only be set
|
||||
//if there is a cheetah or cheetah_plus tlb,
|
||||
//but we'll use it all the time
|
||||
M5_HWCAP_SPARC_ULTRA3 = 32
|
||||
};
|
||||
|
||||
const int64_t hwcap =
|
||||
M5_HWCAP_SPARC_FLUSH |
|
||||
M5_HWCAP_SPARC_STBAR |
|
||||
M5_HWCAP_SPARC_SWAP |
|
||||
M5_HWCAP_SPARC_MULDIV |
|
||||
M5_HWCAP_SPARC_V9 |
|
||||
M5_HWCAP_SPARC_ULTRA3;
|
||||
|
||||
|
||||
//Setup the auxilliary vectors. These will already have endian conversion.
|
||||
//Auxilliary vectors are loaded only for elf formatted executables.
|
||||
ElfObject * elfObject = dynamic_cast<ElfObject *>(objFile);
|
||||
if(elfObject)
|
||||
{
|
||||
//Bits which describe the system hardware capabilities
|
||||
auxv.push_back(auxv_t(SPARC_AT_HWCAP, hwcap));
|
||||
//The system page size
|
||||
auxv.push_back(auxv_t(SPARC_AT_PAGESZ, SparcISA::VMPageSize));
|
||||
//Defined to be 100 in the kernel source.
|
||||
//Frequency at which times() increments
|
||||
auxv.push_back(auxv_t(SPARC_AT_CLKTCK, 100));
|
||||
// For statically linked executables, this is the virtual address of the
|
||||
// program header tables if they appear in the executable image
|
||||
auxv.push_back(auxv_t(SPARC_AT_PHDR, elfObject->programHeaderTable()));
|
||||
// This is the size of a program header entry from the elf file.
|
||||
auxv.push_back(auxv_t(SPARC_AT_PHENT, elfObject->programHeaderSize()));
|
||||
// This is the number of program headers from the original elf file.
|
||||
auxv.push_back(auxv_t(SPARC_AT_PHNUM, elfObject->programHeaderCount()));
|
||||
//This is the address of the elf "interpreter", It should be set
|
||||
//to 0 for regular executables. It should be something else
|
||||
//(not sure what) for dynamic libraries.
|
||||
auxv.push_back(auxv_t(SPARC_AT_BASE, 0));
|
||||
//This is hardwired to 0 in the elf loading code in the kernel
|
||||
auxv.push_back(auxv_t(SPARC_AT_FLAGS, 0));
|
||||
//The entry point to the program
|
||||
auxv.push_back(auxv_t(SPARC_AT_ENTRY, objFile->entryPoint()));
|
||||
//Different user and group IDs
|
||||
auxv.push_back(auxv_t(SPARC_AT_UID, uid()));
|
||||
auxv.push_back(auxv_t(SPARC_AT_EUID, euid()));
|
||||
auxv.push_back(auxv_t(SPARC_AT_GID, gid()));
|
||||
auxv.push_back(auxv_t(SPARC_AT_EGID, egid()));
|
||||
//Whether to enable "secure mode" in the executable
|
||||
auxv.push_back(auxv_t(SPARC_AT_SECURE, 0));
|
||||
}
|
||||
|
||||
//Figure out how big the initial stack needs to be
|
||||
|
||||
// The unaccounted for 8 byte 0 at the top of the stack
|
||||
int mysterious_size = 8;
|
||||
|
||||
|
@ -565,7 +285,7 @@ Sparc32LiveProcess::argsInit(int intSize, int pageSize)
|
|||
env_data_size +
|
||||
arg_data_size + intSize);
|
||||
|
||||
//Each auxilliary vector is two 4 byte words
|
||||
//Each auxilliary vector is two words
|
||||
int aux_array_size = intSize * 2 * (auxv.size() + 1);
|
||||
|
||||
int envp_array_size = intSize * (envp.size() + 1);
|
||||
|
@ -586,39 +306,39 @@ Sparc32LiveProcess::argsInit(int intSize, int pageSize)
|
|||
stack_min &= alignmentMask;
|
||||
stack_size = stack_base - stack_min;
|
||||
|
||||
// map memory
|
||||
// Allocate space for the stack
|
||||
pTable->allocate(roundDown(stack_min, pageSize),
|
||||
roundUp(stack_size, pageSize));
|
||||
|
||||
// map out initial stack contents
|
||||
uint32_t window_save_base = stack_min;
|
||||
uint32_t argc_base = window_save_base + window_save_size;
|
||||
uint32_t argv_array_base = argc_base + argc_size;
|
||||
uint32_t envp_array_base = argv_array_base + argv_array_size;
|
||||
uint32_t auxv_array_base = envp_array_base + envp_array_size;
|
||||
IntType window_save_base = stack_min;
|
||||
IntType argc_base = window_save_base + window_save_size;
|
||||
IntType argv_array_base = argc_base + argc_size;
|
||||
IntType envp_array_base = argv_array_base + argv_array_size;
|
||||
IntType auxv_array_base = envp_array_base + envp_array_size;
|
||||
//The info block is pushed up against the top of the stack, while
|
||||
//the rest of the initial stack frame is aligned to an 8 byte boudary.
|
||||
uint32_t arg_data_base = stack_base - info_block_size + intSize;
|
||||
uint32_t env_data_base = arg_data_base + arg_data_size;
|
||||
uint32_t file_name_base = env_data_base + env_data_size;
|
||||
uint32_t mysterious_base = file_name_base + file_name_size;
|
||||
IntType arg_data_base = stack_base - info_block_size + intSize;
|
||||
IntType env_data_base = arg_data_base + arg_data_size;
|
||||
IntType file_name_base = env_data_base + env_data_size;
|
||||
IntType mysterious_base = file_name_base + file_name_size;
|
||||
|
||||
DPRINTF(Sparc, "The addresses of items on the initial stack:\n");
|
||||
DPRINTF(Sparc, "0x%x - file name\n", file_name_base);
|
||||
DPRINTF(Sparc, "0x%x - env data\n", env_data_base);
|
||||
DPRINTF(Sparc, "0x%x - arg data\n", arg_data_base);
|
||||
DPRINTF(Sparc, "0x%x - auxv array\n", auxv_array_base);
|
||||
DPRINTF(Sparc, "0x%x - envp array\n", envp_array_base);
|
||||
DPRINTF(Sparc, "0x%x - argv array\n", argv_array_base);
|
||||
DPRINTF(Sparc, "0x%x - argc \n", argc_base);
|
||||
DPRINTF(Sparc, "0x%x - window save\n", window_save_base);
|
||||
DPRINTF(Sparc, "0x%x - stack min\n", stack_min);
|
||||
DPRINTF(Sparc, "%#x - file name\n", file_name_base);
|
||||
DPRINTF(Sparc, "%#x - env data\n", env_data_base);
|
||||
DPRINTF(Sparc, "%#x - arg data\n", arg_data_base);
|
||||
DPRINTF(Sparc, "%#x - auxv array\n", auxv_array_base);
|
||||
DPRINTF(Sparc, "%#x - envp array\n", envp_array_base);
|
||||
DPRINTF(Sparc, "%#x - argv array\n", argv_array_base);
|
||||
DPRINTF(Sparc, "%#x - argc \n", argc_base);
|
||||
DPRINTF(Sparc, "%#x - window save\n", window_save_base);
|
||||
DPRINTF(Sparc, "%#x - stack min\n", stack_min);
|
||||
|
||||
// write contents to stack
|
||||
|
||||
// figure out argc
|
||||
uint32_t argc = argv.size();
|
||||
uint32_t guestArgc = TheISA::htog(argc);
|
||||
IntType argc = argv.size();
|
||||
IntType guestArgc = TheISA::htog(argc);
|
||||
|
||||
//Write out the mysterious 0
|
||||
uint64_t mysterious_zero = 0;
|
||||
|
@ -636,8 +356,9 @@ Sparc32LiveProcess::argsInit(int intSize, int pageSize)
|
|||
initVirtMem->writeBlob(auxv_array_base + (x * 2 + 1) * intSize,
|
||||
(uint8_t*)&(auxv[x].a_val), intSize);
|
||||
}
|
||||
|
||||
//Write out the terminating zeroed auxilliary vector
|
||||
const uint64_t zero = 0;
|
||||
const IntType zero = 0;
|
||||
initVirtMem->writeBlob(auxv_array_base + 2 * intSize * auxv.size(),
|
||||
(uint8_t*)&zero, 2 * intSize);
|
||||
|
||||
|
@ -646,27 +367,23 @@ Sparc32LiveProcess::argsInit(int intSize, int pageSize)
|
|||
|
||||
initVirtMem->writeBlob(argc_base, (uint8_t*)&guestArgc, intSize);
|
||||
|
||||
//Stuff the trap handlers into the processes address space.
|
||||
//Since the stack grows down and is the highest area in the processes
|
||||
//address space, we can put stuff above it and stay out of the way.
|
||||
int fillSize = sizeof(MachInst) * numFillInsts;
|
||||
int spillSize = sizeof(MachInst) * numSpillInsts;
|
||||
//Set up space for the trap handlers into the processes address space.
|
||||
//Since the stack grows down and there is reserved address space abov
|
||||
//it, we can put stuff above it and stay out of the way.
|
||||
fillStart = stack_base;
|
||||
spillStart = fillStart + fillSize;
|
||||
initVirtMem->writeBlob(fillStart, (uint8_t*)fillHandler32, fillSize);
|
||||
initVirtMem->writeBlob(spillStart, (uint8_t*)spillHandler32, spillSize);
|
||||
spillStart = fillStart + sizeof(MachInst) * numFillInsts;
|
||||
|
||||
//Set up the thread context to start running the process
|
||||
//assert(NumArgumentRegs >= 2);
|
||||
//threadContexts[0]->setIntReg(ArgumentReg[0], argc);
|
||||
//threadContexts[0]->setIntReg(ArgumentReg[1], argv_array_base);
|
||||
threadContexts[0]->setIntReg(StackPointerReg, stack_min);
|
||||
threadContexts[0]->setIntReg(StackPointerReg, stack_min - StackBias);
|
||||
|
||||
// %g1 is a pointer to a function that should be run at exit. Since we
|
||||
// don't have anything like that, it should be set to 0.
|
||||
threadContexts[0]->setIntReg(1, 0);
|
||||
|
||||
uint32_t prog_entry = objFile->entryPoint();
|
||||
Addr prog_entry = objFile->entryPoint();
|
||||
threadContexts[0]->setPC(prog_entry);
|
||||
threadContexts[0]->setNextPC(prog_entry + sizeof(MachInst));
|
||||
threadContexts[0]->setNextNPC(prog_entry + (2 * sizeof(MachInst)));
|
||||
|
@ -677,6 +394,30 @@ Sparc32LiveProcess::argsInit(int intSize, int pageSize)
|
|||
// num_processes++;
|
||||
}
|
||||
|
||||
void
|
||||
Sparc64LiveProcess::argsInit(int intSize, int pageSize)
|
||||
{
|
||||
SparcLiveProcess::argsInit<uint64_t>(pageSize);
|
||||
|
||||
// Stuff the trap handlers into the process address space
|
||||
initVirtMem->writeBlob(fillStart,
|
||||
(uint8_t*)fillHandler64, sizeof(MachInst) * numFillInsts);
|
||||
initVirtMem->writeBlob(spillStart,
|
||||
(uint8_t*)spillHandler64, sizeof(MachInst) * numSpillInsts);
|
||||
}
|
||||
|
||||
void
|
||||
Sparc32LiveProcess::argsInit(int intSize, int pageSize)
|
||||
{
|
||||
SparcLiveProcess::argsInit<uint32_t>(pageSize);
|
||||
|
||||
// Stuff the trap handlers into the process address space
|
||||
initVirtMem->writeBlob(fillStart,
|
||||
(uint8_t*)fillHandler32, sizeof(MachInst) * numFillInsts);
|
||||
initVirtMem->writeBlob(spillStart,
|
||||
(uint8_t*)spillHandler32, sizeof(MachInst) * numSpillInsts);
|
||||
}
|
||||
|
||||
void Sparc32LiveProcess::flushWindows(ThreadContext *tc)
|
||||
{
|
||||
IntReg Cansave = tc->readIntReg(NumIntArchRegs + 3);
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "sim/byteswap.hh"
|
||||
#include "sim/process.hh"
|
||||
|
||||
class ObjectFile;
|
||||
|
@ -43,10 +44,18 @@ class SparcLiveProcess : public LiveProcess
|
|||
{
|
||||
protected:
|
||||
|
||||
const Addr StackBias;
|
||||
|
||||
//The locations of the fill and spill handlers
|
||||
Addr fillStart, spillStart;
|
||||
|
||||
SparcLiveProcess(LiveProcessParams * params, ObjectFile *objFile);
|
||||
SparcLiveProcess(LiveProcessParams * params,
|
||||
ObjectFile *objFile, Addr _StackBias);
|
||||
|
||||
void startup();
|
||||
|
||||
template<class IntType>
|
||||
void argsInit(int pageSize);
|
||||
|
||||
public:
|
||||
|
||||
|
@ -62,29 +71,32 @@ class SparcLiveProcess : public LiveProcess
|
|||
virtual void flushWindows(ThreadContext *tc) = 0;
|
||||
};
|
||||
|
||||
struct M5_32_auxv_t
|
||||
template<class IntType>
|
||||
struct M5_auxv_t
|
||||
{
|
||||
int32_t a_type;
|
||||
IntType a_type;
|
||||
union {
|
||||
int32_t a_val;
|
||||
int32_t a_ptr;
|
||||
int32_t a_fcn;
|
||||
IntType a_val;
|
||||
IntType a_ptr;
|
||||
IntType a_fcn;
|
||||
};
|
||||
|
||||
M5_32_auxv_t()
|
||||
M5_auxv_t()
|
||||
{}
|
||||
|
||||
M5_32_auxv_t(int32_t type, int32_t val);
|
||||
M5_auxv_t(IntType type, IntType val)
|
||||
{
|
||||
a_type = SparcISA::htog(type);
|
||||
a_val = SparcISA::htog(val);
|
||||
}
|
||||
};
|
||||
|
||||
class Sparc32LiveProcess : public SparcLiveProcess
|
||||
{
|
||||
protected:
|
||||
|
||||
std::vector<M5_32_auxv_t> auxv;
|
||||
|
||||
Sparc32LiveProcess(LiveProcessParams * params, ObjectFile *objFile) :
|
||||
SparcLiveProcess(params, objFile)
|
||||
SparcLiveProcess(params, objFile, 0)
|
||||
{
|
||||
// Set up stack. On SPARC Linux, stack goes from the top of memory
|
||||
// downward, less the hole for the kernel address space.
|
||||
|
@ -103,31 +115,12 @@ class Sparc32LiveProcess : public SparcLiveProcess
|
|||
void flushWindows(ThreadContext *tc);
|
||||
};
|
||||
|
||||
struct M5_64_auxv_t
|
||||
{
|
||||
int64_t a_type;
|
||||
union {
|
||||
int64_t a_val;
|
||||
int64_t a_ptr;
|
||||
int64_t a_fcn;
|
||||
};
|
||||
|
||||
M5_64_auxv_t()
|
||||
{}
|
||||
|
||||
M5_64_auxv_t(int64_t type, int64_t val);
|
||||
};
|
||||
|
||||
class Sparc64LiveProcess : public SparcLiveProcess
|
||||
{
|
||||
protected:
|
||||
|
||||
static const Addr StackBias = 2047;
|
||||
|
||||
std::vector<M5_64_auxv_t> auxv;
|
||||
|
||||
Sparc64LiveProcess(LiveProcessParams * params, ObjectFile *objFile) :
|
||||
SparcLiveProcess(params, objFile)
|
||||
SparcLiveProcess(params, objFile, 2047)
|
||||
{
|
||||
// Set up stack. On SPARC Linux, stack goes from the top of memory
|
||||
// downward, less the hole for the kernel address space.
|
||||
|
|
|
@ -371,6 +371,7 @@ euid=100
|
|||
executable=/dist/m5/cpu2000/binaries/sparc/linux/gzip
|
||||
gid=100
|
||||
input=cin
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
|
|
@ -8,10 +8,10 @@ global.BPredUnit.condIncorrect 84447535 # Nu
|
|||
global.BPredUnit.condPredicted 256528366 # Number of conditional branches predicted
|
||||
global.BPredUnit.lookups 256528366 # Number of BP lookups
|
||||
global.BPredUnit.usedRAS 0 # Number of times the RAS was used to get a target.
|
||||
host_inst_rate 101903 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 202864 # Number of bytes of host memory used
|
||||
host_seconds 13793.57 # Real time elapsed on the host
|
||||
host_tick_rate 79564409 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 135731 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 184868 # Number of bytes of host memory used
|
||||
host_seconds 10355.84 # Real time elapsed on the host
|
||||
host_tick_rate 105976601 # Simulator tick rate (ticks/s)
|
||||
memdepunit.memDep.conflictingLoads 458856790 # Number of conflicting loads.
|
||||
memdepunit.memDep.conflictingStores 141228058 # Number of conflicting stores.
|
||||
memdepunit.memDep.insertedLoads 745627925 # Number of loads inserted to the mem dependence unit.
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
0: system.remote_gdb.listener: listening for remote gdb on port 7001
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
warn: Ignoring request to flush register windows.
|
||||
|
|
|
@ -36,8 +36,8 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Aug 27 2007 13:10:11
|
||||
M5 started Mon Aug 27 13:40:27 2007
|
||||
M5 compiled Nov 28 2007 15:13:45
|
||||
M5 started Wed Nov 28 15:13:46 2007
|
||||
M5 executing on nacho
|
||||
command line: build/SPARC_SE/m5.fast -d build/SPARC_SE/tests/fast/long/00.gzip/sparc/linux/o3-timing tests/run.py long/00.gzip/sparc/linux/o3-timing
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
|
|
|
@ -54,6 +54,7 @@ euid=100
|
|||
executable=/dist/m5/cpu2000/binaries/sparc/linux/gzip
|
||||
gid=100
|
||||
input=cin
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 1870525 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 176480 # Number of bytes of host memory used
|
||||
host_seconds 796.31 # Real time elapsed on the host
|
||||
host_tick_rate 935265227 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 3593860 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 176592 # Number of bytes of host memory used
|
||||
host_seconds 414.46 # Real time elapsed on the host
|
||||
host_tick_rate 1796934585 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 1489514761 # Number of instructions simulated
|
||||
sim_seconds 0.744760 # Number of seconds simulated
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
0: system.remote_gdb.listener: listening for remote gdb on port 7000
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
warn: Ignoring request to flush register windows.
|
||||
|
|
|
@ -36,8 +36,8 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Aug 14 2007 22:48:17
|
||||
M5 started Tue Aug 14 22:51:35 2007
|
||||
M5 compiled Nov 28 2007 15:13:45
|
||||
M5 started Wed Nov 28 15:13:46 2007
|
||||
M5 executing on nacho
|
||||
command line: build/SPARC_SE/m5.fast -d build/SPARC_SE/tests/fast/long/00.gzip/sparc/linux/simple-atomic tests/run.py long/00.gzip/sparc/linux/simple-atomic
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
|
|
|
@ -169,6 +169,7 @@ euid=100
|
|||
executable=/dist/m5/cpu2000/binaries/sparc/linux/gzip
|
||||
gid=100
|
||||
input=cin
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 1001521 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 201940 # Number of bytes of host memory used
|
||||
host_seconds 1487.25 # Real time elapsed on the host
|
||||
host_tick_rate 1392419330 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 2062336 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 183952 # Number of bytes of host memory used
|
||||
host_seconds 722.25 # Real time elapsed on the host
|
||||
host_tick_rate 2867275090 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 1489514761 # Number of instructions simulated
|
||||
sim_seconds 2.070880 # Number of seconds simulated
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
0: system.remote_gdb.listener: listening for remote gdb on port 7002
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
warn: Ignoring request to flush register windows.
|
||||
|
|
|
@ -36,8 +36,8 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Aug 14 2007 22:48:17
|
||||
M5 started Tue Aug 14 23:04:52 2007
|
||||
M5 compiled Nov 28 2007 15:13:45
|
||||
M5 started Wed Nov 28 15:13:46 2007
|
||||
M5 executing on nacho
|
||||
command line: build/SPARC_SE/m5.fast -d build/SPARC_SE/tests/fast/long/00.gzip/sparc/linux/simple-timing tests/run.py long/00.gzip/sparc/linux/simple-timing
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
|
|
|
@ -54,6 +54,7 @@ euid=100
|
|||
executable=/dist/m5/cpu2000/binaries/sparc/linux/mcf
|
||||
gid=100
|
||||
input=/dist/m5/cpu2000/data/mcf/smred/input/mcf.in
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
@ -73,7 +74,7 @@ port=system.physmem.port[0] system.cpu.icache_port system.cpu.dcache_port
|
|||
type=PhysicalMemory
|
||||
file=
|
||||
latency=1
|
||||
range=0:134217727
|
||||
range=0:268435455
|
||||
zero=false
|
||||
port=system.membus.port[0]
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 1759086 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 176892 # Number of bytes of host memory used
|
||||
host_seconds 138.61 # Real time elapsed on the host
|
||||
host_tick_rate 881692154 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 3488380 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 308772 # Number of bytes of host memory used
|
||||
host_seconds 69.90 # Real time elapsed on the host
|
||||
host_tick_rate 1748449689 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 243829010 # Number of instructions simulated
|
||||
sim_seconds 0.122213 # Number of seconds simulated
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
0: system.remote_gdb.listener: listening for remote gdb on port 7005
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
warn: Ignoring request to flush register windows.
|
||||
|
|
|
@ -21,8 +21,8 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Aug 14 2007 22:48:17
|
||||
M5 started Tue Aug 14 23:27:01 2007
|
||||
M5 compiled Nov 28 2007 15:13:45
|
||||
M5 started Wed Nov 28 15:13:46 2007
|
||||
M5 executing on nacho
|
||||
command line: build/SPARC_SE/m5.fast -d build/SPARC_SE/tests/fast/long/10.mcf/sparc/linux/simple-atomic tests/run.py long/10.mcf/sparc/linux/simple-atomic
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
|
|
|
@ -169,6 +169,7 @@ euid=100
|
|||
executable=/dist/m5/cpu2000/binaries/sparc/linux/mcf
|
||||
gid=100
|
||||
input=/dist/m5/cpu2000/data/mcf/smred/input/mcf.in
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
@ -188,7 +189,7 @@ port=system.physmem.port[0] system.cpu.l2cache.mem_side
|
|||
type=PhysicalMemory
|
||||
file=
|
||||
latency=1
|
||||
range=0:134217727
|
||||
range=0:268435455
|
||||
zero=false
|
||||
port=system.membus.port[0]
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 981553 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 203224 # Number of bytes of host memory used
|
||||
host_seconds 248.41 # Real time elapsed on the host
|
||||
host_tick_rate 1462749007 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 1898653 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 316136 # Number of bytes of host memory used
|
||||
host_seconds 128.42 # Real time elapsed on the host
|
||||
host_tick_rate 2829445602 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 243829010 # Number of instructions simulated
|
||||
sim_seconds 0.363364 # Number of seconds simulated
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
0: system.remote_gdb.listener: listening for remote gdb on port 7006
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
warn: Ignoring request to flush register windows.
|
||||
|
|
|
@ -21,8 +21,8 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Aug 14 2007 22:48:17
|
||||
M5 started Tue Aug 14 23:29:20 2007
|
||||
M5 compiled Nov 28 2007 15:13:45
|
||||
M5 started Wed Nov 28 15:13:46 2007
|
||||
M5 executing on nacho
|
||||
command line: build/SPARC_SE/m5.fast -d build/SPARC_SE/tests/fast/long/10.mcf/sparc/linux/simple-timing tests/run.py long/10.mcf/sparc/linux/simple-timing
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
|
|
|
@ -54,6 +54,7 @@ euid=100
|
|||
executable=/dist/m5/cpu2000/binaries/sparc/linux/vortex
|
||||
gid=100
|
||||
input=cin
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 1682182 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 185356 # Number of bytes of host memory used
|
||||
host_seconds 80.93 # Real time elapsed on the host
|
||||
host_tick_rate 842064489 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 3238071 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 185492 # Number of bytes of host memory used
|
||||
host_seconds 42.04 # Real time elapsed on the host
|
||||
host_tick_rate 1620906753 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 136141055 # Number of instructions simulated
|
||||
sim_seconds 0.068150 # Number of seconds simulated
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
0: system.remote_gdb.listener: listening for remote gdb on port 7004
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
warn: Ignoring request to flush register windows.
|
||||
warn: ignoring syscall time(4026527856, 4026528256, ...)
|
||||
warn: ignoring syscall time(4026527408, 1375098, ...)
|
||||
warn: ignoring syscall time(4026527320, 1, ...)
|
||||
|
|
|
@ -5,8 +5,8 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Aug 14 2007 22:48:17
|
||||
M5 started Tue Aug 14 23:33:10 2007
|
||||
M5 compiled Nov 28 2007 15:13:45
|
||||
M5 started Wed Nov 28 15:13:46 2007
|
||||
M5 executing on nacho
|
||||
command line: build/SPARC_SE/m5.fast -d build/SPARC_SE/tests/fast/long/50.vortex/sparc/linux/simple-atomic tests/run.py long/50.vortex/sparc/linux/simple-atomic
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
|
|
|
@ -169,6 +169,7 @@ euid=100
|
|||
executable=/dist/m5/cpu2000/binaries/sparc/linux/vortex
|
||||
gid=100
|
||||
input=cin
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 941673 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 210848 # Number of bytes of host memory used
|
||||
host_seconds 144.57 # Real time elapsed on the host
|
||||
host_tick_rate 1385565564 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 1846845 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 192856 # Number of bytes of host memory used
|
||||
host_seconds 73.72 # Real time elapsed on the host
|
||||
host_tick_rate 2717419538 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 136141055 # Number of instructions simulated
|
||||
sim_seconds 0.200317 # Number of seconds simulated
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
0: system.remote_gdb.listener: listening for remote gdb on port 7003
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
warn: Ignoring request to flush register windows.
|
||||
warn: ignoring syscall time(4026527856, 4026528256, ...)
|
||||
warn: ignoring syscall time(4026527408, 1375098, ...)
|
||||
warn: ignoring syscall time(4026527320, 1, ...)
|
||||
|
|
|
@ -5,8 +5,8 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Aug 14 2007 22:48:17
|
||||
M5 started Tue Aug 14 23:34:32 2007
|
||||
M5 compiled Nov 28 2007 15:13:45
|
||||
M5 started Wed Nov 28 15:13:46 2007
|
||||
M5 executing on nacho
|
||||
command line: build/SPARC_SE/m5.fast -d build/SPARC_SE/tests/fast/long/50.vortex/sparc/linux/simple-timing tests/run.py long/50.vortex/sparc/linux/simple-timing
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
|
|
|
@ -54,6 +54,7 @@ euid=100
|
|||
executable=/dist/m5/cpu2000/binaries/sparc/linux/twolf
|
||||
gid=100
|
||||
input=cin
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 1618953 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 181044 # Number of bytes of host memory used
|
||||
host_seconds 119.48 # Real time elapsed on the host
|
||||
host_tick_rate 809478979 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 2409312 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 181120 # Number of bytes of host memory used
|
||||
host_seconds 80.29 # Real time elapsed on the host
|
||||
host_tick_rate 1204659062 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 193435005 # Number of instructions simulated
|
||||
sim_seconds 0.096718 # Number of seconds simulated
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
0: system.remote_gdb.listener: listening for remote gdb on port 7007
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
warn: Ignoring request to flush register windows.
|
||||
warn: Increasing stack size by one page.
|
||||
|
|
|
@ -18,11 +18,9 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Aug 14 2007 22:48:17
|
||||
M5 started Tue Aug 14 23:36:54 2007
|
||||
M5 compiled Nov 28 2007 15:13:45
|
||||
M5 started Wed Nov 28 15:13:46 2007
|
||||
M5 executing on nacho
|
||||
command line: build/SPARC_SE/m5.fast -d build/SPARC_SE/tests/fast/long/70.twolf/sparc/linux/simple-atomic tests/run.py long/70.twolf/sparc/linux/simple-atomic
|
||||
Couldn't unlink build/SPARC_SE/tests/fast/long/70.twolf/sparc/linux/simple-atomic/smred.sav
|
||||
Couldn't unlink build/SPARC_SE/tests/fast/long/70.twolf/sparc/linux/simple-atomic/smred.sv2
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
Exiting @ tick 96718067000 because target called exit()
|
||||
|
|
|
@ -169,6 +169,7 @@ euid=100
|
|||
executable=/dist/m5/cpu2000/binaries/sparc/linux/twolf
|
||||
gid=100
|
||||
input=cin
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 958305 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 206472 # Number of bytes of host memory used
|
||||
host_seconds 201.85 # Real time elapsed on the host
|
||||
host_tick_rate 1339588721 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 1633041 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 188484 # Number of bytes of host memory used
|
||||
host_seconds 118.45 # Real time elapsed on the host
|
||||
host_tick_rate 2282781107 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 193435005 # Number of instructions simulated
|
||||
sim_seconds 0.270398 # Number of seconds simulated
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
0: system.remote_gdb.listener: listening for remote gdb on port 7008
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
warn: Ignoring request to flush register windows.
|
||||
warn: Increasing stack size by one page.
|
||||
|
|
|
@ -18,11 +18,9 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Aug 14 2007 22:48:17
|
||||
M5 started Tue Aug 14 23:38:54 2007
|
||||
M5 compiled Nov 28 2007 15:13:45
|
||||
M5 started Wed Nov 28 15:13:46 2007
|
||||
M5 executing on nacho
|
||||
command line: build/SPARC_SE/m5.fast -d build/SPARC_SE/tests/fast/long/70.twolf/sparc/linux/simple-timing tests/run.py long/70.twolf/sparc/linux/simple-timing
|
||||
Couldn't unlink build/SPARC_SE/tests/fast/long/70.twolf/sparc/linux/simple-timing/smred.sav
|
||||
Couldn't unlink build/SPARC_SE/tests/fast/long/70.twolf/sparc/linux/simple-timing/smred.sv2
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
Exiting @ tick 270397899000 because target called exit()
|
||||
|
|
|
@ -54,6 +54,7 @@ euid=100
|
|||
executable=/dist/m5/regression/test-progs/hello/bin/sparc/linux/hello
|
||||
gid=100
|
||||
input=cin
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 5187 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 173740 # Number of bytes of host memory used
|
||||
host_seconds 0.93 # Real time elapsed on the host
|
||||
host_tick_rate 2625893 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 1203 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 173832 # Number of bytes of host memory used
|
||||
host_seconds 4.02 # Real time elapsed on the host
|
||||
host_tick_rate 609327 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 4833 # Number of instructions simulated
|
||||
sim_seconds 0.000002 # Number of seconds simulated
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
0: system.remote_gdb.listener: listening for remote gdb on port 7003
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
|
|
|
@ -5,8 +5,8 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Aug 14 2007 22:08:21
|
||||
M5 started Tue Aug 14 22:08:22 2007
|
||||
M5 compiled Nov 28 2007 15:13:45
|
||||
M5 started Wed Nov 28 15:13:46 2007
|
||||
M5 executing on nacho
|
||||
command line: build/SPARC_SE/m5.fast -d build/SPARC_SE/tests/fast/quick/00.hello/sparc/linux/simple-atomic tests/run.py quick/00.hello/sparc/linux/simple-atomic
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
|
|
|
@ -169,6 +169,7 @@ euid=100
|
|||
executable=/dist/m5/regression/test-progs/hello/bin/sparc/linux/hello
|
||||
gid=100
|
||||
input=cin
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 290934 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 197920 # Number of bytes of host memory used
|
||||
host_seconds 0.02 # Real time elapsed on the host
|
||||
host_tick_rate 939694341 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 1173 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 181108 # Number of bytes of host memory used
|
||||
host_seconds 4.12 # Real time elapsed on the host
|
||||
host_tick_rate 3847579 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 4833 # Number of instructions simulated
|
||||
sim_seconds 0.000016 # Number of seconds simulated
|
||||
sim_ticks 15925000 # Number of ticks simulated
|
||||
sim_ticks 15853000 # Number of ticks simulated
|
||||
system.cpu.dcache.ReadReq_accesses 608 # number of ReadReq accesses(hits+misses)
|
||||
system.cpu.dcache.ReadReq_avg_miss_latency 24777.777778 # average ReadReq miss latency
|
||||
system.cpu.dcache.ReadReq_avg_mshr_miss_latency 22777.777778 # average ReadReq mshr miss latency
|
||||
|
@ -21,47 +21,47 @@ system.cpu.dcache.ReadReq_mshr_misses 54 # nu
|
|||
system.cpu.dcache.WriteReq_accesses 661 # number of WriteReq accesses(hits+misses)
|
||||
system.cpu.dcache.WriteReq_avg_miss_latency 25000 # average WriteReq miss latency
|
||||
system.cpu.dcache.WriteReq_avg_mshr_miss_latency 23000 # average WriteReq mshr miss latency
|
||||
system.cpu.dcache.WriteReq_hits 562 # number of WriteReq hits
|
||||
system.cpu.dcache.WriteReq_miss_latency 2475000 # number of WriteReq miss cycles
|
||||
system.cpu.dcache.WriteReq_miss_rate 0.149773 # miss rate for WriteReq accesses
|
||||
system.cpu.dcache.WriteReq_misses 99 # number of WriteReq misses
|
||||
system.cpu.dcache.WriteReq_mshr_miss_latency 2277000 # number of WriteReq MSHR miss cycles
|
||||
system.cpu.dcache.WriteReq_mshr_miss_rate 0.149773 # mshr miss rate for WriteReq accesses
|
||||
system.cpu.dcache.WriteReq_mshr_misses 99 # number of WriteReq MSHR misses
|
||||
system.cpu.dcache.WriteReq_hits 565 # number of WriteReq hits
|
||||
system.cpu.dcache.WriteReq_miss_latency 2400000 # number of WriteReq miss cycles
|
||||
system.cpu.dcache.WriteReq_miss_rate 0.145234 # miss rate for WriteReq accesses
|
||||
system.cpu.dcache.WriteReq_misses 96 # number of WriteReq misses
|
||||
system.cpu.dcache.WriteReq_mshr_miss_latency 2208000 # number of WriteReq MSHR miss cycles
|
||||
system.cpu.dcache.WriteReq_mshr_miss_rate 0.145234 # mshr miss rate for WriteReq accesses
|
||||
system.cpu.dcache.WriteReq_mshr_misses 96 # 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 <err: div-0> # average number of cycles each access was blocked
|
||||
system.cpu.dcache.avg_refs 8.195652 # Average number of references to valid blocks.
|
||||
system.cpu.dcache.avg_refs 8.400000 # 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 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 0 # number of cycles access was blocked
|
||||
system.cpu.dcache.cache_copies 0 # number of cache copies performed
|
||||
system.cpu.dcache.demand_accesses 1269 # number of demand (read+write) accesses
|
||||
system.cpu.dcache.demand_avg_miss_latency 24921.568627 # average overall miss latency
|
||||
system.cpu.dcache.demand_avg_mshr_miss_latency 22921.568627 # average overall mshr miss latency
|
||||
system.cpu.dcache.demand_hits 1116 # number of demand (read+write) hits
|
||||
system.cpu.dcache.demand_miss_latency 3813000 # number of demand (read+write) miss cycles
|
||||
system.cpu.dcache.demand_miss_rate 0.120567 # miss rate for demand accesses
|
||||
system.cpu.dcache.demand_misses 153 # number of demand (read+write) misses
|
||||
system.cpu.dcache.demand_avg_miss_latency 24920 # average overall miss latency
|
||||
system.cpu.dcache.demand_avg_mshr_miss_latency 22920 # average overall mshr miss latency
|
||||
system.cpu.dcache.demand_hits 1119 # number of demand (read+write) hits
|
||||
system.cpu.dcache.demand_miss_latency 3738000 # number of demand (read+write) miss cycles
|
||||
system.cpu.dcache.demand_miss_rate 0.118203 # miss rate for demand accesses
|
||||
system.cpu.dcache.demand_misses 150 # number of demand (read+write) misses
|
||||
system.cpu.dcache.demand_mshr_hits 0 # number of demand (read+write) MSHR hits
|
||||
system.cpu.dcache.demand_mshr_miss_latency 3507000 # number of demand (read+write) MSHR miss cycles
|
||||
system.cpu.dcache.demand_mshr_miss_rate 0.120567 # mshr miss rate for demand accesses
|
||||
system.cpu.dcache.demand_mshr_misses 153 # number of demand (read+write) MSHR misses
|
||||
system.cpu.dcache.demand_mshr_miss_latency 3438000 # number of demand (read+write) MSHR miss cycles
|
||||
system.cpu.dcache.demand_mshr_miss_rate 0.118203 # mshr miss rate for demand accesses
|
||||
system.cpu.dcache.demand_mshr_misses 150 # 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 1269 # number of overall (read+write) accesses
|
||||
system.cpu.dcache.overall_avg_miss_latency 24921.568627 # average overall miss latency
|
||||
system.cpu.dcache.overall_avg_mshr_miss_latency 22921.568627 # average overall mshr miss latency
|
||||
system.cpu.dcache.overall_avg_miss_latency 24920 # average overall miss latency
|
||||
system.cpu.dcache.overall_avg_mshr_miss_latency 22920 # 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 1116 # number of overall hits
|
||||
system.cpu.dcache.overall_miss_latency 3813000 # number of overall miss cycles
|
||||
system.cpu.dcache.overall_miss_rate 0.120567 # miss rate for overall accesses
|
||||
system.cpu.dcache.overall_misses 153 # number of overall misses
|
||||
system.cpu.dcache.overall_hits 1119 # number of overall hits
|
||||
system.cpu.dcache.overall_miss_latency 3738000 # number of overall miss cycles
|
||||
system.cpu.dcache.overall_miss_rate 0.118203 # miss rate for overall accesses
|
||||
system.cpu.dcache.overall_misses 150 # number of overall misses
|
||||
system.cpu.dcache.overall_mshr_hits 0 # number of overall MSHR hits
|
||||
system.cpu.dcache.overall_mshr_miss_latency 3507000 # number of overall MSHR miss cycles
|
||||
system.cpu.dcache.overall_mshr_miss_rate 0.120567 # mshr miss rate for overall accesses
|
||||
system.cpu.dcache.overall_mshr_misses 153 # number of overall MSHR misses
|
||||
system.cpu.dcache.overall_mshr_miss_latency 3438000 # number of overall MSHR miss cycles
|
||||
system.cpu.dcache.overall_mshr_miss_rate 0.118203 # mshr miss rate for overall accesses
|
||||
system.cpu.dcache.overall_mshr_misses 150 # 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
|
||||
|
@ -74,10 +74,10 @@ 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 138 # Sample count of references to valid blocks.
|
||||
system.cpu.dcache.sampled_refs 135 # 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 83.440192 # Cycle average of tags in use
|
||||
system.cpu.dcache.total_refs 1131 # Total number of references to valid blocks.
|
||||
system.cpu.dcache.tagsinuse 81.746424 # Cycle average of tags in use
|
||||
system.cpu.dcache.total_refs 1134 # 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.icache.ReadReq_accesses 4877 # number of ReadReq accesses(hits+misses)
|
||||
|
@ -138,20 +138,20 @@ system.cpu.icache.prefetcher.num_hwpf_squashed_from_miss 0
|
|||
system.cpu.icache.replacements 0 # number of replacements
|
||||
system.cpu.icache.sampled_refs 256 # 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 114.921642 # Cycle average of tags in use
|
||||
system.cpu.icache.tagsinuse 114.989412 # Cycle average of tags in use
|
||||
system.cpu.icache.total_refs 4621 # 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.idle_fraction 0 # Percentage of idle cycles
|
||||
system.cpu.l2cache.ReadExReq_accesses 84 # number of ReadExReq accesses(hits+misses)
|
||||
system.cpu.l2cache.ReadExReq_accesses 81 # number of ReadExReq accesses(hits+misses)
|
||||
system.cpu.l2cache.ReadExReq_avg_miss_latency 22000 # average ReadExReq miss latency
|
||||
system.cpu.l2cache.ReadExReq_avg_mshr_miss_latency 11000 # average ReadExReq mshr miss latency
|
||||
system.cpu.l2cache.ReadExReq_miss_latency 1848000 # number of ReadExReq miss cycles
|
||||
system.cpu.l2cache.ReadExReq_miss_latency 1782000 # number of ReadExReq miss cycles
|
||||
system.cpu.l2cache.ReadExReq_miss_rate 1 # miss rate for ReadExReq accesses
|
||||
system.cpu.l2cache.ReadExReq_misses 84 # number of ReadExReq misses
|
||||
system.cpu.l2cache.ReadExReq_mshr_miss_latency 924000 # number of ReadExReq MSHR miss cycles
|
||||
system.cpu.l2cache.ReadExReq_misses 81 # number of ReadExReq misses
|
||||
system.cpu.l2cache.ReadExReq_mshr_miss_latency 891000 # number of ReadExReq MSHR miss cycles
|
||||
system.cpu.l2cache.ReadExReq_mshr_miss_rate 1 # mshr miss rate for ReadExReq accesses
|
||||
system.cpu.l2cache.ReadExReq_mshr_misses 84 # number of ReadExReq MSHR misses
|
||||
system.cpu.l2cache.ReadExReq_mshr_misses 81 # number of ReadExReq MSHR misses
|
||||
system.cpu.l2cache.ReadReq_accesses 310 # number of ReadReq accesses(hits+misses)
|
||||
system.cpu.l2cache.ReadReq_avg_miss_latency 22000 # average ReadReq miss latency
|
||||
system.cpu.l2cache.ReadReq_avg_mshr_miss_latency 11000 # average ReadReq mshr miss latency
|
||||
|
@ -179,32 +179,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 394 # number of demand (read+write) accesses
|
||||
system.cpu.l2cache.demand_accesses 391 # number of demand (read+write) accesses
|
||||
system.cpu.l2cache.demand_avg_miss_latency 22000 # average overall miss latency
|
||||
system.cpu.l2cache.demand_avg_mshr_miss_latency 11000 # average overall mshr miss latency
|
||||
system.cpu.l2cache.demand_hits 3 # number of demand (read+write) hits
|
||||
system.cpu.l2cache.demand_miss_latency 8602000 # number of demand (read+write) miss cycles
|
||||
system.cpu.l2cache.demand_miss_rate 0.992386 # miss rate for demand accesses
|
||||
system.cpu.l2cache.demand_misses 391 # number of demand (read+write) misses
|
||||
system.cpu.l2cache.demand_miss_latency 8536000 # number of demand (read+write) miss cycles
|
||||
system.cpu.l2cache.demand_miss_rate 0.992327 # miss rate for demand accesses
|
||||
system.cpu.l2cache.demand_misses 388 # 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 4301000 # number of demand (read+write) MSHR miss cycles
|
||||
system.cpu.l2cache.demand_mshr_miss_rate 0.992386 # mshr miss rate for demand accesses
|
||||
system.cpu.l2cache.demand_mshr_misses 391 # number of demand (read+write) MSHR misses
|
||||
system.cpu.l2cache.demand_mshr_miss_latency 4268000 # number of demand (read+write) MSHR miss cycles
|
||||
system.cpu.l2cache.demand_mshr_miss_rate 0.992327 # mshr miss rate for demand accesses
|
||||
system.cpu.l2cache.demand_mshr_misses 388 # 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 394 # number of overall (read+write) accesses
|
||||
system.cpu.l2cache.overall_accesses 391 # number of overall (read+write) accesses
|
||||
system.cpu.l2cache.overall_avg_miss_latency 22000 # average overall miss latency
|
||||
system.cpu.l2cache.overall_avg_mshr_miss_latency 11000 # 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 3 # number of overall hits
|
||||
system.cpu.l2cache.overall_miss_latency 8602000 # number of overall miss cycles
|
||||
system.cpu.l2cache.overall_miss_rate 0.992386 # miss rate for overall accesses
|
||||
system.cpu.l2cache.overall_misses 391 # number of overall misses
|
||||
system.cpu.l2cache.overall_miss_latency 8536000 # number of overall miss cycles
|
||||
system.cpu.l2cache.overall_miss_rate 0.992327 # miss rate for overall accesses
|
||||
system.cpu.l2cache.overall_misses 388 # number of overall misses
|
||||
system.cpu.l2cache.overall_mshr_hits 0 # number of overall MSHR hits
|
||||
system.cpu.l2cache.overall_mshr_miss_latency 4301000 # number of overall MSHR miss cycles
|
||||
system.cpu.l2cache.overall_mshr_miss_rate 0.992386 # mshr miss rate for overall accesses
|
||||
system.cpu.l2cache.overall_mshr_misses 391 # number of overall MSHR misses
|
||||
system.cpu.l2cache.overall_mshr_miss_latency 4268000 # number of overall MSHR miss cycles
|
||||
system.cpu.l2cache.overall_mshr_miss_rate 0.992327 # mshr miss rate for overall accesses
|
||||
system.cpu.l2cache.overall_mshr_misses 388 # 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
|
||||
|
@ -219,12 +219,12 @@ system.cpu.l2cache.prefetcher.num_hwpf_squashed_from_miss 0
|
|||
system.cpu.l2cache.replacements 0 # number of replacements
|
||||
system.cpu.l2cache.sampled_refs 292 # 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 133.706132 # Cycle average of tags in use
|
||||
system.cpu.l2cache.tagsinuse 133.763146 # Cycle average of tags in use
|
||||
system.cpu.l2cache.total_refs 3 # 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.not_idle_fraction 1 # Percentage of non-idle cycles
|
||||
system.cpu.numCycles 31850 # number of cpu cycles simulated
|
||||
system.cpu.numCycles 31706 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 4833 # Number of instructions executed
|
||||
system.cpu.num_refs 1282 # Number of memory references
|
||||
system.cpu.workload.PROG:num_syscalls 11 # Number of system calls
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
0: system.remote_gdb.listener: listening for remote gdb on port 7000
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
|
|
|
@ -5,9 +5,9 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Aug 14 2007 22:08:21
|
||||
M5 started Tue Aug 14 22:08:24 2007
|
||||
M5 compiled Nov 28 2007 15:13:45
|
||||
M5 started Wed Nov 28 15:13:46 2007
|
||||
M5 executing on nacho
|
||||
command line: build/SPARC_SE/m5.fast -d build/SPARC_SE/tests/fast/quick/00.hello/sparc/linux/simple-timing tests/run.py quick/00.hello/sparc/linux/simple-timing
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
Exiting @ tick 15925000 because target called exit()
|
||||
Exiting @ tick 15853000 because target called exit()
|
||||
|
|
|
@ -371,6 +371,7 @@ euid=100
|
|||
executable=/dist/m5/regression/test-progs/insttest/bin/sparc/linux/insttest
|
||||
gid=100
|
||||
input=cin
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
|
|
@ -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 2711 # Number of BTB hits
|
||||
global.BPredUnit.BTBLookups 6964 # Number of BTB lookups
|
||||
global.BPredUnit.BTBHits 2712 # Number of BTB hits
|
||||
global.BPredUnit.BTBLookups 6973 # Number of BTB lookups
|
||||
global.BPredUnit.RASInCorrect 0 # Number of incorrect RAS predictions.
|
||||
global.BPredUnit.condIncorrect 2012 # Number of conditional branches incorrect
|
||||
global.BPredUnit.condPredicted 7659 # Number of conditional branches predicted
|
||||
global.BPredUnit.lookups 7659 # Number of BP lookups
|
||||
global.BPredUnit.condIncorrect 2013 # Number of conditional branches incorrect
|
||||
global.BPredUnit.condPredicted 7668 # Number of conditional branches predicted
|
||||
global.BPredUnit.lookups 7668 # Number of BP lookups
|
||||
global.BPredUnit.usedRAS 0 # Number of times the RAS was used to get a target.
|
||||
host_inst_rate 64485 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 198296 # Number of bytes of host memory used
|
||||
host_seconds 0.16 # Real time elapsed on the host
|
||||
host_tick_rate 92733729 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 2391 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 181652 # Number of bytes of host memory used
|
||||
host_seconds 4.36 # Real time elapsed on the host
|
||||
host_tick_rate 3443166 # Simulator tick rate (ticks/s)
|
||||
memdepunit.memDep.conflictingLoads 15 # Number of conflicting loads.
|
||||
memdepunit.memDep.conflictingStores 0 # Number of conflicting stores.
|
||||
memdepunit.memDep.insertedLoads 3077 # Number of loads inserted to the mem dependence unit.
|
||||
memdepunit.memDep.insertedStores 2956 # Number of stores inserted to the mem dependence unit.
|
||||
memdepunit.memDep.insertedLoads 3078 # Number of loads inserted to the mem dependence unit.
|
||||
memdepunit.memDep.insertedStores 2957 # Number of stores inserted to the mem dependence unit.
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 10411 # Number of instructions simulated
|
||||
sim_seconds 0.000015 # Number of seconds simulated
|
||||
sim_ticks 14990500 # Number of ticks simulated
|
||||
sim_ticks 14995500 # Number of ticks simulated
|
||||
system.cpu.commit.COM:branches 2152 # Number of branches committed
|
||||
system.cpu.commit.COM:bw_lim_events 87 # 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 26989
|
||||
system.cpu.commit.COM:committed_per_cycle.samples 26996
|
||||
system.cpu.commit.COM:committed_per_cycle.min_value 0
|
||||
0 21416 7935.08%
|
||||
1 3114 1153.80%
|
||||
2 1160 429.80%
|
||||
3 589 218.24%
|
||||
4 306 113.38%
|
||||
0 21423 7935.62%
|
||||
1 3114 1153.50%
|
||||
2 1160 429.69%
|
||||
3 589 218.18%
|
||||
4 306 113.35%
|
||||
5 84 31.12%
|
||||
6 196 72.62%
|
||||
6 196 72.60%
|
||||
7 37 13.71%
|
||||
8 87 32.24%
|
||||
8 87 32.23%
|
||||
system.cpu.commit.COM:committed_per_cycle.max_value 8
|
||||
system.cpu.commit.COM:committed_per_cycle.end_dist
|
||||
|
||||
|
@ -43,72 +43,72 @@ system.cpu.commit.COM:loads 1462 # Nu
|
|||
system.cpu.commit.COM:membars 0 # Number of memory barriers committed
|
||||
system.cpu.commit.COM:refs 2760 # Number of memory references committed
|
||||
system.cpu.commit.COM:swp_count 0 # Number of s/w prefetches committed
|
||||
system.cpu.commit.branchMispredicts 2012 # The number of times a branch was mispredicted
|
||||
system.cpu.commit.branchMispredicts 2013 # The number of times a branch was mispredicted
|
||||
system.cpu.commit.commitCommittedInsts 10976 # The number of committed instructions
|
||||
system.cpu.commit.commitNonSpecStalls 329 # The number of times commit has been forced to stall to communicate backwards
|
||||
system.cpu.commit.commitSquashedInsts 13198 # The number of squashed insts skipped by commit
|
||||
system.cpu.commit.commitSquashedInsts 13215 # The number of squashed insts skipped by commit
|
||||
system.cpu.committedInsts 10411 # Number of Instructions Simulated
|
||||
system.cpu.committedInsts_total 10411 # Number of Instructions Simulated
|
||||
system.cpu.cpi 2.879839 # CPI: Cycles Per Instruction
|
||||
system.cpu.cpi_total 2.879839 # CPI: Total CPI of All Threads
|
||||
system.cpu.dcache.ReadReq_accesses 2274 # number of ReadReq accesses(hits+misses)
|
||||
system.cpu.dcache.ReadReq_avg_miss_latency 9734.848485 # average ReadReq miss latency
|
||||
system.cpu.dcache.ReadReq_avg_mshr_miss_latency 5560.606061 # average ReadReq mshr miss latency
|
||||
system.cpu.dcache.ReadReq_hits 2208 # number of ReadReq hits
|
||||
system.cpu.dcache.ReadReq_miss_latency 642500 # number of ReadReq miss cycles
|
||||
system.cpu.dcache.ReadReq_miss_rate 0.029024 # miss rate for ReadReq accesses
|
||||
system.cpu.cpi 2.880799 # CPI: Cycles Per Instruction
|
||||
system.cpu.cpi_total 2.880799 # CPI: Total CPI of All Threads
|
||||
system.cpu.dcache.ReadReq_accesses 2269 # number of ReadReq accesses(hits+misses)
|
||||
system.cpu.dcache.ReadReq_avg_miss_latency 9992.424242 # average ReadReq miss latency
|
||||
system.cpu.dcache.ReadReq_avg_mshr_miss_latency 5515.151515 # average ReadReq mshr miss latency
|
||||
system.cpu.dcache.ReadReq_hits 2203 # number of ReadReq hits
|
||||
system.cpu.dcache.ReadReq_miss_latency 659500 # number of ReadReq miss cycles
|
||||
system.cpu.dcache.ReadReq_miss_rate 0.029088 # miss rate for ReadReq accesses
|
||||
system.cpu.dcache.ReadReq_misses 66 # number of ReadReq misses
|
||||
system.cpu.dcache.ReadReq_mshr_hits 25 # number of ReadReq MSHR hits
|
||||
system.cpu.dcache.ReadReq_mshr_miss_latency 367000 # number of ReadReq MSHR miss cycles
|
||||
system.cpu.dcache.ReadReq_mshr_miss_rate 0.029024 # mshr miss rate for ReadReq accesses
|
||||
system.cpu.dcache.ReadReq_mshr_hits 29 # number of ReadReq MSHR hits
|
||||
system.cpu.dcache.ReadReq_mshr_miss_latency 364000 # number of ReadReq MSHR miss cycles
|
||||
system.cpu.dcache.ReadReq_mshr_miss_rate 0.029088 # mshr miss rate for ReadReq accesses
|
||||
system.cpu.dcache.ReadReq_mshr_misses 66 # number of ReadReq MSHR misses
|
||||
system.cpu.dcache.SwapReq_accesses 6 # number of SwapReq accesses(hits+misses)
|
||||
system.cpu.dcache.SwapReq_hits 6 # number of SwapReq hits
|
||||
system.cpu.dcache.WriteReq_accesses 1171 # number of WriteReq accesses(hits+misses)
|
||||
system.cpu.dcache.WriteReq_avg_miss_latency 16414.285714 # average WriteReq miss latency
|
||||
system.cpu.dcache.WriteReq_avg_mshr_miss_latency 5623.809524 # average WriteReq mshr miss latency
|
||||
system.cpu.dcache.WriteReq_hits 1066 # number of WriteReq hits
|
||||
system.cpu.dcache.WriteReq_miss_latency 1723500 # number of WriteReq miss cycles
|
||||
system.cpu.dcache.WriteReq_miss_rate 0.089667 # miss rate for WriteReq accesses
|
||||
system.cpu.dcache.WriteReq_misses 105 # number of WriteReq misses
|
||||
system.cpu.dcache.WriteReq_avg_miss_latency 16051.886792 # average WriteReq miss latency
|
||||
system.cpu.dcache.WriteReq_avg_mshr_miss_latency 5589.622642 # average WriteReq mshr miss latency
|
||||
system.cpu.dcache.WriteReq_hits 1065 # number of WriteReq hits
|
||||
system.cpu.dcache.WriteReq_miss_latency 1701500 # number of WriteReq miss cycles
|
||||
system.cpu.dcache.WriteReq_miss_rate 0.090521 # miss rate for WriteReq accesses
|
||||
system.cpu.dcache.WriteReq_misses 106 # number of WriteReq misses
|
||||
system.cpu.dcache.WriteReq_mshr_hits 121 # number of WriteReq MSHR hits
|
||||
system.cpu.dcache.WriteReq_mshr_miss_latency 590500 # number of WriteReq MSHR miss cycles
|
||||
system.cpu.dcache.WriteReq_mshr_miss_rate 0.089667 # mshr miss rate for WriteReq accesses
|
||||
system.cpu.dcache.WriteReq_mshr_misses 105 # number of WriteReq MSHR misses
|
||||
system.cpu.dcache.WriteReq_mshr_miss_latency 592500 # number of WriteReq MSHR miss cycles
|
||||
system.cpu.dcache.WriteReq_mshr_miss_rate 0.090521 # mshr miss rate for WriteReq accesses
|
||||
system.cpu.dcache.WriteReq_mshr_misses 106 # 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 <err: div-0> # average number of cycles each access was blocked
|
||||
system.cpu.dcache.avg_refs 21.703947 # Average number of references to valid blocks.
|
||||
system.cpu.dcache.avg_refs 21.376623 # 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 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 0 # number of cycles access was blocked
|
||||
system.cpu.dcache.cache_copies 0 # number of cache copies performed
|
||||
system.cpu.dcache.demand_accesses 3445 # number of demand (read+write) accesses
|
||||
system.cpu.dcache.demand_avg_miss_latency 13836.257310 # average overall miss latency
|
||||
system.cpu.dcache.demand_avg_mshr_miss_latency 5599.415205 # average overall mshr miss latency
|
||||
system.cpu.dcache.demand_hits 3274 # number of demand (read+write) hits
|
||||
system.cpu.dcache.demand_miss_latency 2366000 # number of demand (read+write) miss cycles
|
||||
system.cpu.dcache.demand_miss_rate 0.049637 # miss rate for demand accesses
|
||||
system.cpu.dcache.demand_misses 171 # number of demand (read+write) misses
|
||||
system.cpu.dcache.demand_mshr_hits 146 # number of demand (read+write) MSHR hits
|
||||
system.cpu.dcache.demand_mshr_miss_latency 957500 # number of demand (read+write) MSHR miss cycles
|
||||
system.cpu.dcache.demand_mshr_miss_rate 0.049637 # mshr miss rate for demand accesses
|
||||
system.cpu.dcache.demand_mshr_misses 171 # number of demand (read+write) MSHR misses
|
||||
system.cpu.dcache.demand_accesses 3440 # number of demand (read+write) accesses
|
||||
system.cpu.dcache.demand_avg_miss_latency 13726.744186 # average overall miss latency
|
||||
system.cpu.dcache.demand_avg_mshr_miss_latency 5561.046512 # average overall mshr miss latency
|
||||
system.cpu.dcache.demand_hits 3268 # number of demand (read+write) hits
|
||||
system.cpu.dcache.demand_miss_latency 2361000 # number of demand (read+write) miss cycles
|
||||
system.cpu.dcache.demand_miss_rate 0.050000 # miss rate for demand accesses
|
||||
system.cpu.dcache.demand_misses 172 # number of demand (read+write) misses
|
||||
system.cpu.dcache.demand_mshr_hits 150 # number of demand (read+write) MSHR hits
|
||||
system.cpu.dcache.demand_mshr_miss_latency 956500 # number of demand (read+write) MSHR miss cycles
|
||||
system.cpu.dcache.demand_mshr_miss_rate 0.050000 # mshr miss rate for demand accesses
|
||||
system.cpu.dcache.demand_mshr_misses 172 # 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 3445 # number of overall (read+write) accesses
|
||||
system.cpu.dcache.overall_avg_miss_latency 13836.257310 # average overall miss latency
|
||||
system.cpu.dcache.overall_avg_mshr_miss_latency 5599.415205 # average overall mshr miss latency
|
||||
system.cpu.dcache.overall_accesses 3440 # number of overall (read+write) accesses
|
||||
system.cpu.dcache.overall_avg_miss_latency 13726.744186 # average overall miss latency
|
||||
system.cpu.dcache.overall_avg_mshr_miss_latency 5561.046512 # 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 3274 # number of overall hits
|
||||
system.cpu.dcache.overall_miss_latency 2366000 # number of overall miss cycles
|
||||
system.cpu.dcache.overall_miss_rate 0.049637 # miss rate for overall accesses
|
||||
system.cpu.dcache.overall_misses 171 # number of overall misses
|
||||
system.cpu.dcache.overall_mshr_hits 146 # number of overall MSHR hits
|
||||
system.cpu.dcache.overall_mshr_miss_latency 957500 # number of overall MSHR miss cycles
|
||||
system.cpu.dcache.overall_mshr_miss_rate 0.049637 # mshr miss rate for overall accesses
|
||||
system.cpu.dcache.overall_mshr_misses 171 # number of overall MSHR misses
|
||||
system.cpu.dcache.overall_hits 3268 # number of overall hits
|
||||
system.cpu.dcache.overall_miss_latency 2361000 # number of overall miss cycles
|
||||
system.cpu.dcache.overall_miss_rate 0.050000 # miss rate for overall accesses
|
||||
system.cpu.dcache.overall_misses 172 # number of overall misses
|
||||
system.cpu.dcache.overall_mshr_hits 150 # number of overall MSHR hits
|
||||
system.cpu.dcache.overall_mshr_miss_latency 956500 # number of overall MSHR miss cycles
|
||||
system.cpu.dcache.overall_mshr_miss_rate 0.050000 # mshr miss rate for overall accesses
|
||||
system.cpu.dcache.overall_mshr_misses 172 # 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
|
||||
|
@ -121,87 +121,87 @@ 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 152 # Sample count of references to valid blocks.
|
||||
system.cpu.dcache.sampled_refs 154 # 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 111.288485 # Cycle average of tags in use
|
||||
system.cpu.dcache.total_refs 3299 # Total number of references to valid blocks.
|
||||
system.cpu.dcache.tagsinuse 112.808512 # Cycle average of tags in use
|
||||
system.cpu.dcache.total_refs 3292 # 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 3945 # Number of cycles decode is blocked
|
||||
system.cpu.decode.DECODE:DecodedInsts 38084 # Number of instructions handled by decode
|
||||
system.cpu.decode.DECODE:IdleCycles 12820 # Number of cycles decode is idle
|
||||
system.cpu.decode.DECODE:RunCycles 10159 # Number of cycles decode is running
|
||||
system.cpu.decode.DECODE:SquashCycles 2909 # Number of cycles decode is squashing
|
||||
system.cpu.decode.DECODE:BlockedCycles 3940 # Number of cycles decode is blocked
|
||||
system.cpu.decode.DECODE:DecodedInsts 38117 # Number of instructions handled by decode
|
||||
system.cpu.decode.DECODE:IdleCycles 12825 # Number of cycles decode is idle
|
||||
system.cpu.decode.DECODE:RunCycles 10166 # Number of cycles decode is running
|
||||
system.cpu.decode.DECODE:SquashCycles 2912 # Number of cycles decode is squashing
|
||||
system.cpu.decode.DECODE:UnblockCycles 65 # Number of cycles decode is unblocking
|
||||
system.cpu.fetch.Branches 7659 # Number of branches that fetch encountered
|
||||
system.cpu.fetch.CacheLines 4927 # Number of cache lines fetched
|
||||
system.cpu.fetch.Cycles 16219 # Number of cycles fetch has run and was not squashing or blocked
|
||||
system.cpu.fetch.IcacheSquashes 589 # Number of outstanding Icache misses that were squashed
|
||||
system.cpu.fetch.Insts 42202 # Number of instructions fetch has processed
|
||||
system.cpu.fetch.SquashCycles 2099 # Number of cycles fetch has spent squashing
|
||||
system.cpu.fetch.branchRate 0.255453 # Number of branch fetches per cycle
|
||||
system.cpu.fetch.icacheStallCycles 4927 # Number of cycles fetch is stalled on an Icache miss
|
||||
system.cpu.fetch.predictedBranches 2711 # Number of branches that fetch has predicted taken
|
||||
system.cpu.fetch.rate 1.407578 # Number of inst fetches per cycle
|
||||
system.cpu.fetch.Branches 7668 # Number of branches that fetch encountered
|
||||
system.cpu.fetch.CacheLines 4931 # Number of cache lines fetched
|
||||
system.cpu.fetch.Cycles 16230 # Number of cycles fetch has run and was not squashing or blocked
|
||||
system.cpu.fetch.IcacheSquashes 591 # Number of outstanding Icache misses that were squashed
|
||||
system.cpu.fetch.Insts 42235 # Number of instructions fetch has processed
|
||||
system.cpu.fetch.SquashCycles 2100 # Number of cycles fetch has spent squashing
|
||||
system.cpu.fetch.branchRate 0.255668 # Number of branch fetches per cycle
|
||||
system.cpu.fetch.icacheStallCycles 4931 # Number of cycles fetch is stalled on an Icache miss
|
||||
system.cpu.fetch.predictedBranches 2712 # Number of branches that fetch has predicted taken
|
||||
system.cpu.fetch.rate 1.408209 # Number of inst fetches per cycle
|
||||
system.cpu.fetch.rateDist.start_dist # Number of instructions fetched each cycle (Total)
|
||||
system.cpu.fetch.rateDist.samples 29898
|
||||
system.cpu.fetch.rateDist.samples 29908
|
||||
system.cpu.fetch.rateDist.min_value 0
|
||||
0 18628 6230.52%
|
||||
1 4885 1633.89%
|
||||
2 619 207.04%
|
||||
3 712 238.14%
|
||||
4 788 263.56%
|
||||
5 640 214.06%
|
||||
6 611 204.36%
|
||||
7 195 65.22%
|
||||
8 2820 943.21%
|
||||
0 18631 6229.44%
|
||||
1 4887 1634.01%
|
||||
2 620 207.30%
|
||||
3 712 238.06%
|
||||
4 788 263.47%
|
||||
5 640 213.99%
|
||||
6 612 204.63%
|
||||
7 196 65.53%
|
||||
8 2822 943.56%
|
||||
system.cpu.fetch.rateDist.max_value 8
|
||||
system.cpu.fetch.rateDist.end_dist
|
||||
|
||||
system.cpu.icache.ReadReq_accesses 4907 # number of ReadReq accesses(hits+misses)
|
||||
system.cpu.icache.ReadReq_accesses 4912 # number of ReadReq accesses(hits+misses)
|
||||
system.cpu.icache.ReadReq_avg_miss_latency 7495.945946 # average ReadReq miss latency
|
||||
system.cpu.icache.ReadReq_avg_mshr_miss_latency 5325.675676 # average ReadReq mshr miss latency
|
||||
system.cpu.icache.ReadReq_hits 4537 # number of ReadReq hits
|
||||
system.cpu.icache.ReadReq_avg_mshr_miss_latency 5332.432432 # average ReadReq mshr miss latency
|
||||
system.cpu.icache.ReadReq_hits 4542 # number of ReadReq hits
|
||||
system.cpu.icache.ReadReq_miss_latency 2773500 # number of ReadReq miss cycles
|
||||
system.cpu.icache.ReadReq_miss_rate 0.075402 # miss rate for ReadReq accesses
|
||||
system.cpu.icache.ReadReq_miss_rate 0.075326 # miss rate for ReadReq accesses
|
||||
system.cpu.icache.ReadReq_misses 370 # number of ReadReq misses
|
||||
system.cpu.icache.ReadReq_mshr_hits 20 # number of ReadReq MSHR hits
|
||||
system.cpu.icache.ReadReq_mshr_miss_latency 1970500 # number of ReadReq MSHR miss cycles
|
||||
system.cpu.icache.ReadReq_mshr_miss_rate 0.075402 # mshr miss rate for ReadReq accesses
|
||||
system.cpu.icache.ReadReq_mshr_hits 19 # number of ReadReq MSHR hits
|
||||
system.cpu.icache.ReadReq_mshr_miss_latency 1973000 # number of ReadReq MSHR miss cycles
|
||||
system.cpu.icache.ReadReq_mshr_miss_rate 0.075326 # mshr miss rate for ReadReq accesses
|
||||
system.cpu.icache.ReadReq_mshr_misses 370 # 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 <err: div-0> # average number of cycles each access was blocked
|
||||
system.cpu.icache.avg_refs 12.262162 # Average number of references to valid blocks.
|
||||
system.cpu.icache.avg_refs 12.275676 # 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 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 0 # number of cycles access was blocked
|
||||
system.cpu.icache.cache_copies 0 # number of cache copies performed
|
||||
system.cpu.icache.demand_accesses 4907 # number of demand (read+write) accesses
|
||||
system.cpu.icache.demand_accesses 4912 # number of demand (read+write) accesses
|
||||
system.cpu.icache.demand_avg_miss_latency 7495.945946 # average overall miss latency
|
||||
system.cpu.icache.demand_avg_mshr_miss_latency 5325.675676 # average overall mshr miss latency
|
||||
system.cpu.icache.demand_hits 4537 # number of demand (read+write) hits
|
||||
system.cpu.icache.demand_avg_mshr_miss_latency 5332.432432 # average overall mshr miss latency
|
||||
system.cpu.icache.demand_hits 4542 # number of demand (read+write) hits
|
||||
system.cpu.icache.demand_miss_latency 2773500 # number of demand (read+write) miss cycles
|
||||
system.cpu.icache.demand_miss_rate 0.075402 # miss rate for demand accesses
|
||||
system.cpu.icache.demand_miss_rate 0.075326 # miss rate for demand accesses
|
||||
system.cpu.icache.demand_misses 370 # number of demand (read+write) misses
|
||||
system.cpu.icache.demand_mshr_hits 20 # number of demand (read+write) MSHR hits
|
||||
system.cpu.icache.demand_mshr_miss_latency 1970500 # number of demand (read+write) MSHR miss cycles
|
||||
system.cpu.icache.demand_mshr_miss_rate 0.075402 # mshr miss rate for demand accesses
|
||||
system.cpu.icache.demand_mshr_hits 19 # number of demand (read+write) MSHR hits
|
||||
system.cpu.icache.demand_mshr_miss_latency 1973000 # number of demand (read+write) MSHR miss cycles
|
||||
system.cpu.icache.demand_mshr_miss_rate 0.075326 # mshr miss rate for demand accesses
|
||||
system.cpu.icache.demand_mshr_misses 370 # 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 4907 # number of overall (read+write) accesses
|
||||
system.cpu.icache.overall_accesses 4912 # number of overall (read+write) accesses
|
||||
system.cpu.icache.overall_avg_miss_latency 7495.945946 # average overall miss latency
|
||||
system.cpu.icache.overall_avg_mshr_miss_latency 5325.675676 # average overall mshr miss latency
|
||||
system.cpu.icache.overall_avg_mshr_miss_latency 5332.432432 # 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 4537 # number of overall hits
|
||||
system.cpu.icache.overall_hits 4542 # number of overall hits
|
||||
system.cpu.icache.overall_miss_latency 2773500 # number of overall miss cycles
|
||||
system.cpu.icache.overall_miss_rate 0.075402 # miss rate for overall accesses
|
||||
system.cpu.icache.overall_miss_rate 0.075326 # miss rate for overall accesses
|
||||
system.cpu.icache.overall_misses 370 # number of overall misses
|
||||
system.cpu.icache.overall_mshr_hits 20 # number of overall MSHR hits
|
||||
system.cpu.icache.overall_mshr_miss_latency 1970500 # number of overall MSHR miss cycles
|
||||
system.cpu.icache.overall_mshr_miss_rate 0.075402 # mshr miss rate for overall accesses
|
||||
system.cpu.icache.overall_mshr_hits 19 # number of overall MSHR hits
|
||||
system.cpu.icache.overall_mshr_miss_latency 1973000 # number of overall MSHR miss cycles
|
||||
system.cpu.icache.overall_mshr_miss_rate 0.075326 # mshr miss rate for overall accesses
|
||||
system.cpu.icache.overall_mshr_misses 370 # 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
|
||||
|
@ -217,39 +217,39 @@ system.cpu.icache.prefetcher.num_hwpf_squashed_from_miss 0
|
|||
system.cpu.icache.replacements 1 # number of replacements
|
||||
system.cpu.icache.sampled_refs 370 # 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 233.477311 # Cycle average of tags in use
|
||||
system.cpu.icache.total_refs 4537 # Total number of references to valid blocks.
|
||||
system.cpu.icache.tagsinuse 233.392727 # Cycle average of tags in use
|
||||
system.cpu.icache.total_refs 4542 # 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 84 # Total number of cycles that the CPU has spent unscheduled due to idling
|
||||
system.cpu.iew.EXEC:branches 3086 # Number of branches executed
|
||||
system.cpu.iew.EXEC:branches 3087 # Number of branches executed
|
||||
system.cpu.iew.EXEC:nop 1794 # number of nop insts executed
|
||||
system.cpu.iew.EXEC:rate 0.575379 # Inst execution rate
|
||||
system.cpu.iew.EXEC:refs 4543 # number of memory reference insts executed
|
||||
system.cpu.iew.EXEC:rate 0.575487 # Inst execution rate
|
||||
system.cpu.iew.EXEC:refs 4542 # number of memory reference insts executed
|
||||
system.cpu.iew.EXEC:stores 2116 # Number of stores executed
|
||||
system.cpu.iew.EXEC:swp 0 # number of swp insts executed
|
||||
system.cpu.iew.WB:consumers 9189 # num instructions consuming a value
|
||||
system.cpu.iew.WB:count 16618 # cumulative count of insts written-back
|
||||
system.cpu.iew.WB:fanout 0.827620 # average fanout of values written-back
|
||||
system.cpu.iew.WB:consumers 9197 # num instructions consuming a value
|
||||
system.cpu.iew.WB:count 16627 # cumulative count of insts written-back
|
||||
system.cpu.iew.WB:fanout 0.827444 # 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 7605 # num instructions producing a value
|
||||
system.cpu.iew.WB:rate 0.554266 # insts written-back per cycle
|
||||
system.cpu.iew.WB:sent 16830 # cumulative count of insts sent to commit
|
||||
system.cpu.iew.branchMispredicts 2216 # Number of branch mispredicts detected at execute
|
||||
system.cpu.iew.WB:producers 7610 # num instructions producing a value
|
||||
system.cpu.iew.WB:rate 0.554381 # insts written-back per cycle
|
||||
system.cpu.iew.WB:sent 16839 # cumulative count of insts sent to commit
|
||||
system.cpu.iew.branchMispredicts 2217 # Number of branch mispredicts detected at execute
|
||||
system.cpu.iew.iewBlockCycles 0 # Number of cycles IEW is blocking
|
||||
system.cpu.iew.iewDispLoadInsts 3077 # Number of dispatched load instructions
|
||||
system.cpu.iew.iewDispLoadInsts 3078 # Number of dispatched load instructions
|
||||
system.cpu.iew.iewDispNonSpecInsts 612 # Number of dispatched non-speculative instructions
|
||||
system.cpu.iew.iewDispSquashedInsts 2973 # Number of squashed instructions skipped by dispatch
|
||||
system.cpu.iew.iewDispStoreInsts 2956 # Number of dispatched store instructions
|
||||
system.cpu.iew.iewDispatchedInsts 24330 # Number of instructions dispatched to IQ
|
||||
system.cpu.iew.iewExecLoadInsts 2427 # Number of load instructions executed
|
||||
system.cpu.iew.iewExecSquashedInsts 2838 # Number of squashed instructions skipped in execute
|
||||
system.cpu.iew.iewExecutedInsts 17251 # Number of executed instructions
|
||||
system.cpu.iew.iewDispSquashedInsts 2981 # Number of squashed instructions skipped by dispatch
|
||||
system.cpu.iew.iewDispStoreInsts 2957 # Number of dispatched store instructions
|
||||
system.cpu.iew.iewDispatchedInsts 24347 # Number of instructions dispatched to IQ
|
||||
system.cpu.iew.iewExecLoadInsts 2426 # Number of load instructions executed
|
||||
system.cpu.iew.iewExecSquashedInsts 2842 # Number of squashed instructions skipped in execute
|
||||
system.cpu.iew.iewExecutedInsts 17260 # Number of executed instructions
|
||||
system.cpu.iew.iewIQFullEvents 0 # 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 2909 # Number of cycles IEW is squashing
|
||||
system.cpu.iew.iewSquashCycles 2912 # Number of cycles IEW is squashing
|
||||
system.cpu.iew.iewUnblockCycles 0 # 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 0 # Number of times an access to memory failed due to the cache being blocked
|
||||
|
@ -259,17 +259,17 @@ system.cpu.iew.lsq.thread.0.invAddrLoads 0 # Nu
|
|||
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 57 # 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 1615 # Number of loads squashed
|
||||
system.cpu.iew.lsq.thread.0.squashedStores 1658 # Number of stores squashed
|
||||
system.cpu.iew.lsq.thread.0.squashedLoads 1616 # Number of loads squashed
|
||||
system.cpu.iew.lsq.thread.0.squashedStores 1659 # Number of stores squashed
|
||||
system.cpu.iew.memOrderViolationEvents 57 # Number of memory order violations
|
||||
system.cpu.iew.predictedNotTakenIncorrect 695 # Number of branches that were predicted not taken incorrectly
|
||||
system.cpu.iew.predictedTakenIncorrect 1521 # Number of branches that were predicted taken incorrectly
|
||||
system.cpu.ipc 0.347242 # IPC: Instructions Per Cycle
|
||||
system.cpu.ipc_total 0.347242 # IPC: Total IPC of All Threads
|
||||
system.cpu.iq.ISSUE:FU_type_0 20089 # Type of FU issued
|
||||
system.cpu.iew.predictedTakenIncorrect 1522 # Number of branches that were predicted taken incorrectly
|
||||
system.cpu.ipc 0.347126 # IPC: Instructions Per Cycle
|
||||
system.cpu.ipc_total 0.347126 # IPC: Total IPC of All Threads
|
||||
system.cpu.iq.ISSUE:FU_type_0 20102 # Type of FU issued
|
||||
system.cpu.iq.ISSUE:FU_type_0.start_dist
|
||||
No_OpClass 0 0.00% # Type of FU issued
|
||||
IntAlu 14535 72.35% # Type of FU issued
|
||||
IntAlu 14548 72.37% # Type of FU issued
|
||||
IntMult 0 0.00% # Type of FU issued
|
||||
IntDiv 0 0.00% # Type of FU issued
|
||||
FloatAdd 0 0.00% # Type of FU issued
|
||||
|
@ -278,13 +278,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 2907 14.47% # Type of FU issued
|
||||
MemWrite 2647 13.18% # Type of FU issued
|
||||
MemRead 2907 14.46% # Type of FU issued
|
||||
MemWrite 2647 13.17% # 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 188 # FU busy when requested
|
||||
system.cpu.iq.ISSUE:fu_busy_rate 0.009358 # FU busy rate (busy events/executed inst)
|
||||
system.cpu.iq.ISSUE:fu_busy_rate 0.009352 # FU busy rate (busy events/executed inst)
|
||||
system.cpu.iq.ISSUE:fu_full.start_dist
|
||||
No_OpClass 0 0.00% # attempts to use FU when none available
|
||||
IntAlu 50 26.60% # attempts to use FU when none available
|
||||
|
@ -302,90 +302,90 @@ 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 29898
|
||||
system.cpu.iq.ISSUE:issued_per_cycle.samples 29908
|
||||
system.cpu.iq.ISSUE:issued_per_cycle.min_value 0
|
||||
0 21040 7037.26%
|
||||
1 3621 1211.12%
|
||||
2 2127 711.42%
|
||||
3 1561 522.11%
|
||||
4 748 250.18%
|
||||
5 407 136.13%
|
||||
6 293 98.00%
|
||||
7 62 20.74%
|
||||
0 21042 7035.58%
|
||||
1 3623 1211.38%
|
||||
2 2132 712.85%
|
||||
3 1562 522.27%
|
||||
4 750 250.77%
|
||||
5 405 135.42%
|
||||
6 293 97.97%
|
||||
7 62 20.73%
|
||||
8 39 13.04%
|
||||
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.670035 # Inst issue rate
|
||||
system.cpu.iq.iqInstsAdded 21924 # Number of instructions added to the IQ (excludes non-spec)
|
||||
system.cpu.iq.iqInstsIssued 20089 # Number of instructions issued
|
||||
system.cpu.iq.ISSUE:rate 0.670245 # Inst issue rate
|
||||
system.cpu.iq.iqInstsAdded 21941 # Number of instructions added to the IQ (excludes non-spec)
|
||||
system.cpu.iq.iqInstsIssued 20102 # Number of instructions issued
|
||||
system.cpu.iq.iqNonSpecInstsAdded 612 # Number of non-speculative instructions added to the IQ
|
||||
system.cpu.iq.iqSquashedInstsExamined 10307 # Number of squashed instructions iterated over during squash; mainly for profiling
|
||||
system.cpu.iq.iqSquashedInstsExamined 10302 # Number of squashed instructions iterated over during squash; mainly for profiling
|
||||
system.cpu.iq.iqSquashedInstsIssued 110 # Number of squashed instructions issued
|
||||
system.cpu.iq.iqSquashedNonSpecRemoved 283 # Number of squashed non-spec instructions that were removed
|
||||
system.cpu.iq.iqSquashedOperandsExamined 8241 # Number of squashed operands that are examined and possibly removed from graph
|
||||
system.cpu.l2cache.ReadExReq_accesses 86 # number of ReadExReq accesses(hits+misses)
|
||||
system.cpu.l2cache.ReadExReq_avg_miss_latency 4424.418605 # average ReadExReq miss latency
|
||||
system.cpu.l2cache.ReadExReq_avg_mshr_miss_latency 2424.418605 # average ReadExReq mshr miss latency
|
||||
system.cpu.l2cache.ReadExReq_miss_latency 380500 # number of ReadExReq miss cycles
|
||||
system.cpu.iq.iqSquashedOperandsExamined 8248 # Number of squashed operands that are examined and possibly removed from graph
|
||||
system.cpu.l2cache.ReadExReq_accesses 88 # number of ReadExReq accesses(hits+misses)
|
||||
system.cpu.l2cache.ReadExReq_avg_miss_latency 4431.818182 # average ReadExReq miss latency
|
||||
system.cpu.l2cache.ReadExReq_avg_mshr_miss_latency 2431.818182 # average ReadExReq mshr miss latency
|
||||
system.cpu.l2cache.ReadExReq_miss_latency 390000 # number of ReadExReq miss cycles
|
||||
system.cpu.l2cache.ReadExReq_miss_rate 1 # miss rate for ReadExReq accesses
|
||||
system.cpu.l2cache.ReadExReq_misses 86 # number of ReadExReq misses
|
||||
system.cpu.l2cache.ReadExReq_mshr_miss_latency 208500 # number of ReadExReq MSHR miss cycles
|
||||
system.cpu.l2cache.ReadExReq_misses 88 # number of ReadExReq misses
|
||||
system.cpu.l2cache.ReadExReq_mshr_miss_latency 214000 # number of ReadExReq MSHR miss cycles
|
||||
system.cpu.l2cache.ReadExReq_mshr_miss_rate 1 # mshr miss rate for ReadExReq accesses
|
||||
system.cpu.l2cache.ReadExReq_mshr_misses 86 # number of ReadExReq MSHR misses
|
||||
system.cpu.l2cache.ReadExReq_mshr_misses 88 # number of ReadExReq MSHR misses
|
||||
system.cpu.l2cache.ReadReq_accesses 436 # number of ReadReq accesses(hits+misses)
|
||||
system.cpu.l2cache.ReadReq_avg_miss_latency 4287.037037 # average ReadReq miss latency
|
||||
system.cpu.l2cache.ReadReq_avg_mshr_miss_latency 2287.037037 # average ReadReq mshr miss latency
|
||||
system.cpu.l2cache.ReadReq_avg_miss_latency 4283.564815 # average ReadReq miss latency
|
||||
system.cpu.l2cache.ReadReq_avg_mshr_miss_latency 2283.564815 # average ReadReq mshr miss latency
|
||||
system.cpu.l2cache.ReadReq_hits 4 # number of ReadReq hits
|
||||
system.cpu.l2cache.ReadReq_miss_latency 1852000 # number of ReadReq miss cycles
|
||||
system.cpu.l2cache.ReadReq_miss_latency 1850500 # number of ReadReq miss cycles
|
||||
system.cpu.l2cache.ReadReq_miss_rate 0.990826 # miss rate for ReadReq accesses
|
||||
system.cpu.l2cache.ReadReq_misses 432 # number of ReadReq misses
|
||||
system.cpu.l2cache.ReadReq_mshr_miss_latency 988000 # number of ReadReq MSHR miss cycles
|
||||
system.cpu.l2cache.ReadReq_mshr_miss_latency 986500 # number of ReadReq MSHR miss cycles
|
||||
system.cpu.l2cache.ReadReq_mshr_miss_rate 0.990826 # mshr miss rate for ReadReq accesses
|
||||
system.cpu.l2cache.ReadReq_mshr_misses 432 # number of ReadReq MSHR misses
|
||||
system.cpu.l2cache.UpgradeReq_accesses 19 # number of UpgradeReq accesses(hits+misses)
|
||||
system.cpu.l2cache.UpgradeReq_avg_miss_latency 4421.052632 # average UpgradeReq miss latency
|
||||
system.cpu.l2cache.UpgradeReq_avg_mshr_miss_latency 2421.052632 # average UpgradeReq mshr miss latency
|
||||
system.cpu.l2cache.UpgradeReq_miss_latency 84000 # number of UpgradeReq miss cycles
|
||||
system.cpu.l2cache.UpgradeReq_accesses 18 # number of UpgradeReq accesses(hits+misses)
|
||||
system.cpu.l2cache.UpgradeReq_avg_miss_latency 4416.666667 # average UpgradeReq miss latency
|
||||
system.cpu.l2cache.UpgradeReq_avg_mshr_miss_latency 2416.666667 # average UpgradeReq mshr miss latency
|
||||
system.cpu.l2cache.UpgradeReq_miss_latency 79500 # number of UpgradeReq miss cycles
|
||||
system.cpu.l2cache.UpgradeReq_miss_rate 1 # miss rate for UpgradeReq accesses
|
||||
system.cpu.l2cache.UpgradeReq_misses 19 # number of UpgradeReq misses
|
||||
system.cpu.l2cache.UpgradeReq_mshr_miss_latency 46000 # number of UpgradeReq MSHR miss cycles
|
||||
system.cpu.l2cache.UpgradeReq_misses 18 # number of UpgradeReq misses
|
||||
system.cpu.l2cache.UpgradeReq_mshr_miss_latency 43500 # number of UpgradeReq MSHR miss cycles
|
||||
system.cpu.l2cache.UpgradeReq_mshr_miss_rate 1 # mshr miss rate for UpgradeReq accesses
|
||||
system.cpu.l2cache.UpgradeReq_mshr_misses 19 # number of UpgradeReq MSHR misses
|
||||
system.cpu.l2cache.UpgradeReq_mshr_misses 18 # number of UpgradeReq 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.009685 # Average number of references to valid blocks.
|
||||
system.cpu.l2cache.avg_refs 0.009662 # Average number of references to valid blocks.
|
||||
system.cpu.l2cache.blocked_no_mshrs 0 # number of cycles access was blocked
|
||||
system.cpu.l2cache.blocked_no_targets 0 # number of cycles access was blocked
|
||||
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 522 # number of demand (read+write) accesses
|
||||
system.cpu.l2cache.demand_avg_miss_latency 4309.845560 # average overall miss latency
|
||||
system.cpu.l2cache.demand_avg_mshr_miss_latency 2309.845560 # average overall mshr miss latency
|
||||
system.cpu.l2cache.demand_accesses 524 # number of demand (read+write) accesses
|
||||
system.cpu.l2cache.demand_avg_miss_latency 4308.653846 # average overall miss latency
|
||||
system.cpu.l2cache.demand_avg_mshr_miss_latency 2308.653846 # average overall mshr miss latency
|
||||
system.cpu.l2cache.demand_hits 4 # number of demand (read+write) hits
|
||||
system.cpu.l2cache.demand_miss_latency 2232500 # number of demand (read+write) miss cycles
|
||||
system.cpu.l2cache.demand_miss_rate 0.992337 # miss rate for demand accesses
|
||||
system.cpu.l2cache.demand_misses 518 # number of demand (read+write) misses
|
||||
system.cpu.l2cache.demand_miss_latency 2240500 # number of demand (read+write) miss cycles
|
||||
system.cpu.l2cache.demand_miss_rate 0.992366 # miss rate for demand accesses
|
||||
system.cpu.l2cache.demand_misses 520 # 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 1196500 # number of demand (read+write) MSHR miss cycles
|
||||
system.cpu.l2cache.demand_mshr_miss_rate 0.992337 # mshr miss rate for demand accesses
|
||||
system.cpu.l2cache.demand_mshr_misses 518 # number of demand (read+write) MSHR misses
|
||||
system.cpu.l2cache.demand_mshr_miss_latency 1200500 # number of demand (read+write) MSHR miss cycles
|
||||
system.cpu.l2cache.demand_mshr_miss_rate 0.992366 # mshr miss rate for demand accesses
|
||||
system.cpu.l2cache.demand_mshr_misses 520 # 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 522 # number of overall (read+write) accesses
|
||||
system.cpu.l2cache.overall_avg_miss_latency 4309.845560 # average overall miss latency
|
||||
system.cpu.l2cache.overall_avg_mshr_miss_latency 2309.845560 # average overall mshr miss latency
|
||||
system.cpu.l2cache.overall_accesses 524 # number of overall (read+write) accesses
|
||||
system.cpu.l2cache.overall_avg_miss_latency 4308.653846 # average overall miss latency
|
||||
system.cpu.l2cache.overall_avg_mshr_miss_latency 2308.653846 # 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 4 # number of overall hits
|
||||
system.cpu.l2cache.overall_miss_latency 2232500 # number of overall miss cycles
|
||||
system.cpu.l2cache.overall_miss_rate 0.992337 # miss rate for overall accesses
|
||||
system.cpu.l2cache.overall_misses 518 # number of overall misses
|
||||
system.cpu.l2cache.overall_miss_latency 2240500 # number of overall miss cycles
|
||||
system.cpu.l2cache.overall_miss_rate 0.992366 # miss rate for overall accesses
|
||||
system.cpu.l2cache.overall_misses 520 # number of overall misses
|
||||
system.cpu.l2cache.overall_mshr_hits 0 # number of overall MSHR hits
|
||||
system.cpu.l2cache.overall_mshr_miss_latency 1196500 # number of overall MSHR miss cycles
|
||||
system.cpu.l2cache.overall_mshr_miss_rate 0.992337 # mshr miss rate for overall accesses
|
||||
system.cpu.l2cache.overall_mshr_misses 518 # number of overall MSHR misses
|
||||
system.cpu.l2cache.overall_mshr_miss_latency 1200500 # number of overall MSHR miss cycles
|
||||
system.cpu.l2cache.overall_mshr_miss_rate 0.992366 # mshr miss rate for overall accesses
|
||||
system.cpu.l2cache.overall_mshr_misses 520 # 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
|
||||
|
@ -398,23 +398,23 @@ 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 413 # Sample count of references to valid blocks.
|
||||
system.cpu.l2cache.sampled_refs 414 # 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 259.708792 # Cycle average of tags in use
|
||||
system.cpu.l2cache.tagsinuse 260.564179 # Cycle average of tags in use
|
||||
system.cpu.l2cache.total_refs 4 # 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 29982 # number of cpu cycles simulated
|
||||
system.cpu.numCycles 29992 # number of cpu cycles simulated
|
||||
system.cpu.rename.RENAME:CommittedMaps 9868 # Number of HB maps that are committed
|
||||
system.cpu.rename.RENAME:IdleCycles 14192 # Number of cycles rename is idle
|
||||
system.cpu.rename.RENAME:RenameLookups 51924 # Number of register rename lookups that rename has made
|
||||
system.cpu.rename.RENAME:RenamedInsts 30001 # Number of instructions processed by rename
|
||||
system.cpu.rename.RENAME:RenamedOperands 24487 # Number of destination operands rename has renamed
|
||||
system.cpu.rename.RENAME:RunCycles 8874 # Number of cycles rename is running
|
||||
system.cpu.rename.RENAME:SquashCycles 2909 # Number of cycles rename is squashing
|
||||
system.cpu.rename.RENAME:IdleCycles 14199 # Number of cycles rename is idle
|
||||
system.cpu.rename.RENAME:RenameLookups 51943 # Number of register rename lookups that rename has made
|
||||
system.cpu.rename.RENAME:RenamedInsts 30018 # Number of instructions processed by rename
|
||||
system.cpu.rename.RENAME:RenamedOperands 24503 # Number of destination operands rename has renamed
|
||||
system.cpu.rename.RENAME:RunCycles 8879 # Number of cycles rename is running
|
||||
system.cpu.rename.RENAME:SquashCycles 2912 # Number of cycles rename is squashing
|
||||
system.cpu.rename.RENAME:UnblockCycles 230 # Number of cycles rename is unblocking
|
||||
system.cpu.rename.RENAME:UndoneMaps 14619 # Number of HB maps that are undone due to squashing
|
||||
system.cpu.rename.RENAME:serializeStallCycles 3693 # count of cycles rename stalled for serializing inst
|
||||
system.cpu.rename.RENAME:UndoneMaps 14635 # Number of HB maps that are undone due to squashing
|
||||
system.cpu.rename.RENAME:serializeStallCycles 3688 # count of cycles rename stalled for serializing inst
|
||||
system.cpu.rename.RENAME:serializingInsts 648 # count of serializing insts renamed
|
||||
system.cpu.rename.RENAME:skidInsts 4472 # count of insts added to the skid buffer
|
||||
system.cpu.rename.RENAME:tempSerializingInsts 685 # count of temporary serializing insts renamed
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
0: system.remote_gdb.listener: listening for remote gdb on port 7004
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
|
|
|
@ -16,9 +16,9 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Aug 19 2007 19:19:06
|
||||
M5 started Sun Aug 19 19:19:36 2007
|
||||
M5 compiled Nov 28 2007 15:13:45
|
||||
M5 started Wed Nov 28 15:13:46 2007
|
||||
M5 executing on nacho
|
||||
command line: build/SPARC_SE/m5.debug -d build/SPARC_SE/tests/debug/quick/02.insttest/sparc/linux/o3-timing tests/run.py quick/02.insttest/sparc/linux/o3-timing
|
||||
command line: build/SPARC_SE/m5.fast -d build/SPARC_SE/tests/fast/quick/02.insttest/sparc/linux/o3-timing tests/run.py quick/02.insttest/sparc/linux/o3-timing
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
Exiting @ tick 14990500 because target called exit()
|
||||
Exiting @ tick 14995500 because target called exit()
|
||||
|
|
|
@ -54,6 +54,7 @@ euid=100
|
|||
executable=/dist/m5/regression/test-progs/insttest/bin/sparc/linux/insttest
|
||||
gid=100
|
||||
input=cin
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 464357 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 173536 # Number of bytes of host memory used
|
||||
host_seconds 0.02 # Real time elapsed on the host
|
||||
host_tick_rate 229778722 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 2681 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 173616 # Number of bytes of host memory used
|
||||
host_seconds 4.09 # Real time elapsed on the host
|
||||
host_tick_rate 1346729 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 10976 # Number of instructions simulated
|
||||
sim_seconds 0.000006 # Number of seconds simulated
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
0: system.remote_gdb.listener: listening for remote gdb on port 7001
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
|
|
|
@ -16,8 +16,8 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Aug 14 2007 22:08:21
|
||||
M5 started Tue Aug 14 22:08:25 2007
|
||||
M5 compiled Nov 28 2007 15:13:45
|
||||
M5 started Wed Nov 28 15:13:46 2007
|
||||
M5 executing on nacho
|
||||
command line: build/SPARC_SE/m5.fast -d build/SPARC_SE/tests/fast/quick/02.insttest/sparc/linux/simple-atomic tests/run.py quick/02.insttest/sparc/linux/simple-atomic
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
|
|
|
@ -169,6 +169,7 @@ euid=100
|
|||
executable=/dist/m5/regression/test-progs/insttest/bin/sparc/linux/insttest
|
||||
gid=100
|
||||
input=cin
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
|
|
@ -1,38 +1,38 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 472716 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 197656 # Number of bytes of host memory used
|
||||
host_seconds 0.02 # Real time elapsed on the host
|
||||
host_tick_rate 1037354119 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 2502 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 180992 # Number of bytes of host memory used
|
||||
host_seconds 4.39 # Real time elapsed on the host
|
||||
host_tick_rate 5561973 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 10976 # Number of instructions simulated
|
||||
sim_seconds 0.000024 # Number of seconds simulated
|
||||
sim_ticks 24355000 # Number of ticks simulated
|
||||
sim_ticks 24403000 # Number of ticks simulated
|
||||
system.cpu.dcache.ReadReq_accesses 1462 # number of ReadReq accesses(hits+misses)
|
||||
system.cpu.dcache.ReadReq_avg_miss_latency 25000 # average ReadReq miss latency
|
||||
system.cpu.dcache.ReadReq_avg_mshr_miss_latency 23000 # average ReadReq mshr miss latency
|
||||
system.cpu.dcache.ReadReq_hits 1408 # number of ReadReq hits
|
||||
system.cpu.dcache.ReadReq_miss_latency 1350000 # number of ReadReq miss cycles
|
||||
system.cpu.dcache.ReadReq_miss_rate 0.036936 # miss rate for ReadReq accesses
|
||||
system.cpu.dcache.ReadReq_misses 54 # number of ReadReq misses
|
||||
system.cpu.dcache.ReadReq_mshr_miss_latency 1242000 # number of ReadReq MSHR miss cycles
|
||||
system.cpu.dcache.ReadReq_mshr_miss_rate 0.036936 # mshr miss rate for ReadReq accesses
|
||||
system.cpu.dcache.ReadReq_mshr_misses 54 # number of ReadReq MSHR misses
|
||||
system.cpu.dcache.ReadReq_hits 1407 # number of ReadReq hits
|
||||
system.cpu.dcache.ReadReq_miss_latency 1375000 # number of ReadReq miss cycles
|
||||
system.cpu.dcache.ReadReq_miss_rate 0.037620 # miss rate for ReadReq accesses
|
||||
system.cpu.dcache.ReadReq_misses 55 # number of ReadReq misses
|
||||
system.cpu.dcache.ReadReq_mshr_miss_latency 1265000 # number of ReadReq MSHR miss cycles
|
||||
system.cpu.dcache.ReadReq_mshr_miss_rate 0.037620 # mshr miss rate for ReadReq accesses
|
||||
system.cpu.dcache.ReadReq_mshr_misses 55 # number of ReadReq MSHR misses
|
||||
system.cpu.dcache.SwapReq_accesses 6 # number of SwapReq accesses(hits+misses)
|
||||
system.cpu.dcache.SwapReq_hits 6 # number of SwapReq hits
|
||||
system.cpu.dcache.WriteReq_accesses 1292 # number of WriteReq accesses(hits+misses)
|
||||
system.cpu.dcache.WriteReq_avg_miss_latency 25000 # average WriteReq miss latency
|
||||
system.cpu.dcache.WriteReq_avg_mshr_miss_latency 23000 # average WriteReq mshr miss latency
|
||||
system.cpu.dcache.WriteReq_hits 1187 # number of WriteReq hits
|
||||
system.cpu.dcache.WriteReq_miss_latency 2625000 # number of WriteReq miss cycles
|
||||
system.cpu.dcache.WriteReq_miss_rate 0.081269 # miss rate for WriteReq accesses
|
||||
system.cpu.dcache.WriteReq_misses 105 # number of WriteReq misses
|
||||
system.cpu.dcache.WriteReq_mshr_miss_latency 2415000 # number of WriteReq MSHR miss cycles
|
||||
system.cpu.dcache.WriteReq_mshr_miss_rate 0.081269 # mshr miss rate for WriteReq accesses
|
||||
system.cpu.dcache.WriteReq_mshr_misses 105 # number of WriteReq MSHR misses
|
||||
system.cpu.dcache.WriteReq_hits 1186 # number of WriteReq hits
|
||||
system.cpu.dcache.WriteReq_miss_latency 2650000 # number of WriteReq miss cycles
|
||||
system.cpu.dcache.WriteReq_miss_rate 0.082043 # miss rate for WriteReq accesses
|
||||
system.cpu.dcache.WriteReq_misses 106 # number of WriteReq misses
|
||||
system.cpu.dcache.WriteReq_mshr_miss_latency 2438000 # number of WriteReq MSHR miss cycles
|
||||
system.cpu.dcache.WriteReq_mshr_miss_rate 0.082043 # mshr miss rate for WriteReq accesses
|
||||
system.cpu.dcache.WriteReq_mshr_misses 106 # 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 <err: div-0> # average number of cycles each access was blocked
|
||||
system.cpu.dcache.avg_refs 18.436620 # Average number of references to valid blocks.
|
||||
system.cpu.dcache.avg_refs 18.166667 # 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 0 # number of cycles access was blocked
|
||||
system.cpu.dcache.blocked_cycles_no_mshrs 0 # number of cycles access was blocked
|
||||
|
@ -41,14 +41,14 @@ system.cpu.dcache.cache_copies 0 # nu
|
|||
system.cpu.dcache.demand_accesses 2754 # number of demand (read+write) accesses
|
||||
system.cpu.dcache.demand_avg_miss_latency 25000 # average overall miss latency
|
||||
system.cpu.dcache.demand_avg_mshr_miss_latency 23000 # average overall mshr miss latency
|
||||
system.cpu.dcache.demand_hits 2595 # number of demand (read+write) hits
|
||||
system.cpu.dcache.demand_miss_latency 3975000 # number of demand (read+write) miss cycles
|
||||
system.cpu.dcache.demand_miss_rate 0.057734 # miss rate for demand accesses
|
||||
system.cpu.dcache.demand_misses 159 # number of demand (read+write) misses
|
||||
system.cpu.dcache.demand_hits 2593 # number of demand (read+write) hits
|
||||
system.cpu.dcache.demand_miss_latency 4025000 # number of demand (read+write) miss cycles
|
||||
system.cpu.dcache.demand_miss_rate 0.058460 # miss rate for demand accesses
|
||||
system.cpu.dcache.demand_misses 161 # number of demand (read+write) misses
|
||||
system.cpu.dcache.demand_mshr_hits 0 # number of demand (read+write) MSHR hits
|
||||
system.cpu.dcache.demand_mshr_miss_latency 3657000 # number of demand (read+write) MSHR miss cycles
|
||||
system.cpu.dcache.demand_mshr_miss_rate 0.057734 # mshr miss rate for demand accesses
|
||||
system.cpu.dcache.demand_mshr_misses 159 # number of demand (read+write) MSHR misses
|
||||
system.cpu.dcache.demand_mshr_miss_latency 3703000 # number of demand (read+write) MSHR miss cycles
|
||||
system.cpu.dcache.demand_mshr_miss_rate 0.058460 # mshr miss rate for demand accesses
|
||||
system.cpu.dcache.demand_mshr_misses 161 # 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
|
||||
|
@ -56,14 +56,14 @@ system.cpu.dcache.overall_accesses 2754 # nu
|
|||
system.cpu.dcache.overall_avg_miss_latency 25000 # average overall miss latency
|
||||
system.cpu.dcache.overall_avg_mshr_miss_latency 23000 # 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 2595 # number of overall hits
|
||||
system.cpu.dcache.overall_miss_latency 3975000 # number of overall miss cycles
|
||||
system.cpu.dcache.overall_miss_rate 0.057734 # miss rate for overall accesses
|
||||
system.cpu.dcache.overall_misses 159 # number of overall misses
|
||||
system.cpu.dcache.overall_hits 2593 # number of overall hits
|
||||
system.cpu.dcache.overall_miss_latency 4025000 # number of overall miss cycles
|
||||
system.cpu.dcache.overall_miss_rate 0.058460 # miss rate for overall accesses
|
||||
system.cpu.dcache.overall_misses 161 # number of overall misses
|
||||
system.cpu.dcache.overall_mshr_hits 0 # number of overall MSHR hits
|
||||
system.cpu.dcache.overall_mshr_miss_latency 3657000 # number of overall MSHR miss cycles
|
||||
system.cpu.dcache.overall_mshr_miss_rate 0.057734 # mshr miss rate for overall accesses
|
||||
system.cpu.dcache.overall_mshr_misses 159 # number of overall MSHR misses
|
||||
system.cpu.dcache.overall_mshr_miss_latency 3703000 # number of overall MSHR miss cycles
|
||||
system.cpu.dcache.overall_mshr_miss_rate 0.058460 # mshr miss rate for overall accesses
|
||||
system.cpu.dcache.overall_mshr_misses 161 # 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
|
||||
|
@ -76,10 +76,10 @@ 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 142 # Sample count of references to valid blocks.
|
||||
system.cpu.dcache.sampled_refs 144 # 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 100.373888 # Cycle average of tags in use
|
||||
system.cpu.dcache.total_refs 2618 # Total number of references to valid blocks.
|
||||
system.cpu.dcache.tagsinuse 101.761875 # Cycle average of tags in use
|
||||
system.cpu.dcache.total_refs 2616 # 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.icache.ReadReq_accesses 11012 # number of ReadReq accesses(hits+misses)
|
||||
|
@ -140,30 +140,30 @@ system.cpu.icache.prefetcher.num_hwpf_squashed_from_miss 0
|
|||
system.cpu.icache.replacements 0 # number of replacements
|
||||
system.cpu.icache.sampled_refs 283 # 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 155.977710 # Cycle average of tags in use
|
||||
system.cpu.icache.tagsinuse 155.854818 # Cycle average of tags in use
|
||||
system.cpu.icache.total_refs 10729 # 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.idle_fraction 0 # Percentage of idle cycles
|
||||
system.cpu.l2cache.ReadExReq_accesses 88 # number of ReadExReq accesses(hits+misses)
|
||||
system.cpu.l2cache.ReadExReq_accesses 89 # number of ReadExReq accesses(hits+misses)
|
||||
system.cpu.l2cache.ReadExReq_avg_miss_latency 22000 # average ReadExReq miss latency
|
||||
system.cpu.l2cache.ReadExReq_avg_mshr_miss_latency 11000 # average ReadExReq mshr miss latency
|
||||
system.cpu.l2cache.ReadExReq_miss_latency 1936000 # number of ReadExReq miss cycles
|
||||
system.cpu.l2cache.ReadExReq_miss_latency 1958000 # number of ReadExReq miss cycles
|
||||
system.cpu.l2cache.ReadExReq_miss_rate 1 # miss rate for ReadExReq accesses
|
||||
system.cpu.l2cache.ReadExReq_misses 88 # number of ReadExReq misses
|
||||
system.cpu.l2cache.ReadExReq_mshr_miss_latency 968000 # number of ReadExReq MSHR miss cycles
|
||||
system.cpu.l2cache.ReadExReq_misses 89 # number of ReadExReq misses
|
||||
system.cpu.l2cache.ReadExReq_mshr_miss_latency 979000 # number of ReadExReq MSHR miss cycles
|
||||
system.cpu.l2cache.ReadExReq_mshr_miss_rate 1 # mshr miss rate for ReadExReq accesses
|
||||
system.cpu.l2cache.ReadExReq_mshr_misses 88 # number of ReadExReq MSHR misses
|
||||
system.cpu.l2cache.ReadReq_accesses 337 # number of ReadReq accesses(hits+misses)
|
||||
system.cpu.l2cache.ReadExReq_mshr_misses 89 # number of ReadExReq MSHR misses
|
||||
system.cpu.l2cache.ReadReq_accesses 338 # number of ReadReq accesses(hits+misses)
|
||||
system.cpu.l2cache.ReadReq_avg_miss_latency 22000 # average ReadReq miss latency
|
||||
system.cpu.l2cache.ReadReq_avg_mshr_miss_latency 11000 # average ReadReq mshr miss latency
|
||||
system.cpu.l2cache.ReadReq_hits 2 # number of ReadReq hits
|
||||
system.cpu.l2cache.ReadReq_miss_latency 7370000 # number of ReadReq miss cycles
|
||||
system.cpu.l2cache.ReadReq_miss_rate 0.994065 # miss rate for ReadReq accesses
|
||||
system.cpu.l2cache.ReadReq_misses 335 # number of ReadReq misses
|
||||
system.cpu.l2cache.ReadReq_mshr_miss_latency 3685000 # number of ReadReq MSHR miss cycles
|
||||
system.cpu.l2cache.ReadReq_mshr_miss_rate 0.994065 # mshr miss rate for ReadReq accesses
|
||||
system.cpu.l2cache.ReadReq_mshr_misses 335 # number of ReadReq MSHR misses
|
||||
system.cpu.l2cache.ReadReq_miss_latency 7392000 # number of ReadReq miss cycles
|
||||
system.cpu.l2cache.ReadReq_miss_rate 0.994083 # miss rate for ReadReq accesses
|
||||
system.cpu.l2cache.ReadReq_misses 336 # number of ReadReq misses
|
||||
system.cpu.l2cache.ReadReq_mshr_miss_latency 3696000 # number of ReadReq MSHR miss cycles
|
||||
system.cpu.l2cache.ReadReq_mshr_miss_rate 0.994083 # mshr miss rate for ReadReq accesses
|
||||
system.cpu.l2cache.ReadReq_mshr_misses 336 # number of ReadReq MSHR misses
|
||||
system.cpu.l2cache.UpgradeReq_accesses 17 # number of UpgradeReq accesses(hits+misses)
|
||||
system.cpu.l2cache.UpgradeReq_avg_miss_latency 22000 # average UpgradeReq miss latency
|
||||
system.cpu.l2cache.UpgradeReq_avg_mshr_miss_latency 11000 # average UpgradeReq mshr miss latency
|
||||
|
@ -175,38 +175,38 @@ system.cpu.l2cache.UpgradeReq_mshr_miss_rate 1
|
|||
system.cpu.l2cache.UpgradeReq_mshr_misses 17 # number of UpgradeReq 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.006289 # Average number of references to valid blocks.
|
||||
system.cpu.l2cache.avg_refs 0.006270 # Average number of references to valid blocks.
|
||||
system.cpu.l2cache.blocked_no_mshrs 0 # number of cycles access was blocked
|
||||
system.cpu.l2cache.blocked_no_targets 0 # number of cycles access was blocked
|
||||
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 425 # number of demand (read+write) accesses
|
||||
system.cpu.l2cache.demand_accesses 427 # number of demand (read+write) accesses
|
||||
system.cpu.l2cache.demand_avg_miss_latency 22000 # average overall miss latency
|
||||
system.cpu.l2cache.demand_avg_mshr_miss_latency 11000 # average overall mshr miss latency
|
||||
system.cpu.l2cache.demand_hits 2 # number of demand (read+write) hits
|
||||
system.cpu.l2cache.demand_miss_latency 9306000 # number of demand (read+write) miss cycles
|
||||
system.cpu.l2cache.demand_miss_rate 0.995294 # miss rate for demand accesses
|
||||
system.cpu.l2cache.demand_misses 423 # number of demand (read+write) misses
|
||||
system.cpu.l2cache.demand_miss_latency 9350000 # number of demand (read+write) miss cycles
|
||||
system.cpu.l2cache.demand_miss_rate 0.995316 # miss rate for demand accesses
|
||||
system.cpu.l2cache.demand_misses 425 # 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 4653000 # number of demand (read+write) MSHR miss cycles
|
||||
system.cpu.l2cache.demand_mshr_miss_rate 0.995294 # mshr miss rate for demand accesses
|
||||
system.cpu.l2cache.demand_mshr_misses 423 # number of demand (read+write) MSHR misses
|
||||
system.cpu.l2cache.demand_mshr_miss_latency 4675000 # number of demand (read+write) MSHR miss cycles
|
||||
system.cpu.l2cache.demand_mshr_miss_rate 0.995316 # mshr miss rate for demand accesses
|
||||
system.cpu.l2cache.demand_mshr_misses 425 # 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 425 # number of overall (read+write) accesses
|
||||
system.cpu.l2cache.overall_accesses 427 # number of overall (read+write) accesses
|
||||
system.cpu.l2cache.overall_avg_miss_latency 22000 # average overall miss latency
|
||||
system.cpu.l2cache.overall_avg_mshr_miss_latency 11000 # 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 2 # number of overall hits
|
||||
system.cpu.l2cache.overall_miss_latency 9306000 # number of overall miss cycles
|
||||
system.cpu.l2cache.overall_miss_rate 0.995294 # miss rate for overall accesses
|
||||
system.cpu.l2cache.overall_misses 423 # number of overall misses
|
||||
system.cpu.l2cache.overall_miss_latency 9350000 # number of overall miss cycles
|
||||
system.cpu.l2cache.overall_miss_rate 0.995316 # miss rate for overall accesses
|
||||
system.cpu.l2cache.overall_misses 425 # number of overall misses
|
||||
system.cpu.l2cache.overall_mshr_hits 0 # number of overall MSHR hits
|
||||
system.cpu.l2cache.overall_mshr_miss_latency 4653000 # number of overall MSHR miss cycles
|
||||
system.cpu.l2cache.overall_mshr_miss_rate 0.995294 # mshr miss rate for overall accesses
|
||||
system.cpu.l2cache.overall_mshr_misses 423 # number of overall MSHR misses
|
||||
system.cpu.l2cache.overall_mshr_miss_latency 4675000 # number of overall MSHR miss cycles
|
||||
system.cpu.l2cache.overall_mshr_miss_rate 0.995316 # mshr miss rate for overall accesses
|
||||
system.cpu.l2cache.overall_mshr_misses 425 # 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
|
||||
|
@ -219,14 +219,14 @@ 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 318 # Sample count of references to valid blocks.
|
||||
system.cpu.l2cache.sampled_refs 319 # 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 178.108320 # Cycle average of tags in use
|
||||
system.cpu.l2cache.tagsinuse 178.928867 # Cycle average of tags in use
|
||||
system.cpu.l2cache.total_refs 2 # 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.not_idle_fraction 1 # Percentage of non-idle cycles
|
||||
system.cpu.numCycles 48710 # number of cpu cycles simulated
|
||||
system.cpu.numCycles 48806 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 10976 # Number of instructions executed
|
||||
system.cpu.num_refs 2770 # Number of memory references
|
||||
system.cpu.workload.PROG:num_syscalls 8 # Number of system calls
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
0: system.remote_gdb.listener: listening for remote gdb on port 7002
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
|
|
|
@ -16,9 +16,9 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Aug 14 2007 22:08:21
|
||||
M5 started Tue Aug 14 22:08:25 2007
|
||||
M5 compiled Nov 28 2007 15:13:45
|
||||
M5 started Wed Nov 28 15:13:46 2007
|
||||
M5 executing on nacho
|
||||
command line: build/SPARC_SE/m5.fast -d build/SPARC_SE/tests/fast/quick/02.insttest/sparc/linux/simple-timing tests/run.py quick/02.insttest/sparc/linux/simple-timing
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
Exiting @ tick 24355000 because target called exit()
|
||||
Exiting @ tick 24403000 because target called exit()
|
||||
|
|
Loading…
Reference in a new issue