21-07-2012, 12:15 PM
64 bit computing
The question of why we need 64-bit computing is often asked but rarely answered in a satisfactory manner. There are good reasons for the confusion surrounding the question.That is why first of all; let's look through the list of users who need 64 addressing and 64-bit calculations today: oUsers of CAD, designing systems, simulators do need RAM over 4 GB. Although there are ways to avoid this limitation (for example, Intel PAE), it impacts the performance. Thus, the Xeon processors support the 36bit addressing mode where they can address up to 64GB RAM.
The idea of this support is that the RAM is divided into segments, and an address consists of the numbers of segment and locations inside the segment. This approach causes almost 30% performance loss in operations with memory. Besides, programming is much simpler and more convenient for a flat memory model in the 64bit address space - due to the large address space a location has a simple address processed at one pass. A lot of design offices use quite expensive workstations on the RISC processors where the 64bit addressing and large memory sizes are used for a long time already. oUsers of data bases.
Any big company has a huge data base, and extension of the maximum memory size and possibility to address data directly in the data base is very costly. Although in the special modes the 32bit architecture IA32 can address up to 64GB memory, a transition to the flat memory model in the 64bit space is much more advantageous in terms of speed and ease of programming. oScientific calculations. Memory size, a flat memory model and no limitation for processed data are the key factors here. Besides, some algorithms in the 64bit representation have a much simpler form. oCryptography and safety ensuring applications get a great benefit from 64bit integer calculations.
The labels "16-bit," "32-bit" or "64-bit," when applied to a microprocessor, characterize the processor's data stream. Although you may have heard the term "64-bit code," this designates code that operates on 64-bit data. In more specific terms, the labels "64-bit," 32-bit," etc. designate the number of bits that each of the processor's general-purpose registers (GPRs) can hold. So when someone uses the term "64-bit processor," what they mean is "a processor with GPRs that store 64-bit numbers." And in the same vein, a "64-bit instruction" is an instruction that operates on 64-bit numbers. In the diagram above black boxes are code, white boxes are data, and gray boxes are results. The instruction and code "sizes" are not to be taken literally, since they're intended to convey a general feel for what it means to "widen" a processor from 32 bits to 64 bits.
Not all the data either in memory, the cache, or the registers is 64-bit data. Rather, the data sizes are mixed, with 64 bits being the widest. Note that in the 64-bit CPU pictured above, the width of the code stream has not changed; the same-sized opcode could theoretically represent an instruction that operates on 32-bit numbers or an instruction that operates on 64-bit numbers, depending on what the opcode's default data size is. On the other hand, the width of the data stream has doubled. In order to accommodate the wider data stream, the sizes of the processor's registers and the sizes of the internal data paths that feed those registers must be doubled.
Now let's take a look at two programming models, one for a 32-bit processor and another for a 64-bit The registers in the 64-bit CPU pictured above are twice as wide as those in the 32- bit CPU, but the size of the instruction register (IR) that holds the currently executing instruction is the same in both processors. Again, the data stream has doubled in size, but the instruction stream has not. Finally, the program counter (PC) has also doubled in size.
For the simple processor pictured above, the two types of data that it can process are integer data and address data. Ultimately, addresses are really just integers that designate a memory address, so address data is just a special type of integer data. Hence, both data types are stored in the GPRs and both integer and address calculations are done by the ALU.Many modern processors support two additional data types: floating-point data and vector data. Each of these two data types has its own set of registers and its own execution unit(s).
32 - bit
Since 1995, when Windows 95 was introduced with support for 32-bit applications, most of the software and operating system code has been 32-bit compatible.
32-bit refers to the number of bits (the smallest unit of information on a machine) that can be processed or transmitted in parallel, or the number of bits used for single element in a data format. The term when used in conjunction with a microprocessor indicates the width of the registers; a special high-speed storage area within the CPU. A 32-bit microprocessor can process data and memory addresses that are represented by 32 bits.
32-bit systems were once desired because they could address (point to) 4 Gigabytes (GB) of memory in one go. Some modern applications require more than 4 GB of memory to complete their tasks so 64-bit systems are now becoming more attractive because they can potentially address up to 4 billion times that many locations.
Here is the problem, while most of the software available today is 32-bit, the processors we buy are almost all 64-bit.
64-bit
In computer architecture, 64-bit integers, memory addresses, or other data units are those that are at most 64 bits (8 octets) wide. Also, 64-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size. 64-bit is also a term given to a generation of computers in which 64-bit processors are the norm.
64-bit 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 existed in supercomputers since the 1970s (Cray-1, 1975) and in RISC-based workstations and servers 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 64-bit register can store 264 = 18446744073709551616 different values, a number in excess of 18 quintillion. Hence, a processor with 64-bit memory addresses can directly access 264 bytes of byte-addressable memory.
Without further qualification, 64-bit computer architecture generally has integer and addressing registers that are 64 bits wide, allowing direct support for 64-bit data types and addresses. 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 numbers.
64-bit therefore refers to a processor with registers that store 64-bit numbers. A generalization would be to suggest that 64-bit architecture would double the amount of data a CPU can process per clock cycle. Users would note a performance increase because a 64-bit CPU can handle more memory and larger files. One of the most attractive features of 64-bit processors is the amount of memory the system can support. 64-bit architecture will allow systems to address up to 1 terabyte (1000GB) of memory. In today's 32-bit desktop systems, you can have up to 4GB of RAM (provided your motherboard that can handle that much RAM) which is split between the applications and the operating system (OS).
Unfortunately, most benefits of a 64-bit CPU will go unnoticed without the key components of a 64-bit operating system and 64-bit software and drivers which are able to take advantage of 64-bit processor features. Additionally for the average home computer user, 32-bits is more than adequate computing power.
64 Vs 34
32-bit Vs 64-bit Computing
To start, let me explain the difference between 32 and 64-bit systems, and the 'why' behind it.
In your computer, you have several 'items' that, normally, you don't concern yourself about. One of those is the 'data buss'. It doesn't go across town or anything like that, but it does provide transportation. Basically, It connects memory to the rest of the system including the processor, which does all the thinking in your computer.
The 'data buss' is used to move the data around inside your computer. In a 32-bit computer, the width (or size) of the data Buss is 32-bits wide. A 64-bit buss is twice as wide so the system can move twice as much data around. Being able to process more data means a faster system -- but only for specific things. Normal office productivity and web surfing will show no advantages at all, whereas graphics processing and scientific calculations will go much faster.
Processor manufacturers are working out ways to provide 64-bit processors that are faster and cooler running temperatures so you may hear about multi-core processors and other highly technical terms that are related to 64-bit computing. So, as they say, the band is in the bandwagon, playing a bouncy tune, the parade has started, and 64-bit is being touted as the up and coming technology for computing.
As the number of bits increases there are two important benefits.
• More bits means that data can be processed in larger chunks which also means more accurately.
• More bits mean our system can point to or address a larger number of locations in physical memory.
32-bit systems were once desired because they could address (point to) 4 Gigabytes (GB) of memory in one go. Some modern applications require more than 4 GB of memory to complete their tasks so 64-bit systems are now becoming more attractive because they can potentially address up to 4 billion times that many locations.
Since 1995, when Windows 95 was introduced with support for 32-bit applications, most of the software and operating system code has been 32-bit compatible.
Here is the problem, while most of the software available today is 32-bit, the processors we buy are almost all 64-bit.
software
Computer instructions or data. Anything that can be stored electronically is software. The storage devices and display devices are hardware.
The terms software and hardware are used as both nouns and adjectives. For example, you can say: "The problem lies in the software," meaning that there is a problem with the program or data, not with the computer itself. You can also say: "It's a software problem."
The distinction between software and hardware is sometimes confusing because they are so integrally linked. Clearly, when you purchase a program, you are buying software. But to buy the software, you need to buy the disk (hardware) on which the software is recorded.
Software is often divided into two categories:
• System software : Includes the operating system and all the utilities that enable the computer to function.
• Application software: Includes programs that do real work for users. For example, word processors, spreadsheets, and database management systems fall under the category of applications software