Você está na página 1de 1

1 ª Prova de MC722/MC732 – 1s2016 RA:

ATENÇÃO A - TODAS AS RESPOSTAS SÓ SERÃO ACEITAS COM JUSTIFICATIVAS B - PARA QUALQUER TENTATIVA ILÍCITA DE REALIZAÇÃO DA PROVA, SERÁ ATRIBUÍDA MÉDIA ZERO NA DISCIPLINA.

Nome:

1. Considere 2 implementações diferentes, P1 e P2, de uma mesma arquitetura de conjunto de instruções (ISA). Existem 5 classes de instruções (A, B, C, e E) na ISA.

 

Frequência

CPI classe A

CPI classe B

CPI classe C

CPI classe D

CPI classe E

do clock

P1

2,0 GHz

1

 

1 2

3 2

 

P2

3,0 GHz

1

2 3

 

4 3

 

a) Qual a desempenho de pico de P1 e P2 expressos em instruções por segundo. (1,0)

b) Se o número de instruções executadas de um determinado programa é dividido

igualmente pelas classes de instruções, com exceção da classe A, que é duas vezes mais frequente que as outras, qual o computador mais rápido e o quanto ele o é?

(2,0)

2. Traduza a rotina abaixo para a linguagem MIPS. O que ela faz? Mostre o

funcionamento de sua rotina (versão MIPS) para um vetor de 3 elementos.

void rotina (int n, int* v) { int i, temp; int troca = 0; for (i=0; i < n-1; i++) if (v[i] > v[i+1]) { temp = v[i]; v[i] = v[i+1]; v[i+1] = temp; troca = 1;

}

if (troca != 0) && (n>1)

rotina(n-1,v);

}

(3,0)

3. Projete um circuito que faça a multiplicação de dois números inteiros, utilizando o algoritmo de BOOTH. Mostre que este algoritmo pode ser utilizado em multiplicação de números sinalizados, fazendo a multiplicação, segundo o algoritmo, de (-4) X (-3).

(2,0)

4. Dada as instruções abaixo (que não pertencem ao ISA MIPS), encontre a menor sequencia de instruções mips que sintetizam estas instruções.

a) bgt $t5, $t3, L

b) lw $t5, big($t3)

(1,0)

# $t5 = mem[$t3+big], onde big é um número de 32 bits. (1,0)

# se $t5

> $ t3 vá para L