Logiske porter

De fleste datamaskiner arbeider i totallsystemet. De organiserer informasjon i form av binære tilstander, 0 eller 1, og når de gjør beregninger, kombinerer de slike tilstander ved hjelp av logiske porter. De grunnleggende typer porter er OG-port, ELLER-port, IKKE-port og XELLER-port.

Logiske porter kombinerer 2 inngangsverdier til 1 utgangsverdi, med unntak av IKKE-porten, som bare har 1 inngangsverdi.

I det følgende illustreres virkemåten til disse portene ved hjelp av releer. En skjematisk tegning av et relé er vist under. Når en elektrisk strøm sendes inn i spolen ved «A», trekker den til seg metallpinnen som oppretter forbindelse mellom «X» og «Ut», slik at strøm kan flyte mellom disse punktene. 

Du kan starte en animasjon ved å holde musa over tegningen. Farge symboliserer den binære tilstanden 1, ingen farge symboliserer tilstanden 0.

Prinsippskisse av relé

Releer illustrerer prinsippet i en logisk port på en oversiktlig måte, men i virkeligheten brukes transistorer, ikke releer. Hver type logisk port har imidlertid et standardisert symbol, som er teknologiuavhengig.

OG-port

OG-porten arbeider etter følgende logiske skjema:

INN UT
A B A OG B
0 0 0
1 0 0
0 1 0
1 1 1

Begge portens innganger må være i tilstand 1 for at OG-portens utgang skal være i tilstand 1.

En OG-port kan konstrueres ved å kople sammen to releer i serie som vist i tegningen under. Begge releene må få strøm før det kommer strøm på utgangen.

Du kan starte en animasjon ved å holde musa over tegningen. Farge symboliserer den binære tilstanden 1, ingen farge symboliserer tilstanden 0.

Og-port bygget av releer

Standardsymbolet for en OG-port ser slik ut:

Og-symbol

ELLER-port

ELLER-porten arbeider etter følgende logiske skjema:

INN UT
A B A ELLER B
0 0 0
1 0 1
0 1 1
1 1 1

ELLER-portens utgang er i tilstand 1 hvis én eller begge portens innganger er i tilstand 1.

En ELLER-port kan konstrueres ved å kople sammen to releer i parallell som vist i tegningen under. Det er nok at ett av releene får strøm for at det skal komme strøm på utgangen.

Du kan starte en animasjon ved å holde musa over tegningen. Farge symboliserer den binære tilstanden 1, ingen farge symboliserer tilstanden 0.

Eller-port bygget av releer

Standardsymbolet for en ELLER-port ser slik ut:

Eller-symbol

IKKE-port

IKKE-porten arbeider etter følgende enkle, logiske skjema:

INN UT
A IKKE A
0 1
1 0

Den gir altså utgangen tilstand 1 hvis inngangen har tilstand 0, og omvendt.

En IKKE-port kan konstrueres ved å bruke et relé av en spesiell type som bryter strømkretsen på utgangen når det settes strøm på inngangen. Dette er illustrert i tegningen under.

Du kan starte en animasjon ved å holde musa over tegningen. Farge symboliserer den binære tilstanden 1, ingen farge symboliserer tilstanden 0.

Eller-port bygget av et relé

Standardsymbolet for en IKKE-port ser slik ut:

Ikke-symbol

XELLER-port

XELLER-porten arbeider etter følgende logiske skjema:

INN UT
A B A XELLER B
0 0 0
1 0 1
0 1 1
1 1 0

XELLER-portens utgang er i tilstand 1 hvis én av inngangene er i tilstand 1, men ikke begge samtidig. Denne hendelsen er ekskludert. Dette skiller porten fra ELLER-porten som inkluderer tilfellet at begge er 1 samtidig. X-en i navnet kommer da også fra det engelske exclusive.

En XELLER-port kan bygges ved å sette sammen to OG-porter, to IKKE-porter og en ELLER-port som vist i skjemaet under.

Du kan starte en animasjon ved å holde musa over tegningen. Farge symboliserer den binære tilstanden 1, ingen farge symboliserer tilstanden 0.

Prinsippskjema for xeller-port

En slik port ville kreve 1 + 1 + 2 + 2 + 2 = 8 reeler.

Standardsymbolet for en XELLER-port ser slik ut:

Xeller-symbol

Addisjon ved hjelp av logiske porter

I artikkelen om tallsystemer beskriver vi regnereglene for addisjon av to binære sifre:

0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 0 og 1 i mente

I tabellform, satt opp som en regel for logiske porter, ser det slik ut:

INN UT
A B SIFFER MENTE
0 0 0 0
1 0 1 0
0 1 1 0
1 1 0 1

Sammenligner vi kolonnen «SIFFER», med «UT»-kolonnen til en XELLER-port, ser en at de er like. Og «MENTE» er lik «UT»-kolonnen til en OG-port. Dette betyr at vi kan addere to binære sifre ved hjelp av en XELLER-port og en OG-port, koplet som vist under:

 

Prinsippskjema for halvadderer

Dette er en halvadderer. Vil en addere binære tall med mer enn ett siffer, trengs imidlertid en litt mer komplisert kopling. For dersom addisjonen av to sifre i en kolonne genererer mente, må vi ta hensyn til dette ved addisjon av sifrene i neste kolonne. Ta f.eks.

$\begin{align} \, &1 \, 1 \\
+ \, &0 \, 1 \end{align}$

Summen av sifrene i kolonna lengst til høyre gir 1 og 1 i mente. Denne menten må så tas med ved summering av sifrene i neste kolonne. Vi har altså tre sifre å forholde oss til, addenden 1, addenden 0 og menten 1. Som det forklares i artikkelen om tallsystemer, kan vi addere tre tall ved først å legge sammen to, og deretter addere summen til det tredje. En addisjonskopling som tar høyde for innkommende mente, er vist under. Legg merke til at alle sifre adderes parvis. Ingen av komponentene har mer enn to innganger.

Prinsippskisse av fulladderer

Dette er en fulladderer. Ved å kjede flere slike sammen, kan vi addere binære tall med mange sifre.

Skulle vi bygd opp denne koplingen med releer, ville vi trengt 8 + 8 + 2 + 2 + 2 = 22 stykker. For å legge sammen to binære tall med 8 siffer, en byte, ville vi trengt ca. 22 · 8 = 176 releer. Ikke rart tidlige datamaskiner ble store og klumpete.

Datalagring ved hjelp av logiske porter

I alle koplingene vist over, gjenspeiler utgangen(e) verdiene på inngangen(e). IKKE-porten har for eksempel alltid en utgang som er det motsatte av inngangen.

Ved å lage en tilbakekopling fra utgangen inn i det logiske systemet, kan vi imidlertid bygge en krets som bevarer tilstanden på utgangen. Vi kan altså bruke en slik kopling til å lagre tilstanden 0 eller 1.

En slik kopling er vist under. Den kalles vippe, bistabil krets, eller flip-flop. Hvis inngang «A» gis verdien 1, får utgangen verdien 1, og beholder den når «A» går tilbake til 0. Hvis inngang «B» gis verdien 1, får utgangen verdien 0, og beholder den når B går tilbake til 0.

Du kan starte en animasjon ved å holde musa over tegningen. Farge symboliserer den binære tilstanden 1, ingen farge symboliserer tilstanden 0.

Prinsippskisse av bistabil krets

Kilder

    • Bård Kjos: Innføring i informasjonsteknologi. Tapir Akademisk forlag, Trondheim 2005
    • Dan I. Porat, Arpad Barna: Introduction To Digital Techniques. John Wiley & Sons, Inc. 1979