Arquitetura de Sistemas Embarcados
description
Transcript of Arquitetura de Sistemas Embarcados
Arquitetura deArquitetura deSistemas EmbarcadosSistemas Embarcados
Edna Barros ([email protected])
Centro de Informática – UFPE
Arquitetura deArquitetura deComputadoresComputadores
Ambientes de Projetos Ambientes de Projetos
de Sistemas Embarcadosde Sistemas EmbarcadosMetodologia de HW/SW Metodologia de HW/SW
Co-designCo-design
Ambientes de Projeto de Sistemas Embarcados 2
TópicosTópicos
• Componentes de um sistema embarcado
• Desafios de Projeto:– Otimização das métricas
– Custo
– Time-to-market
• Tecnologias Essenciais– Processadores
– IC
– Projeto
Ambientes de Projeto de Sistemas Embarcados 3
TópicosTópicos
• Técnicas de Projeto– Necessidade
• Gap de Produtividade
– Evolução• Técnicas de hardware e de software
– Técnicas atuais de Projeto de Hardware
Ambientes de Projeto de Sistemas Embarcados 4
Sistemas Embarcados – Visão Sistemas Embarcados – Visão GeralGeral• Sistemas computacionais estão em quase todos
equipamentos
• Geralmente pensamos em computadores pessoais ( “desktop”) …– PC’s
– Laptops
– Mainframes
– Servidores
• Mas existe outros tipos de sistemas computacionais….– Bem mais comum….
Ambientes de Projeto de Sistemas Embarcados 5
Sistemas Embarcados – Visão Sistemas Embarcados – Visão GeralGeral• Sistemas Computacionais
Embarcados– Sistemas computacionais dentro de
equipamentos eletrônicos
– Dificil definição: semelhança com computadores pessoais
– Milhões de unidades produzidas anualmente
– Estimativa: 50 unidades por residência e por automóvel
Computadores estão aqui..
E aqui...
E mesmo aqui...
Tais processadores possuem alto volume de produção e baixo custo.
Ambientes de Projeto de Sistemas Embarcados 6
Uma pequena lista de Sistemas Uma pequena lista de Sistemas EmbarcadosEmbarcados
E a lista continua….
Freios ABSCamaras auto-focoLavadoras automáticasBriquedosSistemas de TransmissãoEletrônica de aviãoCarregadores de bateriaFilmadorasTelefones celularesTelefones sem fioSistema de navegaçãoCamaras digitaisDisk drivesLeitoras de cartãoInstrumentos eletrônicosControle de FábricasMáquinas de FaxIdentificadores de digitaisSistemas de segurançaInstrumentos medicos
ModemsDecodificadores MPEG Cartões de redeRoteadoresPagersCopiadorasPontos de vendaVideo gamesImpressorasTelefones via satéliteScannersForno de micro-ondasReconhecedores de vozSistemas de somSistemas de teleconferenciaTelevisoresControladores de temperaturaTV set-top boxesVídeo cassete e DVD´sLavadoras e secadoras
Ambientes de Projeto de Sistemas Embarcados 7
Algumas características dos Algumas características dos Sistemas EmbarcadosSistemas Embarcados• Funcionalidade definida
– Executa um único programa repetetivamente
• Restrições mais rígidas– Baixo custo, baixo consumo de potência, pequenos, rápidos,
etc.
• Reativos e de tempo real…– Atua continuamente com o ambiente e reage a suas mudanças
– Deve computar alguns resultados em tempo real (sem atrasos)
Ambientes de Projeto de Sistemas Embarcados 8
Exemplo de um Sistema Exemplo de um Sistema EmbarcadoEmbarcado
Microcontroller
CCD preprocessor Pixel coprocessorA2D
D2A
JPEG codec
DMA controller
Memory controller ISA bus interface UART LCD ctrl
Display ctrl
Multiplier/Accum
Digital camera chip
lens
CCD
• Funcionalidade única
• Restrições de projeto críticas
• Reativa e de tempo real
Ambientes de Projeto de Sistemas Embarcados 9
Desafios de ProjetoDesafios de Projeto
• Objetivo principal:– Desenvolver uma implementação com a desejada
funcionalidade
• Desafios de projeto:– Otimização “simultânea” das diferentes métricas de
projeto
• Métrica de Projeto:– Uma característica mensurável de uma implementação
Ambientes de Projeto de Sistemas Embarcados 10
• Métricas mais usadas:– Custo unitário: custo para produzir cada unidade do sistema
(excluindo os custos de projeto – não recorrentes)
– Custo NRE (Non-Recurring Engineering cost): custo de projeto do sistema
– Tamanho
– Desempenho: tempo de execução ou taxa de processamento do sistam
– Potência
– Flexibilidade: a habilidade de mudar a funcionalidade sem grande aumento do custo NRE
Desafios de ProjetoDesafios de Projeto: Otimização : Otimização das Métricas de Projetodas Métricas de Projeto
Ambientes de Projeto de Sistemas Embarcados 11
• Métricas mais usadas:– Tempo de prototipação
– Time-to-market
– Mantenabilidade: a habilidade de modificar o sistema após início da produção
– Corretude, segurança, etc...
Desafios de ProjetoDesafios de Projeto: Otimização : Otimização das Métricas de Projetodas Métricas de Projeto
Ambientes de Projeto de Sistemas Embarcados 12
• Conhecimento de software and hardware é necessário para otimização das métricas
– O projetista deve conhecer as várias tecnologias para escolher a melhor implementação para uma dada aplicação e restrições de projeto.
SizePerformance
Power
NRE cost
Microcontroller
CCD preprocessor Pixel coprocessorA2D
D2A
JPEG codec
DMA controller
Memory controller ISA bus interface UART LCD ctrl
Display ctrl
Multiplier/Accum
Digital camera chip
lens
CCD
Hardware
Software
Otimização das Métricas de Otimização das Métricas de Projeto: ConflitoProjeto: Conflito
Ambientes de Projeto de Sistemas Embarcados 13
• Area = 1/2 * base * height
– Sem atraso = 1/2 * 2W * W
– Com atraso = 1/2 * (W-D+W)*(W-D)
• Percentual de perda nos lucros = (D(3W-D)/2W2)*100%
• Alguns exemplos:
On-time Delayedentry entry
Peak revenue
Peak revenue from delayed entry
Market rise Market fall
W 2W
Time
D
On-time
Delayed
Rev
enue
s ($
)
– Lifetime 2W=52 wks, delay D=4 wks– (4*(3*26 –4)/2*26^2) = 22%– Lifetime 2W=52 wks, delay D=10 wks– (10*(3*26 –10)/2*26^2) = 50%
Time-to-market:Time-to-market: uma métrica uma métrica críticacrítica
Ambientes de Projeto de Sistemas Embarcados 14
Custo Unitário de Custo Unitário de NRENRE
• Custos:– Custo total = custo NRE + custo unit. * # de unids.
– Custo por prod. = custo total / # de unids.
= (custo NRE / # de unids) + custo unit.
• Exemplo– NRE=$2000, unit.=$100– Para 10 unidades
– Custo total = $2000 + 10*$100 = $3000– Custo por produto = $2000/10 + $100 = $300
Ambientes de Projeto de Sistemas Embarcados 15
$0
$40,000
$80,000
$120,000
$160,000
$200,000
0 800 1600 2400
A
B
C
$0
$40
$80
$120
$160
$200
0 800 1600 2400
Number of units (volume)
A
B
C
Number of units (volume)
tota
l co
st (
x100
0)
pe
r p
rod
uc
t c
ost
• Comparando diferentes tecnologias – Tecnologia A: NRE=$2,000, unit=$100
– Tecnologia B: NRE=$30,000, unit=$30
– Tecnologia C: NRE=$100,000, unit=$2
• But, must also consider time-to-market
Custo Unitário de Custo Unitário de NRENRE
Ambientes de Projeto de Sistemas Embarcados 16
Tecnologias Essenciais para Tecnologias Essenciais para Sistemas EmbarcadosSistemas Embarcados• Tecnologia
– A maneira de realizar uma tarefa, especialmente usando processos, métodos ou conhecimento
• Tecnologias essenciais para sistemas embarcados– Tecnologia dos Processadores
– Tecnologia para IC
– Tecnologia de Projeto
Ambientes de Projeto de Sistemas Embarcados 17
Tecnologia dos Processadores
• Arquitetura do componente de computação que implementa a funcionalidade desejada
• Não precisam ser programáveis
Single-purpose (“hardware”)
DatapathController
Control logic
State register
Datamemory
index
total
+
IR PC
Registerfile
GeneralALU
DatapathController
Program memory
Assembly code for:
total = 0 for i =1 to …
Control logic and
State register
Datamemory
General-purpose (“software”) Application-specific
Registers
CustomALU
DatapathController
Program memory
Assembly code for:
total = 0 for i =1 to …
Control logic and State register
Datamemory
IR PC
Ambientes de Projeto de Sistemas Embarcados 18
Tecnologia de ProcessadoresTecnologia de Processadores
• Processadores podem variar na adequação ao problema
Processador de uso geral
Processador de propósito
único
Processador de aplicação específica
FuncionalidadeDesejada
Ambientes de Projeto de Sistemas Embarcados 19
Processadores de uso geralProcessadores de uso geral
• Programados via software
• Memória para dados e programa
• Vantagens
– Pequenos time-to-market e custo não recorrente
– Alta flexibilidade
• Desvantagens
– Necessidade de adicionar dispositivos
– Alto consumo
– Baixo desempenho
• Ex: PowerPC, Pentium, Z80
IR PC
Registerfile
GeneralALU
DatapathController
Program memory
Assembly code for:
total = 0 for i =1 to …
Control logic and
State register
Datamemory
Ambientes de Projeto de Sistemas Embarcados 20
Processadores
• Processadores embarcados (embedded)– Proc. de uso geral adaptados para
sistemas embarcados:•Dispositivos internos•Menor potência
•Facilidade para desenvolver software
Produto Clock(MHz)
No.I/O
PortasSeriais
Timers/Contad.
CanaisDMA
WDT ControleInterrupção
RefreshDRAM
80386DX 16,20,25,33 0 Não 0 0 Não Não Não
80386EX 25 24 3 3 2 Sim Sim (8259A) Sim
Ambientes de Projeto de Sistemas Embarcados 21
Processadores de Aplicação EspecíficaProcessadores de Aplicação Específica(ASIPs)(ASIPs)
• Processador programável otimizado para uma classe de problema
• Características– Memória de programa
– U.E. otimizada
– Periféricos especiais
• Vantagem– Bom compromisso entre flexibilidade, velocidade,
tamanho e potência
• Ex: Microcontroladores (ex.Nitron, 8051) DSPs
IR PC
Registers
CustomALU
DatapathController
Program memory
Assembly code for:
total = 0 for i =1 to …
Control logic and
State register
Datamemory
Ambientes de Projeto de Sistemas Embarcados 22
Processadores de propósito Processadores de propósito únicoúnico
• Circuito digital projetado para executar um único algoritmo
• Características– Contém apenas o necessário ao algoritmo
– Não tem memória de programa
• Vantagens– Projeto sob encomenda pode obter o melhor do
tamanho, potencia, velocidade, mas perde em flexibilidade
• Ex: co-processadores e periféricos
DatapathController
Control logic
State register
Datamemory
index
total
+
Ambientes de Projeto de Sistemas Embarcados 23
Seleção de ProcessadoresSeleção de Processadores
Processor Clock speed Periph. Bus Width MIPS Power Trans. Price General Purpose Processors
Intel PIII 1GHz 2x16 K L1, 256K L2, MMX
32 ~900 97W ~7M $900
IBM PowerPC 750X
550 MHz 2x32 K L1, 256K L2
32/64 ~1300 5W ~7M $900
MIPS R5000
250 MHz 2x32 K 2 way set assoc.
32/64 NA NA 3.6M NA
StrongARM SA-110
233 MHz None 32 268 1W 2.1M NA
Microcontroller Intel 8051
12 MHz 4K ROM, 128 RAM, 32 I/O, Timer, UART
8 ~1 ~0.2W ~10K $7
Motorola 68HC811
3 MHz 4K ROM, 192 RAM, 32 I/O, Timer, WDT, SPI
8 ~.5 ~0.1W ~10K $5
Digital Signal Processors
TI C5416 160 MHz 128K, SRAM, 3 T1 Ports, DMA, 13 ADC, 9 DAC
16/32 ~600 NA NA $34
Lucent DSP32C
80 MHz 16K Inst., 2K Data, Serial Ports, DMA
32 40 NA NA $75
Sources: Intel, Motorola, MIPS, ARM, TI, and IBM Website/Datasheet; Embedded Systems Programming, Nov. 1998
Sources: Intel, Motorola, MIPS, ARM, TI, and IBM Website/Datasheet; Embedded Systems Programming, Nov. 1998
Ambientes de Projeto de Sistemas Embarcados 24
Tecnologia de ICTecnologia de IC
• Maneira de mapear uma implementação digital (gate-level) em um circuito integrado – IC: Integrated circuit, ou “chip”
– Tecnologias de IC diferem no nível especialização do projeto
– IC´s possuem inúmeros níveis
– Tecnologias de IC diferem com respeito a quem constrói os níveis e quando
source drainchanneloxidegate
Silicon substrate
IC package IC
Ambientes de Projeto de Sistemas Embarcados 25
• Tipos de tecnologias– Full-custom/VLSI
– Semi-custom ASIC (gate array and standard cell)
– PLD (Programmable Logic Device)
Tecnologia de ICTecnologia de IC
Ambientes de Projeto de Sistemas Embarcados 26
Full-custom/VLSIFull-custom/VLSI
• Todos os níveis são otimizados para uma implementação particular de um sistema embarcado– Posicionamento dos transistores
– Dimensionamento dos transistores
– Roteamento dos fios
• Vantagens– Excelente desempenho, pequeno tamanho, baixa potência
• Desvantagens– Custo NRE alto (e.g., $300k), time-to-market bastante
longo
Ambientes de Projeto de Sistemas Embarcados 27
Semi-customSemi-custom
• Níveis inferiores são completa ou parcialmente construídos– Projetistas devem rotear os fios ou posicionar alguns
blocos
• Vantagens– Bom desempenho, bom tamanho, custo NRE menor que
full-custom (de $10k a $100k)
• Desvantagens– Ainda requer semanas ou meses de desenvolvimento
Ambientes de Projeto de Sistemas Embarcados 28
Semi-custom: IP-core do 8051Semi-custom: IP-core do 8051
Ambientes de Projeto de Sistemas Embarcados 29
PLD (Programmable Logic PLD (Programmable Logic Device)Device)• Todos os níveis já existem
– Projetistas podem comprar como IC
– Conexões são criadas ou destruídas para implementar funcionalidade desejada.
– Field-Programmable Gate Array (FPGA) são os mais populares
• Vantagens– Baixo custo NRE
• Desvantagens– Grandes, caros ($30 por unidade), alto consumo de potência,
lentos
Ambientes de Projeto de Sistemas Embarcados 30
FPGA: bloco básicoFPGA: bloco básicoSaída
Entrada
Look-upTable
ABCD
clock
X
Y
Ambientes de Projeto de Sistemas Embarcados 31
FPGA: estrutura geralFPGA: estrutura geral
Blocos BásicosBlocos de I/O
Interconexões
Ambientes de Projeto de Sistemas Embarcados 32
FPGAFPGACustoCusto
Volume de ProduçãoVolume de Produção
ASICASICFPGAFPGA
Ambientes de Projeto de Sistemas Embarcados 33
System-On-A-ChipSystem-On-A-Chip• Uso de núcleos de processadores (cores)
• Baixo custo de fabricação em série
• Alta qualidade
• Diminuição de defeitos de montagem e fabricação em geral
• Baixa potência consumida
• Pequeno tamanho
• Alta velocidade
Ambientes de Projeto de Sistemas Embarcados 34
IC
System-on-ChipSystem-on-Chip
Micro-proc. IC
MemoryIC
Peripher.IC
FPGAIC
Board
Microprocessor core
Peripheral core
Ambientes de Projeto de Sistemas Embarcados 35
System-on-a-chip (SOC)System-on-a-chip (SOC)
Tecnologias de ProjetoTecnologias de Projeto
Motivação
Ambientes de Projeto de Sistemas Embarcados 37
Lei de MooreLei de Moore
• Uma tendência que se mantém e foi prevista em 1965 por Gordon Moore
Número de transistores praticamente dobra a cada 18 meses
10,000
1,000
100
10
1
0.1
0.01
0.001
Tra
nsi
stor
es p
or
chip
(em
mil
hõe
s)
1981 1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009
Note: logarithmic scale
Ambientes de Projeto de Sistemas Embarcados 38
Lei de Moore:Lei de Moore:
Ilustração GráficaIlustração Gráfica
1981 1984 1987 1990 1993 1996 1999 2002
10.000transistores
150.000.000transistores
Um chip de 2002 pode conter 15.000 chips de 1981
Ambientes de Projeto de Sistemas Embarcados 39
Produtividade de ProjetoProdutividade de Projeto
100,000
10,000
1,000
100
10
1
0.1
0.01
19831981 1987 1989 1991 19931985 1995 1997 1999 2001 2003 2005 2007 2009
Produtividade(K) Trans./Pessoa – Mës
Ambientes de Projeto de Sistemas Embarcados 40
Produtividade de Projeto X Produtividade de Projeto X Tam.ChipTam.Chip• O número de transistores por chip aumentou muito mais que a capacidade de projeto
• Maior chip em 1981 requeria 100 homem.mês– 10.000 transistores / 100 transistores / mês
• Maior chip em 2002 requeria 30.000 homem.mês– 150.000.000 / 5.000 transistores / mês
• Custo aumentou de $1M para $300M
10,000
1,000
100
10
1
0.1
0.01
0.001
Tra
nsi
stor
es/c
hip
(mil
hõe
s)
100,000
10,000
1000
100
10
1
0.1
0.01
Pro
du
tivi
dad
e(K
) T
ran
s./H
omem
.Mês
1981 1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009
Capacidade do CI
produtividade
Gap
Ambientes de Projeto de Sistemas Embarcados 41
The mythical man-monthThe mythical man-month
• O problema é pior na realidade
• O aumento da equipe pode, em algum momento, tornar o projeto mais lento, devido a complexidade de gerenciamento e comunicação
• Esse efeito é conhecido na comunidade de software como “the mythical man-month” (Brooks 1975)
10 20 30 400
10000
20000
30000
40000
50000
60000
43
24
19
1615
1618
23
Tempo
Duração em meses
Designers
Ambientes de Projeto de Sistemas Embarcados 42
Tecnologia de ProjetoTecnologia de Projeto
• A maneira de converter uma funcionalidade em implementação
Libraries/IP: Incorporates pre-designed implementation from lower abstraction level into higher level.
Systemspecification
Behavioralspecification
RTspecification
Logicspecification
To final implementation
Compilation/Synthesis: Automates exploration and insertion of implementation details for lower level.
Test/Verification: Ensures correct functionality at each level, thus reducing costly iterations between levels.
Compilation/Synthesis
Libraries/IP
Test/Verification
Systemsynthesis
Behaviorsynthesis
RTsynthesis
Logicsynthesis
Hw/Sw/OS
Cores
RTcomponents
Gates/Cells
Model simulat./checkers
Hw-Swcosimulators
HDL simulators
Gate simulators
Ambientes de Projeto de Sistemas Embarcados 43
• Projeto de sistemas embarcados– Definição da funcionalidade
– Conversão da funcionalidade em implementação enquanto:• Satisfazendo restrições de projeto • Otimizando outras métricas
• Dificuldades– Complexidade da Funcionalidade
• Milhões de possiveis implementações• Métricas relacionadas e que competem
– Gap de Produtividade• Menos que 10 linhas de código ou 100 transistores produzidos por dia
Tecnologia de ProjetoTecnologia de Projeto
Ambientes de Projeto de Sistemas Embarcados 44
Melhorando a ProdutividadeMelhorando a Produtividade
• Tecnologias de Projeto
• Foco em tecnologias com visão unificada de hardware e software– Automação
• Programas substituem projeto manual• Compilação / Síntese
– Reuso• Componentes pré-definidos• IP-cores• Processadores de propósito geral e de
propósito único em um mesmo IC
– Verification• Garantir corretude e completude de
cada etapa de projeto• Co-simulação Hardware/software
Reuse
Specification
Implementation
Automation
Verification
Ambientes de Projeto de Sistemas Embarcados 45
Compilação / SínteseCompilação / Síntese
Implementation
Assembly instructions
Machine instructions Logic gates
Logic equations / FSM's
Register transfers
Sequential program code (e.g., C, VHDL)
Compilers(1960s,1970s)
Assemblers, linkers(1950s, 1960s)
Behavioral synthesis(1990s)
RT synthesis(1980s, 1990s)
Logic synthesis(1970s, 1980s)
Microprocessor plus program bits
VLSI, ASIC, or PLD implementation
Ambientes de Projeto de Sistemas Embarcados 46
IndependIndependência de Tecnologiasência de Tecnologias
• Compromisso básico
– Geral vs. customizado
– Tecnologia do processador vs. Tecnologia de implementação
General-purpose
processor
ASIPSingle-purpose
processor
Semi-customPLD Full-custom
General,providing improved:
Customized, providing improved:
Power efficiencyPerformance
SizeCost (high volume)
FlexibilityMaintainability
NRE costTime- to-prototype
Time-to-marketCost (low volume)
Ambientes de Projeto de Sistemas Embarcados 47
ResumoResumo
• Desafios de Projeto:– Otimização das métricas
– Custo
– Time-to-market
• Tecnologias Essenciais– Processadores:
• Propósito geral• Domínio Específico• Propósito único
– IC
– Projeto
Ambientes de Projeto de Sistemas Embarcados 48
ResumoResumo
• Técnicas de Projeto– Lei de Moore e Gap de Produtividade
– As técnicas de hardware e de software suportam o mesmo nível de abstração
– Técnicas atuais de Projeto de Hardware• Síntese
• Reuso
• Uso de plataformas pré-definidas
Ambientes de Projeto de Sistemas Embarcados 49
Programa do CursoPrograma do Curso
• Introdução
• Processadores de Aplicação Específica: Hardware
• Processadores de propósito Geral: Software
• Periféricos
• Memória
• Interfaces
• Ferramentas de Apoio a Projetos
Ambientes de Projeto de Sistemas Embarcados 50
AvaliaçãoAvaliação
• Unidade 1:– prova
– lista de exercício
– seminários
• Unidade 2– prova
– projeto
– seminários
Ambientes de Projeto de Sistemas Embarcados 51
BibliografiaBibliografia
• Embedded System Design: A Unified Hardware/Software Introduction– Frank Vahid and Tony Givargis, John Wiley
and Sons, 2002