|
MIPS, ARM, and SH3 are each a different RISC architecture used for embedded devices. By different architecture, that means they take different instructions (and have different assembly code). A lot of other things may be different about them as well. However they have a lot of similarities in that they are all RISC (reduced instruction set) and probably have a relatively small amount of I&D cache and probably no L2. They also all would have low power consumption.
A few years ago PDA's came out with processors of all kinds. The phillips Nino had a MIPS procsesor made by them, others had a SH3 processor made by Hitachi, and then there was the ARM processor made by Digital and then Intel.
MIPS, ARM, and SH3 are more of an 'architecture', they don't describe a particular chip. For instance lots of vendors make MIPS chips, and lots make ARM chips (the Intel® XScale is a chip made for the ARM architecture, but TI make their OMAP chips which are also ARM architecture chips).
Right now, in the pocketPC world, everything is ARM it seems. Its better, because you don't have to have binaries for each kind of CPU.
The sucky part of it is that each ARM chip might have individual characteristics that make it 'better'.. Much like an x86 architecture chip made by Intel would have MMX or SSE2, and an x86 chip made by AMD would have 3dNOW! or Their new 64-bit instructions, ARM chips have some extra add-on parts. Since they are ARM chips though, they have a core set of operations that MUST work the same. When they say 'armv4' or 'armv5' they are referring to which set of instructions the chip supports.
Right now Microsoft doesn't want to customize software for any particular chip, so they just make their code work on 'any' ArmV4 processor. That sucks for chips like the XScale which have all sorts of added features which could make a PDA faster, such as ARMv5 instructions (preload for example) as well as multiply accumulator functionality which would aid in sound mixing and perhaps MP3 decoding.
It makes sense that Microsoft doesn't want to tie their PocketPC OS to a single ARM chip, but it would be nice if it included support for each chip that was on the market. They do it for Windows XP (support both AMD and P4 optimizations) so why not for pocketPC?
Anyways, the long and the short of it is that MIPS, ARM, and SH3 executables are totally non-compatible.. If you tried to run one on the other, the processor would just see gobbledy gook and immediately get an exception. More likely the OS would say 'This isn't an executable file' first.
|