Memórias: Uma visão geral sobre dispositivos de armazenamento

5
- 1 - MEMÓRIAS: UMA VISÃO GERAL SOBRE DISPOSTIVOS DE ARMAZENAMENTO Bruno Machado da Silva ¹ Jerônimo Medina Madruga ² Mateus Vilar do Santos ³ Resumo Nesse trabalho visamos obter uma visão geral sobre os conceitos de memória, o dispositivo responsável por armazenar dados em sistemas computadorizados, desde os tipos de memória, as diferenças entre RAM e ROM, as tecnologias de construção, a hierarquia de memórias e abordar também o funcionamento de uma memória hipotética. Com isso, visamos aprofundar nossas bases cientificas sobre um dos elementos mais importantes na área da computação e por assim ser aprimorar nossos conhecimentos acadêmicos na área. Introdução A memória em um sistema computadorizado tem uma função vital: guardar as informações que deverão ser lidas pelo processador, como dados ou instruções a serem executadas. Por isso, a quantidade de memória em um sistema pode determinar o tamanho das aplicações que poderão ser executadas nesse sistema, além de a velocidade de acesso as memórias influenciar diretamente no desempenho do computador. Por isso a uma constante evolução nas tecnologias empregadas para a implementação de memórias, melhorando a velocidade de acesso e capacidade de armazenamento, além do desenvolvimento de técnicas de software que visa aproveitar o máximo o recurso oferecido pelas memórias, como os conceitos de localidade temporal e de localidade espacial, que serão discutidos nos tópicos a seguir. Tipologia de memória Podemos utilizar diversos critérios para classificar as memórias, mas o mais interessante para nossa análise usa como referência o tipo de endereçamento das memórias, classificando-as em duas categorias: - Memórias primárias: são memórias que o processador pode endereçar diretamente, sendo vitais para a operação do computador. Elas geralmente atuam como uma ponte para as secundárias, mas a sua função principal é a de conter a informação necessária para o 1 – Bacharelando em Ciência da Computação; Universidade Federal de Pelotas. Contato: [email protected] 2 – Bacharelando em Ciência da Computação; Universidade Federal de Pelotas - Tecnólogo em sistemas de telecomunicações; Centro de educação Tecnológica de Pelotas. Contato: [email protected] 3 – Bacharelando em Ciência da Computação; Universidade federal de Pelotas. Contato: [email protected]

Transcript of Memórias: Uma visão geral sobre dispositivos de armazenamento

Page 1: Memórias: Uma visão geral sobre dispositivos de armazenamento

- 1 -

MEMÓRIAS: UMA VISÃO GERAL SOBRE DISPOSTIVOS DE

ARMAZENAMENTO

Bruno Machado da Silva ¹

Jerônimo Medina Madruga ²

Mateus Vilar do Santos ³

Resumo

Nesse trabalho visamos obter uma visão geral sobre os conceitos de memória, o

dispositivo responsável por armazenar dados em sistemas computadorizados, desde os tipos

de memória, as diferenças entre RAM e ROM, as tecnologias de construção, a hierarquia de

memórias e abordar também o funcionamento de uma memória hipotética. Com isso, visamos

aprofundar nossas bases cientificas sobre um dos elementos mais importantes na área da

computação e por assim ser aprimorar nossos conhecimentos acadêmicos na área.

Introdução

A memória em um sistema computadorizado tem uma função vital: guardar as

informações que deverão ser lidas pelo processador, como dados ou instruções a serem

executadas. Por isso, a quantidade de memória em um sistema pode determinar o tamanho

das aplicações que poderão ser executadas nesse sistema, além de a velocidade de acesso as

memórias influenciar diretamente no desempenho do computador. Por isso a uma constante

evolução nas tecnologias empregadas para a implementação de memórias, melhorando a

velocidade de acesso e capacidade de armazenamento, além do desenvolvimento de técnicas

de software que visa aproveitar o máximo o recurso oferecido pelas memórias, como os

conceitos de localidade temporal e de localidade espacial, que serão discutidos nos tópicos a

seguir.

Tipologia de memória

Podemos utilizar diversos critérios para classificar as memórias, mas o mais

interessante para nossa análise usa como referência o tipo de endereçamento das memórias,

classificando-as em duas categorias:

- Memórias primárias: são memórias que o processador pode endereçar diretamente,

sendo vitais para a operação do computador. Elas geralmente atuam como uma ponte para as

secundárias, mas a sua função principal é a de conter a informação necessária para o

1 – Bacharelando em Ciência da Computação; Universidade Federal de Pelotas. Contato: [email protected] – Bacharelando em Ciência da Computação; Universidade Federal de Pelotas - Tecnólogo em sistemas de telecomunicações; Centro de educação Tecnológica de Pelotas. Contato: [email protected] 3 – Bacharelando em Ciência da Computação; Universidade federal de Pelotas. Contato: [email protected]

Page 2: Memórias: Uma visão geral sobre dispositivos de armazenamento

- 2 -

processador num determinado momento, como os programas em execução em uma estação

de trabalho. Nesta categoria estão a memória RAM e memória ROM.

- Memórias secundárias: memórias que não podem ser endereçadas diretamente,

sendo assim a informação precisa ser carregada na memória primária antes de poder ser

acessada pelo processador. Não são estritamente necessárias para a operação do computador

e são, geralmente não-voláteis, permitindo guardar os dados permanentemente. Incluem-se,

nesta categoria, os discos rígidos, mídias ópticas e disquetes.

Memória ROM X Memória RAM

Apesar de as memórias ROM e as memórias RAM serem classificadas como memórias

primarias, existem diversas diferenças tanto na tecnologia empregada na construção das

memórias quanto no funcionamento delas, o que nos leva a fazer uma classificação bem

distinta entre elas como pode ser visto a seguir:

Memória ROM: ROM é a sigla para Read Only Memory (memória somente de leitura).

Pelo nome, é possível perceber que esse tipo de memória só permite leitura, ou seja, suas

informações são gravadas pelo fabricante uma única vez e após isso não podem ser alteradas.

Mas esse conceito já está ficando desatualizado, se observarmos os tipos de memória ROM

que serão citados a seguir:

- PROM (Programmable Read Only Memory) - um dos primeiros tipos de memória

ROM, o PROM tem sua gravação feita por aparelhos especiais que trabalham através de uma

reação física com elementos elétricos. Os dados gravados na memória PROM não podem ser

apagados ou alterados.

- EPROM (Electrically Programmable Read Only Memory) - esse é um tipo de memória

ROM geralmente usado para armazenar a BIOS do computador. A tecnologia EPROM permite

a regravação de seu conteúdo através de equipamentos especiais.

- EAROM (Electrically Alterable Read Only Memory) - são memórias similares à

EPROM (também conhecidas como EEPROM ou E2PROM). Seu conteúdo pode ser apagado

aplicando-se uma voltagem específica aos pinos de programação.

Um fato importante a ser citado é que, atualmente, usa-se um tipo diferente de

memória ROM. Trata-se da FlashROM, um tipo de chip de memória para BIOS de computador

que permite que esta seja atualizada através de softwares apropriados. A tecnologia flash

utilizada na fabricação da FlashROM tem como vantagem sobre a EEPROM a velocidade de

acesso mais rápido, já que esse tipo de tecnologia não endereça byte a byte a memória (como

ocorre nos tipos mais primitivos de ROM), mas sim em blocos de tamanho variado, o que

permite uma velocidade de acesso muito maior.

1 – Bacharelando em Ciência da Computação; Universidade Federal de Pelotas. Contato: [email protected] – Bacharelando em Ciência da Computação; Universidade Federal de Pelotas - Tecnólogo em sistemas de telecomunicações; Centro de educação Tecnológica de Pelotas. Contato: [email protected] 3 – Bacharelando em Ciência da Computação; Universidade federal de Pelotas. Contato: [email protected]

Page 3: Memórias: Uma visão geral sobre dispositivos de armazenamento

- 3 -

Memória RAM: RAM é a sigla para Random Access Memory (memória de acesso

aleatório). Este tipo de memória permite tanto a leitura como a gravação e regravação de

dados. No entanto, assim que elas deixam de ser alimentadas eletricamente, ou seja, quando o

usuário desliga o computador, a memória RAM perde todos os seus dados. Basicamente

existem 2 tipos de memória RAM: estáticas e dinâmicas e as veremos a seguir:

- DRAM (Dynamic Random Access Memory): são as memórias do tipo dinâmico e

geralmente são armazenadas em cápsulas CMOS (Complementary Metal Oxide

Semiconductor). Memórias desse tipo possuem capacidade alta, isto é, podem comportar

grandes quantidades de dados. No entanto, o acesso a essas informações costuma ser mais

lento que o acesso à memórias estáticas. As memórias do tipo DRAM costumam ter preços

bem menores que as memórias do tipo estático. Isso ocorre porque sua estruturação é menos

complexa, ou seja, utiliza uma tecnologia mais simples.

- SRAM (Static Random Access Memory): são memórias do tipo estático. São muito

mais rápidas que as memórias DRAM, porém armazenam menos dados e possuem preço

elevado se compararmos o custo por MB. As memórias SRAM costumam ser usadas em chips

de cache.

Hierarquia de Memória

A velocidade dos dispositivos de memória pode variar, de acordo com a tecnologia

utilizada em sua implantação. Infelizmente, quanto mais rápida a memória, maior seu custo, o

que impede que a memória primária seja integralmente implementada com módulos tão rápidos

quanto o processador. Existem também limitações de natureza tecnológica, especialmente o

consumo de energia e o calor emitido pela memória rápida.

Para impedir que a memória primária se torne um gargalo no desempenho do sistema,

uma hierarquia de memória é criada, em que diversas tecnologias de memória são associadas.

Os tipos de memória mais rápidos do computador são os registradores do CPU, que

servem desde armazenar endereços da instrução sendo executada ao armazenamento até

manipulação de dados para propósitos gerais. No entanto esse tipo de memória tem uma

capacidade de armazenamento baixíssima e um custo altíssimo.

A segunda mais rápida é a memória cache, que é tão veloz quanto o processador. A

memória cache é de tamanho limitado, e contém páginas que são lidas da memória principal. O

conceito de cache se aproveita do fenômeno da localidade espacial (que consiste em assumir

que normalmente quando um endereço de memória é acessado, os endereços vizinhos serão

acessados em seguida).

A memória principal é bem maior que a cache, normalmente entre algumas dezenas de

megabytes até alguns gigabytes. Ela é mais lenta que o processador, e pode se tornar um sério

impedimento ao desempenho do computador na ausência da memória cache, ou em algoritmos

em que não há localidade espacial.

1 – Bacharelando em Ciência da Computação; Universidade Federal de Pelotas. Contato: [email protected] – Bacharelando em Ciência da Computação; Universidade Federal de Pelotas - Tecnólogo em sistemas de telecomunicações; Centro de educação Tecnológica de Pelotas. Contato: [email protected] 3 – Bacharelando em Ciência da Computação; Universidade federal de Pelotas. Contato: [email protected]

Page 4: Memórias: Uma visão geral sobre dispositivos de armazenamento

- 4 -

Finalmente, a memória virtual é implementada na memória secundária. Embora seu

tamanho seja limitado apenas pela capacidade de endereçamento do processador (podendo

atingir vários gigabytes), ela chega a ser 1.000.000 de vezes mais lenta que a memória

principal. Para que o computador tenha um desempenho aceitável, é preciso que as

transferências de páginas entre a memória principal e a virtual sejam bastante raras, pois o

tempo perdido em uma dessas transferências seria suficiente para executar milhões de

instruções.

Esse pode ser descrito como um esquema simplificado da arquitetura de memória,

visto que nos computadores atuais já podemos encontrar diversos níveis de cache ou ainda

vários caches especializados.

Tecnologias de Implementação de memória

As principais tecnologias de implementação de memórias utilizadas atualmente são:

- Portas lógicas e flip-flops, usados na implementação da memória cache.

- Transistores e circuitos de refrescamento, usados na implementação da memória

principal.

- Arranjos de conexões, utilizados na implementação de certas ROMs.

- Fitas magnéticas, utilizadas principalmente para cópias de segurança e arquivamento

a longo prazo.

- Discos magnéticos, como discos rígidos e disquetes, a principal tecnologia de

implementação de memória secundária.

- Discos ópticos, como CDs e DVDs, e suas diversas variações.

- Memória flash, um tipo de memória semicondutora não volátil muito usada em

câmeras digitais, leitores de MP3 e na BIOS do pc.

Existem também tecnologias que foram usadas no passado, mas tornaram-se

obsoletas:

- Memórias de tecnologia delay line, uma das primeiras tecnologias de memória

principal, que armazenavam os dados na forma de pulsos sonoros em uma coluna de mercúrio.

- Memórias CRT, também chamadas de Williams-tube, um tipo de memória que usava

um tubo CRT para armazenar dados na forma de pontos luminosos.

- Memórias de núcleo de ferrite, uma tecnologia popular de implementação da memória

principal nas décadas de 1940 e 1950.

- Memórias de filme fino, uma melhoria da tecnologia de núcleo de ferrite, utilizada em

alguns computadores na década de 1960.

- Cartões e fitas perfuradas, que já foram os principais meios de memória não-volátil.

1 – Bacharelando em Ciência da Computação; Universidade Federal de Pelotas. Contato: [email protected] – Bacharelando em Ciência da Computação; Universidade Federal de Pelotas - Tecnólogo em sistemas de telecomunicações; Centro de educação Tecnológica de Pelotas. Contato: [email protected] 3 – Bacharelando em Ciência da Computação; Universidade federal de Pelotas. Contato: [email protected]

Page 5: Memórias: Uma visão geral sobre dispositivos de armazenamento

- 5 -

Funcionamento de uma memória

Apesar das diversas tecnologias que podem ser utilizadas para implementar uma

memória, o funcionamento lógico das memórias costuma não variar muito. Normalmente as

memórias são diversas células de memória interligadas entre si, visando obter a quantidade

necessária de memória para o sistema em questão. Essas várias células de memória serão

organizadas de uma forma semelhante a uma matriz, formando um sistema com linhas e

colunas.

Visto que nenhum sistema computadorizado tem a capacidade de ler todas as posições

de memória ao mesmo tempo, foi necessário a implementação de um sistema de endereços

para referenciar cada posição de memória individualmente. Esse sistema consiste em

endereçar uma célula de memória de acordo com a linha e a coluna em que ela se encontra,

possibilitam assim que cada célula de memória seja lida individualmente.

Normalmente para implementar esse tipo de estrutura, é necessário um decodificador

de endereços, um barramento de endereços, e uma estrutura de seleção que pode ser

implementada na célula de memória através de portas lógicas.

Além de ser necessário esse sistema para endereçar a memória, também é necessário

um sistema para verificar se a operação é de leitura ou escritura, que pode ser representado

simplesmente por um sinal de controle de leitura e uma estrutura de seleção de operação a ser

realizada, que é implementada na maioria das vezes utilizando algumas portas lógicas e um

buffer na saída da memória, o que também facilita para a criação de um barramento de dados,

visto que o buffer adiciona a opção do terceiro estado para a saída da memória.

Referências bibliográficas

http://eden.dei.uc.pt/~ctp/papers.htm

http://paginas.terra.com.br/servicos/monografiaabnt/metodologia.htm

http://pt.wikipedia.org/wiki/Computador

http://www.infowester.com/memddr.php

http://www.virtual.pucminas.br/CIETE/e0m0006b/informacao.htm

http://www.ufpel.edu.br/%7Eguntzel/AOC2/AOC2_aula12.pdf

http://computer.howstuffworks.com/computer-memory.htm

http://en.wikipedia.org/wiki/Computer_storage

Raul Fernando Weber, Fundamento de Arquitetura de Computadores.

David A. Patterson, et alli., Organização e Projeto de Computadores.

1 – Bacharelando em Ciência da Computação; Universidade Federal de Pelotas. Contato: [email protected] – Bacharelando em Ciência da Computação; Universidade Federal de Pelotas - Tecnólogo em sistemas de telecomunicações; Centro de educação Tecnológica de Pelotas. Contato: [email protected] 3 – Bacharelando em Ciência da Computação; Universidade federal de Pelotas. Contato: [email protected]