57
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS C C U U R R S S O O T T É É C C N N I I C C O O E E M M M M E E C C A A T T R R Ô Ô N N I I C C A A ( ( C C E E ) ) SISTEMAS DIGITAIS Prof. Paulo Henrique Cruz Pereira Varginha – Minas Gerais - 2009

Apostila - Sistemas Digitais - Prof. Paulo H

Embed Size (px)

Citation preview

Page 1: Apostila - Sistemas Digitais - Prof. Paulo H

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS

CCUURRSSOO TTÉÉCCNNIICCOO EEMM MMEECCAATTRRÔÔNNIICCAA ((CCEE))

SISTEMAS DIGITAIS

Prof. Paulo Henrique Cruz Pereira

Varginha – Minas Gerais - 2009

Page 2: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira i

Ementa: Representação Numérica, Sistemas Digitais e Analógicos, Circuitos Digitais, Sistemas Numéricos e Códigos, Portas Lógicas, Álgebra de Booleana, Circuitos Combinacionais, Flip-Flops, Contadores e Registradores, Aritmética Digital, Circuitos Lógicos, Multivibradores, Dispositivos de Memória, Dispositivos de Lógicas Programáveis (PLD) e Microprocessadores Objetivos (Competências, habilidades e atitudes): Ao final da série, o aluno deverá:

• Analisar o Funcionamento de Circuitos Digitais, em geral; • Projetar Circuitos Lógicos Combinacionais; • Projetar e Analisar Circuitos Lógicos Seqüenciais; • Conhecer o Princípio de Funcionamento de Memórias; • Conhecer o Princípio de Funcionamento dos Dispositivos Programáveis; • Conhecer e Compreender o Princípio de Funcionamento dos Microprocessadores.

Processo de Avaliação: 1º Bimestre: 20 pontos Avaliações: Março – 08 pontos (trabalhos – AF) Abril – 10 pontos (sem consulta – AF) Abril – 02 pontos (participação em sala – AF) 2º Bimestre: 20 pontos Avaliações: Maio – 06 pontos (trabalhos – AF) Junho – 06 pontos (sem consulta – AF) Junho – 02 pontos (participação em sala – AF) Julho – 06 pontos (sem consulta – AF) 3º Bimestre: 30 pontos Avaliações: Agosto – 13 pontos (trabalhos – AF) Setembro – 15 pontos (sem consulta – AF) Setembro – 02 pontos (participação em sala – AF) 4º Bimestre: 30 pontos Avaliações: Outubro – 08 pontos (trabalhos – AF) Novembro – 10 pontos (sem consulta – AF) Novembro – 02 pontos (participação em sala – AF) Dezembro – 10 pontos (sem consulta – AF)

Calendário de avaliação sujeito a alteração, conforme necessidade do calendário letivo anual e/ou alteração de horário de aulas.

Page 3: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira ii

ÍNDICE

I – SISTEMAS NUMÉRICOS..................................................................................................................................1

INTRODUÇÃO: ...................................................................................................................................................1

SISTEMA DECIMAL: .........................................................................................................................................1

SISTEMA BINÁRIO:..........................................................................................................................................1

SISTEMA OCTAL: .............................................................................................................................................3

SISTEMA HEXADECIMAL: ..............................................................................................................................5

ADIÇÃO E SUBTRAÇÃO SISTEMA BINÁRIO............................................................................................................6

Adição Binária ...................................................................................................................................................6

Subtração Binária..............................................................................................................................................7

Complemento de 2: ............................................................................................................................................7

II – PORTAS LÓGICAS ..........................................................................................................................................9

INTRODUÇÃO: ...................................................................................................................................................9

PORTAS INVERSORAS (NOT): ...............................................................................................................................9

PORTAS OU (OR): .................................................................................................................................................9

PORTAS E (AND): ................................................................................................................................................10

PORTAS NÃO OU (NOR): ....................................................................................................................................11

PORTAS NÃO E (NAND):.....................................................................................................................................11

Porta NOT: ......................................................................................................................................................12

Porta AND: ......................................................................................................................................................12

Porta OR:.........................................................................................................................................................12

PORTAS OU EXCLUSIVO – EXOU (EXOR): ......................................................................................................12

PORTAS EXNOR: ................................................................................................................................................13

III – ÁLGEBRA BOOLEANA E MAPAS DE KARNAUGH..............................................................................14

INTRODUÇÃO ..................................................................................................................................................14

RELAÇÃO BOOLEANAS ................................................................................................................................14

MAPAS DE KARNAUGH .................................................................................................................................15

IV - MULTIPLEXADOR: ........................................................................................................................................19

V - DEMULTIPLEXADOR:....................................................................................................................................20

VI – FLIP-FLOPS E REGISTRADORES.........................................................................................................21

INTRODUÇÃO ..................................................................................................................................................21

TIPO R-S .............................................................................................................................................................21

TIPO D.................................................................................................................................................................23

TIPO J-K .............................................................................................................................................................24

TIPO T .................................................................................................................................................................25

Page 4: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira iii

VII – CONTADORES .............................................................................................................................................26

CONTADORES CRESCENTES.................................................................................................................................26

a) Síncronos:....................................................................................................................................................26

b) Assíncronos: ................................................................................................................................................26

c) Assíncrono com 4 flip-flops: ........................................................................................................................27

CONTADORES DECRESCENTES ............................................................................................................................29

a) Assíncronos: ................................................................................................................................................29

b) Síncronos:....................................................................................................................................................29

c) Contador Crescente/Decrescente: ...............................................................................................................30

VIII – MEMÓRIAS...................................................................................................................................................31

MEMÓRIA DE MASSA ...........................................................................................................................................31

MEMÓRIA SEMICONDUTORA...............................................................................................................................32

a) ROM (Ready Only Memory): .................................................................................................................32

b) PROM (ROM Programável)...................................................................................................................32

c) EPROM (PROM Apagável)....................................................................................................................32

d) E2PROM ................................................................................................................................................32

e) RAM (RANDOM ACESS MEMORY) .....................................................................................................32

IX - MICROPROCESSADORES ..........................................................................................................................34

INTRODUÇÃO ..................................................................................................................................................34

A Unidade Central de Processamento (CPU)..................................................................................................35

Memória...........................................................................................................................................................35

Dispositivos de Entrada e Saída (E/S ou I/0)...................................................................................................36

Vias de Dados, Endereços e Controle..............................................................................................................36

PROGRAMAÇÃO .............................................................................................................................................37

O Microprocessador SAP-1 .............................................................................................................................37

O Microprocessador SAP-2 .............................................................................................................................42

BIBLIOGRAFIA ......................................................................................................................................................53

Page 5: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 1

I – SISTEMAS NUMÉRICOS INTRODUÇÃO:

A dimensão de um certo conjunto ou seu número de elementos se traduz por um número. Para representar um número, podemos usar palavras, sinais ou símbolos que são chamados numerais. Assim, quando queremos representar a quantidade de elementos de um conjunto, podemos usar uma qualquer das representações.

Exemplo: os elementos do conjunto de letras do alfabeto (a, b, c, ..., x, z) são 23 ou vinte

e três.

Conclui-se que um certo conjunto pode ser representado por diversos numerais. O numeral é a maneira de representar um conjunto de elementos, ao passo que o número nos dá uma idéia de quantidade.

SISTEMA DECIMAL:

Entre os sistemas numéricos existentes, o sistema decimal é o mais utilizado. Os

símbolos ou dígitos utilizados são os algarismos 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. Os elementos são agrupados de dez em dez e, por essa razão, os números podem ser expressos por intermédio de potência de dez e recebem o nome de sistema de numeração decimal.

Exemplo: 486 = 400 + 80 + 6 = 4 x 100 + 8 x 10 + 6 x 1 = 4 x 102 + 8 x 101 + 6 x 100 , ou seja, 2 1 0

486 = 4 x 102 + 8 x 101 + 6 x 100

Observe que o número 4 está numa posição tal que seu peso é igual a 2 e que o número 6 por sua vez tem o peso igual a zero. Então podemos concluir que o algarismo ou dígito, dependendo do seu posicionamento terá um peso. Note que aquele situado na extrema esquerda do número está sendo multiplicado pela potência de dez maior, ou seja, é o dígito mais significativo (most significant digit – MSD). Analogamente, o que está situado na extrema direita será multiplicado pela menor potência, ou seja, é o dígito menos significativo (least significant digit – LSD) NOTA: a) O princípio de posicionamento, que formula o expoente da base 10, pode ser estendido a qualquer sistema numérico, ou seja, independe da base numérica em que está representado. b) Por ser o sistema padrão de uso (é o sistema que utilizamos em nosso dia-a-dia), o sistema decimal não necessita de representação de base, a fim de simplificação de escrita.

SISTEMA BINÁRIO:

Como o próprio nome já indica, tem base 2 e é o sistema de numeração mais utilizado em processamento de dados digital, pois utiliza apenas dois símbolos ou algarismos 0 e 1. Também vale ressaltar, que em processamentos digitais, que o dígito 1 também é conhecido por

Page 6: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 2

nível lógico 1, nível lógico alto, ligado, verdadeiro e energizado. Já o dígito 0 poder ser nível lógico 0, nível lógico baixo, desligado, falso e desernegizado.

Assim a cada posição de cada algarismo corresponde uma potência de 2, como foi exposto para número decimal ao qual correspondia uma potência de 10. Conversão de Binário em Decimal: É o mesmo processo já estudado para base 10, ou seja: 10111(2) = 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 1 x 20 = 16 + 0 + 4 + 2 + 1 = 23 logo: 10111(2) = 23(10) ou 10111(2) = 23 ou 10111(2 = 23 NOTA: devido a sua importância em sistemas digitais e processamentos de dados digitais, os dígitos binários são denominados de “bit” (da contração do inglês Binary Digit). Da mesma forma, o que falamos no sistema decimal, dependendo do posicionamento do algarismo ou bit, terá um peso; o da extrema esquerda será o bit mais significativo (most significant bit – MSB) e o da extrema direita o bit menos significativo (least significant bit – LSB). 4 3 2 1 0

Ex.: 11011(2 = 1 x 24 + 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 16 + 8 + 0 + 2 + 1 = 27 MSB LSB Conversão de Decimal em Binário: Na conversão decimal-binário, podem ser utilizados dois métodos: o primeiro que é mais geral, dito das divisões sucessivas, consiste m dividir sucessivamente o número por 2 até obtermos o cociente 0 (zero). O resto dessa divisão colocado na ordem inversa corresponde ao número binário, resultado da conversão de decimal em binário de um certo número de dados. Ex.: 54 = ?(2 54 2

0 27 2

1 13 2

1 6 2

0 3 2

1 1 2

1 0

54 = 110110 (2

O segundo método de conversão consiste em, começando como número decimal a ser convertido, extrair a maior potencia de 2 (menor ou igual) possível. Repetindo este processo para o resto dessa subtração até que o resto seja zero. Concluindo, marque com o dígito 1 os expoentes utilizados e com dígito zero os expoentes não utilizados. Ex.: 54 = ?(2 64 32 16 8 4 2 1

Page 7: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 3

54 – 32 = 22 22 – 16 = 6 6 – 4 = 2 2 – 2 = 0 Portanto nós utilizamos as potencias 32=25, 16=24, 4=22 e 2=21, ou seja: 6 5 4 3 2 1 0

64 32 16 8 4 2 1

resposta = 1 1 0 1 1 0 (2 Este método, evidentemente, exige um pouco mais de raciocínio, devido ao problema de memorização das potências de dois e subtrações. Conversão de Números Binários Fracionários em Decimal: A conversão segue o mesmo processo binário para decimal já visto, utilizando a mesma expressão, inclusive os dígitos após a vírgula em que as potências ficam com o expoente negativo. Ex.: 110,11(2 = 1 x 22 + 1 x 21 + 0 x 20 + 1 x 2-1 + 1 x 2-2 = 4 + 2 + 0 + 1 x 1 + 1 x 1 21 22 = 4 + 2 + 0 + 0,5 + 0,25 = 6,75 110,11(2 = 6,75 Conversão de Número Decimal Fracionário em Binário: Neste tipo de conversão vamos dividir o processo de conversão em duas etapas: conversão da parte inteira (já estudada) e conversão da parte fracionária. Exemplo: 6, 75 6 = parte inteira 0,75 = parte fracionária A conversão da parte fracionária é efetuada por um processo inverso ao da parte inteira, ou seja, em vez de divisões sucessivas, são efetuadas multiplicações sucessivas, e a parte inteira que advier desse processo é isolada a cada operação. Exemplo: 0,75 x 2 = 1,50 1 0,50 x 2 = 1,00 1 logo: 6,75 = 110,11(2 NOTA: Dependendo do número, chegar ao resultado zero na parte fracionário, às vezes, é muito extensa ou impossível (caso de dízima). Então teremos de definir o número de casas decimais que se quer após a vírgula, como acontece no sistema decimal. Exercícios: a) 111011(2) = ? b) 110111(2) = ? c) 10011(2) = ? d) 1011,101(2) = ? e) 102 = (2) f) 43 = (2) g) 45,675 = (2) h) 36 = (2)

SISTEMA OCTAL:

Page 8: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 4

O sistema octal ou base 8 é composto por oito símbolos ou dígitos: 0, 1, 2, 3, 4, 5, 6, e 7. Os números binários, como vimos, são longos demais para manipularmos; são muito apropriados para as máquinas ou computadores, mas para seres humanos são muitos trabalhosos.

Se considerarmos três dígitos binários, o maior que pode ser expresso por esses três dígitos é 111 ou em decimal 7. Como 0 7 é também o algarismo mais significativo do sistema octal, conclui-se que com a combinação de três dígitos binários pode-se ter o algarismo octal correspondente; daí também poder dizer que os números octais têm um terço do comprimento de um número binário e fornecem a mesma informação. Conversão de Octal em Binário: A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa à já descrita, ou seja, basta converter individualmente cada dígito octal em três binários. Ex.: 137(8 = ?(2 O número 1 equivale a 001(2), o número 3 igual a 011(2) e o número 7 vale 111(2). Portanto: 137(8) = 001011111(2) ou seja 137(8) = 1011111(2) Conversão de Binário em Octal: É feita pela combinação de três dígitos binários, como vimos, podendo assim ter todos os algarismos octais: Ex.: 11011011(2) = 11 011 011 = 3 3 3 (8) � 11011011(2) = 333(8) 1011101(2) = 1 011 101 = 1 3 5 (8) � 1011101(2) = 135(8) Conversão de Octal em Decimal: Esta conversão se passa pela conversão em binário e posteriormente em decimal, ou seja: 17(8) = ? � 001 111 (2) � 1 x 23 + 1 x 22 + 1 x 21 + 1 x 20 � 8 + 4 + 2 + 1 � 15 Conversão Decimal para Octal: Conforme vimos anteriormente, também neste caso devemos passar pelo sistema binário. 22 = ?(8) � 10110(2) � 10 110 � 26(8) Exercícios: a) 45(8) = ?(2) = ? b) 1011(2) = ?(8) c) 56(8) = ? d) 101 = ?(8) e) 101(2) = ? f) 47 = ?(2) = ?

Page 9: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 5

SISTEMA HEXADECIMAL:

O sistema hexadecimal (hexa) foi criado com o mesmo propósito do sistema octal, para minimizar a representação de um número binário que é o utilizado em processamento. Tanto os números em hexa como em octal são os meios de manipulação do homem, porém existirão sempre conversores internos à máquina que os converta em binário, com o qual a máquina trabalha.

Analogamente, se considerarmos quatro dígitos ou bits binários, o maior número que se pode ser expresso por esses quatro dígitos é 1111 ou em decimal 15, da mesma forma que 15 é o algarismo mais significativo do sistema hexadecimal, portanto com a combinação de 4 bits ou dígitos binários pode-se ter o algarismo hexadecimal correspondente.

Assim, com esse grupamento de 4 bits ou dígitos, podem-se definir 16 símbolos, o até 15. Contudo, como não existem símbolos dentro do sistema arábico que possam representar os números decimais entre 10 e 15 sem repetir os símbolos anteriores, foram usados os símbolos A, B, C, D, E e F, portanto o sistema hexadecimal será formato por 16 símbolos alfanuméricos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F. Conversão Hexa para Binário: Basta converter cada dígito hexadecimal em seu similar binário, ou seja, cada dígito em hexa equivale a um grupo de 4 bits. Ex.: B15(16) = ? (2) B � 11 � 1011(2) 1 � 1 � 0001(2) 5 � 5 � 0101(2) Logo, B15(16) = 101100010101(2) Conversão Binária para Hexa: De maneira análoga, basta realizar o processo inverso de hexa para binário. Ex.: 10011011(2) = ?(16) 1001(2) � 9 � 9 (16) 1011(2) � 11 � B(16) Portanto, 10011011(2) = 9B(16) Conversão Hexa nos demais sistemas e vice-versa: Como podemos perceber para realizarmos a conversão nos demais sistemas basta passarmos pela binária e/ou pelo sistema decimal. Exercícios: a) 211 = ?(2) = ?(8) = ?(16) b) 1101011(2) = ?(16) = ? = ?(8) c) 3747(8) = ?(16) = ?(2) = ? d) AAE(16) = ? = ?(8) = ?(2) e) Fazer um programa para sistema de conversão entre as diversas bases, somente números inteiros.

Page 10: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 6

Adição e Subtração Sistema Binário

Devido a sua importância no processamento de dados digitais iremos verificar como uma máquina (computador) processa a subtração e adição, já que o sistema utilizado pelas máquinas é os sistemas binários.

Adição Binária Os microprocessadores (CPU – Unidade Central de Processamento, ex. Pentium III) não processam números decimais; elas processam números binários. Antes que possamos entender os circuitos no interior de um microprocessador, devemos aprender como somar números binários. Há cinco casos básicos que devem ser entendidos: Caso 1: quando zero for adicionado a zero, o total será zero, ou seja: 0 + 0 = 0 Caso 2: quando zero for adicionado a 1, o total será 1, ou seja: 0 + 1 = 1 Caso 3: quando 1 for adicionado a zero, o total será 1, ou seja: 1 + 0 = 1 Caso 4: quando 1 for adicionado a 1, o total será zero e vai 1, ou seja: 1 + 1 = 10 Caso 5: quando realizarmos uma sucessão consecutiva de adição de três dígitos 1 termos o seguinte: 1 + 1 + 1 = 11 Visto os casos anteriores podemos verificar o seguinte exemplo: 11100(2) + 11010(2) ? Partimos com a coluna menos significativa para obtermos: 0 + 0 = 0 A seguir, adicionamos os bits da segunda coluna como indicado: 0 + 1 = 1 A terceira coluna dá: 1 + 0 = 1 A quarta coluna resulta: 1 + 1 = 0 e transporta 1 (vai 1) Finalmente, a última coluna dá: 1 + 1 + 1 = 11 Logo: 11100(2) + 11010(2) 110110(2) Exercícios: a) 101(2) + 11(2) b) 11001(2) + 111(2) c) 101011(2) + 1001(2) d) 111(2) + 1001(2) e) 1011(2) + 101(2)

Page 11: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 7

Subtração Binária Para subtrair binários, necessitamos discutir quatro casos: Caso 1: 0 – 0 = 0 Caso 2: 1 – 0 = 1 Caso 3: 1 –1 = 0 Caso 4: 10 – 1 = 1 Para subtrair números binários maiores, subtraímos coluna por coluna, pedindo emprestado da próxima coluna mais alta quando necessário. Por exemplo, ao subtrair 101 de 111, procedemos assim: 111 (2)

- 101 (2) 010 (2)

Partindo da direita, 1 – 1 dá 0; depois 1 – 0 é 1; finalmente 1 – 1 é 0.

Um outro exemplo seria: subtrair 1010(2) de 1101(2). 1101 (2) - 1010 (2)

0011 (2) Na coluna menos significativa, 1 – 0 é 1. Na segunda coluna, temos que pedir emprestado (vem um) da próxima coluna mais alta; então, 10 – 1 é 1. Na terceira coluna, 0 (depois do empréstimo) – 0 é 0. Na quarta coluna 1 – 1 = 0. Subtração direta como a precedente tem sido usada em computadores; no entanto, é possível subtrair de maneira diferente. 6.2.1) Exercícios: a) 1100(2) – 0101(2) b) 1011(2) – 011(2) c) 101(2) – 010(2)

Complemento de 2: Os números de magnitude com sinal são fáceis de entender, mas eles requerem demasiado hardware para adição e subtração. Isso tem levado ao uso amplo de complementos para aritmética binária. Para obtermos o completo de um número binário, basta inverter (trocar) os bits deste número, ou seja: __ A = 0111 (2) A = 1000(2) (leia-se A barrado) O Complemento de 2 é definido como a nova palavra obtida pela adição de 1 ao complemento original desta palavra, isto é: _ A’ = A + 1 _ Onde A’ = complemento de 2 e A = complemento de 1 Portanto, voltando ao exemplo A’ = 1001(2)

Page 12: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 8

A utilidade do complemento de 2 é de podermos transformar uma subtração binária em um processo de adição, ou seja, vamos realizar a seguinte operação aritmética de subtração em uma operação de adição: 1100(2) – 101(2) (em decimal 12 – 5 = 7) Primeiramente vamos dar representações aos números: A = 1100(2) e B = 101(2). Depois devemos igualar o número de dígitos de cada número, ou seja, adicionar “zeros” a esquerda, quando necessário (B = 0101(2)) __ Vamos achar o complemento de 2 de B, ou seja: B = 1010(2) e B’ = 1011(2) Agora basta realizarmos a adição de A + B’, isto é: 1100 (2) +1011 (2) 10111 (2) Finalmente, isolamos o comprimento do resultado como sendo do mesmo número de dígitos dos números da operação (em nosso caso 4 dígitos), logo nossa resposta será: 111(2). Exercícios: Utilizar complemento de 2 a) 1100(2) – 0101(2) b) 1011(2) – 011(2) c) 101(2) – 010(2) d) Fazer um programa que realize adição e subtração de números binários de no máximo 4 dígitos.

Page 13: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 9

II – PORTAS LÓGICAS INTRODUÇÃO:

Durante séculos os matemáticos sentiram que havia uma conexão entre a Matemática e a Lógica, mas ninguém antes de George Boole pôde achar este elo ausente. Em 1854 ele inventou a lógica simbólica, conhecida por álgebra booleana. Cada variável na álgebra booleana tinha qualquer um de dois valores: verdadeiro ou falso. Após algumas décadas os engenheiros entenderem que a álgebra booleana podia ser aplicada à Eletrônica dos Computadores. Portas Inversoras (NOT):

Uma inversora é uma porta com apenas um sinal de entrada e um sinal de saída, o estado da saída é sempre o oposto da entrada.

Simbologia:

A A

Tabela Verdade:

A A

1 0

0 1

Representação em Álgebra Booleana: S = A Portas OU (OR):

A porta OR tem dois ou mais sinais de entrada (padrão 02 ou 03) mas somente um sinal de saída. Se qualquer sinal de entrada for alto (nível 1 - fechado), o sinal de saída será alto.

A

Nível 1 B Saída

C

Simbologia: A

S

Page 14: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 10

Tabela Verdade:

A B C S

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 1

1 1 0 1

1 1 1 1

Representação em Álgebra Booleana: S = A + B + C Portas E (AND):

A porta AND tem dois ou mais sinais de entrada (padrão 02 ou 03) mas somente um sinal de saída. Se qualquer sinal de entrada for baixo (nível 0 - aberto), o sinal de saída será baixo.

Nível 1 A B C Saída

Simbologia:

Saída

Tabela Verdade:

A B S

0 0 0

0 1 0

1 0 0

1 1 1

Representação em Álgebra Booleana: S = A . B

A B

Page 15: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 11

Exercícios:

a) Fazer o circuito de portas lógicas equivalente a seguinte equação booleana: S = (A + C) . B

b) Fazer a tabela verdade para porta AND com 3 entradas.

c) Fazer a tabela verdade para porta OR com 4 entradas.

d) Fazer o circuito de portas lógicas equivalente a S = ((A+B).C) + (A.C) + B

e) Fazer o circuito de portas lógicas para S = ((A.B)+C) . (A+B) . C

Portas Não OU (NOR):

As portas NOR apresentam as mesmas características das portas OR, com relação à entrada e saída. Sua diferença esta no fato de ter associado a sua saída uma porta NOT, o que inverte o resultado de S, ou seja, só teremos nível lógico 1 na saída quando todas as entradas forem de nível 0.

Simbologia:

A S

B

Representação em Álgebra de Boole: S = A + B Portas Não E (NAND):

De maneira análoga às portas NOR, as portas NAND nada mais são que portas AND onde foram acrescentadas portas NOT em sua saída. Portanto, só obteremos nível 0 quando todos as suas entradas forem de nível 1.

Simbologia:

A S

B

Representação em Álgebra de Boole: S = A . B

Talvez esta porta seja a mais importante de todas pois através dela podemos implementar as demais:

Page 16: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 12

Porta NOT:

A S

Porta AND:

A

B S

Porta OR:

A

S

B

Tabela Verdade:

A B A B S

0 0 1 1 0

0 1 1 0 1

1 0 0 1 1

1 1 0 0 1

Exercícios:

Fazer as tabelas verdades para as portas NOT e AND implementadas com portas NAND de 02 entradas. Portas OU Exclusivo – EXOU (EXOR):

Uma porta EXOR reconhece apenas quando houver um número impar de entradas em nível alto.

Page 17: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 13

Simbologia:

Para figura (a) temos o circuito equivalente real e na fig. (b) temos a representação convencionada.

Representação em Álgebra de Boole: Y = A ⊕ B ou S = A ⊕ B

Tabela Verdade:

A B S

0 0 0

0 1 1

1 0 1

1 1 0 Portas EXNOR:

Como mas demais portas, para obtermos uma porta EXNOR, basta adicionarmos ao final de uma porta EXOR uma porta inversora, o que provocará a inversão dos resultados na saída.

Simbologia:

Representação Booleana: S = A ⊕ B ou S = A � B

Exercícios (Consultar na biblioteca o livro Elementos de Eletrônica Digital do autor Idoeta) fazer os problemas 2.9.1 a 2.9.24.

Page 18: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 14

III – ÁLGEBRA BOOLEANA E MAPAS DE KARNAUGH INTRODUÇÃO

Iremos Estudar a álgebra booleana e os mapas de Karnaugh, tópicos indispensáveis ao projetista digital. O projeto digital usualmente inicia-se especificando uma saída desejada com uma tabela-verdade. A pergunta então é como apresentar um circuito lógico que tenha a mesma tabela-verdade. A álgebra booleana e os mapas de Karnaugh são as ferramentas usadas para transformar uma tabela-verdade num circuito lógico prático. RELAÇÃO BOOLEANAS

O que se segue é uma discussão das relações básicas em álgebra booleana. Muitas destas relações são as mesmas da álgebra comum, o que facilita lembra-las.

Leis Comutativa, Associativa e Distributiva:

A + 0 = A A + 1 = A A + A = A _ ___ A + A = 1 A = A A . 1 = A _ A . 0 = 0 A.A = A A.A = 0 _____ __ __ ___ __ __ A + B = A . B A.B = A + B A + A.B = A _ _ A(A + B) = A A + A.B = A + B A(A + B) = A.B

A + B = B + A A.B=AB AB = BA

A + (B + C) = (A + B) + C A(BC) = (AB)C A(B + C) = AB + AC

A + BC = (A + B)(A + C) � vale lembrar que não se trata de álgebra comum

Exercícios:

a) Desenhar o circuito AND-OR para: _ _ _ _ _ a.1) S = ABCD + ABCD + ABCD _ _ _ _ _ _ _ a.2) S = ABCD + ABCD + ABCD + ABCD

b) Escreva a equação do booleana para:

Page 19: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 15

c) Determinar o circuito lógico digital e tabela verdade para a seguinte expressão booleana: _

S = BC + A (B + C)

A B C BC A B+C A(B+C) S

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

d) Idem ao exercício anterior para uma expressão: S = A ( B + C) + AB

MAPAS DE KARNAUGH

Como se pode constatar, a minimização ou simplificação é imprescindível em um comando digital. Para realizarmos tal tarefa utilizaremos a minimização por mapas de Karnaugh que é um método, uma vez entendido, muito simples.

O método consiste em fazer a minimização a partir de uma tabela da verdade, ou mapa, porém a simplificação é feita sobre um mapa característico chamado mapa de Karnaugh, que contém os mesmos elementos de uma tabela verdade comum, porém com uma distribuição diferente. Exemplo:

Tabela Verdade: Mapa de Kanaurgh:

A B C S . C AB 00 01 11 10

0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 1 Obs.: Observe que há uma inversão 1 0 1 1 de seqüência no mapa. 1 1 0 0 1 1 1 1

Page 20: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 16

Podemos Observar que no mapa de Karnaugh a combinação para as variáveis A, B e C se obtém pela combinação de uma linha com uma coluna, ou seja, a combinação 0,0,e 0 se obtêm pela combinação da primeira linha com a primeira coluna. Assim, observamos que temos todas as combinações de entrada mostradas na tabela verdade.

Vale apena ressaltar que a expressão booleana é escrita a partir da tabela verdade perguntando-se quando obteremos a saída igual a nível 1, ou seja:

CBACBACBACBACBAS .......... ++++=

Regras para Minimização (Simplificação):

A simplificação consiste em reunir células adjacentes que possuam a mesma saída (1), formando conjuntos denominados de subcubos e obedecendo às seguintes regras:

a) O número de células reunidas deve ser o maior possível, mesmo que para isso uma mesma célula deve pertencer a dois ou mais conjuntos diferentes;

b) O número de células reunidas em um subcubo deve ser sempre potência de 2, ou seja, 1, 2,4,8, 16,...;

c) Uma mesma célula pode pertencer a subcubos diferentes para satisfazer o item A, mas não fazer agrupamentos desnecessários (pelo menos uma célula tem de pertencer a um subcubo somente); e

d) Deve-se formar tantos agrupamentos até que não reste nenhuma saída igual que não tenha sido agrupada.

A expressão da saída se obtém dos subcubos formados. Cada subcubo define uma função AND entre as variáveis que não mudam de nível lógico dentro do subcubo. Os diversos subcubos obtidos no mapa formam uma função OR. Voltando ao exemplo anterior e aplicando-se o mapa de Karnaugh, obteremos a seguinte expressão booleana simplificada: _ _ _ _

S = AB + AC + AB ou S = AB + BC + AB

Um mapa de Karnaugh para 4 variáveis (A, B, C e D) seria da seguinte forma:

CD AB 00 01 11 10

00

01

11

10

Page 21: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 17

Exercícios:

a) Dado a tabela verdade abaixo, determinar a expressão booleana simplificada por Karnaugh e o circuito digital resultante.

A B C S

0 0 0 1

0 0 1 0

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 0

1 1 1 1

b) Um guindaste deve permitir a elevação de massas compreendidas entre 20 e 80 quilos, pela atuação do motor M (é a nossa saída S). Para isso ele possui uma plataforma repousando sobre molas. Segundo o peso das cargas a elevar, três sensores de carga A, B e C são atuados. As condições de funcionamento são as seguintes:

1) Em vazio o guindaste deve funcionar, isto é, quando nenhum dos sensores é acionado;

2) Para cargas até 20 Kg, ou seja, 0 < p < 20, o guindaste não deve funcionar. Situação em que somente o sensor A está atuado;

3) Para cargas compreendidas entre 20 e 80 Kg, 20 < p < 80, o guindaste deve funcionar, quando os sensores A e B permanecem atuados; e

4) Para cargas superiores a 80 Kg, p > 80, o guindaste não deve funcionar, quando todos os sensores permanecem atuados.

Com base no sistema descrito, determinar: 1) Tabela verdade de funcionamento; 2) Equação Booleana simplificada por Karnaugh; e 3) Circuito digital.

c) Em um circuito digital eletrônico, utiliza-se um LED de 7 segmentos ( a, b, c, d, e, f, g) para representar os números decimais positivos de um dígito somente. Com base na informação abaixo, posicionamento dos segmentos e tabela de atuação, completar a tabela e montar o circuito lógico digital simplificado que atendam as necessidades decimais.

Page 22: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 18

Dec A B C D a b c d e f g LED

0 0 0 0 0 1 1 1 1 1 1 0 0

1 0 0 0 1 0 1 1 0 0 0 0 1

2 0 0 1 0 1 1 0 1 1 0 1 2

3 0 0 1 1 1 1 1 1 0 0 1 3

4 0 1 0 0 4

5 0 1 0 1 5

6 0 1 1 0 6

7 0 1 1 1 7

8 1 0 0 0 8

9 1 0 0 1 9

Obs.: 1) Os números que não estão sendo utilizados na codificação ABCD, não interferem no resultado, ou seja, são condições irrelevantes (representados no mapa de Karnaugh por um “X”). Tais condições de irrelevância devem ser utilizadas como sendo nível lógico 0 ou 1, o que irá facilitar nas simplificações.

1) Cada segmento deve ser considerado como uma saída individual do nosso circuito.

Page 23: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 19

IV - MULTIPLEXADOR:

O circuito multiplexador é o circuito que coloca na saída, o sinal presente em uma das entradas selecionadas, segundo as variáveis de seleção.

Observando o esquema abaixo, podemos notar que nas entradas designadas por D0 a D3 (Data), são colocadas informações (0 ou 1), e em função das outras entradas chamadas de seleção: A0 e A1 (Adress), é colocada na saída, a informação de uma das entradas (D0 a D3).

O número de entradas que pode ser selecionado para colocar suas informações na saída é múltiplo do número de entradas que efetuam a seleção ou entradas de seleção.

D0 Entradas D1 Saída S de D2 Dados D3

A0 A1 Entradas de Seleção

Exemplo de Multiplexador de quatro entradas:

Se o número de entradas de seleção for o de A0 e A1, o número de combinações possíveis será: 22 = 4, portanto, conseguiremos selecionar até quatro entradas de dados D0 a D3, como mostrado no quadro anterior, ou para cada uma das combinações colocamos a informação de uma das entradas na saída S.

Multi-

plexador

Page 24: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 20

V - DEMULTIPLEXADOR:

O circuito demultiplexador executa a função inversa de um multiplexador, ou seja, coloca uma entrada, no caso de dados (D), em uma das saídas S0 a S3 em função das variáveis de seleção.

Na entrada D, coloca-se a informação que se quer transmitir a uma ou a outra saída selecionada por variáveis ditas de seleção. Da mesma forma, o número de saídas que pode ser selecionado para receber a informação da entrada D é múltiplo do número de entradas que efetuam a seleção ou entradas de seleção.

D0 Entradas D1 de D D2 Saídas Dados D3

A0 A1 Seleção

Exemplo de Demultiplexador de quatro entradas:

Com base no estudo do multiplexador podemos facilmente verificar como se dá a saída do demultiplexador.

Exercício: Fazer o circuito lógico digital para o multiplexador e demultiplexador dos exemplos estudados.

Multi-

plexador

Page 25: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 21

VI – FLIP-FLOPs E REGISTRADORES INTRODUÇÃO

Um circuito biestável, também chamado de circuito flip-flop ou Latch, apresenta dos estados estáveis (0 e 1) na saída e, pela ação de um pulso externo a uma das entradas, passa de um estado ou nível lógico ao outro, lá permanecendo até que outro pulso ou estímulo seja dado na outra entrada. Por essa característica de reter um determinado estado ou nível lógico é que se classifica como elemento de memória. __

As duas saídas Q e Q são complementares, e o flip-flop diz-se setado se a saída Q estiver ao nível lógico 1 e resetado se ao nível lógico 0.

Representação:

E1 Q

_ E2 Q

Tabela Verdade:

Estado Q Q

1 – setado 1 0

0 - resetado 0 1

Com relação aos flip-flops existem quatro tipos: tipo R-S, tipo D, tipo T e tipo J-K, todos construídos a partir de portas lógicas básicas. TIPO R-S

R-S provém do inglês Reset-Set, que significa desarma-arma ou desaciona-aciona, nomes esses dados a entradas do próprio flip-flop, um pulso R coloca a saída, ao nível lógico 0 ou desarma ou desaciona a saída e um pulso na entrada S coloca a saída ao nível lógico 1 ou arma ou aciona a saída.

Page 26: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 22

Tabela verdade:

R S QN+1 QN+1 Estado

0 0 QN QN Mantém

0 1 1 0 Seta

1 0 0 1 Reseta

1 1 np np Erro

Onde: np = não permitido

O comportamento da saída para as condições das variáveis de entrada pode facilmente ser entendido pela análise das próprias portas lógicas que compõem o flip-flop.

Na prática, os flip-flops apresentam uma condição adicional para a condição de R=S=1. Como pode ser observado, teoricamente as portas apresentam na saída um nível oscilatório, ou seja, 0 ou 1, devido a detalhes construtivos; então, para essa condição de R=S=1 o flip-flop poderá apresentar saída setada (Q=1) ou resetada (Q=0), dependendo do fabricante.

Todo flip-flop também pode ser síncrono ou assíncrono, ou seja, com entrada controlada por relógio (clock) ou não:

Para o caso de sincronismo teremos a seguinte tabela:

CLK R S QN+1

0 X X QN

1 0 0 QN

1 0 1 1

1 1 0 0

1 1 1 Np

Representação: R Q

S Q

Page 27: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 23

Uma outra maneira de se analisar a situação é através do diagrama fasorial ou temporal, que se consiste em desenhar o gráfico de estados (status) em função do tempo:

Devido às características construtivas, as portas AND da entrada de controle do flip-flop podem atuar ou responder ao nível ou a transição do sinal (borda) de entrada:

TIPO D

Consiste na interligação das entradas do flip-flop R-S por meio de um inversor, formando uma entrada única, conhecida como entrada de dados (tipo D).

Constata-s assim que a informação ou dado que é colocado na entrada de dados D é a que está disponível ou se mantém na saída (memória)

Simbologia: D Q

CLK Q

CLK

Page 28: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 24

Circuito equivalente:

Tabela verdade:

D CLK QN+1

X 0 QN

0 1 0

1 1 1

Observação: Um registrador de dados nada mais é do que um conjunto de flip-flops dispostos de tal maneira a armazenar dados, ou seja, para cada bit que se deseja armazenar utiliza-se um flip-flop (elemento de memória). TIPO J-K

É semelhante ao flip-flop R-S, tendo uma característica adicional, J = K = 1 implica em _ Qn+1 = Qn. Assim, para a condição não permitida da entrada, R=S=1 ou J=K=1, a saída Q será igual ao complemento da saída no instante anterior ou estado anterior.

Simbologia:

J Q

CLK _ K Q

Page 29: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 25

Tabela Verdade:

CLK J K QN+1 Estado

0 X X QN Mantém

1 0 0 QN Mantém

1 0 1 0 Reset

1 1 0 1 Set

1 1 1 QN Complemento TIPO T

Este tipo de flip-flop é obtido a partir do flip-flop J-K e é um dos mais utilizados, principalmente em contadores e circuitos de contagem seqüencial, devido a sua característica de dividir por dois o sinal de entrada.

Neste caso, então, se mantivermos a entrada T do flip-flop ao nível 1, completa-se a saída a cada pulso de clock. Este flip-flop também pode ser obtido a partir de um flip-flop tipo D, neste caso, o resultado da saída fica sujeita as variações do clock.

Nível 1 J Q D Q

CLK

K Q CLK Q

Exercícios:

a) Execute a simulação dos circuitos equivalentes com as portas lógicas digitais de cada tipo de flip-flop e compare seus valores encontrados coma tabela verdade correspondente.

b) Faça a simulação no laboratório do flip-flop tipo T utilizando ora o tipo J-K e hora o tipo D.

Page 30: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 26

VII – CONTADORES

Os contadores são circuitos construídos a partir de flip-flops, que, para uma seqüência de pulsos em suas entradas, geram uma seqüência específica de pulsos de saída. A principal aplicação é de contagem, divisor de freqüência e tempo (caso do relógio digital).

Podem ser classificados em crescentes e decrescentes e, dentro dessa classificação, como vimos no caso de biestáveis, podem ser síncronos ou assíncronos. Contadores Crescentes

a) Síncronos:

Todos os flip-flops estão sob o mesmo comando de clock, e a saída de um é à entrada do outro flip-flop.

Na figura anterior, o flip-flop A, por ter as entradas ao nível lógico 1, a cada pulso de clock a saída complemento (0 � 1 ou 1 � 0), ao passo que o flip-flop seguinte depende do pulso do flip-flop anterior para que a saída se complemente. A tabela verdade mostra o que ocorre com as saída QA e QB a cada pulso de clock (na tabela o flip-flop é sensível a borda de descida).

b) Assíncronos:

Neste caso cada flip-flop possui seu próprio clock, ou seja, a saída de um flip-flop é à entrada de clock do flip-flop seguinte.

Na figura abaixo podemos verificar que como todas as entradas dos flip-flops estão ao nível lógico 1, pelas características do flip-flop JK, a cada pulso de clock a saída se complementa. A tabela verdade mostra o que ocorre com as saídas QA e QB a cada pulso de clock. Pela tabela podemos ver também que o flip-flop é sensível a borda de descida. Para um

Page 31: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 27

número maior de flip-flops, utilizam-se portas lógicas para se estabelecer à seqüência de contagem (crescente ou decrescente).

c) Assíncrono com 4 flip-flops:

Imaginando inicialmente que as saídas de todos os flip-flops estejam ao nível lógico zero, observamos a partir disso que na descida do primeiro pulso de clock, a saída QA passa do

Page 32: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 28

nível lógico 0 para 1, uma vez que as entradas JÁ e KA estão ao nível lógico 1, mostrando também que o flip-flop é sensível a borda de descida. No próximo pulso de clock, a saída QA passa de 1 � 0. A saída do flip-flop B, QB então, do nível 0 � 1, no pulso de descida de QA.

Com o desenho elétrico digital acima, podemos analisar o que ocorre a cada pulso de clock com cada uma das saídas. Constatamos assim, que a cada dois pulsos de clock temos um pulso na saída QA e a cada dois pulsos de QA temos um na saída QB e assim sucessivamente, sendo portanto cada flip-flop um divisor por dois. Na saída do primeiro flip-flop em QA, temos um divisor por dois do pulso de clock, em QB por quatro, em QC por oito e assim por diante.

ENTRADAS SAÍDAS

N. CLOCK QD QC QB QA DECIMAL

1 0 0 0 0 0

2 0 0 0 1 1

3 0 0 1 0 2

4 0 0 1 1 3

5 0 1 0 0 4

6 0 1 0 1 5

7 0 1 1 0 6

8 0 1 1 1 7

9 1 0 0 0 8

10 1 0 0 1 9

11 1 0 1 0 10

12 1 0 1 1 11

13 1 1 0 0 12

14 1 1 0 1 13

15 1 1 1 0 14

16 1 1 1 1 15

A tabela verdade mostra, em termos numéricos, o que ocorre a cada pulso de clock com as saídas de cada flip-flop. Pode-se observar que a cada pulso as saídas indicam, em binário.

Page 33: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 29

Conclui-se daí que os contadores geram uma contagem de pulsos na saída de uma seqüência de pulsos de entradas. Também podemos observar que a contagem máxima que se pode obter é em função do número de flip-flops, ou seja:

C = 2número de flip-flop � no exemplo: C = 24 = 16

Os dizeres LSB e MSB, significam os bits menos significativos e mais significativos, a fim de que possamos determinar uma contagem correta. Contadores Decrescentes

a) Assíncronos:

Os contadores assíncronos destacam-se pela característica de ter a saída Q complementar ligada ao clock do flip-flop seguinte. As entradas adicionais de “Preset” colocam as saídas Q ao nível lógico 1, quando de um pulso nelas aplicado.

Por ser um contador decrescente, inicia-se com todas as saídas ao nível lógico 1, a partir do qual a tabela verdade mostra o que ocorre a cada pulso de clock.

Pode-se ainda estabelecer um número de contagens que se desejar. A partir de uma lógica combinacional, pode-se fazer o contador retornar ao seu início, isto é, saídas todas em 1, pela ação de um pulso na entrada “Preset”.

b) Síncronos:

__ Nos contadores síncronos, são combinadas as saídas Q por meio de portas lógicas e interligadas às entradas J e K. As entradas de clock estão sob o mesmo comando.

A tabela verdade mostra que a cada pulso de clock, as saídas se comportam da mesma forma que o contador assíncrono.

A função das portas lógicas nas entradas J e K dos flip-flops poderá também estabelecer uma seqüência diferente da normal; em resumo, pode-se exercer um controle sobre as entradas

Page 34: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 30

e, conseqüentemente, sobre as saídas ou contagem, o que é fato também nos contadores crescentes.

c) Contador Crescente/Decrescente:

Um mesmo circuito pode efetuar ambas as contagens, crescente ou decrescente, dependendo de uma lógica que ora conecta a saída Q, ora Q complementar, junto à entrada de clock ou J e K, respectivamente, se o controlador for assíncrono ou síncrono.

Coma entrada de modo ao nível lógico 1, habilateremos o contador a contagens crescentes, ou seja, são liberadas as saídas Q, por meio das portas lógicas, à entrada do clock do flip-flop seguinte. Com a entrada ao nível lógico 0, são liberadas as saídas Q complementares.

3) Exercício: Fazer a tabela verdade para o circuito misto anterior de modo que ora ele atue como contador crescente e ora como contador decrescente.

Page 35: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 31

VIII – MEMÓRIAS Os microprocessadores usam dispositivos semicondutores para armazenar programas e dados. Os mais utilizados são: • RAM (Random Acess Memory): memória de acesso aleatório • ROM (Read Only Memory): memória somente de leitura Para expandir o espaço de armazenamento de dados, os sistemas microprocessados usam algum dispositivo de armazenamento de massa, tais como: • Discos flexíveis • Discos rígidos • Fitas magnéticas • CD-Rom’s • Etc Existem 2 tipos de memórias: 1. Memória de Massa 2. Memória Semicondutora Memória de Massa São memórias utilizadas para armazenagem de grandes quantidades de informações, ficam externamente a CPU e normalmente requerem dispositivo periférico de interfaceamento. Exemplos: Disco Rígido (Winchester - HD), Fita Magnética, Disco Óptico (CD-ROM), Disco Magnético (disquetes) e etc.

O termo formatar um disquete ou HD consiste em criar trilhas e setores no mesmo.

TRILHA

SETOR

Page 36: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 32

Memória Semicondutora São memórias utilizadas para armazenagem de pequenas quantidades de informações, não necessitam de interface com a CPU, velocidade elevada em relação à memória de massa (para acesso) e trabalham em blocos para armazenamento de dados. Os tipos de memórias semicondutoras são: a) ROM b) PROM c) EPRO d) EEPROM ou E2PROM e) RAM, sendo esta subdividida em: Estática e Dinâmica a) ROM (Ready Only Memory): memória somente de leitura, ou seja, não conseguimos

gravar nada nesta memória. Possui as seguintes características: mascarada de fábrica, não volátil e não apagável.

Apresenta como estrutura interna uma matriz de diodos:

Exemplo: cartucho de vídeo game

Obs.: Não volátil: não ocorre a perda de dados na ausência de alimentação elétrica. b) PROM (ROM Programável): programável pelo usuário somente uma vez, não volátil e

não apagável. Apresenta como estrutura interna uma matriz de fusível: semelhante a matriz da ROM porém os diodos foram substituídos por fusíveis. c) EPROM (PROM Apagável): programada por pulsos elétricos, apagável por luz

ultravioleta, não se apaga parte da memória, elevada capacidade de armazenamento em relação à ROM e PROM e não volátil.

Obs.: Quando se deixa esta memória sem a proteção (janela de vidro) em luz ambiente, depois de um certo tempo perdemos parte dos dados gravados. d) E2PROM: apagável e programável por pulsos elétricos, não volátil, para se apagar

necessitamos selecionar a posição da memória, baixa velocidade do ciclo de erase e save, para se gravar novamente tem de apagar o que estava gravado anteriormente.

e) RAM (RANDOM ACESS MEMORY): memória de acesso aleatório e é volátil. É formada por 2 tipos:

Page 37: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 33

• Estática: seu elemento de memória é Flip-Flop (devido a isto não existe o termo “apagar” a

memória), fácil acesso, estrutura matricial transparente, devido ao grande número de flip-flop’s a possui uma placa grande e baixa densidade de armazenamento.

• Dinâmica: seu elemento de memória é capacitor associado a um transistor MOSFET, difícil acesso, estrutura matricial não transparente (tem de se especificar a linha e a coluna - endereço) para acesso e/ou apagar, alta densidade de armazenamento, devido à presença do capacitor necessita de um circuito de REFRESH que deve ser atuado no intervalo de 2 a 8 ms.

Linha

Coluna MOS-FET

CAPACITOR

AMPLIFICADOR SENSITIVO

Exercícios:

a) Quais são as finalidades das memórias?;

b) Quais são os tipos de memórias? Fale sobre suas características principais;

c) Quais são os tipos de memórias semicondutoras?

d) Descreva de maneira detalhada as memórias ROM e RAM.

Page 38: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 34

IX - MICROPROCESSADORES INTRODUÇÃO

A velocidade com que acontece a evolução da Informática poderia levar a crer que a tarefa do professor de uma disciplina como a de Microprocessadores seria a de atualizar continuamente o material apresentado aos alunos, para que estes ficassem a par das constantes inovações tecnológicas.

Esta idéia não resiste porém a uma análise mais profunda se é este o tipo de conhecimento dado aos alunos que estão no meio do seu curso então dificilmente ele lhes será útil quando se formarem, depois de alguns anos. Os conceitos fundamentais que norteiam o funcionamento dos microprocessadores são, sob este aspecto, mais importantes do que os últimos lançamentos da indústria, porque não mudam e serão úteis sempre. Por esta razão, o material aqui contido procura valorizar, sobretudo, os conceitos independentes da inovação tecnológica. Da mesma forma, justifica-se a ementa a ser trabalhada durante o curso, pois esta apresenta a simplicidade necessária para o devido aprendizado do estudante.

A finalidade é fazer com que os alunos ao concluírem a disciplina, possam ser capazes de entender o funcionamento de microprocessadores.

Este conteúdo a ser apresentado deve ser entendido como um guia para aqueles que pretendem se aprofundar em livros específicos sobre um ou outro processador ou que irá cursar uma especialização nessa direção. A densidade da exposição de cada assunto está num formato apropriado para o curso de graduação. À medida que se avançam os tópicos, o aluno se aproxima de ter capacidades básicas para trabalhar em um projeto profissional.

Existem três elementos fundamentais em um microprocessador, cada um executando uma tarefa especial. Estes elementos são: 1. A Unidade Central de Processamento (CPU)

2. A Memória

3. Os Dispositivos ou Portas de Entradas e Saídas (I/O)

C P U

MEMÓRIA

I/O

BARRAMENTO DE ENDEREÇO

BARRAMENTO DE CONTROLE

BARRAMENTO DE DADOS

Page 39: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 35

A Unidade Central de Processamento (CPU)

O coração de um microprocessador é a CPU. Ela executa o processamento numérico, as operações lógicas e as funções de temporização.

As operações da CPU são controladas por um conjunto de instruções que, quando organizadas em uma seqüência lógica, formam o chamado programa.

Os programas e os dados a serem manipulados são armazenados na memória. A CPU é alimentada com dados e sinais de controle, executa uma instrução por vez e produz

como saída dados e sinais de controle.

Internamente, uma CPU é formada por 3 unidades fundamentais:

1. Os Registradores 2. A unidade Lógica e Aritmética (ULA) 3. O Circuito de Controle

Os registradores armazenam informações temporárias tais como: endereços de memória, códigos de estado e outras informações úteis durante a execução do programa.

Todas as CPU's possuem a Unidade Lógica Aritmética. A ULA contém um somador que executa operações aritméticas binárias sobre os dados obtidos da memória dos registradores ou de entradas.

O Circuito de Controle coordena todas as atividades do microprocessador. Através de pulsos externos de temporização chamados "clocks", o circuito de controle gera as seqüências apropriadas de eventos necessários à execução das tarefas de processamentos.

Ao decodificar os bits de uma instrução o circuito produz sinais internos e externos de controle do processamento.

Memória

Os microprocessadores usam dispositivos semicondutores para armazenar programas e dados. Os mais utilizados são:

• RAM (Random Acess Mernory): memória de acesso aleatório • ROM (Read Only Memory): memória somente de leitura

Para expandir o espaço de armazenamento de dados, os sistemas microprocessados usam algum dispositivo de armazenamento de massa, tais como:

• Discos flexíveis;

• Discos rígidos;

• Fitas magnéticas;

• CD´s / DVD´s;

• etc

Devido ao seu grau de importância estaremos estudando em detalhes este assunto mais á frente.

Page 40: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 36

Dispositivos de Entrada e Saída (E/S ou I/0)

Os dispositivos I/O, também conhecidos por periféricos, são os meios pelos quais a CPU se comunica com o mundo exterior.

Em um sistema típico, as portas ou canais de entrada são conectados ao teclado, e as portas ou canais de saída são interligados ao vídeo, unidade de disco, impressora, etc.

Vias de Dados, Endereços e Controle

A conexão entre CPU, memória e dispositivos I/0 é realizada por um conjunto de fios ou linhas paralelas, chamadas de via ou barramento. Como vimos temos 3 vias diferentes:

• Via de Dados; • Via de Endereço; e • Via de Controle

Os dados trafegam a CPU, memória e I/0 através de via de dados. Estes dados poderão ser instruções para CPU ou informações da CPU para portas I/0 e vice-versa.

A via de endereço é utilizada pela CPU para selecionar uma célula de memória ou um dispositivo 1/0 através de um código binário.

A via de controle conduz os sinais de controle para a memória e para os dispositivos I/0, especificando as direções dos dados em relação a CPU, o momento exato da transferência, o tipo de operação, etc.

MEMÓRIAS

Existem 2 tipos de memórias:

1. Memória de Massa 2. Memória Semicondutora

1. Memória de Massa

São memórias utilizadas para armazenagem de grandes quantidades de informações, ficam externamente a CPU e normalmente requerem dispositivo periférico de interfaceamento.

Exemplos: Disco Rígido (Winchester - HD), Fita Magnética, Disco Óptico (CD-ROM), Disco Magnético (disquetes) e etc.

2. Memória Semicondutora

São memórias utilizadas para armazenagem de pequenas quantidades de informações, não necessitam de interface com a CPU, velocidade elevada em relação à memória de massa (para acesso) e trabalham em blocos para armazenamento de dados.

Os tipos de memórias semicondutoras são:

a) ROM; b) PROM; c) EPROM; d) EEPROM; e) RAM (SRAM e DRAM)

Page 41: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 37

As memórias DRAM possuem o adjetivo dinâmica devido ao fato de que seu conteúdo muda com o tempo durante a operação de espera (armazenamento). Isto faz com que o projeto de memória dinâmica seja mais complicado, mas chips modernos normalmente ocultam a complexidade do usuário. A principal desvantagem das DRAM´s é o fato de que elas não são tão rápidas quando as SRAM´s. A principal vantagem está no baixo custo por bit, tornando-as economicamente atrativas.

Com base na situação descrita anteriormente (custo x velocidade) a solução para esse problema foi à introdução de um pequeno arranjo de memória local, chamado de memória cache. Que utiliza a memória rápida SRAM. Para manter o custo do sistema razoável, o tamanho do cache é mantido relativamente baixo em relação à memória principal (DRAM). Memórias cache são utilizadas como um local de armazenamento temporário que pode ser utilizado pela CPU como se fosse a memória do sistema.

A última característica importante deste tipo de memória tem haver com seu tipo de construção modular, para as DRAM´s. Tal tipo de construção facilita aumentos futuros. Estes módulos são chamados SIMMs (Single In-Line Memory Modules) ou as DIMMs (Dual In-Line Memory Modules), dependendo de seus projetos. PROGRAMAÇÃO

Nosso objetivo será dar uma pequena noção de programação em microprocessadores através da linguagem ASSEMBLER (ou ASSEMBLY). Afim de que possamos entender como funcionam os pulsos elétricos internos em um microprocessador e como o mesmo processa as informações, vamos estudar o SAP (Simple As Possible) que é um microprocessador didático.

O Microprocessador SAP-1 O SAP-1 é um microprocessador que possui 8 bits para dados e 4 bits para endereçamento. Pelo diagrama de bloco podemos verificar os 12 sinais de controle e sua designação são:

• L = LOAD: carrega o registrador;

• E = ENABLE: habilita saída do registrador;

C P U CACHE

PRINCIPAL

SRAM´s

DRAM´s

DADOS DADOS

CONTROL

ENDEREÇ

Page 42: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 38

• Su = determina o tipo de operação da ULA (1 = subtração e O = adição);

• Cp = prepara o contador de programa para contar, nas transições positivas do clock, para que o mesmo

possa ler a próxima instrução.

• CE = Chip Enable; responsável pela liberação da informação pela memória RAM.

Definição dos Blocos do SAP-1

• PC = contador de programa. Aponta o endereço da próxima instrução a ser executada.

• REM = registrador de endereços da memória. Armazena temporariamente o endereço da instrução a ser

executada.

• RAM = área de memória onde estará o programa executável. Não faz parte do conjunto, ou seja, fica

fora do microprocessador.

• RI = registrador de instrução. Armazena o código da instrução a ser executada.

• C/S = controlador / sequencializador. Responsável pela temporização e geração das linhas de controle

do microprocessador.

• Acumulador (A) = registrador

• Somador/Subtrator = responsável pelas operações aritméticas

• Registrado B = registrador

• Registrado de Saída = registra temporariamente os dados de saída

• Display = indicação visual, não faz parte do conjunto.

Possui o seguinte diagrama de blocos:

Page 43: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 39

A execução de uma instrução é dividida em 2 etapas (ciclos):

• Ciclo de Busca: consiste na leitura do código da instrução armazenada na RAM e armazenamento deste código no RI; e

• Ciclo de Execução: consiste na execução da instrução armazenada no RI.

O tempo do ciclo de busca e execução é equivalente a 3 períodos de clock no SAP-1 Portanto, o ciclo de instrução tem 6 períodos. No SAP-1 o clock é sensível à borda de descida e o microprocessador é sempre resetado no início do processamento, iniciando sempre do endereço 0000 da memória.

ANÁLISE DO DIAGRAMA TEMPORAL (FASORIAL)

A fim de facilitar nossa compreensão iremos estudar o diagrama fasorial para instrução LDA (Load Registrador A - carregar registrador A com conteúdo da memória no endereço determinado)

T1) Habilita Ep Contador de Programa (PC) coloca seu conteúdo no barramento Habilita Lm que está no barramento vai para REM na descida do clock

PC

REM

RAM

RI

C/S

A

+/-

B

RS

DSP

Cp

Ep

Lm

CE

Li

Ei

La

Ea

Su

Eu

Lb

Lo

4

4

4

4

12

8

8 8

8

8

8

8

8 8

8

4

Page 44: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 40

Portanto em T1 temos Ep = 1 e Lm = 0

T2) Habilita Cp na descida do clock o PC irá apontar para o endereço 0000 + 1, ou seja, incrementa de uma unidade binária o PC.

Portanto em T2 Cp = 1

T3) Habilita CE e Li ao final de T3 temos RI com a instrução que a RAM liberou no barramento (fim do eido de busca)

Logo em T3 CE = 0 e Li = 0

Obs Os tempos T1, T2 e T3 são idênticos para todas as operações da SAP-1 pois consiste no ciclo de busca da instrução.

T4) Habilita Ei e Lm endereça a memória e o C/S recebe a instrução a ser executada gerando os sinais de controle necessários

Obs Em um dado de 8 bits temos XXXXYYYY onde X = instrução e Y = endereço

T5) Habilita CE e La na descida do clock o conteúdo da RAM vai para A

T6) NOP = nenhuma operação a executar, ou seja, todos os sinais de controle recebem pulsos que os desabilitem.

Obs Vale lembrar da eletrônica digital que 1 =ativo e 0 = desativo mas se tivermos a indicação de sinal barrado o raciocínio é oposto.

TIPOS DE INSTRUÇÕES DO SAP-1

• Instrução LDA YYYY = esta instrução carrega o registrador A. com o conteúdo da RAM do endereço (em hexadecimal) indicado.

A M yyyy Código binário: 0000 YYYY

• Instrução ADD YYYY = soma ao registrador A o conteúdo da RAM do endereço indicado.

A A + Myyyy Código binário: 0001 YYYY

• Instrução SUB YYYY = subtrai do registrador A o conteúdo da RAM do endereço indicado.

A A - Myyyy Código binário: 0010 YYYY

• Instrução OUT = coloca o conteúdo do registrador A no registrador de saída (RS) e conseqüentemente o resultado aparecerá no display

RS A Código binário: 1110 XXXX (não interesse o endereçamento)

Page 45: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 41

• Instrução HLT = finaliza a execução de um programa.

Código binário: 1111 XXXX (não interesse o endereçamento) Exercícios Exercício 1: Descreva os tempos de instrução (T1 a T6) e monte a tabela da RAM para um programa com as seguintes instruções LDA CH, ADD 7H, SUB AH, OUT HLT Sabendo-se que os endereços possuem os seguintes dados: CH = 0100 0010(2), 7H = 0100 0000(2) e AH -- 0001 0010(2). Exercício 2: Sabendo-se que os endereços AH, 8H e CH contém 70, 48 e 08 respectivamente. Descrever os tempos das instruções abaixo e qual será o valor do display. LDA AH SUB8H ADD CH OUT HLT Exercício 3: O manual de programação de microprocessador diz que são necessários 13 estados para buscar e executar a instrução LDA. Se o relógio do sistema (clock) tiver uma freqüência de 25 MHz quanto tempo levará um ciclo de instrução? Exercício 4: Sabemos que no SAP-1 a instrução ADD gasta 6 tempos para completar o ciclo de instrução. Supondo que o SAP-1 tenha um cristal interno de 4,5 MHz, quanto tempo ele gasta para executar ADD?

Exercício 5: Fazer um programa para que o SAP-1 execute a seguinte operação decimal: 5 + 4 - 6 e dizer qual o tempo necessário para realização de tal tarefa. Dado: f = 3,0 MHz e usar os endereços DH, EH e FH para os dados, respectivamente.

Exercício 6: Fazer um programa para que o SAP-1 execute a seguinte operação decimal 5+4+3-6-2e dizer qual o tempo necessário para realização de tal tarefa. Dado: f = 4,0 MHz e usar os endereços DH, EH e FH para os dados, respectivamente. Construa a tabela RAM do programa em binário.

Exercício 7: Em uma tabela RAM temos na primeira linha a seguinte instrução LDA 6H e na linha 6H temos 70 como conteúdo. Qual será o conteúdo da REM em T4 para a instrução SUB AH se esta instrução estiver na linha 3 da tabela RAM?

Exercício 8: Fale sobre as memórias semicondutoras ROM e RAM.

Exercício 9: De quantas unidades podemos dizer que são constituídos um microprocessador? Com base nesta informação quais são os blocos da SAP-1 que não pertencem a CPU?

Exercício 10: Cite quais são os blocos do SAP-1 que trabalham exclusivamente com os barramentos de endereço e controle.

Page 46: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 42

O Microprocessador SAP-2 O SAP-1 é um computador porque ele, primeiramente, armazena um programa e os dados antes

de começar os cálculos e, então, executa automaticamente as instruções do programa sem a intervenção humana. E, também, o SAP-1 é uma máquina primitiva Ele se compara com o computador moderno da mesma forma que o homem das cavernas de compara com o homem moderno. Algo está ausente nele, algo que pode ser encontrado em qualquer computador moderno,

O SAP-2 é o próximo passo da evolução em direção ao computador moderno porque inclui instruções de salto. Estas novas instruções obrigam o computador a repetir ou omitir partes de um programa. Como você verá, as instruções de salto abrem as portas para toda uma nova capacidade computacional.

Definição dos Blocos do SAP-2 Portas de Entradas: o SAP-2 tem 02 portas de entrada, numeradas com 1 e 2 Um codificador hexadecimal de teclado está ligado à porta 1. Ele nos permite dar entrada a dados e instruções hexadecimais. Observe que o codificador do teclado envia um sinal de READY (pronto) para o bit 0 da porta 2. Este bit indica quando o dado da porta 1 está válido. Observe também o sinal SERIAL IN indo para o pino 7 da porta 2; PC: contador de programa. Desta vez ele possui 16 bits, portanto ele pode endereçar de 0000H a FFFFH, ou seja, de 0 a 65.535, em decimal.

REM: registrador de endereços da memória. RAM: área de memória onde estará o programa executável. Esta memória está dividida em 02 blocos: uma ROM de 2K com endereços de OOOOH a 07FFH. Esta ROM contém um programa, o monitor, que inicializa o computador ao ser ligado; interpreta as entradas do teclado e assim por diante. O restante da memória é uma RAM de 62K com endereços de 0800H a FFFFH. Registrador de Dados de Memória (MDR): é um registrador buffer de 8 bits. A sua saída alimenta a RAM. O MDR recebe dados do barramento antes de uma operação de escrita e envia dados para o barramento depois de uma operação de leitura.

RI: registrador de instrução. Como o SAP-2 tem mais instruções que o SAP-1, usaremos 8 bits em vez de 4, para o código de operação. Um código de operação de 8 bits pode acomodar 256 instruções e o SAP-2 possui 43 instruções, além de ser o padrão utilizado pelo 8080/8085.

C/S: controlador / seqüencializador. Responsável pela temporização e geração das linhas de controle do microprocessador. Como o SAP-2 tem um repertório de instruções maior, o controlador-seqüencializador tem mais hardware.

Acumulador (A): registrador ULA e Flags: a ULA é a responsável pelas operações lógicas e aritméticas. Já o Flag é um flip-flop que informa sobre uma condição variável durante a execução de um programa. O SAP-2 tem 2 flags, o flag de sinal (S) que é setado quando o conteúdo do acumulador torna-se negativo durante a execução de algumas instruções e o flag de zero (Z) que é setado quando o conteúdo do acumulador torna-se zero.

Registradores TMP. B e C: em vez de usar o registrador B guardar o dado que está sendo adicionado ou subtraído do acumulador, usa-se um registrador temporário (TMP). Isto nos traz maior liberdade ao

Page 47: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 43

usar o registrador B. Além destes registradores, também temos o registrador C, o que nos dá uma maior flexibilidade ao mover dados durante uma execução do programa. Portas de Saída: o SAP-2 tem 02 portas de saída, numeradas 3 e 4. O conteúdo do acumulador pode ser carregado na porta 3, que alimenta um display hexadecimal, ou para porta 4. Observe que o pino 7 da porta 4 envia um sinal de ACKNOWLEDGE (reconhecimento) para o codificador hexadecimal. Os sinais ACKNOWLEDGE e READY fazem parte de um conceito chamado handshaking (aperto de mão). Possui o seguinte diagrama de blocos:

Codificador Hexadecimal de Teclado

Porta 1

Porta 2

PC

REM

Memória 64K

MDR

RI

C/S

Acumulador

ULA

TMP

B

C

Porta 3

Porta 4

Flags

Display Hexa

B A R R A M E N T O

D E

1 6

B I T S

8 8

8

8 8

8 8

8

8

8

8

8

8

8

8

8

8

16

16

16

2

Page 48: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 44

NOVAS INSTRUÇÕES DO SAP-2

1. INSTRUÇÕES COM REFERÊNCIA À MEMÓRIA:

O ciclo de busca do SAP-2 é o mesmo de antes. Portanto, todas as instruções do SAP-2 usam a memória durante o ciclo de busca porque toda instrução é transferida da memória para o registrador de instrução.

Durante o ciclo de execução, entretanto, a memória pode ou não ser usada dependendo do tipo de instrução que foi buscada. Uma instrução de referência à memória (IRM) é aquela que usa a memória durante o ciclo de execução.

LDA e STA: LDA tem o mesmo significado de antes, a única diferença esta no fato de termos de especificar um endereço maior de memória, por exemplo, LDA 2000H Uma outra notação que pode aparecer esta com relação ao código de operação ou instrução, também chamado de mnemônico (LDA. no caso) e o seu operando (2000H). STA (store accumulator) é um mnemônico para armazenar o acumulador Todas as instruções STA necessitam de um endereço. STA 8100H significa armazenar o conteúdo do acumulador no endereço 8100H da memória.

Para LDA: A Myyyy

Para STA: Myyyy A

2. INSTRUÇÕES DE REGISTRADORES

As instruções com referência a memória são relativamente lentas porque necessitam de mais de um acesso à memória durante o ciclo de instrução Além disso, seguidamente queremos transferir dados de um registrador para outro sem ter de passar pela memória.

MVI MVl (move immediate) é o mnemônico para mova imediato Esta instrução diz para carregar

um registrador indicado com o byte que especificado Por exemplo MVl A.37H , seu resultado será: A 37H

Para MVI: MVl A,byte A byte

MVI B,byte B byte

MVI C, byte C byte

M O V E o mnemônico de mova. Esta instrução diz para mover dados de um registrador para o outro.

Por exemplo: MOV A,B A B

ADD e SUB Operam conforme anteriormente, ou seja, ADD B A A + B.

Para SUB teremos SUB C A A – C.

Page 49: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 45

INR e DCR Muitas vezes desejamos incrementar ou decrementar o conteúdo de um dos registradores. INR é o código de operação para incrementar. DCR é o código de operação de decrementar. Por exemplo, INR A A A + 1 DCR B B B - 1

3. INSTRUÇÕES DE JUMPs (Saltos)

O SA-P-2 possui três instruções de jump que podem alterar a seqüência de instruções dentro do programa, ou seja, em vez de buscar a próxima instrução da maneira usual (seqüencial), o microprocessador pode saltar ou desviar para uma outra parte do programa Estes saltos podem ser condicionais (que dependem de uma dada condição) ou incondicionais (irão executar o salto independentemente de qualquer coisa).

JMP (incondicional) Salta para o endereço especificado Por exemplo, JMP 3000H. 2000H 2001H 2002H 2003H JMP 3000H 2004H . JMP endereço (em Hexa) . . 3000H 3001H 3002H

CALL e RET (incondicional) Uma sub-rotina é um programa armazenado na memória para um possível uso num outro

programa. Muitos microprocessadores têm sub-rotinas para cálculo de senos, co-senos, tangentes, etc. CALL (chamar) é um código de operação para chamar sub-rotina. Toda instrução CALL deve

incluir o endereço inicial da sub-rotina desejada bem como deve ser finalizada com a instrução RET (retornar). Caso você esqueça de colocar a instrução RET ao final de uma sub-rotina, o microcomputador não poderá voltar ao ponto original e você acabará obtendo entulho em seu programa.

Uma observação importante é que a instrução RET retorna a primeira instrução logo após o CALL que lhe deu origem. Por exemplo, CALL 5000H.

CALL endereço CALL 5000H RET

Page 50: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 46

JM (condicional) O SAP-2 tem dois flags o de sinal (S) e o zero (Z). Durante a execução de algumas instruções

estes flags serão setados ou zerados dependendo do que acontece com o conteúdo dos registradores em execução. Se o conteúdo do registrador se tornar negativo, o flag de sinal será setado, se não, será zerado, ou seja: 0, se A >= 0 S = 1, se A < 0

JM e uma instrução de salto (jump if minus). O microprocessador saltará para o endereço designado somente se o flag de sinal estiver setado (S = 1). Se a condição de saltar não for verdadeira (S = 0), a seqüência de execução das linhas de programa permanecerá inalterada.

2000H 2001H 2002H 2003H JM 3000H 2004H . JM endereço (em Hexa) . . 3000H 3001H 3002H JZ (condicional)

De maneira similar á instrução JM (jump if zero), aqui teremos um salto em função do flag zero (Z). Este flag é setado toda vez que o resultado do registrador em execução se tornar zero durante a execução de alguma instrução. 0, se A <> 0 Z = 1, se A = 0

Obs.: Os flags de Zero (Z) e de sinal (S) são afetados todas vez que se utiliza uma instrução que os afete, vide tabela de instrução.

JNZ (condicional) JNZ significa saltar se não zero (jump if not zero). Ela manda o microprocessador saltar para o

endereço designado apenas quando o flag de zero estiver zerado (Z = 0), quando o flag zero estiver setado (Z=1), não haverá o salto.

4. INSTRUÇÕES DE LÓGICAS

Page 51: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 47

Um microprocessador pode fazer lógica tanto como aritmética. A seguir, temos as instruções lógicas do SAP-2

CMA (Complementar o Acumulador) A execução de uma CMA inverte ou nega cada um dos bits do acumulador produzindo o

complemento de 1.

ANA (AND Acumulador) Significa fazer uma operação AND com o Acumulador juntamente com o conteúdo de um

registrador, o qual deverá ser designado Por exemplo: A = 66H e B = F1H. uma operação ANA B resultará em A = 60H, ou seja:

Inicialmente A = 1100 1100 B = 1111 0001 realizando uma operação AND Teremos A = 1100 0000 = 60H

ORA ( OR Acumulador) Significa fazer a operação lógica OR no acumulador juntamente com o registrador indicado

Utilizando o mesmo exemplo da instrução ANA, aqui teremos A=FDH= 1111 1101

XRA (EXOR Acumulador) Realizar a operação EXOR com acumulador juntamente com o registrador especificado

A=3DH=0011 1101

ANI (AND Imediato) O SAP-2 também apresenta instruções lógicas imediatas ANI manda fazer a operação AND

entre o conteúdo do acumulador e o byte que sucede imediatamente o código de operação. Por exemplo: A = 0101 1110, se realizarmos ANI C7H teremos

A ... = 0101 1110

Byte = 1100 0111

A ... = 0100 0110 (resultado) ORI (OR Imediato)

Irá resultar em uma operação OR entre o conteúdo do acumulador e o byte que foi especificado na instrução. Exemplo: ORI 5AH.

XRI (EXOR Imediato) Produzirá uma operação de EXOR entre o conteúdo do acumulador e o byte especificado no

código de operação. Exemplo: XRI 6FH.

5. OUTRAS INSTRUÇÕES

Iremos estudar agora o restante das instruções do SAP-2. Como tais instruções não pertencem a nenhum grupo já estudado, elas foram reunidas aqui formando um grupo a parte.

NOP

Page 52: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 48

Significa não operar. Durante a execução de uma NOP, todos os estados T não fazem nada. Portanto, não ocorre nenhuma alteração nos registradores, ou seja, esta operação gera somente um retardo de tempo que irá ser determinado pelo clock do sistema.

HLT Como já estudado no SAP-1, aqui ele também encerra o processamento dos dados.

OUT Quando esta instrução é usada, o conteúdo do acumulador é carregado na porta de saída

indicada. O seu formato é: OUT byte

Como há duas portas numeradas 3 e 4 (conforme diagrama de blocos), nós teremos de especificar qual será usada. Exemplo OUT 03H, irá transferir o conteúdo do acumulador para a porta 3.

IN É uma instrução de entrada (input). Ela manda o computador transferir dados de uma porta

designada para o acumulador. Como há duas portas, você terá de indicar qual está sendo usada O formato da instrução é

IN byte

Por exemplo: IN 02H, significa transferir os dados da porta 2 para o acumulador.

RAL

RAL é uma instrução para relacionar o conteúdo do acumulador para a esquerda (rotate accumularot to left). Esta instrução deslocará todos os bits do acumulador para a esquerda além de mover o bit mais significativo (MSB) para a posição do bit menos significativo (LSB). Por exemplo: A = 1011 0100, um RAL dará 0110 1001

1011 0100

RAR

Esta instrução provocará uma rotação para direita no conteúdo do acumulador. Desta vez, os bits do acumulador se deslocam para a direita e o bit menos significativo (LSB) vai para a posição do bit mais significativo (MSB). Por exemplo, a instrução RAR dará A = 0101 1010, para o exemplo anterior.

1011 0100

CONJUNTO DE INSTRUÇÕES DO DAP-2

Page 53: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 49

Instrução Código Hexadecimal

Estados - T Flags Afetados

Bytes Efeito Principal

ADD B 80 4 S, Z 1 A A + B

ADD C 81 4 S, Z 1 A A + C

Instrução Código Hexadecimal

Estados - T Flags Afetados

Bytes Efeito Principal

ANA B A0 4 S, Z 1 A A and B

ANA C A1 4 S, Z 1 A A and C

ANI byte E6 7 S, Z 2 A A and Byte

CALL end CD 18 NENHUM 3 Chama sub-rotina

CMA 2F 4 NENHUM 1 A A

DCR A 3D 4 S, Z 1 A A – 1

DCR B 05 4 S, Z 1 B B – 1

DCR C 0D 4 S, Z 1 C C – 1

HLT 76 5 NENHUM 1 Fim Programa

IN byte DB 10 NENHUM 2 A byte

INR A 3C 4 S, Z 1 A A + 1

INR B 04 4 S, Z 1 B B + 1

INR C 0C 4 S, Z 1 C C + 1

JM end FA 10/7 NENHUM 3 Salta se S=1

JMP end C3 10 NENHUM 3 Salta

JNZ end C2 10/7 NENHUM 3 Salta se Z = 0

JZ end CA 10/7 NENHUM 3 Salta se Z = 1

LDA end 3A 13 NENHUM 3 A Myyyy

MOV A,B 78 4 NENHUM 1 A B

Page 54: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 50

MOV A,C 79 4 NENHUM 1 A C

MOV B,A 47 4 NENHUM 1 B A

MOV B,C 41 4 NENHUM 1 B C

MOV C,A 4F 4 NENHUM 1 C A

Instrução Código Hexadecimal

Estados - T Flags Afetados

Bytes Efeito Principal

MOV C,B 48 4 NENHUM 1 C B

MVI A, byte 3E 7 NENHUM 2 A byte

MVI B, byte 06 7 NENHUM 2 B byte

MVI C,byte 0E 7 NENHUM 2 C byte

NOP 00 4 NENHUM 1 Retardo

ORA B B0 4 S, Z 1 A A or B

ORA C B1 4 S, Z 1 A A or C

ORI byte F6 7 S, Z 2 A A or Byte

OUT byte D3 10 NENHUM 2 Porta BYTE A

RAL 17 4 NENHUM 1 A rotação esq

RAR 1F 4 NENHUM 1 A rotação dir

RET C9 10 NENHUM 1 Retorno ao CALL

STA end 32 13 NENHUM 3 Myyyy A

SUB B 90 4 S, Z 1 A A – B

SUB C 91 4 S, Z 1 A A – C

XRA B A8 4 S, Z 1 A A xor B

XRA C A9 4 S, Z 1 A A xor C

XRI byte EE 7 S, Z 2 A A xor Byte

Page 55: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 51

Exercício 1: Mostre o mnemônico (instruções) de um programa que carrega o acumulador com 49H, o registrador B com 4AH e o registrador C com 4BH. A seguir o programa armazena o conteúdo na posição 6285H.

Exercício 2: Converta o programa anterior para linguagem de máquina (código hexadecimal) e preencha a tabela RAM iniciando o programa pelo endereço 2000H.

Exercício 3: Mostre os mnemônicos necessários para somar os números decimais 23 e 45. A resposta deve ser armazenada na posição 5600H de memória. Além disso, a resposta incrementada de uma unidade deve ser armazenada no registrador C. Também deverá ser mostrada a tabela RAM iniciando-se pelo endereço 3000H.

Exercício 4: Faça um programa para gerar um loop de repetição o qual deverá gerar 3 giros e depois finalizar a rotina.

Exercício 5: Converta o programa do exercício 4 para linguagem de máquina e preencha a tabela RAM iniciando pelo endereço 5000H.

Exercício 6: Os bits de um byte são numerados de 7 a 0, MSB e LSB, respectivamente. Mostre um programa que dá entrada a um byte através do teclado hexadecimal e determine se o bit 0 é de nível alto ou baixo. Se for de nível alto, o programa carrega no acumulador um Y em código ASCII (89 em decimal). Caso contrário, o programa carrega um N em código ASCII (78 em decimal). A resposta deve ser enviada ao display.

Exercício 7: Preencha a tabela RAM iniciando pelo endereço A000H para o programa anterior.

Exercício 8: O SAP-2 tem uma freqüência de relógio de 1 MHz. Isto significa que cada estado T dura 1µs. Quanto tempo é necessário para executar a sub-rotina abaixo?

MVI C, 46H

Again DCR C

JNZ AGAIN

NOP

RET

Exercício 9: Para o programa abaixo, pergunta-se: a) quantas vezes a instrução DCR c é executada (em decimal)? b) Quantas vezes o programa salta para LOOP? c) Como podemos alterar o programa para que o laço seja executado 210 vezes?

MVI C, 78H

LOOP DCR C

JNZ LOOOP

NOP

HLT

Page 56: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 52

Exercício 10: Escreva um programa que multiplica o decimal 25 com 7 e armazena a resposta em 2000H.

Exercício 11: Escreva uma sub-rotina que produza um retardo de 50ms, aproximadamente (tolerância de 5%), e monte a tabela RAM iniciando em 6000H. Para f = 1 MHz.

Exercício 12: Escreva um programa fonte que carrega o acumulador com o decimal 100, o registrador B com o decimal 150 e o registrador C com a soma dos registradores A e B.

Page 57: Apostila - Sistemas Digitais - Prof. Paulo H

Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 53

BIBLIOGRAFIA Tocci, R. Sistemas Digitais – Princípios e Aplicações. Rio de Janeiro: Prentice Hall, 1994. Malvino, A. Microcomputadores e Microprocessadores. São Paulo: McGraw-Hill do Brasil, 1985. Lourenço, Antonio Carlos et alli. Circuitos Digitais. São Paulo: Érica, 1996. Araújo, Celso de; Chui, William Soler. Praticando Eletrônica Digital. São Paulo: Érica, 1997. Uyemura, John P. Sistemas Digitais: uma abordagem integrada. São Paulo: Thomson Pioneira, 2002. Monteiro, Mário Antonio. Introdução à Organização de Computadores. Rio de Janeiro: LTC, 2000.

Murdocca, Miles J ; Heuring, Vicent P – Introdução à Arquitetura de Computadores. São Paulo: Editora Campus. Machado, Francis B ; Maia Luiz Paulo - Arquitetura de Sistemas Operacionais. São Paulo: LTC. Malvino, A Microcomputadores e Microprocessadores São Paulo: McGraw-Hill do Brasil, 1985.