Upload
others
View
18
Download
1
Embed Size (px)
Citation preview
Embedded Systems Design: A Unified Hardware/Software Introduction
1
Capítulo 1: Introdução
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
2
Descrição
• Descrição geral dos sistemas embutidos• Desafio de Projeto – Métricas para avaliação de projeto• Tecnologias
– Tecnologia processadores– Tecnologias IC– Tecnologias projeto
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
3
Visão geral dos sistemas embutidos
• Sistemas computacionais estão em toda parte• Maioria de nós pensam que são computadores
– PC’s
– Laptops– Mainframes– Servidores
• Mas há outros tipos de sistemas computacionais– Muito mais comum...
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
4
Visão geral dos sistemas embarcados
• Sistemas embarcados– Sistemas computacionais embutidos
dentro de dispositivos eletrônicos– Difícil de definir. Qualquer sistema
computacional exceto um computador desktop
– Bilhões de unidades produzidas anualmente, contra milhões de unidades de desktop
– Talvez 50 por domicílio e por automóvel
Computadores estão aqui...
e aqui...
e até aqui...
Lots more of these, though they cost a lot
less each.
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
5
Pequena lista de sistemas embutidos
E a lista continua…
Anti-lock brakesAuto-focus camerasAutomatic teller machinesAutomatic toll systemsAutomatic transmissionAvionic systemsBattery chargersCamcordersCell phonesCell-phone base stationsCordless phonesCruise controlCurbside check-in systemsDigital camerasDisk drivesElectronic card readersElectronic instrumentsElectronic toys/gamesFactory controlFax machinesFingerprint identifiersHome security systemsLife-support systemsMedical testing systems
ModemsMPEG decodersNetwork cardsNetwork switches/routersOn-board navigationPagersPhotocopiersPoint-of-sale systemsPortable video gamesPrintersSatellite phonesScannersSmart ovens/dishwashersSpeech recognizersStereo systemsTeleconferencing systemsTelevisionsTemperature controllersTheft tracking systemsTV set-top boxesVCR’s, DVD playersVideo game consolesVideo phonesWashers and dryers
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
6
Características de sistemas embarcados
• Funcionalidade única– Executa um programa único ou pequeno conjunto de
programas, repedidamente
• Restrições de projeto– Baixo custo, baixo consumo, pequeno, rápido, ...
• Reagem em tempo-real– Reagem a mudanças no ambiente onde se encontra o sistema– Precisam computar certos resultados em tempo-real sem
atrasos (delay)
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
7
Exemplo de sistema embarcadoCâmera digital
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 – sempre uma câmera digital
• Restrições de projeto – Baixo custo, baixo consumo, pequeno, rápido
• Reagir em tempo-real – projeto para fotografos amadores
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
8
Projeto de sistemas embarcados
• Objetivo simples do projeto:– Construção e implementação com funcionalidade desejada
• Desafio de projeto:– Satisfazer e otimizar simultaneamente diversas métricas de
projeto
• Métricas de projeto:– Características mensuráveis de implementação
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
9
Métricas de projeto
• Métricas comuns– Custo por unidade: custo monetário para produzir cada
cópia do sistema, excluindo o custo NRE– Custo NRE (Non-Recurring Engineering cost): Custo único
para desenvolvimento do sistema (independe do nº de unid.)– Tamanho: dimensões físicas do sistema
– Desempenho: tempo de execução ou rendimento do sistema– Consumo: quantidade de energia consumida pelo sistema– Flexibilidade: habilidade de mudanças na funcionalidade do
sistema sem acrescentar altos custos de NRE
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
10
Métricas de projeto
• Métricas comuns (continuação)– Tempo para prototipagem: tempo necessário para construção de uma
versão do sistema
– Tempo para colocação do produto no mercado: tempo necessário para desenvolver um sistema até o ponto de ser lançado e vendido aos consumidores
– Sustentabilidade (manutenção): habilidade de modificar o sistema após seu lançamento
– Exatidão, Segurança, outros
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
11
Desafio de ProjetoCompetição entre as métricas de projeto
• Conhecimentos de hardware e software são necessários para otimizar as métricas de projeto– Conhecimento não só em
hardware ou só em software, como é comum.
– O projetista deve conhecer várias tecnologias para fazer a escolha para uma aplicação com suas limitações
TamanhoDesempenho
Consumo
Custo NRE
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
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
12
Time-to-market
• Tempo necessário para desenvolver um sistema do ponto em que foi proposto (especificado) até ser vendido aos consumidores
• Janela de mercado– Período no qual o produto
deve ter altas vendas
• Atrasos podem custar caro
Revenues ($/m
onth)
Time (months)
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
13
Perdas devido aos atrasos para entrada do produto no mercado
• Modelo de rendimento simplificado
– Vida produto = 2W, com pico em W
– Entrada no mercado define um triângulo, representando a ocupação do mercado pelo produto
– Área do triângulo é igual ao rendimento total (alcançado com as vendas)
• Perdas – Diferença entre as áreas dos
triângulos no tempo e atrasado
On-time Delayedentry entry
Pico rendimento
Pico rendimento para entrada com atrasos
Subida mercado
Queda mercado
W 2W
Tempo (semana)
D
On-time
Delayed
Rendim
entos ($/semana)
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
14
Perdas devido a atrasos na entrada no mercado (cont.)
• Área = 1/2 * base * altura– No tempo = 1/2 * 2W * W
– Atrasado = 1/2 * (W-D+W)*(W-D)
• Porcentagem perdas rendimento = (D(3W-D)/2W2)*100%
1) Tempo de mercado 2W = 52 semanas,
atraso D = 4 semanas Perda = (4 X (3 X 26 –4)/2 X 262) = 22%
2) Tempo de mercado 2W = 52 semanas, atraso D = 10 semanas
Perda = (10 X (3 X 26 –10)/2 X 262) = 50%– Atrasos custam caro!
On-time Delayedentry entry
Pico rendimento
Pico rendimento para entrada com atrasos
Subida mercado
Queda mercado
W 2W
Tempo (semana)
D
On-time
Delayed
Rendim
entos ($/semana)
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
15
Custo da unidade e NRE
• Custo da unidade: – Custo para produzir cada cópia do sistema, excluindo o custo NRE
• Custo NRE (Non-Recurring Engineering cost)– Custo único para desenvolvimento do sistema
Custo total = custo NRE + custo da unidade X # de unidades
Custo por unidade do produto = custo total / # de unidades
= (custo NRE/ # de unidades) + custo da unidade
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
Exemplo
16
NRE=$2000, custo da unidade=$100
Para 10 unidades
Custo total = $2000 + 10 X $100 = $3000
Custo por produto = $2000/10 + $100 = $300
Amortizar o custo NRE resulta em um custo adicional de $200 por unidade
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
17
Medidas de custo único e NRE
$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 Número de unidades (volume)
A B C
Número de unidades (volume)
cust
o t
ota
l(x1
00
0)
Cu
sto
por
pro
dut
o
• Comparando custos devido a tecnologia – melhor depende do volume de produção
– Tecnologia A: NRE=$2,000, custo unitário=$100– Tecnologia B: NRE=$30,000, custo unitário=$30– Tecnologia C: NRE=$100,000, custo unitário=$2
• Muitos ainda consideram o tempo para colocação no mercado
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
18
O desempenho em métricas de projeto
• Medidas de sistemas largamente utilizadas– Freqüência de relógio, instruções por segundo – medidas de má qualidade– Exemplo da câmera digital – o usuário se preocupa com a velocidade de
processamento da imagem, e não com a freqüência de relógio ou instruções por segundo realizadas
• Latência (tempo de resposta)– Tempo entre o início e término da tarefa– ex., Câmeras A e B processam imagens em 0,25 segundos
• Produtividade Tarefas por segundo, p. ex., Câmera A processa 4 imagens por segundo Produtividade pode ser incrementada pela concorrência, p. ex., Câmera B pode
processar 8 imagens por segundo (capturar um nova imagem enquanto a anterior está sendo armazenada).
Aceleração = desempenho de B / desempenho de A Aceleração = 8/4 = 2
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
19
Três principais tecnologias de sistemas embutidos
• Tecnologia– Forma de implementar uma tarefa, especialmente utilizando
processos, métodos ou conhecimentos técnicos.
• Três tecnologias chave para sistemas embutidos– Tecnologia de processadores– Tecnologia de circuitos integrados– Tecnologia de projeto
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
20
Tecnologia processadores
• Processador: não precisa ser necessariamente programável– “Processador” aqui difere de processadores de propósito
geral
Aplicação Específica
Registers
CustomALU
DatapathController
Program memory
Assembly code for:
total = 0 for i =1 to …
Control logic and State register
Datamemory
IR PC
Processador dedicado (“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
Propósito geral (“software”)
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
21
Tecnologia processadores
• Processadores variam em suas customizações de acordo com o problema em questão
total = 0for i = 1 to N loop total += M[i]end loop
Processador propósito-geral
Processador dedicado
Processador aplicação-específica
Funcionalidade desejada
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
22
Processadores de propósito geral
• Dispositivos programáveis utilizados em várias aplicações– Também conhecidos como “microprocessadores”
• Características– Memória de programa– Datapath (barramento de dados) genérico com
vários registradores e ULA genérica• Benefícios usuário
– Baixo custo para colocação no mercado e custos NRE
– Grande flexibilidade• Ex: Pentium, mas há muitos outros
IR PC
Registra-dores
ULA geral
DatapathControlador
Memória de programa
Assembly code for:
total = 0 for i =1 to …
Lógica controle e registradores de estado
Memória de Dados
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
23
Processadores dedicados
• Circuito digital projetado para executar exatamente um programa– coprocessadores, aceleradores ou periféricos
• Características– Contém somente componentes necessários para
execução de um único programa
– Não possui memória de programa
• Benefícios– Rapidez
– Baixo consumo
– Tamanho reduzido
DatapathController
Control logic
State register
Datamemory
index
total
+
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
24
Processadores de aplicação específica
Processador programável otimizado para uma classe particular de aplicações que têm em comum algumas características– Compromisso entre processadores de propósito
geral e dedicado
• Características– Memória de programa
– Datapath otimizado
– Unidades com funcionalidades específicas
• Benefícios– Flexibilidade, bom desempenho, tamanho e
consumo
IR PC
Registers
CustomALU
DatapathController
Program memory
Assembly code for:
total = 0 for i =1 to …
Control logic and
State register
Datamemory
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
25
Tecnologia IC
• A maneira pela qual uma implementação digital é mapeada num IC– IC: Circuito integrado, ou “chip”– Tecnologias de IC diferem em seu nível de customização de
acordo com o projeto em questão– Os ICs consistem de numerosas camadas (talvez 10 ou mais)
• As tecnologias IC diferem com respeito à construção de cada camada (como e quando construir cada uma)
source drainchanneloxidegate
Silicon substrate
IC package IC
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
26
Tecnologia IC
• Três tipos de tecnologias de IC– Full-custom/VLSI– Semi-custom ASIC (gate array and standard cell)– PLD (Dispositivo Lógico Programável)
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
27
Full-custom/VLSI
Todas as camadas são otimizadas para uma implementação digital específica de um sistema embarcado– Posição dos transistores– Tamanho transistores– Roteamento (conexões internas)
• Benefícios– Desempenho excelente, tamanho reduzido, baixo consumo
• Desvantagem– Alto custo NRE (ex., $300k), longo tempo até colocação no
mercado
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
28
Semi-custom
• Camadas mais baixas estão completamente ou parcialmente prontas– Projetista precisa apenas determinar a localização dos blocos
lógicos e o roteamento das conexões entre eles
• Benefícios– Bom desempenho, tamanho, custo de NRE menor (talvez
$10k a $100k)
• Desvantagens– Ainda requer de semanas a meses para desenvolvimento
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
29
PLD (Dispositivo Lógico Programável)
• Todas camadas de integração já prontas– Projetistas podem comprar um IC– Conexões no IC são criadas ou destruídas para implementar
funcionalidade desejada– Field-Programmable Gate Array (FPGA) é muito popular
• Benefícios– Baixo custo NRE (muito usado em protótipos), rápida
confecção do IC
• Desvantagens– Grande, custo unitário alto (cerca de $30 ou mais por
unidade), alto consumo, lento
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
30
Lei de Moore
• A mais importante tendência em sistemas embutidos – Prevista em 1965 pelo co-fundador da Intel Gordon Moore
A capacidade em transistores de um IC vem dobrando aproximadamente a cada 18 meses desde décadas atrás
10,000
1,000
100
10
1
0.1
0.01
0.001
Logic transistors per chip
(in millions)
1981
1983
1985
1987
1989
1991
1993
1995
1997
1999
2001
2003
2005
2007
2009
Nota: escala logarítmica
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
31
Ilustração gráfica da Lei de Moore
1981 1984 1987 1990 1993 1996 1999 2002
Leading edgechip in 1981
10,000transistors
150,000,000transistores
• Algo que dobra frequentemente cresce muito mais rapidamente do que muitos
podem imaginar• Um chip de 2002 equivale a cerca de
15.000 chips de 1981 em número de transistores.
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
32
Tecnologia de projeto
• Metodologia com a qual nós convertemos nosso conceito de uma desejada funcionalidade para uma implementação – ferramenta de projeto
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
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
33
Produtividade de projeto aumenta exponencialmente
100,000
10,000
1,000
100
10
1
0.1
0.01
1983
1981 1987
1989
1991
1993
1985
1995
1997
1999
2001
2003
2005
2007
2009
Productivity
(K) T
rans./Staff – M
o.
• Devido a combinação de métodos de compilação/síntese, bibliotecas de projeto/IP e teste/verificação
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
34
O co-projeto
• No passado:– Tecnologias de projeto de
hardware e software eram muito diferentes
– Recente amadurecimento da síntese permitiu uma visão única de software e hardware
• Hardware/software “co-projeto”
Implementation
Assembly instructions
Machine instructions
Register transfers
Compilers(1960's,1970's)
Assemblers, linkers(1950's, 1960's)
Behavioral synthesis(1990's)
RT synthesis(1980's, 1990's)
Logic synthesis(1970's, 1980's)
Microprocessor plus program bits: “software”
VLSI, ASIC, or PLD implementation: “hardware”
Logic gates
Logic equations / FSM's
Sequential program code (e.g., C, VHDL)
A escolha do hardware versus software para uma função particular é simplesmente um compromisso entre as várias métricas de projeto, como desempenho, consumo, tamanho, custo NRE e especialmente
flexibilidade; não há uma diferença fundamental entre o que hardware ou software pode/deve implementar.
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
35
Independência das tecnologias de IC e processadores
• Compromissos básicos de projeto– Genérico vs. customizado
– Tecnologia de processador vs. tecnologia de IC
• As duas tecnologias são independentes
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)
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
36
Produtividade x Capacidade de integração
• Taxa de crescimento da produtividade é menor que a taxa de crescimento da capacidade de integração
10,000
1,000
100
10
1
0.1
0.01
0.001
Logic transistors per chip
(in millions)
100,000
10,000
1000
100
10
1
0.1
0.01
Productivity(K) Trans./Staff-Mo.
1981
1983
1985
1987
1989
1991
1993
1995
1997
1999
2001
2003
2005
2007
2009
IC capacity
productivity
Gap
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
37
Distância: Produtividade-Capacidade de Integração
• 1981: projeto de IC mais avançado requer 100 projetistas-mês– 10,000 transistores / 100 transistores/mês
• 2002: projeto de IC mais avançado requer 30.000 projetistas-mês– 150,000,000 / 5000 transistores/mês
• Custo de projeto cresceu (NRE) de $1M para $300M
10,000
1,000
100
10
1
0.1
0.01
0.001
Logic transistors per chip
(in millions)
100,000
10,000
1000
100
10
1
0.1
0.01
Productivity(K) Trans./Staff-Mo.
1981
1983
1985
1987
1989
1991
1993
1995
1997
1999
2001
2003
2005
2007
2009
IC capacity
productivity
Gap
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
38
O mito do “projetista-mês”
• A situação é pior do que indica a distância produtividade-capacidade de integração• Teoricamente, aumentar o número de projetistas reduz o tempo de projeto• Na realidade aumentar o número de projetistas diminui a produtividade de cada projetista
devido a complexidade do gerenciamento da equipe e a troca de informações • Na área de software é conhecido como “o mito do projetista-hora” (Brooks 1975)• A partir de certo ponto, aumentar o número de projetistas aumenta o tempo de projeto.
10 20 30 400
10000
20000
30000
40000
50000
60000
43
24
1916 15 16
18
23
Team
Individual
Months until completion
Number of designers
• 1M transistores,
1 projetista = 5000 trans/mês• Cada projetista adicional
reduz a produvidade de 100 trans/mês
• 2 produzem 4900 trans/mês cada.
Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Tradução: Alice M. Tokarnia Edição: Luiz E. Guardia Filho
Marco A. A. Henriques
39
Resumo
• Sistemas embarcados estão em toda parte !• Desafio de projeto: otimização de métricas de projeto
– Métricas de projeto competem entre si
• Uma visão unificada de hardware e software é necessária para melhorar a produtividade
• Três tecnologias chave no projeto de sistemas embarcados– Processadores: propósito geral, aplicação específica, dedicados
– IC: totalmente customizado, semi-customizado, PLD
– Projeto: Compilação/síntese, bibliotecas de projeto/IP, teste/verificação