Sie sind auf Seite 1von 12

• Arquitetura de Computadores

Capítulo 7 – MEMÓRIA

Tecnologia de fabricação:

Ao longo do tempo, diversas tecnologias vêm sendo desenvolvidas para a fabricação de memória.
Atualmente algumas dessas tecnologias já são obsoletas, como as memórias de núcleo de ferrite
(magnéticas), algumas das tecnologias mais conhecidas são:

Memória de semicondutores → são dispositivos fabricados com circuitos eletrônicos e


baseados em semicondutores. São rápidas e relativamente caras, se comparadas com outros tipos.
Registradores e memória principal são exemplos de memórias de semicondutores ou, mais
simplesmente, memórias eletrônicas.
Memórias de meio magnético → são dispositivos, como os disquetes, discos rígidos e fitas
magnéticas, fabricados de modo a armazenar informações sob a forma de campos magnéticos.
Eles possuem características magnéticas semelhantes às das fitas cassetes de som, as quais são
memórias não voláteis.

Hierarquia de Memória:

A MP não é o único dispositivo de armazenamento de um computador. Em função de características


como tempo de acesso, capacidade de armazenamento, custo, etc., podemos estabelecer uma
hierarquia de dispositivos de armazenamento em computadores.
Devido a essa grande variedade de tipos de memória, não é possível implementar um sistema de
computação com uma única memória. Na realidade, há muitas memórias no computador, as quais
se interligam de forma bem estruturada, constituindo um sistema em si, parte do sistema global de
computação, podendo ser denominado subsistema de memória, como mostrado na Figura 5.2.

Custo alto
Velocidade alta
Baixa capacidade
Registradores

Memória cache

Memória principal

Custo baixo disco


Velocidade baixa
fitas Memória secundária
Capacidade elevada
Figura 5.2 – Hierarquia de memória.

A pirâmide em questão é projetada com base larga, que simboliza a elevada capacidade, o tempo de
uso e o custo do componente que a representa.
A seguir serão definidos os principais parâmetros para análise das características de cada tipo de
memória componente da hierarquia apresentada na Figura 5.2.
Tempo de Acesso → é o período de tempo gasto decorrido desde o instante em que foi iniciada
a operação de acesso até que a informação requerida (instrução ou dado) tenha sido
efetivamente transferida. Pode ser chamado tempo de acesso para leitura ou simplesmente
• Professor: Marcelo B. Roen
• Arquitetura de Computadores
tempo de leitura. É dependente do modo como o sistema de memória é constituído e da
velocidade dos seus circuitos. Ele varia bastante de acordo com o tipo de memória analisado,
sendo valores típicos entre 50 e 150 nanossegundos (ns), por exemplo, para uma memória
principal (tipo DRAM) e de 12 a 60 milissegundos (ms) para discos magnéticos (memória
secundária).
Capacidade → é a quantidade de informação que pode ser armazenada em uma memória; a
unidade de medida mais comum é o byte, embora também possam ser usadas outras unidades
como células (no caso da memória principal e cache), setores (no caso de discos) e bits (no caso
de registradores). Dependendo do tamanho (tamanho refere-se a quantidade de informação que
pode ser armazenada e não no tamanho físico) da memória, isto é, de sua capacidade, indica-se
o valor numérico total de elementos de forma simplificada, através da inclusão de K (kilo), M
(mega), G (giga) ou T (tera).
Exemplo de nomenclatura para valores de capacidade de memória:
a) O registrador R1 tem 16 bits;
b) A ROM do microcomputador A tem 32 Kbytes;
c) A RAM do computador B tem capacidade para endereçar 32 Mcélulas;
d) O disco C tem capacidade para armazenar 4.5 Gbytes.
e) O CD-ROM E tem capacidade de armazenamento igual a 650 Mbytes.

Volatilidade → memórias podem ser do tipo volátil ou não volátil. Uma memória não volátil é
a que retém a informação armazenada quando a energia elétrica é desligada. Memória volátil é
aquela que perde a informação armazenada quando a energia elétrica desaparece (interrupção de
energia elétrica ou desligamento da chave ON/OFF do equipamento).
Temporariedade → trata-se de uma característica que indica o conceito de tempo de
permanência da informação em um dado tipo de memória. Por exemplo, informações
(programas e dados) podem ser armazenadas em discos ou disquetes e lá permanecerem
armazenadas indefinidamente (mas há sempre a possibilidade de perda de magnetismo com o
passar do tempo) a este tipo de memória define-se como permanente. Ao contrário dos
registradores, que armazenam um dado por um tempo extremamente curto (nanossegundos), a
este tipo chamamos de transitória.
Custo → o custo de fabricação de uma memória é bastante variado em função de diversos
fatores, tipo: tecnologia de fabricação, tempo de acesso, e outros. Uma boa forma de medida de
custo é o preço por byte armazenado, em vez do custo total.

O quadro a seguir mostra mais características:

Tipo Capacidade Velocidade Custo Localização Volatilidade


Registrador Bytes muito alta muito alto UCP Volátil
Memória Cache Kbytes alta alto UCP/placa Volátil
Memória Principal Mbytes Média médio Placa Volátil
Memória Auxiliar Gbytes Baixa baixo Externa Não Volátil

A UCP vê nesta ordem e acessa primeiro a que está mais próxima. Subindo na hierarquia,
quanto mais próximo da UCP, maior velocidade, maior custo, porém menor capacidade de
armazenamento.
• Professor: Marcelo B. Roen
• Arquitetura de Computadores

– Registradores:

São dispositivos de armazenamento temporário, localizados na UCP, extremamente rápidos, com


capacidade para apenas um dado (uma palavra). Devido a sua tecnologia de construção e por estar
localizado como parte da própria pastilha ("chip") da UCP, é muito caro. O conceito de registrador
surgiu da necessidade da UCP de armazenar temporariamente dados intermediários durante um
processamento. Por exemplo, quando um dado resultado de operação precisa ser armazenado até
que o resultado de uma busca da memória esteja disponível para com ele realizar uma nova
operação.

Analisando os diversos parâmetros que caracterizam as memórias, temos:

Tempo de acesso: possuem o menor tempo de acesso a memória do sistema, algo em torno de 10 a
20 nanossegundos, dependendo de tratar-se da UCP de um supercomputador ou de um
microprocessador mais lento.
Capacidade: são fabricadas com a capacidade de armazenar um único dado, umas únicas
instruções ou até um único endereço. Desta forma, a quantidade de bits de cada um é de uns poucos
bits (de 8 a 64), dependendo do tipo de processador.
Volatilidade: são memórias semicondutoras, portanto, necessitam de energia elétrica para
funcionarem.
Temporariedade: os registradores são memórias auxiliares internas à UCP e, portanto,
tendem a guardar informações o mais temporariamente possível.
Custo: devido à tecnologia mais avançada de sua fabricação, os registradores são os
dispositivos de memória de maior custo.

Memória Cache:

Com o desenvolvimento da tecnologia de construção da UCP, as velocidades foram ficando muito


mais altas que as das memórias, que não tiveram a mesma evolução de velocidade (o
aperfeiçoamento das memórias se deu mais no fator capacidade). Desta forma, os tempos de acesso
às memórias foram ficando insatisfatórios e a UCP ao buscar um dado na memória precisa ficar
esperando muitos ciclos até que a memória retorne o dado buscado ("wait states"), configurando um
gargalo ("bottleneck") ao desempenho do sistema. Por esse motivo, desenvolveram-se outras
arquiteturas de memória privilegiando a velocidade de acesso. A arquitetura da memória cache é
muito diferente da arquitetura da memória principal e o acesso a ela é muitas vezes mais rápido
(p.ex: 5 ns contra 70 ns). No entanto, o custo de fabricação da memória cache é muito maior que o
da MP. Desta forma, não é econômico construir um computador somente com tecnologia de
memória cache. Criou-se então um artifício, incorporando-se ao computador uma pequena porção
de memória cache, localizada entre a UCP e a MP, e que funciona como um espelho de parte da
MP.

A memória cache opera em função de um princípio estatístico comprovado: em geral, os programas


tendem a referenciar várias vezes pequenos trechos de programas, como loops, sub-rotinas, funções
e só tem sentido porque programas executados linearmente, seqüencialmente, são raros. Desta
forma, algoritmos (chamados algoritmos de cache) podem controlar qual parte do código ficará
copiado na cache, a cada momento.
Quando a MP busca um determinado trecho de código e o encontra na cache, dá-se um "cache hit”,
enquanto se o dado não estiver presente na cache será necessário requisitar o mesmo à MP,
acarretando atraso no processamento e dá-se um "cache miss" ou "cache fault". O índice de cache
hit ou taxa de acerto da cache é geralmente acima de 90%.

• Professor: Marcelo B. Roen


• Arquitetura de Computadores

Tempo de acesso: tendo em vista que a UCP acessa primeiro a memória cache, para buscar
a informação requerida, possuem tempo de acesso entre 5 e 25 ns.

Capacidade: os valores típicos de memória cache oscilam entre 512 K a 2 M em máquinas


de grande porte e em máquinas tipo microcomputador de 512 K a 1 M.
Volatilidade: são dispositivos constituídos de circuitos eletrônicos, logo requerem energia
elétrica para seu funcionamento.

Temporariedade: devido a seu tamanho não ser grande e ser utilizada por todo os
programas em execução, há a necessidade de alteração periódica da informação armazenada para
permitir entrada de novas informações.
Custo: o custo de fabricação das memórias cache é alto.

Memória Principal:

Uma das principais características definidas no projeto de arquitetura do sistema de Von Neumann,
o qual se constitui na primeira geração de computadores, consistia no fato de ser uma máquina “de
programa armazenado”. O fato de as instruções, uma após a outra, poderem ser imediatamente
acessadas pela UCP é o que garante o automatismo do sistema e aumenta a velocidade de execução
dos programas.

Tempo de acesso: possuem tempo de acesso entre 50 ns e 150 ns.

Capacidade: os valores típicos para microcomputadores, minicomputadores e de grande


porte, estão na faixa de 16 até 128M byte, embora eles possam endereçar memória de 4G byte.

Volatilidade: sendo construído com semicondutores e circuitos eletrônicos correlatos, este


tipo de memória também é volátil.

Temporalidade: para que um programa seja executado é necessário que ele seja
armazenado na memória principal. Atualmente esta afirmação é parcialmente verdadeira, visto que
não é mais necessário que o programa completo esteja na MP, e sim apenas armazenado a instrução
que será acessada pela UCP. No entanto, a transitoriedade com que as informações permanecem
armazenadas na MP é, em geral, mais duradoura que na memória cache e registradores.

A tabela abaixo mostra os valores típicos.

Nome
− SIMM 16Mb -72 vias EDO
− SIMM 32Mb -72 vias EDO
− DIMM 64Mb SDRAM 100 MHz
− DIMM 64Mb SDRAM 133 MHz
− DIMM 128Mb SDRAM 100 MHz
− DIMM 128Mb SDRAM 133 MHz
− DIMM 256Mb SDRAM 100 MHz
− DIMM 256Mb SDRAM 133 MHz
− DDR 128Mb 333 MHz

• Professor: Marcelo B. Roen


• Arquitetura de Computadores

Memória Secundária:

Memórias secundárias resolvem problemas de armazenamento de grandes quantidades de


informações. A capacidade da MP é limitada pelo seu relativamente alto custo, enquanto as
memórias secundárias têm maior capacidade e menor custo; portanto, o custo por bit armazenado é
muito menor.

Outra vantagem importante é que as memórias secundárias não são VOLÁTEIS, isto é, não
dependem de estar energizadas para manter gravado seu conteúdo.

Os principais dispositivos de memória auxiliar são: discos rígidos (ou HD), drives de disquete,
unidades de fita, CD-ROM, DVD, unidades ótico-magnéticas, etc.

Tempo de acesso: os valores típicos para disco rígidos são faixa de 10 a 40 ms. Discos do
tipo CD-ROM trabalham com tempos de acesso ainda maiores, na faixa de 200 a 500 ms, enquanto
as fitas magnéticas são ainda mais lentas, podendo ler um arquivo em tempos da ordem de
segundos.

Capacidade: uma das características que coloca a memória secundária na base da pirâmide
é justamente sua grande capacidade de armazenamento. Discos rígidos de microcomputadores
podem, atualmente, ser encontrados com capacidade de 1.2, 4.5, 10 Gbytes, etc. Sistema de grande
porte são maiores ainda, tipos 360 Gbytes. Os CD-ROM têm capacidade de 650 Mbytes, etc.

Volatilidade: as informações não desaparecem com a falta de energia elétrica, logo não são
voláteis.
Temporariedade: tem caráter permanente, ou pelo menos, de longo período de
armazenagem.

MEMÓRIA PRINCIPAL:

Conforme foi definido anteriormente, Memória Principal é a parte do computador onde programas e
dados são armazenados para processamento. A informação permanece na memória principal apenas
enquanto for necessário para seu emprego pela UCP, sendo então a área de MP ocupada pela
informação pode ser liberada para ser posteriormente sobregravada por outra informação. Quem
controla a utilização da memória principal é o Sistema Operacional.

Estrutura da Memória Principal – Células e Endereços:

A memória precisa ter uma organização que permita ao computador guardar e recuperar
informações quando necessário. Não teria nenhum sentido armazenar informações que não fosse
possível recuperar depois. Portanto, não basta transferir informações para a memória. É preciso ter
como encontrar essa informação mais tarde, quando ela for necessária, e para isso é preciso haver
um mecanismo que registre exatamente onde a informação foi armazenada.
Célula: é a unidade de armazenamento do computador. A memória principal é organizada em
células. Célula é a menor unidade da memória que pode ser endereçada (não é possível buscar
uma "parte" da célula) e tem um tamanho fixo (para cada máquina). As memórias são
compostas de um determinado número de células ou posições. Cada célula é composta de um

• Professor: Marcelo B. Roen


• Arquitetura de Computadores
determinado número de bits. Todas as células de um dado computador têm o mesmo tamanho,
isto é, todas as células daquele computador terão o mesmo número de bits.

Cada célula é identificada por um endereço único, pela qual é referenciada pelo sistema e pelos
programas. As células são numeradas seqüencialmente, uma a uma, de 0 a (N-1), chamado o
endereço da célula.

Endereço: é o localizador da célula, que permite identificar univocamente uma célula. Assim,
cada célula pode ser identificada pelo seu endereço.

Figura 5.3 – Estrutura de uma Memória Principal.

Unidade de transferência é a quantidade de bits que é transferida da memória em uma única


operação de leitura ou transferida para a memória em uma única operação de escrita. O tamanho da
célula poderia ser igual ao da palavra, e também à unidade de transferência, porém por razões
técnicas e de custo, são freqüentemente diferentes.
OBS.: Uma célula não significa o mesmo que uma palavra; uma célula não necessariamente contém
uma palavra.

Palavra: é a unidade de processamento da UCP. Uma palavra deve representar um dado ou uma
instrução, que poderia ser processada, armazenada ou transferida em uma única operação. No
entanto, em geral não é assim que acontece e os computadores comerciais não seguem um
padrão único para a organização da UCP e MP. Computadores comerciais (tais como por
exemplo, os baseados nos processadores Intel 486) podem ter o tamanho da palavra definido
como de 32 bits, porém sua estrutura de memória tem células de 16 bits.

A estrutura da memória principal é um problema do projeto de hardware:


- mais endereços com células menores ou
- menos endereços com células maiores?
- O tamanho mais comum de célula era 8 bits (1 byte); hoje já são comuns células contendo
vários bytes.

Número de bits para representar um endereço


Expressão geral: MP com endereços de 0 a (N-1)
N = 2x logo:
x = log2 N
sendo x = nº de bits para representar um endereço e N o número de endereços.

• Professor: Marcelo B. Roen 57


• Arquitetura de Computadores

Capacidade da Memória Principal

A capacidade da MP em bits é igual ao produto do nº de células pelo total de bits por célula.
T=NxM
T = capacidade da memória em bits
N = nº de endereços (como vimos anteriormente, N=2x sendo x = nº de bits do endereço)
M = nº de bits de cada célula

Para encontrar a capacidade em bytes, bastaria encontrar a capacidade em bits e depois multiplicar
por 8 (cada byte contém 8 bits) ou então converter o tamanho da célula para bytes e depois
multiplicar pelo número de células.
O último endereço na memória é o endereço N-1 ( os endereços começam em zero e vão até N-1).

Operações com Memória Principal

É possível realizar duas operações em uma memória:


escrita (“write”) – armazenar informação na memória;
leitura (“read”) – recuperar uma informação armazenada na memória.

A operação de leitura não destrói o conteúdo da memória, ela apenas providencia a transferência de
uma cópia do que está armazenado, enquanto a informação desejada continuar armazenada.
Somente a operação de escrita é destrutiva.
Vamos descrever, com um pouco mais de detalhe, como se acontece uma operação de leitura e uma
escrita na MP de um sistema de computação.
Para tanto, há necessidade de se definir os elementos que compõem a estrutura UCP/MP e que são
utilizados naquelas operações, veja Figura 5.4.

UCP MP

RDM REM UC

Barramento de controle

Barramento de endereços

Barramento de dados

Figura 5.4 – Estrutura UCP/MP e a utilização de barramento para comunicação entre elas.

• Professor: Marcelo B. Roen


• Arquitetura de Computadores
Registrador de Dados da Memória (RDM) → registrador que armazena temporariamente a
informação (conteúdo de uma ou mais células) que está sendo transferida da MP para a UCP
(em uma operação de leitura) ou da UCP para a MP (em uma operação de escrita). Permite
armazenar a mesma quantidade de bits do barramento de dados.
Barramento de dados → interliga o RDM à MP, para transferência de informações entre MP e
a UCP (sejam instruções ou dados). É bidirecional, isto é, ora os sinais percorrem o barramento
da UCP para a MP (operação de escrita), ora percorrem o caminho inverso (operação de leitura).
Registrador de Endereços da Memória (REM) →registrador que armazena o endereço de
acesso a uma posição de memória, ao se iniciar uma operação de leitura ou de escrita. Em
seguida, o referido endereço é encaminhado à área de controle da MP para codificação e
localização da célula desejada. Permite armazenar a mesma quantidade de bits do barramento de
endereços.
Barramento de Endereços → interliga o REM à MP para transferência dos bits que
representam um determinado endereço. É unidirecional, visto que somente a UCP aciona a MP
para realização de operações de leitura e escrita. Possui tantos fios (ou linhas de transmissão)
quantos são os bits que representam o valor do endereço.
Barramento de controle → interliga a UCP (Unidade de Controle) à MP para passagem de
sinais de controle durante uma operação de leitura ou escrita. É bidirecional, porque a UCP
pode enviar sinais de controle para a MP, como sinal indicador de que a operação é de leitura ou
escrita e a MP pode enviar sinais do tipo WAIT (para a UCP se manter aguardando o término de
uma operação).
Para simplificar a descrição dos procedimentos e operações realizadas internamente em um sistema
de computação vamos adotar uma convenção genericamente conhecida como Linguagem de
Transferência entre Registradores (LTR), Princípios básicos da LTR:
a) Caracteres alfanuméricos significam abreviaturas de nomes de registradores ou posição
de memória. EX: REM, MP, R1.
b) Parênteses indicam conteúdo, no caso de registradores, ou que o valor entre parênteses é
um endereço de MP.
c) Uma seta indica atribuição, isto é, transferência de conteúdo de um registrador para
outro ou para a MP ou vice-versa.

EXEMPLO:

(REM) ← (CI) (significa que o conteúdo do registrador cujo nome é CI é transferido para o
registrador REM).

(RDM) ← (MP(REM)) (significa que o conteúdo da célula da MP cujo o endereço está no REM é
transferido para o RDM.

6.2.3.1. Operações de leitura:

A Figura 5.5 mostra um exemplo de operação de leitura de um dado armazenado no endereço 1324
da MP (o valor do dado é 5C) para a UCP.

Os passos que descrevem a referida operação de leitura são:

1. (REM) ← (outro registrador)


o endereço é colocado no barramento de endereços.
2. Sinal de leitura na barra de controle
3. (RDM) ← (MP(REM)) pelo barramento de dados
• Professor: Marcelo B. Roen
• Arquitetura de Computadores
4. (outro registrador) ← (RDM)
end 0000

≈ ≈
UCP
Outro Outro end 1324 5C
reg. reg.
RDM REM
5C 1324 UC end FFFF

Barramento de controle

Barramento de endereços

Barramento de dados

Figura 5.5 – Exemplo da operação de leitura.

No primeiro passo, a unidade de controle – UC da UCP inicia a operação de leitura através da


transferência do endereço 1324, de um de seus registradores específicos para a REM e coloca o
sinal de leitura (READ) no barramento de controle para indicar aos circuitos de controle da MP o
que fazer em seguida.
A MP decodifica o endereço recebido e transfere seu conteúdo para o RDM através do barramento
de dados. Do RDM, então, a informação é transferida para o elemento da UCP destinatário final.

Operações de escrita:

A realização de uma operação de escrita segue o procedimento semelhante ao da operação de


leitura, mas pelo sentido de transferência inverso, isto é, da UCP para a MP.
A Figura 5.6 mostra um exemplo de operação de escrita de um dado, de valor igual a F7, da UCP
para a MP, a ser armazenado no endereço 21C8.

Os passos que descrevem a referida operação são:

1. (REM) ← (outro registrador) (a UCP coloca o endereço no REM de endereços)


endereço é colocado no barramento de endereços.
2. (RDM) ← (outro registrador) (a UCP coloca no RDM o dado a ser transferido)
3. Sinal de escrita (a UCP aciona o sinal WRITE pelo barramento de controle)
4. (MP(REM)) ← (RDM) (o dado é transferido para a célula de memória pelo barramento de
dados)

• Professor: Marcelo B. Roen


• Arquitetura de Computadores

end 0000

≈ ≈
UCP
end 21C8 F7

RDM REM
F7 21C8 UC end FFFF

Barramento de controle

Barramento de endereços

Barramento de dados

Figura 5.6 – Exemplo da operação de escrita.

Nos primeiros passos a UC coloca o endereço desejado no REM e o dado a ser transferido no RDM.
O endereço é colocado no barramento de endereço, o dado no barramento de dados e o sinal de
escrita (WRITE) é acionado no barramento de controle.
Como resultado da decodificação do endereço pelos dispositivos de controle da memória, o valor
F7 é colocado na célula desejada, de endereço 21C8.
Conforme explicado para a operação de leitura, a realização dos passos necessários à efetivação de
uma operação de escrita gastas um tempo de acesso e a MP pode ou não estar preparada para
imediatamente realizar nova operação.

Tipos de Memória Principal:

Conforme já mencionamos diversas vezes a memória principal da maioria dos computadores atuais
é fabricada com tecnologia de semicondutores. Tendo em vista as características desses elementos
eletrônicos, este tipo de dispositivo possui uma particularidade muito importante e única: o tempo
de acesso a qualquer célula é igual, independente da localização física da célula.

Em outras palavras, se o tempo de acesso de uma determinada memória de semicondutor é 70 ns,


isto significa que este será o tempo para acessar a célula de endereço 0 (1a célula) ou para acessar a
20a célula.

Qualquer que seja o endereço, aleatoriamente ou randomicamente escolhido, o tempo de acesso será
o mesmo. Esse tipo de memória é denominado memória de acesso aleatório, sendo, no entanto,
mais conhecida pela sigla de seu nome em Inglês: RAM - Random Access Memory.

• Professor: Marcelo B. Roen


• Arquitetura de Computadores
Memória RAM são normalmente utilizadas na implementação do espaço de endereçamento da MP
dos computadores. No que se refere ao processo de fabricação e desempenho, há dois tipos de RAM
no mercado: memórias RAM Estáticas (Static RAM – SRAM) e memórias RAM Dinâmicas
(Dynamic RAM – DRAM).

A MP é a memória de trabalho da UCP, onde os programas (e seus dados) se sucedem em


execução, uns após os outros. Além de a MP ter de permitir que um programa seja armazenado em
seguida ao outro (isto significa que são realizadas sucessivas operações de escrita nas mesmas
células) durante a execução normal de um programa, suas instruções são sucessivamente lidas pela
UCP, que, por sua vez, também realiza operações de escrita sobre a MP, armazenando resultados
das operações realizadas.

Desta forma, a MP, utilizada para armazenamento dos programas e dados rotineiramente
executados em um sistema de computação, deve ser do tipo leitura/escrita (R/W – Read/Write).

Por outro lado, memórias de semicondutores são do tipo RAM, sendo usadas como MP dos
computadores. Se uma memória é de acesso aleatório (RAM) para leitura, invariavelmente também
o será para realizar ciclos de escrita.

Assim, as memórias do tipo RAM, que permitem leitura/escrita, são usadas como MP e este termo –
RAM – passou a ser tão comum com estas memórias que se confundem com o próprio nome da
memória (comumente se usa no comércio e na indústria o termo RAM quando se refere à MP).

Embora seja rápida e de acesso aleatório, a RAM possui algumas desvantagens, entre as quais a
volatilidade.

Por outro lado, as memórias R/W apresentam o inconveniente de permitindo que se escreva
normalmente em suas células, ser possível a acidental eliminação do conteúdo de uma ou mais de
suas células.

Uma vez que o processador nada realiza sem as instruções, é óbvio que ele deve possuir uma certa
quantidade de memória não volátil. Isto é, um local onde estejam permanentemente armazenadas
instruções que automaticamente iniciam a operação e a inicialização do sistema, tão logo a
alimentação elétrica seja ligada.

Em microcomputadores costuma-se chamar de programa bootstrap ou simplesmente boot, alguns


fabricantes chamam de IPL – Initial Program Load (Carregamento do Programa Inicial).

Esse tipo de memória além de ter que ser não-volátil, também não deve permitir que haja
eliminações acidentais. Trata-se de um programa que deve estar permanentemente armazenado e
não sofrer alterações por parte de nenhum outro programa.

Em outras palavras, memórias que armazenam este tipo de programa devem permitir apenas
leitura. Chamam-se estas memória de ROM – Read Only Memory (memória somente para leitura)
e elas devem ser não voláteis.

No entanto, o tempo de acesso em memória ROM também é constante, independentemente da


localização física da célula, logo elas também são memória RAM. Porém, o mercado caiu no
engano de chamar de RAM apenas as memórias R/W, talvez para claramente diferença-las do outro
tipo, ROM (somente para leitura), já que as siglas são bem parecidas.

• Professor: Marcelo B. Roen


• Arquitetura de Computadores
A Figura 5.7 apresenta a distribuição espacial das memórias R/W, RAM e ROM em um
microcomputador, indicando o conceito correto e o conceito usado na prática pelo mercado.

Endereço 0 Endereço 0

Leitura/ RAM
escrita (Leitura/escrita)
≈ ≈ ≈ ≈
RAM

ROM ROM

Endereço N-1 Endereço N-1

(a) nomenclatura correta. (b) nomenclatura popular


Figura 5.7 – Configuração da MP de um microcomputador tipo PC.

Memórias dos Tipos ROM:

PROM - Programmable Read Only Memory ou memória apenas de leitura, programável. Esta
memória é uma ROM programável (em condições e com máquinas adequadas, chamadas
queimadores de PROM) e geralmente é comprada "virgem" (sem nada gravado), sendo muito
utilizada no processo de testar programas no lugar da ROM, ou sempre que se queira produzir
ROM em quantidades pequenas. Uma vez programada (em fábrica ou não), não pode mais ser
alterada.

EPROM - Erasable Programmable Read Only Memory ou memória apenas de leitura,


programável (com queimadores de PROM) e apagável (com máquinas adequadas, à base de
raios ultra-violeta). Esta memória é uma PROM apagável. Tem utilização semelhante à da
PROM, para testar programas no lugar da ROM, ou sempre que se queira produzir ROM em
quantidades pequenas, com a vantagem de poder ser apagada e reutilizada.

EEPROM (ou E2PROM) - Electrically Erasable Programmable Read Only Memory ou


memória apenas de leitura, programável e eletronicamente alterável. Também chamada
EAROM (Electrically Alterable ROM). Esta memória é uma EPROM apagável por processo
eletrônico, sob controle da UCP, com equipamento e programas adequados. É mais cara e é
geralmente utilizada em dispositivos aos quais se deseja permitir a alteração, via modem,
possibilitando a carga de novas versões de programas à distância ou então para possibilitar a
reprogramação dinâmica de funções específicas de um determinado programa, geralmente
relativo ao hardware (p.ex., a reconfiguração de teclado ou de modem, programação de um
terminal, etc).


Professor: Marcelo B. Roen

Das könnte Ihnen auch gefallen