Escolar Documentos
Profissional Documentos
Cultura Documentos
Hierarquias de memória
No módulo anterior, foi explicado o que é memória cache. Ela é composta por
tecnologia SRAM conectada diretamente ao núcleo do processador pelo
barramento local do processador. Portanto, o seu tempo de acesso é menor do
que o da memória principal, que emprega tecnologia DRAM, e não é ligada
diretamente ao processador. A comunicação entre a memória principal e o
processador é realizada via memória cache. Um dado deve ser lido na memória
principal apenas quando não estiver disponível na cache. E, como a cache é mais
rápida, a probabilidade de o processador acessar um dado já presente na cache (
cache hit ) deve ser maior do que a probabilidade de o dado precisar ser buscado
na memória principal ( cache miss ). O princípio da localidade é uma boa heurística
para otimizar a probabilidade de acerto.
Apesar de mais lenta, a DRAM possui um custo por bit inferior à SRAM,
portanto a memória principal possui maior capacidade de
armazenamento do que a memória cache. Temos então o dilema entre
custo e desempenho resolvido da seguinte forma: memórias mais
rápidas e caras disponíveis em menor quantidade devem ter maior
probabilidade de acesso do que as memórias mais lentas e mais baratas.
Esse raciocínio é extendido para diversos tipos de memórias, como
mostrado na figura abaixo.
A maior parte dos meios de memória secundária atualmente é não volátil, ou seja,
mantém os dados gravados até que um usuário apague estes dados. Devemos ter
cuidado em usar o termo “permanente” ao se tratar de meios de armazenamento,
pois nenhum meio de armazenamento atual consegue garantir a preservação dos
dados após um período de alguns anos.
Discos magnéticos
O disco magnético é o meio mais comum de armazenamento atualmente. Isso se
deve ao fato de que o disco hoje é o que fornece melhor relação custo benefício.
Isto talvez mude no futuro próximo, graças à popularização dos discos de estado
sólido (SSD – Solid State Disk) baseados em memória flash. Ainda possuem
pouca capacidade se comparados aos terabytes que um disco magnético possui,
mas com o aumento de capacidade e barateamento destes tipos de dispositivo,
em breve ele poderá superar o disco magnético em popularidade.
Como podemos ver na imagem acima, o disco magnético é composto por discos e
braços de acesso, além de motores responsáveis por girar os discos e movimentar
o braço de acesso.
Área esta que é coberta por um material magnético que é pode ser sensibilizado
pelo campo gerado pela cabeça de leitura. Dependendo da direção em que
estiverem direcionadas estas partículas, elas podem simbolizar um bit 0 ou um bit
1.
Cada superfície de cada disco possui uma cabeça de leitura e gravação própria.
Como todos os braços de todas as cabeças de leitura e gravação se movimentam
ao mesmo tempo, quando a cabeça de leitura da primeira superfície estiver sobre
a trilha n, todas as cabeças de leitura estarão sobre as trilhas n de suas
respectivas superfícies.
A este conjunto de trilhas que pode acessada sem que seja necessário
movimentar a cabeça de leitura e gravação se dá o nome de cilindro.
Conjuntos de caracteres
É claro que os computadores têm que lidar com todo tipo de informações, e não
apenas números, mas como veremos na seção sobre circuitos digitais, o
computador só consegue de fato lidar com valores binários.
A solução para permitir que os computadores consigam lidar com informações não
numéricas é a criação de tabelas de conversão. Estas tabelas são chamadas de
conjuntos de caracteres.
O ASCII usa sete bits para descrever os caracteres, o que permite 128
combinações.
Conforme podemos perceber, este padrão é bastante limitado, ele contém apenas
os caracteres da língua inglesa, não contém os acentos necessários par ao
português e nem podemos começar a pensar nos idiomas que usam alfabetos
diferentes como o russo ou o árabe.
Por este motivo, foi criado outro padrão, chamado UNICODE, patrocinado por um
grupo de empresas. O UNICODE usa 16 bits para descrever cada caractere, o que
permite até 65.536 caracteres diferentes.
O padrão UNICODE hoje cobre cerca de 75 alfabetos. Além dos caracteres latinos,
são suportados cirílico, grego, armênio, hebraico, devanágari, gurmuqui, oriá,
telugu e kanada, entre outros.