DE68924893T2 - Datenübertragungsverfahren. - Google Patents
Datenübertragungsverfahren.Info
- Publication number
- DE68924893T2 DE68924893T2 DE68924893T DE68924893T DE68924893T2 DE 68924893 T2 DE68924893 T2 DE 68924893T2 DE 68924893 T DE68924893 T DE 68924893T DE 68924893 T DE68924893 T DE 68924893T DE 68924893 T2 DE68924893 T2 DE 68924893T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- memory
- time
- read
- bus
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 230000005540 biological transmission Effects 0.000 title claims abstract description 6
- 238000004891 communication Methods 0.000 claims abstract description 9
- 238000011084 recovery Methods 0.000 claims description 3
- 230000002457 bidirectional effect Effects 0.000 claims 1
- 230000002093 peripheral effect Effects 0.000 description 66
- 238000012546 transfer Methods 0.000 description 42
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 7
- 239000000872 buffer Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- WZXXZHONLFRKGG-UHFFFAOYSA-N 2,3,4,5-tetrachlorothiophene Chemical compound ClC=1SC(Cl)=C(Cl)C=1Cl WZXXZHONLFRKGG-UHFFFAOYSA-N 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036316 preload Effects 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
- 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)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
Description
- Die Erfindung betrifft ein Verfahren zum Übertragen von Daten zwischen zwei Einrichtungen in einem Datenverarbeitungssystem, z.B. einem System zur Erleichterung einer Fly-by-Direktspeicherzugriffs (DMA) -Datenübertragung.
- Herkommlicherweise mußten in digitalen Datenverarbeitungssysternen große Mengen an Daten zwischen Peripheneeinrichtungen und dem Speicher übertragen werden. Bei diesen Systemen war die zentrale Verarbeitungseinheit verantwortlich für die unter Programmsteuerung durchgeführte Datenübertragung zwischen dem Speicher und Peripherieeinrichtungen. Derartige Datenübertragungssysteme waren langsam, da die zentrale Verarbeitungseinheit für jedes übertragene Daten-Byte die zahlreichen zur Durchführung einer Übertragung erforderlichen Instruktionen abrufen und ausführen mußte. Zudem stand die zentrale Verarbeitungseinheit nicht für andere Aufgaben zur Verfügung, während sie mit der Übertragung von Daten beschäftigt war.
- Schließlich wurde die verhältnismäßig langsame, programmgesteuerte Datenübertragung zwischen einer Einrichtung und dem Speicher durch eine Direktspeicherzugriffs-Funktion ersetzt. In Datenverarbeitungssystemen, bei denen zwei Einrichtungen über einen Kommunikationsbus Daten untereinander übertragen, ist die Verwendung eines Direktspeicherzugriffs weithin bekannt. Die Direktspeicherzugriffs-Funktion erlaubt einen unbeaufsichtigten direkten Datenfluß von dem Speicher zu einer bestimmten Einrichtung. Dieser Datenübertragungsmechanismus wird als "Flow-thru" bezeichnet. Dies bedeutet, daß nach dem Identifizieren der Anfangs-Datenposition und dem Bestimmen der Datenmenge keine zentrale Verarbeitungseinheit mehr benötigt wird. Wenn eine Einrichtung auf Daten in dem Speicher zugreifen soll, steuert die zwischen der Einrichtung und dem Speicher angeordnete DMA-Einheit die Datenübertragung zwischen diesen.
- Die DMA-Einheit weist typischerweise ein Kurzzeitspeicherregister auf, das die Daten aus dem Speicher, die zu der Einrichtung übertragen werden sollen, puffert, damit diese Daten bei Bedarf für die Einrichtung zur Verfügung stehen. Somit werden bei typischen DMA-Leseoperationen Daten, die sich an einer bestimmten Adresse in dem Speicher befinden, aus dem Speicher in das Kurzzeitspeicherregister der DMA-Einheit und daraufhin aus dem Kurzzeitspeicherregister in die Einrichtung, von der die Anforderung ausgeht, übertragen (gelesen). In ähnlicher Weise werden bei typischen DMA-Schreiboperationen Daten von einer Einrichtung erzeugt, in das Kurzzeitspeicherregister übertragen und dann an die entsprechende Stelle in dem Speicher rückübertragen, um dort abgespeichert zu werden.
- US-A-4075606 beschreibt ein Datenbussystem zum Übertragen von Daten zwischen Einrichtungen. Die zu übertragenden Daten werden in einem Kurzzeitpuffer gespeichert, so daß die Daten für den zu einer Einrichtung führenden Bus ungeachtet der Tatsache zur Verfügung stehen, daß die Eingabeoperation beendet worden ist. Es ist keine Synchronisation zwischen den Buseingabe- und den Busausgabefunktionen vorgesehen. Der Puffer hält den Bus in dem gleichen Zustand, bis neue Daten eingegeben werden.
- In neuerer Zeit ist eine sogenannte Fly-by-Technik entwickelt worden, aufgrund derer in der DMA-Einheit kein Kurzzeitspeicherregister mehr erforderlich ist. Bei in Fly-by-Technik erfolgenden Lese-Datenübertragungen werden die Daten - unter Steuerung durch die DMA-Einheit - aus dem Speicher gelesen und in die anfordernde Einrichtung übertragen, jedoch nicht in einem Kurzzeitspeicherregister der DMA-Einheit gespeichert. Der Fly-by-Übertragungsmodus erfordert separate Lese- und Schreib-Steuerungen für Ausgangs- und Zielort. Fly-by-DMA- Schreiboperationen arbeiten in ähnlicher Weise.
- Dynamische Direktzugriffsspeichereinrichtungen (DRAM) werden wegen ihrer geringen Kosten und hohen Dichte häufig in Systemen verwendet. Um auf eine Stelle im Speicher zuzugreifen, muß die Adresse dieser Stelle zusammen mit geeigneten Steuersignalen an die Einrichtung übermittelt werden.
- Um die interne Ausgestaltung des Speichers zu optimieren und die Stift-Anzahl der Einrichtung zu minimieren, ist es wünschenswert, die Adresse der gewünschten Speicherstelle in zwei Teilen zu übermitteln, die als Reihen- und Spalten-Adressen bezeichnet werden, wobei die gleiche Gruppe von Stiften verwendet wird. Reihenadress-Strobe(RAS)- und Spaltenadress-Strobe(CAS)-Taktsignale zeigen die Präsenz von Reihen- und Spalten-Adressen an dem Stift an und werden von der internen Logik der DRAM-Einrichtungen zur internen Haltespeicherung der Adressen verwendet. Ein zusätzliches Steuersignal, das als Schreibaktivierungssignal (WE) bezeichnet wird, wird verwendet, um anzuzeigen, ob der gewünschte Speicherzugriffszyklus ein Lesezyklus (WE inaktiv) oder ein Schreibzyklus (WE aktiv ist)
- Durch Organisieren des Speichers als Array von Reihen und Spalten fallen aufeinanderfolgende Speicherpositionen in die gleiche Reihe, bis auf sämtliche Elemente dieser Reihe zugegriffen worden ist. Ferner wird bei jedes Mal, wenn ein Zugriff auf irgendein Bit in einer Reihe erfolgt, intern auf die gesamte Reihe zugegriffen und diese außerhalb des Speicher- Arrays gebracht. Daraufhin wird das gewählte Spalten-Bit, wie es durch das Spaltenadress-Strobe identifiziert worden ist, an die anfordernde Einrichtung übermittelt. Falls die Spalten- Adresse des nächsten Zugriffs die gleiche ist wie diejenige des vorherigen Zugriffs, kann die nächste Stelle gewählt werden, indem einfach die Spalten-Adresse dieser Stelle verwendet und die CAS-Steuerleitung aktiviert wird. Diese Technik bezeichnet man als Durchführen eines CAS-Zyklus.
- Nachteiligerweise existiert eine geringe Off-Zeit zwischen zwei aufeinanderfolgenden CAS-Zyklen. Zudem erfordert der Zeitbedarf zum Erstellen und Halten der Daten für die anfordernde Einrichtung eine vorbestimmte Zeitdauer zwischen den Speicherzugriffen, falls die herkömmliche Fly-by-Technik verwendet wird. Noch gravierender ist die Tatsache, daß, selbst falls der Speicher und die Einrichtung die gleiche Zykluszeit aufweisen, diese nicht derart konzipiert werden konnen, daß sie mit der gleichen minimalen Zykluszeit arbeiten. Dies wird dadurch verursacht, daß die übertragende Einrichtung eine inkompatible Datenausgabe- und Datenabschalt-Verzögerung aufweist und die empfangende Einrichtung inkompatible Datenerstellungs-und Datenhalte-Zeiten aufweist.
- Es wäre vorteilhaft, ein System zur Datenübertragung in einer DMA-Umgebung zu schaffen, bei dem eine verbesserte Fly-by- Technik verwendet wird.
- Es wäre ferner vorteilhaft, ein System zu schaffen, mit dem der Start einer Operation zum Lesen von Daten in einer DRAM- Einrichtung und das Erfassen dieser Daten schnell durchgeführt werden können.
- Es wäre ferner vorteilhaft, ein System zum Ubertragen von Daten zu schaffen, bei dem die einem Datenkommunikationsbus entnommenen Daten innerhalb eines einzigen Zyklus auf den Bus zurückgesteuert werden kännen.
- Ferner wäre es vorteilhaft, die CAS-Leitung zu deaktivieren, während die Daten auf den Datenbus zurückgesteuert werden, so daß die CAS-Leitung in einer kürzeren Zeitdauer als normalerweise üblich reaktiviert werden kann.
- Gemäß einem Aspekt der Erfindung werden ein Verfahren und eine Vorrichtung gemäß Anspruch 1 und 11 geschaffen, mittels derer Daten innerhalb eines einzigen Zugriffszyklus über einen Datenkommunikationsbus zwischen zwei Einrichtungen übertragen werden können.
- Ein genaueres Verständnis der Erfindung ergibt sich aus den beigefügten Figuren im Zusammenhang mit der detaillierten Beschreibung der Erfindung.
- Fig. 1 zeigt ein Blockschaltbild einer herkömmlichen Datenübertragungs-Konfiguration bei Verwendung für DMA- Flow-thru-Operationen;
- Fig. 2 zeigt ein Blockschaltbild einer herkömmlichen Datenübertragungs-Konfiguration bei Verwendung für DMA-Flyby-Operationen;
- Fig. 3 zeigt ein Zeitsteuerungsdiagramm der Zykluszeit von Speicher und Peripheneeinrichtung;
- Fig. 4 zeigt ein Blockschaltbild einer gemäß der Erfindung verwendeten Datenübertragungs-Konfigurat ion;
- Fig. 5 zeigt ein Blockschaltbild von bei der Erfindung verwendeten Signalleitungen; und
- Fign. 6 und 7
- zeigen Zeitsteuerungsdiagramme zur Veranschaulichung einer Datenübertragungs-Operation.
- In herkömmlichen DNA-Umgebungen können zwei Typen von Datenübertragungs-Transaktionen verwendet werden: Flow-thru und Fly-by. Fig. 1 zeigt ein Blockschaltbild einer Datenübertragungs-Konfiguration, die für Flow-thru-Operationen verwendet wird, wie gemäß dem Stand der Technik bekannt ist. Eine Flowthru-Transaktion besteht aus einem separaten Lese- und einem separaten Schreib-Zyklus.
- Herkömmlicherweise führt bei einem DMA-System eine Peripheneeinrichtung den Zugriff auf Daten direkt aus dem Speicher aus. In einem allgemeineren Fall jedoch können zwei Peripheneeinrichtungen mittels eines Kommunikationsbusses direkt mit einer einzigen DMA-Einheit verbunden werden. Fig. 1 zeigt eine Speichereinheit oder Peripheneeinrichtung bei 10 und eine weitere bei 12. Eine DMA-Einheit 14 ist mit jeder der Einrichtungen oder Speichereinheiten 10 und 12 und mit einem Systemkommunikationsbus 16 verbunden, mit dem auch die beiden Einrichtungen 10 und 12 verbunden sind. Zur Vereinfachung der Beschreibung wird die Komponente 10 im folgenden als Speichereinheit betrachtet, und die Komponente 12 wird als Peripherieeinrichtung betrachtet.
- Der Kommunikationsbus 16 enthält tatsächlich einen Datenbus und einen Adressbus, jedoch ist bei einer I/O-Einrichtung der Adressbus nicht erforderlich, damit die Einrichtung Daten empfangen kann.
- Die DMA-Einheit 14 enthält ein Kurzzeitregister 18. Bei einer Übertragung von dem Speicher zu einer Peripheneeinrichtung werden Daten aus dem Speicher 10 über den Systembus 16 in das Kurzzeitregister 18 geladen. Anschließend werden die Daten über den Systembus 16 an die Peripheneeinrichtung 12 übermittelt.
- Bei einer Übertragung aus einer Peripheneeinrichtung zu dem Speicher werden Daten aus der Peripheneeinrichtung 12 über den Systembus 16 in das Kurzzeitregister 18 geladen. Anschließend werden die Daten über den Systembus 16 an den Speicher 10 übermittelt.
- Eine Übertragung von Speicher zu Peripheneeinrichtung wird in der folgenden Weise durchgeführt. Die DMA-Einheit 14 startet einen Speicherlesezyklus, indem sie die Adresse der gewünschten Speicherstelle auf den Systemadressbus 16 steuert. Die DMA-Einheit 14 aktiviert geeignete Steuersignale, um anzuzeigen, daß ein Speicherlesezyklus durchgeführt wird. Der Speicher 10 reagiert auf diese Leseänforderung, indem er die Daten aus der adressierten Speicherstelle auf den Systemdatenbus 16 plaziert. Die DMA-Einheit 14 speichert diese Daten in dem Kurzzeitregister 18 und deaktiviert die Steuersignale, um den Speicherlesezyklus zu beenden.
- Die DMA-Einheit 14 startet nun einen Peripherieeinrichtungs- Schreibzyklus, indem sie die Daten aus dem Kurzzeitregister-18 auf den Systemdatenbus 16 gattert. Anschließend aktiviert die DMA-Einheit 14 geeignete Steuersignale, um anzuzeigen, daß ein Peripherieeinrichtungs-Schreibzyklus durchgeführt wird. Die Peripheneeinrichtung 12 empfängt die Daten aus dem Systemdatenbus 16. Dann beendet die DMA-Einheit 14 den Zyklus, indem sie die Steuersignale deaktiviert.
- Es ist zu beachten, daß die Zykluszeit des Speichers und der Peripheneeinrichtung unabhängig durch externe Hardware, interne softwaregesteuerte Hardware oder eine Kombination aus beiden gesteuert werden kann. Die Gesamt-Übertragungszeit ist die Summe von zwei Übertragungszyklen, die zur Durchführung einer Übertragung erforderlich sind.
- Da zu jedem gegebenem Zeitpunkt entweder ein Lesezyklus oder ein Schreibzyklus durchgeführt wird, kann eine einzige gemeinsame Gruppe von Lese/Schreib-Steuersignalen verwendet werden.
- Die Datenübertragungen von Peripheneeinrichtung zu Speicher oder von Speicher zu Speicher werden in ähnlicher Weise durchgeführt.
- Fig. 2 zeigt ein Blockschaltbild einer Datenübertragungs-Konfiguration, die für Fly-by verwendet wird, wie gemäß dem Stand der Technik bekannt ist. Der Speicher 30 und eine Fly-by-Peripheneeinrichtung 32 sind mit der DMA-Einheit 34 verbunden. Ein Systembus 36 ist mit sämtlichen der drei genannten Einrichtungen verbunden. Die DMA-Einheit 34 adressiert Daten in dem Speicher 30 über die Speicheradressleitung 38. Die Daten werden über eine Datenleitung 40 aus dem Speicher 30 an die Peripheneeinrichtung 32 übermittelt. Ein Fly-by-Steuersignal wird von der DMA-Einheit 34 an die Peripheneeinrichtung 32 übermittelt, wenn die DMA-Einheit 34 die Daten erfolgreich aus dem Speicher 30 an die Einrichtung 32 übertragen hat. In der DMA-Einheit 34 wird kein Kurzzeitregister für Datenübertragungs-Operationen zwischen dem Speicher 30 und der Peripherieeinrichtung 32 benötigt.
- Fly-by-Datenübertragungs-Operationen werden in einem einzelnen Zyklus durchgeführt, wobei eine wesentlich schnellere Übertragungsrate erzielt wird als bei Flow-thru-Operationen. Bei einer Fly-by-Operation können Daten zwischen Speicher und Peripheneeinrichtung oder zwischen Peripheneeinrichtung und Peripheneeinrichtung übertragen werden. Speicher-zu-Speicher- Operationen können normalerweise nicht im Fly-by-Modus, sondern nur im Flow-thru-Modus durchgeführt werden.
- Der Fly-by-Modus erlaubt eine schnellere Datenübertragung als der Flow-thru-Modus. Im Fly-by-Modus können Daten in einem einzigen Zyklus übertragen werden, statt daß dazu wie bei der Flow-thru-Übertragung zwei Zyklen erforderlich sind.
- Wie bereits erläutert, wird bei der Fly-by-Übertragung eine Einrichtung (z.B. ein Speicher) gelesen, während in eine weitere Einrichtung (z.B. eine Peripheneeinrichtung) geschrieben wird. Dadurch wird die Verwendung eines gemeinsamen Lesel Schreib-Signals verhindert, da zu jedem Zeitpunkt nur ein Lese-Befehl oder ein Schreib-Befehl über eine Gruppe von Steuersignalen übermittelt werden kann. Um dieses Problem zu beseitigen, sind Systeme, die eine Fly-by-Übertragung ermöglichen, entweder mit einer externen Logik versehen oder arbeiten mit Peripherieeinrichtungen, die einen speziellen Fly-by-Steuersignaleingang aufweisen.
- Bei einer Fly-by-Übertragung von Speicher zu Peripheneeinrichtung startet die DMA-Einheit 34 einen Speicherlesezyklus, indem sie die Adresse der gewünschten Speicherstelle auf den Systemadressbus 36 steuert. Die DMA-Einheit 34 erzeugt geeignete Steuersignale, um anzuzeigen, daß ein Speicherlesezyklus durchgeführt wird. Der Speicher 30 reagiert auf diese Leseanforderung, indem er die Daten aus der adressierten Speicherstelle auf den Systemdatenbus 36 plaziert.
- Die DMA-Einheit 34 aktiviert ferner Steuersignale der Peripheneeinrichtung 32, um eine Fly-by-Operation anzuzeigen. Die Peripheneeinrichtung 32 empfängt die Daten von dem Systemdatenbus 36 unter Steuerung durch den Speicher 30. Anschließend beendet die DMA-Einheit 34 den Übertragungszyklus, indem die das Steuersignal deaktiviert.
- Wie bereits erwähnt, wird die Zykluszeit des Speichers und der Peripheneeinrichtung durch externe Hardware, interne softwaregesteurte Hardware oder eine Kombination aus beiden gesteuert. Die Zykluszeit jeder Komponente muß jedoch derart eingestellt werden, daß sie zumindest der langsameren der beiden Zykluszeiten gleich ist. Die Gesamt-Übertragungszeit ist typischweise größer als die längere der beiden Zykluszeiten, um anderen zugehörigen zeitlichen Anforderungen gerecht zu werden.
- Übertragungen von Speicher zu Peripheneeinrichtung werden in ähnlicher Weise durchgeführt.
- Fig. 3 zeigt ein Zeitsteuerungsdiagramm der typischen Zykluszeit von Speicher und Peripheneeinrichtung. In der Figur geben die in Klammern gesetzten Zahlen die Zeit in Nanosekunden an. Die Zeitsteuerungsparameter sind wie folgt abgekürzt:
- tPC Seitenmoduszykluszeit
- tCAS CAS-Impulsbreite
- tPC CAG-Vorladezeit
- tCAC Zugriffszeit aus CAS
- toFF Ausgangspuffer-Abschaltverzögerung
- tWC Schreibzykluszeit
- tWP Schreibimpulsbreite
- tWR Schreibrückgewinnungszeit
- tDS Schreibdatenerstellungszeit
- tDH Schreibdatenhaltezeit
- Als illustratives Beispiel sei der Fall angenommen, daß sowohl der Speicher als auch die Einrichtung eine Zykluszeit von 100 ns aufweisen. Sie kännen nicht bei 100 ns zusammen arbeiten, da die Einrichtung verlangt, daß die Daten für 50 ns gültig bleiben, wohingegen der Speicher garantiert, daß die Daten nur für 40 ns gültig bleiben. Die Erfindung befaßt sich mit diesem Problem.
- Fig. 4 zeigt ein Blockschaltbild des Datenübertragungssystems gemäß der Erfindung. Wiederum sind der Speicher 10, die I/O- Peripheneeinrichtung 12 und die DMA-Einheit 14 betriebsmäßig miteinander verbunden; gemäß der Erfindung jedoch sind zwei unabhängige Gruppen von Lese/Schreib-Steuersignalen vorgesehen. Es werden Speicher-Lese/Schreib-Steuerleitungen 15 verwendet, um Steuersignale an DRAM-Einrichtungen zu übermitteln, die bei der bevorzugten Anwendungsform zum Implementieren der Speichereinheit 10 dienen. Peripherieeinrichtungs-Lese/ Schreib-Steuerleitungen 16 werden zum Übermitteln von Steuersignalen an die I/O-Peripherieeinrichtung 12 verwendet.
- Fig. 5 zeigt ein Blockschaltbild, in dem das System der Erfindung detailliert veranschaulicht ist und das die bei der Erfindung verwendeten Signalleitungen zeigt. Die Beschreibung dieser Figur ist im Zusammenhang mit Fign. 6 und 7, die Zeitsteuerungsdiagramme von Datenübertragungs-Operation zeigen, am besten verständlich.
- Die Speichereinheit 10 und die Peripheneeinrichtung 12 sind durch einen Datenbus 110 miteinander und mit einer Peripherie- Steuereinrichtung 14 verbunden. Ferner sind die Speichereinheit 10 und die Peripherie-Steuereinrichtung 14 durch einen Adressbus 109 verbunden, der zum Übermitteln der Adresse der Speicherstelle, auf die zugegriffen werden soll, verwendet wird.
- Die Speichereinheit 10 und die Peripherie-Steuereinrichtung 14 werden ferner durch eine Gruppe von Speichersteuersignalen 118 verbunden, die dazu dienen, die Speichereinheit 10 einer Leseoder Schreib-Operation zu unterziehen. Da die Speichereinheit 10 bei der bevorzugten Anwendungsform DRAM-Einrichtungen aufweist, sind die Steuersignale Reihenadress-Strobe (RAS)-, Spaltenadress-Strobe (CAS)- und Schreibaktivierungs (WE)-Signale.
- Eine Gruppe von Peripherie-Steuersignalen 120 verbindet die Peripherie-Steuereinrichtung 14 und die Peripheneeinrichtung 12. Auch diese Signale werden verwendet, um Lese- und Schreib- Operationen an der Peripheneeinrichtung 12 durchzuführen. Es werden nur dann Lese- und Schreib-Operationen an der Peripheneeinrichtung 12 durchgeführt, wenn die Einrichtung 12 mittels eines Datenanforderungs (DRQ)-Signals anzeigt, daß sie für eine derartige Operation bereit ist. Die Peripherie-Steuereinrichtung 14 zeigt durch ein Datenbestätigungs (ACK)-Signal an, daß die verlangte Operation durchgeführt wird, und auch der Typ der Operation (Lesen oder Schreiben) wird durch ein RD- oder WR-Signal angezeigt.
- Die Peripherie-Steuereinrichtung 14 enthält einen Speichersteuersignalgenerator 102, einen Adress-Pomter 108 (der zum Identifizieren einer Stelle in der Speichereinheit 10 verwendet wird) und einen 2-zu-1-Multiplexer 106, der zum Multiplexen der Speicheradresse in Reihen-Adress- und Spalten-Adress- Abschnitte verwendet wird, wie es von DRAM-Einrichtungen verlangt wird. Ferner existiert ein Kurzzeitregister 112, das die gerade übertragenen Daten hält. Ein Peripherie-Steuersignalgenerator 100 dient zum Erzeugen von Steuersignalen für die Peripheneeinrichtung 12.
- In der Speichereinheit 10 ist ein Speicherdatenport 114 vorgesehen. In ähnlicher Weise ist in der Peripheneeinrichtung 12 ein Periphene-Datenport 116 vorgesehen.
- Fig. 6 zeigt die Zeitsteuerung von Signalen, die zum Steuern des Datenstroms aus der Speichereinheit 10 zu der Peripherieeinrichtung 12 gemäß der Erfindung verwendet werden, und Fig. 7 zeigt die Zeitsteuerung von Signalen, die zum Steuern des Datenstroms aus der Peripheneeinrichtung 12 zu der Speichereinheit 10 verwendet werden.
- Zum Zweck der Beschreibung der Datenübertragung aus dem Speicher 10 zu der Peripheneeinrichtung 12 sei angenommen, daß die Peripheneeinrichtung 12 derart vorprogrammiert worden ist, daß sie einen Block von Daten aus dem Speicher 10 zu einer mit dieser verbundenen (nicht gezeigten) Einheit überträgt. Ferner sei angenommen, daß die Startadresse dieses Blocks von Daten in dem Adress-Pointer 108 vorprogrammiert worden ist.
- Typischerweise ist die Peripheneeinrichtung 12 in der Lage, eine Mehrzahl von Daten-Bytes in einem Burst anzunehmen. In ähnlicher Weise ist der Speicher 10 in der Lage, eine Mehrzahl von Daten-Bytes in einem Burst zu liefern. Ein Burst kann aus den folgenden Gründen beendet werden:
- 1) Die verlangte Anzahl von Bytes ist übertragen worden;
- 2) die Peripheneeinrichtung 12 zeigt durch das Negieren des DRQ-Signals an, daß sie keine Daten mehr annehmen kann;
- 3) in der Speicheradresse ist die Seiten-Grenze überschritten worden (d.h. die Reihen-Adresse der nächsten Stelle in dem Speicher 10, auf die zugegriffen werden soll, unterscheidet sich von der Reihen-Adresse der aktuellen Stelle); oder
- 4) eine vorbestimmte Burst-Länge ist ausgeschöpft worden.
- In Systemen, die präventive Speicherübertragungen unterstützen, kann das Burst auch beendet werden, weil auf dem Bus eine Übertragung mit höherer Priorität durchgeführt werden muß.
- Immer, wenn die Peripheneeinrichtung 12 zum Empfangen von Daten bereit ist, signalisiert sie diesen Zustand durch Aktivieren von DRQ zum Zeitpunkt T1, wie Fig. 6 zeigt.
- Die Peripherie-Steuereinrichtung 14 detektiert dieses DRQ- Signal und reagiert durch Aktivieren eines ACK-Signals zum Zeitpunkt T2. Die Steuereinrichtung 14 initiiert eine Speicherlese-Operation, indem sie den Reihenadress-Abschnitt der Speicherstelle, auf die zugegriffen werden soll, auf den Speicheradressbus steuert.
- Zum Zeitpunkt T3 wird das RAS-Signal aktiviert, um dem Speicher 10 anzuzeigen, daß er die Reihen-Adresse intern halten soll. Nun wird das MUX-Steuersignal 104 aktiviert, um den Spaltenadress-Abschnitt der Speicherstelle auf den Speicheradressbus 109 zu steuern. Ferner wird das WE-Signal negiert, um anzuzeigen, daß ein Speicherlesezyklus durchgeführt werden soll. Dann wird zum Zeitpunkt T4 das CAS-Signal aktiviert, um dem Speicher 10 mitzuteilen, daß die Spalten-Adress- und WE- Signale gültig sind. Der Speicher 10 reagiert durch Ausgeben von Daten aus der adressierten Speicherstelle zum Zeitpunkt T5.
- Zum Zeitpunkt T6 wird das Peripherieeinrichtungs-Schreibsignal aktiviert. Ferner werden die Daten aus dem Speicher 10 in dem Kurzzeitregister 112 gespeichert. Der Adress-Pomter 108 wird nun derart inkrementiert, das er auf die nächste Speicherstelle, auf die zugegriffen werden soll, zeigt. Zu einem Zeitpunkt zwischen den Zeitpunkten T6 und T7 werden die Daten aus dem Kurzzeitregister 112 über den Datenbus 110 zurückgeleitet. Da der von dem Kurzzeitregister 112 ausgegebene Datenwert der gleiche ist, der von der Speichereinrichtung 10 ausgegeben wird, entstehen keine Daten-Konflikte auf dem Datenbus 110.
- Zum Zeitpunkt T7 wird zur Vorbereitung der Beendigung des aktuellen Speicherzyklus die QAS-Steuerung deaktiviert. Obwohl der Speicher 10 unmittelbar (null Nanosekunden) nach dem Zeitpunkt T7 (d.h. wenn die mimimale Ausgangspuffer-Abschaltverzögerung, TOFF, 0 nsec beträgt) und wenn die Datenerstellungszeit für die Peripheneeinrichtung 12 nicht erfüllt worden ist, das Zuführen von Daten an die Peripheneeinrichtung 12 beenden kann, kann das CAS-Signal deaktiviert werden, da die Daten aus dem Kurzzeitregister 112 immer noch an die Peripheneeinrichtung 12 übermittelt werden. Die Spaltenadresse der nächsten Stelle, auf die zugegriffen werden soll, wird zu diesem Zeitpunkt auf den Speicheradressbus 109 gesteuert.
- Nach der Erfüllung der Erstellungszeit-Anforderung der Penpheneeinrichtung 12 wird zum Zeitpunkt T8 das Peripherie- Schreibsignal deaktiviert.
- Zum Zeitpunkt T9 wird das CAS-Signal aktiviert, um den nächsten Speicherlesezyklus anzuzeigen. Das GAS-Signal zum Zeitpunkt T7 deaktiviert wurde, d.h. früher, als es bei herkömmlichen Fly-by-DMA-Systemen üblich gewesen wäre, kann es nun zum Zeitpunkt t9 eingeschaltet werden, also früher, als es ansonsten nach der Erfüllung der CAS-Vorladezeit (TCP) -Anforderung möglich gewesen wäre. Bei den bislang auf dem Gebiet bekannten herkömmlichen Fly-by-DMA-Systemen hätte das CAS- Signal aktiv gehalten werden müssen, um die Erstellungs- und Haltezeit-Anforderungen der Peripheneeinrichtung zu erfüllen.
- Zum Zeitpunkt T10 wird der Datenausgang aus dem Kurzzeitregister 112 abgeschaltet, so daß der Speicher 10 den Datenwert der nächsten Stelle, auf die zugegriffen wird, für den nächsten Zyklus ansteuern kann.
- Die vorstehend beschriebene Abfolge von Vorgängen wird für den nächsten Zyklus (zwischen den Zeitpunkten T10 und T12) wiederholt
- Diese Abfolge der Datenübertragung wird fortgesetzt, bis eine oder mehrere der oben aufgeführten Beendigungsbedingungen auftreten. Bei dem gezeigten Beispiel wird die Übertragung beendet, weil die Peripheneeinrichtung 12 durch Deaktivierung des DRQ-Signals zum Zeitpunkt Tu anzeigte, daß sie nicht in der Lage war, noch weitere Daten zu empfangen.
- Fig. 7 zeigt die Zeitsteuerungsabfolge für einen Ein-Byte- und einen Zwei-Byte-Übertragungs-Burst zur Datenübertragung zwischen einer Peripheneeinrichtung und einem Speicher. Dieser basale Mechanismus ist demjenigen ähnlich, der oben im Zusammenhang mit Übertragungen zwischen einem Speicher und einer Peripheneeinrichtung beschrieben wurde, und braucht somit hier nicht genauer erläutert zu werden.
Claims (11)
1. Verfahren zum Übertragen von Daten zwischen zwei
Einrichtungen (10,12) über einen Datenkommunikationsbus (110) in
einem einzigen Zugriffszyklus, mit den folgenden
Schritten:
a) Lesen von Daten aus einer vorbestimmten Stelle einer
ersten Einrichtung (10),
b) Schreiben der Daten in eine vorbestimmte Stelle einer
zweiten Einrichtung (12), und zwar während des Haltens
der Daten in einem Zwischenregister (112),
c) bei Beendigung der Leseoperation der ersten
Einrichtung (10), Zuführen der Daten aus dem Zwischenregister
(112) in die zweite Einrichtung (12), so daß Daten für
die zweite Einrichtung (12) ungeachtet der Tatsache
verfügbar sind, daß die erste Einrichtung (10) deren
Übertragung beendet hat, und
d) Beenden der Zuführung von Daten aus dem
Zwischenregister (112) nach Beendigung der Schreiboperation der
zweiten Einrichtung (12),
wobei die Schritte (a) - (d) während der Zeitspanne eines
einzigen Zugriffszyklus durchgeführt werden.
2. Verfahren zum Übertragen von Daten nach Anspruch 1, bei
dem eine der Einrichtungen (10,12) eine
Speichereinrichtung ist.
3. Verfahren zum Übertragen von Daten nach Anspruch 2, bei
dem die andere der Einrichtungen (10,12) eine
I/O-Einrichtung ist.
4. Verfahren zum Übertragen von Daten nach Anspruch 1, bei
dem das Zwischenregister (112) in einer DMA-Einrichtung
angeordnet ist.
5. Verfahren zum Übertragen von Daten nach Anspruch 4, bei
dem der Datenkommunikationsbus (110) bidirektional ist.
6. Verfahren zum Übertragen von Daten nach Anspruch 51 bei
dem in dem Datenschreib-Schritt (b) ein
Schreibsteuersignal aktiviert wird.
7. Verfahren zum Übertragen von Daten nach Anspruch 5, bei
dem in dem Datenlese-Schritt (a) ein Lesesteuersignal
aktiviert wird.
8. Verfahren zum Übertragen von Daten nach Anspruch 7, bei
dem in dem Datenlesebeendigungsschritt (c) das
Lesesteuersignal deaktiviert wird.
9. Verfahren zum Übertragen von Daten nach Anspruch 1, bei
dem ferner
e) das Zuführen der Daten aus dem Zwischenregister in die
zweite Einrichtung gleichzeitig mit Schritt (c)
erfolgt.
10. Verfahren zum Übertragen von Daten nach Anspruch 1, bei
dem:
die erste Einrichtung eine vorbestimmte Rückgewinnungszeit
aufweist,
die zweite Einrichtung eine vorbestimmte Aufbauzeitspanne
aufweist, und
die Leseoperation der ersten Einrichtung vor der
Aufbauzeitspanne der zweiten Einrichtung beendet wird, so daß
die Rückgewinnung der ersten Einrichtung beginnen kann.
11. Vorrichtung (14) zum Übertragen von Daten zwischen einer
ersten Einrichtung (10) und einer zweiten Einrichtung (12)
über einen Datenbus (110) in einem einzigen
Zugriffszyklus, mit:
einer Einrichtung (102) zum Erzeugen eines Lesesignals und
Zuführen des Lesesignals an die erste Einrichtung (10),
wobei die erste Einrichtung (10) auf das Lesesignal hin
über eine erste Zeitspanne die Daten auf dem Datenbus
(110) ausgibt,
einer Einrichtung (100) zum Erzeugen eines Schreibsignals
und Zuführen des Schreibs4gnals an die zweite Einrichtung
(12), wobei die zweite Einrichtung (12) auf das
Schreibsignal hin über eine zweite Zeitspanne die Daten auf dem
Datenbus (110) liest, und
einem mit dem Datenbus (110) verbundenen Register (112),
um die Daten während der ersten Zeitspanne in dem Register
zu halten und die Daten während der zweiten Zeitspanne
auszugeben, wobei
der Zugriffszyklus eine kürzere Dauer aufweist als die
Summe der ersten und zweiten Zeitspannen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/242,744 US5007012A (en) | 1988-09-09 | 1988-09-09 | Fly-by data transfer system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE68924893D1 DE68924893D1 (de) | 1996-01-04 |
DE68924893T2 true DE68924893T2 (de) | 1996-07-04 |
Family
ID=22916016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68924893T Expired - Lifetime DE68924893T2 (de) | 1988-09-09 | 1989-09-04 | Datenübertragungsverfahren. |
Country Status (5)
Country | Link |
---|---|
US (1) | US5007012A (de) |
EP (1) | EP0358424B1 (de) |
JP (1) | JPH02120960A (de) |
AT (1) | ATE130688T1 (de) |
DE (1) | DE68924893T2 (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0464848B1 (de) * | 1990-07-06 | 1996-05-01 | Nec Corporation | Struktur zur direkten Speicher-zu-Speicher-Übertragung |
JP2981263B2 (ja) * | 1990-08-03 | 1999-11-22 | 富士通株式会社 | 半導体記憶装置 |
GB2271204B (en) * | 1992-10-01 | 1996-01-03 | Digital Equipment Int | Digital system memory access |
JPH06168116A (ja) * | 1992-11-30 | 1994-06-14 | Mitsubishi Electric Corp | マイクロコンピュータ |
US5511170A (en) * | 1993-08-02 | 1996-04-23 | Motorola, Inc. | Digital bus data retention |
AT400786B (de) * | 1993-09-15 | 1996-03-25 | Fendt Johann Mag | Vorrichtung zur datenübertragung zwischen einem faxgerät und einer gegenstation |
US6055584A (en) * | 1997-11-20 | 2000-04-25 | International Business Machines Corporation | Processor local bus posted DMA FlyBy burst transfers |
US6516363B1 (en) | 1999-08-06 | 2003-02-04 | Micron Technology, Inc. | Output data path having selectable data rates |
US6694416B1 (en) * | 1999-09-02 | 2004-02-17 | Micron Technology, Inc. | Double data rate scheme for data output |
US6662258B1 (en) * | 2000-08-22 | 2003-12-09 | Integrated Device Technology, Inc. | Fly-by support module for a peripheral bus |
JP4615137B2 (ja) * | 2001-03-26 | 2011-01-19 | 富士通セミコンダクター株式会社 | 同期型メモリに対するフライバイ転送を可能にするdma制御システム |
DE10214067B4 (de) * | 2002-03-28 | 2010-01-21 | Advanced Micro Devices, Inc., Sunnyvale | Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4075606A (en) * | 1976-02-13 | 1978-02-21 | E-Systems, Inc. | Self-memorizing data bus system for random access data transfer |
US4334287A (en) * | 1979-04-12 | 1982-06-08 | Sperry Rand Corporation | Buffer memory arrangement |
CA1162314A (en) * | 1979-12-07 | 1984-02-14 | Hideo Ota | Data input/output method and system |
DE3003340C2 (de) * | 1980-01-30 | 1985-08-22 | Siemens AG, 1000 Berlin und 8000 München | Verfahren und Schaltungsanordnung zur Übertragung von binären Signalen zwischen über ein zentrales Busleitungssystem miteinander verbundenen Anschlußgeräten |
JPS5790740A (en) * | 1980-11-26 | 1982-06-05 | Nec Corp | Information transfer device |
US4538224A (en) * | 1982-09-30 | 1985-08-27 | At&T Bell Laboratories | Direct memory access peripheral unit controller |
US4591973A (en) * | 1983-06-06 | 1986-05-27 | Sperry Corporation | Input/output system and method for digital computers |
JPS61216074A (ja) * | 1985-02-14 | 1986-09-25 | Fujitsu Ltd | ダイレクト・メモリ・アクセス方式 |
-
1988
- 1988-09-09 US US07/242,744 patent/US5007012A/en not_active Expired - Lifetime
-
1989
- 1989-09-04 EP EP89308917A patent/EP0358424B1/de not_active Expired - Lifetime
- 1989-09-04 AT AT89308917T patent/ATE130688T1/de active
- 1989-09-04 DE DE68924893T patent/DE68924893T2/de not_active Expired - Lifetime
- 1989-09-06 JP JP1232655A patent/JPH02120960A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP0358424B1 (de) | 1995-11-22 |
EP0358424A2 (de) | 1990-03-14 |
US5007012A (en) | 1991-04-09 |
JPH02120960A (ja) | 1990-05-08 |
EP0358424A3 (en) | 1990-11-14 |
ATE130688T1 (de) | 1995-12-15 |
DE68924893D1 (de) | 1996-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3909896C2 (de) | ||
DE69018100T2 (de) | Datenübertragung über Busadressleitungen. | |
DE68926936T2 (de) | Vorrichtung und Technik für Burstprogrammierung | |
DE68923944T2 (de) | RAM mit doppelten Ein/Ausgängen. | |
DE2448212C2 (de) | Asynchrone Sammelleitung zur Kommunikation mit selbstbestimmter Priorität zwischen Mutterrechnergeräten und Tochterrechnergeräten | |
DE69124905T2 (de) | Datenverarbeitungsvorrichtung zur dynamischen Zeiteinstellung in einem dynamischen Speichersystem | |
DE19882486B4 (de) | Synchroner, nicht-flüchtiger Seitenmodus-Speicher | |
DE68910391T2 (de) | Verfahren zum Speicherdatenzugriff. | |
DE69123890T2 (de) | Synchronisierter Burstzugriffsspeicher und Wortleitungstreiber dafür | |
DE68928040T2 (de) | Pufferspeichersubsystem für Peripheriesteuerungen und Verfahren | |
DE3844033C2 (de) | Speicherschaltung für ein Mikroprozessorsystem | |
DE3704056A1 (de) | Peripherer dma-controller fuer datenerfassungssysteme | |
DE68924893T2 (de) | Datenübertragungsverfahren. | |
DE3786269T2 (de) | Druckwerksteuerungsschnittstelle. | |
DE19860650A1 (de) | Chip-Satz-Speichersteuervorrichtung mit Datenausblend-Maskenfunktion | |
DE69214702T2 (de) | Speicherzugriff für die Datenübertragung in einer Ein-Ausgabevorrichtung | |
DE19647828A1 (de) | Synchron-Halbleiterspeichervorrichtung mit leicht steuerbarem Autovorladebetrieb | |
DE69123987T2 (de) | Stossbetrieb für Mikroprozessor mit externem Systemspeicher | |
DE4003759A1 (de) | Verfahren und anordnung zur uebertragung von daten ueber einen bus zwischen selektiv ankoppelbaren stationen | |
DE3732798A1 (de) | Datenverarbeitungssystem mit ueberlappendem zugriff auf einen globalen speicher durch eine quelle mit hoher prioritaet | |
DE3784368T2 (de) | Datenprozessor mit wartesteuerung, die hochgeschwindigkeitszugriff gestattet. | |
DE2855673A1 (de) | Anordnung zur handhabung des direkten zugriffs auf den speicher einer datenverarbeitungsanlage | |
AT389951B (de) | Datenuebertragungseinrichtung | |
DE3123382C2 (de) | Verfahren und Einrichtung zum Übertragen von Daten in einem Mehrprozessorsystem | |
DE69119149T2 (de) | Struktur zur direkten Speicher-zu-Speicher-Übertragung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |