Nível da Lógica Digital
(Aula 7)
Circuitos Lógicos Digitais Básicos
Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I – Eng. Elétrica 2007/2
Agradecimentos: Camilo Calvi - LPRM/DI/UFES Sistemas de Programação I – 2007/2 2222 Profa Roberta L.G. - LPRM/DI/UFES
Circuitos Integrados
CIs (chips/pastilhas)
Agrupa portas lógicas Pastilhas de silício DIP (Dual Inline Package)
Invóculo c/ 2 linhas de pinos
Tipos (de acordo c/ a densidade)
SSI (Small-Scale Integration ): 1-10 portas MSI (Medium “ “ ): 10-100 LSI (Large “ “ ): 100-100.000 VLSI (Very-large “ “ ): > 100.000
ULSI (Utra Large...): > 1.000.000
A tecnologia atual permitiria então colocar
5x106de portas NAND em um chip
Por que não produzir chips genéricos deste tipo
http://www.inf.ufes.br/~rgomes/sp1.htm
Circuitos Combinacionais
Circuitos com várias entradas
e várias saídas, em que as saídas dependem apenas dos
valores presentes das
entradas Sem memória
Ex.: Função Maioria
http://www.inf.ufes.br/~rgomes/sp1.htm
Multiplexadores
(1)
Um Multiplexador (MUX) é um circuito com
2nentradas de Dados
n entradas de Controle (i.e. código de n bits)
uma saída de dados
O código de n bits das entradas de controle efetua a
seleção de uma das entradas de dados.
A entrada selecionada é roteada (selecionada) para a saída.
Sistemas de Programação I – 2007/2 5555 Profa Roberta L.G. - LPRM/DI/UFES
Multiplexadores
(2)
Multiplexadores podem
também ser considerados
conjuntos (módulos)
combinacionais universais
Função Maioria
Sistemas de Programação I – 2007/2 6666 Profa Roberta L.G. - LPRM/DI/UFES
Multiplexadores
(3)
Exemplo de aplicação: Conversão paralelo-série de dados
de 8 bits
Transferência de 8 linhas de entrada para 1 linha de saída
8 bits em paralelo nas entradas
Alternar sequencialmente os valores de 000 até 111 nas linhas de
controle
Os bits da entrada são colocados em série na saída
Usado na implementação de um teclado
Conceito usado em telecomunicações
Sistemas de Programação I – 2007/2 7777 Profa Roberta L.G. - LPRM/DI/UFES
http://www.inf.ufes.br/~rgomes/sp1.htm
Multiplexadores
(4)Controle e roteamento de sinais - Controla qual dispositivo entre a cpu
e os canais de dados , pode fazer acesso à memória
Sistemas de Programação I – 2007/2 8888 Profa Roberta L.G. - LPRM/DI/UFES
http://www.inf.ufes.br/~rgomes/sp1.htm
Demultiplexadores
(1)
Inverso de um multiplexador
Um Demultiplexador (Distribuidor) possui
única linha de entrada de dados
n entradas de controle
2nsaídas
Roteia o sinal presente em sua para uma de suas, de
acordo com o código de n bits das entradas de controle
(variáveis de seleção).
Se o valor binário nas linhas de controle for k, a k-ésima saída é selecionada.
Sistemas de Programação I – 2007/2 9999 Profa Roberta L.G. - LPRM/DI/UFES
Demultiplexadores
(2)Sistemas de Programação I – 2007/2 10101010 Profa Roberta L.G. - LPRM/DI/UFES
Decodificadores
(1)Um Decodificador é um circuito que recebe na entrada um número
de n bits, utilizando-o para selecionar exatamente uma das suas 2n
linhas de saída.
Uma palavra de código de entrada ativa apenas a linha de
saída associada. As outras permanecem desativadas. No máximo, uma saída binária (yi, por exemplo) é igual a 1
Converte um código binário para um código 1-entre-2n
Cada linha de saída é associada exclusivamente a uma palavra de
código correspondente.
Um decodificador binário e a porta OR formam um conjunto universal.
Um decodificador binário é usado para identificar e habilitar um
elemento dentre um conjunto de elementos codificados. Eg: seleção de um dentre vários chips
Memória c/ 4 chips -> 2 bits mais significativos selecionam o chip através de um decodificador
http://www.inf.ufes.br/~rgomes/sp1.htm
Decodificadores
(2)http://www.inf.ufes.br/~rgomes/sp1.htm
Sistemas de Programação I – 2007/2 13131313 Profa Roberta L.G. - LPRM/DI/UFES
Escolha de uma célula
para operação de leitura/escrita.
Decodificadores
(4)Sistemas de Programação I – 2007/2 14141414 Profa Roberta L.G. - LPRM/DI/UFES
Decodificadores
(5)
Determinar a operação especificada em uma instrução
Sistemas de Programação I – 2007/2 15151515 Profa Roberta L.G. - LPRM/DI/UFES
http://www.inf.ufes.br/~rgomes/sp1.htm
Codificadores
(1)
Realiza a função inversa de decodificador.
Converte um código 1-entre-2
npara um código binário.
Possui
2nentradas
No máximo, uma das entradas (xi, por exemplo) pode ser igual a 1
n saídas
Entrada adicional (
enable
- E)
Saída adicional (
active
– A, Módulo ativo)
permite detectar a situação em que nenhuma das entradas está
Sistemas de Programação I – 2007/2 16161616 Profa Roberta L.G. - LPRM/DI/UFES
http://www.inf.ufes.br/~rgomes/sp1.htm
Sistemas de Programação I – 2007/2 17171717 Profa Roberta L.G. - LPRM/DI/UFES
Codificador de Prioridade
(1)
Um Codificador de Prioridade pode ter diversas
entradas com o valor 1.
A saída representa, em um código binário, o índice da
entrada de mais alta prioridade que tem o valor 1.
A prioridade é uma ordenação fixa implementada pelo
codificador.
Pode ser construído utilizando-se 2 subsistemas:
Subsistema de Resolução de Prioridade (determina a entrada
de maior prioridade, mantendo-a com valor 1 e mudando para 0 as demais entradas que tenham valor 1)
Codificador Binário
Sistemas de Programação I – 2007/2 18181818 Profa Roberta L.G. - LPRM/DI/UFES
Codificador de Prioridade
(2)http://www.inf.ufes.br/~rgomes/sp1.htm
Codificador de Prioridade
(4)Usado na interrupção de computadores
Resolver pedidos de interrupção a um processador usando um codificador
de prioridades
http://www.inf.ufes.br/~rgomes/sp1.htm
Comparadores
(1)
Um circuito Comparador compara duas palavras que lhe
são entregues na entrada.
Princípio baseado na porta XOR (EXCLUSIVE OR)
Coloca 0 na saída se suas entradas forem iguais
Coloca 1 na saída se forem diferentes
Uma porta NOR indica o resultado da comparação
Se as duas palavras forem iguais
Sistemas de Programação I – 2007/2 21212121 Profa Roberta L.G. - LPRM/DI/UFES
Comparadores
(2)Existem também redes de comparadores em que a saída pode assumir valores do conjunto (G,E,S) (Greater, Equal, Smaller)
Sistemas de Programação I – 2007/2 22222222 Profa Roberta L.G. - LPRM/DI/UFES
Circuitos Aritméticos
Deslocadores (Shifters)
A saída é a entrada deslocada de 1 bit
A linha de controle C determina a direção do deslocamento
0 para a esquerda e 1 para a direita
Sistemas de Programação I – 2007/2 23232323 Profa Roberta L.G. - LPRM/DI/UFES
http://www.inf.ufes.br/~rgomes/sp1.htm
Deslocadores
(2)Sistemas de Programação I – 2007/2 24242424 Profa Roberta L.G. - LPRM/DI/UFES
http://www.inf.ufes.br/~rgomes/sp1.htm
Somadores
(1)Não se pode imaginar um computador sem um somador
Meio-Somador
Sistemas de Programação I – 2007/2 25252525 Profa Roberta L.G. - LPRM/DI/UFES
Somadores
(2)Somador Completo
Observe que ele é formado por dois
meio-somadores
Sistemas de Programação I – 2007/2 26262626 Profa Roberta L.G. - LPRM/DI/UFES
Somadores
(3)
Somadores de 16 ou de 32 bits
Somador com
Carry
Propagado (Transporte
Propagado)
Basta replicar 16 ou 32 vezes o somador completo de 1 bit
O vai-1 de uma posição é usado como vem-1 da posição seguinte
O vem-1 da posição mais à direita deve ser fixado em 0
A soma não se completa até que o carrytenha percorrido todo o
caminho entre a posição do bit mais à direita e a posição do bit mais à esquerda (há um retardo associado)
http://www.inf.ufes.br/~rgomes/sp1.htm
Somadores
(4)Somador de Transporte Antecipado
Determina os valores de todos os vem-1 para os módulos somadores
completos (Gerador de Transporte Antecipado - GTA)
Em seguida, computa simultaneamente todos os bits do resultado
http://www.inf.ufes.br/~rgomes/sp1.htm
Unidades Lógicas Aritméticas – ULAs
(1)
Um circuito único, presente em muitos processadores, que
realiza as operações lógicas básicas (AND, OR, NOT, ...) e
operações aritméticas, de acordo com valores de linhas de
Seleção de Função.
ULAs de 1 bit podem ser agrupadas em ULAs de quantos
Sistemas de Programação I – 2007/2 29292929 Profa Roberta L.G. - LPRM/DI/UFES
ULAs
(2)ENA: enable A ENB: enable B INVA: invert A
Sistemas de Programação I – 2007/2 30303030 Profa Roberta L.G. - LPRM/DI/UFES
Unidades Lógicas Aritméticas – ULAs
(3)Sinais de entrada (A0..7e B0..7). Sinais de Controle (F0e F1). Sinais de
Saída (O0..1).
O sinal INC incrementa o resultado de 1 unidade
Possibilitando somas como: (A + 1) e (A + B + 1).
Sistemas de Programação I – 2007/2 31313131 Profa Roberta L.G. - LPRM/DI/UFES
http://www.inf.ufes.br/~rgomes/sp1.htm
Unidades Lógicas Aritméticas – ULAs
(4)
Parte do
datapath
(busca da próxima instrução)
palavras de 32bits, células de 1 byte
Instruction <- MEM[PC] PC <- PC + 4 RD Memory ADDR PC Instruction 4 ADD
Sistemas de Programação I – 2007/2 32323232 Profa Roberta L.G. - LPRM/DI/UFES
http://www.inf.ufes.br/~rgomes/sp1.htm
Unidades Lógicas Aritméticas – ULAs
(5)
Exemplo muito simples de um
datapath
(caminho de dados)
Sistemas de Programação I – 2007/2 33333333 Profa Roberta L.G. - LPRM/DI/UFES
Clocks
(1)Um clocké um circuito que emite uma série de pulsos do mesmo
tamanho, a intervalos precisos entre pulsos consecutivos.
Período do Clock: intervalo de tempo entre duas transições
consecutivas dos pulsos do clock
Os clockssão utilizados para se estabelecer relações de tempo
necessárias na ocorrência de eventos
O período do clock pode ser dividido em sub-períodos
Se há vários eventos ocorrendo em um mesmo período de clock e eles
precisam ser ordenados
1. Transição positiva de C1
2. Transição negativa de C1
3. Transição positiva de C2
4. Transição negativa de C2
Sistemas de Programação I – 2007/2 34343434 Profa Roberta L.G. - LPRM/DI/UFES
Clocks
(2)
Sinais de clock são simétricos
O tempo Gasto no estado alto é igual ao tempo gasto no estado
baixo
Para gerar pulsos assimétricos, basta colocar como
entrada de uma porta AND
o sinal de clock
o sinal com retardo
http://www.inf.ufes.br/~rgomes/sp1.htm
Referências
Andrew S. Tanenbaum, Organização Estruturada de Computadores, 5ª
edição, Prentice-Hall do Brasil, 2007.
John L. Hennessy and David A. Patterson, Arquitetura de Computadores:
Uma Abordagem Quantitativa. 3ª edição. Editora Campus, 2003.
Milos Ercegovac, Tomas Lang, Jaime H. Moreno. Introdução aos Sistemas