SlideShare uma empresa Scribd logo
1 de 59
Plataforma ARM® marcelo@mindaslab.com @mfcastellani
Pré história do ARM Projeto iniciado pela AcornComputersLtd em 1983, para criar um novo processador e uma nova linha de computadores capazes de competir com a recém lançada linha IBM PC – surge então o Acorn RISC Machine, ou ARM No final dos anos 80 a Apple e a VLSI Tech mostraram interesse pelo projeto e a Acorn funda, em 1990, a Advanced RISC Machines Ltd, ou simplesmente ARM Ltd, que passa a cuidar das especificações dos processadores ARM ARM passa a significar Advanced RISC Machines, ao invés de Acorn RISC Machines
Acorn Business Computer
VLSI/Acorn ARM
Principais características do ARM1 Baseado no processador Berkeley RISC I Utiliza arquitetura Load/Store, ou seja, as operações somente processarão valores em registradores, e o resultado sempre estará em um registrador Utiliza instruções fixas de 32 bits e execução condicional Capacidade de executar operações de deslocamento e na ULA com uma única instrução e em um único ciclo de clock 15 registradores de 32 bits para uso geral Manipulação de periféricos de I/O como dispositivos na memória com suporte a interrupções Suporte a adição de até 16 co-processadores
ARM e Cortex, evolução
O que a ARM faz?
ARM, Thumb, Jazelle e Thumb-2 O ARM possui diversos conjuntos de instruções O principal é o modo ARM, um conjunto de instruções de 32 bits extremamente poderoso e inteligente O segundo mais usado é o modo Thumb, um conjunto de instruções de 16 bits, mais limitado Existe um conjunto chamado Jazelle, que possibilita a execução de bytecode Java em algumas famílias de processador (normalmente as que possuem J no nome, como o ARM926EJ-S, daShangai Jade Tech Co. Ltd, oprimeiroprocessador a suportar a tecnologia no mundo)
Modo ARM e modo Thumb Modo ARM Todas as instruções tem 32 bits e praticamente todas podem fazer uso de condicionais Ocupa 30% mais espaço que o modo Thumb, mas é até 40% mais rápido Modo Thumb Todas as instruções tem 16 bits e não são executadas condicionalmente (apenas branchs) Ocupa cerca de 30% menos espaço que o modo ARM, mas é cerca de 40% mais lento Usa apenas os registradores de r0 a r7
Modo ARM <OP>{COND}{FLAGS} Rd, Rn, Operador2
Modo ARM <OP>{COND}{FLAGS} Rd, Rn, Operador2 MOV ADD SUB AND LDR
Modo ARM <OP>{COND}{FLAGS} Rd, Rn, Operador2 ADDEQ
ARM versus Thumb ADDS r2, r2, #1 ADD r2, #1
Modo ARM versus modo Thumb
ARM versus Thumb
http://www.keil.com/
Obrigado. marcelo@mindaslab.com @mfcastellani

Mais conteúdo relacionado

Mais procurados

Introdução à programação embarcada
Introdução à programação embarcadaIntrodução à programação embarcada
Introdução à programação embarcadaRodrigo Almeida
 
Microcontroladores x microprocessadores
Microcontroladores x microprocessadoresMicrocontroladores x microprocessadores
Microcontroladores x microprocessadoresmiroslayer
 
Trabalho sobre processadores
Trabalho sobre processadoresTrabalho sobre processadores
Trabalho sobre processadoresTiago
 
Hardware questionario 03
Hardware   questionario 03Hardware   questionario 03
Hardware questionario 03Tiago
 
Processadores intel de 6º geração
Processadores intel de 6º geraçãoProcessadores intel de 6º geração
Processadores intel de 6º geraçãoValdeir Frizzera
 
Hardware questionario 01
Hardware   questionario 01Hardware   questionario 01
Hardware questionario 01Tiago
 
Correçao computador omputaçao segunda atividade
Correçao computador omputaçao segunda atividadeCorreçao computador omputaçao segunda atividade
Correçao computador omputaçao segunda atividadegastaovalle
 
Barramentos clock interno
Barramentos clock internoBarramentos clock interno
Barramentos clock internocabaldreams
 
Dispositivos de memória
Dispositivos de memóriaDispositivos de memória
Dispositivos de memóriaTiago
 

Mais procurados (17)

Introdução à programação embarcada
Introdução à programação embarcadaIntrodução à programação embarcada
Introdução à programação embarcada
 
Microcontroladores x microprocessadores
Microcontroladores x microprocessadoresMicrocontroladores x microprocessadores
Microcontroladores x microprocessadores
 
Arquitetura arm
Arquitetura armArquitetura arm
Arquitetura arm
 
Sistemas embarcados
Sistemas embarcadosSistemas embarcados
Sistemas embarcados
 
Memórias
MemóriasMemórias
Memórias
 
Trabalho sobre processadores
Trabalho sobre processadoresTrabalho sobre processadores
Trabalho sobre processadores
 
Hardware questionario 03
Hardware   questionario 03Hardware   questionario 03
Hardware questionario 03
 
G20 arm
G20 armG20 arm
G20 arm
 
Processadores intel de 6º geração
Processadores intel de 6º geraçãoProcessadores intel de 6º geração
Processadores intel de 6º geração
 
Microprogramacao
MicroprogramacaoMicroprogramacao
Microprogramacao
 
Microprogramacao
MicroprogramacaoMicroprogramacao
Microprogramacao
 
Hardware questionario 01
Hardware   questionario 01Hardware   questionario 01
Hardware questionario 01
 
Ft 2res
Ft 2resFt 2res
Ft 2res
 
Correçao computador omputaçao segunda atividade
Correçao computador omputaçao segunda atividadeCorreçao computador omputaçao segunda atividade
Correçao computador omputaçao segunda atividade
 
Barramentos clock interno
Barramentos clock internoBarramentos clock interno
Barramentos clock interno
 
Dispositivos de memória
Dispositivos de memóriaDispositivos de memória
Dispositivos de memória
 
S.o aula 3334
S.o aula 3334S.o aula 3334
S.o aula 3334
 

Semelhante a Plataforma ARM - TDC 2010

Semelhante a Plataforma ARM - TDC 2010 (20)

HistóRia Da Arquitetura Arm Novo
HistóRia Da Arquitetura Arm NovoHistóRia Da Arquitetura Arm Novo
HistóRia Da Arquitetura Arm Novo
 
Arm
ArmArm
Arm
 
Processadores ARM
Processadores ARMProcessadores ARM
Processadores ARM
 
Unitec processador
Unitec processadorUnitec processador
Unitec processador
 
Apresentacao
ApresentacaoApresentacao
Apresentacao
 
Palestra omap
Palestra omapPalestra omap
Palestra omap
 
Os Slots
Os SlotsOs Slots
Os Slots
 
Assembly PDFs Eduardo Cj como usar o assembly
Assembly PDFs Eduardo Cj como usar o assemblyAssembly PDFs Eduardo Cj como usar o assembly
Assembly PDFs Eduardo Cj como usar o assembly
 
Processadores
ProcessadoresProcessadores
Processadores
 
10 apostila microcontroladores
10  apostila microcontroladores10  apostila microcontroladores
10 apostila microcontroladores
 
ARM
ARMARM
ARM
 
Memórias dram
Memórias dramMemórias dram
Memórias dram
 
Hardware
Hardware Hardware
Hardware
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
38698469 slides-arduino
38698469 slides-arduino38698469 slides-arduino
38698469 slides-arduino
 
Apostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDFApostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDF
 
Desenvolvimento com o ATmega8
Desenvolvimento com o ATmega8Desenvolvimento com o ATmega8
Desenvolvimento com o ATmega8
 
Aula 02 introudção a computação
Aula 02 introudção a computaçãoAula 02 introudção a computação
Aula 02 introudção a computação
 
Memoria primária
Memoria primáriaMemoria primária
Memoria primária
 
Arquitetura de Computadores: Unidade central de processamento
Arquitetura de Computadores: Unidade central de processamentoArquitetura de Computadores: Unidade central de processamento
Arquitetura de Computadores: Unidade central de processamento
 

Último

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfNatalia Granato
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 

Último (6)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

Plataforma ARM - TDC 2010

  • 2.
  • 3. Pré história do ARM Projeto iniciado pela AcornComputersLtd em 1983, para criar um novo processador e uma nova linha de computadores capazes de competir com a recém lançada linha IBM PC – surge então o Acorn RISC Machine, ou ARM No final dos anos 80 a Apple e a VLSI Tech mostraram interesse pelo projeto e a Acorn funda, em 1990, a Advanced RISC Machines Ltd, ou simplesmente ARM Ltd, que passa a cuidar das especificações dos processadores ARM ARM passa a significar Advanced RISC Machines, ao invés de Acorn RISC Machines
  • 6. Principais características do ARM1 Baseado no processador Berkeley RISC I Utiliza arquitetura Load/Store, ou seja, as operações somente processarão valores em registradores, e o resultado sempre estará em um registrador Utiliza instruções fixas de 32 bits e execução condicional Capacidade de executar operações de deslocamento e na ULA com uma única instrução e em um único ciclo de clock 15 registradores de 32 bits para uso geral Manipulação de periféricos de I/O como dispositivos na memória com suporte a interrupções Suporte a adição de até 16 co-processadores
  • 7. ARM e Cortex, evolução
  • 8. O que a ARM faz?
  • 9.
  • 10. ARM, Thumb, Jazelle e Thumb-2 O ARM possui diversos conjuntos de instruções O principal é o modo ARM, um conjunto de instruções de 32 bits extremamente poderoso e inteligente O segundo mais usado é o modo Thumb, um conjunto de instruções de 16 bits, mais limitado Existe um conjunto chamado Jazelle, que possibilita a execução de bytecode Java em algumas famílias de processador (normalmente as que possuem J no nome, como o ARM926EJ-S, daShangai Jade Tech Co. Ltd, oprimeiroprocessador a suportar a tecnologia no mundo)
  • 11. Modo ARM e modo Thumb Modo ARM Todas as instruções tem 32 bits e praticamente todas podem fazer uso de condicionais Ocupa 30% mais espaço que o modo Thumb, mas é até 40% mais rápido Modo Thumb Todas as instruções tem 16 bits e não são executadas condicionalmente (apenas branchs) Ocupa cerca de 30% menos espaço que o modo ARM, mas é cerca de 40% mais lento Usa apenas os registradores de r0 a r7
  • 12. Modo ARM <OP>{COND}{FLAGS} Rd, Rn, Operador2
  • 13. Modo ARM <OP>{COND}{FLAGS} Rd, Rn, Operador2 MOV ADD SUB AND LDR
  • 14. Modo ARM <OP>{COND}{FLAGS} Rd, Rn, Operador2 ADDEQ
  • 15. ARM versus Thumb ADDS r2, r2, #1 ADD r2, #1
  • 16. Modo ARM versus modo Thumb
  • 18.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.

Notas do Editor

  1. Alguém já ouviu falar sobre ARM? Quem desenvolve hardware profissionalmente aqui?
  2. O Primeiro computador RISC de uso comercial foi lançado em 1985 pela VLSI, parceira daAcorn que efetivamente fabricava os processadores
  3. Primeiro processador RISC comercial
  4. ULA = Unidade Lógica e Aritimética
  5. ARM V4 introduziu o modo Thumb. Já o ARM v6 introduziu as operações SIMD, que transformaram o ARM no primeiro processador otimizado para aplicações multimídia. As familias com M ou ME no final do nome da especificação são voltados a aplicações embarcadas de baixo custo, antes dominadas por processadores de 8 bits.
  6. Jazelle vem sido usado com muito sucesso em diversos modelos de tocadores de Blue Ray.
  7. Operação, condição eflags opcionais e os registradores e parâmetros
  8. OP é um mnemônico de três letras que representa uma operação
  9. COND é um condicional opcional. Condicionais são comuns em diversas arquiteturas em instruções de jump ou branch, mas na arquitetura ARM é possível usar condicionais na maior parte das instruções.
  10. Sem condicional, sem o terceiro operador.Assembly tradicional.
  11. O Modo Thumb possui mais instruções que o modo ARM, ou seja, é mais lento. Mas as instruções possuem a metade do tamanho, o que quer dizer que o exemplo, em modo ARM, ocupa 20 bytes (5 instruções x 4 bytes – 32 bits) e o exemplo em modo Thumb ocupa 12 bytes (6 instruções x 2 bytes – 16 bits)
  12. Comparativo da MicroLibKeil e da biblioteca padrão C compiladas em modo ARM,Thumb e Cortex-M3
  13. Mas eu preciso escrever meu código em Assembly?
  14. Falar do debugger e do simulador
  15. 2 portas Serial RS 232, 2 portas CAN, 1 mini USB e um USB, 1 Ethernet 10/100, 1 buzzer, 1 potenciometro, 1 leitora de cartões SD e conector para JTAG
  16. Crossworks for ARM, ferramenta de baixo custo e com funcionalidades interessantes por 150 dólares para uso pessoal
  17. IAR EmbeddedWorkbench, 30 daystrial
  18. Androidon ARM é suportado pelo SDK padrão do Android ou pelo NDK, NativeDevelopment Kit, que possibilita escrever aplicações nativas (*.apk) usando C e C++ para obter muito mais performance
  19. CPU com ARM da CirrusLogic rodando Linux embarcado e o aplicativo Scilab
  20. Onde podemos encontrar processadores ARM?
  21. M
  22. Microsoft Zune
  23. Industria médica, com o LifeFitness Vivo
  24. AlwaysinovattingTouchbook, Nokia N800, SharpNetWalke
  25. Ereaders com o AmazonKindle, o Fujitsu Flepia e o Sony eReader
  26. Sony Bravia e Samsumg
  27. Kodak Easyshare
  28. Nokia series N usam processadores Texas OMAP, que são baseados na especificação ARMv6, e são nominalmente processadores ARM11
  29. iPhone geração 1 e o 3G, e os iPodTouch de primeira e segunda geração usam ARM 11 também.
  30. PalmPre, GarminAsus A50, Toshiba TG-01, SamsumgOmnia
  31. Nokia N97, BlackberryBold, HTC Hero
  32. Mas o que isso tem a ver com Arduino?
  33. Armite, arduino com ARM 7, compatível com qualquer shield de 5V.
  34. Cortino, Arduino com ARM Cortex
  35. Dúvidas?