Você está na página 1de 28

Locação de Espaço Para os Endereços daCPU .

Sempre que a CPUefetua uma operação de leitura ou gravação ela tem que colocar um endereço no barramento correspondente a fim de selecionar um e somente um local de memória
ou dispositivo de entrada e saída . A maioria das CPUs de 8 bits tem 16 linhas de endereços capaz de especificar 65.536 endereços (0000 a FFFF). Essa gama de endereçosé conhecida como
espaço de endereçamento do microprocessador.
Deve-se distribuir o espaço de endereçamento entre os dispositivosRAM , ROM e E/S que fazem parte do sistema . Esta distribuição muitas vezes é arbitrária . No DGP80(Kit de
LAB.)esta distribuição segue a forma do mapa de memória abaixo.
0

Páginas de memória .
Os 65.536 endereços possíveis podem serem divididos em 256 blocos de 256 enderços cada um, onde cada bloco recebe o nome de página . Então a página 00 vai de 0000à 00FF .
Apagina 01 vai de 0100 a 01FF. A página 6A abrage os endereços entre 6A00a 6AFF.
Ex:Dertemine quantas páginas foram alocadas par RAM , ROM , E/S no DGP80 .
Um computador dispõe de 4096 locais de RAMcomeçando por 0000 . Quantaspáginas de memória foram alocadas para essa memória? determine a faixa completa dos endereços.
Um certo programa armazenado em ROM ocupa toda a página FD . Quais os endereços ocupados por esse programa?

Módulo de memória.
Consiste em combinar Cisde memória RAM ou ROM a fim obter um sistema de maior capacidade de memória . Assim podemos forma memórias de grandes capacidades apartirde
memórias de baixa capacidade.
Veja o exemplo da fig. 15.
Exemplos: 1 -Quantas páginas de memória estão armazenadas em cada módulo da figura 15?
2 -Você usaria RAMs de 256x4 ou 1kx1 se precisasse de uma memória com capacidade de duas págians?
3 -Descreva a organização de uma memória RAM de 16kx8 , ulizando a de 4kx1.
4 - Qual o maior número de módulos de 1Kx8 que pode ser usado com o Z80?
Decodificação de Endereços .

Um sistema típico baseado em microprocessador tem muitos CI’s que se comunicam entre si e com o microprocessador por meio de uma via (bus) comum. O microprocessador
precisa ativar o CI desejado sem permitir que os outros interfiram na transmissão e recepção dos bits. Para tanto utilizando-se um circuito lógico que endereça o CI desejado por meio do
comando de um microprocessador, o qual fornecerá o endereçamento adequado designado para cada CI. Este conjunto de endereços e os CI’s associados a cada endereço formam o mapa de
endereços do sistema.
O circuito que interliga os endereços dos CI’s com o CI propriamente dito é o decodificador; este recebe como entradas todas as linhas de endereços, juntamente com algumas linhas
de entrada de controle especiais do microprocessador. O decodificador é feito de modo a gerar uma saida(normalmente baixa) apenas quando um determinado endereço (ou endereços ) e um
padrão na linha de controle aparecem em sua entrada. A saida do decodificador é então utilizada para ativar o CI.
Ex.: Determine os endereços para a ativação de X e Y
Ex.: Construa um decodificadorque vai decodificar os seguintes endereços X e Y respectivamente:
a) 0110 e 0010.
b) 1000 e 0001
As memórias ocupammais de um endereço no mapa de memória. Por exemplo uma RAM de 1Kx8 ocupa 1024 posições de memória. O decodificador para esta memória, portanto tem
de ativa-la quando ocorrer qualquer endereço do bloco. Seria inteiramente impraticável a construção de 1024 decodificadores separados para um CI desse tipo. Felizmente isto não é
necessário.

Uma vez decidido sobre o arranjo de módulos de memórias para produzir a capacidadedesejada, deve-se pensar nos circuitos decodificadores de endereços. Esses circuitos recebem o
endereço da CPUe gera um sinal de habilitação para o dispositivo de memória ou E/S correspondente. Um e somente um sinal será ativado, para cada endereço existente. Veja a fig. 16.
No processo de decodificação de endereço as linhas superiores de endereçamento são decodificadas para selecionar um módulo de memória, enquanto as linhas inferioressão utilizadas
na seleção de uma palavra naquele módulo.
Vamos analizar um decodificador para quatro módulos de RAM de 4kx8. As linhasinferiores A0 - A11 de endereçamento serão comuns aos quatros módulos de memória, pois
4k=4096=212 . Odecodificador deve receber duas linhas superiores de endereçamento para seleção de memória.
Exemplo:Considere o mapa de memória abaixo:

a) Crie um decodificador ou uma lógica decodificadora para RAM


b) Idem para ROM.
c) Idem para E/S.
Obs: Estão disponíveisRAM’s de 1Kx8 e .
Utilize o decodificador 74138.
1 - Lógica decodificadora de RAM

Examine a fig. 17 e observe os seguintes pontos:

a- As linhas de dados são comuns a cada módulo, mas apenas o módulo selecionado colocará dados nesse barramento .
b- A linha R/W é acoplada a todos os módulos, mas apenas o módulo selecionado responderá a esse sinal.
c- k0,k1,k2 e k3 selecionam um módulo RAM especifico em resposta as linhas A10 - A15 e ao sinal de clockφ2.
d- A0 - A9 são comuns a todos os módulos . essas linhas selecionam a palavra desejada dentro do módulo escolhido.

Análise para ativação de k3:


A12 - A15 vão para zero. A10 e A11 ficam em 1 e o restante irrelevante. Veja que a faixa de endereço do módulo 3 vai de 0C00 a 0FFF.
O que acontece com os módulos de RAMs nos endereços superiores a0FFF?
Qual a faixa de endereço para os módulos 0,1 e 2 ?

Nota : 1 - Decodificação plena - Técnica aplicável aos sistemas onde todas as linhas de endereços são utilizadas. Vantagem : inexistência de faixas de endereços redudantes
2 - Decodificação parcial - Utilizada em sistemas que não usam todo o espaço de endereçamento.
Lógica decodificadora de ROM.

Vemos que a ROMdeve ocupar os endereços entre C000 e FFFF, totalizando 16.384 palavras de 8bits. Vamos utilizar quatroEPROMs 2732 de 4kx8 cada. Examine a fig. 18 e observe
os seguintes pontos:
a- Cada ROM tem suas saidas de dados conectadas ao barramento da CPU, mas apenas a ROM selecionada pode nele colocar seu dados.
b- Com CS=0 , OE tem que estar em nível baixo a fim de habilitar os buffers de saida da ROM.
c- O decodificador 74138 foi usado para gerar os sinais CS dos módulos da ROMs.
Vamos fazer análise para a ROM-2 . Ela será ativa nas combinações abaixo.
Veja que a faixa de endereço para a ROM-2 é de E000 a EFFF. Determine a faixa de endereços para as outras ROMs . Oque acontece quando a CPU executa uma instrução de gravação?
A Lógica Decodificadora de E/S.
Observe os seguintes pontos da fig. 19:
a - Se a entrada OE for ao nível baixo, dados externos passarão para o barramento de dados.
b - Se cs = 0e houver transição de clock os dados seráo entregues ao portal de saida.
c - Determine o endereço de acesso aos portais.
d - A gama tão intensadestinada a E/S é para que seja possível utilizar a decodificação parcial minímizando a lógica necessária. Desta forma, espaços de endereçamento são perdidos.
Exemplo: Considere 8 chaves (s0 a s7) conectadas ao portal de entrada. Os dados das chaves,em certos casos, podem representar um valor numérico ou um tipo de código que o programa deve
examinar a fim de seguir uma sequência de instruções Faça um programa que satisfaça os passos a seguir:
1 - ler os dados das chaves ou detecte o estado da chaves e coloque em A.
2 - Examine o status de s5.
3 - Caso s5seja igual a zero prosseguir com o programa principal.
4 - Caso s5seja igual a 1, o conteúdo das chaves deve ser armazenado em 2020H e depois prosseguir com o programa principal..
EXERCÍCIOS

1 - Faça análise dos sistemas de decodificação abaixo informando o tipo de mapeamento ea faixa de endereçamento de cada dispositivo acolplado à CPU.
2 - Constura uma lógica decodificador de RAM,ROM e E/S para ocupar um dos espaços livres do mapa de memória do DGP-80. Utilize a RAM 6116(2kx8), a ROM 2732(4kx8), o buffer de
8bits74244 e o FF 74377 de 8 biestáveis tipo D. Minimize o máximo que puder.

3 - Faça análise dos sistemas de decodificação do KIT 9431 informando o tipo de mapeamento ea faixa de endereçamento de cada dispositivo acolplado ao MCR.
Solução :

ROM(ms0-ms1) – 16k RAM(ms2-ms5) – 32k RAM(ms2) – 8k


0000 – 3FFF 4000 – BFFF 4000 – 5FFF

AD(I00 e Y7) DA(I01e Y7) Teclado(I02e Y7) Display(I03e Y7) Serial(I04 e I05e Y7)
E000 – E3FF E400 – E7FF E800 – EBFF EC00 – EFFF F000-F3FF e F400-F7FF
buffers nos Barramentos da CPU:

Sendo a CPU um dispositivo MOS, suas linhas de barramento não dispõem de grande capacidade de corrente, capacidade esta nescessária para excitação de carga nas linhas de
barrameto. Assim nos sistemas bem projetados, os barramentos da CPUsão dotados de componentoes que lhes permitam excitar diverso dispositivos ao mesmo tempo (na ordem de 5 a 10
cargas). Chamados alternativamente de buffers, excitadores de liha ou excitadores de barramento que normalmente são de três.

Considere o mapa de memória abaixo. Construa uma lógica decodificadora utilizando a EPROM 2732 de 4Kx 8, RAM 4802 de 2Kx8 e decodificador 74138. Utilize a CPU Z80.

E/Sisolado e mapeado em memória

Você também pode gostar