Re: [Gems-users] Problems configuring direct cache in Ruby...


Date: Thu, 25 Jun 2009 19:42:11 +0200
From: David Bonavila <david.bonavila@xxxxxxxxxxxxxxxxxx>
Subject: Re: [Gems-users] Problems configuring direct cache in Ruby...

Does anyone have any idea of what might be wrong with this ??

Thanks!!


2009/6/11 David Bonavila <david.bonavila@xxxxxxxxxxxxxxxxxx>

Hi,

I'm trying to configure a direct cache (associativity = 1) in Ruby, but I get an strange behavior.
This is my script:

read-configuration final-2p.check
magic-break-enable

@conf.con0.input = "cd /parsec/\n";
@conf.con0.input = "./bin/parsecmgmt -a run -i simsmall -x gcc-hooks -p bodytrack -n 2\n";

c

cpu-switch-time 1
instruction-fetch-mode instruction-fetch-trace
istc-disable
dstc-disable

load-module ruby
ruby0.setparam g_PROCS_PER_CHIP 2
ruby0.setparam g_NUM_PROCESSORS 2
ruby0.setparam NUMBER_OF_VIRTUAL_NETWORKS 5

ruby0.setparam_str g_REPLACEMENT_POLICY LRU
ruby0.setparam L1_CACHE_ASSOC 1
ruby0.setparam L1_CACHE_NUM_SETS_BITS 8
ruby0.setparam L2_CACHE_ASSOC 1
ruby0.setparam L2_CACHE_NUM_SETS_BITS 12


ruby0.init

load-module opal
opal0.init
opal0.sim-start "output_OBJ1-1_BODYTRACK_256KB_ASSOC1.opal"
opal0.sim-step 100000
opal0.stats

ruby0.dump-stats output_OBJ1-1_BODYTRACK_256KB_ASSOC1.ruby
q


I read in this mailing list that to configure a direct mapped cache I should set g_REPLACEMENT_POLICY to LRU. I did so, but when I run the script it simulates just 6.000 or 7.000 instructions and the simulation stops. No errors or warnings, all seems correct, but when I look at the stats file just 6 or 7 thousand instructions have been simulated.

If I change "L2_CACHE_ASSOC 1" to "L2_CACHE_ASSOC 2" everything works fine, and I have correctly simulated 20 million instruction with this configuration, even with "L1_CACHE_ASSOC" set to 1. So it's a problem with "L2_CACHE_ASSOC" param which is causing me trouble.

How should I configure a direct L2 cache??

Thank you all!!


[← Prev in Thread] Current Thread [Next in Thread→]