-
Die
Erfindung betrifft eine Protokollwandlungs- und Arbitrierungsschaltung,
ein zugehöriges System,
ein zugehöriges
Signalumwandlungs- und Arbitrierungsverfahren und ein zugehöriges Zugriffsverfahren.
-
1 zeigt ein Blockdiagramm
eines herkömmlichen
Systems, welches eine Speichersteuerschaltung mit nur einem Anschluss
umfasst. Wie aus 1 ersichtlich
ist, umfasst eine Systemplatine 100 ein System 110 und
einen externen Speicher 121. Das System 110 umfasst
eine Speichersteuereinheit 111, einen fortgeschrittenen
Hochleistungsbus (AHB) 114, einen fortgeschrittenen Peripheriebus
(APB) 119, eine APB-Bridge
(APB-Brücke) 117,
eine Mehrzahl von AHB-Mastereinheiten 112 und 115,
eine AHB-Slaveeinheit 116 und eine APB-Slaveeinheit 118.
-
Hierbei
unterstützen
bzw. benutzen die Speichersteuerschaltung 111, der AHB 114,
die APB-Brücke 117,
der APB 119 und die Mehrzahl von AHB-Mastereinheiten 112 und 115 nur
ein und dasselbe Protokoll, bei spielsweise ein sogenanntes fortgeschrittenes
Mikrocontroller-Busarchitekturprotokoll (AMBA-Protokoll).
-
Die
Speichersteuereinheit 111 steuert eine Dateneingabe und
Datenausgabe zwischen jeder der Mehrzahl von AHB-Mastereinheiten 112 und 115,
der AHB-Slaveeinheit 116, der APB-Slaveeinheit 118 und
dem externen Speicher 121. Zudem ist die Speichersteuereinheit 111 über einen
Anschluss 113 mit dem AHB 114 verbunden. Jedes
der Module AHB-Mastereinheit 112, AHB-Mastereinheit 115 und AHB-Slaveeinheit 116 ist
mit dem AHB 114 verbunden. Hierbei wird der AHB 114 als
Systembus verwendet.
-
Entsprechend
können
die AHB-Mastereinheit 112, die AHB-Mastereinheit 115, die AHB-Slaveeinheit 116 und
die APB-Slaveeinheit 118 über einen Pfad, welcher den
Systembus 114, die Speichersteuereinheit 111 über den
Anschluss 113 und Eingabe-/Ausgabeanschlüsse 120 umfasst,
Daten in den externen Speicher 121 schreiben oder aus diesem auslesen.
Um Daten in den externen Speicher 121 zu schreiben und
Daten aus ihm zu lesen, benutzt jede der Komponenten AHB-Mastereinheit 112, AHB-Mastereinheit 115,
AHB-Slaveeinheit 116 und APB-Slaveeinheit 118 den
Systembus 114, wodurch die Last des Systembusses 114 ansteigt
und als Resultat die gesamte Leistungsfähigkeit des Systems abgesenkt
wird.
-
2 zeigt ein Blockdiagramm
eines herkömmlichen
Systems, welches eine Speichersteuerung mit mehreren Anschlüssen umfasst.
Wie aus 2 ersichtlich
ist, umfasst eine Systemplatine 200 ein System 210 und
einen externen Speicher 224. Das System 210 umfasst
eine Speichersteuerung 211, einen AHB als Systembus 213,
eine APB-Bridge 216, einen APB 217, eine Mehrzahl
von AHB-Mastereinheiten 212 und 214, eine AHB-Slaveeinheit 215, eine
APB-Slaveeinheit 218 und eine Mehrzahl von Bussen 221,..., 222.
-
Die
Speichersteuereinheit 211 weist eine Mehrzahl von Anschlüssen 220-1 bis 220-n auf,
welche mit jedem der Mehrzahl von Modulen verbunden werden können, und
wird daher im Folgenden auch als eine „Mehrport-Speichersteuerung" bezeichnet. Die
Mehrport-Speichersteuerung 211, der Systembus 213,
die APB-Brücke 216,
der APB 217, die AHB-Mastereinheit 212, die AHB-Mastereinheit 214, die
AHB-Slaveeinheit 215 und
die APB-Slaveeinheit 218 unterstützen bzw. benutzen nur ein
und dasselbe Protokoll, beispielsweise das AMBA-Protokoll.
-
Es
ist Aufgabe der Erfindung, eine Protokollwandlungs- und Arbitrierungsschaltung,
ein zugehöriges
System, ein zugehöriges
Signalwandlungs- und Arbitrierungsverfahren und ein zugehöriges Zugriffsverfahren
zur Verfügung
stellen, welche mit relativ geringem Aufwand eine Verbesserung der
Systemleistungsfähigkeit
gegenüber
dem oben erwähnten Stand
der Technik ermöglichen
und insbesondere mehrere Protokolle unterstützen können.
-
Die
Erfindung löst
diese Aufgabe durch eine Protokollwandlungs- und Arbitrierungsschaltung
mit den Merkmalen des Patentanspruchs 1, durch ein System mit den
Merkmalen des Patentanspruchs 9 oder 11, durch ein Signalwandlungs-
und Arbitrierungsverfahren mit den Merkmalen des Patentanspruchs
15 oder 17 sowie durch ein Zugriffsverfahren mit den Merkmalen des
Patentanspruchs 18 oder 19.
-
Vorteilhafte
Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
-
Vorteilhafte,
nachfolgend beschriebene Ausführungsformen
der Erfindung sowie die zu deren besserem Verständnis oben erläuterten,
her kömmlichen
Ausführungsbeispiele
sind in den Zeichnungen dargestellt. Es zeigen:
-
1 ein
Blockdiagramm eines herkömmlichen
Systems, welches eine Speichersteuerung mit nur einem Anschluss
umfasst,
-
2 ein
Blockdiagramm eines herkömmlichen
Systems, welches eine Mehrport-Speichersteuerung umfasst,
-
3 ein
Blockdiagramm eines erfindungsgemäßen Systems, in welchem eine
Protokollwandlungs- und Arbitrierungsschaltung mit einem Modul verbunden
ist,
-
4 ein
Blockdiagramm eines erfindungsgemäßen Systems, in welchem eine
Protokollwandlungs- und Arbitrierungsschaltung mit einer Mehrzahl von
Modulen verbunden ist, welche ein identisches Protokoll benutzen,
-
5 ein
Blockdiagramm eines erfindungsgemäßen Systems, in welchem eine
Protokollwandlungs- und Arbitrierungsschaltung mit einer Mehrzahl von
Modulen verbunden ist, welche unterschiedliche Protokoll benutzen,
-
6 ein
Blockdiagramm einer erfindungsgemäßen Protokollwandlungs- und
Arbitrierungsschaltung,
-
7 ein
Blockdiagramm einer weiteren erfindungsgemäßen Protokollwandlungs- und
Arbitrierungsschaltung,
-
8 ein
Flussdiagramm zur Darstellung der Funktionsweise der Protokollwandlungs-
und Arbitrierungsschaltung aus 3,
-
9 ein
Flussdiagramm zur Darstellung eines Zugriffsverfahrens einer Mastereinheit
auf einen externen Speicher über
eine Protokollwandlungs- und Arbitrierungsschaltung,
-
10 ein
Flussdiagramm zur Darstellung der Funktionsweise der Protokollumwandlungs-
und Zuteilungsschaltung aus 4 und 5 und
-
11 ein
Flussdiagramm zur Darstellung eines Zugriffsverfahrens einer Mehrzahl
von Mastereinheiten auf einen externen Speicher über eine Protokollwandlungs-
und Arbitrierungsschaltung.
-
3 zeigt
im Blockdiagramm ein erfindungsgemäßes System 300, das
eine Mehrport-Speichersteuereinheit 310, eine Mehrzahl
von Modulen, nämlich
Modul_1 320, Modul_3 346 und Modul_2 360,
eine Mehrzahl von Protokollwandlungs- und Arbitrierungsschaltungen
oder in anderen Worten ausgedrückt
Verbindungsschaltungen 322-1, 322-2 und 322-3,
eine Mehrzahl von Protokollwandlungsschaltungen 340, 350 und 364,
einen Systembus 370 und eine Mehrzahl von Bussen 324, 334, 336, 338, 342, 348, 352, 354, 356, 358, 362 und 366 beinhaltet.
Zudem umfasst das System 300 wenigstens einen nicht dargestellten
Dateneingabe-/Datenausgabeanschluss zum Kommunizieren von Daten mit
wenigstens einem nicht dargestellten externen Speicher.
-
Nachfolgend
werden die Schaltungen 322-1 und 322-2, welche
jeweils zwischen der Mehrport-Speichersteuereinheit 310 und
einem korrespondierenden Modul_1 320 und Modul_3 346 eingeschleift
sind, und die Schaltung 322-3, welche zwischen der Mehrport-Speichersteuerschaltung 310 und
dem Systembus 370 eingeschleift ist, als Protokollwandlungs-
und Arbitrierungsschaltungen bezeichnet. Die Struktur der Proto kollwandlungs-
und Arbitrierungsschaltungen 322-1, 322-2 und 322-3 ist beispielsweise
aus 6 oder 7 ersichtlich.
-
Die
Protokollwandlungs- und Arbitrierungsschaltungen wandeln Signale,
welche einem in einer Mastereinheit benutztem zweiten Protokoll
genügen, in
Signale um, welche einem in einem internen Bus einer korrespondierenden
Slaveeinheit benutzten Zwischenprotokoll genügen, und wandeln dann die einmal
umgewandelten Signale nochmals in Signale um, welche einem ersten
in der Slaveeinheit benutzten Protokoll genügen, wobei die Umwandlungsvorgänge durch
einen Signalsteuerungsprozess, einen Signalarbitrierungsprozess
und/oder einen Signaldecodierungsprozess umgesetzt werden.
-
Hierbei
werden Schaltungen, welche zwischen unterschiedliche Protokolle
benutzende Module eingeschleift sind oder zwischen dem Modul_2 360 und
dem Systembus 370 eingeschleift sind, die beide ebenfalls
unterschiedliche Protokolle benutzen, als Protokollwandlungsschaltungen
bezeichnet. Entsprechend führt
eine solche Protokollwandlungsschaltung eine Umwandlung von Signalen,
welche dem zweiten Protokoll einer Mastereinheit genügen, in
Signale durch, welche dem Zwischenprotokoll des internen Busses
der zugehörigen
Slaveeinheit genügen.
-
Hierbei
wird eine Nomenklatur gewählt,
wonach die Mehrport-Speichersteuereinheit 310 ein erstes
Protokoll benutzt bzw. unterstützt,
das Modul_1 320 ein zweites Protokoll benutzt bzw. unterstützt, Modul_2 360 das
erste Protokoll benutzt bzw. unterstützt, das Modul_3 346 ein
viertes Protokoll benutzt bzw. unterstützt und der Systembus 370 ein
drittes Protokoll benutzt bzw. unterstützt.
-
Die
Mehrport-Speichersteuereinheit 310 umfasst eine Mehrzahl
von Ports bzw. Anschlüssen 312, 314, 316 und 318 und
steuert über
den Systembus 370 Datenkommunikationen zwischen jedem der
Module Modul_1 320, Modul_3 346 und Modul_2 360 und
dem externen Speicher. Die Protokollwandlungs- und Arbitrierungsschaltung 322-1 ist
zwischen einer Mastereinheit, z.B. Modul_1 320, und dem
ersten Anschluss 312 der Speichersteuereinheit 310 eingeschleift.
-
6 zeigt
ein Blockdiagramm einer erfindungsgemäßen Protokollwandlungs- und
Arbitrierungsschaltung 322-1, die eine Protokollwandlungsschaltung 326,
eine Steuereinheit 328, einen Adressendecodierer 330 und
eine Verteilungsschaltung 332 beinhaltet. Die Funktionsweise
der in den 3 und 6 dargestellten
Protokollwandlungs- und Arbitrierungsschaltung wird unter Bezugnahme
auf das Flussdiagramm aus 8 beschrieben.
-
Wie
aus den 3, 6 und 8 ersichtlich
ist, empfängt
die Protokollwandlungsschaltung 326 über den Bus 324 im
Schritt 801 ein Signal, welches dem zweiten von einer Mastereinheit,
z.B. vom Modul_1 320, benutzten Protokoll genügt, wandelt das
empfangene Signal in Signale CNTR1, DATA und ADD um, welche dem
vom nicht dargestellten internen Bus einer Slaveeinheit, z.B. der
Speichersteuereinheit 310, benutzten Protokoll genügen, und
gibt die umgewandelten Signale CNTR1, DATA, ADD im Schritt 803 an
die Steuereinheit 328, den Adressendecodierer 330 und
die Verteilungsschaltung 332 aus.
-
Die
Steuereinheit 328 gibt in Reaktion auf die Steuersignale
CNTR1 von der Protokollwandlungsschaltung 326 einige Steuersignale
CNTR4 und CNTR5 an den Adressendecodierer 330 und die Verteilungsschaltung 332 aus,
um selbige zu steuern. Die Steuereinheit 328 umfasst eine
Datenübertragungssteuereinheit 3281,
eine Adressendecodierungssteuereinheit 3282, eine Antwortsteuereinheit 3283 und
eine Anschlussverteilungssteuereinheit 3284.
-
Die
Datenübertragungssteuereinheit 3281 überträgt in Reaktion
auf wenigstens ein korrespondierendes Steuersignal unter den Steuersignalen CNTR1
Daten DATA, welche von der Protokollwandlungsschaltung 326 ausgegeben
werden, an die Verteilungsschaltung 332 oder überträgt Daten
DATA, welche von der Verteilungsschaltung 332 eingegeben
werden, an die Protokollwandlungsschaltung 326.
-
Die
Adressendecodierungssteuereinheit 3282 gibt in Reaktion
auf wenigstens ein korrespondierendes Steuersignal unter den Steuersignalen CNTR1
Steuersignale CNTR5 an die Adressendecodierungssteuereinheit 3282 aus.
-
Die
Antwortsteuereinheit 3283 überträgt in Reaktion auf wenigstens
ein Steuersignal unter den Steuersignalen CNTR1, welche von der
Protokollwandlungsschaltung 326 ausgegeben werden, oder in
Reaktion auf wenigstens ein korrespondierendes Steuersignal unter
den Steuersignalen CNTR3, welche von der Verteilungsschaltung 332 ausgegeben werden,
Informationen über
den Zustand eines externen Speichers, auf welchen zugegriffen werden
soll, oder Informationen RES, welche den Übertragungszustand der Daten
DATA betreffen, an die Protokollwandlungsschaltung 326.
Zudem erzeugt die Antwortsteuereinheit 3283 Steuersignale
CNTR2, um den Betrieb der Protokollwandlungsschaltung 326 zu steuern.
-
Die
Anschlussverteilungssteuereinheit 3284 gibt in Reaktion
auf wenigstens ein korrespondierendes Steuersignal unter den Steuersignalen
CNTR1, welche von der Protokollwandlungsschaltung 326 ausgegeben
werden, Steuersignale CNTR4 an die Verteilungsschaltung 332 aus,
welche die Betriebszustände
von jedem der Mehrzahl von Anschlüssen der Speichersteuereinheit 310 steuern.
-
Der
Adressendecodierer 330 decodiert in Reaktion auf die von
der Steuereinheit 328 ausgegebenen Steuersignale CNTR5
eine Adresse ADD, welche von der Protokollwandlungsschaltung 326 ausgegeben
wird, und gibt als Ergebnis eine Information MSEL an die Verteilungsschaltung 332 aus,
welche den externen Speicher betrifft, auf welchen eine Mastereinheit,
z.B. das Modul_1 320, zugreifen möchte.
-
Der
Adressendecodierer 330 umfasst eine Decodiereinheit 3301 und
eine Speicherauswahlschaltung 3302. Die Decodiereinheit 3301 decodiert in
Reaktion auf wenigstens ein korrespondierendes Steuersignal unter
den Steuersignalen CNTR5, welche von der Steuereinheit 328 ausgegeben
werden, eine Adresse ADD, welche von der Protokollwandlungsschaltung 326 ausgegeben
wird, und gibt das Ergebnis an die Speicherauswahlschaltung 3302 aus.
-
Die
Speicherauswahlschaltung 3302 gibt in Reaktion auf wenigstens
ein korrespondierendes Steuersignal unter den Steuersignalen CNTR5,
welche von der Adressendecodierungssteuereinheit 3282 der
Steuereinheit 328 ausgegeben werden, und auf das Ausgabesignal
der Decodiereinheit 3301 die Information MSEL an die Verteilungsschaltung 332 aus,
welche den externen Speicher betrifft, auf den eine Mastereinheit,
z.B. das Modul_1 320, zugreifen möchte. Die den externen Speicher
betreffende Information MSEL, beispielsweise die Anzahl von Bits, wird
von der Anzahl der externen Speicher bestimmt.
-
Die
Verteilungsschaltung 332 empfängt die von der Protokollwandlungsschaltung 326 ausgegebene
Adresse ADD, Daten DATA und Steuersignale CNTR4, welche von der
Steuereinheit 328 ausgegeben werden, und die vom Adressendecodierer 330 ausgegebene
Information MSEL, welche den externen Speicher betrifft, und überträgt basierend
auf diesen Informationen ADD, DATA, CNTR4 und MSEL Signale an einen
zugehörigen
Anschluss 312, welche für
den Zugriff auf den externen Spei cher erforderlich sind. Entsprechend
weist die Verteilungsschaltung 332 eine Schaltfunktion
und/oder eine Multiplexfunktion auf.
-
Die
Signale CNTR1, DATA und ADD, welche dem vom internen Bus der Slaveeinheit
benutzten Zwischenprotokoll genügen
und von der Protokollwandlungsschaltung 326 ausgegeben
werden, werden durch eine Interaktion der Steuereinheit 328,
des Adressendecodierers 330 und der Verteilungsschaltung 332 in
Signale umgewandelt, welche einem Protokoll genügen, das in einer Slaveeinheit,
z.B. in der Speichersteuereinheit 310, benutzt wird. Die
Steuereinheit 328, der Adressendecodierer 330 und
die Verteilungsschaltung 332 können gemeinsam als Umwandlungsschaltung 327 bezeichnet
werden. Die umgewandelten Signale werden im Schritt 805 über den
Bus 334 und den Anschluss 312 in die Speichersteuereinheit 310 eingegeben.
-
Entsprechend
führen
die Steuereinheit 328, der Adressendecodierer 330 und
die Verteilungsschaltung 332 die Umwandlungsfunktion der
Ausgabesignale der Protokollwandlungsschaltung 326 in Signale
aus, welche dem Protokoll genügen,
das in der Speichersteuereinheit 310 benutzt wird.
-
Daher
greift die Speichersteuereinheit 310 basierend auf den
Signalen, welche von der Protokollwandlungs- und Arbitrierungsschaltung 322-1 ausgegeben
werden, auf den externen Speicher zu, auf welchen das Modul_1 320 zugreifen
möchte.
-
Zudem
empfängt
die Steuereinheit 328 der Protokollwandlungs- und Arbitrierungsschaltung 322-1 Daten
DATA, welche vom externen Speicher ausgelesen werden, auf den zugegriffen
wird, d.h. Signale, welche dem Protokoll der Speichersteuereinheit 310 genügen, wandelt
die empfangenen Daten DATA durch die Verteilungsschaltung 332 und
die Steuereinheit 328 in Signale um, welche dem Zwischenprotokoll
des internen Busses genügen,
und gibt die einmal umgewandelten Signale an die Protokollwandlungsschaltung 326 aus.
-
Die
Protokollwandlungsschaltung 326 wandelt die einmal umgewandelten
Signale, welche dem vom internen Bus der Speichersteuereinheit 310 benutzten
Zwischenprotokoll genügen,
in Signale um, welche dem vom Modul_1 320 benutzten Protokoll genügen, und
gibt die zweimal umgewandelten Signale an die Mastereinheit aus.
-
Die
Protokollwandlungs- und Arbitrierungsschaltung 322-2 ist
zwischen dem Modul_3 346 und dem zweiten Anschluss 314 der
Speichersteuereinheit 310 eingeschleift und empfängt über den
Bus 344 Signale, welche dem vierten von einer Mastereinheit,
z.B. vom Modul_3 346, benutzten Protokoll genügen, wandelt
die empfangenen Signale durch Verwendung einer nicht dargestellten
Protokollwandlungsschaltung in Signale um, welche dem vom nicht dargestellten
internen Bus einer Slaveeinheit, z.B. der Speichersteuereinheit 310,
benutzten Zwischenprotokoll genügen,
wandelt die einmal umgewandelten Signale durch die Steuereinheit 328,
den Adressendecodierer 330 und die Verteilungsschaltung 332, wie
oben beschrieben ist, in Signale um, welche dem von der Speichersteuereinheit 310 benutzten
ersten Protokoll genügen,
und überträgt die zweimal
umgewandelten Signale über
den Bus 342 und den zweiten Anschluss 314 an die
Speichersteuereinheit 310. Entsprechend kann das Modul_3 346 über den
zugehörigen
Anschluss 314 direkt auf den nicht dargestellten, gewünschten
externen Speicher zugreifen, ohne beispielsweise den Systembus 370 zu
benutzen.
-
Zusätzlich empfängt die
Protokollwandlungs- und Arbitrierungsschaltung 322-2 Signale,
welche dem ersten Protokoll genügen
und vom externen Speicher ausgelesen wurden, auf den über den
zweiten Anschluss 314 der Speichersteuereinheit 310 und
den Bus 342 zugegriffen wird, wandelt die empfangenen Signale über die
Verteilungsschaltung 332, die Steuereinheit 328 und
den Adressendecodierer 330 in Signale um, welche dem Protokoll
des nicht dargestellten Systembusses der Speichereinheit 310 genügen, wandelt
die umgewandelten Signale durch Verwendung einer nicht dargestellten
Protokollwandlungsschaltung in Signale um, welche dem vom Modul_3 346 benutzen
vierten Protokoll genügen, und überträgt die umgewandelten
Signale über
den Bus 344 an das Modul_3 346.
-
Die
Protokollwandlungs- und Arbitrierungsschaltung 322-3 ist
zwischen dem dritten Anschluss 316 der Speichersteuereinheit 310 und
dem Systembus 370 eingeschleift und wandelt über den
oben beschriebenen zweistufigen Umwandlungsprozess Signale, welche
dem dritten vom Systembus 370 benutzten Protokoll genügen, in
Signale um, welche dem von der Speichersteuereinheit 310 benutzen ersten
Protokoll genügen,
bzw. wandelt Signale, welche dem von der Speichersteuereinheit 310 benutzten
ersten Protokoll genügen,
in Signale um, welche dem dritten Protokoll des Systembusses 370 genügen.
-
9 zeigt
ein Flussdiagramm zur Darstellung eines Zugriffsverfahrens einer
Mastereinheit auf einen externen Speicher über eine Protokollumwandlungs-
und Arbitrierungsschaltung. Unter Bezugnahme auf die 3, 6 und 9 wird
das Zugriffsverfahren für
eine Mastereinheit auf den externen Speicher beschrieben.
-
Um
auf den externen Speicher zuzugreifen, gibt jedes der Module Modul_1 320,
Modul_3 346 und der Systembus 370 im Schritt 901 an
die Protokollwandlungs- und Arbitrierungsschaltungen 322-1, 322-2 und 322-3 jeweils
Signale aus, welche einem Protokoll genügen, das vom Modul_1 320,
Modul_3 346 bzw. vom Systembus 370 benutzt wird.
-
Die
Protokollwandlungsschaltung 326 von jeder der Protokollwandlungs- und Arbitrierungsschaltungen 322-1, 322-2 und 322-3 empfängt die
Sig nale, welche dem vom korrespondierenden Modul Modul_1 320,
Modul_3 346 oder dem Systembus 370 benutzten Protokoll
genügen,
und wandelt die empfangenen Signale im Schritt 903 in Signale
um, welche dem vom nicht dargestellten internen Bus der Speichersteuereinheit 310 benutzten
Protokoll genügen.
-
Einige
Signale CNTR1, DATA und ADD, welche von der jeweiligen Protokollwandlungsschaltung 326 der
Protokollwandlungs- und Arbitrierungsschaltungen 322-1, 322-2 und 322-3 empfangen
werden, werden im Schritt 905 durch eine kooperative Interaktion
der Steuereinheit 328, des Adressendecodierers 330 und
der Verteilungsschaltung 332 nochmals in Signale umgewandelt,
welche dem ersten, von der Slaveeinheit, z.B. von der Speichersteuereinheit 310, benutzten
Protokoll genügen.
-
Basierend
auf den empfangenen Signalen greift die Speichersteuereinheit 310 in
Schritt 907 auf den externen Speicher zu, auf welchen das
Modul_1 320 und/oder das Modul_3 346 und/oder
der Systembus 370 zugreifen möchten.
-
Wie
aus 3 ersichtlich ist, ist die 2-3-Protokollwandlungsschaltung 340 zwischen
dem Modul_1 320 und dem Systembus 370 eingeschleift, und
die Protokollwandlungsschaltung 340 und das Modul_1 320 sind über den
Bus 336 miteinander verbunden. Die Protokollwandlungsschaltung 340 und der
Systembus 370 sind über
den Bus 338 miteinander verbunden. Die 2-3-Protokollwandlungsschaltung 340 wandelt
Signale, welche dem zweiten, im Modul_1 320 benutzten Protokoll
genügen,
in Signale um, welche dem dritten im Systembus 370 benutzten
Protokoll genügen,
und wandelt Signale, welche dem dritten, im Systembus 370 benutzten
Protokoll genügen,
in Signale um, welche dem zweiten, im Modul_1 320 benutzten
Protokoll genügen.
-
Die
4-3-Protokollwandlungsschaltung 350 ist zwischen dem Modul_3 346 und
dem Systembus 370 eingeschleift, und der Bus 348 verbindet
die 4-3-Protokollwandlungsschaltung 350 und das Modul_3 346. Der
Bus 345 verbindet die 4-3-Protokollwandlungsschaltung 350 und
den Systembus 370. Die 4-3-Protokollwandlungsschaltung 350 wandelt
Signale, welche dem vierten im Modul_3 346 benutzten Protokoll genügen, in
Signale um, welche dem dritten im Systembus 370 benutzten
Protokoll genügen,
und wandelt Signale, welche dem dritten im Systembus 370 benutzten
Protokoll genügen,
in Signale um, welche dem vierten im Modul_3 346 benutzten
Protokoll genügen.
-
Die
1-3-Protokollwandlungsschaltung 364 ist zwischen dem Modul_2 360 und
dem Systembus 370 eingeschleift, und der Bus 358 verbindet
den vierten Anschluss 318 der Speichersteuereinheit 310 mit dem
Modul_2 360. Der Bus 366 verbindet die 1-3-Protokollwandlungsschaltung 364 und
den Systembus 370. Die 1-3-Protokollwandlungsschaltung 364 wandelt
Signale, welche dem ersten im Modul_2 360 benutzten Protokoll
genügen,
in Signale um, welche dem dritten im Systembus 370 benutzten
Protokoll genügen,
und wandelt Signale, welche dem dritten im Systembus 370 benutzten
Protokoll genügen, in
Signale um, welche dem ersten im Modul_2 360 benutzten
Protokoll genügen.
-
Der
Systembus 370 ist beispielhaft als On-Chip-Bus ausgeführt, aber
nicht auf diese Ausführungsform
eingeschränkt.
Er kann z.B. ein offenes Kernprotokoll oder ein AMBA-Protokoll benutzen,
ist aber nicht auf die Verwendung dieser Protokolle beschränkt.
-
Entsprechend
kann die Gesamtleistungsfähigkeit
des Systems 300 verbessert werden, da die Speichersteuereinheit 310 eines
Systems mit wenigstens einer erfindungsgemäßen Protokollwandlungs- und
Arbitrierungsschaltung eine Mehrzahl von Modulen Modul_1 320,
Modul_3 346 und den Systembus 370 unterstützt, welche
zur gleichen Zeit verschie dene Protokolle benutzen, wobei jedes
der Mehrzahl von Modulen Modul_1 320, Modul_3 346 und
der Systembus 370 über
einen korrespondierenden Anschluss 312, 314 und 318 auf
einen externen Speicher zugreifen können.
-
Zudem
kann jedes der Module Modul_1 320, Modul_3 346 und
der Systembus 370 des Systems ohne Designänderung
benutzt werden, auch wenn ein Protokoll, welches von jedem der Module Modul_1 320,
Modul_3 346 und dem Systembus 370 benutzt wird,
sich vom Protokoll unterscheidet, welches von der Speichersteuereinheit 310 unterstützt wird.
Entsprechend ist jedes der Module Modul_1 320, Modul_3 346 und
der Systembus 370 wiederverwendbar.
-
4 zeigt
ein Blockdiagramm eines weiteren erfindungsgemäßen Systems 400, in
welchem eine Protokollwandlungs- und Arbitrierungsschaltung 424-1 mit
einer Mehrzahl von Modulen Modul_1 420-1 bis Modul_N 420-N verbunden
ist, welche ein identisches Protokoll benutzen, wobei N eine natürliche Zahl
ist. Wie aus 4 ersichtlich ist, umfasst das
System 400 eine Speichersteuereinheit 310, die Protokollwandlungs-
und Arbitrierungsschaltung 424-1 und eine Protokollwandlungs-
und Arbitrierungsschaltung 424-2, die Mehrzahl von Modulen Modul_1 420-1 bis
Modul_N 420-N sowie Module 448 und 462,
eine Mehrzahl von Protokollwandlungsschaltungen 438-1 bis 438-N und 466,
einen Systembus 370 und eine Mehrzahl von Bussen. Das System 400 kann
durch einen Halbleiterchip implementiert werden.
-
Die
Speichersteuereinheit 310 umfasst eine Mehrzahl von Anschlüssen 412-1 bis 412-N, 414, 416 und 418.
Wenigstens ein nicht dargestelltes Modul, welches mit wenigstens
einem der Module Modul_1 420-1 bis Modul_N 420-N, 448 und 462 und Systembus 370 verbunden
ist, steuert den Betrieb, um Daten über den Systembus 370 in
einen externen Speicher zu schreiben oder aus selbigem zu lesen.
-
Hierbei
sei als Nomenklatur vereinbart, dass die Mehrport-Speichersteuereinheit 310 und
das Modul 462 ein erstes Protokoll benutzen, die Module Modul_1 420-1 bis
Modul_N 420-N ein zweites Protokoll benutzen und das Modul 448 und
der Systembus 370 ein drittes Protokoll benutzen.
-
Jedes
der Module Modul_1 420-1 bis Modul_N 420-N, welche
ein identisches Protokoll benutzen, ist über einen korrespondierenden
Bus 422-1 bis 422-N mit einem korrespondierenden,
nicht dargestellten linken Anschluss der Protokollwandlungs- und
Arbitrierungsschaltung 424-1 verbunden. Ebenso ist jeder
der nicht dargestellten, rechten Anschlüsse der Protokollwandlungs-
und Arbitrierungsschaltung 424-1 über einen korrespondierenden
Bus 423-1 bis 423-N mit einem korrespondierenden
Anschluss 412-1 bis 412-N verbunden. Entsprechend ist
die Anzahl der linken und rechten Anschlüsse der Protokollwandlungs-
und Arbitrierungsschaltung 424-1 gleich der Anzahl von
anzuschließenden
Modulen.
-
Zudem
ist die Anzahl von Protokollwandlungsschaltungen 426-1 bis 426-N in
der Protokollwandlungs- und Arbitrierungsschaltung 424-1 gleich der
Anzahl von anzuschließenden
Modulen, wobei die Protokollwandlungs- und Arbitrierungsschaltung 424-1 wenigstens
eine Arbitriereinheit 428 aufweist.
-
7 zeigt
ein Blockdiagramm einer erfindungsgemäßen Protokollwandlungs- und
Arbitrierungsschaltung, die einen Protokollwandlungsschaltungsblock 426 und
eine Umwandlungsschaltung 427 umfasst, welche die Arbitriereinheit 428,
eine Steuereinheit 430, einen Adressendecodierer 432 und
eine Verteilungsschaltung 434 umfasst.
-
Die
Anzahl von Protokollwandlungsschaltungen 426-1 bis 426-N des
Protokollwandlungsschaltungsblocks 426 entspricht der Anzahl
von anzuschließenden
Modulen. Jede der Protokollwandlungsschaltungen 426-1 bis 426-N empfängt Signale, welche
einem von einer korrespondierenden Mastereinheit benutzten Protokoll
genügen,
und wandelt die empfangenen Signale in Signale um, welche einem von
einem internen Bus einer korrespondierenden Slaveeinheit benutzten
Zwischenprotokoll genügen. Hierbei
kooperiert jede der Protokollwandlungsschaltungen 426-1 bis 426-N mit
der Arbitriereinheit 428, der Steuereinheit 430,
dem Adressendecodierer 432 und der Verteilungsschaltung 434.
In 7 ist aus Gründen
der Übersichtlichkeit
der Protokollwandlungsschaltungsblock 426 so dargestellt,
als ob er als Gesamteinheit mit der Arbitriereinheit 428,
der Steuerschaltung 430, dem Adressendecodierer 432 und der
Verteilungsschaltung 434 kooperiert.
-
Die
Arbitriereinheit 428 gibt basierend auf Steuersignalen,
welche vom Protokollwandlungsschaltungsblock 426 ausgegeben
werden, Steuersignale CTR1 bis CTR4 aus, um die Steuereinheit 430 zu
steuern.
-
Basierend
auf den vom Protokollwandlungsschaltungsblock 426, d.h.
jeweils von den Protokollwandlungsschaltungen 426-1 bis 426-N,
ausgegebenen Steuersignalen, und den Steuersignalen CTR1 bis CTR4,
welche von der Arbitriereinheit 428 ausgegeben werden,
erzeugt die Steuereinheit 430 Steuersignale CNTR5, um den
Adressendecodierer 432 zu steuern, und Steuersignale CNTR4,
um die Verteilungsschaltung 434 zu steuern. Die Steuereinheit 430 umfasst
eine Datenübertragungssteuereinheit 4301,
eine Adressendecodierungssteuereinheit 4302, eine Antwortsteuereinheit 4303 und
eine Anschlussverteilungssteuereinheit 4304.
-
Die
Datenübertragungssteuereinheit 4301 überträgt in Reaktion
auf wenigstens ein korrespondierendes Steuersignal unter den Steuersignalen CNTR1,
welche vom Protokollwandlungsschaltungsblock 426 ausgegeben
werden, und das Steuersignal CTR1, welches von der Arbitriereinheit 428 ausgegeben
wird, Daten DATA, welche jeweils von den Protokollwandlungsschaltungen 426-1 bis 426-N ausgegeben
werden, an die Verteilungsschaltung 434 bzw. überträgt Daten
DATA, welche von der Verteilungsschaltung 434 zugeführt werden,
an eine korrespondierende Protokollwandlungsschaltung 426-1 bis 426-N.
-
Die
Adressendecodierungssteuereinheit 4302 gibt in Reaktion
auf wenigstens ein korrespondierendes Steuersignal unter den Steuersignalen CNTR1
und auf das Steuersignal CTR2, welches von der Arbitriereinheit 428 ausgegeben
wird, Steuersignale CNTR5 an den Adressendecodierer 432 aus, um
den Betrieb des Adressendecodierers 432 zu steuern.
-
Die
Antwortsteuereinheit 4303 überträgt in Reaktion auf wenigstens
ein korrespondierendes Steuersignal unter den Steuersignalen CNTR1,
welche vom Protokollwandlungsschaltungsblock 426 ausgegeben
werden, und das Steuersignal CTR3, welches von der Arbitriereinheit 428 ausgegeben wird,
oder in Reaktion auf wenigstens ein korrespondierendes Steuersignal
von Steuersignalen CNTR3, welche von der Verteilungsschaltung 434 ausgegeben
werden, Informationen über
den Zustand des externen Speichers, auf welchen zugegriffen werden soll,
oder Informationen RES, welche den Übertragungszustand der Daten
DATA betreffen, an den Protokollwandlungsschaltungsblock 426.
Zudem erzeugt die Antwortsteuereinheit 4303 Steuersignale
CNTR2, um den Betrieb des Protokollwandlungsschaltungsblocks 426 zu
steuern.
-
Die
Anschlussverteilungssteuereinheit 4304 gibt basierend auf
wenigstens einem korrespondierenden Steuersignal unter den Steuersignalen CNTR1,
welche vom Protokollwandlungsschaltungsblock 426 ausgegeben
werden, und dem Steuersignal CTR4, welches von der Arbitriereinheit 428 ausgegeben
wird, die Steuersignale CNTR4 an die Verteilungs schaltung 434 aus,
welche die Betriebszustände
der Anschlüsse
der Speichersteuereinheit 310 steuert. Das bedeutet, dass
die Anschlussverteilungssteuereinheit 4304 eine Funktion
ausführt,
welche einen korrespondierenden Anschluss auswählt, der von einer korrespondierenden
Mastereinheit benutzt wird.
-
Der
Adressendecodierer 432 decodiert in Reaktion auf die von
der Steuereinheit 430 ausgegebenen Steuersignale CNTRS
eine Adresse ADD, welche vom Protokollwandlungsschaltungsblock 426 ausgegeben
wird, und gibt als Ergebnis eine Information MSEL an die Verteilungsschaltung 434 aus,
welche den externen Speicher betrifft, auf welchen eine Mastereinheit
mit einer von der Arbitriereinheit 428 vorgegebenen Priorität zugreifen
möchte.
-
Der
Adressendecodierer 432 umfasst eine Decodiereinheit 4321 und
eine Speicherauswahlschaltung 4322. Die Decodiereinheit 4321 decodiert in
Reaktion auf wenigstens ein korrespondierendes Steuersignal unter
den Steuersignalen CNTR5, welche von der Steuereinheit 430 ausgegeben
werden, eine Adresse ADD, welche von der Protokollwandlungsschaltung 426 ausgegeben
wird, und gibt das Ergebnis an die Speicherauswahlschaltung 4322 aus.
-
Die
Speicherauswahlschaltung 4322 gibt basierend auf wenigstens
einem korrespondierenden Steuersignal der Steuersignale CNTR5, welche
von der Steuereinheit 430 ausgegeben werden, und auf das
Ausgabesignal der Decodiereinheit 4321 die Informationen
MSEL an die Verteilungsschaltung 434 aus, welche den externen
Speicher betreffen, auf welchen die Mastereinheit mit der von der
Arbitriereinheit 428 vorgegebenen Priorität zugreifen
möchte. Die
den externen Speicher betreffenden Informationen MSEL, beispielsweise
die Anzahl von Bits, werden von der Anzahl der externen Speicher
bestimmt.
-
Die
Verteilungsschaltung 434 empfängt die vom Protokollwandlungsschaltungsblock 426 ausgegebene
Adresse ADD, die Daten DATA und Steuersignale CNTR4, welche von
der Steuereinheit 430 ausgegeben werden, und die vom Adressendecodierer 432 ausgegebene
Information MSEL, welche den externen Speicher betrifft, und überträgt basierend
auf diesen Signalen ADD, DATA, CNTR4 und MSEL Signale an einen korrespondierenden
Anschluss der Slaveeinheit, um auf den externen Speicher zuzugreifen.
Entsprechend weist die Verteilungsschaltung 434 eine Schaltfunktion
und/oder eine Multiplexfunktion auf.
-
Die
Signale CNTR1, DATA und ADD, welche vom Protokollwandlungsschaltungsblock 426 ausgegeben
werden, werden durch Interaktionen der Steuereinheit 430,
des Adressendecodierers 432 und der Verteilungsschaltung 434 in
Signale umgewandelt, welche einem Protokoll genügen, das in der Slaveeinheit
benutzt wird, und die umgewandelten Signale werden über den
korrespondierenden Bus 423-1 bis 423-N und den
korrespondierenden Anschluss 412-1 bis 412-N in
die Speichersteuereinheit 310 eingegeben. Entsprechend
greift die Slaveeinheit basierend auf den Signalen, welche vom Protokollwandlungsschaltungsblock 426 ausgegeben
werden, auf den externen Speicher zu, auf den die Mastereinheit
zugreifen möchte.
-
Wie
aus den 4 und 7 ersichtlich
ist, empfängt
die Protokollwandlungs- und Arbitrierungsschaltung 424-1 über den
Bus 422-1 Signale, welche dem zweiten Protokoll genügen, das
von einer Mastereinheit, z.B. vom Modul_1 420-1, benutzt
wird, wandelt die empfangenen Signale durch Verwendung der Protokollwandlungsschaltung 426-1 in
Signale um, welche dem Zwischenprotokoll des nicht dargestellten
internen Busses einer Slaveeinheit genügen, z.B. der Speichersteuereinheit 310,
wandelt die einmal umgewandelten Signale durch die Verwendung der
Arbitriereinheit 428, der Steuereinheit 430, des
Adressendecodierers 432 und der Verteilungsschaltung 434 nochmals
in Signale um, welche dem ersten, von der Speichersteuereinheit 310 benutzten
Protokoll genügen,
und gibt die umgewandelten Signale über einen korrespondierenden
Anschluss der Speichersteuereinheit 310, z.B. über den Anschluss 412-1,
an die Speichersteuereinheit 310 aus.
-
Die
Protokollwandlungs- und Arbitrierungsschaltung 424-1 empfängt über den
korrespondierenden ersten Anschluss 412-1 und den Bus 423-1 Daten
DATA, welche vom externen Speicher ausgelesen werden, auf den von
der Mastereinheit 420-1 zugegriffen wird, oder welche in
anderen Worten ausgedrückt
von der Mastereinheit 420-1 angefordert werden, wandelt
die empfangenen Daten durch Verwendung der Steuereinheit 430,
des Adressendecodierers 432 und der Verteilungsschaltung 434 in
Signale um, welche dem Zwischenprotokoll des nicht dargestellten
Systembusses der Speichersteuereinheit 310 genügen, und
wandelt die umgewandelten Signale durch Verwendung der Protokollwandlungsschaltung 426-1 nochmals
in Signale um, welche dem zweiten, vom Modul_1 420-1 benutzten
Protokoll genügen,
und überträgt die zweimal
umgewandelten Signale über
den Bus 422-1 an das Modul_1 420-1.
-
Zudem
empfängt
die Protokollwandlungs- und Arbitrierungsschaltung 424-1 über den
Bus 422-N Signale, welche dem zweiten Protokoll einer Mastereinheit,
z.B. des Moduls_N 420-N, genügen, wandelt die empfangenen
Signale durch Verwendung der Protokollwandlungsschaltung 426-N in
Signale um, welche dem Zwischenprotokoll des nicht dargestellten
internen Busses einer Slaveeinheit genügen, z.B. der Speichersteuereinheit 310,
wandelt die einmal umgewandelten Signale durch die Verwendung der
Arbitriereinheit 428, der Steuereinheit 430, des
Adressendecodierers 432 und der Verteilungsschaltung 434 nochmals
in Signale um, welche dem ersten, von der Speichersteuereinheit 310 benutzten
Protokoll genügen,
und gibt die zweimal umgewandelten Signale über einen korrespondierenden Anschluss
der Speichersteuereinheit 310, z.B. über den Anschluss 412-N,
an die Speichersteuereinheit 310 aus.
-
Die
Protokollwandlungs- und Arbitrierungsschaltung 424-1 empfängt über den
korrespondierenden N-ten Anschluss 412-N und den Bus 423-N Daten,
welche vom externen Speicher ausgelesen werden, auf den vom Modul_N 420-N zugegriffen wird,
wandelt die empfangenen Daten durch Verwendung der Steuereinheit 430,
des Adressendecodierers 432 und der Verteilungsschaltung 434 in
Signale um, welche dem Zwischenprotokoll des nicht dargestellten
internen Busses der Speichersteuereinheit 310 genügen, wandelt
die umgewandelten Signale durch Verwendung der Protokollwandlungsschaltung 426-N nochmals
in Signale um, welche dem zweiten, vom Modul_N 420-N benutzten
Protokoll genügen, und überträgt die zweimal
umgewandelten Signale über
den Bus 422-N an das Modul_N 420-N.
-
Der
erste Anschluss der Protokollwandlungs- und Arbitrierungsschaltung 424-2 und
der (N+1)-te Anschluss 418 der Speichersteuereinheit 310 sind über den
Bus 454 miteinander verbunden, der zweite Anschluss der
Protokollwandlungs- und Arbitrierungsschaltung 424-2 und
der (N+N)-te Anschluss 416 der Speichersteuereinheit 310 sind über den
Bus 456 miteinander verbunden, der dritte Anschluss der
Protokollwandlungs- und
Arbitrierungsschaltung 424-2 und Systembus 370 sind über den Bus 458 miteinander
verbunden und der vierte Anschluss der Protokollwandlungs- und Arbitrierungsschaltung 424-2 und
das Modul 448 sind über
den Bus 452 miteinander verbunden.
-
Die
Funktionsweise der Protokollwandlungs- und Arbitrierungsschaltung 424-2 entspricht
im Wesentlichen der Funktionsweise der Protokollwandlungs- und Arbitrierungsschaltung 424-1,
d.h. die Protokollwandlungs- und Arbitrierungsschaltung 424-2 empfängt Signale,
welche dem ersten Protokoll genügen,
wandelt die empfangenen Signale durch Ver wendung des oben beschriebenen
zweistufigen Umwandlungsprozesses in Signale um, welche dem dritten,
vom Systembus 370 benutzten Protokoll genügen, und überträgt die umgewandelten
Signale an den Systembus 370.
-
Zudem
empfängt
die Protokollwandlungs- und Arbitrierungsschaltung 424-2 Signale,
welche dem dritten, vom Systembus 370 benutzten Protokoll genügen, wandelt
die empfangenen Signale über den
oben beschriebenen zweistufigen Umwandlungsprozess in Signale um,
welche dem ersten, in der Speichersteuereinheit 310 benutzten
Protokoll genügen,
und überträgt die umgewandelten
Signale über
die korrespondierenden Anschlüsse 416 und 418 an
die Speichersteuereinheit 310.
-
Zudem
wandelt die Protokollwandlungs- und Arbitrierungsschaltung 424-2 ein Signal,
welches dem ersten, von der Speichersteuereinheit 310 benutzten
Protokoll genügt,
in ein Signal um, welches dem dritten, vom Modul 448 benutzten
Protokoll genügt,
und wandelt ein Signal, welches dem dritten, vom Modul 448 benutzten
Protokoll genügt,
in ein Signal um, welches dem ersten, in der Speichersteuereinheit 310 benutzten
Protokoll genügt.
Entsprechend weist die erfindungsgemäße Protokollwandlungs- und
Arbitrierungsschaltung 424-2 eine Funktion zum Umwandeln
eines Protokolls und eine Funktion zur Arbitrierung von Signalen
auf, welche vom Modul 448 und dem Systembus 370 zur
gleichen Zeit ausgegeben werden.
-
Die
2-3-Protokollwandlungsschaltung 438-1 ist über korrespondierende
Busse 436 und 440 zwischen dem Modul_1 420-1 und
dem Systembus 370 eingeschleift und wandelt ein Signal,
welches dem zweiten Protokoll genügt, in ein Signal um, welches dem
dritten Protokoll genügt,
oder wandelt ein Signal, welches dem dritten Protokoll genügt, in ein
Signal um, welches dem zweiten Protokoll genügt.
-
Analog
ist die 2-3-Protokollwandlungsschaltung 438-N über korrespondierende
Busse 442 und 446 zwischen dem Modul_N 420-N und
dem Systembus 370 eingeschleift und wandelt ein Signal,
welches dem zweiten Protokoll genügt, in ein Signal um, welches
dem dritten Protokoll genügt,
oder wandelt ein Signal, welches dem dritten Protokoll genügt, in ein
Signal um, welches dem zweiten Protokoll genügt.
-
Das
Modul 448, welches das dritte Protokoll benutzt, ist über korrespondierende
Busse 450 und 452 zwischen dem Systembus 370 und
der Protokollwandlungs- und Arbitrierungsschaltung 424-2 eingeschleift.
-
Das
Modul 462, welches das erste Protokoll benutzt, ist über korrespondierende
Busse 460 und 464 zwischen dem (N+3)-ten Anschluss 414 der Speichersteuereinheit 310 und
der 1-3-Protokollwandlungsschaltung 466 eingeschleift.
-
Die
1-3-Protokollwandlungsschaltung 364 ist über korrespondierende
Busse 464 und 468 zwischen dem Modul 462 und
dem Systembus 370 eingeschleift und wandelt ein Signal,
welches dem ersten Protokoll genügt,
in ein Signal um, welches dem dritten Protokoll genügt, oder
wandelt ein Signal, welches dem dritten Protokoll genügt, in ein
Signal um, welches dem ersten Protokoll genügt.
-
Entsprechend
kann jedes der Module Modul_1 420-1 bis Modul_N 420-N, Modul 448 und Modul 462 des
Systems mit wenigstens einer erfindungsgemäßen Protokollwandlungs- und
Arbitrierungsschaltung auf den externen Speicher zugreifen, ohne
den Systembus 370 zu benutzen. Daraus resultiert, dass
der Gesamtbetrieb des Systems verbessert wird.
-
5 zeigt
ein Blockdiagramm eines weiteren erfindungsgemäßen Systems 500, in
welchem eine Protokollwandlungs- und Arbitrierungsschaltung 424-1 mit
einer Mehrzahl von Modulen verbunden ist, die unter schiedliche Protokolle
benutzen. Wie aus 5 ersichtlich ist, umfasst das
System 500 eine Speichersteuereinheit 310, einen
Systembus 370, die Protokollwandlungs- und Arbitrierungsschaltung 424-1,
eine Mehrzahl von Modulen Modul_1 516-1 bis Modul_N 516-N und
Modul 530, eine Mehrzahl von Protokollwandlungsschaltungen 522-1 bis 522-N und 534 und
eine Mehrzahl von Bussen. Das System 500 kann durch einen
Halbleiterchip implementiert werden.
-
Die
Speichersteuereinheit 310 umfasst eine Mehrzahl von Anschlüssen 512-1 bis 512-N und 514. Es
sei angenommen, dass die Speichersteuereinheit 310 und
das Modul 530 das erste Protokoll benutzen, die Mehrzahl
der Module Modul_1 516-1 bis Modul_N 516-N Protokolle
benutzen, welche voneinander verschieden sind, und der Systembus 370 ein drittes
Protokoll benutzt.
-
Die
Mehrzahl der Module Modul_1 516-1 bis Modul_N 516-N sind
jeweils über
korrespondierende Busse 518-1 bis 518-N mit korrespondierenden,
nicht dargestellten linken Anschlüssen der Protokollwandlungs- und Arbitrierungsschaltung 424-1 verbunden. Die
Anschlüsse 512-1 bis 512-N der
Speichersteuereinheit 310 sind jeweils über korrespondierende Busse 526-1 bis 526-N mit
nicht dargestellten rechten Anschlüssen der Protokollwandlungs-
und Arbitrierungsschaltung 424-1 verbunden.
-
Eine
erfindungsgemäße Betriebsweise
der Protokollwandlungs- und Arbitrierungsschaltungen der 4 und 5 wird
nachfolgend unter Bezugnahme auf das Flussdiagramm von 10 erläutert. Wie
aus den 5, 7 und 10 ersichtlich
ist, empfängt
im Schritt 1001 jede der Protokollwandlungsschaltungen 426-1 bis 426-N der
Protokollwandlungs- und Arbitrierungsschaltung 424-1 Signale,
welche dem von einem korrespondierenden Modul_1 516-1 bis
Modul_N 516-N benutzten Protokoll genügen.
-
Jede
der Protokollwandlungsschaltungen 426-1 bis 426-N wandelt
die empfangenen Signale in Signale um, welche dem vom nicht dargestellten
internen Bus einer Slaveeinheit, z.B. der Speichersteuereinheit 310,
benutzten Protokoll genügen,
und gibt die umgewandelten Signale CNTR1, DATA, ADD im Schritt 1003 aus.
-
Die
von jeder der Protokollwandlungsschaltungen 426-1 bis 426-N ausgegebenen
Steuersignale CNTR1, DATA und ADD werden durch die Interaktion der
Arbitriereinheit 428, der Steuereinheit 430, des
Adressendecodierers 432 und der Verteilungsschaltung 434 in
Signale umgewandelt, welche dem ersten, in der Speichersteuereinheit 310 benutzten Protokoll
genügen,
d.h. die Umwandlung erfolgt durch eine Steuerung, Arbitrierung und
Decodierung. Die umgewandelten Signale werden im Schritt 1005 über korrespondierende
Anschlüsse
in die Speichersteuereinheit 310 eingegeben.
-
11 zeigt
ein Flussdiagramm zur Darstellung eines erfindungsgemäßen Verfahrens
zum Zugreifen auf einen externen Speicher durch eine Mehrzahl von
Mastereinheiten über
eine Protokollwandlungs- und Arbitrierungsschaltung. Unter Bezugnahme
auf die 5, 7 und 11 wird
beispielhaft die Betriebsweise des Moduls_1 516-1 als Mastereinheit
bei einem Zugriff auf einen SRAM0-Speicherbereich beschrieben. Für die nachfolgende
Diskussion wird beispielsweise angenommen, dass ein externer Speicher
aus SRAM0, SRAM1, SDRAM0 und SDRAM1 gebildet wird, wobei SRAM0 einen
Adressenbereich benutzt, welcher durch 0x00000000 bis 0x1FFFFFFF
bezeichnet wird, SRAM1 einen Adressenbereich von 0x20000000 bis
0x3FFFFFFF, SDRAM0 einen Adressenbereich von 0x40000000 bis 0x5FFFFFFF
und SDRAM1 einen Adressenbereich von 0x60000000 bis 0x7FFFFFFF benutzt, dass
die Arbitriereinheit 428 eine Prioritätsreihenfolge an das Modul_1 516-1 ausgibt
und dass das erste Modul_1 516-1 eine Adresse 0x10000000
ausgibt.
-
Um
auf einen korrespondierenden externen Speicher zuzugreifen, gibt
wenigstens eine nicht dargestellte Mastereinheit, welche mit jedem
der Module Modul_1 516-1 bis Modul_N 516-N und
dem Systembus 370 verbunden ist, im Schritt 1101 über einen korrespondierenden
Bus Signale an die Protokollwandlungs- und Arbitrierungsschaltung 424-1 aus, welche
einem von der Mastereinheit benutzten Protokoll genügen.
-
Jede
der Protokollwandlungsschaltungen 426-1 bis 426-N wandelt
die empfangenen Signale im Schritt 1103 in Signale um,
welche dem ersten, vom nicht dargestellten internen Bus der Speichersteuereinheit 310 benutzten
Protokoll genügen,
und gibt die umgewandelten Signale CNTR1, DATA und ADD aus.
-
Die
Arbitriereinheit 428 empfängt die Signale CNTR1, welche
von jeder der Protokollwandlungsschaltungen 426-1 bis 426-N ausgegeben
werden, und gibt basierend auf den empfangenen Signalen CNTR1 die
Priorität
zum Benutzen der Speichersteuereinheit 310 an das Modul_1 516-1 aus.
-
Der
Adressendecodierer 432 überträgt im Hinblick
auf den gewünschten
Zugriff auf SRAM0 basierend auf den Steuersignalen CNTR5, welche
von der Steuereinheit 430 ausgegeben werden, und einer Adresse
ADD=0x10000000, welche vom Modul_1 516-1 ausgegeben wird,
die entsprechende Information MSEL an die Verteilungsschaltung 434.
Die Verteilungsschaltung 434 überträgt basierend auf einer Mehrzahl
von Signalen DATA, CNTR4 und MSEL, welche von der Steuereinheit 430 ausgegeben
werden, eine Mehrzahl von Signalen, welche den gewünschten
Zugriff auf SRAM0 betreffen, über
einen korrespondierenden Anschluss, z.B. 512-1, der Speichersteuereinheit 310 an
die Speichersteuereinheit 310.
-
Das
bedeutet, dass die Arbitriereinheit 428, die Steuereinheit 430,
der Adressendecodierer 432 und die Verteilungsschaltung 434 im
Schritt 1105 basierend auf den Steuersignalen CNRT1, CNTR4, CNTR5
und MSEL Signale zuordnen, welche von jeder der Protokollwandlungsschaltungen 426-1 bis 426-N ausgegeben
werden, basierend auf der Arbitrierung die Adresse ADD decodieren
und über
korrespondierende Anschlüsse
Signale übertragen,
welche dem in der Speichersteuereinheit 310 benutzten Protokoll
genügen.
-
Die
Speichersteuereinheit 310 kann im Schritt 1107 basierend
auf Signalen, welche von der Protokollwandlungs- und Arbitrierungsschaltung 424-1 umgewandelt
wurden und dem betreffenden Protokoll genügen, auf den externen Speicherbereich
SRAM0 zugreifen, auf den das korrespondierende Modul_1 516-1 zugreifen
möchte.
Somit kann das Modul_1 516-1 ohne Nutzung des Systembusses 370 über die
Speichersteuereinheit 310 auf den gewünschten externen Speicher zugreifen.
Entsprechend nimmt die Last des Systembusses 370 des Systems
ab, z.B. des Systems 500, so dass die Gesamtleistungsfähigkeit
des System ansteigt. Wenn folglich ein Modul in einem System benutzt
werden soll, welches ein gewünschtes
unterschiedliches Protokoll benutzt oder unterstützt, kann das Modul sofort im
System verwendet werden, ohne den Aufbau des Moduls zu verändern oder
neu zu gestalten.
-
In
einem System wie oben beschrieben mit einer Mehrport-Speichersteuereinheit
und wenigstens einer Protokollwandlungs- und Arbitrierungsschaltung
kann jedes der Mehrzahl von Modulen über die Mehrport-Speichersteuereinheit
Daten an einen externen Speicher übertragen oder von selbigem
empfangen, ohne den Systembus zu benutzen, so dass die Datenverarbeitungszeit
abnimmt. Entsprechend nimmt die Leistungsfähigkeit des Systems mit der
Abnahme der Last auf dem Systembus zu. Zudem können herkömmliche Module, welche unterschiedliche
Protokolle unterstützen,
sofort ohne Designänderung
benutzt werden, da mehrere Module jeweils mit korrespondierenden
Anschlüssen
der Mehrport-Speichersteuereinheit zur gleichen Zeit verbindbar
sind. Da herkömmliche
Module ohne Veränderung
benutzt werden können,
kann die Systementwicklungszeit reduziert werden.