A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Alocação de Registos (exercício) Compiladores João M. P. Cardoso.

Apresentações semelhantes


Apresentação em tema: "Alocação de Registos (exercício) Compiladores João M. P. Cardoso."— Transcrição da apresentação:

1 Alocação de Registos (exercício) Compiladores João M. P. Cardoso

2 Afectação de registos a variáveis: exercício Considerando o código ao lado, determine o número de registos necessário para armazenar as variáveis utilizando o algoritmo left_edge (y2 é a única variável utilizada posteriormente) T1=x*x; T2=a*t1; T3=b*x; T4=t3+c; T5=t4+t2; Y2=t5;

3 Afectação de registos a variáveis: exercício T1=x*x; T2=a*t1; T3=b*x; T4=t3+c; T5=t4+t2; Y2=t5; xt1at2bt3t4ct5y2 1-Tempo de vida das variáveis

4 Afectação de registos a variáveis: exercício T1=x*x; T2=a*t1; T3=b*x; T4=t3+c; T5=t4+t2; Y2=t5; xt1at2bt3t4ct5y2 2-Ordenar segmentos

5 Afectação de registos a variáveis: exercício T1=x*x; T2=a*t1; T3=b*x; T4=t3+c; T5=t4+t2; Y2=t5; xt1at2bt3t4ct5y2 R1 3- Tentar mover, pela ordem de ordenação, segmentos para a coluna do primeiro registo

6 Afectação de registos a variáveis: exercício T1=x*x; T2=a*t1; T3=b*x; T4=t3+c; T5=t4+t2; Y2=t5; xt1at2bt3t4ct5y2 3- Tentar mover, pela ordem de ordenação, segmentos para a coluna do primeiro registo R1 (x)

7 Afectação de registos a variáveis: exercício T1=x*x; T2=a*t1; T3=b*x; T4=t3+c; T5=t4+t2; Y2=t5; xt1at2bt3t4ct5y2 3- Tentar mover, pela ordem de ordenação, segmentos para a coluna do primeiro registo R1 (x,t3)

8 Afectação de registos a variáveis: exercício T1=x*x; T2=a*t1; T3=b*x; T4=t3+c; T5=t4+t2; Y2=t5; xt1at2bt3t4ct5y2 3- Tentar mover, pela ordem de ordenação, segmentos para a coluna do primeiro registo R1 (x,t3,t4)

9 Afectação de registos a variáveis: exercício T1=x*x; T2=a*t1; T3=b*x; T4=t3+c; T5=t4+t2; Y2=t5; xt1at2bt3t4ct5y2 3- Tentar mover, pela ordem de ordenação, segmentos para a coluna do primeiro registo R1 (x,t3,t4,t5,y2)

10 Afectação de registos a variáveis: exercício T1=x*x; T2=a*t1; T3=b*x; T4=t3+c; T5=t4+t2; Y2=t5; xt1at2bt3t4ct5y2 3- Tentar mover, pela ordem de ordenação, segmentos para a coluna do primeiro registo R1 (x,t3,t4,t5,y2) R2 (a)

11 Afectação de registos a variáveis: exercício T1=x*x; T2=a*t1; T3=b*x; T4=t3+c; T5=t4+t2; Y2=t5; xt1at2bt3t4ct5y2 3- Tentar mover, pela ordem de ordenação, segmentos para a coluna do primeiro registo R1 (x,t3,t4,t5,y2) R2 (a,t2)

12 Afectação de registos a variáveis: exercício T1=x*x; T2=a*t1; T3=b*x; T4=t3+c; T5=t4+t2; Y2=t5; xt1at2bt3t4ct5y2 3- Tentar mover, pela ordem de ordenação, segmentos para a coluna do primeiro registo R1 (x,t3,t4,t5,y2) R2R3 (a,t2)

13 Afectação de registos a variáveis: exercício T1=x*x; T2=a*t1; T3=b*x; T4=t3+c; T5=t4+t2; Y2=t5; xt1at2bt3t4ct5y2 3- Tentar mover, pela ordem de ordenação, segmentos para a coluna do primeiro registo R1 (x,t3,t4,t5,y2) R2R3 (b) (a,t2)

14 Afectação de registos a variáveis: exercício T1=x*x; T2=a*t1; T3=b*x; T4=t3+c; T5=t4+t2; Y2=t5; xt1at2bt3t4ct5y2 3- Tentar mover, pela ordem de ordenação, segmentos para a coluna do primeiro registo R1 (x,t3,t4,t5,y2) R2R3R4 (a,t2) (b)

15 Afectação de registos a variáveis: exercício T1=x*x; T2=a*t1; T3=b*x; T4=t3+c; T5=t4+t2; Y2=t5; xt1at2bt3t4ct5y2 3- Tentar mover, pela ordem de ordenação, segmentos para a coluna do primeiro registo R1 (x,t3,t4,t5,y2) R2R3R4 (c) (a,t2) (b)

16 Afectação de registos a variáveis: exercício T1=x*x; T2=a*t1; T3=b*x; T4=t3+c; T5=t4+t2; Y2=t5; xt1at2bt3t4ct5y2 3- Tentar mover, pela ordem de ordenação, segmentos para a coluna do primeiro registo R1 (x,t3,t4,t5,y2) R2 (a,t2) R3 (b) R4 (c) R5 (t1)

17 Afectação de registos a variáveis: exercício Número de registos: 5 R1: (x, t3, t4, t5, y2) R2: (a, t2) R3: (b) R4: (c) R5: (t1) Escreva o código assembly do MIPs de acordo com a afectação de registos a variáveis obtida T1=x*x; T2=a*t1; T3=b*x; T4=t3+c; T5=t4+t2; Y2=t5;


Carregar ppt "Alocação de Registos (exercício) Compiladores João M. P. Cardoso."

Apresentações semelhantes


Anúncios Google