MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT
AXBOROT TEXNOLOGIYALARI UNIVERSITETI
SAMARQAND FILIALI "KOMPYUTER INJINIRING"
FAKULTETI
“Kompyuterni tashkil etilishi” fanidan
1-mustaqil ish
Tayyorladi: 21_08-guruh talabsi
Abdullayev G’ulom
Qabul qildi:Sattarov .M.A
Mavzu: Kompyuterning raqamli mantiqiy satxi
Reja:
Kompyuterning ko’p satxli tashkil etilishi
Kompyuterning raqamli mantiqiy satxi
Kompyuterning raqamli-mantiqiy sathini tashkil etish.
Nolinchi sath - bu kompyuterning apparat taminoti sathi
hisoblanadi. Raqamli mantiqiy sath, ya'ni nolinchi sath ob'ektlari
ventillar, ya'ni uzgich-ulagichlar deb ataladi. Ular yordamida -
(AND, OR, NOT) kabi oddiy mantiqiy funksiyalar bajariladi.
Guruhlarga birlashtirilgan xotira elementlari esa, registrlarni hosil
qiladi. Registrlar 8, 16, 32 yoki 64 bit uzunliklarga ega bo‘lishlari
mumkin 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 vazifalarni bajarish uchun mo‘ljallangan
registrlardan foydalaniladi.
Kompyuter arxitekturasining rivojlanish bosqichlarini quyidagicha
ifodalash mumkin:
1.Nolinchi avlod – mexanik kompyuterlar (1642-1945 yillar) -Paskal
(1642 yil), Leybnits (1672 yil) va Bebbidjlar (1722 yil) tomonidan
ishlab chiqilgan kompyuterlar.
2.Birinchi avlod – elektron lampalar asosida qurilgan kompyuterlar
(1945-1955 yillar) Fon Neyman tamoili asosida qurilgan
kompyuterlar.
3.Ikkinchi avlod tranzistorlar asosida qurilgan kompyuterlar (1955-
1965 yillar).
4.Uchinchi avlod integral sxemalar asosida qurilgan kompyuterlar
(1965-1980 yillar).
5.To‘rtinchi avlod katta integral sxemalar asosida qurilgan
kompyuterlar (1980 yillardan boshlab) Intel 8080 (8), 8086 (16),
8088 (16), 80486 (32) va Pentium protsessorlari asosida qurilgan
kompyuterlar.
6.Beshinchi avlod ko’rinmas kompyuterlar.
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.
1.1-rasm. Bitta protsessorli kompyuteming tuzilish chizmasi
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
sathlardan.
iboratdir. 1.2-rasmda kompyuter arxitekturasining olti sathdan
iborat tuzilishga ega ko‘rinishda ifodalangan chizmasi keltirilgan.
1.2-rasm. Olti sathli kompyuter.
1.2-rasm. Olti sathli kompyuterni tashkil etilishi
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.
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 dasturlarnibajaradigan
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 da
stur 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
biroztushkunlik bo’lishi mumkin. Biroq, vaziyat unchalik umidsiz em
as. 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 t
o’plami biz T2 deb nomlanadigan tilni va mos keladigan virtual
mashinani,M2ni hosil qiladi. Biror dasturchi T2 tilida dasturlarni yoz
ishi 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
qatorideb hisoblashimiz mumkin. Ierarxik tuzilmaning eng pastki qi
smidagi til eng sodda, eng yuqorisidagi esa eng murakkab.
1.1-rasm. Ko’p bosqichli mashina
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 yo
zilgan 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 c
hiqilishi 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 virtualmashinalar 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 ea.
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 ik
kita registrlar tanlangan, AMQ ular ustida bir nechta operatsiyalarni
bajaradi (masalan, qo’shish), shundan so’ng natija yana registrga j
oylashtiriladi.
Ba’zi bir mashinalarda ma’lumotlar trakti mikrodastur deb
nomlangan maxsus dastur tomonidan boshqariladi. Boshqa mashina
larda ma’lumotlar trakti to’g’ridanto’g’ri apparat tomonidan boshqar
iladi.
Ma’lumotlar uzatiladigan trakt dasturiy ta’minot tomonidan
boshqariladigan mashinalarda, dasturiy ta’minot 2-sathdagi
buyruqlar uchun interpretator hisoblanadi. Masalan, ADD buyrug’i b
ajarilganda, 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. 2sathli buyruqlar bilan bir xil bo’lg
an 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 interpret
atsiya 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 ishlabchiqarishga ixtisoslashgan tizim d
sturchilari tomonidan yaratilgan. To’rtinchi va undan yuqori sathlar
amaliy muammolarni hal qiladigan dasturchilar uchun mo’ljallanga.
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 uzu
n 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 mavj
ud. 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 yo
ki 4 sathga translyatsiya qilinadi, ba’zi hollarda translyatsiyalar mav
jud 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 yaxshitushunilgan kontekstida hal qilish uchun ma’lumot
lar 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 (masala
n, 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.
1.4. Ko’p bosqichli mashinalarning rivojlanishi
Ushbu bo’limda biz ko’p bosqichli mashinalarning rivojlanish
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) 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,algoritmlarva buyruqlar uskunalar ta’minoti bilan bog’liq emas. Bung
a javoban, dasturiy ta’minot algoritmlardan (muammoning yechimini tavsiflovchi
buyruqlarning batafsil ketmaketligi) va ularning kompyuter tasvirlaridan, ya’ni
dasturlardan iborat. Dasturlar qattiq diskda, disketda, CD-ROMda yoki boshqa
vositalarda saqlanishi mumkin, ammo bu unchalik muhim emas; mohiyatiga
ko’ra dasturiy ta’minot bu dasturlar yozilgan fizik vositalarini emas, balki
dasturlarni tashkil etadigan buyruqlar to’plamidir.
Dastlabki kompyuterlarda apparat va dasturiy ta’minot o’rtasidagi
chegara aniq edi. Biroq, vaqt o’tishi bilan, bu chegara sezilarli o’zgardi,
birinchi navbatda kompyuterlarning rivojlanishi jarayonida sathlar
qo’shilgan, olib tashlangan va bir-biri bilan birlashtirilgan. Hozirgi
vaqtda ularni bir-biridan ajratish juda qiyin.
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
|