Code Generation


Oddiy ramziy talqin: keyingi foydalanish ma'lumotlari


Download 223.53 Kb.
bet16/19
Sana11.10.2023
Hajmi223.53 Kb.
#1699031
1   ...   11   12   13   14   15   16   17   18   19
Bog'liq
7037035 (1)

Oddiy ramziy talqin: keyingi foydalanish ma'lumotlari

  • Agar x to'rt marta hisoblansa i , va j to'rtlik operand bo'lib , j > i , uning qiymati j gacha saqlanishi kerak (registr yoki xotira) .
  • k, k > i da hisoblansa , i da hisoblangan qiymat boshqa ishlatilmaydi va bekor qilinadi (ya'ni registr qayta ishlatiladi)
  • Keyingi foydalanish ma'lumotlari to'rtlik va belgilar jadvali ustidagi izohdir.
  • To'rtlik ustidan bir orqaga o'tishda hisoblangan.

Keyingi foydalanish uchun hisoblash

  • O'zgaruvchilar holatiga izoh berish uchun belgilar jadvalidan foydalaning
  • To'rtlikdagi har bir operand qo'shimcha ma'lumotga ega:
    • Operand jonliligi (boolean)
    • Operand keyingi foydalanish (keyinchalik to'rt marta )
  • Blokdan chiqishda barcha vaqtinchalik o'lik (keyingi foydalanish yo'q)
  • To'rtlik q uchun : x := y op z;
    • X, y, z ning keyingi qo‘llanilishini to‘rtlik qilib yozing
    • X o'lik deb belgilang (oldingi qiymatda keyingi foydalanish yo'q)
    • y ning keyingi ishlatilishi q ; z ning keyingi ishlatilishi q ; y, z jonli

Asosiy blok bo'yicha ajratishni ro'yxatdan o'tkazing: kuzatish

  • Maqsad registrlar va xotira havolalaridan foydalanishni minimallashtirishdir
  • Ikki tomonlama bog'langan ma'lumotlar tuzilishi:
    • registr uchun joriy tarkibni ko'rsating (o'zgaruvchilar to'plami): registr deskriptori .
    • o'zgaruvchi uchun joriy qiymatning joylashuvini ko'rsating: xotira va/yoki registrlar: manzil deskriptori .
    • Getreg protsedurasi keyingi to'rtlik natijasini ushlab turish uchun "optimal" tanlovni aniqlaydi

Getreg: evristika

  • To'rtlik x uchun := y op z;
    • i da bo'lsa , R i boshqa o'zgaruvchini o'z ichiga olmaydi, y jonli emas va y dan keyingi foydalanish bo'lmasa, R i dan foydalaning
    • j registr mavjud bo'lsa , undan foydalaning
    • , o'lik o'zgaruvchiga ega bo'lgan R k registr mavjud bo'lsa , undan foydalaning
    • i da bo'lsa , R i boshqa o'zgaruvchini o'z ichiga olmaydi va y ham xotirada bo'lsa, R i dan foydalaning .
    • Aks holda, jonli o'zgaruvchiga ega registrni toping, o'zgaruvchini xotirada saqlang (to'kilmasin) va registrdan foydalaning
      • Keyingi foydalanish eng uzoqda bo'lgan o'zgaruvchini tanlang

Download 223.53 Kb.

Do'stlaringiz bilan baham:
1   ...   11   12   13   14   15   16   17   18   19




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling