8-bo‘lim
Mantiqiy elementlar va sumator
NAND universal elementi, undan boshqa elementlarni qurish, yarim va to'liq sumator hamda 8 bitli qo'shuvchi qurilma.
Ushbu bo‘lim mundarijasi
Shu paytgacha sonlarni ko'rdik. Endi ular ustida amal bajaradigan sxemani quramiz.
Ajablanarlisi: butun protsessorni bitta turdagi elementdan yasash mumkin.
NAND - universal element #
Mantiqiy element - bu kirishdagi 0 va 1 larga qarab chiqishga 0 yoki 1 beradigan sxema. Ularning o'z belgilari bor:
Har birining xatti-harakati rostlik jadvali bilan to'liq tasvirlanadi. Ikkita kirish uchun jami to'rtta holat bor:
| a | b | NAND | VA | YOKI | XOR |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 | 1 | 1 |
| 1 | 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 |
EMAS ning bitta kirishi bor: EMAS(0) = 1, EMAS(1) = 0.
NAND ustuniga diqqat qiling - u VA ning aynan teskarisi.
Ana shu oddiy element butun protsessorni qurish uchun
yetarli.
Genri Sheffer NAND amali funksional to'liq ekanini isbotladi: undan istalgan mantiqiy funksiyani qurish mumkin.
Uni ba'zan Sheffer shtrixi deb atashadi.
NOR ham xuddi shunday universal. Qolgan amallar esa emas: faqat AND dan NOT ni qurib bo'lmaydi.
Amaliy ahamiyati katta: zavod bitta turdagi elementni ishlab chiqarishni o'rgansa, undan istalgan sxemani yig'ish mumkin.
Aslida bugungi chiplar samaradorlik uchun bir necha xil element ishlatadi, lekin nazariy asos shu bo'lib qolgan.
Sumator #
Endi eng muhim savol: qo'shishni qanday qilib mantiqiy element bilan bajarish mumkin?
Bitta bitni qo'shishni ko'rib chiqamiz. 1 + 1 = 10 - ya'ni
natija ikki bitli: yig'indi va tashish.
Javob hayratlanarli darajada sodda:
Yarim sumatorning rostlik jadvali:
| a | b | yig'indi | tashish |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Oxirgi qatorga qarang: 1 + 1 da yig'indi 0 bo'ldi va 1
tashildi - xuddi qo'lda qo'shgandagidek.
To'liq sumator uchinchi kirishni - oldingi razryaddan kelgan tashishni - qabul qiladi:
| a | b | t | yig'indi | tashish |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
Oxirgi qatorni tekshiring: 1 + 1 + 1 = 3, ikkilikda 11 -
ya'ni yig'indi biti 1 va tashish biti ham 1. To'g'ri.
Diqqat qiling: yig'indi biti aynan XOR, tashish biti aynan AND. Boshqa hech narsa kerak emas.
Bu shunchaki kuzatish emas - bu qo'shishning butun mohiyati.
8 bitli sumator #
Endi to'liq sumatorlarni zanjirga ulaymiz: har birining tashishi keyingisining kirishiga boradi.
Shu sxema bilan bir nechta qo'shishni tekshiramiz:
| a | b | natija | tashish | Izoh |
|---|---|---|---|---|
| 12 | 5 | 17 | 0 | oddiy holat |
| 200 | 100 | 44 | 1 | 300 sakkiz bitga sig'madi |
| 255 | 1 | 0 | 1 | eng katta sondan oshdi |
| 127 | 1 | 128 | 0 | sig'di |
| 0 | 0 | 0 | 0 | - |
Ikkinchi qatorga qarang: 200 + 100 = 300, lekin natija
44 chiqdi. Sabab - 300 sakkiz bitga sig'maydi
(eng kattasi 255). Chiqish tashishi 1 bo'lishi aynan
shuni bildiradi.
Protsessorda bu bayroq registrida saqlanadi va dastur uni tekshirishi mumkin.
Endi eng chiroyli qismi - ayirish. 3-bo'limdagi to'ldiruvchi kod tufayli alohida sxema kerak emas:
a − b = a + (EMAS b) + 1
| Amal | Natija |
|---|---|
| 12 − 5 | 7 |
| 5 − 12 | −7 |
| 100 − 100 | 0 |
Ya'ni b ning bitlarini teskarilab, 1 qo'shsak - o'sha
sumator ayirishni bajaradi. Bitta sxema ikkala amalni
qoplaydi.
Ushbu bo'limning asosiy xulosasi qo'shish algoritmi emas.
Asosiy xulosa - qatlamlar:
| Qatlam | Nimadan qurilgan |
|---|---|
| Tranzistor | Fizika |
| NAND | Tranzistorlar |
| XOR, AND | NAND |
| To'liq sumator | XOR va AND |
| 8 bitli sumator | To'liq sumatorlar |
| ALU | Sumator va boshqalar |
| Protsessor | ALU va boshqaruv |
Har qatlamda ishlayotgan odam pastdagi qatlamni bilishi shart emas. Bu 2-bo'limdagi (tarmoqlar darsligi) qatlamlar g'oyasining aynan o'zi - faqat temirda.
Bizning sumatorimizda 8-bitning natijasi 7-bitning tashishini kutadi, u esa 6-bitnikini, va hokazo.
64 bitli sonda bu 64 ta ketma-ket qadam degani. Signal zanjir bo'ylab yugurib chiqishi kerak.
Haqiqiy protsessorlarda boshqa sxemalar ishlatiladi:
| Sxema | G'oya |
|---|---|
| Tashishni oldindan ko'rish | Tashish alohida, tezroq yo'l bilan hisoblanadi |
| Tashishni tanlash | Ikkala variant birga hisoblanadi, keyin tanlanadi |
Ular ko'proq tranzistor talab qiladi, lekin ancha tez. Bu arxitekturada doimiy savdo: maydon va tezlik.
- NAND ning rostlik jadvalini yoddan yozing.
- Qog'ozda NAND dan
EMASsxemasini chizing. VAni NAND dan qurish uchun nechta element kerak?- NOR ham universal - undan
EMASni qanday qurgan bo'lardingiz? - Yarim sumatorda
1 + 1nima uchun0berishini tushuntiring. - Nima uchun yarim sumator zanjirga ulash uchun yetarli emas?
200 + 100sakkiz bitda nega44berishini hisoblab ko'rsating.255 + 1uchun ham xuddi shunday hisob qiling.12 - 5ni12 + (EMAS 5) + 1orqali qo'lda hisoblang.- 16 bitli sumatorda ketma-ket tashish necha qadam oladi?
Xulosa #
- NAND universal element: undan istalgan mantiqiy funksiyani qurish mumkin.
- Buni 1913-yilda Genri Sheffer isbotlagan; NOR ham universal.
EMAS,VA,YOKIvaXOR- hammasi NAND dan yig'iladi.- Yarim sumator: yig'indi =
XOR, tashish =AND. - To'liq sumator uchinchi kirishni - oldingi tashishni - qabul qiladi.
- 8 bitli sumator sakkizta to'liq sumatorning zanjiri.
- Chiqish tashishi natija razryadga sig'maganini bildiradi.
- To'ldiruvchi kod tufayli o'sha sumator ayirishni ham bajaradi.
- Asosiy g'oya - qatlamlar: har qatlam pastdagisini bilmasdan ishlaydi.
- Ketma-ket tashish sekin; haqiqiy protsessorlar tezroq, lekin qimmatroq sxema ishlatadi.
Keyingi bo'limda bu sumatorni protsessor ichiga joylashtiramiz va registrlar bilan tanishamiz.
O‘qish tarixini saqlamoqchimisiz?
Tizimga kirsangiz, tugatgan bo‘limlaringiz saqlanadi va qoldirgan joyingizdan davom etasiz.
Xatolik topdingizmi?
Imlo xatosi, ishlamaydigan kod yoki noto‘g‘ri ma‘lumotni ko‘rsangiz - bizga xabar bering. Har bir xabar administrator tomonidan ko‘rib chiqiladi.