[hpsdr] Blackfin 32*32 bits multiply
Chris Down
chris.down at alcor.co.uk
Tue Aug 21 01:07:03 PDT 2007
On 21/08/2007, Chris Donzelot wrote:
> There is some details in the Blackfin Hardware reference.
> The 32bits mpy is microcoded
> The dual MAC operation only allow doubling MAC throughput , you can
> input two 32 bits scalar into both MACs to double throughput.
> One of both MAC have a shifter just after accumulator, and the MAC
> output can be a standard 32 bits register.
> The 32 bits MAC will be slower than 300 MMAC/s @ 600 MHz (4 16x16 MAC
> + shift & 32 bits addition).
>
I am not an expert in the Blackfin, however I have been reading up on it.
Some Blackfin instructions can be performed in parallel thereby reducing the
number of cycles.
If you look at Analog Devices, Engineer to Engineer Note EE-186
(http://www.analog.com/UploadedFiles/Application_Notes/52064380701163EE186.p
df ), you will see that it is possible to do a 32 x 32 multiply with a 31
bit accuracy in 2 instructions cycles.
Also in the same document are examples of 32 bit and 31 bit accurate FIR
implementations with a calculation for the number of cycles. This may help
estimate the relative performance of the Blackfin against a Pentium. I do
not know the equivalent number of cycles for Pentium type processor, perhaps
some else could point to a source for these.
Of course the time taken to carry out a 32 bit multiply is only part of the
story. Perhaps a better solution would be to choose a particular dsp
function or set of functions required and do a direct comparison.
Chris Down
G8MXW
1187683623.0
More information about the Hpsdr
mailing list