View Full Version : Difference between 64 and 32 bit processors?
bterry13
07-27-03, 11:26 PM
My friend brought up to me that the Mac G5 has a 64bit processor but niether of us knew the difference between that and a 32 bit processor.
I was thinking the athlon mp(?) series was a server series that used 64bit processors. Also, the G5 has two processors. They advertise the G5 as a personal computer, but it seems to be more of a server. Aren't two processors practically worthless on a personal computer?
Constantinos
07-27-03, 11:29 PM
The AMD opertron is the 64-bit line for AMD. The MP is the same as an XP, its jsut used for dual proccessor systems os the MP is a 32-bit processor.
new technology is expensive. old technology is overclockable ;)
Constantinos
07-27-03, 11:52 PM
Also i dont think you can run normal software on a 64-bit processor. You wont be able to play games cause their all built for 32-bit technology.
petery83
07-28-03, 12:03 AM
...unless you use an emulator (degrades performance) or use an opteron (which runs 32-bit code natively)
Hedgehogforprez
07-28-03, 12:52 AM
Same with ath64's....the only 64b proc that emulates is the itanium.
32bit CPUs handle 32 bits of data at a time, 64bit CPUs handle 64bits at a time. Therefore there is a theoretical potential of doubling your throughput at a given speed, it actually should translate to a 10-20% performance gain.
As metioned this requires a 64bit OS and 64bit games/apps.
Itanium was before the G5 or opie/a64 and it was/is available in workstations which in my mind is a desktop machine. Opie is available in workstations, again a workstation is just a high end desktop. Apple has neither the first 64bit CPU, the first desktop 64bit CPU nor the fastest CPU...just ignore them, they are trying to drum up some sales by using marketing to say things to confuse the common computer consumer.
NookieN
07-28-03, 03:01 AM
Originally posted by DaddyB
32bit CPUs handle 32 bits of data at a time, 64bit CPUs handle 64bits at a time. Therefore there is a theoretical potential of doubling your throughput at a given speed, it actually should translate to a 10-20% performance gain.
That's not really the case. The difference between 32-bit and 64-bit designs can mean two things: either increased precision (and larger numbers), or increased address space.
For over a decade and a half now, desktop computers have had up to 80-bit floating point numbers. And the SSE2 instruction set can handle 128-bit numbers. Most SIMD instruction sets (such as SSE/2, 3DNow, Altivec, etc) let you pack two 32-bit numbers into 64-bits, or 4 into 128-bits, which can be far more useful than one 64-bit number in common tasks. So saying a CPU can handle 64-bit data is nothing impressive.
When people talk about 64-bit CPUs today, they mean chips that have 64-bits of address space. That's the only difference. And currently, it's not a very important difference for the vast majority of desktop users.
imgod2u
07-28-03, 03:19 AM
Not to be anal (well, perhaps I am being anal), but 64-bit refers to the width of the General Purpose Registers (or GPR's) which are used to store Integer and Memory Addresses (pointers). A "64-bit" MPU, by definition, will have 64-bit wide GPR's. It doesn't have to have 64-bits of address space (Opteron and Itanium 2 both "only" have 48-bits of virtual address space) and it doesn't neccessarily need to have 64-bit wide ALU's. Although most 64-bit implementations do use 64-bit wide ALU's.
This translates into more flat memory address and the ability to use bigger integers without a performance hit. The former seems to be the more important feature (modern 32-bit MPU's can address up to 4 GB of flat memory, which is becomming a limitation in the workstation market). The latter would be useful in things such as cryptography. However, for the majority of home-applications (which are becomming more and more floating-point intensive), it means very little, if anything at all. Of course, most of the new "64-bit" MPU's also bring other improvements other than just the "64-bitness". x86-64 (the ISA used by Opteron and the Athlon64), for instance, brings about 8 additional GPR's and 8 additional SSE register. These, if utilized, should bring about a 10-15% performance improvements. The "64-bitness" has nothing to do with it.
I didn't exactly word my original post correctly, I was just trying to illustrate the difference between 32 and 64bit. I will try to put together a more comprehensive post tomorrow (it's too late now)but...
If what you two are saying were correct then there would be no need for a x86-64bit OS, SSE (and SSE2) is supported in current OSs and the amount of RAM is not going to effect speed that much.
When there is a 64bit Windows for AMD CPUs you will see a 10%-20% performance improvement (over an identicle system with the same amount of RAM) as is already the case with Linux. Where will the speed come from if not what I said?
simply put a 32 bit processor is based on 32bits. . . to handle 64 it requires 2 clock cycles. this in mind a 64bit (true and totally 64 bit) will out perform a 32bit system at the same clock speed. ALSO a 64bit system add 'accuracy' i.e. 32 bit graphics as opposed to 64. and this too is just ONE aspect. . . remember the 386 was a 16 bit chip but would do 32 bit virtual. . . as in it took 2 clock ticks to process 32bits.
Caffinehog
07-28-03, 10:42 AM
Originally posted by bterry13
Aren't two processors practically worthless on a personal computer? The G5 is a workstation... Apple just has it's head on backwards. Duals can be useful, especially if you are encoding Divx or something that's very demanding on a cpu, and you want to do something else at the same time. And things like PhotoShop love duals, since they are designed to use them. If you don't do stuff like that, then a dual is pretty useless.
NookieN
07-28-03, 11:27 AM
Originally posted by Zuzzz
simply put a 32 bit processor is based on 32bits. . . to handle 64 it requires 2 clock cycles. this in mind a 64bit (true and totally 64 bit) will out perform a 32bit system at the same clock speed. ALSO a 64bit system add 'accuracy' i.e. 32 bit graphics as opposed to 64. and this too is just ONE aspect. . . remember the 386 was a 16 bit chip but would do 32 bit virtual. . . as in it took 2 clock ticks to process 32bits.
First of all, the 386 was a fully 32-bit processor. It has 32-bit registers and 32-bit address space.
Second, pretty much any modern 32-bit processor can work with 64-bit numbers (be it integer or FP). These are of course functions of special instructions, but x86 has always been about extending the instruction set wherever needed.
And a 64-bit processor/OS really wouldn't have any impact on the accuracy of graphics. That's more a function of the GPU, most of which can do 128-bit vector processing already.
imgod2u
07-28-03, 05:11 PM
Well, if by "most" you mean NV30 and NV35. Those are the only GPU I'm aware of that works on 128-bit Vectors (which are much like SSE vectors, 4x 32-bit FP data). First and foremost, "64-bit", like I mentioned before, only refers to the GPR size. This has absolutely no bearing on FP precision (which is what graphics today heavily use). Secondly, the definition of a "64-bit MPU" is merely that its GPR's are 64-bits wide. It *does not* need to have a 64-bit wide ALU (meaning it can actually calculate a whole 64-bit number in one clock). It can have only 32-bit wide ALU's and merely execute the instructions in multiple clock iterations (much like how the double-pumped simple ALU's on the P4 are 16-bits wide, but they're double-pumped). It would still, by definition, be a "64-bit" MPU. So no, it has very little to do with execution speed.
As you were saying with the P4, it has "double pumped" 16bit ALU's which gives it the same performance as 32bit, if it was only a single 16bit ALU then it would take more clock cycles to execute the instructions. Same with 64bit, it will be able to do 64bit instructions in half the number of clock cycles as compared to an identicle CPU in 32bit mode.
As I has said previously performance increases with a 64bit OS, take a look at these numbers (http://www17.tomshardware.com/cpu/20030422/opteron-17.html), in some things you see a 20% (or more) performance improvement and in some things there is very little performance gain. Since it is the same CPU in the same machine it has the same amount of RAM and all instruction sets/registers (ie SSE2). The performance increase is purely due to being able to handle larger intergers in fewer cycles and without the use of extra registers is it not?
There may not be a 'need' for 64bit CPUs for the majority of us but it will speed things up a bit and as 64bit CPUs become more common place so will 64bit code. It's like with video cards, who would have imagined a few years ago that the pixel pipelines would be used to apply effects while video editing? Thanks to DX9 it is now possible. Once 64bit CPUs are in our systems the programmers will find ways to code more effectivly use it to boost performance.
imgod2u
07-28-03, 07:08 PM
As you were saying with the P4, it has "double pumped" 16bit ALU's which gives it the same performance as 32bit, if it was only a single 16bit ALU then it would take more clock cycles to execute the instructions. Same with 64bit, it will be able to do 64bit instructions in half the number of clock cycles as compared to an identicle CPU in 32bit mode.
The point is, of course, that just because an MPU is "64-bit" does not mean it will neccessary have 64-bit execution units. Merely that it has 64-bit GPR's.
As I has said previously performance increases with a 64bit OS, take a look at these numbers, in some things you see a 20% (or more) performance improvement and in some things there is very little performance gain. Since it is the same CPU in the same machine it has the same amount of RAM and all instruction sets/registers (ie SSE2). The performance increase is purely due to being able to handle larger intergers in fewer cycles and without the use of extra registers is it not?
Not the same registers. In "64-bit mode", x86-64 allows access to 8 additional SSE register and 8 additional GPR's. This is unique to x86-64, not a feature of "being 64-bit" but rather a feature of x86-64.
There may not be a 'need' for 64bit CPUs for the majority of us but it will speed things up a bit and as 64bit CPUs become more common place so will 64bit code. It's like with video cards, who would have imagined a few years ago that the pixel pipelines would be used to apply effects while video editing? Thanks to DX9 it is now possible. Once 64bit CPUs are in our systems the programmers will find ways to code more effectivly use it to boost performance.
There's no "need" for 64-bit because most intensive applications nowadays use FP data, not integer. Like I said before, being "64-bit" applies only to the GPR's. Modern x86 MPU's (Athlon, P4, P3, etc.) already use 80-bit FP precision for FP data and they do have 80-bit wide execution units.
The only feasible improvement would be the ability to address more than 4 GB of flat memory in terms of consumer applications. The only applications that use integers that large (64-bit integers) are probably cryptography and scientific calculators. The bulk of computing has moved or are moving towards FP-intensive. And being "64-bit" means has absolutely no meaning in terms of FP.
I find it a common mistake that people confuse x86-64 with "64-bit" in general. x86-64 is *not just* a 64-bit extension, it brings more and *those* features will provide speed improvements in your typical consumer applications. AMD claims 10-15%.
NookieN
07-28-03, 07:20 PM
Originally posted by DaddyB
Same with 64bit, it will be able to do 64bit instructions in half the number of clock cycles as compared to an identicle CPU in 32bit mode.
But if the CPU that takes twice as many cycles runs at twice the clock rate as the other CPU, it doesn't matter.
As I has said previously performance increases with a 64bit OS, take a look at these numbers (http://www17.tomshardware.com/cpu/20030422/opteron-17.html), in some things you see a 20% (or more) performance improvement and in some things there is very little performance gain.
Running massive MySQL queries under linux is not exactly representative of typical applications. It doesn't correspond to the kind of processing required for gaming, digital video, etc. Plus those benchmarks are just from one program. It's likely that it has some specific optimizations for Opteron in 64-bit mode.
Rasputin'sLiver
07-28-03, 08:01 PM
ironically many video game systems have been running at 64 bits for some time now. it's amazing that desktops are now catching up to what are essentially toys!
imgod2u
07-29-03, 02:36 AM
The X-Box is technically "32-bit" (it runs a P3) and it's more powerful than the N64 or Jaguar (or was it Saturn that Sega made that was "64-bit"?). This is exactly what I mean when I say that it means very little for graphics/gaming. Games have shifted towards floating-point and no longer use integers to represent pixel values like they did in the N64 days. "32-bit" or "64-bit" means very little as it refers to only integer and memory address size.
Well, the 'bitness' of different consoles is just PR BS mostly :p :D
imgod2u
07-29-03, 07:15 AM
Not really, the "bitness" in most consoles actually refers to the "bitness" of the CPU inside it. Of course, modern consoles (most notably the PS2) stray so far from the conventional PC-like design (a CPU and a GPU, main memory, etc.) that it's difficult to label a "bitness".
Jaguar is old and was made by Atari if memory serves (old meaning SNES days or thereabouts), I don't recall if it was 64bit or not. Dreamcast was Sega's newest console and was 128bit according to this (http://www.cnn.com/TECH/computing/9909/09/dreamcast/) and the saturn was 32bit but had 3 processors (http://www.segaoa.com/saturn.html).
Back to the original topic, what is the difference between 32 bit and 64 bit then? Just that it can address more RAM (keep in mind he isn't asking about x86-64/amd64, just in general)?
I'd say the difference are that it can handle more RAM and the ALU can handle large intergers faster/more efficiently. Anyone disagree with that?
BTW I used the link to Tom's because it is the only bench I have seen that compares the 32bit and 64bit modes of the Opie and when there is a 3.6Ghz 32 bit AMD CPU I will agree that it can handle an equal numer of 64 bit ops in the same amount of time ( not clock cycles) as the 1.8Ghz Opie (in 64bit mode).
I haven't looked at any specs for any of the new CPUs (The Apple PowerPC or Opteron) But 64-bit can mean a lot of things. Internal data bus, External Data bus, instruction size, operand, register size, ALU, etc. Saying that your CPU is 64-bit doesn't really mean much.
How many bits are there for the address bus on the G5? I don't see exactly where 64-bit = 8 GB of memory.
64-bit can be faster, and slower. Depends on the code.
But, unless IBM and AMD are lying and/or really stupid corporations with money to waste on something because it sounds good for their marketing depts, I would tend to think that 64-bit will be faster.
gamefoo21
07-30-03, 02:39 AM
people see "64-Bit Capable" and they think its better than a p4 its all a marketing scheme now-a-days. so ppl buy therefore making the companies mo money.
Arkaine23
07-30-03, 02:45 AM
The biggest difference is that 32 bit CPU's can only address 4GB of ram at one time, while 64 bit CPU's can address up to 64GB of ram (assuming a mobo is built with 64 slots for 1GB ram sticks).
G5's are not true 64 bit CPU's, but neither are they 32 bit CPU's. I think they support as much as 8GB of ram.
Opterons- AMD 64 bit CPU's offer a very fast interface from CPU to ram since the memory controller is built-in to the CPU. There's very low latency. So better performace even if the CPU clock speed is low. Also, they are available with varying amounts of L2 cache- from 512kb to 1.5mb.
Hedgehogforprez
07-30-03, 08:23 AM
Originally posted by Arkaine23
(assuming a mobo is built with 64 slots for 1GB ram sticks).
Or simply just 32 slots where one could fit 32 2gb sticks ;) That would get rather spendy but correct me if I am wrong, couldn't SMP allow more memory or am I just delusional?
imgod2u
07-30-03, 12:00 PM
No, it couldn't. Even in SMP, the programming model remains the same. There is only 1 memory address space at any given time.
druidelder
07-30-03, 09:19 PM
If workstations are desktops, then I think Sun/Digital/etc... had Intel/AMD/Apple beat.
Two processors are not worthless on a personal computer (16,32,64,1024bit or otherwise), unless you only run one or two apps at a time. Macs have long been the domain of graphic artists, digital musicians, video editors, etc.... These programs can put a strain on a single processor (particullarly with large files). The second processor allows you to be able to run other things at the same time without a performance hit.
That's why we have the SMP section. ;)
Michal[mt]
07-31-03, 08:17 AM
new technology is expensive. old technology is overclockable
Nice statement Pixel ;)
There is no need to introduce a 64bit architecture at this time guys. Marketing and business never brought significant innovations.
OC Detective
07-31-03, 09:59 AM
Originally posted by Michal[mt]
Nice statement Pixel ;)
There is no need to introduce a 64bit architecture at this time guys. Marketing and business never brought significant innovations.
I take it you are confining that statement to cpus. The Walkman (extremely innovative at the time) is one of many products that only became popular through market push as opposed to demand pull and that spawned many spin off products..
druidelder
07-31-03, 01:50 PM
A note about RAM addressability, the maximum amount of RAM a processor supports is determined by the Address Bus Width. This is not determined by the "bitness" of the processor. From the 386DX to the Pentium MMX (on the Intel side any way), the ABW was 32 bits, allowing for a maximum of 4GB system RAM. The Pentium Pro and Pentium II (and I would imagine later processors as well) had an ABW of 36 bits, allowing for a maximum of 64GB of system RAM. The maximum memory supported by a system is usually throttled by the chipset (not the processor).
The 4GB barrier is the maximum cacheable memory. A system can have more physical memory than the cacheable memory, but at a performance hit (5-25%). Until the Pentium Pro, the chipset determined what the cacheable limit was (this is determined by the length of the tag RAM which is part of the L2 cache). Since that time the L2 cache has been integrated on the chip and control for maximum cacheable RAM has moved to the processor. The Pentium Pro could cache up to 4GB, but the Pentium II could only cache 512MB.
You may already know this, but I thought I'd throw in a history lesson for those that didn't.
dippy_skoodlez
07-31-03, 02:42 PM
Originally posted by bterry13
My friend brought up to me that the Mac G5 has a 64bit processor but niether of us knew the difference between that and a 32 bit processor.
I was thinking the athlon mp(?) series was a server series that used 64bit processors. Also, the G5 has two processors. They advertise the G5 as a personal computer, but it seems to be more of a server. Aren't two processors practically worthless on a personal computer?
The macs are different. run TOTALLY different codes, and most G4's have dual Proc's. thus, most/ a LoT of the higher end/main macs have dual CPU's. so, most programs can take advantage of it.
vBulletin® v3.8.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.