[gem5-users] Tracking DRAM read/write requests

2014-10-03 Thread Prathap Kolakkampadath via gem5-users
Hi Users,

I am using an O3 4 cpu ARMv7 with DDR3_1600_x64. L1 I/Dcache size=32k and
L2Cache size=1MB. #MSHRs' L1 = 10 and #MSHRs' L2 = 30.According to my
understanding, this will enable each core to generate 10 outstanding memory
requests.
I am running a bandwidth test on all cpu's, which is memory-intesnive and
generates consequent read requests to DRAM.

However when i captured the DRAM debug messages, i could see that the DRAM
read queue size is varying only between 0-2(expected a queue fill)  and
reads are scheduling immediately. Whereas the write queue size varies and
goes above 20.
Any guess on what's going wrong?
I can use a CommMonitor to track incoming requests to DRAM but how can i
track read/writes to DRAM ?

Thanks,
Prathap
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

[gem5-users] Stray instructions in trace ?

2014-10-03 Thread Sudarshan L Sargur via gem5-users
Hello guys,

I am using the tracing facility in Gem5 to filter out certain instructions
I don't need and generating a instruction trace which suits my purpose -
basically only looking at certain function executions in my application.

The setup is that the application runs on a full system emulation
(necessary as I am using multitasked application)

The problem I am facing is that my trace(filtered) and the complete trace
(default gem5) are inserting a stray instruction  *movs   pc, lr*
(Ususally used for a function return I believe) when there is none in the
actual object dump of the application.  And this instruction is getting
inserted non periodically.

Specifically it shows up as : *c002f54c* *movs   pc, lr. Note the address
which is the same always and the typical trace can be as follows.*


* Addr   Op*

 96a4some op

c002f54c  movs pc ,lr



96a8some op

96ac some op

 I am facing this problem *only in FS *not in SE mode.

Any ideas ?

Thanks

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

Re: [gem5-users] Tracking DRAM read/write requests

2014-10-03 Thread Amin Farmahini via gem5-users
This is very dependent on your bandwidth test program. May be your miss
rate is low... may be your programs cannot benefit from memory level
parallelism... Use gem5 stats to dig in further. There are some programs
out there that can stress dram utilization. But writing a good one is not
that hard.
Are you using a prefetcher? For apps with regular access patterns a
prefetcher could increase dram bandwidth utilization significantly...

It makes sense that your write queue grows to 20, since a good dram
controller should not interleave reads and writes to improve dram access
efficiency. The gem5 dram controller buffers write requests up to a
threshold before triggering writes.
On tracking, you simply use a trace flag (I think it was DRAM) to trace
incoming read and write requests.

Thanks,
Amin

On Fri, Oct 3, 2014 at 2:58 PM, Prathap Kolakkampadath via gem5-users 
gem5-users@gem5.org wrote:

 Hi Users,

 I am using an O3 4 cpu ARMv7 with DDR3_1600_x64. L1 I/Dcache size=32k and
 L2Cache size=1MB. #MSHRs' L1 = 10 and #MSHRs' L2 = 30.According to my
 understanding, this will enable each core to generate 10 outstanding memory
 requests.
 I am running a bandwidth test on all cpu's, which is memory-intesnive and
 generates consequent read requests to DRAM.

 However when i captured the DRAM debug messages, i could see that the DRAM
 read queue size is varying only between 0-2(expected a queue fill)  and
 reads are scheduling immediately. Whereas the write queue size varies and
 goes above 20.
 Any guess on what's going wrong?
 I can use a CommMonitor to track incoming requests to DRAM but how can i
 track read/writes to DRAM ?

 Thanks,
 Prathap

 ___
 gem5-users mailing list
 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