Você está na página 1de 78

ISDB – Instituto Superior

Don Bosco
Sistemas Digitais I

Registos de Deslocamento, Memórias


e Dispositivos Lógicos Programáveis

Docente:
Eng.º Adélio Francisco Tembe, MSc.
Registradores de deslocamento
(Shift Register)
Um registrador de deslocamento é um registrador de n bits
com a capacidade de deslocar em uma posição o valor
armazenado, em cada ciclo de relógio.
Registradores de deslocamento
(Shift Register)

Um registrador de deslocamento com entrada e saída série


possui apenas uma entrada (entrada) e uma saída(saida).
Registradores de deslocamento
(Shift Register)
Na entrada aplica-se um novo bit que será deslocado até à saída
da cadeia de Flip-Flops, um Flip-Flop a cada ciclo do relógio.
Registradores de deslocamento
(Shift Register)
O bit aplicado na entrada surge na saída passados n ciclos do relógio.

4 ciclos de relógio (clock)

Bit ‘1’ Aplicado à entrada do registrador

Bit ‘1 aparece na
saída após 4 ciclos do
relógio (clock)
Registradores de deslocamento
(Shift Register)
Um registrador de deslocamento com entrada série e saída paralela, e com
n bits, permite atrasar um sinal em n ciclos do relógio.
Registradores de deslocamento
(Shift Register)
Um registrador de deslocamento com entrada série e saída paralela, e com n
bits, permite atrasar um sinal em n ciclos do relógio.
1o. ciclo
2o. ciclo
3o. ciclo

4o. ciclo
Registradores de deslocamento
(Shift Register)
Um registrador de deslocamento com entrada série e saída paralela
possui uma saída para cada bit armazenado, colocando-os disponíveis de
Q1 até Qn.
Os registradores deste tipo são utilizados para efetuar conversões de
série para paralelo.
Registradores de deslocamento
(Shift Register)
Os registradores deste tipo são utilizados para efetuar conversões
de série para paralelo.

1 0 1
0

0
1
0
1
Registradores de deslocamento
(Shift Register)
Um registrador de deslocamento com entradas paralelas e saída
série proporciona a conversão de uma informação paralela para
serial. São os chamados conversores paralelo-serial.
Registradores de deslocamento
(Shift Register)
1 entrada serial (Es)
4 entradas paralelo (E0, E1, E2, E3)
1 entrada de relógio (clock)
1 entrada de reset (CLRN)
1 entrada para habilitação (habilita)
Registradores de deslocamento
(Shift Register)
Converter o dado “1011” para serial
Passos:
1) Fazer CLRN = ‘0’ => Zera todas as saídas dos Flip-Flops
Registradores de deslocamento
(Shift Register)
Converter o dado “1011” para serial
Passos:
2) Fazer CLRN = ‘1’
3) Fazer habilita = ‘1’
4) Fazer E3 = ‘1’ ; E2 = ‘0’; E1 = ‘1’ e E0 = ‘1’
5) Fazer habilita = ‘0’
Registradores de deslocamento
(Shift Register)
Converter o dado “1011” para serial

E3 = ‘1’; E2 = ‘0’ ; E1 = ‘1’; E0 = ‘1’

X X
X

1 1
0 1
Registradores de deslocamento
(Shift Register) - Aplicações

A comunicação entre dois microcomputadores através de suas


portas seriais é baseada em registradores de deslocamento
(conversão serial / paralelo – paralelo/ serial) .

Em cada porta serial, um registrador de deslocamento transforma


os dados do barramento interno do microcomputador (que estão
em formato paralelo) no formato serial adequado para a
transmissão através do cabo que interliga os dois computadores.

Eng.º Adélio F. Tembe, MSc. 15


Registradores de deslocamento
(Shift Register) - Aplicações

• Circuito multiplicador (x2n) – Deslocamento para a


esquerda

Ex:
n = 1 => 21 => Desloca 1 posição à esquerda - (x2)
n = 2 => 22 => Desloca 2 posições à esquerda - (x4)
n = 3 => 23 => Desloca 3 posições à esquerda - (x8)
.
.
.

Eng.º Adélio F. Tembe, MSc. 16


Registradores de deslocamento
(Shift Register) - Aplicações

Circuito divisor (/2n) – Deslocamento para a direita

0110011010 410 Decimal


n=1
0011001101 205 Decimal

‘0’ incluído
bit perdido

Eng.º Adélio F. Tembe, MSc. 17


Registradores de deslocamento
(Shift Register) - Aplicações

Eng.º Adélio F. Tembe, MSc. 18


MEMÓRIAS

Eng.º Adélio F. Tembe, MSc. 19


Sistema básico de um computador

Eng.º Adélio F. Tembe, MSc. 20


Sistema básico de um computador

RESET – Inicializa o sistema ao ligar.


CLOCK (ou Oscilador) – Tem por função sincronizar os deslocamentos internos
de dados e endereços, permitindo a seqüência automática das instruções do
programa.
INTERRUPÇÃO – Entradas de sinal externo, de outros periféricos, para
interromper processamento e executar outro previamente acertado.
CPU ou UCP (Unidade Central de Processamento) – Responsável por todo
processamento do computador. É o local onde são executadas operações
aritméticas e lógicas, é o manipulador e/ou modificador do fluxo de dados.
ALIMENTAÇÃO – Fonte de tensão que alimenta os circuitos integrados.
MEMÓRIA DE PROGRAMA – Memória onde a CPU vai procurar as instruções,
ou seja, a sequência de procedimentos a ser executado pelo computador.
Eng.º Adélio F. Tembe, MSc. 21
Sistema básico de um computador

MEMÓRIA DE DADOS – Memória onde a CPU lê e escreve dados durante a


operação normal. Geralmente é do tipo volátil (perde informação ao ser desligada).
BLOCO DE CONTROLE – Lógica para escolher qual memória ou periférico a CPU
vai utilizar.
ENTRADA E SAÍDA – Dispositivos de entrada e saída para comunicação da CPU
com o mundo exterior (teclado, display, vídeo, mouse...). Também chamado de
portas de I/O (Input/Output).
DUTO (ou Barramento) DE DADOS OU DE ENDEREÇO: Um barramento é uma
conexão física para a transmissão de sinais entre sistemas digitais. Trata-se de um
conjunto de condutores (fios, trilhas) por onde “passam” os bits.

Eng.º Adélio F. Tembe, MSc. 22


CPU
(unidade central de processamento)
Unidade de controle: Desempenha todo o
papel de controle da CPU.
ULA (ou ALU): Responsável pelas
operações lógicas (AND, OR, XOR...) e
aritméticas (soma, subtração, divisão...)
Registradores: São “memórias” auxiliares
utilizadas durante o processamento. O
registrador mais importante é o
“acumulador” onde termina o resultado de
todas as operações.

Eng.º Adélio F. Tembe, MSc. 23


Definição de Memória

Memória:: Uma coleção de células capazes de armazenar


Memória
informação binária (1s ou 0s) - além de circuito electrónico
para o armazenamento (escrita) e recuperação de
informações (leitura).
São Dispositivos de Memoria: Um Capacitor, Um Flip-
Flop, Registradores (Shift Registers), Um Ponto Magnético
numa Fita, etc.

Eng.º Adélio F. Tembe, MSc. 24


Definição de Memória

Então as memorias são dispositivos que armazenam


informações.
Essas informações por sua vez são codificadas,
digitalmente, através de um código binário qualquer.
Essas informacões podem ser números, letras, caracteres
quais quer, comandos de operações, endereços ou ainda
qualquer outro tipo de dado.

Eng.º Adélio F. Tembe, MSc. 25


Definição de Memória

Essas informacões, armazenam dados para


endereçamento, programação e para constituir o conjunto
de funcões internas para a funcionalidade do proprio
sistema.
Outro tipo de aplicação consiste em utiliza-las para
executarem quaisquer funcões de circuitos
combinacionais, e ainda, com o auxílio de contadores
comuns e conversores, gerar formas de onda de
diversas maneiras de modo mais simples.

Eng.º Adélio F. Tembe, MSc. 26


Classificação de Memórias

Eng.º Adélio F. Tembe, MSc. 27


Classificação de Memórias

Podemos classificar as memorias em varios itens diferentes.


A seguir, vamos relacionar os principais:
Acesso;
Volatilidade;
Escrita/Leitura ou apenas de leitura;
Tipo de armazenamento.

Eng.º Adélio F. Tembe, MSc. 28


Classificação de Memórias
Acesso
As memorias armazenam informacões em lugares denominados localidade de
memoria.
Cada uma das localidades de memoria possui um conjunto de bits que nos
permite o seu acesso, a esse conjunto de bits damos o nome de endereço.
O conjunto de bits representa o endereço da localidade onde esta armazenada
uma informação.
O tempo de acesso de uma memoria é o tempo necessario desde a entrada de
um endereço até o momento em que a informação apareça na saída, para as
memorias de escrita/leitura . E também o tempo necessário para a informação
ser gravada.

Eng.º Adélio F. Tembe, MSc. 29


Classificação de Memórias
Acesso

Podemos ter acesso a uma dada localidade de memória


de duas maneiras diferentes:
Acesso sequencial;

Acesso aleatório.

Memória de acesso aleatório (RAM) – memória onde o


tempo de acesso é o mesmo para qualquer posição.
Memória de acesso sequencial (SAM) – memória onde,
para se localizar uma determinada posição, é preciso
passar por todos os endereços. Por exemplo, fitas
magnéticas.

Eng.º Adélio F. Tembe, MSc. 30


Classificação de Memórias
Volatilidade

Quanto a volatilidade, as memorias podem ser voláteis ou


não voláteis.
As memórias voláteis são aquelas que ao ser cortada a
alimentação perdem as informações armazenadas. São
memorias feitas, geralmente, a partir de semicondutores e
na maioría das vezes, possuem como elemento de memória
o flip-flop.

Eng.º Adélio F. Tembe, MSc. 31


Classificação de Memórias
Volatilidade

As memórias não voláteis são aquelas que mesmo sem


alimentação continuam com as informações armazenadas.
Dentre essas se destacam as memórias magnéticas e
as electrónicas: ROM, PROM e EPROM.

Eng.º Adélio F. Tembe, MSc. 32


Classificação de Memórias
Escrita/Leitura ou apenas leitura

As memórias de escrita/leitura são aquelas que permitem acesso a uma


localidade qualquer para escrevermos a informação desejada, alem
disso, permitem o acesso também para a leitura do dado. As memórias
RAM também se enquadram nessa situação.
As memórias apenas de leitura são aquelas que uma vez inserida e
gravada a informação está fica disponível apenas para leitura e já não
pode ser alterada. As memórias ROM se enquadram nessa situação.

Eng.º Adélio F. Tembe, MSc. 33


Classificação de Memórias
Tipo de Armazenamento

Quanto ao tipo de armazenamento as memórias


classicam-se em estáticas e dinámicas.
As memórias de armazenamento estático são aquelas em
que, uma vez inserido o dado numa dada localidade, este
lá permanece.
As memórias de armazenamento estático apresentam a
vantagem de possuir uma utilização da maneira mais fácil
que as dinámicas.

Eng.º Adélio F. Tembe, MSc. 34


Classificação de Memórias
Tipo de Armazenamento

As memórias de armazenamento dinámico são aquelas


em que necessitamos inserir a informação novamente, de
tempo em tempo, pois de acordo com as características de
seus elementos internos, perdem essas informações após
um determinado tempo.

Eng.º Adélio F. Tembe, MSc. 35


Termos Básicos

Célula de memória – dispositivo ou circuito capaz de


armazenar um bit.
Por exemplo, um flip-flop, um capacitor, etc.
Palavra de memória – grupo de bits (células) em uma
memória que representa instruções ou dados.
Byte – conjunto de 8 bits.
Capacidade – número de bits que podem ser
armazenados em um dispositivo de memória.
A capacidade de uma memória é medida em MB
64/128/256/512 (Mega bytes) ou (Giga bytes) 1/2/4GB.

Eng.º Adélio F. Tembe, MSc. 36


Endereço

Endereço é utilizado para endereçar uma célula e é formado por um grupo de bits.
Podemos ter máquinas com mesmo tamanho de célula e quantidade diferente de
células.
Endereço Conteúdo
000 Palavra 0
001 Palavra 1
010 Palavra 2
011 Palavra 3
100 Palavra 4
101 Palavra 5
110 Palavra 6
111 Palavra 7

Cada palavra tem um endereço binário específico.


Eng.º Adélio F. Tembe, MSc. 37
Endereço

Tamanho do endereço:
Cada endereço da memória é obtido por E bits que representa o
tamanho do endereço.
Então, para armazenar N endereços no REM (registrador de
endereços de memória) gastamos E bits (ou linhas de endereço),
logo N=2E.

Exemplo: Se o número total de células é N=1024, quantas bits usamos


para endereçamento?
1024 = 210, então E=10.
São necessários 10 bits para armazenar (ou linhas de endereço)

Eng.º Adélio F. Tembe, MSc. 38


Endereço - Exemplos

Exemplo 1:
Memória com 8K células de 8 bits cada uma.
Qual a capacidade da memória?
23K x 8 bits
213 x 23 bits = 216 bits = 64 K bits
(se utilizarmos bytes como medida de capacidade)
26 K / 23 = 23 K bytes

Eng.º Adélio F. Tembe, MSc. 39


Endereço - Exemplos

Exemplo 2:
Memória com 128K células = 27 células de 8 bits cada uma.
Qual a capacidade da memória?
128K x 1 = 128K bytes

Eng.º Adélio F. Tembe, MSc. 40


Capacidade da memória -
Exemplos
Capacidade da memória
T=NxM
Onde N é o número de células e M o número de bits de cada célula.

Exemplo: N=1024 e M=4bits


T=1024*4 = 4096 bits = 210 x 4 bits = 4K bits = 512 bytes (4096 / 8)
1K=210=1024, 1M=220=1.048.576, 1G=230=1.073.741.824

Exemplo: Se cada célula da memória pode armazenar 8 bits e um int em C possui


4 bytes (i.e., 4 x 8 bits), então cada acesso à memória traz 4 células para a UCP
(são necessárias 4 células para armazenar um inteiro).
Se M (tamanho da célula) = 4 bits, quantos valores diferentes podemos ter
armazenados?
24 valores
Eng.º Adélio F. Tembe, MSc. 41
Memórias Semicondutors

Eng.º Adélio F. Tembe, MSc.


42
Principios de Operação

Independente dos tipos de memórias existentes, o princípio básico de


operação é o mesmo:
Selecionar o endereço a ser acessado (leitura ou escrita);
Selecionar o tipo de operação: leitura ou escrita;
Se a operação for escrita, fornecer os dados de entrada;
Se a operação for leitura, os dados estarão disponíveis na saída;
Habilitar a memória para que a operação seja concluída e
desabilitar a memória para que ela não responda às entradas de
endereço e ao comando de leitura/escrita.

Eng.º Adélio F. Tembe, MSc. 43


Diagrama Básico de Memória

Eng.º Adélio F. Tembe, MSc. 44


Conexões entre o µP e a Memória

As memórias RAM e ROM são interfaceadas com a CPU através de


três grupos de linhas de sinais ou barramentos: barramentos de
endereço, barramento de dados e barramento de controle.

Eng.º Adélio F. Tembe, MSc. 45


Memória Somente de Leitura (ROM)

A memória somente de leitura (ROM) é um tipo de memória onde


os dados nela armazenados não são alterados ou não mudam.

Eng.º Adélio F. Tembe, MSc. 46


Arquitectura de uma Memória

Eng.º Adélio F. Tembe, MSc. 47


Tipos de Memória ROM

ROM Programada por Máscara – este tipo de ROM tem suas posições
escritas (programadas) pelo fabricante de acordo com as especificações
do cliente. Uma máscara (tipo de negativo fotográfico) é usada para
informar as conexões elétricas do chip. Este tipo de ROM é usado para
armazenar tabelas ou informações pré-programadas como códigos
geradores de caracteres de terminais de vídeo.

ROM Programável (PROM) – tipo de memória ROM onde a


programação é feita apenas uma única vez pelo usuário. Esta
programação consiste na queima ou não de um fusível que corresponde
a um bit de informação por um equipamento chamado programador.
Eng.º Adélio F. Tembe, MSc. 48
Tipos de Memória ROM

ROM Programável e Apagável (EPROM) – tipo de memória ROM


que pode ser programada e apagada pelo usuário várias vezes.

O processo de programação consiste em aplicar certos níveis de


tensões que provocam a condução permanente ou não
condução de transistores MOS.

O apagamento da memória é feito pela exposição dos circuitos


internos à luz ultravioleta através de uma “janela”.

Eng.º Adélio F. Tembe, MSc. 49


Tipos de Memória ROM

PROM Apagável Eletricamente (EEPROM) – é uma melhoria em


relação às EPROMs pois pode ser tanto programada como
apagada eletricamente.
Assim, elas podem ser programadas e apagadas no próprio
circuito, sem a necessidade de luz ultravioleta ou um
programador especial.

CD ROM – tipo de armazenamento somente para leitura que


utiliza tecnologia laser. Os bits são definidos pela reflexão ou não
de um feixe laser apontado para um ponto do disco.

Eng.º Adélio F. Tembe, MSc. 50


DISPOSITIVOS LÓGICOS
PROGRAMÁVEIS

Eng.º Adélio F. Tembe, MSc. 51


Dispositivos Lógicos Programáveis

Dispositivos Lógicos Programáveis (PLD) são chips (IC) com portas


lógicas internas ligadas por fusíveis electrónicos.
Esses fusíveis podem ser 'queimados' (por programação) para obter
diferentes configurações de circuito.
Alguns tipos de PLDs são:

Lógica de matriz programável (PLA)


Programmable Read Only Memory (PROM)
Matriz de lógica programável (PAL)
CPLD (complexo dispositivo lógico programável) – Uma coleção de PLD
está em um chip com interligações programáveis on-chip
FPGA (field programmable gate array) – Grande número de blocos lógicos
básicos (portas simples) com interligação programável X / Y.

Eng.º Adélio F. Tembe, MSc. 52


Dispositivos Lógicos Programáveis

Arranjo Fusíveis Arranjo OR


Entradas AND fixo programável Saídas
por fusível

Programmable Read Only Memory (PROM)

Fusíveis Arranjo AND Arranjo OR


Entradas programável fixo Saídas
por fusível

Programmable Array Logic (PAL)

Fusíveis Arranjo AND Fusíveis Arranjo OR


Entradas programável programável Saídas
por fusíveis por fusíveis

Programmable Logic Array (PLA)

Eng.º Adélio F. Tembe, MSc. 53


Dispositivos Lógicos Programáveis

“Programando” um array – queimando os fusíveis.

A A' B B' A A' B B'

x1 x1 = A.B

x2 x2 = A'.B

x3 x3 = A.B'

(a) Desprogramado (b) Programado

Exemplo de um arranjo (array) AND básico

Eng.º Adélio F. Tembe, MSc. 54


Dispositivos Lógicos Programáveis

PLDs usam diodos. Um diodo PN é um dispositivo


electrónico formado através da criação de uma junção de
dois tipos de material de semicondutor, tipo N e tipo p.

Polarizado diretamente: Quando o ânodo é mais positivo do


que o cátodo, ele funciona como um interruptor fechado.

Polarizado inversamente: Quando o cátodo é mais positivo


do que ânodo, ele se comporta como um circuito aberto.

Eng.º Adélio F. Tembe, MSc. 55


Funcionamento do Diode PN
+V A B
(a) (d)

A B

(b) +V (e) A=0 B=0

A=1 B=1
+V A=1 B=1
(c) (f)

A=0 B=0
Operação do diodo PN como função digital .
(a) Com pull-up resistor. (d) Com pull-down resistor.
(b) P inversa: diodo aberto; B pulled up (e) P inversa: diodo aberto; B pulled
para 1. down para 0.
(c) P directa: diodo fechado, obriga B (f) P directa: diodo fechado, obriga B
para 0. para 1.
Eng.º Adélio F. Tembe, MSc. 56
AND Logic Arrays
+V +V
(a) (c)

f(A,B,C) f(A,B,C) = 0
A = A.B.C A=0
B B=1
C C=1

+V (d) +V
(b)

f(A,B,C) = 1 f(A,B,C) = 0
A=1 A=0
B=1 B=0
C=1 C=1

Função AND realizada com diodos.


(a) Configuração Básica.
(b) Todos os diodos abertos; obriga f pulled up
(c) Um diodo fechado, obriga f para 0.
para 1. (d) Multiples diodos fechados, obriga f para 0.
Eng.º Adélio F. Tembe, MSc. 57
OR Logic Arrays
(a) A
B
C
f(A,B,C) = A+B+C

(b) A=0 A=1


(c)
B=0 B=0
C=0 C=0
f(A,B,C) = 0 f(A,B,C) = 1

Função OR realizada com diodos (array).


(a) Configuração Básica .
(b) Todos os diodos abertos; f pulled up para 0.
(c) Um diode fechado, obriga f para 1.

Eng.º Adélio F. Tembe, MSc. 58


Arranjo (Arrays) AND-OR de 2 níveis

Os circuitos AND and OR podem ser interconectados para


realizar qualquer função de comutação.Exemplo:
f(a,b,c)=a.b.c'+b'.c

Eng.º Adélio F. Tembe, MSc. 59


Programmable Logic Array (PLA)

Combinação de um arranjo (array )programável AND,


seguido por um arranjo programável OR .
Exemplo: Projectar um PLA para realizar as seguintes
funções lógicas e mostrar as conecções internas.
f1(A,B,C,D,E) = A'.B'.D' + B'.C.D' + A'.B.C.D.E'
f2(A,B,C,D,E) = A'.B.E + B'.C.D'.E
f3(A,B,C,D,E) = A'.B'.D' + B'.C'.D'.E + A'.B.C.D

Eng.º Adélio F. Tembe, MSc. 60


Realizando a função com PLAs
f1(A,B,C,D,E) = A'.B'.D' + B'.C.D' + A'.B.C.D.E'
f2(A,B,C,D,E) = A'.B.E + B'.C.D'.E
f3(A,B,C,D,E) = A'.B'.D' + B'.C'.D'.E + A'.B.C.D
A
X X X X
B X X X

Programável
X X X X

Arranjo
C X X X X

AND
X
D X X
X X X X
E X X X
X
Programável

A'.B'.D' B'.C.D' A'.B.C.D.E'


X X X f1
Arranjo

OR

X X f2
X X X f3
P1 P2 P3 P4 P5 P6 P7
A'B'D' A'BCDE' B'CD'E A'BCD
B'CD' A'BE B'C'D'E
Eng.º Adélio F. Tembe, MSc. 61
Read-Only Memory (ROM)

Uma memória semiconductora é um dispositivo onde os dados


podem ser armazenados e recuperados.
Logicamente, este dispositivo de memória pode ser considerado
como uma tabela de células de memória (de dados).

0 1 palavra de
Endereços 1 dados
2
3
:
: : 1-bit
: : dado
:
n

Tamanho da palavra

Eng.º Adélio F. Tembe, MSc. 62


Read-Only Memory (ROM)

A memória só de leitura (ROM) é um dispositivo de


memória onde os dados são lidos, mas não escritos.
Escrita é feito no momento da personalização, ou, por
meio de dispositivos especiais de programação.
Qualquer expressão booleana pode ser implementado
usando ROM. Procedimento: Obter uma tabela verdade,
tratar as entradas e saídas como endereços e como
dados.
Vantagem: funções booleanas aplicadas diretamente.
Desvantagens: Não importa as condições não utilizadas,
e variáveis de entrada limitadas (por exemplo, 10
entradas - 1K, 16 entradas - 64K, 20 entradas - 1M).

Eng.º Adélio F. Tembe, MSc. 63


Read-Only Memory (ROM)

Diferentes tipos de dispositivos de ROM disponíveis:


ROM: Read-Only Memory
Dados gravados na memória pela programação em máscara
durante o tempo de fabricação. Custo inicial caro, mas econômica
para alto volume. Não pode ser apagada depois que os dados são
programados.
PROM: Programmable ROM
Chip de semi-custom. Fusíveis podem ser queimados por uma
unidade especial de hardware programador. Relação de custo-
benefício para volumes baixos. Não podem ser apagadas após a
programação.

Eng.º Adélio F. Tembe, MSc. 64


Read-Only Memory (ROM)

EPROM: PROM apagável


Semelhante a PROM excepto que os dados podem ser
completamente apagados pela exposição à luz ultra-
violeta.
EEPROM: PROM apagável eletricamente
Uma PROM onde os dados podem ser apagados
selectivamente pela unidade de programação de hardware,
em vez de por luz ultra-violeta. Útil para dispositivos
remotos que podem ser re-programadas a partir de uma
distância.

Eng.º Adélio F. Tembe, MSc. 65


Programmable Read-Only Memory
(PROM)
Dispositivos com array AND fixo (que é um decodificador)
e matriz OU programável.
O array AND (decodificador) gera todos 2^n possíveis
produtos mintermos de suas n entradas (muitas vezes
referida como decodificador n-para-2^n).
n linhas de entrada , m linhas de saída.
Combinação variáveis de Bit de entrada - endereço.
Combinação de Bit de linhas de saída - palavra (cada
palavra contém m bits).

Eng.º Adélio F. Tembe, MSc. 66


Programmable Read-Only Memory
(PROM)

I0 X X X X

Arranjo AND
X X X X
I1 X X X X

fixo
X X X X
I2 X X X X
Programável X X X X

O1
Arranjo OR

O2
.. ..
. .
Ok

m0 m1 m2 m3 m4 m5 m6 m7
Mintermos

Programmable read-only memory (PROM) pode realizar K funções f(I2,I1,I0).

Eng.º Adélio F. Tembe, MSc. 67


Programmable Read-Only Memory
(PROM)

n entradas

2n x m ROM
2n x m
=> 2n palavras, cada palavra m
ROM bits
=> 2n x m bits

m saídas

Eng.º Adélio F. Tembe, MSc. 68


Programmable Read-Only Memory
(PROM)
Entradas Mintermos
de
endereço
0
A0 1
5 x 32 2
A1
A2 decodific .
ador .
A3 .
A4
31
... ... ... ...
128
fusíveis

F1 F2 F3 F4

Construção Lógica de uma 32 x 4 ROM.


Eng.º Adélio F. Tembe, MSc. 69
Realizando Funções Lógicas
com PROMs
Exemplo (8 x 3 ROM):
f1(A,B,C) = A.B + B'.C
f2(A,B,C) = (A+B'+C).(A'+B)
f3(A,B,C) = A + B.C
Primeiro, convertimos cada função para sua forma canónica.
f1(A,B,C) = A.B + B'.C = A.B.C' + A.B.C + A'.B'.C + A.B'.C
= Σ m(1,5,6,7)
f2(A,B,C) = (A+B'+C).(A'+B)
= (A+B'+B).(A'+B+C').(A'+B+C)
= Π M(2,4,5) = Σ m(0,1,3,6,7)
f3(A,B,C) = A + B.C = A.B'.C' + A.B'.C + A.B.C' + A.B.C + A'.B.C
= Σ m(3,4,5,6,7)

Eng.º Adélio F. Tembe, MSc. 70


Realizando Funções lógicas com
PROMs

C X X X X
X X X X

AND fixo
Arranjo
B X X X X
X X X X
A X X X X
X X X X
Programável

X X X X f1 = Σ m(1,5,6,7)
Arranjo OR

X X X X X f2 = Σ m(0,1,3,6,7)
X X X X X f3 = Σ m(3,4,5,6,7)

m0 m1 m2 m3 m4 m5 m6 m7
Mintermos

Eng.º Adélio F. Tembe, MSc. 71


Realizando Funções lógicas com
PROMs
Entradas Mintermos
de
endereço
C 0
3x8 1
B 2
A decoder 3
4
5
6
7

8 x 3 ROM

0: 0 1 0
1: 1 1 0
2: 0 0 0
3: 0 1 1
4: 0 0 1
5: 1 0 1 f1 = Σm(1,5,6,7) f3 = Σm(3,4,5,6,7)
6: 1 1 1
7: 1 1 1 f2 = Σm(0,1,3,6,7)

Eng.º Adélio F. Tembe, MSc. 72


Programmable Array Logic (PAL)

Introduzido no final dos anos 1970 como substituição de


menor custo de portas lógicas, PROM, e PLAs.

PAL tem, matriz AND programável e matriz OU fixa.

Menos geral que o PLA, mas mais fácil de fabricar e


projectar.

Termos de produto pertencem às diferentes portas OU,


não podem ser compartilhados.

Eng.º Adélio F. Tembe, MSc. 73


Programmable Array Logic (PAL)
A B C D

P1
P2 O1
P3

P4
P5 O2
P6

Arranjo AND Arranjo


OR fixo
Programável

Eng.º Adélio F. Tembe, MSc. 74


Realizando funções lógicas com
PALs
Obter as expressões em forma de soma de produtos.
Examplo:
fα(A,B,C,D) = A'.B'.D' + B'.C.D' + A'.B.C.D
fβ(A,B,C,D) = A'.B + B'.C.D'
fχ(A,B,C,D) = A'.B'.D' + B'.C'.D' + A'.B.C.D

Eng.º Adélio F. Tembe, MSc. 75


Realizando funções lógicas com
PALs
fα(A,B,C,D) = A'.B'.D' + B'.C.D'
+ A'.B.C.D
A B C D
PAL realização
fβ(A,B,C,D) = A'.B + B'.C.D' de fα, fß e fχ
fχ(A,B,C,D) = A'.B'.D' + B'.C'.D'
+ A'.B.C.D

P1 x x x

P2 x x x fα
P3 x x x x

P4 x x

P5 x x x fβ
P6 x x x x x x x x

P4 x x x

P5 x x x fχ
P6 x x x x

Eng.º Adélio F. Tembe, MSc. 76


PLAs

Arranjo AND Programável e Arranjo OR Programável

Eng.º Adélio F. Tembe, MSc. 77


PALs

Arranjo AND Programável e Arranjo OR “Fixo”

Eng.º Adélio F. Tembe, MSc. 78

Você também pode gostar