Arquitectura de Computadores
Teste I - 13 de Maio de 2013
[ Versão A ]
Nome:
#Mec.:
1. Tipicamente as fases de compilação de um programa em C para a geração de um binário executável são:
a. análise sintática, análise semântica, ligação, geração de código.
b. análise semântica, análise sintática, geração de código, ligação.
c. análise sintática, análise semântica, geração de código, ligação.
2. Na figura anterior, que representa a organização do espaço de endereçamento de um processo, as letras referem-se,
por ordem alfabética, a:
a. código do kernel, pilha de execução, dados dinâmicos, dados estáticos, código, cabeçalho.
b. cabeçalho, pilha de execução, dados dinâmicos, dados estáticos, código, código do kernel.
c. cabeçalho, dados dinâmicos, pilha de execução, dados estáticos, código, código do kernel.
3. O inteiro de 32 bits 0xffcf4cd8 é colocado na memória, numa arquitectura little-endian, com a seguinte configuração, assumindo endereços crescentes da esquerda para a direita:
a. ...,ff,cf,4c,d8,...
b. ...,d8,4c,cf,ff,...
c. ...,cf,ff,d8,4c,...
4. Qual a representação de -83 em binário, com 8 bits?
a. 10101101
b. 01010011
c. 11010011
5. Qual o número representado pela sequência em vı́rgula flutuante: 11000000111110000000000000000000?
a. -3.75
b. 6.75
c. -7.75
6. As operações em vı́rgula flutuante IEEE754 (em precisão simples) utilizam 2 bits adicionais, bg e br , para arredondamentos dos 23 bits da mantissa m = m0 . . . m22 . Qual dos seguintes algoritmos corresponde a um método de
arredondamento da mantissa m especificado na norma referida?
a. (bg br = 11) ⇒ m + 00 . . . 021 1 | (bg br = 00 ∨ bg br = 01) ⇒ m |
(bg br = 10 ∧ m22 = 0) ⇒ m | (bg br = 10 ∧ m22 = 1) ⇒ m + 00 . . . 021 1.
b. (bg br = 11 ∨ bg br = 01) ⇒ m + 00 . . . 021 1 | (bg br = 00 ∨ bg br = 10) ⇒ m.
c. (bg br = 11 ∨ bg br = 10) ⇒ m | (bg br = 00 ∨ bg br = 01) ⇒ m + 00 . . . 021 1.
7. A Lei de Moore fala-nos:
a. da evolução temporal do custo das fábricas de circuitos integrados.
b. do limite no tamanho das componentes de circuitos integrados devido a efeitos quânticos.
c. da evolução temporal do número de componentes em circuitos integrados.
8. Um transı́stor é um dispositivo:
a. que controla a passagem e amplifica a corrente eléctrica.
b. que gera ondas de rádio.
c. que gera sinais de relógio para sincronização de circuitos electrónicos.
9. Um relógio é um sinal eléctrico que:
a. acorda uma componente de hardware num dado instante.
b. permite guardar a data corrente no computador.
c. sincroniza a transferência de informação entre componentes de hardware.
10. No “D-flip-flop” representado acima, o que acontece ao valor de Q se o sinal de relógio estiver inactivo (0)?
a. o valor de Q muda.
b. o valor de Q não muda.
c. o valor de Q perde-se.
11. A instrução do MIPS R2000, jal proc pode ser descrita conceptualmente por $ra = PC + 4; PC = proc. O
registo $ra é utilizado para guardar o endereço de retorno do procedimento para:
a. tornar mais rápido o retorno de todas as funções.
b. como segurança para o caso do valor do endereço de retorno da função na pilha se perder.
c. tornar mais rápido o retorno de funções que no seu corpo não chamam outras funções.
12. Na instrução de salto incondicional, j, a gama de valores para o novo valor do registo PC é de:
a. -64 Mbytes a 64 Mbytes
b. 0 Mbytes a 256 Mbytes.
c. -128 Mbytes a 128 Mbytes.
13. Qual das legendas seguintes faz a correspondência correcta entre as componentes da implementação multiciclo
acima representadas e as suas funções?
a. E - unidade de controlo, G - ALU, A - memória de instruções, F - registo auxiliar com valor lido da memória de
dados, D - memória de dados, C - registo auxiliar com valor lido da memória de instruções, H - registo auxiliar
com resultado da ALU, I - controlo especı́fico da ALU, B - unidade de registos.
b. E - unidade de controlo, G - ALU, A - memória de instruções e dados, F - registo auxiliar com valor lido da
unidade de registos, D - unidade de registos, C - registo auxiliar com instrução lida da memória, H - registo
auxiliar com resultado da ALU, I - controlo especı́fico da ALU, B - registo auxiliar com valor lido da memória
para a instrução load.
c. E - unidade de controlo, G - ALU, A - memória de instruções e dados, F - registo auxiliar com valor lido da
unidade de registos, D - unidade de registos, C - registo auxiliar com valor lido da memória para a instrução load,
H - registo auxiliar com resultado da ALU, I - controlo especı́fico da ALU, B - registo auxiliar com instrução
lida da memória.
14. Os tipos de operação do MIPS R2000 que utilizam a ALU na implementação de multiciclo são:
a. todas.
b. lógicas e aritméticas.
c. lógicas e aritméticas, salto condicional e load/store.
15. Na instrução addi $t2,$t2,-1, o que entra e o que sai da unidade “Sign Extend” na figura ?
a. 0xffff e 0xffffffff.
b. 0xffff e 0x0000ffff.
c. 0xffff e 0x8fffffff.
16. Os sinais activados pela unidade de controlo para a instrução beq $t9,$t7,-12 na fase EX são:
a. ALUSrcA=1, ALUSrcB=00, ALUOp=01, PCWriteCond, PCSource=01.
b. ALUSrcA=0, ALUSrcB=01, ALUOp=01, PCWriteCond, PCSource=01.
c. ALUSrcA=1, ALUSrcB=10, ALUOp=00.
17. Uma vantagem da implementação multiciclo do MIPS R2000, relativamente à de ciclo único, é:
a. executar em simultâneo várias instruções em estágios diferentes.
b. executar instruções que demoram vários ciclos.
c. diminuir o tempo de ciclo do processador.
18. A filosofia subjacente às arquitecturas RISC consiste em:
a. simplificar o hardware, optimizando-o para as instruções mais comuns.
b. complicar o hardware, simplificando a programação em assembly e os compiladores.
c. utilizar circuitos menos seguros mas mais rápidos para executar as instruções.
19. Segundo a Equação de Performance o tempo de CPU usado por uma aplicação diminui:
a. aumentando o número de ciclos por instrução e a frequência do relógio.
b. aumentando o número de instruções por ciclo e a frequência de relógio.
c. aumentando o número de instruções a executar e a frequência de relógio.
20. Um exemplo de um “interrupt” é:
a. um erro “segmentation fault” no acesso à memória durante a execução de um programa.
b. um pedido de transferência de informação entre um periférico e a memória.
c. o utilizador fazer “screen-lock” do computador durante um perı́odo em que não o vai usar.
21. O processador atende um “interrupt”:
a. interrompendo a execução do programa actual, identificando o “interrupt”, executando o “handler” associado
ao mesmo e retornando ao programa original.
b. guardando o “interrupt” numa fila, consultando a fila quando há uma pausa no programa actual, executando o
“handler” do “interrupt” retirado da fila, e retornando para o programa actual.
c. voltando a executar a partir do inı́cio.
22. Traduza para “assembly” do MIPS R2000 o seguinte programa em C.
#include <stdio.h>
int main () {
int i, sum, upTo;
scanf("%d",&upTo);
sum = 0;
for(i = 0; i < upTo ; i++)
sum += i * i;
printf("sum = %d\n", sum);
}
23. Traduza para “assembly” do MIPS R2000 o seguinte programa que implementa o Método da Bolha de ordenação
de uma sequência de inteiros.
#include <stdio.h>
int array[] = {32, 6, 51, 63, 22, 29, 91, 39, 66, 47};
int size = 10;
void bsort(int *v, int n)
int i, j;
for( j = 0 ; j < n ; j++
for( i = 0 ; i < n - 1
if ( v[i+1] < v[i] )
int tmp;
tmp
= v[i];
v[i]
= v[i+1];
v[i+1] = tmp;
}
}
{
)
; i++ )
{
int main () {
int i;
bsort(array,size);
for ( i = 0 ; i < size ; i++ )
printf("%d ", array[i]);
printf("\n");
}
Download

[ Vers˜ao A ]