Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas Embarcados
Sergio Cavalcante
Centro de Informtica UFPE
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
Arquitetura bsica
Mercado
Projeto e Arquitetura
SE::Viso Geral::
Sistemas Embarcados
So sistemas computacionais que esto inseridos em
mquinas ou em sistemas maiores
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;
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.
SE::Viso Geral::Aplicaes
SE::Viso Geral::
Caractersticas
Funcionalidade nica, executada repetidamente
Entrada/Sada intensivo
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
SE::Viso Geral::
Arquitetura Bsica
Arquitetura de Hardware
Forte comunicao com o ambiente
Arquitetura de Software
Tratamento rpido de interrupo
Sistemas operacionais de tempo real
Softwares eficientes em tamanho e desempenho
SE::Viso Geral::
Arquitetura de Hardware
Eventos
ASIC
Cdigo
DSP
Sensores
Srgio Cavalcante - CIn/UFPE
DSP
ASIP
Cdigo
uP
A/D
uP
Mem
uC
RTOS
D/A
Eventos
Atuadores
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
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
SE::Viso Geral::
Mercado
Domiciliar:
35 sistemas por residncia em 1994
240 sistemas em 2000
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
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
SE::Viso Geral::
Time-to-market
Reduo do time-to-market
Maior competitividade de mercado
Lucros (dlares)
Atraso
Concepo Time-todo sistema market
Srgio Cavalcante - CIn/UFPE
Tempo
Tempo de vida
Introduo aos 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?
Caractersticas
Metodologia de projeto
Arquitetura bsica
Hardware
Mercado
Software
Projeto e 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
Exemplo
Exemplo: Restries
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
Requisitos do cliente
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
Srgio Cavalcante - CIn/UFPE
Alternativas de implementao
Software
Program Convolution
Uso de componentes
de prateleira
(off-the-shelf)
Software
Caractersticas
- baixo custo
- flexibilidade
- desempenho
- tamanho
Introduo aos 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
Srgio Cavalcante - CIn/UFPE
Processo de Desenvolvimento
Passado
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.
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.
ASIC
Inf. Spec.
Sw synthesis
Proc.
C code
ASIC
Inf. Spec.
Memory
Variables.
Highlevel synthesis
ASIC
RTL strc.
Memory
ASIC
RTL strc.
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?
Processadores
Memria
Perifricos
Software
Software
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
Tecnologia
Funcionalidade
Desejada
Processador
de uso geral
Processador de
aplicao
especfica
Processador
de propsito
nico
Introduo aos Sistemas Embarcados 38
Memria
Disp. E/S
Vantagens
Pequenos time-to-market e
custo no recorrente
Alta flexibilidade
+*/
Processador
Processadores p/ desktops
Facilidade para desenvolvimento de software
Necessrio adicionar muitos dispositivos
auxiliares
Conjunto de instrues no ideal
Alto consumo de energia
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
Vantagem
Bom compromisso entre flexibilidade, velocidade, tamanho
e potncia
Microcontroladores
Famlia Nitron
Famlia Nitron
Famlia 8051
Preos baixos
Muitas opes
Famlia 8051
CPU
RAM
EPROM
Address Bus
Data Bus
Srgio Cavalcante - CIn/UFPE
Outras Famlias
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
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
Sada
X
Entrada
A
B
C
D
Look-up
Table
clock
Blocos de I/O
Interconexes
FPGA
Volume de Produo
Srgio Cavalcante - CIn/UFPE
Especificao
Sntese
algortmica
lgica
de
layout
Inicialnvel)
(alto
Prototipao
Arquitetura Controle
Comp.
Alg.
RTL
Processamento
Arquitetura
Estr.
Geom.
Estrutura
Layout
ASIC
Srgio Cavalcante - CIn/UFPE
+*/
+*/
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
Logic Design
Physical Design
70
Simulation
Schematic entry
Placement /Routing
Hierarchy,
Generators
Logic-Level
Synthesis
High-Level Synthesis
System-Level Synthesis
Lei de Moore
Transistores por
chip
(em milhes)
100
10
1
0.1
Note:
logarithmic scale
0.01
0.001
1984
10.000
transistores
1987
1990
1993
1996
1999
2002
150.000.000
transistores
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
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
16
50000
15
16
18
19
40000
23
24
30000
Durao em meses
20000
43
10000
Designers
0
Srgio Cavalcante - CIn/UFPE
10
20
30
40
System-On-A-Chip
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)
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)
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
Perifricos
Interfaces Seriais
Transdutores
Conversores Digital-Analgicos e Analgico-Digitais
Modulao de largura de fase - PWM
Motores de passo
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
Teclado
Tecla
apertada
M1
M2
M3
M4
4
buffer
Cdigo da
Tecla
Controlador de
Teclado Introduo aos Sistemas Embarcados 71
Interfaces Seriais
Comunicao em que cada bit enviado em seqncia
por um nico fio
Data Bus
Write
Registrador
de
Deslocamento
Clock
Introduo aos Sistemas Embarcados 72
Interfaces Seriais
Exemplo de Comunicao
Data Bus
Receptor
Read
Registrador
de
Deslocamento Clock
Transmissor
Data Bus
Write
Registrador
de
Deslocamento Clock
RS232
Na prtica:
pode-se transmitir at cerca de 200kbps
atinge 100m.
Srgio Cavalcante - CIn/UFPE
RS422 e RS485
Infravermelho
IrDA-Data
ponto-a-ponto
cone de incidncia estreito (30)
distncia mxima de 1 metro
velocidades de 9600 bps a 16 Mbps.
Bluetooth
ondas de rdio
vrios tamanhos
com ou sem iluminao (backlight)
Transdutores
diafragma
+ corrente
Partculas de carvo
Srgio Cavalcante - CIn/UFPE
Transdutores
Alto-falante
Bobina
corrente
im
Diafragma
Transdutores
Materiais especiais
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)
Conversores Analgico/Digitais
3.0V
2.5V
2.0V
1.5V
1.0V
0.5V
0V
Relao de Valores
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
Perodo
Duty cycle
30%
70%
pwm
clk
Controla a tenso
pwm
mdia de um
dispositivo externo clk
(ex: motor, lmpada)
Mais simples que
conversor DC-DC
ou A/D
pwm
clk
Mola
Im
permanente
Motores de Passo
Motores de Passo
Sequencia A
1
+
2
3
4
+
5
+
B A B
+ - + + - + +
- - +
+ - -
+V
1K
Q1
Entrada
Driver de
potncia
Saida
Q2
A
A
B
B
1K
Projeto e Arquitetura
Hardware
Processadores
Memria
Linguagens
Perifricos
Sistemas operacionais de tempo real
Software
Software
Linguagens Empregadas
Segundo uma pesquisa recente da www.8052.com
49%
assembly
33%
5%
Basic
3%
Pascal
9%
outras 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
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)
Aspectos temporais
No esto limitados a uma questo de desempenho
Esto diretamente associados com a funcionalidade
STR e o Ambiente
Ambiente
Estmulos
Sensores
STR
Respostas
Atuadores
STR e o Ambiente
Fluxo de controle definido pelo ambiente
Tarefas ativadas por estmulos do ambiente
STR geralmente no tem como limitar estes
estmulos
reas de Pesquisa
Escalonamento (mais estudado)
Modelos e linguagens de programao
Protocolos de comunicao
Arquitetura de computadores
Metodologias de desenvolvimento
...
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
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
Exemplo: ler o valor da temperatura
Tarefas Espordicas
conhecido o intervalo mnimo entre execues (inter-arrival
time)
Tarefas Peridicas
Devem ser executadas em intervalos regulares de tempo
Incio
(start time)
atraso na liberao
(release jitter)
Concluso
(end time)
deadline
tempo
tempo de execuo
(execution time)
Tarefas Peridicas
D
J1
a1 r1
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
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
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
Srgio Cavalcante - CIn/UFPE
Tar. B
Contexto
Tar. C
Contexto
Tar. A
Contexto
Tipos de Escalonamento
CPU
A
FIM
Srgio Cavalcante - CIn/UFPE
Tipos de Escalonamento
Exemplo
Trs processos
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
Tempo de
Resposta
Desvantagens
Necessrio conhecer exatamente a carga
Necessrio reservar recursos para o pior caso
Difcil determinar o pior caso em solues off- the- shelf
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
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.
10ms
rCC
r
, r
Br D
D
dC
dDD
( cD = 20)
( cB B
= 20)
C 20)
( cC D
= 20)
( cD D
= 20)
( cB =
C ( cC B
= 20)
Processor1
Processor1
10
10
20
20
rA
Processor2
dBB
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
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
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
Executor
Cclico
Funo 2
Funo 3
Disp. E/S
Disp. E/S
Funo 4
Interrupo
do Timer
Srgio Cavalcante - CIn/UFPE
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
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
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
Srgio Cavalcante - CIn/UFPE
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
n U(n) 69%
Srgio Cavalcante - CIn/UFPE
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
Interferncia mxima a partir do Instante Crtico
Instante onde todas as tarefas so liberadas simultaneamente
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
Srgio Cavalcante - CIn/UFPE
R2 = 6
R3 = 20
Introduo aos Sistemas Embarcados 140
Anlise de Escalonabilidade
Suponha uma tarefa espordica liberada por evento
externo
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
Ri = Ji + Wi
Wi = Ci + Bi + (Wi+Jj)/Tj x Cj
Srgio Cavalcante - CIn/UFPE
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