DE60210438T2 - Verfahren und Gerät zur Verminderung der Busschaltaktivität und Rechnerprogrammprodukt - Google Patents

Verfahren und Gerät zur Verminderung der Busschaltaktivität und Rechnerprogrammprodukt Download PDF

Info

Publication number
DE60210438T2
DE60210438T2 DE60210438T DE60210438T DE60210438T2 DE 60210438 T2 DE60210438 T2 DE 60210438T2 DE 60210438 T DE60210438 T DE 60210438T DE 60210438 T DE60210438 T DE 60210438T DE 60210438 T2 DE60210438 T2 DE 60210438T2
Authority
DE
Germany
Prior art keywords
pattern
data
bus
format
switching activity
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
DE60210438T
Other languages
English (en)
Other versions
DE60210438D1 (de
Inventor
Giuseppe Visalli
Francesco Pappalardo
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.)
STMicroelectronics SRL
Original Assignee
STMicroelectronics SRL
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 STMicroelectronics SRL filed Critical STMicroelectronics SRL
Application granted granted Critical
Publication of DE60210438D1 publication Critical patent/DE60210438D1/de
Publication of DE60210438T2 publication Critical patent/DE60210438T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf Verfahren zum Steuern der Schaltaktivität (SA) auf Bussen, wobei es sich sowohl um breite als auch um schmale Busse handeln kann.
  • Beschreibung des Standes der Technik
  • Die Verringerung der Gesamtschaltaktivität auf Bussen ist ein Thema, dem schon weit reichende Forschungsarbeit gewidmet wurde, wobei das Hauptziel darin besteht, die Leistungsaufnahme zu verringern und allgemein negative Erscheinungen im Zusammenhang mit dem kapazitiven Verhalten der physikalischen Struktur des Busses zu verhindern.
  • Ein häufig eingesetztes Verfahren besteht darin, den Strom von Eingabedaten mit einer reversiblen Codierung zu codieren, weshalb dann auch eine Decodierung möglich ist.
  • Das Verfahren, das derzeit als das "businvertierte" (BI) Verfahren bekannt ist, wird am häufigsten eingesetzt, was sowohl an seiner einfachen Umsetzung als auch an seiner guten Leistung liegt, vor allem für den Fall, dass die Gesamtzahl von Leitungen des Busses klein ist. Dieses Verfahren ist auch in dem Fall asynchroner Busse nützlich. Die WO02/39290 offenbart ein derartiges "businvertiertes" Verfahren.
  • Aufgabe und Zusammenfassung der Erfindung
  • Aufgabe der vorliegenden Erfindung ist es daher, eine verbesserte Lösung zum Verringern der Schaltaktivität auf Bussen vorzusehen.
  • Gemäß der vorliegenden Erfindung wird dieses Ziel mit einem Verfahren erreicht, das die Merkmale aufweist, die insbesondere in den beiliegenden Ansprüchen aufgeführt sind. Die Erfindung bezieht sich auch auf die entsprechende Vorrichtung sowie auch auf ein Computerprodukt, das direkt in den Speicher eines digitalen Prozessors geladen werden kann, der einem Bus zugeordnet ist, wobei das Computerprodukt Teile von Softwarecode umfasst, um den erfindungsgemäßen Prozess umzusetzten, wenn das Computerprodukt auf einem Prozessor läuft, der einem Bus zugeordnet ist.
  • Im Grunde genommen basiert die erfindungsgemäße Lösung darauf, dass die Eingangsleitungen des Busses in einem bestimmten Sortierungsmuster geschaltet werden. Vorzugsweise wird das beste Muster gewählt, um so einen kleinsten Differenzwert (hinsichtlich der Schaltaktivität) zwischen der aktuell stattfindenden Übertragung B(t) und der vorhergehenden Übertragung B(t – 1) zu verursachen.
  • Kurze Beschreibung der beiliegenden Zeichnungen
  • Es folgt eine Beschreibung der Erfindung lediglich als nicht einschränkendes Beispiel anhand der beiliegenden Zeichnungen. Es zeigt:
  • 1 allgemein die Betriebskriterien eines Funktionsmoduls, das im Zusammenhang der Erfindung eingesetzt werden kann,
  • die 2 und 3 zusätzliche Blockschaltpläne, welche die Übertragung von Information veranschaulichen, die im Betrieb des in 1 gezeigten Blocks inhärent ist,
  • die 4 und 5 mögliche Vorgehensweisen bei der Umsetzung von Funktionsblöcken, die im Zusammenhang der Erfindung eingesetzt werden können,
  • die 6 bis 8 verschiedene Blockschaltpläne von Empfängern, die im Zusammenhang mit der Erfindung eingesetzt werden können,
  • die 9 bis 11 in komplementärer Weise entsprechende Senderstrukturen, und
  • die 12 und 13 weitere vorteilhafte Entwicklungen der vorliegenden Erfindung.
  • Detaillierte Beschreibung einiger Ausführungsformen der Erfindung
  • Im Wesentlichen basiert die erfindungsgemäße Lösung auf der Verwendung eines Austauschoperators 10, der gemäß den in 1 veranschaulichten Kriterien betrieben wird.
  • Im Folgenden wird der in den Operator 10 zum Zeitpunkt t eingegebene Datenstrom mit b(t) bezeichnet, während der entsprechende Datenstrom am Ausgang mit B(t) bezeichnet wird. Pt soll allgemein das Sortierungsmuster bezeichnen, das vom Austauschmodul oder vom insgesamt mit 10 bezeichneten Block angewendet wird.
  • Wenn die Datenströme von N = 2n Bits repräsentiert werden, wird das Sortierungsmuster Pt durch N Stellen von jeweils n Bits dargestellt. Die einzelnen Werte, die das Sortierungsmuster annehmen kann, sind lediglich N! (faktoriell).
  • In dem in 1 gezeigten spezifischen Fall ist der Eingabedatenstrom mit 0110 bezeichnet, während der Ausgangsstrom B(t) mit 1001 bezeichnet ist.
  • Das Sortierungsmuster (das sich auf die Positionen der mit 0, 1, 2, 3 nummerierten Eingabe- und Ausgabebits bezieht) hat den Ausdruck 2-3-0-1.
  • Mit anderen Worten bedeutet das Muster 2-3-0-1, dass:
    • – das Eingabebit der Position 0 zum Ausgabebit der Position 2 wird;
    • – das Eingabebit der Position 1 zum Ausgabebit der Position 3 wird;
    • – das Eingabebit der Position 2 zum Ausgabebit der Position 0 wird; und
    • – das Eingabebit der Position 3 zum Ausgabebit der Position 1 wird.
  • Allgemeiner ausgedrückt kann das Austauschmodul als ein Operator ausgedrückt werden, der eine Beziehung des folgenden Typs anwendet: B(t) = S(b(t), Pt).
  • Der Austauschoperator erlaubt allgemein auch eine inverse Funktion S–1, so dass: b(t) = S–1(B(t), Pt).
  • Die direkte und die inverse Austauschoperation können unter der Verwendung derselben Funktion implementiert werden, indem zwei verschieden Muster angewendet werden, die durch eine Eineindeutigkeit verknüpft sind b(t) = S–1(B(t), Pt) = S(B(t), Pt –1).
  • Aus dem Obigen geht hervor, dass es unter der Voraussetzung eines Eingabedatenstroms b(t) möglich ist, N! Versuche zum Messen der Schaltaktivität (SA) zwischen den vorhergehenden Ausgabedatenströmen B(t – 1) und einer bestimmten "aktuellen" Versuchsfunktion B'(t) zu machen.
  • Zum Beispiel kann eine Messung der Schaltaktivität SA unter Rückgriff auf die Hammingdistanz ausgedrückt werden, die auf die Exklusiv-Oder-Funktion zwischen B(t – 1) und B(t) angewendet wird. minp–SA(p) = minp–H[B(t – 1) ⊕ B(t)] ⇒ Pt.
  • Es gibt verschiedene Freiheitsgrade für die Wahl von B(t), doch hängt die Funktion spezifisch von der aktuell anliegenden Eingabe b(t) und dem aktuellen Muster Pt ab.
  • Der Sender, dem die Funktion des Übertragens des Ausgabebits auf dem Bus übertragen ist, kann daher die Ausgabe generieren, wenn er N! Versuche unternommen hat, und schließlich das Muster Pt nutzen, das zu der kleinsten Schaltaktivität geführt hat.
  • Wenn N jedoch nicht klein ist, wird die Anzahl von Versuchsschritten sehr groß, und diese Tatsache zwingt den betreffenden Sender dazu, mit einer Frequenz zu arbeiten, die viel höher als diejenige des Bustaktes ist.
  • Daraus folgt, dass dieses Verfahren, das an sich funktionsfähig ist, auf eine Weise eingesetzt werden kann, die nur bei einem Bus mit einem ziemlichen langsamen Takt auch ganz zufriedenstellend ist.
  • Um diesen Nachteil zu überwinden, ist es möglich, mit einer Teilmenge erlaubter Muster zu arbeiten und eine parallele Verarbeitung zu verwenden, welche die Fläche des Siliziums vergrößert, die vom Sender eingenommen wird. Wenn außerdem der Wert von N groß ist, so wächst die Anzahl von Bits, welche das Muster Pt repräsentiert, exponentiell.
  • Es ist jedoch auch möglich, einen breiten Bus mit N Bits in eine Teilmenge schmaler Busse aufzuteilen, von denen jeder mit M Bits betrieben wird, wobei M viel kleiner als N ist. Für die verschiedenen schmalen Busse ist es dann möglich, das selbe Muster zu verwenden und gemäß der kleinsten Gesamtschaltaktivität das optimale Muster zu wählen, wobei mit "gesamt" hier die Schaltaktivität aller N/M Busse gemeint ist.
  • Um die empfangenen Daten korrekt wiederherstellen zu können, muss bei der Übertragung von Daten auf dem Bus das Muster Pt vom Modul, das als der Sender auftritt, zu dem Modul übertragen werden, das als Empfänger fungiert.
  • Bei den Leitungen, die zum Ansteuern des Austauschmoduls verwendeten werden (wobei wieder auf das Austauschmodul 10 von 1 Bezug genommen wird), welches das Muster M·log2M repräsentiert, kann ganz einfach angenommen werden, dass M (Tiefe des Clusters) eine Zweierpotenz ist.
  • Eine Anzahl von Leitungen dieser Art ist tatsächlich redundant, da es nämlich nötig ist, lediglich M! unterschiedliche Zustände zu repräsentieren. Während der Übertragung können die Muster daher auf die Anzahl von Leitungen komprimiert werden, die streng genommen zum Repräsentieren von M! verschiedenen Werten nötig ist. Daraus folgt, dass die Anzahl zusätzlicher Leitungen, die zu diesem Zweck nötig ist, aus der ersten ganzen Zahl hervorgeht, die größer als log2M! ist.
  • Vor der Verwendung der Austauscheinheit dekomprimiert der Decoder auf M·log2M Bits die das Muster repräsentierenden Eingangsleitungen.
  • Die Module, welche die Komprimierungs-Dekomprimierungs-Funktion umsetzen, können als einfache kombinatorische Logiknetze konfiguriert sein, die dazu konstruiert sind, eine Wahrheitstabelle einzusetzen, und keine Flip-Flops enthalten.
  • 2 ist eine schematische Darstellung in der Form eines Blockschaltbilds der Logik, die zum Senden und Empfangen der das Muster betreffenden Information verwendet wird, die auf speziellen zusätzlichen Busleitungen übertragen wird.
  • Im Schaltplan von 2 bezeichnen die Bezugszeichen TX und RX das Sendeende bzw. das Empfangsende bezüglich des Busses.
  • Das Bezugszeichen 12 bezeichnet ein Komprimierungsmodul, das am Ende des Senders TX die repräsentativen Bits des Musters Pt an M·log2M Bits komprimiert, die zum Übertragen des Musters auf der Anzahl von Leitungen nötig sind, die durch die erste ganze Zahl repräsentiert wird, die höher als log2M! ist. Das Bezugszeichen 14 bezeichnet dagegen ein Dekomprimierungsmodul, das am Ende des Empfängers RX das Muster Pt rekonstruiert.
  • Bei der Übertragung der Musterdaten auf den zusätzlichen Leitungen ist es möglich, das businvertierte Verfahren vorteilhaft einzusetzen. Die Verringerung der Schaltaktivität, die unter der Verwendung des businvertierten Verfahrens mit wenigen Busleitungen zu erzielen möglich ist, ist ungefähr 60-70% der gesamten Schaltaktivität. Anstelle der Verwendung des businvertierten Verfahrens (BI) ist es natürlich auch möglich, andere Verfahren zu verwenden, welche die Schaltaktivität der Leitungen verringern können, welche das Muster übertragen sollen.
  • Die Anwendung des businvertierten Verfahrens auf den Zusammenhang von 2 ist in 3 dargestellt. Hier sind Teile bzw. Elemente, die zu denjenigen identisch oder äquivalent sind, die schon anhand von 2 beschrieben wurden, mit den selben Bezugszeichen bezeichnet.
  • Zusätzlich zu den 2 dargestellten Elementen zeigt 3 zwei weitere Module 16 und 18, die für die businvertierende Funktion konstruiert sind, in der Sendestufe (Modul 16) bzw. in der Empfangsstufe (Modul 18) bezüglich den zusätzlichen Leitungen des Busses.
  • Bisher wurde erläutert, dass es unterschiedliche Freiheitsgrade zur Wahl der Versuchsfunktion B(t) gibt. Tatsächlich ist der Decodierungsvorgang nicht immer leicht durchzuführen und in manchen Fällen praktisch unmöglich.
  • Im Folgenden wird eine Anzahl von Beispielen der Versuchsfunktion vorgestellt, die zur Verwendung in besonders vorteilhafter Weise geeignet sind, sei es wegen ihrer einfachen Form oder weil sie eine günstiger Dekodierung erlauben: B(t) = S(B(t), p); I. B(t) = S(b(t), p) ⊕ S–1(b(t – 1), p); II. B(t) = S(b(t), p) ⊕ S–1(B(t – 1), p). III.
  • B(t) repräsentiert einen möglichen Ausgabewert des Senders, der durch Anwenden eines Versuchsmusters (Pt), das mit p bezeichnet ist, auf die Austauschoperatoren erhalten wird. Es ist leicht einzusehen, dass, wenn p zum optimalen Versuchsmuster Pt wird, dann B(t) = B(t) ist.
  • Dies erklärt, warum in der vorliegenden Beschreibung die Rolle von p im Endeffekt manchmal mit Pt verwechselt wird.
  • Die vom vorliegenden Anmelder durchgeführten Tests zur Simulation der Übertragung auf einem 32-Bit-Bus von Dateien unterschiedlicher Typen (Latex, Spice, GCC, JPEG, MP3 und AVI) zeigen anhand einer Clustertiefe M von 4 und unter der Verwendung aller vierundzwanzig möglichen Muster eine merkliche Verbesserung im Vergleich zu der Leistung, die hinsichtlich der Verringerung der Schaltaktivität SA mit der Verwendung des businvertierten Verfahrens möglich ist.
  • Zum Beispiel war bezüglich der schon vorher betrachteten Dateien die prozentuale Verringerung der Schaltaktivität, die unter der Verwendung des businvertierten Verfahrens erzielt werden kann, zwischen 0% und 10,64%.
  • Unter der Verwendung der ersten oben gezeigten Funktion I war die Verringerung zwischen 2,74% und 14,56%. Unter der mit II bezeichneten Funktion war die erhaltene Verringerung zwischen 3,3% und 17,72%. Unter der Verwendung der Funktion III war die Verringerung schließlich zwischen 15,5% und 23,16%.
  • Es sollte hier betont werden, dass in dem Fall der Funktionen I, II und III bei der Bewertung auch die Schaltaktivität mit berücksichtigt wurde, die durch die zusätzlichen Leitungen verursacht wird, die für die Übertragung des Musters Pt verwendet werden.
  • Wenn eine Teilmenge erlaubter Muster betrachtet wird, die durch eine Analyse des mittleren Verkehrs und durch Auswahl des besten Musters gewählt wird, wird eine Verringerung der Anzahl zusätzlicher Leitungen erhalten. Gleichzeitig führt die Tatsache der Verringerung erlaubter Muster im Vergleich zu einer idealen Lösung zu einer Verringerung der Abdeckung mit einer daraus resultierenden Verschlechterung der allgemeinen Leistung.
  • Spezifischer ausgedrückt, zeigen die Ergebnisse, dass der Gewinn hinsichtlich der Verringerung der Schaltaktivität SA im Fall der Auswahl einer Musterteilmenge nicht merklich sein kann, ohne dass dabei ein präzises Kriterium angewendet wird.
  • Wenn die Auswahl erlaubter Muster mittels Testdateien gelenkt wird und die Wiederholung bester Muster vom ursprünglichen Algorithmus ausgehend gemessen wird, werden unterschiedliche Ergebnisse erhalten.
  • Zum Beispiel ergibt sich mit N = 32 und M = 4 beim Vergleich zwischen der Leistung von (vollständigen) Mustern mit 4 Bit, 8 Bit, 16 Bit und 24 Bit unter der Verwendung einer Spice-Datei die beste Leistung bei der Verwendung von 16 Mustern.
  • Unter Bezugnahme auf vorher erzielte Ergebnisse ist zu bemerken, dass die bezüglich der Funktionen I, II und III berichteten Daten unter der Verwendung der sechzehn besten Muster mittels der Analyse des mittleren Verkehrs bei bestimmten Dateien noch weiter verbessert werden können, auch wenn bei anderen Dateien der Rückgriff auf diese Lösung nicht zu einer Verbesserung, sondern im Vergleich zu der vorher genannten Leistung zu einer geringfügigen Verschlechterung der Leistung führt.
  • Trotz des soeben Gesagten ergibt die Funktion III immer noch bei Weitem die beste Leistung hinsichtlich der Verringerung der Schaltaktivität.
  • Außerdem ist interessant festzustellen, dass eine Verbesserung hinsichtlich der Leistung von der Breite des Busses abhängen kann. Wenn zum Beispiel die Ergebnisse, die unter der Verwendung des businvertierten Verfahrens erzielt werden können, mit den Ergebnissen verglichen werden, die unter der Verwendung der oben genannten Funktion III erzielt werden können, so stellt sich heraus, dass bei einem Bus mit acht Leitungen die beiden Lösungen praktisch äquivalente Ergebnisse erzielen. Bei Bussen mit 32 und 40 Leitungen führt die Leistung, die unter der Verwendung der Funktion III erzielt werden kann, zu einer Verringerung der Schaltaktivität, die praktisch doppelt so groß wie die Verringerung ist, die unter der Verwendung des businvertierten Verfahrens erzielt werden kann. Im Fall eines Busses mit 64 Leitungen führt die zuvor genannte Funktion III zu einer Verringerung der Schaltaktivität, die praktisch drei Mal so groß wie die Leistung ist, die unter der Verwendung des businvertierten Verfahrens erzielt werden kann. Die berichteten Ergebnisse, die auf der anderen Seite in einem im Wesentlichen qualitativen Sinn zu interpretieren sind, beziehen sich auf eine Spice-Datei.
  • Der Schaltplan von 4 zeigt eine einfache Implementierung des Austauschmoduls 10 von 1. Die gezeigte Implementierung ist so konstruiert, dass sie lediglich an einem Cluster arbeitet, und zieht die Verwendung von M Multiplexern (insgesamt vier, die im gezeigten Beispiel mit M0, M1, M2, M3 bezeichnet sind) in Betracht. Die betreffenden Multiplexer empfangen an ihrem Eingang das Signal b(t) und führen das vom Muster gesteuerte Schalten durch, um so das Signal B(t) zu erzeugen.
  • Die Funktion kann wie folgt repräsentiert werden: A = Muster [1:0]; B = Muster [3:2]; C = Muster [5:4]; und D = Muster [7:6].
  • Der Schaltplan von 5 zeigt, wie es möglich ist, eine Struktur zu erhalten, die auf einem Bus mit einer Anzahl von M Leitungen arbeiten kann, wobei angenommen wird, dass M eine ziemlich große Zahl ist. In diesem Fall sind zur beschriebenen Lösung K Module des zuvor mit 100, ..., 10K bezeichneten Typs nötig.
  • Mit anderen Worten entspricht die Lösung einem Fall, bei dem idealerweise ein breiter Bus (mit M Leitungen) in N schmale Busse unterteilt wird, von denen jeder M/N Leitungen aufweist. Diese Herangehensweise bedeutet, dass die Auswahlversuche des auf die verschiedenen engen Busse anzuwendenden optimalen Musters eine viel geringere Anzahl aufweisen als diejenigen, die auf den breiten Bus (mit M Leitungen) anzuwenden wären. Wie schon gesagt, ist es insbesondere möglich, so vorzugehen, dass für alle schmalen Busse eine einziges Muster verwendet wird, das als das Muster gewählt wurde, das die Gesamtschaltaktivität für den Bus minimiert.
  • Wie schon zuvor beschrieben, kann die direkte und die inverse Austauschoperation unter der Verwendung des selben Moduls, jedoch mit verschiedenen Eingabemustern erhalten werden. Wenn Pt den direkten Austauschvorgang repräsentiert, dann gibt es immer ein neues Muster Px = Pt –1, das die inverse Austauschoperation liefert. S(b(t), Pt) = S–1(b(t), Pt –1) = S–1(b(t), Px), ∀ b(t).
  • Px und Pt sind durch ein eineindeutiges Verhältnis verknüpft, wobei es möglich ist, eine kombinatorisches Netz zu verwenden, um Px aus Pt zu erhalten.
  • Zum Beispiel zeigt die unten angegeben Tabelle verschiedene Werte von Pt und Px für M = 4, um so zu verdeutlichen, wie das genannte kombinatorische Netz zu erhalten ist.
  • Figure 00110001
  • Als eine mögliche Alternative kann ein derartiges Modul, das einfach als ein Musterumwandler (Pattern Converter/PC) definiert werden kann, auch in der Form einer Referenztabelle (Look-Up Table/LUT) umgesetzt werden.
  • Die Schaltpläne der 6, 7 und 8 veranschaulichen die mögliche Implementierung der oben angeführten Austauschgesetze I, II und III unter der Verwendung eines Musterumwandlers PC, an dessen Eingang die Information gesendet wird, welche das Muster Pt identifiziert, das zum Beispiel vom Ausgang des in den 2 und 3 gezeigten Dekomprimierungsmoduls 14 kommend empfangen wurde.
  • Im Fall der Funktion I und insbesondere ihrer inversen Funktion, nämlich B(t) = S(b(t), Pt) b(t) = S(B(t), Px),zieht die Implementierung die Anwesenheit eines einzigen Moduls 10 des zuvor genannten Typs zusammen mit dem Musterumwandler PC in Betracht.
  • Im Fall der Funktion II und insbesondere ihrer inversen Funktion, nämlich B(t) = S(b(t), Pt) ⊕ S–1(b(t – 1), Pt) b(t) = S[S(b(t – 1), Px) ⊕ B(t), Px],ist die Verwendung von zwei Modulen 10 in Betracht gezogen, die mittels eines Addierungsknotens (Exlusiv-Oder) 20 und eines Flip-Flops 22, das von einem Taktsignal angesteuert wird, verbunden sind.
  • Das Flip-Flop 22 ist dazu ausgelegt, ausgehend vom Ausgangssignal b(t) eine verzögerte Replik b(t – 1) zu generieren, die, wenn sie an eines der Module 10 geliefert wird, ein Signal erzeugt, das im Addierungsknoten 20 (wieder unter der Verwendung von Exklusiv-Oder) zum Signal B(t) zu addieren ist. Das aus der im Knoten 20 durchgeführten Addition erhaltene Signal wird an das andere Modul 10 geliefert, um das Ausgangssignal b(t) zu erzeugen.
  • Der Schaltplan von 8 implementiert statt dessen die zuvor genannte Funktion III; d.h. B(t) = S(b(t), Pt) ⊕ S–1(B(t – 1), Pt) b(t) = S[S(b(t – 1), Px) ⊕ B(t), Px].
  • Auch in diesem Fall sind zusätzlich zu den beiden Austauschmodulen 10 ein Addierungsknoten (Exklusiv-Oder) 20 und ein von einem Taktsignal angesteuertes Flip-Flop 22 vorhanden. Im vorliegenden Fall wird das Flip-Flop 22 zum Generieren einer mit B(t – 1) bezeichneten verzögerten Replik des Eingangssignals B(t) verwendet. Die genannte verzögerte Replik wird an das erste Modul 10 gesendet, das am Eingang das Signal Px empfängt, das vom Musterumwandler PC erzeugt wurde, um ein Signal zu generieren, das im Knoten 20 zum Signal B(t) zu addieren ist. Das Ergebnis der im Knoten durchgeführten Addition wird an den anderen Knoten 10 geliefert, um das Ausgangssignal b(t) als eine Funktion des Musters Px zu erzeugen.
  • Es ist leicht einzusehen, dass in allen genannten Schaltungen keine sequentiellen Elemente vorhanden sind, so dass das Ausgangssignal mit der einzigen von den Modulen 10 bestimmten Verzögerung geliefert wird.
  • Zur einfacheren Erläuterung wurde vorgezogen, zuerst anhand der 6 und 8 einige mögliche Ausführungsformen des Empfängers, d.h. derjenigen Schaltung zu veranschaulichen, die ausgehend vom Signal B(t) das Signal b(t) rekonstruiert.
  • Was noch zu beschreiben bleibt, sind die möglichen Ausführungsformen der Architektur des Senders, d.h. derjenigen Schaltung, die ausgehend vom Signal b(t) das Signal B(t) erzeugt.
  • Von der Clustertiefe wird hier immer noch angenommen, dass sie gleich M ist, so dass die Gesamtzahl erlaubter Muster weiterhin gleich M! Einheiten ist.
  • Außerdem ist zu bemerken, dass durch das Arbeiten mit einer Teilmenge erlaubter Muster, die über eine Analyse des mittleren Verkehrs gewählt werden, die Leistung des Systems keine Verschlechterung erfährt.
  • Das Hauptproblem bei der Sendestufe besteht darin, dass sie nicht mit Frequenzen arbeitet, die viel höher als die Taktfrequenz des Busses sind. Eine Möglichkeit zur Optimierung besteht in der Verwendung eines bestimmten Grads der Parallelität in der Architektur des Senders.
  • Zum Beispiel ist es im Fall der oben angeführten Funktionen II und III (für Funktion I ist der Fall insofern trivial, als der Sender dann im Endeffekt identisch mit dem Empfänger von 6 ist) möglich, den in 9 dargestellten Schaltplan zu verwenden, bei dem die Bezugszeichen 10 die Austauschmodule des schon beschriebenen Typs bezeichnen und die Bezugszeichen PC und 20 den Musterumwandler bzw. einen Addiererknoten (wieder mit einer Exklusiv-Oder-Funktion) bezeichnen.
  • Die Gruppe von Modulen, die in 9 dargestellt ist und insgesamt mit 50 bezeichnet ist, kann in das in 10 dargestellte komplexere System integriert werden.
  • Der hier dargestellte Schaltplan repräsentiert eine Senderstruktur, die dazu fähig ist, die Berechnung der Hammingdistanz zwischen dem alten Ausgangssignal B(t – 1), das auf einer Leitung 60 vorhanden ist, und der Versuchsfunktion B(t), die aus den aktuellen Werten des Eingangssignals b(t) und dem Muster Pt berechnet wird, durchzuführen.
  • Wenn die Clustertiefe M ist, muss das Modul M! Versuche anstellen.
  • Wie schon wiederholt erwähnt, ist es möglich, eine Basiseinheit zu verwenden, die eine Anzahl Q von Versuchen unternimmt, die kleiner als M! ist, indem auf eine Implementierung mit einem Grad der Parallelität (M!)/Q zurückgegriffen wird.
  • Das mit PG bezeichnete Modul ist ein Mustergeneratormodul (das üblicherweise mittels einer einfachen FSM-Schaltung implementiert wird, die in Abhängigkeit von dem an ihren Eingang anliegenden Taktsignal Q Muster generiert, die als Versuchsmuster zu verwenden sind, und sie an das Modul 50 liefert.
  • Das Addierermodul 20 und das mit 70 bezeichnete Modul berechnen die Differenzen zwischen B(t – 1) und B(t). Dann ist noch ein Schwellenwertvergleichsmodul 80 vorgesehen, das es ermöglicht, dass neue Werte der mit pat_reg, out_reg und score_reg bezeichneten Logiksignale nur dann geladen werden, wenn die Ausgabe des Moduls 70 geringer als der Wert von score_reg ist, d.h. wenn die aktuelle Funktion B(t) eine Schaltaktivität aufweist, die kleiner als das vorhergehende B(t) ist. Die Bezugszeichen 90 bezeichnen entsprechende Flip-Flops.
  • Auf diese Weise steuert jedes der in der Schaltung vorhandenen Register sein eigenes Freischaltsignal und wird von einem schnellen Takt (clockxQ) angesteuert, der Q Mal so schnell wie der Bustakt ist.
  • Die ursprüngliche Architektur verwendet eine Parallelität der ersten Stufe mit einer einzigen Schaltung des in 10 gezeigten Typs, bei der Q = M! ist.
  • Wenn der Wert von M hoch ist, dann kann natürlich auch die Betriebsfrequenz des gezeigten Moduls möglicherweise kritisch sein, da sie die Notwendigkeit einer Betriebsfrequenz mit sich zieht, die extrem hoch ist.
  • Der Schaltplan von 11 zeigt eine Architekturlösung, bei der eine Parallelität der Stufe L = (M!)/Q verwendet wird, bei der es L x 1000, 1001, 1002, 100(L – 1) Einheiten strukturell ähnlich zum Schaltplan von 10 gibt, die gleichzeitig mit unterschiedlichen Mustermengen arbeiten, die als Versuchsmuster verwendet werden. Das Ausgangssignal wird mittels eines Multiplexers 110 am Beginn des nächsten Buszyklus erhalten. Im Grunde genommen wird das Ausgangssignal über den Multiplexer 110 unter der Steuerung einer Logik 111 gewählt, die es ermöglicht, dass die besten Ergebnisse erhalten werden.
  • Auch wenn als Ergebnis der parallelen Struktur die eingenommene Fläche vergrößert und die Leistungsaufnahme erhöht wird, bietet die in 11 gezeigte Struktur den Vorteil, dass sie nicht zu Übertragungsverzögerungen auf der Bustaktebene führt und es außerdem ermöglicht, mit einem Taktwert chlockxQ zu arbeiten, der dem effektiven Bustaktwert nahe kommt.
  • Zum Verringern der unnötigen Aktivität von B(t), welche die Gesamtschaltaktivität erhöhen könnte, kann im Schaltplan von 11 noch eine Signalspeicherung eingebaut werden, wodurch eine Abtastung am Ende des Q-ten Zyklus des Taktsignals clockxQ von dem Moment an ermöglicht wird, an dem das optimale Muster zur Verwendung verfügbar ist.
  • Die Lösung gemäß der vorliegenden Erfindung ist besonders geeignet zur Verwendung im Zusammenhang mit Systemen des sogenannten SOC-Typs (System-on-Chip).
  • Die besten Ergebnisse können beim Verringern der Schaltaktivität eines internen Busses erzielt werden, indem die Bedingungen genutzt werden, bei denen die Frequenz des Bustaktes nicht zu hoch ist und die Breite des betreffenden Busses und die Länge des Netzwerks sehr ausgedehnt sind.
  • Prinzipiell kann an allen Bussen innerhalb des Chips die oben beschriebene Sortierfunktion gemäß dem folgenden Parameter durchgeführt werden: ρ = W·L/fo wobei fo die Frequenz des Bustaktes, W die Breite des Busses und L die Länge ist. Im Grunde genommen kann die beschriebene Lösung besonders vorteilhaft in Bussen verwendet werden, für welche der oben erscheinende Parameter ρ einen hohen Wert hat.
  • Die erfindungsgemäße Lösung kann auch zur Schnittstellenbildung zwischen zwei Chips in dem Fall verwendet werden, wo die effektive Leistungsaufnahme aufgrund der Ableitung auf den externen Pads beträchtlich ist, wobei das beschriebene Verfahren dazu fähig ist, die zum Ansteuern der externen Pins notwendige Leistung zu verringern.
  • Allgemein ist es wichtig, sowohl den Sender als auch den Empfänger so zu programmieren, dass sie mit Teilmengen erlaubter Muster arbeiten. Diese Aktion ist insofern nötig, als die Anfangswerte der erlaubten Muster mit einer Änderung des Verkehrstyps auch eine Modifikation erfahren. Diese Operation kann durch Programmierung durchgeführt werden, wobei das Sender-Empfänger-System abgeschaltet wird. Nach der (Neu-)Programmierung müssen der Sender und der Empfänger mit einem Rücksetzsignal erneut initialisiert werden.
  • Die erfindungsgemäße Lösung ermöglicht insbesondere eine Aufspaltung eines besonders breiten Busses in mehrere identische schmalere Busse, indem die Leitungen eines Clusters gemäß einem Austauschmuster ausgetauscht werden, das für alle Cluster identisch ist, um so die Gesamtschaltaktivität zu minimieren. Die Wahl einer bestimmten Testfunktion hängt insbesondere vom wirksamen Eingabestrom b(t) und vom wirksamen Austauschmuster ab, wobei es auf der anderen Seite möglich ist, durch eine Messung des mittleren Verkehrs eine Verringerung der erlaubten Muster zu erzielen. Besonders vorteilhaft ist es, in der Sendestufe eine Architektur eines parallelen Typs einzusetzen.
  • Auf diese Weise ist einzusehen, dass die erfindungsgemäße Lösung dazu geeignet ist, in besonders vorteilhafter Weise in der Form eines Computerprodukts implementiert zu werden, das in einen Speicher (typischerweise eine Menge von Registern) eines einem Bus zugeordneten Prozessors geladen werden kann. Das sogenannte Computerprodukt umfasst Teile von Softwarecode, die bei einem Laufen des Produkts auf dem genannten Prozessor die Schritte des erfindungsgemäßen Verfahrens ausführen.
  • Ohne Beeinträchtigung des Prinzips der Erfindung können natürlich die Einzelheiten der Implementierung und der Ausführungsformen bezüglich dem weitgehend variiert werden, was hier beschrieben und veranschaulicht ist, ohne dass dadurch vom Umfang der vorliegenden Erfindung abgewichen wird, wie er in den beiliegenden Ansprüchen definiert ist. Dies gilt insbesondere für die Möglichkeit, die im Umfang der vorliegenden Erfindung enthalten ist, eine Vorrichtung zu bauen, die den Verkehr offline analysiert, um die besten Muster zu wählen. Diese Lösung erscheint hinsichtlich der Energieeinsparung und auch hinsichtlich der Verringerung der Schaltaktivität auf den Leitungen des Busses mindestens potentiell vorteilhaft. Die oben genannten Vorteile müssen natürlich mit anderen Anforderungen vereinbart werden, die hinsichtlich der Komplexität der entsprechenden Hardware berücksichtigt werden müssen.
  • Aus dem oben genannten Grund wird bei der derzeit bevorzugten Ausführungsform der vorliegenden Erfindung ein Durchführen einer Offline-Verkehrsanalyse in Betracht gezogen, die von einem Prozessor durchgeführt wird, der die Berechnung der entsprechenden Leistung vor der Konstruktion der Schaltung durchführt. Dies kann zum Beispiel unter der Verwendung von Softwaremodellen geschehen (die zum Beispiel in der Programmiersprache C++ geschrieben sind) und/oder unter der Verwendung von Hardwaremodellen (die zum Beispiel in Verilog programmiert sind). Auf der Ebene der Schaltungen lässt eine Synthese einer erfindungsgemäßen Schaltung erkennen, dass die besten Ergebnisse bei Busfrequenzen von bis zu 150 MHz mit 0,13-μm-Technologie erzielt werden.
  • Die genannten Ergebnisse können noch weiter dadurch verbessert werden, dass eine Architektur mit einer maximalen Parallelität ausgenutzt wird.
  • Wenn zum Beispiel alle M! Muster verwendet werden, ist es möglich, M! Rechnereinheiten zu konstruieren, von denen jede den Wert der Schaltaktivität unter der Verwendung eines einzigen Musters berechnet.
  • Der Schaltplan von 12 veranschaulicht eine Einheit dieses Typs unter Bezugnahme auf eine Versuchsfunktion des schon genannten Typs.
  • Es ist einzusehen, dass der Schaltplan von 12 demjenigen von 10 im Wesentlichen ähnlich ist, wobei der Hauptunterschied darin liegt, dass im Schaltplan von 12 der Mustergenerator PG mit den entsprechenden Registern und der zugeordneten Schwellenwerteinheit nicht vorhanden ist.
  • Mit der Verwendung von M! dieser Untermodule wird die von der Schaltung als Ganzes eingenommene Fläche größer. Der Hauptvorteil dieser Lösung liegt jedoch darin, dass die in 12 gezeigte Einheit keinen Takt braucht, da sie ein vollkommen kombinatorisches Netz ist. Dies bedeutet, dass der Sender eine hohe Frequenz bis zu der von der Technik auferlegten Grenze erreichen kann, wodurch die Auswahl möglicher Anwendungsgebiete der Erfindung erweitert wird.
  • 13 bezieht sich auf das Betriebsverfahren eines Senders, der einen maximalen Grad der Parallelität nutzt, bei dem alle M! Module (Pat0, Pat1, ... PatM! – 1) jeweils einen eigenen Schaltaktivitätswert SA0, SA1, ..., SAM! – 1 liefern.
  • Lediglich eine kombinatorische Einheit, die mit MIN bezeichnet ist, wählt den niedrigsten dieser Werte durch Ansteuern eines ersten Multiplexers MUX1, der dem Ausgangsdatum B(t) zugeordnet ist, und eines zweiten Multiplexers MUX2, der dem Ausgabemuster Pt zugeordnet ist.
  • Die letztere Lösung kann auch angewendet werden, wenn mit einer Teilmenge der M! erlaubten Muster gearbeitet wird.

Claims (32)

  1. Verfahren zum Übertragen von Daten auf einem Bus, das die Schaltaktivität (SA) auf dem Bus selbst minimiert, wobei das Verfahren eine Umwandlung der Daten zwischen einem ersten Format (b(t)) und einem zweiten Format (B(t)) beinhaltet, wobei das zweite Format zur Übertragung auf dem Bus verwendet wird, wobei das Verfahren dadurch gekennzeichnet ist, dass: – bei der Umwandlung zwischen dem ersten Format (b(t)) und dem zweiten Format (B(t)) das Austauschen der Position entsprechender Bits in einem eine vorgegebene Anzahl von Bits enthaltenden Cluster verursacht, wobei der Austauschvorgang gemäß einer Vielzahl unterschiedlicher Varianten durchführbar ist, wobei die maximale Anzahl der Varianten gleich dem faktoriellen Wert der vorgegebenen Anzahl ist, wobei jede der Varianten durch ein entsprechendes Austauschmuster (Pt) identifiziert ist; – unter den Mustern ein optimales Muster ausgewählt wird, um so die Schaltaktivität (SA) zum Zeitpunkt der Übertragung von Daten auf dem Bus zu minimieren; und – die Daten unter der Verwendung des zweiten Formats (B(t)), das unter der Verwendung des optimalen Musters erzeugt wurde, auf dem Bus übertragen werden.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass es die folgenden Operationen umfasst: – Erzeugen, ausgehend von den Daten im ersten Format (b(t)), einer Vielzahl von Datensätzen im zweiten Format (B(t)), die unter der Verwendung einer Vielzahl der Muster (Pt) erhalten wurden; – Erfassen der Schaltaktivität (SA) bei der Vielzahl von Datensätzen im zweiten Format (B(t)); – Auswählen, ausgehend von der Vielzahl von Datensätzen im zweiten Format (B(t)), von Ausgabedaten, die der minimalen Schaltaktivität entsprechen; und – Auswählen des optimalen Musters (Pt) als dasjenige, das den Daten mit der minimalen Schaltaktivität entspricht.
  3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass es die folgenden Operationen aufweist: – Betrachten des Busses, der eine Gesamtzahl von Leitungen (N) hat, als aus einer Vielzahl von Bussen bestehend, von denen jeder eine Anzahl von Leitungen (M) hat, die wesentlich kleiner als die Gesamtzahl (N) ist; und – Identifizieren eines Austauschmusters, wobei das Austauschmuster für alle Busse der Vielzahl identisch ist.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass es die Operation eines derartigen Auswählens des Musters aufweist, dass das Muster für alle Busse der Vielzahl identisch ist, um so den globalen Minimalwert der Schaltaktivität (SA) aller Busse der Vielzahl zu erzeugen.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass es die Operation des Identifizierens des optimalen Musters (Pt) als eine Datenkette, die eine vorgegebene Anzahl von Bits enthält, sowie die Operation des Übertragens der Datenkette auf dem Bus aufweist.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass es die Operation des Vorsehens zusätzlicher Leitungen auf dem Bus zum Übertragen der das optimale Muster (Pt) identifizierenden Datenkette aufweist.
  7. Verfahren nach Anspruch 5 oder Anspruch 6, dadurch gekennzeichnet, dass es die Operation des Durchführens einer Komprimierungsoperation an der das optimale Muster identifizierenden Datenkette hinsichtlich der Übertragung auf dem Bus aufweist.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die Operation der Komprimierung der das optimale Muster identifizierenden Datenkette mittels einer Wahrheitstabelle durchgeführt wird.
  9. Verfahren nach einem der Ansprüche 5 bis 8, dadurch gekennzeichnet, dass es die Operation des Durchführens einer Verarbeitung, vorzugsweise des bus-invertierten Typs, an der das optimale Muster identifizierenden Datenkette hinsichtlich der Übertragung auf dem Bus aufweist.
  10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das optimale Muster (Pt) dadurch ausgewählt wird, dass aufeinander folgende Versuche des Messens der Schaltaktivität zwischen einer Versuchsfunktion (B~(t)) zu einem vorgegebenen Zeitpunkt und einem Datensatz des Stroms im zweiten Format, der zu einem vorhergehenden Zeitpunkt (B(t – 1)) erfasst wird, durchgeführt werden.
  11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die Schaltaktivität als Distanz, vorzugsweise als eine Hammingdistanz, zwischen der Versuchsfunktion (B~(t) zu einem vorgegebenen Zeitpunkt und dem Datensatz des Stroms im zweiten Format, der an einem vorhergehenden Zeitpunkt (B(t – 1)) erfasst wird, gemessen wird.
  12. Verfahren nach Anspruch 9 oder Anspruch 11, dadurch gekennzeichnet, dass die Versuchsfunktion aus der Gruppe ausgewählt ist, die aufweist: B~(t) = S(b(t), p~); I. B~(t) = S(b(t), p~) ⊕ S–1(b(t – 1), p~); II. B~(t) = S(b(t), p~) ⊕ S–1(B(t – 1), p~). III.wobei B~(t) die Versuchsfunktion ist, S(.) die Austauschfunktion ist, welche die Ausgabedaten im zweiten Format (B(t)) in Abhängigkeit von den Daten im ersten Format (b(t)) und von dem Muster (Pt) erzeugt; und p~ das generische Versuchsmuster repräsentiert, wobei, wenn p~ zum optimalen Versuchsmuster (Pt) wird, dann B(t) = B~(t) ist.
  13. Vorrichtung zum Übertragen von Daten auf einem Bus, welche die Schaltaktivität (SA) auf dem Bus selbst minimiert, wobei die Vorrichtung zum Umwandeln der Daten zwischen einem ersten Format (b(t)) und einem zweiten Format (B(t)) konfiguriert ist, wobei das zweite Format zur Übertragung auf dem Bus verwendet wird, wobei die Vorrichtung dadurch gekennzeichnet ist, dass sie aufweist: – mindestens ein Austauschmodul (10) zum Umwandeln der Daten zwischen dem ersten Format (b(t)) und dem zweiten Format (B(t)) durch Austauschen der Position entsprechender Bits in einem eine vorgegebene Anzahl von Bits enthaltenden Cluster, wobei die Austauschoperation gemäß unterschiedlicher Varianten ausgeführt wird, wobei die maximale Anzahl der Varianten gleich dem faktoriellen Wert der vorgegebenen Anzahl ist, wobei jede der Varianten durch ein entsprechendes Austauschmuster (Pt) identifiziert ist; – mindestens ein Modul (PC, MIN) zum Identifizieren eines optimalen Musters aus den Mustern, um so die Schaltaktivität (SA) zum Zeitpunkt der Übertragung von Daten auf dem Bus zu minimieren; und – mindestens ein Übertragungselement (TX, RX) zum Austauschen der Daten auf dem Bus unter der Verwendung des zweiten Formats (B(t)), das unter der Verwendung des optimalen Musters erzeugt wurde.
  14. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, dass es aufweist: – erste Schaltungselemente (PG, 50) zum Erzeugen, ausgehend von den Daten im ersten Format (b(t)), einer Vielzahl von Datensätzen im zweiten Format (B(t)), die unter der Verwendung einer Vielzahl der Muster (Pt) erhalten wurden; – zweite Schaltungselemente (20, 70) zum Messen der Schaltaktivität (SA) bei der Vielzahl von Datensätzen im zweiten Format (B(t)); – dritte Schaltungselemente (80) zum Auswählen, ausgehend von der Vielzahl von Datensätzen im zweiten Format (B(t)), von Ausgabedaten, die der minimalen Schaltaktivität entsprechen; und Auswählen des optimalen Musters (Pt) als dasjenige, das den Daten mit der minimalen Schaltaktivität entspricht.
  15. Vorrichtung nach Anspruch 13 oder 14, dadurch gekennzeichnet, dass der Bus, der eine Gesamtzahl von Leitungen (N) hat, als eine Vielzahl von Bussen konfiguriert ist, von denen jeder eine Anzahl von Leitungen (M) hat, die wesentlich kleiner als die Gesamtzahl (N) ist, und dadurch, dass das mindestens eine Übertragungselement (TX, RX) zum Übertragen der Daten auf der Vielzahl von Bussen unter der Verwendung von Daten im zweiten Format (B(t)) konfiguriert ist, die mit einem Tauschmuster erzeugt wurden, das für alle Busse der Vielzahl identisch ist.
  16. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, dass das für alle Busse der Vielzahl identische Muster das Muster ist, um den globalen Minimalwert der Schaltaktivität (SA) auf allen Bussen der Vielzahl zu erzeugen.
  17. Vorrichtung nach einem der Ansprüche 13 bis 16, dadurch gekennzeichnet, dass der mindestens eine Wandler (PC) das optimale Muster (Pt) als eine Datenkette identifiziert, die eine vorgegebene Anzahl von Bits enthält, und das mindestens eine Übertragungselement (TX) zum Übertragen der Datenkette auf dem Bus konfiguriert ist.
  18. Vorrichtung nach Anspruch 17, dadurch gekennzeichnet, dass der Bus zusätzliche Leitungen zum Übertragen des Musters aufweist.
  19. Vorrichtung nach Anspruch 17 oder Anspruch 18, dadurch gekennzeichnet, dass sie mindestens ein Komprimierungsmodul (12) zum Durchführen einer Komprimierungsoperation an der Datenkette, die das optimale Muster (Pt) ausdrückt, hinsichtlich der Übertragung auf dem Bus aufweist.
  20. Vorrichtung nach Anspruch 19, dadurch gekennzeichnet, dass das Komprimierungsmodul (12) eine Wahrheitstabelle aufweist.
  21. Vorrichtung nach einem der Ansprüche 17 bis 20, dadurch gekennzeichnet, dass es mindestens ein Verarbeitungsmodul (16, 18) aufweist, um an der das optimale Muster identifizierenden Datenkette eine Verarbeitung, vorzugsweise des bus-invertierten Typs, hinsichtlich der Übertragung auf dem Bus durchzuführen.
  22. Vorrichtung nach einem der Ansprüche 17 bis 21, dadurch gekennzeichnet, dass die zweiten und dritten Schaltungselemente (PG, 20, 50, 70) zum Auswählen des optimalen Musters (Pt) durch das Durchführen aufeinander folgender Versuche zum Messen der Schaltaktivität zwischen einer Versuchsfunktion (B~(t)) zu einem vorgegebenen Zeitpunkt und einem Datensatz des Stroms im zweiten Format, der zu einem vorhergehenden Zeitpunkt (B(t – 1)) erfasst wurde, konfiguriert sind.
  23. Vorrichtung nach Anspruch 22, dadurch gekennzeichnet, dass sie ein Berechnungsmodul zum Berechnen der Aktivität als eine Hammingdistanz aufweist.
  24. Vorrichtung nach Anspruch 22 oder Anspruch 23, dadurch gekennzeichnet, dass die Versuchsfunktion aus der Gruppe ausgewählt ist, die aufweist: B~(t) = S(b(t), p~); I. B~(t) = S(b(t), p~) ⊕ S–1(b(t – 1), p~); II. B~(t) = S(b(t), p~) ⊕ S–1(B(t – 1), p~). III.wobei B~(t) die Versuchsfunktion ist, S(.) die Austauschfunktion ist, welche die Ausgabedaten im zweiten Format (B(t)) in Abhängigkeit von den Daten im ersten Format (b(t)) und von dem Muster (Pt) erzeugt; und p~ das generische Versuchsmuster repräsentiert, wobei, wenn p~ zum optimalen Versuchsmuster (Pt) wird, dann B(t) = B~(t) ist.
  25. Vorrichtung nach einem der Ansprüche 17 bis 24, dadurch gekennzeichnet, dass sie in der Form einer Vielzahl von Einheiten (1000, 1001, ... 100(L – 1)) organisiert ist, welche die Daten parallel verarbeiten.
  26. Vorrichtung nach Anspruch 25, dadurch gekennzeichnet, dass sie eine Vielzahl (M!) von Recheneinheiten (20, 50, 70) aufweist, von denen jede so konfiguriert ist, dass sie unter der Verwendung eines entsprechenden Musters einen entsprechenden Wert einer Schaltaktivität (SA0, SA1, ..., SAM! – 1) berechnet.
  27. Vorrichtung nach Anspruch 26, dadurch gekennzeichnet; dass die Einheiten aus der Vielzahl (M!) ein Kombinationslogiknetz bilden, das in Abwesenheit eines Taktsignals arbeiten kann.
  28. Vorrichtung nach Anspruch 26 oder Anspruch 27, dadurch gekennzeichnet, dass es eine Kombinationseinheit (MIN) aufweist, die so konfiguriert ist, dass sie den niedrigsten dieser Werte der Schaltaktivität (SA0, SA1, ..., SA M! – 1) auswählt.
  29. Vorrichtung nach Anspruch 28, dadurch gekennzeichnet, dass sie einen ersten Multiplexer (MUX1) und einen zweiten Multiplexer (MUX2) aufweist, die von der Kombinationseinheit (MIN) angesteuert werden und dem Ausgabedatum B(t) bzw. dem Ausgabemuster (Pt) zugeordnet sind.
  30. Vorrichtung nach einem der Ansprüche 26 bis 29, dadurch gekennzeichnet, dass die Anzahl der Recheneinheiten (20, 50, 70) der Vielzahl gleich der Anzahl der Varianten ist, die durch ein entsprechendes Muster (Pt) identifiziert werden.
  31. Vorrichtung nach einem der Ansprüche 26 bis 29, dadurch gekennzeichnet, dass die Anzahl der Recheneinheiten (20, 50, 70) der Vielzahl gleich der Anzahl einer Teilmenge des Werts der Varianten ist, die durch ein entsprechendes Muster (Pt) identifiziert werden.
  32. Computerprogramm, das direkt in den Speicher eines einem Bus zugeordneten digitalen Prozessors geladen werden kann, wobei das Computerprogramm Teile eines Softwarecodes zum Implementieren des Verfahrens nach einem der Ansprüche 1 bis 12 aufweist, wenn das Computerprogramm auf einem Prozessor ausgeführt wird, der einem Bus zugeordnet ist.
DE60210438T 2002-07-10 2002-07-10 Verfahren und Gerät zur Verminderung der Busschaltaktivität und Rechnerprogrammprodukt Expired - Lifetime DE60210438T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP02425456A EP1380961B1 (de) 2002-07-10 2002-07-10 Verfahren und Gerät zur Verminderung der Busschaltaktivität und Rechnerprogrammprodukt

Publications (2)

Publication Number Publication Date
DE60210438D1 DE60210438D1 (de) 2006-05-18
DE60210438T2 true DE60210438T2 (de) 2006-10-12

Family

ID=29724614

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60210438T Expired - Lifetime DE60210438T2 (de) 2002-07-10 2002-07-10 Verfahren und Gerät zur Verminderung der Busschaltaktivität und Rechnerprogrammprodukt

Country Status (3)

Country Link
US (1) US6933863B2 (de)
EP (1) EP1380961B1 (de)
DE (1) DE60210438T2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732203B2 (en) * 2000-01-31 2004-05-04 Intel Corporation Selectively multiplexing memory coupling global bus data bits to narrower functional unit coupling local bus
US20040078608A1 (en) * 2001-04-02 2004-04-22 Ruban Kanapathippillai Method and apparatus for power reduction in a digital signal processor integrated circuit
DE60315122D1 (de) * 2003-01-14 2007-09-06 St Microelectronics Srl Verfahren und Gerät, um Daten über eine einzige Leitung zu übertragen, insbesondere um Busdaten mit Minimalisierung der Busschaltaktivität zu übertragen
EP1475906B1 (de) 2003-05-07 2006-07-19 STMicroelectronics S.r.l. Verfahren zum übermitteln von Datenströmen über optischen Verbindungen, System und Computerprogramprodukte
EP1761855B1 (de) 2004-06-21 2008-01-16 Nxp B.V. Datenverarbeitungssystem und verfahren zur verbindungs-arbitrierung
US7283460B1 (en) * 2006-04-03 2007-10-16 Stmicroelectronics S.R.L. Bus switch encoding for reducing crosstalk effects in buses
EP1845660B1 (de) * 2006-04-12 2012-08-29 STMicroelectronics Srl Verfahren zur Zusammensetzung und zum Senden von Sensorsignalen
US8024642B2 (en) * 2007-08-29 2011-09-20 International Business Machines Corporation System and method for providing constrained transmission and storage in a random access memory
US7471219B1 (en) 2007-08-29 2008-12-30 International Business Machines Corporation Low latency constrained coding for parallel busses
FR2928757B1 (fr) * 2008-03-14 2014-06-20 Centre Nat Rech Scient Procede et dispositif de codage, systeme electronique et support d'enregistrement associes

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61170828A (ja) * 1985-01-24 1986-08-01 Hitachi Ltd マイクロプログラム制御装置
US5651126A (en) * 1992-06-26 1997-07-22 Apple Computer, Inc. Method and apparatus for reducing transitions on computer signal lines
US6456620B1 (en) * 1999-02-17 2002-09-24 Verizon Laboratories Inc. Method and apparatus for constructing a latin square matrix for network communication
US6456838B1 (en) * 1999-02-17 2002-09-24 Verizon Laboratories Inc. Generic approach to generating permutations for all-to-all personalized exchange for self-routing multistage interconnection networks
CN1483166A (zh) * 2000-11-07 2004-03-17 英特尔公司 采用动态总线倒置来降低同步转换输出噪音的方法和装置

Also Published As

Publication number Publication date
US20040201505A1 (en) 2004-10-14
EP1380961A1 (de) 2004-01-14
US6933863B2 (en) 2005-08-23
DE60210438D1 (de) 2006-05-18
EP1380961B1 (de) 2006-04-05

Similar Documents

Publication Publication Date Title
DE69728559T2 (de) Verfahren und vorrichtung zur wahl von m-ansteuerungsleitungen unter n-ansteuerungsleitungen
DE4417575C2 (de) Verbesserte Array-Architektur für programmierbare logische Zellen
DE69837299T2 (de) System und Verfahren zur schnellen Fourier-Transformation
DE69733931T2 (de) Kreuzvermittlungsschalter und verfahren mit beschränktem spannungshub und blockierungsfreien vermittlungswegen
DE19531049C2 (de) Verfahren zum Komprimieren von Daten und Codierungsvorrichtung
DE60035171T2 (de) Verfahren und Schaltungen zum schnellen Auffinden des minimalen / maximalen Wertes in einer Menge von Zahlen
DE60314347T2 (de) Betriebsmittelverwaltungsgerät
DE3606650A1 (de) Hardware logik-simulator
DE60222055T2 (de) Taktverteilung mit niedriger Latenz
DE10297319T5 (de) Anwendungsspezifisches ereignisbasiertes Halbleiterspeicher-Testsystem
DE60210438T2 (de) Verfahren und Gerät zur Verminderung der Busschaltaktivität und Rechnerprogrammprodukt
EP1246043A2 (de) Verfahren zur Übertragung von Daten über einen Datenbus
DE19828620B4 (de) Während des Betriebs aufteilbarer Computerbus für einen verbesserten Betrieb mit sich ändernden Bustaktfrequenzen
DE3218741A1 (de) Datentransfersystem
DE2658611A1 (de) Vorrichtung zur erzeugung und zum empfang von digitalwoertern
DE19814415A1 (de) Logikanalyse-Untersystem in einem Zeitscheibenemulator
DE102019107849A1 (de) 424-Kodierungsschemata zur Reduzierung von Kopplung und Leistungsrauschen auf PAM-4-Datenbussen
DE19822776A1 (de) Datenverarbeitungsvorrichtung
DE10162507A1 (de) Überwachungsschaltung
DE602005001900T2 (de) Rekonfigurierbarer Prozessor und Halbleiterbaustein
EP3149710B1 (de) Fahrzeugdiagnosevorrichtung und datenübertragungsvorrichtung
DE112008001707T5 (de) Finite-Feld-Operationen verwendender kryptographischer Zufallszahlengenerator
DE69828890T2 (de) Konfigurierbare speichersteuerungsvorrichtung und verfahren hierfür
DE10238578A1 (de) Bandbreitenanpassung für Abtastaufbauten in einer integrierten Schaltung
DE10297600T5 (de) Gerät und Verfahren zur Verarbeitung von Ereignissen für ereignisbasierte Hochgeschwindigkeitstestsysteme

Legal Events

Date Code Title Description
8364 No opposition during term of opposition