DE60222274T2 - Adaptive überwachung von bussignalen - Google Patents

Adaptive überwachung von bussignalen Download PDF

Info

Publication number
DE60222274T2
DE60222274T2 DE60222274T DE60222274T DE60222274T2 DE 60222274 T2 DE60222274 T2 DE 60222274T2 DE 60222274 T DE60222274 T DE 60222274T DE 60222274 T DE60222274 T DE 60222274T DE 60222274 T2 DE60222274 T2 DE 60222274T2
Authority
DE
Germany
Prior art keywords
circuit
communication channel
cpu
event
reconfigurable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60222274T
Other languages
English (en)
Other versions
DE60222274D1 (de
Inventor
Gregory E. Ehmann
Swati Saxena
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP BV
Original Assignee
NXP BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NXP BV filed Critical NXP BV
Application granted granted Critical
Publication of DE60222274D1 publication Critical patent/DE60222274D1/de
Publication of DE60222274T2 publication Critical patent/DE60222274T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Description

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

Claims (9)

  1. Verfahren zur Überwachung von Signalen auf einem Kommunikationskanal in einer Schaltungsanordnung (1) mit einer CPU-Schaltung (120), die mit einem anderen Gerät über den Kommunikationskanal (130, 132) kommuniziert, wobei das Verfahren Folgendes umfasst: – Bereitstellen einer rekonfigurierbaren Schaltung (100), die mit dem Kommunikationskanal verbunden ist, – Verwendung der CPU-Schaltung zum Konfigurieren der rekonfigurierbaren Schaltung zur Überwachung eines ersten, auf dem Kommunikationskanal auftretenden Ereignistyps, – in der rekonfigurierbaren Schaltung das Sammeln von Signalen, die auf dem Kommunikationskanal zwischen der CPU-Schaltung und dem anderen Gerät gesendet werden, über den Kommunikationskanal, und Rückmelden von Daten an die CPU-Schaltung, die den ersten Ereignistyp anzeigen, der auf dem Kommunikationskanal auftritt, dadurch gekennzeichnet, dass die CPU-Schaltung verwendet wird, um die rekonfigurierbare Schaltung als Reaktion auf die Daten, die das überwachte Ereignis anzeigen, zu rekonfigurieren, wobei die rekonfigurierbare Schaltung zur Überwachung auf einen anderen, auf dem Kommunikationskanal auftretenden Ereignistyp rekonfiguriert wird und danach die auf dem Kommunikationskanal gesendeten Signale für das andere Ereignis gesammelt und ausgewertet werden
  2. Verfahren nach Anspruch 1, wobei die rekonfigurierbare Schaltung einen programmierbaren Prozessor umfasst (210).
  3. Verfahren nach Anspruch 1, wobei das Bereitstellen einer rekonfigurierbaren Schaltung, die dafür eingerichtet ist, mindestens einen, auf dem Kommunikationskanal auftretenden Ereignistyp zu messen, das Konfigurieren der rekonfigurierbaren Schaltung für das Zählen (232) mindestens eines Ereignisses umfasst.
  4. Schaltungsanordnung, die Folgendes umfasst: – eine CPU-Schaltung (120), die dafür eingerichtet ist, über einen Kommunikationskanal mit einem anderen Gerät zu kommunizieren, – eine rekonfigurierbare Schaltung (210), die an den Kommunikationskanal (130, 132) angeschlossen und dafür eingerichtet ist, Signale, die auf dem Kommunikationskanal gesendet werden, zu sammeln, wobei die CPU-Schaltung (120) dafür eingerichtet ist, die rekonfigurierbare Schaltung zur Überwachung eines ersten, auf dem Kommunikationskanal auftretenden Ereignistyps zu konfigurieren, wobei die rekonfigurierbare Schaltung dafür eingerichtet ist, auf die CPU-Schaltung zu reagieren, indem sie auf den erste Ereignistyp überwacht, der während der Kommunikation zwischen der CPU-Schaltung (120) und dem anderen Gerät auf dem Kommunikationskanal auftritt, und indem sie Daten an die CPU-Schaltung zurückmeldet, die das erste Ereignis anzeigen, dadurch gekennzeichnet, dass die CPU-Schaltung ferner dafür eingerich tet ist, auf die Daten, die den überwachten Ereignistyp anzeigen, zu reagieren, indem sie die rekonfigurierbare Schaltung dafür rekonfiguriert, auf einen anderen, auf dem Kommunikationskanal auftretenden Ereignistyp zu überwachen und danach die auf dem Kommunikationskanal gesendeten Signale für das andere Ereignis zu sammeln und auszuwerten.
  5. Schaltungsanordnung nach Anspruch 4, wobei die rekonfigurierbare Schaltung einen Zähler (232) umfasst
  6. Schaltungsanordnung nach Anspruch 4, wobei die rekonfigurierbare Schaltung eine Schaltung (214) enthält, die dafür eingerichtet ist, Konfigurierungsdaten zu decodieren, indem sie erwartete Signale, die auf dem Kommunikationskanal zu überwachenden Ereignissen entsprechen, vorlegt, sowie eine Komparatorschaltung (218), die dafür eingerichtet ist, die gesammelten Signale mit den erwarteten Signalen zu vergleichen.
  7. Schaltungsanordnung nach Anspruch 6, die ferner Unterbrechungsmittel (220) zum Unterbrechen der CPU-Schaltung als Reaktion auf die gesammelten Signale, die mit den erwarteten Signalen übereinstimmen, umfasst
  8. Schaltungsanordnung nach Anspruch 4, die ferner Unterbrechungsmittel (220) zum Unterbrechen der CPU-Schaltung als Reaktion auf die gesammelten Signale, die mit den erwarteten Signalen übereinstimmen, umfasst.
  9. Schaltungsanordnung nach Anspruch 1, wobei die CPU-Schaltung Mittel (140) zur Abfrage der rekonfigurierbaren Schaltung umfasst, um die CPU-Schaltung zu befähigen, die Daten auszulesen, die das erste Ereignis anzeigen
DE60222274T 2001-08-29 2002-08-21 Adaptive überwachung von bussignalen Expired - Lifetime DE60222274T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US942129 2001-08-29
US09/942,129 US6931524B2 (en) 2001-08-29 2001-08-29 System for bus monitoring using a reconfigurable bus monitor which is adapted to report back to CPU in response to detecting certain selected events
PCT/IB2002/003415 WO2003019379A2 (en) 2001-08-29 2002-08-21 Adaptively monitoring bus signals

Publications (2)

Publication Number Publication Date
DE60222274D1 DE60222274D1 (de) 2007-10-18
DE60222274T2 true DE60222274T2 (de) 2008-01-03

Family

ID=25477618

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60222274T Expired - Lifetime DE60222274T2 (de) 2001-08-29 2002-08-21 Adaptive überwachung von bussignalen

Country Status (6)

Country Link
US (1) US6931524B2 (de)
EP (1) EP1421496B1 (de)
JP (1) JP4180513B2 (de)
AT (1) ATE372547T1 (de)
DE (1) DE60222274T2 (de)
WO (1) WO2003019379A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018220324A1 (de) 2018-11-27 2020-05-28 Audi Ag Verfahren zur Überwachung eines Datenübertragungssystems, Datenübertragungssystem und Kraftfahrzeug

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970809B2 (en) * 2001-08-29 2005-11-29 International Business Machines Corporation Automated configuration of on-circuit facilities
JP3900470B2 (ja) * 2002-01-08 2007-04-04 インターナショナル・ビジネス・マシーンズ・コーポレーション ディジタル信号測定装置及びトラフィック観測方法
EP1683021A2 (de) * 2003-10-27 2006-07-26 Koninklijke Philips Electronics N.V. Integrierte schaltung mit einer messeinheit zur messung der ausnutzung eines kommunikationsbusses
KR20050076924A (ko) * 2004-01-26 2005-07-29 삼성전자주식회사 양방향 통신이 가능한 i2c 통신시스템 및 그 방법
KR20050079563A (ko) * 2004-02-06 2005-08-10 삼성전자주식회사 응답 지연 시간을 단축시킨 버스 시스템
US7719965B2 (en) * 2004-08-25 2010-05-18 Agilent Technologies, Inc. Methods and systems for coordinated monitoring of network transmission events
US7219177B2 (en) * 2004-11-23 2007-05-15 Winbond Electronics Corp. Method and apparatus for connecting buses with different clock frequencies by masking or lengthening a clock cycle of a request signal in accordance with the different clock frequencies of the buses
US20060161689A1 (en) * 2005-01-18 2006-07-20 Hewlett-Packard Development Company, L.P. Apparatus and systems for monitoring communication
JP4683034B2 (ja) * 2007-10-31 2011-05-11 ソニー株式会社 電力供給システム、モニター装置、モニター方法およびコンピュータプログラム
JP5119882B2 (ja) * 2007-11-21 2013-01-16 富士通株式会社 メモリクロック設定機能を有する情報処理装置およびメモリクロック設定方法
US20100218171A1 (en) * 2009-02-26 2010-08-26 Computer Measurement Laboratory, Inc. Computer bus monitoring for the adaptive control of executing software processes
JP5553111B2 (ja) * 2010-09-02 2014-07-16 富士通株式会社 ノードコントローラ、ノードコントローラの制御方法及びコンピュータシステム
JP5821041B2 (ja) 2011-02-10 2015-11-24 富士通株式会社 データ転送装置およびストレージ装置
JP5744650B2 (ja) * 2011-07-06 2015-07-08 オリンパス株式会社 バスモニタ装置、バスモニタ方法、およびプログラム
US8930737B2 (en) 2011-12-13 2015-01-06 Omx Technology Ab Method and devices for controlling operations of a central processing unit
US10534743B2 (en) * 2013-10-30 2020-01-14 Advanced Micro Devices, Inc. Method and apparatus for providing performance data over a debug bus
DE102018101103A1 (de) * 2018-01-18 2019-07-18 Volkswagen Aktiengesellschaft Verfahren und Computerprogramme für eine Überwachungsinstanz und eine Kommunikationskomponente, Überwachungsinstanz, Kommunikationskomponente, System und Fahrzeug

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4085448A (en) * 1976-10-04 1978-04-18 International Business Machines Corporation Data communication bus structure
US5029070A (en) * 1988-08-25 1991-07-02 Edge Computer Corporation Coherent cache structures and methods
JPH05216820A (ja) * 1992-01-31 1993-08-27 Nec Corp バス監視装置
JP3528094B2 (ja) * 1994-02-09 2004-05-17 株式会社日立製作所 バス利用方法および記憶制御装置
JPH09160843A (ja) * 1995-12-04 1997-06-20 Mitsubishi Electric Corp ハードウェア診断方法およびその装置
US5729678A (en) * 1996-03-04 1998-03-17 Ag Communication Systems Corporation Bus monitor system
US5778194A (en) * 1996-04-08 1998-07-07 Symbios, Inc. Method and apparatus for measuring performance of a computer bus
US6112318A (en) 1997-08-11 2000-08-29 Digital Equipment Corporation Performance counters controlled by programmable logic
US6618775B1 (en) * 1997-08-15 2003-09-09 Micron Technology, Inc. DSP bus monitoring apparatus and method
US6233531B1 (en) * 1997-12-19 2001-05-15 Advanced Micro Devices, Inc. Apparatus and method for monitoring the performance of a microprocessor
EP0997819B1 (de) * 1999-08-06 2001-10-31 Agilent Technologies, Inc. (a Delaware corporation) Dynamische Ereigniserkennung
US6760852B1 (en) * 2000-08-31 2004-07-06 Advanced Micro Devices, Inc. System and method for monitoring and controlling a power-manageable resource based upon activities of a plurality of devices
US6751753B2 (en) * 2001-02-27 2004-06-15 Sun Microsystems, Inc. Method, system, and program for monitoring system components

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018220324A1 (de) 2018-11-27 2020-05-28 Audi Ag Verfahren zur Überwachung eines Datenübertragungssystems, Datenübertragungssystem und Kraftfahrzeug
WO2020109200A1 (de) 2018-11-27 2020-06-04 Audi Ag Verfahren zur überwachung eines datenübertragungssystems, datenübertragungssystem und kraftfahrzeug
US11902300B2 (en) 2018-11-27 2024-02-13 Audi Ag Method for monitoring a data transmission system, data transmission system and motor vehicle

Also Published As

Publication number Publication date
JP4180513B2 (ja) 2008-11-12
EP1421496A2 (de) 2004-05-26
ATE372547T1 (de) 2007-09-15
US20030046522A1 (en) 2003-03-06
JP2005501337A (ja) 2005-01-13
WO2003019379A2 (en) 2003-03-06
US6931524B2 (en) 2005-08-16
DE60222274D1 (de) 2007-10-18
EP1421496B1 (de) 2007-09-05
WO2003019379A3 (en) 2003-09-18

Similar Documents

Publication Publication Date Title
DE60222274T2 (de) Adaptive überwachung von bussignalen
DE69936060T2 (de) Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten
EP0929041B1 (de) Verfahren und Anordnung zum Betreiben eines Bussystems
DE102008060790B4 (de) Debugging-System
DE69932400T2 (de) Steuerungsvorrichtung für einen Portverwalter zur Verbindung von verschiedenen Funktionsmodulen
DE69836426T2 (de) Steuergerät für einen universellen seriellen Bus
DE3587378T2 (de) Abtastloser Nachrichtenkonzentrator und Multiplexer.
DE68922784T2 (de) Mehrfachbus-Mikrorechnersystem mit Busarbitrierung.
DE10234991B4 (de) Hostcontrollerdiagnose für einen seriellen Bus
DE69915838T2 (de) Computergestützte kraftfahrzeugserviceeinrichtung mit einer seriellen multipointdatenübermittlungsverbindung
DE112006001643B4 (de) Verfahren und Vorrichtung zum Aushandeln von Punkt-zu-Punkt-Verbindungen
DE3688763T2 (de) Mehrfachport-Übertragungsadaptiervorrichtung.
DE19680668C2 (de) Verfahren zum Überbrücken zweier Busse, transparente Brücke zum Koppeln zwischen zwei Bussen und Anordnung mit einem Computersystem
DE3650036T2 (de) Mehrfachport-Diensterweiterungsadapter für Übertragungssteuerung.
DE19900369B4 (de) Vorrichtung zum Anschluß an einen Universal Serial Bus (USB) und Verfahren zum Betreiben eines Steuerendpunktes an einem Universal Serial Bus (USB)
DE69533599T2 (de) Leistungssteuerung in einem asynchronen Sender/Empfänger
DE19900345B4 (de) Schnittstellenmodul für einen Universellen Seriellen Bus (USB) zur Verbindung mit einem USB über eine Programmierschnittstelle für eine USB-Funktion und Vorrichtung zum Anschluß an einen universellen seriellen Bus
DE102009043411B4 (de) Bereitstellen eines Zurückstellungsmechanismus für "gepostete" Interrupt-Transaktionen
DE19828620B4 (de) Während des Betriebs aufteilbarer Computerbus für einen verbesserten Betrieb mit sich ändernden Bustaktfrequenzen
DE112011103225B4 (de) Schaltkreisvorrichtung, System und Verfahren mit Drosseln einer integrierten Verbindung
DE112013003766T5 (de) Schnelles Entzerren beim Verlassen eines Niedrigenergie-Teilbreite-Hochgeschwindigkeitsverbindungszustands
DE19749068A1 (de) Verfahren und Vorrichtung zur Überwachung eines Rechnersystems bestehend aus wenigstens zwei Prozessoren
DE102021121490A1 (de) Annähernde datenbusinversionstechnik für latenzempfindliche anwendungen
DE3807451A1 (de) Datenuebertragungs-steuereinheit
DE10224163A1 (de) Transaktionsdauermanagement in einem USB-Hostcontroller

Legal Events

Date Code Title Description
8364 No opposition during term of opposition