You are on page 1of 57

CENTRO FEDERAL DE EDUCAÇÃO

TECNOLÓGICA DE MINAS GERAIS

CURSO TÉCNICO EM
MECATRÔNICA (CE)

SISTEMAS DIGITAIS

Prof. Paulo Henrique Cruz Pereira

Varginha – Minas Gerais - 2009


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

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.

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira i
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Í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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira ii
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira iii
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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 10
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
Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 1
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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

43 210
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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 2
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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:

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 3
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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) = ?

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 4
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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.

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 5
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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)

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 6
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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)

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 7
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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.

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 8
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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.

Nível 1 B Saída

Simbologia: A

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 9
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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:
A
Saída
B

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 10
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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

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

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:

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 11
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Porta NOT:

A S

Porta AND:

B S

Porta OR:

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.

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 12
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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=AB

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.

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 13
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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:

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 14
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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:


AB
A B C S . C 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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 15
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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:

S = A.B.C + A.B.C + A.B.C + A.B.C + A.B.C

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:


AB
CD 00 01 11 10

00

01

11

10

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 16
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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.

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 17
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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.

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 18
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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 Multi- Saída S
de D2 plexador
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.

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 19
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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 Multi- D1
de D plexador 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.

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 20
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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.

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 21
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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 Representação: R Q

1 0 0 QN

1 0 1 1 S Q

1 1 0 0

1 1 1 Np

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 22
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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:

CLK

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 23
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 24
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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.

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 25
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 26
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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
Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 27
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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.

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 28
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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
Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 29
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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.

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 30
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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.

SETOR

TRILHA

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 31
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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:

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 32
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 33
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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)

BARRAMENTO DE ENDEREÇO

MEMÓRIA
CPU
I/O

BARRAMENTO DE DADOS

BARRAMENTO DE CONTROLE

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 34
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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.

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 35
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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)

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 36
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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.

CONTROL
PRINCIPAL

CACHE
DADOS DADOS
CPU

SRAM´s

DRAM´s
ENDEREÇ

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;

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 37
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

• 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:

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 38
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Cp 8
4 La
PC A
Ep Ea
8
8

8 Su
Lm 4
REM +/-
Eu

4
8

CE RAM 8 8 B Lb

8
Li 8
RI RS Lo

Ei
4
4 8

C/S DSP

12

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 39
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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)

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 40
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 41
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 42
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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 8
de Teclado Acumulador
B
8
A 8
8 8 2
Porta 1 R
R ULA Flags
A
8 M 8
Porta 2 E 8
N TMP
T
16 O
8
PC B
D
E
16 8
REM 1 C
6
16
B 8 8
Memória 64K I Porta 3 Display Hexa
T
8 S
8 8
MDR
Porta 4

8
RI

C/S

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 43
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 44
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 45
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 46
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 47
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 48
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

Instrução Código Estados - T Flags Bytes Efeito Principal


Hexadecimal Afetados

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

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

Instrução Código Estados - T Flags Bytes Efeito Principal


Hexadecimal Afetados

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 49
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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 Estados - T Flags Bytes Efeito Principal


Hexadecimal Afetados

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 50
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 51
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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.

Disciplina: Sistemas Digitais – Mecatrônica / Informática Industrial - Professor: Paulo Henrique Cruz Pereira 52
Centro Federal de Educação Tecnológica de Minas Gerais. Varginha - MG - Curso Mecatrônica

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.

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

You might also like