Innhold
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 to inngangsverdier til én utgangsverdi, med unntak av IKKE-porten, som bare har én 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. I skjemaet symboliserer farge den binære tilstanden 1, og ingen farge tilstanden 0.
Du kan starte en animasjon ved å holde musa over tegningen.
Releer illustrerer prinsippet i en logisk port på en oversiktlig måte, men i virkeligheten brukes transistorer, ikke releer. Hver 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 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.
Standardsymbolet for en OG-port ser slik ut:
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 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.
Standardsymbolet for en ELLER-port ser slik ut:
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.
Standardsymbolet for en IKKE-port ser slik ut:
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 skjemaet.
En slik port ville kreve 1 + 1 + 2 + 2 + 2 = 8 reeler.
Standardsymbolet for en XELLER-port ser slik ut:
Addisjon ved hjelp av logiske porter
I kapitlet om tallsystemer beskrives 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 en 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 en kan addere to binære sifre ved hjelp av en XELLER-port og en OG-port, koplet som vist under:
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å en 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. En har altså tre sifre å forholde seg til, addenden 1, addenden 0 og menten 1. Som beskrevet i kapitlet om tallsystemer, kan en 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 to og to. Ingen av komponentene har mer enn to innganger.
Dette er en fulladderer. Ved å kjede flere slike sammen, kan en addere binære tall med mange sifre.
Skulle en bygd opp denne koplingen med releer, ville en trengt 8 + 8 + 2 + 2 + 2 = 22 stykker. For å legge sammen to binære tall med 8 siffer, en byte, ville en 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 en imidlertid bygge en krets som bevarer tilstanden på utgangen. En kan altså bruke en slik kopling til å lagre tilstanden 0 eller 1. Dette er noe som utnyttes i SRAM-brikker.
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.
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