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
Application number
DE68924893T
Other languages
English (en)
Other versions
DE68924893D1 (de
Inventor
Vineet Dujari
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Application granted granted Critical
Publication of DE68924893D1 publication Critical patent/DE68924893D1/de
Publication of DE68924893T2 publication Critical patent/DE68924893T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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)
  • 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.
  • KURZBESCHREIBUNG DER FIGUREN
  • 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.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • 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:
  • SPEICHERLESEZYKLUS- ZEITSTEUERUNGSPARAMETER
  • tPC Seitenmoduszykluszeit
  • tCAS CAS-Impulsbreite
  • tPC CAG-Vorladezeit
  • tCAC Zugriffszeit aus CAS
  • toFF Ausgangspuffer-Abschaltverzögerung
  • EINRICHTUNGS -SCHREIB-ZEITSTEUERUNGSPARAMETER
  • 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.
DE68924893T 1988-09-09 1989-09-04 Datenübertragungsverfahren. Expired - Lifetime DE68924893T2 (de)

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)

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

* Cited by examiner, † Cited by third party
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 ダイレクト・メモリ・アクセス方式

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