Performance With 64 Bit Processors
Sign in

editricon Performance with 64 Bit processors

What’s a bit in ‘64-bit’ processor?

Bit: (short for binary digit) refers to the smallest unit of information. A single bit can hold only one of two values, either a 1 or a 0.s

A processor's "bit size" is its integer processing size or the size of the inputs to the ALU of that processor. It’s also referred to as the word size of the architecture.

What is meant by a 64 bit processor?

64 in 64bit processor means that the width of regular integer registers inside the processor is 64 bits and not the width of floating-point or external busses or size of instructions or other special registers

Consider an example

In C++, if we declare an int, it generally will be 4 bytes (or 32 bits). So, its range would be from 0 to 2^32. If we declare the same int in a 64 bit machine then, the range will be from 0 to 2^64.

This implies that, to do a calculation like 2^32 + 1, a 32 bit processor will have to undergo multiple processor cycles where as a 64 bit processor can do the same job in just 1 cycle.

In the case of a 64 bit computer, it would mean that the computer's data registers are 64 bit wide (64 bits to identify each address in the memory) and uses 64 bit address bus.

Whatever… now what has 64 bits got to do with Performance of a computer

Two 32-bit operations can be done by a 64-bit processor in one clock. (2 clocks with a 32 bit processor)

64-bit precision computations are relatively quicker than 32 bit

With 64 bit main memory bus, you can truly address immense amounts of real, virtual and external storage space. ("immense” ~= 1 million gigabytes)

It’s almost like looking at stamp size photo versus looking at a postcard size photo. Doubling the size of the information available to a PC is more than just ‘twice as much’ – it actually increases capacity by more than 4 billion times.

A 32 bit processor can only use 2^32 bytes (4GB) of RAM, however it is possible for the processor to extend the address using other means to enable it to access a larger physical memory (Extended Server Memory Architecture)

A virtual address is still limited to 32 bits but 4 extra bits can be tacked onto it during translation to a physical address. This means that each process can only access at most 4GB at once transparently though a pointer but the system as a whole can use more and the process can keep more data in memory with the help of the OS. This requires the code to explicitly support this model.

A 64 bit system can use 2^64 bytes (1717986918416777216 GB) of RAM

As previously stated a 64 bit processor may have addresses that use fewer than 64 bits and usually doesn't actually have memory interfaces that support the full 64 bit address range. Many systems also reserve parts of the address range for various uses so that some bits of the address range are lost there. For the time being the number of address bits actually supported is usually "large enough" anyway, often in the Petabyte range.

General memory limits

32-bit

64-bit

Physical memory (RAM)

4 GB

128 GB

Total virtual address space (based on a single process)

4 GB

16 TB

Virtual address space per 32-bit process

2 GB (3 GB if system is booted with /3GB switch)

4 GB if compiled with /LARGEADDRESSAWARE (2 GB otherwise)

Virtual address space per 64-bit process

Not applicable

8 TB

Paged pool

47 megabytes (MB)

128 GB

Non-paged pool

256 MB

128 GB

System page table entry (PTE)

660 MB to 900 MB

128 GB

64-bit software has the ability to do many things since they have the support for more memory than existing 32-bit

A 64 bit processor with a supporting 64 bit OS (Lets say windows x64) and with 128 GB of RAM opens up whole new scenarios in the CAD world. Loading a fully shaded three-dimensional drawing of an engine will generally take more than an hour, and will be extremely difficult to make changes to it. But now the drawing can be worked on in real time, letting the designer see changes as they’re made.

The underlying architecture of the 64-bit processors has substantial improvements over existing 32-bit processors — doubling the registers and improving I/O efficiency.

These architectural improvements translate directly into overall performance improvements, especially when paired with the new generation of I/O hardware that supports PCI-X and PCI Express.

Even 32-bit applications can benefit from these I/O improvements, especially those large applications that needed to use the /3GB switch because of memory constraints. Windows XP Pro x64 is able to provide a full 4 GB of memory space to these applications without any constraint on the operating system itself, providing a real boost for the applications that need it the most.


start_blog_img