-
Die
vorliegende Erfindung betrifft allgemein Datenkommunikation. Insbesondere
betrifft die vorliegende Erfindung Verfahren und Anordnungen zum Überwachen
von datenbasierten Ereignissen auf einem Kommunikationskanal wie
im Oberbegriff von Anspruch 1 bzw. Anspruch 4 dargelegt. Ein solches Verfahren
und eine solche Anordnung sind aus der
Europäischen Patentanmeldung
Nr.897152 bekannt.
-
Die
Elektronikindustrie strebt weiterhin hoch leistungsfähige, hochfunktionale
Schaltkreise an. Bedeutende Ergebnisse in dieser Hinsicht wurden durch
die Entwicklung größtintegrierter
Schaltkreise erzielt. Diese komplexen Schaltungen sind oft als funktional
definierte Module angelegt, die an einer Gruppe von Daten arbeiten
und dann die Daten zur weiteren Verarbeitung weiterleiten Diese
Kommunikation von solchen funktional definierten Modulen kann in
kleinen oder großen
Datenmengen zwischen einzelnen separaten Schaltkreisen, zwischen
integrierten Schaltkreisen auf demselben Chip und zwischen räumlich getrennten
Schaltkreisen, die an verschiedene Teile eines Systems oder Subsystems
angeschlossen oder mit diesen verschaltet sind, weitergeleitetet
werden. Unabhängig
von der Konfigurierung erfordert die Kommunikation typisch genau
gesteuerte Schnittstellen, die dafür ausgelegt sind zu gewährleisten,
dass die Datenintegrität
erhalten bleibt, während
Schaltkreisdesigns verwendet werden, die von praktikablen Beschränkungen
hinsichtlich des Implementierungsplatzes und der verfügbaren Betriebsleistung
abhängig
sind.
-
Der
erhöhte
Bedarf an hoch leistungsfähigen,
hochfunktionalen Halbleitergeräten
hat zu einem ständig
steigenden Bedarf an der Erhöhung
der Geschwindigkeit geführt,
mit der Daten zwischen den Schaltungsblöcken geleitet werden. Typisch
sind diese Kommunikationsanwendungen mit paralleler oder serieller
Datenübertragung
und häufiger
mit paralleler Datenübertragung
umgesetzt. In Anwendungen mit paralleler Datenübertragung würde eine
typische Umsetzung das Senden mehrerer Datenbits gleichzeitig über parallele
Kommunikationsbahnen umfassen. Solche „parallele Bus-Übertragung" ist ein weithin akzeptierter Ansatz,
um Datentransfer mit hohen Datengeschwindigkeiten zu erzielen. Für eine gegebene
Datenübertragungs
geschwindigkeit (manchmal mit einem Taktsignal ermittelt, das mit
den Daten gesendet wird) entspricht die Bandbreite, gemessen in
Bit pro Sekunde, der Datenübertragungsgeschwindigkeit multipliziert
mit der Anzahl der Datensignale, die die parallele Datenverbindung
umfassen.
-
Ein
typisches System kann eine Anzahl von Modulen umfassen, die an eine
parallele Datenkommunikationsleitung (manchmal als Datenkanal bezeichnet)
angeschlossen sind und über
diese kommunizieren, beispielsweise in Form eines Kabels, einer
Rückwandplatinenschaltung,
einer internen Bus-Struktur in einem Chip, in Form anderer Verbindungen
oder einer beliebigen Kombination aus solchen Kommunikationsmedien.
Ein Sendemodul überträgt synchron
zu einem Taktsignal auf dem Sendemodul Daten über den Bus. Auf diese Weise
halten die Übergänge auf
den parallelen Signalleitungen das Sendemodul in einer synchronen
Beziehung miteinander und/oder mit einem Taktsignal auf dem Sendemodul.
Am anderen Ende der parallelen Datenverbindung empfängt das
Empfangsmodul die Daten auf dem parallelen Datenbus; sendet die
Kommunikationsanordnung ein Taktsignal, so ist der Empfangstakt
typisch von dem Taktsignal auf dem Sendemodul abgeleitet oder zu
diesem synchron. Die Geschwindigkeit, mit der die Daten über die
parallelen Signalleitungen gesendet werden, wird manchmal als die
(parallele) „Bus-Geschwindigkeit" bezeichnet.
-
Bei
dem Versuch, die Effizienz in solchen Systemen zu optimieren, ist
es nutzbringend zu überwachen,
wie der Datenbus und der gesamte Kommunikationsblock genutzt werden.
Herkömmlich
wurden externe Testanalysatoren und/oder eingebaute Ereignisdetektoren
verwendet, um auf dem Bus auftretende Ereignisse zu erkennen, zu
zählen
oder anderweitig zu messen. Ein Beispiel eines solchen Hilfsmittels
ist in der
Europäischen Patentanmeldung Nr.997819 beschrieben.
Die Informationen, die von solchen Hilfsmitteln gesammelt werden,
werden dann von den Systemdesignern zur Verbesserung des Designs,
z.B. des Platinen-Layouts oder der Softwareorganisation, ausgewertet.
-
Für viele
Anwendungen kann die Verbesserung des Designs auf diese Weise beschwerlich
und kostspielig sein. Zum Beispiel lässt der Aufwand im Zusammenhang
mit dem Design von Systemen, die kundenspezifische Chips erfordern,
nicht zu, dass Chipdesign-Layouts zur Verbesserung der Bus-Ausnutzung
oder des Durchsatzes wiederholt durchlaufen werden. Da solche Chips
durch funktionale Spezifikationen spezifisch angepasst werden, z.B.
mit Hilfe einer Hardware-Beschreibungssprache (HDL) wie Verilog
oder VHDL, sollen Chipdesign- Layouts nur in der Computersimulationsphase
des Designprozesses geändert
werden. Nach der Simulation wird der Chip-Prototyp in Siliziumform bestätigt, aber selbst
dann sind unerwartete Probleme typisch. Das Überwinden dieser Probleme erfordert
den Einsatz von externen Testanalysatoren und/oder eingebauten Ereignisdetektoren
und mehr Wiederholungen des oben genannten Prozesses. Leider kann
wegen der hochintegrierten Struktur und der hohen Arbeitsgeschwindigkeiten
solcher Chips die Verwendung von externen Testanalysatoren und/oder
eingebauten Ereignisdetektoren zu anderen Problemen führen wie
etwa Probleme der Signaltaktung, der Rauschkopplung und der Signalstärke. Das
wiederholte Neuauslegen und Testen, wie es typisch erfolgt, erhöht den letztlichen
Zeit- und Kostenaufwand für
das Design auf ein solches Maß,
dass diese Praxis im heutigen zeitsensiblen Markt oft untragbar
wird. Auch werden eingebaute Ereignisdetektoren typisch gleichzeitig
mit dem Schaltkreis, den sie überwachen sollen,
konstruiert; demzufolge sind sie unwirksam für die Überwachung von fehlerverdächtigen
Aspekten des Schaltkreises, die nach der Fertigung entdeckt werden.
-
Möglichkeiten
zur Verbesserung der Entwicklung kundenspezifischer Chips können zu
verbesserten Kommunikationsverfahren und -anordnungen führen, die
in verschiedenen Anwendungen eingesetzt werden. Die vorliegende
Erfindung befasst sich mit dem Bedarf, die oben genannten Mängel der Entwicklung
kundenspezifischer Chips zu überwinden
und stellt auch Kommunikationsverfahren und -anordnungen bereit,
die für
andere Anwendungen verwendbar sind.
-
Verschiedene
Aspekte der vorliegenden Erfindung richten sich auf einen an passungsfähigen Datenkommunikationsansatz,
der die konfigurierbare Überwachung
eines Kommunikationsbusses mittels eines rekonfigurierbaren Buswächters ermöglicht, der
in die CPU-Busstruktur eingebaut ist, wobei der rekonfigurierbare
Buswächter
dafür eingerichtet
ist, als Reaktion auf das Erkennen bestimmter ausgewählter Ereignisse
an die CPU zurückzumelden.
-
In
einer bestimmten beispielhaften Ausführungsform kommuniziert eine
Schaltungsanordnung mit einer CPU-Schaltung mit einem anderen Gerät über einen Kommunikationskanal,
während
eine rekonfigurierbare Schaltung den Kommunikationskanal überwacht.
Die CPU-Schaltung konfiguriert die rekonfigurierbare Schaltung für die Überwachung
jeder beliebigen Art unter verschiedenen Arten von Ereignissen,
die voraussichtlich im Kommunikationskanal auftreten. Die rekonfigurierbare
Schaltung sammelt Signale, die auf dem Kommunikationskanal gesendet werden,
und kann Zähler
basierend auf diesem Ereignis inkrementierem starten oder stoppen
und dann an die CPU-Schaltung zurückmelden. Als Reaktion auf
das überwachte
Ereignis rekonfiguriert die CPU-Schaltung die rekonfigurierbare
Schaltung zur Überwachung
auf einen anderen im Kommunikationskanal auftretenden Ereignistyp
and gestattet somit eine anpassungsfähige Auswertung des Kommunikationskanals.
Ein anderer Aspekt der Erfindung betrifft die CPU, die die Datenkommunikation
als Reaktion auf diese anpassungsfähige Auswertung umleitet.
-
In
einer anderen bestimmten beispielhaften Ausführungsform umfasst eine Schaltungsanordnung:
eine rekonfigurierbare Schaltung, die mit dem Kommunikationskanal
verbunden ist und die Signale, die auf dem Kommunikationskanal gesendet
werden, sammelt; und eine CPU-Schaltung, die über einen Kommunikationskanal
mit einem anderen Gerät kommuniziert
und die rekonfigurierbare Schaltung zur Überwachung auf einen ersten,
auf dem Kommunikationskanal auftretenden Ereignistyp rekonfiguriert.
Die rekonfigurierbare Schaltung ist dafür eingerichtet, auf die CPU-Schaltung anzusprechen,
indem sie auf den ersten, auf dem Kommunikationskanal auftretenden
Ereignistyp überwacht
und indem sie an die CPU-Schaltung Daten zurückmeldet, die das erste Ereignis
anzeigen Die CPU-Schaltung reagiert auch auf die Daten, die den
ersten überwachten
Ereignistyp anzeigen, indem sie die rekonfigurierbare Schaltung
zur Überwachung
auf einen anderen, auf dem Kommunikationskanal auftretenden Ereignistyp rekonfiguriert
und danach auf dem Kommunikationskanal gesendete Signale für das andere
Ereignis sammelt und auswertet In einer anderen Ausführungsform,
die den oben beschriebenen Ausführungsformen
entspricht, umfasst die rekonfigurierbare Schaltung eine Registerschaltung,
die auf Konfigurierungsdaten reagiert, indem sie Konfigurierungsbits speichert,
welche in erwartete Signale umgewandelt werden, welche Ereignissen
entsprechen, die auf dem Kommunikationskanal überwacht werden Die rekonfigurierbare
Schaltung umfasst auch eine Komparatorschaltung, die die gesammelten
Signale mit den erwarteten Signalen vergleicht.
-
Andere
Ausführungsformen
wiederum betreffen die Art und Weise, wie die rekonfigurierbare Schaltung
mit der CPU-Schaltung kommuniziert. In einer solchen Umsetzung wird
ein Unterbrechungsmechanismus benutzt, um die CPU-Schaltung als Reaktion
auf die gesammelten Signale, die mit den erwarteten Signalen übereinstimmen,
zu unterbrechen In einer anderen Umsetzung wird ein Abfragemechanismus
zwischen CPU-Schaltung und der rekonfigurierbaren Schaltung benutzt,
um die CPU-Schaltung zu befähigen,
die Daten auszulesen, die das erste Ereignis anzeigen In wiederum
einer anderen Ausführungsform
wird ein erkanntes Ereignis verwendet, um einen Zähler zu
inkrementieren oder zu starten/stoppen, der dafür ausgelegt ist, das Ereignis
nachzuverfolgen.
-
Andere
beispielhafte Ausführungsformen
der vorliegenden Erfindung betreffen verschiedene andere verwandte
Aspekte einschließlich
der methodischen und Systemverarbeitungsaspekte solcher Kommunikation
Die vorangehende Kurzdarstellung der vorliegenden Erfindung soll
nicht jede dargestellte Ausführungsform
oder jede Anwendung der vorliegenden Erfindung beschreiben. Die
Figuren und die ausführliche
Beschreibungen, die folgen, stellen diese Ausführungsformen im Einzelnen beispielhaft
dar.
-
Die
Erfindung ist vollständiger
anhand der folgenden ausführlichen
Beschreibung verschiedener Ausführungsformen
der Erfindung in Verbindung mit den dazugehörigen Zeichnungen zu verstehen. Es
zeigen:
-
1 ein
Schaubild einer beispielhaften Schaltungsanordnung gemäß der vorliegenden
Erfindung und
-
2 ein
Schaubild, das eine vergrößerte Ansicht
darstellt, die eine beispielhafte Buswächterschaltung, ebenfalls gemäß der vorliegenden
Erfindung, zeigt, die der Schaltungsanordnung in 1 entspricht.
-
Während die
Erfindung für
verschiedene Modifizierungen und Alternativformen offen ist, sind
ihre Einzelheiten beispielhaft in den Zeichnungen dargestellt und
werden im Detail beschrieben. Es sollte sich jedoch verstehen, dass
keine Absicht besteht, die Erfindung auf die konkret beschriebenen
Ausführungsformen
zu beschränken.
Im Gegenteil sollen alle Modifizierungen, Äquivalente und Alternativen beinhaltet
sein, die in den Schutzumfang der Erfindung, wie sie durch die beigefügten Ansprüche definiert
ist, fallen.
-
Es
wird angenommen, dass die vorliegende Erfindung allgemein auf Verfahren
und Anordnungen anwendbar ist, in denen Daten über einen CPU-basierten Kommunikationsweg übertragen
werden. Es wurde festgestellt, dass die Erfindung besonders vorteilhaft
für Hochgeschwindigkeitsdatenübertragungsanwendungen
ist, bei denen die Überwachung
des Kommunikationsbusses zu verstärkter Validierung und/oder
verbesserter Steuerung und verbessertem Durchsatz bei der Kommunikation
zwischen den Geräten,
die an den Kommunikationsbus angeschlossen sind, führen kann.
Beispiele für
Kommunikationsbusse (einschließlich
Schnittstellen) umfassen unter anderen: SSTL(Stub Series Transceiver/Terminated Logic)-,
RSL(Rambus Signaling Logic)-Schnittstellen, dicht geschaltete Anwendungen
wie jene, in denen der parallele Kommunikationsweg die zwei Module
auf einem Einzelchip miteinander verbindet und externe Hochgeschwindigkeitskommunikation
zwischen Chips, die sich typisch unmittelbar nebeneinander auf derselben
Platine befinden. Während
die vorliegende Erfindung nicht zwangsläufig auf solche Anwendungen
begrenzt ist, wird ein Verständnis
verschiedener Aspekte der Erfindung am besten durch eine Erläuterung
von Beispielen in einer solchen Umgebung erzielt.
-
In
einer beispielhaften Ausführungsform
umfasst eine Einchip-Schaltungsanordnung
einen herkömmlichen
parallelen Kommunikationsbus, der verwendet wird, um eine CPU-Schaltung
mit verschiedenen Bus-Kommunikationsgeräten zu verbinden. Die
CPU-Schaltung umfasst die herkömmlichen Speichermappingschaltungen,
die mit den Steuerungs-, Daten und Adressleitungen der CPU für das Speichermapping
zwischen der CPU und den über Bus
kommunizierenden Geräten
verbunden sind. Zur Überwachung
verschiedener Arten von Ereignissen, die zwischen den über Bus
kommunizierenden Geräten
auftreten, umfasst die Einchip-Schaltungsanordnung
auch eine rekonfigurierbare Schaltung, die zur Überwachung der Signale, die
auf dem Kommunikationskanal gesendet werden, an den Kommunikationskanal
angeschlossen ist. Die CPU-Schaltung ist dafür ausgelegt und programmiert,
mit den anderen über
Bus kommunizierenden Geräten über einen Kommunikationskanal
zu kommunizieren und dafür eingerichtet,
die rekonfigurierbare Schaltung zur Überwachung eines Ereignisses
oder Ereignistyps, das/der z.B. von der CPU ausgewählt ist
und dessen Auftreten im Kommunikationskanal erwartet wird, zu konfigurieren Überein stimmend
mit ihrer Konfigurierung ist die rekonfigurierbare Schaltung zur Überwachung
auf das Ereignis und zur Rückmeldung
an die CPU-Schaltung, dass das Ereignis erkannt wurde, eingerichtet.
Mit Hilfe dieser Rückmeldung
von der rekonfigurierbaren Schaltung ermittelt die CPU-Schaltung,
welche Aktion gegebenenfalls erforderlich ist und reagiert, indem
sie die rekonfigurierbare Schaltung für weiteres Überwachen zusätzlicher Ereignisse
des gleichen Typs und/oder eines anderen Ereignistyps, deren Auftreten
im Kommunikationskanal erwartet wird, rekonfiguriert.
-
Die
Ereignisse, die überwacht
werden können,
variieren je nach der Anwendung und sogar je nach der dynamischen
Aktivität,
die über
den Kommunikationskanal (oder Bus) fließt. Je nach der Anwendung können diese
Signale alle oder eine beliebige Untergruppe der Steuerungs-, Daten-
und Adresssignale umfassen. Beispielsweise werden in einer Anwendung
nur die Steuer- und Adresssignale auf Aktivität wie etwa die Häufigkeit
von und/oder die Zeit zwischen bestimmten Dienstabfragen von einem bestimmten
Peripheriegerät,
das an den Kommunikationsbus angeschlossen ist, überwacht; in dieser Anwendung
muss die rekonfigurierbare Schaltung die Datenleitungen des Kommunikationsbusses
nicht überwachen
oder gar an sie angeschlossen sein. In einer anderen Anwendung wird
jedes der Steuer-, Adress- und Datensignale auf Aktivität überwacht
wie etwa auf eine bestimmte Anzahl, mit der ein spezieller Code
an ein konkretes Peripheriegerät
geschrieben wird; in dieser Anwendung überwacht die rekonfigurierbare
Schaltung jede der Datenleitungen des Kommunikationsbusses.
-
Die
oben genannte beispielhafte Ausführungsform
ist auf verschiedene Busgekoppelte Datenverarbeitungsanordnungen
anwendbar, in denen auf einen oder mehrere getaktete Schaltungsblöcke zugegriffen
wird, mit Hilfe von Schaltungsblockadressierung durch einen anderen
Schaltungsblock, der von diesen über
einen Bus, welcher überwacht
werden kann, Daten abfordert. In dieser Hinsicht ist die vorliegende
Erfindung nicht zwangsläufig
auf parallele Kommunikationsbusse beschränkt, sondern kann auch serielle
Kommunikationsanordnungen umfassen, wie etwa die in den Protokollen 12C und
RS232 spezifizierten In Hinsicht auf verschiedene parallele Verbindungen
sind die Ausführungsformen
der vorliegenden Erfindung zum Beispiel auf Verarbeitungsanordnungen
gerichtet, die die Advanced Microcontroller Bus Archicture („AMBA"), den AMBA-Advanced Periphal
Bus („APB"), Hochgeschwindigkeits-Busse wie
den Advanced High-performance Bus („AHB") und andere Arten von ARM-basierten
Datenverarbeitungsanordnungen verwenden Andere Ausführungsformen
der vorliegenden Erfindung sind auf den CoreConnect Einchip-Bus
von IBM und den IP-Bus von Motorola und auf andere CPU-Anordnungen
für Hochleistungsdatenbusse
gerichtet, wie nachstehend erläutert.
-
Nunmehr
mit Bezug auf die Figuren und gemäß der vorliegenden Erfindung
stellt 1 eine beispielhafte Anordnung einer CPU-basierten
Datenkommunikationsanordnung dar, in der ein Bus- (oder „Kommunikationskanal-")Wächter 100 die
Kommunikation zwischen verschiedenen Schaltungsblöcken 110, 112 usw.
und die kommunikativ angeschlossene CPU-Schaltung 120 überwacht.
Die beispielhafte Anordnung der 1 umfasst
ferner herkömmliche
Arbiter- und Decodierschaltungen 122 und 124 und
die Taktsteuerungsschaltung 126, die Taktsignale für Statusvorschub- und Buskommunikationszeitsteuerungsfunktionen
für die
Bus-gekoppelten Geräte
bereitstellt. Wenn Geräte
um die Ansteuerung des Kommunikationskanal konkurrieren, wie durch
den Steuer-/Adressbus 130 und den Datenbus 132 dargestellt,
entscheidet die Arbiterschaltung 122, welches Gerät den Zugriff
erhält.
Die Decodierschaltung 124 führt die Speichermapping-Funktionen
für die
Kommunikation in Verbindung mit der CPU-Schaltung 120 aus.
-
Die
Schaltungsblöcke
110,
112 usw.
bilden generisch Schaltungen ab, die auf dem Bus kommunizieren können. Diese
Blöcke
können
handelsüblich verfügbare und/oder
anwendungs- oder kundenspezifische Funktionsblöcke sein. In einer beispielhaften Anwendung
ist der Kommunikationskanal wie im Standard Advanced System Bus
(ASB) oder dem Bus VLSI Peripheral Bus (VPB) spezifiziert umgesetzt,
und jeder dieser Blöcke
ist zur Kommunikation gemäß dem geltenden
ASB- oder VPB-Standard realisiert, um mit Hilfe einer Master/Slave-Beziehung eine
ordnungsgemäße Kommunikation
durchzuführen.
Die Master/Slave-Kommunikation kann in einer Anzahl von Möglichkeiten
umgesetzt sein, einschließlich
der Nutzung des Ansatzes, der in Verbindung mit der US-Patentschrift
mit dem Titel Method And Arrangement For Passing Data Between A
Reference Chip And An External Bus, Nr.
6,154,803 auf Pontius u.a. beschrieben
ist. In diesem Zusammenhang ist der Master das Gerät oder der
Zugriffsschaltungsblock, der die Kommunikation in Gang setzt, und
der Slave ist der angesteuerte Reagierende oder ein über den
Bus angeschlossener Schaltungsblock innerhalb der Schaltung
100)
der in Gang gesetzten Kommunikation; gemäß dem anwendbaren Standard gestattet
es der Arbiter
122, dass die Steuerung bei dem Master verbleibt.
-
In
dieser beispielhaften Anordnung wird die Buswächterschaltung 100 (bei
der es sich um einen Mikroprozessor, einen Mikrocomputer oder ein
anderes logisches Gerät
handeln kann) von der CPU-Schaltung 120 dafür konfiguriert,
den Kommunikationskanal auf erwartete (einschließlich möglicher) Ereignisse zu überwachen,
die von allen oder einer Untergruppe der Steuer-, Adress- und Datenleitungen
und/oder vorhergehenden Zuständen
des Kommunikationskanals definiert sind. Als Reaktion auf das Erkennen
eines Buszustands, für
den die Buswächterschaltung 100 konfiguriert
wurde, meldet die Buswächterschaltung 100 über einen
Rückmeldungspfad 140 an
die CPU-Schaltung 120 zurück. Der Rückmeldungspfad 140 kann
beispielsweise als eine Interrupt-Leitung umgesetzt sein, die an
einen Interrupt Port der CPU-Schaltung 120 angeschlossen
ist, als von der CPU abgefragte Daten über den Bus 132, in
dem die CPU-Schaltung 120 Rückmeldedaten von der Buswächterschaltung 100 anspricht und
ausliest, oder durch die Verwendung einer separaten Leitung, die
an einen speziellen Daten-I/O-Port der CPU-Schaltung 120 angeschlossen
ist. Als Reaktion kann die CPU-Schaltung 120 dann
die zurückgemeldeten
Daten hinsichtlich dieses überwachten Zustands
auswerten und bestimmen, welche Aktion gegebenenfalls die Aufgaben
weiter erleichtern würde,
die der CPU-Schaltung 120 und/oder den dazugehörigen, über den
Bus angeschlossenen Geräten zugewiesen
sind.
-
Typisch
reagiert die CPU-Schaltung 120, indem sie die rekonfigurierbare
Schaltung dafür
rekonfiguriert, auf zusätzliche
Ereignisse der gleichen oder einer anderen Zustandsart weiter auf
dem Kommunikationskanal zu überwachen.
Beispiele eines solchen reaktionsfähigen Kommunikationsmanagements
in der Anordnung der 1 umfassen das Erhöhen oder
Verringern der Taktfrequenz des Kommunikationskanals, um Bandbreitenanforderungen
zu erfüllen
oder um Strom zu sparen.
-
2 stellt
eine beispielhafte Umsetzung eines Kommunikationskanalwächters 200 für eine Anordnung
paralleler Datenbusse wie etwa die Busse 130 und 132 der 1 dar.
Der Wächter 200 umfasst programmierbare
Konfigurierungslogik 210, die für ihre erste und für darauf
folgende Konfigurierungen Daten über
den Datenbus 132 empfängt.
Eine Schaltung 212 mit einer oder mehreren Registerdateien wird
verwendet, um Konfgurierungsbits zu bereitzuhalten, die einem zu überwachenden
Ereignis entsprechen. Diese Konfigurierungsbits werden dann derart
decodiert, dass sie entsprechende erwartete Signale vorlegen, auf
die überwacht
werden soll, indem diese erwarteten Signale mit den aktiven Bussignalen
(Steuer-, Adress- und/oder Datensignale), welche dem Wächter 200 direkt
aus dem Kommunikationskanal zugeführt werden, verglichen werden. Mit
Hilfe der Steuerungslogik 216 für die Koordinierung der Signallieferung
und der Taktung bestimmen logische Decodier/Vergleichsschaltungen 214 oder 218,
ob die überwachten
Signale mit den Signalen übereinstimmen,
für deren Überwachung
der Wächter 200 konfiguriert
wurde, wie in die programmierbare Konfigurierungslogik 210 einprogrammiert.
Unmittelbare Rückmeldungen über eine Übereinstimmung oder
wenn der Zähler
gleich einem festgelegten Wert ist, wie sie von der logischen Decodier/Vergleichsschaltung 218 ausgegeben
werden, werden über
einen Interrupt Treiber 220 bereitgestellt. In anderen Anwendungen
kann eine Übereinstimmung
verwendet werden, um einfach den Zähler zu inkrementieren, zu
stoppen oder zu starten, wobei der Zähler wie oben beschrieben überwacht
wird oder lediglich nach einer gewissen Zeitspanne ausgelesen wird.
-
Ein
anderer Aspekt des Wächters 200 ist
seine Fähigkeit,
die Anzahl einer bestimmten Art von Ereignis oder Ereignissen zu
zählen
wie es in die programmierbare Konfigurierungslogik 210 einprogrammiert
ist. Zu diesem Zweck aktiviert die Steue rungslogik 216 auch
die Zählerschaltung 232,
die ein jedes solches Ereignis zählt
oder den Zähler
als Reaktion auf ein solches Ereignis startet oder stoppt. In einer anderen
Ausführungsform
werden mehrere Zähler mit
mehreren Komparatoren verwendet, um verschiedene Ereignisse gleichzeitig
zu überwachen. Man
wird verstehen, dass die Zählerschaltung 232 mehr
als einen Zähler
umfassen kann, wobei jeder Zähler
zum Zählen
eines anderen Ereignisses, das auf dem Bus auftritt, zugewiesen
ist.
-
Die
vorliegende Erfindung sollte nicht als auf die oben beschriebenen
konkreten Beispiele beschränkt
betrachtet werden. Verschiedene Modifizierungen, äquivalente
Prozesse sowie zahlreiche Strukturen, auf die die vorliegende Erfindung
anwendbar ist, sind im Schutzumfang der vorliegenden Erfindung enthalten.
Beispielsweise können
Mehrfachchip- oder Einchip-Anordnungen unter Verwendung einer ähnlich konstruierten
Einwelt oder Zweiweg-Schnittstelle zur Kommunikation zwischen den Chipsatzanordnungen
umgesetzt sein. Solche Varianten können als Teil der beanspruchten
Erfindung betrachtet werden, wie sie in den beigefügten Ansprüchen angemessen
dargelegt ist.