Você está na página 1de 9

ARQUITETURA DE COMPUTADORES - 1866

6.7 Operaes com as Memrias:


J sabemos, conforme anteriormente citado, que possvel realizar duas
operaes em uma memria:

Escrita (write) armazenar informaes na memria;

Leitura (read) recuperar uma informao armazenada na memria.

A operao de leitura no destri o contedo da memria, ela apenas


providencia a transferncia de uma cpia do que est armazenado, enquanto a
informao desejada continua armazenada. Somente a operao de escrita
destrutiva.

6.8 Memria Virtual:


Antes de poder explicar o que a memria virtual, importante ao menos
voltarmos a falar um pouco a respeito da memria principal (MP) = RAM. A memria
RAM o local que o processador utiliza para armazenar tudo que estiver aberto em
seu computador, como arquivos, jogos e todo tipo de programas. Assim, conforme
vamos abrindo mais aplicativos, a RAM vai sendo consumida.
A memria principal (RAM) disponvel em um computador em geral bem
menor do que o tamanho mximo de memria permitido pelo processador (por
exemplo, em uma arquitetura de 32 bits podemos enderear at 4 GB de memria
principal).
O problema que temos um espao limitado de memria RAM e, cada vez
mais, os aplicativos consomem partes maiores dela. E o que o processador faz
quando a memria RAM acaba? Muito simples: utiliza a Memria Virtual.
O mecanismo de memria virtual foi criado para permitir a execuo de
programas que necessitem de mais memria principal (RAM) do que a quantidade
instalada no sistema.
A memria virtual uma espcie de arquivo que criado no computador e o
processador utiliza para armazenar dados que ele costuma deixar na memria RAM.
como se ele simulasse a memria RAM dentro do seu HD, por isso que se chama
memria virtual.
E por que ser que a memria RAM mais cara? No seria mais fcil
simplesmente utilizar o HD para armazenar os dados? No exatamente, porque a
- 48 -

ARQUITETURA DE COMPUTADORES - 1866

memria virtual extremamente mais devagar do que a memria RAM. Dessa forma,
se o seu computador estiver com pouca memria RAM e precisar usar a memria
virtual para armazenar dados dos programas, com certeza o desempenho vai
despencar.
Existe uma separao da memria lgica do usurio, da memria fsica:

somente uma parte do programa precisa estar na memria para execuo;

o espao de endereamento lgico pode ser muito maior que espao de


endereamento fsico;

permite o compartilhamento de espaos de endereos por vrios


processos.

Em um sistema de memria virtual, o endereo de memria gerado pelo


programa um endereo virtual, sendo diferente do endereo real usado para o
acesso memria principal.
Os possveis endereos virtuais que podem ser gerados pelo programa
formam o espao de endereamento virtual, enquanto a faixa de endereos na
memria principal constitui o espao de endereamento real.
Embora sob o ponto de vista do programa as instrues e dados estejam
armazenados no espao de endereamento virtual, na realidade eles continuam
armazenados na memria principal, representada pelo espao de endereamento
real.
Esta diferena entre endereamento virtual e real utiliza um mecanismo que
faz a correspondncia entre o endereo virtual gerado pelo programa e o endereo
real que ser usado para acessar a memria principal, o gerenciador de memria
virtual, ou DAT (Dynamic Address Translator).

- 49 -

ARQUITETURA DE COMPUTADORES - 1866

Como a memria virtual pode ser muito maior do que a memria principal
presente, pode acontecer que o bloco de dados referenciado pelo programa no
esteja presente na memria principal no momento que referenciado.
Os blocos de dados e instrues de um programa em execuo ficam
armazenados na memria secundria, que uma unidade de disco do sistema.
Na ausncia do bloco referenciado pelo programa no momento que o DAT
realiza o mapeamento, este carregado da memria secundria para a memria
principal.

6.8.1 Memria Virtual - Segmentao e Paginao:


Blocos de memria podem ser organizados de duas formas: em segmentos ou
pginas.
O segmento pode ser formado por um bloco de informaes logicamente
relacionadas; os segmentos podem ter tamanho varivel.
Uma pgina um bloco de dados de tamanho fixo e no segue nenhuma
coeso lgica, isto , os dados podem no ter relao entre si.
O DAT possui uma pequena memria interna chamada TLB (Translation

Lookaside Buffer), que armazena os pares de endereos virtual/principal acessados


recentemente, como uma memria cache.
No acesso a uma posio de memria virtual, se o dado requerido no possui
um registro relacionando com a memria principal, o bloco de dados tambm no se
encontra na memria principal. Essa ausncia de bloco denominada falha de
pgina ou falha de segmento.

6.8.2 Controle de Memria Virtual:


Ao ocorrer uma falha o DAT gera uma interrupo, transferindo o controle do
processador para o sistema operacional, para que este transfira o bloco de dados
referenciado da memria secundria para a memria principal.
Aps a transferncia do bloco de dados ser concluda, o controle do
processador retorna ao programa em execuo, exatamente para o ponto onde foi
interrompido, agora com os dados referenciados presentes na memria principal.

- 50 -

ARQUITETURA DE COMPUTADORES - 1866

Com a utilizao da memria virtual, no necessrio que todas as instrues


e dados de um programa permaneam na memria principal durante a execuo do
programa, blocos so transferidos da memria secundria para a principal medida
que forem referenciados.
importante ressaltarmos que todo o mecanismo de memria virtual funciona
de forma totalmente transparente para o programa, e mais importante, para o
programador que o desenvolveu.

6.9 Memria Cache:


A memria cache uma pequena poro de memria inserida entre o
processador e a memria principal, cuja funo acelerar a velocidade de
transferncia das informaes entre a CPU e a memria principal e, com isso,
aumentar o desempenho dos sistemas de computao.

Para tanto, este tipo de memria fabricado com tecnologia semelhante da


CPU e, em conseqncia, possui tempos de acesso compatveis com a mesma,
resultando numa considervel reduo da espera da CPU para receber dados e
instrues da cache, ao contrrio do que acontecem em sistemas sem cache.
Devido ao custo, a capacidade de armazenamento costuma ser da ordem de
Kbytes. Nos sistemas mais modernos j encontramos caches com 1 Mbyte ou mais.
As memrias cache podem ser inseridas em dois ou mais nveis. O primeiro
nvel o L1 (Level 1 Nvel 1), uma memria cache inserida internamente no
processador, isto , encapsulada na mesma pastilha. Nas placas-me mais antigas
a cache L2 vinha soldada na prpria placa, sendo que os processadores mais novos
j possuem esta memria em seu prprio interior, a exemplo da L1. Quando
processadores que possuem cache L1 e L2 em seu prprio interior so instalados em
- 51 -

ARQUITETURA DE COMPUTADORES - 1866

uma placa me que possua memria cache, esta passa a ser utilizada como cache de
nvel 3, ou L3. J existem processadores que possuem esta memria (L3) tambm
em seu prprio interior. Como exemplo podemos citar o processador Core i7 da Intel,
que possue 8MB de cache L3. Neste caso, se existir memria cache presente na
placa me, esta ser considerada como L4.
A CPU procura por dados primeiro em L1, depois em L2 (e/ou L3 e L4) e
finalmente requisita os dados da memria principal.

6.10

Organizao

para

transferncia

de

Informaes

entre

CPU/Cache/MP:

Sempre que a CPU vai buscar uma nova informao (instruo ou dado), ela
acessa a memria cache.
Se a informao estiver na cache, chama-se de acerto (ou hit), ela
transferida em alta velocidade, compatvel com a da CPU.
Se a informao no estiver na cache, chama-se de falta (ou fault), ento o
sistema est programado para interromper a execuo do programa e transferir a
informao desejada da MP para a cache. S que essa transferncia no somente
da instruo desejada, mas dela e de um grupo subsequente, na pressuposio de
que as instrues do grupo sero requeridas pela CPU em seguida e, portanto, j
estaro na cache quando necessrio (acertos).
Para haver realmente algum aumento de desempenho de um sistema de
computao, com a incluso da memria cache, necessrio que haja mais hits do
que faults.

- 52 -

ARQUITETURA DE COMPUTADORES - 1866

6.11 Memria Secundria (ou Auxiliar):


Na base da pirmide que representa a hierarquia de memria em um sistema
de computao encontra-se um tipo de memria com maior capacidade de
armazenamento do que os outros tipos j descritos, menor custo por byte
armazenado e com tempos de acesso tambm superiores aos outros tipos. Esta
memria denominada memria secundria ou memria auxiliar tem por objetivo
garantir um armazenamento mais permanente aos dados e programas do usurio,
razo por que deve naturalmente possuir maior capacidade que a memria principal.
Este tipo de memria pode ser constitudo por diferentes tipos de dispositivos,
alguns diretamente ligados ao sistema para acesso imediato (discos rgidos, por
exemplo) e outros que podem ser conectados quando desejado (como pen drive, CD,
DVD, etc), cuja informao armazenada se torna disponvel para o usurio quando o
especfico pen drive ou CD estiver inserido no elemento de leitura (porta USB ou
drive de CD-ROM, respectivamente).
Dispositivos de memria secundria so necessrios a qualquer sistema de
computao, pois nenhum computador fica ininterruptamente ligado, ou seja, os
dados e instrues no podem ficar armazenados indefinidamente na memria
principal.
Vejamos abaixo algumas caractersticas deste tipo de memria:
Tempo de acesso: os dispositivos que representam este tipo de
memria so eletromecnicos e no circuitos puramente eletrnicos
(como o caso dos registradores, memria cache e memria principal),
por isso este tipo de memria possui os maiores tempos de acesso
dentre todos os tipos de memria.
Capacidade de armazenamento: uma das principais caractersticas da
memria secundria sua grande capacidade de armazenamento, a
qual tambm varia consideravelmente dependendo do tipo de
dispositivo utilizado.
Volatilidade: uma das principais caractersticas dos dispositivos que
constituem

a memria secundria sua no volatilidade: as

informaes no se perdem quando no h alimentao eltrica. Trata-

- 53 -

ARQUITETURA DE COMPUTADORES - 1866

se, pois, de dispositivos teis para guardar os programas e dados de


forma permanente.

6.11.1 Geometria dos Discos Rgidos (HD):


O disco rgido ou HD (Hard Disk) um dispositivo de armazenamento de
grande volume de dados (Memria Secundria), no voltil. No HD so armazenados
os programas instalados no computador (Sistema Operacional: Windows, Linux, Mac
OS / Aplicativos: Word, Excel, Outlook, Nero, IE, Firefox, Photoshop, etc) e os
arquivos gerados pelos mesmos (Fotos, Textos, Msicas, Planilhas, Apresentaes,
etc).
Um disco consiste de pratos, cada qual com duas superfcies. Cada
superfcie consiste de anis concntricos denominados trilhas. Cada trilha consiste
de setores separados por espaos.

O nmero de trilhas em um disco e a capacidade que cada trilha pode


armazenar depende do tipo de disco. Numeradas da borda para o centro, isto , a
trilha que fica mais prxima da extremidade do disco denominada trilha 0, a trilha
que vem em seguida chamada trilha 1, e assim por diante, at chegar trilha mais
prxima do centro.
Os HDs com grande capacidade contam com mais de um prato, sobrepostos
um sobre o outro.
- 54 -

ARQUITETURA DE COMPUTADORES - 1866

Trilhas de mesmo nmero em faces diferentes formam um cilindro. Exemplo:


Todas as trilhas de nmero Zero de todos os discos formam o cilindro Zero. Os
cilindros so numerados a partir de zero, na borda mais externa dos discos. As faces
tambm so numeradas, comeando de zero na superfcie mais alta.

6.11.2 Capacidade do Disco:


Capacidade: nmero mximo de bits que podem ser armazenados
expresso em terabytes (1 TB).

Fatores que determinam a capacidade:


Densidade de gravao: nmero de bits que podem ser gravados em 1
polegada de uma trilha.
Densidade de trilha: nmero de trilhas que podem existir em um segmento
radial.
Densidade de armazenamento: produto da densidade de gravao com
densidade de trilha.

Calculando a capacidade de disco:


Capacidade = (# bytes/setor) x (md. # setores/trilha) x (# trilhas/superfcie)
x (# superfcies/prato) x (# pratos/disco)
- 55 -

ARQUITETURA DE COMPUTADORES - 1866

Exemplo 01:
512 bytes/setor
300 setores/trilha (em mdia)
20.000 trilhas/superfcie
2 superfcies/prato
5 pratos/disco
Capacidade = 512 x 300 x 20000 x 2 x 5
= 30.720.000.000
30,72 GB
Exemplo 02:
512 bytes/setor
500 setores/trilha (em mdia)
100.000 trilhas/superfcie
2 superfcies/prato
5 pratos/disco
Qual ser a capacidade deste disco?

- 56 -