Escolar Documentos
Profissional Documentos
Cultura Documentos
Material Teórico
Circuitos Lógicos
Revisão Textual:
Profa. Esp. Márcia Ota
Revisão Técnica:
Prof. Ms. Rodrigo da Rosa
Circuitos Lógicos
• Introdução
• Sistemas
• Circuitos Digitais/Circuitos Lógicos
• Sistema de Numeração
• Medição de Desempenho de Computadores
OBJETIVO DE APRENDIZADO
· O objetivo dessa unidade é de levar ao aluno o conhecimento da
evolução tecnológica e, então este passará a estudar os conceitos
de sistemas de numeração o que o tornará apto a realizar distin-
ções tecnológicas e também a fazer conversões matemáticas entre
sistemas numéricos.
ORIENTAÇÕES
Nesta Unidade, aprenderemos um pouco mais sobre o trabalho com
Circuitos Lógicos, sua evolução e importância, bem como iniciaremos o
nosso primeiro tópico de estudo: os sistemas de numeração.
Além disso, para que a sua aprendizagem ocorra num ambiente mais
interativo possível, na pasta de atividades, você também encontrará as
atividades de avaliação, uma atividade reflexiva e a videoaula. Cada material
disponibilizado é mais um elemento para seu aprendizado. Por favor, estude
todos com atenção!
Bom Estudo!!!
UNIDADE Circuitos Lógicos
Contextualização
Atualmente, o termo digital é tão comum em nosso palavreado que nem
pensamos o que essa palavra realmente significa, mas o mais importante é que
esse termo torna possível o funcionamento de elementos como computadores,
robôs, médicos eletrônicos, transportes, entretenimento, dentre muitos outros.
Nesta unidade, você verá vários elementos desse mundo digital, além de novos
conhecimentos que ampliarão seu conhecimento da área.
6
Sistemas
Utilizamos o termo sistema digital quando há uma combinação de dispositivos
projetados para lidar com informações lógicas ou com quantidades físicas
representadas de forma digital, ou seja, as quantidades trabalhadas só podem
assumir valores discretos. Os dispositivos que trabalham dessa forma são em sua
grande maioria dispositivos eletrônicos. Pode-se exemplificar um sistema digital
por um equipamento audiovisual ou telefônico.
Claro que se existem duas frentes de trabalho, uma tem mais vantagem que a
outra, como mostrado a seguir:
• Sistemas digitais são mais fáceis de projetar: Isto se deve ao fato de que
os circuitos utilizados são circuitos de chaveamento, em que os valores exatos
de tensão ou corrente não são importantes, mas apenas o intervalo (ALTO ou
BAIXO), no qual eles se localizam.
7
7
UNIDADE Circuitos Lógicos
8
(Analógico) (Digital)
Temperatura Dispositivo de Conversor Processamento
(Analógico) medição analógico-digital digital
(Digital)
Em seguida, este valor é processado por um circuito digital que pode incluir ou
não um computador digital. A saída digital é, então, convertida de volta à forma
analógica por um conversor digital-analógico (conversor D/ A). Esta saída analógica
é fornecida como entrada a um controlador que realiza algum tipo de ação para
ajustar a temperatura.
9
9
UNIDADE Circuitos Lógicos
Caso I
5V
vi
0V
t
4V
vo
0V
vi Circuito
vo Caso II
digital
vi
0.5 V
t
vo 4V
0V
Figura 2: Um circuito digital responde a um nível binário (O ou 1) e não ao valor exato da tensão de entrada.
Fonte: Ronald J. Tocci; Sistemas Digitais – Princípios e Aplicações.
Quase todos os circuitos digitais existentes nos sistemas digitais modernos são
circuitos integrados (CIs). A grande variedade de CIs lógicos disponível tornou
possível a construção de sistemas digitais complexos menores e mais confiáveis do
que aqueles construídos com circuitos lógicos discretos.
Sistema de Numeração
Os processadores têm por função básica executar operações matemáticas como
a soma, subtração, divisão, dentre outras mais complexas. Para tanto, foram criadas
diversas formas para se tentar reproduzir tais funções no computador, sendo a mais
comum a notação posicional.
10
soma dos valores relativos de cada algarismo. Assim sendo, dependendo do sistema
de numeração adotado, a quantidade de algarismos que o compõe é chamada de
base e, assim, chegamos à famosa conversão de bases.
Pode parecer estranho esse conceito, pois a cultura ocidental não utiliza a
notação posicional, pois esta é característica dos numerais hindu-arábicos. No
sistema ocidental, basta relacionarmos um valor a outro e pronto. Para tanto,
convencionou-se dez algarismos (0,1,2,3,4,5,6,7,8,9) que chamamos de sistema
decimal. Em outras palavras, a base de um sistema é a quantidade de algarismos
que esse sistema possui; logo, no ocidente, utilizamos um sistema de base 10,
bem como há o sistema binário que possui base 2 (0 e 1) utilizado como base da
linguagem computacional.
Onde:
N = número equivalente na base 10;
d = dígito;
b = base (em outro sistema de numeração);
i = índice do dígito ou expoente da base “b”;
m = quantidade de dígitos à direita da vírgula;
n = quantidade de dígitos à esquerda da vírgula.
Fonte: https://goo.gl/DbIjPQ
Vamos usar, como exemplo, uma conversão do sistema binário para decimal:
• 101,012 (onde b=2, m=2, n=3) temos:
• N10 = 1 x 22 + 0 x 21 + 1 x 20 + 0 x 2–1 + 1 x 2–2
• N10 = 4 + 0 + 1 + 0 + 0.25
• N10 = 5.25
Veremos, agora, uma conversão do sistema octal para decimal:
• 10118 (onde b=8, n=4) temos:
• N10 = 1 x 83 + 0 x 82 + 1x 81 + 1 x 80
• N10 = 512 + 0 + 8 + 1
• N10 = 521
Veremos, agora, uma conversão do sistema Hexadecimal para decimal:
• 101116 (onde b=16, n=4) temos:
• N10 = 1 x 163 + 0 x 162 + 1 x 161 + 1 x 160
• N10 = 4096 + 0 + 16 + 1
• N10 = 4113
11
11
UNIDADE Circuitos Lógicos
Em nosso material complementar, temos o link para um jogo da Cisco de conversões entre
Explor
binário e decimal, jogue e veja até onde chega, será uma forma bastante competitiva de
aprender. Será que você consegue raciocinar como uma máquina?
De forma muito mais fácil que a conversão para o sistema decimal, a conversão
do sistema decimal para outro é realizada dividindo o valor inteiro ou multiplicando o
valor fracionário até que se chegue ao inteiro, que se quer converter sucessivamente
pelo valor da base para a qual se quer converter. Vamos verificar os exemplos:
3710 → ?2
• 37 ÷ 2 = 18, resta 1
• 18 ÷ 2 = 9, resta 0
• 9 ÷ 2 = 4 resta 1
• 4 ÷ 2 = 2, resta 0
• 2 ÷ 2 = 1, resta 0
37,(125)10 → ?2
• 0,125 × 2 = 0,25, fração de 0
• 0,25 × 2 = 0,50, fração de 0
• 0,50 × 2 = 1,00, inteiro 1
12
Tabela 1: Tabela de conversão de sistemas
Decimal Binário Octal Hexadecimal
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
Fonte: Elaborado pelo autor.
Assim, temos:
• 010101,0101002 → 25,248
Assim, temos:
• 11001011101,11110112 → 65DF616
13
13
UNIDADE Circuitos Lógicos
14
Explor
Clube do Hardware – Programas para teste de Desempenho
Visitando o endereço abaixo, você encontrará dezenas de aplicações para medição de
desempenho do sintético e aplicação. Acesse, explore, conheça e experimente para se
familiarizar com as ferramentas mais adequadas a cada situação:
https://goo.gl/97WRmi
15
15
UNIDADE Circuitos Lógicos
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Sites
The National Museum of Computing
http://www.tnmoc.org/
Cisco Binary Game
https://goo.gl/gbFkSU
TECMUNDO - O que são FLOPS?
https://goo.gl/G4l8pD
Livros
Eletrônica Digital Moderna e VHDL
PEDRONI, A. V., Eletrônica Digital Moderna e VHDL, 1a edição, Ed. Campus
16
Referências
IDOETA, I. V., CAPUANO, F. G., Elementos de Eletrônica Digital, Ed. Érica,
Ed. 40, 2000.
17
17
Circuitos Lógicos
Material Teórico
Aritmética Binária
Revisão Textual:
Profa. Esp. Márcia Ota
Revisão Técnica:
Prof. Ms. Rodrigo da Rosa
Aritmética Binária
OBJETIVO DE APRENDIZADO
· Esta unidade objetiva capacitar o aluno na identificação de
representações de variáveis binárias, estrutura básica de um transistor,
estrutura e operação de portas CMOS, portas NOT, NAND, NOR,
portas complexas, retardo de propagação.
ORIENTAÇÕES
Nesta Unidade, aprenderemos um pouco mais sobre o trabalho com
aritmética binária dos circuitos lógicos, bem como representações de va-
riáveis binárias, estrutura básica de um transistor, estrutura e operação
de portas CMOS, portas NOT, NAND, NOR, portas complexas, retardo
de propagação.
Além disso, para que a sua aprendizagem ocorra num ambiente mais
interativo possível, na pasta de atividades, você também encontrará as
atividades de avaliação, uma atividade reflexiva e a videoaula. Cada material
disponibilizado é mais um elemento para seu aprendizado, por favor, estude
todos com atenção!
Bom Estudo!
UNIDADE Aritmética Binária
Contextualização
Atualmente, o termo digital é tão comum em nosso palavreado que nem
pensamos o que essa palavra realmente significa, mas o mais importante é que
esse termo torna possível o funcionamento de praticamente todos eletrônicos que
conhecemos. Nesta unidade, vamos identificar como os circuitos digitais interpretam
sinais de entrada e os transformam em outros tipos de sinais, criando uma maior
conversação entre dispositivos.
6
Representação De Variáveis Binárias
Antes de falarmos sobre contas, aritmética, álgebra e muito outros assuntos,
precisamos lembrar algumas questões básicas para entender as variáveis binárias.
O termo variável diz respeito a qualquer elemento de uma população que se pode
dar um valor numérico ou categoria e, então, este pode assumir valores diferentes
de unidades observáveis.
Desse modo, podemos identificar o termo população como uma variável que
gostaríamos de estudar. Então, dizemos que a população é constituída por todos os
valores que a variável estudada pode assumir. Ao processo de observar uma variável
damos o nome de experiência aleatória. Dizemos que a variável é quantitativa
quando esta se refere a características que se possa contar ou medir, as quais, por
sua vez, podem ser classificadas como variáveis quantitativas discretas, ou seja,
variáveis relacionadas a elementos que só podemos contar e não medir; e as variáveis
quantitativas contínuas, ou seja, aquelas que só podemos medir e não contar.
+ +
- -
7
7
UNIDADE Aritmética Binária
E P N P C E N P N C
Figura 2 – Representação de Transistores PNP e NPN mostrando suas regiões integrantes, incluindo as junções
8
O processo de funcionamento se dá da seguinte forma:
Os elétrons combinados às lacunas constituem a corrente que irá fluir pela base
que tecnicamente recebe o nome de IB. A grande maioria dos elétrons presentes na
base são levados para o coletor devido à energia acumulada nessa região, resultante
da polarização da junção base-emissor, além da distribuição dessas cargas que
favorece o deslocamento.
IC RC
Saída
+ VCC
IB
-
• Circuitos: Entrada
-
VBE
+
IE
Base Comum
9
9
UNIDADE Aritmética Binária
IC RC
+ VCC
IB
-
• Circuitos:
+
VBE
-
IE
Emissor Comum
IC
IB
Entrada
+ Saída
VBE
- RE
• Circuitos:
IE
-
Coletor Comum
10
• Junção base-emissor diretamente polarizada → VBE > tensão limiar;
• Junção base-coletor inversamente polarizada → < VBC < VCC;
• 0 < VCE < VCC;
• Corrente de coletor determinada pela expressão I C CC I B onde βCC é o
ganho estático de corrente do transistor (relação entre as correntes que saem
pelo coletor e que entra no emissor);
• Amplificação de sinal da tensão variável com ganho da ordem de centenas.
IC (MA)
50
25
Breakdown
40
20
Curva de potência máxima
30
15
20
10
Área útil
10
5
0
VCE (V)
5 10 15 25 25
11
11
UNIDADE Aritmética Binária
O uso dos dispositivos FET, como tudo, traz vantagens e desvantagens, mas com
o avanço tecnológico, vem eliminando cada vez mais as desvantagens, aumentando
a velocidade de trabalho e reduzindo seu consumo de energia.
A corrente que circula entre a fonte e o dreno do dispositivo CMOS pode ser
controlada pela tensão aplicada ao seu gate. Assim, no tipo P uma tensão positiva
de comporta aumenta sua condução, ou seja, faz com que ele sature e no tipo N,
uma tensão negativa de comporta é que o leva à saturação.
Mais uma vez fazendo uma comparação com os tipos bipolares, podemos di-
zer, então, que enquanto os transistores bipolares são típicos amplificadores de
corrente, os FETs ou transistores de efeito de campo MOS são típicos amplifica-
dores de tensão.
12
baixa para o sinal que vai excitar a entrada de um circuito integrado CMOS, já que
praticamente nenhuma corrente circula por esse elemento.
E S
Q2
(N)
Portas Lógicas
Seja qual for o sistema digital que está trabalhando, sempre o representamos
utilizando portas lógicas. Veremos a seguir as principais portas lógicas e seus
métodos de funcionamento.
A primeira porta lógica estudada é a Porta AND (E) que representa a função
E, seu funcionamento diz que a saída será 1 somente se ambas as entradas forem
iguais a 1; nos demais casos, a saída será 0. A figura 6 mostra a representação da
porta AND e uma implementação em um transistor TTL de 4 portas AND com
alimentação VCC=5V.
13
13
UNIDADE Aritmética Binária
A +Vcc
B
14 13 12 11 10 9 8
A
Y 7408
B
1 2 3 4 5 6 7
Terra
A próxima porta que veremos é a porta OR ou porta OU. Essa porta executa
a função de soma dos sinais de entrada de forma booleana da seguinte maneira:
• Se a chave A está aberta (A=0) e a chave B aberta (B=0), não haverá circulação
de energia no circuito; logo, a lâmpada fica apagada (S=0).
• Se a chave A está fechada (A=1) e a chave B aberta (B=0), haverá circulação
de energia no circuito e a lâmpada fica acesa (S=1).
• Se a chave A está aberta (A=0) e a chave B fechada (B=1), haverá circulação
de energia no circuito e a lâmpada fica acesa (S=1).
• Se a chave A está fechada (A=1) e a chave B fechada (B=1), haverá circulação
de energia no circuito e a lâmpada fica acesa (S=1).
14
• Observando todas as quatro situações possíveis, pode-se concluir que
a lâmpada fica acesa somente quando a chave A ou a chave B ou ambas
estiverem fechadas.
A +Vcc
B C
14 13 12 11 10 9 8 A B Y
A 0 0 0
Y 7432 0 1 1
B
1 0 1
1 2 3 4 5 6 7 1 1 1
Terra
Veremos, agora, uma versão especial da porta OR, chamada XOR (OU
ESPECIAL) que trabalha da seguinte forma: a saída será 1 quando os sinais de
entrada forem diferentes entre si e 0 caso contrário.
A B
A B Y
A 0 0 0
Y 0 1 1
B
1 0 1
1 1 0
Figura 9 – Representações da porta lógica XOR (A) e Tabela Verdade (B)
A B +5V C
14 13 12 11 10 9 8
A B
A Y 0 1 7402
1 0
1 2 3 4 5 6 7
Terra
15
15
UNIDADE Aritmética Binária
Seguindo, temos a porta lógica NAND (NÃO E) que faz uma composição da
porta NOT e da porta AND da seguinte forma: a saída será 0 se e somente se as
N entradas forem iguais a 1; nos demais casos, a saída será 1.
A B
A B Y
A
0 0 1
Y 0 1 1
B
1 0 1
1 1 0
Figura 11 – Representações da porta lógica NAND (A) e Tabela Verdade (B)
A B
A B Y
A 0 0 1
Y 0 1 0
B
1 0 0
1 1 0
Figura 12 – Representações da porta lógica NOR (A) e Tabela Verdade (B)
A B
A B Y
A 0 0 1
Y 0 1 0
B
1 0 0
1 1 1
Figura 13 – Representações da porta lógica XNOR (A) e Tabela Verdade (B)
16
É possível fazer combinações ou interligações de portas lógicas, como no
exemplo a seguir:
A B
A A B C Y
B Y 0 0 0 1
0 0 1 0
C
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
Figura13 – Exemplo de portas lógicas combinadas (A) e Tabela Verdade (B)
A
AND Y Y=A⋅B
B
A
OR Y Y=A+B
B
A
XOR Y Y=A⊕B
B
NOT A Y Y=A
A
NAND Y Y=A⋅B
B
A
NOR Y Y=A+B
B
A
XNOR Y Y=A⊕B
B
17
17
UNIDADE Aritmética Binária
Todo circuito lógico executa uma expressão booleana e, por mais complexo
que seja o circuito, ele é composto pela interligação dos blocos lógicos básicos,
para gerar as expressões lógicas, você deve averiguar qual circuito lógico está
trabalhando e, então, adicionar as expressões vistas na tabela 1, parte por parte,
até completar o circuito. Veja um exemplo na figura 14:
A S1=A.B
B S=S1+C
(1)
C
(2)
Figura 14 – Identificando as expressões conforme os circuitos lógicos
18
O Retardo de Propagação
Um sinal lógico sempre sofre retardo em sua passagem através de um circuito.
Os dois tempos correspondentes aos retardos de propagação são definidos como:
• tPLH: tempo de retardo correspondente à passagem do nível lógico 0 para o
nível lógico 1 (BAIXO para ALTO).
• tPHL: tempo de retardo correspondente à passagem do nível lógico 1 para o
nível lógico 0 (ALTO para BAIXO).
Entrada 1
Entrada 1
Saída 1
tPHL tPLH
19
19
UNIDADE Aritmética Binária
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Sites
The National Museum of Computing
http://www.tnmoc.org/
Cisco Binary Game
https://goo.gl/0L4B9C
Leitura
O que são FLOPS? – TECMUNDO
https://goo.gl/ULnFLS
20
Referências
IDOETA, I. V., CAPUANO, F. G., Elementos de Eletrônica Digital, Ed. Érica,
Ed. 40, 2000.
21
21
Circuitos Lógicos
Material Teórico
Circuitos Combinacionais
Revisão Textual:
Profa. Esp. Márcia Ota
Revisão Técnico:
Prof. Ms. Rodrigo da Rosa
Circuitos Combinacionais
• Introdução
• Teoremas da Álgebra Booleana
• Simplificação de Circuitos Lógicos
• Circuitos Combinacionais
• Mapa de Karnough
OBJETIVO DE APRENDIZADO
· Nesta Unidade, objetiva-se que o aluno tenha conhecimento sobre
Minimização de funções e Circuitos Combinacionais a fim de que
esteja apto a realizar trabalhos com redes de circuitos e interpretação
de Mapas de Karnaugh.
ORIENTAÇÕES
Olá, aluno (a)!
Além disso, para que a sua aprendizagem ocorra num ambiente mais
interativo possível, na pasta de atividades, você também encontrará as
atividades de avaliação, uma atividade reflexiva e a videoaula. Cada material
disponibilizado é mais um elemento para seu aprendizado, por favor, estude
todos com atenção!
Bom Estudo!
UNIDADE Circuitos Combinacionais
Contextualização
Para entendermos os circuitos combinacionais, precisamos estudar a simplifi-
cação de circuitos lógicos, começando por um aprofundamento na simplificação
de circuitos lógicos. Dois métodos serão usados: o primeiro utilizará os teoremas
da álgebra booleana e o segundo, uma técnica de mapeamento.
Além disso, vale lembrar que estudaremos técnicas simples para projetar circuitos
lógicos que satisfaçam um dado conjunto de requisitos.
6
Introdução
Soma de Produtos
Para trabalharmos com simplificação de expressões, temos que lembrar que
a simplificação exige que a expressão trabalhada esteja na forma de soma de
produtos, como exemplificado:
A BC A BC
A B A BC C D D
Produto de Somas
Uma segunda forma para os projetos de circuitos lógicos é o produto de somas,
que consiste em dois ou mais termos OR (somas) que são conectados às entradas
de uma porta AND. Cada termo OR contém uma ou mais variáveis na sua forma
complementada ou não, conforme exemplos:
A B C A C
A B C D F
O mais utilizado e, portanto, o mais exemplificado aqui é de “soma de produtos”,
ficando o método de “produto das somas” reservado para circuitos especiais.
7
7
UNIDADE Circuitos Combinacionais
Teorema 02
Teorema de fácil compreensão matemática, uma vez que qualquer elemento
multiplicado por 1 tem como resposta o próprio elemento.
Teorema 03
Pode ser provado verificando o resultado para cada valor possível de entrada. Se
x = 0; então, 0 × 0 = 0; se x = 1; então, 1 × 1 = 1; logo, x × x = x.
Teorema 04
Pode ser provado do mesmo modo. Entretanto, podemos raciocinar que, em
qualquer instante, x ou seu inverso x deve ser igual a 0 e, então, uma operação
AND de x com seu inverso será sempre igual a 0.
Teorema 05
A soma de 0 a qualquer valor não altera esse valor, seja na adição ordinária ou
na operação OR.
Teorema 06
O teorema 6 diz que uma operação com a porta OR possui como entradas uma
variável qualquer x e 1 será sempre igual a 1. É possível fazer a verificação desse
teorema para os dois valores possíveis ele x; 0 + 1 = 1 e 1 + 1 = 1. De modo
equivalente, podemos lembrar que a saída de uma porta OR de duas entradas será
igual a 1, quando qualquer uma das entradas for igual a 1, não importando o valor
da outra entrada.
8
Teorema 07
Mais um teorema de fácil prova: para ambos os valores da variável, basta fazer
o cálculo de x; 0 + 0 = 0 e 1 + 1 = 1.
Teorema 08
Pode ser provado raciocinando que, em qualquer instante, x ou seu inverso x
estará em nível lógico 1; então, sempre teremos a operação OR de 0 e 1, cujo
resultado será sempre 1.
x
(1) x.0 = 0 0
0
x
(2) x.1 = x x
1
x
(3) x.x = x x
x
(4) x.x= 0 0
x
(5) x+ 0 = x x
0
x
(6) x+ 1 = 1 1
1
x
(7) x+x = x x
x
(8) x+x = 1 1
9
9
UNIDADE Circuitos Combinacionais
z A BC A BC
z B AC AC
Assumindo a expressão:
z A BC A B D
Teorema 14
O teorema 14 não possui nenhum correspondente na álgebra comum. Nele,
você deve se atentar aos valores através do estudo dos casos a seguir:
Caso 1 – para x = 0 e y = 0
x+x×y=x
0+0×0=0
0=0
Caso 2 – para x = 0 e y = 1
x+x×y=x
0+0×1=0
0=0
Caso 3 – para x = 1 e y = 0
x+x×y=x
1+1×0=1
1=1
10
Caso 4 – para x = 1 e y = 1
x+x×y=x
1+1×1=1
1=1
x + x × y = x × (1 + y)
Teorema 15
Vamos usar como explicação um exemplo de simplificação da expressão:
x AC D A BC D
x C D A A B
Esse teorema diz que podemos substituir A A B por A + B. Assim, temos:
x C D A B
x AC D BC D
Teorema 16
O complemento da soma é igual ao produto dos complementos.
x y x y
Teorema 17
O complemento do produto é igual à soma dos complementos.
x y x y
Vamos utilizar um exemplo conjunto, onde ambos os teoremas (16 e 17) são
11
11
UNIDADE Circuitos Combinacionais
Como simplificar a expressão a seguir para outra que contenha apenas variáveis
simples invertidas?
z A C) (B D
Utilizando o teorema 17, podemos reescrever a expressão anterior como:
z AC BD
Agora que a inversão foi separada, podemos tratar os termos utilizando o
teorema 16 para sua simplificação:
z AC B D
Nessa simplificação, partimos o sinal de inversão ao meio e trocamos os sinais
(+) por (–) e, então, cancelamos as inversões duplas e temos finalmente:
z AC B D
Exemplo1:
z A BC
z A BC
z A B C
z A B C
Exemplo 2:
z A B C D E F
z A BC D E F
z A B C D E F
z A B C D E F
z A B AC D E D F
12
Simplificação de Circuitos Lógicos
Uma vez obtida a expressão de um circuito lógico, é comum optarmos por
reduzi-la a uma forma mais simples, que contenha um menor número de termos ou
variáveis em um ou mais termos da expressão. Esta nova expressão pode ser usada
para implementar um circuito equivalente ao circuito original, mas que contém um
menor número de portas e conexões.
A A + BC
B BC x = A B(A + BC)
C A A + BC
B BC x = A B(A + BC)
C A A
B x=AB C
C
CA
B x=AB C
C
C
B
Figura 2 – Simplicação de circuito lógico. (A) Circuito original e (B) Circuito simplificado.
Para explicar como fazer a simplificação pelo metodo algébrico, vamos trabalhar
direto com os exemplos.
13
13
UNIDADE Circuitos Combinacionais
z = ABC + AB (A C )
C
B
A
ABC
B
Antes de mais nada, é preciso identificar cada expressão de cada porta lógica
individual ou agrupada (aquela que entra na última porta lógica), o que nos dá a
seguinte expressão:
z A B C A B A C ; conforme teorema 17 de De Morgan.
z A B C A B A A B C ; multiplicação.
z A B C A B A B C ; regra A × A = A
z AC B B A B
Aplicando a regra B B 1 , teremos:
z A C 1 A B
z AC A B
z A C B
14
Este resultado não pode mais ser simplificado, dando- nos, então, a expressão
final que pode ser implementada, agora, em um novo circuito lógico mais simples,
conforme a figura a seguir:
B B+C
C z = A(B + C)
A
Figura 4 – Circuito Lógico Simplificado
É possível ser mais simples ou há outras formas? Vamos tentar outros dois
métodos no exemplo a seguir. Suponha a seguinte expressão:
Método 1
Se prestarmos atenção, veremos que a expressão possui o produto A × B nos
primeiros dois termos:
z A B C C A BC
Aplicando a regra C C 1 , teremos:
z A B 1 A B C
z A B A BC
z A B BC
Aplicando o teorema 15, temos:
z A B C
15
15
UNIDADE Circuitos Combinacionais
Método 2
Lembrando a expressão original:
z A B C C AC B B
Aplicando a regra C C 1e B B 1 , teremos:
z A B 1 A C 1
z A B A C)
z A B C
Vamos ver mais alguns exemplos? Quanto mais exemplos estudados, maior a
gama de teoremas aplicados.
z AC A B D A BC D A BC
Pode parecer complicado, mas vamos lá! A primeira coisa a se fazer é usarmos
os teoremas de De Morgan no primeiro termo:
z AC A B D A BC D A BC
16
Aplicando a regra A A 0 , teremos:
A A 1e C B C C B , teremos:
z B C A D B C
Tudo bem, você pode fazer isso se quiser! Então, chegará à seguinte equação:
z C A B A D A B A BC D
Nessa etapa, você perceberá que ainda poderá fatorar o valor dentro dos
parênteses, tendo:
z C B A A A D A B C D
z C B A D A BC D
z BC A D C BC
17
17
UNIDADE Circuitos Combinacionais
z B C A D B C
Que é a mesma resposta, mas por um caminho mais longo, o que nos prova
que sempre devemos procurar pelos maiores fatores comuns para fatorar, tor-
nando a reposta mais simples de ser obtida.
Circuitos Combinacionais
Já vimos anteriormente que, quando temos um circuito lógico, os resultados
dos circuitos podem ser listados em uma tabela-verdade, mas também podemos
obter a expressão do circuito lógico, observando a tabela-verdade criada por ele.
Veja o exemplo:
A B x
0 0 0
0 1 1
1 0 0
1 1 0
Figura5 – Tabela Verdade do exemplo de Circuitos Combinatórios
A
B
x = AB
A
Como esse exemplo é mais simples, notamos facilmente que a porta lógica
AND pede que os dois sinais de entrada tenham o valor 1 para que sua saída seja
1, mas por se tratar de um sinal invertido, temos de considerar também uma porta
lógica inversora anterior em um dos sinais de entrada, o que exige um sinal de
entrada com valor 0 para que possua uma saída invertida de valor 1. Dessa forma,
chegamos à conclusão da expressão de saída.
18
Vamos ver, agora, um exemplo um pouco mais complexo, observe a tabela-
verdade da figura 7:
A B x
0 0 0
0 1 1
1 0 1
1 1 0
Figura 7 – Tabela Verdade do exemplo de Circuitos Combinatórios Complexos
Essa tabela nos informa que a saída X será 1 apenas para dois casos específicos,
quando A = 0, B = 1 e A = 1 e B = 0. Já sabemos que o termo A B 1 quando A
= 0, B = 1; sabemos também que o termo A B 1 quando A = 1 B = 0. Isso nos
leva à conclusão que o sinal apenas será ALTO para uma ou outra das condições
analisadas; logo, fica mais fácil de entender que esses termos devem ser unidos
com a porta lógica OR para produzirem a saída desejada.
A
ALTO quanto A=1 e B=0
B
B
x = AB + AB
19
19
UNIDADE Circuitos Combinacionais
A B C D z
(0) 0 0 0 0 0
(1) 0 0 0 1 0
(2) 0 0 1 0 0
(3) 0 0 1 1 0
(4) 0 1 0 0 0
(5) 0 1 0 1 0
(6) 1 0 0 1 0
(7) 0 1 1 1 1 → ABCD
(8) 1 0 0 0 1 → ABCD
(9) 1 0 0 1 1 → ABCD
(10) 1 0 1 0 1 → ABCD
(11) 1 0 1 1 1 → ABCD
(12) 1 1 0 0 1 → ABCD
(13) 1 1 0 1 1 → ABCD
(14) 1 1 1 0 1 → ABCD
(15) 1 1 1 1 1 → ABCD
Figura 11 – Tabela-Verdade do Conversor Analógico-Digital
20
z A BC D A BC D A BC D
A BC D A BC D
A BC D A BC D
A BC D A BC D
z A B C D A B C D D A B C (D D)
A BC D D A BC D D
z A BC D A BC A BC A BC A BC
z A BC D A B C C A B C C
z A BC D A B A B
z A BC D A B B
z A BC D A
z A BC D A
z BC D A
Assim, chegamos ao circuito lógico final, conforme a figura 12, que é o circuito
representativo do nosso conversor analógico-digital.
A
z = A + BCD
B
C
D
Mapa de Karnough
O método gráfico conhecido como Mapa de Karnough é uma ferramenta que
facilita o processo de simplicação de uma equação lógica ou mesmo pode ser usado
para converter uma tabela verdade no seu circuito lógico correspondente. O Mapa
de Karnough pode ser usado, conceitualmente, para qualquer quantidade de sinais
de entrada, mas claro que há um limite prático de 6 sinais de entrada.
21
21
UNIDADE Circuitos Combinacionais
A B X B B
0 0 1 → AB A B
1 B
0
0 1 0 x AB AB A 1 0 A
1 0 0 A 0 1 A
1 1 1 → AB A 0 1
B B
C C
A B C X A 1
C 0
C
AB 1 1
0 0 0 1 → ABC A
ABA 10 1
0 0 1 1 → ABC AB 1
1
0
0 1 0 1 → ABC x ABC ABC B
AB 1 0
0 1 1 0 1 0
ABC ABC C C B
1 0 0 0
1 0
1 0 1 0 AB
AB
1
0
1
0
1 1 0 1 → ABC AB 0 0
1 1 1 0 AB 1 0
CD CD CD CD B
1 0
A B C X AB CD
0 CD
1 CD
0 CD
0
0 0 0 0
AB 0 1AB 00 00
0 0 0 1 → ABCD AB 0 1 0 0
0 0 1 0 AB 0 1 0 0 C
0 0 1 0 0
CD 1
CD 0
CD 0
CD C
0 1 0 0 0 1 0 0
AB 0 1 0 0
0 1 0 1 → ABCD AB 0 0 0 0
0 1 1 0 AB 0 0 0 0
x ABCD ABCD AB 0 1 0 0
0 1 1 0 C
1 0 0 0 ABCD ABCD
0 1 0 0
1 0 0 0
1 0 1 0 AB 0 0 0 0
1 0 1 0
1 1 0 0
1 1 0 1 → ABCD
1 1 1 0
1 1 1 0 → ABCD
Figura 13 – Mapa de Karnough para duas (A), três (B) e quatro (C) variáveis
22
Observação 1
A tabela verdade fornece o valor da saída X para cada combinação de valores da
entrada e o mapa de Karnough dá a mesma informação em um formato diferente.
Para cada linha na tabela verdade há uma correspondência em um quadrado do
mapa de Karnough. Na figura 13.A, a condição na tabela verdade, tem como
correspondência o quadrado AB no mapa de Karnough. Como a tabela verdade
mostra X = 1 para esse caso, o valor 1 é colocado no quadrado AB do mapa.
Observação 2
Os quadrados que aparecem no mapa de Karnough possuem uma identificação,
onde os quadrados no sentido horizontal diferem apenas em uma variável. Se
tomarmos como exemplo o quadrado posicionado no canto superior esquerdo em
um mapa de Karnough de quatro variáveis com denominação ABCD , tem como
adjacente, imediatamente, à sua direita, um quadrado denominado ABCD .
Observação 3
Para que os quadrados adjacentes, seja na horizontal ou na vertical, possuam a
diferenciação correta de apenas uma variável, eles devem ser organizados na ordem
mostrada AB , AB , AB e AB , e de mesma forma da esquerda para a direita.
Observação 4
Preenchido o Mapa de Karnough com os valores de 0 e 1 nos locais corretos, a
expressão na forma de soma de produtos para a saída X pode ser obtida juntando
cada quadrado com o valor 1 utilizando a função da porta lógica OR. Tomando como
exemplo o Mapa de Karnough de três variáveis com os quadrados ABC , ABC , ABC
e ABC que possuem valor 1 geram a expressão x ABC ABC ABC ABC .
23
23
UNIDADE Circuitos Combinacionais
C C C C
AB 0 0 0 0
AB 1 0 1 1
X = ABC + ABC X = ABC + ABC
= BC = AB
1 0 0 0
AB 0 0 0 0
(a) (b)
C C CD CD CD CD
AB 1 0 AB 0 0 1 1
AB 0 0 AB 0 0 0 0
X = ABC + ABC = BC
0 0 0 0 0 0
AB 1 0 AB 1 0 0 1
(c) (d)
A figura 14.A apresenta um mapa de Karnough para uma tabela verdade de três
variáveis. Você pode observar que há um par de quadrados com valor 1 que são
adjacentes na vertical, o primeiro representando ABC e o segundo ABC .
Nesses dois termos, apenas a variável A aparece tanto na forma normal (A),
quanto na forma complementar (A) e as variáveis B C permanecem inalteradas.
Sendo assim, eles podem ser agrupados ou combinados, para que seja possível
eliminar a variável A, conforme a expressão:
x A BC A BC
x BC A A
x B C 1
x BC
Como segundo exemplo, na figura 14.B, você encontra um exemplo com dois
quadrados de valor 1 horizontalmente adjacentes; logo, podem ser combinados
eliminando a variável C comum a ambos quadrados. De mesma forma na figura
14.C, os quadrados esquerdo superior e esquerdo inferior, que são adjacentes,
podem ser agrupados eliminando a variável A. A figura 14.D mostra um exemplo
um pouco mais completo com dois grupos de semelhanças de variáveis que podem
ser eliminadas da mesma forma que os demais.
24
Esses foram exemplos de agrupamentos de dois termos, mas também podemos
ter o agrupamento de 4 termos, conforme a figura a seguir:
CD CD CD CD
AB 1 0 0 1
AB 0 0 0 0
X = BD
0 0 0 0
AB 1 0 0 1
AB 0 0 0 0 AB 1 1 0 0
AB 1 1 1 1 AB 1 1 0 0
1 1 1 1 1 1 0 0
AB 0 0 0 0 AB 1 1 0 0
X=B X=C
25
25
UNIDADE Circuitos Combinacionais
Visitando o endereço abaixo, você encontrará um programa gratuito que poderá fazer
Explor
download na língua inglesa e espanhola. Então, leia o manual e utilize o programa para
aprofundar seus conhecimentos e aprender como fazer as dezenas de cálculos via software.
Acesse, explore, conheça e experimente para se familiarizar com as ferramentas mais
adequadas a cada situação:
Sistemas Lógicos e Digitais – Software de Simulação, Simplificação e Conversão
https://goo.gl/AVhUyG
26
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Sites
Mapa de Karnaugh online
https://goo.gl/kWhwKa
27
27
UNIDADE Circuitos Combinacionais
Referências
IDOETA, I. V., CAPUANO, F. G., Elementos de Eletrônica Digital, Ed. Érica,
Ed. 40, 2000.
28
Circuitos Lógicos
Material Teórico
Unidade Lógica e Aritmética
Revisão Textual:
Profa. Esp. Márcia Ota
Revisão Técnica:
Prof. Ms. Rodrigo da Rosa
Unidade Lógica e Aritmética
OBJETIVO DE APRENDIZADO
· O objetivo desta unidade é capacitar o aluno a usar corretamente
os registradores do computador, consumindo menos memória, ao
mesmo tempo em que acelera o ciclo de instruções.
ORIENTAÇÕES
Nesta Unidade, vamos aprender um pouco mais sobre o que é a Organização
de processadores, o ciclo de instrução e os registradores, além do conceito
de flip-flop.
Leia o material com atenção e, se sentir necessidade, releia para que sua
absorção seja adequada. Fique atento (a) nessa etapa, pois é o momento
oportuno para registrar suas dúvidas; por isso, não deixe de registrá-las e
transmiti-las ao professor-tutor.
Além disso, para que a sua aprendizagem ocorra num ambiente mais
interativo possível, na pasta de atividades, você também encontrará as
atividades de avaliação, uma atividade reflexiva e a videoaula. Cada material
disponibilizado é mais um elemento para seu aprendizado, por favor, estude
todos com atenção!
Bom Estudo!
UNIDADE Unidade Lógica e Aritmética
Contextualização
A Unidade Central de Processamento ou Central Processing Unit (CPU) é
considerada por muitos o cérebro do computador; porém, podemos dizer que ele
é o coração também, uma vez que gera informações que alimentam o sistema
operacional e este, por usa vez, os programas.
Nesta unidade da disciplina, aprenderemos como que a CPU realiza sua função
e como as instruções se comportam quando migram entre as memórias.
Bom estudo!
6
Unidade Lógica e Aritmética (ULA)
A unidade lógica e aritmética é o componente da CPU responsável pelas
execuções das operações matemáticas dos dados, ou seja, é na ULA que as
operações das instruções estudadas, realmente, são trabalhadas interpretadas e as
respostas são geradas. As operações que a ULA compreende são:
• Soma; • Subtração;
• Multiplicação; • Divisão;
• Operação lógica AND; • Operação logica OR;
• Operação lógica XOR; • Operação complemento;
• Deslocamento à direita; • Deslocamento à esquerda;
• Incremento; • Decremento.
Normalmente, essas operações utilizam um ou dois valores e, por isso, a ULA
possui duas entradas e ambas se concentram a uma saída, via barramento interno.
7
7
UNIDADE Unidade Lógica e Aritmética
Vamos exemplificar, aqui, a soma de dois valores binários, X=1 e Y=1, que irão
produzir o valor Z=0 e um bit carry (C=1) que tem a função de armazenamento
em um registrador especial do processador para referências, quando necessário.
Chamamos esse registrador de FLAG. O que muitos desconsideram é que as
distâncias percorridas fisicamente têm grande influência no tempo de resposta,
apenas para lembrar, a ULA ainda obedece à fórmula e = vt, onde:
• e = é a distância entre a entrada e a saída do circuito.
• v = é a velocidade atingida pelos sinais elétricos que são representações dos
bits através do circuito que é, nominalmente, a velocidade da luz; porém,
jamais alcança os 300.000km/s, pois isso só ocorre no vácuo.
• t = é o tempo de execução da operação, ou seja, o tempo de percurso dos
sinais desde a entrada até a saída.
8
Dessa forma, as ULAs, em sua totalidade, são fabricadas como um circuito
somador que pode somar dois valores numéricos, independentemente da
quantidade de bits que eles possam possuir, dependendo diretamente da palavra
do processador.
Processadores
Um processador tem a função de armazenar dados em uma memória e, então,
usar esses dados para o correto processamento. Esse processamento envolve a
busca de instruções do programa armazenado, exame e identificação dos opcodes
e operandos dessa instrução e, por fim, a execução do mesmo para que o programa
“rode” corretamente.
Para realizar todo o trabalho corretamente, a CPU segue alguns passos, descritos
a seguir:
Fonte: https://goo.gl/4EpV8e
9
9
UNIDADE Unidade Lógica e Aritmética
Uma visão mais atenta da figura 4 nos mostra todos os caminhos percorridos
por um sinal dentro da CPU, sendo eles os caminhos de transferência de dados e a
sinalização de controle da UC que, por muitos, é chamado de barramento interno de
CPU. Esse sinal de controle é utilizado apenas para transferência interna das partes
da instrução durante seu trabalho, sem contato com o ambiente externo à CPU; a
esta comunicação externa cabe o trabalho do barramento de transferência de dados.
Registradores
Os registradores são unidades de memória de alto nível ou hierarquia que
possuem duas funções definidas:
• Registradores visíveis para o usuário: possibilitam ao programador de
linguagem de montagem ou de máquina minimizar referências à memória,
pela otimização do uso de registradores.
• Registradores de controle e de estado: são usados pela unidade de controle
para controlar a operação da CPU e por programas privilegiados do sistema
operacional para controlar a execução de programas.
10
• Registradores de dados: são usados apenas para conter dados e não podem
ser empregados no cálculo de endereços de operandos.
• Registradores de endereços: podem funcionar como os de propósito geral
ou para um endereçamento especial como:
• Registradores de segmento: utilizados para armazenar endereçamentos
segmentados.
• Registradores de índices: utilizados para endereçamentos indexados.
• Apontador de topo de pilha: utilizado na pilha visível para o usuário; dessa
forma, a pilha ficará alocada na memória, onde um registro especial endere-
çará o topo da pilha.
• Registradores de códigos de condição ou flags: são bits utilizados pela
CPU como resultados de operações.
Esses registradores são responsáveis pelo transporte de dados entre CPU e me-
mória externa, sem que o usuário tome conhecimento dessa ação, sendo que den-
tro da CPU esses dados são entregues somente para a ULA. Há ainda a possibili-
dade de um registrador intermediário que interage entre o MBR e a E/S da ULA.
11
11
UNIDADE Unidade Lógica e Aritmética
É necessário também que a CPU possua um registrador que sempre aponte para
um ponto na memória, onde haja informações do estado original da instrução.
Quando esse ponto na memória for especificamente uma memória virtual, esse
registrador apontará para a tabela de páginas.
O Ciclo de Instrução
O ciclo de instruções de um computador ocorre quando a CPU busca uma
instrução em um campo de memória. Para tanto, é utilizado um registrador chamado
contador de instruções que sempre irá guardar o endereçamento da instrução a ser
executa, ou seja, após fazer uma busca, o contador de instruções já armazena o
endereçamento da próxima instrução para manter o processamento sequencial.
Após a busca, a instrução deve ser entregue para o processador e isso ocorre
através do carregamento dos dados no registrador de instruções do processador
que criará bits que identificarão que ação o processador deve executar nos dados.
Assim, ele pode interpretar a instrução e executar cada ação corretamente. Essas
ações estão listadas a seguir:
• Processador-memória: transferência de dados do processador para a memória
ou da memória para o processador.
• Processador E/S: transferência de dados entre o processador e um dispositivo
periférico por meio de um módulo de E/S.
• Processamento de dados: execução de operações aritméticas ou lógicas
sobre os dados.
• Controle: determinadas instruções podem especificar que a sequência de
execução de instruções seja alterada.
12
16 bits; assim, a instrução é construída contendo 4 bits para o código de operação,
conforme estudado anteriormente.
No passo 3, o PC sobe para 301, ou seja, para o próximo ciclo de instrução que
é, então, carregada para o IR.
No passo 5, o PC muda, mais uma vez, para a próxima instrução que é buscada
e carregada em IR.
13
13
UNIDADE Unidade Lógica e Aritmética
Fonte: https://goo.gl/ilnwtd
operandos Resultados
múltiplos múltiplos
14
Os estados na parte superior da figura 6 envolvem transferências de valores
entre o processador, de um lado, e a memória ou um dispositivo de E/S, de outro.
Os estados na parte inferior do diagrama envolvem apenas operações realizadas
internamente no processador. O estado (CEO) aparece duas vezes, pois uma
instrução pode envolver uma operação de leitura.
PC MAR
Memória
Unidade
de
controle
IR MBR
O Pipeline
Podemos dizer que um pipeline funciona de forma semelhante a uma linha
de montagem uma vez que as instruções passam por uma sequência de estágios.
Vamos tomar o seguinte exemplo:
Sabemos que um ciclo de instrução possui várias etapas. Então, vamos pegar as
etapas de busca e execução das instruções, enquanto parte da instrução está sendo
15
15
UNIDADE Unidade Lógica e Aritmética
executada a memória não está trabalhando. Nesse instante, a memória poderia ser
utilizada em paralelo com a execução; dessa forma, o pipeline executa duas funções
paralelamente, enquanto uma parte da instrução é executada a próxima está sendo
armazenada de forma temporária, quando a execução termina, a memória de
trabalho recebe o valor carregado na memória temporária e começa uma nova
execução. Enquanto isso, uma nova instrução é carregada temporariamente e assim
por diante. Chamamos essa sequência de trocas de função de busca antecipada de
instrução (instruction prefetch) ou superposição de busca (jetch overlap).
A figura 8 mostra duas formas de execução: na primeira (a), há uma execução
sem pipeline e na segunda forma (b), há uma execução com pipeline, conforme a
descrição de pipeline.
(a)
Espera Espera
Novo endereço
Descarte
(b)
Com essa explicação, fica óbvio que usando o pipeline o tempo de execução do
ciclo diminui bastante; porém, isso só ocorre quando os tempos de busca e execu-
ção são o mesmo, o que dificilmente acontece, pois é comum que o tempo de exe-
cução seja maior que o de busca devido às maiores operações que devem ser feitas.
Quando há instruções de desvio, a próxima instrução que deve ser buscada não
teve aquele carregamento prévio, pois seu endereçamento não é conhecido e a
busca em paralelo com a execução não é possível, pois essa descoberta só ocorre
durante a execução.
O desvio condicional é quando uma instrução sendo executada faz referência
à outra instrução ou dado em um determinado endereçamento diferente daquele
sequencial à execução do programa. Essa referência servirá como dado para se
alcançar o resultado da instrução em execução no momento e despois é descartada;
porém, esse desvio de percurso gera um atraso no ciclo e impede a correta execução
do pipeline.
16
Para tentar solucionar o problema das instruções de desvio ou desvio condicional,
é executada uma estratégia de adivinhação, tecnicamente chamada de preempção,
ou seja, quando uma instrução de desvio condicional é passada do estágio de
busca para o de execução, o estágio de busca obtém na memória a instrução,
imediatamente, seguinte à instrução de desvio. Então, se não ocorrer o desvio,
nenhum tempo será perdido. Se ocorrer o desvio, a instrução buscada deve ser
descartada, sendo buscada uma nova instrução.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
BI DI CO BO EI EO
Intrução 1
BI DI CO BO EI EO
Intrução 2
BI DI CO BO EI EO
Intrução 3
Intrução 4 BI DI CO BO EI EO
Intrução 5 BI DI CO BO EI EO
Intrução 6 BI DI CO BO EI EO
Intrução 7 BI DI CO BO EI EO
Intrução 8 BI DI CO BO EI EO
BI DI CO BO EI EO
Intrução 9
17
17
UNIDADE Unidade Lógica e Aritmética
1 2 3 4 5 6 7 8 9 10 11 12 13 14
BI DI CO BO EI EO
Intrução 1
BI DI CO BO EI EO
Intrução 2
BI DI CO BO EI EO
Intrução 3
Intrução 4 BI DI CO BO
Intrução 5 BI DI CO
Intrução 6 BI DI
Intrução 7 BI
Intrução 8 BI DI CO BO EI EO
BI DI CO BO EI EO
Intrução 9
Desempenho da pipeline
Além de lidar com os desvios condicionais da pipeline e as interrupções, é muito
importante sabermos como se dará o desempenho da pipeline. Para tanto, veremos
algumas equações para fazer essa medição de desempenho.
18
Podemos dizer que o tempo relativo de uma pipeline de instrução é o tempo
que um conjunto inteiro de instruções leva para avançar um estágio da pipeline.
Esse tempo de ciclo pode ser determinado pela equação:
τ = max [ τi ] + d → τm + d 1≤i ≤k
i,
Onde:
• τm = atraso máximo de estágio (atraso por meio do estágio de maior atraso).
• K = número de estágios da pipeline de instrução. τm
• D = tempo necessário para propagar sinais e dados de um estágio para o próximo.
Tk = k + ( n − 1) × τ
14 = 6 + ( 9 − 1)
É possível calcular o quão mais rápido uma execução com pipeline sobre uma
execução sem pipeline, calculando o speedup (comparação de velocidades) entre
elas, da seguinte forma:
T1 n×k × τ n×k
Sk = = =
Tk k + ( n − 1) × τ k + ( n − 1)
19
19
UNIDADE Unidade Lógica e Aritmética
Speedup
12
k = 12 estágios
10
8
k = 9 estágios
6
k = 6 estágios
4
0
1 2 4 8 16 32 64 128
Número de instruções
(a)
Speedup
14
n= 30 instruções
12
10
8 n= 20 instruções
6
n= 10 instruções
4
2
0
0 5 10 15 20
Número de instruções
(b)
Operações simples:
• Operações aritméticas com inteiros;
• Operações lógicas bit a bit AND, NOT, OR, XOR;
• Operações de deslocamento de bits (deslocamento, rotação por um número
específico de bits para esquerda ou direita, com ou sem sinal); deslocamentos
podem ser interpretados como multiplicações ou divisões por 2.
20
Operações complexas:
21
21
UNIDADE Unidade Lógica e Aritmética
Figura 12: Representação de uma ULA simples de 2-bit que faz AND, OR, XOR e adição
Fonte: SILVA, Rodrigo; ADAMCZEVSKI, Tiago; ULA de 2 entradas de 4 bits e 4 Operações, Universidade Federal do Paraná, 2010
22
Figura 14: Layout da porta lógica AND
Fonte: SILVA, Rodrigo; ADAMCZEVSKI, Tiago; ULA de 2 entradas de 4 bits e 4 Operações, Universidade Federal do Paraná, 2010
23
23
UNIDADE Unidade Lógica e Aritmética
24
Figura 20: Layout do seletor de funções da ULA
Fonte: SILVA, Rodrigo; ADAMCZEVSKI, Tiago; ULA de 2 entradas de 4 bits e 4 Operações, Universidade Federal do Paraná, 2010
25
25
UNIDADE Unidade Lógica e Aritmética
Circuitos Sequenciais
Agora que já estudamos vários tipos de circuitos e seus elementos de memória,
26
flop específico. Os valores que representam o próximo estado só são mostrados
na borda ativa do relógio. Logo, o estado atual fica armazenado no conjunto de
flip-flop até que uma nova borda do relógio chegue, quando, então, o próximo
estado passa a ser o estado atual e um novo próximo estado será gerado pelo
circuito combinacional.
Breve simulação
No material complementar, há um link para uma simulação de funcionamento
da ULA. Então, acesse o link e, além de aproveitar maiores explicações sobre
a CPU (algumas que ainda veremos na disciplina futuramente), atente-se, mais
especialmente, ao simulador de parte operativa.
Nessa seção, você terá acesso a um simulador online na soma de dois valores
pela ULA (somador parcial) e a entrega do resultado. Além disso, verá como ocorre
o transporte dos dados entre registradores e ULA.
27
27
UNIDADE Unidade Lógica e Aritmética
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Sites
Introdução à Computação – Simulador de CPU
https://goo.gl/4dYRWX
Arquiteturas de Computadores
https://goo.gl/9etNmX
Tópicos de Informática Aplicados à Administração
https://goo.gl/jNd4LE
Vídeos
Passos para Execução de uma Instrução
https://youtu.be/Ny-v5StdryY
28
Referências
MONTEIRO, Mario A.; A Organização de Computadores; 5ª Ed.; Editora:
LTC; 2012.
29
29
Circuitos Lógicos
Material Teórico
Operações de Circuitos Digitais
Revisão Textual:
Prof. Esp. Márcia Ota
Revisão Técnica:
Prof. Ms. Rodrigo da Rosa
Operações de Circuitos Digitais
OBJETIVO DE APRENDIZADO
· Nesta unidade, o aluno terá conhecimento sobre os tipos de sistemas
e o trabalho com máquinas específicas. Dessa forma, estará apto a
realizar trabalhos com operações avançadas de circuitos digitais.
ORIENTAÇÕES
Olá, aluno (a)!
Além disso, para que a sua aprendizagem ocorra num ambiente mais
interativo possível, na pasta de atividades, você também encontrará as
atividades de avaliação, uma atividade reflexiva e a videoaula. Cada material
disponibilizado é mais um elemento para seu aprendizado, por favor, estude
todos com atenção!
UNIDADE Operações de Circuitos Digitais
Contextualização
Para entendermos os circuitos sequenciais, precisamos estudar suas duas
formas de apresentação: Os sistemas Síncronos e Assíncronos. Para tanto, vamos
exemplificar e criar formas de se entender cada passo desses sistemas, analisando
também as máquinas de estado.
Além disso, vale lembrar que estudaremos técnicas simples para projetar circuitos
lógicos que satisfaçam um dado conjunto de requisitos.
Bom estudo!
6
Circuitos sequenciais síncronos
e assíncronos
Como já visto, superficialmente, em outro momento de nossa disciplina, os
circuitos sequenciais podem ser divididos em dois tipos, conforme o comportamento
temporal dos seus sinais: síncronos e assíncronos.
Em outras palavras, o tempo que esses circuitos levam para propagar uma
mudança de suas entradas até suas saídas pode ser encarado como o tempo
durante o qual eles retêm os valores aplicados antes da mudança e, além disso,
esse fenômeno coincide com o conceito de memória, para os circuitos digitais.
7
7
UNIDADE Operações de Circuitos Digitais
nível alto
borda período (T) nível baixo
ascendente
borda
descendente
1 1
=f = ou Hz , onde s = segundos
T S
Fonte: https://goo.gl/mz193N
8
entradas Saídas
Variáveis do
circuito estado atual
combinacional
elementos de
memória
variáveis do
próximo estado
Fonte: https://goo.gl/mz193N
9
9
UNIDADE Operações de Circuitos Digitais
Os Latches
Existem vários tipos de flip-flops e esses se diferem pelo número de entradas
que possuem e também pela maneira, pela qual tais entradas afetam o estado em
que se encontra o flip-flop.
Para entendermos como um latch funciona, vamos focar nosso estudo no Latch
RS. Importante salientar que há outros tipos a serem estudados e são de suma
importância, como o latch RS controlado e o latch D.
O Latch RS
Esse é o latch mais simples que existe, sendo construído com o uso de duas portas
NOR com 2 entradas em cada e essas portas podem ser conectadas, conforme a
figura 3. Você pode observar duas entradas, que são denominadas R e S e duas
saídas, que são denominadas Q e Q . É observável também uma conexão entre a
saída e a entrada NOR n2. Há a conexão entre a saída Q e a entrada NOR n1.
Essas conexões são chamadas de realimentações e, no caso dos circuitos digitais,
são responsáveis pela propriedade de armazenamento do circuito.
R
n1 Q
n2 Q
S
10
Chamamos os circuitos que possuem realimentação de sequenciais, pois seu
comportamento depende não somente dos valores das portas de entrada, mas
somado a isso, o estado em que o circuito se encontra; dessa forma, a análise do
funcionamento do latch RS deve obedecer aos seguintes passos:
Para efeitos de análise, consideramos que a entrada n1, que está conectada
a Q, continua com o valor lógico 1 e que a entrada de n2 que está conectada a
Q continua com o valor lógico 0. Desta forma, logo após o instante t1, n1 terá
0 e 1 em suas entradas, fazendo com que sua saída, que é a saída Q do circuito,
permaneça no valor lógico 0. De maneira semelhante, logo após, t1, n2 terá suas
entradas 0 e 0, fazendo com que sua saída, que é a saída Q do latch, permaneça
com o valor lógico 1. As formas de onda que ilustram o resultado da aplicação
sucessiva destes dois vetores de entrada (R=1,S=0) e (R=0,S=0) no latch RS são
mostradas na figura 4.
11
11
UNIDADE Operações de Circuitos Digitais
Se supormos mais uma vez que t1 > t0 + td (n2) + td (n1) , é possível admitirmos
que, logo após o tempo t1, as saídas Q e Q continuaram com seus valores anteriores.
A figura 5 mostra as formas de onda para essa suposição.
valor indeterminado nada muda
t0 t1 nas saídas
(=desconhecido)
após t1
td(n2) td(n1)
Se um latch deve armazenar um dentre dois estados possíveis para uma variável
Booleana e se o estado está associado ao valor de Q e Q, onde Q exibe o estado
12
e Q o seu complemento; então, como seria o estado representado pela situação
Q=1 e Q=1?
Por não haver uma resposta plausível a essa pergunta, acabou sendo decidido,
por convenção, que esse seria um estado proibido ou indeterminado; assim, a
situação (R=1 e S=1) deve sempre ser evitada, no caso do latch RS.
Resumidamente, temos:
13
13
UNIDADE Operações de Circuitos Digitais
Diagrama de Estados
É possível expressar circuitos sequenciais por meio de um diagrama chamado
Diagrama de Estados, sendo o Latch RS um circuito sequencial, pode-se usar
um diagrama de estados para representar seu funcionamento, como pode ser
visto na figura 6.
R = 0 ∧ S =1
(R = 0 ∧ S = 0) ∨ (R = 0 ∧ S = 0) ∨
(R = 1 ∧ S = 0) (R = 0 ∧ S = 1)
reset set
R =1∧ S = 0
Um exemplo disso é o Latch RS no estado reset; para que ele vá para o estado
set, será necessário que (R=0 e S=1), caso isso não ocorra, o latch ficara no estado
em que se encontra.
Não é necessário desenhar o diagrama toda vez que houver uma ocorrência do
latch RS. Para facilitar, usa-se a simbologia apresentada na figura 7.
R Q
S Q
14
Análise de Circuitos Sequenciais
É comum dentre os mecanismos de empregados na descrição de comporta-
mentos de circuitos sequenciais os Diagramas de Estados, as Tabelas de Transi-
ção de Estados, as Tabelas de Saídas e as Equações Booleanas.
D0 Q0
Y
C Q0
D1 Q1
C Q1
CK
Como pode ser visto, o circuito possui uma entrada camada (cnt) e uma saída
chamada (Y) e dois flip-flops.
15
15
UNIDADE Operações de Circuitos Digitais
Associado a cada uma destas combinações, existe um estado que será armazenado
pelo circuito após a próxima borda ascendente do sinal de relógio, que é o chamado
próximo estado. O próximo estado é definido pelas equações de estado:
Q0 t + t = cnt × Q0 t + cnt × Q0 t
16
Tabela 4: Tabela de saída para o circuito da figura 8
Entrada Estado atual Saída
cnt Q1t Q0t Y
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
Fonte: TOCCI, Ronald J.; Sistemas Digitais
Nesse diagrama, temos as transições entre estados indicados por arestas (os
arcos com as setas) e junto a cada uma dessas arestas são anotadas as condições
das variáveis de entrada necessárias para a transição ocorrer.
cnt=1
cnt=0 Q1Q0=00 Q1Q0=01 cnt=0
Y=0 Y=0
cnt=1 cnt=1
cnt=1
Q1Q0=11 Q1Q0=10
cnt=0 cnt=0
Y=1 Y=0
17
17
UNIDADE Operações de Circuitos Digitais
Na figura 10, são mostradas formas de onda que ilustram uma possível contagem:
o circuito foi suposto partir do estado 00 e o sinal (cnt) foi mantido com valor
lógico 1 por 3 ciclos de relógio consecutivos. Após, (cnt) foi feito igual a zero, o
que desabilitou a contagem. Com isso, o circuito contou de 0 a 3, parando em 3.
Verifique o comportamento da saída Y durante esta operação.
t0 t1 t2 t3
CK
cnt
Q1
Q0
Y
Figura 10: Diagrama de tempos para uma possível operação do circuito sequencial da figura 8
Vamos realizar mais exemplo que será bastante importante para o próximo
conceito. Vamos determinar a tabela de transição de estados, a tabela de saída e o
diagrama de estados para o circuito apresentado na figura 11.
cnt
D0 Q0
Y
C Q0
D1 Q1
C Q1
CK
18
Este circuito estudado agora se diferencia do apresentado anteriormente no
elemento de saída Y, que apesar de também depender da entrada (cnt), neste
caso, Y=1 somente quando (Q1 e Q0 = 11) e (cnt)=1 (somente quando o circuito
estiver contado).
cnt=1 / Y=0
cnt=0 / Y=0 Q1Q0=00 Q1Q0=01 cnt=0 / Y=0
cnt=1 / Y=0
cnt=0 / Y=0 Q1Q0=11 Q1Q0=10 cnt=0 / Y=0
Na figura 13, são mostradas formas de onda que ilustram uma possível operação
do Circuito O circuito conta de 0 até 3. No meio do ciclo em que a contagem atinge
o valor 3 (portanto, Y=1), o sinal (cnt) passa a valer 0, o que suspende a contagem
e faz Y passar para 0.
19
19
UNIDADE Operações de Circuitos Digitais
t0 t1 t2 t3
CK
cnt
Q1
Q0
Y
Figura 13: Diagrama de tempos para uma possível operação do circuito sequencial da figura 11
Máquinas de Estados
Nos dois exemplos anteriores, cada um dos circuitos estudados por nós
corresponde a um dos modelos possíveis de circuitos sequenciais, sendo eles:
cnt cnt
D0 Q0 D0 Q0
Y Y
C Q0 C Q0
D1 Q1 D1 Q1
C Q1 C Q1
CK CK
Exemplo1: Modelo dependente dos estados Exemplo2: Modelo dependente das entradas
ou modelo de Moore. ou modelo de Mealy.
Figura 14: Modelos de Circuitos Sequenciais
20
As figuras 15 e 16 mostram os diagramas de blocos para o modelo de Moore e
de Mealy, respectivamente.
Entradas
I1 I2 In CK
D1 Q1
FF1
> Q1
O1
D1 Q1
O2
lógica de FF2 Saídas
> Q1 lógica de saída
próximo estado On
D1 Q1
FF3
> Q1
D1 Q1
FF1
> Q1
O1
D1 Q1
O2
lógica de FF2 Saídas
> Q1 lógica de saída
próximo estado On
D1 Q1
FF3
> Q1
21
21
UNIDADE Operações de Circuitos Digitais
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Livros
Eletrônica Digital - Teoria e Laboratório
Garcia, P. A., Eletrônica Digital - Teoria e Laboratório, Ed. Érica, 2006, ISBN:
853650109X
Eletrônica Digital Moderna e VHDL
Pedroni, A. V., Eletrônica Digital Moderna e VHDL, 1a edição, Ed. Campus
Eletrônica Digital: Lógica Combinacional
BIGNELL, J. W., DONOVAN R., L.: Eletrônica Digital: Lógica Combinacional, vol
1, Ed. Makron Books, 1995
Fundamentals of Digital Logic with VHDL Design
Stephen Brown, Zvonko Vranesic; Fundamentals of Digital Logic with VHDL
Design; 3a Edição; McGraw-Hill; 2008
Sistemas Digitais - Fundamentos e Aplicações
Floyd, Thomas L., Sistemas Digitais - Fundamentos e Aplicações, 9a Ed, Bookman,
2007. ISBN: 9788560031931
Leitura
Circuitos Seqüenciais
https://goo.gl/mz193N
22
Referências
IDOETA, I. V., CAPUANO, F. G., Elementos de Eletrônica Digital, Ed. Érica,
Ed. 40, 2000.
23
23
Circuitos Lógicos
Material Teórico
Linguagem de Descrição de Hardware
Revisão Textual:
Profa. Esp. Márcia Ota
Linguagem de Descrição de Hardware
OBJETIVO DE APRENDIZADO
· O objetivo desta unidade é demonstrar, ao aluno, formas diferentes
de projetos de circuitos.
ORIENTAÇÕES
Nesta Unidade, vamos aprender um pouco mais sobre como funcionam
os projetos de circuitos lógicos, alguns exemplos de dispositivos lógicos
programáveis, fechando com os microprocessadores.
Leia o material com atenção e, se sentir necessidade, releia para que sua
absorção seja adequada. Fique atento (a) nessa etapa, pois é o momento
oportuno para registrar suas dúvidas; por isso, não deixe de registrá-las e
transmiti-las ao professor-tutor.
Além disso, para que a sua aprendizagem ocorra num ambiente mais
interativo possível, na pasta de atividades, você também encontrará as
atividades de avaliação, uma atividade reflexiva e a videoaula. Cada material
disponibilizado é mais um elemento para seu aprendizado, por favor, estude
todos com atenção!
Bom Estudo!!!
UNIDADE Linguagem de Descrição de Hardware
Contextualização
O projeto de um circuito sequencial, normalmente, inicia pela definição de seu
comportamento de maneira textual e com a transcrição desse comportamento
para um diagrama de estados, de modo a detalhar os estados existentes, as
condições para trocas de estados e os valores das saídas. Pela análise do diagrama
de estados, é possível identificar o modelo de máquina de estados a ser seguido
(Moore ou Mealy).
Nesta unidade da disciplina, aprenderemos como que a CPU realiza sua função
e como as instruções se comportam quando migram entre as memórias.
Bom estudo!
6
Projeto de Circuitos Sequenciais
Quando estamos trabalhando com projetos de circuitos sequenciais, aprendemos
como descrever o comportamento do circuito desejado por meio de um formalismo
matemático, conhecido como equações booleanas e essas, por sua vez, são
convertidas no próprio circuito lógico.
Rede Combinacional
Yn Qn
de Entrada
de Saída
In On
7
7
UNIDADE Linguagem de Descrição de Hardware
clk
Y1
I1
Y2
I2
Elementos de Memória
... ...
(Flips-Flops)
Yn
In
Rede Combinacional
Q1
de Entrada
Q2
...
Qn
O1
O2
...
On
8
Esse diagrama deve conter a quantidade de estados necessários para a operação
e seu comportamento de acordo com cada valor possível de entrada. Na figura 3,
você pode observar a tabela de estados do detector serial de paridade ímpar.
Estado “Flip-Flop”
X=1
S0 S1
X=0 X=1 X=0
0 1
Saída
Entrada
Figura 3: Diagrama de estados do detector serial de paridade ímpar
Fonte: TOCCI, Ronald J.; Sistemas Digitais
Estado Futuro
Estado Atual X=0 X=1 Saída (Z)
S0 S0 S1 0
S1 S1 S0 1
Qa Estados
0 1 S0=0
S0 S1 S1=1
9
9
UNIDADE Linguagem de Descrição de Hardware
Estado Atual
Qa Qa
X 0 1 Estado Futuro X 0 1
Entrada
0 S0 S1 0 0 1
1 S1 S0 1 1 0
2 KFF
INPUT PRN OUTPUT
7 K VCC
J Q
6 IMPAR
INPUT
4 CLK VCC
K
CURN
1
INPUT
5 RST VCC
10
Dispositivos Lógicos Programáveis
Como já estudo no curso, a evolução dos circuitos digitais deu-se dos transistores
na sua forma unitária para a versão coletiva conhecida como circuitos integrados
ou VLSI (Very Large Scale Integration). Assim, a criação do microprocessador
possibilitou um novo passo na evolução da microeletrônica com o desenvolvimento
de chips de memória de ala densidade e o avanço na tecnologia de produtos lógicos
como os Dispositivos Lógicos Programáveis (PLD).
Antigas gerações, de tecnologia de hardware, para projetos digitais apresen-
tavam um grande número de chips contendo portas básicas (AND e OR). Com o
avanço tecnológico, os projetos mais complexos passaram a usar circuitos de alta
densidade que, em geral, incluem dispositivos como controladores, contadores,
registradores e decodificadores, proporcionando o desenvolvimento de alternati-
vas para obter flexibilidade em uma implementação.
Com o uso de módulos programáveis (portas básicas que permitem a
implementação de sistemas digitais), estes módulos têm uma estrutura padrão e
são personalizados para uma função particular.
Exemplos de tipos e classes de dispositivos programáveis (configuráveis) com
capacidade de implementar funções lógicas são:
• PLA (Programmable Logic Array);
• PAL (Programmable Array Logic);
• CPLD’s (Complex Programmable Logic Devices);
• MPGA (Mask Programmable Gate Array);
• FPGA (Field Programmable Gate Array).
A grande capacidade e a versatilidade dos novos dispositivos programáveis
fizeram desses elementos uma alternativa mais que considerável no projeto de
sistemas digitais. A utilização de algumas ferramentas de desenvolvimento como
o EDA (Eletronic Design Automation) ou, então, o ECAD (Eletronic Computer
Aided Design) possuem ciclos rápidos de projeto.
Hoje em dia, já não é mais necessário o desenho de portas lógicas individuais
e planejar todas as interconexões, as linguagens de descrição de hardware
(HDL) estão tão consolidadas no meio acadêmico quanto no meio industrial
como a forma padrão na elaboração de projetos. Há também ferramentas de
síntese lógica automática disponíveis que possibilitam mapear os circuitos em
diversas tecnologias.
Com essa grande variedade, torna-se necessário uma prototipação mais rápida,
pois o ciclo de vida dos produtos é cada vez mais curto em relação ao tempo
necessário para o projeto e desenvolvimento em diversas categorias:
11
11
UNIDADE Linguagem de Descrição de Hardware
12
velocidade, baixo custo e fácil manuseio. A evolução trouxe uma otimização do
aproveitamento de espaço, aumentando ainda mais as interconexões do array de
blocos lógicos. A Figura 5 mostra a evolução dos PLD’s.
Classic Max 5000 Max 7000 Flex 10K
Flex 8000
Flex 6000
Max 9000
Tipos de PLDs
Existem duas classificações de PLDs:
• Dispositivo de Lógica Programável Simples (“SPLD - Simple Programmable
Logic Device”);
• Dispositivo de Lógica Programável de Alta Capacidade (“HCPLD - High
Capacity Programmable Logic Device”).
Programmable
Logic
≤ 600 Gates > 600 Gates
Simple High-Capacity
PLDs Segmented PLDs Continuous
Interconnect Interconnect
FPGAs CPLDs
13
13
UNIDADE Linguagem de Descrição de Hardware
Tipos de SPLDs
• Matriz Programáveis Logicamente (PLA) ou Matriz programável logica-
mente em campo (FPLA)
E0 S0
PLA
E1 S1
S0 S1
14
• Matriz Lógica Programável (PAL)
O diferencial do PAL é que ele não necessita que todas as combinações de entrada
sejam programáveis. Logo, pode-se dizer que os PAL são uma simplificação dos
PLA, sendo apenas a matriz de conexão das portas AND programável, a matriz
OR é fixa, vide figura 8.
Cada porta AND pode ser programada para gerar qualquer dos produtos AND
das duas variáveis de entrada e de seus complementos. Cada porta OR está ligada
somente a duas das saídas ANDs. Isso limita a função a ser implementada a ter,
no máximo, dois produtos AND. Se a função precisar de mais de dois produtos,
não pode ser implementada nesta PAL, devendo ser escolhido outro modelo
que tenha mais entradas para as portas OR. Caso seja necessário menos de
dois termos para a implementação da função, as saídas não utilizadas devem ser
colocadas no nível lógico “0”.
E0 E1
Conexão fixa
Conexão programável pelo usuário
E0 S0
PLA
E1 S1
S0 S1
As GAL’s (“Generic Array Logic”) são estruturas como a PAL, mas possuem
macrocélulas de saídas, as quais podem ser configuradas como lógica combinacional
ou sequencial (registradores), como mostrada na Figura 9.
15
15
UNIDADE Linguagem de Descrição de Hardware
Entrada habilitadora
I/O
Registradores
GAL
Combinacional
Entradas
16v8
CLK
Uma única GAL pode substituir 24 tipos diferentes de PAL. A GAL é construída
com a tecnologia CMOS; isso reduz o consumo de potência comparado a dispositivos
bipolares, mas possui alta taxa de ruído. A Gal possui a mesma quantidade de pinos
do que uma PAL, em torno de 20 e 24 pinos.
• Dispositivos Lógicos Programáveis Apagáveis (EPLD)
16
1 termo de produtos
é utilizado
7 termos de produtos
FF dedicado
não utilizados
A0&A1&
A0 ... An
Os HCPLD nada mais é que um dispositivo lógico programável que possui cen-
tenas de portas, quanto maior o número de portas do PLD, maior será sua com-
plexidade e em se tratando de estrutura de conexão, os HCPLD são divididos em:
• CPLD (Complex Programable Logic Devices)
• FPGA (Field Programable Gate Array)
17
17
UNIDADE Linguagem de Descrição de Hardware
Tipos de HCPLD
• Dispositivos Lógicos Programáveis Complexos (CPLDs - Complex
Programmable Logic Devices)
Logic Logic
Block Block
Switch
Matrix
Logic Logic
Block Block
Esses arranjos são circuitos programáveis que não possuem planos AND e OR,
mas sim milhares de unidades de blocos lógicos iguais e configuráveis. Essas unidades
lógicas são tratadas como componentes padrões que podem ser configurados
independentemente e interconectados a partir de uma matriz de trilhas condutoras
e chaves programáveis.
18
I/O I/O I/O I/O
I/O
I/O
Interconexão programável
Segmento de conexão
Caminho de interconexão
19
19
UNIDADE Linguagem de Descrição de Hardware
20
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Sites
Arquiteturas de Computadores
https://goo.gl/RZKgpz
Tópicos de Informática Aplicados à Administração
https://goo.gl/F92pAx
Livros
Eletrônica Digital - Teoria e Laboratório
Garcia, P. A., Eletrônica Digital - Teoria e Laboratório, Ed. Érica, 2006.
Fundamentals of Digital Logic with VHDL Design
Stephen Brown, Zvonko Vranesic; Fundamentals of Digital Logic with VHDL
Design; 3a Edição; McGraw-Hill; 2008.
21
21
UNIDADE Linguagem de Descrição de Hardware
Referências
MONTEIRO, Mario A.; A Organização de Computadores; 5ª Ed.; Editora:
LTC; 2012.
22