Capítulo 5 Organização Interna de um Computador · Custo → o custo de fabricação de uma...
Transcript of Capítulo 5 Organização Interna de um Computador · Custo → o custo de fabricação de uma...
Capítulo 5 – Organização Interna de um Computador
5.2 MEMÓRIA:
5.2.1 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.
5.2.2 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.
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.
disco
fitas
Custo alto Velocidade alta
Baixa capacidade
Custo baixo Velocidade baixa
Capacidade elevada
Registradores
Memória cache
Memória principal
Memória secundária
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 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.
5.2.2.1 – 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.
5.2.2.2. 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%.
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.
5.2.2.3. 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.
Custo: A tabela abaixo mostra os valores típicos.
Nome Preço
SIMM 16Mb -72 vias EDO 130,98
SIMM 32Mb -72 vias EDO 287,92
DIMM 64Mb SDRAM 100 MHz 177,00
DIMM 64Mb SDRAM 133 MHz 188,80
DIMM 128Mb SDRAM 100 MHz 354,00
DIMM 128Mb SDRAM 133 MHz 365,80
DIMM 256Mb SDRAM 100 MHz 790,60
DIMM 256Mb SDRAM 133 MHz 802,40
5.2.2.4. 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 discos 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.
5.2 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.
5.2.1. 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 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.
5.2.2 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=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).
EXERCÍCIOS
1) Numa MP com 1kbyte de capacidade, onde cada célula tem 8 bits:
a) quantas células tem a MP?
b) quantos bits são necessários para representar um endereço de memória?
2) Um computador endereça 1k células de 16 bits cada uma. Pede-se:
a) sua capacidade de memória;
b) o maior endereço que o computador pode endereçar;
3) A memória de um computador tem capacidade de armazenar 216 bits e possui
um barramento dedados de 16 bits. Pede-se:
a) o tamanho da célula de memória;
4) Calcular e completar os campos:
M - Tamanho
da célula
x - nº de bits do
endereço
N - nº
endereços
de T - Capac. da memória
0 a (N-1) - Faixa
de endereços
8 bits - - 1 K byte -
16 bits - 1 K endereços - -
- 4 bits - 256 bits -
4 bytes - - 4 Gbytes -
- - - 1 Mbyte 0 a 65.535
64 bits - - - 0 a 262.143
4) Uma memória de um computador tem um espaço máximo de endereçamento
de 2K. Cada célulapode armazenar 16 bits. Qual o valor total de bits que podem ser
armazenados nesta memória e qual o tamanho de cada endereço?
5) Uma memória é fabricada com a possibilidade de armazenar um máximo de
256K bits. Cadacélula pode armazenar 8 bits. Qual é o tamanho de cada endereço e
qual é o total de células que podem ser utilizadas na memória?
5.2.3 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.
Figura 5.4 – Estrutura UCP/MP e a utilização de barramento para
comunicação entre elas.
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).
UCP
RDM REM UC
MP
Barramento de controle
Barramento de endereços
Barramento de dados
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.
5.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 4. (outro
registrador) (RDM)
e
n
d
1
3
2
4
e
n
d
F
F
F
F
Barramento de controle
Barramento de dados
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.
5.2.3.2. 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)
Figura 5.5 – Exemplo da operação de leitura.
UCP
5 C 1324 UC
Barramento de endereços
RDM REM
Outro reg.
Outro reg.
≈ ≈
end 0000
5 C
4. (MP(REM)) (RDM) (o dado é transferido para a célula de memória pelo
barramento de dados)
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.
EXERCÍCIO:
6) Um computador, cuja a MP tem capacidade máxima de 2K palavras de 16 bits
cada, possui um REM e um RDM. Qual o tamanho destes registradores; qual o
valor do maior endereço dessa MP e qual a quantidade total de bits que nela podem
ser armazenados?
5.2.4 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
Figura 5.6 – Exemplo da operação de escrita.
UCP
F7 C 8 21 UC
Barramento de controle
Barramento de endereços
Barramento de dados
RDM REM
≈ ≈
end 0000
end 21C8
end FFFF
F7
particularidade muito importante e única: o tempo de acesso a qualquer célula é
igual, independentemente 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 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. 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.
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
0Endereço 0
Leitura/RAM
escrita(Leitura/escrita)
≈≈
RAM
ROMROM
Endereço N-1Endereç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).
5.2.5. Bit, Caractere e Palavra:
Bit → é a menor unidade de informação armazenável em um computador. Bit é a
contração das palavras inglesas Binary Digit. O bit pode ter, então, somente dois
valores: 0 e 1. Evidentemente, com possibilidades tão limitadas, o bit pouco
pode representar isoladamente; por essa razão, as informações manipuladas por
um computador são codificadas em grupos ordenados de bits, de modo a terem
um significado útil.
Caractere → é o menor grupo de bits representando uma informação útil e
inteligível para o ser humano. Qualquer caractere a ser armazenado em um
sistema de computação é convertido em um conjunto de bits previamente
definidos para o referido sistema (chama-se código de representação de
caracteres). Cada sistema poderá definir como (quantos bits e como se
organizam) cada conjunto de bits irá representar um determinado caractere.
Byte → é o grupo de 8 bits, tratados de forma individual, como unidade de
armazenamento e transferência. Como os principais códigos de representação
de caracteres utilizam 8 bits por caractere, os conceitos de byte e caractere
tornam-se semelhantes e as palavras, quase sinônimas.
É costume, no mercado, construírem memória cujo acesso, armazenagem e
recuperação de informações são efetuadas byte a byte (ou caractere a caractere). Por
exemplo, 16 Kbytes de memória ou 12 Mbytes. O K e M, são letras indicativas de
um valor numérico fixo, utilizado para reduzir a quantidade de algarismos
representativos de um número, onde K representa mil vezes e M milhões.
Como os computadores são binários, toda indicações numéricas referem-se a
potência de 2, ou seja, o K representa 210
= 1.024 unidades e M é 1.024 * 1.024 =
1.048.576 caracteres ou bytes.
Palavra → é um conjunto de bits que representam uma informação útil, mas
estaria associada ao tipo de interação entre a MP (memória principal) e a UCP,
que é individual, informação por informação, ou seja, a UCP processa
informação por informação, armazena e recupera número a número (cada uma
estaria associada a uma palavra).
De modo geral, usam-se dois valores diferentes: um relacionado à unidade de
armazenamento – o byte e o outro para indicar a unidade de transferência e
processamento – a palavra (que na quase totalidade de computadores, possui um
número de bits múltiplo de 1 byte – 16 ou 32 bits é o valor mais comum.