Arbeitsspeicher für möglichst einfachen Computer (Pi0K)

Ich möchte einen möglichst einfachen Computer bauen. Ich kümmere mich nicht um Geschwindigkeit oder Speicher, in der Tat ist eine langsame Geschwindigkeit und ein geringer Speicher ein großer Vorteil, da ich es aus Transistoren (idealerweise Relais!) Bauen möchte und ich möchte eine LED für jeden Zustand. Es wird über einen Raspberry Pi programmiert, der eine Kamera hostet, sodass Sie sehen können, wie jeder Taktzyklus ausgeführt wird (ja, es wird mit Hz und nicht mit GHz laufen). Es wird ein offenes Design sein, mit der Absicht, dass Schulen die Teile kaufen, das Design verstehen und verbessern können. Das Gesamtbudget muss also deutlich unter 400 £ liegen, vorzugsweise um die 100 £.

Ich habe dies über viele Jahre erforscht und habe gute Ideen für die CPU (Minimalregister, Mikrocode in DIP-Schaltern und bitserielle Logik- / Rechenoperationen zur Reduzierung der Transistoranzahl). Was ich nicht herausfinden kann, ist, wie ich den Speicher bekomme, ich hätte gerne 1024 bis 8096 Bits.

Das Beste, was mir einfällt, sind zwei 6-Bit-Eins-aus-n-Decoder, die Zugriff auf ein 64 x 64-Gitter von Kondensatoren bieten. Entweder haben sie eine Ladung in sich oder nicht, und das Lesen würde diesen Zustand verstärken. Es gäbe keine LEDs an den Kondensatoren, da die Aktualisierung dieses 'DRAM' in der Reihenfolge oder Minuten erfolgen würde (was schade ist, da dies der einzige Teil wäre, der keinen Zustand anzeigt).

Andere Ideen umfassen eine Form von Bandlaufwerk (kompakter Kassettenmechanismus: großartiger Speicher, zu komplex, keine Suche), Trommelspeicher (Klebeband um eine Bohnenbüchse: zu schwer, um die Mechanik zum Laufen zu bringen), mechanisches Gedächtnis (Fahrradrad und Kugellager: zu viele Bitfehler), Kernspeicher (große Hartferritkerne: immer noch sehr schwierig, genau auf die erforderliche Skala zu kommen), Band/Karte (können wir die Bandleser noch kaufen), rotierende Platte mit gestanzten Löchern in binärer Reihenfolge und einige magnetische Arbeitsspeicher (zu komplex zum Bauen).

Letztendlich besteht das Ziel darin, ein Design zu veröffentlichen, das in einem Schuljahr erstellt werden kann, in dem alle Teile einer CPU und eines Speichers "sichtbar" sind, sodass Sie den Befehlsabruf, die Dekodierung in den Mikrocode und die Adressdekodierung / den Zugriff auf die Logik / alle Adressen sehen können geschieht im Laufe von Minuten.

Wenn jemand Ideen für wirklich billigen Speicher (<<100 £) hat, wo genau klar ist, wie er funktioniert, dann lassen Sie es mich bitte wissen.

Toni

PS aktueller Stand der Dinge ist unter http://www.blinkingcomputer.org/

Googeln Sie einfach nach Leuten, die dies und ähnliches bereits gemacht haben, die Designs sind da, Sie können eine Stückliste erstellen und feststellen, dass Sie wahrscheinlich etwas mehr Geld und Zeit benötigen.
Ich würde vorschlagen, dass das Gehen auf die Transistorebene für ein Schulprojekt ein bisschen viel sein könnte. Ich würde denken, dass die CMOS-Integration im kleinen und mittleren Maßstab viel praktikabler und wahrscheinlich verständlicher wäre (Gatter, Register, Puffer, Decoder usw.). Sie könnten etwas hinzufügen, das zeigt, wie Gates aus Transistoren hergestellt werden, Flip-Flops aus Gates usw.).
Nur eine Idee: Sie sollten den (Programm-)Speicher leicht von Hand modifizierbar machen, damit die Leute manuell mit ihren Händen "programmieren" können :-).
Entscheiden Sie zuerst, was der Computer können soll. Dadurch wird bestimmt, wie viel Speicher Sie benötigen und wie der Befehlssatz aussehen sollte.
Danke an alle. PlasmaHH: Ja, es ist eine große Herausforderung, dies in finanzieller und zeitlicher Hinsicht zu tun, deshalb hat es noch niemand getan. Tut: Ich möchte wirklich jedes Signal sehen können. Die Leute werden dann sehen, wie Logikgatter aus Transistoren gebaut werden. oywind: Ja, es wird über einen Raspberry Pi mit einer Webschnittstelle programmierbar sein, sodass Sie Ihren eigenen Code schreiben und ihn mit einer Webcam ausführen können. Tony Ennis: Ich möchte den einfachsten Computer bauen, der jedes Signal anzeigt – dies wird alle Aspekte demonstrieren und nicht standardmäßige Architekturen erfordern, wie eine bitserielle ALU.
Da Speicher langweilig und repetitiv ist, scheinen die meisten Leute zu schummeln und handelsübliche SRAM-Chips zu verwenden.
Zumindest für ROM könnten Sie es mit Lochstreifen versuchen. Lesen Sie jeweils ein Wort mit mehreren LEDs und Fotodioden/Fototransistoren/LDRs/etc. Haben Sie Perforationen an den Seiten, so dass das Band von Zahnrädern gezogen werden kann, die an Schrittmotoren befestigt sind. Schreiben Sie es mit einem normalen Locher. Es ist kein wahlfreier Zugriff, aber es ist wirklich billig zu erweitern.
Suchen Sie nach "EDUC8" -> = ed you cate
Klingt nach einem tollen Projekt. Mich interessiert, was Sie bisher für die CPU entwickelt haben – bitte senden Sie mir eine E-Mail, wenn Sie der Meinung sind, dass dies zu viele Details sind, um sie hier zu posten.
TBH, die meisten dieser Computer betrügen. Sie könnten beispielsweise einen Arduino verwenden, der intern Werte speichert und auch eine LED-Matrix ansteuert.

Antworten (7)

Es gibt viele Leute, die Computer aus diskreten Transistoren, ICs, Relais und sogar Vakuumröhren gebaut haben. Sie reichen von 4-Bit-Maschinen bis hin zu 32-Bit. Die 4-Bitter sind natürlich die einfachsten, die Sie bauen und alles tun können. Der allererste Mikroprozessor war Intels 4-Bit 4004 .

Ich würde damit beginnen, bei Google nach " selbstgebauten 4-Bit-Computern " (ohne Anführungszeichen) zu suchen.

Hier ist ein Board von einem transistorisierten 4-Bit-Computer:

Geben Sie hier die Bildbeschreibung ein

Was den Speicher angeht, "schummeln" einige dieser Projekte, die ansonsten diskrete Transistoren verwenden, und verwenden SRAM-Chips. Sie sind unglaublich billig für moderate Speichermengen, 32 KB kosten 3,28 $ und erfordern keine Uhren und keine Aktualisierung.

Selbst wenn der Rest Ihres Computers Relais verwendet, ist deren Verwendung als Speicher unerschwinglich teuer.

Wenn Sie mit 1K-Bits auskommen, könnten Sie eines mit transistorisierten Flip-Flops bauen; 2048 2N3904 kosten 3 ¢ pro Stück (insgesamt 60 $ plus die anderen Komponenten, die noch billiger sein werden - Widerstände für 1/2 Cent usw.). Sie können Leiterplatten für 10 US-Dollar pro Stück herstellen lassen und dann ein Kind einstellen, um sie zu stopfen.

Relay-Computer gehen bis in die späten 1930er Jahre zurück, und einer der ersten war der Harvard Mark I. Daher kommt der Name Harvard-Architektur (getrennter Programmraum und Daten im Vergleich zur von-Neumann-Architektur , die beides kombiniert).

Der berühmteste selbstgebaute Relaiscomputer ist einer , der von Harry Porter gebaut wurde.

Geben Sie hier die Bildbeschreibung ein

Schauen Sie sich die Videos des laufenden Computers an. Erinnert mich an eine alte elektromechanische Telefonzentrale.

Hier ist ein Teil eines anderen selbstgebauten Relaiscomputers namens Zusie :

Geben Sie hier die Bildbeschreibung ein

Viele blinkende Lichter.

Und schließlich ist hier ein Link zu einem Video eines 4-Bit-Addierers, der aus 24 Relais besteht. Addierer wie dieser sind das Herzstück der ALU (Arithmetic Logic Unit) in einem Computer.

Entschuldigung, das "Ich habe das über viele Jahre recherchiert" wurde im zweiten Absatz begraben. Ich habe den Titel des Beitrags bearbeitet, um deutlich zu machen, dass es mir um den Speicher geht. Wenn Sie mit 1K-Bits auskommen, könnten Sie einen mit transistorisierten Flip-Flops bauen. 2048 2N3904 kosten 3 ¢ pro Stück (insgesamt 60 $ plus die anderen Komponenten, die noch billiger sein werden - Widerstände für 1/2 Cent usw.). Sie können Leiterplatten für 10 US-Dollar pro Stück herstellen lassen und dann ein Kind einstellen, um sie zu stopfen.
ctd ... das ist näher als ich erwartet hatte, aber Sie brauchen die Adressdecodierung und ich würde mehr Transistoren pro Speicherzelle einbauen. Vielleicht ist auch eine "DRAM"-Speicherzelle mit einem Transistor und einem Kondensator innerhalb des Budgets möglich.
@TonyRobinson Ich habe versucht, die Speichernutzung anzusprechen (wie Sie bestätigt haben), aber ich habe auch versucht, Informationen zu Ihrem Wunsch bereitzustellen, einen Computer aus diskreten Transistoren und / oder Relais herzustellen, und zu veranschaulichen, dass mehrere damit erfolgreich waren. Viel Glück bei Ihren Bemühungen.

Wenn Sie einfachen Speicher wollen, dann suchen Sie nicht weiter als nach einem Flip-Flop . Mit zwei Transistoren und vier Widerständen können Sie eine ganze Menge Speicher haben. Sie können auch ein Flip-Flop mit zwei kreuzgekoppelten NOR-Gattern herstellen oder einfach einen IC mit einem Haufen Flip-Flops darin kaufen.

Tatsächlich ist der sehr schnelle CPU-Cache im Grunde ein Haufen Flip-Flops, die in die CPU integriert sind.

DRAM verbraucht mehr Strom, da es ständig aktualisiert werden muss, während SRAM im Leerlauf nur einen geringen Ruhestrom verbraucht. Der Grund für die Verwendung von Kondensatoren liegt darin, dass nur ein Transistor pro Bit benötigt wird, was viel höhere Speicherdichten ermöglicht.
Du hast Recht, ich hatte einfache RTL-Flip-Flops im Sinn. Ich werde zur Verdeutlichung bearbeiten.
ICs sind out - sie verbergen, was wirklich passiert. Ich möchte, dass jedes Signal so weit wie möglich freigelegt wird. Strom ist mir wirklich egal - ich kann kein Problem mit Strom sehen, er wird mit einem Raspberry Pi verkabelt, damit Strom verfügbar ist. Ein Transistor-DRAM ist möglicherweise ein viel besserer Weg als meine Ideen für Kondensatoren, wie im früheren Beitrag vorgeschlagen - ich muss herausfinden, welche Transistoren dafür benötigt werden, um den Ladungsverlust niedrig genug zu halten (ich brauche Aktualisierungszeiten im Reihenfolge der Minuten). Ansonsten, ja, Flip Flops sehen aus wie die nächstbeste Idee.
@TonyRobinson "Es wird mit einem Raspberry Pi verkabelt, damit Strom verfügbar ist." - ...vielleicht. Hängt von der maximalen Leistung ab, die über einen Raspberry Pi verfügbar ist, und von der Logikfamilie, die Sie verwenden möchten. (Ich würde jedoch erwarten, dass ein durchschnittliches Bench-Netzteil in der Lage wäre, etwas mehr Leistung zu liefern.)

Ich stimme zu, dass es ziemlich cool wäre, ein komplettes Computersystem mit einer LED für jeden Zustand zu haben, der für das menschliche Auge sichtbar ist.

Der Relaisrechner TIM 8 verwendet in seinem 12 Byte RAM-Hauptspeicher (Datenspeicher) 8 Kondensatoren, 2 Dioden und ein SPDT-Relais pro Byte. (Die TIM 8 hat 16 Byte Variablenspeicher, wenn Sie Register einbeziehen).

Der Relaisrechner TIM 8 verwendet als Programmspeicher Lochstreifen.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Ist es möglich, diese Dioden durch LEDs zu ersetzen, sodass ein kurzer Impuls anzeigt, welche Daten in oder aus einem Byte RAM gehen? Wenn das System die DRAM-Aktualisierung schnell genug durchführt und jedes Byte des RAM durchsucht, scheint jedes Zustandsbit an diesen LEDs sichtbar zu sein (obwohl technisch gesehen zu jedem Zeitpunkt nur ein Byte von LEDs aktiviert wäre). (Das müssten ziemlich hochstromige LEDs sein, wenn wir Daten von diesen Kondensatoren in relaisbasierte Register laden und speichern möchten).

Ist es möglich, einen Widerstand und eine LED über jeden Bitspeicherkondensator zu legen und wirklich gleichzeitig jedes Zustandsbit anzuzeigen? (Dies müssten ziemlich stromsparende LEDs und physisch große Kondensatoren sein, wenn der Kondensator die Daten lange genug für eine angemessene Aktualisierungsrate halten soll. Einige LEDs können mit nur 1 mA Strom leicht gesehen werden. Mit einer Aktualisierung von 1 Sekunde Zyklus und (Schätzung) Kondensatoren zunächst auf 12 V aufgeladen, obwohl (Schätzung) eine Ladung von 7 V am Kondensator ausreicht, um die nachgeschaltete Hardware zu laden, dann benötigt der Kondensator eine Nennleistung von C ~= i*t/V = 1 mA * 1 s / (12 V - 7 V) = 200 uF. ).

Dieser wird natürlich viel größer sein und mehr menschliche Arbeit erfordern, um zusammengebaut zu werden, als so ziemlich jeder auf integrierten Schaltkreisen basierende Hauptspeicher.

Warum verwenden Sie nicht einfach eine einfache 8-Bit-CPU (z. B. 6502) und eine sehr kleine Menge an Speicher (CPU-Register, IC-RAM und eine sehr kleine Menge an externem Speicher (z. B.: FD, HD oder Flash-Disk usw.) .) & dann einfach mit Folien folgendes erklären:

  1. Die Hardwarekomponenten, Unterkomponenten und ihre Funktionen
  2. Das Betriebssystem, Systemprogramme und Benutzerprogramme
  3. Laden und Ausführen eines einfachen Programms zum Addieren von 2 Zahlen, Speichern des Ergebnisses in jedem Speichertyp und Anzeigen auf einem Videodisplay.

Wenn Sie das Gerät so einfach und kostengünstig wie möglich halten möchten, verwenden Sie ein Mikrocontroller-Entwicklungssystem als Basissystem oder sogar ein Arduino ist einfach und kostengünstig genug. Keiner der Schüler wird einen einfachen Relais- oder Vakuumröhrencomputer bauen – und niemand sollte wirklich wollen, dass er das tut. Sie sollten mit einem guten Buch und einem Arduino für ein grundlegendes Verständnis der Programmierung beginnen. Wenn sie später in das Lesen/Steuern externer Geräte einsteigen möchten, können sie sich in die spezifische Programmierung oder in die Technik vertiefen.

Hier ist ein gutes Projekt, das Sie für Ideen in Betracht ziehen können:
http://www.instructables.com/id/How-to-Build-an-8-Bit-Computer/?ALLSTEPS

Obwohl wir es heutzutage " W65C02S " nennen
Danke, ich komme aus 6502 Tagen (BBC-Mikro habe aber auch an der ZX80 gearbeitet). Ich stimme zu, dass es auf diesem Niveau viel zu lernen gibt, tatsächlich habe ich gerade das BBC Microcomputer Advanced User Guide noch einmal gelesen . Ich möchte wirklich eine Ebene darunter sein, Sie sehen, wie ein 5-Bit-Befehl hereinkommt, er springt durch einen kleinen Satz Mikrocode, der ein paar Bitregister und Busleitungen setzt, und ruft eine bitserielle ALU auf, damit Sie die gesamte Logik sehen können passiert nach und nach. Deshalb wird es das langsamste aller Zeiten sein.
Ja, das wird langsamer. Haben Sie sich das Detail unter dieser URL angesehen: instructables.com/id/How-to-Build-an-8-Bit-Computer/?ALLSTEPS Es ist eigentlich ziemlich gut und ermöglicht einige einzigartige Anpassungen für Ihr System.

Ich stimme zu, dass es ziemlich cool wäre, ein komplettes Computersystem mit einer LED für jeden Zustand zu haben, die für das menschliche Auge sichtbar ist, anstatt in einer mysteriösen Black Box versteckt zu sein.

Sie könnten in Betracht ziehen, einen mehr oder weniger standardmäßigen bitparallelen Speicherbus zu verwenden – vielleicht so etwas wie den STEbus (IEEE-1000-Bus) .

Sie könnten erwägen, eine Reihe von ICs wie 74HC273 oder 74LS373 oder 74HC564 zu verwenden, um die Daten zu speichern, damit der aktuelle Zustand der Daten im Chip immer auf LEDs sichtbar ist, die mit den parallelen Ausgangspins verbunden sind. Verwenden Sie dann oktale 3-State-Puffer (wie den 74HC241 oder 74LS245) oder Muxes, die ebenfalls mit diesen parallelen Ausgangspins verbunden sind, um die Daten in den Bus zu leiten. Am Ende haben Sie ein paar One-of-N-Decoderchips und 2 Chips pro 8 Bit Speicher. "Damit können Sie ... sehen, welche Daten tatsächlich in jedem Byte RAM gespeichert sind." -- Pong Guys SAP-1 möglichst einfacher Computer mit diskretem Komponenten-RAM . Die gleiche Anordnung wird für die Register in Jaromirs Vierbit-CPU oder die Register in Kyles 8-Bit-Spaghetti-CPU verwendet .

Aktuelle (2016) Preise von Mouser.com liegen bei etwa 0,11 $/Bit in 10 Stück für eine solche Anordnung (ein oktaler Speicherlatch plus ein oktaler 3-State-Puffer pro 8 Bit) und 0,05 $/Bit für neue LEDs in 500 Stück 2^9 Bytes = 512 Bytes = 2^12 Bits = 4096 Bits, das ist (ganz grob)

  • $205 in LEDs
  • $450 für Speicher- und Pufferchips
  • $??? die 1-aus-N-Decoderchips zum Auswählen des geeigneten Speicher- oder Pufferchips; die Kosten für Platinen, Draht, Arbeit usw.

Vielleicht könnten Sie (ganz ungefähr) 64 Bytes Datenspeicher (die gleiche Menge an Datenspeicher wie ein Atmel ATTINY13 oder ein Microchip PIC16F570) für ungefähr 90 $ bauen (was in Ihr Budget von 150 $ ~ = 100 £ passen könnte).

Sie können sehen, warum es verlockend ist, all diese Speicher- und Pufferchips und die meisten Decoderchips durch einen handelsüblichen 32Kx8-Parallel-SRAM-Chip zu ersetzen, der Ihnen weit mehr Speicher für weniger als 10 US-Dollar bietet. (Alliance AS6C1008-55PCN, Cypress CY7C199CN-15PXC usw.)

Dies ist möglicherweise der Grund, warum die meisten selbstgebauten CPUs, von der winzigen Nibbler 4-Bit-CPU bis zum beeindruckenden RC-3 Relay Computer http://www.computerculture.org/2012/09/rc-3-relay-computer/ http:/ /www.computerculture.org/projects/rc3/ , sind als Hauptspeicher an einen Black-Box-SRAM-Chip angeschlossen.

Mit so etwas wie einem Standardspeicherbus könnten Sie vielleicht mehrere verschiedene Speicherplatinen gleichzeitig an die CPU anschließen:

  • Ein paar Bytes vollständig sichtbarer variabler Speicher und ein paar Bytes vollständig sichtbarer fest verdrahteter Programm-ROM, was für einige interessante Demoprogramme ausreichen sollte.
  • Ein SRAM-Chip, der gelegentlich eingesteckt werden kann, um Programme oder Daten oder beides zu speichern, wenn Sie noch nicht genügend vollständig sichtbaren Speicher gebaut haben, um sie zu speichern.

Wenn Sie relativ billigen Programmspeicher wollen, dann gibt es genau eine Lösung, die zu Ihrem Budget passt: HP 9100A Zustandsmaschinen-ROM mit elektromagnetischer gedruckter Schaltung . Da die Ansteuer- und Erfassungsleitungsebenen sehr nahe beieinander liegen müssen, benötigen Sie entweder eine 4-Lagen-Platine und haben die beiden inneren Lagen dafür verwendet, oder die dünnste Leiterplatte, die Sie finden können - und erstellen Sie zuerst einen Prototyp, um sicherzustellen, dass Ihre Treiber und Sinnesverstärker funktionieren gut. Und natürlich müssen Sie ein Skript schreiben, um die KiCaD-PCB-Datei dafür zu generieren, da Sie nicht Zehntausende von Leiterbahnsegmenten von Hand zeichnen möchten.

Wenn Sie Lust auf viel manuelles Aufspulen haben, können Sie alternativ einen Seilspeicher ähnlich dem HP 9100A-Steuer-ROM erstellen . Dieser Rechner hatte zwei ROMs in ganz unterschiedlichen physikalischen Maßstäben, beide elektromagnetisch. Als Seilspeicher wurden dort Ringkerne mit eigenen Sense-Wicklungen verwendet. Das ist anders als beim Apollo Guidance Computer, wo die Kerne keine dedizierten Wicklungen hatten – es gab eine globale Sensorleitung.

Wenn Sie sich also die Zeit leisten können, viel Ringkernwicklung zu machen, könnten Sie ein kernbasiertes ROM wie den Steuerspeicher von 9100 haben, und das ist am Ende billig pro Bit, wenn Sie Zeit haben. Sie könnten dafür sogar Reed-Relais als Lese-„Verstärker“ mit einem Impedanzanpassungstransformator verwenden, aber ein solcher Speicher ist für Transistorsysteme noch wirtschaftlicher.

Wenn Sie einen Relaiscomputer aus Relais bauen möchten, kaufen Sie bei Mainstream-Distributoren, dh. Teile, die für jeden anderen, der es baut, vernünftigerweise verfügbar wären, dann wird ein Budget von 400 £ nicht sehr weit reichen. Beispielsweise kosten 4-polige Relais der Form C ungefähr 5 £ pro Stück - das sind also <100 Relais und <400 Pole.

Was ich herausgefunden habe, ist, dass Sie bei eBay definitiv Tausende von kleinen und schnellen Relais für <100 £ / Tausend kaufen können, aber Sie wissen nie, welche Sie bekommen. Ich habe 6.000 SPST-Blätter für insgesamt <500 US-Dollar, aber das ist nicht unbedingt ein repräsentatives Ergebnis, und diese Tausende waren auf drei, nein, vier (!) verschiedene Teiletypen verteilt, die alle unterschiedliche Spulenleistungen und unterschiedliche Spulenspannungen haben. Mein laufendes Projekt ist zu diesem Zeitpunkt von 7.000 auf weit über 10.000 Relais angewachsen, und es würde mehr als 40.000 £ kosten, wenn jemand einfach hingehen und dieselben Relais zu Händlerpreisen kaufen würde. Ganz zu schweigen von den anderen Teilen, die nicht billig sind, aber zu Tausenden benötigt werden, wie die hexadezimalen Drehschalter für die PROMs. Oder die unangenehme Tatsache, dass eines der von mir verwendeten Schlüsselrelais nur auf Bestellung gefertigt wird und die Mindestbestellmenge 100.000 Stück beträgt, und sie kosten immer noch weit über einen Dollar. Selbst wenn Sie sie „neu“ kaufen wollten, müsste es ein Gruppenkauf für eine große Gruppe von Leuten sein, die alle denselben Computer bauen und bereit sind, sich hinzusetzen und Tausende von Relais zu löten.

Unnötig zu sagen, dass diese Skala für Bastler unerreichbar ist, ohne nach ernsthaften eBay-Angeboten Ausschau zu halten, Glück zu haben und dann das Design darauf zu basieren, welche Teile billig im Vergleich zu einem bereits vorhandenen Design erhältlich waren. Und mein Budget war in dieser Hinsicht definitiv Bastler. Und ja, es hat unangemessen viel Zeit gekostet, buchstäblich durch Tausende – derzeit eher Zehntausende – von eBay-Angeboten zu scrollen, nur um den „langen Schwanz“ der Angebote zu finden – diejenigen, die so falsch gekennzeichnet waren, dass sie außerhalb des Mainstreams blieben Suchergebnisse. Der Kauf von 1.000 Hamlin-Schilfblättern für 40 US-Dollar, die an meine Tür geliefert werden, ist ein Pyrrhussieg, wenn es 12 Stunden dauert, um die Auflistung zu finden (ich habe tatsächlich ein bisschen länger gebraucht). Ich habe gerade in meine Notizen geschaut und im Durchschnitt etwa 6 Stunden eBay-Suche pro 1.000 Relais durchgeführt. und mit anderen Teilen, die ich brauchte, hatte ich schon ungefähr 100 Stunden investiert, nur in eBay-Zeit. Das ist keine Technik oder Design oder so etwas – nur auf die Ergebnisse starren und nach Ausreißern suchen. Es ist einfach, massenweise Relais für jeweils 1 US-Dollar zu finden. „Relay Lot“ in der eBay-Suche, sortieren Sie den höchsten Preis zuerst, 200 Ergebnisse pro Seite, und Sie werden genau in diesem Moment mindestens ein paar Angebote finden, die in jedem vernünftigen Relay-Computerprojekt verwendet werden könnten, wenn Sie Tausende von Dollar einbringen Geld dafür ausgeben, das heißt. Sie für mehr als eine Größenordnung weniger zu finden, ist eine ganz andere Geschichte, wenn man bedenkt, wie viel Müll sie enthalten, selbst wenn die eBay-Suche ein gewisses Maß an Feinabstimmung und additiven/subtraktiven Begriffen zulässt. Das ist also die weniger glamouröse Seite solcher Projekte und wahrscheinlich der Grund, warum viele Leute irgendwann das Interesse verlieren:

Ich war sehr von den Spezifikationen der verfügbaren Teile getrieben, und z. B. machten Stimmzungen, die in ~0,3 ms reagieren, einen großen Unterschied in dem, was ich tun konnte, da komplexe und vielschichtige kombinatorische Logik möglich wurde, bei der immer noch Laufzeiten gemessen wurden einzelne Millisekunden. Z.B. ein 8x8-Integer-Multiplikator, der ein Ergebnis in weniger als 5 ms erzeugt. Aber wenn ich diese schnellen Reed-Relais nicht hätte, hätte ich einen breiteren und langsameren Pipeline-Multiplikator implementiert, und es gäbe keine Möglichkeit, Taktzyklen unter 10 ms anzustreben. Gleiches gilt für RAM und Register - wenn ich nicht so viele bistabile Relais hätte, hätte ich keinen dicht gepackten Speicher mit geringem Stromverbrauch implementieren können. Ein stabiler Relaisspeicher ist extrem stromhungrig und erfordert viel Luftstrom, um kühl genug zu bleiben, um die Relaislebensdauer nicht zu verkürzen. es macht nichts, dass alles zusammenschmelzen würde, wenn ein „Alles-Einsen“-Speicherzustand mit Relais in physischem Kontakt ohne Lücke erlaubt wäre. Aber bei bistabilen Relais ist das überhaupt kein Problem, da immer nur relativ wenige Spulen aktiv sind und man sie so auslegen kann, dass benachbarte Bits in einem Wort nicht in die Nähe kommen, so dass kein typisches Zugriffsmuster auftritt einen Hotspot auf der Platine erzeugen.

Große Relaisprojekte, die physisch kleine Relais verwenden, müssen sehr genau auf Fanout achten und die Kontaktlasten unter Kontrolle halten. Der Umfang beliebter Relais-Computerprojekte wie dem von Harry Porter reicht nicht aus, um dies zu einem treibenden Faktor zu machen. Aber sobald Sie ein paar tausend Relais überschritten haben und keine Dioden zum Schalten verwenden, werden Fan-Out-Bäume und Kontaktlastmanagement zu Einschränkungen, die das gesamte Design bestimmen und ein unkonventionelles Denken erfordern. Daher eine logische Folge: Relaiscomputer aus physisch großen Relais herzustellen, die 2-8 Ampere pro Kontakt führen können, ist ein ganz anderes Ballspiel als Relaiscomputer aus Relais herzustellen, die nur dann eine lange Lebensdauer haben, wenn Sie die Kontaktlasten unter 100 mA halten, idealerweise bei 50 mA oder weniger. Z.B. Das beliebte Design von Harry Porter kann mit solchen Relais nicht unverändert verwendet werden. Es macht nichts, dass keine der Implementierungen Relaisspeicher verwendet, was den Punkt über Fan-Out wirklich nach Hause bringen würde. In meinem Fall wurde das Design um den Speicher herum aufgebaut, wobei der Speicher zuerst entworfen wurde, da er sich als die größte Herausforderung herausstellte. Das erste Kilobit war am schwierigsten zu entwerfen, und in meinem Fall gab es verschiedene Designs, da ich keine großen Mengen des gleichen Relaistyps hatte. Ich hätte ein Kilobit Speicher, alle vom selben Relaistyp, zwei, wenn ich Glück hatte. Manchmal kostet der Kauf der 1.000 Relais eines bestimmten Typs so viel wie der Kauf der restlichen 30 oder so, die benötigt werden, um das angegebene Kilobit zu beenden (es scheint immer ein oder zwei schlechte pro Tausend in diesen eBay-Lose zu geben - ich habe keine Ahnung warum). wie es sich als am herausforderndsten erwies. Das erste Kilobit war am schwierigsten zu entwerfen, und in meinem Fall gab es verschiedene Designs, da ich keine großen Mengen des gleichen Relaistyps hatte. Ich hätte ein Kilobit Speicher, alle vom selben Relaistyp, zwei, wenn ich Glück hatte. Manchmal kostet der Kauf der 1.000 Relais eines bestimmten Typs so viel wie der Kauf der restlichen 30 oder so, die benötigt werden, um das angegebene Kilobit zu beenden (es scheint immer ein oder zwei schlechte pro Tausend in diesen eBay-Lose zu geben - ich habe keine Ahnung warum). wie es sich als am herausforderndsten erwies. Das erste Kilobit war am schwierigsten zu entwerfen, und in meinem Fall gab es verschiedene Designs, da ich keine großen Mengen des gleichen Relaistyps hatte. Ich hätte ein Kilobit Speicher, alle vom selben Relaistyp, zwei, wenn ich Glück hatte. Manchmal kostet der Kauf der 1.000 Relais eines bestimmten Typs so viel wie der Kauf der restlichen 30 oder so, die benötigt werden, um das angegebene Kilobit zu beenden (es scheint immer ein oder zwei schlechte pro Tausend in diesen eBay-Lose zu geben - ich habe keine Ahnung warum).

Ich habe nach dem billigsten Weg gesucht, einen diskreten Homebrew-Computer zu bauen, und die Transistoren geben Ihnen das Beste für das Geld, insbesondere, dass Sie dann ein sehr kostengünstiges PROM verwenden können, und ein Computer ohne PROM ist nicht sehr nützlich. Jetzt gebe ich zu, dass meine Anwendung so war, dass der Code nicht geändert werden musste – im Wesentlichen ein Taschenrechner mit viel festem Code, der zur Implementierung mathematischer Funktionen verwendet wird. Aber selbst für eine Maschine, die auf viel Benutzerprogrammierbarkeit abzielt, wird eine solide Funktionsbibliothek die Größe von Benutzerprogrammen verringern und weniger Bedarf an knappem RAM haben. Apropos RAM: Keine Überraschung; Kernspeicher ist sehr kosteneffizient, wenn Sie bereit sind, die Kerne selbst zu verlegen und Ihre Zeit als frei zu betrachten. Das kann eine Größenordnung billiger sein als bipolarer statischer RAM, da dieser zwei Transistoren pro Zelle verwendet, und auch einige Widerstände und Kondensatoren. Wenn Sie mit dynamischem RAM einverstanden sind, kann ein diodengesteuertes Kondensatorarray auch sehr wirtschaftlich, aber relativ langsam sein, da die Kondensatoren viel größer sein müssen als die Kapazität von Diodenübergängen und der Stromverbrauch ebenfalls kritisch wird.

Hier ist ein weiterer Vorschlag für ein ähnliches Projekt, das sich lohnen könnte - bauen Sie eine Turing-Maschine . Es geht um die einfachste Rechenmaschine, die möglich ist