Lohikal na karagdagan (disjunction). Mga lohikal na operasyon

Ito ay ginagamit upang makalkula ang mga lohikal na operasyon. Isaalang-alang natin sa ibaba ang lahat ng pinaka-elementarya na lohikal na operasyon sa computer science. Pagkatapos ng lahat, kung iisipin mo, sila ang ginagamit upang lumikha ng lohika ng mga computer at device.

Negasyon

Bago tayo magsimulang isaalang-alang ang mga partikular na halimbawa nang detalyado, inilista natin ang mga pangunahing lohikal na operasyon sa computer science:

  • negasyon;
  • karagdagan;
  • pagpaparami;
  • sumusunod;
  • pagkakapantay-pantay.

Gayundin, bago simulan ang pag-aaral ng mga lohikal na operasyon, ito ay nagkakahalaga ng pagsasabi na sa computer science, ang isang kasinungalingan ay tinutukoy ng "0", at ang katotohanan ng "1".

Para sa bawat aksyon, tulad ng sa ordinaryong matematika, ang mga sumusunod na palatandaan ng lohikal na operasyon sa computer science ay ginagamit: ¬, v, &, ->.

Ang bawat aksyon ay maaaring ilarawan alinman sa pamamagitan ng mga numero 1/0, o sa pamamagitan lamang ng mga lohikal na expression. Simulan natin ang pagsasaalang-alang ng mathematical logic sa pinakasimpleng operasyon na gumagamit lamang ng isang variable.

Ang lohikal na negation ay isang inversion operation. Ang ideya ay kung totoo ang orihinal na expression, mali ang resulta ng inversion. At kabaliktaran, kung mali ang orihinal na expression, ang resulta ng pagbabaligtad ay magiging totoo.

Kapag isinusulat ang ekspresyong ito, ginagamit ang sumusunod na notasyon: "¬A".

Ipakita natin ang talahanayan ng katotohanan - isang diagram na nagpapakita ng lahat ng posibleng resulta ng isang operasyon para sa anumang paunang data.

Iyon ay, kung ang aming orihinal na expression ay totoo (1), kung gayon ang negasyon nito ay magiging mali (0). At kung ang orihinal na expression ay mali (0), kung gayon ang negasyon nito ay totoo (1).

Dagdag

Ang natitirang mga operasyon ay nangangailangan ng dalawang variable. Ipahiwatig natin ang isang expression -

A, pangalawa - B. Ang mga lohikal na operasyon sa computer science, na nagsasaad ng pagkilos ng karagdagan (o disjunction), kapag nakasulat, ay tinutukoy ng salitang "o" o ng simbolo na "v". Ilarawan natin ang mga posibleng opsyon sa data at resulta ng pagkalkula.

  1. E=1, H=1, pagkatapos ay E v H = 1. Kung pareho ang kanilang disjunction ay totoo rin.
  2. E = 0, H = 1, bilang resulta E v H = 1. E = 1, H = 0, pagkatapos ay E v H = 1. Kung ang kahit isa sa mga expression ay totoo, ang resulta ng kanilang karagdagan ay magiging totoo.
  3. E=0, H=0, resulta E v H = 0. Kung mali ang parehong expression, mali rin ang kabuuan ng mga ito.

Para sa maikli, gumawa tayo ng talahanayan ng katotohanan.

Disjunction
EXXOO
NXOXO
E v NXXXO

Pagpaparami

Ang pagkakaroon ng pakikitungo sa pagpapatakbo ng karagdagan, nagpapatuloy tayo sa pagpaparami (conjunction). Gamitin natin ang parehong notasyon na ibinigay sa itaas para sa karagdagan. Kapag nagsusulat, ang lohikal na pagpaparami ay ipinapahiwatig ng simbolo na "&" o ang titik na "I".

  1. E=1, H=1, then E & H = 1. Kung pareho ang kanilang conjunction ay totoo.
  2. Kung hindi bababa sa isa sa mga expression ay mali, kung gayon ang resulta ng lohikal na pagpaparami ay magiging mali din.
  • E=1, H=0, kaya E & H = 0.
  • E=0, H=1, pagkatapos ay E & H = 0.
  • E=0, H=0, kabuuang E & H = 0.
Pang-ugnay
EXX0 0
NX0 X0
E&NX0 0 0

Bunga

Ang lohikal na operasyon ng implikasyon (implikasyon) ay isa sa pinakasimpleng lohika ng matematika. Ito ay batay sa isang solong axiom - ang isang kasinungalingan ay hindi maaaring sundin mula sa katotohanan.

  1. E = 1, H =, so E -> H = 1. Kung ang mag-asawa ay in love, then they can kiss - true.
  2. E = 0, H = 1, pagkatapos ay E -> H = 1. Kung ang mag-asawa ay hindi nagmamahalan, kung gayon maaari silang maghalikan - maaari ring totoo.
  3. E = 0, H = 0, mula dito E -> H = 1. Kung ang mag-asawa ay hindi nagmamahalan, hindi sila naghahalikan - totoo rin ito.
  4. E = 1, H = 0, ang magiging resulta ay E -> H = 0. Kung ang mag-asawa ay nagmamahalan, hindi sila naghahalikan - isang kasinungalingan.

Upang gawing mas madali ang pagsasagawa ng mga pagpapatakbo ng matematika, nagpapakita rin kami ng talahanayan ng katotohanan.

Pagkakapantay-pantay

Ang huling operasyong isasaalang-alang ay ang pagkakapantay-pantay ng lohikal na pagkakakilanlan o equivalence. Sa teksto maaari itong italaga bilang "...kung at kung...". Batay sa pormulasyon na ito, magsusulat kami ng mga halimbawa para sa lahat ng orihinal na opsyon.

  1. A=1, B=1, pagkatapos ay A≡B = 1. Ang isang tao ay umiinom ng mga tabletas kung at kung siya ay may sakit lamang. (totoo)
  2. A = 0, B = 0, bilang resulta A≡B = 1. Ang isang tao ay hindi umiinom ng mga tabletas kung at kung siya lamang ay walang sakit. (totoo)
  3. A = 1, B = 0, samakatuwid A≡B = 0. Ang isang tao ay umiinom ng mga tabletas kung at kung siya ay walang sakit lamang. (kasinungalingan)
  4. A = 0, B = 1, pagkatapos ay A≡B = 0. Ang isang tao ay hindi umiinom ng mga tabletas kung at kung siya ay may sakit lamang. (kasinungalingan)

Ari-arian

Kaya, na isinasaalang-alang ang pinakasimpleng mga sa agham ng computer, maaari nating simulan ang pag-aaral ng ilan sa kanilang mga katangian. Tulad ng sa matematika, ang mga lohikal na operasyon ay may sariling pagkakasunud-sunod sa pagproseso. Sa malalaking Boolean expression, ang mga pagpapatakbo sa panaklong ay unang ginagawa. Pagkatapos nila, ang unang bagay na ginagawa namin ay bilangin ang lahat ng mga halaga ng negation sa halimbawa. Ang susunod na hakbang ay upang kalkulahin ang conjunction at pagkatapos ay ang disjunction. Pagkatapos lamang nito ay ginagawa namin ang operasyon ng kinahinatnan at, sa wakas, pagkakapareho. Tingnan natin ang isang maliit na halimbawa para sa kalinawan.

A v B & ¬B -> B ≡ A

Ang pagkakasunud-sunod ng mga aksyon ay ang mga sumusunod.

  1. V&(¬V)
  2. A v(B&(¬B))
  3. (A v(B&(¬B)))->B
  4. ((A v(B&(¬B)))->B)≡A

Upang malutas ang halimbawang ito, kakailanganin nating bumuo ng pinahabang talahanayan ng katotohanan. Kapag nililikha ito, tandaan na mas mainam na ilagay ang mga column sa parehong pagkakasunud-sunod kung saan isasagawa ang mga aksyon.

Halimbawang solusyon
ASA

(A v(B&(¬B)))->B

((A v(B&(¬B)))->B)≡A

XOXOXXX
XXOOXXX
OOXOOXO
OXOOOXO

Tulad ng nakikita natin, ang resulta ng paglutas ng halimbawa ay ang huling hanay. Nakatulong ang talahanayan ng katotohanan na malutas ang problema sa anumang posibleng data ng pag-input.

Konklusyon

Sinuri ng artikulong ito ang ilang konsepto ng mathematical logic, tulad ng computer science, mga katangian ng logical operations, at kung ano ang logical operations mismo. Ang ilang mga simpleng halimbawa ay ibinigay para sa paglutas ng mga problema sa matematikal na lohika at ang mga talahanayan ng katotohanan na kinakailangan upang gawing simple ang prosesong ito.

Disjunction

Disjunction- (lat. disjunctio - disjunction) lohikal na operasyon, sa paggamit nito nang mas malapit hangga't maaari sa unyon "o" sa kahulugan ng "alinman sa ito, o iyon, o pareho nang sabay-sabay." kasingkahulugan: lohikal na "OR", kasama ang "OR", lohikal na karagdagan, minsan lang "O".

Ang disjunction ay maaaring binary operasyon, iyon ay, magkaroon ng dalawang operand, ternary operasyon, iyon ay, upang magkaroon ng tatlong operand o n-ary operasyon, iyon ay, upang magkaroon ng n operand.
Ang entry ay maaaring unlapi- ang operation sign ay nauuna sa mga operand (Polish notation), infix- ang operation sign ay nasa pagitan ng mga operand o postfix- ang operation sign ay kasunod ng mga operand. Kapag ang bilang ng mga operand ay higit sa 2, ang prefix at postfix na mga notasyon ay mas matipid.
Ang pinakakaraniwang mga opsyon sa pag-record ay:
|| | .

Boolean algebra

Kahulugan.
Logic function MAX sa two-valued (binary) logic ay tinatawag disjunction (lohikal na "OR", lohikal na karagdagan o simple lang "O").
Panuntunan: Ang resulta ay katumbas ng pinakamalaking operand.
Paglalarawan.
Sa Boolean algebra, ang isang disjunction ay isang function ng dalawa, tatlo o higit pang mga variable (sila rin ang mga operand ng isang operasyon, sila rin ang mga argumento ng isang function).
Panuntunan: pantay ang resulta kung pantay ang lahat ng operand; sa lahat ng iba pang mga kaso ang resulta ay katumbas ng .

Talaan ng katotohanan

Talahanayan ng katotohanan para sa ternary (tatlong operand) disjunction:

X Y Z X Y Z
0 0 0 0
1 0 0 1
0 1 0 1
1 1 0 1
0 0 1 1
1 0 1 1
0 1 1 1
1 1 1 1

Multi-valued na lohika

Isang operasyon na tinatawag sa binary logic disjunction, sa multivalued logics ay tinatawag maximum: , kung saan , a ay ang kahulugan ng lohika. Posible rin ang iba pang mga opsyon. Karaniwan, sinusubukan ng isa na mapanatili ang pagiging tugma sa Boolean algebra para sa mga halaga ng operand.

Dapat pansinin na ang pangalan ng operasyong ito maximum may katuturan sa logics na may anumang halaga, kabilang ang binary logic, at ang mga pangalan disjunction, lohikal na "OR", lohikal na karagdagan at lamang "O" magkaroon ng kahulugan lamang sa binary logic, at kapag lumipat sa multi-valued logic nawala ang kanilang kahulugan.

Klasikong lohika

Sa classical propositional calculus, ang mga katangian ng isang disjunction ay tinukoy gamit ang mga axiom. Ang classical propositional calculus ay maaaring tukuyin ng iba't ibang sistema ng mga axiom, at ang ilan sa mga ito ay maglalarawan ng mga katangian ng disjunction. Kasama sa isa sa mga pinakakaraniwang opsyon ang 3 axiom para sa disjunction:


Gamit ang mga axiom na ito, maaari mong patunayan ang iba pang mga formula na naglalaman ng operasyon ng disjunction. Pakitandaan na ang klasikal na propositional calculus ay hindi kinakalkula ang resulta mula sa mga halaga ng mga operand (tulad ng sa Boolean algebra), ngunit sa halip ay nangangailangan ng pagpapatunay ng formula bilang isang buo batay sa mga axiom at mga panuntunan ng hinuha. Masakit ang pagkahulog kapag lumipad nang mataas

Disenyo ng circuit

0 0 0
1 0 1
0 1 1
1 1 1

Ang mnemonic rule para sa isang disjunction sa anumang bilang ng mga input ay: Ang output ay magiging:

  • "1" kung at kung lamang kahit isa may "1" sa input
  • "0" kung at kung lamang lahat mga input na "0"


Programming

Mayroong dalawang pangunahing uri ng disjunction na ginagamit sa mga wika ng computer: logical OR at bitwise OR. Halimbawa, sa mga wikang C/C++, ang lohikal na "OR" ay tinutukoy ng simbolo na "||", at ang bitwise na "OR" ay tinutukoy ng simbolo na "|". Sa mga wikang Pascal/Delphi, ang parehong uri ng disjunction ay ipinahiwatig gamit ang keyword na " o", at ang resulta ng aksyon ay tinutukoy ng uri ng mga operand. Kung ang mga operand ay isang lohikal na uri (halimbawa, Boolean), isang lohikal na operasyon ay isinasagawa; kung ang mga operand ay isang integer (halimbawa, Byte), isang bitwise na operasyon ay ginaganap.

Ang lohikal na "OR" ay ginagamit sa mga conditional jump operator o sa mga katulad na kaso kung saan ang resulta o kinakailangan. Halimbawa:

Kung (a || b) ( /* ilang aksyon */ } ;

Magiging pantay ang resulta kung ang parehong operand ay pantay o . Sa anumang iba pang kaso, ang resulta ay magiging katumbas ng .

Sa kasong ito, nalalapat ang karaniwang convention: kung ang halaga ng kaliwang operand ay katumbas ng , kung gayon ang halaga ng tamang operand ay hindi kinakalkula (maaaring gumamit ng kumplikadong formula sa halip). Ang convention na ito ay nagpapabilis sa pagpapatupad ng programa at isang kapaki-pakinabang na pamamaraan sa ilang mga kaso. Ang Delphi compiler ay sumusuporta sa isang espesyal na direktiba na kinabibilangan

($B-)

o pag-off

($B+)

katulad na pag-uugali. Halimbawa, kung ang kaliwang operand ay sumusubok kung ang tamang operand ay kailangang suriin:

Kung (a == NULL || a-> x == 0 ) ( /* ilang aksyon */ } ;

Sa halimbawang ito, salamat sa tseke sa kaliwang operand, hindi kailanman mangyayari ang isang null pointer dereference sa kanang operand.

Ang Bitwise OR ay gumaganap ng isang normal na operasyon ng Boolean algebra sa lahat ng mga bit ng kaliwa at kanang operand nang magkapares. Halimbawa,

Kung
a =
b =
yun
a O b =

Koneksyon sa natural na wika

Ang pagkakatulad sa pagitan ng disjunction at ng conjunction na "o" sa natural na wika ay madalas na itinuturo kapag ito ay ginagamit sa kahulugan ng "alinman ito, o iyon, o pareho." Sa mga legal na dokumento ay madalas nilang isinusulat ang "at/o," ibig sabihin ay "ito, o iyon, o pareho." Ang tambalang pahayag na "A at/o B" ay itinuturing na mali kapag ang parehong pahayag A at B ay mali, kung hindi, ang tambalang pahayag ay totoo. Ito ay eksaktong tumutugma sa kahulugan ng disjunction sa Boolean algebra, kung ang “true” ay tinutukoy ng , at “false” ng .

Kalabuan Ang natural na wika ay ang pang-ugnay na "o" ay ginagamit sa dalawang kahulugan: alinman upang ipahiwatig ang disjunction, o upang ipahiwatig ang isa pang operasyon -

Lohikal na karagdagan (disjunction)

Lohikal na pagpaparami (conjunction)

Ang lohikal na multiplikasyon ay ang koneksyon ng dalawang simpleng pahayag na may pang-ugnay na "AT". Halimbawa, kumuha ng dalawang pahayag: “Dalawang beses dalawa ay katumbas ng apat” (a), “Tatlong beses tatlo ay katumbas ng siyam” (a). Ang kumplikadong pahayag na "Twice two equals four and Three times three equals nine" ay totoo dahil Parehong totoo ang mga pahayag a at b. Ngunit kung kukuha tayo ng iba pang mga pahayag: "Dalawang dalawa ay katumbas ng apat" (c), at "Ang talahanayan ay may 2 binti" (d), kung gayon ang kumplikadong pahayag na "Dalawang dalawa ay katumbas ng apat at ang Talahanayan ay may 2 binti" ay magiging mali, dahil ang pahayag (d) ay mali.

Pang-ugnay: isang kumplikadong pahayag, sa pinakasimpleng kaso ang kumbinasyon ng dalawang simpleng pahayag a at b, ay totoo kung at kung ang parehong mga pahayag a at b ay totoo.

Notasyon para sa operasyong “conjunction”: a & b , a at b, ab, a Λ b.

Ang sign na & - ampersand - ay binabasa bilang Ingles na "at".

Talahanayan ng katotohanan para sa logical multiplication function:

Lohikal na pagpaparami
Mga argumento Function
a b F=ab

Value ng function a = “2*2=4” =1, value ng function b = “3*3=8” = 0.

Value ng function ab = “(2*2=4) at (3*3=8)” = 0

Ang lohikal na karagdagan ay ang koneksyon ng dalawang simpleng pahayag na may kaugnay na "OR". Halimbawa, kumuha ng dalawang pahayag: "Dalawang beses dalawa ay katumbas ng apat" (a), "Tatlong beses tatlo ay katumbas ng siyam" (b). Ang kumplikadong pahayag na "Twice two equals four O three times three equals nine" ay totoo dahil ito ay tumutugma sa katotohanan. Sa pormal, ang masalimuot na pahayag na ito ay totoo, dahil pareho ng mga pahayag na ito ay totoo. Mula sa pananaw ng sentido komun, kahit na kunin natin ang iba pang dalawang pahayag: "Dalawang dalawa ay apat" (c) at "Ang talahanayan ay may 2 binti" (d), kung gayon ang kumplikadong pahayag na "Dalawang dalawa ay apat O ang table has 2 legs” ay totoo at totoo. Sa pormal, ito ay totoo, dahil sa masalimuot na pahayag na ito ay may isang tunay na pahayag (c). Kaya, batay sa karaniwang kahulugan ng conjunction na "OR", dumating tayo sa kahulugan ng kaukulang lohikal na operasyon - disjunction.

Disjunction: isang kumplikadong pahayag, sa pinakasimpleng kaso ang kumbinasyon ng dalawang simpleng pahayag a at b, ay totoo kung at kung hindi bababa sa isang pahayag - a o b - ay totoo.

Notasyon para sa "disjunction" na operasyon: a! b , a o b, a + b, a V b.

Talahanayan ng katotohanan para sa lohikal na pagdaragdag ng function:

Lohikal na pagpaparami
Mga argumento Function
a b F = a V b


1. Function value a = “2*2=4” =1, function value b = “3*3=8” = 0.

Value ng function a V b = “(2*2=4) V (3*3=8)” = 1

2. Function value a = “2*2=4” =1, function value b = “3*3=9” = 1.

Value ng function a V b = “(2*2=4) V (3*3=9)” = 1

3. Function value a = “2*2=5” =0, function value b = “3*3=8” = 0.

Value ng function a V b = “(2*2=5) V (3*3=8)” = 0

Mga katumbas na lohikal na expression: logical function na kinakatawan ng iba't ibang mga formula, ngunit para sa parehong mga kumbinasyon ng mga lohikal na variable (argument) na may parehong kahulugan.

Halimbawa. Gamit ang mga talahanayan ng katotohanan, tinutukoy namin ang equivalence ng dalawang expression: & and .

Sa pamamagitan ng paghahambing ng dalawang talahanayan ng katotohanan na ito, maaari mong i-verify ang pagkakapareho ng dalawang kumplikadong expression.

Upang tukuyin ang katumbas na mga lohikal na expression, ang "="" na palatandaan ay ginagamit.

Para sa kasong isinasaalang-alang, maaari mong isulat ang: &= .

Mga lohikal na operasyon. Disjunction, conjunction at negasyon

Kaya paano kumonekta ang mga simpleng lohikal na pahayag sa isa't isa upang bumuo ng mga kumplikado? Sa likas na wika ay gumagamit tayo ng iba't ibang mga pang-ugnay at iba pang bahagi ng pananalita. Halimbawa, "at", "o", "alinman", "hindi", "kung", "pagkatapos", "pagkatapos". Halimbawa ng masalimuot na pahayag: “may kaalaman siya At skills", "darating siya sa Martes, o sa Miyerkules", "Maglalaro ako Pagkatapos, kapag ginagawa ko ang aking takdang-aralin", "5 Hindi katumbas ng 6". Paano tayo magpapasya kung totoo o hindi ang sinabi sa atin? Sa paanuman lohikal, kahit na sa isang lugar na hindi sinasadya, batay sa nakaraang karanasan sa buhay, naiintindihan namin na ang katotohanan sa unyon "at" ay nangyayari sa kaso ng katotohanan ng parehong simpleng mga pahayag. Kapag ang isa ay naging kasinungalingan, ang buong kumplikadong pahayag ay magiging mali. Ngunit, kasama ang nag-uugnay na "o", isang simpleng pahayag lamang ang dapat na totoo, at pagkatapos ang buong expression ay magiging totoo.

Inilipat ng Boolean algebra ang karanasan sa buhay na ito sa apparatus ng matematika, ginawang pormal ito, at nagpakilala ng mga mahigpit na panuntunan para sa pagkuha ng hindi malabo na resulta. Ang mga unyon ay nagsimulang tawaging mga lohikal na operator dito.

Ang algebra ng lohika ay nagsasangkot ng maraming lohikal na operasyon. Gayunpaman, tatlo sa kanila ang nararapat na espesyal na pansin, dahil... sa kanilang tulong maaari mong ilarawan ang lahat ng iba pa, at, samakatuwid, gumamit ng mas kaunting iba't ibang mga aparato kapag nagdidisenyo ng mga circuit. Ang ganitong mga operasyon ay pang-ugnay(AT), disjunction(O) at negasyon(HINDI). Kadalasan ang pang-ugnay ay tinutukoy & , disjunction - || , at ang negation ay isang bar sa ibabaw ng variable na nagpapahiwatig ng pahayag.

Sa pamamagitan ng isang pang-ugnay, ang katotohanan ng isang kumplikadong expression ay lumitaw lamang kung ang lahat ng mga simpleng expression na bumubuo sa kumplikado ay totoo. Sa lahat ng iba pang mga kaso, ang kumplikadong expression ay magiging mali.

Sa disjunction, ang katotohanan ng isang kumplikadong expression ay nangyayari kapag ang hindi bababa sa isang simpleng expression na kasama dito ay totoo, o dalawa nang sabay-sabay. Nangyayari na ang isang kumplikadong expression ay binubuo ng higit sa dalawang simple. Sa kasong ito, sapat na para sa isang simpleng maging totoo at pagkatapos ay magiging totoo ang buong pahayag.

Ang negation ay isang unary operation, dahil ito ay ginagawa na may kaugnayan sa isang simpleng expression o may kaugnayan sa resulta ng isang kumplikado. Bilang resulta ng negasyon, isang bagong pahayag ang nakuha na kabaligtaran sa orihinal.

Mga talahanayan ng katotohanan

Ito ay maginhawa upang ilarawan ang mga lohikal na operasyon sa pamamagitan ng tinatawag na mga talahanayan ng katotohanan, na sumasalamin sa mga resulta ng mga kalkulasyon ng mga kumplikadong pahayag para sa iba't ibang mga halaga ng orihinal na simpleng mga pahayag. Ang mga simpleng pahayag ay tinutukoy ng mga variable (halimbawa, A at B).

Logical Fundamentals ng Computer

Ang mga computer ay gumagamit ng iba't ibang mga aparato, ang pagpapatakbo nito ay perpektong inilarawan ng algebra ng lohika. Kasama sa mga naturang device ang mga pangkat ng mga switch, trigger, adders.

Bilang karagdagan, ang koneksyon sa pagitan ng Boolean algebra at mga computer ay nakasalalay sa sistema ng numero na ginagamit sa computer. Tulad ng alam mo, ito ay binary. Samakatuwid, ang mga computer device ay maaaring mag-imbak at magbago ng parehong mga numero at ang mga halaga ng mga lohikal na variable.

Pagpapalit ng mga circuit

Gumagamit ang mga kompyuter ng mga de-koryenteng circuit na binubuo ng maraming switch. Ang switch ay maaari lamang nasa dalawang estado: sarado at bukas. Sa unang kaso, ang kasalukuyang pumasa, sa pangalawa - hindi. Ito ay napaka-maginhawa upang ilarawan ang pagpapatakbo ng naturang mga circuit gamit ang algebra ng lohika. Depende sa posisyon ng mga switch, maaari ka o hindi makatanggap ng mga signal sa mga output.

Gates, flip-flops at adders

Ang gate ay isang lohikal na elemento na tumatanggap ng ilang binary values ​​at gumagawa ng iba depende sa pagpapatupad nito. Halimbawa, may mga gate na nagpapatupad ng logical multiplication (conjunction), karagdagan (disjunction) at negation.

Ang mga trigger at adder ay medyo kumplikadong mga device na binubuo ng mas simpleng elemento - mga gate.

Ang trigger ay may kakayahang mag-imbak ng isang binary digit, dahil sa katotohanan na maaari itong nasa dalawang matatag na estado. Pangunahing ginagamit ang mga trigger sa mga rehistro ng processor.

Ang mga adder ay malawakang ginagamit sa processor arithmetic logic units (ALUs) at nagsasagawa ng pagsusuma ng binary bits.

Ang pagtatayo ng mga computer, o sa halip hardware, ay batay sa tinatawag na mga balbula. Ang mga ito ay medyo simpleng mga elemento na maaaring pagsamahin sa bawat isa, sa gayon ay lumilikha ng iba't ibang mga scheme. Ang ilang mga scheme ay angkop para sa pagpapatupad mga operasyon sa aritmetika, at sa batayan ng iba iba ang kanilang pagtatayo alaala KOMPUTER.

Ang ventel ay isang aparato na gumagawa ng resulta ng isang Boolean na operasyon mula sa data (mga signal) na ipinasok dito.

Ang pinakasimpleng balbula ay isang transistor inverter na nagko-convert ng mababang boltahe sa mataas na boltahe o vice versa (mataas hanggang mababa). Ito ay maaaring isipin bilang pag-convert ng isang lohikal na zero sa isang lohikal na isa o vice versa. Yung. nakukuha namin ang balbula HINDI.

Sa pamamagitan ng pagkonekta ng isang pares ng transistors sa iba't ibang paraan, ang mga gate ay nakuha O HINDI At AT HINDI. Ang mga gate na ito ay hindi na tumatanggap ng isa, ngunit dalawa o higit pang input signal. Ang output signal ay palaging pareho at depende (gumagawa ng mataas o mababang boltahe) sa mga input signal. Sa kaso ng NOR gate, ang mataas na boltahe (lohikal) ay makakamit lamang kung mababa ang lahat ng input. Sa kaso ng isang NAND gate, ang kabaligtaran ay totoo: ang isang lohikal na isa ay nakuha kung ang lahat ng mga input signal ay zero. Tulad ng nakikita mo, ito ay kabaligtaran ng mga pamilyar na lohikal na operasyon tulad ng AT at O. Gayunpaman, ang mga gate ng NAND at NOR ay karaniwang ginagamit dahil ang kanilang pagpapatupad ay mas simple: AND-NOT at NOR-NOT ay ipinatupad ng dalawang transistor, habang ang lohikal na AND at OR ay ipinapatupad ng tatlo.

Ang output ng gate ay maaaring ipahayag bilang isang function ng mga input.

Ito ay tumatagal ng napakakaunting oras para sa isang transistor upang lumipat mula sa isang estado patungo sa isa pa (ang oras ng paglipat ay sinusukat sa nanoseconds). At ito ay isa sa mga makabuluhang bentahe ng mga scheme na binuo sa kanilang batayan.

Para sa mga lohikal na halaga, tatlong operasyon ang karaniwang ginagamit:

  1. Pang-ugnay– lohikal na pagpaparami (AT) – at, &, ∧.
  2. Disjunction– lohikal na karagdagan (OR) – o, |, v.
  3. Logical negation (HINDI) - hindi,.

Ang mga lohikal na expression ay maaaring ma-convert ayon sa mga batas ng algebra ng lohika:

  1. Mga batas ng reflexivity
    a ∨ a = a
    a ∧ a = a
  2. Mga batas sa commutativity
    a ∨ b = b ∨ a
    a ∧ b = b ∧ a
  3. Mga batas ng pagkakaisa
    (a ∧ b) ∧ c = a ∧ (b ∧ c)
    (a ∨ b) ∨ c = a ∨ (b ∨ c)
  4. Mga batas sa pamamahagi
    a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)
    a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c)
  5. Batas ng Negation of Negation
    (a) = a
  6. Mga batas ni De Morgan
    (a ∧ b) = a ∨ b
    (a ∨ b) = a ∧ b
  7. Mga batas ng pagsipsip
    a ∨ (a ∧ b) = a
    a ∧ (a ∨ b) = a

Ang bawat lohikal na formula ay tumutukoy sa ilang Boolean function. Sa kabilang banda, para sa anumang Boolean function ang isa ay maaaring sumulat ng walang katapusang maraming mga formula na kumakatawan dito. Isa sa mga pangunahing gawain ng lohikal na algebra ay ang paghahanap canonically x form (ibig sabihin, mga formula na binuo ayon sa isang partikular na panuntunan, canon), pati na rin ang pinakasimpleng mga formula na kumakatawan sa mga function ng Boolean.

Kung ang isang lohikal na function ay ipinahayag sa pamamagitan ng disjunction, conjunction at negation ng mga variable, kung gayon ang form na ito ng representasyon ay tinatawag na normal. Sa mga normal na anyo, may mga kung saan ang mga function ay nakasulat sa isang natatanging paraan. Tinawag sila perpekto.

Ang isang espesyal na papel sa algebra ng lohika ay nilalaro ng mga klase ng disjunctive at conjunctive perpektong normal na anyo. Ang mga ito ay batay sa mga konsepto ng elementarya disjunction at elementarya conjunction.

Ang formula ay tinatawag pang-elementarya na pang-ugnay, kung ito ay ang conjunction ng isa o higit pang mga variable, kinuha na may o walang negasyon. Ang isang variable o ang negasyon nito ay isinasaalang-alang pang-isang terminong pang-elementarya na pang-ugnay.

Ang formula ay tinatawag elementarya disjunction, kung ito ay isang disjunction (marahil monomial) ng mga variable at negations ng mga variable.

DNF AT SDNF

Ang formula ay tinatawag disjunctive normal na anyo(DNF), kung ito ay isang disjunction ng hindi umuulit na elementarya na pangatnig. Ang mga DNF ay nakasulat bilang: А1 v А2 v ... v Аn, kung saan ang bawat isa An- pang-elementarya na pang-ugnay.

Formula A mula sa k mga variable ay tinatawag perpektong disjunctive normal na anyo(SDNF), kung:
Ang 1.A ay isang DNF kung saan ang bawat elementarya na pang-ugnay ay isang pang-ugnay k mga variable x1, x2, …, xk, at sa i-th na lugar ng conjunction na ito ay mayroong variable xi o pagtanggi nito;
2. Ang lahat ng elementarya na pang-ugnay sa naturang DNF ay magkapares na naiiba.

Halimbawa: A = x1 at HINDI x2 v x1 at x2

Ang isang perpektong disjunctive normal form ay isang formula na binuo ayon sa mahigpit na tinukoy na mga panuntunan hanggang sa pagkakasunud-sunod ng elementarya conjunctions (disjunctive terms) sa loob nito.

Ito ay isang halimbawa ng isang natatanging representasyon ng isang Boolean function sa anyo ng isang formulaic (algebraic) notation.

Teorama ng SDNF

Hayaan f(x1 x2, …, xn)– Boolean function ng n mga variable na hindi magkaparehong zero. Pagkatapos ay mayroong isang perpektong disjunctive normal form na nagpapahayag ng function f.

Algorithm para sa pagbuo ng SDNF gamit ang isang talahanayan ng katotohanan:

1. Sa talahanayan ng katotohanan, minarkahan namin ang mga hanay ng mga variable kung saan ang halaga ng function na f = 1.
2. Para sa bawat minarkahang set, isinusulat namin ang conjunction ng lahat ng variable gaya ng sumusunod: kung ang value ng ilang variable sa set na ito ay katumbas ng 1, isasama namin ang variable mismo sa conjunction, kung hindi, ang negation nito.
3. Ikinonekta namin ang lahat ng nagreresultang mga conjunction sa mga operasyon ng disjunction.

KNF AT SKNF

Ang formula ay tinatawag conjunctive normal na anyo(CNF), kung ito ay isang conjunction ng hindi umuulit na elementarya disjunctions. Ang mga CNF ay nakasulat sa form: A1 & A2 & ... & An, kung saan ang bawat isa An– elementarya disjunction.

Formula A mula sa k mga variable ay tinatawag perpektong conjunctive normal na anyo(SKNF), kung:
1. Ang A ay isang CNF kung saan ang bawat elementarya na disjunction ay isang disjunction k mga variable x1, x2, …, xk, at sa ika-i-lugar ng disjunction na ito ay mayroong variable na xi o ang negasyon nito;
2. Ang lahat ng elementarya na disjunction sa naturang CNF ay magkapares na naiiba.

Halimbawa: A = (x1 v HINDI x2) at (x1 v x2)

SCNF theorem

Hayaan f(x1 x2, …, xn)– Boolean function ng n mga variable na hindi magkaparehong zero. Pagkatapos ay mayroong isang perpektong conjunctive normal form na nagpapahayag ng function f.

Algorithm para sa pagbuo ng SCNF gamit ang isang talahanayan ng katotohanan:

1. Sa talahanayan ng katotohanan, minarkahan namin ang mga hanay ng mga variable kung saan ang halaga ng function na f = 0.
2. Para sa bawat minarkahang set, isinusulat namin ang disjunction ng lahat ng variable bilang sumusunod: kung ang value ng ilang variable sa set na ito ay katumbas ng 0, isasama namin ang variable mismo sa disjunction, kung hindi, ang negation nito.
3. Ikinonekta namin ang lahat ng nagreresultang disjunction sa mga operasyong pang-ugnay.

Mula sa mga algorithm para sa pagbuo ng SDNF at SCNF, sinusunod nito na kung para sa karamihan ng mga hanay ng mga variable na halaga ang function ay katumbas ng 0, kung gayon upang makuha ang formula nito ay mas madaling bumuo ng SDNF, kung hindi man - SCNF.

Pag-minimize ng Logical Function Gamit ang Karnaugh Maps

Ang Karnaugh map ay isang graphical na paraan ng pagliit ng switching (Boolean) function, na nagbibigay ng relatibong kadalian ng pagtatrabaho sa malalaking expression at pag-aalis ng mga potensyal na karera. Kinakatawan ang mga operasyon ng pairwise incomplete gluing at elementary absorption. Ang mga mapa ng Karnaugh ay itinuturing na talahanayan ng katotohanan ng isang function na muling inayos nang naaayon. Ang mga mapa ng Carnaugh ay maaaring isipin bilang isang partikular na flat development ng isang n-dimensional na Boolean cube.

Ang mga mapa ng Carnot ay naimbento noong 1952 ni Edward W. Veitch at pinahusay noong 1953 ni Maurice Carnot, isang physicist sa Bell Labs, at nilayon upang makatulong na gawing simple ang mga digital electronic circuit.

Sa isang mapa ng Carnaugh, inililipat ang mga variable ng Boolean mula sa talahanayan ng katotohanan at inayos gamit ang Grey code, kung saan ang bawat susunod na numero ay naiiba mula sa nauna nang isang digit lamang.

Ang pangunahing paraan para sa pagliit ng mga lohikal na function na ipinakita sa anyo ng SDNF o SCNF ay ang pagpapatakbo ng pairwise na hindi kumpletong gluing at elementarya na pagsipsip. Ang pagpapatakbo ng pairwise gluing ay isinasagawa sa pagitan ng dalawang termino (mga miyembro) na naglalaman ng magkaparehong mga variable, ang mga paglitaw kung saan (direkta at kabaligtaran) ay nag-tutugma para sa lahat ng mga variable maliban sa isa. Sa kasong ito, ang lahat ng mga variable maliban sa isa ay maaaring alisin sa mga bracket, at ang direkta at kabaligtaran na mga paglitaw ng isang variable na natitira sa mga bracket ay maaaring idikit. Halimbawa:

Ang posibilidad ng pagsipsip ay sumusunod mula sa halatang pagkakapantay-pantay

Kaya, ang pangunahing gawain sa pagliit ng SDNF at SCNF ay upang makahanap ng mga termino na angkop para sa gluing na may kasunod na pagsipsip, na maaaring maging isang mahirap na gawain para sa malalaking hugis. Nagbibigay ang mga mapa ng Carnaugh ng visual na paraan upang mahanap ang mga ganoong termino.

Ang figure ay nagpapakita ng isang simpleng talahanayan ng katotohanan para sa isang function ng dalawang variable, isang 2-dimensional na kubo (parisukat) na tumutugma sa talahanayang ito, pati na rin isang 2-dimensional na kubo na may pagtatalaga ng mga termino ng SDNF at isang katumbas na talahanayan para sa pagpapangkat ng mga termino:

Paraan ng Veitch diagram.

"Pinapayagan ka ng pamamaraan na mabilis na makakuha ng kaunting mga DNF ng isang Boolean function f ng isang maliit na bilang ng mga variable. Ang pamamaraan ay batay sa pagtukoy ng mga Boolean function sa pamamagitan ng mga diagram ng ilang espesyal na uri, na tinatawag na Veitch diagram. Para sa isang Boolean function ng dalawang variable, ang May anyo ang Veitch diagram (Talahanayan 4.4.1).

Ang bawat cell sa diagram ay tumutugma sa isang set ng Boolean function variable sa truth table nito. Sa (Talahanayan 4.4.1) ipinapakita ang sulat na ito. Sa cell ng Veitch diagram, inilalagay ang isang unit kung kinukuha ng Boolean function ang unit value sa kaukulang set. Ang mga zero value ng Boolean function ay hindi nakatakda sa Veitch diagram. Para sa isang Boolean function ng tatlong variable, ang Veitch diagram ay may sumusunod na anyo (Talahanayan 4.4.2).

Ang pagdaragdag ng parehong talahanayan dito ay nagbibigay ng diagram para sa isang function ng 4 na variable (Talahanayan 4.4.3).

Sa parehong paraan, iyon ay, sa pamamagitan ng pagdaragdag ng isa pang diagram ng 3 variable sa isa na isinasaalang-alang, maaari kang makakuha ng isang diagram para sa isang function ng 5 variable, atbp., ngunit ang mga diagram para sa mga function na may higit sa 4 na mga variable ay bihirang ginagamit. Ang mga sumusunod na diagram ay tipikal:

Ang synthesis ng combinational circuits ay maaaring ilarawan sa pamamagitan ng paglutas ng isang simpleng problema.

Problema 1

Ang komite ng admisyon, na binubuo ng tatlong miyembro ng komisyon at isang tagapangulo, ang magpapasya sa kapalaran ng aplikante sa pamamagitan ng mayoryang boto. Kung sakaling magkaroon ng pantay na pamamahagi ng mga boto, ang mayorya ay tinutukoy ng grupo kung saan matatagpuan ang chairman ng komite ng pagpili. Bumuo ng isang automat na nagsisiguro sa pagpapasiya ng karamihan ng mga boto.

Solusyon

Isinasaalang-alang ang mga pagpapalagay sa itaas, ang kondisyon ng problema ay maaaring hindi malabo na kinakatawan sa anyo ng talahanayan ng katotohanan.

Pinupuno namin ang talahanayan na isinasaalang-alang ang katotohanan na ang function f ay ganap na tinukoy, i.e. ito ay tinukoy sa lahat ng posibleng hanay ng mga variable x1 - x4. Para sa n input variable, mayroong N = 2n sets ng variables. Sa aming halimbawa, N = 24 = 16 set.

Ang mga set na ito ay maaaring isulat sa anumang pagkakasunud-sunod, ngunit ito ay mas mahusay sa pataas na pagkakasunud-sunod ng binary code.

Sistema ng desimal na numero

Ang base ng sistemang ito ng numero p ay katumbas ng sampu. Ang sistema ng numero na ito ay gumagamit ng sampung digit. Sa kasalukuyan, ang mga simbolo na ginagamit upang tukuyin ang mga numerong ito ay 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Ang isang numero sa sistema ng decimal na numero ay isinusulat bilang kabuuan ng mga yunit, sampu, daan, libo , at iba pa. Iyon ay, ang mga timbang ng mga katabing digit ay nag-iiba sa pamamagitan ng isang kadahilanan ng sampu. Ang mga numerong mas maliit sa isa ay nakasulat sa parehong paraan. Sa kasong ito, ang mga digit ng numero ay tatawaging tenths, hundredths o thousandths ng isang unit.

Tingnan natin ang isang halimbawa ng pagsulat ng decimal na numero. Upang ipakita na ang halimbawa ay gumagamit ng decimal na sistema ng numero, ginagamit namin ang index 10. Kung, bilang karagdagan sa decimal na anyo ng pagsusulat ng mga numero, walang ibang paraan ng pag-record ang nilalayong gamitin, kung gayon ang index ay karaniwang hindi ginagamit:

A 10 =247.56 10 =2*10 2 +4*10 1 +7*10 0 +5*10 -1 +6*10 -2 = 200 10 +40 10 +7 10 +0.5 10 +0 .06 10

Dito ang pinakamahalagang digit ng numero ay tatawaging daan-daan. Sa halimbawa sa itaas, daan-daan ang tumutugma sa numero 2. Ang susunod na digit ay tatawaging sampu. Sa halimbawa sa itaas, ang numero 4 ay tumutugma sa sampu. Ang susunod na digit ay tatawaging mga ones. Sa halimbawa sa itaas, ang mga unit ay tumutugma sa numero 7. Ang mga ikasampu ay tumutugma sa numero 5, at mga hundredth - 6.

Binary number system

Ang base ng sistemang ito ng numero p ay katumbas ng dalawa. Ang sistema ng numero na ito ay gumagamit ng dalawang digit. Upang hindi makaimbento ng mga bagong simbolo upang tukuyin ang mga numero, ang mga simbolo ng decimal na digit 0 at 1 ay ginamit sa binary number system. Upang hindi malito ang number system sa pagsulat ng isang numero, ang index 2 ay ginagamit. Kung, sa karagdagan sa binary na anyo ng pagsulat ng mga numero, walang ibang anyo ang nilalayong gamitin, kung gayon ang index na ito ay maaaring tanggalin.

Ang isang numero sa sistemang ito ng numero ay isinusulat bilang kabuuan ng isa, dalawa, apat, walo, at iba pa. Iyon ay, ang mga timbang ng mga katabing digit ay nag-iiba sa pamamagitan ng isang kadahilanan ng dalawa. Ang mga numerong mas maliit sa isa ay nakasulat sa parehong paraan. Sa kasong ito, ang mga digit ng numero ay tatawaging halves, quarters o eighths ng isang unit.

Tingnan natin ang isang halimbawa ng pagsulat ng binary number:

A 2 =101110.101 2 = 1*2 5 +0*2 4 +1*2 3 +1*2 2 +1*2 1 +0*2 0 +1*2 -1 +0*2 -2 + 1* 2 -3 = 32 10 +8 10 +4 10 +2 10 +0.5 10 +0.125 10 =46.625 10

Kapag nagsusulat sa pangalawang linya ng isang halimbawa ng mga katumbas na desimal ng mga binary digit, hindi kami sumulat ng mga kapangyarihan ng dalawa na pinarami ng zero, dahil hahantong lamang ito sa pagkalat ng formula at, bilang isang resulta, nagpapahirap na maunawaan ang materyal. .

Ang isang kawalan ng binary number system ay maaaring ituring na malaking bilang ng mga digit na kinakailangan upang magsulat ng mga numero. Ang isang bentahe ng sistema ng numero na ito ay ang kadalian ng pagsasagawa ng mga operasyon ng aritmetika, na tatalakayin sa ibang pagkakataon.

Octal na sistema ng numero

Ang base ng sistemang ito ng numero p ay katumbas ng walo. Ang sistema ng octal na numero ay maaaring isipin bilang isang mas maikling paraan ng pagsulat ng mga binary na numero, dahil ang numerong walo ay isang kapangyarihan ng dalawa. Gumagamit ang sistema ng numero na ito ng walong digit. Upang hindi makaimbento ng mga bagong simbolo upang tukuyin ang mga numero, ang mga simbolo ng decimal na numero 0, 1, 2, 3, 4, 5, 6 at 7 ay ginamit sa octal number system. Upang hindi malito ang number system, ang index 8 ay ginagamit sa pagsulat ng numero. Bilang karagdagan sa octal na anyo ng pagsulat ng mga numero, walang ibang anyo ng notasyon ang inaasahang gagamitin, kung gayon ang index na ito ay maaaring tanggalin.

Ang isang numero sa sistemang ito ng numero ay isinusulat bilang kabuuan ng isa, walo, animnapu't apat, at iba pa. Iyon ay, ang mga timbang ng mga katabing digit ay nag-iiba sa pamamagitan ng isang kadahilanan na walo. Ang mga numerong mas maliit sa isa ay nakasulat sa parehong paraan. Sa kasong ito, ang mga digit ng numero ay tatawaging ikawalo, animnapu't apat, at iba pa, mga fraction ng isa.

Tingnan natin ang isang halimbawa ng pagsulat ng isang octal na numero:

A 8 =125.46 8 =1*8 2 +2*8 1 +5*8 0 +4*8 -1 +6*8 -2 = 64 10 +16 10 +5 10 +4 10 /8 10 + 6 10 /64 10 = 85.59375 10

Ang pangalawang linya ng halimbawa sa itaas ay aktwal na nagko-convert ng isang numerong nakasulat sa octal form sa decimal na representasyon ng parehong numero. Ibig sabihin, tinitingnan talaga namin ang isa sa mga paraan ng pag-convert ng mga numero mula sa isang anyo ng representasyon patungo sa isa pa.

Dahil ang formula ay gumagamit ng mga simpleng fraction, posible na ang eksaktong pagsasalin mula sa isang anyo ng representasyon patungo sa isa pa ay naging imposible. Sa kasong ito, limitado ang mga ito sa isang tinukoy na bilang ng mga fractional digit.

Mga uri ng digital comparator

Comparator para sa paghahambing ng iba't ibang mga signal ng polarity

Comparator para sa paghahambing ng mga unipolar signal

Comparator para sa paghahambing ng mga unipolar na boltahe na may katangian ng hysteresis. Sa mga itinuturing na comparator, maaaring makuha ang mga katangian na may mga katangian ng hysteresis. Ang pagpapakilala ng hysteresis sa pagpapatakbo ng comparator ay medyo binabawasan ang katumpakan ng paghahambing, ngunit ginagawa itong immune sa ingay at panghihimasok. Ang hysteresis ay nakakamit sa pamamagitan ng pag-on ng mas mataas na reference na boltahe kapag ang boltahe ay nagbabago mula sa mababa hanggang sa mataas na antas, kumpara sa halagang ginamit kapag ang boltahe ay nagbabago mula sa mataas hanggang mababang antas. Sa kasong ito, ang isang mataas na reference na halaga ng boltahe ay tinatawag na itaas na threshold ng tugon, at ang isang mababang halaga ay tinatawag na mas mababang tugon na threshold. Ito ay nakakamit sa pamamagitan ng pagpapakilala ng positibong feedback.

Mga multi-bit na comparator

Isaalang-alang natin bilang isang halimbawa ang isang four-bit digital comparator ng K555SP1 series, ang walong input nito ay ginagamit upang ikonekta ang dalawang four-bit na salita: A0. A3, B0. B3 na ikumpara. Kontrolin ang mga input na I(A>B), (A = B) at I(A< В) могут быть использованы для наращивания разрядности компаратора. Предусмотрены три выхода результата сравнения: А>B, A = B at A<В.

Ang talahanayan ng katotohanan ng naturang comparator (Talahanayan 1) ay hinati hilera sa hilera sa tatlong seksyon.

Ang unang seksyon (ang pinakamataas na walong hilera ng talahanayan) ay tumutukoy sa kaso kapag ang comparator ay gumagana kapag ang apat na bit na salita na ihahambing ay hindi katumbas ng bawat isa. Sa kasong ito, ang mga signal sa mga input ng pagtaas ng bit depth bilang isang reaksyon sa mga signal ng mas mababang mga piraso ng mga salitang inihambing ay walang anumang epekto sa resulta ng paghahambing.

kanin. 1. Maginoo graphical na representasyon ng isang uri ng comparator SP1

Ang tatlong hilera ng pangalawang seksyon ng talahanayang ito ay nagpapakilala sa pagpapatakbo ng comparator na may sunud-sunod na paraan ng pagtaas ng bit depth, i.e. kapag ang mga output ng low-order comparator ay konektado sa mga control input ng high-order comparator.

Mga single-bit comparator

Ang isang single-bit comparator ay may dalawang input na sabay na tumatanggap ng single-bit binary number x1 at x2, at tatlong output (=, >,<). Из таблицы истинности логические уравнения компаратора при сравнении x1 с x2 получаются в виде

Ang pagpapatupad ng naturang comparator sa NAND na batayan ay humahantong sa sumusunod na figure (Larawan 2):

Figure 2. Single-bit binary number comparator.

Talahanayan 1. Talahanayan ng katotohanan ng isang apat na bit na uri ng paghahambing na SP1

Kumpare(mga analog signal) (eng. comparator - comparing device) - isang electronic circuit na tumatanggap ng dalawang analog signal sa mga input nito at gumagawa ng lohikal na "1" kung ang signal sa direktang input (“+”) ay mas malaki kaysa sa inverse input (“−” ), at lohikal na “0” kung ang signal sa direktang input ay mas mababa kaysa sa inverse input.

Ang isang paghahambing na boltahe ng binary comparator ay naghahati sa buong saklaw ng boltahe ng input sa dalawang subrange. Ang binary logic signal (bit) sa output ng binary comparator ay nagpapahiwatig kung alin sa dalawang subrange ang input voltage.

Ang pinakasimpleng comparator ay isang differential amplifier. Ang comparator ay naiiba sa isang linear operational amplifier (op-amp) sa disenyo ng parehong mga yugto ng input at output:

  • Ang yugto ng pag-input ng comparator ay dapat makatiis ng malawak na hanay ng mga boltahe ng input sa pagitan ng mga inverting at non-inverting input, hanggang sa pag-indayog ng mga boltahe ng supply, at mabilis na makabawi kapag nagbago ang tanda ng boltahe na ito.
  • Ang yugto ng output ng comparator ay katugma sa mga tuntunin ng mga lohikal na antas at mga alon na may isang tiyak na uri ng mga input ng logic circuit (TTL, ESL na teknolohiya, atbp.). Ang mga yugto ng output batay sa isang solong transistor na may bukas na kolektor ay posible (tugma sa TTL at CMOS logic).
  • Upang bumuo ng isang hysteretic transfer na katangian, ang mga comparator ay madalas na sakop ng positibong feedback. Iniiwasan ng panukalang ito ang mabilis na hindi gustong paglipat ng estado ng output dahil sa ingay sa input signal kapag ang input signal ay dahan-dahang nagbabago.

Kapag ang boltahe ng paghahambing ng reference ay inilapat sa inverting input, ang input signal ay inilalapat sa non-inverting input, at ang comparator ay non-inverting (tagasunod, buffer).

Sa pamamagitan ng paglalapat ng boltahe ng paghahambing ng sanggunian sa hindi nag-invert na input, ang input signal ay inilalapat sa inverting input at ang comparator ay inverting (inverting).

Ang mga comparator batay sa mga lohikal na elemento na sakop ng feedback ay medyo hindi gaanong ginagamit (tingnan, halimbawa, isang Schmitt trigger - hindi isang comparator sa likas na katangian, ngunit isang device na may halos katulad na saklaw ng aplikasyon).

Kapag nagmomodelo sa matematika ng isang comparator, ang problema ng output boltahe ng comparator ay lumitaw kapag ang mga boltahe sa parehong mga input ng comparator ay pareho. Sa puntong ito ang comparator ay nasa isang estado ng hindi matatag na ekwilibriyo. Ang problema ay maaaring malutas sa maraming iba't ibang paraan, na inilarawan sa subsection na "software comparator".

Pulse counter– isang elektronikong aparato na idinisenyo upang mabilang ang bilang ng mga pulso na inilapat sa input. Ang bilang ng mga natanggap na pulso ay ipinahayag sa binary number system.

Ang mga counter ng pulso ay isang uri ng mga rehistro (nagbibilang na mga rehistro) at binuo sa mga flip-flop at elemento ng lohika, ayon sa pagkakabanggit.

Ang mga pangunahing tagapagpahiwatig ng mga counter ay ang counting coefficient K 2n - ang bilang ng mga pulso na maaaring bilangin ng counter. Halimbawa, ang isang counter na binubuo ng apat na flip-flop ay maaaring magkaroon ng maximum counting factor na 24=16. Para sa isang four-trigger counter, ang minimum na output code ay 0000, ang maximum ay -1111, at sa isang counting coefficient Kc = 10, ang bilang ng output ay hihinto sa code 1001 = 9.

Ang Figure 1, a ay nagpapakita ng circuit ng isang four-bit counter gamit ang T-flip-flops na konektado sa serye. Ang pagbibilang ng mga pulso ay ibinibigay sa pagbibilang ng input ng unang flip-flop. Ang pagbibilang ng mga input ng kasunod na mga flip-flop ay konektado sa mga output ng nakaraang mga flip-flop.

Ang pagpapatakbo ng circuit ay inilalarawan ng mga timing diagram na ipinapakita sa Figure 1, b. Kapag dumating ang unang pagbibilang ng pulso, sa pagbaba nito, ang unang trigger ay napupunta sa estado Q1 = 1, i.e. Ang digital code 0001 ay nakasulat sa counter. Sa dulo ng pangalawang pagbibilang ng pulso, ang unang trigger ay lumipat sa "0" na estado, at ang pangalawa ay lumipat sa "1" na estado. Itinatala ng counter ang numero 2 na may code 0010.

Figure 1 – Binary four-bit counter: a) circuit, b) graphical na pagtatalaga, c) timing diagram ng operasyon

Mula sa diagram (Larawan 1, b) malinaw na, halimbawa, ayon sa pagbaba ng ika-5 pulso, ang code 0101 ay nakasulat sa counter, ayon sa ika-9 - 1001, atbp. Sa pagtatapos ng ika-15 na pulso, ang lahat ng mga piraso ng counter ay nakatakda sa "1" na estado, at sa pagbagsak ng ika-16 na pulso, ang lahat ng mga pag-trigger ay na-reset, ibig sabihin, ang counter ay napupunta sa orihinal na estado nito. Upang pilitin ang counter sa zero, mayroong isang "reset" na input.

Ang counting coefficient ng isang binary counter ay matatagpuan mula sa ugnayang Ксч = 2n, kung saan ang n ay ang bilang ng mga bits (trigger) ng counter.

Ang pagbibilang ng bilang ng mga pulso ay ang pinakakaraniwang operasyon sa mga digital na kagamitan sa pagpoproseso ng impormasyon.

Sa panahon ng pagpapatakbo ng binary counter, ang rate ng pag-uulit ng pulso sa output ng bawat kasunod na trigger ay hinahati kumpara sa dalas ng mga pulso ng input nito (Larawan 1, b). Samakatuwid, ang mga counter ay ginagamit din bilang frequency divider.

Encoder(tinatawag ding encoder) ang signal sa isang digital code, kadalasang mga decimal na numero sa binary number system.

Ang encoder ay may m input, na may bilang na sunud-sunod na may mga decimal na numero (0, 1,2,..., m - 1), at n output. Ang bilang ng mga input at output ay tinutukoy ng dependence 2n = m (Fig. 2, a). Ang simbolo na "CD" ay nabuo mula sa mga titik sa salitang Ingles na Coder.

Ang paglalapat ng signal sa isa sa mga input ay nagreresulta sa hitsura sa mga output ng isang n-bit binary number na tumutugma sa input number. Halimbawa, kapag ang isang pulso ay inilapat sa ika-4 na input, isang digital code 100 ay lilitaw sa mga output (Larawan 2, a).

Ang mga decoder (tinatawag ding mga decoder) ay ginagamit upang i-convert ang mga binary na numero pabalik sa maliliit na decimal na numero. Ang mga input ng decoder (Larawan 2, b) ay inilaan upang magbigay ng mga binary na numero, ang mga output ay sunud-sunod na binibilang na may mga decimal na numero. Kapag ang isang binary na numero ay inilapat sa mga input, isang signal ang lilitaw sa isang partikular na output, ang bilang nito ay tumutugma sa input number. Halimbawa, kapag inilalapat ang code 110, lalabas ang signal sa ika-6 na output.

Larawan 2 – a) UGO encoder, b) UGO decoder

Multiplexer- isang aparato kung saan ang output ay konektado sa isa sa mga input, alinsunod sa address code. yun. Ang multiplexer ay isang electronic switch o commutator.

Figure 3 – Multiplexer: a) graphical designation, b) state table

Ang isang address code ay ibinibigay sa mga input A1, A2, na tumutukoy kung alin sa mga input ng signal ang ipapadala sa output ng device (Fig. 3).

Upang i-convert ang impormasyon mula sa digital sa analog form, ginagamit nila digital-to-analog converters (DACs), at para sa kabaligtaran na pagbabagong-anyo - mga analog-to-digital converter (ADCs).

Ang input signal ng DAC ay isang binary multi-bit na numero, at ang output signal ay ang boltahe na Uout, na nabuo batay sa reference na boltahe.

Ang analog-to-digital conversion procedure (Fig. 4) ay binubuo ng dalawang yugto: time sampling (sampling) at level quantization. Ang proseso ng sampling ay binubuo ng pagsukat ng mga halaga ng isang tuloy-tuloy na signal lamang sa mga discrete point sa oras.

Figure 4 – Analog-to-digital na proseso ng conversion

Para sa quantization, ang hanay ng pagbabago sa input signal ay nahahati sa pantay na pagitan - mga antas ng quantization. Sa aming halimbawa ay may walo, ngunit kadalasan ay marami pa. Ang pagpapatakbo ng quantization ay bumababa sa pagtukoy sa pagitan kung saan bumaba ang sample na halaga at pagtatalaga ng digital code sa output value.

Ang isang rehistro ay isang functional unit na pinagsasama ang ilang mga trigger ng parehong uri.

Mga uri ng pagpaparehistro:

1) Mga rehistro ng trangka– binuo sa mga naka-latch na trigger (K155TM5; K155TM7), ang pagre-record kung saan isinasagawa ng antas ng signal ng strobe.

Sa K155TM8 trigger, ang pagre-record ay isinasagawa sa pamamagitan ng positibong gilid ng strobe signal.

2) Mga rehistro ng shift– gawin ang function ng sequential code reception lamang.

3) Mga pangkalahatang rehistro– maaaring makatanggap ng impormasyon sa parallel at serial code.

4) Mga espesyal na rehistro– Ang K589IR12 ay may mga karagdagang opsyon para sa paggamit.

Shift register

Ito ay isang rehistro, ang mga nilalaman nito, kapag ang isang control signal ay inilapat, ay maaaring ilipat patungo sa mas mataas o mas mababang mga digit. Halimbawa, ang kaliwang shift ay ipinapakita sa Talahanayan 9.

Talahanayan 9 Paglipat ng code sa kaliwa

Mga pangkalahatang rehistro

Mayroon silang mga panlabas na output at input para sa lahat ng mga bit, pati na rin ang isang serial DS input.

Mayroong dalawang uri ng mga unibersal na rehistro:

1) isang rehistro na nagsasagawa ng shift sa isang direksyon lamang at tumatanggap ng code nang magkatulad (halimbawa, K155IR1; K176IR3).

2) na may apat na operating mode: shift pakanan/kaliwa; parallel na pagtanggap; storage (halimbawa, 8-bit register K155IR13; 4-bit register K500IR141).

Ang pangunahing operasyon ng elementarya na ginagawa sa mga code ng numero sa mga digital na aparato ay pagdaragdag ng aritmetika.

Lohikal na adder operating node na gumaganap aritmetika pagdaragdag ng mga code ng dalawang numero. Sa panahon ng pagdaragdag ng aritmetika, ang iba pang mga karagdagang operasyon ay isinasagawa: isinasaalang-alang ang mga palatandaan ng mga numero, pag-align ng mga order ng mga termino, at iba pa. Isinasagawa ang mga operasyong ito sa mga arithmetic logic units (ALUs) o mga elemento sa pagpoproseso, na ang core nito ay mga adder.

Ang mga adder ay inuri ayon sa iba't ibang pamantayan.

Depende sa sistema ng numero makilala:

  • binary;
  • binary decimal (sa pangkalahatan, binary na naka-encode);
  • decimal;
  • iba pa (halimbawa, amplitude).

Sa bilang ng sabay-sabay na naprosesong mga digit ng mga idinagdag na numero:

  • isang digit,
  • multi-bit.

Sa bilang ng mga input at output ng single-bit binary adders:

  • quarter-adders ("sum modulo 2" elements; "exclusive OR") elements), na nailalarawan sa pagkakaroon ng dalawang input kung saan ibinibigay ang dalawang single-digit na numero, at isang output kung saan ang kanilang arithmetic sum ay natanto;
  • half-adder, na nailalarawan sa pagkakaroon ng dalawang input, kung saan ang parehong mga digit ng dalawang numero ay ibinibigay, at dalawang output: ang isa ay nagpapatupad ng arithmetic sum sa isang naibigay na digit, at ang isa ay nagdadala ng paglipat sa susunod (mas mataas na digit) ;
  • buong one-bit binary adders, na nailalarawan sa pagkakaroon ng tatlong input, kung saan idinaragdag ang parehong mga digit ng dalawang numero at isang paglipat mula sa nakaraang (mas mababang) digit, at dalawang output: sa isa, ang arithmetic sum sa isang ang ibinigay na digit ay natanto, at sa kabilang banda, isang paglipat sa susunod (mas mataas) na paglabas).

Sa pamamagitan ng paraan ng pagkatawan at pagproseso ng mga idinagdag na numero Ang mga multi-bit adders ay nahahati sa:

  • sequential, kung saan ang mga numero ay pinoproseso ng isa-isa, digit sa pamamagitan ng digit sa parehong kagamitan;
  • parallel, kung saan ang mga termino ay idinagdag nang sabay-sabay sa lahat ng mga digit, at ang bawat digit ay may sariling kagamitan.

Sa pinakasimpleng kaso, ang isang parallel adder ay binubuo ng n one-bit na mga adder, sunud-sunod (mula sa hindi bababa sa makabuluhan hanggang sa pinakamahalaga) na konektado ng mga carry circuit. Gayunpaman, ang naturang adder circuit ay nailalarawan sa pamamagitan ng medyo mababang pagganap, dahil ang pagbuo ng sum at carry signal sa bawat i-th bit ay nangyayari lamang pagkatapos dumating ang transfer signal mula sa (i-1) th bit. Kaya, ang bilis ng ang adder ay tinutukoy ng oras ng pagpapalaganap ng signal sa kahabaan ng chain ng paglipat. Ang pagbawas sa oras na ito ay ang pangunahing gawain kapag gumagawa ng mga parallel adders.

Upang bawasan ang oras ng pagpapalaganap ng signal ng paglilipat, gamitin ang: Nakabubuo ng mga desisyon

Ibahagi