Hi all,
When using CMP.L2Shared.Trace to generate flexpoints, the cache and branch
prediction are warmed. But I feel confused about warming time of each flexpoint.
For example, I use this command to generate 28 flexpoints:
run_job -postprocess
"/home/zhangwuxiang/modify-flexus-4.1/scripts/postprocess_ckptgen.sh flexpoint
20 cassandra" -cfg trace -run flexpoint -local -ckpt-gen CMP.L2Shared.Trace
cassandra/1cpu
And according to .run_job.rc.tcl file, it executes this command:
{ cassandra/1cpu baseline 0-0:0 "server_cpu0.cycle-break
25000000; instruction-fetch-mode instruction-fetch-trace" }
Does this mean that it run for 25m cycles with CMP.L2Shared.Trace, and take a
flexpoint. And then it continues to run with CMP.L2Shared.Trace for next 25m
cycles, and then take next flexpoint and so on? In other words, it run with
CMP.L2Shared.Trace for 20*25m cycles continuously, and save a state of cache
and branch prediction for each flexpoint.
But I am not sure whether this comprehension is right or not.
Another comprehension of the flexpoint : it run for 25m cycles with
CMP.L2Shared.Trace, and take a flexpoint, it contains a flexstate with cache
and branch prediction information and a simics checkpoint, and then start from
this simics checkpoint , run next 25m cycles with CMP.L2Shared.Trace and then
take flexpoint and so on. If this is right, at the start of every 25m cycles,
the cache will be empty, isn't it?
I don't know how to confirm which comprehension is right. Can anyone tell me
which is right and why it right?
Look forward your reply.
2013-07-24
Best Regards!
MAIL: [email protected]