Página 1 de 1

PIC32

MensagemEnviado: 08 Out 2013 21:33
por tcpipchip
Função PIC18F97J60@10.42mips dsPIC33@40mips PIC32@72mips LPC2106(ARM)@60mips
tan(0.123); 393.6uS 59.85uS 130.7uS 56.48uS
sin(0.123); 379.2uS 59.56uS 59.44uS 27.12uS
f = f1*f2; 18.72uS 3.01uS 1.35uS 1.54uS
for(x=0;x<1000;x++) a* =x & 255; 2500.0uS 394.4uS 152.8uS 84.0uS
sq = sqr(1234567); 331.8uS 3.1uS 2.11uS 3.46uS

Re: PIC32

MensagemEnviado: 08 Out 2013 23:19
por xultz
Miguel, é prá isso aqui embaixo?
Você que fez os testes e chegou a esta conclusão?
Achei interessante que o PIC32 se lascou prá calcular seno e tangente, mas foi mais tranquilo prá tirar raiz quadrada. Tem cara de ser implementação do compilador.

Código: Selecionar todos
Função                  PIC18F97J60@10.42mips   dsPIC33@40mips   PIC32@72mips   LPC2106(ARM)@60mips
tan(0.123);             393.6uS                 59.85uS          130.7uS        56.48uS
sin(0.123);             379.2uS                 59.56uS          59.44uS        27.12uS
f = f1*f2;              18.72uS                 3.01uS           1.35uS         1.54uS
for(x=0;x<1000;x++)
     a* =x & 255;       2500.0uS                394.4uS          152.8uS        84.0uS
sq = sqr(1234567);      331.8uS                 3.1uS            2.11uS         3.46uSS

Re: PIC32

MensagemEnviado: 09 Out 2013 07:37
por EDSONCAN
Achei interessante o seno e tangente terem valores aproximados em alguns e metade aproximadamente em outros, o que leva a crer que são algorítimos diferentes.
Uma vez fizemos um algoritimo Cordic http://teal.gmu.edu/courses/ECE645/proj ... CORDIC.pdf, na epoca não tinha C para PIC
Edson

Re: PIC32

MensagemEnviado: 09 Out 2013 07:54
por tcpipchip
xultz escreveu:Miguel, é prá isso aqui embaixo?
Você que fez os testes e chegou a esta conclusão?
Achei interessante que o PIC32 se lascou prá calcular seno e tangente, mas foi mais tranquilo prá tirar raiz quadrada. Tem cara de ser implementação do compilador.

Código: Selecionar todos
Função                  PIC18F97J60@10.42mips   dsPIC33@40mips   PIC32@72mips   LPC2106(ARM)@60mips
tan(0.123);             393.6uS                 59.85uS          130.7uS        56.48uS
sin(0.123);             379.2uS                 59.56uS          59.44uS        27.12uS
f = f1*f2;              18.72uS                 3.01uS           1.35uS         1.54uS
for(x=0;x<1000;x++)
     a* =x & 255;       2500.0uS                394.4uS          152.8uS        84.0uS
sq = sqr(1234567);      331.8uS                 3.1uS            2.11uS         3.46uSS


Opa Xultz

Não fui eu não. Achei por acaso no GOOGLE enquanto procurava sobre o PIC32 e me chamou a atenção.
Para ter uma idéia de performance mais real, teria que ser feito em assembly em todos....

Re: PIC32

MensagemEnviado: 09 Out 2013 08:07
por andre_luis
Alguns compiladores C possuem um modo bem fácil de ajustar a magnitude da mantissa do ponto flutuante usado pelo compilador.

Isso certamente afeta o tempo de convergencia do cálculo, e por isso para se ter uma base de comparação mais precisa, esse detalhe deveria ser considerado se for fazer alguma comparação entre as ALU de diferentes cores.


+++

Re: PIC32

MensagemEnviado: 09 Out 2013 09:09
por vtrx
teria que ser feito em assembly em todos..

Eu acho ASM do PIC 32 nojento.