Hoe rekent de Computer (CPU en FPU) met Binair Rekenen

Terug naar Huis

Hoe rekent een computer CPU optellen, aftrekken, vermenigvuldigen, delen, machtsverheffing, vierkantswortel

Een CPU rekent alles uiteindelijk met hele simpele bouwstenen: bits (0 en 1) Binair, logische schakelingen en klokpulsen. Hieronder leg ik per bewerking uit hoe dat intern gebeurt, stap voor stap, zonder te technisch te worden.
Download een Excelfile (Gezipt) voor omvormen van Decimaal > Binair en van Binair > Decimaal

1️⃣ Optellen

Een CPU telt op in binair (0 en 1):
..  1011   (11)
+ 0101   (5)
———-
 10000  (16)

Half-adder & Full-adder
Half-adder: telt 2 bits op
Full-adder: telt 2 bits + een carry (overdracht) op
Een 64-bit CPU heeft 64 full-adders achter elkaar.

Deze zijn opgebouwd uit logische poorten:
– AND
– OR
– XOR

2️⃣ Aftrekken

Aftrekken = optellen met negatieve getallen

Two’s complement
CPU’s gebruiken two’s complement:
1ste – Keer bits om
2de -Tel 1 erbij op

Voorbeeld:
5 – 3 = 2
5  =  00000101
-3 = 11111101  (two’s complement van 00000011)
Dan:
5 + (-3) = 2 (00000101 (5) + 11111101 (-3)= 00000010 (2)
De zelfde optel hardware wordt gebruikt!

3️⃣ Vermenigvuldigen

Vermenigvuldigen = herhaald optellen:
6 × 4 = 6 + 6 + 6 + 6

In hardware:
CPU gebruikt:
– Shift (schuiven)
– Optellen
Moderne CPU’s hebben een multiplier unit die dit extreem snel parallel doet.

Voorbeeld:
13 × 3 = 13+13+13 ((13 schift 1 keer) + 13)
00001101 = 13
00011010 = 26 (schift van 00001101 (13) alle bits 1 pos naar Links = 13+13)
00100111 = 39 (Bij 00011010 (26) tellen we 00001101 (13) bij op geeft 00100111(39))

4️⃣ Delen

Delen = herhaald aftrekken + verschuiven

Voorbeeld:
20 ÷ 4 = 20 – 4 – 4 – 4 – 4 – 4 = 0 (Heb 5 keer 4 moet aftrekken om op 0 te komen dus uitkomst = 5

In hardware
– Vergelijken
– Aftrekken
– Bits schuiven
Dit kost meer klokcycli dan optellen of vermenigvuldigen.


5️⃣ Machtverheffing (bijv. xⁿ)

Integer machten
2³ = 2 × 2 × 2

CPU doet:
– Herhaald vermenigvuldigen
– of exponentiation by squaring (sneller)
Wordt meestal door software geregeld, niet speciale hardware.

Voorbeeld:
x⁸ = ((x²)²)²
2⁸ = ((2²)²)² = (((2×2)x(2×2))x((2×2)x(2×2)))


6️⃣ Vierkantswortel

Geen simpele hardware-truc De moeilijkste van alle berekeningen

Vierkantswortel gebeurt via benaderingen.
Veelgebruikte methodes:
Newton-Raphson methode
Digit-by-digit algoritme

Voorbeeld Newton:
xₙ₊₁ = (xₙ + a/xₙ) / 2
CPU herhaalt:
Delen
Optellen
Moderne CPU’s hebben soms een sqrt-instructie in de FPU (floating-point unit).


🔢 Floating-point (kommagetallen)

Kommagetallen gebruiken:
– IEEE 754 standaard
– Aparte FPU
Berekeningen zijn complexer dan bij gehele getallen.

Bijvoorbeeld:
3,14 = teken + exponent + mantisse


🧠 Samenvatting

BewerkingHoe CPU het doet
OptellenLogische poorten
AftrekkenTwo’s complement
VermenigvuldigenShift + optellen
DelenShift + aftrekken
MachtHerhaald vermenigvuldigen
WortelIteratieve benadering

De vierkantswortel in detail

De vierkantswortel is het lastigste onderdeel, omdat het fundamenteel anders werkt dan optellen of vermenigvuldigen. Daarom gaan we er extra aandacht aan besteden. Ik ga het rustig, intuïtief en stap-voor-stap uitleggen, met visuele schema’s, en daarna pas iets technischer.

🧠 Hoe rekent een CPU de vierkantswortel?

Belangrijk om eerst te weten
Een CPU:heeft geen simpele “wortel-poort”
Hij kan alleen:
– optellen
– aftrekken
– vermenigvuldigen
– delen
– bits schuiven
➡️ Een vierkantswortel wordt dus benaderd, niet “uitgerekend in één stap”.

1️⃣ Het basisidee (mensentaal)
We zoeken een getal X zodat:
X maal X ≈ N (N = getal waar we de wortel van zoeken VB de 25 in √25 = 5 25=N en 5=X)
Bijvoorbeeld:
√25 = 5
Maar voor:
√10 ≈ 3.162277…
is geen exact binair antwoord, dus we moeten steeds beter gokken.

2️⃣ De belangrijkste methode: Newton–Raphson


Dit is wat moderne CPU’s (in hardware!) gebruiken.
Formule:
xₙ₊₁ = (xₙ + N / xₙ) / 2
In woorden:
Neem een gok → deel → neem het gemiddelde → herhaal

3️⃣ Visueel voorbeeld: √25


Startgok x₀ = 10
Iteratie 1 25 / 10 = 2.5 (10 + 2.5) / 2 = 6.25
Iteratie 2 25 / 6.25 = 4 (6.25 + 4) / 2 = 5.125
Iteratie 3 25 / 5.125 ≈ 4.88 (5.125 + 4.88) / 2 ≈ 5.002
Convergeert razendsnel naar 5

4️⃣ Wat doet de CPU nu echt?


In hardware ziet dit eruit als:
┌───────────┐
│  Guess x  │
└─────┬─────┘
┌───────────┐
│ Divide N/x │
└─────┬─────┘
┌───────────┐
│ Add x + N/x │
└─────┬─────┘
┌───────────┐
│ Divide by 2 │
└─────┬─────┘
  New Guess
Dat is letterlijk wat er in de FPU gebeurt.

5️⃣ Maar hoe weet de CPU waar te beginnen?


Slimme truc: exponent-halvering
Bij floating-point getallen (IEEE-754):
N = mantissa × 2^exponent
Dan geldt:
√N = √mantissa × 2^(exponent/2)
De CPU:
Halveert de exponent (bit-operatie!)
Gebruikt een kleine lookup table voor een eerste gok
Dit maakt de start al bijna goed.

6️⃣ Hoeveel iteraties zijn nodig?

TypeIteraties
float (32-bit)2–3
double (64-bit)3–5

Terug naar Huis

Scroll naar boven