-
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.