• Nenhum resultado encontrado

Introdução aos Introdução aos Sistemas Embarcados Sistemas Embarcados

N/A
N/A
Protected

Academic year: 2022

Share "Introdução aos Introdução aos Sistemas Embarcados Sistemas Embarcados"

Copied!
146
0
0

Texto

(1)

Introdução aos Introdução aos

Sistemas Embarcados Sistemas Embarcados

Sergio Cavalcante

Centro de Informática – UFPE

(2)

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

(3)

Introdução aos Introdução aos

Sistemas Embarcados

Sistemas Embarcados

(4)

Intro. a Sistemas Embarcados Intro. a Sistemas Embarcados

• Visão geral

• Projeto e Arquitetura

• Visão geral

– Áreas de aplicação – Características

– Arquitetura básica – Mercado

• Projeto e Arquitetura

(5)

SE::Visão Geral::

SE::Visão Geral::

Sistemas Embarcados 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....

(6)

SE::Visão Geral::

SE::Visão Geral::

Áreas de Aplicação Á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;

(7)

SE::Visão Geral::

SE::Visão Geral::

Áreas de Aplicação Á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.

(8)

SE::Visão Geral::Aplicações SE::Visão Geral::Aplicações

Automóveis - Volvo S80 Automóveis - Volvo S80

2 Redes CAN

250Kbps

125Kbps

4 Redes baixa velocidade

10,4Kbps

18 ECUs

(9)

SE::Visão Geral::

SE::Visão Geral::

Características 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

(10)

SE::Visão Geral::

SE::Visão Geral::

Arquitetura Básica 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

(11)

SE::Visão Geral::

SE::Visão Geral::

Arquitetura de Hardware Arquitetura de Hardware

ASIC ASIP DSP uP uC Mem

Código

DSP Código

uP RTOS

A/D D/A

Sensores Atuadores

Eventos

Eventos

(12)

SE::Visão Geral::Arquitetura SE::Visão Geral::Arquitetura

Exemplo: Câmera Digital Exemplo: Câmera Digital

A/D CCD preprocessor Pixel coprocessor D/A

Microcontroller JPEG codec

DMA controller

Memory controller ISA bus interface UART

Display ctrl

LCD ctrl

Multiplier/Accum.

(13)

SE::Visão Geral::Arquitetura de Hardware SE::Visão Geral::Arquitetura de Hardware

Comparação com PCs Comparação com PCs

Característica PC Embed. Sys clock 180MHz 2,2 GHz 500KHz – 300 MHz

Instruções/seg. 400M – 8B 1M – 200M Potência 10 – 250 W .5 – 4W

Transistores 5 – 1000 M 10K – 5 M

Custo $200 – $2000 $0.5 – $100

(14)

SE::Visão Geral::Arquitetura de Software SE::Visão Geral::Arquitetura de Software

Exemplo: Tempo de Boot

Exemplo: Tempo de Boot

(15)

SE::Visão Geral::Arquitetura de Software SE::Visão Geral::Arquitetura de Software

Exemplo: Mudança de Contexto Exemplo: Mudança de Contexto

• MontaVista Linux Kernel 2.4.17

• Pior caso 436us (vs. 1743us)

• 99.9% < 195us (vs. 1420us)

(16)

SE::Visão Geral::

SE::Visão Geral::

Mercado 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

(17)

SE::Visão Geral::

SE::Visão Geral::

Mercado 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

(18)

SE::Visão Geral::

SE::Visão Geral::

Mercado Microcontroladores Mercado Microcontroladores

2 4 6 8 10 12 14 16 18 20

US$ billions

Total Growth (inc. DSPs)

Up to 16-bit

Up to 8-bit

Up to 4-bit

(19)

SE::Visão Geral::

SE::Visão Geral::

Time-to-market Time-to-market

• Redução do “time-to-market”

– Maior competitividade de mercado

– Redução na janela de mercado dos produtos

M ar ke t r is e M

ark et fa L u cr o s (d ó la re s) ll

Atraso

(20)

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?

(21)

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

• Visão geral

• Projeto e Arquitetura

– Metodologia de projeto – Hardware

– Software

(22)

SE::Projeto & Arquitetura SE::Projeto & Arquitetura

Metodologia de Projeto Metodologia 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

(23)

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Exemplo 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

(24)

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Exemplo: Restrições 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

(25)

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Exemplo: Requisitos do cliente 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

(26)

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Exemplo: Requisitos do cliente 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

(27)

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Exemplo: Definição do Hw e Sw 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

(28)

• 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 SE::P & A::Metodologia de Projeto

Requisitos do cliente

Requisitos do cliente

(29)

Hardware Algoritmo

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)

Características

- alto desempenho - alto desempenho - pequeno tamanho - pequeno tamanho

- alto custo - alto custo

- pouco flexível - pouco flexível

Hardware

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Alternativas de implementação

Alternativas de implementação

(30)

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)

Uso de componentes de prateleira

(off-the-shelf)

Características - baixo custo - baixo custo

- flexibilidade - flexibilidade

- desempenho - desempenho

- tamanho - tamanho

Software

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Alternativas de implementação

Alternativas de implementação

(31)

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)

SW

HW

HW

Microprocessador

Circuitos

Hardware/Software

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Alternativas de implementação

Alternativas de implementação

(32)

Passado

Alto Custo System specification

System specification Exploration

Exploration

Sw design Sw design

Proc.

Inf. Spec.

Proc.

Inf. Spec.

ASIC Inf. Spec.

ASIC Inf. Spec.

Hw design Hw design

Proc.

C code ASIC

RTL strc.

ASIC RTL strc.

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Processo de Desenvolvimento

Processo de Desenvolvimento

(33)

Presente

System specification System specification

Exploration Exploration

Sw synthesis Highlevel synthesis Sw synthesis Highlevel synthesis

Proc.

Inf. Spec. ASIC

Inf. Spec.

ASIC

Inf. Spec. Memory

Variables.

Proc.

C code ASIC

RTL strc.

ASIC

RTL strc. Memory

Cosimulation Cosimulation

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Processo de Desenvolvimento

Processo de Desenvolvimento

(34)

Presente/Futuro

Allocation Partitioning Estimation Allocation Partitioning Estimation

Sw synthesis Highlevel synthesis Sw synthesis Highlevel synthesis

Proc.

Inf. Spec. ASIC

Inf. Spec.

ASIC

Inf. Spec. Memory

Variables.

Proc.

C code ASIC

RTL strc.

ASIC

RTL strc. Memory

Cosimulation Cosimulation

Behavior1 Behavior2

Y=sqrt(x) X = x+1

Behavior3

For I in 1,100 m(I)=n(I)+1

Memories Interfacing Arbitration Generation Memories Interfacing Arbitration Generation

Hw/Sw

Co-design

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Processo de Processo de

Desenvolvimento

Desenvolvimento

(35)

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?

(36)

Intro. a Sistemas Embarcados 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

(37)

SE::Projeto & Arquitetura::Hardware SE::Projeto & Arquitetura::Hardware

Dispositivos 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

(38)

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

Tecnologia Tecnologia

Processadores variam na adequação ao problema

Processador

de uso geral Processador

de propósito único

Processador de aplicação específica Funcionalidade

Desejada

(39)

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

Processadores de uso geral Processadores 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

+ + * /

Memória Disp. E/S

Processador

(40)

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

Processadores p/ desktops

• Facilidade para desenvolvimento de software

• Necessário adicionar muitos dispositivos auxiliares

• Conjunto de instruções não ideal

• Alto consumo de energia

(41)

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

Processadores Embarcados

• Proc. de uso geral adaptados para sistemas embarcados:

– Dispositivos internos – Menor potência

– Facilidade para desenvolver software

Produto Clock (MHz)

No.

I/O

Portas Seriais

Timers/

Contad.

Canais DMA

WDT Controle Interrupção

Refresh DRAM

80386DX 16,20,25,33 0 Não 0 0 Não Não Não

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

(42)

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

Proc. de Aplicação Específica (ASIPs) Proc. 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)

(43)

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

Proc. de Aplicação Específica (ASIPs) Proc. 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)

(44)

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

Microcontroladores Microcontroladores

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

(45)

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

Família Nitron Famí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

(46)

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

Família Nitron Famí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

(47)

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

Família 8051

• Fabricada por várias companhias como Philips, Atmel, Dallas Semiconductors, Intel

• Preços baixos

• Muitas opções

(48)

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

Família 8051

Po rt 1 Po rt 3 Po rt 2 Po rt 0

Se ria l

CPU RAM EPROM

La tc h La tc h La tc h La tc h

DPTR PC MBR

Interrupt

Data Bus

Address Bus

(49)

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

Outras

Outras 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.

(50)

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

Seleção de Processadores Seleção de Processadores

Processor Clock speed Periph. Bus Width MIPS Power Trans. Price

General 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 80 MHz 16K Inst., 2K Data, 32 40 NA NA $75

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

(51)

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

Proc. de Propósito Único Proc. 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

(52)

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

Application-Specific Integrated Circuit-ASIC 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.

(53)

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

Field-Programable Gate Array – FPGA 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.

(54)

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

FPGA - Bloco básico FPGA - Bloco básico

Saída

Entrada

Look-up Table

A B C D

clock

X

Y

(55)

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

FPGA: estrutura geral FPGA: estrutura geral

Blocos Básicos

Blocos de I/O

Interconexões

(56)

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

FPGA: estrutura geral FPGA: estrutura geral

Custo por unidade maior que o custo unitário de um ASIC

Não tem custo relacionado à fabricação da primeira unidade

Custo

ASIC

FPGA

(57)

Especificação Especificação

Inicial Inicial

Especificação Especificação

Inicial

Inicial Síntese algorítmica Síntese algorítmica (alto nível)

(alto nível)

Síntese algorítmica Síntese algorítmica

(alto nível) (alto nível)

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;

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 Layout

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;

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;

+ + * /

Controle Processamento

Arquitetura Arquitetura

+ + * /

Arquitetura Arquitetura

Estrutura Estrutura

Alg. RTL

Comp.

Estr.

Geom.

Síntese lógica Síntese lógica Síntese lógica

Síntese lógica Síntese de layout Síntese de layout Prototipação

Prototipação

Síntese de layout Síntese de layout

Prototipação

Prototipação

(58)

System Design Logic Design Physical Design Simulation Schematic entry Placement /Routing

Hierarchy, Generators

Logic-Level Synthesis

High-Level Synthesis System-Level Synthesis

70

SE::P & A::Hw::Processadores::Implementação SE::P & A::Hw::Processadores::Implementação

Redução do Tempo de Projeto

Redução do Tempo de Projeto

(59)

SE::P & A::Hw::Processadores::Implementação SE::P & A::Hw::Processadores::Implementação

Lei de Moore Lei de Moore

• 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

10,000 1,000 100 10 1 0.1 0.01 0.001

T ra n si st or es p or ch ip (e m m il h õe s)

198

1 3 198 1985 7 198 9 198 1 199 3 199 5 199 7 199 9 199 1 200 3 200 5 200 7 200 9 200

Note:

logarithmic scale

(60)

SE::P & A::Hw::Processadores::Implementação SE::P & A::Hw::Processadores::Implementação

Lei de Moore: Ilustração Gráfica Lei 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

(61)

SE::P & A::Hw::Processadores::Implementação SE::P & A::Hw::Processadores::Implementação

Produtividade de Projeto Produtividade de Projeto

100,000 10,000 1,000 100 10 1 0.1 0.01 198 1983

1 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009

Produt ivi

dade

(K ) T rans./P

ess

oa

– Mës

(62)

SE::P & A::Hw::Processadores::Implementação SE::P & A::Hw::Processadores::Implementação

Produtividade de Projeto X Tam.Chip Produtividade 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 1,000 100 10 1 0.1 0.01 0.001

T ra n si st or es /c h ip (m il h õe s)

100,000 10,000 1000 100 10 1 0.1 0.01

P ro d ut iv id ad e (K ) T ra n s. /H om em .M ês

Capacidade

do CI

produtividade

Gap

(63)

SE::P & A::Hw::Processadores::Implementação SE::P & A::Hw::Processadores::Implementação

The mythical man-month The 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)

10000 20000 30000 40000 50000 60000

43

24

19

16 15

16

18

23 Tempo

Duração em meses

(64)

SE::P & A::Hw::Processadores::Implementação SE::P & A::Hw::Processadores::Implementação

System-On-A-Chip System-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

(65)

SE::Projeto & Arquitetura::Hardware SE::Projeto & Arquitetura::Hardware

Memória Memó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)

(66)

SE::P & A::Hw::Memória SE::P & A::Hw::Memória

Nomenclatura Básica 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)

(67)

SE::P & A::Hw::Memória SE::P & A::Hw::Memória

RAM Dinâmica vs. Estática RAM Dinâmica vs. Estática

• DRAM (Dynamic Random Acess Memory)

– Grande capacidade de integração (baixo custo por bit) Grande capacidade de integração (baixo custo por bit) – Perda de informação após algum tempo: Perda de informação após algum tempo: Necessidade de Necessidade de

refreshing refreshing

• SRAM (Static Random Acess Memory)

– Pequeno tempo de acesso Pequeno tempo de acesso

– Não existe necessidade de refreshing Não existe necessidade de refreshing

– Alto custo por bit (baixa integração) Alto custo por bit (baixa integração)

(68)

SE::P & A::Hw::Memória SE::P & A::Hw::Memória

Características Básicas Características Básicas

Tipo de Memória Categoria Apagamento Escrita Volatil Random-Access Mem.

(RAM)

Read- Write

Elétrico byte a byte

Elétrica Volátil Read-Only Mem.

(ROM) Read- Impossível

Máscara Programmable ROM

(PROM)

only Erasable PROM

(EPROM)

Ultra-violeta

Elétrica não- Electrically EPROM

(EEPROM)

Read- mostly

Elétrico byte a byte

volátil

Flash EPROM Elétrico

por bloco

(69)

SE::Projeto & Arquitetura::Hardware SE::Projeto & Arquitetura::Hardware

Periféricos Perifé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

(70)

SE::P & A::Hw::Periféricos SE::P & A::Hw::Periféricos

Timer(temporizador)/Contador Timer(temporizador)/Contador

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

TH0 TH0 TL0 TL0

Carry Carry

Carry

Interrupt Clock/12

Contadores Contadores Data Bus

Data Bus

RD RD WR RD RD WR WR

(71)

SE::P & A::Hw::Periféricos SE::P & A::Hw::Periféricos

Teclado Teclado

N1 N2 N3 N4

M1 M2 M3 M4

buffer

Tecla apertada

Código da Tecla

4

• Para saber se esta tecla está apertada, o

controlador do teclado põe nível 1 em M2 e testa

o valor de N3

(72)

SE::P & A::Hw::Periféricos SE::P & A::Hw::Periféricos

Interfaces Seriais Interfaces Seriais

• Comunicação em que cada bit é enviado em seqüência por um único fio

Registrador

Deslocamento de Clock

Data Bus Data Bus

Write

Write

(73)

SE::P & A::Hw::Periféricos SE::P & A::Hw::Periféricos

Interfaces Seriais Interfaces Seriais

• Exemplo de Comunicação

Registrador

Deslocamento de Clock Data Bus Data Bus

Write Write

Registrador

Deslocamento de Clock Data Bus

Data Bus

Read Read

Receptor

Receptor Transmissor Transmissor

(74)

SE::P & A::Hw::Periféricos::Interfaces Seriais SE::P & A::Hw::Periféricos::Interfaces Seriais

RS232 RS232

• 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.

(75)

SE::P & A::Hw::Periféricos::Interfaces Seriais SE::P & A::Hw::Periféricos::Interfaces Seriais

RS422 e RS485 RS422 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

(76)

SE::P & A::Hw::Periféricos::Interfaces Seriais SE::P & A::Hw::Periféricos::Interfaces Seriais

Universal Serial Bus - USB Universal 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

(77)

SE::P & A::Hw::Periféricos::

SE::P & A::Hw::Periféricos:: Interfaces Sem-Fio Interfaces Sem-Fio

Infravermelho Infravermelho

• 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.

(78)

SE::P & A::Hw::Periféricos::Interfaces Sem-Fio SE::P & A::Hw::Periféricos::Interfaces Sem-Fio

Bluetooth Bluetooth

• 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.

(79)

SE::P & A::Hw::Periféricos::

SE::P & A::Hw::Periféricos::

Visor de Cristal Líquido - LCD 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

(80)

SE::P & A::Hw::Periféricos::

SE::P & A::Hw::Periféricos::

Transdutores 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

corrente

-

diafragma +

Partículas de carvão

(81)

SE::P & A::Hw::Periféricos::

SE::P & A::Hw::Periféricos::

Transdutores Transdutores

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

• que induz um campo magnético

• que movimenta o diafragma

S N imã

Diafragma Bobina

corrente

Alto-falante

(82)

SE::P & A::Hw::Periféricos::

SE::P & A::Hw::Periféricos::

Transdutores 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

(83)

SE::P & A::Hw::Periféricos::

SE::P & A::Hw::Periféricos::

Conversores Analógico/Digitais 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)

(84)

SE::P & A::Hw::Periféricos::

SE::P & A::Hw::Periféricos::

Conversores Analógico/Digitais Conversores Analógico/Digitais

Relação 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

Conversão

Analógico  Digital

4 3 2 1

t1 t2 t3 t4 0100 1000 0110 0101

tempo En

trad a Ana

lóg ica

(V )

Saída Digital

Conversão

Digital  Analógico

4 3 2 1

0100 1000 0110 0101 t1 t2 t3 t4 tempo

Saída A naló

gica (V )

Entrada Digital

(85)

SE::P & A::Hw::Periféricos::

SE::P & A::Hw::Periféricos::

Modulação de largura de pulso (PWM) 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

30% 30% 70%

Duty cycle

Duty cycle

(86)

SE::P & A::Hw::Periféricos::

SE::P & A::Hw::Periféricos::

Modulação de largura de pulso (PWM) Modulação de largura de pulso (PWM)

clk pwm

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

clk pwm

clk 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

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

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

(87)

SE::P & A::Hw::Periféricos::

SE::P & A::Hw::Periféricos::

Modulação de largura de pulso (PWM) Modulação de largura de pulso (PWM)

• Controle de motores de corrente contínua e de solenóides

Mola

Bobina

Imã

permanente

(88)

SE::P & A::Hw::Periféricos::

SE::P & A::Hw::Periféricos::

Motores de Passo Motores de Passo

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

(89)

SE::P & A::Hw::Periféricos::

SE::P & A::Hw::Periféricos::

Motores de Passo Motores de Passo

A A’

B

Sequencia A B A’ B’

1 + + - -

2 - + + -

3 - - + +

4 + - - +

5 + + - -

• 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

1K Q1

+V

Entrada Saida

(90)

Intro. a Sistemas Embarcados 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

(91)

SE::Projeto & Arquitetura::Software SE::Projeto & Arquitetura::Software

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 de execução é fundamental para sistemas críticos

(92)

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

Linguagens orientadas a objetos Linguagens 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

(93)

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 SE::P & A::Sw::Linguagens

Linguagens imperativas

Linguagens imperativas

(94)

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::Sw::Linguagens SE::P & A::Sw::Linguagens

Linguagens especiais

Linguagens especiais

(95)

SE::P & A::Software SE::P & A::Software

Sistemas de Tempo Real Sistemas 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

(96)

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

STR e o Ambiente STR e o Ambiente

STR Ambiente

Estímulos Sensores Respostas

Atuadores

(97)

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

STR e o Ambiente STR 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

(98)

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

Áreas de Pesquisa Áreas de Pesquisa

• Escalonamento (mais estudado)

• Modelos e linguagens de programação

• Protocolos de comunicação

• Arquitetura de computadores

• Metodologias de desenvolvimento

• ...

(99)

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

Conceitos Básicos Conceitos 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

(100)

SE::P & A::Sw::STR:: Conceitos Básicos SE::P & A::Sw::STR:: Conceitos Básicos

Criticidade Criticidade

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

(101)

SE::P & A::Sw::STR:: Conceitos Básicos SE::P & A::Sw::STR:: Conceitos Básicos

Criticidade Criticidade

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

(102)

SE::P & A::Sw::STR:: Conceitos Básicos SE::P & A::Sw::STR:: Conceitos Básicos

Modelagem das Tarefas Modelagem 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

(103)

SE::P & A::Sw::STR:: Conceitos Básicos SE::P & A::Sw::STR:: Conceitos Básicos

Modelagem das Tarefas Modelagem 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

(104)

SE::P & A::Sw::STR:: Conceitos Básicos SE::P & A::Sw::STR:: Conceitos Básicos

Modelagem das Tarefas Modelagem das Tarefas

• Folga (slack) = deadline – liberação – tempo de execução

• Atraso = MÁX( 0, conclusão – deadline)

deadline Chegada

(arrival)

Liberação (release)

Início (start time)

Conclusão (end time)

tempo de execução (execution time) atraso na liberação

(release jitter)

tempo

Tempo de resposta (response time)

(105)

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

SE::P & A::Sw::STR:: Conceitos :: :: Modelagem das Tarefas Modelagem das Tarefas

Tarefas Periódicas Tarefas Periódicas

A

1

tempo P

D

a

1

r

1

s

1

e

1

d

1

A

2

P D

a

2

=r

2

s

2

e

2

d

2

J

1

(106)

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

SE::P & A::Sw::STR:: Conceitos :: :: Modelagem das Tarefas Modelagem das Tarefas

Tarefas Esporádicas Tarefas Esporádicas

E

1

tempo minIT

D

a

1

s

1

e

1

d

1

E

2

minIT D

a

2

=s

2

e

2

d

2

0

evento

1

evento

2

(107)

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

SE::P & A::Sw::STR:: Conceitos :: :: Modelagem das Tarefas Modelagem das Tarefas

Relações entre tarefas Relaçõ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

(108)

Abordagens de Melhor Esforço Abordagens com Garantia

em Tempo de Projeto

Executivo Cíclico

Dirigido a Prioridades

Técnicas Adaptativas Abordagens com

Garantia Dinâmica

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

Escalonamento Escalonamento

Métodos de Escalonamento

(109)

Escalonamento de Processos Escalonamento de Processos

Abstração Abstração

• Uma máquina para cada processo

• Paralelismo real

T11

T12

T0

P1

P2

P3

P3 T22

(110)

Escalonamento de Processos Escalonamento de Processos

Realidade Realidade

• Compartilhamento do tempo

• Pseudoparalelismo

T11

T12

T0 T22 T0

1 41 51 70 90 121 t

P1

(111)

Tipos de Escalonamento Tipos de Escalonamento

Preemptivo Preemptivo

• 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

T11

T12

T0 T22 T0

1 41 51 70 90 121 t

P1

Preempção

Quantum grande:

Diminui núm. de mudanças de contexto e overhead do S.O.

Referências

Documentos relacionados

Além destes sete professores, que participaram do projeto de ensino neste semestre letivo, contamos ainda, com a participação do acadêmico Heric Dênis Farias, que atuou como

Na leitura de memória, o processador coloca o endereço no barramento de endereços e activa a linha de controlo para leitura de memória, colocando-a a zero ( Memory Read), o

(V ) A principal vantagem da representação em complemento para dois reside na simplicidade com que podem ser efectuadas as operações aritméticas. Verifique se as desigualdades

Na maioria das análises, a informação com natureza geográfica (ortofotos, altimetria, ocupação e uso do solo, censos, etc.) tem de ser integrada com outro tipo de informação

Op¸c˜ oes para conjuntos-limite n˜ ao-vazios e compactos: ´ orbitas fechadas, pontos fixos, conex˜ oes.... Em particular, por quest˜ oes topol´ ogicas, ´ orbitas fechadas precisam

A fascite plantar nada mais é do que uma inflamação ou degeneração na fáscia, uma camada fina de tecido fibroso, que envolve todos os músculos do nosso corpo e tem como

De acordo com os resultados obtidos, os quais são concordantes com as informações encontradas na literatura, a interação da radiação micro-ondas com a fase

Quanto a PALF in natura, os ensaios realizados com os compósitos demostraram a pertinência de seu uso em conjunto ao poliuretano bicomponente derivado do óleo de mamona,