PPRuNe Forums - View Single Post - What exactly does 64 bit mean
View Single Post
Old 16th August 2009 | 22:12
  #5 (permalink)  
Jofm5
 
Joined: Jan 2008
Posts: 525
Likes: 0
From: LONDON
Hmmmm Computers studies in 1 post, not easy but the basic theory is this

1 bit is your basic switch = its either on or off a zero or a 1.
8 bits = 1 byte, if you look at the ascii character set (Ascii Table - ASCII character codes and html, octal, hex and decimal chart conversion) you will see each of the characters in the table with a number 0-255 with 255 being the highest binary value achievable with 8 bits aka a byte (ignoring multibyte character sets for the time being).

Early CPU's were 8 bit machines, thus they moved data round at 1 byte at a time, later cpu's e.g. 16 bit could move more around at a time. A 32 bit cpu can move 4 bytes at a time and 64bit cpu's 8 bytes at a time. Thus for a single clock cycle a 64bit machine is capable of moving twice as much data as a 32 bit machine.

Where the big difference comes in is memory addressing, a memory register (think of it as being a pigeon hole) has an address for the CPU to reference it by, this address is represented by unsigned integer in binary notation the size of the cpu's addressing capability (e.g. 32bit) so for example a 32bit CPU can have 4 billion addresses which equates to the CPU being natively able to address 4gb of memory. Because a 64bit CPU is much wider it can address much more memory (16 exabytes).

In summary the benefits of a 64bit CPU over a 32bit one are the amount of memory it can natively address (Operating systems can page memory to use more than the native addressing but involved processing computations and thus a performance hit) and also the amount of data that can be moved and thus processed in a single clock cycle.

will progs have to developed to work in 64 bit systems?
The simple answer is Yes, but the correct answer in the home pc context is No. If we are referring to 64 Bit x86 compatible CPU's then because legacy support is built in a 32bit, 16bit or even 8bit developed/compiled application will run on a 64bit CPU - however they will have the constraints on them the application was developed for. E.G. a 32bit application running on a 64bit processor will still only be able to utilise 4gb of ram even though the processor can address more.

A good example is to see windows XP or Vista 32bit running on a Core 2 chip - the Core 2 chips are 64bit chips yet when running 32 bit operating systems are restricted to the constraint of 32bit memory addressing.

This may lead the question to be asked as to why most suppliers supply a 32bit operating system on a 64bit platform. This is explained by the fact for a 64bit chip to run 32 bit applications it has to switch contexts to 32bit addressing - so running a 64bit operating system with primarily 32 bit applications will result in heavy context switching between 32bit and 64bit modes which as a single context switch takes 1 clock cycle means a performance degredation.

Last edited by Jofm5; 17th August 2009 at 02:58.
Jofm5 is offline  
Reply