DE60210637T2 - Verfahren zum transferieren von daten in einer elektronischen schaltung, elektronische schaltung und zusammenhangeinrichtung - Google Patents

Verfahren zum transferieren von daten in einer elektronischen schaltung, elektronische schaltung und zusammenhangeinrichtung Download PDF

Info

Publication number
DE60210637T2
DE60210637T2 DE60210637T DE60210637T DE60210637T2 DE 60210637 T2 DE60210637 T2 DE 60210637T2 DE 60210637 T DE60210637 T DE 60210637T DE 60210637 T DE60210637 T DE 60210637T DE 60210637 T2 DE60210637 T2 DE 60210637T2
Authority
DE
Germany
Prior art keywords
block
interface device
electronic circuit
control unit
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60210637T
Other languages
English (en)
Other versions
DE60210637D1 (de
Inventor
Telecom Italia S.p.A Andrea BRAGAGNINI
Telecom Italia S.p.A. Pierangelo GARINO
Telecom Italia S.P.A. Maura TUROLLA
Telecom Italia S.p.A. Antonio VARRIALE
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.)
Telecom Italia SpA
Original Assignee
Telecom Italia SpA
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 Telecom Italia SpA filed Critical Telecom Italia SpA
Publication of DE60210637D1 publication Critical patent/DE60210637D1/de
Application granted granted Critical
Publication of DE60210637T2 publication Critical patent/DE60210637T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft ein Verfahren zum Übertragen von Daten in einer elektronischen Schaltung, die eine Steuereinheit (CPU), einen ersten Schaltungsblock mit einem Speichermittel, und einen zweiten Schaltungsblock umfaßt, der in der Lage dazu ist, Daten mit dem ersten Schaltungsblock auszutauschen.
  • Die vorliegende Erfindung betrifft außerdem eine elektronische Schaltung und eine Vorrichtung, die dazu ausgelegt ist, das Verfahren gemäß der Erfindung zu implementieren.
  • Insbesondere betrifft die vorliegende Erfindung Test-Untersysteme, die dazu in der Lage sind, Übertragungs- und Empfangsketten zu implementieren und zu emulieren, wobei Schaltungsblöcke, die in der Form von Hardware-Blöcken und/oder in der Form von Firmware-Blöcken implementiert sind, koexistieren, und wobei das Testverfahren darin besteht, selektiv die Funktionen der Blöcke zu aktivieren, die die Kette bilden, und beispielsweise die Datenübertragung von einem Block zu dem anderen durch den RAM zu überwachen.
  • ALLGEMEINER STAND DER TECHNIK
  • Wie gut bekannt ist, beansprucht der Datenaustausch zwischen Hardware- und/oder Firmware-Schaltungsblöcken, die dazu in der Lage sind, spezifische Verarbeitungsfunktionen durchzuführen, die CPU stark, insbesondere in den Test- oder Emulations-Untersystemen elektronischer Schaltungen.
  • Betrachten wir beispielsweise das Logikdiagramm aus 1, das ein Emulations- oder Test-Untersystem 10 eines bekannten Typs betrifft, z.B. das Emulations-Untersystem-Modell ARM INTEGRATOR/AP von der ARM Corp., das für die Verhaltensemulation einer Schaltung ausgelegt ist, die durch mehrere Hardware- und/oder Firmware-Blöcke gebildet ist.
  • Das Untersystem 10 umfaßt in einer seiner möglichen Konfigurationen eine Basisbaugruppe 12, ein erstes Modul 14, worin wenigstens eine programmierbare logische Schaltung 41 des Typs FPGA (Field Programmable Gate Array) aufgenommen sein kann, und ein zweites Modul 16, worin wenigstens ein Mikroprozessor 61 des Typs DSP (Digitalsignalprozessor) aufgenommen sein kann.
  • Die Basisbaugruppe 12 des Untersystems 10 umfaßt einen Steuerungsmikroprozessor (CPU) 21, beispielsweise des Typs ARM7TDMI, einen Schreib-Lese-Speicher (RAM) 22, und einen Kanal für Adressen, Steuerungen und Daten (BUS) 24. Mit dem BUS 24 sind in einer bekannten Art und Weise die CPU 21, der RAM 22, der FPGA 41 und der DSP-Mikroprozessor 61 verbunden.
  • Wie allgemein bekannt ist, wird die Übertragung der Daten während einer Emulationsphase von einem Hardware-Block, der beispielsweise mit Hilfe der Logikschaltung FPGA 41 emuliert wird, und von einem Firmware-Block, der beispielsweise mit Hilfe des DSP 61 emuliert wird, auf die folgende Art und Weise durchgeführt:
    • – Sobald die Logikschaltung FPGA 41 die Verarbeitungsfunktionen ausgeführt hat, die in der FPGA 41 implementiert sind, und die CPU 21 über den Abschluß dieser Operation informiert hat, beginnt die CPU 21, Schritt für Schritt die Übertragung der Daten durch FPGA 41 auf RAM 22 zu überprüfen, und zwar indem:
    • – auf einen BUS 24 zugegriffen wird, um die verarbeiteten Daten aus der Logikschaltung FPGA 41 abzulesen;
    • – auf einen BUS 24 zugegriffen wird, um die gerade abgelesenen Daten in RAM 22 zu schreiben; und
    • – indem die CPU 21 nach Abschluß der Übertragung auf RAM 22 die Daten von RAM 22 abliest und sie an DSP 61 überträgt, und zwar indem:
    • – auf einen BUS 24 zugegriffen wird, um die zuvor gespeicherten Daten von RAM 22 abzu–esen; und
    • – auf einen BUS 24 zugegriffen wird, um die gerade abgelesenen Daten in DSP 61 zu schreiben.
  • Es ist offensichtlich, daß der Übertragungsprozeß von DSP 61 zu FPGA 41 im wesentlichen ähnlich ist, wenn auch in umgekehrter Richtung.
  • Ein erstes technisches Problem des Stands der Technik hat seinen Grund darin, daß durch jede Übertragung von dem FPGA (Hardware-Block) 41 oder von dem DSP (Firmware-Block) 61, und umgekehrt, der BUS 24 zweimal eingesetzt wird, und daß durch jede Übertragung von Hardware-Block 41 zu Firmware-Block 61, oder umgekehrt, der BUS 24 viermal eingesetzt wird, was eine Überladung von BUS 24 verursacht, insbesondere in Fällen, in denen das Untersystem 10 beispielsweise eine Übertragungskette in Echtzeit emulieren soll.
  • Ein zweites Problem des Stands der Technik liegt in der Tatsache, daß die CPU 21 während jeder Datenübertragung die Datenübertragung Schritt für Schritt kontrollieren und überwachen muß, und daß all dies die CPU 21 davon abhält, zusätzliche Verarbeitungsfunktionen durchzuführen, die für die Emulation der zu testenden elektronischen Schaltung benötigt werden.
  • Aufgrund dieser oben beschriebenen Probleme des Stands der Technik ist es oft nötig, die Kennlinien des BUS oder der CPU des benutzten Systems zu erhöhen, um die Überladung abzufedern, die durch die Datenübertragung von Block zu Block oder von Block zu RAM verursacht wird.
  • Natürlich kann das oben aufgeführte Problem nicht nur in den hier beschriebenen Emulations-Untersystemen vorliegen, sondern auch im allgemeinen in allen elektronischen Schaltungen von mittlerer oder hoher Komplexität, wobei die Datenübertragung zwischen Übertragungsblöcken, die spezifische Verarbeitungsfunktionen ausführen, Methodologien folgt, die den hier dargelegten ähnlich sind.
  • Zusätzlich offenbart die US-Patentschrift 5,584,010 eine direkte Speicherzugriffsteuerung, die in einem Multiprozessor-System benutzt wird, das mehrere digitale Datenprozessoren und einen externen gemeinsamen Speicher aufweist, der über einen ersten Bus gemeinsam mit diesen digitalen Datenprozessoren verbunden ist. Im Fall der Datenübertragung in einem direkten Speicherzugriffmodus zwischen Prozessoren wird die Datenübertragung zwischen den Prozessoren von der Steuervorrichtung durch einen zweiten Datenbus erreicht, der für die digitalen Datenprozessoren gemeinsam getrennt von dem ersten Bus bereitgestellt ist. So können Daten direkt in einem direkten Speicherzugriffmodus zwischen den Prozessoren übertragen werden, ohne den externen Speicher zu benutzen, und es kann eine schnelle Übertragung erreicht werden. Zusätzlich weist die Steuervorrichtung Register zum Speichern der Zustandsbits von jedem digitalen Datenprozessor auf, wie z.B. Anfrage- und Akzeptanzsignale für direkten Speicherzugriff, die jedem digitalen Datenprozessor zugeordnet sind. Anfrage und Akzeptanz von direktem Speicherzugriff und die Übertragung von Daten werden durch Überwachen der Inhalte dieser Register erreicht.
  • OFFENBARUNG DER ERFINDUNG
  • Das Ziel der vorliegenden Erfindung ist ein Verfahren zum Übertragen von Daten in einer elektronischen Schaltung, das eine Reduzierung der Belastung von CPU und BUS um wenigstens 50 % ermöglicht, im Vergleich zu dem gegenwärtigen Stand der Technik, ohne daß eine wesentliche Kostenerhöhung entsteht.
  • Ziel der vorliegenden Erfindung ist auch eine elektronische Schaltung und Vorrichtung, die dazu in der Lage ist, die Überlastung von CPU und BUS während der Datenübertragung von einem Schaltungsblock auf den RAM oder von einem ersten Schaltungsblock zu einem anderen Block zu reduzieren.
  • Dieses Ziel wird durch das Verfahren, die Schaltung, und die Vorrichtung erreicht, die hier beschrieben sind, wie in den Ansprüchen dargelegt.
  • Insbesondere wird das Ziel durch das erfindungsgemäße Verfahren erreicht, wobei die CPU-Funktionen, die die Datenübertragung von einem Schaltungsblock zu dem RAM oder von Block zu Block betreffen, abgefangen und direkt durch elektronische Vorrichtungen kontrolliert werden, die den Schaltungsblöcken zugeordnet sind.
  • Außerdem wird das Ziel durch die erfindungsgemäßen elektronischen Schaltungen erreicht, wobei die Schaltungsblöcke, entweder Hardware oder Firmware, entsprechenden Vorrichtungen zugeordnet sind, die dazu ausgelegt sind, die Übertragung von oder zu dem RAM oder von Block zu Block ohne Steuerung durch die CPU zu kontrollieren.
  • Durch ein weiteres Kennzeichen der vorliegenden Erfindung ist jede elektronische Vorrichtung, die einem Schaltungsblock zugeordnet ist, zusätzlich dazu, daß sie die Belastung von CPU und BUS senkt, auch, indem sie progammierbar ist, dazu ausgelegt, beispielsweise Funktionen des Blocks an die Schaltung bereitzustellen, und den Schaltungsblock, sei er Hardware oder Firmware, im wesentlichen „neutral" zu machen, d.h. unabhängig von der Schaltung, an der der Block selbst angeordnet ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Dieses und andere Kennzeichen der vorliegenden Erfindung werden durch die folgende Beschreibung einer bevorzugten Ausführungsform verdeutlicht, die anhand eines nicht begrenzenden Beispiels erfolgt, mit Hilfe der beiliegenden Figuren, wobei:
  • 1 ein Blockdiagramm eines Emulations-Untersystems gemäß dem Stand der Technik zeigt;
  • 2 ein Blockdiagramm eines Emulations-Untersystems oder einer elektronischen Schaltung gemäß der vorliegenden Erfindung zeigt; und
  • 3 ein Blockdiagramm der Vorrichtung zeigt, die dazu ausgelegt ist, die elektronische Schaltung aus 2 zu implementieren.
  • BESTE ART ZUM AUSFÜHREN DER ERFINDUNG
  • Bezugnehmend auf 2, ist eine elektronische Schaltung 101 gemäß der Erfindung beispielsweise durch ein Emulations-Untersystem des in 1 beschriebenen Typs gebildet, wobei dem Hardware-Block 41 und dem Firmware-Block 61 eine erste Schnittstelleneinrichtung (erste Vorrichtung) 45a und eine zweite Schnittstelleneinrichtung (zweite Vorrichtung) 45b zugeordnet sind, die jeweils zwischen den jeweiligen Blöcken 41 und 61, und dem BUS 24, angeordnet sind.
  • Insbesondere weist, in Übereinstimmung mit dem vorliegenden Ausführungsbeispiel, das erste Modul 14, das beispielsweise durch das ARM-INTEGRATOR/LM-Modul gebildet ist, eine programmierbare Logikschaltung des FPGA-Typs (Hardware-Block) 41 auf, beispielsweise des Typs XC200E der XILINK Corp., und die erste Vorrichtung 45a.
  • Die erste Vorrichtung 45a ist mit Hilfe einer ersten Verbindung 46a mit dem Hardware-Block 41 verbunden, mit Hilfe einer zweiten Verbindung 47 mit dem BUS 24 (2 und 3), der, wie bekannt, einen ADRESS-BUS 24a, einen STEUERBUS 24b und einen DATENBUS 24c umfaßt, und mit Hilfe von Steuerdrähten 48 und 49 eines bekannten Typs, beispielsweise für den Austausch von Unterbrechungs-I/O-Signalen mit der CPU 21.
  • Das zweite Modul 61, das beispielsweise durch ein PCI-(Peripheral Component Interconnect)-Modul eines bekannten Typs gebildet ist, weist einen DSP-Mikroprozessor (Firmware-Block) 61 auf, beispielsweise TMS320C6201 von Texas Instruments Corp., und die zweite Vorrichtung 45b.
  • Die zweite Vorrichtung 45b ist mit Hilfe einer ersten Verbindung 46b mit dem Firmware-Block 61, mit Hilfe einer zweiten Verbindung 67 mit dem BUS 24, und mit Hilfe von Steuerdrähten 68 und 69 eines bekannten Typs, mit der CPU 21 verbunden.
  • Wie im folgenden genauer erläutert werden soll, sind Schaltungen 45a und 45b dazu ausgelegt, bestimmte Steuerbefehle (Befehle) abzufangen, die von der CPU 21 ausgehen, und ohne Steuerung durch die CPU 21 die Datenübertragung von ihren jeweiligen Blöcken 41 und 61 an RAM 22 zu steuern, und umgekehrt.
  • Natürlich benötigt, wie Fachleute leicht werden nachvollziehen können, die vorliegende Schaltung 101 der Vorrichtungen 45a und 45b außerdem das Vorhandensein einer Steuerschaltung (BUS-Arbiter) 27 eines bekannten Typs, die dazu ausgelegt ist, den sequentiellen Zugriff auf BUS 24 durch die CPU 21 und die Vorrichtungen 45a und 45b zu steuern.
  • Vorrichtung 45a und 45b unterscheiden sich nur durch Spezialisierungsmerkmale hinsichtlich der Kennlinien des Blocks, dem sie zugeordnet sind. Struktur und Funktionen der ersten Vorrichtung 45a sollen deshalb im folgenden beschrieben werden.
  • Hinsichtlich der Verbindungen sind, wie an späterer Stelle erläutert werden soll, die Verbindungen 46a und 46b spezifisch und an die Kennlinien der jeweiligen Blöcke 41 bzw. 61 gebunden, während die Verbindungen 47, 48 und 49 und ihre Entsprechungen 67, 68 und 69 äquivalenten Typs sind.
  • Vorrichtung 45a umfaßt beispielsweise eine Komponente, die dazu in der Lage ist, die Datenübertragung (TRANS-STEUERUNG) 51 zu steuern, eine Komponente zum Steuern des Speichers (SPEICHER-STEUERUNG) 55, und eine Block-Schnittstellenkomponente (BLOCK-STEUERUNG) 54a.
  • Die TRANS-STEUERUNG 51 ist mit der SPEICHER-STEUERUNG 55, der BLOCK-STEUERUNG 54a, dem ADRESSBUS 24a, und dem DATENBUS 24c verbunden, und ist dazu ausgelegt, Befehle mit der CPU 21 über Steuerdrähte 48 und 49 auszutauschen, und beispielsweise durch Zusammenwirken mit der SPEICHER-STEUERUNG 55 Daten mit RAM 22 auszutauschen, oder Daten von dem DATENBUS 24c abzurufen und diese an die BLOCK-STEUERUNG 54a zu übertragen, oder umgekehrt.
  • Die TRANS-STEUERUNG 51 ist auch dazu ausgelegt, Befehle mit der CPU 21 mit Hilfe des DATENBUSSES 24c auszutauschen, um beispielsweise Initialisierungsfunktionen oder Spezialfunktionen auszuführen, die während der Entwurfsphase der elektronischen Schaltung 101 und/oder der Vorrichtung 45a definiert werden, wie an späterer Stelle genauer beschrieben werden soll.
  • Die TRANS-STEUERUNG 51 ist beispielsweise als eine Zustandsmaschine eines bekannten Typs ausgebildet, die dazu in der Lage ist, eine Sequenz von vorbestimmten Operationen im Zusammenhang mit vorbestimmten Befehlen auszuführen, wie z.B. Unterbrechungs-I/O-Signale von der CPU 21, oder eine bestimmte Bit-Konfiguration, die auf dem DATENBUS 24c während der Initialisierungsphase vorliegt.
  • In einer bevorzugten Ausführungsform umfaßt die Zustandsmaschine der TRANS-STEUERUNG 51 beispielsweise einen Speicher zum Speichern von Programmen (Programmspeicher) 511, und eine Sequenzerschaltung 512, beide bekannten Typs.
  • Der Programmspeicher 511 dient beispielsweise dazu, mehrere Befehlssequenzen zu speichern, die während der Entwurfsphase entwickelt wurden, oder während der Konfigurierungsphase der elektronischen Schaltung 101 definiert wurden.
  • Die Sequenzerschaltung 512 ist mit dem Programmspeicher 511 verbunden, und ist dazu in der Lage, gemäß vorbestimmten Befehlen von der CPU 21 selektiv die Befehlssequenzen zu lesen und auszuführen, die in dem Programmspeicher 511 gespeichert sind.
  • Natürlich können die verschiedenen Befehlssequenzen während der Entwicklungs- oder Konfigurierungsphase der elektronischen Schaltung 101 implementiert werden, und sind in einer bevorzugten Ausführungsform in Standardbetriebsfunktionen und Initialisierungsfunktionen unterteilt.
  • Die SPEICHER-STEUERUNG 55 ist mit der TRANS-STEUERUNG 51, dem ADRESSBUS 24a und dem STEUERUNGSBUS 24b verbunden und hat die Aufgabe, im Zusammenhang mit Befehlen von der TRANS-STEUERUNG 51 in einer bekannten Art und Weise Anfragen an den STEUERUNGSBUS 24b zu stellen, um Lese- oder Schreiboperationen von oder zu einer Adresse des RAM 22 zu aktivieren, oder einer Adresse eines zusätzlichen Schaltungsblocks am ADRESSBUS 24a, oder an Registern, die intern in der SPEICHER-STEUERUNG 55 selbst angeordnet sind.
  • Zu allgemeinen Nutzungszwecken umfaßt die SPEICHER-STEUERUNG 55 beispielsweise eine SPEICHER-STEUERUNG ALLGEMEIN 551, die dazu in der Lage ist, eine allgemeine Anfrage an den STEUERUNGSBUS 24b zu erzeugen, und eine Adaptionseinheit oder SPEICHER-STEUERUNG SPEZIFISCH 552, die dazu in der Lage ist, die Anfragen an den STEUERUNGSBUS 24b als eine Funktion des Typs von STEUERUNGSBUS zu spezialisieren, der an der elektronischen Schaltung 101 benutzt wird.
  • Die SPEICHER-STEUERUNG 55 kann beispielsweise implementiert sein, indem eine diskrete Logik eines bekannten Typs benutzt wird, oder auch durch Synthese, beginnend mit einer Speichersteuerung, die einer Komponentenbibliothek des genannten Typs angehört, und sie umfaßt vorzugsweise einige Register, um Adressen des RAM 22 zu speichern, die zum Lesen und Schreiben von Daten oder Adressen zusätzlicher Schaltungsblöcke für eine direkte Datenübertragung zu speichern.
  • Natürlich können die Adressen während der Konfigurierungsphase der Vorrichtung 45a als eine Funktion der Kennlinien des zugeordneten Blocks 41 definiert werden, oder während der Entwurfsphase der elektronischen Schaltung 101 vorbestimmt werden.
  • Die BLOCK-STEUERUNG 54a ist mit dem Hardware-Block 41 und der TRANS-STEUERUNG 51 verbunden und ist dazu ausgelegt, den Hardware-Block 41 anhand der Befehle zu steuern, die von der TRANS-STEUERUNG 51 ausgehen, damit die spezifischen Funktionen des Hardware-Blocks 41 ausgeführt werden.
  • Die BLOCK-STEUERUNG 54a hat außerdem die Aufgabe, nach Abschluß der spezifischen Funktionen durch Hardware-Block 41, die TRANS-STEUERUNG 51 über den Abschluß der Funktionen durch diesen Block 41 zu informieren.
  • Die BLOCK-STEUERUNG 54a umfaßt vorzugsweise einen I/O-Puffer 541a eines bekannten Typs, um gemäß dem vorliegenden Ausführungsbeispiel Daten zu speichern, die zwischen dem Hardware-Block 41 und dem RAM 22, oder einem anderen Block, ausgetauscht werden sollen.
  • Insbesondere dient der I/O-PUFFER 541a dazu, beispielsweise Daten alternativ entweder am Eingang des Blocks 41 zum Zeitpunkt der Aktivierung des Blocks zu speichern, oder Daten am Ausgang des Blocks 41 nach Abschluß der Funktionen des Blocks zu speichern.
  • Die BLOCK-STEUERUNG 54a der Schnittstelleneinrichtung 45a und die BLOCK-STEUERUNG der Schnittstelleneinrichtung 45b sind auf den Block spezialisiert, dem sie zugeordnet sind, da die Aktivierungskennlinien des jeweiligen Blocks (41 und 61) und die Größe der auszutauschenden Daten für jeden Block im allgemeinen von Block zu Block unterschiedlich sind, so daß sich die Vorrichtungen 45a und 45b gemäß der vorliegenden Ausführungsform nur durch die Kennlinien der jeweiligen BLOCK-STEUERUNG unterschieden, die jeweils, wie zuvor beschrieben, von den Kennlinien der Blöcke 41 und 61 abhängen, zu denen sie eine Schnittstellen aufweisen.
  • Die BLOCK-STEUERUNGEN können beispielsweise durch elementare Logikschaltungen, oder auch durch Zustandsmaschinen implementiert sein, die in Bezug auf Befehle, die von der zugeordneten TRANS-STEUERUNG oder dem jeweiligen Block 41 oder 61 ausgehen, vorbestimmte Funktionen aufweisen.
  • Vorzugsweise werden die BLOCK-STEUERUNGEN während der Initialisierungsphase der elektronischen Schaltung 101 dazu ausgelegt, von der CPU 21 mit Hilfe der zugeordneten TRANS-STEUERUNG programmiert zu werden. So können sie dank dieser Kennlinie die Adaption der Kennlinien der jeweiligen Blöcke an die der elektronischen Schaltung zulassen, an der sie angeordnet sind.
  • Dank der beschriebenen Architektur und in Übereinstimmung mit der vorliegenden Erfindung sind die Vorrichtung 45a, die dem Hardware-Block 41 zugeordnet ist, und die Vorrichtung 45b, die dem Firmware-Block 61 zugeordnet ist, dazu in der Lage, die Datenübertragung von RAM 22 an den jeweiligen Block (41 bzw. 61), und umgekehrt, zu aktivieren und durchzuführen, indem sie die Belastung der CPU 21 und des BUS 24 wesentlich verringern.
  • Es soll nun als Beispiel die Datenübertragung von dem Hardware-Block 41 an den RAM 22 betrachtet werden.
  • Im Zusammenhang mit dem Signalisieren durch die BLOCK-STEUERUNG 54b zum Abschluß der Funktionen des Hardware-Blocks 41 sendet die TRANS-STEUERUNG 51 die Anfrage – ohne daß CPU 21 sich einschalten muß – an SPEICHER-STEUERUNG 55, RAM 22 mit Inhalt des I/O-PUFFERS 541a an die Adressen zu beschreiben, die in den Registern in der SPEICHER-STEUERUNG 55 angezeigt sind.
  • Als Folge der Aktivierung von Schreibbefehlen überträgt die TRANS-STEUERUNG 51 den Inhalt des I/O-PUFFERS 541a an den RAM 22, und wenn die Übertragung abgeschlossen ist, sendet sie der CPU 21 über Draht 49 ein Unterbrechungs-I/O-Signal, um über den Abschluß der Übertragung zu informieren.
  • Wie Fachleute leicht werden nachvollziehen können, benötigt dank der vorliegenden Erfindung die Datenübertragung von dem Hardware-Block 41 an RAM 22 keine Zwischenschaltung der CPU 21 und belegt den BUS 24 nur einmal; so ermöglicht sie unter gleichbleibenden Bedingungen eine Verminderung der Belastung von CPU 21 und eine Reduzierung der Belegung von BUS 24 um 50 %, im Vergleich zum Stand der Technik.
  • Aus Gründen der Vollständigkeit umfaßt die Beschreibung auch ein Beispiel in Bezug auf die Bestimmung der Adressen von RAM 22, an denen die Daten gespeichert werden sollen.
  • Diese Operation kann während einer Initialisierungs- oder einer Einschaltphase der elektronischen Schaltung 101 durchgeführt werden, indem beispielsweise vorgesehen ist, daß während dieser Phase 51 über den DATENBUS 24c ein vorbestimmter Befehl zur Initialisierung von der CPU 21 an die TRANS-STEUERUNG 51 bereitgestellt wird, und daß anläßlich dieses Befehls die TRANS-STEUERUNG 51 von dem ADRESSBUS 24c die Adressen von RAM 22 abliest, die für Lese- und Schreiboperationen von dem zugeordneten Block benutzt werden sollen, und sie in den Registern in der SPEICHER-STEUERUNG 55 speichert.
  • Die Operation der bisher beschriebenen elektronischen Schaltung 101 ist wie folgt.
  • Beim Initialisierungsschritt konfiguriert die CPU 21 alle Vorrichtungen, die an der elektrischen Schaltung vorhanden sind, beispielsweise Vorrichtungen 45a und 45b, indem sie spezifische Befehle an jede Vorrichtung 45a oder 45b sendet, und auf dem ADRESSBUS 24a die Adressen von RAM 22 oder der Blöcke darstellt, die jede Vorrichtung während der Schreib- und Lesephase zum Datenaustausch im Betrieb benutzen muß.
  • Während der Betriebsphasen, beispielsweise dem Lesen von Daten von RAM 22, benachrichtigt die CPU 21 mit Hilfe von Unterbrechungs-I/O-Signalen die Vorrichtungen 45a oder 45b, daß die Daten zum Lesen zur Verfügung stehen, damit die Vorrichtungen 45a oder 45b die Daten unter der Adresse, die während der Initialisierungsphase definiert wurde, von dem RAM 22 abrufen können, und sie dem jeweiligen Block 41 bzw. 61 zur Verfügung stellen können, ohne eine weitere Zwischenschaltung der CPU 21.
  • Während des Schreibens der Daten in RAM 22 beispielsweise belegen die Vorrichtungen 45a oder 45b den BUS 24 und übertragen Daten direkt von dem jeweiligen Block 41 bzw. 61 auf RAM 22 an die Adressen, die während der Initialisierungsphase zugeteilt wurden, und erst nach Abschluß der Übertragung benachrichtigen sie mit Hilfe der Unterbrechungs-I/O-Signale die CPU 21 über den Abschluß der Schreiboperation.
  • Dank der Vorrichtungen 45a und 45b werden Schreib- und Leseoperationen von und in den RAM 22 derart durchgeführt, daß
    • – CPU 21 nur die Steuerfunktionen der elektronischen Schaltung 101 durchführt und nicht beispielsweise die spezifische Funktion der Datenübertragung in der Übertragungskette beachtet;
    • – BUS 24 während der Datenübertragungsoperationen nicht durch die CPU 21 belegt ist; tatsächlich handelt die CPU 21 nur auf der Basis der Unterbrechungs-I/O-Signale, und benutzt BUS 24 nur im Fall von Initialisierungsbefehlen, oder im Fall von spezifischen Steuerbefehlen, wie z.B. dem Leeren des Ausgangspuffers von Block 41 oder 61, ohne daß Daten aus RAM 22 extrahiert werden, usw.
  • Im Fall einer direkten Datenübertragung von einem ersten Block an einen zweiten Schaltungsblock ist die Konfigurierung der elektronischen Schaltung 101 derart, daß Vorrichtungen, die den Blöcken zugeordnet sind, Schreib- und Leseadressen enthalten, die den Vorrichtungen entsprechen, für die die Schreib- und Leseoperationen durchgeführt werden müssen.
  • In dieser Form der Implementierung sendet die CPU 21 beispielsweise während der Initialisierungsphase die Adresse des I/O-PUFFERS der Vorrichtung 45b an Vorrichtung 45a, damit sie in den internen Registern der SPEICHER-STEUERUNG 55 gespeichert wird.
  • Während der Betriebsphasen aktiviert die Vorrichtung 45a im Zusammenhang mit Unterbrechungs-I/O-Signalen, die von der CPU 21 ausgehen, Hardware-Block 41 zum Ausführen der definierten Funktionen, und nach Abschluß der Funktionen überträgt sie die verarbeiteten Daten direkt an Vorrichtung 45b; erst mit Abschluß dieser Übertragung informiert die Vorrichtung 45a gemäß dieser Ausführungsform über Unterbrechungs-I/O-Signale die CPU 21 über den Abschluß der Aktivität von Block 41 und der Übertragung.
  • Wie für Fachleute leicht ersichtlich sein wird, reduziert diese Ausführungsform die Belegung von BUS 24 und CPU 21 um über 50 % im Vergleich zum Stand der Technik.
  • Die Beschreibung erfolgte unter Bezugnahme auf eine erste Vorrichtung 45a, die einem Hardware-Block 41 zugeordnet ist, und auf eine zweite Vorrichtung 45b, die einem Firmware-Block 61 zugeordnet ist, und auf die Datenübertragung zwischen den Blöcken, wobei Fachleuten jedoch ersichtlich sein wird, daß die Kennzeichen der Erfindung auch dann unverändert bleiben, wenn die Vorrichtungen homogenen Blöcken zugeordnet sind, beispielsweise allen des Hardware-Typs oder des Firmware-Typs, und der Datenaustausch zwischen homogenen Blöcken stattfindet.
  • Die Vorrichtungen 45a und 45b wurden als von dem ihnen jeweils zugeordneten Schaltungsblock 41 bzw. 61 separat beschrieben. Fachleuten wird jedoch einleuchten, daß die Vorrichtung 45a beispielsweise durch Synthese implementiert und in den Hardware-Block 41 integriert sein kann, indem sie, wie bereits beschrieben, durch Schaltelemente gebildet ist, deren Modelle leicht aus einer Bibliothek von Komponenten abgerufen werden können.
  • Ebenso kann Vorrichtung 45b, die dem Firmware-Block 61 zugeordnet ist, in der Form einer Firmware implementiert sein, die die Logikarchitektur der beschriebenen Vorrichtung ausführt, vorausgesetzt, daß, wie Fachleuten einleuchten wird, der Mikroprozessor oder der DSP, der als Firmware-Block benutzt wird, dazu in der Lage ist, direkt mit BUS 24 verbunden zu werden und die Drähte 68 und 69 zu steuern.
  • Die vorliegende Beschreibung erfolgt durch Zuordnen einer jeweiligen Vorrichtung zu jedem Schaltungsblock, doch wie Fachleuten einleuchten wird, ist diese Bedingung nur deshalb strikt erforderlich, um sicherzustellen, daß jeder Block direkt Daten an andere Blöcke übertragen kann, ohne die Belastung von CPU und BUS zu erhöhen.
  • Offensichtliche Modifikationen oder Variationen der vorangehenden Beschreibung hinsichtlich Größe, Abmessungen, Formen, Materialien, Komponenten, Schaltelementen, Verbindungen und Kontakten sowie Details der hier dargestellten Schaltungen und Implementierungen sind möglich, ohne den Umfang der Erfindung zu verlassen, wie er durch die beiliegenden Ansprüche definiert ist.

Claims (14)

  1. Verfahren zum Übertragen von Daten in einer elektronischen Schaltung (101) mit einer Steuereinheit (21), einem ersten Schaltungsblock (41), der erste Verarbeitungsfunktionen durchführen kann, und einem zweiten Schaltungsblock (61), der zweite Verarbeitungsfunktionen durchführen kann, gekennzeichnet durch ein Konfigurieren der elektronischen Schaltung (101) mittels bestimmter durch die Steuereinheit (21) in einem Initialisierungsschritt erteilter Befehle und weiterhin gekennzeichnet durch die folgenden Schritte: – Abfangen der bestimmten durch die Steuereinheit (21) erteilten Befehle mittels einer mit dem ersten Schaltungsblock (41) verbundenen ersten Schnittstelleneinrichtung (45a); – Verwenden der abgefangenen bestimmten Befehle zur Aktivierung des ersten Schaltungsblocks (41) zum Durchführen der ersten Verarbeitungsfunktionen und zum Erzeugen verarbeiteter Daten; – Verwenden der bestimmten Befehle zum direkten Übertragen der verarbeiteten Daten von dem ersten Schaltungsblock (41) in den zweiten Schaltungsblock (61) durch Übertragen der verarbeiteten Daten unter der Steuerung der ersten Schnittstelleneinrichtung (45a) von einer in der ersten Schnittstelleneinrichtung (45a) enthaltenen Eingabe/Ausgabe (I/O)-Pufferspeichereinrichtung zu einer in einer zweiten, mit dem zweiten Schaltungsblock verbundenen Schnittstelleneinrichtung (45b) enthaltenen Eingabe/Ausgabe-Pufferspeichereinrichtung.
  2. Verfahren nach Anspruch 1, gekennzeichnet durch den Schritt: Verwenden eines mit der Steuereinheit (21) verbundenen Busses zur Übertragung der verarbeiteten Daten von der in der ersten Schnittstelleneinrichtung (45a) enthaltenen Eingabe/Ausgabe-Pufferspeichereinrichtung zur in der zweiten Schnittstelleneinrichtung (45b) enthaltenen Eingabe/Ausgabe-Pufferspeichereinrichtung.
  3. Verfahren nach Anspruch 1 oder 2, gekennzeichnet durch den zusätzlichen Schritt: bei Beendigung der Übertragung der verarbeiteten Daten Übertragen von die Beendigung anzeigenden Signalen (I/O) durch die ersten Schnittstelleneinrichtung (45a) zur Steuereinheit (21).
  4. Elektronische Schaltung mit: – einer Steuereinheit (21); – einem ersten Schaltungsblock (41) zur Durchführung erster Verarbeitungsfunktionen; und – einem zweiten Schaltungsblock (61) zur Durchführung zweiter Verarbeitungsfunktionen, dadurch gekennzeichnet, daß – die Steuereinheit (21) so ausgelegt ist, daß sie in einem Initialisierungsschritt bestimmte Befehle zur Konfiguration der elektronischen Schaltung (101) erzeugen kann; – eine erste und eine zweite Schnittstelleneinrichtung (45a, 45b) mit dem ersten bzw. zweiten Schaltungsblock (41, 61) jeder der ersten und zweiten, eine jeweilige Eingabe/Ausgabe-Pufferspeichereinrichtung enthaltenden Schnittstelleneinrichtungen (45a, 45b) verbunden sind, wobei die erste Schnittstelleneinrichtung (45a) in der Lage ist: – die bestimmten durch die Steuereinheit (21) erteilten Befehle abzufangen, – die abgefangenen bestimmten Befehle zur Aktivierung des ersten Schaltungsblocks (41) zur Erzeugung verarbeiteter, zum zweiten Schaltungsblock (61) zu übertragender Daten zu verwenden und – die bestimmten Befehle zur direkten Übertragung der verarbeiteten Daten von dem ersten Schaltungsblock (41) zum zweiten Schaltungsblock (61) durch Übertragen der verarbeiteten Daten von der in der ersten Schnittstelleneinrichtung (45a) enthaltenen Eingabe/Ausgabe-Pufferspeichereinrichtung zur in der zweiten Schnittstellenrichtung (45b) enthaltenen Eingabe/Ausgabe-Pufferspeichereinrichtung übertragen werden, verwenden.
  5. Elektronische Schaltung nach Anspruch 4, dadurch gekennzeichnet, daß sie eine mit der Steuereinheit (21) verbundenen Bus zur Übertragung der verarbeiteten Daten von der in der ersten Schnittstelleneinrichtung (45a) enthaltenen Einga be/Ausgabe-Pufferspeichereinrichtung zu der in der zweiten Schnittstelleneinrichtung (45b) enthaltenen Eingabe/Ausgabe-Pufferspeichereinrichtung aufweist.
  6. Elektronische Schaltung nach Anspruch 4, dadurch gekennzeichnet, daß die erste Schnittstelleneinrichtung (45a) eine Steuereinrichtung (51) zur Verwaltung der bestimmten durch die Steuereinheit (21) erteilten bestimmten Befehle durch Aktivierung von auf der Grundlage der bestimmten Befehle definierten Anweisungsabfolgen aufweist.
  7. Elektronische Schaltung nach Anspruch 6, dadurch gekennzeichnet, daß die Steuereinrichtung (51) eine Speichereinheit (511) zur Speicherung einer Vielzahl von selektiv aktivierbaren Anweisungsabfolgen aufweist.
  8. Elektronische Schaltung nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, daß die Schnittstelleneinrichtung (45a) eine Speichersteuereinrichtung (55) zur Steuerung der Datenübertragung von der ersten Schnittstelleneinrichtung (45a) zu vordefinierten, zu der in der zweiten Schnittstelleneinrichtung (45b) enthaltenen Eingabe/Ausgabe-Pufferspeichereinrichtung gehörigen Adressen aufweist.
  9. Elektronische Schaltung nach Anspruch 8, dadurch gekennzeichnet, daß die Speichersteuereinrichtung (55) aufweist: – eine Speichersteuereinheit (551) zur Erzeugung einer allgemeinen Anforderungsfunktion an einen Steuerteil des Busses (24) und – eine Anpassungseinheit (552) zur Spezialisierung der allgemeinen Anforderung als eine Funktion der Art des Steuerteils des Busses (24).
  10. Elektronische Schaltung nach einem der Ansprüche 4 bis 9, dadurch gekennzeichnet, daß die erste Schnittstelleneinrichtung (45a) eine erste Blockschnittstelleneinheit (54a) zur Aktivierung des ersten Schaltungsblocks (41) zur Ausführung der ersten Verarbeitungsfunktionen aufweist.
  11. Elektronische Schaltung nach Anspruch 6 und 10, dadurch gekennzeichnet, daß die erste Blockschnittstelleneinheit (54a) so ausgelegt ist, daß sie durch die Steuereinheit (21) durch die Steuereinheit (51) programmiert werden kann.
  12. Elektronische Schaltung nach Anspruch 10 oder 11, dadurch gekennzeichnet, daß die in der ersten Schnittstelleneinrichtung (45a) enthaltene Eingabe/Ausgabe-Pufferspeichereinrichtung in der ersten Blockschnittstelleneinheit (54a) enthalten ist.
  13. Elektronische Schaltung nach einem der Ansprüche 4 bis 12, gekennzeichnet durch die Tatsache, dass sie ein Emulations-Untersystem zur Emulation von Datenübertragungsketten unter einer Vielzahl von Schaltungsblöcken (41, 61) ist.
  14. Elektronische Schaltung nach Anspruch 13, dadurch gekennzeichnet, daß die Schaltungsblöcke Schaltungsblöcke vom Hardware-Typ (41) und/oder Schaltungsblöcke vom Firmware-Typ (61) aufweisen.
DE60210637T 2001-08-30 2002-08-26 Verfahren zum transferieren von daten in einer elektronischen schaltung, elektronische schaltung und zusammenhangeinrichtung Expired - Lifetime DE60210637T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IT2001TO000838A ITTO20010838A1 (it) 2001-08-30 2001-08-30 Metodo per trasferire dati in un circuito elettronico, circuito elettronico e dispositivo relativo.
ITTO20010838 2001-08-30
PCT/IT2002/000549 WO2003019395A1 (en) 2001-08-30 2002-08-26 Method of transferring data in an electronic circuit, electronic circuit and relating device

Publications (2)

Publication Number Publication Date
DE60210637D1 DE60210637D1 (de) 2006-05-24
DE60210637T2 true DE60210637T2 (de) 2007-04-05

Family

ID=11459164

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60210637T Expired - Lifetime DE60210637T2 (de) 2001-08-30 2002-08-26 Verfahren zum transferieren von daten in einer elektronischen schaltung, elektronische schaltung und zusammenhangeinrichtung

Country Status (10)

Country Link
US (1) US20040243742A1 (de)
EP (1) EP1425673B1 (de)
JP (1) JP4551657B2 (de)
KR (1) KR101020709B1 (de)
CN (1) CN1549975B (de)
AT (1) ATE323308T1 (de)
CA (1) CA2457880C (de)
DE (1) DE60210637T2 (de)
IT (1) ITTO20010838A1 (de)
WO (1) WO2003019395A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051192B2 (en) * 2007-10-09 2011-11-01 Viasat, Inc. Methods and systems for presentation layer redirection for network optimization
CN110765044B (zh) * 2018-07-26 2021-02-23 展讯通信(上海)有限公司 数据包传输装置及系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4495567A (en) * 1981-10-15 1985-01-22 Codex Corporation Multiprocessor/multimemory control system
JPS58169660A (ja) * 1982-03-31 1983-10-06 Panafacom Ltd マルチプロセツサシステムの構成方法
JPS59165119A (ja) * 1983-03-11 1984-09-18 Hitachi Ltd 入出力制御装置
JP2745521B2 (ja) * 1988-02-23 1998-04-28 株式会社日立製作所 フレーム送信方法
JP2628079B2 (ja) * 1988-11-25 1997-07-09 三菱電機株式会社 マルチプロセサシステムにおけるダイレクト・メモリ・アクセス制御装置
US5664142A (en) * 1990-10-01 1997-09-02 International Business Machines Corporation Chained DMA devices for crossing common buses
JP3460090B2 (ja) * 1992-04-23 2003-10-27 富士通株式会社 バス・インタフェース制御回路
JP3515142B2 (ja) * 1992-06-11 2004-04-05 セイコーエプソン株式会社 データ転送制御装置
US5835788A (en) * 1996-09-18 1998-11-10 Electronics For Imaging System for transferring input/output data independently through an input/output bus interface in response to programmable instructions stored in a program memory
JPH10154125A (ja) * 1996-11-26 1998-06-09 Toshiba Corp Dmaデータ転送装置および同装置を使用した動画像復号化装置並びにdmaデータ転送制御方法
US5890002A (en) * 1996-12-31 1999-03-30 Opti Inc. System and method for bus master emulation
JP3712842B2 (ja) * 1997-08-05 2005-11-02 株式会社リコー データ転送制御方法、データ転送制御装置及び情報記録媒体
US6119189A (en) * 1997-09-24 2000-09-12 Intel Corporation Bus master transactions on a low pin count bus
US6240476B1 (en) * 1998-08-21 2001-05-29 International Business Machines Corporation Dynamic allocation of bus master control lines to peripheral devices
US6434648B1 (en) * 1998-12-10 2002-08-13 Smart Modular Technologies, Inc. PCMCIA compatible memory card with serial communication interface
US6604159B1 (en) * 1999-08-12 2003-08-05 Mips Technologies, Inc. Data release to reduce latency in on-chip system bus
US6912611B2 (en) * 2001-04-30 2005-06-28 Advanced Micro Devices, Inc. Split transactional unidirectional bus architecture and method of operation

Also Published As

Publication number Publication date
CA2457880C (en) 2012-04-10
DE60210637D1 (de) 2006-05-24
JP4551657B2 (ja) 2010-09-29
JP2005501338A (ja) 2005-01-13
EP1425673B1 (de) 2006-04-12
CN1549975A (zh) 2004-11-24
KR101020709B1 (ko) 2011-03-09
CN1549975B (zh) 2010-05-12
EP1425673A1 (de) 2004-06-09
ITTO20010838A1 (it) 2003-03-02
WO2003019395A1 (en) 2003-03-06
US20040243742A1 (en) 2004-12-02
ITTO20010838A0 (it) 2001-08-30
CA2457880A1 (en) 2003-03-06
ATE323308T1 (de) 2006-04-15
KR20040040442A (ko) 2004-05-12

Similar Documents

Publication Publication Date Title
DE2350884C2 (de) Adreßumsetzungseinheit
EP1720100B1 (de) Verfahren und Vorrichtung zur Emulation einer programmierbaren Einheit
DE2560474C2 (de) Schaltungsanordnung in einer digitalen Datenverarbeitungsanlage zur Steuerung der Übertragung von Informationen zwischen peripheren Einheiten und einem Zentralprozessor
DE1774296C2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE602004004442T2 (de) Kartenidentifikationssystem
DE2844357A1 (de) Speichererweiterung
DE19814415A1 (de) Logikanalyse-Untersystem in einem Zeitscheibenemulator
DE2921419A1 (de) Schaltungsanordnung und verfahren zur uebertragung digitaler information zwischen wenigstens einer ersten und einer zweiten sammelleitung
EP0500973B1 (de) EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM
DE3219896A1 (de) Verbundene datenverarbeitungsanlagen
DE2926322A1 (de) Speicher-subsystem
EP0062141B1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
DE3142504A1 (de) Mehrfachplattenspeicher-uebertragungssystem
DE60210637T2 (de) Verfahren zum transferieren von daten in einer elektronischen schaltung, elektronische schaltung und zusammenhangeinrichtung
DE3410497A1 (de) Rechneranordnung
EP0111161B1 (de) Vorrichtung zur Mikrobefehls-Bereitstellung für mindestens zwei unabhängig arbeitende Funktionseinheiten in einem integrierten, mikroprogrammierten elektronischen Baustein und Verfahren zu ihrem Betrieb
EP0088916B1 (de) Schaltungsanordnung zum Prüfen von elektrischen, insbesondere elektronischen Einrichtungen
DE4206079A1 (de) Halbleiterspeichereinrichtung und datenleseverfahren hierfuer
DE3235264C2 (de)
DE10330037B3 (de) Adapterkarte zum Anschließen an einen Datenbus in einer Datenverarbeitungseinheit und Verfahren zum Betreiben eines DDR-Speichermoduls
DE3642142C2 (de) Gerät zum Beschreiben von programmierbaren Lesespeichern (PROMs)
DE10063936A1 (de) Interrupt Controller für einen Mikroprozessor
DE3218678C2 (de)
DE4114545C2 (de) Schaltungsanordnung für einen Mikrocomputer
DE4122831A1 (de) Integrierte halbleiterschaltung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition