31.07.2013 Views

Denkende Machines -- Computers, rekenen, redeneren - CWI

Denkende Machines -- Computers, rekenen, redeneren - CWI

Denkende Machines -- Computers, rekenen, redeneren - CWI

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.2. BINAIR REKENEN MET NATUURLIJKE GETALLEN 41<br />

Figuur 2.8: Implementatie van een schakeling voor het bij elkaar optellen van twee bytes.<br />

som<br />

overdracht<br />

gebruik acht volle optelschakelingen, en zorg dat er een 0 signaal gaat naar de overdracht-in<br />

poort van de eerste: zie Figuur 2.8.<br />

De overdracht-uit van de eerste opteller is de overdracht-in van de tweede, en zo verder, en<br />

de overdracht-uit van het geheel is de overdracht-uit van de laatste opteller. Als je meteen twee<br />

of vier bytes tegelijk wilt verwerken: gebruik 16 of 32 optellers, en klaar is Kees. Als je weet<br />

dat soort schakelingen meteen in het silicium wordt gebakken, zie je dat propositielogica alles<br />

te maken heeft met microchip ontwerp.<br />

De optelschakeling die we hierboven hebben uiteengezet is niet de meest efficiënte schakeling<br />

voor optellen. Bij het be<strong>rekenen</strong> van de overdracht stroomt de informatie van links naar rechts<br />

door het circuit, en voor, bij het optellen van twee getallen a7a6a5a4a3a2a1a0 en b7b6b5b4b3b2b1b0,<br />

de optelling van bits ai en bi ter hand kan worden genomen, moet worden gewacht op het resultaat<br />

van de overdracht van de optelling van ai−1 en bi−1. Met wat ingewikkelder schakelingen valt<br />

dit nog wel iets te verbeteren.<br />

2.2.4 Schakelingen voor Vermenigvuldigen<br />

Vermenigvuldigen van twee niet-negatieve gehele getallen x en y kan worden gereduceerd tot<br />

herhaald optellen. Immers,<br />

x × y = x<br />

<br />

+ ·<br />

<br />

· · + x<br />

<br />

.<br />

y maal<br />

Een en ander betekent dat we voor vermenigvuldiging strikt genomen geen aparte schakeling<br />

nodig hebben. Aparte schakelingen ontwerpen en implementeren voor operaties zoals vermenigvuldigen<br />

maakt het <strong>rekenen</strong> echter wel veel efficiënter.<br />

0<br />

in1<br />

in2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!