170 likes | 366 Views
Subsistemas de memória. Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária. Subsistemas de memória. Memória Cache – Comparação DRAM SRAM Fonte: Fonte:
E N D
Subsistemas de memória Livro Introdução à Organização de Computadores Capítulos: 4 – Memória Principal 5 – Memória Cache 9 – Memoria Secundária
Subsistemas de memória Memória Cache – Comparação DRAM SRAM Fonte: Fonte: http://users.ece.gatech.edu/~sudha/academic/ http://www.1-core.com/library/digital/fpga-architecture/ class/ece2030/Lectures/memory/index.html
Subsistemas de memória Diferenças de velocidade No caso de armazenamento secundário, esse tempo aumenta para a casa de ms. Como resolver esse problema? Memória principal Processador ~.5ns a 2ns Transferência: ~100ns
Subsistemas de memória Memória Cache– Princípio de localidade Em um programa as instruções são ordenadas sequencialmente; Em execução, a CPU busca as instruções sequencialmente.
Subsistemas de memória . Processador ~.5ns a 2ns Transferência: ~1ns Memória principal Memória cache Transferência: ~100ns
Subsistemas de memória Processo: CPU envia pedido de dados pelo barramento de endereços; Controle de cache intercepta o pedido e interpreta a informação; Se a informação estiver disponível, já a devolve (acerto ou hit); Do contrário envia o pedido à memória principal (falha ou miss); No caso de falha, para aproveitar o princípio de localidade, o controle de cache já solicita mais dados da memória;
Subsistemas de memória Elementos de projeto de cache Mapeamento Algoritmos de substituição Política de escrita Níveis de cache Tamanho do cache Largura de linha do cache
Subsistemas de memória Mapeamento direto
Subsistemas de memória Mapeamento direto - endereços Cache Memória principal Bloco 0000 Byte 00000 Tag Tag Tag Tag Byte 1 Byte 1 Byte 1 Byte 1 Byte 2 Byte 2 Byte 2 Byte 2 Byte 00001 Byte 00010 Bloco 0001 Byte 00011 Tag Linha Byte ....... Bloco 1110 Byte 11100 Byte 11101 5 bits Byte 11110 Bloco 1111 Byte 11111
Subsistemas de memória Mapeamento direto – endereços Exemplo (32 bytes MP, 8 bytes cache, linhas de 2 bytes): Tag 2 bits, linha 2 bits, byte 1 bit; Arquitetura x86 (4GB MP, 64KB cache, linhas de 64 bytes): Tag 16 bits, linha 10 bits, byte 6 bits.
Subsistemas de memória Mapeamento associativo - endereços Cache Memória principal Bloco 0000 Byte 00000 Tag Tag Tag Tag Byte 1 Byte 1 Byte 1 Byte 1 Byte 2 Byte 2 Byte 2 Byte 2 Byte 00001 Byte 00010 Bloco 0001 Byte 00011 ....... Bloco 1110 Byte 11100 Byte 11101 5 bits Byte 11110 Bloco 1111 Byte 11111 Tag Byte
Subsistemas de memória Mapeamento Associativo por conjuntos
Subsistemas de memória Algoritmos de substituição LRU (Leastrecentlyused) FIFO (Firstin-first out) LFU (Leastfrequentlyused) Aleatório
Subsistemas de memória Política de escrita no cache Escrita em ambas (writethrough); Escrita somente no retorno (writeback); Escrita uma vez (writeonce).
Subsistemas de memória Níveis de cache Variável atualmente de 1 a 3. 3 níveis é comum hoje em dia com múltiplos processadores; Pode ser dividido para dados e instruções, ou então unificado;
Subsistemas de memória Tamanho de memória cache Tamanho depende de equilíbrio entre tamanho da MP, relação acerto/faltas, tempo de acesso da MP e das memórias cache, custo por bit das memórias e natureza dos programas executados