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
Application number
DE3851445T
Other languages
English (en)
Other versions
DE3851445D1 (de
Inventor
Toshiharu Ohshima
Toshihiro Sakai
Akinao Tanikawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE3851445D1 publication Critical patent/DE3851445D1/de
Application granted granted Critical
Publication of DE3851445T2 publication Critical patent/DE3851445T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling 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 &le; 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.
DE3851445T 1987-01-12 1988-01-08 Durch Direktspeicherzugriff gesteuertes System. Expired - Fee Related DE3851445T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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 &#34;pended bus&#34;.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee