Slashdot Mirror


Despite Aging Design, x86 Still in Charge

An anonymous reader writes "The x86 chip architecture is still kicking, almost 30 years after it was first introduced. A News.com article looks into the reasons why we're not likely to see it phased out any time soon, and the history of a well-known instruction set architecture. 'Every time [there is a dramatic new requirement or change in the marketplace], whether it's the invention of the browser or low-cost network computers that were supposed to make PCs go away, the engineers behind x86 find a way to make it adapt to the situation. Is that a problem? Critics say x86 is saddled with the burden of supporting outdated features and software, and that improvements in energy efficiency and software development have been sacrificed to its legacy. And a comedian would say it all depends on what you think about disco.'"

93 of 475 comments (clear)

  1. English is 700 years old by athloi · · Score: 4, Funny

    It should be replaced with Esperanto when we all upgrade to Vista.

    1. Re:English is 700 years old by SighKoPath · · Score: 2, Funny

      when we all upgrade to Vista
      So you mean... never?
    2. Re:English is 700 years old by Yst · · Score: 4, Informative

      Modern English is about 750 years old. English is at least 1550 years old. Tradition is to trace the English presence in Britain to the quasi-historical Anglo-Saxon incursions of the mid-5th century, but migration almost certainly preceded military confrontation. The starting point for the English language (and the Old English era) is the introduction of a continuous Anglic presence to Britain. And that linguistic heritage, termed English, begins at least 1550 years ago.

      --
      Karma: Chameleon (comes and goes)
    3. Re:English is 700 years old by bWareiWare.co.uk · · Score: 4, Funny

      If 8086 was a horse, then x86_64 would have sixteen legs and be capable of mach 3.

    4. Re:English is 700 years old by Captain+Splendid · · Score: 2, Insightful

      What's wrong with Vista?

      I'll tell you exactly what's wrong with Vista. If you, like many averages shmoes around the world, are in the market for a new PC, you're stuck with Vista. Nothing necessarily wrong with that, except that the shmoe will, as usual, get a $500 dell or a $300 Emachines. Why the hell is he going to spend a grand or more on a PC? Of course, these are pitiful little Duron/Celeron boxes with way too little RAM, lots of bloatware for extra sluggishness, and of course lowest-bidder parts.

      So he'll take that PC home, fire it up, and be pretty much instantly pissed. Not only is it slow and sluggish as hell, but this time he has to contend with a lot of new features that he has no clue or experience about. Depending on his patience, he'll plug away for a day or a few, but eventually he'll call me, or someone like me.

      Now, this is the important part: He's used to XP. He's used to an OS, that while sucky, worked well enough for him, was relatively speedy, so why can't he just have that? Why does he have to have something replaced that worked just to put up with this shit?

      So I will perfrom a downgrade, and I'll happily use a pirated copy to do it, too. As far as I'm concerned, he paid for the OS already, I couldn't give a crap about specific licenses for specific machines. This guy just wants to get on with his life, and that is the service I provide.

      Did my first downgrade a couple of days ago, and I expect to be doing several more this year.

      Now I know you'll all be yelling about getting sufficient RAM for his machine, going in and cutting some of the bloat instead of resorting to piracy for the backwards step, but if you're going to say all that, it's obvious you don't do a lot of house calls.

      Oh, and before I get modded into oblivion by the MS fanboys, look into your hearts. You know I'm right.

      --
      Linux, you magnificent bastard, I read the fucking manual!
    5. Re:English is 700 years old by Unicorn+Giggles · · Score: 4, Funny

      Modded down for vista bashing??? You haven't been here long have you, all we have around here are apple and linux fanboys.

    6. Re:English is 700 years old by KowShak · · Score: 5, Interesting

      One of the reasons that x86 is able to perform as well as it does is its code density, that is a measure of how small a number of instructions (and the memory you need to store them) is compared to the work they can do.

      RISC architectures don't give very good code density, so ARM have their ARM Thumb compressed instruction set, thats the way the embedded processors acheive good power efficiency, by cutting down the amount of memory traffic that instruction requests generate.

      You can think of x86 as a way to compress the storage needed to contain the equivilent RISC instructions needed to perform the same work, that means that you make better use of available memory bandwidth and caches etc, your memory is vastly slower than the processor so you've got to make use of its bandwidth efficiently.

    7. Re:English is 700 years old by Mr.+Underbridge · · Score: 2, Insightful

      Why does he have to have something replaced that worked just to put up with this shit?

      Shhh! If everybody sold good stuff with decent specs and security enabled, you'd be out of business and serving me my lunch. (joking, of course).

      Oh, and before I get modded into oblivion by the MS fanboys, look into your hearts. You know I'm right.

      Who are you, Darth Vader? Search your feelings, Bill...

    8. Re:English is 700 years old by joshv · · Score: 3, Interesting

      Sure, it wastes space, but that amount of space is pretty much fixed. It was the same in the days of the P6, as it is in the present day with the Core 2 Duo. As transistor counts have mushroomed, the relatively percentage of space dedicated to x86 decoding has fallen dramatically, to the the point there it's just not a big deal any longer. On modern silicon, the x86 decoding components are not a significant waste of space, power, or performance.

    9. Re:English is 700 years old by soft_guy · · Score: 3, Interesting

      Just try Vista. It's not that expensive. If you can afford a computer, you can afford a copy of Vista. I can afford to buy a large jug of drain cleaner, but it doesn't mean I'm going to drink it with my meals.

      If I could stick with Windows 2000, I would have. Windows upgrades since then have just been eye candy.
      --
      Avoid Missing Ball for High Score
    10. Re:English is 700 years old by nuzak · · Score: 4, Insightful

      > Oh, and before I get modded into oblivion by the MS fanboys,

      For gods sakes, express a point of view and STOP FUCKING WHINING ABOUT MODERATION.

      Seriously. Even if you ARE modded down, it doesn't make you some kind of martyr.

      --
      Done with slashdot, done with nerds, getting a life.
    11. Re:English is 700 years old by bradavon · · Score: 2

      Fair point. There is no business reason for example to go from Windows 2000 to XP. The Windows 9x code base was fundamentally flawed and inefficient, the NT4.0 code base very un-user friendly but Windows 2000 changed all that (2 years before XP). That said if you're buying a new computer and/or OS it makes sense to get Vista (you should have far fewer driver issues). If you're not then no you don't need to upgrade but then you don't need XP either.

    12. Re:English is 700 years old by 0xABADC0DA · · Score: 3, Interesting

      True, but the problem with x86 and ia64 is that the compression scheme is tied to the instruction set. It can't be substantially updated, improved, replaced, etc without recompiling programs. Better would be to separate them...

      Each 4k page of code is compressed with whatever scheme is supported by the processor. The first byte indicates compression algorithm for the block or 0 for no compression (this byte is skipped over like a nop when executing sequentially from one block to the next). The block can't decompress to >4k, so many block will only be say 50% full. This saves on memory bandwidth even more than x86 and it is upgradable. If you want to save memory size too, each page can decompress to >4k and each jmp takes an address that is 50 bits of page address and 14 bits of offset into the decompressed page; we went to 64 bits to address data anyway not code. Then you get bandwitdth and in-core savings.

      The CPU in some cases may have to fetch and decode a whole block just to run a 10-byte functions. So it could be an exceptionally bad idea, but I think compilers can learn to lay things out to minimize this (sounds like RISC...).

    13. Re:English is 700 years old by Corwn+of+Amber · · Score: 2, Interesting

      I have to inform you that you have a very poor opinion of the easiest "natural" (vs. artificial such as Esperanto and Quenya) language on earth. I learned to speak English in six weeks!

      English IS easy. Dead easy. If you find it difficult, come try French sometime : we have seven forms for every verb, and that's the first example only out of our ridiculously complex conjugation system. We have around 120 possible forms for every verb. English speakers get what, three, four? And that's for the irregular verbs, which happen to be ... twenty at most. Irregular means they don't follow the rule, right? Okay, here is the other rule : English monosyllabic verbs use the other vowels, but not the E. Drink, drank, drunk. No E. (Y doesn't count.) When in doubt, use euphony and talk fast enough to cover your possible mistake. (I can't remember the rule, have no English grammar on hand, don't want to search for one online, and never need it anyway, since I write without any fault in English. And French, which is my primary language.)

      If that seems too anecdotal for evidence, let me just point out that I wrote an English grammar and it was 30 handwritten A5 pages. Now go look at the hulky monster in three volumes that's French grammar.

      --
      Making laws based on opinions that stem up from false informations leads to witch hunts.
    14. Re:English is 700 years old by Corwn+of+Amber · · Score: 3, Interesting

      You ARE right.

      I almost did the same to an ex-gf's PC, but I first put an Ubuntu 6.10 CD in it, to see if it was compatible, what there exactly is in the computer, and such. Then I wiped the preloaded Vista and installed Ubuntu "for a try" and after 24hrs she told me she was not going back.

      That's the woman who hated to have to use a computer for chatting and browsing. Since her first computer in 2002, she hasn't learnt one thing about how computers work, or even how to use them!

      I'm not the first to point out that Vista is so confusing that switching to Linux or OSX is easier than learning to use it. But I've seen that it is true.

      --
      Making laws based on opinions that stem up from false informations leads to witch hunts.
    15. Re:English is 700 years old by Unicorn+Giggles · · Score: 3, Funny

      you want to see downmods, watch this: Steve Jobs has sex with donkeys! Bill Gates is AWESOME! Linux wouldn't be so bad if it actually worked, and when it did, could run anything. prepare to see downmods.

    16. Re:English is 700 years old by ady1 · · Score: 2, Funny

      And Core Duos must have two bodies interconnected by thin fiber. The legs should be connected randomly regardless of which part gets the more legs.

      Reminds me of Spore for some reason.

    17. Re:English is 700 years old by bigtangringo · · Score: 2, Funny

      Correction: Modern English is only 25 years old.

      --
      Yes, I am a smart ass; it's better than the alternative.
    18. Re:English is 700 years old by Sockatume · · Score: 2, Interesting

      Ah, well there's been a rash of notebooks advertised here in the UK just now with AMD Sempron 3400s (or something equally disturbing) and 1GB of RAM, which currently mark out the entry level at about £400. Even Dell are doing laptops at about that spec right now. I would've called this reasonable for XP but I suspect it's a stock-clearing exercise now.

      --
      No kidding!!! What do you say at this point?
    19. Re:English is 700 years old by turing_m · · Score: 2, Interesting

      Here is an excellent map of the language groups of Europe.
      http://www.verbix.com/imag/map_indoeuropean.gif

      Wikipedia also has an interesting article on the Germanic languages.
      http://en.wikipedia.org/wiki/Germanic_languages

      --
      If I have seen further it is by stealing the Intellectual Property of giants.
  2. Let me guess... by Anonymous+Brave+Guy · · Score: 4, Insightful

    A News.com article looks into the reasons why we're not likely to see it phased out any time soon

    I'm going to go with:

    1. Installed base.
    2. Installed base.
    3. Installed base.

    Did I miss anything?

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:Let me guess... by Half+a+dent · · Score: 5, Funny

      4. ???
      5. Profit

    2. Re:Let me guess... by morgan_greywolf · · Score: 4, Funny

      Did I miss anything?


      I think you forgot to mention installed base.
    3. Re:Let me guess... by precize · · Score: 5, Funny

      The one time "All your base are belong to us" is actually an on-topic comment

    4. Re:Let me guess... by leuk_he · · Score: 4, Informative

      "There's no reason why they couldn't ditch 60 percent of the transistors on the chip, most of which are for legacy modes."

      I think 50% of the transistors on a modern cpu are cache, you could call that legacy stuff. But the 60% figure makes no sense. For the real, seldom used, legacy instructions, less time is spend on optimizing them in Microcode. And the microcode does not take THAT much space on a cpu.

      Some sources:
      Cpu die picture, est 50% = cache
      P6 takes ~ 40% for compatibility reasons. And as the total grows, the percentage should DECREASE, not INCREASE. If the amount grows it is for performance reasons, not compatibility reasons.

      However when you count the source "XenSource Chief Technology officler" it is not surprising that backwards compatibility gets that much attention. A main reason virtualization exists is to run older platforms so they are compatible.

    5. Re:Let me guess... by ooze · · Score: 2, Insightful

      The x86 dominance is basically a result of two crooked architecure holding each other up: if MS DOS wasn't so crappy that it depends on x86 then the processor could be changed. If x86 wasn't too crappy to properly emulate it, then MS DOS or it's successors could be changed. As it is, we are stuck with both, because noone wants to change both at the same time, and you cannot really change each independently.
      There is something I hope for:
      Vista Tanks mightly, OS X and it's successors become the dominant OS in 10 years. Those are instructions set agnostic, and have been proven to be able to run on multiple platforms with pretty little effort, and does so atm run on 3 different instruction sets: x86, POWER, and the iPhone on ARM. Linux runs everywhere too. And as soon as you have this, there is no reason not to drop the most expensive to develop for and least effcient architecture.
      But as long as people still use MS Operating systems, we will be stuck with x86 and have to pay the price ... energy price.

      --
      Just because I can imagine doing a hippopotamus, doesn't mean I'd like to do it.
  3. The X86 is a pig. by LWATCDR · · Score: 2, Insightful

    The X86 ISA is a mess. It is a total pig. It is short on registers and it was just an unpleasant ISA to use from day one.
    The problem is that it is a bloody fast and cheap pig that runs a ton of software and has billions or trillions of dollars invested in keeping it useful. I am afraid we are stuck with it. At least the X86-64 is a little better.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    1. Re:The X86 is a pig. by Hoi+Polloi · · Score: 2, Interesting

      I don't know squat about processor design and I'm risking abuse but anyway...

      In this day and age of multi-core CPUs, why not have a processor with a X64 ISA core and a core with the desired architecture. Let them run in parallel like 32/64 bit compatible CPUs. Old software would run on the X64 cpu and newer software or updated versions could run on the newer core. Maybe this could provide a crutch for the PC world to modernize over time.

      --
      It is by the juice of the coffee bean that thoughts acquire speed, the teeth acquire stains. The stains become a warning
    2. Re:The X86 is a pig. by phunctor · · Score: 2, Interesting

      Yabbut... the ISA gets turned into a plasma of pico-ops, which then dispatch, somewhat out of order, on the Real ISA (which changes from each "x86" to the next "x86"). It doesn't really matter how fugly the ISA *was* as long as the Real ISA is apt for keeping the ALUs well fed.

      It's convenient to have a consistent interface layer, and the gate count cost of the translation is asymptotically zero. It makes writing good optimizing compilers for "generic x86" all but impossible, but fortunately the final levels of optimization are done in real time in the plasma processor. It's actually a pretty cool approach to squeezing as much parallelism as possible out of non-parallel code, given a transistor budget in the neighborhood of 1e8.

      --
      phunctor
      +/- epsilon on the details...

    3. Re:The X86 is a pig. by fitten · · Score: 5, Insightful

      Already been done, didn't catch on (see Itanium).

      Because there is such a massive amount of installed x86 software base that you'd be throwing away silicon. To be sure that software ran on the most systems possible, software would still be written for x86 and not the 'desired' architecture.

      That being said, OSS tends to have good inroads in that you get all the source so can recompile to whatever architecture you want. However, since x86 is still the huge marketshare, other architectures get less attention. Also, all of the JIT languages (Java, C#, etc.) make transitioning easier IF you can get the frameworks ported to a stable environment on the 'desired' architecture.

      The main problem is that there is *so* much legacy code in binary (EXE) format only (the source code for many of those has been literally lost) that can be directly tracked to money. There are systems that companies continue to use and have so much momentum that changing platforms would require extreme amounts of money to reverse engineer the current system - complete with quirks and oddities, rewrite, and (here is a big part that many people fail to add in) retest and revalidate, that many companies don't want to spend that kind of money to replace something that 'works'.

      There's so much work/time/effort invested in x86 now that it's hard to jump off that train. AMD's x86-64 is a good approach in that you can run all the old stuff and develop on the new at the same time with few performance penalties. However, I don't know if we'll ever be able to shrug off the burden of x86.... at least not for a long time to come. It'd take something truly disruptive to divert from it (and what people are currently invisioning as quantum computing is not that disruption).

    4. Re:The X86 is a pig. by kestasjk · · Score: 3, Interesting

      In this day and age of multi-core CPUs, why not have a processor with a X64 ISA core and a core with the desired architecture. Let them run in parallel like 32/64 bit compatible CPUs.
      Because that uses very valuable die real estate. These days x86 is already converted into micro-ops, which is like another instruction set altogether, which can be more easily re-ordered to be made more efficient.

      Basically x86 isn't a perfect instruction set for today's landscape, but then again UNIX isn't a perfect operating system for today's landscape; that doesn't mean it's not still very good and we shouldn't praise those who have made it so good.
      Some say plan9 has a better design than Linux, some say that PPC has a better design than x86, but apparently design isn't everything.

      Lots of things could be better if we could get everyone to migrate from what they currently use, but would it be worth it in this case? I don't think so, at least not until we reach the limits that better design & hardware can do.
      --
      // MD_Update(&m,buf,j);
    5. Re:The X86 is a pig. by afidel · · Score: 4, Interesting

      Actually the encoding is VERY efficient where it matters most, cache density and limiting the number of calls to main memory. Having complex instructions helps in the areas where real world performance is most hurt and that is why we have a CISC frontend to an efficient RISC backend. This balance was reached even in the "RISC" camp, look at the PPC970 with the more complex instructions that get broken down in uops and dispatched to execution units, very similar in many ways to how modern x86 processors work. The translation layer is less than one percent of die space and probably a much lower percent of power usage on modern x86 chips.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    6. Re:The X86 is a pig. by Waffle+Iron · · Score: 3, Insightful
      So? Function call sequences have to be executed on RISC CPUs as well. On the X86, most of those instructions are encoded in a single byte each, which is a cache-friendly compact representation. Under the hood, that whole sequence is recast into an optimal representation for the particular chip and usually executes in about two clock cycles. Pre-decoded instructions are usually cached in some form, so the x86-to-RISC translation is not incurred all that often anyway.

      The bottom line is: has any other architecture enabled apps run significantly faster over multiple CPU generations at comparable costs? Nope. As other architecture fads have come and gone, but the X86 just absorbs the best ideas from each and keeps marching along.

    7. Re:The X86 is a pig. by Waffle+Iron · · Score: 2, Insightful

      Please tell me how using a prefix byte to bump a 16bit operation up to 32 is efficient encoding?

      It's efficient because you hardly ever need to use a size prefix in normal code. In 16-bit mode, the default is 16-bit operations. In 32-bit mode, the default is 32-bit operations. Prefixes are for unusual cases where you're using the "wrong" size for your current mode.

      Note that a lot of RISC architectures would require multiple 32-bit instructions to do the job that a single x86 prefix byte does because they don't natively support 16-bit operations at all.

    8. Re:The X86 is a pig. by Waffle+Iron · · Score: 4, Insightful

      Like it or not, it's 3 ops (push,mov,pop) per subroutine

      Any processor has to do the exact same work, whether the user-visible encoding is done this way or as an "SP indexed" addressing mode. At the micro-op level, it all gets renamed, reordered, etc. so that the same things are happening. Moreover, that particular sequence is so common, in all probability most X86 CPUs have special logic just to optimally execute that entire sequence faster that the naive RISC equivalent.

    9. Re:The X86 is a pig. by Scott7477 · · Score: 2, Interesting

      I think it would be interesting to know about applications where the source code has been lost. To me, it would seem that running an app where no one has the source code implies zero vendor support. Is anyone willing to give examples of apps they know of where the source has disappeared and the running binary is a mission-critical app (particularly at any Fortune 500 companies)?

      --
      "Lack of technical competence coupled with the arrogance of power, as usual, leads to no good end."
    10. Re:The X86 is a pig. by zolaar · · Score: 2, Funny

      I'm told LucasFilm somehow lost the original source to CashBucket 4.0, 5.0, and 6.0.

      Shame, too, since the more recent versions are chock-a-block of unnecessary "features and fixes" (in particular, a very controversial race condition between the instantiation of blaster objects during app startup).

      --
      One man's constant is another man's variable.
    11. Re:The X86 is a pig. by chthon · · Score: 2, Informative

      I have one example here. It is a small DOS program, called convert.exe, which somehow does transformations in the linking phase of ELF files in a cross platform environment.

      From what I know, VxWorks licensed this from another company, which does not have the sources anymore.

      From time to time this program crashes, due to the output generated by the Tornado compiler. This renders our daily builds unusable for particular targets, which is definitely a show stopper for testing daily our embedded software.

  4. lock in by J.R.+Random · · Score: 4, Insightful

    The x86 instruction set will be retired in the same year as the QWERTY keyboard layout.

    1. Re:lock in by Dogtanian · · Score: 2, Insightful

      The diversification in keyboard layouts is something that shouldn't have happened ever. My home workstation is US (qwerty), my home laptop is BE (azerty) and my work laptop is SF (qwertz). Then why don't you just decide which one you prefer and settle on that? You do realise that the legends printed on the keys have no bearing on the operating system, and that you can choose whichever one suits you.... right?

      Of course, this is much better if you can touch type, but even if you can't, this still seems preferable to your current situation.
      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
  5. Simple! by VincenzoRomano · · Score: 4, Insightful

    Just like the four stroke engine. It's not the best one, it can be largely enhanced and made better, but it's still here.
    And just like the four stroke engine, modern engines just burn gasoline and push car forward. This is where the similarity with the original engines end.

    --
    Maybe Computers will never be as intelligent as Humans.
    For sure they won't ever become so stupid. [VR-1988]
    1. Re:Simple! by Wite_Noiz · · Score: 5, Insightful

      I've heard loads of metaphors about why x86 will be around for years to come, but none of the really hold.
      An engine is black-box - petrol in, kinetic energy out (simply) - whereas the architecture on a processor is not.

      AMD and Intel can make as many additions to x86 as they like, but if they stop supporting the existing instruction set, they'll sell nothing.

      I'm sure Linux would be compiled on to a new architecture overnight, but I doubt MS would move any time soon - and their opinion holds a lot of weight on the desktop.

      RISC ftw!

    2. Re:Simple! by Quasicorps · · Score: 2, Funny

      I think he means one of those newfangled three-stroke engines that are all the rage.

    3. Re:Simple! by smenor · · Score: 5, Insightful

      Am I reading you wrong? Most modern engines *are* 4-stroke engines...

      I think that's the point, actually.

      If we were going to start over and design the best way to extract usable power from gasoline from the ground up, we could probably do better than the 4-stroke, just like we could do better than the x86 ISA, and just like we could do better than LCDs for flat panel displays.

      The problem is that, if you take an intrinsically inferior technology, and spend years upon years optimizing it, it will have such a head start that it is almost impossible for a newer, 'better', technology to compete.

    4. Re:Simple! by Nimey · · Score: 4, Funny

      Slashdot needs a mod tag (-1, Car analogy).

      --
      Hail Eris, full of mischief...

      E pluribus sanguinem
    5. Re:Simple! by 2short · · Score: 2, Interesting

      "It is blindingly obviously true."

      Not to me or car maufacturers. If we started from scratch today could we do better than current engines? I guess maybe. I don't really know. If so, you'd think someone would on some significant scale.

      It's considerably more obvious to me that starting from scratch one could design a more efficient microprocessor instruction set than x86. People have, repeatedly.

      So the engine case seems like a pretty lame way to make any kind of argument about the instruction set case; the analogy is less clear than the question.

      And that's not even getting into the basic failure of the analogy in the first place: People keep adapting x86 for backward-compatibility reasons. These do not apply in the engine case. If you can make a more efficient way of deriving propulsion from gasoline, what's stopping you?

  6. Does it matter? by MBCook · · Score: 4, Interesting

    At this point, does it matter as much? As we move on the future is clearly x86-64 which is MASSIVELY cleaned up compared to x86 and is really rather clean compared to that. Sure at this point we still boot into 8086 mode and have to switch up to x86-64 but that's not that important, it only lasts a short while.

    As we move off of x86 onto -64, are things really still that bad? Memory isn't segmented, you have like 32 different registers, you don't have operands tied to registers (all add instructions must use AX or something like that) as some 16/32 bit instructions were.

    Of course, we should have used a nice clean architecture like 68k from the start, but that wasn't what was in the first IBM.... and we all know how things went from there.

    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    1. Re:Does it matter? by Zo0ok · · Score: 3, Insightful

      And since the 386 consisted of 275000 transistors while modern cpus have more than 200 millions transistors the cost/waste of backwards compability with the 386 is very little.

    2. Re:Does it matter? by lavid · · Score: 2, Insightful

      Because they co-developed the Itanium with Intel. It didn't make sense for them to push their old architecture when they spent a bunch of money to develop a new one for the same market segment. That's why.

      The real problem with the Itanium is that it came out a few years too late and the x86 emulation hardware was designed to be on par with the chips that were going to come out at the scheduled release time.

      --
      If Bush wants to kill the terrorists, he should jump off a cliff.
    3. Re:Does it matter? by hey! · · Score: 2, Informative

      Because superior architecture doesn't automatically mean you can produce a better performing processor at the same price. There are other factors, including amortizing the cost of state of the art fabrication facilities over the number of processors sold. The same can be said for fiendishly clever engineering -- it's not just putting lipstick on a pig, with enough dough you can pay somebody to give the pig a bionic skeleton.

      The bottom line is that x86 had a series of killer applications. First it was Lotus-1-2-3, then it was Windows and Office. This tilted the playing field away from architecture and toward the ISA that had the largest installed base. If the 68K had been the killer app winner out of the gate, the world have been a different place; its architectural advantages gave it a ten year lead on the x86. But a superior architecture doesn't help a user run Lotus. Also, the world would have been different if the killer apps were open source. Had the Internet and Linux had come maybe five years earlier, it is possible that we'd still see other processor ISAs in production today for the low end market.

      But in the end it was investment that tipped the scales in favor of x86. Apple's move away from the x86 to the PPC architecture was ultimately due to the fact that the market for 68K processors didn't support enough investment to keep it competitive. By jettisoning the 68K, they were able to get on a development curve that rose faster with less investment. The same goes for PPC to x86. They just weren't selling enough CPUs to justify the investment in keeping the processor line up to date.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    4. Re:Does it matter? by shani · · Score: 2, Insightful

      Low Slashdot-ID? That whippersnapper? Kids today!

      My experiences with Alphas were universally bad. The Unix they ran was a flaky bitch, and in any given cluster you were guaranteed to have a few of the machine go during a long computation. Then again, they were expensive.

      They were quite zippy though.

  7. If it ain't broke, don't fix it by InsaneProcessor · · Score: 4, Insightful

    Yes, the instruction set is old, but, it does still work. As a consumer, why should I have to re-invest in software that I purchased and does the job, just becuase my hardware failed, or faster hardware becomes available and I upgrade. Apple bit that one some time ago. Last year, I had an investment of $4000.00 in software when Intel came out with a significantly faster part that was dropping in price. Just by upgrading my hardware (cost $800) my invenstment improved significantly. $4800.00 did not justify the upgrade but the low cost of hardware only, did. Also, there was not learning curve involved.

    You don't buy a new car just becuase the tires need replaceing (well some people do, but that is rarely the fiscally responsible thing).

    If it ain't broke, it doesn't need fixing.

    --

    Athiesm is a religion like not collecting stamps is a hobby.
    1. Re:If it ain't broke, don't fix it by richdun · · Score: 2, Funny

      You don't buy a new car just becuase the tires need replaceing (well some people do, but that is rarely the fiscally responsible thing).

      I hate to use a car analogy, but yeah. Cars have changed tremendously over the past 50+ years, but all in all, they're still four tires attached to two axles, with a transmission converting power from the engine to rotational energy in the axles, with a cabin on top of these axles with seats and a single driver's wheel, pedals, and control area. All of those components have seen upgrades, but the "basic architecture" has remained the same. Sure, there might be a better way to do a car, and concept vehicles look nice and all, but if you radically change the car, no matter how great and "better" it is, what kind of market share would Apple and the PowerPC^H^H^H^H those new "better" cars get? People will resist, not because what they have is best or even better, but because it is different, and economically, marginal upgrades in each generation is far cheaper than one giant upgrade during one generation.

  8. Anything 10 times better? by PineHall · · Score: 3, Insightful

    It has been said that people will not change unless something is preceived to be 10 times better. The problem is nothing has been perceived to be that much better, so people stay with what they know.
    Paul

  9. It's hairy to emulate, too by kabdib · · Score: 5, Interesting

    Things would be a lot easier if the darned thing wasn't so bloody complex to emulate. I mean if we were "stuck" with (say) an ARM or even a 68K we'd be able to use virtual machines to dig ourselves out of a similar architectural hole (though with an ARM we'd be unlikely to want to).

    The x86 has so many modes of operation (SMM, real/protected, lots of choices for vectorizing instructions, 16/32/64 bit modes) and special cases that it's a pretty big project to get emulation working correctly (much less fast). You're pretty much stuck with a 10x reduction clock-for-clock on a host. Making an emulated environment secure is hard, too; you don't necessarily need specialized hardware here (e.g., specialized MMU mapping modes), but it helps.

    And now, with transistor speeds bottoming-out, they want to go multicore and make *more* of the things, which is exactly the opposite direction that I want to go in... :-)

    --
    Any sufficiently advanced technology is insufficiently documented.
    1. Re:It's hairy to emulate, too by TheRaven64 · · Score: 2, Informative
      Don't forget two things. The first is that one of the design goals of PowerPC was to be able to emulate x86. For this reason, there are a few things that are a bit ugly in the instruction set, and it feels much less clean than something like SPARC and Alpha.

      When it comes to Rosetta, you should also remember that a lot of the process is not actually being emulated. Every time you call something in the standard library, you are executing native code. There's a small overhead for swapping byte orders of passed arguments, but things like sorting an array, or drawing a bezier path are all handled by native code. The core application logic is still emulated, but you get a huge speed bonus from the native library calls. This is even more noticeable in comparison to something like VirtualPC, since the biggest bottleneck is access to the display or block devices.

      --
      I am TheRaven on Soylent News
  10. This says it all for me: by FredDC · · Score: 3, Insightful

    If a chipmaker declared its chip could run only software written past some date such as 1990 or 1995, you would see a dramatic decrease in cost and power consumption, Crosby said. The problem is that deep inside Windows is code taken from the MS-DOS operating system of the early 1980s, and that code looks for certain instructions when it boots.
     
    Even new software might (and often does) use the so-called old instructions. If you want to completely redesign the hardware you would also have to completely rewrite the software from scratch as you would not be able to rely on previously written code and libraries. This is simply not feasible on a global scale...

    --
    09 f9 11 02 9d 74 e3 5b d8 41 56 c5 63
    1. Re:This says it all for me: by stevey · · Score: 2, Insightful

      That isn't entirely true. Sure code might exist in the wild which uses old instructions, but it wouldn't need to be rewritten - just recompiled with a suitable compiler. (Ignoring people who hand-roll assembly of course!) (Of course whether the source still exists is an entirely separate issue!

      However with all the microcode on board chips these days it should be possible to emulate older instructions, providing Intel can persuade compiler-writers to depreciate certain opcodes the situation should essentially resolve itself in a few years.

  11. 60% of transistors used for legacy modes? by trigeek · · Score: 5, Interesting
    "There's no reason whatsoever why the Intel architecture remains so complex," said XenSource Chief Technology Officer Simon Crosby. "There's no reason why they couldn't ditch 60 percent of the transistors on the chip, most of which are for legacy modes."

    Who is this guy and what is he smoking? Over half of a modern processor is cache. The instruction decoding and address decoding are a small fraction of the remainder. Where does he get the 60% from?

    --
    Sometimes I doubt your committment to SparkleMotion!
    1. Re:60% of transistors used for legacy modes? by TodMinuit · · Score: 4, Funny

      He only used 60% of his brain when writing the article. Sadly, he collected 100% of his pay check.

      (Obl: 43% of people know that all statistics are made up.)

      --
      I wonder if I use bold in my signature, people will notice my posts.
  12. Legacy Support Drives It by WED+Fan · · Score: 4, Interesting

    I know we all bitch about old designs, legacy support for outdated features, but, one of the things that keep people from moving from one OS to another is "existing base of installed software" and "knowledge of exisiting software". Like it or not, the major player is Microsoft. No matter how much a geek says, MS UI's suck, people are comfy with them. If alternative OS's had the same software offerings with the same UI, people would be able to move to them. The same holds true for processors.

    No matter how well a processor performs, if there is no application base for it, no one is going to buy a machine with that processor. In this case, perception is reality. You walk into a software store, you see 16 rows of Windows applications, half a row of Linux, and 5 rows of Apple.

    What processor family runs each of these? Guess who has moved to the dominant processor?

    The only way to build a software base is to build in legacy support. Then start weening users away from the legacy features, get programmers to stop using those features (mainly those building the compilers that developers use), and move towards the more advanced features.

    x86 rules for a reason. Microsoft rules for a reason. The customer is comfortable with them, and their perception is reinforced everytime they go to the store.

    --
    Politics is the art of looking for trouble, finding it everywhere, diagnosing it incorrectly and applying the wrong fix.
  13. Weeellll there's also: by anss123 · · Score: 5, Insightful

    4. Price / performance. A segment the x86 have done well in.
    5. Security. Will my x86 progs be supported in 20 years? The answer: yes.
    6. Availability. Hmm... Intel, I'd like to 1 000 000 CPUs. Intel: Sure thing.
    7. Good will. What should we buy, Intel or PPC. PPC? What's that? Go Intel! Yes boss. (Just look how far Itanium got on Intel's name, alone.)

    :D

    1. Re:Weeellll there's also: by misleb · · Score: 2, Informative

      4. Price / performance. A segment the x86 have done well in.


      Because of installed base

      Security. Will my x86 progs be supported in 20 years? The answer: yes.


      Again, because of installed base. Although as Apple has shown with the PPC -> x86 migration (and also m68k -> ppc) this isn't such a big factor. Major software is constantly being upgraded and old CPUs can always be emulated if necessary. You might say that performance isn't good, but how fast does a 20 year old app have to run?

      Availability. Hmm... Intel, I'd like to 1 000 000 CPUs. Intel: Sure thing.


      Installed base.

      Good will. What should we buy, Intel or PPC. PPC? What's that? Go Intel! Yes boss.


      Tell that to AMD. They seem to be doing pretty well for themselves.

      -matthew
      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
  14. Excuse to Sell you Crap by queenb**ch · · Score: 2

    Actually, I suspect that this has far *more* to do with the money and far *less* to do with the technology. Commodity hardware is available to the home consumer for the first time ever. A quick jaunt out to some of the parts pricing web sites. RAM - PC2-8000 - 18 cents per MB. HDD - SATA II - 2 cents per MB of storage. Motherboards are cheap. Cases are cheap. However, if they start changing the system architecture they can talk all of us into buying new, high priced performance parts.

    2 cents,

    QueenB

    --
    HDGary secures my bank :/
  15. Disco Stu on x86 by andy314159pi · · Score: 2, Funny

    And a comedian would say it all depends on what you think about disco.
    Disco Stu does the x86 boogaloo
  16. 60% by anss123 · · Score: 2, Informative

    From the article:
    "There's no reason whatsoever why the Intel architecture remains so complex," said XenSource Chief Technology Officer Simon Crosby. "There's no reason why they couldn't ditch 60 percent of the transistors on the chip, most of which are for legacy modes."
    (Emphasis mine)

    Ehe, according to the latest in depth articles, the legacy cruft take less than 10% of the chip. A far cry from Crosby's claim of 60 percent, and that from a Chief Technology Officer no less :p

  17. Not Windows or Linux per se _but_... by burnttoy · · Score: 4, Informative

    Boot loaders tend to be 16bit segment model code 8086, at least they contain enough code to get into 32bit mode. The BIOS will be 16bit legacy code, at least some anyway as a x86 PC chip still boots in Real Mode (there is a 386 embedded variant that doesn't). Windows 9x series is _RIDDLED_ with 16 bit code esp the display drivers, although many of these switch to 32bit mode ASAP the entry points are 16 bit code. Any attempt at killing off 16bit code would stop any 9X system running.

    For WinNT and variants (2K, XP) I don't know how much 16bit code is in there. I've written drivers for 2K/XP and could not find a single 16bit style instruction however even NT series for x86 uses segments. FS is used for process & thread info. IIRC even AMD64 long mode implements FS & GS to make OS porting easier.

    Lastly. 16bit code (instruction operating on 16bits of a 32bit register) are trivial in 32bit mode - all you have to do is preceed an instruction with 0x66 and/or 0x67 to switch a 32bit instruction to a 16bit instruction.

    The problem transcends MSDOS and goes to the BIOS and boot sequence itself. Intel tried to address the with EFI but that seems to be slow gaining traction - probably because of backwards compatibility.

    --
    Time flies like an arrow. Fruit flies like a banana.
  18. Being mostly compatible doesn't pay by scgops · · Score: 4, Insightful

    Computer manufacturers have tried making non-compatible machines. Commodore 64, VIC 20, Coleco Adam, Atari ST. They all had their place in time and their niche in the market before fading out.

    Something they all had in common, though, is that they sold better than IBM's mostly-compatible PCjr. I attribute that difference to software and compatibility problems. Because of BIOS differences, a number of programs written for the PC couldn't run on the PCjr. That led to a fragmentation of shelf space at software retailers and confusion among retail customers, and led to customers avoiding the platform in favor of easier-to-understand options.

    I would expect something similar to happen if Intel, AMD, or anyone else started making mostly-compatible x86 processors. It wouldn't sell unless all of the software people are used to running still worked. Sure, someone could take Transmeta's approach and emulate little-used functionality in firmware rather than continuing to implement everything in silicon, but it all pretty much needs to keep working, so why bother?

    Seriously, why would anyone undertake the effort and expense needed to slim-down x86 processors when the potential gains are small and the market risk is pretty huge? No chip manufacturer wants to replace the math-challenged Pentium as the most recent mass-market processor to demonstrably not work right.

    Pundits and nerds can talk all they want about why the x86 architecture should be put out to pasture, but it won't happen until a successor is available that can run Windows, OSX, and virtually all current software titles at acceptable speeds. At that seems pretty unlikely to happen on anything other than yet another generation of x86 chips.

  19. I think I know... by TheVelvetFlamebait · · Score: 5, Funny

    Where does he get the 60% from?
    His ass looks suspiciously spacious...
    --
    You know, there is a difference between trolling and pointing out the flaws in your reasoning. Just saying.
  20. Proprietary software locks us in by astrashe · · Score: 3, Insightful

    If free software ever goes truly mainstream, and the stacks people use are free from top to bottom, lock in goes away in general. Even hardware lock in.

    A couple of years ago, I was shifting some stuff around and I needed to clean off my main desktop machine, an x86 box. I installed the same linux distro on a G4 mac and just copied my home directory over. Everything was exactly the same -- my browser bookmarks and stored passwords, my email, my office docs, etc.

    A lot of people take Apple's jump from PowerPC to x86 as a sign that x86 is unstoppable. But I'd argue that the comparative ease with which the migration took place shows how weak processor lock in is becoming. The shift from PPC to x86 was nothing compared to the jump from MacOS Classic to OS X.

    The real reason x86 won't go away any time soon is that MS has decided that's the only thing it's going to support, and MS powers most of the computers in the world. Windows is closed, so MS's decision on this is final, and impossible to appeal.

  21. Re:Does it matter? Less than it did by RetiredMidn · · Score: 3, Interesting
    Good points all.

    I would add to this that ISA mattered a lot more when I wrote code in assembly language. For a clean (and simple) instruction set architecture, I fondly remember the PDP-11. Later on, the 680x0 offered more powerful addressing modes for less simplicity (and consistency). Compared to both, the x86 was infuriating to work with.

    ISA's still mattered, but less, in my early "C" days when source-level debugging was less robust, or even to understand what the compiler was turning my code into so I could figure out where to optimize.

    Today, it hardly matters at all. Looking at generated code tells me little about how the processor with multiple execution units is going to process it; it is necessary to trust the compiler and its optimization strategy. It matters even less with interpreted or JIT'd languages, where the work eventually performed by the processor is far removed from my code. Knowing what's happening at runtime involves much more important factors than the ISA.

  22. Versatility vs. Lack of Vision by Vexler · · Score: 2, Insightful

    As part of an operating systems course I am currently taking, we watched a video of a presenter from Intel who lectured on the changes associated with the Itanium processor. In his presentation (see the video at http://online.stanford.edu/courses/ee380/040218-ee 380-100.asx), he pointed out that Intel has gone from having one or two major ideas to drive chip design to having fifteen or twenty minor ideas that they can cram in. The thinking is that if they can amass enough of these "little ideas" together, they can probably cobble together enough performance enhancement to justify production and sales of these chips. Part of the issue is that, as the author of this article also admits, there is currently no "big ideas" coming around the bend in terms of truly revolutionary performance increase.

    The problem, though, is that when you introduce many smaller features, you cannot always anticipate how these features will interact with one another. This is why it is counterintuitive to many people that "new and improved" is not always so, and that you actually risk introducing bugs into the design more subtle than you can detect. That, combined with the continuing support for legacy code, means that complexity (and power consumption) goes through the roof with each iteration. While it is a testament of the robustness and versatility of the x86 architecture that it has survived thus far, one could argue that the architecture *had* to survive because we couldn't come up with the next paradigm shift.

    The good news is that there are solutions to this situation. The bad news is that all of the solutions involve massive change in the way the software industry clings to the tried-and-true, or truly revolutionary innovation in chip re-architecture, or billions of dollars, etc. As the article points out, experience with EPIC has demonstrated how NOT to introduce a completely new architecture. There is no easy way out, but there are several possible paths.

  23. Need for 8086 and real mode? by tji · · Score: 2, Informative

    The article claims that Windows still requires the old compatibility modes to boot. Is this true? I could see how Win95-like OS's could because they basically boot on DOS. But, for NT and beyond, wouldn't they be fine with removing those old legacy capabilities?

    The question that leads to is: What is gained by removing the legacy junk? The guy from Xen-Source in the article claimed "There's no reason why they couldn't ditch 60 percent of the transistors on the chip, most of which are for legacy modes." Which seems ridiculous. Maybe he's talking about 60% of the silicon in a certain subsystem of the CPU, because it certainly can't remove 60% of the total transistors.

    If the savings is minimal, and those modes don't effect anything once you've changed to 32 or 64 bit protected mode, then maybe it's a moot point.

    To really shift the Instruction Set, you obviously have to do it in an evolutionary way. Such as, allowing access to the lower level IS (i.e. the instructions that the x86 gets translated into) in a virtual machine environment. So, you could have a more efficient Linux OS running in a VM, and if the benefits of that are substantial, more people might use that mode for the host OS (which could then run x86 VMs for legacy). It's easy to see that being used for Linux and even Mac OS as their portability is already proven, and they began as modern OS's - working only in protected mode.

  24. We lose the X86 when... by Simonetta · · Score: 3, Insightful

    We lose the X86 when another processor comes along that is cheaper, 10x more powerful, and runs all X86 software at the speed that the users consider to be the same as a PC. Until then we keep the X86. Simple as that. Next tech issue, please.

  25. Oh, the irony.. by Mister+Whirly · · Score: 4, Funny

    The irony of being a grammar Nazi by pointing out that the statement "People like you make Nazi's look good." is incorrect. It should be "People like you make Nazis look good." - unless there is some unseen object that the Nazis posses, the apostrophe before the "s" is unnecessary and incorrect. Simply adding a "s" to the end is sufficient to make it plural.

    --
    "But this one goes to 11!"
    1. Re:Oh, the irony.. by Surt · · Score: 2, Funny

      I'm sure he must have meant that it's the Nazi's look that you make good. You know: the brown shirts, red armbands, effeminate breeches. The real mistake is that he should have used well instead of good unless he really believes that looks themselves are good or evil. :-)

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  26. Welcome to the late 90s: ISA doesn't matter (much) by Erich · · Score: 3, Insightful
    Haven't we learned this by now? Why do we keep going over this same stupid premise?

    The Instruction Set of a processor architecture with so many resources available to it doesn't really matter, so long as it isn't utterly and completely braindead. X86 isn't braindead enough to qualify... if you had an intercal instruction set or an One Instruction Set Computer it might.

    You really want to do several things to get performance out of an instruction stream -- register renaming, instruction manipulation (breaking them apart or joining them together or changing them into other instructions), elimination of some bad instruction choices, and a host of other things. You would want to do these things even on a "clean" ISA like Alpha or PPC or MIPS. And if you are doing them, the x86 instruction set suddenly becomes much less of a problem. There are even advantages: the code size on x86 tends to be better than a 32-bits-per-instruction architecture.

    Instruction sets are languages with exact meanings. Which means that you can precisely translate from one instruction set to another. And, as it turns out, you can do it fairly easily and efficiently. Which is why Transmeta did pretty well. Which is why Apple's rosetta and Java JIT compilers work (and Alpha FX32 before that). Which is why AMD and Intel are right there at the top of the performance curve with x86-style instruction sets, because it JUST DOESN'T MATTER THAT MUCH.

    Why didn't Transmeta kick more butt? Because they didn't have the economies of scale that AMD and Intel have. Because they didn't have the design resources that AMD and intel have. Because AMD and Intel had better-tuned processes faster than TSMC or whoever was fabbing Transmeta's chips. THOSE are the most important things, not the instruction set that you have on disk.

    Now a good ISA can help in many ways: SIMD instructions really help to point out data level parallelism. More registers helps a wee bit to prevent unnecessary work done around the stack for correctness. You can get rid of a bit of logic if you can execute without translation. But these things can either be added to x86 (SSE/x86-64) or aren't expensive enough to be worth it on a 100 sq mm, >50W processor. Maybe in an embedded, low-power processor.

    --

    -- Erich

    Slashdot reader since 1997

  27. Idiotic... by evilviper · · Score: 2, Insightful

    This is the same idiotic argument as always. They don't even try to change it up a little bit...

    The architectural limitations of x86 were probably true up through the Pentium1 days. After the introduction of Intel's P6, and AMD's K6, everything changed. At that point, x86 was no longer the clumsy CISC snail it used-to be. At that point, and from then on, the fierce competition between Intel and AMD has pushed x86 ahead of every other architecture. Others like Alpha held on to the pure performance crown for a few years to come, but they did so by embracing much higher power consumption. These days, new x86 CPUs are falling in power consumption, not rising. And AMD's Geode CPUs can give you a good performing x86 CPU for embedded systems, OLPC, and anything else, in under 1W. There's really nothing else that is lower power, which still performs as well...

    These days, x86 is more than competitive with everything else in sheer performance, performance-per-watt figures, and far ahead in performance per dollar. One at a time, nearly all the limitations of the x86 architecture, that were so often paraded out by competitors, have been worked around. It's most other architectures which were crippled, in that their short-sighted design was only really good in one area, and they only became popular because x86 wasn't quite there at the time. Meanwhile, x86 continued to develop, addressing those shortcomings, and the others did not. The only competitors these days are Power and SPARC, and the two highest-profile companies using them have long since come around, and started selling x86 themselves.

    Backwards compatibility is only the smallest of reasons that x86 is still around. How many Linux/BSD users continue to buy x86 systems, even though they would hardly notice an underlying architecture change? How many super-computing clusters are x86-based? It's only the Windows world that needs x86 compatibility, and though that's about 90% of the market, the other 10% use x86 anyhow.

    --
    Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  28. In short:x86 is the result of natural selection... by dpbsmith · · Score: 4, Funny

    ...rather than intelligent design.

  29. Give it more time by MarkByers · · Score: 4, Insightful

    > Now, this is the important part: He's used to XP. He's used to an OS, that while sucky, worked well enough for him, was relatively speedy, so why can't he just have that? Why does he have to have something replaced that worked just to put up with this shit?

    If instead of giving up after a day, he had tried it for a week or a month, he would have found out how great everything is. Then in a few months he would be used to it and if you try to make him downgrade to XP he will cry.

    There are many great features in Vista, but you have to try it for yourself.

    --
    I'll probably be modded down for this...
  30. Marketing service and support by spaceyhackerlady · · Score: 2, Insightful

    Just shows you what good marketing can accomplish with garbage.

    Sometimes it's support and marketing that make all the difference. Way back when, IBM introduced a new computer called System /360. It was crude compared to a lot of its competition, but they knew how to sell them, and they supported them well. IBM went on the rule the mainframe world. Their competition are now footnotes in history books.

    One of IBM's competitors gave us the phrase "Sullen but unrebellious" to describe how much money must be spent looking after customers.

    I play with Linux on UltraSPARC (Sun Ultra 5) and StrongARM (gumstix) but am typing this on an x86 Slackware box. Does this mean I too have sold out? :-)

    ...laura

  31. Re:Does it matter? Less than it did by thethibs · · Score: 4, Interesting

    What's with all this dissing of the X86?

    Like you, I'm an old fart; I wrote assembler code for the PDP-8, PDP/LSI-11 and the 68k. They were ok: easy to learn and use, but I always preferred the X86.

    Sure, it was harder to learn and I never got past having the blue book on my desk when I was coding but, in the end, it produced smaller, faster code. There were a number of apps I wrote for multiple platforms, so I got to compare. Also, (the same reason I love perl) you could do astounding things with side-effects.

    Commercially, X86 has staying power because it was architected to scale. Variable-length instructions with lots of space in the operator range lets Intel adapt the design to any new demands. Most, if not all, of the complaints about X86 (e.g. too few registers) are just version features—yesterday's news if there's a market demand for an improvement.

    Bottom line—it ain't neat, but that doesn't matter; it's programmed once and used millions of times. Programmer convenience is irrelevant.

    --
    I'm a Programmer. That's one level above Software Engineer and one level below Engineer.
  32. I tried.. by Vr6dub · · Score: 5, Funny

    I tried looking into my heart but it asked me to "allow" or "deny". When I hit "allow" I got a BSOD. I'll have to get back to you on that one.

  33. legacy free x86 chip? by nbritton · · Score: 2, Insightful

    Would it be possible to make a legacy free x86 chip? i.e. remove from the processor die real, unreal, VM86, and 16-bit protect modes as well as all traces of the ISA bus, the BIOS, and anything else you can think of? Porting *NIX and Windows to this new platform architecture would be effortless and it would not change userland compatibility.

    We don't need to support 30 years of backwards compatibility!

  34. Why x86 is better than one might expect. by Animats · · Score: 5, Insightful

    The x86 instruction set is a surprisingly good way to build a computer. The reasons aren't obvious.

    First, the original x86 was a huge pain, with that stupid segmented memory arrangement. But IA-32 was better and cleaner; at last there was a flat 32-bit address space. (Yes, there's a segmented 48-bit mode, and Linux even supports it, but at least apps see a flat address space.) AMD-64 is even more regular; the segmented memory stuff is completely gone in 64 bit mode. So there is progress.

    RISC architectures could yield simple machines that could execute one simple fixed-width instruction per clock cycle. The early DEC Alphas, the MIPS machines, and early IBM Power chips are examples of straightforward RISC machines. This looked like a big win. The ALU was simple, design teams were small (one midrange MIPS CPU was designed by about six people), and debugging wasn't hard. RISC looked like the future around 1990.

    What really changed everything was advanced superscalar architecture. The Pentium Pro, which could execute significantly more than one instruction per clock, changed everything. The complexity was appallingly high, far beyond that of supercomputers. The design teams required were huge; Intel peaked somewhere around 3000 people on that project. But it worked. All the clever stuff, like the "retirement unit" actually worked. Even the horrible cases, like code that stored into instructions just ahead of execution, worked. It was possible to beat the RISC machines without changing the software.

    The Pentium Pro was a bit ahead of the available fab technology. It required a multi-chip module, and was expensive to make. But soon fab caught up with architecture, and the result was the Pentium II and III, which delivered this technology to the masses. Then AMD figured out how to do superscalar x86, too, using different approaches than Intel had taken.

    The RISC CPUs went superscalar too. But they lost simplicity when they did. One of the big RISC ideas was to have many, many programmer-visible registers and do as much as possible register-to-register. But superscalar technology used register renaming, where the CPU has more internal registers than the programmer sees. The effect is that references to locations near the top of the stack are as efficient as register references. Once the CPU has that capability, all those programmer-visible registers don't help performance.

    Making all the instructions the same size, as in most RISC machines, leads to code bloat. Look at RISC code in hex, and you'll see that the middle third of most instructions is zero. Not only does this eat up RAM, it eats up memory and cache bandwidth, which is today's scarce resource. Fixed size instructions simplify instruction decode, but that doesn't really affect performance all that much. So x86, which is a rather compact code representation, actually turns out to be useful.

  35. Re:In short:x86 is the result of natural selection by smellsofbikes · · Score: 2, Interesting

    You say that to be funny, and it is, but it's also insightful.
    One of the things about evolution is that it can only work with what it has, which is why our backs hurt all the time. Evolution can't just suddenly stick a good spine/leg support/locomotion system in, but works with what already exists, intended for quadrupeds. (This is, in essence, the area that the Irreducible Complexity crowd are attacking.)
    But, look at x86 and its dominance over itanium. Itanium is a *good* design, but x86 is outcompeting the hell out of it because with a kludge here and a workaround there, it could be iteratively fixed up to outperform itanium. x86 has evolved to be the top dog despite going up against intelligent design of the itanium, showing that the criteria for success aren't always what we think they are.

    --
    Nostalgia's not what it used to be.
  36. Jeeze ... by smcdow · · Score: 2, Funny

    Why did it have to be a little endian processor?

    --
    In the course of every project, it will become necessary to shoot the scientists and begin production.
  37. Stop whining about whining by Anonymous Coward · · Score: 2, Insightful

    Seriously you must be new here for the "I'll get moderated down for this but..." trick is one of the PRIME Karma Whoring mantras. Simply by inserting it into your statement you can not only be granted immunity to downmodding by fanboys but you just might get some positive modding by the choir to whom you are a preachin'. Sadly it is also needed in this day and age of the rabid fanboy as sort of a garlic/crucifix/holy water shield agaunst said fanboys simply to keep your karma at a decent level. I know, I post this AC since my karma has been terrible for over 6 years now because of an incident with some Mac fanboys. I've never been modded badly since and the good mods I did get have never restored my karma to a positive level. Had I simply added "The Mac asshats will probably mod me down for this but..." I would probably have my perfect karma that I did so long ago. So that's my pitiful story...mod me down if you must ;)

  38. x64 ABI slightly fucked-up? by ceeam · · Score: 2, Informative

    Is it only me or anyone else feels a bit unease about lost opportunity with a good cleanup when we moved to x64 ABI (yes, I don't like "x86_64")?

    I mean:

    http://en.wikipedia.org/wiki/X86_calling_conventio ns

    Why require 16-byte alignment? Oh, so that xmm data can be stored aligned on stack. But how often do you need it? 0.01% of all stack frames or less? Wouldn't it make more sense to do this alignment when entering functions that needs it (3 assembler commands, right?). Why so many registers allocated for args? Why not drop 387 stack support at all - wouldn't that improve context switching times? (Hmm, I may be wrong here)... Finally why MS felt obligated to come with their fucking own version of ABI?! (Ok, that last one is rhetoric)...

    But that's peanuts compared to the whole memory-model / "int" size thing. I mean - do people never learn? At least 16-bit Unicode problems should've tought us something about bean-picking. So now we have cache-spoiling-if-nothing-else 32-bits selecting prefix on every other fucking CPU instruction and you cannot have more than 4 Gigs of executable code, what's that? "640k should be enough for everyone" once again? What if I want some code generator for turning my data into self-processing code? (Old-schoolers may remember "compiled sprites" to get my idea).

    x64 is a great step forward for x86 and it could be better if wiser (IMHO) decisions were made in its infancy. Maybe it's too late now but I guess it will bite our asses in the years to come.

    1. Re:x64 ABI slightly fucked-up? by AmunRa · · Score: 2, Informative

      Note: The ABI (Application Binary Interface) isn't defined by the chip, it's defined by the Operating System. Linux generally uses the System V ABI (on x86), simply because it was easier to use a common ABI than invent your own. Keeping the Linux ABI for x86-64 similar to the x86 one makes the whole toolchain much easier to develop. There is nothing stopping you from calling functions in any way you see fit, saving and restoring no information if you want, but you'll have fun when interfacing with other pre-compiled libraries. Most of the stuff in the ABI is there for a good reason, and the optional stuff (previous stack frame) can generally be disabled with the appropriate optimisation setting in your compiler.

      --
      " To steal ideas from one person is plagiarism; to steal from many is research. "
  39. x86: Its a Good Car, but not a Nice Car. by ravyne · · Score: 3, Informative

    I drive a '96 cavalier; Its not stylish, its not particulalry fast, no power windows or locks and due to some dings, its not even orthogonal anymore. But it was cheap, relatively fuel-efficient, reliable and it gets me from A to B as fast as I'm otherwise allowed. We geeks tend to pine over these sleek ISAs like MIPS or Power in much the same way that car enthusiasts wax romantic about the latest sports car. For most of us however, practicality forces us to drive more modest vehicles. Its not practical to drive a vehicle that requires some exotic fuel in the same way that its not practical to run a CPU that digests some exotic instruction set, and for the same reasons: Limited use and availability leads to higher cost-of-ownership overall. Economies of scale and past investment lead to comparatively rock-bottom prices. The PC is also bogged by something far more sinister than the x86 instruction set, namely, the PC BIOS. This is only just beginning to go away with Apple having adopted Intel's EFI firmware (OpenBIOS on their PPC systems before that) and the growing list of LinuxBIOS supported motherboards (still not ready for personal use, but getting there). Widespread EFI adoption might take place if Microsoft releases a home OS with the capability of using EFI without the BIOS compatability layer. Another point to watch for in the future is the proliferation of platforms such as the CLR (.NET) and to a lesser extent, the JVM. These sort of platforms serve as an abstraction layer between the instruction set the software is written in, and the instruction set of the hardware on which it runs. With a performance difference of 10% or so now, and that difference shrinking as the technology matures, we'll begin to see that the underlying architecture will loose its hold on being the defining element of the platform. We're already beginning to see x86 technolgy moving towards extensions to make virtualization (such as Xen) more efficient, and I suspect it will not be long before it moves to include features to make the .net platform and similar technologies run more efficently as well. If these sort of technologies eventually become the defacto target for software, we may see a future in which the CPU's sole purpose becomes to efficiently support a higher-level platform that is defined by software. In the Embedded world, x86 does not reign - in fact, x86 is a very small portion of the embedded market. PowerPC rules, followed by ARM and 68k, this doesn't even mention smaller processing tasks run by Microcontrollers like the 8051 or PIC devices. x86 has all but been ousted where engineers are freed from the concerns of backwards compatibility and high performance is not required.

  40. Mac Fanboys got Nuthin' on Politics by bill_mcgonigle · · Score: 2, Funny
    Macs? Ha, try posting something about either Republican or Democratic parties here. The mod-war will fill your inbox if you're addicted enough to have mod points e-mailed to you (turn them off, Bobby, slowly, now....). If Slashdot existed in a Douglas Adams Universe, the following post:

    Republicans Suck. Democrats Rule.

    Democrats Suck. Republicans Rule
    would make a perfectly suitable anti-gravity device, from the opposing pressure of mod points and Fan/Foe adds.
    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  41. store string? by Joseph_Daniel_Zukige · · Score: 2, Interesting

    The store string instruction was not particularly efficient (fast) in the early implementations, and the setup often made it less than useful.

    But there's another reason your instructor was mad at you. Yes, the mechanically generated instructions could have been replaced with more efficient sequences. But you do _not_ want to do that in your first pass with a mechanical translator, especially if it's the first one you've ever written. Once you know what you're doing you can build optimizing passes and combine passes and such, but if you knew that much there would be no reason to take the class you were taking (unless it was just for the grade) and you should also know better than to try to confuse the other students.

    joudanzuki