Universidade Católica Dom Bosco Curso de Engenharia de Computação Disciplina: Arquitetura de Computadores II Professor: Ricardo Santos

1) Assinale a alternativa correta (V ou F)

( ) O aumento da associatividade de uma cache não tem impacto sobre os Misses Compulsórios. ( ) A diferença básica entre o controle de E/S via polling e aquele via interrupção está na utilização

do tempo do processador para a transferência dos dados. No primeiro caso, o processador deve transferir os dados para a memória assim que estiverem prontos. No segundo caso, um controlador de interrupção realiza a transferência.

( ) Duas caches C_{1} e C_{2} com configurações mapeamento direto e conjunto associativo de 2 vias, res-

pectivamente. Essas caches possuem B e \frac{B}{2} blocos.

( ) Um valor está presente na TLB se e somente se estiver presente na tabela de páginas. ( ) Considere uma cache organizada como um conjunto associativo de 4 vias, com o campo de Da-

dos==40 bits e o campo “Valid”==1 bit. A palavra gerada pelo processador possui 32 bits sendo que 22 bits são reservados para TAG e 2 não há bits reservados para byte offset. Essa cache necessita (para implementá-la) de, exatamente, 6784 bytes.

2) O código a seguir explora, mais enfaticamente, a localidade espacial ou temporal? Justifique.

do{
i=i+1
t1=4*i
if i<n then
j=j-1
t2=4*j
if j<m then
 a[t2]=8*a[t2]
else
 a[t2]=a[t2]-8
else
a[t1]=a[t1]-8
}while (i<n)

3) Considere um sistema de memória virtual com as seguintes propriedades:

– endereço virtual de 32 bits

– páginas de 16KB

– endereço físico de 30 bits

Qual é o tamanho total da tabela de páginas desse processador, considerando que os sinais de controle (validade, proteção, modificação, etc.) ocupam 4 bits e que todas as páginas virtuais estão em uso, ou seja, a tabela de páginas armazena apenas as páginas que estão na memória.

4) Suponha que um processador de 1GHz precise ler 1000 bytes de dados de determinado dispositivo de E/S. O dispositivo fornecer 1 byte de dados a cada 0,02ms. O código, do dispositivo, para processar os dados e armazená-los em um buffer utiliza 1000 ciclos.

1. Se o processador detecta que um byte de dados está pronto por meio de polling, e uma interação de polling utiliza 60 ciclos, quantos ciclos a operação inteira utiliza?

2. Se o processador for interrompido quando um byte estiver pronto, e o processador gastar o tempo entre as interrupções em outra tarefa, quantos ciclos dessa outra tarefa o processador pode completar enquanto a operação de E/S está ocorrendo? O tratamento de uma interrupção usa 200 ciclos.

5) Considere as referências aos dados de um programa de acordo com a seguinte ordem de endereços: 2, 3, 11, 16, 21, 13, 11, 16, 21, 13, 11, 16, 64, 48, 19, 2, 3, 22, 4, 27, 6. Considere também uma cache com mapeamento direto com 16 blocos, cada um com uma palavra. A cache está inicialmente vazia. Indique cada referência na lista como um acerto ou falha.