Você está na página 1de 10

Microcontroladores

Prof. Celso
SISTEMA BÁSICO DE UM COMPUTADOR

Fonte de Alimentação

Disposi-
Reset DUTO DE DADOS tivos de
E/S
Memória Memória Porta
de CS CS de Paralela
Interrupção programa dados
CPU Porta
Serial
DUTO DE ENDEREÇOS
A/D D/A
Oscilador
Bloco
CS
de
Controle

3.1 - MEMÓRIAS

As memórias servem para armazenar informações (números, letras, caracteres,


instruções, endereços, dados).
A memória é um conjunto de células (ou localizações), todas com o mesmo número
de bits numerado seqüencialmente em ordem crescente. Cada célula é identificada por um
número exclusivo que é o seu endereço. Se a memória tem 2n células então os endereços
devem ter n bits. Os acessos à memória são feitos através de unidades chamadas palavras
de memória que podem ter 1, 2, 4 ou 8 bytes.

3.2 - CLASSIFICAÇÃO DAS MEMÓRIAS

As memórias podem ser classificadas quanto:


1. Acesso: Seqüencial: chegam a posição endereçada passando por todas as
posições intermediárias. Ex.: fitas magnéticas
Aleatórias ou direto: chegam diretamente à posição endereçada. Ex.:
RAMs

1
Microcontroladores
Prof. Celso
2. Volatilidade: Voláteis: perdem as informações armazenadas com o corte da
alimentação (RAM).
Não voláteis: mantêm as informações mesmo sem a alimentação
(ROM).

3. Troca de Dados: Memórias de escrita e leitura (RAM).


Memória apenas de leitura (ROM).

4. Armazenamento: Estáticas: o dado inserido permanece armazenado indefinidamente


(SRAM).
Dinâmicas: é necessária a reinserção do dado periodicamente para
que ele não se perca (DRAM).

3.2.1 - TIPOS DE MEMÓRIA

Não Voláteis: Informação permanece indefinidamente


- ROM
- PROM
- EPROM
- EEPROM

2
Microcontroladores
Prof. Celso
Voláteis: Informação desaparece quando cessa a alimentação.
- RAM
- SRAM
- DRAM
- SDRAM

3.3 - ORGANIZAÇÃO DA MEMÓRIA

Uma memória é caracterizada pelo:


- Número de localizações (ou endereço, ou palavra): 1024 (1k), 2048 (2k)....
- Número de bits/palavra: 1, 4, 8, 16...
Supondo uma memória simples de 8 posições por 4 bits de dados:

Exemplos de:
Eprom
2764 (8k x 8)
27512 (64k x 8)

Rom
4732 (4k x 8)

Dram
4464 (64k x 4)

Sram
2114 (1k x 4)

3
Microcontroladores
Prof. Celso
Pela figura anterior temos que, para endereçar uma memória de 8x4 precisamos de 3
linhas de endereço (A2, A1, A0) e 4 linhas de dados (D3, D2, D1, D0). Para calcular o
número de linhas de endereço, pode-se utilizar:

2x = número de endereços (ou palavras)

no exemplo 2x = 8
para calcular x, podemos usar o logaritmo na base 10 ou o logaritmo neperiano:

2x = 8
ln 2x = ln 8 pela propriedades dos logaritmos: ln yA = A. ln y
x.ln2 = ln8
x = ln 8 / ln2 => x = 2.0794415 / 0,6931471 => x = 3

A quantidade de linhas de endereço necessária para ligar a CPU à memória é


definida pelo número de palavra (ou endereço).

Para endereçar 1024 posições de memória são necessárias: 2x = 1024 => x = 10 linhas

2o. exemplo: Construa uma memória de 16x8 (16 palavras com 8 bits cada palavra). O
endereço inicial dessa memória deve ser 0. Insira na posição 5H o dado 5FH, na posição 0H
insira F1H e na posição BH insira 8CH
Para construir a memória devemos saber:
Número de linhas de endereço: 2x = 16 => x = 4
Número de linhas de dados: 8

4
Microcontroladores
Prof. Celso
teríamos:
endereço Palavra de dado
0H F1H
5H 5FH
BH 8CH

Nesse exemplo a ligação entre a CPU e a memória seria:

5
Microcontroladores
Prof. Celso
3.4 - ASSOCIAÇÃO DE MEMÓRIAS
As memórias podem ser associadas para expandir sua capacidade de dados ou de
localizações. Se tivermos memórias de 256x4, podemos construir memória de 256x8,
fazendo a seguinte ligação:

O duto de endereçamento é aplicado simultaneamente nas duas memórias. Também,


o controle de leitura/escrita (R/W) e a seleção do chip (CS) são simultâneo. Se quisermos
escrever o dado 5Fh na posição de memória 7Bh devemos:
1 – Selecionar os chips (CS = 0)
2 – Selecionar o endereço 7Bh (A7-A0 = 0111 1011)
3 – Selecionar a operação de escrita (R/W=0)
4 – Aplicar os níveis 5Fh (0101 1111) na barra de dados, sendo que o 5h é aplicado em D4-
D7 e o Fh é aplicado em D0-D3

6
Microcontroladores
Prof. Celso
Utilizando a mesma memória de 256x4, podemos expandir sua capacidade de
armazenamento. A figura abaixo mostra duas memórias de 256x4 ligadas para construir
uma memória de 512x4.

RAM 1 RAM 2

Os endereços e o controle de leitura/escrita são simultâneos, mas a seleção do chip é


fornecida por uma linha de endereço (A8). Se A8=0, a primeira memória (RAM 1) é
selecionada e se A8=1, a segunda memória (RAM 2) é selecionada. A operação de escrita
ou leitura deve seguir os passos dados no exemplo anterior.

1 – Selecionar os chips (CS = 0). Neste caso a linha A8 seleciona uma ou outra memória
2 – Selecionar o endereço (A7-A0) desejado
3 – Selecionar a operação de escrita(0) ou de leitura(1) (R/W)
4 – Se escrita: Aplicar os níveis desejados na barra de dados.

Considerando o exemplo acima, o endereçamento de cada memória ficaria:

7
Microcontroladores
Prof. Celso

Seleção da
Memória A7 A6 A5 A4 A3 A2 A1 A0 HEX
A8
RAM 1 0 0 0 0 0 0 0 0 0 000
1 1 1 1 1 1 1 1 0FF
RAM 2 1 0 0 0 0 0 0 0 0 100
1 1 1 1 1 1 1 1 1FF

Repare que neste exemplo estamos considerando as outras linhas de endereçamento


(A9,A10,A11) em nível lógico baixo.

Consulta:
Idoeta – Cap.8
Malvino – vol.02 – cap.12
Bignell – vol.02 – cap. 16

8
Microcontroladores
Prof. Celso
EXERCÍCIOS:

1) Um computador tem 128 K de memória. Quantos bytes isto representa?

2) Desenhe uma memória de 8 x 8, dando os endereços das posições e insira nas posições
abaixo os seguintes valores:
posição 3H – valor: C3H
posição 5H – valor: 8BH

3) desenhe a ligação entre uma CPU e uma memória de 64k x 8

4) O desenho abaixo mostra um trecho de uma memória. Pede-se, o valor em


hexadecimal do conteúdo dos endereços:

23H
25H
29H

5) Quantas linhas de endereço são necessárias para endereçar uma memória de:

128 bytes
128 Kbytes

9
Microcontroladores
Prof. Celso
6) No trecho de memória da figura abaixo, forneça o conteúdo da posição 5A73H e
5A7AH
Como está organizada a memória? (isto é, quantas palavras dá para endereçar e quantos
bits por palavra a memória possui).

7) Suponha que você possua várias memórias de 128x4. Construa uma memória de 512x4.
Forneça os endereçamento de cada memória. Faça o decodificador para acionar cada chip
de memória (Chip Select).

8) Determine o endereço inicial e final de cada memória abaixo:


a) ROM 512x4
b) EPROM 4Kx8
c) RAM 128Kx8
d) RAM 2Mx16

10

Você também pode gostar