Beruflich Dokumente
Kultur Dokumente
mdulo 1
Arquitetura ARM
Cortex
Introduo
95 bilhes de chips produzidos at hoje, os processadores ARM
seguem imponentes em vrios ramos, dos smartphones aos
supercomputadores.
2
Breve Histrico da ARM
O ncleo ARM teve o ponta p inicial em 1980. Nessa poca, a
empresa britnica Acorn Digital Computers foi contratada para
desenvolver um projeto para British Broadcast Corporation
(BBC). Tal projeto envolvia o desenvolvimento de uma nova
arquitetura para o microcomputador chamado BBC Computer
Literacy Project.
3
Breve Histrico da ARM
O projeto foi desenvolvido com sucesso e determinou os
primeiros passos para criao de um novo processador
comercial. importante destacar que esse novo projeto foi
influenciado pelo conceito de arquitetura RISC desenvolvido em
Berkley. O resultado disso foi o nascimento do processador
Acorn RISC Machine (ARM).
4
Breve Histrico da ARM
A primeira verso desse processador foi chamada de ARM-1 e
comeou a ser comercializada em 1985 O ARM-1 possua
cerca de 25 mil transistores. Ainda em 1985, a Acorn lanou o
ARM-2, apresentando mais funcionalidades e maior
desempenho para o mesmo tamanho do die (bloco de material
semicondutor - circuito integrado)
5
Breve Histrico da ARM
O ARM foi utilizado com sucesso, em 1987, no computador
chamado Acorn Archimedes. A Figura mostrado o die do AMR-1.
6
Breve Histrico da ARM
De modo geral, o ARM sempre apresentou modelos com alta
velocidade, die pequeno e baixo consumo. Essas
caractersticas possibilitaram o crescimento do ARM na rea de
sistemas embarcados.
7
Breve Histrico da ARM
O projeto de grande sucesso ocorreu 1994 com o lanamento
do ARM7. Esse perodo foi marcado pela revoluo de
dispositivos mobile. Nessa poca, o ARM7 foi utilizado em larga
escala, principalmente no celular com tecnologia GSM chamado
Nokia6110.
8
Introduo
O projeto de grande sucesso ocorreu 1994 com o lanamento
do ARM7. Esse perodo foi marcado pela revoluo de
dispositivos mobile. Nessa poca, o ARM7 foi utilizado em larga
escala, principalmente no celular com tecnologia GSM chamado
Nokia6110.
9
Tecnologias ARM
Desde sua criao, a arquitetura ARM passou por diversas
modificaes com objetivo de atender a demanda de mercado,
principalmente em relao s funcionalidades requisitadas.
10
Tecnologias ARM
Alm da evoluo da arquitetura, vrias extenses foram
criadas para atender segmentos especficos:
Security (TrustZone technology);
Advanced SIMD (NEON technology);
Virtualization, presente a partir da arquitetura ARMv7-A;
Cryptographic, presente a partir da arquitetura ARMv8-A.
11
Tecnologias ARM
O ARM sempre apresentou modelos com alta velocidade, die
pequeno e baixo consumo.
12
Tecnologias ARM
Alm disso, todos os processadores so desenvolvidos
seguindo um modelo de arquitetura, conforme sua rea de
aplicao:
A: alto desempenho, geralmente usado em aplicaes mobile e
plataformas;
R: tempo real, aplicado em sistemas embarcados de segmentos
automotivos e de controle industrial;
M: microcontrolador, mercado diverso que abrange desde sistemas
crticos, tempo real e desempenho.
13
Tecnologias ARM
A ltima arquitetura lanada foi a ARMv8, com as seguintes
variantes:
Linha A: Agora com suporte arquitetura de 64 bits
(AArch64) alm da de 32 bits (AArch32).
14
Tecnologias ARM
O futuro dos processador Cortex-A ser marcado pela
tecnologia DynamicIQ, atendendo as necessidades atuais de
poder computacional para aplicaes de inteligncia artificial,
computao ubqua e sistemas autnomos.
15
Tecnologias ARM
Linha R: As novas funes incluem memria determinstica,
unidade de proteo de memria (MPU), e suporte ao conjunto
de instrues A32 e T32.
16
Tecnologias ARM
Linha M: Para sistemas embarcados de baixo custo, baixa
latncia no processamento de interrupes. Novo modelo de
tratamento de excees e suporte ao conjunto de instrues
T32.
17
Tecnologias ARM
Destaca-se os novos dispositivos Cortex-M23 e Cortex-M33,
esses dispositivos j foram anunciados publicamente pelas
empresas Analog Devices, Microchip, Nuvoton, NXP, Renesas,
Silicon Labs eSTMicroelectronics. Dedicados para aplicaes
de baixo custo e baixo consumo de energia, alm das
caractersticas de segurana para o segmento de IoT (Internet
of Things).
18
Paradigma CISC
Complex Instruction Set Computer:
Conjunto de instrues inicialmente simples
19
Paradigma CISC
Complex Instruction Set Computer:
Elevado nmero de ciclos de clock por instruo reduo da
frequncia de clock
20
Paradigma RISC
Reduced Instruction Set Computer:
Instrues simples que executam rpido
21
Paradigma RISC
22
Pipeline (3 Estgios)
1. Busca (Fetch)
Busca da instruo na memria
2. Decodificao (Decode)
Decodificao dos registradores usados na instruo
3. Execuo (Execute)
Leitura de registradores
Operaes lgicas, aritmticas e de deslocamento;
Escrita em registradores
23
Pipeline: situao ideal
Todas as operaes realizadas em registradores 6 instrues
em 6 ciclos de clock (ARM Cortex-M3)
24
Pipeline: efeito de saltos
Pior caso: salto indireto, 3 ciclos de clock para completar o salto
(ARM Cortex-M3)
25
Arquitetura x Organizao
Arquitetura documento de especificao
Instrues
Excees
Registradores
Memria
26
ARM Cortex-M3
18 registradores de 32 bits
Modelo Usurio/Supervisor
27
ARM Cortex-M3
Arquitetura ARMv7M
Instruo DIV
28
ARM Cortex-M3
Controlador de Interrupes parte da macroclula Cortex-M3
29
Conjunto de Instrues Thumb-2
Comprimento de instrues:
Instrues ARM = 32 bits (fixo)
Instrues Thumb = 16 bits (fixo)
Instrues Thumb-2 = 16 ou 32 bits (varivel)
30
Arquitetura Load/Store
Acesso memria:
Somente instrues LD leem dados da memria
Somente instrues ST escrevem dados na memria
Instrues de processamento de dados no acessam a memria
31
Registradores (32 bits)
13 registradores de propsito geral
R0 a R7 (low registers)
R8 a R12 (high registers)
32
Registradores (32 bits)
Registradores xPSR, PC, LR, R12,
R3, R2, R1 e R0 so armazenados
automaticamente na pilha quando
uma interrupo ocorre
33
Registrador de Estado do Programa
Composio do xPSR:
APSR - Application Program Status Register (flags da ULA)
IPSR - Interrupt Program Status Register (nmero da
interrupo/exceo)
EPSR - Execution Program Status Register
Campo IT informao sobre blocos If/Then
Campo ICI informao sobre instrues interrompveis/continuveis
34
Execuo Condicional
Bloco If-Then (IT)
At 3 instrues condicionais then (T) ou else (E) podem ser
adicionadas
Transforma at 4 instrues consecutivas em condicionais
35
Execuo Condicional
Qualquer cdigo de condio ARM pode ser utilizado
36
Cdigos de Condio ARM
37
Microcontrolador Avanado de Arquitetura do Barramento
38
Mapa de Memria
39
Diagrama em Blocos LPC1343
(1) somente
para LPC1343
40
Mapa de memria LPC1343
41
Unidade de Proteo de Memria LPC1343
A MPU prov controle de acesso a vrias regies de memria
42
Excees LPC1343
Reset SysTick Interrupt
Faults
Hard Fault
Memory Manage
Bus Fault
Usage Fault
SVCall
Debug Monitor
PendSV
43
Interrupes LPC1343
1 interrupo no-mascarvel (NMI)
44
Gerenciamento de Consumo de Energia LPC1343
Vrios modos de baixo consumo (sleep modes)
Sleep Now
Instrues Wait for Interrupt/Event
Sleep On Exit
Imediatamente aps o retorno da ltima interrupo
Deep Sleep
Longa durao, PLL desligado
Sinal externo SLEEPDEEP
45