• Nenhum resultado encontrado

Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) Arquitetura ARM. Prof. André Schneider de Oliveira

N/A
N/A
Protected

Academic year: 2021

Share "Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) Arquitetura ARM. Prof. André Schneider de Oliveira"

Copied!
69
0
0

Texto

(1)

Arquitetura ARM

Prof. André Schneider de Oliveira

andreoliveira@utfpr.edu.br

Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN)

(2)

Breve história do uso da

eletrônica em automóveis

(3)

História

Primeiro sistema de rádio

(4)

firstly used on BRM Formula One in

1962 & on some 1963 Pontiac models, as an option

Primeira ignição eletrônica

(5)
(6)
(7)

first "drive by wire" throttle & CAN network (on BMW 8 series, 1989)

Final dos anos 70

Introdução de rede multiplexadoras

incluindo o protocolo CAN

first CAN networks (5 ECUs), 500 kbit/s (1991, Mercedes S Class)

(8)

Primeira injeção eletrônica

(9)

Década de 90

Dispositivos de segurança

ABS (Anti-lock Breaking System) Airbags

(10)

Anos 2000

Assistentes de direção

(11)

2010  +

Carros "conectados" &

econômicos

Comunicações "Car-to-car" e "Car-to-Infrastructure“ Veículos elétricos

(12)

A maioria dos carros de alto nível embarcavam mais de 30 microprocessadores

(13)

Tata Nano

contem por volta de

(14)

Um

Lexus

“high end” contem até

(15)

Benefícios da

(16)

Benefícios do uso da eletrônica

Poluição

Legislation CO2 emissions reduction, in Europe 2006 2012 2020 2025 in g/km 160 130 95 70

Combustion Systems: measurements & controls

eg: engine control units,

pressure and temperature sensors, actuators and valves

Fuel Supply

eg: controlled fuel supply units,

sensors and venting tank systems

Exhaust & aftertreatment eg: Diesel Particulate Filter and associated components selective catalytic reduction

(17)

Benefícios do uso da eletrônica

Segurança

Influência de sistemas diretos e indiretos

1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 5.000 10.000 15.000 20.000 25.000 fatalities 19.200 # cars [millions] 13.9 mil. 0 10 20 30 40 50 60 1972: Speed limit on country roads 1976: Mandatory use of

belts for the front seats

1995: Introduces side airbags 1981: First introduction of Airbag Technology 1984: Airbag in mass production 48 mil. 4.100

(18)

Benefícios do uso da eletrônica

Conforto

(19)

Benefícios do uso da eletrônica

Preço

10.200 €

av. car price in 2000

mechanical &

hydraulics share hydraulics sharemechanical &

11.000 €

av. car price in 2010 electric & electronic

share electric & electronic share

78% 65%

35%

22%

(20)

Algumas

curiosidades

(21)

Um carro Premium (2005) continha mais

"eletrônica” do que alguns foguetes do

sistema Apollo

(22)

2.5 km de fios

representa

6 voltas

em uma pista de corrida olímpica

x 6

Um carro comum (2006) chega a ter

cerca 2.5 km de fiação

(23)

Mundo dos computadores Mundo automotivo

Um carro comum (2006) contem no mínimo

3 sistemas operacionais

(24)

Um carro comum (2006) pode ter até

100 Megabyte de linha de código

(25)

Mais de 30% dos custos de um carro

está na eletrônica.

(26)

Sistemas

embarcados

(27)

O que é um Sistema Embarcado?

• Sistema Computacional Embarcado

– Sistema computacional: processador + memória + periféricos

– Embarcado: faz parte de outro sistema, por exemplo: eletrodoméstico, veículo, equipamento agrícola,

equipamento médico, equipamento de telecom, etc. – Possui funcionalidade / uso específico (alteração do

software ocorre raramente)

– Atende a diversas restrições: custo, portabilidade (tamanho físico), robustez, consumo de energia, etc.

(28)

Definição

• Sistema embarcado é um dispositivo que

possui um processador mas não é um

computador de propósito geral

(29)

Sistemas Embarcados

• Software

• Hardware

• Firmware

• Middleware

(30)
(31)

Exemplos

• Controle automotivo:

– motor, freios …

• Aviões

– motor, controles de vôo …

• Forno de microondas

• Câmera digital

• Telefone celular

• Internet tablet

• PDA

• ...

(32)

Microcontroladores

• Um microcontrolador possui processador,

memória, dispositivos de entrada e saída e outros elementos em um único chip

(33)

Processadores de propósito geral

• Um sistema construído com um

microprocessador requer memória, entradas e saídas externas

(34)

Microcontrolador

• Microcontrolador

• Micro: pequeno

• Controlador: aplicações de controle

• Também chamados de controladores

embarcados, pois, na maioria das vezes,

são construídos dentro dos (ou

(35)

Produtos que utilizam

sistemas embarcados

(36)
(37)
(38)
(39)
(40)

Produtos que utilizam

sistemas embarcados

(41)

Processador ARM

(42)

Paradigma CISC

• Complex Instruction Set Computer

– Conjunto de instruções inicialmente simples

– Avanços tecnológicos permitiram a fabricação de computadores com mais transistores e menor custo – Projetistas optaram por conjuntos de instruções cada

vez mais complexos

• Intenção: reduzir a distância semântica entre Assembly e linguagens de alto nível

(43)

Paradigma CISC

• Instruções com elevado grau semântico

• Elevado número de modos de endereçamento (ex: endereçamento indireto em memória)

• Elevado número de ciclos de clock por instrução → redução da frequência de clock

• Menor número de instruções por programa → menor uso de memória de código

• Decodificação através de microcódigo → dificulta/impossibilita o uso de pipeline

(44)

Paradigma RISC

• Reduced Instruction Set Computer

– Instruções simples que executam rápido

– Elevado número de registradores de uso geral – Decodificação de instruções com lógica

combinacional (tabela)

– Execução utilizando pipeline

(45)

Paradigma RISC

• Regularidade de tempo de execução

• Regularidade de tamanho de instrução

• Redução da área de silício e tempo de projeto

• Efeito final: melhor desempenho, apesar do

(46)

Resumo: RISC x CISC

RISC CISC

Conjunto de instruções reduzido Conjunto de instruções extenso Instruções semanticamente simples Instruções semanticamente

complexas

Instruções de tamanho fixo Instruções de tamanho variável Decodificação simplificada

(tabela)

Decodificação complexa (microcódigo)

Execução regular Cada instrução executa à sua maneira

Instruções requerem o mesmo número de ciclos de clock para executar

Grande variação no número de ciclos de clock por instrução

Possibilita o uso de pipeline Extremamente difícil/impossível o uso de pipeline

(47)

Pipeline (3 Estágios)

1. Busca (Fetch)

– Busca da instrução na memória

2. Decodificação (Decode)

– Decodificação dos registradores usados na instrução

3. Execução (Execute)

– Leitura de registradores

– Operações lógicas, aritméticas e de deslocamento; – Escrita em registradores

(48)

Pipeline (3 Estágios)

•Similar ao pipeline do ARM7TDMI, porém com mais funcionalidades em cada estágio, o que resulta em maior desempenho geral

(49)

Pipeline: Situação Ideal

• Todas as operações realizadas em registradores → 6 instruções em 6 ciclos de clock (ARM Cortex-M3)

(50)

Pipeline: Efeito de Saltos

• Pior caso: salto indireto, 3 ciclos de clock para completar o salto (ARM Cortex-M3)

(51)

Arquitetura x Organização

• Arquitetura = documento de especificação

– Instruções

– Exceções

– Registradores

– Memória

• Ex: ARMv4, ARMv7, etc.

• Não tem custo, pode ser obtido

diretamente do website da ARM

(52)

Arquitetura x Organização

• Organização = implementação física

(silício)

– Ex: ARM7TDMI, ARM Cortex-M3, etc.

• ARM vende a implementação de núcleos

em VHDL ou máscara de difusão para

(53)

ARM Cortex-M3

• 18 registradores de 32 bits

• Tratamento muito eficiente de interrupções • Gerenciamento de consumo de energia

• Projetado para ser programado em C (completamente, até mesmo tratamento de reset, interrupções e exceções)

• Permite uso de sistemas operacionais (RTOS) – Modelo

• Usuário : sem privilégio de execução)

• Supervisor : com privilégios (processador inicia, reinicia, executa chamada de sistema)

(54)
(55)

ARM Cortex-M3

• Arquitetura ARMv7M

• Sem memória cache ou Unidade de Gerenciamento de Memória (MMU)

• Instrução DIV (divisão)

• Interrupções salvam e recuperam automaticamente o estado do processador

(56)
(57)

Unidade de Proteção de Memória (MPU)

• A MPU provê controle de acesso a várias

regiões de memória

• Proteção de memória com latência zero

– 8 regiões em registradores

– As mesmas regiões são usadas por instruções e dados

– Tamanho: mínimo de 32 bytes, máximo de 4GB – Não há paginação de endereços

• Configurado através de registradores de

controle mapeados em memória

(58)

Gerenciamento de Consumo de Energia

• Vários modos de baixo consumo (sleep modes)

– Sleep Now

• Instruções Wait for Interrupt/Event – Sleep On Exit

• Imediatamente após o retorno da última interrupção – Deep Sleep

• Longa duração, PLL desligado • Sinal externo SLEEPDEEP

(59)

ARM Cortex-M3

• Controlador de Interrupções é parte da

macrocélula Cortex-M3

• Mapa de memória fixo

• Registrador de estado do processador único

• Núcleo de processamento Thumb-2

– Mistura de instruções de 16 e 32 bit (alta densidade de código), mas não requer alinhamento para

(60)

Conjunto de Instruções Thumb-2

• Comprimento de instruções:

– Instruções ARM = 32 bits (fixo) – Instruções Thumb = 16 bits (fixo)

– Instruções Thumb-2 = 16 ou 32 bits (variável)

• Melhor de dois mundos:

– Aproximadamente 26% de melhora em densidade de código em relação a instruções ARM

– Aproximadamente 25% de melhora em desempenho em relação a instruções Thumb

(61)

Conjunto de Instruções Thumb-2

(62)

Arquitetura Load/Store

• Acesso à memória:

– Somente instruções LD leem dados da memória

– Somente instruções ST escrevem dados na memória – Instruções de processamento de dados não

acessam a memória

• Operações sobre dados em memória requerem:

1.Leitura em registrador 2.Operação

(63)

Registradores (32 bits)

• 13 registradores de propósito geral

– R0 a R7 (low registers) - Thumb & Thumb-2

– R8 a R12 (high registers) - Thumb-2 32bit

• 3 registradores de uso/significado especial

– R13 = Stack Pointer (SP) - Main + Process

– R14 = Link Register (LR) - PC de retorno

– R15 = Program Counter (PC)

• 1 registrador de propósito especial – xPSR = Program Status Register

(64)

Registradores (32 bits)

• Registradores xPSR, PC, LR,

R12, R3, R2, R1 e R0 são todos

armazenados automaticamente na pilha quando uma interrupção ocorre.

(65)

Execução Condicional

• Bloco If-Then (IT)

– Até 3 instruções condicionais “then” (T) ou

“else” (E) podem ser adicionadas

– Transforma até 4 instruções consecutivas em

condicionais

(66)

Execução Condicional

• Qualquer código de condição ARM pode ser utilizado (ver tabela a seguir)

• Instruções de 16 bits dentro do bloco não afetam flags, exceto a instrução de comparação

• Instruções de 32 bits podem ou não afetar flags (conforme o uso ou não 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 NÃO é permitido

(67)

Códigos de Condição ARM

Mn Descrição Flags Mn Descrição Flags E

Q equal NE not equal CS HS carry set higher or same C C LO carry clear lower MI minus/negativ e PL plus/positive VS overflow VC no overflow

HI higher LS lower or same G

E

greater or

equal LT less than GT greater than LE less or equal

Mn Descrição Flags Mn Descrição Flags E

Q equal NE not equal CS HS carry set higher or same C C LO carry clear lower MI minus/negativ e PL plus/positive VS overflow VC no overflow

HI higher LS lower or same G

E

greater or

equal LT less than GT greater than LE less or equal

(68)
(69)

ARM-AMBA

Advanced Microcontroller Bus Architecture

AHB - Advanced High-Performance Bus APB - Advanced Peripheral Bus

Referências

Documentos relacionados

a) A microempresa, a empresa de pequeno porte ou cooperativa detentora da proposta de menor valor será convocada para apresentar, no prazo de 05 (cinco) minutos, nova

Coletaram-se informações referentes à habilitação pro- fissional dos docentes; suas fontes de conhecimentos sobre a Guerra do Contestado; seu conhecimento referente aos redutos

Além das espécies selvagens, existem também algumas variedades de tomate da espécie Solanum lycopersicum que podem ser utilizadas como fontes de resistência a algumas pragas, entre

 Numéricos das das Propriedades Propriedades do do Ar Ar Úmido, Úmido, Cartas Cartas Psicrométricas, Psicrométricas, Processos Processos Psicrométricos, Psicrométricos,

Roberlan Laurêncio do Nascimento Secretaria de Assistência Social Suplente Maria Cristiane Meireles de Souza Secretaria de Educação e Cultura Titular. Celice Santos Souza

A Lista de Produtos Estratégicos no âmbito do Sistema Único de Saúde, apresentada no Anexo I, objetiva sinalizar para os principais agentes envolvidos com a estratégia de fomento

Tese apresentada como requisito parcial para obtenção do título de Doutor pelo Programa de Pós-graduação em Direito da PUC-Rio.. Aprovada pela Comissão Examinadora abaixo

Esta quitação só terá validade após pagamento do cheque pelo Banco