Blog Formação DEV

O que é hierarquia de memória

Nesse artigo vamos falar sobre a hierarquia de memória, uma forma de criar a ilusão de uma memória infinitamente rápida e com bom espaço infinito.
O que é hierarquia de memória
Texto de: Letícia Garcez

Introdução

Uma grande preocupação de quem utiliza computadores é a quantidade de memória que existe no computador. A máquina usa um HD ou um SSD? De quantos Gigabytes? E quanto tem de memória RAM? Essas são algumas perguntas que podem ser feitas caso você esteja planejando comprar um computador, e elas são de fato importantes já que a memória é algo essencial para o funcionamento da sua máquina.

Porém, neste artigo não vamos falar sobre quanto de memória uma máquina boa deve ter, mas sim sobre os tipos de memórias que existem no seu computador e as funções que elas desempenham.

O problema da memória

Nos dias de hoje a quantidade de memória que um dispositivo tem é uma preocupação muito grande, especialmente se considerarmos que o tamanho dos arquivos armazenados em um sistema computacional estão sempre aumentando.

Em um smartphone por exemplo, a memória costuma ser uma preocupação ainda maior já que é preciso instalar diversos aplicativos no dispositivo, além de armazenar fotos, vídeos, etc. e é comum que existam diferentes versões de um modelo de smarthphone com diferentes quantidades de armazenamento interno, sendo que você pode escolher a opção com a quantidade de memória que melhor se adapte ao seu uso, e é claro pagar por isso.

Idealmente, queremos que nossos sistemas computacionais possuam uma quantidade muito grande de uma memória muito rápida. Infelizmente, isso acaba sendo inviável já que, como você pode perceber por esses celulares que vem com diferentes quantidades de memória interna, a memória tem um preço.

Esse preço varia bastante de acordo com o tipo de memória em questão, mas para este artigo vamos pensar que existem apenas dois fatores relacionados a esse preço: a velocidade da memória e o tamanho da memória. Uma memória extremamente rápida é muito cara, e criar um dispositivo de armazenamento de 1 terabyte desse tipo de memória é completamente inviável. Porém, uma memória mais barata e que pode ser utilizada para um dispositivo de armazenamento de 1 terayte acaba sendo muito mais lenta, o que implica em dispositivos mais lentos.

Mas qual seria a solução para esse problema?

A solução

A solução encontrada para termos máquinas rápidas e com muito armazenamento foi combinar o uso de difernetes tipos de memórias. Memórias rápidas e caras são utilizadas em pequenas quantidades enquanto memórias lentas e baratas são usadas em grandes quantidades.

Muitas pessoas estão trocando o dispositivo de armazenamento primário das suas máquinas de um HD para um SSD, e aqui podemos ver claramente os dois fatores que mencionei anteriomente em jogo. Um HD é mais lento que um SSD, mas é mais barato e tem mais espaço de armazenamento, enquanto um SSD é mais caro, mais rápido e tem menos armazenamento.

Uma solução que algumas pessoas utilizam para não ter que lidar com um custo muito alto na hora de montar um computador com muito armazenamento é comprar HDs para armazenar arquivos que não serão usados com muita frequência, e colocar as coisas acessadas com mais frequência e o sistema operacional em um SSD.

Essa solução, nada mais é do que combinar diferentes tipos de memória para tentar se aproximar da memória ideal (muito rápida e com muito espaço). Claro que com o avanço das tecnologias as memórias tendem a se tornarem mais rápidas e terem mais espaço, mas conforme a tecnologia das memórias avança, avançam também os outros componentes computacionais, fazendo com que sempre seja necessário fazer essa combinação das memórias existentes no sistema.

Hierarquia de memória

Formalmente, organizamos as memórias existentes em um combutador na forma de uma pirâmide. No topo da pirâmide, temos as memórias mais rápidas e mais caras, que consequentemente serão utilizadas em menos quantidade. Já na base da pirâmide temos as memórias mais lentas e mais mais baratas, que costumam ser vistas em maior frequência nos sistemas computacionais.

Exstem varias representações diferentes dessa pirâmide e vou deixar uma aqui como exemplo:

No topo da pirâmite, temos os registradores. Esse tipo de memória fica diretamente dentro da CPU (Processador) do computador e existe em uma quantidade muito pequena. Depois, temos a memória Cache, que é responsável por armazenar informações que são utilizadas com frequência pelo processador. Esse tipo de memória costumava se encontrar fisicamente muito perto do processador e em alguns casos é possível encontrar esse tipo de memória até dentro da própria CPU.

Depois da memória Cache, temos a memória primária que é a memória RAM, e então a memória secundária que pode ser um HD, um SSD ou outros elementos de armazenamento similares.

Se você pesquisar pelo conceito de pirâmide de memória, você vai encontrar alguns exemplos de uma pirâmide com mais níveis, como dispositivos de fita magnética e discos óticos que atualmente não são mais usados e por isso não os adicionei na representação.

Utilizando esses diferentes tipos de memória, podemos criar a ilusão da memória ideal fazendo com que dados sejam armazenados no nível de hierarquia mais adequado e movendo esses dados de nível conforme a necessidade, mais ou menos como fazemos quando movemos um arquivo que vamos acessar com frequência de um HD para o SSD da máquina. Felizmente, todo esse processo é gerenciado pelo sistema operacional e não precisamos nos preocupar com isso.

Considerações finais

Neste artigo falamos um pouquinho sobre os diferentes tipos de memórias que existem em um computador e porque existe a necessidade de termos esses diferentes tipos de memórias na máquina.

Bons estudos!

Sobre o autor
Cod3r

Cod3r

Com mais de 400 mil alunos, a Cod3r é uma das principais escolas de tecnologia do País. Um de seus produtos mais importantes é a Formação DEV, com objetivo de preparar os profissionais para o mercado.

Ótimo! Inscreveu-se com sucesso.

Bem-vindo de volta! Registou-se com sucesso.

Assinou com sucesso o Blog Formação DEV .

Sucesso! Verifique o seu e-mail para obter o link mágico para se inscrever.

As suas informações de pagamento foram atualizadas.

Seu pagamento não foi atualizado.