Das Projekt soll einen einfachen Rechner beinhalten. Ich möchte also einen Prozessor mit etwas E/A bauen. Die Verfügbarkeit der Bauelemente wird wohl bestimmen, wie er aufgebaut wird. Die Sache mit TTL-Gattern und Flipflops zu lösen wäre recht angenehm vom Aufwand aber kollidiert aktuell schon an der damit realisierbaren (hohen) Geschwindigkeit und der von mir geplanten Lösung für den RAM-Speicher in Form einer Lochband-Stanz/Lese-Kombination. Der Programmcode soll ebenfalls von einem (weiteren) Lochbandgerät kommen. Sämtliche Funktionen der ZRE (zentrale Recheneinheit CPU) sollen auf je einer oder mehreren Steckkarten realisiert werden, die von einem Programmcode-Dekoder, der das Lochband liest, adressiert werden. Wenn ich wieder eine Funktion fertig habe, kann ich sie so in den Rechner stecken und seinen Funktionsumfang erweitern.
Nachdem ich 2014 eine Relaisuhr gebaut hatte, stand weiterhin der Wunsch im Raum, einen Relaiscomputer zu bauen. Eigentlich sollte dies bereits anstelle der Uhr geschehe aber
nachdem Kupfersammler mir die meisten Relais weggeschnappt haben, waren nicht mehr genug für einen Rechner vorhanden. Die Idee fiel in Dornröschenschlaf bis geeignetes Material
in Sicht ist.
Konkrete Schaltungsplanungen starteten dann spontan bei den Chemnitzer Linuxtagen im März 2018. Nach dem Treffen kam ich mit vier Seiten Tabellen und Schaltungsfragmenten zurück.
Ich plante einen reinen Relaisrechner mit 8 Bit Wortbreite. Es gibt wohl einfache Rechner mit 1 und 4 Bit Wortbreite aber ich mochte mir einfach nicht den Streß mit dem ganzen
zusätzlichen Aufwand (z.b. Tetradenkorrektur etc.) an Land ziehen. Mit 8 Bit bewegt man sich auf bekanntem Terrain, wenn auch erkauft durch höheren Bauteileinsatz.
Ich wollte das System dennoch möglichst einfach halten und die Menge an Relais klein halten (Relais sind teuer und es sollten schon möglichst nur Relais eines Typs zum Einsatz
kommen). Der Befehlssatz orientiert sich grob am 16-Bit TTL-Rechner robotron R4201. Einige Sachen, wie z.b. der fehlende Befehl für Akku inkrementieren habe ich aber gleich mit
eingeplant. Auch kristalisierte sich eine Struktur heraus, die nicht bei nahezu jedem Befehl den Akkumulator benutzt. Es sollte ca. 6 Universalregister geben, mit denen dann
alles möglich ist.
Jede Funktion ist als Subsystem umgesetzt. Das ist in einfachen Fällen eine Steckeinheit (Europakarte). Aufgrund der Größe der eingesetzten Relais (RGI 30.5.112) passen maximal
12 Stück auf eine Karte. Folgende Subsysteme sind geplant:
-Register (8-Bit Universalregister (reiner Speicher))
-Rechenoperationen (UND, OR, EXOR, NEG)
-8-Bit Addierer (setzt die Funktionen A+B, A+1, A+Carry und A-B) um. (A-B) wird unter Nutzung des Negators über die Addition des Zweierkomplements von B realisiert.
-Schiebefunktionen (KLL, KLR, KAL, KAR, KZL, KZR)
-Sonderregister A (Akku). Allerdings verhält es sich wie ein normales Register, welches jedoch eine Einrichtung zur Entkopplung von Eingang und Ausgang besitzt. Hierdurch kann
bei diesem Register der eigene Inhalt, verändert durch eine Rechenoperation, auf seinen eigenen Eingang gelegt werden.
-Befehlszähler (vorerst 256 Schritte)
-Befehlsdekoder
Im Frühjahr 2018 fanden wir auf einem Schrottplatz jede Menge Platinen eines DDR Bahntelegrafiesystems. Auf den, teilweise zerbrochenen, Platinen waren bis zu 18 Relais vom
Typ RGI 30.5.112 und 30.5.24 in Printausführung. Der überwiegende Teil der ca. 350 gefundenen Relais hatte 12V Betriebsspannung, einige 24V. Über Gelegenheitsfunde, Hobbykollegen und Carsten Löwe
kamen weitere ca. 400 Relais gleichen Typs hinzu, so daß man realistisch an die Umsetzung gehen konnte. Einige Relais waren durch Regen innen verrostet, andere zersplittert oder
verbogen, so daß sie erstmal repariert werden mußten. Einige konnten nicht genutzt werden.
Die Lochrasterplatinen mußte ich neu kaufen, die 40-poligen Pfostenleisten stammen von alten PC-Mainboards, die weißen LEDs von alten Bahnsignalplatinen.
Zeitpunkt | ausgeführte Arbeit | Funktion | Platinen | Relais | Gesamtumfang des Systems |
---|---|---|---|---|---|
10.03.2018 | Beginn der konzeptionellen Planung | - | - | - | 0 |
Juni 2019 | Relais auf Schrottplatz gefunden | - | - | - | - |
Juni 2019 | Aufbau B-REG | reiner 8-Bit Speicher | 1 | 12 | 12 |
Oktober 2019 | Aufbau UND | 8-Bit UND-Verknüpfung | 1 | 12 | 24 |
November 2019 | Aufbau NEG | 8-Bit Negator zzgl. Umschalteinrichtung | 2 | 16 | 40 |
Dezember 2019 | Aufbau EXOR | 8-Bit Exklusiv-ODER-Verknüpfung | 2 | 24 | 64 |
Dezember 2019 | Aufbau Bef-Dek 1 | Basisteil des Befehlsdekoders | - | - | - |
Januar 2020 | Beginn Aufbau Rückverdrahtung 1 | Verbindung der log. Funktionen, A-Bus, B-Bus | 1 | 0 | 64 |
Januar 2020 | Aufbau eines Testgerätes für EHR-I Platinen | Funktionstest, Taktgeber | - | 1 | 65 |
Februar 2020 | Aufbau SREG | 8-Bit Schieberegister mit 6 Funktionen | 1 | 12 | 77 |
März 2020 | Aufbau ADD | 8-Bit Addierer mit 4 Funktionen | 4 | 40 | 117 |
März 2020 | Aufbau Rückverdrahtung 2 | Verbindung der Addiererplatinen | 1 | 0 | 117 |
April 2020 | Aufbau A-REG | 8-Bit Speicher mit Q0 Entkopplung | 2 | 22 | 139 |
2020-2024 | wird nachgetragen | 22 | 139 | ||
Juli 2024 | Aufbau und Test der Daten- und Steuerbusse | Verbindung aller datenverarbeitender Komponenten | 3 | 8 | 147 |
September 2024 | Aufbau Rückverdrahtung Logik 1 & 2 | Busanschluß der Logikmodule | 2 | 0 | 147 |
Oktober 2024 | Neuzugang von 162 24V Relais | potentiell wächst hier das erste Stück RAM | 0 | 0 | 147 |
Oktober 2024 | Aufbau ADP3 und 4 | Verbindung von 4 Speicherzellen mit dem Rechner | 2 | 16 | 163 |
Oktober 2024 | Debuggen und Inbetriebnahme des kompletten Befehlsdekoders | 1-Byte OP-Code -> 1 Funktion im Rechner | 3 | 4 | 167 |
November 2024 | Aufbau und Test der Datenbusverbindungen | erster Versuch im vollständigen Verbund | 0 | 0 | 167 |
------------------------------------------------------------------------------------------------ hier wird grad editiert...
Links:
Hauptseite
Letzte Änderung auf dieser Webseite: 17.11.2024 19:56