BITS & BYTES

Interaktiv 4-bit Ripple-Carry Adder

7
0111
+
5
0101
Hastighet: 4x
Binær addisjon — kolonne for kolonne
Mente:
0
A:
+ B:
Sum:
S4Bit 3Bit 2Bit 1Bit 0
 
A-bits
B-bits
Mente (carry)
Sum (resultat)
S4  S3  S2  S1  S0
= ?
desimal

Hva er binære tall?

Vi bruker desimalsystemet (base 10) med sifrene 0-9. Datamaskiner bruker binærsystemet (base 2) med bare 0 og 1.

Hvert siffer kalles en bit. En bit er enten av (0) eller på (1) — som en lysbryter.

Posisjonsverdi

Posisjon3210
Verdi8421

Eksempel: 1101 = 8 + 4 + 0 + 1 = 13

4 bits = 0 til 15

Des.Bin.Des.Bin.Des.Bin.Des.Bin.
000004010081000121100
100015010191001131101
2001060110101010141110
3001170111111011151111

Hvorfor binært?

Elektronikk kan enkelt skille mellom to spenningsnivåer (høy/lav = 1/0), men ikke ti. Binært er derfor det naturlige «språket» for datamaskiner.

Logiske gater

Byggesteinene i alle digitale kretser. Tar inn to bits, gir ut en bit.

AND («og»)

Gir 1 bare når begge er 1.

ABAND
000
010
100
111

OR («eller»)

Gir 1 når minst én er 1.

ABOR
000
011
101
111

XOR («eksklusiv eller»)

Gir 1 når inngangene er forskjellige.

ABXOR
000
011
101
110

XOR er nøkkelen til addisjon: 1 + 1 = 10 — XOR gir sum-biten (0), AND gir menten (1)!

Full Adder — 1-bit addisjon

Legger sammen to bits (A, B) pluss en mente (Carry in). Gir:

Sannhetstabell

ABCinSumCout
00000
00110
01010
01101
10010
10101
11001
11111

5 gater

4-bit Ripple-Carry Adder

Fire full adders i serie. Carry «bølger» fra bit 0 til bit 3.

Hvorfor «Ripple»?

FA0 må beregnes før FA1 kan starte, osv. Menten «bølger» gjennom — som dominobrikker. Se animasjonen!

I virkeligheten

En moderne CPU har milliarder gater. ALU-en bruker samme prinsipp, men 64-bit og med carry-lookahead for parallell carry — addisjon på under ett nanosekund!

Gater bygges av transistorer (små elektroniske brytere i silisium). Vår 4-bit adder med 20 gater trenger ~150-200 transistorer. En moderne brikke har transistorer på bare noen få nanometer.