Arquitetura de
Sistemas Embarcados
Exame de Qualificação em Abrangência
(prestado em 09/12/2005)
Carlos Arthur Lang Lisbôa
Orientador: Prof. Luigi Carro
Programa de Pós-Graduação em Computação
Laboratório de Sistemas Embarcados
Instituto de Informática
Universidade Federal do Rio Grande do Sul
Porto Alegre – RS – Brasil
Definições
Sistema Embarcado
Processador Embarcado
Qualquer dispositivo que
inclui um computador
programável mas que não
é, ele mesmo, um
computador de uso geral.
Um processador
programável, cuja interface
de programação não está
acessível para o usuário
final do produto.
A única interação com o
usuário é através do
aplicativo.
Wayne Wolf, 2000
Jan Rabaey, 2000
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
2
Uso Geral vs. Embarcados
Qual a diferença ?
The Intel® Pentium® Processor Extreme Edition
with the processing capabilities of four threads
delivers more computing capabilities enabling you
to explore new ways to accomplish and enjoy
performance intensive tasks on your PC.
Exame de Qualificação em Abrangência
Featuring advanced technologies that offer
high performance, flexibility and robust
functionality, the Intel PXA270 processor is
packaged specifically for the embedded
market and is ideal for the low-power
framework of battery-powered devices.
Carlos A. L. Lisbôa
09/12/2005
3
Uso Geral vs. Embarcados
... mas não apenas isto !
• calculadoras simples ou programáveis
• eletrodomésticos “inteligentes”
• telefones celulares
• jogos eletrônicos
• controle, segurança e conforto em veículos
• set-top boxes
• sistemas GPS
• som, fotografia e vídeo
• copiadoras, impressoras e outros periféricos
• ... a criatividade humana não tem limites !
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
4
Roteiro da Apresentação
• Introdução
• Processadores
• Memórias
• Sistemas com múltiplos núcleos
• Comunicação: barramentos e NOCs
• Aspectos relacionados a software
• Conclusão
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
5
Introdução: Requisitos Especiais
• consumo nem sempre é problema; custo sim
• área e desempenho podem ser críticos (soft /
hard deadlines)
• tolerância a falhas pode ser fator crítico
• múltiplos processadores heterogêneos
• necessidade de comunicação e redes (NOCs)
• capacidade gráfica
• antenas, som, vídeo: processamento digital de
sinais (DSP)
• “embriões” de sistemas operacionais (RTOS)
• aplicativos residentes em memória / download
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
6
Introdução: Complexidade do Projeto
• portabilidade dos produtos
• limitação de consumo
• especificação de desempenho mínimo: hard
deadlines
• baixa capacidade de memória (área, consumo)
• segurança e confiabilidade
• operação em rede (múltiplos núcleos)
• metodologia de teste adequada
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
7
Introdução
• Amplo espaço de projeto a ser explorado
•
•
•
•
•
•
particionamento hardware / software
tipo(s) de processador(es)
hierarquias de memórias
interfaces para periféricos
comunicação entre componentes
sistema operacional e aplicativos
• Prazo de projeto: poucos meses
• Custos elevados (pessoal, ferramentas,
máscaras)  requer volume de produção
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
8
Roteiro da Apresentação
• Introdução
• Processadores
• Memórias
• Sistemas com múltiplos núcleos
• Comunicação: barramentos e NOCs
• Aspectos relacionados a software
• Conclusão
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
9
Processadores: Arquitetura
• Selecionar a mais adequada à aplicação
• uso de lógica programável (conforme volume)
• FPGAs (Field Programmable Gate Array) - baixo volume
• ASICs (Application Specific Integrated Circuit) - alto
• ASIPs (Application Specific Instruction Set Processor) - alto
• microprocessadores de prateleira, específicos ou IPs
•
•
•
•
pipeline
superescalar
VLIW (Very Large Instruction Word)
processamento digital de sinais (DSP)
• múltiplos processadores no mesmo chip
• reconfigurabilidade  redução do consumo de energia
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
10
Processadores
• Arquiteturas com Pipeline
• paralelismo de estágios da execução de instruções
Jan Rabaey, 2000
• na prática: 12 a 20 estágios
• com pipeline cheio: 1 instrução por ciclo
• custo maior em potência (mais chaveamentos)
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
11
Processadores
• Pipelines - hazards: structural, data, control
• estrutural: faltam componentes (FUs, registradores)
• dependência de dados
• reordenação pelo compilador - limitada
• reordenação pelo processador (forwarding) - mais consumo
• controle: desvios condicionais (> 20% !)
•
•
•
•
•
por software: inserção de NOPs (mais lento, mais memória)
inserção de “bolhas”
remoção de instruções do pipeline
quanto mais estágios, maior o custo em desempenho
para amenizar o custo: predição de saltos
• laços - probabilidade maior é repetir
• máquina de estados - predição “estatística”
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
12
Processadores
• Pipelines: dimensionamento  custo
• produtividade máxima: 1 instrução por ciclo
• mais estágios  ciclos mais curtos
• ciclos mais curtos  maior freqüência
• maior freqüência  maior potência
• clock mais rápido  requer redistribuição
• redistribuição de clock  mais área, mais potência
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
13
Processadores
• Arquiteturas superescalares: exemplo
• vários pipelines em paralelo - paralelismo explícito
Jan Rabaey, 2000
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
14
Processadores
• Arquiteturas superescalares: exemplo real
Intel Pentium® 4
hyperthreading: 1 superescalar por thread
(Intel Pentium Extreme Edition)
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
15
Exemplo: processadores Pentium®
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
16
Exemplo: processadores Pentium®
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
17
Exemplo: processadores Pentium®
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
18
Exemplo: processadores Pentium®
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
19
Processadores
• Arquiteturas superescalares - dificuldades
• programas da “vida real” têm pouco paralelismo
• na compilação: loop unrolling = mais dependência
• redução da dependência de dados pelo processador
• execução de instruções fora de ordem
busca instruções cuja dependência de dados esteja
resolvida e as executa antes das demais
• renomeação de registradores (aliases)
• maior custo em potência:
hw extra mantém unidades ocupadas a maior parte do tempo
•  uso principal: processadores de uso geral
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
20
Processadores
• Arquiteturas VLIW: instruções em paralelo
64-bit
memory
bus
32-bit
peripheral
bus
multi-port 128 words x 64 bits register file
bypass network
data
cache
16KB
mmu
mmu
FU
FU
FU
FU
FU
exceptions
PC
instruction
cache
mmu
32 KB
VLIW instruction decode and launch
Jan Rabaey, 2000
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
21
Processadores
• Arquiteturas VLIW - prós e contras
• mais econômica em potência:
• sem detecção de paralelismo durante execução
• sem predição de saltos
• paralelismo resolvido pelo compilador (custa caro)
• dependência de dados  desperdício de memória
• requer recompilação quando muda a largura do VLIW
• ideal para sistemas em que o código não muda
durante a operação do processador embarcado
• mais usadas em processamento de sinais e
multimedia, onde aplicações têm mais paralelismo
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
22
Processadores
• Arquiteturas DSP - processamento de sinais
• aplicações: telefone celular, modems, controle, ...
• digital  analógico - repetibilidade e facilidade projeto
• processadores digitais de uso geral:
• muitos recursos não utilizáveis em DSP
• carência de recursos otimizados para DSP
• consumo de potência elevado
• processadores digitais de sinais
• otimizações de hardware para acelerar a execução dos
algoritmos específicos para DSP (filtros, FFT, DCT, ...)
• resultados: maior desempenho, menor potência
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
23
Processadores
• Arquiteturas DSP - otimizações específicas
• “stream” de entrada contínuo - taxa fixa
• grande quantidade de dados que não podem ser perdidos
• não pode ler um “lote” e esperar enquanto processa
• solução: buffer circular - implementação em hardware
• arquitetura Harvard: memórias para instruções e
dados separadas, com acesso em paralelo
• vários bancos de memória para dados, com acesso
em paralelo
• interrupções simplificadas para atender E/S sem
necessidade de chavear contexto
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
24
Processadores
• Arquiteturas DSP - otimizações específicas
• instrução multiplica-e-acumula
• endereçamento de bit reverso
• registradores com auto incremento
• controle de laços em hardware
• muitas destas otimizações estão migrando para
processadores de uso geral
• nos sistemas embarcados, podem ser usados:
• co-processadores DSP
• processadores VLIW adaptados para processamento de sinais
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
25
Roteiro da Apresentação
• Introdução
• Processadores
• Memórias
• Sistemas com múltiplos núcleos
• Comunicação: barramentos e NOCs
• Aspectos relacionados a software
• Conclusão
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
26
Memórias: hierarquia
CPU
M
A
I
O
R
C
A
P
A
C
I
D
A
D
E
Register File
Cache - Interna (L1)
SRAM
M
A
I
O
R
Cache Externa (L2) - SRAM
V
E
L
O
C
I
D
A
D
E
Memória Principal
DRAM
Memória Secundária - Disco, Flash
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
M
A
I
O
R
C
U
S
T
O
/
B
Y
T
E
27
Memórias: principais dificuldades
• velocidade  capacidade
• memórias estáticas (caches)
• rápidas, mas ocupam muita área
• grande consumo de potência
• se beneficiam de:
• localidade temporal
• localidade espacial
• aplicabilidade a sistemas
embarcados não é
“unanimidade”
Exame de Qualificação em Abrangência
Compaq/Digital StrongARM
Carlos A. L. Lisbôa
09/12/2005
28
Memórias: principais dificuldades
• velocidade  capacidade
• memórias dinâmicas (memória “principal”)
• várias ordens de grandeza mais lentas
• ocupam menos área, têm maior capacidade
• alto custo em potência consumida para acessos
• cache + principal  tempo de resposta imprevisível
• outros tipos de memória usados em SEs
• memórias FLASH (também como “memória virtual”)
• EEPROMs - grandes capacidades (ex: câmeras)
• FRAM (ferromagnetic RAM) - mesma área, sem refresh
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
29
Roteiro da Apresentação
• Introdução
• Processadores
• Memórias: hierarquia
• Sistemas com múltiplos núcleos
• Comunicação: barramentos e NOCs
• Aspectos relacionados a software
• Conclusão
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
30
Sistemas com Múltiplos Núcleos
• Vários processadores num chip (MP-SOCs):
• homogêneos:
• processadores iguais - uso geral
• exemplos: Intel Pentium D e Intel Pentium Extreme
• heterogêneos:
• processadores distintos - sistemas embarcados
ARM
DSP
3D
DSP
Subsyst. DSP
Video
Subsyst.
DSP
DSP
DSP
DSP
Audio
DSP
Subsystem DSP
System Interconnect
In
DSOC
Scheduler
Exame de Qualificação em Abrangência
SRAM
SMP
Scheduler
Out
Carlos A. L. Lisbôa
Nomadik Mobile Multimedia
STMicroelectronics
09/12/2005
31
Roteiro da Apresentação
• Introdução
• Processadores
• Memórias: hierarquia
• Sistemas com múltiplos núcleos
• Comunicação: barramentos e NOCs
• Aspectos relacionados a software
• Conclusão
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
32
Comunicação: barramentos/NOCs
• evolução da tecnologia: mais transistores menores / chip
• custo: reuso de núcleos de propriedade intelectual (IPs)
• necessidade: interconexão entre muitos núcleos
• alternativas:
• conexão ponto-a-ponto: não reusável
• barramentos: uma transferência por ciclo
• capacitância elevada (fios longos e muitos núcleos)
•  freqüência máxima limitada
• barramentos hierárquicos: paralelismo limitado
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
33
Comunicação: barramentos/NOCs
• alternativas (continuação):
• NOCs: networks on chip
• conjunto de canais e roteadores
• conexões ponto-a-ponto entre roteadores
• permitem freqüências mais altas do que barramentos
• diversas topologias: grelha, torus, árvore, hipercubo, etc.
• maior capacidade de paralelismo: vários “caminhos”
• escaláveis de acordo com a quantidade de núcleos
• fatores que determinam eficiência:
• largura do canal de roteamento (# fios)
• topologia
• política de prioridades e controle de fluxo
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
34
Roteiro da Apresentação
• Introdução
• Processadores
• Memórias: hierarquia
• Comunicação: barramentos e NOCs
• Sistemas com múltiplos núcleos
• Aspectos relacionados a software
• Conclusão
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
35
Aspectos relacionados a software
• antigamente: fixo (microondas, automóveis, ...)
• atualmente: “mutante” (celulares, PDAs, ...)
• tendência: sistemas baseados em plataformas, com
especialização por software (alto custo de máscaras)
• novos requisitos em software:
• compiladores otimizados para VLIW
• sistemas operacionais de tempo real - RTOS
• software retargeting (binary translation)
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
36
Roteiro da Apresentação
• Introdução
• Processadores
• Memórias: hierarquia
• Comunicação: barramentos e NOCs
• Sistemas com múltiplos núcleos
• Aspectos relacionados a software
• Conclusão
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
37
Conclusão
• Espaços abertos para pesquisa (exemplos):
• hierarquia de memória  tipo de aplicação
• reuso de traces da cache para reduzir potência
• uso de arrays reconfiguráveis dinamicamente e binary
translation para reduzir consumo de energia
• tolerância a múltiplas falhas simultâneas (2010)
• compiladores mais eficientes
• para arquiteturas VLIW
• para reduzir consumo de energia (uso de instruções “low power”)
• estruturação de código p/aumentar hit rate das caches
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
38
Perguntas ?
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
39
Referências bibliográficas
•
[Wayne Wolf, 2000] Wolf, W. Computers as Components: Principles of
Embedded Computer Systems Design. Academic Press, San Diego, CA,
2001. ISBN 1-55860-693-9.
•
Patterson, D.A. e Hennessy,J. L. Computer Architecture: A Quantitative
Approach. Morgan Kaufmann Publishers, San Francisco, CA, 2003. ISBN
1-55860-724-2.
•
[Jan Rabaey, 2000] Rabaey, J e Keutzer, K. Notas de aula da disciplina
“CS252 - Advanced Computer Architecture”, ministrada pelos Profs. Drs.
Jan Rabaey e Kurt Keutzer, na University of California at Berkeley, USA,
primavera de 2000.
•
Carro, L. e Wagner, Flávio R. Notas de aula do curso “Sistemas
Computacionais Embarcados” ministrado pelos Profs. Drs. Flávio Rech
Wagner e Luigi Carro nas XII Jornadas de Atualização em Informática (JAI),
no XXIII Congresso da Sociedade Brasileira de Computação, 2 e 3 de
agosto de 2003, Campinas, SP, Brasil.
Exame de Qualificação em Abrangência
Carlos A. L. Lisbôa
09/12/2005
40
Download

here