Introdu o aos sistemas embarcados
This presentation is the property of its rightful owner.
Sponsored Links
1 / 146

Introdução aos Sistemas Embarcados PowerPoint PPT Presentation


  • 70 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

Introdução aos Sistemas Embarcados

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


Introdu o aos sistemas embarcados1

Introdução aos Sistemas Embarcados


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 exemplo c mera digital

    SE::Visão Geral::ArquiteturaExemplo: Câmera Digital


    Se vis o geral arquitetura de hardware compara o com pcs

    SE::Visão Geral::Arquitetura de HardwareComparação com PCs


    Se vis o geral arquitetura de software exemplo tempo de boot

    SE::Visão Geral::Arquitetura de SoftwareExemplo: Tempo de Boot


    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 mercado microcontroladores

    SE::Visão Geral::Mercado Microcontroladores


    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 bloco b sico

    SE::P & A::Hw::Processadores de Propósito Único::FPGA FPGA - Bloco básico


    Se p a hw processadores de prop sito nico fpga fpga estrutura geral

    SE::P & A::Hw::Processadores de Propósito Único::FPGA FPGA: estrutura geral


    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


    Introdu o aos sistemas embarcados

    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;


    Introdu o aos sistemas embarcados

    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 p a hw mem ria caracter sticas b sicas

    SE::P & A::Hw::MemóriaCaracterísticas Básicas


    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 exemplo 2

    SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Time-Driven Systems: Exemplo 2


    Se p a sw str escalonamento garantia em projeto time driven systems exemplo 3

    SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Time-Driven Systems: Exemplo 3


    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

    p1p2p3

    T1=7T2=12T3=20

    C1=3C2=3C3=5

    Pri1=1Pri2=2Pri3=3

    Resposta:

    R1 = 3R2 = 6R3 = 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


  • Login