Why 64 bit is the 'new' catchword
Published: 08 Apr 2003 12:25 BST
The catchword on the technology horizon is "64-bit computing." Intel has spent quite some time wooing the high-end data center with its IA64 processors running various flavors of Unix. AMD is prepping its x86-64 processors to be able to run 32-bit and 64-bit code natively for an Autumn launch. Microsoft has seen the potential of a new market it has been unable to compete in and is in the early beta stages of releasing a 64-bit version of Windows.
The question you should be asking now is: Why? Contrary to the current hullabaloo, 64-bit computers aren't new; many companies were using 64-bit systems on their mainframes years ago and still are. Most flavors of Unix support 64-bit processors, if they're not outright designed for it. Even Linux is no stranger to 64-bit processors since it started running on the then-DEC Alpha processor in 1996. However, the majority of corporate IT was developed on 32-bit Windows machines. A number of midsize and larger businesses never had anything other than Windows, or possibly Linux, running on x86 processors in the data center.
So what has changed now that 64 bit is a watchword for the Wintel world? Well, it isn't cost. The 64-bit processors from Intel and AMD will be significantly more expensive than those available in the past from vendors such as DEC and Sun. And applications for these new processors will be quite thin for some time to come, or limited to the same applications already available on Unix machines running on other 64-bit processors. The short answer to the 64-bit question is need. The 64-bit processors fill a need -- one that was so minimal in the general commercial market back in 1999 that Microsoft stopped developing Windows on the 64-bit Alpha with the end of Windows NT. That said, let's look at just when 64-bit processors are a necessity.
Math and encryption
The blatant advantage of a 64-bit processor is large-number math. Of course, large is a relative term. The integer range that a 32-bit processor can handle natively is -2.1 billion to 2.1 billion. Alternatively, it can natively handle a number with nine significant figures. Tricks can be used to deal with larger numbers that amount to multiple memory addresses for each value and use advanced functions available in the programming compilers. Tricks are useful, but not fast.
Advanced math rears its head in large financial systems, computer simulations, CAD/CAM workstations, graphics rendering, and more importantly, encryption. This article is not a primer on encryption, but understand that in the networked world we live in, encryption is commonplace and rapidly expanding. Half of the digital security system is based on the algorithm used to encrypt the data; the other is the size of the keys used to archive and extract the data. A strong algorithm with a weak key can be defeated by raw brute force in a short time, so large keys are a necessity. Today, with 32-bit processors, a strong key is 256-bit requiring eight addresses per value (8 x 32 bit = 256 bit) and lots of math tricks. A 64-bit processor will use only four addresses per value for the same key and significantly increase the speed of the encryption processes.
Memory
Memory is the most often discussed aspect of a 64-bit computer, since so many 32-bit servers run out of memory while having their motherboard maxed out. A processor keeps track of data by recording the address within the memory that data resides in. A 32-bit computer can natively handle only 4 GB of memory (approximately 232 bits). While 4 GB seems like a lot, many corporate databases have indexes that are larger. Modern application development can easily require several gigabytes of memory to handle the libraries. CAD workstations, with their myriad linked components, can quickly eat up RAM just like multimedia and video editing will use every scrap of memory it can acquire. Simple things like Web servers can gain significant performance boosts by loading static content into memory rather than waiting on the slower drives.
However, there are already a number of ways to allow a 32-bit computer to address more than 4 GB of memory using memory windowing. Windowing is the trick of using multiple sets of memory address tables, kind of like having a table of contents for each chapter in a book. The trouble is that windowing can significantly slow down the computer as it adds extra steps. For example, if a nonpaged processor and a paged processor wanted to add the value A and the value B, and store the value C, it would look something like Figure A. Naturally, a windowed processor tries to minimise these steps, possibly by looking up A and B at the same time, but it still reduces efficiency and requires extra circuitry on the processor to make up for it.
|
But don't expect the new crop of 64-bit processors to handle the 18 million TBs possible with 64-bit memory addressing. While there is a need for more memory, the chipsets limit the number of memory modules in use, and those memory modules will hit a limit. So it's unlikely that you'll see Windows-capable 64-bit processors that will access more than 64 GB of memory in the next five years.
Full Talkback thread
1 comment





