WO2015039452A1 - 一种矢量运算核以及矢量处理器 - Google Patents

一种矢量运算核以及矢量处理器 Download PDF

Info

Publication number
WO2015039452A1
WO2015039452A1 PCT/CN2014/077914 CN2014077914W WO2015039452A1 WO 2015039452 A1 WO2015039452 A1 WO 2015039452A1 CN 2014077914 W CN2014077914 W CN 2014077914W WO 2015039452 A1 WO2015039452 A1 WO 2015039452A1
Authority
WO
WIPO (PCT)
Prior art keywords
input
output
data
selector
operation result
Prior art date
Application number
PCT/CN2014/077914
Other languages
English (en)
French (fr)
Inventor
李爱军
林文琼
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Priority to EP14846444.9A priority Critical patent/EP3048538B1/en
Priority to US15/023,617 priority patent/US9910671B2/en
Publication of WO2015039452A1 publication Critical patent/WO2015039452A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30061Multi-way branch instructions, e.g. CASE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • G06F9/3895Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros

Definitions

  • the present invention relates to the field of vector processors in chip design, and in particular to a vector operator for implementing butterfly operations in fast Fourier transform (Fast-Fourier Transform) .
  • communication protocols include Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), Wireless Local Area Network (WLAN), Time Division Synchronous Code Division Multiple Access (TD-SCDMA), and Long Term Evolution (LTE).
  • GSM Global System for Mobile Communications
  • UMTS Universal Mobile Telecommunications System
  • WLAN Wireless Local Area Network
  • TD-SCDMA Time Division Synchronous Code Division Multiple Access
  • LTE Long Term Evolution
  • Multiple modes, using the original application-specific integrated circuit (ASIC) design method to achieve multi-mode compatible mobile terminal chips must face the disadvantages of large area and lack of flexibility.
  • ASIC application-specific integrated circuit
  • the current software-defined radio (SDR) technology is a promising technology to solve the current multi-mode communication terminal chip design problem.
  • the programmable vector processor is the core architecture of SDR technology. In order to support multi-mode baseband processing, the vector processor must be able to perform several G operations per second, and as a mobile terminal, it needs to meet power consumption of several hundred mW or so.
  • the arithmetic unit is the core operation part of the vector processor. Its performance determines the performance of the entire processor. Its power consumption also accounts for nearly half of the power consumption of the processor. Its design and implementation are critical.
  • the vector operator can have many structures, which can implement general multiplication, addition, multiplication and addition, complex multiplication, addition, multiplication and addition, and specific fast Fourier butterfly operations, all of which depend on the structure of the vector operator.
  • the existing general scheme can only perform the butterfly operation in the base 2 fast Fourier, and the butterfly operation in the base 3 fast Fourier cannot be directly completed.
  • the butterfly operation in the base 3 fast Fourier can be completed by combining multiple sets of complex and complex accumulation instructions, but the number of instructions is increased, the operation efficiency is low, and the programming difficulty is also improved, and the programming efficiency is also greatly improved. reduce.
  • the main reason for analyzing the above prior art is that the conventional vector operator cannot flexibly invert the multiplication result when performing the complex butterfly operation, so that each butterfly branch can only perform fixed multiplication or multiplication. Subtract, so only the butterfly operation in the base 2 fast Fourier can be completed.
  • One of the technical problems solved by the present invention is to propose a vector operation core, which can flexibly implement various butterfly operations.
  • One of the technical problems solved by the present invention is to propose a vector processor that can simultaneously support the butterfly operations in the base 2, base 3, and base 5 fast Fourier.
  • the vector operation core proposed by the present invention comprises: a first operation branch and a second operation branch;
  • the first operation branch comprises: an input terminal 1, 2, 3, a multiplier 7, and a selector one,
  • the second computing branch comprises: an input terminal 4, 5, 6, a multiplier 8, a selector one, a flipper 13, 14.
  • selector 9, flipper 11, 12 The output data is respectively input to the three inputs of the adder 15; the selector 10, the output data of the flippers 13, 14 are respectively input to the three inputs of the adder 16; the output data of the adder 15 is divided into two The branches are respectively input to the output terminal 17 and to the other selection input of the selector 9; the output data of the adder 16 is divided into two branches for input to the output terminal 18 and to the other selection input of the selector 10, respectively. . Further, between the input terminal 1 and the selector 9, a register is respectively disposed between the input terminal 6 and the selector 10; at the output ends of the multipliers 7, 8, the outputs of the adders 15 and 16 are respectively set. There is a register.
  • the vector processor proposed by the present invention comprises: a control unit and the above vector operation core; the control unit is arranged to control an input valid end of the selectors 9, 10 in the vector operation core, and is further configured to The output data symbols of the flippers 11, 12, 13, 14 in the vector operation core are controlled.
  • the vector operation core of the present invention replaces two two-input adders with a three-input adder by using a two-input adder, so that the area and power consumption of the chip are both Reduced.
  • FIG. 1 is a schematic block diagram of a vector operation core in the prior art
  • 2 is a schematic block diagram of another vector operation core in the prior art
  • FIG. 3 is a schematic block diagram of a vector operation core proposed by the present invention.
  • Figure 5 is an imaginary part operation diagram of the base 2 fast Fourier operation of the present invention.
  • FIG. 6a is a first operation diagram of the real part operation of the base 3 fast Fourier operation of the present invention
  • FIG. 6b is a second operation diagram of the real part operation of the base 3 fast Fourier operation of the present invention
  • FIG. 7a is a basis of the present invention
  • 3 The first operation diagram of the imaginary part operation of the fast Fourier operation
  • FIG. 7b is the second operation diagram of the imaginary part operation of the base 3 fast Fourier operation of the present invention
  • FIG. 8a is the base 5 fast Fourier operation of the present invention X2, X3 real part operation first operation chart
  • Fig. 8b is the second operation chart of X2, X3 real part operation of the base 5 fast Fourier operation of the present invention
  • Fig. 9a is the base 5 fast Fourier operation of the present invention The X2, X3 imaginary part operation first operation chart;
  • Fig. 9b is the second operation chart of the X2, X3 imaginary part operation of the base 5 fast Fourier operation of the present invention;
  • Fig. 9c is the base 5 fast Fourier operation of the present invention X2, X3 imaginary part operation third operation diagram;
  • Figure 9d is the fourth operation diagram of X2, X3 imaginary part operation of the base 5 fast Fourier operation of the present invention;
  • Fig. 9a is the base 5 fast Fourier operation of the present invention The X2, X3 imaginary part operation first operation chart;
  • Fig. 9b is the second operation chart of the X2, X3 imaginary part operation of
  • FIG. 10a is The first operation diagram of the X4, X5 real part operation of the base 5 fast Fourier operation of the present invention
  • FIG. 10b is the second operation diagram of the X4, X5 real part operation of the base 5 fast Fourier operation of the present invention
  • FIG. 10d is the fourth operation diagram of the X4, X5 real part operation of the base 5 fast Fourier operation of the present invention
  • FIG. 1 ib is the second operation diagram of the X4, X5 imaginary part operation of the base 5 fast Fourier operation of the present invention
  • FIG. 1 is a third operation diagram of the X4, X5 imaginary part operation of the base 5 fast Fourier operation of the present invention
  • FIG. 1 id is the X4 of the base 5 fast Fourier operation of the present invention
  • FIG. 1 is a schematic diagram of a vector operation core in the prior art.
  • the architecture is a conventional vector operation core architecture, and is composed of two multipliers and two adders.
  • 2 is an architecture of another vector operation core in the prior art, the vector operation core being composed of two multipliers and three adders.
  • FIG. 3 is a vector operation core architecture proposed by the present invention. Two three-input adders and four data invertors are used to flexibly invert the data of the input adder, and the vector processor constructed by the vector operation core can be used. The butterfly operation of the base 2, base 3, and base 5 fast Fourier types is simultaneously implemented.
  • Figure 3 shows the basic architecture of a vector operation core. In order to simplify the description, the figure only shows that the operation core is implemented in two steps, that is, divided into three stages of pipeline implementation. In actual hardware implementation, the core can be implemented in different orders. The required implementation order depends on its maximum operating frequency and the process used.
  • the operation core is implemented in third order, that is, divided into four stages of pipeline, and if the clock frequency requires 200M, then the operation is performed.
  • the core can be implemented as a 1-stage pipeline. That is, the flow order is divided according to the clock frequency requirement. This application only describes the 3-stage pipeline as an example. As shown in FIG. 3, the vector operation core includes a first operation branch and a second operation branch.
  • the first operation branch includes: an input terminal 1, 2, 3, a multiplier 7, a selector one, a flipper 1 1 , 12, a three-input adder 15 and an output terminal 17; a second operation branch
  • the method includes: an input terminal 4, 5, 6, a multiplier 8, a selector one, a flipper 13, a three-input adder 16 and an output terminal 18.
  • the flippers 1 1 , 12 , 13 , 14 can flexibly perform the negation operation according to the needs of the operation.
  • the data of the input terminal 1 is input to a selection input terminal of the selector 9, and the data of the input terminals 2, 3 is input to the two input terminals of the multiplier 7, and the output data of the multiplier 7 is divided into two branches respectively input to
  • the input of the inverter 6 is input to a selection input of the selector 10, and the data of the input 4, 5 is input to the two inputs of the multiplier 8, the multiplier
  • the output data of 8 is divided into two branches respectively input to the input ends of the flippers 12, 14;
  • the selector 9, the output data of the flippers 1 1 , 12 are respectively input to the three inputs of the adder 15;
  • the selector 10, the output data of the flippers 13, 14 are respectively input to the three input terminals of the adder 16;
  • the output data of the adder 15 is divided into two branches respectively input to the output terminal 17 and selected
  • the other input of the adder 9 is input; the output data of the adder 16 is split into two branches for input to the output 18 and to the other select input
  • a register is provided between input 6 and selector 10; at the output of multipliers 7, 8, the outputs of adders 15, 16 There is a register on each side. As shown in Figure 3, a total of six registers are set.
  • the vector operation core may be the core operation part of the vector processor, and the vector processor at least includes: a control unit and the vector operation core according to claim 1 or 2; and the control unit is configured to control the selector in the vector operation core
  • the input valid terminals of 9, 10 are also set to control the output data symbols of the flip-flops 11, 12, 13, 14 in the vector operation core. Since the power consumption of the vector operation core generally accounts for nearly half of the vector processor, since the above vector operation core reduces the number of operations and the operation device, the power consumption of the vector processor using the above vector operation core is greatly reduced.
  • the following is an example of the butterfly operation in the base 2, base 3, and base 5 fast Fourier, respectively, to illustrate the operation process of the vector processor of the present invention: 1.
  • the butterfly operation in the base 2 fast Fourier implements the base 2 FFT
  • the butterfly operation can be described as follows:
  • X2 C - AB ( lb ) where A, B and C are both complex vectors, B is the rotation factor, and X1 and X2 are the base 2 fast Fourier butterfly operation output vectors.
  • formula (3) is the imaginary part of XI and X2.
  • the solid line indicates the data flow direction, and the input terminals 1, 2, 3, 4, 5, and 6 input Cr, Ar, Br, Ai, Bi, and Cr data, respectively. 11, 14 controls the sign of its output data to be positive, the symbols of the output data of the flipper 12, 13 are negative, the data input of the selector 9 selects the input 1 is valid, and the data input of the selector 10 selects the input 6 is valid.
  • the output terminal 17 outputs the real operation result Xlr of XI, and the output terminal 18 outputs the real operation result X2r of X2.
  • the imaginary part is shown in the figure.
  • the solid line indicates the data flow direction.
  • the input terminals 1, 2, 3, 4, 5, and 6 input the Ci, Ar, Bi, Ai, Br, and Ci data respectively. 11, 12 controls the sign of the output data to be positive, the flip-flops 13, 14 control the sign of the output data to be negative, the selector 9 selects the data input of the input terminal 1 to be valid, and the selector 10 selects the data input of the input terminal 6 to be valid.
  • the output terminal 17 outputs the imaginary part operation result Xli of XI, and the output terminal 18 outputs the imaginary part operation result X2i of X2.
  • the base 3 FFT butterfly operation in the butterfly 3 fast Fourier can be described as follows:
  • X3 A+B *conj(wl)+C*conj (w2) (4c) where A, B and C are both complex vectors, wl, w2 are the rotation factors, XI, X2, X3 are the base 3 fast Fourier Leaf butterfly operation output vector.
  • W2 W2r +j W2i
  • X3r Ar + [Br * Wlr+Bi * Wli] + [Cr * W2r+Ci * W2i] (6)
  • X2i Ai + [Br * Wli+Bi * Wlr] + [Cr * W2i+Ci * W2r]
  • Equation (7) The implementation of equation (5) can be accomplished by addition and accumulation instructions, and the optimization of the present invention is mainly directed to 6), Equation (7).
  • the real operation shown in Fig. 6 includes two operation processes, Fig. 6a is the first operation diagram, and Fig. 6b is the second operation diagram, in which the solid line indicates the data flow direction.
  • the input terminals 1, 2, 3, 4, 5, and 6 respectively input Ar, Br, Wlr, Bi, Wli, and Ar data, and the inverters 11, 13, and 14 control the sign of the output data to be positive.
  • the flipper 12 controls the sign of the output data to be negative, the selector 9 selects the data input of the input terminal 1 to be valid, the selector 10 selects the data input of the input terminal 6 to be valid, and the output result output by the output terminal 17 as the second operation.
  • the data selection input of the selector 9 is used as the data selection input of the selector 10 in the second operation; the input terminals 2, 3, 4, and 5 are input to the Cr, W2r, and Ci, respectively, in the second operation.
  • the selector 9 selects the output terminal 17 to output the operation result input in the first operation
  • the selector 10 selects the output terminal 18 to output the operation result input in the first operation is valid
  • the output end 17 outputs the second operation result as X2.
  • the real operation result X2r, the second operation result outputted by the output terminal 18 is the real part operation result X3r of X3.
  • the imaginary part operation shown in FIG. 7 includes two operation processes, FIG. 7a is the first operation diagram, and FIG. 7b is the second operation diagram.
  • the input terminals 1, 2, 3, 4, 5, and 6 respectively input Ai, Br, Wli, Bi, Wlr, Ai data
  • the flippers 11, 12, 14 control the sign of the output data to be positive
  • the flipper 13 controls the sign of the output data to be negative
  • the selector 9 selects the data input of the input terminal 1 to be valid
  • the selector 10 selects the data input of the input terminal 6 to be valid
  • the output result output by the output terminal 17 as the second operation.
  • the data selection input of the selector 9 and the operation result outputted by the output terminal 18 are used as the data selection input of the selector 10 in the second operation; in the second operation, the input terminals 2, 3, 4, and 5 are respectively input with Cr, W2i, and Ci.
  • the W2r data, the flip-flops 11, 12, 14 control the sign of the output data to be positive, the flip-flop 13 controls the sign of the output data to be negative, and the selector 9 selects the operation result outputted by the output terminal 17 in the first operation.
  • the selector 10 selects the output result of the output of the output terminal 18 in the first operation to be valid;
  • the second operation result outputted by the output terminal 17 is the imaginary part of the X2 operation result ⁇ 2 ⁇ , and the second operation outputted by the output terminal 18 Result as X3
  • XI A+B+C+D+E ( 8a)
  • X2 A+B*wl+C*w2+D*w3+E*w4
  • X3 A+B * conj (w 1 )+C * Conj (w2)+D * conj (w3 )+E*conj (w4)
  • X5 A+B * conj (w3 ) + C * conj (w 1 ) + D * conj (w4) + E* conj (w2)
  • A, B, C, D and E are complex vectors
  • wl, w2, w3, w4 are rotation factors
  • X2r Ar + [Br * Wlr-Bi * Wli] + [Cr * W2r-Ci * W2i] + [Dr * W3r-Di * W3i] + [Er * W4r-Ei * W4i]
  • X3r Ar + [Br * Wlr+Bi * Wli] + [Cr * W2r+Ci * W2i] + [Dr * W3r+Di * W3i]+ [Er * W4r+Ei * W4i]
  • X2i Ai + [Br * Wli+Bi * Wlr] + [Cr * W2i+Ci * W2r] + [Dr * W3i+Di * W3r] + [Er * W4i+Ei * W4r]
  • X3i Ai + [-Br * Wli+Bi * Wlr] + [-Cr * W2i+Ci * W2r] + [-Dr * W3i+Di * W3r] + [-Er * W4i+Ei * W4r]
  • X4r Ar + [Br * W3r-Bi * W3i] + [Cr * Wlr-Ci * Wli] + [Dr * W4r-Di * W4i] + [Er * W2r-Ei * W2i]
  • X5r Ar + [Br * W3r+Bi * W3i]+ [Cr * Wlr+Ci * Wli] + [Dr * W4r+Di * W4i]+ [Er * W2r+Ei * W2i]
  • X4i Ai + [Br * W3i+Bi * W3r] + [Cr * Wli+Ci * Wlr] + [Dr * W4i+Di * W4r] + [Er * W2i+Ei * W2r]
  • X5i Ai + [-Br * W3i+Bi * W3r] + [-Cr * Wli+Ci * Wlr] + [-Dr * W4i+Di * W4r] + [-Er * W2i+Ei * W2r]
  • Equation (9) is completed by the addition and accumulation instructions.
  • the equation (10) is processed as shown in Fig. 8, including four operations, which are respectively the operation diagrams of Fig. 8a, Fig. 8b, Fig. 8c and Fig. 8d, and the solid lines indicate the data flow direction.
  • the input terminals 1, 2, 3, 4, 5, and 6 respectively input Ar, Br, Wlr, Bi, Wli, and Ar data, and the inverters 11, 13, and 14 control the sign of the output data to be positive.
  • the flipper 12 controls the sign of the output data to be negative, the selector 9 selects the data input of the input terminal 1 to be valid, the selector 10 selects the data input of the input terminal 6 to be valid, and the output result outputted by the output terminal 17 as the second operation.
  • the data selection input of the selector 9 and the operation result outputted by the output terminal 18 are used as the data selection input of the selector 10 in the second operation; in the second operation, the input terminals 2, 3, 4, and 5 are respectively input with Cr, W2r, and Ci.
  • the W2i data, the flip-flops 11, 13, 14 control the sign of the output data to be positive
  • the flip-flop 12 controls the sign of the output data to be negative
  • the selector 9 selects the operation result outputted by the output terminal 17 in the first operation.
  • the selector 10 selects the output result of the output of the output terminal 18 in the first operation
  • the operation result outputted by the output terminal 17 is used as the data selection input of the selector 9 in the third operation, and the output result of the output terminal 18 is output.
  • the input terminals 2, 3, 4, and 5 input the Dr, W3r, Di, W3i data in the third operation, and the flip-flops 11, 13, 14 control the symbols of the output data thereof.
  • the flipper 12 controls the sign of the output data to be negative
  • the selector 9 selects the output terminal 17 to output the operation result input in the second operation
  • the selector 10 selects the output of the output terminal 18 in the second operation.
  • the result input is valid
  • the operation result outputted by the output terminal 17 is used as the data selection input of the selector 9 in the fourth operation
  • the operation result outputted by the output terminal 18 is used as the data selection input of the selector 10 in the fourth operation;
  • the input terminals 2, 3, 4, and 5 respectively input Er, W4r, Ei, and W4i data, and the inverters 11, 13, and 14 control the sign of the output data to be positive, and the inverter 12 controls the sign of the output data to be negative.
  • the selector 9 selects the output terminal 17 to output the operation result input in the third operation
  • the selector 10 selects the output terminal 18 to output the operation result input in the third operation
  • the output terminal 17 outputs the fourth time.
  • X2 output terminal 18 outputs the real part of the calculation result as the X3 X3r.
  • the equation (11) is processed as shown in Fig. 9, including four operations, which are respectively the operation diagrams of Fig. 8a, Fig. 8b, Fig. 8c and Fig. 8d, and the solid lines indicate the flow of data.
  • the input terminals 1, 2, 3, 4, 5, and 6 respectively input Ai, Br, Wli, Bi, Wlr, Ai data
  • the flippers 11, 12, 14 control the sign of the output data to be positive
  • the flipper 13 controls the sign of the output data to be negative
  • the selector 9 selects the data input of the input terminal 1 to be valid
  • the selector 10 selects the data input of the input terminal 6 to be valid
  • the output result output by the output terminal 17 as the second operation.
  • the data selection input of the selector 9 and the operation result outputted by the output terminal 18 are used as the data selection input of the selector 10 in the second operation; in the second operation, the input terminals 2, 3, 4, and 5 are respectively input with Cr, W2i, and Ci.
  • the W2r data, the flip-flops 11, 12, 14 control the sign of the output data to be positive
  • the flip-flop 13 controls the sign of the output data to be negative
  • the selector 9 selects the operation result outputted by the output terminal 17 in the first operation.
  • the selector 10 selects the output result of the output of the output terminal 18 in the first operation
  • the operation result outputted by the output terminal 17 is used as the data selection input of the selector 9 in the third operation, and the output result of the output terminal 18 is output.
  • the flipper 11, 12, 14 controls the sign of the output data to be positive
  • the flip-flop 13 controls the sign of the output data to be negative
  • the selector 9 selects the output end 17 to output the operation result input in the second operation is valid
  • the selector 10 selects The operation result outputted by the output terminal 18 in the second operation is valid
  • the operation result outputted by the output terminal 17 is used as the data selection input of the selector 9 in the fourth operation
  • the operation result outputted by the output terminal 18 is selected as the fourth operation.
  • the data selection input of the device 10 in the fourth operation, the input terminals 2, 3, 4, and 5 respectively input the Er, W4i, Ei, and W4r data, and the inverters 11, 12, and 14 control the sign of the output data to be positive,
  • the counter 13 controls the sign of the output data to be negative, the selector 9 selects the output end 17 to output the operation result input in the third operation, and the selector 10 selects the output end 18 to output the operation result input in the third operation;
  • the fourth operation result output from the output terminal 17 is the imaginary part operation result X2i of X2, and the fourth operation result outputted by the output terminal 18 is the imaginary part operation result X3i of X3.
  • the equation (12) is processed as shown in Fig.
  • the input terminals 1, 2, 3, 4, 5, and 6 respectively input Ar, Br, W3r, Bi, W3i, and Ar data, and the inverters 11, 13, and 14 control the sign of the output data to be positive.
  • the flipper 12 controls the sign of the output data to be negative, the selector 9 selects the data input of the input terminal 1 to be valid, the selector 10 selects the data input of the input terminal 6 to be valid, and the output result outputted by the output terminal 17 as the second operation.
  • the data selection input of the selector 9 and the operation result outputted by the output terminal 18 are used as the data selection input of the selector 10 in the second operation; in the second operation, the input terminals 2, 3, 4, and 5 are respectively input with Cr, Wlr, and Ci. , Wli data, the flip-flops 11, 13, 14 control the sign of the output data is positive, the flip-flop 12 controls the sign of the output data to be negative, and the selector 9 selects the operation result outputted by the output terminal 17 in the first operation.
  • the selector 10 selects the output result of the output of the output terminal 18 in the first operation, and the operation result outputted by the output terminal 17 is used as the data selection input of the selector 9 in the third operation, and the output result of the output terminal 18 is output.
  • the data selection input of the selector 10 in the cubic operation the input terminals 2, 3, 4, 5 in the third operation respectively input the data of Dr, W4r, Di, W4i, and the inverters 11, 13, 14 control the symbols of the output data thereof
  • the flipper 12 controls the sign of the output data to be negative
  • the selector 9 selects the output terminal 17 to output the operation result input in the second operation
  • the selector 10 selects the output of the output terminal 18 in the second operation.
  • the result input is valid
  • the operation result outputted by the output terminal 17 is used as the data selection input of the selector 9 in the fourth operation
  • the operation result outputted by the output terminal 18 is used as the data selection input of the selector 10 in the fourth operation;
  • the input terminals 2, 3, 4, and 5 respectively input Er, W2r, Ei, and W2i data, and the inverters 11, 13, and 14 control the sign of the output data to be positive, and the inverter 12 controls the sign of the output data to be negative.
  • the selector 9 selects the output terminal 17 to output the operation result input in the third operation
  • the selector 10 selects the output terminal 18 to output the operation result input in the third operation
  • the output terminal 17 outputs the fourth time.
  • the calculation result is the real operation result X4r of X4, and the fourth calculation result outputted by the output terminal 18 is the real operation result X5r of X5.
  • the equation (13) is processed as shown in Fig. 1, and includes four operations, which are respectively the operation diagrams of Fig. 8a, Fig. 8b, Fig. 8c and Fig. 8d, and the solid line indicates the data flow direction.
  • the input terminals 1, 2, 3, 4, 5, and 6 respectively input Ai, Br, W3i, Bi, W3r, and Ai data
  • the inverters 1 1, 12, and 14 control the sign of the output data to be positive.
  • the flip-flop 13 controls the sign of the output data to be negative, the selector 9 selects the data input of the input terminal 1 to be valid, the selector 10 selects the data input of the input terminal 6 to be valid, and the output result output by the output terminal 17 as the second operation.
  • the data selection input of the middle selector 9, the operation result outputted by the output terminal 18 is used as the data selection input of the selector 10 in the second operation; in the second operation, the input terminals 2, 3, 4, and 5 are respectively input with Cr, Wli, Ci, Wlr data, the flipper 1 1 , 12 , 14 controls the sign of the output data to be positive, the flip flop 13 controls the sign of the output data to be negative, and the selector 9 selects the output of the output 17 for the first operation.
  • the operation result input is valid
  • the selector 10 selects the output result of the operation result outputted by the output terminal 18 in the first operation
  • the operation result outputted by the output terminal 17 is used as the data selection input of the selector 9 in the third operation
  • the output terminal 18 outputs the output.
  • Operation result The data selection input of the selector 10 in the third operation; the input terminals 2, 3, 4, and 5 input the Dr, W4i, Di, W4r data in the third operation, and the inverters 1 1, 12, 14 control the output thereof.
  • the sign of the data is positive
  • the flip-flop 13 controls the sign of the output data to be negative
  • the selector 9 selects the output end of the output terminal 17 to output the operation result input in the second operation
  • the selector 10 selects the output terminal 18 in the second operation.
  • the output operation result input is valid
  • the operation result outputted by the output terminal 17 is used as the data selection input of the selector 9 in the fourth operation
  • the operation result outputted by the output terminal 18 is used as the data selection input of the selector 10 in the fourth operation
  • the input terminals 2, 3, 4, and 5 respectively input the Er, W2i, Ei, and W2r data
  • the inverters 1 1, 12, and 14 control the sign of the output data to be positive
  • the flipper 13 controls the output data.
  • the sign of the switch is negative, the output of the operation result of the output of the third terminal of the selector 9 is selected to be valid, and the input of the operation result of the third operation of the selector 10 is selected by the selector 10; the output of the output of the output terminal 17 is As a result of secondary calculation results of the fourth calculation portion 18 outputs the calculation result imaginary X4i, X4 as the output of the imaginary part of the calculation result X5i X5.
  • a vector operation core and a vector processor provided by an embodiment of the present invention have the following beneficial effects: Since two two-input adders are used less, two two-input adders are replaced with three-input adders, This reduces the area and power consumption of the chip.
  • the vector processor of the present invention can simultaneously support the butterfly operations in the base 2, base 3, and base 5 fast Fourier; when simultaneously calculating the two branches of the base 2 butterfly operation, since the number of multiplication operations is reduced by half, Greatly reduces the power consumption of the circuit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Discrete Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

一种矢量运算核和矢量处理器,矢量运算核采用两个三输入加法器与四个数据取反器,使输入加法器的数据能够灵活地取反。矢量处理器中除了设有上述的矢量运算核外,还包括控制单元,控制矢量运算核中的选择器和取反器。矢量处理器可以实现同时支持基2,基3,基5快速傅里叶里种的蝴蝶运算。矢量运算核可以广泛应用于多模兼容的移动终端芯片中的可编程矢量处理器设计中。

Description

一种矢量运算核以及矢量处理器 技术领域 本发明属于芯片设计中的矢量处理器(vector processor)领域, 具体涉及一种实现 快速傅里叶 (Fast-Fourier Transform) 中的蝴蝶运算的矢量运算器。 背景技术 目前通信协议有全球移动通信系统 (GSM) 、 通用移动通信系统 (UMTS) 、 无 线局域网 (WLAN) 、 时分同步的码分多址接入 (TD-SCDMA) 和长期演进 (LTE) 等等多种模式, 采用原有的专用集成电路(ASIC)设计方法来实现多模兼容的移动终 端芯片必然面临面积大且缺乏灵活性等等缺点。 当前的软件无线电 (software-defined radio, 简称为 SDR) 技术是解决目前多模通信终端芯片设计问题的极具潜力的技术。 可编程矢量处理器 (programmable vector processor) 是 SDR技术的核心架构。 为了支 持多模基带的处理, 矢量处理器必须能每秒执行数 G操作, 并且作为移动终端需要满 足功耗在几百 mW左右。 其中的运算单元是矢量处理器的核心运算部分, 其性能决定了整个处理器性能, 其功耗也占到处理器近一半的功耗, 其设计和实现非常关键。 矢量运算器可以有很多结构, 可以实现一般乘法、 加法、 乘加, 还可以实现复数 乘法、 加法、 乘加, 以及特定快速傅里叶的蝴蝶运算, 这些都取决于矢量运算器的结 构。 但是现有一般的方案都只能进行基 2快速傅里叶中的蝴蝶运算, 无法直接完成基 3 快速傅里叶中的蝴蝶运算。 或者可以通过多组复数加与复数累加的指令组合来完成 基 3快速傅里叶中的蝴蝶运算, 但是增加了指令的数量, 运算效率较低, 同时也提高 了编程的难度, 编程效率也大大降低。 分析上述现有技术主要原因是在于传统的矢量 运算器在进行复数的蝶形运算时, 不能灵活地对乘法结果进行取反运算, 使得每条蝶 形支路只能进行固定的乘加或乘减, 所以只能完成基 2快速傅里叶里的蝴蝶运算。 发明内容 本发明解决的技术问题之一是提出了一种矢量运算核, 可以灵活的实现各种蝴蝶 运算。 本发明解决的技术问题之一是提出了一种矢量处理器, 可以实现同时支持基 2, 基 3, 基 5快速傅里叶中的蝴蝶运算。
本发明提出的矢量运算核, 包括: 第一运算支路和第二运算支路; 所述第一运算 支路包括: 输入端 1、 2、 3, 乘法器 7, 二选一选择器 9, 取反器 11、 12, 三输入加法 器 15和输出端 17; 所述第二运算支路包括: 输入端 4、 5、 6, 乘法器 8, 二选一选择 器 10, 取反器 13、 14, 三输入加法器 16和输出端 18; 所述取反器 11、 12、 13、 14 设置为控制其输出数据的符号;输入端 1的数据输入到选择器 9的一个选择输入端上, 输入端 2、 3的数据输入到乘法器 7的两个输入端上,乘法器 7的输出数据分成两个支 路分别输入到取反器 11、 13的输入端上; 输入端 6的数据输入到选择器 10的一个选 择输入端上, 输入端 4、 5的数据输入到乘法器 8的两个输入端上, 乘法器 8的输出数 据分成两个支路分别输入到取反器 12、 14的输入端上; 选择器 9, 取反器 11、 12的 输出数据分别输入到加法器 15的三个输入端上; 选择器 10, 取反器 13、 14的输出数 据分别输入到加法器 16的三个输入端上; 加法器 15的输出数据分成两个支路分别输 入到输出端 17上和选择器 9的另一个选择输入端上; 加法器 16的输出数据分成两个 支路分别输入到输出端 18上和选择器 10的另一个选择输入端上。 进一步的,在输入端 1和选择器 9之间,输入端 6和选择器 10之间分别设有一个 寄存器; 在乘法器 7、 8的输出端, 加法器 15、 16的输出端上分别设有一个寄存器。
本发明提出的本发明提出的矢量处理器,包括:控制单元以及上述的矢量运算核; 所述控制单元设置为控制所述矢量运算核中的选择器 9、 10的输入有效端, 还设置为 控制所述矢量运算核中的取反器 11、 12、 13、 14的输出数据符号。 采用本发明的矢量运算核与现有的矢量运算核相比, 由于少用了一个两输入加法 器, 将两个两输入加法器用三输入加法器替换, 使得芯片的面积与功耗方面均有所减 少。采用本发明的矢量处理器可以同时支持基 2,基 3,基 5快速傅里叶中的蝴蝶运算; 在同时计算基 2蝴蝶运算的两条支路时, 由于将乘法运算的次数减少一半, 大大降低 了电路功耗。 附图说明 图 1 是现有技术中的一种矢量运算核的原理框图; 图 2 是现有技术中的另一种矢量运算核的原理框图;
图 3是本发明提出的矢量运算核的原理框图;
图 4是本发明基 2快速傅里叶运算的实部运算图;
图 5是本发明基 2快速傅里叶运算的虚部运算图;
图 6a 是本发明基 3快速傅里叶运算的实部运算第一次运算图; 图 6b是本发明基 3快速傅里叶运算的实部运算第二次运算图; 图 7a 是本发明基 3快速傅里叶运算的虚部运算第一次运算图; 图 7b是本发明基 3快速傅里叶运算的虚部运算第二次运算图; 图 8a 是本发明基 5快速傅里叶运算的 X2,X3实部运算第一次运算图; 图 8b是本发明基 5快速傅里叶运算的 X2,X3实部运算第二次运算图; 图 8c是本发明基 5快速傅里叶运算的 X2,X3实部运算第三次运算图; 图 8d是本发明基 5快速傅里叶运算的 X2,X3实部运算第四次运算图; 图 9a是本发明基 5快速傅里叶运算的 X2,X3虚部运算第一次运算图; 图 9b是本发明基 5快速傅里叶运算的 X2,X3虚部运算第二次运算图; 图 9c是本发明基 5快速傅里叶运算的 X2,X3虚部运算第三次运算图; 图 9d是本发明基 5快速傅里叶运算的 X2,X3虚部运算第四次运算图; 图 10a是本发明基 5快速傅里叶运算的 X4,X5实部运算第一次运算图; 图 10b是本发明基 5快速傅里叶运算的 X4,X5实部运算第二次运算图; 图 10c是本发明基 5快速傅里叶运算的 X4,X5实部运算第三次运算图; 图 10d是本发明基 5快速傅里叶运算的 X4,X5实部运算第四次运算图; 图 11a是本发明基 5快速傅里叶运算的 X4,X5虚部运算第一次运算图; 图 l ib是本发明基 5快速傅里叶运算的 X4,X5虚部运算第二次运算图; 图 l ie是本发明基 5快速傅里叶运算的 X4,X5虚部运算第三次运算图; 图 l id是本发明基 5快速傅里叶运算的 X4,X5虚部运算第四次运算图。 具体实施方式 下面结合附图, 并通过具体实施例详细说明本发明技术方案的实现方式。 图 1为现有技术中的一种矢量运算核的架构, 该架构为传统的矢量运算核架构, 由两个乘法器和两个加法器组成。 图 2为现有技术中另一种矢量运算核的架构, 该矢 量运算核由两个乘法器和三个加法器组成。 这两种现有的矢量运算核构建的矢量处理 器都没有办法同时实现支持基 2, 基 3, 基 5快速傅里叶中的蝴蝶运算。 图 3为本发明提出的矢量运算核架构,采用两个三输入加法器与四个数据取反器, 使输入加法器的数据能够灵活地取反, 用该矢量运算核构建的矢量处理器可以实现同 时支持基 2, 基 3, 基 5快速傅里叶里种的蝴蝶运算。 图 3 显示了矢量运算核的基本 架构。 为了简化描述, 图中只显示该运算核用了两阶来实现, 即分成 3级流水线实现。 在实际的硬件实现时, 该运算核可以采用不同的阶数来实现。 其所需要的实现阶数取 决于其最高操作频率和所采用的工艺, 比如时钟频率要求 800M, 那么该运算核用三 阶, 即分成 4级流水线实现, 而假如时钟频率要求 200M,那么该运算核就可以分成 1 级流水线实现。 即根据时钟频率要求划分流水阶数, 本申请只是以 3级流水线为例子 进行说明。 如图 3所示, 矢量运算核中包括第一运算支路和第二运算支路。 其中第一运算支 路包括: 输入端 1、 2、 3, 乘法器 7, 二选一选择器 9, 取反器 1 1、 12, 三输入加法器 15和输出端 17; 第二运算支路包括: 输入端 4、 5、 6, 乘法器 8, 二选一选择器 10, 取反器 13、 14, 三输入加法器 16和输出端 18。 取反器 1 1、 12、 13、 14可以根据运算 的需要灵活的进行取反操作。 输入端 1的数据输入到选择器 9的一个选择输入端上,输入端 2、 3的数据输入到 乘法器 7的两个输入端上, 乘法器 7的输出数据分成两个支路分别输入到取反器 1 1、 13的输入端上; 输入端 6的数据输入到选择器 10的一个选择输入端上, 输入端 4、 5 的数据输入到乘法器 8的两个输入端上, 乘法器 8的输出数据分成两个支路分别输入 到取反器 12、 14的输入端上; 选择器 9, 取反器 1 1、 12的输出数据分别输入到加法 器 15的三个输入端上; 选择器 10, 取反器 13、 14的输出数据分别输入到加法器 16 的三个输入端上; 加法器 15的输出数据分成两个支路分别输入到输出端 17上和选择 器 9的另一个选择输入端上; 加法器 16的输出数据分成两个支路分别输入到输出端 18上和选择器 10的另一个选择输入端上。 在一种实施例中,在输入端 1和选择器 9之间,输入端 6和选择器 10之间分别设 有一个寄存器; 在乘法器 7、 8的输出端, 加法器 15、 16的输出端上分别设有一个寄 存器。 如图 3所示, 共设置了 6个寄存器。
上述的矢量运算核可以作为矢量处理器的核心运算部分, 此时矢量处理器至少包 括: 控制单元以及权利要求 1或 2所述的矢量运算核; 控制单元设置为控制矢量运算 核中的选择器 9、 10的输入有效端, 还设置为控制矢量运算核中的取反器 11、 12、 13、 14的输出数据符号。 由于矢量运算核的功耗一般占到矢量处理器近一半, 由于上述矢 量运算核减少了运算次数和运算器件, 所以采用了上述矢量运算核的矢量处理器的功 耗将大大降低。 以下分别以基 2, 基 3, 基 5快速傅里叶中的蝴蝶运算为例, 具体说明本发明矢量 处理器的运算处理过程: 一、 基 2快速傅里叶中的蝴蝶运算实现 基 2 FFT蝴蝶运算可以描述如下:
XI = C + AB ( la)
X2 = C - AB ( lb ) 其中, A, B 和 C 都是复数矢量, B是旋转因子, X1,X2为基 2快速傅里叶蝴蝶 运算输出矢量。 设
A = Ar + j Ai B = Br + j Bi C = Cr + j Ci XI = Xlr + j Xli
X2 = X2r + j X2i 则公式 (la) 、 ( lb) 可改写为:
Xlr = Cr + [Ar * Br-Ai * Bi]
Figure imgf000007_0001
Xli = Ci + [Ar * Bi + Ai * Br]
Figure imgf000007_0002
其中公式 (2) 为 XI、 X2的实部运算式, 公式 (3 ) 为 XI、 X2的虚部运算式。 如图 4 所示的实部运算图, 图中实线标示数据流向, 输入端 1、 2、 3、 4、 5、 6 分别输入 Cr、 Ar、 Br、 Ai、 Bi、 Cr数据, 取反器 11、 14 控制其输出数据的符号为正, 取反器 12、 13控制其输出数据的符号为负, 选择器 9选择输入端 1的数据输入有效, 选择器 10选择输入端 6的数据输入有效,输出端 17输出 XI的实部运算结果 Xlr,输 出端 18输出 X2的实部运算结果 X2r。 如图 5 所示的虚部运算图, 图中实线标示数据流向, 输入端 1、 2、 3、 4、 5、 6 分别输入 Ci、 Ar、 Bi、 Ai、 Br、 Ci数据, 取反器 11、 12 控制其输出数据的符号为正, 取反器 13、 14控制其输出数据的符号为负, 选择器 9选择输入端 1的数据输入有效, 选择器 10选择输入端 6的数据输入有效,输出端 17输出 XI的虚部运算结果 Xli,输 出端 18输出 X2的虚部运算结果 X2i。 二、 基 3快速傅里叶中的蝴蝶运算实现 基 3FFT蝴蝶运算可以描述如下:
XI = A+B+C (4a)
X2 = A+B*wl+C*w2 (4b)
X3 = A+B *conj(wl)+C*conj (w2) (4c) 其中, A, B 和 C 都是复数矢量, wl,w2是旋转因子, XI, X2, X3为基 3快速 傅里叶蝴蝶运算输出矢量。 设 A = Ar + j Ai B = Br + j Bi C = Cr + j Ci Wl = Wlr + j Wli
W2 = W2r +j W2i
XI = Xlr + j Xli
X2 = X2r + j X2i
X3 = X3r + j X3i 则 (4a)、 (4b)、 (4c) 可改写为:
Xlr = Ar + Br + Cr
Xli = Ai + Bi + Ci (5)
X2r = Ar + [Br * Wlr-Bi * Wli] + [Cr * W2r-Ci * W2i]
X3r = Ar + [Br * Wlr+Bi * Wli] + [Cr * W2r+Ci * W2i] (6) X2i = Ai + [Br * Wli+Bi * Wlr] + [Cr * W2i+Ci * W2r]
X3i = Ai + [-Br * Wli+Bi * Wlr] + [-Cr * W2i+Ci * W2r] (7) 式(5 ) 的实现可以通过加法和累加指令完成, 本发明的优化主要针对式(6), 式 ( 7)。 如图 6所示的实部运算中包括两次运算过程, 图 6a为第一次运算图, 图 6b为第 二次运算图, 图中实线标示数据流向。 第一次运算中输入端 1、 2、 3、 4、 5、 6分别输 入 Ar、 Br、 Wlr、 Bi、 Wli、 Ar数据, 取反器 11、 13、 14控制其输出数据的符号为正, 取反器 12控制其输出数据的符号为负,选择器 9选择输入端 1的数据输入有效,选择 器 10选择输入端 6的数据输入有效, 输出端 17输出的运算结果作为第二次运算中选 择器 9的数据选择输入, 输出端 18输出的运算结果作为第二次运算中选择器 10的数 据选择输入; 第二次运算中输入端 2、 3、 4、 5分别输入 Cr、 W2r、 Ci、 W2i数据, 取 反器 11、 13、 14控制其输出数据的符号为正, 取反器 12控制其输出数据的符号为负, 选择器 9选择输出端 17第一次运算中输出的运算结果输入有效, 选择器 10选择输出 端 18第一次运算中输出的运算结果输入有效; 输出端 17输出的第二次运算结果作为 X2的实部运算结果 X2r, 输出端 18输出的第二次运算结果作为 X3的实部运算结果 X3r。 如图 7所示的虚部运算中包括两次运算过程, 图 7a为第一次运算图, 图 7b为第 二次运算图。 第一次运算中输入端 1、 2、 3、 4、 5、 6分别输入 Ai、 Br、 Wli、 Bi、 Wlr、 Ai数据, 取反器 11、 12、 14控制其输出数据的符号为正, 取反器 13控制其输 出数据的符号为负, 选择器 9选择输入端 1的数据输入有效, 选择器 10选择输入端 6 的数据输入有效,输出端 17输出的运算结果作为第二次运算中选择器 9的数据选择输 入, 输出端 18输出的运算结果作为第二次运算中选择器 10的数据选择输入; 第二次 运算中输入端 2、 3、 4、 5分别输入 Cr、 W2i、 Ci、 W2r数据, 取反器 11、 12、 14控 制其输出数据的符号为正,取反器 13控制其输出数据的符号为负,选择器 9选择输出 端 17第一次运算中输出的运算结果输入有效,选择器 10选择输出端 18第一次运算中 输出的运算结果输入有效; 输出端 17输出的第二次运算结果作为 X2的虚部运算结果 Χ2Ϊ, 输出端 18输出的第二次运算结果作为 X3的虚部运算结果 X3i。 三、 基 5快速傅里叶中的蝴蝶运算实现 基 5 FFT蝴蝶运算可以描述如下:
XI = A+B+C+D+E ( 8a) X2= A+B*wl+C*w2+D*w3+E*w4 (8b) X3 = A+B * conj (w 1 )+C * conj (w2)+D * conj (w3 )+E*conj (w4)
(8c)
X4= A+B*w3+C*wl+D*w4+E*w2
(8d) X5 = A+B * conj (w3 )+C * conj (w 1 )+D * conj (w4)+E* conj (w2) 其中, A, B ,C ,D和 E都是复数矢量, wl,w2,w3,w4是旋转因子, X1,X2,X3,X4,X5 5快速傅里叶蝴蝶运算输出矢量。
A =Ar + j Ai
B =Br + jBi
C =Cr + jCi
D =Dr + jDi
E =Er + jEi
Wlr +j Wli
W2r +j W2i
W3r +j W3i
W4r +j W4i
XI =Xlr + j Xli
X2 = X2r + j X2i
X3 = X3r + j X3i
X4 = X4r + j X4i
X5 = X5r + j X5i 则公式 (8a)、 (8b)、 (8c)、 (8d)、 (8e) 可改写为:
Xlr = Ar + Br + Cr + Dr + Er Xli = Ai + Bi + Ci + Di + Ei
(9)
X2r = Ar + [Br * Wlr-Bi * Wli] + [Cr * W2r-Ci * W2i] + [Dr * W3r-Di * W3i]+ [Er * W4r-Ei * W4i]
X3r = Ar + [Br * Wlr+Bi * Wli] + [Cr * W2r+Ci * W2i] + [Dr * W3r+Di * W3i]+ [Er * W4r+Ei * W4i]
(10)
X2i = Ai + [Br * Wli+Bi * Wlr] + [Cr * W2i+Ci * W2r] + [Dr * W3i+Di * W3r] + [Er * W4i+Ei * W4r]
X3i = Ai + [-Br * Wli+Bi * Wlr] + [-Cr * W2i+Ci * W2r] + [-Dr * W3i+Di * W3r] + [-Er * W4i+Ei * W4r]
(11)
X4r = Ar + [Br * W3r-Bi * W3i]+ [Cr * Wlr-Ci * Wli] + [Dr * W4r-Di * W4i]+ [Er * W2r-Ei * W2i]
X5r = Ar + [Br * W3r+Bi * W3i]+ [Cr * Wlr+Ci * Wli] + [Dr * W4r+Di * W4i]+ [Er * W2r+Ei * W2i]
(12)
X4i = Ai + [Br * W3i+Bi * W3r] + [Cr * Wli+Ci * Wlr] + [Dr * W4i+Di * W4r] + [Er * W2i+Ei * W2r]
X5i = Ai + [-Br * W3i+Bi * W3r] + [-Cr * Wli+Ci * Wlr] + [-Dr * W4i+Di * W4r] + [-Er * W2i+Ei * W2r]
(13) 由式 (9), (10), (11 ), (12), ( 13 )可以看出, 其处理的方式与式 (5 ), (6), (7) 类似。 具体的处理过程: 式 (9) 采用加法和累加指令完成。 式 (10) 处理见图 8, 包括四次运算, 分别为运算图图 8a、 图 8b、 图 8c和图 8d, 图中实线标示数据流向。 第一次运算中输入端 1、 2、 3、 4、 5、 6分别输入 Ar、 Br、 Wlr、 Bi、 Wli、 Ar数据, 取反器 11、 13、 14控制其输出数据的符号为正, 取反器 12 控制其输出数据的符号为负,选择器 9选择输入端 1的数据输入有效,选择器 10选择 输入端 6的数据输入有效,输出端 17输出的运算结果作为第二次运算中选择器 9的数 据选择输入,输出端 18输出的运算结果作为第二次运算中选择器 10的数据选择输入; 第二次运算中输入端 2、 3、 4、 5分别输入 Cr、 W2r、 Ci、 W2i数据, 取反器 11、 13、 14控制其输出数据的符号为正, 取反器 12控制其输出数据的符号为负, 选择器 9选 择输出端 17第一次运算中输出的运算结果输入有效,选择器 10选择输出端 18第一次 运算中输出的运算结果输入有效,输出端 17输出的运算结果作为第三次运算中选择器 9的数据选择输入, 输出端 18输出的运算结果作为第三次运算中选择器 10的数据选 择输入; 第三次运算中输入端 2、 3、 4、 5分别输入 Dr、 W3r、 Di、 W3i数据, 取反器 11、 13、 14控制其输出数据的符号为正, 取反器 12控制其输出数据的符号为负, 选 择器 9选择输出端 17第二次运算中输出的运算结果输入有效, 选择器 10选择输出端 18第二次运算中输出的运算结果输入有效, 输出端 17输出的运算结果作为第四次运 算中选择器 9的数据选择输入, 输出端 18输出的运算结果作为第四次运算中选择器 10 的数据选择输入; 第四次运算中输入端 2、 3、 4、 5 分别输入 Er、 W4r、 Ei、 W4i 数据, 取反器 11、 13、 14控制其输出数据的符号为正, 取反器 12控制其输出数据的 符号为负, 选择器 9选择输出端 17第三次运算中输出的运算结果输入有效, 选择器 10选择输出端 18第三次运算中输出的运算结果输入有效; 输出端 17输出的第四次运 算结果作为 X2的实部运算结果 X2r, 输出端 18输出的第四次运算结果作为 X3的实 部运算结果 X3r。 式 (11 ) 处理见图 9, 包括四次运算, 分别为运算图图 8a、 图 8b、 图 8c和图 8d, 图中实线标示数据流向。 第一次运算中输入端 1、 2、 3、 4、 5、 6分别输入 Ai、 Br、 Wli、 Bi、 Wlr、 Ai数据, 取反器 11、 12、 14控制其输出数据的符号为正, 取反器 13 控制其输出数据的符号为负,选择器 9选择输入端 1的数据输入有效,选择器 10选择 输入端 6的数据输入有效,输出端 17输出的运算结果作为第二次运算中选择器 9的数 据选择输入,输出端 18输出的运算结果作为第二次运算中选择器 10的数据选择输入; 第二次运算中输入端 2、 3、 4、 5分别输入 Cr、 W2i、 Ci、 W2r数据, 取反器 11、 12、 14控制其输出数据的符号为正, 取反器 13控制其输出数据的符号为负, 选择器 9选 择输出端 17第一次运算中输出的运算结果输入有效,选择器 10选择输出端 18第一次 运算中输出的运算结果输入有效,输出端 17输出的运算结果作为第三次运算中选择器 9的数据选择输入, 输出端 18输出的运算结果作为第三次运算中选择器 10的数据选 择输入; 第三次运算中输入端 2、 3、 4、 5分别输入 Dr、 W3i、 Di、 W3r数据, 取反器 11、 12、 14控制其输出数据的符号为正, 取反器 13控制其输出数据的符号为负, 选 择器 9选择输出端 17第二次运算中输出的运算结果输入有效, 选择器 10选择输出端 18第二次运算中输出的运算结果输入有效, 输出端 17输出的运算结果作为第四次运 算中选择器 9的数据选择输入, 输出端 18输出的运算结果作为第四次运算中选择器 10 的数据选择输入; 第四次运算中输入端 2、 3、 4、 5 分别输入 Er、 W4i、 Ei、 W4r 数据, 取反器 11、 12、 14控制其输出数据的符号为正, 取反器 13控制其输出数据的 符号为负, 选择器 9选择输出端 17第三次运算中输出的运算结果输入有效, 选择器 10选择输出端 18第三次运算中输出的运算结果输入有效; 输出端 17输出的第四次运 算结果作为 X2的虚部运算结果 X2i, 输出端 18输出的第四次运算结果作为 X3的虚 部运算结果 X3i。 式(12)处理见图 10, 包括四次运算, 分别为运算图图 8a、 图 8b、 图 8c和图 8d, 图中实线标示数据流向。 第一次运算中输入端 1、 2、 3、 4、 5、 6分别输入 Ar、 Br、 W3r、 Bi、 W3i、 Ar数据, 取反器 11、 13、 14控制其输出数据的符号为正, 取反器 12 控制其输出数据的符号为负,选择器 9选择输入端 1的数据输入有效,选择器 10选择 输入端 6的数据输入有效,输出端 17输出的运算结果作为第二次运算中选择器 9的数 据选择输入,输出端 18输出的运算结果作为第二次运算中选择器 10的数据选择输入; 第二次运算中输入端 2、 3、 4、 5分别输入 Cr、 Wlr、 Ci、 Wli数据, 取反器 11、 13、 14控制其输出数据的符号为正, 取反器 12控制其输出数据的符号为负, 选择器 9选 择输出端 17第一次运算中输出的运算结果输入有效,选择器 10选择输出端 18第一次 运算中输出的运算结果输入有效,输出端 17输出的运算结果作为第三次运算中选择器 9的数据选择输入, 输出端 18输出的运算结果作为第三次运算中选择器 10的数据选 择输入; 第三次运算中输入端 2、 3、 4、 5分别输入 Dr、 W4r、 Di、 W4i数据, 取反器 11、 13、 14控制其输出数据的符号为正, 取反器 12控制其输出数据的符号为负, 选 择器 9选择输出端 17第二次运算中输出的运算结果输入有效, 选择器 10选择输出端 18第二次运算中输出的运算结果输入有效, 输出端 17输出的运算结果作为第四次运 算中选择器 9的数据选择输入, 输出端 18输出的运算结果作为第四次运算中选择器 10 的数据选择输入; 第四次运算中输入端 2、 3、 4、 5 分别输入 Er、 W2r、 Ei、 W2i 数据, 取反器 11、 13、 14控制其输出数据的符号为正, 取反器 12控制其输出数据的 符号为负, 选择器 9选择输出端 17第三次运算中输出的运算结果输入有效, 选择器 10选择输出端 18第三次运算中输出的运算结果输入有效; 输出端 17输出的第四次运 算结果作为 X4的实部运算结果 X4r, 输出端 18输出的第四次运算结果作为 X5的实 部运算结果 X5r。 式(13 )处理见图 1 1, 包括四次运算, 分别为运算图图 8a、 图 8b、 图 8c和图 8d, 图中实线标示数据流向。 第一次运算中输入端 1、 2、 3、 4、 5、 6分别输入 Ai、 Br、 W3i、 Bi、 W3r、 Ai数据, 取反器 1 1、 12、 14控制其输出数据的符号为正, 取反器 13 控制其输出数据的符号为负,选择器 9选择输入端 1的数据输入有效,选择器 10选择 输入端 6的数据输入有效,输出端 17输出的运算结果作为第二次运算中选择器 9的数 据选择输入,输出端 18输出的运算结果作为第二次运算中选择器 10的数据选择输入; 第二次运算中输入端 2、 3、 4、 5分别输入 Cr、 Wli、 Ci、 Wlr数据, 取反器 1 1、 12、 14控制其输出数据的符号为正, 取反器 13控制其输出数据的符号为负, 选择器 9选 择输出端 17第一次运算中输出的运算结果输入有效,选择器 10选择输出端 18第一次 运算中输出的运算结果输入有效,输出端 17输出的运算结果作为第三次运算中选择器 9的数据选择输入, 输出端 18输出的运算结果作为第三次运算中选择器 10的数据选 择输入; 第三次运算中输入端 2、 3、 4、 5分别输入 Dr、 W4i、 Di、 W4r数据, 取反器 1 1、 12、 14控制其输出数据的符号为正, 取反器 13控制其输出数据的符号为负, 选 择器 9选择输出端 17第二次运算中输出的运算结果输入有效, 选择器 10选择输出端 18第二次运算中输出的运算结果输入有效, 输出端 17输出的运算结果作为第四次运 算中选择器 9的数据选择输入, 输出端 18输出的运算结果作为第四次运算中选择器 10 的数据选择输入; 第四次运算中输入端 2、 3、 4、 5 分别输入 Er、 W2i、 Ei、 W2r 数据, 取反器 1 1、 12、 14控制其输出数据的符号为正, 取反器 13控制其输出数据的 符号为负, 选择器 9选择输出端 17第三次运算中输出的运算结果输入有效, 选择器 10选择输出端 18第三次运算中输出的运算结果输入有效; 输出端 17输出的第四次运 算结果作为 X4的虚部运算结果 X4i, 输出端 18输出的第四次运算结果作为 X5的虚 部运算结果 X5i。 以上所述实施例,仅为本发明的较佳实例而已, 并非用于限定本发明的保护范围, 凡在本发明的精神和原则之内所作的任何修改、 等同替换或改进等, 均应包含在本发 明的保护范围之内。 工业实用性 如上所述, 本发明实施例提供的一种矢量运算核以及矢量处理器具有以下有益效 果: 由于少用了一个两输入加法器, 将两个两输入加法器用三输入加法器替换, 使得 芯片的面积与功耗方面均有所减少。采用本发明的矢量处理器可以同时支持基 2,基 3, 基 5快速傅里叶中的蝴蝶运算; 在同时计算基 2蝴蝶运算的两条支路时, 由于将乘法 运算的次数减少一半, 大大降低了电路功耗。

Claims

权 利 要 求 书 一种矢量运算核, 包括: 第一运算支路和第二运算支路; 所述第一运算支路包 括: 输入端 1、 2、 3, 乘法器 7, 二选一选择器 9, 取反器 1 1、 12, 三输入加法 器 15和输出端 17; 所述第二运算支路包括: 输入端 4、 5、 6 , 乘法器 8, 二选 一选择器 10 , 取反器 13、 14, 三输入加法器 16和输出端 18 ; 所述取反器 11、 12、 13、 14设置为控制其输出数据的符号;
输入端 1的数据输入到选择器 9的一个选择输入端上,输入端 2、 3的数据 输入到乘法器 7的两个输入端上, 乘法器 7的输出数据分成两个支路分别输入 到取反器 11、 13的输入端上; 输入端 6的数据输入到选择器 10的一个选择输 入端上, 输入端 4、 5的数据输入到乘法器 8的两个输入端上, 乘法器 8的输出 数据分成两个支路分别输入到取反器 12、 14的输入端上;选择器 9,取反器 1 1、 12的输出数据分别输入到加法器 15的三个输入端上; 选择器 10, 取反器 13、 14的输出数据分别输入到加法器 16的三个输入端上;加法器 15的输出数据分 成两个支路分别输入到输出端 17上和选择器 9的另一个选择输入端上;加法器 16的输出数据分成两个支路分别输入到输出端 18上和选择器 10的另一个选择 输入端上。 根据权利要求〗所述的矢量运算核, 其中, 在输入端 I和选择器 9之间, 输入 端 6和选择器 10之间分别设有一个寄存器; 在乘法器 7、 8的输出端, 加法器 15、 16的输出端上分别设有一个寄存器。 -种矢量处理器, 包括: 控制单元以及权利要求 1或 2所述的矢量运算核; 所 述控制单元设置为控制所述矢量运算核中的选择器 9、 10的输入有效端, 还设 置为控制所述矢量运算核中的取反器 11、 12、 13、 14的输出数据符号。 根据权利要求 3所述的矢量处理器, 当用于实现以下的基 2快速傅里叶蝴蝶运 算的实部运算时:
X I = C + AB
X2 = C - AB
其中, A, B 和 C 都是复数矢量, B是旋转因子, X1,X2为基 2快速傅里 叶蝴蝶运算输出矢量; 进行实部虚部分解后,
A = Ar + j Ai B =Br +j Bi
C =Cr +jCi
XI -Xlr+j Xli
X2 = X2r+j X2i
XI、 X2的实部运算结果为,
Xlr = Cr+[Ar*Br-Ai*Bi]
X2r = Cr - [Ar * Br-Ai * Bi] ,
其中, 输入端 1、
2、
3、
4、
5、 6分别输入 Cr、 Ar、 Br、 Ai、 Bi、 Cr数据, 所述取反器 11、 14控制其输出数据的符号为正, 所述取反器 12、 13控制其输 出数据的符号为负, 所述选择器 9选择输入端 1的数据输入有效, 所述选择器 10选择输入端 6的数据输入有效,所述输出端 17输出 XI的实部运算结果 Xlr, 所述输出端 18输出 X2的实部运算结果 X2r。 根据权利要求 3或 4所述的矢量处理器, 当用于实现以下的基 2快速傅里叶蝴 蝶运算的虚部运算时-
XI = C+AB
X2 = C - AB
其中, A, B 和 C 都是复数矢量, B是旋转因子, X1,X2为基 2快速傅里 叶蝴蝶运算输出矢量; 进行实部虚部分解后,
A = Ar + j Ai
B =Br +j Bi
C =Cr +j Ci
XI =Xlr+jXli
X2 = X2r+j X2i
XI、 X2的虚部运算结果为,
Xli = Ci + [Ar*Bi + Ai*Br]
X2i = Ci-[Ar*Bi+Ai *Br] ,
其中, 输入端 1、 2、 3、 4、 S、 6分别输入 Ci、 Ar、 Bi、 Ai、 Br、 Ci数据, 所述取反器】 1、 12 控制其输出数据的符号为正, 所述取反器 13、 14控制其输 出数据的符号为负, 所述选择器 9选择输入端 1的数据输入有效, 所述选择器 10选择输入端 6的数据输入有效,所述输出端 17输出 XI的虚部运算结果 Xli, 所述输出端 18输出 X2的虚部运算结果 X2i。
6. 根据权利要求 3所述的矢量处理器, 当用于实现以下的基 3快速傅里叶蝴蝶运 算的 X2、 X3实部运算时:
XI =A+B+C
X2=A+B*wl+C*w2
X3 = A+B*conj(wl)+C*conj(w2)
其中, A,B 和 C 都是复数矢量, vvl,w2是旋转因子, X1,X2,X3为基 3快 速傅里叶蝴蝶运算输出矢量; 进行实部虚部分解后,
A = Ar + j Ai
B =Br +j Bi
C =Cr +j Ci
Wl = Wlr +j Wli
W2 = W2r +j W2i
XI =Xlr+jXli
X2 = X2r+jX2i
X3 = X3r+jX3i
XI、 X2、 X3的实部、 虚部运算结果为,
Xlr = Ar + Br + Cr
Xli=Ai + Bi + Ci
X2r = Ar + [Br * Wlr-Bi * Wli] + [Cr * W2r-Ci * W2i]
X3r = Ar + [Br* Wlr+Bi * Wli] + [Cr * W2r+Ci * W2i]
X2i=Ai + [Br * Wli+Bi * Wlr]+ [Cr * W2i+Ci * W2r]
X3i=Ai + [-Br * Wli+Bi * Wlr] + [-Cr * W2i+Ci * W2r] , 其中, 包括两次运算过程; 第一次运算中输入端 1、 2、 3、 4、 5、 6分别输 入 Ar、 Br、 Wlr、 Bi、 Wli. Ar数据, 所述取反器 11、 13、 14控制其输出数据 的符号为正,所述取反器 12控制其输出数据的符号为负,所述选择器 9选择输 入端 1的数据输入有效,所述选择器 10选择输入端 6的数据输入有效,所述输 出端 17输出的运算结果作为第二次运算中选择器 9的数据选择输入,所述输出 端 18输出的运算结果作为第二次运算中选择器 10的数据选择输入; 第二次运 算中输入端 2、 3、 4、 5分别输入 Cr、 W2r、 Ci、 W2i数据, 所述取反器 11、 13、 14控制其输出数据的符号为正, 所述取反器 12控制其输出数据的符号为 负,所述选择器 9选择输出端 17第一次运算中输出的运算结果输入有效,所述 选择器 10选择输出端 18第一次运算中输出的运算结果输入有效; 所述输出端 17输出的第二次运算结果作为 X2的实部运算结果 X2r,所述输出端 18输出的 第二次运算结果作为 X3的实部运算结果 X3r。
7. 根据权利要求 3或 6所述的矢量处理器, 当用于实现以下的基 3快速傅里叶蝴 蝶运算的 X2、 X3虚部运算时:
XI = A+B+C
X2 = A+B*wl+C*w2
X3 = A+B*conj(wl)+C*conj(w2)
其中, A,B 和 C 都是复数矢量, wl,w2是旋转因子,,X1,X2,X3为基 3快 速傅里叶蝴蝶运算输出矢量; 进行实部虚部分解后,
A = Ar + j Ai
B = Br +j Bi
C = Cr +j Ci
W1 = Wlr +j Wli
W2 = W2r +j W2i
XI = Xlr +j Xli
X2 = X2r +j X2i
X3 = X3r +j X3i
XI、 X2、 X3的实部、 虚部运算结果为,
Xlr = Ar + Br + Cr
Xli = Ai + Bi + Ci
X2r = Ar + [Br * Wlr-Bi * Wli] + [Cr * W2r-Ci * W2i] X3r = Ar + [Br * Wlr+Bi * Wl i] + [Cr * W2r+Ci * W2i] X2i = Ai + [Br * Wli+Bi * Wlr] + [Cr * W2i+Ci * W2r] X3i = Ai + [-Br * Wl i+Bi * Wlr] + [-Cr * W2i+Ci * W2r| , 其中, 包括两次运算过程; 第一次运算中输入端 1、 2、 3、 4、 5、 6分别输 入 Ai、 Br、 Wli、 Bi、 Wlr、 Ai数据, 所述取反器 11、 12、 14控制其输出数据 的符号为正,所述取反器 13控制其输出数据的符号为负,所述选择器 9选择输 入端 1的数据输入有效,所述选择器 10选择输入端 6的数据输入有效,所述输 出端 17输出的运算结果作为第二次运算中选择器 9的数据选择输入,所述输出 端 18输出的运算结果作为第二次运算中选择器 10的数据选择输入; 第二次运 算中输入端 2、 3、 4、 5分别输入 Cr、 W2i、 Ci、 W2r数据, 所述取反器 11、 12、 14控制其输出数据的符号为正, 所述取反器 13控制其输出数据的符号为 负,所述选择器 9选择输出端 17第一次运算中输出的运算结果输入有效,所述 选择器 10选择输出端 18第一次运算中输出的运算结果输入有效; 所述输出端 17输出的第二次运算结果作为 X2的虚部运算结果 X2i,所述输出端 18输出的 第二次运算结果作为 X3的虚部运算结果 X3i。
8. 根据权利要求 3所述的矢量处理器, 当用于实现以下的基 5快速傅里叶蝴蝶运 算的 X2、 X3实部运算时:
XI =A+B+C+D+E
X2= A+B*w 1 +C*w2+D*w3+E*w4
X3 = A+B*conj(wl)+C*conj(w2)+D*conj(w3)+E*conj(w4)
X4= A+B*w3+C*w 1 +D*w4+E*w2
X5 = A+B*conj(w3)+C*conj(wl)+D*conj(w4)+E*conj(w2)
其中, A, B ,C ,D 和 E 都是复数矢量, wl,w2,w3,w4 是旋转因子, X1,X2,X3,X4,X5为基 5快速傅里叶蝴蝶运算输出矢量; 进行实部虚部分解后,
A = Ar + j Ai
B =Br +j Bi
C =Cr +j Ci
D =Dr +j Di
E = Er +j Ei
Wl = Wlr +j Wli
W2 = W2r +j W2i
W3 = W3r +j W3i
W4 = W4r +j W4i
XI =Xlr+jXli X2 = X2r +j X2i
X3 = X3r + j X3i
X4 = X4r +j X4i
X5 = X5r +j X5i
XI、 X2、 X3、 X4、 X5的实部、 虚部运算结果为,
X 1 r = Ar + Br + Cr + Dr + Er
Xli =Ai + Bi + Ci + Di + Ei
X2r = Ar + [Br * Wlr-Bi * Wl i] + [Cr * W2r-Ci * W2i]
+ [Dr * W3r〜Di * W3i]+ [Er * W4r-Ei * W4i]
X3r = Ar + [Br * Wlr+Bi * Wl i] + [Cr * W2r+Ci * W2i]
+ [Dr * W3r+Di * W3i]+ [Er * W4r+Ei * W4i]
X2i = Ai + [Br * Wli+Bi * Wlr] + [Cr * W2i+Ci * W2r]
+ [Dr * W3i+Di * W3r] + [Er * W4i+Ei * W4r]
X3i = Ai + [-Br * Wl i+Bi * Wlr]+ [-Cr * W2i+Ci * W2r]
+ [-Dr * W3i+Di * W3r]+ [-Er * W4i+Ei * W4r]
X4r = Ar + [Br * W3r-Bi * W3i]+ [Cr * Wlr-Ci * Wli]
+ [Dr * W4r-Di * W4i]+ [Er * W2r-Ei * W2i]
X5r = Ar + [Br * W3r+Bi * W3i]+ [Cr * Wlr+Ci * Wl i]
+ [Dr * W4r+Di * W4i]+ [Er * W2r+Ei * W2i]
X4i = Ai + [Br * W3i+Bi * W3r] + [Cr * Wl i+Ci * Wlr]
+ [Dr * W4i+Di * W4r]+ [Er * W2i+Ei * W2r]
X5i = Ai + [-Br * W3i+Bi * W3r] + [-Cr * Wli+Ci * Wlr]
+ [-Dr * W4i+Di * W4r]+ [-Er * W2i+Ei * W2r] ,
其中, 包括四次运算过程; 第一次运算中输入端 1、 2、 3、 4、 5、 6分别输 入 Ar、 Br、 Wlr、 Bi、 Wli, Ar数据, 所述取反器 11、 13、 14控制其输出数据 的符号为正,所述取反器 12控制其输出数据的符号为负,所述选择器 9选择输 入端 1的数据输入有效,所述选择器 10选择输入端 6的数据输入有效,所述输 出端 17输出的运算结果作为第二次运算中选择器 9的数据选择输入,所述输出 端 18输出的运算结果作为第二次运算中选择器 10的数据选择输入; 第二次运 算中输入端 2、 3、 4、 5分别输入 Cr、 W2r、 Ci、 W2i数据, 所述取反器 11、 13、 14控制其输出数据的符号为正, 所述取反器 12控制其输出数据的符号为 负,所述选择器 9选择输出端 17第一次运算中输出的运算结果输入有效,所述 选择器 10选择输出端 18第一次运算中输出的运算结果输入有效, 所述输出端 17输出的运算结果作为第三次运算中选择器 9的数据选择输入,所述输出端 18 输出的运算结果作为第三次运算中选择器 10的数据选择输入;第三次运算中输 入端 2、 3、 4、 5分别输入 Dr、 W3r、 Di、 W3i数据, 所述取反器 11、 13、 14 控制其输出数据的符号为正,所述取反器 12控制其输出数据的符号为负,所述 选择器 9选择输出端 17第二次运算中输出的运算结果输入有效, 所述选择器 10选择输出端 18第二次运算中输出的运算结果输入有效,所述输出端 17输出 的运算结果作为第四次运算中选择器 9的数据选择输入,所述输出端 18输出的 运算结果作为第四次运算中选择器 10的数据选择输入;第四次运算中输入端 2、 3、 4、 5分别输入 Er、 W4r、 Ei、 W4i数据, 所述取反器 11、 13、 14控制其输 出数据的符号为正, 所述取反器 12控制其输出数据的符号为负, 所述选择器 9 选择输出端 17第三次运算中输出的运算结果输入有效, 所述选择器 10选择输 出端 18第三次运算中输出的运算结果输入有效; 所述输出端 17输出的第四次 运算结果作为 X2的实部运算结果 X2r, 所述输出端 18输出的第四次运算结果 作为 X3的实部运算结果 X3r。
9. 根据权利要求 3所述的矢量处理器, 当用于实现以下的基 5快速傅里叶蝴蝶运 算的 X2、 X3虚部运算时:
XI - A+B+C+D+E
X2= A+B*wl+C*w2+D*w3+E*w4
X3 = A+B*conj(wl)+C*conj(w2)+D*conj(w3)+E*conj(w4)
X4= A+B*w3+C*wl+D*w4+E*w2
X5 = A+B*conj(w3)+C*conj(wl)+D*conj(w4)+E*conj(w2)
其中, A, B ,C ,D 和 E 都是复数矢量, wl,w2,w3,w4 是旋转因子, X1,X2,X3,X4,X5为基 5快速傅里叶蝴蝶运算输出矢量; 进行实部虚部分解后,
A = Ar + j Ai
B = Br +j Bi
C = Cr +j Ci
D = Dr +j Di
E = Er +j Ei [J I * !3+i I . * J3-] + [J£ * !8+!£M * ^-] + !V=!SX
[J2AV * !a+ϊΖ * J3] +[Jfr * ]Q+} A * JCt] +
[JI * ! +!IM * J3] * !Η+!£Λ\. * ·>8] + !V-! X
* !a+JZAV *■¾] + [it' . * !a-+J†7 * · 3] +
[!I * D+JIM * J3] * ia+J£ * JQ] +JV = JSX
[ M * !3-->2 * JH] * !d- * +
[!IM * !CHIA *·Ό] * !H-J£ *·!9] + JV = JfrX
[ * !H+! AV * J3-] +[J£ . * * ·>α·] +
Z^A * ! +!ZM * J3_] + [JI * !9+!l * J8-] + !V=!CX
[J^AV * !3+!tM * ¾] + [J£ . * <α+!£ * ·Ό] +
[JZM * * J3] + [JIA * !9+!l *』8] + !V= ! X
[!frM * !3+ * J3] * !0+J£ * ·»。] +
[}ΖΆ * !O+JZ . * ->D] +[!I * !H+J[ * ] + ^V = ^£X
[ /A * !H-J^ . * J3] * !CI— *■>(!] +
* !D-J^ * JDi * !8- J【M * ]+^V = ^ZX
!3 + !a + ! + !8 + !V=!IX
JH + ja + J3 + + JV = JIX
SX X 、O 、ZX MX
!S i + JSX = SX
!£Xf + J£X = £X
Figure imgf000022_0001
IZ
M6..0/M0ZN3/X3d ZS^6C0/S10Z OAV 其中, 包括四次运算过程; 第一次运算中输入端 1、 2、 3、 4、 5、 6分别输 入 Ai、 Br、 Wl i、 Bi、 Wlr、 Ai数据, 所述取反器 11、 12、 14控制其输出数据 的符号为正,所述取反器 13控制其输出数据的符号为负,所述选择器 9选择输 入端 1的数据输入有效,所述选择器 10选择输入端 6的数据输入有效,所述输 出端 17输出的运算结果作为第二次运算中选择器 9的数据选择输入,所述输出 端 18输出的运算结果作为第二次运算中选择器 10的数据选择输入; 第二次运 算中输入端 2、 3、 4、 5分别输入 Cr、 W2i、 Ci、 W2r数据, 所述取反器 11、 12、 14控制其输出数据的符号为正, 所述取反器 13控制其输出数据的符号为 负,所述选择器 9选择输出端 17第一次运算中输出的运算结果输入有效,所述 选择器 10选择输出端 18第一次运算中输出的运算结果输入有效, 所述输出端 17输出的运算结果作为第三次运算中选择器 9的数据选择输入,所述输出端 18 输出的运算结果作为第三次运算中选择器 10的数据选择输入;第三次运算中输 入端 2、 3、 4、 5分别输入 Dr、 W3i、 Di、 W3r数据, 所述取反器 11、 12、 14 控制其输出数据的符号为正,所述取反器 13控制其输出数据的符号为负,所述 选择器 9选择输出端 17第二次运算中输出的运算结果输入有效, 所述选择器 10选择输出端 18第二次运算中输出的运算结果输入有效,所述输出端 17输出 的运算结果作为第四次运算中选择器 9的数据选择输入,所述输出端 18输出的 运算结果作为第四次运算中选择器 10的数据选择输入;第四次运算中输入端 2、 3、 4、 5分别输入 Er、 W4i、 Ei、 W4r数据, 所述取反器 11、 12、 14控制其输 出数据的符号为正, 所述取反器 13控制其输出数据的符号为负, 所述选择器 9 选择输出端 17第三次运算中输出的运算结果输入有效, 所述选择器 10选择输 出端 18第三次运算中输出的运算结果输入有效; 所述输出端 17输出的第四次 运算结果作为 X2的虚部运算结果 X2i, 所述输出端 18输出的第四次运算结果 作为 X3的虚部运算结果 X3i。
10. 根据权利要求 3所述的矢量处理器, 当用于实现以下的基 5快速傅里叶蝴蝶运 算的 X4、 X5实部运算时 -
XI = A+B+C+D+E
X2= A+B *w 1 +C*w2+D*w3+E*w4
X3 = A+B*conj(wl)+C*conj(w2)+D*conj(w3)+E*conj(w4)
X4= A+B*w3+C*wl+D* 4+E*w2
X5 = A+B*conj(w3)+C*conj(wl)+D*conj(w4)+E*conj(w2) 其中, A, B ,C ,D 和 E 都是复数矢量, wl,w2,w3,w4 是旋转因子, X1,X2,X3,X4,X5为基 5快速傅里叶蝴蝶运算输出矢量; 进行实部虚部分解后,
A = Ar + j Ai
B = Br +j Bi
C =Cr +jCi
D =Dr +j Di
E =Er +j Ei
W1 = Wlr +j Wli
W2 = W2r +j W2i
W3 = W3r +jW3i
W4 = W4r +j W4i
XI: -Xlr + jXli
X2- = X2r+jX2i
X3- = X3r+jX3i
X4 = X4r+jX4i
X5: = X5r+j 5i
XI、 X2、 X3、 X4、 X5的实部、 虚部运算结果为,
X 1 r = Ar + Br + Cr + Dr + Er
Xli-Ai + Bi + Ci + Di + Ei
X2r = Ar + [Br * Wlr-Bi * Wli]+ [Cr * W2r-Ci * W2i]
+ [Dr * W3r-Di * W3i]+ [Er * W4r-Ei * W4i]
X3r = Ar+ [Br* Wlr+Bi * Wli] + [Cr * W2r+Ci * W2i]
+ [Dr * W3r+Di * W3i]+ [Er * W4r+Ei * W4i]
X2i =Ai + [Br * Wli+Bi * Wlr] + [Cr * W2i+Ci * W2r]
+ [Dr * W3i+Di * W3r]+ [Er * W4i+Ei * W4r]
X3i = Ai + [-Br * Wli+Bi * Wlr] + [-Cr * W2i+Ci * W2r]
+ [-Dr * W3i+Di * W3r] + [-Er * W4i+Ei * W4r]
X4r = Ar + [Br * W3r-Bi * W3i]+ [Cr * Wlr-Ci * Wli]
+ [Dr * W4r-Di * W4i]+ [Er * W2r-Ei * W2i] X5r = Ar + [Br * W3r+Bi * W3i]+ [Cr * Wlr+Ci * Wli]
+ [Dr * W4r+Di * W4i]+ [Er * W2r+Ei * W2i]
X4i = Ai + [Br * W3i+Bi * W3r] + [Cr * Wl i+Ci * Wlr]
+ [Dr * W4i+Di * W4r]+ [Er * W2i+Ei * W2r]
X5i = Ai + [-Br * W3i+Bi * W3r] + [-Cr * Wli+Ci * Wlr] + [-Dr * W4i+Di * W4r] + [-Er * W2i+Ei * W2r] ,
其中, 包括四次运算过程; 第一次运算中输入端 1、 2、 3、 4、 5、 6分别输 入 Ar、 Br、 W3r、 Bi、 W3i、 Ar数据, 所述取反器 11、 13、 14控制其输出数据 的符号为正,所述取反器 12控制其输出数据的符号为负,所述选择器 9选择输 入端 1的数据输入有效,所述选择器 10选择输入端 6的数据输入有效,所述输 出端 17输出的运算结果作为第二次运算中选择器 9的数据选择输入,所述输出 端 18输出的运算结果作为第二次运算中选择器 10的数据选择输入; 第二次运 算中输入端 2、 3、 4、 5分别输入 Cr、 Wlr, Ci、 Wli数据, 所述取反器 11、 13、 14控制其输出数据的符号为正, 所述取反器 12控制其输出数据的符号为 负,所述选择器 9选择输出端 17第一次运算中输出的运算结果输入有效,所述 选择器 10选择输出端 18第一次运算中输出的运算结果输入有效, 所述输出端 17输出的运算结果作为第三次运算中选择器 9的数据选择输入,所述输出端 18 输出的运算结果作为第三次运算中选择器 10的数据选择输入;第三次运算中输 入端 2、 3、 4、 5分别输入 Dr、 W4r、 Di、 W4i数据, 所述取反器 11、 13、 14 控制其输出数据的符号为正,所述取反器 12控制其输出数据的符号为负,所述 选择器 9选择输出端 17第二次运算中输出的运算结果输入有效, 所述选择器 10选择输出端 18第二次运算中输出的运算结果输入有效,所述输出端 17输出 的运算结果作为第四次运算中选择器 9的数据选择输入,所述输出端 18输出的 运算结果作为第四次运算中选择器 10的数据选择输入;第四次运算中输入端 2、 3、 4、 5分别输入 Er、 W2r、 Ei、 W2i数据, 所述取反器 11、 13、 14控制其输 出数据的符号为正, 所述取反器 12控制其输出数据的符号为负, 所述选择器 9 选择输出端 17第三次运算中输出的运算结果输入有效, 所述选择器 10选择输 出端 18第三次运算中输出的运算结果输入有效; 所述输出端 17输出的第四次 运算结果作为 X4的实部运算结果 X4r, 所述输出端 18输出的第四次运算结果 作为 X5的实部运算结果 X5r。
11. 根据权利要求 3或 8或 9或 10所述的矢量处理器,当用于实现以下的基 5快速 傅里叶蝴蝶运算的 X4、 X5虚部运算时: XI =A+B+C+D+E
X2= A+B*wl+C*w2+D*w3+E*w4
X3 = A+B*conj(wl)+C*conj(w2)+D*conj(w3)+E*conj(w4)
X4= A+B*w3+C*wl+D*w4+E*w2
X5 = A+B*conj(w3)+C*conj(wl)+D*conj(w4)+E*conj(w2)
其中, A, B ,C ,D 和 E 都是复数矢量, wl,W2,w3,w4 是旋转因子, X1,X2,X3,X4,X5为基 5快速傅里叶蝴蝶运算输出矢量; 进行实部虚部分解后,
A = Ar +j Ai
B =Br +j Bi
C =Cr +j Ci
D =Dr +j Di
E =Er +j Ei
W1 = Wlr +j Wli
W2 = W2r +j W2i
W3 = W3r +j W3i
W4 = W4r +j W4i
XI = = Xlr+jXli
X2 = = X2r + jX2i
X3 = = X3r+jX3i
X4: = X4r+jX4i
X5 = = X5r+j X5i
XI、 X2、 X3、 X4、 X5的实部、 虚部运算结果为,
Xlr = Ar + Br + Cr + Dr + Er
Xli=Ai + Bi + Ci + Di + Ei
X2r = Ar + [Br * Wlr-Bi * Wli] + [Cr * W2r-Ci * W2i]
+ [Dr * W3r-Di * W3i]+ [Er * W4r-Ei * W4i]
X3r = Ar + [Br * Wlr+Bi * Wli]+ [Cr * W2r+Ci * W2i]
+ [Dr * W3r+Di * W3i]+ [Er * W4r+Ei * W4i]
X2i = Ai + [Br * Wli+Bi * Wlr] + [Cr * W2i+Ci * W2r] + [Dr * W3i+Di * W3r] + [Er * W4i+Ei * W4r]
X3i = Ai + [-Br * Wl i+Bi * Wlr]+ [-Cr * W2i+Ci * W2r]
+ [-Dr * W3i+Di * W3r]+ [-Er * W4i+Ei * W4r]
X4r = Ar + [Br * W3r-Bi * W3i]+ [Cr * Wlr-Ci * Wli]
+ [Dr * W4r-Di * W4i]+ [Er * W2r-Ei * W2i]
X5r = Ar + [Br * W3r+Bi * W3i]+ [Cr * Wlr+Ci * Wli]
+ [Dr * W4r+Di * W4i]+ [Er * W2r+Ei * W2i]
X4i = Ai + [Br * W3i+Bi * W3r] + [Cr * Wli+Ci * Wlr]
+ [Dr * W4i+Di * W4r]+ [Er * W2i+Ei * W2r]
X5i = Ai + [-Br * W3i+Bi * W3r] + [-Cr * Wli+Ci * Wlr]
+ [-Dr * W4i+Di * W4r] + [-Er * W2i+Ei * W2r] ,
其中, 包括四次运算过程; 第一次运算中输入端 1、 2、 3、 4、 5、 6分别输 入 Ai、 Br、 W3i、 Bi、 W3r Ai数据, 所述取反器 11、
12、 14控制其输出数据 的符号为正,所述取反器 13控制其输出数据的符号为负,所述选择器 9选择输 入端 1的数据输入有效,所述选择器 10选择输入端 6的数据输入有效,所述输 出端 17输出的运算结果作为第二次运算中选择器 9的数据选择输入,所述输出 端 18输出的运算结果作为第二次运算中选择器 10的数据选择输入; 第二次运 算中输入端 2、 3、 4、 5分别输入 Cr、 Wli, Ci、 Wlr数据, 所述取反器 11、 12、 14控制其输出数据的符号为正, 所述取反器 13控制其输出数据的符号为 负,所述选择器 9选择输出端 17第一次运算中输出的运算结果输入有效,所述 选择器 10选择输出端 18第一次运算中输出的运算结果输入有效, 所述输出端 17输出的运算结果作为第三次运算中选择器 9的数据选择输入,所述输出端 18 输出的运算结果作为第三次运算中选择器 10的数据选择输入;第三次运算中输 入端 2、 3、 4、 5分别输入 Dr、 W4i、 Di、 W4r数据, 所述取反器 11、 12、 14 控制其输出数据的符号为正,所述取反器 13控制其输出数据的符号为负,所述 选择器 9选择输出端 17第二次运算中输出的运算结果输入有效, 所述选择器 10选择输出端 18第二次运算中输出的运算结果输入有效,所述输出端 17输出 的运算结果作为第四次运算中选择器 9的数据选择输入,所述输出端 18输出的 运算结果作为第四次运算中选择器 10的数据选择输入;第四次运算中输入端 2、 3、 4、 5分别输入 Er、 W2i、 Ei、 W2r数据, 所述取反器 11、 12、 14控制其输 出数据的符号为正, 所述取反器 13控制其输出数据的符号为负, 所述选择器 9 选择输出端 17第三次运算中输出的运算结果输入有效, 所述选择器 10选择输 出端 18第三次运算中输出的运算结果输入有效; 所述输出端 17输出的第四次 运算结果作为 X4的虚部运算结果 X4i, 所述输出端 18输出的第四次运算结果 作为 X5的虚部运算结果 X5i。
PCT/CN2014/077914 2013-09-22 2014-05-20 一种矢量运算核以及矢量处理器 WO2015039452A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP14846444.9A EP3048538B1 (en) 2013-09-22 2014-05-20 Vector operation core and vector processor
US15/023,617 US9910671B2 (en) 2013-09-22 2014-05-20 Vector operation core and vector processor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310433489.7A CN104462016B (zh) 2013-09-22 2013-09-22 一种矢量运算核以及矢量处理器
CN201310433489.7 2013-09-22

Publications (1)

Publication Number Publication Date
WO2015039452A1 true WO2015039452A1 (zh) 2015-03-26

Family

ID=52688161

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/077914 WO2015039452A1 (zh) 2013-09-22 2014-05-20 一种矢量运算核以及矢量处理器

Country Status (4)

Country Link
US (1) US9910671B2 (zh)
EP (1) EP3048538B1 (zh)
CN (1) CN104462016B (zh)
WO (1) WO2015039452A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462016B (zh) * 2013-09-22 2018-06-05 南京中兴软件有限责任公司 一种矢量运算核以及矢量处理器
JP2018156266A (ja) * 2017-03-16 2018-10-04 富士通株式会社 演算器および演算器の制御方法
CN107544942B (zh) * 2017-07-13 2020-10-02 天津大学 一种快速傅里叶变换的vlsi设计方法
US10795677B2 (en) 2017-09-29 2020-10-06 Intel Corporation Systems, apparatuses, and methods for multiplication, negation, and accumulation of vector packed signed values
US10514924B2 (en) 2017-09-29 2019-12-24 Intel Corporation Apparatus and method for performing dual signed and unsigned multiplication of packed data elements
US11256504B2 (en) 2017-09-29 2022-02-22 Intel Corporation Apparatus and method for complex by complex conjugate multiplication
US10795676B2 (en) * 2017-09-29 2020-10-06 Intel Corporation Apparatus and method for multiplication and accumulation of complex and real packed data elements
US10534838B2 (en) 2017-09-29 2020-01-14 Intel Corporation Bit matrix multiplication
US11243765B2 (en) 2017-09-29 2022-02-08 Intel Corporation Apparatus and method for scaling pre-scaled results of complex multiply-accumulate operations on packed real and imaginary data elements
US10802826B2 (en) 2017-09-29 2020-10-13 Intel Corporation Apparatus and method for performing dual signed and unsigned multiplication of packed data elements
US10552154B2 (en) 2017-09-29 2020-02-04 Intel Corporation Apparatus and method for multiplication and accumulation of complex and real packed data elements
US11074073B2 (en) 2017-09-29 2021-07-27 Intel Corporation Apparatus and method for multiply, add/subtract, and accumulate of packed data elements
US10664277B2 (en) 2017-09-29 2020-05-26 Intel Corporation Systems, apparatuses and methods for dual complex by complex conjugate multiply of signed words
CN115712505B (zh) * 2022-11-25 2023-06-30 湖南胜云光电科技有限公司 一种寄存器中分配电信号的数据处理系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201993753U (zh) * 2011-01-19 2011-09-28 东南大学 一种应用于fft/ifft的基4蝶形单元电路
CN102760117A (zh) * 2011-04-28 2012-10-31 中兴通讯股份有限公司 一种实现矢量运算的方法和系统
CN103631759A (zh) * 2012-08-22 2014-03-12 中兴通讯股份有限公司 一种实现快速傅立叶变换/离散傅立叶变换的装置及方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4689762A (en) * 1984-09-10 1987-08-25 Sanders Associates, Inc. Dynamically configurable fast Fourier transform butterfly circuit
US5941940A (en) * 1997-06-30 1999-08-24 Lucent Technologies Inc. Digital signal processor architecture optimized for performing fast Fourier Transforms
JP2003016051A (ja) * 2001-06-29 2003-01-17 Nec Corp 複素ベクトル演算プロセッサ
AU2003243046A1 (en) * 2002-06-27 2004-01-19 Daewoo Educational Foundation. Modulation apparatus using mixed-radix fast fourier transform
KR100492091B1 (ko) * 2002-12-10 2005-06-01 삼성전자주식회사 프로그래머블 프로세서에서의 고속 푸리에 변환 연산회로및 연산방법
US8266196B2 (en) * 2005-03-11 2012-09-11 Qualcomm Incorporated Fast Fourier transform twiddle multiplication
ATE443896T1 (de) * 2007-06-28 2009-10-15 Ericsson Telefon Ab L M Verfahren und vorrichtung zur transformationsberechnung
KR100989797B1 (ko) * 2008-06-09 2010-10-29 (주)에프씨아이 Fft/ifft 연산코어
JP4995987B2 (ja) * 2009-07-31 2012-08-08 株式会社東芝 信号受信装置および通信システム
US8194532B1 (en) * 2010-01-25 2012-06-05 Xilinx, Inc. Mixed radix discrete fourier transform
CN104462016B (zh) * 2013-09-22 2018-06-05 南京中兴软件有限责任公司 一种矢量运算核以及矢量处理器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201993753U (zh) * 2011-01-19 2011-09-28 东南大学 一种应用于fft/ifft的基4蝶形单元电路
CN102760117A (zh) * 2011-04-28 2012-10-31 中兴通讯股份有限公司 一种实现矢量运算的方法和系统
CN103631759A (zh) * 2012-08-22 2014-03-12 中兴通讯股份有限公司 一种实现快速傅立叶变换/离散傅立叶变换的装置及方法

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
US20160210146A1 (en) 2016-07-21
EP3048538B1 (en) 2022-10-19
CN104462016A (zh) 2015-03-25
EP3048538A4 (en) 2017-04-05
US9910671B2 (en) 2018-03-06
CN104462016B (zh) 2018-06-05
EP3048538A1 (en) 2016-07-27

Similar Documents

Publication Publication Date Title
WO2015039452A1 (zh) 一种矢量运算核以及矢量处理器
US9684509B2 (en) Vector processing engines (VPEs) employing merging circuitry in data flow paths between execution units and vector data memory to provide in-flight merging of output vector data stored to vector data memory, and related vector processing instructions, systems, and methods
US9792118B2 (en) Vector processing engines (VPEs) employing a tapped-delay line(s) for providing precision filter vector processing operations with reduced sample re-fetching and power consumption, and related vector processor systems and methods
US20150143085A1 (en) VECTOR PROCESSING ENGINES (VPEs) EMPLOYING REORDERING CIRCUITRY IN DATA FLOW PATHS BETWEEN EXECUTION UNITS AND VECTOR DATA MEMORY TO PROVIDE IN-FLIGHT REORDERING OF OUTPUT VECTOR DATA STORED TO VECTOR DATA MEMORY, AND RELATED VECTOR PROCESSOR SYSTEMS AND METHODS
US20150143076A1 (en) VECTOR PROCESSING ENGINES (VPEs) EMPLOYING DESPREADING CIRCUITRY IN DATA FLOW PATHS BETWEEN EXECUTION UNITS AND VECTOR DATA MEMORY TO PROVIDE IN-FLIGHT DESPREADING OF SPREAD-SPECTRUM SEQUENCES, AND RELATED VECTOR PROCESSING INSTRUCTIONS, SYSTEMS, AND METHODS
US20150143079A1 (en) VECTOR PROCESSING ENGINES (VPEs) EMPLOYING TAPPED-DELAY LINE(S) FOR PROVIDING PRECISION CORRELATION / COVARIANCE VECTOR PROCESSING OPERATIONS WITH REDUCED SAMPLE RE-FETCHING AND POWER CONSUMPTION, AND RELATED VECTOR PROCESSOR SYSTEMS AND METHODS
CN112019471A (zh) 一种基于多相结构的削峰方法、装置及计算机存储介质
CN109992405A (zh) 一种处理数据报文的方法和网卡
WO2020173067A1 (zh) 适用于柔性直流的无源阻抗适配器参数设计方法及装置
US20230032873A1 (en) Battery and terminal device
US20220320603A1 (en) Battery assembly for terminal device, and terminal device having same
CN105391468A (zh) 一种载波聚合功能的控制方法及装置
CN209151142U (zh) 电路结构、电路板和超算设备
CN110263308A (zh) 电子签约方法、装置、计算机可读存储介质及服务器
WO2016169102A1 (zh) 一种多路数据连接管理方法、系统及移动终端
CN110018851A (zh) 数据处理方法、相关设备及计算机可读介质
CN109474268A (zh) 电路结构、电路板和超算设备
EP2696294A1 (en) Method and device of supporting arbitrary replacement among multiple data units
CN203800155U (zh) 低互调同频合路器
CN105490702A (zh) 一种载波聚合功能的控制方法及装置
CN112187666B (zh) 数据交换模块和数据交换系统
WO2016204359A1 (ko) 셀룰러 네트워크에서 다중 d2d 그룹 통신을 위한 간섭탐지를 활용한 자원공유 방법 및 장치
CN109548003A (zh) VoLTE开关状态的配置方法、装置和移动终端
EP2687980A1 (en) Device and method for implementing address buffer management of processor
CN218731676U (zh) 电流过载保护断电装置和电池

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14846444

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15023617

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2014846444

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014846444

Country of ref document: EP