This site is no longer active and is available for archival purposes only. Registration and login is disabled.

FPU in StrongARM

FPU in StrongARM

Postby Christian Amor Kvalheim » Jan 28, 2001 @ 8:33am

Neither the MIPS or StrongARM core has a FPU core. The decision to exclude the FPU core was made to save space on the Chip Die (reducing cost of production) and because the two chips are targeted for the embedded market, not the desktop one. That means that any program using floating point math will get a HUGE performance penalty, given that the FPU math core needs to be emulated in software.<br><br>You basically need to treat the StrongARM processor as a Intel 386 without the floating point core (you needed a 387 for that).. Fixed Integer Math is therefore the only viable solution to increase performance in any 3D application on the Pocket PC's. I do not know enough about the new ARM core being developed by Intel, but lets hope they integrate a FPU core..<br><br>Just now, I think that they will be able to port Quake and even get decent performance. A lot of the time is spent in the transformation of matrixes (rotation, lighting).. The display drawing should not be a major problem, considering that you are only pushing 320*240 pixels. Hopefully they can use 1 byte pr. pixel. Using 16 bit (12 bit) is pretty wasteful because of the extra overhead required in the drawing. 256 colors should be suficient for Quake..
Christian Amor Kvalheim

Re: FPU in StrongARM

Postby 999 » Jan 28, 2001 @ 2:22pm

This is some excellent info.<br><br>Last I read in Dan's posts, he was working on this very solution with his code.<br><br>It's been a couple of days now, I hope everything is still going smoothly. :)<br><br>
pm Member
Posts: 1227
Joined: Jan 24, 2001 @ 11:48pm

Re: FPU in StrongARM

Postby Moose or Chuck » Jan 28, 2001 @ 4:47pm

I wish someone would recommend a nice PocketPC Programming book or Website with tutorials.
Moose or Chuck

Re: FPU in StrongARM

Postby Dan East » Jan 28, 2001 @ 10:27pm

I'm well on my way to finishing modifying all of the rendering and drawing routines to use fixed point math.  Basically what I am doing is modifying all structs and declarations using float type to use the new fixed point type (there are few doubles, so I'm leaving them be for the moment).  Then I am replacing all operators affecting the float variables to use macros.  Thus it will be very easy to then modify the implementation of the new fixed point operators.  I didn't want to use functions because of the overhead (for some reason even inline functions aren't always inline with ARM when I examine the asm files).  The new fixed point routines are 16.16.<br><br>Dan East
User avatar
Dan East
Site Admin
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA

Return to Pocket Quake 1 and 2


Forum Description

Discuss Pocket Quake 1 and 2 by Dan East


Dan East, sponge, James S

Forum permissions

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum