64-bit processors

kainjow

Registered
How is a 64-bit processor better than a 32-bit processor? I read an article over on MacCentral titled Details emerge on IBM's PowerPC 970 chip but it's too technical for me. :(

Can somebody explain why Mac OS X would be better and applications be better if they were written for a 64-bit processor like the PowerPC 970?

If Panther was written better for the PowerPC 970 processor would the whole OS just be faster? Responsive?

Thanks! :D
 
Basically what I've gained from the article:
1.) Speed. 64-bit processors are able to do much more per clock cycle than 32-bit processors. So, for example, if you had a 32-bit 1.6 GHz processor and a 64-bit 1.6 GHz processor running the same things, the 64-bit processor would get those things done faster, since the processor can work on more things at a time. Also, the 970 apparently has the same Altivec engine as the current G4, so any OS X apps optimized for Altivec (Photoshop, OS X itself, etc.) should also see speed boosts.
2.) Longer pipeline. This totally dispells the MHz myth; if Apple goes with this chip, it will make useless all the things they said before about pipeline stages and the Megahertz Myth. However, hopefully the chip shouldn't have many more stages than the current G4 (at 7, I think). I'm pretty sure I heard the magic number of 10 pipeline stages somewhere around this site... ;) The Pentium 4 works at 20 pipeline stages, which explains why they're over 3 GHz. Basically, more pipeline stages simply means that they can push the chip to higher clock speeds. We're thinking 2 GHz by the end of the year for the PowerPC 970.

Also the 970 has a high bandwidth memory bus, which means that (correct me if I'm wrong) insanely high amounts of data can be pushed through it per second.
 
Originally posted by Ricky
Basically what I've gained from the article:
1.) Speed. 64-bit processors are able to do much more per clock cycle than 32-bit processors. So, for example, if you had a 32-bit 1.6 GHz processor and a 64-bit 1.6 GHz processor running the same things, the 64-bit processor would get those things done faster, since the processor can work on more things at a time. Also, the 970 apparently has the same Altivec engine as the current G4, so any OS X apps optimized for Altivec (Photoshop, OS X itself, etc.) should also see speed boosts.
2.) Longer pipeline. This totally dispells the MHz myth; if Apple goes with this chip, it will make useless all the things they said before about pipeline stages and the Megahertz Myth. However, hopefully the chip shouldn't have many more stages than the current G4 (at 7, I think). I'm pretty sure I heard the magic number of 10 pipeline stages somewhere around this site... ;) The Pentium 4 works at 20 pipeline stages, which explains why they're over 3 GHz. Basically, more pipeline stages simply means that they can push the chip to higher clock speeds. We're thinking 2 GHz by the end of the year for the PowerPC 970.

Also the 970 has a high bandwidth memory bus, which means that (correct me if I'm wrong) insanely high amounts of data can be pushed through it per second.

...the fact that 970 has SMP in mind from the get-go! Which basically means that we can see EASILY systems range from 1 CPU up to 4 CPUs with no THAT high prices AND huge performance gains at the same time... :p :D ;)

:)

Intel/Amd go 5GHz? Apple goes quad 1.4GHz or even dual 2.5GHz... They go 10GHz? Apple goes quad 2.5 GHz... :rolleyes: And all this without Apple having to pay R&D for CPUs (because as of now IBM has 970 running up to 2.5GHz in their Labs) or in general braking any "sweat"...

Oh, yes... The wheel is turning again! :D ;)
 
Technically AFAIK 64 bit processors are not per se faster than 32 bit processors. BUT: depending on how exactly the code is written and executed you can get gains in speed.

The major advantages of 64 bit over 32 bit processing are:
1) More RAM can be addressed (more than 4 GB).
2) You can execute 64 bit code. :)

From ArsTechnica:
only applications that require and use 64-bit integers will see a performance increase on 64-bit hardware that is due solely to a 64-bit processor's wider registers and increased dynamic range. So there's no magical performance boost inherent in the move from 32 bits to 64 bits

BEsides that the specifically used processor (PPC 970) has more advantages than just being 64 bits. First, he will be faster: 1.2 -- 1.8 GHZ probably. Moreover HE will be easier to use in multi-processor setups (dual or even quadro configurations). Due to design, it seems the performance come next to doubling from one to two processors.
Then again the 970 @ 1.8 GHz will have a FSB (Front Side Bus) of 900 MHz, while Macs now have FSBs of 133--166(?) MHz (not sure). Much depends on the motherboard design and related items, like RAM etc.
So, the main advanteges of the 970 are not really in the 64 bitness. Biggest pro of 64bits is more RAM (for working with really big files, like movies and rendering).
 
Cat is right, unless you've been executing code that has a lot of 64bit values, you won't see any inherent benefits from moving to 64bits from 32bits. Note that 32 -> 64 won't be nearly as a wonderous thing as moving from 8 -> 16 or 16 -> 32. The reason for this is that a 32bit integer is a very natural sized value to use. It's big enough to store most values that get commonly used. 16 bits was just too small, so one would use 32bit integers a lot, which had a negative impact on performance on a 16bit machine.

However having a 64bit processor doesn't in and of itself increase your address space as the address space size and your native register size are not necessarily related (past processors of all sorts have had both larger and smaller address lines vs register size).

Hulk is also right on about having SMP in mind from the getgo. Makes a huge difference in the actual speed you get from adding proccies. Note that you will generally never see a literal increase in speed on a single piece of work from adding processors (i.e. one 4ghz processor will beat 2x2ghz processors doing single tasks). The biggest gain is in A) those tasks that can naturally parallelizable B) from and user perspective the responsiveness of the system is generally much better when the system is "busy" vs a single processor. Not everything lends itself to being split up, and many things that do don't have code that allows it to do so. This is one area that the Mac lags behind (software wise, not necessarily hardware) as well as *nix in general (threading in *nix is a bit hit or miss and is only recently getting sorted out, you still don't see it really taken advantage of as widespread as in NT), but as developers start taking advantage of it more, we'll see even better performance from SMP hardware.
 
Originally posted by binaryDigit
Hulk is also right on about having SMP in mind from the getgo. Makes a huge difference in the actual speed you get from adding proccies. Note that you will generally never see a literal increase in speed on a single piece of work from adding processors (i.e. one 4ghz processor will beat 2x2ghz processors doing single tasks). The biggest gain is in A) those tasks that can naturally parallelizable B) from and user perspective the responsiveness of the system is generally much better when the system is "busy" vs a single processor. Not everything lends itself to being split up, and many things that do don't have code that allows it to do so. This is one area that the Mac lags behind (software wise, not necessarily hardware) as well as *nix in general (threading in *nix is a bit hit or miss and is only recently getting sorted out, you still don't see it really taken advantage of as widespread as in NT), but as developers start taking advantage of it more, we'll see even better performance from SMP hardware.

...producing more and more software for its platform, Mac SMP seems interesting, isn't it? Now, as you rightfully said, if only other developers will support it... :rolleyes:

But I think the better thing that 970 will bring to Macs isn't 64 bit... Faster BUSSES in general, faster AGP, faster RAM, faster everything... PLUS, the 970 will be able to up the GHz a lot faster than G4 would ever dream of...

However, 64 bit will take some time to catch up because it needs new apps in order to shine and this is a problem for Wintel too... But we will be there, methinks, both the Macs and Wintels (especially with the boost of AMD which it seems that it will push the Intel to go 64bit faster than Intel had in mind, maybe the same way AMD did to Intel for MHz :rolleyes: ) :p

:D ;)

:)
 
as far as I understand this:

with 32bit, a cpu can process 32bits of code in some amount of time and a 64bit can process 64bits in the same amount of time. so with proper code prorams would work twice as fast.
It's like if u have a big crowd of people and double door. They are no different to single if you only open one door, but ppl can go in twice as fast if you open both of them

am I right here? :D
 
Originally posted by Racer D
as far as I understand this:

with 32bit, a cpu can process 32bits of code in some amount of time and a 64bit can process 64bits in the same amount of time. so with proper code prorams would work twice as fast.
It's like if u have a big crowd of people and double door. They are no different to single if you only open one door, but ppl can go in twice as fast if you open both of them

am I right here? :D

Sorta. Like I said in my previous post, many applications today don't need 64bit calcs as 64bit integers are overkill for many/most apps. Think of how many numbers you deal with in day to day life (even computing life), now how many times do you deal with values above 4billion? Unless you're a large company, it's very rare. So for your typical user, the use of 64bit integers doesn't really buy much.

The example you give is more of a reasoning for going with multiple execution stages. A better analogy might be to say, imagine a door that is somewhat narrow. Your average person can get through it easy enough, but "larger" people have to turn sideways, taking them twice as long to get through the door. Now you upgrade to the 64bit door which is twice as wide. Your "average" person doesn't really benefit, but now your "larger" person can go straight through. But as you will notice, the benefits you derive are totally dependant on the number of "larger" people you have (if you have none, you see no benefit, if they're ALL larger, then you'll see roughly twice the performance). And you will also notice that as the door gets larger, the number of people likely to benefit also decrease (assuming a bell shaped distribution of people sizes). So going from 8bit door to 16bit to 32bit door paid big dividends. But going to 64bit door isn't as likely because generally you won't have that many large people in the general population (there will always be special cases of course).
 
binary....what a kick-ass analogy....great way to break it down for everyone.

Thanks,
Eddie
 
Originally posted by binaryDigit
Sorta. Like I said in my previous post, many applications today don't need 64bit calcs as 64bit integers are overkill for many/most apps. Think of how many numbers you deal with in day to day life (even computing life), now how many times do you deal with values above 4billion? Unless you're a large company, it's very rare. So for your typical user, the use of 64bit integers doesn't really buy much.

The example you give is more of a reasoning for going with multiple execution stages. A better analogy might be to say, imagine a door that is somewhat narrow. Your average person can get through it easy enough, but "larger" people have to turn sideways, taking them twice as long to get through the door. Now you upgrade to the 64bit door which is twice as wide. Your "average" person doesn't really benefit, but now your "larger" person can go straight through. But as you will notice, the benefits you derive are totally dependant on the number of "larger" people you have (if you have none, you see no benefit, if they're ALL larger, then you'll see roughly twice the performance). And you will also notice that as the door gets larger, the number of people likely to benefit also decrease (assuming a bell shaped distribution of people sizes). So going from 8bit door to 16bit to 32bit door paid big dividends. But going to 64bit door isn't as likely because generally you won't have that many large people in the general population (there will always be special cases of course).

...640KB of RAM and of course look where we currently are... :p

I think that in nowadays 64 bit can offer to us MANY GREAT things like:
- Games
- Music
- Video
- Speech Recognision
- Better AI from devices/apps/games
- 3D/4D industrial graphics design
- Support more than 4GB of RAM and files
- And many-many little things

Of course in the couple years ahead we will not be able to earn all the above at once but these 64 bit things will come in pieces in order to complete the full puzzle that 64 bit capabilities truly are...

I think we all know that 4 GB of RAM and the 2 GB of file limit are somewhat a horn in the back of a serious computing life of any given person or company! I think the problem is that we may think that 64 bit computing hasn't anything to offer us but that is far from the truth even in this point of time...

Look where mass market high end graphic cards currently are: 256 bits for crying out loud!!! :rolleyes:

The problem lies not in 64 bit hardware but in 64 bit software... When 64 bit software will become available we all going to see that 64 bits should have come earlier than 2003 :p :D

;)

:)
 
well, since it is almost certain that Apple will release new Macs equipped with PowerPC 970 chip. It will be the next upgrade for me!!
 
Originally posted by mkwan
well, since it is almost certain that Apple will release new Macs equipped with PowerPC 970 chip. It will be the next upgrade for me!!

Me too and hopefully mine clients too :p :D ;)

:)
 
Back
Top