
www.Usenet.com
| <-- __Chronological__ --> | <-- __Thread__ --> |
On 20 Sep 2003 10:02:51 -0700, Brian K. Michalk wrote:
> I have been unsuccessfully looking for a simple 64 bit MAC device.
> I need:
> 1) this DSP or micro to be on a PC104 card
> 2) Linux support (or enough docs to hack)
>
> My algorithm is very simple:
> int x[4000]; // an array of 32 bit integers
> int xt; // 32 bit integer
> long sum=0; // a 64 bit integer
> int i;
>
> for (i=0; i<4000; i++) {
> xt = x[i]; // in assembler this would be mem->register
> sum = sum + xt; // 64bit accumulator plus 32bit register to 64bit
> accumulator
> }
>
> Now I know technically a MAC op might want the following:
> sum = sum*1 + xt;
>
> Is there anything easy and cheap out there that will do this? I
> thought MMX commands would do this, but I think the MMX ALU is
> strictly 32 bit operands.
If you're not actually doing a multiply, then just about any
32-bit processor will do that job. Just follow the first add
(with the low word of the sum) with an add-with-carry of zero to
the high word. Processors like MIPS, which don't have carry
flags can do essentially the same thing with comparisons.
In other words, I don't think that you've explained enough
about your problem to substantiate the need for a hardware 64bit
adder or MAC unit. If you actually do need such a thing,
anything based on the ARM9e core can do it for you. I'm sure
that there are others.
--
Andrew
| <-- __Chronological__ --> | <-- __Thread__ --> |