DE2120289A1 - Gesteuerte Pause in einer Datenverarbeitungsanlage - Google Patents
Gesteuerte Pause in einer DatenverarbeitungsanlageInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4825—Interrupt from clock, e.g. time of day
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Hardware Redundancy (AREA)
- Bus Control (AREA)
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.
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.
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.
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
2»
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
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)
- PatentansprücheClJ 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. 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/166Qwelcher gleich der verflossenen Zeit ist, welche durch die entsprechende Meßschaltung gemessen worden ist.
- 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. Einrichtung nach Anspruch 1, gekennzeichnet durch eine weitere Schaltung (240-i, 260, 290-i; Fig. 2) zur Erzeugung von VervollständigungsSignalen109846/1660welche 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. 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
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)
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)
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 |
US5771373A (en) * | 1994-12-22 | 1998-06-23 | Texas Instruments Incorporated | Power management masked clock circuitry, systems and methods |
US5987244A (en) * | 1994-12-22 | 1999-11-16 | Texas Instruments Incorporated | Power management masked clock circuitry, systems and methods |
US5754436A (en) * | 1994-12-22 | 1998-05-19 | Texas Instruments Incorporated | Adaptive power management processes, circuits and systems |
US8336762B1 (en) | 2008-11-17 | 2012-12-25 | Greenwise Bankcard LLC | Payment transaction processing |
Family Cites Families (6)
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 |
-
1970
- 1970-04-27 US US32083A patent/US3678463A/en not_active Expired - Lifetime
- 1970-11-30 CA CA099440A patent/CA932470A/en not_active Expired
-
1971
- 1971-04-22 SE SE05238/70A patent/SE364790B/xx unknown
- 1971-04-23 BE BE766178A patent/BE766178A/xx not_active IP Right Cessation
- 1971-04-26 FR FR7114851A patent/FR2090746A5/fr not_active Expired
- 1971-04-26 DE DE19712120289 patent/DE2120289A1/de active Pending
- 1971-04-26 NL NL7105621A patent/NL7105621A/xx unknown
- 1971-04-27 GB GB1153871*[A patent/GB1343072A/en not_active Expired
Cited By (1)
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 |
FR2090746A5 (de) | 1972-01-14 |
GB1343072A (en) | 1974-01-10 |
SE364790B (de) | 1974-03-04 |
BE766178A (fr) | 1971-09-16 |
US3678463A (en) | 1972-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69130630T2 (de) | Synchrones Verfahren und Gerät für Prozessoren | |
DE69419524T2 (de) | Sperrsynchronisierung für verteilte speicher-massivparallelrechner | |
DE3300260C2 (de) | ||
DE68925466T2 (de) | Zeitgeberschaltung | |
DE2838549C2 (de) | Impulsbreitenmeßschaltung zur Anwendung in einem Prozessorsystem | |
DE2731336A1 (de) | Taktsystem | |
DE3750949T2 (de) | Datenverarbeitungssystem mit watch-dog Schaltung. | |
DE1200581B (de) | Programmunterbrechungssystem fuer eine elektronische Rechenmaschine | |
DE2746064A1 (de) | Datenspeicher mit auffrischung | |
DE69325321T2 (de) | Unterbrechungsvorrichtung für allgemeines Ein-/Ausgangstor | |
DE2234867A1 (de) | Anordnung in datenverarbeitungsanlagen zum steuern der verarbeitung zweier voneinander unabhaengiger programme | |
DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
DE2933474C2 (de) | ||
DE2754890C2 (de) | Einrichtung zur Programmunterbrechung | |
DE3343227A1 (de) | Verfahren zur ueberwachung von elektronischen rechenbausteinen, insbesondere mikroprozessoren | |
DE2120289A1 (de) | Gesteuerte Pause in einer Datenverarbeitungsanlage | |
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 | |
DE69522871T2 (de) | Verbesserter Zeitgeber für Datenprozessoren | |
DE1191145B (de) | Elektronische Zifferrechenmaschine | |
DE1524181B2 (de) | Auswahlvorrichtung fuer ein und ausgabegeraete einer daten verarbeitungsanlage | |
DE69131454T2 (de) | Datenprozessor zur Impulssignalerzeugung als Antwort auf externes Taktsignal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
OHN | Withdrawal |