Date: | Thu, 20 May 2010 14:30:55 +0800 |
---|---|
From: | lori zhuang <lorizhuang@xxxxxxxxx> |
Subject: | [Gems-users] About data prefetch |
List, I wonder if Ruby simulates the behavior of data prefetch. It seems like it does according to this link https://lists.cs.wisc.edu/archive/gems-users/2007-November/msg00102.shtml. But it seems like it doesn't according to the code in SimicsDriver.C:
int SimicsDriver::makeRequest(memory_transaction_t *mem_trans) { ... ... // skip unsupported types if (isUnhandledTransaction(mem_trans)) {
ret = Unhandled; } else { // perform makeRequest() int proc = SIMICS_get_proc_no(mem_trans->s.ini_ptr); ret = m_processors[proc]->makeRequest(mem_trans);
} ... ... } bool SimicsDriver::isUnhandledTransaction(memory_transaction_t* mem_trans) { // only handle user data? if (USER_MODE_DATA_ONLY) {
if(PRIV_MODE) { return true; } if(mem_trans->s.type == Sim_Trans_Instr_Fetch) { return true; } } // no prefetches
if (mem_trans->s.type == Sim_Trans_Prefetch) { return true; } // no cache flush if (mem_trans->s.type == Sim_Trans_Cache) { return true;
} // no DMA & IO if (IS_DEV_MEM_OP(mem_trans->s.ini_type) || IS_OTH_MEM_OP(mem_trans->s.ini_type) || mem_trans->s.physical_address > uinteger_t(RubyConfig::memorySizeBytes())
) { return true; } return false; } Ruby skips supported types memory request and it threats Sim_Trans_Prefetch as unsupported types. Hence I think Ruby doesn't simulates data prefetching. Am I right?
Since I'm going to add a prefetch instruction of the SPARC v9 instruction set to a benchmark and see if any speedups. That's why I care so much about prefetching. Any suggestion is highly appreciated. Thanks, lorizhuang |
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | Re: [Gems-users] Error when compile Ruby with Simics 3.0.31, Byn Choi |
---|---|
Next by Date: | Re: [Gems-users] About data prefetch, Dan Gibson |
Previous by Thread: | , (nil) |
Next by Thread: | Re: [Gems-users] About data prefetch, Dan Gibson |
Indexes: | [Date] [Thread] |