Baixe o app para aproveitar ainda mais
Prévia do material em texto
2019.1 - TÓPICOS AVANÇADOS EM ARQUITETURA DE COMP UTADORS QUESTIONÁRIO 8 – Tema 8 -Microarquitetura dos Proc essadores -parte 3-Aritmética de Ponto Flutuante-Controle: Tipos e Característica s- vídeos 14-15 (2018.2) e arq slides 25 -26-27 (2019.1) GABARITO 1. O seguinte valor é lido pela unidade de ponto flutuante de um processador: 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 Levando em consideração o seguinte formato de PF com expoente não polarizado: a) Qual é o valor decimal que originou este formato? (despreze parte fracionária do número, se houver alguma) A primeira coisa a fazer é enquadrar os bits mostrados no formato indicado, como se segue: SN SE E F 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 Considerando o formato básico de números em PF ser: N = � F x B+-E então teremos: N = + 0,1000110110 x 2+1000 = + 0, 10001101 x 28 (desprezados os 2 alg mais à direita por serem fracionários) e o valor inteiro será + 10001101 (pois andamos com a vírgula 8 casas para a direita (multiplicando por 28) Passando para decimal tem-se: + 14110 b) Qual é o sinal do número? O sinal é positivo (+), pois o bit de sinal do número é 0. 2. Qual é parte do formato de números em ponto flutuante que é responsável pela precisão do número? Resp: É a mantissa ou fração 3. Considere um processador cujos números podem ser representados em ponto flutuante com o seguinte formato: Sn F SE E 1 bit 10 bits 1 bit 4 bits Base de representação: 2 Associação Carioca de Ensino Superior Centro Universitário Carioca E F SN SE 1 1 4 10 Mantissa (Fração) – F - normalizada Converter o número decimal - 119 para o formato acima, explicitando o resultado em hexadecimal. Resp a) Passar 119 para binário: 1110111 b) Formato de PF: 1110111 x 20 c) Ajustar F para ser normalizado e expoente de acordo. Expoente + 7 d) Campos do formato: Sn = 1 (número é negativo) Se = 0 (expoente é positivo) E = 0111 (valor 7 com 4 bits) F = 1110111000 (completa com zeros o campo de 10 bits) Resultado dentro do formato indicado: 1 1110111000 0 0111 Sn F SE E 4. Considere o valor em hexadecimal: C406, que expressa a representação em ponto flutuante de um determinado número. Considerando que esta representação usa o formato a seguir, calcule qual é o valor decimal desse número. Sn F Se E 1 bit 9 bits 1 bit 5 bits Base de representação: 2 Mantissa (Fração) – F - normalizada Resp: a) converte-se valor hexadecimal para binário: C406 = 1100 0100 0000 0110 b) Enquadra-se os bits no formato indicado Sn F Se E 1 100010000 0 00110 1 bit 9 bits 1 bit 5 bits c) O número será negativo (bit 1 de sinal) e o valor é: N = - 0,100010000 x 2+6 (sinal expoente é 0 (+) e valor 110 = 610 N = - 1000102 (valor inteiro, pois multiplicou-se por 26 – andou a vírgula 6 casas para direita) N = - 3410 5. O que significa a sigla IEEE 754 e para que serve? Resp: É a sigla de um padrão de formato e características de representação de números em computadores em Ponto Flutuante. Foi definida sobre o patrocínio do IEEE _ Instituto de Engenheiros, Eletricistas e Eletrônicos, uma organização para fins científicos. Vem servindo para que a maioria dos fabricantes adotem um padrão único (nem todos seguem) de representação em ponto flutuante e assim, dar maior rapidez a transferência de dados entre máquinas diferentes 6. Faça uma análise do limite de representação de dois tipos de representação de dados numéricos (S/M e Ponto Flutuante). Para esta análise, considere um sistema com palavra de 16 bits e, para ponto flutuante, um expoente cujos valores são representados com 5 bits. Resp: Em Sinal e Magnitude, os números seriam representados com 1 bit de sinal e 15 bits para magnitude. Considerando apenas números inteiros, a faixa de representação seria: - 215 – 1 a + 215 – 1 ou – 32 78410 a -3278310 Em ponto flutuante, o formato compreende sempre 1 bit para sinal do número e 1 para sinal expoente. Os restantes são divididos entre Fração e valor do Expoente, sendo bem mais para Fração (indica a precisão do número) do que expoente. No caso, já foi definido que expoente tem 5 bits, sobrando 9 para Fração (total de 16 bits) A faixa de representação será muito muito maior que a de S/M, pois o expoente pode ser positivo ou negativo e cujo valor de expoente tendo 5 bits, irá de -31 a +31. - 0,99999 x 2+ ou – 31 até + 0, 99999 x 2+ ou - 31 7. Considere que um determinado processador utiliza o método seqüencial de execução de instruções, isto é, uma instrução somente inicia sua execução após o término total da execução da anterior e que este processador executa um ciclo de instrução completo em 4 nanosegundos. Caso se desejasse construir um outro processador que empregasse o método “pipelining” de execução de instruções, quantos estágios ele deveria ter para que se pudesse obter a cada nanosegundo o término do ciclo de uma instrução (considere que todos os estágios terão tempos iguais de duração)? Resp: Ele deveria ter 4 estágios, cada um com 1 ns de duração para se ter uma instrução terminando a cada ns 8. Quando o Pentium 4 foi lançado em 2001, os testes iniciais mostraram um desempenho pior que seu antecessor Pentium III, cuja causa foi atribuída a um pipeline muito longo. Os projetistas tomaram o pipeline de 12 estágios do Pentium III e o fatiaram mais ainda, sendo que cada estágio trabalha muito pouco mas permite ao processador operar com clocks muito altos. (Retirado e adaptado de: < http://arstechnica.com/features/2004/07/pentium-2/1/>. Acesso em 27/10/2015). Considerando que o tempo de execução de um pipeline é dado por T = m * P + (n – 1) * P e considerando a descrição acima, qual é o tempo de execução (T) para 11 (onze) instruções na entrada percorrendo os 20 estágios do Pipeline do Pentium 4, no qual cada estágio possui tempo gasto com valor igual a 1ns? Resp: n = 11 (quantidade de instruções); m = 20 (quantidade de estágios) e P = 1 (tempo) T = 20 * 1 + (11 – 1) * 1 = 20 + 10 = 30 ns 9. Descreva os métodos utilizados para projetar e operar a Unidade de Controle (UC) de um Processador. Resp: A UC pode executar as instruções de dois modos (diretamente por hardware ou por microprograma). Além disso, a realização do ciclo de cada instrução pode ser feita de forma sequencial (uma instrução só inicia execução depois da anterior terminar) ou por pipeline, quando pode ocorrer de haver diversas instruções sendo executadas, embora cada uma em um estágio diferente do ciclo de instrução. 10. O que se entende por um “estágio” durante a execução de processamento do tipo pipeline? Resp: é uma atividade individual de execução, uma parte da execução que é realizada individualmente. Por exemplo, a execução do cilo de instruções d eum determinado processador pode ter um estágio de busca da instrução. Ele é reposnsável por interpretar o endereço contido no CI e dar os passos necessários para localizar a instrução e trazer uma cópia para o processador. 11. O que você entende por conflito de uso de barramento durante a execução de instruções com pipeline? Resp: havendo um único barramento de acesso a memória em um sistema com pipeline, não poderá haver dois acessos asimultâneos, pois o barramento não permite tráfego de mais de um dado de cada vez. Se, por exemplo, acontecer um instante de tempo em que umainstrução está no estágio de busca e outra irá entrar no estágio de buscar operandos (ou escrever resultado), esta última terá que esperar acabar a primeira com usso do barramento para ser executado o estágio. 12. Cite um requisito importante para implementação mais eficiente de processamento com pipeline. Resp: que todos os estágios tenham duração a mais próxima possível da igualdade entre eles. Que haja uma boa quantidade de estágios, de modo a acelerar a passagem de um para outro (sendo muitos estágios, haverá pouca atividade em cada um). 13. Descreva sucintamente como funciona a operação de somar na unidade de PF a seguir, considerando que o processamento se realiza com uso intensivo de pipeline. Resp: Tem-se, por exemplo, dois valores N1 = +M1 * B+E1 e N2 = + M2 * B+E2 e se deseja executar a operação de somar N1 + N2. a) Como os expoentes devem ser iguais em valor (só é possível somar duas potências se expoentes forem iguais) e supondo (para exemplo) que E1 <E2, tipo E1 = 13 e E2 = 16, então, E1 e E2 são armazenados nos latch correspondentes a cada um, assim como M1 e M2. b) Em seguida, iguala-se os valores de E1 com E2 (por exemplo, ambos ficam iguais a 16); E1 cresce 3 unidades) – isso acontece no 1º estágio do pipeline e o expoente fica E; e para que os números não fiquem diferentes, a mantissa (ou fração) M1 é dividida por 23; a vírgula de M1 anda 3 casas para a esquerda – isso acontece no pipeline. c) Os resultados de M1 e M2 (não se alterou) são passados para o latch seguinte (mais abaixo) e E (valor único agora (no exemplo é 16) vai para o latch correspondente abaixo. d) No pipeline seguinte ocorre a soma das mantissas (frações), e o resultado, M, vai para o latch seguinte, abaixo; enquanto que o expoente, E, segue para o latch seguinte mais abaixo; e) Finalmente ocorre a normalização do resultado no pipeline seguinte, ou seja, a virgula de M é deslocada para que o 1º algarismo seguinte a ela ser diferente de zero e E é ajustado correspondentemente. E os novos valores de E e M aparecem nos últimos latch. 14. Uma técnica de hardware permite que o processador (UCP-Unidade Central de Processamento) execute partes diferentes de diferentes instruções de forma paralela. Nessa técnica, as instruções são divididas em etapas e as instruções entram uma por vez no sistema de processamento, que processa simultaneamente as diferentes partes das instruções. Como essa técnica é denominada? Resp: Pipeline 15. Todo processador possui um conjunto de dispositivos, cada um com sua função específica no processamento das instruções. Há uma unidade que é acionada pelo decodificador de instruções e emite os sinais para a ULA executar a devida operação; ela também emite os sinais que irão acionar a busca dos dados que a ULA precisa para executar a referida operação. Qual é este dispositivo? Resp: Trata-se da Unidade de Controle
Compartilhar