[ELDK] correct/best ELDK architecture for MPC8545E?
Wolfgang Denk
wd at denx.de
Thu Mar 11 10:28:04 CET 2010
Dear Anthony Foiani,
In message <gfx47wg4u.fsf at dworkin.scrye.com> you wrote:
>
> I'm trying to build applications for a board based on the MPC8545E
> "PowerQUICC III" system-on-a-chip. Which ELDK architecture should I
> use?
You should use ppc_85xxDP for optimal performance.
> From what I can figure out, it looks like ppc_85xx will certainly
> work, and I think that ppc_85xxDP might also work (and give me much
> better floating-point performance, which is of some value in my
> current project).
Correct.
> DP means dual precision. Meaning support for the embedded double
> precision floating point instructions.
What we are talking about here is the instruction set of the Signal
Processing Engine (SPE). The MPC8545E has a rev. 2 SPE, which includes
support for double precision, while older 85xx (say, MPC8560) use a
rev. 1 SPE which supports only single precision (use ppc_85xx for
these).
> Looking at the MPC8545E documentation, it claims to have a
> floating-point APU:
>
> http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPC8545E
>
> * MPC8545E imaging processor - [...] The MPC8545E also offers
> double precision floating point, a capability that makes this
> device a high-performance processing solution for a wide range
> of imaging applications.
Of course it makes for nice marketing to be able to say: yes, we do
have FP support. Marketing does not want to put a straight "but we do
not have any real Floating Point Unit with things like FP registers
and the like" on their nice presentations.
> So, is this the "no FPU but SPE" case as described in the FAQ? Or are
> these the same "embedded double precision floating point instructions"
> that Kumar mentions? Or is it something different?
There is no FPU in your processor, just a SPEv2, which can be used for
FP operations, including double precision). But keep in mind that the
SPE does not provide features like FP registers as you would get with
a FPU, so all parameter passing has to be done using general purpose
registers and the stack, which has impact on the performance.
> Thanks in advance for your advice.
You are welcome.
> p.s. Yes, I'm about to experiment and see which works (if either), and
> if the DP variant works, if it's noticably faster. But I'd still
> like to get a firm grasp of the concepts and mechanisms in my
> head.
You should be able to see better double precision FP performance when
using the ppc_85xxDP packages compared to the ppc_85xx.
See also http://www.denx.de/wiki/DULG/ELDKCheckFloatingPointSupport
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Only a fool fights in a burning house.
-- Kank the Klingon, "Day of the Dove", stardate unknown
More information about the eldk
mailing list