ARM DIFERENÇAS.

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

Mensagempor xultz » 01 Fev 2010 15:17

fabim escreveu:
DJ, aprenda uma coisa.
A vida só nos faz de palhaços,


Vc sabe que tambem faço, apenas sou iniciante

espero um dia chegar nesse quesito a vc ambos

E nesse dia então seremos um trio

Prá quem quiser se especializar no assunto, recomendo:
www.ciadospalhacos.com.br - São muito bons, mas não pude fazer nenhum curso ainda
www.tripcirco.com - Muito bom também, amanhã começo as aulas deste ano lá.
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 fabim » 01 Fev 2010 15:29

hehe, só que tu não vai engolir espada né ? hehe
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor xultz » 01 Fev 2010 15:42

Não, já me formei nessa matéria.
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 fabim » 01 Fev 2010 15:47

á chato,!! ou ja que tu esta pagando mesmo, e não custa nada. ensina aí pra gente como se faz ?
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor Renato » 01 Fev 2010 19:32

Creio que o Cortex M3 também evolui em termos de consumo:
LPC1758 : LQFP 80 pinos, 12 x 12 mm, 512 KB Flash, 64 KB SRAM, Ethernet, USB, ...
Consumo:
Exec. da flash, perif. desabilitados, PCLK=1/8:
Modo ativo (PLL habil., 100 MHz) = 42 mA
Modo sleep = 2 mA
Deep sleep = 240 uA
Power down = 31 uA
Renato
Byte
 
Mensagens: 224
Registrado em: 20 Out 2006 08:35

Mensagempor xultz » 02 Fev 2010 07:49

Fabim, não me atreveria a tentar ensinar algo desse assunto a você, imagine, um mero aprendiz como eu no assunto querendo ensinar algo a um mestre supremo, como você.
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 fabim » 02 Fev 2010 07:50

xultz escreveu:Fabim, não me atreveria a tentar ensinar algo desse assunto a você, imagine, um mero aprendiz como eu no assunto querendo ensinar algo a um mestre supremo, como você.


C ta confundindo ieu com algum outro fabim, eu nunca engoli espada... hehehe
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor proex » 02 Fev 2010 14:00

Em tempo, PMU significa Protection Memory Unit.

Isso tá em todos os datasheets dos arms, parem de ser preguisoços e leiam o datasheet.

Sei lá, eu sou contra esse negócio de ficar lendo datasheets.

.
Editado pela última vez por proex em 02 Fev 2010 17:24, em um total de 1 vez.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor RobL » 02 Fev 2010 16:45

Esqueceram de colocar que o Cortex M0 é o Cortex totalmente "cortado". Foram tirando tudo que tem no Cortex M3 que consome e faz rodar rápido.
O M0 é uma tentativa difícil de resolver colocar 32 bits com baterias (baterias pequenas) não as de celular.
Nos finalmentes o Cortex M0 roda lento e econômico e cheio de restrições. Mas para quem está trabalhando com Cortex M3 é a saída para baterias.
Por isso em certas aplicações, teremos 8 bits rodando por aí por bom tempo.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor proex » 02 Fev 2010 17:29

Sei lá, cada caso é um caso!


.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor chrdcv » 02 Fev 2010 20:19

Ou não... e vice e versa!

christian
Avatar do usuário
chrdcv
Dword
 
Mensagens: 1580
Registrado em: 13 Out 2006 14:13

Mensagempor fabim » 02 Fev 2010 20:31

Cassilda, logo na cara do um do 1756.

PMU, power manangement unit.!!!!!!!

Ou sei lá, tipo. talvez quem sabe..
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor polesapart » 23 Fev 2010 09:19

Comparado ao armv4 (arm7tdmi por ex), o cortex-m3 tem branch speculation e arquitetura harvard, sem falar que algumas instruções executam em 1 ciclo de clock, isto ajuda a explicar a diferença. Quanto ao fato dos dmips serem positivos (maior que o clock), o branch speculation ajuda a "enganar" o cálculo, pq o processador de referência sofre a penalidade dos branches (todo branch toma N ciclos de clock), enquanto que no m3, se o branch speculator fizer a escolha certa, o custo é um ciclo de clock. Estatisticamente ele nunca consegue 100% de acertos. Os cortex-A"x" tem branch prediction, que consegue um acerto melhor ao analisar o fluxo de instruções e condicionais. No caso destes últimos, os pipelines tem um nível profundo, então o custo de um branch é muito alto, por isto ele tenta evitar a penalidade o máximo possível. No cortex m3 e no arm7tdmi, o custo de um branch "tomado" é de 3 ciclos de clock.
Warning: time of day goes back (-163479us), taking countermeasures. :)
Avatar do usuário
polesapart
Byte
 
Mensagens: 477
Registrado em: 19 Nov 2007 12:56
Localização: Curitiba

Mensagempor tcpipchip » 23 Fev 2010 09:23

Os cortex-A"x" tem branch prediction


Isto nao é uma diferença em relação aos anteriores.
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor msamsoniuk » 23 Fev 2010 10:41

mas pense bem, ele soh vai fazer mais de uma instrucao por clock em quatro casos:

a) se for superescalar e tiver duas unidades de inteiros, porem, se fosse esse o caso, ele deveria estar picotando 2 instrucoes/clock, do contrario ele seria um superescalar muito ruim.

b) se for vetorial, ele vai puxar uma instrucao e executar a mesma para todas as unidades vetoriais, mas nesse caso ele deveria estar picotando 4 instrucoes/clock, do contrario ele seria um processador vetorial muito ruim.

c) se ele otimizar o dhrystone, somar um valor alto em loops/segundo e na hora de comparar com o VAX dar um valor de DMIPS alto, que nao corresponde a performance real em MIPS.

d) se ele tiver uma cache com bus interno de 64 bits, ele pode transferir 2 instrucoes, de modo a pre-decodificar uma segunda instrucao enquanto decodifica a primeira. porem eu acho um desperdicio um bus tao largo para um ganho tao pequeno.

eu francamente acho que eh o terceiro caso.

veja q a otimizacao de branches soh melhora a questao de descartar ou nao os pipelines, aproximando melhor do pico de 1 instrucao por clock. mas na pratica nao faz vc rodar 2 instrucoes por clock, pq a instrucao do branch continua lah no fluxo de instrucoes q vem da cache uma a uma.

a unica forma dele rodar 2 instrucoes por clock seria o caso do coldfire, onde o bus da cache eh 32 bits e a largura das instrucoes 16 bits. isso permite efetivamente que o processador faca a pre-decodificacao de uma segunda instrucao enquanto esta decodificando a primeira. como ele soh tem uma unidade de inteiros, nao vai rodar 2 instrucoes por clock, mas ele pode rotear a segunda instrucao para uma unidade diferente, como a unidade de branch ou unidade mac, resultando em "pouco mais de" 1 instrucao por clock com a mesma largura de bus do arm que nao pode passar de 1 instrucao por clock.

jah o powerpc nao tem essa facilidade pq as instrucoes sao largas como no caso do arm, mas eles resolvem usando barramentos de 64 e 128 bits, efetivamente permitindo transferir 2 ou 4 instrucoes no mesmo clock, mas com o custo indo lah em cima.

polesapart escreveu:Comparado ao armv4 (arm7tdmi por ex), o cortex-m3 tem branch speculation e arquitetura harvard, sem falar que algumas instruções executam em 1 ciclo de clock, isto ajuda a explicar a diferença. Quanto ao fato dos dmips serem positivos (maior que o clock), o branch speculation ajuda a "enganar" o cálculo, pq o processador de referência sofre a penalidade dos branches (todo branch toma N ciclos de clock), enquanto que no m3, se o branch speculator fizer a escolha certa, o custo é um ciclo de clock. Estatisticamente ele nunca consegue 100% de acertos. Os cortex-A"x" tem branch prediction, que consegue um acerto melhor ao analisar o fluxo de instruções e condicionais. No caso destes últimos, os pipelines tem um nível profundo, então o custo de um branch é muito alto, por isto ele tenta evitar a penalidade o máximo possível. No cortex m3 e no arm7tdmi, o custo de um branch "tomado" é de 3 ciclos de clock.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

AnteriorPróximo

Voltar para ARM

Quem está online

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

cron

x