Você está na página 1de 9

lOMoARcPSD|34579991

Prova - Circuitos Digitais - Solução

Circuítos Digitais (Universidade Federal de Santa Maria)

A Studocu não é patrocinada ou endossada por nenhuma faculdade ou universidade


Baixado por Philipp Hass (philipphass2014@gmail.com)
lOMoARcPSD|34579991

ELC 1112 – Circuitos digitais II – Solução da


segunda prova
Marcos Maruo, Universidade Federal de Santa Maria 5 de julho de 2017

1) Realize as seguintes operações em suas bases originais. Mantenha sua memória de cálculo na
solução. Respostas sem memória de cálculo serão zeradas sumariamente
a) (0,5 ponto) 10100110011100b + 01101000000011b
Basta realizar a operação convencional de soma binária bit-a-bit conforme a tabela abaixo, para a soma
S de dois dígitos binários A e B com carry-out Cout e carry-in Cin
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
em particular, o bit menos significativo (LSB) tem Cin = 0.

Finalmente, basta aplicar a lógica da tabela para cada bit dos operandos.
carry 1 1 1
operando 1 1 0 1 0 0 1 1 0 0 1 1 1 0 0b
operando 2 + 0 1 1 0 1 0 0 0 0 0 0 0 1 1b
resultado 0 0 0 0 1 1 1 0 0 1 1 1 1 1b
b) (0,5 ponto) F9AAH - A087H;
Existem duas soluções simples. Ou realizar a operação de subtração diretamente ou transformar o sub-
trator em seu complemento de 2 e realizar a soma do subtraendo com o complemento de 2 do subtrator.
i) Subtração hexadecimal
F 9 A AH
- A 0 8 7H
5 9 2 3H
Durante a formulação da questão, os dígitos do subtraendo foram propositalmente arbitrados maiores que
os dígitos do subtrator.
ii) Soma hexadecimal
Para determinar o complemento de 1 do subtrator, basta calcular
F F F FH
- A 0 8 7H
5 F 7 8H
e o complemento de 2 é determinado incrementando o complemento de 1

Primeira avaliação escrita 2016/2 Página 1 / 8


Baixado por Philipp Hass (philipphass2014@gmail.com)
lOMoARcPSD|34579991

5 F 7 8H
+ 0 0 0 1H
5 F 7 9H

Finalmente, realiza-se a soma do subtraendo com o complemento de 2 do subtrator


+1 +1 +1 +1
F 9 A AH
+ 5 F 7 9H
5 9 2 3H
c) (0,5 ponto) E75BH / 0042H.
O tratamento da divisão exige a conversão de operandos negativos para seu valor absoluto e o tratamento
posterior dos sinais. O dividendo E75BH é negativo então é necessário converte-lo para seu valor abso-
luto. Para determinar o complemento de 1 do divisor, basta calcular
F F F FH
- E 7 5 BH
1 8 A 4H
e o complemento de 2 é determinado incrementando o complemento de 1
1 8 A 4H
+ 0 0 0 1H
1 8 A 5H
Com os operadores corretamente condicionados, o próximo passo é realizar a divisão
0 0 5 F
0 0 4 2 ) 1 8 A 5
- 1 4 A
0 4 0 5
- 3 D E
0 2 7
Finalmente, basta realizar o complemento de 2 do quociente para ajustar o sinal do resultado pois a divisão
de um número negativo por um positivo resulta em um número negativo.
F F F FH
- 0 0 5 FH
F F A 0H
+ 0 0 0 1H
F F A 1H
Ou seja, a divisão de -6309d = E75BH por 66d = 42H é -95d = FFA1H com resto -39d = FFD9H (com-
plemento de 2 de 0027H).
d) (0,5 ponto) 10011110b × 11000011b.

Primeira avaliação escrita 2016/2 Página 2 / 8


Baixado por Philipp Hass (philipphass2014@gmail.com)
lOMoARcPSD|34579991

Inicialmente, determina-se os complementos de 2 de cada operando negativo

10011110b + 1b = 01100010b
11000011b + 1b = 00111101b

Efetua-se a multiplicação dos valores absolutos de cada operando


0 1 1 0 0 0 1 0
× 0 0 1 1 1 1 0 1
0 1 1 0 0 0 1 0
0 1 1 0 0 0 1 0
0 1 1 0 0 0 1 0
0 1 1 0 0 0 1 0
0 1 1 0 0 0 1 0
0 0 0 1 0 1 1 1 0 1 0 1 1 0 1 0
Como os operandos eram ambos negativos não há necessidade de ajuste do resultado devido aos sinais
dos operandos. Logo o resultado da multiplicação de 10011110b = −98d e 11000011b = −61d é
0001011101011010b = 5978d.
2) Considere que seu projeto precisa de uma memória SRAM de capacidade 4K × 8 bits mas o
almoxarifado de sua empresa dispõe somente de circuitos de SRAM com capacidade 1K × 4 bits
a) (1,0) Projete uma expansão de tamanho de palavra com os circuitos disponíveis. Indique o circuito
da memória equivalente;
A primeira parte da solução requer uma memória equivalente com capacidade 1K × 8 bits. Utilizando a
convenção de pinos de dados na parte inferior do circuito integrado, pinos de endereço na parte superior
e pinos de controle ao lado esquerdo, a memória desejada é mostrada na figura abaixo

em que a memória desejada é produzida a partir de memórias disponíveis segundo a figura abaixo

na qual os sinais de controle e endereço são repassados diretamente a duas memórias de capacidade
1K × 4 bits e os 4 bits menos significativos de dados são redirecionados aos 4 bits da memória SRAM-0
e os 4 bits mais significativos são redirecionados para a memória SRAM-1.

Primeira avaliação escrita 2016/2 Página 3 / 8


Baixado por Philipp Hass (philipphass2014@gmail.com)
lOMoARcPSD|34579991

b) (1,0) Utilizando as memórias equivalentes do item anterior, produza uma expansão de capacidade
para produzir um circuito equivalente ao da memória RAM com capacidade 4K × 8.
O objetivo é produzir uma memória equivalente com capacidade 4K × 8. Utilizando a mesma convenção
de posicionamento dos pinos, a memória desejada é ilustrada na figura abaixo

Ao contrário da associação anterior, na qual as memórias funcionavam simultaneamente, a expansão de


capacidade utiliza a tabela abaixo para indicar qual é a memória ativa no momento da deteção do strobe
em OE, dependendo do endereço solicitado.
A11 A10 memória ativa
0 0 SRAM - α
0 1 SRAM - β
1 0 SRAM - γ
1 1 SRAM - δ
A seleção da memória é facilmente realizada utilizando portas AND conforme a figura abaixo, na qual
os pinos de endereço A10 e A11 foram posicionados junto às portas lógicas para simplificar o desenho.

Alternativamente, na presença de múltiplos pinos de habilitação da memória, é possível simplificar a


lógica combinacional para a seleção do chip.
3) (3,0) Considere o sistema de memória da Figura 1 no qual os sinais R/W e o sinal de habilitação
do decodificador de 3 para 8 linhas foram omitidos para simplificar o desenho. O sinal de habilitação
do decodificador está permanentemente em nível lógico alto e o sinal R/W do processador é aplicado
diretamente nas memórias SRAM-0 e SRAM-1. O microprocessador que utiliza esse sistema de memória
utiliza 8 bits de dados indicados pelos pinos DB0 até DB7 e 16 bits de endereçamento indicados pelos
pinos AB0 até AB15 . Explique o funcionamento desse sistema de memória e indique o mapa de memória
desse sistema.

Primeira avaliação escrita 2016/2 Página 4 / 8


Baixado por Philipp Hass (philipphass2014@gmail.com)
lOMoARcPSD|34579991

Figura 1: Sistema de memória da questão 3

O sistema de memória principal da questão tem 16 bits de endereços nos quais os 8192 endereços me-
nos significativos endereçam uma memória de somente-leitura (ROM-0). Os 8192 endereços seguintes
realizam o acesso a uma memória de acesso aleatório estática (SRAM-0). Os próximos 2048 endereços
correspondem a uma memória de acesso aleatório estática (SRAM-1). Devido a essa memória ignorar
o conteúdo dos bits de endereço AB11 e AB12 essa parcela de memória se espelha nos próximos 6144
endereços. O restante dos endereços possivelmente são utilizados para acesso de meória de massa e
interface com outros dispositivos.

i) ROM-0: A ROM-0 é acessada quando AB13 = AB14 = AB15 = 0. Representando os endereços


correspondentes a essa memória em notação binária, observa-se
AB15 AB14 AB13 AB12 AB11 AB10 AB9 AB8 AB7 AB6 AB5 AB4 AB3 AB2 AB1 AB0
0 0 0 X X X X X X X X X X X X X
ou seja, os endereços na faixa 0000H-1FFFH correspondem à memória ROM-0.
ii) SRAM-0: A SRAM-0 é acessada quando AB13 = 1 e AB14 = AB15 = 0. Novamente, representando
os endereços correspondentes a essa memória em notação binária, observa-se
AB15 AB14 AB13 AB12 AB11 AB10 AB9 AB8 AB7 AB6 AB5 AB4 AB3 AB2 AB1 AB0
0 0 1 X X X X X X X X X X X X X
ou seja, os endereços na faixa 2000H-3FFFH correspondem à memória SRAM-0.
iii) SRAM-1: A SRAM-1 é acessada quando AB14 = 1 e AB13 = AB15 = 0. Novamente, representando
os endereços correspondentes a essa memória em notação binária, observa-se
AB15 AB14 AB13 AB12 AB11 AB10 AB9 AB8 AB7 AB6 AB5 AB4 AB3 AB2 AB1 AB0
0 1 0 ? ? X X X X X X X X X X X
ou seja, os endereços na faixa 4000H-5FFFH correspondem à memória SRAM-1. A capacidade da me-
mória é inferior ao intervalo e, devido aos bits de endereço AB11 e AB12 serem desprezados pela SRAM-
1, seu conteúdo será espelhado 3 vezes no sistema de memória
iv) endereços restantes:
Os endereços restantes na faixa 6000H-FFFFH não são utilizados pela memória principal e possivelmente
podem ser utilizados para interfaceamento de outros dispositivos.

Primeira avaliação escrita 2016/2 Página 5 / 8


Baixado por Philipp Hass (philipphass2014@gmail.com)
lOMoARcPSD|34579991

Baseado nas informações coletadas, o mapa de memória desse sistema é indicado na tabela abaixo
Endereço Dispositivo
0000H – 1FFFH ROM-0
2000H – 3FFFH SRAM-0
4000H – 47FFH SRAM-1 (normal)
4800H – 4FFFH SRAM-1 (espelhada 1)
5000H – 57FFH SRAM-1 (espelhada 2)
5800H – 5FFFH SRAM-1 (espelhada 3)
6000H – FFFFH outros dispositivos
4) (3,0) Considere que você dispõe de dois circuitos somadores de 4 bits e uma ampla variedade de
portas lógicas disponíveis. Produza um circuito lógico aritmético que tem como entradas dois algarismos
inteiros de 12 bits e implementa 4 operações, selecionadas por dois três sinais binários OP0 , OP1 e OP2
conforme a Tabela 1.

Tabela 1: Controle do circuito da questão 4


OP0 OP1 OP2 operação
0 0 0 Soma o conteúdo de dois números de oito doze bits A e B
0 0 1 Escreve B na saída de dados
1 0 0 Subtrai B de A (produz em sua saída A − B)
X 1 0 Escreve A na saída de dados

Para que o circuito seja capaz de operar com os dois algarismos de 12 bits, é necessário construir um
terceiro somador de 4 bits. A princípio esse somador não requer um carry-in pois pode ser utilizado na
parcela menos significativa da soma. Contudo, a terceira operação da tabela é uma subtração que pode ser
implementada de maneira bastante simplificada se o somador disponibilizar esse sinal. Na ausência de
requisitos de velocidade de operação, o somador pode ser realizado a partir de somadores completos de
1 bit que tem sinais de entrada Ak , Bk e cink e produzem como sinais de saída coutk e Sk . Considerando
que o somador completo pode ser decomposto em dois meio-somadores pois

Ak + Bk + cink = (Ak + Bk ) + cink

e que não é possível que os dois meio-somadores produzam sinais de carry-out simultaneamente, então
o circuito somador de um bit resultante é mostrado na figura abaixo

Primeira avaliação escrita 2016/2 Página 6 / 8


Baixado por Philipp Hass (philipphass2014@gmail.com)
lOMoARcPSD|34579991

Utilizando uma representação em bloco para o sistema somador de 1 bit

o somador de 4 bits é implementado por

e, analogamente, o somador de 4 bits admite uma representação em bloco

Para operar com 4 bits, basta associar os 3 somadores

Uma vez determinado o circuito do somador, a lógica para a ação de resposta aos sinais de controle é
estabelecida

• O circuito somador implementa diretamente a primeira função desejada (S = A + B);

• Para implementar a segunda função basta forçar todas as entradas Ak = 0 de modo que S =
0 + B = B. Isso pode ser realizado facilmente com uma porta AND em cada entrada Ak ;

• Para implementar a terceira função S = A − B = A + (−B) basta realizar o complemento de 2


de B e adicionar a A. Isso pode ser realizado negando as entradas Bk e forçando c0 = 1;

• Para implementar a quarta função basta forçar todas as entradas Bk = 0 de modo que S = A + 0 =
A.

Finalmente, uma inspeção nos sinais de controle indicam que

• A função de forçar A = 0 ocorre se e somente se OP2 = 1;

• A função de forçar B = 0 ocorre se e somente se OP1 = 1;

• A função de realizar o complemento de 2 de B ocorre quando OP0 = 1.

Primeira avaliação escrita 2016/2 Página 7 / 8


Baixado por Philipp Hass (philipphass2014@gmail.com)
lOMoARcPSD|34579991

Estabelecendo que a prioridade de forçar B = 0 se sobrepõe à prioridade de executar o complemento de


2 de B e considerando que bk indica o k-ésimo bit do dígito B, o circuito que seleciona a entrada correta
Bk é mostrado abaixo

Analogamente, o circuito para produzir a entrada Ak correta a partir do k-ésimo bit de A, ak é mostrado
abaixo

Finalmente, o circuito precisa realizar um incremento em B quando a operação for uma subtração. Essa
operação é realizada arbitrando c0 = 1 quando OP1 = 0 (Operando B habilitado) e OP0 = 1 (operação
de subtração). O circuito resultante é mostrado abaixo.

Primeira avaliação escrita 2016/2 Página 8 / 8


Baixado por Philipp Hass (philipphass2014@gmail.com)

Você também pode gostar