-
HINTERGRUND DER ERFINDUNG
-
Die Erfindung betrifft allgemein Schaltungen und Verfahren zum Vergleichen von Werten, insbesondere in einem Mikroprozessor.
-
Insbesondere betrifft die Erfindung Schaltungen und Verfahren zum Vergleichen von Zahlen, die als ein Ausgangswert und eine Sequenz von Inkrementen in digitalen Schaltungen gegeben sind.
-
Es gibt beispielsweise Anwendungen, bei denen zu einem bestimmten Zeitpunkt bestimmt werden muss, ob ein Signal einen Wertebereich erreicht oder überschreitet.
-
Exemplarisch sind Signalübergänge im Bereich von beispielsweise 10.050 bis 10.060 zu untersuchen, wobei die Werte, die zu beobachten sind und von beispielsweise einer stimulierenden Schaltung bereitgestellt werden, zum Beispiel in Folge 10.000, 10.040 und 10.080 sind, vorliegend in Start/Inkrementpaaren {10000,-}, {-,40}, {-,40}. Ein einfacher Satz von zwei Komparatoren (10.050 ≤ Signal ≤ 10.060) hingegen verfehlt den Übergang im oben genannten Bereich, da die bereitgestellten Signale nicht dessen Körnung aufweisen. (Es wird vorausgesetzt, dass beim Stimulieren mit den genannten Werten alle (anderen) Werte von 10.050 bis 10.060 ebenfalls gültig sind.)
-
Der oben genannte Typ von Vergleich/Bestimmung ist beispielsweise von Interesse beim Durchführen einer Protokollierung eines Programmzählers (Program Counter, PC) eines Mikroprozessors. Eine PC-Schaltung erzeugt zum Steuern der Reihenfolge der Ausführung einer Gruppe von Befehlen eine Adresse, die einen Speicherort eines beliebigen Befehlscodes angibt, der auf einem Speichermedium gespeichert ist. Die Steuerung kann auf solch eine Weise erfolgen, dass die Befehlscodes in einer Reihenfolge ausgeführt werden, die von einem Programm vorgeschrieben ist. Die Befehlscodes werden durch Festlegen von Adressen bezeichnet, die deren Speicherort angeben. Die PC-Schaltung erzeugt solche Adressen und gibt die Adressen als PC-Werte aus.
-
Im Allgemeinen zählt der Programmzähler automatisch bei jedem Befehlszyklus nach oben, so dass die Befehle normalerweise sequentiell vom Speichermedium abgerufen werden. Bestimmte Befehle allerdings wie Sprünge und Unterprogrammaufrufe und Rücksprünge unterbrechen die Sequenz durch Einsetzen eines neuen Werts im Programmzähler.
-
Bei einer superskalaren CPU zum Beispiel empfängt die Protokollier-Hardware den absoluten PC-Wert nur unter bestimmten Umständen, beispielsweise bei Beginn der Protokollierung oder nach einem Programmsprung, und die Codeausführung wird ansonsten von der CPU in Form von PC-Inkrementen angezeigt, wobei jedes Inkrement anzeigt, dass ein oder mehrere Befehle ausgeführt wurden.
-
Eine typische Aufgabe der Protokollier-Hardware ist das Auswerten der empfangenen PC-Werte zum Erzeugen von Steuersignalen, z. B. Haltepunkten. Ein Satz von Komparatoren kann zum Bestimmen verwendet werden, ob die CPU Befehle in einem bestimmten PC-Bereich ausgeführt hat oder sogar ob sie nur einen bestimmten Befehl an einer bestimmten PC-Stelle ausgeführt hat.
-
Fortfahrend mit dem oben genannten Beispiel und vorausgesetzt die stimulierende Schaltung kann Inkremente von 2 bis 40 in Schritten von 2 bereitstellen, muss die Protokollier-Hardware oder Vergleichs-Hardware alle Werte von 10.040 bis 10.080 in Schritten von 2 vergleichen, wenn der Wert 10.080 (eigentlich das Inkrement „{-,40}“) in einem zweiten Schritt nach Empfang des Werts 10040 empfangen wird. Diese Vielzahl von Vergleichsprozessen muss im gleichen Taktzyklus oder sequentiell durchgeführt werden, wobei jedoch folgende Probleme auftreten: Einerseits ist das vollständige Durchführen des Vergleichs für jeden berechneten Wert kostspielig (normalerweise werden PC-Werte mit 24 bis 32 oder sogar mehr Bits dargestellt) und andererseits ist das Verwenden zusätzlicher Taktzyklen höchst nachteilig für die Prozessorleistung, insbesondere wenn die CPU die Inkremente in einer großen Bandbreite bereitstellt. Aus diesen und anderen Gründen besteht ein Bedarf für die vorliegende Erfindung.
-
In Croad, J.G.: Range Comparator. IBM Technical Disclosure Bulletin, Vol. 7, 12, Mai 1965, Seiten 1158 1159, ist ein Bereichsvergleicher offenbart, welcher einen diskreten Einzelwert mit einem vorgegebenen Wertebereich vergleicht.
-
In Tietze, U., Schenk, Ch.: Halbleiter-Schaltungstechnik, 9. Auflage, Springer Verlag 1989, Seiten 603-613, sind Grundlagen der Schaltungstechnik offenbart.
-
Es ist eine konkrete technische Aufgabe, eine effiziente Auswertung von aktuellen Program Counter-Werten zur Erzeugung von Haltepunkt-Steuersignalen bereitzustellen.
-
KURZE ZUSAMMENFASSUNG DER ERFINDUNG
-
Die Aufgabe wird durch den Gegenstand des Patentanspruchs 1 gelöst. Ein weiteres Ausführungsbeispiel ist im abhängigen Anspruch 2 beschrieben.
-
Gemäß einer Erscheinungsform der Erfindung wird ein Verfahren zum Untersuchen eines Schnitts eines ersten Wertebereichs und eines zweiten Wertebereichs, von denen jeder einen unteren Grenzwert und einen oberen Grenzwert umfasst, in einem Mikroprozessor bereitgestellt, wobei das Verfahren ein Untersuchen, ob ein Wert des Wertebereichs größer gleich dem unteren Grenzwert des zweiten Wertebereichs ist, und ein Untersuchen umfasst, ob der untere Grenzwert des ersten Wertebereichs kleiner gleich dem oberen Grenzwert des zweiten Wertebereichs ist.
-
Gemäß einer weiteren Erscheinungsform der Erfindung wird eine Schaltung zum Untersuchen eines Schnitts eines ersten Wertebereichs und eines zweiten Wertebereichs, von denen jeder einen unteren Grenzwert und einen oberen Grenzwert umfasst, bereitgestellt, wobei die Schaltung erste Mittel zum Untersuchen, ob ein Wert des Werterbereichs größer gleich dem unteren Grenzwert des zweiten Wertebereichs ist, und zweite Mittel zum Untersuchen umfasst, ob der untere Grenzwert des ersten Wertebereichs kleiner gleich dem oberen Grenzwert des zweiten Wertebereichs ist.
-
Weitere Merkmale, Erscheinungsformen und Vorzüge der vorliegenden Erfindung werden in der folgenden detaillierten Beschreibung unter Bezugnahme auf die beigefügten Zeichnungen offensichtlich.
-
Figurenliste
-
Die beigefügten Zeichnungen sind enthalten, um ein besseres Verständnis der vorliegenden Erfindung zu ermöglichen, und sind integriert in die vorliegende Beschreibung und bilden einen Bestandteil dieser. Die Zeichnungen zeigen Ausführungsbeispiele der vorliegenden Erfindung und dienen zusammen mit der Beschreibung zum Erläutern der Grundgedanken der Erfindung. Andere Ausführungsbeispiele der vorliegenden Erfindung und viele der beabsichtigten Vorzüge der vorliegenden Erfindung sind einfach zu beurteilen, da sie unter Bezugnahme auf die folgende detaillierte Beschreibung besser zu verstehen sind.
- 1 zeigt eine schematische, beispielhafte Darstellung eines Schnitts einer Programmprotokolliereinheit, die mindestens eine Schaltung nach Ausführungsbeispielen der Erfindung umfasst;
- 2 zeigt eine grafische Darstellung einer Ungleichung, die von der in 1 gezeigten Schaltung zu untersuchen ist;
- 3 zeigt ein Schemadiagramm einer Schaltung nach einem Ausführungsbeispiel der Erfindung; und
- 4 zeigt ein Schemadiagramm einer Schaltung nach einem weiteren Ausführungsbeispiel der Erfindung.
-
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
-
In der folgenden detaillierten Beschreibung wird auf die beigefügten Zeichnungen Bezug genommen, die einen Teil dieser bilden und in denen zur Erläuterung spezifische Ausführungsbeispiele gezeigt werden, in denen die Erfindung ausgeführt werden kann. Es ist darauf hinzuweisen, dass andere Ausführungsbeispiele verwendet und strukturelle oder anderweitige Änderungen vorgenommen werden können, ohne dass vom Umfang der vorliegenden Erfindung abgewichen wird. Die folgende detaillierte Beschreibung darf daher nicht in einem einschränkenden Sinn verstanden werden, und der Umfang der vorliegenden Erfindung ist durch die beigefügten Ansprüche definiert.
-
1 zeigt eine schematische, beispielhafte Darstellung eines Schnitts einer Programmprotokolliereinheit (Program Trace Unit, PTU) nach einem Ausführungsbeispiel der Erfindung, beispielsweise der PTU einer superskalaren CPU. Eine typische Aufgabe der PTU ist beispielsweise das Auswerten der empfangenen PC-Werte zum Erzeugen von Steuersignalen, z. B. Haltepunkten.
-
Wie in 1 gezeigt, umfasst die PTU mindestens eine Komparatorschaltung 11 .
-
Die Komparatorschaltung
11 empfängt die Eingangssignale valid_I 13, ip_ref_I 14 und cur_inc_I 15 . Das Eingangssignal valid_I 13 gibt an, ob die empfangenen Befehlszeigerinkremente „aktuell gültig“ sind oder nicht. Nur wenn der protokollierte Programmablauf aktuell linear ist, können die Befehlszeigerinkremente unmittelbar ausgewertet und parallel für die wenigstens eine Komparatorschaltung
11 bereitgestellt werden. Wenn jedoch der protokollierte Programmablauf aktuell nicht linear ist, beispielsweise weil die PTU auf das Auftreten eines Sprungziels wartet, muss die PTU zwischenzeitlich die empfangenen Inkremente speichern, bis die Zieladresse auftritt, da die empfangenen Inkremente in Bezug zu dieser Zieladresse interpretiert werden müssen. Wenn somit das Eingangssignal valid_I 13 „nicht aktuell gültige“ Inkremente anzeigt, bleibt die wenigstens eine Komparatorschaltung
11 auf Standby, bis das Eingangssignal valid_I 13 „aktuell gültige“ Inkremente anzeigt. Eine Eingabe des Vortriggers
12 ist mit einer Ausgabe der wenigstens einen Komparatorschaltung
11 zum Bereitstellen eines Komparatorsignals
17 verbunden. Auf der Basis des Komparatorsignals
17 von der wenigstens einen Komparatorschaltung
11 stellt der Vortrigger einen Treffer bereit (z.B. Aktivieren eines Vortrigger-Signals
12), wenn mindestens einer der in den bereitgestellten Eingaben ip_ref_I 14 and cur_inc_I 15 beinhalteten Programmzähler-(PC-)Werte innerhalb des programmierten Bereichs, beschrieben durch die Ungleichung 1, liegt:
bzw.:
-
Dabei gilt:
- BND ist der untere Grenzwert des programmierten Bereichs;
- RNG ist die Breite des programmierten Bereichs;
- PC ist der aktuelle Programmzählerwert;
- ip_ref_r ist der „alte PC-Wert“ vom vorhergehenden Taktzyklus;
- inci sind eine Vielzahl von Inkrementen (0...cur_inc_r), wobei cur_inc_r das maximale Inkrement des aktuellen Taktzyklus ist.
-
2 zeigt eine grafische Darstellung von Ungleichung 1. Das obere Diagramm zeigt die Ungleichung 1 im Falle von cur_inc_r = 0. In diesem Fall ist die Ungleichung 1 nur wahr („Treffer“), wenn ip_ref_3 innerhalb der Grenzwerte BND und BND+RNG (Intervall 22) liegt oder diesen entspricht. Andernfalls ist die Ungleichung 1 unwahr („kein Treffer“, Intervall 21 und 23).
-
Das untere Diagramm zeigt einen allgemeinen Fall von Ungleichung 1. In diesem Fall ist das Intervall von Werten für ip_ref_r, für das die Ungleichung 1 erfüllt ist („Treffer“), größer: Zusätzlich zum Intervall 25b (BND...BND + RNG), das dem Intervall 22 des oberen Diagramms entspricht, erfüllen auch Werte für ip_ref_r im angrenzenden Intervall 25a die Ungleichung 1. Für Werte von ip_ref_r innerhalb dieses Intervalls 25a liegt der aktuelle PC-Wert (PC = ip_ref_r + inci) - für entsprechende Werte von inci - innerhalb des programmierten Bereichs (BND...BND + RNG). Da inci ansteigende Werte mit einem maximalen Wert von cur_inc_r sind, hat Intervall 25a eine Breite von cur_inc_r und liegt unterhalb des Intervalls 25b.
-
Werte von ip_ref_r in den Intervallen 24 und 26 erfüllen die Ungleichung 1 nicht („kein Treffer“).
-
Zum Untersuchen von Ungleichung 1, die eigentlich eine „Doppelungleichung“ ist, wird die Ungleichung 1 in zwei Teilungleichungen
2 und
3 aufgeteilt:
und
-
Unter der Annahme, dass es nicht wichtig ist, genau zu wissen, welcher Wert von inci die Ungleichung 1 erfüllt, d. h. Ungleichung 2 und 3, kann Ungleichung 3 auf Grundlage folgender Überlegungen vereinfacht werden: Zum Untersuchen, ob einer der Werte von ip_ref_r + inci kleiner gleich BND + RNG ist, reicht eine Untersuchung, ob ip_ref_r kleiner gleich BND + RNG ist: Wenn der kleinste Wert von ip_ref_r + inci, d. h. ip_ref_r (inc
i = 0), bereits größer ist als BND + RNG, wird kein anderer Wert von ip_ref_r + inc
i kleiner gleich BND + RNG sein, was zur vereinfachten Ungleichung 3a führt:
-
3 zeigt eine Schaltung nach einem Ausführungsbeispiel der Erfindung, die eine Hardware-Implementierung einer Untersuchung von Ungleichung 2 und 3a darstellt. Die Schaltung von 3 umfasst ein Subtrahierglied 301, das die Digitalwerte von BND und ip_ref_r als Eingabe empfängt und einen Differenzdigitalwert BND-ip_ref_r als Ausgabe erzeugt, der ein Vorzeichenbit, m höchstwertige Bits (Most Significant Bits, MSBs) und n niedrigstwertige Bits (Least Significant Bits, LSBs) umfasst, unter der Annahme, dass ip_ref_r m + n Stellen und cur_inc_r n Stellen umfasst.
-
Das Vorzeichenbit von BND-ip_ref_r ist „0“, wenn BND-ip_ref_r positiv oder gleich 0 ist, und ist „1“, wenn BND-ip_ref_r negativ ist.
-
Die n LSBs von BND-ip_ref_r umfassen die n niedrigsten Stellen des Digitalwerts von BND-ip_ref_r.
-
Darüber hinaus umfassen die m MSBs von BND-ip_ref_r die restlichen m (höchsten) Stellen von BND-ip_ref_r.
-
Die Ausgabe des Subtrahierglieds 301 wird als erste Eingabe dem Addierglied 302 über die Verbindung 320a bereitgestellt und ebenfalls über die Verbindung 320b übertragen, welche in drei separate Verbindungen 321, 322 und 323 verzweigt. Die Verbindung 321 überträgt das Vorzeichenbit von BND-ip_ref_r als eine erste Eingabe zur ODER-Schaltung 311, die Verbindung 322 überträgt die m höchstwertigen Bits als erste Eingabe zum Gleichheitskomparator 303, und die Verbindung 323 überträgt die n niedrigstwertigen Bits zu einer Vielzahl von Gleichheitskomparatoren 304a - 304k.
-
Der Gleichheitskomparator 303 untersucht, ob jeder der m MSBs von BND-ip_ref_r gleich Null ist (bereitgestellt für eine zweite Eingabe von Komparator 303) und stellt das Ergebnis als logisches Bit (1 = wahr, 0 = unwahr) für eine erste Eingabe der UND-Schaltung 308 bereit.
-
Die Gleichheitskomparatoren 304a - 304k untersuchen jeweils, ob die n LSBs von BND-ip_ref_r gleich beliebigen möglichen Inkrementen inci sind, d. h. bei beliebigem inci in 0 max(cur_inc_r). Die Gleichheitskomparatoren 304b - 304k stellen ihre entsprechenden Ergebnisse als logische Bits (1 = wahr, 0 = unwahr) jeweils für die ersten Eingaben der UND-Schaltungen 306b - 306k über die entsprechenden Verbindungen 326b - 326k bereit, wobei die Ausgabe des Gleichheitskomparators 304a direkt mit einer Eingabe der ODER-Schaltung 310 über die Verbindung 327a verbunden ist.
-
Jeder der Größenkomparatoren 305b - 305k empfängt den Digitalwert von cur_inc_r als eine erste Eingabe und untersucht jeweils, ob cur_inc_r größer gleich einem der möglichen Inkremente inci, beginnend mit dem Wert 2 bis zum Wert max(cur_inc_r), ist; (die möglichen Inkremente inci werden als entsprechende zweite Eingaben für die Komparatoren 305b - 305k bereitgestellt). Die Ergebnisse werden als logische Bits (1 = wahr, 0 = unwahr) für die jeweiligen zweiten Eingaben der entsprechenden UND-Schaltungen 306b - 306k über die jeweiligen Verbindungen 325b - 325k bereitgestellt.
-
Jede der jeweiligen Ausgaben der UND-Schaltungen 306b - 306k wird als weitere Eingabe für die ODER-Schaltung 310 über die Verbindungen 327b - 327k bereitgestellt.
-
Die UND-Schaltung 308 empfängt (wie beschrieben) die Ausgabe des Gleichheitskomparators 303 als erste Eingabe und zusätzlich zu dieser die Ausgabe der ODER-Schaltung 310 als zweite Eingabe und stellt ihre erzeugte Ausgabe als zweite Eingabe für die ODER-Schaltung 311 über die Verbindung 328 bereit.
-
Die ODER-Schaltung 311 empfängt (wie beschrieben) das Vorzeichenbit von BND-ip_ref_r und die Ausgabe der UND-Schaltung 308 als Eingaben und stellt die erzeugte Ausgabe über die Verbindung 329 als erste Eingabe für die UND-Schaltung 309 bereit.
-
Das Addierglied 302 addiert die Ausgabe des Subtrahierglieds 301 zum Digitalwert RNG (empfangen als zweite Eingabe am Addierglied 302) und gibt einen Summendigitalwert von BND-ip_ref_r + RNG aus, umfassend ein Vorzeichenbit, m MSBs und n LSBs.
-
Die UND-Schaltung 309 empfängt das Bit für das Minus-Vorzeichen von BND-ip_ref_r + RNG über die Verbindung 330 als zweite Eingabe und (wie beschrieben) die Ausgabe der ODER-Schaltung 311 über die Verbindung 329 als erste Eingabe. Das Ausgabebit der UND-Schaltung 309, das die Endausgabe der Schaltung in 3 darstellt, gibt an, dass wenigstens ein Wert der Vielzahl von Werten von ip_ref_r + inci die Ungleichungen 2 und 3a erfüllt, wenn es „1“ (1 = wahr) ist, und gibt an, dass kein Wert der Vielzahl von Werten von ip_ref_r + inci die Ungleichungen 2 und 3a erfüllt, wenn es „0“ (0 = unwahr) ist.
-
Im Folgenden wird die Untersuchung der Ungleichung 1 aus einem etwas anderen Blickwinkel betrachtet. Da bei vielen Anwendungen, wie etwa der Protokollierung von PC-Werten, es nicht wesentlich ist, genau zu wissen, welcher Wert, beispielsweise ein PC-Wert, in einem fest vorgegebenen Bereich, beispielsweise einem programmierten Bereich (BND...BND + RNG), liegt, kann die Untersuchung der Ungleichung 1 wie folgt vereinfacht werden: Die Ungleichung 1 kann zu einem einfachen Problem der Mengenlehre umformuliert werden: Da die untersuchten PC-Werte ebenfalls einen Bereich bzw. ein Intervall von diskreten Werten (ip_ref_r...ip_ref_r + inci) bilden, kann die Untersuchung der Ungleichung 1 jeweils als eine Untersuchung des Schnitts von zwei Wertesätzen oder zwei Wertebereichen betrachtet werden. Entsprechend ist die Ungleichung 1 wahr, wenn der Schnitt der zwei Wertebereiche mindestens einen Wert umfasst; die Ungleichung 1 ist hingegen unwahr, wenn der Schnitt der beiden Wertebereiche leer ist.
-
Es wird jedoch darauf hingewiesen, dass die letzten Schlussfolgerungen streng genommen nur für zwei kontinuierliche Wertebereiche gültig sind. Wenn andernfalls ein Wertebereich diskret ist, kann der Schnitt der beiden Wertebereiche leer sein, auch wenn der untere/obere Grenzwert von einem Wertebereich jeweils kleiner/größer ist als der untere/obere Grenzwert des anderen Bereichs, wobei ein Inkrement des diskreten Wertebereichs größer ist als der gesamte andere Wertebereich.
-
Bei bestimmten Anwendungen jedoch, beispielsweise beim Protokollieren eines PC-Werts in einem Mikroprozessor, kann die Betrachtung des diskreten Bereichs von Inkrementen als ein tatsächlich kontinuierlicher Bereich, der alle zwischen den entsprechenden Inkrementen liegenden gültigen Werte umfasst, wünschenswert sein.
-
Entsprechend kann eine Lösung für das oben genannte Problem eine Untersuchung der Grenzwerte der beiden Wertebereiche umfassen. Wenn der untere Grenzwert von einem Wertebereich größer ist als der obere Grenzwert des anderen Wertebereichs, ist der Schnitt der beiden Wertebereiche leer.
-
Andernfalls umfasst der Schnitt mindestens einen Wert.
-
Somit kann die Ungleichung 1 vereinfacht werden, wenn sie in zwei Teilungleichungen unterteilt wird:
und
-
Wenn jedoch die zu untersuchenden Werte einen hohen absoluten Wert haben, erfordert eine Hardware-Lösung zur genauen Implementierung des oben genannten Lösungsansatzes große und teure Größenkomparatoren zum Vergleichen von hohen Werten (beispielsweise 24- oder 32-Bit-Werte oder noch höhere Werte).
-
Aus diesem Grund wird ip_ref_r jeweils auf beiden Seiten der Ungleichungen 2b und 3b subtrahiert und die Ungleichungen 2b und 3b gestalten sich wie folgt:
und
-
Auf diese Weise müssen lediglich erheblich kleinere Werte verglichen werden, um die Ungleichungen 2b' und 3b' zu untersuchen.
-
Die Ungleichung 2b' kann zur Hardware-Implementierung weiter vereinfacht werden wie folgt:
-
Somit müssen nur zwei Vorzeichenuntersuchungen durchgeführt werden, um die Ungleichungen 2b" und 3b' zu untersuchen: Für die Gleichung 2b" muss das Vorzeichen des Werts von BND-ip_ref_r-cur_inc_r untersucht werden, und für die Gleichung 3b' muss das Vorzeichen des Werts von BND-ip_ref_r + RNG untersucht werden. Ein entsprechendes Ausführungsbeispiel der Erfindung wird anschließend detailliert unter Bezugnahme auf 4 beschrieben.
-
4 zeigt eine Schaltung nach einem Ausführungsbeispiel der Erfindung, die eine Hardware-Implementierung einer Untersuchung der Ungleichungen 2b" und 3b' darstellt.
-
Die Schaltung von 4 umfasst ein Subtrahierglied 401, das die Werte von BND und ip_ref_r als erste und zweite Eingabe empfängt und einen Differenzwert BND-ip_ref_r erzeugt.
-
Die Ausgabe des Subtrahierglieds 401, BND-ip_ref_r, wird als eine erste Eingabe für das Subtrahierglied 431 über die Verbindungen 440 und 440a und ebenfalls als eine erste Eingabe für das Addierglied 402 über die Verbindungen 440 und 440b bereitgestellt.
-
Das Subtrahierglied 431 empfängt zusätzlich den Wert von cur_inc_r (als eine zweite Eingabe) und subtrahiert cur_inc_r von der Ausgabe des Subtrahierglieds 401, BND-ip_ref_r, um einen Differenzwert BND-ip_ref_r-cur_inc_r zu erzeugen. Der Komparator 432 empfängt den Differenzwert und untersucht, ob der Differenzwert von BND-ip_ref_r-cur_inc_r kleiner gleich Null ist. Wenn der Differenzwert von BND-ip_ref_r-cur_inc_r kleiner gleich Null ist, stellt der Komparator 432 eine logische „1“ (wahr) für eine erste Eingabe der UND-Schaltung 409 über die Verbindung 443 und eine logische „0“ (unwahr) bereit, falls der Differenzwert von BND-ip_ref_r-cur_inc_r größer als Null ist.
-
Das Addierglied 402 empfängt wie beschrieben die Ausgabe des Subtrahierglieds 401 BND-ip_ref_r als eine erste Eingabe und den Wert von RNG als eine zweite Eingabe und gibt einen Summenwert BND-ip_ref_r + RNG für den Komparator 433 über die Verbindung 442 aus.
-
Der Komparator 433 untersucht, ob der Summenwert von BND-ip_ref_r + RNG größer gleich Null ist. Wenn der Summenwert von BND-ip_ref_r + RNG größer gleich Null ist, stellt der Komparator 433 eine logische „1“ (wahr) für eine zweite Eingabe der UND-Schaltung 409 über die Verbindung 444 und eine logische „0“ (unwahr) bereit, falls der Summenwert von BND-ip_ref_r + RNG kleiner als Null ist.
-
Die UND-Schaltung 409 empfängt wie beschrieben die Ausgaben der Komparatoren 432 und 433 als Eingaben und stellt eine logische „1“ (wahr) nur bereit, wenn die Ausgaben der Komparatoren 432 und 433 beide wahr sind; andernfalls stellt sie eine logische „0“ (unwahr) bereit.
-
Die Ausgabe der UND-Schaltung 409, die auch die Endausgabe der Schaltung von 4 darstellt, ist daher wahr („0“), wenn beide Ungleichungen 2b" und 3b' erfüllt sind, und andernfalls unwahr („1“).
-
11 Komparatorschaltung 12 Vortrigger 13 Eingangssignal 14 Eingangssignal 15 Eingangssignal 16 Eingangssignale 17 Komparatorsignal 21 Wertebereich 22 Wertebereich 23 Wertebereich 24 Wertebereich 25a Wertebereich 25b Wertebereich 26 Wertebereich 301 Subtrahierglied 302 Addierglied 303 Gleichheitskomparator 304a-k Gleichheitskomparatoren 305b-k Größenkomparatoren 306b-k UND-Schaltungen 308 UND-Schaltung 309 UND-Schaltung 310 ODER-Schaltung 311 ODER-Schaltung 320a Verbindung 320b Verbindung 321 Verbindung 322 Verbindung 323 Verbindung 324 Verbindung 325b-k Verbindungen 326b-k Verbindungen 327a-k Verbindungen 328 Verbindung 329 Verbindung 330 Verbindung 401 Subtrahierglied 402 Addierglied 409 UND-Schaltung 431 Subtrahierglied 432 Größenkomparator 433 Größenkomparator 440 Verbindung 440a Verbindung 440b Verbindung 441 Verbindung 441 Verbindung 443 Verbindung 444 Verbindung