Baixe o app para aproveitar ainda mais
Prévia do material em texto
CENTRO DE TECNOLOGIA DE ALEGRETE UNIVERSIDADE FEDERAL DO PAMPA PRIMEIRO SEMESTRE LETIVO DE 2016 Curso: Engenharia de Telecomunicações PRIMEIRA AVALIAÇÃO Nota Disciplina: Arquitetura e Organização de Computadores I Data da Prova: 13/05/2016 Aluno: OBSERVAÇÃO: Nas questões sobre instruções assembly do processador MIPS, apenas podem ser utilizadas as instruções presentes na Tabela 3. (1,0 ponto) QUESTÃO 01 Escreva em linguagem assembly do processador MIPS o comando x = a + (3⋅b – c), considerando que todas as variáveis estão localizadas no banco de registradores (Tabela 2). (1,0 ponto) QUESTÃO 02 a) Baseado na Tabela 1, caso os campos IMEDIATO da instrução do tipo I e o campo ENDEREÇO da instrução do J fossem utilizados apenas para endereçar posições de memória, qual o número máximo de posições possíveis de serem endereçadas por cada campo (IMEDIATO e ENDEREÇO)? b) Uma memória RAM tem um número máximo de posições (cada posição aponta para uma palavra diferente) de 4K. Cada palavra pode armazenar 24 bits. Qual o valor total de bytes que pode ser armazenado nessa memória e qual o tamanho de cada endereço? (2,0 ponto) QUESTÃO 03 Explique com palavras o funcionamento das instruções assembly do processador MIPS abaixo e transforme-as para linguagem de máquina atribuindo (para simplificar atribua zeros nas posições referentes a L1): a) beq $s1, $s2, L1; b) addi $s1, $s2, 10; c) slt $s1, $s2, $s3; d) lw $t1, 0($s2). (2,0 ponto) QUESTÃO 04 Sabendo que as variáveis a, b e c estão localizadas nos registradores $s0, $s1 e $s2, respectivamente, e que o endereço-base do vetor v está em $s4, transforme o seguinte código em linguagem C para linguagem assembly do processador MIPS: for (a=0; a<c; a++) { c = b - v[a]; } CENTRO DE TECNOLOGIA DE ALEGRETE UNIVERSIDADE FEDERAL DO PAMPA PRIMEIRO SEMESTRE LETIVO DE 2016 (2,0 ponto) QUESTÃO 05 Um projetista de compilador está tentando decidir entre duas seqüências de código para uma máquina em particular. Existem 3 classes diferentes de instruções: Classe A - requer 3 ciclo por instrução; Classe B - requer 4 ciclo por instrução; Classe C - requer 5 ciclo por instrução; 1ª sequência: 2 instruções de A, 2 de B, e 3 de C 2ª sequência: 6 instruções de A, 1 de B, e 1 de C. a) 3Qual sequência executa mais instruções? b) Qual sequência será mais rápida, e por quanto? c) Qual o CPI para cada seqüência? (1,0 ponto) QUESTÃO 6 Supor que um programa é executado em 100s numa máquina, com instruções de multiplicação responsáveis por 80% desse tempo. a) Quanto devemos melhorar a velocidade das instruções de multiplicação se desejamos que o programa seja executado 2 vezes mais rápido? b) Seria possível fazer com que o programa seja executado 6 vezes mais rápido apenas melhorando a velocidade das instruções de multiplicação? Justifique. (1,0 ponto) QUESTÃO 7 a) Explique os princípios da localidade temporal e espacial em memórias. Cite exemplos nos quais estes princípios proporcionam aumento de desempenho nos computadores. b) Explique como a utilização de memórias cache proporciona um aumento de desempenho na execução de instruções em um computador. (1,0 ponto) QUESTÃO bônus a) Cite e explique os princípios da arquitetura de von Neumann. Quais são os 5 componentes básicos de um computador baseado nesta arquitetura e quais as suas funções principais? Desenhe um diagrama mostrando a interação entre estes componentes. b) A arquitetura de von Neumann, que é a base para a maioria dos computadores atuais, sofre com o gargalo de von Neumann. Explique. c) Explique a que ser referem os aspectos arquiteturais e organizacionais de um computador. Cite um exemplo no qual as duas características são facilmente observadas. CENTRO DE TECNOLOGIA DE ALEGRETE UNIVERSIDADE FEDERAL DO PAMPA PRIMEIRO SEMESTRE LETIVO DE 2016 Tabela 1 - Formato das instruções. 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits Formato R OP RS RT RD SHAMT FUNCT Formato I OP RS RT IMEDIATO Formato J OP ENDEREÇO Tabela 2 - Banco de registradores do processador MIPS. Registrador Binário Função $zero 00000 constante 0 $t0 01000 temporários $t1 01001 temporários $t2 01010 temporários $t3 01011 temporários $t4 01100 temporários $t5 01101 temporários $t6 01110 temporários $t7 01111 temporários $s0 10000 valores salvos $s1 10001 valores salvos $s2 10010 valores salvos $s3 10011 valores salvos $s4 10100 valores salvos $s5 10101 valores salvos $s6 10110 valores salvos $s7 10111 valores salvos $t8 11000 mais temporários $t9 11001 mais temporários Tabela 3 - Instruções assembly do processador MIPS. Instruções Opcode Funct Binário Binário ADD 000000 100000 ADDI 001000 - SUB 000000 100010 OR 000000 100101 AND 000000 100100 LW 100011 - SW 101011 - BEQ 000100 - SLT 000000 101010 NOP 000000 000000 (1,0 ponto) QUESTÃO 01 (1,0 ponto) QUESTÃO 02 (2,0 ponto) QUESTÃO 03 (2,0 ponto) QUESTÃO 04 (2,0 ponto) QUESTÃO 05 (1,0 ponto) QUESTÃO 6 (1,0 ponto) QUESTÃO 7 (1,0 ponto) QUESTÃO bônus
Compartilhar