A comparison pic32mx@72MHz optim2 vs. STM32F103@72MHz, gnu comp.
MIPS32 port
Re: MIPS32 port
I checked the configuration and it looks good. 2 wait states for PFM access and 0 for RAM.
Do you change the system clock when(MIPS_CPU_FREQ in mcuconf.h)? System timer rate is derived from this constant. Also what is the system clock period is defined on STM? For PIC32 demo it's 1kHz.
I glanced at STM datasheet, and unless access to flash is faster on STM both CPUs should have very close in terms of performance. I know that interrupt processing on ARM is more lightweight than on MIPS(to save all those registers in case of context switch). Also gcc is not optimizing the code very well for MIPS, most of the work is around ARM lately. At work I was struggling with MIPS microoptimizations some time ago =/. BTW, do you use same GCC version to build for ARM? For instance, I know that GCC4.7 generates slower code than GCC4.3 for MIPS at least ...
Do you change the system clock when(MIPS_CPU_FREQ in mcuconf.h)? System timer rate is derived from this constant. Also what is the system clock period is defined on STM? For PIC32 demo it's 1kHz.
I glanced at STM datasheet, and unless access to flash is faster on STM both CPUs should have very close in terms of performance. I know that interrupt processing on ARM is more lightweight than on MIPS(to save all those registers in case of context switch). Also gcc is not optimizing the code very well for MIPS, most of the work is around ARM lately. At work I was struggling with MIPS microoptimizations some time ago =/. BTW, do you use same GCC version to build for ARM? For instance, I know that GCC4.7 generates slower code than GCC4.3 for MIPS at least ...
Re: MIPS32 port
Also could be interesting to see a comparison between mips16 and thumb. In terms of code size and performance.
Re: MIPS32 port
Do you change the system clock when(MIPS_CPU_FREQ in mcuconf.h)?
Yes, and the dividers in boards as well. A good double check is the systime and of course UART which will not work @115k when dividers and mips_cpu_freq would be set differently..
BTW, do you use same GCC version to build for ARM?
I am using the ARM data from the performance page http://www.chibios.org/dokuwiki/doku.ph ... os:metrics
What might be interesting to see are data for pic32@72MHz built under XC32 with -O2..
p.
Last edited by pito on Thu Jan 17, 2013 11:39 pm, edited 1 time in total.
- Giovanni
- Site Admin
- Posts: 14444
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1074 times
- Been thanked: 921 times
- Contact:
Re: MIPS32 port
Note that the STM32F1 is not the fastest cortex at that frequency, the F4 is much faster at equal clock because the better Flash controller.
Giovanni
Giovanni
- Giovanni
- Site Admin
- Posts: 14444
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1074 times
- Been thanked: 921 times
- Contact:
Re: MIPS32 port
From my tests, the F3 is exactly equal to the F1 as integer performance, same controller apparently. The ART is specific of the F4.
Giovanni
Giovanni
Re: MIPS32 port
I have compared gcc4.4 and xc32(based on gcc4.5) with -O1. Code generated with xc32 is slightly faster especially in context switch tests.
Since it's quite possible that gcc4.5 is generating better code for MIPS and there's no influence of microchip work I did a test with Pito's toolchain. Apparently same numbers as with xc32.
Pito, I'm just curious whether your toolchain is based on xc32?
cheers,
/d
Since it's quite possible that gcc4.5 is generating better code for MIPS and there's no influence of microchip work I did a test with Pito's toolchain. Apparently same numbers as with xc32.
Pito, I'm just curious whether your toolchain is based on xc32?
cheers,
/d
Re: MIPS32 port
My toolchain is the
*** Compiler: GCC 4.5.1 chipKIT Compiler for PIC32 MCUs v1.30-20110506
https://github.com/jasonkajita/chipKIT-cxx/downloads
JasonK is developing compilers at MCHP afaik (ie. XC32)..
PS: I've built it with the newest
*** Compiler: GCC 4.5.1 chipKIT Compiler for PIC32 MCUs v1.31-20120614
and the test numbers are the same..
PS1: Could you share the XC32 project setup to try it with, plz?
p.
*** Compiler: GCC 4.5.1 chipKIT Compiler for PIC32 MCUs v1.30-20110506
https://github.com/jasonkajita/chipKIT-cxx/downloads
JasonK is developing compilers at MCHP afaik (ie. XC32)..
PS: I've built it with the newest
*** Compiler: GCC 4.5.1 chipKIT Compiler for PIC32 MCUs v1.31-20120614
and the test numbers are the same..
PS1: Could you share the XC32 project setup to try it with, plz?
p.
Who is online
Users browsing this forum: No registered users and 7 guests