all the above are pretty much correct, however it gets tricky when you come up against the arm 7 and arm 9
arm 1 to 7 is a family of processors/instruction sets
arm 9 to 11 are implmentations of the above
arm 11 is capable of SMP (multi cpu up to 666Mhz) whereas arm 7 is aimed at you typical mp3 player and tops out at about 100Mhz (aprox, some vendors ship faster thatn that) arm 9 sits in the middle
xscale is a funny beast and a hated one in the market, it has the best performance and the lowest performance to watt ratio. the standard arm chips are nothing compared to it . this is due to intel trying out the 90nm process and low leakage transistors on the Xscales before it makes its way to the pentium series
anyway keeping this short, xscale should run arm 4 and arm 5 binaries that do not use the jazzelie or enhanced dsp instructions (intel uses iwmmxt to do that), where as iwmmxt will run the above AND allow you to use iwmmxt binaries
iwmmxt = integer SSE and MMX roled into one with some extra instructions, think of a usefull mmx on steriods and you will be close
and no there is no floating point processor for xscales by defualt, intel wont make one (i have asked) and for the 3rd party ones linux dosent support them , convert your code to integer instead