Aplicações para Sistemas Embebidos 2006/2007 1º Exame, 6 de Janeiro de 2007

Documentos relacionados
Arquitectura de Computadores 2006/2007 2º Semestre 2º Teste (B) - 15/06/2007. Folha de Respostas

Arquitectura de Computadores 2007/2008 2º Semestre 2º Teste (A) - 16/06/2008

Arquitectura de Computadores 2006/2007 2º Semestre 2º Teste (A) - 15/06/2007. Folha de Respostas

HARDWARE DOS RELÉS NUMÉRICOS

Algoritmos e Estruturas de Dados

Introdução à Arquitetura de Computadores

1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO Bases de Numeração Representação de Números em Base 2 5

Parte II Arquitetura. professorferlin.blogspot.com. professorferlin.blogspot.com. Sociedade Paranaense de Ensino e Informática

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Algoritmos e Estruturas de Dados

Duração do Teste: 2h.

Mestrado Integrado em Engenharia Informática e Computação. Arquitecturas Avançadas de Computadores Exame final

Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO

RESOLUÇÃO. Identifique todas as folhas! Não escreva nada fora dos rectângulos

Introdução à Arquitetura de Computadores

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

LEIC/LERC 2008/09 Primeiro Teste de Sistemas Operativos

Conceitos básicos de comunicação. Prof. Marciano dos Santos Dionizio

FCA - Editora de Informática xv

Redes de Computadores 2 o Teste

Desempenho dos Computadores

INTRODUÇÃO: MICROCONTROLADORES

Gestão de Memória. Espaço de Endereçamento

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2011/2012

REDES DE COMPUTADORES

2.1 Circuitos electrónicos analógicos Circuitos electrónicos digitais...29

PROVA Duração da prova: 120 minutos. Grupo 1 - Três questões de resposta múltipla de matemática.

LEIC/LERC 2010/11 1º Teste de Sistemas Operativos

Algoritmos e Estruturas de Dados

Diagramas Sintáticos

INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY

13 a Aula - Instruções Condicionais. Ciclos. Pré-processador. Variáveis de ambiente. Mestrado em Engenharia Física Tecnológica

Sistemas Embebidos I , Tiago Miguel Dias ADEETC - Secção de Arquitecturas e Sistemas Operativos

Lic. Engenharia de Sistemas e Informática

O COMPUTADOR POR DENTRO

PLANIFICAÇÃO

Algoritmos e Técnicas de

LEIC/LERC 2008/09. Repescagem do Primeiro Teste de Sistemas Operativos

Sistemas de Entrada e Saídas II

Telecomunicações CTEE 20:50 1

Teste 2 Sistemas Digitais - MEEC 2009/10 1. Aluno Nº

Sistema Operativo: o que é?

REDES DE COMPUTADORES

Sistemas Digitais (SD)

Organização e arquitetura de computadores

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 7

Arduino Lab 02 Sensor de luminosidade e display de LCD 16 2

Arquitectura de Computadores 2007/2008 2º Semestre Repescagem 2º Teste - 03/07/2008

Antes de começar o exame leia atentamente esta folha de rosto

Teste 2 Sistemas Digitais - MEEC 2009/10 1

Organização de computadores. Prof. Moisés Souto

Realização física de circuitos lógicos

ESPECIFICAÇÕES DE UMA REDE DE AUTOMAÇÃO. Taxa de transmissão. Topologia física

Sistemas Embebidos I , Tiago Miguel Dias ISEL, ADEETC - Secção de Eletrónica e Telecomunicações e de Computadores

Entrada e Saída. Walter Fetter Lages

Instituto Superior de Engenharia de Lisboa

LINGUAGEM C CONTROLE DE FLUXO

Aplicações Avançadas de Microprocessadores. Professor: Marco Shawn Meireles Machado

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos

Universidade de Coimbra Departamento de Engenharia Informática Licenciatura em Engenharia Informática Arquitectura de Computadores 2 Junho de 2003

Repescagem - 2.º Teste de Introdução à Arquitetura de Computadores 1.º Semestre 2014/2015 Duração: 60 minutos 16 janeiro 2015

e financas/legislacao/lei%20no% %20 %20PPA%20 % pdf/view

Introdução aos Algoritmos e Estruturas de Dados. 2 o Teste - A

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA

Os temporizadores / contadores (T/C) do 80C51

SISTEMAS DIGITAIS (SD)

Breve Introdução aos Sistemas Operativos. Disciplina de Informática PEUS, U.Porto

Fundamentos de Sistemas Operacionais

Laboratório 4 Avaliação 2

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada

EIC0032, Redes de Computadores 20/jan/2017 Exame Parte 2 (com consulta, 10 valores, 90 minutos) Nome:

Duração do Teste: 2h.

Sistemas Embebidos. Coligidos por Alberto Ramos da Cunha

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 8

Princípios de Telecomunicações. PRT60806 Aula 19: Modulação por Código de Pulso (PCM) Professor: Bruno Fontana da silva 2014

Threads. Agenda. Threads. Processo. Processo. Processo. Processo. (c) Volnys B. Bernal Versão de 22/3/2012

Redes de Computadores (LTIC) 2014/15. Parte 1 (8 valores) Exame Final (1ª Época) 24 de junho de Nome:

Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C#

Arquitectura de Computadores

Repescagem - 2.º Teste de Introdução à Arquitetura de Computadores 1.º Semestre 2014/2015 Duração: 60 minutos 16 janeiro 2015

Endereçamento. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Barramento. Prof. Leonardo Barreto Campos 1

Empréstimo Para o caso particular da presente operação, a partir do quarto bit, o

Sistemas Embebidos I , Tiago Miguel Dias ISEL, ADEETC - Secção de Eletrónica e Telecomunicações e de Computadores

REDES DE COMPUTADORES

Hardware. 5- Faça o fluxograma para efectuar o debounced de uma tecla por temporização(20ms). Implemente uma rotina para a leitura da tecla.

SSC0611 Arquitetura de Computadores

C Comandos de Controle

Revisão para Prova 2. Mirella M. Moro

Instituto Superior Técnico Licenciatura em Engenharia Electrotécnica e de Computadores. Sistemas Digitais. 3º Teste 21 de Dezembro de 2005

Introdução às Redes de Telecomunicações Licenciatura em Eng. Electrotécnica e de Computadores 25 de Junho de o Exame 2 o Semestre.

Processo térmico multivariável apropriado para controlo por computador

Programação Estruturada e Orientada a Objetos

Sistema Distríbuído de Medição de Grandezas

Transcrição:

Nome Departamento de Engenharia Informática Licenciatura em Engenharia Informática e de Computadores Aplicações para Sistemas Embebidos 2006/2007 1º Exame, 6 de Janeiro de 2007 Número Ano / Ramo E-mail Duração: 1h15 + 15m de tolerância. Prova sem consulta. Identifique todas as folhas. Em questões com escolha múltipla: Preencha as respostas na matriz seguinte. Só serão cotadas as respostas legíveis lançadas nesta matriz. Cada resposta errada é cotada negativamente com Cotação (N 1), onde N é o número de opções da pergunta. Em todas as perguntas utilize as zonas reservadas para a resolução. Matriz de respostas: Pergunta Cotação Resposta I.a) 1,5 I.b) 0,75 II.a) 1 II.b) 1,5 III.a) 1,75 III.b) 1 III.c) 1 Resposta no local III.d) 1,75 III.e) 1,75 IV.a) 1 IV.b) 1 IV.c) 1,5 V. 1,5 VI. 1,5 VII. 1,5 Respostas: DCB.CDE, Não, CD.BED.BCC. 1 / 8.

I. O programa seguinte executa-se num sistema com uma sentinela (watchdog). O período de alarme da sentinela situa-se entre 90 ms e 110 ms. 1 keep_alive () /* Reinicializa a sentinela */ 2 { 3 Bloco K /* 0,05 ms */ 4 return (); 5 6 int Real_Time_Clock () /* Período da interrupção = 100 ms */ 7 { 8 Bloco I /* 0,1 ms */ 9 return_from_interrupt (); 10 11 /* Programa principal */ 12 while (ON) { 13 Bloco A /* 85 ms */ 14 if (n > 0) 15 Bloco B /* 70 ms */ 16 else 17 switch (p); 18 case (1): 19 Bloco C /* 10 ms */ 20 break; 21 case (2): 22 Bloco D /* 95 ms */ 23 break; 24 default: 25 Bloco E /* 30 ms */ 26 break; 27 I.a) Indique entre que linhas do programa se devem inserir as chamadas à função de reinicialização da sentinela keep_alive () para, em condições normais, evitar o disparo da sentinela, minimizando o número de chamadas à função. A: Entre 3 e 4. B: Entre 8 e 9. C: Entre 13 e 14, entre 15 e 16, entre 19 e 20, entre 22 e 23, entre 25 e 26. D: Entre 13 e 14, entre 15 e 16, entre 22 e 23, entre 25 e 26. E: Entre 8 e 9, entre 13 e 14. F: Entre 13 e 14. I.b) O sistema dispõe de um temporizador com um contador de 16 bits com um prescaler que oferece as seguintes opções: f, f/10, f/100. A frequência do relógio de entrada do temporizador é 20 MHz. Indique a configuração do temporizador que permite medir um intervalo de 100 ms para disparo do alarme da sentinela. A: Saída f, divisão por 2 10 6 no contador. B: Saída f/10, divisão por 200.000 no contador. C: Saída f/100, divisão por 20.000 no contador. D: Nenhuma das saídas satisfaz o pretendido. 2 / 8

II. O programa seguinte faz conversão analógica-digital recorrendo somente a um conversor D/A e a um comparador: #define MAX 256 int i; /* Início da conversão */ for (i = 0; i < MAX; i = i+1) { output_to_dac (i); wait (DA_conversion_time); if (input_from_comparator () 0) break; /* Resultado em i */ II.a) Qual é o tempo máximo de conversão? A: 127 iterações. B: 256 iterações. C: 128 iterações. D: 255 iterações. II.b) Sem aumentar a complexidade do hardware há alguma forma de optimizar o tempo de conversão? Em caso afirmativo qual seria o tempo de conversão optimizado? A: Se o valor inicial do ciclo de conversão for i = MAX/2, sem mais alterações ao programa, o tempo de conversão máximo reduz-se para metade. B: Se o valor inicial do ciclo de conversão for o resultado anterior, sem mais alterações ao programa, o tempo de conversão máximo mantém-se mas o tempo médio reduz-se significativamente. C: Se o programa for alterado de modo a o passo da aproximação variar em potências de 2, definindo primeiro o valor do bit de maior peso e prosseguindo para os bits de menor peso, o tempo de conversão será 8 iterações. D: Só se consegue reduzir o tempo de conversão utilizando um conversor D/A mais rápido de modo a reduzir o tempo de espera por ciclo wait (DA_conversion_time). E: Nenhuma das afirmações anteriores está correcta. 3 / 8

III. Uma aplicação com arquitectura round-robin com interrupções é constituída por 3 módulos funcionais A, B e C cada um dos quais serve um pedido específico activado em resultado de uma interrupção. O sistema apresenta as seguintes características, medidas em unidades de tempo T: Módulo Tempo de execução Período de repetição do pedido de serviço (Rotina de interrupção + Tarefa) A 1 + 1 8 B 1 + 2 12 C 1 + 4 12 Considere que a sobrecarga com o ciclo de chamada dos módulos é desprezável, e que os pedidos consideram-se atendidos no fim da execução das tarefas que os servem. As tarefas são chamadas de A a C. Admita que em t = 0 são activados os 3 pedidos de serviço. Os 10 primeiros estados do diagrama de execução deste sistema estão representados na tabela seguinte. (R = rotina de interrupção, T = tarefa) A R T R B R T T C R T T T 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 III.a) Qual é a ocupação útil média do processador, sendo considerado útil só o tempo de execução dos módulos funcionais (rotina de interrupção + tarefa)? A: 50% B: 99% C: 76% D: 91,7% E: 100% F: 87,5% III.b) Qual é a taxa de ocupação efectiva (real) do processador? A: 50% B: 99% C: 76% D: 91,7% E: 100% F: 87,5% III.c) Este sistema é preemptivo? (Justifique sucintamente.) 4 / 8

III.d) Até que valor pode ser reduzido o período de repetição do pedido associado ao componente A sem ocorrer perda de pedidos? A: 4T B: 5T C: 6T D: 7T E: 8T A R B C R R 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 III.e) Mantendo a arquitectura round-robin com interrupções sugira uma solução alternativa para uma situação em que o tempo de serviço associado a C não exceda 8T, mantendose as restantes condições da alínea a). A: BOOL frequesta = FALSE; BOOL frequestb = FALSE; BOOL frequestc = FALSE; B: BOOL frequesta = FALSE; BOOL frequestb = FALSE; BOOL frequestc = FALSE; void main (void) { while (TRUE) { if (frequesta) { frequesta = FALSE; Handle Request A fdeviceb = FALSE; if (frequestc) { fdevicec = FALSE; Handle Request C void main (void) { while (TRUE) { if (frequestc) { fdevicec = FALSE; Handle Request C fdeviceb = FALSE; if (frequesta) { frequesta = FALSE; Handle Request A 5 / 8

C: BOOL frequesta = FALSE; BOOL frequestb = FALSE; BOOL frequestc = FALSE; BOOL fstepc2 = FALSE; Void Handle Request C (void) { Handle Request C1; Handle Request C2 void main (void) { while (TRUE) { if (frequesta) { frequesta = FALSE; Handle Request A frequestb = FALSE; if (frequestc) { if (fstep2) { Handle Request C2; frequestc = FALSE; fstep2 = FALSE else { Handle Request C1; fstepc2 = TRUE D: BOOL frequesta = FALSE; BOOL frequestb = FALSE; BOOL frequestc = FALSE; void main (void) { while (TRUE) { frequestb = FALSE; if (frequesta) { frequesta = FALSE; Handle Request A frequestb = FALSE; if (frequestc) { frequestc = FALSE; Handle Request C 6 / 8

IV. Um sistema de monitorização ecológica é constituído por uma rede sensores fixados em animais, que medem periodicamente a sua localização e outros parâmetros associados ao comportamento dos portadores. Os dados recolhidos são transmitidos para uma estação de base de uma rede celular. Mediram-se as características de consumo de cada sensor. O modo local refere-se a comunicações dentro da célula, retransmitindo a estação de base da célula para a estação central; o modo global refere-se a comunicações directamente do sensor para a estação de coordenação central. (U unidade de energia) Duração relativa Modo local Modo global (em modo local) Standby 97 % 1 U Transmissão de dados 1 % 1.600 U 160.000 U Recepção de dados 300 U Ligação à estação de base 1 % 400 U 40.000 U Medição dos sensores e processamento 1 % 200 U IV.a) Qual é o consumo de um ciclo de recolha e transmissão de dados em modo local? A: 12 U B: 23 U C: 33 U D: 50 U E: 100 U F: 150 U IV.b) Considerando que a autonomia do equipamento é cerca de 2 anos (comunicações locais) qual seria, aproximadamente, a autonomia só com comunicações globais mas mantendo o protocolo de ligação entre o sensor e a estação de base/estação central? A: 1 ano B: 3 dias C: 120 dias D: 60 dias E: 8 dias F: 232 dias IV.c) Uma vez que não é possível instalar estações de base fixas permanentes há duas alternativas para a transmissão dos dados recolhidos para a estação central: A Transmissão directa para a estação central (comunicações globais). B Difusão. Transmissão local para outros sensores presentes na célula que, por sua vez a retransmitem. Deste modo, estando os sensores espalhados uniformemente pelo território, a informação há-de chegar à estação central. (Toda a comunicação é local.) O protocolo evita repetições de transmissões de dados desnecessárias (por exemplo, o nó A emite para B que, por sua vez, retransmite, recebendo A o que acabou de enviar). Do ponto de vista da autonomia dos sensores, abaixo de que número de sensores é que o protocolo B é preferível? 7 / 8

A: É sempre preferível A. B: 100 sensores. C: 12 sensores. D: 87 sensores. E: 49 sensores. F: É sempre preferível B. Em cada grupo assinale uma afirmação correcta. V. Do ponto de vista aplicacional a principal vantagem de uma rede de sensores é... A:... a elevada largura de banda na comunicação, uma vez que o elevado número de nós permite um grande paralelismo na transferência de dados. B:... a existência de uma infraestrutura de rede sem fios e com muitos nós com alguma capacidade de processamento e medida, o que dá acessibilidade a pontos de outra forma inatingíveis. C:... o baixo consumo dos nós. D:... a capacidade de programação remota de funções de monitorização. E: Nenhuma das afirmações anteriores está correcta. VI. Actualmente a principal razão para a inclusão de microprocessadores em cartões (chip cards)... A:... é o maior poder de cálculo face às alternativas (cartões de memória ou cartões à medida ), o que permite inclusivamente instalar máquinas virtuais poderosas. B:... é a maior flexibilidade na gestão da memória interna do cartão, permitindo gerir zonas para RAM, EEPROM e ROM. C:... é a possibilidade de dar acesso controlado (seguro) à informação no cartão. D:... é a possibilidade de processar transacionalmente a informação no cartão. E: Nenhuma das afirmações anteriores está correcta. VII. A: Nas arquitecturas round-robin com interrupções e com escalonamento por fila de funções nunca é possível construir sistemas de tempo-real. B: Para construir sistemas de tempo-real em arquitecturas round-robin com interrupções e com escalonamento por fila de funções é necessário atribuir prioridades às tarefas. As prioridades devem ser ordenadas na ordem inversa dos períodos de repetição dos pedidos de interrupção. C: Nas arquitecturas round-robin com interrupções e com escalonamento por fila de funções é possível construir sistemas de tempo-real em determinadas condições (limitação do número de tarefas, optimização do código tendo em conta as cartacterísticas temporais das tarefas e das interrupções, etc.). D: Só com escalonamento rate monotonic é possível construir sistemas de tempo-real. E: Nenhuma das afirmações anteriores está correcta. 8 / 8