Você está na página 1de 45

Microprocessadores

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.

Segundo a empresa, as tecnologias ARM atingem cerca de 80%


da populao mundial. Atualmente, mais de 45 milhes de chips
ARM so vendidos por fabricantes licenciados.

No ano de 2015 foram fabricados em torno de 14,9 bilhes de


dispositivos enquanto que em 2016 essa marca atingiu 16,7
bilhes.

Cabe destacar que a ARM licencia suas arquiteturas para seus


parceiros comerciais, totalizando cerca de 1400 licenas
vendidas para mais de 450 parceiros.

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.

Devido ao sucesso do Acorn Archimedes e do crescente


interesse por microprocessadores RISC, a empresa Apple
Computers requisitou a Acorn para desenvolver um processador
para o projeto do Apple Newton. Nesse momento, nasce a
parceria de trs empresas Acorn, VLSI e Apple, criando a
empresa Advanced RISC Machine, ou ARM Ltd.

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.

Devido a isso, o ARM7 tornou-se uma referncia nesse


segmento e se consolidou definitivamente. Aps esse perodo a
arquitetura continuou evoluindo e se consolidaram como
modelos clssicos: ARM7, ARM9 e ARM11.

Atualmente, o processador mais vendido no mercado tem como


core o clssico ARM7TDMI, alcanando a marca de mais de 1
bilho de dispositivos.

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.

Devido a isso, o ARM7 tornou-se uma referncia nesse


segmento e se consolidou definitivamente. Aps esse perodo a
arquitetura continuou evoluindo e se consolidaram como
modelos clssicos: ARM7, ARM9 e ARM11.

Atualmente, o processador mais vendido no mercado tem como


core o clssico ARM7TDMI, alcanando a marca de mais de 1
bilho de dispositivos.

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.

Outra caracterstica notvel o equilbrio entre esses requisitos


e sua capacidade de criar cdigos compactos que tiram proveito
do seu conjunto de instrues.

Tambm importante destacar que a ARM produz seus


processadores com conjunto de instrues iguais. Isso
possibilita ao menos uma certa compatibilidade entre as
famlias.

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

Avanos tecnolgicos permitiram a fabricao de computadores


com mais transistores e menor custo

Projetistas optaram por conjuntos de instrues cada vez mais


complexos
Inteno: reduzir a distncia semntica entre Assembly e linguagens de
alto nvel

Instrues com elevado grau semntico

Elevado nmero de modos de endereamento (ex:


endereamento indireto em memria)

19
Paradigma CISC
Complex Instruction Set Computer:
Elevado nmero de ciclos de clock por instruo reduo da
frequncia de clock

Menor nmero de instrues por programa menor uso de


memria de cdigo

Decodificao atravs de microcdigo dificulta/impossibilita o


uso de pipeline

20
Paradigma RISC
Reduced Instruction Set Computer:
Instrues simples que executam rpido

Elevado nmero de registradores de uso geral

Decodificao de instrues com lgica combinacional

Execuo utilizando pipeline um ciclo de clock por instruo

Regularidade de tempo de execuo e de tamanho de instruo

Reduo da rea de silcio e tempo de projeto

Efeito final: melhor desempenho, apesar do nmero de


instrues por programa ser maior

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

Ex: ARMv4, ARMv7, etc.

No tem custo, pode ser obtido diretamente do website da ARM

Organizao implementao fsica (silcio)


Ex: ARM7TDMI, ARM Cortex-M3, etc.

ARM vende a implementao de ncleos em VHDL ou mscara


de difuso para empresas licenciadas

26
ARM Cortex-M3
18 registradores de 32 bits

Tratamento muito eficiente de interrupes

Gerenciamento de consumo de energia

Projetado para ser programado em C (completamente, at


mesmo tratamento de reset, interrupes e excees)

Permite uso de sistemas operacionais (RTOS)

Modelo Usurio/Supervisor

27
ARM Cortex-M3
Arquitetura ARMv7M

Sem memria cache ou Unidade de Gerenciamento de Memria


(MMU)

Tabela de vetores contm endereos, no instrues

Instruo DIV

Interrupes salvam e recuperam automaticamente o estado do


processador

28
ARM Cortex-M3
Controlador de Interrupes parte da macroclula Cortex-M3

Mapa de memria fixo

Registrador de estado do processador nico

Ncleo de processamento Thumb-2

Mistura de instrues de 16 e 32 bit (alta densidade de cdigo),


mas no requer alinhamento para instrues de 32 bits

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)

Melhor de dois mundos:


Aproximadamente 26% de melhora em densidade de cdigo em relao
a instrues ARM
Aproximadamente 25% de melhora em desempenho em relao a
instrues Thumb

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

Operaes sobre dados em memria requerem:


Leitura em registrador
Operao
Escrita em memria

31
Registradores (32 bits)
13 registradores de propsito geral
R0 a R7 (low registers)
R8 a R12 (high registers)

3 registradores de uso/significado especial


R13 = Stack Pointer (SP)
R14 = Link Register (LR)
R15 = Program Counter (PC)

1 registrador de propsito especial


xPSR = Program Status Register

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

Instrues de 16 bits dentro do bloco no afetam flags, exceto a


instruo de comparao

Instrues de 32 bits podem ou no afetar flags (conforme o


uso ou no do sufixo S)

Estado do bloco If-Then armazenado no CPSR


Bloco If-Then pode ser interrompido de forma segura
Saltar de dentro ou para dentro de um bloco If-Then NO permitido

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

Proteo de memria com latncia zero


8 regies em registradores
As mesmas regies so usadas por instrues e dados
Tamanho: mnimo de 32 bytes, mximo de 4GB
No h paginao de endereos

Configurado atravs de registradores de controle mapeados em


memria

42
Excees LPC1343
Reset SysTick Interrupt

NMI (interrupo no-mascarvel) External Interrupt

Faults
Hard Fault
Memory Manage
Bus Fault
Usage Fault

SVCall

Debug Monitor

PendSV

43
Interrupes LPC1343
1 interrupo no-mascarvel (NMI)

1 a 240 interrupes mascarveis com controle de prioridade


Implementao define nmero de interrupes

Controlador de interrupes (NVIC) acoplado fortemente ao


ncleo do processador

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

Controlados pelo NVIC

45