EP0627099A1 - Product summing circuitry - Google Patents
Product summing circuitryInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/509—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
- G06F7/5095—Adding; 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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/5443—Sum 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
Claims
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)
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)
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 |
-
1992
- 1992-12-18 DE DE4242929A patent/DE4242929A1/en not_active Withdrawn
-
1993
- 1993-12-17 EP EP94903145A patent/EP0627099A1/en not_active Withdrawn
- 1993-12-17 WO PCT/NL1993/000267 patent/WO1994015278A1/en not_active Application Discontinuation
- 1993-12-17 SG SG1996009097A patent/SG55185A1/en unknown
- 1993-12-17 JP JP6515035A patent/JPH08500690A/en active Pending
- 1993-12-17 KR KR1019940702887A patent/KR100337716B1/en not_active IP Right Cessation
Non-Patent Citations (1)
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 |