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
Do'stlaringiz bilan baham: |