Você está na página 1de 140

Introduo aos

Sistemas Embarcados
Sergio Cavalcante
Centro de Informtica UFPE
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 2
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
Introduo aos
Sistemas Embarcados
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 4
Intro. a Sistemas Embarcados
Viso geral
Projeto e Arquitetura
Viso geral
reas de aplicao
Caractersticas
Arquitetura bsica
Mercado
Projeto e Arquitetura
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 5
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....

Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 6
SE::Viso Geral::
reas de Aplicao
produtos de consumo:
telefones celulares, pagers, cmaras digitais,
vdeo-cassete, vdeo games portteis,
calculadores, etc;
eletrodomsticos:
forno de microondas, secretrias eletrnicas,
equipamentos de segurana, termostatos,
mquinas de lavar e sistemas de iluminao;
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 7
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.

Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 8
SE::Viso Geral::Aplicaes
Automveis - Volvo S80
2 Redes CAN
250Kbps
125Kbps

4 Redes baixa velocidade
10,4Kbps

18 ECUs
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 9
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 10
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

Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 11
SE::Viso Geral::
Arquitetura de Hardware
ASIC DSP ASIP uP uC
Mem
Cdigo
DSP
Cdigo
uP
RTOS
A/D
D/A Sensores
Atuadores
Eventos
Eventos
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 12
SE::Viso Geral::Arquitetura
Exemplo: Cmera Digital
A/D
D/A
CCD preprocessor
Pixel coprocessor
Microcontroller
JPEG codec
DMA controller
Memory controller ISA bus interface UART
Display ctrl
LCD ctrl
Multiplier/Accum.
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 13
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 5 1000 M 10K 5 M
Custo $200 $2000 $0.5 $100


Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 14
SE::Viso Geral::Arquitetura de Software
Exemplo: Tempo de Boot
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 15
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 16
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 17
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 18
SE::Viso Geral::
Mercado Microcontroladores
0
2
4
6
8
10
12
14
16
18
20
1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000
US$ billions
Total Growth (inc. DSPs)
Up to 16-bit
Up to 8-bit
Up to 4-bit
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 19
SE::Viso Geral::
Time-to-market
Reduo do time-to-market
Maior competitividade de mercado
Reduo na janela de mercado dos produtos
Tempo Time-to-
market
Concepo
do sistema
L
u
c
r
o
s

(
d

l
a
r
e
s
)

Tempo de vida
Atraso
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 20
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?
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 21
Intro. a Sistemas Embarcados
Viso geral
reas de aplicao
Caractersticas
Arquitetura bsica
Mercado
Projeto e Arquitetura
Viso geral
Projeto e Arquitetura
Viso geral
Projeto e Arquitetura
Metodologia de projeto
Hardware
Software
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 22
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 23
SE::P & A::Metodologia de Projeto
Exemplo
Projeto de um controle remoto de televiso (infra-
vermelho)
Controle simples com 3 botes:
Liga/desliga
Seleo de canais
Opera com bateria
Deve ser leve
Controla a televiso por infravermelho
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 24
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

Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 25
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

Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 26
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 27
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

Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 34
Presente/Futuro
Allocation Partitioning Estimation
Sw synthesis Highlevel synthesis
Compilation Logic synthesis Physical design
Proc.
Inf. Spec.
ASIC
Inf. Spec.
ASIC
Inf. Spec.
Memory
Variables.
Proc.
C code
ASIC
RTL strc.
ASIC
RTL strc.
Memory
Cosimulation
Behavior1
Behavior2
Y=sqrt(x)
X = x+1
Behavior3
For I in 1,100
m(I)=n(I)+1
Memories Interfacing Arbitration Generation
Hw/Sw
Co-design
SE::P & A::Metodologia de Projeto
Processo de
Desenvolvimento
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 35
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?
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 36
Intro. a Sistemas Embarcados
Viso geral
Projeto e Arquitetura
Metodologia de projeto
Hardware
Software
Viso geral
Projeto e Arquitetura
Metodologia de projeto
Hardware
Software
Viso geral
Projeto e Arquitetura
Metodologia de projeto
Hardware
Processadores
Memria
Perifricos
Software
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 37
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 38
SE::P & A::Hw::Processadores
Tecnologia
Processadores variam na adequao ao problema
Processador
de uso geral
Processador
de propsito
nico
Processador de
aplicao
especfica
Funcionalidade
Desejada



Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 39
SE::P & A::Hw::Processadores
Processadores de uso geral
Programados via software
Memria para dados e
programa
Vantagens
Pequenos time-to-market e
custo no recorrente
Alta flexibilidade
Ex: PowerPC, Pentium, Z80
+
+ * /
Memria Disp. E/S
Processador
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 40
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 41
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
Seriais
Timers/
Contad.
Canais
DMA
WDT Controle
Interrupo
Refresh
DRAM
80386DX 16,20,25,33 0 No 0 0 No No No
80386EX 25 24 3 3 2 Sim Sim (8259A) Sim
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 42
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)
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 43
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)
43
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 44
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 45
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 46
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 47
SE::P & A::Hw::Processadores::ASIPs::Microcontroladores
Famlia 8051
Fabricada por vrias companhias como Philips,
Atmel, Dallas Semiconductors, Intel
Preos baixos
Muitas opes
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 48
SE::P & A::Hw::Processadores::ASIPs::Microcontroladores
Famlia 8051
CPU
RAM EPROM
Data Bus
Address Bus
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 49
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.
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 50
SE::P & A::Hw::Processadores
Seleo de Processadores
Processor Clock speed Periph. Bus Width MIPS Power Trans. Price
General Purpose Processors
Intel PIII 1GHz 2x16 K
L1, 256K
L2, MMX
32 ~900 97W ~7M $900
IBM
PowerPC
750X
550 MHz 2x32 K
L1, 256K
L2
32/64 ~1300 5W ~7M $900
MIPS
R5000
250 MHz 2x32 K
2 way set assoc.
32/64 NA NA 3.6M NA
StrongARM
SA-110
233 MHz None 32 268 1W 2.1M NA
Microcontroller
Intel
8051
12 MHz 4K ROM, 128
RAM, 32 I/O,
Timer, UART
8 ~1 ~0.2W ~10K $7
Motorola
68HC811
3 MHz 4K ROM, 192
RAM, 32 I/O,
Timer, WDT, SPI
8 ~.5 ~0.1W ~10K $5
Digital Signal Processors
TI C5416 160 MHz 128K, SRAM, 3 T1
Ports, DMA, 13
ADC, 9 DAC
16/32 ~600 NA NA $34
Lucent
DSP32C
80 MHz 16K Inst., 2K Data,
Serial Ports, DMA
32 40 NA NA $75


Sources: Intel, Motorola, MIPS, ARM, TI, and IBM Website/Datasheet; Embedded Systems Programming, Nov. 1998
Sources: I ntel, Motorola, MI PS, ARM, TI , and I BM Website/Datasheet; Embedded Systems Programming, Nov. 1998
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 51
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 52
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.
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 53
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.
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 54
SE::P & A::Hw::Processadores de Propsito nico::FPGA
FPGA - Bloco bsico
Sada
Entrada
Look-up
Table
A
B
C
D
clock
X
Y
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 55
SE::P & A::Hw::Processadores de Propsito nico::FPGA
FPGA: estrutura geral
Blocos Bsicos
Blocos de I/O
Interconexes
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 56
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
Volume de Produo
ASIC
FPGA
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 57
Especificao
Inicial
Sntese algortmica
(alto nvel)
Process(x)
Begin
y :=0.22 +0.889
x;
i :=0;
do until i >3
loop
y:=0.5(y + x/y);
i :=i +1;
end do;
Comportamento
Layout
ASIC
Process(x)
Begin
y :=0.22 +0.889
x;
i :=0;
do until i >3
loop
y:=0.5(y +x/y);
i :=i +1;
end do;
+
+ * /
Controle
Processamento
Arquitetura
+
+ * /
Arquitetura
Estrutura
Alg.
RTL
Comp.
Estr.
Geom.
Sntese lgica Sntese de layout
Prototipao
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 58
System Design Logic Design Physical Design
Simulation Schematic entry Placement /Routing
Hierarchy,
Generators
Logic-Level
Synthesis
High-Level Synthesis
System-Level Synthesis
homem-ms para 20KPortas
70
SE::P & A::Hw::Processadores::Implementao
Reduo do Tempo de Projeto
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 59
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
100
10
1
0.1
0.01
0.001
Transistores por
chip
(em milhes)
Note:
logarithmic scale
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 60
SE::P & A::Hw::Processadores::Implementao
Lei de Moore: Ilustrao Grfica
1981 1984 1987 1990 1993 1996 1999 2002
10.000
transistores
150.000.000
transistores
Um chip de 2002 pode conter 15.000 chips de 1981
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 61
SE::P & A::Hw::Processadores::Implementao
Produtividade de Projeto
100,000
10,000
1,000
100
10
1
0.1
0.01
1
9
8
3

1
9
8
7

1
9
8
9

1
9
9
1

1
9
9
3

1
9
8
5

1
9
9
5

1
9
9
7

1
9
9
9

2
0
0
1

2
0
0
3

2
0
0
5

2
0
0
7

2
0
0
9

P
r
o
d
u
t
i
v
i
d
a
d
e

(
K
)

T
r
a
n
s
.
/
P
e
s
s
o
a

s

Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 62
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
1,000
100
10
1
0.1
0.01
0.001
Transistores/chip
(milhes)
100,000
10,000
1000
100
10
1
0.1
0.01
Produtividade
(K)
Trans./Homem.Ms
Capacidade
do CI
produtividade
Gap
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 63
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)
10 20 30 40 0
10000
20000
30000
40000
50000
60000
43
24
19
16
15
16
18
23
Tempo
Durao em meses
Designers
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 64
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 65
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)
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 66
SE::P & A::Hw::Memria
Nomenclatura Bsica
Memria voltil
RAM = Random Acces
Memory
SRAM = Static RAM
DRAM = Dynamic RAM
VRAM - Video RAM
WRAM - Windows RAM

Memria no-voltil
ROM = Read Only Memory
PROM ou OTP =
Programmable ROM ou
One-Time Programmable
EPROM = Erasable PROM
EEPROM = Electrically
Erasable PROM
(apagamento byte a byte)
Flash EPROM = Fast
erasable EPROM
(apagamento por bloco)
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 67
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)
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 68
SE::P & A::Hw::Memria
Caractersticas Bsicas
Tipo de Memria Categoria Apagamento Escrita Volatil
Random-Access Mem.
(RAM)
Read-
Write
Eltrico
byte a byte
Eltrica Voltil
Read-Only Mem.
(ROM)

Read-

Impossvel
Mscara
Programmable ROM
(PROM)
only
Erasable PROM
(EPROM)
Ultra-violeta
Eltrica

no-
Electrically EPROM
(EEPROM)
Read-
mostly
Eltrico
byte a byte
voltil
Flash EPROM Eltrico
por bloco



Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 69
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 pulso - PWM
Motores de passo
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 70
SE::P & A::Hw::Perifricos
Timer(temporizador)/Contador
Dispositivo que gera interrupes em intervalos
regulares de tempo. Ex: Timer do 8051
TH0
TL0
Carry
Carry
Clock/12
Contadores
Data Bus
RD WR
RD WR
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 71
SE::P & A::Hw::Perifricos
Teclado
N1
N2
N3
N4
M1
M2
M3
M4
buffer

Controlador de
Teclado
Tecla
apertada
Cdigo da
Tecla
4
Para saber se esta tecla est apertada, o
controlador do teclado pe nvel 1 em M2 e testa
o valor de N3
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 72
SE::P & A::Hw::Perifricos
Interfaces Seriais
Comunicao em que cada bit enviado em seqncia
por um nico fio
Registrador
de
Deslocamento
Clock
Data Bus
Write
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 73
SE::P & A::Hw::Perifricos
Interfaces Seriais
Exemplo de Comunicao
Registrador
de
Deslocamento
Clock
Data Bus
Write
Registrador
de
Deslocamento
Clock
Data Bus
Read
Receptor
Transmissor
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 74
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.
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 75
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 76
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 77
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.
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 78
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.
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 79
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 80
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
corrente
- +
diafragma
Partculas de carvo
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 81
SE::P & A::Hw::Perifricos::
Transdutores
A corrente eltrica varivel aplicada bobina
que induz um campo magntico
que movimenta o diafragma
que desloca o ar formando uma onda sonora
S N
im
Diafragma
Bobina
corrente
Alto-falante
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 82
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 83
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)
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 84
SE::P & A::Hw::Perifricos::
Conversores Analgico/Digitais
Relao de Valores
V
max
= 7.5V

0V

1111

1110

0000

0010

0100

0110

1000

1010

1100

0001

0011

0101

0111

1001

1011

1101

0.5V

1.0V

1.5V

2.0V

2.5V

3.0V

3.5V

4.0V

4.5V

5.0V

5.5V

6.0V

6.5V

7.0V

Converso
Analgico Digital
4
3
2
1
t1 t2 t3
t4
0100 1000 0110 0101
tempo
E
n
t
r
a
d
a

A
n
a
l

g
i
c
a

(
V
)

Sada Digital
Converso
Digital Analgico
4
3
2
1
0100 1000 0110 0101
t1 t2 t3
t4
tempo
S
a

d
a

A
n
a
l

g
i
c
a

(
V
)

Entrada Digital
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 85
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
30%
70%
Duty cycle
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 86
SE::P & A::Hw::Perifricos::
Modulao de largura de pulso (PWM)











clk
pwm
duty cycle 25% tenso mdia = 1.25V
clk
pwm
clk
pwm
Gera pulsos com
duty cycle
definido
Controla a tenso
mdia de um
dispositivo externo
(ex: motor, lmpada)
Mais simples que
conversor DC-DC
ou A/D
duty cycle 50% tenso mdia = 2,5V
duty cycle 75% tenso mdia = 3,75V
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 87
SE::P & A::Hw::Perifricos::
Modulao de largura de pulso (PWM)
Controle de motores de corrente contnua e de
solenides
Mola
Bobina
Im
permanente
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 88
SE::P & A::Hw::Perifricos::
Motores de Passo
Tipos de motores que giram passo a passo,
girando alguns graus por vez
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 89
SE::P & A::Hw::Perifricos::
Motores de Passo
A
A
B
B
Sequencia A B A B
1 + + - -
2 - + + -
3 - - + +
4 + - - +
5 + + - -

Para rodar o motor
necessrio seguir uma
seqncia de acionamento das
bobinas
Existem controladores para
facilitar esta tarefa
Requer driver de potncia
Q2
1K
1K
Q1
+V
Entrada
Saida
Driver de
potncia
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 90
Intro. a Sistemas Embarcados
Viso geral
Projeto e Arquitetura
Hardware
Processadores
Memria
Perifricos
Software
Viso geral
Projeto e Arquitetura
Hardware
Software
Viso geral
Projeto e Arquitetura
Hardware
Software
Linguagens
Sistemas operacionais de tempo real
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 91
SE::Projeto & Arquitetura::Software
Linguagens Empregadas
Segundo uma pesquisa recente da www.8052.com
49% assembly
33% C
5% Basic
3% Pascal
9% outras linguagens
A previsibilidade no uso de recursos e tempo de
execuo fundamental para sistemas crticos
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 92
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 93
C e Assembly
Excelente controle do hardware e do tempo de execuo
Alta performance
Dificuldades no desenvolvimento
Assembly:
Difcil modularizao e reutilizao
SE::P & A::Sw::Linguagens
Linguagens imperativas
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 94
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)

SE::P & A::Sw::Linguagens
Linguagens especiais
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 95
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 96
SE::P & A::Sw::Sistemas de Tempo Real
STR e o Ambiente
STR
Ambiente
Estmulos
Sensores
Respostas
Atuadores
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 97
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 98
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
...
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 99
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

Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 100
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 101
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 102
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 103
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 104
SE::P & A::Sw::STR:: Conceitos Bsicos
Modelagem das Tarefas
Folga (slack) = deadline liberao tempo de execuo
Atraso = MX( 0, concluso deadline)
deadline
Chegada
(arrival)
Liberao
(release)
Incio
(start time)
Concluso
(end time)
tempo de execuo
(execution time)

atraso na liberao
(release jitter)

tempo
Tempo de resposta (response time)
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 105
SE::P & A::Sw::STR:: Conceitos::Modelagem das Tarefas
Tarefas Peridicas
A
1

tempo
P
D
a
1
r
1
s
1
e
1

d
1

A
2

P
D
a
2
=r
2
s
2
e
2
d
2

J
1

Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 106
SE::P & A::Sw::STR:: Conceitos::Modelagem das Tarefas
Tarefas Espordicas
E
1

tempo
minIT
D
a
1
s
1
e
1

d
1

E
2

minIT
D
a
2
=s
2
e
2
d
2

0
evento
1

evento
2

Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 107
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: XVY
A tarefa X interrompida para que Y possa executar e, aps o
trmino de Y, a tarefa X continua a executar

Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 108
Abordagens de
Melhor Esforo
Abordagens com Garantia
em Tempo de Projeto
Executivo
Cclico
Dirigido a
Prioridades
Tcnicas
Adaptativas
Abordagens com
Garantia Dinmica
SE::P & A::Sw::STR
Escalonamento
Mtodos de Escalonamento
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 109
Escalonamento de Processos
Abstrao
Uma mquina para cada processo
Paralelismo real
T11
T12
T0
P1
P2
P3
T22
P3
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 110
Escalonamento de Processos
Realidade
Compartilhamento do tempo
Pseudoparalelismo
T11
T12
T0
T22
T0
1 121 90 51 41
t
70
P1
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 111
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
T11
T12
T0
T22
T0
1 121 90 51 41
t
70
P1
Preempo
Quantum grande:
Diminui nm. de mudanas de contexto e overhead do S.O.
Ruim para processos interativos
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 112
Escalonamento de Processos
Processo
Estados de um processo
Pronto Rodando
Bloqueado
Criao
Trmino
ID do Processo
Estado
Program Counter
Ponteiros da Memria
Contexto (regs.)
I/O Status
Prioridade
Informaes gerais
tempo de CPU
limites, usurio, etc.
Process Control Block - PCB
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 113
Filas de Escalonamento
Long-
term
queue
Short-
term
queue
CPU
I/O
queue
I/O
queue
I/O
queue
I/O
I/O
I/O
Process
request
FIM
High-level
scheduling
Short-term
scheduling
I/O scheduling
Interrupt
Handler
Interrupt
of process
Interrupt
from I/O
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 114
Tipos de Escalonamento
Round-Robin
Uso de uma lista de processos sem prioridade
Escalonamento preemptivo
Simples e justo
Bom para sistemas interativos
Tar. B
Contexto
Tar. C
Contexto
CPU:Running
Tar. A
Contexto
Tar. A
Contexto
Tar. A
Contexto
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 115
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
B C D E F N
CPU
A
FIM
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 116
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 117
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 118
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 119
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 120
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)
d
0
valor
Tempo de
Resposta
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 121
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 122
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
SE::P & A::Sw::STR::Escalonamento
Garantia Dinmica e de Melhor Esforo
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 123
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 124
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 125
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 126
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.
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 127
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 128
SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto
Time-Driven Systems: Exemplo 2
20 50
0 50
10 60 70
C ( = 20)
D ( = 20)
A ( = 20)
Relations: A C
B C
Processor1
Processor2
40 80
20
30
d
A
r
A
d
B
d
C
d
D
r
C
r
B
, r
D
B ( = 20)
c
B c
C
c
D
c
A
20 50
0
10 60 70
B ( = 20)
C ( = 20)
D ( = 20)
A ( = 20)
Relations: C A
B C
Processor1
Processor2
40 80
30
30
d
A
r
A
d
B
d
D
r
C
d
C
r,
B D
c
B
c
C
c
D
c
A
50
r
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 129
SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto
Time-Driven Systems: Exemplo 3
Relations: A B,
B C, C D
Relations: B A,
B C, C D
20 60 70
1
2
95
40 100
40 25
d
C
d
D
r
C
r
A
d
A
r
D
0
r
B
5
d
E
r
E
45 55
D
80
E
60
d
B
C
B
70
1
2
95
45 25
d
C
d
D
r
C
r,
A
r
D
0
r
B
5
d
E
r
E
d
A
45 55 80
60
d
B
25
C
E
D
A
B
75
A
Relations: A B,
B C, C D
Relations: B A,
B C, C D
20 60 70
1
2
95
40 100
40 25
d
C
d
D
r
C
r
A
d
A
r
D
0
r
B
5
d
E
r
E
45 55
D
80
E
60
d
B
C
B
70
1
2
95
45 25
d
C
d
D
r
C
r,
A
r
D
0
r
B
5
d
E
r
E
d
A
45 55 80
60
d
B
25
C
E
D
A
B
75
A
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 130
SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto
Time-Driven Systems: Executor Cclico
Funo 1
Funo 2
Funo 3
Funo 4
Disp. E/S
Disp. E/S
Executor
Cclico
Interrupo
do Timer
Arquitetura de Software
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 131
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 132
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 133
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 134
SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto
Event-Driven Systems
Tarefa 1
Tarefa 2
Tarefa 3
Tarefa 4
Disp. Entrada
Interrupo
do Timer
Recurso 1
Recurso 2
Atuador
Disp. Sada
Sensor
Arquitetura de Software
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 135
SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto
Event-Driven Systems
Anlise de Escalonabilidade
Escalonamento Rate-Monotonic (RMS)
Notao:
Processo: p
i
Perodo: T
i
Tempo de Computao: C
i
Deadline: D
i
Em um conjunto de n processos peridicos independentes
escalonados pelo RMS sempre obedecer o seu deadline se
(condio suficiente mas no necessria):


onde, U(n) o limite de utilizao para n processos.
n U(n) 69%
( ) ( ) 1 2 ...
1
1
1
= s + +
n
n
n
n n U
T
C
T
C
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 136
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

Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 137
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 R
1
= C
1

Demais tarefas sofrem interferncia das tarefas com prioridade
maior

Neste caso, R
i
= C
i
+ I
i


Interferncia mxima a partir do Instante Crtico
Instante onde todas as tarefas so liberadas simultaneamente
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 138
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)

Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 139
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

W
i
x+1
= C
i
+ W
i
x
/T
j
( x C
j
, onde W
i
0
= C
i

Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 140
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 R2 = 6 R3 = 20
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 141
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

Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 142
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 143
Garantia em Projeto :: Event-Driven Systems
Anlise de Escalonabilidade
Sees Crticas e Inverso de Prioridades
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 144
Garantia em Projeto :: Event-Driven Systems
Anlise de Escalonabilidade
Protocolo de Herana de Prioridades
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 145
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
Srgio Cavalcante - CIn/UFPE
Introduo aos Sistemas Embarcados 146
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

Você também pode gostar