Prévia do material em texto
TÓPICOS AVANÇADOS EM ARQUITETURA DE COMPUTADORES RELAÇÃO DE EXERCÍCIOS No 3 GABARITO 1. Qual dos elementos componentes do formato da representação de um número em ponto flutuante é responsável pelo maior ou menor precisão do número? Resp: a largura do campo Fração (ou Mantissa ou ainda “significando, no padrão IEEE-754) é responsável pelo tamanho da precisão de um número. 2. Por que o tamanho do conjunto de instruções de um processador pode ser um fator de aumento de velocidade de processamento das instruções? Resp: devido a maior ou menor quantidade de componentes eletrônicos (transistores) dentro do decodificador de instrução, que acarretará maior ou menor tempo de decodificação conforme haja mais ou menos instruções no conjunto. Assim, se tivermos 31 a 63 instruções, o campo C.Op. tem 6 bits e o decodificador terá até 6 fios d esaída e gastará um tempo X para indicar 1 entre 64 instruções. Já se o conjunto tiver mais de 128 instruções, o campo C.OP terá mínimo de 8 bits e dverá ter até 256 fios e terá que indicar 1 entre 256 opções (mais tempo, mais fios, maior custo, etc). 3. Cite 3 características que diferenciam a arquitetura RISC da CISC, explicando as diferenças entre elas. Resp: 1. Quantidade de Registradores – máquinas CISC usavam poucos registradores e muito acesso a MP (maior tempo de acesso), enquanto que arquiteturas RISC definem uma grande quantiadde de registradores (os dados não precisam estar sendo buscados frequentemente na MP e sim nos registradores (mais rápidos). 2. Quantidade de instruções – explicado no item anterior 3. Tipo de controle – na CISC usa-se controle por microprogramação e nas RISC controle programado no HW. 4. Considere um processador cujos números podem ser representados em ponto flutuante com o seguinte formato: Sn Se E F 1 bit 1 bit 4 bits 10 bits Base de representação: 2 Mantissa (Fração) – F - normalizada Converter o número decimal - 143 para o formato acima, explicitando o resultado em hexadecimal. Resp: a) Converter o valor decimal 143 para binário: 100011112. Trata-se da parte significativa do número N ou seja a fração (F). b) o número sendo inteiro (143), mesmo binário, não tem F normalizado, pois pelo formato indicado a Fração deve ser um valor entre ½ e 1 (fracionário e com algarismo depois da vírgula sendo 1) c) normalizar a fração, ajustando o expoente de acordo. Como a vírgula em F está mais à direita (número inteiro) e tem que se deslocar para a primeira casa mais à esquerda, deverá ser deslocada 8 casas (divisão por 28). O expoente terá que refletir a multiplicação d emesmo valor (28) para manter o N igual em valor. d) Definir os 4 campos do formato: SN = 1 (-) Associação Carioca de Ensino Superior Centro Universitário Carioca http://www.unicarioca.br/index.php SE = 0 (+) E = 1000 (810) F = 1000111100 N = 1010001000111100. Em hexadecimal será (separando os bits de 4 em 4 a partir da direita): A23C 5. O que significa processador superescalar? Resp: É um tipo de arquitetura de processador onde há mais de um pipeline de execução, permitindo a realização de mais de uma operação simultânea. 6. Cite um inconveniente a ser resolvido com o emprego da técnica pipelining de processamento de ciclos de instruções. Resp: Conflito de acesso a memória (mais de uma acesso em um único barramento); conflito de dependência de dados (uma operação processa um valor que é resultado de outra operação ainda em andamento); conflito de controle (caso de execução de um IF-THEN-ELSE). 7. Por que é desejável que, em um processamento pipeling, a duração de cada estágio deva ser de mesmo valor? Resp: Para que um estágio avançado não tenha que esperar o término do anterior, mais lento. 8. Qual a função do registrador de controle (flags) que recebe bits na saída de uma operação da ULA? Resp: É um registrador especial localizado logicamente na área de processamento, sendo constituido por diversos bits, cada um com uma função específica, que ajuda a interpretação de um processamento. Exemplos desses bits: sinal (sinal resultante da última op. aritmética realizada); overflow (indica se a última op. realizada teve resultado correto (0) ou overflow(1); vai 1 (indica se houve(1) ou não(0) “ vai um” na última operação. E assim por diante. 9. Considere o valor em hexadecimal: E405, 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: Primeiro lugar converte-se o valor em base 16 para base 2: E405 = 1110010000000101 Seguindo o formato definido no enunciado, teremos: Sn = 1-----------------negativo (-) F = 110010000-----0, 11001 Se = 0---------------- positivo (+) E = 00101---------- 510 O número N, segundo a representação básica de ponto flutuante é um produto de F pela potência de E, ou seja: N = - F * 2+E ou N = - 0,11001 * 2+5. Executando a operação, multiplica-se 0,11001 por 25 (desloca-se a vírgula 5 casas para a direita), resultando em: - 110012 ou - 2510 10. Considere um processador cujas instruções de máquina tenham um código de operação de 8 bits e outro processador que tenha instruções com código de operação de 6 bits. Levando em conta somente este fator, qual deles poderá ser classificado como sendo de arquitetura RISC e qual o que poderá ser classificado como CISC? Por que? Resp: Será classificado como CISC o processador cujo código de operação é maior (8 bits), sendo RISC o de menor código (6 bits). A explicação foi dada na resposta do item 2.