[OT] End-user uses for x86-64 (was: Why are still not at 64 bits)

Ben Scott dragonhawk at gmail.com
Sat Feb 17 12:10:59 EST 2007


On 2/17/07, Jason Stephenson <jason at sigio.com> wrote:
> If end users are defined as home users and office users, then 64 bits
> will never matter to them, just like 32 bits doesn't matter to them
> today.

  That's not really true.  16-bit machines are *very* limited.  There
is not a whole lot you can do in 64 kilobytes of RAM (all you can
directly address with a 16-bit address word).  Anything running on an
8086 (i.e., MS-DOS and all its software) has to play all sorts of
games just to address the full megabyte the IBM-PC architecture allows
for in Real Mode.  And that's really just a way to enable a
more-than-16-bit-address-space without actually having to spend more
money on hardware; but it shifts a disproportionate burden to
software.  If you've ever had to program in a windowed/segmented
memory model, you'll know what I mean.  It really, really sucks.

  The 32-bit flat memory model (as enabled on the IBM-PC platform by
the i386) yields a lot of real benefits to
people-doing-ordinary-tasks-like-reading-email-browsing-the-web-writing-letters-looking-at-pictures-and-calculating-their-taxes.
They can do things like browse a multimedia web page, or manage their
collection of family photos, or do real-time WYSIWYG page layout of
the church newsletter, all while listening to their collection of
pirated digital music.  It's extremely difficult to do that in a
single 64 KB memory space.

  On the other hand, I'm pressed to conceive of what practical benefit
people-doing-ordinary-tasks-like-reading-email-browsing-the-web-writing-letters-looking-at-pictures-and-calculating-their-taxes
will get from x86-64.  Two gigabytes[1] is a *lot* of address space,
even for Microsoft's bloated code.  There's not much I can think of
that benefits from more than that.  Digital video editing is a good
one.  Virtual reality (which includes most games) is likely to be
another.  There doesn't seem to be much else of interest to
people-doing-ordinary-tasks-like-reading-email-browsing-the-web-writing-letters-looking-at-pictures-and-calculating-their-taxes.


Footnotes
---------
[1] Two gigabytes is the correct figure in the context of Microsoft's
bloated code.  The NT kernel splits the 4 GB address space between 2
GB for userland programs and 2 GB for kernel purposes, so userland
programs are effectively limited to 2 GB of address space.[2][3]  This
has been a real problem in some cases.[4]
[2] There is a way to change it to a 3GB/1GB split, but that
introduces a lot of other issues, and is generally only of use to
people running a single memory-hungry program, not several smaller
ones.
[3] The Linux kernel uses a different design, and does not suffer from
this problem.
[4] Microsoft's server products, especially Exchange[5], are
frequently hampered by this limit, when 2 GB is not enough, but
4294967296 GB is too much.
[5] Exchange before 2007 was limited to 32-bit and did not support
memory windowing.    Exchange 2007 is 64-bit only.


More information about the gnhlug-discuss mailing list