DE102014011021B4 - System und Verfahren für Speicherdirektzugriff-Transfers - Google Patents

System und Verfahren für Speicherdirektzugriff-Transfers Download PDF

Info

Publication number
DE102014011021B4
DE102014011021B4 DE102014011021.4A DE102014011021A DE102014011021B4 DE 102014011021 B4 DE102014011021 B4 DE 102014011021B4 DE 102014011021 A DE102014011021 A DE 102014011021A DE 102014011021 B4 DE102014011021 B4 DE 102014011021B4
Authority
DE
Germany
Prior art keywords
dma
transactions
timestamp
data
transaction
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.)
Active
Application number
DE102014011021.4A
Other languages
English (en)
Other versions
DE102014011021A1 (de
Inventor
Simon Brewerton
Simon Cottam
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of DE102014011021A1 publication Critical patent/DE102014011021A1/de
Application granted granted Critical
Publication of DE102014011021B4 publication Critical patent/DE102014011021B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/3193Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response
    • G01R31/31937Timing aspects, e.g. measuring propagation delay
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on 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
    • G06F13/287Multiplexed DMA
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4269Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a handshaking protocol, e.g. Centronics connection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

Verfahren zum Übertragen von Daten zwischen einem Speicher und einer Peripherie-Einheit über eine Vielzahl von Speicherdirektzugriffs-Transaktionen (DMA-Transaktionen), wobei das Verfahren Folgendes umfasst:Zuweisen eines jeweiligen Zeitstempels zu und/oder Anhängen eines jeweiligen Zeitstempels an jede DMA-Transaktion von wenigstens zwei von der Vielzahl von DMA-Transaktionen; undDurchführen eines zusätzlichen Transfers, um den aktuellen Wert eines Zeitgeberzählers zwischenzuspeichern und den aktuellen Wert in die nächste Adresse einer Ziel-Speicherstruktur zu verschieben, wenn ein endgültiger DMA-Transfer einer Folge von DMA-Transfers abgeschlossen ist.

Description

  • Bestimmte Ausführungsbeispiele der vorliegenden Erfindung betreffen ein System und ein Verfahren für Speicherdirektzugriff-Transfers. Insbesondere betreffen bestimmte Ausführungsbeispiele der Erfindung ein System und ein Verfahren zum Übertragen von Daten zwischen einem Speicher und einer Peripherie-Einheit über eine Vielzahl von Speicherdirektzugriffs-Transaktionen.
  • Speicherdirektzugriff (DMA, Direct Memory Access) ist ein Merkmal moderner Computer, das es bestimmten Hardware-Teilsystemen innerhalb des Computers erlaubt, unabhängig von einer zentralen Verarbeitungseinheit (CPU) zum Lesen und/oder Schreiben auf den Systemspeicher zuzugreifen. Viele Hardware-Systeme, einschließlich Festplattenlaufwerks-Controller, Grafikkarten, Netzwerkkarten und Sound-Karten, nutzen DMA. Mit DMA-Kanälen versehene Computer können typischerweise Daten mit viel weniger CPU-Aufwand zu und von Vorrichtungen übertragen als Computer ohne DMA-Kanal.
  • DMA wird allgemein verwendet, um es Vorrichtungen zu erlauben, Daten zu übertragen, ohne die CPU einer starken Beanspruchung auszusetzen. Wenn die CPU jedes einzelne Datenelement von der Quelle zu dem Ziel kopieren müsste, würde dies typischerweise langsamer erfolgen als das Kopieren von normalen Speicherblöcken, da der Zugriff auf E/A-Vorrichtungen über einen Peripheriebus im Allgemeinen langsamer erfolgt als bei normalem System-RAM. Während dieser Zeit wäre die CPU für andere Aufgaben nicht verfügbar, bei denen ein CPU-Buszugriff beteiligt ist, obwohl sie mit anderen Vorgängen fortfahren könnte, für die kein Buszugriff erforderlich ist.
  • Bei einem DMA-Transfer wird im Wesentlichen ein Speicherblock von einer Vorrichtung zu einer anderen übertragen. Die CPU leitet diesen Transfer zwar ein, führt ihn aber nicht durch. Der Transfer wird üblicherweise mittels eines DMA-Controllers durchgeführt, der typischerweise Teil eines Chipsatzes auf der Hauptplatine ist. Eine typische Verwendung von DMA besteht darin, einen Speicherblock von dem System-RAM in einen Puffer auf der Vorrichtung oder anders herum zu kopieren, wobei die Operation nicht viel Kapazität des Prozessors erfordert, welcher dadurch zum Durchführen anderer Aufgaben eingeplant werden kann. DMA ist daher ein wesentliches Element von eingebetteten Hochleistungssystemen.
  • Der DMA-Controller überträgt im Allgemeinen Daten von einer Daten-Quellposition zu einer Daten-Zielposition. Bei einigen Anwendungen werden DMA-Transfers in sicherheitskritischen Systemen verwendet, wobei es wichtig ist, dass die DMA-Transfers die richtige Transferoperation durchführen. DMA-Operationen können besonders schwierig zu überprüfen sein, weil die autonome Natur des Prozesses eine umfangreiche Überwachung erfordert.
  • Insbesondere wenn ein DMA verwendet wird, um Daten auf periodische Weise automatisch von einer autonomen Peripherie-Einheit, wie beispielsweise einer seriellen Schnittstelle, einem Analog-Digital-Wandler (ADW) oder einem Eingabeerfassungssystem, zu entladen, wird der DMA oft so konfiguriert, dass er Daten von der Peripherie-Einheit in einen oder mehrere Speicherpuffer verschiebt. Die in dem Speicherpuffer erscheinenden Daten werden typischerweise mittels des Steuersystems für die Echtzeitsteuerung der Systemstellglieder und Kommunikationsschnittstellen verwendet. Die Daten haben daher einen zeitlichen Aspekt, da das System anstatt historischer Daten nur aktuelle, gerade übertragene Daten verwenden sollte. Es ist wichtig zu wissen, dass der Datenpuffer seit der letztmaligen Verwendung der Daten aktualisiert wurde. Daher muss die CPU den Betrieb der DMA-Transfers in Echtzeit überprüfen, wozu ein Dienst mit geringer Latenzzeit erforderlich ist, der die CPU stark beansprucht.
  • Typischerweise führt eine bekannte DMA-Peripherievorrichtung Datentransaktionen innerhalb eines eingebetteten Systems durch, das auch eine Host-CPU aufweist. Die CPU ist für das Überwachen des ordnungsgemäßen Betriebs des DMA zuständig. Eine Folge von verknüpften DMA-Transaktionen wird in die korrekte Reihenfolge gebracht, indem der DMA und der Interrupt-Router so konfiguriert werden, dass sie bei Abschluss der vorhergehenden Transaktion in der Reihenfolge den Start einer neuen DMA-Transaktion auslösen. Eine Folge von verknüpften DMA-Transaktionen wird üblicherweise mittels eines der folgenden Verfahren in die richtige Reihenfolge gebracht:
    • • Konfigurieren des DMA-Controllers und des Interrupt-Routers, sodass der Abschluss einer laufenden DMA-Transaktion über einen Hardware-Trigger den Start der nächsten DMA-Transaktion auslöst.
    • • Die CPU greift zwischen den einzelnen DMA-Transaktionen ein und leitet den Start der nächsten DMA-Transaktion über einen Software-Trigger ein, wenn sie ein Semaphor der DMA-Datenverkehrsverwaltung empfängt, dass die vorherige DMA-Transaktion abgeschlossen ist.
  • Diese bekannten Ansätze sind mit den folgenden Nachteilen verbunden:
    • • Die Überprüfung der zeitlichen Abfolge von DMA-Datenverschiebungen erfordert ein Eingreifen durch die CPU, um die Ablaufplanung von Ereignissen zu bestätigen, während eine Folge von DMA-Transaktionen gerade läuft.
    • • Die Nachverarbeitung des DMA-Zustands garantiert keinen ordnungsgemäßen Betrieb.
    • • Die Nachverarbeitung der verschobenen Zieldaten beansprucht die CPU stark.
  • Die US 2006 / 0 184 949 A1 offenbart I/O-Adapter, welche Arbeitsanforderungen verwenden, um Informationen an ein Warteschlangenpaar und Arbeitsabschlüsse zu übergeben, um festzustellen, wann eine Arbeitsanforderung abgeschlossen ist. Timing-Informationen in verschiedenen Phasen der Verarbeitung dieser Arbeitsanforderungen ermöglichen es einem Workload-Manager, Verzögerungsquellen zu identifizieren, die sich auf die Transaktionsverarbeitung auswirken. Arbeitsanfragen fordern eine Bearbeitung, die mit einem Zeitstempel gekennzeichnet werden kann. Zu den Verarbeitungsstufen gehören: (1) der Zeitpunkt, zu dem die Arbeitsanforderung in die Sendewarteschlange gestellt wird, (2) der Zeitpunkt, zu dem das erste Paket für diese Arbeitsanforderung auf die Verbindung gesendet wird, (3) der Zeitpunkt, zu dem die Arbeitsanforderung vorliegt seine Verarbeitung abgeschlossen hat, und (4) die Zeit, zu der der Arbeitsabschluss von der Software abgerufen wird. Durch den Vergleich der Zeitstempel ermittelt der Workload Manager die Verarbeitungs- und Transaktionszeiten.
  • Die US 2008/0 126 612 A1 offenbart einen DMA-Controller, der eine Zählung der in jeder DMA-Operation übertragenen Daten ausführt und die Zählung der übertragenen Daten am Ende der DMA-Operation sichert.
  • Die US 2010 / 0 333 099 A1 offenbart ein Verfahren und eine Schaltungsanordnung, welche eine Arbeitslast in einem Multithread-Prozessor, der mehrere Hardware-Threads enthält, verarbeiten, wobei jeder Thread mindestens eine Nachricht empfängt, die Daten trägt, um die Arbeitslast durch einen jeweiligen Posteingang aus einer Vielzahl von Posteingängen zu verarbeiten.
  • Die EP 1 098 523 A1 offenbart eine Informationsverarbeitungsvorrichtung, die einen empfangenen Transportstrom aufzeichnet, so dass der empfangene Transportstrom in verschiedenen Wiedergabemodi abgespielt werden kann. Aus dem empfangenen Transportstrom wird ein aufzuzeichnendes Paket extrahiert. An das extrahierte Paket wird ein Zeitstempel angehängt. Das Paket wird zwischengespeichert. Das gespeicherte Paket wird in Einheiten von einem Block einer vorbestimmten Datenmenge gelesen, und ein Index wird angehängt. Der Index enthält Daten, die eine Blockfolgebeziehung angeben, und Benutzerinformationen. Der indizierte Block wird an ein Speichergerät ausgegeben und aufgezeichnet.
  • Die vorliegende Erfindung stellt sich dieser Herausforderung, um Lösungen für die oben erwähnten Nachteile vorzusehen.
  • Ein Verfahren zum Übertragen von Daten zwischen einem Speicher und einer Peripherie-Einheit über eine Vielzahl von Speicherdirektzugriffs-Transaktionen gemäß Anspruch 1, ein System zum Übertragen von Daten mittels einer Vielzahl von Speicherdirektzugriffs-Transaktionen und ein Speicherdirektzugriffs-Controller gemäß Anspruch 10 werden bereitgestellt. Weitere Ausführungsbeispiele sind in den Unteransprüchen beschrieben.
  • Gemäß einer Erscheinungsform sieht die vorliegende Erfindung ein System und ein Verfahren zum Übertragen von Daten zwischen einem Speicher und einer Peripherie-Einheit über eine Speicherdirektzugriffs-Transaktion (DMA-Transaktion), eine DMA-Operation oder ein DMA-Ereignis vor. Das System und das Verfahren umfassen die Zuweisung eines jeweiligen Zeitstempels zu einer DMA-Transaktion bzw. das Anhängen eines jeweiligen Zeitstempels an eine DMA-Transaktion, sodass die relative zeitliche Steuerung verschiedener DMA-Transaktionen verglichen werden kann. Dieser Mechanismus und ein zugewiesener oder angehängter Zeitstempel können verwendet werden, um die Verfolgung verschiedener DMA-Ereignisse oder-Transaktionen zu unterstützen.
  • Gemäß einer weiteren Erscheinungsform sieht die vorliegende Erfindung ein System und einen Mechanismus zum Zuweisen eines jeweiligen Zeitstempels zu den Zieldaten bzw. zum Anhängen eines jeweiligen Zeitstempels an die Zieldaten am Ende einer DMA-Transaktion vor. Die den Zieldaten der DMA-Transaktion, der DMA-Operation bzw. des DMA-Ereignisses zugewiesenen bzw. an diese angehängten Zeitstempel sehen ein Mittel zum Vergleichen des relativen zeitlichen Abschlusses der jeweiligen DMA-Transaktionen vor.
  • Gemäß noch einer weiteren Erscheinungsform sieht die vorliegende Erfindung ein System und einen Mechanismus zum Melden von DMA-Zeitstempeln an eine Host-CPU vor. Dieses Melden von DMA-Zeitstempeln an die Host-CPU erlaubt es der CPU, die interne Verarbeitung der DMA-Ereignisse oder - Transaktionen zu überprüfen. Dadurch kann die ordnungsgemäße Ablaufplanung von DMA-Transaktionen bestätigt werden. Die CPU kann auch eine fehlerhafte Rate der DMA-Operationen, wie beispielsweise Latenzzeit, Ankunftsrate sowie fehlende und/oder wiederholte Folgen erkennen.
  • Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung wird ein jeweiliger Zeitstempel an die endgültigen Zieldaten angehängt, die während der letzten DMA-Schreibverschiebung einer DMA-Transaktion geschrieben werden.
  • Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung wird aus einer Binärfolge mit Inkrementierung, zum Beispiel einem frei laufenden Binärzähler, ein Zeitstempel generiert, der Vergleichs- und Rechenoperationen unterstützen kann.
  • Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung wird, wenn ein endgültiger DMA-Transfer einer Folge abgeschlossen ist, ein zusätzlicher Transfer automatisch durchgeführt, um den aktuellen Wert eines frei laufenden Zeitgeberzählers zu erfassen und den aktuellen Wert in die nächste Adresse der Ziel-Speicherstruktur zu verschieben.
  • Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung können die Zeitstempel nachverarbeitet werden, um die zeitliche Abfolge der DMA-Transaktionen zu überprüfen. Diese Nachverarbeitung von Zeitstempeln kann das zeitliche Überprüfen der Folge von DMA-Transaktionen ermöglichen.
  • Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung kann die Zieladresse des Zeitstempels aus dem DMA-Transaktionssteuerungssatz berechnet werden. Der Zeitstempel kann abgefragt werden, um die Folge einer Reihe von DMA-Transaktionen zu bestätigen.
  • Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung kann die Zieladresse des Zeitstempels aus dem DMA-Transaktions-Controller oder - Steuerungssatz berechnet werden. Bei dieser Anwendung kann der Zeitstempel abgefragt werden, um die Abfolge einer Reihe von DMA-Transaktionen zu bestätigen.
  • Gemäß einem weiteren Ausführungsbeispiel kann die vorliegende Erfindung in Anwendungen zur Motorsteuerung eines Fahrzeugs verwendet werden. Wenn ein ADW verwendet wird, um den effektiven Motorstrom abzutasten, zum Beispiel über einen Shunt-Widerstand oder einen Hall-Effekt-Sensor, korreliert der Strom mit dem unmittelbaren Motordrehmoment. Da es sich bei dem Motordrehmoment um einen wesentlichen Sicherheitsaspekt handelt, zeigt der Zeitstempel, dass der ADW erfolgreich ausgelöst wurde und zum richtigen Zeitpunkt gewandelt hat.
  • Gemäß einer weiteren Erscheinungsform der vorliegenden Erfindung wird den zwischen einem Speicher und einer oder mehreren Peripherie-Einheiten zu übertragenden Daten ein Zeitstempel zugewiesen, wobei die Daten zusammen mit dem jeder DMA-Transaktion, jeder DMA-Operation oder jedem DMA-Ereignis zugewiesenen und/oder an jede DMA-Transaktion, jede DMA-Operation oder jedes DMA-Ereignis angehängten Zeitstempel mittels einer Speicherdirektzugriffs-Steuerung (DMA-Steuerung) zwischen dem Speicher und der einen oder den mehreren Peripherie-Einheiten übertragen werden.
  • Bei dieser Anwendung muss der ADW zu einem Zeitpunkt ausgelöst werden, der mit dem Phasenabgleich der Pulsbreitenmodulation (PBM) des Motors synchronisiert ist, da, wenn der Motor zum falschen Zeitpunkt abgetastet wird, die Regelung instabil sein kann und das gemeldete Drehmoment möglicherweise nicht korrekt ist. Daher wird der ADW von einem Zeitgeber ausgelöst, der auch für den Phasenabgleich des Motors zuständig ist, aber wenn der Vergleich oder der Zeitgeber gestört ist oder nicht mit der richtigen Rate arbeitet, kann daraus eine Störung resultieren.
  • Die vorliegende Erfindung sieht einen DMA-Controller vor, der eine Zeitstempel-Funktionalität vorsieht. Die vorliegende Erfindung sieht ein neues Leistungsmerkmal vor, das ein einzigartiges Verfahren für Folgendes ermöglicht:
    • • Nachweis, dass der Betrieb des DMA durch das richtige Ereignis ausgelöst wurde.
    • • Nachweis, dass die Zieldaten mittels eines neuen Datenblocks aktualisiert wurden.
  • Somit sieht die vorliegende Erfindung einen vorteilhaften Betrag zu aktuellen Umsetzungen nach dem Stand der Technik vor, wobei es bislang schwierig war, die Plausibilität des ADW zu bestimmen, es sei denn, es wird eine echte Interrupt-Service-Routine verwendet. Bei bekannten Anwendungen kann die CPU lediglich Daten aus dem ADW entladen und außerdem einen unabhängigen Zeitgeber lesen, um zu überprüfen, ob das Trigger-Ereignis zu dem richtigen Zeitpunkt eintritt. Typischerweise erfolgt der Phasenabgleich des Motors bei einer Rate von 50 µs, und dies erzeugt ein umfangreiches Interrupt-Laden, insbesondere da 2 oder 3 ADW-Messungen pro Motorschaltzyklus erforderlich sind und eine Anwendung mehrere Motoren über einen Kern steuern lassen kann.
  • Gemäß einer Erscheinungsform wird ein Verfahren zum Übertragen von Daten zwischen einem Speicher und einer Peripherie-Einheit über eine Vielzahl von Speicherdirektzugriffs-Transaktionen (DMA-Transaktionen) vorgesehen, wobei das Verfahren Folgendes umfasst:
    • Zuweisen eines jeweiligen Zeitstempels zu und/oder Anhängen eines jeweiligen Zeitstempels an jede DMA-Transaktion von wenigstens zwei von der Vielzahl von DMA-Transaktionen.
  • Zweckmäßigerweise umfasst das Verfahren ferner Folgendes:
    • Verwenden des jeder DMA-Transaktion zugewiesenen bzw. an jede DMA-Transaktion angehängten Zeitstempels, um eine relative Zeitsteuerung der verschiedenen DMA-Transaktionen zu vergleichen.
  • Zweckmäßigerweise umfasst das Verfahren ferner Folgendes:
    • Verwenden des jeder DMA-Transaktion zugewiesenen bzw. an jede DMA-Transaktion angehängten Zeitstempels, um eine Verfolgung der verschiedenen DMA-Transaktionen zu unterstützen.
  • Zweckmäßigerweise umfasst das Verfahren ferner Folgendes:
    • Zuweisen eines Zeitstempel zu und/oder Anhängen eines Zeitstempels an Zieldaten einer DMA-Transaktion.
  • Zweckmäßigerweise umfasst das Verfahren ferner Folgendes:
    • Verwenden des den Zieldaten verschiedener DMA-Transaktionen zugewiesenen bzw. an die Zieldaten verschiedener DMA-Transaktion angehängten Zeitstempels, um einen relativen zeitlichen Abschluss der jeweiligen DMA-Transaktionen zu vergleichen.
  • Zweckmäßigerweise wird der Zeitstempel an die endgültigen Zieldaten angehängt, die während der letzten DMA-Schreiboperation der DMA-Transaktion geschrieben werden.
  • Zweckmäßigerweise umfasst das Verfahren ferner Folgendes:
    • Verarbeiten der den DMA-Transaktionen zugewiesenen bzw. an die DMA-Transaktionen angehängten Zeitstempel, um zu überprüfen, ob die Zieldaten durch einen neuen Datenblock aktualisiert wurden.
  • Zweckmäßigerweise umfasst das Verfahren ferner Folgendes:
    • Melden der den DMA-Transaktion zugewiesenen bzw. an die DMA-Transaktionen angehängten Zeitstempel an eine Host-CPU (zentrale Verarbeitungseinheit).
  • Zweckmäßigerweise umfasst das Verfahren ferner Folgendes:
    • Generieren des Zeitstempels aus einer Binärfolge mit Inkrementierung oder einem frei laufenden Zeitgeberzähler, um Vergleichs- und Rechenoperationen zu unterstützen.
  • Das Verfahren umfasst ferner Folgendes:
    • Durchführen eines zusätzlichen Transfers, um den aktuellen Wert eines Zeitgeberzählers zwischenzuspeichern und den aktuellen Wert in die nächste Adresse einer Ziel-Speicherstruktur zu verschieben, wenn ein endgültiger DMA-Transfer einer Folge von DMA-Transfers abgeschlossen ist.
  • Zweckmäßigerweise umfasst das Verfahren ferner Folgendes:
    • Verarbeiten der den DMA-Transaktionen zugewiesenen bzw. an die DMA-Transaktion angehängten Zeitstempel, um eine zeitliche Abfolge von DMA-Transaktionen zu überprüfen.
  • Gemäß einer Erscheinungsform wird ein System zum Übertragen von Daten mittels einer Vielzahl von Speicherdirektzugriffs-Transaktionen (DMA-Transaktionen) vorgesehen, wobei das System zu Folgendem geeignet ist:
    • Zuweisen eines jeweiligen Zeitstempels zu und/oder Anhängen eines jeweiliges Zeitstempels an die zu übertragenden Daten; und
    • Übertragen der Daten zusammen mit dem jeder DMA-Transaktion zugewiesenen und/oder an jede DMA-Transaktion angehängten Zeitstempel mittels einer DMA-Steuerung.
  • Zweckmäßigerweise weist das System ferner Folgendes auf:
    • eine Host-CPU (zentrale Verarbeitungseinheit), die geeignet ist, die den DMA-Transaktionen zugewiesenen und/oder an die DMA-Transaktionen angehängten Zeitstempel zu verwenden, um die interne Verarbeitung der DMA-Transaktionen zu überprüfen, um die korrekte Ablaufplanung von DMA-Transaktionen zu überprüfen und/oder um eine fehlerhafte Rate, Latenzzeit, Ankunftsrate, fehlende und/oder wiederholte Folgen von DMA-Transaktionen zu erkennen.
  • Zweckmäßigerweise weist das System ferner Folgendes auf:
    • einen Analog-Digital-Wandler (ADW), der geeignet ist, einen oder mehrere Betriebsparameter über die Vielzahl von Speicherdirektzugriffs-DMA-Transaktionen abzutasten und zu übertragen, wobei die CPU geeignet ist, die den DMA-Transaktionen zugewiesenen oder an die DMA-Transaktionen angehängten Zeitstempel zu verwenden, um zu überprüfen, ob der ADW zu einem vorbestimmten Zeitpunkt ausgelöst wurde und/oder gewandelt hat.
  • Gemäß einer Erscheinungsform weist ein Speicherdirektzugriffs-Controller (DMA-Controller) Folgendes auf:
    • einen Transferabschnitt, der so konfiguriert ist, dass er Daten über eine Vielzahl von Speicherdirektzugriffs-DMA-Transaktionen überträgt, wobei der DMA-Controller geeignet ist, einen jeweiligen Zeitstempel jeder DMA-Transaktion von wenigstens zwei von der Vielzahl der DMA-Transaktionen zuzuweisen und/oder an jede DMA-Transaktion von wenigstens zwei von der Vielzahl der DMA-Transaktionen anzuhängen.
  • Diese und weitere Vorteile, Aspekte und neuartige Merkmale der vorliegenden Erfindung sowie Einzelheiten eines veranschaulichten Ausführungsbeispiels davon sind anhand der folgenden Beschreibung und der Zeichnungen besser verständlich.
  • Figurenliste
  • Die begleitenden Zeichnungen sind beigefügt, um ein tieferes Verständnis der vorliegenden Erfindung zu ermöglichen, und sind in diese Schrift aufgenommen und bilden einen Teil davon. Die Zeichnungen veranschaulichen die Ausführungsbeispiele der vorliegenden Erfindung und dienen zusammen mit der Beschreibung dazu, die Prinzipien der Erfindung zu erklären. Andere Ausführungsbeispiele der vorliegenden Erfindung und viele der angestrebten Vorteile der vorliegenden Erfindung können ohne Weiteres gewürdigt werden, da sie durch Bezugnahme auf die folgende ausführliche Beschreibung besser verstanden werden. Die Elemente der Zeichnungen sind in Bezug zueinander nicht unbedingt maßstabsgetreu. Gleiche Bezugszeichen bezeichnen sich entsprechende, ähnliche Teile.
    • 1 ist ein Schemadiagramm, welches das Generieren eines Zeitstempels gemäß einem Ausführungsbeispiel gemäß der vorliegenden Erfindung veranschaulicht; und
    • 2 ist ein Schemadiagramm, das einen DMA-Transfer mit Anhängen eines Zeitstempels an 16-Bit-Quelldaten, die in 32-Bit-Zieldaten umgepackt wurden, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht.
    • 3 ist ein Schemadiagramm, das einen DMA-Transfer mit Anhängen eines Zeitstempels an 16-Bit-Quelldaten, die in 16-Bit-Zieldaten verschoben wurden, gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht.
    • 4 ist ein Schemadiagramm, das einen DMA-Transfer mit Anhängen eines Zeitstempels an eine Zieladresse mit Dekrementierung gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden ausführlichen Beschreibung wird auf die beigefügten Zeichnungen Bezug genommen, die einen Teil hiervon bilden und in denen zur Veranschaulichung spezifische Ausführungsbeispiele dargestellt sind, mit denen die Erfindung in die Praxis umgesetzt werden kann. Es versteht sich, dass weitere Ausführungsbeispiele verwendet werden können und strukturelle oder logische Änderungen vorgenommen werden können, ohne dass von dem Schutzumfang der vorliegenden Erfindung abgewichen wird. Die folgende ausführliche Beschreibung soll daher nicht in beschränkendem Sinne aufgefasst werden, und der Schutzumfang der vorliegenden Erfindung wird durch die beigefügten Ansprüche definiert.
  • Die vorliegende Erfindung betrifft das Übertragen von Daten zwischen einem Speicher und einer Peripherie-Einheit, wie zum Beispiel einer seriellen Schnittstelle, einem Switch oder Router, usw., die eine Speicherdirektzugriffs-Steuerung (DMA-Steuerung) verwendet.
  • 1 zeigt ein Schemadiagramm, das ein Ausführungsbeispiel gemäß der vorliegenden Erfindung veranschaulicht. In diesem Ausführungsbeispiel der vorliegenden Erfindung kann das Generieren des Zeitstempels wie folgt durchgeführt werden:
  • Ein Systemtakt wird durch 8 geteilt, um einen langsameren Zeitstempel-Basistakt zu generieren, um einen 32-Bit-Synchron-Aufwärtszähler zu takten. Der Zähler startet automatisch nach dem Zurücksetzen, und der 32-Bit-Binärzeitstempel wird bei jeder steigenden Flanke des Zeitstempel-Basistakts inkrementiert. Der 32-Bit-Binärzeitstempel wird kontinuierlich inkrementiert, während der Systemtakt läuft, was die Eindeutigkeit jedes Zeitstempelwertes sicherstellt.
  • Der Zeitstempel kann nur durch die Zusicherung einer Rücksetzung geändert werden, wodurch der Zeitstempel zu seinem Anfangswert zurückkehrt. Beim Freigeben der Rücksetzung beginnt der Zeitstempel wieder eine Aufwärtszählfolge. Falls der Zeitstempel einen vorbestimmten Schwellenwert übersteigt, wird der Zeitstempel auf den Anfangswert zurückgesetzt, und er beginnt dann wieder eine Aufwärtszählfolge. Der Zeitstempelwert kann zum Beispiel durch eine geeignete Software gelesen werden.
  • Unter Bezugnahme auf 1 kann, vorausgesetzt, die Frequenz des Systemtakts fSYS beträgt 100 MHz, der Teiler für das Teilen durch 8 einen Zeitstempel-Eingangstakt mit 12,5 MHz generieren. Daher wird der 32-Bit-Binär-Zeitstempelzähler alle 80 ns inkrementiert. Der Zeitstempel wird mit einer Rate inkrementiert, die der Rate der DMA-Transaktionen entspricht. Wenn der Zeitstempel mit einer schnelleren Rate als der Rate der DMA-Transaktionen inkrementiert wird, kann er zu oft überlaufen, was übermäßig viel Strom verbraucht. Wenn der Zeitstempel mit einer langsameren Rate als der Rate der DMA-Transaktionen inkrementiert wird, kann es sein, dass eine DMA-Transaktion nicht mit einem eindeutigen Zeitstempel versehen wird.
  • 2 zeigt ein Schemadiagramm, das ein DMA-Ereignis oder einen DMA-Transfer gemäß einem Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht. In 2 sind ein Quellspeicher und ein Zielspeicher mit einer Quelladresse mit Inkrementierung 1CH, 18H, 14H, 10H, 0CH, 08H, 04H bzw. 00H, gezeigt. Bei dem veranschaulichten Beispiel werden während des DMA-Transfers, der DMA-Operation oder der DMA-Transaktion zwei je 16 Bit lange Halbwörter, die mittels der Bitnummern 0-15 und 16-31 veranschaulicht sind, über einen DMA-Transfer, eine DMA-Operation oder eine DMA-Transaktion von einem Quellspeicher mit Quelladressen mit Inkrementierung 1CH, 18H, 14H, 10H, OCH, 08H, 04H, 00H in einen Zielspeicher mit Zieladressen mit Inkrementierung 1CH, 18H, 14H, 10H, 0CH, 08H, 04H, 00H übertragen. Bei diesem DMA-Transfer wird ein jeweiliger Zeitstempel an der unmittelbar nächsthöheren, ausgerichteten 32-Bit-Zieladresse am Ende der Zieldaten der DMA-Transaktion angehängt. Bei dem veranschaulichten Beispiel wird der Zeitstempel an der Zieladresse 08H gespeichert.
  • Alternativ können ein Quellspeicher und ein Zielspeicher mit einer Quelladresse mit Inkrementierung SADR + 00H, SADR + 08H, SADR + 10H bzw. SADR + 18H verwendet werden. In diesem Beispiel werden während des DMA-Transfers, der DMA-Operation oder der DMA-Transaktion zwei 16 Bit lange Halbwörter, die mittels der Bitnummern 0-15 und 16-31 veranschaulicht sind, über einen DMA-Transfer, eine DMA-Operation oder eine DMA-Transaktion von einem Quellspeicher mit Quelladressen mit Inkrementierung SADR + 00H, SADR + 08H, SADR + 10H, SADR + 18H an einen Zielspeicher mit Zieladressen mit Inkrementierung DADR + 00H, DADR + 02H, DADR + 04H, DADR + 06H übertragen. Bei diesem DMA-Transfer wird ein jeweiliger Zeitstempel an der unmittelbar nächsthöheren, ausgerichteten 32-Bit-Zieladresse am Ende der Zieldaten der DMA-Transaktion angehängt. In dem veranschaulichten Beispiel wird der Zeitstempel an der Zieladresse 08H gespeichert.
  • 2 ist ein Schemadiagramm, das einen DMA-Transfer mit Anhängen eines Zeitstempels an 16-Bit-Quelldaten gemäß einem Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht. Das Anhängen eines Zeitstempels ist im Folgenden mittels eines Beispiels unter Bezugnahme auf 2 beschrieben.
  • Ein DMA-Kanal ist so konfiguriert, dass er eine aus vier DMA-Verschiebungen bestehende DMA-Transaktion durchführt. Bei jeder DMA-Verschiebung wird ein 16 Bit langes Datenmuster von einer Quelladresse an eine Zieladresse übertragen. Die vier 16 Bit langen Datenmuster an den Quelladressen werden als zwei 32 Bit lange Wörter an aufeinander folgenden Zieladressen umgepackt. Das Übertragen der vier Datenmuster mittels des DMA-Controllers ist eine wiederholt durchgeführte Aufgabe. Der DMA-Transaktionssteuerungssatz ist als Ringpuffer konfiguriert. Der DMA-Kanal ist so konfiguriert, dass er einen jeweiligen Zeitstempel an das Ende einer DMA-Transaktion anhängt, wie in dem Beispiel gezeigt. Der an das Ende der aktuellen DMA-Transaktion angehängte Zeitstempel unterscheidet sich von dem an das Ende der nächsten DMA-Transaktion angehängten Zeitstempel. Der DMA verschiebt die vier Datenmuster, wie in der folgenden beispielhaften Tabelle gezeigt:
    Datenmuster Quelle Ziel
    Datenmuster Dn0 SADR + 00H DADR + 00H
    Datenmuster Dn1 SADR + 08H DADR + 02H
    Datenmuster Dn2 SADR + 10H DADR + 04H
    Datenmuster Dn3 SADR + 18H DADR + 08H
  • Jede Wiederholung der DMA-Transaktion ergibt vier DMA-Verschiebungen, welche die an den Zieladressen gespeicherten Datenmuster überschreiben. Bei jeder DMA-Verschiebung wird ein Datenmuster an einer Quelladresse überschrieben.
  • Wenn davon ausgegangen wird, dass die vier Datenmuster während jeder Analyse von der CPU analysiert werden, kann die CPU den Zeitstempel an eine andere Adresse kopieren. Wenn die CPU die nächste Analyse durchführt, kann sie die Zeitstempel vergleichen, um zu überprüfen, ob ein Differenzwert vorliegt. Wenn sich die Zeitstempel nicht voneinander unterscheiden, überprüft die CPU, ob neue Datenmuster geladen worden sind. Wenn sich die Zeitstempel voneinander unterscheiden, überprüft die CPU, ob der aktuelle Zeitstempel größer ist als der vorherige Zeitstempel. Typischerweise ist der aktuelle Zeitstempel größer als der vorherige Zeitstempel, es sei denn, der Binär-Zeitstempelzähler ist übergelaufen. Dies führt dazu, dass das Analysieren der generierten Zeitstempel gemäß der vorliegenden Erfindung es dem Benutzer erlaubt zu bestimmen, ob eine DMA-Transaktion stattgefunden hat.
  • 3 ist ein Schemadiagramm, das einen DMA-Transfer mit Anhängen eines Zeitstempels an 16-Bit-Quelldaten gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht. Bei diesem Ausführungsbeispiel wird der Zeitstempel an der unmittelbar nächsthöheren, ausgerichteten 32-Bit-Zieladresse am Ende der Zieldaten der DMA-Transaktion angehängt.
  • Bei der DMA-Transaktion werden die vier 16-Bit-Muster an ausgerichteten 32-Bit-Zieladressen gespeichert, und der Zeitstempel wird an der jeweils unmittelbar nächsthöheren, ausgerichteten 32-Bit-Zieladresse geschrieben.
  • 4 ist ein Schemadiagramm, das einen DMA-Transfer mit Anhängen eines Zeitstempels an eine Zieladresse mit Dekrementierung gemäß noch einem weiteren Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht. Bei diesem Ausführungsbeispiel wird der Zeitstempel an die unmittelbar nächstniedrigere, ausgerichtete 32-Bit-Adresse an der Zieladresse DADR + 0CH angehängt, wie in 4 veranschaulicht. In diesem Beispiel der vorliegenden Erfindung werden die Quell- und Zieladresse dekrementiert, und der DMA verschiebt die vier Datenmuster, wie in der folgenden beispielhaften Tabelle gezeigt:
    Datenmuster Quelle Ziel
    Datenmuster Dn0 SADR + 1CH DADR + 1CH
    Datenmuster Dn1 SADR + 14H DADR + 18H
    Datenmuster Dn2 SADR + 0CH DADR + 14H
    Datenmuster Dn3 SADR + 04H DADR + 10H
  • Die von der vorliegenden Erfindung vorgesehene Zeitstempel-Funktionalität ermöglicht ein neues Leistungsmerkmal, um zu beweisen, dass der Betrieb des DMA mittels des richtigen Ereignisses ausgelöst wurde, und um zu beweisen, dass die Zieldaten durch einen neuen Datenblock aktualisiert wurden.
  • Das Anhängen von Zeitstempeln an die Zieldaten der DMA-Transaktion, der DMA-Operation oder des DMA-Ereignisses gemäß der vorliegenden Erfindung kann ferner ein Verfahren zum Verfolgen des Abschlusses von DMA-Transaktionen vorsehen. Hierbei können Zeitstempel durch Vergleichen von zwei Zeitstempelwerten überprüft werden. Des Weiteren kann der Zeitraum zwischen dem Abschluss von zwei DMA-Transaktionen berechnet werden. Dadurch können wiederholte und fehlende Transfers sowie Transfers mit fehlerhafter Ankunftsrate und/oder Latenzzeit bestimmt werden. Durch den relativen Abschluss von ablaufgeplanten DMA-Transfers können Umkehrungen der Buspriorität und andere Probleme mit der Zeitsteuerung von Datenübertragungen erkannt werden.
  • Während die Erfindung unter Bezugnahme auf bestimmte Ausführungsbeispiele beschrieben wurde, werden die Fachleute auf diesem Gebiet verstehen, dass verschiedene Änderungen daran vorgenommen werden können und Äquivalente als Ersatz verwendet werden können, ohne dass von dem Schutzumfang der vorliegenden Erfindung abgewichen wird. Zusätzlich können zahlreiche Modifizierungen vorgenommen werden, um eine bestimmte Situation oder ein bestimmtes Material an die Lehren der vorliegenden Erfindung anzupassen, ohne dass dabei von ihrem Schutzumfang abgewichen wird. Daher ist beabsichtigt, dass die vorliegende Erfindung nicht auf das bestimmte, offenbarte Ausführungsbeispiel beschränkt ist, sondern dass die vorliegende Erfindung alle Ausführungsbeispiele umfasst, die unter den Schutzumfang der angehängten Ansprüche fallen.

Claims (10)

  1. Verfahren zum Übertragen von Daten zwischen einem Speicher und einer Peripherie-Einheit über eine Vielzahl von Speicherdirektzugriffs-Transaktionen (DMA-Transaktionen), wobei das Verfahren Folgendes umfasst: Zuweisen eines jeweiligen Zeitstempels zu und/oder Anhängen eines jeweiligen Zeitstempels an jede DMA-Transaktion von wenigstens zwei von der Vielzahl von DMA-Transaktionen; und Durchführen eines zusätzlichen Transfers, um den aktuellen Wert eines Zeitgeberzählers zwischenzuspeichern und den aktuellen Wert in die nächste Adresse einer Ziel-Speicherstruktur zu verschieben, wenn ein endgültiger DMA-Transfer einer Folge von DMA-Transfers abgeschlossen ist.
  2. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Verwenden des jeder DMA-Transaktion zugewiesenen bzw. an jede DMA-Transaktion angehängten Zeitstempels, um eine relative Zeitsteuerung der verschiedenen DMA-Transaktionen zu vergleichen.
  3. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Verwenden des jeder DMA-Transaktion zugewiesenen bzw. an jede DMA-Transaktion angehängten Zeitstempels, um eine Verfolgung der verschiedenen DMA-Transaktionen zu unterstützen.
  4. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Zuweisen eines Zeitstempels zu und/oder Anhängen eines Zeitstempels an Zieldaten einer DMA-Transaktion.
  5. Verfahren nach dem vorhergehenden Anspruch, das ferner Folgendes umfasst: Verwenden des den Zieldaten verschiedener DMA-Transaktionen zugewiesenen bzw. an die Zieldaten verschiedener DMA-Transaktion angehängten Zeitstempels, um einen relativen zeitlichen Abschluss der jeweiligen DMA-Transaktionen zu vergleichen.
  6. Verfahren nach Anspruch 4, wobei der Zeitstempel an die endgültigen Zieldaten angehängt wird, die während der letzten DMA-Schreiboperation der DMA-Transaktion geschrieben werden.
  7. System zum Übertragen von Daten mittels einer Vielzahl von Speicherdirektzugriffs-Transaktionen (DMA-Transaktionen), wobei das System zu Folgendem geeignet ist: Zuweisen eines jeweiligen Zeitstempels zu und/oder Anhängen eines jeweiliges Zeitstempels an die zu übertragenden Daten; Übertragen der Daten zusammen mit dem jeder DMA-Transaktion zugewiesenen und/oder an jede DMA-Transaktion angehängten Zeitstempel mittels einer DMA-Steuerung; und Durchführen eines zusätzlichen Transfers, um den aktuellen Wert eines Zeitgeberzählers zwischenzuspeichern und den aktuellen Wert in die nächste Adresse einer Ziel-Speicherstruktur zu verschieben, wenn ein endgültiger DMA-Transfer einer Folge von DMA-Transfers abgeschlossen ist.
  8. System nach Anspruch 7, das ferner Folgendes aufweist: eine Host-CPU (zentrale Verarbeitungseinheit), die geeignet ist, die den DMA-Transaktionen zugewiesenen und/oder an die DMA-Transaktionen angehängten Zeitstempel zu verwenden, um die interne Verarbeitung der DMA-Transaktionen zu überprüfen, um die korrekte Ablaufplanung von DMA-Transaktionen zu überprüfen und/oder um eine fehlerhafte Rate, Latenzzeit, Ankunftsrate, fehlende und/oder wiederholte Folgen von DMA-Transaktionen zu erkennen.
  9. System nach Anspruch 7, das ferner Folgendes aufweist: einen Analog-Digital-Wandler (ADW), der geeignet ist, einen oder mehrere Betriebsparameter über die Vielzahl von Speicherdirektzugriffs-DMATransaktionen abzutasten und zu übertragen, wobei die CPU geeignet ist, die den DMA-Transaktionen zugewiesenen oder an die DMA-Transaktionen angehängten Zeitstempel zu verwenden, um zu überprüfen, ob der ADW zu einem vorbestimmten Zeitpunkt ausgelöst wurde und/oder gewandelt hat.
  10. Speicherdirektzugriffs-Controller (DMA-Controller), der Folgendes aufweist: einen Transferabschnitt, der so konfiguriert ist, dass er Daten über eine Vielzahl von Speicherdirektzugriffs-DMA-Transaktionen überträgt, wobei der DMA-Controller geeignet ist, einen jeweiligen Zeitstempel jeder DMA-Transaktion von wenigstens zwei von der Vielzahl der DMA-Transaktionen zuzuweisen und/oder an jede DMA-Transaktion von wenigstens zwei von der Vielzahl der DMA-Transaktionen anzuhängen, wobei, wenn ein endgültiger DMA-Transfer einer Folge von DMA-Transfers abgeschlossen ist, ein zusätzlicher Transfer automatisch durchgeführt wird, um den aktuellen Wert eines frei laufenden Zeitgeberzählers zu erfassen und den aktuellen Wert in die nächste Adresse einer Ziel-Speicherstruktur zu verschieben
DE102014011021.4A 2013-07-26 2014-07-24 System und Verfahren für Speicherdirektzugriff-Transfers Active DE102014011021B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/951,518 2013-07-26
US13/951,518 US9727502B2 (en) 2013-07-26 2013-07-26 System and method for direct memory access transfers

Publications (2)

Publication Number Publication Date
DE102014011021A1 DE102014011021A1 (de) 2015-02-26
DE102014011021B4 true DE102014011021B4 (de) 2022-08-25

Family

ID=52391459

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014011021.4A Active DE102014011021B4 (de) 2013-07-26 2014-07-24 System und Verfahren für Speicherdirektzugriff-Transfers

Country Status (3)

Country Link
US (1) US9727502B2 (de)
CN (1) CN104346307B (de)
DE (1) DE102014011021B4 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9715464B2 (en) 2015-03-27 2017-07-25 Microsoft Technology Licensing, Llc Direct memory access descriptor processing
CN106294233B (zh) * 2015-06-29 2019-05-03 华为技术有限公司 一种直接内存访问的传输控制方法及装置
DE202017104362U1 (de) * 2017-07-21 2017-08-07 Robert Bosch Gmbh Zeitstempeleinheit und Kommunikationssteuereinheit für eine Teilnehmerstation eines Kommunikationsnetzwerks
KR102527925B1 (ko) * 2017-11-29 2023-05-03 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US11277269B2 (en) * 2017-12-13 2022-03-15 Arista Networks, Inc. System and methods for generating and authenticating verifiable network traffic
CN109933413A (zh) * 2017-12-15 2019-06-25 北京嘀嘀无限科技发展有限公司 业务实现方法及装置、电子设备、存储介质
US11099966B2 (en) * 2020-01-09 2021-08-24 International Business Machines Corporation Efficient generation of instrumentation data for direct memory access operations

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1098523A1 (de) 1999-11-05 2001-05-09 Sony Corporation Informationsverarbeitungsvorrichtung und - verfahren, und Aufzeichnungsmedium
US20060184949A1 (en) 2005-02-15 2006-08-17 International Business Machines Corporation Methods, systems, and storage mediums for timing work requests and completion processing
US20080126612A1 (en) 2006-11-28 2008-05-29 Barrow David E DMAC to Handle Transfers of Unknown Lengths
US20100333099A1 (en) 2009-06-30 2010-12-30 International Business Machines Corporation Message selection for inter-thread communication in a multithreaded processor

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6971046B1 (en) * 2002-12-27 2005-11-29 Unisys Corporation System and method for performing input/output diagnostics
JP4609546B2 (ja) * 2008-08-12 2011-01-12 ソニー株式会社 タイムスタンプ付加装置、タイムスタンプ付加方法、及びタイムスタンプ付加プログラム
AR073128A1 (es) * 2008-08-26 2010-10-13 Spx Corp Modulo de osciloscopio digital
US8352645B2 (en) * 2009-04-03 2013-01-08 National Instruments Corporation Single point, device driven data transmission for a real time application
JP5532144B2 (ja) * 2010-11-25 2014-06-25 トヨタ自動車株式会社 プロセッサ、電子制御装置、作成プログラム
CN102136841B (zh) 2010-11-30 2013-10-09 浙江大学 高速高精度记录仪及其采样数据自校正和高位匹配方法
US10073626B2 (en) * 2013-03-15 2018-09-11 Virident Systems, Llc Managing the write performance of an asymmetric memory system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1098523A1 (de) 1999-11-05 2001-05-09 Sony Corporation Informationsverarbeitungsvorrichtung und - verfahren, und Aufzeichnungsmedium
US20060184949A1 (en) 2005-02-15 2006-08-17 International Business Machines Corporation Methods, systems, and storage mediums for timing work requests and completion processing
US20080126612A1 (en) 2006-11-28 2008-05-29 Barrow David E DMAC to Handle Transfers of Unknown Lengths
US20100333099A1 (en) 2009-06-30 2010-12-30 International Business Machines Corporation Message selection for inter-thread communication in a multithreaded processor

Also Published As

Publication number Publication date
CN104346307B (zh) 2017-08-18
CN104346307A (zh) 2015-02-11
US9727502B2 (en) 2017-08-08
US20150032914A1 (en) 2015-01-29
DE102014011021A1 (de) 2015-02-26

Similar Documents

Publication Publication Date Title
DE102014011021B4 (de) System und Verfahren für Speicherdirektzugriff-Transfers
DE3704056A1 (de) Peripherer dma-controller fuer datenerfassungssysteme
DE3345863C2 (de)
DE3300262C2 (de)
DE60210633T2 (de) Verfahren und vorrichtungen zur verbesserung des durchsatzes von eingebetteten prozessoren auf cache-basis durch umschalten von tasks als reaktion auf eine cache-verfehlung
EP0179936B1 (de) Verfahren und Einrichtung zur Steuerung einer Sammelleitung
DE102007054852B4 (de) Signalwandler zum Erfüllen einer Funktion
DE3300260C2 (de)
DE102013113262B4 (de) Auslöser-Leitwegeinheit
DE102014103488A1 (de) Ausgeglichenes Scheduling mit gemischten Abfrage-Lasten
DE2209282A1 (de) Datenverarbeitungsanlage
DE2230119A1 (de) Einrichtung und verfahren in elektronischen datenverarbeitungsanlagen zur feststellung von ueberfaelligen ereignissen
DE102020102783A1 (de) Verfahren und einrichtungen zum verbessern einer leistungsdatensammlung einer hochleistungsberechnungsanwendung
EP3014438B1 (de) Verfahren und vorrichtung zur zeitrichtigen datenübergabe an die zyklischen tasks in einem verteilten echtzeitsystem
DE112012001660T5 (de) Speicher-Checkpointing in einem System gespiegelter virtueller Maschinen
DE112011101759B4 (de) Sampling von Leerlauftransitionen
DE2530599C2 (de) Verfahren und Schaltungsanordnung zur Steuerung von Ein-/Ausgabe-Geräten
EP2561415B1 (de) Datenverwaltungsverfahren und speicherprogrammierbare steuerung
DE102009001898A1 (de) Schaltungsanordnungen und Verfahren zur Steuerung eines Datenaustauschs in einer Schaltungsanordnung
DE112018007428T5 (de) Vorrichtung zur informationsverarbeitung, tuningverfahren undtuningprogramm
DE2120289A1 (de) Gesteuerte Pause in einer Datenverarbeitungsanlage
DE2633155B2 (de) Einrichtung zur Erzeugung zeitdefinierter Funktionssteuersignale
DE4413459C2 (de) Programmierbares Interrupt-Controller-System
DE10148109A1 (de) Verfahren zum Speichern oder Weiterleiten von Daten
EP1927053B1 (de) Mikrocontroller und verfahren zum betrieb

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: VIERING, JENTSCHURA & PARTNER MBB PATENT- UND , DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative