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

Post on 07-Apr-2016

225 views 0 download

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