CAPITULO I Introdução

16
CAPITULO I I CAPITULO I I NTRODUÇÃO NTRODUÇÃO 1.Real Time System: Deve cumprir metas temporais (deadlines) explícitas: - Um sistema diz-se ter propriedades de tempo real se os seus resultados são logicamente corretos (domínio lógico) e foram produzidos no momento certo (domínio do tempo). - Do ponto de vista de tempo real, uma resposta correta dada fora do seu tempo esperado é considerada incorreta. Caso não se cumpra as metas temporais: 1. Hard Real Time System: é considerada falha do sistema (Airbag do carro). 2. Firm Real Time System: degradação da qualidade do serviço (Jogo de video). 3. Soft Real Time System: o tempo de resposta termina mas o incumprimento da meta não gera um problema significativo (Sistemas de reservas de viagens). 2. Requisitos do Projeto: Numa listagem devem constar: o nome, o objetivo, as entradas e saídas, funções, desempenho, custo de manufaturação, a potência de consumo e o tamanho físico. CAPITULO II D CAPITULO II D EFINIÇÃO EFINIÇÃO 1 Embedded System: 1.1O que é? É qualquer dispositivo que inclui um computador programável, mas que não é por si só um computador. 1.2Características: - Consegue tirar partido de características de otimização do projeto; - Menor capacidade de processamento comparado com um computador; - As E/S são leds, USB’s, etc; - O Software é guardado numa memória ROM ou numa memória flash ao contrário do computador que armazena no disco rígido;

Transcript of CAPITULO I Introdução

CAPITULO I ICAPITULO I INTRODUÇÃONTRODUÇÃO

1.Real Time System:Deve cumprir metas temporais (deadlines) explícitas:- Um sistema diz-se ter propriedades de tempo real se os seus resultados são logicamente corretos (domínio lógico) eforam produzidos no momento certo (domínio do tempo).- Do ponto de vista de tempo real, uma resposta correta dada fora do seu tempo esperado é considerada incorreta.

Caso não se cumpra as metas temporais:1. Hard Real Time System: é considerada falha do sistema (Airbag do carro).2. Firm Real Time System: degradação da qualidade do serviço (Jogo de video).3. Soft Real Time System: o tempo de resposta termina mas o incumprimento da meta não gera um problema significativo (Sistemas de reservas de viagens).

2. Requisitos do Projeto:Numa listagem devem constar: o nome, o objetivo, as entradas e saídas, funções, desempenho, custo de manufaturação, a potência de consumo e o tamanho físico.

CAPITULO II DCAPITULO II DEFINIÇÃOEFINIÇÃO

1 Embedded System:

1.1O que é? É qualquer dispositivo que inclui um computadorprogramável, mas que não é por si só um computador.

1.2Características:- Consegue tirar partido de características deotimização do projeto; - Menor capacidade de processamento comparado com umcomputador; - As E/S são leds, USB’s, etc;- O Software é guardado numa memória ROM ou numa memóriaflash ao contrário do computador que armazena no discorígido;

- Sofisticado;- Sistema de real-time;- Baixo custo e baixo consumo de energia- Produzido por equipas de poucas pessoas

1.3Funcionalidades mais complexas: Correm vários algoritmose fornecem ao utilizador sofisticadas interfaces.

1.4Operações Real-Time: As instruções têm prazos paraterminarem. Hard Real Time (não cumprir os prazosprovoca falha no sistema) e Soft Real Time (não cumpriros prazos provoca degradação da qualidade do sistema).

1.5Requerimentos de um projeto: nome, objetivo, input,output, funções, performance, custo de fabrico, energiae tamanho físico.

2. Metodologias:

2.1 Top-down design:Este estilo de programação faz uma abordagem de cima parabaixo, ou seja, trata primeiro as peças complexas e, emseguida, divide-a em pedaços menores sucessivamente. Cadanível é detalhado primeiro do nível mais elevado paraposteriormente os níveis básicos.Cada nível vai sendo detalhado, do mais alto ao mais baixo,de forma a se chegar às especificações dos níveis maisbásicos do elemento abordado

2.2 Bottom-up design:

Numa abordagem de baixo para cima os elementos básicos sãoinicialmente descritos em detalhes. Esses elementos sãoassociados para formar um subsistema maior e assimsucessivamente com o objetivo final de completar o nívelmais alto do sistema.

CAPITULO III CPUCAPITULO III CPU

1.Arquitetura ISA: ISA fornece todas as informaçõesnecessárias para alguém que quer escrever um programaem linguagem de máquina, ISA fornece:

1.1. Organização da Memória: Espaço de endereço (Quantoslocais à disposição?) e Endereços (Quantos bits porlocal?).1.2 Conjunto de Registos: quantos? que tamanho? comoeles são usados?1.3 Conjunto de Instruções: opcodes, tipos de dados emodos de endereçamento.

2.Arquitetura Von Neaumann: A memória armazena dados e instruções.

Unidade de processamento central (CPU) procura as

instruções na memória.

Registos importantes da CPU: Program Counter (PC),

Instruction Register (IR), registos definidos, etc.

3.Arquitetura Harvard: Memória separada: Data

Memory e Program Memory;

Pipeline;

Harvard não pode usar código de auto modificar-se.

A maioria dos DSP’s usa a arquitetura Harvard para

streaming de dados (maior largura de banda de memória,

largura de banda mais previsível).

4. CISC vs. RISC:

CISC (Complex Instruction

Set Computer)

RISC (Reduced Instruction

Set Computer)Conjunto de instruções

complexas durante vários

ciclos.

Conjunto simples de

instruções durante 1 ciclo.

Multi-clock Single-clock

Qualquer instrução pode

referenciar a memória.

Apenas Load/Store

referencia a memória.

Baixo uso de pipeline Elevado uso de pipelineInstruções interpretadas

pelo microprograma.Instruções executadas pelo Hardware

Instruções de vários

formatos

Instruções com format fixo

Muitas instruções e modos

de endereçamento

Poucas instruções e modos

de endereçamento.Conjunto único de

registradores.

Múltiplos conjuntos de

registradores.

Complexidade está no

microprograma.

Complexidade está no

compilador.

4.Duas arquiteturas ISA- ARM vs. MSP430:

ARM MSP430Processador de 32 bits Processador de 16 bitsArquitetura Von Neumann Arquitetura Von NeumannRISC Mistura de RISC e CISCPipeline com 3 níveis deinstruções

Pipeline com 3 níveis deinstruções

Little-Endian ou Big-EndianLittle-Endian (coloco informaçãomenos significativa nos endereçosmais baixos.)

Uma palavra pode ser de 8 bits ou16 bits

Uma palavra pode ser de 8 bits ou16 bits

16 Registos:R13 - Steck PointerR14 – Link RegisterR15 – Program CounterGeneral-Purpose Registers (R0-R12)Banked Registers (R8-R12)

16 Registos: R0-Program Counter; R1-Steck PointerR2-Status RegisterR3-Constant Generator (6constantes)General-Purpose Registers (R4-R15)

Flags: N-negative, Z-zero, C-carry, V-overflow

Instruções variáveis (singleoperand, double operand e jumps)

3 modos de endereçamento 7 modos de endereçamentoInstruções executadas de formaCondicional (Aumento do desempenhodo processador, redução do númerode saltos nos programas, etc.)

Instruções não são executadas deforma Condicional (código não élimitado)

Tem modo de supervisão paraalterar os programas Não tem modo supervisão

2 Tipos Interrupções: FastInterruption Request eInterruption Request

Para passar para o modointerrupção é necessário 6 ciclosde relógio.3 clocks:ACLK: clock auxiliar. Pode ser usado como um relógio de sinal para o TimerA e para o TimerB.MCLK:clock principal do sistema é usado pelo CPU e pelo sistema.SMCLK: clock dos subsistemas (periféricos). Pode ser usado comoum relógio de sinal para o TimerA e para o TimerB.

Clock Sources:

LFXT1CLK: Low-frequency/high-frequency oscillatorXT2CLK : Optional high-frequency oscillatorDCOCLK : Internal digitally controlled oscillator (DCO). Localizado o watchdog timer.Timers: Timer_A e Timer_B

Segmentação com paginação (TLB)

Vantagens Banked Registers: Estes registos “banked

registers” oferecem uma rápida troca de contexto para lidar

com exceções e operações privilegiadas.

2 Interrupções

1. O que são? As Interrupções foram concebidas paraevitar o desperdício de tempo computacionalem loops de software esperando eventos que serãodisparados por dispositivos. Ao invés de ficaremparados esperando o evento acontecer, os processadorestornaram-se capazes de realizar outras tarefasenquanto os eventos estão pendentes. A interrupçãoavisa ao processador quando o evento ocorreu,permitindo dessa forma uma acomodação eficiente paradispositivos mais lentos.Os processadores também oferecem instruções parapermitir os processos dispararem interrupções desoftware (traps: úteis para se mudar de modo). Issopode ser usado para implementar uma multitarefacooperativa.

2. Porque as interrupções necessitam de prioridades? Paraevitar situações de deadlock. Ou seja, nesta situação

o programa fica bloqueado e alguns processos nãochegam a ser executados. Estas situações de deadlockacontecem quando o sistema não é preemptivo ou quandoexiste espera ativa de situações de exclusão mutua(acesso a variáveis globais entre processos).

CAPITULO VI MCAPITULO VI MEMORYEMORY

Cache de memória: mantém uma cópia dos dados acedidos maisrecentemente. A vantagem principal na utilização de umacache consiste em evitar o acesso ao dispositivo dearmazenamento - que pode ser demorado - armazenando osdados em meios de acesso mais rápidos.

Memory System Performance: tav=h.tcache+(1-h)tmain

h = cache hit rate,tcache = cache access time,tmain = main memory access time.

Multi-Level cache access time: tav=h1.tL1+(h2-h1)tL2+(1-h2-h1)tmain

h1 = cache hit rate,h2 = rate for miss on L1, hit on L2,tmain = main memory access time.

1.Cache Organizations:1.1) Fully-associative: qualquer local de memória pode ser

armazenado em qualquer lugar da cache (quase nuncaimplementada).

1.2) Direct-mapeada: A cache mapeada diretamente é o métodomais simples e dos mais fáceis de verificar a existência deum hit mas também é o que tem pior desempenho. Cada localde memória mapeia exatamente uma entrada da cache. Não hápesquisa de informação, ou seja, a linha ou contém ainformação da memória ou não. Vários locais de memória para os mesmos blocos da cache →Conflito!

1.3) N-way set-associativa: cada local de memória podeentrar em um dos n sets.

2. Operações de Escrita:2.1 Write-through: Copia imediata para a memória

principal.2.2 Write-back: Escreve na memória principal só quando o

local é removido da cache.

3. Memory Management Tasks:3.1) Disco Rígido: É o espaço de armazenamento onde osistema operacional e todos os programas estão instalados.3.2) Memória Física: É a RAM. É onde os programas corremquando estão em execução.3.3) Memória Virtual: é o espaço alocado no disco rígidopara aqueles momentos em que a memória física (RAM) não ésuficiente. 

4. Segmentação de memória:4.1) Segmentação sem paginação: Cada segmento tem a informação respeitante ao local onde o segmento está localizado na memória-base do segmento. Quando um programa faz referência a uma localização de memória, a compensação é adicionada à base do segmento para gerar um endereço de memória físico.4.2) Segmentação com paginação: Cada segmento em vez de tera informação respeitante ao local de memória real, tem a informação respeitante ao endereço de uma tabela de página para cada segmento. Quando um programa faz referência a um local de memória, o deslocamento é traduzido para um endereço de memória usando a tabela de página.TLB: Destina-se a facilitar a tradução de endereços lógicosem endereços físicos, evitando a consulta à tabela de páginas localizada na memória. Quando um endereço é solicitado o processador verifica se o endereço da frame respetiva existe no TLB. 

CAPITULO VII BUSCAPITULO VII BUS

1. CPU Bus: É um sistema de comunicação que transfere dadosentre os componentes dentro de um computador , ou entrecomputadores.  CPU bus conecta a CPU com a memória e comos dispositivos.

Bus Signals: Clock; R/W (true quando o Bus está a ler); Address (a bit); Data (n bits); Data Ready.

2. Timers:

2.1) As principais aplicações dos temporizadores são:

Gerar eventos com um período de tempo fixo; Permitir ativação periódica do “sono - sleep” do

dispositivo; Contar as margens de transição de sinal

Substituir voltas de atraso, permitindo que o CPU “durma” entre as operações, consumindo menos energia;

Manter os relógios de sincronização.

2.2) Modos de Operação:Stop (00): O timer é parado.Up (01): O timer faz contagem de 0 para cima.Continuos (10): O timer repete a contagem.Up/down (11): O timer conta de 0 para cima e volta para 0.

2.3) Watchdog Timer: É um dispositivo temporizador queprevine possíveis falhas do sistema, ou seja é um sistemaemergencial. Quando o Watchdog é ativado, é necessário queo programa principal o coloque periodicamente a zero, casocontrário ele gera uma interrupção que faz reset aosistema.

CAPITULO VIII CAPITULO VIII

1.1. UARTUART: Comunicação entre dois dispositivos nos dois

sentidos (Full Duplex).

Para realizar a comunicação é necessário que os dois

dispositivos tenham o mesmo: Baudrate, Configuraçãpo

do protocolo (8 ou 9 bits, bits de paridade, etc.),

frequência, prioridade, ground comum, etc.

2.2. SPI: SPI: É um protocolo síncrono. Os dispositivos comunicam

em modo Master/Slave onde o Master é responsável por

iniciar a transmissão dos dados. Este sistema pode ter

vários slaves. A sincronização e transmissão de dados é

realizada por meio de quatro sinais:

SCLK (Clock): Em cada pulso de relógio lê-se ou envia-

se o bit.

MOSI (Master Slave Input Output): Saída de dados Mestre e

entrada para Slave. 

MISO (Input Output Mestre Escravo): entrada de dados Mestre

e saída de dados para Slave.

SS / Select: Para selecionar um escravo, ou para o

Mestre dizer ao escravo para ser ativado. 

2.1 Carateristicas:

4 Modos de Clock; Durante uma transferência de dados com Slave A e B, o

Master: 1º - Configura o modo clock para o Slave A;2º - Chip Select Slave A;3º - Faz a transferência;4º - Destiva Chip Select Slave A;5º - Configura o modo clock para Slave B;6º - Chip Select Slave B;7º - Faz a transferência.8º - Desativa Chip Select Slave B.

2.2 Vantagens vs. Desvantagens: Rápido para conexões ponto-a-ponto; Permite facilmente streaming / entrada de dados

constante; É simples de implementar e amplamente apoiado;

Não há protocolo;

Slave select /chip select faz vários escravos maiscomplexos;

Sem confirmações (ack’s); Sem arbitragem inerente; Sem controle de fluxo (deve saber velocidade escravo).

Timing Diagram:

3.3. I2C: I2C: É um barramento serial multi-master. A

especificação I2C afirma que os dados só podem ser

alterados na linha SDA se o sinal de clock SCL estiver

no nível baixo. Os dados quando estão na linha SDA é

considerado como estável quando SCL está em cima. A

sincronização e transmissão de dados é realizada por

meio de quatro sinais:

VCC (normalmente +5V);

GND (massa comum a todos os dispositivos);

SDA (Serial Data Line);

SCL (Serial Clock).

Transmissão de dados:

1. Start bit é gerado pelo Master;

2. 7 bits de endereço são dados pelo Master para dizer

com que Slave pretende comunicar;

3. 1 bit indica se é escrita ou leitura;

4. Slave responde com ack;

5. 8 bits (1 byte) de dados são mandados para o Slave

ou pelo Slave (depende do tipo de operação –

escrita ou leitura);

6. Após cada thread de dados (1 byte), um ack é

enviado para informar que recebeu o byte inteiro;

7. A tarefa repete-se desde o ponto 5 até que seja

dado o stop bit (representa o fim do programa).

Timing Diagram:

SPI SPI VSVS. I2C:. I2C:

I2C Vantagens / SPI Desvantagens:

I2C precisa de menos conexões: apenas 2 fios de sinal

necessário versus 3 + n slaves para SPI;

I2C usa chip de endereçamento, o que significa que não

existe necessidade de linhas de Chip Select;

I2C pode facilmente adicionar dispositivos, enquanto o

SPI precisa de uma linha adicional de CS por cada

dispositivo;

I2C permite flexibilidade na tensão ao contrário do SPI;

I2C é multi-master

SPI Vantagens / I2C Desvantagens:

SPI usa um protocolo simples com baixas despesas gerais

ao contrário do I2C que gasta uma pilha por software;

SPI tem velocidades mais rápidas e intervalos mais

longos.

SPI pode usar push-pull, e, portanto, dirige as linhas

mais rápido do que o I2C;

SPI é executado em modo full-duplex, ao contrário do

I2C que é apenas half-duplex;

SPI usa linhas CS, permitindo que múltiplos chips do

mesmo género sejam ligados. Em I2C, geralmente há apenas

um número limitado de combinações de endereços;

4.CANCAN:: É um protocolo de comunicação serial síncrono. Émulti-Master e as mensagens são enviadas em modo

multicast, caraterizado pelo envio de toda e qualquer

mensagem para todos os módulos existentes na rede. Uma

vantagem deste protocolo é o facto de ser fundamentado

no conceito CSMA/CD com NDA, ou seja, todos os módulos

verificam o estado do barramento, analisando se outro

modulo está ou não enviando mensagens com maior

prioridade. Este protocolo também faz uso do NRZ(onde

cada bit é transmitido por um valor de tensão.)

CAPITULO POWERCAPITULO POWER

1.CPU power-saving strategies: Redução da voltagem; “Correr” mais devagar a frequência do clock; Desativar as unidades funcionais com sinais de

controle quando não estiverem em uso. Desligar partes da alimentação elétrica quando não

estiver em uso.

2.Power Management Styles:2.1 Static Power Management: não depended a atividade

do CPU (ativar o modo power-down).2.2 Dynamic Power Management: baseada na

atividade do CPU (colocar a OFF as unidades funcionais).

3.Consequências do Power Down: Tempo; Energia; Deve determinar-se se entrar em modo Power Down

vale a pena; Pode modelar os estados de energia da CPU com uma

máquina de estado de energia.

ARM – Power Saving: 3, Modos de Power Saving:

1) Run: operação normal;2) Idle: desliga o clock da CPU, com a lógica ainda

alimentada;3) Sleep: desliga a maioria da atividade da máquina; 3

passos, cada cerca de 30 uS; despertar leva > 10 ms.