1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período...
Transcript of 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período...
![Page 1: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/1.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/2.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/3.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/4.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/5.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/6.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/7.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/8.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/9.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/10.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/11.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/12.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/13.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/14.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/15.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/16.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/17.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/18.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/19.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/20.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/21.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/22.jpg)
22 Saulo O. D. Luiz
![Page 23: 1 Saulo O. D. Luiz Arquiteturas de Hardware para sistemas embarcados Sistemas embarcados Período 2010.2.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/23.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/24.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/25.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/26.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/27.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/28.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/29.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/30.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/31.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/32.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/33.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/34.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/35.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/36.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/37.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062623/552fc104497959413d8bf66b/html5/thumbnails/38.jpg)
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