8-dars: Xotirani qurish
2-blokMantiqdan apparatga5–8 darslar
Nega bu muhim
“Nega bu muhim” bo'limiga havolaO’tgan darsdagi qo’shuvchining bitta kamchiligi bor: u unutuvchan. Kirishni o’zgartirdingiz — natija ham o’sha zahoti o’zgardi, eskisidan iz ham qolmadi. Bunday sxema hisoblaydi, lekin hech narsani eslab qololmaydi.
Xotirasiz esa kompyuter yo’q: oraliq natijani qayerdadir saqlash kerak. Bu darsda blokning oxirgi jumbog’ini yechamiz — darvozalardan xotira yasaymiz. Shu bilan protsessor qurish uchun hamma qism qo’lda bo’ladi.
Bu darsdan keyin siz
- darvozalar zanjiri nega o’z-o’zidan eslab qola olmasligini tushuntira olasiz
- teskari bog’lanish bitni qanday ushlab turishini bilasiz
- takt nima uchun kerakligini va GHz nimani o’lchashini ayta olasiz
- registr va manzilli xotira (RAM) qanday tuzilganini bilasiz
Nazariya
“Nazariya” bo'limiga havolaMuammo: signal oqib o’tadi va yo’qoladi
“Muammo: signal oqib o’tadi va yo’qoladi” bo'limiga havolaShu paytgacha qurgan sxemalarimizda signal bir tomonga oqadi: kirishdan chiqishga. Kirish o’zgardi — chiqish o’zgardi. Sxemaning “hozirgi holati” degan tushunchasi yo’q, u faqat ayni damdagi kirishning aksi.
Eslab qolish uchun esa qiymat kirish o’zgargandan keyin ham turishi kerak. Savol: signalni qayerda “ushlab turamiz”?
Yechim: ilonning o’z dumini tishlashi
“Yechim: ilonning o’z dumini tishlashi” bo'limiga havolaHiyla ajablanarli darajada sodda: darvozaning chiqishini o’z kirishiga qaytarib ulaymiz. Bunga teskari bog’lanish deyiladi.
Ikkita NAND darvozasini bir-birining kirishiga chalkashtirib ulasangiz, sxema ikki barqaror holatdan birida “qotib” turadi: yo 0, yo 1. Tashqi signal uni bir holatdan ikkinchisiga ag’daradi — shundan flip-flop (“ag’dar-to’ntar”) degan nom kelib chiqqan.
flip-flopflip-flop
Bir bitni saqlovchi sxema. Teskari bog’langan darvozalardan tuziladi: chiqish kirishga qaytarilgani uchun qiymat o’z-o’zini ushlab turadi.
Bitta flip-flop — bitta bit. Million dona flip-flop — million bitlik xotira. Yangi g’oya kerak emas, faqat ko’paytirish kerak.
Takt: hammani bir qadamga soluvchi baraban
“Takt: hammani bir qadamga soluvchi baraban” bo'limiga havolaProtsessorda milliardlab darvoza bor va signal ular orqali turli tezlikda o’tadi. Agar har flip-flop signalni kelgan zahoti qabul qilsa, hali “pishmagan” oraliq qiymatlar yozilib qolib, tartibsizlik boshlanadi.
Yechim — takt: butun sxemaga birdek uriladigan zarba. Flip-floplar yangi qiymatni faqat takt zarbida yozadi. Zarblar orasida esa signallar bemalol joyiga yetib, tinchlanib oladi.
taktclock
Sxemadagi barcha flip-floplarga bir vaqtda boradigan davriy signal. Yangi qiymatlar faqat takt zarbida yoziladi — shu tufayli butun sxema bir qadamda yuradi.
Registrdan RAM’gacha
“Registrdan RAM’gacha” bo'limiga havolaTo’rtta flip-flopni yonma-yon qo’yib, bitta taktga ulasak — 4 bitlik registr hosil bo’ladi: bitta sonni saqlaydigan katakcha. Protsessor ichida ana shunday registrlardan bir hovuch bor va ular eng tez xotira hisoblanadi.
Endi ko’p registr kerak bo’lsa-chi? Ularni qatorga teramiz va har biriga raqam beramiz. Bu raqam manzil deyiladi: “7-katakka yoz”, “3-katakdan o’qi”. Qaysi katakka murojaat qilmang, vaqt bir xil ketadi.
RAMrandom access memory
Manzilli xotira: istalgan katakka to’g’ridan-to’g’ri, bir xil vaqtda murojaat qilinadi. Kompyuterning asosiy ish xotirasi shu tarzda tuzilgan.
Sinab ko’r
“Sinab ko’r” bo'limiga havolaAvval bitta bit. Uchala topshiriqni bajaring — asosiy sinov ikkinchisida: D o’zgargani bilan Q joyidan qimirlamaydi.
Flip-flop: bitta bitlik xotira
D kirishni tanlang, so'ng Takt bosing — bit yozib olinadi va saqlanadi.
Bu simulyatorda D flip-flop bor: D kirishdagi qiymat faqat takt zarbi kelganda Q chiqishga yoziladi. Takt orasida D ni o'zgartirsangiz ham Q joyida turadi — sxema bitni eslab qoladi.
JavaScript'siz sinash: daftarga jadval chizing — ustunlar: takt raqami, D, Q. D ni har qatorda o'zgartirib, Q faqat takt qatorlarida yangilanishini kuzating.
- Bit yozing: D = 1 qilib, Takt bosing — Q = 1 bo'lsin
- Xotirani sinang: D ni 0 ga qaytaring — Q hali ham 1 turibdi
- Qayta yozing: endi Takt bosing — Q = 0 bo'ladi
Endi shu bitlardan yasalgan kichkina RAM: 4 manzil, har birida 4 bitlik registr. Yozish taktni talab qiladi, o’qish esa — shunchaki qarash.
Registr va manzil: kichkina RAM
Manzilni tanlang, qiymatni bit-bit terib, Yozish tugmasini bosing.
Bu simulyatorda 4 manzilli kichkina xotira bor: har manzilda 4 bitlik registr. Yozish uchun manzil tanlanadi, qiymat teriladi va yozish buyrug'i beriladi. O'qish esa shunchaki manzildagi qiymatga qarash.
JavaScript'siz sinash: daftarga 4 qatorli jadval chizing (manzil 00, 01, 10, 11) va unga qiymatlar "yozib", keyin istalgan manzildan "o'qib" ko'ring.
| Manzil | Saqlangan bitlar | O'nlikda |
|---|---|---|
| 00 | 0000 | 0 |
| 01 | 0000 | 0 |
| 10 | 0000 | 0 |
| 11 | 0000 | 0 |
- 10-manzilga 9 sonini yozing
- 00-manzilga 12 sonini yozing
- To'rtala manzilda ham noldan farqli qiymat tursin
- Oddiy darvoza zanjiri eslab qolmaydi — chiqish faqat ayni damdagi kirishning aksi
- Teskari bog’lanish (chiqish → kirish) sxemani ikki barqaror holatli qiladi — bu flip-flop
- Takt hamma flip-flopni bir qadamga soladi; GHz — sekundiga milliard zarba
- To’rt flip-flop = 4 bitlik registr; manzillangan registrlar qatori = RAM
- Blok 2 tugadi: qaror (darvoza) + hisob (summator) + xotira (registr) — protsessorga tayyormiz
O’zingizni sinang
“O’zingizni sinang” bo'limiga havola1Qo'shuvchi sxema bilan flip-flopning tub farqi nimada?
Javobni ko'rish
Qo’shuvchida signal bir yo’nalishda oqib o’tadi: chiqish faqat hozirgi kirishga bog’liq. Flip-flopda chiqish kirishga qaytarilgan — shu halqa tufayli sxema oldingi holatini ushlab turadi, ya’ni xotiraga ega.
2Simulyatorda D ni o'zgartirganingizda Q nega o'zgarmadi?
Javobni ko'rish
Chunki D flip-flop yangi qiymatni faqat takt zarbida qabul qiladi. Takt kelmaguncha ichidagi halqa eski qiymatni aylantirib turaveradi. Aynan shu xususiyat uni xotira qiladi.
3Takt umuman bo'lmasa nima buziladi?
Javobni ko'rish
Har flip-flop signal yetib kelgan zahoti yozib olaveradi. Signallar sxemaning turli qismlaridan turli kechikish bilan keladi, shuning uchun hali hisoblanib bo’lmagan oraliq qiymatlar saqlanib qoladi. Takt hammani bir qadamga solib, faqat “tinchlangan” qiymatlar yozilishini kafolatlaydi.
48 bitlik registr yasash uchun nima kerak? 16 manzilli xotira uchun manzil necha bit bo'ladi?
Javobni ko'rish
8 bitlik registr — bitta taktga ulangan 8 ta flip-flop. 16 manzilni farqlash uchun 2ⁿ ≥ 16 bo’lishi kerak, ya’ni manzil 4 bit: 0000 dan 1111 gacha.
5RAM nomidagi 'random access' — tasodifiy murojaat — nimani anglatadi?
Javobni ko'rish
Istalgan manzilga to’g’ridan-to’g’ri va bir xil vaqtda murojaat qilish mumkinligini. Taqqoslang: magnit lentada o’rtadagi qo’shiqqa yetish uchun lentani o’rab borish kerak edi. RAM’da esa 0-katak ham, oxirgi katak ham birdek yaqin.
Amaliy topshiriq
Birinchi qism. Daftarda quyidagi jadvalni to’ldiring. D flip-flopga shu ketma-ketlik beriladi: D = 1, takt, D = 0, D = 1, takt, D = 0, takt. Har qadamdan keyin Q nimaga teng? (Boshlang’ich Q = 0 deb oling.)
Ikkinchi qism. “Nega takt kerak?” savoliga o’z so’zingiz bilan bir paragraf javob yozing. Javobda kamida bitta o’xshatish ishlating — orkestr dirijyori, svetofor, eshkak eshuvchilar jamoasi yoki o’zingiz topgan boshqa misol.
Qo’shimcha (xohlovchilar uchun). Kompyuteringizga bepul Logisim Evolution dasturini o’rnatib, unda 4 bitlik registr yig’ing: 4 ta D flip-flop, umumiy takt tugmasi va 4 ta kirish. Ishlagan sxemaning skrinshotini oling.
Topshiriladigan natija: to’ldirilgan jadval, takt haqidagi paragraf va (bo’lsa) Logisim skrinshoti.
Darsni belgilash uchun JavaScript kerak. Bu progressni saqlash uchun ishlatiladi — darslikning o'zi JavaScript'siz ham to'liq o'qiladi.