Memória



next up previous contents
Next: CPU Up: O Hardware Previous: O Hardware

Memória

É na memória do computador que a informação e as instruções são armazenadas. A memória de um computador é dividida em pequenas unidades chamadas palavras, sendo cada palavra identificada por um endereço. Vamos considerar dois tipos de memória:

É na memória principal (normalmente referida apenas como memória) que se encontra o programa a executar no momento, bem como os dados necessários à sua execução e os resultados da mesma. Dado que podemos aceder directamente a cada uma das palavras de memória - tanto para leitura como para escrita-, é chamada de memória RAM (Random Access Memory - Memória de Acesso Aleatótrio)gif. A memória principal é rápidagif e, por isso, cara, pelo que é normalmente um recurso escasso do sistema.

A memória secundária é mais barata mas mais lenta, sendo utilizada para armazenar informação por longos períodos de tempo. No caso da memória secundária, existem dispositivos que permitem acesso directo a um dado endereço (disco rígido, ...) e outros que apenas permitem um acesso sequêncial (banda magnética, ...). Quer devido ao seu preço quer à sua função, a quantidade de memória secundária existente num sistema é sempre muitas vezes superior à quantidade de memória central.

O armazenamento de informação na memória é baseado no sistema binário e não no decimal. Enquanto no sistema decimal temos dez dígitos (0 a 9) para representar qualquer número, no sistema binário temos apenas dois (0 e 1). O sistema binário, tal como o decimal, é um sistema posicional. Quer isto dizer que o valor de um dígito é determinado pela sua posição no número.

No sistema decimal o número 1951 tem a seguinte interpretação:

Note-se que o dígito 1 tem interpretações diferentes nas suas duas ocorrências, na primeira indica uma contribuição de mil e na segunda de um.

Generalizando, podemos dizer que a interpretação do número abcd num sistema de base n (com n dígitos) é dada por:

No sistema binário temos n igual a dois e assim o número 110101 representa:

Como vimos no exemplo anterior, no sistema binário cada dígito pode tomar o valor zero ou um. A cada dígito chamamos bit (binary digit). Ao conjunto de oito bits chamamos byte. A 1024 bytes chamamos 1 Kilobyte (ou 1K) e a 1024K chamamos 1 Megabyte ou (1M). É fácil verificar que o número de bits que compoem a palavra de memória (isto é, o tamanho da palavra) determina qual o maior número que se pode respresentar/guardar na memória.

A representação de informação na memória é, no entanto, mais complicada do que o descrito. Por um lado não queremos representar apenas números mas também letras. Para resolver este problema recorre-se à utilização de códigos, a cada letra é associado um número e é esse número que é armazenado na memória. Um dos códigos mais utilizados é o ASCII, neste, ao caracter 'A' corresponde o código 65, a 'B' o 66, etc., ao 'a' o código 97, ao 'b' o 98, etc. Por outro lado, queremos também armazenar números negativos. Neste caso, podemos reservar um bit (normalmente o mais à esquerda) para funcionar como sinal, o número será considerado positivo ou negativo dependendo do valor desse bit. Consideremos uma palavra de oito bits, segundo o critério anterior o número 00000011 corresponde a 3 (verifique) e 10000011 a -3.

Até agora falamos apenas em números inteiros, existe ainda o problema da representação de números reais. Este, pode resolver-se considerando que qualquer número real se pode escrever na forma e utilizando a palavra de memória para guardar os números m e e que são inteiros. Assim, o número = será representado armazenando em memória os números 35 e 1.



next up previous contents
Next: CPU Up: O Hardware Previous: O Hardware



Jose Franscisco Creissac Campos
Wed Jan 31 22:03:31 MET 1996