Sunteți pe pagina 1din 6

Arq3 http://www.di.ufpb.br/raimundo/ArqDI/Arq3.

htm

II.2 - A MEMÓRIA INTERNA

O bloco de memória (RAM) mostrado imediatamente à direita da CPU na Figura 2 é usado para armazenar
informações. Funcionalmente, a memória pode conter dois tipos de informações: programas e dados. Um
programa é uma sequência de instruções que depois de codificada na forma binária pode residir numa
memória eletrônica. Programas e dados são tratados de modos diferentes.

O programa especifica a sequência de passos a serem executados pelo computador. Sob a supervisão da
Unidade de Controle, cada uma das sucessivas instruções do programa é acessada e depositada num
registrador especial da Unidade de Controle, onde é decodificada e executada. Um exemplo típico de
instrução seria "adicionar os conteúdos de dois registradores e armazenar num terceiro registrador".

Os dados armazenados na memória são processados pela ULA. Os dados podem ter uma variedade de
formatos. Em geral, dados são números ou caracteres representados no sistema binário.

O termo Memória usualmente designa vários tipos de memória e dois tipos são sempre mais usados:
memória principal e memória de massa (ou secundária).

A memória principal é usada para armazenar o programa que está sendo executado e os dados
requisitados ou gerados pela sua execução. Este tipo de memória deve ser rápida (para não retardar a
CPU) e é relativamente cara. Exemplos típicos de tecnologias de dispositivos de memória principal são o
circuito integrado VLSI e o núcleo de ferrite magnetizável (usado nas primeiras gerações). Nos
dispositivos VLSI, a tecnologia MOS (Metal Oxide Semiconductor) é geralmente usada. O ciclo de
memória (tempo de resposta) é medido na ordem de centenas de nanossegundos: 50 a 70 ns, onde

  1 ns = 10-9 s.

O tamanho máximo (capacidade) de uma memória principal é limitada pelo custo e pela capacidade de
endereçamento da CPU; por isso, uma forma de memória de maior capacidade e mais econômica (memória
de massa ou secundária) é usualmente exigida.

A memória de massa é usada para armazenar programas e dados, ou porções deles, que não são
imediatamente solicitados pela CPU ou simplesmente não podem ser acomodados na memória principal. O
acesso à memória de massa torna mais lento o computador, especialmente se acessos frequentes são
solicitados. Idealmente um programa é armazenado na memória de massa para armazenamento
permanente e carregado na memória principal para sua execução. Exemplos típicos de dispositivos de
memória de massa, também chamados periféricos de armazenamentos, são os discos, cassetes e fitas
magnéticas.

1 de 6 14/05/18, 13:25
Arq3 http://www.di.ufpb.br/raimundo/ArqDI/Arq3.htm

Há dois tipos de memória interna: ROM, memória somente para leitura (read only memory), e RAM,
memória para leitura e escrita. Originalmente, RAM (random access memory) significava memória de
acesso aleatório, expressão de sentido impreciso não mais empregada; a sigla, no entanto, permaneceu, e
é de uso comum. A ROM abriga instruções que não podem ser alteradas. A RAM armazena programas e
informações apenas enquanto o computador estiver operando. Quando este for desligado, a RAM se
apaga.

Cada chip de memória mantém suas informações na forma de dígitos binários, ou bits, codificados como
cargas elétricas. Essas cargas são armazenadas em cada chip, em locações particulares ou enderêços.
Cada enderêço encontra-se também sob a forma binária. As instruções saem da CPU como uma série de
pulsos elétricos codificados para encontrar um determinado enderêço; a informação aí encontrada
retorna - também sob a forma de pulsos codificados - à CPU, para processamento. Os códigos de
enderêço viajam em fios paralelos, chamados barramento de enderêços; a informação retorna à CPU
também por fios paralelos, chamados barramento de dados. O decodificador de enderêços ajuda a dirigir
os pulsos elétricos aos seus destinos.

A placa do sistema também inclui portas (E/S) para conectar os periféricos (dispositivos de entrada e
saída).

ACESSO À MEMÓRIA

Uma memória é logicamente organizada em palavras. Uma palavra é uma unidade lógica de informação
consistindo de um número de bits (digamos 4, 8, l6, 32 ou 64 bits; lembre-se de que um bit é um dígito
binário que toma o valor 0 ou l). Um microprocessador pode requisitar dados de 8 bits. Nesse caso, o
tamanho normal da palavra para um microprocessador de 8 bits é, portanto, oito bits; isto é, a memória
para um microprocessador de 8 bits é logicamente estruturada em palavras de 8 bits. Há
microprocessadores, como o Pentium, que podem requisitar dados de 64 bits e aí, a memória para esse
microprocessador deve ser logicamente organizada em palavras de 64 bits.

O agrupamento de 8 bits é chamado byte; o agrupamento de 4 bits é chamado de nibble. O tamanho da


palavra para um microprocessador de 8 bits é, portanto, um byte. Semelhantemente, para um processador
de 64 bits, é necessária uma palavra de memória com comprimento de oito bytes.

A organização lógica de um módulo de memória é mostrada na Figura 3. Agora a estudaremos em mais


detalhes. A largura de uma memória é um número de bits que podem ser acessados simultaneamente, isto
é, o tamanho da sua palavra (neste exemplo, de um byte). Os bits são normalmente numerados de 0 a n.
No caso de um microprocessador de 8 bits (que é usado como nosso microprocessador padrão neste
texto), a posição de um bit na memória será, portanto, referenciado por um dígito de 0 a 7. Cada dígito de
0 a 7 representa a posição binária do bit na palavra.
.

2 de 6 14/05/18, 13:25
Arq3 http://www.di.ufpb.br/raimundo/ArqDI/Arq3.htm

                  Figura 3 - Organização Lógica da Memória Principal para um microprocessador de


8 bits

No sistema binário, o dígito mais à direita (bit 0) representa a potência 0 de dois; o próximo bit à
esquerda, bit 1, representa a potência l de 2, e assim por diante. Isto porque as posições dos bits são
usualmente numeradas de 0 a 7 em vez de l a 8, e também porque eles são numerados da direita para a
esquerda em vez de ser da esquerda para a direita.

A capacidade, ou tamanho, de uma memória é o número de palavras que ela contém. A posição de uma
palavra dentro da memória é tida como o seu endereço. A primeira palavra da memória tem o endereço 0,
a próxima palavra tem o endereço l, e assim por diante. Por razões de eficiência na decodificação, o
tamanho da memória é normalmente uma potência de dois, por exemplo, 256, 5l2, 1K, 2k, 4k ou mais
palavras.

Para ler o conteúdo de uma palavra de memória é necessário especificar o seu endereço. Cada módulo de
memória é por isso conectado ao Barramento de Endereço. Um Barramento de Endereço típico, no nosso
computador didático, é formado por l6 linhas de tal modo que ele possa especificar até 64 K (2 elevado a
potência l6) posições de memória. Se a capacidade real da memória é menor do que 64 K, menos linhas de
endereçamento podem ser usadas.

Para referenciar uma palavra na memória, uma configuração de bits especificando o endereço da palavra
desejada na memória é enviada pelo Barramento de Endereço. Os bits vindos do Barramento de Enderêço
são ligados a um Decodificador dentro do chip de memória. O decodificador seleciona a palavra no
endereço especificado na memória. Em resposta a um sinal de controle, tal como ESCREVA (WRITE) para
uma operação de ESCRITA (GRAVAÇÃO), é produzida a gravação do dado vindo do Barramento de Dados
na palavra de memória selecionada. No caso de uma operação de LEITURA (READ), uma palavra de

3 de 6 14/05/18, 13:25
Arq3 http://www.di.ufpb.br/raimundo/ArqDI/Arq3.htm

memória é lida e o seu conteúdo é colocado no Barramento de Dados. Após um certo TEMPO DE ACESSO,
o dado se torna disponível nos oito pinos de saída do chip de memória (as palavras têm 8 bits de
comprimento no nosso exemplo). Esses 8 pinos estão conectados ao Barramento de Dados.

Uma questão lógica aqui poderia ser: por que há apenas 8 bits de dados vindos da memória se ela recebe
16 bits de endereçamento? Este é um importante ponto a ser esclarecido. Não há nenhum relacionamento
direto entre o número de bits vindos da memória com o dado e o número de bits de endereçamento que
chegam. Os bits de endereçamento especificam uma posição na memória e são usados para selecionar
locações de uma palavra através de decodificadores especiais. A palavra de dado correspondendo à
posição selecionada pode ser de comprimento arbitrário, de l a p bits. Por exemplo, um chip de pequena
memória poderia conter 64 palavras x 8 bits. Neste caso, o Barramento de Endereço exigido para
selecionar uma palavra nesta memória poderia ser formado por apenas 6 linhas (64 = 2 elevado à potência
6). Entretanto, para cada um dos 64 endereços especificados que poderiam vir neste Barramento de
Endereço reduzido, poderia-se ter ainda dados de 8 bits saindo da memória durante uma operação de
leitura. Se a memória tivesse uma capacidade bem maior, digamos 64 K locações, l6 bits de
endereçamento seriam exigidos, apesar do dado a ser extraído do Barramento de Dados ou a ser para ele
transferido, ser formado ainda por 8 bits no nosso exemplo.

Vamos revisar a sequência para uma operação de ESCRITA (WRITE). Um endereço é especificado no
Barramento de Endereço e o dado é colocado no Barramento de Dados. Uma ordem, ESCREVA (WRITE), é
enviada à memória através do Barramento de Controle, e a memória escreve o dado que está no
Barramento de Dados (8 bits no nosso exemplo) na locação de memória especificada. O tempo requerido
para escrever o dado na memória é chamado CICLO DE MEMÓRIA. Normalmente, esse tempo é maior do
que o tempo de acesso cerca de 20 a 50%.

Muitos programas de microprocessador usados para aplicações de controle requerem menos de 4K


palavras para programa e dados. O endereçamento de 4K palavras necessita apenas de 12 bits. Neste caso
4 linhas das 16 linhas do Barramento de Endereço não são utilizadas para o endereçamento de posições de
memória. Essas 4 linhas restantes podem ser usadas para selecionar outros dispositivos conectados aos
Barramentos do sistema, tais como dipositivos de Entrada/Saída (I/O). O Barramento de Endereço não é
exclusivamente para endereçar a memória e pode ser usado para endereçar qualquer dispositivo, ou mais
precisamente qualquer registrador num dispositivo que esteja conectado aos Barramentos do sistema. Um
registrador é aqui amplamente definido como qualquer locação de memória endereçável em qualquer
dispositivo.

Nota - Alguns esclarecimentos devem ainda ser registrados:

Primeiro, sobre o significado de K: uma memória de 4K é uma memória de 4K palavras. Um chip de


memória de 4K, por outro lado, é um chip contendo 4K bits, não 4K palavras. Quando nos referimos a um
componente (um chip), K se refere a bits; quando nos referimos a um sistema de memória, K refere-se,
tradicionalmente, a palavras (palavras de 8, 16 ou 32 bits, dependendo do processador). Lembre-se de que
K se refere ao número de elementos lógicos do dipositivo.

Segundo, uma instrução armazenada na memória não ocupa necessariamente uma única palavra, mas pode
ocupar uma ou mais palavras dependendo da própria instrução. Para um conjunto de instruções que usa de
um a três bytes, as instruções necessitarão de 8, 16 ou 24 bits de memória. Para ler uma instrução de 2
bytes da memória e transferi-la para a Unidade de Controle do microprocessador, são necessárias duas
operações sucessivas de LEITURA da memória (supondo um Barramento de Dados de 8 bits, como no

4 de 6 14/05/18, 13:25
Arq3 http://www.di.ufpb.br/raimundo/ArqDI/Arq3.htm

nosso exemplo).

Terceiro, dois bits especiais numa palavra de memória definem uma notação importante nos sistemas de
microprocessadores. O bit mais à direita numa palavra , usualmente tido como bit 0, é chamado de Bit
Menos Significativo, ou LSB do original inglês Least-Significant Bit, que contribui com menor peso na
representação binária do dado. O Bit mais à esquerda, usualmente tido como bit 7, é o Bit Mais
Significativo, ou MSB do original inglês Most-Significant Bit. Os bits LSB e MSB definem regras
importantes no teste de limitação inerente aos microprocessadores. A maioria dos microprocessadores de
8 bits pode testar diretamente apenas o valor mais à esquerda (MSB) do dado contido no seu acumulador.
Esse bit representa o bit sinal na notação de complemento de dois, geralmente utilizada para representar
números.

O bit 0, ou bit LSB, é o segundo bit mais conveniente para ser usado como teste dentro da ULA após uma
operação de deslocamento para a direita (rigth-shift). Por essa razão, a informação do "status" vindo dos
dispositivos de entrada ou saída usualmente aparece no bit 0 ou no bit 7 de um registrador.

HIERARQUIA DE MEMÓRIAS

Dois níveis de memória já foram aqui descritos: a memória principal e memória de massa. Um terceiro
nível - registradores internos da CPU - também são disponíveis. Examinaremos cada um desses níveis:

1. Registradores internos fazem parte da CPU. Eles fornecem o mais rápido nível de memória disponível
para o sistema. Os conteúdos dos registradores internos podem ser acessados pela CPU em menos de 10
ns (versus 70 ns ou mais para a memória principal). Usualmente há poucos (de 8 a 64) registradores
internos.

2. A Memória Principal, usualmente chamada "a memória" de um sistema, é implementada em um ou mais


componentes, dependendo de sua capacidade. Normalmente, o seu tamanho pode chegar até a 64 M bytes
para os microcomputadores. Hoje, a memória principal é usualmente implementada na tecnologia
VLSI/MOS. Os microprocessadores padrões exigem uma memória externa. Normalmente o seu tempo de
acesso (ciclo de memória) é da ordem de 70 ns.

3. Memória de Massa é usada para fornecer a baixo custo, alta capacidade de armazenamento.
Dispositivos de armazenamento especiais são usados para armazenar grandes quantidades de dados, como
por exemplo a fita e discos magnéticos. Tais dispositivos armazenam centenas ou milhares de M bytes
(Megabytes) mas são relativamente lentos quando acessados freqüentemente.

SUMÁRIO - MEMÓRIA

Acabamos de descrever e ilustrar todos os elementos funcionais de um sistema. Vamos agora introduzir
definições adicionais e, nesse processo, revisar alguns termos que já foram introduzidos. Assim, tendo
entendido o vocabulário básico da "linguagem" do microprocessador, iremos mostrar alguns aspectos da
história do microprocessador.

5 de 6 14/05/18, 13:25
Arq3 http://www.di.ufpb.br/raimundo/ArqDI/Arq3.htm

6 de 6 14/05/18, 13:25

S-ar putea să vă placă și