ELECTRÓNICA DE COMPUTADORES. Sumário

Documentos relacionados
5 de Maio de Aula 15

Hierarquia de Memória

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

Memoria. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Arquitectura de Computadores

Cache. Cache. Direct Mapping Cache. Direct Mapping Cache. Internet. Bus CPU Cache Memória. Cache. Endereço Byte offset

Arquitectura de Computadores

SSC0611 Arquitetura de Computadores

Arquitectura de Computadores (ACom)

Sistemas de Memória II

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

Microprocessadores. Memórias

Memórias cache: uma introdução

SSC0112 Organização de Computadores Digitais I

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

Arquitetura de Computadores. Hierarquia de Memória. Prof. Msc. Eduardo Luzeiro Feitosa

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

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

Memória Cache: Funcionamento

Infraestrutura de Hardware. Explorando a Hierarquia de Memória

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

Organização de Computadores

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

Memória Cache. Adriano J. Holanda. 12 e 16/5/2017

Arquitetura e Organização de Computadores 2. Organização Hierárquica da Memória. Uma afirmação antiga, mas perfeitamente atual

Organização e Arquitetura de Computadores I

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

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

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

Memória cache segunda parte. Organização de Computadores. Aula 17. Memória cache segunda parte. 1. Mapeamento completamente associativo

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

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

Hierarquia de Memória

Hierarquia de memória

Gerenciamento de memória

Sistemas de Memória III

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

Hierarquia de memória

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

Arquitetura de Computadores

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

Arquitectura de Computadores (ACom)

Sistemas de Memória. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Memória 21/05/2010. Introdução. Hierarquia de Memória. Hierarquia de Memória. Arquitetura de Computadores

Memória Cache. Walter Fetter Lages.

SSC0112 Organização de Computadores Digitais I

Hierarquia de Memória

Memória Cache. Aula 24

Aula 13: Memória Cache

Memória Cache. Miguel Leitão, v

Organização e Arquitetura de Computadores

MEMÓRIA CACHE FELIPE G. TORRES

Arquitectura de Computadores (ACom)

Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca

Tecnologias de Memória

Microcontroladores e Interfaces

Arquitectura de Computadores

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

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 12: MEMÓRIA CACHE: FUNÇÃO DE MAPEAMENTO (PARTE 1)

Tempo de processador desperdiçado a fazer nada. Processor register 1 clock cycle (0.5 2 GHz) $??? DRAM semiconductor memory ns $10 $20

Arquitectura de Computadores

Projeto de Caches. Projeto de memórias cache (ii)

Memória Cache endereço de memória

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

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

AULA Nº 11 SISTEMAS OPERACIONAIS. Técnicas de Memória Virtual

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador.

Segundo Trabalho Prático de Organização de Computadores B /2

Memória cache. Sistemas de Computação

Memórias cache. João Canas Ferreira. Abril de Porque são efectivas as memórias cache? Hierarquias de memória Caracterização do desempenho

Arquitectura de Computadores MEEC (2013/14 2º Sem.)

ORGANIZAÇÃO DE COMPUTADORES MEMÓRIA. Prof. Dr. Daniel Caetano

Memória Virtual. Prof. M.Sc. Bruno R. Silva CEFET-MG Campus VII

Divisão da lacuna em espaços na base 2: Eficiente quanto à velocidade e Ineficiente quanto à fragmentação.

ORGANIZAÇÃO DE COMPUTADORES

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

Memória para CAD. Aleardo Manacero Jr.

Arquitectura de Computadores (ACom)

Experimentos com o Cache Organização de Computadores

Sistemas de memória. João Canas Ferreira. Arquitectura de Computadores FEUP/LEIC

Organização de Computadores B - Trabalho 2

Evolução da arquitetura básica

Instituto de Matemática e Estatística - USP MAC Organização de Computadores EP1. Experimentos com o cache. Tiago Andrade Togores

octeto e uma memória principal de 8M palavras de 1 octeto. Considere ainda que a

Memória. Memória Cache

Arquitetura de Computadores. Memórias

CEFET-RS Curso de Eletrônica

Hierarquia de memória e a memória cache

I. Considere os seguintes processadores A e B, ambos com arquitectura em pipeline, conforme ilustrado

Arquitectura de Computadores II

Hierarquia de memória. Melhorando o desempenho

Sistemas Operacionais Aula 16 Memória Virtual

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Sistemas Operacionais. Prof. André Y. Kusumoto

Infra-estrutura Hardware

Introdução à Arquitetura de Computadores

Arquitetura de Sistemas Operacionais

Transcrição:

ELTRÓNICA DE COMPUTADORES Aulas nº14 e15 Memórias tampão (s) 12.1 Sumário Princípio da localidade espacial e temporal Organização das caches s de dados: políticas de escrita e estratégias de alocação Interligação CPU//Memória_principal Parâmetros fundamentais para o desempenho das caches 12.2 Page 1

Princípio da localidade Princípio da localidade Num dado instante, um programa acede a uma pequena parcela do espaço de endereçamento Há dois tipos de localidade explorados para que items a aceder estejam no nível da memória mais próximo do processador Dois tipos de localidade: Localidade temporal: Se um item é referenciado, existe forte probabilidade que seja referenciado num futuro próximo (e.g., ciclos de programa, reutilização de dados) Localidade espacial: Se o item num determinado endereço é referenciado, existe forte probabilidade que sejam referenciados items em endereços próximos e num futuro próximo (e.g., código sequencial, acessos a arrays) 12.3 Hierarquia de memória Acerto (Hit): item presente num bloco no nível superior (exemplo: Block S) Taxa de acerto (HR- Hit Rate): fracção de acessos com acerto Tempo de acerto (HT- Hit time): tempo de acesso com acerto Tempo para determinar se há acerto + tempo de acesso à RAM Falta: item presente apenas num bloco do nível inferior (exemple: Block I) Taxa de faltas (MR- Miss Rate) MR= 1 - HR Penalização por falta (MP- Miss penalty) tempo para substituir bloco em nível superior + tempo para enviar bloco para o processador HT << MP Para processador Nível superior memória Nível inferior memória do processador Bloco S Bloco I 12.4 Page 2

F de mapeamento directo de mapeamento directo (Direct Mapped) 0 1 2 3 4 5 6 7 8 9 A B C D E Memória A 3 A 2 A 1 A 0 Índice Memória 0 1 2 3 Índice Questões 1) Qual o algoritmo para ir actualizando uma posição da cache? 2) Como é que se identifica qual a palavra de memória presente numa posição da cache? 12.5 Organização da cache de mapeamento directo 1) A actualização da cache é feita com base no princípio da localidade temporal e espacial Localidade temporal (matem-se os endereços referenciados mais recentemente) se uma posição de memória é referenciada, o valor é transferido para a cache Localidade espacial (bloco) se uma posição de memória é referenciada, os valores em endereços adjacentes são também transferidos para a cache Quando há uma falta, a unidade de memória transferida é o bloco 2) A palavra de memória presente numa posição da cache é identificada com informação adicional Associado a cada bloco da cache há uma etiqueta (tag) bits de endereçamento não usados para aceder à cache 12.6 Page 3

Dimensionamento do bloco da cache Penalização falta Taxa faltas Explora-se localidade espacial Poucos blocos: compromete-se localidade temporal Dimensão do bloco Dimensão do bloco Tempo Acesso_mem Dimensão do bloco 12.7 com 4kB de MD 31 Memória endereçável ao byte Blocos de 64 bytes 12 Etiqueta (e.g 0x001FD) 11 6 Índice (e.g 0x03) 5 0 Palavra/Bloco (e.g 0x3F) Bit de validade Etiqueta Dados/Instruções 0x001FD Byte 63 Byte 127 Byte 191 Byte 255 Byte 0 Byte 64 Byte 128 Byte 192 0 1 2 3 Byte 4095 : Byte 4032 63 12.8 Page 4

associativa de 2 vias com 4kB associativa de 2 vias Cada índice selecciona um conjunto de 2 vias Cada via é formada por uma cache de mapeamento directo As 2 etiquetas no conjunto são comparadas em paralelo Validade Etiqueta Dados Block 1 : : : Índice Dados Block 0 : Etiqueta : Validade : End == Sel1 1 Mux 0 Sel0 == Bloco Acerto 12.9 s associativas Uma cache associativa de N-vias tem como principais desvantagens em relação à cache de MD: N comparadores vs. 1 MUX extra de N entradas que provoca atraso adicional e representa também um custo adicional Dados só estão acessíveis depois de se saber se houve acerto Numa cache de MD tem-se os dados antes de saber se há acerto Considera-se que há acerto ignorando-se depois os dados no caso de ter ocorrido uma falta 12.10 Page 5

s associativas Vantagem das caches associativas em relação às de MD Têm em geral uma taxa de acerto maior Quando o número de vias numa cache associativa é igual ao número de blocos da cache Só há 1 conjunto e a cache diz-se completamente associativa 12.11 Bloco a ser substituído quando há falta No MD não há dúvidas Um bloco só pode ser colocada num sítio fixo Com vias de associatividade ou completamente associativa: Aleatório LRU (Least Recently Used) Pseudo-LRU garante-se que não se substitui o que foi acedido à menos tempo Bit adicional por bloco: colocado a 0 quando se acede a uma posição do bloco passando o do bloco seguinte a 1 O bloco seguinte é identificado como um potencial candidato a ser substituído 12.12 Page 6

Políticas de escrita Write Through os dados são escritos na cache e na memória principal A escrita é de apenas uma palavra e não do bloco Write Back os dados são escritos apenas na cache Os blocos modificados só são escritos na memória principal quando são substituídos Para melhorar o desempenho usa-se um bit adicional por bloco que indica se o bloco foi escrito dirty bit Vantagens relativas Write Through: memória principal sempre actualizada Write Back: não se repetem escritas para a mesma posição da memória principal Write through baseia-se na ecrita em tampões para não ter que esperar pela memória principal 12.13 Tampão de escrita no WT Processador DRAM Tampão de escrita Tampão de escrita O processador escreve dados em paralelo na cache e no tampão O controlador de memória escreve o conteúdo do tampão na memória O tampão de ecrita é do tipo FIFO: Números típicos de entrada: 4, 8 Funciona bem sse: frequência escrita << 1/ciclo_de_escrita_DRAM Caso contrário: tampão de escrita satura 12.14 Page 7

Saturação do tampão de escrita Soluções quando o tampão de escrita satura: Aumentar tampão de escrita traz outros problemas Diminuir o tempo de escrita na memória Por exemplo introduzindo Uma cache de 2º nível (L2) L2 do tipo Write Back Processador L1 L2 DRAM Tampão de escrita 12.15 Estratégias de alocação Write Allocate No caso de o bloco onde se pretende escrever não estar na cache gera-se uma falta para leitura Transfere-se o bloco para a cache e depois escreve-se a palavra Write Not-Allocate No caso de o bloco onde se pretende escrever não estar na cache escreve-se apenas na memória principal Não se transfere o bloco para a cache Apesar de se poder utilizar a estratégia de alocação independentemente da política de escrita o que faz sentido são as cobinações: Write through write not allocate Write back write allocate 12.16 Page 8

Interface CPU//Memória Leitura com sucesso Endereço CPU Etiquetas Controlador Mem. dados Memória principal Dados Barramento de memória 12.17 Interface CPU//Memória Leitura com falta Endereço CPU Etiquetas Controlador Mem. dados Memória principal Dados Barramento de memória 12.18 Page 9

Interface CPU//Memória Escrita num bloco não presente em cache Write through write not-allocate Endereço CPU Etiquetas Controlador Mem. dados Memória principal Dados Barramento de memória 12.19 Desempenho das caches Inst Mem Tempo CPU = N º Inst CPI nãomem + Ciclos AcMem Tempociclo Inst Ciclos AcMem = Ciclossucesso + Taxa faltas Ciclos penalização _ falta Tempo AcMem = Temposucesso + Taxa faltas Tempo penalização _ falta O desempenho das caches é máximo quando o tempo de acesso à memória é mínimo: Depende do tempo de sucesso, da taxa de faltas e do tempo de penalização por faltas Um dos primeiros problemas que se colocam é qual é a dimensão óptima dos blocos Para minimizar a taxa de faltas E qual a implicação no tempo de penalização por falta? 12.20 Page 10

Como melhorar desempenho das caches? Tempo AcMem = Temposucesso + Taxa faltas Tempo penalização _ falta 1. Reduzindo o tempo de penalização por falta 2. Reduzindo a taxa de faltas 3. Reduzindo o tempo de acesso com sucesso 12.21 Conclusões As caches são memórias estáticas que diminuem o tempo médio de acesso do processador à memória Exploram princípios de localidade temporal e espacial Dimensão dos blocos da cache definem compromisso entre as duas localidades Organização das caches Mapeamento directo e associatividas Aumentar associatividade para diminuir faltas (conflito) Políticas de escrita e estratégia de alocação: Wite-through e write-back, write-not-allocate e write-allocate. 12.22 Page 11