|
5-amaliy ish. Forth stack mashinasi
|
bet | 4/10 | Sana | 12.01.2024 | Hajmi | 35,2 Kb. | | #135582 |
Bog'liq 5-amaliy mashgulotOddiy tarjimonlar
Yig'ilgan mashinalarning ba'zi ko'rsatmalar to'plami qo'shimcha qurilmani to'g'ridan-to'g'ri boshqarish o'rniga, virtual mashinaning talqin qilinishi uchun mo'ljallangan. Virtual stek mashinalari uchun tarjimonlarni tuzish registrlar yoki xotirada saqlanadigan mashinalar uchun tarjimonlarga qaraganda osonroq; xotira manzili rejimlarini qayta ishlash mantig'i ko'plab ko'rsatmalarda takrorlanish o'rniga faqat bitta joyda joylashgan. Stack mashinalari, shuningdek, opkodning ozgina o'zgarishiga ega; bitta umumiy opcod ikkala odatiy holatni va xotira ma'lumotlarini yoki funktsiyani chaqirishni sozlashning noaniq burchak holatlarini boshqaradi. (Ammo kod zichligi ko'pincha bir xil operatsiya uchun qisqa va uzun shakllarni qo'shish orqali yaxshilanadi.)
Operandlarga tezkor kirish
Kodni ochish uchun operand maydonlari mavjud emasligi sababli, stek mashinalari har bir ko'rsatmani va uning operandlarini bir vaqtning o'zida oladi. Stek mashinalari ro'yxatga olish mashinasining operandlarini olish bosqichini o'tkazib yuborishi mumkin . Bundan tashqari, ko'rsatmalarni xotiradan aniq yuklash bundan mustasno, operandlardan foydalanish tartibi ma'lumotlar to'plamidagi operandlardan foydalanish tartibiga o'xshashdir. Shunday qilib, operandlarni stakning yuqori qismida tezkor saqlashda ushlab turish orqali yuqori darajadagi oldindan olish osonlikcha amalga oshiriladi . Masalan, Java optimallashtirilgan protsessor (JOP) mikroprotsessorida stekning eng yaxshi 2 operandlari to'g'ridan-to'g'ri registr faylidan tezroq ma'lumotlarni uzatish sxemasiga o'tadi.
Ma'lumotlarni xotira, tezroq tarjimonlar orqali uzatishni oldini oladi
Tez kirish tarjimonlar uchun ham foydalidir. Ko'pgina ro'yxatdan o'tgan tarjimonlar o'zlarining registrlarini raqamlar bo'yicha ro'yxatlashadi. Ammo xost mashinasi registrlariga indekslangan qatorda kirish mumkin emas, shuning uchun xotira massivi virtual registrlar uchun ajratilgan. Shuning uchun registr tarjimonining ko'rsatmalari hosil bo'lgan ma'lumotlarni keyingi ko'rsatmalarga o'tkazish uchun xotiradan foydalanishi kerak. Bu esa, registr tarjimonlarining nozik texnologiya qoidalari asosida ishlab chiqarilgan mikroprotsessorlarda (masalan, Haswell x86 kabi elektron tezligini oshirmasdan tezroq tranzistorlarda) ancha sekin ishlashiga olib keladi . Ular xotiraga kirish uchun bir necha soat vaqtni oladi, lekin ro'yxatga olish uchun faqat bitta soat tsikli. Ma'lumotlarni uzatish sxemasi bo'lgan stack mashinasida, registr fayli o'rniga stack tarjimonlari xost xotirasi o'rniga stackning bir nechta yuqori operandlari uchun xost registrlarini ajratishi mumkin .
|
| |