DE102007040148B4 - Microprocessor with a circuit for evaluating a large number of program counter (PC) values for generating breakpoint control signals for a program logging unit - Google Patents
Microprocessor with a circuit for evaluating a large number of program counter (PC) values for generating breakpoint control signals for a program logging unit Download PDFInfo
- Publication number
- DE102007040148B4 DE102007040148B4 DE102007040148.7A DE102007040148A DE102007040148B4 DE 102007040148 B4 DE102007040148 B4 DE 102007040148B4 DE 102007040148 A DE102007040148 A DE 102007040148A DE 102007040148 B4 DE102007040148 B4 DE 102007040148B4
- Authority
- DE
- Germany
- Prior art keywords
- value
- subtraction result
- signal representing
- ref
- range
- 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 - Fee Related
Links
- 238000011835 investigation Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 5
- 230000004936 stimulating effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
- G06F7/026—Magnitude comparison, i.e. determining the relative order of operands based on their numerical value, e.g. window comparator
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
Abstract
Mikroprozessor, miteiner Programmprotokolliereinheit, welche eine Schaltung aufweist zum Auswerten einer Vielzahl von Program Counter (PC) - Werten zur Erzeugung von Haltepunkt-Steuersignalen für die Programmprotokolliereinheit, wobei von der Schaltung untersucht wird, ob mindestens ein Program Counter (PC) - Wert aus der Vielzahl von Program Counter (PC) - Werten, welche einen zweiten Wertebereich bilden, innerhalb eines vorgegebenen ersten Wertebereichs (BND...BND+RNG) liegt, wobei der erste Wertebereich und der zweite Wertebereich kontinuierliche Wertebereiche sind, und wobei der zweite Wertebereich den Bereich ip_ref_r...ip_ref_r+cur_inc_r bildet, wobei ip_ref_r den alten PC-Wert des vorherigen Taktzyklus darstellt, und cur_inc_r das maximale Inkrement des aktuellen Taktzyklus darstellt, und wobei die Schaltung umfasst:ein erstes Subtrahierglied (401), welches den unteren Grenzwert des ersten Wertebereichs (BND) und den unteren Grenzwert des zweiten Wertebereichs (ip_ref_r) repräsentierende Signale empfängt, und zur Erzeugung eines ein erstes Subtraktionsergebnis repräsentierenden ersten Subtraktionsergebnissignals den unteren Grenzwert des zweiten Wertebereichs (ip_ref_r) vom unteren Grenzwert des ersten Wertebereichs (BND) subtrahiert;ein zweites Subtrahierglied (431), welches das das erste Subtraktionsergebnis repräsentierende erste Subtraktionsergebnissignal vom ersten Subtrahierglied (401) empfängt, und zur Erzeugung eines ein zweites Subtraktionsergebnis repräsentierenden zweiten Subtraktionsergebnissignals das empfangene maximale Inkrement des zweiten Wertebereichs cur_inc_r vom ersten Subtraktionsergebnis subtrahiert;einen ersten Komparator (432), welcher das das zweite Subtraktionsergebnis repräsentierende zweite Subtraktionsergebnissignal vom zweiten Subtrahierglied (431) empfängt, und untersucht, ob das zweite Subtraktionsergebnis vom zweiten Subtrahierglied (431) kleiner gleich Null ist, und falls ja, ein einen Wahr-Wert repräsentierendes Signal ausgibt, und falls nein, ein einen Unwahr-Wert repräsentierendes Signal ausgibt;ein Addierglied (402), welches das das erste Subtraktionsergebnis repräsentierende erste Subtraktionsergebnissignal vom ersten Subtrahierglied (401) empfängt, ein die Breite des zweiten Wertebereichs repräsentierendes Signal (RNG) empfängt, und ein einen Summenwert des ersten Subtraktionsergebnisses und der Breite des zweiten Wertebereichs repräsentierendes Signal ausgibt;einen zweiten Komparator (433), welcher das den Summenwert repräsentierende Signal vom Addierglied (402) empfängt, und untersucht, ob der Summenwert größer gleich Null ist, und falls ja, ein einen Wahr-Wert repräsentierendes Signal ausgibt, und falls nein, ein einen Unwahr-Wert repräsentierendes Signal ausgibt; undeine UND-Schaltung (409), die die jeweils einen Wahr- oder Unwahr-Wert repräsentierenden Signale vom ersten (433) und zweiten Komparator (432) empfängt, und ein einen Wahr-Wert repräsentierendes Ergebnissignal ausgibt, wenn die vom ersten (433) und zweiten Komparator (443) empfangenen Signale beide einen Wahr-Wert repräsentieren, und andernfalls ein einen Unwahr-Wert repräsentierendes Ergebnissignal ausgibt.Microprocessor, with a program logging unit which has a circuit for evaluating a plurality of program counter (PC) values for generating breakpoint control signals for the program logging unit, the circuit examining whether at least one program counter (PC) value from the A large number of program counters (PC) values which form a second value range lie within a predetermined first value range (BND ... BND + RNG), the first value range and the second value range being continuous value ranges, and the second value range being the Range ip_ref_r ... ip_ref_r + cur_inc_r forms, where ip_ref_r represents the old PC value of the previous clock cycle, and cur_inc_r represents the maximum increment of the current clock cycle, and wherein the circuit comprises: a first subtractor (401) which is the lower limit of the first value range (BND) and the lower limit of the second value range (ip_ref_r) receiving signals, and for generating a first subtraction result signal representing a first subtraction result signal subtracts the lower limit value of the second value range (ip_ref_r) from the lower limit value of the first value range (BND); a second subtractor (431) which subtracts the first subtraction result signal representing the first subtraction result receives the first subtractor (401), and subtracts the received maximum increment of the second value range cur_inc_r from the first subtraction result to generate a second subtraction result signal representing a second subtraction result; a first comparator (432), which represents the second subtraction result signal (431) representing the second subtraction result ), and examines whether the second subtraction result from the second subtractor (431) is less than or equal to zero, and if so, an S representing a true value signal, and if no, outputs a signal representing a false value; an adder (402) which receives the first subtraction result signal representing the first subtraction result from the first subtraction member (401) receives a signal (RNG) representing the width of the second value range , and outputs a signal representing a sum value of the first subtraction result and the width of the second value range; a second comparator (433) which receives the signal representing the sum value from the adder (402) and examines whether the sum value is greater than or equal to zero, and if yes, outputs a signal representing a true value, and if no, outputs a signal representing a false value; and an AND circuit (409) which receives the signals representing a true or false value from the first (433) and second comparator (432) and outputs a result signal representing a true value when the signal from the first (433) and second comparator (443) received signals both represent a true value, and otherwise outputs a result signal representing a false value.
Description
HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION
Die Erfindung betrifft allgemein Schaltungen und Verfahren zum Vergleichen von Werten, insbesondere in einem Mikroprozessor.The invention relates generally to circuits and methods for comparing values, particularly in a microprocessor.
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.In particular, the invention relates to circuits and methods for comparing numbers given as an output value and a sequence of increments in digital circuits.
Es gibt beispielsweise Anwendungen, bei denen zu einem bestimmten Zeitpunkt bestimmt werden muss, ob ein Signal einen Wertebereich erreicht oder überschreitet.For example, there are applications in which it must be determined at a certain point in time whether a signal reaches or exceeds a value range.
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
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.The above type of comparison / determination is of interest, for example, when logging a program counter (PC) of a microprocessor. A PC circuit generates an address to control the order of execution of a group of instructions, which indicates a location of any instruction code stored on a storage medium. Control can be done in such a way that the command codes are executed in an order prescribed by a program. The command codes are identified by specifying addresses that indicate their location. The PC circuit generates such addresses and outputs the addresses as PC values.
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.In general, the program counter automatically counts up on each instruction cycle so that the instructions are normally retrieved sequentially from the storage medium. However, certain commands such as jumps and subroutine calls and jumps interrupt the sequence by inserting a new value in the program counter.
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.With a superscalar CPU, for example, the logging hardware only receives the absolute PC value under certain circumstances, for example when logging begins or after a program jump, and the code execution is otherwise displayed by the CPU in the form of PC increments, with each increment indicates that one or more commands have been executed.
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.A typical task of the logging hardware is to evaluate the received PC values to generate control signals, e.g. B. Breakpoints. A set of comparators can be used to determine whether the CPU has executed commands in a particular PC area, or even whether it has only executed a particular command at a particular PC location.
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
In Croad, J.G.: Range Comparator. IBM Technical Disclosure Bulletin, Vol. 7, 12, Mai 1965, Seiten
In Tietze, U., Schenk, Ch.: Halbleiter-Schaltungstechnik, 9. Auflage, Springer Verlag
Es ist eine konkrete technische Aufgabe, eine effiziente Auswertung von aktuellen Program Counter-Werten zur Erzeugung von Haltepunkt-Steuersignalen bereitzustellen.It is a specific technical task to provide an efficient evaluation of current program counter values in order to generate breakpoint control signals.
KURZE ZUSAMMENFASSUNG DER ERFINDUNGBRIEF SUMMARY OF THE INVENTION
Die Aufgabe wird durch den Gegenstand des Patentanspruchs 1 gelöst. Ein weiteres Ausführungsbeispiel ist im abhängigen Anspruch 2 beschrieben.The object is achieved by the subject matter of
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.According to one aspect of the invention, there is provided a method of examining a section of a first range of values and a second range of values, each of which includes a lower limit and an upper limit, in a microprocessor, the method of examining whether a value of the range is greater than or equal to is the lower limit of the second range of values, and examining whether the lower limit of the first range of values is less than or equal to the upper limit of the second range of values.
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.According to a further aspect of the invention, there is provided a circuit for examining a section of a first range of values and a second range of values, each of which includes a lower limit and an upper limit, the circuit comprising first means for examining whether a value of the range of values is greater than or equal to is the lower limit of the second range of values, and second means for examining whether the lower limit of the first range of values is less than or equal to the upper limit of the second range of values.
Weitere Merkmale, Erscheinungsformen und Vorzüge der vorliegenden Erfindung werden in der folgenden detaillierten Beschreibung unter Bezugnahme auf die beigefügten Zeichnungen offensichtlich.Further features, aspects and advantages of the present invention will become apparent in the following detailed description with reference to the accompanying drawings.
Figurenlistelist of figures
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 in1 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.
-
1 shows a schematic, exemplary representation of a section of a program logging unit, which comprises at least one circuit according to embodiments of the invention; -
2 shows a graphical representation of an inequality derived from that in1 circuit shown is to be examined; -
3 shows a schematic diagram of a circuit according to an embodiment of the invention; and -
4 shows a schematic diagram of a circuit according to a further embodiment of the invention.
DETAILLIERTE BESCHREIBUNG DER ERFINDUNGDETAILED DESCRIPTION OF THE INVENTION
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.In the following detailed description, reference is made to the accompanying drawings, which form a part hereof, and in which, by way of illustration, specific exemplary embodiments are shown in which the invention can be carried out. It should be noted that other exemplary embodiments can be used and structural or other changes can be made without departing from the scope of the present invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.
Wie in
Die Komparatorschaltung
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.
- BND is the lower limit of the programmed range;
- RNG is the width of the programmed area;
- PC is the current program counter value;
- ip_ref_r is the "old PC value" from the previous clock cycle;
- inci are a variety of increments (
0 ... cur_inc_r), where cur_inc_r is the maximum increment of the current clock cycle.
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
Werte von ip_ref_r in den Intervallen
Zum Untersuchen von Ungleichung 1, die eigentlich eine „Doppelungleichung“ ist, wird die Ungleichung 1 in zwei Teilungleichungen
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 (inci = 0), bereits größer ist als BND + RNG, wird kein anderer Wert von ip_ref_r + inci kleiner gleich BND + RNG sein, was zur vereinfachten Ungleichung 3a führt:
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.The sign bit of BND-ip_ref_r is "0" if BND-ip_ref_r is positive or equal to 0, and is "1" if BND-ip_ref_r is negative.
Die n LSBs von BND-ip_ref_r umfassen die n niedrigsten Stellen des Digitalwerts von BND-ip_ref_r.The n LSBs of BND-ip_ref_r include the n lowest digits of the digital value of 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.In addition, the m MSBs of BND-ip_ref_r include the remaining m (highest) digits of BND-ip_ref_r.
Die Ausgabe des Subtrahierglieds
Der Gleichheitskomparator
Die Gleichheitskomparatoren
Jeder der Größenkomparatoren
Jede der jeweiligen Ausgaben der UND-Schaltungen
Die UND-Schaltung
Die ODER-Schaltung
Das Addierglied
Die UND-Schaltung
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.In the following, the investigation of
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.However, it should be noted that the last conclusions, strictly speaking, are only valid for two continuous ranges of values. Otherwise, if a range of values is discrete, the intersection of the two ranges of values may be empty, even if the lower / upper limit of one range of values is in each case smaller / larger than the lower / upper limit of the other range, an increment of the discrete range of values being greater than the entire other range of values.
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.However, in certain applications, such as when logging a PC value in a microprocessor, it may be desirable to consider the discrete range of increments as an actually continuous range that includes all valid values between the corresponding increments.
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.Accordingly, a solution to the above problem may include examining the thresholds of the two ranges. If the lower limit of one value range is greater than the upper limit of the other value range, the intersection of the two value ranges is empty.
Andernfalls umfasst der Schnitt mindestens einen Wert.Otherwise, the cut includes at least one value.
Somit kann die Ungleichung 1 vereinfacht werden, wenn sie in zwei Teilungleichungen unterteilt wird:
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).However, if the values to be examined have a high absolute value, a hardware solution to accurately implement the above approach requires large and expensive size comparators to compare high values (e.g. 24 or 32 bit values or even higher values).
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:
Auf diese Weise müssen lediglich erheblich kleinere Werte verglichen werden, um die Ungleichungen 2b' und 3b' zu untersuchen.In this way, only significantly smaller values have to be compared in order to examine inequalities 2b 'and 3b'.
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
Die Schaltung von
Die Ausgabe des Subtrahierglieds
Das Subtrahierglied
Das Addierglied
Der Komparator
Die UND-Schaltung
Die Ausgabe der UND-Schaltung
11 Komparatorschaltung
Claims (2)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/467,370 | 2006-08-25 | ||
US11/467,370 US7698542B2 (en) | 2006-08-25 | 2006-08-25 | Circuit and method for comparing program counter values |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102007040148A1 DE102007040148A1 (en) | 2008-02-28 |
DE102007040148B4 true DE102007040148B4 (en) | 2020-02-06 |
Family
ID=38973471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102007040148.7A Expired - Fee Related DE102007040148B4 (en) | 2006-08-25 | 2007-08-24 | Microprocessor with a circuit for evaluating a large number of program counter (PC) values for generating breakpoint control signals for a program logging unit |
Country Status (2)
Country | Link |
---|---|
US (1) | US7698542B2 (en) |
DE (1) | DE102007040148B4 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10942748B2 (en) * | 2015-07-16 | 2021-03-09 | Nxp B.V. | Method and system for processing interrupts with shadow units in a microcontroller |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH077422B2 (en) * | 1991-08-23 | 1995-01-30 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Method and system for executing join in computer processing database system |
US6633953B2 (en) * | 2000-02-08 | 2003-10-14 | Hywire Ltd. | Range content-addressable memory |
JP2004013556A (en) * | 2002-06-07 | 2004-01-15 | Matsushita Electric Ind Co Ltd | Processor device, compile device, and its method |
US7200846B2 (en) * | 2002-08-05 | 2007-04-03 | Sun Microsystems, Inc. | System and method for maintaining data synchronization |
US7171497B2 (en) * | 2002-11-22 | 2007-01-30 | Texas Instruments Incorporated | Progressive extended compression mask for dynamic trace |
US7117398B2 (en) * | 2002-11-22 | 2006-10-03 | Texas Instruments Incorporated | Program counter range comparator with equality, greater than, less than and non-equal detection modes |
WO2005052769A1 (en) * | 2003-11-28 | 2005-06-09 | Matsushita Electric Industrial Co.,Ltd. | Data processing device |
JP4784912B2 (en) * | 2004-03-02 | 2011-10-05 | パナソニック株式会社 | Information processing device |
US7440375B2 (en) * | 2004-03-03 | 2008-10-21 | Pioneer Corporation | Information recording device and method |
US20050289311A1 (en) * | 2004-06-29 | 2005-12-29 | David Durham | System and method for secure inter-platform and intra-platform communications |
US20060005015A1 (en) * | 2004-06-30 | 2006-01-05 | David Durham | System and method for secure inter-platform and intra-platform communications |
US8516444B2 (en) * | 2006-02-23 | 2013-08-20 | International Business Machines Corporation | Debugging a high performance computing program |
US7925862B2 (en) * | 2006-06-27 | 2011-04-12 | Freescale Semiconductor, Inc. | Coprocessor forwarding load and store instructions with displacement to main processor for cache coherent execution when program counter value falls within predetermined ranges |
US7805590B2 (en) * | 2006-06-27 | 2010-09-28 | Freescale Semiconductor, Inc. | Coprocessor receiving target address to process a function and to send data transfer instructions to main processor for execution to preserve cache coherence |
US20070300042A1 (en) * | 2006-06-27 | 2007-12-27 | Moyer William C | Method and apparatus for interfacing a processor and coprocessor |
-
2006
- 2006-08-25 US US11/467,370 patent/US7698542B2/en active Active
-
2007
- 2007-08-24 DE DE102007040148.7A patent/DE102007040148B4/en not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
CROAD J.G.: Range Comparator. IBM Technnical Disclosure Bulletin, Vol. 7, 12. Mai 1965 * |
TIETZE, U., SCHENK, Ch.: Halbleiter-Schaltungstechnik, 9. Aufl., Springer Verlag 1989, S. 603-613 * |
Also Published As
Publication number | Publication date |
---|---|
DE102007040148A1 (en) | 2008-02-28 |
US20080052339A1 (en) | 2008-02-28 |
US7698542B2 (en) | 2010-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69212673T2 (en) | Test sample generation device | |
DE112012005014T5 (en) | Perform arithmetic operations using both large and small floating-point values | |
DE102006041444B4 (en) | Circuit arrangement and method for detecting an execution time of a command in a computer system | |
DE112007000051T5 (en) | Three-part model-based method for obtaining and processing information | |
DE102019001129A1 (en) | Numerical control device | |
DE2536625A1 (en) | PARITY CHECK CIRCUIT | |
DE102007040148B4 (en) | Microprocessor with a circuit for evaluating a large number of program counter (PC) values for generating breakpoint control signals for a program logging unit | |
EP1252714A1 (en) | A/d converter with lookup table | |
WO2014012579A1 (en) | Method, tool, data carrier and programming module for assessing the reliability of a device | |
DE2235802A1 (en) | PROCEDURE AND EQUIPMENT FOR TESTING NONLINEAR CIRCUITS | |
DE10200133B4 (en) | Method and device for calculating modulo operations | |
WO2000038049A1 (en) | Device and method for generating and executing compressed programs of a very long instruction word processor | |
DE102018202093A1 (en) | Method and device for calculating data models in safety-critical systems | |
DE102009039430B4 (en) | Device and method with first and second clock pulses | |
DE202008018636U1 (en) | System for registering an event | |
DE202017105807U1 (en) | Window Abweichungsanalysierer | |
DE10219161A1 (en) | Device and method for converting a term | |
DE102021200575A1 (en) | Anomaly detection device, anomaly detection method and program | |
DE102017118996B3 (en) | Method for determining influencing parameter combinations of a physical simulation model | |
WO2004053619A2 (en) | Method for processing digital data values | |
DE10054145A1 (en) | Method for identifying the best tool in a semiconductor production line, requires outputting a weighted yield difference for each tool | |
WO2002056208A2 (en) | Method for determining the critical path of an integrated circuit | |
EP0433315A1 (en) | Circuits for adding or subtracting bcd-coded or dual-coded operands | |
EP4092535B1 (en) | Control device testing method | |
EP4184399A1 (en) | Computer-implemented method for operating a technical device with a model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R082 | Change of representative |
Representative=s name: VIERING, JENTSCHURA & PARTNER MBB PATENT- UND , DE |
|
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final | ||
R082 | Change of representative | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |