Professional Documents
Culture Documents
Sistemas Embarcados
Nilson Brasil Filho
ESAMC - 2014
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
Sistemas Embarcados 2
Introduo aos
Sistemas Embarcados
Sistemas Embarcados 3
Caractersticas
Arquitetura bsica
Mercado
Projeto e Arquitetura
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....
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;
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.
Sistemas Embarcados 7
SE::Viso Geral::Aplicaes
Sistemas Embarcados 8
SE::Viso Geral::
Caractersticas
Funcionalidade nica, executada repetidamente
Entrada/Sada intensivo
Executa tarefas em paralelo
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
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
A/D
CCD preprocessor
JPEG codec
Pixel coprocessor
Microcontroller
Multiplier/Accum.
Display ctrl
DMA controller
Memory controller
D/A
UART
LCD ctrl
Sistemas Embarcados 12
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
5 1000 M
$200 $2000
10K 5 M
$0.5 $100
Sistemas Embarcados 13
Sistemas Embarcados 14
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
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
Sistemas Embarcados 17
SE::Viso Geral::
Mercado Microcontroladores
US$ billions
20
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
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)
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?
Sistemas Embarcados 20
Caractersticas
Metodologia de projeto
Arquitetura
Hardware bsica
Mercado
Software
Projeto e Arquitetura
Sistemas Embarcados 21
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
Sistemas Embarcados 22
Exemplo
Projeto de um controle remoto de televiso (infravermelho)
Controle simples com 3 botes:
Liga/desliga
Seleo de canais
Sistemas Embarcados 23
Exemplo: Restries
Protocolo de comunicao com a televiso
Proprietrio
Uso de ROM fornecida pelo cliente
Comando
Sistemas Embarcados 24
Sistemas Embarcados 25
Sistemas Embarcados 26
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
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
Sistemas Embarcados 28
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
Sistemas Embarcados 29
Alternativas de implementao
Software
Program Convolution
Uso de componentes
de prateleira
(off-the-shelf)
Software
Caractersticas
- baixo custo
- flexibilidade
- desempenho
- tamanho
Sistemas Embarcados 30
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
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.
Sistemas Embarcados 32
Processo de Desenvolvimento
Presente
System specification
Exploration
Proc.
Inf. Spec.
ASIC
Inf. Spec.
ASIC
Inf. Spec.
Memory
Variables.
Cosimulation
Sw synthesis
Proc.
C code
Highlevel synthesis
ASIC
RTL strc.
Memory
ASIC
RTL strc.
Processo de
Desenvolvimento
Behavior1
Behavior2
Behavior3
Y=sqrt(x)
X = x+1
For I in 1,100
m(I)=n(I)+1
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.
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?
Sistemas Embarcados 35
Processadores
Memria
Perifricos
Software
Software
Software
Sistemas Embarcados 36
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
Sistemas Embarcados 37
Tecnologia
Processadores variam na adequao ao problema
Funcionalidade
Desejada
Processador
de uso geral
Processador de
aplicao
especfica
Processador
de propsito
nico
Sistemas Embarcados 38
Memria
Disp. E/S
Vantagens
Pequenos time-to-market e
custo no recorrente
Alta flexibilidade
+*/
Processador
Sistemas Embarcados 39
Processadores p/ desktops
Facilidade para desenvolvimento de software
Necessrio adicionar muitos dispositivos
auxiliares
Conjunto de instrues no ideal
Alto consumo de energia
Sistemas Embarcados 40
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
Sistemas Embarcados 41
Vantagem
Bom compromisso entre flexibilidade, velocidade, tamanho e
potncia
Sistemas Embarcados 42
Sistemas Embarcados 43
43
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.
Sistemas Embarcados 44
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)
Sistemas Embarcados 45
Famlia Nitron
Baseado na famlia HC, com 8 ou 16 pinos
Memria Flash (1,5 K a 4 Kbytes) reprogramvel na
aplicao
Sistemas Embarcados 46
Famlia 8051
Fabricada por vrias companhias como Philips, Atmel,
Dallas Semiconductors, Intel
Preos baixos
Muitas opes
Sistemas Embarcados 47
Famlia 8051
CPU
RAM
EPROM
Address Bus
Data Bus
Nilson Brasil Filho - ESAMC
Sistemas Embarcados 48
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
Sistemas Embarcados 49
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
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
Sistemas Embarcados 50
Vantagens
Projeto sob encomenda pode obter o melhor do tamanho,
potncia, velocidade, mas perde em flexibilidade
Sistemas Embarcados 51
Sistemas Embarcados 52
Sistemas Embarcados 53
Entrada
A
B
C
D
Look-up
Table
clock
Sistemas Embarcados 54
Interconexes
Sistemas Embarcados 55
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
Logic Design
Physical Design
70
Simulation
Schematic entry
Placement /Routing
Hierarchy,
Generators
Logic-Level
Synthesis
High-Level Synthesis
System-Level Synthesis
Sistemas Embarcados 58
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
Sistemas Embarcados 59
1984
1987
1990
1993
1996
1999
2002
150.000.000
transistores
Sistemas Embarcados 60
Produtividade de Projeto
10,000
1,000
100
10
1
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
100,000
1,000
10,000
Transistores/chip 100
10
(milhes)
1
1000
Gap
Capacidade
do CI
10
0.1
0.01
0.001
100
produtividade
Produtividade
(K)
Trans./Homem.Ms
0.1
0.01
Sistemas Embarcados 62
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
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
Sistemas Embarcados 64
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)
Sistemas Embarcados 65
Nomenclatura Bsica
Memria voltil
RAM = Random Acces
Memory
Memria no-voltil
ROM = Read Only Memory
PROM ou OTP =
Programmable ROM ou
One-Time Programmable
EEPROM = Electrically
Erasable PROM
(apagamento byte a byte)
Sistemas Embarcados 66
Sistemas Embarcados 67
Caractersticas Bsicas
Tipo de Memria
Random-Access Mem.
(RAM)
Read-Only Mem.
(ROM)
Programmable ROM
(PROM)
Erasable PROM
(EPROM)
Electrically EPROM
(EEPROM)
Flash EPROM
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
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
Sistemas Embarcados 69
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
Sistemas Embarcados 70
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
Controlador de
Teclado
Cdigo da
Tecla
Sistemas Embarcados 71
Interfaces Seriais
Comunicao em que cada bit enviado em
seqncia por um nico fio
Data Bus
Write
Registrador
de
Deslocamento
Clock
Sistemas Embarcados 72
Interfaces Seriais
Exemplo de Comunicao
Data Bus
Receptor
Read
Registrador
de
Deslocamento Clock
Transmissor
Data Bus
Write
Registrador
de
Deslocamento Clock
Sistemas Embarcados 73
RS232
RS232: Recommended Standard 232 da EIA
Comunicaes ponto a ponto
Usado por modems, mouses e algumas impressoras
Na prtica:
pode-se transmitir at cerca de 200kbps
atinge 100m.
Nilson Brasil Filho - ESAMC
Sistemas Embarcados 74
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
Sistemas Embarcados 75
Sistemas Embarcados 76
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
Sistemas Embarcados 77
Bluetooth
ondas de rdio
comunicao de voz e dados
Sistemas Embarcados 78
vrios tamanhos
com ou sem iluminao (backlight)
interface, em geral, paralela.
Sistemas Embarcados 79
Transdutores
Capazes de converter tipos de energia
Exemplo: microfones de carvo
diafragma
+ corrente
Partculas de carvo
Nilson Brasil Filho - ESAMC
Sistemas Embarcados 80
Transdutores
Alto-falante
Bobina
corrente
im
Diafragma
Sistemas Embarcados 81
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
Sistemas Embarcados 82
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)
Sistemas Embarcados 83
Conversores Analgico/Digitais
3.0V
2.5V
2.0V
1.5V
1.0V
0.5V
0V
Relao de Valores
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
Converso
Digital Analgico
Sistemas Embarcados 84
Perodo
Duty cycle
30%
70%
Sistemas Embarcados 85
pwm
clk
Controla a tenso
mdia de um
pwm
dispositivo externo
(ex: motor, lmpada) clk
Mais simples que
conversor DC-DC
ou A/D
pwm
clk
Sistemas Embarcados 86
Mola
Im
permanente
Sistemas Embarcados 87
Motores de Passo
Tipos de motores que giram passo a passo, girando
alguns graus por vez
Sistemas Embarcados 88
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
Software
Sistemas Embarcados 90
Linguagens Empregadas
Segundo uma pesquisa recente da www.8052.com
49% assembly
33%
5%
Basic
3%
Pascal
9%
outras linguagens
Sistemas Embarcados 91
Sistemas Embarcados 92
Linguagens imperativas
C e Assembly
Excelente controle do hardware e do tempo de execuo
Alta performance
Dificuldades no desenvolvimento
Assembly:
Difcil modularizao e reutilizao
Sistemas Embarcados 93
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)
Sistemas Embarcados 94
Aspectos temporais
No esto limitados a uma questo de desempenho
Esto diretamente associados com a funcionalidade
Sistemas Embarcados 95
STR e o Ambiente
Ambiente
Estmulos
Sensores
STR
Respostas
Atuadores
Sistemas Embarcados 96
STR e o Ambiente
Fluxo de controle definido pelo ambiente
Tarefas ativadas por estmulos do ambiente
STR geralmente no tem como limitar estes
estmulos
Sistemas Embarcados 97
reas de Pesquisa
Escalonamento (mais estudado)
Modelos e linguagens de programao
Protocolos de comunicao
Arquitetura de computadores
Metodologias de desenvolvimento
...
Sistemas Embarcados 98
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
Sistemas Embarcados 99
Criticidade
Sistema de tempo real crtico (Hard real-time system)
Todas as tarefas tm Hard Deadline
Perda do deadline pode ter conseqncias catastrficas
Criticidade
Deadline Firm
Perda do deadline no tem conseqncias catastrficas
No existe valor em terminar a tarefa aps o deadline
Tarefas Espordicas
conhecido o intervalo mnimo entre execues (inter-arrival
time)
Tarefas Peridicas
Devem ser executadas em intervalos regulares de tempo
atraso na liberao
(release jitter)
Incio
(start time)
Concluso
(end time)
deadline
tempo
tempo de execuo
(execution time)
Tarefas Peridicas
D
J1
a1 r 1
A1
s1
A2
e1 d1 a2=r2 s2
e2
d2
tempo
Tarefas Espordicas
evento2
evento1
minIT
minIT
E1
0
a1
s1
E2
e1 d1
a2=s2
e2
d2
tempo
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
Escalonamento
Mtodos de Escalonamento
Executivo
Cclico
Dirigido a
Prioridades
Abordagens com
Garantia Dinmica
Abordagens de
Melhor Esforo
Tcnicas
Adaptativas
Escalonamento de Processos
Abstrao
Uma mquina para cada processo
Paralelismo real
mP1
T11
T12
mP2
mP3
T0
mP3
T22
Escalonamento de Processos
Realidade
Compartilhamento do tempo
Pseudoparalelismo
T12
mP1
T11
T0
41 51
T22
70
T0
90
121
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
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.
Filas de Escalonamento
Short-term
scheduling
Longterm
queue
Process
request
High-level
scheduling
Interrupt
of process
Interrupt
from I/O
Interrupt
Handler
Shortterm
queue
CPU
I/O
I/O
queue
I/O
I/O
queue
I/O
I/O
queue
FIM
I/O scheduling
Tipos de Escalonamento
Round-Robin
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
Escalonamento no-preemptivo
Simples e justo
Bom para sistemas em batch
CPU
A
FIM
Nilson Brasil Filho - ESAMC
Tipos de Escalonamento
Exemplo
Trs processos
Cada um consome 1 hora de CPU
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
Tempo de
Resposta
Exemplos:
Ignorar bits menos significativos de cada pixel
Trabalhar com amostras de udio menos precisas
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
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
Time-Driven Systems
Executor Cclico
Tarefas so arranjadas numa lista que define a ordem
e tempo de execuo de cada uma
10ms
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
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
m1
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
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
Funo 2
Funo 3
Disp. E/S
Disp. E/S
Funo 4
Interrupo
do Timer
Nilson Brasil Filho - ESAMC
Event-Driven Systems
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)
Event-Driven Systems
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
Event-Driven Systems
Anlise de Escalonabilidade
Escalonamento Rate-Monotonic (RMS)
Notao:
Processo: pi Perodo: Ti
Tempo de Computao: Ci
Deadline: Di
C1
T1
...
Cn
Tn
U n n 2 1
1
n
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
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
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 ?
Anlise de Escalonabilidade
O tempo mximo de resposta de pi Ri = Ci + Ii
Ri = Ci + Ri/Tj x Cj
Anlise de Escalonabilidade
Exemplo
p1
p2
p3
Resposta:
R1 = 3
Nilson Brasil Filho - ESAMC
R2 = 6
R3 = 20
Sistemas Embarcados 140
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
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
Anlise de Escalonabilidade
Sees Crticas e Inverso de Prioridades
Anlise de Escalonabilidade
Protocolo de Herana de Prioridades
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