Natijalarni saqlash bloki ishlov berilgan yo‘riqnomada ko‘rsatilgan manzilda operativ xotirada ko‘rsatmalarning bajarilish natijasini qayd etishni ta’minlaydi.
Uzilishlar bilan ishlash bloki. Uzilishlar bilan ishlash protsessorning eng muhim vazifalaridan biri bo‘lib, u voqealarga o‘z vaqtida javob berishga, dasturning borishini to‘xtatishga va undan talab qilinadigan harakatlarni bajarishga imkon beradi. Uzilishlar mavjudligi sababli protsessor psevdo-parallel ishlashga qodir, ya’ni ko‘p vazifalarni bajarish deb ataladigan xususiyatiga bog’liq.
Uzilishlarni qayta ishlash quyidagicha amalga oshiriladi. Protsessor har bir ish siklini boshlashdan oldin uzilish so‘rovini tekshiradi. Agar ishlov berish uchun uzilish bo‘lsa, protsessor bajarishi kerak bo‘lgan ko‘rsatmaning manzilini va oxirgi ko‘rsatmani bajargandan so‘ng olingan ma’lumotlarni saqlaydi va uzilishni qayta ishlash funktsiyasini bajarishga o‘tadi.
Uzilishni qayta ishlash funktsiyasi tugagandan so‘ng, unga saqlangan ma’lumotlar stekdan o‘qiladi va protsessor tiklangan vazifani bajarishni davom ettiradi.
Registrlar-ko‘rsatmalar bajarilishining oraliq natijalarini vaqtincha saqlash uchun protsessorning bir qismi bo‘lgan kichik hajmdagi (bir necha yuz bayt) Ultra tezkor operativ xotira (registrlarga kirish kesh xotirasiga kirishdan bir necha baravar tezroq). Protsessor registrlari ikki turga bo‘linadi: umumiy maqsadli registrlar va maxsus registrlar.
Umumiy maqsadli registrlar arifmetik va mantiqiy operatsiyalarni bajarishda yoki qo‘shimcha ko‘rsatmalar to‘plamlarining (MMX, SSE va boshqalar) o‘ziga xos operatsiyalarida qo‘llaniladi.
Maxsus maqsadli registrlarda protsessorning ishlashi uchun zarur bo‘lgan tizim ma’lumotlari mavjud. Bunday registrlarga, masalan, boshqaruv registrlari, tizim manzillari registrlari, disk raskadrovka registrlari va boshqalar kiradi.
Buyruqlar hisoblagichi-protsessor keyingi ish siklida bajarishni boshlaydigan buyruqning manzilini o‘z ichiga olgan registr hisoblanadi.
Qayta ishlangan ko‘rsatmalar turlariga va ularni qanday bajarilishiga qarab, protsessorlar bir nechta guruhlarga bo‘linadi:
klassik CISC protsessorlariga;
qisqartirilgan buyruqlar to‘plamiga ega RISC protsessorlari uchun;
minimal buyruqlar to‘plamiga ega bo‘lgan MISC protsessorlari uchun;
VLIW protsessorlarida juda uzoq buyruqlar to‘plami mavjud.
CISC (Complex instruction set computer) – bu murakkab buyruqlar to‘plamiga ega protsessorlar. CISC arxitekturasi quyidagilar bilan tavsiflanadi:
murakkab va ko‘p qirrali ko‘rsatmalar;
turli xil ko‘rsatmalarning katta to‘plami;
ko‘rsatmalarning aniqlanmagan uzunligi;
manzil rejimlarining xilma-xilligi.
Tarixga nazar tashlaydigan bo‘lsak, CISC arxitekturasiga ega protsessorlar birinchi bo‘lib paydo bo‘lgan va ularning paydo bo‘lishi birinchi kompyuterlarning umumiy rivojlanish tendentsiyasiga bog’liq edi. Kompyuterlar yanada funktsional va shu bilan birga dasturlash uchun sodda bo‘lishga harakat qilishdi. Tabiiyki, dastlab dasturchilar uchun har bir funktsiyani butun alohida dastur bilan amalga oshirishdan ko‘ra keng buyruqlar to‘plamiga ega bo‘lish qulayroq edi. Natijada, dasturlar hajmi sezilarli darajada kamaydi va shu bilan birga dasturlashning murakkabligi ortdi.
Biroq, bu holat uzoq davom etmadi. Birinchidan, yuqori darajadagi tillarning paydo bo‘lishi bilan mashina kodlari va assemblerda to‘g’ridan-to‘g’ri dasturlash zarurati yo‘qoldi, ikkinchidan, vaqt o‘tishi bilan turli xil buyruqlar soni sezilarli darajada oshdi va ko‘rsatmalarning o‘zi murakkablashdi. Natijada, aksariyat dasturchilar asosan eng murakkab ko‘rsatmalarni e’tiborsiz qoldirib, ma’lum bir ko‘rsatmalar to‘plamidan foydalanganlar.
Natijada, dasturchilar endi keng ko‘rsatmalar to‘plamidan unchalik foyda ko‘rmadilar, chunki dasturlarni kompilyatsiya qilish avtomatik bo‘lib qoldi va protsessorlarning o‘zlari murakkab va xilma-xil ko‘rsatmalarni asta-sekin qayta ishladilar, asosan ularni dekodlash bilan bog’liq muammolar tufayli.
Bundan tashqari, protsessorlarni ishlab chiquvchilar yangi murakkab ko‘rsatmalarni kamroq disk raskadrovka qildilar, chunki bu ko‘p vaqt talab qiladigan va murakkab jarayon edi. Natijada, ularning ba’zilarida xatolar bo‘lishi mumkin.
Va, albatta, ko‘rsatmalar qanchalik murakkab bo‘lsa, ular qancha ko‘p harakatlarni amalga oshirsa, ularni parallel ravishda bajarish shunchalik qiyin bo‘ladi va shunga mos ravishda ular protsessor quvurini shunchalik samarali yuklaydilar.
Biroq, bu vaqtga kelib, CISC arxitekturasiga ega protsessorlar uchun juda ko‘p sonli dasturlar ishlab chiqilgan edi, shuning uchun printsipial jihatdan yangi arxitekturaga o‘tish iqtisodiy jihatdan foydasiz edi, hatto protsessorning ishlashida g’alaba qozondi.
Shuning uchun kelishuv qabul qilindi va CISC Intel486DX dan boshlangan protsessorlar RISC yadrosi yordamida ishlab chiqarila boshlandi. Ya’ni, ijro etilishidan oldin, murakkab CISC ko‘rsatmalari oddiy RISC ichki ko‘rsatmalar to‘plamiga aylantiriladi. Buning uchun protsessor yadrosi ichida joylashgan ROM – da yozilgan mikrokommandlar to‘plamlaridan foydalanish bitta murakkab ko‘rsatma bilan bir xil harakatlarni birgalikda bajaradigan bir qator oddiy ko‘rsatmalar bo‘ladi.
Do'stlaringiz bilan baham: |