Information About

64-bit




64-bit CPUs have existed in Supercomputers since the 1960s and in RISC -based Workstations and Server s since the early 1990s. In 2003 they were introduced to the (previously 32-bit ) mainstream Personal Computer arena, in the form of the X86-64 and 64-bit PowerPC processor architectures.

A CPU that is 64-bit internally might have external Data Bus es or Address Bus es with a different size, either larger or smaller; the term "64-bit" is often used to describe the size of these buses as well. For instance, many current machines with 32-bit processors use 64-bit buses (e.g. the original Pentium and later CPUs), and may occasionally be referred to as "64-bit" for this reason. Likewise, some 16-bit processors (for instance, the MC68000 ) were referred to as 16-/32-bit processors as they had 16-bit busses, but had some internal 32-bit capabilities. The term may also refer to the size of an instruction in the computer's Instruction Set or to any other item of data (e.g. 64-bit Double-precision Floating-point quantities are common). Without further qualification, "64-bit" computer architecture generally has integer Registers that are 64 bits wide, which allows it to support (both internally and externally) 64-bit "chunks" of integer data.


ARCHITECTURAL IMPLICATIONS

Registers in a processor are generally divided into three groups: integer, floating point, and other. In all common general purpose processors, only the integer registers are capable of storing pointer values (that is, an address of some data in memory). The non-integer registers cannot be used to store pointers for the purpose of reading or writing to memory, and therefore cannot be used to bypass any memory restrictions imposed by the size of the integer registers.

Nearly all common general purpose processors (with the notable exception of most ARM and 32-bit MIPS implementations) have integrated floating point hardware, which may or may not use 64-bit registers to hold data for processing. For example, the X86 architecture includes the X87 floating-point instructions which use 8 80-bit registers in a stack configuration; later revisions of x86, and the X86-64 architecture, also include SSE instructions, which use 8 128-bit wide registers (16 registers in x86-64). By contrast, the 64-bit Alpha family of processors defines 32 64-bit wide floating point registers in addition to its 32 64-bit wide integer registers.


MEMORY LIMITATIONS

Most CPUs are currently (as of 2005) designed so that the contents of a single integer register can store the s.

However, by the early 1990s, the continual reductions in the cost of memory led to installations with quantities of RAM approaching 4 gigabytes, and the use of virtual memory spaces exceeding the 4-gigabyte ceiling became desirable for handling certain types of problems. In response, a number of companies began releasing new families of chips with 64-bit architectures, initially for Supercomputer s and high-end Workstation and Server machines. 64-bit computing has gradually drifted down to the personal computer desktop, with some models in Apple 's Macintosh lines switching to PowerPC 970 processors (termed "G5" by Apple) in 2003 and to 64-bit EM64T processors in 2006, and with x86-64 processors becoming common in high-end PC s. The emergence of the 64-bit architecture effectively increases the memory ceiling to 264 addresses, equivalent to 17,179,869,184 gigabytes or 16 Exabyte s of RAM. To put this in perspective, in the days when 4 MiB of main memory was commonplace, the maximum memory ceiling of 232 addresses was about 1,000 times larger than typical memory configurations. Today, when 1 GiB of main memory is common, the ceiling of 264 addresses is about ten billion times larger, i.e. ten million times more headroom.

Most 64-bit consumer PCs on the market today have an artificial limit on the amount of memory they can recognize, because physical constraints make it highly unlikely that one will need support for the full 16 exabyte capacity. Apple's Mac Pro, for example, can be physically configured with up to 16 gigabytes of memory, and as such there is no need for support beyond that amount. A recent Linux Kernel (version 2.6.16) can be compiled with support for up to 64 gigabytes of memory.


64-BIT PROCESSOR TIMELINE




  • 1976: Cray Research delivered the first Cray-1 supercomputer. This was based on a 64-bit word architecture, which formed the basis for later Cray vector supercomputers.


  • 1983: Elxsi launched the Elxsi 6400 parallel Minisupercomputer . The Elxsi architecture had 64-bit data registers but a 32-bit address space.


  • 1991: MIPS Technologies produced the first 64-bit microprocessor, as the third revision of their MIPS RISC architecture, the R4000. The CPU was used in SGI graphics workstations starting with the IRIS Crimson . However, 64-bit support for the R4000 was not included in the IRIX Operating System until IRIX 6.2, released in 1996. Kendall Square Research deliver their first KSR1 supercomputer, based on a proprietary 64-bit RISC processor architecture running OSF/1 .



  • 1993: DEC released the 64-bit OSF/1 AXP Unix-like operating system (later renamed Tru64 UNIX) and the OpenVMS operating system for Alpha systems.


  • 1994: Intel announced plans for the 64-bit IA-64 architecture (jointly developed with HP ) as a successor to its 32-bit IA-32 processors. A 1998–1999 launch date was targeted. SGI released IRIX 6.0, with 64-bit support for R8000 CPUs.


  • 1995: Sun launched a 64-bit SPARC processor, the UltraSPARC. Fujitsu -owned HAL Computer Systems launched workstations based on a 64-bit CPU, HAL's independently designed first generation SPARC64. IBM released 64-bit AS/400 systems, with the upgrade able to convert the operating system, database and applications. DEC released OpenVMS Alpha 7.0, the first full 64-bit version of OpenVMS for Alpha.


  • 1996: HP released an implementation of the 64-bit 2.0 version of their PA-RISC processor architecture, the PA-8000 . Nintendo introduces the Nintendo 64 video game console, built around a low-cost variant of the MIPS R4000.


  • 1997: IBM released their RS64 full 64-bit PowerPC processors.


  • 1998: IBM released their POWER3 full 64-bit PowerPC/ POWER processors. Sun released Solaris 7 , with full 64-bit UltraSPARC support.


  • 1999: Intel released the Instruction Set for the IA-64 architecture. First public disclosure of AMD 's set of 64-bit extensions to IA-32, called X86-64 (later renamed AMD64).



  • 2001: Intel finally shipped its 64-bit processor line, now branded Itanium , targeting high-end servers. It fails to meet expectations due to the repeated delays getting IA-64 to market, and becomes a Flop . Linux was the first operating system to run on the processor at its release.


  • 2002: Intel introduced the Itanium 2 as a successor to the Itanium.


  • 2003: AMD brought out its AMD64-architecture Opteron and Athlon 64 processor lines. Apple also shipped 64-bit "G5" PowerPC 970 CPUs courtesy of IBM , along with an update to its Mac OS X operating system, that added partial support for 64-bit mode. Several Linux Distributions released with support for AMD64. Microsoft announced that it would create a version of its Windows operating system for these AMD chips. Intel maintained that its Itanium chips would remain its only 64-bit processors.


  • 2004: Intel, reacting to the market success of AMD, admitted it had been developing a clone of the AMD64 extensions, which it calls IA-32e and later renames EM64T. Updated versions of its Xeon and Pentium 4 processor families supporting the new instructions were shipped. Freescale announces the 64-bit E700 Core , successor to their PowerPC G4 series.