Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Federal da Bahia Prova #1 - Arquitetura de Computadores e Circuitos Logicos (MATC90) - 2018/2 Prof. Vinicius Petrucci Nome completo: _____________________________________________________ 1. [2 pontos] Dado o número binário 0b11111111: Se for “unsigned”, qual é o número em decimal? _______255_______ Se for “complemento a dois”, então qual é o número em decimal? _____-1______ 2. [3 pontos] Qual é o intervalo de números inteiros representados por um número binário de n bits? Suas respostas devem incluir expressões que usam 2n Se “unsigned”, o menor valor é ______0__________ e o maior é ______2n - 1_________ Se “complemento a dois”, o menor valor é ____-2n-1____________ e o maior é _____2n-1 - 1__________ Quantos inteiros únicos podem ser representados em cada caso? “unsigned”: ___2n____ “complemento a dois”: __2n___ 3. [2 pontos] Qual é o resultado da operação de negação (em complemento a dois) quando aplicada ao número binário mais negativo que pode ser representado com n bits em complemento a dois? -2 n-1 4. [3 pontos] Considere que temos um número na base 32, com cada posição numérica representada pelos numerais de 0 a 9 mais as letras A (10), B (11), C(12), D(13), E (14), F (15), G (16), H (17), I (18), J (19), K (20), L (21), M (22), N (23), O (24), P (25), Q (26), R (27), S (28), T (29), U (30), and V (31). Converta FUN32 para: Binario: __________011|1111|1101|0111__________________ Hexadecimal: ___________0x3fd7_________________ Decimal: _________3*16 3 + 15*16 2 + 13*16 1 + 7*16 0 = 16343___________________ 5. [10 pontos] Converta as seguintes instruções MIPS para hexadecimal ou vice-versa. Use nomes de registradores quando possível. i) lw $s0, 0($a0) 0x8c900000 ii) 0x02021021 addu $v0 $s0 $v0 6. [30 pontos] O seguinte código C recursivamente soma os elementos em uma array de comprimento n. int32_t sum_arr(int32_t *arr, size_t n) { if (n) { return sum_arr(arr + 1, n – 1) + arr[0]; } return 0; Universidade Federal da Bahia Prova #1 - Arquitetura de Computadores e Circuitos Logicos (MATC90) - 2018/2 Prof. Vinicius Petrucci } Traduza sum_arr para o código MIPS abaixo. Seu código deve seguir todas as convenções de chamada de função e você não pode usar nenhuma pseudo-instrução. Você pode não precisar de todos os espaços em branco. 4. [20 pontos] Considere o código MIPS misterioso descrito abaixo: Universidade Federal da Bahia Prova #1 - Arquitetura de Computadores e Circuitos Logicos (MATC90) - 2018/2 Prof. Vinicius Petrucci 5. [10 pontos] Dê a expressão booleana mais simples para o circuito a seguir em termos de A e B, usando o número mínimo de portas AND, OR e NOT: C = ________A + ~B________________ 6. [20 pontos] Usando o menor número possível de estados, complete a tabela de transição para um FSM (Finite State Machine) que recebe uma entrada com 3 valores: 0, 1 ou 2. A máquina produzirá um 1 quando a soma das entradas vistas até o momento for divisível por 3. Caso contrário deve produzir um 0. Suponha que você não tenha visto nenhum dígito no estado inicial. Você pode não precisar de todos os estados e não deve desenhar estados adicionais. Você deve representar seu FSM usando a tabela à esquerda, a tabela é a única parte que será avaliada. A primeira transição foi preenchida para você.
Compartilhar