DE2120289A1 - Gesteuerte Pause in einer Datenverarbeitungsanlage - Google Patents

Gesteuerte Pause in einer Datenverarbeitungsanlage

Info

Publication number
DE2120289A1
DE2120289A1 DE19712120289 DE2120289A DE2120289A1 DE 2120289 A1 DE2120289 A1 DE 2120289A1 DE 19712120289 DE19712120289 DE 19712120289 DE 2120289 A DE2120289 A DE 2120289A DE 2120289 A1 DE2120289 A1 DE 2120289A1
Authority
DE
Germany
Prior art keywords
asynchronous
time
sub
subunit
signal
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
DE19712120289
Other languages
English (en)
Inventor
Theodore Richmond Bemardsville N.J. Peters (V.StA.)
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.)
AT&T Corp
Original Assignee
Western Electric Co Inc
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 Western Electric Co Inc filed Critical Western Electric Co Inc
Publication of DE2120289A1 publication Critical patent/DE2120289A1/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
    • G06F9/4825Interrupt from clock, e.g. time of day

Description

Gesteuerte Pause in einer Datenverarbeitungsanlage
Die Erfindung bezieht sich auf eine Einrichtung zum Anhalten und Wiederstarten des Arbeitens einer Datenverarbeitungsanlage, welche einen synchronen Hauptprozessor und mindestens eine asynchrone Untereinheit aufweist,» die auf die von dem Hauptprozessor erzeugten Anfragen anspricht. Im einzelnen bezieht sich die Erfindung auf Datenverarbeitungsanlagen, die eine Taktimpulsquelle zur synchronen Steuerung der meisten, jedoch nicht allen Teilen der Anlage aufweist. Noch weiter ins einzelne gehend, bezieht sich die Erfindung auf solche Anlagen, welche Einrichtungen zur genauen Beendigung und Wiederaufnahme der Arbeiten aller oder eines wesentlichen Teils der Komponenten der Anlage aufweisen.
Viele moderne digitale Datenverarbeitungsanlagen werden als synchrone Maschinen bezeichnet. Dies bedeutet, daß in derartigen Anlagen eine Taktquelle oder eine andere Zeitgeberquelle vorgesehen ist, welche die Aufeinanderfolge der von jeder Komponente der Anlage durchzuführenden Operationen steuert. Am meisten kommen in gleichen Abständen erzeugte
10 SS 46/ 16 6 0
Zeitgebersignal vor, die als Taktintervalle bezeichnet werden. Jede Pundamentaloperation, die in der Datenverarbeitungsanlage durchgeführt wird, macht eine fixierte oder vorherbestimmte Anzahl von Taktgeberintervallen für ihre Durchführung erforderlich.
Andere modernen Datenverarbeitungsanlagen werden als
|; asynchron bezeichnet, weil die Fundamentaloperationen nur
dann durchgeführt werden, wenn eine vorherige Operation (oder vorherige Operationen) beendet worden sind. Daher werden diese Operationen ohne Bezug auf einen gemeinsamen (synchronisierenden) Takt durchgeführt»
Wiederum, andere Datenverarbeitungsanlagen haben Merkmale,, die sowohl synchronen als auch asynchronen Maschinen angehören« So ist es durchaus üblich, in große (und manchmal ^.rnicht so sehr große) Datenverarbeitungsanlagen Komponenten oder Untereinheiten einzufügen, von denen einige von einem Haupttakt gesteuert bzw. an diesen gebunden sind und andere asynchron arbeiten,, Ein wichtiges Beispiel der Klasse von teilweise Synchron - teilweise Asynchron-Anlagen ist der eines Computersystems, in welchem die Reaktion auf eine Zugangs anfrage an einen Speicher in Übereinstimmung mit bestehenden Operationsbedingungen verzögert wird. Beispielsweise wird eine spezielle Anfrage in einem Datenverarbeitungssystem
109846/1660
mit Prioritätshierarchie zwischen einer Anzahl von Benutzer dann verzögert, wenn eine Anfrage früherer Priorität im wesentlichen gleichzeitig vorliegt. Zahlreiche anderen, teilweise asynchron betriebenen Datenverarbeitungsanlagen weisen einen im US-Sprachgebrauch als " bulk memory" bezeichneten Speicher (beispielsweise eine Magnetscheibe oder Trommel) auf, bei denen die Zugriffs zeit zu einem gegebenen Informationselement von der Stelle dieses Elements relativ zur Ausleseeinrichtung abhängt. Andere Asynchronoperationen in Computersystemen schliessen Speicherbezifferung und Datenwiedereinordnung in Zeitteilsystemen, die Bildung und Simulation von Zufalls ereignissen und die bedingte Erzeugung von Zeitinformation ein, wobei analoge Verzögerungsleitungen und gesteuerte Übertrager Verwendung finden.
Eine wichtige Klasse moderner Datenverarbeitungsanlagen ist die der in Realzeit betriebenen Computer, Von diesem Computer wird gesagt, daß sie eine Einheit von Zeit und Aktion verkörpern. Ein derartiger Realzeit-Computer Betrieb wird typischerweise in Situationen angewendet, wenn eine kontinuierliche Lieferung von Eingangsdaten fgewöhnlich Datenfolgen) mit einer erforderlichen kontinuierlichen (oder wiederkehrenden) Folge von Ausgangsdaten vorliegt und wenn jedes aufeinander folgende Ausgangssignal einer anliegenden
1098-46/1660
(oder kurz zurückliegenden ) Folge von Eingangsdaten entspricht. Einfach ausgedrückt, eine Akkumulation der Eingangsdaten wird nicht zugelassen, ohne daß ein Wärteraus gangs signal/Attendant output/ erzeugt wird. Die Eingangsdaten müssen vielmehr unmittelbar nach ihrer Ankunft verarbeitet werden. Möglicherweise ist die am meisten benutzte Realzeit-Datenverarbeitungsanlage im Telefondienst zu suchen.
In Datenverarbeitungssystemen werden häufig Elemente mit unterschiedlicher Betriebsgeschwindigkeit benötigt. Weiterhin können einige Untereinheiten in einem zusammengesetzten Datenverarbeitungssystem asynchron arbeiten, während andere Untereinheiten synchron betrieben werden. Es sind bereits viele Techniken entwickelt worden, um die Zusammenarbeit dieser unterschiedlichen Untereinheiten zu ermöglichen. Eine grundlegende Technik besteht in den" sehr bekannten Puffern, in großen Zügen dargestellt beispielsweise im US-Rissue Patent 26 832 vom 17.3.1970 (P. C. Randler) und US-Patent 3 406 378 vom 15.10.1968 (R. S. Bradford).
Im Verlauf der Bearbeitung größerer Mengen von Daten ' kommt es häufig vor, daß es erwünscht ist, die Operationen aller oder zumindest einer bestimmten Anzahl von Untereinheiten einer Datenverarbeitungsanlage anzuhalten. Wenn beispiels-
109846/1660
weise in einer mit Realzeit betriebenen Anlage eine erste Untereinheit des Systems infolge der größeren Arbeitsgeschwindigkeit dazu tendiert, bezüglich der Verarbeitung in einer anderen Untereinheit vorzugehen, ist es wünschenswert, die erste dieser Untereinheiten zeitweise anzuhalten oder pausieren zu lassen, so daß die zweite Untereinheit aufholen kann. In ähnlicher Weise ist es oft wünschenswert, im Verlaufe der Verarbeitung von Daten eine Aussetzung der Verarbeitung zu bewirken, wenn ein bedeutsamer Fehler vorgekommen ist. Es ist weiterhin unter diesen Umständen wünschenswert, die Aussetzung so durchzuführen, daß ein Wiederstarten ohne Wiederholung der durchgeführten Verarbeitung bis zu einem Punkt ermöglicht wird, an dem: der Fehler vorgekommen oder entdeckt worden ist. Ein derartiges System, in welchem dies wünschenswert ist, ist in der belgischen Patentschrift 752 350 (W. A. Artz) beschrieben.
Der frühere Stand der Technik bezüglich Anhaltens in der Datenverarbeitung ist, außer für die einfachsten, ganz synchronen Systeme, auf Programmiertechnik gerichtet gewesen. Hierbei wurde die Existenz von speziellen Bedingungen fZeichen/flags/, Richtungsindikatoren u. dgl.) überprüft. Wenn diese Bedingungen angetroffen wurden, ist der programmierte Übertrag oder die andere spezielle
109846/1660
Aktion unternommen worden. Dieses schließt typischerweise ein programmgesteuertes Überprüfen von zahlreichen Bedingungen ein, die Speicherung von großen Datenmengen und den Verbrauch einer beträchtlichen Betriebs zeit. Wegen der programmgesteuerten Natur dieser Anhaltzeiten oder Pausen folgt zusätzlich ein beträchtlicher Wirkungsgradverlust des Programmierens.
Noch wichtiger ist jedoch, daß diese programmgesteuerten Unterbrechungen typischerweise zur genauen Steuerung eingesetzt werden können, und zwar bei den meisten dieser Verfahren und Untereinheiten, die an einen Haupttakt gekettet sind, unter dem das Programm abläuft. Es ist keine Programmiertechnik von allgemeiner Anwendung bekannt, welche die Einlage einer präzis reproduzierbaren Pause an einem beliebigen, nicht vorherbestimmten Punkt im Laufe der Datenverarbeitung zu bilden gestattet. Deshalb läuft gewöhnlich die asynchrone Verarbeitung, die zur Zeit, wenn ein Anhalten oder eine Pause erforderlich ist, unterwegs ist, weiter, ohne unmittelbare Rücksicht auf ein Unterbrechungssignal. Diese asynchrone Weiterverarbeitung läuft während einer Zeit weiter, die gewöhnlich durch das Steuerprogramm nicht genau bestimmbar ist. Wenn daher die Verarbeitung wieder aufgenommen wird, die zunächst angehalten war, wird entweder ein Fehler dadurch eingeführt,
109846/1660
daß das Wiederstarten ohne genaue Kenntnis des Zustandes der asynchronen Einheiten durchgeführt wird oder es folgt ein Wirkungsgradverlust der Datenverarbeitung, weil die Verarbeitung wieder in einem Arbeitszustand einsetzt, der dem der Zeit vor der Unterbrechung entspricht und zu dem eine genaue Information bezüglich des Zustandes aller Untereinheiten , einschließlich der asynchron betriebenen vorhanden ist. Es wird jedoch darauf hingewiesen, daß diese letztere Alternative nicht in allen Fällen verfügbar ist. Soweit diese Möglichkeit durchführbar ist, ist sie jedoch teuer, verbraucht viel Zeit, macht viele Rechnungen und einen beträchtlichen Speicheraufwand erforderlich.
Der Erfindung liegt die Aufgabe zugrunde, die geschilderten Schwierigkeiten zu vermeiden. Die gestellte Aufgabe wird durch eine Einrichtung gelöst, die eine Steuereinheit und eine Meßschaltung aufweist, wobei die Steuereinheit auf ein Haltsignal anspricht und weitere Anfragen bzw. Anforderungen an die asynchrone Untereinheit unterbricht und wobei die Meßschaltung jeder asynchronen Untereinheit zugeordnet ist und die Zeit mißt, die von der Ankunft des Haltesignals bis zum Arbeiten im Hauptbetriebablauf der asynchronen Untereinheit reicht.
Um die geschilderten Schwierigkeiten und Nachteile zu über-
109846/1660
winden, hat die Erfindung noch folgende weitere Aspekte:
1. In dem Datenverarbeitungs system ist eine Einrichtung zum Anhalten des Betriebes aller oder einiger Untereinheiten des Systems vorgesehen;
2. Eine Einrichtung sorgt für genaues Anhalten solcher Untereinheiten, einschließlich synchroner und asynchroner Untereinheiten, in der Weise, daß der Wiederstart am Punkt der Unterbrechung ermöglicht wird;
3β Diese Pause in der Durchführungszeit soll mit minimalem zusätzlichem apparativem Aufwand und der erforderlichen Verarbeitungszeit durchgeführt werden; und
4. Während einer derartigen Pause sollen einige oder alle der synchronen oder asynchronen Untereinheiten zur Durchführung von mindestens einem zweiten Prozeß verwendet werden.
Weitere Einzelheiten der Erfindung werden anhand der Zeichnung erläutert. Dabei zeigt:
Fig. 1 eine typische asynchrone Untereinheit,
Fig. 2 eine Schaltung gemäß einer Ausführungs
form der Erfindung zur Einleitung der
109846/1660
präzisen Pause der Einrichtung gemäß Fig. 1,
Fig. 3A - 3 C Impulsdiagramme, welche typische Operationsfolgen der Einrichtung nach Fig. 2 zeigen und
Fig. 4 Modifikationen der Schaltung nach Fig. 1.
Kurz gesagt, gemäß der Erfindung wird für eine präzise Pause (PHP = precise hardware pause) in der Durchführung von Datenverarbeitungsoperationen in einer Datenverarbeitungsanlage dadurch gesargt, daß eine Einrichtung zum Anhalten des Haupttaktgebers oder eines anderen Steuertaktgebers vorgesehen ist, welche die Aussetzung der Operationen aller Untereinheiten bewirkt, die an die Haupttaktgeberquelle gekettet sind. Das Anhalten der Verarbeitung in asynchronen Untereinheiten wird gewöhnlich dadurch bewirkt, daß ein Unterbrechungsimpuls abgegeben wird, welcher weitere Anfragen bzw. Anforderungen an die Asynchron-Untereinheiten verhindert. Es ist auch eine Quelle periodischer Hilfstaktimpulse vorgesehen, welche durch das Unterbrechungssignal gestartet wird, außerdem noch eine Mehrzahl von Zähler zum Zählen der Anzahl der Hilfsimpulse, die während
109846/1660
des Intervalls vom Vorkommen des Unterbrechungssignals bis zu dem Zeitpunkt vorkommen, an dem die Au s gangs reaktion der betreffenden asynchronen Einheiten festgestellt wird.
Eine typische asynchrone Untereinheit
Wie eingangs erläutert, ist die Art der Untereinheit, welche die größte Schwierigkeit bereitet, wenn eine genaue Pause in einer Datenverarbeitungsanlage erwünscht ist, diejenige, welche in Bezug auf einen Haupttaktgeber oder in Bezug auf die Operationen anderer Untereinheiten des Systems asynchron ist. Eine Anzahl von Beispielen der artiger asynchroner Untereinheiten ist bereits erwähnt worden. Eine Analyse der grundsätzlichen Natur jeder dieser asynchronen Untereinheiten offenbart, daß viele eine Einrichtung zur Erzeugung eines Aus gangs signals in unbestimmtem ' zukünftigen Zeitpunkt als Reaktion auf eine Anfrage oder
Stimulus durch einen Eingangsstrom aufweisen. Dies bedeutet, daß infolge der asynchronen Natur einer derartigen Untereinheit die Zeit des Vorkommens, relativ zu einer festgelegten Bezugs zeit, des Erreichens eines oder emehrerer innerer Zustände oder Aus gangs reaktionen unbestimmt ist. Eine weitere oder alternative Schwierigkeit, die in vielen
103846/1660
asynchronen Untereinheiten angetroffen wird, besteht darin, daß, wenn einmal die Durchführung einer Operationsaufgabe begonnen worden ist, es nicht wünschenswert, schwierig oder unmöglich ist, die Ausführung unmittelbar anzuhalten, bis die Operation oder Aufgabe vollendet ist. Weiterhin sind viele der wichtigen Ausgangs- und den Zustand identifizierenden Signalen in derartigen Untereinheiten nicht in einen Zugriffszustand zu bringen, während die Durchführung abläuft. Diese Schwierigkeiten kommen vom Wesen der Asynchronität her. Tätsächlich weisen alle synchronen Untereinheiten den einen oder anderen dieser erläuterten Aspekte auf, was zu der Schwierigkeit in der genauen Bestimmung des Zustandes zum Zeitpunkt einer gewünschten Pause führt.
Da die in Fig. 1 gezeigte Schaltung viele der gemeinsamen Merkmale von asynchronen Untereinheiten verkörpert und weil diese Schaltung ein geradezu typisches Beispiel einer asynchronen Untereinheit darstellt, wird sie als repräsentativ für die Klasse der asynchronen Einheiten im allgemeinen behandelt. Weil diese Schaltung im allgemeinen eine von mehreren asynchronen Untereinheiten darstellt, wird sie als die i-te Untereinheit behandelt und mit dem Bezugszeichen 202-i bezeichnet.
Insofern eine spezielle asynchrone Untereinheit von der in Fig. 1 gezeigten unterschiedlich ist, können Modifikationen
109846/1660
durchgeführt werden, um die technische Lehre gemäß Erfindung anzuwenden. Jede derartige Modifikation folgt jedoch direkt aus der funktioneilen Eigenart der speziellen asynchronen Untereinheit und der besonderen darin durchzuführenden Operation. Dies bedeutet, daß nur einfache Modifikationen erforderlich sind.
In Fig. 1 ist eine Verzögerungsleitung 10 bekannter Ausführung dargestellt, die auf einen Eingangs impuls auf der Leitung 211 -i anspricht, wenn dieser Impuls ein UND-Verknüpfungsglied 12 passiert hat. Nach einer entsprechenden Verzögerungszeit in Abhängigkeit von den Eigenschaften der Verzögerungsleitung verläßt der Eingangsimpuls die Verzögerungsleitung auf der Leitung 13 und wird durch einen Detektor 14 festgestellt. Der Detektor 14 wird gewöhnlich zur Überprüfung der Verzögerungsleitung 10 benutzt und regeneriert typischerweise den auf der Leitung 211-i ankommenden Eingangsimpuls bezüglich Größe und Dauer. In Pig. 1 ist außerdem eine Sperrleitung 215-i gezeigt, die mit dem Eingang des UND-Verknüpfungsgliedes 12 verbunden ist. Die Sperrleitung wird auf ihren Eins-Zustand gebracht, wenn ein auf der Leitung 211-i erscheinender Eingangsimpuls daran gehindert werden soll, über das UND-Verknüpfungsglied 12 an die Verzögerungsleitung 10 zu gelangen. Dies wird einfach dadurch
109846/1660
bewerkstelligt, daß das UND-Verknüpfungsglied 12 einen Sperreingang aufweist, der in Fig. 1 mit dem Bezugs^ zeichen 16 versehen ist. Die Sperrleitung 215-i ist auch mit dem Ausgang von UND-Verknüpfungsglieder 17 und 18 verbunden» Die Verbindung zum Glied 17 erfolgt über einen Sperreingang, während die Verbindung zum Glied 18 über einen gewöhnlichen Eingang erfolgt» Die verbleibenden Eingänge der Glieder 17 und 18 erfolgen über den Ausgang des Detektors 14 auf einer Leitung 19,
Die Wirkungsweise der Ausgangs-Verknüpfungsglied-Schaltung ist die, daß, wann immer ein Sperrsignal oder Pegel, der durch einen Eins-Zustand auf der Leitung 215-i angedeutet ist, erscheint, jeder Impuls in derVerzögerungsleitung 10 festgestellt wird und an die Ausgangsleitungen 221-i gegeben wird, welche als'Steuer1-Ausgangsleitung bezeichnet werden kann. Wenn die Sperrleitung 215-i auf einem Null-Signal-Zustand ist, liefert die "normale" Ausgangsleitung 220-i das verzögerte (und regenerierte) Signal gemäß Eingangs impuls. Es wird darauf hingewiesen, daß natürlich der Zustand der Sperrleitung 215-i sich ändern kann, während ein Impuls in der Verzögerungsleitung 10 fortschreitet. Ein Impuls, welcher von der Eingangsleitung 211-i zur normalen Ausgangsleitung 220-i fortschreiten würde, wird in diesem Fall
109846/1660
stattdessen zur Äusgangsleitung 221-i über das Glied 18 geleitet.
In Fig. 1 wird außerdem noch ein Flip-Flop 50 bekannter Ausführungsform gezeigt, dessen Setzeingang S mit dem Ausgang des Gliedes 12 über eine Leitung 25 verbunden ist. Deshalb wird das FlipfLop 50 in den Eins-Zustand geschaltet, wenn ein Impuls in die Verzögerungsleitung 10 eintritt. Der Rücksetzeingang R des Flipflop 50 ist mit einer Leitung 19 verbunden, welche den Ausgang des Detektors 14 darstellt. Wenn daher ein Impuls aus der Verzögerungsleitung. 10 austritt, wird das Flipflop 50 in seinen Null-Zustand zurückgeführt. Dies folgt daraus, daß das Flipflop 50 auf seiner Null-Ausgangsleitung einen Eins-Zustand aufweist, wenn die Verzögerungsleitung 10 keine Impulse enthält. Diese Ausgangsleitung erscheint als Leitung 252-i. Eine geeignete Rückführung des Flipflop in den Rücksetzzustand wird in passender Weise durchgeführt, bevor Impulse an die Verzögerungsleitung 10 gegeben werden.
Wenn die betreffende asynchrone Einheit einen Speicher oder eine andere Einrichtung aufweist, die als Ergebnis ihrer Operation Ausgangsdaten erzeugt, dann wird eine einfache Modifikation an der Schaltung nach Fig. 1 vorgenommen.
109848/1SS0
Eine derartige Schaltung ist in Fig. 4 gezeigt und wird später besprochen.
Einrichtung für präzise "Hardware"-Pause
Fig. 2 zeigt in Blockdiagrammform die allgemeine Ausbildung eines Systems, welches die Einrichtung zur Durchführung der gewünschten präzisen hardware-Pause PHP einschließt. In Fig. 2 ist eine Mehrzahl von Quellen von Unterbrechungssignalen gezeigt, die als 200-1 bis 200-N angedeutet sind. Jede dieser Quellen kann bei voneinander unabhängiger Steuerung ein Unterbrechungssignal an die PHP-Steuereinheit 201 geben. Die PHP-Steuereinheit 201 spricht auf eine der Quellen der Unterbreehungssignale an und erzeugt die erforderlichen Steuersignale zur Einleitung einer präzisen hardware-|Pause. Wenn erwünscht ist, daß die einzuleitende Pause unmittelbar beim Eintreffen eines Uhterbreehungsimpulses an der PHP-Steuereinheit 201 eingeleitet wird, kann diese Einheit die Form eines üblichen Flipflop oder einer anderen Einrichtung mit zwei stabilen Zuständen aufweisen, welche die erforderliche Ausgangsleistung aufweist. Wenn gewünscht wird, daß die Pause nicht unmittelbar gebildet werden soll, kann eine entsprechende Verzögerungsschaltung im Weg von den jeweiligen Unterbrechungsquellen zum Ausgang der
109846/1660
PHP-Steuereinheit 201 zwischengeschaltet werden.
Die Mehrzahl der Ausgangsleitungen von der PHP-Steuereinheit 201 führt, wie Fig. 2 zeigt, über ODER-Verknüpfungsglieder 203-1 bis 203-M zu einer entsprechenden Mehrzahl von asynchronen Untereinheiten 202-1 bis 202- M. Jede dieser asynchronen Untereinheiten besitzt eine seiner Funktion entsprechende Ausbildung, hat jedoch teil an den wichtigen Eigenschaften der in Fig* I gezeigten asynchronen Untereinheite Um diese Beziehung zu betonen, sind die Zweige der Ausgangsleitung der PHP-Steuereinheit 201 nach Durchgang durch die ODER-Glieder 203-1 bis 203-M durch die Bezugszeichen 215-1 bis 215-M gekennzeichnet, um die Entsprechung zu der Sperrleitung 215-i in Fig. 1 anzudeuten. In gleicher Weise ist der Ausgang der asynchronen Untereinheiten 202-1 bis 202-M durch die Bezugszeichen 221-1 bis 221-M angedeutet, die einer Mehrzahl von Steuerausgangsleitungen, beispielsweise der Leitung 221-i in Fig. 1 entsprechen.
Mit dem Ausgang der PHP-Steuereinheit 201 ist außerdem ein örtlicher Zeitgeber 225 verbunden, welcher durch eine 1-Anzeige auf der Leitung 226 in Tätigkeit gesetzt wird. Die Verbindung zwischen dem Ausgang der PHP-Steuereinheit 201 geschieht über ein ODER-Verknüpfungsglied 227.
109846/1860
Wenn daher das Aus gangs signal der PHP-Steuereinheit 201 den Eins-Zustand annimmt, wird der örtliche Zeitgeber 225 gestartet. Taktimpulse von dem örtlichen Zeitgeber 225 werden selektiv zu Vorwärts-Rückwärts-Zähler 230-1 bis 230-M durchgeschaltet. Es besteht eine eins-zueins Entsprechung zwischen den asynchronen Untereinheiten 221-1 bis 221-Mund den entsprechend bezeichneten Zählern 230-1 bis 230-M.
Wenn ein Eins-Zustand auf den Leitungen 215-i gegeben ist (die Sperrleitungen, soweit die Untereinheiten 202-1 bis 202-M betroffen sind), wird jeder Impuls, der an den Eingang der asynchronen Untereinheiten angelegt wird, effektiv durch ein dem Glied 12 in Fig. 1 entsprechendes Verknüpfungsglied gesperrt, welches in jedem dieser Untereinheiten vorgesehen ist. Wenn ferner ein Eins-Zustand auf einer Leitung 215-i in Fig. 2 existiert, werden Impulse, die gerade entlang einer Verzögerungsleitung in einer gegebenen asynchronen Untereinheit 202-1 fortschreiten, ein Ausgangssignal auf der entsprechenden Ausgangsleitung 221-1 erzeugen. Der Zeitpunkt der Ankunft dieses Impulses wird selbstverständlich von der genauen Lage des Impulses auf der Verzögerungsleitung zur Zeit abhängen, an dem ein Sperrimpuls an die PHP-Steuereinheit 201 angelegt wird (d.h. die Zeit, zu der der örtliche Zeitgeber 225 in Tätigkeit tritt).
109846/1660
Der Ausgang der asynchronen Untereinheiten auf den Leitungen 221-1 bis 221-M sind jeweils zu mit zugehörigen Flipflops 240-1 bis 240-M verbunden. Diese Verbindung läuft über den "Setz"-Eingang dieser Flipflops, so daß die Ankunft eines Aus gangs impuls es auf einer Steuerausgangsleitung 221-i das entsprechende Flipflop 240-i dazu bringt, den Eins-Zustand anzunehmen. Dieser Eins-Zustand wiederum sperrt den Durchgang der Zeitgebersignale des örtlichen Zeitgebers 225 durch das UND-Glied 231 an dem entsprechenden einen UND-Glied der UND-Glieder 241-1 bis 241-M. Nachdem der örtliche Zeitgeber zu gleicher Zeit angeschaltet worden ist, wie der Eingang jeder der asynchronen Untereinheiten 202-1 bis 202-M gesperrt worden ist, gibt die Zählung der Taktgeberimpulse in einem gegebenen Zähler 230-i eine Anzeige der verflossenen Zeit zwischen dem Vorkommen eines Sperrimpulses, welcher anzeigt, daß eine Pause begonnen werden soll,und dem Vorkommen eines Signals, welches anzeigt, daß die asynchrone Operation der Untereinheit 202-i beendigt ist. Es sei daraufhingewiesen, daß zum Zwecke der Bestimmung des gerade erwähnten Intervalls die Taktimpulse vorteilhaft an den Vorwärtseingang des Vorwärts-Rückwärts-Zählers 230-i angelegt werden. Es wird angenommen, daß vor dem Vorkommen einer Pause jeder der Zähler 230-i bis 230-M auf Null gebracht worden ist, und zwar
109846/1660
über eine Leitung 245 und die Mehrzahl von ODER-Glieder 246-1 bis 246-M. Während nur ein einziges Verknüfungsglied für die Voreinstellung gezeigt ist, versteht es sich, daß die erforderliche Anzahl von Leitungen zur tatsächlichen Betätigung einer Voreinstellung auf Null (oder einen anderen speziellen Zustand) der Anzahl der Ausgänge der Glieder 246-1 bis 246-M entspricht.
Um den Wiederstart aller asynchronen Untereinheiten 202-1 bis 202-M zu einer nachfolgenden Zeit zu erleichtern, wird der Inhalt der Zähler 230-1 bis 230-M zur Zeit, an der ein Impuls am Ausgang jeder der Untereinheiten ankommt, in einem Speicher 250 gespeichert. Diese Speicherung wird durch Durchschaltung dieser Inhalte bewirkt, und zwar über UND-Verknüpfungsglieder 251-1 bis 251-M, wenn die entsprechenden Flipflops 240-1 bis 240-M ihre jeweiligen Eins-Zustände annehmen. Sobald diese Speicherung bewirkt ist, ist die gesamte Information zum Wiederstart der entsprechenden asynchronen Untereinheit vorhanden.
Nachdem die gesamte Information, die zum Wiederstart aller asynchronen Untereinheiten dem Speicher 250 ge speichert worden ist, ist der Beginn der genauen hardware-
109846/1660
Pause bewirkt. Zu dieser Zeit ist jede der asynchronen Untereinheiten total inaktiv und kann in diesem Ruhezustand verbleiben, bis entschieden worden ist, diese wieder an ihren zuvor festgelegten Funktionen zu starten oder, wie noch im einzelnen ausgeführt werden wird, mit einer neuen Bestimmung . Die Existenz dieser Bedingung wird vorteilhaft durch den Betrieb eines UND-Verknüpfungsgliedes 260 bewirkt, welche dann einen Eins-Zustand an seinem Ausgang 261 aufweist, wenn alle ODER-Glieder 290-1 bis 290-M an ihren Ausgängen jeweils einen Eins-Zustand aufweisen. Die ODER-Glieder 290-1 bis 290-M werden wiederum in ihren Eins-Zustand durch die Flipflops 240-1 bis 240- M gebracht, wenn diese eine Eins an ihrem Eins-Ausgang aufweisen, oder durch Einsen auf jeder der Leitungen 252-1 bis 252-M, Wenn alternativ nur einige der asynchronen Untereinheiten zur Zeit aktiv sind, wenn ein Sperrsignal vorkommt, erzeugen die Eins-Ausgänge der entsprechenden Flipflops 240-i einige der erforderlichen Eins-Eingangs signale der UND-Glieder 260, während der Rest durch die 252-i-Leitungen von den inaktiven Untereinheiten herkommen. Das auf der Leitung 261 geführte Aus gangs signal kann dann benutzt werden, um die verschiedenen Speichereinrichtungen in der Schaltung nach Fig. 2 (außer dem Speicher 250) in ihren Ruhezustand zu versetzen. Dies bedeutet, die Leitung 261 kann dazu benutzt werden, um die Flipflops 240-1 bis 240-M durchzusetzen.
109846/1660
um der PHP-Steuereinheit 201 zu signalisieren, daß die Pause begonnen hat. Diese Signalgabe hat wiederum die Wirkung, daß der Sperreffekt eines Eins-Signals auf den Eingängen der asynchronen Untereinheiten 202-1 bis 202-M aufgehoben wird, und daß ein Anschaltsignal an den örtlichen Zeitgeber 225 aufgehoben wird. Dieses auf der Leitung 261 geführte Signal kann auch dazu benutzt werden, um jeden der Zähler 230- 1 bis 230-M auf Null zurückzusetzen.
Es wird in Verbindung mit der Einrichtung nach Fig. 2 daraufhingewiesen, daß von der PHP-Steuereinheit 201 ein zusätzliches Aus gangs signal abgeleitet wird, welches den synchronen Untereinheiten des Gesamtsystems anzeigt, daß eine Pause begonnen werden muß. Dies kann beispielsweise dadurch bewirkt werden, daß ein Eins-Pegel auf dieser Ausgangsleitung dazu verwendet wird, den Haupttaktgeber zu sperren, welcher die synchronen Teile des Systems steuert. Wenn spezielle Umstände walten, kann dieses Signal alternativ dazu verwendet werden, die entsprechenden Teile der synchronen Untereinheiten in*dem System zu sperren.
Um eine Anlage wie mit asynchronen Untereinheiten 202-1 bis 202-M in Zuständen wieder in Gang zu setzen, die durch die zuvor gespeicherte Information im Speicher 250 gekenn-
109846/1860
zeichnet ist, brauchen die meisten der obigen Verfahren nur umgekehrt zu werden. Wenn daher ein Wiederstartsignal an der Ausgangsleitung 270-1 einer Wiederstartquelle 295-1 bis 295-L angelegt wird (mit genügender Information zur Identifizierung der aus dem Speicher 250 herauszuziehenden Information), wird der jeweils angezeigte Inhalt des Speichers 250 zu den jeweiligen Zählern 230-1 bis 230-M über die jeweiligen Glieder 246-1 bis 246-M rücktransferiert. Nach einer entsprechenden Verzögerung, welche den Zählern erlaubt, ihre jeweiligen richtigen Zustänae wieder einzunehmen (was durch die Verzögerungseinheit 271 bewirkt wird), wird der örtliche Zeitgeber wieder durch das verzögerte Eins-Signal auf der Leitung 270-i angeschaltet. Dieses Signal hat auch die Wirkung der Sperrung von Taktgeberimpulsen vomBückwärts- auf den Vorwärts-Anschluß der Zähler 230-1 bis 230-M, und zwar wegen des Sperreinganges an dem UND-Glied 231. Andererseits bringt eine derartige Eins-Anzeige auf der Leitung 270-i die Taktimpulse des örtlichen Zeitgebers 225 dazu, über das UND-Glied 272 an den jeweiligen Rückwärts-Anschluß der Zähler 230-1 bis 230-M zu gelangen. Die Wirkung besteht dann darin, daß jeder dieser Zähler in Abhängigkeit vom angelegten Zeitgeber-Signal rückwärts von seinem voreingestellten Zustand nach Null geschaltet wird.
109846/1660
Weil im allgemeinen die durch die Voreinstellung angezeigten Zustände nicht für alle zugeordneten asynchronen Untereinheiten 202-1 bis 202-M die gleichen sind, werden die entsprechenden Zähler 230-1 bis 230-M nicht alle gleichzeitig auf den Null- Zustand zurückkehren. Es ist deshalb für jeden Zähler 230-i ein entsprechender "alle-sind-auf-Null-Detektor" 275-i vorgesehen. Diese Detektoren bestehen aus Übersetzungs- und Impulsschaltungskreisen und dienen dazu, ein Aus gangs signal auf der Leitung 276-i weiterzuschalten, wenn der entsprechende Zähler 230-i den Gesamt-Null-Zustand erreicht. In der einfachsten und bevorzugten Ausbildungsform besteht der Detektor 275-i aus einem UND-Verknüpfungsglied , dessen einer Eingang mit jeder Stufe des Zählers 230-i verbunden ist. Alternativ wird dieses Ausgangssignal auf der Leitung 276-i entsprechend geschaltet, daß es im wesentlichen von der gleichen Form ist wie das Ausgangs signal auf dem entsprechenden Ausgang der Leitung 220-i (gezeigt in Fig. 1) der jeweiligen asynchronen Untereinheit. In jedem Fall wird das auf der Leitung 275-i geführte Ausgangs signal dazu verwendet, das Sperrsignal am Eingang der asynchronen Untereinheit 202-i aufzuheben. Dies kann dadurch bewirkt werden, daß in dem Weg von jeder Ausgangsleitung 276-i zum jeweiligen Eingang des Gatters 203-i Inverter eingefügt werden.
10984 6/1660
Es ist nunmehr ersichtlich, daß der Zähler 230-i unter der Steuerung der Voreinstell-Information vom Speicher 250 und den wiederholten Rückzählsignalen von dem örtlichen Zeitgeber 225 mit dem Detektor 225-i so zusammenarbeitet, daß eine effektive Duplikation bzw. Simulation der Funktionen der entsprechenden asynchronen Untereinheit 202-i von der Zeit an stattfindet, an der ein Unterbrechungssignal an der PHP-Steuereinheit 201 ankommt, bis zu der Zeit, an welcher eine "in-progress" asynchrone Operation in dieser Untereinheit vollständig ist. Das UND-Verknüpfungsglied 299 dient gewöhnlich dazu, ein Eins-Signal auf einer Leitung 298 zu geben, wenn die Wiederstartfolge vollständig ist.
Die spezielle Information, die zur Voreinstellung der Zähler 230-1 bis 230-M verwendet wird, kann diejenige sein, die einer früheren Pause entspricht. Es ist natürlich erforderlich, daß an die Zähler 230-1 bis 230-M zugeführte Information für nachfolgende Rückwärts zählung derselben vorhergehenden Pause entspricht. Eine Ausnahme für dieses Erfordernis besteht jedoch dann, wenn die entsprechenden Untereinheiten nicht untereinander oder mit einer bestimmten anderen synchronen Untereinheit in Zusammenarbeit treten. Dieses Merkmal ist keineswegs grundlegend für die grundlegende Operationsprozedur, wie sie zuvor
109846/1660
beschrieben worden ist, sondern vergrößert bloß die zahlreichen und verschiedenen Optionen, die einem Benutzer zugänglich sind.
Typische Operationsfolgen
Die? Fig. 3A bis C stellen Operationsfolgen in einer typischen Ausbildungsform der Erfindung dar. Es sei angenommen, daß drei operative asynchrone Untereinheiten betrachtet werden sollen.
In Fig. 3A ist die Operations folge für eine Operation ohne Pause dargestellt. Zur Zeit T1 (die T-Skala stellt Realzeit dar) startet die asynchrone Untereinheit 1 (daher S1) eine asynchrone Operationsperiode, von der angenommen wird, daß sie auf ein spezielles Ereignis hin bis zur Zeit T andauert. Die Kennzeichnung "F " soll auf das Ende der Operationsperiode der asynchronen Untereinheit 1 hinweisen.
In ähnlicher Weise startet die Untereinheit 2 zur Zeit T
mit einer Operationsperiode, die zur Zeit T0 beendet
ist, wie in Fig. 3A durch S bzw« F angedeutet ist.
2 2
Die asynchrone Untereinheit 3 startet ihren Betrieb zum
Zeitpunkt T. und beendigt diesen zum Zeitpunkt T_. 4 5
109846/1660
Wenn eine Pause begonnen werden soll, arbeiten die gleichen asynchronen Untereinheiten, unter der Annahme von identischen Umgebungs zuständen, wie in Fig. 3B gezeigt. Daher sollten die Zeitperioden zur Durchführung ihrer jeweiligen Funktionen die gleichen sein wie in Fig. 3A gezeigt, mit der Ausnahme der Unterbrechungsanforderung, die zum Zeitpunkt Tp vorkommt. Wie in dem Fall ohne Pause starten die Untereinheiten 1 und 2 ihre Operationen zur Zeit T bzw. T . Die Zeit des Vorkommens von Signalen, welche die Vervollständigung der Operation der Untereinheit anzeigen, wird zweckmäßigerweise von der Zeit des Vorkommens der Untsrbrechungsanforderung gemessen. Daher wird eine neue Koordinate t in Fig. 3B definiert,, die bei T , der Zeit des Vorkommens der Unterbrechungsanforderung, als Ursprung ausgeht.
Da die Unterbrechungsanforderung vor dem Zeitpunkt T vorkommt, sind die Operationen der Untereinheiten 1 und noch nicht beendet, und die Untereinheit 3 hat ihre Operation noch nicht begonnen. Da der Rest der Anlage, d.h. der synchrone Teil, automatisch nach dem Zeitpunkt T angehalten worden ist (und daher nicht bereit ist, mit dieser zusammenzuarbeiten), kann die Untereinheit 3 nicht mit ihrer asynchronen Operation beginnen. Die Untereinheiten 1 und 2 dagegen können zum Zeitpunkt T nicht "eingefroren"
109846/1660
werden, sondern müssen ihre Operationen weiterführen, bis diese beendet sind.
Da bei dieser speziellen Gelegenheit angenommen wird, daß die Untereinheit 1 (T - T) Zeiteinheiten benötigt, um ihre Operationen durchzuführen, und (Γ - T,) Einheiten zur Zeit der Unterbrechung bereits verflossen sind, ist die Zeit t1 diejenige, welche durch die Zählung im Vorwärts-Rückwärts-Zähler 230-1 der Fig. 2 zur Zeit angezeigt wird, wenn das Flipflop 230 -1 gesetzt wird. Dabei ist I1 = (T3 - Τχ) - (Tp - Τχ) = T3 - TR
In ähnlicher Weise zeigt der Vorwärts-Rückwärts-Zähler 230-2 eine Zeit t = T - T -.rar Zeit, wenn das Flipflop 240-2 gesetzt wird, an
Da angenommen wird, daß keine anderen asynchroaen Untereinheiten operativ sind, wird der erforderliche Eins-Zustand auf die Eingänge zu den UND-Gliedern über die Eins-Ausgänge der Flipflops 240-1 und-2 und über die Leitungen 252-3 bis 252 -M angelegt. Wenn diese Eingangssignale am Eingang zum UND-Glied 260 zum Zeitpunkt T = T_ oder t = t erscheinen, erscheint eine Eins-Anzeige
D ei
auf der Leitung 261, welche anzeigt, daß das Aussetzen aller asynchronen Untereinheiten vollständig ist.
109846/1660
Die Fig« 3C zeigt die Folge der Ereignisse, die beim Wiederstarten der asynchronen Untereinheiten vorkommen, welche in der Fig„ 3B gezeigten Weise angehalten worden sind. Es sei daher angenommen, daß ein Wiederstart-Signal zum Zeitpunkt T vorkommt und in die Zähler 230-1 und 230-2 eine Anzeige des Zustandes der asynchronen Untereinheiten 1 und 2 zum Zeitpunkt, da das Unterbrechungssignal vorkommt, eingegeben wird. Es wird ferner angenommen, daß die soezielle Pause, welche beendigt werden soll, diejenige ist, die Sequenz der in Fig. 3B gezeigten Ereignisse eingeleitet worden ist.
Wie in Fig. 3C gezeigt, wird angenommen, daß ein Wiederstartsignal zum Zeitpunkt T = T zugegen ist. TR braucht keine notwendige Beziehung zu T73 in Fig. 3B aufzuweisen, wobei jedoch T in Fig. 3C dargestellt ist. Daher kann das Intervall zwischen T und T kurz
Jr R
oder lang sein, das Intervall kann die gleiche oder unterschiedliche Länge zu früheren ähnlichen Pausen aufweisen und es kann schließlich keine eine oder mehr als eine Unterbrechung des Betriebes einer beliebigen Anzahl von asynchronen Untereinheiten umfassen.
Da die Zeitperiode, die zwischen dem Vorkommen des Unterbrechungsimpulses, welcher die nunmehr
109846/1660
beendete (T . Pause eingeleitet hat, und der Vervollständigung der asynchronen Operationen gemäß "in-progress" zum Zeitpunkt T gewöhnlich in Werten von t gemessen wird, wird t' zweckmäßigerweise wie aus aus Fig. 3C ersichtlich, definiert:
t' = T-T . Da die asynchrone Einheit 1 ihre Operation Jx
zum Zeitpunkt t = t1 beendet hat, wird eine diesem Wert entsprechende Zählung in den Zählern 230-1 eingegeben. In ähnlicher Weise wird die dem Zeitpunkt t = t entsprechende Zählung in den Zähler 230-2 eingegeben.
Die Rückzahlung beginnt dann (bzw. nach der Eingabe verzögerung, wenn eine solche vorgesehen ist) entsprechend dem größerwerdenden Wert von f. Wenn t' = t hat der Zähler 230-1 den Zustand "alles-ist-Null" erreicht. Dies wird in passender Weise auf der Leitung 276-1 in Fig. 2 angedeutet. Die asynchrone Untereinheit 202-1 ist dann bereit, in den normalen Zustand zurückzukehren, d.h. das Sperrsignal auf der Leitung 215-1 wird bei Abwesenheit aller Eins-Eingänge am ODER-Glied 203-1 weggenommen.
Wenn in entsprechender Weise der Zähler 230-2 auf Null (zum Zeitpunkt t' = t ) zurückgezählt worden ist, nimmt die Leitung 276-2 den Eins-Zustand an und das Sperrsignal auf der Leitung 215-2 wird entfernt und die asynchrone
109846/1660
Untereinheit 202-2 ist vorbereitet, in ihren normalen Betrieb rückzukehren. Diese Bereitschafts Zeitpunkte der Untereinheiten 1 und 2 sind in Fig. 3C durch R bzw. R angedeutet.
Es versteht sich, daß die synchronen Teile der Anlage und die asynchronen Untereinheiten, die im Zeitpunkt T nicht betrieben worden sind, im Zeitpunkt T wieder
sr ix
gestartet werden. Daher wird die Operation der asynchronen Untereinheiten 3 beispielsweise begonnen, bevor die Untereinheiten 1 und 2 in die Bereitschaftsstellung zum Zeitpunkt t1 = t bzw. t zurückkehren. Unmittelbar nach dem Zeitpunkt.t' = t (in Figo 3C als Verzögerung £ angedeutet) erscheint jedoch das Signal "Wiederstart vollständig" auf der Leitung298 in Fig. 2. Dies zeigt an, daß die Wirlcung der Unterbrechung auf die Untereinheiten vollständig neutralisiert worden ist, mit Ausnahme natürlich bezüglich der Verzögerung der Realzeit, wobei die Aussetz-Operationen in der Gesamtverarbeitungsfolge klar erscheinen. Zum Vergleich wird darauf hingewiesen, daß S und F vor F in Fig. 3A erschienen sind, wie S und F0 vor R in Fig. 3C erscheinen.
Während die Fig. 3A bis C die Zeit des Vorkommens von Signalen, welche den Beginn und das Ende von gewissen
109846/1660
Operationen kennzeichnen, sollte beachtet werden, daß die synchronen oder anders gesteuerten Teile der Anlage eine Anzeige der durchzuführenden Operation zurückbehalten müssen. Wenn beispielsweise die durchzuführende asynchrone Operation ein Speicherzugang ist, wobei Prio ritäts zugang herrschen soll, muß die anzusteuernde Speicherstelle in der synchronen Steuereinheit (Zentralprozessor-Einheit oder andere Einrichtung) gespeichert werden. Wenn die PHP-Steuereinheit angesteuert wird, wird diese Information zusammen mit dem Inhalt der gesamten anderen Information und der Steuerregister, Flipflops und Speicher stellen gespeichert, vorteilhaft in einem dem Speicher 250 gemäß Fig. 2 entsprechenden Speicher. Wenn der erneute Start zum Zeitpunkt T = Tn in Fig. 3C begonnen wird, wird diese gespeicherte Information über ö^n synchroner Zrr^ard wieder an die Register, Flipflcps und SpeicherstΛΙ5a. von wo diese Information gekommen ist, zurückgegeben., Auf diese Weise erscheint die Information bezüglich einer laufenden Anfrage bzw. Anforderung für einen Speicherzugang wie zuvor in den zugeordneten synchronen Steuerregistern etc. und es wird lediglich eine Antwort von der Speichereinheit abgewartet. Dieser Zugang ist zum Zeitpunkt vervollständigt, wenn die "alle-sind-Null-Anzeige" für die Speicherzugang- asynchrone Untereinheit vorkommt. Zu diesem Zeitpunkt können neue Speicher-
109846/1660
Zugriffsanforderungen spezifiziert werden.
Zu speichernde Information
Es ist klar, daß in einer Großanlage mit vorwiegend synchronen Untereinheiten die erforderliche Information für eine präzise Pause der synchronen Untereinheiten in erster Linie der Inhalt von operativen Registern, Flipflops und Speicherelementen ist. Daher ist es günstig, beim Anhalten eines Primärprozesses lediglich einen Übertrag dieser Inhalte auf einen Hauptspeicher oder einen passenden Hilfsspeicher vorzunehmen. Wenn dies durchgeführt ist, kann von diesen synchronen Untereinheiten gesagt werden,, daß sie ihre Pause begonnen haben.
Wenn jedoch eine asynchrone Untereinheit betrachtet wird, ist es klar, daß nicht die gesamte Information benötigt wird, die bei der Verarbeitung in einer asynchronen Untereinheit vorkommt. Da die Verarbeitung über den Zeitpunkt, zu dem das Unterbrechungssignal vorkommt, weiterläuft, wird im allgemeinen während dieser Fortlaufperiode eine Anzahl von Zwischenzuständen und entsprechenden Signalen zur Darstellung dieser Zustände
1098 4 6/1660
erzeugt, welche nicht benötigt werden. In der Tat wird lediglich eine Anzeige des Zustandes jeder asynchronen Untereinheit zum Zeitpunkt der Unterbrechung und die Zeit benötigt, bei welcher die Verarbeitung vollständig ist, die durch die asynchrone Untereinheit zum UnterbrechungsZeitpunkt unternommen hatte. Die in Fig. 2 gezeigte Einrichtung ist einzig zur Durchführung dieser letzteren Anzeige ausgerichtet. Da weiterhin in den meisten Datenverarbeitungsanlagen eine Abschlußsteuerung über ein gespeichertes Programm unter der Steuerung eines synchronen Haupttaktgebers geliefert wird und da die asynchronen Untereinheiten gewöhnlich dazu dienen, Antworten an synchron gesteuerte Untereinheiten zu geben, wird der Zustand jeder asynchronen Untereinheit durch eine oder mehrere synchrone Untereinheiten überwacht. Da beim Wiederstarten die gesamte, den synchronen Untereinheiten zur Verfügung stehende Information, die zum Zeitpunkt des Beginns einer Pause vorlag, erneut diesen zugänglich ist (einschließlich der Information bezüglich einer von der asynchronen Untereinheit zu erwartenden Antwort) braucht zum Wiederstarten einer Anlage, die gerade eine Pause durchgemacht hat, nur noch Information bezüglich der Zeit des Vorkommens der Antwort zugeführt werden.
Es kommt häufig vor, daß eine Anzahl von grundlegenden
109846/1660
Untereinheiten einer Anlage als von höherer Ordnung betrachtet werden können. Dies trifft auch auf synchrone und asynchrone Untereinheiten zu. Eine Kombination derartiger Untereinheiten kann bei der Anwendung der vorliegenden Erfindung nützlich sein. Wenn daher zwei oder mehr Untereinheiten oder passend identifizierte Untereinheiten in vorbestimmter Weise (auch mit unterschiedlicher Operationszeit) zusammenarbeiten, ist es oft mögliclx, nur den Zeitbedarf der Kombination während einer Pause und des Wiederstarts aufzuzeichnen und zu duplizieren, Wenn beispielsweise die mechanische Zugriffs einrichtung, die einer fasyneiironen) Plattenspeiche reinheit zugeordnet ists so betrachtet wird, daß diese mit einer elektronischen asynchronen Prio ritäts Zugangs einrichtung kombiniert wird, braucht lediglich die Gesamtzeit von dem Unterbrechungssignal bis zur Vervollständigung des Zugangs für den Prio ritäts schaltkreis und der mechanische Zugang aufgezeichnet und gespeichert zu werden. Dies bedeutet, daß die kombinierte Prioritäts- und Zugangseinrichtung als eine asynchrone Untereinheit behandelt werden können.
Im allgemeinen kann gesagt werden, daß Zeitinformation, wie diese durch die Schaltung nach Fig. 2 bestimmt und gespeichert wird, nur für solche asynchronen Untereinheiten
109846/1660
(oder Kombinationen bzw. Unterkombinationen solcher Untereinheiten) bestimmt und gespeichert werden muß, als diese, unabhängig von anderen derartigen Untereinheiten, mit anderen (synchronen oder asynchronen) Untereinheiten zusammenarbeiten.
Die Fig. 4 stellt Zusätze zu der Schaltung nach Fig. 1 dar, und zwar für den Fall, daß eine asynchrone Untereinheit Daten erzeugt. Das heißt, die asynchrone Untereinheit 409-i erzeugt nicht nur eine Zeitfunktion, wie dies die Untereinheit 202-i in Fig. 1 tut, sondern auch eine oder mehrere Datenposten, welche durch einen Datengenerator 403-i erzeugt werden, und die gewöhnlich auf Aufforderung hin zu einem normalerweise synchronen Aufforde rungs schaltkreis 400 ■ .liefert wercL:... Typisch für eine derartige Konfiguration ..3t eine Zugangs^Iialt-Xi^ 403-i für einen asynchronen Speicher.
Die Steuerschaltung 400 kann ein zentraler Prozessor oder ein anderer Prozessor sein, welcher zusätzliche, zu verarbeitende Daten anfordert. Diese Anforderung wird in einer Steuereinheit formuliert, welche einen Eingang auf der Leitung 211-i und zusätzliche (Adressen u. dgl. ) Daten auf der Leitung 406-i aufweist. Wenn keine Pause dazwischenkommt, werden die angeforderten Daten
109846/1660
durch einen Datengenerator (Speicher) 403-i erzeugt, nachdem eine Verzögerung durch die Untereinheit 202-i in Abhängigkeit von dem normalen Ausgangssignal auf der Leitung 220-i eingeführt worden ist. Die angeforderten Daten werden dann gewöhnlich auf die Leitung 406-i gegeben.
Wenn eine Pause erforderlich war, erscheint jedoch kein Aus gangs signal auf der Leitung 220-i; stattdessen erscheint ein Aus gangs signal auf der Leitung 221-i. Dieses Signal schaltet in passender Weise die im Datengenerator 403-i erzeugten Daten auf die Leitung 410-i.Die Leitung 410-i führt die erzeugten und zu speichernden Daten zu einem temporären Speicher 404-i und nicht zur Anforde rungs schaltung 400. Dies ist erforderlich, weil im allgemeinen die Anforderungsschaltung 400 vor der Untereinheit 402-i angehalten worden ist. Die im Speicher 404-i gespeicherten Daten werden gewöhnlich zum Speicher 250 (Fig, I) übertragen, und zwar zusammen mit der Zählung des entsprechenden Vorwärts-Rückwärts-Zählers und den entsprechenden Indentifikationsdaten.
Wenn ein Wiederanlauf bzw. ein erneuter Start gewünscht wird, wird der Inhalt des temporären Speichers 404-i
109846/1660
zusammen mit dem Inhalt des entsprechenden Vorwärts-Rückwärts-Zählers wiedergewonnen. Wenn die synchronen Einheiten erneut gestartet werden (zum Zeitpunkt T in der Notation nach Fig. 3C) und der örtliche Zeitgeber die Rückwärts zählung in Gang bringt, wird keine unmittelbare Tätigkeit durch die asynchrone Untereinheit 409-i unternommen. Wenn die Zählung null erreicht und ein entsprechendes Signal auf der Leitung 276-i erscheint, wird der Inhalt des temporären Speichers 404-i jedoch an die Anforderungsschaltung 400 über die Leitung 405-i zusammen mit dem Signal auf der Leitung 221-i geliefert.
Ausgenommen für die in der Realzeit liegenden Pause empfängt die Anforde rungs schaltung 400 daher die angeforderten Daten so als ob keine Pause stattgefunden hätte. Im einzelnen ist der relative Zeitablauf der anderen Operationen im Schaltkreis 400 (und in dem Rest der Anlage) bis zur Ankunft des angeforderten Systems die gleiche wie sie ohne Pause sein würde. Dieses Ergebnis ist natürlich vorhanden, wenn der Datengenerator 403-i arithmetische oder andere als Speicher betriebsweise einschließt.
109846/1660
Ausweitungen und Verallgemeinerungen
Im folgenden sollen Variationen, Ausdehnungen und Verallgemeinerungen der beschriebenen Technik dargelegt werden.
Während die PHP-Steuereinheit 201 in der Form eines " Flipflop ausgebildet sein konnte, versteht es sich, daß
in geeigneter logischer Schaltung es möglich ist, diese zu modifizieren, indem die Anfragen verzögert oder dgl. werden, welche von den Quellen der Ünterbrechungs signale 200-1 bis 200-N stammen. Im einzelnen kann vorgesehen . werden, eine oder mehrere dieser Anfragen so zu steuern, daß sie durch die Existenz von anderen Konditionen bedingt werden. Diese Vorkehrungen können beispielsweise zweckmäßig sein, wenn ein Unterbrechungssignal erzeugt wird, wenn eine Potentialüberlastbedingung angezeigt wird. Es kann wünschenswert sein, diese Unter-" brechung wegen der Potentialüberlastbedingung zu
sperren oder verzögern, während gewisser kritischer Phasen der Datenverarbeitung oder in Vorwegnahme einer Abnahme der Last von der ursprünglichen Quelle.
Obwohl die typische asynchrone, in Fig. 1 dargestellte Untereinheit zur Verzögerung eines Impulses beschrieben
109846/1660
worden ist, versteht es sich, daß in geeigneten Fällen eine Folge von codierten Impulsen das Aus gangs signal der Verzögerungsleitung 10 sein kann. In solchen Fällen kann jeder Impuls von dem Detektor 14 festgestellt werden und über Ausgangsleitungen 220-i oder 221-i in geeigneter Weise abgegeben werden. In diesem Fall kann Vorsorge dafür getroffen werden, welcher Impuls in der Folge die "Zeit des Vorkommens" des Ausgangssignals der asynchronen Einheit relativ zu der Zeit des Vorkommens eines Unterbrechungssignals kennzeichnen soll. Wenn beispielsweise der Ausgang der asynchronen Untereinheit der Antwort eines Speichers auf eine Speicheranforderung entspricht, wird das erste so gelieferte Signal vorteilhaft als die Zeit des Vorkommens des Ausgangssignals einer asynchronen Untereinheit 221-i zum Zwecke des Setzens des entsprechenden FLofloos "'3C- 3 gewählt.
Während oben keine Einzelheiten des Speichers 250 geschildert worden sind, versteht es sich, daß dieser eine beliebige Standardform annehmen kann, welche mit anderen logischen bzw. binären Elementen der Anlage kompatibel ist. So kann diese beispielsweise eine Reihe von Magnetkernen oder Halbleiter-Elementen u. dgl. umfassen. In ähnlicher Weise kann der Speicher 250
109846/1660
als wortorganisierter Speicher aufgebaut sein oder er kann ein Serienspeicher mit einer Verzögerungsleitung oder einem Schieberegister umfassen. In ähnlicher Weise können die verschiedenen Verknüpfungsglieder, Flipflops und Verzögerungseinheiten eine beliebige bekannte Ausführungsform besitzen, werden jedoch vorteilhaft in Halbleitertechnik - als Transistoren oder integrierte Schaltungen - ausgeführt.
Den Bezugs zeichen L, M und N kommt keine besondere Bedeutung zu; diese sollen lediglich andeuten, daß eine breite Vielfalt von Anwendungen möglich ist. Die speziell gezeigten logischen Schaltungen sollen lediglich die beschriebenen Konzepte und Praktiken repräsentieren und keineswegs einschränkend verstanden werden.
Der Ausdruck "Untereinheit" soll sich nicht darauf beziehen, daß er eine notwendigerweise kleine oder hierarchisch untere Einheit andeutet. "Untereinheit" soll vielmehr eine Einheit bezeichnen, die getrennter identifikation zugänglich ist.
Die oben beschriebenen Techniken und Einrichtungen sind selbstverständlich auch dafür anwendbar, eine synchrone Untereinheit genau pausieren zu lassen,
109846/1660
welche aus irgendeinem Grund nicht unmittelbar nach Erhalt eines Ünterbrechungs signals angehalten werden sollte.
09846/1660

Claims (5)

  1. Patentansprüche
    ClJ Einrichtung zum Anhalten und Wiederstarten der Verarbeitung in einer Datenverarbeitungsanlage, die einen synchronen Hauptprozessor und mindestens eine asynchrone Untereinheit aufweist, welche auf im Hauptprozessor erzeugte Anforderungen anspricht, gekennzeichnet durch eine Steuereinheit (201; Fig. 2), die auf ein Haltsignal (200; Fig. 2) anspricht und weitere Anforderungen an die asynchrone Untereinheit (202-i; Fig. 1, 2, 4) unterbindet, sowie durch eine Meßschaltung (230-1 ; Fig. 2), die jeder asynchronen Untereinheit zugeordnet ist und die Zeit mißt, die von der Ankunft des Haltsignals bis zum Arbeiten im Hauptbetriebsablauf/inprogress processing/ der asynchronen Untereinheit reicht.
  2. 2. Einrichtung nach Anspruch 1 , gekennzeichnet durch eine Wiederstart-Schaltung (230-i, 275-i; Fig. 2), die jeder asynchronen Untereinheit (202-i; Fig. 1, 2, 4) zugeordnet ist und auf ein Wiederstart-Signal (295-i; Fig. 2) von dem Hauptprozessor (400; Fig. 4) anspricht und zur Verzögerung des erneuten Startes jeder asynchronen Untereinheit um einen Betrag dient,
    0984S/166Q
    welcher gleich der verflossenen Zeit ist, welche durch die entsprechende Meßschaltung gemessen worden ist.
  3. 3. Einrichtung nach Ansprüchen 1 und 2, gekennzeichnet durch einen Speicher (250; Fig. 2), der zur Speicherung der Ergenisse der Arbeiten im Hauptbetriebsablauf/inprogress processing/ und der gemessenen verflossenen Zeit für jede asynchrone Untereinheit (202-i; Fig. 1, 2, 4) nach Ankunft des Haltsignals (200-i; Fig. 2) dient und zur Übertragung der gespeicherten Messung über die verflossene Zeit bezüglich jeder asynchronen Untereinheit an die entsprechende Wiederstart-Schaltung (230-i, 275-i; Fig. 2.) in Abhängigkeit auf das Wiederstart-Signal (295-i; Fig. 2) ausgelegt 1st urir1 ferner zur Übertragung des gespeicherten Ergebnisses gemäß Faup'betriebsablauf/in-progress processing/ bezüglich der entsprechenden asynchronen Untereinheit an die geeignete Schaltung, nachdem die Verzögerungsschaltung die Untereinheit um einen Betrag hat pausieren lassen, welcher gleich der verflossenen Zeit ist»
  4. 4. Einrichtung nach Anspruch 1, gekennzeichnet durch eine weitere Schaltung (240-i, 260, 290-i; Fig. 2) zur Erzeugung von VervollständigungsSignalen
    109846/1660
    welche anzeigen, daß alle asynchronen Untereinheiten (202-ij Fig. 2) ihren Hauptbetriebs ablauf/ in progress processing/ nach der Ankunft des Haltsignals (200-i; Fig. 2) vervollständigt haben.
  5. 5. Einrichtung nach Ansprüchen 1 und 2, gekennzeichnet durch eine Quelle von Zeitsignalen (225; Fig. 2), die auf ein Haltsignal (200-i; Fig. 2) und ein Wiederstart-Signal (295-i; Fig. 2) anspricht und Zeitimpulse abgibt, die zur Fortschaltung jeder Meßschaltung (230-i; Fig. 2) nach dem Haltsignal und zur Rückschaltung jeder Wiederstart-Schaltung (230-i, 275-i; Fig. 2) nach dem Wiederstart-Signal dienen.
    : 0 9848/1660
DE19712120289 1970-04-27 1971-04-26 Gesteuerte Pause in einer Datenverarbeitungsanlage Pending DE2120289A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US3208370A 1970-04-27 1970-04-27

Publications (1)

Publication Number Publication Date
DE2120289A1 true DE2120289A1 (de) 1971-11-11

Family

ID=21863013

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19712120289 Pending DE2120289A1 (de) 1970-04-27 1971-04-26 Gesteuerte Pause in einer Datenverarbeitungsanlage

Country Status (8)

Country Link
US (1) US3678463A (de)
BE (1) BE766178A (de)
CA (1) CA932470A (de)
DE (1) DE2120289A1 (de)
FR (1) FR2090746A5 (de)
GB (1) GB1343072A (de)
NL (1) NL7105621A (de)
SE (1) SE364790B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2838887A1 (de) * 1977-09-06 1979-03-08 Tokyo Shibaura Electric Co Informationsprozessor

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3898621A (en) * 1973-04-06 1975-08-05 Gte Automatic Electric Lab Inc Data processor system diagnostic arrangement
US3999169A (en) * 1975-01-06 1976-12-21 The United States Of America As Represented By The Secretary Of The Navy Real time control for digital computer utilizing real time clock resident in the central processor
SE387451B (sv) * 1975-07-25 1976-09-06 Ellemtel Utvecklings Ab Tidgivningsanordning for datorer
US4144447A (en) * 1977-04-12 1979-03-13 International Business Machines Corporation Interval timer
US4987529A (en) * 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
DE58908047D1 (de) * 1989-04-25 1994-08-18 Siemens Ag Verfahren zur Synchronisation von Datenverarbeitungsanlagen.
US6343363B1 (en) 1994-09-22 2002-01-29 National Semiconductor Corporation Method of invoking a low power mode in a computer system using a halt instruction
US5754436A (en) * 1994-12-22 1998-05-19 Texas Instruments Incorporated Adaptive power management processes, circuits and systems
US5729720A (en) * 1994-12-22 1998-03-17 Texas Instruments Incorporated Power management masked clock circuitry, systems and methods
US5771373A (en) * 1994-12-22 1998-06-23 Texas Instruments Incorporated Power management masked clock circuitry, systems and methods
US8336762B1 (en) 2008-11-17 2012-12-25 Greenwise Bankcard LLC Payment transaction processing

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3312951A (en) * 1964-05-29 1967-04-04 North American Aviation Inc Multiple computer system with program interrupt
US3333252A (en) * 1965-01-18 1967-07-25 Burroughs Corp Time-dependent priority system
US3408629A (en) * 1966-01-10 1968-10-29 Nielsen A C Co Data handling system
US3541520A (en) * 1967-12-18 1970-11-17 Ibm Time-sharing arrangement
US3611306A (en) * 1969-02-05 1971-10-05 Burroughs Corp Mechanism to control the sequencing of partially ordered instructions in a parallel data processing system
US3611311A (en) * 1969-08-15 1971-10-05 Grason Stadler Co Inc Interface apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2838887A1 (de) * 1977-09-06 1979-03-08 Tokyo Shibaura Electric Co Informationsprozessor

Also Published As

Publication number Publication date
CA932470A (en) 1973-08-21
NL7105621A (de) 1971-10-29
US3678463A (en) 1972-07-18
SE364790B (de) 1974-03-04
FR2090746A5 (de) 1972-01-14
BE766178A (fr) 1971-09-16
GB1343072A (en) 1974-01-10

Similar Documents

Publication Publication Date Title
DE3300260C2 (de)
DE1549532C2 (de) Unterbrechungs-Direktorschalrwerk für eine Datenverarbeitungsanlage mit mehreren Rechenanlagen und mehreren perpheren Geräten
DE2838549C2 (de) Impulsbreitenmeßschaltung zur Anwendung in einem Prozessorsystem
DE2731336A1 (de) Taktsystem
DE1200581B (de) Programmunterbrechungssystem fuer eine elektronische Rechenmaschine
DE2746064A1 (de) Datenspeicher mit auffrischung
DE2234867A1 (de) Anordnung in datenverarbeitungsanlagen zum steuern der verarbeitung zweier voneinander unabhaengiger programme
DE2744531A1 (de) Elektronische datenverarbeitungsanlage
DE3248680A1 (de) Microcomputer mit energiespar-betriebszustand
DE2915401A1 (de) Digitalrechnervorrichtung und verfahren zum pruefen ihrer funktion
DE2933474C2 (de)
DE2754890C2 (de) Einrichtung zur Programmunterbrechung
DE3343227A1 (de) Verfahren zur ueberwachung von elektronischen rechenbausteinen, insbesondere mikroprozessoren
DE2120289A1 (de) Gesteuerte Pause in einer Datenverarbeitungsanlage
CH645999A5 (de) Fehlersucheinrichtung fuer mikroprogramme.
DE2747633A1 (de) Dv-system mit einer unterbrechungseinrichtung
DE3611848A1 (de) Taktauswahleinheit
EP0104490A2 (de) Verfahren und Vorrichtung zur Synchronisation von Datenverarbeitungsanlagen
DE69233345T2 (de) Ein-Chip-Mikrocomputer mit zwei Zeitgeberfunktionsarten
DE2321200C3 (de) Schaltungsanordnung zur Durchführung logischer, durch Boolesche Gleichungen dargestellter Verknüpfungen
DE1191145B (de) Elektronische Zifferrechenmaschine
DE1524181B2 (de) Auswahlvorrichtung fuer ein und ausgabegeraete einer daten verarbeitungsanlage
DE3103701C2 (de)
DE1212748B (de) Datenverarbeitende Maschine mit Programmunterbrechung
EP0010193A1 (de) Einrichtung zur Steuerung der Zykluszeit für einen Mikroprozessor mit Steuerspeichern unterschiedlicher Verarbeitungsgeschwindigkeit

Legal Events

Date Code Title Description
OD Request for examination
OHN Withdrawal