39
Embedded Systems Design: A Unified Hardware/Software Introduction 1 Capítulo 1: Introdução

Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

  • Upload
    others

  • View
    12

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

Embedded Systems Design: A Unified Hardware/Software Introduction

1

Capítulo 1: Introdução

Page 2: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 3: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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...

Page 4: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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.

Page 5: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 6: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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)

Page 7: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 8: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 9: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 10: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 11: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 12: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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)

Page 13: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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)

Page 14: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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)

Page 15: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 16: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 17: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 18: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 19: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 20: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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”)

Page 21: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 22: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 23: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

+

Page 24: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 25: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 26: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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)

Page 27: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 28: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 29: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 30: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 31: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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.

Page 32: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 33: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 34: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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.

Page 35: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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)

Page 36: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 37: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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

Page 38: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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.

Page 39: Embedded Systems Design: A Unified Hardware/Software ...marco/cursos/ea078_10_2/slides/cap01_… · Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

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