Oxirida keltirilgan topshiriqlarni va eslatmani o‘qing

|
Oxirida keltirilgan topshiriqlarni va eslatmani o‘qing
|
bet | 1/2 | Sana | 17.05.2024 | Hajmi | 405,77 Kb. | | #239521 |
Oxirida keltirilgan TOPSHIRIQLARni va ESLATMAni o‘qing
Yunalishi
guruh talabasi
FIO
KOMPYUTER TASHKIL ETILISHI FANIDAN
MAVZU: ZAMONAVIY PROTSESSORLAR VA ULARNING ISHLASH PRINTSIPI. АSSEMBLER TILIDA ASOSIY OPERATORLAR BILAN TANISHISH
Ishdan maqsad: Zamonaviy protsessorlar va ularning ishlash printsiplari bilan tanishish. Assembler tili haqida tushuncha va undagi asosiy operatorlar bilan tanishish.
Nazariy qism
Rivojlanish jarayonida yarimo‘tkazgichli tuzilmalar (mikrosxemalar) rivojlanib boradi, shuning uchun protsessorlarni qurish printsiplari, ularning tarkibiga kiradigan elementlar soni, ularning o‘zaro ta’sirini tashkil etish usuli doimo o‘zgarib turadi. Shunday qilib, bir xil asosiy dizayn tamoyillariga ega protsessorlar odatda bir xil me’morchilik protsessorlari deb ataladi. Va bunday printsiplarning o‘zi protsessor arxitekturasi (yoki mikroarxitektura) deb nomlanadi.
Mikroprotsessor (yoki protsessor) kompyuterning asosiy qismidir. U axborotni qayta ishlaydi, dasturlarni bajaradi va tizimdagi boshqa qurilmalarni boshqaradi. Dasturlarning qanchalik tez bajarilishi protsessor kuchiga bog‘liq.
Protsessor - jarayonni amalga oshiruvchi, boshqaruvchi maʼnolarini bildiradi. Kompyuter Protsessori asosan kompyuterda boʻladigan jarayonlarni amalga oshirish va boshqarish vazifalarini bajaradi. Asosiy oʻlchov birligi chastota hisoblanadi. Protsessor chastotasi uning maʼlum vaqt ichida nechta amalni bajara olishini ifodalaydi. Yadro har qanday mikroprotsessorning asosidir. U kremniy chipida joylashgan millionlab tranzistorlardan iborat. Mikroprotsessor umumiy maqsadli registrlar (RON) deb nomlangan maxsus hujayralarga bo‘linadi. Hammasi bo‘lib protsessorning ishi buyruqlar va ma’lumotlarni xotiradan ma’lum ketma-ketlikda olish va ularni bajarishdan iborat. Bundan tashqari, kompyuterning ishlashini yaxshilash uchun mikroprotsessor ichki kesh xotirasi bilan jihozlangan. Kesh xotirasi - bufer sifatida ishlatiladigan protsessorning ichki xotirasi (operativ xotira bilan aloqada uzilishlardan himoya qilish uchun).
Zamonaviy kompyuterlarda protsessor vazifasini 10 mm kvadratdan ham kichik yuzali yagona yarim o‘tkazgichli kristalda (kremniy yoki germaniy) joylashgan millionlab mitti tranzistorlardan tashkil topgan mikro-protsessor, ya’ni o‘ta zich integral sxema bajarmoqda. Misol sifatida ko‘radigan bo‘lsak, Intel Pentium Pro mikroprotsessori o‘z ichida 5,5 milliondan ortiq tranzistorlarni saqlaydi.
Protsessorning ish unumdorligi uning tezligi (taktli chastota) va razryadlar soni bilan belgilanadi. Tezlik protsessorning 1 sekundda bajargan amallar miqdori bilan belgilanadi va Gs (gers) bilan ifodalanadi. Masalan, i8086 protsessori 10 MGs (sekundiga 10 million amal) tezlikka ega bo‘lsa, Intel Pentium IV protsessori uchun bu ko‘rsatkich 1700 MGs va undan yuqoridir. Protsessorning razryadlari soni uning bir vaqtning o‘zida baravariga ishlashi mumkin bo‘lgan bitlar miqdori bilan aniqlanadi. Hozirgi kunda 16, 32, 64, 128 razryadli protsessorlar keng qo‘llanilmoqda. Protsessorning tezligini oshirish maqsadida hozirgi vaqtda kesh-xotira, turli matematik soprotsessorlar kabi vositalardan foydalanish yo‘lga qo‘yilgan. Shu kunlarda protsessorlarning ko‘p yadroli turlari ishlatilmoqda. Protsessor, asosan, quyidagi qismlardan iborat:
arifmetik-mantiqiy qurilma;
ma’lumotlar va adreslar shinasi;
registrlar;
buyruq jamlagichi;
kesh, ya’ni kichik hajmli o‘ta tezkor xotira;
Demak protsessor kompyuteringizning eng muhim komponentlaridan bir sanaladi. Aynan ushbu komponentdan kompyuterni jamlashni boshlash kerak. Hozirda barcha forumlarda protsessorlarni solishtirish muhokama qilinadi. Asosan ushbu solishtirishlar Intel va AMD protsessorlar orasida bo‘ladi. Protsessor kompyuterdagi barcha buyruqlarni ishlab chiqaradi (1.1-rasm).
1.1-rasm.Intel va AMD protsessorlari
Assembler tili bir dasturlash tili ma’lum bir turdagi protsessor uchun mo‘ljallangan past darajali. Biz uni ishlab chiqarishimiz mumkin manba kodi yuqori darajadagi dasturlash tilidan (masalan, C / C ++). Ammo biz ushbu tilda dasturlarni o‘zimiz ham yozishimiz mumkin. Biz o‘z navbatida assembler kodini assembler yordamida mashina kodiga aylantirishimiz mumkin.
Assembler - bu kompyuterni boshqaradigan va ko‘rsatmalarni bitlar naqshiga o‘zgartiradigan dastur. Protsessor undan asosiy operatsiyalarni bajarish uchun foydalanishi mumkin. Ya’ni, assembler tili - bu mashina tilining simvolik ko‘rinishidir. Mashinaning quyi apparat darajasidagi hamma jarayonlar mashina tili buyruqlari yordamida amalga oshiriladi (1.2-rasm).
1.2-rasm. Assembler dasturlash tili
Kompyuterlar ma’lum bir asosiy ko‘rsatmalar to‘plami bilan ta’minlanadi, ular kompyuter bajarishi mumkin bo‘lgan asosiy operatsiyalarga mos keladi. Masalan, "Load" iborasi protsessorning ketma-ket bitlarini protsessor xotirasidagi joydan registr deb ataladigan maxsus omborga ko‘chirilishiga olib keladi.
Dasturchi ushbu assembler ko‘rsatmalaridan foydalangan holda dastur yozishi mumkin.
Deb nomlanuvchi assambleyerlarning ushbu ketma-ketligi manba kodi yoki manba dastur, keyinchalik dasturni boshlaganimizda assembler dasturida ko‘rsatiladi.
Assembler dasturi har bir dastur yo‘riqnomasini manba dasturida oladi va tegishli bitli oqim yoki naqsh hosil qiladi (nollar qatori va ma’lum uzunlikdagi birliklar).
Assambleyer dasturining chiqishi kirish manbai dasturiga nisbatan ob’ekt kodi yoki ob’ekt dasturi deb ataladi. Ob’ekt dasturini tashkil etadigan nollar va bir qatorlar qatori mashina kodi deb ham ataladi.
Keyin biz ob’ekt dasturini istalgan vaqtda ishga tushirishimiz mumkin.
Assambleya tili ko‘rsatmalar yoki izohlarni ifodalovchi bayonotlardan iborat. Yo‘riqnomalar tilning ishchi qismi bo‘lib, quyidagi uch guruhga bo‘linadi:
Mashina uchun ko‘rsatmalar.
Montajchi uchun ko‘rsatmalar.
Ibratli ko‘rsatmalar.
Ko‘pgina kompilyatorlar manba kodini to‘g‘ridan-to‘g‘ri mashina kodiga o‘zgartirganligi sababli yarating dasturiy ta’minotni ishlab chiquvchilar ko‘pincha assembler tilidan foydalanmasdan dasturlar. Ammo ba’zi hollarda biz dasturni aniq sozlash uchun assembler kodidan foydalanishimiz mumkin. Masalan, dasturchi ma’lum bir jarayonni iloji boricha samarali ishlashiga ishonch hosil qilish uchun uni assembler tilida yozishi mumkin.
Assembler tillari protsessor arxitekturasiga qarab turlicha bo‘lishiga qaramay, ular ko‘pincha tegishli ko‘rsatmalar va operatorlarga ega. Quyida x86 protsessorlarini qo‘llab-quvvatlaydigan ko‘rsatmalarga ba’zi misollar keltirilgan.
MOV - ma’lumotlarni bir joydan boshqasiga ko‘chirish.
ADD - ikkita qiymatni birga qo‘shish.
SUB - bitta qiymatni boshqa qiymatdan ayirish.
PUSH - ma’lumotlarni to‘plamga surish.
POP - to‘plamdan olingan ma’lumotlar.
JMP - boshqa joyga o‘tish.
INT - jarayonni to‘xtatish.
3 va 4 raqamlarini qo‘shish uchun quyidagi oddiy yig‘ish kodidan foydalanishimiz mumkin:
mov eax, 3 - "eax" registriga 3 yuklaydi.
mov ebx, 4 - "ebx" registrga 4 yuklaydi.
eax, ebx, ecx qo‘shing - "eax" va "ebx" ni qo‘shing va natijani (7) "ecx" da saqlang.
Biroq, assemblerda dastur yozish juda mashaqqatli jarayondir. Buning sababi shundaki, har bir operatsiya juda oddiy darajada bajarilishi kerak. Kompyuter dasturini yaratish uchun hech qachon assembler kodidan foydalanishning hojati bo‘lmasligi mumkin, ammo assambleyer tilini o‘rganish ko‘pincha informatika o‘quv dasturining bir qismidir, chunki u protsessorlarning ishlash uslubi to‘g‘risida foydali ma’lumot beradi.
|
| |