DE10048072A1 - Linklisten-DMA-Descriptor-Architektur - Google Patents

Linklisten-DMA-Descriptor-Architektur

Info

Publication number
DE10048072A1
DE10048072A1 DE10048072A DE10048072A DE10048072A1 DE 10048072 A1 DE10048072 A1 DE 10048072A1 DE 10048072 A DE10048072 A DE 10048072A DE 10048072 A DE10048072 A DE 10048072A DE 10048072 A1 DE10048072 A1 DE 10048072A1
Authority
DE
Germany
Prior art keywords
dma
descriptor
address
data
data pointers
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.)
Withdrawn
Application number
DE10048072A
Other languages
English (en)
Inventor
Andreas Schmidt
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 North America Corp
Original Assignee
Infineon Technologies North America Corp
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 North America Corp filed Critical Infineon Technologies North America Corp
Publication of DE10048072A1 publication Critical patent/DE10048072A1/de
Withdrawn 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)

Abstract

Ein Linklisten-DMA-Descriptor (20, 30) enthält eine Angabe einer Anzahl von Datenzeigern (22, 32), welche in einem nachfolgenden DMA-Descriptor enthalten sind. Die Anzahl von im nachfolgenden DMA-Descriptor enthaltenen Datenzeigern ist vorzugsweise in der Speicheradresse des nachfolgenden DMA-Descriptors enthalten. Die Anzahl von Datenzeigern wird von der DMA-Steuereinrichtung (52) gespeichert und steuert, wieviele Lesezyklen durchgeführt werden, wenn der nachfolgende DMA-Descriptor verarbeitet wird.

Description

Gebiet der Erfindung
Die Erfindung bezieht sich allgemein auf Computersysteme und insbesondere auf Steuereinrichtungen mit direktem Speicherzu­ griff.
Hintergrund der Erfindung
In den Anfängen der Computerentwicklung wurden Daten in einen und aus einem Speicher durch eine zentrale Steuereinheit (CPU) verschoben. Als jedoch die Datenübertragungsgeschwin­ digkeiten für Massenspeichereinrichtungen, wie Harddrives oder CD-ROMs stiegen, war die CPU zu langsam, um die Übertra­ gung von Daten durchzuführen, und ihre Verwendung hinderte die CPU daran, andere Aufgaben durchzuführen. Infolgedessen enthalten nunmehr die meisten Computer Steuereinrichtungen mit direktem Speicherzugriff (direct memory access control­ lers bzw. DMAs), um Daten in einen und aus einem Speicher zu verschieben. Eine DMA arbeitet, indem sie die Steuerung einer Adresse und einer Datenleitung (data bus) entweder zum Lesen von Daten aus oder Schreiben von Daten in einen Speicher übernimmt. Um Daten zu verschieben, gibt eine CPU einer DMA- Steuereinrichtung eine Adresse eines DMA-Descriptors. Der Descriptor ist ein Satz von Daten, der eine vorbestimmte Information einschließlich der Größe eines zu verschiebenden Datenblocks sowie einen Zeiger mit der Adresse des Daten­ blocks im Speicher enthält.
In der Vergangenheit enthielt jeder Descriptor nur einen oder genau zwei Datenzeiger. Immer wenn die DMA-Steuereinrichtung einen Datenblock zu verschieben hatte, mußte ein neuer De­ scriptor gelesen werden, wodurch die Geschwindigkeit redu­ ziert wurde, mit der Daten verschoben werden konnten. Um die Datenübertragungsgeschwindigkeiten zu beschleunigen, besteht das Bedürfnis nach einem Verfahren zur Verringerung der Anzahl von Descriptoren, die eine DMA-Steuereinrichtung zum Verschieben von Daten lesen muß.
Zusammenfassende Darstellung der Erfindung
Um die Geschwindigkeit zu erhöhen, mit der Daten von einer DMA-Steuereinrichtung übertragen werden können, enthält ein Descriptor eine Adresse eines nachfolgenden Descriptors sowie eine Angabe einer veränderlichen Anzahl von Datenzeigern, die im nachfolgenden Descriptor enthalten sind. Die Anzahl von Zeigern im nachfolgenden Descriptor wird in der DMA-Steuer­ einrichtung gespeichert. Beim Lesen eines nachfolgenden Descriptors steuert die gespeicherte Anzahl von Zeigern eine Anzahl von Lesezyklen, die von der DMA-Steuereinrichtung durchgeführt werden.
Bei einer gegenwärtig bevorzugten Ausführungsform der Erfin­ dung sind die Descriptoren in einem ausgerichteten (aligned) 32-BitSpeicher gespeichert. Die letzten beiden Adressenbits der Descriptoradresse werden nicht benötigt und werden daher zur Speicherung der Anzahl von Zeigern im nächsten Descriptor verwendet.
Eine DMA-Steuereinrichtung gemäß der Erfindung enthält einen Zähler, der eine Anzahl von Datenzeigern in einem nachfolgen­ den Descriptor speichert. Beim Lesen des Descriptors steuert der Zähler eine Anzahl von Lesezyklen, die von der DMA-Steu­ ereinrichtung durchgeführt werden, wenn der nächste Descrip­ tor verarbeitet wird.
Kurze Beschreibung der Figuren
Die obigen Gesichtspunkte und viele der Erfindungsvorteile lassen sich besser abschätzen, wenn sie durch Bezugnahme auf die folgende ausführliche Beschreibung in Verbindung mit den begleitenden Figuren besser verständlich werden. Es zeigt:
FIGURE 1 einen Linklisten-DMA-Descriptor gemäß der Er­ findung;
Fig. 2 eine Darstellung, wie jeder DMA-Descriptor eine Angabe einer Anzahl von in einem darauffolgenden Descriptor gespeicherten Datenzeigern (data pointers) enthält; und
Fig. 3 eine Darstellung, wie eine erfindungsgemäße DMA- Steuereinrichtung einen Zähler enthält, um eine Anzahl von in einem darauffolgenden Descriptor enthaltenen Datenzeigern zu speichern.
Ausführliche Beschreibung der bevorzugten Ausführungs­ form
Die Erfindung ist ein Verfahren zur Erhöhung der Geschwindig­ keit von Speicherübertragungen, die von einer Steuereinrich­ tung mit direktem Speicherzugriff (direct memory access bzw. DMA) durchgeführt werden, indem eine Angabe einer veränder­ lichen Anzahl von in einem nachfolgenden Descriptor enthalte­ nen Datenzeigern eingeschlossen wird.
Fig. 1 zeigt einen Verbindungslisten(link list)-DMA-Descrip­ tor 10 gemäß einer Ausführungsform der Erfindung. Bei der gegenwärtig bevorzugten Ausführungsform der Erfindung wird der Descriptor im Speicher als eine Serie von 32-Bit-Worten gespeichert. Das erste Wort 12 des Descriptors 10 enthält die Adresse eines nächsten Descriptors, der durch die DMA-Steuer­ einrichtung zu lesen ist. Ein zweites Wort 14 enthält von der DMA-Steuereinrichtung geforderte übliche Daten zur Verschie­ bung der Daten, einschließlich eines Paars von Bytes 15, welche die Größe eines zu verschiebenden Datenblocks spei­ chern. Das dritte Wort 16 des Descriptors 10 enthält eine 32-Bit-Adresse des zu verschiebenden Datenblocks.
Anders als beim Stand der Technik, bei dem die Beschreibung einen Zeiger zu einem oder genau zwei Datenblocks enthält, kann der Descriptor 10 bis zu vier Datenzeiger auf Daten­ blocks enthalten, die von der DMA-Steuereinrichtung zu ver­ schieben sind. Da der Descriptor 10 als eine Serie von 32- Bit-Worten in einem ausgerichteten Speicher gespeichert ist, sind die letzten beiden Bits der 32-Bit-Adresse des nächsten Descriptors stets 00. Daher werden diese letzten zwei Bits 18 vorzugsweise zur Speicherung der Anzahl von Datenzeigern verwendet, die in einem nachfolgenden Descriptor enthalten sind. Wenn der Descriptor der letzte Descriptor in einer Liste von Descriptoren ist, wird der nächste Descriptorzeiger auf einen vorbestimmten Wert gesetzt, der von der DMA-Steuer­ einrichtung erkannt werden kann, wie das Nullzeichen (d. h. alle Nullen) oder ein anderer leicht erkennbarer Code.
Fig. 2 zeigt die Linkliste von DMA-Descriptoren entsprechend einer Ausführungsform der Erfindung. Ein erster Descriptor 20 hat als sein erstes 32-Bit-Wort 22 die Adresse eines zweiten DMA-Descriptors 30 gespeichert. Wie oben angegeben, speichern die letzten beiden Bits des 32-Bit-Worts 22 die Anzahl von Datenzeigern, die innerhalb des zweiten DMA-Descriptors 30 enthalten sind. Im dargestellten Beispiel enthalten die letzten beiden Bits des Wortes 22 den Wert 01, wodurch ange­ zeigt wird, daß der folgende DMA-Descriptor 30 zwei Datenzei­ ger enthält. Das zweite 32-Bit-Wort 24 des ersten DMA-De­ scriptors 20 enthält eine gewisse Standardinformation, die von der DMA-Steuereinrichtung gefordert wird, sowie eine Angabe der Größe des zu verschiebenden Datenblocks. Bei dem dargestellten Beispiel zeigen die letzten beiden Bytes des 32-Bit-Wortes 24 an, daß der zu verschiebende Datenblock 256 Bytes aufweist. Das dritte 32-Bit-Wort 26 des ersten Descrip­ tors 20 enthält einen Zeiger auf den zu verschiebenden 256 Byte-Datenblock.
Das erste 32-Bit-Wort 32 des zweiten DMA-Descriptors 30 hat ursprünglich das Nullzeichen als die Adresse eines nachfol­ genden Descriptors gespeichert, wodurch angezeigt wird, daß der zweite DMA-Descriptor 30 der letzte Descriptor in der Liste ist. Der zweite DMA-Descriptor 30 enthält zwei Daten­ zeiger, welche sich auf zwei zu verschiebende Datenblocks bezieht. Ein Paar von 32-Bit-Worten 34 und 36 speichern die Länge (d. h. 256 Bytes) eines ersten Datenblocks und seine Adresse, während ein zweites Paar von 32-Bit-Worten 38 und 40 einen zweiten 32 Byte-Datenblock und seine Adresse bezeich­ nen.
Um einen nachfolgenden DMA-Descriptor zu der Linkliste von Descriptoren hinzuzufügen, wird die Adresse des nächsten Descriptors im ersten 32-Bit-Wort 32 des vorhergehenden DMA-Descriptors 30 gespeichert. Bei dem gezeigten Beispiel wird das als erstes 32-Bit-Wort 32 gespeicherte Nullzeichen mit der Adresse eines nachfolgenden DMA-Descriptors 44 über­ schrieben. Wiederum enthalten die letzten beiden Bits der Adresse die Anzahl von Datenzeigern innerhalb des nachfolgen­ den DMA-Descriptors 44. Bei dem gezeigten Beispiel sind die letzten beiden Bits 00, was anzeigt, daß der folgende DMA-De­ scriptor 44 nur einen Datenzeiger enthält.
Die von den DMA-Descriptoren 20,30 und 44 gebildete Linkliste kann unabhängig vom Betrieb einer DMA-Steuereinrichtung aktualisiert werden. Wie es dem Fachmann verständlich ist, enthält die DNA-Steuereinrichtung ein Adressenregister des nächsten Descriptors, in welchem die Adresse des nächsten Descriptors von der CPU gespeichert wird. Um einen DMA-De­ scriptor zu einer Verbindungsliste von DMA-Descriptoren hinzuzufügen, wird der nächste Adressenplatz des letzten DMA-Descriptors in der Liste aktualisiert, um die Adresse des neuen Descriptors wiederzugeben. Zusätzlich wird das Adres­ senregister des nächsten Descriptors innerhalb der DMA-Steu­ ereinrichtung aktualisiert, um die Adresse des neuen Descrip­ tors wiederzugeben. Wie oben angegeben, enthalten die beiden letzten Bits der Adresse des nächsten DMA-Descriptors die Anzahl von Datenzeigern, die in dem neuen, der Liste anzufü­ genden DMA-Descriptor enthalten sind.
Wenn ein neuer DMA-Descriptor zu einer Liste hinzugefügt werden soll, gibt es drei mögliche Zustände der DMA-Steuer­ einrichtung. Erstens ist es möglich, daß die DMA-Steuerein­ richtung noch nicht begonnen hat mit der Einwirkung auf den letzten Descriptor in der Liste von Descriptoren. Wenn daher das Adressenfeld des nächsten DMA-Descriptors für den letzten Descriptor in der Liste abgeändert wird, bevor die DMA-Steu­ ereinrichtung die Einwirkung auf den vorher letzten Descrip­ tor beginnt, erkennt sie, daß die nächste Adresse nicht Null ist und weiß, daß sie einen anderen DMA-Descriptor verarbei­ ten muß. Zusätzlich zur Aktualisierung des Adressenfeldes für den nächsten Descriptor des vorher letzten Descriptors schreibt eine CPU auch die Adresse des neuen DMA-Descriptors in das Adressenregister des nächsten Descriptors der DMA- Steuereinrichtung. Wenn daher die DMA-Steuereinrichtung das nächste Adressenfeld des letzten Descriptors (das auf Null gesetzt worden war) bereits gelesen hat, erfaßt die DMA-Steu­ ereinrichtung noch den neuen Descriptor durch Lesen seines Adressenregisters für den nächsten Descriptor, nachdem sie alle im letzten verarbeiteten Descriptor enthaltenen Daten­ zeiger betätigt hat. Wenn zuletzt die DMA-Steuereinrichtung die Verarbeitung der im vorher letzten Descriptor enthaltenen Datenzeiger beendet hat, wird sie in einen Stoppzustand eintreten, bis die Adresse des neuen DMA-Descriptors und die Anzahl von in dem Descriptor enthaltenen Datenzeigern in das Adressenregister für den nächsten Descriptor der DMA-Steuer­ einrichtung eingeschrieben sind.
Fig. 3 zeigt ein Blockschaltbild, welches die zusätzliche Funktionalität darstellt, die einer DMA-Steuereinrichtung gemäß einer Ausführungsform der Erfindung hinzugefügt wird. Die DMA-Steuereinrichtung 50 ist in der gleichen Weise aufge­ baut wie bekannte DMA-Steuereinrichtungen, mit der Ausnahme, daß die DMA-Steuereinrichtung 50 einen Zähler 52 enthält, welcher die Anzahl von Zeigern in einem nachfolgenden DMA-De­ scriptor speichert, die aus den letzten beiden Bits der nächsten Descriptoradresse bestimmt werden. Die Anzahl von im Zähler 52 gespeicherten Zeigern steuert die Anzahl von durch die DMA-Steuereinrichtung durchgeführten Lesezyklen, wenn sie den nächsten DMA-Descriptor verarbeitet. Das heißt bei der Verarbeitung des nächsten DMA-Descriptors, der im Adressenre­ gister 54 für den nächsten Descriptor bezeichnet ist, bewirkt die DMA-Steuereinrichtung das Lesen einer Anzahl von Worten aus dem Speicher, wobei die Anzahl von Worten von der Anzahl von im Zähler 52 gespeicherten Zeigern abhängt. Wenn bei­ spielsweise die für jeden Datenzeiger gespeicherte Informa­ tion zwei Datenworte erfordert und das Register 50 anzeigt, daß zwei Datenzeiger in einem nachfolgenden DMA-Descriptor enthalten sind, dann veranlaßt die DMA-Steuereinrichtung das Auslesen von fünf Datenworten aus dem Speicher; ein Wort für die Adresse des nächsten DMA-Descriptors und zwei Worte für jeden der beiden im nächsten DMA-Descriptor enthaltenen Datenzeiger.
Wie aus dem Obigen zu ersehen ist, ist die Erfindung ein Verfahren zur Verringerung der mit DMA-Steuereinrichtungen verbundenen Gesamtkosten. Obwohl die bevorzugte Ausführungs­ form der Erfindung vorher nicht benutzte Bits des Adressen­ feldes für den nächsten Descriptor verwendet, um eine Be­ zeichnung einer veränderlichen Anzahl von Zeigern zu spei­ chern, läßt sich feststellen, daß die Bezeichnung auch an anderen Stellen im Descriptor angeordnet werden könnte. Die Verwendung der vorher unbenutzten Bits der nächsten DMA-De­ scriptoradresse wird jedoch bevorzugt, da nur ein einziger Schreibzyklus für die DMA erforderlich ist, um die DMA mit der nächsten Adresse und der Anzahl von Zeigern zu versorgen.

Claims (5)

1. Verfahren zum Verschieben von Speicherblöcken mit einer DMA-Steuereinrichtung, welches umfaßt:
Versehen einer DMA-Steuereinrichtung mit einer Adresse eines DMA-Descriptors, die einen durch die DMA-Steuereinrichtung zu verschiebenden Speicherblock angibt, wobei der Descriptor eine Adresse eines nachfol­ genden DMA-Descriptors und eine Angabe einer veränderli­ chen Anzahl von im nachfolgenden DMA-Descriptor enthal­ tenen Datenzeigern enthält; und
Auslesen der Adresse des nachfolgenden DMA-Descrip­ tors und Durchführen einer Anzahl von Lesezyklen, die von der Anzahl von angegebenen Datenzeigern abhängt.
2. Verfahren nach Anspruch 1, bei welchem die Angabe der Anzahl von Datenzeigern im nachfolgenden DMA-Descriptor erzielt wird durch:
Codieren der Anzahl von Datenzeigern in nicht be­ nutzte Bits der Adresse des nachfolgenden DMA-Descrip­ tors.
3. DMA-Steuereinrichtung von der Art, die Daten in den und aus dem Speicher in einem Computersystem verschiebt, wobei die Verbesserung umfaßt:
einen Zähler (52), welcher eine Zahl speichert, wel­ che eine Anzahl von in einem veränderlichen DMA-Descrip­ tor, der durch die DMA-Steuereinrichtung zu verarbeiten ist, enthaltenen Datenzeigern angibt, wobei der Zähler eine Anzahl von Speicherlesezyklen steuert, welche von der DMA-Steuereinrichtung durchgeführt werden, wenn der DMA-Descriptor verarbeitet wird.
4. Computer-lesbare Speichereinrichtung zum Speichern eines DMA-Descriptors, welche aufweist:
eine Anzahl von Computer-lesbaren Bits (30), welche eine Speicheradresse eines nachfolgenden DMA-Descriptors angibt;
eine Anzahl von Computer-lesbaren Bits (32), welche eine veränderliche Anzahl von in dem nachfolgenden DMA-Descriptor enthaltenen Datenzeigern angibt, wobei die die veränderliche Anzahl von Datenzeigern angebenden Bits von einer DMA-Steuereinrichtung gelesen werden, um eine Anzahl von Lesezyklen zu bestimmten, welche die DMA-Steuereinrichtung durchführt.
5. Computer-lesbare Speichereinrichtung nach Anspruch 4, bei welcher die Anzahl von Bits, welche die veränderli­ che Anzahl von Datenzeigern angeben, in der Adresse des nachfolgenden DMA-Descriptors enthalten sind.
DE10048072A 1999-10-20 2000-09-28 Linklisten-DMA-Descriptor-Architektur Withdrawn DE10048072A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/421,745 US6782465B1 (en) 1999-10-20 1999-10-20 Linked list DMA descriptor architecture

Publications (1)

Publication Number Publication Date
DE10048072A1 true DE10048072A1 (de) 2001-04-26

Family

ID=23671865

Family Applications (2)

Application Number Title Priority Date Filing Date
DE10048072A Withdrawn DE10048072A1 (de) 1999-10-20 2000-09-28 Linklisten-DMA-Descriptor-Architektur
DE60019148T Expired - Lifetime DE60019148T2 (de) 1999-10-20 2000-10-20 Dma-deskriptor-architektur mit verknüpfter liste

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE60019148T Expired - Lifetime DE60019148T2 (de) 1999-10-20 2000-10-20 Dma-deskriptor-architektur mit verknüpfter liste

Country Status (7)

Country Link
US (1) US6782465B1 (de)
EP (1) EP1224538B1 (de)
JP (1) JP3878851B2 (de)
CN (1) CN1203420C (de)
DE (2) DE10048072A1 (de)
GB (1) GB2361786A (de)
WO (1) WO2001029656A2 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10163310A1 (de) * 2001-12-21 2003-07-17 Infineon Technologies Ag Verfahren und Router zur Multiprotokoll-Übertragung
US6782465B1 (en) * 1999-10-20 2004-08-24 Infineon Technologies North America Corporation Linked list DMA descriptor architecture
DE10347762A1 (de) * 2003-10-14 2005-05-19 Infineon Technologies Ag Verfahren zur Speicherung von Übertragungseinheiten und Netzwerkkommunikations-Vorrichtung
EP2256587A1 (de) * 2003-07-22 2010-12-01 Round Rock Research, LLC Vorrichtung und Verfahren für Direktspeicherzugriff in einem Speichersystem auf HUB-Basis

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6842457B1 (en) * 1999-05-21 2005-01-11 Broadcom Corporation Flexible DMA descriptor support
US6754223B1 (en) * 1999-08-17 2004-06-22 Conexant Systems, Inc. Integrated circuit that processes communication packets with co-processor circuitry to determine a prioritized processing order for a core processor
US20020103942A1 (en) * 2000-06-02 2002-08-01 Guillaume Comeau Wireless java device
US6874039B2 (en) * 2000-09-08 2005-03-29 Intel Corporation Method and apparatus for distributed direct memory access for systems on chip
US7472230B2 (en) * 2001-09-14 2008-12-30 Hewlett-Packard Development Company, L.P. Preemptive write back controller
US6718405B2 (en) * 2001-09-20 2004-04-06 Lsi Logic Corporation Hardware chain pull
US7210059B2 (en) * 2003-08-19 2007-04-24 Micron Technology, Inc. System and method for on-board diagnostics of memory modules
US7310752B2 (en) 2003-09-12 2007-12-18 Micron Technology, Inc. System and method for on-board timing margin testing of memory modules
US7194593B2 (en) 2003-09-18 2007-03-20 Micron Technology, Inc. Memory hub with integrated non-volatile memory
US20050080945A1 (en) * 2003-10-14 2005-04-14 International Business Machines Corporation Transferring message packets from data continued in disparate areas of source memory via preloading
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US7216196B2 (en) * 2003-12-29 2007-05-08 Micron Technology, Inc. Memory hub and method for memory system performance monitoring
US7293121B2 (en) * 2004-02-25 2007-11-06 Analog Devices, Inc. DMA controller utilizing flexible DMA descriptors
JP2005293427A (ja) * 2004-04-02 2005-10-20 Matsushita Electric Ind Co Ltd データ転送処理装置及びデータ転送処理方法
US7310748B2 (en) 2004-06-04 2007-12-18 Micron Technology, Inc. Memory hub tester interface and method for use thereof
US7370123B2 (en) * 2004-10-12 2008-05-06 Nec Electronics Corporation Information processing apparatus
CN100356356C (zh) * 2004-12-24 2007-12-19 华为技术有限公司 采用直接存储器访问方式进行数据传送的方法
US7698473B2 (en) * 2005-01-05 2010-04-13 Sony Computer Entertainment Inc. Methods and apparatus for list transfers using DMA transfers in a multi-processor system
JP2007034392A (ja) * 2005-07-22 2007-02-08 Nec Electronics Corp 情報処理装置及びデータ処理方法
US7415549B2 (en) * 2005-09-27 2008-08-19 Intel Corporation DMA completion processing mechanism
US7516257B2 (en) * 2005-09-27 2009-04-07 Intel Corporation Mechanism to handle uncorrectable write data errors
US7676192B1 (en) * 2005-12-21 2010-03-09 Radio Shack, Corp. Radio scanner programmed from frequency database and method
US7603490B2 (en) * 2007-01-10 2009-10-13 International Business Machines Corporation Barrier and interrupt mechanism for high latency and out of order DMA device
US7835391B2 (en) 2007-03-07 2010-11-16 Texas Instruments Incorporated Protocol DMA engine
US20090083392A1 (en) * 2007-09-25 2009-03-26 Sun Microsystems, Inc. Simple, efficient rdma mechanism
US9396159B2 (en) * 2007-09-25 2016-07-19 Oracle America, Inc. Simple, reliable, connectionless communication mechanism
US8332546B2 (en) 2010-07-20 2012-12-11 Lsi Corporation Fully asynchronous direct memory access controller and processor work
TWI465905B (zh) * 2010-09-22 2014-12-21 Toshiba Kk 記憶體系統、主機控制器、及直接記憶體存取之控制方法
US20140317333A1 (en) * 2013-04-17 2014-10-23 Microchip Technology Incorporated Direct Memory Access Controller with Hybrid Scatter-Gather Functionality
CN104850517B (zh) * 2015-05-20 2018-01-12 新华三技术有限公司 一种dma传输报文数据的方法及装置
US20170147517A1 (en) * 2015-11-23 2017-05-25 Mediatek Inc. Direct memory access system using available descriptor mechanism and/or pre-fetch mechanism and associated direct memory access method
CN106547709B (zh) * 2016-11-24 2019-05-21 盛科网络(苏州)有限公司 灵活配置多通道dma控制器的方法及装置
US10872290B2 (en) * 2017-09-21 2020-12-22 Raytheon Company Neural network processor with direct memory access and hardware acceleration circuits
JP6992616B2 (ja) * 2018-03-13 2022-01-13 日本電気株式会社 データ転送装置、データ転送方法、プログラム
EP3598315B1 (de) 2018-07-19 2022-12-28 STMicroelectronics (Grenoble 2) SAS Direkter speicherzugang
FR3084179A1 (fr) * 2018-07-19 2020-01-24 Stmicroelectronics (Grenoble 2) Sas Acces direct en memoire
CN114328316B (zh) * 2021-11-22 2024-01-26 北京智芯微电子科技有限公司 Dma控制器、soc系统及基于dma控制器的数据搬运方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01237864A (ja) 1988-03-18 1989-09-22 Fujitsu Ltd Dma転送制御装置
JPH01293431A (ja) 1988-05-23 1989-11-27 Toshiba Corp メモリアクセス方式
US5251303A (en) 1989-01-13 1993-10-05 International Business Machines Corporation System for DMA block data transfer based on linked control blocks
US5606665A (en) * 1994-07-01 1997-02-25 Digital Equipment Corporation Buffer descriptor prefetch in network and I/O design
US5644784A (en) 1995-03-03 1997-07-01 Intel Corporation Linear list based DMA control structure
DE69614291T2 (de) 1995-03-17 2001-12-06 Lsi Logic Corp., Fort Collins (n+i) Ein/Ausgabekanälesteuerung, mit (n) Datenverwaltern, in einer homogenen Software-Programmierbetriebsumgebung
EP0768609B1 (de) * 1995-10-16 2003-06-25 Hitachi, Ltd. Verfahren zur Übertragung von Multimediadaten
US5713044A (en) 1995-12-19 1998-01-27 Intel Corporation System for creating new group of chain descriptors by updating link value of last descriptor of group and rereading link value of the updating descriptor
US5954794A (en) * 1995-12-20 1999-09-21 Tandem Computers Incorporated Computer system data I/O by reference among I/O devices and multiple memory units
US5974480A (en) 1996-10-18 1999-10-26 Samsung Electronics Co., Ltd. DMA controller which receives size data for each DMA channel
US6185633B1 (en) * 1997-03-20 2001-02-06 National Semiconductor Corp. DMA configurable receive channel with memory width N and with steering logic compressing N multiplexors
US6219736B1 (en) * 1997-04-24 2001-04-17 Edwin E. Klingman Universal serial bus (USB) RAM architecture for use with microcomputers via an interface optimized for integrated services device network (ISDN)
US6070194A (en) * 1997-12-17 2000-05-30 Advanced Micro Devices, Inc. Using an index and count mechanism to coordinate access to a shared resource by interactive devices
US6199121B1 (en) * 1998-08-07 2001-03-06 Oak Technology, Inc. High speed dynamic chaining of DMA operations without suspending a DMA controller or incurring race conditions
US6202107B1 (en) * 1998-11-19 2001-03-13 Sun Microsystems, Inc. Host controller interface descriptor fetching unit
US6782465B1 (en) * 1999-10-20 2004-08-24 Infineon Technologies North America Corporation Linked list DMA descriptor architecture

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6782465B1 (en) * 1999-10-20 2004-08-24 Infineon Technologies North America Corporation Linked list DMA descriptor architecture
DE10163310A1 (de) * 2001-12-21 2003-07-17 Infineon Technologies Ag Verfahren und Router zur Multiprotokoll-Übertragung
DE10163310B4 (de) * 2001-12-21 2005-12-15 Infineon Technologies Ag Verfahren und Router zur Multiprotokoll-Übertragung
EP2256587A1 (de) * 2003-07-22 2010-12-01 Round Rock Research, LLC Vorrichtung und Verfahren für Direktspeicherzugriff in einem Speichersystem auf HUB-Basis
DE10347762A1 (de) * 2003-10-14 2005-05-19 Infineon Technologies Ag Verfahren zur Speicherung von Übertragungseinheiten und Netzwerkkommunikations-Vorrichtung
DE10347762B4 (de) * 2003-10-14 2007-05-03 Infineon Technologies Ag Verfahren zur Speicherung von Übertragungseinheiten und Netzwerkkommunikations-Vorrichtung
US7423969B2 (en) 2003-10-14 2008-09-09 Infineon Technologies Ag Process for storing transmission units and a network communications device

Also Published As

Publication number Publication date
JP3878851B2 (ja) 2007-02-07
EP1224538A2 (de) 2002-07-24
JP2003512670A (ja) 2003-04-02
CN1384938A (zh) 2002-12-11
EP1224538B1 (de) 2005-03-30
WO2001029656A2 (en) 2001-04-26
CN1203420C (zh) 2005-05-25
WO2001029656A3 (en) 2002-01-17
US6782465B1 (en) 2004-08-24
GB0024175D0 (en) 2000-11-15
DE60019148D1 (de) 2005-05-04
GB2361786A (en) 2001-10-31
DE60019148T2 (de) 2006-03-23

Similar Documents

Publication Publication Date Title
DE10048072A1 (de) Linklisten-DMA-Descriptor-Architektur
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE3785897T2 (de) Steuervorrichtung zum vorabruf von befehlen.
DE69031367T2 (de) Blockübertragungs- und Koprozessorschnittstellenbefehl
DE3689042T2 (de) Gerät zur Pufferung von Schreibanforderungen.
DE69229716T2 (de) Schaltungsarchitektur zum mehrkanaligen DMA-Betrieb
DE69225463T2 (de) Verfahren und Gerät zur Verschachtelung von mehrkanaligen DMA-Operationen
CH656728A5 (de) Schnittstellenschaltungsanordnung zur verbindung eines prozessors mit einem nachrichtenkanal.
DE3725343A1 (de) Vielzweck-kanalsteuersystem
DE2744531A1 (de) Elektronische datenverarbeitungsanlage
DE2424931A1 (de) Datenverarbeitungsanlage, insbesondere mikroprogramm-datenverarbeitungseinheit mit parallelen befehlsstroemen fuer mehrere ebenen von subbefehlsvorraeten
DE3439302A1 (de) Speichersteuerungsvorrichtung
DE3855300T2 (de) Schnittstellenschaltung zur Datenübertragung zwischen Prozessor und Ein-/Ausgabevorrichtung
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE1499206C3 (de) Rechenanlage
DE1774870C3 (de) Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage
DE2718110A1 (de) Datenverarbeitungseinheit
DE69119149T2 (de) Struktur zur direkten Speicher-zu-Speicher-Übertragung
DE3338329C2 (de)
DE69427512T2 (de) Direktspeicherzugriffssteuerung
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE69033031T2 (de) Programmierbares Steuergerät
DE3421737C2 (de) Vorrichtung zur Ermittlung einer Überlappung von Operanden
DE69230898T2 (de) Speicherauswahl enthaltendes Verarbeitungs-System und Verfahren
DE3486276T2 (de) Verfahren zum Steuern eines Pufferspeichers in einem Datenverarbeitungsgerät.

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal