Decodificação de Endereço

Propaganda
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Estratégias de Decodificação de Endereço
Motivação: O projeto de memória para um
microcomputador envolve a alocação da
memória no espaço de endereçamento do
processador. Esta alocação define o endereço de
cada célula de armazenamento.
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
161
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Estratégias de Decodificação de Endereço
Espaço de Endereçamento do 68000
8 M Words (A23 - A01)
23
3 20
(2 = 2 2 = 8 M Word)
ou
16 M Bytes (A23 - A00; onde A00 é implementado
com os sinais UDS* e LDS*)
24
4 20
(2 = 2 2 = 16 M Bytes).
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
162
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Estratégias de Decodificação de Endereço
Três estratégias:
Decodificação total
Decodificação parcial
Decodificação em bloco
Critérios para a escolha
Número de dispositivos
Potência dissipada
Velocidade de decodificação
Custo
Área ocupada
Versatilidade
Confiabilidade
Testabilidade
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
163
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Estratégias de Decodificação de Endereço
Decodificação Total
Cada célula de armazenamento está associada a
um único endereço.
Todas as linhas de endereço são utilizadas para
especificar a localização da célula de
armazenamento.
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
164
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Estratégias de Decodificação de Endereço
Decodificação Total -Exemplo 1
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
165
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Estratégias de Decodificação de Endereço
Decodificação Total - Exemplo 1
CS1* (0000 0000 0000) (A23-A12)
CS2* (0000 0000 0001) (A23-A12)
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
166
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Estratégias de Decodificação de Endereço
Decodificação Total - Exemplo 2: Conectar a
um 68000 os seguintes componentes:
10 K Words ROM (2K Words + 8 K Words) ROM1(2K) ROM2(8K)
2 K Words RAM
2 Words Periférico 1 - PERI1
2 Words Perférico 2 - PERI2
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
167
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Estratégias de Decodificação de Endereço
Decodificação Total - Exemplo 2:
Passos para a solução:
Construir tabela de endereços.
Atribuir endereço único para cada
componente.
Implementar o decodificador de endereço lógica de decodificação.
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
168
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Estratégias de Decodificação de Endereço
Decodificação Total - Exemplo 2:
Tabela 5.1
figura 5.5
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
169
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Estratégias de Decodificação de Endereço
Decodificação Parcial.
Nem todas as linhas de endereço são utilizadas
para especificar a localização da célula de
armazenamento.
Cada célula de armazenamento pode estar
associada a mais do que um endereço.
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
170
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Estratégias de Decodificação de Endereço
Decodificação Parcial - Exemplo 1
figura 5.6
figura 5.7
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
171
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Estratégias de Decodificação de Endereço
Decodificação Parcial - Exemplo 1
figura 5.7
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
172
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Estratégias de Decodificação de Endereço
Decodificação Parcial - Exemplo 2: Conectar a
um 68000 os seguintes componentes:
10 K Words ROM (2 K Words + 8 K Words) ROM1(2K) ROM2(8K)
2K Words RAM
2 Words Periférico 1 - PERI1
2 Words Periférico 2 - PERI2
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
173
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Estratégias de Decodificação de Endereço
Decodificação Parcial - Exemplo 2:
Passos para a solução:
Construir tabela de endereços.
Atribuir endereço para que não haja
conflito entre componente - utilizar o
menor número de linhas de endereço
possível.
Implementar o decodificador de endereço lógica de decodificação.
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
174
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Estratégias de Decodificação de Endereço
Decodificação Parcial - Exemplo 2:
tabela 5.2
figura 5.8
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
175
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Estratégias de Decodificação de Endereço
Decodificação Total X Decodificação Parcial
Total
Não há desperdício do espaço de
endereçamento. Posso inserir novos
componentes.
Lógica mais complexa. Aumento do
número de componentes ou aumento da
complexidade dos componentes.
Compromisso entre decodificação total e
parcial ⇒ decodificação em bloco:
Decodificação em bloco: espaço de
endereçamento é dividido em blocos totalmente
decodificados. Cada bloco está associada a um
único sub-espaço de endereçamento.
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
176
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
Técnicas
Portas lógica
Decodificadores m para n
PROMs (programmable read-only memory)
PGAs (programmable gate arrays)
PLAs (programmable logic arrays)
PAL (programmable array logic)
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
177
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
Portas lógica
O decodificador é implementado utilizando
portas lógicas simples, como AND, OR, NOR,
NAND, INVERSOR. Utilizam dispositivos SSI
(Small Scale Integration).
Vantagens potenciais: velocidade (utilizar a
lógica mais rápida); custo.
Desvantagens potenciais: número alto de
dispositivos (CIs); reduz a área disponível na
placa para dispositivos mais nobres - por
exemplo, memória.
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
178
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
Portas lógica - decodificador 3 para 8 (saída
ativa em nível baixo)
A2 A1 A0
A2* A1* A0*
A2* A1* A0
A2* A1 A0*
A2* A1 A0
A2 A1* A0*
A2 A1* A0
A2 A1 A0*
A2 A1 A0
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
179
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
Decodificadores m para n
(interessante para a decodificação em bloco)
Decodificador implementado utilizando
dispositivos decodificadores m-bits para n =
m
2 saídas.
Dispositivos comuns:
74LS138 decodificador 3 para 8
74LS139 decodificador dual 2 para 4
74LS154 decodificador 4 para 16
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
180
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
Decodificador 74LS138
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
181
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
Decodificador 74LS138 - exemplos de
utilização
figura 5.12
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
182
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
Decodificador 74LS138 - exemplo projeto
figura 5.13
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
183
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
Decodificador 74LS138 - exemplo projeto
tabela 5.4
figura 5.14
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
184
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
PROM (Programmable Read Only Memory):
memória apenas de leitura , não volátil, que
pode ser gravada pelo usuário. “Gravada”
significa que o usuário pode, através de circuito
especial de gravação, definir o conteúdo da
memória. As PROM permitem apenas uma
gravação. As EPROM (Erasable Programmable
Read Only Memory) admitem que o conteúdo
da memória seja apagado e re-escrito
novamente.
As memórias da família ROM (ROM, EPROM,
EEPROM UVEPROM) podem ser utilizadas
como forma de sintetizar funções lógicas.
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
185
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
PROM
figura 5.15
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
186
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
PROM
m entradas (endereço) ⇒ 2
m
p saídas
Como decodificador de endereço, a PROM nada
mais é do que uma Look-Up Table (LUT)
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
187
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
PROM - exemplo
SBC com RAM, ROM e Periféricos
Dividir espaço em 1Kword (tamanho mínimo de
dispositivos de memória 1Kword – 2 K Bytes)
Espaço de E/S 1 K Works comportando até 8
dispositivos.
Alocação segundo a tabela
table 5.6
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
188
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
PROM - exemplo
00 0000
ROM1
00 0800
00 1000
ROM2
00 1800
00 2000
ROM3
00 2800
00 3000
00 C000
PERI1
RAM1
00 E000
00 C800
PERI2
00 E100
00 D000
PERI3
00 E200
00 E300
00 D800
00 E000
00 E400
00 E500
00 E800
00 E600
00 F000
00 E700
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
189
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
PROM - exemplo
table 5.7
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
190
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
PROM - exemplo
figura 5.16
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
191
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
PROM - exemplo
table 5.8
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
192
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
PROM - exemplo
figura 5.17
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
193
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
PROM - observações finais
Vantagens
Selecionar blocos de tamanhos variáveis
m
m entradas ⇒ divisão por 2 do
espaço de endereços disponível
(tamanho mínimo do bloco)
Posso agrupar blocos e alocar
dispositivos maiores. Selecionar o
mesmo dispositivo em endereços de
blocos diferentes.
Desvantagens:
Aumento do tamanho da EPROM em
função do número de linhas
decodificadas ⇒ custo maior, tempo
de programação maior.
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
194
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
Solução com portas lógicas ⇒rapidez
Solução com ROM ⇒ flexibilidade e
compactação.
FPGA (field programmable gate array), FPLA
(field programmable logic array) e PAL
(programmable array logic) procuram oferecer
o melhor dos dois mundos - portas lógicas e
ROM.
FPGA, FPLA, PAL são dispositivos compostos
de portas lógicas de propósito geral que podem
ser configurados (programados).
OBS.: Field indica que o usuário pode
programar (em geral, é necessário aparelho
especial para tal). Field se contrapõe àqueles
que vem programados de fábrica e que não
permitem a programação pelo usuário.
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
195
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
FPGA - field programmable gate array
fig 5.18
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
196
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
FPGA - field programmable gate array
As entradas das portas NAND podem ser
configuradas (romper ou não o fusível) para a
definição da lógica a ser realizada. Para cada
entrada podemos definir a sua participação (com
lógica positiva ou negativa) ou não na lógica
NAND/AND. Ou seja, pode ser configurada
para produzir produtos lógicos (and/nand) das
variáveis de entrada.
Cada saída do dispositivo pode ser configurado
para se comportar como porta NAND ou AND
dependendo do fusível do XOR.
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
197
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
FPGA - exemplo decodificador 3 x 8
A2 A1 A0
A2* A1* A0*
A2* A1* A0
A2* A1 A 0*
A2* A1 A 0
A2 A1* A 0*
A2 A1* A 0
A2 A1 A0*
A2 A1 A0
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
198
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
FPGA - Exemplo de aplicação
fig. 5.19
tabela 5.9
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
199
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
FPGA - Exemplo de aplicação
fig. 5.20
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
200
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
FPLA / PLA (Field Programmable Logic Array
/ Programmable Logic Array)
Possui adicionalmente a capacidade da função
lógico OR (é possível implementar somas de
produtos).
PLA possui lógica interna parecida com as
ROMs, entretanto não há a decodificação fixa n
n
para 2 . Na PLA este circuito decodificador é
substituído por um array programável de ANDs.
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
201
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
ROM - estrutura interna
figura 5.21
*
2
A
*
2
A
*
2
A
*
2
A
*
2
A
2
A
1
D
*
1
A
*
1
A
1
A
1
A
A
*
1
*
1
A
*
A
2
1
A
2
A
1
0
A
2
A
2
D
1
0
A
1
D
0
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
202
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
ROM - estrutura interna em termos de portas
lógicas
A2
A1
A0
*
2
A
*
1
A
*
2
A
*
1
A
*
2
A
1
A
*
2
A
2
A
2
D
1
D
* * *
A2 A1 A0
* *
A2 A1 A0
*
*
A2 A1 A0
*
A2 A1 A0
* *
A2 A1 A0
*
A2 A1 A0
*
A2 A1 A0
*
A
1
1
A
*
2
A
1
A
2
A
1
0
A
D
0
A2 A1 A0
D2
D1
D0
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
203
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
FPLA
figura 5.23
*
2
A
*
1
A
*
2
A
*
1
A
*
2
A
1
A
*
2
A
2
A
2
D
1
D
*
A
1
1
A
*
2
A
1
A
2
A
1
0
A
D
0
16 X 48 X 8
16 entradas - 48 ANDs - 8 saídas
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
204
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
FPLA - exemplo (16 x 48 x 8)
*
2
A
*
1
A
*
2
A
*
1
A
*
2
A
1
A
*
2
A
2
A
2
D
1
D
*
A
1
1
A
*
2
A
1
A
2
A
1
0
A
D
0
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
205
Capítulo 5 - Memória em Microcomputadores
____________________________________________________________________________
Projeto de decodificadores
PAL (Programmable Array Logic):
matriz de ANDs programável
matriz de ORs fixa.
figura 5.24
*
2
A
*
1
A
*
2
A
*
1
A
*
2
A
1
A
*
2
A
2
A
2
D
1
D
*
A
1
1
A
*
2
A
1
A
2
A
1
0
A
D
0
____________________________________________________________________________
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino
206
Download