Hi Friends, greetings of the day...
I am new to this Arm community and very beginner to work on Arm cortex...
I am doing some investigation on a multi-core processor.
1. Can some one please tell me what is the power consumption of arm cortex A5 core ?
There is a default core from which i am going to enable A5 core and measure the current.
2. Should there be any change in the power consumption, if A5 is operating at different clock rates?
Hope my question is clear and sorry if there is any mistake : )
Please reply... Thanks
One more measurement for Cortex M4,
#define LENGTH 1024
/* both arrays allocated in internal SRAM */uint8_t source[LENGTH];uint8_t dest[LENGTH];
using memcpy from <string.h> without compiler optimisation I got better result:
973 ticks, ~ 8 microseconds,
this result was obtained beacuse of Thumb LDM, STM (load multiple and store multiple) instructions which were used in memcpy from <string.h>
I gave you three similar examples for only Cortex M4 working on the same frequency 120 MHz
Superb Van, thanks you very much.
Are you going to check memcpy time for A5 cortex ?
Not today, may be tomorrow, I have to find out how timer works and how to configure propper frequency on Microchip-Atmel board with Cortex A5, what registers to program to get correct timing results for comparison.
So in conclusion, compiler optimisation can make your function better in sense of execution speed and precompiled library functions have optimised ARM instructions for particular case, I saw LDM and STM instructions in disassembler view.
Tomorrow or next day after tomorrow I will try to do the same measurement test on Cortex A5 for comparison.
I read briefly about NXP MAC57D5xx and if I understand right you tried to execute the same code from the same memory on two different cores of one system and got different results for the same library memcpy function?
I dont know exactly memcpy is from i guess it is from string.h.
But When i did step by step debugging of memcpy function in both cores, i saw that the memcpy implementation is different for M4 and A5 ( Assembly code).
What is the need of FPU in memcpy function?
When i was running memcpy for A5, there was some issue and upon checking the memcpy implementation some floating instruction was used and was causing the problem, later i changed the FPU information in the makefile of A5, then memcpy was executing successfully.
Actually i am using already available applications and trying to measure time taken by memcpy... So dont have much knowledge.
Could you please suggest me something.
Second test on Cortex A5, Microchip Atmel Sama5D2Xplained board,
Processor clock = 498 MHz, Master clock = 83 Mhz (clock for bus),
PIT timer clock = 5 187 500 Hz, (~192,7 Nanoseconds)
I used the same code, buffers in internal SRAM
time of memcpy execution ~ 19 ticks or ~ 3.66 microseconds,
memcpy implemented by ARM instructions using LDM and STM instructions.
As you can see in first sight the same code executed more quickly, but processor operates on four times higher frequency (498 MHz) than Cortex M4 (120 Mhz).
All these measurements are not absolute and if you want more determinism try to use Cortex R series processors or Cortex M with predictable timings.
Thank you so much Van.
I Will try and if there is anything, will get to you.