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