Hello,

I am trying to do something similar where each core has it's own clock,
To do this I'm creating a ClockDomain per core in the fs.py script.

Looking like:

test_sys.cpu_clk_domain = SrcClockDomain(clock = "2GHz",
                                         voltage_domain =
                                         test_sys.cpu_voltage_domain)

test_sys.cpu_slow_clk_domain = SrcClockDomain(clock = "1GHz",
                                         voltage_domain =
                                         test_sys.cpu_voltage_domain)

Then I manually instantiate the cpus as it follows:

test_sys.cpu = [TestCPUClass(clk_domain=test_sys.cpu_clk_domain, cpu_id=0), 
TestCPUClass(clk_domain=test_sys.cpu_slow_clk_domain, cpu_id=1)]

This way you will get an independent clock domain for each core and its 
associated caches,
if you change it's value with your DFS implementation I think it may work.

However I have been trying to boot cpus with different clock values in FS mode, 
and with the timing cpu I get TSC related errors and the simulation stalls 
after a bit. doing a cat /proc/cpuinfo shows the same cpu freq for all the 
cores. If anyone has an insight on this I will be very grateful.

--Emilio

________________________________
De: gem5-users-boun...@gem5.org [gem5-users-boun...@gem5.org] en nombre de Amin 
Farmahini [amin...@gmail.com]
Enviado: miƩrcoles, 05 de febrero de 2014 7:45
Para: gem5 users mailing list
Asunto: Re: [gem5-users] Per core DFS implementation

Hi Srini,

You could have a separate clock domain for each core and each clock domain has 
its own clock period. Take a look at src/sim/clocked_object.hh .
And I am no expert, so hopefully experienced users could provide more detailed 
info.

Thanks,
Amin


On Wed, Feb 5, 2014 at 12:23 AM, Srinivasan Narayanamoorthy 
<narayanam...@wisc.edu<mailto:narayanam...@wisc.edu>> wrote:
Hi,This is Srini. I have implemented a system level DFS in gem5 and it seems to 
be working. Now I am trying to implement per-core DFS in gem5. With the current 
class hierarchy, clockedObject is the parent of the cpu classes and there is 
just one _clockPeriod member. Thus all cpu's update the same _clockPeriod 
member and the clocks to the cpu change with every core updating it. It would 
be really nice if some one can give any suggestions on how to do per-core dfs. 
I am using a fairly recent revision of gem5. When I checked some older 
versions(2012) I saw that the clock period variable was part of the cpu class 
and hence per-core dfs would have been straightforward. Please bear with me if 
I am naive.


Thanks
Srini
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org<mailto:gem5-users@gem5.org>
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to