Você está na página 1de 2

Exercícios Processador RISC

1 - Um processador RISC é implementado em duas versões de organização síncrona: uma

monociclo, em que cada instrução executa em exatamente um ciclo de relógio, e uma versão pipeline de 5 estágios. Os estágios da versão pipeline são: (1) busca de instrução, (2) busca de operandos, (3) execução da operação, (4) acesso à memória e (5) atualização do banco de

registradores. A frequência máxima de operação das organizações foi calculada em 100 MHz para a versão monociclo e 400 MHz para a versão pipeline. Um programa X que executa 200 instruções é usado para comparar o desempenho das organizações. Das 200 instruções, apenas 40% fazem acesso à memória, enquanto as demais operam apenas sobre registradores internos da organização. Assuma que o programa não apresenta nenhum conflito de dados ou de controle entre instruções que podem estar simultaneamente dentro do pipeline da segunda organização. Assim, o tempo de execução do programa X nas organizações monociclo e pipeline é, respectivamente:

a)

2.000 nanossegundos e 510 nanossegundos.

b)

2.000 nanossegundos e 500 nanossegundos.

c)

2.000 nanossegundos e 2.300 nanossegundos.

d)

2.300 nanossegundos e 500 nanossegundos.

e)

2.300 nanossegundos e 510 nanossegundos.

2

- Assuma que um programa tem um profile de execução onde 85% das instruções são simples (tais

como AND, XOR, ADD e BRANCH) e os 15% restantes são instruções complexas (tais como MUL e DIV). Adicionalmente, considere que as instruções simples precisam de 2 ciclos de máquina e as complexas precisam de 12 ciclos em uma máquina CISC (cada ciclo = 10 ns). Em uma máquina RISC, as instruções simples serão executadas em 1 ciclo, enquanto que as instruções complexas deverão ser simuladas por software necessitando, em média, 20 ciclos por instrução. Devido a sua simplicidade, o tempo de ciclo em uma máquina RISC é de 8 ns. Considere também que o programa precisou de 100.000.000 instruções para ser completado. Qual o tempo gasto em segundos na execução desse programa, respectivamente, nas máquinas CISC e RISC?

A) 1 e 0,8

B) 3,5 e 3,08

C) 10 e 12,8

D) 8,5 e 1,5

E) 14 e 16,8

3 - Computador com um Conjunto Reduzido de Instruções (RISC) é uma linha de arquitetura de processadores que favorece um conjunto simples e pequeno de instruções que levam aproximadamente a mesma quantidade de tempo para ser executadas. São consideradas características típicas da organização RISC:

(A)

oferecer suporte para linguagens de alto nível e facilitar o desenvolvimento de compiladores.

(B)

prover o computador com um conjunto complexo de instruções e melhorar a execução de

programas.

(C)

manter poucos registradores e ter registradores especializados.

(D)

otimizar o pipeline de instrução e apresentar um conjunto limitado de instruções com formato

fixo.

(E) dispor grande conjunto de instruções e apresentar vários modos de endereçamento.

4 Se um buffer de circular de registradores for usado para manipular variáveis locais para procedimentos aninhados, descreva duas abordagens para lidar com as variáveis globais.

5 Quais são algumas características típicas de uma arquitetura de conjunto de instruções RISC?

6 Considere o seguinte fragmento de código em uma linguagem de alto nível:

for I in 1…100 loop S ← S + VAL(I) end loop;

Suponha que Q é uma matriz de registros de 32 cada e o campo VAL(I) está nos primeiros 4 bytes de cada registro. Usando código x86, podemos compilar este fragmento de programa da seguinte maneira:

LP:

MOV ECX,1 IMUL EAX, ECX, 32 MOV EBX, Q[EAX] ADD S, EBX INC ECX CMP ECX, 101 JNE LP

;use register ECX to hold I ;get offset in EAX ;load VAL field ;add to S ;increment I :compare to 101 ;loop until I = 100

Este programa faz uso da instrução IMUL, que multiplica o segundo operando pelo valor imediato no terceiro operando e coloca o resultado no primeiro operando. Um defensor do RISC gostaria de demonstrar que um compilador inteligente pode eliminar instruções desnecessariamente complexas como IMUL. Forneça a demonstração reescrevendo o programa x86 acima sem usar a instrução IMUL.

7 - Uma implementação SPARC tem K janelas de registradores. Qual é o número N de

registradores físicos considerando que cada janela tem 24 registradores divididos em 8 registradores

para passagem de parâmetros e 8 registradores para variáveis locais?