A la vida real, les portes lògiques són combinacions de transistors, que són les unitats mínimes per construir qualsevol semiconductor. Utilitzant aquestes combinacions podem contruir una infinitat de components, des de memòries (volàtils i no volàtils) fins a processadors, i passant també pels microcontroladors de tots els aparells electrònics que es troben a casa teva.
En aquest cas, en canvi, ens centrarem més en les portes lògiques aplicades a l'àlgebra de Boole i als càlculs teòrics.
L'àlgebra de Boole és una branca de les matemàtiques amb propietats i regles similars, tot i que diferents, a les de l'àlgebra ordinària. Va ser creada per George Boole durant el primer quart del segle XIX. Pretenia explicar les lleis fonamentals d'aquelles operacions de la ment humana per les quals es regeixen els raonaments. Posteriorment, aquesta àlgebra va ser utilitzada per al disseny de circuits digitals. L'eina bàsica per a l'anàlisi i el disseny de circuits digitals és l'àlgebra booleana.
L'àlgebra de Boole té una característica especial: les seves variables només poden adoptar dos valors, tradicionalment denominats cert i fals (normalment representats com a 1 i 0, respectivament). Així doncs, l'àlgebra de Boole utilitza valors lògics binaris.
Aquesta porta lògica és representada per una multiplicació a l'Àlgebra de Boole.
És necessari que totes les entrades tinguin un estat binari 1 perquè la sortida també sigui 1. En la resta dels casos, la sortida serà 0.
Aquesta porta lògica és representada per una suma a l'Àlgebra de Boole.
Perquè la sortida sigui 1, és necessari que alguna de les entrades sigui 1. Si totes les entrades són 0, la sortida serà 0.
Aquesta porta també és coneguda com a "OR exclusiva" i es sol representar amb l'operador ⊕.
En aquest cas, la sortida només serà 1 si els valors d'entrada són diferents. En la resta de casos, la sortida serà 0.
Aquesta porta lògica és representada habitualment pels símbols ¬ ~ !. També es sol utilitzar una barra a sobre
de la variable.
Aquesta porta només té una entrada i una sortida, i realitza la funció d'un inversor. Si l'entrada és 1, la sortida serà 0, i si l'entrada és 0, la sortida serà 1.
Aquesta porta actua de manera completament contrària a la porta AND.
Quan totes les seves entrades són 1, la sortida serà 0. En la resta de casos, la sortida serà 1.
Aquesta porta actua de manera completament contrària a la porta OR.
Quan alguna de les seves entrades sigui 1, la sortida serà 0. Quan totes les seves entrades siguin 0, la sortida serà 1.
Aquesta porta actua de manera completament contrària a la porta XOR.
Quan les entrades siguin iguals, la sortida serà 1. Quan les entrades siguin diferents, la sortida serà 0.
Aquesta porta no sol ser molt utilitzada, ja que no realitza una funció com les descrites anteriorment, sinó que realitza una funció de buffer. El comportament és el mateix que si només hi hagués un cable connectat, però a la pràctica és utilitzat com a amplificador de corrent o com a seguidor de tensió per adaptar impedàncies.
Els sistemes combinacionals no són més que combinacions complexes de portes lògiques, creades amb l'objectiu de realitzar funcions molt concretes, unint les seves entrades i sortides.
Alguns exemples reals de sistemes combinacionals podrien ser: multiplexors i demultiplexors, codificadors i descodificadors, comparadors, generadors/detectors de paritat, sumadors, o les ALU dels processadors (unitats encarregades de realitzar operacions aritmètiques i lògiques).
En aquests sistemes, la sortida s'obté de manera gairebé immediata un cop s'aplica l'entrada, a diferència dels sistemes seqüencials que veurem a continuació.
Els sistemes seqüencials també són combinacions de portes lògiques, amb la peculiaritat de que estan "sotmeses" al temps i poden recordar estats anteriors i variar la seva sortida en funció d'aquests. Això s'aconsegueix afegint un rellotge al circuit, que envia impulsos cada cert temps, o el que és el mateix, envia un voltatge "alt".
Aquest temps ve determinat per la freqüència del rellotge. Per exemple, un rellotge amb una freqüència de 1MHz canviarà entre els voltatges "alt" i "baix" 1 milió de vegades per segon.
Per poder emmagatzemar els estats anteriors, aquests sistemes també necessiten tenir memòria. Algunes de les més habituals són les cel·les de memòria DRAM o SRAM, o els biestables (també coneguts com a flip-flops).
Un exemple senzill per entendre aquests sistemes és un peatge a la carretera. A cada impuls del rellotge (cicle), s'aixeca la barrera i un cotxe pot passar.
Per a realitzar els càlculs més senzills, únicament necessitarem conèixer les portes lògiques i com funcionen en cada cas. Tot i així, per realitzar operacions més complexes necessitarem també conèixer les normes de l'Àlgebra de Boole, així com algunes estrategies que haurem de seguir en alguns casos.
A * 0 = 0
A + 1 = 1
A + 0 = A
A * 1 = A
A + A = A
A * A = A
A * ¬A = 0
A + ¬A = 1
A * B = B * A
A + B = B + A
¬¬A = A
¬A + ¬B = ¬(A * B)
¬A * ¬B = ¬(A + B)
A (B + C) = AB + AC
A + (BC) = (A + B) * (A + C)
A + (AB) = A
A (A + B) = A
A + (B + C) = (A + B) + C = A + B + C
A (BC) = (AB) C = A * B * C