Slashdot Mirror


Introduction to 64-bit Computing and x86-64

James writes "Ars Technica has an article up explaining 64-bit computing from the x86 angle, specifically from the angle of AMD's Hammer. The article explains the details in that usual Ars style, and I found it very useful for thinking about what kinds of applications I may want to put to the test on one of these when we get a box in the office. Even non-x86 freaks may appreciate this, since it breaks down some of the basic advantages of 64-bit computing, and just who can expect to see gains in the near future."

16 of 259 comments (clear)

  1. Re:Mix code in long mode? by CoolVibe · · Score: 4, Insightful

    Well, the industry can always revert to what Apple did if it isn't possible. Make "Fat" executables. ia-64, ia-32 and x86-64 in one executable. Sure, the binaries will be bigger, but with harddisk prices nowadays I don't believe disk space is really an issue :)

  2. Re:Mix code in long mode? by ThaReetLad · · Score: 2, Insightful

    My understanding of the situation is that in long mode all your pointers etc are 64bit values and you don't get the extra registers without being in long mode. This means that unless you have compiled for 64bit pointers your code won't run in 32bit mode because the size of the pointers will be wrong. AFAIK the 64bit mode isn't a cpu flag which can be tested for like the SSE/SSE2 instructions, but a mode like Real/Protected mode. Perhaps your process may be able to switch mode but I doubt it. The other possibility of course is that you write byte compiled code which will run in the native x86-64 runtime.

    --
    You can't win Darth. If you mod me down, I shall become more powerful than you could possibly imagine
  3. intel hack by avandesande · · Score: 3, Insightful

    Furthermore, Intel supposedly has a fairly simple hack that they could implement to allow their 32-bit systems to address up to 512GB of memory. Still, the cleanest and most future-proof way to address the 4GB ceiling is a larger pointer
    They forget to mention that even if you can have more than 4gb on xeon machine you cannot address any single block of more than 4gb. Forget about putting your oracle db into memory.

    --
    love is just extroverted narcissism
  4. Why NOT? by gspr · · Score: 3, Insightful

    "Why not do it?" is usually a bad question, but in this particular case, I think it's a good one. If there is no performance penalty when running in Legacy Mode, and if the Hammer is going to be cheap (read: reasonably priced compared to the P4), why NOT buy it?
    It doesn't hurt, and it prepares you for the future, a future that will come, now or later. This way there'll at least be a chicken... then we can just wait for the eggs to appear. It's foolish to think that any eggs will appear before the chickens do. Afterall, the only place you can get a chicken from before there are eggs, is from AMD's chicken replication facility.

  5. Will Microsoft survive the 64-Bit transition? by RoLi · · Score: 5, Insightful
    The 64-Bit transition comes with a lot things, all bad for Microsoft:

    • For the first time in computing history AMD and Intel no longer see Microsoft as the sole software provider. Both Intel and AMD support Linux from day 1 on their 64-chips. I repeat: That did not happen before. So far, Linux was never available on a chip's introduction.
    • On Operon and Itanium, Linux is available before Windows.
    • In the first 1 or 2 years, 64-chips will be mainly used on servers, where Linux is already strong.
    • To use the additional features/registers, a recompile is neccessary - OSS will use those features right away, while CSS vendors will take quite some time to release a 64-Bit version and will probably want some money for the upgrade.
    • The traditional Windows-on-servers customer is a very conservative market segment not likely to jump on the 64-Bit bandwagon very early.

    To summarize, Microsoft might run into a chicken-and-egg problem on 64-Bits: Nobody runs Windows on 64-Bits because it's not faster -> Nobody makes Win64 software -> Nobody runs Windows on 64-Bits.

    Add into that the fact that Microsoft is traditionally very incompetent and slow when it comes to adopting new architectures and you get the idea.

    I think that Microsoft will lose the majority of their server marketshare and a large chunk of their desktop marketshare during that transition. Simple market inertia will prevent Microsoft to be thrown out of the desktop market, but because of the 64-Bit transition, the Linux desktop market might finally gain critical mass and endanger the Windows domination in the long term.

    1. Re:Will Microsoft survive the 64-Bit transition? by RoLi · · Score: 4, Insightful
      After all, Microsoft HAS developed a version of Windows XP Professional that works on the Itanium CPU in IA-64 mode, for gosh sakes!

      Well, although I have never seen a review about that, never seen a Wintel64 system on sale and don't know what dirty hacks and workarounds are in the package, let's assume that's true.

      Now look at my post again: All the points I made are still valid, the most important one being that Linux is being supported right from the start for the first time.

      I'm sure that Microsoft is right now working a version of Windows XP Home/Professional that works on the AMD Athlon64/Opteron CPU's in x86-64 native mode

      While I'm also sure that they are working on it, I'm not about their ability to ship a working product on time. On the other side, SuSE has already successfully ported Linux to mainframes for IBM (something I don't think MS could do with Windows in a timely manner) and they are now porting Linux to Opteron - or better have already ported it as Beta-systems are already out there. - Where is the Windows-Operon Beta? I don's see it.

      In case you forgot, Microsoft was YEARS late in finally adequately supporting 32-Bit (actually, Intel was already quite angry at MS that their chips were still used in 16-Bit mode almost exclusively for so long). Of course by that time, there was no alternative, so Microsoft got away with their incompetence, but now there is not only an alternative, it is also supported officially by AMD and Intel.

    2. Re:Will Microsoft survive the 64-Bit transition? by cygnusx · · Score: 2, Insightful

      > and a new Windows operating system at Version1.0 quality

      Actually, if you look at the Windows source (from Windows 2000 on), you'll see that most of it is #ifdefs, not a lot of new code. There was a 64-bit transition guide available before Windows 2000 launched. In fact, according to this presentation, they did 56 IA-64 builds a week during the Win2000 development cycle alone. MS has had 3+ years since then to prepare for 64-bit, including Opteron. So most of your points sound a bit silly to me -- if this is v1.0 quality, then so is Linux for the Opteron. The only thing with NT/64bit is that it's been available mostly through special-order and not at dell.com.

      And a small point -- there's no *technical* reason NT can't be ported to all sorts of architectures. In fact, given that you basically have to port the HAL (and recompile the rest), new architectures can be added pretty easily.

  6. 64-Bit: The "Torque" of a Processor? by Spencerian · · Score: 4, Insightful

    I'm not an engineer.

    What I got from this article (well written, BTW) is that 64-bit processors provide more processing power--a concept different from speed. For instance, a Porsche can fly down the highway, but its engine has insufficent power to tow a 5th wheel RV. A Mack truck isn't speedy, but has a strong engine that can tow the heaviest loads up the same speed--more work is performed.

    That would be why Apple's PowerPCs are still in the running, despite their clock slowness. They are falling behind fast as, after a point, speed does matter, in combination with improved processor power in the latest 32-bit Pentiums, and certainly the Xeon. Vector processing, such as Altivec, helps keep Apple competitive with their current chips--just barely. Many in the PC community await AMD's offering while IBM works on blending its POWER chip technology into a 64-bit PowerPC, with Altivec.

    Imagine making the Porsche's engine more powerful but maintaining its speed advantage so it can haul ass as well as tow. Add nitro for extra ooompf (vector processing) and you have a dream machine. That's why it seems that 64-bit apps and processors seem to be such a holy grail.

    That's my take on it. Clarification is always appreciated.

    --
    Vos teneo officium eram periculosus ut vos recipero is.
  7. PPC by Duncan3 · · Score: 5, Insightful

    "Should Apple move from 32-bit PPC to 64-bit PPC, Mac users should not expect the same kinds of performance gains that x86 software sees from the jump to x86-64. 64-bit PPC gives you larger integers and more memory, and that's about it. There are no extra registers, no cleaned up addressing scheme, etc."

    Well yea, they already have more then 0 general purpose registers, and a flat memory space, like every other chip besides x86 has had for the last 20 years now. The embedded chips I've used on projects that cost $7 a piece even have more registers then x86 does.

    64bit is about the memory, and using that memory, plain and simple. x86 just happens to be using this as a chance to catch up with the cutting edge concepts of the 1980s.

    As for x86 needs to die once and for all, it's hacked, hacked again, and hacked yet again. x86 was and is a 16bit system. And now AMD wants to hack it yet again. Can anyone doubt that 80% of the silicon is for supporting legacy apps at this point? Are people that damn lazy they can't type 'make' on a new system? It's not like anyone uses "int" anymore and assumes it's N bits long.

    --
    - Adam L. Beberg - The Cosm Project - http://www.mithral.com/
    1. Re:PPC by pjl5602 · · Score: 3, Insightful
      As for x86 needs to die once and for all, it's hacked, hacked again, and hacked yet again. x86 was and is a 16bit system. And now AMD wants to hack it yet again. Can anyone doubt that 80% of the silicon is for supporting legacy apps at this point? Are people that damn lazy they can't type 'make' on a new system? It's not like anyone uses "int" anymore and assumes it's N bits long.

      Legacy X86 is dying. But really, how much die space does the 386 real mode take up? A few hundred thousand transistors? That's nothing these days so it's worth keeping it around even if only 0.001% of your customers make use of it simply from a marketing perspective.

      Then, from the article:
      When AMD's engineers started looking for legacy x86 features to jettison, the first thing to go was the segmented memory model. Programs written to the x86-64 ISA will use a flat, 64-bit virtual address space. Furthermore, legacy x86 applications running in long mode's compatibility sub-mode must run in protected mode. Support for real mode and virtual-8086 mode are absent in long mode and available only in legacy mode. This isn't too much of a hassle, though, since, except for a few fairly old legacy applications, modern x86 apps use protected mode.

      So the X86-64 mode will be fairly cruft free.

      Pat

  8. TCPA (was Re:64 bit chips R cool . . . by ultrabot · · Score: 3, Insightful

    but I'll be buying them if and only if they don't include TCPA/Palladium/Trusted PC Platform/Name of lockdown scheme of the week.

    I dunno, TCPA seems kinda cool & useful. It doesn't lock down anything, it is basically just a way to encrypt/decrypt data without having the keys on a local file system (i.e. keys are stored on a black-box hardware). Spreading popularity of TCPA might also render Palladium and other DRM methods worthless. TCPA != DRM. Some IBM articles reported on /. a while ago clarified this point quite a bit.

    With TCPA, *you* would hold all the keys (since you can access your own hardware, hopefully), and no centralized entity (*cough* ms *cough*) would have anything to say about it.

    --
    Save your wrists today - switch to Dvorak
  9. x86 hardware isn't so great by arthas · · Score: 2, Insightful

    A couple of months ago I bought used Digital AlphaServer 2000 5/250. I am running Tru64 5.1B(former Digital Unix) on it. I really like Tru64. It is very reliable, efficient, has great administration tools and excellent documentation.

    The best thing however is that Tru64 and Alpha hardware are very well integrated. OS can detect and configure hardware automatically. It can also (together with the great SRM firmware) monitor various components in case of a (very rare) hardware failure.

    One of the worst things in x86 world is BIOS. It's limitations practically force operating systems not to use its services. On the Alpha however OS can rely on SRM console. This is a very nice thing. Two examples (AlphaServer 2000 has these nice features):
    1. SMP CPU failover: AS2000 tests cpus when it is doing its hardware diagnostics and if it finds a cpu that is broken it simply disables this cpu (provided that there is another cpu to use as the primary cpu).
    2. Memory failover: AS2000 can detect bad pages in RAM and disable them.

    Most x86 systems don't have these features, Alpha and Sun systems have. Linux is not the primary problem here, clumsy x86 hardware is. I have read somewhere that Linux can do something like memory failover (something similar at least), but my point is that the hardware (and BIOS) should do it, not the operating system. X86 would be so much better if BIOS was replaced with OpenFirmware or something similar.

  10. Re:Cost advantage? by Hoser+McMoose · · Score: 2, Insightful

    Obviously you didn't bother reading the article before posting did you? I guess I shouldn't expect that though.

    While it is true that 32-bit x86 chips can address 36-bits of memory using Intel's PAE, they do so using a really ugly hack. It was a really ugly hack back in the 16-bit x86 days, and it's still an ugly hack now.

    AMD's solution is the right one, a true flat 64-bit address space. 64-bit integers aren't particularly important, it's quite rare that an application needs 64-bit integers, and when they do they can easily be handled with two 32-bit integers (albeit at a significantly reduction in performance as compared to true 64-bit integers). 64-bit addressing is what x86 is all about. Well, that and clearing up a few of the remaining problem spots in x86, ie doubling the registers and getting rid of some mostly-useless modes.

  11. What about tcpa by OeLeWaPpErKe · · Score: 2, Insightful

    Does this chip support tcpa (and thus palladium) ? I think this is a kind of an important detail on the new cpu.

  12. Re:Existing x86 binaries don't mean x86-64 is good by ShieldW0lf · · Score: 2, Insightful

    It does when buying all new hardware is MUCH less expensive than buying all new software.

    If buying a new machine means you need to replace every single piece of software you use, possibly losing access to old data in the process, most ppl are just not going to buy it.

    --
    -1 Uncomfortable Truth
  13. Key benefit is... by Goonie · · Score: 2, Insightful
    The key benefit of 64-bit architectures is that you can address much more than 4 gigabytes of memory without having to deal with funky segmentation tricks. As servers are running hard up against this barrier, and desktops are not that far off it, *that* is why the impetus for 64-bit processors is happening now.

    Because the machine code *has* to change in the process, you can take the opportunity to redesign your instruction set to make it possible to design faster chips that use it. In AMD's case, they've added some registers and presumably cleaned up the sillier bits of the x86 instruction set. Intel has taken a different tack - they basically decided to wipe the slate clean and start again. As it turns out, they haven't really been able to make their clean-sheet design work very well yet.

    Going to 64-bit code has its costs, also. Code density (the amount of machine code needed to do a task) goes down, so your memory system doesn't work as well. If a crucial bit of your program that fitted in the instruction cache in 32-bit mode doesn't in 64-bit mode, the 64-bit code would run considerably more slowly.

    Speed is not the real issue here. The ability to work with large RAM sizes is.

    --

    Any sufficiently advanced technology is indistinguishable from a rigged demo
    --Andy Finkel (J. Klass?)