Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante.

22
Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante

Transcript of Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante.

Page 1: 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

Page 2: Sistemas Embarcados de Tempo Real Grupo de Engenharia da 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

Page 3: Sistemas Embarcados de Tempo Real Grupo de Engenharia da 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 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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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