Download - A unidade de gerenciamento de memória

Transcript
Page 1: A unidade de gerenciamento de memória

5/17/2018 A unidade de gerenciamento de memória - slidepdf.com

http://slidepdf.com/reader/full/a-unidade-de-gerenciamento-de-memoria 1/3

 

A unidade de gerenciamento de memória (MMU, Memory ManagementUnit) é dividida em duas unidades: unidade de segmentação e unidade depaginação. O 386 e processadores superiores permite o método de memóriavirtual usando esses dois métodos (segmentação e paginação). 

Modo Real Quando está trabalhando no modo real, o processador se porta

exatamente igual a um 8086, tendo o mesmo conjunto de instruções eacessando somente 1 MB de memória. Nenhum recurso extra é conseguidonesse modo de operação. Explicando de outra maneira, todos osprocessadores a partir do 80286 têm um 8086 embutido em seu interior, o qualchamamos de modo real. Programas escritos para o 8086 só podem serexecutados em modo real (ou em um outro modo de operação chamado Virtual8086, existente em processadores acima do 80286, conforme veremos nopróximo capítulo). Não importa qual processador você tenha, não importaquanta memória RAM haja em seu micro. 

Se o processador estiver operando no modo real, o seu micro sóreconhece 1 MB de RAM e utiliza somente as instruções presentes no 8086;seu micro transforma-se em um XT mais rápido. É o caso do sistemaoperacional DOS. De modo a preservar total compatibilidade com o primeiroPC, esse sistema operacional só funciona no modo real, não importando emque micro esteja sendo executado. Quando o micro é ligado, o processadorencontra-se em modo real. Através de uma instrução especial, o processadorpassa do modo real para o modo protegido. 

Modo Protegido É no modo protegido que o processador consegue atingir o máximo de

seu desempenho. A começar pelo seu conjunto de instruções que passa a sermais complexo. O modo protegido permite diversos recursos extras avançados,entre eles: 

- Memória Virtual: Com esse esquema podemos simular umcomputador com mais memória RAM do que ele realmente tem. A memóriaextra conseguida através dessa técnica é armazenada em um arquivo do disco

rígido, chamado arquivo de troca (swap file). - Proteção de memória: Como o processador acessa muita memória

(até mesmo por causa do esquema de memória virtual), podemos carregardiversos programas simultaneamente. Através da proteção de memória, oprocessador é capaz de isolar cada programa em uma área de memória bemdefinida, de modo que um programa não invada a área de memória que estejasendo utilizada por um outro programa. 

- Multitarefa: Graças à proteção de memória, o processador é capaz desaber exatamente onde se encontra cada programa carregado em memória.Dessa forma, pode executar automaticamente uma instrução de cadaprograma, parecendo, aos olhos do usuário, que os programas estão sendo

Page 2: A unidade de gerenciamento de memória

5/17/2018 A unidade de gerenciamento de memória - slidepdf.com

http://slidepdf.com/reader/full/a-unidade-de-gerenciamento-de-memoria 2/3

 

executados simultaneamente, já que a execução de uma instrução peloprocessador é extremamente rápida, na ordem de alguns nanossegundos (1 ns= 0,000000001 s). 

Memória Virtual No momento em que desejamos armazenar mais dados do que

realmente cabem na memória RAM, o sistema operacional apresenta umamensagem de erro, informando que não há mais memória disponível, ou seja,houve um estouro na memória. Nesse momento devemos fechar um ou maisaplicativos que estejam abertos para liberarmos mais memória e conseguirmostrabalhar. Quando o processador está em modo protegido, podemos fazer comque ele pense que há mais memória RAM instalada do que realmente existe,fazendo com que o erro de estouro de memória seja menos comum. Isso éfeito automaticamente pelo sistema operacional, caso seja um sistemaoperacional que opere no modo protegido, ou seja, todos com exceção do DOSe de antigos sistemas operacionais criados especificamente para oprocessador 8086, como o CP/M. O Windows 3.x opera no modo protegido,oferecendo esse recurso para micros baseados no sistema DOS. A memóriavirtual é feita através de um arquivo no disco rígido, chamado arquivo de troca(swap file). Criar um arquivo de troca de 100 MB, por exemplo, fará com que oprocessador pense que o micro tem 100 MB de memória RAM.

O processador 386 e superiores permitem que o arquivo de troca tenha

até 64 Terabytes de tamanho. Nos sistemas operacionais mais atuais, osistema operacional controla o tamanho do arquivo de troca automaticamente,aumentando e diminuindo o tamanho do arquivo de troca de forma automática,à medida em que o usuário precisar (ou não) do uso desse recurso. Com isso,o arquivo de troca pode ter até o tamanho do espaço disponível no disco rígidoda máquina. Quando a memória RAM real do micro estoura, o processadorcomanda uma troca entre uma área da memória RAM que esteja sendo menosutilizada com uma área do arquivo de troca que esteja vazia. 

Há duas técnicas para se implementar o recurso de memória virtual:segmentação e paginação. O processador 386 (e superiores) suporta esses

dois métodos, sendo o segundo mais utilizado. Segmentação 

Nesse método de memória virtual, os blocos de dados que são trocadosentre o disco rígido e a memória RAM podem ser de qualquer tamanho, de 1byte até 4 GB (limite de memória RAM dos processadores a partir do 386).Como o processador permite que a memória seja dividida em até 16.384blocos (214), isso permite que o processador tenha até 64 TB de memóriavirtual caso use blocos de 4 GB cada (4 GB x 214). Esse método de memóriavirtual foi mantido apenas porque foi herdado do processador 286 (neste

processador o tamanho máximo do bloco era de 64 KB, e, com isso, o seu

Page 3: A unidade de gerenciamento de memória

5/17/2018 A unidade de gerenciamento de memória - slidepdf.com

http://slidepdf.com/reader/full/a-unidade-de-gerenciamento-de-memoria 3/3

 

limite de memória virtual era de apenas 1 GB, 64 KB x 214), já que o métodode paginação é mais eficiente, por isso o preferido. 

Paginação No método de paginação, a memória RAM é dividida em blocoschamados páginas, que possuem 4 KB cada. O arquivo de memória virtual

presente no disco rígido precisa ser obrigatoriamente múltiplo de 4 KB. Aadoção desse tamanho facilita e agiliza o uso da memória virtual. Quando oprocessador solicita um dado ou instrução que não se encontra na RAM, massim no arquivo de troca, é transferido um bloco de apenas 4 KB. No caso damemória virtual que usa o método de segmentação, o bloco poderia ser bemmaior (tipicamente 64 KB), tornando a transferência mais lenta (4 KB sãocarregados bem mais rapidamente do que 64 KB). Para ficar mais claro ofuncionamento do recurso de memória virtual, vamos tomar o exemplo dememória virtual, onde temos um micro com 16 MB de memória RAM e um

arquivo de troca de 64 MB no disco rígido do micro. Com essa configuração, oprocessador pensa que o micro possui 64 MB de memória RAM, emborafisicamente ele só possua 16 MB. 

Memória Cache O processador consegue ser bem mais rápido do que a memória RAM.

Embora esse problema não importasse muito na época dos primeiros PCs,começou a ser um inconveniente e tanto a partir do processador 386. Asolução adotada na maioria das vezes era fazer com que o processador

esperasse o tempo necessário para que a lenta memória RAM ficasse prontapara receber novos dados. Essa técnica chamada wait states diminui odesempenho do micro, pois o processador passará boa parte do tempo ocioso,esperando a memória RAM ficar pronta para receber ou entregar dados. Umaoutra solução mais inteligente é a utilização de uma pequena quantidade dememória RAM de alto desempenho, chamada memória estática (o circuito queforma a memória RAM do micro é chamado memória dinâmica), comointermediária na leitura e escrita de dados na memória RAM. Com isso, o microganha desempenho, pois o processador é capaz de trocar dados com amemória estática em sua velocidade máxima. Na Figura 1.14 mostramos umesquema simplificado do funcionamento do cache de memória. 

Um circuito chamado Controlador de Cache (tradicionalmente embutidono chipset da placa-mãe) copia os dados que acredita que o processadorprecisará, da memória RAM para o cache de memória. Assim, em vez de ter debuscar os dados na memória RAM, que é um caminho lento, pois usa waitstates, o processador lê a cópia dos dados localizada no cache de memória,que é um caminho bem mais rápido. A técnica do cache de memória foiintroduzida nos PCs a partir do uso do processador 386DX.