Arquitetura de Computadores
1º Série de Problemas
Unidade de Processamento
1. As saídas dos registos R0, R1, R2, R3 estão ligadas através de multiplexers 4-para-1 à entrada de um quinto registo R4. Os registos tem oito bits. As transferências requeridas são indicadas por quatro variáveis de controlo:
C0: R4R0 C1: R4R1 C2: R4R2 C3: R4R3
As variáveis de controlo são mutuamente exclusivas, ou seja apenas uma das variáveis pode estar ativa em cada instante. Desenhe o hardware que permite implementar este sistema utilizando registos e um banco de
multiplexers com seletor comum. Desenhe a lógica que determina as duas variáveis de seleção do multiplexer e que determina o sinal de load dos registos.
2. Pretende-se projetar um circuito que, a partir do contador da figura, realize as seguintes operações:
CP_H LOAD_L D0 D1 D2 D3 M1[Load] 1, 2D Q0 Q1 Q2 Q3 CTR DIV 16 EN1_L COUNT_H G4 M2[Count] 1,3D [1] [2] [4] [8] 4CT=15 C3/2,4+ 0 1S S Operação 00 deslocamento à direita 01 carregamento em paralelo 10 deslocamento à esquerda 11 Contador
a) Projete o hardware que implementa a funcionalidade pretendida apenas para o bit Q1. Pode utilizar, se necessitar, multiplexers, descodificadores e o mínimo de lógica discreta possível.
3. Dispõe de um somador de 4 bits como o representado na figura, de multiplexers quádruplos de 2 para 1 e de negações. 1 2 0 3 1 0 P
}
Q}
12 0 3 S Operação 0 Soma 1 Subtraçãoa) Projete um circuito que faça a soma ou a subtração de dois operandos de 4 bits, representados em complemento para dois, de acordo com a entrada S.
b) Obtenha, a partir do circuito anterior, os sinais de status: Z (zero), N (negative) e C (Carry).
4. Pretende-se projetar lógica que permita realizar transferências entre 3 registos,
R
1,R
2 e R de 4 bits 3cada um, como o representado na figura.
a) Ligue os três registos sobre um bus comum de modo a que a informação possa ser transferida de acordo com a tabela que se segue:
0 1S S Transferência 00 R2 R1, R3 R1 01 R1R2 10 R1R2,R3 R2 11 R2 Data_in
Pode utilizar buffers tri-state, multiplexers, descodificadores e lógica discreta (o mínimo possível). b) Ligue os registos
R
1 eR
2 sobre um bus comum bus de forma a poder efetuar a transferência deR
1para
R
2 e a troca entre o conteúdo de ambos, utilizando o registo R como buffer. A transferência 3deve ser efetuada em dois períodos do relógio e controlada pela entrada C como se indica de 0
seguida: 1 2 1 R R C : 2 1 1 0 1C Buffer R R R C : , Buffer R C C1 0: 2
5. As seguintes transferências entre registos devem ser executadas em apenas dois ciclos de relógio:
R0R1 R2R3 R4R5 R6R1
R8R3 R9R7 R10R5 R11R1
Qual é o numero mínimo de bus necessários? Assuma que apenas um bus pode ser ligado á entrada de um registo e que qualquer rede ligada á entrada de um registo é um bus. Indique um diagrama de blocos do sistema utilizando registos com entrada-saída bidirecional.
CP_H LOAD_H D0 Q0 D1 Q1 D2 Q2 D3 Q3 M1 C2 1, 2D REG4
6. Projete um circuito aritmético de 4 bits com duas variáveis de seleção,
S
1 e S0, que realize as seguintes operações aritméticas: 0 1S S Cin 0 Cin 1 00 F A(transferência) FA1 (incremento) 01 F B(complemento) F B1 (negação) 10 FAB (soma) FAB1 11 F AB F AB1 (subtração)7. Desenhe uma unidade aritmética com uma variável de seleção S e uma entrada de carry (Cin) e duas entradas de n bits A e B. O circuito gera as seguintes operações aritméticas em conjunto com o carry.
S
Cin 0 Cin 10 F AB (soma) F A1 (incremento) 1 FA1 (decremento) F AB1 (subtração)
Desenhe o diagrama lógico para os dois estágios menos significativos do circuito aritmético, utilizando dois full-adders e lógica discreta.
8. As entradas Xi e Yi de cada full adder num circuito aritmético tem lógica digital especificada pelas funções lógicas:
i
i A
X Yi BiSBiCin,
em que
S
é uma variável de seleção, Cin, é o carry da entrada e Ai e Bi representam os dados de entrada do estágio i.Desenhe o diagrama lógico para os quatro bits do circuito, usando full adders e multiplexers.
Determine qual é a operação aritmética para cada uma das quatro combinações de
S
e de Cin: 00, 01, 10 e 11.9. Utilizando um registo de 4 bits, um contador como o ilustrado na pergunta 1 e um somador como o representado na pergunta 2 projete um circuito que implemente o seguinte:
2 1 1 1R R R C : 1 1 R1R1 C :
10. Projete um circuito combinatório que implemente as seguintes operações lógicas: 0 1S S Operação 00 FAB 01 FA 10 FAB 11 FAB
11. Considere a unidade de processamento (UP) representada na figura, constituída por uma unidade de armazenamento (UA) e uma unidade funcional (UF). A UA é constituída por três registos de 4 bits, R0 a R2, que podem ser utilizados livremente pela UF. A UF é constituída pelo circuito projetado no problema 3 desta série
. Unidade Funcional FS F A B MB Bits de Estado Sel A Sel B Sel D Função Escrita de Reg. Constante MUX A 0 1 MUX B 0 1 MA Unidade de Armazenamento DA AA A B BA D RW palavra de controlo DA AA BA MA MB FS RW
a) Indique a dimensão de cada campo da palavra de controlo. b) Indique a dimensão da saída “bits de estado”.
c) Especifique os valores da palavra de controlo que permitem realizar as seguintes operações:
2 1 1 R R R in Data R R2 0 _
Unidade de Armazenamento é contém registos de 16 bits e implementa as micro-operações descritas por FSUA. A Unidade Funcional implementa as micro-operações descritas por FSUF. As flags (V,N,Z,C) são guardadas num registo na UF.
a) Considera a Unidade de Armazenamento apresentada. Esquematize uma possível solução para implementar esta unidade respeitando a dimensão dos registos e o sinal FSUA.
b) Considere a Unidade Funcional apresentada. Admita que as operações aritméticas descritas na tabela e selecionadas por FSUF são implementadas com recurso a um somador completo de 16 bits e a alguma lógica combinatória adicional para transformar os operandos A e B nas entradas do somador. Determine o bloco de lógica necessário para transformar o bit menos significativo (B0) do operando B na respetiva entrada do somador completo (Y0).
c) Indique a estrutura de uma possível palavra de controlo e exemplifique para o caso de uma micro-operação aritmética e para uma micro-micro-operação lógica.
FW Bits de Estado Unidade Funcional A B FSUF Flags Const. Função Unidade de Armazenamento A AA BA DA DATA FSUA Sel A Sel B Sel D Escrita de Registos B BUS de Dados MB MUX B 0 1 MD MUX D 0 1 DATA_IN (MEM) FW MUX A 0 1 MA UP: Micro-operações na UF e UA
DA, AA, BA FSUF FW FSUA
Função Cod. Função Cod. Função Cod. Função Cod.
R0 00 A 000 Não escreve 0000 Não Escreve 00
R1 01 A + B 001 Guarda C 0001 (RD) = 0 01
R2 10 A - B 010 Guarda Z 0010 (RD) = DATA 10
R3 11 B + 1 011 Guarda N 0100 Não utilizado 11
B - 1 100 Guarda V 1000
SR (B) 101