Projekt 8-Bit Digitalrechner mit Relais - "EHR-I"

EHR-I - Elektronen Hirn auf Relaisbasis 1

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.

Einleitung

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.

Struktur

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

Materialbeschaffung

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.

Zeitpunktausgeführte ArbeitFunktionPlatinenRelaisGesamtumfang des Systems
10.03.2018Beginn der konzeptionellen Planung---0
Juni 2019Relais auf Schrottplatz gefunden----
Juni 2019Aufbau B-REGreiner 8-Bit Speicher11212
Oktober 2019Aufbau UND8-Bit UND-Verknüpfung11224
November 2019Aufbau NEG8-Bit Negator zzgl. Umschalteinrichtung21640
Dezember 2019Aufbau EXOR8-Bit Exklusiv-ODER-Verknüpfung22464
Dezember 2019Aufbau Bef-Dek 1Basisteil des Befehlsdekoders---
Januar 2020Beginn Aufbau Rückverdrahtung 1Verbindung der log. Funktionen, A-Bus, B-Bus1064
Januar 2020Aufbau eines Testgerätes für EHR-I PlatinenFunktionstest, Taktgeber-165
Februar 2020Aufbau SREG8-Bit Schieberegister mit 6 Funktionen11277
März 2020Aufbau ADD8-Bit Addierer mit 4 Funktionen440117
März 2020Aufbau Rückverdrahtung 2Verbindung der Addiererplatinen10117
April 2020Aufbau A-REG8-Bit Speicher mit Q0 Entkopplung222139
2020-2024wird nachgetragen22139
Juli 2024Aufbau und Test der Daten- und SteuerbusseVerbindung aller datenverarbeitender Komponenten38147
September 2024Aufbau Rückverdrahtung Logik 1 & 2Busanschluß der Logikmodule20147
Oktober 2024Neuzugang von 162 24V Relaispotentiell wächst hier das erste Stück RAM00147
Oktober 2024Aufbau ADP3 und 4Verbindung von 4 Speicherzellen mit dem Rechner216163
Oktober 2024Debuggen und Inbetriebnahme des kompletten Befehlsdekoders1-Byte OP-Code -> 1 Funktion im Rechner34167
November 2024Aufbau und Test der Datenbusverbindungenerster Versuch im vollständigen Verbund00167

------------------------------------------------------------------------------------------------ hier wird grad editiert...

handwerkliches Geschick und reichlich Geduld

Material und Aufwand

Fertigstellung und Betrieb

Ausblick

Links:
Hauptseite

Letzte Änderung auf dieser Webseite: 17.11.2024 19:56