Understanding About 32 bits and 64 bits on the processor.

Kamis, 10 September 2009

Understanding About 32 bits and 64 bits on the processor.

32-bit and 64-bit actually refers to a processor architecture itself,
32-bit processor is the processor means has a register of size 32 bits.
64-bit processor is the processor means has a register of size 64 bits.

The influence of the size of the register to the velocity:
Each process read / write from memory (called a load / store) read / write information for the size of the register; the 64-bit register potential read / write memory 2x speed 32-bit registers.
But this is only theoretical, because in reality processor also spend time doing things other than load / store, such as mathematical processing, vector-processing, etc..

The influence of the size of the register of precision:
In simplistic: The longer the register, the more numbers behind the comma-which can be calculated accurately.
As an illustration: Suppose the real numbers in the resolution 32-bit is 0.0001, then the resolution of real numbers in the 64-bit can reach 0.0000001 (so much more precise).
The influence of the size of the register of the memory size:
One of the many registers are "addressing the register". Addressing the register (or registers, if more than one) is a register that has the function of 'pointing' to a particular address in memory. Coverage (range) of this appointment is called the memory space.
In 32-bit architecture, capable of addressing registers 'points' position memory from 0 to 4'294'967'295 (4 GiB - 1). This is the result appears "4 GiB limit" system based on 32-bit architecture.
In 64-bit architecture, capable of addressing registers 'points' position memory from 0 to 18'446'744'073'709'551'615 (16 EIB - 1). As we have seen, there is no longer '4 GiB limit' based system 64-bit architecture.
The influence of the size of the register of datasets:
"Dataset" is the term for 'a set of data is loaded into memory to be processed and (optionally) be written back to the hard disk'.
32-bit system is limited to datasets of (2 ^ 32) -1, or (4 GiB - 1). Given some memory must be used for OS and database programs relevant, then it is usually only for datasets 1-2 GiB course.
That is, a database of size, say, 20 GiB (not uncommon in the context of large companies), must be processed 10 ~ 20x.
64-bit systems do not have limits above. He can load datasets for the availability of memory. That is, the database on a 20 GiB can be loaded entirely (provided sufficient memory), processed in one way only.

In order that we can get the benefits of 64-bit systems, both software and hardware must support.
32-bit software on the road 64-bit hardware can not take advantage of the excess 64-bit architecture. (Software will only use 32-bits of 64-bit is available; 32-bit remainder is not recognized) ==> called 32-bit mode.
In contrast, 64-bit software can not walk in the 32-bit hardware for a wide need for 64-bit registers can not be met.
Windows XP 32-bit and Windows Vista 32-bit is 2 operating system was still operating in the 32-bit mode.
Windows XP 64-bit and Windows Vista 64-bit is 2 operating system capable of operating in the 64-bit mode.

AMD64 is a breakthrough (breakthrough) AMD x86 processor in the world.
In the past, up to Pentium 3 processor, Intel insisted on using only 32-bit architecture on x86 processors. Intel spent millions of dollars to develop 64-bit architecture is completely new (ie: Not compatible with the x86 world) in the form of Intel's Itanium.
AMD then develop instruction set (and architecture) of the x86 processors made (AthlonXP) that was born Athlon64: x86 processor with 64-bit architecture.
Extended instruction set is called AMD64 by AMD. Intel was forced to cross-license, and use the instruction set is also (but with EMT64 name, not AMD64.

Advantages and disadvantages?
We've seen the advantages of 64-bit architecture.
Now cons:
Many 32-bit software that does not go in the 64-bit architecture, especially the drivers.
Why is that?
Computers are very complex objects. To be useful for humans, computers need to do what is called "Input / Output (I / O). Examples of I / O is to send / receive data via the LAN, send pictures to Monitor via VGA Card, etc..
Well, all the actions I / O requires a buffer. For example, we know "VGA memory" on the VGA Cards; it is actually a buffer to help the VGA card display images on the monitor.
The problem is, that I / O can take place smoothly and quickly, 'buffer' is necessary to get the address. And address in the capture of memory space. This happens even though the components implementing I / O has buffernya own (example: the latest VGA card from nVidia / ATI usually has at least 256 MB of RAM on his card). Still, the memory on the card will be mapped into memory space.
In order not to clash with the operating system, which typically are loaded into memory 'low' (Bottom Memory = memory with a small address), then the mapping is usually performed in the buffer memory is 'high' (Popular Memory = memory with great address, or computed withdraw from the largest memory addresses (2 ^ 32) -1)
Note: This is also the reason that causes the computer when installed RAM 4 GiB will only be used Max 3.25 GiB (or if lucky 3.5 GiB), there was a 'lost' due to 'offset' by a buffer of the component I / O.
Well, the 64-bit architecture, the same thing was done: Buffer for I / O Memory mapped to the line. The problem, Popular Memory in 64-bit architecture clearly lies in a different position with the Download Memory on 32-bit architecture.
Driver is the most obvious victims, they try to access the Top Memory 32-bit, but the location of the buffer was not there. The result: Crash.
Another Software2 also try to access a memory line will directly crashes too.
Funny thing is, many 32-bit game that even street with no problems on 64-bit systems; it is because they do not try to access the Memory line directly, but ask for help Microsoft DirectX Layer to access the features of a VGA Card.

0 komentar: