Você está na página 1de 2

Exerccios Processador RISC

1 - Um processador RISC implementado em duas verses de organizao sncrona: uma


monociclo, em que cada instruo executa em exatamente um ciclo de relgio, e uma verso
pipeline de 5 estgios. Os estgios da verso pipeline so: (1) busca de instruo, (2) busca de
operandos, (3) execuo da operao, (4) acesso memria e (5) atualizao do banco de
registradores. A frequncia mxima de operao das organizaes foi calculada em 100 MHz para a
verso monociclo e 400 MHz para a verso pipeline. Um programa X que executa 200 instrues
usado para comparar o desempenho das organizaes. Das 200 instrues, apenas 40% fazem
acesso memria, enquanto as demais operam apenas sobre registradores internos da organizao.
Assuma que o programa no apresenta nenhum conflito de dados ou de controle entre instrues
que podem estar simultaneamente dentro do pipeline da segunda organizao. Assim, o tempo de
execuo do programa X nas organizaes 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 execuo onde 85% das instrues so simples (tais
como AND, XOR, ADD e BRANCH) e os 15% restantes so instrues complexas (tais como
MUL e DIV). Adicionalmente, considere que as instrues simples precisam de 2 ciclos de mquina
e as complexas precisam de 12 ciclos em uma mquina CISC (cada ciclo = 10 ns). Em uma
mquina RISC, as instrues simples sero executadas em 1 ciclo, enquanto que as instrues
complexas devero ser simuladas por software necessitando, em mdia, 20 ciclos por instruo.
Devido a sua simplicidade, o tempo de ciclo em uma mquina RISC de 8 ns. Considere tambm
que o programa precisou de 100.000.000 instrues para ser completado. Qual o tempo gasto em
segundos na execuo desse programa, respectivamente, nas mquinas 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 Instrues (RISC) uma linha de arquitetura de


processadores que favorece um conjunto simples e pequeno de instrues que levam
aproximadamente a mesma quantidade de tempo para ser executadas. So consideradas
caractersticas tpicas da organizao RISC:
(A) oferecer suporte para linguagens de alto nvel e facilitar o desenvolvimento de compiladores.
(B) prover o computador com um conjunto complexo de instrues e melhorar a execuo de
programas.
(C) manter poucos registradores e ter registradores especializados.
(D) otimizar o pipeline de instruo e apresentar um conjunto limitado de instrues com formato
fixo.
(E) dispor grande conjunto de instrues e apresentar vrios modos de endereamento.

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

5 Quais so algumas caractersticas tpicas de uma arquitetura de conjunto de instrues RISC?


6 Considere o seguinte fragmento de cdigo em uma linguagem de alto nvel:

for I in 1100 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 cdigo x86, podemos compilar este fragmento de programa da seguinte
maneira:

MOV ECX,1 ;use register ECX to hold I


LP: IMUL EAX, ECX, 32 ;get offset in EAX
MOV EBX, Q[EAX] ;load VAL field
ADD S, EBX ;add to S
INC ECX ;increment I
CMP ECX, 101 :compare to 101
JNE LP ;loop until I = 100

Este programa faz uso da instruo 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 instrues
desnecessariamente complexas como IMUL. Fornea a demonstrao reescrevendo o programa x86
acima sem usar a instruo IMUL.

7 - Uma implementao SPARC tem K janelas de registradores. Qual o nmero N de


registradores fsicos considerando que cada janela tem 24 registradores divididos em 8 registradores
para passagem de parmetros e 8 registradores para variveis locais?

Você também pode gostar