Você está na página 1de 3

Aula 5

Ilustrar a execuo de um load word.


Resp.: lw $t1, offset ($t2) 1. Uma instruo buscada da memria de instrues e o PC incrementado. 2. Um valor de registrador ($t2) lido no banco de registradores. 3. A ALU calcula a soma do valor lido do banco de registradores com os 16 bits menos significativos com sinal estendido da instruo (offset). 4. A soma da ALU usada como o endereo para a memria de dados. 5. Os dados da unidade de memria so escritos no banco de registradores; o registrador de destino fornecido pelos bits 20:16 da instruo ($t1).

Ilustrar a execuo de um branch-on-equal. beq $t1, $t2, offset 1. Uma instruo buscada da memoria de instruo e o PC incrementado. 2. Dois registradores, $t1 e $t2, so lidos do banco de registradores. 3. A ALU realiza uma subtrao dos valores de dados lidos do banco de registradores. O valor de PC+4 somado aos 16 bits

menos significativos com sinal estendido (offset) deslocados de 2 para a esquerda; o resultado o endereo de destino do desvio. 4. O resultado Zero da ALU usado para decidir o resultado de que somador deve ser armazenado no PC.

Exerccios:
2. Suponha que os tempos de operao para as principais unidades funcionais numa mquina de ciclo nico sejam: Unidades de memria: 200 ps. ALU e somadores: 100 ps. Banco de registradores: 50 ps. _ Considerando que os multiplexadores, a unidade de controle, os acessos do PC, a unidade de extenso de sinal e os fios tm atrasos desprezveis, qual das seguintes implementaes seria mais rpida e por quanto? Uma implementao em que toda instruo opera em um ciclo de clk de uma durao fixa. Uma implementao em que toda instruo executada em 1 ciclo de clk usando um clk de durao varivel, que, para cada instruo, tem apenas a durao necessria. Para comparar o desempenho, considere o seguinte mix de instrues: 25% loads, 10% stores, 45% instrues da ALU, 15% desvios e 5% jumps.

Considerando a instruo load word sendo a mais longa (600ps), essa determina o ciclo de clock para uma mquina com um nico clock para todas as instrues.

Para uma mquina de clock varivel, temos: Ciclo de clock da CPU = 600 x 0,25 + 550 x 0,10 + 400 x 0,45 + 350 x 0,15 + 200 x 0,05 = 447,5ps Da relao: Tempo execuo CPU clock nico / Tempo de execuo CPU clock varivel = 600 / 447,5 = 1,34 Desse modo, conclui-se que a implementao de clock varivel seria 1,34 vezes mais rpida.

4. Qual o CPI de uma CPU multiciclo para o seguinte mix de instrues: 25% de loads, 10% de stores, 11% de branches, 2% de jumps e 52% de ULA. Loads: 5 Stores: 4 Instrues da ULA: 4 Branches: 3 Jumps: 3

CPI = 0,25 x 5 + 0,10 x 4 + 0,52 x 4 + 0,11 x 3 + 0,02 x 3 = 4,12

Você também pode gostar