3-maruza. Kompyuterni tashkil qilishning raqamli-mantiqiy asoslari bul algebrasi. Bul funkciyalarini amalga oshirish. Ikkilik kodda buyruqlarning bajarilishi

3-maruza.Kompyuterni tashkil qilishning raqamli-mantiqiy asoslari.bul algebrasi .Bul funkciyalarini amalga oshirish .Ikkilik kodda buyruqlarning bajarilishi
Kompyuterning elementi hisoblangan - raqamli sxema yordamida o‘zgaruvchilari va qiymati ikkita mantiqiy qiymatdan birini qabul qilishi mumkin bo‘lgan funksiyalar amalga oshiriladi. Bunday funksiyalar Bul funksiyalari deb ataladi. Ushbu funksiyalar va ularni qo‘llash qoidalari ingliz matematiki Djordj Bul (1815-1864) nomi bilan yuritiladigan Bul algebrasida ishlab chiqilgan. Kompyuter arxitektursasining raqamli mantiqiy sathi elementlarini loyihalashda, Bul algebrasi qoidalaridan foydalaniladi. 1.18-rasmda hozirgi kompyuter sxemalarini tashkil qiluvchi va Bul algebrasining oddiy funksiyalari hisoblangan, mantiqiy ko‘paytirish – И (AND), mantiqiy qo‘shish – ИЛИ (OR) va inkorlash – НЕ (NOT) funksiyalarini bajaruvchi elementlar va ularning haqiqat jadvallari keltirilgan.
1.18-rasm. Bul algebrasining oddiy funksiyalarini bajaruvchi elementlar.
32
Bu elementlarni, o‘zbek tilida mos holda VA, HAM va EMAS deb atash mumkin. Biz ularni va boshqa shu kabi elementlarni rus va ingliz tillaridagi nomlaridan foydalanamiz. 1.18-rasmning yuqori qismida elementlarning Amerika standartidagi, pastki qismida esa Rossiya standartidagi ko‘rinishlari keltirilgan [2].
Ushbu sxemalarning kirishiga 0 yoki 1 ga teng bo‘lgan mantiqiy o‘zgaruvchilar beriladi, ularning chiqishida esa, yana o‘sha mantiqiy qiymatlarni qabul qila olishi mumkin bo‘lgan funksiyalarning, ya’ni Bul funksiyalarining qiymatlari olinadi. Sxemalarda mantiqiy qiymatlar ma’lum bir kattalikdagi kuchlanishlar bilan ifodalanadi. Odatda mantiqiy 0-ga 0 dan 1V-gacha bo‘lgan kuchlanish, mantiqiy 1-ga esa 2 dan 5V-gacha bo‘lgan kuchlanishlar mos keladi. TTL va ESL texnologiyalarida mantiqiy 1-ga to‘g‘ri keladigan kuchlanishning maksimal qiymati 5V, MOP texnologiyasida esa +3,3V bo‘lishi mumkin.
Yuqoridagi va keyingi rasmlarda keltirilgan oddiy mantiqiy funksiyalarni amalga oshiruvchi juda kichik elektron qurilmalar – ventillar deb ataladi. Ventillar - tranzistorlar asosida quriladi (1.19-rasm). Barcha zamonaviy mantiq, ya’ni mantiqiy sxemalarni qurish binar uzgich-ulagich sifatida ishlay oladigan tranzistorlarga asoslanadi. Tranzistor yordamida, ikkita qiymatga ega signallardan turli xil Bul funksiyalarini amalga oshiruvchi raqamli sxemalarni hosil qilish mumkin. Kompyuterlarni qurishda ishlatilgan kichik mikrosxemalardan tortib, to katta va o‘ta katta integratsiyadagi mikrosxemalar hisoblangan turli xildagi protsessorlar ham – raqamli sxemalardan tashkil topgandir. Shuning uchun kompyuterlar protsessorlarining ko‘rsatgichlaridan biri sifatida, ularning tarkibida ishlatilgan tranzistorlar sonidan ham foydalaniladi. Masalan: biz ushbu qo‘llanmada ko‘rib chiqadigan 8-razryadli protsessor Intel 8080 protsessori tarkibida 6 mingta, 16-razryadli protsessor Intel 8088 tarkibida 29 mingta va 32-razryadli protsessor Pentium 4 protsessori tarkibida esa 42 millionta tranzistor ishlatilgan.
1.19-rasmda keltirilgan НЕ (NOT) - inkorlash amalini bajaruvchi elementning sxemasi tarkibida, bipolyar tranzistor qo‘llanilgan. Tranzistor tashqi muhit bilan bog‘lana oladigan uchta ulanish nuqtalariga ega, ular – kollektor, baza va emitter deb nomlanadi.
Agar Vin kirish kuchlanishi, ya’ni tranzistorning bazasidagi kuchlanish ma’lum bir kritik qiymatdan kichik bo‘lsa, tranzistorda uzilish
33
sodir bo‘ladi va u juda katta qiymatga ega qarshilik sifatida ishlaydi. Kritik qiymat deganda - mantiqiy 1-ga to‘g‘ri keladigan kuchlanishdan kichikroq bo‘lgan kuchlanishning qiymati tushuniladi. Bunda tranzistorning kollektoriga berilayotgan +Vcc kuchlanishi natijasida hosil bo‘lgan tok, tranzistor orqali uning emitteriga o‘ta olmaydi. Natijada sxema uchun chiqish signali hisoblangan Vout kuchlanishining qiymati, +Vcc kuchlanishining qiymatiga yaqin qiymatga teng bo‘ladi. Ushbu xildagi tranzistorlar uchun odatda +Vcc = 5V.
1.19-rasm. НЕ (NOT) - inkorlash amalini bajaruvchi element.
Agar Vin kuchlanishining qiymati kritik qiymatdan katta bo‘lsa, tranzistor ulanadi, ya’ni u orqali tok oqa boshlaydi va tranzistor o‘tkazgich sifatida ishlaydi. Bu esa Vout signalini erga ulanganligini anglatadi, ya’ni bunda Vout ≈ 0 bo‘ladi. Demak agar sxemadagi Vin kuchlanishining qiymati [0,5V] chegaraning pastki qiymatiga yaqin bo‘lsa, Vout kuchlanishining qiymati chegaraning yuqori qiymatiga ega bo‘ladi. Bu esa ushbu sxemani, inkorlash sxemasi - invertor ekanligini anglatadi. Unda mantiqiy 0, mantiqiy 1 ga, mantiqiy 1 esa mantiqiy 0 ga aylantiriladi. Sxemada siniq chiziqlar shaklida ifodalangan qarshilik (rezistor) esa tranzistor kuyib qolmasligi uchun, undan o‘tayotgan tok kuchini cheklash maqsadida qo‘yilgan. Tranzistorni bir holatdan boshqa holatga o‘tishi uchun, bir necha nanosekund kerak bo‘ladi. 1.19.-rasmning o‘ng tomonida inkorlash amalini
34
bajaruvchi element – invertorning chizmalardagi ifodalanishi va uning haqiqat jadvali keltirilgan.
1.20-rasmda keltirilgan НЕ-И (NOT-AND) – mantiqiy ko‘paytirish va inkorlash amallarini bajaruvchi elementining sxemasi tarkibidagi ikkita tranzistor ketma-ket ulangan. Agar V1 va V2 kuchlanishlarning qiymatlari [0, 5V] chegaraning yuqori qiymatlariga yaqin bo‘lsa, ya’ni mantiqiy 1-ga teng bo‘lsa, unda ikkala tranzistor ham o‘tkazgichlarga aylanadi va sxemaning chiqishidagi kuchlanish o‘zining past qiymatiga teng bo‘lib qoladi. Bunda chiqishda mantiqiy 0 hosil bo‘ladi. Agar tranzistorlardan birining kirishidagi, ya’ni bazasidagi kuchlanish past qiymatga – mantiqiy 0-ga teng bo‘lsa, chiqish kuchlanishi Vout mantiqiy 1-ga mos bo‘lgan kuchlanishga teng bo‘ladi. Boshqacha qilib aytganda, Vout kuchlanishi, mantiqiy 0-ga mos kuchlanishga teng bo‘ladi, qachonki V1 va V2 kuchlanishlarning qiymatlari mantiqiy 1-ga mos keladigan kuchlanishga teng bo‘lsagina. 1.20-rasmning o‘ng tomonida esa, ushbu elementning chizmalardagi ifodalanishi va uning haqiqat jadvali keltirilgan.
1.20-rasm. НЕ-И (NOT-AND) – mantiqiy ko‘paytirish va inkorlash amallarini bajaruvchi element.
1.21-rasmda keltirilgan НЕ-ИЛИ (NOT-OR) – mantiqiy qo‘shish va inkorlash elementining sxemasi tarkibidagi ikkita tranzistor parallel tarzda ulangan. Agar kirishdagi bitta signal yuqori qiymatga (mantiqiy 1-ga) teng bo‘lsa, unga tegishli tranzistor ulanadi va kirishdagi signal Vout o‘zining pastki qiymatiga, ya’ni mantiqiy 0-ga teng bo‘ladi. Agar ikkala kirishdagi
35
signal ham o‘zining pastki qiymatiga (mantiqiy 0-ga) teng bo‘lsagina, chiqishdagi kuchlanish yuqori qiymatga, ya’ni mantiqiy 1-ga teng bo‘ladi. 1.21-rasmning o‘ng tomonida, ushbu elementning chizmalardagi ifodalanishi va uning haqiqat jadvali keltirilgan.
1.21-rasm. НЕ-ИЛИ (NOT-OR) – mantiqiy qo‘shish va inkorlash amallarini bajaruvchi element.
Yuqoridagi rasmlarda keltirilgan sxemalar – uchta oddiy ventillarni tashkil etadi. Ular mos ravishda НЕ, НЕ-И va НЕ-ИЛИ ventillari deb ataladilar. Ushbu ventillarning chiqishidagi kichik aylanacha esa, inkorlovchi chiqish deb ataladi. Chizmalardagi A va B-lar kirish signallari, X esa chiqish signalidir. Haqiqat jadvallarining qatorlarida kirish signallarining kombinatsiyalari va ularga to‘g‘ri keladigan chiqish signallarining qiymatlari keltirilgan.
1.18-rasmda keltirilgan И (AND) - mantiqiy ko‘paytirish elementini, НЕ-И elementining chiqishini, НЕ elementining kirishiga ulash bilan hosil qilish mumkin. ИЛИ (OR) - mantiqiy qo‘shish elementini esa, НЕ-ИЛИ elementining chikishini, НЕ elementining kirishiga ulash bilan hosil qilish mumkin.
Beshta - И, ИЛИ, НЕ, НЕ-И va НЕ-ИЛИ ventillar, kompyuter arxitekturasi raqamli mantiqiy sathining asosini tashkil etadi. Bu erda muhim bo‘lgan jihatlardan birini ta’kidlab o‘tamiz. НЕ-И va НЕ-ИЛИ ventillarida – ikkitadan, И va ИЛИ ventillarida uchtadan tranzistorlar ishlatilgan. Shu sababli ko‘pgina kompyuterlarda НЕ-И va НЕ-ИЛИ ventillaridan asosiy – bazaviy elementlar sifatida foydalaniladi. И, ИЛИ va
36
boshqa mantiqiy funksiyalarni amalga oshiruvchi sxemalar НЕ-И va НЕ-ИЛИ ventillari asosida yig‘iladi (1.23-rasmga qaralsin).
Bul funksiyalari ham, odatdagi algebra funksiyalari kabi bitta, ikkita, uchta va hokazo sondagi o‘zgaruvchilarga ega bo‘lishi mumkin. Masalan: oddiy bir funksiya f-ni quyidagicha aniqlashtirishimiz mumkin, f (A)=1, agar A=0 bo‘lsa, f (A) = 0, agar A=1 bo‘lsa. Bunday funksiya НЕ funksiyasi bo‘ladi.
n-ta o‘zgaruvchiga bog‘liq bo‘lgan, bul funksiyasi o‘zgaruvchilarining mavjud kombinatsiyalari soni 2n-taga teng bo‘ladi. Ushbu funksiyaning barcha qiymatlarini esa, 2n-ta qatorga ega bo‘lgan jadval yordamida yozib chiqish mumkin, bunday jadval Bul algebrasida haqiqat jadvali deb ataladi. Yuqorida ko‘rib o‘tilgan elementlar bilan birga keltirilgan jadvallar, ularning haqiqat jadvallari hisoblanadi. НЕ funksiyasi bitta o‘zgaruvchili, И va ИЛИ funksiyalari esa ikkita o‘zgaruvchili funksiyalardir. Ikkita o‘zgaruvchili funksiyalarning haqiqat jadvallarida, o‘zgaruvchilarning kombinatsiyalari odatda 00, 01, 10 va 11 ketma-ketlikda yoziladi. Bunday funsiyalarni to‘liq tavsiflash uchun 22=4 ta razryadli ikkilik son kerak bo‘ladi, va u xaqikat jadvalining natijalar ustunini vertikal tarzda o‘qish bilan hosil qilinadi. Shunday qilib, И – bu 0001, ИЛИ – 0111, НЕ-И – 1110 va НЕ-ИЛИ – 1000 bo‘ladi (1.18, 1.20 va 1.21- rasmlarga qaralsin). 4-ta razryadli ikkilik sonlar ketma-ketligining 16 xil (0000, 0001, 0010, …, 1111) kombinatsiyasini yozish mumkin, bu esa ikkita o‘zgaruvchili funksiyaning 16-ta xili mavjud ekanligini anglatadi. Odatdagi algebrada esa ikkita o‘zgaruvchili funksiyaning cheksiz sondagi xillari mavjud. Bunday funksiyalarni xech birini, o‘zgaruvchilarining barcha mumkin bo‘lgan qiymatlari jadvali yordamida yozib bo‘lmaydi, negaki ushbu o‘zgaruvchilarning qiymatlari soni ham -cheksiz bo‘ladi.
Uch o‘zgaruvchili M=f(A,B,C) bul funksiyasini yuqorida ko‘rib o‘tilgan sxemalar yordamida qanday amalga oshirish mumkinligini ko‘rib chiqamiz. Shart - ushbu funksiyaning qiymati, uning o‘zgaruvchilari tarkibida qaysi bir qiymat ko‘proq bo‘lsa, o‘shanga teng bo‘lsin. Avval haqiqat jadvalini tuzib olamiz (1.22-rasm). Funksiyaning 1-ga teng bo‘lgan qiymatlari asosida quyidagicha yozuvni hosil qilamiz:
(1) 37
ya’ni o‘zgaruvchilarning kombinatsiyalari 011, 101, 110 va 111 bo‘lsa, funksiya 1 qiymatni (true), qolgan xolatlarda esa 0 qiymatni (false) qabul qilar ekan. Ushbu funksiyani amalga oshirish uchun uchta kirishga ega bo‘lgan uchta И elementi, to‘rtta kirishga ega bo‘lgan bitta ИЛИ elementi va uchta o‘zgaruvchilarni inkorlarini hosil qilib olish uchun uchta НЕ elementi kerak bo‘ladi.
1.22-rasm. M=f(A,B,C) funksiyasining xaqiqat jadvali va mantiqiy sxemasi.
|