Upload
hoangminh
View
221
Download
0
Embed Size (px)
Citation preview
Arquitectura de Sistemas Computacionais
Introdução à Lógica Digital
ELECTRÓNICA DIGITAL
Relativamente à Electrónica Analógica:
Permitiu melhorar sistemas e produtos já existentes e desenvolver outros até aí
impossíveis ou inviáveis de construir.
Apresentam uma maior imunidade ao ruído eléctrico, elevada densidade de
integração, facilidade de acoplamento com outros circuitos, simplicidade de
projecto e de análise, ...
“...é o conjunto de determinadas técnicas e dispositivos integrados, de vários
graus de complexidade, que se utilizam principalmente na realização de circuitos
de controlo de processos industriais, de equipamentos informáticos para
processamento de dados e, em geral, de outros equipamentos e produtos
electrónicos.”
Arquitectura de Sistemas Computacionais
SINAIS ANALÓGICOS:
Toda a grandeza Analógica é aquela que assume uma infinidade de valores ao
longo do tempo de uma forma contínua e sem saltos bruscos (p.e. variação da
temperatura ao longo de um dia).
Introdução à Lógica Digital
0
10
20
30
40
1 2 3 4 5 6 7 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Horas
Temp
Arquitectura de Sistemas Computacionais
SINAIS DIGITAIS:
Toda a grandeza Digital é aquela que assume um número finito de valores e que
varia de valor por saltos de uma forma descontínua (p.e. variação hora a hora da
temperatura ao longo de um dia). Portanto a sua evolução no tempo consiste
precisamente em saltar duns valores discretos para outros.
0
10
20
30
40
1 2 3 4 5 6 7 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Horas
Temp
Introdução à Lógica Digital
Arquitectura de Sistemas Computacionais
CIRCUITOS ELECTRÓNICOS DIGITAIS BINÁRIOS:
Definição: São circuitos que funcionam baseados em apenas dois valores de
amplitude.
Introdução à Lógica Digital
Em lógica positiva, faz-se corresponder ao nível mais elevado de tensão o valor
lógico 1. Ao valor mais baixo de tensão (que pode ser 0 volts ou outra tensão
qualquer) o valor lógico 0.
RAZÕES PARA A SUA LARGA UTILIZAÇÃO:
Simplicidade e grande tolerância dos componentes dos CIs;
Interligação fácil e versátil com outros componentes;
Imunidade ao ruído.
Nível
Alto 1
Nível
Baixo 0
Arquitectura de Sistemas Computacionais
Introdução à Lógica Digital
APLICAÇÕES (ELECTRÓNICA DIGITAL):
Máquinas de calcular;
Instrumentos de medida;
Relógios digitais;
Contadores;
Computadores digitais;
Etc...
APLICAÇÕES (ELECTRÓNICA ANALÓGICA):
Amplificadores de áudio
Receptores de rádio
Etc...
Arquitectura de Sistemas Computacionais
Sistemas de Numeração
INTRODUÇÃO
A utilização de 10 algarismos diferentes – 0 até 9 – para representação usual de números;
Vários países tiveram sistemas não decimais, nomeadamente para medidas de peso ou
comprimento. 1 pé → 12 polegadas. Sistema de base 12 (0 até 11);
Usando a semana como unidade de contagem dos dias estamos a usar um sistema de base
sete (0 até 6);
Supondo que não existiam no sistema de base 10 os algarismos 8 e o 9 → sistema com 8
algarismos diferentes → sistema de base oito ou sistema octal.
Quando temos que escrever diferentes números em diferentes bases a seguir ao número
representamos. entre parentesis a sua base de modo a evitar ambiguidades e imprecisões.
Por exemplo:
8(10) = 10(8)
Esta igualdade sem os respectivos índices não teria qualquer significado!
Nos circuitos digitais para a representação de números e execução de operações
aritméticas com circuitos digitais, temos que usar um sistema de numeração que tenha
simplesmente dois algarismos - 0 e 1 - sistema binário ou sistema de base 2.
Arquitectura de Sistemas Computacionais
Sistemas de Numeração
FÓRMULA GENÉRICA PARA DEFINIÇÃO DE UM NÚMERO DECIMAL:
Nn Nn-1 Nn-2... N1= Nn.bn-1+ Nn-1.b
n-2+...+ N1.b0
Onde,
N representa um algarismo qualquer pertencente ao valor;
n é o número de algarismos pertencentes ao valor;
b é a base de numeração pela qual se representa o valor.
Arquitectura de Sistemas Computacionais
DESCRIÇÃO DOS SISTEMAS DE NUMERAÇÃO
DECIMAL (base 10)
Utiliza 10 dígitos {0,1,2,...,9}
BINÁRIO (base 2)
Utiliza 2 dígitos {0,1}
OCTAL (base 8)
Utiliza 8 dígitos {0,1,2,...,7}
HEXADECIMAL (base 16)
Utiliza 16 dígitos {0,1,...,9,A,B,...,F}
Sistemas de Numeração
Arquitectura de Sistemas Computacionais
Sistemas de Numeração
SISTEMA DECIMAL
Baseia-se no facto de anatomicamente dispormos de 5 dedos em cada mão,
torna-se necessário que a contagem envolva 10 dígitos sistema de base 10
Sistema de Base 10 {0,1,2,3,4,5,6,7,8,9}
PESO
A posição de cada um destes dígitos diz-nos a grandeza que representa e pode
ser designada por peso.
EXEMPLO (número inteiro):
3 4 6 7
Unidades - 7 x 1= 7
Dezenas - 6 x 10= 60
Centenas - 4 x 100= 400
Milhares - 3 x 1000= 3000
3467 EXEMPLO (número inteiro):
1 5 7 2(…)= 1x103+5x102+7x101+2x100
E se for fraccionário? As potências são de base negativa, partindo do valor 1.
Arquitectura de Sistemas Computacionais
SISTEMA BINÁRIO
É o mais utilizado nos Circuitos Digitais (Sistemas Digitais) porque se baseia
nos dois estados possíveis dos elementos neles usados, i. é., há tensão ou não.
Sistema de Base 2 {0,1}
Cada um dos algarismos designa-se por dígito binário ou bit (Binary Digit).
PESO
Cada dígito comparticipa na formação do número com um peso, determinado
pela posição que ocupa no número (...32 (25), 16 (24), 8 (23), 4 (22), 2 (21), 1 (20)).
FORMAÇÃO DOS NÚMEROS NO SISTEMA BINÁRIO
0 1 10 11 100 101 110 111
Exemplo:
Valor inteiro e fraccionário:
o 1101(2) = 1x23+1x22+0x21+1x20 = 13 … em decimal ;)
o E se for fraccionário? …procede-se da mesma forma! Atenção à base!!
Sistemas de Numeração
Arquitectura de Sistemas Computacionais
SISTEMA OCTAL
O sistema de numeração Octal é composto por oito dígitos.
Sistema de Base 8 {0,1,2,3,4,5,6,7}
PESO
Cada dígito comparticipa na formação do número com um peso, determinado
pela posição que ocupa no número (...32768 (85), 4096 (84), 512 (83), 64 (82), 8
(81), 1 (80)).
Exemplo:
Valor inteiro e fraccionário:
o 347(8) = 3x82+4x81+7x80 = 231
o E se for fraccionário? …procede-se da mesma forma! Atenção à base!!
Nota: Todos os números representados num sistema de numeração para além
do decimal, INCLUEM ENTRE PARENTESIS A RESPECTIVA BASE !!!
Sistemas de Numeração
Arquitectura de Sistemas Computacionais
SISTEMA HEXADECIMAL
O sistema Hexadecimal é composto por 16 símbolos.
Sistema de Base 16 {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
PESO
Cada dígito comparticipa na formação do número com um peso, determinado
pela posição que ocupa no número (...65536 (164), 4096 (163), 256 (162), 16
(161), 1 (160)).
Exemplo:
Valor inteiro e fraccionário:
o 4FA(16) = 4x162+15x161+10x160 = 1274
o … e se for fraccionário?
→ 4FA,AB(16) = 4x162+15x161+10x160+10x16-1+11x16-2= 1274,0664
Nota: Todos os números representados num sistema de numeração para além
do decimal, INCLUEM ENTRE PARENTESIS A RESPECTIVA BASE !!!
Sistemas de Numeração
Arquitectura de Sistemas Computacionais
Sistemas de Numeração
Decimal Binário Octal Hexadecimal
0 00000 0 0
1 00001 1 1
2 00010 2 2
3 00011 3 3
4 00100 4 4
5 00101 5 5
6 00110 6 6
7 00111 7 7
8 01000 10 8
9 01001 11 9
10 01010 12 A
11 01011 13 B
12 01100 14 C
13 01101 15 D
14 01110 16 E
15 01111 17 F
16 10000 20 10
TABELA
Arquitectura de Sistemas Computacionais
Sistemas de Numeração
CONVERSÃO DE DECIMAL PARA BASE b
Números Inteiros:
Base 2 Divisões sucessivas por 2; Exº 2672 = 101001110000(2)
Base 8 Divisões sucessivas por 8; Exº 315 = 473(8)
Base 16 Divisões sucessivas por 16; Exº 675 = 2A3(16)
Números Fraccionários:
Base 2 Multiplicações sucessivas por 2; Exº 0,125 = 0,001(2)
Base 8 Multiplicações sucessivas por 8; Exº 0,125 = 0,1(8)
Base 16 Multiplicações sucessivas por 16; Exº 0,125 = 0,2(16)
Arquitectura de Sistemas Computacionais
Sistemas de Numeração
CONVERSÕES ENTRE SISTEMAS DE NUMERAÇÃO
Conversões de
Números Inteiros
Binário Octal Hexadecimal
Decimal
Divisões Consecutivas por 8
Divisões Consecutivas por 2 Divisões Consecutivas por 16
Dn…D2D1=Dn*8n-1+…+D2*81+D1*80
Dn…D2D1=Dn*16n-1+…+D2*161+D1*160 Dn…D2D1=Dn*2n-1+…+D2*21+D1*20
Arquitectura de Sistemas Computacionais
Sistemas de Numeração
CONVERSÕES ENTRE SISTEMAS DE NUMERAÇÃO
Conversão da Parte
Fraccionária
Binário Octal Hexadecimal
Decimal
Produtos Consecutivos por 8 0,D1D2… Dn=D1*8-1+D2*8-2+…+Dn*8-n
Produtos Consecutivos por 2 Produtos Consecutivos por 16
0,D1D2… Dn=D1*2-1+D2*2-2+…+Dn*2-n 0,D1D2… Dn=D1*16-1+D2*16-2+…+Dn*16-n
Arquitectura de Sistemas Computacionais
Sistemas de Numeração
CONVERSÕES ENTRE SISTEMAS DE NUMERAÇÃO
Binário
Octal Hexadecimal
Cada n.º é convertido para um binário de 4 Bits Cada n.º é convertido para um binário de 3 Bits
Agrupam-se os Bits em grupos de 3 Agrupam-se os Bits em grupos de 4
Passa-se por uma base intermédia (Decimal ou Binária)
Arquitectura de Sistemas Computacionais
Sistemas de Numeração
OPERAÇÕES EM BINÁRIO
SOMA
a b Soma Transporte ou
Carry (C)
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
EXEMPLO
1 0 1 1 0 1
+ 1 1 0 0 1 0
1 0 1 1 1 1 1
Carry
Arquitectura de Sistemas Computacionais
Sistemas de Numeração
OPERAÇÕES EM BINÁRIO
SUBTRACÇÃO
a b Diferença Borrow (B)
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0
Nota: Dar exº de multiplicação em binário....
1 0 1 1 0 1
- 0 1 0 0 1 0
0 1 1 0 1 1
Borrow
Arquitectura de Sistemas Computacionais
Sistemas de Numeração
OPERAÇÕES EM OCTAL
2 4 7(8)
+ 5 6(8)
3 2 5(8)
SOMA SUBTRACÇÃO
3 2 5(8)
- 5 6(8)
2 4 7(8)
OPERAÇÕES EM HEXADECIMAL
A 3 7(16)
+ 5 9 B(16)
F D 2(16)
SOMA SUBTRACÇÃO
A A 5(16)
- 6 E D(16)
3 B 8(16)
Arquitectura de Sistemas Computacionais
OPERAÇÕES EM OCTAL/HEXADECIMAL
MULTIPLICAÇÃO
Sistemas de Numeração
5 6(8)
x 1 4(8)
3 0
2 4
5 6
1 0 5 0(8)
(8)(10)(10)(10)
(8)(10)(10)(10)
(8)(10)(10)(10)
(8)(10)(10)(10)
5551
6661
242054
302446
A B(16)
x 4 C(16)
8 4
7 8
2 C
2 8
3 2 C 4(16)
)()()()(
)()()()(
)()()()(
)()()()(
16101010
16101010
16101010
16101010
28401044
2441144
781201012
841321112
A
CB
AC
BC
Arquitectura de Sistemas Computacionais
Sistemas de Numeração
REPRESENTAÇÃO DE NÚMEROS NEGATIVOS
COMPLEMENTAÇÃO
COMPLEMENTO PARA UM
O complemento para 1 do número 1001:
12 Nk
EXEMPLO
)2()2()2()2(
)2(
4
0110110011000012
100001622
4
N
k
k
k
O complemento para 1 de um número N com k bits é dado pela seguinte expressão:
REGRA PRÁTICA: Trocar os 0’s por 1’s e vice-versa.
Complemento de um número: É a diferença entre a base (B) e o número (N)
Arquitectura de Sistemas Computacionais
COMPLEMENTAÇÃO (cont.)
COMPLEMENTO PARA DOIS
Nk 2
O complemento para 2 de um número N com k bits é dado pela seguinte expressão:
REGRAS PRÁTICAS
Sistemas de Numeração
Determinar o complemento para 1 do número e
somar ao resultado o valor 1
. Da direita para a esquerda do número encontrar o
primeiro dígito a 1. Mantê-lo e inverter os restantes.
Arquitectura de Sistemas Computacionais
Sistemas de Numeração
REPRESENTAÇÃO DE NÚMEROS RELATIVOS (2´C)
0 0 1 1 0 1 0 1 +53
Registo de 8 flip-flops onde 7 flip-flops representam a grandeza do número e o 8º
representa o sinal, olhando da direita para a esquerda.
1 1 0 0 1 0 1 1 - 53
Se pretendermos usar um número fixo de bits (k bits), normalmente usado nas
máquinas, a expressão seguinte indica-nos a gama de valores possíveis de representar,
usando bit de sinal:
122 11 kk N
Registo com 4 bits (casas) - 8 N 7
EXEMPLO
O número 3(10) = 0 011(2)
O número –3 otém-se: 0011(2) 1100(2) + 1(2) = 1 101(2)
Arquitectura de Sistemas Computacionais
Sistemas de Numeração
OPERAÇÕES COM NÚMEROS RELATIVOS
ADIÇÃO
1. Decidir sobre o número de casas com que vamos trabalhar.
2. Tomar módulos dos números, em binário.
3. Representar números negativos na forma de complemento para 2.
4. Usar regra da adição.
5. Analizar resultados:
Se existe carry, desprezá-lo.
Se o bit mais significativo, após desprezar o carry é:
0 – o resultado é positivo e o bit mais à esq. é o bit de sinal.
1 – o resultado é negativo e está na forma de complemento para 2
SUBTRACÇÃO
1. Idêntico ao ponto 1 da adição.
2. Determinar o complemento para 2 do diminuendo.
3. Adicionar o diminuidor ao diminuendo.
4. Seguir o ponto 5 da adição.
Arquitectura de Sistemas Computacionais
Sistemas de Numeração
EXERCÍCIO:
a) 12 + 9 b) 12 - 9 c) -12 - 9 d) -12 + 9
RESOLUÇÃO:
o)obrigatóri (mínimo casas 6
31resultado32:casas 6 Com
15resultado16:casas 5 Com
21resultado21
)2()10(
)2()10(
0010019
00110012 .1
)2()10(2101101119 11010012
:C2' em 9- e 12- de çãorepresenta Determinar .2
)()(
-
Arquitectura de Sistemas Computacionais
0 0 1 1 0 0
+ 0 0 1 0 0 1
0 1 0 1 0 1
3. a) 12 + 9 b) 12 - 9 c) -12 - 9 d) -12 + 9
0 0 1 1 0 0
+ 1 1 0 1 1 1
1 0 0 0 0 1 1
1 1 0 1 0 0
+ 1 1 0 1 1 1
1 1 0 1 0 1 1
1 1 0 1 0 0
+ 0 0 1 0 0 1
1 1 1 1 0 1
4. a) e d) não carry
b) e c) carry desprezá-lo!!
5. a) 0 1 0 1 0 1 b) 0 0 0 0 1 1 c) 1 0 1 0 1 1 d) 1 1 1 1 0 1
+ 21 + 3 - 21(2’C) - 3(2’C)
Sistemas de Numeração
RESOLUÇÃO(cont.):
Complemento
para 2 do
valor obtido