[Web] Analysis: x86 Vs PPC | ANN.lu |
Posted on 09-Jul-2003 21:21 GMT by Hagge | 38 comments View flat View list |
It's up, created by Nicholas Blachford, read it all on osnews.
|
|
List of all comments to this articleSorted by date, most recent at bottom |
Comment 1 | Matt Parsons | | 09-Jul-2003 19:50 GMT |
Comment 2 | Don Cox | Registered user | 09-Jul-2003 20:11 GMT |
Comment 3 | takemehomegrandma | Registered user | 09-Jul-2003 20:24 GMT |
Comment 4 | corpse | | 09-Jul-2003 20:41 GMT |
Comment 5 | corpse | | 09-Jul-2003 21:03 GMT |
Comment 6 | Elektro | | 09-Jul-2003 21:26 GMT |
Comment 7 | Christophe Decanini | Registered user | 09-Jul-2003 21:33 GMT |
Comment 8 | Lando | | 09-Jul-2003 22:30 GMT |
Comment 9 | Johan Rönnblom | | 09-Jul-2003 22:54 GMT |
Comment 10 | Anonymous | | 09-Jul-2003 23:00 GMT |
Comment 11 | corpse | | 09-Jul-2003 23:47 GMT |
Comment 12 | corpse | | 09-Jul-2003 23:50 GMT |
Comment 13 | corpse | | 09-Jul-2003 23:58 GMT |
|
Analysis: x86 Vs PPC : Comment 14 of 38 | ANN.lu |
Posted by Chain|Q on 10-Jul-2003 05:18 GMT | In reply to Comment 5 (corpse): Actually, the 80386 added no more general purpose registers, just added two more segment registers (FS, GS) and extended the existing register set to 32bit. It also removed some limits in how can a register be used. Anyway, i still hardly call any of the x86 registers "general purpose". As using 68k terminology, the x86 has 4 'data' registers (EAX-EDX) and four 'address' registers (ESI,EDI,EBP,ESP). The most important difference is, just like on 68k, you can't work with the lower byte of an address register directly. And there are much more limitations in, like you must use some registers for some instructions. For example move.l d0,(a0)+ is simply not exists on x86. There is an instruction which does pretty much the same (STOSD), but it has no operands, so always uses EAX as source, and ES:EDI as target address. Bye-bye general purpose registers... Or you can use MOV [EDI],EAX of course, but in this case you have to increase the address register by hand, doing an ADD EDI,4... These are small but important differences, when you are talking about the effectiveness of an architecture.
Anyway, the most painful part of the x86 architecture is the FPU, since the x86 has no linear address space, but it's some weird kind of a stack. So on x86, you just can't fmove.l (a0),fp3, and then fmul fp2,fp3, because you only can move values to the top of the stack (all values moves down then) and you can only make operations on the value currently at the top of the stack. Of course there is an instruction, which swaps two values in the stack, but this makes overhead simply not exists on architectures using linear FPU register set. Other difference, compared to the 68k for example, that you cannot move values directly between the CPU and the FPU, you have to store the value to the memory first, and then move to the FPU. Needless to say, this makes unnecessary overhead on the cache and memory interface, and in worst case on the whole bus system. So this makes FPU coding on x86 difficult, and also makes the FPU unnecessarily complex, and ineffective. This is why most architectures beats the sh*t out of x86 at the same clock speeds, when floating point operations came into the picture.
And yes, i'm playing the smart-ass, hehe... ;] But hope this makes the picture more clear for ppl. has no or few programming experiences with 32bit x86. (I've some 10 years or so, but i'm not proud for it, hehe.:) |
|
List of all comments to this article (continued) |
|
- User Menu
-
- About ANN archives
- The ANN archives is powered by #AmigaZeux. It was updated daily (news last: 22-Oct-2004; comments last: 18-May-2005).
ANN.lu was created, previously owned and maintained by Christian Kemp, www.ckemp.com.
- Contribute
- Not possible at this time!
- Search ANN archives
- Advanced search
- Hosting
- ANN.lu was hosted by Dreamhost. Sign up through this link, mention "ckemp" as referrer and he will get a 10% commission on any account you purchase.
Please show your appreciation for any past, present and future work on ANN.lu by making a contribution via PayPal.
|