53
Edna Barros ([email protected]) Ambientes de Ambientes de de Sistemas Embarcados de Sistemas Embarcados Edna Barros ([email protected]) Centro de Informática – UFPE

Ambientes de de Sistemas Embarcados - cin.ufpe.brensb/pub/apse/introducao-apse-ensb-2011-2.pdf · • Tecnologias Essenciais – Processadores – IC – Projeto. Tópicos • Técnicas

Embed Size (px)

Citation preview

Edna Barros ([email protected])

Ambientes de Ambientes de

de Sistemas Embarcadosde Sistemas Embarcados

Edna Barros ([email protected])

Centro de Informática – UFPE

Edna Barros ([email protected])

Metodologia de Hardware Metodologia de Hardware

Software CoSoftware Co--designdesign

Edna Barros ([email protected])

Centro de Informática – UFPE

TópicosTópicos

• Componentes de um sistema embarcado

• Desafios de Projeto:– Otimização das métricas

– Custo

– Time-to-market

Ambientes de Projeto de Sistemas Embarcados 3

– Time-to-market

• Tecnologias Essenciais– Processadores

– IC

– Projeto

TópicosTópicos

• Técnicas de Projeto

– Necessidade

• Gap de Produtividade

– Evolução

Ambientes de Projeto de Sistemas Embarcados 4

– Evolução

• Técnicas de hardware e de software

– Técnicas atuais de Projeto de Hardware

Sistemas Embarcados Sistemas Embarcados –– Visão Visão GeralGeral• Sistemas computacionais estão em quase todos

equipamentos

• Geralmente pensamos em computadores pessoais ( “desktop”) …– PC’s

Ambientes de Projeto de Sistemas Embarcados 5

– PC’s

– Laptops

– Mainframes

– Servidores

• Mas existe outros tipos de sistemas computacionais….– Bem mais comum….

Sistemas Embarcados Sistemas Embarcados –– Visão Visão GeralGeral• Sistemas Computacionais

Embarcados– Sistemas computacionais dentro de

equipamentos eletrônicos

– Dificil definição: semelhança com computadores pessoais

Computadores estão

aqui..

E aqui...

E mesmo aqui...

Ambientes de Projeto de Sistemas Embarcados 6

computadores pessoais

– Milhões de unidades produzidas anualmente

– Estimativa: 50 unidades por residência e por automóvel

Tais processadores

possuem alto volume de

produção e baixo custo.

Uma pequena lista de Sistemas Uma pequena lista de Sistemas EmbarcadosEmbarcados

Freios ABS

Camaras auto-foco

Lavadoras automáticas

Briquedos

Sistemas de Transmissão

Eletrônica de avião

Carregadores de bateria

Filmadoras

Modems

Decodificadores MPEG

Cartões de rede

Roteadores

Pagers

Copiadoras

Pontos de venda

Video games

Impressoras

Ambientes de Projeto de Sistemas Embarcados 7

E a lista continua….

Filmadoras

Telefones celulares

Telefones sem fio

Sistema de navegação

Camaras digitais

Disk drives

Leitoras de cartão

Instrumentos eletrônicos

Controle de Fábricas

Máquinas de Fax

Identificadores de digitais

Sistemas de segurança

Instrumentos medicos

Impressoras

Telefones via satélite

Scanners

Forno de micro-ondas

Reconhecedores de voz

Sistemas de som

Sistemas de teleconferencia

Televisores

Controladores de temperatura

TV set-top boxes

Vídeo cassete e DVD´s

Lavadoras e secadoras

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.

Ambientes de Projeto de Sistemas Embarcados 8

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)

Exemplo de um Sistema Exemplo de um Sistema EmbarcadoEmbarcado

Microcontroller

CCD preprocessor Pixel coprocessorA2D

D2A

JPEG codec Multiplier/Accum

Digital camera chip

lens

CCD

Ambientes de Projeto de Sistemas Embarcados 9

DMA controller

Memory controller ISA bus interface UART LCD ctrl

Display ctrl

• Funcionalidade única

• Restrições de projeto críticas

• Reativa e de tempo real

Exemplo de um Sistema Exemplo de um Sistema EmbarcadoEmbarcado

Ambientes de Projeto de Sistemas Embarcados 10

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

Ambientes de Projeto de Sistemas Embarcados 11

– Otimização “simultânea” das diferentes métricas de projeto

• Métrica de Projeto:– Uma característica mensurável de uma implementação

• 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

Desafios de ProjetoDesafios de Projeto: Otimização das : Otimização das Métricas de ProjetoMétricas de Projeto

Ambientes de Projeto de Sistemas Embarcados 12

– 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

• Métricas mais usadas:

– Tempo de prototipação

– Time-to-market

– Mantenabilidade: a habilidade de modificar o sistema após

Desafios de ProjetoDesafios de Projeto: Otimização das : Otimização das Métricas de ProjetoMétricas de Projeto

Ambientes de Projeto de Sistemas Embarcados 13

– Mantenabilidade: a habilidade de modificar o sistema após início da produção

– Corretude, segurança, etc...

• Conhecimento de software and hardware é necessário para otimização das métricas

– O projetista deve conhecer as várias tecnologias para

SizePerformance

Power

Otimização das Métricas de Otimização das Métricas de Projeto: ConflitoProjeto: Conflito

Ambientes de Projeto de Sistemas Embarcados 14

as várias tecnologias para escolher a melhor implementação para uma dada aplicação e restrições de projeto.

NRE cost

Microcontrolle

r

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

• 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

Peak revenue

Peak revenue from

delayed entry

Market fall

On-time

Rev

enues

($)

TimeTime--toto--market:market: uma métrica uma métrica críticacrítica

Ambientes de Projeto de Sistemas Embarcados 15

• Percentual de perda nos lucros= (D(3W-D)/2W2)*100%

• Alguns exemplos:

On-time Delayed

entry entry

Market rise Market fall

W 2W

Time

D

Delayed

Rev

enues

($)

– 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%

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.

Ambientes de Projeto de Sistemas Embarcados 16

• Exemplo

– NRE=$2000, unit.=$100

– Para 10 unidades

– Custo total = $2000 + 10*$100 = $3000

– Custo por produto = $2000/10 + $100 = $300

• Comparando diferentes tecnologias

– Tecnologia A: NRE=$2,000, unit=$100

– Tecnologia B: NRE=$30,000, unit=$30

– Tecnologia C: NRE=$100,000, unit=$2

Custo Unitário de Custo Unitário de NRENRE

Ambientes de Projeto de Sistemas Embarcados 17

$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

• But, must also consider time-to-market

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

Ambientes de Projeto de Sistemas Embarcados 18

– Tecnologia dos Processadores

– Tecnologia para IC

– Tecnologia de Projeto

Tecnologia dos Processadores

• Arquitetura do componente de computação que implementa a funcionalidade desejada

• Não precisam ser programáveis

DatapathController

Control index

DatapathController

Control Registers

DatapathController

Control logic

Ambientes de Projeto de Sistemas Embarcados 19

Single-purpose (“hardware”)

Control

logic

State

register

Data

memory

index

total

+

IR PC

Register

file

General

ALU

Program

memory

Assembly code

for:

total = 0

for i =1 to …

Control

logic and

State register

Data

memory

General-purpose (“software”) Application-specific

Registers

Custom

ALU

Program memory

Assembly code

for:

total = 0

for i =1 to …

Control logic

and State

register

Data

memory

IR PC

Tecnologia de ProcessadoresTecnologia de Processadores

• Processadores podem variar na adequação ao problema

FuncionalidadeDesejada

Ambientes de Projeto de Sistemas Embarcados 20

Processador de uso geral

Processador de propósito

único

Processador de aplicação específica

Desejada

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

IR PC

Register

file

General

ALU

DatapathController

Control

logic and

State register

Ambientes de Projeto de Sistemas Embarcados 21

– Alta flexibilidade

• Desvantagens

– Necessidade de adicionar dispositivos

– Alto consumo

– Baixo desempenho

• Ex: PowerPC, Pentium, Z80

IR PC ALU

Program

memory

Assembly code

for:

total = 0

for i =1 to …

Data

memory

Processadores

• Processadores embarcados (embedded)– Proc. de uso geral adaptados para sistemasembarcados:

• Dispositivos internos

• Menor potência

Ambientes de Projeto de Sistemas Embarcados 22

• Menor potência

• Facilidade para desenvolver software

Produto Clock

(MHz)

No.

I/O

Portas

Seriais

Timers/

Contad.

Canais

DMA

WDT Controle

Interrupção

Refresh

DRAM

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

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 IR PC

Registers

Custom

ALU

DatapathController

Control

logic and

State register

Ambientes de Projeto de Sistemas Embarcados 23

– U.E. otimizada

– Periféricos especiais

• Vantagem– Bom compromisso entre flexibilidade,

velocidade, tamanho e potência

• Ex: Microcontroladores (ex.Nitron, 8051)

DSPs

Program

memory

Assembly code

for:

total = 0

for i =1 to …

Data

memory

Processadores de propósito únicoProcessadores de propósito ú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

DatapathController

Control

logic

State

register

index

total

+

Ambientes de Projeto de Sistemas Embarcados 24

– 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

Data

memory

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

Ambientes de Projeto de Sistemas Embarcados 25

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

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

Ambientes de Projeto de Sistemas Embarcados 26

– IC´s possuem inúmeros níveis

– Tecnologias de IC diferem com respeito a quem constrói os níveis e quando

source drainchannel

oxide

gate

Silicon substrate

IC package IC

• 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 27

– PLD (Programmable Logic Device)

FullFull--custom/VLSIcustom/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

Ambientes de Projeto de Sistemas Embarcados 28

– Roteamento dos fios

• Vantagens– Excelente desempenho, pequeno tamanho, baixa potência

• Desvantagens– Custo NRE alto (e.g., $300k), time-to-market bastante

longo

SemiSemi--customcustom

• Níveis inferiores são completa ou parcialmente construídos– Projetistas devem rotear os fios ou posicionar alguns

blocos

• Vantagens

Ambientes de Projeto de Sistemas Embarcados 29

• Vantagens– Bom desempenho, bom tamanho, custo NRE menor que full-

custom (de $10k a $100k)

• Desvantagens– Ainda requer semanas ou meses de desenvolvimento

SemiSemi--custom: IPcustom: IP--core do 8051core do 8051

Ambientes de Projeto de Sistemas Embarcados 30

PLD (Programmable Logic Device)PLD (Programmable Logic 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

Ambientes de Projeto de Sistemas Embarcados 31

populares

• Vantagens– Baixo custo NRE

• Desvantagens– Grandes, caros ($30 por unidade), alto consumo de

potência, lentos

FPGA: bloco básicoFPGA: bloco básicoSaída

Entrada

Look-upTable

ABC

X

Y

Ambientes de Projeto de Sistemas Embarcados 32

TableCD

clock

FPGA: estrutura geralFPGA: estrutura geral

Blocos BásicosBlocos de I/O

Ambientes de Projeto de Sistemas Embarcados 33

Interconexões

FPGAFPGA

CustoCusto

ASICASICFPG AFPGA

Ambientes de Projeto de Sistemas Embarcados 34

Volum e de ProduçãoVolum e de Produção

SystemSystem--OnOn--AA--ChipChip

• 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

Ambientes de Projeto de Sistemas Embarcados 35

• Diminuição de defeitos de montagem e fabricação em geral

• Baixa potência consumida

• Pequeno tamanho

• Alta velocidade

SystemSystem--onon--ChipChip

Micro-

proc. IC

Memory

IC

Microprocessor core

Ambientes de Projeto de Sistemas Embarcados 36

IC

proc. IC IC

Peripher.

IC

FPGA

IC

BoardPeripheral core

SystemSystem--onon--aa--chip (SOC)chip (SOC)

Ambientes de Projeto de Sistemas Embarcados 37

Tecnologias de ProjetoTecnologias de Projeto

MotivaçãoMotivação

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

Ambientes de Projeto de Sistemas Embarcados 39

1,000

100

10

1

0.1

0.01

0.001

Transistores por chip

(em milhões)

Note:

logarithmic scale

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

Ambientes de Projeto de Sistemas Embarcados 40

Um chip de 2002 pode conter 15.000 chips de 1981

Produtividade de ProjetoProdutividade de Projeto

100,000

10,000

1,000

100

10

Pro

du

tiv

ida

de

(K)

Tra

ns.

/Pes

soa

–M

ës

Ambientes de Projeto de Sistemas Embarcados 41

1

0.1

0.01

1983

1987

1989

1991

1993

1985

1995

1997

1999

2001

2003

2005

2007

2009

Pro

du

tiv

ida

de

(K)

Tra

ns.

/

Produtividade de Projeto X Tam.ChipProdutividade de Projeto X Tam.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

Ambientes de Projeto de Sistemas Embarcados 42

• Custo aumentou de $1M para $300M10,000

1,000

100

10

1

0.1

0.01

0.001

Transistores/chip(milhões)

100,000

10,000

1000

100

10

1

0.1

0.01

Produtividade(K)

Trans./Homem.Mês

Capacidade do CI

produtividade

Gap

The mythical manThe mythical man--monthmonth

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

Ambientes de Projeto de Sistemas Embarcados 43

10 20 30 400

10000

20000

30000

40000

50000

60000

43

24

19

1615

1618

23

Tempo

Duração em meses

Designers

Tecnologia de ProjetoTecnologia de Projeto

• A maneira de converter uma funcionalidade em implementação

System

specificationCompilation/Synthesis:

Automates exploration and

insertion of implementation

details for lower level.

Compilation/

Synthesis

Libraries/

IP

Test/

Verification

System

synthesis

Hw/Sw/

OS

Model simulat./

checkers

Ambientes de Projeto de Sistemas Embarcados 44

Libraries/IP: Incorporates

pre-designed implementation

from lower abstraction level

into higher level.

Behavioral

specification

RT

specification

Logic

specification

To final implementation

details for lower level.

Test/Verification: Ensures

correct functionality at each

level, thus reducing costly

iterations between levels.

Behavior

synthesis

RT

synthesis

Logic

synthesis

Cores

RT

components

Gates/

Cells

Hw-Sw

cosimulators

HDL simulators

Gate

simulators

• 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

Tecnologia de ProjetoTecnologia de Projeto

Ambientes de Projeto de Sistemas Embarcados 45

• 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

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

Specification

Automation

Ambientes de Projeto de Sistemas Embarcados 46

• 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

ReuseImplementation

Verification

Compilação / SínteseCompilação / Síntese

Register transfers

Sequential program code (e.g., C, VHDL)

Compilers

(1960s,1970s)

Behavioral synthesis

(1990s)

Ambientes de Projeto de Sistemas Embarcados 47

Implementation

Assembly instructions

Machine instructions Logic gates

Logic equations / FSM's

Register transfers(1960s,1970s)

Assemblers, linkers

(1950s, 1960s)

RT synthesis

(1980s, 1990s)

Logic synthesis

(1970s, 1980s)

Microprocessor plus program

bits

VLSI, ASIC, or PLD

implementation

IndependIndependência de Tecnologiasência de Tecnologias

• Compromisso básico

– Geral vs. customizado

– Tecnologia do processador vs. Tecnologia de implementação

General-

purpose ASIPSingle-

purpose

Ambientes de Projeto de Sistemas Embarcados 48

purpose

processor

ASIP purpose

processor

Semi-customPLD Full-custom

General,

providing improved:

Customized,

providing improved:

Power efficiency

Performance

Size

Cost (high volume)

Flexibility

Maintainability

NRE cost

Time- to-prototype

Time-to-market

Cost (low volume)

ResumoResumo

• Desafios de Projeto:– Otimização das métricas

– Custo

– Time-to-market

• Tecnologias Essenciais

Ambientes de Projeto de Sistemas Embarcados 49

• Tecnologias Essenciais– Processadores:

• Propósito geral

• Domínio Específico

• Propósito único

– IC

– Projeto

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

Ambientes de Projeto de Sistemas Embarcados 50

– Técnicas atuais de Projeto de Hardware

• Síntese

• Reuso

• Uso de plataformas pré-definidas

Programa do CursoPrograma do Curso

• Introdução

• Processadores de Aplicação Específica: Hardware

• Processadores de propósito Geral: Software

• Periféricos

Ambientes de Projeto de Sistemas Embarcados 51

• Periféricos

• Memória

• Interfaces

• Ferramentas de Apoio a Projetos

AvaliaçãoAvaliação

• Unidade 1:– prova

– lista de exercício

– seminários

Ambientes de Projeto de Sistemas Embarcados 52

• Unidade 2– prova

– projeto

– seminários

BibliografiaBibliografia

• Embedded System Design: A Unified Hardware/Software Introduction– Frank Vahid and Tony Givargis, John Wiley and Sons, 2002

• Embedded System Design: Modeling, Synthesis, Verification– Gajski, Abdi, Gerstlauer and Schirner, 2009

Ambientes de Projeto de Sistemas Embarcados 53

– Gajski, Abdi, Gerstlauer and Schirner, 2009

• Introduction to Embedded Systems– Edward Lee and Sanjit Seshia, 2010