Дәріс 13. Сандық электроника негіздері
13.1 Екілік арифметика. Есептеу техникасында қолданылатын кодтар
Цифрлық құрылғыларда пайдаланылатын екілік санау жүйесі позициялық санау жүйесіне жатады. Демек, сандарды екілік санау жүйесінде көрсету үшін жəне оларға арифметикалық операциялар жүргізу үшін, өзімізге таныс, күнделікті пайдаланылатын ондық санау жүйесінің қағидалары пайдаланылады. Сондықтан, алда келтірілетін, екілік санау жүйесіне байланысты түсіндірмелер ондық санау жүйесіндегі сəйкесті мəселелерді еске түсіріп, салыстырма қарастырылым арқылы жүргізіледі.
Ондық санау жүйесінде сан жазуға он символ (0 … 9) пайдаланылады (бұл жүйенің ондық санау жүйесі деп аталуы да осыған байланысты). Бұл символдардың сандағы тұрған орнына байланысты құны (салмағы) белгіленеді: ол онның (яғни, санау жүйесінің негізінің) сəйкесті разряд нөмірінің мəніндегі дəрежесі арқылы анықталады. Сонымен,
санның ең кіші разрядындағы (нөлінші разрядтағы) символдың құны бір (100), келесі разрядтың (бірінші разрядтың) құны он (101), одан əрі жүз (102), мың (103) жəне с.с. өзгере береді. Разряд құны, мəніне сəйкесті, бірлік, ондық, жүздік, мыңдық деп жəне с.с. аталады, ал сан разрядында тұрған символ сəйкесті разряд құнының сан құрамына қанша рет кіретіндігін көрсетеді. Келесі мысал арқылы айтылғанды түсіндірейік:
Сонымен, келтірілген санның құрамында 7 бірлік, 5 жүздік, 3 мыңдық бар, ал ондық жоқ (0)
Екілік санау жүйесінде сан жазуға екі символ (0 жəне 1) пайдаланылады. Разряд құны екінің (яғни, санау жүйесінің негізінің) сəйкесті разряд нөмірінің мəніндегі дəрежесі арқылы анықталады. Сонымен, санның ең кіші разрядындағы (нөлінші разрядтағы) символдың құны бір (20), келесі разрядтың (бірінші разрядтың) құны екі (21), одан əрі төрт (22), сегіз (23) жəне с.с. өзгере береді. Разряд құны бірлік, екілік, төрттік, сегіздік деп жəне с.с. аталады, ал екілік код разрядында тұрған символ сəйкесті разряд құнының сан құрамына қанша рет кіретіндігін, дəлірек айтқанда, бар-жоқтығын көрсетеді. Айтылғанды келесі мысал суреттейді:
Код құрамындағы символдардың 0 жəне 1 мəнінде ғана болуына байланысты, олар разрядқа сəйкесті құндық мəннің код құрамында бар-жоқтығын көрсетеді. Мысалы, келтірілген мысалдағы кодтың құрамында бірлік, екілік жəне сегіздік бар (1), ал төрттік жоқ (0).
13.2 Сандардың түрлендірілімі
13.1.1 Ондық санның екілік санға түрлендірілуі
Өзімізге үйреншікті ондық сан түріндегі информацияны цифрлық құрылғыда өңдеу үшін ол екілік санау жүйесіндегі сəйкесті көрсетілім түріне, яғни екілік кодқа түрлендірілуі керек. Ол үшін түрлендірілетін сан жəне алынған кезекті бөлінділер екіге (яғни, жаңа санау жүйесінің негізіне) тізбелеп бөлінеді де, бөлінді мəні нөл болған кезде бөлу операциялары тоқтатылады; жеке бөлу операцияларында анықталған қалдықтардың шығарылым бағытына қарсы тəртіппен жазылымы осы ондық санның екілік кодын береді. Мысал ретінде, ондық санау жүйесіндегі 75 санына сəйкесті екілік кодтың анықталуын көрсетелік:
7510 = 10010112.
Əрине, көрсетілген тəсілмен кез келген ондық санның сəйкесті екілік кодын анықтауға болады. Бірақ автор бұл тəсілді жеңіл тəсіл деп санамайды: біріншіден, бұндағы тізбелеп жүргізілетін бөлу операциялары ұзақ уақыт алады (мысал ретінде ондық 1000 санының екілік кодын алып көріңіз); екіншіден, тізбеленген бөлу операцияларының жүргізілу ұзақтығынан, қателік жіберу ықтималдығы да ұлғая түседі.
Айтылған тəсілдің кемістіктерінен құтылу мақсатында, автор ондық санның екілік кодын анықтауға іс жүзінде пайдаланып жүрген өз тəсілдерін ұсынады жəне оның біріншісін суреттеуге алдыңғы мысалда алынған 75 саны пайдаланылады:
- алдымен алынған ондық санның құрамына кіретін екінің ең жоғарғы дəрежесіндегі санның екілік коды жазылады (6410 = 26 = 010000002, бұл санды сөз ыңғайлылығы үшін бірінші қадам коды деп аталық);
- келесі қадамда түрлендірілетін саннан анықталған бірінші қадам коды алып тасталады да (75 – 64 = 11), қалған санның құрамына кіретін екінің ең жоғарғы дəрежесіндегі сан анықталады (810 = 23 = 10002, бұл санды екінші қадам коды деп аталық);
- осы тəртіппен жалғастыра отырып, ақырында өзімізге жатталымды кішігірім санның кодына жетеміз (11 – 8 = 3, 310 = 112);
- алынған бірнеше қадам кодтарын қосу арқылы қажетті код шығарылады.
Бұл тəсілдің айтылған тəртібінің біріктірілген суреттемесін көрсетелік:
Сонымен, қосу тəсілі деп аталатын бұл тəсілдің əр қадамында анықталатын кодтардың жазылымы да (1 жəне бірнеше нөл), олардың ақырында өзара қосылуы да оңай орындалатын операциялар болғандықтан бұл тəсіл арқылы ондық санның екілік кодын анықтау қиын болмайтындығы сөзсіз. Бірақ, кейбір жағдайда бұл тəсілді одан əрі жеңілдету мүмкіндігі туады. Мысалы, 1000 санының кодын шығару үшін алдыңғы тəсілді пайдалану алты қадамға созылады (512 + 256 + 128 + 64 + 32 + 8). Алынған сан 512-ден
гөрі 1024-ке (210) жуық, сондықтан бұл жерде қажетті кодты шығару үшін 1024 санының кодынан 24-тің кодын алу жеңіл болар еді деген ой туады. Бірақ, 1024-тің 10000000000 түріндегі екілік кодынан 24 санының 11000 кодын алу тасымал арқылы жүзеге асырылатындықтан бұл оңай операция емес. 1024-тен 1 кемітілген 1023 санының коды
1111111111 болады жəне одан 23 санының 10111 кодын алу қиын еместігін осы мысалдың келесі суреттемесінен көреміз:
Сонымен, алу тəсілі деп аталатын екінші тəсіл коды ізделінетін ондық санның екінің нақтылы дəрежелі санынан аздап кем болған кезінде пайдалануға ыңғайлы келеді. Ол келесі тəртіппен жүзеге асырылады:
- алдымен алынған ондық саннан аздап жоғары болатын екінің нақтылы дəрежесі арқылы сипатталатын саннан 1 кемітілген санның коды алынады (ол қатар жазылған бірнеше 1 арқылы жазылады жəне ондағы 1-дің саны дəреже мəніне тең болады):
- бастапқы сан мен алынған кодтың ондық мəнінің айырымы анықталып, келесі қадамда екі тəсілдің ыңғайлысын пайдалану арқылы осы санның коды анықталады;
- ақырында бірінші қадам кодынан екінші қадам коды алынып, қажетті код шығарылады.
Кейбір жағдайда ондық санға сəйкесті қажетті код айтылған екі тəсілді кезектеп пайдалану арқылы алынады.
13.1.3 Екілік санның ондық санға түрлендірілуі
Керісінше жағдайда, яғни берілген екілік код арқылы оған сəйкесті ондық санды анықтау код жазылымындағы 1 символдарының тұрған разрядтарына сəйкесті құндарын қосу арқылы жүзеге асырылады, оны келесі мысал суреттейді:
11011000
2 = 28 + 27 + 25 + 24 + 20 = 256 + 128 + 32 + 16 + 1 = 43310.
13.1.4 Санның оналтылық жазылымы
Цифрлық құрылғылардың жұмысы екілік сандарға негізделген, бірақ пайдаланушыға мұндай сандармен жұмыс істеу (мысалы, Ассемблер тілінде бағдарлама құру кезінде) оңай нəрсе емес, сондықтан бұндай жағдайда пайдаланушының жұмысын жеңілдету үшін екілік кодтар оналтылық санау жүйесінде көрсетіледі. Жүйенің аталымына сəйкесті, бұл жүйеде сан жазуға (немесе көрсетуге) он алты символ пайдаланылады, олар – 1…9, A, B, C, D, E, F.
Ондық санның оналтылық жазылымын, əрине, дəстүрлі тəсілмен, яғни түрлендірілетін санды он алтыға бөліп, шығарылған қалдықтарды кері бағытта жазу арқылы анықтауға болады. Бірақ оны жеңілірек келетін тəсілмен анықтауға болады:
- алдымен ондық санның екілік коды анықталады;
- алынған кодтағы символдар кіші разрядынан бастап төрт-төрттен топтарға біріктіріледі;
- əрбір топтың кодына сəйкесті оналтылық символын қою арқылы түрлендірілетін ондық санның оналтылық жазылымы шығарылады.
Айтылғанды келесі мысал арқылы түсіну қиын емес:
13.2 Логика алгебрасының заңдары
Цифрлық электронды схемаларды талдау және синтездеу үшін логика алгебрасының математикалық аппараты немее бульдік алгебра кеңінен қолданылады. Логика алгебрасының функциясы тек екі мүмкін мәнді: 0 немесе 1 мәнін қабылдайды. Логика алгебрасының функциясын шынайылық кестесі деп аталатын кесте түрінде беру ыңғайлы. Кіріс А және В айнымалылары кезіндегі кез келген функцияның F кестелік тапсырмасының мысалы 3 кестеде берілген.
Шынайылық кестесі барлық мүмкін 2к логикалық айнымалылық мәндерінің жиынтығы мен әр жиынтыққа сәйкес келетін функция мәндерін қамтиды.
Цифрлық құрылғыларды құру үшін келесі функционалдық толық жүйелер қолданылады: ЖӘНЕ – НЕМЕСЕ – ЕМЕС, ЖӘНЕ — ЕМЕС (Шеффер штрихы), НЕМЕСЕ — ЕМЕС (Пирс бағыттауышы).
Ең төменгі базисты таңдау нақты цифрлық құрылғы құрылатын логикалық элементтің стандарт жиынтығын таңдаумен байланысты.
Негізгі логикалық операцияларды: терістеу (ЕМЕС), қосу (НЕМЕСЕ), көбейту (ЖӘНЕ) қарастырамыз.
Кесте 3.
А
|
B
|
F
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
0
|
1
|
1
|
1
|
ЕМЕС (терістеу) операциясы сәйкес айнымалының үстінен «—» символымен белгіленеді, логикалық қосу (дизъюнкция, НЕМЕСЕ операциясы) «+» символымен белгіленеді, логикалық көбейту (конъюнкция, ЖӘНЕ операциясы) «•» символымен белгіленеді. Логикалық мәндердің эквиваленттілігін белгілеу үшін «=» теңдік белгісін пайдаланыңыз. 4, 5-кестелерде А, В айнымалылары үшін терістеу, қосу, көбейту логикалық операцияларының кестелік бейнесі берілген.
Инверсия операциясының кестелік бейнесі (4 - кестесін қараңыз).
Дизъюнкция және конъюнкция операцияларының кестелік бейнесі (5 -кестені қараңыз).
Қарастырылған логикалық операциялар үшін негізгілері 6 кестеде берілген аксиомалар (тепе-теңдіктер) мен заңдылықтар ақиқат. Тепе-теңдіктер мен заңдылықтардың алгебралық мәндері жұппен берілгенін ескеру керек (6 -кестені қараңыз). Егер аксиомада «1» ді «0» ге ауыстырса, ал НЕМЕСЕ операциясын ЖӘНЕ-ге ауыстырса, онда жұп болатын аксиоманы аламыз. Кері алмастыру да осылай ақиқат болады.
Кесте 4.
Кесте 5.
A
|
B
|
F = A + B
|
F = AB
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
Кесте 6.
Аксиомалар (тепе-теңдік)
|
1 + A = 1;
0 * A = 0
|
(13.1)
|
0 + A = A;
1 * A = A
|
(13.1)
|
A + A = A; A * A = 0
|
(13.1)
|
А + А = 1 А * А = 0
|
(13.4)
|
А = А
|
(13.5)
|
Коммутативтілік заңы
|
A + B = B + A A * B = B * A
|
(13.6)
|
Ассоциативтілік заңы
|
A + B + C = A + (B + C) A * B * C = A-(B * C)
|
(13.7)
|
Дистрибутивтілік заңы
|
A * (B + C) = (A * B) + (A * C)
A + (B * C) = (A + B) * (A + C)
|
(13.8)
|
Қосарлау заңы (де Морган теоремасы)
|
А + B = А * B А * B = А + B
|
(13.9)
|
Жұтылу заңы
|
A + A * B = A A * (A + B) = A
|
(13.10)
|
Желімдеу заңы
|
А * B + А * B = А
|
(13.11)
|
Аталған ұқсастықтар мен заңдарды пайдаланып, жаңа логикалық мәндер алуға болады, сондай-ақ басқа заңдардың негізінде қандай да бір заңның дұрыстығын дәлелдеуге болады. Мысалы, дистрибутивтілік (13.8) пен ұқсастықтың (13.4) екінші заңы көмегімен келесі қатынасты аламыз:
А + AB = (A + A)(A + B) = A + B.
Дистрибутивтілік пен (13.8) ұқсастықтың (13.1), (13.3) бірінші заңын және ассоциативтілік заңын (13.7) пайдаланып, жұтылу заңының (13.10) дұрыстығына дәлел аламыз
А (А + B) = АА + AB = А + AB = А (1 + B) = А.
Осы ұқсастықтар мен заңдарды пайдалану логикалық функцияларды қысқартуға, яғни олар үшін барынша қарапайым формасы бар мәндерді табуға мүмкіндік береді. Ассоциативтілік заңын пайдаланып, көп айнымалының (k > 2) кез келген логикалық функциясын екі айнымалы функцияларының үйлесімі түрінде беруге болады. Екі айнымалының логикалық функцияларының толық жиыны 222 =16 7- кестеде берілген. Әр функция А, В екі айнымалымен мүмкін болар 16 логикалық операциялардың біреуін белгілейді және өзіндік атауы мен шартты белгісіне ие (7 кестені қараңыз).
Кесте 7.
Функция
|
Шартты белгілер мен алгебралық мәндер
|
Функция атауы
|
F0
|
F1 = 0
|
тұрақты 0
|
F1
|
F1 = А * В
|
Конъюнкция
|
F2
|
F2 = A→B = A * B
|
Тыйым
|
F3
|
F3=A
|
Ұқсастық А
|
F4
|
F4 = B→A = A * B
|
Тыйым
|
F5
|
F7 = A+B
|
Ұқсастық В
|
F6
|
F6 = A ⟴ B = A * B + A * B
|
НЕМЕСЕ (теңсіз мәнділік)
|
F7
|
F7 = А + В
|
Дизъюнкция
|
F8
|
Fg = A ↓ B = A + B
|
Пирс бағыттауышы (НЕМЕСЕ - ЕМЕС)
|
F9
|
F9 = A ~ B = A * B + A * B
|
Теңмәнділік (эквиваленттілік)
|
F10
|
F10 = B
|
Инверсия В
|
F11
|
Fn = B →A = A + B
|
Импликация от В к А
|
F12
|
F12 = A
|
Инверсия А
|
F13
|
F13 = A→B = A + B
|
Импликация от А к В
|
F14
|
F14 = A/B = A * B
|
Шеффер штрихы (И — НЕ)
|
F15
|
F15 = 1
|
Тұрақтылық 1
|
Мысалы, НЕМЕСЕ операциясын орындау кезінде екі айнымалының теңсіздік сигналы іске қосылады: А ф В кезінде F6 = 1; А = В кезінде F6 = 0. Теңмәнділік операциясын орындау кезінде айнымалылардың теңдігі сигналы іске қосылады: А = В кезінде F6 =1; А ф В кезінде F6 = 0. Барынша күрделі функциялар үшін: Тыйым, Импликация, Теңмәнділік, НЕМЕСЕ, Пирс дәне Шеффер функциясы үшін – олардың мәндерін қарапайым инверсия, дизъюнкция, конъюнкция операцияларының көмегімен береді. Қайта түрленген логикалық мәндерді пайдаланып, екі айнымалы функцияларының арасындағы кейбір қатынастарды көрсетеміз:
F2 = A→B = AB = F13 = A → B = A + B; (13.13)
F4 = B→A = AB = F11 = B → A = A + B; (13.14)
F6 = A ⟴ B = AB + A * B = F9 = A ~ B = AB + AB. (13.15)
Бұл қатынастардың дәлдігі 6 кестеден көрінеді, сондай-ақ дуаль заңдарының көмегімен дәлелденеді. Цифрлық құрылғы ең аз элементтер жиыны кезінде өзінің функционалдық мақсатын орындауы керек, ол үшін жетілдірілген дизъюнктивті қалыпты форма (ЖДҚФ) мен жетілдірілген конъюнктивті қалыпты форманы (ЖКҚФ) тауып, оларды барынша азайту керек.
13.3 Логикалық функцияларды барынша азайту
Логикалық функцияларды барынша азайту барлық мүмкін айнымалылар үйлесімін графикалық шаршы (торкөз) түрінде бейнелейтін Карно карталары көмегімен іске асырылады. Бұл кезде карта торкөздерінің координаттарымен анықталатын айнымалыларды көлденең де тігінен де бір торкөзден екіншісіне өткен кезде тек бір айнымалы ғана өзгеретіндей етіп орналастырады. Егер қандай да бір функция үшін Карно картасын алу талап етілсе, алдымен бұл функцияны жетілдірілген дизъюнктивті қалыпты формада немее шынайылық кестесі түрінде жазып алу керек.
Мысал ретінде 8 кестеде көрсетілген шынайылық кестесі бар F функциясын аламыз. A, B, C, D айнымалылары құрылғы кісірінде бәсеңдетілетін импульстардың кезектілігі болып табылады.
Кесте 8.
Кірістер
|
Импульс номері
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
A
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
B
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
C
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
D
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
F(қорытынды функция)
|
1
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
Сандық құрылғы шығысында Ғ функциясына сай келетін импульстар кезектілігін аламыз. Берілген F (ЖДҚФ) финукциясына арналған Карно картасы 9 кестеде берілген.
Кесте 9.
CD
AB
|
00
|
01
|
11
|
10
|
00
|
ABCD
|
ABCD
|
ABCD
|
ABCD
|
01
|
ABCD
|
ABCD
|
ABCD
|
ABCD
|
11
|
ABCD
|
ABCD
|
ABCD
|
ABCD
|
10
|
ABCD
|
ABCD
|
ABCD
|
ABCD
|
ЖДҚФ және ЖКҚФ барынша азайтылатын функциялардың орамын қалыптастыру белгілі бір ережелерге сай орындалады:
1) 1 және 0 аралас торкөздеріндегі барлық шаршылар біріктіріледі;
2) 1 және 0 аралас торкөздерден барлық жолдар мен бағандар біріктіріледі;
3) 1 және 0 ден барлық көрші торкөздер біріктіріледі;
4) Бір торкөздер түрлі бірлестікке ене алады;
5) Жекелеген торкөздер, жолдар, бағандар егер олар картаның негізгі геометриялық өстеріне қатысты симметриялы орналасқан болса біріктіріледі.
Орамның әртүрлі нұсқасына арналған біріктірудің біреше нұсқасынан тұйықталған формалар алынып тасталады да, ең азы таңдалады. Бұл МДҚФ немесе МКҚФ болады. Ережелерді пайдаланып, орам теңдеуін құрамыз, алдында қарастырылған заңдарды (жұтылу заңы, желімдеу заңы, ЖДҚФ мен ЖКҚФ функциялары үшін де Морган теоремасы) пайдаланып, ізделген МДҚФ мен МКҚФ табамыз.
ЖДҚФ үшін карта бейнелейміз, берілген Ғ функциясына сай Карно карталары торкөзіне бірліктерді жазамыз. Ғ функциясының бірінші мәні 1, ABCD мәндері — нөлдер (8 кестені қараңыз), торкөзді табамыз да бірліктерді жазамыз, карта торкөздеріне бірліктерді жазамыз, мұнда функция 1 мәнін қабылдайды (10 кесте).
Кесте 10.
CD
AB
|
00
|
01
|
11
|
10
|
00
|
1
|
|
|
1
|
01
|
|
1
|
1
|
1
|
11
|
|
1
|
1
|
|
10
|
|
1
|
1
|
1
|
МДҚФ анықтаймыз, бірінші орам:
ABCD + ABCD + ABCD + ABCD = BCD (A + A) +BCD (A + A) =
= BCD + BCD = BD (C + C) = BD;
Екінші орам:
ABCD + ABCD + ABCD + ABCD = ABD (C + C) +ABD (C + C) =
= ABD + ABD = AD (B + B) = AD;
Үшінші орам
ABCD + ABCD + ABCD = ABCD + ABC (D + D) = ABCD + ABC;
Төртінші орам:
ABCD + ABCD + ABCD = ABCD + ABC (D + D) = ABCD + ABC;
Бесінші орам:
ABCD + AbcD = ABD(C + C) = ABD
F = BD + AD + ABCD + ABC + ABCB + ABC + ABCD + ABC + ABD = BD (1 + + AC) + AD (1 + BC) + ABC + ABC + ABD = BD + AD + ABC + ABC + ABD;
МДҚФ функциясын аламыз:
F = BD + AD + ABC + ABC + ABD.
Берілген Ғ (ЖКҚФ) функциясына арналған Карно картасы 3.9- кестеде берілген.
Кесте 11.
CD
AB
|
00
|
01
|
11
|
10
|
00
|
А + В + C + D
|
A + B + C + D
|
A + B + C + D
|
A + B + C + D
|
01
|
A + B + C + D
|
A + B + C + D
|
A + B + C + D
|
A + B + C + D
|
11
|
A + B + C + D
|
A + B + C + D
|
A + B + C + D
|
A + B + C + D
|
10
|
A + B + C + D
|
A + B + C + D
|
A + B + C + D
|
A + B + C + D
|
ЖКҚФ арналған картаны бейнелейміз, Карно картасының торкөздеріне берілген Ғ функциясына сай нөлдерді жазамыз. Ғ функциясының екінші мәні 0–ге тең, А мәні – 1, BCD мәндері — нөлдер (8 кестені қараңыз), торкөзді табамыз да, нөлдерді қоямыз, сәйкесінше карта торкөздеріне нөлдерді жазамыз, мұнда фукнция 0 мәнін қабылдайды (12 кесте).
МКҚФ анықтаймыз:
бірінші орам:
(A + B + C + D ) + B + С + D ) + B + C + D) = (A + B + C + D )(B + B)[A + C + D) = (A + B + C + D )(A + C + D);
екінші орам:
(A + B + С + D )(A + B + C + D) = (A + B + D )(c + C) = (A + B +D);
үшінші орам:
(A + B + C + D )(A + B + C + D ) = (A + B + D )(c + C) = (A + B +D);
МКҚФ функциясын аламыз:
F = (A + B + C + D )(A + C + D )(A + B + D )(A + B + D).
Кесте 12.
CD
AB
|
00
|
01
|
11
|
10
|
00
|
|
0
|
0
|
|
01
|
0
|
|
|
|
11
|
0
|
|
|
0
|
12
|
0
|
|
|
|
МДҚФ аппаратты іске асыру үшін бес көбейткіш пен бір сумматор қажет болады, МКҚФ үшін – төрт сумматор және бір көбейткіш керек болады.
Бақылау сұрақтары:
1. Қандай негізгі логикалық операциялар бар?
2. Дистрибутивтілік заңы формалумен қалай жазылады?
3. Де Морган теоремасын жазыңыз.
4. Желімдеу заңы формуламен қалай жазылады?
5. Қандай базис «Пирс бағыттауышына» сай келеді?
6. Қандай базис «Шеффер штрихына» сай келеді?
7 Логикалық функцияларды барынша азайту процедурасын түсіндіріңіз.
Дәріс 14. Комбинациялық логикалық элементтер
Шығыс сигналы (немесе сигналдары) тек қана кіріс сигналдарының кезекті мəндеріне тəуелді болатын құрылғылар қиыстырма құрылғылар деп аталады. Бұндай құрылғылардың қарапайым түріне логикалық элементтер жатады.
14.1 Логикалық элементтер
Логикалық элементтер – логикалық функцияларды жүзеге асыруға арналған құрылғылар. бұрын қарастырылған қарапайым функцияларды жүзеге асырушы сəйкесті логикалық элементтердің шартты сызба белгілемелері 124 суретте келтірілген.
Сурет 124.
14.2 Логикалық элементтердің тез əрекеттілігі
Логикалық элементтердің тез əрекеттілігі олардың бір жағдайынан екінші жағдайына ауысу жылдамдығымен анықталады. ЕМЕС (NOT) элементі арқылы өзгерелі сигналдардың өту нəтижесі 125 суретте көрсетілген.
Сурет 125.
Бұнда шығыс сигналының өзгерісінің кіріс сигналының өзгерісінен нақтылы уақытқа кідіретіндігі айқын көрініп тұр. Біздің Electronics Workbench моделдеу жүйесінде жүргізген өлшеміміз бойынша ондағы ЕМЕС элементіндегі сигнал кідірісі 10 ns шамасында болады. Əрине, статикалық (яғни, белгілі уақыт аралығында тиянақты мəнін сақтайтын) сигналдармен істейтін құрылғылардың жұмысына бұндай кідірістің байқарлықтай əсері болмайды. Бірақ кейбір жағдайларда (мысалы, тізбектеме құрылғыларда) бұндай кідірістің құрылғының жұмысына байқарлықтай əсер етуі мүмкін. Кідіріс əрекетін суреттеу мақсатында екі ЕМЕС элементінің кірістеріне қатар берілген екі сигналдың осы элементтер арқылы алынған логикалық қосындысын қарастыралық (126 сурет). Схемада көрсетілгендей, бір сигнал екінші элементтің кірісіне екі ЕМЕС элементі арқылы берілген.
Сурет 126.
Идеалды жағдайда (яғни, ЕМЕС элементтерінде ешқандай кідірістің болмауы кезінде) екі элементтің шығыстарындағы сигнал бірдей болар еді (127 a, сурет). Бұл диаграмма статикалық сигналдарды бақылауға арналған Electronics Workbench моделдеу жүйесіндегі Logic Analyzer аталымды арнайы аспап арқылы алынған.
а б
Сурет 127.
Сезімтал осциллограф арқылы алынған диаграммада (127 б, сурет) екінші элементтің бір кірісіне сигналдың екі ЕМЕС элементінен өтуге кеткен 20 ns кідірісінің əсерінен осы элементтің шығысындағы сигнал құрамына бөгде теріс импульстің қосылғанын көреміз. Сигнал құрамындағы бұндай бөгде импульс осы сигналдың түсетін құрылғысының бағдарланған жұмысын бүлдіруі мүмкін, сондықтан бұндай жағдайдың болмауын қамтамасыз ету керек.
Элементтегі сигнал кідірісін ұтымды пайдалануға да болады. Мысалы, түймежинамның жеке түймесі арқылы өте қысқа (ұзақтығы 10 ns шамасындағы) жазу сигналын алу үшін 128 суретте көрсетілген екі элемент арқылы құрылған схеманы пайдалануға болады.
а б
Сурет 128.
14.3 Комбинациялық құрылғыларды құру тəртібі
Комбинациялық құрылғыларды құру келесі тəртіппен жүргізіледі:
құрылғының сөз-сөйлем түріндегі түсіндірмесінің негізінде оның ақиқаттық кестесі құрылады;
- құрылған кестедегі деректер негізінде құрылғының жұмысын суреттеуші логикалық өрнек жазылады;
қажетті жағдайда алынған логикалық өрнек минимизацияланады;
- алынған өрнек құрылғыны құруға бағдарланған түпнегіздік жинаққа (core set) сай түрлендіріледі;
- ақырғы алынған өрнек негізінде түпнегіздік жинақтың элементтері арқылы құрылғының схемасы құрылады.
Құрылғыны құру тəртібінің бастапқы үш кезеңі бұрын қарастырылған болатын, сондықтан сонда алынған өрнек негізінде негізгі элементтер жинағының элементтері (ЕМЕС, НЕМЕСЕ, ЖƏНЕ) арқылы құрылғының схемасын құрамыз (129 а, сурет).
а б
Сурет 129.
Көптеген жағдайда құрылғының схемасын ЖƏНЕ-ЕМЕС элементтері-нің негізінде құру қажет болады. Бұндай жағдайда өрнек де Морган заңын пайдалану арқылы түрлендіріледі:
Құрылғының осы өрнек арқылы құрылған схемасы 129 б, суретте келті-рілген.
14.4 Тұрақты комбинациялық құрылғылар
Күрделі цифрлық құрылғылар əдетте, тұрақты қызмет атқарушы, жеке түрде құрылған тұрақты қызмет түйіндері арқылы құрылады. Цифрлық құрылғылардың қызмет буындары жалпы түрде: комбинациялық жəне тізбектеме түрлеріне бөлінеді. Осы тарауда комбинациялық түріндегі қалыпты қызмет буындарының (шифратор, дешифратор, мультиплексор, демультиплексор) құрылым принциптері мен жұмыс тəртібі қарастырылады.
14.4.1 Шифраторлар
Шифратор (Coder) – сигналға сəйкесті код қалыптастырушы құрылғы. Мысал ретінде сегіз кірісті (X7 … X0) шифратордың схемасын құру жолын қарастыралық. Кіріс саны сегіз болғандықтан, ол үшразрядты код (C2 … C0, CODE) қалыптастыру керек жəне кодтың қалыптасқанын жеке сигнал (O, OUT) арқылы құптауы керек (бұл сигнал қалыптасқан кодты қажетті жады буферіне жазып алуға пайдаланылады). Үлкен құрылымның құрамындағы жеке қызмет буындары əдетте, кезекпен істейді, бұл олардың іске қосу кірісіне сəйкесті деңгейлі сигнал жіберілуі арқылы жүзеге асырылады. Осындай іске қосу кірісі (I, IN) біздің құрастыратын шифраторда да ескерілгені дұрыс. Тағы бір ескеретін мəселе: қалыпты қызмет буындарының іске қосу кірісі мен құптау шығысындағы сигналдың жандандыру деңгейі төменгі (0) мəнінде алынады. Шифратордың информациялық кірістеріне түсетін сигналдардың да жандандыру деңгейі төменгі (0) мəнінде болғаны бұндай құрылғыны іс жүзінде құруға ыңғайлы болады.
Шифратордың келтірілген түсіндірме суреттемесі оның ақиқаттық кестесін құруға толық мəлімет береді, келтірілген түсіндірме мəліметтерінің негізінде сол кестені (13 кесте) құралық.
Кесте 13.
I
|
Xi
|
C2
|
C1
|
C0
|
O
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
1
|
0
|
2
|
0
|
1
|
0
|
0
|
3
|
0
|
1
|
1
|
0
|
4
|
1
|
0
|
0
|
0
|
5
|
1
|
0
|
1
|
0
|
6
|
1
|
1
|
0
|
0
|
7
|
1
|
1
|
1
|
0
|
1
|
x
|
0
|
0
|
0
|
1
|
Кесте деректерінің негізінде жазылған шифратор шығыстарының логикалық өрнектері:
Бұл өрнектер алдымен НЕМЕСЕ фун кциялары арқылы жазылып, сосын де Морган заңын пайдалану арқылы ЖƏНЕ-ЕМЕС функциясымен суреттелген түріне түрлендірілді; оған тағы бір себеп – ЖƏНЕ-ЕМЕС элементтерінің олардың ішкі құрылымына байланысты тез əрекеттілігі басқа элементтермен салыстырғанда жоғары болады.
Шифратордың жазылған өрнектер негізінде құрылған схемасы 130суретте келтірілген.
Сурет 130.
Шифратор схемада шартты сызба белгілемесімен (131 а, сурет) көр-сетіледі, ал 131 б, суретте Electronics Workbench бағдарламасының мүмкіндігін пайдалану арқылы жүзеге асырылған алдыңғы жиналған схеманың біріктірілген жеке блок (Subcircuit) түріндегі суреттемесі келтірілген (оның сəйкесті шықпалары олардың келтірілген құрылым схемасындағы орналастырылым бағытына сай шығарылған).
а) б)
Сурет 131.
Құрылған шифратордың айта кететін бір кемшілігі бар, оған екі сигнал қатар жіберілген жағдайда оның шығарған коды шым-шытырық бірдеңеге айналып кетеді. Осындай жағдайды болдырмас үшін шифратордың өндірісте шығарылатын микросхемалары (мысалы, 74148 микросхемасы), əдетте, мəртебелі түрде құрылады. Яғни олар түскен бірнеше сигналдың белгіленген мəртебесі жоғарғысының кодын шығарады да қалғандарына көңіл бөлмейді.
Көптеген жағдайда таңдап алынған шифратор микросхемасының өлшемі (кіріс саны) қойылған талапқа сай келмей, оны ұлғайту қажет болады. Мысалы, 74148 микросхемасы сегіз кірісті мəртебелі шифратор қызметін атқарады. Осындай миросхемалар негізінде (немесе алдыңғы құрылған схеманың жабық түріндегі блогы арқылы) кіріс саны екі есе ұлғайтылған шифратор құруға болады (132 сурет).
Сурет 132.
14.4.2 Дешифраторлар
Дешифратор (Decoder) – кірістеріне түскен екілік кодқа сəйкесті шығысында сигнал қалыптастырушы құрылғы. Мысал ретінде төрт теріс шығысты (Q3 … Q0) дешифратордың схемасын құру жолын қарастыралық. Шығыс саны төртеу болғандықтан, оның кірісіне түсетін код екіразрядты (A1A0) болады. Дешифратордың іске қосу кірісіндегі (E, Enable) сигналдың жандандыру деңгейін төменгі (0) мəнінде алалық.
Дешифратордың келтірілген түсіндірме суреттемесінің негізінде, оның ақиқаттық кестесін (14 кесте) құрайық.
Кесте 14.
E
|
A1
|
A0
|
Q3
|
Q2
|
Q1
|
Q0
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
x
|
x
|
1
|
1
|
1
|
1
|
Кесте деректерінің негізінде жазылған дешифратор шығыстарының логикалық өрнектері:
, , ,
Дешифратордың жазылған өрнектер негізінде құрылған схемасы 133 суретте келтірілген.
Сурет 133.
Дешифратор схемада шартты сызба белгілемесімен (134 a, сурет) көрсетіледі, ал 134 б, суретте оның жиналған схемасының біріктірілген жеке блок түріндегі суреттемесі келтірілген.
а) б)
Сурет 134.
Күрделі логикалық функцияның өрнегінің жазылу тəртібін қарастыру кезінде функцияның алынған логикалық өрнегіне (1.1) көз салсақ, ондағы əрбір термнің тура сегіз шығысты дешифратордың сəйкесті шығыстарының адресі екендігін көреміз. Демек, осындай дешифратордың сəйкесті шығыстарын бескірісті НЕМЕСЕ элементінің кірістеріне жалғау арқылы берілген функцияны жүзеге асыруға болады. Егер дешифратор теріс шығысты болса, онда (1.1) өрнегін де Морган заңы арқылы түрлендіреміз:
Алынған өрнектен берілген құрылғының қызметін теріс шығысты дешифратор негізінде жүзеге асыру үшін оның сəйкесті шығыстарына бескірісті ЖƏНЕ-ЕМЕС элементін жалғау жеткілікті екендігі көрініп тұр (135 сурет).
Сурет 135.
Комбинациялық құрылғыны дешифратор негізінде құру тəсілі – аса ыңғайлы тəсіл: біріншіден, логикалық өрнекті минимизациялаудың қажеті жоқ (дəлірек айтқанда, өрнектің де қажеті жоқ, қажетті жалғамдар кестеден көрініп тұр), екіншіден, жалғыз дешифратор негізінде бірнеше функцияны қатар жүзеге асыруға болады.
14.4.3 Мультиплексорлар
Мультиплексор кірістерінің біреуін шығысына қосатын ауыстырғыш қызметін атқарады, қажетті кірістің таңдалуы сілтеу сөзімен жүзеге асырылады. Мультиплексордың кірістері екі топқа бөлінеді: дерек кірістері мен сілтеу кірістері.
Мультиплексордың кірісті сілтеуге дешифраторды пайдалану арқылы құрылған схемасы 136 a, суретте, ал оның шартты сызба белгілемесі 137 б, суретте келтірілген.
а) б)
Сурет 136.
Бірнеше мультиплексорды қатар қосу арқылы бірнешеразрядты (мысалы, сегізразрядты) сөздердің біреуін бір арнаға жіберу жұмысын атқаратын мультиплексорлық құрылым құру қиын емес, бұндай құрылымдарды арналы мультиплексор деп атауға болады.
Дешифраторлар сияқты мультиплексорлар негізінде де қиыстырма құрылғылардың жұмысын жүзеге асыруға болады. Біз оның екі жолын (тəсілін) қарастыралық.
Бірінші тəсілде жүзеге асырылуы қажетті функцияның сəйкесті аргументтер жинағындағы мəндері мультиплексордың дерек кірістеріне, ал аргумент мəндері оның адрестік кірістеріне беріледі. Бұл жерде мультиплексордың сілтеу (адрестік) кірістерінің саны функцияның аргументтерінің санымен (n) бірдей болу керек, демек, оның дерек кірістерінің саны 2n болады. 15 кестеде берілген функцияның осы тəсілмен, яғни сегізкірісті мультиплексор негізінде жүзеге асырылуы 137 а, суретте көрсетілген. Бұндағы жеке блок түрінде суреттелген мультиплексордың дерек кірістерінің шықпалары сол жағына, ал сілтеу кірістерінің шықпалары оның үстіңгі жағына орналастырылған.
Кесте 15
X2
|
X1
|
X0
|
Y
|
0
|
0
|
0
|
1
|
0
|
0
|
1
|
0
|
0
|
1
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
0
|
а) б)
Сурет 137.
Екінші тəсіл, функцияның аргументтерінің саны мультиплексордың сілтеу кірістерінің санынан артық болған жағдайда қолданылады. Бұл кезде мультиплексордың сілтеу кірістеріне аргумент сигналдарының бір бөлігі беріледі де қалғаны оның дерек кірістерін реттеуге пайдаланылады. Келтірілген функцияның осы тəсілмен төрткірісті мультиплексор негізінде жүзеге асырылуы 1.17, b-суретте келтірілген. Бұнда A2 жəне A1 аргументтері мультиплексордың сілтеу сигналдары ретінде, ал A0 аргументі оның дерек кірістерін реттеуге пайдаланылған.
14.4.4 Демультиплексорлар
Демультиплексор дерек кірісіндегі сигналды сілтеу коды арқылы анықталған шығысына жіберетін құрылғы.
Демультиплексордың дешифратор арқылы құрылған схемасы 138 a, суретте, ал оның шартты сызба белгілемесі 138 б, суретте келтірілген.
а) б)
Сурет 138.
1. Дешифратор дегеніміз не?
2. ЖӘНЕ-ЕМЕС элементтерінде сызықты дешифраторды қала й белгілейді?
3. Демультиплексор жұмысының принципін түсіндіріңіз.
4. Шифратор дегеніміз не?
5. Шифраторларды қайда қолданады?
6. Мультиплексатор дегеніміз не?
7. Регистр неге арналған?
8. Регистрлер қалай жіктеледі?
9. Есептеуіш дегеніміз не?
Достарыңызбен бөлісу: |