Vous êtes sur la page 1sur 9

Universidade Federal de Minas Gerais

Programa de Pós-Graduação em Ciência da Computação


Instituto de Ciências Exatas
Departamento de Ciência da Computação

Comissão Permanente de Qualificação 1o Estágio – Programa de Doutorado


Exame de Qualificação – 1o Estágio.
Área: Sistemas (Sistemas Lógicos e Arquiteturas de Computadores).

Em 23/08/2017, a partir das 10:00 horas.

Prova individual, sem consulta, com duração de 2 (duas) horas.

Observações:

a) Cada questão da prova deve ser resolvida na mesma folha da questão. Use o
verso se necessário. Havendo necessidade de espaço adicional para cada
questão solicite folha extra à pessoa que estiver aplicando a prova.
b) A interpretação das questões faz parte da prova. Não será permitida nenhuma
pergunta durante a realização da prova.
c) Caso você ache que falta algum detalhe no enunciado ou nos esclarecimentos,
você deverá fazer as suposições que julgar necessárias e escrever essas
suposições juntamente com cada resposta.
d) Coloque se nome em cada uma das folhas da prova. Não se esqueça de
acrescentar seu nome também nas páginas adicionais que utilizar.

Desejamos que faça uma boa prova!

A COPEQ.

Atenção:

Esta prova contém um total de 6 (seis) questões, das quais você deverá escolher 4
(quatro).

Circule, abaixo, os números das questões escolhidas. Somente serão avaliadas as


questões cujos números estiverem circulados abaixo:

1 2 3 4 5 6 (Circule até 4 (quatro) questões)

NOME: ___________________________________________________________

ASSINATURA: _____________________________________________________
NOME:
_________________________________________________________________________________

QUESTÃO 1. (Projeto Lógico)

Verdadeiro ou Falso. Justifique.


Utilizando o Mapa de Karnaugh para minimizar funções booleanas, a solução
mínima é necessariamente única.
NOME:
_________________________________________________________________________________

QUESTÃO 2. (Circuitos Combinatórios)

Dado a função F(A,B,C,D) composta dos termos mínimos (minterm)={1, 3, 4, 6, 12,


14} e dos termos não-essenciais (don’t care)={0, 5, 9, 10, 11, 15}. Simplifique essa
função como produto de somas.
NOME:
_________________________________________________________________________________

QUESTÃO 3. (Modos de endereçamento)

Ao projetarmos uma arquitetura, é importante definirmos o modo como as instruções


acessam os operandos, ou seja, como os bits de um campo de endereço são
interpretados para achar o operando.

a) Cite 5 modos de endereçamento. Explique e mostre um exemplo para cada um


deles.

b) Imagens geralmente são armazenadas na forma de matrizes bidimensionais.


Desenvolva e explique um novo modo de endereçamento para melhorar o
desempenho de instruções sobre imagens. Por exemplo, suponha que sua matriz
seja alocada como int **matriz.
NOME:
_________________________________________________________________________________

QUESTÃO 4 (Mecanismos de interrupção e exceção)

Interrupção e a exceção são usadas nas arquiteturas de computadores para tratar


eventos não usuais no fluxo de execução de programas.
a) Dê um exemplo de evento no computador (ou nas instruções) que geraria
uma exceção.
b) Dê um exemplo de um evento no computador (ou nas instruções) que geraria
uma interrupção.
c) É comum dizermos que as exceções não são transparentes para os
programas, enquanto as interrupções são transparentes. Explique porque, dando
exemplos para a interrupção e para a exceção.
d) Além da transparência, qual a diferença fundamental entre interrupção e
exceção?
NOME:
_________________________________________________________________________________

QUESTÃO 5 (Aritmética computacional)

A aritmética computacional é dividida em dois tipos, ponto fixo e ponto flutuante.


Como o computador usa uma quantidade finita de bits para representar números,
temos limitações nos números que são representados no ponto fixo e no ponto
flutuante, e estas limitações são diferentes para cada um deles. Explique:

a) Porque na aritmética binária de ponto fixo acontece o overflow? Explique


porque o overflow ocorre na soma de dois números de mesmo sinal, mas nunca
ocorre na soma de números de sinais diferentes. Considere que os dois números
são números que são passíveis de representação na aritmética binária considerada.
b) A aritmética binária de ponto flutuante é usada para representar valores no
domínio dos números reais. Existem dois erros de representação, um relacionado à
magnitude do número (o underflow é um exemplo), e outro relacionado ao valor
específico do número (erro de truncamento). Explique cada um deles.
c) O que difere na representação em ponto flutuante quando um computador
suporta o formato float em relação a um outro computador que suporta o formato
double? Explique as mudanças do ponto de vista da representatividade dos números
reais (faixa de valores, precisão, arredondamento, tamanho do expoente), bem
como do ponto de vista dos registradores (tamanho do registrador).
NOME:
_________________________________________________________________________________

QUESTÃO 6 (Arquiteturas Paralelas)

Hoje as arquiteturas paralelas são muito importantes no mercado. Praticamente todo


PC ou celular possui um chip que suporta algum tipo de paralelismo. A taxonomia de
Flynn é muito empregada para classificar as arquiteturas paralelas: SIMD, SISD,
MISD, MIMD. Esta taxonomia indica se temos uma (S) ou múltiplas (M) instruções (I)
ou dados (D) sendo processados.

a) Como você classificaria os seguintes sistemas (explique): Um processador


Pentium Core i7, Um cluster de máquinas para mineração de bitcoin, uma GPU.
b) Nem todos os programas terão um bom desempenho ao serem
paralelizados, e uma das razões é a interdependência de dados entre instruções.
Exemplifique essa interdependência de dados em uma arquitetura MISD.
c) Uma forma muito comum de organizar computadores MIMD emprega uma
memória principal compartilhada, e caches independentes para cada núcleo. Neste
caso, o que seria mais interessante para uso na cache, do ponto de vista de redução
de inconsistência de dados entre caches? write through ou write back? Explique.
NOME:
_________________________________________________________________________________
NOME:
_________________________________________________________________________________