Baixe o app para aproveitar ainda mais
Prévia do material em texto
2020.1 - TÓPICOS AVANÇADOS EM ARQUITETURA DE COMPUTADORS QUESTIONÁRIO 7 – Microarquitetura dos Processadores -parte 2-aritmética de SM e C2-vídeos 22 23-24-25 GABARITO 1. Quais são as vantagens do emprego da aritmética de complemento a 2 sobre sinal e magnitude? Resp: Em C2 só há uma representação para o zero enquanto que em S/M há duas. As operações aritméticas em C2 tem um algoritmos muito mais rápido, pois não envolvem separar e comparar sinais. Além disso, tem custo de implementação mais baixo, pois só há um circuito digital para somar e não separados de soma e subtração como na aritmética com S/M. 2. Porque não é mais empregada a aritmética de ponto fixo para números fracionários? Resp: Por que há uma grande limitação de algarismos disponíveis para parte inteira e parte fracionária quando se usa uma representação com 1 bit de sinal e os demais para o valor, tendo-se que separar uma parte para inteiros e uma parte para fracionários). 3. Qual é o tipo de representação e operação aritmética de números inteiros, que resolve o problema do “complemento de 1”, invertendo-se todos os seus bits e somando-se uma unidade na coluna do bit menos significativo (“vem-um”), no qual o bit da esquerda indica o sinal? Resp: é o da complemento a 2 4. Explique o algoritmo da operação aritmética de SOMAR com números representados em Sinal e Magnitude? Resp: - separa-se os sinais da parte de magnitude e compara-se os sinais das duas parcelas. - se sinais são iguais, realiza-se operação de soma - o sinal do resultado é o das parcelas - se sinais são diferentes, determina-se maior número e registra-se seu sinal - efetua-se operação de subtração (menor subtraído do maior) - sinal do resultado é a do maior parcela 5. Considere um sistema com palavra de 8 bits e os seguintes valores já expressos em complemento a 2: a) 10010000 b) 00011011 c) 11110010 Realizar as operações a seguir, indicando se ocorreu overflow e caso não, qual o valor decimal do resultado? a + b a – c a -b Associação Carioca de Ensino Superior Centro Universitário Carioca http://www.unicarioca.br/index.php Resp a + b a – c = a + c2 de c a – b = a + c2 de b 10010000 10010000 10010000 00011011 00001110 11100101 ------------- --------------- ----------------- 10101011 10011110 01110101 n/ houve ovl n/ houve ovl houve ovl 2 nr neg somam e não S/M= 11010101 S/M = 11100010 pode dar resultado positivo = - 85 = - 98 6. Qual é o valor mais negativo que pode ser representado em Sinal e Magnitude em um sistema com palavra de 10 bits? Resp: - 29 – 1 = - 512 – 1 = -511 (ou 1 1111111112) 7. Qual é o valor mais negativo que pode ser representado em Complemento a 2 em um sistema com palavra de 10 bits? Resp: - 29 = - 512 (ou 1 0000000002) 8. Cite duas características da representação de números em ponto fixo dos computadores atuais. Resp: Utilizam aritmética de complemento a 2. Representam valores com até 64 bits 9. Como são representados valores positivos e negativos em sistemas de computação atuais que operam com aritmética em ponto fixo? Resp: por um bit de sinal na posição mais à esquerda (mais significativo), sendo convencionado que, para valores positivos o bit é 0 e para valores negativos o bit é 1. As operações são realizadas utilizando aritmética de complemento a 2 (C2) e, assim, os valores são também representados em C2. 10. Qual é a faixa limite de representação de números em complemento a 2 em sistemas de computação com palavra de 12 bits? Resp: O limite será - 212 – 1 a + 212 – 1 – 1. Ou seja, - 211 a + 211 – 1 ou – 204810 a + 204710 11. Considerando um sistema de computação que opera com palavra de 10 bits e utiliza aritmética de complemento a 2. Ao realizar uma operação aritmética com 2 números, o resultado apresentado em decimal é -617. Qual sua conclusão sobre esta situação? Resp: A faixa limite de representação em C de números com 10 bits é: - 29 a + 29 – 1 ou seja, de -51210 a + 51110 O valor -617 é mais negativo que – 512 e, assim, o resultado seria overflow. 12. Se uma determinada ULA possui duas entradas para dados, uma saída, outra para registrador de controle e 3 entradas para seu decodificador de operações, mostre quantas possíveis operações podem ser realizadas por esta ULA. Cite, pelo menos, 6 delas. Resp: Se o decodificar de operações tem 3 entradas é porque poderá ter até 8 (23) saídas, cada uma para indicar uma operação diferente entre as 8 possíveis. Exemplos: soma – subtração – multiplicação – divisão – operação AND – operação OR – complemento – deslocamento à direita 13. Quantos números diferentes podem ser manipulados em um sistema que tenha 18 bits de entrada na unidade de cálculo de números inteiros sem sinal? Resp: 262 144 ou 218 = 256K 14. Considere dois números decimais: A = (+28) e B = (+33). Realize as operações Realize as operações considerando um sistema de 8 bits como limite: A – B e A + B Convertendo ANTES os números para representação em C2 e executando as operações com aritmética de C2. Em seguida faça as mesmas operações considerando a representação em aritmética de S/M. Em cada caso, indique se o resultado está correto e se estiver, mostre o valor do resultado também em decimal. Resp: Primeiro os números são convertidos para binário em S/M e posteriormente para C2 (mantem-se o bit de sinal e converte-se a magnitude para C2. Como os números são ambos positivos a representação C2 e S/M é a mesma. A = + 28 = 00011100 (reprs em S/M e C2 é a mesma) e B = +33 = 00100001 (idem) C2 de B é o mesmo que -B ou seja, -33. Nesse caso, troca-se TODOS os bits e soma-se 1 ao resultado. C2 de 00100001 é 11011110 + 1 = 11011111 a) Operações em C2 A - B = A + C2 de B ou seja: 00011100 + 11011111 = 11111011. Como o resultado está em C2, passa-se para S/M e tem-se 10000101 = -510 Realmente, em decimal, A – B = +28 – 33 = -5 ---------------------------------------------- A + B = 00011100 + 00100001 = 00111101 = +61 (não há conversão pois o resultado foi positivo) b) Operações em S/M A – B = 0 0011100 – 0 0100001 A regra é: para operações de subtração, troca-se o bit de sinal do subtraendo e realiza- se o algoritmo da soma. Fica então 0 0011100 + 1 0100001 Pelo algoritmo da soma tem-se: - separar os sinais (eles são , A é 0, positivo e B é 1, negativo) e comparar; - se forem diferentes (é o caso) a operação é subtração; - e o sinal do resultado é igual ao do maior número (B), que é negativo. Sinal do resultado é 1. Subtraindo 0100001 – 0011100 = 00001012 = 510 --------------------------------------- A + B = como ambos os bits de sinal são 0 (iguais) a operação é de soma. Já foi efetuada no item anterior, obtendo-se 00111101 e a magnitude é 61 e sinal 0 de +, o resultado será + 61. 15. Certa UCP (Unidade Central de Processamento) possui registradores aritméticos internos de 32 bits e opera na modalidade de aritmética em complemento a dois (C2). Qual é o menor e o maior número inteiro que pode ser armazenado nesses registradores? Resp: Menor valor binário: 10000000000000000000000000000000 = - 231 Maior valor binário: 01111111111111111111111111111111 = + 231 - 1 16. A operação de computadores digitais é baseada no armazenamento e processamento de dados binários. Diversas convenções são usadas pararepresentar números inteiros e positivos. Com relação à representação em complemento de dois, considere as seguintes afirmações, indicando a(as) VERDADEIRA(s) ou FALSA(s):: I - Assim como a representação sinal-magnitude, o bit mais significativo é usado como bit de sinal, mas os demais bits são interpretados de maneira diferente. ERRADO- os bits de magnitude de valores positivos são interpretados de modo igual a S/M, mas os bits de valores negativos não, pois para se chegar a este valor inverteram-se os valores dos bits da magnitude (de 0 para 1 e de 1 para 0) e somou-se 1 ao resultado. II - A faixa de valores representáveis é 2 n-1 a 2 n-1 - 1 e existe apenas uma representação para o número zero. CORRETO III - Para converter uma representação em outra com maior número de bits, move-se o bit de sinal para a posição mais à esquerda e preenchem-se as novas posições de bit com valor oposto ao do bit de sinal. ERRADO-move-se o bit de sinal para a posição mais à esquerda. Se o bit de sinal é é 0 (positivos), preenche-se as novas posições com 0s. Se o bit de sinal for 1, preenche-se as novas posições com 1s IV - A representação com 8 bits do valor 18 é 11101110, e a do valor +18 é 01101110. ERRADO – no 1º caso o valor decimal é 238 e no 2º caso (bit à esquerda 0, valor positivo e a magnitude são os bits restantes, que, em base 10, correspondem a 110. 17. A representação de números em computadores é feita com a utilização de dígitos binários. Números inteiros podem ser representados em complemento de dois, que têm a particularidade de apresentar assimetria em sua representação: para um dado número de bits, o valor máximo, é sempre maior nos números negativos do que nos números positivos. Explique se esta afirmação é verdadeira ou falsa. Resp: A afirmação é verdadeira, isto é, há um valor a mais negativo em complemento a dois (C2), que não tem correspondente positivo. Isso acontece porque em C2 SÓ HÁ UMA representação para o valor zero, sobrando, assim, o valor mais negativo. Ou seja, para um número com n algarismos, um deles representa o sinal (o mais à esquerda) e n -1 representam a magnitude (tanto para positivos quanto para negativos). E como há apenas uma representação para o zero, sobra um valor, com bit 1 à esquerda (negativo) e a magnitude somente com zeros. - 2n -1 a + 2n – 1 – 1 Para exemplificar, considere-se um limite de 3 algarismos (para não ficar uma tabela muito grande). Nesse caso, n =3 e o total de números a representar (sem considerar sinal) é 8 (23 = 8). Tem-se 1 bit para sinal e 2 bits para magnitude de positivos e negativos. A faixa de representação (ver acima) será: - 22 até + 22 – 1 ou - 4 até + 3 O zero = 000 e se passar para C2 (para se obter um eventual – 0, como em S/M) troca-se todos os bits e soma-se 1. Ficará 111 + 1 = 000 (desprezando-se o vai 1). Ou seja, APENAS UMA representação para zero, diferente de S/M que tem 100 = - 0 e 000 = + 0) Positivos serão: 001 – 010 -011 (mesmos valores de S/M) Negativos são obtidos fazendo-se C2 do valor positivo: + 1 = 001 e – 1 será: 111 (trocados bits e somado 1 ao resultado) +2 = 010 e -2 será: 110 (idem) + 3 = 011 e – 3 será: 101 (idem) Sobrará o valor 100 que corresponde a – 4 (sem correspondente positivo com 3 bits) 100 = -4 101 = -3 110 = -2 111 = -1 000 = 0 001 = +1 010 = +2 011 = +3 Assim, o valor 10000 em C2, representa um valor negativo (bit de sinal =1) e é o mais negativo com 4 bits de magnitude, ou seja, 24 = 16. Será, pois, - 1610 Então, com qualquer quantidade de algarismos, a representação em C2 do valor mais negativo será 1, seguido de x zeros, sendo x a quantidade de algarismos da magnitude.
Compartilhar