[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