2. Sistemas de Numeração

Transcrição

2. Sistemas de Numeração
Domínios da Informação
» RAM /abr./: RARELY ADEQUATE
MEMORY, BECAUSE THE MORE
MEMORY A COMPUTER HAS, THE
FASTER IT CAN PRODUCE ERROR
MESSAGES «
Um
termómetro
marca a
temperatura
numa escala
real, contínua
0
1
1
0
1
0
Um computador manipula
informação discreta, em termos
de zeros e uns
Anonymous
74.53
ANALÓGICO
DIGITAL
TC – DEI, 2004/2005
TC – DEI, 2004/2005
Domínios da Informação (2)
Introdução aos
Sistemas Digitais
Nos sistemas electrónicos, tipicamente a
informação é representada em termos de
tensão num determinado ponto do circuito
Tensão (V)
Tensão (V)
+5V (H ou 1)
Paulo Marques
[email protected]
http://www.dei.uc.pt/~pmarques
Tecnologia dos Computadores 2004/2005
0V (L ou 0)
Tempo (s)
ANALÓGICO
Tempo (s)
DIGITAL
TC – DEI, 2004/2005
Sistemas Digitais
Gates NOT (Inversor)
Existem diversas famílias de circuitos integrados para
sistemas digitais. Duas das mais famosas são:
TTL (Transistor-Transistor Logic)
CMOS (Complementary Metal Oxide Semiconductor)
Cada família possui um conjunto de tensões que
reconhece como sendo 0 ou 1
1
2.4V
0.4V
Diagrama
X
Y=X
14
13
12
11
Tabela Verdade
Y
10
9
0
Saída
Entrada
Y
0
1
1
0
8
74LS04
Níveis
TTL
0
X
V
C
C
1
2.0V
0.8V
Expressão Booleana
G
N
D
1
2
3
4
5
6
7
TC – DEI, 2004/2005
Gates (ou Portas)
TC – DEI, 2004/2005
Gates AND (“E”)
Uma gate representa uma função lógica básica
que se pode a um conjunto de bits
NOT
AND
OR
XOR
Tabela Verdade
Diagrama
Expressão Booleana
A
A
Y = A⋅B
Y
B
14
NAND
NOR
13
12
11
10
9
B
Y
0
0
0
0
1
0
1
0
0
1
1
1
8
V
C
C
74LS08
G
N
D
1
TC – DEI, 2004/2005
2
3
4
5
6
7
TC – DEI, 2004/2005
Gates OR (“Ou”)
Gates NAND e NOR
Tabela Verdade
Diagrama
Expressão Booleana
A
A
Y =A+B
Y
B
B
Correspondem às gates AND e OR com um inversor à
frente
Y
0
0
0
0
1
1
1
0
1
1
1
1
Y = A⋅B
Tabela Verdade
Diagrama
Expressão Booleana
A
Y
B
14
13
12
11
10
9
8
V
C
C
74LS32
Y =A+B
G
N
D
1
2
3
4
5
6
A
Y
B
7
TC – DEI, 2004/2005
Gates XOR (“Ou Exclusivo”)
A
A
Y = A⊕B
Y
B
Y
0
0
1
0
1
1
1
0
1
1
1
0
A
B
Y
0
0
1
0
1
0
1
0
0
1
1
0
TC – DEI, 2004/2005
NAND e NOR
Tabela Verdade
Diagrama
Expressão Booleana
B
Tabela Verdade
Diagrama
Expressão Booleana
A
B
As portas NAND e NOR são importantes pois
podem ser ligadas para se comportar como
todas as outras
Y
0
0
0
0
1
1
1
0
1
1
1
0
Portas Universais
Y = A ⊕ B = AB + AB
14
13
12
11
10
9
8
V
C
C
X
NAND
COMO INVERSOR
74LS86
G
N
D
1
2
3
4
5
6
X
NAND
COMO AND
NAND
COMO OR
7
TC – DEI, 2004/2005
TC – DEI, 2004/2005
Tabela de Verdade
Tabela de Verdade
Uma das ferramenta básica de trabalho de
sistemas digitais
Para todas as entradas possíveis, enumera quais as
saídas que se quer obter
A partir da tabela de verdade extrai-se a função a
implementar. Tipicamente, na forma SOMA DE
PRODUTOS.
A
0
0
B
0
0
C
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
Y
TC – DEI, 2004/2005
Exemplo: Circuito de Votação
TC – DEI, 2004/2005
Tabela de Verdade
Dadas três entradas distintas, determinar a maioria
O LED acende quando existem duas entradas activas
A
0
0
B
0
0
C
0
1
Y
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
A⋅B⋅C
A⋅B⋅C
A ⋅B⋅C
A ⋅B⋅C
Y = A ⋅B⋅C + A ⋅B⋅C + A ⋅B⋅C + A ⋅B⋅C
TC – DEI, 2004/2005
TC – DEI, 2004/2005
Circuito Votador
Algebra de Bool
Idempotência
Elementos neutro e absorvente
A+0=A
A+1=1
A⋅0 = 0
A⋅1 = A
Teoremas de Simplificação
A + AB = A + B
AB + AB = B
A+A=A
A⋅A = A
Complementariadade
A+A=1
A⋅A = 0
Comutatividade e Distributividade
A⋅B = B⋅A
A+B = B+A
A⋅(B+C) = A⋅B + A⋅C
Leis de DeMorgan
(A⋅B) = A + B
(A+B) = A⋅B
TC – DEI, 2004/2005
Algumas notas importantes
TC – DEI, 2004/2005
Expressões simplificadas
É possível descrever um circuito em termos de:
Entradas e Saídas
Tabela de Verdade que mapeia as entradas na saída
Caso não tenhamos um integrado com portas
suficientes, pode-se sempre construir a partir de outras
(e.g. Criar um AND de 3 portas a partir de um AND de
2 portas)
A forma SOMA DE PRODUTOS exprime a
funcionalidade do circuito. No entanto, a forma “soma
de produtos” directa não está simplicada.
Lógica de Bool, Teoremas de DeMorgan, Mapas de Karnaught,
etc.
É tipicamente possível simplificar as expressões.
TC – DEI, 2004/2005
Y = ABC + ABC + ABC + ABC
= BC(A+A) + ABC + ABC
= BC + ABC + ABC
= C(B+AB) + ABC
= C(A+B) + ABC
= AC + BC + ABC
= AC + B(C+AC)
= AC + B(A+C)
= AC + AB + BC
Nós não faremos isto porque os computadores
já nos simplificam as expressões!!!
TC – DEI, 2004/2005
Simplificado vs. Não Simplificado
Esquema do circuito
A
B
C
Y
NÃO SIMPLIFICADO
SIMPLIFICADO
A
B
C
Y
TC – DEI, 2004/2005
Trabalho Prático
TC – DEI, 2004/2005
PONTOS IMPORTANTES
Nunca se ligam duas saídas juntas
Interligar dois integrados MSI
Um contador síncrono (74LS163)
Um descodificador de BCD para display de 7
segmentos (74LS48)
O contador conta até 16, voltando a 0
O display mostra o valor em decimal
Excepto em alguns circuitos, isso é um curto-circuito
Não se deixam entradas não utilizadas a flutuar (i.e.
sem estarem ligadas)
Um circulo numa entrada, ou um traço por cima do
nome de um sinal quer dizer “activo a 0”
lógica
negativa.
Um triângulo numa entrada, quer dizer que é activo por
flanco (i.e. um sinal de relógio)
Só os valores até 9 são mostrados correctamente
Em lógica negativa, “activo” quer dizer estar a 0
Por exemplo, o contador é limpo usando o sinal CLR, que é
activo a zero. Quando o sinal está a 1, não tem efeito. Quando
está a 0, faz com que o contador faça um reset.
TC – DEI, 2004/2005
TC – DEI, 2004/2005
Aspecto final da montagem
Lei de Moore
O número de transistores num circuito
integrado duplica todos os 18 meses.
Isto é extremamente relevante porque... as
gates são feitas a partir de transistores!
TC – DEI, 2004/2005
Quiz
TC – DEI, 2004/2005
Níveis de Integração
Como é que se pode alterar o circuito
apresentado para que o número a seguir a 9
seja 0?
Número de
Gates
Small Scale Integration
SSI
2-10
Lógica discreta
(Portas AND, OR, etc.)
50-100
Somadores, Multiplicadores,
Contadores, etc.
Medium Scale Integration
MSI
100-10.000
Unidades Aritméticas e
Lógicas, processadores
simples, etc.
> 10.000
Processadores, Memórias,
Chipsets, etc.
Large Scale Integration
LSI
Very Large Scale Integration
VLSI
TC – DEI, 2004/2005
Exemplos
TC – DEI, 2004/2005
A placa que iremos usar nas práticas...
Equivalente a 2.500 gates
Equivalente a 70.000 gates
PS: “Gate” não está relacionado com o Sr. Bill Gates ☺
TC – DEI, 2004/2005
TC – DEI, 2004/2005
Para saber mais...
Digital Design with CPLD
Applications and VHDL, by
Robert K. DueckDelmar
Learning,
ISBN0766811603, June 2000
Sistemas Digitais
Circuitos Sequenciais
Capítulo 2 (todo)
Capítulo 3 (3.1, 3.2, 3.3*, 3.4*)
Paulo Marques
[email protected]
http://www.dei.uc.pt/~pmarques
Tecnologia dos Computadores 2003/2004
* Não ver em profundidade, ler
apenas para ficar com uma noção
do que está envolvido
TC – DEI, 2004/2005
O que faz este circuito?
Colocando o ‘1’ de cima a ‘0’
0
1
0
1
0
1
0
O ‘1’ mantem-se!
TC – DEI, 2004/2005
TC – DEI, 2004/2005
Colocando 1 em cima, 0 em baixo...
1
0
?
1
?
1
0
0
O ‘1’ surge em baixo!
TC – DEI, 2004/2005
TC – DEI, 2004/2005
Dois tipos fundamentais de circuitos
Colocando ‘0’ em cima e ‘1’ em baixo...
SEQUENCIAIS
COMBINACIONAIS
0
1
A
B
C
A
Y1
B
Y2
C
Y3
Y
As saídas dependem
unicamente das entradas
0
As saídas dependem das
entradas e do estado corrente
da memória
O sistema evolui ao longo do
tempo através de um conjunto
de estados
1
A entrada de baixo passa a ‘0’, a de cima
a ‘1’!
TC – DEI, 2004/2005
Latch (ou báscula) SR
SET
RESET
Circuitos síncronos e assíncronos
As básculas são assíncronas, levando a
imensos problemas a nível de sincronização.
Na prática, os sistemas sequenciais utilizam o
conceito de relógio e células de memória
síncronas.
Q
S
Q
R
Q
Q
Tabela de Excitação
Combinação proibida
TC – DEI, 2004/2005
S
0
1
0
1
R
0
0
1
1
Qn+1
Qn
1
0
???
Qn+1
Qn
0
1
???
TC – DEI, 2004/2005
Existe um pulso de relógio que mantém o sistema
sincronizado
Só existem alterações à saída dos circuitos de
memória na transição (ou flanco) de 0 para 1
1
0
TC – DEI, 2004/2005
Flip-Flop D
Exemplo de um circuito síncrono
A célula de memória básica!
D
Q
CLK
Q
Um contador de dois bits
Dois bits => dois flip-flops (Q1 e Q2)
O número de estados possíveis da máquina de
estados reflecte-se directamente no número de flipflops (i.e. células de memória) necessárias para a
implementar
Máquina de Estados
00
Tabela de Excitação
D
0
1
Qn+1
0
1
Qn+1
1
0
11
01
10
Note-se que o 0 ou o 1 só
surgem no próximo evento de clock!
TC – DEI, 2004/2005
Registo de 4 bits
TC – DEI, 2004/2005
Contador Síncrono de 2 bits
Tabela de Transição de Estado
IN0
D
Q
00
OUT0
CLK
11
IN1
D
Q
10
CLK
IN2
D
01
OUT1
Q
CLK
D
Q2n
0
1
0
1
Saídas Q
Q
Q1n+1 Q2n+1
0
1
1
0
1
1
0
0
OUT2
CLK
IN3
Q1n
0
0
1
1
OUT3
CLK
D
Q
CLK
Q
Entradas D
D1 = Q1⋅Q2 + Q1⋅Q2
D2 = Q1⋅Q2 + Q1⋅Q2
(simplificável...)
TC – DEI, 2004/2005
TC – DEI, 2004/2005
Esquemático
D1 = Q1⋅Q2 + Q1⋅Q2
D2 = Q1⋅Q2 + Q1⋅Q2
Exercício para casa
Implemente um contador que conte até de 0
até 6, regressando a 0. Caso o contador
“acorde” num número superior a 6, o valor
seguinte deverá ser 0!
Nível seguinte de dificuldade:
Considere que existe uma entrada extra chamada
UP/DOWN que especifica se o contador conta para
cima ou para baixo. Implemente-o.
Desenhe o circuito no Quartus II e simule-o.
TC – DEI, 2004/2005
TC – DEI, 2004/2005
TC – DEI, 2004/2005
TC – DEI, 2004/2005
Simulação
SSI/MSI
Programmable Logic Devices
» Keep the design as simple as
possible, but not simpler. «
Albert Einstein
(Spartan-3: 1.000.000 gates, €12)
(SSI, MSI: funções simples, ~1€)
TC – DEI, 2004/2005
TC – DEI, 2004/2005
Circuitos programáveis
Sistemas Digitais
Lógica Programável
Em vez de ter um conjunto de circuitos com
funcionalidades pré-definidas...
Custos elevados em manutenção de stocks
Necessidade de utilizar muitos integrados para implementar
uma certa funcionalidade
Não existência de determinadas funções
Baixa velocidade devido às interligações
Paulo Marques
[email protected]
http://www.dei.uc.pt/~pmarques
Tecnologia dos Computadores 2003/2004
Utiliza-se um circuito genérico, programável!
PLD
Programmable Logical Device
PAL
Programmable Array Logic
GAL
Generic Array Logic
CPLD
Complex Programmable Logic Device
FPGA
Field Programmable Gate Array
TC – DEI, 2004/2005
Estrutura de uma PAL (simplificado)
Vejamos os dois circuitos anteriores...
A
B
C
Y
Circuito votador (não simplificado)
TC – DEI, 2004/2005
TC – DEI, 2004/2005
Implementando uma função...
A
B
C
D
ABCD
ABCD
ABCD + ABCD + BD+ ABCD
BD
ABCD
Fusível Intacto
Contador (não simplificado)
TC – DEI, 2004/2005
TC – DEI, 2004/2005
Programação de PLDs
PAL22v10
Uma PLD possui blocos que são configuráveis,
queimando fusíveis internos (ou equivalente).
Existem pinos genéricos de entrada e de saída
Blocos AND-OR + Flip-flops + Buffers
Interligações em blocos
Utiliza-se uma linguagem de alto nível capaz de
exprimir o design de um circuito electrónico
E.g. PALASM, Abel, AHDL, Verilog, VHDL
O programa é compilado, explicitando de que forma é
que as gates presentes no circuito devem de ser
configuradas
TC – DEI, 2004/2005
PAL22v10
TC – DEI, 2004/2005
O Estado da Arte
Hoje em dia utilizam-se:
CPLDs (Complex Programmable Logic Devices)
FPGAs (Field Programmable Gate Arrays)
Uma CPLD / FPGA é basicamente um conjunto
enorme de PLDs interligadas por um sistema
de interligação programável
TC – DEI, 2004/2005
TC – DEI, 2004/2005
Estructura de uma CPLD (FPGA similar)
Altera UP2
2.5k + 70k gates disponíveis
Relógio a 25MHz
Programação via porto paralelo
Iremos utilizar VHDL
4 botões (2 pré-ligados)
24 interruptores (8 pré-ligados)
16 LEDs
2 displays 7-segmentos de 2 dígitos
(1 pré-ligado)
Saída VGA
Entrada rato/PS2
TC – DEI, 2004/2005
Nas aulas práticas...
TC – DEI, 2004/2005
Altera Quartus II
Hardware:
Altera UP2 board
MAX7000S CPLD (2.5k gates)
EPM7128SLC84-7
FLEX10K CPLD (70k gates)
EPF10K70RC240-4
Design de sistemas digitais por “captura gráfica”
Design de sistemas digitais por linguagem de
programação
VHDL + Verilog + AHDL
Simulação do sistema
Programação física dos dispositivos
Software
Altera QuartusII 4.1 Web Edition
Objectivos
Introdução prática a circuitos digitais importantes
Preparação para as cadeiras de Arquitectura de
Computadores
TC – DEI, 2004/2005
TC – DEI, 2004/2005
Para saber mais...
Computer Organization and Architecture,
Secção 3.6
Digital Design with CPLD Applications and
VHDL
Capítulo 8 (8.1, 8.2, 8.4, 8.6*, 8.7*)
Capítulo 4
* Não ver em profundidade, ler apenas para ficar com uma
noção do que está envolvido
ver as anotações que
estão nas folhas do quiosque
TC – DEI, 2004/2005

Documentos relacionados