Jonathan Loran wrote:
> We say why 64 bit today? But in a few years (or decades) we'll look
> back and laugh at why we even asked this question. It's not a really
> fair comparison, but the original IBM PC with 640K of addressable memory
> seemed like "plenty of space" when it first came out.
> [...]
> Finally, I just have to say: why not go to 64 bit addressing? The small
> slowdowns we see today with pointer copies or such will be a distant
> memory in the near term. Feel the wide open spaces of 2^64. Pretty
> soon you won't know how you got by without it.
64-bit computing is half bogus. Fortunately, the good half is the
one you're talking about, which is real. This is the need for
more than 32-bits of data address space. However, the other half,
which is the need for more than 32-bits of instructions (a.k.a. "text")
space, is practically non-existent. Here's a message I posted to
comp.arch a while back that explains this. (Be forwarned - a long
discussion follows)
--- 64-bit computing has received lots of attention recently. It's easy to imagine why. There are lots of applications that truly need more than 32-bits of data space. One point that I haven't seen raised before is that this data addressing requirement is the ONLY reason why 64-bit computing is needed, at least for the indefinite future. In other words, there's no need for more than 32-bits of text (a.k.a. instruction) space. The reason for this is simple - it's simply too complicated to write a program that comes close to being this big (remember, I'm talking about text space, not data space). The reasons for this have been discussed for years and don't appear to be lifting. Unless humans get much smarter, or automatic program generation techniques get much better, this isn't likely to change. Does anybody know of any programs that have more than 32-bits of text? ---- After I wrote this I receive an email message saying "One is when libraries are included in toto, which is not obviously stupid in the context of sharable libraries. Another is with code generated by program. Obviously, that has the same requirements as comparable data structures." I don't think the shared library issue is real because if you look at all the shared libraries on a Windows or Unix system and add their sizes together, you don't get near 32-bits worth of instructions. Someone else said "Another class of applications is that class written in a dynamic language like Common Lisp or Smalltalk, where the tendency is in fact to compile eventually to native code, and to maniplulate and garbage-collect that code as if it were data". I don't know how many programs like this there are running wild, but I can see how this could happen. Someone else claimed the Computer Aided Design programs sometimes work by collecting pieces of code where each piece represents one electronic component so that a complicated device could require more than 32-bits of code to model. Finally, even though there's no need for 32-bits of text space I'm not suggesting that modern processors be designed with a 32-bit text space and a 64-bit data space. That would add needless complexity. Sorry for the long diatribe but it's been raining a lot recently... Jon ------------------------------------------------------------------------ The following was automatically added to this message by the list server: For information about Micronet, including subscribing to or unsubscribing from its mailing list and finding out about upcoming meetings, please visit the Micronet Web site: <http://micronet.berkeley.edu/>.Received on Thu Apr 13 13:49:30 2006
This archive was generated by hypermail 2.1.8 : Thu Apr 13 2006 - 13:49:30 PDT