Capítulo Sistemas de Memória Memória Virtual. Ch7b 1 - PDF
Download "Capítulo Sistemas de Memória Memória Virtual. Ch7b 1"
Denílson Caldas Alcântara
1 Capítulo Sistemas de Memória Memória Virtual Ch7b
2 Memória Virtual Memória principal funciona como uma cache para o armazenamento secundário (disco) Virtual addresses Physical addresses Address translation Disk addresses Vantagens: Ilusão de possuir mais memória do que realmente possui (programa independente da configuração do hardware) Realocação do programa Proteção (Espaço de endereços) Ch7b 2
3 Páginas: blocos de memória virtual Falhas de página: o dado não está na memória, recuperá lo do disco Grande miss penalty, páginas são grandes! (e.g., 4KB) Reduzir misses (falhas) de páginas é importante Pode manipular esses misses em software Usar write through é muito caro Virtual address Virtual page number Translation Page offset 2 bits: 4 KB VPN: 20 bits M page 4 GB Physical page number Page offset Physical address PPN: 8 bits 256 K page GB Ch7b 3
4 Tabelas de páginas Virtual page number Valid Page table Physical page or disk address Physical memory Disk storage Ch7b 4
5 Tabelas de páginas Page table register Virtual address Virtual page number Page offset Valid 20 2 Physical page number uma TP por processo estado: TB PC registradores Page table If 0 then page is not present in memory Physical page number Page offset Physical address Ch7b 5
6 Política de substituição e tamanho da TP Se page fault (bit válido= 0) sistema operacional executa a carga da página Para minimizar page faults, política de substituição mais usada: LRU Tamanho da PT (p/ end 32 bits, pag de 4KB, 4B / linha da PT) número de linhas: 2 32 / 2 2 = 2 20 tamanho da PT = 4 MB PT por programa ativo!! para reduzir área dedicada para PT: registradores de limite superior e inferior PT também são paginados Ch7b 6
7 TLB: Translation Lookaside Buffer Virtual page number Valid Tag TLB Physical page address Typical values TLB size: 32 4,096 entries Block size: 2 page table entries Hit time: 0.5 clock cycle Miss penalty: 0 30 clock cycle Miss rate: 0.0% % map direto ou fully associativo 0 Physical memory Page table Physical page Valid or disk address Disk storage
8 TLBs e cache DEC 300 mapeamento fully associative TLB TLB hit Valid Dirty Virtual address Virtual page number Page offset 20 2 Tag Physical page number 20 Physical page number Page offset Physical address Physical address tag Cache index 6 4 Byte offset 2 mapeamento direto Valid Tag Data pior caso: 3 misses TLB, PT, cache Cache Cache hit 32 Data
9 TLBs and caches (DEC 300) Virtual address TLB access nesta máquina não há write hit write through linha de uma palavra write buffer TLB miss exception No TLB hit? Yes Physical address No Write? Yes Try to read data from cache No Write access bit on? Yes Cache miss stall No Cache hit? Yes Write protection exception Write data into cache, update the tag, and put the data and the address into the write buffer Deliver data to the CPU Ch7b 9
10 TLB, Memória Virtual e Caches Cache TLB Virtual memory Possible? If so, under what circumstance? Miss Hit Hit Possible, although the page table is never really checked if TLB hits. Hit Miss Hit TLB misses, but entry found in page table; after retry data is found in cache. Miss Miss Hit TLB misses, but entry found in page table; after retry data misses in cache. Miss Miss Miss TLB misses and is followed by a page fault; after retry, data must miss in cache. Miss Hit Miss Impossible: cannot have a translation in TLB if page is not present in memory. Hit Hit Miss Impossible: cannot have a translation in TLB if page is not present in memory. Hit Miss Miss Impossible: data cannot be allowed in cache if the page is not in memory. Ch7b 0
11 Proteção com Memória Virtual Suporta, pelo menos, dois modos Processo do usuário Processo do sistema operacional (kernel, supervisor, executive) Estado da CPU que o processo do usuário pode ler mas não escrever Instruções especiais que são disponíveis apenas no modo supervisor Mecanismos onde a CPU pode ir do modo usuário para o supervisor e vice versa Usuário para supervisor: chamada de exceção Supervisor para usuário: retorno de exceção OBS: tabelas de páginas (espaço de endereços do SO). Ch7b
12 Manipulando Falhas de Páginas e Misses na TLB TLB miss (software ou hardware). Página não está na memória, necessita criar apenas um miss na entrada na TLB Página não está na memória, necessita transferir controle para o SO para que ele manipule falhas de páginas Falha de página (mecanismo de exceção). SO sabe o estado do processo ativo EPC = endereço virtual da página que gerou o miss SO deve finalizar após três passos: Consultar a entrada na TP using o endereço virtual e encontrar a localização da página referenciada no disco Escolher uma página física a ser substituída; se a página escolhida está dirty, deve ser escrita no disco antes de trazer a nova página vritual para essa localização física Iniciar uma leitura para trazer a página referenciada do disco para a página física no disco Ch7b 2
13 Hierarquias de Memória Onde um bloco pode ser colocado? Scheme name Number of sets Block per set Direct mapped Number of blocks in cache Set associative Number of blocks in cache Associativity (typically 2 8) Associativity Fully associative Number of block in the cache Feature Typical values for cache Typical values for page memory Typical values for a TLB Total size in blocks , , ,000 Total size in kilobytes 8 8, ,000, Block size in bytes , Miss penalty in clocks 0 00,000,000 0,000, Miss rate 0.% 0% % 0.000% 0.0% 2% Ch7b 3
14 Miss rate vs conjuntos associativos 5% 2% 9% Miss rate 6% 3% 0% One way Two way Four way Eight way Associativity KB 6 KB 2 KB 32 KB 4 KB 64 KB 8 KB 28 KB
15 Hierarquias de Memória Como um bloco é encontrado? Associativity Location method Comparisons required Direct mapped Index Set associative Index the set, search among elements Degree of associativity Full Search all cache entries Size of the cache Separate lookup table 0 OBS.: Em sistemas de memória virtual Associatividade completa é benéfico, desde que misses são muito custosos Associativitidade completa possibilita que o software utilize esquemas de substituição projetados para reduzir o tempo de miss Associativitidade completa pode ser facilmente indexado sem hardware extra e sem pesquisa requerida Uma página grande significa que a página tem pouca sobrecarga Ch7b 5
16 Hierarquias de Memória Por que o bloco deveria ser substituído em um cache miss? Random : blocos candidatos são randomicamente selecionados Least Recently Used (LRU): O bloco substituído é o bloco com o maior tempo de inatividade Ch7b 6
17 Hierarquias de Memória O que acontece em uma escrita? Write through Missess são simples e baratos porque eles nunca requerem um bloco ser escrito em um nível mais baixo É mais fácil de implementar que write back, embora, para ser útil, necessita de um write buffer Write back (copy back) Palavras individuais podem ser escritas pelo processador na taxa em que a cache aceita as. Mútiplos writes dentro de um bloco requerem apenas escrita no nível mais baixo de memória. Quando blocos são reescritos, o sistema pode fazer uso efetivo de uma transferência com alta taxa de largura de banda, pelo fato que o bloco interior é escrito Ch7b 7
18 Algumas questões Velocidade do processador continua aumentando muito rápido muito mais rápido que evolução das DRAMs ou mesmo tempo de acesso aos disco Desafio de projeto: lidar com essa disparidade Tendências: SRAMs síncronas Reprojetar chips de DRAM para fornecer alta largura de banda e processamento Reestruturar código para aumentar localidade Usar pré busca (torna cache visível ao ISA) Ch7b 8
19 Evolução desempenho CPU vs Mem 00 Improvement factor Year CPU (fast) CPU (slow) DRAM
Capítulo 7 Sistemas de Memória. Ch7a 1
Capítulo 7 Sistemas de Memória Ch7a 1 Memórias: Revisão SRAM (Static RAM): Valor é armazenado por meio da interligação de um par de inversores Rápido, mas consome mais espaço que DRAM (4 a 6 transistores)
Memória Cache Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h
Memória Cache Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Memória Cache Memória Principal Vs. Cache Fichário Quadro Pasta O fichário representa o disco rígido. A pasta sobre a mesa representa
Arquitetura de Computadores Celso Alberto Saibel Santos
Arquitetura de Computadores Celso Alberto Saibel Santos Professor do Depto. Informática UFES - Universidade Federal do Espírito Santo 1 O que é a Arquitetura de um Computador? Arquitetura de Computadores
Aula 16: Memória Principal e Memória Virtual Memória Principal Performance na memória principal: Latência: Miss Penalty na Cache Access Time: tempo entre requisição e retorno de palavra Cycle Time:
Hierarquia de memória Capítulo 6, Secção.{3..} Caches Slides adaptados dos slides do professor Pedro Pereira Centro de Cálculo Instituto Superior de Engenharia de Lisboa João Pedro Patriarca (jpatri@cc.isel.ipl.pt)
Programação em Sistemas Computacionais Hierarquia e memória Centro e Cálculo Instituto Superior e Engenharia e Lisboa Pero Pereira palex@cc.isel.ipl.pt Localiae Localiae temporal Um programa que acee a
Aula 16: Memória Principal e Memória Virtual Memória Principal Performance na memória principal: Latência: Miss Penalty na Cache Access Time: tempo entre requisição e retorno de palavra Cycle Time: tempo
ELECTRÓNICA DE COMPUTADORES. Sumário
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
O Fosso de Performance Arquitectura de Computadores II 5. Hierarquia de Memória 5.1. Cache 2004/2005 Paulo Marques Departamento de Eng. Informática Universidade de Coimbra pmarques@dei.uc.pt 2 Hierarquia
Revisão melhorar desempenho de caches
Revisão melhorar desempenho de caches capacidade = tambloco numblocos associatividade = tambloco numconjuntos blocos/conjunto T méd acesso mem = T acerto + tx faltas x penalidade/falta Para melhorar o
Arquitetura e Organização de Processadores. Aulas 9 e 10. Memória cache
Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aulas 9 e 10 Memória cache Tendências tecnológicas
Hierarquia de Memória Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Hierarquia de Memória p. Introdução Problema Velocidade do CPU muito
Arquitectura de Computadores Hierarquia de Memória; Memória Cache (13.2 e 13.3) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto
ARQUITECTURA DE COMPUTADORES CAPÍTULO V AULA I Índice Memórias Grandes e rápidas Introdução Tecnologias de memórias O básico das caches Grandes e rápidas Neste V Capitulo vamos abordar a hierarquia de
Anexo A1. Capítulo 1
Anexo A1 Capítulo 1 1 Fig. A.1. Fotografia mostrando o interior do microprocessador MIPS R3000. No lado direito do chip, pode-se ver a parte operativa. O lado superior esquerdo contem a unidade de controle.
Arquitetura e Organização de Computadores. Capítulo 5 Grande e Rápida: Explorando a Hierarquia de Memória
Arquitetura e Organização de Computadores Capítulo 5 Grande e Rápida: Explorando a Hierarquia de Memória Material adaptado de: Patterson e Henessy, Computer Organization and Design 4 th Edition 2 Static
Gestão de Memória algoritmos e políticas
Gestão de Memória algoritmos e políticas Criação de espaços de endereçamento virtual com gestão eficiente (gasto mínimo) da memória física disponível O que carregar(colocar em memória física) e quando?
MC722. Medidas. Instruções. Funções. Pilha. add $t0,$s1,$s2. slti rt,rs,const if (rs < const) rd=1; else rd=0;
Medidas CPU Time = instructions program T improved = MC722 clock cycles instruction T affected improvement factor + T unaffected CPU Time = # cycles cycle time = # cycles clock rate Instruções seconds