METHOD AND DEVICE FOR DATA TRANSFER CONTROL BETWEEN THE FUNCTIONAL UNITS OF A DATA PROCESSOR

Abstract: 1. A method of controlling the data transport between individual function units of a data processing system, using a central bus system which is common to all the function units and which comprises a data bus and a control bus, wherein the instruction-giving function unit, which engages in data transport with another instruction-receiving function unit within the data processing system, transmits a request signal to a central bus administrator (BV) which carries out a priority check on the instruction-giving function unit followed by a priority allocation, whereupon an item of control information made available in a transmitting register of the instruction-giving function unit is conducted via the control bus and received by the instruction-receiving function unit, characterized in that the transmission direction of the data on the data bus (DBUS) is indicated by an appropriate coding of the control information on the control bus for write and read, only the instruction-giving function unit conducts a dialogue with the bus administrator, and bus transmitters of the instruction-giving function unit are switched on by the bus administrator in order to write on the data bus, whereas bus transmitters of the instruction-receiving function unit are switched on by the function unit itself in order to emit an indication signal which is specifically coded for the instruction-giving function unit and which indicates the success or failure of a data transmission on a fault reaction bus or data which is possibly to be read on the data bus, as soon as said function unit recognises a relevant item of control information directed towards itself, as a result of constant interrogation of the control bus.

Description: Verfahren und Schaltungsanordnung zur Steuerung des DatentransporS zwischen einzelnen Funktionseinheiten einer Datenverarbeitungsanlage Die Erfindung bezieht sich auf ein Verfahren zur Steue- rung des Datentransports zwischen einzelnen Funktionseinheiten einer Datenverarbeitungsanlage gemäss dem Oberbegriff des Patentanspruchs 1. Eine der Hauptaufgaben bei der Entwicklung von elektronischen Datenverarbeitungsanlagen besteht bekanntlich darin, immer mehr Daten in. immer kUrzerer Zeit zu verarbeiten. Neben der Entwicklung schneller Speicher mit entsprechend kurzen Zugriffszeiten, kommt es dabei insbesondere auch auf einen schnellen Datentransfer zwischen den einzelnen Komponenten an. Der vorliegenden Erfindung liegt deshalb die Aufgabe zugrunde, ein Verfahren gemäss den Merkmalen des Oberbegriffs des Patentanspruchs 1 in der Weise zu verbessern, dass der Datentransport zwischen den verschiedenen Funktionseinheiten der Datenverarbeitungsanlage mit möglichst grosser Geschwindigkeit durchgeführt werden kann. Die Lösung dieser Aufgabe ergibt sich erfindunsgemäss aus den kennzeichnenden Merkmalen des catentanscruchs 1. Der Vorteil dieses Verfahrens besteht vor allem darin, dass durch die zentrale Anbindung aller Funkzionsein- heiten an den Busverwalter jede ##ur.ktionseinheit eine etwaige Datentrans#ort-Anforderurg ohne Wartezeit sofort über eine eigene Steuerleitung an den Busverwalter abgeben kann, der dann, sofern auf dem Bussystem kein anderer Busverkehr stattfindet, die Durchführung des Datentransportes durch Rückmeldung eines Freigabesignals unmittelbar auslöst. Um zu verhindern, dass irgendeine Funktionseinheit durch stetiges Aussenden neuer Anforderungssignale andere Funktionseinheiten über einen längeren Zeitraum sperren kann, ist gemäss einer vorteilhaften Ausgestaltung des erfindungsgemässen Verfahrens vorgesehen, dass neue Anforderungssignale einer oder mehrerer, unmittelbar vorher noch aktiver Funktionseinheiten in ihrer Priorität für eine vorgegebene feste Zeit zurückgestuft werden, so dass Anforderungssignale von anderen Funktionseinheiten mit ur sprunglich niedrigerer Priorität bevorzugt werden. Weitere vorteilhafte Ausgestaltungen der Erfindung, insbesondere in Verbindung mit einer Schaltungsanordnung zur Durchführung des erfindungsgemässen Verfahrens sind in den Unteransprüchen angegeben. Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung näher erläutert. Dabei zeigen: FIG 1 den prinzipiellen Aufbau einer Datenverarbei tungsanlage gemäss der Erfindung, FIG 2 ein Blockschaltbild für den in der Anordnung ge mäss FIG 1 vorgesehenen Busverwalter, FIG 3 ein Schaltungsbeispiel einer Prioritätsschaltung für zwei rUckstufbare Funktionseinheiten. Die FIG 1 zeigt den prinzipiellen Aufbau einer Datenverarbeitungsanlage, deren einzelne Funktionseinheiten FEI. .5, beispielsweise ein Ein-/Ausgabeprozessor EAP, Kanalwerke, Ansteuerungen für Peripheriegeräte und ein Zubringerwerk ZUW für die Abwicklung des Datenverkehrs zum Speicher, über ein zentrales Bussystem miteinander verknüpft sind. Dieses Bussystem besteht im einzelnen aus einem Datenbus D-BUS mit z.B. 32 Bits und 4 Paritätsbits, einem Steuerbus C-BUS mit z.B. 11 Bits + 1 Paritätbit und einem Fehler-Reaktionsbus E-BUS mit z.B. 4 Bits. Zur Steuerung des Datentransportes zwischen den einzelnen Funktionseinheiten FE1...5 dient ein sogenannter Busverwalter BV, der über einzelne Steuerleitungen sternförmig mit sämtlichen Funktionseinheiten verbunden ist. Das Zubringerwerk ZUW kann abweichend von den anderen Funktionseinheiten den Steuerbus C-BUS nur empfan- gen und ist mit dem Busverwalter BV nur über eine Antwortleitung ZUWA und eine Fehlermeldeleitung ZUWFEHL verbunden. Datentransporte zwischen den Funktionseinheiten und dem Zubringerwerk ZUW werden z.B. durch das OO-Bit (ZUW) auf dem Steuerbus C-BUS gekennzeichnet. Bei einem Datentransport werden auf dem Steuerbus C-BUS stets Steuerdaten von einer aktiven, auftraggebenden Funktionseinheit zu einer passiven, auftragnehmenden Funktionseinheit übertragen. Mit dem Datentransport ist im allgemeinen eine Übertragung von Daten über den Datenbus D-BUS verbunden. Diese Übertragung erfolgt entweder von der auftraggebenden Funktionseinheit zur auftragnehmenden Funktionseinheit (Schreiben) oder umgekehrt (Lesen). Informationen über den Erfolg oder Misserfolg der Datenübertragung werden für jeden Datentransport auf dem Fehler-Reaktionsbus E-BUS nur vom Auftragnehmer transportiert. Die Ubertragungsrichtung auf dem Datenbus D-BUS wird z.B. durch das Ol-Bit auf dem Steuerbus C-BUS bestimmt, das als Richtungsbit bezeichnet wird und z.3. bei einem Lesebefehl mit einer "1" und bei einem Schreibbefehl mit einer "O" markiert wird. Um einen Datentrans port anzufordern, meldet sich der Auftraggeber zunächst mit einem Anforderungssignal beim Busverwalter BV. Der Busverwalter schaltet nun die Steuerbus-Information, die insbesondere die Adresse für die anfordernde Funktionseinheit enthält, und im Falle eines Schreibbefehles auch die Datenbus-Information des Auftraggebers auf den Steuer- bzw. Datenbus. Zum Abschluss des Datentransports schickt der Busverwalter ein Busantwortsignal an den Auftraggeber. Der Auftragnehmer erkennt aus der Codierung der Steüerbus-Information, dass er adressiert wurde, übernimmt bei Schreiben die Information des Datenbusses bzw. sendet bei Lesen die Datenbus-Information und meldet den Erfolg bzw. Misserfolg über den Fehler-Reaktionsbus zur auftraggebenden Funktionseinheit. Jeder Datentransport benötigt einen Buszyklus, der z.B. für Schrei ben zwei Takte und für Lese drei Takte erfordert. Beim Datentransport mit Sonderfunktionseinheiten dauert das Lesen z.B. vier Takte. Beim Datentransport mit dem Zubringerwerk wird die Ausführungszeit durch das Zubringerwerk bestimmt, dauert mindestens drei Takte und wird mit dem Antwortsignal ZUWA dem Busverwalter BV gemeldet. Der Buszyklus wird stets von der auftraggebenden Funktionseinheit beim Busverwalter BV angefordert. Die Buszuteilung erfolgt - ohne Meldung - durch direktes Einschalten der benötigten Bus sender des Auftraggebers durch den Busverwalter. Eine Meldung des Busverwalters an die auftraggebende Funktionseinheit erfolgt lediglich abschliessend, um die Wegnahme des Anforderungssignales zu veranlassen. Die auftragnehmende Funktionseinheit führt keinen Dialog mit dem Busverwalter. Sie erkennt einen für sie bestimmten Auftrag durch ständiges Abfragen ihres Steuerbus-Empfängers und schaltet dann - im Gegensatz zum Auftraggeber - ihre Antwort selbst auf den Fehler-Reaktionsbus E-BUS und gegebenenfalls auch auf den Datenbus D-3US. Der schaltungstechnische Aufbau und die Funktionsweise des Busverwalters werden im folgenden anhand des in der FIG 2 dargestellten Blockschaltbildes näher erläutert. Unter der Voraussetzung, dass der Busverwalter BV über ein Prioritäts-Freigabesignal PENF freigegeben wird, werden die von verschiedenen Funktionseinheiten ankommenden Anforderingssignale BUSR X mit X = 1...5 für die Funktionseinheiten FE1...5 entsprechend ihrer in der Prioritätsdecodierstufe PD festlegbaren Priorität mit dem Prioritätssignal PEN decodiert und mit einem Signal PENA in ein Prioritätsflipflop PF eingetaktet. Der Ausgang des Prioritätsflipflops PF erzeugt jeweils ein dem jeweiligen Anforderungssignal BUSR1...5 und damit ein der jeweiligen Funktionseinheit 1...5 zugeordnetes Busfreigabesignal BE X 1...5. Aus je einem dieser Signale BE 1...5 wird über eine logische Verknüpfung, z.B. über einen Treiber T ein Steuerbus-Freigabesignal CBE X für die jeweils anfordernde Funktionseinheit erzeugt. Aufgrund dieses Steuerbus-Freigabesignals CBE X sendet nun die ausgewählte Funktionseinheit ihre codierte Steuerinformation auf den Steuerbus C-BUS. Das in der Steuerinformation enthaltene Richtungsbit C-BUS 01 wird entsprechend der Befehlsart Schreiben oder Lesen - dahingehend ausge,wertet, dass ein am invertierten Ausgang eines UND-Gliedes U1 anliegendes Richtungsbit C-BUS Ol = O (Schreibsignal W) über ein D-Flipflop F1 ein Datenbus-Freigabesignal DBE X erzeugt. Das Vorhandensein eines Steuerbus-Freigabesignals CBE wird über das aus dem Susfreigabesignal BE 1... 5 über eine OEDER-Schaltung OR1 erzeugte Sammelsignal SBE erkannt. Über dieses Sammelsignal SBE wird unter anderem ein Busverwaltungszähler BVZ angesteuert, der aus einer Multiplexerschaltung MU"X BVZ und zwei Flip-Flops FF BVZ besteht. Die Zahlerstände BVZ O, BVZ 1 werden unter ilnbe- ziehung weiterer Meldungen über eine Mehrfach-UND/ODER- Verknüpfung MUOR zur Erzeugung des Busantwort-Anforderungssignals BUSAA ausgewertet. Wenn ein Datentransport mit dem Busantwort-Anforderungssignal BUSAA beendet wurde, wird der Busverwaltungszähler aus jeder Zählerstellung in die Stellung BVZ = 3 (BVZ0 = O, BVZ1 = 1) gebracht und bleibt dort bis zur Bearbeitung eines neuen Datentransportes. Wenn die Bearbeitung eines Datentransportes vom Busverwalter begonnen wird, d.h. ein Busanforderungssignal BUSR ausgewählt und weiter ein Busfreigabe signal BEX und daraus ein Sammelsignal SBE erzeugt wird, dann wird der Busverwaltungszähler in die Stellung BVZ =0 (3VZO = O, BVZ1 = 0) gebracht und über das Sammelsignal S3E das Prioritäts-Freigabesignal PENF unterdrückt, so dass, solange ein Buszyklus abläuft, kein neues Busanforderungssignal BUSR angenommen wird. Wenn das Zubringerwerk nicht adressiert ist (ZUW ist nicht gültig) wird: a) bei Schreiben (Schreibsignal W) der Busverwaltungs zähler in der Stellung BVZ = 0 ausgewertet und über das Busantwort-Anforderungssignal BUSAA zwei Takte nach Akzeptieren des Busanforderungssignals BUSR X durch Verknüpfung mit dem jeweils zugehörigen Bus freigabesignal BE X über ein UND-Glied U2 und ein D Flip-Flop F2 das Busantwortsignal BUSA X erzeugt; b) bei Lesen (Lesesignal R), sofern keine Sonderfunk tionseinheit angesprochen ist, der Busverwaltungs zähler in der Stellung BVZ = 1 (BVZ0 = O, BVZ1 = 1) ausgewertet und über das Busantwort-Anforderungssig nal BUSAA drei Takte nach Akzeptieren des Busanforde rungssignals BUSR das Busantwortsignal BUSA erzeugt; c) bei Lesen (Lesesignal R), sofern eine Sonderfunk ¯tionseinheit angesprochen ist, der Busverwaltur.gs- zähler in der Stellung BVZ = 2 (BVZO = 1, BVZ1 = O) ausgewertet und über das Busantwort-Anforderungssig nal BUSAA vier Takte nach Akzeptieren des Busanforde rungssignals BUSR das Busantwortsignal BUSA erzeugt. Wenn das Zubringerwerk adressiert ist (ZUW ist gültig), wird das Zubringerwerk-Antwortsignal ZUWA abgewartet und daraus über das Busantwort-Anforderungssignal BUSAA das Busantwortsignal BUSA für die auftraggebende Funktonseinheit erzeugt. Bei Fehlermeldung ZUWFEHL des Zubringerwerks ZUW wird bei der Stellung BVZ = 2 des Busverwaltungszählers der Buszyklus nach vier Takten mit dem Busantwortsignal BUSA beendet. Wenn das Zubringerwerk ZUW nicht reagiert, d.h., wenn es keine Fehlermeldung ZUWFEHL und kein Antwortsignal ZUWA erzeugt, wird über eine Zeit überw2chungsschaltung nach circa 15 Millisekunden der E-BUS mit dem Code 7 belegt (EB7). Der Busverwaltungszähler BVZ wird aus der inzwischen eingenommenen Ruhestellung BVZ = 3 in die Stellung BVZ = O gebracht, läuft dann ibs BVZ = 2 und beendet den Buszyklus. Eine Stop-Meldung EAP-STOP des Ein-/Ausgabeprozessors EAP wird nur dann von aussen wirksam, wenn keine Buszyklen mehr ablaufen, d.h., wenn das Prioritäts-Freigabesignal PENF gültig ist. Das Prioritätssignal PEN wird nur erzeugt, wenn das Prioritäts-Freigabesignal PENF vorliegt, der Ein-/Ausgabeprozessor nicht gestoppt ist und ausserdem ein zeitvermassendes Taktsignal PENB vorhanden ist. Das Taktsignal PENA wird ebenfalls nur erzeugt, wenn das Prioritätsfreigabesignal PENF gesetzt ist und zwei zeitvermassende Takte PENB und PEN: vorhanden sind. Anhand der FIG 3 wird die Wirkungsweise der Prioritätsrückstufung am Beispiel der Funktionseinheit FEl erläutert. Mit dem Busfreigabesignal BEI (LOAD) wird ein Zäh- ler COU 1 über die Dateneingänge DIN 0...3 tnit LOW vorbesetzt. Der Zählerausgang Z1 = 15 wird dadurch LOW und gibt das Zähler-Freig#besignal EN frei. Letzeres wird mit dem Prioritätsfreigabesignal PENF in das D Flipflop F3 übernommen, erzeugt an dessen Ausgang ZS1 = LOW und sperrt das UND-Glied U3 für das Busanforderungssignal BUSR1 für die Priorltätsstufe 1. Das Busanforderungssignal BUSR1 erhält dadurch die Prioritätsstufe 6. Der Zähler COUNT-1 wird mit dem 160-Nanosekundentakt bis zur Stellung 15 weitergezählt und bewirkt, dass nach 2,4 Microsekunden der Ausgang Z1 = 15 nach HIGH geht. Über das Zähler-Freigabesignal EN wird der Zähler C0UNT-1 gesperrt. Ausserdem wird mit dem Priori- tätsfreigabesignal PENF das HIGH-Signal in das D-Flipflop F3 übernommen, erzeugt an dessen Ausgang ZS1 = HIGH und gibt damit das UND-Glied U3 für das Busanforderungssignal BUSR1 für die Prioritätsstufe 1 frei.

Claims: PatentansDrüche 1. Verfahren zur Steuerung des Datentransports zwischen einzelnen Funktionseinheiten einer Datenverarbeitungsanlage, unter Verwendung eines allen Funktionseinheiten gemeinsamen, aus Datenbus, Steuerbus und Fehler-Reaktionsbus bestehenden zentralen Bussystems, d a d u r c h g k e n n z e i c h n e t , dass die jeweils aktive, einen Datentransport mit einer anderen, passiven Funktionseinheit der Datenverarbeitungsanlage anfordernde Funktionseinheit ein Anforderungssignal an einen Busverwalter sendet und eine über den Steuerbus zu leitende Steuerinformation in einem Senderegister bereitstellt, dass die nach einer Prioritätsprüfung des Anforderungssignals im Busverwalter nach entsprechender Rückmeldung an die aktive; ; auftraggebende Funktionseinheit an den Steuerbus übergebene Steuerinformation von der jeweils adressierten passiven, auftragnehmenden Funktionseinheit empfangen wird, dass die Übertragung der Daten auf dem Datenbus in Abhängigkeit von der Art des durch eine entsprechende Codierung der Steuerinformation festgelegten Datentransports ¯- Schreiben oder Lesen - entweder durch den Busverwalter oder durch die passive Funktionseinheit ausgelöst wird und dass der Erfolg oder Misserfolg der-Da- tçnübertragung mit Hilfe eines entsprechend codierten Fehlersignals von der passiven Funktionseinheit über den Fehler-Reaktionsbus an die aktive Funktionseinheit zurückgemeldet wird. 2. Verfahren nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t , dass neue Anforderungssignale einer oder mehrerer, unmittelbar vorher noch aktiven Funktionseinheiten zu ihrer Priorität für eine vorgegebene Zeit zurückgestuft werden, so dass Ahforderungssig- nale von Funktionseinheiten mit urstrünglich niedrigerer Priorität bevorzugt werden. 3. Schaltungsanordnung zur Durchführung des Verfahrens nach einem der Ansprüche 1 oder 2, d a durch g e k e n n z e i c h n e t , dass eine Prioritätsdecodierstufe (PD) vorgesehen ist, in der die Busanforderungssig nale USR X) der einzelnen Funktionseinheiten (FE 1...5) mit dem Prioritätssignal (PEN) decodiert werden, dass die decodierten Ausgangssignale der Prioritätsdecodierstufe (PD) einem durch ein Taktsignal (PENA) getaktetes Prioritäts-Flipflop (PF) zugeführt sind, welches jeweils ein der jeweiligen Funktionseinheit (FE 1...5) bzw. dessen Busanforderungssignal (BUSR 1...5) zugeordnetes Busfrei gabesignal (BE 1...5) erzeugt, dass dieses Busfreigabesignal (BE 1...5) einem Treiber (T) zur Erzeugung eines Steuerbus-Freigabesignals (CBE X) und einem ODER-Glied (OR1) zur Erzeugung eines Sammelsignals (SBE) und eines aus dem Sammelsignal (SBE) durch eine ODER-Verknüpfung (OR2) mit einem Busantwort-Anforderungssignal (BUSAA) gebildeten Prioritäts-Freigabesignals (PENF) zugeführt wird, dass das Busfreigabesignal (BE 1...5) ferner in je einem UND-Glied (U1, U2) mit einem Schreib signal (W) bzw. mit dem Busantwort-Anforderungssignal (BUSAA) zur Erzeugung eines Datenbus-Freigabeslgnals (DBE-X) bzw. Busantwortsignals (BUSA X) verknüpft ist und dass mit dem Sammelsignal (SBE) ein Busverwaltungszähler ansteuerbar ist, der aus einer Multiplexerschaltung (MITX BVZ) und zwei Flipflops (FF-BVZ) besteht und dessen beide Zählerstände (BVZ 0, BVZ 1) mit Meldesignalen, Lese- und Schreibsignalen (R, W) oder dergleichen über eine Mehrfach-UND/ ODER-Schaltung (MUoR) zur Erzeugung des Busantwort-An- forderungssignals (BUSAA) verknüpft werden. 4. Schaltungsanordnung nach Anspruch 3, d a d u r c h g e k e n n z e i c h n e t , dass zur Priorntätssteue- rung der Busanforderungssignale (BUSR 1...5) einzelner Funktionseinheiten (FE 1.. .5) für ausgewählte Busfreiga besignale (BE 1,2) je ein Zähler (COUNT 1, 2) vorgesehen ist, deren Ausgänge über je ein UND-Glied (UG1, 2) mit dem jeweils zugeordneten Busanforderungssignal (BUSR 1, 2) zur Ansteuerung der Prioritätsdecodierstufe (PD) verknüpft sind.

Inventors: STODOLKA, HEINZ, VOIGT, HEINZ
Applicants: COMPUTER GESELLSCHAFT KONSTANZ MBH
Application year: 1981
Main classification: G06F13
IPC codes: G06F13