29
Arquitectura de Sistemas Computacionais Introdução à Lógica Digital 1

Introdução à Lógica Digital · Arquitectura de Sistemas Computacionais Introdução à Lógica Digital E LECTRÓNICA D IGITAL Relativamente à Electrónica Analógica: Permitiu

Embed Size (px)

Citation preview

Arquitectura de Sistemas Computacionais

Introdução à Lógica Digital

1

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...

Sistemas de Numeração

1

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