Uploaded by Zulfiqor Abdumannonov

Kompyuterli ARX

advertisement
O‘ZBEKISTON RESPUBLIKASI
RAQAMLI TEXNOLOGIYALAR VAZIRLIGI
MUHAMMAD AL – XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
FARG‘ONA FILIALI
“Kompyuter injiniring” fakulteti
Komyuter injiniring yo‘nalishi
722-21 – guruh talabasi
Muxammadibroximova Muazzamning
“KOMYUTER ARXITEKTURASI”
fanidan tayyorlagan
AMALIY MASHG‘ULOT
ISHLARI
Topshirdi:
Muhammadibrohimova M.
Qabul qildi:
O.I.Ergashev
Farg‘ona 2024
Amaliy mashg‘ulot №2.
Mavzu: “Operatsiya-operand” xisoblashlar modelini o‘rganish
Ishdan maqsadi: “Operatsiya-operand” xisoblashlar modelini o‘rganish va
amaliy tahlil qilish.
Nazariy qism
Turli xil hsoblash mashinalarning buyruq tizimlaridagi farqlarga qaramay,
operatsiyalarning asosiy turlarini ularning har qandayida topish mumkin.Buyruq
tizimlarining quyidagi asosiy tasnifi qabul qilingan:
 ma'lumotlar uzatish buyruqlari;
 arifmetik va mantiqiy ishlov berish buyruqlari;
 konversiya buyruqlari;
 kiritish / chiqarish buyruqlari;
 buyruq oqimini boshqarish.
Mashinada ko‘rsatmalarning eng keng tarqalgan turi – ekspeditorlik
ko‘rsatmalari.
Ushbu buyruqlar quyidagi ma'lumotlarni o‘z ichiga oladi:
 operandlarning manba va manzillari - xotira yacheykalarining manzillari, protsessor
registrlari raqamlari yoki operandlar stekda joylashganligi to‘g‘risidagi ma'lumotlar;
 aniq yoki bilvosita ko‘rsatilgan ma'lumotlarning uzatilishi (odatda baytlarda yoki
so‘zlarda);
 har bir operandga murojaat qilish usuli, uning yordamida buyruqning manzil qismidagi
tarkib operandning fizik adresiga aylantirilishi mumkin.
Ushbu buyruqlar guruhi protsessor va OX o‘rtasida, protsessor ichida va xotira
yacheykalari o‘rtasida ma'lumot uzatishni ta'minlaydi. Protsessor va xotira o‘rtasida
o‘tkazmalar registrdan xotiraga, xotiradagi o‘tkazmalar esa xotiradan xotiraga, shu
jumladan protsessorda oraliq ishlov berish bilan uning yacheykalari orasidagi
o‘tkazmalar hisoblanadi.
Mantiqiy va arifmetik ishlov berish buyruqlari guruhiga ma'lumotlarni
taqdim etishning turli shakllarida arifmetik va mantiqiy ishlov berishni ta'minlovchi
buyruqlar kiradi. Raqamlarni tasvirlashning har bir shakli uchun odatda standart
operatsiyalar to‘plami taqdim etiladi.
Natija hisoblashdan tashqari, arifmetik va mantiqiy amallar ALUda ushbu
natijani tavsiflovchi belgilar (bayroqlar) hosil bo‘ladi. Eng ko‘p yozilgan belgilar: Z
(Zero) - nol natija; N (Negative) - salbiy natija; V (Over-flow) - bit katakchasining
to‘lib ketishi; C (carry) –o‘tkazish imkoniyati.
Suzuvchi nuqta shaklida berilgan raqamlar bilan ishlash uchun ko‘pchilik
mashinalar quyidagilarni ta'minlaydi:
 asosiy arifmetik amallar: qo‘shish, ayirish, ko‘paytirish va bo‘lish;
 xususiyatlarning rivojlanishi bilan ikkita haqiqiy sonni taqqoslaydigan taqqoslash
operatsiyalari: =, <>,>, <, <=,> =;
 konversiya operatsiyalari: taqdimot shakli (qat'iy va o‘zgaruvchan nuqta o‘rtasida),
taqdimot formati (bitta va ikkita aniqlik).
Standart XM ko‘rsatmalar tizimi odatda so‘zlarning alohida bitlari yoki boshqa
adreslanadigan birliklar juftliklari bo‘yicha har xil mantiqiy operatsiyalarni bajarish
bo‘yicha ko‘rsatmalarni o‘z ichiga oladi. Bunday buyruqlar belgilar va mantiqiy
ma'lumotlarni qayta ishlashga mo‘ljallangan. Qo‘llab-quvvatlanadigan mantiqiy
operatsiyalarning minimal to‘plami YO‘Q, VA, YOKI.
ХМ-da o‘nlik raqamlar ikkilik kodlangan shaklda namoyish etiladi. Zamonaviy
mashinalarning ko‘rsatmalar tizimida hisoblashlar butun sonli arifmetik ko‘rsatmalar
yordamida simulyatsiya qilinadi.
Kiritish-chiqarish buyruqlarini periferik qurilmani (PQ) boshqarish, uning
holatini, kirish va chiqishini tekshirish uchun buyruqlarga bo‘lish mumkin.
Periferik qurilmani boshqarish buyruqlari boshqaruv panelini ishga tushirish va
kerakli harakatni ko‘rsatish uchun ishlatiladi. Masalan, lentani bitta yozuvni orqaga
qaytarish yoki oldinga surish bo‘yicha ko‘rsatma berilishi mumkin.Bunday
ko‘rsatmalarning talqini PQ turiga bog‘liq.
Kiritish-chiqarish holatini tekshirish buyruqlari Kiritish-chiqarish moduli va
unga ulangan PQlarning holatini tavsiflovchi har xil belgilarni sinash uchun ishlatiladi.
PQ bilan ma'lumotlar almashinuvi kiritishva chiqarish buyruqlari bilan
ta'minlanadi. Kiritish buyruqlari Kiritish-chiqarish moduliga PQ dan ma'lumotlar
elementini (bayt yoki so‘z) qabul qilishni va ma'lumotlar shinasiga joylashtirishni
buyuradi, va chiqarish buyruqlari Kiritish-chiqarish modulini ma'lumotlar shinasidan
qabul qilishni va uni PQ ga yuborishini ta'minlaydi.
Buyruq oqimi buyruqlari hisob-kitoblar ketma-ketligini o‘zgartirishi mumkin
bo‘lgan uch turdagi buyruqlarni o‘z ichiga oladi:
 shartsiz o‘tish;
 shartli o‘tish;
 protsedurani chaqirish va protseduradan qaytarish.
Shartli o‘tish ma'lum bir shart bajarilgandagina sodir bo‘ladi, aks holda tabiiy
tartibda navbatdagi dastur buyrug‘i bajariladi.
O‘tish amalga oshiriladigan shart ko‘pincha oldingi arifmetik yoki mantiqiy
operatsiya natijasining belgisidir.Funksiyalarning har biri protsessor bayroqlari
registrining o‘z bitida o‘rnatiladi.
Zamonaviy XMlar protsedura mexanizmidan intensiv foydalanish bilan ajralib
turadi.Protsedurani dasturning istalgan joyida chaqirish mumkin.XMuchun bunday
chaqiruv shu nuqtada protsedurani amalga oshirish kerakligini anglatadi va keyin
chaqiruv qilingan joydan keyin darhol ortga qaytadi.
Protsessual mexanizm dasturning joriy nuqtasidan protseduraning boshlang‘ich
buyrug‘iga o‘tishni ta'minlaydigan protsedura chaqiruv buyruqlariga asoslangan va
chaqiruv buyrug‘idan so‘ng darhol nuqtaga qaytish uchun buyruqlarni protseduradan
qaytarish tushuniladi. Ushbu rejim chaqiruv paytida buyruq hisoblagichi tarkibidagi
mavjud holatni saqlash va protseduradan chiqishda uni tiklash uchun vositalar
mavjudligini nazarda tutadi.
Protsessor va RAM
Hammangizga ma'lumki, kompyuter miyasi - protsessor. U kompyuter ichida
sodir bo‘lgan barcha jarayonlarni boshqaradi.
6.1-rasm. Operativka ishlash jarayoni
Protsessor kompyuterdagi barcha qurilmalar va jarayonlarni boshqaradi
Protsessor rus, ingliz va boshqa tillarni tushunmaydi. U o‘zi uchun oddiy
buyruqlar bo‘lgan raqamlarni tushunadi, masalan: xotiradan ba'zi ma'lumotlarni oling,
ba'zi ma'lumotlarni qo‘shingva hokazo.
Protsessor ko‘plab buyruqlarni biladi va ularning har biri o‘z raqamli kodiga ega,
masalan:
35 - ma'lumotlarni bir xotira joyidan boshqasiga nusxalash
48 - 2 ta raqamni qo‘shing
12 - mantiqiy operatsiyani bajarish yoki (yoki)
Protsessorda muhandislar tomonidan tuzilgan barcha ko‘rsatmalar va ularning
raqamli kodlari to‘plami protsessor arxitekturasi deb ataladi. Bu apparat arxitekturasi
emas, balki dasturiy ta'minotdir.Har bir protsessor ishlab chiqaruvchisi o‘zining
arxitekturasini yaratadi.Bu shuni anglatadiki, bir xil buyruq turli protsessorlarda har xil
raqamli kodlarga ega bo‘ladi.
6.2-rasm. Operativka arxitekturasin solishtirish
Shunday
qilib,
protsessor
kichik
raqamli
ko‘rsatmalarni
bajarishi
mumkin.Ammo ularni qaerdan oladi?Operativ xotiradan.RAMni juda ko‘p kichik
hujayralar deb tasavvur qiling.Har bir hujayraning o‘ziga xos manzili bor - bu oddiy
raqam, masalan 2001 yil. Yacheykaning manzilida protsessor ma'lumotlarni so‘rashi
mumkin va RAM ularni qaytarib beradi. Shuningdek, protsessor ushbu katakchaga
yangi ma'lumotlarni yozishi mumkin.
Protsessor uchun ko‘rsatmalar xotira yacheykasida saqlanadi. Ammo ular
raqamli ravishda ifodalanishi mumkin bo‘lgan har qanday boshqa ma'lumotlarni
saqlashi mumkin, masalan: harflar, rasmlar, musiqa yoki videolar.
Protsessor RAMga yacheykaning manziliga murojaat qiladi, operativ xotira
unga ushbu yacheykadan buyruq qaytaradi, protsessor buyruqni bajaradi.Keyin
protsessor yana xotiraga kiradi (boshqa yacheykaga), buyruq oladi, uni bajaradi va bu
sikl qaytaqayta takrorlanadi. Ya'ni, protsessor har doim berilgan buyruqlar ketmaketligini (raqamli kodlar) bajaradi.Ushbu ko‘rsatmalar ketma-ketligi mashina kodi
deb nomlanadi..
Protsessorni qandaydir dasturni bajarishga majbur qilish uchun, masalan, 2+2*2
tenglamani echish uchun, biz oddiy raqamli ko‘rsatmalar zanjirini yozishimiz kerak.
Yuqorida sanab o‘tilgan buyruq kodlari endi shunday ko‘rinadi:
MOV (raqamli kod 35) - ma'lumotlarni bitta xotira joyidan boshqasiga nusxalash
ADD (raqamli kod 48) - 2 ta raqam qo‘shing
ORL (raqamli kod 12) - mantiqiy OR yoki (yoki) operatsiyani bajarish
Shuningdek, buyruqlar nomiga buyruqlar bajarilishi uchun qo‘shimcha
ma'lumot beradigan operandlar (bir yoki bir nechtasi) qo‘shilgan
6.3-rasm. Operandlar va operatsiyalar
"Hello, World!" Iborasini chiqaradigan assembler dasturining misoli
section.text
global_start
_start:
mov edx,len // qator uzunligi
mov ecx,msg // yozilayotgan habarga ishora
mov ebx,0// xato yo‘q
int0x80 // buyruqni uzish signali
mov eax,1 // chiqish = exit
int 0x80
section.data
msg db 'Hello, world!', 0xA // yangi qator
len equ $ - msg
Yuqori darajadagi dasturlash tillari
Shunday qilib, protsessorning har bir arxitekturasi uchun bir xil dasturni
assemblerda "qayta yaratishingiz" kerak bo‘ladi. Har bir arxitektura uchun siz alohida
Assembler vositasini yuklab olishingiz va u orqali kodingizni ishlatishingiz kerak.
Bu ko‘chirishni murakkablashtiradi. Bunga katta dasturlarni yozishning
murakkabligi va yangi vositalarni yaratish zarurligini qo‘shing.
Shu tarzda yuqori darajadagi dasturlash tillari paydo bo‘la boshladi.
Ularning mohiyati shundan iboratki, assemblerdagi buyruqlar zanjirlari alohida
funksiyalarga birlashtirilgan. Endi "Hello, World!" Xabarini ko‘rsatish uchun bitta
buyruq kifoya.
Kompilyatsiya qilinadigan tillar
Kompilyatsiya qilingan dasturlash tilida yozilgan dastur har doim ishga
tushirishdan oldin kompilyatsiya jarayonidan o‘tadi.Ya'ni, yozilgan barcha yuqori
tartibli kodlar protsessor tushunadigan mashina kodiga aylantiriladi.
6.4-rasm. Operandlar va operatsiyalarni dasturlashda ishlatilishi
Interpretatsiya qilinadigan tillar
Kompilyatsiya qilinadigan tillar kod yozish vazifasini ancha osonlashtirdi.
Ammo barcha protsessor arxitekturalarida va har qanday operatsion tizimda
ishlaydigan dastur yozishingiz mumkin. Bu erda Python, PHP, Perl, Paskal va boshqa
talqin qilingan dasturlash tillari paydo bo‘ladi.
Bular yana yuqori darajadagi tillar bo‘lib, ular ham kod yozishni osonlashtiradi.
Ammo ular kompilyatsiya qilinadigan tillarga qaraganda kamida ikkita
afzalliklarga ega:
• interpritatsiya qilingan tillardagi dasturlar tegishli interpritator o‘rnatilgan
joyda ishlaydi dasturni sinab ko‘rish uchun har safar yozilgan kodni kompilyatsiya
qilishning hojati yo‘q. Ushbu kod tezda amalga oshiriladi, bu dasturni ishlab chiqishni
tezlashtiradi
Interpritator kompilyator bilan deyarli bir xil ishlaydi, lekin bitta kichik, ammo
muhim xususiyati bilan: yuqori tartibli kodni mashina kodiga emas, balki undan past
bayt kodiga o‘zgartiradi.
Bytecode - bu arxitekturasidan qat'i nazar, barcha protsessorlar tomonidan
tushuniladigan kod.
Bayt kodi - bu protsessor tushunadigan eng past til.
Mashina kodi - bu raqamli buyruqlar zanjiri.Barcha protsessor ko‘rsatmalari
muhandislar tomonidan ishlab chiqilgan protsessor arxitekturasini yaratadi.Turli xil
protsessor ishlab chiqaruvchilari bir xil ko‘rsatmalar uchun turli xil raqamlarga ega
bo‘lishlari mumkin.
Assembler - bu assembler kodni mashina kodiga aylantiruvchi vosita.
Dasturlarni mashina kodiga qaraganda assembler tilda yozish osonroq, ammo baribir
bu muammo.
Kompilyator va Interpreter - bu yuqori darajadagi kodni protsessor
tushunadigan kodga o‘zgartiradigan vositalar.
Yuqori darajadagi til - bu oddiy, tushunarli funksiyalarga ega bo‘lgan katta
dasturlarni yaratishga imkon beruvchi ertak.
Nazorat savollari.
1. "Operatsiya-operand" xisoblashlar nima?
Javob: Operatsiya operand "xisoblashlar modeli" tipik operatorlarni o'z ichiga
oladi va ulardan foydalanib amallarni bajaradi. Xisoblashlar modelida
matematik elementlar va ularning o'zaro aloqalari mavjud bo'lishi mumkin.
"Operatsiya-operand" xisoblashlarda qanday matematik amallar ishlatiladi?
2. Xisoblashlarda operatsiyalar va operandlar qanday tartibda qo‘shiladi yoki
ajratiladi?
Javob: Masalan, qo'shish, ayirish, ko'paytirish, bo'lish va boshqa matematik
amallarni bajarish uchun operandlar yoki qiymatlar o'zgaruvchilar yoki sonlar
bo'lishi mumkin. Operatsiya operand "xisoblashlar modeli" kodning bir qismini
tashkil etadi va matematik amallar yordamida to'plamni boshqarish
imkoniyatini ta'minlayadi.
3. "Operatsiya-operand" xisoblashlarda qanday xatolar aniqlanishi va ishlatilishi
mumkin?
Javob: Kompilyatsiya qilinadigan tillar kod yozish vazifasini ancha
osonlashtirdi. Ammo barcha protsessor arxitekturalarida va har qanday operatsion
tizimda ishlaydigan dastur yozishingiz mumkin. Bu erda Python, PHP, Perl, Paskal va
boshqa talqin qilingan dasturlash tillari paydo bo‘ladi.
4. "Operatsiya-operand" xisoblashlarining kompyuter ilmidagi ta'qibi nimalardan
iborat?
JAVOB: Bayt kodi - bu protsessor tushunadigan eng past til.
Mashina kodi - bu raqamli buyruqlar zanjiri.Barcha protsessor ko‘rsatmalari
muhandislar tomonidan ishlab chiqilgan protsessor arxitekturasini yaratadi.Turli xil
protsessor ishlab chiqaruvchilari bir xil ko‘rsatmalar uchun turli xil raqamlarga ega
bo‘lishlari mumkin.
Assembler - bu assembler kodni mashina kodiga aylantiruvchi vosita.
Dasturlarni mashina kodiga qaraganda assembler tilda yozish osonroq, ammo baribir
bu muammo.
Kompilyator va Interpreter - bu yuqori darajadagi kodni protsessor
tushunadigan kodga o‘zgartiradigan vositalar.
Yuqori darajadagi til - bu oddiy, tushunarli funksiyalarga ega bo‘lgan katta
dasturlarni yaratishga imkon beruvchi ertak.
Download