Arquitectura de Computadores II

Slides:



Advertisements
Apresentações semelhantes
Coerência de Cache em Multiprocessadores
Advertisements

Integridade de Dados em Memórias Cache
Sistemas Operacionais
Exercícios de Dimensionamento de Memórias Cache
Introdução à Hierarquia de Memória
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 06: Funções.
Gerência de Memória Principal
Sistemas operacionais
Sistemas operacionais
Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 10 – Gerência de Memória Virtual1 Arquitetura de Sistemas Operacionais Francis Berenger Machado.
Aula 16: Memória Principal e Memória Virtual
Arquitectura de Computadores II Paulo Marques Departamento de Eng. Informática Universidade de Coimbra 2004/ Hierarquia de Memória.
ARQUITETURAS DE COMPUTADORES II
Capítulo 7.
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
MC Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
1998 Morgan Kaufmann Publishers Paulo C. Centoducatte - IC/Unicamp- 2002s Prof. Paulo Cesar Centoducatte
Memórias cache CPU procura por dados em L1, depois em L2 e finalmente na memória principal CPU registradores ALU L1 cache barramento de cache barramento.
SSC SISTEMAS OPERACIONAIS I Aula 15 – Gerenciamento de Memória
SSC541 - SISTEMAS OPERACIONAIS I Aula 13 – Gerenciamento de Memória
Gerência de Memória Paginação
Gerência de Memória Algoritmos de Substituição de Páginas
Arquitetura de Computadores
Sistemas Operacionais Turmas MBI1 e NBI2. Prof: Marcelo Mendes.
Hierarquia de Memória Organização da cache
Sistemas Operacionais I
Resumindo Na arquitetura x86 (32 e 64 bits), são usadas a segmentação e a paginação. O espaço de endereçamento de uma aplicação é dividido em segmentos,
Catholic University PUCRS C ACHE M EMORY. Introduction.
Capítulo 9: Memória Virtual
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
Sistemas Operacionais Gerenciamento de Memória
SISTEMAS OPERACIONAIS
SSC SISTEMAS OPERACIONAIS I Aula 11 – Gerenciamento de Memória 2
Fundamentos da Arquitetura de Computadores
SISTEMAS OPERACIONAIS
Sistemas Operacionais
Sistemas Operacionais
SISTEMAS OPERACIONAIS
Subsistemas de memória
Gerência de Memória Virtual
Aveiro, 28 de Abril de Arquitectura de Computadores II Ano lectivo 2003/2004 Nuno
Sistemas Operacionais
SISTEMAS OPERACIONAIS I Memória Virtual e Paginação
Introdução à Hierarquia de Memória
Sistemas Operacionais
SO Paginação de Memória Algoritmos de Substituição de Página
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Gerência de Memória Principal
Bruno C. Bourbon Jarbas J. de O. Júnior {bcb, cin.ufpe.br
ARQUITETURAS DE COMPUTADORES II
DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória.
Localidade Princípio da localidade è um programa acessa uma
Ch7b-1 Capítulo Sistemas de Memória - Memória Virtual.
Capítulo 8: Memória Principal
Infra-Estrutura de Software Gerenciamento de Memória.
Prof. André Luis M. Silva Hierarquia de Memória Prof. André Luis M. Silva
Gerenciamento de Memória - Capítulo 7 - Sistemas Operacionais Prof. Dr. José Carlos Becceneri Luciana Sêda Cardoso.
Bruno Iran Ferreira Maciel
Sistemas de Arquivos Sistemas Operacionais Profa. Priscila Facciolli
Infra-estrutura Hardware
Memória Cache.
Memória Virtual.
Gerência de Memória Sidney Cunha de Lucena Baseado no livro
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Gerenciamento de Memória Capítulo Gerenciamento básico de memória 3.2 Troca de processos.
Memória Virtual ARQUITETURAS DE COMPUTADORES II Prof. César Augusto M. Marcon.
Integridade de Dados em Memórias Cache ARQUITETURAS DE COMPUTADORES II Prof. César Augusto M. Marcon.
Hierarquia de Memória – Parte 2 Prof. André Luis M. Silva
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
SISTEMAS OPERACIONAIS MEMÓRIA VIRTUAL. INTRODUÇÃO Memória Virtual é um técnica sofisticada e poderosa de gerenciamento de memória, onde a MP e a MS são.
Transcrição da apresentação:

Arquitectura de Computadores II Ano lectivo 2002/2003 Nuno Lau (lau@det.ua.pt)

Memória Virtual Eficiência da utilização da memória Segurança Memória deve ser partilhada pelos processos Manter em memória apenas o necessário Endereços usados pelos processos não correspondem com endereços da memória física Segurança mecanismos de segurança que impeçam que um processo altere as zonas de memória dos outros processos. Transparência Processo tem acesso a muita memória (eventualmente mais do que a memória física) Processo corre como se toda a memória lhe pertencesse Partilha de memória Vários processos acedem à mesma zona de memória (de forma controlada)

Memória virtual Cada processo corre num espaço de endereçamento virtual (igual para todos) Os endereços usados pelos processos e os endereços físicos que lhes correspondem podem ser distintos Os endereços que o processo usa são virtuais, o mesmo endereço virtual de 2 processos pode corresponder a endereços físicos distintos Os endereços da memória virtual têm de ser convertidos em endereços de memória física Alguns endereços de memória virtual podem estar armazenados em disco

Mapeamento Virtual-Físico É necessária a conversão (rápida) do endereço virtual para o endereço físico Endereço virtual Endereço físico

Memória física como cache O conteúdo dos endereços virtuais pode ser armazenado em disco Endereço físico Endereço virtual 0: 0x10 0: 0x21 4: 0x3 4: 0x3 8: 0x33 Disco 12: 0x21 0x33 0x10

Paginação e Segmentação Memória dividida em páginas Páginas têm tamanho fixo Fragmentação interna Um processo necessita de um certo número de páginas livres Segmentação Memória dividida em segmentos Segmentos podem ter tamanho variável Fragmentação externa Um processo necessita de uma zona contígua de memória livre para cada segmento

Memória virtual vs cache A página é o equivalente na memória virtual ao bloco da cache A page fault equivale ao miss Endereço virtual Endereço físico Mapeamento de memória ou Tradução de endereços O custo de um page fault é muito elevado Milhões de ciclos Política de posicionamento, substituição e de escrita sofisticadas

Endereço virtual paginado Nº página virtual Offset no interior da página Tamanho da página?

Características de memória paginada O custo de um page fault é muito elevado Páginas são relativamente grandes para amortizar o tempo de acesso 4KB a 64KB Usar uma organização completamente associativa Page faults são tratados por software pois o atraso principal é o acesso ao disco. Algoritmos mais sofisticados Write-back

Encontrar uma página Organização completamente associativa Página virtual pode ser mapeada em qualquer página física Reduzir page faults Não é possível usar procura associativa Tabela relaciona página virtual com a sua posição Page table Indexada por nº página virtual Entrada indica posição real da página virtual Cada processo tem a sua tabela de página

Tabela de página Registo de tabela de página Valid bit Permissões Sem tags! Porquê?

Page fault Valid bit da tabela de página com 0 Tratado pelo sistema operativo Estrutura mantém posição das página virtuais em disco Política de substituição tipo LRU Tabela de páginas contém reference bit Periodicamente reference bits colocados a zero Se página é acedida (touched) reference bit a 1 Substituir páginas com reference bit a 0

Tamanho da tabela de página Considere um sistema com endereços de 32 bits, páginas de 4KB e 4 bytes por entrada na tabela de página. Qual o espaço ocupado pela tabela de página? Nº de entradas = 232 / 212 = 220 Tamanho da tabela = 220 * 4 = 4MB 100 processos implicaria 400MB de memória usados em tabelas de página!

Tamanho da tabela de página Técnicas para reduzir o tamanho da tabela de página Registo limita o tamanho da tabela Memória associada ao processo cresce num só sentido 2 páginas por processo com 2 registos limite 2 segmentos (stack e heap) crescem em direcções opostas Hashing Tabela de página depende do tamanho da memória física Tabelas de página com vários níveis Tabelas de página em memória virtual!

Política de escrita Write-through não é eficiente Write-back Dirty bit Escrita em disco página a página Página só é escrita em disco quando necessita de ser retirada de memória física… Dirty bit e só se foi alterada desde que foi lida do disco Write allocate Escrita numa página que não reside em memória física, carrega essa página para a memória física e escreve

Problemas Memória virtual obriga a 2 referências à memória para aceder a um endereço virtual! Tabela de página reside em memória Acesso à tabela de página Acesso à memória física CPU Tradução de endereços Memória EV EF

Solução Os acessos à memória virtual contêm localidade espacial e temporal Cache de endereços traduzidos recentemente TLB – Translation-lookaside buffer Entrada do TLB pode incluir tag, página física e reference, dirty, access bits Em cada acesso o TLB é verificado Hit - continua Miss - verificar a tabela de página Podem originar (ou não) page faults Podem ser tratados por hardware ou software

Características do TLB Tamanho: 32 – 4096 bytes Tamanho bloco: 1-2 entradas de página Hit time: 0.5 a 1 ciclo Miss penalty: 10-30 ciclos Miss rate: 0.01% a 1% Associatividade varia de completa (para TLBs pequenos) a mapeamento directo

Memória virtual com TLB TLB funciona como cache das entradas da tabela de página Tag, valid, etc

Memória virtual, TLB e cache DecStation 3100 Cache de endereços físicos TLB completamente associativo

3 níveis de miss cache TLB page fault miss hit Possível Impossível