Ro'yxatga olish jadvali registrlardan foydalanishni kuzatish imkonini beradi. Unda har bir protsessor registr uchun bir oz mavjud. Agar bu bit o'rnatilgan bo'lsa, registr natija yozilishini kutmoqda. Natija yozilgach, bu bit tozalanadi, bu registrdan foydalanishga imkon beradi. Agar ushbu bit qiymatlari joriy ko'rsatmada qo'llaniladigan barcha registrlar uchun tozalangan bo'lsa, u oldingi ko'rsatmalarning bajarilishini kutmasdan bajarilishi mumkin.
Ro'yxatga olish nomini o'zgartirish - bu registr resurslari tufayli yuzaga keladigan nizolarni kamaytirish uchun apparat usuli. Kompilyatorlar registrlarni u yoki bu qiymatga o'rnatish orqali yuqori darajadagi tillarni montaj kodiga aylantiradilar. Superskalar protsessorda operatsiya oldingi ko'rsatma ushbu registrdan foydalanishni tugatmasdan oldin registrni talab qilishi mumkin. Bu holat ma'lumotlar to'qnashuvi emas, chunki bu operatsiya registrning qiymatini talab qilmaydi, faqat registrning o'zi. Biroq, bu holat registrni bo'shatishdan oldin quvur liniyasini to'xtatishga olib keladi. Ushbu muammoni hal qilish g'oyasi quyidagicha: biz bepul registrni olamiz, uning nomini ko'rsatma parametrlariga mos ravishda o'zgartiramiz va undan kerakli registr sifatida foydalanish bo'yicha ko'rsatma beramiz.
Quvur ichidagi kechikish, shuningdek, aylanish vaqtidan ancha uzoqroq bo'lgan DRAMga kirish vaqtlari bilan ham bog'liq bo'lishi mumkin. Ushbu muammo asosan kesh xotirasi va buyruqni oldindan yuklash buferi (ko'rsatma navbati) yordamida hal qilinadi.
CISC protsessoridagi ko'rsatmalar oqimi tartibsiz va bitta buyruqning bajarilish vaqti (C * T) doimiy bo'lmaganligi sababli, bu holda quvur liniyasi CISC protsessorlarida foydalanish uchun yaroqsiz bo'lgan jiddiy kamchilikka ega: aniqrog'i, bu protsessorning juda kuchli murakkabligi.
RISC protsessorlari dekodlashni tezlashtirish va quvurlarni boshqarishni soddalashtirish uchun barcha ko'rsatmalar uchun bir xil formatdan foydalanadi, shuning uchun barcha ko'rsatmalar bir tsiklda bajariladi.
Ishlashni yanada oshirish usullaridan biri quvur bosqichlarini quvur liniyasidan o'tkazishdir. Bunday protsessorlar super quvurli deb ataladi. Ushbu yondashuv bilan, kesh (pastga qarang) yoki ALU (arifmetik va mantiqiy birlik) kabi har bir quvur liniyasi bosqichi, hatto bu bosqich joriy ko'rsatma bajarilishini tugatmagan bo'lsa ham, har bir tsiklda yangi ko'rsatma olishi mumkin. E'tibor bering, quvur liniyasining yangi darajalarini qo'shish, agar ishlab chiqaruvchi protsessor chastotasini sezilarli darajada oshira olsagina mantiqiy bo'ladi . Biroq, protsessorning ichki chastotasini oshirish orqali ishlashni oshirish bir qator kamchiliklarga ega. Birinchidan, bu protsessorning quvvat sarfini oshiradi, bu esa super quvurli protsessorlarni o'rnatilgan tizimlar uchun yaroqsiz holga keltiradi. Ikkinchidan, bu protsessorni DRAM kabi past darajadagi xotira bilan bog'lashda yangi qiyinchiliklarni keltirib chiqaradi. Ushbu xotira tezligi protsessorlar tezligi kabi tez o'smaydi, shuning uchun protsessor qanchalik tez bo'lsa, u va asosiy xotira o'rtasidagi ishlash farqi shunchalik katta bo'ladi.
Protsessorlarning ishlashini oshirishning yana bir usuli - bir vaqtning o'zida bir nechta operatsiyalarni bajarish. Bunday protsessorlar superskalar deb ataladi. Ular parallel ravishda ishlaydigan ikki yoki undan ortiq ko'rsatma quvurlariga ega bo'lib, ko'rsatmalar oqimini qayta ishlash tezligini sezilarli darajada oshiradi. Superskalar arxitekturaning afzalliklaridan biri protsessor chastotasini oshirmasdan ishlashni oshirish qobiliyatidir. Superscalar protsessor bajarish uchun bir vaqtning o'zida bir nechta ko'rsatmalar guruhini qabul qilishi uchun ko'proq xotiraga kirishni talab qiladi. Dispetcher ushbu guruhlarni tahlil qiladi va ma'lumotlarning o'zaro bog'liqligini kamaytirish va ziddiyatlarni ro'yxatga olish uchun quvurlarning har birini to'ldiradi. Ko'rsatmalarning bajarilishi tartibsiz bo'lishi mumkin, shuning uchun filial ko'rsatmalari avvalroq tahlil qilinadi, agar filial paydo bo'lsa, kechikishlar olib tashlanadi. Kompilyator barcha quvurlar to'ldirilganligini ta'minlash uchun kodni optimallashtirishi kerak.
Bir xil resursni bir nechta ko'rsatmalar bilan talab qilish ularning quvur liniyasi orqali rivojlanishini bloklaydi va kerakli resurs uchun kutish davrlarini kiritishga olib keladi. Agar ko'rsatmalar oqimi ushbu uchta birlikdan bir vaqtning o'zida foydalanishga imkon bersa, uchta ijro birligiga ega superskalar arxitektura to'liq samarali bo'ladi. Ushbu holatni protsessorda minimal xarajatlar bilan ta'minlash uchun mustaqil ravishda ishlaydigan bajaruvchi qurilmalar ajratiladi:
Do'stlaringiz bilan baham: |