Inspiriert durch die die Seite von Simon Inns habe ich mir einen Volladdierer gebaut. Das komplette Prinzip des Volladdierers erkläre hier nicht noch einmal, Wikipedia hält einen guten Artikel dazu bereit.
Hier nur eine kurze Tabelle, um zu sehen, was ein 1-Bit Volladdierer machen soll:
A | B | Cin | SUM | Cout |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
Spannender ist die Idee daraus eine ALU (Arithmetisch-logische Einheit) werden zu lassen. Dazu fehlen mir aber noch ein paar Schritte im Bau.
Zunächst einmal der der 1-Bit-Addierer:
Ich habe einfach den NPN Transistor BC547B und kleine Widerstände genommen. Die Platine wäre mit SMD Bauteilen wohl entschieden kleiner geworden, aber in klassischer THT Bauweise viel „nerdiger“.
Vier diese Addierer können schon Zahlen von 0 bis 15 zusammenzählen. Weil ich hier die Funktion der Platinen testenwollte habe ich mir ein „Mainboard“ gebaut, wo ich die beiden Eingabenibble (Nibble = 4 Bit) und die 5 Bit der Ausgabe darstellen. 5 Bit, weil 4 Ergebnis- und ein Übertragsbit.
Hier zwei Bilder vom dem „Highend Computer“ im Einsatz.
Die 9 (binär 1001) und 4 (0010) werden addiert und ergeben 13 (1101).
Nun rechne ich hier 12 (1100) und 5 (0101) und erhalte 17 (10001)
An der ALU arbeite ich z.Zt.noch. Die nächsten Platinen der Baugruppen der ALU (AND, XOR und NOT) sind schon als Entwurf erstellt und werden wohl in China gerade geätzt. Die nächsten Baugruppen (AND, XOR und NOT) sind fertig aufgebaut.