O`ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI
UNIVERSITETI SAMARQAND FILIALI
"Kompyuter injiniring" fakulteti
"Kompyuter Tizimlari" kafedrasi
" Kompyuterni tashkil etish fanidan ” fanidan
MUSTAQIL ISH-№3
Mavzu: Kompyuterlarni ko’p satxli tashkil etilishi.
Bajardi:
Qabul qildi: Sobirov R.
SAMARQAND – 2022
Mavzu: Kompyuterlarni ko’p satxli tashkil etilishi.
Reja:
1. Nolinchi sath
2. Birinchi sath
3. Ikkinchi sath
4. Uchinchi sath
5. To‘rtinchi va beshinchi sathlar
6. Foydalanilgan adabiyotlar
Zamonaviy kompyuter o‘zaro bog‘langan - protsessorlar, tezkor xo- tira modullari va ma’lumotlarni kiritish-chiqarish qurilmalaridan iborat bo‘lishi mumkin. 1.1-rasmda bitta markaziy protsessorga ega bo‘lgan kompyuteming tuzilish chizmasi keltirilgan.
Ushbu chizmani, kompyuterda uncha ko‘p bo‘lmagan ish tajribasiga ega foydalanuvchilar ham qaysidir darajada tushuntirib bera oladilar.
Ammo zamonaviy kompyuteming ichki tuzilishi, uning qanday ishlashi, uning qanday dasturlanishi va umuman uning qanday tashkil qilin- ganligiga, ya’ni kompyuteming arxitekturasiga taaluqli bo‘lgan tushun- chalarni, shu sohaning mutaxassisi sifatida mukammal tushunish hamda ulardan o‘zining kundalik faoliyatida samarali foydalana olish ancha mu- rakkab masala hisoblanadi.
Zamonaviy kompyuter arxitekturasini o‘rganishga bag‘ishlangan adabiyotlarda [1,2,16] kompyuter arxitekturasini, bir nechta sathlar iyerarxiyasidan iborat ko‘rinishda ifodalab o‘rganish amalga oshirilgan. Ko‘pgina zamonaviy kompyuterlar ikki va undan ortiq sathlardaniboratdir. 1.2-rasmda kompyuter arxitekturasining olti sathdan iborat tuzilishga ega ko‘rinishda ifodalangan chizmasi keltirilgan.
1.2-rasm. Olti sathli kompyuter.
Avval ushbu chizmadagi sathlarga qisqacha tushuntirishlar berib o‘tamiz, so‘ngra esa kompyuterlarning tuzilishini bunday o‘rganish bilan, nimalarga erishish mumkinligi va kompyuter arxitekturasi deganda - ni- mani tushunish kerakligi haqidagi xulosalarni keltiramiz.
Zamonaviy kompyuter o‘zaro bog‘langan - protsessorlar, tezkor xotira modullari va ma’lumotlarni kiritish-chiqarish qurilmalaridan iborat bo‘lishi mumkin. 1.1-rasmda bitta markaziy protsessorga ega bo‘lgan kompyuterning tuzilish chizmasi keltirilgan. 1.1-rasm. Bitta protsessorli kompyuterning tuzilish chizmasi. 25 Ushbu chizmani, kompyuterda uncha ko‘p bo‘lmagan ish tajribasiga ega foydalanuvchilar ham qaysidir darajada tushuntirib bera oladilar. Ammo zamonaviy kompyuterning ichki tuzilishi, uning qanday ishlashi, uning qanday dasturlanishi va umuman uning qanday tashkil qilinganligiga, ya’ni kompyuterning arxitekturasiga taaluqli bo‘lgan tushunchalarni, shu sohaning mutaxassisi sifatida mukammal tushunish, hamda ulardan o‘zining kundalik faoliyatida samarali foydalana olish ancha murakkab masala hisoblanadi. Zamonaviy kompyuter arxitekturasini o‘rganishga bag‘ishlangan adabiyotlarda [1,2,16] kompyuter arxitekturasini, bir nechta sathlar ierarxiyasidan iborat ko‘rinishda ifodalab o‘rganish amalga oshirilgan. Ko‘pgina zamonaviy kompyuterlar ikki va undan ortiq sathlardan iboratdir. 1.2-rasmda kompyuter arxitekturasining olti sathdan iborat tuzilishga ega ko‘rinishda ifodalangan chizmasi keltirilgan. 1.2-rasm. Olti sathli kompyuter. 26 Avval ushbu chizmadagi sathlarga qisqacha tushuntirishlar berib o‘tamiz, so‘ngra esa kompyuterlarning tuzilishini bunday o‘rganish bilan, nimalarga erishish mumkinligi va kompyuter arxitekturasi deganda – nimani tushunish kerakligi haqidagi xulosalarni keltiramiz.
Nolinchi sath - bu kompyuterning apparat taminoti sathi hisobla- nadi. Raqamli mantiqiy sath, ya’ni nolinchi sath ob’yektlari ventillar, ya’ni uzgich-ulagichlar deb ataladi. Ular yordamida - И, ИЛИ, НЕ (AND, OR, NOT) kabi oddiy mantiqiy funksiyalar bajariladi (1.3-rasm).
Bir nechta ventillar yordamida 0 va 1 raqamlarini saqlay oladigan 1 bitli xotira elementlari, ya’ni triggerlar hosil qilinadi. Masalan SR, JK, T va D kabi triggerlar (1.4-rasm). Umuman kompyuter ham - ventillardan tashkil topgandir.
1.3-rasm. Asosiy mantiqiy elementlar.
Guruhlarga birlashtirilgan xotira elementlari esa, registrlarni hosil qiladi. Registrlar 8, 16, 32 yoki 64 bit uzunliklarga ega bo‘lishlari mum- kin (1.5-rasm).
Kompyuterning qanday tuzilganligi va qanday ishlashini o‘rganishda juda ko‘p marotaba so‘zga olinadigan tushunchalardan biri - bu registrlar hisoblanadi. Kompyuterda va protsessorning ichida kechayotgan, ma’lumotlarni ishlash jarayonlarini amalga oshirishda ham, turli xil vazi- falarni bajarish uchun modjallangan registrlardan foydalaniladi.
Birinchi sath - mikroarxitektura sathi deb ataladi. Ushbu sathga tegishli bo‘lgan elektron sxemalar mashinaga bog‘liq bo‘lgan dasturlarni bajaradi, ya’ni kompyuterda ishlatilgan protsessorga mos keladigan dasturlarni bajaradi. Masalan Intel, Apple, DEC va boshqa xil protsessorlarga mos bo‘lgan dasturlar. Birinchi sathda 8-ta yoki 32-ta registrlardan iborat lokal xotira va arifmetik mantiqiy qurilma (Arithmetic Logical Unit - ALU) deb nomlangan sxemalar mavjud.
Arifmetik mantiqiy qurilma - oddiy arifmetik va mantiqiy amallami bajaradi. Arifmetik mantiqiy qurilma bilan birga registrlar birgalikda
ma ’lumotlarni ishlash ketma-ketligini, ya’ni ma ’lumotlar traktini shakllantiradi (1.6-rasm).
Ma’lumotlar trakti quyidagicha ishlaydi - bitta yoki ikkita registrlar tanlanadi, arifmetik mantiqiy qurilma ular yordamida qandaydir amalni, masalan - inkorlash, qo‘shish, ayirish yoki boshqa bir amalni bajaradi, so‘ngra natija tanlangan registrlardan biriga joylashtiriladi.
Ba’zi kompyuterlarda (protsessorlarda) ma’lumotlar trakti - mikroprogramma (mikrodastur) deb nomlangan maxsus dastur tomonidan nazorat qilinadi. Boshqa xil kompyuterlarda esa ma’lumotlar trakti - apparat vositalar tomonidan nazorat qilinadi. Hozirda ishlab chiqarilayotgan kompyuterlarda ma’lumotlar trakti - odatda apparat vositalar tomonidan nazorat qilinadi. Shuning uchun birinchi sathning nomi - mikroarxitektura sathi deb nomlangan.
Ma’lumotlar trakti dasturiy ta’minoti tomonidan nazorat qilinadigan kompyuterlarda, mikrodastur deganda - ikkinchi sath buyruqlarining interpretatori, ya’ni amalga oshiruvchisi tushuniladi. Mikrodastur xotiradan buyruqlarni chaqirib oladi va ularni ma’lumotlar traktidan foydalangan holda ketma-ket bajaradi. Masalan: ADD - qo‘shish buyrug‘ini bajarish uchun, u avval xotiradan chaqirib olinadi, unda ishtirok etadigan operandalar, ya’ni qo‘shiluvchilar registrlarga joylashtiriladi, arifmetik-mantiqiy qurilma yig‘indini hisoblaydi va natija xotiraga yoziladi.Ma’lumotlar trakti apparat ta’minoti tomonidan nazorat qilinadigan kompyuterlarda ham xuddi shunday muolaja amalga oshiriladi, ammo bunda ikkinchi sath buyruqlarini amalga oshiruvchi, ya’ni interpretatsiya qiluvchi mikrodastur bo‘lmaydi.
Ikkinchi sath - buyruqlar to ‘plami arxitekturasi sathi deb ataladi. Kompyuter ishlab chiqaruvchi har bir firma, o‘z kompyuterida ishlatilgan protsessorga mos mashina tiliga oid qo‘llanma ham taqdim etadi. U tavsifi keltirilgan buyruqlar to‘plami interpretator-mikrodastur yoki apparat ta’minoti tomonidan bajarilishi va bu sathga oid ma’lumotlardan iborat bo‘ladi.
1.6-rasm. Fon-neyman mashinasining ma’lumotlar trakti.
Uchinchi sath - operatsion tizim sathi. Ushbu sath gibrid sath hisoblanadi. Operatsion tizim sathining bunday deb atalishiga sabab, uning tilidagi ko‘pchilik buyruqlar, undan pastroqda joylashgan buyruqlar to‘plami arxitekturasi sathida ham, mavjuddir. Biron bir sathga tegishli buyruqlar, boshqa bir sathda ham ifodalanishi va ishlatilishi mumkin. Operatsion tizim sathi ba’zi bir qo‘shimcha xususiyatlarga ega. Bu - unda xotiraning boshqacha tashkil qilinganligi, bir vaqtda ikki va undan ortiq dasturlarni bajara olish imkoniyatining borligi hamda operatsion tizim sathining yangi buyruqlar to'plainiga ega ekanligi xususiyatlaridir.
To‘rtinchi va beshinchi sathlar - dasturchilar uchun ishlab chiqilgan quyi va yuqori sath tillaridan iboratdir. To‘rtinchi sath - turli xil protsessorlar uchun ishlab chiqilgan turli xil assembler tillaridan iborat bo‘ladi. Beshinchi sath esa amaliy dasturchilar uchun modjallangan yuqori sath tillari - C, C++, Java kabi tillardan tashkil topgan bo‘ladi.
Kompyuter tuzilishini ko‘p sathli ko‘rinishda ifodalanishi va sathlarga oid muhokamalarni shu erda to‘xtatib, kompyuter arxitekturasini o‘rganishda muhim hisoblangan ba’zi bir xulosalarni keltirib o‘tamiz. Shunday qilib, hozirgi kompyuterlar bir-nechta sathlarning iyerarxik tuzilishi shaklida loyihalanadi va ishlab chiqariladi. Har bir sath turli xil ob’yektlarning va amallarning ma’lum bir abstraksiyasini, ya’ni ma’lum darajadagi ko‘rinishini ifoda etadi. Kompyuterlar tuzilishini bunday o‘rganish bilan biz, murakkab bo‘lgan jihatlarni tushunish uchun, nisbatan soddaroq ko‘rinishda ifodalash va tushunish imkoniyatiga ega bo‘lamiz.
Yuqorida keltirilgan har bir sathga tegishli bo‘lgan ma’lumotlar, amallar va tavsiflar xillarining to‘plami arxitektura deb ataladi. Arxitektura - kompyuterni qanday dasturlanishi, ishlanishi va ishlatilishi kabi jihatlariga bog‘liq tushuncha hisoblanadi. Masalan, biron-bir dasturni yozish va ishlatish uchun zarur bo‘ladigan xotiraning hajmi haqidagi ma’lumot - bu arxitekturaning bir qismidir. Ushbu xotiraning qanday ishlab chiqilganligi, ya’ni unda qo‘llanilgan texnologiya esa arxitekturaning bir qismi hisoblanmaydi.
Kompyuterning yoki kompyuter tizimining dasturiy elementlarini loyihalash usullarini o‘rganish bilan biz, kompyuter arxitekturasini o ‘rganamiz. Amaliyotda kompyuter arxitekturasi va kompyuterni tashkil qilish degan iboralar sinonim iboralar sifatida qo‘llaniladi. Raqamli kompyuter - bu unga berilgan buyruqlarni bajarish orqali
muammolarni hal qila oladigan mashina. Muayyan masalaning
yechimini tavsiflovchi buyruqlar ketma-ketligi dastur deb nomlanadi.
Har bir kompyuterning elektron sxemalari cheklangan oddiy buyruqlar
to’plamini taniydi (
raspoznavat
) va uni bajarishi mumkin. Amalga
oshirishdan oldin barcha dasturlar odatda oddiy murakkab bo’lmagan
buyruqlar ketma-ketligiga aylantirilishi kerak, masalan:
ikkita raqam qo’shing
raqam nolga teng emasligini tekshiring;
ma’lumotlar blokini kompyuter xotirasining bir qismidan
boshqasiga nusxalash.
Ushbu boshlang’ich sodda buyruqlar to’plami odamlar kompyuter
bilan aloqa qila oladigan tilni tashkil qiladi. Bunday tilga mashina tili
deyiladi. Yangi kompyuterni yaratishda ushbu kompyuterning mashina
tiliga qaysi buyruqlarni kiritishni hal qilishi kerak. Bu kompyuterni
qanday maqsada ishlatilshiga va u hal qilishi kerak bo’lgan vazifalarga
bog’liq. Kompyuterni loyihalashda murakkabliklarni oldini olish va
kerakli elektronikaning narxini pasaytirish uchun mashina buyruqlarini
iloji boricha sodda bo’lishiga harakat qilish odatiy holdir. Mashina
tillarining aksariyati juda sodda, bu ularga yozishni qiyin va zerikarli
qiladi.
Vaqt o’tishi bilan amalga oshirilgan bu oddiy kuzatuv, har biri
pastki mavhumlik (absraktsiya) sathi ustiga qurilgan bir qator
mavhumlashtirishlarni yaratilishiga olib keldi. SHunday qilib, qanday
qilib murakkabliklarni yengish mumkin va dizayn jarayoni muntazam va
tartibli bo’lishi mumkin. Biz ushbu yondashuvni ko’p bosqichli
hisoblash deb ataymiz.
1.2 Tillar, sathlar va virtual mashinalar
Odamlar uchun qulay bo’lgan narsalar va kompyuterlar , bajara oladigan
narsalar o’rtasida katta farq bor. Odamlar X-ni qilishni xohlashadi,
ammo kompyuterlar faqat Yni bajarishi mumkin. Bu muammoni keltirib
chiqaradi. Ushbu ma’ruzaning maqsadi bu muammoni qanday hal
qilishni tushuntirishdir.
Yuqoridagi muammoni ikki usul bilan hal qilish mumkin. Ikkala
usul ham yangi dasturlarni ishlab chiqishni o’z ichiga oladi. Ushbu
yangi buyruqlar to’plami biz T1 deb ataydigan tilni yuzaga keltiradi.
O’rnatilgan mashina buyruqlari ham tilni hosil qiladi va biz uni T0 deb
nomlaymiz. Kompyuter faqat T0 dasturiy tilida yozilgan dasturlarni
bajara oladi. Muammoni hal qilishning ikkita usuli, kompyuter T1 tilida
yozilgan dasturlarni qanday bajarishi bilan farq qiladi - lekin,
kompyuterda faqat T0 mashina tili mavjud.
T1 tilida yozilgan dasturni amalga oshirishning birinchi usuli har
bir buyruqni T0 tilidagi mos keladigan buyruqlar to’plami bilan
almashtirishni anglatadi.
Bunday holda, kompyuter T1da yozilgan eski dastur o’rniga T0
bilan yozilgan yangi dasturni bajaradi. Ushbu texnologiya translyatsiya
deb nomlanadi.
Ikkinchi usul T0 tilida kirish ma’lumotlari sifatida T1 tilida
yozilgan dasturlarni oladigan dasturni yaratish iborat. Bunday holda, T1
tilining har bir buyrug’i navbati bilan qayta ishlanadi, shundan so’ng T0
tilining mos keladigan buyruqlar to’plami darhol bajariladi. Ushbu
texnologiya T0 dasturida yangi dasturni tuzishni talab qilmaydi. U
interpretatsiya deb ataladi va uni bajaradigan dastur interpretator deb ataladi.
Translyatsiya va interpretatsiya o’rtasida ko’p o’xshashliklar
mavjud. Ikkala holatda ham, kompyuter T1 buyruqlariga ekvivalent
bo’lgan T0 buyruqlar to’plamini bajaradi. Faqatgina farq shundaki,
translyatsiya paytida T1 dasturi T0 dasturiga aylantiriladi, T1 dasturi
o’chiriladi va yangi T0 dasturi kompyuter xotirasiga yuklanadi va keyin
bajariladi. Ishlash jarayonida T0 tilida yozilgan genertsiya qilingan
dastur kompyuterning ishlashini boshqaradi.
Interpretatsiyada, T1-dagi har bir buyruq T0-ga qayta yoziladi va
darhol bajariladi. Bunda, translyatsiya qilingan dastur yaratilmaydi.
Kompyuterning ishlashini, T1-dagi dastur "xom" kirish
ma’lumotlaridan boshqa narsa bo’lmagan interpretator tomonidan
boshqariladi. Ikkala yondashuv ham birgalikda, ham alohida keng
miqiyosda ishlatiladi.
Biroq, translyatsiya va interpretatsiya qilish haqida o’ylashdan
ko’ra, mashinaning tili T1 bo’lgan gipotetik kompyuter yoki virtual
mashinaning mavjudligini tasavvur qilish ancha osonroq. SHunday
virtual mashinani M1, va T0 tili bilan ishlaydigan virtual mashinani -
M0 deb nomlaymiz. Agar bunday M1 mashinasi katta xarajatlarsiz
qurilishi mumkin bo’lsa, T0 tilini va T0 tilida dasturlarni bajaradigan
mashina kerak bo’lmaydi. Ya’ni, dasturni T1 tilida yozish mumkin va
kompyuter ularni darhol amalga oshirar edi. Virtual mashinani yaratish
imkoni bo’lmasligi mumkin (bu juda qimmat yoki uni ishlab chiqarish
qiyinligi sababli), lekin odamlar unga yo’naltirilgan dasturlarni
yozishlari mumkin. Ushbu dasturlar T0 tilida yozilgan dastur tomonidan
translyatsiya yoki interpretatsiya qilinadi, uni o’zi mavjud kompyuter
tomonidan bajarilishi mumkin. Boshqacha qilib aytganda, virtual
mashinalar uchun dasturlarni yozishingiz mumkin, xuddi bu mashinalar
real mavjud.
T0 va T1 tillari bir-biridan unchalik farq qilmasa, translyatsiya va
interprentatsiya qilish tavsiya etiladi. Ko’pincha bu T1 tili T2 dan
yaxshiroq bo’lsa ham, hali ham idealdan uzoq ekanligini anglatadi.
Ehtimol, bu T1 tilini yaratishning asl maqsadi - dasturchini kompyuter
tushunadigan, ammo odamlar uchun moslashtirilmagan tilda dasturlarni
yozish og’irligidan xalos qilish nuqtai nazaridan biroz tushkunlik
bo’lishi mumkin. Biroq, vaziyat unchalik umidsiz emas.
Muammoning aniq yechimi T1 ga qaraganda ko’proq odamga
yo’naltirilgan va kompyuterga nisbatan kamroq yo’naltirilgan boshqa
buyruqlar to’plamini yaratishdir. Ushbu uchinchi buyruqlar to’plami biz
T2 deb nomlanadigan tilni va mos keladigan virtual mashinani, M2 ni
hosil qiladi. Biror dasturchi T2 tilida dasturlarni yozishi mumkin, go’yo
T2 mashina tili bilan ishlash uchun virtual mashina mavjud. Bunday
dasturlar T1 tiliga translyatsiya qilinishi yoki T1 tilida yozilgan
interpretator tomonidan bajarilishi mumkin.
Turli tillarning ixtiro qilinishi, har biriga oxirgisidan ham ko’proq
biz uchun mos bo’lgan tilga kelgunimizcha davom etishi mumkin. Har
bir bunday til o’zidan oldingisidan asos sifatida foydalanadi, shuning
uchun biz kompyuterni 1.1. rasmda tasirlangan sathlar qatori deb
hisoblashimiz mumkin. Ierarxik tuzilmaning eng pastki qismidagi til eng
sodda, eng yuqorisidagi esa eng murakkab.
Til va virtual mashina o’rtasida muhim munosabatlar mavjud.
Har bir mashina ma’lum bir mashina tilini qo’llab-quvvatlaydi, bu
mashina bajarishi mumkin bo’lgan barcha buyruqlardan iborat. Aslida, mashina tilni aniqlaydi. Xuddi shunday, til bir mashinani, ya’ni shu tilda
yozilgan barcha dasturlarni bajaradigan mashinani belgilaydi.
Albatta, bir tilda yoki boshqa tilda aniqlangan dastgoh elektron
davrlardan qurish juda qiyin va qimmat, ammo biz bunday mashinani tasavvur qilishimiz mumkin. Mashina tili C yoki C ++ bo’lgan
kompyuter juda murakkab bo’lar edi, ammo printsipial jihatdan
zamonaviy texnologiyalarning yuqori sathi hisobga olingan holda ishlab
chiqilishi mumkin. Biroq, bunday kompyuterni qurmaslik uchun yaxshi
sabablar bor - bunday yechim boshqalarga nisbatan samarasiz.
Darhaqiqat, texnologiya nafaqat maqsadga muvofiq, balki oqilona
bo’lishi kerak.
n-sathli kompyuterni har birining o’ziga xos mashina tili bo’lgan n
har xil virtual mashinalar deb hisoblash mumkin. Biz "sath" va "virtual
mashina" atamalarini bir-biridan foydalanamiz. Faqat T0 da yozilgan
dasturlarni kompyuter tomonidan translyatsiya qilinmasdan yoki
interpretatsiyasiz amalga oshirish mumkin. T1, T2, ..., Tn -da yozilgan
dasturlar quyi sathdagi interpretatordan o’tishi yoki quyi sathga mos
keladigan tilga translyatsiya qilinishi kerak.
n sathli virtual mashina uchun dasturlar yozadigan odam, quyi
sathdagi interpretatorlar va interpretatorlar haqida bilishi shart emas.
Mashina ushbu dasturlarni bajaradi va ular interpretator tomonidan
bosqichma-bosqich bajariladimi yoki ularni o’zi qayta ishlaydimi,
muhim emas. Ikkala holatda ham natija bir xil - dasturning bajarilishi.
n sathli mashinadan foydalanadigan aksariyat dasturchilar faqat
mashina tiliga o’xshash eng yuqori sathga qiziqishadi. Biroq, kompyuter
aslida qanday ishlashini tushunishni istaganlar barcha sathlarni
o’rganishlari kerak. Yangi kompyuterlar yoki yangi sathlarni ishlab
chiquvchilar (ya’ni yangi virtual mashinalar) barcha sathlar bilan tanish
bo’lishi kerak.
1.3 Zamonaviy ko’p bosqichli mashinalar
Ko’pgina zamonaviy kompyuterlar ikki yoki undan ortiq sathga
ega.
Oltita sathli mashinalar ham mavjud (1.2-rasm). 0-sath - bu noldan
pastda joylashgan apparat sathi. Ushbu sath 1.2 shaklda ko’rsatilmagan,
chunki bu elektronika sohasiga kiradi va shuning uchun ma’ruzada
kitobda keltirilmagan. Bunga fizik qurilma sathi deyiladi. Ushbu sathda
tranzistorlar mavjud, ular kompyuter ixtrochilari uchun sodda
hisoblanadi. Agar kimdir tranzistorlarning qanday ishlashi bilan qiziqsa,
qattiq jismlar fizikasi sohasiga murojaat qilishga majbur bo’ladi.
Biz o’rganadigan eng past sathda, ya’ni raqamli mantiq sathda
ob’ektlar ventillar deb nomlanadi. Ventillar analog komponentlardan
(masalan, tranzistorlardan) qurilgan bo’lsa ham, ularni raqamli
qurilmalar sifatida aniq modellashtirilishi mumkin. Har bir ventilda bitta
yoki bir nechta raqamli kirish mavjud (signallar 0 yoki 1 ni bildiradi).
Ventil signallarni oddiy yoki funktsiyalarini hisoblaydi, masalan,
VA yoki KI.
Har bir ventil bir nechta tranzistorlardan hosil bo’ladi. Bir nechta
ventillar 0 yoki 1 ni o’z ichiga olishi mumkin bo’lgan 1 xotira bitini
tashkil qiladi. Xotira bitlari, guruhlarga birlashtirilgan, masalan, 16, 32
yoki 64, registrlar. Har bir registrda ma’lum bir diapazonda bitta ikkilik
raqam bo’lishi mumkin. Ventillar hisoblash tizimining eng asosiy
qismini yaratish uchun ham ishlatilishi mumkin.
1.2- rasm. Olti sathli kompyuter.
Keyingi sathga mikroarxitektura sathi deyiladi. Ushbu sathda mahalliy
(lokal) xotirani va AMQ (Arifmetik-matiqiy qurilma) deb nomlangan
sxemani tashkil etadigan (odatda) 8 yoki 32 registrlar to’plami mavjud.
AMQ oddiy arifmetik amallarni bajaradi. Registrlar AMQ bilan
birgalikda ma’lumotlar qabul qilingan yo’lni hosil qiladi. Ma’lumotlar
yo’lining asosiy ishlashi quyidagicha amalga oshiriladi: bitta yoki ikkita
registrlar tanlangan, AMQ ular ustida bir nechta operatsiyalarni bajaradi
(masalan, qo’shish), shundan so’ng natija yana registrga joylashtiriladi.
Ba’zi bir mashinalarda ma’lumotlar trakti mikrodastur deb
nomlangan maxsus dastur tomonidan boshqariladi. Boshqa mashinalarda
ma’lumotlar trakti to’g’ridan-to’g’ri apparat tomonidan boshqariladi.
Ma’lumotlar uzatiladigan trakt dasturiy ta’minot tomonidan
boshqariladigan mashinalarda, dasturiy ta’minot 2-sathdagi buyruqlar
uchun interpretator hisoblanadi. Masalan, ADD buyrug’i bajarilganda, u
xotiradan chaqiriladi, uning operandalari registrlarga joylashtiriladi,
AMQ yig’indini hisoblab chiqadi va keyin natija kerak bo’lgan joyga
yuboriladi. Ma’lumotlarini boshqarish yo’llari uskunali boshqariladigan
kompyuterda xuddi shunday protsedura sodir bo’ladi, ammo 2-sathli
buyruqlarni sharhlaydigan dastur yo’q.
2-chi sath buyruqlar majmuasi arxitekturasi deb nomlanadi.
Keyingi bosqich odatda gibriddir. Uning tilidagi buyruqlarning
aksariyati buyruqlar to’plamining arxitekturasi sathidadir (sathlarning
birida mavjud bo’lgan buyruqlar boshqa sathlarda ham namoyish etilishi
mumkin).
Ushbu sath ba’zi qo’shimcha funktsiyalarga ega: yangi buyruqlar
to’plami, boshqa xotira tashkil etilishi, bir vaqtning o’zida ikki yoki
undan ortiq dasturlarni bajarish qobiliyati va boshqalar. 1- va 2-
sathlarni qurishdan ko’ra 3- sathni qurishda ko’proq xilma-xillik
mavjud.
3-sathga kiritilgan yangi vositalar ikkinchi sathda ishlaydigan
interpretator tomonidan bajariladi. Ushbu interpretator bir vaqtlar
operatsion tizim deb nomlangan. 2-sathli buyruqlar bilan bir xil bo’lgan
3-chi sathdagi buyruqlar operatsion tizim tomonidan emas, balki
dasturiy yoki qo’shimcha vositalar tomonidan bajariladi. Boshqacha
qilib aytganda, 3-sathli buyruqlarning bir qismi operatsion tizim
tomonidan, boshqa qismi esa dasturiy ta’minot tomonidan interpretatsiya
qilinadi. SHuning uchun bu sath gibrid deb hisoblanadi. Ushbu sathni
operatsion tizim sathi deb ataymiz.
Ushbu bo’limda biz ko’p bosqichli mashinalarning rivojlanish
Til va virtual mashina o’rtasida muhim munosabatlar mavjud.
Har bir mashina ma’lum bir mashina tilini qo’llab-quvvatlaydi, bu
mashina bajarishi mumkin bo’lgan barcha buyruqlardan iborat. Aslida,
mashina tilni aniqlaydi. Xuddi shunday, til bir mashinani, ya’ni shu tilda
yozilgan barcha dasturlarni bajaradigan mashinani belgilaydi.
Albatta, bir tilda yoki boshqa tilda aniqlangan dastgoh elektron
davrlardan qurish juda qiyin va qimmat, ammo biz bunday mashinani
tasavvur qilishimiz mumkin. Mashina tili C yoki C ++ bo’lgan
kompyuter juda murakkab bo’lar edi, ammo printsipial jihatdan
zamonaviy texnologiyalarning yuqori sathi hisobga olingan holda ishlab
chiqilishi mumkin. Biroq, bunday kompyuterni qurmaslik uchun yaxshi
sabablar bor - bunday yechim boshqalarga nisbatan samarasiz.
Darhaqiqat, texnologiya nafaqat maqsadga muvofiq, balki oqilona
bo’lishi kerak.
n-sathli kompyuterni har birining o’ziga xos mashina tili bo’lgan n
har xil virtual mashinalar deb hisoblash mumkin. Biz "sath" va "virtual
mashina" atamalarini bir-biridan foydalanamiz. Faqat T0 da yozilgan
dasturlarni kompyuter tomonidan translyatsiya qilinmasdan yoki
interpretatsiyasiz amalga oshirish mumkin. T1, T2, ..., Tn -da yozilgan
dasturlar quyi sathdagi interpretatordan o’tishi yoki quyi sathga mos
keladigan tilga translyatsiya qilinishi kerak.
n sathli virtual mashina uchun dasturlar yozadigan odam, quyi
sathdagi interpretatorlar va interpretatorlar haqida bilishi shart emas.
Mashina ushbu dasturlarni bajaradi va ular interpretator tomonidan
bosqichma-bosqich bajariladimi yoki ularni o’zi qayta ishlaydimi,
muhim emas. Ikkala holatda ham natija bir xil - dasturning bajarilishi.
n sathli mashinadan foydalanadigan aksariyat dasturchilar faqat
mashina tiliga o’xshash eng yuqori sathga qiziqishadi. Biroq, kompyuter
aslida qanday ishlashini tushunishni istaganlar barcha sathlarni
o’rganishlari kerak. Yangi kompyuterlar yoki yangi sathlarni ishlab
chiquvchilar (ya’ni yangi virtual mashinalar) barcha sathlar bilan tanish
bo’lishi kerak.
1.3 Zamonaviy ko’p bosqichli mashinalar
Ko’pgina zamonaviy kompyuterlar ikki yoki undan ortiq sathga
ega.
Oltita sathli mashinalar ham mavjud (1.2-rasm). 0-sath - bu noldan
pastda joylashgan apparat sathi. Ushbu sath 1.2 shaklda ko’rsatilmagan,
chunki bu elektronika sohasiga kiradi va shuning uchun ma’ruzada
kitobda keltirilmagan. Bunga fizik qurilma sathi deyiladi. Ushbu sathda
tranzistorlar mavjud, ular kompyuter ixtrochilari uchun sodda
hisoblanadi. Agar kimdir tranzistorlarning qanday ishlashi bilan qiziqsa,
qattiq jismlar fizikasi sohasiga murojaat qilishga majbur bo’ladi.
Biz o’rganadigan eng past sathda, ya’ni raqamli mantiq sathda
ob’ektlar ventillar deb nomlanadi. Ventillar analog komponentlardan
(masalan, tranzistorlardan) qurilgan bo’lsa ham, ularni raqamli
qurilmalar sifatida aniq modellashtirilishi mumkin. Har bir ventilda bitta
yoki bir nechta raqamli kirish mavjud (signallar 0 yoki 1 ni bildiradi).
Ventil signallarni oddiy yoki funktsiyalarini hisoblaydi, masalan,
VA yoki KI.
Har bir ventil bir nechta tranzistorlardan hosil bo’ladi. Bir nechta
ventillar 0 yoki 1 ni o’z ichiga olishi mumkin bo’lgan 1 xotira bitini
tashkil qiladi. Xotira bitlari, guruhlarga birlashtirilgan, masalan, 16, 32
yoki 64, registrlar. Har bir registrda ma’lum bir diapazonda bitta ikkilik
raqam bo’lishi mumkin. Ventillar hisoblash tizimining eng asosiy
qismini yaratish uchun ham ishlatilishi mumkin.
1.2- rasm. Olti sathli kompyuter.
Keyingi sathga mikroarxitektura sathi deyiladi. Ushbu sathda mahalliy
(lokal) xotirani va AMQ (Arifmetik-matiqiy qurilma) deb nomlangan
sxemani tashkil etadigan (odatda) 8 yoki 32 registrlar to’plami mavjud.
AMQ oddiy arifmetik amallarni bajaradi. Registrlar AMQ bilan
birgalikda ma’lumotlar qabul qilingan yo’lni hosil qiladi. Ma’lumotlar
yo’lining asosiy ishlashi quyidagicha amalga oshiriladi: bitta yoki ikkita
registrlar tanlangan, AMQ ular ustida bir nechta operatsiyalarni bajaradi
(masalan, qo’shish), shundan so’ng natija yana registrga joylashtiriladi.
Ba’zi bir mashinalarda ma’lumotlar trakti mikrodastur deb
nomlangan maxsus dastur tomonidan boshqariladi. Boshqa mashinalarda
ma’lumotlar trakti to’g’ridan-to’g’ri apparat tomonidan boshqariladi.
Ma’lumotlar uzatiladigan trakt dasturiy ta’minot tomonidan
boshqariladigan mashinalarda, dasturiy ta’minot 2-sathdagi buyruqlar
uchun interpretator hisoblanadi. Masalan, ADD buyrug’i bajarilganda, u
xotiradan chaqiriladi, uning operandalari registrlarga joylashtiriladi,
AMQ yig’indini hisoblab chiqadi va keyin natija kerak bo’lgan joyga
yuboriladi. Ma’lumotlarini boshqarish yo’llari uskunali boshqariladigan
kompyuterda xuddi shunday protsedura sodir bo’ladi, ammo 2-sathli
buyruqlarni sharhlaydigan dastur yo’q.
2-chi sath buyruqlar majmuasi arxitekturasi deb nomlanadi.
Keyingi bosqich odatda gibriddir. Uning tilidagi buyruqlarning
aksariyati buyruqlar to’plamining arxitekturasi sathidadir (sathlarning
birida mavjud bo’lgan buyruqlar boshqa sathlarda ham namoyish etilishi
mumkin).
Ushbu sath ba’zi qo’shimcha funktsiyalarga ega: yangi buyruqlar
to’plami, boshqa xotira tashkil etilishi, bir vaqtning o’zida ikki yoki
undan ortiq dasturlarni bajarish qobiliyati va boshqalar. 1- va 2-
sathlarni qurishdan ko’ra 3- sathni qurishda ko’proq xilma-xillik
mavjud.
3-sathga kiritilgan yangi vositalar ikkinchi sathda ishlaydigan
interpretator tomonidan bajariladi. Ushbu interpretator bir vaqtlar
operatsion tizim deb nomlangan. 2-sathli buyruqlar bilan bir xil bo’lgan
3-chi sathdagi buyruqlar operatsion tizim tomonidan emas, balki
dasturiy yoki qo’shimcha vositalar tomonidan bajariladi. Boshqacha
qilib aytganda, 3-sathli buyruqlarning bir qismi operatsion tizim
tomonidan, boshqa qismi esa dasturiy ta’minot tomonidan interpretatsiya
qilinadi. SHuning uchun bu sath gibrid deb hisoblanadi. Ushbu sathni
operatsion tizim sathi deb ataymiz.
3 va 4- sathlar o’rtasida tub farq mavjud. Pastki uchta sath oddiy
dasturchilar tomonidan ishlatilishi mo’ljallanmagan. Ular dastlab
interpretatorlar va translyatorlarga qaratilgan bo’lib, yuqori sathdagi
ishlarni ta’minlaydilar. Ushbu translyatorlar va interpretatorlar yangi
virtual mashinalarni ishlab chiqarishga ixtisoslashgan tizim dasturchilari
tomonidan yaratilgan. To’rtinchi va undan yuqori sathlar amaliy
muammolarni hal qiladigan dasturchilar uchun mo’ljallangan.
4-sathga kiritilgan yana bir o’zgarish yuqori sathlarni qo’llab-
quvvatlash mexanizmidir. 2 va 3 sathlar har doim interpretatsiya
qilinadi, 4, 5 va undan yuqori sathlar odatda (har doim ham emas)
translyatsiya qilinadi.
1, 2, 3 va 4, 5 va undan yuqori sathlar o’rtasidagi yana bir farq bu
tilning o’ziga xos xususiyati. 1, 2 va 3 sathdagi mashina tillari raqamli
hisoblanadi. Ushbu tillarda yozilgan dasturlar raqamlar uzun satrlaridan
iborat bo’lib, ular kompyuter tomonidan o’qilishi mumkin, ammo
odamlar tomonidan juda kam tushuniladi. 4-sathdan boshlab, tillarda
odamlar tushunadigan so’zlar va qisqartmalar mavjud.
4 sath quyi sathdagi tillardan birining ramziy shaklini anglatadi.
Ushbu sathda, kishi 1, 2 va 3 sathlar uchun dasturlarni virtual
mashinalarning tiliga o’xshamaydigan shaklda yozishi mumkin. Ushbu
dasturlar birinchi navbatda 1, 2 yoki 3 tilga translyatsiya qilinadi,
so’ngra tegishli virtual yoki real dunyo mashinasi tomonidan
interpretatsiya qilinadi.
Translyatsiyani bajaradigan dastur assembler deb nomlanadi.
5-sath, odatda dastur dasturchilari uchun mo’ljallangan tillardan
iborat. Bunday tillarga yuqori sathdagi tillar deyiladi. Yuzlab yuqori
sathdagi tillar mavjud. Ular orasida eng mashhurlari C, C ++, Java, Perl,
Python va PHP. Ushbu tillarda yozilgan dasturlar odatda 3 yoki 4 sathga
translyatsiya qilinadi, ba’zi hollarda translyatsiyalar mavjud bo’lsa ham,
ushbu dasturlarni qayta ishlaydigan interpretatorlar kompilyator deb
ataladi. Masalan, Java dasturlari dastlab bayt-kod Java deb nomlangan
mashinaga o’xshash tilga translyatsiya qilinadi, keyinchalik u
izohlanadi.
Ba’zi hollarda, 5-sath ramziy mantiq kabi ma’lum bir amaliy
domen uchun interpretatordan iborat. Ushbu domen muammolarini
ushbu domenning malakali shaxs tomonidan yaxshi tushunilgan
kontekstida hal qilish uchun ma’lumotlar va operatsiyalarni ta’minlaydi.
SHunday qilib, ushbu tavsifdan shuni esda tutish kerakki,
kompyuter bir-birining ustiga qurilgan sathlarning ierarxik tuzilishi
sifatida yaratilgan.
Har bir sath ba’zi ob’ektlar va operatsiyalarning mavhumligidir.
SHu tarzda kompyuterning tuzilishini o’rganish va tahlil qilish orqali biz
keraksiz tafsilotlarni e’tiborsiz qoldiramiz va shu tariqa murakkab
mavzuni tushunishni osonlashtiramiz.
Har bir alohida sathning ma’lumotlar turlari, operatsiyalari va
tavsiflari to’plamiga arxitektura deyiladi. Arxitektura ushbu sathdagi
foydalanuvchiga ko’rinadigan jihatlar bilan shug’ullanadi. Masalan,
dastur yozishda qancha xotiradan foydalanishingiz mumkinligini bilish
arxitekturaning bir qismidir. Amalga oshirish jihatlari (masalan, xotirani
amalga oshirishda foydalaniladigan texnologiyalar) arxitekturaning bir
qismi emas. Kompyuter tizimining dasturiy elementlarini loyihalash
usullarini o’rganish, biz kompyuter arxitekturasini o’rganamiz.
Amaliyotda "kompyuter arxitekturasi" va "kompyuter tashkiloti"
atamalari bir-birining o’rnida ishlatiladi.
tarixi haqida qisqacha gaplashamiz, yillar davomida sathlar soni va
tabiati qanday o’zgarganligini ko’rsatamiz. Mashina tilida yozilgan
dasturlar (1-sath) darhol kompyuterning elektron sxemalari (0-sathli)
tomonidan interpretator va interpretatorlardan foydalanmasdan
bajarilishi mumkin. Ushbu elektron sxemalar, xotira va kiriti/chiqarish
qurilmalari bilan birgalikda kompyuterning uskuna ta’minotini tashkil
qiladi. Uskunalar ta’minoti moddiy ob’ektlardan iborat - integral
mikrosxemalar, bosilgan elektron platalar, kabellar, quvvat manbalari,
xotira modullari va printerlar. Mavhum tushunchalar, algoritmlar va
buyruqlar uskunalar ta’minoti bilan bog’liq emas.
Bunga javoban,
Dostları ilə paylaş: |