DE3602851A1 - Datenverarbeitungssystem mit kurzen antwortzeiten auf aeussere ereignisse - Google Patents
Datenverarbeitungssystem mit kurzen antwortzeiten auf aeussere ereignisseInfo
- Publication number
- DE3602851A1 DE3602851A1 DE19863602851 DE3602851A DE3602851A1 DE 3602851 A1 DE3602851 A1 DE 3602851A1 DE 19863602851 DE19863602851 DE 19863602851 DE 3602851 A DE3602851 A DE 3602851A DE 3602851 A1 DE3602851 A1 DE 3602851A1
- Authority
- DE
- Germany
- Prior art keywords
- unit
- data processing
- input
- data
- output
- 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.)
- Granted
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/285—Halt processor DMA
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Description
Die vorliegende Erfindung betrifft ein Datenverarbeitungssystem
mit kurzen Antwortzeiten auf äußere Ereignisse nach
dem Oberbegriff des Patentanspruchs 1.
Datenverarbeitungssysteme dieser Art sind bekannt. Bei
den bekannten Systemen wird das Problem einer schnellen
Antwort einmal dadurch gelöst, daß man programmtechnisch
immer wieder bei der Eingabeeinheit nachfragt, ob ein Datenwort
vorliegt, und dem Datenwort entsprechend eine
Programmverzweigung durchführt und danach der Ausgabeeinheit
über den Datenbus ein Datenwort zur weiteren Übertragung
zuführt (Polling-mode), oder dadurch, daß die
Eingabeeinheit beim Eintreffen einer Date eine Unterbrechungsanforderung
an die Datenverarbeitungseinheit auslöst,
welche programmtechnisch verarbeitet werden muß
(Interrupt-mode). In beiden Fällen beträgt die Zeit vom
Eintreffen des Ereignisses bis zur Bearbeitung des Ereignisses
einige µs.
Der Erfindung liegt die Aufgabe zugrunde, ein Datenverarbeitungssystem
der angegebenen Art zu schaffen, das
eine besonders kurze Zeit vom Eintreffen des Ereignisses
bis zur Bearbeitung desselben benötigt.
Diese Aufgabe wird erfindungsgemäß durch ein Datenverarbeitungssystem
mit den kennzeichnenden Merkmalen des
Patentanspruchs 1 gelöst.
Mit der erfindungsgemäßen Lösung kann die Zeit vom Eintreffen
eines Ereignisses bis zur Bearbeitung desselben
durch die Datenverarbeitungseinheit beträchtlich reduziert
werden. Während sie bei den Systemen der eingangs
beschriebenen Art im Bereich von einigen µs liegt, beträgt
sie erfindungsgemäß einige 100 ns. Diese sehr kurze
Antwortzeit ist für eine Vielzahl von Fällen des Einsatzes
von Datenverarbeitungssystemen von Bedeutung,
bei denen das Datenverarbeitungssystem sehr rasch auf
Ereignisse reagieren muß, beispielsweise in der Datenkommunikation,
Meßtechnik etc.
Um die Funktionsweise des erfindungsgemäßen Systems zu
erläutern, wird anfangs ein bekanntes System beschrieben,
das in dem eingangs beschriebenen Interrupt-Betrieb
arbeitet. Hierbei löst die Eingabeeinheit eine Unterbrechungsanforderung
an die Datenverarbeitungseinheit aus, sobald
gültige Daten in der Eingabeeinheit vorhanden sind.
Die Datenverarbeitungseinheit muß nun ihrerseits die
Unterbrechungsanforderung softwaremäßig erkennen, d. h.,
daß das Programm in eine Unterbrechungsroutine verzweigt.
In dieser Unterbrechungsroutine werden nun die Daten
der Eingabeeinheit über den Datenbus in die Datenverarbeitungseinheit
geladen. Dem Bitmuster der geladenen
Daten entsprechend kann man nun weiter im Programm verzweigen
und Aktionen, wie beispielsweise das Aussenden
eines Datenwortes, über die Ausgabeeinheit softwaremäßig
folgen lassen. Die gesamte vorstehend beschriebene Verfahrensweise
dauert einige Taktzyklen (Größenordnung
50 . . . 100). Je nach Taktfrequenz der Datenverarbeitungseinheit
entspricht dies einer Zeit von ca. 10-100 µs.
Demgegenüber funktioniert das erfindungsgemäß ausgebildete
Datenverarbeitungssystem in der folgenden Weise:
Die Datenverarbeitungseinheit muß softwaremäßig für
das Empfangen von Daten aus der Peripherie vorbereitet
werden. Spezielle Befehle veranlassen die Datenverarbeitungseinheit,
eine Ein/Ausgabeanforderung (IOR)
auszusenden. Diese Ein/Ausgabeanforderung gelangt in
die Logikschaltung, deren Teilaufgabe es ist, zu prüfen,
ob die richtige Adresse der Eingabeeinheit vorliegt
und eine Eingabeanforderung besteht. Wenn dies
der Fall ist, setzt die Logikeinheit die Datenverarbeitungseinheit
in den Wartezustand. In einem solchen
Wartezustand ändern sich die Adressen auf dem Adressbus
nicht, und die Datenverarbeitungseinheit wartet
so lange, bis der Warteeingang entsprechend mit Signalen
von der Logikeinheit versorgt wird. Um diesen
Wartezustand aufzuheben, muß eine gültige Date in der
Eingabeeinheit angekommen sein. Wenn die Eingabeeinheit
eine gültige Date detektiert hat, wird über die Logikeinheit
der Wartezustand aufgehoben. Gleichzeitig wird
die angekommene Date von der Eingabeeinheit auf den
Datenbus gelegt und gelangt somit an die Eingänge des
Trenngliedes. Dieses Trennglied hat die Aufgabe, zu
bestimmten Zeitpunkten dem zusätzlichen Speicher eine
stabile Teiladresse zukommen zu lassen, da das Trennglied
einerseits an den Eingängen mit dem Datenbus und
andererseits an den Ausgängen mit einigen Adresseingängen
des zusätzlichen Speichers verbunden ist. In
Abhängigkeit von der Date, die von der Eingabeeinheit
in logische Pegel umgesetzt worden ist, entscheidet
die Logikeinheit, ob diese Date als Teiladresse für
den Speicher verwendet wird oder ob die davor eingetroffene
Date als Teiladresse für den Speicher dient.
Da, wie vorstehend beschrieben, der Wartezustand der
Datenverarbeitungseinheit gleichzeitig aufgehoben wird,
kann nunmehr die Datenverarbeitungseinheit ihr Software-
Programm sofort abarbeiteten. Bei entsprechender Adressierung
wird über den Adressdekoder, der an den Adressbus
angeschlossen ist, der zusätzliche Speicher freigegeben
und kann seinerseits ein der Gesamtadresse entsprechendes
Datenwort auf den Datenbus legen. Diese
Gesamtadresse setzt sich aus der Teiladresse, welche
von der Eingangsdate gebildet wurde, und der Teiladresse,
die die Datenverarbeitungseinheit programmgemäß
vorgibt, zusammen. Da keine Interrupt-Programme
durchlaufen werden müssen, kann die Datenverarbeitungseinheit
entsprechend der Eingangsdate sofort reagieren.
Durch die Adressenbildung für den zusätzlichen Speicher
(zu einem Teil Eingangsdate, zum anderen Teil programmgemäße
Vorgabe) kann flexibel auf ein peripheres Ereignis
reagiert werden. Die Dauer vom Eintreffen der Eingangsdate
bis zum Aussenden eines der Eingangsdate entsprechenden
Datenworts liegt bei ca. 10-30 Taktzyklen.
Dies ist wesentlich weniger als bei der vorstehend
beschriebenen Interrupt-Verarbeitung.
Die erfindungsgemäß vorgesehene Logikeinheit hat einerseits
die Aufgabe, das Trennglied zum richtigen Zeitpunkt
anzusteuern, und andererseits bildet sie in Zusammenwirkung
mit Signalen der Datenverarbeitungseinheit
und der Eingabeeinheit die Signale, welche notwendig
sind, um einen korrekten Ablauf zu erhalten. Die
Logikeinheit hat für das Anhalten des normalerweise
zyklisch ablaufenden Programms bei entsprechender Adressierung
aus eben diesem Programm zu sorgen. Sie muß
ebenfalls bei entsprechenden Signalen der Eingabeeinheit
diesen Wartezustand wieder aufheben. Diese Ansteuerung
des Trenngliedes muß so mit dem Aufheben des
Wartezustandes synchronisiert werden, daß zum richtigen
Zeitpunkt stabile Daten vom Zusatzspeicher auf den
Datenbus gelegt werden können. Hierzu ist die Logikeinheit
mit mindestens einer Adressleitung des Adressbusses
und dem Ein/Ausgabe-Ausgang der Datenverarbeitungseinheit
verschaltet.
Die vorstehend erwähnte Adressierung wird dadurch erreicht,
daß die mindestens eine Adressleitung und die
Ein/Ausgabeanforderung so zusammengefaßt werden, daß
nur ein Ausgangssignal diesen Zustand beschreibt. Dieses
Ausgangssignal ist verantwortlich für den Übergang
der Datenverarbeitungseinheit in den Wartezustand. Gemäß
einer speziellen Ausführungsform der Erfindung wird
diese Funktion durch das geeignete Zusammenschalten
eines n-bit Binärdekoders, eines Setz-Rücksetz-Gliedes
und mindestens eines Tor-Gliedes mit der mindestens
einen Adressleitung und der Ein/Ausgabe-Anforderungsleitung
erreicht. Das Setz-Rücksetz-Glied wird von dem
vorstehend erwähnten Ausgangssignal über den n-bit Binärdekoder
und das mindestens eine Tor-Glied vorbereitet
und sorgt nach dem Eintreffen von Daten in der Eingabeeinheit
mit Hilfe des Tor-Gliedes für das zeitrichtige
Ansteuern des Trenngliedes und das Aufheben des Wartezustandes.
Bei einer speziellen Ausbildung der Erfindung weist die
Logikeinheit ein Oder-Glied, ein Und-Glied und einen
Negator auf, die zwischen den Binärdekoder, die Setz-
Rücksetz-Einheit und das Trennglied geschaltet sind.
Hierbei hat das Und-Torglied, welches an zwei Ausgänge
des n-bit Binärdekoders geschaltet ist, die Aufgabe,
bei entsprechender Adressierung des n-bit Binärdekoders
die Datenverarbeitungseinheit zu veranlassen, in den
Wartezustand zu gelangen. Der Negator setzt bei fehlender
richtiger Adressierung das Setz-Rücksetz-Glied zurück,
und über das Oder-Glied wird das Hineingelangen
und das Aufheben des Wartezustandes verknüpft.
Zweckmäßigerweise weist die Logikeinheit einen Negator
auf, der den Takteingang und den Preset-Eingang des
Setz-Rücksetz-Gliedes miteinander verbindet. Durch
diesen Negator wird ein schnelleres Kippen des Gliedes
vom logischen "0"-Zustand in den "1"-Zustand bei
der positiven Flanke des Takteingangs erreicht.
Das Trennglied hat die Aufgabe, die Signale, welche an
den Eingängen anliegen, nur zu diskreten Zeitpunkten
an die Ausgänge durchzuschalten. Bei einer speziellen
Ausführungsform ist das Trennglied als Zwischenspeicher
ausgebildet. Diese Ausführung als Zwischenspeicher gestattet
es darüberhinaus, den alten Signalzustand der
Eingänge zwischenzuspeichern.
Zweckmäßigerweise ist der Zwischenspeicher steuerbar
ausgebildet. Hierdurch kann aufgrund eines Ereignisses
entschieden werden, die Eingänge des Trenngliedes, obwohl
sie durchgeschaltet werden müßten, nicht durchzuschalten
und somit den alten Zustand der Ausgänge
unverändert aufrecht zu erhalten. Dies ist insofern
vorteilhaft, als daß man in Abhängigkeit von äußeren
Ereignissen den Zwischenspeicher flexibel steuern kann.
Die Steuerung des Zwischenspeichers übernimmt vorzugsweise
ein Setz-Rücksetz-Glied. Der Dateneingang dieses
Gliedes variiert in Abhängigkeit eines äußeren Ereignisses.
Getaktet wird es durch die Logikeinheit, die
für die zeitrichtige Taktflanke sorgt.
Die Erfindung wird nachfolgend anhand eines Ausführungsbeispiels
in Verbindung mit der Zeichnung im einzelnen
erläutert. Es zeigen:
Fig. 1 ein Blockschaltbild eines herkömmlich ausgebildeten
Datenverarbeitungssystems, das
nach dem Interrupt-Verfahren arbeitet;
Fig. 2 ein Blockschaltbild eines erfindungsgemäß
ausgebildeten Datenverarbeitungssystems;
und
Fig. 3 ein Stromlaufplan des in Fig. 2 schematisch
dargestellten Datenverarbeitungssystems.
Das in Fig. 1 schematisch dargestellte herkömmlich
ausgebildete Datenverarbeitungssystem besitzt eine Datenverarbeitungseinheit
(CPU), die einen Wait-Eingang
16, einen IRQ-Eingang (Interrupt Request-Eingang),
Stromversorgungseingänge, einen Reset-Eingang, einen
NMI-Eingang (Non Maskable Interrupt), einen BUSRQ-
Eingang (Bus Request), einen Adressbus-Ausgang und
einen Datenbus-Ein/Ausgang aufweist. Desweiteren sind
diverse System Control-Ausgänge und ein Halt-Ausgang vorgesehen,
die in Fig. 1 nicht gesondert dargestellt sind. Bei
der Datenverarbeitungseinheit 2 kann es sich beispielsweise
um eine Z 80 CPU handeln.
Der Datenverarbeitungseinheit 2 ist ein Speicher 4 zugeordnet,
bei dem es sich beispielsweise um einen EPROM,
einen EEPROM, einen statischen RAM oder einen dynamischen
RAM handeln kann. Der Speicher besitzt einen Adressbus-
Eingang 10 (AB), einen CS-Eingang (Chip Select) sowie
einen Datenbus-Ein/Ausgang. Desweiteren weist er
nicht dargestellte Stromversorgungseingänge, Freigabe-
Eingänge, Programmier-Eingänge etc. auf.
Das in Fig. 1 dargestellte Datenverarbeitungssystem
umfaßt desweiteren einen Adress-Dekoder 5, der einen
Adressbus-Eingang (AB) oder ein oder mehrere Ausgänge
für die Select-Signale der einzelnen Bausteine aufweist.
Darüberhinaus sind nicht dargestellte Stromversorgungseingänge,
Freigabeeingänge etc. vorgesehen.
Eine zum Datenverarbeitungssystem gehörende Eingabeeinheit 1
besitzt einen seriellen Dateneingang, einen parallelen Datenbus-
Ausgang und einen Data Available-Ausgang
18. Ein vorgesehener Error-Ausgang, Stromversorgungseingänge
und andere Control-Ein/Ausgänge sind nicht
dargestellt.
Schließlich besitzt das dargestellte Datenverarbeitungssystem
noch eine Ausgabeeinheit 3, die einen Datenbus-
Eingang, einen CS-Eingang (Chip Select) und einen seriellen
Datenausgang aufweist. Auch hier sind weitere
Ein/Ausgänge nicht dargestellt.
Die Datenbus-Ein/Ausgänge der Eingabeeinheit 1, Datenverarbeitungseinheit
2, des Speichers 4 und der Ausgabeeinheit 3
stehen über ein Datenbussystem 8 miteinander
in Verbindung. Die Adressbus-Ein/Ausgänge der
Datenverarbeitungseinheit 2, des Adress-Dekodierers 5
und des Speichers 4 stehen über ein Adressbussystem 9
miteinander in Verbindung. Der Data Available-Ausgang
18 der Eingabeeinheit 1 ist über eine Leitung 17
an den IRQ-Eingang der Datenverarbeitungseinheit 2 angeschlossen.
Die Select-Ausgänge des Adress-Dekodierers 5
sind an den CS-Eingang des Speichers 4 und den
CS-Eingang der Ausgabeeinheit 3 geführt. Der Wait-Eingang
16 der Datenverarbeitungseinheit 2 ist bei dem
in Fig. 1 dargestellten Ausführungsbeispiel nicht
verschaltet.
Das vorstehend beschriebene, nach dem Interrupt-Verfahren
arbeitende Datenverarbeitungssystem funktioniert
in der folgenden Weise:
Nachdem die Eingabeeinheit 1 serielle Daten empfangen
hat, wird über den DAV-Ausgang 18 und die Leitung 17
eine Unterbrechungsanforderung in der Datenverarbeitungseinheit
2 ausgelöst. Das von der Datenverarbeitungseinheit 2
abzuarbeitende Programm entscheidet,
ob diese Unterbrechungsanforderung bearbeitet wird
oder nicht. Wenn die Unterbrechungsanforderung nicht
bearbeitet wird, arbeitet die Datenverarbeitungseinheit 2
ihr Programm weiter ab, ohne sich um die in der
Eingabeeinheit 1 vorliegenden Daten zu kümmern. Wenn
die Unterbrechungsanforderung bearbeitet wird, werden
die Daten aus der Eingabeeinheit 1 über das Datenbussystem
8 ausgelesen, und das Programm kann aufgrund der
ausgelesenen Daten eine Verzweigung herbeiführen und
den Eingangsdaten entsprechend ein Signal der Ausgabeeinheit
3 zuführen. Wie bereits vorstehend erwähnt, benötigt
die Datenverarbeitungseinheit zu dieser Arbeitsweise
relativ viele Taktzyklen.
Das in Fig. 2 schematisch dargestellte erfindungsgemäß
ausgebildete Datenverarbeitungssystem, bei dem gleiche
Bezugsziffern wie in Fig. 1 Verwendung finden, unterscheidet
sich von dem in Fig. 1 dargestellten System
im wesentlichen dadurch, daß der Datenbus-Ausgang der
Eingabeeinheit 1 über ein Trennglied 7 an einen Teil
des Adressbus-Einganges (AB) 11 eines Zusatzspeichers
31 geführt ist. Bei dem Zusatzspeicher 31 kann es sich
um einen Teil des Speichers 4 des in Fig. 1 dargestellten
Systems handeln; der Speicher 31 kann jedoch auch
als getrennter Speicher ausgebildet sein. Bei der Darstellung
der Fig. 2 wird davon ausgegangen, daß der
Zusatzspeicher 31 einen Teil des Speichers 4 der Fig. 1
bildet. Der Adressbus-Eingang des herkömmlich ausgebildeten
Speicherteils (Speicher 4) ist hierbei nicht
mehr dargestellt. Es ist vielmehr nur noch der Adressbus-
Eingang (AB) 11 des Zusatzspeichers 31 gezeigt, wobei
dieser Adressbus-Eingang 11 teilweise vom Adressbus-
System 9 und teilweise vom Datenbus des Trenngliedes 7
belegt ist. Der Zusatzspeicher 31 bzw. die entsprechende
Untereinheit des Speichers 4 besitzt ebenfalls
einen CS-Eingang (Chip Select) und einen Datenbus-Ein/
Ausgang, der mit dem Datenbus-System 8 in Verbindung
steht und u. a. zur Ausgabeeinheit 3 führt.
Das in Fig. 2 dargestellte Datenverarbeitungssystem
umfaßt ferner eine Logik-Einheit 6, die einen Eingang
aufweist, der über eine Leitung 12 an den DAV-Ausgang
18 der Eingabeeinheit 1 geschaltet ist, einen weiteren
Eingang, der über eine Leitung 13 an eine Adressleitung
des Adressbus-Systems 9 geschaltet ist, und einen
dritten Eingang, der über eine Leitung 15 an den IOR-
Ausgang 21 der Datenverarbeitungseinheit 2 geschaltet
ist. Die Logik-Einheit 6 weist desweiteren einen ersten
Ausgang auf, der über eine Leitung 14 an den Wait-Eingang
16 der Datenverarbeitungseinheit 2 geschaltet ist, sowie
einen zweiten Ausgang, der über eine Leitung 19 an
einen U-Eingang (Übernahme-Eingang) des Trenngliedes
7 geschaltet ist. Bei dem in Fig. 2 dargestellten System
ist der IRQ-Eingang der Datenverarbeitungseinheit 2 nicht
verschaltet. Im übrigen entspricht das System der Fig. 2
dem der Fig. 1.
Das in Fig. 2 dargestellte System funktioniert in der
folgenden Weise:
Wenn serielle Daten in der Eingabeeinheit 1 eingetroffen sind, wird der DAV-Ausgang 18 der Eingabeeinheit 1 aktiviert. Wenn per Programm vorher der IOR-Ausgang 21 der Datenverarbeitungseinheit 2 gesetzt worden ist und die Adressleitung 13 von der Datenverarbeitungseinheit aktiviert worden ist oder der IOR-Eingang 21 allein gesetzt worden ist, wird von der Logikeinheit 6 über die Leitung 14 der Wait-Eingang 16 der Datenverarbeitungseinheit 2 aktiviert. Wenn jetzt durch Eintreffen von seriellen Daten der DAV-Ausgang 18 der Eingabeeinheit 1 aktiviert wird, wird von der Logik-Einheit 6 über die Leitung 19 der U-Eingang des Trenngliedes 7 aktiviert. Damit werden die am Datenbus-Eingang des Trenngliedes 7 anstehenden Daten zum Adress-Eingang 11 des Zusatzspeichers 31 durchgeschaltet. Gleichzeitig wird der mit der Leitung 14 verbundene Ausgang der Logik- Einheit 6 wieder deaktiviert.
Wenn serielle Daten in der Eingabeeinheit 1 eingetroffen sind, wird der DAV-Ausgang 18 der Eingabeeinheit 1 aktiviert. Wenn per Programm vorher der IOR-Ausgang 21 der Datenverarbeitungseinheit 2 gesetzt worden ist und die Adressleitung 13 von der Datenverarbeitungseinheit aktiviert worden ist oder der IOR-Eingang 21 allein gesetzt worden ist, wird von der Logikeinheit 6 über die Leitung 14 der Wait-Eingang 16 der Datenverarbeitungseinheit 2 aktiviert. Wenn jetzt durch Eintreffen von seriellen Daten der DAV-Ausgang 18 der Eingabeeinheit 1 aktiviert wird, wird von der Logik-Einheit 6 über die Leitung 19 der U-Eingang des Trenngliedes 7 aktiviert. Damit werden die am Datenbus-Eingang des Trenngliedes 7 anstehenden Daten zum Adress-Eingang 11 des Zusatzspeichers 31 durchgeschaltet. Gleichzeitig wird der mit der Leitung 14 verbundene Ausgang der Logik- Einheit 6 wieder deaktiviert.
Aufgrund der bei gegebenem Freigabesignal (CS-Eingang)
am AB-Eingang 11 des Zusatzspeichers 31 anliegenden
Adressen setzt der Zusatzspeicher 31 über den Datenbus-
Ausgang (DB) ein Datenwort auf das Datenbussystem 8.
Da in der Zwischenzeit der Wait-Zustand durch die Logik-
Einheit 6 aufgehoben worden ist, setzt die Datenverarbeitungseinheit
2 ihr Programm fort. Programmtechnisch
existieren dann zwei Möglichkeiten: Zum einen können
diejenigen Adressen auf das Adressbussystem 9 gelegt
werden die über den Adressdekoder 5 das Freigabesignal
für die Ausgabeeinheit 3 erzeugen. Dadurch kann das
auf dem Datenbussystem 8 liegende Datenwort in der Ausgabeeinheit
3 in eine serielle Date umgewandelt und an
die Peripherie abgegeben werden. Zum anderen kann die
Datenverarbeitungseinheit 2 dem Datenwort entsprechend
einen Bearbeitungsvorgang durchführen und ein neues Datenwort
auf das Datenbussystem 8 legen. Gleichzeitig
wird die die Ausgabeeinheit 3 freigebende Adresse auf
das Adressbussystem 9 gelegt, so daß die Ausgabeeinheit
3 das auf das Datenbussystem 8 gelegte Datenwort in
serielle Daten umwandeln und an die Peripherie abgeben
kann.
Fig. 3 zeigt einen Stromlaufplan des in Fig. 2 schematisch
dargestellten Datenverarbeitungssystems. Der
in Fig. 3 dargestellte Plan zeigt einen Teil eines Gesamtsystems,
wobei die für die Erfindung unmaßgeblichen
Teile nicht dargestellt sind.
Bei der in Fig. 3 gezeigten Datenverarbeitungseinheit
2 handelt es sich um eine Z 80 H-CPU. Am Datenbus-Ein/
Ausgang der Datenverarbeitungseinheit 2 liegen 8 einzelne
Datenbusleitungen an. Am Adressbus-Ausgang liegen
sieben einzelne Adressbusleitungen an, von denen zwei
an den CS-Eingang der Ausgabeeinheit 3 geführt sind,
zwei zur Logik-Einheit 6 geführt sind und fünf an den
Adressbus-Eingang 11 des Zusatzspeichers 31 gelegt sind.
Von den letztgenannten fünf Adressbusleitungen sind zwei
ebenfalls an die Ausgabeeinheit 3 und eine an die Logik-
Einheit 6 angeschlossen, wie vorstehend erläutert, so
daß sich eine Gesamtzahl von sechs Adressbusleitungen
ergibt. Die siebte Adressbusleitung der Datenverarbeitungseinheit
2 ist an den CS-Eingang des Zusatzspeichers
31 gelegt.
Die Datenverarbeitungseinheit 2 besitzt ferner einer
Memory Request-Ausgang, der mit einem Freigabeeingang
des Zusatzspeichers 31 verbunden ist. Der IOR-Ausgang
21 der Datenverarbeitungseinheit ist über die Leitung
15 an die Logik-Einheit 6 angeschlossen. Der Wait-Eingang
16 der Datenverarbeitungseinheit ist mit dem Ausgang
eines Und-Gliedes 32 verbunden, dessen Eingänge
einmal über die Leitung 14 an die Logik-Einheit 6 und
über eine weitere Leitung an weitere Tor-Glieder angeschlossen
sind, die die Funktion besitzen, weitere Alternativen
in bezug auf das Anhalten der Datenverarbeitungseinheit
zur Verfügung zu stellen. Darüberhinaus sind
bei der Datenverarbeitungseinheit 2 diverse Stromversorgungseingänge
und Control-Ein/Ausgänge dargestellt.
Ferner ist ein zentraler Reset-Eingang vorgesehen, der
die Datenverarbeitungseinheit 2 in einen definierten
Anfangszustand bringt.
Der der Datenverarbeitungseinheit 2 zugeordnete Zusatzspeicher
31 (hierbei ist der in Fig. 1 gezeigte Programm/
Arbeitsspeicher nicht dargestellt) besitzt zwei
Freigabeeingänge, an die die vorstehend erwähnte Adressbusleitung
und die Memory Request-Leitung der Datenverarbeitungseinheit 2
angeschlossen sind. Diese Leitungen bilden
gemeinsam einen Teil des in Fig. 2 dargestellten
Adressdekoders 5. Desweiteren besitzt der Zusatzspeicher
31, bei dem es sich um ein 16 KB EPROM handelt,
einen Datenbus-Ein/Ausgang, der in der gezeigten
Schaltung nur als Ausgang benutzt wird und an dem acht
Datenbusleitungen anliegen. Am Adressbus-Eingang 11 des
Zusatzspeichers 31 liegen einerseits fünf Adressbusleitungen,
die von der Datenverarbeitungseinheit 2 herrühren,
und andererseits neun Adressbusleitungen, die von dem
Trennglied 7 kommen, bei dem es sich bei der in Fig. 3
dargestellten Ausführungsform um einen steuerbaren
Zwischenspeicher 29 handelt, der als 8 bit Datenregister-Typ
74 LS 273 ausgebildet ist, an. Dem Zwischenspeicher
29 ist zur Steuerung eine Setz-Rücksetz-Einheit vom Typ
74 LS 74 zugeordnet, wobei der Ausgang der Setz-Rücksetz-
Einheit über eine Leitung 19, mittels der der Zwischenspeicher
29 angesteuert wird, mit dem Zwischenspeicher
verbunden ist. Vom Zwischenspeicher 29 gehen acht
Adressbusleitungen an den Adressbus-Eingang 11 des Zusatzspeichers
31, während eine Adressbusleitung von der
Setz-Rücksetz-Einheit 30 zum Adressbus-Eingang 11 des
Zusatzspeichers geführt ist. Desweiteren besitzt der
Zusatzspeicher 31 diverse Stromversorgungs- und Programmiereingänge.
Die in Fig. 3 dargestellte Logik-Einheit 6 umfaßt einen
2 bit Binärdekoder 23, eine Setz-Rücksetz-Einheit 22,
ein Und-Glied 24, zwei Oder-Glieder 26, 27 und zwei
Negatoren 25, 28. Der Binärdekoder 23 besitzt drei Eingänge,
bei denen es sich um einen Freigabe-Eingang, der
mit der IOR-Leitung 15 verbunden ist, und um zwei Eingänge
handelt, an denen die vorstehend erwähnten zwei
Adressbusleitungen von der Datenverarbeitungseinheit
anliegen (Leitung 13 in Fig. 2). Der Binärdekoder 23
besitzt drei Ausgänge, von denen zwei am Und-Glied 24
anliegen und einer über Tor-Glieder an den Wait-Eingang
16 der Datenverarbeitungseinheit 2 geführt ist. Der Ausgang
des Und-Gliedes 24 ist über das Oder-Glied 26 an
den Clear-Eingang der Setz-Rücksetz-Einheit 30 und an
den Wait-Eingang 16 der Datenverarbeitungseinheit 2 angeschlossen.
Darüberhinaus ist dieser Ausgang über den
Negator 25 an den Clear-Eingang der Setz-Rücksetz-Einheit
22 und über das Oder-Glied 27 an den Takt-Eingang
der Setz-Rücksetz-Einheit 30 angeschlossen. Der andere
Eingang des Oder-Gliedes 26 ist an den nicht negierten
Ausgang der Setz-Rücksetz-Einheit 22 angeschlossen,
während der andere Eingang des Oder-Gliedes 27 an den
negierten Ausgang der Einheit 22 geführt ist. Der Takt-
Eingang der Einheit 22 ist mit dem DAV-Ausgang 18 der
Eingabeeinheit 1 und mit dem Eingang des Negators 28
verbunden. Der Ausgang des Negators 28 liegt am Preset-
Eingang der Einheit 22 an. Der Dateneingang der Einheit
22 liegt an einer festen positiven Spannung.
Bei der in Fig. 3 gezeigten Eingabeeinheit 1 handelt
es sich um den Typ DP 83 41 (Hersteller National),
während es sich bei der Ausgabeeinheit 3 um den Typ
DP 83 40 (Hersteller National) handelt. Beide Einheiten
weisen Eingangs- bzw. Ausgangsleitungen für serielle
Daten auf. Weitere Ein/Ausgänge der Einheiten 1 und
3, die für die Erfindung unwesentlich sind, werden nicht
gesondert beschrieben.
Nachfolgend wird die Funktionsweise des in Fig. 3 dargestellten
Systems beschrieben:
Die Datenverarbeitungseinheit 2 gibt über die Leitung
15 die Einheit 23 frei. Wenn zusätzlich eine der beiden
Adressleitungen, die zu der Einheit 23 führen, Low-
Pegel führt, geht ein Eingang der Einheit 24 auf Low-
Pegel und dadurch auch der Ausgang der Einheit 24 auf
Low-Pegel. Vorausgesetzt der Ausgang der Einheit 22
führt ebenfalls Low-Pegel, geht der Ausgang der Einheit
26 auf Low-Pegel und damit über die Einheit 36 und 32
die Datenverarbeitungseinheit 2 in den Wartezustand.
Durch den Low-Pegel am Ausgang der Einheit 26 wird die
Einheit 30 rückgesetzt. Bei der positiven Flanke des
DAV-Signals 18 wird die Einheit 22 derart umgesteuert,
daß der nicht negierte Ausgang High-Signal führt. Durch
dieses Signal wird über die Einheit 26, 36 und 32 der
Wartezustand der Einheit 2 aufgehoben. Da der negierte
Ausgang der Einheit 22 Low-Pegel führt, wird über die
Einheit 27 auch Low-Pegel an den Takt-Eingang der Einheit
30 gelegt. Wenn nun der Ausgang 21 der Einheit 2
High-Pegel führt, wird über die Einheit 23 der Ausgang
der Einheit 24 ebenfalls High-Pegel führen und damit
über die Einheit 27 eine positive Flanke an den Takt-
Eingang der Einheit 30 gelegt. Der Ausgang der Einheit
30 kann dem Dateneingang der Einheit 30 entsprechend
auf High-Pegel gehen und damit den Speicher 29 über die
Leitung 19 umsteuern. Gleichzeitig wird durch den Negator
25 die Einheit 22 rückgesetzt. Der Ausgangszustand
der gesamten Logik-Einheit ist jetzt erreicht und
der Ablauf kann bei entsprechenden Eingangssignalen
wie oben beschrieben gestartet werden.
Claims (8)
1. Datenverarbeitungssystem mit kurzen Antwortzeiten
auf äußere Ereignisse mit einer zentralen Datenverarbeitungseinheit
mit einem Warte-Eingang, einem Speicher,
einer Eingabeeinheit und einer Ausgabeeinheit,
die über einen Datenbus, einen Adressbus und eine
Adressierlogik miteinander verschaltet sind, dadurch
gekennzeichnet, daß der Datenbus (8) über ein Trennglied
(7) an einen Teil der Adresseingänge (11) eines
zusätzlichen Speichers (31) gelegt ist, daß ein Teil
(20) des Adressbusses (9) der Datenverarbeitungseinheit
(2) an den restlichen Teil der Adresseingänge (11) des
Speichers (31) geführt ist und daß der Eingabeeinheit
(1), dem Warte-Eingang (16) der Datenverarbeitungseinheit
(2) und dem Trennglied (7) eine Logik-Einheit (6)
zugeordnet ist.
2. Datenverarbeitungssystem nach Anspruch 1, dadurch
gekennzeichnet, daß die Logik-Einheit (6) mit mindestens
einer Adressleitung des Adressbusses (9) und dem Ein/
Ausgabe-Anforderungsausgang (21) der Datenverarbeitungseinheit
(2) verschaltet ist.
3. Datenverarbeitungssystem nach Anspruch 2, dadurch
gekennzeichnet, daß die Logik-Einheit (6) eine Setz-
Rücksetz-Einheit (22), einen n-bit Binärdekoder (23)
und mindestens ein Tor-Glied (24-28) aufweist.
4. Datenverarbeitungssystem nach Anspruch 3, dadurch
gekennzeichnet, daß die Logik-Einheit (6) ein Oder-
Glied (26), ein Und-Glied (24) und einen Negator (25)
aufweist, die zwischen den Binärdekoder (23), die Setz-
Rücksetz-Einheit (22) und das Trennglied (7) geschaltet
sind.
5. Datenverarbeitungssystem nach einem der Ansprüche
3 oder 4, dadurch gekennzeichnet, daß die Logik-Einhiet
(6) einen Negator (28) aufweist, der den Takt-Eingang
und den Preset-Eingang der Setz-Rücksetz-Einheit
(22) miteinander verbindet.
6. Datenverarbeitungssystem nach einem der vorangehenden
Ansprüche, dadurch gekennzeichnet, daß das Trennglied
(7) als Zwischenspeicher (29) ausgebildet ist.
7. Datenverarbeitungssystem nach Anspruch 6, dadurch
gekennzeichnet, daß der Zwischenspeicher (29) steuerbar
ist.
8. Datenverarbeitungssystem nach Anspruch 7, dadurch
gekennzeichnet, daß dem Zwischenspeicher (29) zur
Steuerung eine Setz-Rücksetz-Einheit (30) zugeordnet
ist.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19863602851 DE3602851A1 (de) | 1986-01-31 | 1986-01-31 | Datenverarbeitungssystem mit kurzen antwortzeiten auf aeussere ereignisse |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19863602851 DE3602851A1 (de) | 1986-01-31 | 1986-01-31 | Datenverarbeitungssystem mit kurzen antwortzeiten auf aeussere ereignisse |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3602851A1 true DE3602851A1 (de) | 1987-08-06 |
DE3602851C2 DE3602851C2 (de) | 1989-02-23 |
Family
ID=6292998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19863602851 Granted DE3602851A1 (de) | 1986-01-31 | 1986-01-31 | Datenverarbeitungssystem mit kurzen antwortzeiten auf aeussere ereignisse |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE3602851A1 (de) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2855673A1 (de) * | 1977-12-30 | 1979-07-05 | Olivetti & Co Spa | Anordnung zur handhabung des direkten zugriffs auf den speicher einer datenverarbeitungsanlage |
-
1986
- 1986-01-31 DE DE19863602851 patent/DE3602851A1/de active Granted
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2855673A1 (de) * | 1977-12-30 | 1979-07-05 | Olivetti & Co Spa | Anordnung zur handhabung des direkten zugriffs auf den speicher einer datenverarbeitungsanlage |
Non-Patent Citations (1)
Title |
---|
LESEA, Austin, ZAKS, Rodnag: Microprocessor Interface Techniken, SYBEX, 1979, S. 77-83 * |
Also Published As
Publication number | Publication date |
---|---|
DE3602851C2 (de) | 1989-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3844033C2 (de) | Speicherschaltung für ein Mikroprozessorsystem | |
EP0268285A2 (de) | Verfahren und Schaltungsanordnung zum Urladen eines Zweitrechners | |
EP0207255A1 (de) | Anordnung zum Bedienen und Warten einer Fernmelde- insbesondere Fernsprechvermittlungsanlage | |
EP0764906A2 (de) | Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems | |
DE4005042C2 (de) | Mehrrechnersystem zur Durchführung von Bewegungssteuerungen | |
DE2935101C2 (de) | ||
EP0799441B1 (de) | Verfahren zur steuerung von technischen vorgängen | |
DE2806409A1 (de) | Vorrichtung zur reduzierung der befehlsausfuehrungszeit bei einem rechner mit indirekter adressierung eines datenspeichers | |
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
DE2522343B2 (de) | Anordnung zur steuerung von verfahrensablaeufen | |
DE2720842C3 (de) | Datenübertragungssystem | |
EP0130269A2 (de) | Speicherprogrammierbare Steuerung | |
EP0064574B1 (de) | Anordnung zum Auslesen eindeutiger Informationen aus einem digitalen Schaltwerk bei zueinander asynchronen Steuersignalen für das Weiterschalten des Schaltwerkes und das Übernehmen der Informationen | |
DE2847479A1 (de) | Schablonenfamilien-schnittstelleneinrichtung | |
DE3602851A1 (de) | Datenverarbeitungssystem mit kurzen antwortzeiten auf aeussere ereignisse | |
DE2404887C2 (de) | Schaltungsanordnung für den Informationsaustausch mit einem Rechner | |
DE1267887B (de) | Fehlererkennungseinrichtung zur UEberwachung von Programmverzweigungen in datenverarbeitenden Maschinen | |
DE69027868T2 (de) | Datenverarbeitungssystem mit Mitteln zur Zustandserkennung der Befehle empfangenden Datenverarbeitungseinrichtung | |
EP1137997B1 (de) | Multimaster-bussystem und verfahren zum betreiben desselben | |
DE3129560C2 (de) | Steuerschaltung für einen Drucker | |
DE10063936A1 (de) | Interrupt Controller für einen Mikroprozessor | |
DE2606295C3 (de) | Anordnung zur Übertragung von Zeichen zwischen über einen Multiplexkanal ansteuerbaren peripheren Einheiten und einem Arbeitsspeicher eines Zentralprozessors | |
DE19830472B4 (de) | Externe Komponente für ein Mikroprozessorsystem und Betriebsverfahren | |
EP0586847B1 (de) | Verfahren zur Unterbrechungssteuerung von Prozessen in Kommunikationssystemen | |
DE2607685B2 (de) | Verfahren zum Betrieb von Prozessoren in einem Multiprozessorsystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |