hierarquia de memória arquitetura de computadores aula 5 – memória 28/08/2012

53
Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012 Bruno Iran Ferreira Maciel Mestrando em Ciências da Computação – Cin/UFPE

Upload: jerom

Post on 22-Jan-2016

52 views

Category:

Documents


0 download

DESCRIPTION

Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012. Bruno Iran Ferreira Maciel Mestrando em Ciências da Computação – Cin/UFPE. Revisão da aula passada. Memória principal Definição: “ Parte do computador onde programas e dados são armazenados ” . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Hierarquia de MemóriaArquitetura de Computadores

Aula 5 – Memória28/08/2012

Bruno Iran Ferreira MacielMestrando em Ciências da Computação – Cin/UFPE

Page 2: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Revisão da aula passada

Memória principalDefinicão: “Parte do computador onde programas e dados são

armazenados”.

Bit (Binary Digit): Unidade basica de memória. 1 Bit pode armazenar os valores 0 ou 1.

É possível realizar duas operacões em uma MP: escrita e leitura.

Page 3: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Revisão da aula passada

Enderecos de memória Memórias são organizadas em celulas Cada celula possui um numero associado: endereco Programas referenciam uma celula a partir deste

endereco Se uma memória possui n celulas, tais celulas possuirão

os enderecos 0 a n – 1.

Page 4: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Revisão da aula passada

Page 5: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Calculos com a Capacidade de Memória O total de bits que podem ser armazenados na

referida memória e T, sendo: T = N x M ou T = 2Ex M Do exemplo anterior temos: N = 512 celulas, M = 8 bits, E = 9 bits, T = 4096 bits N = 2E ->512 = 29 T = N x M = 2Ex M = 4096 bits = 4K bits

Revisão da aula passada

Page 6: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Memória principal

Exemplo 1Uma memória RAM tem um espaco maximo de enderecamento de 16K. Cada celula pode armazenar 16 bits. Qual o valor total de bits que podem ser armazenados nesta memória e qual o tamanho de cada endereco?

Se o espaco maximo enderecavel e 2K, então N = 2K 1 celula = 16 bits. Então: M = 16 bits = 24 bits N=2E, N=16K=21x1024=21x210=211

Se N=2E e 211,então: 2E=211 e E=11 E = quantidade de bits de cada numero que expressa um enderecamento,

ou seja: os enderecos de cada celula são numeros que têm 11 bits. T= N x M=211x16=215=32Kbit

Page 7: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Memória principal

Exemplo 2Uma memória RAM e fabricada com a possibilidade de armazenar um maximo de 256kbits. Cada celula pode armazenar 8 bits. Qual e o tamanho de cada endereco e qual e o total de celulas que podem ser utilizadas na RAM?

Total de bits = T = 256K = 28x210= 218 1 celula=8bits=M=23

Sendo T=NxM ,então:N=T/M=218/23=215

Se N=2E,então:215=2E, E=15 N = 215= 25x210= 32k

Page 8: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Aula de hoje

Hoje vamos ver

Memória cacheParticão de memóriaPaginacão e Segmentacão

Page 9: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Memória cache

Page 10: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Memória cache

Significado da palavra cache – Lugar seguro para guardar (esconder coisas)Considerando que a cache só pode ter parte dos dados do nível mais abaixo, por causa do menor tamanho, temos dois problemas:

Como identificar se o dado procurado esta na cache e Se ele estiver na cache, como acessa-lo de forma rapida

Page 11: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Memória cache

Page 12: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Memória cache

Page 13: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Memória cache

Problema: CPUs são mais rapidas que memórias do sistema

CPUs devem esperar varios ciclos p/ que o dado requerido seja carregado

Problema de custo e não de engenharia: e possível construir memórias tão rapidas quanto a CPU (Precisam ficar dentro do chip da CPU). CUSTO MUITO ALTO

Page 14: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Organizacão da memória

Page 15: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Organizacão da memória

Page 16: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Particão de Memória

Page 17: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Participacão de Memória

Esquema simples para dividir a memória disponível entre os processos

Inicialmente as particões eram de tamanho fixo Embora as particões fossem de tamanho fixo, elas não

necessariamente eram de mesmo tamanho Cada processo era carregado na menor particão

disponível capaz de conte-lo Problema → desperdício de memória nas particões Solucão → particões de tamanho variaveis

Page 18: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Participacão de Memória

Particões de tamanho variavel

Memória e alocada de acordo com o tamanho requerido pelo processo

Problema de buracos na memória quando da troca de processos

Necessaria a compactacão (desfragmentacão) da memória → reduz o desempenho do sistema

Page 19: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Participacão de Memória

O endereco de um processo varia em cada vez que ele e trazido para a memória

Existe uma distincão entre endereco físico e endereco físico e endereco lógico

Endereco lógico → posicão relativa ao início do programa Endereco físico → designa uma posicão na memória principal

Endereco físico → endereco lógico + endereco inicial do processo (endereco base)

Page 20: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Paginacão

Page 21: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Paginacão

Nada mais e que o uso da swap, ou seja memória virtual, quando sua memória e usada por completo (enchida), o sistema passa para o disco uma porcão da informacão dos aplicativos que estão em segundo plano contida nos pentes de memória para o disco, afim de abrir mais na memória ram (pentes) para os aplicativos que você esta usando em primeiro plano.

Page 22: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Paginacão

Ideia → separar os conceitos de espaco de enderecamento e enderecos de memória

Bits de enderecamento não são efetivamente relacionados com as palavra de memória disponíveis

Ex: maquina com 4096 palavras de memória e 16 bits de endereco (65536 enderecos)

Espaco de enderecamento→conjunto de enderecos possíveis, independente da quantidade de posicões de memória existente

Page 23: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Paginacão

Antigamente Os enderecos que referenciavam as posicões de memória

acima das posicões físicas existente eram inuteis Existia o espaco de enderecamento util e o espaco de

enderecamento inutil

Page 24: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Paginacão

Mapeamento entre os endereco virtuais e físicos

Page 25: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Paginacão

Paginação → overlay automático do programa na memória principal

Cada overlay é chamada de página Temos o espaço de endereços virtuais e o espaço de endereços físicos Um mapa de memória (ou tabela de páginas) relaciona os endereços

virtuais com os endereços físicos É um mecanismo transparente que dá ao programador a ilusão de uma

memória principal grande, com endereços contíguos e lineares, do mesmo tamanho do espaço de endereços virtuais

Page 26: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Paginacão

O sistema operacional mantem uma tabela de paginas para cada um dos processos em execucão

Cada endereco virtual e composto por um numero de pagina e por um endereco relativo dentro dessapagina

Page 27: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Implementacão da Paginacão

Programas e dados ficam no disco (memória secundaria)

Programa no disco → original Pedacos do programa na memória principal → cópia do

original O programa original deve estar sempre atualizado

O espaco de enderecamento virtual e dividido emum conjunto de paginas de mesmo tamanho

Tamanho das paginas → 512 a 64Kb

Page 28: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Implementacão da Paginacão

O espaco de enderecamento físico tambem e divido em pedacos de mesmo tamanho das paginas

Moldura de paginas → pedacos da memória principal onde as paginas são armazenadas

Page 29: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Implementacão da Paginacão

Page 30: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Implementacão da Paginacão

Page 31: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Implementacão da Paginacão

Enderecos gerados pela CPU são divididos em: Numero da pagina (p) - Usando como um índice em uma

tabela de paginas, a qual contem o endereco o endereco base de cada pagina na memória física.

Deslocamento de pagina (d) - combinado com o endereco base para definir o endereco na memória física que sera enviado para a unidade de memória.

Page 32: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Implementacão da Paginacão

Page 33: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Implementacão da Paginacão

Tamanho das paginas

Page 34: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Implementacão da Paginacão

Tamanho das paginas: exemplo

Page 35: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Implementacão da Paginacão

Tamanho das paginas: exemplo

Page 36: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Implementacão da Paginacão

No nosso exemplo temos que mapear enderecos virtuais de 32 bits em enderecos físicos de 15 bits

15 bits → 12 bits para o deslocamento dentro da pagina e 3 bits para determinar em qual moldura esta a pagina

Page 37: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Implementacão da Paginacão

Page 38: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Implementacão da Paginacão

A Unidade de Gerenciamento de Memória divide o endereco lógico em duas partes

20 bits representando o numero da pagina virtual 12 bits representando o deslocamento na pagina

O n° da pagina virtual e usado na tabela de paginas Primeiro e verificado se a pagina esta na memória principal

atraves do valor do bit de residência Se a pagina estiver na memória e verificada em que moldura de

pagina ela esta armazenada

Caso não esteja na memória a pagina tem que ser buscada

Page 39: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Implementacão da Paginacão

Page 40: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Segmentacão

Page 41: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Segmentacão

A paginacão e um sistema de memória virtual unidimensional

Seus enderecos variam de 0 a um endereco maximo

Para alguns problemas seria interessante a existência de dois ou mais espacos de enderecamento virtual separados

Ex: compilador que gera muitas tabelas Tabela de símbolos Tabela com o código-fonte Tabela de constantes Pilha

Page 42: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Segmentacão

Page 43: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Segmentacão

Cadasegmento constitui um espaco de enderecamento separado

O crescimento ou encolhimento de um segmento ocorre de maneira independente, não influindo nos outros segmentos

Especificacão de um endereco Composto de duas partes → numero de um segmento e

um endereco desse segmento

Page 44: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Segmentacão

Uma memória segmentada permite que cada tabela cresca ou encolha independente das outras tabelas

Page 45: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Segmentacão

O segmento e uma entidade lógica e o programa deve estar ciente de sua existênciaVantagens de uma memória segmentada Vantagens de uma memória segmentada

Facilita o trato com estruturas de dados que crescem ou encolhem durante a execucão do programa

A modificacão de um segmento não acarreta na modificacão de nenhum outro segmento (os enderecos não se modificam)

Facilita o compartilhamento de procedimento de E/S ou de dados entre varios programas

Page 46: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Segmentacão

Segmentos diferente possuem tipo de protecão diferentes

Um segmento de código só pode ser executado, não sendo possível ler ou escrever nesse segmento

Um segmento de dados pode ser lido ou escrito, mas não pode ser executado

Page 47: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Segmentacão

Comparacão da tecnicas de paginacão e segmentacão

Page 48: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Implementacão da Segmentacão

A segmentacão pode ser implementada de duas maneirasPor swappingPor paginacão

Page 49: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Implementacão da Segmentacão

Segmentacão por swapping Um conjunto de segmentos deve estar na memória

principal Se um segmento que não estiver na memória for

referenciado, ele deve ser carregado na memória Se a memória estiver cheia, um ou mais segmentos

devem ser retirados (atualizando o original, se preciso) da memória para se carregar o novo segmento

Esse esquema e muito parecido com a paginacão por demanda

Page 50: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Implementacão da Segmentacão

Segmentacão difere da paginacão Paginas tem um tamanho fixo Segmentos não possuem tamanho fixo

Tratamento de “buracos” na memória Mover os segmentos após o buraco, deixando um grande

buraco no fim da memória Ou espera-se que a fragmentacão atinja contornos

críticos, para então realizar a desfragmentacão

Page 51: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Implementacão da Segmentacão

Segmentacão por swapping Segmentos inteiros são movidos entre a memória

principal e o disco, sob demanda

Segmentacão por paginacão Os segmentos são divididos em paginas Trabalha no esquema de paginacão por demanda É necessario uma tabela de paginas para cada

segmento A memória virtual dos processadores Intel a partir do 386

usam segmentacão por paginacão

Page 52: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Perguntas

?

Page 53: Hierarquia de Memória Arquitetura de Computadores Aula 5 – Memória 28/08/2012

Exercício

Não tivemos exercício hoje