DE3851445T2 - Durch Direktspeicherzugriff gesteuertes System. - Google Patents
Durch Direktspeicherzugriff gesteuertes System.Info
- Publication number
- DE3851445T2 DE3851445T2 DE3851445T DE3851445T DE3851445T2 DE 3851445 T2 DE3851445 T2 DE 3851445T2 DE 3851445 T DE3851445 T DE 3851445T DE 3851445 T DE3851445 T DE 3851445T DE 3851445 T2 DE3851445 T2 DE 3851445T2
- Authority
- DE
- Germany
- Prior art keywords
- dma
- signal
- memory
- data transfer
- control unit
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims description 70
- 238000012546 transfer Methods 0.000 claims description 127
- 230000004044 response Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 102100022404 E3 ubiquitin-protein ligase Midline-1 Human genes 0.000 description 1
- 101000680670 Homo sapiens E3 ubiquitin-protein ligase Midline-1 Proteins 0.000 description 1
- 101000766246 Homo sapiens Probable E3 ubiquitin-protein ligase MID2 Proteins 0.000 description 1
- 102100026310 Probable E3 ubiquitin-protein ligase MID2 Human genes 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Classifications
-
- 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
-
- 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/30—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
- Die vorliegende Erfindung betrifft ein System, das durch ein Verfahren mit direktem Speicherzugriff (im weiteren als DMA bezeichnet) gesteuert wird.
- Eine DMA-Steuereinheit wird z. B. in einem Computersystem verwendet, um die Belastung einer Zentraleinheit (CPU) zu reduzieren, indem Daten zwischen einem Arbeitsspeicher und einem Subspeicher und indem Daten zwischen einem Subspeicher und einem externen Speicher übertragen werden. Der "Arbeitsspeicher" bezieht sich auf den Systemspeicher, der eine Datenkommunikation mit der CPU durchführt, und wird auch als Hauptspeicher bezeichnet. Der "Subspeicher" ist der Speicher, der eine Datenkommunikation mit dem Arbeitsspeicher durchführt und z. B. einem sogenannten Cache-Speicher entspricht. Des weiteren ist der "Hilfsspeicher" ein externer Speicher, der z. B. einem Plattenspeicher entspricht. Für gewöhnlich ist eine Vielzahl von Plattenspeichern vorgesehen. Plattenspeicher, d. h. Hilfsspeicher, sind mit der DMA-Steuereinheit durch Hilfsspeicher-Steuereinheiten verbunden, d. h. durch Platten-Steuereinheiten, die entsprechend diesen vorgesehen sind. Ähnlich ist der Cache- Speicher mit der DMA-Steuereinheit durch eine Speicher-zu- Speicher-Übertragungs-Steuereinheit verbunden. In diesem Fall muß die Gesamtsumme aus der Summe (CPdk) der Datenübertragungsleistungsfähigkeit der jeweiligen Platten-Steuereinheiten und aus der Datenübertragungsleistungsfähigkeit (CPmm) der Speicher-zu-Speicher-Übertragungs-Steuereinheit (CPdk + CPmm) kleiner sein als die Datenübertragungsleistungsfähigkeit (CPdma) der DMA-Steuereinheit, d. h. CPdk + CPmm ≤ CPdma. Wenn das Ungleichungs-Symbol (< ) umgekehrt würde, würde die DMA- Steuereinheit aufgrund einer unzureichenden Leistungsfähigkeit ausfallen. In diesem Fall wäre es möglich, die Datenübertragungsleistungsfähigkeit der DMA-Steuereinheit zu erhöhen, um der unzureichenden Leistungsfähigkeit zu begegnen, aber dies würde eine Zunahme der Hardwaremenge der DMA-Steuereinheit erfordern und würde von einem ökonomischen Gesichtspunkt aus nicht vorteilhaft sein.
- Wie weiter unten im Detail beschrieben wird, ist ein Zustand des Subkanals (Steuerinformationen jeder der oben stehenden DMA-Steuereinheiten) in früher vorgeschlagenen DMA-Steuereinheiten nicht bekannt. Deshalb tritt, auch wenn die Anzahl der Datenübertragungsanforderungen maximal wird, eine gewisse Beschränkung auf, so daß die Datenübertragungsleistungsfähigkeit (CPdma) der DMA-Steuereinheit nicht überschritten wird. Diese Beschränkung bedeutet, daß die Datenübertragungsleistungsfähigkeit der Speicher-zu-Speicher-Übertragungs-Steuereinheit immer auf einem konstanten Niveau (z. B. 1 Mbyte) gehalten wird.
- Deshalb bleibt, wenn eine von zwei Plattensteuereinheiten keine Datenübertragungsanforderung an die DMA-Steuereinheit ausgibt - d. h., wenn in der Leistungsfähigkeit der DMA-Steuereinheit ein Spielraum vorhanden ist, trotzdem es möglich ist, die Übertragungsleistungsfähigkeit der Speicher-zu-Speicher- Steuereinheit um einen Betrag entsprechend dem Spielraum zu erhöhen - die Datenübertragungsleistungsfähigkeit der Speicherzu-Speicher-Übertragungs-Steuereinheit auf das gesetzte Niveau (z. B. 1 Mbyte) beschränkt. Deshalb ist in früheren DMA-Steuersystemen der Nachteil eines verschlechterten Datenübertragungs- Wirkungsgrads vorhanden.
- Die US-A-4 502 117 offenbart ein DMA-gesteuertes System gemäß dem Oberbegriff des beiliegenden Anspruchs 1. Dieses System enthält eine Busbelastungs-Variierungseinheit zum Durchführen eines Konkurrenztests, eines Maximalbelastungstests und einer System-Beurteilung, ohne daß die vielfachen DMA-Einheiten in dem System verbunden werden müssen. Eine Vorrichtung zum Bestimmen der Betriebsart steuert die Operationen eines Speichers und ist mit einem Taktimpulsgenerator verbunden, dessen Ausgang mit dem Ausgang eines Zeitdauer-Setzers verbunden ist, um ein Koinzidenzsignal zu erzeugen, wenn sie gleich sind, wobei der Setzer dazu verwendet wird, eine Prioritätsverteilungszeitdauer zu spezifizieren. Ein DMA-Bus- Anforderungssignal-Generator, der mit der Vergleichseinrichtung verbunden ist, erzeugt das DMA-Bus-Anforderungssignal in Übereinstimmung mit dem Koinzidenzsignal.
- Die vorliegende Erfindung bezieht sich auf das Problem des Bereitstellens eines DMA-Steuersystems, in dem der Datenübertragungs-Wirkungsgrad bei der DMA-Betriebsart auf das theoretisch maximal erreichbare Niveau verbessert wird.
- Gemäß der vorliegenden Erfindung wird ein DMA(direkter Speicherzugriff)-gesteuertes System bereitgestellt, das enthält:einen Arbeitsspeicher einen Subspeicher und eine Vielzahl von Hilfsspeichern;
- eine Speicher-zu-Speicher-Übertragungs-Steuereinheit zum Steuern einer Datenübertragung zwischen dem Arbeitsspeicher und einem Subspeicher, betreibbar bei einer variablen Datenübertragungsgeschwindigkeit;
- eine Vielzahl von Hilfs-Steuereinheiten zum Steuern der Datenübertragung zwischen dem Subspeicher und den Hilfsspeichern, betreibbar bei einer konstanten Datenübertragungsgeschwindigkeit; und
- eine DMA-Steuereinheit, die funktionsfähig ist, sowohl die Speicher-zu-Speicher-Übertragungs-Steuereinheit als auch die Hilfs-Steuereinheiten zu steuern, um eine Datenübertragung mit direktem Speicherzugriff (DMA) zu erreichen;
- dadurch gekennzeichnet, daß :die DMA-Steuereinheit in sich eine Prioritätsniveau- Entscheidungseinrichtung zum Erzeugen von Signalen verwendet, die angeben, ob jede der Hilfs-Steuereinheiten gerade dabei ist, Daten zu übertragen oder nicht, indem Signale (DMA REQ) von den Hilfs-Steuereinheiten zum Anfordern einer DMA- Datenübertragung empfangen werden; und
- die Speicher-zu-Übertragungs-Steuereinheit in sich eine Zustands-Unterscheidungseinrichtung, d. h. eine Zustands- Detektions/Bestimmungs-Einrichtung, und eine DMA-Anforderungssignal-Erzeugungseinrichtung verwendet, wobei die Zustands-Unterscheidungseinrichtung funktionsfähig ist, Signale zu empfangen, die von der Prioritätsniveau-Entscheidungseinrichtung ausgegeben werden, und wenn jede der Hilfs-Steuereinheiten Daten überträgt, Signale zum Spezifizieren einer Verringerung der Datenübertragungsgeschwindigkeit der Speicher-zu-Speicher-Übertragungs-Steuereinheit zu erzeugen, und wobei die DMA-Anforderungssignal-Erzeugungseinrichtung betriebsfähig ist, ein Zeitintervall zum Ausgeben der Signale (DMA REQ) zum Anfordern einer DMA-Datenübertragung, die von der Speicher-zu-Speicher- Übertragungs-Steuereinheit zu der Prioritätsniveau-Entscheidungseinrichtung ausgegeben werden sollen, in Antwort auf Signale zu verlängern, die von der Zustands-Unterscheidungseinrichtung ausgegeben werden.
- Die Erfinder der vorliegenden Erfindung haben Verwendung von der nachfolgenden Idee gemacht. Wenn es einen Spielraum in der Datenverarbeitungsleistungsfähigkeit einer DMA-Steuereinheit gibt, kann die Datenübertragungsgeschwindigkeit zwischen einem Subspeicher und einem Arbeitsspeicher schneller gemacht werden. Umgekehrt, wenn es keinen Spielraum in der Datenverarbeitungsleistungsfähigkeit einer DMA-Steuereinheit gibt, kann sie langsamer gemacht werden. Beachtet man dies, kann die Speicher-zu-Speicher-Übertragungs-Steuereinheit derart aufgebaut werden, daß die Speicher-zu-Speicher-Datenübertragungsgeschwindigkeit in Übereinstimmung mit dem Belastungszustand der DMA- Steuereinheit automatisch änderbar ist.
- Bezug wird nun beispielhaft auf die beiliegenden Zeichnungen genommen, in denen:
- Fig. 1 ein Blockdiagramm ist, das den schematischen Aufbau eines früher vorgeschlagenen DMA-gesteuerten Systems zeigt;
- Fig. 2 ein Blockdiagramm ist, daß das Prinzip eines DMA- gesteuerten Systems der vorliegenden Erfindung zeigt;
- Fig. 3 ein Blockdiagramm ist, das ein Beispiel der Speicher-zu-Speicher-Übertragungs-Steuereinheit zur Verwendung in der vorliegenden Erfindung zeigt;
- Fig. 4 eine Ansicht ist, die ein Beispiel einer Unterscheidungslogik eines Unterscheiders der Fig. 3 zeigt;
- Fig. 5 ein Blockdiagramm ist, das ein detailliertes Beispiel eines DMA-gesteuerten Systems zeigt, in dem die vorliegende Erfindung angewendet wird;
- Fig. 6 ein Schaltungsdiagramm ist, das ein spezifisches Beispiel einer DMA-Steuereinheit zeigt;
- Fig. 7 ein Blockdiagramm ist, das ein spezifisches Beispiel einer Prioritätsniveau-Entscheidungsschaltung zeigt;
- Fig. 8 ein Schaltungsdiagramm ist, das ein spezifisches Beispiel einer Zustands-Unterscheidungsschaltung zeigt;
- Fig. 9 ein Schaltungsdiagramm ist, das ein spezifisches Beispiel einer DMA-Anforderungs-Erzeugungsschaltung zeigt; und
- Fig. 10 ein Blockdiagramm ist, das ein spezifisches Beispiel einer Platten-Steuereinheit zeigt.
- Um das Verständnis für die vorliegende Erfindung zu erleichtern wird, bevor der Aufbau der vorliegenden Erfindung erläutert wird, ein früher vorgeschlagenes DMA-Steuersystem erwähnt.
- Fig. 1 ist ein Blockdiagramm, das einen schematischen Aufbau eines vorgeschlagenen DMA-Steuersystems zeigt. In der Fig. 1 ist die DMA-Steuereinheit 1 mit Hilfs-Steuereinheiten, d. h. Platten-Steuereinheiten 2 und 3, und auch mit der Speicher-zu-Speicher-Übertragungs-Steuereinheit 4 verbunden und arbeitet mit diesen zusammen. Die Platten-Steuereinheiten 2 und 3 haben jeweils zumindest einen Hilfsspeicher, d. h. einen Plattenspeicher, der mit ihnen zusammen arbeitet. Des weiteren hat die Speicher-zu-Speicher-Übertragungs-Steuereinheit 4 einen Subspeicher, d. h. einen Cache-Speicher 7, der mit ihr zusammen arbeitet.
- Die Platten-Steuereinheiten 2 und 3 und die Speicher-zu- Speicher-Übertragungs-Steuereinheit 4 geben zu einer Prioritätsniveau-Entscheidungsschaltung 11 in der DMA-Steuereinheit 1 ein Signal zum Anfordern einer Datenübertragungssteuerung für die DMA-Steuereinheit 1 aus, d. h. ein DMA-Anforderungssignal DMA REQ. Wenn eine Bestätigung dieser Anforderung, d. h. ein DMA-Bestätigungssignal DMA ACK, empfangen wird, arbeitet die Platten-Steuereinheit 2 mit einem Subkanalregister (REG) 8 (schematisch durch die unterbrochene Linie 8' gezeigt) zusammen, um die Datenübertragung auszuführen. Ähnlich arbeitet die Platten-Steuereinheit 3 mit einem Subkanalregister (REG) 9 (9') zusammen, und die Speicher-zu-Speicher-Übertragungs-Steuereinheit 4 arbeitet mit einem Subkanalregister (REG) 10 (10') zusammen, um die jeweiligen Datenübertragungen auszuführen. In diesem Fall würde, wenn z. B. die Datenübertragungsleistungsfähigkeit der DMA-Steuereinheit 1 6 Mbyte beträgt, die Datenübertragungsleistungsfähigkeit der Platten-Steuereinheit 2 und 3 jeweils z. B. 2,5 Mbyte beträgt und die Datenübertragungsleistungsfähigkeit der Speicher-zu-Speicher-Übertragungs-Steuereinheit 4 maximal 2,5 Mbyte beträgt, die Gesamtsumme der Datenübertragungsleistungsfähigkeit der Steuereinheiten 2, 3 und 4, d. h. 7,5 Mbyte, die Datenverarbeitungsleistungsfähigkeit (6 Mbyte) der DMA-Steuereinheit 1 überschreiten.
- Um zu verhindern, daß diese Überlastung auftritt wurde früher die Datenübertragungsleistungsfähigkeit der Speicher-zu- Speicher-Übertragungs-Steuereinheit 4 auf ein gewisses Niveau (gemäß dem obigen Beispiel 1 (= 6 - 2,5 · 2) Mbyte) festgelegt. Dies kann durch Hardware oder Software erreicht werden.
- Wie zuvor erwähnt wurde, verschlechtert sich jedoch der Datenübertragungs-Wirkungsgrad des DMA-gesteuerten Systems, wenn die Datenübertragungsleistungsfähigkeit der Speicher-zu- Speicher-Übertragungs-Steuereinheit 4 immer auf ein bestimmtes Niveau festgelegt ist, und im Ergebnis wird die Datenverarbeitungsgeschwindigkeit des Systems reduziert.
- Nachfolgend wird eine Erläuterung für ein DMA-gesteuertes System gegeben, das die vorliegende Erfindung verkörpert.
- Fig. 2 ist ein Blockdiagramm, daß das Prinzip des DMA-gesteuerten Systems zeigt.
- Um die Erläuterung zum Verstehen einfacher zu machen, wird angenommen, das die Datenübertragungsleistungsfähigkeiten z. B. wie folgt sind:
- DMA-Steuereinheit 12: 6 Mbyte
- Platten-Steuereinheit 2: 2,5 Mbyte
- Platten-Steuereinheit 3: 2,5 Mbyte
- Speicher-zu-Speicher- Übertragungs-Steuereinheit 13: Max. 4 Mbyte
- Es wird hier davon ausgegangen, daß die Platten-Steuereinheiten 2 und 3 und die Speicher-zu-Speicher-Übertragungs-Steuereinheit 13 ein DMA-Anforderungssignal zu der Prioritätsniveau-Entscheidungsschaltung 14 der DMA-Steuereinheit 12 ausgegeben haben. Die Prioritätsniveau-Entscheidungsschaltung 14 nimmt die DMA-Anforderung von der Einheit mit der höchsten Priorität (in diesem Fall wird angenommen, daß die Priorität der Platten-Steuereinheiten 2 und 3 höher ist als die Priorität der Speicher-zu-Speicher-Übertragungs-Steuereinheit 13) an und legt ein DMA-Startsignal S&sub1; an eine Zustands-Unterscheidungsschaltung 16 in der Speicher-zu-Speicher-Übertragungs-Steuereinheit 13 an. Kurz danach gibt die Zustands-Unterscheidungsschaltung 16 ein DMA-Bestätigungs(ACK)-Signal DMA ACK an die Platten-Steuereinheiten 2 und 3 während der Datenübertragung aus.
- Des weiteren legt die Prioritätsniveau-Entscheidungsschaltung 14 Steuerinformationen der Subkanalregister 8 und 9 nach Anlegen des DMA-Startsignals und eines Speicheridentifikations(ID)-Signals S&sub2; während der Ausführung der Datenübertragung an die Zustands-Unterscheidungsschaltung 16 an. Wenn das zuvor erwähnte DMA-Bestätigungssignal (DMA ACK) empfangen wird, wird aus dem ID-Signal S&sub2; bestimmt, daß die Platten-Steuereinheit 2 oder 3 die Datenübertragung begonnen hat, und ein Kommando wird an die DMA-Anforderungs-Erzeugungsschaltung 15 ausgegeben, um die Datenübertragungsgeschwindigkeit zu reduzieren.
- Die DMA-Anforderungs-Erzeugungsschaltung 15 verlängert das Intervall zum Ausgeben des DMA-Anforderungssignals (DMA REQ), das an die Prioritätsniveau-Entscheidungsschaltung 14 ausgegeben werden soll, um die Datenübertragungsgeschwindigkeit auf 1 Mbyte (1 + 2,5 · 2 = 6) einzustellen. D.h., daß eine Datenübertragung mit niedriger Geschwindigkeit durchgeführt wird.
- Wenn die Datenübertragung, die auf den Steuerinformationen der Subkanalregister 8 oder 9 basiert, beendet ist, legt die Prioritätsniveau-Entscheidungsschaltung 14 ein DMA-Übertragungs-Stopsignal S&sub3; an die Zustands-Unterscheidungsschaltung 16 an und führt eine Benachrichtigung über die Steuereinheit (2, 3), für die die Datenübertragung beendet worden ist, durch das ID-Signal S&sub2; durch. Die Zustands-Unterscheidungsschaltung 16 kann darüber benachrichtigen, welche Steuereinheit den DMA-Betrieb beendet hat.
- Auf die Benachrichtigung über die Beendigung des DMA-Betriebs hin gibt die Zustands-Unterscheidungsschaltung 16 ein Kommando an die DMA-Anforderungs-Erzeugungsschaltung 15 aus, um die Datenübertragungsgeschwindigkeit zu erhöhen. Die DMA-Anforderungs-Erzeugungsschaltung 15 verkürzt das Zeitintervall zum Ausgeben des DMA-Anforderungssignals (DMA REQ), das der Prioritätsniveau-Entscheidungsschaltung 14 zugeführt werden soll, und stellt die Datenübertragungsgeschwindigkeit auf 3,5 Mbyte (3,5 + 2,5 = 6) ein.
- Des weiteren gibt die Zustands-Unterscheidungsschaltung 16 kein Kommando zum Verringern der Datenübertragungsgeschwindigkeit an die DMA-Anforderungs-Erzeugungsschaltung aus, wenn nicht Daten unter der Steuerung beider Subkanalregister 8 und 9 übertragen werden, so daß die Speicher-zu-Speicher-Übertragungs-Steuereinheit 13 eine hohe Datenübertragungsgeschwindigkeit von 4 Mbyte beibehält. Wenn die Steuereinheit (2 oder 3), die dem Subkanalregister 8 oder 9 entspricht, mit der Datenübertragung beginnt, und somit die Prioritätsniveau-Entscheidungsschaltung 14 ein DMA-Startsignal S&sub1; und ein ID-Signal S&sub2; bereitstellt, verlängert die Zustands-Unterscheidungsschaltung 16 das Zeitintervall zum Ausgeben des DMA-Anforderungssignals an die DMA-Anforderungs-Erzeugungsschaltung 15, so daß die Datenübertragungsgeschwindigkeit 3,5 Mbyte annimmt. Wenn beide Steuereinheiten (2 und 3), die den Subkanalregistern 8 und 9 entsprechen, Daten übertragen, wird das Zeitintervall derart eingestellt, daß die Datenübertragungsgeschwindigkeit der Speicher-zu-Speicher-Übertragungs-Steuereinheit 13 1 Mbyte annimmt.
- Aufgrund des obigen Aufbaus kann die Zustands-Unterscheidungsschaltung 16 den Betriebszustand der Subkanalregister 8 und 9 bestimmen, indem sie die Signale S&sub1; und S&sub2;, die von der Prioritätsniveau-Entscheidungsschaltung 14 bereitgestellt werden, überwacht, und in Übereinstimmung mit dem Betriebszustand kann sie das Zeitintervall zum Ausgeben einer DMA-Anforderung DMA REQ für die DMA-Anforderungs-Erzeugungsschaltung 15 verlängern oder verkürzen. Deshalb kann die Speicher-zu-Speicher- Übertragungs-Steuereinheit 13 eine automatische Steuerung durchführen, um die maximale Datenübertragungsleistungsfähigkeit der DMA-Steuereinheit 12 zu erreichen. Im Ergebnis kann ein DMA-gesteuertes System realisiert werden, das dazu in der Lage ist, eine Datenverarbeitung mit hohem Wirkungsgrad durchzuführen.
- Fig. 3 ist ein Blockdiagramm, das ein Beispiel einer Speicher-zu-Speicher-Übertragungs-Steuereinheit gemäß der vorliegenden Erfindung zeigt. In der Fig. 3 umfaßt die Speicherzu-Speicher-Übertragungs-Steuereinheit 13, wie in der Fig. 2 gezeigt wird, eine DMA-Anforderungs-Erzeugungsschaltung 15 und eine Zustands-Unterscheidungs-Schaltung 16. Zuerst werden die Zustandssignale, die von der Prioritätsniveau-Entscheidungsschaltung 14 (Fig. 2) bereitgestellt werden, d. h. das DMA- Startsignal S&sub1;, das ID-Signal S&sub2; und das DMA-Übertragungs-Stopsignal S&sub3;, einem Decodierer 17 eingegeben und decodiert, um z. B. drei Typen von decodierten Ausgangssignalen S&sub4;, S&sub5; und S&sub6; zu erzeugen. Diese Signale S&sub4;, S&sub5; und S&sub6; werden einem Unterscheider 18 eingegeben. Der Decodierer 17 und der Unterscheider 18 umfassen die Zustands-Unterscheidungsschaltung 16.
- Fig. 4 ist eine Ansicht, die ein Beispiel einer Unterscheidungslogik des Unterscheiders der Fig. 3 zeigt. Eine Erläuterung bezüglich des Betriebs der Fig. 3 mit Bezug auf diese Unterscheidungslogik wird nachfolgend gemacht. Wenn S&sub4; = "0", S&sub5; = "0" und S&sub6; = "1" sind, gibt der Unterscheider 18 ein Kommando CMD aus, um zu bewirken, daß die Datenübertragungsgeschwindigkeit auf Hochgeschwindigkeit (HIGH) gesetzt wird.
- Das Kommando CMD wird einem Zähler 19 eingegeben und der Ausgang des Zählers 19 steuert einen DMA-Anforderungsgenerator 20. Der Zähler 19 und der Generator 20 umfassen die DMA-Anforderungs-Erzeugungsschaltung 15.
- Wenn der Unterscheider 18 ein Hochgeschwindigkeitskommando ausgibt, zählt der Zähler 19 eine niedrigere Zahl entsprechend dem Hochgeschwindigkeitskommando, und wenn er anhält, steuert er den DMA-Anforderungsgenerator 20, an die Einheit 12 ein DMA- Anforderungssignal DMA REQ auszugeben.
- Wenn die Ausgangssignale des Decodierers 17 S&sub4; = "1", S&sub5; = "0" und S&sub6; = "1" sind, gibt der Unterscheider 18 ein Kommando CMD aus, um zu bewirken, daß die Datenübertragungsgeschwindigkeit auf eine mittlere Geschwindigkeit (MID) gesetzt wird. Ahnlich, wenn S&sub4; = "0", S&sub5; = "1" und S&sub6; = "1" sind, gibt der Unterscheider 18 ein Mittel-Kommando CMD aus. Zu dieser Zeit zählt der Zähler 19 eine Anzahl entsprechend dem Mittelgeschwindigkeitskommando, und, wenn er anhält, steuert er den DMA-Anforderungsgenerator 20 an, an die Einheit 12 ein DMA-Anforderungssignal DMA REQ aus zugeben.
- Wenn die Ausgangssignale des Decodierers 17 S&sub4; = "1", S&sub5; = "1" und S&sub6; = "1" sind, gibt der Unterscheider 18 ein Kommando CMD aus, um zu bewirken, daß die Datenübertragungsgeschwindigkeit zu einer niedrigen Geschwindigkeit (LOW) gemacht wird. Zu dieser Zeit zählt der Zähler 19 eine größere Zahl entsprechend dem Niedriggeschwindigkeitskommando und wenn er anhält, steuert er den DMA-Anforderungsgenerator 20 an, an die Einheit 12 ein DMA-Anforderungssignal DMA REQ auszugeben.
- Es ist anzumerken, daß, wenn das Signal S6 gleich S6 = 110 11 ist, dies bedeutet, daß keine Datenübertragung zwischen der Speicher-zu-Speicher-Übertragungs-Steuereinheit 13 und dem Cache-Speicher durchgeführt wird, so daß der Unterscheider 18 kein Kommando CMD an den Zähler 19 ungeachtet des "1"- oder des "0"-Zustands von S&sub4; und S&sub5; ausgibt. Das liegt daran, daß keine Notwendigkeit dafür besteht, ein DMA-Anforderungssignal von der Speicher-zu-Speicher-Übertragungs-Steuereinheit 13 aus zugeben.
- Fig. 5 ist ein Blockdiagramm, das ein detailliertes Beispiel eines DMA-gesteuerten Systems zeigt, in dem die vorliegende Erfindung angewendet wird. Es ist anzumerken, daß durch die Figuren hindurch den gleichen ausgebildeten Elementen die gleichen Bezugszeichen oder Symbole verliehen sind. In der Figur ist die Verbindung a und sind die Verbindungen b, b' die die DMA-Steuereinheit 12 und die Speicher-zu-Speicher-Übertragungs-Steuereinheit 13 verbinden, besondere Merkmale der vorliegenden Erfindung. Die Verbindung a wird auch in der Fig. 2 gezeigt und wird zum Übertragen von Steuersignalen S&sub1;, S&sub2; und S&sub3; verwendet. Die Verbindung b wird auch in der Fig. 2 gezeigt, aber in der Wirklichkeit wird auch die Verbindung b' verwendet. Die Verbindungen c und d verbinden mit den Platten Steuereinheiten 2 und 3. Zudem gibt das Bezugszeichen 21 den bereits erwähnten Arbeitsspeicher an, und 22A und 22B Prozessoren. Die beiden Prozessoren teilen sich Funktionen und werden durch einen kombinierten Prozessor in einem Hochgeschwindigkeits-Computersystem ausgebildet. Die Bezugszeichen 23 und 24 sind Bus-Prioritätsverteiler, die das Öffnen oder Schließen der zweiwegigen Gatter 25 bestimmen und den Verkehr derart ordnen, daß es keinen Konflikt in der Datenübertragung auf dem Speicherbus 26 und dem Eingangs/Ausgangs-(I/O)-Bus 27 gibt.
- Der Prozessor 22 arbeitet derart, als würde er direkt auf die Plattenspeicher 5 und 6 zugreifen, aber in dem System nach der Fig. 5 hat der Cache-Speicher 7 in sich die gewünschten Daten der Plattenspeicher 5 und 6 kopiert und gespeichert und es wird auf den Cache-Speicher 7 zugegriffen, wobei der Prozessor 22 Daten viel schneller verarbeiten kann. Es ist anzumerken, daß im allgemeinen ein Platten-Cache-Speicher als Teil der Platten-Speicher 5 und 6 vorgesehen ist, aber dies macht es unmöglich, Plattenspeicher allgemeinen Zwecks zu verwenden, so daß es ökonomisch nachteilig ist. Ein Anliegen der vorliegenden Erfindung ist es, die DMA-Übertragungsgeschwindigkeit zwischen dem Arbeitsspeicher 21 und dem Cache-Speicher 7 in Fig. 5 variabel zu machen.
- Zuerst, wenn die DMA-Betriebsart startet, schreibt der Prozessor 22 die DMA-Steuerinformationen in die entsprechenden Subkanalregister (8, 9, 10, 10b; 10b gehört zu der zuvor erwähnten Verbindung b') in der DMA-Steuereinheit 12. Zu dieser Zeit überwacht der Bus-Prioritätsverteiler 24 die Adresse des I/O-Busses 27, und wenn sie die Adresse für die DMA-Steuereinheit 12 oder die Platten-Steuereinheit 2 oder 3 ist, steuert er die Empfangsseite des zweiwegigen Gatters 25 an.
- Als nächstes schreibt der Prozessor 22 die Adresse in das Platten-Sektor-Register (gezeigt mit 111 in Fig. 10) in die Platten-Steuereinheit 2 oder 3. Diese Adresse gibt die Position der gewünschten Daten in dem Plattenspeicher an.
- Der Prozessor 22 zeigt das DMA-Start-Kennzeichen (Register 112 in Fig. 10) in der Platten-Steuereinheit 2 oder 3 an.
- Die Platten-Steuereinheit 2 oder 3 gibt ein DMA-Anforderungssignal DMA REQ (Fig. 2) an die DMA-Steuereinheit 12 aus.
- Die Platten-Steuereinheit 2 oder 3 sendet ein Signal zu dem Bus-Prioritätsverteiler 24, daß die Verwendung des I/O-Busses 27 anfordert.
- Wenn eine Antwort auf das zuvor erwähnte DMA REQ, d. h. ein DMA-Bestätigungssignal DMA ACK, von der DMA-Steuereinheit 12 aus zurückgegeben wird, wird damit begonnen, daß Daten von dem Plattenspeicher gelesen werden. Des weiteren werden Daten von der Platten-Steuereinheit 2 oder 3 aus zur DMA-Steuereinheit 12 übertragen.
- Die DMA-Steuereinheit 12 sendet an den Bus-Prioritätsverteiler 23 ein Signal, das die Verwendung des Speicherbusses 261 anfordert. Wenn eine Antwort auf die Anforderung für die Verwendung zurückgegeben wird, schreibt die DMA-Steuereinheit 12 Daten in den Cache-Speicher 7.
- Des weiteren gibt die DMA-Steuereinheit 12 eine Anforderung für die Verwendung des Speicherbusses 26 an den Bus-Prioritätsverteiler 23 aus und überträgt Daten von dem Cache-Speicher 7 zum Arbeitsspeicher 21 unter der Steuerung der Speicherzu-Speicher-Übertragungs-Steuereinheit 13. Ein Anliegen der vorliegenden Erfindung ist es, wie die DMA-Anforderung unter der Steuerung der Speicher-zu-Speicher-Übertragungs-Steuereinheit 13 ausgegeben wird.
- Fig. 6 ist ein Schaltungsdiagramm, das ein spezielles Beispiel der DMA-Steuereinheit zeigt. In der Figur umfaßt das Subkanalregister 31 insgesamt 0 bis 2 Register (entsprechend 8, 9 und 10 in Fig. 2) und ein 3 Register (Register 10b, das ein Paar mit dem Subkanalregister 10 bildet). Spezifischer umfaßt es DMA-Betriebsart-Register (DMR), Adreßregister (ADR) 33 und Byte-Zähler (BC) 34. In die DMRs 32 ist die DMA-Richtung, die erste, übertragene Byte-Nummer und das DMA-Startkennzeichen vom Prozessor 22 durch den I/O-Bus 27 hinein geschrieben. In die ADRs 33 ist die Adresse des Speicherbusses 26 oder 26' vom Prozessor 22 hinein geschrieben. Des weiteren ist in den BCs 34 die Anzahl der verbleibenden Übertragungsbytes angezeigt. Ein Subtrahierer 35 ist zum Anzeigen des Rests vorgesehen, wobei der Subtrahierer 35 bei jeder Übertragung die Anzahl der übertragenen Bytes, die in den DMR 32 (in der Figur gezeigt durch - x) aufgezeichnet sind, subtrahiert. Wenn die Subtraktion schließlich den Inhalt des BC auf Null bringt, stoppt die Übertragung und das Signal des Stoppens 0 bis 3 wird an die Prioritätsniveau-Entscheidungsschaltung angelegt.
- Das Adreßregister (ADR) 33 bestimmt die Kopfadresse der Daten, für die die Übertragung als nächstes beginnt, bei jedem Ende einer Übertragung. Dafür ist ein Addierer 36 vorgesehen, der die Anzahl der übertragenen Bytes, die in dem DMR 32 (in der Figur angegeben durch +y) aufgezeichnet ist, addiert.
- Das oben erwähnte Subkanalregister 3 (entsprechend 10b) ist in der Wirklichkeit zur Speicherung von Daten in einem Pufferspeicher (nicht gezeigt) in der Speicher-zu-Speicher-Übertragungs-Steuereinheit 13 (Fig. 5) erforderlich, die vom Cache-Speicher 7 zum Arbeitsspeicher 21 übertragen werden, und zwar zum Zwecke der Fehlerkorrektur. Man beachte, daß eine Fehlerkorrektur-Schaltung für die oben erwähnte Fehlerkorrektur in der Fig. 7 als ECC 37 gezeigt wird.
- Fig. 7 ist ein Blockdiagramm, das ein spezifisches Beispiel einer Prioritätsniveau-Entscheidungsschaltung zeigt und eine detailliertere Ansicht des Blocks 14 in der Fig. 6 ist.
- Die Prioritätsniveau-Entscheidungsschaltung 14 besteht wie gezeigt aus einer Prioritätsniveau-Entscheidungslogik 41 einer Antwort-Steuerschaltung 42, einer Decodierschaltung 43 und einem ODER-Gatter 44. Die Prioritätsniveau-Entscheidungslogik 41 empfängt ein DMA-Anforderungssignal DMA REQ von den zuvor erwähnten Verbindungen c, d, b und b' und empfängt auf einer Prioritätsbasis die Anforderung der vorbestimmten höchsten Priorität. Es wird darauf hingewiesen, daß die Logik zum Bestimmen der Priorität bekannt ist und hier im Detail nicht erläutert wird.
- Wenn die Logik 41 z. B. eine DMA-Anforderung von der Verbindung c empfängt, wird das Signal durch die Leitung p an die Antwort-Steuerschaltung 42 angelegt, wird die Schaltung 42 angesteuert und wird ein Bestätigungssignal ACK erzeugt. Welche Verbindung das ACK zurückgibt, wird durch die Leitung q bestimmt. Auf der Leitung q tritt das ID der empfangenen Verbindung auf, d. h. "c". Auf der Basis dieses "c" gibt die Schaltung 42 ACK an die Verbindung c zurück. Dadurch startet die Platten- Steuereinheit 2 (Fig. 5) die DMA-Übertragung der Lesedaten von dem Plattenspeicher. D.h. die Schaltung 42 legt ein DMA-Startsignal an das Subkanalregister 31 einerseits an, während andererseits das DMA-Startsignal als das Steuersignal S&sub1; der Zustands-Unterscheidungsschaltung 16 (Fig. 2 und 3) in der Speicher-zu-Speicher-Übertragungs-Steuereinheit 13 zugeführt wird. Die Schaltung 13 ist auch mit einem Steuersignal S&sub2; versehen, das die oben erwähnte ID angibt.
- Wenn die Vorrichtung, die bereits die DMA-Übertragung ausgeführt hat, z. B. die Platten-Steuereinheit 3 (Fig. 5), die Übertragung der vorgegebenen Daten beendet, wird ein Stop- 1- Signal vom Subtrahierer 35 (Fig. 6) zur Prioritätsniveau-Entscheidungsschaltung 14 gesendet. Dieses Stop- 1 wird durch die Decodiererschaltung 43 empfangen, worauf decodiert wird, von welcher Vorrichtung das DMA-Stopsignal stammt. In diesem Fall gibt das ID des DMA-Stopsignals die Verbindung d an, d. h. die Platten-Steuereinheit 3. Dieses ID, d. h. "d", wird der oben erwähnten Zustands-Unterscheidungsschaltung 16 in der Speicherzu-Speicher-Übertragungs-Steuereinheit 13 durch das ODER-Gatter als ID-Signal S&sub2; bereitgestellt.
- Fig. 8 ist ein Schaltungsdiagramm, das ein spezifisches Beispiel einer Zustands-Unterscheidungsschaltung zeigt. Diese Zustands-Unterscheidungsschaltung 16, wie in Bezug auf die Figur 3 erläutert wurde, kann in einen Decodierer 17 und einen Unterscheider 18 aufgetrennt werden. Des weiteren treten in der Vorrichtung, die in der Fig. 8 gezeigt wird, S&sub1;, S&sub2; und S&sub3;, S&sub4;, S&sub5; und S&sub6; und das Kommando CMD auf.
- Das ID-Signal identifiziert das ausgewählte Subkanalregister 0 bis 3 und kann zwischen ihnen durch zwei Bits (DI0, DI1) unterscheiden. D.h. siehe die folgende Tabelle I: Tabelle I Subkanal Verbindung
- Die D-Flip-Flops (D FF) 51 bis 54 sind zum Empfangen der ID-Signale (ID0 und ID1) vorgesehen. Die Ausgänge des D FF 51 und 52 zeigen das ID, wenn ein DMA-Start ausgegeben wird (START ID0, START ID1), während die Ausgänge des D FF 53 und 54 die ID angeben, wenn ein DMA-Stop ausgegeben wird (STOP ID0, STOP ID1).
- Diese Signale START ID0, ID1 und STOP ID0, ID1 werden in UND-Gattern 61 bis 68 der nächsten Stufe eingegeben. Die Eingänge der UND-Gatter 61 bis 64 sind mit Invertern in unterschiedlichen Kombinationen versehen. Die UND-Ausgänge geben an, für welchen Subkanal ( 0 bis 3) der DMA gestartet wurde (START 0 bis START 3). Andererseits sind die Eingänge der UND-Gatter 65 bis 68 mit Invertern in unterschiedlichen Kombinationen versehen und die UND-Ausgänge geben an, für welchen Subkanal ( 0 bis 3) der DMA gestoppt wurde (STOP 0 bis STOP 3).
- Diese Signale START 0 bis START 3 und STOP 0 bis STOP 3 werden dem JK-Flip-Flop (JK FF) der nächsten Stufe eingegeben. Die JK-Flip-Flops haben einen FF-Ausgang von "1", wenn der J- Eingang gleich "1" ist, und werden zurückgesetzt, wenn der K- Eingang "1" wird. Die Ausgänge der JK-Flip-Flops 71 bis 74 nehmen deshalb die Signale BSY0 bis BSY3 an, die zeigen, welcher Subkanal belegt ist. Die Signale BSY0 bis BSY3 bilden die zuvor erwähnten decodierten Ausgangssignale S&sub4;, S&sub5; und S&sub6;. Es ist anzumerken, daß das Signal S&sub6; die Oder-verknüpfte Version von BSY2 und BSY3 ist, und deshalb ist ein ODER-Gatter OR1 vorgesehen. D.h., daß BSY2 und BSY3 nie gleichzeitig "1" werden.
- Die Signale S&sub4; bis S&sub6; werden den UND-Gattern 81 bis 84 in dem Unterscheider 18 eingegeben. Die Eingänge der UND-Gatter 81 bis 84 sind mit Invertern in unterschiedlichen Kombinationen versehen. Die Unterscheidung, die in der Fig. 4 gezeigt wird, wird durch eine einfache Logik erreicht. Es ist anzumerken, daß das ODER-Gatter in der Fig. 4 (das das MID Geschwindigkeitskommando ausgibt) dem ODER-Gatter OR2 in der Fig. 8 entspricht. Deshalb werden das Hochgeschwindigkeitskommando HIGH, das Mittelgeschwindigkeitskommando MID und das Niedriggeschwindigkeitskommando LOW ausgegeben und an den Zähler (19 in der Fig. 3) angelegt. Es ist anzumerken, daß zwei unterschiedliche Typen von Mittelgeschwindigkeitskommandos, wie z. B. MID1 und MID2, von den Ausgängen der UND-Gatter 82 und 83 ausgegeben werden können. Die folgende Tabelle 11 zeigt ein Beispiel für die Entsprechung zwischen dem Logikmuster der Belegtsignale BSY0 bis BSY3 und dem Geschwindigkeitskommando (CMD). Tabelle II oder oder oder oder
- Fig. 9 ist ein Schaltungsdiagramm, das ein spezifisches Beispiel einer DMA-Anforderungs-Erzeugungsschaltung zeigt. Dies DMA-Anforderungs-Erzeugungsschaltung 15 kann grob in einen Zähler 19 und einen DMA-Anforderungsgenerator 20, wie in der Fig. 3 erläutert wird, unterteilt werden. Sie nimmt als Eingang das Geschwindigkeitskommando CMD, das in der Fig. 3 (auch in der Fig. 4 und in der Fig. 8 gezeigt) gezeigt ist und gibt ein DMA-Anforderungssignal DMA REQ aus, das dem Kommando entspricht.
- Der Zähler 19 hat als sein Herz eine Zähleinheit 95, wobei die Zähleinheit 95 als Abwärtszähler von einem Subtrahierer 96 arbeitet. Der Abwärtszähler hat eine Zählzahl, die anfangs gesetzt wird, und wird mit vorgesetzten Zahlen von einem ersten Vorsetzer 91, einem zweiten Vorsetzer 92 und einem dritten Vorsetzer 93, sogenannten Dip-Schaltern, versorgt. Die Vorsetzer 91, 92 und 93 führen eine kleine Vorsetzzahl, eine mittlere Vorsetzzahl bzw. eine große Vorsetzzahl zu. Welche Vorsetzzahl ausgewählt wird, wird in Übereinstimmung damit bestimmt, welches der Hoch-, Mittel- und Niedriggeschwindigkeitskommandos (CMD) ausgegeben wird. Die Auswahl wird durch einen Auswähler (SEL) 94 durchgeführt.
- Ob der Zählstand der Zähleinheit 95 zu Null geworden ist, wird durch einen Null-Vergleicher 97 detektiert. Wenn er nicht Null (NEIN) ist, wird der Zählbetrieb fortgesetzt. Wenn Null erreicht wurde (JA), wird ein Triggersignal St erzeugt und zu der DMA-Anforderungs-Erzeugungsschaltung 20 ausgegeben, wobei simultan damit der Auswähler 94 gelöscht wird. Es ist anzumerken, daß das Triggersignal St über eine differenzierende Schaltung (D) 98 erhalten werden kann. Die Schaltung 98 ist notwendig, da das korrekte DMA-Anforderungssignal nicht erzeugt werden kann, wenn der Ausgang des Null-Vergleichers 97 für immer fortgesetzt an der Schaltung 20 der nächsten Stufe anliegt.
- Das zuvor erwähnte Triggersignal St wird einem DMA-Anforderungs-Kennzeichen-Flip-Flop (REQ FLG FF) 101 eingegeben und setzt das DMA-Anforderungs-Kennzeichen. Das DMA-Anforderungs- Kennzeichen wird nur bei Zeitintervallen gesetzt, die den zuvor erwähnten Geschwindigkeitskommandos (HIGH, MID und LOW) entsprechen. Wenn das Kennzeichen gesetzt ist, wird ein DMA-Anforderungssignal DMA REQ 2 oder DMA REQ 3 über eine UND-Einrichtung 102 und ein SER-Flip-Flop (S/R) 103 zu der Prioritätsniveau-Entscheidungsschaltung 14 in der DMA-Steuereinheit 12 (Fig. 2, 6 und 7) gesendet. Wenn die Schaltung 14 die DMA- Anforderung empfängt, wird DMA ACK 2 oder DMA ACK 3 zurückgegeben, wodurch das DMA-Anforderungs-Kennzeichen zurückgesetzt wird und die als nächstes ankommende, neue DMA-Anforderung empfangen werden kann.
- Wenn der Speicherbus 26 in einer Nicht-Verwendungs-Stufe ist, kann die DMA-Übertragung nicht ausgeführt werden, so daß es notwendig ist, zu überprüfen, ob der Speicherbus 26 wartet. Deshalb ist die UND-Einrichtung 101 vorgesehen. Die UND-Einrichtung 101 öffnet sich, wenn ein Bus-Ruhezustands-Signal BSY von dem Bus-Prioritätsverteiler 23 aus empfangen wird, und legt das DMA-Anforderungs-Kennzeichen an das SR FF 103 an. Es ist anzumerken, daß die UND-Einrichtung 101 durch Software oder Hardware realisiert werden kann.
- Das DMA REQ 2 und das DMA REQ 3 entsprechen der DMA-Datenübertragung zum Cache-Speicher 7 und der DMA-Datenübertragung von der Speicher-zu-Speicher-Übertragungs-Steuereinheit 13 (Fig. 5) und entsprechen den zuvor erwähnten Subkanalregistern 2 und 3. Die DMA REQ 2 und DMA REQ 3 müssen deshalb gesperrt werden, simultan zu existieren. Dafür ist das SR FF 103 vorgesehen, so daß DMA REQ 2 und 3 komplementär von der Setzseite und der Rücksetzseite ausgegeben werden.
- Fig. 10 ist ein Blockdiagramm, das ein spezifisches Beispiel einer Platten-Steuereinheit zeigt. Die Platten-Steuereinheiten 2 und 3 sind identisch aufgebaut. Das Plattensektorregister 111 in der Figur ist bereits mit Bezug auf die Fig. 5 erläutert worden. Das Plattensektorregister 111 speichert die Adresse, die bestimmt, von welchen Plattenspeicher 5 oder 6 gelesen werden soll, und arbeitet auch mit dem Plattenschnittstellen-Controller 116 zusammen. Der Controller 116 ist mit dem Datenpuffer 115 verbunden. Wenn der I/O-Bus 27 belegt ist und Daten von dem Plattenspeicher nicht dem Bus zugeführt werden können, werden die Daten vorübergehend in den Puffer 115 gespeichert. Ob der I/O-Bus 27 belegt ist oder im Ruhezustand ist, wird aus der Zwischenbeziehung mit dem Bus-Prioritätsverteiler 24 herausgefunden. Dafür ist ein Bus-Anforderungs-Controller 113 vorgesehen.
- Wenn eine Anforderung für eine Datenübertragung in der Form von DMA REQ an den Prioritätsniveau-Entscheidungsschaltung in der DMA-Steuereinheit 12 ausgegeben wird und DMA ACK zurückgegeben wird, startet die DMA-Übertragung. In diesem Fall wird zuerst ein Kommando dafür, die DMA-Übertragung zu starten, von dem Prozessor 22 durch den I/O-Bus 27 in dem DMA-Start-Kennzeichen-Register 112 gesetzt. Durch dieses Setzen bestätigt der Bus-Anforderungs-Controller 113 das Besetzen des I/O-Busses. Wenn das Besetzen möglich ist, wird das zuvor erwähnte DMA REQ ausgegeben.
- Wie oben in Ausführungsformen der vorliegenden Erfindung erwähnt wurde, wird die DMA-Datenübertragung zwischen dem Arbeitsspeicher und dem Subspeicher, d. h. dem Cache-Speicher, in der Geschwindigkeit variabel gemacht. Des weiteren wird die Übertragungsgeschwindigkeit in Übereinstimmung mit dem Belastungszustand der anderen Hilfsspeicher der DMA-Steuereinheit, d. h. den Plattenspeichern, auswählbar gemacht. Deshalb wird dem DMA-gesteuerten System ein insgesamt verbesserter Datenübertragungs-Wirkungsgrad verliehen.
Claims (12)
1. DMA(direkter Speicherzugriff)-gesteuertes System, das
enthält
: -einen Arbeitsspeicher (21), einen Subspeicher (7) und
eine Vielzahl von Hilfsspeichern (5);
eine Speicher-zu-Speicher-Übertragungs-Steuereinheit
(13) zum Steuern der Datenübertragung zwischen dem
Arbeitsspeicher (21) und dem Subspeicher (7), betreibbar unter einer
variablen Datenübertragungsgeschwindigkeit;
eine Vielzahl von Hilfs-Steuereinheiten (2, 3) zum
Steuern der Datenübertragung zwischen dem Subspeicher (7) und
den Hilfsspeichern (5, 6), betreibbar unter einer konstanten
Datenübertragungsgeschwindigkeit; und
eine DMA-Steuereinheit (12), die betreibbar ist,
sowohl die Speicher-zu-Speicher-Übertragungs-Steuereinheit (13)
als auch die Hilfs-Steuereinheiten (2, 3) zu steuern, um eine
Datenübertragung mit direktem Speicherzugriff (DMA) zu
erreichen;
dadurch gekennzeichnet, daß
:die DMA-Steuereinheit (12) in sich eine
Prioritätsniveau-Entscheidungseinrichtung (14) zum Erzeugen von Signalen
verwendet, die angeben, ob jede der Hilfs-Steuereinheiten (2,
3) gerade dabei ist, Daten zu übertragen, indem Signale (DMA
REQ) von den Hilfs-Steuereinheiten (2, 3) zum Anfordern einer
DMA-Datenübertragung empfangen werden; und
die Speicher-zu-Übertragungs-Steuereinheit (13) in
sich sowohl eine Zustands-Unterscheidungseinrichtung (16) als
auch eine DMA-Anforderungssignal-Erzeugungseinrichtung (15)
verwendet, wobei die Zustands-Unterscheidungseinrichtung (16
funktionsfähig ist, Signale (S&sub1;, S&sub2;, S&sub3;) zu empfangen, die von
der Prioritätsniveau-Entscheidungseinrichtung (14) ausgegeben
werden, und, wenn jede der Hilfs-Steuereinheiten (2, 3) Daten
überträgt, Signale zum Spezifizieren einer Verringerung in der
Datenübertragungsgeschwindigkeit der Speicher-zu-Speicher-
Übertragungs-Steuereinheit (13) zu erzeugen, und wobei die DMA-
Anforderungssignal-Erzeugungseinrichtung (15) funktionsfähig
ist, ein Zeitintervall zum Ausgeben der Signale (DMA REQ) zum
Anfordern einer DMA-Datenübertragung, die von der Speicher-zu-
Speicher-Übertragungs-Steuereinheit (13) zu der
Prioritätsniveau-Entscheidungseinrichtung (14) ausgegeben
werden sollen, in Antwort auf Signale zu verlängern, die von
der Zustands-Unterscheidungseinrichtung (16) ausgegeben werden.
2. System nach Anspruch 1, wobei der Subspeicher (7) ein
Cache-Speicher ist und wobei jeder Hilfsspeicher (5) ein
Plattenspeicher ist.
3. System gemäß Anspruch 1 oder 2, wobei die
Prioritätsniveau-Entscheidungseinrichtung (14) zumindest drei Typen von
Zustandssignalen erzeugt, wobei ein erstes ein DMA-Startsignal
(DMA START) ist, ein zweites ein Identifikationssignal (ID) ist
und ein drittes ein DMA-Stopsignal (DMA STOP) ist, wobei das
Identifikationssignal eine Nummer eines Subkanalregisters (8,
9, 10), für das der DMA gestartet wurde, oder eine Nummer für
ein Subkanalregister (8, 9, 10), für das der DMA gestoppt
wurde, angibt.
4. System gemäß Anspruch 3, wobei die
Zustands-Unterscheidungseinrichtung (16) einen Decodierer (17), der als ein
Eingangssignal das DMA-Startsignal (DMA START), das
Identifikationssignal (ID) und das DMA-Stopsignal (DMA STOP) empfängt und
decodierte Ausgangssignale (BSY0 bis BSY3) erzeugt, die aus
einer Vielzahl von Bits bestehen, und einen Unterscheider (18)
aufweist, der als Eingangssignal das Muster aus der Vielzahl
von Bits von dem Decodierer (17) empfängt und ein
entsprechendes von zumindest einem Hochgeschwindigkeitskommando (HIGH),
einem Mittelgeschwindigkeitskommando (MID) und einem
Niedriggeschwindigkeitskommando (LOW) auswählt.
5. System gemäß Anspruch 4, wobei die
DMA-Anforderungs-Erzeugungseinrichtung (15) einen Zähler (19), der eine große,
mittlere und kleine (einschließlich Null) Zählzahl gemäß einem
von den Hochgeschwindigkeits-, Mittelgeschwindigkeits- und
Niedriggeschwindigkeitskommandos zählt, und einen
DMA-Anforderungs-Generator (20) aufweist, der an die DMA-Steuereinheit
(12) ein DMA-Anforderungssignal (DMA REQ) ausgibt, das ein
kleines, mittleres und großes Zeitintervall gemäß der kleinen,
mittleren bzw. großen Zählzahl hat.
6. System gemäß Anspruch 3, 4 oder 5, wobei die
Prioritätsniveau-Entscheidungseinrichtung (14) aufweist
: -eine Prioritätsniveau-Entscheidungslogik (41), die
DMA-Anforderungssignale (DMA REQ) empfängt, die Anforderung mit
der hohen Priorität auswählt und das Identifikations(ID)-Signal
ausgibt, das die ausgewählte Hilfs-Steuereinheit identifiziert,
und ein Empfangssignal ausgibt, das den Empfang der Anforderung
zeigt;
eine Antwort-Steuerschaltung (42), die, wenn das
Empfangssignal und das Identifikationssignal empfangen werden,
ein DMA-Bestätigungssignal (DMA ACK) zu der Hilfs-Steuereinheit
(2, 3) zurückgibt, die die DMA-Anforderung ausgegeben hat, und
weiterhin das DMA-Startsignal (DMA START) ausgibt;
eine Decodierschaltung (43), die, wenn die Hilfs-
Steuereinheit, die die DMA-Anforderung ausgegeben hat, die DMA-
Datenübertragung beendet, das DMA-Stopsignal (DMA STOP) ausgibt
und weiterhin ein Identifikations(ID)-Signal ausgibt, das die
Hilfs-Steuereinheit identifiziert; und
ein ODER-Gatter zum ODER-Verknüpfen eines
Identifikations(ID)-Signals des DMA-Startsignal-Ausgangs und eines
Identifikations(ID)-Signals des DMA-Stopsignal-Ausgangs.
7. System gemäß Anspruch 6, wobei ein Subkanalregister
(8, 9, 10; 31), das zumindest das DMA-Startsignal (DMA START) und
das Identifikations(ID)-Signal empfängt, um Steuerinformationen
zu bilden, in der DMA-Steuereinheit (12) vorgesehen ist, wobei
das Subkanalregister ein Detektionssignal an die
Decodierschaltung (43) anlegt, wenn die Beendigung jeder
DMA-Datenübertragung detektiert wird, und verursacht, daß das
Identifikations(ID)-Signal von der Decodierschaltung ausgegeben wird.
8. System gemäß Anspruch 4 oder 5 oder Anspruch 6 oder 7,
wenn an den Anspruch 4 angehängt, wobei der Decodierer (17)
aufweist
:zwei Startseiten-D-Flip-Flops (51, 52), die gemeinsam
an jedem D-Eingang das DMA-Startsignal (DMA START) empfangen
und die separate Bits eines Identifikationssignals (ID0, ID1)
aus zwei Bits empfangen;
zwei Stopseiten-D-Flip-Flops (53, 54), die gemeinsam
an jedem D-Eingang das DMA-Stopsignal (DMA STOP) empfangen, und
die separate Bits des Identifikationssignals (ID0, ID1) aus
zwei Bits empfangen;
Startseiten-UND-Gatter (61 bis 64), die aus der
Kombination der Bits der Ausgänge der zwei Startseiten-D-Flip-
Flops (51, 52) beurteilen, von welcher Hilfs-Steuereinheit das
DMA-Startsignal (DMA START) herkommt;
Stopseiten-UND-Gatter (65 bis 68), die aus der
Kombination der Bits der Ausgänge der zwei Stopseiten-D-Flip-Flops
(53, 54) beurteilen, von welcher Hilfs-Steuereinheit das DMA-
Stopsignal (DMA STOP) herkommt; und
JK-Flip-Flops (71 bis 74), die als J-Eingangssignale
die Ausgangssignale von den Startseiten-UND-Gattern (61 bis 64)
empfangen und als K-Eingangssignale die Ausgangssignale von den
Stopseiten-UND-Gattern (65 bis 68) empfangen, wobei die
Ausgangssignale der JK-Flip-Flops als die decodierten
Ausgangssignale (BSY0 bis BSY3) verwendet werden.
9. System gemäß Anspruch 8, wobei der Unterscheider (18)
aus UND-Gattern (81 bis 84) besteht, die als Eingangssignale
das decodierte Ausgangssignal (BSY0 bis BSY3) empfangen und nur
aufmachen, wenn das Bitmuster übereinstimmt, wobei die
UND-Gatter zumindest drei UND-Gatter sind, die das
Hochgeschwindigkeitskommando, das Mittelgeschwindigkeitskommando und das
Niedriggeschwindigkeitskommando (HIGH, MID, LOW) ausgeben.
10. System gemäß Anspruch 5 oder einem der Ansprüche 6 bis
9, wenn sie an den Anspruch 5 angehängt sind, wobei der Zähler
(19) aufweist:-
Vorsetzer (91, 92, 93), die die große Zählzahl, die
mittlere Zählzahl und die kleine Zählzahl, die vorgesetzt
werden soll, einer Zähleinheit (95) zuführen;
einen Auswähler (94), der einen von den Ausgängen der
Vorsetzer (91, 92, 93) gemäß einem von den
Hochgeschwindigkeits-, Mittelgeschwindigkeits- und
Niedriggeschwindigkeitskommandos (HIGH, MID, LOW) zum Vorsetzen der Zähleinheit (95)
auswählt;
einen Null-Vergleicher (97), der detektiert, ob die
Zählzahl der Zähleinheit (95) Null erreicht hat, und das
Abwärtszählen fortsetzt, bis Null erreicht ist; und
eine differenzierende Schaltung (98), die das Null-
Vergleicher-Ausgangssignal differenziert, um ein Triggersignal
(St) zu erzeugen, wenn die Zählzahl Null erreicht.
11. System gemäß Anspruch 10, wobei der
DMA-Anforderungsgenerator (15) aufweist
:ein Kennzeichen-Flip-Flop (101), das das
Triggersignal (St) empfängt, um ein DMA-Anforderungskennzeichen zu
setzen;
eine UND-Einrichtung (102), die bestätigt, daß der
Speicherbus, auf dem die Datenübertragung auf der Basis der
DMA-Anforderung durchgeführt werden soll, nicht verwendet wird,
und dann das DMA-Anforderungssignal durchläßt; und
ein RS-Flip-Flop (103), das komplementär zwei
DMA-Anforderungssignale (DMA REQ 2, DMA REQ 3) gemäß dem
DMA-Anforderungssignal, das durch die UND-Einrichtung (102) hindurch
gelassen wird, zu der Prioritätsniveau-Entscheidungsschaltung
sendet;
wobei die zwei DMA-Anforderungssignale eine
Datenübertragung von dem Cache-Speicher (7) und eine
Datenübertragung zu dem Cache-Speicher anzeigen;
wobei das Kennzeichen-Flip-Flop (101) durch jedes
DMA-Bestätigungssignal (DMA ACK 2, DMA ACK 3), das von der
Prioritätsniveau-Entscheidungsschaltung in Antwort auf jedes
DMA-Anforderungssignal zurückgegeben wird, zurückgesetzt wird.
12. System gemäß Anspruch 11, wobei die UND-Einrichtung
(102) darüber benachrichtigt wird, daß der Speicherbus von dem
Bus-Prioritätsverteiler (23) nicht verwendet wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62004664A JPS63172359A (ja) | 1987-01-12 | 1987-01-12 | 直接メモリアクセスシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3851445D1 DE3851445D1 (de) | 1994-10-20 |
DE3851445T2 true DE3851445T2 (de) | 1995-02-09 |
Family
ID=11590190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3851445T Expired - Fee Related DE3851445T2 (de) | 1987-01-12 | 1988-01-08 | Durch Direktspeicherzugriff gesteuertes System. |
Country Status (7)
Country | Link |
---|---|
US (1) | US5016165A (de) |
EP (1) | EP0275157B1 (de) |
JP (1) | JPS63172359A (de) |
KR (1) | KR920005834B1 (de) |
CA (1) | CA1306071C (de) |
DE (1) | DE3851445T2 (de) |
ES (1) | ES2058242T3 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004046438A1 (de) * | 2004-09-24 | 2006-04-06 | Infineon Technologies Ag | Vorrichtung zum Steuern des Zugriffs von Verarbeitungseinrichtungen auf Speicher in einem eingebetteten System |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276845A (en) * | 1988-08-25 | 1994-01-04 | Yamaha Corporation | Apparatus with multiple buses for permitting concurrent access to a first memory by a processor while a DMA transfer is occurring between a second memory and a communications buffer |
JP2774862B2 (ja) * | 1990-07-16 | 1998-07-09 | 株式会社日立製作所 | Dma制御装置および情報処理装置 |
US5649232A (en) * | 1991-06-14 | 1997-07-15 | Integrated Device Technology, Inc. | Structure and method for multiple-level read buffer supporting optimal throttled read operations by regulating transfer rate |
US5261072A (en) * | 1991-10-31 | 1993-11-09 | Tandy Corporation | Compact disk data transfer system using cache memory |
WO1993018461A1 (en) * | 1992-03-09 | 1993-09-16 | Auspex Systems, Inc. | High-performance non-volatile ram protected write cache accelerator system |
JPH0683321A (ja) * | 1992-09-04 | 1994-03-25 | Fuji Xerox Co Ltd | 画像データ処理装置 |
CA2135681C (en) * | 1993-12-30 | 2000-01-18 | Srinivas V. Makam | System and method for directly accessing long-term memory devices |
US5991835A (en) * | 1994-11-22 | 1999-11-23 | Teac Corporation | Peripheral data storage device in which time interval used for data transfer from relatively fast buffer memory to relatively slower main memory is selected in view of average of time intervals during which data blocks were recently received from host |
US6598136B1 (en) * | 1995-10-06 | 2003-07-22 | National Semiconductor Corporation | Data transfer with highly granular cacheability control between memory and a scratchpad area |
KR0160193B1 (ko) * | 1995-12-30 | 1998-12-15 | 김광호 | 직접메모리접근 제어장치 |
US5781927A (en) * | 1996-01-30 | 1998-07-14 | United Microelectronics Corporation | Main memory arbitration with priority scheduling capability including multiple priorty signal connections |
JP3519205B2 (ja) * | 1996-03-21 | 2004-04-12 | シャープ株式会社 | Dmaコントローラ |
EP1164492A1 (de) * | 1999-12-17 | 2001-12-19 | Sony Corporation | Apparat und verfahren um information und aufgezeichnetes medium zu verarbeiten |
JP4178010B2 (ja) * | 2002-08-27 | 2008-11-12 | アルプス電気株式会社 | データ伝送方法 |
US7793295B2 (en) | 2004-08-26 | 2010-09-07 | Mediatek Incoropration | Setting bandwidth limiter and adjusting execution cycle of second device using one of the GBL classes selected based on priority of task from first device |
JP4934000B2 (ja) * | 2007-10-12 | 2012-05-16 | 株式会社リコー | 調停装置、調停方法及びプログラム |
US8621154B1 (en) | 2008-04-18 | 2013-12-31 | Netapp, Inc. | Flow based reply cache |
US8161236B1 (en) | 2008-04-23 | 2012-04-17 | Netapp, Inc. | Persistent reply cache integrated with file system |
US8171227B1 (en) | 2009-03-11 | 2012-05-01 | Netapp, Inc. | System and method for managing a flow based reply cache |
US8367460B2 (en) | 2010-06-22 | 2013-02-05 | Micron Technology, Inc. | Horizontally oriented and vertically stacked memory cells |
JP5424138B2 (ja) * | 2012-02-17 | 2014-02-26 | 株式会社リコー | 調停装置、画像形成装置、調停方法及びプログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5831459A (ja) * | 1981-08-19 | 1983-02-24 | Hitachi Ltd | 磁気バブルメモリ装置 |
US4556953A (en) * | 1982-02-24 | 1985-12-03 | Caprio A Ronald | Interchangeable interface circuitry arrangements for use with a data processing system |
JPS6052468B2 (ja) * | 1982-03-04 | 1985-11-19 | 株式会社東芝 | Dmaバス負荷可変装置 |
JPS58217034A (ja) * | 1982-06-11 | 1983-12-16 | Nec Corp | デ−タ処理装置 |
JPS5927334A (ja) * | 1982-08-06 | 1984-02-13 | Hitachi Ltd | ダイレクトメモリアクセスメモリ装置 |
JPS60222951A (ja) * | 1984-04-20 | 1985-11-07 | Hitachi Ltd | デ−タ転送方式 |
US4688166A (en) * | 1984-08-03 | 1987-08-18 | Motorola Computer Systems, Inc. | Direct memory access controller supporting multiple input/output controllers and memory units |
JPS61251951A (ja) * | 1985-04-30 | 1986-11-08 | Usac Electronics Ind Co Ltd | デ−タ転送速度制御方式 |
US4716523A (en) * | 1985-06-14 | 1987-12-29 | International Business Machines Corporation | Multiple port integrated DMA and interrupt controller and arbitrator |
-
1987
- 1987-01-12 JP JP62004664A patent/JPS63172359A/ja active Granted
-
1988
- 1988-01-04 CA CA000555753A patent/CA1306071C/en not_active Expired - Lifetime
- 1988-01-08 EP EP88300135A patent/EP0275157B1/de not_active Expired - Lifetime
- 1988-01-08 ES ES88300135T patent/ES2058242T3/es not_active Expired - Lifetime
- 1988-01-08 DE DE3851445T patent/DE3851445T2/de not_active Expired - Fee Related
- 1988-01-12 KR KR1019880000161A patent/KR920005834B1/ko not_active IP Right Cessation
- 1988-01-12 US US07/142,949 patent/US5016165A/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004046438A1 (de) * | 2004-09-24 | 2006-04-06 | Infineon Technologies Ag | Vorrichtung zum Steuern des Zugriffs von Verarbeitungseinrichtungen auf Speicher in einem eingebetteten System |
DE102004046438B4 (de) * | 2004-09-24 | 2006-07-06 | Infineon Technologies Ag | Vorrichtung zum Steuern des Zugriffs von Verarbeitungseinrichtungen auf Speicher in einem eingebetteten System |
Also Published As
Publication number | Publication date |
---|---|
KR920005834B1 (ko) | 1992-07-20 |
JPS63172359A (ja) | 1988-07-16 |
ES2058242T3 (es) | 1994-11-01 |
CA1306071C (en) | 1992-08-04 |
US5016165A (en) | 1991-05-14 |
DE3851445D1 (de) | 1994-10-20 |
EP0275157B1 (de) | 1994-09-14 |
EP0275157A2 (de) | 1988-07-20 |
JPH0560623B2 (de) | 1993-09-02 |
EP0275157A3 (de) | 1991-09-18 |
KR880009307A (ko) | 1988-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3851445T2 (de) | Durch Direktspeicherzugriff gesteuertes System. | |
DE3909948C2 (de) | ||
DE68915701T2 (de) | Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung. | |
DE2854485C2 (de) | Datenverarbeitungsanlage | |
DE3689226T2 (de) | Multiprozessorsystem mit multihierarchischen Ebenen. | |
DE3882977T2 (de) | Verfahren und anordnung zur implementierung von mehrverriegelungsanzeigen in einem multiprozessordatenverarbeitungssystem. | |
DE68926725T2 (de) | Atomare Sequenz für Phasenübergänge | |
DE69312192T2 (de) | Aufteilung des buszugriffs zwischen mehreren endlichen automaten mit minimaler wartezeit und priorisierung von ähnlichen zyklustypen | |
DE19723065B4 (de) | Halbleitereinrichtung und Computersystem | |
DE3783370T2 (de) | Schaltung zur blockierungsverhinderung von hochprioritaetsanforderungen an eine systemsteuerung. | |
DE68913914T2 (de) | Multiprozessorsystem mit Vervielfältigung von globalen Daten. | |
DE3486299T2 (de) | Bus-Arbitrierungssystem. | |
DE69319763T2 (de) | Verfahren und Gerät zur Durchführung eines Busarbitrierungsprotokolls in einem Datenverarbeitungssystem | |
DE60108911T2 (de) | Prozessorschnittstelle mit geringem overhead | |
EP0006164B1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern | |
DE2523372C3 (de) | Eingabe-/Ausgabe-Anschlußsteuereinrichtung | |
DE69127851T2 (de) | Direktspeicherzugriffübertragungssystem und Benutzung | |
DE3689198T2 (de) | Systembus für Kommunikation zwischen Prozessoren. | |
DE69131840T2 (de) | Verfahren zur Vervielfältigung eines geteilten Speichers | |
DE3820544C2 (de) | Ortsbereichsnetzsystem mit einem hiermit gekoppelten Mehrcomputersystem und Verfahren zur Steuerung hiervon | |
DE2854397A1 (de) | Pufferspeichereinheit fuer ein datenverarbeitungssystem | |
CH657714A5 (de) | Mehrprozessorenanlage. | |
DE3882988T2 (de) | Verfahren und anordnung zur einleitung von vorgängen in einem multiprozessordatenverarbeitungssystem mit verwendung von mehrverriegelungsanzeigen. | |
DE3485980T2 (de) | Datenverarbeitungsapparat zur verbindung mit einem gemeinsamen uebertragungsbus in einem datenverarbeitungssystem. | |
DE3882991T2 (de) | Anordnung und methode zur erzielung von unterbrechungen mit einem "pended bus". |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |