36
Escola Secundária D. Pedro V Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos Arquitectura de Computadores 10º Ano Módulo 1 – Sistemas Digitais Versão 1.0 - 2006/07 Prof.ª Carla Barreiros [email protected]

Manual AC 10 Ano

Embed Size (px)

DESCRIPTION

Manual AC10.º ano

Citation preview

  • 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 [email protected]

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 2

    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

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 3

    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. Sntese de Circuitos Combinatrios ..................................................................................... 37

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

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 4

    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.

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 5

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

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 6

    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

    sequncia

    p2 = d2 b2

    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.

    Sistema Decimal ou de base 10 Sistema Binrio ou de base 2 Sistema Octal ou de base 8

    Sistemas de Numerao Sistema Hexadecimal ou de base 16

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 7

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

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 8

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

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 9

    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 0 0000 0 0

    1 0001 1 1

    2 0010 2 2

    3 0011 3 3

    4 0100 4 4

    5 0101 5 5

    6 0110 6 6

    7 0111 7 7

    8 1000 10 8

    9 1001 11 9

    10 1010 12 A

    11 1011 13 B

    12 1100 14 C

    13 1101 15 D

    14 1110 16 E

    15 1111 17 F

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

    Binrio

    Decimal

    Octal Hexadecimal

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 10

    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) 2

    0 68 2

    0 34 2

    0 17 2

    1 8 2

    0 4 2

    0 2 2

    0 1

    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) 8

    4 65 8

    1 8 8

    0 1

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

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 11

    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

    6 1189 16

    5 74 16

    10 4

    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 0 1 1 0 1 0 1

    * * * * * * * *

    27 26 25 24 23 22 21 20

    = = = = = = = =

    128 + 0 + 32 + 16 + 0 + 4 + 0 + 1 = 181 (10)

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

    1 * 27 + 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 1 23 8 26 64 29 512

    21 2 24 16 27 128 210 1024

    22 4 25 32 28 256

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 12

    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 1 * 22 + 0 * 21 + 0 * 20 =

    = 4

    101 1 * 22 + 0 * 21 + 0 * 20 =

    = 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 0 * 23 + 1 * 22 + 1 * 21 + 0 * 20 =

    = 6(10) = 6 (16)

    1101 1 * 23 + 1 * 22 + 0 * 21 + 1 * 20 =

    = 13(10) = D (16)

    6D (16)

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 13

    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 4 6 4 3 7 0 1

    * * * * * * * *

    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

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 14

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

    9 D 3 6

    * * * *

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

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 15

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

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 16

    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:

    + 0 1

    0 0 1

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

    1

    +1

    10

    1 1 1 transporte

    1111

    + 101

    10100

    transporte

    1010

    + 101

    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.

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 17

    Exemplos de subtraces no sistema de numerao binrio:

    1 1 0 0 1 1 1 1 Transporte

    - 0 1 0 1 1

    0 1 1 1 0

    1 1 0 0 1 0 1 1 1 Transporte

    - 1 0 1 1 0 1

    0 0 0 1 0 1

    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:

    * 0 1

    0 0 0

    1 0 1

    Exemplo:

    1 0 1 1 0 1

    * 1 0 1

    1 0 1 1 0 1

    0 0 0 0 0 0

    1 0 1 1 0 1___

    1 1 1 0 0 0 0 1

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

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 18

    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.

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 19

    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.

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 20

    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 0 0000

    1 0001

    2 0010

    3 0011

    4 0100

    5 0101

    6 0110

    7 0111

    8 1000

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

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 21

    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.

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 22

    Tabela ASCII

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 23

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

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 24

    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 B A AND B

    0 0 0

    0 1 0

    1 0 0

    1 1 1 Esta operao poder ser representada como:

    A AND B A & B

    A B A . B

    A porta lgica AND pode ser representada como:

    ou

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 25

    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 B A OR B

    0 0 0

    0 1 1

    1 0 1

    1 1 1 Esta operao poder ser representada como:

    A OR B A + B

    A v B

    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 A

    0 1

    1 0 Esta operao poder ser representada como:

    NOT A

    A

    A porta lgica OR pode ser representada graficamente como:

    ou

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 26

    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.

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 27

    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

    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.

    (X)

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 28

    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.

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 29

    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.

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 30

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

    produtos 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)

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 31

    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 Y X NAND Y

    0 0 1

    0 1 1

    1 0 1

    1 1 0 Esta operao poder ser representada como:

    X NAND Y X . Y

    A porta lgica NAND pode ser representada como:

    ou

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 32

    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 Y X NOR Y

    0 0 1

    0 1 0

    1 0 0

    1 1 0 Esta operao poder ser representada como:

    X NOR Y X + Y

    A porta lgica NOR pode ser representada como:

    ou

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 33

    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 Y Assim, a Tabela de Verdade produzida para esta operao :

    X Y X XOR Y

    0 0 0

    0 1 1

    1 0 1

    1 1 0 Esta operao poder ser representada como:

    X XOR Y

    X Y

    A porta lgica NOR pode ser representada como:

    ou

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 34

    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 Y

    Assim, a Tabela de Verdade produzida para esta operao :

    X Y X XNOR Y

    0 0 1

    0 1 0

    1 0 0

    1 1 1 Esta operao poder ser representada como:

    X XNOR Y

    X Y

    A porta lgica XNOR pode ser representada como:

    ou

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 35

    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:

  • Arquitectura de Computadores 10 Ano Mdulo 1 Sistemas Digitais

    Prof Carla Barreiros Pgina 36

    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: