XVII. O‘N OLTI RAZRYADLI KOMPYUTER PROTSESSORINING TUZILISHI O‘n olti razryadli kompyuter protsessorining tuzilishi va qanday ishlashini,
16-razryadli Intel 8088 protsessori misolida ko‘rib chiqamiz. Ushbu protsessorda
ham Intel 8080 (K580BM80) protsessori kabi
PC (Program Counter) – buyruqlar sanagichi registri yoki
IP (Instruction Pointer) –
buyruqlar ko‘rsagichi registri
muhim registrlardan biri hisoblanadi (3.7-rasm)
. Asosiy xotirada, dasturning buyruqlari yoziladigan qismi -
kodlar yoziladigan segment deb ataladi. (rus tilida – kodovыy segment). Kodlar yoziladigan
segmentning maksimal hajmi, 64 Kbaytga teng. Intel 8088 protsessori asosiy
xotirasining maksimal hajmi 1 Mbaytga teng. Bu MS DOS operatsion tizimi uchun
108
mo‘ljallangan xotira edi. MS DOS operatsion tizimining emulyasiyasi hozirgi
kompyuterlarda ham amalga oshirilishi mumkin. 2.5-rasmda 1 Mbaytli xotiraning
tuzilishi keltirilgan edi. Ushbu xotiraga murojaat kilish 64 Kbaytli
segmentlarga murojaat kilish orqali amalga oshiriladi. Asosiy xotiraga, uni segmentlarga bo‘lgan
holda murojaat qilish 16-razryadli 1 Mbayt va undan ko‘proq xajmli asosiy xotiraga
ega bo‘lgan kompyuterlardan boshlangan
Kodlar yoziladigan segmentning boshlang‘ich adresi 1 Mbaytli xotira
chegarasida
CS -
kodlar yoziladigan segment registri yordamida ko‘rsatiladi (3.7-
rasm). Kodlar yoziladigan yangi segmentni faollashtirish uchun CS - registrining
kiymatini o‘zgartirish kerak bo‘ladi.
3.8-rasmda Intel 8088 protsessori uchun assembler tilida yozilgan dasturning
dastlabki matni va dasturni bajarilishi haqidagi axborotni ko‘rsatuvchi trasserning
darchalari keltirilgan. Bu rasmda CS registri va uning qiymati
v ) rasmning
yuqoridagi chap darchasida keltirilgan.
3.7-rasm. Intel 8088 protsessorining ichki registrlari.
109
Kodlar yoziladigan segment bilan bir qatorda, dasturni ishlashi davomida
unga kerak bo‘ladigan ma’lumotlarni o‘zida saqlash uchun mo‘ljallangan -
ma’lumotlar segmenti ham ishlatilishi mumkin (yoki ishlatilmasligi ham mumkin).
Ma’lumotlar segmentining maksimal xajmi ham 64 Kbaytga teng bo‘lib, ushbu
segmentning boshlang‘ich adresi
DS - ma’lumotlar segmenti registri yordamida
ko‘rsatiladi, ya’ni unga yozilgan bo‘ladi. DS - registriga yozilgan qiymatni o‘zgarish
bilan xotiraning boshqa qismida joylashgan segmentga murojaat qilish mumkin
bo‘ladi. 16-razryadli CS va DS registrlar yordamida 1 Mbaytli asosiy xotira
chegarasida ma’lumotlarni yozish (yoki o‘qish) amalga oshiriladi. Intel 8088
protsessorining registrlari ham 16 razryadga ega.
3.8-rasm. 8088 trasserining darchalari.
Protsessorning qolgan registrlarida ma’lumotlar yoki asosiy xotirada yozilgan
ma’lumotlar o‘rnini ko‘rsatuvchi axborotlar saqlanadi. Assembler dasturlari
yordamida ushbu registrlarga to‘g‘ridan–to‘g‘ri murojaat qilish mumkin.
Protsessorlar tarkibida registrlar bilan birga, kompyuterni ishlashi uchun kerak
110
bo‘ladigan boshqa apparat vositalar - yordamchi sxemalar, arifmetik-mantiqiy
qurilmalar va boshqa shu kabi qurilmalar mavjud. Dasturchi ushbu apparat
vositalarga buyruqlar yordamida murojaat qila olishi mumkin.
Intel 8088 protsessorining ishlashi, boshqa hisoblash vositalari kabi
buyruqlarni ma’lum bir ketma-ketlikda bajarish bilan amalga oshiriladi. Alohida
olingan buyruqning bajarilishi esa
bir-nechta bosqichlardan iborat bo‘ladi. Bu
bosqichlarning to‘liq ketma-ketligi
protsessor sikli deb ataladi. Protsessor sikli
quyidagi bosqichlardan iborat bo‘ladi:
1.Buyruqlar sanagichi registri – PC yordamida asosiy xotiraning kodlar
yozilgan segmentidan bajarilishi kerak buyruq tanlab olinadi.
2.PC ning qiymati – 1-ga, 2-ga yoki 3-ga orttiriladi.
3.Tanlab olingan buyruq dekodlanadi, ya’ni qanday buyruq ekanligi
aniqlanadi.
4.Buyruqni bajarish uchun kerak bo‘ladigan ma’lumotlar xotiradan va (yoki)
registrlardan tanlab olinadi.
5.Buyruq bajariladi.
6.Buyruqni bajarilishi natijalari xotiraga va (yoki) registrlarga yozib qo‘yiladi
(saqlanadi).
7.Keyingi buyruqni bajarish jarayoni boshlanadi, ya’ni keyingi siklga o‘tiladi
– 1-inchi qadamga qaytish bilan.
Assembler tilida dasturlar yozuvchi dasturchi nuqtai nazaridan Intel 8088
protsessorida 14-ta ichki registrlar ko‘zda tutilgan hisoblanadi (3.7-rasmga qaralsin).
Ushbu registrlar ko‘p sonli buyruqlar tomonidan ishlatiladigan, o‘ta katta tezlikka
ega xotira vazifasini bajaradi. Ularga yoziladigan (saqlanadigan) natijalarning
qiymatlari juda katta tezlikda o‘zgarib turadi. 3.7-rasmda keltirilgan registrlar bilan
3.8-rasmda keltirilgan trasser darchalarida o‘xshashlikni yaqqol ko‘rish mumkin.
Protsessorning registrlari bir-nechta guruhlarga bo‘linadi (3.9-rasm):
1. Umumiy tayinlanadigan registrlar guruhi.
2. Ko‘rsatgich registrlar guruhi.
3. Segmentlarni ko‘rsatuvchi registrlar.
111
4. Bayroqlar registri.
5. Buyruq adresini ko‘rsatuvchi registr.
3.9-rasm. Intel 8088 protsessori ichki registrlarining guruhlari