PatentDe  


Dokumentenidentifikation DE2951055C2 30.08.1990
Titel Datenverarbeitungseinrichtung
Anmelder Honeywell Bull Inc., Minneapolis, Minn., US
Erfinder Inoshita, Minoru, Glendale, Ariz., US;
Winfrey, Gerald N., Billerica, Mass., US
Vertreter Rentzsch, H., Dipl.-Ing., Pat.-Ass.; Herzbach, D., Dipl.-Ing., Pat.-Ass., 6050 Offenbach
DE-Anmeldedatum 19.12.1979
DE-Aktenzeichen 2951055
Offenlegungstag 17.07.1980
Veröffentlichungstag der Patenterteilung 30.08.1990
Veröffentlichungstag im Patentblatt 30.08.1990
IPC-Hauptklasse G06F 13/28
IPC-Nebenklasse G06F 13/37   

Beschreibung[de]

Die vorliegende Erfindung bezieht sich auf eine Datenverarbeitungseinrichtung nach dem Gattungsbegriff des Patentanspruches 1.

Eine derartige Datenverarbeitungseinrichtung ist in einem Artikel mit dem Titel "DMA CONTROLLER CAPITALIZES ON CLOCK CYCLES TO BYPASS CPU" von Joseph Nissim in der Zeitschrift "Computer Design", Januar 1978, auf den Seiten 117-124 beschrieben. Dort können periphere Geräte unter Umgehung der Zentraleinheit direkt auf einen Speicher Zugriff nehmen. Zu diesem Zweck erzeugt eine Takteinheit Direktspeicher-Zugriffssignale, denen jeweils eine feste Position innerhalb einer Prioritätsstruktur zugeordnet ist, so daß gleichzeitig auftretende Anforderungen aufgelöst werden können. Beim Auftritt einer Direktspeicher-Zugriffsanforderung geht die Zentraleinheit in einen Wartestatus und es wird dem peripheren Gerät der Zugriff gewährt, dessen Anschlußkanal die höchste Priorität aufweist.

Ferner ist aus einem Aufsatz von Werner Diehl "Mikroprozessoren und Mikrocomputer" erschienen im Vogel-Verlag, Würzburg, 1977, Seiten 106-120, insbesondere Bild 3.11 eine serielle Prioritätsschaltung bekannt, bei der jedoch die Bearbeitung der Unterbrechungsanforderung unter Mitwirkung der Zentraleinheit erfolgt.

Ausgehend von diesem Stand der Technik ist es die Aufgabe der vorliegenden Erfindung, bei einer Datenverarbeitungseinrichtung mit einem Direktspeicherzugriff eine flexible Prioritätszuweisung mit einfachen schaltungstechnischen Mitteln vornehmen zu können. Die Lösung dieser Aufgabe gelingt gemäß den kennzeichnenden Merkmalen des Patentanspruches.

Bei der Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung, ist die Priorität der peripheren Geräte, die einen Direktspeicherzugriff auslösen können, durch die Reihenfolge vorgegeben, in der diese angeordnet sind, wobei einem Direktspeicher-Zugriffszyklus auch mehrere Geräte zugeordnet sein können.

Anhand eines in den Zeichnungen dargestellten Ausführungsbeispieles sei im folgenden die Erfindung näher beschrieben. Es zeigt

Fig. 1 die Systembus-Zeittaktzyklen,

Fig. 2 ein Blockdiagramm des erfindungsgemäßen Systems,

Fig. 3 ein detailliertes Logikdiagramm der Einrichtung mit umlaufender Priorität und

Fig. 4 ein Zeittaktdiagramm der DMA-Prioritätslogik, die mit den Systembussignalen zusammenwirkt.

Fig. 1 zeigt den Systembus-Zeittaktzyklus, wobei der Takt des Datenbus von demjenigen des Adreßbus um 305 ns verschoben ist. Der DMA1-Zeittakt ist für die Anzeige auf einer Kathodenstrahlröhre reserviert. Weitere periphere Subsysteme sind den Zeittakten DMA2, DMA3 und DMA4 zugeordnet. Der Systembus ist für den Mikroprozessor bei den CPU-Zeittaktzyklen verfügbar.

Fig. 2 stellt ein Blockdiagramm eines Teiles des gesamten Terminalsystems dar, welches ein Mikroprozessor-Subsystem 4, ein Speicher-Subsystem 10, ein Kathodenstrahlröhren-Subsystem (CRT-Subsystem) 12 mit einer CRT-Steuerung 12-2 und einem DMA-Verbindungs/Synchronisierer (Datenverbindung und Synchronisierung) 12-4, eine Zeittakt- und Steuerlogik 2, einen DMA-Prioritätsschaltkreis bzw. Prioritätsnetzwerk 6 und Steuereinrichtungen (Option "N" Steuerung) 14a, 14b, . . . mit Option "N" Datenverbindung und Synchronisierungen 22a, 22b, . . . umfaßt. Der Datenbus 16, der Adreßbus 18 und ein Steuerbus 20 stehen mit den zuvor erwähnten Subsystemen in der in Fig. 2 gezeigten Weise in Verbindung.

Die Zeittakt- und Steuerlogik 2 erzeugt die Bus-Zeittaktsignale CPUADR- und CPUDAT-, die die CPU-Zeittaktzyklen des Adreßbus 18 und des Datenbus 16 darstellen.

Der DMA-Prioritätsschaltkreis 6 erzeugt die zyklisch aufeinanderfolgenden Signale (Zeittaktsignale) DMAK10, DMAK20, DMAK30 und DMAK40. Das Zeittaktsignal DMAK10 definiert die DMA1-Zeittaktzyklen des Adreßbus 18 und des Datenbus 16. In gleicher Weise definieren die Zeittaktsignale DMAK20-DMAK40 die Zeittaktzyklen DMA2-DMA4.

Eine Option "N" kann seriell in eine Zeittaktsignalleitung eingeschaltet werden und während dieses DMA-Zyklus wirksam sein. Gemäß Fig. 2 wird die Option "N" seriell in das Zeittaktsignal DMAK20 eingeschaltet und ist während der DMA2-Zykluszeit des Adreßbus 18 und des Datenbus 16 wirksam. Andere nicht dargestellte Optionen, die während der DMA2-Zykluszeit wirksam sein können, können seriell in die Fortsetzung der Signalleitung DMAK20, bzw. der Signalleitungen DMAK21, DMAK22, usw. eingeschaltet werden.

Andere Optionen können seriell in die Zeittaktsignalkette DMAK30, DMAK31, DMAK32, usw. eingeschaltet werden und während des Zeittaktes DMA3 wirksam sein oder sie können seriell in die Zeittaktsignalkette DMAK40, DMAK41, DMAK42 usw. eingeschaltet werden und während des Zeittaktes DMA4 wirksam sein.

Das Kathodenstrahlröhren-Subsystem 12 ist in die Zeittaktsignalleitung DMAK10 eingeschaltet und im Zeitpunkt DMA1 wirksam. Da das Kathodenstrahlröhren-Subsystem ein kontinuierliches Überschreiben des Bildschirms erfordert, ist der Zeittakt DMA1 der Kathodenstrahlröhre exklusiv zugeordnet.

Die Option "N" Datenverbindungen und Synchronisierungen (bzw. Verbindungs/Synchronisierer) 22a, 22b, die während der Zeittakte DMA2, DMA3 bzw. DMA4 wirksam sind, sind an Signalleitungen bzw. Betätigungssignale DMAREQ-02 bzw. DMAREQ-03 entsprechend geschaltet. Eine dieser Leitungen zeigt bei niedrigem Potential an, daß eine der Optionen "N" in dieser geschlossenen Kette Zugriff auf den zugeordneten DMA-Zyklus anfordert, und sie hindert die anderen Optionen "N" in dieser Kette am Zugriff auf diesen DMA-Zyklus. Gemäß Fig. 2 ist die Option "N" des Verbindungs/Synchronisierers 22a auf die Signalleitung DMAREQ-02 geschaltet und die Option "N+1" des Verbindungs/Synchronisierers 22b ist auf die Signalleitung DMAREQ-03 geschaltet.

Das Logiksignal DMAREQ+00 am Ausgang der Steuerung 12-2 fordert bei hohem Pegel über den Verbindungs/Synchronisierer 12-4 Zugriff zu dem Zyklus DMA1. Der Verbindungs/Synchronisierer 12-4 gibt das Logiksignal BUSAK1-02 aus, durch welches bei hohem Pegel durch Eingabe in die Steuerung 12-2 der Zugriff auf den Zyklus DMA1 bestätigt wird.

Jede Option "N" bzw. jedes Gerät, das während eines zugeordneten DMA-Zyklus an den Bus angeschaltet wird, übertragt oder empfängt Daten zu oder von dem Speicher-Subsystem über den Datenbus 16 unter einer Adresse, die durch die Option oder das Gerät festgelegt ist und über den Adreßbus 18 zu dem Speicher 10 gesendet wird. Das Mikroprozessor-Subsystem 4 wirkt mit dem Speicher 10 während CPU-Buszyklen zusammen. Die von der Zeittakt- und Steuerlogik 2 erzeugten Zeittaktsignale CPUPH1 und CPUPH2 schalten das Mikroprozessor-Subsystem 4 an den Adreßbus 18 und den Datenbus 16 an.

Fig. 3 zeigt den DMA-Prioritätsschaltkreis (bzw. -netzwerk) 6, bestehend aus einem Zähler 6-2 und einem Decodierer 6-4, und den DMA-Verbindungs/Synchronisierer 22a, der den restlichen Schaltkreis in Fig. 3 ausmacht. Der Zähler 6-2 erhöht seinen Zählstand jeweils um eins, wenn das Zeittaktsignal SRBIT3- den hohen Pegel einnimmt. In einer dem Fachmann geläufigen Art zeigen die Ausgangssignale PRICOD+01 und PRICOD+02 bei aufeinanderfolgenden positiven Impulsen des Zeittaktsignales SRBIT3- für den Zähler 6-2 den binären Zählstand von 00, 01, 10 und 11 nacheinander an. Die Signale PRICOD+01 und PRICOD+02 werden den Eingangsklemmen 1und 2 des Decodierers 6-4 zugeführt, der daraufhin bei aufeinanderfolgenden Zeittaktsignalen SRBIT3- die Ausgangssignale DMAK10-, DMAK20-, DMAK30- und DMAK40- ausgibt. Das Ausgangssignal REFRSH+00 des Zählers 6-2 wird bei jedem 16ten positiven Signalanstieg des Zeittaktsignales SRBIT3- auf den hohen Pegel gesetzt. Das Signal REFRSH+00 wird einem Freigabeeingang des Decodierers 6-4 zugeführt, was dazu führt, daß jedes 4. DMAK10- Signal während des Zeittaktes DMA1 den hohen Pegel beibehält. Dieser Zeittakt DMA1 wird benutzt, um den Speicher 10 aufzufrischen. Die Speicher-Auffrischoperation gehört nicht zum Verständnis der vorliegenden Erfindung und wird daher auch nicht weiter erörtert.

Die Steuerung der Option "N" fordert einen Zugriff auf den Speicher 10 an, indem das Signal MYDMAS, das einen Eingang des NAND-Gatters 22-2 bildet, auf den hohen Pegel gesetzt wird. Die Option "N" ist nach Belieben mit dem Signal DMAK20-10 in Reihe geschaltet, das durch Inverter 22-24 und 22-4 jeweils invertiert und danach als Signal DMAK20-20 dem NAND-Gatter 22-2 zugeführt wird. Das Signal DMAK20-20 definiert bei niedrigem Pegel die Zykluszeit DMA2. Das Signal DMAREQ-02 ist auf seine zugehörige Signalleitung geschaltet und nimmt den hohen Pegel ein, wenn keine andere mit der Signalleitung DMAK20-10 in Reihe geschaltete Option Zugriff auf den Speicher 10 angefordert hat. Das Signal DMAREQ-02 bildet einen Eingang des NAND-Gatters 22-2. Das Signal MYDMAG- am Eingang des NAND-Gatters 22-2 weist den hohen Pegel auf. Wenn die vier Eingangssignale des NAND-Gatters 22-2 den hohen Pegel aufweisen, so nimmt das Ausgangsignal, das auf den Eingang K des Flip-Flops 22-6 geschaltet ist, den niedrigen Pegel ein. Die Zeittakt- und Steuerlogik 2 erzeugt ein Tastsignal DEVSTR-, das durch den Inverter 22-22 invertiert wird. Das Ausgangssignal DEVSTR+ wird dem Takteingang des Flip- Flops 22-6 zugeführt, das mit dem Anstieg dieses Signals DEVSTR+ gesetzt wird. Das Flip-Flop 22-6 kann bei jedem Anstieg des Taktsignales DEVSTR+ gesetzt werden, wenn das Signal DMAK20-10 den hohen Pegel aufweist und kein anderes Gerät der Kette einen Zugriff auf den Speicher 10 fordert. Das Flip-Flop 22-6 ist ein JK-Flip-Flop des Typs 24S109. Das Flip-Flop 22-6 gibt das Ausgangssignal MYDMAS+ aus, das als Eingangssignal einem ODER- Gatter 22-8 zugeführt wird, worauf dessen Ausgangssignal DMAK21- den hohen Pegel einnimmt und dadurch andere Optionen während des Zyklus DMA2 am Wirksamwerden hindert. Das Signal MYDMAF+ wird durch einen Inverter 22-10 invertiert, wobei dessen Ausgangssignal DMAREQ-02 an den zugeordneten Bus geschaltet ist und dem Eingang des NAND-Gatters 22-2 als Eingangssignal zugeführt wird. Dieses Signal verhindert bei niedrigem Pegel ein Wirksamwerden anderer Optionen während des Zeittaktzyklus DMA2, indem es das Ausgangssignal des NAND-Gatters 22-2 auf den hohen Pegel setzt. Es sei darauf verwiesen, daß der hier beschriebene Schaltkreis für jede Option vorgesehen ist. Das Signal DMAREQ-02 ist mit dem Eingang des NAND-Gatters 22-2 für jede Option verbunden, die an die Signalleitungen DMAK21- und DMAREQ-02 angeschlossen ist.

Die Optionen, die während eines bestimmten Zyklus DMA wirksam sind, sind nach Art einer geschlossenen Kette verdrahtet. Anfänglich besitzt die Option, die an den DMA-Prioritätsschaltkreis 6 am nächsten angeschlossen ist, die höchste Priorität und die Option die am weitesten von dem DMA-Prioritätsschaltkreis 6 entfernt ist, d. h. die sich am Ende der geschlossenen Kette befindet, die niedrigste Priorität. Der auf dem hohen Pegel verbleibende Ausgang des ODER-Gatters 22-8 hindert Optionen mit niedriger Priorität während des Zyklus DMA2 am Zugriff zu dem Speicher 10, und das Ausgangssignal des Inverters 22-10 mit hohem Pegel hindert Optionen mit höherer Priorität am Zugriff zu dem Speicher 10 während dieses Zyklus DMA2.

Das Signal DMA20-10 wird durch den Inverter 22-24 invertiert und Eingängen von UND-Gattern 22-12 sowie 22-14 zugeführt. Das Signal MYDMAF+ ist mit einem anderen Eingang des UND-Gatters 22-12 verbunden. Das Zeittaktsignal CPUADR- des Adreßbus 18 ist mit dem dritten Eingang des UND-Gatters 22-12 verbunden. Das Signal CPUADR- schaltet bei hohem Pegel die gültigen DMA-Adreßsignale auf den Adreßbus 18. Wenn die drei Eingangssignale des UND-Gatters 22-12 den hohen Pegel aufweisen, so nimmt dessen Ausgangssignal MYDMAA den hohen Pegel ein, wodurch der Steuerung 14a für die Option "N" signalisiert wird, daß sie die Speicheradresse auf dem Adreßbus 18 zu senden hat. Das Signal MYDMAF- ist mit dem einen Eingang eines NOR-Gatters 22-16 verbunden und setzt bei niedrigem Pegel dessen Ausgangssignal auf den hohen Pegel. Das Ausgangssignal des NOR-Gatters 22-16 ist mit einem weiteren Eingang des UND-Gatters 22-14 verbunden. Das Zeittaktsignal CPUDAT- des Datenbus 16 wird von der Zeittakt- und Steuerlogik 2 erzeugt und durch einen Inverter 22-20 invertiert.

Das Ausgangssignal CPUDAT+ ist mit einem weiteren Eingang des UND-Gatters 22-14 verbunden. Wenn die drei Eingangssignale des UND-Gatters 22-14 den hohen Pegel aufweisen, so nimmt das Ausgangssignal MYDMAD den hohen Pegel ein und signalisiert hierdurch der Steuerung 14a entweder das Senden oder den Empfang von Daten über den Datenbus 16.

Das Signal MYDMAA ist ferner mit dem Eingang J eines JK-Flip- Flops 22-18 verbunden. Wenn das mit dem Takteingang dieses Flip- Flops verbundene Taktsignal DEVSTR+ den hohen Pegel einnimmt, so wird dieses Flip-Flop gesetzt und das Ausgangssignal MYDMAG- nimmt den niedrigen Pegel ein. Das Signal MYDMAG- ist mit einem Eingang des NOR-Gatters 22-16 verbunden und setzt dessen Ausgangssignal auf den hohen Pegel, um sicherzustellen, daß das Signal MYDMAD am Ausgang des UND-Gatters 22-14 auf dem hohen Pegel verbleibt, nachdem das Signal CPUDAT+ auf den niedrigen Pegel umgeschaltet hat.

Das Ausgangssignal MYDMAG+ des Flip-Flops 22-18 setzt den Eingang J des Flip-Flops 22-6 auf den hohen Pegel. Das Ausgangssignal des NAND-Gatters 22-2 nimmt ebenfalls den hohen Pegel ein, da das Eingangssignal DMAREQ-02 des NAND-Gatters 22-2 den niedrigen Pegel aufweist. Der Eingang K des Flip-Flops 22-6 befindet sich somit auf dem hohen Pegel, so daß dieses Flip- Flop beim nächsten Signal DEVSTR+ zurückgesetzt wird. Das Rücksetzen des Flip-Flops 22-6 hat zur Folge, daß das Anforderungssignal DMAREQ-02 am Ausgang des Inverters 22-10 den hohen Pegel einnehmen kann. Da das Flip-Flop 22-6 nicht gesetzt werden kann, bevor das Flip-Flop 22-18 zurückgestellt ist, kann eine andere Option in der Kette den nächsten Buszyklus DMA2 anfordern. Es kann eine Forderung bestehen, daß diese Option Zugriff zu dem Speicher 10 bei aufeinanderfolgenden Zyklen DMA2 nimmt. In diesem Fall wird das Signal SMAREQ-02 am Eingang des NAND-Gatters 22-2 entfernt, so daß das Flip-Flop 22-6 gesetzt werden kann und ein Zugriff zu dem Speicher 10 während des nächsten Buszyklus DMA2 erfolgen kann, wenn dies durch das Signal MYDMAS der Steuerung 14a gefordert wird.

Das Ausgangssignal MYDMAA nimmt den niedrigen Pegel ein, wenn das Flip-Flop 22-6 zurückgestellt wird, da das Signal MYDAF+ am Eingang des UND-Gatters 22-12 den niedrigen Pegel einnimmt. Hierdurch wird das Flip-Flop 22-18 beim nächsten Anstieg des Taktsignales DEVSTR+ zurückgestellt, da beide Signale MYDMAA und MYDMAF+ an den Eingängen J und K den niedrigen Pegel besitzen.

Fig. 4 zeigt ein Zeittaktdiagramm zur Erläuterung der DMA- Prioritätsauswahl. Die Zeittaktsignale CPUPH1 und CPUPH2 sind zur Veranschaulichung der Beziehung des Mikroprozessor-Subsystems 4 zu den DMA-Zyklen dargestellt. Das Signal CPUADR- legt die Zeit fest, in der DMA-Adreßsignale auf dem Adreßbus 18 vorliegen. Das Signal CPUDAT- legt die Zeit fest, in der DMA-Datensignale auf dem Datenbus 16 vorliegen. Das Signal DEVSTR+ gibt die Zeit vor, in der periphere Geräte mit dem Speicher 10 in Verbindung treten können. Bestimmte Flip-Flops werden mit dem Anstieg dieses Signals gesetzt.

Durch das Signal DMAK20-10 wird der Buszyklus DMA2 definiert. Das Signal MYDMAF+ wird bei jedem Anstieg des Taktsignales DEVSTR+ gesetzt, wenn das Signal DMAK20-10 den hohen Pegel aufweist. Das Signal MYDMAG+ wird beim Anstieg des Taktsignales DEVSTR+ gesetzt, wenn das Signal MYDMAF+ den hohen Pegel besitzt.

Die Signale MYDMAA und MYDMAD werden durch die Signale CPUADR- und CPUDAT- vorgegeben. Es sei darauf verwiesen, daß das Signal MYDMAF+ bei jedem Anstieg des Taktsignales DEVSTR+ den hohen Pegel einnehmen kann, mit Ausnahme dort, wo das Taktsignal mit dem Buchstaben A bezeichnet ist. Der gestrichelte Teil des Signales MYDMAF+ zeigt den Anstieg dieses Signales auf den hohen Pegel beim Anstieg des Taktsignales DEVSTR+ auf den hohen Pegel, wobei dieser Anstieg mit dem Buchstaben B bezeichnet ist.


Anspruch[de]
  1. Datenverarbeitungseinrichtung mit einem gemeinsamen Systembus, an den zum direkten Zugriff auf einen Speicher ein Prozessor und mehrere periphere Subsysteme angeschlossen sind, wobei die peripheren Subsysteme mehrere in Reihe geschaltete Geräte umfassen können, denen ein zyklischer Zugriff auf den Bus während spezifischer Zeitabschnitte des gesamten Buszugriffszyklus gewährt wird und mit einer den Buszugriff durch Ausgabe von Direkt-Speicherzugriffssignalen steuernden Zeittakt- und Steuerlogik, gekennzeichnet durch
    1. a) eine über Schaltbrücken an ein von der Zeittakt- und Steuerlogik (2) angesteuertes DMA-Prioritätsnetzwerk (6, 6-2, 6-4) anschließbare Steuereinrichtung (14a, 22a; 14b, 22b) in jedem Gerät (Option N, Option N+1, usw.), wobei das DMA-Prioritätsnetzwerk (6, 6-2, 6-4) zyklisch aufeinanderfolgende Signale (DMAK10-DMAK40) erzeugt, die den Direktspeicher-(DMA)-zugriff für jedes Gerät (Option N, Option N+1, usw.) definieren; und
    2. b) einen Schaltkreis (22-2 bis 22-24) in jeder Steuereinrichtung (14a, 22a; 14b, 22b), der an die Schaltkreise (22-2 bis 22-24) der Steuereinrichtungen (14a, 22a; 14b, 22b) der Geräte (Option N, Option N+1, usw.) in der Daisy Chain Technik angeschlossen ist und dem die zyklisch aufeinanderfolgenden Signale (DMAK10-DMAK40) entsprechend dem spezifischen Zeitabschnitt für dieses Gerät (Option N) zugeführt werden, die entweder zu der Steuereinrichtung (14b, 22b) des folgenden Gerätes (N+1) übertragen werden oder für den Fall, daß eine Zugriffsanforderung des zyklisch aufeinanderfolgenden Signales (DMAK10) vorliegt und keinem anderen Gerät (Option N+1) ein Buszugriff gestattet ist, ein Bestätigungssignal (DMAREQ-1 . . . DMAREQ-3) erzeugt und die Weitergabe der zyklisch aufeinanderfolgenden Signale (DMAK10-DMAK40) zu dem folgenden Gerät (Option N+1) sperrt.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

  Patente PDF

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com