Você está na página 1de 146

Introduo aos

Sistemas Embarcados
Nilson Brasil Filho
ESAMC - 2014

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 1

Programa
Introduo aos sistemas embarcados
O que so?
Arquitetura bsica de um S.E.
Tecnologias empregadas
Metodologias de projeto
Arquiteturas Padro
Sistemas operacionais de tempo real

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 2

Introduo aos
Sistemas Embarcados

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 3

Intro. a Sistemas Embarcados


Viso geral
reas de aplicao
Projeto
e Arquitetura

Caractersticas
Arquitetura bsica
Mercado

Projeto e Arquitetura

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 4

SE::Viso Geral::

Sistemas Embarcados
So sistemas computacionais que esto inseridos em
mquinas ou em sistemas maiores
Embutidos em equipamentos eletrnicos:
telefones celulares, vdeo-cassete, forno microondas,carros,
automao de escritrio....

Encontrado em quase todas as aplicaes que


necessitam de algum tipo de controle....

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 5

SE::Viso Geral::

reas de Aplicao
produtos de consumo:
telefones celulares, pagers, cmaras digitais, vdeocassete, vdeo games portteis, calculadores, etc;

eletrodomsticos:
forno de microondas, secretrias eletrnicas,
equipamentos de segurana, termostatos,
mquinas de lavar e sistemas de iluminao;

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 6

SE::Viso Geral::

reas de Aplicao
Automao de escritrio:
mquinas de fax, copiadoras, impressoras e
scanners;

Automveis:
controle de transmisso, injeo eletrnica,
suspenso ativa, freio ABS.

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 7

SE::Viso Geral::Aplicaes

Automveis - Volvo S80


2 Redes CAN
250Kbps
125Kbps
4 Redes baixa velocidade
10,4Kbps
18 ECUs

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 8

SE::Viso Geral::

Caractersticas
Funcionalidade nica, executada repetidamente
Entrada/Sada intensivo
Executa tarefas em paralelo

Restries de projeto mais rgidas:


Custo, tamanho, peso, desempenho, potncia dissipada, etc.

Tempo real:
O tempo para fornecer resultados determinado pelo tempo
que o ambiente pode esperar.
Sistemas em que tm aspectos temporais na especificao.

Sistemas reativos
Reagem continuamente a estmulos externos
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 9

SE::Viso Geral::

Arquitetura Bsica
Arquitetura de Hardware
Forte comunicao com o ambiente
Forte restrio de recursos, tamanho, potncia, peso...

Arquitetura de Software
Tratamento rpido de interrupo
Sistemas operacionais de tempo real

Softwares eficientes em tamanho e desempenho

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 10

SE::Viso Geral::

Arquitetura de Hardware
Eventos

ASIC

Cdigo
DSP

Sensores
Nilson Brasil Filho - ESAMC

DSP

ASIP

Cdigo
uP

A/D

uP

Mem

uC

RTOS

D/A

Eventos
Atuadores
Sistemas Embarcados 11

SE::Viso Geral::Arquitetura

Exemplo: Cmera Digital

A/D

CCD preprocessor

JPEG codec

Pixel coprocessor

Microcontroller

Multiplier/Accum.

Display ctrl

DMA controller

Memory controller

Nilson Brasil Filho - ESAMC

D/A

ISA bus interface

UART

LCD ctrl

Sistemas Embarcados 12

SE::Viso Geral::Arquitetura de Hardware

Comparao com PCs


Caracterstica

PC

Embed. Sys

clock
180MHz 2,2 GHz 500KHz 300 MHz
Instrues/seg. 400M 8B
1M 200M
Potncia
10 250 W
.5 4W
Transistores
Custo

Nilson Brasil Filho - ESAMC

5 1000 M
$200 $2000

10K 5 M
$0.5 $100

Sistemas Embarcados 13

SE::Viso Geral::Arquitetura de Software

Exemplo: Tempo de Boot

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 14

SE::Viso Geral::Arquitetura de Software

Exemplo: Mudana de Contexto


MontaVista Linux Kernel 2.4.17
Pior caso 436us (vs. 1743us)
99.9% < 195us (vs. 1420us)

Fonte: Bill Weinberg, Linux and XScale for Wireless


Consumer Electronics Devices, IDFFall03
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 15

SE::Viso Geral::

Mercado
Crescimento das aplicaes
Automvel:
1995: U$ 1237
2000: U$ 2126
2002: 15% a 30% do custo de um veculo com eletrnica

Domiciliar:
35 sistemas por residncia em 1994
240 sistemas em 2000

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 16

SE::Viso Geral::

Mercado
Crescimento de vendas
U$:
ASICs + embed. Micros: U$ 60 B.

PCs: 34 B.

Unidades:
Embed. Micros: 3 Billion

PC micros: 100 million

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 17

SE::Viso Geral::

Mercado Microcontroladores
US$ billions
20

Total Growth (inc. DSPs)

18
16

Up to 16-bit

14
12
Up to 8-bit

10
8
6
4

Up to 4-bit

2
0
1989

1990

1991

Nilson Brasil Filho - ESAMC

1992

1993

1994

1995

1996

1997

1998

1999

2000

Sistemas Embarcados 18

SE::Viso Geral::

Time-to-market
Reduo do time-to-market
Maior competitividade de mercado
Lucros (dlares)

Reduo na janela de mercado dos produtos

Atraso
Concepo Time-todo sistema market
Nilson Brasil Filho - ESAMC

Tempo
Tempo de vida
Sistemas Embarcados 19

Exame 1
O que so Sistemas Embarcados?
O que um Sistema de Tempo Real?
O que so Sistemas Reativos?
Voc diria que todo S.E. tambm um Sistema de Tempo Real?
E um Sistema Reativo?
fundamental a execuo de tarefas em paralelo em um S.E.?
Porqu?
Como voc compara o mercado de S.E. em relao ao de desktops?

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 20

Intro. a Sistemas Embarcados


Viso
Viso geral
geral
reas de
aplicao
Projeto
e Arquitetura

Caractersticas
Metodologia de projeto
Arquitetura
Hardware bsica

Mercado
Software

Projeto e Arquitetura

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 21

SE::Projeto & Arquitetura

Metodologia de Projeto
Principais diferenas entre o projeto de S.E. e projeto
de aplicaes para desktops
Requisitos no-funcionais so fundamentais: preo, tamanho,
peso, potncia,...
Flexibilidade: plataforma no definida, vrios tipos de S.O.,
controle total da mquina.
Grande preocupao com previsibilidade no uso de recursos
Sistema muito restrito: eficincia no uso de recursos
fundamental

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 22

SE::P & A::Metodologia de Projeto

Exemplo
Projeto de um controle remoto de televiso (infravermelho)
Controle simples com 3 botes:
Liga/desliga
Seleo de canais

Opera com bateria


Deve ser leve

Controla a televiso por infravermelho

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 23

SE::P & A::Metodologia de Projeto

Exemplo: Restries
Protocolo de comunicao com a televiso
Proprietrio
Uso de ROM fornecida pelo cliente

Satisfazer as especificaes temporais fornecidas pelo


cliente:
Cdigo de assinatura

Comando

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 24

SE::P & A::Metodologia de Projeto

Exemplo: Requisitos do cliente


Funcionamento a Bateria:
2 baterias AAA
Durao: 10.000 presses nos botes

Caractersticas do produto final:


Peso < 100 gramas
Dimenso: 10cm X 5cm X 1.5 cm
Material: plstico de alta densidade
Boto liga/desliga: vermelho e circular
Boto canais: preto e quadrado
Deve ser robusto o suficiente para cair de 1,5 metros sem danificar

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 25

SE::P & A::Metodologia de Projeto

Exemplo: Requisitos do cliente


Caractersticas do produto final:
Sinais de infravermelho transmitidos conforme
especificao do cliente
Controle deve funcionar a 10 metros da TV quando
posicionado at 45 graus da TV e 20 graus do
sensor
O sinal de infravermelho deve ser transmitido at 20
mseg aps boto pressionado

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 26

SE::P & A::Metodologia de Projeto

Exemplo: Definio do Hw e Sw
Processador:
Microcontrolador de 8 bits

Sistema Operacional:
No h necessidade

Linguagem de programao:
C

Bibliotecas de software:
Nenhuma

Componentes de Hardware:
Botes
LED infravermelho
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 27

SE::P & A::Metodologia de Projeto

Requisitos do cliente
Como o sistema vai satisfazer requerimentos do usurio dadas
as restries de projeto
Revisar a anlise
Especificar componentes de hardware
Definir Interface de hardware
Especificar subsistemas de software
Definir interfaces de software
Especificar processos de incio e final

Especificar tratamento de erros


Verificar resultados da etapa de design

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 28

SE::P & A::Metodologia de Projeto

Alternativas de implementao

Hardware
Caractersticas

- alto desempenho
- pequeno tamanho
- alto custo
- pouco flexvel

Program Convolution
SEQ i=0 FOR 2
PAR
IF (x[i]>= 0 c:= x[i],
x[i]<0 c:= x[i]/2)
IF (x[i+1]>= 0 d:= x[i+1],
x[i+1]<0 d:= x[i+1]/2)
PAR j=0 FOR 4
e[j]:= x[f(i,j)]
PAR
w := k*e[i]
PAR j= 0 FOR 4
y[j] := y[j] + e[j]*(c+d)

Hardware

Algoritmo
Layout

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 29

SE::P & A::Metodologia de Projeto

Alternativas de implementao

Software
Program Convolution

Uso de componentes
de prateleira
(off-the-shelf)
Software

Nilson Brasil Filho - ESAMC

SEQ i=0 FOR 2


PAR
IF (x[i]>= 0 c:= x[i],
x[i]<0 c:= x[i]/2)
IF (x[i+1]>= 0 d:= x[i+1],
x[i+1]<0 d:= x[i+1]/2)
PAR j=0 FOR 4
e[j]:= x[f(i,j)]
PAR
w := k*e[i]
PAR j= 0 FOR 4
y[j] := y[j] + e[j]*(c+d)

Caractersticas

- baixo custo
- flexibilidade
- desempenho
- tamanho
Sistemas Embarcados 30

SE::P & A::Metodologia de Projeto

Alternativas de implementao

Hardware/Software
Microprocessador
Program Convolution
SEQ i=0 FOR 2
PAR
IF (x[i]>= 0 c:= x[i],
x[i]<0 c:= x[i]/2)
IF (x[i+1]>= 0 d:= x[i+1],
x[i+1]<0 d:= x[i+1]/2)
PAR j=0 FOR 4
e[j]:= x[f(i,j)]
PAR
w := k*e[i]
PAR j= 0 FOR 4
y[j] := y[j] + e[j]*(c+d)

HW
SW
HW

Circuitos
especficos
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 31

SE::P & A::Metodologia de Projeto

Processo de Desenvolvimento
Passad
o

System specification
Exploration

Proc.
Inf. Spec.

Sw design

Proc.
C code

ASIC
Inf. Spec.

ASIC
Inf. Spec.

Hw design

ASIC
RTL strc.

Alto
Custo

ASIC
RTL strc.

Implement, Integrate and test


Nilson Brasil Filho - ESAMC

Sistemas Embarcados 32

SE::P & A::Metodologia de Projeto

Processo de Desenvolvimento
Presente

System specification
Exploration

Proc.
Inf. Spec.

ASIC
Inf. Spec.

ASIC
Inf. Spec.

Memory
Variables.

Cosimulation
Sw synthesis

Proc.
C code

Nilson Brasil Filho - ESAMC

Highlevel synthesis

ASIC
RTL strc.

Memory

ASIC
RTL strc.

Compilation Logic synthesis Physical design


Sistemas Embarcados 33

SE::P & A::Metodologia de Projeto

Processo de
Desenvolvimento

Behavior1

Behavior2

Behavior3

Y=sqrt(x)
X = x+1

For I in 1,100
m(I)=n(I)+1

Allocation Partitioning Estimation


Memories Interfacing Arbitration Generation

Presente/Futuro

Hw/Sw
Co-design

Cosimulation

Proc.
Inf. Spec.

Sw synthesis

Proc.
C code

ASIC
Inf. Spec.

ASIC
Inf. Spec.

Memory
Variables.

Highlevel synthesis

ASIC
RTL strc.

Memory

ASIC
RTL strc.

Compilation Logic synthesis Physical design


Nilson Brasil Filho - ESAMC

Sistemas Embarcados 34

Exame 2
O que diferencia o projeto de S.E. do projeto de aplicativos para
computadores?
Mencione pelo menos 5 restries de projeto comuns em S.E.?
Quais as vantagens e desvantagens de usar Software e/ou Hardware
para implementar um S.E.?
O que vem mudando na forma de projetar S.E. ao longo do tempo?

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 35

Intro. a Sistemas Embarcados


Viso
Viso geral
geral
Projeto
Arquitetura
Projeto eeArquitetura
Metodologia
de projeto
projeto
Metodologia de
Hardware
Hardware

Processadores
Memria
Perifricos

Software
Software
Software

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 36

SE::Projeto & Arquitetura::Hardware

Dispositivos Processadores
Transformam, movem dados, tomam decises e/ou
executam aes.
No precisam ser programveis
Tipos:
Processadores de uso geral
Processadores de Aplicao Especfica
Processadores de propsito nico

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 37

SE::P & A::Hw::Processadores

Tecnologia
Processadores variam na adequao ao problema

Funcionalidade
Desejada

Processador
de uso geral

Nilson Brasil Filho - ESAMC

Processador de
aplicao
especfica

Processador
de propsito
nico
Sistemas Embarcados 38

SE::P & A::Hw::Processadores

Processadores de uso geral


Programados via software
Memria para dados e
programa

Memria

Disp. E/S

Vantagens
Pequenos time-to-market e
custo no recorrente
Alta flexibilidade

Ex: PowerPC, Pentium, Z80

Nilson Brasil Filho - ESAMC

+*/

Processador

Sistemas Embarcados 39

SE::P & A::Hw::Processadores de Uso Geral

Processadores p/ desktops
Facilidade para desenvolvimento de software
Necessrio adicionar muitos dispositivos
auxiliares
Conjunto de instrues no ideal
Alto consumo de energia

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 40

SE::P & A::Hw::Processadores de Uso Geral

Processadores Embarcados
Proc. de uso geral adaptados para sistemas
embarcados:
Dispositivos internos
Menor potncia
Facilidade para desenvolver software

Produto

Clock
(MHz)

No.
I/O

Portas Timers/
Seriais Contad.

Canais WDT
DMA

Controle
Refresh
Interrupo DRAM

80386DX 16,20,25,33

No

No

No

No

80386EX

24

Sim

Sim (8259A)

Sim

25

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 41

SE::P & A::Hw::Processadores

Proc. de Aplicao Especfica (ASIPs)


Processador programvel otimizado para uma classe
de problema
Caractersticas
Memria interna
Unidade de Execuo otimizada
Perifricos especiais internos

Vantagem
Bom compromisso entre flexibilidade, velocidade, tamanho e
potncia

Ex: Microcontroladores (ex.Nitron, 8051)


DSPs (Digital Signal Processors)
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 42

SE::P & A::Hw::Processadores

Proc. de Aplicao Especfica (ASIPs)


Projeto de ASIPs:
O ASIP e seu compilador so projetados em
paralelo (Hw-Sw co-design)

Melhor escolha de implementao de instrues


(em hardware ou em software)

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 43
43

SE::P & A::Hw::Processadores::ASIPs

Microcontroladores
No h consenso sobre a diferena de
microcontroladores e processadores embarcados
Nossa definio:
microcontroladores no so derivados de famlias de
processadores de propsito geral e tm, normalmente, um
poder de processamento menor.

Para diversificar as opes, lanam-se famlias de


microcontroladoes

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 44

SE::P & A::Hw::Processadores::ASIPs::Microcontroladores

Famlia Nitron
Lanada pela Motorola Semicondutores (Brasil) em
setembro/2002
Vendeu mais de 1 milho de unidades at dez/2002
Mais de 40 milhes encomendados
Prmio "Product of the Year" como melhor lanamento
do ano de 2002 (revista Electronic Products)

Preo de $0.70 por unidade

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 45

SE::P & A::Hw::Processadores::ASIPs::Microcontroladores

Famlia Nitron
Baseado na famlia HC, com 8 ou 16 pinos
Memria Flash (1,5 K a 4 Kbytes) reprogramvel na
aplicao

Timer de dois canais de 16 bits, com comparao e


PWM
Conversor A/D de 8 bits e quatro canais

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 46

SE::P & A::Hw::Processadores::ASIPs::Microcontroladores

Famlia 8051
Fabricada por vrias companhias como Philips, Atmel,
Dallas Semiconductors, Intel
Preos baixos

Muitas opes

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 47

SE::P & A::Hw::Processadores::ASIPs::Microcontroladores

Famlia 8051
CPU

RAM

EPROM

Address Bus

Data Bus
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 48

SE::P & A::Hw::Processadores::ASIPs::Microcontroladores

Outras Famlias
ARM da Intel, PIC da Microchip, Srie HC da Motorola
e Transputers da SGS-Thomson.
Escolha da famlia:
fatores tcnicos: velocidade, potncia, tamanho, perifricos
ambientes de desenvolvimento existentes
conhecimento prvio do time de desenvolvimento

facilidade de compra, nmero de fornecedores,etc.

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 49

SE::P & A::Hw::Processadores

Seleo de Processadores
Processor

Clock speed

Intel PIII

1GHz

IBM
PowerPC
750X
MIPS
R5000
StrongARM
SA-110

550 MHz

250 MHz
233 MHz

Intel
8051

12 MHz

Motorola
68HC811

3 MHz

TI C5416

Periph.
2x16 K
L1, 256K
L2, MMX
2x32 K
L1, 256K
L2
2x32 K
2 way set assoc.
None

4K ROM, 128
RAM, 32 I/O,
Timer, UART
4K ROM, 192
RAM, 32 I/O,
Timer, WDT, SPI

160 MHz

Bus Width
MIPS
General Purpose Processors
32
~900

Power

Trans.

Price

97W

~7M

$900

32/64

~1300

5W

~7M

$900

32/64

NA

NA

3.6M

NA

32

268

1W

2.1M

NA

Microcontroller
~1

~0.2W

~10K

$7

~.5

~0.1W

~10K

$5

Digital Signal Processors


16/32
~600

128K, SRAM, 3 T1
NA
NA
Ports, DMA, 13
ADC, 9 DAC
Sources:
TI, and
Embedded
Systems Programming,
Nov. 1998
Lucent Intel, Motorola,
80 MHzMIPS, ARM,
16K Inst.,
2KIBM
Data,Website/Datasheet;
32
40
NA
NA
DSP32C
Serial Ports, DMA

$34

$75

Sources: Intel, Motorola, MIPS, ARM, TI, and IBM Website/Datasheet; Embedded Systems Programming, Nov. 1998

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 50

SE::P & A::Hw::Processadores

Proc. de Propsito nico


Circuito digital projetado para executar um nico
algoritmo
Caractersticas
Contm apenas o necessrio ao algoritmo
No tem memria de programa

Vantagens
Projeto sob encomenda pode obter o melhor do tamanho,
potncia, velocidade, mas perde em flexibilidade

Ex: co-processadores e perifricos

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 51

SE::P & A::Hw::Processadores de Propsito nico

Application-Specific Integrated Circuit-ASIC

Preo elevado inicial


Perda de flexibilidade com relao a
mudanas
Uso depende dos requisitos de performance,
consumo, tamanho, preo, etc.

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 52

SE::P & A::Hw::Processadores de Propsito nico

Field-Programable Gate Array FPGA


Dispositivos de hardware programveis
Reconfigurvel on-line (tipo RAM)
Tipos de programao:
tipo PROM, programveis uma nica vez
tipo EPROM, re-programveis em laboratrio
tipo RAM, re-programveis durante a execuo.

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 53

SE::P & A::Hw::Processadores de Propsito nico::FPGA

FPGA - Bloco bsico


Sada
X

Entrada
A
B
C
D

Look-up
Table

clock

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 54

SE::P & A::Hw::Processadores de Propsito nico::FPGA

FPGA: estrutura geral


Blocos Bsicos
Blocos de I/O

Interconexes

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 55

SE::P & A::Hw::Processadores de Propsito nico::FPGA

FPGA: estrutura geral


Custo por unidade maior que o custo
unitrio de um ASIC
No tem custo relacionado fabricao da
primeira unidade
Custo

ASIC

FPGA

Volume de Produo
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 56

Especificao
Sntese
algortmica
lgica
de
layout
Inicialnvel)
(alto
Prototipao
Arquitetura Controle

Comp.
Alg.
RTL

Processamento
Arquitetura

Estr.

Geom.

Estrutura

Layout

ASIC
Nilson Brasil Filho - ESAMC

+*/

+*/

Process(x)
Begin
y := 0.22 + 0.889
Process(x)
x;
Begin
i := 0;y := 0.22 + 0.889
do x;until
i>3
i := 0;
loopdo until i > 3
loop
y:= 0.5(y
x/y);
y:= 0.5(y+
+ x/y);
i + 1;
i :=end
ii :=+do;
1;
end do;

Comportamento
Sistemas Embarcados 57

SE::P & A::Hw::Processadores::Implementao

Reduo do Tempo de Projeto


System Design

Logic Design

Physical Design

70
Simulation

Schematic entry

Placement /Routing

Hierarchy,
Generators

Logic-Level
Synthesis
High-Level Synthesis
System-Level Synthesis

homem-ms para 20KPortas


Nilson Brasil Filho - ESAMC

Sistemas Embarcados 58

SE::P & A::Hw::Processadores::Implementao

Lei de Moore
Uma tendncia que se mantm e foi prevista em 1965
por Gordon Moore
Nmero de transistores praticamente dobra a cada 18 meses
10,000
1,000

Transistores por
chip
(em milhes)

100
10
1
0.1

Note:
logarithmic scale

0.01
0.001

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 59

SE::P & A::Hw::Processadores::Implementao

Lei de Moore: Ilustrao Grfica


1981
10.000
transistores

1984

1987

1990

1993

1996

1999

2002
150.000.000
transistores

Um chip de 2002 pode conter 15.000 chips de 1981

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 60

SE::P & A::Hw::Processadores::Implementao

Produtividade de Projeto
10,000
1,000

100
10
1

Nilson Brasil Filho - ESAMC

2009

2007

2005

2003

2001

1999

1997

1995

1993

1991

1989

1987

1985

1983

0.1

Produtividade
(K) Trans./Pessoa Ms

100,000

0.01

Sistemas Embarcados 61

SE::P & A::Hw::Processadores::Implementao

Produtividade de Projeto X Tam.Chip


O nmero de transistores por chip aumentou muito mais que
a capacidade de projeto

Maior chip em 1981 requer 100 homem.ms


10.000 transistores / 100 transistores / ms

Maior chip em 2002 requer 30.000 homem.ms


150.000.000 / 5.000 transistores / ms

Custo aumentou de $1M para $300M


10,000

100,000

1,000

10,000

Transistores/chip 100
10
(milhes)
1

1000

Gap

Capacidade
do CI

10

0.1
0.01
0.001

Nilson Brasil Filho - ESAMC

100

produtividade

Produtividade
(K)
Trans./Homem.Ms

0.1
0.01

Sistemas Embarcados 62

SE::P & A::Hw::Processadores::Implementao

The 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 comunicao
Esse efeito conhecido na comunidade de software como
the mythical man-month (Brooks 1975)
Tempo
60000

16

50000

15

16
18

19

40000

23

24

30000
Durao em meses
20000

43

10000
Designers
0
Nilson Brasil Filho - ESAMC

10

20

30

40
Sistemas Embarcados 63

SE::P & A::Hw::Processadores::Implementao

System-On-A-Chip
Sistema completo implementado em um nico chip
Uso de ncleos de processadores (cores)
Baixo custo de fabricao em srie

Alta qualidade
Diminuio de defeitos de montagem e fabricao em
geral

Baixa potncia consumida


Pequeno tamanho
Alta velocidade
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 64

SE::Projeto & Arquitetura::Hardware

Memria
Tipos bsicos
Memria voltil
Perde informaes quando no tem energia
Usada para armazenar dados

Memria no-voltil
Mantm informaes quando no tem energia
Usada para armazenar programas e dados
permanentes (configurao)

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 65

SE::P & A::Hw::Memria

Nomenclatura Bsica
Memria voltil
RAM = Random Acces
Memory

Memria no-voltil
ROM = Read Only Memory

SRAM = Static RAM

PROM ou OTP =
Programmable ROM ou
One-Time Programmable

DRAM = Dynamic RAM

EPROM = Erasable PROM

VRAM - Video RAM

EEPROM = Electrically
Erasable PROM
(apagamento byte a byte)

WRAM - Windows RAM

Flash EPROM = Fast


erasable EPROM
(apagamento por bloco)
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 66

SE::P & A::Hw::Memria

RAM Dinmica vs. Esttica


DRAM (Dynamic Random Acess Memory)
Grande capacidade de integrao (baixo custo por bit)
Perda de informao aps algum tempo: Necessidade de
refreshing

SRAM (Static Random Acess Memory)


Pequeno tempo de acesso
No existe necessidade de refreshing
Alto custo por bit (baixa integrao)

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 67

SE::P & A::Hw::Memria

Caractersticas Bsicas
Tipo de Memria
Random-Access Mem.
(RAM)
Read-Only Mem.
(ROM)
Programmable ROM
(PROM)
Erasable PROM
(EPROM)
Electrically EPROM
(EEPROM)
Flash EPROM

Nilson Brasil Filho - ESAMC

Categoria
ReadWrite

Apagamento
Eltrico
byte a byte

Escrita

Volatil

Eltrica

Voltil

Mscara
Readonly

Impossvel

Ultra-violeta
Eltrica
Readmostly

Eltrico
byte a byte
Eltrico
por bloco

novoltil

Sistemas Embarcados 68

SE::Projeto & Arquitetura::Hardware

Perifricos
Teclados e Visores de cristal lquido
Temporizadores e contadores
Interfaces Seriais

Transdutores
Conversores Digital-Analgicos e Analgico-Digitais
Modulao de largura de fase - PWM
Motores de passo

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 69

SE::P & A::Hw::Perifricos

Timer(temporizador)/Contador
Dispositivo que gera interrupes em intervalos
regulares de tempo. Ex: Timer do 8051

Data Bus
RD WR

Carry

TH0

Carry

Contadores

RD WR

TL0
Clock/12

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 70

SE::P & A::Hw::Perifricos

Teclado
Para saber se esta tecla est apertada, o
controlador do teclado pe nvel 1 em M2 e testa o
valor de N3
N1
N2
N3
N4

Tecla
apertada

M1
M2
M3
M4

4
buffer

Nilson Brasil Filho - ESAMC

Controlador de
Teclado

Cdigo da
Tecla

Sistemas Embarcados 71

SE::P & A::Hw::Perifricos

Interfaces Seriais
Comunicao em que cada bit enviado em
seqncia por um nico fio
Data Bus
Write

Registrador
de
Deslocamento

Nilson Brasil Filho - ESAMC

Clock
Sistemas Embarcados 72

SE::P & A::Hw::Perifricos

Interfaces Seriais
Exemplo de Comunicao

Data Bus

Receptor
Read

Registrador
de
Deslocamento Clock

Nilson Brasil Filho - ESAMC

Transmissor

Data Bus
Write

Registrador
de
Deslocamento Clock

Sistemas Embarcados 73

SE::P & A::Hw::Perifricos::Interfaces Seriais

RS232
RS232: Recommended Standard 232 da EIA
Comunicaes ponto a ponto
Usado por modems, mouses e algumas impressoras

Baixa imunidade a rudo


Mencionado no padro:
limite de transmisso 20kbps
distncia mxima entre dispositivos: 15 metros

Na prtica:
pode-se transmitir at cerca de 200kbps
atinge 100m.
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 74

SE::P & A::Hw::Perifricos::Interfaces Seriais

RS422 e RS485
Adequadas para condies adversas de operao
comunicao por pares de fio tranados
velocidades superiores a 100Mbps
distncias de vrios quilmetros
conexo de vrios dispositivos na mesma linha

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 75

SE::P & A::Hw::Perifricos::Interfaces Seriais

Universal Serial Bus - USB


Taxas de at 12Mbps
At 127 perifricos por linha
Conexo com sistema ligado (hot plugging)
Reconhecimento automtico do dispositivo
(Plug-and-Play)

Microcontroladores dotados de interfaces USB

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 76

SE::P & A::Hw::Perifricos::Interfaces Sem-Fio

Infravermelho
IrDA (Infrared Data Association 1993)
Vrios padres de comunicao
IrDA-Data, IrDA-Control, e o Air

IrDA-Data
ponto-a-ponto
cone de incidncia estreito (30)
distncia mxima de 1 metro

velocidades de 9600 bps a 16 Mbps.

base instalada com alta taxa de crescimento.

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 77

SE::P & A::Hw::Perifricos::Interfaces Sem-Fio

Bluetooth
ondas de rdio
comunicao de voz e dados

pequenas distncias (10cm a 10m)


ponto-a-multiponto (broadcast)
faixa de frequncia usada de 2.4 GHz
suporta rede de at 8 dispositivos
fcil integrao com protocolo TCP/IP.

Vrias companhias adotando como Motorola,


Ericsson, Nokia, IBM, Toshiba, Intel, entre outras.
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 78

SE::P & A::Hw::Perifricos::

Visor de Cristal Lquido - LCD


vrios modelos
alfanumricos, que s apresentam letras, nmeros e
caracteres de pontuao
grficos que permitem o acesso a cada ponto
independentemente

vrios tamanhos
com ou sem iluminao (backlight)
interface, em geral, paralela.

Ponto importante da interface com o usurio

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 79

SE::P & A::Hw::Perifricos::

Transdutores
Capazes de converter tipos de energia
Exemplo: microfones de carvo

A presso do ar (onda sonora) desloca o diafragma


que muda a densidade de partculas de carvo
variando a resistncia eltrica
que produz uma onda eltrica similar sonora

diafragma

+ corrente

Partculas de carvo
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 80

SE::P & A::Hw::Perifricos::

Transdutores
Alto-falante
Bobina

corrente

im

Diafragma

A corrente eltrica varivel aplicada bobina


que induz um campo magntico
que movimenta o diafragma
que desloca o ar formando uma onda sonora
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 81

SE::P & A::Hw::Perifricos::

Transdutores
Materiais especiais
piezzo-eltricos, so capazes de se expandir ou contrair de
acordo com a voltagem (e vice-versa)
sensores de presso, peso, e em microfones e tweeters

termopares, geram voltagens proporcionais sua


temperatura
clulas fotoeltricas, geram voltagens ou modificam a
resistncia proporcionalmente iluminao sobre elas

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 82

SE::P & A::Hw::Perifricos::

Conversores Analgico/Digitais
Converso de valores analgicos (contnuos no
tempo e na amplitude) em valores digitais
(nmeros binrios)
Onda
sonora
Onda
eltrica
analgica
Valores binrios
(amostras temporais)

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 83

SE::P & A::Hw::Perifricos::

Conversores Analgico/Digitais

3.0V
2.5V
2.0V
1.5V
1.0V
0.5V
0V

Relao de Valores

Nilson Brasil Filho - ESAMC

4
Sada Analgica (V)

5.0V
4.5V
4.0V
3.5V

1111
1110
1101
1100
1011
1010
1001
1000
0111
0110
0101
0100
0011
0010
0001
0000

Entrada Analgica
(V)

Vmax = 7.5V
7.0V
6.5V
6.0V
5.5V

3
2
1

tempo
t4
0100 1000 0110 0101
Sada Digital
t1

t2

t3

Converso
Analgico Digital

3
2
1
t1

t2

t3

tempo
t4

0100 1000 0110 0101


Entrada Digital

Converso
Digital Analgico

Sistemas Embarcados 84

SE::P & A::Hw::Perifricos::

Modulao de largura de pulso (PWM)


Onda quadrada
definio do perodo
definio do duty cycle (percentual do tempo em que o sinal
fica em 1)

Perodo

Duty cycle
30%

Nilson Brasil Filho - ESAMC

70%

Sistemas Embarcados 85

SE::P & A::Hw::Perifricos::

Modulao de largura de pulso (PWM)


Gera pulsos com
duty cycle definido

pwm
clk

Controla a tenso
mdia de um
pwm
dispositivo externo
(ex: motor, lmpada) clk
Mais simples que
conversor DC-DC
ou A/D

Nilson Brasil Filho - ESAMC

pwm
clk

duty cycle 25% tenso mdia = 1.25V

duty cycle 50% tenso mdia = 2,5V

duty cycle 75% tenso mdia = 3,75V

Sistemas Embarcados 86

SE::P & A::Hw::Perifricos::

Modulao de largura de pulso (PWM)


Controle de motores de corrente contnua e de
solenides
Bobina

Mola
Im
permanente

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 87

SE::P & A::Hw::Perifricos::

Motores de Passo
Tipos de motores que giram passo a passo, girando
alguns graus por vez

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 88

SE::P & A::Hw::Perifricos::

Motores de Passo
Para rodar o motor necessrio
seguir uma seqncia de
Sequencia A B A B
acionamento das bobinas
1
+ + - Existem controladores para
facilitar esta tarefa
Requer driver de potncia

2
3
4
5

+
+

+
+

+
+
-

+
+
-

+V
1K
Q1

Entrada
Driver de
potncia
Nilson Brasil Filho - ESAMC

Saida
Q2

A
A
B
B

1K
Sistemas Embarcados 89

Intro. a Sistemas Embarcados


Viso
Viso geral
geral
Projeto
Arquitetura
Projeto eeArquitetura
Hardware
Hardware
Processadores
Memria
Linguagens
Perifricos
Sistemas operacionais de tempo real
Software

Software

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 90

SE::Projeto & Arquitetura::Software

Linguagens Empregadas
Segundo uma pesquisa recente da www.8052.com
49% assembly

33%

5%

Basic

3%

Pascal

9%

outras linguagens

A previsibilidade no uso de recursos e tempo de


execuo fundamental para sistemas crticos

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 91

SE::P & A::Sw::Linguagens

Linguagens orientadas a objetos


Linguagens orientadas a objeto
ciclo de desenvolvimento mais rpido

melhores mtodos de estruturao e modularizao


reutilizao de objetos
criao e destruio dinmica de objetos, garbage
collectors criam problemas para previsibilidade temporal e
de alocao de memria
Java, no h um modelo definido para o escalonamento
das threads. Inviabiliza tempo real

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 92

SE::P & A::Sw::Linguagens

Linguagens imperativas
C e Assembly
Excelente controle do hardware e do tempo de execuo

Alta performance
Dificuldades no desenvolvimento
Assembly:
Difcil modularizao e reutilizao

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 93

SE::P & A::Sw::Linguagens

Linguagens especiais
Ada
Projetada pelo Department of Defense dos EUA

Esterel
Voltada para sistemas reativos
Baseada em eventos e aes
Semelhante s linguagens visuais (ex. Visual Basic)

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 94

SE::P & A::Software

Sistemas de Tempo Real


Sistemas computacionais de tempo real:
Tem aspectos temporais em sua especificao
Submetidos a requisitos de natureza temporal
Resultados devem estar corretos lgica e temporalmente
Fazer o trabalho usando o tempo disponvel
Requisitos definidos pelo ambiente fsico

Aspectos temporais
No esto limitados a uma questo de desempenho
Esto diretamente associados com a funcionalidade

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 95

SE::P & A::Sw::Sistemas de Tempo Real

STR e o Ambiente
Ambiente
Estmulos
Sensores
STR

Nilson Brasil Filho - ESAMC

Respostas
Atuadores

Sistemas Embarcados 96

SE::P & A::Sw::Sistemas de Tempo Real

STR e o Ambiente
Fluxo de controle definido pelo ambiente
Tarefas ativadas por estmulos do ambiente
STR geralmente no tem como limitar estes
estmulos

Tempos de resposta ao ambiente definem


deadlines

Dados com prazos de validade

Dados desatualizados podem conduzir a


respostas incorretas

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 97

SE::P & A::Sw::Sistemas de Tempo Real

reas de Pesquisa
Escalonamento (mais estudado)
Modelos e linguagens de programao
Protocolos de comunicao

Arquitetura de computadores
Metodologias de desenvolvimento
...

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 98

SE::P & A::Sw::Sistemas de Tempo Real

Conceitos Bsicos
Tarefa ( task )
Segmento de cdigo cuja execuo possui atributo temporal prprio
Exemplo: mtodo em OO, subrotina, trecho de um programa
Deadline
Instante mximo desejado para a concluso de uma tarefa

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 99

SE::P & A::Sw::STR:: Conceitos Bsicos

Criticidade
Sistema de tempo real crtico (Hard real-time system)
Todas as tarefas tm Hard Deadline
Perda do deadline pode ter conseqncias catastrficas

necessrio garantir requisitos temporais ainda durante o projeto

Exemplo: usina nuclear, industria petroqumica, msseis

Sistema de tempo real no crtico (Soft real-time system)

O requisito temporal descreve apenas o comportamento desejado


Perda do deadline no tem conseqncias catastrficas
Existe interesse em terminar a tarefa mesmo com atraso
Exemplo: incio de gravao de vdeo-cassete
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 100

SE::P & A::Sw::STR:: Conceitos Bsicos

Criticidade
Deadline Firm
Perda do deadline no tem conseqncias catastrficas
No existe valor em terminar a tarefa aps o deadline

Exemplo: ler o valor da temperatura

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 101

SE::P & A::Sw::STR:: Conceitos Bsicos

Modelagem das Tarefas


Deadline Tempo mximo para trmino de
uma tarefa
Release-time Tempo mnimo para incio de
uma tarefa
Tempo de execuo: considera o pior caso
WCET Worst-Case Execution Time

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 102

SE::P & A::Sw::STR:: Conceitos Bsicos

Modelagem das Tarefas


Periodicidade
Tarefas Aperidicas
So disparadas em intervalos imprevisveis de tempo
No garantem escalonabilidade

Tarefas Espordicas
conhecido o intervalo mnimo entre execues (inter-arrival
time)

Tarefas Peridicas
Devem ser executadas em intervalos regulares de tempo

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 103

SE::P & A::Sw::STR:: Conceitos Bsicos

Modelagem das Tarefas


Chegada Liberao
(arrival) (release)

atraso na liberao
(release jitter)

Incio
(start time)

Concluso
(end time)

deadline

tempo

tempo de execuo
(execution time)

Tempo de resposta (response time)

Folga (slack) = deadline liberao tempo de execuo


Atraso = MX( 0, concluso deadline)
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 104

SE::P & A::Sw::STR:: Conceitos::Modelagem das Tarefas

Tarefas Peridicas

D
J1
a1 r 1

A1
s1

Nilson Brasil Filho - ESAMC

A2
e1 d1 a2=r2 s2

e2

d2

tempo

Sistemas Embarcados 105

SE::P & A::Sw::STR:: Conceitos::Modelagem das Tarefas

Tarefas Espordicas
evento2

evento1
minIT

minIT

E1
0

a1

s1

Nilson Brasil Filho - ESAMC

E2
e1 d1

a2=s2

e2

d2

tempo

Sistemas Embarcados 106

SE::P & A::Sw::STR:: Conceitos::Modelagem das Tarefas

Relaes entre tarefas


Relaes entre tarefas
Precedncia: XY
A tarefa X deve terminar antes de Y comear

Excluso mtua: XY
As tarefas X e Y no podem executar simultaneamente

Co-execuo: X||Y
As tarefas X e Y tm que executar simultaneamente

Preempo: XY
A tarefa X interrompida para que Y possa executar e, aps o
trmino de Y, a tarefa X continua a executar

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 107

SE::P & A::Sw::STR

Escalonamento
Mtodos de Escalonamento

Abordagens com Garantia


em Tempo de Projeto

Executivo
Cclico

Dirigido a
Prioridades

Nilson Brasil Filho - ESAMC

Abordagens com
Garantia Dinmica

Abordagens de
Melhor Esforo

Tcnicas
Adaptativas

Sistemas Embarcados 108

Escalonamento de Processos

Abstrao
Uma mquina para cada processo
Paralelismo real
mP1

T11

T12

mP2

Nilson Brasil Filho - ESAMC

mP3

T0

mP3

T22

Sistemas Embarcados 109

Escalonamento de Processos

Realidade
Compartilhamento do tempo
Pseudoparalelismo

T12

mP1

T11

Nilson Brasil Filho - ESAMC

T0

41 51

T22

70

T0

90

121

Sistemas Embarcados 110

Tipos de Escalonamento

Preemptivo
Permite a suspenso temporria de processos
Quantum ou time-slice: perodo de tempo durante o qual um
processo usa o processador a cada vez

Preempo

T12

mP1

T11

T0

41 51

T22

70

T0

90

121

Quantum grande:
Diminui nm. de mudanas de contexto e overhead do S.O.
Ruim para processos interativos

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 111

Escalonamento de Processos

Processo
Estados de um processo
Process Control Block - PCB

Criao

Trmino
Pronto

Rodando

Bloqueado

ID do Processo
Estado
Prioridade
Program Counter
Ponteiros da Memria
Contexto (regs.)
I/O Status
Informaes gerais
tempo de CPU
limites, usurio, etc.

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 112

Filas de Escalonamento
Short-term
scheduling
Longterm
queue

Process
request

High-level
scheduling

Interrupt
of process
Interrupt
from I/O

Interrupt
Handler

Nilson Brasil Filho - ESAMC

Shortterm
queue

CPU

I/O

I/O
queue

I/O

I/O
queue

I/O

I/O
queue

FIM

I/O scheduling

Sistemas Embarcados 113

Tipos de Escalonamento

Round-Robin

Uso de uma lista de processos sem prioridade


Escalonamento preemptivo
Simples e justo
Bom para sistemas interativos

CPU:Running
Tar. A
Contexto
Tar. A
Contexto
Nilson Brasil Filho - ESAMC

Tar. B
Contexto

Tar. C
Contexto

Tar. A
Contexto
Sistemas Embarcados 114

Tipos de Escalonamento

First-In First-Out (FIFO)


Uso de uma lista de processos sem prioridade

Escalonamento no-preemptivo
Simples e justo
Bom para sistemas em batch

CPU
A

FIM
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 115

Tipos de Escalonamento

Exemplo
Trs processos
Cada um consome 1 hora de CPU

Calcule o tempo de resposta considerando


a) Round-robin (time-slice = 10ms)
b) FIFO

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 116

Caractersticas de Escalonamento
Justia (fairness)
Todos os processos tm chances iguais de uso dos
processador

Eficincia
O objetivo manter o processador 100% ocupado

Tempo de Resposta
Tempo entre a requisio da ao e a obteno do resultado

Throughput
Nmero de tarefas por unidade de tempo

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 117

SE::P & A::Sw::STR::Escalonamento

Garantia Dinmica e de Melhor Esforo


No existe garantia que os deadlines sero cumpridos
Sempre que uma tarefa ativada ocorre uma anlise
da sua escalonabilidade
Passvel de sofrer sobrecarga
Capaz de fornecer anlise probabilstica
Simulao, teoria das filas de tempo real, etc

Algumas abordagens oferecem Garantia Dinmica


Garante o deadline (ou no) no incio da ativao

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 118

SE::P & A::Sw::STR::Escalonamento

Garantia Dinmica e de Melhor Esforo


Descarte de Tarefas na Sobrecarga
As tarefas executadas cumprem o deadline
Mais apropriado para tarefas com deadline firm

Pode cancelar ativaes individuais ou tarefas completas


Objetivo maximizar o nmero de tarefas executadas
Tarefas podem ter importncia (peso) diferentes
Maximiza o somatrio dos pesos das tarefas executadas

Abordagem semelhante: aumenta o perodo das tarefas

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 119

SE::P & A::Sw::STR::Escalonamento

Garantia Dinmica e de Melhor Esforo

Perda de deadlines na sobrecarga


Em sobrecarga ATRASA algumas tarefas
Possui uma funo que indica o valor de cada tarefa em funo
do seu instante de concluso (time-value function)
Objetivo maximizar o valor total do sistema (somatrio de
todas as tarefas)
valor

Nilson Brasil Filho - ESAMC

Tempo de
Resposta

Sistemas Embarcados 120

SE::P & A::Sw::STR::Escalonamento

Garantia Dinmica e de Melhor Esforo

Reduo da Preciso na Sobrecarga


Em sobrecarga diminui a preciso de algumas tarefas
Objetivo fazer o possvel dentro do tempo disponvel

Exemplos:
Ignorar bits menos significativos de cada pixel
Trabalhar com amostras de udio menos precisas

Alterar resoluo e tamanho de imagem na tela


Simplificar animaes
Usar algoritmos de controle mais simples
Interromper pesquisa em algoritmos de inteligncia artificial
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 121

SE::P & A::Sw::STR::Escalonamento

Garantia Dinmica e de Melhor Esforo

Sistemas de Prioridade Dinmica


Earliest-Deadline-First (EDF)
Escalonamento preemptivo de prioridade dinmica

O deadline calculado quando a tarefa disparada.


O escalonador pe para executar a tarefa com menor
deadline

Least Slack Scheduling


Escalonamento no-preemptivo de prioridade dinmica
A tarefa com menor sobra (slack) tem maior prioridade
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 122

SE::P & A::Sw::STR::Escalonamento

Abordagens com Garantia em Projeto


Para obter garantias em projeto
necessrio:
Conhecimento completo das tarefas e do
mtodo de implementao
Anlise feita em projeto
Carga limitada e conhecida

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 123

SE::P & A::Sw::STR::Escalonamento

Abordagens com Garantia em Projeto


Vantagens
Determina em projeto que todos os deadlines sero
cumpridos
Necessrio para aplicaes crticas

Desvantagens
Necessrio conhecer exatamente a carga
Necessrio reservar recursos para o pior caso
Difcil determinar o pior caso em solues off- the- shelf
Gera enorme subutilizao de recursos

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 124

SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

Modelos de Implementao
Time-driven systems
Sistemas em que a execuo regida pelo tempo
No existe outra fonte de eventos alm do timer interno
A ordem de execuo toda definida a priori

Event-driven systems
A execuo regida por eventos externos e eventos do timer
A garantia em projeto se d pelo uso de prioridades fixas
para as tarefas

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 125

SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

Time-Driven Systems
Executor Cclico
Tarefas so arranjadas numa lista que define a ordem
e tempo de execuo de cada uma

Cada tarefa colocada em execuo em momentos


controlados por um temporizador (timer)
A lista executada repetidamente, caracterizando
ciclos de execuo
No usada concorrncia: tarefas grandes devem ser
quebradas manualmente se necessrio.

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 126

SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

Time-Driven Systems: Exemplo 1


Considere 4 funes com as seguintes caractersticas:
Funo 1: ciclo de 50Hz (20ms)
Funo 2: ciclo de 25 Hz (40ms)
Funo 3: ciclo de 12,5 Hz (80ms)
Funo 4: ciclo de 6,25Hz (160ms)
Ciclo Principal (160ms)

Ciclo Principal (160ms)

10ms

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 127

SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

Time-Driven Systems: Exemplo 2


CA
Relations: A
C
BC

rC

r
, r
Br
D D

dC

dD

( cD = 20)
( cB =
C 20)
( cC D
= 20)
( cD D
= 20)
B 20)
( cB =
C ( cC B
= 20)

Processor1
Processor1

10
10

20
20

rA

Processor2

dB

r,
d
B C

30
30

Nilson Brasil Filho - ESAMC

60
60

70
70

80
80

dA
A ( cA = 20)

Processor2
0

50
50
dA

rA
A ( cA = 20)

40
40

20

30

50

50

Sistemas Embarcados 128

m1

SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

Time-Driven Systems: Exemplo 3


Relations: A B,
B C, C D
dBdA rD

rA rB
A
05

Relations: B A,
B C, C D
rE dD
D

B
20

40 45 55 60 70 80

E
95 100

m2

Nilson Brasil Filho - ESAMC

60

rE dD dE

dA rD

A
25

45 55 70 75 80

95

dC

rC

m2

C
40

r,
d
A B
B

05

dC

rC

25

rB

dE

C
25

45

60

Sistemas Embarcados 129

SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

Time-Driven Systems: Executor Cclico


Arquitetura de Software
Funo 1
Executor
Cclico

Funo 2

Funo 3

Disp. E/S

Disp. E/S

Funo 4
Interrupo
do Timer
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 130

SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

Event-Driven Systems

Sistemas de Prioridade Fixa


Tarefas tm prioridades definidas em tempo de projeto
Tarefas de maior prioridade preemptam as de menor
prioridade
Prioridades so definidas com base nas restries
temporais

A concorrncia requer mecanismos para evitar


deadlock e inverso de prioridade (exemplo:
semforos, herana de prioridade)
Para garantir respostas previsveis, tarefas aperidicas
no so tratadas
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 131

SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

Event-Driven Systems
Sistemas de Prioridade Fixa
Escalonamento Rate-Monotonic (RMS)
Escalonamento preemtivo de prioridade fixa
Tarefas mais freqentes tm maior prioridade
Os deadlines devem ser iguais aos perodos
Tarefas no tm nenhuma relao entre si (precedncia,
excluso, etc)

timo, ou seja, nenhum outro mtodo melhor que este


com estas condies

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 132

SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

Event-Driven Systems

Sistemas de Prioridade Fixa


Deadline-Monotonic Scheduling:
Semelhante ao RMS, mas quanto menor o deadline
da tarefa maior sua prioridade
Os deadlines so fixos e relativos aos comeos dos
perodos

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 133

SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

Event-Driven Systems
Arquitetura de Software
Disp. Entrada

Tarefa 1

Sensor

Tarefa 2

Disp. Sada

Tarefa 3

Atuador

Recurso 1

Recurso 2
Tarefa 4

Interrupo
do Timer
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 134

SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

Event-Driven Systems
Anlise de Escalonabilidade
Escalonamento Rate-Monotonic (RMS)
Notao:

Processo: pi Perodo: Ti

Tempo de Computao: Ci

Deadline: Di

Em um conjunto de n processos peridicos independentes escalonados


pelo RMS sempre obedecer o seu deadline se
(condio suficiente mas no necessria):

C1
T1

...

Cn
Tn

U n n 2 1
1
n

onde, U(n) o limite de utilizao para n processos.


n U(n) 69%
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 135

SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

Event-Driven Systems
Escalonamento Rate-Monotonic (RMS)
U(n) = 1,0 se o conjunto de tarefas harmnico
Um conjunto de tarefas harmnico se os perodos
de todas as tarefas so mltiplos ou sub-mltiplos
entre si

U(n) = 0,88 na mdia de tarefas randmicas

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 136

SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

Event-Driven Systems
Anlise de Escalonabilidade
Anlise baseada em Tempo de Resposta
Calcula tempo de resposta no pior caso e compara ao deadline
Para a tarefa mais prioritria R1 = C1
Demais tarefas sofrem interferncia das tarefas com prioridade
maior
Neste caso, Ri = Ci + Ii

Interferncia mxima a partir do Instante Crtico


Instante onde todas as tarefas so liberadas simultaneamente

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 137

Garantia em Projeto :: Event-Driven Systems

Anlise de Escalonabilidade
Interferncia entre tarefas
Seja Pj uma tarefa com prioridade maior que Pi
Quantas vezes Pj pode acontecer durante a execuo de Pi ?

Ri/Tj
Qual a interferncia total de Pj sobre Pi ?

Ri/Tj x Cj
Qual a interferncia total sobre Ti ?

Ri/Tj x Cj, onde Pri(j)>Pri(i)


Nilson Brasil Filho - ESAMC

Sistemas Embarcados 138

Garantia em Projeto :: Event-Driven Systems

Anlise de Escalonabilidade
O tempo mximo de resposta de pi Ri = Ci + Ii
Ri = Ci + Ri/Tj x Cj

O clculo feito recursivamente em iteraes


sucessivas, at:
Tempo de resposta passar do deadline (falha)
Resultado convergir, ou seja, iterao x+ 1 igual a iterao x

Wix+1 = Ci + Wix/Tj x Cj, onde Wi0= Ci


Nilson Brasil Filho - ESAMC

Sistemas Embarcados 139

Garantia em Projeto :: Event-Driven Systems

Anlise de Escalonabilidade
Exemplo
p1

p2

p3

T1=7 T2=12 T3=20


C1=3 C2=3 C3=5
Pri1=1 Pri2=2 Pri3=3

Resposta:
R1 = 3
Nilson Brasil Filho - ESAMC

R2 = 6

R3 = 20
Sistemas Embarcados 140

Garantia em Projeto :: Event-Driven Systems

Anlise de Escalonabilidade
Suponha uma tarefa espordica liberada por evento
externo
Eventos podem ser amostrados periodicamente
Sinalizao do evento pode ter atraso varivel
Release Jitter: Atraso mximo na liberao da tarefa
Ri = Ji + Wi, Wi = Ci + (Wi+Jj)/Tj x Cj

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 141

Garantia em Projeto :: Event-Driven Systems

Anlise de Escalonabilidade
Bloqueios
Ocorrem devido s relaes de excluso mtua
Suponha p1 e p2, p1 com maior prioridade
Se p2 fica bloqueada esperando por p1
Ok, p1 tem mesmo prioridade superior
Se p1 fica bloqueada, esperando por p2
Clculo do tempo de resposta deve incluir a espera mxima Bi

Ri = Ji + Wi
Wi = Ci + Bi + (Wi+Jj)/Tj x Cj
Nilson Brasil Filho - ESAMC

Sistemas Embarcados 142

Garantia em Projeto :: Event-Driven Systems

Anlise de Escalonabilidade
Sees Crticas e Inverso de Prioridades

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 143

Garantia em Projeto :: Event-Driven Systems

Anlise de Escalonabilidade
Protocolo de Herana de Prioridades

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 144

Sistemas Operacionais de Tempo Real


Escalonamento preemptivo
Escalona processos com base em prioridades (no
justo, pode provocar starvation)
Todas as chamadas ao S.O. tem tempo mximo de
execuo definido e otimizado
A mudana de contexto tem tempo limitado, conhecido
(fixed overhead) e otimizado
Tratamento de inverso de prioridade

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 145

Referncias
Livro de Sistemas de Tempo Real
Jean- Marie Farines, Joni da Silva Fraga, Rmulo Silva
de Oliveira. Escola de Computao2000 - IME- USP
http:// www. lcmi. ufsc. br/ gtr/ livro/ principal. Htm
IEEE Computer Society, Technical Committee on
Real- Time Systems (IEEE- CS TC- RTS)
http:// www. cs. bu. edu/ pub/ ieee- rts
The Concise Handbook Of Real-Time Systems.
TimeSys Corporation, Verso 1.1, 2000.
http://www.timesys.com

Nilson Brasil Filho - ESAMC

Sistemas Embarcados 146