Click here to Skip to main content
Click here to Skip to main content

What advantages do 64-bit processors have over 32-bit ones?

, 27 Mar 2012
Rate this:
Please Sign up or sign in to vote.
There are 3 most obvious advantages of 64-bit processors over their 32-bit counterparts

There are 3 most obvious advantages of 64-bit processors over their 32-bit counterparts: extended address space, capacity increase and bigger number of general-purpose registers.

The extended 64-bit address space theoretically allows the processor to work with 16 Ebytes (2^64) of physical memory within the flat memory model. Although contemporary 64-bit processors can adress only 1 Tbyte (2^40) of memory in practice, it is still much higher than in case of 32-bit addressing. A larger amount of available memory in its turn allows you to eliminate or greatly reduce sluggish operations of data swapping to the disk.

The bigger number of registers and increase of their size allow the processor to handle large memory areas simultaneously, to handle variables and arrays more effectively and to pass function arguments in registers instead of the stack.

Keep in mind that you must port your program using the 64-bit version of the compiler and consider changes of the data model (new type capacities) to get a real performance gain on a 64-bit processor. Launching an application not adapted for the 64-bit platform might on the contrary cause great performance loss depending on the specifics of the architecture of the processor being used.

But the greatest performance gain from moving to the 64-bit platform awaits those applications which handle large data arrays - these are CAD/CAE-like programs, data managers, programs to work with digital media and applied scientific applications. The performance gain might be of several hundred percent for this kind of software.

Thus, for instance, porting the service "Oracle on Demand" by the Oracle company from the 32-bit platform to the 64-bit one allowed to reduce the server response time (350 users being working simultaneously) from 13.60 seconds to 2.35 seconds. When the FASTCOM company integrated the 64-bit platform based on Itanium 2 into their IT-infrastructure, they managed to eliminate issues caused by increased load on billing systems and get a two-fold performance gain.

References

  1. Discussion at Stackoverflow.com. 32 vs 64 bit...or, what exactly does 'processing information' mean
  2. Andrey Karpov. AMD64 (EM64T) architecture.
  3. Andrey Karpov, Evgeniy Ryzhkov. Lessons on development of 64-bit C/C++ applications.
  4. Andrey Karpov. Optimization of 64-bit programs.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Karpov Andrey
Architect Program Verification Systems, Co Ltd
Russian Federation Russian Federation

Andrey Karpov is technical manager of the OOO "Program Verification Systems" (Co Ltd) company developing the PVS-Studio tool which is a package of static code analyzers integrating into the Visual Studio development environment.

PVS-Studio is a static analyzer that detects errors in source code of C/C++ applications. There are 3 sets of rules included into PVS-Studio:

  1. Diagnosis of 64-bit errors (Viva64)
  2. Diagnosis of parallel errors (VivaMP)
  3. General-purpose diagnosis

Awards: MVP, Intel Black Belt

Andrey Karpov is also the author of many articles on the topic of 64-bit and parallel software development. To learn more about the PVS-Studio tool and sources concerning 64-bit and parallel software development, please visit the www.viva64.com site.

Best Articles:

My page on LinkedIn site: http://www.linkedin.com/pub/4/585/6a3

E-mail: karpov@viva64(dot)com

Follow on   Twitter

Comments and Discussions

 
GeneralThank you PinmemberKountree31-Jul-12 5:18 
GeneralRe: Thank you PinmemberKarpov Andrey8-Aug-12 6:24 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web01 | 2.8.140814.1 | Last Updated 28 Mar 2012
Article Copyright 2012 by Karpov Andrey
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid