Você está na página 1de 3

P2 AORG

1) Responda ou complete as frases de forma correta:


a. Qual é o registrador cujo conteúdo indica o endereço da próxima instrução a
ser executada pela CPU? CI controlador de instruções.
b. O RI é o registrador de instruções e tem como função instrução que será
executada e deve ter o mesmo tamanho que o registrador de dados de
memória.
c. O componente de um processador que determina o período de duração de
cada uma das atividades e controla o sincronismo entre elas é o clock
(relógio).
2) Descreva o ciclo básico de execução de uma instrução indicando o valor dos
registradores em cada fase. Utilize como exemplo a instrução abaixo na posição 300
de memória. Suponha endereçamento direto e que o conteúdo da posição 600 de
memória é 25.
SUB 600
1) Fetch de instrução
REM = CI 300
Sinal de controle de memória
RDM = M(REM) 300
RI = RDM SUB 600
CI = CI (300) + 1
2) Fase de decodificação da instrução
3) Fetch do operando
REM = RI 600 (parte do endereço)
Sinal de controle ler memória
RDM = M(REM) 600
ACC = RDM 25
4) Fase de execução da instrução
5) Escrever o resultado
3) Um computador tem um REM de 16 bits e um barramento de dados de 20 bits.
Possuem instruções de um operando, todas do tamanho de uma célula de memória e
do mesmo tamanho que a palavra. Ele foi adquirido com uma placa de 4K de memória.
Pergunta-se:
a) Qual o tamanho em bits dos registradores: RDM 20 RI 20 CI 16
b) Seria possível aumentar-se a capacidade de armazenamento desta memória? Até
quanto? Por quê?
Sim. Até 64K células. Por que:
REM=16 N=2E = 216 = 26 . 210 = 64K
4) Em um computador que funcione com técnica de pipeline, qual o problema de desempenho
que pode surgir em relação a instruções de desvio condicional (IF)? Quais técnicas são
utilizadas para melhorar este desempenho?
Hazards de Controle: as instruções que já entraram no pipeline podem ser perdidas
caso a execução do programa seja desviada para o ELSE. Duas soluções mais usadas
são:
Busca antecipada de ambas as instruções.
Previsão de desvio (Branch Prediction)
5) Considerando as instruções a seguir, indique a quantidade de ciclos de memória (de leitura e
escrita) despendidos para realizar seu ciclo de instrução completo (inclui a busca da instrução):

ADD Op. R0 = R0 + (Op.) 2 L

ADD Op1,Op2 (Op1) = (op1) + (Op2) 3 L e 1 E

LDA Op. R0 = (Op.) 2 L

SUB Op. (Op.) = R0 + (Op.) 2 L e 1 E

6) Considere um computador com processador que possui um conjunto de 125 instruções e 16


registradores de emprego geral que podem ser usados com registradores base. As instruções
no formato base + deslocamento têm o formato mostrado a seguir:

C.OP. REG.Base Deslocamento

a) Quantos bits deverá ter o campo deslocamento se o processador utilizar


segmentos de 16K?
Segmentos de 16K = 24 . 210 = 214
Portanto deverá ter 14 bits.
b) Quantos bits terá a instrução?
125 instruções = 2qtde bits C.OP. = 27 = 128, então C.OP. = 7 bits
16 Registradores: 16 REG. Base = 24, então REG.Base = 4 bits
Portanto a instrução terá 25 bits ( 7 + 4 + 14).
c) Se cada registrador base indicar o início de cada segmento, qual deverá ser o total
de células desta memória?
Segmentos de 16K = 24 . 210 16 registradores = 24
24 . 210 . 24 = 28 K = 256K = total de células da memória.
7) Indique o Endereço Efetivo e o valor do Dado para a instrução SOMA 100 se
endereçamento for:
End. Conteúdo
100 500
115 200
200 300
315 600
400 115
500 200
a) Indireto EE = 500 Dado = 220
b) Direto EE = 100 Dado = 500
c) Indexado com indexador = 15 EE = 115 Dado = 200
8) A partir da equação abaixo, crie um conjunto de instruções de dois operandos (em
assembler) onde o resultado fica sempre no primeiro operando.
Exemplo: ADD A,B (A) = (A) + (B)
Crie um programa baseado nestas instruções que execute a operação abaixo:

X=A+B*(D–(D*C)+E

MOVE T1,D.
MPY T1,C
SUB D,T1
MPY B,D
ADD B,E
ADD A,B
MOVE X,A

9) Porque um programa compilado utiliza menos memória durante sua execução do que
um programa interpretado?
O interpretador permanece na memória durante toda a execução de um programa
interpretado, pois cada comando precisa dele para ser executado. Dessa forma, um
programa interpretado utiliza mais memória do que um programa compilado.
Em endereçamento por registrador, o endereço mencionado na instrução (ou seja, no
operando) é de um registrador e não de uma posição de memória.

Você também pode gostar