Licenciatura em Engenharia Informática e Computação
Exercícios
Arquitectura de Computadores
2005/06
Sistemas de memória
N. 7
FEUP
1. [Descodificação de endereços]
Considere o sistema de memória apresentado na figura.
RAM1
A[15:0]
RAM2
A[11:0]
A[12:0]
CS
CS
D[7:0]
D[7:0]
8 bits
8 bits
D[7:0]
8 bits
A[15]
&
&
A[14]
A[12]
A[13]
A[13]
A[14]
A[15]
a) Determine a capacidade de cada memória.
b) Elabore o mapa de memória do sistema. A descodificação de memória é total ou parcial?
Justifique. Para cada um dos seguintes endereços, indique o componente (circuito de memória)
associado: B7FFH, 1000H, E7AAH, A0000H.
Arquitectura de Computadores
1/5
2005/06
2. [Descodificação de endereços]
Repita o exercício 1 para o sistema de memória apresentado a seguir:
RAM2
RAM1
A[15:0]
A[13:0]
CS
CS
D[7:0]
D[7:0]
8 bits
8 bits
D[7:0]
8 bits
&
A[15]
A[15]
A[13]
3. [Cache]
Considere uma memória cache do tipo direct-mapped, com 8 blocos, 1 palavra por bloco. Complete
a seguinte tabela, que representa a actividade do sistema para 8 acessos consecutivos na ordem
indicada. Apresente o conteúdo da memória cache depois do último acesso.
Endereço
1
22
2
26
3
22
4
26
5
16
6
3
7
16
8
18
Arquitectura de Computadores
Hit/Miss
2/5
Bloco associado
2005/06
4. [Cache]
Um dado computador utiliza, para aumentar o seu desempenho geral, uma cache completamente
associativa cuja estrutura e conteúdo, num dado instante, estão representados na figura. A memória
do computador é de 64 KB.
Dados
Etiqueta
Válido
Modif.
3F
21
42
10
0AB1
1
1
11
A4
23
98
312B
1
0
DE
76
03
77
2111
1
0
AB
87
99
15
0111
1
1
57
C5
25
90
0000
1
1
10
24
E5
A9
35A7
1
0
FF
6A
34
1B
1ABC
1
1
14
15
8C
55
222F
1
0
a) Quando um acesso à memória é efectuado, qual é o número total de comparações paralelas (ou
simultâneas) que é efectuado pelos circuitos da cache (quantos conjuntos de quantos bits)?
b) Qual é o número total de bytes utilizados pela cache?
c) Indique o conteúdo da memória dos seguintes endereços: C4AF, 6AF0, 663E.
d) Indique as posições de memória (endereços) que contêm os seguintes valores: DE, 55.
5. [Cache]
Um dado computador utiliza para aumentar o seu desempenho geral uma cache do tipo directo cuja
estrutura e conteúdo, num dado instante, estão representados na figura. A memória endereçável e
física do computador é de 64 KB.
Dados
3F
11
DE
AB
57
10
FF
14
21
A4
76
87
C5
24
6A
15
42
23
03
99
25
E5
34
8C
10
98
77
15
90
A9
1B
55
Etiqueta
7B1
42B
311
111
000
7A7
7BC
42F
a) Qual é o maior valor que pode surgir no campo “Etiqueta”?
b) Caracterize os campos em que um endereço lógico da memória é decomposto para a cache poder
ser utilizada;
c) Indique o conteúdo da memória dos seguintes endereços: 8567, F798, 663E;
Arquitectura de Computadores
3/5
2005/06
d) Qual a posição de memória (endereço) que contém o valor DE?
e) Suponha que os seguintes endereços são utilizados um a seguir ao outro com frequência (e.g.,
correspondem a código num ciclo): 9A30, 9A50, 9A71. Onde seriam eles colocados na memória
cache? Comente.
6. [Cache]
Um dado computador utiliza, para aumentar o seu desempenho geral, uma cache do tipo setassociative com 2 entradas (2-way) cuja estrutura e conteúdo, num dado instante, estão
representados na figura. A memória endereçável e física do computador é de 64 KB.
57
10
FE
23
99
A1
FF
14
C5
24
6A
65
00
A3
4E
15
25
E5
34
A5
32
6B
5D
8C
Dados
90
3F
A9
11
1B
DE
65
65
AC
7E
6D DD
A4
B8
55
AB
Etiqueta
21
A4
76
AE
5E
71
BC
87
42
23
03
21
60
09
70
99
10
98
77
7C
77
95
13
15
000
7B1
7A7
42B
27E
311
42F
1FE
675
777
2EC
5EA
7BC
0D2
1AB
111
Modif.
1
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
Válida
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
a) Qual é o número total de bytes utilizados pela cache?
b) Quando um acesso à memória é efectuado, qual é o número total de comparações paralelas (ou
simultâneas) que é efectuado pelos circuitos da cache (quantos conjuntos de quantos bits)?
c) Indique o conteúdo da memória dos seguintes endereços: 8567, F798, 663E;
d) Diga qual a posição de memória (endereço) que contém o valor DE;
e) Suponha que os seguintes endereços são utilizados um a seguir ao outro com frequência (e.g.,
correspondem a código num ciclo): 01FF, 831C. Onde seriam eles colocados na memória cache? E
se se tratasse dos endereços 9A30, 9A50, 9A71? Comente.
f) Relacione o campo Modif. (dirty) com o tipo de cache: write-through ou write-back.
7. [Memória virtual]
Num sistema de computação com memória virtual paginada e cuja
dimensão de página é 2048 bytes, a tabela de páginas de um dado
processo, num dado instante, é a que se apresenta ao lado:
a) Apresente a lista de todos os endereços virtuais que, se
referenciados, originam falhas de página.
b) Calcule os endereços de memória principal correspondentes aos
seguintes endereços virtuais: 0, 2047, 3728, 10143, 14500.
c) Indique os endereços virtuais correspondentes aos seguintes
endereços reais: 0, 1024, 4097, 10240.
Arquitectura de Computadores
4/5
nº. de página
virtual
0
1
2
3
4
5
6
7
nº. de página
física
5
3
7
0
2005/06
8. [Memória virtual]
Um sistema de memória virtual tem as seguintes características:
●
●
●
endereços virtuais de 40 bits
páginas de 16 KB
endereços físicos de 36 bits
a) Determine a dimensão da página de tabelas (em bits), assumindo que todas as páginas estão em
utilização e que cada página tem 4 bits para gestão (dirty, valid, protecção, etc.)
b) Assumindo que o sistema de memória usa um TLB de associatividade 2 com 256 posições,
apresente o diagrama do mapeamento virtual → físico (como no acetato 75).
9. [Cache]
Considere três processadores com diferentes configurações de cache. Todas as caches são
endereçadas por palavra (de 32 bits).
Processador
Associatividade
Palavras por
bloco
Taxa de falhas Taxa de falhas
(instruções)
(dados)
T
(ps)
P1
1
1
4%
6%
310
P2
1
4
2%
4%
420
P3
2
4
2%
3%
420
Suponha que metade das instruções contém uma referência a dados. A penalidade de falha é 6+b
ciclos, em que b é o número de palavras por bloco. Para o processador P1, medidas efectuadas para
um conjunto de programas de aferição (benchmarks) deram como resultado CPI=2.
a) Determine qual o processador que despende mais ciclos em falhas de cache.
b) Usando os valores de T (período do relógio) da última coluna, determine qual é o processador
mais rápido e qual é o mais lento.
Fim.
Arquitectura de Computadores
5/5
2005/06
Download

Sistemas de memória