DE19639607A1 - Instruction buffer cache memory testing method - Google Patents
Instruction buffer cache memory testing methodInfo
- Publication number
- DE19639607A1 DE19639607A1 DE1996139607 DE19639607A DE19639607A1 DE 19639607 A1 DE19639607 A1 DE 19639607A1 DE 1996139607 DE1996139607 DE 1996139607 DE 19639607 A DE19639607 A DE 19639607A DE 19639607 A1 DE19639607 A1 DE 19639607A1
- Authority
- DE
- Germany
- Prior art keywords
- jump
- command
- buffer
- commands
- test
- 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.)
- Withdrawn
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 50
- 230000015654 memory Effects 0.000 title claims abstract description 22
- 238000001514 detection method Methods 0.000 claims description 6
- 238000000034 method Methods 0.000 claims description 5
- 238000004148 unit process Methods 0.000 claims 4
- 230000001174 ascending effect Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/10—Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318392—Generation of test inputs, e.g. test vectors, patterns or sequences for sequential circuits
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
Das Verfahren betrifft den Test von Pufferspeichern in Zentraleinheiten.The method concerns the test of buffer memories in Central units.
Zentraleinheiten von Rechenanlagen besitzen in der Regel einen üblicherweise mit dem englischen Wort französischen Ursprungs, "Cache", bezeichneten Pufferspeicher, der auch im folgenden weiterhin als Cache bezeichnet wird. Dieser wird durch die Schaltung der Zentraleinheit automatisch verwaltet, so daß ein Programm außer durch die geringere Laufzeit einer Befehlsfolge durch die Anwesenheit des Cache nicht beeinflußt wird. Dieses Verhalten wird auch als transparent bezeichnet.Central units of computer systems usually have one usually with the English word French Origin, "cache", designated buffer memory, which too hereinafter also referred to as the cache. This becomes automatic by switching the central unit managed so that a program except by the lesser Execution of a command sequence by the presence of the Cache is not affected. This behavior will too referred to as transparent.
Da der Cache transparent ist, ergeben sich Probleme bei Test- und Diagnoseprogrammen. Insbesondere ist ein Test des Cache-Speichers schwierig, da er ja gerade nicht den Ablauf des Programms beeinflussen und möglichst nicht be merkbar sein soll. Für einen Speichertest sind wirksame Testmuster bekannt, deren Abspeichern und anschließendes Lesen die häufigsten Speicherfehler erkennt. Eines der einfachsten Testmuster besteht darin, alternierend eine 1 und eine 0 sowie dessen Komplement zu verwenden, so daß die Testmuster hexadezimal "5555" und "AAAA" dargestellt werden. Da es sich jedoch um einen Befehlspuffer handelt und diese Testmuster nicht unbedingt zulässige Befehle darstellen, stellt sich das Problem, wie beliebige Test muster in den Cache geladen und geprüft werden können. Die Patentschrift US 4,882,673 verwendet hierzu eine Hardware-Einrichtung, mit der Cache-Inhalte vertauscht gespeichert werden können. Diese Lösung ist relativ auf wendig, weil nur für den Test benötigte Hardware vorhan den sein muß.Since the cache is transparent, problems arise with Test and diagnostic programs. In particular is a test of the cache memory difficult, since it is not the Influence the course of the program and if possible not should be noticeable. Are effective for a memory test Test patterns known, their saving and subsequent Reading detects the most common memory errors. One of the The simplest test pattern consists of alternating a 1 and to use a 0 and its complement, so that the test patterns are shown in hexadecimal "5555" and "AAAA" will. However, since it is a command buffer and these test patterns don't necessarily allow commands represent, the problem arises like any test samples can be loaded into the cache and checked. The patent US 4,882,673 uses one for this Hardware facility with which cache content is swapped can be saved. This solution is relative on manoeuvrable because only hardware required for the test is available that must be.
Aufgabe der Erfindung ist es daher, beliebige Testmuster in einen Befehlscache zu laden und zu überprüfen, ohne daß die Testmuster gültige Befehle sein müssen, ohne daß nur für den Test verwendete Hardware benötigt wird.The object of the invention is therefore any test pattern load into a command cache and check without that the test pattern must be valid commands without only hardware used for the test is required.
Die Erfindung benutzt die Beobachtung, daß ein Cache praktisch immer in Zeilen organisiert ist, die jeweils vollständig in den Cache geladen werden. Diese Zeilen sind so groß, daß nicht nur ein Sprungbefehl, sondern auch noch ein auf den Sprungbefehl folgendes Testmuster, welches durch den Sprungbefehl umsprungen wird, darin Platz hat. Die Erfindung besteht darin, daß diese Kette von Sprungbefehlen einmal ausgeführt wird und so die Testmuster in Pufferzeilen geschrieben werden und unmit telbar anschließend noch einmal ausgeführt wird und somit die Pufferzeilen gelesen und die Testmuster einer ohnehin vorhandenen Prüfeinrichtung zur Fehlererkennung zugeführt werden.The invention uses the observation that a cache is practically always organized in lines, each fully loaded into the cache. These lines are so big that not just a jump order, but also a test pattern following the jump instruction, which is bypassed by the jump instruction, in it Has space. The invention is that this chain of jump commands is executed once and so the Test patterns are written in buffer lines and immediately telbar is then executed again and thus read the buffer lines and the test pattern one anyway Existing test device for error detection supplied will.
Eine Fortbildung der Erfindung betrifft Rechner mit einer Architektur, bei der der sequentiell folgenden Befehl be reits geladen wird, bevor der vorhergehende Befehl abge schlossen ist. In diesen Fällen folgt in dem Testpro gramm auf den Sprungbefehl (JMP) ein Leerbefehl (NOP), der dann zumindest in bzw. aus dem Befehlspuffer geladen wird. Liegt eine Wort- oder Zeilengrenze zwischen Sprung befehl und Leerbefehl, dann wird nicht nur das bzw. die den Sprungbefehl enthaltende Wort bzw. Zeile geladen, sondern auch noch das bzw. die den Leerbefehl enthaltende Zeile.A further development of the invention relates to computers with a Architecture in which the sequentially following command be is already loaded before the previous command is issued is closed. In these cases, the test pro follows an empty command (NOP) on the jump command (JMP), which is then at least loaded into or from the command buffer becomes. Is a word or line boundary between the jump command and blank command, then not only that word or line containing the jump instruction is loaded, but also that containing the empty command Row.
In den Figuren sind verschiedene Testprogramme tabella risch dargestellt, wobei eine Zeile der Tabelle der Länge einer Pufferzeile entspricht und in der ersten Spalte die Adressen der Befehle in der ersten Spalte dargestellt sind. In den Beispielen wird angenommen, daß eine Puffer zeile 16 Adresseinheiten und ein Befehl 4 Adresseinheiten umfaßt. Dementsprechend enthalten die Spaltenköpfen die Versatzwerte der Befehle gegenüber dem ersten Befehl der Zeile. Die Tabellen sind in Fig. 1 und Fig. 2 in der Mit te ausgeblendet und ab Fig. 3 entsprechend der Länge des Pufferspeichers fortzusetzen.Various test programs are shown in tabular form in the figures, one line of the table corresponding to the length of one buffer line and the addresses of the commands in the first column being shown in the first column. In the examples it is assumed that a buffer line comprises 16 address units and an instruction 4 address units. Accordingly, the column headers contain the offset values of the commands compared to the first command of the row. The tables are hidden in FIG. 1 and FIG. 2 in the middle and are continued from FIG. 3 according to the length of the buffer memory.
In Fig. 1 ist ein Testprogramm skizziert, bei dem eine aufsteigende Kette von Sprungbefehlen verwendet wird, die sich jeweils am Anfang einer Pufferzeile befinden. In dem dargestellten Beispiel hat der Pufferspeicher 256 Zeilen à 4 Worte à 4 Bytes und umfaßt damit 4096 Adressen. In der ersten Spalte ist ein Kette von auf den jeweils näch sten verweisenden Sprungbefehlen vorhanden. Bei deren Ausführung wird der Pufferspeicher vollständig mit allen Zeilen, also nicht nur den Sprungbefehlen, sondern auch den auf die Sprungbefehle folgenden, in Fig. 1 allgemein mit "Pattern" bezeichneten Testmustern geladen. Hat das Testprogramm wie in dem Beispiel die Größe des Puffer speichers, so wird der gesamte Pufferspeicher mit den Sprungbefehlen und den Testmustern geladen. Der letzte Befehl auf Adresse 4050 springt auf eine zweite Kette von Sprungbefehlen ab Adresse 8, die in gleicher Art, wie die erste Kette die Pufferzeilen geladen hat, diese jetzt be nutzt, damit die Daten aus den Pufferzeilen gelesen wer den und durch den Lesevorgang die ohnehin vorhandene Prüf einrichtung (z. B. durch Paritätsprüfung) des Speichers für die Pufferzeilen aktiviert wird.In Fig. 1, a test program is outlined in which an ascending chain is used by branch instructions, which are located at the beginning of a cache line. In the example shown, the buffer memory has 256 lines of 4 words of 4 bytes each and thus comprises 4096 addresses. In the first column there is a chain of jump commands referring to the next. When they are executed, the buffer memory is completely loaded with all lines, that is to say not only the jump instructions, but also the test patterns which follow the jump instructions and are generally referred to as “patterns” in FIG. 1. If the test program has the size of the buffer memory, as in the example, the entire buffer memory is loaded with the jump commands and the test patterns. The last command at address 4050 jumps to a second chain of jump commands from address 8 , which now uses them in the same way as the first chain has loaded the buffer lines so that the data can be read from the buffer lines and by the reading process the existing test facility (e.g. by parity check) of the memory for the buffer lines is activated.
Auf diese Art können also die zweite und vierte Spalte mit beliebigen Testmustern geprüft werden, indem das Testprogramm eine entsprechende Anzahl von Sprungketten enthält. Zur Prüfung der ersten und dritten Spalte werden dann die beiden Sprungketten entsprechend in die zweite und vierte Spalte versetzt. Damit läßt sich der Puffer speicher vollständig testen.In this way you can use the second and fourth columns can be tested with any test pattern by using the Test program a corresponding number of jump chains contains. To check the first and third columns then the two jump chains accordingly in the second and fourth column offset. So the buffer can be fully test memory.
Alternativ kann auch nach Fig. 2 vorgegangen werden, wo bei der letzte Befehl in der Kette der Sprungbefehle ein in praktisch allen Zentraleinheiten vorhandener Schlei fensprungbefehl DJNZ ist, der eine Speicherstelle oder ein Register um eins vermindert und, sofern das Resultat nicht Null ist, einen Sprung zu der angegebenen Adresse ausführt. Wird die Speicherstelle oder, wie im Beispiel, der Akkumulator, vor dem ersten Aufruf mit 2 initiali siert, wie in Fig. 2 unter der Adresse 4096 angedeutet ist, dann wird dieselbe Kette von Sprungbefehlen zweimal ausgeführt und sodann der auf den Schleifensprungbefehl folgende Befehl, der daher anstelle eines Testmusters ein Sprungbefehl sein sollte, ausgeführt. Der dadurch gering fügig reduzierten Testüberdeckung kann begegnet werden, indem das Testprogramm unverändert ein zweites Mal ausge führt wird, jedoch zuvor eine andere Kette von Befehlen, die alle Zeilen aus dem Pufferspeicher und mindestens ei ne weitere verdrängt, so daß bei der nochmaligen Ausfüh rung jede Zeile in eine physikalisch andere Pufferzeile geladen wird. Alternativ kann die erste und letzte Zeile vertauscht werden, so daß der Zähler mit 3 geladen, der Schleifensprungbefehl auf Adresse 0, der Rücksprung auf Adresse 4 und auf Adresse 4050 ein Sprung zurück nach 0 verwendet werden. Alternatively, one can proceed according to FIG. 2, where the last command in the chain of jump commands is a loop jump command DJNZ which is present in practically all central units and which reduces a memory location or a register by one and, if the result is not zero, one Jump to the specified address. If the storage location or, as in the example, the accumulator, is initialized with 2 before the first call, as indicated in Fig. 2 at address 4096 , the same chain of jump commands is executed twice and then the command following the loop jump command, which should therefore be a jump command instead of a test pattern. The slightly reduced test coverage can be countered by executing the test program unchanged a second time, but first a different chain of commands that displaces all lines from the buffer memory and at least one more so that each time they are executed again Line is loaded into a physically different buffer line. Alternatively, the first and last lines can be swapped so that the counter is loaded with 3, the loop jump command to address 0 , the return to address 4 and to address 4050 a jump back to 0 are used.
In den folgenden Beispielen wird davon ausgegangen, daß nach diesem Muster dieselbe Sprungkette zweifach ausge führt wird. Daher werden die Tabellen nur noch mit dem Anfang dargestellt, wie Fig. 3 für den Fall zeigt, daß die Sprungkette in der zweiten Spalte liegt. Die Beispie le können jedoch auch auf eine Variante mit zwei Sprung ketten nach dem Beispiel von Fig. 1 geändert werden; ins besondere, wenn eine Pufferzeile nicht nur vier, sondern sechs oder mehr Sprungbefehle aufnehmen kann und daher auch die noch im folgenden zu beschreibenden Leerbefehle zusätzlich zu den Sprungbefehlen und den Prüfmustern Platz haben.In the following examples it is assumed that the same chain of jumpers is executed twice according to this pattern. Therefore, the tables are only shown with the beginning, as Fig. 3 shows in the event that the jump chain is in the second column. However, the examples can also be changed to a variant with two jump chains according to the example of FIG. 1; especially if a buffer line can hold not only four, but six or more jump commands and therefore the empty commands to be described below also have space in addition to the jump commands and the test patterns.
Selbstverständlich sollte ein Test mit mehreren unter schiedlichen Mustern erfolgen. Sehr häufig wird hierzu das im Sechzehnersystem (hexadezimal) dargestellte Muster "5555" bzw. dessen Komplement "AAAA" verwendet. Andere, in der Literatur diskutierte Muster können ersichtlich gleichfalls beliebig eingesetzt werden.Of course, a test with several under different patterns. This is very common the pattern shown in the sixteen system (hexadecimal) "5555" or its complement "AAAA" used. Other, Patterns discussed in the literature can be seen can also be used arbitrarily.
Es ist auch nicht notwendig, daß die Kette der Sprungbe fehle äquidistant und aufsteigend ist. In Fig. 4 wird ei ne Variante gezeigt, bei der abwechselnd die erste und zweite Spalte benutzt werden. Fig. 5 zeigt eine Variante, bei der verschränkt die Adressreihenfolge die Folge 16, 0, 32, 64, 48 usw. verwendet werden. Auch könnte ein Pseudo-Zufallszahlengenerator nach der Art rückgekoppel ter Schieberegister bzw. mit einer Modulo-Rechnung ver wendet werden, die in dem Standardwerk von D. Knuth, "The Art of Computer Programming", ausführlich beschrieben wer den und inbesondere die Eigenschaft haben, daß sie alle Zahlen unterhalb einer Potenz einer Basis in einer scheinbar zufälligen Art aufzählen. Im folgenden wird der Einfachheit halber die aufsteigende Reihenfolge beibehal ten. It is also not necessary for the chain of the jump commands to be equidistant and ascending. In FIG. 4 ei ne variant is shown, alternately, the first and second columns are used in the. FIG. 5 shows a variant in which the sequence 16 , 0 , 32 , 64 , 48 , etc. is used interleaved. A pseudo-random number generator in the manner of feedback shift registers or with a modulo calculation could also be used, which are described in detail in D. Knuth's standard work, "The Art of Computer Programming", and in particular have the property that they enumerate all the numbers below a power of a base in an apparently random way. In the following, the ascending order is kept for the sake of simplicity.
Manche Pufferspeicher sind pro Zeile in Pufferworte un terteilt, die jeweils eine eigene Einrichtung zur Fehler erkennung haben. In den folgenden Beispielen wird daher die Pufferzeile als in zwei Worte unterteilt dargestellt. Ersichtlich ist dies der einfachste Fall, der problemlos auf Pufferspeicher mit drei, vier oder mehr Worten pro Zeile abgewandelt werden kann.Some buffer memories are un buffered per line reports, each with its own facility for errors have recognition. The following examples will therefore the buffer line is shown as divided into two words. Obviously, this is the simplest case, which is no problem to buffer memory with three, four or more words per Line can be modified.
In diesem Fall muß das Testprogramm beispielsweise wie in Fig. 6 dargestellt, gestaltet werden, indem die Kette von Sprungbefehlen jedes Pufferwort erreicht. Diese Anordnung testet die zweite und vierte Spalte; zum Test der ersten und dritten ist die Sprungkette in die zweite und vierte Spalte zu verlegen. Im übrigen gelten dieselben Überle gungen, wie sie bereits oben dargestellt sind. Die Wort grenze ist in der Tabelle durch einen Doppelstrich ange deutet.In this case, the test program must be designed, for example, as shown in FIG. 6, in that the chain of jump instructions reaches each buffer word. This arrangement tests the second and fourth columns; To test the first and third, the jump chain must be moved to the second and fourth column. For the rest, the same considerations apply as already described above. The word limit is indicated in the table by a double line.
Bei den häufig mit einem Cache ausgestatteten modernen Hochleistungsrechnern wird der nächste Befehl bereits an gefordert, bevor der aktuelle Befehl abgeschlossen ist, was auch als Prefetch bezeichnet wird. Problematisch ist dabei ein auf einen Sprung folgender Befehl. Je nach Zen traleinheit wird dabei der nachfolgende Befehl entweder immer ausgeführt, oder es muß ein gültiger Befehl sein, dessen Wirkung unterdrückt wird, oder es ist auch ein un gültiger Befehlscode zulässig. Wichtig ist jedoch, daß der auf einen Sprung folgende Befehl von dem Befehls puffer angefordert wird. Im folgenden wird daher immer ein Leerbefehl NOP in die Tabellen eingetragen, auch wenn die Zentraleinheit dort einen beliebigen oder sogar un gültigen Befehl zuließe. Leerbefehl kann in diesem Sinne natürlich jeder Befehl sein, der keinen Sprung verur sacht, also auch ein Befehl, um einen Akkumulator mit ei ner Konstanten zu laden oder den Akkumulator hochzuzäh len. In the modern, often equipped with a cache The next command is already on high performance computers requested before the current command is completed, which is also called prefetch. Is problematic a command following a jump. Depending on the zen The following command either becomes the tral unit always executed or it must be a valid command the effect of which is suppressed, or it is also an un valid command code allowed. However, it is important that the command following the jump from the command buffer is requested. The following is therefore always an empty command NOP entered in the tables, even if the central unit there any or even un allow valid command. In this sense, the blank command can any command, of course, that did not make a jump gently, so also a command to an accumulator with egg to load a constant or to pull up the accumulator len.
Fig. 7 zeigt für diesen Fall eine Variante, die mit be sonders wenig ausgeführten Befehlen auskommt. Dabei steht der Sprungbefehl am Ende einer Zeile, hier der zweiten Zeile, und auf ihn folgt ein Leerbefehl in der ersten Spalte der folgenden Zeile, hier mit der Adresse 32, ob wohl der Sprung in die übernächste, die vierte Spalte führt. Da nur die halbe Anzahl von Sprungbefehlen ver wendet wird, ist auf manchen Zentraleinheiten diese Pro grammvariante schneller als die mit der vollen Anzahl von Sprungbefehlen. Fig. 7 shows a variant for this case, which requires particularly few commands to be executed. The jump command is at the end of a line, here the second line, and is followed by an empty command in the first column of the following line, here with the address 32 , whether the jump to the next column leads to the fourth column. Since only half the number of jump commands is used, this program variant is faster on some central processing units than that with the full number of jump commands.
Bei einer Unterteilung der Pufferzeile in getrennt ge prüfte Worte ergibt sich daher die überraschend einfach Lösung nach Fig. 8, bei der der auf einen Sprungbefehl folgende Leerbefehl in ein anderes Wort der Pufferzeile zu liegen kommt. Bei der ersten Ausführung der Sprungket te ist dies ohne Bedeutung, da ja ohnehin die gesamte Zeile gelade wird. Bei der zweiten, prüfenden Ausführung sorgt der Leerbefehl jedoch dafür, daß auch das zweite Wort der Zeile angefordert und damit geprüft wird.If the buffer line is subdivided into separately checked words, this results in the surprisingly simple solution according to FIG. 8, in which the empty command following a jump command comes to rest in another word of the buffer line. This is irrelevant when the jump chain is executed for the first time since the entire line is loaded anyway. In the second, checking execution, however, the empty command ensures that the second word of the line is also requested and thus checked.
Mit der Anordnung nach Fig. 8 kann die erste und vierte Spalte mit beliebigen Testmustern geprüft werden. Zur Prüfung der zweiten und dritten Spalte kommt der Sprung befehl in die vierte und der Leerbefehl in die erste Spalte der nachfolgenden Zeile zu liegen, wie in Fig. 9 dargestellt. Auf Adresse 0 muß dann allerdings ein Sprungbefehl innerhalb der Zeile liegen, weil sonst bei der zweiten Ausführung der Sprungkette das erste Wort nicht geprüft werden würde.With the arrangement according to FIG. 8, the first and fourth columns can be tested with any test pattern. To check the second and third columns, the jump command comes to lie in the fourth and the empty command in the first column of the following line, as shown in FIG. 9. At address 0 , however, a jump command must then lie within the line, because otherwise the first word would not be checked when the jump chain was executed a second time.
Claims (6)
- - der Befehlspuffer aus Pufferzeilen besteht und jede Pufferzeile eine Prüfeinrichtung zur Fehler erkennung umfaßt,
- - ein Testprogramm eine erste Kette von Sprungbefeh len (JMP) und zwischen den Sprungbefehlen Testmu ster aufweist,
- - die erste Kette von Sprungbefehlen ein erstes Mal ausgeführt wird und so die Testmuster in Pufferzei len geschrieben werden,
- - unmittelbar anschließend an die erste Ausführung der ersten Kette von Sprungbefehlen dieselbe oder eine dieselben Pufferzeilen in derselben Reihenfol ge ansprechende Kette von Sprungbefehlen ein zwei tes Mal ausgeführt wird und somit die Pufferzeilen gelesen und die Testmuster der Prüfeinrichtung zur Fehlererkennung zugeführt werden.
- the command buffer consists of buffer lines and each buffer line includes a test device for error detection,
- a test program has a first chain of jump commands (JMP) and between the jump commands test pattern,
- the first chain of jump instructions is executed for the first time and the test patterns are thus written in buffer lines,
- - Immediately after the first execution of the first chain of jump commands, the same or one of the same buffer lines in the same order, responsive chain of jump commands is executed a second time and thus the buffer lines are read and the test patterns are fed to the test device for error detection.
- - die Zentraleinheit den auf einen Sprungbefehl fol genden Befehl zumindest soweit bearbeitet, daß die ser aus dem Befehlspuffer gelesen wird,
- - auf jeden Sprungbefehl (JMP) unmittelbar ein Hilfs befehl, vorzugsweise ein Leerbefehl (NOP), folgt
- - das Testprogramm auf die Hilfsbefehle folgende so wie den Sprungbefehlen vorausgehende Testmuster aufweist,
- - das Testprogramm derart im Speicher angeordnet ist, daß jeder Sprungbefehl und der unmittelbar folgen der Hilfsbefehl in bzw. von unterschiedlichen Puf ferzeilen derselben Pufferzeile geladen bzw. gele sen werden.
- the central processing unit processes the instruction following a jump instruction at least to the extent that it is read from the instruction buffer,
- - Each jump command (JMP) is immediately followed by an auxiliary command, preferably an empty command (NOP)
- the test program has test patterns following the auxiliary commands and preceding the jump commands,
- - The test program is arranged in the memory such that each jump command and the immediately following the auxiliary command in or from different buffer lines are loaded or read from the same buffer line.
- - die Zentraleinheit den auf einen Sprungbefehl fol genden Befehl zumindest soweit bearbeitet, daß die ser aus dem Befehlspuffer gelesen wird,
- - jede Pufferzeile in mindestens zwei Teilworte mit eigener Fehlererkennung aufgeteilt ist
- - auf jeden Sprungbefehl (JMP) unmittelbar ein Hilfs befehl, vorzugsweise ein Leerbefehl (NOP), folgt
- - das Testprogramm auf die Hilfsbefehle folgende so wie den Sprungbefehlen vorausgehende Testmuster aufweist,
- - das Testprogramm derart im Speicher angeordnet ist, daß jeder Sprungbefehl und der unmittelbar folgen der Hilfsbefehl in bzw. von unterschiedlichen Teil wörtern geladen bzw. gelesen werden.
- the central processing unit processes the instruction following a jump instruction at least to the extent that it is read from the instruction buffer,
- - Each buffer line is divided into at least two partial words with their own error detection
- - Each jump command (JMP) is immediately followed by an auxiliary command, preferably an empty command (NOP)
- the test program has test patterns following the auxiliary commands and preceding the jump commands,
- - The test program is arranged in the memory in such a way that each jump command and the immediately following auxiliary command are loaded into or read from different sub-words.
- - der Befehlspuffer aus Pufferzeilen besteht und jede Pufferzeile eine Prüfeinrichtung zur Fehler erkennung umfaßt,
- - ein Testprogramm eine erste Kette von Sprungbefehlen (JMP) und zwischen den Sprungbefehlen Testmu ster aufweist,
- - die Kette der Sprungbefehle derart gestaltet ist, daß jeder Sprungbefehl und mindestens eines ihn um gebendes Testmuster bei der Ausführung in bzw. von eine Pufferzeile geladen bzw. von dieser gelesen werden.
- the command buffer consists of buffer lines and each buffer line includes a test device for error detection,
- a test program has a first chain of jump commands (JMP) and test pattern between the jump commands,
- - The chain of jump commands is designed in such a way that each jump command and at least one test pattern surrounding it are loaded into or read from a buffer line during execution.
- - die Zentraleinheit den auf einen Sprungbefehl fol genden Befehl zumindest soweit bearbeitet, daß die ser aus dem Befehlspuffer gelesen wird,
- - auf jeden Sprungbefehl (JMP) unmittelbar ein Hilfs befehl, vorzugsweise ein Leerbefehl (NOP), folgt,
- - die Sprungbefehle und die Hilfsbefehle so angeord net sind, daß ein Sprungbefehl und der auf ihn fol gende Hilfsbefehl in bzw. von verschieden Puffer zeilen geladen bzw. gelesen werden.
- the central processing unit processes the instruction following a jump instruction at least to the extent that it is read from the instruction buffer,
- - every jump command (JMP) is immediately followed by an auxiliary command, preferably an empty command (NOP),
- - The jump commands and the auxiliary commands are arranged in such a way that a jump command and the following auxiliary command are loaded or read into or from different buffer lines.
- - die Zentraleinheit den auf einen Sprungbefehl fol genden Befehl zumindest soweit bearbeitet, daß die ser aus dem Befehlspuffer gelesen wird,
- - jede Pufferzeile in mindestens zwei Teilworte mit eigener Fehlererkennung aufgeteilt ist
- - auf jeden Sprungbefehl (JMP) unmittelbar ein Hilfs befehl, vorzugsweise ein Leerbefehl (NOP), folgt,
- - die Sprungbefehle und die Hilfsbefehle so angeord net sind, daß ein Sprungbefehl und der auf ihn fol gende Hilfsbefehl in bzw. von verschieden Teilwör tern geladen bzw. gelesen werden.
- the central processing unit processes the instruction following a jump instruction at least to the extent that it is read from the instruction buffer,
- - Each buffer line is divided into at least two partial words with their own error detection
- - every jump command (JMP) is immediately followed by an auxiliary command, preferably an empty command (NOP),
- - The jump commands and the auxiliary commands are arranged in such a way that a jump command and the consequent auxiliary command are loaded or read into or from different partial words.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE1996139607 DE19639607A1 (en) | 1996-09-26 | 1996-09-26 | Instruction buffer cache memory testing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE1996139607 DE19639607A1 (en) | 1996-09-26 | 1996-09-26 | Instruction buffer cache memory testing method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE19639607A1 true DE19639607A1 (en) | 1998-04-02 |
Family
ID=7806992
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE1996139607 Withdrawn DE19639607A1 (en) | 1996-09-26 | 1996-09-26 | Instruction buffer cache memory testing method |
Country Status (1)
| Country | Link |
|---|---|
| DE (1) | DE19639607A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2001053769A1 (en) | 2000-01-24 | 2001-07-26 | Sachsenring Entwicklungsgesellschaft Mbh | Multilayer glass pane for safe motor vehicles |
-
1996
- 1996-09-26 DE DE1996139607 patent/DE19639607A1/en not_active Withdrawn
Non-Patent Citations (1)
| Title |
|---|
| NICHTS ERMITTELT * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2001053769A1 (en) | 2000-01-24 | 2001-07-26 | Sachsenring Entwicklungsgesellschaft Mbh | Multilayer glass pane for safe motor vehicles |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69434728T2 (en) | SYNCHRONIZATION SYSTEM AND METHOD IN A DATA CACHE SYSTEM WITH A SPLIT LEVEL | |
| DE69116919T2 (en) | Self-test procedure for content addressable memories | |
| DE3885594T2 (en) | Memory tester. | |
| DE1952158A1 (en) | Storage protection procedure and facility for carrying out this procedure | |
| DE2364408B2 (en) | Circuit arrangement for addressing the memory locations of a memory consisting of several chips | |
| DE19526008C2 (en) | Command prefetch unit for a computer | |
| DE1931966B2 (en) | Data processing system with associative memories | |
| DE112004000694B4 (en) | A method and apparatus for improving multi-CPU system performance for memory accesses | |
| DE3911721C2 (en) | ||
| EP1079307B1 (en) | Method for operating a memory system as well as memory system | |
| DE69908772T2 (en) | DEVICE WITH CONTEXT SWITCHING ABILITY | |
| DE2906789A1 (en) | MEMORY CHECK SYSTEM | |
| DE2617485A1 (en) | PROCEDURE AND CIRCUIT ARRANGEMENT FOR PROCESSING MICRO-COMMAND SEQUENCES IN DATA PROCESSING SYSTEMS | |
| DE10296828T5 (en) | Semiconductor memory test device and address generator for defect analysis | |
| DE69025782T2 (en) | Register bank switching | |
| DE19639607A1 (en) | Instruction buffer cache memory testing method | |
| DE2723706A1 (en) | DEVICE FOR ADDRESS COMPARISON | |
| EP0664905A1 (en) | Process for performing at least one test on at least one of the objects of an object-oriented program capable of running in parallel on a computer. | |
| EP0151810B1 (en) | Method and circuit arrangement for testing a program in data processing systems | |
| DE2106731A1 (en) | Diagnostic equipment for electronic data processing systems | |
| DE69316944T2 (en) | Data protection circuit | |
| DE3931389C2 (en) | Device for detecting the coincidence of operands stored in a buffer memory controller | |
| DE2625183A1 (en) | DATA PROCESSING DEVICE | |
| DE10119125C1 (en) | Method for comparing the address of a memory access with an already known address of a faulty memory cell | |
| DE2442014A1 (en) | METHOD AND DEVICE FOR ORGANIZING A CONTROL MEMORY |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| 8127 | New person/name/address of the applicant |
Owner name: FUJITSU SIEMENS COMPUTERS GMBH, 81739 MUENCHEN, DE |
|
| 8120 | Willingness to grant licenses paragraph 23 | ||
| 8130 | Withdrawal |