Vous êtes sur la page 1sur 36

Escola Secundria D.

Pedro V

Curso Profissional
Tcnico de Gesto e Programao de Sistemas Informticos

Arquitectura de Computadores
10 Ano

Mdulo 1 Sistemas Digitais


Verso 1.0 - 2006/07

Prof. Carla Barreiros


CarlaABarreiros@hotmail.com

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

Contedos Mdulo 1 Sistemas Digitais


Captulo 1
Sistemas Digitais........................................................................................................................................ 4
1.

Sistemas de Numerao e Cdigos................................................................................................. 6


1.1. Sistemas de Numerao............................................................................................................... 6
1.2. Sistema Decimal ............................................................................................................................ 7
1.3. Sistema Binrio ............................................................................................................................. 7
1.4. Sistema Octal................................................................................................................................. 8
1.5. Sistema Hexadecimal.................................................................................................................... 8
1.6. Converso entre Sistemas de Numerao ................................................................................. 9
1.6.1.

Converso Decimal Binrio........................................................................................... 10

1.6.2.

Converso Decimal Octal.............................................................................................. 10

1.6.3.

Converso Decimal Hexadecimal ................................................................................. 11

1.6.4.

Converso Binrio Decimal........................................................................................... 11

1.6.5.

Converso Binrio Octal ............................................................................................... 12

1.6.6.

Converso Binrio Hexadecimal ................................................................................... 12

1.6.7.

Converso Octal Decimal.............................................................................................. 13

1.6.8.

Converso Octal Binrio ............................................................................................... 13

1.6.9.

Converso Octal Hexadecimal...................................................................................... 13

1.6.10.

Converso Hexadecimal Decimal ................................................................................. 14

1.6.11.

Converso Hexadecimal Binrio ................................................................................... 14

1.6.12.

Converso Hexadecimal Octal...................................................................................... 15

1.7. Operaes aritmticas no Sistema de Numerao Binrio .................................................... 16


1.7.1.

Adio (operador aritmtico +) ......................................................................................... 16

1.7.2.

Subtraco (operador aritmtico -)................................................................................... 16

1.7.3.

Multiplicao (operador aritmtico *)................................................................................ 17

1.7.4.

Diviso.............................................................................................................................. 18

1.8. Cdigos ........................................................................................................................................ 18


1.8.1.

Conceito de Cdigo .......................................................................................................... 18

1.8.2.

Cdigos Numricos .......................................................................................................... 19

1.8.3.

Cdigos Alfanumricos .................................................................................................... 21

Prof Carla Barreiros

Pgina 2

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

Captulo 2
2.

lgebra de Boole e Circuitos Lgicos ...................................................................................... 23


2.1.

Introduo ............................................................................................................................. 23

2.2.

Portas Lgicas ...................................................................................................................... 24

2.2.1.

Funo AND ..................................................................................................................... 24

2.2.2.

Funo OR ....................................................................................................................... 25

2.2.3.

Funo NOT ..................................................................................................................... 25

2.3.

lgebra de Boole .................................................................................................................. 26

2.3.1.

Axiomas da lgebra de Boole .......................................................................................... 26

2.3.2.

Teoremas da lgebra de Boole........................................................................................ 27

2.3.3.

Princpio da Dualidade ..................................................................................................... 27

2.3.4.

Teoremas de DeMorgan .................................................................................................. 28

2.3.5.

Anlise Algbrica de Circuitos Lgicos ............................................................................ 28

2.3.6.

Representao de funes booleanas............................................................................. 29

2.4.

Portas lgicas (continuao) ................................................................................................ 31

2.4.1.

Funo NAND .................................................................................................................. 31

2.4.2.

Funo NOR..................................................................................................................... 32

2.4.3.

Funo EXCLUSIVE-OR (XOR) ...................................................................................... 33

2.4.4.

Funo EXCLUSIVE-NOR (XNOR) ................................................................................. 34

2.4.5.

Representao de Circuitos Electrnicos com portas NAND .......................................... 35

2.5.
2.5.1.

Sntese de Circuitos Combinatrios ..................................................................................... 37


Mapas de Karnaugh ......................................................................................................... 37

Prof Carla Barreiros

Pgina 3

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

Sistemas Digitais
Este mdulo tem como objectivo fornecer aos alunos conhecimentos adequados compreenso dos
diversos sistemas de numerao existentes e qual a sua importncia para o funcionamento de um
computador. Pretende-se ainda que percebam o funcionamento bsico dos circuitos digitais associados
s vrias partes de um computador.
Objectivos de Aprendizagem
No final deste mdulo pretende-se que o aluno seja capaz de:

Identificar os sistemas de numerao utilizados pelos computadores e aplicaes informticas;

Converter correctamente valores entre os diversos sistemas de numerao;

Utilizar correctamente a lgebra de Boole para resolver problemas;

Reconhecer circuitos lgicos;

Criar e utilizar circuitos lgicos.

Definio
Um sistema pode ser definido como um operador que produz condies de sada segundo as condies
presentes entrada, de acordo com uma lei especfica. Os sistemas podem ser analgicos ou digitais.
Nos sistemas analgicos dada importncia a toda e qualquer variao nos sinais. A caracterstica
essencial de um sinal ou forma de onda analgica a sua variao contnua ao longo do tempo (sem
saltos bruscos).
Nos sistemas digitais os sinais podero assumir um valor de um dado conjunto de valores possveis.
Um sinal digital tem como caracterstica fundamental a variao por saltos, de uma forma descontnua.
Os sistemas digitais permitem o processamento de informao binria (ou seja, de informao
representada com os smbolos 0 e 1).
Um sistema digital define a relao entre as entradas e sadas digitais.

Prof Carla Barreiros

Pgina 4

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

Importantes reas de aplicao dos Sistemas (electrnicos) digitais

Computao pessoal (PCs, PDAs, calculadoras);

Comunicaes mveis;

Televiso digital;

udio digital;

Automvel (ABS, air-bags, controlo do motor);

Controlo industrial;

Simuladores;

Diverso.

Temos vindo a verificar que os componentes electrnicos tm vindo a reduzir o seu tamanho sendo que
num nico chip podemos encontrar dezenas de milhes de transstores (funcionam como interruptores,
assumindo 0 (desligado) e 1 (ligado).

Prof Carla Barreiros

Pgina 5

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

1. Sistemas de Numerao e Cdigos


1.1.

Sistemas de Numerao

Os sistemas de numerao podem ser classificados como: Sistemas de Numerao Posicional ou


Sistemas de Numerao No Posicional.
Definio de sistema de numerao posicional
Num sistema de numerao posicional a posio em que o valor se encontra determina a sua
importncia. Tomemos por exemplo o Sistema de Numerao Decimal em que o valor mais direita
o menos significativo e o valor mais esquerda o mais significativo.
Um sistema de numerao posicional composto por:
Base - b

b = 16

Alfabeto Ordenado - conjunto de b smbolos distintos (dgitos)

[0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F]

Nmero - corresponde a uma sequncia de dgitos.

N(b) <> d2 d1 d0, d-1 d-2

Valor do Dgito (peso) - funo do smbolo e da posio na

p2 = d2 b2

sequncia

Definio de sistema de numerao no posicional


Um exemplo deste tipo de sistema a numerao romana em que cada smbolo do alfabeto
representa um valor independentemente da sua posio.

Os Sistemas de Numerao que vamos estudar so Sistemas de Numerao Posicional.

Sistemas de Numerao

Prof Carla Barreiros

Sistema Decimal ou de base 10

Sistema Binrio ou de base 2

Sistema Octal ou de base 8

Sistema Hexadecimal ou de base 16

Pgina 6

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

1.2.

Sistema Decimal

Estamos to habituados a contar e a executar as operaes bsicas (adio, subtraco,


multiplicao e diviso) usando um sistema decimal, com base b =10, que nem paramos para
pensar por um momento nos algoritmos que esto na base dessas operaes.
A utilizao dessa base era inevitvel, j que a humanidade se habituou, desde muito cedo, a contar
pelos dedos das mos.

Assim, temos 10 algarismos diferentes, do 0 ao 9, para a representao normal dos nmeros.


Ocasionalmente usamos outros sistemas de numerao. Por exemplo, usa o sistema sexagesimal,
com base b = 60, para contar as unidades horrias de minutos e segundos, ou o sistema
duodecimal com base b = 12, ou o sistema de base b = 24, para identificar as horas do dia.

1.3.

Sistema Binrio

O computador no entende os smbolos que constituem a linguagem humana (ex.: letras e nmeros)
e por isso foi necessrio traduzir e codificar os nossos smbolos numa linguagem prpria da
mquina, utilizando circuitos electrnicos. O computador num dado instante apenas capaz de
distinguir uma de duas situaes possveis: ligado ou desligado.

Ligado = 0

Desligado = 1

No sistema binrio ou sistema de base b=2 usam-se apenas os dgitos 0 e 1, que tambm se
designam por bits. Para representar a informao, esta traduzida numa sequncia de zeros e uns
que o computador consegue interpretar e processar.
Assim sendo, um nmero binrio legtimo , por exemplo, o nmero 1101 (2).

Prof Carla Barreiros

Pgina 7

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

1.4.

Sistema Octal

No sistema octal ou base b=8, usamos 8 dgitos, so eles: 0,1,2,3,4,5,6,7; por isso se diz que a base
deste sistema de numerao oito (octal) e cada digito tambm tem um valor posicional.
Por exemplo, um nmero octal vlido seria 234533 (8).

1.5.

Sistema Hexadecimal

No sistema hexadecimal, com base b=16, usamos 16 dgitos. claro, teremos que encontrar 16
representaes (smbolos) diferentes para cada um deles.
No sistema decimal usamos os dgitos 0 a 9, que podemos continuar a utilizar no sistema
hexadecimal. Mas agora precisamos de inventar dgitos. A forma habitual de o fazer consiste em
recorrer s primeiras 6 letras do alfabeto para representar os dgitos hexadecimais que, no sistema
decimal, correspondem nmeros (sequencias de dois dgitos) 10 a 15. Ento, no sistema
hexadecimal usamos, para alm dos smbolos 0 a 9, tambm as letras A a F.
Por exemplo, um nmero hexadecimal legtimo F30DA (16).

Prof Carla Barreiros

Pgina 8

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

1.6.

Converso entre Sistemas de Numerao

At a este ponto, foram apresentados os sistemas de numerao mais utilizados em sistemas


digitais, falta-nos agora aprender a realizar as converses entre os vrios sistemas. Em seguida
apresentada uma tabela com as equivalncias bsicas entre os quatro sistemas.

Tabela de equivalncia entre os quatro sistemas de numerao


Decimal

Binria

Octal

Hexadecimal

0000

0001

0010

0011

0100

0101

0110

0111

1000

10

1001

11

10

1010

12

11

1011

13

12

1100

14

13

1101

15

14

1110

16

15

1111

17

As converses possveis entre os quatro sistemas de numerao so as seguintes:


Binrio

Decimal

Octal

Prof Carla Barreiros

Hexadecimal

Pgina 9

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

1.6.1. Converso Decimal Binrio


A converso da parte inteira feita pelo mtodo das divises sucessivas, que consiste em
reter os restos das sucessivas divises por 2 do nmero decimal dado e dos quocientes
entretanto obtidos, at obter um quociente nulo.
Como exemplo, admitamos que queramos converter o nmero decimal 136

(10)

para a base 2.

Fazemos as seguintes divises:


136(10)

68
0

2
34

17

2
0

2
0

2
0

Tendo em considerao a posio de cada algarismo, obtemos a seguinte equivalncia:


136 (10) = 10001000 (2)
Repara que este mtodo apenas utilizado para nmeros decimais inteiros e no implica perda
de informao no processo da converso. No entanto, para converter um nmero com casas
decimais j teramos que utilizar outra metodologia, a qual no aqui apresentada.

1.6.2. Converso Decimal Octal


O processo idntico ao anterior, mas a diviso realizada por 8 e no por 2.
Vejamos um exemplo:
524(10)
4

8
65
1

8
8
0

8
1

Obtemos assim, 524 (10) = 1014 (8)

Prof Carla Barreiros

Pgina 10

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

1.6.3. Converso Decimal Hexadecimal


Continuando com o mtodo das divises sucessivas, agora a diviso realizada por 16 e os
valores obtidos no resto so convertidos para hexadecimal. Veja o exemplo.
19030(10)

16
1189

16
74

16

10

Obtemos assim, 19030(10) = 4A56


Reparar que a correspondncia do valor 10 em hexadecimal o smbolo A.

1.6.4. Converso Binrio Decimal


Para realizar a converso de um nmero do sistema binrio num nmero do sistema decimal
temos que proceder a vrias operaes, tomemos como exemplo o nmero 10110101(2).
1

20

128 +

0 +

32 +

16 +

0 +

4 +

0 +

1 =

181 (10)

Sendo que, os clculos tambm podero ser apresentados da seguinte forma:


1 * 2 7 + 0 * 26 + 1 * 25 + 1 * 24 + 0 * 23 + 1 * 22 + 0 * 21 + 1 * 20 =
= 128 + 0 + 32 + 16 + 0 + 4 + 1 =
= 181 (10)
Em seguida encontra-se uma tabela com as potncias do nmero 2 mais utilizadas no processo de
converso.

Tabela com Potncias de 2


20

23

22

25

Prof Carla Barreiros

26

64

16

128

32

28

256

29
2

10

512
1024

Pgina 11

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

1.6.5. Converso Binrio Octal


O mtodo utilizado para esta converso diferente dos anteriores. Utiliza-se o princpio de que
para escrever cada dgito octal so necessrios somente 3 dgitos binrios, visto a relao entre
as bases respectivas ser a potncia de 3, isto , 8 = 23.
Dado o nmero 100101 (2), podemos realizar a seguinte converso:
100
2

101

1*2 +0*2 +0*2 =

1 * 2 + 0 * 21 + 0 * 20 =

=4

=5

45 (8)

1.6.6. Converso Binrio Hexadecimal


O mtodo utilizado aproveita o princpio de que para escrever um digito em hexadecimal chegam
4 dgitos em binrio (4 bits), dada a relao entre as bases respectivas ser a potncia 4, isto
16=24.
Por exemplo, dado o nmero 1101101 (2), podemos efectuar a seguinte converso:
0110
3

1101
1

0*2 +1*2 +1*2 +0*2 =

1 * 2 + 1 * 2 + 0 * 21 + 1 * 20 =

= 6(10) = 6 (16)

= 13(10) = D (16)

6D (16)

Prof Carla Barreiros

Pgina 12

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

1.6.7. Converso Octal Decimal


Para obter realizar a converso de um nmero do sistema octal num nmero do sistema decimal
temos que proceder a vrias operaes, tomemos como exemplo o nmero 24643701 (8).
2

87

86

85

84

83

82

81

80

4194304 +

1048576 +

196608 +

16384 +

1536 +

448 +

0+

1=

5457857 (10)

1.6.8. Converso Octal Binrio


O mtodo utilizado para este tipo de converso diferente dos anteriores. Sabendo que para
escrever um dgito no sistema de numerao octal necessitamos somente de 3 dgitos binrios,
basta consultar a tabela de equivalncias entre os sistemas de numerao (pgina 8).
Vamos por exemplo converter o nmero 576 (8):
5 101
7 111
6 110
Obtendo assim o nmero 101111110 (2).

1.6.9. Converso Octal Hexadecimal


Neste caso vamos realizar duas converses, em primeiro lugar convertemos o nmero na base 8
(octal) num nmero da base 2 (binrio), por ltimo partimos do nmero da base 2 (binrio) e
convertemo-lo para a base 16 (hexadecimal).
1 Passo
No caso do nmero 1726 (8), vamos separar cada dgito e fazer a correspondncia utilizando a
tabela de equivalncias entre os sistemas de numerao (pgina 8).
Temos assim,
1 001
7 111
2 010
6 110

Prof Carla Barreiros

Pgina 13

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

Obtendo assim o nmero 001111010110 (2).


2 Passo
Vamos agora realizar a converso binrio hexadecimal (processo descrito em maior detalhe na
pgina 14).
0011 3
1101 D
0110 6
Obtendo assim o nmero 3D6 (16).

1.6.10. Converso Hexadecimal Decimal


Para obter realizar a converso de um nmero do sistema hexadecimal num nmero do sistema
decimal temos que proceder a vrias operaes, tomemos como exemplo o nmero 9D36(16).

163

162

161

160

36864 +

3328 +

48 +

6 =

40246 (10)

1.6.11. Converso Hexadecimal Binrio


Sabendo que para escrever um dgito no sistema de numerao hexadecimal necessitamos de 4
dgitos binrios, basta consultar a tabela de equivalncias entre os sistemas de numerao
(pgina 8).
Vamos por exemplo converter o nmero 24A8 (16):
2 0010
4 0100
A 1010
8 1000
Obtendo assim o nmero 10010010101000 (2).

Prof Carla Barreiros

Pgina 14

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

1.6.12. Converso Hexadecimal Octal


Para converter da base hexadecimal para a octal, utilizamos novamente um processo dividido
em dois passos. Em primeiro lugar convertemos da base hexadecimal para a base binria e em
segundo lugar convertemos da base binria para a base octal, atingindo assim o nosso
objectivo.
1 Passo
Vamos partir do nmero F10A (16)
F 1111
1 0001
0 0000
A 1010
Obtemos assim o nmero 1111000100001010 (2).
2 Passo
Sabendo que cada conjunto de 3 dgitos binrios corresponde a um nmero na base octal, base
consulta novamente a tabela de equivalncias entre os sistemas de numerao (pgina 8).
001 1
111 7
000 0
100 4
001 1
010 2
Obtemos assim o nmero 170412 (8).

Prof Carla Barreiros

Pgina 15

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

1.7.

Operaes aritmticas no Sistema de Numerao Binrio

Como j sabemos, o computador consegue entender um nmero decimal aps a sua converso
para um nmero binrio, mas ainda no vimos como ele realiza as operaes aritmticas
elementares: adio, subtraco, multiplicao e diviso.

1.7.1. Adio (operador aritmtico +)


A resoluo desta operao segue o mesmo algoritmo das adies no sistema de numerao
decimal, atendendo que seguinte tabela:

10 , 0 o resultado
e o 1 o transporte

Resumindo, a adio realizada comeando pelo dgito menos significativo (mais direita) at
ao mais significativo (mais esquerda). Se a soma for superior a um, o resultado zero, e
transporta-se o resto para a prxima soma.
Exemplos de somas no sistema de numerao binrio:
1

transporte

11 1

transporte

transporte

1111

1010

+1

+ 101

+ 101

10

10100

1111

1.7.2. Subtraco (operador aritmtico -)


A resoluo desta operao segue o mesmo algoritmo das subtraces no sistema de
numerao decimal, atendendo s seguintes regras:
0-0 = 0 (transporte 0)
1-1 = 0 (transporte 0)
1-0 = 1 (transporte 0)
0-1 = 1 (transporte 1)
Resumindo, a subtraco realizada comeando pelo dgito menos significativo (mais direita)
at ao mais significativo (mais esquerda). A subtraco realizada bit a bit de acordo com as
regras, somando sempre o transporte ao diminuidor.

Prof Carla Barreiros

Pgina 16

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

Exemplos de subtraces no sistema de numerao binrio:


11001

110010

1 1 1

Transporte

1 1

-01011

-101101

01110

000101

Transporte

1.7.3. Multiplicao (operador aritmtico *)


A multiplicao pode ser distinguida em:

Multiplicao por mltiplos de 2

Para o computador realizar o produto de um nmero binrio por 2 (10), basta acrescentar um
zero direita do bit menos significativo.
Por exemplo:

111001(2) * 2 (10) = 1110010(2)

21

111001(2) * 4 (10) = 11100100(2)

22

111001(2) * 8 (10) = 111001000(2)

23

Multiplicao por nmeros que no sejam mltiplos de 2

A resoluo desta operao segue o mesmo algoritmo das multiplicaes no sistema de


numerao decimal, atendendo seguinte tabela:

Exemplo:
101101
*

101

101101
000000
1 0 1 1 0 1___
11100001
Nota: Para facilitar os clculos podemos no incluir as linhas correspondentes aos zeros, tendo
sempre em ateno a posio da prxima parcela.

Prof Carla Barreiros

Pgina 17

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

1.7.4. Diviso
A diviso pode ser distinguida em:

Diviso por mltiplos de 2

Para o computador realizar a diviso de um nmero binrio por 2 (10), basta acrescentar o
nmero de zeros correspondentes esquerda do nmero binrio e desprezar o mesmo
nmero de dgitos direita.
Por exemplo:

111001(2) / 2 (10) = 011100 (2)

21

111001(2) / 4 (10) = 001110(2)

22

111001(2) / 8 (10) = 000111(2)

23

Diviso por nmeros que no sejam mltiplos de 2

Neste curso no existe a necessidade de estudar esta operao, devido sua


complexidade.

1.8.

Cdigos

1.8.1. Conceito de Cdigo


Quando queremos representar informao binria s podemos recorrer aos smbolos (bits) 0 e 1,
como sabemos. Mas representar informao numrica em binrio apenas uma parte da
realidade, sendo que tambm necessrio arranjar um meio de representar informao no
numrica, como seja informao alfabtica (letras maisculas e minsculas, acentuadas ou no,
smbolos de pontuao, smbolos de controlo, etc.).
Tal faz-se recorrendo a cdigos binrios, que mais no so do que maneiras de representar
com 0s e 1s toda a informao que se enumerou acima. Para tal, estabelecem-se palavras do
cdigo binrio com um nmero adequado de bits e em nmero suficiente para representar toda a
informao que queremos.
Naturalmente, desta forma podemos estabelecer um elevadssimo nmero de cdigos binrios, e
nem todos apresentam o mesmo interesse.
Existem dois tipos distintos de cdigos binrios:
Cdigos numricos
Cdigos alfanumricos.

Prof Carla Barreiros

Pgina 18

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

1.8.2. Cdigos Numricos


Este tipo de cdigos permitem representar quantidades numricas e para cada situao
podemos estabelecer um cdigo que nos permite resolver um determinado problema.
Exemplo:
Suponhamos que queramos desenvolver um sistema digital para
controlar o elevador de um prdio com r/c, duas caves e trs andares.
Como temos 6 possibilidades distintas de representar e individualizar
os 6 pisos do prdio, precisamos de comear por escrever um cdigo
numrico com 6 palavras distintas, uma por cada piso a que o
elevador

tem

acesso.

Ou

seja,

vamos

estabelecer

uma

correspondncia biunvoca entre cada um dos pisos e um conjunto de


bits por piso, diferente para cada um deles, e que constitui uma
palavra do cdigo.
Naturalmente, a primeira pergunta que nos ocorre sobre o comprimento das palavras, isto ,
o nmero de bits por palavra. Embora teoricamente cada palavra possa ter um comprimento
diferente do de todas as outras, vamos limitar-nos apenas aos chamados cdigos regulares,
em que todas as palavras do cdigo tm o mesmo comprimento.
No caso do elevador, as palavras do cdigo tm que ter um comprimento adequado.
Como temos 6 possibilidades distintas, bastam-nos 3 bits para comprimento de cada uma das
palavras. claro que, nestas condies, apenas vamos utilizar 6 das 8 combinaes possveis.
A nica restrio que necessitamos de ter presente que no devemos codificar dois pisos com
a mesma palavra, naturalmente para evitar confuses.
Deste modo, j estabelecemos o nmero de palavras (6) e o comprimento de cada palavra (3)
para o nosso sistema de controlo do elevador. E estamos agora em posio de escolher, de
entre os cdigos possveis, um que sirva os nossos propsitos.
Por exemplo, o cdigo:
2a cave 000
1a cave 001
r/c

010

1o andar 011
2o andar 100
3o andar 101
Reparemos que o formmos como se estivssemos a escrever nmeros com 3 bits cujos
equivalentes decimais fossem desde 0 at 5. Geramos, desta forma, um Cdigo Binrio Natural
(CBN), com palavras de comprimento 3.

Prof Carla Barreiros

Pgina 19

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

Cdigo Binrio Natural (CBN)


Como acabmos de ver, o cdigo binrio natural ou CBN formado por palavras de
comprimento fixo (trata-se de um cdigo regular). Se o comprimento de cada palavra for igual a
n, o nmero mximo de palavras do cdigo igual a 2n. Os nmeros na base 2 destes cdigos
tm equivalentes decimais.
Cdigo BCD (Binary Coded Decimal)
Uma situao muito frequente a da necessidade de codificar numericamente dez quantidades
distintas, correspondentes aos dgitos do sistema decimal, 0 (10) a 9 (10). Tal sucede, por exemplo,
em mquinas de calcular que utilizam o sistema decimal para a entrada de dados e para a sada
dos resultados.
Naturalmente, podemos utilizar as 10 primeiras palavras de comprimento 4 do CBN que passar,
nestas circunstncias, a ficar redundante (na medida em que apenas utilizamos 10 das 16
palavras desse cdigo). Obtemos, nessas condies, o cdigo BCD como possvel ver na
seguinte tabela.

Dgito Decimal

Palavra do cdigo
BCD

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

Ao utilizar este cdigo devemos indic-lo da seguinte forma: 0010 (BCD).


Existem muitos outros cdigos que podem ser definidos, cada qual com caractersticas e
interesses diferentes consoante o problema que precisamos resolver.

Prof Carla Barreiros

Pgina 20

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

1.8.3. Cdigos Alfanumricos


Tratam-se de cdigos que tm por objectivo codificar, para alm de informao numrica,
tambm informao alfabtica, como sejam as letras maisculas e minsculas, os smbolos de
pontuao, as letras acentuadas caractersticas dos alfabetos latinos, os smbolos utilizados nas
lnguas orientais, etc., e ainda smbolos de controlo.
Cdigo ASCII
Existe uma tabela, designada por ASCII (American Standard Code for Information Interchange),
que utiliza combinaes de nmeros de 7 ou 8 bits, permitindo, respectivamente, a
representao de 128 ou 256 caracteres.
A ASCII padro utiliza 7 bits para representar todas as maisculas e minsculas, os algarismos
de 0 a 9, sinais de pontuao e controlo.
Existem actualmente um grande nmero de sistemas que suportam a utilizao o ASCII
expandido, que utiliza o 8 bit de cada carcter para identificar mais 128 caracteres de smbolos,
letras de outros idiomas e smbolos grficos.
Por exemplo, quando carregamos na tecla a, procede-se a uma converso para o sistema de
numerao binrio 1100001

(2),

ou 97

(10).

este nmero binrio que o computador consegue

entender e processar.

Cdigo UNICODE
Uma limitao sria do cdigo ASCII resulta de ter sido desenhado para codificar informao
alfabtica na lngua inglesa, que no contem smbolos de acentuao (como o portugus) e
no capaz de representar muitos outros smbolos.
A necessidade de incluir outros alfabetos (grego, cirlico, armnio, hebreu, rabe, indiano, etc.),
de smbolos matemticos e de figuras geomtricas, e ainda de dezenas de milhar de caracteres
ideogrficos, como os utilizados em chins, levou ao aparecimento do Cdigo UNICODE ou
ISO/IEC 10646 UCS-2 (Universal Character Set-2). Este cdigo uma evoluo da tabela ASCII
com 16 bits por smbolo, aberto incluso de novos caracteres e smbolos.

Prof Carla Barreiros

Pgina 21

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

Tabela ASCII

Prof Carla Barreiros

Pgina 22

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

2. lgebra de Boole e Circuitos Lgicos


2.1.

Introduo

Como sabes, os sistemas digitais so sistemas que processam informao binria, isto , informao
que pode ser representada por 1 e 0.
No domnio que nos interessa, sistemas digitais electrnicos so circuitos elctricos que processam
dados representados por zeros e uns, correspondentes a determinados nveis de tenses elctricas
(Volt) ou de intensidades de corrente (Ampere) altas e baixas: um 1 equivale a tenses acima de um
determinado limiar e um 0 para valores inferiores a um certo limite mnimo.
Exemplo:
Imaginemos que o estado, aceso ou apagado, de uma vulgar lmpada, representa um 1 ou um 0,
respectivamente. A lmpada no acende apenas quando a tenso da rede elctrica atinge os 220V, nem
apaga s quando esse valor chega aos 0V. Existe um intervalo de tenses elctricas baixas para as
quais a lmpada no emite qualquer luz e a partir de uma tenso elctrica alta a lmpada fica acesa.
Existe naturalmente um intervalo de valores da tenso elctrica em que poderemos considerar o estado
da lmpada como indefinido em que no se pode representar bem nem o 1 nem o 0.

Um sistema digital electrnico tambm admite estas flutuaes da tenso de alimentao de acordo com
as caractersticas dos componentes electrnicos com que foi construdo (mais tarde vamos analisar esta
questo com maior detalhe).

Prof Carla Barreiros

Pgina 23

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

2.2.

Portas Lgicas

Qualquer sistema digital electrnico pode ser construdo utilizando apenas 3 tipos de funes
lgicas elementares designadas por AND, OR e NOT (em portugus E, OU e NO). As funes
lgicas elementares operam sobre valores lgicos 0 ou 1 (ou apenas um para o caso da funo
NOT) e produzem um valor lgico para cada uma das combinaes possveis dos valores dos
operandos.
Aos componentes electrnicos que realizam essas funes lgicas elementares chamam-se portas
lgicas (em ingls gates ou logic gates), e estende-se tambm esta designao aos smbolos
grficos que as representam. Uma funo complexa pode ser construda ligando entre si smbolos
que representam as portas lgicas elementares.
As funes AND, OR e NOT so a base em que assenta o funcionamento de qualquer sistema
digital e formam o conjunto bsico de funes em que se fundamenta a lgebra de Boole, que
permite formalizar e tratar matematicamente o comportamento de sistemas digitais.

2.2.1. Funo AND


Sendo A e B os operandos e a funo lgica AND o operador, vamos obter um resultado
verdadeiro (1) apenas quando A e B so verdadeiros (1), caso contrrio obteremos um resultado
falso (0).
Assim, a Tabela de Verdade produzida para esta operao :
A

A AND B

Esta operao poder ser representada como:

A AND B

AB

A&B

A.B

A porta lgica AND pode ser representada como:

ou

Prof Carla Barreiros

Pgina 24

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

2.2.2. Funo OR
Sendo A e B os operandos e a funo lgica OR o operador, vamos obter um resultado falso (0)
apenas quando A e B so falsos (0), caso contrrio obteremos um resultado verdadeiro (1).
Assim, a Tabela de Verdade produzida para esta operao :
A

A OR B

Esta operao poder ser representada como:

A OR B

A+B

AvB

A porta lgica OR pode ser representada como:

ou

2.2.3. Funo NOT


Sendo A o operando e a funo lgica NOT o operador, vamos obter um resultado falso (0)
quando A for verdadeiro (1) e um resultado verdadeiro (1) quando A for falso (0).
Assim, a Tabela de Verdade produzida para esta operao :
A

NOT

Esta operao poder ser representada como:

NOT

A porta lgica OR pode ser representada graficamente como:

ou

Prof Carla Barreiros

Pgina 25

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

2.3.

lgebra de Boole

A lgebra de Boole foi inventada em 1854 pelo matemtico ingls George Boole, muito antes da
inveno do computador digital. Com esta lgebra o matemtico pretendeu estabelecer um conjunto
universal de regras para combinar proposies que podem ser verdadeiras ou falsas e avaliar a sua
veracidade ou falsidade.
Em 1938, na altura em que se davam os primeiros passos para o nascimento dos computadores
digitais, Claude Shannon adaptou a lgebra de Boole para descrever o funcionamento de circuitos
elctricos construdos com interruptores comandados electricamente. Fazendo corresponder o
estado de um interruptor a uma varivel booleana, esta s pode assumir dois valores diferentes
(ligado ou desligado representado pelo valor 1 ou 0) que podem ser associados aos valores lgicos
verdadeiro ou falso da lgebra de Boole.
Ao conjunto de definies que estabelecem as regras de operao da lgebra so denominados de
axiomas e teoremas.

2.3.1. Axiomas da lgebra de Boole


Axiomas representam o conjunto mnimo de regras que fundamentam toda a lgebra, e que so
assumidos como verdadeiros (isto , no se podem demonstrar).
Os axiomas da lgebra de boole comeam por estabelecer que, nesta lgebra, uma varivel
apenas pode assumir os valores 0 ou 1; em seguida definem as trs operaes lgicas j
referidas. Com base nos axiomas pode-se construir um conjunto de teoremas que so relaes
que, uma vez demonstradas com recurso aos axiomas ou outros teoremas, pode ser aplicados
na manipulao de expresses algbricas.

Tabela de Axiomas da lgebra de Boole


A1

X = 0 se X 1

A1

X = 1 se X 0

A2

Se X = 0 ento X = 1

A2

Se X = 1 ento X = 0

A3

0.0=0

A3

1+1=1

A4

1.1=1

A4

0 + 0 =0

A5

0.1=1.0=0

A5

1+0=0+1=1

Tambm semelhana do que acontece na escrita de expresses aritmticas, considera-se que


o produto lgico (AND) tem prioridade sobre a soma lgica (OR) e podem ser utilizados
parntesis para alterar essa prioridade natural dos operadores.
No esquecer que os operadores da lgebra de Boole podem ser representados graficamente e
que atravs das portas lgicas que se constroem os circuitos lgicos projectados.

Prof Carla Barreiros

Pgina 26

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

2.3.2. Teoremas da lgebra de Boole


Os teoremas so relaes booleanas que se considera como verdadeiras e que se podem
demonstrar com recurso aos axiomas e a outros teoremas que j tenham sido demonstrados.
Um conjunto bsico de teoremas facilita a manipulao de expresses algbricas.
Na tabela seguinte apresentam-se os teoremas por ordem crescente de complexidade, o que
permite fundamentar os teoremas mais complexos atravs dos teoremas mais simples
devidamente comprovados.

Tabela de Teoremas fundamentais da lgebra de Boole


T1

X+0=X

T1

X.1=X

T2

X+1=1

T2

X.0=0

T3

X+X=X

T3

X.X=X

T4

(X)

T5

X+X=1

T5

X.X=0

T6

X+Y=Y+X

T6

X.Y=Y.X

T7

(X+Y)+Z=X+(Y+Z)

T7

(X.Y).Z=X.(Y.Z)

T8

X.Y+Y.Z=X.(Y+Z)

T8

( X + Y ) . (X + Z ) = X + Y . Z

T9

X+X.Y=X

T9

X.(X+Y)=X

T10

X.Y+X.Y=X

T10

(X+Y).(X+ Y)=X

T11

X.Y+X.Z+Y.Z=X.Y+X.Z

T11

(X + Y) . (X + Z) . (Y + Z) = (X + Y) . (X + Z)

T12

(X.Y)=X+Y

T12

(X+Y)=X.Y

2.3.3. Princpio da Dualidade


Como foi possvel observar os axiomas e os teoremas aparecem aos pares: T1 e T1, T2 e T2,
etc. Note que por exemplo o teorema T1 pode ser obtido custa do teorema T1 trocando entre
si os operadores soma lgica e produto lgico, e tambm os valores lgicos 0 e 1, mantendo as
negaes inalteradas.
A esta propriedade chama-se o Principio da Dualidade e pode ser aplicada a qualquer
igualdade envolvendo expresses booleanas. relao resultante chama-se de dual: por
exemplo, os teoremas T1 e T2 so duais dos teoremas T1 e T2.
Note-se que isto apenas verdade quando aplicado a relaes de igualdade entre expresses
booleanas e no a expresses isoladas.

Prof Carla Barreiros

Pgina 27

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

2.3.4. Teoremas de DeMorgan


As Leis de DeMorgan ou Teoremas de DeMorgan estabelecem as relaes que se apresentaram
no teorema T12 e T12:
(X.Y)=X+Y
e tambm, pelo princpio da dualidade:
(X+Y)=X.Y
Esta regra pode ser generalizada a uma funo qualquer com N variveis, permitindo obter a sua
negao apenas substituindo cada varivel pela sua negao, e trocando entre si os operadores
AND e OR.

2.3.5. Anlise Algbrica de Circuitos Lgicos


O conjunto de axiomas e teoremas apresentados constituem um conjunto de regras que
permitem manipular expresses booleanas. Estas operaes so importantes, no contexto do
projecto de sistemas digitais, e consistem na simplificao de expresses de forma a construir
circuitos electrnicos que realizem uma funo pretendida e que naturalmente, sejam o mais
simples possvel, melhorando o desempenho e diminuindo os custos de uma implementao.
Exemplo: Aplicao de teoremas de lgebra de Boole para simplificar uma expresso booleana:
Provar que (A . B + (A + B)) + A . C = A
(A . B + (A + B)) + A . C = (Teorema T12 Leis de DeMorgan)
A.B+A+B+A.C

= (Teorema T8)

A . (B + B) + A . C

= (Teorema T5)

A.1+A.C

(Teorema T1)

A +A.C

(Teorema T9)

A
Observar como uma expresso pode ser simplificada, melhorando sem dvida o desempenho e
o custo necessrio para a construo do sistema digital electrnico.

Prof Carla Barreiros

Pgina 28

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

2.3.6. Representao de funes booleanas


Como j se viu, uma funo booleana pode ser representada de vrias formas, tais como:

Expresses algbricas

Circuitos lgicos

Tabelas de Verdade

Uma expresso algbrica envolvendo N variveis define uma funo booleana com N variveis.
Para cada uma das 2N possveis combinaes para os valores lgicos das N variveis, o valor da
funo pode ser apenas 0 ou 1.
F(X,Y,Z) = Z.Y + X.Z + Y.Z
Um circuito lgico pode ser considerado com a traduo da expresso algbrica para uma
representao grfica formada pela interligao de smbolos (portas lgicas) que representam os
operadores da lgebra de boole. regra comum desenhar as entradas do circuito do lado
esquerdo e a sada do lado direito do esquema.

Numa tabela de verdade representa-se o valor da funo para cada combinao das variveis
independentes. As 2N combinaes das variveis independentes devem ser escritas segundo a
ordem natural dos nmeros binrios representados pelos valores das variveis da funo.

Cada uma destas representaes tem o seu objectivo e as suas vantagens e desvantagens.

Prof Carla Barreiros

Pgina 29

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

Em seguida vamos estudar dois mtodos para obter a expresso algbrica de uma funo
booleana representada por uma tabela de verdade.
Soma Cannica
Tendo uma funo booleana representada como uma tabela de verdade, pode-se obter
imediatamente uma expresso algbrica realizando a soma lgica dos termos mnimos para os
quais a funo vale 1.

F (X, Y, Z) = X.Y.Z + X.Y.Z + X.Y.Z + X.Y.Z + X.Y.Z


A expresso assim obtida chamada de soma cannica ou expresso cannica soma-deprodutos e pode ser tomada como o ponto de partida para construir um circuito lgico que
implemente essa funo.
Produto Cannico
De forma dual ao que foi visto anteriormente, tambm podemos obter uma expresso algbrica
correcta realizando o produto lgico dos termos mximos para os quais a funo vale 0 obtm-se
o produto cannico ou expresso cannica produto-de-somas.

F (X, Y, Z) = (X+Y+Z) . (X+Y+Z) . (X+Y+Z)

Prof Carla Barreiros

Pgina 30

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

2.4.

Portas lgicas (continuao)

Nas tecnologias mais comuns as portas NOR e NAND (portas inversoras) requerem menos
transstores que as portas lgicas OR e AND (portas no inversoras).
De facto, as portas lgicas OR e AND que so habitualmente realizadas com portas lgicas NOR
ou NAND seguida de uma porta lgica NOT.

2.4.1. Funo NAND


A funo NAND o inverso da funo AND, ou seja, funcionam com uma porta lgica AND
seguida de uma porta lgica NOT.
Sendo A e B os operandos e a funo lgica NAND o operador, vamos obter um resultado falso
(0) apenas quando A e B so verdadeiros (1), caso contrrio obteremos um resultado verdadeiro
(1).
F (X, Y) = X + Y = X . Y
Assim, a Tabela de Verdade produzida para esta operao :
X

X NAND Y

Esta operao poder ser representada como:

X NAND Y

X.Y

A porta lgica NAND pode ser representada como:

ou

Prof Carla Barreiros

Pgina 31

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

2.4.2. Funo NOR


A funo NOR o inverso da funo OR, ou seja, funcionam com uma porta lgica OR seguida
de uma porta lgica NOT.
Sendo A e B os operandos e a funo lgica NOR o operador, vamos obter um resultado
verdadeiro (1) apenas quando A e B so falsos (0), caso contrrio obteremos um resultado falso
(0).
F (X, Y) = X . Y = X + Y

Assim, a Tabela de Verdade produzida para esta operao :


X

X NOR Y

Esta operao poder ser representada como:

X NOR Y

X+Y

A porta lgica NOR pode ser representada como:

ou

Prof Carla Barreiros

Pgina 32

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

2.4.3. Funo EXCLUSIVE-OR (XOR)


O resultado da funo XOR verdadeiro se uma e apenas uma das 2 entradas for verdadeira,
dizendo de outra forma verdadeiro (1) quando os operandos A e B so diferentes.
F (X, Y) = X . Y + X . Y = X

Assim, a Tabela de Verdade produzida para esta operao :


X

X XOR Y

Esta operao poder ser representada como:

X XOR Y

A porta lgica NOR pode ser representada como:

ou

Prof Carla Barreiros

Pgina 33

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

2.4.4. Funo EXCLUSIVE-NOR (XNOR)


O resultado da funo XNOR verdadeiro (1) quando os operandos A e B so iguais.
F (X, Y) = X . Y + X . Y = X

Assim, a Tabela de Verdade produzida para esta operao :


X

X XNOR Y

Esta operao poder ser representada como:

X XNOR Y

A porta lgica XNOR pode ser representada como:

ou

Prof Carla Barreiros

Pgina 34

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

2.4.5. Representao de Circuitos Electrnicos com portas NAND


A porta NAND considerada uma porta universal porque qualquer circuito digital pode ser
realizado apenas com portas NAND.
Qualquer funo booleana realizvel apenas com portas NAND por substituio directa das
operaes NOT, AND e OR.

A operao NOT normalmente considerada, em sentido lato, como uma NAND de 1 entrada.
Nalgumas tecnologias (p.ex. TTL) as portas NAND so as portas mais simples (portanto mais
baratas), pelo que vantajosa a realizao de circuitos s com NANDs.
Uma funo representada na forma de uma soma de produtos, pode ser transformada numa
forma directamente realizvel apenas com portas NAND por simples aplicao da lei de
DeMorgan.
Exemplo:

Prof Carla Barreiros

Pgina 35

Arquitectura de Computadores 10 Ano


Mdulo 1 Sistemas Digitais

De forma dual, tambm possvel implementar um circuito com portas lgicas NOR.
No caso de a funo estar representada como um produto de somas, a transformao mantm a
estrutura.

Exemplo:

Prof Carla Barreiros

Pgina 36

Vous aimerez peut-être aussi