O documento descreve a história e as características do processador ARM. O ARM foi desenvolvido originalmente pela Acorn Computers em 1983 para competir com o IBM PC. Em 1990, a Acorn fundou a ARM Ltd para desenvolver as especificações do processador. O ARM utiliza arquitetura RISC de 32 bits com instruções fixas e capacidade de execução condicional.
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
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
Alguém já ouviu falar sobre ARM? Quem desenvolve hardware profissionalmente aqui?
O Primeiro computador RISC de uso comercial foi lançado em 1985 pela VLSI, parceira daAcorn que efetivamente fabricava os processadores
Primeiro processador RISC comercial
ULA = Unidade Lógica e Aritimética
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.
Jazelle vem sido usado com muito sucesso em diversos modelos de tocadores de Blue Ray.
Operação, condição eflags opcionais e os registradores e parâmetros
OP é um mnemônico de três letras que representa uma operação
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.
Sem condicional, sem o terceiro operador.Assembly tradicional.
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)
Comparativo da MicroLibKeil e da biblioteca padrão C compiladas em modo ARM,Thumb e Cortex-M3
Mas eu preciso escrever meu código em Assembly?
Falar do debugger e do simulador
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
Crossworks for ARM, ferramenta de baixo custo e com funcionalidades interessantes por 150 dólares para uso pessoal
IAR EmbeddedWorkbench, 30 daystrial
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
CPU com ARM da CirrusLogic rodando Linux embarcado e o aplicativo Scilab
Onde podemos encontrar processadores ARM?
M
Microsoft Zune
Industria médica, com o LifeFitness Vivo
AlwaysinovattingTouchbook, Nokia N800, SharpNetWalke
Ereaders com o AmazonKindle, o Fujitsu Flepia e o Sony eReader
Sony Bravia e Samsumg
Kodak Easyshare
Nokia series N usam processadores Texas OMAP, que são baseados na especificação ARMv6, e são nominalmente processadores ARM11
iPhone geração 1 e o 3G, e os iPodTouch de primeira e segunda geração usam ARM 11 também.