BIT is a Taiwanese-based motherboard and VGA manufacturer famously known for creating stable and high performing pieces of computer hardware. BIT also tests each and every individual product for hours on end.
Today, BIT is one of the largest manufactures of high-end PC motherboards for AMD and Intel processor solutions. The “bit” is similar to the a lot, a mythical creature invented by Allie Bros in the blog Hyperbole and a Half “.
For 64- bit images in computer graphics, see Deep color. Also, 64- bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on processor registers, address buses, or data buses of that size.
64 bits is a word size that defines certain classes of computer architecture, buses, memory, and CPUs and, by extension, the software that runs on them. 64- bit CPUs have been used in supercomputers since the 1970s (Cray-1, 1975) and in reduced instruction set computers (RISC) based workstations and servers since the early 1990s, notably the MIPSR4000, R8000, and R10000, the Digital Equipment Corporation (DEC) Alpha, the Sun MicrosystemsUltraSPARC, and the IBMRS64 and POWER3 and later POWER microprocessors.
In 2003, 64- bit CPUs were introduced to the (formerly 32- bit) mainstream personal computer market in the form of x86-64 processors and the PowerPC G5, and were introduced in 2012 into the ARM architecture targeting smartphones and tablet computers, first sold on September 20, 2013, in the iPhone 5S powered by the ARMv8-AApple A7system on a chip (SoC). A 64- bit register can hold any of 2 64 (over 18 quintillion or 1.8×10 19) different values.
However, a CPU might have external data buses or address buses with different sizes from the registers, even larger (the 32- bit Pentium had a 64- bit data bus, for instance). The term may also refer to the size of low-level data types, such as 64- bit floating-point arithmetic numbers.
However, in modern designs, these functions are often performed by more general purpose integer registers. In most processors, only integer or address-registers can be used to address data in memory; the other types of registers cannot.
Many computer instruction sets are designed so that a single integer register can store the memory address to any location in the computer's physical or virtual memory. Therefore, the total number of addresses to memory is often determined by the width of these registers.
When these architectures were devised, 4 GB of memory was so far beyond the typical amounts (4 MB) in installations, that this was considered to be enough headroom for addressing. 4.29 billion addresses were considered an appropriate size to work with for another important reason: 4.29 billion integers are enough to assign unique references to most entities in applications like databases.
However, 32 bits remained the norm until the early 1990s, when the continual reductions in the cost of memory led to installations with amounts of RAM approaching 4 GB, and the use of virtual memory spaces exceeding the 4 GB ceiling became desirable for handling certain types of problems. In response, MIPS and DEC developed 64- bit microprocessor architectures, initially for high-end workstation and server machines.
By the mid-1990s, HAL Computer Systems, Sun Microsystems, IBM, Silicon Graphics, and Hewlett Packard had developed 64- bit architectures for their workstation and server systems. During the 1990s, several low-cost 64- bit microprocessors were used in consumer electronics and embedded applications.
Notably, the Nintendo 64 and the PlayStation 2 had 64- bit microprocessors before their introduction in personal computers. High-end printers, network equipment, and industrial computers, also used 64- bit microprocessors, such as the Quantum Effect DevicesR5000.
64- bit computing started to trickle down to the personal computer desktop from 2003 onward, when some models in Apple's Macintosh lines switched to PowerPC 970 processors (termed G5 by Apple), and Advanced Micro Devices (AMD) released its first 64- bit x86-64 processor. In principle, a 64- bit microprocessor can address 16 Ribs (16 × 1024 6 = 2 64 = 18,446,744,073,709,551,616 bytes, or about 18.4 exabytes) of memory.
However, not all instruction sets, and not all processors implementing those instruction sets, support a full 64- bit virtual or physical address space. A PC cannot currently contain 4 petabytes of memory (due to the physical size of the memory chips), but AMD envisioned large servers, shared memory clusters, and other uses of physical address space that might approach this in the foreseeable future.
Thus, the 52- bit physical address provides ample room for expansion while not incurring the cost of implementing full 64- bit physical addresses. Similarly, the 48- bit virtual address space was designed to provide 65,536 (2 16) times the 32- bit limit of 4 GiB (4 × 1024 3 bytes), allowing room for later expansion and incurring no overhead of translating full 64- bit addresses.
The DEC Alpha specification requires minimum of 43 bits of virtual memory address space (8 Tie) to be supported, and hardware need to check and trap if the remaining unsupported bits are zero (to support compatibility on future processors). Alpha 21064 supported 43 bits of virtual memory address space (8 Tie) and 34 bits of physical memory address space (16 GiB).
Alpha 21164 supported 43 bits of virtual memory address space (8 TiB) and 40 bits of physical memory address space (1 TiB). Alpha 21264 supported user-configurable 43 or 48 bits of virtual memory address space (8 TiB or 256 TiB) and 44 bits of physical memory address space (16 TiB).
1974 Control Data Corporation launches the CDC Star-100 vector supercomputer, which uses a 64- bit word architecture (prior CDC systems were based on a 60- bit architecture). The architecture has survived through a succession of ICL and Fujitsu machines.
The latest is the Fujitsu Supernova, which emulates the original environment on 64- bit Intel processors. 1976 Cray Research delivers the first Cray-1 supercomputer, which is based on a 64- bit word architecture and will form the basis for later Cray vector supercomputers.
The CPU is used in SGI graphics workstations starting with the IRIS Crimson. Kendall Square Research deliver their first KSR1 supercomputer, based on a proprietary 64- bit RISC processor architecture running OSF/1.
1992 Digital Equipment Corporation (DEC) introduces the pure 64- bit Alpha architecture which was born from the Prism project. 1995 Sun launches a 64- bit SPARC processor, the UltraS PARC.
IBM releases the A10 and A30 microprocessors, the first 64- bit PowerPC AS processors. HP releases the first implementation of its 64- bit PA-RISC 2.0 architecture, the PA-8000.
1998 IBM releases the POWER3 line of full-64- bit PowerPC/ POWER processors. 1999 Intel releases the instruction set for the IA-64 architecture.
AMD publicly discloses its set of 64- bit extensions to IA-32, called x86-64 (later branded AMD64). 2001 Intel ships its IA-64 processor line, after repeated delays in getting to market.
Now branded Titanium and targeting high-end servers, sales fail to meet expectations. Apple also ships the 64- bit “G5” PowerPC 970 CPU produced by IBM.
Intel maintains that its Titanium chips would remain its only 64- bit processors. 2004 Intel, reacting to the market success of AMD, admits it has been developing a clone of the AMD64 extensions named IA-32e (later renamed EM64T, then yet again renamed to Intel 64).
Intel ships updated versions of its Leon and Pentium 4 processor families supporting the new 64- bit instruction set. VIA Technologies announces the Isaiah 64- bit processor.
2006 Sony, IBM, and Toshiba begin manufacturing the 64- bit Cell processor for use in the PlayStation 3, servers, workstations, and other appliances. Intel released Core 2 Duo as the first mainstream x86-64 processor for its mobile, desktop, and workstation line.
Prior to 64- bit extension processor lines were not widely available in the consumer retail market (most of 64- bit Pentium 4/D were OEM), 64- bit Pentium 4, Pentium D, and Cameron were not into mass production until late 2006 due to poor yield issue (most good yield wafers were targeted at server and mainframe while mainstream still remain 130 nm 32- bit processor line until 2006) and soon became low end after Core 2 debuted. AMD released their first 64- bit mobile processor and manufactured in 90 nm.
2013 Apple announces the iPhone 5S, with the world's first 64- bit processor in a smartphone, which uses their A7 ARMv8-A-based system-on-a-chip. 2014 Google announces the Nexus 9 tablet, the first Android device to run on the 64- bit Terra K1 chip.
1985 Cray releases UNITS, the first 64- bit implementation of the Unix operating system. 1993 DEC releases the 64- bit DEC OSF/1 AXPUnix-like operating system (later renamed Tru64 UNIX) for its systems based on the Alpha architecture.
1994 Support for the R8000 processor is added by Silicon Graphics to the IRIXoperating system in release 6.0. First 64- bit Linux distribution for the Alpha architecture is released.
1996 Support for the R4x00 processors in 64- bit mode is added by Silicon Graphics to the IRIXoperating system in release 6.2. 1998 Sun releases Polaris 7, with full 64- bit UltraS PARC support.
2001 Linux becomes the first OS kernel to fully support x86-64 (on a simulator, as no x86-64 processors had been released yet). 2001 Microsoft releases Windows XP 64- Bit Edition for the Itanium's IA-64 architecture; it could run 32- bit applications through an execution layer.
2003 Apple releases its Mac OS X 10.3 “Panther” operating system which adds support for native 64- bit integer arithmetic on PowerPC 970 processors. 2005 On January 4, Microsoft discontinues Windows XP 64- Bit Edition, as no PCs with IA-64 processors had been available since the previous September, and announces that it is developing x86-64 versions of Windows to replace it.
On January 31, Sun releases Polaris 10 with support for AMD64 and EM64T processors. On April 29, Apple releases Mac OS X 10.4 “Tiger” which provides limited support for 64- bit command-line applications on machines with PowerPC 970 processors; later versions for Intel-based Macs supported 64- bit command-line applications on Macs with EM64T processors.
2007 Apple releases Mac OS X 10.5 “Leopard”, which fully supports 64- bit applications on machines with PowerPC 970 or EM64T processors. 2009 Microsoft releases Windows 7, which, like Windows Vista, includes a full 64- bit version for AMD64/Intel 64 processors; most new computers are loaded by default with a 64- bit version.
Apple releases Mac OS X 10.6, “Snow Leopard”, which ships with a 64- bit kernel for AMD64/Intel64 processors, although only certain recent models of Apple computers will run the 64- bit kernel by default. 2011 Apple releases Mac OS X 10.7, “Lion”, which runs the 64- bit kernel by default on supported machines.
Nearly all applications bundled with Mac OS X 10.7 are now also 64- bit, including iTunes. 2017 Apple releases iOS 11, supporting only machines with AArch64 processors.
2019 Apple releases macOS 10.15 “Catalina”, dropping support for 32- bit Intel applications. A change from a 32- bit to a 64- bit architecture is a fundamental alteration, as most operating systems must be extensively modified to take advantage of the new architecture, because that software has to manage the actual memory addressing hardware.
One significant exception to this is the AS/400, software for which is compiled into a virtual instruction set architecture (ISA) called Technology Independent Machine Interface (TIME); TIME code is then translated to native machine code by low-level software before being executed. The translation software is all that must be rewritten to move the full OS and all software to a new platform, as when IBM transitioned the native instruction set for AS/400 from the older 32/48- bit IMP to the newer 64- bit PowerPC-AS, code named Amazon.
The IMP instruction set was quite different from even 32- bit PowerPC, so this transition was even bigger than moving a given instruction set from 32 to 64 bits. While the larger address space of 64- bit architectures makes working with large data sets in applications such as digital video, scientific computing, and large databases easier, there has been considerable debate on whether they or their 32- bit compatibility modes will be faster than comparably priced 32- bit systems for other tasks.
For this reason, 64- bit clusters have been widely deployed in large organizations, such as IBM, HP, and Microsoft. Some operating systems and certain hardware configurations limit the physical memory space to 3 GiB on IA-32 systems, due to much of the 3–4 GiB region being reserved for hardware addressing; see 3 GB barrier ; 64- bit architectures can address far more than 4 GiB.
However, IA-32 processors from the Pentium Pro onward allow a 36- bit physical memory address space, using Physical Address Extension (PAE), which gives a 64 GiB physical address range, of which up to 62 GiB may be used by main memory; operating systems that support PAE may not be limited to 4 GiB of physical memory, even on IA-32 processors. However, drivers and other kernel mode software, more so older versions, may be incompatible with PAE; this has been cited as the reason for 32- bit versions of Microsoft Windows being limited to 4 GiB of physical RAM (although the validity of this explanation has been disputed).
Some operating systems reserve portions of process address space for OS use, effectively reducing the total address space available for mapping memory for user programs. For instance, 32- bit Windows reserves 1 or 2 GiB (depending on the settings) of the total address space for the kernel, which leaves only 3 or 2 GiB (respectively) of the address space available for user mode.
This is a problem, as memory mapping, if properly implemented by the OS, is one of the most efficient disk-to-memory methods. This leads to a significant speed increase for tight loops since the processor does not have to fetch data from the cache or main memory if the data can fit in the available registers.
If a processor can keep only two or three values or variables in registers, it would need to move some values between memory and registers to be able to process variables d and e also; this is a process that takes many CPU cycles. This behavior can easily be compared with virtual memory, although any effects are contingent on the compiler.
The main disadvantage of 64- bit architectures is that, relative to 32- bit architectures, the same data occupies more space in memory (due to longer pointers and possibly other types, and alignment padding). This increases the memory requirements of a given process and can have implications for efficient processor cache use.
Maintaining a partial 32- bit model is one way to handle this, and is in general reasonably effective. For example, the z/OS operating system takes this approach, requiring program code to reside in 31- bit address spaces (the high order bit is not used in address calculation on the underlying hardware platform) while data objects can optionally reside in 64- bit regions.
The most severe problem in Microsoft Windows is a incompatible device drivers for obsolete hardware. Most 32- bit application software can run on a 64- bit operating system in a compatibility mode, also termed an emulation mode, e.g., Microsoft WoW64 Technology for IA-64 and AMD64.
The 64- bit Windows Native Mode driver environment runs atop 64- bit NTDLL.DLL, which cannot call 32- bit Win32 subsystem code (often devices whose actual hardware function is emulated in user mode software, like Win printers). However, the trend has since moved toward 64- bit computing, more so as memory prices dropped and the use of more than 4 GB of RAM increased.
Support for hardware made before early 2007, was problematic for open-source platforms, due to the relatively small number of users. Mac OS X 10.7 “Lion” ran with a 64- bit kernel on more Macs, and OS X 10.8 “Mountain Lion” and later macOS releases only have a 64- bit kernel.
Linux and most other Unix-like operating systems, and the C and C++tool chains for them, have supported 64- bit processors for many years. This source-based distribution model, with an emphasis on frequent releases, makes availability of application software for those operating systems less of an issue.
In 32- bit programs, pointers and data types such as integers generally have the same length. However, in most cases the modifications required are relatively minor and straightforward, and many well-written programs can simply be recompiled for the new environment with no changes.
Many 64- bit platforms today use an LP64 model (including Polaris, AIX, HP-UX, Linux, macOS, BSD, and IBM z/OS). The disadvantage of the LP64 model is that storing a long into an int may truncate.
C code should prefer (u) intptr_t instead of long when casting pointers into integer objects. A programming model is a choice made to suit a given compiler, and several can coexist on the same OS.
However, the programming model chosen as the primary model for the OS application programming interface (API) typically dominates. Many drivers use pointers heavily to manipulate data, and in some cases have to load pointers of a certain size into the hardware they support for direct memory access (MA).
As an example, a driver for a 32- bit PCI device asking the device to MA data into upper areas of a 64- bit machine's memory could not satisfy requests from the operating system to load data from the device to memory above the 4 gigabyte barrier, because the pointers for those addresses would not fit into the MA registers of the device. This problem is solved by having the OS take the memory restrictions of the device into account when generating requests to drivers for MA, or by using an input–output memory management unit (IOM MU).
VIA Technologies 64- bit extensions, used in the VIA NATO processors ^ “ARM Launches Cortex-A50 Series, the World's Most Energy-Efficient 64- bit Processors” (Press release).
^ “Cray-1 Computer System Hardware Reference Manual” (PDF). ^ Grimes, Jack; Kohn, Les; Bharadhwaj, Rajeev (July–August 1989).
“The Intel i860 64- Bit Processor: A General-Purpose CPU with 3D Graphics Capabilities”. The Breakneck Race to Create Windows NT and the Next Generation at Microsoft.
^ “i860 Processor Family Programmer's Reference Manual” (PDF). ^ “NEC Offers Two High Cost Performance 64- bit RISC Microprocessors” (Press release).
Versions of the VR4300 processor are widely used in consumer and office automation applications, including the popular Nintendo 64TM video game and advanced laser printers such as the recently announced, award-winning Hewlett-Packard Laser 4000 printer family. ^ “AMD64 Programmer's Manual Volume 2: System Programming” (PDF).
^ “Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3A: System Programming Guide, Part 1” (PDF). Status: The kernel, compiler, tool chain work.
The kernel boots and work on simulator and is used for porting of user land and running programs ^ a b John Syracuse. “Mac OS X 10.6 Snow Leopard: the Ars Technica review”.
^ “Microsoft Raises the Speed Limit with the Availability of 64- Bit Editions of Windows Server 2003 and Windows XP Professional” (Press release). ^ “Frequently Asked Questions About the Java HotSpot VM”.
“Exploring 64- bit development on POWER5: How portable is your code, really?” Cray Research systems data type mapping.