introdu o aos sistemas embarcados n.
Download
Skip this Video
Download Presentation
Introdução aos Sistemas Embarcados

Loading in 2 Seconds...

play fullscreen
1 / 146

Introdução aos Sistemas Embarcados - PowerPoint PPT Presentation


  • 100 Views
  • Uploaded on

Introdução aos Sistemas Embarcados. Sergio Cavalcante Centro de Informática – UFPE. Programa. Introdução aos sistemas embarcados. O que são? Arquitetura básica de um S.E. Tecnologias empregadas Metodologias de projeto Arquiteturas Padrão Sistemas operacionais de tempo real.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Introdução aos Sistemas Embarcados' - libba


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
introdu o aos sistemas embarcados

Introdução aos Sistemas Embarcados

Sergio CavalcanteCentro de Informática – UFPE

programa
Programa
  • Introdução aos sistemas embarcados

O que são?

Arquitetura básica de um S.E.

Tecnologias empregadas

Metodologias de projeto

Arquiteturas Padrão

Sistemas operacionais de tempo real

intro a sistemas embarcados
Intro. a Sistemas Embarcados
  • Visão geral
    • Áreas de aplicação
    • Características
    • Arquitetura básica
    • Mercado
  • Projeto e Arquitetura
  • Visão geral
  • Projeto e Arquitetura
se vis o geral sistemas embarcados
SE::Visão Geral::Sistemas Embarcados
  • São sistemas computacionais que estão inseridos em máquinas ou em sistemas maiores
  • Embutidos em equipamentos eletrônicos:
    • telefones celulares, vídeo-cassete, forno microondas,carros, automação de escritório....
  • Encontrado em quase todas as aplicações que necessitam de algum tipo de controle....
se vis o geral reas de aplica o
SE::Visão Geral::Áreas de Aplicação
  • produtos de consumo:
    • telefones celulares, pagers, câmaras digitais, vídeo-cassete, vídeo games portáteis, calculadores, etc;
  • eletrodomésticos:
    • forno de microondas, secretárias eletrônicas, equipamentos de segurança, termostatos, máquinas de lavar e sistemas de iluminação;
se vis o geral reas de aplica o1
SE::Visão Geral::Áreas de Aplicação
  • Automação de escritório:
    • máquinas de fax, copiadoras, impressoras e scanners;
  • Automóveis:
    • controle de transmissão, injeção eletrônica, suspensão ativa, freio ABS.
se vis o geral aplica es autom veis volvo s80
SE::Visão Geral::AplicaçõesAutomóveis - Volvo S80
  • 2 Redes CAN
      • 250Kbps
      • 125Kbps
  • 4 Redes baixa velocidade
      • 10,4Kbps
  • 18 ECUs
se vis o geral caracter sticas
SE::Visão Geral::Características
  • Funcionalidade única, executada repetidamente
  • Entrada/Saída intensivo
  • Executa tarefas em paralelo
  • Restrições de projeto mais rígidas:
    • Custo, tamanho, peso, desempenho, potência dissipada, etc.
  • Tempo real:
    • O tempo para fornecer resultados é determinado pelo tempo que o ambiente pode esperar.
    • Sistemas em que têm aspectos temporais na especificação.
  • Sistemas reativos
    • Reagem continuamente a estímulos externos
se vis o geral arquitetura b sica
SE::Visão Geral::Arquitetura Básica
  • Arquitetura de Hardware
    • Forte comunicação com o ambiente
    • Forte restrição de recursos, tamanho, potência, peso...
  • Arquitetura de Software
    • Tratamento rápido de interrupção
    • Sistemas operacionais de tempo real
    • Softwares eficientes em tamanho e desempenho
se vis o geral arquitetura de hardware
SE::Visão Geral::Arquitetura de Hardware

ASIC

DSP

ASIP

uC

Mem

uP

Sensores

Atuadores

A/D

D/A

Eventos

Código

DSP

RTOS

Código

uP

Eventos

se vis o geral arquitetura de software exemplo mudan a de contexto
SE::Visão Geral::Arquitetura de SoftwareExemplo: Mudança de Contexto
  • MontaVista Linux Kernel 2.4.17
  • Pior caso 436us (vs. 1743us)
  • 99.9% < 195us (vs. 1420us)

Fonte: Bill Weinberg, “Linux and XScale for Wireless Consumer Electronics Devices”, IDF’Fall03

se vis o geral mercado
SE::Visão Geral::Mercado
  • Crescimento das aplicações
    • Automóvel:
      • 1995: U$ 1237
      • 2000: U$ 2126
      • 2002: 15% a 30% do custo de um veículo é com eletrônica
    • Domiciliar:
      • 35 sistemas por residência em 1994
      • 240 sistemas em 2000
se vis o geral mercado1
SE::Visão Geral::Mercado
  • Crescimento de vendas
    • U$:
      • ASIC´s + embed. Micros: U$ 60 B.
      • PC´s: 34 B.
    • Unidades:
      • Embed. Micros: 3 Billion
      • PC micros: 100 million
se vis o geral time to market
SE::Visão Geral::Time-to-market

Lucros (dólares)

Market rise

Market fall

Atraso

Concepção

do sistema

Time-to-

market

Tempo

  • Redução do “time-to-market”
    • Maior competitividade de mercado
    • Redução na janela de mercado dos produtos

Tempo de vida

exame 1
Exame 1
  • O que são Sistemas Embarcados?
  • O que é um Sistema de Tempo Real?
  • O que são Sistemas Reativos?
  • Você diria que todo S.E. é também um Sistema de Tempo Real?E é um Sistema Reativo?
  • É fundamental a execução de tarefas em paralelo em um S.E.? Porquê?
  • Como você compara o mercado de S.E. em relação ao de desktops?
intro a sistemas embarcados1
Intro. a Sistemas Embarcados
  • Visão geral
  • Projeto e Arquitetura
  • Visão geral
  • Projeto e Arquitetura
    • Metodologia de projeto
    • Hardware
    • Software
  • Visão geral
    • Áreas de aplicação
    • Características
    • Arquitetura básica
    • Mercado
  • Projeto e Arquitetura
se projeto arquitetura metodologia de projeto
SE::Projeto & ArquiteturaMetodologia de Projeto
  • Principais diferenças entre o projeto de S.E. e projeto de aplicações para desktops
    • Requisitos não-funcionais são fundamentais: preço, tamanho, peso, potência,...
    • Flexibilidade: plataforma não definida, vários tipos de S.O., controle total da máquina.
    • Grande preocupação com previsibilidade no uso de recursos
    • Sistema muito restrito: eficiência no uso de recursos é fundamental
se p a metodologia de projeto exemplo
SE::P & A::Metodologia de Projeto Exemplo
  • Projeto de um controle remoto de televisão (infra-vermelho)
    • Controle simples com 3 botões:
      • Liga/desliga
      • Seleção de canais
    • Opera com bateria
    • Deve ser leve
    • Controla a televisão por infravermelho
se p a metodologia de projeto exemplo restri es
SE::P & A::Metodologia de Projeto Exemplo: Restrições
  • Protocolo de comunicação com a televisão
    • Proprietário
    • Uso de ROM fornecida pelo cliente
  • Satisfazer as especificações temporais fornecidas pelo cliente:
    • Código de assinatura
    • Comando
se p a metodologia de projeto exemplo requisitos do cliente
SE::P & A::Metodologia de Projeto Exemplo: Requisitos do cliente
  • Funcionamento a Bateria:
    • 2 baterias AAA
    • Duração: 10.000 pressões nos botões
  • Características do produto final:
    • Peso < 100 gramas
    • Dimensão: 10cm X 5cm X 1.5 cm
    • Material: plástico de alta densidade
    • Botão liga/desliga: vermelho e circular
    • Botão canais: preto e quadrado
    • Deve ser robusto o suficiente para cair de 1,5 metros sem danificar
se p a metodologia de projeto exemplo requisitos do cliente1
SE::P & A::Metodologia de Projeto Exemplo: Requisitos do cliente
  • Características do produto final:
    • Sinais de infravermelho transmitidos conforme especificação do cliente
    • Controle deve funcionar a 10 metros da TV quando posicionado até 45 graus da TV e 20 graus do sensor
    • O sinal de infravermelho deve ser transmitido até 20 mseg após botão pressionado
se p a metodologia de projeto exemplo defini o do hw e sw
SE::P & A::Metodologia de Projeto Exemplo: Definição do Hw e Sw
  • Processador:
    • Microcontrolador de 8 bits
  • Sistema Operacional:
    • Não há necessidade
  • Linguagem de programação:
    • C
  • Bibliotecas de software:
    • Nenhuma
  • Componentes de Hardware:
    • Botões
    • LED infravermelho
se p a metodologia de projeto requisitos do cliente
SE::P & A::Metodologia de Projeto Requisitos do cliente
  • Como o sistema vai satisfazer requerimentos do usuário dadas as restrições de projeto
    • Revisar a análise
    • Especificar componentes de hardware
    • Definir Interface de hardware
    • Especificar subsistemas de software
    • Definir interfaces de software
    • Especificar processos de início e final
    • Especificar tratamento de erros
    • Verificar resultados da etapa de design
se p a metodologia de projeto alternativas de implementa o
SE::P & A::Metodologia de Projeto Alternativas de implementação

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

Características

- alto desempenho

- pequeno tamanho

- alto custo

- pouco flexível

Hardware

Algoritmo

Layout

se p a metodologia de projeto alternativas de implementa o1
SE::P & A::Metodologia de Projeto Alternativas de implementação

Software

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)

Uso de componentes

de prateleira

(off-the-shelf)

Características

- baixo custo

- flexibilidade

- desempenho

- tamanho

Software

se p a metodologia de projeto alternativas de implementa o2
SE::P & A::Metodologia de Projeto Alternativas de implementação

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

Hardware/Software

Microprocessador

Circuitos

específicos

se p a metodologia de projeto processo de desenvolvimento
SE::P & A::Metodologia de Projeto Processo de Desenvolvimento

Alto

Custo

Passado

System specification

Exploration

ASIC

Inf. Spec.

ASIC

Inf. Spec.

Proc.

Inf. Spec.

Sw design

Hw design

Proc.

C code

ASIC

RTL strc.

ASIC

RTL strc.

Implement, Integrate and test

se p a metodologia de projeto processo de desenvolvimento1
SE::P & A::Metodologia de Projeto Processo de Desenvolvimento

Presente

System specification

Cosimulation

Exploration

Proc.

Inf. Spec.

ASIC

Inf. Spec.

ASIC

Inf. Spec.

Memory

Variables.

Sw synthesis Highlevel synthesis

Proc.

C code

ASIC

RTL strc.

Memory

ASIC

RTL strc.

Compilation Logic synthesis Physical design

se p a metodologia de projeto processo de desenvolvimento2
SE::P & A::Metodologia de Projeto Processo de Desenvolvimento

Proc.

Inf. Spec.

Proc.

C code

Behavior2

Y=sqrt(x)

X = x+1

Behavior3

For I in 1,100

m(I)=n(I)+1

Behavior1

Presente/Futuro

Cosimulation

Allocation Partitioning Estimation

Memories Interfacing Arbitration Generation

ASIC

Inf. Spec.

ASIC

Inf. Spec.

Memory

Variables.

Hw/SwCo-design

Sw synthesis Highlevel synthesis

ASIC

RTL strc.

Memory

ASIC

RTL strc.

Compilation Logic synthesis Physical design

exame 2
Exame 2
  • O que diferencia o projeto de S.E. do projeto de aplicativos para computadores?
  • Mencione pelo menos 5 restrições 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?
intro a sistemas embarcados2
Intro. a Sistemas Embarcados
  • Visão geral
  • Projeto e Arquitetura
    • Metodologia de projeto
    • Hardware
    • Software
  • Visão geral
  • Projeto e Arquitetura
    • Metodologia de projeto
    • Hardware
    • Software
  • Visão geral
  • Projeto e Arquitetura
    • Metodologia de projeto
    • Hardware
      • Processadores
      • Memória
      • Periféricos
    • Software
se projeto arquitetura hardware dispositivos processadores
SE::Projeto & Arquitetura::HardwareDispositivos Processadores
  • Transformam, movem dados, tomam decisões e/ou executam ações.
  • Não precisam ser programáveis
  • Tipos:
    • Processadores de uso geral
    • Processadores de Aplicação Específica
    • Processadores de propósito único
se p a hw processadores tecnologia
SE::P & A::Hw::ProcessadoresTecnologia

Processadores variam na adequação ao problema

FuncionalidadeDesejada

Processador de uso geral

Processador de aplicação específica

Processador de propósito único

se p a hw processadores processadores de uso geral
SE::P & A::Hw::ProcessadoresProcessadores de uso geral

+

+ * /

  • Programados via software
  • Memória para dados e programa
  • Vantagens
    • Pequenos time-to-market e custo não recorrente
    • Alta flexibilidade
  • Ex: PowerPC, Pentium, Z80

Disp. E/S

Memória

Processador

se p a hw processadores de uso geral processadores p desktops
SE::P & A::Hw::Processadores de Uso GeralProcessadores p/ desktops
  • Facilidade para desenvolvimento de software
  • Necessário adicionar muitos dispositivos auxiliares
  • Conjunto de instruções não ideal
  • Alto consumo de energia
se p a hw processadores de uso geral processadores embarcados
SE::P & A::Hw::Processadores de Uso GeralProcessadores Embarcados
  • Proc. de uso geral adaptados para sistemas embarcados:
    • Dispositivos internos
    • Menor potência
    • Facilidade para desenvolver software
se p a hw processadores proc de aplica o espec fica asips
SE::P & A::Hw::ProcessadoresProc. de Aplicação Específica (ASIPs)
  • Processador programável otimizado para uma classe de problema
  • Características
    • Memória interna
    • Unidade de Execução otimizada
    • Periféricos especiais internos
  • Vantagem
    • Bom compromisso entre flexibilidade, velocidade, tamanho e potência
  • Ex: Microcontroladores (ex.Nitron, 8051) DSPs (Digital Signal Processors)
se p a hw processadores proc de aplica o espec fica asips1
SE::P & A::Hw::ProcessadoresProc. de Aplicação Específica (ASIPs)
  • Projeto de ASIPs:
    • O ASIP e seu compilador são projetados em paralelo (Hw-Sw co-design)
    • Melhor escolha de implementação de instruções (em hardware ou em software)

43

se p a hw processadores asips microcontroladores
SE::P & A::Hw::Processadores::ASIPsMicrocontroladores
  • Não há consenso sobre a diferença de microcontroladores e processadores embarcados
  • Nossa definição:
    • microcontroladores não são derivados de famílias de processadores de propósito geral e têm, normalmente, um poder de processamento menor.
  • Para diversificar as opções, lançam-se famílias de microcontroladoes
se p a hw processadores asips microcontroladores fam lia nitron
SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresFamília Nitron
  • Lançada pela Motorola Semicondutores (Brasil) em setembro/2002
  • Vendeu mais de 1 milhão de unidades até dez/2002
  • Mais de 40 milhões encomendados
  • Prêmio "Product of the Year" como melhor lançamento do ano de 2002 (revista Electronic Products)
  • Preço de $0.70 por unidade
se p a hw processadores asips microcontroladores fam lia nitron1
SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresFamília Nitron
  • Baseado na família HC, com 8 ou 16 pinos
  • Memória Flash (1,5 K a 4 Kbytes) reprogramável na aplicação
  • Timer de dois canais de 16 bits, com comparação e PWM
  • Conversor A/D de 8 bits e quatro canais
se p a hw processadores asips microcontroladores fam lia 8051
SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresFamília 8051
  • Fabricada por várias companhias como Philips, Atmel, Dallas Semiconductors, Intel
  • Preços baixos
  • Muitas opções
se p a hw processadores asips microcontroladores fam lia 80511
SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresFamília 8051

EPROM

RAM

CPU

Latch

Latch

Port1

Port0

Address Bus

Serial

DPTR

Interrupt

PC

MBR

Latch

Port2

Latch

Data Bus

Port3

Timer1

Oscil.

Timer0

se p a hw processadores asips microcontroladores outras fam lias
SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresOutras Famílias
  • ARM da Intel, PIC da Microchip, Série HC da Motorola e Transputers da SGS-Thomson.
  • Escolha da família:
    • fatores técnicos: velocidade, potência, tamanho, periféricos
    • ambientes de desenvolvimento existentes
    • conhecimento prévio do time de desenvolvimento
    • facilidade de compra, número de fornecedores,etc.
se p a hw processadores sele o de processadores
SE::P & A::Hw::ProcessadoresSeleção de Processadores

Sources: Intel, Motorola, MIPS, ARM, TI, and IBM Website/Datasheet; Embedded Systems Programming, Nov. 1998

Sources: Intel, Motorola, MIPS, ARM, TI, and IBM Website/Datasheet; Embedded Systems Programming, Nov. 1998

se p a hw processadores proc de prop sito nico
SE::P & A::Hw::ProcessadoresProc. de Propósito Único
  • Circuito digital projetado para executar um único algoritmo
  • Características
    • Contém apenas o necessário ao algoritmo
    • Não tem memória de programa
  • Vantagens
    • Projeto sob encomenda pode obter o melhor do tamanho, potência, velocidade, mas perde em flexibilidade
  • Ex: co-processadores e periféricos
se p a hw processadores de prop sito nico application specific integrated circuit asic
SE::P & A::Hw::Processadores de Propósito Único Application-Specific Integrated Circuit-ASIC
  • Preço elevado inicial
  • Perda de flexibilidade com relação a mudanças
  • Uso depende dos requisitos de performance, consumo, tamanho, preço, etc.
se p a hw processadores de prop sito nico field programable gate array fpga
SE::P & A::Hw::Processadores de Propósito Único Field-Programable Gate Array – FPGA
  • Dispositivos de hardware programáveis
  • Reconfigurável on-line (tipo RAM)
  • Tipos de programação:
    • tipo PROM, programáveis uma única vez
    • tipo EPROM, re-programáveis em laboratório
    • tipo RAM, re-programáveis durante a execução.
se p a hw processadores de prop sito nico fpga fpga estrutura geral1
SE::P & A::Hw::Processadores de Propósito Único::FPGA FPGA: estrutura geral

Custo

ASIC

FPGA

Volume de Produção

  • Custo por unidade maior que o custo unitário de um ASIC
  • Não tem custo relacionado à fabricação da primeira unidade
slide57

Processamento

Controle

Arquitetura

Arquitetura

Estrutura

+

+ * /

Process(x)

Begin

y := 0.22 + 0.889 x;

i := 0;

do until i > 3

loop

y:= 0.5(y + x/y);

i := i + 1;

end do;

+

+ * /

Layout

Comportamento

ASIC

Comp.

Especificação

Inicial

Síntese algorítmica

(alto nível)

Síntese lógica

Síntese de layout

Prototipação

Estr.

Alg.

RTL

Geom.

Process(x)

Begin

y := 0.22 + 0.889 x;

i := 0;

do until i > 3

loop

y:= 0.5(y + x/y);

i := i + 1;

end do;

slide58

SE::P & A::Hw::Processadores::Implementação Redução do Tempo de Projeto

System Design Logic Design Physical Design

70

SimulationSchematic entry Placement /Routing

Hierarchy,

Generators

Logic-Level

Synthesis

High-Level Synthesis

System-Level Synthesis

homem-mês para 20KPortas

se p a hw processadores implementa o lei de moore
SE::P & A::Hw::Processadores::ImplementaçãoLei de Moore

10,000

1,000

100

Transistores por chip

(em milhões)

10

1

0.1

0.01

0.001

1981

1983

1985

1987

1989

1991

1993

1995

1997

1999

2001

2003

2005

2007

2009

  • Uma tendência que se mantém e foi prevista em 1965 por Gordon Moore

Número de transistores praticamente dobra a cada 18 meses

Note: logarithmic scale

se p a hw processadores implementa o lei de moore ilustra o gr fica
SE::P & A::Hw::Processadores::ImplementaçãoLei de Moore: Ilustração Gráfica

1981

1984

1987

1990

1993

1996

1999

2002

10.000

transistores

150.000.000

transistores

Um chip de 2002 pode conter 15.000 chips de 1981

se p a hw processadores implementa o produtividade de projeto
SE::P & A::Hw::Processadores::ImplementaçãoProdutividade de Projeto

100,000

10,000

1,000

100

Produtividade

(K) Trans./Pessoa – Mës

10

1

0.1

0.01

1981

2009

1995

2007

1997

1993

1989

1999

2001

1991

1983

2003

1987

1985

2005

se p a hw processadores implementa o produtividade de projeto x tam chip
SE::P & A::Hw::Processadores::ImplementaçãoProdutividade de Projeto X Tam.Chip
  • O número de transistores por chip aumentou muito mais que a capacidade de projeto
  • Maior chip em 1981 requer 100 homem.mês
    • 10.000 transistores / 100 transistores / mês
  • Maior chip em 2002 requer 30.000 homem.mês
    • 150.000.000 / 5.000 transistores / mês
  • Custo aumentou de $1M para $300M

10,000

100,000

1,000

10,000

100

1000

Transistores/chip

(milhões)

Gap

Produtividade

(K) Trans./Homem.Mês

10

Capacidade do CI

100

1

10

0.1

1

produtividade

0.01

0.1

0.001

0.01

1981

1983

1985

1987

1989

1991

1993

1995

1997

1999

2001

2003

2005

2007

2009

se p a hw processadores implementa o the mythical man month
SE::P & A::Hw::Processadores::ImplementaçãoThe mythical man-month
  • O problema é pior na realidade
  • O aumento da equipe pode, em algum momento, tornar o projeto mais lento, devido a complexidade de gerenciamento e comunicação
  • Esse efeito é conhecido na comunidade de software como “the mythical man-month” (Brooks 1975)

Tempo

15

60000

16

16

18

50000

19

40000

23

24

30000

Duração em meses

20000

43

10000

Designers

0

10

20

30

40

se p a hw processadores implementa o system on a chip
SE::P & A::Hw::Processadores::ImplementaçãoSystem-On-A-Chip
  • Sistema completo implementado em um único chip
  • Uso de núcleos de processadores (cores)
  • Baixo custo de fabricação em série
  • Alta qualidade
  • Diminuição de defeitos de montagem e fabricação em geral
  • Baixa potência consumida
  • Pequeno tamanho
  • Alta velocidade
se projeto arquitetura hardware mem ria
SE::Projeto & Arquitetura::HardwareMemória
  • Tipos básicos
    • Memória volátil
      • Perde informações quando não tem energia
      • Usada para armazenar dados
    • Memória não-volátil
      • Mantém informações quando não tem energia
      • Usada para armazenar programas e dados permanentes (configuração)
se p a hw mem ria nomenclatura b sica
Memária volátil

RAM = Random Acces Memory

SRAM = Static RAM

DRAM = Dynamic RAM

VRAM - Video RAM

WRAM - Windows RAM

Memória não-volátil

ROM = Read Only Memory

PROM ou OTP = Programmable ROM ou One-Time Programmable

EPROM = Erasable PROM

EEPROM = Electrically Erasable PROM (apagamento byte a byte)

Flash EPROM = Fast erasable EPROM (apagamento por bloco)

SE::P & A::Hw::MemóriaNomenclatura Básica
se p a hw mem ria ram din mica vs est tica
SE::P & A::Hw::MemóriaRAM Dinâmica vs. Estática
  • DRAM (Dynamic Random Acess Memory)
    • Grande capacidade de integração (baixo custo por bit)
    • Perda de informação após algum tempo: Necessidade de refreshing
  • SRAM (Static Random Acess Memory)
    • Pequeno tempo de acesso
    • Não existe necessidade de refreshing
    • Alto custo por bit (baixa integração)
se projeto arquitetura hardware perif ricos
SE::Projeto & Arquitetura::HardwarePeriféricos
  • Teclados e Visores de cristal líquido
  • Temporizadores e contadores
  • Interfaces Seriais
  • Transdutores
  • Conversores Digital-Analógicos e Analógico-Digitais
  • Modulação de largura de fase - PWM
  • Motores de passo
se p a hw perif ricos timer temporizador contador
SE::P & A::Hw::PeriféricosTimer(temporizador)/Contador

RD

WR

  • Dispositivo que gera interrupções em intervalos regulares de tempo. Ex: Timer do 8051

Data Bus

RD

WR

Carry

Carry

TH0

TL0

Contadores

Interrupt

Clock/12

se p a hw perif ricos teclado
SE::P & A::Hw::PeriféricosTeclado

N1

N2

N3

Tecla apertada

N4

M1

M2

M3

M4

4

buffer

Código da Tecla

Controlador de Teclado

  • Para saber se esta tecla está apertada, o controlador do teclado põe nível 1 em M2 e testa o valor de N3
se p a hw perif ricos interfaces seriais
SE::P & A::Hw::PeriféricosInterfaces Seriais
  • Comunicação em que cada bit é enviado em seqüência por um único fio

Data Bus

Write

Registrador

de

Deslocamento

Clock

se p a hw perif ricos interfaces seriais1
SE::P & A::Hw::PeriféricosInterfaces Seriais
  • Exemplo de Comunicação

Receptor

Transmissor

Data Bus

Data Bus

Read

Write

Registrador

de

Deslocamento

Registrador

de

Deslocamento

Clock

Clock

se p a hw perif ricos interfaces seriais rs232
SE::P & A::Hw::Periféricos::Interfaces SeriaisRS232
  • RS232: Recommended Standard 232 da EIA
    • Comunicações ponto a ponto
    • Usado por modems, mouses e algumas impressoras
    • Baixa imunidade a ruído
    • Mencionado no padrão:
      • limite de transmissão 20kbps
      • distância máxima entre dispositivos: 15 metros
    • Na prática:
      • pode-se transmitir até cerca de 200kbps
      • atinge 100m.
se p a hw perif ricos interfaces seriais rs422 e rs485
SE::P & A::Hw::Periféricos::Interfaces SeriaisRS422 e RS485
  • Adequadas para condições adversas de operação
  • comunicação por pares de fio trançados
  • velocidades superiores a 100Mbps
  • distâncias de vários quilômetros
  • conexão de vários dispositivos na mesma linha
se p a hw perif ricos interfaces seriais universal serial bus usb
SE::P & A::Hw::Periféricos::Interfaces SeriaisUniversal Serial Bus - USB
  • Taxas de até 12Mbps
  • Até 127 periféricos por linha
  • Conexão com sistema ligado (hot plugging)
  • Reconhecimento automático do dispositivo(Plug-and-Play)
  • Microcontroladores dotados de interfaces USB
se p a hw perif ricos interfaces sem fio infravermelho
SE::P & A::Hw::Periféricos::Interfaces Sem-FioInfravermelho
  • IrDA (Infrared Data Association – 1993)
    • Vários padrões de comunicação
      • IrDA-Data, IrDA-Control, e o Air
    • IrDA-Data
      • ponto-a-ponto
      • cone de incidência estreito (30º)
      • distância máxima de 1 metro
      • velocidades de 9600 bps a 16 Mbps.
    • base instalada com alta taxa de crescimento.
se p a hw perif ricos interfaces sem fio bluetooth
SE::P & A::Hw::Periféricos::Interfaces Sem-FioBluetooth
  • ondas de rádio
  • comunicação de voz e dados
  • pequenas distâncias (10cm a 10m)
  • ponto-a-multiponto (broadcast)
  • faixa de frequência usada é de 2.4 GHz
  • suporta rede de até 8 dispositivos
  • fácil integração com protocolo TCP/IP.
  • Várias companhias adotando como Motorola, Ericsson, Nokia, IBM, Toshiba, Intel, entre outras.
se p a hw perif ricos visor de cristal l quido lcd
SE::P & A::Hw::Periféricos::Visor de Cristal Líquido - LCD
  • vários modelos
    • alfanuméricos, que só apresentam letras, números e caracteres de pontuação
    • gráficos que permitem o acesso a cada ponto independentemente
  • vários tamanhos
  • com ou sem iluminação (backlight)
  • interface, em geral, paralela.
  • Ponto importante da interface com o usuário
se p a hw perif ricos transdutores
SE::P & A::Hw::Periféricos::Transdutores
  • Capazes de converter tipos de energia
  • Exemplo: microfones de carvão
    • A pressão do ar (onda sonora) desloca o diafragma
    • que muda a densidade de partículas de carvão
    • variando a resistência elétrica
    • que produz uma onda elétrica similar à sonora

+

-

diafragma

corrente

Partículas de carvão

se p a hw perif ricos transdutores1
SE::P & A::Hw::Periféricos::Transdutores

Bobina

N

S

imã

  • Alto-falante

corrente

Diafragma

A corrente elétrica variável é aplicada à bobina

que induz um campo magnético

que movimenta o diafragma

que desloca o ar formando uma onda sonora

se p a hw perif ricos transdutores2
SE::P & A::Hw::Periféricos::Transdutores
  • Materiais especiais
    • piezzo-elétricos, são capazes de se expandir ou contrair de acordo com a voltagem (e vice-versa)
      • sensores de pressão, peso, e em microfones e tweeters
    • termopares, geram voltagens proporcionais à sua temperatura
    • células fotoelétricas, geram voltagens ou modificam a resistência proporcionalmente à iluminação sobre elas
se p a hw perif ricos conversores anal gico digitais
SE::P & A::Hw::Periféricos::Conversores Analógico/Digitais
  • Conversão de valores analógicos (contínuos no tempo e na amplitude) em valores digitais (números binários)

Onda sonora

Onda elétrica

analógica

Valores binários

(amostras temporais)

se p a hw perif ricos conversores anal gico digitais1
SE::P & A::Hw::Periféricos::Conversores Analógico/Digitais

Vmax = 7.5V

1111

7.0V

1110

6.5V

1101

6.0V

1100

5.5V

1011

5.0V

1010

4.5V

1001

4.0V

1000

3.5V

0111

0110

3.0V

2.5V

0101

2.0V

0100

1.5V

0011

1.0V

0010

0.5V

0001

0V

0000

Relação de Valores

4

4

3

3

2

2

Entrada Analógica (V)

Saída Analógica (V)

1

1

tempo

tempo

t1

t2

t3

t4

t1

t2

t3

t4

0100

1000

0110

0101

0100

1000

0110

0101

Entrada Digital

Saída Digital

Conversão

Analógico  Digital

Conversão

Digital  Analógico

se p a hw perif ricos modula o de largura de pulso pwm
SE::P & A::Hw::Periféricos::Modulação de largura de pulso (PWM)
  • Onda quadrada
    • definição do período
    • definição do duty cycle (percentual do tempo em que o sinal fica em 1)

Período

Duty cycle

30%

70%

se p a hw perif ricos modula o de largura de pulso pwm1
SE::P & A::Hw::Periféricos::Modulação de largura de pulso (PWM)
  • Gera pulsos com “duty cycle” definido
  • Controla a tensão média de um dispositivo externo (ex: motor, lâmpada)
    • Mais simples que conversor DC-DC ou A/D

pwm

clk

duty cycle 25% – tensão média = 1.25V

pwm

clk

duty cycle 50% – tensão média = 2,5V

pwm

clk

duty cycle 75% – tensão média = 3,75V

se p a hw perif ricos modula o de largura de pulso pwm2
SE::P & A::Hw::Periféricos::Modulação de largura de pulso (PWM)
  • Controle de motores de corrente contínua e de solenóides
se p a hw perif ricos motores de passo
SE::P & A::Hw::Periféricos::Motores de Passo
  • Tipos de motores que giram “passo a passo”, girando alguns graus por vez
se p a hw perif ricos motores de passo1
SE::P & A::Hw::Periféricos::Motores de Passo
  • Para rodar o motor é necessário seguir uma seqüência de acionamento das bobinas
  • Existem controladores para facilitar esta tarefa
  • Requer “driver” de potência

+V

1K

A

Q1

Entrada

A’

Saida

B

Q2

B’

Driver de potência

1K

intro a sistemas embarcados3
Intro. a Sistemas Embarcados
  • Visão geral
  • Projeto e Arquitetura
    • Hardware
      • Processadores
      • Memória
      • Periféricos
    • Software
  • Visão geral
  • Projeto e Arquitetura
    • Hardware
    • Software
  • Visão geral
  • Projeto e Arquitetura
    • Hardware
    • Software
      • Linguagens
      • Sistemas operacionais de tempo real
se projeto arquitetura software linguagens empregadas
SE::Projeto & Arquitetura::SoftwareLinguagens Empregadas
  • Segundo uma pesquisa recente da www.8052.com
    • 49% assembly
    • 33% C
    • 5% Basic
    • 3% Pascal
    • 9% outras linguagens
  • A previsibilidade no uso de recursos e tempo de execução é fundamental para sistemas críticos
se p a sw linguagens linguagens orientadas a objetos
SE::P & A::Sw::LinguagensLinguagens orientadas a objetos
  • Linguagens orientadas a objeto
    • ciclo de desenvolvimento mais rápido
    • melhores métodos de estruturação e modularização
    • reutilização de objetos
    • criação e destruição dinâmica de objetos, garbage collectors criam problemas para previsibilidade temporal e de alocação de memória
    • Java, não há um modelo definido para o escalonamento das threads. Inviabiliza tempo real
se p a sw linguagens linguagens imperativas
SE::P & A::Sw::LinguagensLinguagens imperativas
  • C e Assembly
    • Excelente controle do hardware e do tempo de execução
    • Alta performance
    • Dificuldades no desenvolvimento
    • Assembly:
      • Difícil modularização e reutilização
se p a sw linguagens linguagens especiais
SE::P & A::Sw::LinguagensLinguagens especiais
  • Ada
    • Projetada pelo Department of Defense dos EUA
  • Esterel
    • Voltada para sistemas reativos
    • Baseada em eventos e ações
    • Semelhante às linguagens visuais (ex. Visual Basic)
se p a software sistemas de tempo real
SE::P & A::SoftwareSistemas de Tempo Real
  • Sistemas computacionais de tempo real:
    • Tem aspectos temporais em sua especificação
    • Submetidos a requisitos de natureza temporal
    • Resultados devem estar corretos lógica e temporalmente “Fazer o trabalho usando o tempo disponível”
    • Requisitos definidos pelo ambiente físico
  • Aspectos temporais
    • Não estão limitados a uma questão de desempenho
    • Estão diretamente associados com a funcionalidade
se p a sw sistemas de tempo real str e o ambiente
SE::P & A::Sw::Sistemas de Tempo RealSTR e o Ambiente

Ambiente

STR

EstímulosSensores

Respostas

Atuadores

se p a sw sistemas de tempo real str e o ambiente1
SE::P & A::Sw::Sistemas de Tempo RealSTR e o Ambiente
  • Fluxo de controle definido pelo ambiente
    • Tarefas ativadas por estímulos do ambiente
    • STR geralmente não tem como limitar estes estímulos
  • Tempos de resposta ao ambiente definem deadlines
  • Dados com prazos de validade
    • Dados desatualizados podem conduzir a respostas incorretas
se p a sw sistemas de tempo real reas de pesquisa
SE::P & A::Sw::Sistemas de Tempo RealÁreas de Pesquisa
  • Escalonamento (mais estudado)
  • Modelos e linguagens de programação
  • Protocolos de comunicação
  • Arquitetura de computadores
  • Metodologias de desenvolvimento
  • ...
se p a sw sistemas de tempo real conceitos b sicos
SE::P & A::Sw::Sistemas de Tempo RealConceitos Básicos

Tarefa ( task )

  • Segmento de código cuja execução possui atributo temporal próprio
  • Exemplo: método em OO, subrotina, trecho de um programa

Deadline

  • Instante máximo desejado para a conclusão de uma tarefa
se p a sw str conceitos b sicos criticidade
SE::P & A::Sw::STR:: Conceitos BásicosCriticidade

Sistema de tempo real crítico (Hard real-time system)

  • Todas as tarefas têm Hard Deadline
    • Perda do deadline pode ter conseqüências catastróficas
  • É necessário garantir requisitos temporais ainda durante o projeto
  • Exemplo: usina nuclear, industria petroquímica, mísseis

Sistema de tempo real não crítico (Soft real-time system)

  • O requisito temporal descreve apenas o comportamento desejado
  • Perda do deadline não tem conseqüências catastróficas
  • Existe interesse em terminar a tarefa mesmo com atraso
  • Exemplo: início de gravação de vídeo-cassete
se p a sw str conceitos b sicos criticidade1
SE::P & A::Sw::STR:: Conceitos BásicosCriticidade

Deadline Firm

  • Perda do deadline não tem conseqüências catastróficas
  • Não existe valor em terminar a tarefa após o deadline
  • Exemplo: ler o valor da temperatura
se p a sw str conceitos b sicos modelagem das tarefas
SE::P & A::Sw::STR:: Conceitos BásicosModelagem das Tarefas
  • Deadline – Tempo máximo para término de uma tarefa
  • Release-time – Tempo mínimo para início de uma tarefa
  • Tempo de execução: considera o pior caso
    • WCET – Worst-Case Execution Time
se p a sw str conceitos b sicos modelagem das tarefas1
SE::P & A::Sw::STR:: Conceitos BásicosModelagem das Tarefas
  • Periodicidade
    • Tarefas Aperiódicas
      • São disparadas em intervalos imprevisíveis de tempo
      • Não garantem escalonabilidade
    • Tarefas Esporádicas
      • É conhecido o intervalo mínimo entre execuções (inter-arrival time)
    • Tarefas Periódicas
      • Devem ser executadas em intervalos regulares de tempo
se p a sw str conceitos b sicos modelagem das tarefas2
SE::P & A::Sw::STR:: Conceitos BásicosModelagem das Tarefas
  • Folga (slack) = deadline – liberação – tempo de execução
  • Atraso = MÁX( 0, conclusão – deadline)

Conclusão(end time)

Início(start time)

Chegada

(arrival)

Liberação(release)

deadline

tempo

tempo de execução(execution time)

atraso na liberação(release jitter)

Tempo de resposta (response time)

se p a sw str conceitos modelagem das tarefas tarefas peri dicas
SE::P & A::Sw::STR:: Conceitos::Modelagem das TarefasTarefas Periódicas

P

P

D

D

J1

A1

A2

a1

r1

s1

e1

d1

a2=r2

s2

e2

d2

tempo

se p a sw str conceitos modelagem das tarefas tarefas espor dicas
SE::P & A::Sw::STR:: Conceitos::Modelagem das TarefasTarefas Esporádicas

evento2

evento1

minIT

minIT

D

D

E1

E2

0

a1

s1

e1

d1

a2=s2

e2

d2

tempo

se p a sw str conceitos modelagem das tarefas rela es entre tarefas
SE::P & A::Sw::STR:: Conceitos::Modelagem das TarefasRelações entre tarefas
  • Relações entre tarefas
    • Precedência: XY
      • A tarefa X deve terminar antes de Y começar
    • Exclusão mútua: XY
      • As tarefas X e Y não podem executar simultaneamente
    • Co-execução: X||Y
      • As tarefas X e Y têm que executar simultaneamente
    • Preempção: XY
      • A tarefa X é interrompida para que Y possa executar e, após o término de Y, a tarefa X continua a executar
se p a sw str escalonamento
SE::P & A::Sw::STR Escalonamento

Métodos de Escalonamento

Abordagens com Garantiaem Tempo de Projeto

Abordagens comGarantia Dinâmica

Abordagens deMelhor Esforço

TécnicasAdaptativas

ExecutivoCíclico

Dirigido aPrioridades

escalonamento de processos abstra o
Escalonamento de ProcessosAbstração

T12

  • Uma máquina para cada processo
  • Paralelismo real

T11

mP1

mP2

T0

mP3

T22

mP3

escalonamento de processos realidade
Escalonamento de ProcessosRealidade

T12

T22

T0

T11

T0

  • Compartilhamento do tempo
  • Pseudoparalelismo

mP1

1

41

51

70

90

121

t

tipos de escalonamento preemptivo
Tipos de EscalonamentoPreemptivo

T12

T22

T0

T11

T0

Preempção

  • Permite a suspensão temporária de processos
  • Quantum ou time-slice: período de tempo durante o qual um processo usa o processador a cada vez

mP1

1

41

51

70

90

121

t

  • Quantum grande:
    • Diminui núm. de mudanças de contexto e overhead do S.O.
    • Ruim para processos interativos
escalonamento de processos processo
Escalonamento de ProcessosProcesso
  • Estados de um processo

Process Control Block - PCB

ID do Processo

Criação

Rodando

Pronto

Término

Estado

Prioridade

Program Counter

Ponteiros da Memória

Contexto (regs.)

Bloqueado

I/O Status

Informações gerais

  • tempo de CPU
  • limites, usuário, etc.
filas de escalonamento
Filas de Escalonamento

I/O

I/O

Interrupt

of process

I/O

Interrupt

from I/O

Short-term

scheduling

Long-

term

queue

Short-

term

queue

Process

request

FIM

CPU

High-level

scheduling

I/O

queue

I/O scheduling

I/O

queue

Interrupt

Handler

I/O

queue

tipos de escalonamento round robin
Tipos de EscalonamentoRound-Robin

Tar. B

Contexto

Tar. C

Contexto

Tar. A

Contexto

Tar. A

Contexto

Tar. A

Contexto

  • Uso de uma lista de processos sem prioridade
  • Escalonamento preemptivo
  • Simples e justo
  • Bom para sistemas interativos

CPU:Running

tipos de escalonamento first in first out fifo
Tipos de EscalonamentoFirst-In First-Out (FIFO)
  • Uso de uma lista de processos sem prioridade
  • Escalonamento não-preemptivo
  • Simples e justo
  • Bom para sistemas em batch

CPU

B C D E F … N

A

FIM

tipos de escalonamento exemplo
Tipos de EscalonamentoExemplo
  • Três processos
  • Cada um consome 1 hora de CPU
  • Calcule o tempo de resposta considerando

a) Round-robin (time-slice = 10ms)

b) FIFO

caracter sticas de escalonamento
Características de Escalonamento
  • Justiça (fairness)
    • Todos os processos têm chances iguais de uso dos processador
  • Eficiência
    • O objetivo é manter o processador 100% ocupado
  • Tempo de Resposta
    • Tempo entre a requisição da ação e a obtenção do resultado
  • Throughput
    • Número de tarefas por unidade de tempo
se p a sw str escalonamento garantia din mica e de melhor esfor o
SE::P & A::Sw::STR::EscalonamentoGarantia Dinâmica e de Melhor Esforço
  • Não existe garantia que os deadlines serão cumpridos
  • Sempre que uma tarefa é ativada ocorre uma análise da sua escalonabilidade
  • Passível de sofrer sobrecarga
  • Capaz de fornecer análise probabilística
    • Simulação, teoria das filas de tempo real, etc
  • Algumas abordagens oferecem Garantia Dinâmica
    • Garante o deadline (ou não) no início da ativação
se p a sw str escalonamento garantia din mica e de melhor esfor o1
SE::P & A::Sw::STR::EscalonamentoGarantia Dinâmica e de Melhor Esforço

Descarte de Tarefas na Sobrecarga

  • As tarefas executadas cumprem o deadline
  • Mais apropriado para tarefas com deadline firm
  • Pode cancelar ativações individuais ou tarefas completas
  • Objetivo é maximizar o número de tarefas executadas
  • Tarefas podem ter importância (peso) diferentes
    • Maximiza o somatório dos pesos das tarefas executadas
  • Abordagem semelhante: aumenta o período das tarefas
se p a sw str escalonamento garantia din mica e de melhor esfor o2
SE::P & A::Sw::STR::EscalonamentoGarantia Dinâmica e de Melhor Esforço

Perda de deadlines na sobrecarga

  • Em sobrecarga ATRASA algumas tarefas
  • Possui uma função que indica o valor de cada tarefa em função do seu instante de conclusão (time-value function)
  • Objetivo é maximizar o valor total do sistema (somatório de todas as tarefas)

valor

Tempo de Resposta

0

d

se p a sw str escalonamento garantia din mica e de melhor esfor o3
SE::P & A::Sw::STR::EscalonamentoGarantia Dinâmica e de Melhor Esforço

Redução da Precisão na Sobrecarga

  • Em sobrecarga diminui a precisão de algumas tarefas
  • Objetivo é fazer o possível dentro do tempo disponível
  • Exemplos:
    • Ignorar bits menos significativos de cada pixel
    • Trabalhar com amostras de áudio menos precisas
    • Alterar resolução e tamanho de imagem na tela
    • Simplificar animações
    • Usar algoritmos de controle mais simples
    • Interromper pesquisa em algoritmos de inteligência artificial
se p a sw str escalonamento garantia din mica e de melhor esfor o4
SE::P & A::Sw::STR::EscalonamentoGarantia Dinâmica e de Melhor Esforço

Sistemas de Prioridade Dinâmica

  • Earliest-Deadline-First (EDF)
    • Escalonamento preemptivo de prioridade dinâmica
    • O deadline é calculado quando a tarefa é disparada.
    • O escalonador põe para executar a tarefa com menor deadline
  • Least Slack Scheduling
    • Escalonamento não-preemptivo de prioridade dinâmica
    • A tarefa com menor sobra (slack) tem maior prioridade
se p a sw str escalonamento abordagens com garantia em projeto
SE::P & A::Sw::STR::EscalonamentoAbordagens com Garantia em Projeto
  • Para obter garantias em projeto é necessário:
    • Conhecimento completo das tarefas e do método de implementação
    • Análise feita em projeto
    • Carga limitada e conhecida
se p a sw str escalonamento abordagens com garantia em projeto1
SE::P & A::Sw::STR::EscalonamentoAbordagens com Garantia em Projeto
  • Vantagens
    • Determina em projeto que todos os deadlines serão cumpridos
    • Necessário para aplicações críticas
  • Desvantagens
    • Necessário conhecer exatamente a carga
    • Necessário reservar recursos para o pior caso
    • Difícil determinar o pior caso em soluções off- the- shelf
    • Gera enorme subutilização de recursos
se p a sw str escalonamento garantia em projeto modelos de implementa o
SE::P & A::Sw::STR::Escalonamento::Garantia em ProjetoModelos de Implementação
  • Time-driven systems
    • Sistemas em que a execução é regida pelo tempo
    • Não existe outra fonte de eventos além do timer interno
    • A ordem de execução é toda definida a priori
  • Event-driven systems
    • A execução é regida por eventos externos e eventos do timer
    • A garantia em projeto se dá pelo uso de prioridades fixas para as tarefas
se p a sw str escalonamento garantia em projeto time driven systems
SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Time-Driven Systems

Executor Cíclico

  • Tarefas são arranjadas numa lista que define a ordem e tempo de execução de cada uma
  • Cada tarefa é colocada em execução em momentos controlados por um temporizador (timer)
  • A lista é executada repetidamente, caracterizando ciclos de execução
  • Não é usada concorrência: tarefas grandes devem ser quebradas manualmente se necessário.
se p a sw str escalonamento garantia em projeto time driven systems exemplo 1
SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Time-Driven Systems: Exemplo 1
  • Considere 4 funções com as seguintes características:
    • Função 1: ciclo de 50Hz (20ms)
    • Função 2: ciclo de 25 Hz (40ms)
    • Função 3: ciclo de 12,5 Hz (80ms)
    • Função 4: ciclo de 6,25Hz (160ms)

Ciclo Principal (160ms)

Ciclo Principal (160ms)

10ms

se p a sw str escalonamento garantia em projeto time driven systems executor c clico
SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Time-Driven Systems: Executor Cíclico
  • Arquitetura de Software

Função 1

Disp. E/S

ExecutorCíclico

Função 2

Função 3

Disp. E/S

Função 4

Interrupçãodo Timer

se p a sw str escalonamento garantia em projeto event driven systems
SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Event-Driven Systems

Sistemas de Prioridade Fixa

  • Tarefas têm prioridades definidas em tempo de projeto
  • Tarefas de maior prioridade preemptam as de menor prioridade
  • Prioridades são definidas com base nas restrições temporais
  • A concorrência requer mecanismos para evitar deadlock e inversão de prioridade (exemplo: semáforos, herança de prioridade)
  • Para garantir respostas previsíveis, tarefas aperiódicas não são tratadas
se p a sw str escalonamento garantia em projeto event driven systems1
SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Event-Driven Systems

Sistemas de Prioridade Fixa

  • Escalonamento Rate-Monotonic (RMS)
    • Escalonamento preemtivo de prioridade fixa
    • Tarefas mais freqüentes têm maior prioridade
    • Os deadlines devem ser iguais aos períodos
    • Tarefas não têm nenhuma relação entre si (precedência, exclusão, etc)
    • É ótimo, ou seja, nenhum outro método é melhor que este com estas condições
se p a sw str escalonamento garantia em projeto event driven systems2
SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Event-Driven Systems

Sistemas de Prioridade Fixa

  • Deadline-Monotonic Scheduling:
    • Semelhante ao RMS, mas quanto menor o deadline da tarefa maior sua prioridade
    • Os deadlines são fixos e relativos aos começos dos períodos
se p a sw str escalonamento garantia em projeto event driven systems3
SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Event-Driven Systems

Arquitetura de Software

Tarefa 1

Disp. Entrada

Recurso 1

Tarefa 2

Disp. Saída

Sensor

Tarefa 3

Atuador

Recurso 2

Tarefa 4

Interrupçãodo Timer

se p a sw str escalonamento garantia em projeto event driven systems4
SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Event-Driven Systems

Análise de Escalonabilidade

Escalonamento Rate-Monotonic (RMS)

  • Notação:

Processo: pi Período: Ti Tempo de Computação: Ci Deadline: Di

  • Em um conjunto de n processos periódicos independentes escalonados pelo RMS sempre obedecerá o seu deadline se (condição suficiente mas não necessária):

onde, U(n) é o limite de utilização para n processos.n  U(n)  69%

se p a sw str escalonamento garantia em projeto event driven systems5
SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Event-Driven Systems

Escalonamento Rate-Monotonic (RMS)

  • U(n) = 1,0 se o conjunto de tarefas é harmônico
    • Um conjunto de tarefas é harmônico se os períodos de todas as tarefas são múltiplos ou sub-múltiplos entre si
  • U(n) = 0,88 na média de tarefas randômicas
se p a sw str escalonamento garantia em projeto event driven systems6
SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Event-Driven Systems

Análise de Escalonabilidade

  • Análise baseada em Tempo de Resposta
  • Calcula tempo de resposta no pior caso e compara ao deadline
  • Para a tarefa mais prioritária R1 = C1
  • Demais tarefas sofrem interferência das tarefas com prioridade maiorNeste caso, Ri = Ci + Ii
  • Interferência é máxima a partir do Instante Crítico
    • Instante onde todas as tarefas são liberadas simultaneamente
garantia em projeto event driven systems an lise de escalonabilidade
Garantia em Projeto :: Event-Driven SystemsAnálise de Escalonabilidade

Interferência entre tarefas

Seja Pj uma tarefa com prioridade maior que Pi

  • Quantas vezes Pj pode acontecer durante a execução de Pi ?

Ri/Tj

  • Qual a interferência total de Pj sobre Pi ?

Ri/Tj x Cj

  • Qual a interferência total sobre Ti ?

∑ Ri/Tj x Cj, onde Pri(j)>Pri(i)

garantia em projeto event driven systems an lise de escalonabilidade1
Garantia em Projeto :: Event-Driven SystemsAnálise de Escalonabilidade

O tempo máximo de resposta de pi é Ri = Ci + Ii

Ri = Ci + ∑ Ri/Tj x Cj

O cálculo é feito recursivamente em iterações sucessivas, até:

  • Tempo de resposta passar do deadline (falha)
  • Resultado convergir, ou seja, iteração x+ 1 igual a iteração x

Wix+1 = Ci + ∑ Wix/Tj x Cj, onde Wi0= Ci

garantia em projeto event driven systems an lise de escalonabilidade2
Garantia em Projeto :: Event-Driven SystemsAnálise de Escalonabilidade

Exemplo

p1 p2 p3

T1=7 T2=12 T3=20

C1=3 C2=3 C3=5

Pri1=1 Pri2=2 Pri3=3

Resposta:

R1 = 3 R2 = 6 R3 = 20

garantia em projeto event driven systems an lise de escalonabilidade3
Garantia em Projeto :: Event-Driven SystemsAnálise de Escalonabilidade

Suponha uma tarefa esporádica liberada por evento externo

  • Eventos podem ser amostrados periodicamente
  • Sinalização do evento pode ter atraso variável
  • Release Jitter: Atraso máximo na liberação da tarefaRi = Ji + Wi, Wi = Ci + ∑ (Wi+Jj)/Tj x Cj
garantia em projeto event driven systems an lise de escalonabilidade4
Garantia em Projeto :: Event-Driven SystemsAnálise de Escalonabilidade

Bloqueios

  • Ocorrem devido às relações de exclusão mútua
  • Suponha p1 e p2, p1 com maior prioridade
    • Se p2 fica bloqueada esperando por p1Ok, p1 tem mesmo prioridade superior
    • Se p1 fica bloqueada, esperando por p2Cálculo do tempo de resposta deve incluir a espera máxima Bi

Ri = Ji + Wi

Wi = Ci + Bi + ∑ (Wi+Jj)/Tj x Cj

garantia em projeto event driven systems an lise de escalonabilidade5
Garantia em Projeto :: Event-Driven SystemsAnálise de Escalonabilidade
  • Seções Críticas e Inversão de Prioridades
garantia em projeto event driven systems an lise de escalonabilidade6
Garantia em Projeto :: Event-Driven SystemsAnálise de Escalonabilidade
  • Protocolo de Herança de Prioridades
sistemas operacionais de tempo real
Sistemas Operacionais de Tempo Real
  • Escalonamento preemptivo
  • Escalona processos com base em prioridades (não é justo, pode provocar starvation)
  • Todas as chamadas ao S.O. tem tempo máximo de execução definido e otimizado
  • A mudança de contexto tem tempo limitado, conhecido (fixed overhead) e otimizado
  • Tratamento de inversão de prioridade
refer ncias
Referências
  • Livro de Sistemas de Tempo RealJean- Marie Farines, Joni da Silva Fraga, Rômulo Silva de Oliveira. Escola de Computação’2000 - IME- USPhttp:// 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, Versão 1.1, 2000.http://www.timesys.com