Ascot 170 - mechanischer Computer und sowjetisches Paläoendemikum

Die achtziger Jahre kamen auf die Welt. IBM hat mit seinem PC und PC XT, den Vorreitern aller modernen Desktop-Computer, den professionellen Computermarkt erobert. Jobs nacheinander veröffentlichten neue Apple-Modelle. Commodore 64 und ZX Spectrum rasselten um die Welt. In der Zwischenzeit wurden im sowjetischen Block weiterhin mechanische Computer Ascota 170 - aus den frühen fünfziger Jahren hergestellt. Aus irgendeinem Grund sagen sie in RuNet (und auch im Rest des Internets) wenig über diese erstaunlichen Maschinen aus, fast die einzigen in Serie (mehr als dreihunderttausend von 1955 bis 1983), die von Turing-kompletten mechanischen Computern hergestellt wurden. Ich selbst habe erst davon erfahren, als Ascot versehentlich in meine Hände fiel.
Ich hoffe mein Artikel kann das ändern.


Mein Ascot hat die Quadratwurzel von 2 gezählt.

Im Allgemeinen sammle ich mechanische Rechenmaschinen. Leider sind diese Autos normalerweise kräftig und ich habe kein Museum von unendlicher Größe, daher muss ich nur die interessantesten nehmen. Als Sergey Frolov fragte, ob ich Ascot brauche, googelte ich ein paar Minuten und fand heraus, dass Ascot als sehr langweilige und primitive Autos der DDR bezeichnet wurden, die den Platz, den sie einnehmen, nicht wert sind. Was hat Sergey gesagt? Glücklicherweise antwortete Sergey, dass es nicht nur um Ascot ging, sondern um ein besonders seltenes Modell 170. Ich googelte erneut und war fasziniert.

Es stellte sich heraus, dass mir eine der kompliziertesten mechanischen Maschinen angeboten wurde, die jemals hergestellt wurden, eine Rechenmaschine, die mit Hilfe von "Nägeln" programmiert wurde, die mit einem Hammer in ein spezielles Brett geschlagen wurden. Leider zeigte die Kommunikation mit dem Verkäufer auf Avito, dass Ascot unvollständig war, so dass es nutzlos war, es zu nehmen. Dann erschien eine weitere Hälfte von Ascot auf Avito (der Verkäufer versuchte mir mehr als eine Stunde lang zu beweisen, dass sie ganz war, nicht die Hälfte), dann blieb die Frage ein Jahr lang hängen ... Und dann schrieb mir der erste Verkäufer und sagte, er habe die fehlenden Teile gefunden! Hier endet der Hintergrund und die Geschichte selbst beginnt.

An dieser Stelle habe ich natürlich gelesen, dass der Ascot-170 wie eine programmierbare Maschine ist. Aber „programmierbar“ ist ein loses Konzept, und vor dem Kauf habe ich versucht, etwas über seine Fähigkeiten zu lernen. Glücklicherweise stellte sich heraus, dass dies einfach war: Ascot wurde massenhaft an die UdSSR geliefert, und Dutzende von Büchern wurden darüber veröffentlicht. Ich habe eine davon gekauft, eine dünne Broschüre über Applikationsmethoden, bei Avito - aber ich habe leider ein wenig verstanden - im Grunde genommen, dass die Maschine ständig in einem Zyklus arbeitet und irgendwie Übergänge unterstützt. Ich weiß nicht, was ich mit diesen Informationen anfangen soll - aber mir kam die Idee: An der U-Bahnstation Lenin Library befindet sich die Lenin Library! Während des gesamten 20. Jahrhunderts strömten dort obligatorische Kopien von Büchern, die bei uns veröffentlicht wurden, und Bücher über Ascot sollten dort sein. Tatsächlich gab es im elektronischen Katalog von Leninka mehr als dreihundert Bücher, in denen Ascot 170 erwähnt wurde . Darüber hinaus stellte sich heraus, dass die Betriebsart der Bibliothek in den letzten Jahrzehnten erheblich nachgelassen hat und heute jeder mit einer unprofessionellen Kamera Fotos von Büchern machen kann.

Um zu feiern, fotografierte ich mehrere Dutzend Bücher und verstand von ihnen, dass Ascot es konnte, und kaufte es sofort. Und er nahm ein detailliertes Studium der Lehrbücher auf.



Chancen Ascot 170


Das Lesen dieser Bücher war nicht einfach: Sie beschrieben nicht nur die Programmierung einer Maschine, die lange vor dem Aufkommen der ersten Hochsprache, Fortran, entwickelt wurde. Sie wurden also auch buchhalterisch geschrieben. Stellen Sie sich im Allgemeinen vor, Sie müssten ein Lehrbuch über 1C: Assembler studieren, das auf altslawisch geschrieben ist, und Sie werden das Ausmaß des Problems vor mir grob verstehen. Es genügt zu sagen, dass ich die Tatsache der Anwesenheit eines bedingten Operators nur feststellen konnte, weil ich speziell danach gesucht habe. Und um zu verstehen, wie es funktioniert, war es erst möglich, nachdem man das Design der entsprechenden Knoten und eine Reihe von Experimenten untersucht hatte.

Ja! Ascot hat bedingte Aussagen! Und die Übergangsteams! Und im Allgemeinen alles, was Sie für einen vollwertigen Allzweckcomputer benötigen!

Lassen Sie mich etwas mehr darüber erzählen. Ich werde den C-ähnlichen Pseudocode verwenden, den ich erfunden habe - völlig anders als in alten Lehrbüchern, aber heute viel verständlicher.

Während des Betriebs bewegt sich der Wagen der Maschine relativ zum Maschinenkörper von rechts nach links - wie bei einer herkömmlichen Schreibmaschine. In diesem Fall gleitet die Druckeinheit über das Papier, und die Leseeinheit des Programmbefehls ist relativ zur Programmtafel mit Löchern, in die die Stifte und Füße eingeführt werden - ungefähr wie in der Trommel einer Spieluhr. Irgendwann findet der Leseknoten Spaltenstopps, was bedeutet, dass Sie hier anhalten und etwas tun müssen, stoppt und tut, was die restlichen Spalten in dieser Spalte und die vom Bediener gedrückten Tasten erfordern. Und wenn der Leseknoten keine Stopps bis zum Ende des Wagens findet, bewegt sich der Wagen automatisch nach rechts zum Stopp und der Scan beginnt erneut - dies ist der Hauptzyklus, in dem sich das Programm endlos dreht.


Eine Spalte von Haltestellen. Vertikal über der Spalte, der Rest - Software.

In der Praxis müssen solche Stopps "etwas tun", dh in den Schritten des Programms können sich etwa 50 auf einer Karte befinden. In einem Schritt können mehrere Befehle ausgeführt werden. Zum Beispiel macht dieser Code nur einen Schritt:

if (I>0) { print(K); I+=K; II-=K; III-=K; goto program2; //        ,     . if (K!=0) goto forward; //  K!=0 ,        ,    forward;  -    . K=0; } 

Wie Sie sehen können, greift die Maschine aktiv auf die Register zu. Register sind Zahnradreihen im Körper der Maschine, so dass der Programmspeicher (Karte mit Anschlägen) vom Datenspeicher (Zahnradreihen der Register) getrennt ist. Insgesamt verfügt die Maschine über ~ 50 Befehlsspeicherschritte (~ 0,3 kB) und 56 Ganzzahlregister mit 12 Dezimalstellen (weitere 0,3 kB).

In einem Schritt kann das Gerät ein Register lesen, seinen Inhalt drucken, ihn zu mehreren anderen Registern addieren oder subtrahieren und ihn zurücksetzen. Gleichzeitig werden einige Optionen zum Vergleichen mit Null und mehrere Optionen für Übergangsbefehle ausgeführt.

Leider weist es trotz der Komplexität und des Reichtums des Maschinencodes einige unangenehme Einschränkungen auf:

1. Die Maschine hat keine Befehle zur Multiplikation und Division.

Seltsamerweise ist dies kein Fehler, dies ist eine Funktion. Die meisten einfacheren Abrechnungsmaschinen verfügen über einen Multiplikationsbefehl, aber die Entwickler von Ascot erkannten bereits in den frühen 1950er Jahren, dass die Tage der Mechanik gezählt waren, und statt eines langsamen und ungeschickten mechanischen Multiplikators konnten sie ein externes mathematisches Modul anschließen. In alten Lehrbüchern finden sich zwar Hinweise auf den externen mechanischen Multiplikator für Ascot, aber kein einziges seiner realen Fotos (oder insbesondere eines realen Exemplars) ist erhalten geblieben. Bereits in den späten 1950er Jahren wurden R12-Lampenmodule (Monster von der Größe eines kleinen Schranks mit einem Gewicht von 200 Kilogramm und einem Verbrauch von eineinhalb Kilowatt) verwendet. Stattdessen wurden ab 1962 kleine Transistormultiplikatoren (mit einer kleinen Systemeinheit) hergestellt, und als sie den Förderer verließen Von meiner Ascot-Instanz wurden winzige Chipteiler verwendet. Im Allgemeinen ist es gut, dass ich eine Kopie ohne Multiplikationsteilung erhalten habe: Es wäre eine Schande, einen banalen elektronischen Taschenrechner für Mikroschaltungen anstelle eines vollmechanischen Computers zu erhalten.

2. Das Gerät kann eine Zahl nicht um eine Ziffer nach rechts oder links verschieben.

Im Allgemeinen ist es möglich, Multiplikation, Division und andere knifflige Mathematik programmgesteuert zu organisieren. Tatsächlich tun viele moderne RISC-Prozessoren genau das. Ascot hätte das auch tun können - aber leider müssen Sie dafür die Zahl um eine Ziffer verschieben, und ein solcher Befehl wird nicht bereitgestellt. Dies ist in der Tat sehr seltsam, da das Multiplikationsmodul, insbesondere anfangs, teuer und selten war und die Maschine über alles verfügt, was für die Organisation der Schicht erforderlich ist. Ich möchte meinem Ascot sogar einen Shift-Befehl hinzufügen - aber mehr dazu am Ende des Artikels.

3. Die Anzahl der Sprungmarken ist begrenzt.

Das Programm kann Markierungen rückwärts1, rückwärts2, vorwärts1 und vorwärts2 haben, die jeweils mehrmals vorhanden sind. Die Programmschritte können gemäß Programm 1, gemäß Programm 2 und beiden als ausgeführt markiert werden. Es hört sich gut an, aber wenn Sie einen ziemlich komplexen Algorithmus programmieren, reicht dies aus, um zu schrumpfen.

4. Arrays und indirekte Adressierung werden nicht unterstützt.

Ascot hat viele Register. Denken Sie nur einmal darüber nach: Es gibt 50 Programmschritte, für jeden Schritt können Sie nur ein Register lesen (und drucken) - und es gibt 56 Register! Das heißt, eine direkte Adressierung aller Register im automatischen Modus ohne Auswahl einer Registernummer über die Tastatur ist grundsätzlich nicht möglich.

Normalerweise wird dieses Problem mit verschiedenen indirekten Adressierungsoptionen gelöst. Sie setzen beispielsweise zuerst die Registernummer (ptr = & R00) und erhöhen sie dann in einer Schleife immer wieder (ptr ++). Und im Prinzip hat Ascot alles dafür: Fünfzig Register sind in Form von fünf rotierenden Rollen mit jeweils zehn Registern organisiert, und für die inkrementelle Adressierung reichte es aus, den Befehl zum Drehen der Trommel einen Schritt vorwärts hinzuzufügen. Für das Zählen von Stapeln mehrzeiliger Dokumente wäre dies eine sehr beliebte Funktion. Aber aus irgendeinem Grund nicht. Die einzige Erklärung, die mir einfiel, war, dass in den frühen 1950er Jahren die inkrementelle Adressierung noch nicht erfunden worden war. Wenn sich jemand an einen früheren deutschen Computer mit inkrementeller Adressierung erinnert, sagen Sie es mir bitte.

Lebender Ascot!


Während ich mich mit Programmierfunktionen beschäftigte, kam ein Computer von Omsk zu mir. Nach einem unvermeidlichen Streit mit den Ladern stellte ich ihn in die Mitte des Raumes, klopfte mit einem Hammer auf Rost, goss eine Mischung aus Öl und Kerosin auf den Mechanismus und versuchte ihn einzuschalten.


Ascot (rechts) war sehr groß


Und sehr dreckig

Wie erwartet hat er nicht gearbeitet. Ich stieg ein, hob eine Handvoll Müll auf, schüttelte den Keilstift, das Auto startete zum ersten Mal, machte ein paar Bewegungen und blockierte.

Der nächste Monat war in Reparatur. Ich deckte die Hälfte des Internets mit Werbung ab, um einen erfahrenen Installateur zu finden. Ich fand mehrere Leute, die vor vierzig Jahren ein kleines Geschäft mit Ascot hatten, aber leider musste ich es selbst reparieren. Ich druckte einen Stift auf einen 3D-Drucker, um die Steuerwelle manuell zu drehen, lernte, wie man festsitzende Zähler ausschaltet, sieben weitere Stücke besonders bösartiger Fichtenrinde aus dem Mechanismus heraussieb, fand und entwickelte ein halbes Dutzend festsitzende Gelenke und reparierte ein halbes Dutzend ausgefallener Federn.


Woher kommt die Rinde ?!

Ich übersprang wochenlang die Arbeit, kramte von morgens bis abends im Setup-Handbuch nach der Ursache der nächsten Fehlfunktion, fing Spammer auf der Landung auf, die mir für hundert Rubel halfen, die Maschine vorübergehend auf den Kopf zu stellen ... Und schließlich kam ich an den Punkt, an dem es möglich war, das Auto zu starten "Hallo Welt!".


Wir schalten Ascot in den Schreibmaschinenmodus und geben "NELLO SHORD" ein.

Hm, nein, es ist zu einfach. Nehmen wir unsterbliche Kaninchen besser.

Angenommen, wir hatten vor einem Monat keine Kaninchen und heute haben wir ein paar Kaninchen auf dem Markt gekauft.

Nach einem Monat wachsen sie zu einem Paar erwachsener Kaninchen heran.

Nach einem weiteren Monat bringt das Paar ein Kind zur Welt und wir bekommen ein paar erwachsene Kaninchen und ein paar Kaninchen. Insgesamt zwei Paare.

Einen Monat später bringt ein Paar Erwachsene wieder ein Kind zur Welt, und die Kaninchen des letzten Paares werden erwachsen und erwachsen. Insgesamt drei Paare, zwei Erwachsene und ein Kind.

Nach einem weiteren Monat geben zwei Paare von Erwachsenen zwei Paare von Nachkommen, und die Kaninchen des letzten Monats wachsen. Insgesamt haben wir fünf Paare, alle Kaninchen, die vor einem Monat bei uns waren, Erwachsene und alle Erwachsenen, die ein Paar Nachkommen hatten.

Usw.

Dieses Problem wurde zu Beginn des 13. Jahrhunderts vom italienischen Mathematiker Fibonacci untersucht, zu dessen Ehren die resultierende Zahlenreihe Fibonacci-Reihe genannt wird:

0 1 1 1 + 1 = 2 1 + 2 = 3 2 + 3 = 5 3 + 5 = 8 5 + 8 = 13 8 + 13 = 21 ...

Berechnen wir es auf Ascot. Das ist einfach. Lassen Sie in Register I ein ungerades Mitglied der Reihe (für den Anfang das erste), in Register II - gerade (für den Anfang Null). Dann sieht das Programm folgendermaßen aus:

 1: read I; II+=; prn(); // №1:   I,      II  . 1: read II; I+=; prn(); newline; goto backward1; //  №1:   II,      I  .           . 

Das Programm muss manuell zusammengestellt werden und dann die Anschläge in die gewünschten Löcher auf der Programmplatine fahren. Das Ergebnis ist folgendes:

 1 0/0 12/4 14/3
 1 12/3 14/4 17/4 33/4 


Hier bedeutet der am Anfang den Spaltenstopp Typ 1, wodurch die Maschine anhält, um diese Schritte gemäß Programm Nr. 1, 0/0 (in Zeile Nr. 0 eingestellt stoppt Typ 0) auszuführen, und die Maschine gezwungen wird, ab diesem Punkt nach Spaltenstopps zu suchen. Die Stopps in Zeile 12 des Steuerregisters II: 12/3 bewirken das Lesen des Registers und 12/4 das Hinzufügen der gelesenen Nummer. In ähnlicher Weise bewirkt 14/3 das Lesen von Register I und 14/4 das Hinzufügen von Lesevorgängen. Das Drucken der gelesenen Nummer erfolgt automatisch, es sei denn, ein spezieller 5/3-Stopp ist installiert, der das Drucken deaktiviert. 17/4 dreht die Wagenrolle um einen Schritt und 33/4 startet den Wagenrücklauf (dieser Stopp kann weggelassen werden, dann rutscht der Schlitten bis zum Ende und der Wagenrücklauf startet automatisch).

Zum Guten müssen Sie beiden Zeilen weitere 15 / 6R hinzufügen, und unmittelbar nach dem Ende des Schritts startet die Maschine die nächste. Aber das erste Mal tat ich es nicht und ich musste ständig die Starttaste drücken.


Seltsamerweise wurde das Programm zum ersten Mal gestartet. Ich war begeistert!


Um dieses Programm auszuführen, müssen Sie zuerst die Daten in die gewünschten Register schreiben. Anschließend werden die Ergebnisse in zwei ungenauen Spalten angezeigt. Lassen Sie uns ein Programm erstellen, das die Quelldaten anfordert und dann die Mitglieder der Serie und ihre Nummern anzeigt.
Es stellt sich so heraus:

 1: read I; clr; //     1: read II; clr; 1: read III; clr; 1: read IV; clr; 1: read K; clr;//     . 1: stop; read kbd; IV+=; K+=; prn(); clr;//   IV (    )   K (    ).    -        . 1: stop; read kbd; I+=; prn(); clr; //      I. 1: read IV; K+=; 1: read K; prn();//       . 1: stop; read kbd; II+=; I+=; prn(); clr; //      II.   I  I+II,     . backward1: 12: read IV, K+=; //        -  ,    3.  ,       №1,    №2. 2: read II; I+=; III+=; goto prog1; goto forward; //     ,       №2,   №1.      II   ,     III    I ( I  ,  ).        №1   ,   . 1: read I; II+=; III+=; goto prog2; //     I  ,  II - .  , ,   (   II).  III   I - .     №2. forward1: 12: read III; prn(); clr; //     -   I+II,    .  III.  ,         №1,    №2. 12: read k; prn(); newline; goto backward1; //   ,  ,  . 

Ich startete das Programm und das Auto blockierte sicher, weil ich vorher das Register K nicht benutzt hatte und es ein weiteres Stück Rinde hatte. Nde. Er entfernte ein Stück Rinde, stellte die Theke ab und klemmte das Auto. Und es hat funktioniert!


Ich entschied, dass die Maschine bereits endlich funktioniert. Sie müssen nur einen schönen Algorithmus eingeben, um sich mit Habré zu rühmen, und Sie können einen Bericht schreiben. Zum Beispiel brachte Stanley Frenkel laut Feynman dem Tabulator das Zählen von Arkustangens bei. Warum bin ich schlimmer? Das ist verständlich, umso schlimmer, aber plötzlich?

Leider habe ich keine geeigneten Algorithmen gefunden. Bei Stackowerflow schlugen sie eine Logarithmusberechnungsoption vor, die für Ascot zu kompliziert war. In der Lenin-Bibliothek gab es einige Broschüren mit mehreren interessanten Algorithmen - aber auch für Ascot waren sie zu schwierig. Am Ende spuckte ich auf Trigonometrie und Logarithmen und entschied mich für die banale Quadratwurzel.

Im Allgemeinen wird die Quadratwurzel als einfach angesehen. Aus der Formel der Summe der Terme der arithmetischen Folge ergibt sich, dass die Summe der ersten n ungeraden Zahlen = n ^ 2 ist. Was folgt

n= sqrt sum limiti=0n1(2i+1)


Woher ist es relativ einfach, den Quadratwurzel-Algorithmus abzuleiten, der seit Anfang der 1950er Jahre von automatischen Quadratwurzel-Arithmometern von Friden verwendet wird - hier ein wenig mehr Details . Dieser Algorithmus erfordert zwar auch Verschiebungen durch Entladung, jedoch nur durch Entladung nach oben (Verschieben durch Entladen nach oben, d. H. Multiplizieren mit zehn, kann als eine Reihe von Additionen organisiert werden, und Verschieben durch Entladen unter Verwendung der Fähigkeiten von Ascot ist praktisch unmöglich).

Die erste Version des Programms, die ich am Abend geschrieben habe. Aufgrund der Anzahl der Operationen, die beim Aufstieg erforderlich waren, konnte er jedoch nicht in 50 Schritte passen. Ich musste optimieren, indem ich zwei verschiedene Schichten mit denselben Befehlen berechnete, dann die Fehler korrigierte, dann das Programm auf einem Blatt Papier debuggte, die Fehler erneut korrigierte, erneut debuggte ... Irgendwann in einer Woche kam es zum Zusammenbauen, Einstecken in die Programmplatine und zum Probelauf. Es hat nicht funktioniert.
Erneut überprüft, einige kleinere Fehler gefunden. Korrigiert. Es hat nicht funktioniert. Ich las die Bücher noch einmal durch und stellte fest, dass ich eine Feinheit der Programmierung falsch verstanden hatte. Korrigiert, es hat nicht funktioniert. Erneut überprüft, einen weiteren Fehler gefunden. Es hat nicht funktioniert. Ich habe noch einmal nachgesehen und festgestellt, dass ich keine kleinere Fehlfunktion im Auto behoben habe. Korrigiert. Es hat nicht funktioniert ... Im Allgemeinen habe ich für eine weitere Woche ein Programm in Hardware eingerichtet. Und endlich debuggt!

Ich hoffe, dass es danach keine ernsthaften Missverständnisse bei Programmier- und Maschinenproblemen gibt, da das Programm zur Berechnung der Quadratwurzel anscheinend alle rechnerischen und logischen Funktionen verwendet, die in der Maschine vorhanden sind. Ist das nicht alles Register, aber ich habe die Register separat überprüft.


Was ist das Ergebnis und wie geht es weiter?


Als Ergebnis habe ich erstens einen funktionierenden Ascot-170.

Zweitens hoffe ich, dass ich diesen Artikel in RuNet bekannter gemacht habe. Ascot wurde zumindest bis Ende der 80er Jahre bei uns verwendet, und ich kann ihren geringen Ruhm nur dadurch erklären, dass nur wenige Leute verstanden, wie cool sie waren, und die Besitzer der Lagerhäuser nicht verstanden, wie wertvoll sie waren. Vielleicht korrigiert der Artikel diese Situation.

Drittens habe ich auf meiner Website einen Abschnitt über Ascot erstellt, in dem ich einen Programmierleitfaden, einige Tipps zum Einrichten eines Mechanismus, Bücher, Modelle für den 3D-Druck, Programmcodes usw. veröffentlicht habe. Ich hoffe, dass dies auch dazu dient, Ascot bekannt zu machen, und den Justierern helfen wird, die es nach mir bekommen können.

Viertens habe ich im Laufe der Arbeit versucht, die für Ascot aufgewendete Zeit in das Tablet zu integrieren. Es stellte sich also heraus, dass ich neben dem Aufschieben weniger als zweihundert Arbeitsstunden verbrachte. Vielleicht können Sie in den Lebenslauf eingeben, oder?

Auf der anderen Seite blieben einige ungelöste Probleme.

Erstens habe ich nie ein Programm erstellt, um etwas Cooles zu berechnen, wie trigonometrische Funktionen, rationale Grade oder Logarithmen. Wie ich bereits sagte, konnte ich selbst keinen geeigneten Algorithmus finden oder finden, aber wenn einer der Leser des Artikels mir (in Kommentaren, in einer persönlichen E-Mail oder in einer E-Mail von alple.net) einen geeigneten Algorithmus (in Pseudocode) anbietet Ich werde auf jeden Fall versuchen, es in Hardware zu implementieren und über dieses Video zu drehen.

Zweitens fehlt Ascot, wie gesagt, wirklich eine Verlagerung zum Entlassungsbefehl. Gleichzeitig habe ich den Eindruck, dass sie es tun würden, aber nicht - ich kann die Existenz der Register III / IV nicht anders erklären.

über Register
Ascot-Sorten wurden mit einem anderen Registersatz hergestellt. Die größte Anzahl von ihnen, 55 (+1 auf der Tastatur), ist nur in meiner Version. Hier ist eine Liste von ihnen:
Tastaturregister, in dem die auf der Tastatur eingegebene Nummer vorübergehend gespeichert ist.
Die Register I und II sind universell, völlig unabhängig, werden automatisch und über die Tastatur gesteuert und unterstützen negative Zahlen und logische Operationen.
Register K - Steuerung zur Steuerung des fehlerfreien Betriebs des Bedieners und der Maschine. Die Funktion ähnelt I und II und schützt vor versehentlichem Zurücksetzen. Es wird nicht über die Tastatur gesteuert, aber für ein Steuerregister ist es eher eine Tugend.
Die akkumulierenden Register sind die gleichen, in Trommeln von 10 Stück. Sie arbeiten nicht mit negativen Zahlen und werden weniger in logischen Operationen verwendet, haben einige technische Einschränkungen der gegenseitigen Verbindung, werden normalerweise über die Tastatur gesteuert und automatisch.
Und dieselben mysteriösen Register III / IV - in Bezug auf die Fähigkeiten sind sie kurz davor, sich anzusammeln, aber sie werden sehr, sehr schlecht über die Tastatur gesteuert.
Darüber hinaus haben die Register III / IV einen eigenen Verbindungsmechanismus, unabhängig von akkumulierenden Registern. Tatsächlich blieb dieses System von einem der primitiveren Ascot-Modelle übrig, die außer den Registern I, II, III, IV und K nichts hatten - aber warum haben sie sie verlassen?

Ich denke, dass sie genau wie Shift-to-Bit-Register sein sollten. Weil es ausreicht, sie mit einer Reihe von Diagonalzahnrädern zu koppeln, und wir eine Schaltvorrichtung erhalten: Schreiben Sie beispielsweise in die III-Nummer und erhalten Sie sie in die IV, aber nach links zur Entladung verschoben.

Ich stelle es mir so vor:


Hier können Sie das 3D-Modell drehen.
Und hier - um zu sehen, wie die Zähler live aussehen.

Im Bild - gelbe Zahnräder - Zähler III und IV (zum Beispiel sind die erste Entladung III-1 und die zweite Entladung IV-2 mit den roten verbunden). Durchscheinender Keil - Details der Gegenvorrichtung.

Rote Gänge sind das gleiche fehlende Schaltsystem, das beim Drehen von IV-2 den Gang III-1 dreht und umgekehrt. Wenn Sie ein solches System zusammenbauen, reicht es für eine Verschiebung nach links aus, die gewünschte Zahl in IV zu schreiben und aus III zu lesen.

Die Schwierigkeit besteht darin, dass sich die Zahnräder der Zähler beim Arbeiten nicht nur drehen, sondern auch auf und ab bewegen (ungefähr bis zu ihrem Radius), und der Mechanismus muss diese Bewegung unterstützen. Es stellt sich als ziemlich kompliziertes Design heraus, an das ich nicht denken kann.

Es wäre großartig, wenn jemand, der besser als ich zu entwerfen weiß, für einen angemessenen Geldbetrag ein solches System zum Drucken auf einem Drucker entwickeln oder es in Hardware herstellen würde - mit Erläuterungen und Vorschlägen, wiederum in Kommentaren, in PM oder mailen Sie mir [a] alple.net.



Weitere Informationen finden Sie auf meiner Website im Abschnitt über Ascot .

Source: https://habr.com/ru/post/de450538/


All Articles