Faculdade de talentos humanos – FACTHUS

Sistemas de informação.

Arquitetura e organização de computadores

CICLO DE INSTRUÇÃO

Trabalho em sala

Valor: 4 pontos


Exercício 1:
Numa máquina de 2 operandos, a MP tem 256 células com 20 bits, o RDM tem 20 bits e cada instrução ocupa 1 célula. Em seu conjunto de instruções, o código binário 6 tem o seguinte significado:
6 => ADD Op1, Op2 ==> (Op1) <---- (Op1) + (Op2) - soma o conteúdo da posição de memória indicada em Op1 com o conteúdo da posição de memória indicada em Op2 e coloca o resultado na posição de memória indicada em Op1.
Mostre o conteúdo dos registradores da UCP e das posições de memória que se alterarem após a execução da instrução dada.

Mapa da memória:

ENDEREÇO

MP (T1)

10

6B2B3

....

.....

B2

03210

B3

04591

....

.....

 

Exercicio 2:
Máquina com Instruções de 3 operandos
Resolver a expressão: X = A * (B + C * D - E/F)

Conjunto de Instruções:
ADD X,A,B ===> (X) <--- (A) + (B) => soma conteúdo das posições de memória A e B e coloca o resultado em X
SUB A
,B,X ===> (X) <--- (A) - (B) => subtrai conteúdo da posição de memória B da A e coloca o resultado em X
MULT A
,B,X ===> (X) <--- (A) * (B) => multiplica conteúdo das posições de memória A e B e coloca o resultado em X
DIV A
,B,X ===> (X) <--- (A) / (B) => divide conteúdo da posição de memória A pela B e coloca o resultado em X


Exercício
3:
Máquina com Instruções de 2 operandos
Resolver a expressão: X = A * (B + C * D - E/F)

Conjunto de Instruções:
ADD X,A ===> (X) <--- (X) + (A) ===> Soma o conteúdo de X e A e coloca o resultado em X
SUB X
,A ===> (X) <--- (X) - (A)
MULT X,A ===> (X) <--- (X) * (A)
DIV X,A ===> (X) <--- (X) / (A)
MOV X,A ===> (X) <--- (A) ==> copia o conteúdo de A para X.

Obs.: observar que, ao não dispor do 3º operando (o qual indica uma terceira posição de memória, onde será colocado o resultado), o conteúdo do 1º operando é sobrescrito (portanto, é destruído) pela instrução, pois o resultado vai para ele; desta forma, é necessário uma outra instrução, para mover o conteúdo de uma posição de memória para outra posição, de forma a permitir salvar o conteúdo de uma variável e também mover o resultado, se necessário:


Exercício 4:
Máquina com Instruções de 1 operando
Resolver a expressão: X = A * (B + C * D - E/F)

Conjunto de Instruções:
ADD X ==> ACC <--- ACC + (X) ==> soma os conteúdos do acumulador e de X e coloca o resultado no acumulador.
SUB X ==> ACC <--- ACC - (X)
MPY X ==> ACC <--- ACC * (X)
DIV X ==> ACC <--- ACC / (X)
LOAD X ==> ACC <---- (X) ==> carrega o conteúdo de X no acumulador
STORE X ==> (X) <--- ACC ==> salva o conteúdo do acumulador na posição de memória X.