Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
1 
 
MÁQUINAS MULTINÍVEIS CONTEMPORÂNEAS 
A maioria dos computadores modernos consiste de dois ou mais níveis. Existem 
máquinas com até seis níveis, conforme mostra a Figura de hierarquia. O nível 
0, na parte inferior, é o hardware verdadeiro da máquina. Seus circuitos 
executam os programas em linguagem de máquina do nível 1. Por razões de 
precisão, temos que mencionar a existência de outro nível abaixo do nosso nível 
0. Esse nível, que não aparece na Figura de hierarquia por entrar no domínio da 
engenharia elétrica (e, portanto, estar fora do escopo), é chamado de nível de 
dispositivo. Nele, o projetista vê transistores individuais, que são os primitivos 
de mais baixo nível para projetistas de computador. Se alguém quiser saber 
como os transistores funcionam no interior, isso nos levará para o campo da 
física no estado sólido. 
 
 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
2 
 
NÍVEL LÓGICO DIGITAL 
Na parte inferior da hierarquia encontramos o nível lógico digital, o real hardware 
do computador. Examinaremos muitos aspectos da lógica digital, como um 
fundamento para o estudo de níveis mais altos em capítulos subsequentes. Esse 
assunto está no limiar entre a ciência da computação e a engenharia elétrica, 
mas o material é independente, portanto, não há necessidade de experiência 
prévia de hardware nem de engenharia para entendê-lo. 
Os elementos básicos que fazem parte de todos os computadores digitais são 
surpreendentemente simples. Iniciaremos nosso estudo examinando esses 
elementos básicos e também a álgebra especial de dois valores (álgebra 
booleana) usada para analisá-los. Em seguida, examinaremos alguns circuitos 
fundamentais que podem ser construídos usando simples combinações de 
portas, entre eles os circuitos que efetuam a aritmética. O tópico que vem depois 
desse é o modo como essas portas podem ser combinadas para armazenar 
informações, isto é, como as memórias são organizadas. Logo após, chegamos 
à questão das CPUs e, em especial, de como é a interface entre CPUs de um 
só chip, a memória e os dispositivos periféricos. Mais adiante serão estudados 
diversos exemplos da indústria de computadores. 
 
 
 
 
 
 
 
 
 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
3 
 
1. Portas e álgebra booleana 
1.1. Portas 
1.2. Álgebra booleana 
1.3. Execução de funções booleanas 
1.4. Equivalência de circuito 
 
2. Circuitos lógicos digitais básicos 
2.1. Circuitos integrados 
2.2. Circuitos combinatórios 
• Multiplexadores 
• Decodificadores 
• Comparadores 
2.3. Circuitos aritméticos 
• Deslocadores 
• Somadores 
• Unidades lógica e aritmética 
2.4. Clocks 
 
3. Memória 
3.1. Memórias de 1 bit 
3.2. Flip-flops 
3.3. Registradores 
3.4. Organização da memória 
3.5. Chips de memória 
3.6. RAMs e ROMs 
• Chips de memória não volátil 
 
 
 
 
 
 
 
 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
4 
 
1. PORTAS E ÁLGEBRA BOOLEANA 
Circuitos digitais podem ser construídos com um pequeno número de elementos 
primitivos combinando-os de inúmeras maneiras. Nas seções seguintes, 
descreveremos tais elementos, mostraremos como eles podem ser combinados 
e introduziremos uma poderosa técnica matemática que pode ser usada para 
analisar seu comportamento. 
 
1.1. PORTAS 
Um circuito digital é aquele em que estão presentes somente dois valores 
lógicos. O normal é que um sinal entre 0 e 0,5 volt represente um valor (por 
exemplo, 0 binário) e um sinal entre 1 e 1,5 volt represente o outro valor (por 
exemplo, 1 binário). Não são permitidas tensões fora dessas duas faixas. 
Minúsculos dispositivos eletrônicos, denominados portas (gates), podem calcular 
várias funções desses sinais de dois valores. Essas portas formam a base do 
hardware sobre a qual todos os computadores digitais são construídos. Os 
detalhes do funcionamento interno das portas estão fora do escopo, pois 
pertencem ao nível de dispositivo, que está abaixo do nível 0. Não obstante, 
agora vamos divagar um pouco e examinar rapidamente a ideia básica, que não 
é difícil. No fundo, toda a lógica digital moderna se apoia no fato de que um 
transistor pode funcionar como um comutador binário muito rápido. Na Figura 
1(a), mostramos um transistor bipolar (representado pelo círculo) inserido em um 
circuito simples. Esse transistor tem três conexões com o mundo exterior: o 
coletor, a base e o emissor. Quando a voltagem de entrada, Vin, está abaixo de 
certo valor crítico, o transistor desliga e age como uma resistência infinita, isso 
faz com que a saída do circuito, Vout, assuma um valor próximo a Vcc, uma 
voltagem regulada externamente, em geral +1,5 volt para esse tipo de transistor. 
Quando Vin excede o valor crítico, o transistor liga e age como um fio, fazendo 
Vout ficar conectado com a terra (por convenção, 0 volt). O importante é notar 
que, quando Vin é baixa, Vout é alta, e vice-versa. Assim, esse circuito é um 
inversor, que converte um 0 lógico em um 1 lógico e um 1 lógico em um 0 lógico. 
O resistor (linha serrilhada) é necessário para limitar a quantidade de corrente 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
5 
 
drenada pelo transistor, de modo que ele não queime. O tempo típico exigido 
para passar de um estado para outro é tipicamente de um nanossegundo ou 
menos. Na Figura 1.1(b), dois transistores estão ligados em série. Se ambas, V1 
e V2, forem altas, ambos os transistores conduzirão e Vout cairá. Se qualquer 
das entradas for baixa, o transistor correspondente se desligará e a saída será 
alta. Em outras palavras, Vout será baixa se, e somente se, ambas, V1 e V2, 
forem altas. Na Figura 1.1(c), os dois transistores estão ligados em paralelo em 
vez de em série. Nessa configuração, se qualquer das entradas for alta, o 
transistor correspondente ligará e conectará a saída com a terra. Se ambas as 
entradas forem baixas, a saída permanecerá alta. Esses três circuitos, ou seus 
equivalentes, formam as três portas mais simples e são denominadas portas 
NOT, NAND e NOR, respectivamente. Portas NOT costumam ser denominadas 
inversoras; usaremos os dois termos indiferentemente. Se agora adotarmos a 
convenção de que “alta” (Vcc volts) é um 1 lógico e “baixa” (terra) é um 0 lógico, 
podemos expressar o valor de saída como uma função dos valores de entrada. 
Os símbolos usados para representar essas portas são mostrados nas figuras 
1.2(a)-(c) junto com o comportamento funcional de cada circuito. Nessas figuras, 
A e B são entradas e X é a saída. Cada linha especifica a saída para uma 
combinação diferente das entradas. 
 
Figura 1.1: (a) Inversor de transistor, porta NOT. (b) Porta NAND. (c) Porta NOR. 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
6 
 
 
Se o sinal de saída da Figura 1.1(b) for alimentado em um circuito inversor, 
obtemos outro circuito com o inverso exato da porta NAND, a saber, um cuja 
saída é 1 se, e somente se, ambas as entradas forem 1. Esse circuito é 
denominado uma porta AND; seu símbolo e descrição funcional são dados na 
Figura 1.2(d). 
De modo semelhante, a porta NOR pode ser conectada a um inversor para 
produzir um circuito cuja saída é 1 se quaisquer das saídas, ou ambas, for um 1, 
mas 0 se ambas asentradas forem 0. O símbolo e a descrição funcional desse 
circuito, denominado uma porta OR, são dados na Figura 1.2(e). Os pequenos 
círculos usados como parte dos símbolos para o inversor, porta NAND e porta 
NOR, são denominados bolhas de inversão. Também são usadas em outros 
contextos para indicar um sinal invertido. 
As cinco portas da Figura 1.2 são os principais elementos de construção do nível 
lógico digital. A discussão precedente deve ter deixado claro que as portas 
NAND e NOR requerem dois transistores cada, ao passo que as portas AND e 
OR requerem três cada. Por essa razão, muitos computadores são baseados em 
portas NAD e NOR em vez das portas mais conhecidas, AND e OR. (Na prática, 
todas as portas são executadas de modo um pouco diferente, mas as NAND e 
NOR ainda são mais simples do que as AND e OR) A propósito, vale a pena 
observar que as portas podem perfeitamente ter mais de duas entradas. Em 
princípio, uma porta NAD, por exemplo, pode ter, arbitrariamente, muitas 
entradas, mas na prática não é comum encontrar mais de oito. 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
7 
 
Embora a questão do modo como são construídas as portas pertença ao nível 
do dispositivo, gostaríamos de mencionar as principais famílias de tecnologia de 
fabricação porque elas são citadas com muita frequência. As duas tecnologias 
principais são bipolar e MOS (Metal Oxide Semiconductor – semicondutor 
de óxido metálico). 
Os dois principais tipos bipolares são: 
• TTL (transistor-transistor Logic – lógica transistor-transistor), que há 
muitos anos é o burro de carga da eletrônica digital; 
• ECL (Emitter-Coupled Logic – lógica de emissor acoplado), que era usada 
quando se requeria uma operação de velocidade muito alta. 
Para circuitos de computador, o que predomina agora é a tecnologia MOS. 
Portas MOS são mais lentas do que as TTL e ECL, mas exigem bem menos 
energia elétrica e ocupam um espaço muito menor, portanto, um grande número 
delas pode ser compactado e empacotado. Há muitas variedades de MOS, entre 
as quais PMOS, NMOS e CMOS. Embora os modos de construção dos 
transistores MOS e dos transistores bipolares sejam diferentes, sua capacidade 
de funcionar como comutadores eletrônicos é a mesma. A maioria das CPUs e 
memórias modernas usa tecnologia CMOS, que funciona a +1,5 volt. E isso é 
tudo o que diremos sobre o nível de dispositivo. 
 
1.2. ÁLGEBRA BOOLENA 
Para descrever os circuitos que podem ser construídos combinando portas, é 
necessário um novo tipo de álgebra, no qual variáveis e funções podem assumir 
somente os valores 0 e 1. Essa álgebra é denominada álgebra booleana, nome 
que se deve a seu descobridor, o matemático inglês George Boole (1815–1864). 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
8 
 
 
Figura 1.2: Símbolos e comportamento funcional das cinco portas básicas. 
 
Em termos estritos, estamos nos referindo a um tipo específico de álgebra 
booleana, uma álgebra de comutação, mas o termo “álgebra booleana” é tão 
utilizado no lugar de “álgebra de comutação” que não faremos a distinção. Assim 
como há funções na álgebra “ordinária” (isto é, a álgebra do colegial), também 
há funções na álgebra booleana. Uma função booleana tem uma ou mais 
variáveis de entrada e produz um resultado que depende somente dos valores 
dessas variáveis. Uma função simples, f, pode ser definida ao se dizer que f(A) 
é 1 se A for 0 e f(A) é 0 se A for 1. Essa função é a função NOT da Figura 1.2(a). 
Como uma função booleana de n variáveis só tem 2𝑛 combinações possíveis de 
valores de entrada, ela pode ser completamente descrita por uma tabela com 2𝑛 
linhas, na qual cada linha informa o valor da função para uma combinação 
diferente de valores de entrada. Ela é denominada tabela verdade. As tabelas 
da Figura 1.2 são todos exemplos de tabelas verdade. Se concordarmos em 
sempre listar as linhas de uma tabela verdade em ordem numérica (base 2), isto 
é, para duas variáveis na ordem 00, 01, 10 e 11, a função pode ser 
completamente descrita pelo número binário de 2𝑛 bits obtido pela leitura vertical 
da coluna de resultado da tabela verdade. Assim, NAD é 1110, NOR é 1000, 
AND é 0001 e OR é 0111. É óbvio que só existem 16 funções booleanas de duas 
variáveis, correspondentes às 16 possíveis sequências de 4 bits resultantes. Por 
outro lado, a álgebra ordinária tem um número infinito de funções de duas 
variáveis, nenhuma das quais pode ser descrita por meio de uma tabela de 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
9 
 
saídas para todas as entradas possíveis, porque cada variável pode assumir 
qualquer valor de um número infinito de valores possíveis. 
A Figura 1.3(a) mostra a tabela verdade para uma função booleana de três 
variáveis: M = f(A, B, C). Essa função é a de lógica majoritária, isto é, ela é 0 se 
a maioria de suas entradas for 0, e 1 se a maioria de suas entradas for 1. Embora 
qualquer função booleana possa ser completamente especificada dada sua 
tabela verdade, à medida que aumenta o número de variáveis, essa notação fica 
cada vez mais trabalhosa. Portanto, costuma-se usar outra notação no lugar 
dela. 
 
FIGURA 1.3: (a) Tabela verdade para a função majoritária de três variáveis. (b) Circuito para (a). 
 
Para ver como ocorre essa outra notação, observe que qualquer função 
booleana pode ser especificada ao se dizer quais combinações de variáveis de 
entrada dão um valor de saída igual a 1. Para a função da Figura 1.3(a), há 
quatro combinações de variáveis de entrada que fazem com que M seja 1. 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
10 
 
 
 
 
Por convenção, marcaremos a variável de entrada com uma barra para indicar 
que seu valor é invertido. A ausência de uma barra significa que o valor não é 
invertido. Além disso, usaremos a multiplicação implícita ou um ponto para 
representar a função booleana AND e + para representar a função booleana 
OR. 
 
Assim, por exemplo, 𝐴�̅�𝐶 assume o valor 1 somente quando A = 1 e B = 0 e C 
= 1. Além disso, 𝐴�̅� + 𝐵𝐶̅ é 1 somente quando (A = 1 e B = 0) ou (B = 1 e C = 
0). As quatro linhas da Figura 3(a) que produzem bits 1 na saída são 
�̅�𝐵𝐶, 𝐴�̅�𝐶, 𝐴𝐵𝐶̅ 𝑒 𝐴𝐵𝐶. A função, M, é verdadeira (isto é, 1) se qualquer uma 
dessas quatro condições for verdadeira; daí, podemos escrever 
 
𝑀 = �̅�𝐵𝐶 + 𝐴�̅�𝐶 + 𝐴𝐵𝐶̅ + 𝐴𝐵𝐶 
 
como um modo compacto de dar a tabela verdade. Assim, uma função de n 
variáveis pode ser descrita como se desse uma “soma” de no máximo 2𝑛 termos 
de “produtos” de n variáveis. Essa formulação é de especial importância, como 
veremos em breve, pois leva diretamente a uma execução da função que usa 
portas padronizadas. 
É importante ter em mente a distinção entre uma função booleana abstrata e sua 
execução por um circuito eletrônico. Uma função booleana consiste em 
variáveis, como A, B e C, e operadores booleanos, como AND, OR e NOT. 
Ela é descrita por uma tabela verdade ou por uma função booleana como 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
11 
 
𝐹 = 𝐴�̅�𝐶 + 𝐴𝐵𝐶̅ 
 
Uma função booleana pode ser executada por um circuito eletrônico (muitas 
vezes de vários modos diferentes) usando sinais que representam as variáveis 
de entrada e saída e portas como AND, OR e NOT. 
 
1.3. Execução de funções booleanas 
Como já mencionamos, a formulaçãode uma função booleana como uma soma 
de até 2𝑛 termos produtos leva a uma possível implementação. Usando a Figura 
1.4 como exemplo, podemos ver como essa implementação é efetuada. Na 
Figura 1.4(b), as entradas, A, B e C, aparecem na extremidade esquerda, e a 
função de saída, M, na extremidade direita. Como são necessários 
complementos (inversos) das variáveis de entrada, eles são gerados tomando 
as entradas e passando-as pelos inversores rotulados 1, 2 e 3. Para evitar 
atravancar a figura, desenhamos seis linhas verticais, três das quais conectadas 
às variáveis de entrada e três aos complementos dessas variáveis. 
Tais linhas oferecem uma fonte conveniente para as entradas das portas 
subsequentes. Por exemplo, as portas 5, 6 e 7 usam A como uma entrada. Em 
um circuito real, essas portas provavelmente estariam ligadas direto a A sem 
usar nenhum fio “vertical” intermediário. 
 
O circuito contém quatro portas AND, uma para cada termo da equação para M 
(isto é, uma para cada linha da tabela verdade que tenha um bit 1 na coluna de 
resultado). Cada porta AND calcula uma linha da tabela verdade, como indicado. 
Por fim, todos os termos produtos alimentam a porta lógica OR para obter o 
resultado final. 
 
O circuito da Figura 1.4(b) usa uma convenção que utilizaremos repetidas vezes 
neste livro: quando duas linhas se cruzam, não há nenhuma ligação implícita a 
menos que haja um ponto negro bem visível na intersecção. Por exemplo, a 
saída da porta 3 cruza todas as seis linhas verticais, mas está ligada apenas a 
C. É bom lembrar que alguns autores usam outras convenções. 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
12 
 
Pelo exemplo da Figura 1.4 deve ficar claro como colocar em prática um circuito 
para qualquer função booleana: 
 
1. Escreva a tabela verdade para a função. 
2. Providencie inversores para gerar o complemento de cada entrada. 
3. Desenhe uma porta AND para cada termo que tenha um 1 na coluna de 
resultado. 
4. Ligue as portas AND às entradas adequadas. 
5. Alimente a saída de todas as portas AND a uma porta OR. 
 
Embora tenhamos mostrado como qualquer função booleana pode ser 
executada usando portas NOT, AND e OR, muitas vezes é conveniente realizar 
circuitos usando só um tipo de porta. Felizmente, converter circuitos gerados 
pelo algoritmo precedente à forma NAND pura ou NOR pura é uma operação 
direta. Para fazer essa conversão, basta que tenhamos um modo de implementar 
NOT, AND e OR usando um único tipo de porta. A linha superior da Figura 1.4 
mostra como todas essas três podem ser implementadas usando apenas portas 
NAND; a fileira de baixo mostra como isso pode ser feito usando apenas portas 
NOR. (Essas operações são diretas, mas também há outras maneiras.) 
 
Um modo de implementar uma função booleana usando somente portas NAND 
ou somente portas NOR é primeiro seguir o procedimento dado anteriormente 
para construí-la com NOT, AND e OR. Em seguida, substituir as portas de 
múltiplas entradas por circuitos equivalentes usando portas de duas entradas. 
Por exemplo, A + B + C + D pode ser computada como (A + B) + (C + D), 
empregando três portas OR de duas entradas. Por fim, as portas NOT, AND e 
OR são substituídas pelos circuitos da Figura 1.4. 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
13 
 
 
Figura 1.4 Construção de portas (a) NOT, (b) AND e (c) OR usando somente portas NAND ou 
somente portas NOR. 
 
Embora esse procedimento não resulte em circuitos ótimos, no sentido do 
número mínimo de portas, ele mostra que sempre há uma solução viável. Ambas 
as portas, NAND e NOR, são denominadas completas porque qualquer função 
booleana pode ser calculada usando quaisquer das duas. Nenhuma outra porta 
tem essa propriedade, o que é outra razão para elas serem preferidas como 
blocos de construção de circuitos. 
 
1.4. 3.1.4 Equivalência de circuito 
Projetistas de circuitos muitas vezes tentam reduzir o número de portas em seus 
produtos para reduzir a área da placa de circuito interno necessária para 
executá-las, diminuir o consumo de potência e aumentar a velocidade. Para 
reduzir a complexidade de um circuito, o projetista tem de encontrar outro circuito 
que calcule a mesma função que o original, mas efetue essa operação com um 
número menor de portas (ou talvez com portas mais simples, por exemplo, com 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
14 
 
duas em vez de com quatro entradas). A álgebra booleana pode ser uma 
ferramenta valiosa na busca de circuitos equivalentes. 
 
Como exemplo de como a álgebra booleana pode ser usada, considere o circuito 
e a tabela verdade para AB + AC mostrados na Figura 1.5(a). Embora ainda não 
as tenhamos discutido, muitas das regras da álgebra comum também são válidas 
para a booleana. Em particular, a expressão AB + AC pode ser fatorada para 
A(B + C) usando a lei distributiva. A Figura 1.5(b) mostra o circuito e a tabela 
verdade para A(B + C). Como duas funções são equivalentes se, e somente se, 
elas tiverem a mesma saída para todas as entradas possíveis, é fácil ver pelas 
tabelas verdade da Figura 1.5 que A(B + C) é equivalente a AB + AC. Apesar 
dessa equivalência, o circuito da Figura 1.5(b) é claramente melhor do que o da 
Figura 1.5(a), pois contém menos portas. 
 
 
Figura 1.5: Duas funções equivalentes. (a) AB + AC. (b) A(B + C). 
 
 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
15 
 
2. CIRCUITOS LÓGICO DIGITAIS BÁSICOS 
Na prática, poucos circuitos são construídos porta por porta, embora tenha 
havido uma época em que isso era comum. Hoje, os blocos de construção mais 
comuns são módulos que contêm várias portas. Examinaremos esses blocos de 
construção mais de perto e veremos como eles podem ser construídos com base 
em portas individuais. 
 
2.1. CIRCUITOS INTEGRADOS 
Portas não são fabricadas nem vendidas individualmente, mas em unidades 
denominadas circuitos integrados, muitas vezes denominados ICs ou chips. Um 
IC é um pedaço quadrado de silício de tamanho variado, dependendo de quantas 
portas são necessárias para executar os componentes do chip. Substratos 
pequenos medirão cerca de 2 × 2 mm, enquanto os maiores podem ter até 18 × 
18 mm. ICs costumam ser montados em pacotes retangulares de plástico ou 
cerâmica, que podem ser muito maiores que os substratos que eles abrigam, se 
forem necessários muitos pinos para conectar o chip ao mundo exterior. Cada 
pino se conecta com a entrada ou saída de alguma porta no chip ou à fonte 
de energia, ou ao terra. 
 
A Figura 4.1 mostra uma série de pacotes de IC comuns, usados para os chips 
de hoje. Chips menores, como os usados para microcontroladores domésticos 
ou chips de RAM, usarão pacotes duplos em linha (DIPs – Dual Inline Packages). 
Um DIP é um pacote com duas fileiras de pinos que se encaixam em um soquete 
correspondente na placa-mãe. Os pacotes mais comuns têm 14, 16, 18, 20, 22, 
24, 28, 40, 64 ou 68 pinos. Para chips grandes costumam ser usados pacotes 
quadrados com pinos nos quatro lados ou na parte de baixo. Dois pacotes 
comuns para chips maiores são Pin Grid Arrays, ou PGAs, e Land Grid Arrays, 
ou LGAs. PGAs possuem pinos na parte inferior do pacote, que se encaixam em 
um soquete correspondente na placa-mãe. Soquetes PGA normalmente utilizam 
um mecanismo com força de inserção nula, onde uma alavanca aplica pressão 
lateral sobre todos os pinos do PGA, mantendo-o firmemente no soquete PGA. 
LGAs, por outro lado, possuempequenas plataformas planas na parte inferior do 
chip, e um soquete LGA terá uma capa que se encaixa sobre o LGA e aplica 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
16 
 
uma força para baixo no chip, garantindo que todas as plataformas do LGA 
façam contato com as plataformas do soquete LGA. 
 
 
FIGURA 4.1: Tipos comuns de pacotes de circuito integrado, incluindo um pacote dual-in-line, 
ou DIP (a), PGA (b) e LGA (c). 
 
Como muitos pacotes de IC têm forma simétrica, descobrir a orientação correta 
é um problema constante com a instalação de IC. 
 
• DIPs normalmente têm um entalhe em uma ponta, que combina com uma 
marca corresponde no soquete DIP. 
• PGAs, em geral, possuem um pino faltando, de modo que, se você tentar 
inserir o PGA no soquete incorretamente, o PGA não se encaixará. 
• Como os LGAs não possuem pinos, a instalação correta é imposta 
colocando-se um entalhe em um ou dois lados do LGA, que corresponde 
a um entalhe no soquete LGA. O LGA não entrará no soquete a menos 
que os dois entalhes combinem. 
 
Para todos os efeitos, todas as portas são ideais no sentido de que a saída 
aparece logo que a entrada é aplicada. Na realidade, os chips têm um atraso de 
porta finito que inclui o tempo de propagação de sinal pelo chip e o tempo de 
comutação. Atrasos típicos são de centésimos de picossegundos a alguns 
nanossegundos. 
 
A tecnologia moderna vigente permite colocar mais de 1 bilhão de transistores 
em um chip. Como qualquer circuito pode ser construído com base em portas 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
17 
 
NAND, você bem poderia imaginar que um fabricante poderia produzir um chip 
muito geral que contivesse 500 milhões de portas NAND. Infelizmente, um chip 
como esse necessitaria de 1.500.000.000 pinos. Como o espaço-padrão entre 
pinos é 1 milímetro, um chip LGA teria 38 metros de comprimento para acomodar 
todos esses pinos, o que talvez tivesse um efeito negativo sobre as vendas. É 
claro que a única maneira de tirar proveito da tecnologia é projetar circuitos com 
uma alta relação porta/pino. 
 
 
2.2. CIRCUITOS COMBINATÓRIOS 
Muitas aplicações de lógica digital requerem um circuito com múltiplas entradas 
e múltiplas saídas, no qual as saídas são determinadas exclusivamente pelas 
entradas em questão. Esses circuitos são denominados circuitos combinatórios. 
Nem todos os circuitos têm essa propriedade. Por exemplo, um circuito que 
contenha elementos de memória pode perfeitamente gerar saídas que 
dependem de valores armazenados, bem como de variáveis de entrada. Um 
circuito que esteja executando uma tabela verdade como a da Figura 3(a) é um 
exemplo típico de um circuito combinatório. Nesta seção, examinaremos alguns 
circuitos combinatórios de uso frequente. 
 
• Multiplexadores 
No nível lógico, um multiplexador é um circuito com 2𝑛 entradas de dados, uma 
saída de dados e 𝑛 entradas de controle que selecionam uma das entradas de 
dados. Essa entrada selecionada é dirigida (isto é, roteada) até a saída. A Figura 
4.1 é um diagrama esquemático de um multiplexador de oito entradas. As três 
linhas de controle, A, B e C, codificam um número de 3 bits que especifica qual 
das oito linhas de entrada é direcionada até a porta OR e dali até a saída. Não 
importa qual valor esteja nas linhas de controle, sete das portas AND sempre 
produzirão saída 0; a outra pode produzir ou um 0 ou um 1, dependendo do valor 
da linha de entrada selecionada. Cada porta AND é habilitada por uma 
combinação diferente das entradas de controle. O circuito do multiplexador é 
mostrado na Figura 4.1. 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
18 
 
 
 
FIGURA 4.1: Circuito multiplexador de oito entradas. 
 
Usando o multiplexador, podemos executar a função majoritária da Figura 3(a), 
como mostrado na Figura 4.2(b). Para cada combinação de A, B e C, uma das 
linhas de dados é selecionada. Cada entrada é ligada ou a Vcc (1 lógico) ou ao 
terra (0 lógico). O algoritmo para ligar as entradas é simples: a entrada 𝐷𝑖 é a 
que tem o mesmo valor da linha 𝑖 da tabela verdade. Na Figura 3(a), as linhas 0, 
1, 2 e 4 são 0, portanto, as entradas correspondentes estão aterradas; as linhas 
restantes são 1, portanto, estão ligadas a 1 lógico. Dessa maneira, qualquer 
tabela verdade de três variáveis pode ser executada usando o chip da Figura 
4.1(a). 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
19 
 
 
FIGURA 4.2: (a) Multiplexador com oito entradas. (b) O mesmo multiplexador ligado para calcular 
a função majoritária. 
 
Acabamos de ver como um chip multiplexador pode ser usado para selecionar 
uma das diversas entradas e como ele pode implementar uma tabela verdade. 
Outra de suas muitas aplicações é como um conversor de dados paralelo para 
serial. Colocando 8 bits de dados nas linhas de entrada e então escalonando as 
linhas em sequência de 000 a 111 (binário), os 8 bits são colocados em série na 
linha de saída. Uma utilização típica da conversão paralela para serial é um 
teclado, onde cada acionamento de uma tecla define implicitamente um número 
de 7 ou 8 bits que deve ser enviado por um enlace serial, como USB. 
O inverso de um multiplexador é um demultiplexador, que dirige sua única 
entrada até uma das 2𝑛 saídas, dependendo dos valores das 𝑛 linhas de 
controle. Se o valor binário das linhas de controle for k, é selecionada a saída k. 
 
• Decodificadores 
Como um segundo exemplo, agora vamos examinar um circuito que toma um 
número de 𝑛 bits como entrada e o usa para selecionar (isto é, definir em 1) 
exatamente uma das 2𝑛 linhas de saída. Tal circuito, ilustrado para 𝑛 = 3 na 
Figura 4.3, é denominado decodificador. Para ver como um decodificador pode 
ser útil, imagine uma pequena memória que consiste em oito chips, cada um 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
20 
 
contendo 256 MB. O chip 0 tem endereços de 0 a 256 MB, o chip 1 tem 
endereços de 256 MB a 512 MB e assim por diante. Quando um endereço é 
apresentado à memória, os 3 bits de ordem alta são usados para selecionar um 
dos oito chips. Usando o circuito da Figura 4.3, esses 3 bits são as três entradas, 
A, B e C. 
Dependendo das entradas, exatamente uma das oito linhas de saída, 𝐷0, ..., 𝐷7, 
é 1; o resto é 0. Cada linha de saída habilita um dos oito chips de memória. Como 
só uma linha de saída é colocada em 1, apenas um chip é habilitado. 
 
 
FIGURA 4.3: Circuito decodificador 3 para 8. 
 
A operação do circuito da Figura 4.3 é direta. Cada porta AND tem três entradas, 
das quais a primeira é 𝐴 ou �̅�, a segunda é 𝐵 ou �̅� e a terceira é 𝐶 ou 𝐶̅. Cada 
porta é habilitada por uma combinação diferente de entradas: 
 
𝐷0 por �̅� �̅� 𝐶̅, 
𝐷1 por �̅� �̅� 𝐶, e assim por diante. 
 
 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
21 
 
• Comparadores 
Outro circuito útil é o comparador, que compara duas palavras de entrada. O 
comparador simples da Figura 4.4 toma duas entradas, A e B, cada uma de 4 
bits de comprimento e produz um 1 se elas forem iguais e um 0 se elas não o 
forem. O circuito é baseado na porta XOR (EXCLUSIVE OR), que produz um 0 
se suas entradas forem iguais e um 1 se elas forem diferentes. Se as duas 
palavras deentrada forem iguais, todas as quatro portas xor devem produzir 0. 
Então, pode-se efetuar uma operação OR nesses quatro sinais; se o resultado 
for 0, as palavras de entrada são iguais; caso contrário, não. Em nosso exemplo, 
usamos uma porta NOR como o estágio final para reverter o sentido do teste: 
 
𝐴 𝐵 𝐴 𝑋𝑂𝑅 𝐵 
0 0 0 
0 1 1 
1 0 1 
1 1 0 
 
1 significa igual, 0 significa diferente. 
 
𝐴 ⟹ 𝐴0, 𝐴1, 𝐴2, 𝐴3 
 
𝐴3 𝐴2 𝐴1 𝐴0 
0 0 0 0 
0 0 0 1 
0 0 1 0 
0 0 1 1 
0 1 0 0 
 
𝐵 ⟹ 𝐵0, 𝐵1, 𝐵2, 𝐵3 
 
𝐵3 𝐵2 𝐵1 𝐵0 
0 0 0 0 
0 0 0 1 
0 0 1 0 
0 0 1 1 
0 1 0 0 
 
 
Figura 4.4: Comparador simples de 4 bits. 
 
 
 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
22 
 
2.3. CIRCUITOS ARITMÉTICOS 
Começaremos com um simples deslocador de 8 bits e em seguida veremos 
como são construídos os somadores e, por fim, estudaremos as unidades de 
lógica e aritmética, que desempenham um papel fundamental em qualquer 
computador. 
 
• Deslocadores 
Nosso primeiro circuito aritmético é um deslocador de oito entradas e oito saídas 
(veja a Figura 2.3.1). Oito bits de entrada são apresentados nas linhas D0, ..., 
D7. A saída, que é apenas a entrada deslocada de 1 bit, está nas linhas S0, ..., 
S7. A linha de controle, C, determina a direção do deslocamento, 0 para a 
esquerda e 1 para a direita. Quando o deslocamento for para a esquerda, um 0 
é inserido no bit 7. De modo semelhante, quando o deslocamento for para a 
direita, um 1 é inserido no bit 0. 
 
 
FIGURA 2.3.1: Deslocador esquerda/direita de 1 bit. 
 
Para ver como o circuito funciona, observe os pares de portas AND para todos 
os bits, exceto as portas na extremidade. Quando C = 1, o membro da direita de 
cada par é ligado, passando o bit de entrada correspondente para a saída. Como 
a porta AND da direita está ligada à entrada da porta OR à sua direita, é 
executado um deslocamento para a direita. Quando C = 0, o membro da 
esquerda do par da porta AND é ligado, o que provoca um deslocamento para a 
esquerda. 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
23 
 
 
 
 
 
 
 
• Somadores 
 
 
 
 
 
 
Um computador que não possa somar números inteiros é quase inimaginável. 
Por consequência, um circuito de hardware para efetuar adição é uma parte 
essencial de toda CPU. A tabela verdade para adição de inteiros de 1 bit é 
mostrada na Figura 2.3.2(a). Há duas saídas presentes: a soma das entradas, A 
e B, e o transporte (vai-um) para a posição seguinte (à esquerda). Um circuito 
para calcular o bit de soma e o de transporte é ilustrado na Figura 2.3.2 (b). Esse 
circuito simples é conhecido como um meio-somador. 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
24 
 
 
Figura 2.3.2: (a) Tabela verdade para adição de 1 bit. (b) Circuito para um meio-somador. 
 
Embora um meio-somador seja adequado para somar os bits de ordem baixa de 
duas palavras de entrada de múltiplos bits, ele não servirá para uma posição de 
bit no meio da palavra porque não trata o transporte de bit da posição à direita 
(vem-um). Em seu lugar, precisamos do somador completo da Figura 2.3.2. Pela 
inspeção do circuito, deve ficar claro que um somador completo é composto de 
dois meios-somadores. A linha de saída Soma é 1 se um número ímpar A, B e o 
vem-um (carry in) forem 1. O vai-um (carry out) é 1 se A e B forem ambos 1 
(entrada esquerda para a porta or) ou se exatamente um deles for 1 e o bit de 
vem-um (carry in) também é 1. Juntos, os dois meios-somadores geram a soma 
e também os bits de transporte. 
 
Para construir um somador para palavras de 16 bits, por exemplo, basta repetir 
o circuito da Figura 2.3.2(b) 16 vezes. O vai-um de um bit é usado como vem-
um para seu vizinho da esquerda. O vem-um do bit da extrema direita está ligado 
a 0. Esse tipo de somador é denominado somador de transporte encadeado 
porque, na pior das hipóteses, somando 1 a 111...111 (binário), a adição não 
pode ser concluída até que o vai-um tenha percorrido todo o caminho do bit da 
extrema direita até o da extrema esquerda. Também existem somadores que 
não têm esse atraso e, portanto, são mais rápidos – em geral, são os preferidos. 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
25 
 
Como exemplo simples de um somador mais rápido, considere subdividir um 
somador de 32 bits em uma metade inferior e uma metade superior de 16 bits 
cada. Quando a adição começa, o somador superior ainda não pode trabalhar 
porque não sabe qual é o vem-um por 16 tempos de adição. 
 
 
Figura 2.3.2: Tabela verdade para somador completo. (b) Circuito para um somador completo. 
 
Contudo, considere essa modificação no circuito. Em vez de uma única metade 
superior, vamos dar ao somador duas metades superiores em paralelo 
duplicando o hardware da metade superior. Desse modo, agora o circuito 
consiste em três somadores de 16 bits: uma metade inferior e duas metades 
superiores, U0 e U1 que funcionam em paralelo. Um 0 é alimentado em U0 como 
vai-um; um 1 é alimentado em U1 como vai-um. Agora, ambos podem iniciar ao 
mesmo tempo do que a metade inferior, mas somente um estará correto. Após 
16 tempos de adição de bits, já se saberá qual é o vem-um que deve ir para a 
metade superior, portanto, agora já se pode selecionar a metade superior correta 
com base em duas respostas disponíveis. Esse estratagema reduz o tempo de 
adição por um fator de dois. Um somador como esse é denominado somador de 
seleção de transporte. Então, o estratagema pode ser repetido para construir 
cada somador de 16 bits com base em somadores de 8 bits repetidos e assim 
por diante. 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
26 
 
 
• Unidades lógica e aritmética 
Grande parte dos computadores contém um único circuito para efetuar AND, OR 
e soma de duas palavras de máquina. No caso típico, tal circuito para palavras 
de n bits é composto de n circuitos idênticos para as posições individuais de bits. 
A Figura Figura 2.3.3 é um exemplo simples de um circuito desses, denominado 
unidade lógica e aritmética (ULA) (Arithmetic Logic Unit – ALU). Ela pode calcular 
qualquer uma das quatro funções: 
 
𝐴 and 𝐵, 𝐴 or 𝐵, �̅� ou 𝐴 + 𝐵, 
 
dependendo de as linhas de entrada de seleção de função 𝐹0 e 𝐹1 conterem 00, 
01, 10 ou 11 (binário). Note que, aqui, 𝐴 + 𝐵 significa a soma aritmética de 𝐴 e 
𝐵, e não a operação booleana OR. 
 
O canto inferior esquerdo de nossa ULA contém um decodificador de 2 bits 
para gerar sinais de enable (habilitação) para as quatro operações, com 
base nos sinais de controle 𝐹0 e 𝐹1. Dependendo dos valores de 𝐹0 e 𝐹1, 
exatamente uma das quatro linhas de habilitação é selecionada. Ativar essa linha 
permite que a saída para a função selecionada passe por ela até a porta OR 
final, para saída. 
 
O canto superior esquerdo contém a lógica para calcular 𝑨 AND 𝑩, 𝑨 OR, 𝑩 
e �̅�, mas no máximo um desses resultados é passado para a porta or final, 
dependendo das linhas de habilitação que saem do decodificador. Como 
exatamente uma das saídas do decodificador será 1, exatamente uma das 
quatro portas AND que comandam a porta OR será habilitada; as outras três 
resultarão em 0, independente de 𝐴 e 𝐵. 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. RicardoTadeu Ferracioli 
 
27 
 
 
Figura 2.3.3: ULA de 1 bit. 
 
Além de poder usar A e B como entradas para operações lógicas ou aritméticas, 
também é possível forçar quaisquer delas para 0 negando ENA ou ENB, 
respectivamente. Também é possível obter �̅� ativando INVA. Em condições 
normais, ENA e ENB são ambas 1 para habilitar ambas as entradas e INVA é 0. 
Nesse caso, A e B são apenas alimentados na unidade lógica, sem modificação. 
 
O canto direito inferior da ULA contém um somador completo para calcular 
a soma de A e B, incluindo manipulação de transportes (vai-um e vem-um), 
porque é provável que, em seu devido tempo, vários desses circuitos serão 
ligados juntos para efetuar operações de palavra inteira. Na verdade, existem 
circuitos como o da Figura 2.3.3 que são conhecidos como segmentos de bits 
(bit slices). Eles permitem que o projetista do computador monte uma ULA da 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
28 
 
largura que quiser. A Figura 2.3.4 mostra uma ULA de 8 bits montada com 8 
segmentos (slices) de ULA de 1 bit. O sinal inc só é útil para operações de 
adição. Quando presente, aumenta o resultado (isto é, soma 1 a ele), 
possibilitando o cálculo de somas como A + 1 e A + B + 1. 
 
 
Figura 2.3.4: Oito segmentos (slices) de ULA de 1 bit conectados para formar uma ULA de 8 
bits. Os sinais de habilitação e inversão não são mostrados por simplicidade. 
 
 
2.4. Clocks 
Em muitos circuitos digitais, a ordem em que os eventos ocorrem é crítica. Às 
vezes um evento deve preceder outro, às vezes dois eventos devem ocorrer 
simultaneamente. Para permitir que os projetistas consigam as relações de 
temporização requeridas, muitos circuitos digitais usam clocks para prover 
sincronização. Nesse contexto, um clock é um circuito que emite uma série de 
pulsos com uma largura de pulso precisa e intervalos precisos entre pulsos 
consecutivos. O intervalo de tempo entre as arestas correspondentes de dois 
pulsos consecutivos é denominado tempo de ciclo de clock. Em geral, as 
frequências de pulso estão entre 100 MHz e 4 GHz, correspondendo a ciclos de 
clock de 10 nanossegundos a 250 picossegundos. Para conseguir alta precisão, 
a frequência de clock normalmente é controlada por um oscilador de cristal. 
Muitos eventos podem ocorrer dentro de um computador durante um único ciclo 
de clock. Se eles devem ocorrer em uma ordem específica, o ciclo de clock deve 
ser dividido em subciclos. Uma maneira comum de prover resolução superior à 
do clock básico é aproveitar a linha de clock primária e inserir um circuito com 
um atraso conhecido, gerando assim um sinal de clock secundário deslocado em 
certa fase em relação ao primeiro, conforme mostra a Figura 2.4.1 (a). O 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
29 
 
diagrama de temporização da Figura 2.4.1(b) dá quatro referências de tempo 
para eventos discretos: 
1. Fase ascendente de C1. 
2. Fase descendente de C1. 
3. Fase ascendente de C2. 
4. Fase descendente de C2. 
Vinculando diferentes eventos às várias fases, pode-se conseguir a sequência 
requerida. Se forem necessárias mais do que quatro referências de tempo dentro 
de um ciclo de clock, podem-se puxar mais linhas da linha primária, com 
diferentes atrasos, se for preciso. 
Em alguns circuitos, estamos interessados em intervalos de tempo em vez de 
instantes discretos de tempo. Por exemplo, pode-se permitir que algum evento 
aconteça toda vez que C1 estiver alto, em vez de exatamente na fase 
ascendente. Outro evento só poderá acontecer quando C2 estiver alto. Se forem 
necessários mais de dois intervalos diferentes, podem ser instaladas mais linhas 
de clock ou pode-se fazer com que os estados altos dos dois clocks se 
sobreponham parcialmente no tempo. No último caso, podem-se distinguir 
quatro intervalos distintos: 𝐶1̅̅̅̅ AND 𝐶2̅̅̅̅ , 𝐶1̅̅̅̅ AND 𝐶2, C1 AND 𝐶2̅̅̅̅ e C1 AND 𝐶2. 
A propósito, clocks são simétricos, com o tempo gasto no estado alto igual ao 
tempo gasto no estado baixo, como mostra a Figura 3.20(b). Para gerar um trem 
de pulsos assimétrico, o clock básico é deslocado usando um circuito de atraso 
e efetuando uma operação AND com o sinal original, como mostra a Figura 2.4.1 
abaixo como C. 
 
Figura 2.4.1: (a) Um clock. (b) Diagrama de temporização para o clock. (c) Geração de um clock 
assimétrico. 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
30 
 
 
3. MEMÓRIAS 
 
3.1. Memórias de 1 bit 
Para criar uma memória de 1 bit (“latch”), precisamos de um circuito que “se 
lembre”, de algum modo, de valores de entrada anteriores. Tal circuito pode ser 
construído com base em duas portas NOR, como ilustrado na Figura 3.1(a). 
Circuitos análogos podem ser construídos com portas NAND, porém, não vamos 
mais mencioná-los porque são conceitualmente idênticos às versões nor. 
 
O circuito da Figura 3.1(a) é denominado latch SR. Ele tem duas entradas, S, 
para ativar (setting) o latch, e R, para restaurá-lo (resetting), isto é, liberá-lo. O 
circuito também tem duas saídas, 𝑄 e �̅�, que são complementares, como 
veremos em breve. Ao contrário de um circuito combinacional, as saídas do latch 
não são exclusivamente determinadas pelas entradas atuais. 
 
 
Figura 3.1: (a) Latch nor no estado 0. (b) Latch nor no estado 1. (c) Tabela verdade para nor. 
 
Para ver como isso ocorre, vamos supor que ambos, S e R, sejam 0, o que é 
verdade na maior parte do tempo. Apenas para polemizar, vamos supor que 𝑄 = 
0. Como Q é realimentado para a porta NOR superior, ambas as suas entradas 
são 0, portanto, sua saída, �̅�, é 1. O 1 é realimentado para a porta inferior que, 
então, tem entradas 1 e 0, resultando em Q = 0. Esse estado é no mínimo 
coerente e está retratado na Figura 3.1(a). 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
31 
 
Agora, vamos imaginar que Q não seja 0, mas 1, com R e S ainda 0. A porta 
superior tem entradas de 0 e 1, e uma saída, �̅�, de 0, que é realimentada para a 
porta inferior. Esse estado, mostrado na Figura 3.21(b), também é coerente. Um 
estado com as duas saídas iguais a 0 é incoerente, porque força ambas as portas 
a ter dois 0 como entrada, o que, se fosse verdade, produziria 1, não 0, como 
saída. De modo semelhante, é impossível ter ambas as saídas iguais a 1, porque 
isso forçaria as entradas a 0 e 1, o que resultaria 0, não 1. Nossa conclusão é 
simples: para R = S = 0, o latch tem dois estados estáveis, que denominaremos 
0 e 1, dependendo de Q. 
 
Agora, vamos examinar o efeito das entradas sobre o estado do latch. Suponha 
que S se torna 1 enquanto Q = 0. Então, as entradas para a porta superior são 
1 e 0, forçando a saída �̅� a 0. Essa mudança faz ambas as entradas para a porta 
inferior serem 0, forçando a saída para 1. Portanto, ativar S (isto é, fazer com 
que seja 1) muda o estado de 0 para 1. Definir R em 1 quando o latch está no 
estado 0 não tem efeito algum porque a saída da porta NOR inferior é 0 para 
entradas de 10 e entradas de 11. 
 
Usando raciocínio semelhante, é fácil ver que definir S em 1 quando em estado 
Q = 1 não tem efeito algum, mas definir R leva o latch ao estado Q = 0. 
Resumindo, quando S é definido em 1 momentaneamente, o latch acaba no 
estado Q = 1, pouco importando seu estado anterior. Da mesma maneira, definir 
R em 1 momentaneamente força o latch ao estado Q = 0. O circuito “se lembra” 
se foi S ou R definido por último. Usando essa propriedade podemos construir 
memórias de computadores.• Latches SR com clock 
Muitas vezes é conveniente impedir que o latch mude de estado, a não ser em 
certos momentos especificados. Para atingir esse objetivo, fazemos uma ligeira 
modificação no circuito básico, conforme mostra a Figura 3.2, para obter um latch 
SR com clock. 
 
http://www.portaleletronica.com.br/
Arquitetura de Computadores 
Nível 0: Lógico Digital – Rev1 
www.portaleletronica.com.br 
Prof. Ricardo Tadeu Ferracioli 
 
32 
 
 
Figura 3.2: Latch SR com clock. 
 
Esse circuito tem uma entrada adicional, o clock, que em geral é 0. Com o clock 
em 0, ambas as portas AND geram saída 0, independentemente de ser S e R, e 
o latch não muda de estado. Quando o clock é 1, o efeito das portas AND 
desaparece e o latch se torna sensível a S e R. Apesar de seu nome, o sinal do 
clock não precisa ser gerado por um clock. Os termos enable e strobe também 
são muito usados para indicar que a entrada do clock é 1; isto é, o circuito é 
sensível ao estado de S e R. 
Até aqui evitamos falar no que acontece quando ambos, S e R, são 1, por uma 
boa razão: o circuito se torna não determinístico quando ambos, R e S, 
finalmente retornam a 0. O único estado coerente para S = R = 1 é 𝑄 = �̅� = 0; 
porém, assim que ambas as entradas voltam para 0, o latch deve saltar para um 
de seus dois estados estáveis. Se quaisquer das entradas cair para 0 antes da 
outra, a que permanecer em 1 por mais tempo vence, porque, quando apenas 
uma entrada for 1, ela força o estado. Se ambas as entradas voltarem a 0 ao 
mesmo tempo (o que é muito improvável), o latch salta aleatoriamente para um 
de seus estados estáveis. 
 
 
 
 
 
 
http://www.portaleletronica.com.br/

Mais conteúdos dessa disciplina