ARM7 versus CORTEX

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

ARM7 versus CORTEX

Mensagempor proex » 15 Jun 2008 14:05

Eu tenho ouvido muito falar nesse tal de Cortex, uma versão da arquitetura ARM mas nunca ficou claro quais sao as diferenças, vantagens e desvantagens entre eles.

Resolvi comparar os dois abaixo:

Luminary: LM3S610, 50MHz, 32kFlash, 8k SRAM, 2 UART, 1 I2C, 2x10bit ADC, $6.57 para 100 unidades.

NXP: LPC2103, 70 MHz, 32kFlash, 8k SRAM, 2 UART, 2 I2C, 8x10bit ADC, $2.92 para 100 unidades.

De cara o LPC é 2.25 mais barato, tem 4 vezes mais A/Ds, tem 2 I2Cs e é 1.4 vezes mais rápido.

No datasheet da NXP, o LPC consome 0.28mW/MHz contra 0.19mW/MHz do Cortex. (consumo somente da CPU, periféricos desligados).

O NXP adota arquitetura Von Neumann. O Cortex adota a arquitetura Harvard.

O tempo de resposta para atendimento de uma interrupçao é de 12 ciclos no CORTEX contra 48 ciclos no ARM ou seja, o CORTEX atende uma interrupçao 4 vezes mais rápido que um ARM.

O CORTEX tem alguns recursos que no ARM precisam ser colocados por fora, se precisar: brown-out detector e on-chip temperature sensor.

Mas tem alguns detalhes que são estranhos.

O CORTEX usa 33mil portas lógicas na CPU (excluídos periféricos)
O ARM usa 60mil portas.

Esse corte de quase a metade de portas lógicas no CORTEX deveria influir no custo final do chip mas o que vemos é que acaba saindo muito mais caro para nós. Isso é muito estranho.

Atualmente os CORTEX disponibilizam muito menos pinos que os LPCs. Isso também deveria contribuir para um custo menor.

Existe ainda algumas diferenças básicas, entre eles, na forma de tratamento e de moviventaçao dos dados dentro do chip.

O CORTEX executa algumas instruções de DSPs como a Bit Reverso, usada em cálculos de FFT. No ARM isso precisa ser feito por software.

Nesse ponto, o CORTEX leva algumas vantagens sobre o ARM mas nada que justifique a grande diferença de preço, em relação ao desempenho final.

Particularmente penso como Steve Jobs, : Uma nova tecnologia só será viável economicamente se truxer no minimo 40% de redução de custo e 40% de aumento de desempenho.

Deve haver alguma grande vantagem nos Cortex que eu ainda nao consegui identificar.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor xultz » 15 Jun 2008 14:18

Algumas comparações não foram muito felizes, proex.
Primeiro, não pode levar a pensar que todos os Cortex são Luminary, e todos os ARM7 são NXP.
Segundo, Cortex e ARM7 são cores. O que tem em volta influencia muto mais no preço final. E brown-out detector e on-chip temp sensor não têm nada a ver com o core, foi uma decisão da engenharia do chip colocar ou não este recurso. E você analizar, a linha LPC21XX e LPC23XX têm chip que aparentemente são idênticos, mas os 23 são mais baratos. O motivo é que a tecnologia empregada na fabricação destes são mais modernos e mais baratos.

Então, s eeventulamente (e eu aposto que isto esteja acontecendo) os LPCs estiverem vendendo muito melhor que os Luminary, o preço daqueles acabará caindo em relação a estes, independente de ter um core Cortex fodão ou um core PIC xexelento.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Mensagempor Monk » 15 Jun 2008 21:29

Compara com os cortex da ST, estes provavelmente serão mais baratos.
Monk
Bit
 
Mensagens: 32
Registrado em: 26 Set 2007 17:14
Localização: Salvador, BA

Mensagempor jeff » 16 Jun 2008 01:39

http://www.sabereletronica.com.br/secoes/leitura/483
http://www.embedded.com/columns/guest/206801769

ST: STM32F103C6T6, 72MHz, 32kFlash, 10k SRAM, 2 UART, 1 I2C, 1 USB, 1 CAN, 2x12bit ADC, $5,46 para 01 unidade, $4.58 para 100 unidades.
Na MOUSER, www.mouser.com

Abraços,
Jeff
jeff
Byte
 
Mensagens: 389
Registrado em: 20 Out 2006 10:14
Localização: Uberlândia/MG

Mensagempor Ander_sil » 16 Jun 2008 09:33

Anderson Chrispim da Silva
chrispimdasilva@gmail.com
Ander_sil
Byte
 
Mensagens: 368
Registrado em: 30 Out 2006 09:58
Localização: Campinas - SP

Re: ARM7 versus CORTEX

Mensagempor Viktor » 19 Jun 2008 19:55

proex escreveu:De cara o LPC é ........1.4 vezes mais rápido.


O clock pode ser mais alto, porém os 50MHz tornam o Luminary mais rápido que os 72MHz do NXP.
Viktor
Byte
 
Mensagens: 281
Registrado em: 12 Out 2006 11:33

Mensagempor mastk » 20 Jun 2008 14:21

Harvard tente a ser mais lento que von neumann, principalmente em coisas complexas, não?
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor chipselect » 23 Jun 2008 08:46

[quote="mastk"]Harvard tente a ser mais lento que von neumann, principalmente em coisas complexas, não?[/quote]

Por quê harvard seria mais lento mastk?
chipselect
Word
 
Mensagens: 744
Registrado em: 16 Out 2006 18:50

Mensagempor Viktor » 23 Jun 2008 09:28

mastk escreveu:Harvard tente a ser mais lento que von neumann, principalmente em coisas complexas, não?


Harvard é mais rápido pois não precisa compartilhar o barramento com dados/instruções
Viktor
Byte
 
Mensagens: 281
Registrado em: 12 Out 2006 11:33

Mensagempor Jorge_Francisco » 23 Jun 2008 09:31

chipselect escreveu:
mastk escreveu:Harvard tente a ser mais lento que von neumann, principalmente em coisas complexas, não?


Por quê harvard seria mais lento mastk?


Porque em Harvard fuma-se maconha e Von Neumann era um cara sério.Brincadeira,heheh.
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Re: ARM7 versus CORTEX

Mensagempor polesapart » 01 Jul 2008 13:51

http://www.arm.com/products/CPUs/ARM_Cortex-M3.html

A tabelinha diz quase tudo. O que ela nao diz, está nas entrelinhas do texto, como o fato do cortex m3 possuir divisor de inteiros por hardware, o que além de acelerar certos tipos de operações, deixa o código menor, assumindo um programa em C e que o teu código faça divisão de variáveis e não de constantes (pq o compilador precisa ser muito ruim pra não compensar isto), por que a biblioteca de divisão genérica é meio gigante, especialmente naqueles ports em que o compilador usa a mesma rotina para 32 e 64 bits (ele enfia o código da de 64 bits logo de uma vez, que é maior).

Uma coisa que é interessante ressaltar é que o tempo de interrupção no cortex m3 é determinístico: assumindo memória com 0 wait-states, 12 ciclos de clock após a interrupção a primeira instrução do handler executa, 6 se já estava em modo de interrupção quando houve a ativação. No arm7tdmi não é bem assim: é relativamente fácil prever o pior caso (assumindo que o código não esteja espalhado com disable interrupts), mas não o caso médio, por quê o arm7tdmi funciona assim: quando uma interrupção ocorre, a instrução sendo executada completa, é só antes de executar a próxima que o core verifica que há uma interrupção pendente. No caso de uma instrução load/store multiple (ldm/stm, respectivamente), isto pode acarretar no pior caso. No caso ainda na linha da NXP, quando usando a flash com o módulo acelerador de memória, o determinismo diminui mais ainda.

A propósito, Na maioria das aplicações isto não quer dizer nada, pelo menos eu nunca trabalhei nem conheci quem tenha trabalhado com algo que precise de interrupções determinísticas na faixa das centenas de nanosegundos. :-)

Outro detalhe no cortex m3 é que o mapa de memória dele é universalizado e também o controlador de interrupções, isto significa que portar entre os diversos fornecedores de soluções baseadas em cortex m3 é teoricamente mais fácil do que entre os diversos de outros µCs, incluindo outros ARM, mas na prática eu não ponho minha mão no fogo.
Avatar do usuário
polesapart
Byte
 
Mensagens: 477
Registrado em: 19 Nov 2007 12:56
Localização: Curitiba

Mensagempor xultz » 01 Jul 2008 14:22

Pessoal, não sei se vocês conhecem o polesapart (também conhecido por Alex), mas o cara é um crânio em programação, principalmente em Linux e mais recentemente embarcados.
Além de tudo, é super gente boa, eu recomendo vocês enxerem o saco dele com dúvidas, para que não pareça que eu sou o único no mundo que faz isso...
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Mensagempor Ander_sil » 01 Jul 2008 16:45

Seja bem vindo Alex ao fórum...

mais um pra nóis pentelhar hehehe...

falo!
Anderson Chrispim da Silva
chrispimdasilva@gmail.com
Ander_sil
Byte
 
Mensagens: 368
Registrado em: 30 Out 2006 09:58
Localização: Campinas - SP

Mensagempor polesapart » 02 Jul 2008 11:26

Ander_sil escreveu:Seja bem vindo Alex ao fórum...

mais um pra nóis pentelhar hehehe...

falo!


E vc acha que eu não vou pentelhar vcs tbm? hehehe! Valeu!
Avatar do usuário
polesapart
Byte
 
Mensagens: 477
Registrado em: 19 Nov 2007 12:56
Localização: Curitiba


Voltar para ARM

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x