Você está na página 1de 4

Universidade Federal de Mato Grosso do Sul - UFMS

Campus de Coxim - CPCX


Curso: Sistemas de Informacao
Disciplina: Arquitetura de Computadores
Professor: Kleber Kruger
Email: kleberkruger@gmail.com

Lista de Exerccios 3
Pipeline e Hierarquia de Memoria

1. 1) Assinale a alternativa correta (V ou F).


(a) ( ) O conte
udo (sem considerar sinais de controle) do registrador de pipeline IF/ID
e a instrucao buscada na memoria e o endereco do PC. Logo, o tamanho desse
registrador e 8 bytes.
(b) ( ) Duas instrucoes a e b com dependencia de dados (a depende de b), nao necessitam utilizar a unidade de forwarding se b estiver no estagio WB e a estiver no
estagio ID.
(c) ( ) Tomando como base a implementacao em pipeline do processador MIPS, nao
ha possibilidade de colocar a deteccao de hazard de controle antes do estagio ID.
(d) Dadas duas instrucoes i e j, executadas nessa ordem no pipeline de 5 estagios da
arquitetura MIPS, a ocorrencia de um mesmo registrador no campo registrador
de destino de i e no registrador de origem de j e uma condicao apenas necessaria
para ocorrencia do hazard de dados e, como consequencia, utilizacao da unidade
de forwarding.
2. Indique onde ocorre stall nas instrucoes a seguir e reordene-as de maneira a reduzir
esses stalls. Se considerarmos que nao ha stall na instrucao de desvio condicional,
como ficaria o codigo?
04
08
12
16
20
24

lw $t3, 0($t0)
beq $t2, $t3, 1
add $t2, $t1, $t1
addi $t1, $t3,1
addi $t0, $t0,2
sw $t1, 0($t0)

3. Se acrescentarmos mais uma unidade de forwarding na via de dados com pipelines do


processador MIPS, entre os estagios WB e MEM, essa unidade seria u
til em qual(is)
situacao(oes). Exemplifique sua resposta.

4. Mostre o conte
udo (desconsidere sinais de controle) dos registradores de pipeline de
acordo com o codigo a seguir, apos cada ciclo de relogio. Mostre a execucao ate o estagio
EX da u
ltima instrucao. Quando nao for possvel determinar o conte
udo, indique 1x11.
Tome como base a via de dados com pipelines apresentada na Figura 1. Quando for
apresentar o conte
udo de um registrador rx, a partir do banco de registradores, utilize
a notacao R[rx]. O conte
udo da ALU, a partir das entradas rs e rt para uma operacao
de soma, deve ser indicado como ALU[[rs] + [rt]]. O conte
udo da memoria de dados,
cujos operandos foram, por exemplo, rs e 10, deve ser MEM[rs + 10]. O resultado de
um FLUSH em um registrador e indicado como 0.
04
08
12

lw $t0, 10($t1)
add $t2, $t2, $t0
add $t1$,$t2, $t0

Figura 1: Via de dados com Pipelines


5. Considerando o codigo assembly a seguir e a versao final da maquina MIPS com registradores de pipeline (Figura 1), indique onde ocorrem stalls (considere que o desvio
condicional e tomado 10 vezes consecutivas). Considerando que nao ha tratamento de
hazards (stalls) em hardware, mostre (e justifique) como este codigo pode ser reescrito
de forma mais otimizada possvel.
00
04
08

addi $t1,$zero, 5
lw $t0, 0($t2)
addi $t1, $t0,-1
2

12
16
20
24
28
32

addi $t2,$t2,4
bne $t1,$zero, -4
add $t1, $zero, $zero
sw $t0, 0($t2)
add $t2, $zero, $zero
add $t0, $zero, $zero

6. Assinale a alternativa correta (V ou F). Justifique as alternativas Falsas (F).


( ) O aumento da associatividade de uma cache nao tem impacto sobre os Misses
Compulsorios.
( ) Dadas duas caches C1 e C2 de mesma capacidade de armazenamento de palavras,
uniblocos e com configuracoes mapeamento direto e conjunto associativo de 2 vias,
respectivamente. Essas caches possuem B e B/2 blocos.
( ) Uma cache multiword indica uma cache com somente um campo TAG para mais
de uma palavra de um mesmo bloco.
( ) Considere uma cache organizada como um conjunto associativo de 4 vias, unibloco,
com o campo de Dados = 40 bits e o campo Valid = 1 bit. O endereco gerado
pelo processador possui 32 bits sendo que 20 bits sao reservados para TAG e 3 bits
reservados para byte offset. Essa cache armazena, exatamente, 2KB de palavras de
dados (dados e/ou instrucoes).
( ) Dada uma cache 2-way set associative, unibloco, com 5 linhas de palavras e a
seguinte sequencia de acessos (enderecos, sem considerar byte offset): 1, 2, 3, 5, 10,
5, 2, 1, 2, 6, 3, 11, 3. O resultado final (estado final) dessa cache com a poltica de
substituicao LRU ou LFU e o mesmo.
7. Considere a seguinte serie de referecias de enderecos (desconsiderando byte offset): 0,
2, 3, 11, 16, 21, 13, 64, 48, 19, 11, 3, 22, 4, 27, 6, 11. Para cada um dos modelos de
cache abaixo, que esta inicialmente vazia, indique cada referecia da serie como acerto
ou falha e a posicao na cache, mostrando o conte
udo final da cache e o formato (e
tamanho) do endereco para acesso `a memoria cache.
(a) Cache diretamente mapeada com 16 blocos de 1 palavra cada;
(b) Cache diretamente mapeada com blocos de 4 palavras cada e tamanho total de
16 palavras;
(c) Cache 2-way set-associative com blocos de 2 palavras e tamanho total de 16
palavras, com substituicao LRU.
8. Dado um endereco para acesso `a memoria cache de tamanho 32 bits sendo que 10 bits
sao usados para ndice. Dada uma cache de mapeamento direto em que cada bloco
possui 2 palavras (cada uma com 32 bits). Mostre como e o formato desse endereco (leve
em consideracao a possibilidade de acessar bytes especficos da palavra), o tamanho de
cada bloco da cache (em bits) e o tamanho total da cache (em bits).
9. Devido a grande diferenca de latecia entre os tipos de memoria, duas estrategias de
escrita de dados sao usadas: write-through e write-back. Responda:
3

(a) Qual a diferenca entre elas?


(b) A diferenca de latencia entre a memoria cache e a memoria RAM nao e tao
grande: varia entre dezenas e centenas de ciclos de clock. Neste caso, o que e
melhor: utilizar write-through com um buffer ou somente write-back ? Por que?
(c) A diferenca de latencia entre a memoria RAM e a memoria secundaria (disco
rgido) e muito grande: milhoes de ciclos. Neste caso, o que e melhor: utilizar
write-through ou write-back ? Por que?