![Page 1: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/1.jpg)
Sistemas Embarcados de Tempo Real
Grupo deEngenhariada Computação
Sérgio Cavalcante
![Page 2: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/2.jpg)
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
![Page 3: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/3.jpg)
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
![Page 4: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/4.jpg)
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
![Page 5: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/5.jpg)
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
![Page 6: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/6.jpg)
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
![Page 7: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/7.jpg)
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
![Page 8: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/8.jpg)
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
![Page 9: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/9.jpg)
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
![Page 10: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/10.jpg)
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
![Page 11: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/11.jpg)
Especificação de STRsModelos Orientados a Estados FSMs FSMs hierárquicas (Statecharts) Redes de Petri
![Page 12: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/12.jpg)
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
![Page 13: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/13.jpg)
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
![Page 14: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/14.jpg)
H
C D
f/g
h
E F
g
h
A B
e/f
h
Modelos Orientados a EstadosStateCharts
![Page 15: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/15.jpg)
Especificação de STRsModelos Orientados a Atividades Data-flow graph Fluxograma
![Page 16: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/16.jpg)
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 + -
*+
![Page 17: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/17.jpg)
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
![Page 18: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/18.jpg)
Especificação de STRsModelos Orientados a Dados Entidade - Relacionamento
– ênfase nos atributos e inter-relacionamento dos dados
![Page 19: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/19.jpg)
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
![Page 20: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/20.jpg)
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
![Page 21: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/21.jpg)
Modelos HeterogêneosRedes de Petri Temp. de Alto Nível
![Page 22: Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante](https://reader031.vdocuments.com.br/reader031/viewer/2022033023/5706384b1a28abb8238f5dee/html5/thumbnails/22.jpg)
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