Buscar

GABARITO TOP AV ARQ Exerc Video Aulas nr 5 6 7 8 9 TOP AV MEMORIAS


Prévia do material em texto

Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
Unidade 2
TÓPICOS AVANÇADOS EM MEMÓRIA
GABARITO DOS EXERCÍCIOS
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
Considere um sistema de computação que possua dois tipos de memória:
um rápido, de baixa capacidade (64 KB), com latência de 5 nseg, interligado
ao processador e outro, mais lento, de maior capacidade (512 MB), com
latência de 50 ns, interligada à memória rápida.
Calcule o tempo médio de acesso do processador, considerando um período
de 200 acessos e que o sistema tenha eficîência de 95 %.
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
Eficiência (E) é a relação entre a quantidade de acertos (A) e o total de
acessos em um período (T). Medida em percentagem.
Se E é 95%, significa que em 100 acessos (percentagem) 95 são acertos e
apenas 5 são Faltas ( o sistema tem que trazer um bloco da MP para Cache-
50 ns e dai o dado desejado para Proc (mais 5 ns). Como se deseja saber em
200 acessos, é só multiplicar tudo por 2 (95 x 2=190 e 5 x 2 =10).
Tempo Médio (TM ) = ((190 x 5) + (10 x 55)) / 200 = (950 + 550) / 200 = 1500 /
200 = 7,5 ns. Então,
TM = 7,5 ns
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
Por que o sistema busca um bloco da MP para a
cache quando ocorre uma FALTA em vez de buscar
apenas o dado desejado?
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
O princípio da localidade estabelece que o processador costuma acessar 
endereços contíguos, já que esta é a lógica de criação de algoritmos. 
Eventualmente, ele “salta” a sequência e passa a outro grupo., também 
de endereços contíguos.
Como o tempo de transferência entre MP e Processador é muito grande 
em relação à velocidade do processador, viu-se que, graças ao princípio da 
localidade, quando o processador precisa trazer um dado da MP para a 
cache e daí para ele, este dado vem em um bloco de endereços contíguos, 
pressupondo-se que o processador vai querer os bytes subsequentes. 
Como o processo gasta tempo (MP-Cache) é muito mais eficaz trazer um 
grupo de dados do que um por um byte. Traz-se o dado desejado e 
aqueles que o processador desejará em seguida, gastando-se apenas UM 
tempo de acesso. 
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
Considere uma MP (memória principal) que possua uma capacidade
máxima de endereçamento de 256 MB, sendo cada célula capaz de
armazenar 1 byte de dados. Considere as duas técnicas conhecidas de
endereçamento da MP, por linha/coluna e diretamente célula por
célula. Qual das 2 técnicas obtém maior economia de espaço interno
de fiação e de custo e, para esta técnica indicada calcule qual será a
economia de linhas de endereçamento em relação a outra técnica?
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
Como a MP tem 256MB ou 256M endereços (1B por endereço), cada endereço 
tem uma largura de 28 bits. Nesse caso, é possível obter-se até 228 = 256M 
endereços ou 256 x 1024 x 1024 = 268.435.456 endereços. No método direto ou 
linear, haveria necessidade dessa quantidade de fios.
No método de matriz Linha x Coluna, divide-se o endereço em 2 partes iguais 
(matriz quadrada), no caso, 28 / 2 = 14 bits. E cada parte endereça um 
decodificador, de linha e outro de coluna. 
Assim, 214 = 16K = 16.384 linhas de saída. Somando-se as duas saídas (L e C) 
tem-se um total de 16384 x 2 = 32.768 fios de saída.
Um valor muito, muito menor que os mais de 268 milhões do método 
anterior.
A economia é de 268.435.456 – 32.768 = 268.402.688 fios
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
Um determinado sistema de computação suporta memórias do tipo DRAM com palavras de 4 bits 
por célula e 4 “camadas” (também chamadas de pastilhas ou bancos), sendo que, cada camada 
armazena um dos 4 bits da célula. Para cada “camada”, saem 18 fios, através do barramento de 
endereços, até o registrador de endereços, e dele saem 9 fios para o MPX de Endereços de linha, e 9 
fios para o Decodificador de coluna, resultando em 512 linhas * 512 colunas * 4 bits em cada célula.
Observe a imagem a seguir, referente ao texto acima:
Se a capacidade total da memória é obtida
através do somatório da capacidade total de
endereçamento com a palavra de cada célula
em cada “camada”, ou banco, qual é a
capacidade dessa MP em bits?
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
1 célula = 4 bits
Cada endereço é representado por um número de 18 algarismos (18 bits),
sendo 9 bits para endereço de linha e 9 bits para endereços de coluna.
Capacidade total de bits será = total de endereços (TE) * largura de cada
endereços (LE)
TE= 512 *512 = 29 * 29 = 218 = 256K endereços
LE = 4 bits (conforme enunciado)
Então, total de bits = 256K * 4 = 1M bits
A capacidade da MP é, então, de 1M bits
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
Considere um sistema de armazenamento constituido de uma 
memória principal (MP), endereçada por byte, e com capacidade 
máxima de 256KB, sendo organizada (para funcionamento com a 
cache) em blocos de 16 bytes. Considerando que este sistema usa o 
método de mapeamento direto na sua cache, a qual possui 128 
linhas, pergunta-se:
a) Em que linhas deverão ser armazenados os bytes que possuem 
os seguintes endereços:
10 1001 1101 0000 1100
11 0001 0111 1000 1111
b) Qual é o total de bits consumido nesta cache?
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
MP = 256KB (endereça por byte) e o BE = 18 bits, pois 256K = 218 
Blocos de 16B (=Linhas de 16B e endereço de cada Byte = 4 bits, pois 16 = 24
A cache possui 128 linhas e, assim, cada linha tem 7 bits de endereço, pois 
128 = 27 E o campo TAG tem 7 bits ou 18 bits (end MP) – 7 (end linha) – 4 (end
byte) = 7
a) O formato de endereço (mapeamento direto) é:
7 bits 7 bits 4 bits
O valor em bits do campo linha, no 1o caso é: 1010000 e no 2º caso: 1111000
b) O total de bits da cache é 128 linhas x 16 bytes x 8 bits + (128 tags x 7)=
16384 +896 = 17 289 bits
linha bytetag
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
Considere uma memória cache organizada com mapeamento
associativo por conjunto, sendo cada conjunto de quatro linhas
“set associative 4 way”). A MP tem capacidade máxima de
64MB, sendo endereçada por byte e o sistema MP/Cache,
transfere de cada vez um bloco com 32 bytes. Considerando que
a capacidade da cache é de 64KB, mostre como deve ser o
formato dos campos de endereço para a memória cache?
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
MP = 64MB. Então, BE = 26 bits (64M = 226)
Cada bloco/linha = 32 bytes. Endereço de byte = 5 bits (32 = 25)
Se a cache tem 64KB e cada linha 32 B, então há 64K / 32 = 2K 
linhas; e se o mapeamento é associativo por conjunto de 4 linhas, significa 
que cada conjunto tem 4 linhas e a quantidade de conjuntos é 2K linhas / 4 = 
512 conjuntos. Cada endereço de conjunto tem 9 bits (512 = 29).
Valor do campo CONJUNTO = 9 bits. O valor do campo BYTE é 5 bits. Como o 
total de endereço é 26 bits, o valor do campo TAG = 26 – 9 – 5 = 12 bits
Formato do endereço:
12 bts 9 bits 5 bits
tag byteconjunto
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
Considere uma memória principal (MP) com 
capacidade máxima de X bytes, sendo endereçada por 
byte e uma cache com 256KB, organizada em linhas de 
32 bytes. Sabe-se que o BE do sistema possui 28 bits de 
largura. Mostre o formato dos campos de endereço 
considerando os 3 métodos de mapeamento de 
endereços da cache (direto, associativo e associativopor conjunto de 8 linhas). 
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
5 = 13 bits 
MP = x bytes e Cache = 256KB Bloco/Linha = 32B BE = 28 bits
a) Mapeamento Direto
Campo byte = 5 bits, pois bloco =32bytes = 25 
Quantidade de linhas = 256KB / 32B = 8 K linhas = 213 Endereço de linha = 13 bits
Campo tag = 28 bits (total endereço) – 13 (campo linha) – 5 (campo byte) = 10 bits
10 bits 13 bits 5 bits
b) Mapeamento Associativo Completo 
Campo Bloco = 28 – 5 = 23 bits (8M blocos)
23 bits 5 bits
c) Mapeamento Associativo por conjunto de 8 vias
Quant conjuntos: qtde linhas / largura conjunto =
8K linhas / 8 vias = 1K conjunto = 210 campo conjunto = 10 bits
Campo tag = 28 – 10 – 5 = 13 bits 
13 bits 10 bits 5 bits
tag
tag
byte
byte
linha
bloco
conjunto byte
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
Por que é necessário se estabelecer uma política 
de substituição de linhas nos métodos de 
mapeamento associativo e associativo por 
conjunto e não para o método direto?
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
No método de mapeamento de endereços direto, cada linha da cache 
tem predeterminado quais blocos da MP serão nela armazenados, de 
modo que, se ocorrer a transferência de um bloco da MP para uma linha 
da cache, o sistema já sabe onde armazenar (em que linha) o referido 
bloco. No entanto, no caso do método associativo (seja simples seja por 
conjunto), não há uma linha pré-definida para armazenar o bloco a ser 
transferido. Nesses caso, o sistema precisa escolher em qual linha irá 
armazenar o bloco, substituindo pelo existente. Daí a necessidade de se 
definir uma política de escolha do bloco a ser retirado.
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
Qual é a diferença entre cache unificada e cache dividida? 
Que nível de cache utiliza esta estratégia? 
Mario A. Monteiro
TOP AV EM ARQUITETURA
SOLUÇÃO DOS EXERCÍCIOS
Todas as memórias armazenam instruções-I (o código de programa) e dados-
D. Aquelas memórias que armazenam junto esses elementos (I e D) 
chamam-se unificadas (emboar este termo não seja praticado para MP e MS 
e apenas para as caches, pois, nesse caso, há uma outra possibilidade e 
assim é preciso distinguir um modo de outro.
Na cache L1 (apenas nessa cache), que é diretamente ligada ao processo de 
execução de uma instrução, atualmente costuma-se separar o 
armazenamento de instruções e dados e assim, ter Cache L1 para Instruções 
(cache Li-I) e Cache L1 para dados (cache L1-D).
Isso acontece para otimizar os acesso e tornar mais rápida a s tarnsferências, 
em virtude de instruções e dados seguirem caminhos diferentes na ocasião 
de execução.

Mais conteúdos dessa disciplina