Você está na página 1de 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 disco Custo baixo
Custo alto
Velocidade alta
Baixa capacidade
Registradores
Memória cache
Memória principal
disco
Custo baixo
Velocidade baixa
Memória secundária
fitas
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.

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%.

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

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:

armazenagem.

tem caráter permanente, ou pelo menos, de longo período de

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

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.

cada célula pode ser identificada pelo seu endereço . Figura 5.3 – Estrutura de uma Memória

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 = 2 x logo:

x = log2 N sendo x = nº de bits para representar um endereço e N o número de endereços.

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

= N x M

T

= capacidade da memória em bits

N

= nº de endereços (como vimos anteriormente, N=2 x 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
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.

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

Arquitetura de Computadores

4. (outro registrador) ← (RDM) end 0000 ≈ ≈ UCP Outro Outro end 1324 5C
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)

Arquitetura de Computadores

end 0000 ≈ ≈ UCP end 21C8 F7 RDM REM F7 21C8 UC end FFFF
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 (1 a célula) ou para acessar a 20 a 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.

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

(Dynamic RAM – DRAM).

Estáticas (Static RAM –

SRAM) e memórias RAM

Dinâmicas

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

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.

não-volátil, também não deve permitir que haja

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.

Em outras palavras, memórias que armazenam este tipo de programa devem permitir

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.

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 N-1

Leitura/ escrita ROM
Leitura/
escrita
ROM

(a) nomenclatura correta.

RAM

Endereço 0

   

Endereço N-1

   
RAM (Leitura/escrita) ROM
RAM
(Leitura/escrita)
ROM

(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).