SóProvas


ID
1428832
Banca
CESGRANRIO
Órgão
LIQUIGÁS
Ano
2012
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Em um microprocessador hipotético, no qual utiliza-se a representação em complemento a 2, encontra-se uma Unidade Lógica-Aritmética (ULA) capaz de somar e subtrair inteiros de 16 bits fornecendo como resultado um inteiro de 16 bits. A ULA tem dois registros internos para operandos de entrada (ALUx e ALUy) e um registro interno de saída (ALUz), todos de 16 bits. A ULA também atualiza, para cada operação realizada, um registro de 4 bits de FLAGS que inclui:

• 1 bit de overflow (V)
• 1 bit de carry (C)
• 1 bit indicativo de resultado negativo (N) (1 caso o resultado da última operação tenha sido < 0)
• 1 bit indicativo de resultado zero (Z) (1 caso o resultado da última operação tenha sido = 0)

O registro de FLAGS tem, como bit mais significativo, V, seguido pelo C, N e Z. Em um determinado instante, os valores em hexadecimal armazenados em ALUx e ALUy são, respectivamente A000 e 804A. Nesse momento, a Unidade de Controle (UC) do processador envia um sinal de controle acionando a operação de soma da ULA.

Como resultado, o registro de FLAGS conterá, em binários, o valor

Alternativas
Comentários
  • Alguém pode explicar?

  • A000 + 804A    

    1100 0000 0000 0000       

    1000 0000 0100 1100

    __________________________

    0001 0100 0000 0100 1100.   

    bit mais significativo de ambos operando eh 1, entao sao numeros negativos. resultado deu positivo, entao ocorreu overflow! e na ultima operacao 1 + 1  tem carry de 1. nao eh negativo o resultado e nao eh zeroa

    entao flags da ULA : 1100




  • Resolvido por Gustavo Pinto Vilar

    A questão simula um funcionamento básico de um processador: De um lado tempos uma operação em andamento, do outro tempos algumas "lâmpadas" (flags...0 ou 1) que são acesas caso determinada situação aconteça.

     

    A primeira coisa que a questão nos fala é que a notação é em complemento de dois, ou seja, o primeiro bit determinará se o número é positivo (0) ou negativo (1).

    Em seguida nos fornece dois números de 16 bits (operandos) e uma caixa do tamanho de 16 bits para colocarmos o resultado dentro. 

     

    Fala também que existe um painel com 4 lâmpadas.

    A primeira acenderá se o resultado extrapolar a caixinha destinada a caber o resultado, ou seja, foi maior que 16 bits.

    A segunda lâmpada acenderá se no cômputo da operação houver o "vai um". 

    A terceira lâmpada acenderá se o resultado for negativo.

    a quarta lâmpada acenderá se o resultado for menor que zero.

     

    Vamos às contas:

     

    A000 + 804A  = 1204A = 0001 0010 0000 0100 1010.

     

    O resultado é negativo? Não, pois o primeiro bit é "0". Painel de luzes [??0?] (eliminei B e C)

    O resultado é zero? Não, pois existem bits diferentes de zero na representação do número. Painel de luzes [??00].

    Pronto......já sei que o gabarito é letra A, mas vamos adiante.

    Houve "vai um" nas contas? Sim (faça as contas no papel e veja). Painel de luzes [1?00] 

    O resultado coube na caixinha de 16 bits? Não, pois ocupa 20 bits. Painel de luzes [1100]

     

    Dica para concurso: Na prova, tente analisas a questão do último para o primeiro bit (como fiz logo acima), geralmente você mata a questão rápido.