Exophase
Nothing good will ever come of Exophase.
Na-Noo said:I always wonder about this. Yea the dsp allows us to offload the video decoding, so may get better battery life.
But how big a deal is that if the cpu can do the decoding. May get slightly less battery life but may not be hugely less, do we have any ballpark figures?
So better cpu may give, same level of decoding as dsp or maybe even better....
If your watching something you probably wont need to be doing anything else on the cpu, so it's not like your missing out all that much not having a dsp.
Although the DSP is clocked lower it's a lot better at some applications than the CPU is. It's a very computationally wide device that can stream and operate on a lot of data per clock cycle. It also has much more deterministic timing with respect to things like branches, and has a non-interlocking structure which means that well-scheduled code can be very fast, while on the Cortex-A8 some branch mispredictions will be impossible to avoid and will cause over a dozen cycles stalling. Cortex-A8 has NEON which is also pretty wide (not as wide as the DSP), but is not nearly as flexible. On the other hand, NEON can do FPU operations which the DSP can't.
The best scenario is if both the CPU and DSP are employed. For almost any task that can be well balanced across multiple threads the DSP can be used to significantly improve performance. But I think that it won't be popular to program for the DSP because it'll require a separate toolchain and it looks like it's going to be pretty cumbersome getting code loaded on it then communicating between the two. It's also going to require Linux kernel support which as far as I'm aware isn't in the current Pandora kernels (but has been on Beagleboard ones for over a year). To really make good use of the DSP code is going to have to be at least tweaked for it, with at the worst extreme intrinsics and assembly language employed. C64x is quite a bit harder to write raw assembly for than most CPUs, because of the lack of interlocks and several variable length pipelines.
Last edited by a moderator: