The InformationWeek -- Blogs
Welcome Guest. | Log In| Register | Membership Benefits

« How Big Will Longhorn Get? | InformationWeek Windows Weblog Home | Windows x64's Achilles' Heel: 64-Bit Applications »


A Trip Down 'Memory Lane' With Bill Gates
Posted on Apr 26, 2005 at 03:23 PM by John Foley

When we sat down to interview Bill Gates the other day about the launch of 64-bit Windows, Microsoft's chief software architect had what appeared to be an epiphany. After a review of how much address space has been available to computer applications over the past 20 years -- from 16 bits with Windows 1.0 to 64 bits today -- Gates realized the industry is gobbling up computer-memory address space at a faster pace.

To follow Gates' reasoning, you have to start with a little walk down "memory lane." Here's Gates' recollection of how microprocessor design influenced PC capabilities in the early days of the PC industry:

"Going from 32 [bits] to 64 [bits] is more than we've ever done," he said at the beginning of our interview. "You can look back. We went from essentially a 16-bit address space, which was called 8-bit computing, confusingly. That was a 64 K [kilobytes] type machine up to the IBM PC, which was a 20-bit address, which got us to the 640 K limit or the one meg [megabyte] limit -- it was 640 K of general-purpose memory and meg of logical memory, [or] two to the twentieth [of memory]. Then we had this funny transition to the 286 [chip architecture] that brought us this unusual 24-bit segmented memory. So we sort of had 16 meg, but we didn't have 16 meg linear, we had 16 meg through the segment registers. And of course there was this bifurcation, where Motorola had done like Digital had done on the VAX and given a clean, 32-bit linear address space, whereas Intel went with this 24-bit segmented address space. Then the 386 [chip architecture] comes in and gets us 32-bit clean. So, every one of these things was very messy. You finally shipped 386 in 1986 -- Compaq was gutsy and shipped before IBM. Anyway, that was really painful. So we haven't had an address-space transition since 1986. Thirty-two bit's been enough; even at the server level, 4 Gig [gigabytes] of physical felt like enough."

Gates went on to say that, for the past few years, some users have begun "feeling the pressure" of working within the constraints of a 32-bit system:

"The size of the material we have out there, whether it's the amount of text, images, click databases, everything has just expanded dramatically, so 64-bit is a huge thing and it gives us pretty unbelievable headroom. The difference between 2 to the 32nd [of memory] versus 2 to the 64th, is a big, big difference."

It's at this point that I could see Gates was coming to a realization: "Historically, we've used up 1 bit of address space [in a] little less than a year," he said. "In 1986, we went to 32-bit -- this is about 16 years later than that, so it's almost 2 bits a year during that period. That's interesting, because historically, I guess it's accelerated, because there was a period where we were using up one bit a year."

So there you have it. Bill Gates says the computer industry has been consuming memory address space at an accelerating rate, nearly double the rate of the past, and he came to that conclusion, coincidentally, just days before Microsoft released 64-bit Windows. It's an oversimplification, I'm sure, but something for computer scientists to mull, nonetheless.

Gates didn't hazard a guess at how long 64-bit Windows will be enough, but applying his own back-of-the-envelope calculation of 2 bits per year, and taking into account that we have 32 bits already, you come up with about 16 years. Coincidentally (again), that's about how long the 32-bit PC design has been around until now.

So, just how much room does "2 to the 64th" afford applications in system memory? Here's the result, courtesy of my colleague Curtis Franklin with Network Computing magazine.

2 to the 8th = 256
2 to the 16th = 65,536
2 to the 32nd = 4,294,967,296
2 to the 64th = 184,470,000,000,000,000,000,000

For more on the bits discussion, you can read Gates' April 25 keynote address at WinHEC. Also, here's InformationWeek's full interview with Gates, with some of the densest discussion from above edited out.

Correction: Several readers have E-mailed to say that Curtis Franklin's 2 to the 64th calculation was somewhat off. The correct (rounded) number should be: 18,447,000,000,000,000,000, or 18.4 quintillion.



This post falls under this topic(s):

Or read posts on these other topics:



COMMENTS

Banalities.

Posted by: goog at April 28, 2005, 06:40 AM

If programmers wrote programs as efficiently now as the did 15 years ago, we wouldn't need to constantly have larger storage systems OR larger operating systems.
The only thing larger, faster operating systems and larger, faster storage media does is encourage programmers to write larger, sloppier programs. That is the bottom line!

Posted by: Ken Frutiger at April 28, 2005, 08:02 AM

Bill Gates memory and logic seems to be flawed. Gates has confused availability of memory bits, which increase by word-length (an increase from 4-byte addresses to 5-byte addresses would have been weird!), with the amount of memory actually being used by typical or leading edge users.

In 1981 the IBM PC's 20 bit addressing releived the pain of 8-bit computing's 64K limit, raising the limit to 640K. A young and naive Bill Gates declared that "640K should be enough for anyone", inspite of more than a decade of industry history showing that one bit a year gets used up.

In 1986 the 386 increased addressing to 32-bit, because the industry was pushing on the 640K memory limit, just about when the one-bit-per-year rule said it would.

Now, in 2005, the industry is pushing on the 4GB memory limit. Those extra 12 bits lasted a little short of 20 years. The consumption of address bits is slowing down, not speeding up as Gates said.

I make this point because it seems to me that this "Messiah of computing", whose words the industry treats as pearls of wisdom, has never said anything other than "banalities"!

Posted by: Dave Pullin at April 28, 2005, 08:23 AM

Why list all the digits accurately for 2^8, 2^16, and 2^32 and then approximate the size for 2^64.

Please be consistent.

2 to the 8th = 256
2 to the 16th = 65,536
2 to the 32nd = 4,294,967,296
2 to the 64th = 18,446,744,073,709,551,616

Posted by: Chuck Robbins at May 11, 2005, 10:49 PM

For those who are interested:
2^64 equals 18 exabytes or 18446 petabytes. Do you wonder what can we put in this amount of space? Currently, a high resolution 3D image of a mouse brain takes up a terabyte. For a video with one hour length animated at 30 frames per second, it would amount to 108 petabytes.

Posted by: han at May 13, 2005, 12:53 PM

This is a public forum. CMP Media and its affiliates are not responsible for and do not control what is posted herein. CMP Media makes no warranties or guarantees concerning any advice dispensed by its staff members or readers.

Community standards in the message center do not permit hate language, excessive profanity, or other patently offensive language. Please be aware that all information posted to this forum becomes the property of CMP Media LLC and may be edited and republished in print or electronic format as outlined in CMP Media's Terms of Service.

Important Note: The Message Center is NOT intended for commercial messages or solicitations of business.




 
 

  1. Here's to the First Responders!
  2. HPC Joins the Dummy Revolution?
  3. Detecting Scalability Problems With Intel Parallel Universe Portal


Join The InformationWeek Group On LinkedIn


                           


  1. 'Nexus One' Is Google's Android Phone For Consumers
  2. Motorola Droid Is Gadget Of The Year
  3. Microsoft's Non-Family Values
  4. HTC Droid Eris Receiving OTA Update From Verizon
  5. Windows Mobile 7 Now A Q4 Release


  1. Amazon Auctions Cloud Computation
  2. First Commercial LTE Network Goes Live
  3. Strong Authentication Not Strong Enough
  4. Apple Customers Report Flawed iMacs
  5. NASA Launches Comet-Hunting Space Camera
  6. Oracle Mobilizing MySQL Users

 

  Ars Technica
Boing Boing
Channel 9 Forums
CRN Blogs
Dr.Dobb's Portal: Blogs
Engadget
Gizmodo
GrokLaw
  Lifehacker
Schneier on Security
Slashdot
TechCrunch
Techdirt
Techmeme
Valleywag

  DECEMBER 2008
NOVEMBER 2008
OCTOBER 2008
SEPTEMBER 2008
AUGUST 2008
JULY 2008
JUNE 2008
MAY 2008
  APRIL 2008
MARCH 2008
FEBRUARY 2008
JANUARY 2008
DECEMBER 2007
NOVEMBER 2007
OCTOBER 2007
SEPTEMBER 2007