[go: up one dir, main page]

DE19639607A1 - Instruction buffer cache memory testing method - Google Patents

Instruction buffer cache memory testing method

Info

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
Application number
DE1996139607
Other languages
German (de)
Inventor
Christian Bajer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Technology Solutions GmbH
Original Assignee
Siemens Nixdorf Informationssysteme AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Nixdorf Informationssysteme AG filed Critical Siemens Nixdorf Informationssysteme AG
Priority to DE1996139607 priority Critical patent/DE19639607A1/en
Publication of DE19639607A1 publication Critical patent/DE19639607A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318392Generation 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

The testing method is used for a transparent instruction buffer in the central processing unit of a digital processor, with testing of each buffer memory line for errors. The test programme has a chain of jump commands (JMP) with test patterns inserted between them. A chain of jump commands are executed a first time and the test patterns are entered in the buffer memory lines, with the chain of jump commands executed a second time and the test patterns read from the buffer memory lines compared with the actual test patterns.

Description

Technisches GebietTechnical field

Das Verfahren betrifft den Test von Pufferspeichern in Zentraleinheiten.The method concerns the test of buffer memories in Central units.

Stand der TechnikState of the art

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.

Darstellung der ErfindungPresentation of the invention

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.

Beschreibungdescription

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)

1. Verfahren zum Prüfen eines transparenten Befehlspuf­ fers einer Zentraleinheit einer digitalen Rechenanla­ ge, wobei
  • - 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.
1. A method for checking a transparent command buffer of a central processing unit of a digital computing system, wherein
  • 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.
2. Verfahren nach Anspruch 1, wobei
  • - 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.
2. The method of claim 1, wherein
  • 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.
3. Verfahren nach Anspruch 1, wobei
  • - 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.
3. The method of claim 1, wherein
  • 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.
4. Anordnung von Befehlen in einem Testprogram zum Prüfen eines transparenten Befehlspuffers einer Zentralein­ heit einer digitalen Rechenanlage, wobei
  • - 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.
4. Arrangement of commands in a test program for testing a transparent command buffer of a central unit of a digital computing system, wherein
  • 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.
5. Anordnung nach Anspruch 4, wobei
  • - 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.
5. Arrangement according to claim 4, wherein
  • 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.
6. Anordnung nach Anspruch 4, wobei
  • - 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.
6. Arrangement according to claim 4, wherein
  • 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.
DE1996139607 1996-09-26 1996-09-26 Instruction buffer cache memory testing method Withdrawn DE19639607A1 (en)

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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NICHTS ERMITTELT *

Cited By (1)

* Cited by examiner, † Cited by third party
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