DE2420057A1 - Elektronischer computer fuer gespeicherte programme - Google Patents
Elektronischer computer fuer gespeicherte programmeInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M11/00—Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
- H03M11/20—Dynamic 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.
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.
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.
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
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)
- PATENTANSPRÜCHE1. 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/0822Zeigerregister, 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/0822teEinschalten 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, und409847/0822eine 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, undeine 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-ti8. 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/0822be. -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 Zeigerregister409847/0822b) 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, undg) 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 danachWiederholen 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/0822b) 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, undg) 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/08216. 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/0822HfLeersei te
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)
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)
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 |
-
1973
- 1973-04-24 IT IT68155/73A patent/IT980896B/it active
-
1974
- 1974-04-08 US US05/459,159 patent/US3978453A/en not_active Expired - Lifetime
- 1974-04-09 CA CA197,361A patent/CA1018664A/en not_active Expired
- 1974-04-11 US US05/460,269 patent/US4079447A/en not_active Expired - Lifetime
- 1974-04-16 CA CA198,143A patent/CA1023475A/en not_active Expired
- 1974-04-22 GB GB1754474A patent/GB1455215A/en not_active Expired
- 1974-04-22 GB GB1754574A patent/GB1470104A/en not_active Expired
- 1974-04-23 DE DE2420058A patent/DE2420058A1/de not_active Withdrawn
- 1974-04-23 FR FR7414089A patent/FR2227581B1/fr not_active Expired
- 1974-04-23 FR FR7414090A patent/FR2227580B1/fr not_active Expired
- 1974-04-23 BR BR3264/74A patent/BR7403264D0/pt unknown
- 1974-04-23 DE DE2420057A patent/DE2420057A1/de not_active Withdrawn
- 1974-04-24 JP JP49045585A patent/JPS5031750A/ja active Pending
- 1974-04-24 JP JP4558474A patent/JPS5726366B2/ja not_active Expired
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 |