DE2503152A1 - CIRCUIT ARRANGEMENT FOR DETECTION OF DEFECTS CAUSED BY COMPONENT FAILURE IN THE MULTIPLICATION UNIT OF A DATA PROCESSING SYSTEM - Google Patents

CIRCUIT ARRANGEMENT FOR DETECTION OF DEFECTS CAUSED BY COMPONENT FAILURE IN THE MULTIPLICATION UNIT OF A DATA PROCESSING SYSTEM

Info

Publication number
DE2503152A1
DE2503152A1 DE19752503152 DE2503152A DE2503152A1 DE 2503152 A1 DE2503152 A1 DE 2503152A1 DE 19752503152 DE19752503152 DE 19752503152 DE 2503152 A DE2503152 A DE 2503152A DE 2503152 A1 DE2503152 A1 DE 2503152A1
Authority
DE
Germany
Prior art keywords
residual value
iteration
residual
multiplicand
bits
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.)
Pending
Application number
DE19752503152
Other languages
German (de)
Inventor
Joseph Ward Parr
Kwang Yue Sih
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2503152A1 publication Critical patent/DE2503152A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/104Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error using arithmetic codes, i.e. codes which are preserved during operation, e.g. modulo 9 or 11 check

Description

Böb3ingen, den 22. Januar 1975Böb3ingen, January 22, 1975

Anmelderin: International Business MachinesApplicant: International Business Machines

Corporation, Armonk, N.Y. 10504Corporation, Armonk, N.Y. 10504

Amtliches Aktenzeichen: Neuanmeldung Aktenzeichen der Anmelderin: WA 972 010Official file number: New registration File number of the applicant: WA 972 010

Schaltungsanordnung zur Erkennung von durch Bauteilausfall verursachten Fehlern in der Multipliziereinheit eines Datenverärbeitungssystems. ' ^^Circuit arrangement for the detection of errors caused by component failure in the multiplication unit of a data processing system. ' ^^

Zahlreiche Anwendungen von digitalen Rechnern fordern nicht nur eine sehr schnelle, sondern auch eine hochgradig zuverlässige Maschine. Die Industrie hat die Zuverlässigkeit der Bauteile enorm verbessert. Da jedoch vollständig zuverlässige Bauteile immer noch nicht entwickelt wurden, bilden verbesserte Fehlererkennungsverfahren eine praktische Alternative. Eine schwache Stelle der Computer bei Rechenfehlern ist dieMultiplikationseinheit.Numerous applications of digital computers require not only a very fast, but also a highly reliable machine. The industry has enormously improved the reliability of the components. However, as completely reliable components always have not yet been developed, constitute improved error detection methods a practical alternative. The multiplication unit is a weak point in computers when it comes to calculation errors.

Die Multiplikation erfolgt in digitalen Rechnern im allgemeinen nach einem Algorithmus, der die wiederholte Addition verwendet. Die zur praktischen Durchführung ,des Multiplikationsalgorithmus durch wiederholte Addition erforderliche Schaltung ist komplex und die MuItiplikationsoperation kann zahlreiche Stationen in dieser Schaltung erfordern, wodurch die Wahrscheinlichkeit eines Rechenfehlers durch Ausfall von Bauteilen zunimmt. Die überwachung der Multiplikation zur Erkennung von Rechenfehlern aufgrund von Bauteilausfällen erwies sich als sehr erwünscht.The multiplication in digital computers is generally carried out according to an algorithm that uses repeated addition. The circuitry required to put the multiplication algorithm by repeated addition into practice is complex and the multiplication operation may require numerous stations in this circuit, which increases the likelihood of a computational error due to component failure. The monitoring of the multiplication for the detection of calculation errors due to component failures turned out to be very desirable.

Um Fehler in der Multiplikationseinheit digitaler Rechner zu er/· mitteln, wurden oft Restwertverfahren angewandt. Diese sind in dem US-Patent 3 I67 645 genauer beschrieben. - ■In order to detect errors in the multiplication unit of digital computers average, residual value methods were often used. These are described in more detail in U.S. Patent 3,167,645. - ■

809832/0710809832/0710

Ein bekanntes Verfahren zur Erkennung von Fehlern in der Multiplikationseinheit eines Digitalrechners sucht das Restwertverfahren vorteilhaft zu nutzen durch eine Gesamtrestwertprüfung z.B. Modulo 3. Ein vorhergesagter Rest für das Produkt wird durch folgende Schritte erzeugt:A known method for detecting errors in the multiplication unit of a digital computer seeks to make advantageous use of the residual value method through an overall residual value check e.g. Modulo 3. A predicted remainder for the product becomes generated by the following steps:

a) Erzeugung der Restwerte des Multiplikators und des Multiplikanden, a) Generation of the residual values of the multiplier and the multiplicand,

b) Multiplikation der Restwerte miteinanderb) Multiplication of the residual values with one another

c) Erzeugung des Restwertes ihres Produktes.c) Generation of the residual value of your product.

Der Restwert des Produktes der Restwerte des Multiplikators und des Multiplikanden, d.h. der vorhergesagte Restwert, wird dann verglichen mit dem Restwert des tatsächlichen Produktes nach Ausführung der Multiplikation, um festzustellen, ob ein Maschinenfehler während der Multiplikation aufgetreten ist. The remainder of the product of the remainder of the multiplier and the multiplicand, i.e. the predicted remainder, then becomes compared to the residual value of the actual product after the multiplication was performed to determine if a machine error occurred during the multiplication.

Die Erzeugung des Endproduktes kann jedoch viele Iterationen derselben Schleife des Multiplikationsalgorithmus erfordern und die Gesamt restwertprüfung.kann nicht jeden einzelnen Maschinenfehler entdecken. Wenn z.B. ein Fehler in der Schleife zu mehreren Fehlern im Endprodukt führt oder die Fehler einen Restwert von Null erzeugen, d.h. der vorhergesagte und erzeugte Restwert übereinstimmen, wird der Fehler durch die gesamte Restwertprüfung nicht entdeckt.However, generating the final product may require many iterations of the same loop of the multiplication algorithm and the total residual value check. cannot discover every single machine fault. For example, if one error in the loop leads to several Errors in the end product or the errors produce a residual value of zero, i.e. the predicted and generated residual value match, the error will not be discovered by the entire residual value check.

Eine Möglichkeit zur Verminderung der unentdeckten einzelnen Maschinenfehler in der Multiplikationseinheit besteht darin, eine Restwertprüfung nach jeder Iteration der Multiplikationsschleife durchzuführen. Wenn der Multiplikationsalgorithmus den Multiplikanden entsprechend einem Bit des Multiplikators während jeder Iteration verarbeitet, kann der vorhergesagte Restwert des Teilprodukt es wie folgt bestimmt werden:One way of reducing the number of undiscovered individual machine errors in the multiplication unit consists in performing a residual value check after each iteration of the multiplication loop perform. When the multiplication algorithm changes the multiplicand according to one bit of the multiplier during each Processed iteration, the predicted residual value of the partial product can be determined as follows:

a) Erzeugung des Restwertes des vorhergehenden Teilproduktes und des Restwertes des laufenden Addenden, d.h. des Multiplikanden gemäß dem laufenden Multiplikatorbit,a) Generation of the residual value of the previous partial product and the residual value of the running addend, i.e. the multiplicand according to the current multiplier bit,

b) die Restwerte zusammenb) the residual values together

c) Erzeugung des Restwertes ihrer Summe.c) Generation of the residual value of their sum.

WA 972 010 Λ WA 972 010 Λ

609832/0710609832/0710

Der Restwert der Summe des vorhergehenden Teilproduktes und des laufenden Addenden wird dann mit dem Restwert des tatsächlichen laufenden Teilproduktes nach Ausführung der laufenden Iteration verglichen, um festzustellen, ob ein Maschinenfehler während der laufenden Iteration aufgetreten ist.The residual value of the sum of the previous partial product and the current addend then becomes the residual value of the actual of the current partial product after executing the current iteration to determine whether a machine error occurred during the current iteration has occurred.

Das obige Verfahren zur Erkennung von Maschinenfehlfunktionen in der Multiplikationseinheit eines Digitalrechners mit dem iterativen Additionsalgorithmus arbeitet solange gut, wie dieser iterative Additionsalgorithmus pro Iteration nur ein Multiplikatorbit verarbeitet. Weil jedoch immer größere Arbeitsgeschwindigkeiten gebraucht werden, wurden Multiplikationsalgorithmen mit iterativer Addition entwickelt, die mehrere Multiplikatorbits während jeder Iteration verarbeiten. Ein solcher Algorithmus ist beschrieben in der US Patentschrift Nr. 3 515 3^4, Der γοη Goldschmidt gezeigte Multiplikator kann 6x Multiplikatorbits pro Iteration verarbeiten, wobei χ = 1, 2, 39 ···» π ist. Die Multiplikatorbits werden so decodiert, daß χ Multiplikatorbits gleich einem decodierten Bit sind und der Multiplikand wird in einer Reihe von Übertragsaddierern mit drei Eingängen entsprechend dem decodierten Bit verschoben. Da der ÜA drei Eingangssignale braucht und jeder Eingang bestimmt ist durch die χ Multiplikatorbits (ein decodiertes Bit), werden 6x Multiplikatorbits bei jeder Iteration durch die ÜA in der Multiplikationseinheit verarbeitet.The above method for detecting machine malfunctions in the multiplication unit of a digital computer with the iterative addition algorithm works well as long as this iterative addition algorithm processes only one multiplier bit per iteration. However, because ever greater operating speeds are required, multiplication algorithms with iterative addition have been developed that process several multiplier bits during each iteration. Such an algorithm is described in US Pat. No. 3,515 3 ^ 4. The multiplier shown by γοη Goldschmidt can process 6x multiplier bits per iteration, where χ = 1, 2, 3 9 ··· »π. The multiplier bits are decoded so that χ multiplier bits are equal to one decoded bit and the multiplicand is shifted in a series of three input carry adders according to the decoded bit. Since the ÜA needs three input signals and each input is determined by the χ multiplier bits (one decoded bit), 6x multiplier bits are processed by the ÜA in the multiplication unit for each iteration.

Diese Art der Multiplikationseinheit kann mit Hilfe der oben erwähnten Gesamtrestprüfung auf Fehler überprüft werden, da der Multiplikator und der Multiplikand vor der Ausführung der Multiplikationsoperation zur Verfügung stehen. Wie bereits.gesagt wurde, kann die Gesamtrestprüfung jedoch nicht alle Einzelfehler entdecken. Die Teilprodukte können jedoch durch bekannte Restver-This type of multiplication unit can be made with the help of the above Total residual check must be checked for errors because the multiplier and multiplicand are checked before performing the multiplication operation be available. As has already been said, the overall remainder cannot check all individual errors discover. However, the sub-products can be replaced by known residual

WA97201° 609832/0710 WA97201 ° 609832/0710

25S131S2-—.25S131S2-—.

fahren nicht auf Fehler überprüft werden, die auf Maschinenaus- | fälle während jeder Iteration der Multiplikationsschleife zurück-! zuführen sind, weil der Rest der decodierten Multiplikatorbits nicht den bekannten Regeln für die Restwertbestimmung folgt.drive are not checked for errors related to machine drive | fall back during each iteration of the multiplication loop-! because the remainder of the decoded multiplier bits do not follow the known rules for determining the remainder.

Die Aufgabe der Erfindung besteht daher darin, eine Schaltungsanordnung zur Erkennung von durch Bauteilausfall verursachten Feh-)· lern in der Multipliziereinheit eines digitalen Datenverarbeitungssystems anzugeben, die eine Multiplikation durch wiederholte Additionen ausführt und bei der die Vielfachen bestimmt werden durch Decodieren einer Reihe von Multiplikatorbits während jeder Iteration, ohne daß durch diese Schaltungsanordnung die Leistung der Multipliziereinheit herabgesetzt wird.The object of the invention is therefore to provide a circuit arrangement for the detection of faults caused by component failure) learn to specify in the multiplying unit of a digital data processing system that a multiplication by repeated Performs additions and where the multiples are determined by decoding a series of multiplier bits during each Iteration without the performance of the multiplier unit being reduced by this circuit arrangement.

Diese Aufgabe wird gelöst mit Hilfe einer Schaltungsanordnung der eben genannten Art, die gekennzeichnet ist durchThis object is achieved with the aid of a circuit arrangement of the type just mentioned, which is characterized by

a) eine Vorrichtung zur Vorhersage eines Restwertes, die mit dem Eingang der Multipliziereinheit verbunden ist zur Erzeugung eines vorhergesagten Restwertes für das während der laufenden Iteration erhaltenen Teilprodukt auf der Basis des Restwertes des Multiplikanden, der decodierten Multiplikatorbits für die laufende Iteration und des vorhergesagten Restwertes für die vorhergehende Iteration·a) a device for predicting a residual value, which is connected to the input of the multiplication unit for generation a predicted residual value for that during the current Iteration obtained partial product based on the remainder of the multiplicand, the decoded multiplier bits for the current iteration and the predicted residual value for the previous iteration

b) einen Restwertgenerator, der mit den Ausgängen der Multipliziereinheit verbunden ist zur Bestimmung des tatsächlichen Restwertes des in der laufenden Iteration erzeugten Teilproduktes undb) a residual value generator connected to the outputs of the multiplier is connected to determine the actual residual value of the partial product generated in the current iteration and

c) eine Vergleichsvorrichtung, die an die Vorrichtung zur Vorhersage eines Restwertes und an den Restwertgenerator angeschlossen ist und die bei Ungleichheit ihrer Eingangssignale ein Fehlersignal liefert.c) a comparison device, which is connected to the device for prediction of a residual value and is connected to the residual value generator and which, if their input signals are different, enter Provides error signal.

WA 972 010WA 972 010

S09832/0710S09832 / 0710

Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird anschließend näher beschrieben. Es zeigt;An embodiment of the invention is in the drawings and is described in more detail below. It shows;

Fig. 1 in einem Blockschaltbild ein Prüfgerät, das mit j einer Multiplikationseinheit verbunden ist, die1 shows a block diagram of a test device which is connected to a multiplication unit which

6 Bits pro Iteration verarbeitet,6 bits processed per iteration,

Fig. 2 in einem Blockschaltbild den Vielfachrestwertgenerator zur Erzeugung des vorhergesagten Rest-. wertes,2 shows the multiple residual value generator in a block diagram to generate the predicted residual. worth,

Fig. 3 die zur Implementierung des Vielfachrestwertgenerators der Fig. 2 notwendigen Verknüpfungsschaltungen, 3 shows the logic circuits necessary for implementing the multiple residual value generator of FIG. 2,

, Fig. 4 mögliche Kombinationen der decodierten Multiplikatorbits und der entsprechenden Verschiebungen und/oder Vorzeichenänderungen des MuItχι plikanden (MD), die in dem MuItiplikationsgerät ! vorgenommen werden, an welches das Prüfgerät an-. geschlossen ist, ·, Fig. 4 possible combinations of the decoded multiplier bits and the corresponding shifts and / or sign changes of the MuItχι plikanden (MD), which in the multiplication device ! to which the test device is connected. closed is, ·

j Fig. 5 die Bestimmung des Vielfach-Restwertes durch das Prüfgerät entsprechend den durch das Multiplikaj Fig. 5 the determination of the multiple residual value by the Tester according to the multiplicative

tionsgerät ausgeführten Multiplikandenverschiebungen. multiplicand shifts carried out by the device.

Das Ausführungsbeispiel der Erfindung wird in Verbindung mit einer Multiplikationseinheit beschrieben, die im wesentlichen ähnlich aufgebaut ist wie die Multiplikationseinheit> die in der US-Patentschrift Nr. 3 515 344 beschrieben ist. Fig. 1 zeigt in eine: Blockschaltbild die Restwertvorhersageexnheit 200, den echten Restwertgenerator 400 und den Restwertvergleicher 300 in Verbindung mit der Multiplikationseinheit 100. Der einfächeren Beschrei' bung halber ist die Multiplikationseinheit 100 in ihrer einfachsten Form gezeigt, wo sechs Bits des Multiplikators während jederThe embodiment of the invention will be described in conjunction with a multiplication unit, which is constructed substantially similar to the multiplication unit is described> in the U.S. Pat. No. 3,515,344. 1 shows in a: Block diagram the residual value prediction unit 200, the real residual value generator 400 and the residual value comparator 300 in connection with the multiplication unit 100. For the sake of simplicity, the multiplication unit 100 is shown in its simplest form, where six bits of the multiplier during each

WA 972 010WA 972 010

509832/0710509832/0710

-25.02152-25.02152

■"· Ö ""■ "· Ö" "

iteration durch den Addierer verarbeitet werden. Eine genaue Bejschreibung der Operation der Multiplikationseinheit 100 findet sich in der vorher erwähnten US-Patentschrift, da hier nur eine Arbeitsbeschreibung geegeben wird.iteration can be processed by the adder. An exact description of the operation of the multiplication unit 100 is found in the aforementioned US patent, as there is only one Job description is given.

Die Multiplikationseinheit 100 in Fig. 1 enthält eine Operanden-Eingabeeinrichtung 20, einen Übertragungsaddierer 21, eine Addierschleife 22 für Überträge und einen nicht dargestellten parallel arbeitenden Addierer für durchgehende Überträge. Die Operanden-Eingabeeinrichtung 20 enthält eine Multiplikandenquelle 30 und eine Multiplikatorquelle 31, eine Multiplikator-Auswahleinheit 31A, einen Iterationszähler 31B, einen Multiplikator-Decodierer 32 und Multiplikanden-Torschaltungen .24. Die Multiplikanden-Torscchaltungen 24 bestehen aus mehreren Torschaltungen, wodurch mehrere binäre BitOperanden durch die Elemente zum Eingang der Übertrags-Addierschaltung 21 übertragen werden können. Mit der Multiplikator-Auswahleinheit 31A werden die Multiplikatorbits abgetastet und der Multiplikator-Decodierer 32 während jeder Iteration erregt. Der Iterationszähler 3IB erregt die Multiplikator-Auswahleinheit 31A nach der Systemtaktierüng zur Initiierung der Abtastung der in der Multiplikatorquelle 31 durch die Multiplikator-Auswahleinheit 31A gespeicherten Multiplikatorbits. Bei jeder Iteration werden sieben Bits des. Multiplikators untersucht und zur Erregung des Multiplikator-Decodierers 32 benutzt. Bei der ersten Iteration kann die Multiplikator-Auswahleinheit 31A die ersten sieben Bits des Multiplikators an den Decodierer 32 von der Multiplikatorquelle 31 übertragen. Von da an leitet die Multiplikator-Auswahleinheit 31A nachfolgende Gruppen von sieben Multiplikatorbits an den Decodierer 32 so überlappend, daß nur sechs neue Bit3 in den Decodierer 32 gebracht werden. Bei jeder Iteration der Multiplikationsoperation erzeugt der Multiplikator-Decodierer 32 Signale, durch die der Multiplikand (MD) von der Multiplikandenquelle 30 den Torschaltungen 24 zugeführt und um einen entsprechenden Betrag verschoben und/oder negativ gemacht wird,The multiplication unit 100 in Fig. 1 includes an operand input device 20, a transfer adder 21, an adding loop 22 for carries and an adder, not shown, working in parallel for continuous carries. The operand input device 20 includes a multiplicand source 30 and a multiplier source 31, a multiplier selection unit 31A, an iteration counter 31B, a multiplier-decoder 32 and multiplicand gates .24. The multiplicand gate circuits 24 consist of several gate circuits, whereby several binary bit operands through the elements to the input of the Carry adder circuit 21 can be transferred. With the multiplier selection unit 31A, the multiplier bits is sampled and the multiplier-decoder 32 energized during each iteration. The iteration counter 3IB energizes the multiplier selection unit 31A after the system clocking for initiation the sampling of the in the multiplier source 31 by the Multiplier selection unit 31A stored multiplier bits. With each iteration, seven bits of the multiplier are examined and used to energize the multiplier-decoder 32. In the first iteration, the multiplier selection unit 31A the first seven bits of the multiplier to the decoder 32 of the multiplier source 31 transmitted. From then on, the multiplier selection unit is in charge 31A subsequent groups of seven multiplier bits to decoder 32 overlapping so that only six new Bit3 are brought into the decoder 32. At each iteration of the multiplication operation, the multiplier-decoder generates 32 signals through which the multiplicand (MD) from the multiplicand source 30 is fed to the gate circuits 24 and by one the corresponding amount is postponed and / or made negative,

WA 972 010WA 972 010

809832/0710809832/0710

1 _ 7 — 1 _ 7 -

!um das Vielfache des MD zu reflektieren, das durch diejenigen! to reflect the multiple of the MD passed by those

iMultiplikatorbits vorgeschrieben wurde, die zur Erzeugung der Vielfachen des MD am Eingang der Übertragsaddierschaltung untersucht wurden, die in Fig. 1 mit Ml bis M3 bezeichnet sind. Wie in (der vorher erwähnten bekannten Multipliziereinheit müssen die Viel-iMultiplier bits have been prescribed which are used to generate the Examined multiples of the MD at the input of the carry adder , which are designated in Fig. 1 with Ml to M3. As in (the previously mentioned known multiplying unit, the multiples

jfachen Ml bis M3 einige Vorzeichenerweiterungsbits aufgrund einer (Charakteristik der Addier-Schleife enthalten. Zwei Vorzeiehenerweiiterungsbits werden in dem hier beschriebenen Ausführungsbeispiel benötigt. Die Gruppe der mit Ml bis M3 bezeichneten Signalleitungen ist das Vielfache des MD, dargestellt als Operandeneingangssignale, für die Übertragsaddierschaltung 21 zur Erzeugung einer endgültigen Ausgabe, die das Produkt des MD und der untersuchten Multiplikatorbits darstellt. Die Multiplikatorbits werden durch den Multiplikator-Decodierer 32 in überlappenden Gruppen von drei Bits untersucht, um den richtigen Verschiebungsbetrag und das Vorzeichen des MD zu bestimmen, die durch die Torschaltungen 24 zu leiten sind. Auf diese Weise wird das werthohe Multiplikatorbit jeder Iteration das wertniedere Bit für die folgende Iteration und sechs Bits des Multiplikators werden während jeder Operation zurückgezogen. Eine Zusammenfassung der Decodiertechnik der Multiplikationseinheit ist in Tabelle 1 der Fig. 4 gegeben.j times Ml to M3 some sign extension bits due to a (Characteristics of the adding loop included. Two prefix extension bits are in the embodiment described here needed. The group of signal lines labeled Ml to M3 is a multiple of the MD, represented as operand input signals, for the carry adder circuit 21 to generate a final output that is the product of the MD and the examined multiplier bits. The multiplier bits are through the multiplier-decoder 32 in overlapping groups of three Bits are examined to determine the correct shift amount and sign of the MD, which is to be applied by the gates 24 are direct. In this way it becomes the high value multiplier bit each iteration the lower value bit for the following iteration and six bits of the multiplier are retired during each operation. A summary of the decoding technique of the multiplication unit is given in Table 1 of FIG.

Die Restwert-Vorhersageeinheit 200 des Fehlerprüfgerätes der vorliegenden Erfindung arbeitet in Verbindung mit der Eingabeeinrichtung 20 der Multiplikationseinheit, wie sie in Fig. 1 dargestellt ist, und erzeugt eine" Restwertvorhersage für das während jeder Iteration durch die Multiplikationseinheit 100 erzeugte Teilprodukt. Die Restwert-Vorhersageeinheit 200 enthält einen MuItiplijkanden-Restwertgenerator 210, dessen Eingang mit der Multiplikandenquelle 30 verbunden ist, einen Generator 2^0 für das Restwertvielfache, der Eingangssignale vom Multiplikanden-Restwertgenerator 210 und dem Multiplikator-Decodierer 32 empfängt, einen Rest-Wert-Akkumulator 220 für Teilprodukte, der eine Rüekkopplungsverjbindung aufweist und mit den Eingängen des Generators 21JO für das fceatwertvielfache und dem Puffer 230 verbunden ist und ein EingangsThe remainder prediction unit 200 of the error checking device of the present invention operates in conjunction with the input device 20 of the multiplication unit, as shown in FIG. 1, and generates a "remainder prediction for the partial product generated during each iteration by the multiplication unit 100 200 contains a multifunctional residual value generator 210, the input of which is connected to the multiplicand source 30, a generator 2 ^ 0 for the residual value multiple, which receives input signals from the multiplicand residual value generator 210 and the multiplier-decoder 32, a residual value accumulator 220 for partial products , which has a feedback connection and is connected to the inputs of the generator 2 1 JO for the fceat value multiple and the buffer 230 and an input

WA972 01° 509832/0710 WA972 01 ° 509832/0710

!signal von dem Akkumulator das Restwert vielfache empfängt.! signal receives the residual value multiple from the accumulator.

Per Multiplikanden-Restwertgenerator 210 erzeugt den Rest z.B. Modulo 3 des MD in konventioneller Restwerttechnik. Die vorliegende Erfindung arbeitet natürlich genausogut mit jedem anderen Moduloisystem, Modulo 3 wurde nur zur Beschreibung des Ausführungsbeispie-; Ies gewählt.The remainder, e.g. modulo 3 of the MD, uses conventional residual value technology to generate the remainder via the multiplicand residual value generator 210. The present Invention, of course, works just as well with any other modulo system, Modulo 3 was only used to describe the exemplary embodiment; Ies chosen.

Fig. 2 zeigt in einem genaueren Blockschaltbild den Gernerator fü Restwertvielfache. Er empfängt in seiner Punktion Eingangssignale von dem Multiplikanden-Restwertgenerator 210 und dem Multiplikador-Decodierer 32 und erzeugt einen vorhergesagten Restwert für die Vielfachen Ml bis M3 basierend auf den empfangenen Eingangssignalen. Der Restwertgenerator 240 für die Teilprodukte entaält eine Restwertberichtigungsschaltung 250 und einen Generator 260 für Restwertvielfache. Die Restwertberichtigungsschaltung iat die Aufgabe, den Rest für einen negativen MD zu berichtigen, so daß das System nur mit positiven Resten arbeitet. Beim Betrieb mit Modulo 3 Restwerten kann natürlich 3 zu'jedem Rest addiert werden, ohne daß das Ergebnis verändert wird, da die Addition der 3 zu einem Rest gleich ist der Addition einer Null. Ein negativer Rest kann daher in sein positives Äquivalent Modulo 3 umgewandelt werden durch Addition einer 3. Da negative Zahlen in Form des Zweierkomplementes in der Multiplikationseinheit dargestellt sind, braucht nur der Rest des negativen MD um 2- berichtigt zu werden, um das positive Äquivalent Modulo 3 zu erhalten. Die Restwertberichtigung 250 berichtigt daher logisch den Rest des negativen MD nach den Multiplikanden-Restwertspalten in Tabelle 2 der Fig. 5.2 shows the generator for residual value multiples in a more precise block diagram. It receives input signals in its puncture from the multiplicand remainder generator 210 and the multiplicator decoder 32 and generates a predicted residual value for the multiples Ml to M3 based on the received input signals. The residual value generator 240 for the partial products contains a residual value adjustment circuit 250 and a generator 260 for residual value multiples. The residual value adjustment circuit Its task is to correct the remainder for a negative MD so that the system only works with positive remainders. During operation with modulo 3 remainders, 3 can of course be added to each remainder, without changing the result, since the addition of 3 to a remainder is equal to the addition of a zero. A negative one The remainder can therefore be converted into its positive equivalent modulo 3 by adding a 3. Da negative numbers in the form of two's complement are shown in the multiplication unit, only the remainder of the negative MD needs to be corrected by 2, to get the positive equivalent modulo 3. The residual value adjustment 250 therefore logically corrects the remainder of the negative MD after the multiplicand remainder columns in Table 2 of FIG. 5.

[Unter weiterem Bezug auf Fig. 2 und Tabelle 2 in Fig. 5 wird gelzeigt, daß der Generator für Restwertvielfache 260 den korrigierten MD-Restwert von der Restwertberichtigungsschaltung 250 über die Eingangsleitungen 261 und die Decodierinformation für die !Vielfachen Ml bis M3 vom MuItiplikator-Decodierer 32 über die !Eingangsleitungen 262 empfängt. Der Generator für Restwertviel-[With further reference to FIG. 2 and Table 2 in FIG. 5, it is shown that the residual value multiple generator 260 corrected the MD residual value from residual value adjustment circuit 250 over the input lines 261 and the decoding information for the ! Multiples Ml to M3 from the multiplier decoder 32 via the ! Input lines 262 receives. The generator for residual value

WA 972 010WA 972 010

S09832/0710S09832 / 0710

fache 260 kombiniert den berichtigten MD Restwert und die Decodier-Information hinsichtlich der Vielfachen zur Bestimmung des Restwer-· tes der Vielfachen Ml bis M3 nach der Tabelle 2 in Fig. 5. ; fold 260 combines the corrected MD residual value and the decoding information with regard to the multiples for determining the residual value of the multiples M1 to M3 according to Table 2 in FIG. 5 ;

Fig. 3 zeigt eine genaue Verwirklichung des Restwertgenerators :24O für die Teilprodukte. Während das Ausführungsbeispiel mit UND-Gliedern und ODER-Gliedern dargestellt ist, können diese Funktionen natürlich auch in einer anderen Form wie z.B. durch NOR-Glieder verwirklicht werden, ohne vom Rahmen der Erfindung abzuweichen.Fig. 3 shows a detailed implementation of the residual value generator : 24O for the partial products. While the embodiment with AND gates and OR gates is shown, these functions can of course also in another form, such as by NOR gates can be realized without departing from the scope of the invention.

Wie aus Fig. 1 zu entnehmen ist umfassen die Eingangsleitungen den !zu Restwertgenerator 240 für die Teilprodukte drei vom Multiplikator-Decodierer 32 ausgehende Satz-Leitungen, je einen Satz für die !Vielfachen Ml bis M3. Entsprechend enthält der Generator 240 drei Sätze von Leitungen von der Restwertberichtigungsschaltung 25O und dem Generator 260 für Restwertvielfache. Die erzeugten Restwerte, RM1 bis RMM-z für die Vielfachen Ml bis M3 werden zum Akkumulator '220 weitergeleitet. Der Restwert-Akkumulator 220 addiert die Restiwerte Modulo 3 von RM1 bis RM~ zu dem vorhergesagten Restwert der vorhergehenden Iteration, um den vorhergesagten Restwert für die laufende Iteration zu bestimmen. Dieser vorhergesagte Restwert jwird dann im Puffer 230 bis zum Abschluß der laufenden Iteration iin der Multiplikationseinheit und zur Erzeugung des Restwertes des !laufenden Teilproduktes verzögert.As can be seen from FIG. 1, the input lines include the residual value generator 240 for the partial products three set lines emanating from the multiplier-decoder 32, one set each for the multiples M1 to M3. Similarly, generator 240 includes three sets of lines from residual value adjustment circuit 250 and residual value multiple generator 260. The generated residual values, R M1 to R MM -z for the multiples Ml to M3 are forwarded to the accumulator 220. The remainder accumulator 220 adds the remainder modulo 3 from R M1 to R M ~ to the predicted remainder of the previous iteration to determine the predicted remainder for the current iteration. This predicted residual value is then delayed in the buffer 230 until the conclusion of the current iteration in the multiplication unit and for the generation of the residual value of the current partial product.

!Gleichzeitig mit der Erzeugung des vorhergesagten .Restwertes ,durch die Restwertvorhersageeinheit 200 führt die Multiplikations-! Simultaneously with the generation of the predicted residual value , the remainder prediction unit 200 performs the multiplication

einheit 100 die laufende Iteration aus, um das laufende Teilprodukt zu bestimmen. Die Übertragsaddiersehaltung 21, bestehend aus dem Übertragsaddierer 40 (ÜA-A) empfängt an ihrem Eingang Gruppen von Signalleitungen, die alle Bits der Vielfachen Ml bis M3 darstellen, die die Multiplikanden-Torschaltungen 24 durchlaufen haben. Der Ausgang der Übertragsaddierschaltung besteht aus zwei Gruppen von Signalleitungen, die die Summe und den Übertrag der Vielfachen Ml und M3 darstellen; Die Anzahl der übertragsaddie rer in der Übertragsaddierschaltung wird.bestimmt durch die Anzahlunit 100 the current iteration to get the current partial product to determine. The carry addition circuit 21, consisting from the carry adder 40 (ÜA-A) receives at its input Groups of signal lines which represent all bits of the multiples Ml to M3 which pass through the multiplicand gate circuits 24 to have. The output of the carry adder consists of two sets of signal lines, the sum and the carry represent the multiples Ml and M3; The number of carry-over additions rer in the carry adder circuit is determined by the number

WA 972 010WA 972 010

509832/0710509832/0710

der während jeder Iteration zurückzuziehenden Multiplikatorbits. !Im Ausführungsbeispiel der hier gezeigten Multiplikationseinheit : werden sechs Multiplikatorbits während jeder Iteration zurückgezogen und da zwei Multiplikatorbits zu einem Bit decodiert werden,, ;braucht man eineübertragsaddierschaltung mit drei Eingängen umthe multiplier bits to withdraw during each iteration. ! In the exemplary embodiment of the multiplication unit shown here : six multiplier bits are withdrawn during each iteration and since two multiplier bits are decoded into one bit, a carry-over adder circuit with three inputs is required

sechs Bits zurückzuziehen. Die Anzahl von ÜA's, die in der Übertragsaddierschaltung benötigt werden, kann mit N-2 dargestellt \ werden, wobei -N die Anzahl von Eingängen zur Übertragsaddierschal-! tung ist.retract six bits. The number of Prob's needed in the Übertragsaddierschaltung can \ be represented with N-2 where N is the number of inputs for Übertragsaddierschal-! tion is.

Die Addierschleife 22 umfaßt eine erste und zweite Stufe von ÜA's, wobei die erste Stufe der Addierschleife gebildet wird von dem Übertragsaddierer 50 mit der Bezeichnung ÜA-B. Die zweite oder Endstufe der Addierschleife 22 wird gebildet vom Übertragsaddierer 52 mit der Bezeichnung ÜA-C. Die Addierschleife 22 empfängt aufeinanderfolgende Ausgangswerte der Übertragsaddierschaltung 21 gleichzeitig, während zwei Gruppen von Ausgangssignalleitungen durch den ÜA-C erzeugt werden. Zusätzlich zu den Ausgangswerfcen der Übertragsaddierschaltung 21 empfängt die Addierschleife 22 auch das Rückkopplungssignal von dem Übertragsausgang der ÜA-C und eine sog. HEISSE EINS für das Vielfache Ml am Eingang des ÜA-B. Die Funktion der HEISSEN EINS besteht in der Umwandlung eines negativen MD in Zweierkompiementform, wie sie für das Decodierschema nach Tabelle 1 in Fig. 4 gebraucht wird. Sobald die decodierten Multiplikandenbits 100, 101 oder 110 sind, muß der negative MD in den ÜA-A 40 des übertragsaddierers 21 durch die Multiplikanden-Torschaltungen 24 verschoben j werden. Die Subtraktion durch Umwandlung des Subtrahenden in seine Zweierkomplementform und Addition der Zahlen ist eine ebenso , bekannte Technik wie die Umwandlung in das Zweierkomplement, in dem man zuerst in das Einerkomplement umwandelt, d.h., die Um-The adding loop 22 comprises a first and second stage of ÜA's, the first stage of the adding loop being formed by the carry adder 50 with the designation ÜA-B. The second or final stage of the adding loop 22 is formed by the carry adder 52 with the designation ÜA-C. The adder loop 22 receives successive outputs from the carry adder circuit 21 simultaneously while two sets of output signal lines are generated by the ÜA-C. In addition to the output values of the carry adder circuit 21, the adder loop 22 also receives the feedback signal from the carry output of the ÜA-C and a so-called HOT ONE for the multiple Ml at the input of the ÜA-B. The function of the HOT ONE is to convert a negative MD into two's complement form, as is used for the decoding scheme according to Table 1 in FIG. As soon as the decoded multiplicand bits are 100, 101 or 110, the negative MD in the ÜA-A 40 of the carry adder 21 must be shifted by the multiplicand gate circuits 24. Subtraction by converting the subtrahend to its two's complement and addition of numbers is a well known technique as the conversion to the two's where you first converts to the one's complement, ie the environmental

kehr ung der Bits vornimmt, und dann eine Eins zur niedrigsten Stelf-Ie der Zahl addiert. Mit dieser Technik wird der MD in den nega- ! tiven MD umgewandelt, sobald der Multiplikator-Decodierer 32 die Verschiebung des negativen MD in den Übertragsaddierer 21 verlangt und die HEISSE EINS das binäre Einerbit ist, welches zurreversing the bits, and then a one to the lowest digit added to the number. With this technique, the MD is in the nega-! tiven MD converted as soon as the multiplier-decoder 32 the Shifting the negative MD required in the carry adder 21 and the HOT ONE is the binary ones bit which is used for the

WA 972 oio B09832/0710 WA 972 oio B09832 / 0710

!niedrigsten Stelle addiert werden muß, um sie in die Zweierkomple-!! lowest digit must be added to convert it to the two-part!

'mentform umzuwandeln. Die HEISSE EINS ist ein binäres Nullbit, so-'to convert 'mentform. The HOT ONE is a binary zero bit, so- '

bald der Decodierer 32 veranlaßt, daß ein positiver MD oder Null i in den Übertragsaddierer 21 geschoben wird. Die Summe aus der Addierschleife 22 wird zum Eingang des ÜA-C der zweiten Stufe rück- \gekoppelt. Da die Ausgangssignale des ÜA-C zur selben Zeit erzeugtsoon the decoder 32 causes a positive MD or zero i to be shifted into the carry adder 21. The sum of the Addierschleife 22 is the input of the ÜA-C coupled to the second stage back \. Because the output signals of the ÜA-C generated at the same time

jwerden, zu der der ÜA-B seine Eingangssignale empfängt, muß in der jSummenrückkopplungsschleife eine gewisse Verzögerung vorgesehen Jwerden, um die Weiterleitungszeit durch den ÜA-B so zu kompensieren, daß der ÜA-C die Ausgangssignale vom ÜA-B und die Rückkopplungssumme gleichzeitig empfängt. Der Puffer 51 hat für die nötige Verzögerung zu sorgen. Der ÜA-C empfängt an seinem Eingang auch die HEISSE EINS für das Vielfache M2.j to which the ÜA-B receives its input signals must be in the jSum feedback loop provided some delay J to compensate for the forwarding time by the ÜA-B so that that the ÜA-C the output signals from the ÜA-B and the feedback sum receives at the same time. The buffer 51 has to provide the necessary delay. The ÜA-C also receives at its entrance the HOT ONE for the multiple of M2.

Die durch den ÜA-C erzeugten Ausgangssignale sind die Summe und der übertrag für eine Iteration durch die Multiplikationseinheit. Da sechs Bits des Multiplikators bei jeder Iteration zurückgezogen werden, müssen die Ausgangswerte des ÜA-C am Ende einer jeden Operation um sechs Bits in Richtung der niederen Werte verschoben werden, um die nächsten sechs Bits des durch die Multiplikator-Auswahleinheit 31A abgetastete Multiplikators aufzunehmen. Es wurde schon vorher gesagt, daß sieben Bits des Multiplikators bei der ersten Iteration ausgewählt werden und sieben Bits bei den nachfolgenden Iterationen durch eine überläppungsteehnik. Das siebente oder werthöchste Bit jeder Iteration wird als das wertniedjrigste Bit für die nachfolgende Iteration wiedergewählt, weil der !Decodierer die Bits in überlappenden drei-Bit-Gruppen untersucht. (Sieben Bits sind erforderlich, um drei überlappende Gruppen von j je drei Bits zu bilden, z.B. 101$100. Die Zahlen 011100 werden ;während der Iteration zurückgezogen und 1 ist das wertniedere Bit für die nächste Iteration. Dementsprechend werden sechs Bits der I Ausgangssignale der Übertragsaddierschleife,am Ende einer jeden !iteration nach rechts verschoben und an den Addierer für übertragsf bits 71 angelegt, der die Summe der angelegten Bits zu errechnen und einen übertrag durch jede folgende Reihe von Übertragsbits weiterzuleiten hat, um festzustellen, ob durch die Endgruppe von Übertragsbits, die an den Addierer für Übertragsbits jl^geleitet WA 972 010 . ~The output signals generated by the ÜA-C are the sum and the transfer for one iteration by the multiplication unit. Since six bits of the multiplier are withdrawn at each iteration, the output values of the ÜA-C must be shifted six bits towards the lower values at the end of each operation in order to accommodate the next six bits of the multiplier sampled by the multiplier selection unit 31A. It was previously said that seven bits of the multiplier are selected in the first iteration and seven bits in the subsequent iterations by an overlap technique. The seventh or most significant bit of each iteration is re-selected as the least significant bit for the subsequent iteration because the decoder examines the bits in overlapping three-bit groups. (Seven bits are required to form three overlapping groups of j three bits each, e.g. 101 $ 100. The numbers 011100 are withdrawn during the iteration and 1 is the lower bit for the next iteration. Accordingly, six bits of the I output signals become the Carry adding loop, shifted to the right at the end of each iteration and applied to the adder for carry bits 71, which has to calculate the sum of the applied bits and pass a carry on through each subsequent series of carry bits to determine whether through the end group of carry bits that is passed to the adder for carry bits jl ^ WA 972 010. ~

509832/0710 '509832/0710 '

wurde, am Ende der letzten Iteration durch die Addierschleife 22 ein übertrag erzeugt wird. Die im Addierer 71 addierten Bits bilden die wertniederen Bits des Produktes der Multiplikationsoperation und werden im übertrags-Summenregister 1JIk nach jeder Itera-I tion-gespeichert, solange die letzte Iteration durch die Addierschleife 22 noch aussteht. Die HEISSE EINS für das Vielfache M3 wird ebenso in den Addierer 71 hineinaddiert. Die ODER-Schaltungen 90 und die ODER-Schaltungen 91 leiten die Summen und Überträge vom ÜA-C zum Restgenerator 400 nach jeder Iteration und leiten die Ausgangswerte der Addierschleife zusammen mit dem Übertrag des Addierers 71 nach der letzten Iteration zum Addierer für durchf gehende Überträge zur Erzeugung des werthohen Teiles des Endproduktes. Dann wird der Inhalt des Übertragssummenregisters 7IA in den wertniederen Teil des Produktregisters geleitet über die ODER-Glieder 90.was, at the end of the last iteration by the adding loop 22 a carry is generated. The bits added in the adder 71 form the lower-order bits of the product of the multiplication operation and are stored in the carry sum register 1 JIk after each iteration as long as the last iteration through the adding loop 22 is still outstanding. The HOT ONE for the multiple M3 is added into adder 71 as well. The OR circuits 90 and the OR circuits 91 pass the sums and carries from the ÜA-C to the remainder generator 400 after each iteration and lead the output values of the adding loop together with the carry from the adder 71 after the last iteration to the adder for continuous carries Production of the valuable part of the end product. The content of the carry-over sum register 7IA is then passed into the lower-value part of the product register via the OR gates 90.

Der Restwertgenerator 400 erzeugt zusammen mit den AusgangsSignalen der Addierschleife 22 und den AusgangsSignalen des Addierers für Übertragsbits 71 den Rest des Teilproduktes während jeder Iteration. Ein Generator 410 für den Restwert der Übertragssumme ist mit dem Summenausgang des Addierers für Übertragsbits 71 verbunden und erzeugt den Restwert der 6 Summenbits und der 6 Übertragsbits vom ÜA-C, die im Addierer 71 während jeder Iteration akkumuliert werden und ein Restwertgenerator 430 für Summe und übertrag des ÜA-A ist mit den ODER-Gliedern 90 und 91 so verbunden, daß der Restwert des Ausgangswertes des ÜA-C einer jeden Iteration erzeugt wird. Die Vorzeichenerweiterungsbits am ÜA-C-Ausgang müssen ebenfalls dem Generator 43O zugeleitet werden. Die Restwertgeneratoren für die Übertragssumme und die ÜA-C-Ausgangssignale sind konventionelle Generatoren, wie sie schon beschrieben wurden. Der Ausgang des Generators 410 ist mit dem Akkumulator 420 verbunden, wo die Äusgangswerte zum vorhergehenden Restwert der Übertragssumme addiert wird. Die Restwerte der Übertragssummen müssen gesammelt werden, da die Übertragssummen miteinander und dann nach der letzten Iteration mit dem Ergebnis des Addierers für durchgehende Überträge verkettet sind. Das Endglied im Restwertgenerator 400The residual value generator 400 generates together with the output signals the adder loop 22 and the output signals of the adder for carry bits 71, the remainder of the partial product during each iteration. A carryover sum generator 410 is connected to the sum output of the adder for carry bits 71 and generates the remainder of the 6 sum bits and the 6 carry bits from the ÜA-C, which are accumulated in the adder 71 during each iteration and a residual value generator 430 for the sum and carry of the ÜA-A is connected to the OR gates 90 and 91 so that the Residual value of the output value of the ÜA-C of each iteration is generated. The sign extension bits at the ÜA-C output must also the generator 43O are fed. The residual value generators for the carry sum and the ÜA-C output signals are conventional Generators as already described. The output of the generator 410 is connected to the accumulator 420 where the initial values for the previous residual value of the carry-over sum is added. The residual values of the carryover sums must be collected as the carry sums are with each other and then after the last iteration with the result of the adder for continuous Carries are chained. The final link in the residual value generator 400

972 010 809832/0710972 010 809832/0710

ist der Restwertaddierer 440. Der Restwertaddierer 440 empfängt an seinem Eingang die Ausgangssignale des Akkumulators 420, die den akkumulierten Restwert der Übertragssummen während der vorhergehenden Iteration darstellen, des Restwertgenerators 430 für Summe und übertrag des ÜA-A, die den Restwert der laufenden Iteration darstellen und die Übertragssignale des Übertragsaddierers J71 für die vorhergehende Iteration. Bei der ersten Iteration sind jdie Aus gangs signale vom Akkumulator 42.0 und vom Addierer Jl Null, j JDer Restwertaddierer kombiniert diese Eingänge plus "2U zur Erzeugung des Restwertes. Die "2" wird $m Addierer 440 addiert, umis the remainder adder 440. The remainder adder 440 receives at its input the output signals of the accumulator 420, which represent the accumulated remainder of the carry sums during the previous iteration, of the remainder generator 430 for sum and carry of the ÜA-A, which represent the remainder of the current iteration and the carry signals of carry adder J71 for the previous iteration. In the first iteration JPress from gangs are signals from the accumulator by the adder 42.0 and Jl zero, j JThe Restwertaddierer these inputs combined plus "U 2 to generate the residual value. The" 2 "is $ m adder 440 to

jeine Besonderheit der ÜA-Initialisierung zu kompensieren, durch die einer der Ausgänge immer negativ ist. Die "2" wird, wie oben gesagt, addiert, um den negativen Restwert in einen positiven jRestwert umzuwandeln.to compensate for any peculiarities of the ÜA initialization one of the outputs is always negative. The "2" is, as said above, added to the negative remainder into a positive one j to convert residual value.

I "I "

jDie Ausgangssignale der Restwert-Vorhersageeinheit 200 und des Restwertgenerators 400 werden durch den Restwertvergleicher 300 empfangen, in dem der Restwertvergleicher 310 die beiden Signale auf digitale Äquivalenz vergleicht und ein Fehlersignal erzeugt, " jwenn das Ergebnis des Vergleiches ungleich ist. Das so erzeugte Pelersignal kann zur Anzeige dafür benutzt werden, daß während der Multiplikationsoperation ein Fehler aufgetreten ist.jThe output signals of the residual value prediction unit 200 and des Residual value generator 400 are received by the residual value comparator 300, in which the residual value comparator 310 receives the two signals compares for digital equivalence and generates an error signal, " jif the result of the comparison is not equal. That generated Pelersignal can be used to indicate that during an error occurred during the multiplication operation.

Im Normalbetrieb werden der Multiplikand und der Multiplikator, deren Produkt zu bestimmen ist, in die Multiplikandenquelle 30 und die Multiplikatorquelle 31 der Multiplikationseinheit 100 geladen. Wenn einer der beiden negativ ist, wird er in Zweierkomplementform dargestellt. Die erste Iteration wird eingeleitet durch den Iterationszähler 3IE und die Multiplikator-Auswahleinheit 3IA fragt die ersten 7 Bitstellen der Multiplikatorqueile :30 ab und überträgt die Bits in den Multiplikator-Decodierer 32. Der Multiplikator-Decodierer 32 decodiert die Multiplikatorbits, die darin in überlappenden Gruppen von drei Bits behalten werden,-jund leitet den Multiplikanden in die Multiplikanden-Torschaltun- " gen 24, um die Vielfachen Ml bis M3 zu bestimmen. Im einzelnenDuring normal operation, the multiplicand and the multiplier, the product of which is to be determined, are stored in the multiplicand source 30 and the multiplier source 31 of the multiplication unit 100 is loaded. If either is negative, it will be in two's complement form shown. The first iteration is initiated by the iteration counter 3IE and the multiplier selection unit 3IA asks the first 7 bit positions of the multiplier source : 30 and transfers the bits to the multiplier-decoder 32. The multiplier-decoder 32 decodes the multiplier bits, which are kept therein in overlapping groups of three bits, -jund directs the multiplicand into the multiplicand gate circuits 24 in order to determine the multiples M1 to M3

WA972O1° S09832/0710 WA972O1 ° S09832 / 0710

-IM--IN THE-

jheißt das, wenn die ersten 7 Bits des Multiplikators iOlllQO lauten, dann werden die Vielfachen Ml bis M3 wie folgt bestimmt:That means if the first 7 bits of the multiplier are iOlllQO then the multiples Ml to M3 are determined as follows:

M 2M 2

1011100
M3 Ml
1011100
M3 Ml

In Pig. 4 ist für Ml=IOO der Negative MD direkt in den ÜA-A 40 des Übertragsaddierers 21 zu laden. Die Umkehrung (das Einerkomplement) des Multiplikanden wird daher durch die Ml Position der Torschaltungen 24 geleitet. Für M2=111 ist in den ÜA-A 40 Null zu laden. Eine Null wird dementsprechend' durch die M2 Position der Torschaltungen 24 geleitet. Für M3=101 ist ein negativer MD in den ÜA-A 40 um eine Bitposition nacn rechts verschoben zu laden und dementsprechend wird die Umkehrung des MD durch.die Position M3 der Torschaltungen 24 um eine Bitposition nach rechts verschoben zugeleitet. Die Anfangsbitposition des Vielfachen M2 liegt am Eingang des ÜA-A um zwei Positionen links von der Anfangsbitposition des Vielfachen Ml. Ähnlich liegt die Anfangsbitposition des Vielfachen M3 zwei Bitpositionen links von der Anfangsbitposition des Vielfachen M2.In Pig. 4 is the negative MD directly in the ÜA-A 40 for Ml = 100 of the carry adder 21 to load. The inversion (one's complement) of the multiplicand is therefore passed through the Ml position of the gate circuits 24. For M2 = 111, the ÜA-A 40 closes zero load. A zero is correspondingly 'through the M2 position of the Gate circuits 24 directed. For M3 = 101, a negative MD is in to load the ÜA-A 40 shifted by one bit position to the right and accordingly the reversal of the MD is through.die position M3 of the gate circuits 24 shifted to the right by one bit position. The starting bit position of the multiple M2 is at the input of the ÜA-A by two positions to the left of the starting bit position of the multiple Ml. The starting bit position of the Multiples M3 two bit positions to the left of the starting bit position of the multiple M2.

Der in Fig. 1 gezeigte Multiplikand-Restwertgenerator 210 bestimmt den Restwert und das Vorzeichen der Multiplikandenquelle 30. Diese werden dann an den Eingängen des Generators für Restwertvielfache 240 zusammen mit der Decodierinformation vom Multiplikator-Decodierer 32 empfangen. Der Restwert des Multiplikanden wird durch die Schaltung 250 zur Restwertberichtigung des Generators 240 für Restwertvielfache in Fig. 3 auf den Eingangsleitungen 251 empfangen und das Vorzeichen des .MD wird an den Eingangsleitungen 252 empfangen. Die Restwertberichtigungsschaltung 250 berichtigt den Restwert des MD so, daß er immer positiv erscheint. Nimmt man z.B. einen Restwert MD= 2 an, dann kombiniert die Restwertberichtigungsschaltung 250 die Eingangssignale des negativen MD und des MD Restwertes gleich 2 und erzeugt einen positiven Rest von 1, der äquivalent ist der Addition 2 Modulo 3 zum Rest-The multiplicand remainder generator 210 shown in FIG. 1 determines the remainder and the sign of the multiplicand source 30. These are then sent to the inputs of the generator for residual value multiples 240 together with the decoding information from the multiplier-decoder 32 received. The residual value of the multiplicand is passed through circuit 250 for residual value adjustment of the generator 240 for residual value multiples in FIG. 3 on the input lines 251 is received and the sign of the .MD is received on input lines 252. The residual value adjustment circuit 250 corrects the residual value of the MD so that it always appears positive. If, for example, a residual value MD = 2 is assumed, then the residual value adjustment circuit is combined 250 the input signals of the negative MD and the MD residual value equal to 2 and generates a positive one Remainder of 1, which is equivalent to adding 2 modulo 3 to the remainder

509832/0710509832/0710

: - 15 -: - 15 -

!wert einer negativen Zahl in Zweierkomplementform.! value of a negative number in two's complement form.

Die Decodierinformation vom Multiplikator-Decodierer 32 wird an den Eingangsleitungen 262 des Generators 260 für Restwertvielfache empfangen, der ein Teil des Generators für Restviertvielfache 240 ist. Der Restwertgenerator 260 kombiniert das Ausgangssignal ides Decodierers mit dem berichtigten MD Restwert zur Bestimmung des Restwertes der Vielfachen Ml bis M3· Inrden obigen Beispielen, !wo die Decodiererbits für Ml=IOO (Lade-MD direkt in ÜA-A) und der berichtigte MD Restwert gleich 1 waren, ist daher der Restwert von Ml=2. In ähnlicher Weise zeigt die Tabelle 2 der Fig. 5 einen Restwert von 2 für einen Operanden, wo der Restwert des negativen MD=2 und das Aus gangs sign al des das Laden von -MD direkt in den ÜA-A erfordern. Die Restwerte von M2 und M3 werden in ähnlicher Weise bestimmt durch den Generator 240 für Restwertvielfaehe.The decoding information from multiplier-decoder 32 is received on input lines 262 of residual multiple generator 260 which is part of residual quadruple generator 240. The residual value generator 260 combines the output ides decoder with the corrected MD residual value for determining the residual value of the multiple Ml to M3 · In r the above examples,! Where the Decodiererbits for Ml = IOO (charging MD directly in ÜA-A) and the corrected MD remainder were equal to 1, the remainder of Ml = 2. Similarly, Table 2 of FIG. 5 shows a remainder of 2 for an operand where the remainder of the negative MD = 2 and the output signal from require the loading of -MD directly into the ÜA-A. The remainders of M2 and M3 are similarly determined by the remainder multiple generator 240.

Der Restwert-Akkumulator für Teilprodukte 220 empfängt die Kestwerte für die Vielfachen Ml bis M3 an seinem Eingang und kombi-. niert diese mit dem vorhergesagten Restwert für die vorhergehende Iteration, um den vorhergesagten Restwert für die laufende Iteration zu bestimmen. Für die erste Iteration ist der früher ?orhergesagte Restwert Null. Wenn der Akkumulator 220 sein Ausgangssignal in den Puffer 230 schiebt, wird danach das Ausgangssignal ebenfalls auf den Akkumulator 220 rückgekoppelt, wo es. zu den drei Restwertvielfachen für die nächste Iteration addiert wird.The residual value accumulator for partial products 220 receives the kest values for the multiples Ml to M3 at its entrance and combi. nees this with the predicted residual value for the previous one Iteration to get the predicted residual for the current iteration to determine. For the first iteration, the one predicted earlier is? Residual value zero. When the accumulator 220 shifts its output into the buffer 230, it becomes the output thereafter also fed back to the accumulator 220, where it. is added to the three residual value multiples for the next iteration.

Gleichzeitig mit der Erzeugung des vorhergesagten Restwertes erzeugt die Multiplikationseinheit 100 das Teilprodukt für die laufende Iteration. Entsprechend wird der die Vielfachen Ml bis M3 darstellende Inhalt der Torsehaltungen 24 in den ÜA-A'40 wie oben bestimmt verschoben. Der üA-40 addiert Ml bis M3 zusammen gap. Erzeugung einer Summe und eines Übertrages an seinem Ausgang. Der ÜA 50 empfängt an seinem Eingang die Ausgangssignale des ÜÄ HO9 !den rückgekoppelten übertrag des ÜA 52 und eine HEISSE EINS für Ml. In obigem Beispiel war Ml negativ und wurde in den ÜA 40 als Einerkomplement geladen, daher ist die HEISSE EINS für Mi eine bΙ972 010 Simultaneously with the generation of the predicted residual value, the multiplication unit 100 generates the partial product for the current iteration. Correspondingly, the content of the gate postures 24 representing the multiples Ml to M3 is shifted into the ÜA-A'40 as determined above. The üA-40 adds Ml to M3 together gap. Generation of a sum and a carryover at its output. The ÜA 50 receives at its input the output signals of the ÜÄ HO 9 ! The fed back transmission of the ÜA 52 and a HOT ONE for Ml. In the above example, Ml was negative and was loaded into the ÜA 40 as one's complement, so the HOT ONE for Mi is a bΙ972 010

509832/0710509832/0710

näre Eins, die in die äußerste rechte übertragssteile des ÜA 50 geladen wird. Das rückgekoppelte Eingangssignal für den ÜA 50 für ' die erste Iteration ist Null. Der ÜA 50 erzeugt an seinem Ausgang : eine Summe und einen übertrag, die die Summe aus der Summe und dem übertrag vom ÜA 40 und dem rückgekoppelten übertrag vom ÜA 52 | darstellt. Die Ausgangssignale des ÜA 50 sind die Eingangssignale für den ÜA 52 zusammen mit dem Summen-Ausgangssignal des ÜA 52, das im Puffer 51 verzögert wurde, und die HEISSE EINS für das Viel fache M2, welches im obigen Beispiel Null ist. Der ÜA 52 addiert seine Eingangssignale zur Erzeugung einer Summe und eines Übertrags· Die Ausgangssignale des ÜA 52 werden um 6 Bits nach rechts verschoben in den Addierer für Übertragsbits 71 gegeben, um Platz zu schaffen für die sechs Multiplikatorbits, die in der nächsten Iteration zu berücksichtigen sind.Nary one that is loaded into the rightmost transfer part of the ÜA 50. The fed back input signal for the ÜA 50 for ' the first iteration is zero. At its output, the ÜA 50 generates: a sum and a transfer, which is the sum of the sum and the transfer from the ÜA 40 and the fed back transfer from the ÜA 52 | represents. The output signals of the ÜA 50 are the input signals for the ÜA 52 together with the sum output signal of the ÜA 52, which was delayed in the buffer 51, and the HOT ONE for the multiple M2, which is zero in the above example. The ÜA 52 adds its input signals to generate a sum and a carry · The output signals of the ÜA 52 are shifted 6 bits to the right and put in the adder for carry bits 71 to make room for the six multiplier bits to be taken into account in the next iteration are.

Gleichzeitig mit dem Verschieben der sechs Summen- und der sechs Übertragsbits als Ausgangssignale des ÜA 52 in den Addierer 71 wird der Restwertgenerator 400 betätigt zur Bestimmung des Restwertes des Teilproduktes, das am Ausgang des ÜA 52 erzeugt wird. Die ODER-Glieder 90 und 91 werden betätigt, um die nichtverschobenen Ausgangsbits des ÜA 52 einschließlich der Vorzeichenerweiterungsbita in den Restwertgenerator 430 für Summe und übertrag des ÜA-A zu leiten. Der Restwertgenerator 430 erzeugt den Restwert der Summe und des Übertrages vom ÜA 52 und leitet diesen Restwert in den Restwertaddierer 440 weiter. Der Restwertaddierer 440 empfängt an seinem Eingang die Ausgangssignale vom Restwertgenerator 430, die übertrags-Ausgangssignale des Addierers 71 für Übertragsbits und die Ausgangssignale des Akkumulators 420 für den Restwert der übertragesumme und addiert zu diesen Eingängen plus "2" zur Erzeugung des Restwertes für das laufende Teilprodukt. Wie vorher gesagt wurde, kompensiert die "2" die ÜA Initialisierung. Die Ausgangssignale des Akkumulators für den Restwert der übertragssumme, die in den Restwertaddierer weitergeleitet werden, stellen die Ausgangssignale der vorhergehenden Iteration dar, da die Ausgangssignale des Restwertgenerators 43Ο aus den nichtSimultaneously with the shifting of the six sum and the six carry bits as output signals of the ÜA 52 in the adder 71 the residual value generator 400 is actuated to determine the residual value of the partial product that is generated at the output of the ÜA 52. The OR gates 90 and 91 are operated to set the unshifted output bits of the ÜA 52 including the sign extension bits into the residual value generator 430 for total and carry forward of the ÜA-A. The residual value generator 430 generates the residual value of the sum and the carryover from the ÜA 52 and forwards this residual value to the residual value adder 440. The remainder adder 440 receives at its input the output signals from residual value generator 430, the carry output signals from adder 71 for carry bits and the output signals from accumulator 420 for the residual value the transfer amount and added to these inputs plus "2" to generate the residual value for the current partial product. As previously said, the "2" compensates for the ÜA initialization. The output signals of the accumulator for the residual value of the transfer amount, which are passed on to the remainder adder represent the output signals of the previous iteration, da the output signals of the residual value generator 43Ο from the not

WA 972 010WA 972 010

S09832/0710S09832 / 0710

j verschobenen Ausgangssignalen des ÜA-C 52 erzeugt werden. Bei der ersten. Iteration sind diese beiden Ausgangssignale daher Null.j shifted output signals of the ÜA-C 52 are generated. In the first. Iteration, these two output signals are therefore zero.

Der Restwertvergleicher 310 empfängt an seinem Eingang die Aus- |gangssignale des Restwertaddierers 440 und des Puffers 230, die die tatsächlichen und die vorhergesagten Restwerte für die laufende Iteration darstellen. Der Restwertvergleicher 310 vergleicht seine Eingangssignale digital, um festzustellen, ob ein Masehinenfehler einen Fehler in der Multiplikationseinheit während der betreffenden Iteration auslöste. Wenn ein Fehler aufgetreten ist, sind die Vergleichsergebnis.se verschieden und es wird ein Fehlersignal erzeugt.The residual value comparator 310 receives the output at its input | Output signals of the remainder adder 440 and buffer 230 showing the actual and predicted remainders for the current Represent iteration. The residual value comparator 310 compares its inputs digitally to determine if there is a mechanical error caused an error in the multiplication unit during the relevant iteration. If an error has occurred, the comparison results are different and an error signal is generated generated.

Gleichzeitig mit dem Weiterleiten der Ausgangssignale des ÜA-52 des Restwertgenerators 430 für Summe und übertrag des ÜA-Ä durch die ODER-Glieder 90 und 91 werden sechs Summenbits und sechs Übertragsbits des Teilproduktes vom ÜA 52 in den Addierer 71 verschoben. Der Addierer 71 empfängt diese Bits an seinen Eingängen zusammen mit seinem eigenen rückgekoppelten Übertragsbit und der HEISSEN EINS für M3 und addiert sie zur Erzeugung eines Summen- und Übertragsausgangssignales. Das Summenausgangssignal des Addierers 71 wird in das Summenregister 71A verschoben, wo es mit den Summen aus vorhergehenden Iterationen verkettet wird. Das Summenaus gangs si gnal des Addierers 71 wird ebenfalls durch den Generator 410 abgefragt, der den Restwert der Summe bestimmt. Die Ausgabe des Generators 410 wird weitergeleitet zum Akkumulator 420, wo sie zum akkumulierten Restwert der Übertragssummen für vorhergehende Iterationen addiert wird. Die Ausgabe des Akkumulators 420 wird' in den Restwertaddierer 440 weitergeleitet, wo sie zum Teilproduktrestwert für die nächste Iteration addiert wird. Die Übertragsausgabe des Addierers 71 wird direkt in den Restwertaddierer 440 geleitet, da es sich nur um ein Einerbitsignal handelt, und wird jauch zu dem Teilproduktrestwert für die nächste Iteration addiert..Simultaneously with the forwarding of the output signals of the ÜA-52 of the residual value generator 430 for the sum and transfer of the ÜA-Ä OR gates 90 and 91 become six sum bits and six carry bits of the partial product shifted from the ÜA 52 into the adder 71. The adder 71 receives these bits together at its inputs with its own fed back carry bit and the HOT ONE for M3 and adds them to generate a sum and carry output. The sum output of the adder 71 is shifted to the sum register 71A, where it is matched with the Sums from previous iterations are concatenated. The Summenaus output signal of the adder 71 is also generated by the generator 410 is queried, which determines the remainder of the sum. The output of generator 410 is passed to accumulator 420 where it to the accumulated residual value of the carryforward sums for previous ones Iterations is added. The output of the accumulator 420 is passed into the remainder adder 440 where it is added to the partial product remainder for the next iteration. The carry output of the adder 71 is fed directly into the remainder adder 440, since it is only a one-bit signal, and is also added to the partial product remainder for the next iteration ..

WA 972 oio 609832/0710 WA 972 oio 609832/0710

Nach der letzten Iteration durch die Addierschleife 22 werden die Ausgangssignale des ÜA 52 durch die ODER-Glieder 90 und 91 an den Addierer für durchgehende Überträge zusammen mit der HEIS-SEN EINS für das Vielfache M3 für die letzte Iteration und dem übertrag des Addierers 71 geleitet. Diese Eingangswerte werden zu den werthöchsten Zahlen des Endproduktes kombiniert. Die Ausgangssignale des Summenregisters 7IA werden dann über die ODER-Glieder 90 zur Bildung der wertniedrigsten Zahlen des Endproduktes in den Addierer für durchgehende Überträge geleitet.After the last iteration through the adding loop 22 the output signals of the ÜA 52 through the OR gates 90 and 91 to the adder for continuous transfers together with the HEIS-SEN ONE for the multiple M3 for the last iteration and the carry of the adder 71. These input values are combined to the most valuable numbers of the end product. The output signals of the sum register 7IA are then via the OR gates 90 to form the lowest value numbers of the end product passed into the adder for continuous carries.

In der obigen Beschreibung wurde eine Fehlerprüfschaltung gezeigt, die so aufgebaut ist, daß sie feststellt, wenn ein Maschinenfehler auftritt während jeder Iteration, die von einer mit iterativer Addition arbeitenden Multiplikationseinheit bei der Ausführung einer Multiplikation durchgeführt wird, worin zwei Bits des Multiplikators zu einem decodierten Bit decodiert werden, um die richtigen Verschiebungen und das Vorzeichen des Multiplikanden in einen Addierer für die Übertragssumme mit drei Eingängen zu bestimmen. Die Prüfschaltung führt ihre Aufgabe parallel mit der eigentlichen Multiplikationsoperation aus, ohne daß der Wirkungsgrad der Multiplikationseinheit dadurch heruntergesetzt wird.In the description above, an error checking circuit has been shown, which is designed to detect when a machine failure occurs during each iteration, led by one with iterative Addition working multiplication unit when performing a multiplication is performed in which two bits of the multiplier can be decoded to a decoded bit to get the correct shifts and the sign of the multiplicand in an adder for the carry sum with three inputs. The test circuit performs its task in parallel with the actual multiplication operation without affecting the efficiency the multiplication unit is thereby reduced.

WA 972 010.WA 972 010.

503832/0710503832/0710

Claims (1)

- I9 -- I 9 - PATENTANSPRÜCHEPATENT CLAIMS Schaltungsanordnung zur Erkennung von durch Bauteilausfall verursachten Fehlern in der Multipliziereinheit eines digitalen Datenverarbeitungssystems, die eine Multiplikation durch wiederholte Addition ausführt und bei der die Vielfachen bestimmt werden durch Decodieren einer Reihe von Multiplikatorbits während jeder Iteration, gekennzeichnet durchCircuit arrangement for the detection of errors caused by component failure in the multiplying unit of a digital one Data processing system that performs a multiplication by repeated addition and in which the multiples are determined by decoding a series of multiplier bits during each iteration by a) eine Vorrichtung (200 Fig. 1) zur Vorhersage eines Restwertes, die mit dem Multiplikanden-Eingang der Multipliziereinheit verbunden ist zur Erzeugung eines vorhergesagten Restwertes für das während der laufenden Iteration erhaltene Teilprodukt auf der Basis des Restwertesa) a device (200 Fig. 1) for predicting a residual value, which is connected to the multiplicand input of the multiplication unit is connected to generate a predicted residual for that during the current iteration partial product obtained on the basis of the residual value des Multiplikanden, der decodierten Multiplikatorbits für die laufende Iteration und des vorhergesagten Restwertes für die vorhergehende Iteration9 the multiplicand, the decoded multiplier bits for the current iteration and the predicted remainder for the previous iteration 9 b) einen Restwertgenerator (40O)9 der mit den Ausgängen, der Multipliziereinheit verbunden ist sur Bestimmung des in der laufenden Iteration erzeugten Teilproduktes landb) a residual value generator (40O) 9 which is connected to the outputs of the multiplication unit to determine the partial product land generated in the current iteration c) eine Vergleichsvorrichtung (300) /die an die Vorrichtung zur Vorhersage einea Restwertes und an den Reätwertgenerator angeschlossen ist und die bei Ungleichheit ihrer Eingangssignale ein Fehlersignal liefert.c) a comparison device (300) / attached to the device for predicting a residual value and is connected to the advisory value generator and when their inequality Input signals provides an error signal. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Vorrichtung zur Vorhersage eines Restwertes eine erste Vorrichtung (210) zur Bestimmung des Restwertes des Multiplikanden und eine zweite, mit der ersten verbundene Vorrichtung (240) zur Bestimmung der Restwerte der laufenden Vielfachen für die Multipliziereinheit und einen an die zweite Vorrichtung angeschlossenen Akkumulator (220) zur Kombination der laufenden Restwerte mit dem vor-Circuit arrangement according to Claim 1, characterized in that the device for predicting a residual value a first device (210) for determining the residual value of the multiplicand and a second device (240) connected to the first for determining the residual values of the running multiples for the multiplying unit and one Accumulator (220) connected to the second device to combine the current residual values with the previous WA 972 010WA 972 010 509832/0710509832/0710 - 20 hergesagten Restwertes enthält.- Contains 20 predicted residual values. 3. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß die zweite Vorrichtung (240) zur Bestimmung des Restwertes enthält3. Circuit arrangement according to claim 2, characterized in that the second device (240) for determining the Contains residual value a) eine Vorrichtung (250$ Fig. 2) zur Korrektur des Restwertes des Multiplikanden in einen positiven Restwert unda) a device (250 $ Fig. 2) for correcting the remainder of the multiplicand into a positive remainder and b) eine mit der Vorrichtung zur Korrektur des Restwertes des Multiplikanden verbundene Vorrichtung (260) zur Erzeugung der Restwerte der laufenden Vielfachen für die Multipliziereinheit aufgrund des korrigierten MuItiplikanden-Restwertes und der decodierten Multiplikatorbits für die laufende Iteration.b) a device (260) connected to the device for correcting the residual value of the multiplicand for generating the residual values of the running multiples for the multiplication unit based on the corrected multiplicand residual value and the decoded multiplier bits for the current iteration. . Schaltunganordnung nach Anspruch 2, .dadurch gekennzeichnet, daß die Vorrichtung zur Vorhersage des Restwertes einen an den Akkumulator und an die Vergleichsvorrichtung angeschlossenen Puffer (230) enthält zur Verzögerung des vorhergesagten laufenden Restwertes bis der tatsächliche laufende Restwert erzeugt ist.. Circuit arrangement according to Claim 2, characterized in that that the device for predicting the residual value one to the accumulator and to the comparison device attached buffer (230) contains to delay the predicted current residual value until the actual current residual value is generated. WA 972 010WA 972 010 SG9832/G716SG9832 / G716
DE19752503152 1974-01-31 1975-01-27 CIRCUIT ARRANGEMENT FOR DETECTION OF DEFECTS CAUSED BY COMPONENT FAILURE IN THE MULTIPLICATION UNIT OF A DATA PROCESSING SYSTEM Pending DE2503152A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US438511A US3873820A (en) 1974-01-31 1974-01-31 Apparatus for checking partial products in iterative multiply operations

Publications (1)

Publication Number Publication Date
DE2503152A1 true DE2503152A1 (en) 1975-08-07

Family

ID=23740912

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19752503152 Pending DE2503152A1 (en) 1974-01-31 1975-01-27 CIRCUIT ARRANGEMENT FOR DETECTION OF DEFECTS CAUSED BY COMPONENT FAILURE IN THE MULTIPLICATION UNIT OF A DATA PROCESSING SYSTEM

Country Status (5)

Country Link
US (1) US3873820A (en)
JP (1) JPS5633735B2 (en)
DE (1) DE2503152A1 (en)
FR (1) FR2260139B1 (en)
GB (1) GB1443307A (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4041292A (en) * 1975-12-22 1977-08-09 Honeywell Information Systems Inc. High speed binary multiplication system employing a plurality of multiple generator circuits
US4181969A (en) * 1978-01-18 1980-01-01 Westinghouse Electric Corp. System for detecting and isolating static bit faults in a network of arithmetic units
US4594679A (en) * 1983-07-21 1986-06-10 International Business Machines Corporation High speed hardware multiplier for fixed floating point operands
JPS60140428A (en) * 1983-12-28 1985-07-25 Hitachi Ltd Divider
US4870607A (en) * 1986-07-03 1989-09-26 Nec Corporation Error detection carried out by the use of unused modulo-m code
US4924467A (en) * 1988-08-24 1990-05-08 Unisys Corporation System for checking duplicate logic using complementary residue codes to achieve high error coverage with a minimum of interface signals
US5081629A (en) * 1989-05-08 1992-01-14 Unisys Corporation Fault isolation for multiphase clock signals supplied to dual modules which are checked by comparison using residue code generators
US5253195A (en) * 1991-09-26 1993-10-12 International Business Machines Corporation High speed multiplier
WO2005124578A2 (en) * 2004-06-16 2005-12-29 Discretix Technologies Ltd System, method and apparatus of error detection during a modular operation
US7769795B1 (en) * 2005-06-03 2010-08-03 Oracle America, Inc. End-to-end residue-based protection of an execution pipeline that supports floating point operations
US8433742B2 (en) * 2008-08-06 2013-04-30 Oracle America, Inc. Modulus-based error-checking technique
US8566383B2 (en) * 2008-10-17 2013-10-22 International Business Machines Corporation Distributed residue-checking of a floating point unit

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3098994A (en) * 1956-10-26 1963-07-23 Itt Self checking digital computer system
US3659089A (en) * 1970-12-23 1972-04-25 Ibm Error detecting and correcting system and method
US3814923A (en) * 1973-01-02 1974-06-04 Bell Telephone Labor Inc Error detection system

Also Published As

Publication number Publication date
JPS5633735B2 (en) 1981-08-05
US3873820A (en) 1975-03-25
JPS50110243A (en) 1975-08-30
FR2260139B1 (en) 1977-05-20
FR2260139A1 (en) 1975-08-29
GB1443307A (en) 1976-07-21

Similar Documents

Publication Publication Date Title
DE2508706C2 (en) Circuit arrangement for coding data bit sequences
DE3700991C2 (en) Digital carry look ahead adder
DE3840969C2 (en)
DE2503152A1 (en) CIRCUIT ARRANGEMENT FOR DETECTION OF DEFECTS CAUSED BY COMPONENT FAILURE IN THE MULTIPLICATION UNIT OF A DATA PROCESSING SYSTEM
DE2060643B2 (en) Circuit arrangement for correcting individual errors
DE2803425A1 (en) DIGITAL DEVICE FOR DETERMINING THE VALUE OF COMPLEX ARITHMETIC EXPRESSIONS
DE2659200A1 (en) TEST ARRANGEMENT FOR A FAULT DETECTION CIRCUIT
DE2421130C2 (en)
DE2946846A1 (en) ROUNDING CORRECTION LOGIC FOR MULTIPLIER FOR MODIFIED BOOTH ALGORITHM
DE1549508B2 (en) ARRANGEMENT FOR TRANSFER CALCULATION WITH SHORT SIGNAL TIME
DE2417932A1 (en) METHOD AND DEVICE FOR OBTAINING THE CYCLICAL CODE GROUP OF A BINARY MESSAGE
DE19746054B4 (en) Method and apparatus for performing a double precision operation
WO2003093969A2 (en) Device and method for calculating a result of a modular multiplication
DE2732008A1 (en) DEVICE FOR THE REDUCTION OF FIBONACCI-P CODES TO THE MINIMAL FORM
DE19719654B4 (en) Error decoding method and apparatus for Reed-Solomon codes
DE3440680C2 (en)
DE3314035A1 (en) OPERATION PROCESSING DEVICE
DE3434777A1 (en) METHOD AND DEVICE FOR SIGN SIGNALING FOR A TRANSMISSION SECURITY ADDER
DE2222195A1 (en) ARRANGEMENT FOR PROCESSING OPERANDS OF PROGRAMS
DE3422287C2 (en)
DE10050589B4 (en) Apparatus and method for use in performing a floating point multiply-accumulate operation
DE2633253A1 (en) DATA PROCESSING SYSTEM
DE19614480C2 (en) Adding unit with a preliminary determination of the leading zeros and procedures
DE102013112021B4 (en) Method and device for detecting bit errors
DE2312128A1 (en) CIRCUIT ARRANGEMENT FOR DETERMINING THE DUAL LOGARITHM OF A BINARY NUMBER

Legal Events

Date Code Title Description
OHJ Non-payment of the annual fee