SóProvas


ID
5719
Banca
CESGRANRIO
Órgão
EPE
Ano
2006
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Uma máquina possui instruções de 16 bits e endereços de 4 bits. Do conjunto total de instruções, 15 referenciam 3 endereços, 14 referenciam 2 endereços e 16 não apresentam referência a endereço. Qual é o número máximo de instruções que referenciam 1 endereço que esta máquina pode ter?

Alternativas
Comentários
  • Alguem sabe resolver esta questão?Grato.
  • Temos 15 instruções de 3 endereços: Isso significa que de 16 bits eu preciso reservar de 16 bits, 3 endereços de 4 bits cada totalizando 12 bits apenas para endereços. Isso nos deixa com 16 bits - 12 bits = 4 bits para codificar a instrução. 4 bits nos deixaria 2^4 = 16 instruções codificáveis, mas precisamos fazer a distinção de uma instrução de 3, 2 , 1 e 0 endereços e para tal devemos sacrificar um bit da codificação de operação para este fim. Desta forma o bit menos significativo é usado. Suas instruções de 3 endereços serão 0000 ADD1 ADD2 ADD3 até 1110 ADD1 ADD2 ADD3 totalizando 8 instruções.Para o caso de 2 endereços o mesmo raciocínio se aplica. As instruções de 2 endreços serão codificadas como 1111 XXXX ADD1 ADD2 (Repare que todas as instruções começam com 1111, o que as distingue das instruções de 3 endereços). Aqui nos resta 4 bits para codificar as instruções de 2 endereços. Isso nos deixaria 16 instruções de 2 endereços, mas o enunciado diz que existem 14, que em binário é 1110. Logo as instruções de 2 endereços vão de 1111 0000 ADD1ADD2 até 1111 1110 ADD1ADD2. Nos restam 5 bits, 1 do bloco 1110 + 4 do ADD1 para codificar instruções de 1 endereço. Existem 16 instruções sem endreço, o que nos permite perfeitamente arranjá-las em 1111 1111 1111 xxxx. As de 3 endreços tem a cara xxx0 ADD1 ADD2 ADD3; 0000 ADD1 ADD2 ADD3 - 1110 ADD1 ADD2 ADD3As de 2 endreços tem a cara 1111 xxxx ADD1 ADD2; 1111 0000 ADD1 ADD2 - 1111 1110 ADD1 ADD2 (1110 = 14 DO ENUNCIADO)As de 1 endreços tem a cara 1111 111x xxxx ADD1; 1111 1110 0000 ADD1 - 1111 1111 1110 ADD1As DE 0 endreços tem a cara 1111 1111 1111 xxxx; 1111 1111 1111 0000 - 1111 1111 1111 1111Daí vemos que as instruções de 1 endreço tem a cara 1111 111x xxxx ADD1;O bloco x pode variar de 00000 até 11110 que dá 31 instruções.
  • Achei muito boa a resolução do Fernando Mendonça neste link

    http://www.forumconcurseiros.com/forum/archive/index.php/t-206519.html

  • Eu resolvi assim :P

    instrucoes 16 bits
    enderecos d 4 bits
     
    15 referencia 3 endereços
    14 referencia 2 endereços
    16 nao apresentam referen
     
    X = dados
    0XXX ate EXXX - 15
    F0XX ate FDXX - 14
    FE0X ate FFEX - FE0X ate FEFX + FF0X ate FFEX = 16+15 = 31
    FFF0 ate FFFF - 16
  • O exercício fala de Instruções de 16 bits, poderíamos representar 216 instruções diferentes.
    Ainda foi dito que os endereços possuem 4 bits e que que os 216 bits se destinam a representar:
    15 instruções de 3 endereços: das 216 possibilidades, 15 x 24 x 24 x 24 são destinadas a instruções de 3 endereços. Nos sobram: 216 - 15 x 212 = (24-15) 212 = 212 representações.
    14 instruções c/ 2 endereços: das 212 possibilidades, 14 x 24 x 24 são destinadas a instruções de 2 endereços. Nos sobram: 212 - 14 x 28 = 29 representações.
    16 isntruções de 0 endereços: sobram 29 - 16 = 24 (25 - 1).

    Em se tratando de instruções de 1 endereço, 4 bits se dedicam a ele, então: 24 (25 - 1)/ 24 = 31 instruções diferentes referenciando 1 endereço.
    Letra C.