DE2420057A1 - Elektronischer computer fuer gespeicherte programme - Google Patents

Elektronischer computer fuer gespeicherte programme

Info

Publication number
DE2420057A1
DE2420057A1 DE2420057A DE2420057A DE2420057A1 DE 2420057 A1 DE2420057 A1 DE 2420057A1 DE 2420057 A DE2420057 A DE 2420057A DE 2420057 A DE2420057 A DE 2420057A DE 2420057 A1 DE2420057 A1 DE 2420057A1
Authority
DE
Germany
Prior art keywords
address
memory
command
register
program
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
DE2420057A
Other languages
English (en)
Inventor
Gastone Garziera
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
Application filed by Olivetti SpA filed Critical Olivetti SpA
Publication of DE2420057A1 publication Critical patent/DE2420057A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M11/00Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
    • H03M11/20Dynamic coding, i.e. by key scanning

Description

Die Erfindung bezieht sich auf ein Verfahren und eine. Vorrichtung zur Verwendung bei einem elektronischen Computer zum Ändern eines gespeicherten Programms. Das Streichen eines Befehls aus einem Hauptspeicher enthält das Verdichten des Programms, das den gestrichenen Befehl enthält, um Speicherraum zu erhalten. Das Einsetzen eines Befehls in ein in einem Hauptspeicher gespeicherten Programms enthält das Verschieben nachfolgender, dort gespeicherter Befehle. Der Speicher kann in willkürliche Abschnitte unterteilt sein, die auf einen Befehl die Suche einer besonderen zu kürzenden Subroutine ermöglichen. Die Subroutinen in dem Programm, die ruhen gelassen werden können, besitzen je ein
409847/0822
— 2 —
entsprechendes Programmhöhenregister. An jedem Stxüroutine-Springbefehl wird der Inhalt der Pragramrahöhenregister aufgeschoben, um das Segister der laufenden '""""" Programmhähe aufrecht zu erhalten«
Die Erfindung bezieht sich auf einen elektronischen Computer mit einem in einem Speicher eingespeichertem Programm und mehreren peripheren Geräten.
Das Ausführen des im Speicher, liegenden Programms erfolgt bei bekannten Einrichtungen mit dem Aufbrechen der Seihenfolge der Erfindung. Diese Reihenfolge wird nur zum Ausführen von aufbereiteten Springbefehlen aufgebrochen. Diese aufbereiteten Sprihgbefehle treten in vielen Ausführungsbeispielen auf, wenn bestirnte Verarbeitungsergebnisse erhalten werden, die so angeordnet sind, dass sie vor dem Ausführen des echten Sprunges geprüft werden. Wenn das Ergebnis negativ ist, wird der Sprung nicht ausgeführt und der «ent· Sprung wird übergangen.
Subprograram-Sprünge ergeben das Speichern eines Wiedereintrittspunkts : durch Übertragen des Inhalts eines Progrsueezänlers in ein Hilf sregister, wobei der letzte Befehl die Wiedereintrittsadresse durch Ausführen der Unikehrübertragung aus dem des Eilfsregisters in den Prograaezähler wieder herstellt.
fefenu dieselbe Adresse aus mehreren Subprogramaien wieder «ingegeben wird, ist der Programmierer gezwungen, ia bekannten Einrichtungen eine neue Zustandsanalyse und somit andere Sprung·
4 09 8 47/0822
zu programmieren, die von den bereits ausgeführten Subprogrammen abilängen. Auf diese Weise ist die Geschwindigkeit, mit der die Einrichtung betrieben werden kann, stark begrenzt.
Biesen und anderen Begrenzungen begegnet der Computer nach der Erfindung wobei unter den besonderen ausführbaren Befehlen einer das Miedereintreten in das Hauptprogramm aus dem Subprogramm betrifft und die variable Zahl von Befehlen verschoben wird, die fortlaufend im Hauptprogramm angeordnet sind.
Diese und andere Charakteristiken der Erfindung ergeben sich aus der Beschreibung bevorzugter Ausführungsbeispiele, die aber die Erfindung nicht einschränken, und aus den Zeichnungen. In diesen ists
figur 1 ein Blockdiagramm des Computers nach der Erfindung; Figur 2 ein'Blockdiagramm «!ines Computerspeichers9 Figur 3 ein Blockdiagramm eines Zentralgerätes; Figur h ein Diagramm einer Speicheranordnung; Figur 5 das vollständige Diagramm eines Computerspeichers;
Figur 6 ein Organisationsprogramm des Teils des Cemputerspeichers;
!Figur 7 ein Beispiel einer Multiplexschaltung für die Aufzeichnung im Speicher;
Figur 8 eine Addiersehaltung des Zentralgerätes; Figur 9 ein Diagramm der zeitlichen Verläufe; Figur 10 ein Stromlauf der Zustände der Maschine; Figur 11 ein Diagramm des Programmkorrekturverfahrens; Figur 12 das Format eines Mikrobefehls; und Figur 13 eine Darstellung des Programmverlaufs.
409847/0822
Die Fig. 1 zeigt einen Computer, der im wesentlichen aus einer Anlc^ge 2 besteht, die sich unterteilt in ein Zentralgerät 1, mit dem die Steuerung auf nachstehend noch zu beschreibende Weise durchgeführt wird, sowie den Bearbeitungs- und Übertragungseinrichtungen für die Daten zwischen den anderen Einheiten des Computers. Diese Anlage 2 weist einen Speicher 3 auf, der hier RAM genannt wird und die in den fortschreitenden Bearbeitungsvorgängen verwendeten Daten oder Befehle speichert. Ein Steuerspeicher 5, hier ROS genannt, speichert die die grundlegenden Operationen der Anlage steuernden Mikroprogramme.
409847/0822
Das Zentralgerät 1 liegt über einen Kanal 7 an den beiden Steuereinheiten 9 und 11, von denen letztere den Informationsoder Datenaustausch zwischen dem Zentralgerät 1 und einem peripheren Bandgerät 13 bekannter Bauart auf herkömmliche Weise steuert. Durch die Steuereinheit 9 wird der Informationsaustausch zwischen dem Zentralgerät 1 und einer Gruppe peripherer Einheiten 15, 17, 19 und 21 gesteuert, die jeweils durch eine entsprechende Gruppe von Betätigungsschaltkreisen 10 angesteuert werden.
Hierbei stallt insbesondere das periphere Gerät 15 eine alphanumerische Tastatur dar, die eine Anordnung nach der italienischen Patentschrift 863 ^KX) aufweist. Das periphere Gerät 17 ist ein seriell arbeitender alphanumerischer Drucker z.B. nach der italienischen Patentschrift 825 7^8. Die Einheit 19 ist eine Lese-Schreibeinheit für magnetische Index- oder Postkarten von der in der italienischen Patentschrift 716 538 beschriebenen Bauart.
Das periphere Gerät 21 ist ein an sich bekanntes Steuerpult, das nicht näher beschrieben werden muss. Das Pult weist im wesentlichen Funktionsdrucktasten oder -anzeiger auf, die den Betriebszustand der Anlage bestimmen oder angeben. Z.B. eine Drucktaste mit der Bezeichnung "Record Program" (Programm aufzeichnen) legt fest, dass ein auf der Tastatur eingetasteter Befehl nicht durchgeführt sondern in den Speicher RAM 3 gegeben werden soll. Durch eine andere Drucktaste mit der Bezeichnung "Single Step" (Einzelschritt) wird festgelegt, dass das Programm schrittweise ausgeführt werden soll, wobei nach Durchführung eines jeden Befehls angehalten wird. Dies wird
- 5 409847/0822
dann vom Drucker ausgedruckt.
Weitere peripheren Geräte wie ein Plotter, Messinstrument, ein zusätzlicher Drucker sowie Fehlersuchgeräte können über die mit dem Bezugsseichen 23 gekennzeichnete Verbindungseinheit IPSO an das Zentralgerät angeschlossen sein.
HAM 3 ist ein Lese-Schreibspeicher, der aus (Metalloxyd-) Halbleitern besteht und eine maximale Wortlänge von 4096 Stellen hat, die jeweils vier Bits aufweisen, was ausreicht, um eine numerische Zeichenvariable von O bis 9 darzustellen. Der Speicher MM (Fig. 2) setzt sich aus 16 Metalloxydhalbleiterchip 14 , Ik ... 1k zusammen, die in Vierergruppen zusammengefasst sind. Diese Gruppen sind in vier übereinander liegenden Ebenen angeordnet, d.h. es gehören zur ersten Gruppe die Chip 14-, 14. , i4n, 1^12' zur aweiten Gruppe die Chip 1*hp ^ς> ^q' "^t* usw. ^^ ^e aIi^eren- Gruppen. Dabei enthält jeder Chip 1024 Bit, die in einem quadratischen Gitter von 32 Stellen pro Seite angeordnet sind.
Für die Adressierung einer Speicherstelle des RAM 3 sind demzufolge zwölf Bit erforderlich: 5+5 als. Adressierbit gekennzeichnete Bit (Fig. 2) identifizieren einen Punkt des 32 χ 32 Gitters aller Chip und weitere 2 Bit gelangen zu einem an sich bekannten Dekodierschaltkreis 12 und werden dekodiert, wobei vier Impulse erzeugt werden, nämlich CE 10, CE 20, CE 30 und CE 40, welche an die Chip der entsprechenden Gruppe gegeben werden und gleichzeitig in allen vier Ebenen die betreffende Gruppe der Chip 14 identifizieren. Der RAM 3 weist einen Paaallelitätausgang von vier Bit, nämlich TJME 00,
409847/0822
-Js-
UME 10, UME 20 und UME 30, sowie einen Parallelitäteingang von vier Bit auf, und zwar EM 001, RMO 11, BMO 21 und HMO 31. Die Ausgänge werden in der Abwesenheit eines Schreibfreigabesignals wirksam, während die Eingänge RMO bei vorhandenem Schreibfreigabesignal aktiviert werden. Dieses Signal wird von einem geeigneten und an sich bekannten Schaltkreis, der in der Zentraleinheit 1 (Fig. 3) in Folgeschaltung 2h enthalten ist, als Funktion des gewünschtericassen auszuführenden Lese- oder Schreibbefehls gegeben.
Die einzelnen Zeichen von RAM 3» die von vier Bit gebildet sind, werden ihrerseits in Gruppen von fünfzehn zusammengefasst, um ein 60-Bit-Register zu bilden. Insgesamt können für RAM J> 2^0 Register identifiziert werden, die der Aufnahme von numerischen Daten oder Befehlen des Benutzers dienen. Die Teilung der einzelnen Register dient zur halblogarithmischen Darstellung der numerischen Daten.
Insbesondere wird eine generische Nummernangabe oder -Information durch eine Mantisse von 12 Zeichen, einem Exponenten aus zwei Zeichen sowie vier Bjt dagestellt, von denen das erste das algebraische Zeichen des Exponenten und das letzte das der Mantisse darstellt.
Die Tabelle 1 zeigt ein Beispiel der halblogarithmischen Darstellung der Nummern 0.000^951627 ^ά - 29,8Vl, 630.2051.
409847/0822
Nummer Darstellung im Speicher
Mantisse Exp. Zeichen
0.0004951627 495162700000 03 1000 - 29,841,630.2051 298416302051 08 0001
1 = - Zeichen des Εχρΐ
0 = + Zeichen der iian-· tisse
Anstelle der numerischen Angabe kann jedes Register des EAH 3 fünf Programmbefehle von je 12 Bit Länge enthalten. Hierbei setzen sich die Instruktionen grundsätzlich aus zwei Feldern zusammen, von denen eines, das die durchzuführende Operation darstellt, der "Funktionskode11 genannt wird, während das andere, das das Eegister auf den Inhalt identifiziert, an dem die Operation durchzuführen ist, als "Operand" bezeichnet wird. Manchmal gibt zur Unterbrechung der normalen Durchführungsfolge ein in das Programm eingefügten Sprungbefehl der Operand die Speicherstelle an, von der aus der nächste durchzuführende Befehl aufzufinden sein wird. Aus der nachstehenden Beschreibung ist ersichtlich, dass diese Befehle von der Bedienungsperson auf der Tastatur 15 (Fig. 1) mittels einer Kombination von Nummern- und Funktionstasten zusammengestellt werden.
Der SOS 5 (Fig. 1 ) ist ein Lese- oder Feststeuerspeicher bestehend aus 12 MOS-Ghip. Hier sind die Mikrobefehle permanent gespeichert, die die Durchführung der Tastaturbefehle
-B-
40 9847/0822
ermöglichen und den Datenaustausch zwischen den verschiedenen Teilen der Anlage 2 nach dem Verfahren der Mikroprogrammierung bewirken. Da jedes Chip des HOS 4096 Bit enthält und jeder Mikrobefehl eine Länge von 16 Bit aufweist, liegt die maximale Anzahl der Mikrobefehle, die fiOS 5 enthalten kann, bei 3072. Der ROS ist in sechs "Seiten" unterteilt, von denen jede 512 Mikrobefehle aufweist. Die Mikrobefehle sind durch 12 Bit zugänglich, wobei drei die "Seite" wählen und neua:. den Mikrobefehl aus einer Anzahl von 512 möglichen auf der "Seite" auswählen.
Der Satz Mikrobefehle basiert auf 35 verschiedenen möglichen Maschinenoperationen, die sich zu sechs Gruppen zusammenstellen lassen:
1) Datenaustausch zwischen dem Zentralgerät 1 und dem MM 3 und zwischen EOS 5 und RAM 3,
2) arithmetische Operationen,
3) logische Operationen,
4) Überführungsoperationen,
5) Schnittstellenoperationen und.
6) Sprungbefehle
Die Zentraleinheit 1 (Fig. 3) weist einen Nutzungs- oder Zwischenergebnisspeicher 16 auf, der nachstehend als S.P. (Scratch-Pad) bezeichnet wird. Er enthält Informationen, die häufig verlangt werden oder Zwischenergebnisse darstellen, so dass der kontinuierliche Zugriff in der Einheit RAM 3 vermieden wird, die eine Speicherzykluszeit hat, die zwanzig mal grosser ist als die Zykluszeit des Zwischenspeichers 16, der
409847/0822
aus bipolaren integrierten Schaltkreisen aufgebaut ist, wodurch grössere Geschwindigkeiten erreicht v/erden, als dies bei mit Metalloxydhalbleitern gefertigten integrierten Schaltkreisen der Fall ist.
Das S.P. 16 besteht aus 16 Registern RO .... R9, RA. .... RF. Diese Register besitzen die Parallelität von 12 Bit, die auf zwölf Baugruppenplatten untergebracht sind, wobei jede durch das Bezugszeichen 23 gekennzeichnete Platte den in Fig. *f dargestellten Aufbau besitzt. Jede Platte oder Gruppierung 25 enthält 16 Bit, die die entsprechenden Bit der Register RO ... Rg, RA. ... RF sind. Zum Beispiel enthält die erste Gruppierung alle ersten Bit der sechzehn Register, die zweite Gruppierung alle zweiten Bits der sechzehn Register usw. bis zur zwölften Gruppierung, die alle zwölften Bits der sechzehn Register enthält. Vier Bit sind für die Adressierung der Register des S.P. 16 ausreichend.
Es besteht darüber hinaus die Möglichkeit die zwölf Gruppierungen in Vierergruppen anzuordnen: zur ersten Gruppe, oder zum S.P. CoI. 1 (Fig. 3)» gehören die vier Gruppierungen, welche die ersten vier Bit der sechzehn Register aufweisen, zur zweiten Gruppe, oder CoI. 2, und zur CoI. 3 gehören die nächsten vier Bit der sechzehn Register, usw. Demzufolge sind drei S.P.Spalten genau erfasst. In jeder einzelnen Spalte gibt es immer sechzehn verschiedene Adressierungsmöglichkeiten und demzufolge sechzehn Register bei einer Parallelität hier von vier. Ih den drei Spalten gibt es demgemäss kS Register insgesamt bei einer Parallelität von vier, für deren Adressierung sechs Bit erforderlich sind.
- 10 -
409847/0822
Der Vorteil in der Verwendung von sowohl h-Sa.t Registern und 12-Bit Eegistern im S.P.-Speicher 16 liegt in der Möglichkeit, Daten von *j-Bit aus SAIi 3, die dann BAM 3 nach der Bearbeitung vjieder zugeführt werden, sowie 12-Bit Adressen von BAM 3 oder BOS 5 aufzunehmen.
Von den sechzehn 12-Bit-Begistern des S.P. 16 sind die ersten vier, d.h. HO, B1, S2, B3, erwähnenswert, von denen BO iamer die laufende Adresse von HOS 5 enthält, die automatisch um 1 bei jedem gelesenen Mikrobefehl veraehrt wird, wobei B1 die von BOS 5 gesandten Konstanten, R2 die zwölf Schaltelemente von je einem Bit und B3 die Adressen von BOS während der Durchführung des bedingten Sprungbefehls enthalten.
Der Inahlt dieser Segister wird automatisch~auf"-die Begister B8 ... BB während des Zündung der Stufen des Systems uber-_ tragen, die durch Drücken eines Rückschaltknopf es gestartet """""" wird, der für sich bekannt und in der Tastatur 15 entnalten ist {Figur 1).
Es gibt dort darüber hinaus eine vierte Spalte im S.P. (Hg. 3)j die aus einem einzigen Begister S02 mit vier Flip-Flop C,D,E und F besteht. Das Begister S02 kann durch nur zwei Bit adressiert werden, die zum Identifizieren der Spalte der Begister C, D, E und F notwendig sind, da das Begister S02 das einzige in der Spalte ist. Die Flip-Flop C, D, E und F werden als Schalter verwendet und sind gemäss der quantitativen Ergebnisse mehrerer Mikrobefehle eingestellt, z.B. eine von Hull abweichende Zahl, eine Binärzahl höher übertragbar als 15, eine Binärzahl höher übertragbar als -^95, eine Binärzahl grosser als 9-
- 11 -
409847/0822
Die Ausgänge des S.P. 1b liegen an einem Auslese- oder Pufferre^ster i6a, das aus zwölf bipolaren Flip-Flop besteht. Diese Register dient zum Speichern des Datenausgangs, der durch den S.P. 16 gespeichert und verarbeitet werden soll, als Kanal für die Ausgangsdaten durch das Zentralgerät 1 und die peripheren Geräte und an das RAM 3· Ferner kann der Puffer 1ba die Adresse des RAM 3 oder auch die Adresse des ROS 5 enthalten.
Das Sentralgerät 1 enthält ferner eine Schreibschaltung i6b, bei der die Daten ankommen, dienach der Verarbeitung durch das arithmetische und logische Gerät an den S.P. 16 zurückgeführt v/erden müssen, oder die Daten, die in den S.P. aus den Handgeräten, aus dem RA.M5 oder aus dem ROS 5 kommen. Die Schaltung i6b besteht aus zwölf gleichen Multiplexschaltungen, von denen nur ein V/A 1 in Figur 7 gezeigt wird. Jede Multiplexschaltung besitzt acht durch drei Befehle CSW1 bis CSW3 des Zentralgerätes 1 auswählbare Eingänge und zwei Ausgänge WAO und WAN, von denen einer direkt verläuft und einer negiert ist.
Das Zentralgerät 1 (Figur 3) enthält ferner ein arithmetisches und logisches Gerät 13 aus einem Addierer i8a (Figur 8) mit zwölf Stufen U1 bis U12, die in Kaskade geschaltet und für sich benant sind. Jede Stufe kann eine Addition an drei Bit gleichzeitig ausführen. Zwei Eingänge 1 und 2 jeder Stufe werden mit den Bit addiert. Das dritte R dient zum möglichen Übertrag und bildet die Verbindung zwischen den einzelnen Stufen des Addierers. Der Übertragausgang einer bestimmten Stufe ergibt somit den Übertragseingang der folgenden Stufe. Die erste Stufe
- 12 -
409847/0822
nimmt an ihrem Eingang R einen Befehl CS aus dem Zentralgerät auf, der dem Vorliegen eines Bits am Eingang R gleichwertig ist.
Der Addierer 19a kann mit einer Parallelität von vier, was die Ausgänge U1, Ü2, U3 und Uk der ersten vier Stufen nutzt, oder mit einer Parallelität von zwölf verwendet vierden, was alle Ausgänge Ü1, U2, Up... U12 für die Additionen bei Daten und für die Additionen an Adressen nutzt. Die Ausgänge des Addierer i8a mit einer Parallelität von zwölf ergibt einen der Eingänge der Multiplexschaltungen WA1 bis WA12 (Figur 7) der Schreibschaltung i6b des S.P. 16 (Figur 3)· Die Ausgänge des Addierers i8a mit einer Parallelität von vier ergibt einen anderen Eingang der Multiplexschaltung WA1 bis WA^ (Figur 7) der Schaltung i6b.
Das Gerät 1S enthält ferner eine logische Schaltung 118 (Figur 3), die für sich bekannt ist und die logischenNND, HAND, ODER und Exklusiv-ODER-Funktionen zwischen zwei ^t-Bit Daten ausführt. Die Ausgänge der logischen Schaltung 118 bilden die beiden Eingänge UND und ODER von WA1 (Figur 7) und somit des S.P. 16 (Figur 3).
Das Zentralgerät enthält ferner ein i6-3it-Register 20, das nachstehend mit ROS-Puffer 20 bezeichnet wird. Dies ist ein Register im Zentralgerät 1, das Ausgangspufferfunktionen für die Mikrobefehle im ROS 3 besitzt. Jeder Befehl folgt einem Zyklus, in dem er vor dem Ausführen aus dem ROS 5 - 2^ den vom ersten Register 10 des S.P. 16 angezeigten Adresse herausgezogen werden muss. Diese Adresse wird bei einem Befehl aus dem Zentralgerät 1 unmittelbar danach um 1 erhöht. Das Register
- 15 -
409847/0822
empfängt den Befehl im 16-Bit-Format, das allen möglichen 35 Mikrobefehlen gemeinsam ist.
In dem gemeinsamen Format sind'die 16 Bit des Befehls in drei Felder F, X und Ϊ (Figur 12) zusammengefasst. Das erste Feld F mit vier Bit dient zum Identifizieren des Funktionskode, das zweite mit sechs Bit zum Adressieren des ersten Operanden im S.P. 16 und das dritte mit anderen sechs Bit zum Adressieren eines zweiten Operanden (4-Bit-Register) im S.P. 16.· Da das Feld F allein 16 mögliche Befehle mit ihren vier Bit dargestellt werden kann, sind die übrigen 19 Befehle der 35 verschiedenen durch die' Verwendung von zwei Bit des Feldes X oder Ydargestellt, die mit einem Stern in Figur 12 bezeichnet sind. In diesen Fällen reichen die verbleibenden Bit des Feldes X oder Y zum Adressieren des ersten bzw. zweiten Operanden in zwei 12-Bit-Registern des S.P. 16 aus. Bei manchen Sprxngbefehlen ist der Operand mit der Adresse nur der eine und wird von den Feldern X und T zusammen gebildet, die die Ausbildung aller zwölf Bit der Adresse identifeieren.
Das Zentralgerät 1 (Figur 3) enthält eine Folgeschaltung Zh zum Erzeugen logischer Kombinationssignale, so genannte Zentralgerätbefehle, die das richtige Ausführen eines Befehls sicherstellen. Die Schaltung Zh, die an sich bekannt ist, nimmt als Eingang die dekodierten Ergebnisse auf, die aus der aus dem ROS-Puffer 20 kommenden Information erhalten werden, und ordnet sie eeitlich, wobei von der Zeitsteuerung der Maschine Gebrauch gemacht wird. Diese Befehle dienen beispielsweise zum Durchleiten einer Information, zum logischen Entscheiden, zum Wählen der Daten und zum Erneuern der Adressen.
409847/0822
Ein Satz von fünf Dekodieren 27 bekannter Art bewirkt die Haupt-Dekodieroperationen, die au den Mikrobefehlen gehören. Die Eingänge der fünf Dekodierer 27 nehmen die Bit des Feldes F und des Feldes X,Y des Puffers 20 auf (Figur 12).
Schliesslich enthält das Zentralgerät 1 (Figur 3) ein erstes Paar vom Multiplexschaltungen 26 mit je acht Eingängen, die an der Berührungsfläche 7 (Figur 1) liegen und zum Aufnehmen von zv/ei Multiplexschaltungen 126 (Figur J>) mit acht Eingängen dienen, die am Leseregister i6a liegen und zum Empfang der in einem besonderen .Register des S.P. 16 aufgenommenn Formation dienen. Die Multiplexer 26 und 126 sind bekannter Art und besitzen je einen an einer UND-Schaltung I3I liegenden Ausgang, der ebenfalls ein vom Dekodierer 27 emittiertes Signal aufnimmt und den jeweiligen Befehl anzeigt, der ausgeführt ist.
Jeder Multiplexer 2b und 126 besitzt vier Selektionseingänge, die an zwei UND-Schaltungen 1Jh- bzw. 135 zum Aufnehmen mehrerer Selektionssignale liegen. Von diesen wählt eines einen der beiden Multiplexer jedes Paares aus und die anderen wählen den Eingang, der zum Abstimmen gewünscht wird.
Der Informationsaustausch zwischen dem Zentralgerät 1 (Figur 1) und dem Regler 9 der peripheren Geräte ist durch eine Reihe von Berüiiruncsflächensignalen sichergestellt, die vom Reeler 9 der ■ceripheren Geräte oder vom Zentralgerät 1 erzeugt werden. Unter den vom Hegler 9 der peripheren Geräte erzeugten Signale erscheinen sechszehn Aussenkonditionen (d.h. beispielsweise, dass einer der Druckknöpfe des Konsuls 21 oder eine der Tasten der Tastatur 15 gedrückt wird) und werden an die Eingänge der beiden
- 15 -
409847/0822
Multiplexer 26 gegeben.
Der Ausgang des ROS-Puffers 20 (Figur 3), der von den Signalen der Felder X und Y der Mikrobefehle betroffen ist, schwankt gemäss den einzelnen Befehlen, die von Zeit zu Zeit aus dem ROS 5 herausgesogen und im HOS-Puffer 20 gespeicher werden. Während die vier Bit des Feldes F der Befehle mit der Folgeschaltung Zk zusammenv/irken, (der Dekodierer 27 und das Register TAS), besitzen die Befehle die sechs Bit des Feldes X und die sechs Bit des Feldes Y, die duch Schaltsignale der Folgeschaltung Zk bestimmt sind, die in Figur 3 nicht zu sehen sind:
a) an einer Verbindung 31 zum arithmetischen und logischen Gerät 18 für die Addition der Mikrobefehle und für deren logischen Mikrobefehle, die logische Additionen oder Funktionen auduhren.
b) an einer Verbindung 32 zum Eingangsregister i6a des S.P. 16, das für die Befehle vorher auf Null gestellt ist, das mit dem Speicher SAH 31 zusammenarbeitet;
c) an der Verbindung 33 zur Berührungsfläche für die Befehle, die das Absenden von Signalen an die peripheren Geräte befehlen;
d) an der Verbindung 90 zu einer Selektionsschaltung 120 (Figur 5) bekannter Art für die Koordinaten X1... Xk, Y1 ... Y^ des S.P. 16 für die Befehle, die den Inhalt eines Registers des S.P. 16 verarbeiten.
Maschinenzeitsteuerung und -Zustände
Die Maschinenzeitsteuerung erfolgt durch eine logische Folgeschaltuns 22 (jpigur 3) mit dem Zentralgerät 1, das die Befehle des Zentralgerätes 1 Dauercharakteristiken wie das Stabilisieren
- 16 -
409847/0822
verschiedener Bustände oder Umläufe der Maschine besitzen lässt. Es können fünf verschiedene Zustände eintreten. Diese werden im allgemeinen in Figur 3 mit TAS und in Figur 10 mit TASO, TASI ... TAS^f bezeichnet. Jedem entspricht ein gleichnamiger Flip-Flop, der für die Dauer eines zeitlichen Zyklus gesetzt bleibt. Die fünf Flip-Flop befinden sich in der Folgeschaltung 2h (Figur 3) und ergeben ein Register TAS, in dem die jeweilige Information eine Funktion von sowohl der vorhergenden Information als auch der Information des ROS-Puffers 20 ist.
Die logische Zeitschaltung 22 enthalt einen Quarzoszillator, der eine Schwingungsform TCPTO (Figur 9) mit einer Periode von etwa 10 Nanosekunden erzeugt. Diese wird an einen Zähler mit vier J-K- geschalteten Flip-Flop gegeben, so dass als Ausgang eine Schwingung TBA...TBD mit einer achtmal grösseren Periode erhalten wird, die etwa 0,8 Mikrosekunden ist. Die einzelnen Zeitsignale sind in Figur 9 angezeigt. Die feriode des Ausgangssignals TBD identifiziert den Maschinenzyklus.
Zum Auslösen des Prozessieren wird die übliche Rückstelltaste gedrückt, die das Zentralgerät 1 in einen"Prozessbeginn oder in einen Start-Wartezustand in für sich bekannter Weise bringt. Bei normalem Arbeiten wird der Mikrobefehl während des Maschinenzustandes, der durch TASO und TAS3 gegeben ist, gleichzeitig bei 1 (Stufe 110 in Figur 10) aus dem ROS-Puffer 20 gelesen und ausgewertet. Während eines oder beider Zustände der einzelnen Zustände TASI -TAS2 -TAS2*, wird der Mikrobefehl ausgeführt; jeder Befehl wird somit in einer Zeit ausgeführt, die ein Vielfaches des Maschinenzyklus mittels einer entsprechenden Folge von Mikro-
- 17 -
409847/0822
- MT-
operationen ist. Die letzte Operation, die ausgeführt wird, ist somit stets das Zurückführen in die Zustände TASO - TAS3 des Lesens des nächsten Befehls, dessen Adresse sich im ersten Hegister EO des S.P. 16 (Figur 3) befindet, der durch das Zentralgerät während der voerhergehenden Lesestufe auf den neuesten Stand gebracht worden ist.
Ein Flip-Flop NV der Folgeschaltung 2h liegt an der AND-Torschaltung 1?1 und dient zum Ausüben eines Einflusses auf die Folge des fiegisters TAS. Der Übergang von einem Maschinenzustand zum Anderen erfolgt mit Zustimmung der Zeitschaltung. Hinter der Stufe 110 des Lesens aus dem ROS 5 und des Auswertens des Mikrobefehls geht die Maschine in den Zustand TASI über (Stufe 111 in Figur 10), wenn das Bit höherer Wertigkeit des Befehlskodes ^B gleich 1 ist. Sonst geht die Maschine in den Zustand TAS2 (Stufe 112) über, in ersten Fall geht die Maschine durch die Mitte der logischen Entscheidung 113 in den Zustand TAS2 (Phase 112) über, wenn NV gleich 1 ist. Sonst geht die Maschine unmittelbar zum Lesen des nächsten Mikrobefehls (Zustand TASO und TAS3 =1, d.h. Stufe 110) über.
Wenn die Maschine aus der logischen Entscheidung 113 in die Stufe 112 übergegangen ist, muss ein Mikrobefehl in zwei Stufen ausgeführt werden, z.B. einem doppelten Adressieren im S.P. 16. Andererseits kommt das Abfragen des RAM 3, das das Bit höherer Wertgceit F^f = 0 besitzt, beim Ausführen in zwei Stufen in den alternativen Fall des Direktdurchganges zu TAS2 nach dem Lesen mittels der Entscheidung 11*f, ohne durch TASI zu gehen. Diese letzten Mikrobefehle werden im Zustand TAS^ (Stufe 115) beendet. In der Praxis werden die Adressen im ersten Zustand TAS2 behandelt ,
- 18 409847/0822
und die Daten im ersten Zustand TAS^f.
Für alle übrigen Mikrobefehle, die ein einzelnes Adressieren des S.P. 16 erfordern, enthält der Fluss der Zustände den Zustand TAS2, der unmittelbar nach dem Lesen des Befehls auftritt. Diese Befehle werden im Zustand TAS2 ausgelöscht. Der durch die Schaltung 2*t emittierte Befehl und die Charakteristik der mit den EAM 3 zusammenwirkenden Befehle sind nicht vorhanden. In diesem Fall erfolgt ein Zurückführen aus der logischen Entscheidung 116 in die Stufe 110.
Haupt-Mikrobefehl-Behandlung des Datenaustauschs mit dem Speicher KAM 3
Der Mikrobefehl EIN (jiesen und Erhöhen) liest den Speicher EAM 3 an der im Eegister R des SP 16 enthaltenen Adresse, der durch den Operanden Y im Eegister S des SP 16 identifiziert ist, der vom Operanden X identifiziert ist und die Adresse um 1 erhöht.
Der Mikrobefehl SIN (Speichern und Erhöhen) speichert im Speicher RAMS den Inhalt des Registers S des SP 16 der durch den Operanden X identifiziert ist, an der im Register R des SP 16 gespeicherten Adresse, das durch den Operanden Y identifiziert ist, und erhöht die Adresse um 1. Der Mikrobefehl RDE (Lesen und Verringern) liest den Speicher RAM 3 an der Adresse im Register R des SP 16, das von dem Operanden Y identifiziert ist, im Register S des SP 16, das vom Operanden X identifiziert ist, und verringert die Adresse um 1.
- 19 -
409847/0822
Der Mikrobefehl SDE (Speichern und Verringern) speichert das Hegist er S des SP 16, der vom Operanden X identifiziert ist, in den Speicher RAM3 an der Adresse im .Register S des SP 16, der vom Operanden Y identifiziert ist, und verringert die Adresse um 1.
Der Mikrobefehl EDI (Lesen bei Direktadresse) liest den Speicher EAM3 an der Adresse, die unmittelbar vom Operanden Y im,Register S des SP 16 aufgebaut ist, der vom Operanden X identifiziert ist.
Der Mikrobefehl SDI (Speichern bei Direktadresse) speichert das Register S des SP 16, der vom Operanden X identifiziert ist, in den Speicher BAM3 bei der unmittelbar vom Operanden Y gelieferten Adresse.
Der Mikrobefehl KSP (Lesen des HAMB3 und Speichern im Zwischenspeicher) liest den Speicher EAM3 an der Adresse, die im Register R des SP 16 gespeichert ist, der vom Operanden Y identifiziert ist, im Register S des SP 16, der vom Operanden X identifiziert ist.
Der Mikrobefehl SSP (Speichern am RAM3 nach dem Lesen des Zwischenspeichers) speichert das Register S des SP 16, das vom Operanden X identifiziert ist, im Speicher RAM3 an der Adresse im Register R, das vom Operanden Y identifiziert ist.
Der Mikrobefehl ADI führt die Addition zwischen dem Register S des SP 16, das vom Operanden identifiziert ist, und dem Operanden Y aus.
- 20 -
409847/0822
Der Mikrobefehl ADI führt die Addition zwischen dem Register des SP 16, das vom Operanden X identifiziert ist, und dem Operanden Y aus.
Der Mikrobefehl ORL führt die logische Funktion ODER zwischen den beiden Registern RS des SP 16, das von den Operanden X identifiziert ist, und dem Operanden Y aus, und schreibt das Ergebnis in das Register RS, das vom Operanden X identifiziert ist. Schliesslich vilra die eventuelle Einstellung des Schalters DE entsprechend geprüft.
Der Mikrobefehl ANI führt die logische Funktion TJiiD zwischen dem Register RS, das vom Operanden X identifiziert ist, und dem Operanden Y aus. Die eventuelle Einstellung des Schalters DE wird entsprechend geprüft.
Behandlung der Befehle
Es wird angenommen, dass die Anlage in die Stufe "Programmbeladung" gesetzt ist, die durch das Drücken der Taste "Rekord-Programm" am Konsol 21 gekennzeichnet ist. Dadurch gibt das Konsol das Signal EPCBy das den äusseren Zustand des Operandenkonsols identifiziert. Dieses Signal betätigt einen der Multiplexer 26. Auf diese Weise wird somit das Speichern eines Satzes von Mikobefehlen in RAMJ entsprechend festgelegt, was ein Programm ist, das in Zukunft auf Wunsch des Operators auszuführen ist.
Wie erwähnt, kann jedes Register des RAM 3, das vom Operator verwendet werden kann, Daten von zwölf gültige Ziffern mit dem schwimmenden Dezimalpunkt oder fünft Benutzer-Programmbefehlen
- 21 -
409847/0822
- «τ U
von je 12 Bit enthalten. Im allgemeinen enthält jeder Programmbefehl die HAM3- Eegisteradresse, die den zu verarbeitenden Daten entspricht. Die im EAM3 gespeicherten Befehle folgen dem Format, das allen Befehlenganeinsam ist, und besteht aus 7 Bit, die die Operandenadresse identifizieren, denen weiteren 5 Bit vorhergehen, die die Arbeitsweise der Kodekombination identifizieren. Umgekehrt setzt der Operator den Befehl der Tastatur 15 durch Drücken der Operandenadressentaste und danach der Betriebskodekombznationstaste auf. Beispielsweise kann der Operator die Taste K, die Einfluss auf unmittelbares Adressieren der ersten 100 Eegister von ZhQ solchen im BAM3 hat, und danch die Tasten 2 und 3 drücken. Dies bedeutet, dass die aufzunehmende Angabe im Eegister X 23 des EAM3 gespeichert wird. Der Operator kann durch Drücken der Taste N einen Operanden adressieren, was das unmittelbare Adressieren eines der acht möglichen Register des EAM 3i das sogenannte "Indexregister", beeinflusst, und danach eine der Tasten 0 bis 7 drücken. Die Indexregister sind zu k Zeichen von je 4 Bit angeordnet und können Deziraalzahlen bis 9999 enthalten.
Der Operator kann auch die Taste A drücken, die das unmittelbare Adressieren eines Eegeters A des RAM3 beeinflusst: Dieses Eegister besitzt eine Länge von 60 Bit und kann als einsatzfähiges Eegister dienen. In diesem Eegister ist der erste Operand der arithmetischen Befehle gespeichert. Das Register nimmt deren Ergebnisse auf. Schliesslich kann der Operator durch Drücken der Taste C einen Operanden adressieren, was das Adressieren eines Bits der vier im RAM3 gespeicherten Bit beeinflusst, der als Programmschalter wirkjb, und danach einer der Tasten O bis 3 drücken.
*09847/082~222~
Der Operator drückt die Operandenadressentaste und unmittelbar danach die Funktionstaste, beispielsweise eine
arithmetische Taste +, χ oder eine Springtaste J,
JS ..... oder eine Taste L zum Aufbauen eines Bezugswertes an den Programmen, die die Stelle zeigen, auf die der Sprung gerichtet werden soll, usw. Ferner kann der Operator zwei Funktionstasten drücken. In diesem Fall ist die erste zu drückende Taste die echte Funktionstaste "/", dessen Gegenstand die Operation abändern soll, die durch die andere Taste gegeben ist. Wenn beispielsweise die Taste L gedruckt wird, identifiziert sie einen Bezugsbefehl- oder Programm-Kennsatz. Umgekehrt, wenn sie der Taste vorgesetzt ist, identifiziert sie einen üblichen ursprünglichen Speicherplatz des Speichers RAM3, eier von dem physikalischen ursprünglichen Platz verschieden ist, der druch die höchste Adresse,nämlich durch das Register 239 gegeben ist. Während die Taste J beim einzelnen Drücken einen Sprungbefehl bestimmt, wenn dieser der Taste vorgesetzt ist, bestimmt sie einen üblichen ursprünglichen Platz des Speichers RAM35 ausgehend von dort, wo sie die nächsten ' Sprünge ausführen soll, wie noch erläutert werden wird. Es ist zu beachten, dass zum Aufstellen eines Befehls bis zu fünf Tasten notwendig sein können.
Die einzelne Angabe eines Befehls der vom Operator auf der Tastatur 15 aufgestellt ist, wird in einer sechs-Bit-Form in das Regster IiA des SP 16 gebracht. Die verschiedenen Angaben werden hier gruppiert, damit sie einen ganzen Befehl aufnehmen können, der sich mit der Schaltung der Anlage verträgt, worauf das 12-Bit-Format folgt, das den im RAH3 gespeicherten Befehlen
409847/0822
gemeinsam ist. Dadurch wird eine besondere Datenumkehrroutine des Mikropgrogramms im EOS^ ausgeführt. Diese Houtine benutzt Register und Schalter des SP 16-Speichers. Wenn der Befehl aufgestellt ist, erfolgt die Operation an der Tastatur und die kodierten Daten werden fortschreitend erkannt. Die Mikroprogrammzustände werden identisch dem gespeichert, was auf der Tastatur eingestellt ist. Beispielsweise setzt ein? numerische Taste einen Schalter des Registers R2 des SP 16 (Figur 3) und die Taste K den Schalter C des Registers S02 des SP 16. Insbesondere dient das Register RF des SP 16 zum Speichern der Kodekombination der Taste "/".
Nachdem die letzte Taste für einen Befehl gedruckt und entsprechend kodiert worden ist, wobei die Taste stets eine Funktionstaebe ist, speichert das Mikroprogramm die Kodekombinationen entsprechend den in der Tastatur eingestellten Tasten in das Register RF des SP 16 mittels einer weiteren Kodierung, bis eine 12-Bit Ausbildung erreicht ist.
Der Befehl mit dieser Ausbildung wird jetzt dreh den Mikrobefehl DDE in Form von Dreiergruppen von je vier Bit aus dem SP 16 in den BAM3 übertragen. Insbesondere, wenn der Zustand TAS2 der der Auswertstufe (Operation 112 in Figur 10) folgt, erreicht ist, wird von der Folgeschaltung 2k (Figur 3) ein Befehl als Antowrt auf den Erkennungsvorgang des Mikrobefehls DDE herausgegeben, der das Register des SP 16, das die RAM3-Adresse speichert, mittels des Feldes Y dös Mikrobefehls adressiert. Ein anderer Befehl der Folgeschaltung 2k fördert wiederum die Adresse zum Verringern um 1 in den RAM3 und in den Addierer i8.a. Die so verringerte Adresse wird wieder im Register
- 2k -
409847/0822
des SP 16 gespeichert, wo sie abgetastet wird. Deim folgenden Zustand TAS h (Operation Ή;? in Figur 10) wird ein weiterer Befehl durch die Folgeschaltung Zh geliefert, der mittels des Feldes X des Mikrobefehls ein ^Bit-Register adressiert, das eines von drei Registern ist, die das Hegister RF des SP 16 (Figur 3) aufbauen, und seinen Inhalt wird in den Speicher JRAM3 bei einer Adresse gelegt, die durch das Feld Y des Mikrobefehls identifiziert ist. Durch drei aufeinanderfolgende, auf den Mikrobefehl DDE bezogene Operationen wird der in der Tastatur eingestellte Befehl auf diese V/eise im RÄM3 gespeichert.
Das Abtasten des im RAI4I 3 gespeicherten Befehls, in dem diese vorher eingebracht worden sind, wird durch den Mikrobefehl IDE ausgeführt, der stets die Übertragung einer ^-Bit-Gruppe aus dem RAm 3 in eines der 4-Bit-Register steuert, die das Register RF des SP 16 bilden. Auf diase Weise sind drei Mikrobefehle LDE, die nacheinander ausgeführt werden, zum Übertragen des Befehls aus dem RAM 3 in das Register RF des SP 16 notwendig.
Auch der Mikrobefehl IDE wird in zwei aufeinanderfolgenden Zuständen ausgeführt, wobei der Zustand TAS2, der der Auswertstufe folgt. Der Mikrobefehl IDE bewirkt, dass die Folgeschaltung Zh einen Befehl zum Adressieren mittels des Feldes Y in den ursprünglichen Platz bringt, wobei das Register des SP 16 die RAM3 Adresse speichert, und die abzutastende A-Bit-Gruppe identifiziert. Ein weiterer Befehl, der durch die Folgeschaltung Zh an aeinen ursprünglichen Platz gebracht ist, bringt
- 25 -
409847/0822
die Adresse, die im Register des SP 16 festgestellt worden ist, zum Addierer i8a und verringert sie um 1. Zur Zeit des TAS 4-Zustandes (Operation 115 in Figur 10) wird die ^-Bit-Gruppe des RAM3 von diesem in das ^-Bit-Register des SP 16 übertragen, der durch das Feld X des Mikrobefehls identifiziert ist.
Nach dem Abtasten erkennt eine entsprechende Mikroprogrammroutine den ersten Operanden und dann die Funktionskodekombination. Dann wird der Befehl ausgeführt.
Verschiebung der im BAH3 aufgezeichneten Befehle
Die Verschiebung der Programmbefehle, die im RAM3 gespeichert sind, aus einer Lage in die hohe oder niedrige Adressen des Speichers HAM3 ist notwendig, wenn ein oder mehrer Befehle im Speicher addiert oder gelöscht werden. Es gibt Fälle, in denen das in den Speicher RAMB eingegebene Programm ein Einstellen oder Überprüfen zum Löschen bereits eingegebener Befehle oder zum Einbringen neuer Befehle verlangt. Beim Löschen würden die TOrher durch gelöschte Befehle gehaltenen Stellen leer bleiben und die Kapazität des Speichers RAM3 somit stark abnehmen, wenn die den gelöschten Befehlen folgenden Befehle nicht zu den höheren Adressen verschoben werden würden, um in den leeren Stellen zu sein, die durch das Löschen dieser Befehle erzeugt rarden. Wenn alle eine Adresse zeigenden Befehle, die dieselben oder niedrigere als die eingegebenen sind, nicht nach, unten verschoben werden würden, würde das Einbringen von möglichen neuen Befehlen die Befehle überlappen, die sich, bereits an den Seilen befinden, die den neu beladenen entsprechen*-
- 26 -
409847/0822
Die Befehlsverschiebung erfolgt durch. Steuerung des Mikroprogramms, das grundsätzlich die erwähnten Mikrobefehle LDF und LDE und Register des SP 16 verwendet. Insbesondere wird am Beginn das "Rekord-Programm" herausgelöst und dann wird die Tastaturlöschtaste KB an der Tastatur 15 gedrückt. Dann wird ein" vorher eingebrachter Befehl, der sich auf einer Voreinstell-Adresse des Speichers MM3 befindet, z.B. die Adresse 88 gelöscht. Der Einfachheit halber sind die Operationen weggelassen, die der Operator zum Verschieben der Programinadressen aus dem Wert des letzten in den Speicher gebrachten Befehls zum Befehl 88 wegen der Adresse des zu löschenden Befehls vorgenommen hat. An diesem Zeitpunkt kommt das Mikroprogramm mit den beiden Registern des SP 1 β "Ich soll den ersten Zeiger und den zweiten Zeiger rufen" in Eingriff. Im ersten Register ist die Zahl 85 eingestelt, nämlich die Adresse der k höherwertigen Bit, bezogen auf den in die Stelle zu verschiebenden Befehl, in der sie wegen des Löschens leer gelassen vrorden ist. ün zweiten Register wird die Zahl 88 eingestellt, nämlich die Adresse der h Bit höheren Wertes in bezug auf den gelöschten Befehl.
Das Mikroprogramm kommt ferner mit dem Register RF des SP in Eingriff. Ein erster vom Zentralgerät in der angegebenen Weise ausgeführter Mikrobefehl IDE überträgt die Gruppe von k Bit mit dem höchsten Wert des zu verschiebenden Befehls als in die Adresse 85 gebracht nach oben in das Register SF des SP 16/verringert den ersten Zeiger, der somit die Zahl S*f zählt. Ein MikrobefehlDDE überträgt das Register RF des SP auf den RAI-IJ mit der Adresse, die vom zweiten Zeiger identifiziert ist, und somit unmittelbar verringert wird. Nach drei
~ 27 -
409847/0822
in Kaskade geschalteten Umläufen der Mikrobefehle LDE und DDE wird der zu verschiebende Befehl entsprechend in die Stelle verschoben, die identisch der ausgeführten LÖschoperation leer gelassen war. Die leere Stelle ist jetzt die Startstelle aus der Adresse 85. Das Problem, sie aufzufüllen ist die Aufgabe des folgenden Befehls.
Die Mikroprogrammroutine wird somit so oft wie notwendig wiederholt, bis das Programm zu Ende kommt. Dieser Zustand wird durch zwei aufeinanderfolgende "Start-Stop!l-Befehle angezeigt. Diese Befehle sind dadurch gekennzeichnet, dass dass sie aus 12 Bits "O" bestehen. Das Programm endet stets mit zwei solchen Befehlen, v/eil der Speicher EAMJ während der Auslösung der Stufe ganz gelöscht ist.
Dieser Mechanismus i/ird für jeden gelöschten Befehl wiederholt und, wenn die liikroprogrammroutine, die das Löschen bewirkt, die Programmadressenerhöhung enthält, besteht dort keine Möglichkeit zum fortlaufenden Löschen aller Befehle, die zuerst in den Speicher gebracht xrorden sind. Diese Programmadressiererhöhung erfolgt in normaler Art i das Adressenregister wird durch ^Bit-Gruppen in ein Hegister des SP 16 durch die drei Mikrobefehle LED übertragen, dann wird das Register des SP auf das Gerät 18 übertragen, wo es wieder in den SP 16 und dann in den SAM3 übertragen wird.
Es wird nun angenommen, dass ein neuer Befehl in die 3AM-3-Adresse gebracht v/erden soll, die bereits von einem anderen Befehl besetzt ist. Das Beladen des ΙΪΑΜ3 kann nicht unmittelbar ausgeführt werden, sondern nur nach den folgenden Operationen.
- 28 -
409847/0822
Zwei Register stehen an SP 1o in Eingriff, die noch als erster und zweiter Zeiger verwendet werden. Diese beiden Register sind au anfangs mit derselben Adresse 88 des Schiebebefehls beladen. Ferner werden zwei weitere Register "Ich rufe" HF und RG mit den folgenden Funktionen versehen: Das Register RC speichert den Befehl, der durch fortlaufenden Mikrobefehle LDE übertragen \i?orden ist und die zwecks Einbringens des neuen Befehls verschoben werden muss. Der letztere wird inzwischen im Regster RF des SP 16 gespeichert, wenn alle vorher in den RAM3 übertragenen Befehle gelingen. Die drei Mikrobefehle LDE nehmen auf den ersten Zeiger zum Identifizieren der RAH>-Adresse und zum Abtasten der zu verschiebenden Befehlen gehörenden k Bit bezug.
Wenn drei Mikrobefehlsabläufe beendet sind, kann der neue in den RAM3 zu schreibende Befehl durch drei Mikrobefehle DDE in den Speicher übertragen v/erden, die aif die im zweiten Zeiger gespeicherte RAM3-Adresse bezug nimmt. Zu dieser Zeit wird der Inhalt des Registers RC in das Register RF übertragen. Die beiden Zeiger speichern erneut dieselbe Adresse ß5 'und· dann wird die Operation des nachfolgenden, von der Adresse 85 ausgehenden Befehls begonnen, die umgekehrt in Zukunft den Befehl speichert, der vorher die Adresse 88 besass. Der Ablauf wird wiederholt, bis das Programm zu Endekommt.
Auf diese Arbeitsweise können auch ganze Subprogramme, wie die erwähnten Operationen für jeden zu schreibenden Befehl ausgeführt werden.
- 29 -
409847/0822
SO
Sie Sprünge
Der Speicher 3A.M3 kann sowohl die Programrabefehle wie auch die Operanden speichern. Unter den Operanden befinden sich sowohl die Daten wie auch die Adresse. Beispielswiese vrerden die Springbefehle, die die folgende Verarbeitungsreihenfolge der BeSiIe brechen, mit einem Operanden vasehen werden, der die Adresse des Befehls ist, auf den der Sprunggerichtet ist. Die Sprungbefehlsoperation überträgt dieAdresse in das Register des SP 16, das als Programmzähler wirkt, bei dem der Gegenstand des Adressierens der nächste auszuführende Befehl ist.
Der beschriebene Computer besitzt ein anderes Adressierverfahren, das mit "durch Absuchen" bezeichnet wird. Dies bedeutet, dass die Springbefehle, nämlich die Operanden, eine Zahl sein können, die einem "Kennsata" oder einem Bezugsbefehl entspricht. In diesem Fall überträgt die Springoperaijon den Operanden in ein Register des SP 16, z.B. in das Register EE, und sucht den entsprechenden Bezugsbefehl im Speicher RAM3. Die vom Programrazähler adressierten Befehle v/erden nacheinander in den RAM3 eingelesen und in den SP 16, z.B. in das Register RD, gebracht und dann im logischen Gerät 18 mit dem Inhalt des Registers RE verglichen.
Diese Kennsätze werden anden Sprungankunftspunkten in das Programm gebracht. Sie sind als normale Befehle angeordnet, die eine Funktionskodekombination aus fünf "1"-Bit ohne betriebliche Bedeutung zeigen, sondern nur die Funktion des Signalisierens des Vorliegens des Kennsatzes haben, und einen.
- 30 -
409847/0822
J1
Operanden enthalten, der die fortschreitende Bezugsnuramer ist. Wenn beispielsweise der Springbefehl U3J" ist (d.h. der Operator drückt die Tasten 3 und J der Tastatur) ist der Operand als "Kennsatz 3" erkannt, der im RAFlJ gesucht werden soll und von dem die aufgezeichnete Programmierung gestartet werden soll.
Schliesslich können die Kennsätze auf direktem Wege geinäss einer Zahl zwischen O und 99 adressiert werden. Beispielsweise wird beim Aufstellen des Befehls "13J" auf der Tastatur der Sprung in das Indexregister H3 übertragen, dessen Inhalt als echtes Adressenkennwort verwendet wird. Wenn der Inhalt der Register N3 1^ sind, würde das Kennwort 1^ gesucht werden. Das Suchen des Kennwortes durch die Springbefehloperation beginnt normaler v/eise beim physikalischen TJrsprungspunkt des Speichers ISAMJ (höchste Adresse). Trotzdem kann ein anderer üblicher Speicherausgangspunkt in einigen Programmstufen spezifiziert werden. Dies kann mittels einer Gruppe von acht Registern des RAM3 erfolgen, die einzeln aus 6 Zeichen von je k- Bit bestehen, deren weitere Funktion die der Programmhöhenzähler (Figur6) ist. Das Identifizierungsmikroprogramm, das aus der Rückstelltaste stammt, löscht den ganzen Speicher und somit auch die acht Register.
Drei der sechs genannten Zeichen speichern am ersten Register nach dem Auslösen der Operationsstufe alle Bit "0", die auf diese Weise die niedrigste Adresse des RAM3, nämlich seinen physikalischen Ursprungspunkt identifizieren. Diese drei Zeichen werden hier für alle acht Programmhöhen "Speicherstromursprung" genannt. Umgekehrt besitzen die anderen drei
- 31 -
409847/0822
^{-Bit-Zeichen die Funktion des Progranraadressierens, das das Programm ist, das zu Anfang durch 12 Bit eingestellt ist, die alle den Wert 11O" besitzen. Im Laufe der bereits erwähnten Prograrambeladung stellt die Programmadressierung die Adresse jedes in den Speicher RAMJ gebrachten Befehl in Rechnung, der somit wegen der Steuerung durch die Mikrobefehle ASP und ADI ura 1 erhöht wird. Wenn die Beladungsoperation vorüber ist, zählt die Programmadressierung die Adresse des letzten in den Speicher EAH3 geschriebenen Befehls: wenn der Operator verlangt, dass das Programm vom Beginn des ersten Befehls aus betätigt werden soll, stellt er den Befehl G und J auf der Tastatur 15 ein. Die Tastaturbetätigung ist möglich, wenn die Anlage sich im Handbetrieb befindet (Die "Rekord Programmu-Taste des Konsols ist ausser Singriff). Die Ausführung dieses Befehls kopiert den Speicherlaufursprung auf der Programmadressierung und die Anlage führt das Programm is, das vom Beginn in dem Fall anläuft, in dein es zuerst aus dein physikalischen Ursprungsort des Speichers beladen worden ist. Insbesondere wird diese Kopieroperation des Speicherverlaufs an der Prograramadressierung durch Lesen aus dem RAMJ des SP 16 unter Steuerung des Mikrobefehls RSP der drei Zeichen bewirkt, die den Stromursprung angeben. Dieser Operation folgt ein Schreibsyklus an der Programmadressierung am KAK3. Dieser Zyklus wird von dem Mikrobefehl SSP des Registers SP 16 gesteuert, das vorübergehend diesen Laufsursprungsort, z.B. am Register RC,gespeichert hat. Es ist bereits ein Abta tayklus und ein Schreibzyklus erwähnt worden, die das Abtasten und das Schreiben stets gemäss den 4-Bit-Gruppen vornehmen, wobei 12 Bit gelesen oder geschrieben werden. Es
- 32-
409847/0822
sind somit drei Mikrobefehle ASP oder SSP notwendig.
Nach dieser Operation verlangt das Ausführen des ersten Befehls, dass dieser erst im ΡΑϊ-ί3 abgetastet wird. Ferner muss die genannte Adressierung auf ein entsprechendes Kegist er des SP 16, z.B. auf das Register HC übertragen werden, das stets durch Mikrobefehle adressiert ist, die die aiii SAH 3 abgetasteten Befehle steuern. Für diese Operation ist der Mikrobefehl RSP verantwortlich.
Vor dem Ausführen eines jeden Befehls wird die Adressierung um 1 am Addierer 1o.a erhöht, wenn er vom Mikrobefehl ADI gesteuert wird, so dass das Programm zusammen mit den Adressen umläuft, die stets beim nächsten folgenden abzutastenden Befehl liegen. Am RAM3 befindet sich ein weiteres 12-Bit-Begister, das in Figur 6 als "Eingriffsregister" bezeichnet wird, an dem die RAM3-Adresse des üblichen Speicherursprungsortes eingestellt v/ird.
Der Operator und Programmierer haben den Befehl X/J zu ihrer Verfugung, der einen Punkt an dem Programm definieren kann, der als üblicher Speicherursprungsort zu betrachten ist. X kann eine ganze Zahl zwischen O und 99 oder die 'Taste A oder W sein. Dies ist gleichwertig dem Aufspalten des Programms in unabhängige Zonen, was die Chance der Verwendung von gleichen Kennziffern in verschiedenen Programmzonen ergibt, die als getrennte Speicher angesehen werden. Der Vorteil ist die bemerkenswerte Geschwindigkeit beim Aufsuchen der Adressierungen. Beispielsweise bestimmt der Befehl A/J, der sogenannte "ürsprungseingriff" (Figur I3) den Kennsatz A/L als Speicherursprung.
- 33 -
40984 7/0822
Der 2h J-Befehl, der derauUrsprungs-Eingriff" folgt springt auf den ersten Kennsats 2h L über, der dem Ursprung A/L folgt, der auf diese V/eise in üngriff gelangt. Deshalb wird der Befehl A/J als Kennsatz A/L -Suchoperation ausgeführt. Die
Adresse des aufgefundenen Kennsatzes wird vom Prograramzähler am SP 16 gezeigt und am Eingriffsregister durch den vom Mikrobefehl SSP gesteuerten Mikroprogramm geschrieben.
Auf diese Weise wird ein Ursprung, der der Strom für die Zeit ist, auf die die Springbefehle bezogen sind, die einen Kennsatz zeigen, der einem einen Speicherursprung (A/J, N/J, 32/J usw) identifizierenden Befehl vorangeht, und einen Ursprung unterschieden, der mit einem Befehl des Speicherursprungs in Eingriff steht, auf den die diesem folgende Springbefehle bezogen sind.
Wenn ein folgender Springbefehl und ein den Ursprung angsifender Befehl ausgeführt v/erden, wird das Eingriffsregister auf den Laufursprung des Speichers noch durch einen Lesezyklus am KAMJ5 und einen Schreibzyklus am SAMJ übertragen. Auf diese V/eise wird der ergriffene Ursprung der Laufursprung.
Diese Übertragung erfolgt auch nicht zum Programmadressieren, so dass die Programmadresse aus der ergriffenen Ursprungsadresse zum Suchen des Sprungankunftskennsatz entsteht.
Ein Programm könnte oft wiederholt dieselbe Befehlsfolge benutzen müssen, z.B. zum Errechnen einer Funktion, die mehrere Parameterwerte anzeigt. Diese Folgen oder Subprogramme werden aus verschiedenen Punkten des Hauptprogramms durch die Befehle JS (Spring-Subroutine) zurückgerufen. Dies erfordert am Subprogramm
- 34 -
409847/0822
einen Kennsatzbefehl zum Bestimmen des Subprogrammstartpunktes und einen Subprogrammendbefehl, der ebenfalls die wieder eingegebene Adresse identifiziert. Diese Adresse ist stets diejenige des folgenden Sprungbefehls der das Subprogramm zurückgerufen hat. Dies geschieht, v/eil für die Betätigung eines Subprogrammsrpingbefehls SJ sowohl der Inhalt der Programmadressierung (die Befehlsadresse SJ ist um 1 erhöht) und die Adresse des Laufursprungs durch Übertragen des Programmhöhenregisters "02" auf das Programmhöhenregister "1" eingespeichert wird. Diese Übertragung erfolgt über zwei HAM3-Abtastzykleii und zwei RÄ.M3-Schreibzyklen. Diese Übertragung ist der durch die Steuerung der Mikrobefehle ESP und SSP gleichwertig (in Figur 6 durch den gestrichelten Pfeil angedeutet).
Von einem Subprogratnm kann auf ein anderes Subprograium mittels eines weiteren Befehls SJ übergesprungen werden. Dies bewirkt eine zweite Übertragungsoperation, die zum Mikroprogramm des Inhalts des Programmhöhenregisters"1" auf das Programmhöhenregister "2" des Inhalts des Programmhöhenregisters "O" auf das Programmhöhenregister "1" gehört.
Dieser Mechanismus wird sieben Mal wiederholt und erzeugt so aneinander Subprogramm-"Verschachtelungen".
Jeder mögliche neue Eingriffe-Ursprung wird stets in das Eingriff register (Figur 6) und zum Zeitpunkt des Subprograrnmsprunges geschrieben. Dieser Eingriff wird auf die Laufhöhe "O" übertragen, nachdem alle Höhe verschoben xvorden sind.
409847/0822
Es ist somit zu erkennen, wie bei der Übertragungsoperation aus einem Register in ein anderes der sieben Programmhöhen nur der Lauf als erstes Höhenregister 11O" angesehen wird. Bei Beendigung eines Subprogramms kehrt der Subprogrammendbefehl zum ersten Befehl zurück, der auf den SI-Befehl folgt, von wo die Operation gestartet worden ist, die wieder hergestellt wird, wenn der Ursprung für die Zeit und als Programmadressierung für die Zeit der Inhalt des Programmhöhenregisters "1" besteht.
Es erfolgt eine Lageverschiebungsoperation, die durch den ausgezogenen Pfeil in Figur 6 dargestellt ist, an allen Hegistern, so dass die dritte Höhe sich im zweiten Höhenregister befindet. Die vierte Höhe befindet sich auf der dritten Höhe usw. Dies erfolgt durch einen Mikrobefehlszyklus, der in bezug auf den beschriebenen umgekehrt ist, um von einem Subprogramm zu einem anderen zu springen. Der Subprogramniendbefehl bewirkt die Wiederherstellung der Zustände, in denen die Anlage den Befehl ausführt, der denjenigen folgt, der den Sprung auf das Subprogramm steuert. Anstelle des Adressierens des ersten Befehls der Steuerbefehl für den Sprung auf das Subprogramm folgt, besteht dort die Chance des Adressierens des zweiten, dritten oder vierten Befehls, der dem den Sprung desSubprogramms steuernden Befehl folgt. Dies geschieht durch die Befehle C1 SJ, C2 JS, bzw. C3 JS die ein Subprogramm beenden, wie Figur 11 zeigt.
Der Befehl CXSJ, in dem X von 0 bis 3 schwanken kann, wird durch vorhergehendes Wiederherstellen der vorhergehenden Prograramhöhe ausgeführt, nämlich durch eine vorhergehende Ver-
-36 409847/0822
Schiebeoperation, aller Höhen auf niedriger Höhen. Danach wird der Operand X des Befehls CXSJ, der sich stets im Register RF des SP 1ö befindet, bei jedem auszuführenden Befehl auf das logische Gerät durch einen Mikrobefehl AWI gebracht wird, dessen Operand Y gleich Null ist. Der Operand X des Befehls CXSJ wird geprüft, ob er gleich KuIl ist. Wenn nicht, so wird dieser Operand durch die Steuerung des Mikrobefehls ADI um 1 verringert (Addition des Operanden Y, der gleich Uli ist, auf das Register, auf dem sich der verringerte Operand befindet, durch Vernachlässigen des Bitsnit dem höchsten Wert). Ferner wird die Prograniiaadressierung durch den Mikrobefehl ADI im arithmetischen Gerät 18 um 1 verringert, dessen Operand gleich 0001 ist, um ihn auf den Befehl zu bringen, der auf den Wiedereintrittsbefehl folgt. Der so vergrösserte Operand X wird erneut abgetastet. Auf diese V/eise erscheinen nach einer, zwei oder drei Verringerungen schlieaä-ich X=O und die Adressierung gelangt auf den zweiten, dritten oder vierten Befehl, nach dem SJ einen Befehl startet.
- 37 -
409847/0822

Claims (1)

  1. PATENTANSPRÜCHE
    1. Elektronischer Computer, der mit einem gespeicherten Programm versehen ist, mit einem ersten Hauptspeicher für Daten oder Befehle, einem schnellen Hilfsspeicher für den Befehlsürbergang, einem Befehlseingangsgerät, einem Kurlesesteuerspeicher für Mikroprogramme, einem Steuergerät zum Verarbeiten dieser Mikroprogramme, dadurch gekennzeichnet, dass der Hauptspeicher, der schnelle Hilfsspeicher und das Steuex'gerät durch Ansprechen auf einen Lösch- oder Einfügungsbefehl für den Hauptspeicher zusammenarbeiteten, um den Inhalt der gelöschten oder besetzten Speicherstelle um so viel Plätze zu verschieben, wie Plätze gelöscht oder besetzt sind.
    2. Computer nach Anspruch 1, dadurch gekennzeichnet, dass der Zwischenspeicher zwei Zeigerregister enthält, von denen das erste die zu verschiebende Adresse und der zweite die Adresse des gelöschten Befehls oder entsprechend die einzufügende Adresse enthält, und dass das Steuergerät auf einen ersten. Zyklus von Mikrobefehlen den zu verschiebenden Befehl in den Zwischenspeicher gibt, wobei der Befehl durch das erste Zeigerregister adressiert ist und auf einen zweiten Mikrobefehlszyklus denselben Befehl in den Hauptspeicher gibt, in des die Adresse sich im zweiten Zeigerregister befindet.
    j5. Computer nach Anspruch 2, gekennzeichnet durch eine Einrichtung zum Speichern der Adresse des Befehls im zweiten
    - 38 -
    409847/0822
    Zeigerregister, der sich im Hauptspacher befindet, der gestrichen worden ist5 eine Einrichtung zum Speichern der Adresse des Befehls, der im Hauptspeicher verschoben werden soll, im ersten Zeigerregister, eine erste Einrichtung, die eingeschaltet den ersten aus der Adresse zu verschiebenden Befehl an eine gegebene Stelle im Hilfsspeicher überträgt, wobei die Adresse durch das erste Zeigerregister angezeigt wird,
    eine zweite Einrichtung, die eingeschaltet das erste Zeigerregister stufenweise auf die nächste folgende Adresse verringert, eine dritte Einrichtung, die eingeschaltet den übertragenen Befehl aus einer gegebenen Stelle im Zwischenspeicher sum Hauptspeicher bei der durch den zweiten Zeiger angezeigten Adresse überträgt,
    eine vierte Einrichtung, die eingeschaltet das zweite Zeigerregister stufenweise auf die nächste folgende Befehlsadresse verringert,'und durch eine Einrichtung zum aufeinanderfolgenden Einschalten der ersten Einrichtung zum Übertragen, der dritten Einrichtungzum stufenweisen Verringern, der dritten Einrichtung zum Übertragen und der vierten Einrichtung zum stufenweisen Verringern und zum wiederholten Einschalten dieser in Aufeinanderfolge, bis der letzte Befehl im gespeicherten Programm verschoben worden ist, wodurch das gespeicherte Programm in den letzten Wert von Speicherraum für die Befehlszahl verdichtet wird.
    k. Computer nach Anspruch 3? bei dem jeder Befehl mehr als eine Adressenstelle des Hauptspeichers besetzt, gekennzeichnet durch eine Einrichtung zum aufeinanderfolgenden Einschalten der ersten bzw. der zweiten Einrichtung und zum wiederholten
    - 39 409847/0822
    te
    Einschalten dieser in Aufeinanderfolge für jede Adressenstelle, die von einem Befehl besetzt ist, und eine Einrichtung zum aufeinanderfolgenden Einschalten der dritten und der vierten Einrichtung und zum wiederholten Einschalten dieser in Aufeinanderfolge für jede Adressenstelle, die von einem Befehl besetzt ist.
    5· Computer nach Anspruch 2, gekennzeichnet durch : eine Einrichtung zum Speichern einer ersten gegebenen Stelle des Zwischenspeichers eines in das gespeicherte Programm im Hauptspeicher einzugebenden Befehls;
    eine Einrichtung zum Speichern der Adresse des ersten im Hauptspeicher gespeicherten Befehls, der verschoben x^erden soll, in das erste und das zweite Zeigerregister; eine erste Einrichtung, die eingeschaltet den ersten zu verschiebenden Befehl aus der Stelle im Hauptspeicher, der durch das erste Zeigerregister angezeigt wird, in den Zwischenspeicher überträgt;
    eine zweite Einrichtung, die eingeschaltet das erste Zeigerregister auf die nächste folgende Befehlsaaresse stufenweise verringert'^
    eine dritte Einrichtung, die eingeschaltet den eingegebenen Befehl von der ersten gegebenen Stelle im Zwischenspeicher an die Stelle im Hauptspeicher überträgt, die vom zweiten Seigerregister angezeigt ist;
    eine vierte Einrichtung, die eingeschaltet den Inhalt der zweiten gegebenen Stelle in die gegebene Stelle im Zwischenspeicher überträgt;
    eine fünfte Einrichtung, die eingeschaltet das zweite Zeigerregister auf die nächste folgende Befehlsadresse stufenweise verringert, und
    409847/0822
    eine Einrichtung, die aufeinanderfolgend die erste, zweite, dritte, vierte und fünfte Einrichtungund in derselben üaihenfolge einschaltet, bis der letzte im Programm gespeicherte Befehl verschoben worden ist,wodurch der Befehl eingegeben wird und das Programm nur den letzten V/ert des Speicherrauras für die Zahl der Befehle aufnimmt.
    6. Computer nach Anspruch S, bei dem jeder Befehl mehr· als eine Adressenstelle des Hauptspeichars besetzt, gekannzeichnet durch:
    eine Einrichtung zum aufeinanderfolgenden Einschalten der ersten bzw» der zweiten Einrichtung und zum entsprechenden Einschalten in der selben Seihenfolge für jede von einem Befehl besetzte Adressenstelle, und
    eine Einrichtung zum aufeinanderfolgenden Einschalten der dritten, vierten und fünften Einrichtung und zum wiederholten Einschalten in derselben Reihenfolge für jede von einem Befehl besetzte Adressenstelle.
    7» Computer zur Aufnahme von Programmroutinen mit Befehlen und einem Hauptspeicher zum Speichern der Befehle, wobei der Speicher fortlaufend zum Aufstellen eines gespeicherten Befehls abgesucht wird, gekennzeichnet durch:
    eine Einrichtung, die auf die programmierten Befehle zum Bestimmen von mindestens zwei Speicherabschnitten anspricht, von denen jeder eine gegebene Anfangsspeicheradresse besitzt, und eine Einrichtung zum Springen auf einen ersten in einem Speicherabschnitt gespeicherten Befehl mit einer Einrichtung zum selektiven Starten des Suchens des ersten gespeicherten Befehls an einer Anfangsspeicheradresse dieses Speicherabschnitts.
    409847/0822
    -Vt-
    ti
    8. Computer nach Anspruch 79 gekennzeichnet durch eine Einrichtung sum Springen auf eine in ihr gespeicherte Subroutine, eine Einrichtung sum vJiedereintreten in eine gewünschte frühere Programmsteile aus der Subroutine heraus mit einer Einrichtung zum Speichei-n der gewünschten früheren Prograramstäle und eine Einrichtung, die auf den veränderbaren Operandenbefehl zum Überspringen einer veränderbaren Zahl von Adressenstellen anspricht, die von dem gegebenen veränderbaren Operanden abhängt.
    9. Computer nach den Ansprüchen 7 und 3, gekennzeichnet durch eine Einrichtung zum selektiven Starten des Aufsuchens mit einem Buchungsregister, das eine gewählte Anfangsspeicheradresse aufnimmt, ein erstes Speicherursprungregister und einen Programmzähler zum fortlaufenden Adressieren des Speichers, eine Einrichtung zum Übertragen des Inhalts des Buchungsregisters sowohl in das erste Speicherursprungsregister wie auch in den Prograsrnzähler.
    10. Computer nach den Ansprüchen 7 bis 9 gekennzeichnet durch eine Einrichtung, die auf einen ersten Befehl zum Springen auf eine in einera Speicherabschnitt gespeicherten Subroutine anspricht, der eine Buchungsregister enthält, das die Anfangsspeicheradresse dieses Abschnitts aufnimmt, ein erstes Speicherursprungsregister, das die Anfangsspeicheradresse aufnimmt, und einen Programmzähler enthält, der die Anfangsspeicheradresse zum fortlaufenden Adressieren der Speicherstelle in diesem Abschnitt aufnimmt,
    mehrere aufeinanderfolgende Programmhöhenregister, von. denen jedes einen Abschnitt besitzt, der die Speieherursprungsadresseninformation und einen anderen Abschnitt, der die Subroutine-Wieder-
    - hz 409847/0822
    be. -
    eintrittspunktadresseninformation aufnimmt, eine Einrichtung, die auf einen Subroutine-Springbefehl zum Verschieben des Inhalts jedes Prograinmhöhenregisters in einer Bichtung zur nächsten und zum Übertragen des Inhalts des ersten Speicherursprungsregister in den einen Abschnitt des ersten Programmhöhenregisters und dss Inhalts des Programinzählers anspricht, der der laufenden Subroutinen-Wiedereintrittspunktadresse in den anderen Abschnitt des ersten Programmhöhenregisters entspricht, und eine Einrichtung, die auf den Befehl "Ende einer Subroutine" zum Verschieben der Daten in jedem Programmhöhenregister auf das nächstfolgende in der entgegengesetzten Richtung anspricht, und zum Übertragen des Inhalts des einen Abschnitts des ersten Programmhöhenregisters in das Speicherursprungsregister und des Inhalts des zxifeiten Abschnitts des Programmhöhenregisters in das Programmzählerrregister.
    11. Verfahren zum Indern eines Programms, das in einem elektronischen Computer gespeichert ist, der einen Hauptspeicher und einen Zwischenspeicher besitzt, gekennzeichnet durch das Verschieben der Befehle in den Stellen, die der Stelle des zu ändernden Befehsl folgt,?u oder von dieser Stelle entsprechend einem Befehl, um einen Befehl in der Stelle zu streichen oder in si einzubringen.
    12. Verfahren nach Anspruch 11, wobei der Zwischenspeicher zwei Zeigerregister enthält, gekennzeichnet durch:
    a) Speichern der Befehlsadresse im Hauptspeicher, die verschoben werden soll, im zxtfeiten Zeigerregister
    409847/0822
    b) Speichern der Adresse des ersten zu verschiebenden Befehls im Hauptspeicher in das erste Zeigerregister,
    c) Übertragen des ersten zu verschiebenden Befehls von der vom ersten Zeigerregister angezeigten Adresse in eine gegebene Stelle im Zwischenspeicher,
    d) stufenweises Verringern des ersten Zeigerregisters auf die nächstfolgende Adresse,
    e) Übertragen des von der gegebenen Stelle im Zwischenspeicher übertragenen Befehls auf den Hauptspeicher bei einer Adresse, die vom zweiten Zeigerregister angezeigt ist,
    f) stufenweises Verringern des zweiten Zeigerregisters auf die "nächstfolgende Befehlsadresse, und
    g) Wiederholen der Schritte c) bis f), bis der letzte Befehl im gespeicherten Programm verschoben worden ist, wodurch das gespeicherte Programm auf den letzten Wert des Speicherraumes für die Zahl der BeSiIe verdichtet wird.
    13· Verfahren nach Anspruch 12, wobei jeder Befehl mehr ale eine Adressenstelle des Hauptspeichers besetzt, gekennzeichnet durch:
    Wiederholen der Schritte c) und d) für jede von einem Befehl besetzte Adressenstelle und danach
    Wiederholen der Schritte e) und f) für jede von einem Befehl besetzte Adressenstelle.
    14. Verfahren nach Anspruch 10, wobei der Z\fischenspeicher ein Zeigerregister enthält, gekennzeichnet durch folgende Schritte: a) Speichern einer ersten gegebenen Stelle im Zwischenspeicher des in das gespeicherte Programm im Hauptspeicher einzubringenden Befehls in eine erste Stelle des Zwischenspeichers,
    09847/0822
    b) Speichern der Adresse des ersten im Hauptspeicher gespeicherten Befehls, der verschoben werden soll, in das Zeigerregister,
    c) Übertragen des ersten Befehls, der aus der Stelle im Hauptspeicher, die vom Zeigerregister angezeigt ist, in eine zweite Stelle im Zwischenspeicher verschoben werden soll,
    d) Übertragen des einzugebenden Befehls, aus der ersten Stelle im Zwischenspeicher in die Stelle im Hauptspeicher, die vom Zeigerregister angezeigt ist,
    e) Übertragen des Inhalts der zweiten gegebenen Stelle in die erste gegebene Stelle im Zwischenspeicher,
    f) stufenweises Verringern des Zeigerregisters auf die nächstfolgende Befehlsadresse, und
    g) Wiederholen der Schritte c) bis f), bis der letzte Befehl im gespeicherten Programm verschoben worden ist,
    wodurch der Befehl eingegeben wird und das Programm nur den kleinsten Betrag des Speicheraumes für die Zahl der Befehle aufnimmt.
    15. Verfahren nach Anspruch 1^f, wobei de r Zwischenspeicher ebenfalls ein zweites Zeigerregister enthält, gekennzeichnet durch folgende Schritte:
    Speichern der Adresse des ersten im Hauptspeicher enthaltenen Befehls, der verschoben werden soll, im zweiten Zeigerregister, Übertragen des einzugebenden Befehls aus der erste gegebenen Stelle im Zwischenspeicher in die Stelle im Hauptspeicher, die vom zweiten Zeigerregister angezeigt ist, und stufenweises Verringern des zweiten Zeigerregisters auf die nächstfolgende Befehlsadresse.
    4098-4 7/082
    16. Verfahren nach den Ansprüchen. 14 und 15, wobei jeder Befehl mehr als eine Adresaenstelle des Hauptspeichers besetzt, gekennzeichnet durch Wiederholen der Schritte c) und d) für jede von einem Befehl besetzte Ädresaenstelle und danach Wiederholen der Schritte e) bis g) für jede Adressenstelle, die von einem Befehl besetzt ist.
    409847/0822
    Hf
    Leersei te
DE2420057A 1973-04-24 1974-04-23 Elektronischer computer fuer gespeicherte programme Withdrawn DE2420057A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT68155/73A IT980896B (it) 1973-04-24 1973-04-24 Perfezionamenti alle calcolatri ci elettroniche

Publications (1)

Publication Number Publication Date
DE2420057A1 true DE2420057A1 (de) 1974-11-21

Family

ID=11308214

Family Applications (2)

Application Number Title Priority Date Filing Date
DE2420058A Withdrawn DE2420058A1 (de) 1973-04-24 1974-04-23 Elektronischer computer mit tastatur
DE2420057A Withdrawn DE2420057A1 (de) 1973-04-24 1974-04-23 Elektronischer computer fuer gespeicherte programme

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE2420058A Withdrawn DE2420058A1 (de) 1973-04-24 1974-04-23 Elektronischer computer mit tastatur

Country Status (8)

Country Link
US (2) US3978453A (de)
JP (2) JPS5031750A (de)
BR (1) BR7403264D0 (de)
CA (2) CA1018664A (de)
DE (2) DE2420058A1 (de)
FR (2) FR2227581B1 (de)
GB (2) GB1455215A (de)
IT (1) IT980896B (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4189773A (en) * 1974-07-03 1980-02-19 General Electric Company On-line memory space allocation
JPS5228819A (en) * 1975-08-29 1977-03-04 Sharp Corp Key input device
IT1047994B (it) * 1975-09-11 1980-10-20 Olivetti C E C S P A Dispositivo di guida dell operatore per calcolatrici elettroniche contabili e simili macchine programmabili
DE2617485C3 (de) * 1976-04-22 1980-09-18 Nixdorf Computer Ag, 4790 Paderborn Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
US4041462A (en) * 1976-04-30 1977-08-09 International Business Machines Corporation Data processing system featuring subroutine linkage operations using hardware controlled stacks
US4241403A (en) * 1976-06-23 1980-12-23 Vapor Corporation Method for automated analysis of vehicle performance
JPS53145796U (de) * 1977-04-22 1978-11-16
DE2756327C2 (de) * 1977-12-17 1979-11-15 Deutsche Itt Industries Gmbh, 7800 Freiburg Schaltung sanordnung für eine Eingabetastatur
JPS5498090U (de) * 1977-12-21 1979-07-11
CA1122714A (en) * 1978-02-23 1982-04-27 Cyril Endfield Portable keyboard device
JPS5820982Y2 (ja) * 1978-05-10 1983-05-02 オムロン株式会社 ブツクマツト式キ−ボ−ド
US4310881A (en) * 1979-09-21 1982-01-12 Bell Telephone Laboratories, Incorporated Conditional transfer control circuit
US4382278A (en) * 1980-06-05 1983-05-03 Texas Instruments Incorporated Hierarchial memory system with microcommand memory and pointer register mapping virtual CPU registers in workspace cache #4 and main memory cache
GB2083669B (en) * 1980-09-05 1985-01-03 Casio Computer Co Ltd Key data entry system
JPS57155642A (en) * 1981-03-23 1982-09-25 Nissan Motor Co Ltd Computer capable of using correcting memory
JPS588381A (ja) * 1981-07-07 1983-01-18 Nippon Denso Co Ltd バ−コ−ド読取装置
US4471428A (en) * 1982-01-12 1984-09-11 Dshkhunian Valery Microcomputer processor
JPS59230112A (ja) * 1983-06-13 1984-12-24 Hitachi Ltd 車載用電子表示式計器盤
US4891754A (en) * 1987-07-02 1990-01-02 General Datacomm Inc. Microinstruction sequencer for instructing arithmetic, logical and data move operations in a conditional manner
US4926355A (en) * 1987-07-02 1990-05-15 General Datacomm, Inc. Digital signal processor architecture with an ALU and a serial processing section operating in parallel
US5136662A (en) * 1988-12-13 1992-08-04 Matsushita Electric Industrial Co., Ltd. Image processor for sequential processing of successive regions of an image

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3348211A (en) * 1964-12-10 1967-10-17 Bell Telephone Labor Inc Return address system for a data processor
DE1774038A1 (de) * 1967-04-01 1971-07-29 Olivetti & Co Spa Elektronische Rechenanlage
GB1246130A (en) * 1967-12-14 1971-09-15 Olivetti & Co Spa Stored programme electronic computer
US3568158A (en) * 1968-01-03 1971-03-02 Bell Telephone Labor Inc Program and subroutine data storage and retrieval equipment
US3544975A (en) * 1968-05-24 1970-12-01 Bell Telephone Labor Inc Data insertion in a content addressable sequentially ordered file
US3593313A (en) * 1969-12-15 1971-07-13 Computer Design Corp Calculator apparatus
US3693162A (en) * 1970-10-14 1972-09-19 Hewlett Packard Co Subroutine call and return means for an electronic calculator
US3760171A (en) * 1971-01-12 1973-09-18 Wang Laboratories Programmable calculators having display means and multiple memories
US3745536A (en) * 1971-03-01 1973-07-10 Burroughs Corp High speed serial scan and read-out of keyboards
US3863060A (en) * 1972-10-30 1975-01-28 Hewlett Packard Co General purpose calculator with capability for performing interdisciplinary business calculations
JPS5235582B2 (de) * 1972-11-11 1977-09-09

Also Published As

Publication number Publication date
US3978453A (en) 1976-08-31
GB1470104A (en) 1977-04-14
CA1023475A (en) 1977-12-27
CA1018664A (en) 1977-10-04
GB1455215A (en) 1976-11-10
FR2227580B1 (de) 1978-04-21
JPS5726366B2 (de) 1982-06-04
FR2227580A1 (de) 1974-11-22
FR2227581B1 (de) 1978-01-20
IT980896B (it) 1974-10-10
JPS5031740A (de) 1975-03-28
JPS5031750A (de) 1975-03-28
DE2420058A1 (de) 1974-11-21
FR2227581A1 (de) 1974-11-22
US4079447A (en) 1978-03-14
BR7403264D0 (pt) 1974-11-19

Similar Documents

Publication Publication Date Title
DE2420057A1 (de) Elektronischer computer fuer gespeicherte programme
DE1499193C3 (de) Speicher-Adressierschaltung
DE2353421C3 (de) Elektronischer Rechner
DE3117207C2 (de)
DE2536616C3 (de) Schaltungsanordnung zur Verbindung einer eine Eingabetastatur und eine Anzeigeeinrichtung enthaltenden Engabe/Ausgabe-Einrichtung über eine Busleitung mit einem zu einem Mikrorechner gehörenden Mikroprozessor
DE2417795C2 (de) Datenverarbeitungsanlage
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE2440072A1 (de) Elektronischer rechner
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE3047251A1 (de) Rechner
DE2318069A1 (de) Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix
DE2715073A1 (de) Mikroprogrammierte rechner-steuervorrichtung
DE1236834B (de) Rechengeraet
DE2601242A1 (de) Elektronenrechner mit programmspeicherung
DE2452457C3 (de) Elektronischer Rechner
DE2433436A1 (de) Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer
DE1171650B (de) Maschine zur serienmaessigen Verarbeitung von Daten in binaerer Zeichenverschluesselung
DE2753650C2 (de) Zeithaltende Einrichtung mit einem Register zum Speichern von Zeitzähldaten
DE1806535A1 (de) Digitale Rechenanlage
DE1160222B (de) Schaltungsanordnung zur Adressenmodifikation bei einer programmgesteuerten digitalen Rechenmaschine
DE1812137A1 (de) Elektronische Datenverarbeitungseinrichtung
DE2030370B2 (de) Dateneingabeanordnung
DE1549455A1 (de) Rechenmaschine
DE1221037C2 (de) Verfahren zur Speicherung hierarchisch geordneter Datenketten und Anordnung zur Durchfuehrung dieses Verfahrens
DE2609698A1 (de) Elektronischer rechner

Legal Events

Date Code Title Description
8141 Disposal/no request for examination