Buscar

AA 02 - Arquitetura ARM

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Arquitetura ARM
Visão Geral
SISTEMAS EMBARCADOS
PROF. FELIPE AUGUSTO PRZYSIADA
Timeline
SISTEMAS EMBARCADOS 2
Timeline
SISTEMAS EMBARCADOS 3
Timeline
SISTEMAS EMBARCADOS 4
Timeline
SISTEMAS EMBARCADOS 5
Timeline
SISTEMAS EMBARCADOS 6
Embedded e Application Processors
SISTEMAS EMBARCADOS 7
Arquiteturas ARMs
➢Application Profile(ARMv7-A)
➢Real-Time Profile(ARMv7-R)
➢Microcontroller Profile(ARMv7-M,ARMv6-M) 
SISTEMAS EMBARCADOS 8
Exemplos de Cortex
SISTEMAS EMBARCADOS 9
Vantagens do Cortex vs uC
SISTEMAS EMBARCADOS 10
Exemplo de Arquitetura M
SISTEMAS EMBARCADOS 11
Recursos do Controlador
➢System Timer (SysTick);
➢Nested Vectored Interrupt Controller (NVIC);
➢System Control Block (SCB);
➢Memory Protection Unit (MPU);
➢Floating-Point Unit (FPU);
➢General-Purpose Input/Outputs (GPIOs);
➢Watchdog Timers;
➢Hibernation Module;
SISTEMAS EMBARCADOS 12
Recursos do Controlador
➢(1) JTAG Interface;
➢(8) Universal Asynchronous Receivers/Transmitters (UARTs);
➢(4) Synchronous Serial Interface (SSI);
➢(6) Inter-Integrated Circuit (I2C) Interface;
➢(2) Controller Area Network (CAN) Module;
➢(1) Universal Serial Bus (USB) Controller;
SISTEMAS EMBARCADOS 13
Recursos do Controlador
➢Controle de Movimentação
• PWM;
• QEI;
➢Analógico
• DAC (PWM);
• ADC;
• 24 entradas analógicas com capacidade para 1 MSPs;
SISTEMAS EMBARCADOS 14
“Prática”
➢Comparar as características dos seguintes controladores em relação 
ao ARM:
• PIC16F887
• PIC18F4550
• ATMEGA 4550
• 8051
SISTEMAS EMBARCADOS 15
Como Programar
➢Assembly(Instruction Set, Thumb e Thumb2);
➢CMSIS(Cortex Microcontroller Software Interface Standard);
➢Linguagem C/C++ padrão com acesso a registradores;
SISTEMAS EMBARCADOS 16
Conjunto de Instruções
SISTEMAS EMBARCADOS 17
Data Size e Instruction Set
➢ARM é uma arquitetura RISC;
➢ARM é uma arquitetura de 32 bits load/store;
➢Maioria dos processadores ARM utilizam 2 tipos de instrução;
• 32-bit ARM instruction;
• 16-bit Thumb instruction;
➢As instruções Thumb estão sendo substituídas por Thumb 2; 
SISTEMAS EMBARCADOS 18
Tipos de Dados no ARMv7
➢ARMv7-M suporta os seguintes tipos de dados:
• Byte -8 bits;
• Halfword-16 bits;
• Word -32 bits;
• DoubleWord-64 bits;
➢Registradores de processo são de 32-bit, capazes de suportar:
• Ponteiros de 32-bit;
• Inteiro com ou sem sinal de 32-bit;
• Inteiro sem sinal de 16-bit ou 8-bit, formados por representação de zero; 
• Inteiro com sinal de 16-bit ou 8-bit, formado por complemento de 2;
• Inteiro com ou sem sinal de 64-bit, formado por dois registradores; 
SISTEMAS EMBARCADOS 19
Manipulação de dados
SISTEMAS EMBARCADOS 20
Instruções ARM
➢Instruções com tamanho de 32 bits;
➢Todas as instruções são condicionais;
➢Load/Store – não manipula a memória diretamente;
➢Instrução consiste de:
• Opcode, com condicional (opcional);
• Registrador destino;
• Primeiro registrador origem;
• Segundo registrador origem;
• Deslocamento para o segundo operador (opcional);
➢Um exemplo:
SUBZ r0, r1, #5
SISTEMAS EMBARCADOS 21
Manipulação de Dados
SISTEMAS EMBARCADOS 22
Instruções Thumb 2
➢Instruções com tamanho de 16 bits:
• Otimização para código feito em C (~65% do equivalente ARM);
• Subset de funcionalidades das instruções ARM;
➢Características:
• Sem condicional;
• Flags sempre definidas;
• Apenas registradores entre 0 e 7;
• Constantes limitadas;
• Deslocamento não utilizado;
➢Trocar entre ARM e Thumb utilizando comando BX;
SISTEMAS EMBARCADOS 23
Instruções Thumb 2
➢Melhoria das instruções Thumb originais:
• Adiciona instruções de 32 bits ao Thumb;
• Mantém todas as instruções de 16 bits;
➢Suportadas a partir da família ARM11;
➢Objetivo: Desempenho ARM com densidade de código Thumb;
➢Utilizado principalmente na família M;
SISTEMAS EMBARCADOS 24
Outras Instruções
➢Jazelle DBX (Direct Bytecode Execution)
• Most common Java bytecodes executed in hardware;
• ARM JTEK™ (Java Technology Enabling Kit) provides support code;
• Better performance than ARM-based JVM with small size penalty;
➢Jazelle RCT (Runtime Compilation Target)/Thumb-2EE
• Supports ahead-of-time (AOT) and just-in-time (JIT) compilation;
• Intended for any interpreted language (not just Java);
➢Vector Floating Point (VFP) instructions
• Requires floating point coprocessor and/or software support libraries;
➢NEON (extension of the ARM instruction set for ARMv7-A)
• NEON is a wide SIMD data processing architecture;
• Intended for media applications (codecs etc.);
• Can code in assembly, compiler intrinsics, use vectorizing compiler on C code, or use 
the OpenMAX DL Libraries;
SISTEMAS EMBARCADOS 25
Pilha de Registradores
SISTEMAS EMBARCADOS 26
Pilha de Registradores
➢Apresenta treze registradores genéricos de 32 bits (R0-R12), 
incluindo três registradores adicionais de 32-bits:
➢SP - stack pointer (R13);
➢LR - link register (R14);
➢PC - program counter (R15);
➢Apresenta uma pilha principal para execução e uma pilha para 
suporte (main stack e process stack);
SISTEMAS EMBARCADOS 27
Pilha de Registradores
➢Registradores R0-R7
• Acessível para todas as instruções;
➢Registradores R8-R12
• Acessível para algumas instruções de 16-bits;
• Acessível para todas as instruções de 32-bits;
➢R13 - stack pointer (SP)
• Núcleos V7-M tem dois bancos;
➢R14 - link register (LR)
➢R15 - program counter (PC)
➢xPSR (Program Status Register)
• Não acessível de forma explicita;
• Salva na pilha no caso de exceção;
SISTEMAS EMBARCADOS 28
Estrutura do PSR
N – Resultado negativo da ULA
Z – Resultado zero da ULA
C – Houve Carry na Operação
V – Houve overflow na operação
Q – indica saturação (Arquitetura 5TE )
J – Jazelle (Arquitetura 5TEJ)
I – desabilita interrupção IRQ F – desabilita interrupção FIQ
T – Define instruction set
mode – auto-explicativo
Bits a partir da V6
GE – usado por instruções SIMD E – controla endianness
IT – status do condicional
SISTEMAS EMBARCADOS 29
Modos de Operação
➢Thread mode e handler mode:
• Handler mode serve para execução de interrupções e exceções;
• Thread mode serve para execução de aplicações normais;
➢Privilegiado/não-privilegiado:
• Handler mode sempre é privilegiado;
• Thread mode pode ser privilegiado ou não-privilegiado;
➢Pilhas - main stack e process stack:
• Ambas as pilhas tem seu próprio registrador r13 (stack pointer);
• Exceções sempre usam a pilha principal (main stack);
• Aplicações (thread mode) pode usar ambas as pilhas;
SISTEMAS EMBARCADOS 30
Modos de Operação
SISTEMAS EMBARCADOS 31
Exceções
➢Tipos de exceções:
• Reset;
• Non-maskable Interrupts (NMI);
• Faults;
• PendSV;
• SVCall;
• External Interrupt;
• SysTick Interrupt;
➢Processamento de exceções no Handler mode
• Usa modo privilegiado;
➢Interrupt handling
• Interrupções são uma subclasse das exceções;
• Salva e restaura automaticamente o estados dos registradores (PC, xPSR, R0-R3, R12, R14);
• Possibilita escrita do código em ‘C’;
SISTEMAS EMBARCADOS 32
Exceções
➢240 interrupções;
➢Tightly integrated Interrupt Controller (NVIC);
SISTEMAS EMBARCADOS 33
Exceções
➢Reset - Permanentemente ativa com prioridade fixa de -3;
➢NMI - Permanentemente ativa com prioridade fixa de -2;
➢HardFault - Permanentemente ativa com prioridade fixa de -1;
➢MemManage - Pode ser desabilitada com prioridade configurável;
➢BusFault - Pode ser desabilitada com prioridade configurável;
➢UsageFault - Pode ser desabilitada com prioridade configurável;
➢Debug Monitor - Pode ser habilitada com prioridade configurável;➢Interrupções - Pode ser habilitada com prioridade configurável;
SISTEMAS EMBARCADOS 34
Gerenciamento de Energia
➢Múltiplo modos de sleep – Controlados pela NVIC
• Sleep Now;
• Sleep On Exit;
• Deep Sleep;
➢Wake-Up Interrupt Controller (WIC)
• Permite que o cortex principal seja totalmente desenergizado;
SISTEMAS EMBARCADOS 35
Mapa de Endereçamento do Sistema
➢Para o ARMv7-M, os 32-bits de endereçamento tem espaço pré
determinado, subdividido para código, data e perifericos, assim 
como regiões internas do chip e externas:
• Code;
• SRAM;
• Peripheral;
• 2 x RAM regions;
• 2 x Device regions;
• System;
SISTEMAS EMBARCADOS 36
Mapeamento de Memória
SISTEMAS EMBARCADOS 37
Debug em Hardware
SISTEMAS EMBARCADOS 38

Continue navegando