DE2601242A1 - Elektronenrechner mit programmspeicherung - Google Patents

Elektronenrechner mit programmspeicherung

Info

Publication number
DE2601242A1
DE2601242A1 DE19762601242 DE2601242A DE2601242A1 DE 2601242 A1 DE2601242 A1 DE 2601242A1 DE 19762601242 DE19762601242 DE 19762601242 DE 2601242 A DE2601242 A DE 2601242A DE 2601242 A1 DE2601242 A1 DE 2601242A1
Authority
DE
Germany
Prior art keywords
key
program
memory
register
addresses
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19762601242
Other languages
English (en)
Inventor
Filippo Demonte
Mario Figini
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olivetti SpA
Original Assignee
Olivetti SpA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from IT6714675A external-priority patent/IT1027347B/it
Priority claimed from IT6927575A external-priority patent/IT1048204B/it
Application filed by Olivetti SpA filed Critical Olivetti SpA
Publication of DE2601242A1 publication Critical patent/DE2601242A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/02Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators

Description

BERLIN: D1PL.-ING. R. MÜLLER-BÖRNER
Ing. C.Olivetti & C, S.p.A.
Ivrea (Italien) Berlin, den 14. Januar 1976
Elektronenrechner mit Programmspeicherung
Die Erfindung bezieht sich auf einen Elektronenrechner mit Programmspeicherung und Tastatur für die Dateneingabe. Aufgabe der Erfindung ist es, den Benutzer des Rechners dazu zu befähigen, anfänglich mittels der ilechnertastatur ein komplexes Programm zusammenzustellen, das von Gruppen fundamentaler Operationen gebildet -wird, und dann zu veranlassen, daß das Programm durch einfache Betätigung einer besonderen Taste des Rechners -wiederholt ausgeführt wird.
Bekannte Elektronenrechner, gleichgültig, ob sie von der mit riikroprogrammen arbeitenden Art sind oder nicht, können Programme aufweisen, die einige Zeit zuvor in den Arbeitsspeicher eingetragen wurden, der somit ein Element der Haschine darstellt, das ständig durch das Programm be setzt ist. Dies ist je nach der unterschiedlichen Befähigung des Benutzers umso ungenauer und mit umso überflüssi gerem Aufwand behaftet, je mehr der Benutzer die Belegung des Speichers erhöht sowie die Zeit, die für das Bringen des Programms auf ein qualitativ besseres Niveau durch aufeinanderfolgende Verbesserungen benötigt wird.
609831/0S 5 4
_2_ 2801242
"Jenii su clicson Uaclitcil dor hinzutritt, der von dem gleichzeitigen Vorhandensein einer Mehrzahl von v/ählbaron Programmen in einen speicher herrührt, die eine Berechnung der für die verschiedenen Progranne benötigten Speichcrstellen erfordert, ist ersichtlich, daß eine Ilonge von Kenntnissen mad Vorkehrungen von einen normalen Benutzer von ein in dieser rJeise gespeichertes Programm auf-■γ/eisendeii Roclmern verlangt i/ird.
Ds gibt andere liecliner, die einen Speicher, in allgemeinen einen iLOIi (iiur-Leso-Speicher) zur Verfügung haben, in den die verschiedenen Programme aufgezeichnet sind, die von der Tastatur abgefragt uerden können. Das Abrufen einer goi/ünschton Folge von Operationen oder Progrannen zi/ingt ύ.οη Benutzer, das Anschlagen von Tasten auf der Tastatur entsprechend jeden Programm zu v/iederliolen, v/enii eines seiner Prograrme ausgeführt x/orden nuß. Vor allem führt dion Erfordernis in Falle der Vorarbeitung von konpler'en Progra-'-LiGii nit sich ',.aoderholenden Untei'prograr^iien, v;ie z.B. die Urntellungion Buc!ilialtungGdol:uiientGn, Feststellungen oder 2'.us8iiir,ienfassungen uo dgl., zu einem beträchtlichen Zeitvorlust für ^ode Verarbeitungsoperation zusätzlich su dor großen Ualn^scheinlichkeit des Auftretens von Eingabe— fehlern auf der Tastatur.
Gemäß der lirfindung wird ο in lülektronenrecliner vorgesehen, der oino numerische Tastatur für die Eingabe von zu verarbeitenden Daten umfaßt, einen ersten Speicher zum Aufzeichnen und Lesen von Daten, einen zweiten Speicher für die Aufnahme einer !leihe von Programmen und eine zentrale Datenvorarboitungseinheit, die unter der Steuerung der Instruktionen der Programme steht, v/obei der erste Speicher befähigt ist, eine Mehrzahl von Adressen der Programme in den zv/eiten Speicher auf zuzeiclinen, und Steuermittel vorgesehen sind für das Befehlen der Entnahme der
-3'-609831 /06bÄ
Adressen aus den ersten Speicher und das eich ergebende Abfragen der entsprechenden Programme für die Steuerung der zentralen !Einheit.
Die ürfindung wird anschließend nohr in einseinen beispielsweise unter Bezugnahme auf die Zeichnung beschrieben, In dieser zeigen:
Fig. 1 ein Blockschaltbild eines Rechners geriüß der ICrfindung;
Fig. 2 eine "Wiedergabe der Zentral-Einheit des Rechners;
Fig. 3 ein Diagramm, das den Arbeitsspeicher des Rechners wiedergibt;
Fig. 4 eine schonatischc Darstellung der Tastatur des Rechners;
Fig. 5 eine schenatischo "Jiedergabe eines Programmspeichers des Rceimers;
Fig. 6 und 7 zwei Routine-Durchgangs-Diagranne des Rechners ; und
Fig. 8 bis 10 drei Durchgangs-Diagramme von zwei Programmen des Rechners.
Allgemeine Besehreibunp;
Fig. 1 zeigt schematisch einen Elektronenrechner, der eine Verarbeitungs-Grimdeinheit 1, eine Daten- und 3efehls-Eingangseinlieit, insbesondere eine Tastatur 2, und eine Daten- und Befehls-Sxiibol-Ausgangseinheit, insbesondere einen Drucker 3y enthält. Der Rechner umfaßt ferner einen Nur-Lese-Speicher 4 für Mikroprogramme und einen Lese- und Schreib-Speicher (RAIi) 5 für Daten, Konstante oder Teilergebnisse. Die beiden Speicher 4 und 5 sind entfernbar und lassen sich durch den Benutzer mit der Grundeinheit verbinden.
-4-609831 /0654
Die Tastatur 2 und der Drucker 3 sind von bekannter Art und werden deshalb nicht im einzelnen beschrieben. Die Tastatur 2 und der Drucker 3 vermögen mit der Grundeinheit 1 über die Verbindungen f bzw. g, die für die Parallelübertragung eines Informations-Byte konstruiert sind, Daten und Befehle auszutauschen.
Die Verarbeitungs-Grundeinheit 1 umfaßt eine Zentraleinheit 6, die durch die Tastatur 2 eingeführte Daten zu verarbeiten nag. Die Grundeinheit 1 umfaßt ferner eine oder mehrere ROMs 9 von bekannter Bauart, insbesondere drei ROHs 9 in Fig. 1, von denen jeder 1024 HikrοInstruktionen enthalten kann, die in Auswirkung des Niederdrückens einer Funktionstaste der Tastatur 2 zwecks Steuerung der Einheit 6 bei der Verarbeitung der Daten ausgeführt v/erden können.
Die Grundeinheit 1 umfaßt auch einen Speicher RAH 10, der von IG Hoduln gebildet wird, von denen jeder das Schreiben und Lesen in 256 Halb-Byte-Stellen für Daten, Konstante oder Zwischenresultate gestattet. Ein Taktgeberkreis 11, der im wesentlichen durch einen gewöhnlichen, stabilisierten Oszillator mit in Fig. 1 nicht dargestellten logischen Kreisen gebildet wird, bestimmt die Operationen der Einheit zeitlich. Schließlich empfängt eine Eingang-/Ausgang-Zwischeneinheit 8 die Signale, die aus der Tastatur 2 und aus dem Drucker 3 kommen, um sie auf die von den Verarbeitungskreisen benötigte Spannung und Wellenform zu bringen.
Die Zentral-Einheit 6 (Fig. 2) umfaßt ein Register 20 für die Eingabe und Ausgabe von Daten zu und von der Zentral-Einheit von und zu den Speichern, welches Register mit einem Vier-Bit-Sammler 21 verbunden ist, der zusammen mit einem Addierer, ebenfalls vom Vier-Bit-Typ, die arithmetische Einheit des Rechnersbildet. Die Zentral-Einheit 6
-5-609831 /0654
umfaßt auch ein Register 2^, das mit einen seinerseits mit einem ROM-Adressier-Register 26 verbundenen Mikroinstruktions-Dekodierer 24 verbunden ist. Der Sammler 21 und der Addierer 22 sind ferner mit einem Register 25 für die Eingabe und Ausgabe von Daten von und zu den Außenanlagen verbunden. Ein RAM-Adressier-Register 27 ist ferner· mit dem Sammler 21 verbunden, während ein Ausgaberegister für die ROM- oder RAM-Adressen mit den beiden Registern und 27 verbunden ist. Die drei Register 26, 27 und 28 sind alle Zwölf-Bit-Register. Die Zentral-Einheit 6 enthält ferner ein Register 18 für die Aufbewahrung der ROM-Adressen, das mit dem Adressier-Register 26 verbunden ist und zur vorübergehenden Speicherung einer ROM-Adresse bei den Programm-Sprüngen d.ient. Schließlich umfaßt die Zentral-Einheit einen logischen Folgeschaltkreis 19, der an seinen Eingängen mit dem Taktgeber 11 (Fig. 1) über eine Verbindung Ii und. mit dem Dekodierer 24 verbunden ist und als Ausgang in bekannter ¥eise eine Reihe von Befehlen und Auslösesignalen für die verschiedenen Operationen der Zentral-Einheit zu erzeugen vermag.
Die Zentral-Einheit 6 kann mit dem RAM-Speicher 10 über das Register 20 längs einer Verbindung a in beiden Richtungen Vier-Bit-Daten austauschen. B'erner vermag die Einheit in beid.en Richtungen über das Register 25 längs einer Verbindung b mit dem Zwischenschaltkreis 8 Daten auszutauschen. Schließlich ist die Zentral-Einheit befähigt, selektiv aus den ROMs 9 längs einer Verbindung d und über das Register 23 oe^eils eine Mikroinstruktion zur Zeit, die aus sechs Bits aufgebaut ist, zu empfangen, die die Arbeit der Einheit steuert. Zusätzlich zu dem Funktionscode umfaßt jede Mikroinstruktion auch die Adressen des Registers des RAM 10, die das zu verarbeitende Datum enthalten.
Jedes interne ROM 9 wird durch das 12-Bit-Register 26 (Fig. 2)
—u—
609831 /0654
760124 2
über das Register 28 und die Verbindung e mit 12-Bit in Parallelismus angesprochen. In der Adresse jeder Mikroinstruktion dienen die ersten beiden Bits von rechts (Bit 1 und Bit 2) zum Ansprechen eines der vier PuOHs, die anderen zehn Bits (Bits 3 bis 12) sprechen die jeweilige PosLüon (HikroInstruktion) unter den 1024 in dem ROM 9 existierenden an. Jeder ROM 9 läßt sich als ein Speicher-Modul ansehen, der aus 19 Seiten von je 64 Positionen zusammengesetzt ist, aus welchem Grund vier der zehn Positions-Bits die Seite und die übrigen sechs die Position identifizieren.
In den internen ROMs 9 sind verschiedene Mikroprogramme aufgezeichnet, von denen jedes von einer veränderbaren Anzahl von Mikroinstruktionen gebildet sein kann. Jedes Mikroprogramm wird durch Ansprechen der ersten MikrοInstruktion des Mikroprogramms selbst ausgewählt. Die folgenden Hikroinstruktionen desselben Programms v/erden in bekannter Weise durch Zuwachs der Adresse oder mittels Sprüngen adressiert. Der Sprung ist jedesmal unvermeidlich, wenn ein Übergang von eineEi ROM 9 zu einem anderen ROM 9 oder von einer Seite zu einer anderen desselben ROM 9 gemacht wird.
Der externe ROM 4 kann von bekannter Halbleiterbauart, insbesondere MOS-Bauart, sein. Der ROM 4 hat eine Kapazität von 204c3 Bytes, weshalb er als aus zwei Moduln zusammengesetzt angesehen werden kann, die in 16 Seiten zu je 64 Bytes angeordnet sind, Da jedes Byte eine Makroinstruktion enthält, können vierundsech-zig Mikroinstruktionen auf einer Seite enthalten sein. T,ienn ein Mikroprogramm aus mehr als vierundsech-zig Hikroinstruktionen zusammengesetzt ist, belegt es eine Mehrzahl von ROM-Seiten, und für den Übergang von der vierundsechzigsten zur fünfundsechzigsten Makroinstruktion ist eine Sprung-Mikroinstruktion zu der ersten Position der folgenden Seite erforderlich.
-7-609831/0654
Zu diesem Zweck wird der ROH 4 auch durch den ROH-Adressierer 26 (Fig. 2) auf der Verbindung e adressiert, da jede Mikroinstruktion durch zwölf Bite adressiert ist. Der Adressierer 26 verhält sich in Wirklichkeit wie ein Doppel-Register von 6+6 Bits, so daß eine Fortschaltung um eins
dem
nicht über das sechste Bit weitergegeben wird, in dem Ausdruck "111111" der Ausdruck "OOOOOO" folgt. Deshalb ändert sich das siebente Bit, d.h. das erste Bit des zweiten Halbregisters, nicht gegenüber seigern eigenen vorhergehenden Binärzustand. Eines der 6-Bit-IIalbregister dos Registers 26 wird zum Auswählen des Bytes der Seite benutzt, während das andere Register für die Auswahl des ROM 4 selbst und der Seite verwendet wird. Hehr in einzelnen wählen die ersten beiden Bits auf der rechten Seite des letzten Registers, wie bereits erwähnt, die beiden Hoduln des ROH 4, die also gleich den internen ROMs 9 gemacht werden. Die anderen vier Bits dieses Registers andererseits wählen die 16 Seiten des gewühlten Moduls. Es ist deshalb notwendig, um von einer Seite zur folgenden Seite des ROH 4 überzugehen, eine Sprung-MikroInstruktion auf eine Subroutine auszuführen, in deren Adressenteil die Adresse der neuen Seite enthalten ist, auf die der Sprung gemacht werden soll.
Die Mikroprogramme des externen ROH 4 bilden zum größten Teil Abwandlungen der ähnlichen Mikroprogramme der internen ROMs 9 und sind für die Bedürfnisse eines bestimmten Benutzers ausgelegt. Sie sind deshalb nach der speziellen Anwendung (Buchhaltungsabrechnungen, Rechnungen, Zahlungsanweisungen, usw.) Orientiert. Der Benutzer greift deshalb auf den ROM 4 zurück, wenn er nicht nur einfache mathematische Operationen benötigt, deren Programme sich in den ROMs 9 befinden, sondern auch eine jeweils geeignete Folge derselben, die zur Lösung eines spezifischen Problems mit einer sehr engen Korrelation zwischen Rechen- und Druckvorgängen ausgelegt sind. Ferner sind in dem externen ROM 4 Mikroprogramme vorgesehen, die andere als Rechenoperationen
-8-
609831/0654
vollziehen, wie z.B. den Druck eines konstanten IJerts in einem Register, die Zufuhrbewegung oder den Vorschub der Druckform, die Verschiebung des beweglichen Druckelements usw.
Der RAM 10 wird durch den Adressierer 27 über dasselbe Register 28 und die Verbindung e, aber zu verschiedenen Perioden der Zykluszeit angesprochen, wie anschließend erklärt wird. Von den zwölf benutzten Bits sprechen die ersten vier (Bits 1 bis 4) den speziellen Modul des RAIi 10 unter den verschiedenen möglichen Moduln an und die anderen acht Bits (Bit 5 bis 12) sprechen die spezielle Position unter den 256 in jedem Modul vorhandenen an.
Jeder Modul des RAM 10 ist in 16 Registern Rl - R16 (Fig. 3) zu je 64 Bits angeordnet, die 16 4-Bit-Halb-B3rtes bilden. In den Registern Rl - R8 können ebenso viele numerische Daten in "Fließender-Punkt-Form" (floating point form) dargestellt werden. Die Register R9 und RIO dienen als Tastatur-Puffer zur Aufnahme von 8-Bit-Codierungen, die sowohl numerischen als auch Operationstasten entsprechen, die von dem Bediener auf der Tastatur 2 (Figo l) heruntergedrückt wurden.
Das Register RIl und neun Halb-Bytes des Registers R12 dienen als ein Ausgabe-Puffer zur Aufnahme der Codierungen der zu dem Drucker 3 zu übertragenden Daten. Die verbleibenden Speicher-Positionen werden von Hilfsinformation (Programm-Schaltelemente, Zähler, usw.) eingenommen, wie noch zu beschreiben sein wird.
Der Taktgeberkreis 11 (Fig. 1) vermag zyklisch eine Folge von vier Signalen Tl, T2, T3 und T4 zu erzeugen. Unter der Steuerung durch diese Signale führt die Zentral-Einheit 6 bei jedem Zyklus in bekannter Veise die folgenden Operationen durch:
_9_ 609831 /0654
(a) Sie bringt die ROII- mid RAH-Adressen-Eingänge auf Null (Signale Tl und T3);
(b) sie spricht ein ROI-I an und liest oder schreibt in den RAl-I (Signal T2);
(c) sie spricht ein HAM an, sieht eine Ilikroinstruktion heraus und führt sie aus (Signal ϊ4).
Jede Operation des Rechners wird mittels der Ausführung von einer oder mehr Makroinstruktionen durch die Zentraleinheit 6 durchgeführt» Für die Ausführung einer Ilikroinstruktion wird die entsprechende Adresse zuerst in das Adressenregister 26 eingetragen. Unter der Steuerung eines Befehls X, der von dem Netzwerk 19 in der Zeit Ϊ2 erzeugt wird, wird diese Adresse dem Register 28 zugeführt, das über die Verbindung e in bekannter lieise den entsprechenden ROH 9 oder den ROM 4 (Fig. 1) anspricht.
In der folgenden Zeit rJ?4 wird die in dieser ¥eise adressierte Mikroinstruktion mittels der Verbindung d zu dem Register 23 der Zentraleinheit 6 (Fig. 2) überführt. In der nächsten Zeit T3 wird die auf diesem IJege herausgezogene Mikroinstruktion von dem Register 23 dem Dekodierer 24 zugeführt, während die RAH- und ROM-Eingänge auf Null gestellt werden.
Die Operationskodierung der Mikroinstruktion wird von dem Dekodierer 24 dem Folgelogik-Netzwerk 19 zugeführt; die Adresse des Datums wurde an den Sammler 21 gegeben. Diese Adresse wird jetzt dem Adressen-Register 27 zugeführt, das unter der Steuerung durch ein Signal Y, das von dem Netzwerk 19 in der Zeit rf4 erzeugt wurde, dem Register 2G zugeleitet wird. Diese Adresse geht über die Verbindung e und adressiert den RAM 10 oder den RAM 5.
In dem folgenden Taktgeber-Zyklus, in der Zeit T2, wird das Lesen oder Schreiben des Datums des in der Zeit T4 des vorhergehenden Zyklus adressierten RAM 10 oder des RiUI 5 über
-10-609831/0654
- ίο -
das Register 20 und die Verbindung a verursacht. Das Wählen zwischen Lesen und Schreiben wird durch die Art der verwendeten Hikroinstruktion gesteuert und über das Register 20 und die Verbindung a befohlen. Zur selben Zeit wird die folgende Hikroinstruktion des ROH mittels des Adressierers 26 adressiert. Zu diesem Zweck wird das Register 26, wenn die zu verwendenden IiikrοInstruktionen in Aufeinanderfolge in den ROH angeordnet sind, normalerweise nach dem Befehlen einer Adressier-Operation mittels des Sammlers 21 und des Addierers 22 weitergeschaltet. Es ist deshalb ersichtlich, daß in dem Zeitgeberzyklus, in dem eine Hikroinstruktion adressiert und abgefragt wird, die vorhergehende Makroinstruktion ausgeführt wird.
Venn andererseits eine auszuführende Hikroinstruktion nicht in Folge zu der vorhergehenden angeordnet ist, muß die letztere eine Sprung-Instruktion sein und die Adresse der Hikroinstruktion enthalten, zu der ein Sprung erwünscht ist. In diesem Fall wird die neue Adresse von dem Dekodierer 24 mittels eines Signals Z dem Register 26 aufgezwungen und für den neuen Adressiervorgang benutzt.
Der Sprung kann benutzt werden, um einmal oder mehrmals hintereinander eine spezielle Routine in die Ausführung eines Programms oder Mikroprogramms einzufügen. ¥enn in diesem Fall dem Register 26 etwas aufgezwungen wird, wird sein Inhalt durch einen Befehl ¥ des Netzwerks 19 in an sich bekannter Weise auf das Bewahr- oder Halteregister 18 übertragen „ In einem solchen Fall ist die letzte Hikroinstruktion der Routine(des Maschinenprogramms)oder der Reihe von Routinen eine Hikroinstruktion zur Rückgabe an das Hauptprogramm. Die Makroinstruktion v/ird von dem Dekodierer 24 an das Netzwerk 19 gegeben, das einen Befehl V erzeugt. Dieser veranlaßt die Übertragung des Inhalts des Halteregisters 18 an das Register 26, das so mit der Adresse ausge-
-11-609831 /0654
"■ JLJ. "™
stattet wird, die auf die Sprung-Hikroinstruktion des Hauptprogramms folgt, welches sonit seine Ausführung •wiederaufnehmen kann. Es ist klar, daß eine Mehrzahl von Halteregistern 18 vorgesehen werden kann, so daß man Sprünge zu Routinen von verschiedenem Uiveau haben kann, d.h. daß man eine Hehrzahl von Routine- (Maschinenprogramm-) Unterbringungs-lliveaus (routine nesting levels) halien kann.
Wie bereits ersichtlich war, ist der Sammler 21 außer seiner Verbindung mit dem RAM-Zwischen-Ilegister 20 auch mit den Register 25 zum Anschluß an die externe Zwischeneinheit verbunden. Die Wahl zwischen dem Austausch von Daten zwischen der Zentraleinheit 6 einerseits und dem IiAl-I 10 und dom RAM 5 oder der externen Zwischeneinheit 8 (Fig. l) wird von einem Bit jeder Eingangs- und Ausgangs-Verarbeitungs-Hikroinstruktion befohlen, das durch 1 dekodiert wird, wenn es notwendig ist, in einem RAM zu lesen oder zu schreiben, und durch 0, wenn es notwendig ist, Daten mit den Außenanlagen auszutauschen.
Zu diesem Zweck wird ein Bit 1 durch den Dekodierer 24 der Zentraleinheit 6 (Fig. 2) auf einer Verbindung c ansprechend auf eine MikrοInstruktion zum Lesen und Schreiben in dem RAM.5 oder dem RAM 10 (Fig. l) ausgegeben. Dieses Bit 1 verursacht in an sich bekannter Weise mittels der Verbindung zu der Zentraleinheit 6 Lesen und Schreiben in den Zellen, die in dem RAII 5 oder dem RiM-I 10 in der Zeit Ϊ2 adressiert sind.
Dieselbe Verbindung c, wenn sie durch ein Bit 0 erregt wird, das von dem Dekodierer 24 der Zentral-Einheit G (Fig. 2) in Auswirkung einer Daten-Eingabe-ZAusgabe-Mikroinstruktion ausgegeben wird, verhindert die Wahl des RAM 5 und des RAI-I Ferner befähigt dasselbe Bit 0 mittels des Registers 25 der Zentral-Einheit 6 und des Anschlusses b ( Fig. 2) die
609831 /0654
Zwischeneinheit 8, in dor folgenden Zeit T2 das in ihr vorhandene Datum gegen den Inhalt des Sammlers 21 der Zentral-Einheit 6 (Fig, 2) auszuwechseln,
Hanuoller und autonatischer Betrieb
'die bereits angegeben, ist der Rechner ein nikroprogrammierter, so daß jede Operation durch Mikroprogramme bewirkt wird, die in allgemeinen in den drei ROMs 9 aufgezeichnet sind und. auch in den externen ROH 4 aufgezeichnet v/erden können. Nach den Einschalten der Maschine wird ein Mikroprogramm automatisch von einem ROH 9 abgefragt, das nach seiner Herbeiführung der Erstellung der Anfangsbedingungen (Aufnullstellen der Register, Einstellen von Schaltelementen usw.) eine zyklische Prüfung des Tastatur-Puffers R9, RIO auszuführen beginnt. Auf diese Weise werden die eingetragenen Daten und die auf der Tastatur 2 betätigten Funktionstasten unterschieden.
Der Rechner vermag sowohl auf manueller als auch auf programmierter Grundlage zu arbeiten. Beim Arbeiten auf manueller Basis wird der externe ROH 4 nicht benutzt und könnte von der Maschine entfernt werden. Der Benutzer verwendet andererseits die Tastatur 2 (Fig. 4), die einen numerischen Abschnitt 30 umfaßt, der befähigt ist, die Digits O bis 9 mit den algebraischen Zeichen und dem Dezimal-Komma in den Tastatur-Puffer R9, RIO (Fig. 3) einzutragen. Der Abschnitt 30 umfaßt eine Taste KB-CL 29, die zum Löschen des zuletzt eingetragenen, aber noch nicht benutzten Datums in dem Tastatur-Puffer R9, RIO dient, das durch das zuletzt gedruckte Datum ersetzt wird.
Die Tastatur 2 umfaßt ferner einen Operations-Abschnitt 31, der von einem Satz von die entsprechenden Operationen befehlenden Operationstasten gebildet wird. Mittels der entsprechenden, in die Tastatur-Puffer R9, RIO eingetragenen
-13-609831/0654
und in das Register 26 der Zentral-Einheit 6 (Fig. 2) in der bereits erwähnten lieise übertragenen Codierungen sprechen diese Tasten Mikroprogramme an, die in den ROMs 9 enthalten sind.
Mehr im einzelnen befiehlt eine Additions-Taste 32 die Addition des zuletzt eingetragenen und gedruckton Datums in dem Sammler-Register R4 des RAM 10 (Fig. 4). Wenn die Taste 32 ohne vorherigen Eintrag eines Datums betätigt wird, veranlaßt sie die Addition der letzten, bereits addierten Zahl in dem Sammler R4. Sine Subtraktions-Taste 33 dient zum Subtrahieren der letzten, von dem Register R4 eingetragenen Zahl. Eine Multiplikations-Taste 34 und eine Divisions-Taste 35 dienen zum Vorbereiten der Multiplikations- bzw. Divisions-Operationen zwischen einer ersten Zahl in dem Register R2 und einer zweiten Zahl· in dem Register R3. Die hintereinander abwechselnd mit den Daten betätigte Taste 34 dient zum Bewirken von Ketton-IIultiplikationen und befiehlt, zweimal nacheinander betätigt, die Quadrierung„
Eine Gleichheitszeichen-Taste ~yö verursacht die Operation mit dem zuletzt eingetragenen Datum sowie das Drucken des Ergebnisses einer vorher eingetragenen Multiplikation oder Division. Eine Taste = c/a31 dient zur Berechnung eines mit Skonto versehenen oder verminderten oder vermehrten Betrages, Eine Teil-Ergebnis-Taste 38 dient zur Durchführung des Drückens des Inhalts des Sammel-R.egistersR4 nach der Übertragung auf R2 ohne Auf nullstellen des Registers R4. Eine allgemeine Ergebnis-Taste 39 dient zur Ausführung des Druck- und Aufnullstell-Vorgangs des Inhalts des Sammlers R4 nach der Übertragung auf R2C
Der ROM 4 enthält im allgemeinen eine vorbostimmte Anzahl
-14-
609831/0654
von Mikroprogrammen. Beispielsweise zeigt Fig. 5 eine spezielle Anordnung eines Moduls von 1024 Bytes des ROH 4, in dein 64 verschiedene Mikroprogramme vorgesehen sind. Die Positionen des Moduls des ROH 4 sind von O "bis 1024 numeriert. Die ersten 128 Positionen desselben, die die ersten zwei ßeiten des Moduls bilden, enthalten Sprung-Mikroinstruktionen und stehen in eins-zu-eins Entsprechung zu den numerischen Codierungen der Mikroprogramme, die aus der Tastatur entnommen werden müssen, im ö.cs Mikroprogramm auszuwählen, wie in dem Diagramm nach Fig. 5 angegeben. Jede dieser 64 Makroinstruktionen spricht die Position der ersten Mikroinstruktion des entsprechenden Mikroprogramms an und überläßt dieser die Steuerung der Grundeinheit 1. Beispielsweise ist die Mikroinstruktion 3, die durch die Zahlentaste 3 abgefragt wird, wie später ersichtlich wird, eine Instruktion für den Sprung zu der Mikroinstruktion in der Position 203, die das Mikroprogramm Nr0 3 beginnt.
Zu diesem Zweck umfaßt der Abschnitt 30 der Tastatur 2 (Fig. 4) ferner eine Programmtaste P 41, die betätigt wird, um d.ie Haschine zum Übergang von der manuellen Basis oder Betriebsweise zu der programmierten Basis oder Betriebsweise zu veranlassen. D. h., daß die Maschine sich zur Durchführung der Makroinstruktionen vorbereitet, die die Mikroprogramme des externen ROM 4 (Figo 1) ausmächen, der von dein Benutzer zur Durchführung einer speziellen Rechnung in die Maschine eingesetzt wird. Bei dieser Betriebsweise ist die Tastatur 2 sowohl in dem numerischen Abschnitt 30 (Fig. 4) und in dem Operations-Abschnitt 31 benutzbar.
Wenn nach der Eintragung einer Zahl in den Tastatur-Puffer R9, RIO mittels der Zahlen-Tasten die Taste 41 betätigt wird, veranlaßt das Mikroprogramm, das den Tastatur-Puffer R9, RIO analysiert, das Ansprechen eines Mikroprogramms in
-15-
609831/0654
?601242
dem ROM 4 entsprechend der eingegebenen Zahl, wodurch die Steuerung der Maschine übernommen wird. Das Mikroprogramm, das den Tastatur-Puffer R9, RIO analysiert, sorgt also für die Identifizierung des Codes der Taste während des Vorgangs der Erkennung der von der Tastatur eingeführten Schriftzeichen, die zur Ermöglichung der Steuerung der Zentral-Einheit 6 durch das Mikroprogramm des externen ROM 4 entsprechend dem numerischen Code, der vor der Betätigung der Taste 41 eingegeben wurde, dienen.
Bei der Anordnung des ROM 4 gemäß Fig. 5 können die 64 Mikroprogramme mittels der Zahlentasten ausgewählt werden, denen die Taste 41 folgt. Die Mikroprogramme des ROM 4, dievon den Tasten 3 bis 8 unter Vorantritt von 0 angesprochen werden, entsprechen den Operationen der Tasten 34 bis 38, die jedoch gleiche Programme ansprechen, die in einem internen ROH 9 aufgezeichnet sind.
Jedes Mikroprogramm kann in sich genügen oder die Durchführung eines v/eiteren Mikroprogramms für die Vollendung des Verarbeitungsvorgangs erfordern. Im ersten Fall bringt das ausgeführte Mikroprogramm ein Schaltelement SWITCH Y des Registers 16 (Fig. 3) des RAH 10 auf 0, im zweiten Fall bringt es andererseits dieses Schaltelement auf 1. Am Ende der Durchführung des Programms kehrt die Steuerung der Maschine stets zu dem Mikroprogramm zurück, das den Tastatur-Puffer R9, RIO analysiert, was in Abhängigkeit von dem Zustand des Sehaltelements SWITCH Y das nächste Mikroprogramm des ROM 4 gemäß dem Inhalt dieses Puffers anspricht oder die Maschine auf die manuelle Betriebsweise Zurücks ehaltet.
Mehr im einzelnen gelangt im Fall, daß die Verarbeitung ein
-16-
609831 /0654
2 6 01 2 A 2
weiteres I-likroprogramn am Ende der Verarbeitung des ersten Mikroprogramms erfordert, die Steuerung der Zentral -Einiieit 6 zurück zu dem Ilikroprogramm, das den Tastatur-Puffer R9, RIO analysiert, was, wie vorher, für die Identifizierung des Codes der folgenden Zahl, der die Taste P4l folgt, sorgt sowie für feuerung der Zentral-Einlieit 6 nach dem Mikroprogramm, das den Digits entspricht, die ihm vorhergehen. Die Bedingungen, unter denen der Code die Taste P4l identifiziert und zum Übergang zu dem Mikroprogramm benutzt wird, das dem numerischen Code entspricht, v/elcher vor der Betätigung der Taste P4l eingegeben wurde, sind identisch mit denen, die für den Fall des Abrufs eines einzelnen Mikroprogramms gelten.
Jedes ilikroprogramm endet mit einer MikroInstruktion, die das Ende der Operationen durch Anzeigen, z.B. auf der Ausgabe-Einheit 3, eines geeigneten Schriftzeichens zu signalisieren vermag. An dieser Stelle vermag der Benutzer die Verfügbarkeit der Zentral-Einheit 6 für die Verarbeitung eines neuen Mikroprogramms zu erkennen und kann deshalb dieses Mikroprogramm durch Ausbringen des entsprechenden Codes auf der Tastatur 2 wählen.
Für den Zugang zu dem externen ROM 4 wird der numerische Code des gewünschten Mikroprogramms, der auf der Tastatur ausgebracht ist, in den Tastatur-Puffer R9, RIO, gefolgt von dem Code der Taste 4l, eingebracht. Das Mikroprogramm, das den Tastatur-Puffer R9, RIO analysiert, empfängt von diesem zweiten Code die Angabe, den ersten numerischen Code nicht als zu verarbeitende Daten zu interpretieren, sondern als Mikroprogramm-Adresse und bringt sie in den ROM-Adressierer 26 (Fig0 2).
Die mittels der Zahlen-Tasten eingegebenen Zahlen, denen
-17-609831/0 Ob 4
nicht eine Eingabe durch die Taste 41 folgt, stellen variable Daten dar, die durch das vorher abgerufene Mikroprogramm verarbeitet werden sollen. Hit Hilfe der Taste 41 oder der verschiedenen Operations-Tasten des Operations-Abschnitts 31 können diese Daten auch während der Ausführung eines Mikroprogramms eingegeben werden, insofern als sie nach ihrer Eingabe in den Tastatur-Puffer R9, RIO zur Verfügung des Mikroprogramms bleiben, das sie nur im Augenblick ihrer Verwendung entnimmt, wie noch besser zu zeigen sein wird.
Es ist darauf hinzuweisen, daß unter Verwendung des Schaltelements SWITCH Y bei 1 die Maschine in dem programmierten Betriebszustand bleiben kann, sogar wenn sie nach der Ausführung eines Mikroprogramms anhält. In diesem Fall wird durch Betätigung einer der Operations-Tasten 34 - 38 das entsprechende Mikroprogramm in dem ROM 4 angesprochen, wofür in dem ROM.4 fünf Mikroprogramme vorgesehen sind, die abwechselnd durch die Operations-Tasten und durch Zahlen-Tasten, gefolgt von der Taste 41, angesprochen werden können. Beispielsweise kann das Multiplikations-Hikroprogramm entweder mit der Taste 34 oder mit der Taste 4, gefolgt von der Taste P, abgerufen v/erden.
In diesem Fall werden die Tasten 34 - 38 wahlweise durch eine passende MikroInstruktion des verarbeiteten Programms verwendbar gemacht, welche MikroInstruktion es somit für den Benutzer möglich macht, in mnemotechnischer T/eise verschiedene Operationen auszuwählen, die nicht durch das Hauptprogramm festgelegt sind, jedoch wahlweise in das Programm nur im Augenblick ihrer Verwendung fallweise eingesetzt werden können.
Die Additionstaste 32, die bei Stellung des Schaltelements SWITCH Y im 1-Zustand nach einer Zahlen-Eingabe betätigt
-18-
609831 /0654
-13 -
wird, anstatt die Addition der vorher eingebrachten Zahl in dem Sammler zu veranlassen, signalisiert das Ende der Zahlen-Eingabe in das Mikroprogramm, das den Tastatur-Speicher analysiert, und veranlaßt die "wiederaufnähme der Ausführung des Mikroprogramms, indem sie so als Operationsstange wirkt. Auch in dem Fall einer Betätigung der i'aste 32 ohne irgendeine Zahlen-Eingabe veranlaßt sie das Aufnullstellen des Registers R2 nach der Übertragung seines Inhalts auf das Register R3 für den Zweck der Ermöglichung dor späteren Wiederverwendung dieses Inhalts.
Die Subtraktioiistaste 33 mit dem Schaltelement SWITCH Y in der 1-Stellung stellt eine Prοgramm-3edingung dar, die in einer der Positionen des Registers 16 des RAM 10 gespeichert ist, die für Hilfsiiiformationen reserviert ist. Wie noch zu zeigen sein wird, wird diese Bedingung anschließend durch eine bedingte Sprung-Mikroinstruktion geprüft.
Wenn die Maschine sich in der programmierten Betriebsweise befindet, enthalten das Register Rl bzw. das Register R2 den ersten und den zweiten Operanden bei den Additions—, Subtraktions-, Multiplikations-, Divisionsund Prozent-Operationen. Das Ergebnis gelangt an das Register Rl, Das Register R3 dient auch in diesem Fall als ein Rückgriff-Register während der Multiplikation und Division. Am Ende der Division enthält das Register R3 andererseits d.en Rest. Deshalb gelangen im Gegensatz zur manuellen Arbeitsweise die Ergebnisse jetzt an das Register Rl anstatt an das Register R4.
Die Register R4 - R8 werden als Speicher-Register für Daten benutzt, die zuerst mit dem Inhalt des Registers R2 ausgewechselt und dann zusammen mit dem Inhalt des Registers Rl verarbeitet werden. Am Ende der Operation wird wieder ein
-19-609831/0654
Austausch zwischen dem Register R2 und dem Anfangsregister R4 - R8 "bewirkt. Deshalb bewahren die Register R4 - R8 das zu verarbeitende Datum auf, bis ein neues Datum darin eingetragen ist, so daß alle Register Rl - R8 als Arbeitsregister wirken.
Behandlung von von der Tastatur eingegebenen Programmen
Zusätzlich zu der Möglichkeit, ein einzelnes Mikroprogramm von dem ROM 4 abzufragen, kann der Benutzer eine Mehrzahl von Codierungen zum hintereinander erfolgenden Abfragen ebenso vieler Mikroprogramme einschalten. Zu diesem Zweck sind in jedem der ROMs 4 zwei spezielle Mikroprogramme vorgesehen, die zur Behandlung der Programmierung von der Tastatur aus dienen. Eines dieser Mikroprogramme ist das Autoinstruktions-Mikroprogramm, das anschließend mit A bezeichnet wird. Dieses läßt sich durch die Zahlen-Taste O, gefolgt von der Taste P4l, abfragen und sieht, den Bedingungen nach dem Diagramm in Fig. 8 folgend, die Speicherung der Mikroprogramm-Codierungen in dem RAI-I 10 vor, die aufeinanderfolgend mittels der Zahlen-Tastatur von dem Benutzer nach entsprechender Neuordnung, wie noch ausführlicher zu zeigen sein wird, eingebracht wird. Ferner sieht das Mikroprogramm A die Nachprüfung der Genauigkeit dieser so eingebrachten Codierungen mittels Prüf-Digits vor, die der Benutzer am Ende jeder Gruppe von Codierungen einbringt. Das Mikroprogramm A sorgt für das Drucken der Gruppe der in dieser 1ieise eingebrachten Digits und für den Zeilenabstand auf dem Papier, Dieser Zyklus läßt sich mehrmals wiederholen, wobei jede Digit-Gruppe von der nächsten Gruppe mittels der Taste 32 in Abstand gebracht wird. Am Ende der Eintragung von Mikroprogramm-Codierungen wird die Taste 32 zum zweiten Mal betätigt, ohne daß eine Zahlen-Eingabe vorherging, um das Ende der Codierungen des Mikroprogramms anzuzeigen. Die Maschine bleibt so in Erwartung der Einführung der konstanten Werte, die als Basis für die
-20-60983 1/0654
Verarbeitungs-Operationen dienen. Diese lierte werden mittels der Zahlen-Tastatur eingebracht, und unter der Steuerung durch das Mikroprogramm A werden sie gedruckt und in den RAI-I 10 gespeichert, um während der aufeinanderfolgenden Ausführungen eines Mikroprogramms benutzt zu werden. An dieser Stelle kehrt die Steuerung der Maschine zu dem Mikroprogramm zurück, das den Tastatur-Puffer R9, RIO analysiert.
Das SVGite der beiden speziellen Mikroprogramme ist das für die Ausführung des von der Tastatur eingegebenen Programms, d.h. "Ausführung des gespeicherten Programms" oder des Mikroprogramms B. Dies kann durch die Zahlen-Taste 1, gefolgt von der Taste P4l, abgerufen werden und sorgt in Übereinstimmung mit den in dem Diagramm in Fig. 9 veranschaulichten Bedingungen für die Isolation gegenüber den Registern des RAM 10, in dem die Ilikroprogramm-Codierungen gespeichert worden sind, eines Paars von Digjis, die das jeweils eingetragene,auszuführende Mikroprogramm identifizieren, wie noch ausführlicher zu erläutern sein wird. Das Mikroprogramm B sorgt ferner für den Zugang zu dem Mikroprogramm entsprechend jedem Paar, das in dieser ¥eise identifiziert ist in Übereinstimmung mit den Bedingungen, die in dem Diagramm in Fig. 10 veranschaulicht sind. Dieses Mikroprogramm wird also für die Grund-Verarbeitungs-Einheit 1 ausgeführt. Die letzte MikroInstruktion jedes Mikroprogramms fragt das Mikroprogramm B ab, das somit zyklisch die bereits erwähnten Operationen bis zum letzten Digit-Paar wiederholt.
Während der Operationen jedes Mikroprogramms hält das Mikroprogramm, wenn die spezielle von ihm durchgeführte Verarbeitung die Eingabe von variablen Daten aus der Tastatur erfordert, bei einer speziellen Instruktion zur Einschaltung der Zahlen-Tastatur an, in Erwartung der zu verarbeitenden variablen Daten von dem Benutzer«
-21-
609831/0654
Mehr im einzelnen werden die Codierungen der aufeinanderfolgenden Mikroprogramme von der Tastatur 2 aus mit Hilfe der Mikroprogramme A in die fünf Register E.4 - RS des RAM 10 (Fig. 3) eingetragen. Da jedes Register eine Kapazität von 16 Positionen aufweist, von denen eine für das Zeichen und eine andere für das Dezimalkomma reserviert ist, können vierzehn Dezimal-Digits in einem Register aufgenommen v/erden, d. h. sieben Mikroprogramm-Adressen. Für den Zweck der Erleichterung der Steuerung der Eingabe für jedes Register werden zwei Prüfungen durchgeführt, d. Ii. eine für je sieben Codierungen. Zu diesen Zweck sind die Programme, die durch den Benutzer eingegeben werden können, durch Subroutinen gebildet, von denen jede aus sieben Mikroprogrammen zusammengesetzt und jede durch zwei Gruppen von neun Codierungen identifiziert wird, die mit den Zahlen-Tasten eingegeben werden können. Jede Gruppe von neun Codierungen wird von sieben zu speichernden Codierungen plus zwei Prüf-Codierungen (Prüf-Digits) gebildet. Von den sieben zu speichernden Codierungen identifizieren die ersten sechs in der ersten Gruppe jedes Gruppen-Paares paarweise die ersten drei Adressen der eingetragenen Mikroprogramme, während die siebente Codierung die erste Codierung des vierten eingetragenen Mikroprogramms darstellt. Von den in der zweiten Gruppe jedes Paares zu speichernden Codierungen vervollständigt die erste Codierung die Adresse des vierten Mikroprogramms, während die ersten sechs Codierungen paarweise die anderen drei Mikroprogramme der Subroutine identifizieren. Insgesamt kann jedes eingegebene Programm bis zu 35 Mikroprogramm-Codierungen in den fünf Registern R4 - RS umfassen.
Die Operationen des Mikroprogramms A lassen sich schematisch in Operationsblöcken darstellen, die miteinander gemäß dem Flußdiagramm nach Fig. S verbunden sind. Zuerst
-22-
809831 /0654
i/erden nach Betätigung der Taste P das Register R2, zwei Schaltelemente SWITCH 1 und SWITCH 2 des Registers 1115 und des Zählers Cl in dem HAI! 10 (Fig. 4) (Block 50 in !«'ig. 8) auf Null gestellt. Ferner wird ein Index-Register X2 des Registers R16 (Fig. 4), das später für die indirekte Ansprache der Ilegister R4 - RS gebraucht wird, zuerst auf den Wert 4 positioniert. Tatsächlich ist es das Register R4, welches das Einladen der Subroutine-Codiorungen beginnt. Danach wird der Inhalt des Tastatur-Puffers R9, RIO geprüft (Prüfung 51 in Fig. 8). Falls der Puffer R9, RIO leer ist, wird auf die Prüfung 51 hin ein erneuter Zyklus bewirkt, während eine Eingabe von der Tastatur erwartet wird.
Der Zähler Cl in dem Register RlG des RAH 10 hat eine Kapazität von acht Bits und wird mit jeder Zahlen-Taste, die aufeinanderfolgend für die Gruppe von sieben Codierungen der Subroutine betätigt wird, weitergeschaltet. Dieses Weiterschalten findet offensichtlich nur statt, wenn die eingegebenen Schriftzeichen als numerische Schriftzeichen bei einer Prüfung erkannt werden, die dein Eingabevorgang selbst folgt (Block 52), so daß, wenn die Prüfung 52 ein positives Ergebnis liefert, der Zähler Cl weiterge-Gchaltet wird (Bock 53) ■>
Eine weitere Prüfung 54 des Vergleiches mit der Zahl 16 wird jetzt an der Codierung von Cl für den Zweck der Feststellung durchgeführt, wann es notwendig ist, auf ein folgendes Register überzugehen. Im negativen Fall (das Register ist noch nicht vollständig belegt), wird das Schriftzeichen an die Position des Registers R2 (Fig. 4) übertragen, entsprechend den Inhalt des Zählers Cl (Block 55) a Das Mikroprogramm A kehrt jetzt zur1 Prüfung 51 zurück und wartet auf ein weiteres Schriftzeichen.
-23-
609831/0654
Wenn die Prüfung 54 ein positives Ergebnis (Kapazität des Registers R2 überschritten) liefert, gibt der Zähler Cl ein Übertrag-Bit ab. Er wird nicht auf ITuIl gestellt, um das in die erste Position des Registers R2 zu ladende Schriftzeichen nicht zu verlieren. Das Register X2 wird jetzt weitergeschaltet, un Zugang zu dem Register der Gruppe R.4 - R8 zu erhalten, das auf das bereits gefüllte Register (Block 56) folgt. Das mögliche Übersteigen von S durch Σ2 wird jetzt geprüft (Block 57). Wenn X2 8 übersteigt, hört das Eingeben auf.
Wenn die Taste 32 (Fig. 4) angeschlagen wird, die das Ende der Gruppe von neun Schriftzeichen signalisiert, ergibt die Prüfung 52 der numerischen Codierung in dem Tastatur-Puffer ein negatives Resultat. Eine Berechnung wird netzt an den ersten sieben Codierungen durchgeführt, die
.. Prüf-
in Übereinstimmung mit einem vorbestimmten iLlgorithmus für die Eingabe-Operation (Routine 58 in Fig. 8) eingegeben wurden. Dieses Ergebnis wird mit dem laufend in der Position des Registers R2 und entsprechend dein Inhalt des Zählers Cl gespeicherton Schriftzeichen verglichen, d.h. mit dem neunten eingegebenen Schriftzeichen (Block 59). Im Fall der Ungleichheit wird die Fehleranzeige-Routine durchgeführt (Routine 61). Im Fall der Gleichheit wird der Inhalt des Zählers Cl um eine Einheit (Block 62) vermindert, und das Schaltelement SWITCH 1 des Registers R15, das das berechnete Prüfungs-Digit anzeigt, wird geprüft (Block 63).
Wenn das Schaltelement SWITCH 1 bei Hull gefunden wird, wie ursprünglich eingegeben, wird es eingestellt (Block 64), und der Zyklus der Blöcke 58, 59, 62, 63 wird für die Berechnungdes zweiten Prüf-Digits wiederholt, was wieder mit den sieben Codierungen auf der Grundlage eines zweiten vorbestimmten Algorithmus bewirkt wird. Das Ergebnis dieser zweiten Berechnung wird verglichen mit dem Schriftzeichen,
-24-609831/0654
2BQ1
das in dor Position den Registern R2 gespeichert ist und jetzt dom neuen Inhalt dec Zahlers Cl entspricht, liach Prüfung des zweiten Prüf-Digits wird das Schaltelement SUITCH 1 v/ioder auf Null gestellt (Block 66) und ist bereit für die Prüfung der nächsten Gruppe von sieben Digits.
Der Inhalt des Registers R2 wird dann auf das Register der Gi^uppe Rh - RO (Pig. 3) übertragen, entsprechend dem Inhalt des Inde::-Registers X2 (Block 67). Das Drucken mittels des Druckers 3 wird auch befohlen (Routine 68).
Hehr im einzelnen wird ein Vergleich 69 des Inhalts des Zählers Cl mit dem Uert sieben gemacht. Wenn der Vergleich Cl kleiner als 7 ergibt, wird der Drucker 3 jetzt so gesteuert, daß er nur die Schriftzeichen entsprechend den ersten sieben Positionen des Registers R2 druckt. Wenn der Vergleich Cl größer als 7 ergibt, was bei allen zwei Gruppen von sieben Zeichen erfolgt, wird eine Verschiebung nach links um sieben Positionen des Registers R2 vor dem Drucken verursacht. Auf diese Weise wird nur das Drucken von sieben Zeichen jedesmal erhalten.
Nach jedem Druckvorgang kehrt das Mikroprogramm A zu der Analyse des Tastatur-Puffers zurück (Block 51) und wartet auf die folgenden Zeichen. Dieser Vorgang setzt sich fort, bis der Inhalt des Registers X2 größer als 8 ist (Prüfung 57) Wenn nach der Eingabe der zweiten Gruppe des fünften Paars von sieben Zeichen, welches Paar in R8 aufgezeichnet ist, eine neue numerische Codierung irrtümlich eingegeben wird, gibt die Prüfung 57 ein positives Ergebnis und verursacht eine Signaliciorungs-Routine, die dem Benutzer anzeigt, daß die iCingabe von der Haschine nicht angenommen wird.
-25-
609831/0654
3601242
Nach der Eingabe der letzten Gruppe von siobon Codierungen und der entsprechenden Speicherung in xl4 - HG gibt der Benutzer das Ende des Programms durch erneute Betätigung der Taste 52 ein. Zu diesen Zweck wird nach einer Fest stellung der Eingabe durch die Taste 32 vor der Ausführung der Routine 53 eine Prüfung 72 des S ehalt elements .01/ITCH des Registers 1115 (Fig. 4) bewirkt. Solange das Schaltelement SWITCH 2 bei Null gefunden wird, wird Berechnung des Prüf-Digit s befohlen o Wenn darauf die entsprochende Gruppe von sieben Codierungen gedruckt wird (Routine 68 in Fig. G), wird das Schaltelement SWITCH 2 auf 1 (Block 73) gestellt.
Wenn bei der Stellung des Schaltelements SWITCH 2 bei 1 eine numerische Codierung eingegeben wird, wird nach der Übertragung dieser Codierung in das Register R2 (Block 55) das Schaltelement SWITCH 2 zurückgestellt (Block 74), indem die Anfangssituation für die Prüfung 72 wiederhergestellt wird.
Wenn andererseits nach der Feststellung der Taste 32 (Prüfung 51) die Prüfung 72 das Schaltelement SWITCH 2 bei 1 findet, wird eine Ende-des-Programms-Routine 75 befohlen, so daß die Haschine zu der manuellen Betriebsweise zurückkehrt .
Es ist zu bemerken, daß das Mikroprogramm Λ nur die Taste 32 zusätzlich zu den Zahlen-Tasten befähigt. Die mögliche fehlerhafte Betätigung von anderen Operations-Tasten wird daher von dem Mikroprogramm A und deshalb von der Haschine nicht beachtet.
Wie erwähnt, ermöglichen die Mikroprogramm-Codierungen, die in der vorstehend erläuterten Weise eingegeben werden können, in Kombination mit der Taste P4l den Zugang zu den
-26-
609831 /0654
2801242
vierundsechzig Mikroprogrammen dos externen ROM (Fig. 5). Es int dalier möglich, bei der Eingabe des Programms mittels des Mikroprogramms B auch Codierungen von einem höheren Wert als 63, die zwischen 70 und 99 liegen, zu benutzen. Diesen Tier ten entspricht jedoch eine Routine, die das durch die Zehner-Codierungen, d.h. "7", "8" und "9" für die Codiorungsgruppeii 70 - 79, 80 - 89, 90-99, definierte Iiikroprogramm umfaßt. Das Einheiten-Digit der Codierung dient in diesem Fall zur Angabe, wieviel Mal das Mikroprogramm 7, 8 oder 9 wiederholt werden nuß. Die Routinen 70 - 99 werden in dem RAI-I 10 wie die anderen Mikroprogramme 00 - 63 aufgezeichnet.
Die Operationen des Ausführungs-Mikroprogramms lassen sich schematisch in Funktionsblöcken darstellen, die gemäß dem Flußdiagramm nach Fig. 9 untereinander verbunden sind. Der Zähler Cl des RAU 10 (Fig. 3) wird jetzt für das Ansprechen der fünf Register R4 - R8 des RAM 10 benutzt, von denen jedes sieben Doppel-Schriftzeichen enthält, wobei die Mikroprogramm-Codierungen mittels des Mikroprogramms A gespeichert sind» Ein zweiter Zähler C2 wird andererseits für die Verarbeitung des Einheiten-Digits der Codierungen 70 - 99 benutzt und somit zum Zählen der Wiederholungen der Mikroprogramme 7» 8 und 9. Schließlich wird das Inde;;-Register X2 für das indirekte Ansprechen der Doppel-Zeichen jedes Registers Rh - RS benutzt.
Das Mikroprogramm 8, das durch die Taste 1, gefolgt von der Taste P, abgefragt wird, verursacht anfangs das Aufnullstel len der Zähler Cl und C2 und das Einstellen des Registers (Block 81). Danach wird eine Prüfung 85 an dem Zähler C2 durchgeführt. Wenn C2 gleich Null ist, wird eine MVD genannte Routine (Block 87) ausgeführt.
Die Routine IiVD ist schematisch in Fig. 7 dargestellt. Sie
-27-
603831/0 6 5
2801242
"beginnt mit einer Operation des "tfeiterschalbns des Zählers Cl, der als indirekte Adresse des Doppel-Zeichens benutzt v/ird, das aus dem Register Rl (Block 100) zu entnehmen ist. Eine Prüfung des Zählers Cl v/ird jetzt bewirkt (Block 101). 'Wenn Cl jetzt kleiner als 7 ist, v/ird eine durch den Block 102 in Fig. 9 bezeichnete Operation bewirkt, die den Inhalt des Registers X2 zu den RAII-Adressierer 27 (Fig. 2) überführt. Dieser adressiert die Register R4 - RG, von denen es notwendig ist, den Inhalt, der nach Rl zu übertragen ist, zu entnehmen. Dies wird mit der durch den Block 103 in Fig. 7 bezeichneten Operation bewirkt. ICs wird ferner eine Operation (Block 104) durchgeführt, die das Doppel-Zeichen entsprechend dem Inhalt des Zählers Cl auf das Register R2 überträgt. Dieses Doppel-Zeichen identifiziert also die entsprechende Routine -xler das entsprechende Kikroprogramm.
Es ist also klar, daß die Routine KVD auf Rl (Fig. 3) das spezielle Register des RAH 10 überträgt, das durch das Index-Register X2 adressiert ist, so daß es nun Zugang zu dem Doppel-Zeichen des Registers Rl in Aufeinanderfolge indirekt gemäß dem Inhalt des Zählers Cl hat. Dieser wird jedesmal weitergcschaltet, bis der Grenz-Zählwert von 7 erreicht ist.
Das Doppel-Zeichen, das auf diese Weise aus Rl entnommen wird, wird in zwei Dezimal-Digits (Block 09 in Fig. 9) geteilt »Das Zeimer-Digit I wird jetzt mit dem ¥ert 6 (Block 91) verglichen. Wenn das Digit I kleiner als 6 ist (Block 91), werden die beiden Digits I und II des Doppel-Zeichens in das Register R2 (Block 95) übertragen. Eine Routine PGMi (Block 43), die später beschrieben wird, wird dann ausgeführt und erhält Zugang zu dem Register R2, dessen Inhalt durch die Routine HVD darin eingegeben wurde, und benutzt den Inhalt des Registers R2 als Adresse des speziellen auszuführenden Mikroprogramms ο Wenn einmal die Ausführung des
-28-
60983 1 /0654
Mikroprogramms vollendet wurde (Block 98), kehrt das Mikroprogramm B zu dom Block 03 zurück, so daß das folgende Zeichen-Paar aus den Register Rl entnommen wird.
andererseits dan Digit I größer als 6 ist, d.h. die Situation eines wiederholten Mikroprogramms auftritt, wird das zweite Digit, das Einheiten-Digit II, auf den Zähler C2 übertragen und das Zehner-Digit wird auf das Register R2 des RAK 10 (Block 93) übertragen. Ein erstes Zurückschalten des Zählers C2 wird jetzt bewirkt (Block 97), wonach die Durchführung des Hikroprogramms entsprechend den Digit I wie in dem vorhergehenden Fall bewirkt wird. Am linde dieser Ausführung enthält dor Zähler C2, wenn er jetzt geprüft wird, das Digit II, so daß er von Hull verschieden ist. Dies veranlaßt das Mikroprogramm 3 von der Prüfung 85 auf die Operation 97 zu springen, indem eine neue Cοdiorungsentnahme vermieden und die vorhergehende Codierung wiederbenutzt wird. Eine weitere Zurückschaltung des Zählers C2 wird jetzt bewirkt (Block 97), so daß das entnommene Mikroprogramm eine Anzahl von Malen, die gleich dem zweiten Zeichen des entnommenen Doppel-Zeichens ist, wiederholt wird.
Wenn andererseits Cl größer als 7 (Fig. 7) ist, fahrt die Maschine fort, das Zähl-Register Σ2 (Block 106) weiterzuschalten. Dies wird nun geprüft (Block 107) und, wenn X2 kleiner als 3 ist, wird der Zähler Cl auf Null geschaltet (Block 108). iJenn andererseits X2 größer als 8 ist, wird die Beendigung des Hikroprogramms erzeugt, indem alle die 35 Doppel-Zeichen jetzt aus all den Registern 114 - R8 des PJiII 10 (Fig. 4) entnommen sindo
iloutino PGMK
Die Routine, durch die die Umwandlung der Zahlen-Codierung, die aus einem der Register R4 - RS entnommen und, wie gezeigt,
609831 /0654
? 6 01 2 A 2
in das Register R2 durch die Operationen des Blocks 95 oder 93 nach Fig, 9 gebracht wurde, in eine zur Identifizierung des entsprechenden Mikroprogramms des HOII 4 brauchbare Adresse bewirkt wird, welches Mikroprogramm auszuführen gewünscht wird, wird unter Bezugnahme auf Fig. 6 beschrieben.
Das Register R13 wird zunächst an der Zelle 2 durch Eingeben seiner Adresse in das RAH Adressior-Register durch Makroinstruktion (Block UO) angesprochen. Der Exponent des Registers R2 wird so erhalten und dem Sammler 21 zugeführt und mit 1 verglichen. Dies geschieht zwecks Unterscheidung beispielsweise zwischen 5 und 50 in R2, da jede Übertragung zwischen Registern unter Ausrichtung auf der linken Seite des übertragenen Datums (Block 111) stattfindet,
Wenn der Vergleich ein positives Ergebnis hat, bedeutet dies, daß das in R2 enthaltene Datum eine nur aus Einheiten bestehende Zahl ist, als ein Ergebnis, wovon eine Routine der Rechtsverschiebung des Datums in R2 (Block 112) um eine Position ausgeführt wird.
An dieser Stele wird der Inhalt von R2 mit 63 (Block 113) zwecks Feststellung eines möglichen Eingabefehlers von der Tastatur verglichen (wie erinnerlich, gibt es insgesamt 64 Mikroprogramme, die adressierbar sind).
Wenn das Datum höher als 63 festgestellt wird, wird dio Routine fortgesetzt und eine Routine des Anhaltens dor Verarbeitung und des Signalisieren^ des Eingabofehlers aus der Tastatur (Block 114) ausgeführt. Im entgegengesetzten Fall wird eine Übertragung der Zelle 1 von R2 in den Sammler ausgeführt (Block 115), gefoHg: von einer übertragung aus dem Sammler zur Zelle 0 des Registers R13 (Block 116)ο Auf diese Weise wird das Einheiten-Digit des Datums in dem Register R2 auf die Zelle 0 des Registers Rl3 übertragene
609831 /0654
280124
- 50 -
Die Zelle O des Registers R2 (&. h. das Zehner-Digit des Datums in 112) wird nun auf den Sammler 21 (Block 117) übertragen, und die Zelle 0 des Resistors R14 wird auf Null gestellt (Block HS).
Durch die durch die Logik-Blöcke 119, 120, 121, 122 dargestellten Operationen wird die Umv/andlung des in R2 enthaltenen Datums aus dem BCD-Format in das reine Binär-Format erhalten, z.B. nuß die Zahl 55 aus dem Format 01010101 in das Format 110111 umgewandelt werden. Dies wird erreicht durch Addieren von zehn (in Binär-Form) zu dem Hinheiten-Digit, das in dem Register RlZ; enthalten ist, Zelle 0, so viele Hai wie die durch das in dem Sammler (Block 120) enthaltene Zehner-Digit angegebenen Male und durch Addieren des möglicherweise erhaltenen Übertrags zu der Zelle 0 des Registers Rl4 (Block 121). Bei jeder Additions-Operation, die in dieser Weise ausgeführt wird, wird der Sammler heruntergeschaltet (Block 122) und geprüft, um festzustellen, ob er gleich 0 ist (Block 119). Falls eine solche Prüfung ein positives Ergebnis hat, endet die Umwandlung in Binär-Werte, und es werden zunächst der Inhalt von R14 und dann der Inhalt von R13 auf das Halte-Register 13 (Block 123) übertragen. Danach wird das Register 18 um ein Bit (Block 124) zwecks Erzielung in dieser TJeise der Multiplikation der vorher übertragenen Zahl mit zwei verschoben. Diese Multiplikation ist notwendig insofern, als die Hikroinstruktionen des ROM 4, die man durch diese Routine PGMIv anzusprechen wünscht, je zwei ROM-Positionen einnehmen. Wenn es also gewünscht wird, die dritte Mikroinstruktion des ROM 4 anzusprechen, ist es notwendig, die sechste Position des ROM 4 anzusprechen
en usw. Der Grund, weshalb die 64 Mikr ο Instruktion des ROM 4, die angesprochen werden können, je zwei Positionen einnehmen, erklärt sich durch das Wesen dieser Makroinstruktionen, die, da sie Sprung-Mikroinstruktionen sind, in der Lage sein
-31-
609831 /0654
nüssen, eine Adressen-Codierung verfügbar zu haben, die länger als die anderen Ilikroinstruktionon ist, d. h, so daß jede Position der 20A-G in den ROH k enthaltenen durch sie zugänglich gemacht v;erden kann. Die Adressen-Codierung ist deshalb, wie aus Fig. 5 ersichtlich, aus z\iö±f Bits aufgebaut, von denen vier in der ersten Position und acht in der zv/eiten Position, die durch die Makroinstruktion eingenommen wird, sich befinden.
Die letzte Operation der Routine PGIIiI besteht in der Verdopplung des Registers 18 in dom Register 26, das den ROII 4 anspricht, in der Zentral-lünlicit 6.
Die anschließende Zufuhr dos Inhalts dieses Registers in den ROI-I h gestattet den Zugang zu den gcv/ünscliten Mikroprogramm.
Qperationsfolgen
\I±q bereits erwähnt, dient die Taste = /i 57 (Fig. 'Ό zur Berechnung des diskontierten oder verhinderten Betrages oder des erhöhten Betrages. Dies v:ird durch eine Folge von Operationen bei/irkt, die durch Betätigung der Hultiplikations-Taste y'\- vor der Taste 37 durch 3führt v;erdon. Dann "wird zunächst die Verminderung in Falle des üinstellens einer negativen Veränderung und die Erhöhung im Falle einer positiven Veränderung mittels einer Multiplikation mit der Veränderung dividiert durch einhundert berechnet und dann der verminderte bzv, erhöhte Betrag durch Veranlassung des Anschluss einer Subtraktion bzi·;. einer Addition an die Multiplikation unter Verwirklichung der Formel
a± —
100
609831 /065A
Venn andererseits die Divisions-Tasto ~5 vor der Taste = 37 betätigt wird, wird die Berechnung des Prozentnetnon einer gegebenen Verminderung oder Erhöhung in oinem Betrag in Übereinstimmung"mit der Formel a χ 100 bewirkt. In die com Fall umfaßt die Folge eine D Division, auf die eine Ilultiplikatioii mit 100 folgt.
In "beiden Füllen wird die Betätigung der Taste = ·ά 37 ersetzt für die Betätigung der Taste = 36, die, wie "bereits gezeigt, je nach dem, ob die zuerst betätigte Taste die Taste 54 oder die Taste 35 ist, eine einfache Ilultiplikation unter Entnahme des Produkts oder eine Division unter Ermittlung des Quotienten bildet.
Vie bereits erwähnt , sind die Tasten 34, 35, 36 und 37, wie alle anderen Operations-Tasten, befähigt, Codierungen in don JJU-I 10 einzugeben, von denen jede ein entsprechendes Programm des ROH 9 anspricht. Hehr im einzelnen geben die Tasten 36 und 37 in den RAI-I 10 die Adresse eines und desselben Programms ein. Deshalb sind die Operationen, die der Reeimer in Auswirkung der Betätigung auf der Tastatur der Taste = r/j 37 ausführt, ähnlich denen, die in Aus-T/irkung der Taste 36 ausgeführt v/erden, aus welchem Grund das Flußdiagramm nach Fig. 10 beide Fälle umfaßt.
Es sind Ilittel vorgesehen, die direkt durch die Tasten 34, 35, 36 und 37 eingestellt v/erden können und in Auswirkung einer Instruktion des Programms abgefühlt werden, um gegebene Routinen für das Befehlen verschiedener Operationsfolgon auszuwählen. Iiehr im einzelnen umfassen diese Ilittel das Schaltelement SWITCH II in dem RAI-I 10 (Fig. 3), das in 1 positioniert ist (Operation 128 in Fig. 10), wenn die auf der Tastatur 31 (Figo 4) betätigte Taste die Kultiplikations-Taste 34 ist, und das bei 0 steht (Operation 129), wenn_die betätigte Taste die Divisions-Taste 35 ist. Diese I-Lttel umfassen ferner das Schaltelement
-33-
609831 /06b4
SWITCH I in dem RAI-I 10 (Pig. 3), das bei 1 positioniert ist (Operation 150 nach Fig. 10),'wenn die von der Tastatur 31 (Fig. 4) betätigte Taste die Tasto 36 ist, während es bei Hull steht (Operation 131 nach Fig. 10), ■wenn die betätigte Taste die Taste 37 ist. Bevor die Taste 34 oder 35 betätigt -wird, wird der erste Faktor a eingegeben, der auch im Speicher als das Ergebnis vorhergehender Operationen positioniert sein kann. Nach der Betätigung der Taste 34 oder 35 und vor der Betätigung der Taste 36 oder 37 wird der zweite Faktor b eingegeben, der das Ausmaß des Diskontos oder der Verminderung bei der Berechnung des verminderten oder erhöhten Betrags (Taste 34) wiedergibt oder die Verminderung im Falle des Auftretens eines Prozentsatzes (Taste 35).
Das in Auswirkung der Betätigung der Taste 36 oder 377 ausgeführte Programm sieht Instruktionen zur Prüfung der Schaltelemente S1JTfCH I und SIvITCI! II vor, die die Operationen ermöglichen, welche in den beiden zu unterscheidenden Fällen erforderlich sind. Eine erste Routine des Programms befiehlt in jedem Fall das Drucken des zweiten Faktors (Operation 152 in Fig. 10)t Darauf folgt eine Routine der übertragung des Registers Rl auf das Register R7 (Operation 133)P die zwecks Bewahrung des Inhalts von Rl bewirkt wird, der im Fall der Division den Dividenden darstellt und durch die Ilerunterschaltungen der Division verlorengehen würde.
Das Programm befiehlt jetzt das Abfülilen des üclxaltelements SWITCH Il (Operation 134) und, wenn diese Prüfung ein positives Ergebnis hat, fragt es eine Ilultiplikations-Routine zwischen dem Inhalt des Registers Rl und dem Inhalt des Registers R2 (Operation 135) ab. Im entgegengesetzten Fall fragt das Programm eine Divisions-Routine zwischen dem Inhalt der Register Rl und RZ (Operation 136)
ab· -54-
609831 /0654
G Schaltelement Su1ITCH I wird nun geprüft (Operation 157). Falls die Prüfung 137 ein positives Ergebnis hat (Betätigung der Taste 36), wird eine Routine des Druckes des Ergebnisses ausgewählt, die eine Operation 138 umfaßt, durch die das in den Register Rl enthaltene Ergebnis mit den Inhalt des Registers 112 ausgetauscht wird. Darauf folgt eine Operation 139, durch die die Speicherung des nach R2 übertragenen Ergebnisses in den Sammler-Register .115 bewirkt wird. Eine Operation l40 führt die vorher ausgewechselten Daten in die Register Rl und R2 zurück, urn zu den Drucken des Inhalts des Registers R2 (Operation l4l) vorzuschreiten.
Falls das Schaltelement SWITCH I sich bei Hull befindet (Betätigung der Taste 37), v/ird eine v/eitere Prüfung 142 des Schaltelenents SIiIi1CH II befohlen. \Jerm. diese ein positives Ergebnis hat. (Ilultiplikations-Taste), wird jetzt die Division dos vorher in Rl erhaltenen Ergebnisses durch 100 (Operation 143) durchgeführt, inden so die Verminderung oder Erhöhung erhalten v/ird.
In Fall, daß die Prüfung 142 ein negatives Ergebnis hat (Divisions-xaste)y v/ird jetzt eine Multiplikation mit 100 durchgeführt, v/ob ei die Berechnung des Auftretens eines Prozentsatzes in diesen Fall betroffen ist (Operation 144). Da die I las diine in wissenschaftlicher Schreibweise arbeitet, v/erden die Division durch 100 und die Multiplikation mit 100 durch Abziehen bzw. Addieren von 2 zu den Einheiten des Exponenten des Ergebnisses in dem Register Rl durchgeführt.
Nach der Operation 144 wird das Schaltelement SWITCH I jetzt auf 1 gestellt, wodurch die Vorbetätigung der Taste 37 nur in dom Fall aufgehoben wird, daß die Taste 35 zuerst betätigt wurde (Prozentsatz-Auftreten).
Nach der R.outine 143 oder der Operation 145 v/ird das Haupt-
-35-
609831 /0654
programm wieder eingegeben, und die Operationen 138, l4l werden wie in dem Fall der Taste 36 bewirkt, so daß bei der Operation 141 die Verminderung oder Erhöhung im einen Fall gedruckt wird und das Prozent-Auftreten im anderen Fall.
Eg ist deshalb klar, daß die Routinen der Operationen 136, 143, l44 und l4f> in Auswirkung der Be tut igung der Zusatz-Taste 37 ausgewählt werden sowie als eine Wirkung der Positionierung des Elements 8".JIxCII Il aufgrund der Betätigung der Operations-Taste 34 oder 35.
Nach den Druckvorgang l4l wird das Schaltelement 3"JITCK I wieder geprüft (Operation 146). "wenn die Prüfung ein positives Ergebnis hat, bedeutet das entweder, daß die Operation durch die Taste 36 nach der Taste 34 oder 35 (einfache Multiplikation oder Division) befohlen wurde oder daß sie durch die Taste 37 nach der Taste 35 allein (Prozentsatz-Auftreten) befohlen wurde. In beiden Fällen wird das Ende des Programms nach dem Druckvorgang erhalten (Operation 147).
Wenn andererseits die Prüfung 145 ein negatives Ergebnis hat (Betätigung der Taste 37 und der Taste 34), wird die Wiedergewinnung des Datums a, das in den Register R7 bewahrt wurde, durch seine Auswechselung nit dem Inhalt von R2 (Operation l4G) bewirkt, um es algebraisch zu dem in dem Register Rl aufgezeichneten Prozentsatz (Operation 149) zu addierenο Auf diese Weise wird der verminderte oder vermehrte Betrag in Rl erhaltene Hit einer Übertragung des Inhalts des Registers Rl auf das Register R2 (Operation 150) und Einstellen des Schaltelemente SWITCH I auf 1 (Operation 151) wird jetzt zu der Druck-Operation l4l zurückgekehrt, durch die der verminderte oder vermehrte Betrag gedruckt wird Danach gibt die Prüfung 146 ein positives Ergebnis, und die Routine endet mit den Programmschluß-Oporationen 147.
-36-609831 /0654
Selbstverständlich können verschiedene Abwandlungen an der beschriebenen Maschine vorgenommen werden, ohne von Unions der beanspruchten Erfindung abzuweichen. 3ei-STiielsweise lassen sich andere als I-iOS-Speiciier verwenden, wie z.B. nagnetostrilrtive, Ilagnotsclieiben- oder optische Speicher. Ferner kann eine nicht-nikroprograimnierte Zentral-lÜinlieit anstatt der mikroprogrammierten Zentralit, die vorstehend beschrieben wurde, benutzt v/erden.
Patentansprüche; 609831 /0654

Claims (1)

  1. - 37 -Patentansprüche: 9 R Π 1 ? A ?
    Elektronischer Rechner nit einer numerischen i'astatur für die Eingabe von zu verarbeitenden Daten, einem ersten Speicher zur Aufzeichnung und zum Lesen von Daten, einem zweiten Speicher zum Speichern einer Reihe von Programmen und einer datenverarbeitondeii Zentral-Sinlieit unter der Steuerung durch die Instruktionen der genannten Programme, d α d u r c Ii g ο kennzeichnet, daß der erste Speicher (RAI-I 5) befähigt ist, eine I lehr ζ aiii von Adressen des genannten Programms in dem zweiten Speicher (ROH '■:) aufzuzeiclinen, wobei I-Iittel vorgesehen sind für das Befehlen der "entnahme der genannten Adressen aus dom ersten Speicher (RAM cj) und das aiiGchließende Abfragen der entsprechenden Programme für die Steuerung der genannten Zentral-Einheit (o).
    2. Rechner nach Anspruch 1, dadurch gekennzeichnet, daß jede der genannten Adressen eine Sprung-Instruktion anspricht, die die Adresse der ersten Betriebs-Instruktion des entsprechenden Programms in dem zweiten Speicher (ROH 4) umfaßt, so daß die Adresse der genannten Sprunginstruktionen eine indirekte Adresse des entsprechenden Programms darstellt.
    3. Reeimer nach Anspruch 2, dadurch gekennzeichnet, daß die genannten Adressen durch numerische Codierungen gebildet werden, v/obei die Adressen der genannten Sprung-Instruktionen durch eine Reihe von numerischen Codierungen in fortschreitender Ordnung dargestellt werden, aus welchem Grund die genannten Sprung-Instruktionen in einem kompakten Teil des zweiten Speichers (ROH 4) aufgezeichnet sind*
    -38-
    609831 /0654
    7601242
    4. Rechner nach Anspruch 3, ei. a d u r c Ii ge k e η η zeichnet, daß die Adressen der Sprung-Instruktionen durch eine Reihe von fortschreitenden natürlichen Zahlen, die von 1 ausgehen, gebildet werden.
    5. Rechner nach einem der vorausgehenden Ansprüche, dadurch g e k e η η ζ e i c Ια η e t , daß die genannten Mittel durch die gemeinsame Betätigung mindestens einer der genannten numerischen Tasten (0) und eines zusätzlichen Befehlselements (P4l) wirksam gemacht werden.
    G. Rechner nach einem der Ansprüche 1 bis 4, mit einem Satz Operations-Tasten für seine manuelle Steuerung, dadurch gekennzeichnet, daß die genannten Mittel durch eine zusätzliche Taste wirksam gemacht werden, die sich manuell betätigen läßt, um die Entnahme der genannten Adressen aus dem ersten Speicher (RAM 5) zu befehlen.
    7. Rechner nach Anspruch G, dadurch gekennzeichnet, daß ein Entnahme-Programm, das befähigt ist, in Auswirkung der Betätigung,, der zusätzlichen Taste (P4l) abgefragt zu werden, in dem zweiten Speicher (ROM 4) aufgezeichnet ist.
    8. Rechner nach Anspruch 7, dadurch gekennzeichnet, daß das Entnahme-Programm befähigt ist, Abtastmittel für das Bewirken der aufeinanderfolgenden Entnahme einer Gruppe von in dem ersten Speicher (RAI-I 5) aufgezeichneten Adressen zu befehlen, v/oboi die Entnahme einer Adresse im Anschluß an die Ausführung einer Snd-Instruktion des Programms der vorhergehenden Adresse bewirkt wird.
    -39-
    609831/0654
    9. Rechner nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Adressen des ersten Speichers (RAI-I 5) sowohl als das Ergebnis vorhergehender Vorarboitungs-Operationon als auch als eine numerische Eingabe aus der Tastatur (2) aufgezeichnet werden können.
    10. Computer nach Anspruch 4 und einem der Ansprüche 6 bis 9, gekennzeichnet d u r c h I-Iittol zum Aufzeichnen in den Speicher, die befähigt sind, durch Betätigung der zusätzlichen Taste (P4l) eingestellt zu werden und dura, die Eingabe mittels der numerischen Tastatur (2) von Zahlen, die den ausgewählten Adressen unter den genannton Adressen entsprechen.
    11. Rechner nach Anspruch 10, d a d u r c h gekennzeichnet, daß in dem zweiten Speicher (PlOII ■'';·) ein Autoinstruktions-Programin aufgezeichnet ist, das sich in Auswirkung der Betätigung der zusätzlichen Taste (P4l) zur Einstellung der Aufzeiclinungs-Hittel abfragen läßt β
    12. Rechner nach Anspruch 11, dadurch gekennzeichnet, daß in Ausführung des genannten Autoinstruktions-Programns ein Zähler (Cl, C2) die Übertragung der Codierungen von den selektiv und aufeinanderfolgend angeschlagenen numerischen Tasten auf den ersten Speicher (RAII 5) auf vorbestimmte und aufeinanderfolgende Adressen steuert.
    13. Rechner nach Anspruch 7 und 12, dadurch gekennzeichnet; daß das genannte Entnahme-Programm und das genannte Autoinstruktions-Programm jeweils nach der Betätigung einer entsprechenden Taste der numerischen Tastatur (2) und der genannten zusätzlichen Taste (P4l) angesprochen werden.
    -40-
    609831 /0654
    -/,ο- 2801242
    I'':. Reeimer nach Anspruch 13, in den der erste Speicher in Register von vorbostimnter Kapazität unterteilt ist, g e k e η η ζ e i c Ii η et durch I litt el zur Prüfung des genannten Zählers (Cl), um die Gruppierung der von der genannten numerischen Tastatur (2) in Gruppen entsprechend der Kapazität der genannten Register (Rl ...) eingegebenen Adressen zu überprüfen.
    15. Reeimer nach Anspruch 14, dadurch gekennzeichnet, daß jede Gruppe von Adressen einen Teil eines vorbestimmten Programms darstellt, wobei Eingabe-Prüf-lIittel vorgesehen sincl zur Überprüfung joder Adressen-Gruppe auf der Grundlage von Prüf-Digits, die aufeinanderfolgend mit der Adressen-Gruppe eingegeben wurdeno
    16. Reeimer nach einem der Ansprüche 13 bis 15, dadurch gekennzeichnet, daß in dem zweiten Speicher (ROII 4) ein Anfangs-Programm aufgezeichnet ist, das sich in Auswirkung der gemeinsamen Betätigung einer vorbestimmten numerischen Taste (2) und der zusätzlichen Taste (P4l) abfragen läßt, um die Aufzeichnung in dem ersten Speicher (RAI-I 5) von einzelnen Programm-Adressen des genannten Speichers zu gestatten.
    17. Rechner nach Anspruch 15 und 16, dadurch gekennzeichnet, daß das genannte Anfangs-Programm ferner befähigt ist, die Berechnung der genannten Prüf-Digits zu steuern, die sich auf eine der genannten Kapazität entsprechenden Gruppe von Tasten beziehen, wobei Hittel vorgesehen sind für die Ausgabe der genannten, so berechneten Digits,
    -41-609831/0654
    1242
    wodurch die gesamte Gruppe sich aufeinanderfolgend durch Abfragen des genannten Autoinstruktions-Programms aufzeichnen läßt.
    18. Rechner nach Anspruch 4 und einen der Ansprüche 6 bis 17, dadurch gekennzeichnet , daß mindestens eines der Programme des genannten zweiten Speichers (ROM 4) wiederholt abrufbar ist durch Aufzeichnung zusätzlich zu der entsprechenden Adresse indem ersten Speicher (RAIi 5) einer Zahl, die der Anzahl der gewünschten Wiederholungen entspricht, wobei Mittel für die Feststellung dieser entsprechenden Zahl vorgesehen sind.
    19. Rechner nach Anspruch 16, in dem die Adresse jedes Programms durch eine vorbestimmte Anzahl von Dezinal-Digits gebildet wird, dadurch gekennzeichnet, daß die Anzahl der Wiederholungen und die Adresse des entsprechenden Programms mit der genannten Anzahl von Digits eingegeben werden, wobei mindestens einer der genannten Digits die genannte Anzahl der Wiederholungen darstellt und die restlichen Digits mit vorbestimmten, die Adresse darstellenden Digits zusammengefaßt sind.
    20. Rechner nach Anspruch 19, dadurch g e k ο η η zeichnet, daß die genannten Adressen durch zv/ei numerische Codierungen dargestellt und paarweise aus dem ersten Speicher (RtUI 5) entnommen und vorübergehend in einem Übergangs-Register aufgezeichnet werden, wobei Mittel zur Prüfung des genannten überganr;s-Registers befähigt sind, eine der genannten Codierungen zu prüfen und die Übertragung der numerischen Codierung auf einen Zähler (C2) zu veranlassen, wenn die erste numerische Codierung vorbestimmte Werte aufweist, wobei
    -42-
    609831 /0654
    - 42 - 2801242
    der genannte Zähler bei joder Ausführung des entsprechenden Programms zurückgeschaltet wird, bis er auf Null gestellt ist.
    21. Rechner nach Anspruch 6 und einem der Ansprüche 7 bis 20, dadurch gekennzeichnet, daß die genannten Operations-Tasten mindestens eine vorbestimmte Operations-Taste umfassen, die befähigt ist, die Adresse eines entsprechenden in dem zweiten Speicher (ROI-I 4) aufgezeichneten Programms einzugeben, wobei durch die anderen Operations-Tasten I-Iittel direkt einstellbar sind und durch eine Prüfeinrichtung in Auswirkung einer vorbestimmten Instruktion des entsprechenden Programms für die Auswahl spezieller Routinen des genannten entsprechenden Programms abgefühlt worden.
    22ο Rechner nach Anspruch 21, d a d u r c h gekennzeichnet, daß die einstellbaren Kittel eino R.eihe von Elementen umfassen, die durch eine entsprechende Reihe von Operations-Tasten einstellbar sind, wobei die in Auswirkung der Betätigung der genannton zusätzlichen Taste (P4l) ausgewählten Routinen eine Funktion mindestens des nach der Betätigung einer anderen der genannten Operations-Tasten eingestellten Elements sind.
    23. Rechner na.ch Anspruch 22, dadurch gekennzeichnet, daß die zusätzliche Taste eine Prozentsatz-Taste (= ^j 37) ist und die andere Operations-Tasto eine Divisions-Taste (35), wobei-das entsprechende Programm in Auswirkung des Abfühlens des durch die genannte Divisions-Taste (35) eingestellten Elements eine Reihe von Routinen auswählt, die in der genannten Zentral-Einheit (6) die Verarbeitung des Prozentsatzes
    -43-609831 /0654
    7601 2A2
    voranlassen, der durch die Formel angegeben \;ird: b
    — x 100 , -wobei die Mengen b und a in den genannten a
    Speicher gespeichert sind.
    24. Rechner nach Anspruch 22 oder 23, in den die anderen Operations-Tasten forner eine Additions-Taste, eine Subtraktions-Taste und eine I-Iultiplikat ions-Taste umfassen, dadurch gekennzeichnet, daß das genannte Programm befähigt ist, in Ausv/irkung des Abfühlens des durch eine der Additions- und Subtraktions-Tasten und durch die genannte llultiplikations-Taste einige stellten Elements eine !leihe von Routinen auszuwählen, die befähigt sind, in der genann ten Verarbeitungs-Einheit die Verarbeitung eines gegebenen Kapitals a in einen gegebenen Prozentsatz b zu verarbeiten, gefolgt von einer algebraischen Summe des genannten Kapitals a und des genannton Prozentsatzes b entsprechend der Formel a -»- ax b .
    100
    ο ο ·
    Wb/je - 25 Ö88
    609831/0654
    Leerseite
DE19762601242 1975-01-24 1976-01-14 Elektronenrechner mit programmspeicherung Withdrawn DE2601242A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IT6714675A IT1027347B (it) 1975-01-24 1975-01-24 Calcolatrice elettronica programmabile
IT6927575A IT1048204B (it) 1975-09-12 1975-09-12 Perfezionamenti a una calcolatrice elettronica programmabile

Publications (1)

Publication Number Publication Date
DE2601242A1 true DE2601242A1 (de) 1976-07-29

Family

ID=26329719

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19762601242 Withdrawn DE2601242A1 (de) 1975-01-24 1976-01-14 Elektronenrechner mit programmspeicherung

Country Status (5)

Country Link
US (1) US4091446A (de)
JP (1) JPS5199433A (de)
DE (1) DE2601242A1 (de)
ES (1) ES444569A1 (de)
FR (1) FR2298830A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4218760A (en) * 1976-09-13 1980-08-19 Lexicon Electronic dictionary with plug-in module intelligence
DE2843179C2 (de) * 1978-10-04 1980-09-25 Te Ka De Felten & Guilleaume Fernmeldeanlagen Gmbh, 8500 Nuernberg Kennzeichenumsetzergerät zum Verarbeiten von codierten während zyklisch aufeinanderfolgender Zeitrahmen übertragenen vermittlungstechnischen Informationen
GB2077010B (en) * 1980-06-02 1984-10-31 Hitachi Ltd Microprogramme control method and apparatus therefor
GB2079492B (en) * 1980-06-25 1984-06-06 Yokogawa Electric Works Ltd Programmable controller
US4575816A (en) * 1980-12-19 1986-03-11 International Business Machines Corporation Interactive transactions processor using sequence table pointers to access function table statements controlling execution of specific interactive functions
FR2508192B1 (fr) * 1981-06-22 1986-09-05 Superba Sa Mini-ordinateur de tricotage donnant des instructions de tricotage
US4386773A (en) * 1981-06-22 1983-06-07 Bronstein John M TV Game cartridge with expandable memory
US4493045A (en) * 1981-10-19 1985-01-08 Fairchild Camera & Instrument Corp. Test vector indexing method and apparatus
DE3501569C2 (de) * 1984-01-20 1996-07-18 Canon Kk Datenverarbeitungseinrichtung
US4722065A (en) * 1984-03-30 1988-01-26 Casio Computer Co., Ltd. Electronically programmable calculator with memory package
JPS60247766A (ja) * 1984-05-22 1985-12-07 Sharp Corp プログラム計算機
JPS61658U (ja) * 1985-05-27 1986-01-06 シャープ株式会社 電子式計算機
US4937732A (en) * 1987-10-20 1990-06-26 James Hardie Irrigation, Inc. Irrigation controller
US5515303A (en) * 1989-04-14 1996-05-07 Norand Corporation Hand-held computerized data collection terminal with rechargeable battery pack sensor and battery power conservation
US6023147A (en) * 1989-04-14 2000-02-08 Intermec Ip Corp. Hand held computerized data collection terminal with rechargeable battery pack sensor and battery power conservation
US7388742B2 (en) * 1989-04-14 2008-06-17 Broadcom Corporation Portable computerized data communication device
US5227988A (en) * 1989-11-09 1993-07-13 Nippon Steel Corporation Apparatus for detecting various process values and apparatus for recording information
JPH04316185A (ja) * 1991-04-16 1992-11-06 Sharp Corp Icカード用端末
US20090322277A1 (en) * 1992-11-30 2009-12-31 Broadcom Corporation Portable computerized data communication device

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3355714A (en) * 1963-10-21 1967-11-28 Bunker Ramo On-line computing system for processing mathematical functions
GB1103384A (en) * 1964-03-02 1968-02-14 Olivetti & Co Spa Improvements in or relating to electronic computers
GB1103385A (en) * 1964-03-02 1968-02-14 Olivetti & Co Spa Improvements in or relating to program controlled electronic computers
US3533076A (en) * 1967-10-30 1970-10-06 Burroughs Corp Electronic accounting apparatus
US3610902A (en) * 1968-10-07 1971-10-05 Ibm Electronic statistical calculator and display system
BE741352A (de) * 1968-11-11 1970-04-16
US3573746A (en) * 1968-12-09 1971-04-06 Wang Laboratories Calculator system
US3594734A (en) * 1969-03-21 1971-07-20 Wang Laboratories Programmable calculator
US3588841A (en) * 1969-03-27 1971-06-28 Singer Co Programmable electronic calculator
CH515557A (it) * 1969-06-21 1971-11-15 Olivetti & Co Spa Calcolatore elettronico
US3623012A (en) * 1969-06-30 1971-11-23 Ibm Accounting system with program by example facilities
US3593313A (en) * 1969-12-15 1971-07-13 Computer Design Corp Calculator apparatus
US3760171A (en) * 1971-01-12 1973-09-18 Wang Laboratories Programmable calculators having display means and multiple memories
US3859635A (en) * 1971-06-15 1975-01-07 Robert E Watson Programmable calculator
US3839630A (en) * 1971-12-27 1974-10-01 Hewlett Packard Co Programmable calculator employing algebraic language
US4012725A (en) * 1972-07-07 1977-03-15 Hewlett-Packard Company Programmable calculator
US3971925A (en) * 1972-12-26 1976-07-27 Hewlett-Packard Company Adaptable programmed calculator having provision for plug-in keyboard and memory modules

Also Published As

Publication number Publication date
JPS5199433A (de) 1976-09-02
US4091446A (en) 1978-05-23
FR2298830A1 (fr) 1976-08-20
FR2298830B3 (de) 1978-10-13
ES444569A1 (es) 1977-09-01

Similar Documents

Publication Publication Date Title
DE2601242A1 (de) Elektronenrechner mit programmspeicherung
DE2540824C2 (de) Auf verschiedene Ausbaustufen veränderbare Abrechnungsmaschine
DE2318069C2 (de) Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE2453040C3 (de) Programmierbarer elektronischer Rechner
DE1146290B (de) Elektronisches Datenverarbeitungssystem
DE2440072A1 (de) Elektronischer rechner
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE1424732A1 (de) Elektronische Ziffernrechenmaschine
DE1282337B (de) Programmgesteuerte elektronische Rechenanlage
DE2930441C2 (de) Anzeigeeinrichtung zur wahlweisen dynamischen oder statischen Anzeige
DE3043653C2 (de) Datenverarbeitungsanlage
DE2420057A1 (de) Elektronischer computer fuer gespeicherte programme
DE2717976A1 (de) Computer mit einer anordnung zur veraenderung der arbeitsumgebung des computers
DE2949153A1 (de) Programmierbarer rechner mit einer einrichtung zum steuern des lesens von programmdaten
DE2321701A1 (de) Kartenleser mit mehreren lesekanaelen
DE1806535B2 (de) Seriell arbeitende digitale rechenanlage
DE2753650C2 (de) Zeithaltende Einrichtung mit einem Register zum Speichern von Zeitzähldaten
DE1160222B (de) Schaltungsanordnung zur Adressenmodifikation bei einer programmgesteuerten digitalen Rechenmaschine
DE2641971A1 (de) Digitale tisch-buchungs- und -rechenmaschine
DE2428020A1 (de) Elektronische datenverarbeitungsanlage mit unabhaengigen funktionseinheiten fuer das gleichzeitige ausfuehren verschiedener operationen an denselben daten
DE1221037C2 (de) Verfahren zur Speicherung hierarchisch geordneter Datenketten und Anordnung zur Durchfuehrung dieses Verfahrens
DE2264184C3 (de) Elektrischer Tischrechner
DE1197651B (de) Datenverarbeitungssystem
DE2458651A1 (de) Elektronische datenverarbeitungsanlage mit einrichtung zur fehlerbefreiung von rechenprogrammen

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8130 Withdrawal