Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante.
-
Upload
guilherme-natal-desconhecida -
Category
Documents
-
view
225 -
download
0
Transcript of Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante.
Sistemas Embarcados de Tempo Real
Grupo deEngenhariada Computação
Sérgio Cavalcante
Sistemas Dedicados de Tempo Real© 1988 Copyright Sérgio Cavalcante GRECO-DI/UFPE
Sistemas de Tempo Real
Conceitos Básicos Definição
– Sistemas em que a corretude também depende do tempo– Mito: computação em tempo real = computação rápida– Nem sempre é um sistema Fair
Tarefa de tempo real– Tarefa executável caracterizada pelo menos pelo WCET e uma restrição
temporal Job: uma instância de uma tarefa Deadline
– tempo máximo para finalizar o job– hard, soft, firm
Release time– tempo em que um job é ativado
Sistemas Dedicados de Tempo Real© 1988 Copyright Sérgio Cavalcante GRECO-DI/UFPE
Sistemas de Tempo Real
Conceitos Básicos Execution time Worst-case execution time Utilização do processador
Sistemas Dedicados de Tempo Real© 1988 Copyright Sérgio Cavalcante GRECO-DI/UFPE
Tarefas de Tempo Real - STR Tarefas periódicas
– Ativadas periodicamente Uma exec. por intervalo Uma exec. a cada T unidades de tempo Jitter = 0
– Deadline geralmente igual ao período Tarefas Síncronas
– Conjunto de tarefas periódicas onde todas as primeiras instâncias sâo ativadas ao mesmo tempo
Tarefas assíncronas
Sistemas Dedicados de Tempo Real© 1988 Copyright Sérgio Cavalcante GRECO-DI/UFPE
Tarefas de Tempo Real - STR Tarefas aperiódicas
– Ativadas irregularmente numa taxa desconhecida e possivelmente ilimitada
Tarefas esporádicas– Ativadas irregularmente numa taxa limitada– Minimum interarrival time
Sistemas Dedicados de Tempo Real© 1988 Copyright Sérgio Cavalcante GRECO-DI/UFPE
Sistemas de Tempo Real - STR Event-triggered Time-triggered Métodos de implementação
– Interrupção– Exceção– Polling
Fontes de não-determinismo:– Memória virtual– Memória cache– Alocação dinâmica de memória– Garbage collection– Recursão
Sistemas Dedicados de Tempo Real© 1988 Copyright Sérgio Cavalcante GRECO-DI/UFPE
Sistemas de Tempo Real - STR Estático
– Conhecimento total do conjunto de tarefas e suas restrições.
Dinâmico– Conhecimento total do conjunto de tarefas ATUAL, mas
novas tarefas podem chegar Off-line scheduling and/or analysis
– Escalonamentos estáticos– Prioridades estáticas
Sistemas Dedicados de Tempo Real© 1988 Copyright Sérgio Cavalcante GRECO-DI/UFPE
Sistemas de Tempo Real - STR Classes de abordagens de algoritmos
– Estáticos baseados em tabelas– Estáticos preemptivos baseados em prioridades– Baseados em planejamento dinâmico– Dinâmicos best-effort
Sistemas de Tempo Real - STREspecificação de STRs
Características desejadas nos modelos– Especificação temporal– Especificação funcional – Executabilidade– Tratamento de exceções e interrupções– não-determinismo– Facilidade de uso
Especificação de STRsTaxonomia de Modelos
Orientado a estados Orientado a atividades Orientado a estrutura Orientado a dados Heterogêneos
Diferentes modelosDiferentes modelosDiferentes fases do projetoDiferentes fases do projetoDiferentes tipos de projetoDiferentes tipos de projeto
Especificação de STRsModelos Orientados a Estados FSMs FSMs hierárquicas (Statecharts) Redes de Petri
Modelos de EspecificaçãoOrientado a Estados
Ênfase aos estados e eventos Exemplos:
– Máquinas de Estados Finitos– Redes de Petri
t/S4
A B
C
x/S1
y/S2
x/-t/S3
p1 p2
p3
2 3
2T1
Modelos Orientados a EstadosMáquinas de Estados Finitos Extensões: StateCharts
t/S4
A B
C
x/S1
y/S2
x/-t/S3D E
x/S5
y/S2
D E
u/S4
t/S9
E/-
d/S11
– Modularidade / Hierarquia– Paralelismo– Exceção– Complexidade
– Comunicação broadcast => reação em cadeia
H
C D
f/g
h
E F
g
h
A B
e/f
h
Modelos Orientados a EstadosStateCharts
Especificação de STRsModelos Orientados a Atividades Data-flow graph Fluxograma
Especificação de STRsModelos Orientados a Atividades
Ênfase nas atividades e sequências Exemplos:– Grafos de fluxo de dados e de controle
(muito usados em co-design)
+
x(i-3)
*
k3
+
x(i-2)
*
k2
+
x(i-1)
*
k1
+
x(i)
*
k0 + -
*+
Especificação de STRsModelos Orientados a Estrutura Diagramas de conexão de componentes Ênfase nas estruturas e conexões
1234567891011121314151617181920
4039383736353433323130292827262524232221
12345678910111213141516
4039383736353433
17181920 323130292827262524232221
Chip 1
4847464544434241
64636261 495051525354555657585960
17181920
323130292827262524232221
RAM
12345678910111213141516
uP
Especificação de STRsModelos Orientados a Dados Entidade - Relacionamento
– ênfase nos atributos e inter-relacionamento dos dados
Especificação de STRsModelos Heterogêneos Control-dataflow graph SpecCharts (Gajski) Redes de Petri de Alto Nível Modelo orientado a objetos
– Modularidade– Hierarquia– Dynamic bindingDynamic binding– Alocação dinâmicaAlocação dinâmica
Modelos Heterogêneos SpecCharts
t/S4
A B
C
x/S1
y/S2
x/-t/S3D E
u/S4
t/S9
E/-
d/S11
For i=1 to 100 ksfhsdk asflk lkfjsl ljlkjsdfend forif a= bthen a = 1else a = 2
Modelos HeterogêneosRedes de Petri Temp. de Alto Nível
Especificação de STRsModelos Heterogêneos Linguagens de programação
– textual– imperativa X declarativa– sem noção explícita de estados– suportam vários modelos– especificação executável– integração com ferramentas de CAD