I've just measured the performance of a sample of code (that does some scanf/sprintf operations) on the M5235EVB and compared them to an existing 16MHz 68331 system running from an 8 bit EPROM. I'm now panicing because I only measure a 6-8 times performance improvement. Is this, rather than the 30 times or more improvement I had expected what I should be seeing, and if not, what could be going wrong? I'm loading my code into the external SRAM which seems to be 32 bit wide. I'm not altering any of the bus timings set by the dBUG or fiddling with the cache. Does dBUG start the cache? I've measured 75MHz on the CPU clock o/p test point, so the processor seems to be set by dBUG to run as fast as it can.
AN2866 quotes the 5235 at 144 MIPS and a 68332 at 25MHz at 7.5 MIPS. Derating this for my 16MHz 331 suggests I should see a 30 fold increase, and I had expected perhaps another x2 or x4 for the difference in bus width.
I've now repeated my tests running in the internal 64k RAM and performance is much nearer what I had expected - 20-30 times my 331 speeds. Should I expect such a huge difference given that the EVB has 32 bit external RAM whereas the internal RAM is only 16 bit wide? The M5235EVB Users Manual says nothing about how the dBUG configures the bus speeds, etc. Is this what I must expect from external memory?
as far as I know dBUG does not initialize the cache. The difference in execution speed between enabled and disabled cache is significant. I don't have any figures but I think the factor was greater than 10-20.