Estudo Tecnico e Gerencial Da Memoria Principal

22
Aluno: José Cicero Gomes Maia Fatene Curso de ADS - Noite Estudo Técnico e Gerencial da Memória Principal 1/22 CAPITULO 1 MÓDULO FÍSICO DA MEMÓRIA RAM CONCEITO É sabido que a memória de qualquer computador é uma memória chamada de RAM (Randon Access Memory Memória de acesso aleatório), e já sabemos que a memória RAM tem dois tipos básicos que são as RAMS estáticas e as dinâmicas, é sabido que a SRAM é usada como memória auxiliar que recebe o nome de CACHE, e a memória que realmente o computador usa para suas tarefas de boot, carga do sistema e todas as demais funções é sim a DRAM, que no caso é o objeto do nosso estudo, sendo assim vamos entender melhor a estrutura e como funciona uma DRAM convencional. ENCAPSULAMENTO DAS MEMÓRIAS DRAM DIP (Dual In Line Package) - é um tipo de encapsulamento de circuitos suas principais características são o invólucro plástico ou metálico e duas fileiras de pinos em lados opostos do CI, normalmente em seu lado maior, foi utilizados em computadores XT e 80286, principalmente como módulos EPROM (que eram soldados na placa). Também foi muito utilizado em dispositivos com circuitos menos sotisticados; Fig 1.0 Encapsulamento DIP ( Dual Inline Package) SIPP (Single In Line Pin Package) - esse tipo encapsulamento é uma espécie de evolução do DIP. A principal diferença é que esse tipo de memória possui, na verdade, um conjunto de chips DIP que formavam uma placa de memória (mais conhecida como pente de memória ou módulo de memória). Um módulo nada mais era que uma pequena placa de circuito com vários chips de memória já instalados. Os módulos SIPP tinham terminais (“perninhas”) para encaixe no seu soquete. Ao instalar um módulo SIPP, estávamos na verdade encaixando simultaneamente, 8 ou 9 chips de memória, o padrão SIPP foi aplicado em placas-mãe de processadores 286 e 386

Transcript of Estudo Tecnico e Gerencial Da Memoria Principal

Page 1: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 1/22

CAPITULO 1

MÓDULO FÍSICO DA MEMÓRIA RAM

CONCEITO

É sabido que a memória de qualquer computador é uma memória chamada de RAM

(Randon Access Memory – Memória de acesso aleatório), e já sabemos que a memória

RAM tem dois tipos básicos que são as RAMS estáticas e as dinâmicas, é sabido que a

SRAM é usada como memória auxiliar que recebe o nome de CACHE, e a memória que

realmente o computador usa para suas tarefas de boot, carga do sistema e todas as

demais funções é sim a DRAM, que no caso é o objeto do nosso estudo, sendo assim

vamos entender melhor a estrutura e como funciona uma DRAM convencional.

ENCAPSULAMENTO DAS MEMÓRIAS DRAM

DIP (Dual In Line Package) - é um tipo de encapsulamento de circuitos suas

principais características são o invólucro plástico ou metálico e duas fileiras de pinos

em lados opostos do CI, normalmente em seu lado maior, foi utilizados em

computadores XT e 80286, principalmente como módulos EPROM (que eram soldados

na placa). Também foi muito utilizado em dispositivos com circuitos menos

sotisticados;

Fig 1.0 – Encapsulamento DIP ( Dual Inline Package)

SIPP (Single In Line Pin Package) - esse tipo encapsulamento é uma espécie de

evolução do DIP. A principal diferença é que esse tipo de memória possui, na verdade,

um conjunto de chips DIP que formavam uma placa de memória (mais conhecida como

pente de memória ou módulo de memória). Um módulo nada mais era que uma pequena

placa de circuito com vários chips de memória já instalados. Os módulos SIPP tinham

terminais (“perninhas”) para encaixe no seu soquete. Ao instalar um módulo SIPP,

estávamos na verdade encaixando simultaneamente, 8 ou 9 chips de memória, o padrão

SIPP foi aplicado em placas-mãe de processadores 286 e 386

Page 2: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 2/22

Fig. 1.1 – Encapsulamento SIPP.

SIMM (Single In Line Memory Module) - o encapsulamento SIMM é uma evolução

do padrão SIPP. Foi o primeiro tipo a usar um slot (um tipo de conector de encaixe)

para sua conexão à placa-mãe. Existiram pentes no padrão SIMM com capacidade de

armazenamento de 1 MB a 16 MB. Este tipo foi muito usado nas plataformas 386 e 486

(primeiros modelos).

Na verdade, houve dois tipos de padrão SIMM: o SIMM-30 e o SIMM-72. O primeiro

usava 30 pinos para sua conexão. O segundo é um pouco mais evoluído, pois usava 72

pinos na conexão e armazenava mais dados (já que o módulo de memória é maior),

variando sua capacidade de 4 MB a 64 MB. O SIMM-72 foi muito utilizado em placas-

mãe de processadores 486, Pentium.

Fig. 1.2 – Encapsulamento SIMM.

DIMM (Double In Line Memory Module) - esse é o padrão de encapsulamento que

surgiu após o tipo SIMM. Muito utilizado em placas-mãe de processadores Pentium II,

Pentium III e em alguns modelos de Pentium 4 (e processadores equivalentes de

empresas concorrentes), o padrão DIMM é composto por módulos de 168 pinos. Os

módulos de memória DIMM empregam um recurso chamado ECC (Error Checking and

Correction - detecção e correção de erros) e tem capacidades mais altas que o padrão

anterior: de 16 a 512 MB. As memórias do tipo SDRAM utilizam o encapsulamento

DIMM.

Page 3: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 3/22

Fig. 1.3 – Encapsulamento DIMM

TECNOLOGIA DE ACESSO A DADOS

FPM (Fast Page Mode)-Ou “modo acesso rápido.” A idéia é que, ao ler um arquivo

qualquer gravado na memória, os dados estão na maioria das vezes gravados

seqüencialmente. Não seria preciso então enviar o endereço RAS e CAS para cada bit a

ser lido, mas simplesmente enviar o endereço RAS (linha) uma vez e em seguida enviar

vários endereços CAS (coluna).

Devido ao novo método de acesso, as memórias FPM conseguem ser cerca de 30% mais

rápidas que as memórias regulares.

Apesar de já não serem fabricadas há bastante tempo, foram utilizadas em PCs 386,

486 e nos primeiros Pentiums. Você encontrará memórias FPM na forma de módulos

SIMM de 30 ou 72 vias e com tempos de acesso de 80, 70 e 60 nanos, sendo as de 70

nanos as mais comuns.

EDO (Extended Data Output)-As memórias EDO foram criadas em 94, e trouxeram

mais uma melhoria significativa no modo de acesso a dados. Além de ser mantido o

“modo de acesso rápido” das memórias FPM, foram feitas algumas modificações para

permitir mais um pequeno truque, através do qual um acesso à dados pode ser iniciado

antes que o anterior termine, permitindo aumentar perceptivelmente a velocidade dos

acessos. O novo modo de acesso permite que as memórias EDO trabalhem com tempos

de acesso de apenas 5-2-2-2 em uma placa mãe com Bus de 66 MHz, um ganho de

25%.

Apesar de já ultrapassado, este tipo de memória ainda é muito usado atualmente, foi

fabricado em velocidades de 70, 60 e 50 nanos, com predominância dos módulos de 60

nanos. As memórias EDO são encontradas em módulos de 72 vias, existindo também

alguns casos raros de memórias EDO na forma de módulos DIMM.

SDRAM (Synchronous Dynamic RAM)-Tanto as memórias FPM quanto as memórias

EDO são assíncronas, isto significa que elas trabalham em seu próprio ritmo,

independentemente dos ciclos da placa mãe. Isso explica por que memórias FPM que

foram projetadas para funcionar em placas para processadores 386 ou 486 (que

trabalham com Bus de 25, 30, 33 ou 40 MHz), funcionam sem problemas em placas

para processadores Pentium, que funcionam a 66 MHz. Na verdade, as memórias

continuam trabalhando na mesma velocidade, o que muda são os tempos de espera que

passam a ser mais altos. Assim, ao invés de responder a cada 2 ciclos da placa mãe, por

Page 4: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 4/22

exemplo, elas podem passar a responder a cada 3 ou 4 ciclos, funcionando

normalmente.

As memórias SDRAM por sua vez, são capazes de trabalhar sincronizadas com os

ciclos da placa mãe, sem tempos de espera. Isto significa, que a temporização das

memórias SDRAM é sempre de uma leitura por ciclo. Independentemente da velocidade

de barramento utilizada, os tempos de acesso poderão ser de 5-1-1-1. Como é preciso

que a memória SDRAM a ser usada seja rápida o suficiente para acompanhar a placa

mãe, é possível encontrar versões com tempos de acesso entre 15 e 6 nanossegundos.

DDR (Double Data Rate)-As memórias DDR implementam um novo truque, que as

torna capazes de realizarem duas transferências por ciclo e serem quase duas vezes mais

rápidas que as memórias SDRAM, mesmo mantendo a mesma freqüência de operação e

a mesma tecnologia básica. Com o lançamento das memórias DDR, as SDRAM

passaram a ser chamadas de "SDR", ou (Single Data Rate).

Os chips de memória DDR incluem circuitos adicionais, que permitem gerar comandos

de acesso e receber os dados referentes às leituras duas vezes por ciclo de clock,

executando uma operação no início do ciclo e outra no final. Como são utilizadas as

mesmas trilhas para realizar ambas as transferências, não foi necessário fazer grandes

modificações nem nos módulos, nem nas placas mãe.

TEMPO DE ACESSO

Os tempos de acesso representam em quanto tempo a memória pode disponibilizar um

dado requisitado. Quanto mais baixos forem os tempos de espera, mais rápidas serão as

memórias.

Instaladas em uma placa mãe que trabalhe com Bus de 66 MHz, os intervalos de espera

de memórias FPM podem ser de até 5-3-3-3, o que significa que o processador terá de

esperar cinco ciclos da placa mãe para a memória efetuar a primeira leitura de dados e

somente mais 3 ciclos para cada leitura subsequente. O primeiro acesso demora mais

tempo, pois nele é preciso enviar os dois endereços, enquanto nos subsequentes é

necessário enviar apenas os endereços de coluna.

Os tempos de espera das memórias podem ser configurados no Setup, através da opção

“Memory Timing”. Em placas para 486, era comum existirem opções como 4-3-3-3 ou

3-2-2-2, que representavam o tempo de acesso à memória.

BANCO DE MEMÓRIA

Um processador x86 pode trabalhar com qualquer quantidade de memória, a partir de

um mínimo de 64 KB. Porém, é preciso que exista um barramento de dados suficiente.

Uma quantidade qualquer de memória, que atenda às exigências do processador quanto

à largura de barramento é chamada de banco de memória.

No Pentium, cada banco de memória deve ser capaz de permitir o acesso de 64 bits de

dados por vez, enquanto nos processadores 386 e 486 é necessário um barramento de 32

Page 5: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 5/22

bits. Caso o módulo de memória possua um barramento de dados mais estreito que o

necessário, é preciso combinar dois ou mais módulos para formar cada banco.

Como os módulos SIMM de 30 vias possuem um barramento de apenas 8 bits, são

necessários 4 módulos para formar um banco de memória em um micro 386 ou 486. Se

estes módulos antigos chegassem a ser utilizados em micros Pentium, seriam

necessários 8 módulos para formar cada banco.

Os módulos SIMM de 72 vias já possuem um barramento de 32 bits, sendo um único

módulo suficiente para completar um banco de memória em um 486, e 2 módulos

necessários para completar os 64 bits exigidos pelo Pentium.

Finalmente, os módulos DIMM possuem um barramento de 64 bits, sendo necessário

apenas um módulo para formar um banco em micros equipados com processadores

Pentium ou superiores.

Dentro de um banco, todos os módulos são acessados ao mesmo tempo, como se fossem

um só. Por isso, é necessário que todos os módulos sejam capazes de responder aos

chamados do controlador de memória sincronizadamente, como uma orquestra. A

mínima falta de sincronia entre os módulos irá causar instabilidade no sistema, que

poderá levar a travamentos. Por isso, é altamente recomendável que sejam utilizados

sempre módulos idênticos dentro de um mesmo banco (mesma marca, mesma

capacidade, mesmo tempo de acesso, etc.), de preferência comprados juntos.

CAPITULO 2

ESTRUTURA DA MEMÓRIA RAM

ESTRUTURA BASICA

Como visto anteriormente um modulo de memória RAM, seja do tipo SIMM EDO,

DIMM DDR, ou qualquer modulo de memória, é formado de uma placa de circuito

impresso com suas devidas trilhas, e é claro com os chips de memória, soldados sobre

esta placa, a todo o C.I. que se solde sobre uma placa de circuito impresso (PCB) é

chamado de chip SMD(Surface Mountage Device – Dispositivo de Montagem em

Superfície), conforme mostra a figura logo abaixo.

Page 6: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 6/22

Fig 1.0 – Detalhes de um modulo de memória DIMM SDRAM SDR de 168 pinos

DETALHANDO UM POUCO MAIS

PCB(Printed Circuit Board – Placa de circuito impresso) – As melhores

placas de circuito impresso são aquelas que tem muitas camadas, são mais leves

por serem feitas de fibra de vidro e não mais de fenolite, quanto às camadas as

melhores placas são compostas por pelo menos 6 e 8 camadas prensadas, quanto

mais camadas melhor será a distribuição da trilhas e assim evitando o

aparecimento das interferências, ruídos e capacitâncias transientes.

CHIP DRAM(Dynamic Randon Access Memory – Memória de acesso

aleatório dinâmico) – É onde propriamente são armazenados os dados, a forma

de como é feito o emcapsulamento do chip da ram, tem influencia direta na

qualidade do trafego dos dados, veremos mais a frente alguns modelos mais

comuns de encapsulamento do chip ram. A forma na qual o chip de DRAM é

empacotado é chamado de encapsulamento, veja alguns modelos.

DIP(Dual In line pin Packge – Pacote com duas linhas de pinos) –

Este foi o primeiro formato de memória tanto RAM, quanto ROM, para

uso especifico como memória principal praticamente já caiu em desuso,

ainda é muito usada em dispositivos moveis.

Page 7: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 7/22

SOJ(Small Outline J – Pacote pequeno com terminal J) – Tem esse

nome porque seus terminais têm quase uma forma que se parece com um

J, e são soldados na superfície da PCB.

TSOP(Thin Small Outline Package – Pacote de perfil pequeno e

fino) – Também soldado em superfície, muito usado na fabricação de

memórias para portáteis.

CSP(Chip Scale Package – Empacotamento escalar de chip) – É um

formato completamente diferente, o mesmo usado em chipsets nas

placas-mae, o nome especifico deste encapsulamento no que tange aos

pinos é chamado de BGA (Ball Grid Array – Grade de pinos em forma

de bola), onde os pinos estão em forma de bola

e ficam na parte inferior do chip.

A MEMORIA COM MAIS DETALHES

CELULA DE MEMORIA

O chip de memória DRAM, também é conhecido como célula de memória ou célula

capacitiva, isto porque a sua construção é muito simples ao contrario da memória

SRAM que é feita de um conjunto completo de circuitos chamados de FLIP-FLOP, é

composto de apenas um capacitor e um transistor, ou seja, o capacitor serve para

armazenar os bits (0 ou 1) e o transistor serve para chavear o capacitor para ler ou

escrever, simples não acha, vamos ver com mais detalhes.

De uma forma bem simples o capacitor carregado indica 1 e o descarregado indica 0,

por sua fabricação ser tão simples é possível ter muitos capacitores e transistores em um

pequeno espaço, sendo assim tem a capacidade de armazenar muito mais dados que uma

memória SRAM do mesmo tamanho físico.

Em compensação pelo seu curto tamanho tem-se um problema, a sua carga de

capacitância é muito baixa e varia de mais ou menos de 20 a 50 fF ou menos ( fF =

femtonFarad = 10-3

pF(picoFarad)), e sua corrente residual varia na faixa de 20pA

(picoAmpere), sendo assim o capacitor pode perder com muita facilidade a sua carga ou

seja perder os dados nele armazenados, por isso existe um circuito externo responsável

Page 8: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 8/22

que de tempo em tempo faz uma nova recarga no capacitor, este procedimento é

chamado de REFRESH, onde um circuito de refresh faz uma restauração da carga do

capacitor, é por este detalhe que as DRAM são chamadas de dinâmicas por estarem

sendo feito acessos constantes à memória. Sendo assim podemos afirmar que a memória

dinâmica é muito lenta tanto nas operações de leitura e escrita, em função do

procedimento de refresh.

Fig 1.1 – Estrutura básica, um transistor Q1 e um capacitor C1.

COMPOSIÇÃO BASICA

Externamente o chip da DRAM se parece com qualquer tipo de C.I (Circuito Integrado),

porem por dentro do chip, tem uma estrutura formada de alguns circuitos lógicos, e uma

matriz de célula de memória, pode ser observado uma estrutura básica de forma didática

para apresentar sua estrutura interna.

Fig 1.2 – Estrutura básica de uma memória DRAM.

Page 9: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 9/22

Esta matriz de célula de memória (CM) que é composta de um microcapacitor e um

micro transistor do tipo nMOS, armazena apenas um único bit, no esta 1 o capacitor esta

carregado e no estado 0 o capacitor esta descarregado, o conjunto destas células de

memória (CM), armazenando um único bit formam os dados.

As linhas são denominadas de linhas de palavras (WORD LINES), esta linha é

selecionada por um circuito que impõe um valor lógico 1 para selecionar esta linha

depois da linha selecionada a coluna é selecionada, é claro que este diagrama é muito

simples em relação a um circuito real, um circuito real tem muito mais componentes e

mais circuitos complexos, mas serve para termos uma idéia de uma circuito de uma

memória DRAM.

LEITURA E ESCRITA NA DRAM

O processo de leitura e escrita na DRAM é muito complexa, mas será explicado de uma

forma mais simples para prover um maior entendimento sobre esse assunto.

Na estrutura da memória existe um circuito que faz a seleção da linha e da coluna, este

circuito é chamado de MUX/DEMUX (Multiplexador e Demultiplexador – ou

simplesmente um codificador dos sinais da linha e da coluna), onde este circuito

simplesmente chamado de MUX faz a decodificação dos sinais da linha e coluna.

Um sinal STROBE DO ENDEREÇO, RAS (Row Address Strobe), comanda o

armazenamento dos bits do endereço da linha no registrador interno no chip para este

fim.

Um sinal STROBE DO ENDEREÇO DA COLUNA, CAS (Collum Address Strobe),

comanda o armazenamento dos bits da coluna, no circuito respectivo.

Na operação de leitura, uma linha inteira é selecionada (Sinal de RAS), é alimentado ao

MUX das colunas, que envia um único bit para saída. Na escrita um único bit a ser

escrito e distribuído pelo DEMUX para a coluna alvo (CAS), enquanto o MUX das

linhas seleciona a linha correta a ser escrita.

Na pratica, se realmente tivéssemos uma linha física para cada bit armazenado na

memória, teríamos um chip muito grande, para solucionar este problema foi

desenvolvido uma técnica chamada de MULTIPLEXAÇÃO DE ENDEREÇOS, onde

cada pino tem dupla função, sendo assim temos uma economia de pinos e no fim temos

uma memória muito mais enxuta.

Depois de reduzir a quantidade de pinos, existem somente m/2 pinos de endereço do

chip, e os endereços de linha e coluna são multiplexados no tempo. Nestas linhas os m/2

endereços da linha são enviados junto com o sinal de linha RAS, e um endereço de linha

é armazenado e decodificado pelo chip, então os m/2 bits são enviados junto com o

sinal de CAS, indo todos pelo mesmo pino físico, e assim podem existir outros pinos

adicionais, para controle, leitura, escrita, reset, refresh e outras.

SIMPLIFICANDO

Page 10: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 10/22

Fig 1.3 – Diagrama eletrônico simples do funcionamento da DRAM.

Este diagrama simples serve para entendermos como funciona o processo de leitura e

escrita na memória, as chaves representada por S1 a S4 são na verdade MOSFETs (são

transistores feitos de semicondutores de oxido metálico chamado de MOS, e trabalha

usando um campo magnético taí o nome FET transistor de efeito de campo.),

controlados pelas diversas saídas do MUX (sinais RAS e CAS) e do sinal de R,W. O

capacitor é o dispositivo usado para armazenar os bits sempre um por vez, o micro

capacitor neste caso é formado de duas placas condutoras e um dielétrico no meio das

placas.

ESCRITA – Neste caso as chaves S1 e S2 são fechadas, as demais ficam abertas, um

nível lógico 1 nas chaves S1 e S2 carregam o capacitor C com 1, quando o

determinado capacitor esta em uma seqüência ele pode ou não ser

carregado, exemplo: se a seqüência for 1011(valor hipotético) teríamos 4

capacitores, e sendo assim somente o capacitor de numero 2 não será

carregado, e sim o capacitor 1, 3 e 4. mantendo o nível lógico do capacitor

2 no estado 0. No fim todas as chaves são abertas.

LEITURA – As chaves S2,S3, S4 devem ser fechadas, e a chave S1 deve ser mantida

aberta, sua tensão é enviada ao SENSOR DE AMPLIFICADOR que

verifica a carga, se estiver com uma tensão próxima de 5v, será

considerado nível lógico 1, caso contrario o valor será 0, e todo o momento

de leitura também é um momento de refresh.

CONCLUSAO

Vimos o comportamento da memória dinâmica, e termos mais técnico do conceito de

leitura e escrita, e vimos o conceito de célula de memória, discubrimos porque a

memória dinâmica é lenta, em função do REFRESH, onde em algum momento nos

enquanto usuário vemos alguns congelamentos ou mesmo paradas do sistema, pode ser

o REFRESH, ou simplesmente um dado que não foi carregado com precisão para o

processador, enfim, a memória dinâmica terá a sua continuidade como memória

principal apesar do tempo de resposta ser muito lento, ainda sim armazena mais e é

muito mais barata. No próximo capitulo será estudado o gerenciamento da memória,

valeu ate a próxima.

Page 11: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 11/22

CAPITULO 3

Gerenciamento e Organização da memória principal

Introdução

É sabido que a memória principal é um dos recursos mais importantes em um

computador, introduzido por Von Newman, a memória principal é responsável por

armazenar os dados, instruções e é claro os programas, mesmo quando um programa é

chamado pelo usuário, esses dados do programa são carregados e armazenados em

alguma parte da memória.

Esse sempre foi um dos grandes problemas dos projetistas de sistemas operacionais,

pois o hardware se desenvolveu com uma velocidade muito grande, e agora a corrida é

das grandes empresas de desenvolvimento de softwares, o desafio é criar programas que

usem com mais eficiência os recursos da mp(memória principal).

Na década de 60 houve uma melhora muito grande com relação ao aumento da mp e

outras técnicas de armazenamento como a memória auxiliar chamada de cache e ate

mesmo armazenamento em disco.

Desta forma hoje temos uma hierarquia de memória que vem da menor capacidade e

mais veloz ate a de maior capacidade e menor velocidade.

Sendo assim vamos tentar mostrar sinteticamente como funciona a mp tanto do ponto de

vista organizacional,gerencial,físico e técnico.

COMO FUNCIONAVA

Em sistemas mais antigos ou chamados de monoprogramaveis, existia um formato

chamado de ALOCAÇÃO CONTÍGUA, ou seja um formato em que a memória é

dividida somente em duas partes, uma separada para o sistema operacional e o que

sobrava ficava reservado aos programas do usuário. (fig. 1.0)

Page 12: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 12/22

Nesse formato é possível acessar qualquer posição de memória, podendo acessar,

escrever, sobrescrever qualquer tipo de dado ou instrução, isto era muito interessante do

ponto de vista dos programadores que teriam um código reduzido e o sistema

operacional era bem mais leve para carregar, porem algumas vezes o usuário chamava

algum programa ou seja clicava em algum atalho que lincasse ao programa e este era

carregado para memória, e derrepente na tela do usuário aparecia a seguinte tela com a

esta mensagem “ACCESS VIOLATION” ou simplesmente um erro de violação de

acesso.

Mas o que significa isto, é somente quando um programa tenta acessar uma área

reservada ao sistema operacional, isto ocorre porque no sistema operacional tem

algumas rotinas de verificação ao acesso a memória que verifica se determinado

programa esta querendo ser executado no espaço delimitado ao sistema operacional,

quando as rotinas de verificação confirmam que o programa esta realmente acessando

uma área reservada ao S.O. logo este programa é finalizado ou seja eliminado por

completo da memória.

O grande problema desse formato é que com a ALOCAÇÃO CONTÍGUA, não permite

a usabilidade do total dos recursos do processador e inclusive da própria memória, os

programas dessa época estavam limitados ao espaço disponível da mp.

Para tentar resolver esse problema, a idéia foi dividir o problema em módulos, e

executar somente quando for necessários, essa técnica é chamada de OVERLAY

(sobreposição), ou seja quando um programa esta carregado em memória, ele esta

carregado somente o programa principal, quando é necessário por exemplo cadastrar um

cliente, então é chamado o cadastro de cliente neste ponto o modulo de cadastro de

cliente é carregado na memória, usando a técnica de OVERLAY.

DIVISÃO DA MEMÓRIA

Com uma melhoria da organização da memória, foi feito uma técnica em que a memória

foi dividida em pequenas partições, o tamanho das partições era determinado pelos

programadores, os programas só podiam ser executado em partições definidas, sendo

Page 13: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 13/22

assim se tiver outra partição disponível outro programa não poderia acessar essa

partição, essa técnica ficou conhecida como ALOCAÇÃO PARTICIONADA

ESTÁTICA ABSOLUTA, isto porque tinha uma limitação dos compiladores e

montadores que geravam o código absoluto.

Como a evolução dos compiladores, lincadores e carregadores(loaders), a geração do

código retocável foi possível, e com isso ser possível carregar os programas em

qualquer partição, essa técnica foi chamada de ALOCACAO PARTICIONADA

ESTÁTICA RELOCÁVEL, isso só foi possível porque quando um programa é

carregado ele verifica uma tabela de partição da memória e verifica qual partição esta

disponível para o armazenamento do programa e mais não tem mais o perigo de um

programa acessar alguma partição reservada ao S.O. isto porque agora existe dois

registradores que indicam o inicio e o fim do endereço da partição.(fig 2.0)

PROGRAMA SENDO

EXECUTADO

SISTEMA OPERACIONAL

MEMÓRIA PRINCIPAL

Fig. 2.0 - Delimitação da partição

ÁREA DE PROGRAMAS

DO USUÁRIO

Endereço Inicial

Endereço Final

UM NOVO PROBLEMA, UMA NOVA SOLUÇÃO

Conforme foi analisado anteriormente, foi criado uma forma de armazenar os programas

com registradores de inicio e fim de cada partição, mas o que acontecia quando este

programa terminava a sua execução, outro assumiria o seu lugar, só que ai criava um

outro problema talvez o segundo programa fosse menor que o primeiro então sobrava

uma parte daquela partição usada, ou seja esse espaço desperdiçado pelo seu tamanho

era chamado de FRAGMENTAÇÃO.

Veremos isto com mais detalhes, isso ocorre porque a partição onde os programas são

executados tem um tamanho predefinido, por exemplo um programa de 3KB ocupa uma

partição inteira de 3KB, quando esse programa termina essa área fica livre, então outro

programa com 2KB por exemplo assume essa partição, há de convir que sobrou 1KB

dessa partição, outro programa de 2KB em uma partição de 5KB sobra mais 3KB livres,

no mesmo momento outro programa de 2KB também assume uma partição de 5KB,

vejam que estes espaços livres às vezes não são suficiente para armazenar um programa,

sendo assim estes espaços são chamados de FRAGMENTAÇÃO.(fig. 3.0)

Page 14: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 14/22

Programa A (2KB)SISTEMA OPERACIONAL

MEMÓRIA PRINCIPAL

Fig. 3.0 - Fragmentação da memória principal.

3KB

5KB

5KB

Programa B (2KB)

Programa C (2KB)

Livre 1KB

Livre 3KB

Livre 3KB

uma solução para esse problema foi à junção dos programas relocando os espaços para

ficar espaços livres contíguos.(fig 3.1)

Programa A (2KB)SISTEMA OPERACIONAL

MEMÓRIA PRINCIPAL

Fig. 3.1 - Desfragmentação da memória principal.

6KBPrograma B (2KB)

Programa C (2KB)

Livre 7KB

essa técnica ficou conhecido como ALOCAÇÃO DINÂMICA COM RELOCACAO.

Com tudo isso foram criados algumas estratégias de organização da memória, estas

técnicas servem para o melhor aproveitamento das partições e diminuir as

fragmentações.

Page 15: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 15/22

Programa A

SISTEMA OPERACIONAL

MEMÓRIA PRINCIPAL

Programa B

Programa C

Livre 1KB

(A) Best-Fit

BEST-FIT(A): Escolhe a melhor partição para poder deixar a menor quantidade

de espaço livre.

WORST-FIT(B): Escolhe as piores partições com os piores espaços deixando

os espaços vazios maiores, sendo assim outros programas podem ocupar esses

espaços livres, deixando muito menor a fragmentação.

Programa A

SISTEMA OPERACIONAL

MEMÓRIA PRINCIPAL

Programa B

Programa C

Livre 3KB

(B) Worst-Fit

Page 16: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 16/22

FIRST-FIT(C): Escolhe a primeira partição livre, de tamanho suficiente para

carregar o programa, o problema é que o algoritimo fica mais pesado com mais

rotinas de verificação de áreas livres, nesta técnica a escrita é mais rápida e usa

menos recursos do sistema.

O VAI E VEM DA MEMÓRIA

Como visto no capitulo anterior, um problema encontrado nos esquemas de

gerenciamento era a fragmentação da memória, e dentro deste âmbito temos outro

problema com relação ao tempo de espera, ou enquanto um programa esta ocupando

uma determinada partição esse programa permanece ate o fim de sua execução, e fica

por muitas vezes ocioso esperando um evento de leitura ou escrita, então outro

programa que precise ser carregado na memória simplesmente não pode por não ter

mais espaço disponível, nesse momento pode surgir na tela uma mensagem dizendo que

“MEMÓRIA INDISPONÍVEL, FECHE ALGUM PROGRAMA E TENTE

NOVAMENTE, SE O PROBLEMA PERSISTIR PROCURE O SEU

REVENDEDOR.”.

Foi desenvolvido uma técnica para levar o programa que esta carregado em memória

com tempo ocioso para um outro meio de armazenamento de dados, nesse caso o disco

rígido foi escolhido pois esta sempre disponível, voltando ao problema levando esse

programa para o HD e liberando espaço para outro programa ser carregado em

memória, quando houver a necessidade do programa retornar, outro programa vai para o

HD e este se insere em seu espaço,e fica assim ate que não mais seja necessário e volta

ao disco para que outro programa assuma seu espaço e assim por diante, esta técnica é

chamada de SWAPPING (TROCA).(Figs. 4.0 e 4.1)

Programa A

SISTEMA OPERACIONAL

MEMÓRIA PRINCIPAL

Programa B

Programa C

Livre 2KB

( C )First-Fit

Page 17: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 17/22

Fig. 4.0 - Processo de saida do programa B para o HD chamado de Swap Out.

Programa A

SISTEMA OPERACIONAL

MEMÓRIA PRINCIPAL

Programa B

Programa C

Programa D

Programa E

Swap Out

MEMÓRIA SECUNDÁRIA

Conforme visto na figura 4.1, o processo de Swap é dividido em dois momentos que

podem ser executados ambos ao mesmo tempo, o processo de enviar os dados do

programa ao HD é chamado de Swap Out e o processo inverso de devolver o programa

do HD para a memória principal é chamado de Swap In, neste processo o programa não

deve sentir nenhuma diferença ou seja o para o usuário este procedimento deve ser

transparente.

Fig. 4.1 - Processo de Swap Out do programa D e o Swap In do programa B.

Programa A

SISTEMA OPERACIONAL

MEMÓRIA PRINCIPAL

Programa E

Programa C

Programa DSwap In

MEMÓRIA SECUNDÁRIAMEMÓRIA SECUNDÁRIA

Swap OutPrograma B

Page 18: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 18/22

Fig. 5.0 - Processo de mapeamento.

MEMÓRIA VIRTUAL MEMÓRIA PRINCIPAL

MAPEAMENTO

OUTROS TIPOS DE MEMÓRIA

Já vimos em capítulos anteriores algumas técnicas de armazenamento, melhor

performance e a própria hierarquia da memória, mas tudo isso serve para que afinal de

contas, vale ressaltar que essa memória que é usada pelo computador é chamada de

memória RAM, lembrando também que essa memória é uma memória com pouca

capacidade principalmente para os programas que temos hoje, imagine na década de 70

e 80, bem para a solução deste problema de pouca memória foi criado uma outra técnica

para aumentar a capacidade de memória do microcomputador, esta técnica é chamada

de MOMORIA VIRTUAL, técnica que desvincula o endereço físico (indicado nos

programas) e assumir endereços virtuais, e ainda todas as estruturas de dados deixam de

esta limitado pelo tamanho da memória física.

Veremos como funcionam.

ENDEREÇAMENTO VIRTUAL

A técnica da memória virtual, não é nova essa técnica foi baseada nos ARRAYS(vetor)

que existe na maioria das linguagens de programação, a idéia é que quando um

programa é carregado em memória logo é jogado para a memória virtual assim o

programa acessa somente endereços virtuais, no momento da execução de uma

instrução o endereço virtual é traduzido para o endereço real (endereçamento físico),

pois o processador só pode acessar endereços físicos, o nome desse processo de

tradução dos endereços virtuais para os endereços físicos é chamado de

MAPEAMENTO.(Fig. 5.0)

Na atualidade esse processo de mapeamento é feito por um sistema composto de

HARDWARE e SOFTWARE, ou seja existe um circuito que faz o processo de tradução

Page 19: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 19/22

do endereço virtual para o real, esse circuito fica entre o processador e a memória

principal, no mesmo barramento de endereço, esse circuito chama-se DAT – Dinamyc

Address Translator.

Quando o DAT entra em ação e faz a tradução ele armazena os endereços em uma

tabela de mapeamento, e esta tabela fica armazenada em uma porção da memória

principal durante todo processo.

Como a memória principal é dividida a memória virtual também é dividida, essa divisão

é chamada de blocos, e existem dois tipos de blocos, os de tamanho variado chamados

de SEGMENTADOS e os de tamanho fixo são chamados de PAGINAS.

Temos um problema a cada referencia a memória física, são dois acessos isso

compromete o desempenho do computador, a solução foi uma memória associativa que

as vezes se comporta como uma memória cache, armazena os pares de endereço

virtual/real, que foram usados nos acessos mais recentes e com isso reduz o tempo de

mapeamento. A isto foi chamado de TLB( Translation Lookside Buffer).

Isto implica que cada processo tem os seu próprio mapeamento como se cada processo

tivesse a sua própria memória virtual, a TLB se encarrega de manter os processos, as

tabelas de mapeamento e memórias virtuais sempre atualizados para o S.O.

PAGINAÇAO

Técnica desenvolvida para gerenciar os espaços das memórias virtuais e físicas, esses

espaços da memória virtual é chamada de PAGINA e os espaços da memória física é

chamado de FRAMES.

Fig. 5.1 - Diagrama em blocos do subsistema da memória.

MEMÓRIA

PRINCIPAL

CPU

DAT

ENDEREÇO

DADOS

CONTROLE

Endereço virtual

Endereço Real

Subsistema de memoria

Page 20: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 20/22

Na execução de algum programa, as paginas são transferidas da memória secundaria

para a memória principal, e alocadas em flames, sempre quando houver a necessidade

de se referenciar a um endereço virtual é feito um mapeamento e localizando este

endereço na ETP(ENTRADA NA TABELA DE PAGINAS).

Neste contexto para a CPU saber se o endereço requisitado já esta na memória principal

ou não, existe mais uma informação no cabeçalho do endereço, chamado de VALID

BIT (BIT DE VALIDADE), que quando este bit de validade for igual a zero indica que

o endereço requisitado não esta na memória principal e quando for 1 sim ele já esta na

memória principal. Toda vez que for requisitado um endereço é feito a verificação do

bit de validade, se caso o bit de validade for igual a zero, o sistema quem transferir a

pagina da memória secundaria (DISCO RÍGIDO) para a memória física, e

posteriormente para a memória virtual, quando isto acontece o sistema manda um alerta

indicando que a pagina não foi encontrada, isso se chama de PAGE FAULT (FALHA

DE PAGINA).

WORKING SET

Conjunto de páginas constantemente referenciadas pelos processos que permanecem na

memória principal para que execute de forma eficiente.

Este conceito surgiu com base em analises das taxas de paginação dos processos, um

problema com esta estratégia não é quais paginas carregar para a memória e sim quais

remover dela. Algumas estratégias foram criadas para tentar resolver este problema, são

técnicas que primeiramente verificam se as paginas já foram modificadas então podem

ser movidas, para a inserção de novos frames, para as ações de PAGE IN (processo de

saída das paginas da memória secundária para a memória principal), e antes do sistema

remover alguma pagina, ela é armazenada na memória secundaria, esse processo é

chamado de PAGE OUT.

Algumas estratégias foram criadas para melhorar a relocação de paginas,

Aleatória

Não se utiliza qualquer tipo de critério para a escolha da pagina, qualquer pagina pode

ser escolhida dentro do working set.

Fifo – First In/First Out

É o sistema mais simples, pois usa uma simples fila, onde a primeira pagina que entra é

a primeira que sai.

Lru – Least recently used

É a escolha da pagina que menos foi referenciada no sistema, uma boa escolha mas

causa sempre um grande overhead.

Nru – not recently used

Nesta estratégia se vale de um recurso que é um flag de referencia, onde quando a

pagina não foi iniciada o valor do flag é igual a zero e quando a pagina for modificada o

flag recebe 1, assim fica fácil fazer a relocação de paginas.

Page 21: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 21/22

Lfu – least frequently used

A pagina menos freqüentemente usada, a pagina cujo contador tiver um numero menor

do que a pagina mais referenciada, será a escolhida.

Sendo assim o algoritimo mantém na memória somente as paginas que mais são usadas

pelo sistema operacional.

SEGMENTAÇÃO

A diferença básica entre a paginação e a segmentação é que, enquanto a paginação

divide o programa em vários pedaços chamadas de paginas ou blocos, de tamanho fixo,

e cada divisão não tem qualquer ligação com a lógica do programa. Já a segmentação

divide o programa em vários pedaços chamados de segmento, cada segmento tem um

tamanho variado de acordo com a lógica do programa.

PROTECAO

Recurso necessário a qualquer sistema operacional, que deseja segurança e proteção dos

programas e principalmente do próprio sistema operacional, a proteção nada mais é que

um conjunto de 2 bits para informar qual pagina ou segmento da memória esta

acessando uma área protegida, para isto cada pagina tem um 2 bits um para leitura

(READ) e um outro para escrita (WRITE), quando um programa tenta entrar em alguma

área destinada somente ao sistema operacional será verificado qual permissão este

programa tem, se de leitura (READ) o flag é RW = 10, ou de escrita ( WRITE ) o flag

será RW = 01, mas quando usados os dois flags isto gera uma proteção de acesso do

tipo RW = 00 onde o acesso será negado pois é uma proteção da área da memória onde

esta reservada somente ao sistema operacional.

CONCLUSAO

Podemos observar que houve uma evolução no uso e gerenciamento da memória do

microcomputador, ao dos tempos foi entendido que sempre existiu uma necessidade de

gerenciar a memória principal do PC, com mais eficiência, e a cada conquista um

problema então podemos observar que os problemas foram surgindo e junto com elas as

soluções também surgiram, desde sistemas mais arcaicos como a memória dos

primeiros processadores que só tinham duas áreas de trabalho, e hoje se tem proteção da

memória, e estratégias para o melhor gerenciamento da memória e melhor acesso a

leitura e gravação e muito mais.

Sendo assim a evolução continua mais e mais.

Page 22: Estudo Tecnico e Gerencial Da Memoria Principal

Aluno: José Cicero Gomes Maia – Fatene – Curso de ADS - Noite

Estudo Técnico e Gerencial da Memória Principal 22/22

BIBLIOGRAFIA

Pesquisado em diversas fontes, livros e Internet.

Livro: Arquitetura de sistemas operacionais

Autores: Francis B. Machado

Luis Paulo Maia

Livro: Introdução à arquitetura de computadores

Autores: Miles J. Murdocca

Vincent P. Heuring

Sites de Engenharia eletrônica, Hardware e variados dentro da computação.

Site da Kingston

Site da Motorola

Site da Texas instrument

Site do Laecio Vasconcelos

Site do Carlos Eduardo morimoto