Skip to contentSkip to conversation

about memory bandwidth

DISCUSSION zzh 2 participants 2 messages Apr 7, 2000

lore
Share & tools
lore

zzh

author
#0 lore raw

Hi,How to measure the 60x bus bandwidth.I write a program to write to sdram in a tight loop,every iteration ,i write 8 words, it takes about 36 seconds to finish 32M iterations with i-cache enabled and d-cache disenabled.With d-cache enabled and flushing
cache in every iteration,it takes about 16 seconds.This is below
what i speculated.What is the possible reason?I program the sdram
machine to enable burst mode. 4/7/2000

_____________________________________________
263�׶�����--�й��˵����ϼ�԰ http://www.263.net
���ʡ���ѡ�����ʡ�����ѣ��충�����׵��ӿ��http://www.soim.com �����ţ��㣬��������Ʒ��http://www.thepoints.com

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

#1 lore raw
Quoted 9 lines · zzh

Hi,How to measure the 60x bus bandwidth.I write a program to write to sdram in a tight loop,every iteration ,i write 8 words, it takes about 36 seconds to finish 32M iterations with i-cache enabled and d-cache disenabled.With d-cache enabled and flushing
cache in every iteration,it takes about 16 seconds.This is below
what i speculated.What is the possible reason?I program the sdram
machine to enable burst mode. 4/7/2000

This is very dependant on the processor and on the exact instructions you use. If you flush the cache (dcbf), then before the next write can proceed the processor has to reload a whole cache line.

Which means that you have at least 2 bus cycles per iteration: the one from the flush and another one to read again. Plus the fact that you might need a sync which may also go the bus.

What do you want to measure exatcly ?

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/