Hierarquia de Memória

Documentos relacionados
Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores. Ivan Saraiva Silva

Organização de Computadores

Memória Cache. Aula 24

Níveis de memória. Diferentes velocidades de acesso. Memória Cache. Memórias Auxiliar e Auxiliar-Backup

Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5. Cristina Boeres

Infraestrutura de Hardware. Explorando a Hierarquia de Memória

Hierarquia de Memória. Sistemas de Computação André Luiz da Costa Carvalho

Memória e Hierarquia de Memória. Memória Vs. Armazenamento

Capítulo 5 Livro do Mário Monteiro Conceituação. Elementos de projeto de memória cache

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres

Capítulo 7 Sistemas de Memória. Ch7a 1

Memória Cache. Memória Cache. Localidade Espacial. Conceito de Localidade. Diferença de velocidade entre Processador/MP

Memória cache (cont.) Sistemas de Computação

Memória. Memória Cache

Arquitetura de Computadores

/17. Arquitetura de Computadores Subsistemas de Memória Prof. Fred Sauer

Memória Cache. Walter Fetter Lages.

Correção de Erros. Erros de memória de semicondutores podem ser:

Visão geral do sistema de memória de computadores

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Arquitetura e Organização de Processadores. Aulas 9 e 10. Memória cache

Introdução à Informática. Alexandre Meslin

Sistemas de Memória II


Arquitetura de Computadores. Memórias

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL

Memória Cache: Funcionamento

Sistemas Digitais (SD) Memórias

ü Capítulo 4 Livro do Mário Monteiro ü Introdução ü Hierarquia de memória ü Memória Principal ü Memória principal ü Memória cache

Infraestrutura de Hardware. Explorando Desempenho com a Hierarquia de Memória

Gerência de Memória. Paginação

Memória Principal. Tiago Alves de Oliveira

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

DCC-IM/NCE UFRJ Pós-Graduação em Informática. Gabriel P. Silva. Microarquiteturas de Alto Desempenho

Aula 13: Memória Cache

Sistemas Operacionais Aula 16 Memória Virtual

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 10: MEMÓRIA E HIERARQUIA DE MEMÓRIAS

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo

Sistemas Operacionais

Memória Cache Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Primária. 29/04/2014 Prof. Valeria M. Bastos

Memória Cache endereço de memória

Organização e Arquitetura de computadores. Memórias

2ª Lista de Exercícios de Arquitetura de Computadores

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA PRINCIPAL CAPÍTULO 4. Cristina Boeres

Organização e Arquitetura de Computadores I

Capítulo 2 Livro do Mário Monteiro Componentes Representação das informações. Medidas de desempenho

Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3)

Gerenciamento de memória

Hierarquia de Memória

Introdução à Informática

Memória cache. Prof. Francisco Adelton

Prof. Eliezer Soares Flores 1 / 22

Computação L. Apresentação da Disciplina e Conceitos Básicos de Computadores

Organização e Arquitetura de Computadores I

Sistema de Memórias COMPUTADOR CONTROLE ENTRADA VIA DE DADOS SAÍDA PROCESSADOR MEMÓRIA S E TO R R EC RE CEI TA S T EM S E TO R C A RNE S

Sistemas Operacionais

Conceitos e Gerenciamento de Memória

Arquitetura de Computadores

Transcrição:

No projeto de um sistema digital, deve-se ter em mente que hardware menor geralmente é mais rápido do que hardware maior. A propagação do sinal é uma das principais causas de atrasos. No caso da memória, quanto maior mais atraso de sinal e mais níveis para decodificar endereços. Na maioria das tecnologias, pode-se obter memórias menores que são mais rápidas do que memórias maiores. As memórias mais rápidas estão geralmente disponíveis em números menores de bits por integrado e custam substancialmente mais por byte. Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle

O aumento da largura de banda da memória e a diminuição do tempo de acesso à memória são também importantes para o desempenho do sistema. O princípio da localidade se baseia no fato de que, num intervalo virtual de tempo, os endereços virtuais gerados por um programa tendem a ficar restritos a pequenos conjuntos do seu espaço. Isto se deve a iterações, seqüenciamento das instruções e estruturas em bloco. Assim sendo, deveríamos manter os itens mais recentemente utilizados na memória mais rápida e o mais próximo possível da CPU. Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle 2

Há três componentes do princípio da localidade, que coexistem num processo ativo: localidade temporal: há uma tendência a que um processo faça referências futuras a posições feitas recentemente; localidade espacial: há uma tendência a que um processo faça referências a posições na vizinhaça da última referência; localidade seqüencial: há uma tendência a que um processo faça referência à posição seguinte à atual. Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle 3

Hierarquia de memória consiste em diferentes níveis de memória, associados a diferentes velocidades de acesso e tamanhos. nível nível 2... aumento no tempo de acesso nível n tamanho da memória Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle 4

Os níveis da hierarquia são subconjuntos uns dos outros. Todos os dados encontrados em um nível também são encontrados no nível abaixo dele e assim sucessivamente. CPU registradores cache barramento de memória memória barramento de e/s dispositivos de entrada e saída < KB < 6 MB < 6 GB > 00 GB 0,25-0,5 ns 0,5-25 ns 80-250 ns 5 ms 20000-00000 MB/s 5000-0000 MB/s 000-5000 MB/s 20-50 MB/s CMOS CMOS SRAM CMOS DRAM disco magnético compilador hardware sistema operacional sistema operacional e usuário Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle 5

Taxa de acerto (hit ratio - h) consiste na proporção dos acessos à memória encontrados em um nível da hierarquia. Taxa de falha (miss ratio - m) consiste na proporção dos acessos à memória não encontrados em um nível da hierarquia. m = h Ciclos de parada por memória (ncp) consiste do número de ciclos que a CPU espera por um acesso à memória, quando ocorre uma falha de acesso. Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle 6

O tempo de execução da CPU deve, então, levar em conta o número de ciclos de parada por memória: ( ncc + ncp) cc tc = O número de ciclos de parada depende do número de erros (ne) e do custo por erro ou penalidade de erro (pe): ncp = ne ncp = ni erros pe instrução ncp = ni acessosàme m pe instrução mória pe Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle 7

Um bloco consiste da unidade mínima de informação que pode estar presente ou ausente entre dois níveis da hierarquia. A memória principal, de 2 m bytes, é dividida em blocos consecutivos de b bytes, totalizando (2 m )/b blocos. Cada bloco tem um endereço, que é um múltiplo de b, e o tamanho do bloco é, normalmente, uma potência de 2. O cache associativo apresenta um número de posições, cada uma contendo um bloco e seu número de bloco, junto com um bit, que diz se aquela posição está em uso ou não. A ordem das entradas é aleatória. Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle 8

endereço 0 37 0 nº do bloco v nº do bloco valor 0 37 4 52 600 23 2 40 memória principal 8 2 40 2 K posições 0 60248 290380 635 3 (2 24 ) - ~ ~ ~ 22 bits 32 bits cache associativo Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle 9

Se o cache estiver cheio, uma entrada terá que ser descartada para deixar lugar para uma nova. Quando aparece um endereço de memória, o microprograma deve calcular o número do bloco e, então, procurar aquele número no cache. Para evitar a pesquisa linear, o cache associativo pode fazer uso de uma memória associativa, que compara simultaneamente todas as entradas com o número do bloco dado. Isto torna o cache associativo caro. No cache com mapeamento direto, cada bloco é colocado numa posição, cujo número pode corresponder, por exemplo, ao resto da divisão do número do bloco pelo número de posições. Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle 0

posição v tag valor endereços 0 0 37 0, 4096, 892, 2288,... 600 23 4, 400, 896, 2292,... 2 2 40 8, 404, 8200, 2296,... 3 0 cache com mapeamento direto 023 0 4092, 888, 2284, 6380,... Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle

O campo tag guarda a parte do endereço que não participa do endereçamento da posição. Ex: Seja a palavra no endereço 892. endereço da palavra tag posição 00 2 bits 0 bits 2 Os dois bits menos significativos são 0, pois os blocos são inteiros e múltiplos do tamanho do bloco (4 bytes). O fato de que blocos múltiplos mapeiam na mesma posição pode degradar o desempenho do cache, se muitas palavras que estiverem sendo usadas mapeiem na mesma posição. Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle 2

No cache associativo por conjunto utiliza-se um cache de mapeamento direto com múltiplas entradas por posição. posição v tag valor v tag valor v tag valor 0 2 3... 023 entrada 0 entrada entrada n- Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle 3

Tanto o cache associativo quanto o de mapeamento direto são casos especiais do cache associativo por conjunto. O cache de mapeamento direto é mais simples, mais barato e tem tempo de acesso mais rápido. O cache associativo tem uma taxa de acerto maior para qualquer dado número de posições, pois a probabilidade de conflitos é mínima. Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle 4

Uma técnica para manipular escritas é denominada write through, quando uma palavra é escrita de volta na memória imediatamente após ter sido escrita no cache (consistência de dados). Outra técnica é denominada copy back, em que a memória só é atualizada quando a entrada é expurgada do cache para permitir que outra entrada tome conta da posição (consistência de dados). Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle 5

A técnica write through causa mais tráfego de barramento. A técnica copy back pode gerar inconsistência se o processador efetuar uma transferência entre memória e disco, enquanto a memória não tiver sido atualizada. Se a razão de leituras para escritas for muito alta, pode ser mais simples usar write through. Se houver muitas escritas, pode ser melhor usar copy back e fazer com que o microprograma expurgue todo o cache antes de uma operação de entrada/saída. Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle 6