lpcware

simple lpc43xx benchmark with disappointing  results

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by jokn on Sun Dec 09 13:19:22 MST 2012
I made a simple benchmark to find out the CPU performance when execute from SDRAM.
My example is based on the BOOTFAST example from the PDL. And I tested it on a hitex board. CPU Frq. is 204 MHZ SDRAM clock 102 MHz
The MIPS benchmark simple counts in a inner delay loop the cpu instructions for that loop and save the result after every seconds.

My results are
1) program + data internal RAM      127 MIPS
2) program SDRAM data internal RAM  34 MIPS
3) program + data SDRAM  28 MIPS

I would expect for the first test with both program and data in different internal RAM something like 200 MIPS or more.
What could be my reasoning error?
The MIPS when executing from SDRAM seems very disappointing for me.
Did anyone have experience with executing a program from SDRAM?

My short benchmark looks like this
I also have attached the example project.
//----------------------------------------------
void SysTick_Handler (void) {
tmips_cnt +=14;
if(msec)msec--;
}

//----------------------------------------------
void delay_ms (int ms)
{
register long cnt = mips_cnt +4;
msec = ms;
while (msec)
cnt += 5;
mips_cnt = cnt +3;
}

//----------------------------------------------
//----------------------------------------------
void my_benchmark (void)
{
SysTick_Config(CGU_GetPCLKFrequency(CGU_PERIPHERAL_M4CORE)/1000);  // Generate interrupt @ 1000 Hz

while (1) {   
mips_result = mips_cnt + tmips_cnt;
tmips_cnt = 0;
mips_cnt = 0;
delay_ms (500);
GPIO_ClearValue(LED1_PORT,(1<<LED1_BIT));
delay_ms (500);
GPIO_SetValue(LED1_PORT,(1<<LED1_BIT));
}
}

Best Regards
Josef

Original Attachment has been moved to: BOOTFAST.zip

Outcomes