DE1202034B - Datenverarbeitendes Geraet zur Bearbeitung mehrerer Programme - Google Patents

Datenverarbeitendes Geraet zur Bearbeitung mehrerer Programme

Info

Publication number
DE1202034B
DE1202034B DEN17893A DEN0017893A DE1202034B DE 1202034 B DE1202034 B DE 1202034B DE N17893 A DEN17893 A DE N17893A DE N0017893 A DEN0017893 A DE N0017893A DE 1202034 B DE1202034 B DE 1202034B
Authority
DE
Germany
Prior art keywords
program
memory
priority
data processing
processing device
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.)
Pending
Application number
DEN17893A
Other languages
English (en)
Inventor
Christopher Strachey
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1202034B publication Critical patent/DE1202034B/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Description

BUNDESREPUBLIK DEUTSCHLAND
DEUTSCHES
PATENTAMT
AUSLEGESCHRIFT
Int. α.:
G06f
Deutsche Kl.: 42 m-14
i-V-iV Bl.
Nummer: 1202034«^
Aktenzeichen: N17893IX c/42 m
Anmeldetag: 16. Februar 1960
Auslegetag: 30. September 1965
Die Erfindung betrifft ein datenverarbeitendes Gerät, mit dem mehrere Programme verschachtelt gleichzeitig bearbeitet werden können.
Mit der größer werdenden Arbeitsgeschwindigkeit der zentralen Einheit von Rechnern haben die Arbeitsgeschwindigkeiten der Eingabe- und Ausgabe-Einheiten nicht Schritt gehalten. Um die Wartezeiten für den eigentlichen Rechner auf die Beendigung einer Dateneingabe zu verkürzen, wurde von Eingabe- und Ausgabe-Pufferspeichern Gebrauch ge- xo macht, mit deren Hilfe sich eine Geschwindigkeitsumwandlung erzielen läßt. Besonders wenn mehrere Eingabe/Ausgabe-Einheiten gleichzeitig an einen Rechner angeschlossen sind, ist damit eine bessere Ausnutzung der Rechnerkapazität möglich ge- is worden.
Trotzdem gibt es noch Anwendungsfälle, bei denen ein Rechner sehr schlecht ausgenutzt ist. Ein Beispiel ist eine Programmprüfung. Dabei arbeitet ein Programmierer am Bedienungspult der Maschine und prüft und verändert sein Programm an Hand der von der Maschine gelieferten Ergebnisse. Diese Methode verschwendet selbst bei langsam arbeitenden Maschinen sehr viel Zeit.
Ein anderer Maschinenzeit verbrauchender Fall ist das Bereithalten und Einstellen der Zusatzgeräte, wie Lochstreifenleser und Magnetbandeinheiten. Solche Geräte verbrauchen eine beträchtliche Zeit zur Einstellung, die nur unter Mitwirkung des Rechners zufriedenstellend ausführbar ist. Mit der Erfindung ist die Möglichkeit geschaffen, diese Maschinenzeiten beträchtlich zu reduzieren. Sobald erwogen wird, mehrere Programme gleichzeitig in einer Maschine zu bearbeiten, tauchen verschiedene neue Probleme auf. Das Wichtigste davon ist, zu verhindern, daß die Programme einander stören. Die gegenseitige Störung von Programmen tritt dann besonders auf, wenn eines der Programme noch nicht geprüft ist und aus diesem Grunde in falscher Richtung läuft. Erfindungsgemäß werden zur Behebung dieses Mangels Sperrungen im Speicher vorgesehen, die jedes Programm darauf beschränken, nur die ihm zugeordneten Speicherstellen anzurufen. Die Änderung dieser Sperren darf, wiederum aus Zeitersparnisgründen, nur mittels eines Maschinenbefehls erfolgen. Es ist ein weiterer Erfindungsgedanke, solche Sperren nur unter besonderen Umständen änderbar zu machen.
Aus Kosten- und Zeitgründen ist es schließlich notwendig, bestimmten Programmen einen Vorrang vor anderen, weniger wichtigen Programmen einzuräumen. Dabei muß Rücksicht genommen werden auf die Wichtigkeit der einzelnen Programme und mög-Datenverarbeitendes Gerät zur Bearbeitung
mehrerer Programme
Anmelder:
International Business Machines Corporation,
Armonk, N.Y. (V. St. A.)
Vertreter:
Dipl.-Ing. H. E. Böhmer, Patentanwalt,
Böblingen (Württ), Sindelfinger Str. 49
Als Erfinder benannt:
Christopher Strachey, London
Beanspruchte Priorität:
Großbritannien vom 16. Februar 1959 (5263)
licherweise auch auf die Zeitdauer, während der ein Programm schon auf seine Erledigung wartet.
Gegenstand der Erfindung ist demnach ein datenverarbeitendes Gerät zur abschnittsweisen Bearbeitung mehrerer, mit verschiedenem Zeitrang versehener Programme, mit wenigstens je einem Rechenwerk, einem Speicher und Steuereinrichtungen, das gekennzeichnet ist durch einen Zeitrangbestimmer, der die Eingangskanäle mit Zeitrangkanälen verbindet, durch einen Zeitrangvergleicher zum Zeitrangvergleich der anstehenden Eingangsdaten, durch einen vom Zeitrangvergleicher gesteuerten Unterbrecher und durch einen Festwertspeicher, aus dem durch den Unterbrecher eine Befehlsfolge zur Bestimmung des nach der Unterbrechung zu bearbeitenden Programms abgerufen wird. Erfindungsgemäß ist weiter ein Wartelistenregister zur Aufnahme der auf Erledigung harrenden Programme vorhanden.
Weitere Merkmale sind den Unteransprüchen zu entnehmen. Ein Ausführungsbeispiel des erfindungsgemäßen Gerätes wird an Hand von Zeichnungen erläutert.
F i g. 1 ist das Blockschaltbild des erfindungsgemäßen Rechenwerks;
F i g. 2 ist ein Blockschaltbild für den Zeitrangvergleich.
Der Rechner arbeitet mit einem Hauptprogramm, das selbsttätig den sich widersprechenden Forderungen einer Anzahl Speisestellen verschiedener Art innerhalb eines vorher festgelegten Grundplanes
509 689/351
3 4
Rechnung trägt. Dieser Plan ist in einer ordnenden Um zu verhüten, daß ein veränderliches Programm Befehlsgruppe eingegliedert, die im folgenden »Be- mit einem anderen in Konflikt kommt, muß jedes fehlsgeber« genannt wird. Zweckmäßigerweise hat Programm geschlossen im Speicher untergebracht der Rechner ein lange laufendes Grundbelastungs- sein. Dies läßt sich sehr leicht bewerkstelligen, wenn programm geringsten Zeitranges, das in den Pausen 5 automatische Verschlüsselung verwendet wird. Auf zwischen den Programmen höheren Zeitranges und ein Eingangssignal hin teilt der Befehlsgeber dem kürzerer Dauer in Tätigkeit tritt. Der Rechner wird Problem einen unbenutzten Speicherblock zu, setzt dann voll beschäftigt gehalten. Solche Programme die anzuwendenden Adressen in die Befehle ein und niedrigeren Zeitranges können maschinelle Kontroll- legt die Speichergrenzen fest, innerhalb derer das programme oder eine von einem Schaltpult aus er- io Problem liegen muß. Während das Problem durchfolgende Programmprüfung sein. läuft, werden diese Grenzen in zwei besonderen
Das wichtigste Merkmal des Befehlsgebers liegt in Grenzregistern festgehalten und mit dem Adressen-
einem festen Programm. Dies bedeutet, daß er in register des Hauptspeichers, jedesmal wenn dieser
einem besonderen, nicht löschbaren Speicherteil unter- verwendet wird, verglichen. Wenn die aufgerufene
gebracht ist. Solche Speicher lassen sich verhältnis- 15 Adresse nicht im richtigen Teil des Speichers ist,
mäßig billig und leicht mit sehr kurzer Zugriffszeit wird dem Befehlsgeber ein Fehler angezeigt. Dieses
(Größenordnung Vs μβ) herstellen. Das Programm des Vergleichen braucht den Vorgang des Heraus-
Befehlsgebers kann infolgedessen niemals zerstört suchens aus dem Speicher nicht zu verzögern,
werden; der Zeitverbrauch durch den Befehlsgeber Es kann parallel zum Heraussuchen erfolgen, und
bleibt klein. Als Arbeitsspeicher für den Befehlsgeber 20 wenn die Adresse außerhalb der Grenzen liegt, wird
wird vorzugsweise ein löschbarer Speicher benutzt, dieselbe Zahl einfach in den Speicher zurück-
der nur durch Befehle des Befehlsgebers veränder- geschrieben,
bar ist. Die die Grenzregister erstellenden Befehle sind
Der Umstand, daß der Befehlsgeber in einem be- nur für den festen Speicher verfügbar, und es ist ein sonderen, festen Teil des Speichers angeordnet ist, 25 Teil der Wirkungsweise des Befehlsgebers, sie richtig macht es möglich, Maschinenbefehle vorzusehen, die festzusetzen, wenn immer die Steuerung für ein nur dem Befehlsgeber zugänglich sind. Wenn die neues Programm eingestellt wird. Die Speicher-Befehle zur Änderung von Hauptspeichersperren von Zuteilung ist also eine Funktion des Befehlsgebers, dieser Art sind, ist es sehr leicht, es so einzurichten, Jedes Programm kann sich selbst beseitigen (z. B. daß kein Programm die Sperren eines anderen Pro- 30 wenn es zu Ende ist), aber kein veränderliches Programms ändern kann, und somit Schutz dagegen zu gramm kann ein anderes beseitigen. Nur der Befehlsschaffen, daß noch in der Prüfung befindliche Pro- geber kann zwangsweise ein Programm beseitigen, gramme Störungen verursachen. tut dies aber nur, wenn ein Programmfehler vorliegt,
Der Rechner-Befehlsgeber ist auf der anderen z. B. ein Aufruf einer Nummer außerhalb seiner
Seite selbst kein durch elektrische Bauelemente und 35 Grenzen oder wenn das Programm seine zeitliche
Verdrahtung aufgebauter Rechenautomat, sondern Begrenzung überschreitet.
ein Programm, eine Befehlsfolge, in gewissem Grade Wenn feste Programme einen Speicherteil benutzen von bedingter Art und enthält grundsätzlich sehr sollen, der zu einem veränderlichen Programm gewenig Spezialgerät. Er arbeitet, wie später erörtert hört, werden das Programm oder der Befehlsgeber werden wird, mit einer Einrichtung, die normaler- 40 beim ersten Eingreifen prüfen, ob der Speicherteil, weise jeweils nur ein Problem oder doch eine im den zu benutzen sie aufgefordert sind, zu den zuVergleich zu der Anzahl gleichzeitig zu befriedigen- lässigen gehört. Auch ist es wünschenswert, eine der Ansprüche kleine Anzahl Verfahren bewältigen zeitweilige Aussperrung vorzusehen, während Datenkann. Wenn er einer Anzahl gleichwertiger An- blocks auf Magnetband übertragen oder davon abspräche auf seine Dienste gegenübersteht, hat er 45 genommen werden. Dies kann auf einfache Weise zwischen den widerstreitenden Erfordernissen zu geschehen, wenn für Worte im Hauptspeicher ein entscheiden; er muß ein laufendes Programm unter- Paritätskontrollbit vorgesehen ist. Es wird dazu das brechen, solange ein anderes von höherem Zeit- Paritätsbit während der Zeitspanne umgekehrt, währangschlüssel geordneter wartender Ansprüche zu rend der der Hauptrechner (aber nicht das auf bilden und zu behandeln; auf Wunsch hat er logische so Magnetband festgehaltene Programm) auszusperren Schaltungen so zu steuern, daß Signale aus einer ist. Dies bedingt, nur vom festen Speicher aus zu-Speisequelle in den Rechnerschlüssel übersetzt gängliche Befehle vorzusehen, die das Lesen und werden. Aufzeichnen im Hauptspeicher mit umgekehrter Pari-
Die wesentliche Rolle, die der Befehlsgeber spielen tat bewirken. Ein Versuch des Hauptprogramms, ein
muß, macht es sehr wünschenswert, sicherzustellen, 55 Wort mit umgekehrter Parität zu lesen, würde (wie
daß die Wahrscheinlichkeit eines Fehlers in seiner alle Fehlerangaben) zu einer Folge im Befehlsgeber
Arbeitsweise oder in den von ihm gesteuerten führen. Dieser würde entscheiden, ob eine magne-
Arbeitsgängen auf ein Kleinstmaß verringert wird. tische Übertragung, die diese Adresse enthielt, im
Aus diesem Grunde ist das Befehlsgeberprogramm Verfahren war. Falls ja, würde er das Hauptvorzugsweise in einem nicht löschbaren, gesonderten 60 programm verzögern, wenn nein, würde er einen Speicher untergebracht. Abteilungen des Haupt- Speicherfehler anzeigen.
Speichers können Programmarten oder besonderen Die Eingabestationen (Speisestellen) können von
Programmen zugeteilt werden, und Adressen, die sich jeder gewünschten Art sein und Informationen in
auf besondere Befehle beziehen, werden danach ge- verschiedenen Verschlüsselungen übertragen, wobei
prüft, ob sie innerhalb der Adressengruppe liegen, 65 der Rechner gegebenenfalls dazu verwendet wird,
die den Programmen dieser besonderen Art oder die hereinkommende Information aus verschiedenen
einem bestimmten Programm ausschließlich züge- Verschlüsselungen in eine Rechnerverschlüsselung zu
ordnet ist. übersetzen. Es ist jedoch gleichwohl notwendig, dein
Rechner die Information mit hoher Geschwindigkeit Buchstabe oder Wort für Wort vor der Weiterleitung einzuspeisen. zum Hauptspeicher oder an der vollständigen In-
Die Informationsmenge, die in einem Arbeitsgang formationsgruppe im Hauptspeicher vorgenommen auf den Rechner übertragen werden kann, ändert wird, wenn ein Signal »Ende der Botschaft« in dem sich entsprechend der Arbeitsgeschwindigkeit der 5 Worteingangsregister verzeichnet wird. Speisestelle und der Art, in der die Arbeit der Ge- Nach der Zusammenstellung eines herein-
schwindigkeitsumwandlung zwischen Speisestelle und kommenden Programms im Speicher wird ein ProRechner zwischen diesen beiden Stellen aufgeteilt ist. grammzeitrang, der entweder durch die Art des So kann in manchen Fällen die gesonderte Infor- das Programm liefernden Speisekanals oder durch mationseinheit eine einzige Binärziffer sein, in ande- io eine Anzeige am Ende des Programms bestimmt ist, ren Fällen ein Schriftzeichen, in noch anderen ein über einen Ortskanal zum Zeitrang-Vergleicher geWort. Jedoch wird in jedem Fall die ganze zu über- gegeben, und das Programm ist somit als solches zur mittelnde Informationsgruppe in einer Reihe geson- Berücksichtigung eingetragen und wird, wenn es an derter Einheiten gesendet, so daß der Empfang der Reihe ist, abhängig vom Vorliegen dringenderer immer das gleiche Grundproblem stellt, obgleich 15 Programme in einer oder mehreren Stufen durchder Umfang des Problems sich ändert. Jede gesendete geführt.
Einheit wird, soweit es die Übertragung betrifft, als Die Übermittlung von Ergebnissen zu Abgabeeine besondere Botschaft behandelt, und ihr geht stellen wird wie folgt gehandhabt. Ein arithmetiein Signal »Programmunterbrechung« voraus, das sches Programm endet mit in den Befehlsgeber zu für sich gesendet wird, während die Übertragung 20 bringenden Befehlen des Inhalts, der Abgabestelle der Einheit ein Signal »Jetzt senden« des Rechners ein Signal zu geben und geeignete Aufzeichnungen abwartet. Der Rechner prüft den Zeitrang einer im Arbeitsspeicher für die Durchführung der Über-Speisestelle, von der ein Signal »Programmunter- tragung zu machen. Die Abgabestelle leitet dann brechung« empfangen wurde, in bezug auf das eine Reihe von Programmen ein, um je nach ihrer laufende Programm, und das Signal »Jetzt senden« 25 Arbeitsweise die Übertragung von einzelnen Binärwird sofort gegeben, wenn das vorhandene Programm ziffern oder Binärzifferblöcken zu veranlassen, unterbrochen werden soll, oder es wird aufgeschoben, Man wird den Befehlsgeber so konstruieren, daß
bis die betreffende Speisestelle in einer auf dem Zeit- für alle grundlegenden Möglichkeiten im Betrieb des rang und gegebenenfalls auf der Länge der Warte- Rechners beim Bearbeiten sich überschneidender zeit (z. B. zwischen Speisestellen gleichen Zeit- 30 Erfordernisse Vorsorge getroffen ist, und er wird ranges) aufgebauten Wartereihe an der Reihe ist. in der Lage sein, vom festen Speicher in gewis-
Für den Rechner enthält auch jede Informations- sen Fällen zusätzliche, interpolierte Befehle abzueinheit ein gesondertes Programm, aber außerdem rufen.
muß die Aufeinanderfolge getrennter Programme, Es versteht sich, daß der Rechner von beliebiger
die in einer vollständigen Informationsgruppe ent- 35 bekannter Art sein kann; aber um die Erläuterung halten sind, geordnet werden. zu erleichtern, wird er als ein Rechner beschrieben,
Die Einordnung wird sich gemäß der Größe der der zur Verwertung von Befehlen ausgebildet ist, einzelnen Informationseinheiten ändern. Ist die Ein- die in einer Adressenfolge in einem Speicher entheit ein Wort, so wird der Befehlsgeber ein Pro- halten sind und in welchem jeder Befehl im wesentgramm für Buchstaben- und Wortparitätskontrollen 40 liehen nur eine Operand-Adresse und eine Funktions-(wenn benutzt) verwenden, und automatisch ver- kennzeichnung enthält.
anlassen, daß das Wort in bekannter Weise vom In der Zeichnung sind der Hauptspeicher MS,
Worteingangsregister in den Hauptspeicher an eine ein fester Speicher FS und ein Arbeitsspeicher WS Adresse übertragen wird, die ein Teil des zuerst als Teil derselben Speichereinheit gezeigt, die eine empfangenen Wortes sein oder vom Befehlsgeber 45 magnetische Matrix sein kann. Der feste Speicher automatisch zugeteilt werden kann. Ist die Informa- FS ist vorzugsweise von einer Art, bei der das Abtionseinheit ein Buchstabe, so wird der Befehlsgeber lesen nicht löschend erfolgt; der übrige Teil des die Buchstabenparitätskontrolle auf jede empfan- (z. B. Magnetkern-) Speichers kann von üblicher gene Einheit anwenden und den Buchstaben zu dem Art sein und mit löschender Ablesung arbeiten, vom Befehlsgeber automatisch zugeteilten Arbeits- 50 Der Speichersteuerkreis SCC ist so ausgebildet, daß speicherteil übertragen. Bei Empfang jedes folgenden löschendes und nicht löschendes Ablesen in bekann-Buchstabens wird oder werden der Buchstabe oder ter Weise vorgenommen werden kann, oder es die Buchstaben zu dem Worteingangsregister ge- können getrennte Steuerungen verwendet werden, leitet, bis ein Wort vollständig ist, worauf die Weiter- CON ist der Hauptsteuerkreis des Rechners und leitung zum Hauptspeicher stattfindet. Binärziffer- 55 mit der arithmetischen Einheit AU verbunden, die einheiten werden in ähnlicher Weise wie Buchstaben- zur Ausführung aller erforderlichen Operationen in einheiten behandelt. Ein Bericht über das Fort- der Lage ist. IR ist das Befehlsregister, das den schreiten der Weiterleitung zum Rechner wird zwi- Adressen-Operand-Abschnitt einschließt, der einen sehen den Informationseinheiten im Arbeitsspeicher Aussonderungsabschnitt MF und einen Hauptaufgezeichnet und vom Befehlsgeber jedesmal ver- 6o abschnitt ADD mit dem Funktionsabschnitt FiV entwendet, wenn ein Signal »Programmunterbrechung« hält. Weil die Befehlsadressen normalerweise aufvon der fraglichen Speisestelle empfangen und ver- einanderfolgen, wird ein bei der Befehlsadressierung arbeitungsfähig gemacht worden ist, um z. B. zu wirkender Zähler CNR benutzt, der zwischen zwei bestimmen, ob die zu empfangende Einheit einen Befehlen normalerweise einmal weitergeschaltet Teil einer teilweise empfangenen Informationsgruppe 65 wird, der aber fähig ist, außer Kraft setzende Befehlsbildet. adressen von IR oder FS oder WS in herkömm-
Der Befehlsgeber kann die Übertragung in eine licher Übertragungsweise infolge Befehlsgeber-Verschlüsselung veranlassen, die Buchstabe für betätigung zu empfangen.
7 8
Die Funktionsanzeigevorrichtung FNR, die eine merksamkeit erwarten; danach wird aus WS oder
Diodenmatrix sein kann, entschlüsselt die in Teil FS automatisch eine Klassen-Vorrangsliste ent- FN des Befehlsregisters IR enthaltene Funktion und nommen. Diese bestimmt aus den Ergebnissen der
regelt die Einstellung des Hauptsteuerkreises CON in vorhergehenden Prüfung, welcher wartende Kanal bekannter Weise, um AU zur Durchführung einer 5 innerhalb der Klasse zuerst Aufmerksamkeit erfor-Operation zu veranlassen. In ähnlicher Weise ent- dert. Wenn dies das Programm ist, das unterbrochen schlüsselt der Adressenentschlüsseler ^iDi? den wurde, wird es wieder eingesetzt und läuft weiter.
Inhalt von ADD und CNR und steuert das Lesen Wenn ein neues Programm vorgeht, veranlaßt der
des Operanden oder des betreffenden Befehls in be- Befehlsgeber, daß der Inhalt von CNR, der sich
kannter Weise über die Hauptverbindung Hy aus io auf das unterbrochene Programm bezieht, zum
der gewünschten Stelle. Arbeitsspeicher WS gesandt wird, so daß das unter-
Verbunden mit ADR ist ein Adressenvergleicher brochene Programm später an der Unterbrechungs-
ADC, der zu entscheiden hat, ob die Adresse in stelle wieder eingesetzt werden kann. Der Befehls-
ADR innerhalb bestimmter Grenzen liegt, die sich geber bestimmt zunächst aus der Betrachtung der
von Zeit zu Zeit unter dem Einfluß des Befehls- 15 Art des Programms, das unterbrochen wurde, und
gebers ändern, wie später erklärt werden wird. ADR der Art des unterbrechenden Programms, welche ab-
und CNR haben ebenso IR = Kenn-AbschnitteMF normalen Bedingungen in CON und AU der Speiche-
wie IR. Diese sind gesondert bei den entsprechenden rung bedürfen, und kontrolliert die erforderliche
Vorrichtungen gezeigt, um anzugeben, daß ein Teil Speicherung in WS.
einer Adresse verschiedene Werte hat, mit deren 20 Wenn an Stelle einer Programmunterbrechung das
Hilfe zwischen MS, WS und FS unterschieden wird. laufende Programm normal endet, wird automatisch
Weiter ist FiVi? so eingerichtet, daß es ein Fehler- ein Befehlsgeberprogramm in Anwendung gebracht;
signal auf ER gibt, wenn es eine Befehlsgeberfunk- dieses stuft die Stellung der innerhalb CPl bis
tion ohne ein Signal von MF empfängt (CNR zeigt CP 3 betriebenen, zwei stabile Zustände besitzenden
an, daß ein vom Befehlsgeber gesteuerter Befehl be- 25 Schaltvorrichtungen in bekannter Zählerart Schritt
handelt wird) oder wenn eine nicht vom Befehlsgeber für Schritt herab, bis entweder INT betätigt wird
stammende Funktion in Verbindung mit einer oder CP 3 (oder eine weitere Zeitrangvorrichtung),
Befehlsgeberadresse empfangen wurde. ohne daß eine Reaktion auf INT betätigt wird.
Wenn MF von ADR eine Adressenverschlüsselung Auf diese Weise wird angezeigt, daß keine warempfängt, die WS oder FS anstatt MS bezeichnet, so 30 tenden Programme vorhanden sind. Wenn INT bewird die Auswahl demgemäß gesteuert. tätigt wird, schaltet es den Befehlsgeber ein. In die-
Der Anschluß des Rechners an Speisekanäle ist sem Fall zeitigt der Erstbefehl des Befehlsgebers
unten in F i g. 1 erläutert. Alle solchen Kanäle sind kein Ergebnis.
mit einer Diodenmatrix PRA verbunden, mittels der Es wäre natürlich möglich, es so einzurichten, jedem Kanal ein Zeitrang zugeteilt wird. Gewöhn- 35 daß keine Vorkehrung für Programmunterbrechung Hch wird es viel mehr Kanäle geben, als Zeitränge vorhanden wäre, wobei der Zeitrangvergleicher am vorhanden sind, jedoch können natürlich Fälle auf- Ende jedes Programms befragt würde,
treten, in denen jeder Kanal einen eigenen Zeitrang Die nächste Stufe des Befehlsgeberprogramms ist, hat, in welchem Falle PRA nicht benötigt wird. Die das wartende Programm höchsten Zeitrangs oder, hereinkommenden Leitungen sind auch mit einem 40 wenn mehrere gleichen Zeitrangs vorhanden sind, Wartelistenregister WLR verbunden, welches an- eins von ihnen auszuwählen. Es ist jedoch mögkommende Signale »Programmunterbrechung« für lieh, durch Weiterschalten einer Aufzeichnung für den Zweck des Bildens einer Wartereihe aufzeichnet, jeden Warteruf einmal je Hauptzyklus die Wartezeit wie unten erklärt. Die Matrix PRA verbindet jeden Ka- zu berücksichtigen und diese Aufzeichnungen zu nal mit einem der Zeitrangkanäle PRCl bis PRC 3 45 prüfen, um für die Auswahl eines Arbeitsprogramms z. B. mit Hilfe von Dioden in bekannter Weise. die größte Wartezeit innerhalb ein und desselben
Die Zeitrangkanäle PRC 1 bis PRC 3 sind mit Zeitrangs mittels eines Befehls des Befehlsgebers
Signal-Festhaltern SS, z. B. zwei stabile Zustände zu bestimmen. Wahlweise kann die Wartezeit un-
aufweisenden Schaltvorrichtungen verbunden, die mit berücksichtigt bleiben.
einem Zeitrangvergleicher PRC verbunden sind, der 50 Die zu PRA führenden Kanäle brauchen natürlich
(wie später beschrieben) den Zeitrang jedes herein- nicht nur Speisekanäle zu enthalten, sondern können
kommenden Signals mit dem Zeitrang des laufen- auch örtlich entstehende Programmerfordernisse,
den Programms vergleicht; letzterer ist in einer wie Irrtumsprogramme, gewöhnliche Regelpro-
der zwei stabile Zustände besitzenden Schaltvorrich- gramme und Ausgabebedingungen enthalten. Der
tungenCPIbis CP3 festgehalten. 55 Befehlsgeber prüft auch, ob das neue Programm
Wenn ein einlaufendes Signal einen höheren Zeit- eine Fortsetzung früherer Programme, z. B. einen rang als das laufende Programm oder vielleicht Teil eines ausgegebenen Ergebnisses oder der Gegleichen Zeitrang hat, wird ein Signal zum Unter- samtheit eines hereinkommenden arithmetischen brechungskreis INT geschickt, mittels dessen der Programms bildet.
Befehlsgeber in Tätigkeit versetzt wird, außerdem 60 Wenn schon früher (teilweise) bearbeitete Daten werden CON und AU augenblicklich in ihrer be- weiter zu behandeln sind, entnimmt der Befehlsstehenden Verfassung festgehalten. geber dessen Aufzeichnung aus WS und steuert den
Auf Wunsch kann die Fortsetzung laufender laufenden Abschnitt des Gesamtprogramms und die
Arbeiten, wie Multiplizieren, bis zur Fertigstellung Weitergabe der laufenden Teilgruppe (wenn noch un-
gestattet werden. Der Befehlsgeber entnimmt zu- 65 vollständig) nach WS oder (wenn vollständig)
nächst ein Kennwort aus WS oder FS, mit dessen nach MS.
Hilfe WLR geprüft wird, um zu bestimmen, welche Die Zuteilung von Speicherraum in MS für
ankommenden Kanäle des fraglichen Zeitrangs Auf- hereinkommende Programme ist verhältnismäßig
einfach. Die wirkliche Anzahl der nach Bedienung verlaufenden Programme kann zu jeder Zeit sehr klein sein, und die Bereitstellung von nicht mehr als vier oder fünf Adressen kann für diesen Zweck vollkommen ausreichen. Wenn dem Abschluß eines vollendeten Gesamtprogramms der Beginn eines früher noch nicht behandelten Programms folgt, kann ihm natürlich die Adresse zugeteilt werden, die durch das vollendete Programm belegt war. Andererseits bietet ein Vorgang des Lesens, Prüfens und Neuaufzeichnens des Inhalts des alten Teils jeder der wenigen für diesen Zweck zugeteilten Adressen, bis eine leere Adresse gefunden ist, für das Programm keine Schwierigkeiten. Nach Zuteilung wird die Adresse mit der Kennzeichnung desjenigen Speisekanals in WS gespeichert, dem sie zum Gebrauch beim Einsteuern der Abschnittsgruppe des hereinkommenden arithmetischen Programms in die zugeteilte Speicheradresse zugeteilt ist. Jedesmal wenn ein hereinzugebendes Programm auf dem fraglichen Speisekanal vorkommt, werden die Adressengrenzen des zugeteilten Speichers auf ADC so übertragen, daß geprüft wird, ob die Befehlsadresse innerhalb der Grenzen des zugeteilten Speichers liegt. Es gibt verschiedene bekannte Wege zur Ausführung dieser Prüfung. Beispielsweise können die Ziffern der Befehlsadresse abwechselnd synchron mit den entsprechenden Ziffern der beiden Grenzen Ziffernvergleichern zugeführt werden zwecks Feststellung, ob die Adressenziffer je nach den Erfordernissen gleich kleiner oder größer ist als die Grenzziffern. Wenn eine außerhalb der Grenze liegende Ziffer entdeckt wird, wird über ER ein Signal gegeben, das über den Zeitrangvergleicher ein Fehlerprogramm im Rechner einleitet.
Wahlweise können die Adressen auch so gewählt sein, daß für jeden Adressensatz eines Programms eine Anzahl von höchstwertigen Binärzifferplätzen in jeder Adresse gleich ist, wobei die Ziffernwerte von Satz zu Satz verschieden sind. Um einen einfachen Fall anzunehmen: In einem Speicher MS mit 500 Speicherabschnitten mit je zehn Binärzifferstellen könnte ein Adressensatz so gewählt werden, daß jede Adresse darin (wichtigste Ziffer links) mit 00001 begänne, und ein anderer Abschnitt könnte so gewählt werden, daß jede Adresse darin mit 00010 begänne. Der Adressenvergleicher ADC würde automatisch mit dem einem Programm zugeteilten Adressensatz in Übereinstimmung gebracht, und jede neue Befehlsadresse würde automatisch in ADC verglichen werden, um zu gewährleisten, daß sie innerhalb der zulässigen Grenzen liegt. Wenn der Vergleich ein negatives Ergebnis hat, wird über ER das Irrtumssignal gegeben. Auf diese Weise wird die Benutzung unrichtiger Befehle oder Daten zwangläufig vermieden.
F i g. 2 zeigt einen Folgekreislauf für Zeitrangvergleich bei PRC in Fig. 1. OGl, OG2 sind »Oder«- Tore, und AGl, AG3 sind »Und«-Tore. 551, 552 und CFl, CP2 sind bistabile Schaltvorrichtungen, von denen die in Fig. 2 oberen durch den hereinkommenden bzw. den vorhandenen relativen Zeitrang den Zustand 1 einnehmen.
Die Schaltkreise sind so angeordnet, daß ein hereinkommender Zeitrang dem Unterbrechungskreis INT ein Signal gibt, wenn das laufende Programm von gleichem oder geringerem Zeitrang ist. Folglich wird ein Signal auf PRCl SSl in die 1-Lage bringen und ein Signal durch das »Oder«-Tor OGl nach INT übermitteln; wenn jedoch ein Signal auf PRC 2 552 in die Lage 1 bringt, wird ein Signal durch OG2 an ^iGl übermittelt, aber AGl wird nicht geöffnet, wenn CPl in Lage 1 ist: mit anderen Worten dann, wenn der laufende Zeitrang höher als der hereinkommende Zeitrang ist. Man erkennt, daß ein bei LP von einem niedrigeren SS hereinkommendes Zeitrangsignal durch AG3 gehen wird, wenn CP 2 in der Lage 0 ist, und ebenso durch OG 2, daß es jedoch bei ^4Gl blockiert wird, wenn CPl in der Lage 1 ist.
Beim Zuteilen von Zellen eines Hauptspeichers für verschiedene Programme besteht die bekannte Technik darin, den Speicher in Sektoren aufzuteilen, von denen jeder eine Anzahl von »Wort«-Stellen enthält, groß genug, um allen Anforderungen zu genügen, die bei der Ausführung eines vollständigen Programms voraussichtlich zu erfüllen sind; Unterabschnitte eines zugeteilten Sektors sind verschiedenen Phasen einer Operation zugewiesen. Die Unterabschnitte können mehrere »Wort«-Stellen enthalten, von denen jeder eine Schlüsseladresse hat, und die Schlüsseladressen zugeteilter Unterabschnitte sind in dem zu den Zusatzgeräten geschickten Verfahrensprogramm enthalten. Die Schlüsseladressen werden durch den Speicheradressenvergleicher geprüft, um sicherzustellen, daß sie innerhalb der Grenzen der den Programmen zugeteilten Speicherzelle liegen. Der in der Zeichnung gezeigte Rechner ist mit einer einzigen arithmetischen Einheit ausgerüstet, jedoch ist klar, daß man auch eine Vielzahl arithmetischer Einheiten vorsehen könnte, in welchem Fall Programme, die eine Bearbeitung erwarten, in der Reihenfolge behandelt werden, wie Einheiten frei werden.
""Die Einheiten selbst könnten, wenn mehr als eine zu einer bestimmten Zeit frei wäre, willkürlich oder in vorherbestimmter Folge in bekannter Weise zugeteilt werden.
Die besondere hier beschriebene Ausführungsform ist ein Rechenautomat, doch ist klar, daß die Erfindung in gleicher Weise bei anderen Arten von datenverarbeitenden Geräten mit ähnlichen Problemen anwendbar ist, und es versteht sich, daß die Erfindung alle derartigen datenverarbeitenden Geräte in ihren Bereich einschließt.

Claims (5)

Patentansprüche:
1. Datenverarbeitendes Gerät zur abschnittsweisen Bearbeitung mehrerer, mit verschiedenem Zeitrang versehener Programme, mit wenigstens je einem Rechenwerk, einem Speicher und Steuereinrichtungen, gekennzeichnet durch einen Zeitrangbestimmer (PRA), der die Eingangskanäle mit Zeitrangkanälen verbindet, durch einen Zeitrangvergleicher zum Zeitrangvergleich der anstehenden Eingangsdaten, durch einen vom Zeitrangvergleicher gesteuerten Unterbrecher (INT) und durch einen Festwertspeicher (FS), aus dem durch den Unterbrecher eine Befehlsfolge zur Bestimmung des nach der Unterbrechung zu bearbeitenden Programms abgerufen wird.
2. Datenverarbeitendes Gerät nach Anspruch 1, dadurch gekennzeichnet, daß ein Wartelistenregister (WLR) vorgesehen ist, in dem einlaufende, eine Programmunterbrechung fordernde Signale zu einer Warteliste vereinigt werden.
509 689/351
3. Datenverarbeitendes Gerät nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß bei Eingang eines Programmunterbrechung fordernden Signals von höherem Rang als das laufende Programm mittels eines über den Unterbrecher (INT) erzeugten Signals das Wartelistenregister (WLR) abgefragt und mittels einer im Speicher enthaltenen Vorrangliste das im Augenblick höchstwertige Programm bestimmt wird.
4. Datenverarbeitendes Gerät nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß der Festwertspeicher Befehlsfolgen enthält, die für alle zu einer bestimmten Ausgabe/Eingabe-Einheit gehörenden einlaufenden Programme und Daten bestimmte Speicherplätze des Haupt-
Speichers (MS) festlegt, und daß die Grenzwerte der einer solchen Einheit zugeordneten Speicheradressen in einem Adressenvergleicher (ADC) aufgezeichnet werden und bei einem Speicheraufruf die aufgerufene mit den zulässigen Adressen verglichen wird.
5. Datenverarbeitendes Gerät nach dem Anspruch 4, dadurch gekennzeichnet, daß die Änderung der festgelegten Adressengrenzen durch eine im Festwertspeicher enthaltene Befehlsfolge vorgenommen wird.
In Betracht gezogene Druckschriften:
Buch von H. Rutishauser, A. Speiser,
E.Stiefel, »Programmgesteuerte digitale Rechengeräte«, Basel 1951, S. 16 bis 19.
Hierzu 1 Blatt Zeichnungen
509 689/351 9.65 © Bundesdruckerei Berlin
DEN17893A 1959-02-16 1960-02-16 Datenverarbeitendes Geraet zur Bearbeitung mehrerer Programme Pending DE1202034B (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB5263/59A GB924672A (en) 1959-02-16 1959-02-16 Improvements in or relating to electrical digital computers

Publications (1)

Publication Number Publication Date
DE1202034B true DE1202034B (de) 1965-09-30

Family

ID=9792801

Family Applications (1)

Application Number Title Priority Date Filing Date
DEN17893A Pending DE1202034B (de) 1959-02-16 1960-02-16 Datenverarbeitendes Geraet zur Bearbeitung mehrerer Programme

Country Status (5)

Country Link
US (1) US3222647A (de)
DE (1) DE1202034B (de)
FR (1) FR1248389A (de)
GB (1) GB924672A (de)
NL (1) NL248274A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1524166B1 (de) * 1965-09-10 1970-08-06 Ibm Schaltungsanordnung zur Herstellung von Verbindungen zwischen mehreren unabhaengigen Teilen und einem gemeinsamen Teil einer Datenverarbeitungsanlage

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1063296A (en) * 1963-05-31 1967-03-30 Automatic Telephone & Elect Improvements in or relating to data handling systems
US3302181A (en) * 1963-06-17 1967-01-31 Gen Electric Digital input-output buffer for computerized systems
US3334334A (en) * 1963-07-26 1967-08-01 Gen Electric Signal change detector for process control computer
US3309675A (en) * 1963-09-27 1967-03-14 Westinghouse Electric Corp Interruption control apparatus for a computer
US3317902A (en) * 1964-04-06 1967-05-02 Ibm Address selection control apparatus
US3334333A (en) * 1964-04-16 1967-08-01 Ncr Co Memory sharing between computer and peripheral units
US3369221A (en) * 1964-05-04 1968-02-13 Honeywell Inc Information handling apparatus
US3378820A (en) * 1964-08-13 1968-04-16 Digital Equipment Corp Data communication system
NL6500562A (de) * 1965-01-16 1966-07-18
US3333252A (en) * 1965-01-18 1967-07-25 Burroughs Corp Time-dependent priority system
US3411143A (en) * 1966-01-13 1968-11-12 Ibm Instruction address control by peripheral devices
US3419852A (en) * 1966-02-14 1968-12-31 Burroughs Corp Input/output control system for electronic computers
US3467948A (en) * 1966-06-21 1969-09-16 Gen Electric Apparatus providing a unique decision signal for concurrent interrogation signals
US3482264A (en) * 1966-07-07 1969-12-02 Gen Electric Data processing system including communication priority and priority sharing among subsystems
US3482265A (en) * 1966-07-22 1969-12-02 Gen Electric Data processing system including means for awarding priority to requests for communication
US3479649A (en) * 1966-07-22 1969-11-18 Gen Electric Data processing system including means for masking program interrupt requests
US3513445A (en) * 1966-09-29 1970-05-19 Gen Electric Program interrupt apparatus
US3505649A (en) * 1966-10-10 1970-04-07 Hughes Aircraft Co Data processor
US3426331A (en) * 1966-12-12 1969-02-04 Honeywell Inc Apparatus for monitoring the processing time of program instructions
US3643229A (en) * 1969-11-26 1972-02-15 Stromberg Carlson Corp Interrupt arrangement for data processing systems
US4682282A (en) * 1984-10-25 1987-07-21 Unisys Corp. Minimum latency tie-breaking arbitration logic circuitry
DE3689287T2 (de) * 1985-02-18 1994-05-26 Nec Corp Datenverarbeitungsgerät.

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2797862A (en) * 1951-11-08 1957-07-02 Bell Telephone Labor Inc Digital computer
DE1071749B (de) * 1953-01-23
NL229160A (de) * 1958-06-30

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1524166B1 (de) * 1965-09-10 1970-08-06 Ibm Schaltungsanordnung zur Herstellung von Verbindungen zwischen mehreren unabhaengigen Teilen und einem gemeinsamen Teil einer Datenverarbeitungsanlage

Also Published As

Publication number Publication date
GB924672A (en) 1963-05-01
NL248274A (de)
US3222647A (en) 1965-12-07
FR1248389A (fr) 1960-12-09

Similar Documents

Publication Publication Date Title
DE1202034B (de) Datenverarbeitendes Geraet zur Bearbeitung mehrerer Programme
DE2725718C2 (de) Datenverarbeitungsanordnung zum Übersetzen von virtuellen Adressen
DE1178623C2 (de) Programmgesteuerte datenverarbeitende Maschine
DE2115993A1 (de) Datenverarbeitungssystem
DE2134402B2 (de) Vorrichtung zum Abfragen der Verfügbarkeit eines Kommunikationsweges zu einer Eingabe-Ausgabeeinheit
DE1524111C3 (de) Elektronische Datenverarbeitungsanlage
DE2539211A1 (de) Zugriffssteuereinheit
DE1524788C3 (de) Schaltungsanordnung zum Erkennen und zum automatischen Ersetzen von schadhaften Speicherstellen in Datenspeichern
DE1774870A1 (de) Verfahren und Anordnung zur Adressierung von Informationen in einer Datenverarbeitungsanlage
DE2055522A1 (de) Informations Tasteneingabesystem
DE1549548A1 (de) Vorrichtung zur Aktivierung eines bestimmten Befehls aus einer Vielzahl von Befehlen,die in einem Befehlsspeicher eines Rechners gespeichert sind
DE1922304A1 (de) Datenspeichersteuergeraet
EP0127809A1 (de) Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit
DE1201586B (de) Programmgesteuerte Daten-Auswertmaschine
DE2142374C2 (de) Schaltungsanordnung zur Auswahl und ggfs. erfolgenden Modifizierung von Datenzeichen
DE1524155A1 (de) Verfahren und Schaltungsanordnung zum Einspeichern und/oder Lesen von Informationen in einem Speichersystem,das mit mehreren Verarbeitungseinrichtungen einer Datenverarbeitungsanlage zusammenarbeitet
DE2221926B2 (de) Datenverarbeitungsanlage mit wenigstens einem in Verbindung mit mehreren Peripheriegeräten stehenden Prozessor
DE2428013A1 (de) Mehrfachsteuergeraet
DE2343501C3 (de) Steuerschaltung für zumindest eine Rechenanlage mit mehreren für die Durchführung von Ein-/Ausgabe-Programmen bestimmten Registern
CH495584A (de) Datenverarbeitungsanlage
DE1296429B (de) Datenbearbeitungsanlage
DE3016269C2 (de)
DE1801619A1 (de) Eingabe/Ausgabe-Steuerung in einer Datenverarbeitungsanlage
DE2025672A1 (de) Konfigurationsanzeiger fur periphere Einheiten in einer Datenverarbeitungsanlage
DE1549457C3 (de) Datenverarbeitungsanlage