-
GEBIET DER ERFINDUNG
-
Die Erfindung bezieht sich auf eine elektronische Vorrichtung und ein Verfahren zum Decodieren der Priorität einer Unterbrechungsanforderung und insbesondere auf einen programmieren Unterbrechungsprioritätsdecodierer zum Bestimmen der Unterbrechungsanforderung (IRQ) oder der Unterbrechungsanforderungen mit der höchsten Priorität aus mehreren Unterbrechungsanforderungen.
-
HINTERGRUND
-
In modernen Mikrocontrollersystemen ist es häufig erforderlich, mehrere Unterbrechungsquellen zu unterstützen, die die normale Programmausführung unterbrechen können, und eine asynchrone Ausnahmeverarbeitung, die durch sie verursacht wird, durchzuführen. Dies gilt auch für so genannte ”Systeme auf einem Chip”, in denen viele digitale Funktionsblöcke eine Prioritätsdecodierung von mehreren Signalen erfordern. Ein Beispiel eines solchen Funktionsblocks ist ein Controller für verschachtelte gerichtete Unterbrechungen (NVIC) oder ein programmierbarer Unterbrechungs- und Ereignismanager (PIEM).
-
Systeme auf einem Chip werden beispielsweise in Mobiltelephonen, eingebetteten Computern, Smartphones, MP3-Playern und so weiter verwendet.
-
Wenn mehrere Unterbrechungsquellen in einem System vorhanden sind, ist ein Prioritätsschema erforderlich, das die Reihenfolge der Verarbeitung der Unterbrechungen, die gleichzeitig ankommen, definiert, während eine schnelle Reaktion auf die Unterbrechungsanforderungen sichergestellt werden muss.
-
Einige Systeme gemäß dem Stand der Technik verwenden fest kodierte Prioritätsdecodierer. Das Codierschema ist dann statisch, was bedeutet, dass die Reihenfolge, in der Unterbrechungen verarbeitet werden, fest ist und nicht vom Benutzer geändert werden kann. Das Prioritätsschema wird durch den Systemintegrator, d. h. den Chipverkäufer, definiert. Dies kann Benutzer davon abhalten, eine Anwendung in der optimalsten Weise zu implementieren.
-
Um eine höhere Flexibilität zu erreichen, werden programmierbare Prioritätsschemen verwendet, die ermöglichen, dass das Anwendungsprogramm das Prioritätsniveau jeder Unterbrechungsanforderung definiert. Folglich umfasst jede Unterbrechungsanforderung ein Prioritätswort, das das der Unterbrechungsquelle der Unterbrechungsanforderung zugewiesene Prioritätsniveau angibt. Ein Prioritätswort besteht dann aus einer Anzahl von Bits, die von der Anzahl von für das System erforderlichen Unterbrechungsniveaus abhängt Jeder Unterbrechungsquelle kann ein anderes Unterbrechungsniveau zugewiesen werden. In diesem Fall ist die Anzahl von unterstützten Unterbrechungsquellen gleich der Anzahl von Unterbrechungsniveaus. Es ist auch möglich, weniger Unterbrechungsniveaus als Unterbrechungsquellen zu definieren, was bedeutet, dass einige Unterbrechungsquellen dasselbe Prioritätsniveau aufweisen. Die höchste Binärzahl entspricht der höchsten Priorität, Die Menge an Unterbrechungsniveaus einer Vorrichtung kann bis zu 128 entsprechend Prioritätsworten unter Verwendung von sieben Bits sein, da 27 gleich 128 ist.
-
Um die Unterbrechungsanforderung zu finden, die zuerst verarbeitet werden soll, müssen die Prioritätsworte aller aktiven Unterbrechungen schnell decodiert werden, um das höchste gültige Prioritätswort und dadurch die als erste zu bedienende Unterbrechung zu identifizieren.
-
Eine erste Lösung des Standes der Technik besteht darin, eine gewisse Art von Blasensortierung der Prioritätsdecodierung zu verwenden. Bei diesem Versuch werden die ersten zwei aktiven Unterbrechungsprioritäten miteinander verglichen. Der Gewinner dieses Vergleichs wird mit der nächsten aktiven Unterbrechungspriorität verglichen. Am Ende verbleibt die Anforderung mit der höchsten Unterbrechungspriorität und wird daher als erste bedient. Dies ist jedoch eine sehr ineffektive Weise der Prioritätsdecodierung hinsichtlich der Chipfläche und des Leistungsverbrauchs.
-
Eine zweite Lösung des Standes der Technik verwendet eine Binärsortierung auf der Basis eines Binärbaums. Ein Beispiel unter Verwendung von acht Unterbrechungsanforderungen IRQ1 bis IRQ8 ist in 1 gezeigt. Paare von Prioritätsworten werden gebildet und miteinander verglichen. IRQ1 wird mit IRQ2 verglichen, IRQ3 wird mit IRQ4 verglichen, IRQ5 wird mit IRQ6 verglichen und IRQ7 wird mit IRQ8 verglichen. Dies bedeutet, dass vier Komparatoren 10, 12, 14 und 16 auf der ersten Ebene erforderlich sind, d. h. einer für jedes Paar von Unterbrechungsanforderungen. Nur das Wort eines Paars mit höherer Priorität wird an die nächste Ebene übergeben. In dem Beispiel umfasst die zweite Ebene Komparatoren 18 und 20. Wiederum werden Paare von Prioritätsworten gebildet und die zwei Prioritätsworte eines Paars werden miteinander verglichen. Wenn beispielsweise das Prioritätswort von IRQ4 größer ist als das Prioritätswort von IRQ3 und das Prioritätswort von IRQ1 größer ist als das Prioritätswort von IRQ2, übergibt der Komparator 10 IRQ1 und der Komparator 12 übergibt IRQ4 an den Komparator 18. Diese Prozedur fährt fort, bis nur eine Unterbrechungsanforderung verbleibt, die dann diejenige mit der höchsten Priorität ist und daher verarbeitet wird.
-
Der Binärbaum ermöglicht die Identifikation des höchsten Prioritätsworts, d. h. der Unterbrechungsanforderung mit dem höchsten Prioritätsniveau. Selbst dieses Schema verbraucht jedoch viele Gatter, wenn die Menge an Unterbrechungsquellen einen Wert von 128 oder mehr erreicht. Für 128 Quellen mit unterschiedlichen Prioritätswerten benötigt beispielsweise jede Quelle 7 Bits zum Codieren ihres Prioritätsniveaus. Somit muss jeder Komparator 10, 12, ..., 22 zwei 7-Bit-Zahlen vergleichen und muss den gewinnenden 7-Bit-Wert an die nächste Ebene übergeben. Dies bedeutet, dass 127 Komparatoren für 128 Unterbrechungsquellen erforderlich sind.
-
Außerdem verursacht jeder Zweig des Binärbaums Umschaltaktivitäten der Gatter bis zur Wurzel des Baums hinab, was den Leistungsverbrauch erhöht.
-
ZUSAMMENFASSUNG
-
Es ist eine Aufgabe der Erfindung, einen Unterbrechungsprioritätsdecodierer unter Verwendung von weniger Gattern für dieselbe Anzahl von Unterbrechungsquellen zu schaffen, was folglich weniger Chipfläche erfordert.
-
Es ist auch eine Aufgabe der Erfindung, einen Unterbrechungsprioritätsdecodierer zu schaffen, der weniger Leistung verbraucht und das höchste Prioritätsniveau von konkurrierenden Unterbrechungsanforderungen schneller detektiert als Decodierer des Standes der Technik.
-
In einem Aspekt der Erfindung wird ein Unterbrechungsprioritätsdecodierer geschaffen, der dazu konfiguriert ist, eine Unterbrechungsanforderung mit dem höchsten Prioritätsniveau aus mehreren Unterbrechungsanforderungen zu identifizieren. Der Unterbrechungsdecodierer umfasst einen Speicher, der dazu ausgelegt ist, für jede der mehreren Unterbrechungsanforderungen ein Prioritätswort zu speichern, das einem Prioritatsniveau entspricht. Jedes Prioritätswort kann m Bits umfassen.
-
Der Prioritätsdecodierer kann dann dazu konfiguriert sein, das höchste Bitniveau in derselben Bitposition der Prioritätsworte zu identifizieren. Mit anderen Worten, wenn beispielsweise das höchstwertige Bit von mindestens einem der Prioritätsworte eine logische ”1” ist, wäre das höchste Bitniveau eine logische ”1”. Wenn alle höchstwertigen Bits eine logische ”0” sind, wäre das höchste Bitniveau in dieser Bitposition eine logische ”0”. Der Unterbrechungsprioritätsdecodierer kann dann dazu konfiguriert sein, die Bitniveaus der Prioritätsworte der jeweiligen Bitposition mit dem vorher identifizierten höchsten Bitniveau zu vergleichen. Wenn das Bitniveau in der jeweiligen Bitposition eines Prioritätsworts gleich dem höchsten Bitniveau ist, wird das Prioritätswort als potentieller Kandidat für das höchste Prioritätsniveau beibehalten und in den nachfolgenden Schritten weiterverarbeitet. Wenn jedoch das Bitniveau in der jeweiligen Bitposition eines Prioritätsworts vom höchsten Bitniveau verschieden ist, wird das Prioritätswort verworfen und während der nächsten Schritte nicht weiter ausgewertet oder verglichen. Diese Prozedur wird fortlaufend und bitweise vom höchstwertigen Bit zum niedrigstwertigen Bit für die verbleibenden Prioritätsworte (nicht verworfen) wiederholt. Die schließlich verbleibenden Prioritätsworte sind dann die Prioritätsworte mit dem höchsten Binärwert und daher sind diese Prioritätsworte die Prioritätsworte mit dem höchsten Prioritätsniveau.
-
In einer Ausführungsform der Erfindung kann die Speichervorrichtung Flip-Flops umfassen.
-
Die Anzahl m kann eine beliebige Zahl, die größer ist als zwei, in Abhängigkeit von der Anzahl von Unterbrechungsprioritätsniveaus sein. Wenn m beispielsweise 7 ist, gibt es 128 verschiedene Unterbrechungsprioritätsniveaus.
-
Der Unterbrechungsprioritätsdecodierer kann eine Auswertungsstufe für jede Bitposition des Prioritätsworts umfassen. Die Auswertungsstufe kann dazu ausgelegt sein, das höchste Bitniveau in dieser Bitposition für alle Prioritätsworte zu identifizieren.
-
Der Unterbrechungsprioritätsdecodierer kann ferner eine Vergleichsstufe für jede Bitposition der Prioritätsworte umfassen. Die Vergleichsstufe kann dazu ausgelegt sein, das Bitniveau in der jeweiligen Bitposition mit dem höchsten Bitniveau, das in der Auswertungsstufe identifiziert wurde, zu vergleichen.
-
Der Unterbrechungsprioritätsdecodierer kann dann dazu konfiguriert sein, die Auswertung und den Vergleich in der Bitposition des höchstwertigen Bits zu beginnen und die Auswertung und den Vergleich für die nachfolgenden Bitpositionen nur für diejenigen Prioritätsworte, für die der vorangehende Vergleich ein Bitniveau gleich dem in dieser Bitposition identifizierten höchsten Bitniveau ergeben hat, durchzuführen.
-
Die Auswertung und der Vergleich der Prioritätsworte können dann in der Bitposition des höchstwertigen Bits begonnen werden. Die Auswertung der Bitniveaus in einer spezifischen Bitposition und der Vergleich der Bitniveaus in dieser Bitposition mit dem höchsten identifizierten Bitniveau können dann fortlaufend und bitweise in den nachfolgenden niedrigerwertigen Bitpositionen durchgeführt werden.
-
Die Auswertung und der Vergleich können dann nur für die Prioritätsworte durchgeführt werden, für die der vorangehende Vergleich ein Bitniveau gleich dem höchsten Bitniveau in der jeweiligen vorherigen Bitposition ergeben hat.
-
Die Prioritätsworte, für die der vorangehende Vergleich ein Bitniveau ergeben hat, das nicht gleich dem höchsten Bitniveau in der jeweiligen Bitposition ist, können dann im aktuellen und in allen weiteren Auswertungs- und Vergleichsschritten verworfen werden.
-
Das mindestens eine verbleibende Prioritätswort wird dann als das mindestens eine Prioritätswort mit dem höchsten Prioritatsniveau identifiziert.
-
Mit anderen Worten, die Auswertung und der Vergleich werden mit dem höchstwertigen Bit begonnen. Wenn mindestens eines der Prioritätsworte eine logische ”1” als höchstwertiges Bit aufweist, ist dies das höchste Bitniveau und alle Prioritätsworte mit einer logischen ”1” als höchstwertiges Bit werden weiterverarbeitet. Alle Prioritätsworte mit einem Bitniveau einer logischen ”0” als höchstwertiges Bit werden nicht mehr verarbeitet. Nur in dem Fall, in dem alle Prioritätsworte eine logische ”1” als höchstwertiges Bit aufweisen oder alle Worte eine logische ”0” als höchstwertiges Bit aufweisen, werden alle Prioritätsworte an die nächste Stufe übergeben. In der nächsten Auswertungsstufe wird das höchste Bitniveau in der nachfolgenden Bitposition für alle Prioritätsworte identifiziert, die an die nächste Auswertungsstufe übergeben wurden. Wiederum werden nur diejenigen Worte mit dem höchsten identifizierten Bitniveau weiterverarbeitet. Aufgrund der abnehmenden Anzahl von Prioritätsworten, die von Stufe zu Stufe übergeben werden, kann der Leistungsverbrauch des Prioritätsdecodierers (oder der elektronischen Vorrichtung mit dem Prioritätsdecodierer) beträchtlich verringert werden. In jeder der Stufen (Auswertungs- und Vergleichsstufen) werden nur einzelne Bits von jedem der Prioritätsworte gleichzeitig miteinander verglichen. Dies bedeutet, dass der ziemlich komplexe Vergleich von vollständigen Binärworten (beispielsweise 7-Bit-Worten) nicht erforderlich ist.
-
In einer bevorzugten Ausführungsform umfasst der Unterbrechungsprioritätsdecodierer einen Freigabeeingang für jede der mehreren Unterbrechungsanforderungen und ist dazu ausgelegt, nur Prioritätsworte von aktiven, d. h. freigegebenen, Unterbrechungsanforderungen zu verarbeiten. In diesem Zusammenhang ist eine aktive Unterbrechungsanforderung eine anhängige Unterbrechungsanforderung oder eine Unterbrechungsanforderung, die gegenwärtig bedient wird. Die Prioritätsworte von aktiven Unterbrechungsanforderungen werden als aktive Prioritätsworte bezeichnet.
-
In einer weiteren Ausführungsform umfasst der Unterbrechungsprioritätsdecodierer eine Speichereinheit, die dazu ausgelegt ist, ein Zwischenergebnis von mindestens einer der Vergleichsstufen zu speichern. Die Speichereinheit kann durch ein Register verwirklicht sein, aber andere Formen von Speicher sind möglich. Wenn keine Register/Speichereinheiten vorgesehen sind, müssen alle Bitpositionen, beispielsweise 7, während eines Taktzyklus verarbeitet werden, was folglich die mögliche Taktgeschwindigkeit begrenzt. Wenn eine Speichereinheit nach jeder Vergleichsstufe vorgesehen ist, muss nur eine Bitposition während einer Taktperiode verarbeitet werden, was viel höhere Takte ermöglicht, aber so viele Register wie sich Bits in einem Prioritätswort befinden benötigt. Zwischenlösungen sind natürlich möglich, beispielsweise nur ein Register für jede n-te Bitposition, wobei n größer als 1 und eine Variable innerhalb des Unterbrechungsprioritätsdecodierers ist.
-
In einer bevorzugten Ausführungsform umfassen die Auswertungsstufen ODER-Gatter und die Vergleichsstufen umfassen UND-Gatter.
-
In einer Ausführungsform wird eine elektronische Vorrichtung, beispielsweise ein System auf einem Chip, geschaffen, die einen Unterbrechungsprioritätsdecodierer gemäß der Erfindung und einen Mikrocontroller umfasst, der die Unterbrechungsanforderungen gemäß ihrer Priorität empfängt. Die Prioritätsworte können dann durch ein Anwendungsprogramm, das auf dem Mikrocontroller läuft, programmierbar sein.
-
In einer Ausführungsform kann eine elektronische Vorrichtung einen zusätzlichen fest kodierten Prioritätsdecodierer umfassen. Der fest kodierte Prioritätsdecodierer kann dann dazu konfiguriert sein, ein festes Prioritätsschema zum Priorisieren von mehreren Unterbrechungsanforderungen mit demselben und insbesondere dem höchsten Prioritätsniveau vorzusehen.
-
Der fest kodierte Prioritätsdecodierer kann dann mit einem Ausgang der Vergleichsstufe des niedrigstwertigen Bits gekoppelt sein. Der fest kodierte Prioritätsdecodierer ist erforderlich, wenn beispielsweise mehreren Unterbrechungsquellen dasselbe Prioritätsniveau zugewiesen ist. Innerhalb des fest kodierten Prioritätsdecodierers befinden sich die Unterbrechungsanforderungen in einer festen Prioritätsreihenfolge. Die Unterbrechungsanforderung mit der höchsten fest kodierten Priorität wird dann zuerst bedient. Die restlichen aktiven Unterbrechungsanforderungen werden unterdrückt, bis die Unterbrechungen mit einer höheren Priorität bedient sind. Das Bedienen der Unterbrechungsanforderungen wird dann wie in einer Kette durchgeführt.
-
Die Erfindung schafft ferner ein Verfahren zum Identifizieren einer Unterbrechungsanforderung oder von Unterbrechungsanforderungen mit dem höchsten Prioritätsniveau aus mehreren Unterbrechungsanforderungen. Prioritätsworte, die das Prioritätsniveau angeben, werden den Unterbrechungsanforderungen zugewiesen. Jedes der Prioritätsworte kann dann m Bits aufweisen. Das höchste Bitniveau der höchstwertigen Bits der Prioritätsworte wird dann identifiziert. Für alle Prioritätsworte werden die Bitniveaus der Bits in der höchstwertigen Bitposition mit dem höchsten Bitniveau, das vorher in der höchstwertigen Bitposition identifiziert wurde, verglichen. Die folgenden Schritte werden nur für Prioritätsworte durchgeführt, für die der vorangehende Vergleichsschritt ein Bitniveau gleich dem höchsten Bitniveau ergeben hat. Diese Schritte werden fortlaufend und bitweise vom höchstwertigen Bit bis zum niedrigstwertigen Bit durchgeführt. Folglich wird das höchste Bitniveau in einer nachfolgenden Bitposition (mit geringerer Wertigkeit) für alle restlichen Prioritätsworte identifiziert. Das Bitniveau des Bits in der jeweiligen Bitposition wird dann mit dem höchsten Bitniveau in der jeweiligen Bitposition verglichen. Diese Prozedur wird bitweise wiederholt, bis die Bitposition des niedrigstwertigen Bits erreicht ist. Alternativ kann die Prozedur der Beseitigung von Prioritätsworten gestoppt werden, wenn nur ein einziges Prioritätswort verbleibt. Das verbleibende Prioritätswort oder die verbleibenden Prioritätsworte sind dann die Prioritätsworte mit dem höchsten Prioritätsniveau.
-
In einer bevorzugten Ausführungsform kann das Verfahren einen vorangehenden Schritt zum Programmieren der Prioritätsniveaus durch ein Anwendungsprogramm umfassen.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Weitere Details und Eigenschaften der Erfindung gehen aus der folgenden Beschreibung der bevorzugten Ausführungsformen der Erfindung mit Bezug auf die begleitenden Zeichnungen hervor, in denen:
-
1 einen Binärbaum, der zum Identifizieren des höchsten Prioritätsworts verwendet wird, gemäß dem Stand der Technik zeigt;
-
2 ein vereinfachtes Diagramm, das die Operation des Unterbrechungsprioritätsdecodierers gemäß einer Ausführungsform der Erfindung darstellt, ist;
-
3 ein vereinfachtes Diagramm des Unterbrechungsprioritätsdecodierers gemäß einer Ausführungsform der Erfindung ist;
-
4 und 5 vereinfachte und schematische Diagramme eines Unterbrechungsprioritätsdecodierers mit Speichereinheiten gemäß einer Ausführungsform der Erfindung sind;
-
6 ein vereinfachtes Diagramm einer elektronischen Vorrichtung mit einem Unterbrechungsprioritätsdecodierer, einem fest kodierten Decodierer und einem Mikrocontroller gemäß einer Ausführungsform der Erfindung ist;
-
7 eine Tabelle zeigt, in der Gatteranzahlen und Verarbeitungszeiten einer Ausführungsform der Erfindung mit einer Beispielausführungsform gemäß dem Stand der Technik verglichen werden, und
-
8 eine Tabelle ist, die den Leistungsverbrauch einer Ausführungsform der Erfindung mit dem Leistungsverbrauch eines Decodierers des Standes der Technik unter Verwendung eines Binärbaums vergleicht.
-
AUSFÜHRLICHE BESCHREIBUNG EINER BEISPIELAUSFÜHRUNGSFORM
-
2 ist ein vereinfachtes Diagramm, das die Prozedur zum Identifizieren der Unterbrechungsanforderung mit der höchsten Priorität gemäß einer Ausführungsform der Erfindung darstellt. Es sind drei Prioritätsworte vorhanden, von denen jedes drei Bits aufweist. Es sind drei Unterbrechungsanforderungen IRQ5, IRQ8 und IRQ12 vorhanden. Eine erste Unterbrechungsanforderung IRQ5 bezieht sich auf eine 5. Unterbrechungsquelle mit einem Prioritätswert von 5, der 101 in Binärform entspricht. Eine zweite Unterbrechungsanforderung IRQ8 bezieht sich auf eine 8. Unterbrechungsquelle, die einen Prioritätswert von 4 aufweist, der 100 in Binärform entspricht. Eine dritte Unterbrechungsanforderung IRQ12 bezieht sich auf eine 12. Unterbrechungsquelle mit einem Prioritätswert von 3, der 011 in Binärform entspricht. Die Prioritätsworte ”101”, ”100” und ”011” werden in einem Speicher des Unterbrechungsprioritätsdecodierers gemäß dieser Ausführungsform der Erfindung gespeichert.
-
In einer ersten Stufe 24 werden die höchstwertigen Bits aller drei Binärworte, d. h. 1, 1 und 0, die von der gestrichelten Linie 26 umschlossen sind, in einer Auswertungsstufe zum Identifizieren des höchsten Bitniveaus in dieser Bitposition verarbeitet. Die aktuelle Bitposition ist die Bitposition des höchstwertigen Bits (MSB). Das höchste Bitniveau in dieser Bitposition ist eine logische ”1”.
-
Das höchste Bitniveau der logischen ”1” das in der Auswertungsstufe identifiziert wurde, wird dann mit den Bitniveaus der höchstwertigen Bits der drei Prioritätsworte verglichen. Die Prioritätsworte IRQ5 und IRQ8 weisen auch einen Bitwert einer logischen ”1” in der höchstwertigen Bitposition auf. Das Prioritätswort von IRQ12 weist eine logische ”0” in der höchstwertigen Bitposition auf. Daher werden nur die Prioritätsworte der Unterbrechungsanforderungen IRQ5 und IRQ8 weiterverarbeitet, wie in der Stufe 28 angegeben. Dies ist durch die gestrichelte Linie 30 um die zwei mittleren Bits der Prioritätsworte von IRQ5 und IRQ8 und dadurch, dass das Prioritätswort von IRQ12 durchgestrichen ist, angegeben. Da die Prioritätsworte von IRQ5 und IRQ8 beide eine logische ”0” in der zweiten Bitposition aufweisen, ist die logische ”0” das höchste Bitniveau in dieser Bitposition. Da Prioritätsworte dasselbe Bitniveau als höchstes Bitniveau dieser Bitposition aufweisen, werden beide Prioritätsworte (die Prioritätsworte von IRQ5 und IRQ8) in der Stufe 32 weiterverarbeitet. Die Auswertungsstufe der Stufe 32 ist dazu konfiguriert, das höchste Bitniveau der zwei Bits der Prioritätsworte von IRQ5 und IRQ8 in der niedrigstwertigen Bitposition zu identifizieren. Der Bitwert oder das Bitniveau in der niedrigstwertigen Bitposition ist eine logische ”1” für IRQ5 und eine logische ”0” für IRQ8. Daher ist das höchste Bitniveau in dieser Bitposition eine logische ”1”. in der Vergleichsstufe der Stufe 32 werden die Bitniveaus in der niedrigstwertigen Bitposition der Prioritätsworte von IRQ5 und IRQ8 mit dem höchsten identifizierten Bitniveau in dieser Bitposition (logische ”1”) verglichen. Da nur das Prioritätswort von IRQ5 dasselbe Bitniveau aufweist, ist das Prioritätswort der Unterbrechungsanforderung IRQ5 das einzige verbleibende Prioritätswort (der Gewinner) und wird daher als Prioritätswort mit dem höchsten Prioritätsniveau identifiziert. Das Prioritätswort mit dem höchsten Prioritätsniveau ist auch das Prioritätswort mit dem höchsten Binärwert. 3 zeigt einen programmierbaren Unterbrechungsprioritätsdecodierer 35 gemäß einer Ausführungsform der Erfindung. Im Allgemeinen kann ein Unterbrechungsprioritätsdecodierer 35 gemäß der Erfindung eine geeignete Schaltungsanordnung zum Verarbeiten von so vielen Unterbrechungsanforderungen und entsprechenden Prioritätsworten wie Unterbrechungsquellen vorhanden sind, die unterstützt werden müssen, umfassen. Der Unterbrechungsprioritätsdecodierer 35 gemäß Aspekten der Erfindung umfasst auch so viele nachfolgende Stufen wie sich Bits in den Prioritätsworten befinden. Der Prioritätsdecodierer 35 dieser Ausführungsform der Erfindung ist dazu konfiguriert, aktive Unterbrechungsanforderungen in drei Stufen zu verarbeiten, die Prioritätsworte mit drei Bits unterstützen. Dieselbe Schaltungsanordnung wie für IRQ5, IRQ8 und IRQ12 wird für andere, inaktive Unterbrechungen implementiert. Das mit Bezug auf 2 erläuterte Darstellungsbeispiel wird auch zum Erläutern der Operation der in 3 gezeigten Schaltungsanordnung verwendet. Folglich sind die Prioritätsworte der Unterbrechungsanforderungen IRQ5, IRQ8 und IRQ12 ”101, ”100” bzw. ”011”.
-
Eine erste Stufe 24 zur Auswertung und zum Vergleich des höchstwertigen Bits, eine zweite Stufe 28 zur Auswertung und zum Vergleich der nachfolgenden Bitposition und eine dritte Stufe 32 zur Auswertung und zum Vergleich des niedrigstwertigen Bits sind vorgesehen. Da die Gatter und Verbindungen der Gatter in den Stufen 24, 28 und 32 identisch sind, wird nur die erste Stufe 24 im Einzelnen erläutert.
-
Die Stufe 24 umfasst eine Speichervorrichtung, für die drei D-Flip-Flops 36, 38 und 40 gezeigt sind, da nur drei aktive Unterbrechungen vorhanden sind. Im Allgemeinen sind so viele D-Flip-Flops vorhanden, wie Unterbrechungsquellen vorhanden sind. Jeder D-Flip-Flop 36, 38 und 40 umfasst einen Eingang D, einen Takteingang 42 und einen Datenausgang Q. Die D-Flip-Flops 36, 38 und 40 sind zum Speichern des höchstwertigen Bits PW5B1, PW8B1, PW12B1 der jeweiligen Prioritätsworte von IRQ5, IRQ8 und IRQ12 vorgesehen. In der nachfolgenden Stufe 28 sind die D-Flip-Flops zum Speichern der zweiten Bits PW5B1, PW8B2, PW12B2 vorgesehen, wohingegen in der letzten Stufe 32 die D-Flip-Flops zum Speichern der niedrigstwertigen Bits PW5B3, PW8B3 und PW12B3 vorgesehen sind. Folglich sind die Prioritätsworte für IRQ5, IRQ8 und IRQ12 ”PW5B1, PW5B2, PW5B3”, ”PW8B1, PW8B2, PW8B3” bzw. ”PW12B1, PW12B2, PW12B3”. Wie dem Fachmann auf dem Gebiet bekannt ist, wird zum Speichern eines Bits der Dateneingang D verwendet. In einer Initialisierungsphase kann beispielsweise ein Anwendungsprogramm, das auf einem Mikroprozessor läuft, die Prioritätsworte, die die Prioritätsniveaus der jeweiligen Unterbrechungsquellen bezeichnen, in den D-Flip-Flops speichern.
-
Die Stufe 24 umfasst ferner ein UND-Gatter 44 mit einem Eingang, der mit dem Ausgang Q des D-Flip-Flops 36 verbunden ist, und einem zweiten Eingang, der mit einer Freigabeleitung 46 in Bezug auf die Unterbrechungsanforderung IRQ5 verbunden ist. Die Stufe 24 umfasst ferner ein UND-Gatter 48 mit einem Eingang, der mit dem Ausgang Q des D-Flip-Flops 38 verbunden ist, und einem zweiten Eingang, der mit einer Freigabeleitung 50 in Bezug auf die Unterbrechungsanforderung IRQ8 verbunden ist. Die Stufe 24 umfasst ferner ein UND-Gatter 52, das mit einem Eingang mit dem Datenausgang Q des D-Flip-Flops 40 verbunden ist, und mit einem zweiten Eingang, der mit einer Freigabeleitung 54 in Bezug auf die Unterbrechungsanforderung IRQ12 verbunden ist.
-
Die Stufe 24 umfasst ferner ein NICHT-ODER-Gatter 56 und ein ODER-Gatter 58. Das NICHT-ODER-Gatter 56 ist mit einem Eingang mit einem Ausgang des UND-Gatters 44 und mit einem zweiten Eingang mit einem Ausgang des ODER-Gatters 58 verbunden. Das ODER-Gatter 58 ist mit einem Eingang mit einem Ausgang des UND-Gatters 48 und mit einem zweiten Eingang mit einem Ausgang des UND-Gatters 52 verbunden.
-
Die Stufe 24 umfasst ferner ein ODER-Gatter 60, ein ODER-Gatter 62 und ein ODER-Gatter 64. Das ODER-Gatter 60 ist mit einem Eingang mit dem Datenausgang Q des Flip-Flops 36 und mit einem zweiten Eingang mit einem Eingang des ODER-Gatters 62 und einem Eingang des ODER-Gatters 64 verbunden. Das ODER-Gatter 62 ist mit einem Eingang mit dem Datenausgang Q des Flip-Flops 38 und mit dem anderen Eingang mit einem Eingang des ODER-Gatters 60 und einem Eingang des ODER-Gatters 64 verbunden. Das ODER-Gatter 64 ist mit dem zweiten Eingang mit dem Datenausgang Q des Flip-Flops 40 verbunden.
-
Die Stufe 24 umfasst ferner ein UND-Gatter 66, ein UND-Gatter 68 und ein UND-Gatter 70. Das UND-Gatter 66 ist mit einem Eingang mit dem Ausgang des ODER-Gatters 60 und mit seinem anderen Eingang mit der Freigabeleitung 46 von IRQ5 verbunden. Das UND-Gatter 68 ist mit einem Eingang mit einem Ausgang des ODER-Gatters 62 und mit einem zweiten Eingang mit der Freigabeleitung 50 von IRQ8 verbunden. Das UND-Gatter 70 ist mit einem Eingang mit dem Ausgang des ODER-Gatters 64 und mit dem anderen Eingang mit der Freigabeleitung 54 von IRQ 12 verbunden. Der Ausgang des UND-Gatters 66 ist mit der zweiten Stufe 28 in einer ähnlichen Weise wie die Freigabeleitung 46 von IRQ5 mit der Stufe 24 verbunden. Der Ausgang des UND-Gatters 68 ist mit der zweiten Stufe 28 in einer ähnlichen Weise wie die Freigabeleitung 50 von IRQ8 mit der Stufe 24 verbunden. Das UND-Gatter 70 ist mit seinem Ausgang mit der zweiten Stufe 28 in einer ähnlichen Weise wie die Freigabeleitung 54 von IRQ12 mit der Stufe 24 verbunden.
-
Im Betrieb setzt eine aktive Unterbrechungsanforderung ein Freigabebit jeweils auf Freigabeleitungen 46, 50, 54 auf eine logische ”1”. Im vorliegenden Beispiel werden IRQ5, IRQ8 und IRQ12 als aktive Unterbrechungsanforderungen betrachtet, so dass an den UND-Gattern 66, 68 und 70 der Eingang, der mit den Freigabeleitungen verbunden ist, eine logische ”1” empfängt. Wenn am anderen Eingang der UND-Gatter 66, 68 und 70 auch eine logische ”1” ist, liefern die UND-Gatter folglich eine logische ”1” an ihren Ausgängen, so dass die nächste Stufe 28 freigegeben wird.
-
Wie vorstehend erwähnt, ist in 3 nur die Schaltungsanordnung, die den aktiven Unterbrechungen zugeordnet ist, gezeigt. Alle Unterbrechungsquellen sind jedoch mit einer jeweiligen Freigabeleitung mit dem Unterbrechungsprioritätsdecodierer verbunden und alle Prioritätsworte aller Unterbrechungsquellen werden in jeweiligen D-Flip-Flops gespeichert. Die inaktiven Unterbrechungsanforderungen setzen ihre jeweiligen Freigabeleitungen auf eine logische ”0”, somit wird keine der Stufen freigegeben.
-
Die UND-Gatter 44, 48 und 52 sind auch mit den Freigabeleitungen 46, 50 bzw. 54 gekoppelt, so dass sie an einem ihrer Eingänge eine logische ”1” aufweisen. Der andere Eingang empfängt das jeweilige höchstwertige Bit. Wenn das höchstwertige Bit eine logische ”1” ist, geben folglich die UND-Gatter 44, 48 und 52 eine logische ”1” aus, und wenn das höchstwertige Bit eine logische ”0” ist, geben die UND-Gatter 44, 48 und 52 jeweils eine logische ”0” aus. Mit anderen Worten, die UND-Gatter 44, 48 und 52 geben das jeweilige höchstwertige Bit aus.
-
Im vorliegenden Beispiel, d. h. mit den in 2 gezeigten Prioritätsworten, geben die UND-Gatter 44 und 48 eine logische ”1” aus, wohingegen das UND-Gatter 52 eine logische ”0” ausgibt. Die höchstwertigen Bits von IRQ8 und IRQ12, d. h. die Ausgaben der UND-Gatter 48 und 52, werden im ODER-Gatter 58 einer ODER-Verknüpfung unterzogen. Wenn nur eines der zwei Eingangssignale in das ODER-Gatter 58 eine logische ”1” ist, gibt des ODER-Gatter 58 eine logische ”1” aus, ansonsten eine logische ”0”. Im vorliegenden Fall gibt das ODER-Gatter 58 eine logische ”1” aus.
-
Das höchste Bitniveau der höchstwertigen Bits von IRQ8 und IRQ12 wird einem NICHT-ODER-Gatter 56 zugeführt, das an seinem anderen Eingang das höchstwertige Bit von IRQ5 empfängt.
-
Das NICHT-ODER-Gatter 56 gibt eine logische ”0” aus, wenn nur einer seiner zwei Eingänge eine logische ”1” ist, und ansonsten gibt das NICHT-ODER-Gatter 56 eine logische ”1” aus. Im vorliegenden Beispiel gibt das NICHT-ODER-Gatter 56 eine logische ”0” aus, da beide Eingänge eine logische ”1” sind.
-
Das ODER-Gatter 58 und das NICHT-ODER-Gatter 56 bilden eine Auswertungsstufe, die dazu ausgelegt ist, das höchste Bitniveau in der Bitposition für alle Prioritätsworte zu identifizieren. Die Auswertungsstufe kann so erweitert werden, dass sie mehr Prioritätsworte annimmt.
-
Die ODER-Gatter 60, 62 und 64 ”vergleichen” das jeweilige höchstwertige Bit der verschiedenen Prioritätsworte IRQ5, IRQ8 und IRQ12, die an den Datenausgängen Q ausgegeben werden, mit dem Ausgang des NICHT-ODER-Getters 56, d. h. mit dem höchsten Bitniveau in der höchstwertigen Bitposition aller Prioritätsworte. Im vorliegenden Beispiel ist das höchste Bitniveau eine logische ”1”, so dass das NICHT-ODER-Gatter 56 eine logische ”0” ausgibt. Da das höchstwertige Bit für IRQ5 eine logische ”1” ist, gibt das ODER-Gatter 60 eine logische ”1” aus. Dies ist auch für IRQ8 am ODER-Gatter 62 der Fall. Das höchstwertige Bit des Prioritätsworts von IRQ12 ist eine logische ”0”. Daher gibt das ODER-Gatter 64 eine logische ”0” aus.
-
Die ODER-Gatter 60, 62 und 64 bilden die Vergleichsstufe, die dazu ausgelegt ist, für jedes Prioritätswort das Bitniveau in der jeweiligen Bitposition (d. h. für die Stufe 24 die Bitposition des höchstwertigen Bits) mit dem in der Auswertungsstufe identifizierten höchsten Bitniveau zu vergleichen. Die Vergleichsstufe kann natürlich so erweitert werden, dass sie mehr Prioritätsworte annimmt.
-
Die UND-Gatter 66 und 68 empfangen an beiden Eingängen eine ”1” und geben eine logische ”1” aus, wodurch eine Weiterverarbeitung von IRQ5 und IRQ8 ermöglicht wird. Das UND-Gatter 70 empfängt eine logische ”0” und eine logische ”1” an seinen Eingängen und gibt eine logische ”0” aus, wodurch die Weiterverarbeitung von IRQ12 deaktiviert wird.
-
Daher werden die Auswertung und der Vergleich für die nachfolgenden Bitpositionen nur für diejenigen Prioritätsworte durchgeführt, für die der vorangehende Vergleich ein Bitniveau gleich dem für das höchstwertige Bit identifizierten höchsten Bitniveau ergeben hat.
-
Aufgrund der Deaktivierung der logischen ”0” empfangen die folgenden UND-Gatter 72 und 74 in der Stufe 28 und die UND-Gatter 76 und 78 in der Stufe 32 eine logische ”0” an einem ihrer Eingänge. Diese UND-Gatter schalten nicht mehr um und verbrauchen daher keine Leistung. Dies verringert den Gesamtleistungsverbrauch.
-
Wenn dagegen alle höchstwertigen Bits eine logische ”0” wären, würden die UND-Gatter 44, 48 und 52 eine logische ”0” ausgeben. Folglich würde das ODER-Gatter 58 ebenso eine logische ”0” ausgeben und das NICHT-ODER-Gatter 56 würde eine logische ”1” ausgeben, mit der die höchstwertigen Bits, d. h. logische ”0”, in den ODER-Gattern 60, 62 und 64 verglichen werden würden. Mit dem Empfang einer logischen ”1” und einer logischen ”0” an ihren jeweiligen Eingängen würden die ODER-Gatter 60, 62 und 64 auch eine logische ”1” wie im Fall eines höchstwertigen Bits mit einer logischen ”1” ausgeben. Daher würden die UND-Gatter 66, 68 und 70 eine logische ”1” ausgeben und eine Weiterverarbeitung aller drei Unterbrechungsanforderungen ermöglichen, da alle drei Prioritätsworte dasselbe Bitniveau als höchstes Bitniveau der höchstwertigen Bits aufweisen.
-
Die Stufen 28 und 32 arbeiten ähnlich zur Stufe 24. Daher werden nur diejenigen Prioritätsworte mit demselben Bitniveau als höchstes Bitniveau in der Bitposition, die in der jeweiligen Stufe verglichen und ausgewertet wird, weiterverarbeitet.
-
In der letzten Stufe, d. h. in der Stufe 32, wird das niedrigstwertige Bit der Prioritätsworte ausgewertet und verglichen. Da das Prioritätswort von IRQ5 den höchsten Prioritätswert (den höchsten Binärwert) aufweist, liegt nur der Ausgang 79-1 auf einer logischen ”1”. Dies weist darauf hin, dass IRQ5 die Unterbrechungsanforderung mit dem höchsten Prioritätsniveau ist. Die Ausgänge 79-2 und 79-3 liegen auf einer logischen ”0”.
-
3 zeigt ein Beispiel für ein Prioritätswort mit nur drei Bits. Der erfindungsgemäße Unterbrechungsprioritätsdecodierer und das erfindungsgemäße Verfahren sind besonders vorteilhaft, wenn eine höhere Anzahl von Unterbrechungsanforderungen unterstützt werden soll, beispielsweise 128. In diesem Fall ist ein Prioritätswort mit 7 Bitpositionen erforderlich und selbstverständlich sind in diesem Fall 7 Stufen erforderlich, eine für jede Bitposition. Jede Stufe umfasst immer eine Auswertungsstufe, in der das höchste Bitniveau für diese Bitposition ausgewertet wird, und eine Vergleichsstufe, in der jedes Prioritätswort mit diesem höchsten Bitniveau verglichen wird.
-
Mit einer höheren Anzahl von Stufen nimmt die Anzahl von Gattern, die zum Decodieren des höchsten Prioritätsworts durchlaufen werden sollen, zu. In Abhängigkeit vom verwendeten Takt kann die durch die nachfolgenden Gatter verursachte Signalverzögerung größer als ein Taktzyklus sein. Folglich kann es für schnelle Takte erforderlich sein, Speichereinheiten vorzusehen, um Zwischenergebnisse zu speichern. 4 ist ein vereinfachtes Diagramm eines Unterbrechungsprioritätsdecodierers 35 gemäß einer Ausführungsform der Erfindung. Der Prioritätsdecodierer 35 umfasst sieben Stufen 80a bis 80g zum Decodieren von 7-Bit-Prioritätsworten. Jede Stufe 80a bis 80g umfasst eine Schaltungsanordnung, wie mit Bezug auf 3 für die Stufe 24 erläutert. In dem Beispiel sind 128 Freigabeleitungen 82 von 128 zu unterstützenden Unterbrechungsquellen mit der Stufe 80a gekoppelt, in der die höchstwertigen Bits verglichen werden. Folglich umfasst die Stufe 80a 128 D-Flip-Flops. Drei beispielhafte Freigabeleitungen 82 für Unterbrechungsquellen IRQ1, IRQ50 und IRQ128 sind gezeigt. Punkte zwischen den Freigabeleitungen veranschaulichen, dass weitere Freigabeleitungen vorhanden sind.
-
Um eine höhere Taktrate zu ermöglichen, ist ein Register 84 zum Speichern eines Zwischenergebnisses nach der Stufe 80c vorgesehen und ein Register 86 ist nach der Stufe 80g vorgesehen. Folglich werden während eines ersten Taktzyklus die ersten drei Bits der Prioritätsworte ausgewertet und verglichen, und während eines zweiten Taktzyklus werden die letzten vier Bits der Prioritätsworte ausgewertet und verglichen.
-
5 ist zu 4 sehr ähnlich, mit dem Unterschied, dass Register 88 nach jeder Stufe 80a bis 80g vorgesehen sind. Folglich ist ein sehr schneller Takt möglich, nur ein Bit ist während eines Taktzyklus auszuwerten und zu vergleichen.
-
6 ist ein vereinfachtes Diagramm einer elektronischen Vorrichtung 90 gemäß einer Ausführungsform der Erfindung. Die elektronische Vorrichtung 90 umfasst einen Unterbrechungsprioritätsdecodierer 35 und einen Mikrocontroller 92.
-
Der Unterbrechungsprioritätsdecodierer 35 ist mit allen unterstützten Unterbrechungsquellen gekoppelt. Aktive Unterbrechungsanforderungen setzen eine Freigabeleitung am Unterbrechungsprioritätsdecodierer 35 auf ”freigegeben”. Im vorliegenden Beispiel sind nur aktive Unterbrechungsanforderungen IRQ1 bis IRQ3 gezeigt, die gleichzeitig empfangen werden, wie durch die Pfeile angegeben. Wie bereits erläutert, umfasst der programmierbare Unterbrechungsprioritätsdecodierer 35 eine Speichervorrichtung beispielsweise in Form von D-Flip-Flops zum Speichern aller Bits von allen Prioritätsworten, die den verschiedenen unterstützten Unterbrechungsquellen zugewiesen sind.
-
Ein Anwendungsprogramm, das auf dem Mikrocontroller 92 läuft, weist allen Unterbrechungsquellen verschiedene Prioritätsniveaus zu, wobei jedes Prioritätswort einem Prioritätsniveau entspricht. Die Prioritätsworte werden in der Speichervorrichtung des Decodierers 35 gespeichert. Ein weiteres Anwendungsprogramm kann den Unterbrechungsquellen andere Prioritätsniveaus zuweisen und folglich andere Bits in den D-Flip-Flops speichern. Der Unterbrechungsprioritätsdecodierer 35 ist programmierbar und die Prioritätsniveaus können an das Anwendungsprogramm angepasst werden. Die Programmierung kann auch separat und nicht durch das Anwendungsprogramm bewirkt werden.
-
Die elektronische Vorrichtung kann wahlweise ferner einen fest kodierten Decodierer 94 umfassen. 6 zeigt ein vereinfachtes Diagramm einer Ausführungsform der Erfindung. Der fest kodierte Decodierer 94 ist durch eine gestrichelte Linie angegeben. Allen Unterbrechungsquellen wird ein festes eindeutiges Prioritätsniveau zugewiesen, d. h. alle Unterbrechungsquellen werden in eine Liste eingeordnet. Der fest kodierte Decodierer 94 kann erforderlich sein, wenn beispielsweise dasselbe Prioritätsniveau und folglich dasselbe Prioritätswort mehr als einer Unterbrechungsquelle zugewiesen ist. In diesem Fall kann der erfindungsgemäße programmierbare Unterbrechungsprioritätsdecodierer 35 kein einzelnes höchstes Prioritätswort identifizieren, da zwei oder mehr höchste Prioritätsworte vorhanden sind. Da der Mikrocontroller 92 nicht mehr als ein Prioritätswort auf einmal verarbeiten kann, würde der fest kodierte Prioritätsdecodierer 94 dann den Unterbrechungsanforderungen Prioritäten gemäß einer festen Liste zuweisen.
-
In dem in 6 gezeigten Beispiel sieht das fest kodierte Prioritätsschema vor, dass IRQ1 eine höhere Priorität aufweist als IRQ2, die eine höhere Priorität aufweist als IRQ3. In dem in 6 gezeigten Beispiel gibt der programmierbare Prioritätsdecodierer gemäß Aspekten der Erfindung IRQ2 und IRQ3 als zwei Unterbrechungsanforderungen mit derselben Priorität aus. Daher werden diese zwei Unterbrechungsanforderungen IRQ2, IRQ3 dem fest kodierten Prioritätsdecodierer zugeführt, damit sie weitererarbeitet werden. Die Unterbrechungsanforderungen IRQ2 und IRQ3 weisen dieselben höchsten Prioritätsworte auf. Der fest kodierte Prioritätsdecodierer 94 entscheidet, dass IRQ2 die höhere Priorität aufweist und zum Mikrocontroller 92 übertragen werden muss. Die in 6 gezeigte elektronische Vorrichtung kann eine integrierte Schaltung sein, beispielsweise ein System auf einem Chip.
-
7 zeigt in einer Tabelle einen Vergleich zwischen dem erfindungsgemäßen Verfahren, das als ”Bitposition” bezeichnet ist, und einem Verfahren, das als ”Binärbaum” bezeichnet ist, wie mit Bezug auf 1 erläutert. Das Verfahren gemäß der Erfindung wird auch mit einem Verfahren verglichen, das als ”verhaltensbezogen” bezeichnet ist. Dieses ”verhaltensbezogene” Verfahren erfordert einen vollständigen Vergleich aller Prioritätsworte miteinander. Eine ”verhaltensbezogene” Decodierung ist mit einer ”Blasensortierung”, wie vorstehend beschrieben, gleichbedeutend.
-
Die ersten zwei Spalten vergleichen die drei Verfahren miteinander im Fall von 32 unterstützten Unterbrechungsanforderungen. Das nächste Paar von Spalten vergleicht die drei Verfahren im Fall von 64 unterstützten Unterbrechungsanforderungen und die letzten zwei Spalten vergleichen die Verfahren im Fall von 128 unterstützten Unterbrechungsanforderungen. In allen drei Fällen erfordert das erfindungsgemäße Verfahren nur etwa die Hälfte der Gatter, die für die Binärbaummethode erforderlich sind. Eine kleinere Gatteranzahl bedeutet eine kleinere Fläche, die auf dem Chip erforderlich ist, und folglich verringerte Kosten.
-
Das erfindungsgemäße Verfahren ist auch viel schneller als die Binärbaummethode, obwohl es etwas langsamer ist als das verhaltensbezogene Verfahren, das andererseits eine viel höhere Anzahl von Gattern erfordert.
-
8 zeigt in einer weiteren Tabelle den Vergleich zwischen dem erfindungsgemäßen Verfahren ”Bitposition” und der ”Binärbaum”-Methode für 128 unterstützte Unterbrechungsanforderungen hinsichtlich der erforderlichen Leistung. Das erfindungsgemäße Verfahren benötigt nur etwa 20% der dynamischen Leistung, die für die Binärbaummethode erforderlich ist. Dies liegt im Wesentlichen an der Tatsache, dass nur diejenigen Prioritätsworte weiterverarbeitet werden, die das höchste Bitniveau aufweisen. Die Differenz der statischen Leistung ist weniger bedeutend, da die statische Leistung im Vergleich zur dynamischen Leistung ohnehin nur ein Tausendstel ist.
-
Obwohl die Erfindung vorstehend mit Bezug auf spezielle Ausführungsformen beschrieben wurde, ist sie nicht auf diese Ausführungsformen begrenzt und zweifellos kommen dem Fachmann weitere Alternativen in den Sinn, die innerhalb des Schutzbereichs der Erfindung, wie beansprucht, liegen.