DE1524198A1 - Prioritaetsschaltung fuer eine Datenverarbeitungsanlage,z.B. Rechenmaschine zu allgemeinen Zwecken - Google Patents

Prioritaetsschaltung fuer eine Datenverarbeitungsanlage,z.B. Rechenmaschine zu allgemeinen Zwecken

Info

Publication number
DE1524198A1
DE1524198A1 DE19661524198 DE1524198A DE1524198A1 DE 1524198 A1 DE1524198 A1 DE 1524198A1 DE 19661524198 DE19661524198 DE 19661524198 DE 1524198 A DE1524198 A DE 1524198A DE 1524198 A1 DE1524198 A1 DE 1524198A1
Authority
DE
Germany
Prior art keywords
program
group
register
signal
programs
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
DE19661524198
Other languages
English (en)
Inventor
Schramel Franz Josef
Hans Van Kampen
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.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
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 Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of DE1524198A1 publication Critical patent/DE1524198A1/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
    • 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
    • G06F9/4818Priority circuits therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Description

"Prioritätsschaltung für eine Datenverarbeitungsanlage, z.B. Rechenmaschine zu allgemeinen Zwecken"
Prioritätsschaltung für eine mit einem Speicher versehene Datenverarbeitungsanlage, z.B. eine Rechenmaschine für allgemeine Zwecke, deren Steuerkreis ein "Befehl-aus-geführt-Signal11 und ein "Bnde-des-Programmes-Signal" liefert. Das Bedürfnis nach einer solchen Schaltung entsteht, wenn die Rechenmaschine imstande sein muß, einen ablaufenden Prozeß zugunsten eines Prozesses mit größerer Dringlichkeit oder, wie dies in der Fernmeldetechnik meistens ausgedrückt wird, zugunsten eines Prozesses, der vor einem in der Ausführung begriffenen Prozeß Priorität hat, zu unterbrechen» Diese Situation tritt u.a. auf, wenn die Rechenmaschine als eine signalverarbeitende Zentralstelle mit mehreren Anschlüssen benutzt wird. In einem verhältnismäßig einfachen Fall hat die Rechenmaschine die Aufgabe, empfangene ......
009827/U50
Telegram»© in den gewünschten Richtungen »reiterzuleiten. Die Hechenaasehine führt diese Aufgabe dadurch aus, das· sie eine über eine Singangsleitung empfangene Kodegruppe (die »it eines Buchstaben, eines Satzzeichen, einer Ziffer oder einen anderen Sjrabol identifiziert sein kann) in eine !»estimate Zelle ies Speichers überträgt und dann aus dieser Speicherzelle zur gewünschten Ausgangsleitung (oder zu den gewünschten Ausgangsleitungen} weiterleitet* Der Signal transport über die Eingangs- und Ausgangsieltungen erfolgt ■eistens sequentiell (d.h. Koleeleraent nach Kodeelesent), während der Signal transport innerhalb der Rechenmaschine seiist in sieultaner oder paralleler Pore stattfindet (d.h. jeweils saatlicne Kodeelemente einer Kodegruppe zugleich, aber im Uhrigen Koiegruppe nach Kodegruppe). Di* Eingangs- und Ausgangsleitungen sind deshalb über Eingangs- und Ausgangsleitungeübertrager ait der Bechensaaehine verbunden. In diesen Leitungsüberträgern, die ron bekannter Bauart sein können, erfolgt die Umwandlung aus der sequentiellen in die parallele For« oder umgekehrt. Auch wird in diesen Leitungsubertragern das Signal in die für die Weiterbeförderung erforderliche Form gebracht, die im alIgemeinen innerhalb der Rechenaaschine eine andere ist als für die Leitungen.
Uk eine Aufgabe von der in vorstehenden skizzierten Art erfüllen zu können, »ues die Rechenmaschine mehrere spezielle, ■eistens verh&ltnismSeeig kurze Programme ausführen Können und ausserdera in der Befehlsiiste einige spezielle, aus verhXltnismäseig kurzen Mikroprogrammen bestehende Befehle enthalten. Diese Programme ι können auf bekannte Heise zuvor i« Speicher der Rechenmaschine gespeichert worden. Ein derartiges Programm wird durch das Lesen derjenigen Speicherzelle, in ä*r der erste Befehl des Taetrmtt»nd»n
BAD ORiGlNAL 009827/U50
Programmes gespeichert ist, gestartet, aus welche« Grunde diese Speicherzelle al· die Start eel Ie des betreffenden Programs beieichnet wird· Vird eine Speicherzelle gelesen, in der ein Befehl des Prograanes gespeichert ist, se sorgt der Steuerfreie der Rechenmaschine dafür, dass nach Ausführung dieses Befehls selbsttätig diejenige Speicherzelle gelesen vird, in der der nächste Befehl des Program»« gespeichert ist. Durch das Lesen dee letzten Befehle oder Stoppbefehls des Programmes wird ein Signal erzeugt, aus den der Steuerkreis der Rechenmaschine erfahrt, dass das betreffende Program vollständig ausgeführt worden ist.
Beispiele von Programmen der erwähnten Art Bind; t. das liebertragen einer in einen Eingangeleitungsüber-
trager bereitstehenden Kodegruppe in eine bezeichnete Speicherseile;
2. das Uebertragen einer in ein - -,peicherzelle gespeicherten Kodegruppe auf einen bezeichneten AusgangsIeitungüoertrager;
3· das Analysieren einer am Anfang eines Telegraaaea
vorkommenden Adresse}
4« ,das Analysieren bestirnter Die netkode gruppe η (vie
"Anfang Itolegraaa", "Ende Telegram", "Harten", usv.)| 5· das Belegen einer Gruppe von Speicherzellen (die als
Speicherblock bezeichnet vird) für eine Eingangsleitung;
Sie Natur dieser Frcgramme hangt selbstverständlich von der besonderen Punktion, die die Rechenmaschine erfüllen muse, und von der Art und Veise, vie sie diese Funktion erfüllt, ab· FQr die Erfindung sind die weiteren Einzelheiten dieser Program»© jedoch
009827/USO
ohne Belang, vaahalb auf aia hier nicht näher eingegangen wird.
Yon Belang i»t aber die Tatsache, daaa die Ausführung einiger dieaer Prograaae eine grSaaere Dringlichkeit hat ale dia Ausführung anderer Prograaae· So hat s.B« daa aua eine« einaigen Befehl beatehende Prograaa sub Transportieren einer in ein·» Sin· gangaleitungübertrager bereitatehenden Kodegruppe tu einer Speiohercell· eine grösaere Dringlichkeit al· ein Prograun sub Analysieren einer Adreaae. Oibt aan des erwähnten Transportprograma nlalich keine Prioritit Tor allen anderen Prograeeen, ao besteht die Gefahr, dass eine in einea Eingangaleitungatibertrager bereit stehende Kodegruppe noch nicht in den Speioher fibertragen ist aua Zeitpunkt, au den die nächste Kodegruppe bereite an der Reihe ist, transportiert su werden, oder sogar einzutreffen beginnt, wodurch fiber die su transportierende Kodegruppe eine später eintreffend· Kodegruppe geschrieben «erden wurde* für «in Programs eua Transport einer Kodegruppe aue einer Speicherselle tu einen Auegangsleitungsübertrager gilt aus ähnliehen Gründen eine entsprechende Bemerkung* Die erwähnten Transportprograaae haben aoait eine grosser· Dringlichkeit al β die anderen Programs«, ait anderen Horten, di· Heohenaaschine au»β so ausgelegt sein, daaa diese Transportprograaee Tor allen anderen Prograaaen Priorität haben·
Heiter kann ea erwünscht aein, die Hechelmaschine so aussubilden, daes die verschiedenen Prograaae in Gruppen eingeteilt aind, wobei die Prograaae einer ersten Gruppe säatliohs Priorität Tor den Prograaaen aller übrigen Gruppen haben, die Prograaae einer «weiten Gruppe säatlieh Priorität Tor den Prograaaen aller übrigen Gruppen mit Auenahae der Prograaae der ersten Gruppe haben, usw. Die Programme müssen dann in Gruppen ait abnehmender Priorität
009827/UBO '
- 5 - PBI.654
angeordnet werden. Die Programm« ein und derselben Gruppe können entweder sämtlich die gleiche Priorität haben oder selbst ebenfalls in einer Reihe mit abnehmender Priorität geordnet sein.
Die Priorität, die ein Programm vor einem anderen Programm hat, kann von zweierlei Art sein und wird in Analog!· sum in der Variationsrechnung gemachten Unterschied in starke und schwache Kriterien für einen Extremwert als starke und schwach· Priorität unterschieden.
Ein Programm χ hat eine starke Priorität vor einem Programm v_, wenn ein in der Durchführung begriffenes Programm £ zugunsten eines Programmes x_ unterbrochen und durch das Programm x ersetzt wird, sobald eine Nachfrage nach dem Programm χ eintrifft. Hierbei wird jedoch immer ein gerade in der Durchführung begriffener Befehl zuvor vollständig erledigt. Bei einer gleichzeitigen Naohfrage nach einem Programm χ und einem Programm £ wird da· Programm χ gestartet.
Ein Programm χ hat ein· schwache Priorität Tor einem Programm £, wenn bei gleichzeitiger Nachfrage nach einem Programm χ und einem Programm £ das Programm χ gestartet wird, ohne dass jedoch jemals ein gerade in der Durchführung begriffenes Programm £ zugunsten eines Programmes χ unterbrochen wird.
Wenn mehrere Programme x, J> £» u, ... die gleioh* Priorität haben, können gleichfalls zwei Fälle auftreten, namliohi 1. wenn ein Programm aus der Gruppe beendigt ist, kommt
das ihm in zyklischer Folge folgende Programm an die Reihe. Wenn z.B. das Programm £ in der Ausführung begriffen ist und es treffen inzwischen Nachfragen nach den Programmen x und u ein, so wird, sobald das Programm χ_ beendigt ist, das Programm u und erst, nachdem
009827/UBO
- 6 - PHM.654
dieaee Programm ebenfalle vollständig ausgeführt worden ist, la· Programm χ in Gang gesetzt. Diese Folge wird eingehalten, gleichgültig ob dag Programm je früher oder später al« das Programm u angefordert worden ist)
2. wenn ein Programm der Gruppe ausgeführt worden ist,
kommt das Programm an die Reihe, das zuerst gefragt worden ist· In diesem PalIe muss die Schaltungsanordnung somit einem Speicher beei tzen, in dem die Reihenfolge des Smpfanges der Nachfragen behalten wird, was zu einer etwas verwickelter Schaltung führt als im 1. Fall.
Der Teil der Rechenmaschine, der nach der Erledigung jedes Befehles feststellt, welche· Programm gestartet oder wieder aufgenommen werden muss, wird als die Prioritäteschaltung der Rechenmaschine bezeichnet, und es iet namentlich dieser Teil, auf den eich die Erfindung bezieht·
Die Erfindung ist dadurch gekennzeichnet,
dass die Prioritätsschaltung mindestens zwei Nachfragenregister, ein Gruppenregieter und einen Adressengenorator enthält;
daea jedes Nachfragenregister für den Empfang mehrerer Nachfragesignale für diesem Nachfragenregister einzeln zugeordnete Programme für den Empfang eines vom Gruppenregister weitergeleiteten "Ende-des-Programmes-Signales", für den Empfang eines vom Gruppenregister gelieferten "Erledige-Programm-Signales", für die Lieferung an das Gruppenregister eines "Enthaite~unabge wickeltes-Programm-Signalee" und tür die Lieferung eines Impulses an den Adressengenerator, wodurch die Adresse einer individuell einem Programm der betreffenden Gruppe zugeordneten Speichorzelle oder die Adresse einer sämtlichen Programmen dieser Gruppe gemeinsamen Speicherstilen 009827/U60 \iAÜ ÜK,CINA1.
- 7 - PHI.6M
erseugt vlrd, eingerichtet iat|
daaa da· Gruppeareglatar für dan Eapfang d·· tob
Steuerkreia dar lechenaaechlne gelieferten "Befehl-auagef11hrt-8ignale a" und "Inda^aa-Progra—aa-Slgnalee**! für dan Bapfang dar τοη dan AnMldungaregietern gal la far ta η "finthelU-^inabgeirickeltee-Prograa«- 81gnaleN, IUr dia Lieferung ain· a Iapuleea an dan AdreaecngeneratoiY *odaroh dia Adreeee alnar anderen, eaatlichen Prograaa*n alnar Oruppa geaelaeaaen ^»alekarsalla araauft wird, für dia Haltarlaitunf aa aln RaohfrAeaaraciatar alnaa Nftida«daa-Pro(ra«aaa-81fnalaaN und für dia Liafarung aiaaa Ntrladlfa>ProfraMi-aiffnal«aH für ainaa dar lachfrafanraeiatar aingarlohtat latf
daaa ain laokfraeanraffiatar für Jad·· Prograaa dar bairaffaadan druppa ain al a Raohfraeanraeiatriarearlt baaaiohnataa ■valvartigaa Spalobaral«a«ntt da« la Zuaiaad 1 let, vann für daa PrQfTMa «iaa noch nicht erledigte Vachfraga lluft, aowia aln ale Zuataadareglatrierfarlt baaaichmt·· «^«iwertif«« Spaicharaleaant anthllt« daa la Zuataad 1 let, wann dia betreffende Oruppa aln bare 1 ta gea tar ta tea aber noch nicht erledigt· a Prograaai enthalt {
daaa daa Qruppanragiatar für jedeβ laohfragenragiatar aln »la Uebervaohungaragiatriergerit beaelehnetea sweiwartigee Speicherelement anthllt, daa Xm Zuatand 1 iat, wann ein Prograaa dar betreffenden druppa in der Abwicklung begriffen ietf
daaa aln Iaohfraganragietar daduroh auf den lapfang elnaa "Etode-dee-Prograeeea-eignalee" aneprioht, daaa ea daa betreffende Anaeldungaragiatriergertt und daa Zuatandregiatriergarlt in den Zuatand O surOokatellt, und auf den Empfang ein·· "Brladlge-Progra«B>-SlgaalaaN daduroh anaprioht, 4a·· ea da· Adreaaangenerator einen Iapula suführt, wodurch dia Adreaae der Speicherten·, die
009827/U50
dem jetzt an der Beihe seienden Programm zugeordnet ist, oder die Adresse der sämtlichen Programmen der betreffenden Gruppe gemeinsamen Speicherzelle erzeugt wird, je nachdem das Zu«tandregiβtriergerät im Zustand 0 oder im Zustand 1 war, während das Zustande· registriergerät in ersten Falle in den Zustand 1 gebracht wird;
dass das Gruppenregie ter dadurch auf den Empfang eines "Enie-des-Prograames-Signales" anspricht, dass es dieses Signal an das betreffende Anme längsregister weiterleitet, und auf den Empfang eines "Befehl-ausgefUhrt-Signalea" dadurch anspricht, dass es entweder dem jetzt an der Reihe seienden Nachfragenregister ein "Erledige-Programm-Signal" zuführt oder den Adressengencrator einen Impuls zuführt, wodurch die Adresse der zweiten, sämtlichen Programmen der jetzt an der Peihe seienden Gruppe gemeinsamen Speicherzelle erzeugt wird, je nach dem gleichzeitig β ir. "En de-de β-Programmes-Signal" empfangen ist oder nicht·
An Hand der Zeichnung wird ein Beispiel der Erfindung nachstehend näher erläutert.
Fig. 1 ist ein Diagramm zur Erläuterung der Natur der Prioritäten.
FIf. 2 ist das Entscheidungsdiagramm der erfindungegeciässen Schaltungsanordnung.
Fig. 3 ist ein allgemeir.ee Blockschaltbild einer erfindungegemäesen Schaltungsanordnung.
Fig. 4 iet ein Schaltbild einer Ausführungsform eines Anaeldungsregietere·
Fig· 5 gibt eine Uebersicht der drei Hauptteile, aus denen das Gruppenregister aufgebaut werden kann.
009827/HSO
Die Fig. 6, 7 und θ Beigen mögliche Aueführungeformen der drei Hauptteile des Oruppenregisters.
Fig. 1 ist ein Zeitdiagramm nun Verdeutlichen der Natur der Funktionen} die die Prioritäteschaltung erfüllen nuss. In dieser Figur ist angenommen, dass es vier Gruppen von je vier Programmen gibt. Die Programme der Gruppe Λ haben eine starke Priorität vor den Programmen der Gruppen B, C und D. Die Programme der Gruppe 8 haben eine starke Priorität vor den Programmen der Gruppen C und D. Die Programme der Gruppe C haben eine starke Priorität vor den Programmen der Gruppe D.
Innerhalb der Gruppe A hat das Program» k. eine
schwache Priorität vor den Programmen Ap, A. und A., das Programm A? eine schwache Priorität vor den Programmen A. und A., und das Programm A. eine schwache Priorität vor den Programm A..
Innerhalb der Gruppe B, C und D hat keines der Programme Priorität vor den anderen. Sie werden in zyklischer Folge abgefertigt, d.h. unabhängig von der Folge, in der die betreffenden Nachfragen eingetroffen sind. Es ist selbstverständlich auch möglich, innerhalb der gleichen Gruppe die Programme in der Folge abzufertigen, in der die betreffenden Nachfragen eingetroffen sind. Dies erfordert jedoch einen etwas grSaseren Aufwand an Geräten, weil diese Folge dabei behalten werden muss.
Ee sei angenommen, dass anfange kein einzigeβ Programm in der Durchführung begriffen ist und dass zu den Zeitpunkten tQ, t., t„, t,, t., te» t^, t_ und tg Nachfragen nach den Programmen D-, C-, A., A., A.t Cp, D., C. bzw. B, eintreffen. Zum Zeitpunkt tQ wird dann das Programm D. gestartet. Diese« Programm wird jedoch zum Zeitpunkt t. unterbrochen, weil su dieses Zeitpunkt «in· Naoh-
00 98 27/ UBO
frage nach dem Programm C. eintrifft und die Prograne der Gruppe C sämtlich eine starke Priorität vor den Programmen der Gruppe D haben· Zum Zeitpunkt t. wird eooit das Programm D. gestoppt und das Programm C, gestartet. Dieses Programm wird jedoch seinerseits zum Zeitpunkt t» unterbrochen, weil zu diesem Zeitpunkt eine Kachfrage nach dem Programm A. eintrifft und die Programme der Gruppe A sämtlich eine starke Priorität vor den Programmen der Gruppen C haben. Zum Zeitpunkt t? wird somit das Programm C. abgebrochen und das Programm A. gestartet, das, weil es zur Gruppe mit der höchsten Priorität gehört, nicht unterbrochen werden kann. Bevor das Programm A, zum Zeitpunkt t,- völlig abgewickelt worden ist, sind Nachfragen nach dan Progr%maen M. (sum Zeitpunkt t,) und A. (zum Zeitpunkt t,) eingetroffen, so dass, nachdem das Programm A. erledigt ist, das Programm A. gestartet wird (weil innerhalb der Gruppe A das Programm A Priorität vor dem Programm A. hat) und, nachdem das Programm A. abgewickelt worden ist, das Programm A. gestartet wird.
Bevor das Programm A, völlig abgewickelt worden ist, ist jedoch zum Zeitpunkt t- eine Nachfrage nach dem Programm C^, zum Zeitpunkt tg eine Kachfrage nach dem Programm D und sub Zeitpunkt t„ eine Kachfrage nach dem Programm C. eingetroffen·
Zum Zeitpunkt, au dem das Programm A. abgewickelt ist, kommen mithin die folgenden Programme für eine Abwicklung in Frages
1. die unerledigten Programme Cj und D.j
2. die noch nicht gestarteten Programme C t C1 und D.. Von diesen Programmen werden jetzt aber zunächst die
der Gruppe C in Angriff genommen, weil diese Gruppe vor der Gruppe D Priorität hat. Weil weiter keines der Programme der Gruppe C eine
009827/1450
- 11 - PHH.654
Priorität vor ein·» anderen Programs der gleichen Gruppe und um eo viel «ehr keine starke Priorität hat, wird zunächst das unterbrochene Programm C, wieder aufgenommen und abgefertigt. Sobald das Programs C roll8tandig abgewickelt worden ist, wird das Programm C* gestartet, weil es zyklisch auf das Programm C. folgt· Dies somit trotz der Tatsache, dass die nachfrage nach den Programm C? früher als die nach dem Program» C, empfangen ist. Sobald auch das Programs C, vollständig abgewickelt ist, wird das Programm C. gestartet.
Zum Zeitpunkt, zu den dae Programm C~ vollständig abgewickelt ist, kommen das noch unerledigte Programm D, und eine Nachfrage nach den Programm D1 für eine Erledigung in Frage. Weil auch in der Gruppe D keines der Programme Priorität vor einem anderen hat, wird somit dae Programm D, wieder aufgenomoen. Dieses Programs wird jedoch zum Zeitpunkt t« erneut unterbrochen, weil zu diesem Zeitpunkt eine Nachfrage nach den Programn B-, eintrifft und die Qruppe B Priorität vor der Qruppe D hat. Zun Zeitpunkt tg
wird das Programm D. Mithin zum zweiten Mal abgebrochen und wird da« Programm B, gestartet. Sobald dieses Programs vollständig abgewickelt let, wird das Programm D, wieder aufgenomoen und jetzt auch abgewickelt. Sobald das Programm D. vollständig abgewickelt ist, wird das Programm D. gestartet.
Nachfragen zun Durchführen von Programmen können
sowohl von den peripheren Geräten (Eingangs- und Ausgangsleitungsübertrager, Trommelspeicher, Bandspeicher, Leser, Schreiber usw.) als auch von Steuerkreis der Rechenmaschine herkommen. Die Prioritätsschaltung empfangt diese Daten in Form von Nachfragesignale. Die Art und Weise, wie diese Nachfrageeignale entstehen,
- 12 - PHN.654
ist für die Erfindung belanglos und wird hier denn auch nicht 'beschrieben*
Ee ist praktisch, ein Programm, wenn es unterbrochen werden muss, nicht im Verlauf eines Befehle, sondern am Ende eines völlig ausgeführten Befehles zu unterbrechen. FUr kurze, nur einen oder zwei Impulszyklen der Rechenmaschine beanspruchende Befehle ist etwas anderes kaum denkbar· Aber auch für längere, drei oder mehr Impulszyklen beanspruchende Befehle ist diese Massnahme praktisch und zwar weil, wenn ein Programm im Verlauf eines Befehles abgebrochen wird, das (aus einem einzigen Befehl bestehende) Programm zum zeitweiligen Speichern sämtlicher für die Wiederaufnahme des Programmes erforderlichen Daten zwangsläufig komplizierter und folglich länger wird, so dass der etwaige Zeitgewinn minimal ist und den Nachteil der großseren Komplikation, welche die Verwirklichung dieser Möglichkeit mit sich bringen würde, nicht aufwiegt·
Die Entscheidung, aus welchem Programm ein Befehl zunächst ausgeführt werden muss, wird somit nach Ablauf jedes Befehles getroffen. Es leuchtet ein, dass zu diesem Zweck z.B. das nachstehende dichotcmische Entscheidungsechema dienen kann (siehe auch Pig. 2)»
■es liegen keine neuen oder unabgewickelten Anmeldungen vor) es liegen neue oder unabgewickelte Anmeldungen vor;
,der gerade ausgeführte Befehl ist der letzte eines
Programmes}
der gerade ausgeführte Befehl ist nicht der letzte eines
Programmes j
BAD ORIGINAL 009827/U50
- 13 - PHH.654
das in der Abwicklung gegriffene Programm muss nicht unterbrochen werden?
das in der Abwicklung gegriffene Programm muss unter-■broohen werden *
Die !Entscheidungen müssen immer zu einem Zeitpunkt getroffen werden, zu dem gerade ein Befehl vollständig ausgeführt ist. Das Signal, das mit dieser Information identifiziert ist, wird vom Steuerkreis der Rechenmaschine geliefert.
Um eine Entscheidung auf dem Niveau I treffen zu können, muss die Prioritätsschaltung eine Buchhaltung der eintreffenden Anmeldungen führen und aus dieser die abgewickelten Nachfragen abbuchen. Letzteres erfolgt auf Grund einer Entscheidung auf dem Niveau II.
Die Entscheidung auf dem Niveau II erfolgt an praktischsten auf Grund eines vom Steuerfreie der Rechenmaschine gelieferten Signales, das angibt, ob der eben ausgeführte Befehl der letzte eines Programmes ist oder nicht. Zwar könnte die PrioritStsschaltung diese Angabe auch selbst aus ihr vorher zur Verfügung gestellten Angaben über die Längen der verschiedenen Programme und der erwähnten Buchhaltung ableiten, aber dies würde einen verhältnismässig grossen zusetzlichen Materialaufwand erfordern, während diese Angabe ohne jede Schwierigkeit und ohne nennenswerten Zeitverlust dem Programm selbst entnommen werden .kann. Ausserdem würde die. erwähnte andere Lösung auf Komplikationen stossen, wenn ein Programm durch ein anderes, z.B. kürzeres, Programm ersetzt wird.
Die Entscheidung auf den Niveau III kann auf Grund von Angaben getroffen warden, die der von der Prioritätsschaltung
VQ09827/U50
BAD OHiQfNAL
geführten Buchhaltung entnommen werden·
Fig. 3 zeigt das Blockschaltbild einer Prioritäteschal tung, die die im vorstehenden geschilderte Punktion erfüllen kann. Diese Schaltung besteht aus vier Nachfr&genregistern A, B, C und D, einem Gruppenregister Gr und einem Adressengenerator AdrGen.
Die Anmeldungsregister A7 B, C und D empfangen die Nachfragesignale, und zwar das Register A alle Nachfragen der Gruppe A, das Register B alle Nachfragen der Gruppe B, usw. In jedem dieser Naehfragenregiater wird eine Buchhaltung sämtlicher eintreffenden Nachfragen geführt, die auch registriert, ob die Anmeldungen noch in Angriff genommen werden müssen oder bereits teilweise verarbeitet, aber noch nicht erledigt sind. Eine völlig erledigte Anmeldung verschwindet aus dieser Buchhaltung.
Wenn innerhalb ein und derselben Gruppe keines der Programme eine starke Priorität vor einem anderen Programm dieser Gruppe hat - was im vorstehenden bereits angenommen wurde, für die Erfindung jedoch nicht von Belang ist - kann in jeder Gruppe höchstens ein unterbrochenes Programm vorkommen. Dies hat den Vorteil, dass in diesen Falle jedem Nachfragenregister mehrere diesem Register fest auge ordne te Speicherzellen zugeteilt werden können, um die für eine spätere Wiederaufnahme eines unterbrochenen Programmes erforderlichen Daten zeitweilig zu speichern. Diese Speicherzellen werden nachstehend zusammen als der dem betreffenden Nachfragenregister zugeordneten Aufbewahrungsraum bezeichnet. Der Aufbewahrungsraum eines Nachfragenregisters braucht somit nicht mehr Speicherzellen zu enthalten, als· zum zeitweiligen Speichern der Daten für die Wiederaufnahme eines einzigen Programmes er-
009827/1450
-15 - PHH.654
forderlich sind. Sin unterbrochenes Programs kanu dann dadurch wieder aufgenommen werden, dasa die erete Speicherzelle (die Startzelle) des Aufbewahrungsraumes für die betreffende Gruppe gelesen wird« während weiter auch das Speicherprogramm sehr einfach sein kann» Das Gänse muse «omit bo eingerichtet sein, daee, wenn in einer bestimmten Gruppe ein Programm gestartet oder wieder aufgenommen werden ausβ (wozu das betreffende Kachfragenregie te r einen Befehl in Form eine β Impulses vom Gruppenregister empfängt), das Nachfragenregie te r dem Adre Beenge nerator AdrGen einen Impuls zuführt, wodurch dieser die Adresse tier Start ze He des betreffenden Programaee (wenn ein neues Programm'gestartet werden mues) oder aber die Adresse der Startzelle des diesem Nachfragenregister zugeordneten Aufbewahrungeraumes (wenn ein zuvor unterbrochenes Programm wieder aufgenommen werden muss) erzeugt.
Im Gruppenregister Gr wird eine Buchhaltung der-Gruppen geführt, in denen Nachfragen nach neuen Programmen oder unterbrochenen Programmen (die zusammen ale unabgewickelte Programme bezeichnet werden) vorkommen.Das Gruppenregieter empfangt die Baten für diese Buchhaltung von den Nachfragenregistern und vom Steuerkreie der Rechenmaschine.
Es wird angenommen, dass der Steuerkreis der Rechenmaschine ein "Befehl-auegefuhrt-Signal" in Fora eines Impulses a, liefert, wenn gerade ein Befehl völlig ausgeführt worden ist, und ein "Ende-deB-Programme8-Signal" in Form eines Impulses b_ liefert, wenn der gerade ausgeführte Befehl der letzte eines Programmes ist. Der Impuls b_ kann auf bekannte Weise von einem am Ende des Programme β auftretenden Stoppbefehl abgeleitet werden, er kann jedoch bei aus wenigen Befehlen bestehenden Programmen, (wie z.B. Aufbe-
G09827/U50
Wahrungsprogrammen) auch unmittelbar im Steuerkreis seihst er-Beugt werden·
Das Gruppenregister enthält eine logische Schaltung, die nach Empfang eines Impulses ji (ein Befehl ist rolle tändig ausgeführt) festeteilt, ob«
1. das laufende Programm fortgesetzt werden muss)
2. ein neues Program* gestartet oder aber ein unterbrochenes Programm wieder aufgenommen werden muss, wobei, wenn dies der Fall ist, ebenfalls festgestellt werden muss, zu welcher Gruppe dieses Programm gehört;
3· ein laufendes Programm unterbrochen werden muss, zu
welchem Zweck ein Aufbewahrungsprogranra gestartet werden muss·
Jedes Nachfragenregister enthält eine logische Schaltung, die im Auftrag eines "Brledige-Programm-Signales" in Form eines Impulses, der vom Oruppenregieter geliefert wird, dafür sorgt, dass ein neues Programm der betreffenden Gruppe gestartet oder feber ein vorher unterbrochenes Programm dieser Gruppe wieder aufgenommen wird· In beiden Fallen stellt die logische Schaltung fest, welches Programm der betreffenden Gruppe gestartet bzw. wieder aufgenommen werden muss. Das Gruppenregißter sorgt dafür, dass niemals ein Nachfragenregister, das keine unerledigte Nachfragen enthält, ein "Erledige-Programia-Signal" empfängt. . Fig. 4 zeigt das Schaltbild einer möglichen Ausführungsform des Nachfragenregieters B. Die übrigen Naehfragenregister können gemass den gleichen Prinzip gebaut sein. Die dargestellte Schaltung enthält vier Flip-Flope FF., FF-, FF. und FF., in denen das Vorhandensein oder Fehlern einer Nachfrage registriert wird und die deshalb im nachstehenden als Nachfragenregietrierglleder
009827/1450 "
. - 17 - - PHN.654
bezeichnet werden, ein Flip-Flop FP ", in dem registriert wird, ob die Gruppe B ein bereits gestartetes jedoch noch nicht völlig abgewickeltes Programnenthält oder nicht, und der deshalb im nachstehenden als Zustandsregistrierglied bezeichnet wird, eine ZShI^- schaltung TC-mit acht Ausgängen I1, 1% 2», 2", 3», 3H, 41 und 4", an denen im Arbeitszustand in zyklischer Folge je ein Impuls entsteht, zwei ÖDER-Gatter V1 und Vg und sechs UND-Gatter W1, W2,-W,, W4, P1 und P2.
Als Eingangssignale empfängt das Nächfragenregister in erster Linie die Nachfragesignale AvB1, AvB2, AvB, und AvB, in Form einmalig auftretender Impulse, wenn eine Anmeldung vorliegt. Vom Gruppenregister Gr empfängt das Nachfragenregiöter B das "Erledige-Programm-Signal" in Form eines Impulses Tn, wenn ein Programm der Gruppe B gestartet oder wieder aufgenommen werden mues, und das "Ende-des-Programmes-Signal" in Form eines Impulses Z_, wenn gerade ein Programm der Gruppe B völlig abgewickelt worden
ist und somit als Nachfrage abgebucht werden muss. Es wird angenommen, dass das Gruppenregister Gr so eingerichtet ist, dass, wenn gerade ein Programm völlig abgewickelt worden ist und ein neues Programm gestartet oder ein zuvor unterbrochenes Programm wieder aufgenommen werden muss, zunächst dem betreffenden Nachfragenregister das "Ende-des-Programmes-Signal" und erst dann dem entsprechenden Nachfragenregister das "Erledige-Programm-Signal" zugeführt wird< Biese beiden Nachfragenregister können das gleiche Register sein*
Das Nachfragenregister B liefert dem Gruppenregister Gr ein dauerndes oder stetiges "Enthalte-unabgewickeltes-Programm-Signal" Xw, das angibt, ob die Gruppe B eine Nachfrage nach einem noch nicht angefangenen Programm oder einem bereits gestarteten aber
Ϊ09827/Τ450
- 18 - PHK.654
noch nicht abgewickelten oder unterbrochenen Programm enthält (Signalwert 1 ■ hohe Spannung) oder ob dies nicht der Fall ist (Signalwert 0 « niedrige Spannung). Ferner kann das Nachfragen- - register dem Adressengenerator AdrGen einen Impus PrB1, PrBp, PrB. oder PrH liefern« Dieser Impuls hat zur Folge, dass die Adresse der Startzelle des Programmes B., B-, B, bzw. B. oder des Aufbewahrungsraumes des Nachfr.agenregisters B erzeugt wird.
Das Flip-Flop FF. (i.-■ 1, 2, 3, 4.) wird in den Zustand 1 gebracht, wenn eine Nachfrage nach dem Programm B. eintrifft, und in den Zustand 0 zurückgebracht, wenn das Programm B. völlig abgewickelt ist, was aus dem Empfang des "Ende-deβ-Prοgrammeβ-Signales" Ζ_ hervorgeht. Dieses Signal beinhaltet nämlich die Information, dass ein Programm der Gruppe B abgewickelt worden ist, aber auf Grund der vorstehend erwähnten Voraussetzungen über die Natur der Prioritäten kann dieses Programm kein anderes als das zuletzt gestartete Programm der Gruppe B sein.
Das Flip-Flop FF wird jeweils, wenn ein Programm
der Gruppe B gestartet wird, in "den Zustand 1 gebracht und, wenn das "Ende-des-*rogrammes-SignalM Z_ empfangen wird, in den Zustand zurückgebracht.
Die Wirkungsweise der Schaltung lässt sich am
leichtesten verfolgen, in dem man sich fragt, wie das Nachfragen« register auf die verschiedenen von Gruppenregister Gr gelieferten _ Signale ansprechen muss· Dies ist nachstehend tabellarisch zusammengefasst:
1. Es wird ein "Ende-des-Progranuses-Signal" Z empfangen.
Das Flip-Flop 'fP und dasjenige der Flip-Flops FF. (i - 1, 2, 3 oder
4) das dem gerade beendigten Projpruut entspricht, müssen in den
009827/1450
- 19 - PHN.654
Zustand O zurückgebracht werden. Ub welches Flip-Flop FF. es eich
handelt, geht aus dem Zustand hervor, in den die Zeitschaltung !FC stillgesetzt ist.
2» Bs wird ein "Befehl-wiegeführt-Signal" Y5 empfangen.
2a. Bas Flip-Flop FP ist im Zustand 0 (kein unter-
brochenee Programa). Die Schaltung nuss in zyklischer Folge ausfindig machen» welches Programm, nach dem eine Anfrage läuft1 an der Reihe ist, zu welchem Zweck die ZRhIschaltung TC vorgesehen ist. Stellt es sich heraus, dass dies das Programa B. ist, so ause das Flip-Flop FF in den Zustand 1 gebracht und das Signal PrB. dem Adressengenerator AdrGen zugeführt werden»
2b. Das Flip-Flop FF ist im Zustand 1 (es gibt ein unter-
brochenoβ Programm). Die Schaltung muss des Adressengenerator AdrGen das Signal PrH zuführen.
Ss lässt sich leicht erkennen, dass die Schaltung diese Funktionen tatsächlich erfüllt.
Ee sei zunächst angenommen, dass zu einem bestimmten Zeitpunkt die Flip-Flops PF« und FF. im Zustand 1 sind (Nachfragen nach den Programmen 3. und B.) und dass das Flip-Flop PP in Zustand C ist (kein unterbrochenes Programm), während die Zählschaltung TC la Stand 2 gestoppt ist (das zuletzt abgewickelte Programm der Gruppe Bist das Programm B2). Das Signal Xg hat in diesem Falle den Signalwert 1 (die Gruppe B enthält noch nicht gestartete Programme).
Wird jetzt ein Impuls T_ empfangen, so erreicht dieser Impuls übe.r das UND-Gatter P1 die Zählschaltung TS. Diese wird infolgedessen in Betrieb gesetzt und liefert nacheinander je einen
009827/HSO '
- 20 - · PHN.654
Impuls an den Ausgängen 31, 3", 41, von denen die ersten zwei keine Wirkung haben (weil FF- im Zustand 0 ist), aber der letzte durch das UND-Tor H. hindurchgeht (weil PP. im Zustand 1 ist). Der Adreesengenerator AdrGen empfängt somit einen Impuls PrB, und erzeugt infolgedessen die Adresse der Startzelle des Programmes B.ι das infolgedessen zu laufen anfängt.
Der vom UND-Gatter M, hindurchgelaseene Impuls geht auch durch das ODSR-Gatter V2 hindurch, wodurch das Flip-Plop PP2 in den Zustand .1 gebracht wird (die Gruppe B enthält ein in Angriff genommenes Programm) und die Zählschaltung TS im Stand 4' stillgesetzt vird.
Ee »ei nunmehr angenommen, dass der Impuls Y« zu einem Zeitpunkt empfangen wird, zu dem die Flip-Flope FP., FF,, FF . sämtlich im Zustand 1 sind (es liegen Nachfragen nach den Programmen B. und B, vor, während eines dieser beiden Programme bereite zuvor in Angriff genommen wurde) und dass die Zählschaltung TS im Stand 4* gestoppt ist (das unterbrochene Programm ist das Programm B,). Der Impuls T_ geht jetzt durch das UND-Gatter P2 hindurch, wodurch der Adressengenerator AdrGen das Signal PrH empfängt. Infolgedessen wird die Adresse der Startzelle des dem Nachfragenregieter B zugeordneten Aufbewahrungsraumes erzeugt, was zur Folge hat, dass das unterbrochene Programm, im vorliegenden Falle das Programm B., wieder aufgenommen wird.
Der Empfang eines Impulses Zß hat zur Folge, dass das Flip-Flop FF in den Zustand 0 gebracht wird und dass die Zählschaltung TS gerade einen Schritt tut. Wenn die Zählschaltung z.B. im Stand 4' angehalten worden war (aus der Gruppe B war das Programm B, in der Abwicklung begriffen), so springt sie jetzt in den
0 0.9827/14-5 0
- 21 - PHH.654
Zustand 4M. Der hierdurch am Ausgang 4" erzeugte Impuls stellt das Flip-Flop FF^. in den Zustand 0 zurück.
Aus dem vorstehenden geht hervor, dass, wenn ein Programm gestartet wird, die Zählschaltung in einem der Stände 1', 21, 3f oder 41 stehen bleibt. Sobald das betreffende Programm abgewickelt ist, (der Impuls Z- wird empfangen) springt die Zählßchaltung in den Stand 1M, 2M, 3" oder 4H.
Im vorstehenden wurde angenomaen, dass die Zählschaltung im Arbeitszustand zyklisch ringsum zählt, wobei sie beim Stand anfängt, in dem sie vorher angehalten war. Die Zählschaltung kann selbstverständlich auch so ausgebildet werden» daee sie nach ihrer Inbetriebsetzung etets vom Stand 1' aus zu zählen beginnt. Dadurch erteilt man dem Programm B. jedoch eine schwache Priorität vor den Programmen B?, B, und B., dem Programm B2 vor den Programmen B^ und B , dem Programm B, vor dem Programm B*.
Fig. 5 zeigt die drei Hauptteile, aus denen eich das Gruppenregister Gr aufbauen lässt, nämlich einen Prioritätebe-3timmer Prior, ein Laufendes-Programm-Register Lprog und eine logische Schaltung LogS.
Der Prioritätsbestimmer Prior empfängt ale Eingangssignal θ die von dem Nachfragenregistera gelieferten Signale X·, Xg, X„ und X-. und liefert alc Ausgangssignale die Signale ^, j^ k, 1_. In diesem Beispiel ist angenommen, dass diese Signale sämtlich Dauercignale sind, z.B. eine hohe oder niedrige Spannung. Wenn in z.B. den Gruppen B, C und D Nachfragen oder unterbrocheneProgramme vorkommen, ist X. eine niedrige Spannung und sind Xx,, X„ und Xn
A DOl/
hohe Spannungen. Von den AusgangssigÄalen ist in diesem Falle nur ciaa Signal j. eine hohe Spannung, d.h. die Gruppe B wird als die eit
X 009827/1450
- 22 - PHK.654
der höchsten Friorität angewiesen.
Da3 Laufendee-Prograxim-Register LProg ist in Wirklichkeit nichts anderes als ein Speicher. Ee empfängt ale Eingangßsignale die von der logischen Schaltung gelieferten einmaligen Signale (Impulse) Y.. Yx,, Y-, und Y_ und liefert als Auegangeeignaie die Dauersignale jn, 11, £ und j>. Wenn zu einen bestimmten Zeitpunkt das Signal Y^ empfangen wird, bedeutet dies die Information, daes ein Programm der Gruppe B gestartet oder wieder aufgenommen wird. Von den Auagangasignalen ist dann n_ eine hohe Spannung und müsden ja, £ und £ niedrige Spannungen sein.
Die logische Schaltung empfängt vom Steuerkreis der Rechenmaschine die einmaligen Signale ji und £. Wenn der fteuerkreie jedoch beim nächsten Impulszyklus noch keinen Auftrag erhalten hat, einen neuen Befehl ausführen zu lassen, werden die Impulse a. und b_ wiederholt. Die logische Schaltung empfangt weiter vom Prioritätsbe Stimmer die Dauersignale i_t J^1 je und 1_ und von Laufendes-Programm-Register LFrog die Dauersignale γε, in, o_ und p_. In der Figur iet angenommen, dass die Signale Jb, jn, n_, o_ und £ je über zwei Drahte empfangen werden, d.h. sowohl in der bejahenden al3 der verneinenden Form, aber dies ist natürlich nicht wesentlich, weil die Negation eines Signales über einen Invertor oder Negator aus ier Affirmation abgeleitet werden kann. Als Ausgangssignale liefert die logische Schaltung die einmaligen Signale C„, 0-, und CL. (deren jedes ein Aufbewahrungsprogramm für ein Programm in der Gruppe B, C bzw. D startetjin der Gruppe A wird nie ein Programm unterbrochen, so dass kein Bedürfnis nach einem Signal 0. besteht) und weiter die einmaligen Signale Υχ, Yfi, Yc, Υβ, Z^ Zß, ZQ und Z^.
^Au OfiKäiNAL 00 9 8 27/U50
Die geeignetste Bauart jedes dieser drei Teile hängt stark von der Bauart der übrigen Teile der Rechenmaschine und insbesondere von der erforderlichen Geschwindigkeit ab. *
Fig. 6 zeigt eine mögliche Ausführurigsform eines Priori tätsbestimaiers, der nach einem anderen Prinzip als ein Frioritätsbeetiraeer mit einer Zählschaltung, wie er an Eand der Fig. 4 beschrieben worden ist, arbeitet und erhetlich schneller ist. In dieser 7igur sind Q., Q2 und Q^ drei UND-Gatter. Als Eingangesignale empfängt die Schaltung die Signale X., X., X-, X_, X_, X-, und X1, die den Flip-Flops. FF. (Fig. 4) der Nachfragenregister entnommen werden können.
2ε sei jetzt angenomiren, dass die Gruppen B und C eine Fachfrage nach einem noch nicht gestarteten Programm oder einem unterbrochenen Programm enthalten. In diesem Falle sind X., X11 und X„ eine hohe Spannung und X1. X_., Xn und X1. eine
Al?" Lr A' tit/ U
niedrige Spannung. Es lässt sich nunmehr leicht einsehen, dass in diesem Falle nur das Signal j_ eine hohe Spannung ist.
Fig. 7 zeigt eine mögliche Ausführungsform des
Laufendee-Programn-Registers LProg. Dieses empfängt als Eingangssignale die von der logischen Schaltung LogS gelieferten einmaligen Signale Y., Yfl, Y„ und Y_ und liefert ale Ausgangeaignele die Dauersignale cd, n_, o^ und %.· Jedem Eingangssignal, somit auch jedem Ausgangesignal und jeder Gruppe von Programmen entspricht ein Flip-Flop* dea Eingangssignal Y das Flip-Flop T^, dem Eingangssignal Y- dae Flip-Flop Tfi, usw. Kenn jetzt z.B. ein Impuls Yfi empfangen wird, was die Information bedeutet, dass in der Gruppe B ein Programm gestartet oder wieder aufgenommen .wird, wird das Flip-Floj. T- in den Zustand 1 und die Flip-Flops T , T- und T-. in
009827/USO "
BAD ORIGINAL
den Zuetand O getrieben, gleichgültig in welchem Zuständen diese Flip-Flops vorher waren. Infolgedessen wird nur das der Gruppe
von Programmen 5 entsprechende stetige Ausgangs signal ti eine hohe Spannung· Die Dioden dienen dazu) die Eingänge auf bekannte Weiee zu entkoppeln.
Fig· & zeigt eine mögliche Ausführungsform des Teiles der logischen Schaltung LogS, der sich insbesondere auf die Gruppe A bezieht} die sich auf die übrigen Gruppen beziehenden Teile der logischen Sohaliung können gemüse dem gleichen Prinzip aufgebaut sein·
In dieser Figur sind R., R_t P., P., ... P _ UND-Gatter, während D ein Verzögerungsglied ist.
Der betreffende Teil der logischen Schaltung spricht nur auf die Signale a_, t>, i_ und π an, wobei das einmalige Signal j» und das stetige Signal i^ in der affirmativen Form, dae einmalige Signal b_ sowohl in der affirmativen als auch in der negierenden Form und das stetige Signal ja nur in der negierenden Form empfangen werden. Wichtig sind selbstverständlich nur die Fälle, dass ein Impuls ja und eine hohe- Spannung i_ empfangen werden (a_ ■ i^ - 1). Die UND-Gatter R. und R_ liefern die einmaligen Signale a i i ■ und ab h
Die folgenden Fälle können eintreten·
1. ^"'»k'^i'^iS'^iiii"^^^!'^1
Dieser Fall tritt ein, wenn ein Programm der Gruppe A gerade abgewickelt werden ist, wobei zwei Möglichkeiten auftreten können«
1a. Die Gruppe A enthält weitere Nachfragen. In diesem Falle
muss das abgewickelte Programm abgebucht und dass dann an die Reihe kommende Programm der Gruppe A gestartet werden. Das
009 827/U50 ** ORIGINAL
UND-Gatter R. liefert jetzt keinen Impuls, das UND-Gatter R2 aber liefert einen Impuls. Dor letztere Impuls geht durch das UND-Gatter Pg hindurch, wqdurch das Nachfragenregister A das Signal Ζ, empfängt (das abgewickelte Programm wird abgebucht). Das Signal X., und infolgedessen auch das Signal i_, bleibt jedoch eine hohe Spannung (die Gruppe A enthält weitere Nachfragen). Der vom Verzögerungsglied D verzögerte Impuls geht 3omit durch das UND-Gatter P1n hindurch, wodurch das Nachfragenregister A auch den Impuls Y. empfängt (das Programm, dae jetzt an der Reihe ist, wird gestartet)·
1b. Die Gruppe A enthält keine weiteren Nachfragen. In
diesem Falle muss das abgewickelte Programm abgebucht und das an der Reihe seiende Programm mit der höchsten niedrigeren Priorität gestartet werden. Das UND-Gatter R1 liefert jetzt keinen Impuls, das UND-Gatter R? aber liefert einen Impuls. Dieser letztere Impula geht durch das UND-Qatter Pg hindurch, wodurch das Nachfragenregister A das Signal Z, empfangt (dae abgewickelte Programm wird abgebucht). Hierdurch ändert sich das Signal X. und infolgedessen das Signal i^ in eine niedrige Spannung. Der vom Verzögerungsglied. D verzögert hindurchgelassene Impuls wird jetzt somit Tom UND-Gatter P10 gesperrt, so dass das Nachfragenregister A keinen Impuls Y, empfängt. Während des nächsten Impulszyklus werden die Impulse ja und b_ wiederholt, während eich der Teil der logischen Schaltung, der aich auf das jetzt an der Reihe seiende Nachfragenregister bezieht, in einem dem Fall 2. entsprechenden Zustand befindet»
2, a»1,^-1,i.«1,|«05a|i>B«0)aii,»1.
Dieser Fall tritt ein, wenn ein Programm einer Gruppe mit niedrigerer
' 0 09827/HSO
- 26 - PH*.654
Priorität gerade abgewickelt worden ist. Für die sich auf die Nachfragenregister B, C und D beziehenden Teile der logischen Schaltung kann dieser Fall auch auftreten, wenn sich ein auf eine Gruppe mit höherer Priorität beziehender Teil der logischen Schaltung im Fall Ta befunden hat. Das UND-Gatter R1 liefert jetzt keinen Impuls, das UND-Gatter R^ aber liefert einen Impuls» Der von R0 gelieferte Impuls geht durch da& UND-Gatter P-, P, oder Pq hindurchi wodurch das betreffende Nachfragenregister einen Impuls Z empfängt, und das eben abgewickelte Programm wird abgebucht. Gehört dieses Programm z.B. zur Gruppe C, so war £ eine hohe Spannung, und das UND-Gatter P,. lässt einen Impuls hindurch, so dass das Nachfragenregieter C einen Impuls Z empfang*. Der vom ITerzögerungeglied D verzögert hindurchgelassene Impuls geht jetzt durch das Gatter P1-. hindurch, so daas dag Nachfra£enre£iater A einen Impula T. empfängt, wodurch das jetzt an der Reihe seiende Programm der Gruppe A abgestartet wird·
Dieser Fall tritt ein, wenn ein Befehl eines bereits in Angriff genommenen Programmes der Gruppe A völlig ausgeführt iat, ohne dase das Programm dadurch abgewickelt ist. Das Programm muss in diesem Falle ungestört weiter abgewickelt werden, d.h. die Schaltung darf jetzt keinen einzigen Impuls ale Ausgangesignal liefern. Ee wird auch tatsächlich ein Ausgangsimpuls geliefert, weil jetzt weder das UND-Gatter R1 noch das UND-Gatter R2 einen Impuls liefert. 4» a_»1,b_«0, ^»ijjB-Oja^b^^jBeij^ab^i^eO.
Dieser Fall tritt ein, vnn ein Befehl ein» bereits in Angriff genommenen Programmes einer Gruppe irit niedrigerer Priorität völlig ausgeführt ist, ohne dass diese«; Programm dadurch abgewickelt ist·
009827/UBO
- 27 - PHH.654
Tiesea Prograoc rcues mithin zugunsten eines Programmes der Gruppe A unterbrochen werden. Das UND-Gatter H. liefert jetzt einen Impuls, aber das UND-Gatter Ep liefert keinen Impuls. Der vom UND-Gatter E. gelieferte Impuls geht durch dae Gatter P-, P. odei· P^ hindurch, wodurch der Adreeeengenerator einen Impuls 0_, 0_ oder 0_ empfängt. Dieser Impuls startet das Aufbewahrungsprogremn für das betreffende Programm in der Gruppe E, C oder D. Sobald das Aufbevahrunfisprogranim (ein einsiger Befehl) abgewickelt ist, empfangt die Schaltung die Iicpula £ und jb, wahrend noch immer i_ - 1 und £ * 0 ist. Die Schaltung gelangt dann eocit in den Zustand 2.
009 8.2 7/U50

Claims (1)

  1. PATENTANSPRUCH; ,
    Prioritätsschaltung für eine mit einem Speicher versehene Datenverarbeitungsanlage, z.B. Rechenmaschine für allgemeine Zwecke, deren Steuerkreis ein "Befehl-ausgeführt-Signal" und ein "Ende-des-Programmes-Signal" liefert, dadurch gekennzeichnet,
    daß die Prioritätsschaltung mindestens zwei" Nachfragenregister, ein Gruppenregister und einen Adressengenerator enthält;
    daß jedes Nachfragenregister für den Empfang mehrerer Nachfragesignale für diesem Nachfragenregister einzeln zugeordnete Programme für den Empfang eines vom Gruppenregister weitergeleiteten "Ende-des-Programines-Signales" , für den Empfang eines vom Gruppenregister gelieferten "Erledige-Programm-Signales", für die Lieferung an das Gruppenregister eines "^Enthalteunabgewickeltes-Programm-Signales" und für die Lieferung eines Impulses an den Adressengene-rator, wodurch die Adresse einer individuell einem Programm der betreffenden Gruppe zugeordneten Speicherzelle oder die Adresse einer sämtlichen Programmen dieser Gruppe gemeinsamen Speieherzelle erzeugt wird, eingerichtet ist;
    daß das Gruppenregister für den Empfang des vom Steuerkreis der Rechenmaschine gelieferten "Befehl-ausgeführt-Signalea" und "Ende-des-Programmes-Signales", für den Empfang der von den Anmeldungsregistern gelieferten "Enthalteunabgewickeltes-Programm-Signale", für die Lieferung eines Impulses an den Adressengenerator, wodurch die Adresse einer anderen, sämtlichen Programmen einer Gruppe gemeinsamen Speicherzelle erzeugt wird, für die Weiterleitung an ein Nachfragenregister eines "Ende-des-Programmes-Signales" und für die Lieferung eines "Erledige-Programm-Signales" für eines der Nachfragenregister eingerichtet ist; <
    0 0 9827/ U SO
    dass einNachfragenregiater für jedes Programm der betreffenden Gruppe ein als NachfragenregistriergerUt bezeichnetes zweiwertiges Speicherelement, das im Zustand 1 ist, wenn für das Programm eine ncch nicht erledigte Nachfrage läuft, sowie ein als Zustandsregistriergerät bezeichnetes zweiwertiges Speicherelement enthält, das im Zustand 1 ist, wenn die betreffende Gruppe ein bereits gestartetes aber noch nicht erledigtes Programm enthält|
    dasβ das Gruppenregister für jedes Nachfragenregister ein als Ueberwachungsregisteuergerät bezeichnetes zweiwertiges Speicherelement enthält, das im Zustand I left, wenn ein Programm der betreffenden Gruppe in der Abwicklung begriffen iat|
    dass ein Nachfragenregister dadurch auf den Empfang eines "Ende-des-Programmes-Signales" anspricht, dass es das betreffende Anmeldungsregistriergerät und das Zustandsregistriergerä^t in den Zustand 0 zurückstellt, und auf den Empfang eines "Erledige— Programm-Signales" dadurch anspricht, dass es dem Adreasengenerator einen Impuls zuführt, wodurch die Adresse_ der Speicherzelle, die dem jetzt an der Reihe seienden Programm zugeordnet ist, oder die Adresse der sämtlichen Programmen der betreffender. Gruppe gemeinsamen Speicherzelle erzeugt wird, je nachdem das Zustandsregistriergerflt im Zuatand U oder im Zustand 1 war, während das Zustandsregistriereerät im ersten Falle in den Zustand 1 gebracht wirdf. iaea das Gruipeni'egister dadurch auf den Smpi'ang · ainos "finde-deB-Programmea-Signales" anspricht, dass es diese» iiignal an das betreffende Anmeldungsregister weiterleitet, und auf den Empfang eine« "Befehl-auögeführt-Signales" dadurch anspricht, •lass »'s entweder dem jetzt an der Reihe seienden Naohfragenregistei1 ein "rirledige-Programm-Signal" zuführt^oder dem AdreseengeneTator
    0 0 9 8 2 7 / U 6 0 ßAD 0R/QiiS/AL
    •in«η Iapuls zuführt, wodurch die Adresse der zweiten, «tätlichen Programmen der jetzt an der Reihe seienden Gruppe gemeinsamen Speicherzelle erzeugt wird, je nach dem gleichzeitig ein "Ehdedes-Programmes-Signal" empfangen ist oder nicht·
    l!
    0098 27/1 ASO BAD
DE19661524198 1965-01-16 1966-01-12 Prioritaetsschaltung fuer eine Datenverarbeitungsanlage,z.B. Rechenmaschine zu allgemeinen Zwecken Pending DE1524198A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL6500562A NL6500562A (de) 1965-01-16 1965-01-16

Publications (1)

Publication Number Publication Date
DE1524198A1 true DE1524198A1 (de) 1970-07-02

Family

ID=19792129

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19661524198 Pending DE1524198A1 (de) 1965-01-16 1966-01-12 Prioritaetsschaltung fuer eine Datenverarbeitungsanlage,z.B. Rechenmaschine zu allgemeinen Zwecken

Country Status (9)

Country Link
US (1) US3491339A (de)
AT (1) AT260580B (de)
BE (1) BE675164A (de)
CH (1) CH451566A (de)
DE (1) DE1524198A1 (de)
DK (1) DK114868B (de)
GB (1) GB1135554A (de)
NL (1) NL6500562A (de)
SE (1) SE318431B (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3648253A (en) * 1969-12-10 1972-03-07 Ibm Program scheduler for processing systems
US3774163A (en) * 1972-04-05 1973-11-20 Co Int Pour L Inf Hierarchized priority task chaining apparatus in information processing systems
US4044333A (en) * 1972-07-26 1977-08-23 Siemens Aktiengesellschaft Data processing switching system
US4564901A (en) * 1983-07-21 1986-01-14 Burroughs Corporation Method of performing a sequence of related activities via multiple asynchronously intercoupled digital processors
GB2167583B (en) * 1984-11-23 1988-11-02 Nat Res Dev Apparatus and methods for processing an array of items of data
GB2302743B (en) * 1995-06-26 2000-02-16 Sony Uk Ltd Processing apparatus
US5794306A (en) * 1996-06-03 1998-08-18 Mid Products, Inc. Yard care machine vacuum head
US11922161B2 (en) 2022-03-07 2024-03-05 Bank Of America Corporation Scheduling a pausable automated process in a computer network
US11792135B2 (en) 2022-03-07 2023-10-17 Bank Of America Corporation Automated process scheduling in a computer network

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL136146C (de) * 1957-12-09
NL229160A (de) * 1958-06-30
US3029414A (en) * 1958-08-11 1962-04-10 Honeywell Regulator Co Information handling apparatus
NL248274A (de) * 1959-02-16
GB986103A (en) * 1960-06-30 1965-03-17 Nat Res Dev Improvements in or relating to electronic digital computing machines
US3239819A (en) * 1960-11-07 1966-03-08 Gen Electric Data processing system including priority feature for plural peripheral devices
US3221309A (en) * 1961-08-10 1965-11-30 Scam Instr Corp Priority interrupt monitoring system
BE634161A (de) * 1962-07-03
US3309672A (en) * 1963-01-04 1967-03-14 Sylvania Electric Prod Electronic computer interrupt system
US3331055A (en) * 1964-06-01 1967-07-11 Sperry Rand Corp Data communication system with matrix selection of line terminals

Also Published As

Publication number Publication date
US3491339A (en) 1970-01-20
NL6500562A (de) 1966-07-18
AT260580B (de) 1968-03-11
DK114868B (da) 1969-08-11
CH451566A (de) 1968-05-15
SE318431B (de) 1969-12-08
BE675164A (de) 1966-07-14
GB1135554A (en) 1968-12-04

Similar Documents

Publication Publication Date Title
DE3511023C2 (de) Analog/Digital-Wandler
DE1956604A1 (de) Datenverarbeitungsanlage mit einem Speichersystem
DE2364254A1 (de) Schaltungsanordnung fuer datenverarbeitende geraete
DE1774052B1 (de) Rechner
DE1524111C3 (de) Elektronische Datenverarbeitungsanlage
DE1524198A1 (de) Prioritaetsschaltung fuer eine Datenverarbeitungsanlage,z.B. Rechenmaschine zu allgemeinen Zwecken
DE1190706B (de) In zwei abwechselnden Zyklen arbeitende programmgesteuerte elektronische digitale Rechenmaschine
DE2720842A1 (de) Daten-uebertragungssystem
DE1774421B1 (de) Mehrprogramm datenverarbeitungsanlage
DE2404887C2 (de) Schaltungsanordnung für den Informationsaustausch mit einem Rechner
DE2853138B1 (de) Verfahren und Schaltungsanordnung zur UEbermittlung von Signalen in speicherprogrammierten Vermittlungsanlagen
DE2610428A1 (de) Anordnung zur steuerung der zwischenspeicherung von zwischen zwei funktionseinheiten zu uebertragenden daten in einem pufferspeicher
AT392866B (de) Und mit ihnen zusammenarbeitenden arbeitsspeichern
DE2028345B2 (de) Verfahren zur Verteilung von Ablaufanforderungen in einer programmgesteuerten Datenvermittlungsanlage
DE1152837B (de) Elektronische Maschine zur Informationsverarbeitung
DE3036923C2 (de) Mit Eingabeeinrichtungen wahlweise bestückbare Station für Signalübertragungseinrichtungen
EP0155370B1 (de) Schaltung zur Adressierung eines Speichers
DE1774533C (de) Einrichtung zur Aufgabenwahl in einem Vielfachrechner
DE3540774C2 (de)
DE1524179B2 (de) Einrichtung zur wahlfreien zusammenstellung und verteilung von datenbytes
DE1905659A1 (de) Verfahren und Schaltungsanordnung zum UEberwachen von Verbindungen in speicherprogrammierten Fernmeldevermittlungs-anlagen fuer binaere,codierte Nachrichten
DE2007401C (de) Pufferspeicher zum Verzogern der Adressierung bei einer programmgesteuer ten Fernmeldeanlage
AT240922B (de) System zur Durchführung von Vermittlungsaufgaben, insbesondere für Fernsprechzwecke
DE1914578A1 (de) Pogrammgesteuerte Datenverarbeitungsanlage,insbesondere fuer die Abwicklung von Vermittlungsvorgaengen in einer Fernsprechvermittlung
DE2551745C3 (de) Indirekt gesteuerte Vermittlungsanlage, insbesondere Fernsprechvermittlungsanlage, und Verfahren zu deren Betrieb