- Dasturni kompilyatsiya qilish va ishga tushirish bilan bog'liq xarajatlar.
- Ba'zi umumiy xarajatlar choralari
- Dasturni kompilyatsiya qilish va ishga tushirishning haqiqiy xarajatlarini aniqlash murakkab muammodir.
- Berilgan manba dastur uchun optimal maqsadli dasturni topish hal qilib bo'lmaydigan muammodir
- Ko'pgina kichik muammolar NP qiyin.
- yaxshi , ammo maqbul maqsadli dasturlarni ishlab chiqaradigan evristik usullar bilan qoniqishimiz kerak .
- Faraz qilaylik, har bir maqsadli til ko'rsatmasi tegishli xarajatlarga ega.
- Oddiylik uchun biz ko'rsatma narxini bitta va operandlarning manzillash usullari bilan bog'liq xarajatlarni olamiz.
- Ushbu xarajat yo'riqnomaning so'zlardagi uzunligiga mos keladi.
- O'z ichiga olgan manzillash rejimlari
- registrlar nol qo'shimcha xarajatlarga ega,
- xotira joylashuvi yoki ulardagi doimiy bir qo'shimcha narxga ega,
- Ba'zi misollar:
- LD RO, Rl narxi=1
- LD RO, M narxi=2
- LD Rl, *100(R2) qiymati =3
- berilgan kirish bo'yicha maqsadli tilli dasturning narxi - dastur shu kiritish bo'yicha ishga tushirilganda bajariladigan individual ko'rsatmalarning xarajatlari yig'indisi .
- Yaxshi kod yaratish algoritmlari odatdagi kirishlar bo'yicha yaratilgan maqsadli dastur tomonidan bajariladigan ko'rsatmalarning yig'indisini minimallashtirishga intiladi.
Asosiy bloklar va oqim grafiklari - Oqim grafigi : oqim grafigi deb ataladigan uchta manzil bayonotining grafik tasviri .
- Oqim grafigidagi tugunlar hisoblashlarni ifodalaydi .
- Kenarlar nazorat oqimini ifodalaydi .
- Registrni ajratish va ko'rsatmalarni tanlash bo'yicha yaxshiroq ish qilish uchun foydalaniladi .
Asosiy blok:
Asosiy blok - bu ketma-ket iboralar ketma -ketligi bo'lib , unda boshqaruv oqimi boshida kiradi va oxirida to'xtamasdan yoki shoxlanishdan tashqari faqat oxirida chiqib ketadi.
Do'stlaringiz bilan baham: |