SlideShare a Scribd company logo
1 of 46
Download to read offline
5.1.1. 2-тын тооллын систем
Бидний өдөр тутмын хэрэглээнд ашигладаг 10-тын тооллын систем нь 0-оос 9 хүртлэх тоог
ашигладаг. Тэгвэл компьютерт ердөө л 0 ба 1 гэсэн тоог ашигласан 2-тын тооллын системийг
(binary) ашиглана. Хоёртын тооллын системд 1 тэмдэгтийг нэг бит (bit) гэж нэрлэнэ.
1 bit = 1 binary digit
4 bit = 1 nibble
8 bit = 1 byte
2 byte = 1 word
2 word = 1 double word
2 double word = 1 quad word
(word-ийн хэмжээ нь процессорын төрлөөс хамааран 2 byte ба 4 byte урттай
байна)
2-тын тооллын систем дэх N битийн урттай үг нь 0-оос 2N-1 хүртэл ялгаатай 2N утга авна. Жишээ
нь:
1 бит урттай үг нь 0-оос 1 хүртэл 0 ба 1 гэсэн 2 ялгаатай утгыг авна.
Үүнтэй адилаар:
2 бит – 0-оос 3 хүртэл 00 01 10 11 гэсэн 4 утга
3 бит – 0-оос 7 хүртэл 000 001 010 011 100 101 110 111 гэсэн 8 утга
4 бит – 0-оос 15 хүртэл 0000 0001 0010 ... 1111 гэсэн 16 утга
5 бит – 0-оос 31 хүртэл 00000 00001 ... 11111 гэсэн 32 утга
6 бит – 0-оос 63 хүртэл 000000 000001 ... 111111 гэсэн 64 утга
7 бит – 0-оос 127 хүртэл 0000000 0000001 ... 1111111 гэсэн 128 утга
8 бит – 0-оос 255 хүртэл 00000000 00000001 ... 11111111 гэсэн 256 утга г.м
2-тын тооллын систем (binary)-ээс гадна 0-ээс 7 хүртэл тоог ашигласан 8-тын тооллын систем
(octal), 0-ээс 9 хүртлэх тоо, A, B, C, D, E, F үсгүүдийг ашигласан 16-тын тооллын систем
(hexadecimal), BCD тооллын системүүдийг өргөн ашигладаг.
Доорх хүснэгтэнд өргөн хэрэглэгддэг дээрх тооллын системүүдийг хооронд нь харьцуулж үзэв.
decimal binary BCD octal hexadecimal
0 0 0000 0 0
1 1 0001 1 1
2 10 0010 2 2
3 11 0011 3 3
4 100 0100 4 4
5 101 0101 5 5
6 110 0110 6 6
7 111 0111 7 7
8 1000 1000 10 8
9 1001 1001 11 9
10 1010 0001 0000 12 A
11 1011 0001 0001 13 B
12 1100 0001 0010 14 C
13 1101 0001 0011 15 D
14 1110 0001 0100 16 E
15 1111 0001 0101 17 F
16 10000 0001 0110 20 10
17 10001 0001 0111 21 11
18 10010 0001 1000 22 12
99 110011 1001 1001 143 63
Иймээс бусад тооллын системүүдээс бидний хэрэглэж заншсан 10-тын тооллын систем рүү болон
10-тын тооллын системээс бусад тооллын систем рүү хэрхэн хөврүүлэхийг авч үзье.
2-тын тооллын системээс 10-тын тооллын систем уруу хөврүүлэх:
11001101b=1x2
7
+1x2
6
+0x2
5
+0x2
4
+1x2
3
+1x2
2
+0x2
1
+1x2
0
=128+64+0+0+8+4+0+1=205
1101.101b=1x2
3
+1x2
2
+0x2
1
+1x2
0
+1x2
-1
+0x2
-2
+1x2
-3
=8+4+0+1+0.5+0+0.125=13.625
101.011b=1x2
2
+0x2
1
+1x2
0
+0x2
-1
+1x2
-2
+1x2
-3
=4+0+1+0+0.25+0.125=5.375
8-тын тооллын системээс 10-тын тооллын систем уруу хөврүүлэх:
572.6o=5x8
2
+7x8
1
+2x8
0
+6x8
-1
=320+56+2+0.75=378.75
245.37o=2x8
2
+4x8
1
+5x8
0
+3x8
-1
+7x8
-2
=165.484357
hexadecimal тооллын системээс 10-тын тооллын систем уруу хөврүүлэх:
2A.8h=2x16
1
+10x16
0
+8x16
-1
=32+10+0.5=42.5
30F.A9h=3x16
2
+0x16
1
+15x16
0
+10x16
-1
+9x16
-2
=783.66015625
10-тын тооллын системээс 2-тын тооллын систем уруу хөврүүлэх:
29/2=14 үлдэгдэл 1
14/2=7 үлдэгдэл 0
7/2=3 үлдэгдэл 1
3/2=1 үлдэгдэл 1
1/2=0 үлдэгдэл 1
29=11101b
0.3125*2=0.625 бүхэл хэсэг нь 0
0.625*2=1.25 бүхэл хэсэг нь 1
0.25*2=0.5 бүхэл хэсэг нь 0
0.5*2=1 бүхэл хэсэг нь 1
173
.3125=.0101b
5.1.2. 2-тын тооллын систем дэх арифметик үйлдлүүд
Нэмэх үйлдэл
11011 дээр 10011-ийг нэмье. Нэмэх үйлдлийн үед орон шилжихийг carry out, өмнөх үйлдлээс
шилжиж ирсэн оронг cаrry in гэж тэмдэглэвэл нэмэх үйлдлийг дараах байдлаар илэрхийлж
болно. /зураг 5.1/
зураг 5.1.
Иймээс 2-тын тооллын системд нэмэх үйлдлийг гүйцэтгэхдээ дараах дүрмийг баримтлана. Энд
carry in нь өмнөх үйлдлээс шилжиж ирсэн оронг, carry out нь нэмэх үйлдлийн үед орон
шилжихийг тус тус илэрхийлнэ. /зураг 5.2/
зураг 5.2.
Хасах үйлдэл
11001-ээс 10011-ийг хасья. Хасах үйлдлийн үед орон шилжихийг carry in, өмнөх оронгоос
зээлэхийг borrow гэвэл хасах үйлдлийг дараах байдлаар тэмдэглэж болно. /зураг 5.3/
зураг 5.3.
Иймээс 2-тын тооллын системд хасах үйлдлийг гүйцэтгэхдээ дараах дүрмийг баримтлана.
/зураг 5.4/
зураг 5.4.
Үржүүлэх үйлдэл
11001-ийг 10101-ээр үржүүлье. /зураг 5.5/
зураг 5.5.
2-тын тооллын системд тоог үржүүлэх нь 10-тын тооллын системтэй адилхан бөгөөд
үржүүлэхдээ дараах дүрмийг баримтлана. /зураг 5.6/
зураг 5.6.
174
5.1.3. Эерэг ба сөрөг тоо
2-тын тооллын системд 4 битийн урттай үг нь 0-оос 15 хүртэл 0000 0001 ... 1111 гэсэн утга авна.
Тэгвэл 2-тын тооллын системд сөрөг тоог хэрхэн тэмдэглэдгийг үзье. 2-тын тооллын системд сөрөг
тоог илэрхийлэх 3 арга байдаг.
Sing and magnitude
Энэ арга нь 2-тын тооллын систем дэх тоог sign ба magnitude гэж хуваана. /зураг 5.7/
зураг 5.7.
sing нь 0 бол тухайн тоо нэмэх тоо, 1 бол сөрөг тоо гэж үзнэ. Жишээ нь 8 битийн урттай үг нь
01111111 (+127)-гоос 11111111 (-127) хүртэл утга авна. Энэ аргаар хувиргалт хийвэл
00000000 = +0 ба 10000000 = -0 гэсэн 2 тэг байна. Энэ аргаар тоог сөрөг тоон уруу нь
шилжүүлэхдээ sing битийг нь урвуугаар нь солих хэрэгтэй. Жишээ нь:
00100001b = +33
10100001b = -33
00000101b = +5
10000101b = -5
1st complement
Энэ аргаар сөрөг тоог тогтоохдоо түүний бүх оронг урвуугаар нь солино. Жишээ нь:
00100001b = +33
11011110b = -33
00000101b = +5
11111010b = -5
1st complement-ээр 8 битийн урттай үг нь 01111111 (+127)-гоос 10000000 (-127) хүртэл утга
авна. Энэ аргаар хувиргалт хийвэл 00000000 = +0 ба 11111111 = -0 гэсэн 2 тэг байна.
2st complement
Энэ аргаар сөрөг тоог тогтоохдоо түүний бүх оронг урвуугаар нь сольж, гарсан үр дүн дээр 1-
ийг нэмнэ. Жишээ нь:
00100001b = +33
11011111b = -33
00000101b = +5
11111011b = -5
2st complement-ээр 8 битийн урттай үг нь 01111111 (+127)-гоос 10000000 (-128) хүртэл утга
авна. Энэ аргаар хувиргалт хийвэл 00000000 = 0 гэсэн ганц тэг байна.
Ингээд дээрх 3 аргыг хооронд нь харьцуулж үзье.
decimal binary
sign
magnitude
1st
complement
2st
complement
15 1111 - - -
14 1110 - - -
13 1101 - - -
12 1100 - - -
11 1011 - - -
10 1010 - - -
9 1001 - - -
8 1000 - - -
7 0111 0111 0111 0111
6 0110 0110 0110 0110
5 0101 0101 0101 0101
4 0100 0100 0100 0100
3 0011 0011 0011 0011
2 0010 0010 0010 0010
1 0001 0001 0001 0001
+0 0000 0000 0000 0000
-0 - 1000 1111 -
-1 - 1001 1110 1111
-2 - 1010 1101 1110
-3 - 1011 1100 1101
-4 - 1100 1011 1100
-5 - 1101 1010 1011
-6 - 1110 1001 1010
-7 - 1111 1000 1001
-8 - - - 1000
175
2 өөр урттай үгийг хооронд шилжүүлэхдээ дараах байдлаар шилжүүлнэ. Жишээлбэл 8 битийн
урттай үгийг 16 битийн урттай үг рүү шилжүүлье:
+18 = 00010010 (8 bit)
+18 = 0000000000010010 (16 bit)
-18 = 10010010 (8 bit) – 2st complement
-18 = 1111111100010010 (16 bit) - 2st complement
5.1.4. 2st complement архиметикийн үйлдлүүд
2st complement нэмэх үйлдэл
2st complement-ийн нэсэх үйлдэл нь 2-тын тооллын системийнхээ үнсэндээ адилхан. Харин 4
битийн урттай хоёр тоог хооронд нь нэмэхэд хариу нь мөн 4 битийн урттай байх ёстой. Хэрэв
орон хэтэрвэл тэр хэтэрсэн оронг extra bit гэж нэрлэх бөгөөд түүнийг тооцохгүй. Жишээ нь
зураг 5.8-ийн 2, 4, 6-р нийлбэрүүдийн хувьд extra bit үүсэх бөгөөд түүнийг тооцохгүй гээсэн
байна.
зураг 5.8.
Overflow нь нэмэх үед гарсан үр дүн нь үгийн уртаас хэтэрсэн эсэхийг тогтооно. Жишээлбэл 4
битийн 2 тоог хооронд нь нэмж байх үед нийлбэр нь нэмэх тоо бол 7-гоос хэтрэхгүй, хасах тоо
бол 8-аас хэтрэхгүй байх ёстой. Хэрэв хэтэрвэл үгийн уртаас хэтрэх тул ийм үр дүнг тооцохгүй.
Иймээс нэмэх үед нийлбэр нь үгийн уртаас хэтэрч байвал түүнийг overflow гэх бөгөөд ийм үр
дүнг тооцохгүй. Overflow-г таних амархан. Үүний тул тулд хэрэв нэмж байгаа хоёр тоо хоёул
нэмэх, эсвэл хасах үед гарах үр дүнгийн тэмдэг эсрэгээрээ солигдсон бол түүнийг overflow гэж
үзнэ. Жишээлбэл дээрх нийлбэрүүдийн сүүлийн 2 нь overflow болсон байна.
2st complement хасах үйлдэл
2st complement-ийн 2 тоог хасахдаа хасагдаж байгаа тоог сөрөг тоонд шилжүүлээд дараа нь
хоёр тоог хооронд нь нэмнэ. Зураг 5.9-д үзүүлсэн жишээнүүдийн хувьд 2, 4, 6-р үйлдлүүдэд
extra bit-үүд үүссэн бөгөөд 5, 6-д нь overflow буюу орон хэтэрсэн байна.
зураг 5.9.
5.1.5. Floating Point Number
Олон оронтой тоон дээр математик үйлдлийг хийх зорилгоор Floating Point Number-ийг ашиглана.
Өөрөөр хэлбэл 23*1021
, -0.0017*1021
зэрэг тоонууд дээр үйлдэл хийх зорилгоор Floating Point
Number-ийг ашиглана. Floating Point Number-ийг sing bit, mantissa bits, exponent bits гэж гурав
хэсэгт хуваана. /зураг 5.10/ Жишээ нь +23*1021
-ийг Floating Point Number хэлбэрт оруулбал
+0.23*1023
. Энд + тэмдгийг sign, таслалаас хойших орон 23-ийг mantissa, аравын зэрэгт 23-ийг
exponent гэнэ. Иймээс тоог Floating Point Number-т оруулахын тулд эхлээд нормаль хэлбэрт
шилжүүлэх хэрэгтэй.
зураг 5.10.
176
Эндээс үзвэл sign bit нь тухайн тоог нэмэх хасах болохыг, mantissa нь үржвэрийн таслалаас хойших
оронг, exponent нь зэргийг тус тус илэрхийлнэ. Энд sign bit = 1 бол нэмэх, sign bit = 0 бол хасах
гэнэ. Жишээ нь –6.5 ба +0.1875-ийг Floating Point Number хэлбэрт оруулья. /зураг 5.11/
зураг 5.11.
5.1.6. Floating Point архиметик
Floating Point тоонуудын хувьд үржүүлэх ба нэмэх үйлдлүүдийг хэрхэн гүйцэтгэхийг үзье.
Floating Point тоонуудыг хооронд нь үржүүлэхдээ дараах дүрмийг баримтлана.
Mantissa-уудыг нь үржүүл
Exponent-үүдийг нь нэм
Нормаль хэлбэрт шилжүүл
Жишээ нь:
0.12*102
*0.2*1030
=(0.12*0.2)*102+30
=0.024*1032
=0.24*1031
Floating Point тоонуудыг хооронд нь нэмэхдээ дараах дүрмийг баримтлана.
Exponent-үүдийг нь адилхан болго
Mantissa-уудыг хооронд нь нэм
Нормаль хэлбэрт шилжүүл
Жишээ нь:
0.12*103
+0.2*102
=0.12*103
+0.02*103
=(0.12+0.02)*103
=0.14*103
5.1.7. BCD тооллын систем
Binary Coded Decimal (BCD) систем нь 10-тын ба 2-тын тооллын системүүдийг хооронд нь холбож
өгөх зориулалттай хялбаршуулсан систем. Энэ системээр 10-тын системийн тоо болгонг 4 бит
хэлбэрээр илэрхийлж болно. Жишээ нь:
0 – 0000
1 – 0001
2 – 0010
3 – 0011
4 – 0100
5 – 0101
6 – 0110
7 – 0111
8 – 1000
9 – 1001 гэж илэрхийлж болно.
Үүнийг ашиглан 10-тын ба 2-тын тооллын системүүдийг хялбар аргаар хооронд нь шилжүүлж
болно. Жишээ нь:
234=0010 0011 0100
7093=0111 0000 1001 0011
1000 0110=86
BCD ба 2-тын тооллын системүүд нь хоорондоо адилгүй. Жишээ нь:
234=11101010b
234=0010 0011 0100 – BCD
BCD тооллын системээс 16-тын (hexadecimal) тооллын систем уруу хөврүүлэх:
0001 0111=23
0001 0111
1 7
0001 0111=17h
0110 0001 1000 0011=24963
0110 0001 1000 0011
6 1 8 3
0110 0001 1000 0011=6183h
0101 1101 1001 1011 1000=5D9B8h
Энэ санааг мөн 8-тын тооллын системд (octal) ашиглаж болно. Ингэхдээ харин 3 битээр нь
блоклоно. Жишээ нь:
010 111 001.101 110=2731.56o
177
5.1.8. ASCII (American Standard Code for Information Interchange) код
Компьютерийн хувьд зөвхөн тоог 2-тын болон Floating Point хэлбэрээр дүрслэхээс гадна үсэг (A Z,
a z), тусгай тэмдэгт симболууд (α ϖ ∞ ≅ ≈ ≠ ± ≥ г.м) зэргийг ч мөн 2-тын тооллын системд дүрслэх
шаардлага гардаг. Иймээс энэ зорилгоор үсэгнүүд, тусгай тэмдэгтүүдийг 2-тын тооллын системд
оруулсан албан ёсны стандарт болж чадсан тусгай хүснэгт шаардлагатай. Жишээ нь ASCII хүснэгт.
ASCII code Odd parity bit
0
1
.
9
.
A
B
.
Z
[

011 0000
011 0001
.
011 1001
.
100 0001
100 0010
.
101 1010
101 1011
101 1100
1
0
.
1
.
1
1
.
1
0
1
5.1.9. Parity bit
Parity bit нь тэгш сондгойг тогтоох замаар дамжууллын үед алдаа гарсан эсэхийг хянах зорилготой.
Odd parity bit гэдэг нь сондгой бол 0, тэгш бол 1, even parity bit нь сондгой бол 1, тэгш бол 0
байна.
Parity bit-ийн тусламжтайгаар дамжууллын үед гарсан дараах алдааг илрүүлж чадна.
10011 10001
Өөрөөр хэлбэл дээрх тохиолдолд дамжуулахаас өмнө odd parity bit нь 0 байсан бол дамжууллын
дараа 1 болсон байна.
Харин parity bit-ийн тусламжтайгаар дамжууллын үед тохиолдсон дараах алдааг илрүүлэх
боломжгүй.
10011 10101
Учир нь дамжуулахаас өмнө odd parity bit нь 0 байсан бол дамжууллын дараа ч мөн 0 хэвээр
байна.
Мөн ганц өгөгдлийг дамжуулах үед гарсан алдааг илрүүлэхэд ашиглахаас гадна блок өгөгдлийг
дамжуулах үед гарсан алдааг мөр багананых нь тэгш сондгойг шалгах замаар тогтоож болно.
Жишээ нь зураг 5.12.
зураг 5.12.
5.2.1. Булийн алгебр (Boolean Algebra)
1984 онд Жорж Бул анх удаа логик үйлдлүүдийг гүйцэтгэх математик томьёоллыг зохиосон бөгөөд
үүнийг Булийн алгебр гэнэ. Жишээ нь логикийн хувьд AND нь 2 зүйлийг харьцуулахад зөвхөн
тухайн 2 зүйл үнэн байхад л үнэн байдаг бусад тохиолдолд худлаа байдаг бол OR нь аль нэг нь
үнэн байхад үнэн байдаг, харин 2-улаа худлаа байхад л худлаа байдаг, NOT нь үнэн байхад худлаа
байдаг, худал байхад үнэн байдаг г.м энэ санаануудыг математик загварчилд оруулж өгсөн.
Жишээ нь саяны хэлсэн зүйлүүдийг хүснэгт хэлбэрээр илэрхийлбэл:
A B A AND B A B A OR B A NOT A
худал худал худал худал худал худал үнэн худал
худал үнэн худал худал үнэн үнэн худал үнэн
үнэн худал худал үнэн худал үнэн
үнэн үнэн үнэн үнэн үнэн үнэн
Ингээд Булийн томьёолсны дагуу дээрх үйлдлүүдийг математикт хэрхэн илэрхийлдгийг үзье.
AND үйлдэл – логикийн энэ үйлдэл нь архиметикийн үржүүлэх үйлдэлтэй төсөөтэй тул
түүнийг үржих тэмдгээр тэмдэглэдэг.
0⋅0 = 0 A⋅0 = 0
0⋅1 = 0 A⋅1 = A
178
1⋅0 = 0 A⋅A = A
1⋅1 = 1 A⋅A’ = 0
OR үйлдэл – логикийн энэ үйлдэл нь архиметикийн нэмэх үйлдэлтэй төсөөтэй тул түүнийг
нэмэх тэмдгээр тэмдэглэдэг.
0+0 = 0 A+0 = A
0+1 = 1 A+1 = 1
1+0 = 1 A+A = A
1+1 = 1 A+A’= 1
NOT буюу үгүйсгэх үйлдэл
0’= 1 1’= 0 A’’= A
Жорж Бул логикийн үйлдлүүдийг математик загварчилж оруулахаас гадна тэдний хувьд ямар
үйлдлүүдийг хийх боломжтойг томъёолж өгсөн. Жишээ нь логикийн үйлдлүүдийн хувьд
архиметийн байр сэлгэх, бүлэглэх, хаалт задлах зэрэг үйлдлүүдийг гүйцэтгэх боломжтой
эсэхийг тогтоож өгсөн. Жишээ нь логикийн хувьд хаалт задлах A(B+C)=AB+AC хууль биелдэг
эсэхийг шалгая. Үүний тулд дээрх 2 үйлдлийн үнэмшлийн хүснэгтийг байгуулаад харьцуулж
үзье.
A B C B+C A(B+C) A B C AB AC AB+AC
0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 1 0 0 0
0 1 0 1 0 0 1 0 0 0 0
0 1 1 1 0 0 1 1 0 0 0
1 0 0 0 0 1 0 0 1 0 0
1 0 1 1 1 1 0 1 1 1 1
1 1 0 1 1 1 1 0 1 0 1
1 1 1 1 1 1 1 1 1 1 1
Ингээд логик үйлдлүүдийн хувьд архиметикийн ямар хуулиуд хүчин төгөлдөр болохыг үзье.
Бүлэглэх
(A·B)·C = A·(B·C) = A·B·C
(A+B)+C = A+(B+C) = A+B+C
Байр сэлгэх
A·B = B·A = AB
A+B = B+A
Хаалт задлах
A·(B+C) = (A·B) + (A·C)
Бусад
A = A+0
A = A+1
A = A+A
A = A+AA’
A = A+AB
A = A·1
A = A·A
A = A·(A+B)
A+B = A +⎯AB
A+BC = (A+B) · (A+C)
Морганы теорем (DeMorgan's Theorem)
(A·B)' = A' + B' (NAND)
(A+B)' = A' · B' (NOR)
5.2.2. Үндсэн логик элементүүд
Тоон электроникт логик үйлдлүүдийг гүйцэтгэдэг элементүүдийг логик gate-үүд гэж нэрлэнэ.
Жишээ нь AND, OR, NOT гэсэн үндсэн логик үйлдлүүдийг гүйцэтгэдэг элементүүдийг үзье.
AND GATE
Бүгд нь 1 байх үед 1, бусад тохиолдолд 0 гардаг логик үйлдлийг AND үйлдэл гэнэ. Энэ үйлдэл
нь математикийн үржүүлэх үйлдэлтэй төстэй бөгөөд энэ үйлдлийг үржүүлэхийн тэмдгээр
тэмдэглэдэг. Жишээ нь: 1⋅1=1, 1⋅0=0, 0⋅1=0, 0⋅0=0 г.м. Энэ үйлдлийг гүйцэтгэдэг
элементийг AND GATE гэх ба дараах байдлаар тэмдэглэнэ. /зураг 5.13/
A B A AND B
0 0 0
0 1 0
1 0 0
зураг 5.13. 1 1 1
179
OR GATE
Бүгд 0 байх үед 0, бусад тохиолдолд 1 гардаг логик үйлдлийг OR үйлдэл гэнэ. Энэ үйлдэл нь
нэмэх үйлдэлтэй төсөөтэй бөгөөд түүнийг нэмэх тэмдгээр тэмдэглэдэг. Жишээ нь: 0+0=0,
0+1=1, 1+0=1, 1+1=1 г.м. Энэ үйлдлийг гүйцэтгэдэг элементийг OR GATE гэх бөгөөд дараах
байдлаар тэмдэглэнэ. /зураг 5.14/
A B A OR B
0 0 0
0 1 1
1 0 1
зураг 5.14. 1 1 1
NOT GATE
Бүгдийг түүний урвуугаар нь сольдог логик үйлдлийг NOT үйлдэл буюу үгүйсгэл гэнэ. Жишээ
нь: 0’=1, 1’=0 г.м. NOT үйлдлийг гүйцэтгэдэг элементийг NOT GATE гэж нэрлэх бөгөөд
дараах байдлаар тэмдэглэнэ. /зураг 5.15/
A NOT A
0 1
зураг 5.15. 1 0
AND, OR, NOT гэсэн гурван үндсэн логик үйлдлийг ашиглан тэдгээрийг хослуулан хэрэглэх
замаар төрөл бүрийн нарийн төвөгтэй логик үйлдүүдийг гүйцэтгэх боломжтой.
NAND GATE
Энэ NAND үйлдэл нь AND ба NOT үйлдлүүдийг ашиглана. Энэ нь AND логик үйлдлийн үгүйсгэл
бөгөөд 2 оролтонд хоёуланд 1 байх үед 0 гардаг, бусад тохиолдолд 1 гарна. Энэ үйлдлийг
гүйцэтгэдэг элементийг NAND GATE гэх бөгөөд дараах байдлаар тэмдэглэнэ. /зураг 5.16/
A B A NAND B
0 0 1
0 1 1
1 0 1
зураг 5.16. 1 1 0
NOR GATE
Энэ логик үйлдэл нь OR ба NOT үйлдүүдийг ашиглана. Энэ нь OR логик үйлдлийн үгүйсгэл
бөгөөд 2 оролтонд хоёуланд нь 0 байх үед л 1 гардаг бусад тохиолдолд 0 гарна. Энэ үйлдлийг
гүйцэтгэдэг элементийг NOR GATE гэх бөгөөд дараах байдлаар тэмдэглэнэ. /зураг 5.17/
A B A NOR B
0 0 1
0 1 0
1 0 0
зураг 5.17. 1 1 0
XOR GATE
Энэ логик үйлдэл нь хоёр оролтонд ялгаатай утга байх үед л 1 гардаг, бусад тохиолдолд 0
гарна. Энэ үйлдлийг гүйцэтгэдэг элементийг XOR GATE гэх бөгөөд дараах байдлаар
тэмдэглэнэ. /зураг 5.18/
A B A XOR B
0 0 0
0 1 1
1 0 1
зураг 5.18. 1 1 0
Жишээлбэл логик AND, OR, NOT элементүүдийг ашигласан XOR элемент. /зураг 5.19/
зураг 5.19.
Логик NAND элементийг ашигласан XOR элемент. /зураг 5.20/
180
зураг 5.20.
5.2.3. Логик үйлдлүүдийг хэрхэн гүйцэтгэх
AND үйлдэл /зураг 5.21/
0⋅0 = 0 A⋅0 = 0
0⋅1 = 0 A⋅1 = A
1⋅0 = 0 A⋅A = A
1⋅1 = 1 A⋅A’ = 0
зураг 5.21.
OR үйлдэл /зураг 5.22/
0+0 = 0 A+0 = A
0+1 = 1 A+1 = 1
1+0 = 1 A+A = A
1+1 = 1 A+A’= 1
зураг 5.22.
NOT үйлдэл /зураг 5.23/
0’= 1 1’= 0 A’’= A
зураг 5.23.
Бусад үйлдлүүд
(A·B)·C = A·(B·C) = A·B·C /зураг 5.24/
зураг 5.24.
(A+B)+C = A+(B+C) = A+B+C /зураг 5.25/
зураг 5.25.
A·(B+C) = (A·B) + (A·C) /зураг 5.26/
зураг 5.26.
A+(B·C) = (A+B) · (A+C) /зураг 5.27/
зураг 5.27.
A·B = B·A = AB /зураг 5.28/
181
зураг 5.28.
A+B = B+A /зураг 5.29/
зураг 5.29.
A+AB = A /зураг 5.30/
зураг 5.30.
A+⎯AB = A+B /зураг 5.31/
зураг 5.31.
(A+B)ּ(A+C) = A+BC /зураг 5.32/
зураг 5.32.
Морганы теорем (DeMorgan's Theorem)
(A·B)' = A' + B' (NAND) /зураг 5.33/
зураг 5.33.
(A+B)' = A' · B' (NOR) /зураг 5.34/
зураг 5.34.
5.2.4. Логик элементүүдийг ашиглах
NOT элементийг ашигласан 1st complement уруу хөврүүлэгч /зураг 5.35/
зураг 5.35.
AND элементийг ашиглан оролтонд өгсөн импульсээс тодорхой хугацааны торх импульсийг тоолох
/зураг 5.36/
182
зураг 5.36.
5.3.1. Бааз элементүүд
Тоон электроникт ашиглагддаг логик үйлдлүүдийг гүйцэтгэдэг элементүүд нь дараах бааз
элементүүдэд суурилагдан хийгдсэн байдаг. Ямар нэгэн бааз элементийн гол үүрэг тухайн бааз
элементийг ашиглан NOR буюу NAND үйлдлийг гүйцэтгэж чаддаг байх явдал юм. Учир энэ 2
үйлдлийн аль нэгнийг нь ашиглан ямарч төвөгтэй логик үйлдлийг гүйцэтгэх боломжтой байдаг.
5.3.2. Diode Logic (DL) бааз элемент
Диод логик бааз элемент нь хагас дамжуулагч диодыг ашиглана. Энэ бааз элементийг хэлхээнд
дараах хоёр хэлбэрээр холбож ашиглана.
Хэрэв диодыг зураг 5.37-д үзүүлснээр холбовол оролтонд 0 байхад диод нээлттэй байх тул
диодоор гүйдэл гүйхгүй. Иймээс гаралтанд мөн адил 0 байна. Харин оролтонд 1 байхад диод
хаагдаж диодоор гүйдэл гүйх учраас гаралтанд оролттой адилхан 1 байна.
A Z
0 0
зураг 5.37.
1 1
Хэрэв диодыг зураг 5.38-д үзүүлснээр холбовол оролтонд 0 байхад диод хаалттай байх тул
диодоор гүйдэл гүйх учраас гаралтанд мөн адил 0 байна. Харин оролтонд 1 байхад диод нээгдэж
диодоор гүйдэл гүйхгүй учраас гаралтанд оролттой адилхан 1 байна.
A Z
0 0
зураг 5.38. 1 1
DL элементийг ашиглан AND ба OR үйлдлүүд, тэдгээрийн хослолыг хэрхэн гүйцэтгэхийг үзье.
DL OR GATE
Хэрэв 2 оролтонд логик 0 байвал диодууд нээлттэй (диодоор гүйдэл гүйхгүй) байх тул
гаралтанд 0 байна. Харин 2 оролтын аль нэгэнд логик 1 байвал тухайн диод хаагдаж (диодоор
гүйдэл гүйнэ) гаралтанд 1 гарна. Эндээс үзвэл энэ нь логик OR үйлдлийг гүйцэтгэж байна.
/зураг 5.39/
A B Z
0 0 0
0 1 1
1 0 1
Z=A+B
зураг 5.39. 1 1 1
DL AND GATE
Хэрэв 2 оролтонд логик 1 байвал диодууд нээлттэй (диодоор гүйдэл гүйхгүй) байх учраас
гаралтанд 1 байна. Харин 2 оролтын аль нэгэнд логик 0 байвал тухайн диод хаагдаж (диодоор
гүйдэл гүйж) гаралтанд 0 гарна. Эндээс үзвэл энэ нь логик AND үйлдлийг гүйцэтгэж байна. /зураг
5.40/
183
A B Z
0 0 0
0 1 0
1 0 0
Z=A⋅B
зураг 5.40.
1 1 1
DL AND-OR GATE /зураг 5.41/
A B C D Z
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 1
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
Z=A⋅B+C⋅D
зураг 5.41. 1 1 1 1 1
5.3.3. Resistor-Transistor Logic (RTL) бааз элемент
Транзистор-резистор бааз элемент нь биполяр транзисторыг ашиглана. Жишээлбэл энэ бааз
элементийг ашиглан NOT, OR, NOR үйлдлүүдийг хэрхэн гүйцэтгэхийг үзье.
RTL NOT GATE
Оролтонд логик 0 байвал транзистор нээлттэй (транзистораар гүйдэл гүйхгүй) буюу
хэрчилтийн горимд байх тул гаралтанд 1 гарна. Харин оролтонд логик 1 байвал транзистор
хаагдаж (транзистораар гүйдэл гүйнэ) ханасан төлөвтөө орох учраас ханасан транзистор дээр
унах хүчдэл маш бага тул гаралтанд 0 гарна. Эндээс үзвэл энэ элемент нь логик NOT үйлдлийг
гүйцэтгэдэг байна. /зураг 5.42/
A Z
0 1
Z=A’
зураг 5.42.
1 0
4 оролттой RTL NOR GATE
4 оролтонд 4-үүлэнд нь логик 0 байх үед бүх транзисторууд хэрчилтийн горимд байх тул
гаралтанд 1, 4 оролтын аль нэгэнд нь логик 1 байх үед тухайн транзистор нээгдэж ханалтын
горимонд орох тул гаралтанд 0 байх тул энэ элемент нь логик NOR үйлдлийг гүйцэтгэж байна.
/зураг 5.43/
A B C D Z
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
Z=(A+B+C+D)’
0 1 0 1 0
184
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
зураг 5.13.
1 1 1 1 0
4 оролттой RTL OR GATE
Мөн дээрх NOR элементийн гаралтан үгүйсгэлийг хэрэглэн OR элементийг гаргаж болно. /зураг
5.44/
A B C D Z
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 1
0 1 0 0 1
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 1
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
Z=A+B+C+D
зураг 5.44. 1 1 1 1 1
5.3.4. Diode-Transistor Logic (DTL) бааз элемент
Энэ бааз элемент нь диод болон биполяр транзисторыг ашиглана. Жишээлбэл энэ бааз элементийг
ашиглан NOT, NOR, NAND үйлдлүүдийг хэрхэн гүйцэтгэхийг үзье.
DTL NOT GATE
Оролтонд логик 0 байвал 1-р диод хаалттай, 2-р диод нээлттэй байх тул транзисторын бааз
дээр 0 болж транзисторын хэрчилтийн горимонд байна. Иймээс гаралтанд 1 гарна. Харин
оролтонд логик 1 байвал 1-р диод нээлттэй, 2-р диод хаалттай тул транзисторын бааз дээр
+5v болж транзистор ханасан төлөвтөө орно. Иймээс гаралтанд 0 байна. Эндээс үзвэл энэ
элемент нь логик NOT үйлдлийг гүйцэтгэнэ. /зураг 5.45/
A Z
0 1
Z=A’
зураг 5.45.
1 0
3 оролттой DTL NAND GATE
3 оролтын 3-ууланд нь логик 1 байх үед 1-р диодууд бүгд нээлттэй, 2-р диодууд бүгд хаалттай
байх тул транзисторын бааз дээр +5v-ийн хүчдэл унаж транзистор ханалтын горимонд орох
учраас гаралтанд 0 байна. Харин 3 оролтын аль нэгэнд логик 0 байвал тухайн оролтын 1-р
185
диод хаалттай, 2-р диод нээлттэй болох тул транзисторын бааз дээрх хүчдэл 0 болж
транзистор хэрчилтийн горимонд орох тул гаралтанд 1 гарна. Эндээс үзвэл энэ элемент нь
логик NAND үйлдлийг гүйцэтгэнэ. /зураг 5.46/
A B C Z
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
Z=(A⋅B⋅C)’
зураг 5.46. 1 1 1 0
DTL NOR GATE
2 оролтонд 2-уланд нь логик 0 үед 2 оролтын 1-р диодууд хаалттай, 2-р диодууд нээлттэй байх
тул транзисторуудын бааз дээр 0 байж транзисторууд хэрчилтийн төлөвт (транзистор
нээлттэй) орох тул гаралтанд 1, аль нэг оролтонд логик 1 үед тухайн оролтын 1-р диод
нээлттэй, 2-р диод хаалттай тул транзисторын бааз дээр +5v хүчдэл унаж транзистор
ханалтын төлөвт (транзистор хаалттай) орох тул гаралтанд 0 гарна. Иймээс энэ элемент нь
логик NOR үйлдлийг гүйцэтгэнэ. /зураг 5.47/
A B Z
0 0 1
0 1 0
1 0 0
Z=(A+B)’
зураг 5.47.
1 1 0
DTL AND-OR GATE /зураг 5.48/
A B C D Z
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 1
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
Z=A⋅B+C⋅D
зураг 5.48.
1 1 1 1 1
5.3.5. Transistor-Transistor Logic (TTL) бааз элемент
DTL бааз элементэд ашиглагддаг диоднуудын оронд транзисторыг ашигласан. Жишээлбэл DTL
NOT gate-ийг хэрхэн TTL бааз элементийг ашиглан хийхийг үзье.
186
DTL NOT GATE /зураг 5.49/
Z=A’
зураг 5.49.
TTL NOT GATE /зураг 5.50/
Z=A’
зураг 5.50.
DTL NOR GATE /зураг 5.51/
Z=(A+B)’
зураг 5.51.
TTL NOR GATE /зураг 5.52/
Z=(A+B)’
зураг 5.52.
TTL NAND GATE
TTL бааз элемент нь DTL-ийг сайжруулсан хувилбар бөгөөд харьцангуй хурдан ажиллагаатай
тул практикт өргөн ашиглагддаг.
Практикт ашиглагддаг TTL бааз элемент нь арай илүү нийлмэл бүтэцтэй байна. Жишээлбэл
практикт ашиглагддаг TTL NAND GATE нь дараах бүтэцтэй байдаг. Өөрөөр хэлбэл практикт
өргөн хэрэглэгддэг 7400/5400 серийн IC (интеграл схем)-үүд нь доорх бүтэцтэй TTL бааз
элементийг ашигласан байдаг. Энд нэг онцлог нь нэг ерөнхий коллектор болон баазтай, олон
эммитертэй транзисторыг ашигладаг. Иймээс 1-р транзисторын 3 эммитер дээр зэрэг 0 байхад
транзистор хаалттай (транзистораар гүйдэл гүйнэ) байх тул гаралтанд 1, 1-р транзисторын аль
нэг эммитер дээр 1 байхад л транзистор нээгдэх (транзистораар гүйдэл гүйхгүй) тул гаралтанд
0 болно /зураг 5.53/
187
A B C Z
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
Z=(A⋅B⋅C)’
зураг 5.53.
1 1 1 0
TTL сери Тэмдэглэл Жишээ
Standard TTL 54 or 74 7400 (quad NAND gate)
Low power TTL 54L or 74L 74L00 (quad NAND gate)
Schottky TTL 54S or 74S 74S00 (quad NAND gate)
Low power Schottky TTL 54LS or 74LS 74LS00 (quad NAND gate)
5.3.6. CMOS бааз элемент
2 өөр төрлийн оронгийн транзистор ашигласан энэхүү бааз элемент сүүлийн жилүүдэд шинээр
гарч ирсэн шинэ технологи юм. 2 өөр төрлийн транзистор ашигладаг тул оролтонд ямар ч сигнал
ирсэн аль нэг нь хаалттай, нөгөө нь нээлттэй байдаг онцлогтой. Хэрэв оролтонд 0 байвал дээд
транзистор хаалттай, доод транзистор нээлттэй байх учраас гаралтанд 1, оролтонд логик 1 байвал
дээд транзистор нээлттэй, доод транзистор хаалттай байх тул гаралтанд 0 байна. /зураг 5.54/
зураг 5.54.
CMOS NOT GATE
Хэрэв оролтонд логик 0 сигнал ирвэл N-СMOS (доод талынх) нээгдэж, P-СMOS (дээд талынх)
хаагдах тул гаралтанд логик 1 сигнал гарна. Харин оролтонд логик 1 сигнал ирэхэд N-СMOS
нээгдэж, P-СMOS хаагдан гаралтанд логик 0 сигнал гарна. /зураг 5.55/
A Z
0 1
Z=A’
зураг 5.55.
1 0
CMOS NOR GATE
Хэрэв 2 оролтонд 2-уланд нь логик 0 сигнал ирвэл N-СMOS-ууд хаагдаж, P-СMOS-ууд нээлттэй
тул гаралтанд логик 1 сигнал гарна. Харин оролтын аль нэгэнд нь логик 1 сигнал ирвэл тухайн
оролтонд хамаарах N-СMOS нээгдэж, P-СMOS хаагдан гаралтанд логик 0 сигнал гарна. /зураг
5.56/
188
A B Z
0 0 1
0 1 0
1 0 0
Z=(A+B)’
зураг 5.56.
1 1 0
CMOS NAND GATE
Хэрэв 2 оролтонд 2-уланд нь логик 1 сигнал ирвэл N-СMOS-ууд нээгдэж, P-СMOS-ууд хаалттай
тул гаралтанд логик 0 сигнал гарна. Харин оролтын аль нэгэнд нь логик 0 сигнал ирвэл тухайн
оролтонд хамаарах N-СMOS хаагдаж, P-СMOS нээгдэн гаралтанд логик 1 сигнал гарна. /зураг
5.57/
A B Z
0 0 0
0 1 0
1 0 0
Z=(A⋅B)’
зураг 5.57.
1 1 1
5.3.7. Интегралчлагч хэлхээ
Ихэнх логик элементүүд нь CMOS (complementary metal oxide), TTL (transistor–transistor logic) болон
бусад элементүүдийг ашигласан байдаг.
Логик элементүүдийг ашиглах үед дараах 2 зүйл ажиглагдана.
1. Оролт ба гаралтын хүчдлийн босго өөрчлөгддөг. Жишээлбэл энгийн транзистор ашигласан
логик элементүүдийн хувьд оролт гаралт хүчдлийн босго хэрхэн өөрчлөгддөгийг харья. /зураг
5.58/
зураг 5.58.
2. Үүнээс гадна сигнал Td хугацаагаар delay хийгддэг. Өөрөөр хэлбэл Td хугацаагаар хоцордог.
Жишээлбэл инвертлэгч элементийн хувьд хэрхэн delay хийгддэгийг харья. Энэ Td нь TTL бааз
элемент ашигласан инвертлэгчийн хувьд ойролцоогоор 10ns орчим байна. /зураг 5.59/
189
зураг 5.59.
Жишээ нь зураг 5.60.
зураг 5.60.
Мөн олон логик элементүүдийг нэг блок болгож хийсэн элемнтийг интегралчлагч хэлхээ
(Integrated Circiut - IC) буюу товчоор chip гэнэ. 1 chip-д багтах элементүүдийн хэмжээнээс
хамааран интегралчлагч хэлхээг дараах байдлаар ангилж болно.
Small Scale Integration SSI 0-12 gate багтаасан
Medium Scale Integration MSI 12-99 gate багтаасан
Large Scale Integration LSI 100-9999 gate багтаасан
Very Large Scale Integration VLSI 10000-99999 gate багтаасан
Ultra Large Scale Integration ULSI 100000-аас их gate багтаасан
5.4.1. Хагас нэмэгч
2 битийн хувьд логик нэмэх үйлдэл дараах 4 боломжтой: /зураг 5.61/
зураг 5.61.
Энд A ба B-г нэмэгдэхүүн гэвэл Carry=AB нь оронгийн шилжүүлгийг, Sum=A⊕B нь нийлбэрийг тус
тус илэрхийлнэ. Иймээс хагас нэмэгчийг XOR болон AND элементүүдийг ашиглан хэрхэн хийхийг
үзье. /зураг 5.62/
Input Output
A B C S
0 0 0 0
0 1 0 1
1 0 0 1
зураг 5.62. 1 1 1 0
Хагас нэмэгч нь 2 тоог нэмэх үед өргөн хэрэглэгддэг өмнөх оронгийн шилжүүлгийг тооцох
боломжгүй байдаг тул хагас нэмэгч гэж нэрлэнэ. Хагас нэмэгчийг зураг 5.63-т дүрсэлсний дагуу
тэмдэглэнэ.
190
зураг 5.63.
5.4.2. Бүтэн нэмэгч
Бүтэн нэмэгч нь оронгийн шилжилтийг тооцсон Cin оролт, Cout гаралттай байдгаараа хагас
нэмэгчээс ялгаатай. Иймээс бүтэн нэмэгчийн хувьд нэмэх үйлдэл нь дараах 8 боломжтой. Энд
хамгийн эхний орон нь өмнөх үйлдлээс ирсэн оронгийн шилжүүлэлтийг тооцсон Cin оролтыг
илэрхийлэх бол гарсан үр дүнгийн эхнийх нь дараагийн үйлдэлд орон шилжсэн гэдгийг тогтоох
Cout гаралтыг тус тус тодорхойлно. /зураг 5.64/
зураг 5.64.
Бүтэн нэмэгчийг XOR, AND, OR элементүүдийг ашиглан хэрхэн хийхийг үзье. /зураг 5.65/
Input Output
A
B
СIN
COUT
S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
зураг 5.65.
1 1 1 1 1
Бүтэн нэмэгч логик байгууламжийг дараах схемээр төлөөлүүлэн тэмдэглэнэ. /зураг 5.66/
зураг 5.66.
5.4.3. 4 битийн параллель нэмэгч
4 битийн параллель нэмэгч нь 4 битийн 2 тоог хооронд нь нэмэх зорилготой бөгөөд өмнөх
үйлдлээс шилжиж ирэх оронгийн шилжүүлэг C1, дараагийн үйлдэлд шилжүүлэх оронгийн
шилжүүлэг C5 гэсэн нэмэлт оролтуудтай байна. /зураг 5.67/
зураг 5.67.
4 битийн параллель нэмэгчийг 1 битийн 4 бүтэн нэмэгчийг хооронд нь дараах байдлаар холбож
гаргаж авна. /зураг 5.68/
191
зураг 5.68.
5.4.4. BCD to Excess 3 code converter
BCD code-оос Excess 3 code уруу хөврүүлэхдээ BCD дээр 3-ийг буюу 2-тын тооллын системээр 0011-
ийг нэмэх шаардлагатай. Жишээлбэл:
BCD code Excess 3 code
0000 0011
0001 0100
0010 0101
0011 0110
0100 0111
0101 1000
0110 1001
0111 1010
1000 1011
1001 1100
1010 1101
1011 1110
1100 1111
Иймээс BCD-Excess 3 code converter-ийг 4 битийн параллель нэмэгчийг ашиглан дараах байдлаар
хийж болно. /зураг 5.69/
зураг 5.69.
5.4.5. 16 битийн параллель нэмэгч
16 битийн 2 тоог хооронд нэмэх боломжтой оронгийн шилжүүлгүүдийг тооцсон 16 битийн
параллель нэмэгчийг 4 битийн 4 параллель нэмэгчийг хооронд нь дараах байдлаар холбох замаар
хийж болно. /зураг 5.70/
зураг 5.70.
5.4.6. 4 битийн параллель нэмэгч/хасагч
4 битийн параллель нэмэгч/хасагч нь 4 битийн хоёр тоог хооронд нь нэмэх ба хасах үйлдлийг
зэрэг гүйцэтгэх боломжтой. 4 битийн параллель нэмэгч/хасагч-ийг хийхдээ дараах 2 зүйлийг
ашиглана.
Юуны өмнө XOR элементийн хувьд 5.71-р зурагт үзүүлсэн шинж чанарыг ажиглаж болно.
192
зураг 5.71.
Дараагийн алхамд S оролтыг бүтэн нэмэгийн Cin оролттой холбож өгөх хэрэгтэй. Ингээд 4 битийн
параллель нэмэгч ба XOR элементийг ашиглан 4 битийн параллель нэмэгч/хасагчийг дараах
байдлаар хийж болно. /5.72/
зураг 5.72.
Оролтонд өгсөн 2 тоог нэмэх болон хасах эсэхийг удирдлагын S оролтын тусламжтайгаар тогтооно.
S оролтонд 0 байвал оролтонд өгсөн 2 тоог нэмнэ. /зураг 5.73/
зураг 5.73.
S оролтонд 1 байвал 2-р оролтонд өгсөн тоог эхлээд 2st complement сөрөг тоонд шилжүүлээд
дараа нь нэмнэ. /зураг 5.74/
зураг 5.74.
5.4.7. 4 битийн компоратор
4 битийн компоратор нь оролтонд өгсөн 2 тоог хооронд харьцуулах бөгөөд хэрэв 2 тоо хоорондоо
тэнцүү бол A=B гаралтанд 1, бусад нь 0, эхний тоо нь их бол A>B гаралтанд 1, бусад нь 0, дараах
тоо нь их бол B>A гаралтанд 1, бусад нь 0 гарна. /зураг 5.75/
193
зураг 5.75.
4 битийн компораторын бүтцийн схемийг 5.76-р зурагт үзүүлэв.
зураг 5.76.
Жишээ нь 0110 ба 1010 гэсэн хоёр тоог харьцуулья. /зураг 5.77/
зураг 5.77.
5.5.1. Decoder
Оролтонд ирсэн сигналуудын тусламжтайгаар гаралтанд гарах сигналуудыг тогтоодог
төхөөрөмжийг decoder гэнэ. Хэрэв N оролттой M гаралттай бол NxM decoder гэх бөгөөд гаралт
M≤2N
байна. Жишээ нь 2x4 decoder. /зураг 5.78/ Энэ нь 2 оролттой, 4 гаралттай бөгөөд гаралтанд
ямар сигналууд гарахыг оролтонд өгсөн сигналуудын тусламжтайгаар тогтоож өгнө.
X Y F0 F1 F2 F3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
зураг 5.78. 1 1 0 0 0 1
Эндээс харвал оролтонд ямар сигналууд ирсэнээс хамаарч гаралт ямар байх нь тогтоогдож байна.
Иймээс 4х2 Decoder-ийн бүтцийг дараах байдлаар үзүүлж болно. /зураг 5.79/
194
зураг 5.79.
Үүнтэй адилаар 3x8 Decoder буюу 3 оролт, 23
=8 гаралттай Decoder-ийг авч үзье. /зураг 5.80/
X Y Z F0 F1 F2 F3 F4 F5 F6 F7
0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0
зураг 5.80. 1 1 1 0 0 0 0 0 0 0 1
3x8 Decoder-ийн бүдүүвчийг зураг 5.81-д үзүүлэв.
зураг 5.81.
Жишээ . 3x8 Decoder ашигласан бүтэн нэмэгч. /зураг 5.82/
зураг 5.82.
195
5.5.2. Удирдлагын нэмэлт оролттой Decoder
Энэ Decoder нь удирдлагын нэмэлт CLK оролттойгоороо энгийн Decoder-оос ялгаатай. /зураг 5.83/
CLK S1 S0 F0 F1 F2 F3
1 0 0 1 0 0 0
1 0 1 0 1 0 0
1 1 0 0 0 1 0
1 1 1 0 0 0 1
зураг 5.83. 0 х х 0 0 0 0
Удирдлагын нэмэлт оролттой Decoder-ийн бүтцийн схемийг 5.84-р зурагт үзүүлэв.
зураг 5.84.
Бага эрэмбийн Decoder-ийг ашиглан том эрэмбийн Decoder-ийг дараах байдлаар холбож гаргаж
авч болно. Жишээ нь 2x4 Decoder-ийг дараах байдлаар холбож 3x8 decoder-ийг гаргаж авч болно.
/зураг 5.85/
зураг 5.85.
Үүнтэй адилаар 3x8 Decoder-ийг дараах байдлаар холбон 4x16 Decoder-ийг гаргаж авч болно.
/зураг 5.86/
196
зураг 5.86.
Практикт өргөн хэрэглэгддэг 74LS138 Decoder-ийн бүдүүвчийг 5.87-р зурагт үзүүлэв.
зураг 5.87.
G1 G2A G2B A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
1 0 0 0 0 0 0 1 1 1 1 1 1 1
1 0 0 0 0 1 1 0 1 1 1 1 1 1
1 0 0 0 1 0 1 1 0 1 1 1 1 1
1 0 0 0 1 1 1 1 1 0 1 1 1 1
1 0 0 1 0 0 1 1 1 1 0 1 1 1
1 0 0 1 0 1 1 1 1 1 1 0 1 1
1 0 0 1 1 0 1 1 1 1 1 1 0 1
1 0 0 1 1 1 1 1 1 1 1 1 1 0
x 1 1 x x x 1 1 1 1 1 1 1 1
0 X x x x x 1 1 1 1 1 1 1 1
5.5.3. Encoder
2N оролтоос N гаралтын аль нэг хаягаар гаргах төхөөрөмжийг encoder гэнэ. Хэрэв M≤2N оролттой
N гаралттай бол MxN encoder гэнэ. Жишээ нь 4x2 encoder /зураг 5.88/ түүний бүтцийн схем /зураг
5.89/
197
Q3 Q2 Q1 Q0 A0 A1
1 0 0 0 0 0
0 1 0 0 0 1
0 0 1 0 1 0
0 0 0 1 1 1
0 0 0 0 x x
0 0 1 1 x x
0 1 0 1 x x
0 1 1 0 x x
0 1 1 1 x x
1 0 0 1 x x
1 0 1 0 x x
1 0 1 1 x x
1 1 0 0 x x
1 1 0 1 x x
1 1 1 0 x x
зураг 5.88.
зураг 5.89. 1 1 1 1 x x
8x3 Encoder буюу 8 оролтоос 3 гаралтанд гарах сигнал дараах байдлаар хамаарна. /зураг 5.90/
Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 A2 A1 A0
1 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 1 1
0 0 0 0 1 0 0 0 1 0 0
0 0 0 0 0 1 0 0 1 0 1
0 0 0 0 0 0 1 0 1 1 0
зураг 5.90. 0 0 0 0 0 0 0 1 1 1 1
8x3 Encoder-ийн бүтцийн схем /зураг 5.91/
зураг 5.91.
5.5.4. Demultiplexer
Оролтонд ирсэн сигналыг гаралтын нэг хаягаар гаргах төхөөрөмжийг demultiplexer гэнэ. Өөрөөр
хэлбэл оролтонд ирсэн сигналыг удирдлагын сигналын тусламжтайгаар сонгож гаралтын аль нэг
хаягаар гаргана. Жишээ нь 1x4 Demultiplexer. /зураг 5.92/
S1 S0 Q0 Q1 Q2 Q3
0 0 D 1 1 1
0 1 1 D 1 1
1 0 1 1 D 1
зураг 5.92.
1 1 1 1 1 D
Эндээс үзвэл D оролтонд ирсэн сигналыг аль хаягаар гаргах вэ гэдгийг удирдлагын S1, S0
сигналуудын тусламжтайгаар тогтооно. Иймээс 1x4 Demultiplexer-ийн бүдүүвчийн схемийг 5.93-р
зурагт үзүүлэв.
198
зураг 5.93.
5.5.5. Multiplexer
Олон оролтуудаас сонгож гаралтанд гаргадаг төхөөрөмжийг multiplexer гэнэ. Оролтонд өгсөн
сигналуудаас алийг нь гаралтанд гаргахын удирдлагын сигналын тусламжтайгаар тогтооно. Жишээ
нь 4x1 Multiplexer. /зураг 5.94/
Эндээс үзвэл удирдлагын сигналуудын тусламжтайгаар 4 оролтонд ирсэн сигналуудаас сонгож
гаралтанд гаргаж байна. Иймээс 4x1 Multiplexer-ийн бүдүүвчийн схемийг 5.95-р зурагт үзүүлэв.
S1 S0 Y
0 0 I0
0 1 I1
1 0 I2
зураг 5.94. 1 1 I3
зураг 5.95.
Multiplexer болон Demultiplexer-ийг ашиглах. Multiplexer-ийн тусламжтайгаар олон оролтонд ирсэн
сигналыг нэг шугамаар дамжуулж энэхүү шугамаар ирсэн сигналыг demultiplexer-ийн
тусламжтайгаар олон гаралтанд гаргахад ашиглана. /зураг 5.96/
зураг 5.96.
Бага эрэмбийн Multiplexer-ийг дараах байдлаар холбож их эрэмбийн Multiplexer-ийг гаргаж авч
болно. Жишээ нь 4x1, 2x1 Multiplexer-ээс 8x1 Multiplexer-ийг гарган авах. /зураг 5.97/
199
S2 S1 S0 Y
0 0 0 I0
0 0 1 I1
0 1 0 I2
0 1 1 I3
1 0 0 I4
1 0 1 I5
1 1 0 I6
зураг 5.97. 1 1 1 I7
Мөн 4x1 Multiplexer-ийг дараах байдлаар холбон 16x1 Multiplexer-ийг гарган авна. /зураг 5.98/
S3 S2 S1 S0 Y
0 0 0 0 I0
0 0 0 1 I1
0 0 1 0 I2
0 0 1 1 I3
0 1 0 0 I4
0 1 0 1 I5
0 1 1 0 I6
0 1 1 1 I7
1 0 0 0 I8
1 0 0 1 I9
1 0 1 0 I10
1 0 1 1 I11
1 1 0 0 I12
1 1 0 1 I13
1 1 1 0 I14
зураг 5.98. 1 1 1 1 I15
Практикт өргөн хэрэглэгддэг 75LS151 Multiplexer-ийг 5.99-р зурагт үзүүлэв.
S2 S1 S0 CLK Y
x x х 1 0
0 0 0 0 I0
0 0 1 0 I1
0 1 0 0 I2
0 1 1 0 I3
1 0 0 0 I4
1 0 1 0 I5
1 1 0 0 I6
зураг 5.99. 1 1 1 0 I7
5.6.1. Триггер
Логик 1 ба 0 гэсэн 2 төлвийн аль нэгэнд оршдог, өмнөх төлөвөө хадгалж үлдэх чадвартай
байгууламжийг триггер гэнэ. Санах ойн үндсэн элемент нь триггер юм. Санах ойн элемент буюу
триггерийг дараах схемээр төлөөлүүлэн үзэж болно. /зураг 5.100/
зураг 5.100.
Команд Q(t) Q(t+1)
Санах ойд бичих x 1
Бичилтийг арилгах x 0
0 0
Санах ойг хэвээр үлдээх
1 1
200
Эндээс үзвэл триггерийн хувьд дараах гурван төрлийн командууд байдаг байна.
Set буюу бичих. Энэ тохиолдолд триггер нь урд нь ямар төлөвт байснаас үл хамааран 1 гэсэн
төлөвт орно.
Reset буюу бичилтийг арилгах. Энэ тохиолдолд триггер нь урд нь ямар төлөвт байснаас үл
хамааран 0 төлөвт орно.
Санах ойг хэвээр үлдээх. Энэ тохиолдолд триггер нь энэ команд өгөхөөс өмнө ямар төлөвт
байна тэр төлвөө хадгалсан хэвээр байна. Өөрөөр триггер өмнө нь 0 (1) төлөвт байсан бол энэ
команд өгсний дараа ч 0 (1) төлөвтөө хэвээр байна.
Санах ойн элементүүд нь ихэвчлэн удирдлагын нэмэлт оролттой байдаг. /зураг 5.101/
зураг 5.101.
Удирдлагын сигнал буюу clock нь дараах хэлбэртэй байна. /зураг 5.102/
зураг 5.102.
Триггерийг дотор нь latch ба flip flop гэж хоёр ангилна.
Latch нь удирдлагын сигнал 1 байхад төлвөө өөрчилдөг, удирдлагын сигнал 0 байхад өмнөх
төлвөө хадгалдаг. Жишээ нь RS Latch, Gated RS Latch, Gated D Latch
Flip Flop нь удирдлагын сигнал 0-оос 1 болоход төлвөө өөрчилдөг (positive edge), ба 1-ээс 0
болоход төлвөө өөрчилдөг (negative edge) гэсэн 2 хэлбэртэй байна. Жишээ нь RS Flip Flop, JK
Flip Flop, D Flip Flop, T Flip Flop
5.6.2. RS Latch
RS Latch нь бичих S (set), бичилтийг устгах R (reset) хоёр оролттой, урвуу болон шууд гаралттай.
RS Latch-ийг дотор нь:
Active high оролттой RS Latch – Set оролтонд 1, Reset оролтонд 0 байхад бичилт хийдэг, Set
оролтонд 0, Reset оролтонд 1 байхад бичилтийг устгадаг /зураг 5.103/
S R Q ⎯Q
1 0 1 0
0 1 0 1
1 1 хориотой
зураг 5.103.
0 0
өмнөх төлөв
өөрчлөгдөхгүй
Active low оролттой RS Latch – Set оролтонд 0, Reset оролтонд 1 байхад бичилт хийдэг, Set
оролтонд 1, Reset оролтонд 0 байхад бичилтийг устгадаг гэж ангилна. /зураг 5.104/
⎯S ⎯R Q ⎯Q
0 1 1 0
1 0 0 1
0 0 хориотой
зураг 5.104.
1 1
өмнөх төлөв
өөрчлөгдөхгүй
Жишээлбэл NAND элементийг ашигласан active low RS Latch, /зураг 5.105/ түүний хугацааны
диаграммыг /зураг 5.106/ үзүүлэв.
201
⎯S ⎯R Q ⎯Q
0 0 тодорхойгүй
0 1 1 0
1 0 0 1
1 1
өмнөх төлөв
өөрчлөгдөхгүй зураг 5.105.
зураг 5.106.
5.6.3. Gated RS Latch
Gated RS Latch нь удирдлагын нэмэлт CLK оролттойгоороо RS Latch–ээс ялгаатай. Уг триггерийн
төлөвөө өөрчлөх эсэхийг удирдлагын сигналын тусламжтайгаар тогтооно. /зураг 5.107/
CLK=1 CLK=0
S R Q ⎯Q S R Q ⎯Q
0 0 өөрчлөгдөхгүй 0 0
1 0 1 0 1 0
0 1 0 1 0 1
1 1 тодорхойгүй 1 1
өөрчлөгдөхгүй
буюу өмнөх
төлөвөө хадгална
зураг 5.107.
5.6.4. Gated D Latch
Энэ триггер нь ердөө удирдлагын CLK оролт, динамик D гэсэн 2 оролттой. /зураг 5.108/
CLK=1 CLK=0
D Q ⎯Q D Q ⎯Q
1 1 0 1
0 0 1 0
өөрчлөгдөхгүй
буюу өмнөх
төлөвөө хадгална
202
зураг 5.108.
5.6.5. RS Flip Flop
RS Flip Flop нь 2 давхар RS триггерээс тогтох бөгөөд онцлог нь CLK дохионы урд фронтоор бичиж,
хойд талын фронтоор удирдагдан төлвөө өөрчилнө. Давхар триггер буюу Master slave Flip Flop нь
удирдлагын сигнал 1-ээс 0 болох агшинд л төлвөө өөрчилдөг тул negative edge триггерийн төрөлд
хамаарна. Энэ төрлийн триггерийн бүтэц нь хоёр давхар триггерээс тогтсон байдаг тул тэднийг
master-slave буюу давхар триггер гэж нэрлэнэ. Өөрөөр хэлбэл оролтын хэсгийг master триггер
удирдах бөгөөд гаралтын хэсгийг slave триггер нь удирдана. Иймээс үр дүнг боловсруулах асуудал
нь хоёр шатнаас тогтох бөгөөд эхний мастер хэсэгт оролтыг бичиж авна. Дараагийн slave хэсэг нь
үр дүнг боловсруулаад гаргана. Гэхдээ энэ хоёр үйлдэл нь зэрэг явагдахгүй. Өөрөөр хэлбэл
удирдлагын сигнал 0-оос 1 болоход өгөгдлийг бичиж авна. Удирдлагын сигнал 1-ээс 0 болох
агшинд үр дүнг гаралтанд гаргана. Өөрөөр хэлбэл удирдлагын сигнал 1-ээс 0 болох агшинд л
төлвөө өөрчилдөг. Мөн түүнчлэн удирдлагын сигналын эхний фронтоор бичиж, арын фронтоор
төлвөө өөрчилдөг тул Negative Edge Flip Flop ч гэж нэрлэх тохиолдол бий. /зураг 5.109/
зураг 5.109.
Хэдийгээр энэ триггер нь 2 триггерээс тогтох боловч хоёрдох триггерүүд нь удирдлагын CKL
оролттой урвуугаар холбогдсон байна. Удирдлагын сигнал 0 байхад оролтоос хамаарахгүй. Харин
удирдлагын сигнал 0-оос 1 болоход 1-р триггер R, S оролтуудаас хамаарч төлвөө өөрчилнө. Гэсэн
хэдий ч удирдлагын сигналын урвуу 2-р триггерт холбогдсон байгаа тул 2-р триггерийн төлөв
өөрчлөгдөхгүй. Харин удирдлагын сигнал 1-ээс эргэн 0 болох агшинд 2-р триггер төлвөө
өөрчилнө. Ингэхдээ 1-р триггер ямар төлөвт орсон байгаагаас хамаарна. Иймээс нь 1-р триггерийг
төлвийг бичиж авдаг, 2-р триггерийг төлвийг өөрчилдөг гэж үзнэ. 1-р триггер удирдлагын сигнал
0-оос 1 болоход төлвийг бичиж авна. Үүнийг ашиглан удирдлагын сигнал 1-ээс 0 болох агшинд 2-р
төлөв өөрчлөгдөнө.
CLK нь 1-ээс 0 болох агшинд CLK нь бусад тохиолдолд
S R Q ⎯Q S R Q ⎯Q
0 0 өөрчлөгдөхгүй 0 0
1 0 1 0 1 0
0 1 0 1 0 1
1 1 хориотой 1 1
өөрчлөгдөхгүй
буюу өмнөх
төлөвөө хадгална
5.6.6. D Flip Flop
Энэ триггер нь ерөнхийдөө өмнөх триггертэй адилхан. D триггер нь удирдлагын сигнал 0-оос 1
болох агшинд бичиж, 1-ээс 0 болох тэр агшинд төлөвөө өөрчилдөг онцлогтой. Жишээлбэл NAND
элементийг ашигласан D flip flop. /зураг 5.110/
203
CLK 1-ээс 0 болох агшинд CLK бусад тохиолдолд
D Q ⎯Q D Q ⎯Q
1 1 0 1
0 0 1 0
өөрчлөгдөхгүй
буюу өмнөх
төлөвөө хадгална
зураг 5.110.
NOR элементийг ашиглан хийсэн D flip flop. /зураг 5.111/
зураг 5.111.
5.6.7. JK Flip Flop
Энэ триггер нь RS триггертэй үнэхээр төстэй. Ганцхан ялгаа нь удирдлагын сигнал 1-ээс 0 болох
агшинд J, K оролтуудад 1 байвал гаралтанд өмнөх төлвийн урвуу гардагаараа онцлог. Өөрөөр
хэлбэл RS триггерийн хувьд удирдлагын сигнал 1-ээс 0 болох агшинд R ба S оролтуудад адилхан 1
байх хувилбар хориотой байдаг бол JK триггерийн хувьд энэ тохиолдолд гаралтанд өмнөх төлвийн
урвуу сигнал гардагаараа ялгаатай гэж үзэж болно. /зураг 5.112/
CLK нь 1-ээс 0 болох агшинд CLK нь бусад тохиолдолд
J K Q ⎯Q J K Q ⎯Q
0 0 өөрчлөгдөхгүй 0 0
1 0 1 0 1 0
0 1 0 1 0 1
1 1
өмнөх төлвийн
урвуу
1 1
өөрчлөгдөхгүй
буюу өмнөх
төлөвөө хадгална
204
зураг 5.112.
5.6.8. T Flip Flop
T триггер буюу Toggle Flip Flop нь удирдлагын сигнал 0-ээс 1 болоход л төлөвөө өөрчилнө. Энэ нь
JK триггерийн J, K оролтуудыг хооронд нь холбосонтой адилхан. Ер нь JK триггерийн J, K
оролтуудыг хооронд холбож түүнд 1 гэсэн сигнал өгсөн холболтыг мөн Toggle холболт ч гэж
нэрлэдэг. /зураг 5.113/
зураг 5.113.
T=1 T=0
CLK Q ⎯Q CLK Q ⎯Q
1 1 0 1
0 0 1 0
өөрчлөгдөхгүй
буюу өмнөх
төлөвөө хадгална
5.6.9. Триггерийг тэмдэглэх
Триггерийг дараах схемээр төлөөлүүлэн тэмдэглэдэг. Жишээлбэл RS Latch, Gated RS Latch, Gated D
Latch /зураг 5.114/
зураг 5.114.
Positive Edge Flip Flops; RS Flip Flop, D Flip Flop, JK Flip Flip, T Flip Flop /зураг 5.115/
зураг 5.115.
Negative Edge Flip Flops; RS Flip Flop, D Flip Flop, JK Flip Flop /зураг 5.116/
зураг 5.116.
5.6.10. Frequency Dividers - Давтамж хуваагуур
Триггерийг ашигласан хамгийн хялбар жишээ бол давтамж хуваагуур. Жишээ нь JK триггерийг
ашигласан давтамж хуваагуурыг авч үзье. Үүний тулд JK триггерийг toggle холболтоор холбож (J,
K оролтуудад 1 сигналыг өгч) CKL-д тодорхой давтамжтай импульсыг оруулья. Тэгвэл Q0
205
триггерийн гаралт дээрх импульс CLK-д өгсөн импульсээс давтамжаараа 2 дахин, Q1-ийн гаралт
дээрх импульс 4 дахин бага байна. Ийм замаар CKL-д өгсөн импульсийн давтамжийг хуваах
зориулалттай хэлхээг давтамж хуваагуур гэнэ. /зураг 5.117/
зураг 5.117.
5.7.1. Тоолуур
Триггерийг өөр нэгэн өргөн хэрэглэгддэг байгууламж бол оролтонд орж байгаа импульсийг тоолох
зориулалттай тоолуур. Хэрэв тоолуур n тооны триггер ашигласан бол 2n-1
хүртэл тоолох
боломжтой. Хамгийн их утгандаа хүрээд эргэн 0 болно. Тоолуурыг дотор нь:
Асинхрон тоолуур (ripple counter)
Синхрон тоолуур (parallel counter) гэж хуваана.
5.7.2. Asynchronous Ripple Counter
Асинхрон тоолуурын гаралтууд нь нэгэн зэрэг төлвөө өөрчилж чаддаггүй тул түүнийг ripple
тоолуур ч гэж нэрлэдэг. Өөрөөр хэлбэл оролтын импульс өөрчлөгдөхөд хамгийн сүүлийн орон
эхэлж төлвөө өөрчилнө. Үүний дараа дараагийн орон төлвөө өөрчилдөг. Иймээс гаралтын бүх
оронгууд нь нэгэн зэрэг өөрчлөгддөггүй онцлогтой. Жишээлбэл JK триггер ашигласан 2 битийн
асинхрон тоолуурын бүтцийн схем /зураг 5.118/ болон хугацааны диаграммыг /зураг 5.119/
үзүүлэв. JK триггерийн J, K оролтуудад 1 байгаа тул удирдлагын импульс 0-оос 1 болох агшинд
төлвөө өөрчилнө.
зураг 5.118.
clock Q1 Q0
0 0 0
1 0 1
2 1 0
3 1 1
зураг 5.119. 4 0 0
Иймээс энэ тоолуур нь 0-оос 3 хүртлэх (00-оос 11 хүртлэх) импульсыг тоолно. Иймээс тухайн
тоолуурт хичнээн триггер орсон байна түүгээр нь тоолох импульсыг уртыг тогтоож болно.
Жишээлбэл 2 триггер орсон бол 0-оос 3 (00-оос 11), 3 триггер орсон бол 0-оос 7 (000-оос 111), 4
триггер орсон бол 0-оос 15 (0000-оос 1111), n триггер орсон бол 0-оос 2n
-1 хүртэлх импульсыг
тоолно.
JK триггер ашигласан 3 битийн асинхрон тоолуур /зураг 5.120/ ба түүний хугацааны диаграмм
/зураг 5.121/. Энэ тоолуур нь 3 триггер ашигласан тул 0-оос 7 хүртлэх импульсыг тоолно.
206
зураг 5.120.
clock Q2 Q1 Q0
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
зураг 5.121. 8 0 0 0
JK триггер ашигласан 4 битийн асинхрон тоолуур /зураг 5.122/ ба түүний хугацааны диаграмм
/зураг 5.123/. Энэ тоолуур нь 4 триггер ашигласан тул 0-оос 15 хүртлэх импульсыг тоолно.
зураг 5.122.
зураг 5.123.
clock 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Q0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Q1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
Q2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0
Q3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0
Negative edge JK триггер ашигласан 4 битийн асинхрон тоолуур /зураг 5.124/ ба түүний хугацааны
диаграмм /зураг 5.125/. Энэ тоолуур нь negative edge триггер ашигласан тул удирдлагын оролтын
негатив импульсыг тоолно.
зураг 5.124.
207
зураг 5.125.
Эдгээр тоолуурууд нь асинхрон тоолуур учир бүх орон нэгэн зэрэг боловсруулагдахгүй. Хамгийн
сүүлийн орон хамгийн түрүүнд гарах бөгөөд үүний дараа бусад оронгууд боловсруулагдана.
Иймээс энэ тоолуурыг ашиглах үед хэрхэн хугацааны хувьд delay хийгдэхийг 3 битийн асинхрон
тоолуур /зураг 5.126/ ба түүний хугацааны диаграмм /зураг 5.127/-аар харуулья.
зураг 5.126.
5.127.
5.7.3. Asynchronous Shorter Counter
Өмнөх тоолуурууд нь 0-оос 3, 0-оос 7, 0-оос 15 г.м импульсыг тоолдог. Гэтэл практикт 0-оос 5, 0-
оос 9 хүртлэх импульсыг тоолдог тоолуурууд шаардлагатай болдог. Тэдний нэг нь 0-оос 5 хүртлэх
импульсыг тоолох зориулалттай asynchronous shorter counter юм. /зураг 5.128/
зураг 5.128.
Энэ тоолуурын 1 ба 3-р триггерийн гаралтаас логик NAND элементээр дамжуулан 3 триггерийн
clear оролтонд холбосон байна. Иймээс 1 ба 3-р триггерийн гаралтнаас зэрэг логик 1 дохио
гарахад 3 триггерийн clear оролтонд зэрэг логик 0 дохио очсоноор триггерүүд зэрэг төлвөө
өөрчилөн анхны 0 төлөвтөө орцгооно. /зураг 5.129/ Энд триггерийн clear оролт нь триггерийг
анхны буюу 0 төлөвт оруулах зорилготой бөгөөд энэ оролтонд 1 байвал триггер өөрийхөө төлвийг
хадгалах бөгөөд 0 байвал анхны 0 төлөвт орно.
208
clock Q2 Q1 Q0
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 0 0 0
7 0 0 1
зураг 5.129. 8 0 1 0
5.7.4. Asynchronous Decimal Counter
Энэ тоолуур нь 0-ээс 9 хүртэл тоолдог аравтын (decimal) тоолуур. /зураг 5.130/
зураг 5.130.
Энэ тоолуурыг хийхдээ 1 ба 4-р триггерийн гаралтнаас логик NAND элементээр дамжуулан 4
триггерийг clear оролтонд өгсөн байна. Иймээс 1 ба 4-р триггерийн гаралтанд зэрэг 1 дохио гарвал
4 триггерийг анхны 0 төлөвт нь оруулна. /зураг 5.131/
зураг 5.131.
clock 0 1 2 3 4 5 6 7 8 9 10
Q0 0 1 0 1 0 1 0 1 0 1 0
Q1 0 0 1 1 0 0 1 1 0 0 0
Q2 0 0 0 0 1 1 1 1 0 0 0
Q3 0 0 0 0 0 0 0 0 1 1 0
5.7.5. Asynchronous Up-Down Counter
Өмнөх тоолуурууд нь зөвхөн шууд тоолуурууд байсан. Шууд тоолуур нь импульсыг нэмэгдүүлэх
замаар тоолдог. Жишээ нь 3 битийн шууд тоолуур /зураг 5.132/
зураг 5.132.
clock 0 1 2 3 4 5 6 7 8
Q0 0 1 0 1 0 1 0 1 0
Q1 0 0 1 1 0 0 1 1 0
Q2 0 0 0 0 1 1 1 1 0
209
Тэгвэл урвуу тоолуур нь импульсыг хорогдуулах замаар тоолно. /зураг 5.133/
зураг 5.133.
clock 0 1 2 3 4 5 6 7 8
Q0 0 1 0 1 0 1 0 1 0
Q1 0 1 1 0 0 1 1 0 0
Q2 0 1 1 1 1 0 0 0 0
Шууд ба урвуу тоолуурыг нэг тоолуурт хамтад нь хийж өгсөнийг шууд-урвуу тоолуур гэнэ. Иймээс
энэ тоолуу нь импульсыг нэмэгдүүлэх замаар шууд тоолохоос гадна импульсыг хорогдуулах замаар
урвуугаар нь тоолох болмжтой байна. Жишээ нь JK триггер ашигласан 4 битийн шууд-урвуу
тоолуур /зураг 5.134/
зураг 5.134.
Хэрэв UP-д 1, DOWN-д 0 импульс өгсөн бол энэ тоолуур нь импульсыг нэмэгдүүлэх замаар шууд
тоолох буюу 0-оос 7 хүртлэх импульсыг шууд тоолно. Үүнээс цааш импульс ирвэл дахин 0-оос
тоолж эхэлнэ.
clock 0 1 2 3 4 5 6 7 8
Q0 0 1 0 1 0 1 0 1 0
Q1 0 0 1 1 0 0 1 1 0
Q2 0 0 0 0 1 1 1 1 0
Хэрэв UP-д 0, DOWN-д 1 импульс өгсөн бол энэ тоолуур нь импульсыг хорогдуулах замаар урвуу
тоолох буюу 7-гоос 0 хүртэл импульсыг урвуугаар нь тоолно.
Clock 0 1 2 3 4 5 6 7 8
Q0 0 1 0 1 0 1 0 1 0
Q1 0 1 1 0 0 1 1 0 0
Q2 0 1 1 1 1 0 0 0 0
5.7.6. Cascading Asynchronous Counter
Тоолууруудыг хооронд нь 5.135-р зурагт үзүүлсний дагуу холбож импульс тоолох боломжийг нь
ихэсгэдэг. Жишээ нь 3 битийн 0-оос 15 хүртэл тоолох боломжтой 2 тоолуурыг ашиглан 6 битийн 0-
оос 63 хүртэл тоолдог 6 битийн тоолуурыг гаргаж авч болно.
зураг 5.135.
A5 A4 A3 A2 A1 A0
0
0
.
.
0
0
.
.
1
0
0
.
.
0
0
.
.
1
0
0
.
.
1
1
.
.
1
0
0
.
.
0
0
.
.
1
0
1
.
.
0
0
.
.
1
1
0
.
.
0
1
.
.
1
210
5.7.7. Synchronous Counter
Асинхрон тоолуурын гаралтууд нь нэгэн зэрэг өөрчлөгдөж чаддаггүй тул гаралтууд нь нэгэн зэрэг
өөрчлөгддөг синхрон тоолуурыг өргөн ашигладаг. Энэ тоолуурын триггер болгоны оролтонд
тоолох импульс зэрэг очдог тул үр дүнг нэгэн зэрэг боловсруулж гаргадаг буюу триггерүүд нэгэн
зэрэг төлвөө өөрчилдгөөрөө асинхрон тоолуураас ялгаатай.
Жишээ болгож 2 битийн синхрон тоолуур /зураг 5.136/, түүний хугацааны диаграмм /зураг 5.137/-
ыг үзүүлэв.
зураг 5.136.
Clock Q1 Q0
0 0 0
1 0 1
2 1 0
3 1 1
зураг 5.137. 4 0 0
JK триггер ашигласан 3 битийн синхрон тоолуур /зураг 5.137/.
зураг 5.137.
clock 0 1 2 3 4 5 6 7 8
Q0 0 1 0 1 0 1 0 1 0
Q1 0 0 1 1 0 0 1 1 0
Q2 0 0 0 0 1 1 1 1 0
JK триггер ашигласан 3 битийн синхрон тоолуур /зураг 5.138/.
зураг 5.138.
5.7.8. Synchronous Decimal Counter
Өмнөх синхрон тоолуур нь 2n
зэрэгтийг тоог тоолно. Энд n нь тоолуурт орсон триггерийн тоо.
Жишээ нь 2 триггер ашигласан бол 4, 3 триггер ашигласан бол 8, 4 триггер ашигласан бол 16
хүртлэх г.м-ээр 2n
зэрэгтийн импульсийг л тоолно. Харин практикт 0-ээс 9 хүртэл тоолдог аравтын
(decimal) тоолуур өргөн ашиглагддаг. Тэгвэл 0-ээс 9 хүртэл тоолдог JK триггер ашигласан аравтын
синхрон тоолуур /зураг 5.139/, түүний хугцааны диаграмм /зураг 5.140/-ыг үзье.
зураг 5.139.
211
зураг 5.140.
clock 0 1 2 3 4 5 6 7 8 9 10
Q0 0 1 0 1 0 1 0 1 0 1 0
Q1 0 0 1 1 0 0 1 1 0 0 0
Q2 0 0 0 0 1 1 1 1 0 0 0
Q3 0 0 0 0 0 0 0 0 1 1 0
5.7.9. Synchronous Shorter Counter
Аравтын тоолуурын арай хялбарчилсан хувилбар буюу тавтын тоолуур. Энэ тоолуур нь 0-оос 4
хүртэлх импульсыг тоолно. Жишээ нь JK триггер ашигласан 0-оос 5 хүртлэх импульсыг тоолох
зориулалттай синхрон тоолуур /зураг 5.141/, түүний хугацааны диаграммыг /зураг 5.142/ үзүүлэв.
зураг 5.141.
зураг 5.142.
clock 0 1 2 3 4 5 6
Q0 0 1 0 1 0 1 0
Q1 0 0 1 1 0 0 0
Q2 0 0 0 0 1 1 0
5.7.10. Synchronous Up-Down Couter
Өмнөх тоолуурууд нь импульсыг нэмэгдүүлэх замаар тоолдог шууд синхрон тоолуурууд байсан.
Тэгвэл шууд-урвуу синхрон тоолуур нь импульсыг нэмэгдүүлэх замаар шууд тоолохоос гадна
импульсыг хорогдуулах замаар тоолно.
Жишээ нь JK триггер ашигласан 4 битийн шууд-урвуу тоолуур /зураг 5.143/.
зураг 5.143.
212
Хэрэв UP/DOWN-д 1 импульс өгсөн бол энэ тоолуур нь импульсыг нэмэгдүүлэх замаар шууд тоолох
буюу 0-оос 7 хүртлэх импульсыг шууд тоолно. Үүнээс цааш импульс ирвэл дахин 0-оос тоолж
эхэлнэ.
clock 0 1 2 3 4 5 6 7 8
Q0 0 1 0 1 0 1 0 1 0
Q1 0 0 1 1 0 0 1 1 0
Q2 0 0 0 0 1 1 1 1 0
Хэрэв UP/DOWN-д 0 импульс өгсөн бол энэ тоолуур нь импульсыг хорогдуулах замаар урвуу
тоолно.
clock 0 1 2 3 4 5 6 7 8
Q0 0 1 0 1 0 1 0 1 0
Q1 0 1 1 0 0 1 1 0 0
Q2 0 1 1 1 1 0 0 0 0
5.8.1. Register
Өгөгдлийг хүлээн авч санаж хадгалах, дамжуулахад зориулагдсан байгууламжийг register /санах
ой/ гэнэ. Регистер нь санах ойн хамгийн бага нэгж юм. N битийн регистер нь N тооны триггер
болон бусад логик элементүүдийг ашиглах бөгөөд N битийн өгөгдлийг хадгалах боломжтой байна.
Жишээ болгон D триггер ашигласан 3 битийн өгөгдлийг параллелиар зэрэг хүлээн авч хадгалахад
зориулагдсан регистерийг авч үзье. Өгөгдлийг хүлээн авч хадгалах болон гаралтанд гаргахыг
удирдлан CKL сигналын тусламжтайгаар тогтооно. /зураг 5.144/
зураг 5.144.
5.8.2. Регистерийг ангилах
Регистерийг өгөгдлийг хэрхэн хүлээн авч, түүнийг хэрхэн гаргаж байгаагаас нь хамааруулан
дараах байдлаар ангилна. /зураг 5.145/
Serial in/serial out register - өгөгдлийг цуваагаар хүлээн авч хадгалаад цуваагаар гаргана.
Жишээ нь shift регистер.
Parallel in/serial out register - өгөгдлийг параллелиар хүлээн авч хадгалаад цуваагаар гаргана.
Serial in/parallel out register- өгөгдлийг цуваагаар хүлээн авч хадгалаад цуваагаар гаргана.
Parallel in/parallel out register - өгөгдлийг параллелиар хүлээн авч хадгалаад параллелиар
гаргана. Жишээ нь параллель регистер.
Rotate register – Жонсоны ба цагираг тоолуур
зураг 5.145.
5.8.3. Shift register
Өгөгдлийг сериалаар буюу цуваагаар хүлээн авч хадгалаад, түүнийгээ дамжуулах зориулалтай
регистерийг shift register гэнэ. Жишээлбэл RS Flip Flop-ийг ашиглан хийсэн shift register-ийг 5.146-р
зурагт үзүүлэв. Энэ регистерийг ихэвчлэн сериал I/O төхөөрөмж уруу өгөгдлийг сериалаар
дамжуулах зориулалттай интерфейсүүдэд ашиглана.
213
зураг 5.146.
Shift регистерүүдийг дотор нь дараах байдлаар 3 ангилж болно.
Serial in/serial out shift register - өгөгдлийг цуваагаар оруулж хадгалаад, цуваагаар гаргана. Энэ
регистерийн бүтцийн схем /зураг 5.147/ болон таних тэмдгийг /зураг 5.148/ үзүүлэв.
зураг 5.147.
зураг 5.148.
Serial in/parallel out shift register - өгөгдлийг цуваагаар оруулж хадгалаад, параллелиар
гаргадаг регистер. Энэ регистерийн бүтцийн схем /зураг 5.149/ болон таних тэмдгийг /зураг
5.150/ үзүүлэв.
зураг 5.149.
зураг 5.150.
Parallel in/serial out shift register - өгөгдлийг параллелиар оруулж хадгалаад, цуваагаар
гаргадаг регистер. Энэ регистерийн бүтцийн схем /зураг 5.151/ болон таних тэмдгийг /зураг
5.152/ үзүүлэв.
зураг 5.151.
зураг 5.152.
214
Үүнээс гадна өгөгдөл оруулах чиглэлээс нь хамааруулан регистерийг right shift, left shift гэж
ангилж болно. /зураг 5.153/
зураг 5.153.
5.8.4. Parallel register
Өгөгдлийг нэгэн зэрэг параллелиар хүлээн авч санаж хадгалаад мөн түүнийгээ дамжуулах
зориулалттай регистерийг parallel register гэнэ. Жишээ нь 4 битийн параллель регистер. /зураг
5.154/
зураг 5.154.
Практикт өргөн ашиглагддаг RS Flip Flop ашигласан 4 битийн регистерийг 5.155-р зурагт үзүүлэв.
Энэ регистер нь өгөгдлийг оруулах D05, D06, D07, D08 гэсэн 4 оролттой, эдгээр оролтонд өгсөн
өгөгдлийг хянах зориулалтай мэдээлэл бичилтийг хянах нэмэлт оролттой, регистерт бичигдсэн
өгөгдлийг арилгах зориулалттай reset, өгөгдлийг унших D01, D02, D03, D04 гэсэн 4 гаралттай,
эдгээрийг хянах зориулалттай мэдээлэл уншилтыг хянах нэмэлт оролттой байна.
зураг 5.155.
5.8.5. Rotate register
Цуваа оролттой, цуваа гаралттай регистерийн гаралтаас эргүүлэн оролтонд өгсөн регистерийг
rotate register гэж нэрлэдэг. Үүнийг мөн ашиглах зориулалтаас нь хамааруулан shift register counter
гэж ч нэрлэдэг. Ерөнхийдөө 2 төрлийн ийм тоолуур байдаг.
215
Ring counter – цуваа оролт, цуваа гаралттай регистерийн гаралтаас шууд оролтонд эргүүлэн
холбосон тоолуур. Жишээ нь D триггер ашигласан 4 битийн ring тоолуурыг 5.156-р зурагт
үзүүлэв.
зураг 5.156.
clock Q0 Q1 Q2 Q3
0 1 0 0 0
1 0 1 0 0
2 0 0 1 0
3 0 0 0 1
4 1 0 0 0
Жонсоны тоолуур – цуваа оролт, цуваа гаралттай регистерийн урвуу гаралтнаас эхний
триггерийн оролтонд эргүүлэн холбосон тоолуур. Жишээ нь D триггер ашигласан 4 битийн
Жонсоны тоолуур. /зураг 5.157/
зураг 5.157.
clock Q0 Q1 Q2 Q3
0 0 0 0 0
1 1 0 0 0
2 1 1 0 0
3 1 1 1 0
4 1 1 1 1
5 0 1 1 1
6 0 0 1 1
7 0 0 0 1
8 0 0 0 0
5.9.1. Шуурхай санах ойн бүтэц
Шуурхай санах ойд өгөгдлийг бүлэг, бүлгээр нь групплэн хадгалах бөгөөд 1 групп өгөгдлийг word
буюу үг гэж нэрлэнэ. Иймээс санах ойн тодорхой тооны үгнээс тогтно. Жишээ болгон 8 үгнээс
тогтсон санах ойг үзүүлье. /зураг 5.158/
зураг 5.158.
1 үг нь 8, 16, 32 битийн урттай байж болно.
Санах ойн үг болгон тус тусдаа өөрийн гэсэн хаягтай байна. Санах ойн хаяг нь 2k
байвал санах ойд
ийм тооны үгнүүд байх боломжтой. Иймээс санах ойн дурын үгэнд хандахад зориулагдсан address
line нь k өргөнтэй байна.
Хэрэв 1 үгийн уртыг N гэвэл санах ойн 2k
xN битийн багтаамжтай байна. Жишээ нь 1024x16 битийн
санах ойг авч үзье. Энэ санах ойн 1 үг нь 16 битийн урттай байна. Мөн нийт 28
=1024 үгнээс тогтох
тул address line нь 8 байна. Өөрөөр хэлбэл санах ойн хаяглалтын 8 оролтын тусламжтайгаар дурын
санах ойн үгэнд хандаж болно. /зураг 5.159/
216
зураг 5.159.
Үүнээс гадна санах ойн 1 үгний байранд өгөгдлийг бичих data input line, санах ойн 1 үгэнд байрлах
өгөгдлийг унших data output line гэсэн гаралтууд байх бөгөөд эдгээр оролт/гаралтын тоо нь үгний
урттай буюу N-тэй тэнцүү байна. Мөн санах ойн тухайн үгний байрлалд өгөгдөл бичилт, уншилтийг
хянах зориулалттай read/write гэсэн хяналтын оролттой байх бөгөөд ихэнх тохиолдолд энэ
хяналтын оролтыг ерөнхий нэг оролтоор зохицуулдаг. Жишээ нь read/write оролтонд 0 бол
сонгосон үгэнд бичилт хийнэ. Харин 1 бол сонгосон үгэнд байгаа өгөгдлийг уншина. Иймээс санах
ойн бүдүүвч нь дараах хэлбэртэй байна. /зураг 5.160/
зураг 5.160.
5.9.2. Статик шуурхай санах ой
Ерөнхийдөө статик ба динамик гэсэн 2 төрлийн RAM (шуурхай санах ой) байх бөгөөд статик RAM
нь триггер ашигладаг. Иймээс статик RAM-ийг хэрхэн хийхийг авч үзье.
Санах ойн хамгийн бага нэгжийг cell буюу нүх гэнэ. 1 нүхэнд 1 бит мэдээлэл бичигдэнэ. Иймээс 1
үг нь үнэндээ N тооны нүхнээс тогтдог байх нь.
Статик санах ойн 1 нүхний бүтцийн схем /зураг 5.161/ ба блок диаграммыг /зураг 5.162/ үзүүлэв.
зураг 5.161.
зураг 5.162.
Select Read/write Санах ойн үйлдэл
0 x Ямар нэгэн үйлдэл хийхгүй
1 0 өгөгдлийг бичнэ
1 1 өгөгдлийг уншина
Санах ойн нүхийг ашиглан 4x3 RAM-ийг хийе. Өөрөөр хэлбэл 4 үгтэй, 1 үгийн урт нь 3 бит буюу
нийтдээ 12 битийн багтаамжтай шуурхай санах ойн бүдүүвчийг 5.163-р зурагт үзүүлэв.
Энд:
217
Санах ойн 4 үгнээс тогтох тул 2 address line-тай байна. Иймээс 2 оролт, 4 гаралттай Decoder-
ийг ашиглан 4 үгний хаягийг сонгоно.
Санах ойн нэг үг нь 3 битээс тогтох тул data input, data output нь 3 битийн урттай байна.
Мөн үг нь 3 нүхнээс тогтох бөгөөд санах ой нийтдээ 4 үгнээс тогтох тул 12 нүхийг ашиглана.
Нүх болгоны өгөгдөл бичилтийг хянах read/write оролтыг ганц байхаар зохион байгуулж санах
ойг хийсэн.
зураг 5.163.
218

More Related Content

What's hot

Гурван фазын цахилгаан хэлхээ
Гурван фазын цахилгаан хэлхээГурван фазын цахилгаан хэлхээ
Гурван фазын цахилгаан хэлхээ
zaluu_medleg
 
цахилгаан материал бие даалт1
цахилгаан материал бие даалт1цахилгаан материал бие даалт1
цахилгаан материал бие даалт1
enkhbold tugsbilegt
 
термодинамикийн I хууль
термодинамикийн I хуультермодинамикийн I хууль
термодинамикийн I хууль
davaa627
 
Computeriin tehnikiin vndes hicheeliin lektsiin huraangvi
Computeriin tehnikiin vndes hicheeliin lektsiin huraangviComputeriin tehnikiin vndes hicheeliin lektsiin huraangvi
Computeriin tehnikiin vndes hicheeliin lektsiin huraangvi
E-Gazarchin Online University
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
tsdnsrn
 
P ii lekts-1 soronzon oron
P ii lekts-1 soronzon oronP ii lekts-1 soronzon oron
P ii lekts-1 soronzon oron
udwal555 bhus
 

What's hot (20)

атомын бүтэц
атомын бүтэцатомын бүтэц
атомын бүтэц
 
Гурван фазын цахилгаан хэлхээ
Гурван фазын цахилгаан хэлхээГурван фазын цахилгаан хэлхээ
Гурван фазын цахилгаан хэлхээ
 
тооллын сис 10т 2т
тооллын сис 10т 2ттооллын сис 10т 2т
тооллын сис 10т 2т
 
Молекул кинетик онол
Молекул кинетик онолМолекул кинетик онол
Молекул кинетик онол
 
Tsho lekts 1
Tsho lekts  1Tsho lekts  1
Tsho lekts 1
 
Lekts 1
Lekts 1Lekts 1
Lekts 1
 
Lekts 3
Lekts 3Lekts 3
Lekts 3
 
Tsahilgaan static oron
Tsahilgaan static oronTsahilgaan static oron
Tsahilgaan static oron
 
Хатуу биеийн эргэх хөдөлгөөн
Хатуу биеийн эргэх хөдөлгөөнХатуу биеийн эргэх хөдөлгөөн
Хатуу биеийн эргэх хөдөлгөөн
 
семинар2
семинар2семинар2
семинар2
 
Цахилгаан машин
Цахилгаан машинЦахилгаан машин
Цахилгаан машин
 
цахилгаан материал бие даалт1
цахилгаан материал бие даалт1цахилгаан материал бие даалт1
цахилгаан материал бие даалт1
 
Hicheel 4
Hicheel 4Hicheel 4
Hicheel 4
 
термодинамикийн I хууль
термодинамикийн I хуультермодинамикийн I хууль
термодинамикийн I хууль
 
Computeriin tehnikiin vndes hicheeliin lektsiin huraangvi
Computeriin tehnikiin vndes hicheeliin lektsiin huraangviComputeriin tehnikiin vndes hicheeliin lektsiin huraangvi
Computeriin tehnikiin vndes hicheeliin lektsiin huraangvi
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Cem13
Cem13Cem13
Cem13
 
функцийн тодорхойлогдох муж ба утгын муж
функцийн тодорхойлогдох муж ба утгын мужфункцийн тодорхойлогдох муж ба утгын муж
функцийн тодорхойлогдох муж ба утгын муж
 
Лекц 4 (Тооллын Систем)
Лекц 4 (Тооллын Систем)Лекц 4 (Тооллын Систем)
Лекц 4 (Тооллын Систем)
 
P ii lekts-1 soronzon oron
P ii lekts-1 soronzon oronP ii lekts-1 soronzon oron
P ii lekts-1 soronzon oron
 

Similar to 5. digital electronics (12)

Тоон электроник /монгол/
Тоон электроник /монгол/Тоон электроник /монгол/
Тоон электроник /монгол/
 
Lab 1
Lab 1Lab 1
Lab 1
 
U.IT101 Lab1
U.IT101 Lab1U.IT101 Lab1
U.IT101 Lab1
 
Lab3 it101
Lab3 it101Lab3 it101
Lab3 it101
 
Lab3it101uzheer
Lab3it101uzheerLab3it101uzheer
Lab3it101uzheer
 
IT101 LAB NOM
IT101 LAB NOMIT101 LAB NOM
IT101 LAB NOM
 
тооллын сис 10т 2т
тооллын сис 10т 2ттооллын сис 10т 2т
тооллын сис 10т 2т
 
тооллын сис 10т 2т
тооллын сис 10т 2ттооллын сис 10т 2т
тооллын сис 10т 2т
 
Лекц №4
Лекц №4Лекц №4
Лекц №4
 
тооллын сис 10т 2т
тооллын сис 10т 2ттооллын сис 10т 2т
тооллын сис 10т 2т
 
Amarmend bd1
Amarmend bd1Amarmend bd1
Amarmend bd1
 
Lab9 it101
Lab9 it101Lab9 it101
Lab9 it101
 

More from Badarch Zorig (6)

7. smps
7. smps7. smps
7. smps
 
6. computer opganization
6. computer opganization6. computer opganization
6. computer opganization
 
4. op amp
4. op amp4. op amp
4. op amp
 
3. transistor
3. transistor3. transistor
3. transistor
 
2. diode
2. diode2. diode
2. diode
 
1. analog
1. analog1. analog
1. analog
 

5. digital electronics

  • 1. 5.1.1. 2-тын тооллын систем Бидний өдөр тутмын хэрэглээнд ашигладаг 10-тын тооллын систем нь 0-оос 9 хүртлэх тоог ашигладаг. Тэгвэл компьютерт ердөө л 0 ба 1 гэсэн тоог ашигласан 2-тын тооллын системийг (binary) ашиглана. Хоёртын тооллын системд 1 тэмдэгтийг нэг бит (bit) гэж нэрлэнэ. 1 bit = 1 binary digit 4 bit = 1 nibble 8 bit = 1 byte 2 byte = 1 word 2 word = 1 double word 2 double word = 1 quad word (word-ийн хэмжээ нь процессорын төрлөөс хамааран 2 byte ба 4 byte урттай байна) 2-тын тооллын систем дэх N битийн урттай үг нь 0-оос 2N-1 хүртэл ялгаатай 2N утга авна. Жишээ нь: 1 бит урттай үг нь 0-оос 1 хүртэл 0 ба 1 гэсэн 2 ялгаатай утгыг авна. Үүнтэй адилаар: 2 бит – 0-оос 3 хүртэл 00 01 10 11 гэсэн 4 утга 3 бит – 0-оос 7 хүртэл 000 001 010 011 100 101 110 111 гэсэн 8 утга 4 бит – 0-оос 15 хүртэл 0000 0001 0010 ... 1111 гэсэн 16 утга 5 бит – 0-оос 31 хүртэл 00000 00001 ... 11111 гэсэн 32 утга 6 бит – 0-оос 63 хүртэл 000000 000001 ... 111111 гэсэн 64 утга 7 бит – 0-оос 127 хүртэл 0000000 0000001 ... 1111111 гэсэн 128 утга 8 бит – 0-оос 255 хүртэл 00000000 00000001 ... 11111111 гэсэн 256 утга г.м 2-тын тооллын систем (binary)-ээс гадна 0-ээс 7 хүртэл тоог ашигласан 8-тын тооллын систем (octal), 0-ээс 9 хүртлэх тоо, A, B, C, D, E, F үсгүүдийг ашигласан 16-тын тооллын систем (hexadecimal), BCD тооллын системүүдийг өргөн ашигладаг. Доорх хүснэгтэнд өргөн хэрэглэгддэг дээрх тооллын системүүдийг хооронд нь харьцуулж үзэв. decimal binary BCD octal hexadecimal 0 0 0000 0 0 1 1 0001 1 1 2 10 0010 2 2 3 11 0011 3 3 4 100 0100 4 4 5 101 0101 5 5 6 110 0110 6 6 7 111 0111 7 7 8 1000 1000 10 8 9 1001 1001 11 9 10 1010 0001 0000 12 A 11 1011 0001 0001 13 B 12 1100 0001 0010 14 C 13 1101 0001 0011 15 D 14 1110 0001 0100 16 E 15 1111 0001 0101 17 F 16 10000 0001 0110 20 10 17 10001 0001 0111 21 11 18 10010 0001 1000 22 12 99 110011 1001 1001 143 63 Иймээс бусад тооллын системүүдээс бидний хэрэглэж заншсан 10-тын тооллын систем рүү болон 10-тын тооллын системээс бусад тооллын систем рүү хэрхэн хөврүүлэхийг авч үзье. 2-тын тооллын системээс 10-тын тооллын систем уруу хөврүүлэх: 11001101b=1x2 7 +1x2 6 +0x2 5 +0x2 4 +1x2 3 +1x2 2 +0x2 1 +1x2 0 =128+64+0+0+8+4+0+1=205 1101.101b=1x2 3 +1x2 2 +0x2 1 +1x2 0 +1x2 -1 +0x2 -2 +1x2 -3 =8+4+0+1+0.5+0+0.125=13.625 101.011b=1x2 2 +0x2 1 +1x2 0 +0x2 -1 +1x2 -2 +1x2 -3 =4+0+1+0+0.25+0.125=5.375 8-тын тооллын системээс 10-тын тооллын систем уруу хөврүүлэх: 572.6o=5x8 2 +7x8 1 +2x8 0 +6x8 -1 =320+56+2+0.75=378.75 245.37o=2x8 2 +4x8 1 +5x8 0 +3x8 -1 +7x8 -2 =165.484357 hexadecimal тооллын системээс 10-тын тооллын систем уруу хөврүүлэх: 2A.8h=2x16 1 +10x16 0 +8x16 -1 =32+10+0.5=42.5 30F.A9h=3x16 2 +0x16 1 +15x16 0 +10x16 -1 +9x16 -2 =783.66015625 10-тын тооллын системээс 2-тын тооллын систем уруу хөврүүлэх: 29/2=14 үлдэгдэл 1 14/2=7 үлдэгдэл 0 7/2=3 үлдэгдэл 1 3/2=1 үлдэгдэл 1 1/2=0 үлдэгдэл 1 29=11101b 0.3125*2=0.625 бүхэл хэсэг нь 0 0.625*2=1.25 бүхэл хэсэг нь 1 0.25*2=0.5 бүхэл хэсэг нь 0 0.5*2=1 бүхэл хэсэг нь 1 173
  • 2. .3125=.0101b 5.1.2. 2-тын тооллын систем дэх арифметик үйлдлүүд Нэмэх үйлдэл 11011 дээр 10011-ийг нэмье. Нэмэх үйлдлийн үед орон шилжихийг carry out, өмнөх үйлдлээс шилжиж ирсэн оронг cаrry in гэж тэмдэглэвэл нэмэх үйлдлийг дараах байдлаар илэрхийлж болно. /зураг 5.1/ зураг 5.1. Иймээс 2-тын тооллын системд нэмэх үйлдлийг гүйцэтгэхдээ дараах дүрмийг баримтлана. Энд carry in нь өмнөх үйлдлээс шилжиж ирсэн оронг, carry out нь нэмэх үйлдлийн үед орон шилжихийг тус тус илэрхийлнэ. /зураг 5.2/ зураг 5.2. Хасах үйлдэл 11001-ээс 10011-ийг хасья. Хасах үйлдлийн үед орон шилжихийг carry in, өмнөх оронгоос зээлэхийг borrow гэвэл хасах үйлдлийг дараах байдлаар тэмдэглэж болно. /зураг 5.3/ зураг 5.3. Иймээс 2-тын тооллын системд хасах үйлдлийг гүйцэтгэхдээ дараах дүрмийг баримтлана. /зураг 5.4/ зураг 5.4. Үржүүлэх үйлдэл 11001-ийг 10101-ээр үржүүлье. /зураг 5.5/ зураг 5.5. 2-тын тооллын системд тоог үржүүлэх нь 10-тын тооллын системтэй адилхан бөгөөд үржүүлэхдээ дараах дүрмийг баримтлана. /зураг 5.6/ зураг 5.6. 174
  • 3. 5.1.3. Эерэг ба сөрөг тоо 2-тын тооллын системд 4 битийн урттай үг нь 0-оос 15 хүртэл 0000 0001 ... 1111 гэсэн утга авна. Тэгвэл 2-тын тооллын системд сөрөг тоог хэрхэн тэмдэглэдгийг үзье. 2-тын тооллын системд сөрөг тоог илэрхийлэх 3 арга байдаг. Sing and magnitude Энэ арга нь 2-тын тооллын систем дэх тоог sign ба magnitude гэж хуваана. /зураг 5.7/ зураг 5.7. sing нь 0 бол тухайн тоо нэмэх тоо, 1 бол сөрөг тоо гэж үзнэ. Жишээ нь 8 битийн урттай үг нь 01111111 (+127)-гоос 11111111 (-127) хүртэл утга авна. Энэ аргаар хувиргалт хийвэл 00000000 = +0 ба 10000000 = -0 гэсэн 2 тэг байна. Энэ аргаар тоог сөрөг тоон уруу нь шилжүүлэхдээ sing битийг нь урвуугаар нь солих хэрэгтэй. Жишээ нь: 00100001b = +33 10100001b = -33 00000101b = +5 10000101b = -5 1st complement Энэ аргаар сөрөг тоог тогтоохдоо түүний бүх оронг урвуугаар нь солино. Жишээ нь: 00100001b = +33 11011110b = -33 00000101b = +5 11111010b = -5 1st complement-ээр 8 битийн урттай үг нь 01111111 (+127)-гоос 10000000 (-127) хүртэл утга авна. Энэ аргаар хувиргалт хийвэл 00000000 = +0 ба 11111111 = -0 гэсэн 2 тэг байна. 2st complement Энэ аргаар сөрөг тоог тогтоохдоо түүний бүх оронг урвуугаар нь сольж, гарсан үр дүн дээр 1- ийг нэмнэ. Жишээ нь: 00100001b = +33 11011111b = -33 00000101b = +5 11111011b = -5 2st complement-ээр 8 битийн урттай үг нь 01111111 (+127)-гоос 10000000 (-128) хүртэл утга авна. Энэ аргаар хувиргалт хийвэл 00000000 = 0 гэсэн ганц тэг байна. Ингээд дээрх 3 аргыг хооронд нь харьцуулж үзье. decimal binary sign magnitude 1st complement 2st complement 15 1111 - - - 14 1110 - - - 13 1101 - - - 12 1100 - - - 11 1011 - - - 10 1010 - - - 9 1001 - - - 8 1000 - - - 7 0111 0111 0111 0111 6 0110 0110 0110 0110 5 0101 0101 0101 0101 4 0100 0100 0100 0100 3 0011 0011 0011 0011 2 0010 0010 0010 0010 1 0001 0001 0001 0001 +0 0000 0000 0000 0000 -0 - 1000 1111 - -1 - 1001 1110 1111 -2 - 1010 1101 1110 -3 - 1011 1100 1101 -4 - 1100 1011 1100 -5 - 1101 1010 1011 -6 - 1110 1001 1010 -7 - 1111 1000 1001 -8 - - - 1000 175
  • 4. 2 өөр урттай үгийг хооронд шилжүүлэхдээ дараах байдлаар шилжүүлнэ. Жишээлбэл 8 битийн урттай үгийг 16 битийн урттай үг рүү шилжүүлье: +18 = 00010010 (8 bit) +18 = 0000000000010010 (16 bit) -18 = 10010010 (8 bit) – 2st complement -18 = 1111111100010010 (16 bit) - 2st complement 5.1.4. 2st complement архиметикийн үйлдлүүд 2st complement нэмэх үйлдэл 2st complement-ийн нэсэх үйлдэл нь 2-тын тооллын системийнхээ үнсэндээ адилхан. Харин 4 битийн урттай хоёр тоог хооронд нь нэмэхэд хариу нь мөн 4 битийн урттай байх ёстой. Хэрэв орон хэтэрвэл тэр хэтэрсэн оронг extra bit гэж нэрлэх бөгөөд түүнийг тооцохгүй. Жишээ нь зураг 5.8-ийн 2, 4, 6-р нийлбэрүүдийн хувьд extra bit үүсэх бөгөөд түүнийг тооцохгүй гээсэн байна. зураг 5.8. Overflow нь нэмэх үед гарсан үр дүн нь үгийн уртаас хэтэрсэн эсэхийг тогтооно. Жишээлбэл 4 битийн 2 тоог хооронд нь нэмж байх үед нийлбэр нь нэмэх тоо бол 7-гоос хэтрэхгүй, хасах тоо бол 8-аас хэтрэхгүй байх ёстой. Хэрэв хэтэрвэл үгийн уртаас хэтрэх тул ийм үр дүнг тооцохгүй. Иймээс нэмэх үед нийлбэр нь үгийн уртаас хэтэрч байвал түүнийг overflow гэх бөгөөд ийм үр дүнг тооцохгүй. Overflow-г таних амархан. Үүний тул тулд хэрэв нэмж байгаа хоёр тоо хоёул нэмэх, эсвэл хасах үед гарах үр дүнгийн тэмдэг эсрэгээрээ солигдсон бол түүнийг overflow гэж үзнэ. Жишээлбэл дээрх нийлбэрүүдийн сүүлийн 2 нь overflow болсон байна. 2st complement хасах үйлдэл 2st complement-ийн 2 тоог хасахдаа хасагдаж байгаа тоог сөрөг тоонд шилжүүлээд дараа нь хоёр тоог хооронд нь нэмнэ. Зураг 5.9-д үзүүлсэн жишээнүүдийн хувьд 2, 4, 6-р үйлдлүүдэд extra bit-үүд үүссэн бөгөөд 5, 6-д нь overflow буюу орон хэтэрсэн байна. зураг 5.9. 5.1.5. Floating Point Number Олон оронтой тоон дээр математик үйлдлийг хийх зорилгоор Floating Point Number-ийг ашиглана. Өөрөөр хэлбэл 23*1021 , -0.0017*1021 зэрэг тоонууд дээр үйлдэл хийх зорилгоор Floating Point Number-ийг ашиглана. Floating Point Number-ийг sing bit, mantissa bits, exponent bits гэж гурав хэсэгт хуваана. /зураг 5.10/ Жишээ нь +23*1021 -ийг Floating Point Number хэлбэрт оруулбал +0.23*1023 . Энд + тэмдгийг sign, таслалаас хойших орон 23-ийг mantissa, аравын зэрэгт 23-ийг exponent гэнэ. Иймээс тоог Floating Point Number-т оруулахын тулд эхлээд нормаль хэлбэрт шилжүүлэх хэрэгтэй. зураг 5.10. 176
  • 5. Эндээс үзвэл sign bit нь тухайн тоог нэмэх хасах болохыг, mantissa нь үржвэрийн таслалаас хойших оронг, exponent нь зэргийг тус тус илэрхийлнэ. Энд sign bit = 1 бол нэмэх, sign bit = 0 бол хасах гэнэ. Жишээ нь –6.5 ба +0.1875-ийг Floating Point Number хэлбэрт оруулья. /зураг 5.11/ зураг 5.11. 5.1.6. Floating Point архиметик Floating Point тоонуудын хувьд үржүүлэх ба нэмэх үйлдлүүдийг хэрхэн гүйцэтгэхийг үзье. Floating Point тоонуудыг хооронд нь үржүүлэхдээ дараах дүрмийг баримтлана. Mantissa-уудыг нь үржүүл Exponent-үүдийг нь нэм Нормаль хэлбэрт шилжүүл Жишээ нь: 0.12*102 *0.2*1030 =(0.12*0.2)*102+30 =0.024*1032 =0.24*1031 Floating Point тоонуудыг хооронд нь нэмэхдээ дараах дүрмийг баримтлана. Exponent-үүдийг нь адилхан болго Mantissa-уудыг хооронд нь нэм Нормаль хэлбэрт шилжүүл Жишээ нь: 0.12*103 +0.2*102 =0.12*103 +0.02*103 =(0.12+0.02)*103 =0.14*103 5.1.7. BCD тооллын систем Binary Coded Decimal (BCD) систем нь 10-тын ба 2-тын тооллын системүүдийг хооронд нь холбож өгөх зориулалттай хялбаршуулсан систем. Энэ системээр 10-тын системийн тоо болгонг 4 бит хэлбэрээр илэрхийлж болно. Жишээ нь: 0 – 0000 1 – 0001 2 – 0010 3 – 0011 4 – 0100 5 – 0101 6 – 0110 7 – 0111 8 – 1000 9 – 1001 гэж илэрхийлж болно. Үүнийг ашиглан 10-тын ба 2-тын тооллын системүүдийг хялбар аргаар хооронд нь шилжүүлж болно. Жишээ нь: 234=0010 0011 0100 7093=0111 0000 1001 0011 1000 0110=86 BCD ба 2-тын тооллын системүүд нь хоорондоо адилгүй. Жишээ нь: 234=11101010b 234=0010 0011 0100 – BCD BCD тооллын системээс 16-тын (hexadecimal) тооллын систем уруу хөврүүлэх: 0001 0111=23 0001 0111 1 7 0001 0111=17h 0110 0001 1000 0011=24963 0110 0001 1000 0011 6 1 8 3 0110 0001 1000 0011=6183h 0101 1101 1001 1011 1000=5D9B8h Энэ санааг мөн 8-тын тооллын системд (octal) ашиглаж болно. Ингэхдээ харин 3 битээр нь блоклоно. Жишээ нь: 010 111 001.101 110=2731.56o 177
  • 6. 5.1.8. ASCII (American Standard Code for Information Interchange) код Компьютерийн хувьд зөвхөн тоог 2-тын болон Floating Point хэлбэрээр дүрслэхээс гадна үсэг (A Z, a z), тусгай тэмдэгт симболууд (α ϖ ∞ ≅ ≈ ≠ ± ≥ г.м) зэргийг ч мөн 2-тын тооллын системд дүрслэх шаардлага гардаг. Иймээс энэ зорилгоор үсэгнүүд, тусгай тэмдэгтүүдийг 2-тын тооллын системд оруулсан албан ёсны стандарт болж чадсан тусгай хүснэгт шаардлагатай. Жишээ нь ASCII хүснэгт. ASCII code Odd parity bit 0 1 . 9 . A B . Z [ 011 0000 011 0001 . 011 1001 . 100 0001 100 0010 . 101 1010 101 1011 101 1100 1 0 . 1 . 1 1 . 1 0 1 5.1.9. Parity bit Parity bit нь тэгш сондгойг тогтоох замаар дамжууллын үед алдаа гарсан эсэхийг хянах зорилготой. Odd parity bit гэдэг нь сондгой бол 0, тэгш бол 1, even parity bit нь сондгой бол 1, тэгш бол 0 байна. Parity bit-ийн тусламжтайгаар дамжууллын үед гарсан дараах алдааг илрүүлж чадна. 10011 10001 Өөрөөр хэлбэл дээрх тохиолдолд дамжуулахаас өмнө odd parity bit нь 0 байсан бол дамжууллын дараа 1 болсон байна. Харин parity bit-ийн тусламжтайгаар дамжууллын үед тохиолдсон дараах алдааг илрүүлэх боломжгүй. 10011 10101 Учир нь дамжуулахаас өмнө odd parity bit нь 0 байсан бол дамжууллын дараа ч мөн 0 хэвээр байна. Мөн ганц өгөгдлийг дамжуулах үед гарсан алдааг илрүүлэхэд ашиглахаас гадна блок өгөгдлийг дамжуулах үед гарсан алдааг мөр багананых нь тэгш сондгойг шалгах замаар тогтоож болно. Жишээ нь зураг 5.12. зураг 5.12. 5.2.1. Булийн алгебр (Boolean Algebra) 1984 онд Жорж Бул анх удаа логик үйлдлүүдийг гүйцэтгэх математик томьёоллыг зохиосон бөгөөд үүнийг Булийн алгебр гэнэ. Жишээ нь логикийн хувьд AND нь 2 зүйлийг харьцуулахад зөвхөн тухайн 2 зүйл үнэн байхад л үнэн байдаг бусад тохиолдолд худлаа байдаг бол OR нь аль нэг нь үнэн байхад үнэн байдаг, харин 2-улаа худлаа байхад л худлаа байдаг, NOT нь үнэн байхад худлаа байдаг, худал байхад үнэн байдаг г.м энэ санаануудыг математик загварчилд оруулж өгсөн. Жишээ нь саяны хэлсэн зүйлүүдийг хүснэгт хэлбэрээр илэрхийлбэл: A B A AND B A B A OR B A NOT A худал худал худал худал худал худал үнэн худал худал үнэн худал худал үнэн үнэн худал үнэн үнэн худал худал үнэн худал үнэн үнэн үнэн үнэн үнэн үнэн үнэн Ингээд Булийн томьёолсны дагуу дээрх үйлдлүүдийг математикт хэрхэн илэрхийлдгийг үзье. AND үйлдэл – логикийн энэ үйлдэл нь архиметикийн үржүүлэх үйлдэлтэй төсөөтэй тул түүнийг үржих тэмдгээр тэмдэглэдэг. 0⋅0 = 0 A⋅0 = 0 0⋅1 = 0 A⋅1 = A 178
  • 7. 1⋅0 = 0 A⋅A = A 1⋅1 = 1 A⋅A’ = 0 OR үйлдэл – логикийн энэ үйлдэл нь архиметикийн нэмэх үйлдэлтэй төсөөтэй тул түүнийг нэмэх тэмдгээр тэмдэглэдэг. 0+0 = 0 A+0 = A 0+1 = 1 A+1 = 1 1+0 = 1 A+A = A 1+1 = 1 A+A’= 1 NOT буюу үгүйсгэх үйлдэл 0’= 1 1’= 0 A’’= A Жорж Бул логикийн үйлдлүүдийг математик загварчилж оруулахаас гадна тэдний хувьд ямар үйлдлүүдийг хийх боломжтойг томъёолж өгсөн. Жишээ нь логикийн үйлдлүүдийн хувьд архиметийн байр сэлгэх, бүлэглэх, хаалт задлах зэрэг үйлдлүүдийг гүйцэтгэх боломжтой эсэхийг тогтоож өгсөн. Жишээ нь логикийн хувьд хаалт задлах A(B+C)=AB+AC хууль биелдэг эсэхийг шалгая. Үүний тулд дээрх 2 үйлдлийн үнэмшлийн хүснэгтийг байгуулаад харьцуулж үзье. A B C B+C A(B+C) A B C AB AC AB+AC 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 Ингээд логик үйлдлүүдийн хувьд архиметикийн ямар хуулиуд хүчин төгөлдөр болохыг үзье. Бүлэглэх (A·B)·C = A·(B·C) = A·B·C (A+B)+C = A+(B+C) = A+B+C Байр сэлгэх A·B = B·A = AB A+B = B+A Хаалт задлах A·(B+C) = (A·B) + (A·C) Бусад A = A+0 A = A+1 A = A+A A = A+AA’ A = A+AB A = A·1 A = A·A A = A·(A+B) A+B = A +⎯AB A+BC = (A+B) · (A+C) Морганы теорем (DeMorgan's Theorem) (A·B)' = A' + B' (NAND) (A+B)' = A' · B' (NOR) 5.2.2. Үндсэн логик элементүүд Тоон электроникт логик үйлдлүүдийг гүйцэтгэдэг элементүүдийг логик gate-үүд гэж нэрлэнэ. Жишээ нь AND, OR, NOT гэсэн үндсэн логик үйлдлүүдийг гүйцэтгэдэг элементүүдийг үзье. AND GATE Бүгд нь 1 байх үед 1, бусад тохиолдолд 0 гардаг логик үйлдлийг AND үйлдэл гэнэ. Энэ үйлдэл нь математикийн үржүүлэх үйлдэлтэй төстэй бөгөөд энэ үйлдлийг үржүүлэхийн тэмдгээр тэмдэглэдэг. Жишээ нь: 1⋅1=1, 1⋅0=0, 0⋅1=0, 0⋅0=0 г.м. Энэ үйлдлийг гүйцэтгэдэг элементийг AND GATE гэх ба дараах байдлаар тэмдэглэнэ. /зураг 5.13/ A B A AND B 0 0 0 0 1 0 1 0 0 зураг 5.13. 1 1 1 179
  • 8. OR GATE Бүгд 0 байх үед 0, бусад тохиолдолд 1 гардаг логик үйлдлийг OR үйлдэл гэнэ. Энэ үйлдэл нь нэмэх үйлдэлтэй төсөөтэй бөгөөд түүнийг нэмэх тэмдгээр тэмдэглэдэг. Жишээ нь: 0+0=0, 0+1=1, 1+0=1, 1+1=1 г.м. Энэ үйлдлийг гүйцэтгэдэг элементийг OR GATE гэх бөгөөд дараах байдлаар тэмдэглэнэ. /зураг 5.14/ A B A OR B 0 0 0 0 1 1 1 0 1 зураг 5.14. 1 1 1 NOT GATE Бүгдийг түүний урвуугаар нь сольдог логик үйлдлийг NOT үйлдэл буюу үгүйсгэл гэнэ. Жишээ нь: 0’=1, 1’=0 г.м. NOT үйлдлийг гүйцэтгэдэг элементийг NOT GATE гэж нэрлэх бөгөөд дараах байдлаар тэмдэглэнэ. /зураг 5.15/ A NOT A 0 1 зураг 5.15. 1 0 AND, OR, NOT гэсэн гурван үндсэн логик үйлдлийг ашиглан тэдгээрийг хослуулан хэрэглэх замаар төрөл бүрийн нарийн төвөгтэй логик үйлдүүдийг гүйцэтгэх боломжтой. NAND GATE Энэ NAND үйлдэл нь AND ба NOT үйлдлүүдийг ашиглана. Энэ нь AND логик үйлдлийн үгүйсгэл бөгөөд 2 оролтонд хоёуланд 1 байх үед 0 гардаг, бусад тохиолдолд 1 гарна. Энэ үйлдлийг гүйцэтгэдэг элементийг NAND GATE гэх бөгөөд дараах байдлаар тэмдэглэнэ. /зураг 5.16/ A B A NAND B 0 0 1 0 1 1 1 0 1 зураг 5.16. 1 1 0 NOR GATE Энэ логик үйлдэл нь OR ба NOT үйлдүүдийг ашиглана. Энэ нь OR логик үйлдлийн үгүйсгэл бөгөөд 2 оролтонд хоёуланд нь 0 байх үед л 1 гардаг бусад тохиолдолд 0 гарна. Энэ үйлдлийг гүйцэтгэдэг элементийг NOR GATE гэх бөгөөд дараах байдлаар тэмдэглэнэ. /зураг 5.17/ A B A NOR B 0 0 1 0 1 0 1 0 0 зураг 5.17. 1 1 0 XOR GATE Энэ логик үйлдэл нь хоёр оролтонд ялгаатай утга байх үед л 1 гардаг, бусад тохиолдолд 0 гарна. Энэ үйлдлийг гүйцэтгэдэг элементийг XOR GATE гэх бөгөөд дараах байдлаар тэмдэглэнэ. /зураг 5.18/ A B A XOR B 0 0 0 0 1 1 1 0 1 зураг 5.18. 1 1 0 Жишээлбэл логик AND, OR, NOT элементүүдийг ашигласан XOR элемент. /зураг 5.19/ зураг 5.19. Логик NAND элементийг ашигласан XOR элемент. /зураг 5.20/ 180
  • 9. зураг 5.20. 5.2.3. Логик үйлдлүүдийг хэрхэн гүйцэтгэх AND үйлдэл /зураг 5.21/ 0⋅0 = 0 A⋅0 = 0 0⋅1 = 0 A⋅1 = A 1⋅0 = 0 A⋅A = A 1⋅1 = 1 A⋅A’ = 0 зураг 5.21. OR үйлдэл /зураг 5.22/ 0+0 = 0 A+0 = A 0+1 = 1 A+1 = 1 1+0 = 1 A+A = A 1+1 = 1 A+A’= 1 зураг 5.22. NOT үйлдэл /зураг 5.23/ 0’= 1 1’= 0 A’’= A зураг 5.23. Бусад үйлдлүүд (A·B)·C = A·(B·C) = A·B·C /зураг 5.24/ зураг 5.24. (A+B)+C = A+(B+C) = A+B+C /зураг 5.25/ зураг 5.25. A·(B+C) = (A·B) + (A·C) /зураг 5.26/ зураг 5.26. A+(B·C) = (A+B) · (A+C) /зураг 5.27/ зураг 5.27. A·B = B·A = AB /зураг 5.28/ 181
  • 10. зураг 5.28. A+B = B+A /зураг 5.29/ зураг 5.29. A+AB = A /зураг 5.30/ зураг 5.30. A+⎯AB = A+B /зураг 5.31/ зураг 5.31. (A+B)ּ(A+C) = A+BC /зураг 5.32/ зураг 5.32. Морганы теорем (DeMorgan's Theorem) (A·B)' = A' + B' (NAND) /зураг 5.33/ зураг 5.33. (A+B)' = A' · B' (NOR) /зураг 5.34/ зураг 5.34. 5.2.4. Логик элементүүдийг ашиглах NOT элементийг ашигласан 1st complement уруу хөврүүлэгч /зураг 5.35/ зураг 5.35. AND элементийг ашиглан оролтонд өгсөн импульсээс тодорхой хугацааны торх импульсийг тоолох /зураг 5.36/ 182
  • 11. зураг 5.36. 5.3.1. Бааз элементүүд Тоон электроникт ашиглагддаг логик үйлдлүүдийг гүйцэтгэдэг элементүүд нь дараах бааз элементүүдэд суурилагдан хийгдсэн байдаг. Ямар нэгэн бааз элементийн гол үүрэг тухайн бааз элементийг ашиглан NOR буюу NAND үйлдлийг гүйцэтгэж чаддаг байх явдал юм. Учир энэ 2 үйлдлийн аль нэгнийг нь ашиглан ямарч төвөгтэй логик үйлдлийг гүйцэтгэх боломжтой байдаг. 5.3.2. Diode Logic (DL) бааз элемент Диод логик бааз элемент нь хагас дамжуулагч диодыг ашиглана. Энэ бааз элементийг хэлхээнд дараах хоёр хэлбэрээр холбож ашиглана. Хэрэв диодыг зураг 5.37-д үзүүлснээр холбовол оролтонд 0 байхад диод нээлттэй байх тул диодоор гүйдэл гүйхгүй. Иймээс гаралтанд мөн адил 0 байна. Харин оролтонд 1 байхад диод хаагдаж диодоор гүйдэл гүйх учраас гаралтанд оролттой адилхан 1 байна. A Z 0 0 зураг 5.37. 1 1 Хэрэв диодыг зураг 5.38-д үзүүлснээр холбовол оролтонд 0 байхад диод хаалттай байх тул диодоор гүйдэл гүйх учраас гаралтанд мөн адил 0 байна. Харин оролтонд 1 байхад диод нээгдэж диодоор гүйдэл гүйхгүй учраас гаралтанд оролттой адилхан 1 байна. A Z 0 0 зураг 5.38. 1 1 DL элементийг ашиглан AND ба OR үйлдлүүд, тэдгээрийн хослолыг хэрхэн гүйцэтгэхийг үзье. DL OR GATE Хэрэв 2 оролтонд логик 0 байвал диодууд нээлттэй (диодоор гүйдэл гүйхгүй) байх тул гаралтанд 0 байна. Харин 2 оролтын аль нэгэнд логик 1 байвал тухайн диод хаагдаж (диодоор гүйдэл гүйнэ) гаралтанд 1 гарна. Эндээс үзвэл энэ нь логик OR үйлдлийг гүйцэтгэж байна. /зураг 5.39/ A B Z 0 0 0 0 1 1 1 0 1 Z=A+B зураг 5.39. 1 1 1 DL AND GATE Хэрэв 2 оролтонд логик 1 байвал диодууд нээлттэй (диодоор гүйдэл гүйхгүй) байх учраас гаралтанд 1 байна. Харин 2 оролтын аль нэгэнд логик 0 байвал тухайн диод хаагдаж (диодоор гүйдэл гүйж) гаралтанд 0 гарна. Эндээс үзвэл энэ нь логик AND үйлдлийг гүйцэтгэж байна. /зураг 5.40/ 183
  • 12. A B Z 0 0 0 0 1 0 1 0 0 Z=A⋅B зураг 5.40. 1 1 1 DL AND-OR GATE /зураг 5.41/ A B C D Z 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 Z=A⋅B+C⋅D зураг 5.41. 1 1 1 1 1 5.3.3. Resistor-Transistor Logic (RTL) бааз элемент Транзистор-резистор бааз элемент нь биполяр транзисторыг ашиглана. Жишээлбэл энэ бааз элементийг ашиглан NOT, OR, NOR үйлдлүүдийг хэрхэн гүйцэтгэхийг үзье. RTL NOT GATE Оролтонд логик 0 байвал транзистор нээлттэй (транзистораар гүйдэл гүйхгүй) буюу хэрчилтийн горимд байх тул гаралтанд 1 гарна. Харин оролтонд логик 1 байвал транзистор хаагдаж (транзистораар гүйдэл гүйнэ) ханасан төлөвтөө орох учраас ханасан транзистор дээр унах хүчдэл маш бага тул гаралтанд 0 гарна. Эндээс үзвэл энэ элемент нь логик NOT үйлдлийг гүйцэтгэдэг байна. /зураг 5.42/ A Z 0 1 Z=A’ зураг 5.42. 1 0 4 оролттой RTL NOR GATE 4 оролтонд 4-үүлэнд нь логик 0 байх үед бүх транзисторууд хэрчилтийн горимд байх тул гаралтанд 1, 4 оролтын аль нэгэнд нь логик 1 байх үед тухайн транзистор нээгдэж ханалтын горимонд орох тул гаралтанд 0 байх тул энэ элемент нь логик NOR үйлдлийг гүйцэтгэж байна. /зураг 5.43/ A B C D Z 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 Z=(A+B+C+D)’ 0 1 0 1 0 184
  • 13. 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 зураг 5.13. 1 1 1 1 0 4 оролттой RTL OR GATE Мөн дээрх NOR элементийн гаралтан үгүйсгэлийг хэрэглэн OR элементийг гаргаж болно. /зураг 5.44/ A B C D Z 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 Z=A+B+C+D зураг 5.44. 1 1 1 1 1 5.3.4. Diode-Transistor Logic (DTL) бааз элемент Энэ бааз элемент нь диод болон биполяр транзисторыг ашиглана. Жишээлбэл энэ бааз элементийг ашиглан NOT, NOR, NAND үйлдлүүдийг хэрхэн гүйцэтгэхийг үзье. DTL NOT GATE Оролтонд логик 0 байвал 1-р диод хаалттай, 2-р диод нээлттэй байх тул транзисторын бааз дээр 0 болж транзисторын хэрчилтийн горимонд байна. Иймээс гаралтанд 1 гарна. Харин оролтонд логик 1 байвал 1-р диод нээлттэй, 2-р диод хаалттай тул транзисторын бааз дээр +5v болж транзистор ханасан төлөвтөө орно. Иймээс гаралтанд 0 байна. Эндээс үзвэл энэ элемент нь логик NOT үйлдлийг гүйцэтгэнэ. /зураг 5.45/ A Z 0 1 Z=A’ зураг 5.45. 1 0 3 оролттой DTL NAND GATE 3 оролтын 3-ууланд нь логик 1 байх үед 1-р диодууд бүгд нээлттэй, 2-р диодууд бүгд хаалттай байх тул транзисторын бааз дээр +5v-ийн хүчдэл унаж транзистор ханалтын горимонд орох учраас гаралтанд 0 байна. Харин 3 оролтын аль нэгэнд логик 0 байвал тухайн оролтын 1-р 185
  • 14. диод хаалттай, 2-р диод нээлттэй болох тул транзисторын бааз дээрх хүчдэл 0 болж транзистор хэрчилтийн горимонд орох тул гаралтанд 1 гарна. Эндээс үзвэл энэ элемент нь логик NAND үйлдлийг гүйцэтгэнэ. /зураг 5.46/ A B C Z 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 Z=(A⋅B⋅C)’ зураг 5.46. 1 1 1 0 DTL NOR GATE 2 оролтонд 2-уланд нь логик 0 үед 2 оролтын 1-р диодууд хаалттай, 2-р диодууд нээлттэй байх тул транзисторуудын бааз дээр 0 байж транзисторууд хэрчилтийн төлөвт (транзистор нээлттэй) орох тул гаралтанд 1, аль нэг оролтонд логик 1 үед тухайн оролтын 1-р диод нээлттэй, 2-р диод хаалттай тул транзисторын бааз дээр +5v хүчдэл унаж транзистор ханалтын төлөвт (транзистор хаалттай) орох тул гаралтанд 0 гарна. Иймээс энэ элемент нь логик NOR үйлдлийг гүйцэтгэнэ. /зураг 5.47/ A B Z 0 0 1 0 1 0 1 0 0 Z=(A+B)’ зураг 5.47. 1 1 0 DTL AND-OR GATE /зураг 5.48/ A B C D Z 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 Z=A⋅B+C⋅D зураг 5.48. 1 1 1 1 1 5.3.5. Transistor-Transistor Logic (TTL) бааз элемент DTL бааз элементэд ашиглагддаг диоднуудын оронд транзисторыг ашигласан. Жишээлбэл DTL NOT gate-ийг хэрхэн TTL бааз элементийг ашиглан хийхийг үзье. 186
  • 15. DTL NOT GATE /зураг 5.49/ Z=A’ зураг 5.49. TTL NOT GATE /зураг 5.50/ Z=A’ зураг 5.50. DTL NOR GATE /зураг 5.51/ Z=(A+B)’ зураг 5.51. TTL NOR GATE /зураг 5.52/ Z=(A+B)’ зураг 5.52. TTL NAND GATE TTL бааз элемент нь DTL-ийг сайжруулсан хувилбар бөгөөд харьцангуй хурдан ажиллагаатай тул практикт өргөн ашиглагддаг. Практикт ашиглагддаг TTL бааз элемент нь арай илүү нийлмэл бүтэцтэй байна. Жишээлбэл практикт ашиглагддаг TTL NAND GATE нь дараах бүтэцтэй байдаг. Өөрөөр хэлбэл практикт өргөн хэрэглэгддэг 7400/5400 серийн IC (интеграл схем)-үүд нь доорх бүтэцтэй TTL бааз элементийг ашигласан байдаг. Энд нэг онцлог нь нэг ерөнхий коллектор болон баазтай, олон эммитертэй транзисторыг ашигладаг. Иймээс 1-р транзисторын 3 эммитер дээр зэрэг 0 байхад транзистор хаалттай (транзистораар гүйдэл гүйнэ) байх тул гаралтанд 1, 1-р транзисторын аль нэг эммитер дээр 1 байхад л транзистор нээгдэх (транзистораар гүйдэл гүйхгүй) тул гаралтанд 0 болно /зураг 5.53/ 187
  • 16. A B C Z 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 Z=(A⋅B⋅C)’ зураг 5.53. 1 1 1 0 TTL сери Тэмдэглэл Жишээ Standard TTL 54 or 74 7400 (quad NAND gate) Low power TTL 54L or 74L 74L00 (quad NAND gate) Schottky TTL 54S or 74S 74S00 (quad NAND gate) Low power Schottky TTL 54LS or 74LS 74LS00 (quad NAND gate) 5.3.6. CMOS бааз элемент 2 өөр төрлийн оронгийн транзистор ашигласан энэхүү бааз элемент сүүлийн жилүүдэд шинээр гарч ирсэн шинэ технологи юм. 2 өөр төрлийн транзистор ашигладаг тул оролтонд ямар ч сигнал ирсэн аль нэг нь хаалттай, нөгөө нь нээлттэй байдаг онцлогтой. Хэрэв оролтонд 0 байвал дээд транзистор хаалттай, доод транзистор нээлттэй байх учраас гаралтанд 1, оролтонд логик 1 байвал дээд транзистор нээлттэй, доод транзистор хаалттай байх тул гаралтанд 0 байна. /зураг 5.54/ зураг 5.54. CMOS NOT GATE Хэрэв оролтонд логик 0 сигнал ирвэл N-СMOS (доод талынх) нээгдэж, P-СMOS (дээд талынх) хаагдах тул гаралтанд логик 1 сигнал гарна. Харин оролтонд логик 1 сигнал ирэхэд N-СMOS нээгдэж, P-СMOS хаагдан гаралтанд логик 0 сигнал гарна. /зураг 5.55/ A Z 0 1 Z=A’ зураг 5.55. 1 0 CMOS NOR GATE Хэрэв 2 оролтонд 2-уланд нь логик 0 сигнал ирвэл N-СMOS-ууд хаагдаж, P-СMOS-ууд нээлттэй тул гаралтанд логик 1 сигнал гарна. Харин оролтын аль нэгэнд нь логик 1 сигнал ирвэл тухайн оролтонд хамаарах N-СMOS нээгдэж, P-СMOS хаагдан гаралтанд логик 0 сигнал гарна. /зураг 5.56/ 188
  • 17. A B Z 0 0 1 0 1 0 1 0 0 Z=(A+B)’ зураг 5.56. 1 1 0 CMOS NAND GATE Хэрэв 2 оролтонд 2-уланд нь логик 1 сигнал ирвэл N-СMOS-ууд нээгдэж, P-СMOS-ууд хаалттай тул гаралтанд логик 0 сигнал гарна. Харин оролтын аль нэгэнд нь логик 0 сигнал ирвэл тухайн оролтонд хамаарах N-СMOS хаагдаж, P-СMOS нээгдэн гаралтанд логик 1 сигнал гарна. /зураг 5.57/ A B Z 0 0 0 0 1 0 1 0 0 Z=(A⋅B)’ зураг 5.57. 1 1 1 5.3.7. Интегралчлагч хэлхээ Ихэнх логик элементүүд нь CMOS (complementary metal oxide), TTL (transistor–transistor logic) болон бусад элементүүдийг ашигласан байдаг. Логик элементүүдийг ашиглах үед дараах 2 зүйл ажиглагдана. 1. Оролт ба гаралтын хүчдлийн босго өөрчлөгддөг. Жишээлбэл энгийн транзистор ашигласан логик элементүүдийн хувьд оролт гаралт хүчдлийн босго хэрхэн өөрчлөгддөгийг харья. /зураг 5.58/ зураг 5.58. 2. Үүнээс гадна сигнал Td хугацаагаар delay хийгддэг. Өөрөөр хэлбэл Td хугацаагаар хоцордог. Жишээлбэл инвертлэгч элементийн хувьд хэрхэн delay хийгддэгийг харья. Энэ Td нь TTL бааз элемент ашигласан инвертлэгчийн хувьд ойролцоогоор 10ns орчим байна. /зураг 5.59/ 189
  • 18. зураг 5.59. Жишээ нь зураг 5.60. зураг 5.60. Мөн олон логик элементүүдийг нэг блок болгож хийсэн элемнтийг интегралчлагч хэлхээ (Integrated Circiut - IC) буюу товчоор chip гэнэ. 1 chip-д багтах элементүүдийн хэмжээнээс хамааран интегралчлагч хэлхээг дараах байдлаар ангилж болно. Small Scale Integration SSI 0-12 gate багтаасан Medium Scale Integration MSI 12-99 gate багтаасан Large Scale Integration LSI 100-9999 gate багтаасан Very Large Scale Integration VLSI 10000-99999 gate багтаасан Ultra Large Scale Integration ULSI 100000-аас их gate багтаасан 5.4.1. Хагас нэмэгч 2 битийн хувьд логик нэмэх үйлдэл дараах 4 боломжтой: /зураг 5.61/ зураг 5.61. Энд A ба B-г нэмэгдэхүүн гэвэл Carry=AB нь оронгийн шилжүүлгийг, Sum=A⊕B нь нийлбэрийг тус тус илэрхийлнэ. Иймээс хагас нэмэгчийг XOR болон AND элементүүдийг ашиглан хэрхэн хийхийг үзье. /зураг 5.62/ Input Output A B C S 0 0 0 0 0 1 0 1 1 0 0 1 зураг 5.62. 1 1 1 0 Хагас нэмэгч нь 2 тоог нэмэх үед өргөн хэрэглэгддэг өмнөх оронгийн шилжүүлгийг тооцох боломжгүй байдаг тул хагас нэмэгч гэж нэрлэнэ. Хагас нэмэгчийг зураг 5.63-т дүрсэлсний дагуу тэмдэглэнэ. 190
  • 19. зураг 5.63. 5.4.2. Бүтэн нэмэгч Бүтэн нэмэгч нь оронгийн шилжилтийг тооцсон Cin оролт, Cout гаралттай байдгаараа хагас нэмэгчээс ялгаатай. Иймээс бүтэн нэмэгчийн хувьд нэмэх үйлдэл нь дараах 8 боломжтой. Энд хамгийн эхний орон нь өмнөх үйлдлээс ирсэн оронгийн шилжүүлэлтийг тооцсон Cin оролтыг илэрхийлэх бол гарсан үр дүнгийн эхнийх нь дараагийн үйлдэлд орон шилжсэн гэдгийг тогтоох Cout гаралтыг тус тус тодорхойлно. /зураг 5.64/ зураг 5.64. Бүтэн нэмэгчийг XOR, AND, OR элементүүдийг ашиглан хэрхэн хийхийг үзье. /зураг 5.65/ Input Output A B СIN COUT S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 зураг 5.65. 1 1 1 1 1 Бүтэн нэмэгч логик байгууламжийг дараах схемээр төлөөлүүлэн тэмдэглэнэ. /зураг 5.66/ зураг 5.66. 5.4.3. 4 битийн параллель нэмэгч 4 битийн параллель нэмэгч нь 4 битийн 2 тоог хооронд нь нэмэх зорилготой бөгөөд өмнөх үйлдлээс шилжиж ирэх оронгийн шилжүүлэг C1, дараагийн үйлдэлд шилжүүлэх оронгийн шилжүүлэг C5 гэсэн нэмэлт оролтуудтай байна. /зураг 5.67/ зураг 5.67. 4 битийн параллель нэмэгчийг 1 битийн 4 бүтэн нэмэгчийг хооронд нь дараах байдлаар холбож гаргаж авна. /зураг 5.68/ 191
  • 20. зураг 5.68. 5.4.4. BCD to Excess 3 code converter BCD code-оос Excess 3 code уруу хөврүүлэхдээ BCD дээр 3-ийг буюу 2-тын тооллын системээр 0011- ийг нэмэх шаардлагатай. Жишээлбэл: BCD code Excess 3 code 0000 0011 0001 0100 0010 0101 0011 0110 0100 0111 0101 1000 0110 1001 0111 1010 1000 1011 1001 1100 1010 1101 1011 1110 1100 1111 Иймээс BCD-Excess 3 code converter-ийг 4 битийн параллель нэмэгчийг ашиглан дараах байдлаар хийж болно. /зураг 5.69/ зураг 5.69. 5.4.5. 16 битийн параллель нэмэгч 16 битийн 2 тоог хооронд нэмэх боломжтой оронгийн шилжүүлгүүдийг тооцсон 16 битийн параллель нэмэгчийг 4 битийн 4 параллель нэмэгчийг хооронд нь дараах байдлаар холбох замаар хийж болно. /зураг 5.70/ зураг 5.70. 5.4.6. 4 битийн параллель нэмэгч/хасагч 4 битийн параллель нэмэгч/хасагч нь 4 битийн хоёр тоог хооронд нь нэмэх ба хасах үйлдлийг зэрэг гүйцэтгэх боломжтой. 4 битийн параллель нэмэгч/хасагч-ийг хийхдээ дараах 2 зүйлийг ашиглана. Юуны өмнө XOR элементийн хувьд 5.71-р зурагт үзүүлсэн шинж чанарыг ажиглаж болно. 192
  • 21. зураг 5.71. Дараагийн алхамд S оролтыг бүтэн нэмэгийн Cin оролттой холбож өгөх хэрэгтэй. Ингээд 4 битийн параллель нэмэгч ба XOR элементийг ашиглан 4 битийн параллель нэмэгч/хасагчийг дараах байдлаар хийж болно. /5.72/ зураг 5.72. Оролтонд өгсөн 2 тоог нэмэх болон хасах эсэхийг удирдлагын S оролтын тусламжтайгаар тогтооно. S оролтонд 0 байвал оролтонд өгсөн 2 тоог нэмнэ. /зураг 5.73/ зураг 5.73. S оролтонд 1 байвал 2-р оролтонд өгсөн тоог эхлээд 2st complement сөрөг тоонд шилжүүлээд дараа нь нэмнэ. /зураг 5.74/ зураг 5.74. 5.4.7. 4 битийн компоратор 4 битийн компоратор нь оролтонд өгсөн 2 тоог хооронд харьцуулах бөгөөд хэрэв 2 тоо хоорондоо тэнцүү бол A=B гаралтанд 1, бусад нь 0, эхний тоо нь их бол A>B гаралтанд 1, бусад нь 0, дараах тоо нь их бол B>A гаралтанд 1, бусад нь 0 гарна. /зураг 5.75/ 193
  • 22. зураг 5.75. 4 битийн компораторын бүтцийн схемийг 5.76-р зурагт үзүүлэв. зураг 5.76. Жишээ нь 0110 ба 1010 гэсэн хоёр тоог харьцуулья. /зураг 5.77/ зураг 5.77. 5.5.1. Decoder Оролтонд ирсэн сигналуудын тусламжтайгаар гаралтанд гарах сигналуудыг тогтоодог төхөөрөмжийг decoder гэнэ. Хэрэв N оролттой M гаралттай бол NxM decoder гэх бөгөөд гаралт M≤2N байна. Жишээ нь 2x4 decoder. /зураг 5.78/ Энэ нь 2 оролттой, 4 гаралттай бөгөөд гаралтанд ямар сигналууд гарахыг оролтонд өгсөн сигналуудын тусламжтайгаар тогтоож өгнө. X Y F0 F1 F2 F3 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 зураг 5.78. 1 1 0 0 0 1 Эндээс харвал оролтонд ямар сигналууд ирсэнээс хамаарч гаралт ямар байх нь тогтоогдож байна. Иймээс 4х2 Decoder-ийн бүтцийг дараах байдлаар үзүүлж болно. /зураг 5.79/ 194
  • 23. зураг 5.79. Үүнтэй адилаар 3x8 Decoder буюу 3 оролт, 23 =8 гаралттай Decoder-ийг авч үзье. /зураг 5.80/ X Y Z F0 F1 F2 F3 F4 F5 F6 F7 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 зураг 5.80. 1 1 1 0 0 0 0 0 0 0 1 3x8 Decoder-ийн бүдүүвчийг зураг 5.81-д үзүүлэв. зураг 5.81. Жишээ . 3x8 Decoder ашигласан бүтэн нэмэгч. /зураг 5.82/ зураг 5.82. 195
  • 24. 5.5.2. Удирдлагын нэмэлт оролттой Decoder Энэ Decoder нь удирдлагын нэмэлт CLK оролттойгоороо энгийн Decoder-оос ялгаатай. /зураг 5.83/ CLK S1 S0 F0 F1 F2 F3 1 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 зураг 5.83. 0 х х 0 0 0 0 Удирдлагын нэмэлт оролттой Decoder-ийн бүтцийн схемийг 5.84-р зурагт үзүүлэв. зураг 5.84. Бага эрэмбийн Decoder-ийг ашиглан том эрэмбийн Decoder-ийг дараах байдлаар холбож гаргаж авч болно. Жишээ нь 2x4 Decoder-ийг дараах байдлаар холбож 3x8 decoder-ийг гаргаж авч болно. /зураг 5.85/ зураг 5.85. Үүнтэй адилаар 3x8 Decoder-ийг дараах байдлаар холбон 4x16 Decoder-ийг гаргаж авч болно. /зураг 5.86/ 196
  • 25. зураг 5.86. Практикт өргөн хэрэглэгддэг 74LS138 Decoder-ийн бүдүүвчийг 5.87-р зурагт үзүүлэв. зураг 5.87. G1 G2A G2B A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 x 1 1 x x x 1 1 1 1 1 1 1 1 0 X x x x x 1 1 1 1 1 1 1 1 5.5.3. Encoder 2N оролтоос N гаралтын аль нэг хаягаар гаргах төхөөрөмжийг encoder гэнэ. Хэрэв M≤2N оролттой N гаралттай бол MxN encoder гэнэ. Жишээ нь 4x2 encoder /зураг 5.88/ түүний бүтцийн схем /зураг 5.89/ 197
  • 26. Q3 Q2 Q1 Q0 A0 A1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 x x 0 0 1 1 x x 0 1 0 1 x x 0 1 1 0 x x 0 1 1 1 x x 1 0 0 1 x x 1 0 1 0 x x 1 0 1 1 x x 1 1 0 0 x x 1 1 0 1 x x 1 1 1 0 x x зураг 5.88. зураг 5.89. 1 1 1 1 x x 8x3 Encoder буюу 8 оролтоос 3 гаралтанд гарах сигнал дараах байдлаар хамаарна. /зураг 5.90/ Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 A2 A1 A0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 зураг 5.90. 0 0 0 0 0 0 0 1 1 1 1 8x3 Encoder-ийн бүтцийн схем /зураг 5.91/ зураг 5.91. 5.5.4. Demultiplexer Оролтонд ирсэн сигналыг гаралтын нэг хаягаар гаргах төхөөрөмжийг demultiplexer гэнэ. Өөрөөр хэлбэл оролтонд ирсэн сигналыг удирдлагын сигналын тусламжтайгаар сонгож гаралтын аль нэг хаягаар гаргана. Жишээ нь 1x4 Demultiplexer. /зураг 5.92/ S1 S0 Q0 Q1 Q2 Q3 0 0 D 1 1 1 0 1 1 D 1 1 1 0 1 1 D 1 зураг 5.92. 1 1 1 1 1 D Эндээс үзвэл D оролтонд ирсэн сигналыг аль хаягаар гаргах вэ гэдгийг удирдлагын S1, S0 сигналуудын тусламжтайгаар тогтооно. Иймээс 1x4 Demultiplexer-ийн бүдүүвчийн схемийг 5.93-р зурагт үзүүлэв. 198
  • 27. зураг 5.93. 5.5.5. Multiplexer Олон оролтуудаас сонгож гаралтанд гаргадаг төхөөрөмжийг multiplexer гэнэ. Оролтонд өгсөн сигналуудаас алийг нь гаралтанд гаргахын удирдлагын сигналын тусламжтайгаар тогтооно. Жишээ нь 4x1 Multiplexer. /зураг 5.94/ Эндээс үзвэл удирдлагын сигналуудын тусламжтайгаар 4 оролтонд ирсэн сигналуудаас сонгож гаралтанд гаргаж байна. Иймээс 4x1 Multiplexer-ийн бүдүүвчийн схемийг 5.95-р зурагт үзүүлэв. S1 S0 Y 0 0 I0 0 1 I1 1 0 I2 зураг 5.94. 1 1 I3 зураг 5.95. Multiplexer болон Demultiplexer-ийг ашиглах. Multiplexer-ийн тусламжтайгаар олон оролтонд ирсэн сигналыг нэг шугамаар дамжуулж энэхүү шугамаар ирсэн сигналыг demultiplexer-ийн тусламжтайгаар олон гаралтанд гаргахад ашиглана. /зураг 5.96/ зураг 5.96. Бага эрэмбийн Multiplexer-ийг дараах байдлаар холбож их эрэмбийн Multiplexer-ийг гаргаж авч болно. Жишээ нь 4x1, 2x1 Multiplexer-ээс 8x1 Multiplexer-ийг гарган авах. /зураг 5.97/ 199
  • 28. S2 S1 S0 Y 0 0 0 I0 0 0 1 I1 0 1 0 I2 0 1 1 I3 1 0 0 I4 1 0 1 I5 1 1 0 I6 зураг 5.97. 1 1 1 I7 Мөн 4x1 Multiplexer-ийг дараах байдлаар холбон 16x1 Multiplexer-ийг гарган авна. /зураг 5.98/ S3 S2 S1 S0 Y 0 0 0 0 I0 0 0 0 1 I1 0 0 1 0 I2 0 0 1 1 I3 0 1 0 0 I4 0 1 0 1 I5 0 1 1 0 I6 0 1 1 1 I7 1 0 0 0 I8 1 0 0 1 I9 1 0 1 0 I10 1 0 1 1 I11 1 1 0 0 I12 1 1 0 1 I13 1 1 1 0 I14 зураг 5.98. 1 1 1 1 I15 Практикт өргөн хэрэглэгддэг 75LS151 Multiplexer-ийг 5.99-р зурагт үзүүлэв. S2 S1 S0 CLK Y x x х 1 0 0 0 0 0 I0 0 0 1 0 I1 0 1 0 0 I2 0 1 1 0 I3 1 0 0 0 I4 1 0 1 0 I5 1 1 0 0 I6 зураг 5.99. 1 1 1 0 I7 5.6.1. Триггер Логик 1 ба 0 гэсэн 2 төлвийн аль нэгэнд оршдог, өмнөх төлөвөө хадгалж үлдэх чадвартай байгууламжийг триггер гэнэ. Санах ойн үндсэн элемент нь триггер юм. Санах ойн элемент буюу триггерийг дараах схемээр төлөөлүүлэн үзэж болно. /зураг 5.100/ зураг 5.100. Команд Q(t) Q(t+1) Санах ойд бичих x 1 Бичилтийг арилгах x 0 0 0 Санах ойг хэвээр үлдээх 1 1 200
  • 29. Эндээс үзвэл триггерийн хувьд дараах гурван төрлийн командууд байдаг байна. Set буюу бичих. Энэ тохиолдолд триггер нь урд нь ямар төлөвт байснаас үл хамааран 1 гэсэн төлөвт орно. Reset буюу бичилтийг арилгах. Энэ тохиолдолд триггер нь урд нь ямар төлөвт байснаас үл хамааран 0 төлөвт орно. Санах ойг хэвээр үлдээх. Энэ тохиолдолд триггер нь энэ команд өгөхөөс өмнө ямар төлөвт байна тэр төлвөө хадгалсан хэвээр байна. Өөрөөр триггер өмнө нь 0 (1) төлөвт байсан бол энэ команд өгсний дараа ч 0 (1) төлөвтөө хэвээр байна. Санах ойн элементүүд нь ихэвчлэн удирдлагын нэмэлт оролттой байдаг. /зураг 5.101/ зураг 5.101. Удирдлагын сигнал буюу clock нь дараах хэлбэртэй байна. /зураг 5.102/ зураг 5.102. Триггерийг дотор нь latch ба flip flop гэж хоёр ангилна. Latch нь удирдлагын сигнал 1 байхад төлвөө өөрчилдөг, удирдлагын сигнал 0 байхад өмнөх төлвөө хадгалдаг. Жишээ нь RS Latch, Gated RS Latch, Gated D Latch Flip Flop нь удирдлагын сигнал 0-оос 1 болоход төлвөө өөрчилдөг (positive edge), ба 1-ээс 0 болоход төлвөө өөрчилдөг (negative edge) гэсэн 2 хэлбэртэй байна. Жишээ нь RS Flip Flop, JK Flip Flop, D Flip Flop, T Flip Flop 5.6.2. RS Latch RS Latch нь бичих S (set), бичилтийг устгах R (reset) хоёр оролттой, урвуу болон шууд гаралттай. RS Latch-ийг дотор нь: Active high оролттой RS Latch – Set оролтонд 1, Reset оролтонд 0 байхад бичилт хийдэг, Set оролтонд 0, Reset оролтонд 1 байхад бичилтийг устгадаг /зураг 5.103/ S R Q ⎯Q 1 0 1 0 0 1 0 1 1 1 хориотой зураг 5.103. 0 0 өмнөх төлөв өөрчлөгдөхгүй Active low оролттой RS Latch – Set оролтонд 0, Reset оролтонд 1 байхад бичилт хийдэг, Set оролтонд 1, Reset оролтонд 0 байхад бичилтийг устгадаг гэж ангилна. /зураг 5.104/ ⎯S ⎯R Q ⎯Q 0 1 1 0 1 0 0 1 0 0 хориотой зураг 5.104. 1 1 өмнөх төлөв өөрчлөгдөхгүй Жишээлбэл NAND элементийг ашигласан active low RS Latch, /зураг 5.105/ түүний хугацааны диаграммыг /зураг 5.106/ үзүүлэв. 201
  • 30. ⎯S ⎯R Q ⎯Q 0 0 тодорхойгүй 0 1 1 0 1 0 0 1 1 1 өмнөх төлөв өөрчлөгдөхгүй зураг 5.105. зураг 5.106. 5.6.3. Gated RS Latch Gated RS Latch нь удирдлагын нэмэлт CLK оролттойгоороо RS Latch–ээс ялгаатай. Уг триггерийн төлөвөө өөрчлөх эсэхийг удирдлагын сигналын тусламжтайгаар тогтооно. /зураг 5.107/ CLK=1 CLK=0 S R Q ⎯Q S R Q ⎯Q 0 0 өөрчлөгдөхгүй 0 0 1 0 1 0 1 0 0 1 0 1 0 1 1 1 тодорхойгүй 1 1 өөрчлөгдөхгүй буюу өмнөх төлөвөө хадгална зураг 5.107. 5.6.4. Gated D Latch Энэ триггер нь ердөө удирдлагын CLK оролт, динамик D гэсэн 2 оролттой. /зураг 5.108/ CLK=1 CLK=0 D Q ⎯Q D Q ⎯Q 1 1 0 1 0 0 1 0 өөрчлөгдөхгүй буюу өмнөх төлөвөө хадгална 202
  • 31. зураг 5.108. 5.6.5. RS Flip Flop RS Flip Flop нь 2 давхар RS триггерээс тогтох бөгөөд онцлог нь CLK дохионы урд фронтоор бичиж, хойд талын фронтоор удирдагдан төлвөө өөрчилнө. Давхар триггер буюу Master slave Flip Flop нь удирдлагын сигнал 1-ээс 0 болох агшинд л төлвөө өөрчилдөг тул negative edge триггерийн төрөлд хамаарна. Энэ төрлийн триггерийн бүтэц нь хоёр давхар триггерээс тогтсон байдаг тул тэднийг master-slave буюу давхар триггер гэж нэрлэнэ. Өөрөөр хэлбэл оролтын хэсгийг master триггер удирдах бөгөөд гаралтын хэсгийг slave триггер нь удирдана. Иймээс үр дүнг боловсруулах асуудал нь хоёр шатнаас тогтох бөгөөд эхний мастер хэсэгт оролтыг бичиж авна. Дараагийн slave хэсэг нь үр дүнг боловсруулаад гаргана. Гэхдээ энэ хоёр үйлдэл нь зэрэг явагдахгүй. Өөрөөр хэлбэл удирдлагын сигнал 0-оос 1 болоход өгөгдлийг бичиж авна. Удирдлагын сигнал 1-ээс 0 болох агшинд үр дүнг гаралтанд гаргана. Өөрөөр хэлбэл удирдлагын сигнал 1-ээс 0 болох агшинд л төлвөө өөрчилдөг. Мөн түүнчлэн удирдлагын сигналын эхний фронтоор бичиж, арын фронтоор төлвөө өөрчилдөг тул Negative Edge Flip Flop ч гэж нэрлэх тохиолдол бий. /зураг 5.109/ зураг 5.109. Хэдийгээр энэ триггер нь 2 триггерээс тогтох боловч хоёрдох триггерүүд нь удирдлагын CKL оролттой урвуугаар холбогдсон байна. Удирдлагын сигнал 0 байхад оролтоос хамаарахгүй. Харин удирдлагын сигнал 0-оос 1 болоход 1-р триггер R, S оролтуудаас хамаарч төлвөө өөрчилнө. Гэсэн хэдий ч удирдлагын сигналын урвуу 2-р триггерт холбогдсон байгаа тул 2-р триггерийн төлөв өөрчлөгдөхгүй. Харин удирдлагын сигнал 1-ээс эргэн 0 болох агшинд 2-р триггер төлвөө өөрчилнө. Ингэхдээ 1-р триггер ямар төлөвт орсон байгаагаас хамаарна. Иймээс нь 1-р триггерийг төлвийг бичиж авдаг, 2-р триггерийг төлвийг өөрчилдөг гэж үзнэ. 1-р триггер удирдлагын сигнал 0-оос 1 болоход төлвийг бичиж авна. Үүнийг ашиглан удирдлагын сигнал 1-ээс 0 болох агшинд 2-р төлөв өөрчлөгдөнө. CLK нь 1-ээс 0 болох агшинд CLK нь бусад тохиолдолд S R Q ⎯Q S R Q ⎯Q 0 0 өөрчлөгдөхгүй 0 0 1 0 1 0 1 0 0 1 0 1 0 1 1 1 хориотой 1 1 өөрчлөгдөхгүй буюу өмнөх төлөвөө хадгална 5.6.6. D Flip Flop Энэ триггер нь ерөнхийдөө өмнөх триггертэй адилхан. D триггер нь удирдлагын сигнал 0-оос 1 болох агшинд бичиж, 1-ээс 0 болох тэр агшинд төлөвөө өөрчилдөг онцлогтой. Жишээлбэл NAND элементийг ашигласан D flip flop. /зураг 5.110/ 203
  • 32. CLK 1-ээс 0 болох агшинд CLK бусад тохиолдолд D Q ⎯Q D Q ⎯Q 1 1 0 1 0 0 1 0 өөрчлөгдөхгүй буюу өмнөх төлөвөө хадгална зураг 5.110. NOR элементийг ашиглан хийсэн D flip flop. /зураг 5.111/ зураг 5.111. 5.6.7. JK Flip Flop Энэ триггер нь RS триггертэй үнэхээр төстэй. Ганцхан ялгаа нь удирдлагын сигнал 1-ээс 0 болох агшинд J, K оролтуудад 1 байвал гаралтанд өмнөх төлвийн урвуу гардагаараа онцлог. Өөрөөр хэлбэл RS триггерийн хувьд удирдлагын сигнал 1-ээс 0 болох агшинд R ба S оролтуудад адилхан 1 байх хувилбар хориотой байдаг бол JK триггерийн хувьд энэ тохиолдолд гаралтанд өмнөх төлвийн урвуу сигнал гардагаараа ялгаатай гэж үзэж болно. /зураг 5.112/ CLK нь 1-ээс 0 болох агшинд CLK нь бусад тохиолдолд J K Q ⎯Q J K Q ⎯Q 0 0 өөрчлөгдөхгүй 0 0 1 0 1 0 1 0 0 1 0 1 0 1 1 1 өмнөх төлвийн урвуу 1 1 өөрчлөгдөхгүй буюу өмнөх төлөвөө хадгална 204
  • 33. зураг 5.112. 5.6.8. T Flip Flop T триггер буюу Toggle Flip Flop нь удирдлагын сигнал 0-ээс 1 болоход л төлөвөө өөрчилнө. Энэ нь JK триггерийн J, K оролтуудыг хооронд нь холбосонтой адилхан. Ер нь JK триггерийн J, K оролтуудыг хооронд холбож түүнд 1 гэсэн сигнал өгсөн холболтыг мөн Toggle холболт ч гэж нэрлэдэг. /зураг 5.113/ зураг 5.113. T=1 T=0 CLK Q ⎯Q CLK Q ⎯Q 1 1 0 1 0 0 1 0 өөрчлөгдөхгүй буюу өмнөх төлөвөө хадгална 5.6.9. Триггерийг тэмдэглэх Триггерийг дараах схемээр төлөөлүүлэн тэмдэглэдэг. Жишээлбэл RS Latch, Gated RS Latch, Gated D Latch /зураг 5.114/ зураг 5.114. Positive Edge Flip Flops; RS Flip Flop, D Flip Flop, JK Flip Flip, T Flip Flop /зураг 5.115/ зураг 5.115. Negative Edge Flip Flops; RS Flip Flop, D Flip Flop, JK Flip Flop /зураг 5.116/ зураг 5.116. 5.6.10. Frequency Dividers - Давтамж хуваагуур Триггерийг ашигласан хамгийн хялбар жишээ бол давтамж хуваагуур. Жишээ нь JK триггерийг ашигласан давтамж хуваагуурыг авч үзье. Үүний тулд JK триггерийг toggle холболтоор холбож (J, K оролтуудад 1 сигналыг өгч) CKL-д тодорхой давтамжтай импульсыг оруулья. Тэгвэл Q0 205
  • 34. триггерийн гаралт дээрх импульс CLK-д өгсөн импульсээс давтамжаараа 2 дахин, Q1-ийн гаралт дээрх импульс 4 дахин бага байна. Ийм замаар CKL-д өгсөн импульсийн давтамжийг хуваах зориулалттай хэлхээг давтамж хуваагуур гэнэ. /зураг 5.117/ зураг 5.117. 5.7.1. Тоолуур Триггерийг өөр нэгэн өргөн хэрэглэгддэг байгууламж бол оролтонд орж байгаа импульсийг тоолох зориулалттай тоолуур. Хэрэв тоолуур n тооны триггер ашигласан бол 2n-1 хүртэл тоолох боломжтой. Хамгийн их утгандаа хүрээд эргэн 0 болно. Тоолуурыг дотор нь: Асинхрон тоолуур (ripple counter) Синхрон тоолуур (parallel counter) гэж хуваана. 5.7.2. Asynchronous Ripple Counter Асинхрон тоолуурын гаралтууд нь нэгэн зэрэг төлвөө өөрчилж чаддаггүй тул түүнийг ripple тоолуур ч гэж нэрлэдэг. Өөрөөр хэлбэл оролтын импульс өөрчлөгдөхөд хамгийн сүүлийн орон эхэлж төлвөө өөрчилнө. Үүний дараа дараагийн орон төлвөө өөрчилдөг. Иймээс гаралтын бүх оронгууд нь нэгэн зэрэг өөрчлөгддөггүй онцлогтой. Жишээлбэл JK триггер ашигласан 2 битийн асинхрон тоолуурын бүтцийн схем /зураг 5.118/ болон хугацааны диаграммыг /зураг 5.119/ үзүүлэв. JK триггерийн J, K оролтуудад 1 байгаа тул удирдлагын импульс 0-оос 1 болох агшинд төлвөө өөрчилнө. зураг 5.118. clock Q1 Q0 0 0 0 1 0 1 2 1 0 3 1 1 зураг 5.119. 4 0 0 Иймээс энэ тоолуур нь 0-оос 3 хүртлэх (00-оос 11 хүртлэх) импульсыг тоолно. Иймээс тухайн тоолуурт хичнээн триггер орсон байна түүгээр нь тоолох импульсыг уртыг тогтоож болно. Жишээлбэл 2 триггер орсон бол 0-оос 3 (00-оос 11), 3 триггер орсон бол 0-оос 7 (000-оос 111), 4 триггер орсон бол 0-оос 15 (0000-оос 1111), n триггер орсон бол 0-оос 2n -1 хүртэлх импульсыг тоолно. JK триггер ашигласан 3 битийн асинхрон тоолуур /зураг 5.120/ ба түүний хугацааны диаграмм /зураг 5.121/. Энэ тоолуур нь 3 триггер ашигласан тул 0-оос 7 хүртлэх импульсыг тоолно. 206
  • 35. зураг 5.120. clock Q2 Q1 Q0 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1 зураг 5.121. 8 0 0 0 JK триггер ашигласан 4 битийн асинхрон тоолуур /зураг 5.122/ ба түүний хугацааны диаграмм /зураг 5.123/. Энэ тоолуур нь 4 триггер ашигласан тул 0-оос 15 хүртлэх импульсыг тоолно. зураг 5.122. зураг 5.123. clock 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Q0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 Q1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 Q2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 Q3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 Negative edge JK триггер ашигласан 4 битийн асинхрон тоолуур /зураг 5.124/ ба түүний хугацааны диаграмм /зураг 5.125/. Энэ тоолуур нь negative edge триггер ашигласан тул удирдлагын оролтын негатив импульсыг тоолно. зураг 5.124. 207
  • 36. зураг 5.125. Эдгээр тоолуурууд нь асинхрон тоолуур учир бүх орон нэгэн зэрэг боловсруулагдахгүй. Хамгийн сүүлийн орон хамгийн түрүүнд гарах бөгөөд үүний дараа бусад оронгууд боловсруулагдана. Иймээс энэ тоолуурыг ашиглах үед хэрхэн хугацааны хувьд delay хийгдэхийг 3 битийн асинхрон тоолуур /зураг 5.126/ ба түүний хугацааны диаграмм /зураг 5.127/-аар харуулья. зураг 5.126. 5.127. 5.7.3. Asynchronous Shorter Counter Өмнөх тоолуурууд нь 0-оос 3, 0-оос 7, 0-оос 15 г.м импульсыг тоолдог. Гэтэл практикт 0-оос 5, 0- оос 9 хүртлэх импульсыг тоолдог тоолуурууд шаардлагатай болдог. Тэдний нэг нь 0-оос 5 хүртлэх импульсыг тоолох зориулалттай asynchronous shorter counter юм. /зураг 5.128/ зураг 5.128. Энэ тоолуурын 1 ба 3-р триггерийн гаралтаас логик NAND элементээр дамжуулан 3 триггерийн clear оролтонд холбосон байна. Иймээс 1 ба 3-р триггерийн гаралтнаас зэрэг логик 1 дохио гарахад 3 триггерийн clear оролтонд зэрэг логик 0 дохио очсоноор триггерүүд зэрэг төлвөө өөрчилөн анхны 0 төлөвтөө орцгооно. /зураг 5.129/ Энд триггерийн clear оролт нь триггерийг анхны буюу 0 төлөвт оруулах зорилготой бөгөөд энэ оролтонд 1 байвал триггер өөрийхөө төлвийг хадгалах бөгөөд 0 байвал анхны 0 төлөвт орно. 208
  • 37. clock Q2 Q1 Q0 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 0 0 0 7 0 0 1 зураг 5.129. 8 0 1 0 5.7.4. Asynchronous Decimal Counter Энэ тоолуур нь 0-ээс 9 хүртэл тоолдог аравтын (decimal) тоолуур. /зураг 5.130/ зураг 5.130. Энэ тоолуурыг хийхдээ 1 ба 4-р триггерийн гаралтнаас логик NAND элементээр дамжуулан 4 триггерийг clear оролтонд өгсөн байна. Иймээс 1 ба 4-р триггерийн гаралтанд зэрэг 1 дохио гарвал 4 триггерийг анхны 0 төлөвт нь оруулна. /зураг 5.131/ зураг 5.131. clock 0 1 2 3 4 5 6 7 8 9 10 Q0 0 1 0 1 0 1 0 1 0 1 0 Q1 0 0 1 1 0 0 1 1 0 0 0 Q2 0 0 0 0 1 1 1 1 0 0 0 Q3 0 0 0 0 0 0 0 0 1 1 0 5.7.5. Asynchronous Up-Down Counter Өмнөх тоолуурууд нь зөвхөн шууд тоолуурууд байсан. Шууд тоолуур нь импульсыг нэмэгдүүлэх замаар тоолдог. Жишээ нь 3 битийн шууд тоолуур /зураг 5.132/ зураг 5.132. clock 0 1 2 3 4 5 6 7 8 Q0 0 1 0 1 0 1 0 1 0 Q1 0 0 1 1 0 0 1 1 0 Q2 0 0 0 0 1 1 1 1 0 209
  • 38. Тэгвэл урвуу тоолуур нь импульсыг хорогдуулах замаар тоолно. /зураг 5.133/ зураг 5.133. clock 0 1 2 3 4 5 6 7 8 Q0 0 1 0 1 0 1 0 1 0 Q1 0 1 1 0 0 1 1 0 0 Q2 0 1 1 1 1 0 0 0 0 Шууд ба урвуу тоолуурыг нэг тоолуурт хамтад нь хийж өгсөнийг шууд-урвуу тоолуур гэнэ. Иймээс энэ тоолуу нь импульсыг нэмэгдүүлэх замаар шууд тоолохоос гадна импульсыг хорогдуулах замаар урвуугаар нь тоолох болмжтой байна. Жишээ нь JK триггер ашигласан 4 битийн шууд-урвуу тоолуур /зураг 5.134/ зураг 5.134. Хэрэв UP-д 1, DOWN-д 0 импульс өгсөн бол энэ тоолуур нь импульсыг нэмэгдүүлэх замаар шууд тоолох буюу 0-оос 7 хүртлэх импульсыг шууд тоолно. Үүнээс цааш импульс ирвэл дахин 0-оос тоолж эхэлнэ. clock 0 1 2 3 4 5 6 7 8 Q0 0 1 0 1 0 1 0 1 0 Q1 0 0 1 1 0 0 1 1 0 Q2 0 0 0 0 1 1 1 1 0 Хэрэв UP-д 0, DOWN-д 1 импульс өгсөн бол энэ тоолуур нь импульсыг хорогдуулах замаар урвуу тоолох буюу 7-гоос 0 хүртэл импульсыг урвуугаар нь тоолно. Clock 0 1 2 3 4 5 6 7 8 Q0 0 1 0 1 0 1 0 1 0 Q1 0 1 1 0 0 1 1 0 0 Q2 0 1 1 1 1 0 0 0 0 5.7.6. Cascading Asynchronous Counter Тоолууруудыг хооронд нь 5.135-р зурагт үзүүлсний дагуу холбож импульс тоолох боломжийг нь ихэсгэдэг. Жишээ нь 3 битийн 0-оос 15 хүртэл тоолох боломжтой 2 тоолуурыг ашиглан 6 битийн 0- оос 63 хүртэл тоолдог 6 битийн тоолуурыг гаргаж авч болно. зураг 5.135. A5 A4 A3 A2 A1 A0 0 0 . . 0 0 . . 1 0 0 . . 0 0 . . 1 0 0 . . 1 1 . . 1 0 0 . . 0 0 . . 1 0 1 . . 0 0 . . 1 1 0 . . 0 1 . . 1 210
  • 39. 5.7.7. Synchronous Counter Асинхрон тоолуурын гаралтууд нь нэгэн зэрэг өөрчлөгдөж чаддаггүй тул гаралтууд нь нэгэн зэрэг өөрчлөгддөг синхрон тоолуурыг өргөн ашигладаг. Энэ тоолуурын триггер болгоны оролтонд тоолох импульс зэрэг очдог тул үр дүнг нэгэн зэрэг боловсруулж гаргадаг буюу триггерүүд нэгэн зэрэг төлвөө өөрчилдгөөрөө асинхрон тоолуураас ялгаатай. Жишээ болгож 2 битийн синхрон тоолуур /зураг 5.136/, түүний хугацааны диаграмм /зураг 5.137/- ыг үзүүлэв. зураг 5.136. Clock Q1 Q0 0 0 0 1 0 1 2 1 0 3 1 1 зураг 5.137. 4 0 0 JK триггер ашигласан 3 битийн синхрон тоолуур /зураг 5.137/. зураг 5.137. clock 0 1 2 3 4 5 6 7 8 Q0 0 1 0 1 0 1 0 1 0 Q1 0 0 1 1 0 0 1 1 0 Q2 0 0 0 0 1 1 1 1 0 JK триггер ашигласан 3 битийн синхрон тоолуур /зураг 5.138/. зураг 5.138. 5.7.8. Synchronous Decimal Counter Өмнөх синхрон тоолуур нь 2n зэрэгтийг тоог тоолно. Энд n нь тоолуурт орсон триггерийн тоо. Жишээ нь 2 триггер ашигласан бол 4, 3 триггер ашигласан бол 8, 4 триггер ашигласан бол 16 хүртлэх г.м-ээр 2n зэрэгтийн импульсийг л тоолно. Харин практикт 0-ээс 9 хүртэл тоолдог аравтын (decimal) тоолуур өргөн ашиглагддаг. Тэгвэл 0-ээс 9 хүртэл тоолдог JK триггер ашигласан аравтын синхрон тоолуур /зураг 5.139/, түүний хугцааны диаграмм /зураг 5.140/-ыг үзье. зураг 5.139. 211
  • 40. зураг 5.140. clock 0 1 2 3 4 5 6 7 8 9 10 Q0 0 1 0 1 0 1 0 1 0 1 0 Q1 0 0 1 1 0 0 1 1 0 0 0 Q2 0 0 0 0 1 1 1 1 0 0 0 Q3 0 0 0 0 0 0 0 0 1 1 0 5.7.9. Synchronous Shorter Counter Аравтын тоолуурын арай хялбарчилсан хувилбар буюу тавтын тоолуур. Энэ тоолуур нь 0-оос 4 хүртэлх импульсыг тоолно. Жишээ нь JK триггер ашигласан 0-оос 5 хүртлэх импульсыг тоолох зориулалттай синхрон тоолуур /зураг 5.141/, түүний хугацааны диаграммыг /зураг 5.142/ үзүүлэв. зураг 5.141. зураг 5.142. clock 0 1 2 3 4 5 6 Q0 0 1 0 1 0 1 0 Q1 0 0 1 1 0 0 0 Q2 0 0 0 0 1 1 0 5.7.10. Synchronous Up-Down Couter Өмнөх тоолуурууд нь импульсыг нэмэгдүүлэх замаар тоолдог шууд синхрон тоолуурууд байсан. Тэгвэл шууд-урвуу синхрон тоолуур нь импульсыг нэмэгдүүлэх замаар шууд тоолохоос гадна импульсыг хорогдуулах замаар тоолно. Жишээ нь JK триггер ашигласан 4 битийн шууд-урвуу тоолуур /зураг 5.143/. зураг 5.143. 212
  • 41. Хэрэв UP/DOWN-д 1 импульс өгсөн бол энэ тоолуур нь импульсыг нэмэгдүүлэх замаар шууд тоолох буюу 0-оос 7 хүртлэх импульсыг шууд тоолно. Үүнээс цааш импульс ирвэл дахин 0-оос тоолж эхэлнэ. clock 0 1 2 3 4 5 6 7 8 Q0 0 1 0 1 0 1 0 1 0 Q1 0 0 1 1 0 0 1 1 0 Q2 0 0 0 0 1 1 1 1 0 Хэрэв UP/DOWN-д 0 импульс өгсөн бол энэ тоолуур нь импульсыг хорогдуулах замаар урвуу тоолно. clock 0 1 2 3 4 5 6 7 8 Q0 0 1 0 1 0 1 0 1 0 Q1 0 1 1 0 0 1 1 0 0 Q2 0 1 1 1 1 0 0 0 0 5.8.1. Register Өгөгдлийг хүлээн авч санаж хадгалах, дамжуулахад зориулагдсан байгууламжийг register /санах ой/ гэнэ. Регистер нь санах ойн хамгийн бага нэгж юм. N битийн регистер нь N тооны триггер болон бусад логик элементүүдийг ашиглах бөгөөд N битийн өгөгдлийг хадгалах боломжтой байна. Жишээ болгон D триггер ашигласан 3 битийн өгөгдлийг параллелиар зэрэг хүлээн авч хадгалахад зориулагдсан регистерийг авч үзье. Өгөгдлийг хүлээн авч хадгалах болон гаралтанд гаргахыг удирдлан CKL сигналын тусламжтайгаар тогтооно. /зураг 5.144/ зураг 5.144. 5.8.2. Регистерийг ангилах Регистерийг өгөгдлийг хэрхэн хүлээн авч, түүнийг хэрхэн гаргаж байгаагаас нь хамааруулан дараах байдлаар ангилна. /зураг 5.145/ Serial in/serial out register - өгөгдлийг цуваагаар хүлээн авч хадгалаад цуваагаар гаргана. Жишээ нь shift регистер. Parallel in/serial out register - өгөгдлийг параллелиар хүлээн авч хадгалаад цуваагаар гаргана. Serial in/parallel out register- өгөгдлийг цуваагаар хүлээн авч хадгалаад цуваагаар гаргана. Parallel in/parallel out register - өгөгдлийг параллелиар хүлээн авч хадгалаад параллелиар гаргана. Жишээ нь параллель регистер. Rotate register – Жонсоны ба цагираг тоолуур зураг 5.145. 5.8.3. Shift register Өгөгдлийг сериалаар буюу цуваагаар хүлээн авч хадгалаад, түүнийгээ дамжуулах зориулалтай регистерийг shift register гэнэ. Жишээлбэл RS Flip Flop-ийг ашиглан хийсэн shift register-ийг 5.146-р зурагт үзүүлэв. Энэ регистерийг ихэвчлэн сериал I/O төхөөрөмж уруу өгөгдлийг сериалаар дамжуулах зориулалттай интерфейсүүдэд ашиглана. 213
  • 42. зураг 5.146. Shift регистерүүдийг дотор нь дараах байдлаар 3 ангилж болно. Serial in/serial out shift register - өгөгдлийг цуваагаар оруулж хадгалаад, цуваагаар гаргана. Энэ регистерийн бүтцийн схем /зураг 5.147/ болон таних тэмдгийг /зураг 5.148/ үзүүлэв. зураг 5.147. зураг 5.148. Serial in/parallel out shift register - өгөгдлийг цуваагаар оруулж хадгалаад, параллелиар гаргадаг регистер. Энэ регистерийн бүтцийн схем /зураг 5.149/ болон таних тэмдгийг /зураг 5.150/ үзүүлэв. зураг 5.149. зураг 5.150. Parallel in/serial out shift register - өгөгдлийг параллелиар оруулж хадгалаад, цуваагаар гаргадаг регистер. Энэ регистерийн бүтцийн схем /зураг 5.151/ болон таних тэмдгийг /зураг 5.152/ үзүүлэв. зураг 5.151. зураг 5.152. 214
  • 43. Үүнээс гадна өгөгдөл оруулах чиглэлээс нь хамааруулан регистерийг right shift, left shift гэж ангилж болно. /зураг 5.153/ зураг 5.153. 5.8.4. Parallel register Өгөгдлийг нэгэн зэрэг параллелиар хүлээн авч санаж хадгалаад мөн түүнийгээ дамжуулах зориулалттай регистерийг parallel register гэнэ. Жишээ нь 4 битийн параллель регистер. /зураг 5.154/ зураг 5.154. Практикт өргөн ашиглагддаг RS Flip Flop ашигласан 4 битийн регистерийг 5.155-р зурагт үзүүлэв. Энэ регистер нь өгөгдлийг оруулах D05, D06, D07, D08 гэсэн 4 оролттой, эдгээр оролтонд өгсөн өгөгдлийг хянах зориулалтай мэдээлэл бичилтийг хянах нэмэлт оролттой, регистерт бичигдсэн өгөгдлийг арилгах зориулалттай reset, өгөгдлийг унших D01, D02, D03, D04 гэсэн 4 гаралттай, эдгээрийг хянах зориулалттай мэдээлэл уншилтыг хянах нэмэлт оролттой байна. зураг 5.155. 5.8.5. Rotate register Цуваа оролттой, цуваа гаралттай регистерийн гаралтаас эргүүлэн оролтонд өгсөн регистерийг rotate register гэж нэрлэдэг. Үүнийг мөн ашиглах зориулалтаас нь хамааруулан shift register counter гэж ч нэрлэдэг. Ерөнхийдөө 2 төрлийн ийм тоолуур байдаг. 215
  • 44. Ring counter – цуваа оролт, цуваа гаралттай регистерийн гаралтаас шууд оролтонд эргүүлэн холбосон тоолуур. Жишээ нь D триггер ашигласан 4 битийн ring тоолуурыг 5.156-р зурагт үзүүлэв. зураг 5.156. clock Q0 Q1 Q2 Q3 0 1 0 0 0 1 0 1 0 0 2 0 0 1 0 3 0 0 0 1 4 1 0 0 0 Жонсоны тоолуур – цуваа оролт, цуваа гаралттай регистерийн урвуу гаралтнаас эхний триггерийн оролтонд эргүүлэн холбосон тоолуур. Жишээ нь D триггер ашигласан 4 битийн Жонсоны тоолуур. /зураг 5.157/ зураг 5.157. clock Q0 Q1 Q2 Q3 0 0 0 0 0 1 1 0 0 0 2 1 1 0 0 3 1 1 1 0 4 1 1 1 1 5 0 1 1 1 6 0 0 1 1 7 0 0 0 1 8 0 0 0 0 5.9.1. Шуурхай санах ойн бүтэц Шуурхай санах ойд өгөгдлийг бүлэг, бүлгээр нь групплэн хадгалах бөгөөд 1 групп өгөгдлийг word буюу үг гэж нэрлэнэ. Иймээс санах ойн тодорхой тооны үгнээс тогтно. Жишээ болгон 8 үгнээс тогтсон санах ойг үзүүлье. /зураг 5.158/ зураг 5.158. 1 үг нь 8, 16, 32 битийн урттай байж болно. Санах ойн үг болгон тус тусдаа өөрийн гэсэн хаягтай байна. Санах ойн хаяг нь 2k байвал санах ойд ийм тооны үгнүүд байх боломжтой. Иймээс санах ойн дурын үгэнд хандахад зориулагдсан address line нь k өргөнтэй байна. Хэрэв 1 үгийн уртыг N гэвэл санах ойн 2k xN битийн багтаамжтай байна. Жишээ нь 1024x16 битийн санах ойг авч үзье. Энэ санах ойн 1 үг нь 16 битийн урттай байна. Мөн нийт 28 =1024 үгнээс тогтох тул address line нь 8 байна. Өөрөөр хэлбэл санах ойн хаяглалтын 8 оролтын тусламжтайгаар дурын санах ойн үгэнд хандаж болно. /зураг 5.159/ 216
  • 45. зураг 5.159. Үүнээс гадна санах ойн 1 үгний байранд өгөгдлийг бичих data input line, санах ойн 1 үгэнд байрлах өгөгдлийг унших data output line гэсэн гаралтууд байх бөгөөд эдгээр оролт/гаралтын тоо нь үгний урттай буюу N-тэй тэнцүү байна. Мөн санах ойн тухайн үгний байрлалд өгөгдөл бичилт, уншилтийг хянах зориулалттай read/write гэсэн хяналтын оролттой байх бөгөөд ихэнх тохиолдолд энэ хяналтын оролтыг ерөнхий нэг оролтоор зохицуулдаг. Жишээ нь read/write оролтонд 0 бол сонгосон үгэнд бичилт хийнэ. Харин 1 бол сонгосон үгэнд байгаа өгөгдлийг уншина. Иймээс санах ойн бүдүүвч нь дараах хэлбэртэй байна. /зураг 5.160/ зураг 5.160. 5.9.2. Статик шуурхай санах ой Ерөнхийдөө статик ба динамик гэсэн 2 төрлийн RAM (шуурхай санах ой) байх бөгөөд статик RAM нь триггер ашигладаг. Иймээс статик RAM-ийг хэрхэн хийхийг авч үзье. Санах ойн хамгийн бага нэгжийг cell буюу нүх гэнэ. 1 нүхэнд 1 бит мэдээлэл бичигдэнэ. Иймээс 1 үг нь үнэндээ N тооны нүхнээс тогтдог байх нь. Статик санах ойн 1 нүхний бүтцийн схем /зураг 5.161/ ба блок диаграммыг /зураг 5.162/ үзүүлэв. зураг 5.161. зураг 5.162. Select Read/write Санах ойн үйлдэл 0 x Ямар нэгэн үйлдэл хийхгүй 1 0 өгөгдлийг бичнэ 1 1 өгөгдлийг уншина Санах ойн нүхийг ашиглан 4x3 RAM-ийг хийе. Өөрөөр хэлбэл 4 үгтэй, 1 үгийн урт нь 3 бит буюу нийтдээ 12 битийн багтаамжтай шуурхай санах ойн бүдүүвчийг 5.163-р зурагт үзүүлэв. Энд: 217
  • 46. Санах ойн 4 үгнээс тогтох тул 2 address line-тай байна. Иймээс 2 оролт, 4 гаралттай Decoder- ийг ашиглан 4 үгний хаягийг сонгоно. Санах ойн нэг үг нь 3 битээс тогтох тул data input, data output нь 3 битийн урттай байна. Мөн үг нь 3 нүхнээс тогтох бөгөөд санах ой нийтдээ 4 үгнээс тогтох тул 12 нүхийг ашиглана. Нүх болгоны өгөгдөл бичилтийг хянах read/write оролтыг ганц байхаар зохион байгуулж санах ойг хийсэн. зураг 5.163. 218