02. intro sist embarcados

Upload: humberto-cepep

Post on 13-Apr-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 02. Intro Sist Embarcados

    1/146

    Introduo aos

    Sistemas Embarcados

    Sergio CavalcanteCentro de Informtica UFPE

  • 7/26/2019 02. Intro Sist Embarcados

    2/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 2

    Programa

    Introduo aos sistemas embarcados

    O que so?

    Arquitetura bsica de um S.E. Tecnologias empregadas Metodologias de projetoArquiteturas Padro Sistemas operacionais de tempo real

  • 7/26/2019 02. Intro Sist Embarcados

    3/146

    Introduo aos

    Sistemas Embarcados

  • 7/26/2019 02. Intro Sist Embarcados

    4/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 4

    Intro. a Sistemas Embarcados

    Viso geral Projeto e Arquitetura

    Viso geral reas de aplicao

    Caractersticas

    Arquitetura bsica Mercado

    Projeto e Arquitetura

  • 7/26/2019 02. Intro Sist Embarcados

    5/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 5

    SE::Viso Geral::

    Sistemas Embarcados

    So sistemas computacionais que esto inseridos emmquinas ou em sistemas maiores

    Embutidos em equipamentos eletrnicos:

    telefones celulares, vdeo-cassete, fornomicroondas,carros, automao de escritrio....

    Encontrado em quase todas as aplicaes quenecessitam de algum tipo de controle....

  • 7/26/2019 02. Intro Sist Embarcados

    6/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 6

    SE::Viso Geral::

    reas de Aplicao

    produtos de consumo: telefones celulares, pagers, cmaras digitais,

    vdeo-cassete, vdeo games portteis,calculadores, etc;

    eletrodomsticos: forno de microondas, secretrias eletrnicas,

    equipamentos de segurana, termostatos,

    mquinas de lavar e sistemas de iluminao;

  • 7/26/2019 02. Intro Sist Embarcados

    7/146Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 7

    SE::Viso Geral::reas de Aplicao

    Automao de escritrio: mquinas de fax, copiadoras, impressoras e

    scanners;

    Automveis: controle de transmisso, injeo eletrnica,

    suspenso ativa, freio ABS.

  • 7/26/2019 02. Intro Sist Embarcados

    8/146Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 8

    SE::Viso Geral::AplicaesAutomveis - Volvo S80

    2 Redes CAN

    250Kbps

    125Kbps

    4 Redes baixa velocidade

    10,4Kbps

    18 ECUs

  • 7/26/2019 02. Intro Sist Embarcados

    9/146Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 9

    SE::Viso Geral::Caractersticas

    Funcionalidade nica, executada repetidamente Entrada/Sada intensivo

    Executa tarefas em paralelo

    Restries de projeto mais rgidas: Custo, tamanho, peso, desempenho, potncia dissipada, etc.

    Tempo real: O tempo para fornecer resultados determinado pelo

    tempo que o ambiente pode esperar. Sistemas em que tm aspectos temporais na especificao.

    Sistemas reativos Reagem continuamente a estmulos externos

  • 7/26/2019 02. Intro Sist Embarcados

    10/146Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 10

    SE::Viso Geral::Arquitetura Bsica

    Arquitetura de Hardware Forte comunicao com o ambiente

    Forte restrio de recursos, tamanho, potncia, peso...

    Arquitetura de Software Tratamento rpido de interrupo

    Sistemas operacionais de tempo real

    Softwares eficientes em tamanho e desempenho

  • 7/26/2019 02. Intro Sist Embarcados

    11/146Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 11

    SE::Viso Geral::Arquitetura de Hardware

    ASIC DSPASIP uP uC Mem

    Cdigo

    DSP

    Cdigo

    uP

    RTOS

    A/D D/ASensores Atuadores

    Eventos

    Eventos

  • 7/26/2019 02. Intro Sist Embarcados

    12/146Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 12

    SE::Viso Geral::ArquiteturaExemplo: Cmera Digital

    A/D D/ACCD preprocessor Pixel coprocessor

    MicrocontrollerJPEG codec

    DMA controller

    Memory controller ISA bus interface UART

    Display ctrl

    LCD ctrl

    Multiplier/Accum.

  • 7/26/2019 02. Intro Sist Embarcados

    13/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 13

    SE::Viso Geral::Arquitetura de HardwareComparao com PCs

    Caracterstica PC Embed. Sys

    clock 180MHz2,2 GHz 500KHz 300 MHz

    Instrues/seg. 400M

    8B 1M

    200MPotncia 10 250 W .5 4W

    Transistores 5 1000 M 10K 5 M

    Custo $200

    $2000 $0.5

    $100

  • 7/26/2019 02. Intro Sist Embarcados

    14/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 14

    SE::Viso Geral::Arquitetura de SoftwareExemplo: Tempo de Boot

  • 7/26/2019 02. Intro Sist Embarcados

    15/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 15

    SE::Viso Geral::Arquitetura de SoftwareExemplo: Mudana 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, IDFFall03

  • 7/26/2019 02. Intro Sist Embarcados

    16/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 16

    SE::Viso Geral::Mercado

    Crescimento das aplicaes Automvel:

    1995: U$ 1237 2000: U$ 2126

    2002: 15% a 30% do custo de um veculo com eletrnica

    Domiciliar: 35 sistemas por residncia em 1994

    240 sistemas em 2000

  • 7/26/2019 02. Intro Sist Embarcados

    17/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 17

    SE::Viso Geral::

    Mercado

    Crescimento de vendas U$:

    ASICs + embed. Micros: U$ 60 B.

    PCs: 34 B. Unidades:

    Embed. Micros: 3 Billion

    PC micros: 100 million

  • 7/26/2019 02. Intro Sist Embarcados

    18/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 18

    SE::Viso Geral::

    Mercado Microcontroladores

    0

    2

    4

    6

    8

    10

    12

    14

    16

    18

    20

    1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000

    US$ billions

    Total Growth (inc. DSPs)

    Up to 16-bit

    Up to 8-bit

    Up to 4-bit

  • 7/26/2019 02. Intro Sist Embarcados

    19/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 19

    SE::Viso Geral::

    Time-to-market

    Reduo do time-to-market Maior competitividade de mercado

    Reduo na janela de mercado dos produtos

    TempoTime-to-

    market

    Concepo

    do s is tema

    Lucros(

    dlar

    es

    )

    Tempo de v ida

    Atraso

  • 7/26/2019 02. Intro Sist Embarcados

    20/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 20

    Exame 1

    O que so Sistemas Embarcados? O que um Sistema de Tempo Real?

    O que so Sistemas Reativos?

    Voc diria que todo S.E. tambm um Sistema de Tempo Real?

    E um Sistema Reativo?

    fundamental a execuo de tarefas em paralelo em um S.E.?Porqu?

    Como voc compara o mercado de S.E. em relao ao de desktops?

  • 7/26/2019 02. Intro Sist Embarcados

    21/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 21

    Intro. a Sistemas Embarcados

    Viso geral reas de aplicao

    Caractersticas

    Arquitetura bsica Mercado

    Projeto e Arquitetura

    Viso geral Projeto e Arquitetura Viso geral Projeto e Arquitetura

    Metodologia de projeto

    Hardware

    Software

    SE P j & A i

  • 7/26/2019 02. Intro Sist Embarcados

    22/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 22

    SE::Projeto & Arquitetura

    Metodologia de Projeto

    Principais diferenas entre o projeto de S.E. eprojeto de aplicaes para desktops Requisitos no-funcionais so fundamentais: preo,

    tamanho, peso, potncia,...

    Flexibilidade: plataforma no definida, vrios tipos deS.O., controle total da mquina. Grande preocupao com previsibilidade no uso de recursos Sistema muito restrito: eficincia no uso de recursos

    fundamental

    SE P & A M t d l i d P j t

  • 7/26/2019 02. Intro Sist Embarcados

    23/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 23

    SE::P & A::Metodologia de Projeto

    Exemplo

    Projeto de um controle remoto de televiso (infra-vermelho) Controle simples com 3 botes:

    Liga/desliga

    Seleo de canais Opera com bateria

    Deve ser leve

    Controla a televiso por infravermelho

    SE P & A M t d l i d P j t

  • 7/26/2019 02. Intro Sist Embarcados

    24/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 24

    SE::P & A::Metodologia de Projeto

    Exemplo: Restries

    Protocolo de comunicao com a televiso Proprietrio

    Uso de ROM fornecida pelo cliente

    Satisfazer as especificaes temporais fornecidaspelo cliente: Cdigo de assinatura

    Comando

    SE P & A M t d l i d P j t

  • 7/26/2019 02. Intro Sist Embarcados

    25/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 25

    SE::P & A::Metodologia de Projeto

    Exemplo: Requisitos do cliente

    Funcionamento a Bateria: 2 baterias AAA Durao: 10.000 presses nos botes

    Caractersticas do produto final:

    Peso < 100 gramas Dimenso: 10cm X 5cm X 1.5 cm Material: plstico de alta densidade Boto liga/desliga: vermelho e circular

    Boto canais: preto e quadrado Deve ser robusto o suficiente para cair de 1,5 metros sem

    danificar

    SE P & A M t d l i d P j t

  • 7/26/2019 02. Intro Sist Embarcados

    26/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 26

    SE::P & A::Metodologia de Projeto

    Exemplo: Requisitos do cliente

    Caractersticas do produto final: Sinais de infravermelho transmitidos conforme

    especificao do cliente Controle deve funcionar a 10 metros da TV

    quando posicionado at 45 graus da TV e 20 grausdo sensor

    O sinal de infravermelho deve ser transmitido at20 mseg aps boto pressionado

    SE::P & A::M t d l i d Pr j t

  • 7/26/2019 02. Intro Sist Embarcados

    27/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 27

    SE::P & A::Metodologia de Projeto

    Exemplo: Definio do Hw e Sw

    Processador: Microcontrolador de 8 bits

    Sistema Operacional: No h necessidade

    Linguagem de programao: C

    Bibliotecas de software: Nenhuma

    Componentes de Hardware: Botes LED infravermelho

    SE::P & A::M t d l i d P j t

  • 7/26/2019 02. Intro Sist Embarcados

    28/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 28

    Como o sistema vai satisfazer requerimentos do usurio dadasas restries de projeto Revisar a anlise Especificar componentes de hardware Definir Interface de hardware Especificar subsistemas de software Definir interfaces de software Especificar processos de incio e final Especificar tratamento de erros Verificar resultados da etapa de design

    SE::P & A::Metodologia de Projeto

    Requisitos do cliente

    SE::P & A::Metodolo ia de Projeto

  • 7/26/2019 02. Intro Sist Embarcados

    29/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 29

    HardwareAlgoritmo

    Layout

    Program Convolution

    SEQ i=0 FOR 2

    PAR

    IF (x[i]>= 0 c:= x[i],

    x[i]= 0 d:= x[i+1],

    x[i+1]

  • 7/26/2019 02. Intro Sist Embarcados

    30/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 30

    Software

    Program Convolution

    SEQ i=0 FOR 2

    PAR

    IF (x[i]>= 0 c:= x[i],

    x[i]= 0 d:= x[i+1],

    x[i+1]

  • 7/26/2019 02. Intro Sist Embarcados

    31/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 31

    Program Convolution

    SEQ i=0 FOR 2

    PAR

    IF (x[i]>= 0 c:= x[i],

    x[i]= 0 d:= x[i+1],

    x[i+1]

  • 7/26/2019 02. Intro Sist Embarcados

    32/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 32

    Passado

    Alto

    Custo

    System specification

    Exploration

    Sw design

    Implement, Integrate and test

    Proc.

    Inf. Spec.

    ASIC

    Inf. Spec.

    ASIC

    Inf. Spec.

    Hw design

    Proc.

    C codeASIC

    RTL strc.

    ASIC

    RTL strc.

    SE::P & A::Metodologia de Projeto

    Processo de Desenvolvimento

    SE::P & A::Metodologia de Projeto

  • 7/26/2019 02. Intro Sist Embarcados

    33/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 33

    Presente System specification

    Exploration

    Sw synthesis Highlevel synthesis

    Compilation Logic synthesis Physical design

    Proc.

    Inf. Spec.ASIC

    Inf. Spec.

    ASICInf. Spec.

    MemoryVariables.

    Proc.

    C codeASICRTL strc.

    ASIC

    RTL strc.Memory

    Cosimulation

    SE::P & A::Metodologia de Projeto

    Processo de Desenvolvimento

    SE::P & A::Metodologia de Projeto

  • 7/26/2019 02. Intro Sist Embarcados

    34/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 34

    Presente/Futuro

    Allocation Partitioning Estimation

    Sw synthesis Highlevel synthesis

    Compilation Logic synthesis Physical design

    Proc.

    Inf. Spec.ASIC

    Inf. Spec.

    ASIC

    Inf. Spec.Memory

    Variables.

    Proc.C code

    ASICRTL strc.

    ASICRTL strc.

    Memory

    Cosimulation

    Behavior1 Behavior2Y=sqrt(x)

    X = x+1

    Behavior3For I in 1,100

    m(I)=n(I)+1

    Memories Interfacing Arbitration Generation

    Hw/Sw

    Co-design

    SE::P & A::Metodologia de ProjetoProcesso deDesenvolvimento

  • 7/26/2019 02. Intro Sist Embarcados

    35/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 35

    Exame 2

    O que diferencia o projeto de S.E. do projeto de aplicativos paracomputadores?

    Mencione pelo menos 5 restries 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?

  • 7/26/2019 02. Intro Sist Embarcados

    36/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 36

    Intro. a Sistemas Embarcados

    Viso geral Projeto e Arquitetura

    Metodologia de projeto

    Hardware

    Software

    Viso geral Projeto e Arquitetura

    Metodologia de projeto

    Hardware

    Software

    Viso geral Projeto e Arquitetura

    Metodologia de projeto

    Hardware Processadores Memria Perifricos

    Software

    SE::Projeto & Arquitetura::Hardware

  • 7/26/2019 02. Intro Sist Embarcados

    37/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 37

    SE::Projeto & Arquitetura::Hardware

    Dispositivos Processadores

    Transformam, movem dados, tomam decises e/ouexecutam aes.

    No precisam ser programveis

    Tipos: Processadores de uso geral

    Processadores de Aplicao Especfica

    Processadores de propsito nico

    SE::P & A::Hw::Processadores

  • 7/26/2019 02. Intro Sist Embarcados

    38/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 38

    SE::P & A::Hw::Processadores

    Tecnologia

    Processadores variam na adequao ao problema

    Processadorde uso geral

    Processadorde propsito

    nico

    Processador deaplicaoespecfica

    FuncionalidadeDesejada

    SE::P & A::Hw::Processadores

  • 7/26/2019 02. Intro Sist Embarcados

    39/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 39

    SE::P & A::Hw::Processadores

    Processadores de uso geral Programados via software

    Memria para dados eprograma

    Vantagens Pequenos time-to-marketecusto no recorrente

    Alta flexibilidade

    Ex: PowerPC, Pentium, Z80

    + + * /

    Memria Disp. E/S

    Processador

    SE::P & A::Hw::Processadores de Uso Geral

  • 7/26/2019 02. Intro Sist Embarcados

    40/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 40

    SE::P & A::Hw::Processadores de Uso Geral

    Processadores p/ desktops

    Facilidade para desenvolvimento de software Necessrio adicionar muitos dispositivos

    auxiliares

    Conjunto de instrues no ideal

    Alto consumo de energia

    SE::P & A::Hw::Processadores de Uso Geral

  • 7/26/2019 02. Intro Sist Embarcados

    41/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 41

    SE::P & A::Hw::Processadores de Uso Geral

    Processadores Embarcados

    Proc. de uso geral adaptados para sistemasembarcados: Dispositivos internos Menor potncia

    Facilidade para desenvolver software

    Produto Clock

    (MHz)

    No.

    I/O

    Portas

    Seriais

    Timers/

    Contad.

    Canais

    DMA

    WDT Controle

    Interrupo

    Refresh

    DRAM

    80386DX 16,20,25,33 0 No 0 0 No No No

    80386EX 25 24 3 3 2 Sim Sim (8259A) Sim

    SE::P & A::Hw::Processadores

  • 7/26/2019 02. Intro Sist Embarcados

    42/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 42

    SE::P & A::Hw::ProcessadoresProc. de Aplicao Especfica (ASIPs)

    Processador programvel otimizado para uma classede problema

    Caractersticas Memria interna

    Unidade de Execuo otimizada Perifricos especiais internos

    Vantagem

    Bom compromisso entre flexibilidade, velocidade, tamanhoe potncia

    Ex: Microcontroladores (ex.Nitron, 8051)DSPs (Digital Signal Processors)

    SE::P & A::Hw::Processadores

  • 7/26/2019 02. Intro Sist Embarcados

    43/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 43

    SE::P & A::Hw::ProcessadoresProc. de Aplicao Especfica (ASIPs)

    Projeto de ASIPs: O ASIP e seu compilador so projetados em

    paralelo (Hw-Sw co-design)

    Melhor escolha de implementao de instrues(em hardware ou em software)

    43

    SE::P & A::Hw::Processadores::ASIPs

  • 7/26/2019 02. Intro Sist Embarcados

    44/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 44

    SE::P & A::Hw::Processadores::ASIPs

    Microcontroladores

    No h consenso sobre a diferena demicrocontroladores e processadores embarcados

    Nossa definio: microcontroladores no so derivados de famlias de

    processadores de propsito geral e tm, normalmente, umpoder de processamento menor.

    Para diversificar as opes, lanam-se famlias demicrocontroladoes

    SE::P & A::Hw::Processadores::ASIPs::Microcontroladores

  • 7/26/2019 02. Intro Sist Embarcados

    45/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 45

    SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresFamlia Nitron

    Lanada pela Motorola Semicondutores (Brasil) emsetembro/2002

    Vendeu mais de 1 milho de unidades at dez/2002

    Mais de 40 milhes encomendados Prmio "Product of the Year" como melhor

    lanamento do ano de 2002 (revista ElectronicProducts)

    Preo de $0.70 por unidade

    SE::P & A::Hw::Processadores::ASIPs::Microcontroladores

  • 7/26/2019 02. Intro Sist Embarcados

    46/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 46

    SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresFamlia Nitron

    Baseado na famlia HC, com 8 ou 16 pinos Memria Flash (1,5 K a 4 Kbytes) reprogramvel na

    aplicao

    Timer de dois canais de 16 bits, com comparao ePWM

    Conversor A/D de 8 bits e quatro canais

    SE::P & A::Hw::Processadores::ASIPs::Microcontroladores

  • 7/26/2019 02. Intro Sist Embarcados

    47/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 47

    SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresFamlia 8051

    Fabricada por vrias companhias como Philips,Atmel, Dallas Semiconductors, Intel

    Preos baixos

    Muitas opes

    SE::P & A::Hw::Processadores::ASIPs::Microcontroladores

  • 7/26/2019 02. Intro Sist Embarcados

    48/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 48

    SE P & A Hw Processadores ASIPs MicrocontroladoresFamlia 8051

    CPU RAM EPROM

    Data Bus

    Address Bus

    SE::P & A::Hw::Processadores::ASIPs::Microcontroladores

  • 7/26/2019 02. Intro Sist Embarcados

    49/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 49

    SE P & A Hw Processadores ASIPs MicrocontroladoresOutras Famlias

    ARM da Intel, PIC da Microchip, Srie HC daMotorola e Transputers da SGS-Thomson.

    Escolha da famlia: fatores tcnicos: velocidade, potncia, tamanho,

    perifricos ambientes de desenvolvimento existentes

    conhecimento prvio do time de desenvolvimento

    facilidade de compra, nmero de fornecedores,etc.

    SE::P & A::Hw::Processadores

  • 7/26/2019 02. Intro Sist Embarcados

    50/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 50

    SE P & A Hw ProcessadoresSeleo de Processadores

    Processor Clock speed Periph. Bus Width MIPS Power Trans. PriceGeneral Purpose Processors

    Intel PIII 1GHz 2x16 K

    L1, 256K

    L2, MMX

    32 ~900 97W ~7M $900

    IBM

    PowerPC

    750X

    550 MHz 2x32 K

    L1, 256K

    L2

    32/64 ~1300 5W ~7M $900

    MIPS

    R5000

    250 MHz 2x32 K

    2 way set assoc.

    32/64 NA NA 3.6M NA

    StrongARM

    SA-110

    233 MHz None 32 268 1W 2.1M NA

    Microcontroller

    Intel

    8051

    12 MHz 4K ROM, 128

    RAM, 32 I/O,

    Timer, UART

    8 ~1 ~0.2W ~10K $7

    Motorola

    68HC811

    3 MHz 4K ROM, 192

    RAM, 32 I/O,

    Timer, WDT, SPI

    8 ~.5 ~0.1W ~10K $5

    Digital Signal Processors

    TI C5416 160 MHz 128K, SRAM, 3 T1

    Ports, DMA, 13

    ADC, 9 DAC

    16/32 ~600 NA NA $34

    Lucent

    DSP32C

    80 MHz 16K Inst., 2K Data,

    Serial Ports, DMA

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

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

    SE::P & A::Hw::Processadores

  • 7/26/2019 02. Intro Sist Embarcados

    51/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 51

    SE::P & A::Hw::ProcessadoresProc. de Propsito nico

    Circuito digital projetado para executar um nicoalgoritmo

    Caractersticas Contm apenas o necessrio ao algoritmo No tem memria de programa

    Vantagens Projeto sob encomenda pode obter o melhor do tamanho,

    potncia, velocidade, mas perde em flexibilidade Ex: co-processadores e perifricos

    SE::P & A::Hw::Processadores de Propsito nico

  • 7/26/2019 02. Intro Sist Embarcados

    52/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 52

    SE P & A Hw Processadores de Propsito nicoApplication-Specific Integrated Circuit-ASIC

    Preo elevado inicial Perda de flexibilidade com relao a

    mudanas

    Uso depende dos requisitos de performance,consumo, tamanho, preo, etc.

    SE::P & A::Hw::Processadores de Propsito nico

  • 7/26/2019 02. Intro Sist Embarcados

    53/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 53

    SE & Hw rocessadores de rops to n coField-Programable Gate Array FPGA

    Dispositivos de hardware programveis Reconfigurvel on-line (tipo RAM)

    Tipos de programao:

    tipo PROM, programveis uma nica vez tipo EPROM, re-programveis em laboratrio

    tipo RAM, re-programveis durante a execuo.

    SE::P & A::Hw::Processadores de Propsito nico::FPGA

  • 7/26/2019 02. Intro Sist Embarcados

    54/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 54

    pFPGA - Bloco bsico

    Sada

    Entrada

    Look-upTable

    A

    BCD

    clock

    X

    Y

    SE::P & A::Hw::Processadores de Propsito nico::FPGA

    l

  • 7/26/2019 02. Intro Sist Embarcados

    55/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 55

    pFPGA: estrutura geral

    Blocos BsicosBlocos de I/O

    Interconexes

    SE::P & A::Hw::Processadores de Propsito nico::FPGA

    FPG l

  • 7/26/2019 02. Intro Sist Embarcados

    56/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 56

    pFPGA: estrutura geral

    Custo por unidade maior que o custounitrio de um ASIC

    No tem custo relacionado fabricao da

    primeira unidadeCusto

    Volume de Produo

    ASIC

    FPGA

    Especificao

    Sntese algortmica

    Comp.Estr

    Sntese lgica

    Sntese de layout

  • 7/26/2019 02. Intro Sist Embarcados

    57/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 57

    EspecificaoInicialSntese algortmica(alto nvel)

    Process(x)Begin

    y := 0.22 + 0.889

    x ;

    i := 0;

    do u nt i l i > 3

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

    i := i + 1;

    end do;

    Comportamento

    Layout

    ASIC

    Process(x)

    Begin

    y : = 0.22 + 0.889x ;

    i := 0;

    do unt i l i > 3loopy:= 0.5(y + x/y);

    i := i + 1;

    end do;

    + + * /

    Controle ProcessamentoArquitetura

    + + * /

    Arquitetura

    Estrutura

    Alg.RTL

    Estr.

    Geom.

    Sntese lgicaSntese de layoutPrototipao

    SE::P & A::Hw::Processadores::Implementao

  • 7/26/2019 02. Intro Sist Embarcados

    58/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 58

    System Design Logic Design Physical Design

    S imu lat ion Schematic en t ry Placement /Rou ting

    Hierarchy,

    Generators

    Logic-Level

    Synthesis

    High-Level Synth esis

    System-Level Synthesis

    homem-ms para 20KPort as

    70

    E & mp m

    Reduo do Tempo de Projeto

    SE::P & A::Hw::Processadores::Implementao

  • 7/26/2019 02. Intro Sist Embarcados

    59/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 59

    p

    Lei de Moore

    Uma tendncia que se mantm e foi prevista em1965 por Gordon MooreNmero de transistores praticamente dobra a cada 18 meses

    10,000

    1,000

    100

    10

    1

    0.1

    0.01

    0.001

    Transistores por

    chip

    (em milhes)

    Note:

    logarithmic scale

    SE::P & A::Hw::Processadores::Implementao

  • 7/26/2019 02. Intro Sist Embarcados

    60/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 60

    p

    Lei de Moore: Ilustrao Grfica

    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::Implementao

  • 7/26/2019 02. Intro Sist Embarcados

    61/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 61

    p

    Produtividade de Projeto

    100,000

    10,000

    1,000

    100

    10

    1

    0.1

    0.01

    1983

    1987

    1989

    1991

    1993

    1985

    1995

    1997

    1999

    2001

    2003

    2005

    2007

    2009

    Prod

    utividade

    (K)Trans./

    Pessoa

    Ms

    SE::P & A::Hw::Processadores::Implementao

  • 7/26/2019 02. Intro Sist Embarcados

    62/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 62

    p

    Produtividade de Projeto X Tam.Chip O nmero de transistores por chip aumentou muito mais

    que a capacidade de projeto Maior chip em 1981 requer 100 homem.ms

    10.000 transistores / 100 transistores / ms

    Maior chip em 2002 requer 30.000 homem.ms

    150.000.000 / 5.000 transistores / ms Custo aumentou de $1M para $300M10,000

    1,000

    100

    10

    1

    0.1

    0.01

    0.001

    Transistores/chip

    (milhes)

    100,000

    10,000

    1000

    10010

    1

    0.1

    0.01

    Produtividade

    (K)

    Trans./Homem.Ms

    Capacidadedo CI

    produtividade

    Gap

    SE::P & A::Hw::Processadores::Implementao

  • 7/26/2019 02. Intro Sist Embarcados

    63/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 63

    p

    The mythical man-month O problema pior na realidade

    O aumento da equipe pode, em algum momento, tornar o projeto maislento, devido a complexidade de gerenciamento e comunicao

    Esse efeito conhecido na comunidade de software comothe mythical man-month (Brooks 1975)

    10 20 30 400

    10000

    20000

    30000

    40000

    50000

    60000

    43

    24

    19

    1615

    1618

    23

    Tempo

    Durao em meses

    Designers

    SE::P & A::Hw::Processadores::Implementao

  • 7/26/2019 02. Intro Sist Embarcados

    64/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 64

    System-On-A-Chip

    Sistema completo implementado em um nico chip Uso de ncleos de processadores (cores)

    Baixo custo de fabricao em srie

    Alta qualidade Diminuio de defeitos de montagem e fabricaoem geral

    Baixa potncia consumida

    Pequeno tamanho

    Alta velocidade

    SE::Projeto & Arquitetura::Hardware

  • 7/26/2019 02. Intro Sist Embarcados

    65/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 65

    j q

    Memria

    Tipos bsicos Memria voltil

    Perde informaes quando no tem energia

    Usada para armazenar dados Memria no-voltil

    Mantm informaes quando no tem energia

    Usada para armazenar programas e dadospermanentes (configurao)

    SE::P & A::Hw::Memria

  • 7/26/2019 02. Intro Sist Embarcados

    66/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 66

    Nomenclatura Bsica

    Memria voltil RAM = Random Acces

    Memory

    SRAM = Static RAM DRAM = Dynamic RAM

    VRAM - Video RAM

    WRAM - Windows RAM

    Memria no-voltil 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 = Fasterasable EPROM(apagamento por bloco)

    SE::P & A::Hw::Memria

  • 7/26/2019 02. Intro Sist Embarcados

    67/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 67

    RAM Dinmica vs. Esttica

    DRAM (Dynamic Random Acess Memory) Grande capacidade de integrao (baixo custo por bit)

    Perda de informao aps algum tempo: Necessidade de

    refreshing SRAM (Static Random Acess Memory)

    Pequeno tempo de acesso

    No existe necessidade de refreshing Alto custo por bit (baixa integrao)

    SE::P & A::Hw::Memria

    B

  • 7/26/2019 02. Intro Sist Embarcados

    68/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 68

    Caractersticas Bsicas

    Tipo de Memria Categoria Apagamento Escrita Volatil

    Random-Access Mem.

    (RAM)

    Read-

    Write

    Eltrico

    byte a byte

    Eltrica Voltil

    Read-Only Mem.

    (ROM) Read- Impossvel

    Mscara

    Programmable ROM

    (PROM)

    only

    Erasable PROM

    (EPROM)

    Ultra-violeta

    Eltrica no-

    Electrically EPROM

    (EEPROM)

    Read-

    mostly

    Eltrico

    byte a byte

    voltil

    Flash EPROM Eltrico

    por bloco

    SE::Projeto & Arquitetura::Hardware

    P f

  • 7/26/2019 02. Intro Sist Embarcados

    69/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 69

    Perifricos

    Teclados e Visores de cristal lquido Temporizadores e contadores Interfaces Seriais

    Transdutores Conversores Digital-Analgicos e Analgico-Digitais

    Modulao de largura de fase - PWM

    Motores de passo

    SE::P & A::Hw::Perifricos

    ( d )/ d

  • 7/26/2019 02. Intro Sist Embarcados

    70/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 70

    Timer(temporizador)/Contador

    Dispositivo que gera interrupes em intervalosregulares de tempo. Ex: Timer do 8051

    TH0 TL0

    CarryCarry

    Clock/12

    Contadores

    Data Bus

    RD WR RD WR

    SE::P & A::Hw::Perifricos

    T cl d

  • 7/26/2019 02. Intro Sist Embarcados

    71/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 71

    Teclado

    N1N2

    N3N4

    M1M2

    M3

    M4buffer

    Controlador de

    Teclado

    Teclaapertada

    Cdigo da

    Tecla

    4

    Para saber se esta tecla est apertada, o

    controlador do teclado pe nvel 1 em M2 e testao valor de N3

    SE::P & A::Hw::Perifricos

    I t f S i i

  • 7/26/2019 02. Intro Sist Embarcados

    72/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 72

    Interfaces Seriais

    Comunicao em que cada bit enviado em seqnciapor um nico fio

    Registradorde

    Deslocamento Clock

    Data Bus

    Write

    SE::P & A::Hw::Perifricos

    I t f s S i is

  • 7/26/2019 02. Intro Sist Embarcados

    73/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 73

    Interfaces Seriais

    Exemplo de Comunicao

    RegistradordeDeslocamento Clock

    Data Bus

    Write

    RegistradordeDeslocamento Clock

    Data Bus

    Read

    Receptor Transmissor

    SE::P & A::Hw::Perifricos::Interfaces Seriais

    RS232

  • 7/26/2019 02. Intro Sist Embarcados

    74/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 74

    RS232

    RS232: Recommended Standard 232da EIA Comunicaes ponto a ponto Usado por modems, mouses e algumas impressoras

    Baixa imunidade a rudo

    Mencionado no padro: limite de transmisso 20kbps

    distncia mxima entre dispositivos: 15 metros

    Na prtica: pode-se transmitir at cerca de 200kbps

    atinge 100m.

    SE::P & A::Hw::Perifricos::Interfaces Seriais

    RS422 RS485

  • 7/26/2019 02. Intro Sist Embarcados

    75/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 75

    RS422 e RS485

    Adequadas para condies adversas de operao comunicao por pares de fio tranados

    velocidades superiores a 100Mbps

    distncias de vrios quilmetros

    conexo de vrios dispositivos na mesma linha

    SE::P & A::Hw::Perifricos::Interfaces Seriais

    U i l S i l B

    USB

  • 7/26/2019 02. Intro Sist Embarcados

    76/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 76

    Universal Serial Bus - USB Taxas de at 12Mbps

    At 127 perifricos por linha

    Conexo com sistema ligado (hot plugging)

    Reconhecimento automtico do dispositivo(Plug-and-Play)

    Microcontroladores dotados de interfaces USB

    SE::P & A::Hw::Perifricos::

    Interfaces Sem

    -

    FioI f lh

  • 7/26/2019 02. Intro Sist Embarcados

    77/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 77

    Infravermelho IrDA (Infrared Data Association 1993)

    Vrios padres de comunicao IrDA-Data, IrDA-Control, e o Air

    IrDA-Data

    ponto-a-ponto cone de incidncia estreito (30)

    distncia mxima de 1 metro

    velocidades de 9600 bps a 16 Mbps.

    base instalada com alta taxa de crescimento.

    SE::P & A::Hw::Perifricos::Interfaces Sem

    -

    FioBl t th

  • 7/26/2019 02. Intro Sist Embarcados

    78/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 78

    Bluetooth ondas de rdio comunicao de voz e dados

    pequenas distncias (10cm a 10m)

    ponto-a-multiponto (broadcast) faixa de frequncia usada de 2.4 GHz

    suporta rede de at 8 dispositivos

    fcil integrao com protocolo TCP/IP. Vrias companhias adotando como Motorola,

    Ericsson, Nokia, IBM, Toshiba, Intel, entre outras.

    SE::P & A::Hw::Perifricos::

    Visor de Cristal Lquido

    LCD

  • 7/26/2019 02. Intro Sist Embarcados

    79/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 79

    Visor de Cristal Lquido - LCD

    vrios modelos alfanumricos, que s apresentam letras, nmeros ecaracteres de pontuao

    grficos que permitem o acesso a cada pontoindependentemente

    vrios tamanhos

    com ou sem iluminao (backlight)

    interface, em geral, paralela. Ponto importante da interface com o usurio

    SE::P & A::Hw::Perifricos::

    Transdutores

  • 7/26/2019 02. Intro Sist Embarcados

    80/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 80

    Transdutores Capazes de converter tipos de energia Exemplo: microfones de carvo

    A presso do ar (onda sonora) desloca o diafragma que muda a densidade de partculas de carvo variando a resistncia eltrica

    que produz uma onda eltrica similar sonora

    corrente

    -+diafragma

    Partculas de carvo

    SE::P & A::Hw::Perifricos::

    Transdutores

  • 7/26/2019 02. Intro Sist Embarcados

    81/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 81

    Transdutores

    A corrente eltrica varivel aplicada bobina que induz um campo magntico que movimenta o diafragma que desloca o ar formando uma onda sonora

    SN im

    Diafragma

    Bobina

    corrente

    Alto-falante

    SE::P & A::Hw::Perifricos::

    Transdutores

  • 7/26/2019 02. Intro Sist Embarcados

    82/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 82

    Transdutores

    Materiais especiais piezzo-eltricos, so capazes de se expandir ou contrair de

    acordo com a voltagem (e vice-versa)

    sensores de presso, peso, e em microfones e tweeters

    termopares, geram voltagens proporcionais suatemperatura

    clulas fotoeltricas, geram voltagens ou modificam aresistncia proporcionalmente iluminao sobre elas

    SE::P & A::Hw::Perifricos::

    Conversores Analgico/Digitais

  • 7/26/2019 02. Intro Sist Embarcados

    83/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 83

    Conversores Analgico/Digitais

    Converso de valores analgicos (contnuos notempo e na amplitude) em valores digitais(nmeros binrios)

    Ondasonora

    Ondaeltrica

    analgica

    Valores binrios(amostras temporais)

    SE::P & A::Hw::Perifricos::

    Conversores Analgico/Digitais

  • 7/26/2019 02. Intro Sist Embarcados

    84/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 84

    Conversores Analgico/Digitais

    Relao de Valores

    Vmax = 7.5V

    0V

    1111

    1110

    0000

    0010

    0100

    0110

    1000

    1010

    1100

    0001

    0011

    0101

    0111

    1001

    1011

    1101

    0.5V

    1.0V

    1.5V

    2.0V

    2.5V

    3.0V

    3.5V

    4.0V

    4.5V

    5.0V

    5.5V

    6.0V

    6.5V

    7.0V

    Converso

    Analgico Digital

    4

    3

    2

    1

    t1 t2 t3 t4

    0100 1000 0110 0101

    tempo

    EntradaAnalgica

    (V)

    Sada Digital

    Converso

    DigitalAnalgico

    4

    3

    2

    1

    0100 1000 0110 0101

    t1 t2 t3 t4tempo

    Sada

    Analgica(V)

    Entrada Digital

    SE::P & A::Hw::Perifricos::

    Modulao de largura de pulso (PWM)

  • 7/26/2019 02. Intro Sist Embarcados

    85/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 85

    Modulao de largura de pulso (PWM)

    Onda quadrada definio do perodo definio do duty cycle (percentual do tempo em que o

    sinal fica em 1)

    Perodo

    30% 70%

    Duty cycle

    SE::P & A::Hw::Perifricos::

    Modulao de largura de pulso (PWM)

  • 7/26/2019 02. Intro Sist Embarcados

    86/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 86

    Modulao de largura de pulso (PWM)

    clk

    pwm

    duty cycle 25%tenso mdia = 1.25V

    clk

    pwm

    clkpwm

    Gera pulsos comduty cycledefinido

    Controla a tensomdia de umdispositivo externo(ex: motor, lmpada)

    Mais simples queconversor DC-DCou A/D

    duty cycle 50%tenso mdia = 2,5V

    duty cycle 75%tenso mdia = 3,75V

    SE::P & A::Hw::Perifricos::

    Modulao de largura de pulso (PWM)

  • 7/26/2019 02. Intro Sist Embarcados

    87/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 87

    Modulao de largura de pulso (PWM)

    Controle de motores de corrente contnua e desolenides

    Mola

    Bobina

    Im

    permanente

    SE::P & A::Hw::Perifricos::

    Motores de Passo

  • 7/26/2019 02. Intro Sist Embarcados

    88/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 88

    Motores de Passo

    Tipos de motores que giram passo a passo,girando alguns graus por vez

    SE::P & A::Hw::Perifricos::

    Motores de Passo

  • 7/26/2019 02. Intro Sist Embarcados

    89/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 89

    Motores de Passo

    AA

    BB

    Sequencia A B A B

    1 + + - -

    2 - + + -

    3 - - + +4 + - - +

    5 + + - -

    Para rodar o motor necessrio seguir umaseqncia de acionamento dasbobinas

    Existem controladores parafacilitar esta tarefa

    Requer driver de potncia

    Q2

    1K

    1KQ1

    +V

    EntradaSaida

    Driver de

    potncia

    Intro. a Sistemas Embarcados

  • 7/26/2019 02. Intro Sist Embarcados

    90/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 90

    m m

    Viso geral Projeto e Arquitetura

    Hardware Processadores Memria Perifricos

    Software

    Viso geral Projeto e Arquitetura

    Hardware

    Software

    Viso geral Projeto e Arquitetura

    Hardware

    Software Linguagens Sistemas operacionais de tempo real

    SE::Projeto & Arquitetura::SoftwareLinguagens Empregadas

  • 7/26/2019 02. Intro Sist Embarcados

    91/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 91

    Linguagens 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 deexecuo fundamental para sistemas crticos

    SE::P & A::Sw::Linguagens

    Linguagens orientadas a objetos

  • 7/26/2019 02. Intro Sist Embarcados

    92/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 92

    Linguagens orientadas a objetos

    Linguagens orientadas a objeto ciclo de desenvolvimento mais rpido melhores mtodos de estruturao e modularizao

    reutilizao de objetos

    criao e destruio dinmica de objetos, garbagecollectors criam problemas para previsibilidade temporale de alocao de memria

    Java, no h um modelo definido para o escalonamento

    das threads. Inviabiliza tempo real

    SE::P & A::Sw::Linguagens

    Linguagens imperativas

  • 7/26/2019 02. Intro Sist Embarcados

    93/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 93

    C e Assembly Excelente controle do hardware e do tempo de execuo Alta performance

    Dificuldades no desenvolvimento

    Assembly: Difcil modularizao e reutilizao

    Linguagens imperativas

    SE::P & A::Sw::Linguagens

    Linguagens especiais

  • 7/26/2019 02. Intro Sist Embarcados

    94/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 94

    Ada Projetada pelo Department of Defense dos EUA

    Esterel Voltada para sistemas reativos Baseada em eventos e aes

    Semelhante s linguagens visuais (ex. Visual Basic)

    Linguagens especiais

    SE::P & A::Software

    Sistemas de Tempo Real

  • 7/26/2019 02. Intro Sist Embarcados

    95/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 95

    Sistemas de Tempo Real

    Sistemas computacionais de tempo real: Tem aspectos temporais em sua especificao

    Submetidos a requisitos de natureza temporal

    Resultados devem estar corretos lgica e temporalmenteFazer o trabalho usando o tempo disponvel

    Requisitos definidos pelo ambiente fsico

    Aspectos temporais No esto limitados a uma questo de desempenho

    Esto diretamente associados com a funcionalidade

    SE::P & A::Sw::Sistemas de Tempo Real

    STR e o Ambiente

  • 7/26/2019 02. Intro Sist Embarcados

    96/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 96

    STR e o Ambiente

    STR

    Ambiente

    EstmulosSensores

    RespostasAtuadores

    SE::P & A::Sw::Sistemas de Tempo Real

    STR e o Ambiente

  • 7/26/2019 02. Intro Sist Embarcados

    97/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 97

    STR e o Ambiente

    Fluxo de controle definido pelo ambiente Tarefas ativadas por estmulos do ambiente STR geralmente no tem como limitar estes

    estmulos

    Tempos de resposta ao ambiente definemdeadlines

    Dados com prazos de validade Dados desatualizados podem conduzir arespostas incorretas

    SE::P & A::Sw::Sistemas de Tempo Real

    reas de Pesquisa

  • 7/26/2019 02. Intro Sist Embarcados

    98/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 98

    reas de Pesquisa

    Escalonamento (mais estudado)

    Modelos e linguagens de programao

    Protocolos de comunicao

    Arquitetura de computadores Metodologias de desenvolvimento

    ...

    SE::P & A::Sw::Sistemas de Tempo Real

    Conceitos Bsicos

  • 7/26/2019 02. Intro Sist Embarcados

    99/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sistem as Em barc ados 99

    Conceitos Bsicos

    Tarefa ( task ) Segmento de cdigo cuja execuo possui atributo temporal prprio Exemplo: mtodo em OO, subrotina, trecho de um programa

    Deadline

    Instante mximo desejado para a concluso de uma tarefa

    SE::P & A::Sw::STR:: Conceitos Bsicos

    Criticidade

  • 7/26/2019 02. Intro Sist Embarcados

    100/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 100

    Criticidade

    Sistema de tempo real crtico (Hard real-time system)

    Todas as tarefas tm Hard Deadline

    Perda do deadline pode ter conseqncias catastrficas

    necessrio garantir requisitos temporais ainda durante o projeto

    Exemplo: usina nuclear, industria petroqumica, msseis

    Sistema de tempo real no crtico (Soft real-time system)

    O requisito temporal descreve apenas o comportamento desejado

    Perda do deadline no tem conseqncias catastrficas

    Existe interesse em terminar a tarefa mesmo com atraso

    Exemplo: incio de gravao de vdeo-cassete

    SE::P & A::Sw::STR:: Conceitos Bsicos

    Criticidade

  • 7/26/2019 02. Intro Sist Embarcados

    101/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 101

    Criticidade

    Deadline Firm

    Perda do deadline no tem conseqncias catastrficas

    No existe valor em terminar a tarefa aps o deadline

    Exemplo: ler o valor da temperatura

    SE::P & A::Sw::STR:: Conceitos Bsicos

    Modelagem das Tarefas

  • 7/26/2019 02. Intro Sist Embarcados

    102/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 102

    Modelagem das Tarefas

    Deadline Tempo mximo para trmino deuma tarefa

    Release-time Tempo mnimo para incio de

    uma tarefa Tempo de execuo: considera o pior caso

    WCET Worst-Case Execution Time

    SE::P & A::Sw::STR:: Conceitos Bsicos

    Modelagem das Tarefas

  • 7/26/2019 02. Intro Sist Embarcados

    103/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 103

    Modelagem das Tarefas

    Periodicidade

    Tarefas Aperidicas

    So disparadas em intervalos imprevisveis de tempo

    No garantem escalonabilidade

    Tarefas Espordicas conhecido o intervalo mnimo entre execues (inter-arrival

    time)

    Tarefas Peridicas

    Devem ser executadas em intervalos regulares de tempo

    SE::P & A::Sw::STR:: Conceitos Bsicos

    Modelagem das Tarefas

  • 7/26/2019 02. Intro Sist Embarcados

    104/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 104

    Modelagem das Tarefas

    Folga (slack) = deadline liberao tempo de execuo

    Atraso = MX( 0, concluso deadline)

    deadlineChegada(arrival)

    Liberao(release)

    Incio(start time)

    Concluso(end time)

    tempo de execuo(execution time)

    atraso na liberao(release jitter)

    tempo

    Tempo de resposta (response time)

    SE::P & A::Sw::STR:: Conceitos

    ::

    Modelagem das Tarefas

    Tarefas Peridicas

  • 7/26/2019 02. Intro Sist Embarcados

    105/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 105

    Tarefas Peridicas

    A1tempo

    P

    D

    a1 r1 s1 e1 d1

    A2

    P

    D

    a2=r2 s2 e2 d2

    J1

    SE::P & A::Sw::STR:: Conceitos

    ::

    Modelagem das Tarefas

    Tarefas Espordicas

  • 7/26/2019 02. Intro Sist Embarcados

    106/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 106

    Tarefas Espordicas

    E1tempo

    minIT

    D

    a1 s1 e1 d1

    E2

    minIT

    D

    a2=s2 e2 d20

    evento1 evento2

    SE::P & A::Sw::STR:: Conceitos

    ::

    Modelagem das Tarefas

    Relaes entre tarefas

  • 7/26/2019 02. Intro Sist Embarcados

    107/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 107

    Relaes entre tarefas

    Relaes entre tarefas Precedncia: XY

    A tarefa X deve terminar antes de Y comear

    Excluso mtua: XY As tarefas X e Y no podem executar simultaneamente

    Co-execuo: X||Y As tarefas X e Y tm que executar simultaneamente

    Preempo: XY A tarefa X interrompida para que Y possa executar e, aps o

    trmino de Y, a tarefa X continua a executar

    SE::P & A::Sw::STR

    Escalonamento

  • 7/26/2019 02. Intro Sist Embarcados

    108/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 108

    Abordagens deMelh or Esf oro

    Abo rdagens com Garant iaem Tempo d e Projeto

    Execut ivo

    Cclico

    Dir ig ido a

    Prior idades

    Tcnicas

    Adaptat ivas

    Abordagens comGaranti a Dinm ica

    Mtodo s de Esc alonam ento

    Escalonamento de Processos

    Abstrao

  • 7/26/2019 02. Intro Sist Embarcados

    109/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 109

    Abstrao

    Uma mquina para cada processo Paralelismo real

    T11

    T12

    T0

    P1

    P2

    P3

    T22P3

    Escalonamento de Processos

    Realidade

  • 7/26/2019 02. Intro Sist Embarcados

    110/146

    Srgio Cavalcante - CIn/UFPE Intr od uo aos Sis temas Emb arc ado s 110

    Compartilhamento do tempo

    Pseudoparalelismo

    T11T12

    T0 T22 T0

    1 121905141 t70

    P1

    Tipos de Escalonamento

    Preemptivo

  • 7/26/2019 02. Intro Sist Embarcados

    111/146

    Srgio Cavalcante - CIn/UFPE Intr od uo ao s Si st emas Embar cad os 111

    p Permite a suspenso temporria de processos

    Quantum ou time-slice: perodo de tempo durante o qual umprocesso usa o processador a cada vez

    T11T12

    T0 T22 T0

    1 121905141 t70

    P1

    Preempo

    Quantum grande:

    Diminui nm. de mudanas de contexto e overhead do S.O.

    Ruim para processos interativos

    Escalonamento de Processos

    Processo

  • 7/26/2019 02. Intro Sist Embarcados

    112/146

    Srgio Cavalcante - CIn/UFPE Intr od uo aos Sis temas Emb arc ado s 112

    Processo Estados de um processo

    Pronto Rodando

    Bloqueado

    Criao Trmino

    ID do Processo

    Estado

    Program Coun ter

    Ponteiros d a Memria

    Contexto (regs.)

    I/O Status

    Prior idade

    Info rm aes gerais tempo de CPU

    lim ites , usurio , etc.

    Process Cont ro l B lock - PCB

    Filas de Escalonamento

  • 7/26/2019 02. Intro Sist Embarcados

    113/146

    Srgio Cavalcante - CIn/UFPE Intr od uo aos Sis temas Emb arc ado s 113

    Filas de Escalonamento

    Long-

    term

    queue

    Short-

    term

    queueCPU

    I/O

    queue

    I/O

    queue

    I/O

    queueI/O

    I/O

    I/O

    Process

    requestFIM

    High-level

    scheduling

    Short-term

    scheduling

    I/O scheduling

    Interrupt

    Handler

    Interrupt

    of process

    Interrupt

    from I/O

    Tipos de Escalonamento

    Round

    -

    Robin

  • 7/26/2019 02. Intro Sist Embarcados

    114/146

    Srgio Cavalcante - CIn/UFPE Intr od uo aos Sis temas Emb arc ado s 114

    Uso de uma lista de processos sem prioridade Escalonamento preemptivo Simples e justo

    Bom para sistemas interativos

    Tar. BContexto

    Tar. CContexto

    CPU:Running

    Tar. AContexto

    Tar. AContexto

    Tar. AContexto

    Tipos de Escalonamento

    First

    -

    In First

    -

    Out (FIFO)

  • 7/26/2019 02. Intro Sist Embarcados

    115/146

    Srgio Cavalcante - CIn/UFPE Intr od uo aos Sis temas Emb arc ado s 115

    ( )

    Uso de uma lista de processos sem prioridade Escalonamento no-preemptivo

    Simples e justo

    Bom para sistemas em batch

    B C D E F NCPU

    A

    FIM

    Tipos de Escalonamento

    Exemplo

  • 7/26/2019 02. Intro Sist Embarcados

    116/146

    Srgio Cavalcante - CIn/UFPE Intr od uo aos Sis temas Emb arc ado s 116

    p

    Trs processos Cada um consome 1 hora de CPU

    Calcule o tempo de resposta considerandoa) Round-robin (time-slice = 10ms)b) FIFO

    Caractersticas de Escalonamento

  • 7/26/2019 02. Intro Sist Embarcados

    117/146

    Srgio Cavalcante - CIn/UFPE Intr od uo aos Sis temas Emb arc ado s 117

    Justia (fairness) Todos os processos tm chances iguais de uso dos

    processador

    Eficincia

    O objetivo manter o processador 100% ocupado Tempo de Resposta

    Tempo entre a requisio da ao e a obteno doresultado

    Throughput Nmero de tarefas por unidade de tempo

    SE::P & A::Sw::STR::Escalonamento

    Garantia Dinmica e de Melhor Esforo

  • 7/26/2019 02. Intro Sist Embarcados

    118/146

    Srgio Cavalcante - CIn/UFPE Intr od uo aos Sis temas Emb arc ado s 118

    Garantia Dinmica e de Melhor Esforo

    No existe garantia que os deadlines sero cumpridos

    Sempre que uma tarefa ativada ocorre uma anliseda sua escalonabilidade

    Passvel de sofrer sobrecarga

    Capaz de fornecer anlise probabilstica Simulao, teoria das filas de tempo real, etc

    Algumas abordagens oferecem Garantia Dinmica Garante o deadline (ou no) no incio da ativao

    SE::P & A::Sw::STR::Escalonamento

    Garantia Dinmica e de Melhor Esforo

  • 7/26/2019 02. Intro Sist Embarcados

    119/146

    Srgio Cavalcante - CIn/UFPE Intr od uo aos Sis temas Emb arc ado s 119

    Garantia Dinmica e de Melhor Esforo

    Descarte de Tarefas na Sobrecarga As tarefas executadas cumprem o deadline Mais apropriado para tarefas com deadline firm

    Pode cancelar ativaes individuais ou tarefas completas

    Objetivo maximizar o nmero de tarefas executadas

    Tarefas podem ter importncia (peso) diferentes

    Maximiza o somatrio dos pesos das tarefas executadas

    Abordagem semelhante: aumenta o perodo das tarefas

    SE::P & A::Sw::STR::Escalonamento

    Garantia Dinmica e de Melhor Esforo

  • 7/26/2019 02. Intro Sist Embarcados

    120/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 120

    Garantia Dinmica e de Melhor Esforo

    Perda de deadlines na sobrecarga Em sobrecarga ATRASA algumas tarefas Possui uma funo que indica o valor de cada tarefa em funo

    do seu instante de concluso (time-value function)

    Objetivo maximizar o valor total do sistema (somatrio detodas as tarefas)

    d0

    valor

    Tempo de

    Resposta

    SE::P & A::Sw::STR::Escalonamento

    Garantia Dinmica e de Melhor Esforo

  • 7/26/2019 02. Intro Sist Embarcados

    121/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 121

    Garantia Dinmica e de Melhor Esforo

    Reduo da Preciso na Sobrecarga Em sobrecarga diminui a preciso de algumas tarefas Objetivo fazer o possvel dentro do tempo disponvel

    Exemplos:

    Ignorar bits menos significativos de cada pixel

    Trabalhar com amostras de udio menos precisas

    Alterar resoluo e tamanho de imagem na tela

    Simplificar animaes Usar algoritmos de controle mais simples

    Interromper pesquisa em algoritmos de inteligncia artificial

    SE::P & A::Sw::STR::Escalonamento

    Garantia Dinmica e de Melhor Esforo

  • 7/26/2019 02. Intro Sist Embarcados

    122/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 122

    Sistemas de Prioridade Dinmica Earliest-Deadline-First (EDF)

    Escalonamento preemptivo de prioridade dinmica

    O deadline calculado quando a tarefa disparada. O escalonador pe para executar a tarefa com menor

    deadline

    Least Slack Scheduling Escalonamento no-preemptivo de prioridade dinmica

    A tarefa com menor sobra (slack) tem maior prioridade

    Garantia Dinmica e de Melhor Esforo

    SE::P & A::Sw::STR::Escalonamento

    Abordagens com Garantia em Projeto

  • 7/26/2019 02. Intro Sist Embarcados

    123/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 123

    Para obter garantias em projeto necessrio:

    Conhecimento completo das tarefas e do

    mtodo de implementaoAnlise feita em projeto

    Carga limitada e conhecida

    SE::P & A::Sw::STR::Escalonamento

    Abordagens com Garantia em Projeto

  • 7/26/2019 02. Intro Sist Embarcados

    124/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 124

    Vantagens Determina em projeto que todos os deadlines sero

    cumpridos

    Necessrio para aplicaes crticas

    Desvantagens

    Necessrio conhecer exatamente a carga

    Necessrio reservar recursos para o pior caso

    Difcil determinar o pior caso em solues off- the- shelf

    Gera enorme subutilizao de recursos

    SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

    Modelos de Implementao

  • 7/26/2019 02. Intro Sist Embarcados

    125/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 125

    Time-driven systems Sistemas em que a execuo regida pelo tempo

    No existe outra fonte de eventos alm do timer interno

    A ordem de execuo toda definida a priori

    Event-driven systems A execuo regida por eventos externos e eventos do timer

    A garantia em projeto se d pelo uso de prioridades fixas paraas tarefas

    SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

    Time

    -

    Driven Systems

  • 7/26/2019 02. Intro Sist Embarcados

    126/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 126

    Executor Cclico Tarefas so arranjadas numa lista que define a ordem

    e tempo de execuo de cada uma

    Cada tarefa colocada em execuo em momentoscontrolados por um temporizador (timer)

    A lista executada repetidamente, caracterizandociclos de execuo

    No usada concorrncia: tarefas grandes devem serquebradas manualmente se necessrio.

    SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

    Time

    -

    Driven Systems:

    Exemplo 1

  • 7/26/2019 02. Intro Sist Embarcados

    127/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 127

    Considere 4 funes com as seguintes caractersticas: Funo 1: ciclo de 50Hz (20ms)

    Funo 2: ciclo de 25 Hz (40ms)

    Funo 3: ciclo de 12,5 Hz (80ms)

    Funo 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

  • 7/26/2019 02. Intro Sist Embarcados

    128/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 128

    Time Driven Systems: Exemplo 2

    20 50

    0 50

    10 60 70

    C ( = 20) D ( = 20)

    A ( = 20)

    Relations: A

    C B C

    Processor1

    Processor2

    40 80

    20

    30

    dA

    rA

    dB dC dDrC rB , rD

    B ( = 20)cB cC

    cD

    cA

    20 50

    0

    10 60 70

    B ( = 20)C ( = 20) D ( = 20)

    A ( = 20)

    Relations: C A BC

    Processor1

    Processor2

    40 80

    30

    30

    dA

    rA

    dB

    dD

    rC

    dC

    r,BD

    cBc

    CcD

    cA

    50

    r

    SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

    Time

    -

    Driven Systems:

    Exemplo 3

  • 7/26/2019 02. Intro Sist Embarcados

    129/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 129

    Relations: A B,

    BC, CD

    Relations: B A,

    BC, CD

    20 60 70

    m1

    m2

    9540 100

    4025

    dC

    dD

    rC

    rA

    dA rD

    0

    rB

    5

    dErE

    45 55

    D

    80

    E

    60

    dB

    C

    B

    70

    m

    m2

    95

    4525

    dC

    dD

    rC

    r,A rD

    0

    rB

    5

    dErEdA

    45 55 80

    60

    dB

    25

    C

    EDA B

    75

    A

    Relations: A

    B,

    BC, CD Relations:B A

    , BC, CD

    20 60 70

    m1

    m2

    9540 100

    4025

    dC

    dD

    rC

    rA

    dA rD

    0

    rB

    5

    dErE

    45 55

    D

    80

    E

    60

    dB

    C

    B

    70

    m

    m2

    95

    4525

    dC

    dD

    rC

    r,A rD

    0

    rB

    5

    dErEdA

    45 55 80

    60

    dB

    25

    C

    EDA B

    75

    A

    SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

    Time

    -

    Driven Systems: Executor Cclico

  • 7/26/2019 02. Intro Sist Embarcados

    130/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 130

    Funo 1

    Funo 2

    Funo 3

    Funo 4

    Disp. E/S

    Disp. E/S

    Executor

    Cclico

    Interrupodo Timer

    Arquitetura de Software

    SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

    Event

    -

    Driven Systems

  • 7/26/2019 02. Intro Sist Embarcados

    131/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 131

    Sistemas de Prioridade Fixa Tarefas tm prioridades definidas em tempo de projeto Tarefas de maior prioridade preemptam as de menor

    prioridade

    Prioridades so definidas com base nas restriestemporais

    A concorrncia requer mecanismos para evitar

    deadlock e inverso de prioridade (exemplo:semforos, herana de prioridade)

    Para garantir respostas previsveis, tarefas aperidicasno so tratadas

    SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

    Event

    -

    Driven Systems

  • 7/26/2019 02. Intro Sist Embarcados

    132/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 132

    Sistemas de Prioridade Fixa Escalonamento Rate-Monotonic (RMS) Escalonamento preemtivo de prioridade fixa

    Tarefas mais freqentes tm maior prioridade

    Os deadlines devem ser iguais aos perodos

    Tarefas no tm nenhuma relao entre si (precedncia,excluso, etc)

    timo, ou seja, nenhum outro mtodo melhor que estecom estas condies

    SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

    Event

    -

    Driven Systems

  • 7/26/2019 02. Intro Sist Embarcados

    133/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 133

    Sistemas de Prioridade Fixa Deadline-Monotonic Scheduling:

    Semelhante ao RMS, mas quanto menor o deadline

    da tarefa maior sua prioridade Os deadlines so fixos e relativos aos comeos dos

    perodos

    SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

    Event

    -

    Driven Systems

  • 7/26/2019 02. Intro Sist Embarcados

    134/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 134

    Tarefa 1

    Tarefa 2

    Tarefa 3

    Tarefa 4

    Disp. Entrada

    Interrupodo Timer

    Recurso 1

    Recurso 2

    Atuador

    Disp. SadaSensor

    Arquitetura de Software

    SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

    Event

    -

    Driven Systems

  • 7/26/2019 02. Intro Sist Embarcados

    135/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 135

    Anlise de EscalonabilidadeEscalonamento Rate-Monotonic (RMS) Notao:

    Processo: pi Perodo: Ti Tempo de Computao: Ci Deadline: Di

    Em um conjunto de n processos peridicos independentesescalonados pelo RMS sempre obedecer o seu deadline se(condio suficiente mas no necessria):

    onde, U(n) o limite de utilizao para n processos.n U(n) 69%

    12...1

    1

    1

    n

    n

    n

    nnUTC

    T

    C

    SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

    Event

    -

    Driven Systems

  • 7/26/2019 02. Intro Sist Embarcados

    136/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 136

    Escalonamento Rate-Monoto nic (RMS)

    U(n) = 1,0 se o conjunto de tarefas harmnico

    Um conjunto de tarefas harmnico se os perodosde todas as tarefas so mltiplos ou sub-mltiplos

    entre si

    U(n) = 0,88 na mdia de tarefas randmicas

    SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto

    Event

    -

    Driven Systems

  • 7/26/2019 02. Intro Sist Embarcados

    137/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 137

    Anlise de Escalonabilidade Anlise baseada em Tempo de Resposta

    Calcula tempo de resposta no pior caso e compara ao deadline

    Para a tarefa mais prioritria R1 = C1

    Demais tarefas sofremin ter fernc ia

    das tarefas com prioridademaior

    Neste caso, Ri= Ci+ Ii

    Interferncia mxima a partir do Ins tan te Crti co

    Instante onde todas as tarefas so liberadas simultaneamente

    Garantia em Projeto :: Event

    -

    Driven Systems

    Anlise de Escalonabilidade

  • 7/26/2019 02. Intro Sist Embarcados

    138/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 138

    Interferncia entre tarefas

    Seja Pj uma tarefa com prioridade maior que Pi Quantas vezes Pj pode acontecer durante a execuo de Pi ?

    Ri/Tj

    Qual a interferncia total de Pj sobre Pi ?

    Ri/Tj x Cj

    Qual a interferncia total sobre Ti ?

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

    Garantia em Projeto :: Event

    -

    Driven Systems

    Anlise de Escalonabilidade

  • 7/26/2019 02. Intro Sist Embarcados

    139/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 139

    O tempo mximo de resposta de pi Ri = Ci + Ii

    Ri = Ci + Ri/Tj x Cj

    O clculo feito recursivamente em iteraessucessivas, at: Tempo de resposta passar do deadline (falha)

    Resultado convergir, ou seja, iterao x+ 1 igual a iterao x

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

    Garantia em Projeto :: Event

    -

    Driven Systems

    Anlise de Escalonabilidade

  • 7/26/2019 02. Intro Sist Embarcados

    140/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 140

    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

    Anlise de Escalonabilidade

  • 7/26/2019 02. Intro Sist Embarcados

    141/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 141

    Suponha uma tarefa espordica liberada por eventoexterno

    Eventos podem ser amostrados periodicamente

    Sinalizao do evento pode ter atraso varivel

    Release Jitter: Atraso mximo na liberao da tarefaRi = Ji + Wi, Wi = Ci + (Wi+Jj)/Tj x Cj

    Garantia em Projeto :: Event

    -

    Driven Systems

    Anlise de Escalonabilidade

  • 7/26/2019 02. Intro Sist Embarcados

    142/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 142

    Bloqueios

    Ocorrem devido s relaes de excluso mtua

    Suponha p1 e p2, p1 com maior prioridade Se p2 fica bloqueada esperando por p1

    Ok, p1 tem mesmo prioridade superior Se p1 fica bloqueada, esperando por p2

    Clculo do tempo de resposta deve incluir a espera mxima Bi

    Ri = Ji + Wi

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

    Garantia em Projeto :: Event

    -

    Driven Systems

    Anlise de Escalonabilidade

  • 7/26/2019 02. Intro Sist Embarcados

    143/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 143

    Sees Crticas e Inverso de Prioridades

    Garantia em Projeto :: Event

    -

    Driven Systems

    Anlise de Escalonabilidade

  • 7/26/2019 02. Intro Sist Embarcados

    144/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 144

    Protocolo de Herana de Prioridades

    Sistemas Operacionais de Tempo Real

  • 7/26/2019 02. Intro Sist Embarcados

    145/146

    Srgio Cavalcante - CIn/UFPE Introd uo aos Sist emas Emb arcado s 145

    Escalonamento preemptivo

    Escalona processos com base em prioridades (no justo, pode provocar starvation)

    Todas as chamadas ao S.O. tem tempo mximo de

    execuo definido e otimizado A mudana de contexto tem tempo limitado, conhecido

    (fixed overhead) e otimizado

    Tratamento de inverso de prioridade

    Referncias

  • 7/26/2019 02. Intro Sist Embarcados

    146/146

    Livro de Sistemas de Tempo Real

    Jean- Marie Farines, Joni da Silva Fraga, Rmulo Silvade Oliveira. Escola de Computao2000 - IME- USPhttp:// www. lcmi. ufsc. br/ gtr/ livro/ principal. Htm

    IEEE Computer Society, Technical Committee onReal- Time Systems (IEEE- CS TC- RTS)http:// www. cs. bu. edu/ pub/ ieee- rts

    The Concise Handbook Of Real-Time Systems.TimeSys Corporation, Verso 1.1, 2000.http://www.timesys.com