1 saulo o. d. luiz arquiteturas de hardware para sistemas embarcados sistemas embarcados período...

38
1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

Upload: internet

Post on 17-Apr-2015

109 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

1 Saulo O. D. Luiz

Arquiteturas de Hardware para sistemas embarcados

Sistemas embarcados

Período 2010.2

Page 2: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

2 Saulo O. D. Luiz

Roteiro

Sistemas embarcadosProcessadores de propósito geralMicrocontroladoresHardware embarcado

ProcessadorMemóriaDispositivos de entrada e saídaCoprocessadores

Arquiteturas multicore– Exemplo: plataforma OMAP (ARM e DSP)

Page 3: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

3 Saulo O. D. Luiz

Definição

• Sistema embarcado é um dispositivo que possui um processador mas não é um computador de propósito geral

Page 4: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

4 Saulo O. D. Luiz

Exemplos

• Controle automotivo:– motor, freios …

• Aviões– motor, controles de vôo …

• Forno de microondas• Câmera digital• Telefone celular• Internet tablet• PDA• ...

Page 5: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

5 Saulo O. D. Luiz

Processadores de propósito geral

• Um sistema construído com um microprocessador requer memória, entradas e saídas externas

Page 6: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

6 Saulo O. D. Luiz

Microcontroladores

• Um microcontrolador possui processador, memória, dispositivos de entrada e saída e outros elementos num único chip

Page 7: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

7 Saulo O. D. Luiz

Exemplos

• Forno de microondas• Controle remoto da TV• Câmera digital• CD player• ...

Page 8: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

8 Saulo O. D. Luiz

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 embarcados em) sistemas que controlam

Page 9: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

9 Saulo O. D. Luiz

Exemplo de aplicação

• Sistema de controle de temperatura de um forno

Fonte: D. Ibrahim, PICBASIC Projects. Newnes, 2006c

Page 10: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

10 Saulo O. D. Luiz

Exemplo de aplicação

Fonte: D. Ibrahim, PICBASIC Projects. Newnes, 2006

Page 11: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

11 Saulo O. D. Luiz

Exemplo de aplicação

Fonte: D. Ibrahim, PICBASIC Projects. Newnes, 2006

Page 12: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

12 Saulo O. D. Luiz

Qual a arquitetura de hardware necessária para atender os

requisitos das aplicações típicas de Sistemas embarcados?

Page 13: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

13 Saulo O. D. Luiz

Processador

• Computador com um conjunto complexo de instruções (CISC):– Muitas operações– Diferentes formatos e comprimentos de

instruções

• Computador com um conjunto reduzido de instruções (RISC):– Menos instruções– Eficiência em processadores com pipeline

Page 14: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

14 Saulo O. D. Luiz

Memória

• A memória armazena dados e instruções

• A CPU obtem instruções a partir da memória

• Arquiteturas:– von Neumann– Harvard

Page 15: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

15 Saulo O. D. Luiz

Arquitetura von Neumann

Page 16: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

16 Saulo O. D. Luiz

Arquitetura Harvard

Page 17: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

17 Saulo O. D. Luiz

von Neumann X Harvard

• A arquitetura Harvard permite acessos simultâneos a dados e instruções

• A maioria dos DSPs usa Harvard:– Maior largura de banda

Page 18: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

18 Saulo O. D. Luiz

Dispositivos de entrada e saída

• Tipicamente incluem algum componente não digital

• Interface com a CPU:

Page 19: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

19 Saulo O. D. Luiz

Coprocessadores

• Coprocessador: unidade funcional chamada através de instrução

• Exemplos– ARM:

• unidades de aritmética de ponto-flututante

– DSPs 5509 e 5510:• DCT/IDCT• Interpolação de pixels• Estimação de movimento

Page 20: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

20 Saulo O. D. Luiz

Como esses recursos de hardware estão organizados num

sistema embarcado real?

Page 21: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

21 Saulo O. D. Luiz

Exemplo de hardware embarcado

OMAP– Open Multimedia Applications Platform

Família de processadores com arquitetura dual core (ARM + DSP)

Desenvolvida para alto desempenho e baixo consumo de energia

OMAP 1610,1611 e 1612– Podem ser usados em telefones móveis

Page 22: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

22 Saulo O. D. Luiz

Page 23: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

23 Saulo O. D. Luiz

Plataforma OMAP – Dispositivos

Archos PMA400 Nokia 770

HP Ipaq 6300Palm Tungsten

E

Nokia N800

Page 24: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

24 Saulo O. D. Luiz

Plataforma OMAP

Kits de desenvolvimento

OMAP OSK

OMAP 1611

Kit de desenvolvimentousando os OMAP 591x

Page 25: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

25 Saulo O. D. Luiz

Plataforma de OMAP1611

Processador OMAP controlando os seguintes dispositivos de I/O– Tela de toque

– Portas seriais

– Controlador Ethernet

– Cartões de memória flash

– MMC

– Keypad

– Cartões Mini-PCI

– Interface Bluetooth

– ...

Page 26: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

26 Saulo O. D. Luiz

Tecnologia CMOS de baixo consumo e alto desempenho

Tecnologia 130 nm de baixa tensão

Consome menos de 10 µA em modo standby

Suprimento de energia compartilhado entre processamento de aplicações, banda básica digital e relógio de tempo real permite controle preciso sobre consumo de energia

Gerenciamento de energia a clock otimizado: somente dois relógios necessários em 13 MHz e 32 kHz

Page 27: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

27 Saulo O. D. Luiz

Subsistema ARM926TEJ

Máxima frequência: 204 MHz16KB I-cache; 8KB D-cacheAceleração Javasuporte para conjuntos de instruções de

32-bit e 16-bit (thumb mode)MMUs de dados e programa

Page 28: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

28 Saulo O. D. Luiz

Subsistema TMS320C55x DSP

Máxima frequência: 204 MHz

32K x 16-bit on-chip dual-access RAM (DARAM) (64 KB)

48K x 16-bit on-chip single-access RAM (SARAM) (96 KB)

24 KB I-cache

Uma/duas instruções executadas por ciclo de relógio

Aceleradores em hardware para DCT, iDCT, interpolação de pixels, e estimação de movimento para compressão de vídeo

Page 29: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

29 Saulo O. D. Luiz

Subsistema de aplicação

DMA com 4 canais físicos e 17 lógicos e um 2D graphics engine dedicado

USB On-the-Go (OTG)

Duas portas SD/MMC/SDIO (secure data/multimedia card/secure digital IO)

Dois UARTs (universal asynchronous receiver/transmitter) 3.68 MHz

Controlador I2C (Inter-Integrated Circuit)

uWire

CompactFlash

Page 30: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

30 Saulo O. D. Luiz

Subsistema de aplicação

Portas para camera

ETM (Enhanced Debug Trace) para depuração

FIR (Fast IrDA)

SPI (Serial Peripheral Interface Bus)

Controlador LCD

Interface 54-Mbps para WLAN 802.11a/b/g

Controlador de memória para:– 128 MB de SDRAM móvel e DDR móvel

– 256 MB Flash

Page 31: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

31 Saulo O. D. Luiz

Depuração de aplicações em:– ARM

– DSP

– JTAG (Joint Test Action Group)– Padrão IEEE 1149.1 (Standard Test Access Port and

Boundary-Scan Architecture)

JTAG

Page 32: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

32 Saulo O. D. Luiz

Cross-Compilação

PC

Scratchbox ARM926

• Scratchbox:– toolkit de cross-compilação para targets ARM

e PowerPC

Page 33: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

33 Saulo O. D. Luiz

Funcionalidade x Consumo

• Maior consumo de energia:– Câmeras de alta resolução;– Flash;– LCD de alta resolução;– Mais funcionalidades e

aplicações;– etc.

• Quantidade limitada de energia suprida pelas baterias– Com os aparelhos

ganhando mais características, a vida da bateria de torna menor.

Page 34: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

34 Saulo O. D. Luiz

Uma solução!

• Os usuários querem aparelhos com características avançadas sem perder a autonomia da bateria!

• Para aliar o alto desempenho ao baixo consumo de potência, o OMAP combina:

• DSP:– baixo consumo de

potência;

– operações de computação intensiva.

• ARM, adequado para:– SO

– interface com o usuário

Page 35: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

35 Saulo O. D. Luiz

Desenvolvimento de aplicações para a Plataforma OMAP

• Há grande disponibilidade de aplicações multimídia open-source – para PC

• Exemplos: decodificadores de vídeo, áudio e voz.

• Essas soluções precisam então ser portadas para o DSP alvo.

• DSP:– Aplicações

multimídia

• ARM– SO

– interface com o usuário

Page 36: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

36 Saulo O. D. Luiz

Problemas chave

• Comunicação entre os processadores;

• Implementação de algoritmos baseados em aritmética de ponto-fixo;

• Limitações de uso de memória;

• Otimizações.

Page 37: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

37 Saulo O. D. Luiz

Comunicação entre os processadores

• DSP Gateway

Page 38: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2

38 Saulo O. D. Luiz

Exemplo de uso do DSP GatewayDSP Gateway

processo 1

open() returnacompleto

completo

close() returna

ARM DSP

close()close()Desativar tarefa

Tarefa no DSP excluída

dinamicamente

write() write()Entrada de comando de dados/controle

write() returna

read()read()

read() returna

Saída de dados

Tarefa executando

Device driver DSP kernelAplicação Linux Aplicação DSP

open() open()ativar tarefa no DSP

Tarefa no DSP criada

dinamicamente