Você está na página 1de 3

A unidade de gerenciamento de memria (MMU, Memory Management Unit) dividida em duas unidades: unidade de segmentao e unidade de paginao.

. O 386 e processadores superiores permite o mtodo de memria virtual usando esses dois mtodos (segmentao e paginao).

Modo Real
Quando est trabalhando no modo real, o processador se porta exatamente igual a um 8086, tendo o mesmo conjunto de instrues e acessando somente 1 MB de memria. Nenhum recurso extra conseguido nesse modo de operao. Explicando de outra maneira, todos os processadores a partir do 80286 tm um 8086 embutido em seu interior, o qual chamamos de modo real. Programas escritos para o 8086 s podem ser executados em modo real (ou em um outro modo de operao chamado Virtual 8086, existente em processadores acima do 80286, conforme veremos no prximo captulo). No importa qual processador voc tenha, no importa quanta memria 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 instrues presentes no 8086; seu micro transforma-se em um XT mais rpido. o caso do sistema operacional DOS. De modo a preservar total compatibilidade com o primeiro PC, esse sistema operacional s funciona no modo real, no importando em que micro esteja sendo executado. Quando o micro ligado, o processador encontra-se em modo real. Atravs de uma instruo especial, o processador passa do modo real para o modo protegido.

Modo Protegido
no modo protegido que o processador consegue atingir o mximo de seu desempenho. A comear pelo seu conjunto de instrues que passa a ser mais complexo. O modo protegido permite diversos recursos extras avanados, entre eles: - Memria Virtual: Com esse esquema podemos simular um computador com mais memria RAM do que ele realmente tem. A memria extra conseguida atravs dessa tcnica armazenada em um arquivo do disco rgido, chamado arquivo de troca (swap file). - Proteo de memria: Como o processador acessa muita memria (at mesmo por causa do esquema de memria virtual), podemos carregar diversos programas simultaneamente. Atravs da proteo de memria, o processador capaz de isolar cada programa em uma rea de memria bem definida, de modo que um programa no invada a rea de memria que esteja sendo utilizada por um outro programa. - Multitarefa: Graas proteo de memria, o processador capaz de saber exatamente onde se encontra cada programa carregado em memria. Dessa forma, pode executar automaticamente uma instruo de cada programa, parecendo, aos olhos do usurio, que os programas esto sendo

executados simultaneamente, j que a execuo de uma instruo pelo processador extremamente rpida, na ordem de alguns nanossegundos (1 ns = 0,000000001 s).

Memria Virtual
No momento em que desejamos armazenar mais dados do que realmente cabem na memria RAM, o sistema operacional apresenta uma mensagem de erro, informando que no h mais memria disponvel, ou seja, houve um estouro na memria. Nesse momento devemos fechar um ou mais aplicativos que estejam abertos para liberarmos mais memria e conseguirmos trabalhar. Quando o processador est em modo protegido, podemos fazer com que ele pense que h mais memria RAM instalada do que realmente existe, fazendo com que o erro de estouro de memria seja menos comum. Isso feito automaticamente pelo sistema operacional, caso seja um sistema operacional que opere no modo protegido, ou seja, todos com exceo do DOS e de antigos sistemas operacionais criados especificamente para o processador 8086, como o CP/M. O Windows 3.x opera no modo protegido, oferecendo esse recurso para micros baseados no sistema DOS. A memria virtual feita atravs de um arquivo no disco rgido, chamado arquivo de troca (swap file). Criar um arquivo de troca de 100 MB, por exemplo, far com que o processador pense que o micro tem 100 MB de memria RAM. O processador 386 e superiores permitem que o arquivo de troca tenha at 64 Terabytes de tamanho. Nos sistemas operacionais mais atuais, o sistema operacional controla o tamanho do arquivo de troca automaticamente, aumentando e diminuindo o tamanho do arquivo de troca de forma automtica, medida em que o usurio precisar (ou no) do uso desse recurso. Com isso, o arquivo de troca pode ter at o tamanho do espao disponvel no disco rgido da mquina. Quando a memria RAM real do micro estoura, o processador comanda uma troca entre uma rea da memria RAM que esteja sendo menos utilizada com uma rea do arquivo de troca que esteja vazia. H duas tcnicas para se implementar o recurso de memria virtual: segmentao e paginao. O processador 386 (e superiores) suporta esses dois mtodos, sendo o segundo mais utilizado. Segmentao Nesse mtodo de memria virtual, os blocos de dados que so trocados entre o disco rgido e a memria RAM podem ser de qualquer tamanho, de 1 byte at 4 GB (limite de memria RAM dos processadores a partir do 386). Como o processador permite que a memria seja dividida em at 16.384 blocos (214), isso permite que o processador tenha at 64 TB de memria virtual caso use blocos de 4 GB cada (4 GB x 214). Esse mtodo de memria virtual foi mantido apenas porque foi herdado do processador 286 (neste processador o tamanho mximo do bloco era de 64 KB, e, com isso, o seu

limite de memria virtual era de apenas 1 GB, 64 KB x 214), j que o mtodo de paginao mais eficiente, por isso o preferido. Paginao No mtodo de paginao, a memria RAM dividida em blocos chamados pginas, que possuem 4 KB cada. O arquivo de memria virtual presente no disco rgido precisa ser obrigatoriamente mltiplo de 4 KB. A adoo desse tamanho facilita e agiliza o uso da memria virtual. Quando o processador solicita um dado ou instruo que no se encontra na RAM, mas sim no arquivo de troca, transferido um bloco de apenas 4 KB. No caso da memria virtual que usa o mtodo de segmentao, o bloco poderia ser bem maior (tipicamente 64 KB), tornando a transferncia mais lenta (4 KB so carregados bem mais rapidamente do que 64 KB). Para ficar mais claro o funcionamento do recurso de memria virtual, vamos tomar o exemplo de memria virtual, onde temos um micro com 16 MB de memria RAM e um arquivo de troca de 64 MB no disco rgido do micro. Com essa configurao, o processador pensa que o micro possui 64 MB de memria RAM, embora fisicamente ele s possua 16 MB.

Memria Cache
O processador consegue ser bem mais rpido do que a memria RAM. Embora esse problema no importasse muito na poca dos primeiros PCs, comeou a ser um inconveniente e tanto a partir do processador 386. A soluo adotada na maioria das vezes era fazer com que o processador esperasse o tempo necessrio para que a lenta memria RAM ficasse pronta para receber novos dados. Essa tcnica chamada wait states diminui o desempenho do micro, pois o processador passar boa parte do tempo ocioso, esperando a memria RAM ficar pronta para receber ou entregar dados. Uma outra soluo mais inteligente a utilizao de uma pequena quantidade de memria RAM de alto desempenho, chamada memria esttica (o circuito que forma a memria RAM do micro chamado memria dinmica), como intermediria na leitura e escrita de dados na memria RAM. Com isso, o micro ganha desempenho, pois o processador capaz de trocar dados com a memria esttica em sua velocidade mxima. Na Figura 1.14 mostramos um esquema simplificado do funcionamento do cache de memria. Um circuito chamado Controlador de Cache (tradicionalmente embutido no chipset da placa-me) copia os dados que acredita que o processador precisar, da memria RAM para o cache de memria. Assim, em vez de ter de buscar os dados na memria RAM, que um caminho lento, pois usa wait states, o processador l a cpia dos dados localizada no cache de memria, que um caminho bem mais rpido. A tcnica do cache de memria foi introduzida nos PCs a partir do uso do processador 386DX.