DE68926091T2 - Speicherverwaltung in Systemen mit Datenpaketbetrieb - Google Patents

Speicherverwaltung in Systemen mit Datenpaketbetrieb

Info

Publication number
DE68926091T2
DE68926091T2 DE68926091T DE68926091T DE68926091T2 DE 68926091 T2 DE68926091 T2 DE 68926091T2 DE 68926091 T DE68926091 T DE 68926091T DE 68926091 T DE68926091 T DE 68926091T DE 68926091 T2 DE68926091 T2 DE 68926091T2
Authority
DE
Germany
Prior art keywords
message
memory
management system
cpu
dma
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE68926091T
Other languages
English (en)
Other versions
DE68926091D1 (de
Inventor
Robert Pieters
Richard Gene Sowell
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.)
National Semiconductor Corp
Original Assignee
National Semiconductor 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 National Semiconductor Corp filed Critical National Semiconductor Corp
Application granted granted Critical
Publication of DE68926091D1 publication Critical patent/DE68926091D1/de
Publication of DE68926091T2 publication Critical patent/DE68926091T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

  • Diese Erfindung bezieht sich auf das Gebiet der digitalen Computerkommunikationsprotokolle auf hohem Niveau. Im einzelnen bezieht sich diese Erfindung auf die Speicherung von digitalen Nachrichten, die über ein Paketdatenmodusnetzwerk (PDM), das einen direkten Speicherzugriff (DMA) und einen Hochniveaudatenverbindungssteuerkanal (HDLC) umfaßt, kommuniziert werden.
  • In traditionellen Datenkommunikationssystemen werden Daten, die in Paketdatenmodusnetzwerken, wie dem integrierten digitalen Service-Netzwerk (ISDN), ausgesandt oder empfangen werden, durch identifizierbare Begrenzer eingeschlossen. Diese als "Flaggen" bekannten Begrenzer werden durch eine digitale Sequenz von "01111110" repräsentiert. Dieser Datenstrom umfaßt ein Steuer-/Adressenfeld (CAF), ein Datenfeld (DF) und ein Fehlerprüffeld, wie eine zyklische Redundanzüberprüfung (CRC).
  • Um die Identifizierbarkeit dieser Begrenzer aufrechtzuerhalten, sind alle drei Felder mit "Nulleinfügungen" versehen. Das bedeutet, daß nach jeweils fünf aufeinanderfolgenden Einsen eine Null zwischen die fünfte Eins und das benachbarte Datenbit eingefügt wird.
  • Während einer Sendesequenz basiert das CRC-Felddatum auf einer Division des CRC- und DF-Feldes durch ein bekanntes Polynom. Der Rest von dieser Division wird den CAF- und DF-Feldern angehängt. Während einer Empfangssequenz wird die Division durch das Polynom erneut an dem CAF-und DF-Feld ausgeführt. Das Ergebnis wird mit dem einlaufenden CRC- Feld verglichen. Wenn die beiden Berechnungen konsistente und korrekte Ergebnisse liefern, wird die Information in dem CAF- und DF-Feld akzeptiert, andernfalls wird sie verworfen.
  • In traditionellen PDM-Systemen, wie ISDN, ist eine Nachricht die Kombination eines CAF-Feldes plus dem DF-Feld. Diese Nachrichtenlängen können sich zwischen 4 Byte bis 260 Byte ändern. Der Benutzer muß einen Speicherblock zuordnen, der die längste mögliche Nachricht aufnehmen kann, selbst dann, wenn nur ein kleiner Teil jenes Blockes benutzt wird, etwa für eine Nachricht von 4 Byte.
  • In traditionellen Systemen werden typischerweise Blöcke variabler Länge und variable Startadressen nicht verwendet wegen des Software-Haushalts und des Gesamtüberbaus, eingefügt in die zentrale Verarbeitungseinheit (CPU). Der traditionelle Ansatz besteht darin, die CPU reserviert zu halten für die Verarbeitung der einlaufenden und ausgehenden Nachrichten und für das Programmieren des DMA und des HDLC-Kontrollers. Zugeordnete Blöcke sind immer gleich oder größer als die längste Nachricht. Eine einzelne Nachricht belegt jeden Block, beginnend am Kopf jedes Blockes. Da ISDN Nachrichten bis zu 260 Bytes zuläßt, ist ein Speichervolumen von 256 Bytes (2&sup8;) zu klein. Leider muß wegen der binären Arithmetik in diesem Falle der Benutzer einen Speicherraum von 512 Bytes (2&sup9;) bereitstellen, um eine 260-Byte-Nachricht aufzunehmen.
  • Fig. 1 zeigt ein konzeptionalisiertes Blockdiagramm eines traditionellen HDLC-Systems, verwendet für LAPD. (LAPD ist ein Protokoll, das bei ISDN verwendet wird und steht für "link access protocol in the "D" channel" (Verbindungszugangsprotokoll im "D"-Kanal)). Der Zweck eines solchen Systems ist es, mit anderen Systemen über ein Paketdatennetzwerk zu kommunizieren, wobei ein gemeinsames Protokoll, wie LAPD, LAPB oder X.25 angewandt wird.
  • Ein Sendeempfänger 110 ist angekoppelt, um Paketdaten von einer Schnittstelle 112 eines verdrillten Paares "S" oder "U" zu empfangen bzw. zu senden. Diese Schnittstelle 112 des verdrillten Paares kann beispielsweise eine existierende Telefonleitung sein.
  • Der Sendeempfänger 110 ist ferner mit einem HDLC-Kontroller 114 über einen seriellen digitalen Datenbus 116 gekoppelt. Der HDLC-Kontroller umfaßt einen Empfängerschaltkreis RX 118, einen Sender-Schaltkreis TX120 und einen FIFO-Puffer 122. Der HDLC-Kontroller 114 ist mit einem DMA-Kontroller 124 über einen parallelen digitalen Datenbus 126 gekoppelt.
  • Der DMA-Kontroller 124 ist mit einer zentralen Verarbeitungseinheit (CPU) 128 und einer Speicher-Management-Einheit (MMU) 130 über den CPU-Bus 132 gekoppelt. Die MMU 130 ist mit dem Speicher 134 über den Speicherbus 136 gekoppelt.
  • Der Sendeempfänger 110, der HDLC-Kontroller 114, der DMA-Kontroller 124, die CPU 128 und die MMU 130 sind sämtlich angekoppelt, um von einem Kommunikations/Steuersignalbus 138 zu empfangen bzw. über ihn zu senden. Die MMU 130 und der Speicher 134 haben einen separaten Kommunikations/Steuersignalbus 130. Der HDCL-Kontroller 114 ist angekoppelt, um ein Interruptsignal 142 zu der CPU 128 zu übertragen, ein Puffer-Gefüllt-Signal (RBF) 144 zu dem DMA-Kontroller 124 und ein Puffer-Leer-Signal (BES) 146 zu dem DMA-Kontroller 124. Der DMA-Kontroller 124 ist angekoppelt, um ein Interrupt-Signal 148 zur CPU 128 zu liefern.
  • In Fig. 1 bilden die Drillpaarschnittstelle 112, der Sendeempfänger 110, der serielle digitale Datenbus 116 und der HDLC-Kontroller 114 das Paketdatenmodus-(PDM)-System. Der DMA-Kontroller 124, der CPU- Bus 132, die CPU 128, die MMU 130, der Speicherbus 136 und der Speicher 134 bilden das digitale Verarbeitungssystem. Der parallele digitale Datenbus 126 koppelt das PDM-System mit dem digitalen Verarbeitungssystem.
  • Die Rollen der einzelnen Blöcke innerhalb des Systems der Fig. 1 werden nachstehend beschrieben.
  • Sendeempfänger
  • Die Sendeempfängereinrichtung wird verwendet, um das PDM-Netz abzuschließen. Bei ISDN würde dies das Abschließen der "S"- oder "U"-Schnittstellen umfassen. Während des Empfangs wird der Sendeempfänger verwendet, um das Signal auf dem verdrillten Paar (Ausdruck, der verwendet wird, um existierende Telefonleitungen zu beschreiben) zu interpretieren und um den Takt, die Zeitlage und die Dateninformation aus diesem Signal zu extrahieren. Nachdem die Daten in ein serielles Digitalformat konvertiert worden sind, werden diese dann zu dem HDLC-Block überführt.
  • Während des Sendens setzt der Sendeempfänger die parallele digitale Information in ein serielles Format mit dem entsprechenden Leitungscode um. Beim Abschließen der "S"-Schnittstelle bewirkt der Sendeempfänger die Echounterdrückung für vollen Duplexbetrieb. Der Sendeempfänger wird von der CPU gesteuert. Bidirektionelle Kommunikationen ermöglichen dem Sendeempfänger jedoch, Status- und Leitungsinformation zur CPU zu übertragen.
  • HDLC
  • Der Hochniveau-Datenverbindungssteuerblock (HDLC) ist verantwortlich für die Formatierung und Decodierung der Digitalinformation, die seine Grenzen überschreitet. Der HDLC-Block besteht aus zwei Hauptabschnitten, dem Sender TX und dem Empfänger RX. Im Senderabschnitt des HDLC umfassen die auszuführenden Pflichten: Anbringen von Flaggen bei Beginn und Ende der Nachricht, Berechnung des CRC, Nulleinfügung, Zwischenrahmenfüllung (1FF), Erzeugung von Zeichenverwurf, Fehlererkennung und asynchrone Steuerkommunikationen mit DMA/CPU. Auf der Empfängerseite umfassen einige der Pflichten: Die Erkennung von gültigen Nachrichten, die Adreßerkennung, die Nullausscheidung, CRC-Überprüfung, Fehlererkennung, Verwerfungs- und IFF-Zeichenerkennung und aynchrone Steuerkommunikationen mit DMA/CPU. Ein FIFO-Abschnitt wird verwendet, um die Daten zwischen dem HDLC-Block und der DMA zu puffern.
  • DMA
  • Der direkte Speicherzugriff (DMA) liefert ein schnelles Mittel für das Gewinnen und Plazieren von Daten, die für den HDLC-Block benötigt werden. Der DMA wird generell in einem "Zyklusstehlmodus" verwendet, was ein effizientes Mittel der Datenverschiebung bildet.
  • CPU
  • Die zentrale Verarbeitungseinheit (CPU) wird verwendet, um das HDLC-System zu steuern und teilt sich einen gemeinsamen Bus mit dem DMA. Sie erhält Befehle für das Steuern des Systems von dem Speicher über die Speicher-Management-Einheit (MMU). Sie ist veranwortlich für die Organisation, Interpretation und Manipulation der in dem System umgesetzten Daten.
  • MMU
  • Die Speicher-Management-Einheit (MMU) wird als Schnittstelle von DMA/CPU mit einem Speichersystem eingesetzt. Diese Anordnung wird verwendet, wenn von dem Speichersystem gefordert wird, große Datenmengen zu halten, auf die das System zugreifen muß. Die MMU bewirkt auch die Datensicherheit, wenn die CPU benötigt wird, um mehrere Aufgaben auszuführen.
  • SPEICHER
  • Der Speicher wird verwendet für die Abspeicherung aller Daten für den Systembetrieb und kann auf mehrere CPU-Systeme aufgeteilt sein. In dem Speicher befinden sich die verschiedenen Programme, welche die CPU verwendet, um das HDLC-System und die Datenmanipulation der konvertierten Nachrichten zu steuern. Der Speicher enthält auch Bereiche, die als "Paket-RAM" bezeichnet werden, wo die Nachrichten für den HDLC gespeichert werden.
  • Innerhalb des gestrichelten Blocks 152 in Fig. 1 befindet sich der Teil des Systems, den die vorliegende Erfindung verbessert. Die traditionellen Wechselwirkungen der drei beschriebenen Blöcke (HDLC, DMA und CPU) werden nachstehend beschrieben.
  • Empfänger
  • In der Empfängerseite des HDLC programmiert zunächst die CPU den DMA mit der Adresse, wohin die nächste Botschaft zu speichern ist, und die maximale Zahl von Bytestellen für die betreffende Nachricht. Wenn der Empfänger (ebenfalls von der CPU programmiert) eine gültige Nachricht feststellt, beginnt er Empfangspuffer-Voll-Signale zu dem DMA zu senden, worauf der DMA mit dem Plazieren der in der Nachricht enthaltenen Information Byte um Byte reagiert. Bei Empfang einer vollständigen Nachricht, und wenn der DMA die gesamte Nachricht im Speicher plaziert hat, gibt der Empfänger einen Interrupt an die CPU zur Anzeige dafür, daß der DMA mit einer neuen Adresse für die nächste Nachricht programmiert werden muß. Der obige Ablauf wiederholt sich, wenn Nachrichten empfangen werden.
  • Sender
  • Auf der Senderseite des HDLC programmiert die CPU den DMA mit der Adresse und der Länge der zu sendenden Nachricht. Nachdem ihm befohlen worden ist, die Sendung zu starten (von der CPU) wird der Sender Daten von dem DMA über das Puffer-Leer-Signal (BES) anfordern . Der DMA seinerseits wird Byte um Byte aus dem Speicher die für die zu sendende Nachricht erforderlichen Daten entnehmen. Nachdem alle Daten entnommen worden sind, wird der DMA einen Interrupt zu der CPU übertragen zur Anzeige dafür, daß er mit einer neuen Adresse der nächsten zu sendenden Nachricht programmiert werden kann. Wie beim Empfänger wiederholt sich der obige Vorgang für jede ausgesandte Nachricht.
  • Das Dokument US-A-4,368,512 offenbart einen Datenverbindungskontroller für das Managen von Nachrichten mit einem Adreßfeld, einem Steuerfeld und einem Informationsfeld und im DMA-Modus betrieben.
  • Das Dokument EP-A-29 800 offenbart ein Digitalinformationstransfersystem, das im DMA-Modus arbeitet, wobei das erste Byte eines empfangenen Wortes einem Adreßregister zugesteuert wird. Diese Information wird dann verwendet, um den Rest des Wortes in einem Daten- RAM zu speichern.
  • Einige der Nachteile des obigen Ansatzes werden nachstehend umrissen:
  • a) Der Speicherwirkungsgrad ist niedrig wegen der großen Disparität zwischen der benötigten Bereitstellung von Speicherplatz und der größten zu empfangenden Nachricht. 252 (512-260) Byte Speicherplätze werden nicht ausgenutzt, obwohl sie bereitgestellt worden sind.
  • b) Viele Nachrichten enthalten nur CAF- und CRC-Information und sind naturgemäß sehr kurz. Diese Art von Nachricht macht typischerweise etwa 8 von 10 umgesetzten Nachrichten aus. Der Speicherwirkungsgrad leidet erheblich wegen dieser Art von Nachricht, weil 2 bis 8 Byte in einem Speicherblock von 512 Byte abgelegt werden.
  • c) Neun-Bit-Blockbereitbestellungen (512 Speicherplätze) sind natürlich schwierig in digitalen Prozessoren zu handhaben, weil die Zahl neun nicht kongruent ist mit dem binären Basiszahlsystem, das allen kommerziellen digitalen Prozessoren gemeinsam ist.
  • d) Die Übertragung von Daten zu mehr als einem Bestimmungsort, ausschließlich der Rundfunkübertragung, erfordert, daß die CAF-Information zwischen jeder Aussendung modifiziert wird oder daß die DF-Information mit individuellen CAF-"Köpfen" dupliziert wird.
  • e) Gelegentlich muß der Benutzer Information einfügen, verändern oder unterdrücken (gewöhnlich in dem CAF), bevor die Nachricht erneut ausgesandt wird. Bei dem obigen Verfahren muß potentiell ein großer Datenblock bewegt werden, bevor die Wiederaussendung erfolgt.
  • f) Traditionelle DMA-Kontroller unterbrechen die CPU, nachdem jede Nachricht in dem entsprechenden Speicherblock plaziert worden ist, unter Anforderung einer Adreßinformation bezüglich der nächsten Nachricht. Dies verringert die CPU-Effizienz wegen der Interrupt-Latenzzeit.
  • Die obigen Beschränkungen bewirken einen uneffizienten Einsatz des Systemspeichers und der CPU-Verarbeitungszeit.
  • Die vorliegende Erfindung zielt darauf ab, die Nachteile des Standes der Technik, die oben erläutert wurden, durch die Kombination von Merkmalen zu unterwinden, die im Anspruch 1 definiert ist.
  • Fig. 1 zeigt ein Blockdiagramm des Standes der Technik.
  • Fig. 2 zeigt ein Blockdiagramm der bevorzugten Ausführungsform der Erfindung.
  • Fig. 3 zeigt eine Wiedergabe, wie der Speicher gemäß der vorliegenden Erfindung eingesetzt wird.
  • Fig. 4 zeigt einen Empfänger als Beispiel der APL und VAL-Logik gemäß der vorliegenden Erfindung.
  • Diese Erfindung ist ein Speicher-Management-System für ein Paketdatenmodussystem, das in Verbindung mit einem direkten Speicherzugriffskontroller eingesetzt wird. Das Management-System ist von dem Typ für die Kommunikation von Paketdaten in Speicherraum oder aus ihm heraus. Jede Nachricht in einem Paketdatenmodussystem enthält ein Steueradreßfeld und ein Datenfeld. Die Erfindung umfaßt Mittel für das Erzeugen einer Veränderung des Feldsignals und die Kommunikation dieses Signals zu dem DMA-Kontroller. Die Erfindung umfaßt auch Mittel für das Erzeugen eines Nachrichten-Ende-Signals mit Mitteln für das Kommunizieren des Nachrichten-Ende-Signals zu dem DMA-Kontroller. Das Steueradreßfeld wird separat von dem Datenfeld gespeichert. Dies erhöht die Effizienz der Datenspeicherung und verbessert die Informationspackungsdichte in dem Speicherraum. Durch Konstruieren eines DMA, der eng zusammenarbeitet mit einem HDLC-Kanal, kann ein effizienteres Informationsmanagement-System realisiert werden. Durch diese DMA/HDLC-Synergie resultiert ein größerer Datendurchsatz. Zusätzlich können die obigen Vorteile unter Verwendung einer einfachen Festblocklängenbereitstellung an Speicherraum erzielt werden, wobei dieser effiziente und einfache Ansatz der Speicherbereitstellung beibehalten wird.
  • Gemäß Fig. 2 ist ein Blockdiagramm der bevorzugten Ausführungsform gezeigt. Ein Sendeempfänger 210 ist angekoppelt zum Empfangen und Senden von Paketdaten von einer Drillpaar-"S"- oder "U"-Schnittstelle 212. Diese Drillpaarschnittstelle 212 kann beispielsweise eine existierende Telefonleitung sein.
  • Der Sendeempfänger 210 ist auch an einen HDLC-Kontroller 214 über einen seriellen digitalen Datenbus 216 angekoppelt. Der HDLC-Kontroller umfaßt eine Empfängerschaltung RX 218, eine Senderschaltung TX 220 und einen FIFO-Puffer 222. Der HDLC-Kontroller 214 ist an einen verkettenden DMA-Kontroller 224 über einen parallelen digitalen Datenbus 226 angekoppelt.
  • Der DMA-Kontroller 224 ist an eine zentrale Verarbeitungseinheit (CPU) 228 und eine Speicher-Management-Einheit (MMU) 230 über den CPU-Bus 232 angekoppelt. Die MMU 230 ist mit dem Speicher 234 über den Speicherbus 236 gekoppelt.
  • Der Sendeempfänger 210, der HDLC-Kontroller 214, der DMA-Kontroller 224, die CPU 228 und die MMU 230 sind sämtlich gekoppelt zum Empfangen von und Übertragen zu einem Kommunikations/Steuersignalbus 238. Die MMU 230 und der Speicher 234 haben einen getrennten Kommunikations-/Steuersignalbus 240. Der HDLC-Kontroller 214 ist angekoppelt zum Liefern eines Empfängerpuffer-Voll-Signals (RBF) 244 und eines Puffer- Leer-Signals (BES) 246 an den DMA-Kontroller 224. Der DMA-Kontroller 224 ist angekoppelt zum Liefern eines Interruptsignals 254, eines Adreßzeigerlogiksignals (APL) 256 und eines Gültigadreßlogiksignals (VAL) 258 an die CPU 228. Zusätzlich ist der HDLC-Kontroller angekoppelt zum Liefern eines Feldänderungssignals (COF) 248 und eines Nachrichten-Ende-Signals (EOM) 250 an den DMA-Kontroller 224.
  • In Fig. 2 bilden die Drillpaarschnittstelle 212, der Sendeempfänger 210, der serielle digitale Datenbus 216 und der HDLC-Kontroller 214 das Paketdatenmodussystem (PDM). Der DMA-Kontroller 224, der CPU-Bus 232, die CPU 228, die MMU 230, der Speicherbus 236 und Speicher 234 bilden das digitale Verarbeitungssystem. Der parallele digitale Datenbus 226 koppelt das PDM-System mit dem digitalen Verarbeitungssystem.
  • Verkettung
  • Der DMA und RX/TX haben die Fähigkeit, ein Minimum von zwei vollständigen Nachrichten ohne den erforderlichen Eingriff der CPU zu empfangen bzw. zu senden, und dies soll als "Verkettung" bezeichnet werden. Dieses Merkmal ermöglicht der CPU, die Speicheradressen für ununterbrochene Datensendung und Datenempfang zu kanalisieren. Dieses Verfahren belastet die CPU nur wenig für das Auffrischen von DMA-Registern, unmittelbar nachdem eine Nachricht ausgesandt oder empfangen worden ist.
  • Stattdessen wird beim Konvertieren kontinuierlicher Daten die Maximalinterruptzykluszeitbegrenzung der CPU von wenigen Bytezeiten auf mindestens eine vollständige Nachricht plus wenige Bytezeiten erhöht. Dieser Vorteil wird sehr wichtig, wenn sich mehrere HDLC-Blöcke eine DMA teilen und von dem System die Aufnahme hoher Datenraten erwartet wird. Mit der vorliegenden Definition hat der Benutzer auch die Option, nach mehreren Nachrichten zu unterbrechen. Dabei kann der Benutzer alle DMA- Register gleichzeitig auffrischen, wodurch die Interruptineffizienzen verringert werden wie auch die Interruptlatenz um zumindest den Faktor von zwei.
  • Nachrichtenaufspaltung
  • Die Signale Nachrichtenende (EOM), Feldänderung (COF), Adreßzeigerlogik (APL) und Gültigadreßlogik (VAL) sind hinzugefügt worden, um die enge Wechselwirkung zwischen CPU/DMA/HDLC zu schaffen, auf der diese Erfindung beruht. Wegen der Computerarithmetik und dem zugeordneten Haushalten bezüglich des Ortes, wo Nachrichten zu speichern sind, ist es zweckmäßig, Speicherblöcke bereitzustellen, welche die binäre Basis mit einer Potenz n, d.h. 2³ = 8, 2&sup4; = 16, 2&sup5; = 32 usw. sind. Das COF-Signal wird verwendet, um der DMA zu signalisieren, wenn die CAF-Information empfangen worden ist. Die Länge des CAF wird von der CPU programmiert und kann sich ändern in Übereinstimmung mit der Länge des CAF-Feldes.
  • Der DMA wird bei Empfang der COF-Indikation die Stelle ändern, wo die restliche Nachricht (die DF-Daten) abgespeichert werden. Dies spaltet wirksam die Nachricht auf und speichert sie in zwei Teilen, nämlich den CAF-Daten und den DF-Daten. Diese Feldänderung erfolgt automatisch durch die DMA ohne erforderlichen Eingriff der CPU. Dies läßt die CPU ununterbrochen, um andere Daten zu verarbeiten, womit die Effizienz des Gesamtsystems vergrößert wird.
  • Als ein Beispiel wird in den Lagen 2 und 3 des ISDN-ISO-Modells (auf das sich diese Diskussion richtet) das CAF-Feld mindestens vier Datenbytes und nicht mehr als acht Datenbytes enthalten. Der Anwender braucht nun nur einen Speicherblock von 8 Byes (2³ - 8) bereitzustellen für die Aufnahme des CAF-Feldes. Die maximale Zahl von Bytes, die nun in dem DF-Feld vorhanden sein kann, beträgt 256 (260-Minimum-CAF von 4). Die Speicherzuordnung für die maximale Datenmenge in dem DF-Feld kann in Blöcken von 256 Bytes repräsentiert werden, (2&sup8; = 256), identisch mit den maximalen DF-Daten.
  • In früheren DHLC-Systemen würden wegen des Fehlens dieses Verfahrens der Aufspaltung von Nachrichten 512 Bytes bereitzustellen sein für die Aufnahme einer Nachricht, die 260 Datenbytes (CAF und DF) enthält. Die maximale Speichereffizienz eines solchen Systems betrüge 51% (260/512). Die maximale Effizienz unter Verwendung des Aufspaltverfahrens nähert sich 100% (4+256)/260. Zusätzlich werden viele Nachrichten sehr kurz sein, indem sie nur bis zu 8 CAF-Bytes enthalten. Die Minimaleffizienz unter Verwendung des bevorzugten Verfahrens (4 Bytes von CAF) beträgt 50% (4/8), weil das DF-Feld von 256 Bytes nicht zuzuordnen sein wird. The Maximaleffizienz nähert sich wiederum 100% mit der Verwendung von acht der acht Speicherstellen. Bei Anwendung des traditionellen Ansatzes würde die Effizienz von einem niedrigen Wert von weniger als 1% (4/512) bis zu einem Maximum von 2% (8/512) variieren. Mit 80% aller Nachrichten, die sehr kurz sind, bietet die bevorzugte Methode eine Verbesserung des Sofachen des Speicherwirkungsgrades gegenüber dem traditionellen Ansatz für kleine Nachrichten.
  • Fig. 3 zeigt die Methode der Aufspaltung einer Nachricht zur Erhöhung der Speichereffizienz. Links sind zwei ISDN-Nachrichten zu empfangen. Bei Empfang einer Eröffnungsflagge speichert der DMA CAF-Information für die erste Nachricht im externen Speicher über Vektor V1. Nach Empfang eines COF beginnt der DMA, den Vektor V2 zu benutzen, um die DF- Information zu speichern. Wenn die erste Nachricht empfangen ist, wird ein EOM dem DMA ausgegeben, um V3 als nächsten Vektor für das CAF-Feld der zweiten Nachricht zu wählen. Das EOM-Signal unterbricht auch die CPU (wenn sie programmiert ist, um nach jeder Nachricht zu unterbrechen), so daß sie die V1/V2 Vektoren auffrischen kann. Dieser Prozeß setzt sich für nachfolgende Nachrichten fort, bis der DMA beginnt, wieder den V1 zu benutzen. Die Vektoren müssen mindestens vier Pegel tief sein, um die DMA-Verkettung von zwei Nachrichten zu stützen, doch kann die Anzahl der Vektorpegel vergrößert werden, um die Verkettung von mehr als zwei Nachrichten zu stützen. Wie zuvor erwähnt, erfolgt oft eine Datenmanipulation in den CAF-Blöcken in externen Speichern zum Vorbereiten der Information für die Rücksendung. Fig. 3 zeigt, daß für die Manipulation der CAF-Information der Benutzer höchstens acht Bytes bewegen wird. In Systemen, die den traditionellen Ansatz anwenden, würden bis zu 260 Bytes zu bewegen sein. Der DMA-Senderabschnitt arbeitet sehr ähnlich dem Empfangsabschnitt. Wenn der Sender eine Nachricht zu senden beginnt, holt sich der DMA die erforderlichen Daten für das CAF-Feld über Vektor V5. Er beginnt dann automatisch, Daten für das DF-Feld unter Verwendung von Vektor V7 zu holen. Bei Beendigung dieser Aufgabe signalisiert er der CPU, daß die V5/V7 Vektoren aufgefrischt werden können, und schaltet automatisch zum Vektor V6. Der DMA ist nun verfügbar für das Entnehmen von Information für die nächste auszusendende Nachricht.
  • Während eines Sendevorgangs unter Anwendung der bevorzugten Methode kann der Benutzer nun separate DF an ein einzelnes CAF anhängen. Dies erweist sich als nützlich, wenn die Übertragung zu einem einzigen oder sehr wenigen Bestimmungsorten erfolgt. Zusätzlich kann der Benutzer auch ein gemeinsames DF ohne weiteres zu vielen Bestimmungsorten senden. Das DF braucht nur in einer Stelle gespeichert zu werden und kann an mehrere CAF-Köpfe angehangen werden. Jedes dieser Verfahren vergrößert den Wirkungsgrad, weil weniger Information gespeichert werden muß und die CPU-Datenmanipulation minimiert wird. Die DMA/TX-Kombination hat die Fähigkeit, eine Nachricht mit nur der CAF-Information zu senden.
  • APL
  • Die Adreßzeigerlogik (APL) wird von der CPU benutzt, um zu bestimmen, welcher Vektor (VA, VB, VC usw.) zu irgendeinem Zeitpunkt in Benutzung ist. APL-Logik gibt es sowohl für den Sender als auch den Empfänger und sie funktioniert unabhängig für jeden. Fig. 4 zeigt ein Beispiel, wo drei Bits APL verwendet werden, um zu identifizieren, welcher Vektor benutzt wird. Mit anderen Worten wird, wenn APL = 110, der Vektor VG verwandt; wenn APL = 111, der Vektor VH usw.
  • Nachdem ein Vektor benutzt worden ist, wird APL um eins oder zwei inkrementiert, abhängig davon, ob es in dem DF-Feld Daten gibt. Wenn das DF-Feld Daten enthält, wird APL um eins inkrementiert, sonst um zwei. Nachdem die APL bis zu ihrer Grenze inkrementiert worden ist (im Falle von Fig. 4, APL = 111), kehrt die APL zu dem VA-Vektor (000) zurück und fährt revolvierend fort unter Vektorbestückung der Nachrichten, wie sie konvertiert werden.
  • Wenn die APL in Verbindung mit VAL-Logik (später zu beschreiben) verwendet wird, kann die CPU bestimmen, welche Vektoren benutzt worden sind und welche Vektoren zu irgendeinem Zeitpunkt aufzufrischen sind. Bei Anwendung dieser Information kann die CPU ununterbrochene Vektoren bereitstellen bezüglich der Stellen, wo Nachrichteninformation zu plazieren oder zu entnehmen ist.
  • Die Zahl der Bits in der APL braucht nicht festliegend zu sein, sondern kann verringert oder erhöht werden zum Bereitstellen des Verkettungspegels, der für das entsprechende System benötigt wird (2 Bits könnten 2 aufgespaltene Nachrichten mit Vektoren versehen, 4 Bits könnten 8 gespaltene Nachrichten mit Vektoren versehen). Bei Fig. 4 kann die CPU 4 aufgespaltene Nachrichten verketten.
  • VAL
  • Die Gültigadreßlogik (VAL) wird in Verbindung mit der APL-Logik verwendet für die Haushaltung der Adreßvektoren. Für jeden Adreßvektor gibt es ein entsprechendes VAL-Bit, das den Zustand des Vektors anzeigt. Wenn der Wert 0 ist, wird der Vektor als ungültig (verbraucht) angesehen und als gültig, wenn der Wert 1 ist. Das VAL-Bit wird auf 1 gesetzt, wenn der Vektor mit einem neuen Wert aufgefrischt wird, und wird rückgesetzt, wenn der DMA den Vektor benutzt hat. Die VAL-Logik vermittelt der CPU, welche Vektoren mit neuen Werten aufzufrischen sind, und, in Verbindung mit APL-Logik verwendet, liefert sie eine Rückkopplung für die Steuerung der Vektorbestückung von Nachrichten.
  • Zusätzlich kann die VAL-Logik erkennen, wenn der DMA den Ansatz gemacht hat, einen ungültigen Vektor zu verwenden, und wird der CPU diesen Fehlerzustand signalisieren. Durch Überprüfen von VAL- und APL- Bits kann die CPU auch Nachrichten bestimmen, die nur CAF-Information enthalten, womit der unbenutzte DF-Block neu zugeordnet werden kann.
  • ABKÜRZUNGSGLOSSAR
  • APL Adreßzeigerlogiksignal
  • BES Puffer-Leer-Signal
  • CAF Steuer-/Adreßfeld
  • COF Feldänderungssignal
  • CPU Zentrale Verarbeitungseinheit
  • CRC Zyklische Redundanzüberprüfung
  • DF Datenfeld
  • DMA Direktspeicherzugriff
  • EOM Nachrichten-Ende-Signal
  • FIFO Durchlaufregister
  • HDLC Hochpegeldatenverbindungskontroller
  • IFF Zwischenrahmenfüllung
  • ISDN Integriertes digitales Service-Netz
  • LAPD Verbindungszugriffsprotokoll im "D"-Kanal
  • MMU Speicher-Management-Einheit
  • PDM Paketdatenmodusnetz
  • RBF Empfangspuffer-Voll-Signal
  • RX Empfänger
  • TX Sender
  • VAL Gültigadreßlogiksignal

Claims (14)

1. Ein Speicher-Management-System für ein Packet-Data-Mode-System, verwendet in Verbindung mit einem Direktspeicherzugriffs-DMA- Steuergerät (224), welches Management-System der Bauart ist für das Entnehmen und Senden einer Nachricht von einem Speicher (234) oder Empfangen und Speichern der Nachricht in dem Speicher, wobei jede Nachricht ein Steuer/Adreßfeld (CAF) besitzt und ein Datenfeld (DF) haben kann, welches Speicher-Management-System umfaßt:
a) Mittel (214) für das Erzeugen einer Änderung des Feldsignals (COF);
b) Mittel (V2) für die Kommunikation der Änderung des Feldsignals zu dem DMA-Steuergerät;
c) Mittel (214) für das Erzeugen eines Nachricht-Ende-Signals (EOM); und
d) Mittel (V3) für das Kommunizieren des Nachricht-Ende-Signals zu dem DMA-Steuergerät, wodurch das DMA-Steuergerät bei Empfang der Änderung des Feldsignals die Stelle in dem Speicher ändert, unter welcher das Datenfeld zu speichern ist, wodurch gesteuert wird, daß das Steuer/Adreßfeld und das Datenfeld einer Nachricht, die empfangen wird, in getrennten Stellen in dem Speicher abgespeichert werden, so daß die Nachricht wirksam aufgespalten wird, und wodurch das DMA-Steuergerät bei Empfang des Nachricht-Ende-Signals die Stelle in dem Speicher ändert, unter welcher das Steuer/Adreßfeld einer zweiten zu empfangenden Nachricht zu speichern ist.
2. Das Speicher-Management-System nach Anspruch 1, bei dem das Speicher-Management-System ferner verwendet wird in Verbindung mit einem Zentralrechner (CPU) (228), welches System ferner Mittel umfaßt für die Verkettung mindestens zweier vollständiger Nachrichten miteinander ohne Erfordernis des Eingriffs der CPU für ununterbrochene Datenübertragung.
3. Das Speicher-Management-System nach Anspruch 2, bei dem das DMA-Steuergerät (224) DMA-Register besitzt, die nach Übertragung einer verketteten Nachricht auffrischbar sind.
4. Das Speicher-Management-System nach Anspruch 2, ferner umfassend Mittel (V1-V7) für die Angabe von Speicherplätzen, wo CAF und DF gespeichert sind.
5. Das Speicher-Management-System nach Anspruch 4, bei dem die Mittel für das Anzeigen eine Mehrzahl von Vektoren umfassen.
6. Das Speicher-Management-System nach Anspruch 5, ferner umfassend eine Adreßzeigerlogik (APL) für die Verwendung durch die CPU (228) zwecks Bestimmung, welcher der Vektoren in Gebrauch ist.
7. Das Speicher-Management-System nach Anspruch 6, ferner umfassend Mittel (VAL) für die Instruktion der CPU (228), einen angemessenen der Vektoren aufzufrischen.
8. Das Speicher-Management-System nach Anspruch 7, bei dem die Instruktionsmittel einen Indikator einer Gültigadreßlogik (VAL) umfassen mit einem ersten Zustand und einem zweiten Zustand für die Instruktion der CPU, den angemessenen der Vektoren aufzufrischen, mit einem Gültiglogikindikator in dem zweiten Zustand.
9. Das Speicher-Management-System nach Anspruch 8, ferner umfassend Mittel für die Feststellung, ob ein DF vorhanden ist.
10. Das Speicher-Management-System nach Anspruch 1, bei dem das System für die Verwendung mit einem DHLC-System vorgesehen ist.
11. Das Speicher-Management-System nach Anspruch 10, bei dem das HDCL-System ein ISDN-System ist.
12. Das Speicher-Management-System nach Anspruch 1, bei dem ein einzelnes DF multiplen CAF anfügbar ist.
13. Das Speicher-Management-System nach Anspruch 1, bei dem multiple DF einem einzelnen CAF anfügbar sind.
14. Das Speicher-Management-System nach Anspruch 1, umfassend
a) ein HDLC-Steuergerät (214);
b) ein Direktspeicherzugriffs-DMA-Steuergerät (224) mit DMA- Registern;
c) ein Zentralrechner (CPU) (228);
d) Mittel für das Erzeugen eines Feldänderungssignals in dem HDLC-Steuergerät;
e) Mittel für die Kommunikation des Feldänderungssignals von dem HDLC-Steuergerät zu dem DMA-Steuergerät;
f) Mittel für das Erzeugen eines Nachricht-Ende-Signals in dem HDLC-Steuergerät;
g) Mittel für das Kommunizieren des Nachricht-Ende-Signals von dem HDLC-Steuergerät zu dem DMA-Steuergerät;
h) Mittel für die Verkettung von zwei oder mehr Nachrichten, wodurch eine verkettete Nachricht ohne Eingriff durch die CPU gebildet wird;
i) Mittel für das Auffrischen der DMA-Register nach Übertragung der verketteten Nachricht;
j) eine Mehrzahl von Vektoren für die Angabe einer Speicheradresse, wo CAF und DF gespeichert sind;
k) Mittel für die Bestimmung, welcher der Vektoren in Gebrauch ist,
l) Mittel für das Instruieren der CPU, einen entsprechenden der Vektoren aufzufrischen.
DE68926091T 1988-10-28 1989-10-23 Speicherverwaltung in Systemen mit Datenpaketbetrieb Expired - Fee Related DE68926091T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/263,715 US5047927A (en) 1988-10-28 1988-10-28 Memory management in packet data mode systems

Publications (2)

Publication Number Publication Date
DE68926091D1 DE68926091D1 (de) 1996-05-02
DE68926091T2 true DE68926091T2 (de) 1996-11-21

Family

ID=23002956

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68926091T Expired - Fee Related DE68926091T2 (de) 1988-10-28 1989-10-23 Speicherverwaltung in Systemen mit Datenpaketbetrieb

Country Status (4)

Country Link
US (1) US5047927A (de)
EP (1) EP0366036B1 (de)
JP (1) JPH02216943A (de)
DE (1) DE68926091T2 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2589205B2 (ja) * 1990-08-24 1997-03-12 三洋電機株式会社 通信制御システム
EP0473059B1 (de) * 1990-08-22 2000-05-31 Sanyo Electric Co., Limited. Übertragungssteuerungssystem
AU4245493A (en) * 1992-05-15 1993-12-13 Connective Strategies, Inc. Isdn-based high speed communication system
CA2135681C (en) * 1993-12-30 2000-01-18 Srinivas V. Makam System and method for directly accessing long-term memory devices
US5664223A (en) * 1994-04-05 1997-09-02 International Business Machines Corporation System for independently transferring data using two independently controlled DMA engines coupled between a FIFO buffer and two separate buses respectively
SE503316C2 (sv) * 1994-04-19 1996-05-13 Ericsson Telefon Ab L M Förfarande för övervakning av ett minne samt kretsanordning härför
US5588120A (en) * 1994-10-03 1996-12-24 Sanyo Electric Co., Ltd. Communication control system for transmitting, from one data processing device to another, data of different formats along with an identification of the format and its corresponding DMA controller
US6145027A (en) * 1997-07-09 2000-11-07 Texas Instruments Incorporated DMA controller with split channel transfer capability and FIFO buffering allowing transmit channel to get ahead of corresponding receive channel by preselected number of elements
US6563799B1 (en) * 1999-01-29 2003-05-13 Avaya Technology Corp. Application module interface for hardware control signals in a private branch exchange (PBX) environment
US6715000B2 (en) * 2001-03-16 2004-03-30 Texas Instruments Incorporated Method and device for providing high data rate for a serial peripheral interface
US20040098519A1 (en) * 2001-03-16 2004-05-20 Hugo Cheung Method and device for providing high data rate for a serial peripheral interface
WO2004021193A1 (en) * 2002-08-30 2004-03-11 Koninklijke Philips Electronics N.V. Dynamic memory management
US7576073B2 (en) * 2004-05-28 2009-08-18 UNIVERSITé LAVAL Combined therapy for the treatment of parkinson's disease
US20070168579A1 (en) * 2005-09-20 2007-07-19 Telefonaktiebolaget Lm Ericsson (Publ) DMA transfer and hardware acceleration of PPP frame processing

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4317197A (en) * 1978-06-02 1982-02-23 Texas Instruments Incorporated Transparent intelligent network for data and voice
US4368512A (en) * 1978-06-30 1983-01-11 Motorola, Inc. Advanced data link controller having a plurality of multi-bit status registers
US4298959A (en) * 1979-11-23 1981-11-03 United Technologies Corporation Digital information transfer system (DITS) receiver
DE3272517D1 (en) * 1982-03-24 1986-09-18 Ibm Method and device for the exchange of information between terminals and a central control unit
US4571671A (en) * 1983-05-13 1986-02-18 International Business Machines Corporation Data processor having multiple-buffer adapter between a system channel and an input/output bus
JPS6336348A (ja) * 1986-07-30 1988-02-17 Toshiba Corp バツフアメモリ管理方法
JPH01177239A (ja) * 1988-01-06 1989-07-13 Nec Corp パケット集線装置及びパケット交換機

Also Published As

Publication number Publication date
EP0366036B1 (de) 1996-03-27
JPH02216943A (ja) 1990-08-29
EP0366036A2 (de) 1990-05-02
US5047927A (en) 1991-09-10
DE68926091D1 (de) 1996-05-02
EP0366036A3 (de) 1991-03-13

Similar Documents

Publication Publication Date Title
DE3850881T2 (de) Verfahren und Vorrichtung zur Nachrichtenübertragung zwischen Quellen- und Zielanwender durch einen anteilig genutzten Speicher.
DE68926091T2 (de) Speicherverwaltung in Systemen mit Datenpaketbetrieb
DE69029892T2 (de) Datendarstellung und Protokoll
DE60130079T2 (de) Verfahren und vorrichtung zur paketvermittlung mittels eines geteilten pufferspeichers
DE60219999T2 (de) Taskverwaltungsverfahren für einen Router einer Paketvermittlungsstelle, die Teil eines gesicherten und Paketvermittelten Netzes ist
DE69019766T2 (de) Sendeaufrufübertragungssystem.
DE2241573A1 (de) Digitales datenverarbeitungssystem
DE4104601C2 (de) Empfangsdatenverarbeitungsanlage
DE2503111B2 (de) Verfahren und schaltungsanordnung zur zeitmultiplexen uebertragung von nutzinformationen aus voneinander unabhaengigen quellen
DE69832149T2 (de) ATM-Zellenübermittlungssystem
DE19531749A1 (de) Verkehrsgestaltungseinrichtung und Paket-Kommunikationsgerät
EP0329005B1 (de) Verfahren zum Einrichten von über Koppelvielfache einer mehrstufigen Koppelanordnung verlaufenden virtuellen Verbindungen
DE69013886T2 (de) Mehrfachzugriffssteuerung für ein Kommunikationssystem mit Reservierungsblockübermittlung.
DE19652541A1 (de) Nachrichtendatenflußdosierungsverfahren
EP0692893B1 (de) Vorrichtung zur Vermittlung in digitalen Datennetzen für asynchronen Transfermodus
EP0566961A2 (de) Verfahren und Schaltungsanordnung zum Überprüfen der Einhaltung vorgegebener Übertragungsbitraten in einer ATM- Vermittlungseinrichtung
DE69014949T2 (de) Vorrichtung zur Verarbeitung von Signalisierungsnachrichten in einem asynchronen Zeitkommunikationsnetz.
DE3881574T2 (de) Vermittlungsverfahren für integrierte Sprach/Daten-Übertragung.
DE3750920T2 (de) Anzeigeendgerät in einem digitalen Datensystem.
EP0576750B1 (de) Modifiziertes Leaky-Bucket-Verfahren
DE69021332T2 (de) Datenformat für Informationspakete.
DE60203785T2 (de) Netzschnittstelle
EP1370952B1 (de) Kommunikationsverfahren zur realisierung von ereigniskanälen in einem zeitgesteuerten kommunikationssystem
EP1099153B1 (de) Speichereinrichtung und verfahren zum betreiben der speichereinrichtung
DE1275088B (de) Schaltungsanordnung fuer rechnergesteuerte Speichervermittlungsanlagen

Legal Events

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