Subsistema de memória
Sistema
de memória e suas características
De
acordo com o modelo de Von Neumann (Aula 1), a função da Unidade Central de
Processamento (UCP) ou processador é, essencialmente, capturar dados e
instruções que compõem um programa e processá-los, não importando sua origem
ou destino. Mas para que o processador possa executar os programas, seus dados
e instruções devem estar armazenados na memória.
Portanto,
a memória dos computadores é um elemento indispensável e tão importante quanto
a Unidade Central de Processamento (CPU) ou processador. A memória é um
dispositivo que permite ao computador armazenar dados de forma temporária ou
permanente. Segundo Tanenbaum (2007), a memória é a parte do computador onde os
programas e os dados são armazenados. Sem uma memória na qual os processadores
(CPU) possam ler ou escrever informações, o conceito de computador digital com
programa armazenado não pode ser implementado.
Para
o funcionamento adequado de um computador, é necessário dispor, nele mesmo, de
diferentes tipos de memória. Em algumas tarefas, pode ser fundamental que a
transferência de dados seja feita da forma mais rápida possível – é o caso das
tarefas realizadas pela CPU, onde a velocidade é fator preponderante, ao passo
que a quantidade de bits a ser manipulada é muito pequena. Esse tipo de
memória deve possuir características diferentes daquele em que a capacidade de
armazenamento é mais importante que a sua velocidade de transferência de e para
outros dispositivos. Destacamos que a necessidade da existência de vários tipos
de memória ocorre em virtude de vários fatores concorrentes, mas principalmente
em função do aumento da velocidade das CPUs (a qual é muito maior do que o
tempo de acesso da memória) e da capacidade de armazenamento.
Se existisse apenas um tipo de memória, sua velocidade deveria ser
compatível com a da CPU, de modo que esta não ficasse esperando muito tempo
por um dado que estivesse sendo transferido. Segundo Patterson e Hannessy
(2000), a CPU manipula um dado em 5 ns, ao passo que a memória transfere um
dado em 60 ns.
Considerando
os diversos tipos de memórias existentes, as quais variam em função de sua
tecnologia de fabricação, capacidade de armazenamento, velocidade e custo,
pode-se dizer que fica muito difícil projetar um computador utilizando-se
apenas um único tipo de memória. Dessa forma, segundo Monteiro (2007), o
computador possui muitas memórias, as quais se encontram interligadas de forma
bem estruturada, constituindo o que é chamado de subsistema de memória, o qual
é parte do sistema computacional.
O subsistema de memória é projetado de
modo que seus componentes sejam organizados hierarquicamente. A Figura 4.1
apresenta uma pirâmide contendo a hierarquia das memórias existentes em um
computador. Observa-se que a base da pirâmide é larga, simbolizando a elevada
capacidade de armazenamento, o tempo de uso, a velocidade e o custo de sua
tecnologia de fabricação. Assim, a base da pirâmide representa dispositivos de
armazenamento de massa (memória secundária), de baixo custo por byte armazenado,
mas ao mesmo tempo com baixa velocidade de acesso. A flecha na direção do topo
indica que quanto mais rápidas forem as memórias, mais elevado será o seu custo
em relação à tecnologia e menor a sua capacidade de armazenamento em um
computador
Registradores
A
função da memória é a de armazenar dados destinados a serem, em algum momento,
utilizados pelo processador (MONTEIRO, 2007). O processador busca dados e
instruções de onde estiverem armazenadas e os deposita temporariamente em seu
interior para que possa realizar as operações solicitadas utilizando seus
demais componentes (seria análogo à função memória de uma calculadora). Os
dispositivos denominados registradores são os locais onde esse conteúdo fica
armazenado.
Assim,
o conceito de registrador surgiu da necessidade do processador 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.
Os
registradores são dispositivos de armazenamento temporário (volátil), localizados
no interior do processador (CPU). Por causa da tecnologia utilizada, os
registradores são um tipo de memória extremamente rápida e bastante cara. Por
esse motivo, sua disponibilidade em um computador é muito Memórias voláteisMemórias
voláteis: são as que requerem energia para manter a informação armazenada, ao
contrário das memórias permanentes. Placa-mãe Placa-mãe: trata-se de uma
placa de circuito impresso, que serve como base para a instalação dos demais
componentes de um computador, como o processador, a memória RAM, os circuitos
de apoio, as placas controladoras, os slots, entre outros.
limitada.
Cada registrador possui capacidade para manter apenas um dado (uma palavra).
Em resumo, os
registradores, conforme mostra a Figura 4.1, ficam no topo da pirâmide, o que
representa que sua velocidade de transferência de dados dentro do processador é
bastante elevada; em consequência disso, sua capacidade e armazenamento é
baixa e seu custo é alto.
4.3 Memória cache
Considerando a
premissa de que o processador precisa buscar dados e instruções em uma memória
externa – denominada memória principal, a qual será apresentada na seção a
seguir – para processá-los e, considerando que a tecnologia desenvolvida para
os processadores fez com que se esses dispositivos sejam bem mais rápidos que
a memória principal, surgiu a necessidade de diminuir esse atraso gerado pela
transferência de dados entre a memória e o processador.
Na busca de soluções para a limitação imposta pela
comunicação entre processador e memória, foi desenvolvida uma técnica que
consiste na inclusão de um dispositivo de memória entre a memória principal e
o processador. Esse dispositivo é denominado memória cache. Sua função
principal é acelerar a velocidade de transferência das informações entre
processador e memória principal e, com isso, aumentar o desempenho dos sistemas
de computação. As memórias cache são voláteis, assim como os registradores,
pois dependem de energia para manter o seu conteúdo armazenado. A Figura 4.2
apresenta um diagrama de blocos de um processador Pentium original, a
distribuição da memória cache e sua relação com a memória principal (MONTEIRO,
2007).
Assim, a memória cache
é um tipo de memória construída com tecnologias semelhantes às do
processador, isso eleva os custos de produção. Para amenizar o fator custo e
dispor das vantagens de um sistema computacional com desempenho mais rápido,
foram incorporadas ao computador pequenas porções de memória cache,
localizadas internamente ao processador e entre ele e a memória principal, as
quais funcionam como um espelho de parte da memória principal.
Nesse caso, quando o
processador solicita um determinado dado e o encontra na cache, não há
necessidade de requisitá-lo à memória principal, reduzindo significativamente
o tempo de processamento. Ou seja, quanto mais memória cache um
processador possuir, melhor será o seu desempenho.
A tecnologia de
fabricação da memória cache é SRAM (Static Random Access Memory), a
qual é bastante diferente das memórias DRAM (Dynamic Random Access Memory)
– tecnologia da memória principal. A diferença é que nas memórias SRAM não há
necessidade de refresh ou realimentação constante para que os dados
armazenados não sejam perdidos. Isso é possível porque as memórias SRAM se
utilizam de seis transistores (ou quatro transistores e dois resistores) para
formar uma célula de memória. Assim, o refresh passa a não ser
necessário, o que faz com que esse tipo de memória seja mais rápida e consuma
menos energia.
De acordo com Alecrim
(2010), os processadores trabalham, basicamente, com dois tipos de cache:
cache L1 (Level 1 ou Nível 1) e cache L2 (Level 2
ou Nível 2). Normalmente a cache L2 é um pouco maior que a L1 e foi
implantada quando a cache L1 se mostrou insuficiente.
Nas gerações
anteriores, a cache L1 ficava localizada no interior do processador e a
cache L2 era externa a ele. Nas gerações de computadores atuais, ambos
os tipos ficam localizados dentro do chip do processador, sendo que, em
muitos casos, a cache L1 é dividida em duas partes: “L1 para dados” e
“L1 para instruções”. Alecrim (2010) destaca, ainda, que dependendo da
arquitetura do processador, é possível o surgimento de modelos que tenham um
terceiro nível de cache (L3).
4.4 Memória principal
É um tipo de memória
indispensável para o funcionamento do computador, à qual o processador pode
fazer acesso direto. Além de alocar os dados e
instruções
de programas a serem manipulados pelo processador, esse tipo de memória dá
acesso às memórias secundárias, de forma a disponibilizar dados ao processador.
A memória
principal é denominada memória RAM (Random Access Memory), corresponde
a um tipo de memória volátil, ou seja, seu conteúdo fica armazenado enquanto o
computador estiver ligado (energizado); ao desligar a corrente elétrica, o
conteúdo da memória RAM é apagado. Esse é o motivo pelo qual muitas pessoas
perdem arquivos que estão utilizando quando ocorrem fatos como, por exemplo,
alguém esbarrar no cabo ligado à tomada de energia elétrica ou mesmo cessar o
fornecimento de energia. Isso acontece porque ao ocorrerem tais fatos, o
arquivo ainda não havia sido salvo em algum tipo de memória permanente (ex.: o
disco do computador). A Figura 4.3 apresenta um pente (módulo) de memória RAM
típico. Assim, a memória cache é um tipo de
memória construída com tecnologias semelhantes às do processador, isso eleva os
custos de produção. Para amenizar o fator custo e dispor das vantagens de um
sistema computacional com desempenho mais rápido, foram incorporadas ao
computador pequenas porções de memória cache, localizadas internamente
ao processador e entre ele e a memória principal, as quais funcionam como um
espelho de parte da memória principal.
Nesse caso, quando o
processador solicita um determinado dado e o encontra na cache, não há
necessidade de requisitá-lo à memória principal, reduzindo significativamente
o tempo de processamento. Ou seja, quanto mais memória cache um
processador possuir, melhor será o seu desempenho.
A tecnologia de
fabricação da memória cache é SRAM (Static Random Access Memory), a
qual é bastante diferente das memórias DRAM (Dynamic Random Access Memory)
– tecnologia da memória principal. A diferença é que nas memórias SRAM não há
necessidade de refresh ou realimentação constante para que os dados
armazenados não sejam perdidos. Isso é possível porque as memórias SRAM se
utilizam de seis transistores (ou quatro transistores e dois resistores) para
formar uma célula de memória. Assim, o refresh passa a não ser
necessário, o que faz com que esse tipo de memória seja mais rápida e consuma
menos energia.
De acordo com Alecrim
(2010), os processadores trabalham, basicamente, com dois tipos de cache:
cache L1 (Level 1 ou Nível 1) e cache L2 (Level 2
ou Nível 2). Normalmente a cache L2 é um pouco maior que a L1 e foi
implantada quando a cache L1 se mostrou insuficiente.
Nas gerações
anteriores, a cache L1 ficava localizada no interior do processador e a
cache L2 era externa a ele. Nas gerações de computadores atuais, ambos
os tipos ficam localizados dentro do chip do processador, sendo que, em
muitos casos, a cache L1 é dividida em duas partes: “L1 para dados” e
“L1 para instruções”. Alecrim (2010) destaca, ainda, que dependendo da
arquitetura do processador, é possível o surgimento de modelos que tenham um
terceiro nível de cache (L3).
4.4 Memória principal
É um tipo de memória
indispensável para o funcionamento do computador, à qual o processador pode
fazer acesso direto. Além de alocar os dados e
instruções
de programas a serem manipulados pelo processador, esse tipo de memória dá
acesso às memórias secundárias, de forma a disponibilizar dados ao processador.
A memória principal é denominada memória RAM (Random
Access Memory), corresponde a um tipo de memória volátil, ou seja, seu
conteúdo fica armazenado enquanto o computador estiver ligado (energizado); ao
desligar a corrente elétrica, o conteúdo da memória RAM é apagado. Esse é o
motivo pelo qual muitas pessoas perdem arquivos que estão utilizando quando
ocorrem fatos como, por exemplo, alguém esbarrar no cabo ligado à tomada de
energia elétrica ou mesmo cessar o fornecimento de energia. Isso acontece
porque ao ocorrerem tais fatos, o arquivo ainda não havia sido salvo em algum
tipo de memória permanente (ex.: o disco do computador). A Figura 4.3 apresenta
um pente (módulo) de memória RAM típico.
A memória RAM é
denominada genericamente de DRAM (Dynamic RAM), ou RAM dinâmica, pelo
fato de possuir uma característica chamada refrescamento de memória,
que tem a finalidade de manter os dados armazenados enquanto o computador
estiver ligado. Essa denominação está ligada à tecnologia utilizada na
fabricação desse tipo de memória, a qual se baseia na utilização de
dispositivos semicondutores, mais especificamente capacitores associados a
transistores para representar bits de dados armazenados. Podemos dizer
que são necessários um transistor e um capacitor para representar uma célula de
memória.
Organização e
Arquitetura de Computadores e-Tec Brasil 50
Pelo
fato de precisarem ser “refrescadas” ou realimentadas constantemente, as
memórias DRAM consomem muitos ciclos do processador para a realimentação, além
de consumirem mais energia que outros tipos de memória Por isso, são mais
lentas e possuem custo muito menor e capacidade de armazenamento de dados
consideravelmente maior que as memórias estáticas (ex.: cache).
Atualmente, podemos contar com
muitas opções de padrões de memória RAM, devido à busca constante por uma
memória de maior capacidade, maior velocidade de acesso, menor consumo de
energia e de tempo de realimentação.
Apresentamos alguns padrões de
memória RAM disponíveis mais utilizados atualmente:a) DDR (Double
Data Rate): duplicam o desempenho da memória, possibilitando a
transferência de dois lotes de dados – entre processador e memória – por ciclo
de clock.DDR-2: possibilitam a transferência de quatro lotes de dados
por ciclo de clock e apresentam menor consumo de energia que a
DDR original.b) DDR-3: transferem oito lotes de dados por ciclo de clock
e consomem ainda menos energia que sua versão anterior.
A memória RAM é comercializada
para uso nos computadores no formato de pentes ou módulos de memória, contendo
uma determinada quantidade desses recursos. Os pentes de memória podem variar
de acordo com as características apresentadas pela memória, especialmente
ligadas ao desempenho ou velocidade de transferência. Sendo assim, existem
diferentes modelos de módulos de memória disponíveis no mercado. Dentre os que
são utilizados atualmente, podem-se citar:a) Módulos SIMM (Single In
Line Memory Module): apresentam um pequeno orifício nas linhas de contato.
Foram utilizados em memórias FPM e EDO RAM. Não se encontram disponíveis no
mercado atualmente; b) Módulos DIMM (Double In Line Memory Module):
não apresentam orifícios nas linhas de contato e apresentam contatos em ambos
os lados do módulo. São utilizados atualmente em memórias DDR, DDR2 e DDR3. A
Figura.
Organização
da memória principal
Como a memória
principal é o local onde os dados e as instruções de um programa ficam
armazenados para serem utilizados pelo processador durante a sua execução, é
preciso ficar claro que esse conteúdo precisa estar organizado em uma
estrutura padrão que permita a identificação do local onde estão armazenados
cada um dos seus itens (ex.: uma instrução ou um dado).
Assim, a memória
principal encontra-se organizada em um conjunto de células, sendo que cada uma
delas representa o agrupamento de uma quantidade de bits. Cada célula
caracteriza uma unidade de armazenamento na memória e possui um endereço
único, o qual é utilizado pelo processador para acessar seu conteúdo. Portanto,
a célula é a menor unidade endereçável em um computador. Monteiro (2007)
complementa essa explicação afirmando que cada célula é constituída de um
conjunto de circuitos eletrônicos, baseados em semicondutores, que permitem o
armazenamento de valores 0 ou 1, os quais representam um dado ou uma instrução.
A quantidade de bits
que pode ser armazenada em uma célula é definida pelo fabricante. Uma
célula contendo N bits permite o armazenamento de 2N combinações de
valores, o que representará a quantidade de células possíveis na memória. Um
tamanho comum de célula adotado pelos fabricantes é 8 bits (1 byte).
Se for possível
armazenar em uma memória de 2N combinações possíveis de células (cada uma
delas contendo dados armazenados), então será possível calcular a capacidade
de armazenamento da memória principal, da seguinte forma: a) se N = 9 bits,
tem-se que 29 = 512 (células de memória);b) se cada célula pode
armazenar 8 bits, tem-se que: 512 x 8 = 4KB (4 quilo byte) de
espaço em memória.
Organização e
Arquitetura de Computadores e-Tec Brasil 52
O
acesso a cada posição (célula) de memória pode ser feito de modo aleatório,
proporcionando grande flexibilidade, graças à sua tecnologia de fabricação.
São duas as operações que podem ser realizadas em uma memória: escrita (write)
– para o armazenamento de dados na memória – e leitura (read) – para a
recuperação de dados e instruções armazenados na memória.
Pesquisem em sites da
internet por especificações de computadores que contenham cada um dos tipos de
memória apresentados acima. Se possível, copie a figura que representa o
equipamento e, logo em seguida, apresente suas características (nome, modelo,
ano de fabricação, tipo de memória que possui e quantidade). Esse conteúdo deve
ser postado em um blog a ser criado no AVEA.
O termo palavra também é
utilizado ao se tratar de memória de um computador, mas não deve ser
confundido com célula, pois palavra é utilizada para definir a unidade de
transferência e processamento e o número de bits que podem ser
transferidos entre a memória principal e a CPU para processamento. Acerca desse
tema, Monteiro (2007) afirma que a memória principal deve ser organizada em um
conjunto sequencial de palavras, cada uma diretamente acessível pelo
processador.
4.4.2 Memória
ROM
A memória ROM (Read Only
Memory) também é considerada uma memória principal, mas apresenta algumas
diferenças em relação à memória RAM. A primeira delas é o fato de ser uma
memória somente de leitura, ou seja, seu conteúdo é escrito uma vez e não é
mais alterado, apenas consultado. Outra característica das memórias ROM é que
elas são do tipo não voláteis, isto é, os dados gravados não são perdidos na
ausência de energia elétrica ao dispositivo.
É dito que um software que
é armazenado em uma memória ROM passa a ser chamado de firmware. Em um
computador existem diversos software desse tipo disponíveis em memórias
ROM, pois não podem ser apagados ao desligar o computador e devem ficar
disponíveis sempre que for necessário.
Dessa forma, as memórias ROM são
aplicadas em um computador para armazenar três programas principais (TORRES,
2010): a) BIOS (Basic Input Output System): ou Sistema Básico de
Entrada e Saída, é responsável por ensinar o processador da máquina a operar
com os dispositivos básicos de entrada e saída;
e-Tec Brasil Aula 4 –
Subsistema de memória 53 b) POST (Power On Self Test): Autoteste
– programa de verificação e teste que se executa após a ligação do computador,
realizando diversas ações sobre o hardware (ex.: contagem de memória);c)
SETUP: Programa que altera os parâmetros armazenados na memória de
configuração (CMOS).
De
acordo com Alecrim (2010), as memórias ROM podem ser classificadas em:a) PROM
(Programmable Read-Only Memory): este é um dos primeiros tipos de
memória ROM. A gravação de dados neste tipo é realizada por meio de aparelhos
que trabalham através de uma reação física com elementos elétricos. Uma vez que
isso ocorre, os dados gravados na memória PROM não podem ser apagados ou
alterados;b) EPROM (Erasable Programmable Read-Only Memory): as
memórias EPROM têm como principal característica a capacidade de permitir que
dados sejam regravados no dispositivo. Isso é feito com o auxílio de um
componente que emite luz ultravioleta. Nesse processo, os dados gravados
precisam ser apagados por completo. Somente após esse procedimento uma nova
gravação pode ser realizada;c) EEPROM (Electrically-Erasable
Programmable Read-Only Memory): este tipo de memória ROM também permite a
regravação de dados; no entanto, ao contrário do que acontece com as memórias
EPROM, os processos para apagar e gravar dados são feitos eletricamente,
fazendo com que não seja necessário mover o dispositivo de seu lugar para um
aparelho especial para que a regravação ocorra;d) EAROM (Electrically-Alterable
Programmable Read-Only Memory): as memórias EAROM podem ser vistas como um
tipo de EEPROM. Sua principal característica é o fato de que os dados gravados
podem ser alterados aos poucos, razão pela qual esse tipo é geralmente utilizado
em aplicações que exigem apenas reescrita parcial de informações;e) Flash:
as memórias Flash também podem ser vistas como um tipo de EEPROM; no
entanto, o processo de gravação (e regravação) é muito mais rápido. Além
disso, memórias Flash são mais duráveis e podem guardar um volume
elevado de dados. Trata-se do tipo de memória utilizada em pen-drive;f)
CD-ROM, DVD-ROM e afins: essa é uma categoria de discos ópticos onde os
dados são gravados apenas uma vez, seja de fábrica, como os CDs de músicas, ou com
dados próprios do usuário, quando este efetua a gravação.
A memória secundária também é
denominada de memória de massa, por possuir uma capacidade de armazenamento
muito superior à das outras memórias conforme discutido neste tópico. Outra
característica que difere a memória secundária das outras memórias é o fato de
ser permanente (não volátil), ou seja, não perde o conteúdo armazenado caso o
computador seja desligado. Por estar na base da pirâmide (Figura 4.1),
apresenta o menor custo por byte armazenado.
Este tipo de memória não possui
acesso direto pelo processador, sempre havendo a necessidade de carregamento de
dados dos dispositivos de memória secundária para a memória principal, para
que então sejam enviados ao processador.
Monte um arquivo com imagens de
memórias secundárias, seguidas da descrição de características de cada uma
delas (marca, modelo, capacidade de armazenamento, valor aproximado, aspectos
de velocidade (ex.: rpm, taxa de transferência). Esse arquivo deverá ser
postado como atividade no AVEA.
De acordo com Monteiro (2007), a
memória secundária pode ser constituída por diferentes tipos dispositivos,
alguns diretamente ligados ao sistema para acesso imediato (ex.: discos
rígidos) e outros que podem ser conectados quando desejado (ex.: pen-drive,
CD/DVD).
Em relação à tecnologia de
fabricação, existe uma variedade muito grande de tipos, assim como a variedade
de dispositivos que se enquadra nessa categoria de memória. Para cada
dispositivo, existem diferentes tecnologias de fabricação, não sendo possível
abordar todas nessa seção.
Nenhum comentário:
Postar um comentário