EP0627099A1 - Product summing circuitry - Google Patents

Product summing circuitry

Info

Publication number
EP0627099A1
EP0627099A1 EP94903145A EP94903145A EP0627099A1 EP 0627099 A1 EP0627099 A1 EP 0627099A1 EP 94903145 A EP94903145 A EP 94903145A EP 94903145 A EP94903145 A EP 94903145A EP 0627099 A1 EP0627099 A1 EP 0627099A1
Authority
EP
European Patent Office
Prior art keywords
arrangement
control
register
output
data
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
EP94903145A
Other languages
German (de)
French (fr)
Inventor
Alfred Baier
Johannes Schuck
Dirk Weinsziehr
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.)
Philips Intellectual Property and Standards GmbH
Koninklijke Philips NV
Original Assignee
Philips Corporate Intellectual Property GmbH
Philips Patentverwaltung GmbH
Koninklijke Philips Electronics NV
Philips Electronics NV
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 Philips Corporate Intellectual Property GmbH, Philips Patentverwaltung GmbH, Koninklijke Philips Electronics NV, Philips Electronics NV filed Critical Philips Corporate Intellectual Property GmbH
Publication of EP0627099A1 publication Critical patent/EP0627099A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • G06F7/5095Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators word-serial, i.e. with an accumulator-register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products

Definitions

  • Circuit arrangement for forming the sum of products.
  • the invention relates to a circuit arrangement for forming the sum of products of a chain of data word pairs, with an adding / subtracting arrangement, the function of which can be switched in particular with regard to addition and subtraction via first control inputs, with at least one accumulator register, of which an input with an output of the adder / Subtracting arrangement and from which an output can be coupled to an input of the adding / subtracting arrangement, and with a control arrangement for controlling the successive processing of the products.
  • Such arithmetic operations occur particularly in digital signal processors and are used, for example, to implement scalar products and discrete-time correlation, filtering and folding operations.
  • a multiplier arrangement is usually provided which successively receives the two data words of each pair and whose output is connected to an input of the adder / subtractor arrangement, the other input of this arrangement being connected to the output via a so-called accumulator register the arrangement is connected.
  • the object of the invention is therefore to provide a circuit arrangement of the type mentioned at the outset, which is simple in structure and works quickly for the special case of the values for the one data words.
  • This object is achieved in that for processing data word pairs, of which one data word of each pair is supplied as one of the two bit values + 1 or -1, the control arrangement, the individual values of the one data words in succession at least one of the first control inputs of the Adder / subtractor arrangement and in parallel cause the other data words of each pair to be fed to another input of the adder / subtractor arrangement.
  • control of the adding / subtracting arrangement can be carried out in such a way that the value of the one data word of each pair is supplied directly to the control input, while the other input of the adding / subtracting arrangement is supplied with the other data word of the pair essentially simultaneously.
  • this always encourages two data word transports for each pair.
  • an embodiment of the invention is characterized in that a
  • a register which stores the values of the one data word of at least part of the chain of data word pairs in parallel and is connected from the output to at least one of the first control inputs of the adder / subtractor arrangement, and the register is a shift register with a number of stages which can be written in parallel and an output of one of the stages represents the output of the register, the content of the register being bit-shiftable by first control signals from the control arrangement.
  • the register receives the one data word in parallel and outputs a number of consecutive pairs under the control of the control arrangement, which also controls the supply of the other data words to the add / subtract arrangement. This means that only one data word transport is required for each step.
  • a more general control of the processing of data words is possible according to a further embodiment in that, depending on the first control signals of the control arrangement, the content of the register can be shifted in a selectable direction and the register can be closed as a shift register in the ring.
  • the function of the add / subtract arrangement can only be controlled via the control input connected to the output of the register as a function of at least one second control signal from the control arrangement. This makes it possible to switch off the influence of the register on the function of the addition / subtraction arrangement.
  • the simplest way to do this is to connect the output of the register to a control input of the adding / subtracting arrangement via a logic logic circuit, which also receives the second control signal. This enables advantageous functions, for which an example will be explained later.
  • An advantageous application of the circuit arrangement according to the invention is in a processor, in particular a digital signal processor, which has at least one data bus. It is expedient that the stages of the register are coupled to the data bus and that by a third control signal from the control arrangement Transfer data available on the data bus. The transfer of the one data word into the register is thus carried out by the control arrangement in the same way as the other data words of the pairs.
  • This is expediently essentially the instruction decoder of the processor.
  • the output of the register can then be connected to the data bus in a processor, as with other registers, so that this register can also be used in general to temporarily store any word.
  • the control arrangement as a decoder, generates an active value of the first and second control signals only when predetermined command codes occur.
  • This direct command-dependent control of the register and the addition / subtraction arrangement makes it possible, for example, to carry out the arithmetic functions x-y and x + y for two data words x and y, depending on the value of the first control signal, by means of a special command in a command clock cycle.
  • Fig. 1 is a block diagram of an arrangement according to the invention
  • Fig. 2 shows an example of a logical combination of the register output with control signals.
  • FIG. 1 shows a rough block diagram of a section of a processor, in particular a signal processor.
  • An essential element therein is an adding / subtracting arrangement 10, which is generally designed as a so-called arithmetic-logic unit, by means of the simple addition or subtraction of two data words, and further arithmetic and logic functions with these
  • Data words can be carried out, which can be controlled via a number of control inputs 9, these functions other than addition and subtraction being of no importance in this context.
  • the result of the processing function appears at an output Z, which here is connected via a connection 11 to a number of accumulator registers 26a to 26n, the most
  • Output Z appearing result can be written into one of these registers by control signals on line 19.
  • the use of a plurality of registers is useful for some functions of a processor, for the following too descriptive function, however, only one register would be sufficient.
  • the content of one of the registers 26a to 26n can be read out by control signals via a line 21, and this content is fed to the input B of the unit 10 via the connection 27 and via a multiplexer 18.
  • the multiplexer 18, like the multiplexer 16, is controlled via control lines (not shown) for the sake of simplicity, specifically by the control arrangement 12, which also feeds the control lines 19 and 21 and further control lines to be described.
  • This control arrangement essentially represents the command decoder for decoding the command words which are successively read out from a command memory (not shown) and supplied via a data bus 20a.
  • the content read out from one of the registers 26a to 26n can also be fed to this data bus 20a.
  • the multiplexer 18 connects either the connection 27 or the output of a register 24 to the input B of the unit 10.
  • the multiplexer 16 connects the output of a register 22 or one of other elements, not shown of the processor coming connection 25 with the input A of the unit 10.
  • the registers 22 and 24 are controlled, also expediently by control (not shown) by the control arrangement 12, for storing a respective data word which is supplied via a data bus 20, for example from a memory 30 .
  • the data bus 20 can be identical to the data bus 20a, but more than two data buses can also be used, wherein the registers 22 and 24 can be connected to different data buses.
  • a register 14 which receives the bits of the one data words of a chain of data word pairs in parallel via, for example, the bus 20 and registers with a control signal on line 23 from control arrangement 12.
  • the regsiter 14 is designed as a shift register with a number of stages, each stage storing one bit of the supplied data word, and the content of all stages can be shifted in parallel via a control signal via line 13 from the control arrangement 12, so that the contents of each one successively Stage at an output 15 of register 14 appears.
  • This output 15 is connected via an arrangement 28, which will be explained later, to a control input 9 of the adding / subtracting unit 10, and depending on the value of the bit occurring at the output 15, ie the one data word of a data word pair, the adding / subtracting unit 10 switched to addition or subtraction function.
  • control signals on line 13 thus control which one data word of each pair occurs at output 15 of register 14, and memory 30 is controlled via a control line 31 so that it reads the other data word belonging to the data word pair and via the data bus 20 and register 22 feeds input A of unit 10. Depending on the bit value at output 15, this supplied data word is then added to or subtracted from the previously accumulated intermediate result.
  • the more precise timing is such that first the one-bit values of one data word are transferred to register 14 and then the other data word of a data word pair is read out of the memory and fed to register 22 , and then this data word is transferred to register 22 and appears with a short delay at input A, while register 14 receives a shift signal, so that the associated data word of this pair appears at output 15 and thus at control input 9 of unit 10 .
  • This shift signal for the register 14 can, however, also shortly before the new data word is written into the register 22 or even more favorably shortly after the processing each of the other data words are generated so that the add / subtract unit 10 is already set to its new function when a new other data word appears at input A.
  • control arrangement 28 is connected to the control input 9 of the unit 10 and is controlled by the control arrangement 12 via a control line 17a.
  • This control line 17a can thus prevent the function of the unit 10 from being influenced by the signal at the output 15, so that the function is then only controlled by the signals on the control line 17 from the control arrangement 12.
  • the outputs of all stages of the register 14 are also connected in parallel to the data bus 20a, and the content of all stages can be transmitted to this data bus 20a by means of a corresponding control signal from the control arrangement 12.
  • the register 14 can also be used like any memory register if the special function for controlling the adding / subtracting arrangement is temporarily not required.
  • FIG. 2 shows an example of the structure of the link arrangement 28 and also of the structure of the add / subtract arrangement 10, which, however, can actually only carry out additions or subtractions here.
  • the subtraction is carried out in two's complement, ie the complement of the value to be subtracted and an additional unit of the lowest digit are added.
  • the add / subtract unit 10 contains an adder 40, the inputs a and b of which receive the data words applied to the inputs A and B of the unit 10 via the multiplexers 42 and 44 either directly or via the inverter stages 46 and 48 in complement.
  • the adder 40 also has a carry unit 41.
  • the output z of the adder 40 leads to the connection 11. With this arrangement it is possible to perform the two functions A-Bk j or
  • Line j carries a logic "0"
  • inverter 54 generates a logic "1" on line 53 via OR gate 52, see above that the data word at input B is passed on unchanged via the multiplexer 44 and both data words are added without carry.
  • line 53 carries a logical "0”
  • the content of the register 14, which is formed as a shift register closed in the ring, thus determines whether the add / subtract unit 10 forms the sum or the difference of the two supplied data words, the signals generated on the lines depending on the special commands i and j determine the sign of this difference so that each of these arithmetic functions can be formed in only one instruction clock cycle.

Abstract

Dans des processeurs, notamment des processeurs de signaux numériques, il arrive souvent qu'il soit nécessaire de totaliser les produits d'une chaîne de paires de mots de données, par exemple pour des opérations de corrélation ou de convolution, chaque mot de données d'une paire ne pouvant avoir qu'une des deux valeurs +1 ou -1. Selon l'invention, un mot de données de chaque paire est transmis à un dispositif d'addition/soustraction, au lieu d'être transmis à un multiplicateur afin de former un produit, et détermine si le dispositif d'addition/soustraction effectue une addition ou une soustraction. Une entrée de l'unité d'addition/soustraction reçoit l'autre mot de données des paires de mots de données et l'autre entrée est connectée à la sortie du registre accumulateur. On peut ainsi éliminer le coûteux dispositif multiplicateur, ou lorsque celui-ci est de toute façon présent, il n'est pas utilisé, de sorte que le processeur dissipe moins de puissance.In processors, especially digital signal processors, it often happens that it is necessary to total the products of a chain of pairs of data words, for example for correlation or convolution operations, each data word d 'a pair can only have one of the two values +1 or -1. According to the invention, a data word of each pair is transmitted to an addition / subtraction device, instead of being transmitted to a multiplier in order to form a product, and determines whether the addition / subtraction device performs a addition or subtraction. One input of the addition / subtraction unit receives the other data word from the pairs of data words and the other input is connected to the output of the accumulator register. We can thus eliminate the expensive multiplier device, or when it is present anyway, it is not used, so that the processor dissipates less power.

Description

Schaltungsanordnung zum Bilden der Summe von Produkten. Circuit arrangement for forming the sum of products.
Die Erfindung betrifft eine Schaltungsanordnung zum Bilden der Summe von Produkten einer Kette von Daten Wortpaaren, mit einer Addier/Subtrahieranordnung, deren Funktion insbesondere hinsichtlich Addition und Subtraktion über erste Steuereingänge umschaltbar ist, mit wenigstens einem Akkumulatorregister, von dem ein Eingang mit einem Ausgang der Addier/Subtrahieranordnung und von dem ein Ausgang mit einem Eingang der Addier/Subtrahieranordnung koppelbar ist, und mit einer Steueranordnung zur Steuerung der aufeinanderfolgenden Verarbeitung der Produkte.The invention relates to a circuit arrangement for forming the sum of products of a chain of data word pairs, with an adding / subtracting arrangement, the function of which can be switched in particular with regard to addition and subtraction via first control inputs, with at least one accumulator register, of which an input with an output of the adder / Subtracting arrangement and from which an output can be coupled to an input of the adding / subtracting arrangement, and with a control arrangement for controlling the successive processing of the products.
Derartige Rechenoperationen kommen insbesondere bei digitalen Signalprozessoren vor und dienen beispielsweise dazu, Skalarprodukte sowie zeitdiskrete Korrelations-, Filter- und Faltungsoperationen zu realisieren. Um eine schnelle Durchführung solcher Operationen zu ermöglichen, ist üblicherweise eine Multiplizieranordnung vorgesehen, die nacheinander die beiden Datenwörter jedes Paares erhält und deren Ausgang mit einem Eingang der Addier/Subtrahieranordnung verbunden ist, wobei der andere Eingang dieser Anordnung über ein sogenanntes -Akkumulatorregister mit dem Ausgang der Anordnung verbunden ist. Bei einem entsprechenden Aufbau ist es möglich, einen Multiplizier- Akkumulations-Schritt sowie die hierfür erforderlichen Übertragungen der Datenwörter in einem einzigen Befehlszyklus des Prozessors durchzuführen. Die Bildung der gesamten Summe erfordert dann lediglich eine Anzahl Befehlszyklen gleich der Anzahl Datenwortpaare zuzüglich einiger vorbereitender Befehle.Such arithmetic operations occur particularly in digital signal processors and are used, for example, to implement scalar products and discrete-time correlation, filtering and folding operations. In order to enable such operations to be carried out quickly, a multiplier arrangement is usually provided which successively receives the two data words of each pair and whose output is connected to an input of the adder / subtractor arrangement, the other input of this arrangement being connected to the output via a so-called accumulator register the arrangement is connected. With a corresponding structure, it is possible to carry out a multiply-accumulate step and the necessary transfers of the data words in a single command cycle of the processor. The formation of the total sum then only requires a number of instruction cycles equal to the number of data word pairs plus a few preparatory instructions.
In vielen Anwendungsbereichen der digitalen Signalverarbeitung tritt auch eine Summenbildung von Produkten einer Kette von Datenwortpaaren auf, in der das eine Daten wort jedes Paares lediglich einen der beiden Werte + 1 oder -1 annehmen kann. Beispiele für solche Anwendungsbereiche sind Skalarprodukte sowie zeitdiskrete Korrelations-, Filter- und Faltungsoperationen mit binären bipolaren Koeffizienten, wie sie in der Signalverarbeitung immer dann auftreten, wenn mit binären Signalen operiert wird.In many areas of application of digital signal processing there is also a summation of products of a chain of data word pairs, in which the data word of each pair can only assume one of the two values + 1 or -1. Examples of such areas of application are scalar products as well as time-discrete correlation, filtering and convolution operations with binary bipolar coefficients, such as occur in signal processing whenever operations are carried out with binary signals.
Die Bildung einer solchen Summe mit Hilfe einer Multiplizieranordnung mit nachschalteter Addier/Subtrahieranordnung führt zu einer unwirtschaftlichen Ausnutzung des Multiplizierers, da dieser lediglich Multiplikationen mit den Faktoren + 1 oder -1 an den jeweils anderen Datenworten der Paare durchführt, d.h. lediglich einen bedingten Vorzeichenwechsel dieser Datenwörter bewirkt. Aus der US-PS 4,849,922 ist eine Anordnung der eingangs genannten Art bekannt, bei der der Multiplizierer durch stellenverschobene Additionen bzw. Subtraktionen realisiert ist. Diese bekannte Anordnung ist zwar etwas einfacher aufgebaut als eine parallele Multiplizieranordnung für Daten Wörter mit vielen Stellen, jedoch wird eine solche Anordnung für Multiplikationen mit lediglich den Faktoren + 1 und -1 ebenfalls unwirtschaftlich ausgenutzt.The formation of such a sum with the help of a multiplier arrangement with a subsequent add / subtract arrangement leads to an uneconomical use of the multiplier, since it only carries out multiplications with the factors + 1 or -1 on the other data words of the pairs, ie only causes a conditional change of sign of these data words. An arrangement of the type mentioned at the outset is known from US Pat. No. 4,849,922, in which the multiplier is implemented by shifted additions or subtractions. Although this known arrangement has a somewhat simpler structure than a parallel multiplication arrangement for data words with many digits, such an arrangement is also used uneconomically for multiplications with only the factors +1 and -1.
Aufgabe der Erfindung ist es daher, eine Schaltungsanordnung der eingangs genannten Art anzugeben, die für den genannten Sonderfall der Werte für die einen Datenwörter einfach aufgebaut ist und schnell arbeitet.The object of the invention is therefore to provide a circuit arrangement of the type mentioned at the outset, which is simple in structure and works quickly for the special case of the values for the one data words.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß zum Verarbeiten von Daten Wortpaaren, von denen das eine Daten wort jedes Paares als einen der beiden Bitwerte + 1 oder -1 zugeführt wird, die Steueranordnung die einzelnen Werte der einen Datenwörter nacheinander wenigstens einem der ersten Steuereingänge der Addier/Subtrahieranordnung zuführt und parallel dazu das Zuführen der anderen Datenwörter jedes Paares zu einem anderen Eingang der Addier/Subtrahieranordnung bewirkt.This object is achieved in that for processing data word pairs, of which one data word of each pair is supplied as one of the two bit values + 1 or -1, the control arrangement, the individual values of the one data words in succession at least one of the first control inputs of the Adder / subtractor arrangement and in parallel cause the other data words of each pair to be fed to another input of the adder / subtractor arrangement.
Die Multiplikation mit den Werten + 1 und -1 wird bei der Summenbildung erfindungsgemäß lediglich durch eine entsprechende Steuerung der Addier/Subtrahieranordnung ersetzt, indem die anderen Datenwörter direkt die Funktion der Addier/Subtrahieranordnung bezüglich Addition oder Subtraktion steuern. Damit wird also in jedem Befehlszyklus ein Multiplizier-Akkumulations-Schritt ausgeführt, ohen daß eine Multiplizieranordnung verwendet werden muß. Wenn eine solche dennoch vorhanden ist, um auch allgemeine Datenwortpaare zu verarbeiten, tritt bei der Verarbeitung der Datenwörter nach dem Sonderfall allgemein eine geringere Verlustleistung auf, da keine Signalwechsel in der Multiplizieranordnung auftreten. Die Steuerung der Addier/Subtrahieranordnung kann derart erfolgen, daß der Wert des einen Daten Wortes jedes Paares unmittelbar dem Steuereingang zugeführt wird, während dem anderen Eingang der Addier/Subtrahieranordnung im wesentlichen gleichzeitig das andere Datenwort des Paares zugeführt wird. Dies erfördert jedoch stets zwei Transportvorgänge von Datenworten für jedes Paar. Um diesen Vorgang zu vereinfachen, ist eine Ausgestaltung der Erfindung dadurch gekennzeichnet, daß einThe multiplication by the values + 1 and -1 is only replaced by a corresponding control of the add / subtract arrangement when the sum is formed, in that the other data words directly control the function of the add / subtract arrangement with regard to addition or subtraction. A multiplier-accumulation step is thus carried out in each instruction cycle without a multiplier arrangement having to be used. If such a data is nevertheless available in order to also process general data word pairs, a lower power loss generally occurs when processing the data words according to the special case, since no signal changes occur in the multiplier arrangement. The control of the adding / subtracting arrangement can be carried out in such a way that the value of the one data word of each pair is supplied directly to the control input, while the other input of the adding / subtracting arrangement is supplied with the other data word of the pair essentially simultaneously. However, this always encourages two data word transports for each pair. To simplify this process, an embodiment of the invention is characterized in that a
Register vorgesehen ist, das parallel die Werte der einen Datenwörter wenigstens eines Teils der Kette von Datenwortpaaren speichert und von dem Ausgang mit wenigstens einem der ersten Steuereingänge der Addier/Subtrahieranordnung verbunden ist, und das Register ein Schieberegister mit einer Anzahl Stufen ist, die parallel einschreibbar sind und von denen ein Ausgang einer der Stufen den Ausgang des Registers darstellt, wobei der Inhalt des Registers durch erste Steuersignale der Steueranordnung bitweise verschiebbar ist. Dadurch nimmt das Register die einen Datenwörter eine Anzahl aufeinanderfolgender Paare parallel auf und gibt diese seriell ab, und zwar unter Steuerung der Steueranordnung, die auch das Zuführen der anderen Datenwörter zur Addier/Subtrahieranordnung steuert. Damit ist für jeden Schritt nur ein Datenworttransport erforderlich. Eine noch allgemeinere Steuerung der Verarbeitung von Daten Wörtern ist nach einer weiteren Ausgestaltung dadurch möglich, daß abhängig von den ersten Steuersignalen der Steueranordnung der Inhalt des Registers in wählbare Richtung verschiebbar ist und das Register als Schieberegister im Ring schließbar ist.A register is provided which stores the values of the one data word of at least part of the chain of data word pairs in parallel and is connected from the output to at least one of the first control inputs of the adder / subtractor arrangement, and the register is a shift register with a number of stages which can be written in parallel and an output of one of the stages represents the output of the register, the content of the register being bit-shiftable by first control signals from the control arrangement. As a result, the register receives the one data word in parallel and outputs a number of consecutive pairs under the control of the control arrangement, which also controls the supply of the other data words to the add / subtract arrangement. This means that only one data word transport is required for each step. A more general control of the processing of data words is possible according to a further embodiment in that, depending on the first control signals of the control arrangement, the content of the register can be shifted in a selectable direction and the register can be closed as a shift register in the ring.
Wenn der Ausgang des Registers unmittelbar mit einem Steuereingang der Addier/Subtrahieranordnung verbunden würde, wäre deren Funktion grundsätzlich abhängig vom Inhalt des Registers, wodurch die Möglichkeit der Verwendung der Additions/Subtraktionsanordnug eingeschränkt sein könnte. Nach einer weiteren Ausgestaltung der Erfindung ist es daher zweckmäßig, daß die Funktion der Addier/Subtrahieranordnung über den mit dem Ausgang des Registers verbundenen Steuereingang nur abhängig von wenigstens einem zweiten Steuersignal der Steueranordnung steuerbar ist. Dadurch ist es dann möglich, den Einfluß des Registers auf die Funktion der Additions/Subtraktionsanordnung abzuschalten. Am einfachsten ist dies dadurch möglich, daß der Ausgang des Registers über eine logische Verknüpfungsschaltung, die auch das zweite Steuersignal erhält, mit einem Steuereingang der Addier/Subtrahieranordnung verbunden ist. Damit sind vorteilhafte Funktionen möglich, für die später ein Beispiel erläutert wird. Eine vorteilhafte Anwendung der erfindungsgemäßen Schaltungsanordnung ist in einem Prozessor, insbesondere einem digitalen Signalprozessor, der mindestens einen Datenbus aufweist. Dabei ist es zweckmäßig, daß die Stufen des Registers mit dem Datenbus gekoppelt sind und durch ein drittes Steuersignal der Steueranordnung die auf den Datenbus vorhanden Daten übernehmen. Damit wird die Übertragung der einen Datenwörter in das Register in gleicher Weise wie die anderen Datenwörter der Paare durch die Steueranordnung durchgeführt. Diese ist dabei zweckmäßig im wesentlichen der Befehlsdekodierer des Prozessors. Der Ausgang des Registers kann dann wie bei weiteren Registern in einem Prozessor mit dem Datenbus verbindbar sein, so daß dieses Register auch allgemein zum Zwischenspeichern eines beliebigen Wortes verwendet werden kann.If the output of the register were connected directly to a control input of the add / subtract arrangement, its function would basically depend on the content of the register, which could limit the possibility of using the add / subtract arrangement. According to a further embodiment of the invention, it is therefore expedient that the function of the add / subtract arrangement can only be controlled via the control input connected to the output of the register as a function of at least one second control signal from the control arrangement. This makes it possible to switch off the influence of the register on the function of the addition / subtraction arrangement. The simplest way to do this is to connect the output of the register to a control input of the adding / subtracting arrangement via a logic logic circuit, which also receives the second control signal. This enables advantageous functions, for which an example will be explained later. An advantageous application of the circuit arrangement according to the invention is in a processor, in particular a digital signal processor, which has at least one data bus. It is expedient that the stages of the register are coupled to the data bus and that by a third control signal from the control arrangement Transfer data available on the data bus. The transfer of the one data word into the register is thus carried out by the control arrangement in the same way as the other data words of the pairs. This is expediently essentially the instruction decoder of the processor. The output of the register can then be connected to the data bus in a processor, as with other registers, so that this register can also be used in general to temporarily store any word.
Bei der Verwendung der erfϊndungsgemäßen Schaltungsanordnung in einem Prozessor ist es vorteilhaft, wenn die Steueranordnung als Beheflsdecodierer einen aktiven Wert des ersten und zweiten Steuersignals nur beim Auftreten vorgegebener Befehlscodes erzeugt. Durch diese direkt befehlensabhängige Steuerung des Registers und der Addier/Subtrahieranordnung ist es beispielsweise möglich, für zwei Datenwörter x und y die arithmetischen Funktionen x-y bzw. x+y abhängig vom Wert des ersten Steuersignals durch einen besonderen Befehl in einem Befehlstaktzyklus auszuführen.When the circuit arrangement according to the invention is used in a processor, it is advantageous if the control arrangement, as a decoder, generates an active value of the first and second control signals only when predetermined command codes occur. This direct command-dependent control of the register and the addition / subtraction arrangement makes it possible, for example, to carry out the arithmetic functions x-y and x + y for two data words x and y, depending on the value of the first control signal, by means of a special command in a command clock cycle.
Ausführungsbeispiele der Erfindung werden nachstehend anhand der Zeichnung näher erläutert. Es zeigen:Embodiments of the invention are explained below with reference to the drawing. Show it:
Fig. 1 ein Blockschaltbild einer erfindungsgemäßen Anordnung, Fig. 2 ein Beispiel für eine logische Verknüpfung des Registerausgangs mit Steuersignalen.Fig. 1 is a block diagram of an arrangement according to the invention, Fig. 2 shows an example of a logical combination of the register output with control signals.
Die Fig. 1 zeigt ein grobes Blockschaltbild eines Ausschnitts aus einem Prozessor, insbesondere einem Signalprozessor. Ein wesentliches Element darin ist eine Addier/Subtrahieranordnung 10, die allgemein als sogenannte arithmetisch-logische Einheit ausgeführt ist, mittels der außer einfacher Addition oder Subtraktion von zwei Datenwörtem noch weitere arithmetische und logische Funktionen mit diesen1 shows a rough block diagram of a section of a processor, in particular a signal processor. An essential element therein is an adding / subtracting arrangement 10, which is generally designed as a so-called arithmetic-logic unit, by means of the simple addition or subtraction of two data words, and further arithmetic and logic functions with these
Datenwörtern durchgeführt werden können, was über eine Anzahl Steuereingänge 9 gesteuert werden kann, wobei diese weiteren Funktionen außer Addition und Subtraktion in diesem Zusammenhang nicht von Bedeutung sind. Das Ergebnis der Verarbeitungsfunktion erscheint an einem Ausgang Z, der hier über eine Verbindung 11 mit einer Anzahl Akkumulatorregister 26a bis 26n verbunden ist, wobei das amData words can be carried out, which can be controlled via a number of control inputs 9, these functions other than addition and subtraction being of no importance in this context. The result of the processing function appears at an output Z, which here is connected via a connection 11 to a number of accumulator registers 26a to 26n, the most
Ausgang Z erscheinende Ergebnis durch Steuersignale auf der Leitung 19 in eines dieser Register eingeschrieben werden kann. Die Verwendung einer Mehrzahl von Registern ist für manche Funktionen eines Prozessors zweckmäßig, für die nachfolgend zu beschreibende Funktion wäre jedoch auch nur ein Register ausreichend.Output Z appearing result can be written into one of these registers by control signals on line 19. The use of a plurality of registers is useful for some functions of a processor, for the following too descriptive function, however, only one register would be sufficient.
Es sei bemerkt, daß die Verbindung 11 sowie die zu den Eingängen A und B führenden Verbindungen sowie weitere dargestellte Verbindungen und Leitungen, die mit einem Querstrich versehen sind, tatsächlich in üblicher Weise aus einer Anzahl paralleler Leitungen bestehen, über die Daten Wörter parallel übertragen werden. Durch Steuersignale über eine Leitung 21 kann der Inhalt eines der Register 26a bis 26n ausgelesen werden, und dieser Inhalt wird über die Verbindung 27 und über einen Multiplexer 18 dem Eingang B der Einheit 10 zugeführt. Der Multiplexer 18 wird ebenso wie der Multiplexer 16 über der Einfachheit halber nicht dargestellte Steuerleitungen gesteuert, und zwar von der Steueranordnung 12, die auch die Steuerleitungen 19 und 21 sowie weitere, noch zu beschreibende Steuerleitungen speist. Diese Steueranordnung stellt im wesentlichen den Befehlsdekodierer zum Dekodieren der aus einem nicht dargestellten Befehlsspeicher nacheinander ausgelesenen und über einen Datenbus 20a zugeführten Befehlswörter dar. Diesem Datenbus 20a kann auch der aus einem der Register 26a bis 26n ausgelesene Inhalt zugeführt werden. Der Multiplexer 18 verbindet abhängig von seiner Ansteuerung entweder die Vebindung 27 oder den Ausgang eines Registers 24 mit dem Eingang B der Einheit 10. In gleicher Weise verbindet der Multiplexer 16 abhängig von seiner Ansteuerung den Ausgang eines Registers 22 oder eine von anderen, nicht dargestellten Elementen des Prozessors kommende Verbindung 25 mit dem Eingang A der Einheit 10. Die Register 22 und 24 werden, zweckmäßig ebenfalls durch nicht dargestellte Ansteuerung von der Steueranordnung 12, zum Einspeichern jeweils eines Datenwortes angesteuert, das über einen Datenbus 20 beispielsweise von einem Speicher 30 zugeführt wird. Der Datenbus 20 kann mit dem Datenbus 20a identisch sein, es können jedoch auch noch mehr als zwei Datenbusse verwendet werden, wobei die Register 22 und 24 an verschiedene Datenbusse angeschlossen sein können.It should be noted that the connection 11 and the connections leading to the inputs A and B, as well as further connections and lines shown, which are provided with a slash, actually consist in the usual way of a number of parallel lines over which data words are transmitted in parallel . The content of one of the registers 26a to 26n can be read out by control signals via a line 21, and this content is fed to the input B of the unit 10 via the connection 27 and via a multiplexer 18. The multiplexer 18, like the multiplexer 16, is controlled via control lines (not shown) for the sake of simplicity, specifically by the control arrangement 12, which also feeds the control lines 19 and 21 and further control lines to be described. This control arrangement essentially represents the command decoder for decoding the command words which are successively read out from a command memory (not shown) and supplied via a data bus 20a. The content read out from one of the registers 26a to 26n can also be fed to this data bus 20a. Depending on its control, the multiplexer 18 connects either the connection 27 or the output of a register 24 to the input B of the unit 10. In the same way, depending on its control, the multiplexer 16 connects the output of a register 22 or one of other elements, not shown of the processor coming connection 25 with the input A of the unit 10. The registers 22 and 24 are controlled, also expediently by control (not shown) by the control arrangement 12, for storing a respective data word which is supplied via a data bus 20, for example from a memory 30 . The data bus 20 can be identical to the data bus 20a, but more than two data buses can also be used, wherein the registers 22 and 24 can be connected to different data buses.
Die bisher beschriebene Anordnung arbeitet als Akkumulator, wenn der Multiplexer 18 derart geschaltet ist, daß die Verbindung 27 mit dem Eingang B verbunden ist. Jedes über das Register 22 und den Multiplexer 16 dem Eingang A neu zugeführte Datenwort wird dabei zum Inhalt eines der Register 26a bis 26n addiert und vorzugsweise in diesem Register wieder abgespeichert. Auf diese Weise wird eine Summe einer Anzahl aufeinanderfolgend zugeführter Datenwörter gebildet.The arrangement described so far works as an accumulator if the multiplexer 18 is connected such that the connection 27 is connected to the input B. Each data word newly fed to input A via register 22 and multiplexer 16 is added to the content of one of registers 26a to 26n and is preferably stored again in this register. In this way, a sum of a number of successively supplied data words is formed.
Häufig soll nun nicht nur die Summe einer Kette von Datenwörtern, sondern die Summe der Produkte einer Kette von Datenwortenpaaren gebildet werden, von denen das eine Daten wort jedes Paares nur den Wert + 1 oder -1 annehmen kann. Jedes dieser einen Datenwörter ist somit nur ein Bit lang und stellt beispielweise einen Koeffizienten dar. Um eine solche Kette von Produkten zu verarbeiten, ist ein Register 14 vorgesehen, das die Bits der einen Datenwörter einer Kette von Datenwortpaaren parallel über beispielsweise den Bus 20 erhält und mit einem Steuersignal auf der Leitung 23 von der Steueranordnung 12 einschreibt. Das Regsiter 14 ist als Schieberegister mit einer Anzahl Stufen ausgebildet, von denen jede Stufe ein Bit des zugeführten Datenwortes speichert, und über ein Steuersignal über die Leitung 13 von der Steueranordnung 12 kann der Inhalt aller Stufen parallel verschoben werden, so daß nacheinander der Inhalt jeder Stufe an einem Ausgang 15 des Registers 14 erscheint. Dieser Ausgang 15 is über eine Anordnung 28, die später erläutert wird, mit einem Steuereingang 9 der Addier/Subtrahiereinheit 10 verbunden, und abhängig vom Wert des am Ausgang 15 auftretenden Bits, d.h. des einen Datenwortes eines Daten Wortpaares, wird die Addier/Subtrahiereinheit 10 auf Additions- oder Subtraktionsfunktion geschaltet.Frequently, not only the sum of a chain of data words, but the sum of the products of a chain of data word pairs are formed, of which the one data word of each pair can only have the value + 1 or -1. Each of these one data words is thus only one bit long and represents, for example, a coefficient. In order to process such a chain of products, a register 14 is provided which receives the bits of the one data words of a chain of data word pairs in parallel via, for example, the bus 20 and registers with a control signal on line 23 from control arrangement 12. The regsiter 14 is designed as a shift register with a number of stages, each stage storing one bit of the supplied data word, and the content of all stages can be shifted in parallel via a control signal via line 13 from the control arrangement 12, so that the contents of each one successively Stage at an output 15 of register 14 appears. This output 15 is connected via an arrangement 28, which will be explained later, to a control input 9 of the adding / subtracting unit 10, and depending on the value of the bit occurring at the output 15, ie the one data word of a data word pair, the adding / subtracting unit 10 switched to addition or subtraction function.
Über die Steuersignale auf der Leitung 13 wird also gesteuert, welches eine Datenwort jedes Paares am Ausgang 15 des Registers 14 auftritt, und über eine Steuerleitung 31 wird der Speicher 30 so angesteuert, daß er das zu dem Datenwortpaar gehörige andere Datenwort ausliest und über den Datenbus 20 und das Register 22 dem Eingang A der Einheit 10 zuführt. Abhängig von dem Bitwert am Ausgang 15 wird dieses zugeführte Datenwort dann zu dem bisher akkumulierten Zwischenergebnis addiert oder davon subtrahiert.The control signals on line 13 thus control which one data word of each pair occurs at output 15 of register 14, and memory 30 is controlled via a control line 31 so that it reads the other data word belonging to the data word pair and via the data bus 20 and register 22 feeds input A of unit 10. Depending on the bit value at output 15, this supplied data word is then added to or subtracted from the previously accumulated intermediate result.
Unter Berücksichtigung von Laufzeiten und Verzögerungen in den einzelnen Elementen ist der genauere Zeitablauf derart, daß zunächst die Ein-Bit-Werte der einen Datenwörter in das Register 14 übernommen werden und dann das andere Datenwort eines Datenwortpaares aus dem Speicher ausgelesen und dem Register 22 zugeführt wird, und danach wird dieses Daten wort in das Register 22 übernommen und erscheint mit kurzer Verzögerung am Eingang A, während gleichzeitig das Register 14 ein Schiebesignal erhält, so daß das zugehörige eine Datenwort dieses Paares am Ausgang 15 und damit am Steuereingang 9 der Einheit 10 erscheint. Dieses Schiebesignal für das Register 14 kann jedoch auch kurz vor dem Einschreiben des neuen Datenwortes in das Register 22 oder noch günstiger kurz nach der Verarbeitung jedes der anderen Datenwörter erzeugt werden, damit die Addier/Subtrahiereinheit 10 bereites auf ihre neue Funktion eingestellt ist, wenn ein neues anderes Datenwort am Eingang A verscheint.Taking into account transit times and delays in the individual elements, the more precise timing is such that first the one-bit values of one data word are transferred to register 14 and then the other data word of a data word pair is read out of the memory and fed to register 22 , and then this data word is transferred to register 22 and appears with a short delay at input A, while register 14 receives a shift signal, so that the associated data word of this pair appears at output 15 and thus at control input 9 of unit 10 . This shift signal for the register 14 can, however, also shortly before the new data word is written into the register 22 or even more favorably shortly after the processing each of the other data words are generated so that the add / subtract unit 10 is already set to its new function when a new other data word appears at input A.
Um zu verhinderen, daß die Addier/Subtrahiereinheit 10 in ihrer Funktion von dem signal am Ausgang 15 des Registers 14 gesteuert wird, wenn diese für einen anderen Rechenvorgang als für die Bildung der Summe einer Kette von Produkten verwendet wird, ist zwischen dem Ausgang 15 und dem Steuereingang 9 der Einheit 10 eine Verknüpfungsanordnung 28 geschaltet, die über eine Steuerleitung 17a von der Steueranordnung 12 gesteuert wird. Über diese Steuerieitung 17a kann also verhindert werden, daß die Funktion der Einheit 10 von dem Signal am Ausgang 15 beeinflußt wird, so daß dann die Funktion nur noch von den Signalen auf der Steuerleitung 17 von der Steueranordnung 12 gesteuert wird.In order to prevent the addition / subtraction unit 10 from being controlled in its function by the signal at the output 15 of the register 14 when it is used for a calculation process other than for forming the sum of a chain of products, there is between the output 15 and a control arrangement 28 is connected to the control input 9 of the unit 10 and is controlled by the control arrangement 12 via a control line 17a. This control line 17a can thus prevent the function of the unit 10 from being influenced by the signal at the output 15, so that the function is then only controlled by the signals on the control line 17 from the control arrangement 12.
Die Ausgänge aller Stufen des Registers 14 sind femer parallel mit dem Datenbus 20a verbunden, und durch ein entsprechendes Steuersignal von der Steueranordnung 12 kann der Inhalt aller Stufen auf diesen Datenbus 20a übertragen werden. Dadurch kann das Register 14 auch wie ein beliebiges Speicherregister verwendet werden, wenn die besondere Funktion zur Steuerung der Addier/Subtrahieranordnung vorübergehend nicht benötigt wird.The outputs of all stages of the register 14 are also connected in parallel to the data bus 20a, and the content of all stages can be transmitted to this data bus 20a by means of a corresponding control signal from the control arrangement 12. As a result, the register 14 can also be used like any memory register if the special function for controlling the adding / subtracting arrangement is temporarily not required.
In Fig. 2 ist ein Beispiel für den Aufbau der Verknüpfungsanordnung 28 sowie auch für den Aufbau der Addier/Subtrahieranordnung 10 dargestellt, die hier allerdings tatsächlich nur Additionen oder Subtraktionen durchführen kann. Die Subtraktion wird dabei im Zweier-Komplement durchgeführt, d.h. es wird das Komplement des zu subtrahierenden Wertes sowie eine zusätzliche Einheit der niedrigstens Stelle addiert. Die Addier/Subtrahiereinheit 10 enthält dafür einen Addierer 40, dessen Eingänge a und b die an den Eingängen A und B der Einheit 10 angelegten Datenwörter über die Multiplexer 42 bzw. 44 entweder direkt oder über die Inverterstufen 46 und 48 im Komplement erhalten. Ferner weist der Addierer 40 noch einen Übertragseinheit 41 auf. Der Ausgang z des Addierers 40 führt auf die Verbindung 11. Mit dieser Anordnung ist es möglich, die beiden Funktionen A-Bkj oderFIG. 2 shows an example of the structure of the link arrangement 28 and also of the structure of the add / subtract arrangement 10, which, however, can actually only carry out additions or subtractions here. The subtraction is carried out in two's complement, ie the complement of the value to be subtracted and an additional unit of the lowest digit are added. For this purpose, the add / subtract unit 10 contains an adder 40, the inputs a and b of which receive the data words applied to the inputs A and B of the unit 10 via the multiplexers 42 and 44 either directly or via the inverter stages 46 and 48 in complement. The adder 40 also has a carry unit 41. The output z of the adder 40 leads to the connection 11. With this arrangement it is possible to perform the two functions A-Bk j or
B-Akj durchzuführen, wobei kj ein Koeffizient mit dem Wert + 1 oder -1 ist, abhängig von dem binären Wert am Ausgang 15 des Registers 14. Dafür sind zwei besondere Befehle vorgesehen, und für die erstere Funktion erzeugt die Steueranordnung 12 in Fig. 1 auf der Leitung i innerhalb der Steuerleitung 17a eine logische "1", die dem einen Eingang eines ODER-Gatters 50 in der Anordnung 28 zugeführt wird, so daß die Leitung 51 ebenfalls ständig eine logische " 1" führt und der Multiplexer das Datenwort am Eingang A unverändert durchläßt. Das Signal am anderen Eingang des ODER- Gatters 50 ist dann ohne Bedeutung. Die Leitung j führt eine logische "0", und wenn dann die Leitung 15 ebenfalls eine logische "0" entsprechend k=-l führt, erzeugt der Inverter 54 über das ODER-Gatter 52 eine logische " 1" auf der Leitung 53, so daß auch das Datenwort am Eingang B unverändert über den Multiplexer 44 weitergegeben wird und beide Datenwörter ohne Übertrag addiert werden. Wenn dagegen die Leitung 15 eine logische "1" führt entsprechend k= + l, führt die Leitung 53 eine logische "0", so daß der Multiplexer das Komplement des Datenwortes am Eingang B dem Addierer 40 zuführt, der außerdem am Übertragseingang 41 dann ein Übertragssignal erält, so daß A-B am Ausgang erscheint. Für die zweitgenannte Funktion führt die Leitung i eine logische "0" und die Leitung j eine logische "1", so daß bei einer logischen "0" auf der Leitung 15 wieder die Summe der beiden Daten Wörter an den Eingängen A und B gebildet wird, während bei einer logischen " 1" auf der Leitung 15 entsprechend k= + l die Differenz B-A am Ausgang z des Addierers 40 gebildet wird. Damit bestimmt der am Ausgang 15 auftretende Inhalt des Registers 14, das als im Ring geschlossenes Schieberegister ausgebildet ist, ob die Addier/Subtrahiereinheit 10 die Summe oder die Differenz der beiden zugeführten Datenwörter bildet, wobei die abhängig von den besonderen Befehlen erzeugten Signale auf den Leitungen i und j das Vorzeichen dieser Differenz bestimmen, so daß jede dieser arithmetischen Funktionen in nur einem Befehlstaktzyklus gebildet werden können.B-Ak j , where k j is a coefficient with the value + 1 or -1, depending on the binary value at the output 15 of the register 14. Two special commands are provided for this, and the control arrangement 12 generates the first function in FIG Fig. 1 on the line i within the control line 17a, a logic "1", which is fed to the one input of an OR gate 50 in the arrangement 28, so that the line 51 also constantly carries a logic "1" and the multiplexer Passes data word at input A unchanged. The signal at the other input of the OR gate 50 is then irrelevant. Line j carries a logic "0", and if line 15 then also carries a logic "0" corresponding to k = -l, inverter 54 generates a logic "1" on line 53 via OR gate 52, see above that the data word at input B is passed on unchanged via the multiplexer 44 and both data words are added without carry. If, on the other hand, line 15 carries a logical "1" corresponding to k = + 1, line 53 carries a logical "0", so that the multiplexer supplies the complement of the data word at input B to adder 40, which then also enters at carry input 41 Carry signal received so that AB appears at the output. For the second-mentioned function, line i carries a logical "0" and line j carries a logical "1", so that with a logical "0" on line 15 the sum of the two data words at inputs A and B is again formed , while with a logical "1" on line 15 corresponding to k = + l, the difference BA is formed at the output z of the adder 40. The content of the register 14, which is formed as a shift register closed in the ring, thus determines whether the add / subtract unit 10 forms the sum or the difference of the two supplied data words, the signals generated on the lines depending on the special commands i and j determine the sign of this difference so that each of these arithmetic functions can be formed in only one instruction clock cycle.
Wenn beide Leitungen i und j eine logische "0" führen, können weitere, nicht dargestellte Eingänge an den Multiplexem 42 und 44, die vorzugsweise von der Steueranordnung 12 in Fig. 1 gesteuert werden, bestimmen, ob die Addier/Subtrahiereinheit 10 die Summe oder die Differenz der zugeführten Datenwörter bildet.If both lines i and j carry a logic "0", further inputs, not shown, at the multiplexers 42 and 44, which are preferably controlled by the control arrangement 12 in FIG. 1, can determine whether the add / subtract unit 10 has the sum or forms the difference between the supplied data words.
Mit der in Fig. 1 dargestellten Anordnung mit den Details gemäß der Fig. 2 ist es also auf einfache Weise möglich, die Summe von Produkten einer Kette von Datenwortpaaren zu bilden, wenn das eine Datenwort jedes Paares nur die Werte +1 und -1 annehmen kann, wobei mit jedem Befehlszyklus ein Datenwortpaar verarbeitet wird. With the arrangement shown in FIG. 1 with the details according to FIG. 2, it is therefore possible in a simple manner to form the sum of products of a chain of data word pairs if the one data word of each pair only assume the values +1 and -1 can, with a pair of data words being processed with each command cycle.

Claims

PATENTANSPRÜCHE: PATENT CLAIMS:
1. Schaltungsanordnung zum Bilden der Summe von Produkten einer Kette von Datenwortpaaren, mit einer Addier/Subtrahieranordnung, deren Funktion insbesondere hinsichtlich Addition und Subtraktion über erste Steuereingänge umschaltbar ist, mit wenigstens einem Akkumulatorregister, von dem ein Eingang mit einem Ausgang der Addier/Subtrahieranordnung und von dem ein Ausgang mit einem Eingang der Addier/Subtrahieranordnung koppelbar ist, und mit einer Steueranordnung zur Steuerung der aufeinanderfolgenden Verarbeitung der Produkte, dadurch gekennzeichnet, daß zum Verarbeiten von Daten Wortpaaren, von denen das eine Daten wort jedes Paares als einen der beiden Bitwerte + 1 oder -1 zugeführt wird, die Steueranordnung (12) die einzelnen Werte der einen Datenwörter nacheinander wenigstens einem der ersten Steuereingänge (9) der Addier/Subtrahieranordnung zuführt und parallel dazu das Zuführen der anderen Daten Wörter jedes Paares zu einem anderen Eingang (A) der Addier/Subtrahieranordnung (10) bewirkt.1. Circuit arrangement for forming the sum of products of a chain of data word pairs, with an add / subtract arrangement, the function of which can be switched in particular with regard to addition and subtraction via first control inputs, with at least one accumulator register, of which an input with an output of the add / subtract arrangement and of which an output can be coupled to an input of the adding / subtracting arrangement, and with a control arrangement for controlling the successive processing of the products, characterized in that for the processing of data word pairs, of which one data word of each pair as one of the two bit values + 1 or -1 is supplied, the control arrangement (12) supplies the individual values of the one data word in succession to at least one of the first control inputs (9) of the adding / subtracting arrangement and, in parallel, the supply of the other data words of each pair to another input (A) the add / subtract order (10) causes.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß eine Register (14) vorgesehen ist, das parallel die Werte der einen Datenwörter wenigstens eines Teils der Kette von Datenwortpaaren speichert und von dem ein Ausgang (15) mit wenigstens einem der ersten Steuereingänge (9) der Addier/Subtrahieranordnung (10) verbunden ist, und das Register (14) ein Schieberegister mit einer Anzahl Stufen ist, die parallel einschreibbar sind und von denen ein Ausgang einer der Stufen den Ausgang (15) des Registers (14) darstellt, wobei der Inhalt des Registers durch erste Steuersignale (13) der Steueranordnung (12) bitweise verschiebbar ist.2. Circuit arrangement according to claim 1, characterized in that a register (14) is provided which stores in parallel the values of the one data words of at least part of the chain of data word pairs and of which an output (15) with at least one of the first control inputs (9 ) the add / subtract arrangement (10) is connected, and the register (14) is a shift register with a number of stages which can be written in parallel and of which an output of one of the stages represents the output (15) of the register (14), wherein the content of the register can be shifted bit by bit by first control signals (13) of the control arrangement (12).
3. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß abhängig von den ersten Steuersignalen (13) der Steueranordnung (12) der Inhalt des Registers (14) in wählbare Richtung verschiebbar ist und das Register (14) als Schieberegister im Ring schließbar ist.3. Circuit arrangement according to claim 2, characterized in that depending on the first control signals (13) of the control arrangement (12), the content of the register (14) can be moved in a selectable direction and the register (14) can be closed as a shift register in the ring.
4. Schaltungsanordnung nach einem der Ansprüche 1, 2 oder 3, dadurch gekennzeichnet, daß die Funktion der Addier/Subtrahieranordnung (10) über den mit dem Ausgang 15 des Regsiters (14) verbundenen Steuereingang (9) nur abhängig von wenigstens einem zweiten Steuersignal (17) der Steueranorndung (12) steuerbar ist.4. Circuit arrangement according to one of claims 1, 2 or 3, characterized in that the function of the adding / subtracting arrangement (10) via the control input (9) connected to the output 15 of the regsiter (14) can only be controlled as a function of at least one second control signal (17) from the control arrangement (12).
5. Schaltungsanordnung nach Anspruch 4, dadurch gekennzeichnet, daß der Ausgang (15) des Registers (14) über eine logische Verknüpfungsschaltung (28), die auch das zweite Steuersignal (17) erhält, mit einem Steuereingang (9) der Addier/Subtrahieranordnung (10) verbunden ist.5. Circuit arrangement according to claim 4, characterized in that the output (15) of the register (14) via a logic logic circuit (28), which also receives the second control signal (17), with a control input (9) of the adding / subtracting arrangement ( 10) is connected.
6. Schaltungsanordnung nach einem der vorhergehenden Ansprüche in einem Prozessor, insbesondere einem digitalen Signalprozessor, mit mindestens einem Datenbus, dadurch gekennzeichnet, daß die Stufen des Registers (14) mit dem Datenbus (20) gekoppelt sind und durch ein drittes Steuersignal (23) der Steueranordnung (12) die auf dem Datenbus (20) vorhandenen Daten übernehmen.6. Circuit arrangement according to one of the preceding claims in a processor, in particular a digital signal processor, with at least one data bus, characterized in that the stages of the register (14) are coupled to the data bus (20) and by a third control signal (23) Control arrangement (12) take over the data present on the data bus (20).
7. Schaltungsanordnung nach Anspruch 6, dadurch gekennzeichnet, daß die Steueranordnung (12) als Befehlsdecodierer einen aktiven Wert des ersten und zweiten Steuersignals nur beim Auftreten vorgegebener Befehlscodes erzeugt. 7. Circuit arrangement according to claim 6, characterized in that the control arrangement (12) as command decoder generates an active value of the first and second control signals only when predetermined command codes occur.
EP94903145A 1992-12-18 1993-12-17 Product summing circuitry Withdrawn EP0627099A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE4242929 1992-12-18
DE4242929A DE4242929A1 (en) 1992-12-18 1992-12-18 Circuit arrangement for forming the sum of products
PCT/NL1993/000267 WO1994015278A1 (en) 1992-12-18 1993-12-17 Product summing circuitry

Publications (1)

Publication Number Publication Date
EP0627099A1 true EP0627099A1 (en) 1994-12-07

Family

ID=6475741

Family Applications (1)

Application Number Title Priority Date Filing Date
EP94903145A Withdrawn EP0627099A1 (en) 1992-12-18 1993-12-17 Product summing circuitry

Country Status (6)

Country Link
EP (1) EP0627099A1 (en)
JP (1) JPH08500690A (en)
KR (1) KR100337716B1 (en)
DE (1) DE4242929A1 (en)
SG (1) SG55185A1 (en)
WO (1) WO1994015278A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19717970B4 (en) * 1997-04-28 2006-11-09 Systemonic Ag Circuit arrangement of a digital module for multiplication and addition of binary numbers
US7711765B2 (en) 2006-02-17 2010-05-04 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus to perform multiply-and-accumulate operations

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL7712367A (en) * 1977-11-10 1979-05-14 Philips Nv DIGITAL ADDITIONAL COMPUTER.
DE3066955D1 (en) * 1980-06-24 1984-04-19 Ibm Signal processor computing arrangement and method of operating said arrangement
US5128890A (en) * 1991-05-06 1992-07-07 Motorola, Inc. Apparatus for performing multiplications with reduced power and a method therefor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO9415278A1 *

Also Published As

Publication number Publication date
JPH08500690A (en) 1996-01-23
SG55185A1 (en) 1998-12-21
KR100337716B1 (en) 2002-11-22
KR950700571A (en) 1995-01-16
WO1994015278A1 (en) 1994-07-07
DE4242929A1 (en) 1994-06-23

Similar Documents

Publication Publication Date Title
DE1549476C3 (en) Order to execute divisions
DE2628473C3 (en) Digital convolution filter
DE4302898C2 (en) Arithmetic arithmetic unit with accumulation function
DE2814078A1 (en) ADDING CONNECTION WITH TEMPORARY INTERMEDIATE STORAGE OF THE TRANSFER
DE1549478B1 (en) Floating point arithmetic unit for quick addition or subtraction of binary operands
DE2729912A1 (en) DIGITAL SIGNAL PROCESSING ARRANGEMENT
DE3447729C2 (en)
DE4344157A1 (en) Radio
EP0598112B1 (en) Process and configuration for establishing the sum of a chain of products
EP0627099A1 (en) Product summing circuitry
EP0090904B1 (en) Circuit for a serially operating digital filter
EP0176821B1 (en) Dpcm coder with reduced internal computing time
EP0489952B1 (en) Circuit device for digital bit-serial signal processing
EP0346750B1 (en) Device for dpcm coding at a high data rate
DE19637369C2 (en) Digital signal processor with multiplier and method
EP0858178A1 (en) Method and apparatus for mixing digital audio signals
DE19630435C1 (en) Multiplication circuit for complex values
DE2708637C3 (en) Circuit arrangement for forming a BCD sum or a pure binary sum from a first and a second operand
DE1181459B (en) Multiplication circuit for electronic number calculators
DE3609056A1 (en) COUNTER CIRCUIT
DE1549478C (en) Floating point arithmetic unit for quick addition or subtraction of binary operands
DE2142636A1 (en) CALCULATING UNIT FOR THE PERFORMANCE OF DIGITAL MULTIPLICATIONS
DE2207566C3 (en) Series-parallel multiplier
DE2165701A1 (en) Computing system
DE1549477C (en) Device for the rapid accumulation of a number of multi-digit binary operands

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19940720

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB IT

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: PHILIPS CORPORATE INTELLECTUAL PROPERTY GMBH

Owner name: KONINKLIJKE PHILIPS ELECTRONICS N.V.

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: PHILIPS CORPORATE INTELLECTUAL PROPERTY GMBH

Owner name: KONINKLIJKE PHILIPS ELECTRONICS N.V.

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Withdrawal date: 20021025