I want to know what will happen when my 64 bit G5 comes together with 64 bit OS tiger. Will I be blown away? Looking for someone who really understands what 64 bit means.....
Thanks
Thanks
PowermacG5 said:I want to know what will happen when my 64 bit G5 comes together with 64 bit OS tiger. Will I be blown away? Looking for someone who really understands what 64 bit means.....
Thanks
PowermacG5 said:So any speed I notice will be the speed of the new OS in general. I only have 1.5 gigs of ram
Soulstorm said:I suppose that 64 bit architecture in tiger will become more notable in later versions. For example, when more and more programs start to support 64-bit architexture of the G5, then you will see your machine flying.
Right now, all it means is that you will experience faster interface and functionality in Finder and apple's applications.
But it is generally a good thing, I believe the world has already begun to pass from 32-bit architexture to 64-bit.
You will see in the future how inportant that is.
Sorry, but the UI, and therefor Finder, are 32-bit, even in Tiger. In fact, any software that makes use of the GUI frameworks *cannot* be 64-bit, because Apple has *not* converted those frameworks to 64-bit. If they did, there would have to be 2 versions of the frameworks: 1 for the G5, and 1 for all other Macs. Tiger does support 64-bit (address pointers and data) for command line processes, which is particularly useful in a server environment. The 64-bit memory addressing (virtual) is per process, not per system.Soulstorm said:I suppose that 64 bit architecture in tiger will become more notable in later versions. For example, when more and more programs start to support 64-bit architexture of the G5, then you will see your machine flying.
Right now, all it means is that you will experience faster interface and functionality in Finder and apple's applications.
But it is generally a good thing, I believe the world has already begun to pass from 32-bit architexture to 64-bit.
You will see in the future how inportant that is.
Soulstorm said:I suppose that 64 bit architecture in tiger will become more notable in later versions. For example, when more and more programs start to support 64-bit architexture of the G5, then you will see your machine flying.
Eric5h5 said:Nope. As explained above, 64 bit doesn't make your computer faster. In fact, it can slow things down. If you're using 64 bit instructions, that takes twice the number of bytes (8 for 64 bit, vs. 4 for 32 bit), which makes your CPU cache fill up faster, which means fetching from main memory more often, which means slower.
--Eric
za9ra22 said:OK, well let me ask this.... if the G5 can handle 64-bit words instead of the G3 and G4's 32-bits, would not an application written to take advantage of the doubled word width be capable of running rather faster on a G5 than it could run on a G3 or G4, simply because the processor can fetch and process the same amount of data in fewer cycles?
daveL said:DXoverDY: 32-bit vs 64-bit does not alter the number of registers available to a program on PPC, unlike current Intel 64-bit implementations. In other words, a 32-bit PPC program has access to all CPU registers, not a subset of them. It's not a matter of having X registers that are 64 bits wide and only being able to use 32 bits of each register in a 32-bit program. On PPC, you have X 64-bit registers or 2X 32-bit registers or a mixture of both.
za9ra22 said:Surely that's not right. If one takes the analogy of the data being water in a reservoir, if you double the rate of outflow, you halve the time to empty it. Given that software and data files are a finite size, if you throughput at twice the rate, you complete the task faster.
broken_keyboard said:Yes. For example to add two 64-bit numbers on a G5 it is one instruction. On the G4 you would have to do the 32 least significant bits first and then do an add with carry on the top half.
za9ra22 said:Ah, thanks, I thought so. In that case I hope all those nice people who have G5s and buy Tiger will get stuck into the developer software included and start writing '64-bit' apps to run on these machines!
DXoverDY said:you forget though that while a few tasks may complete faster, in the end you still have to transfer more data to the cache from ram or hard drive. so you complete the task faster but the processor is sitting idle waiting for more data to be put in due to the slower bottleneck, the ram or the hard drive. but also note that since the instructions are larger.. 8 bytes for 64 bit, and 4 bytes for 32 bit. you put less instructions in cache, but they take up twice the space. so your bottleneck gets a bit more noticable since your bottleneck isn't increasing it's bandwidth like the processor is. so it takes twice as long to transfer your instructions to cache since they're twice as big. With smaller instructions you don't wait as long for the instructions to transfer, only 4 bytes vs 8 bytes. so it comes down to the rest of the system not being able to throw enough information at the G5 to make it worthwhile yet. Our other bottlenecks are the problem, ram speed and hard drive speed. if that makes sense.
EDIT: you're essentially pushing out data faster than you get it, as such it's slower since it takes more time to get the data from it's other sources since they're twice as big. In the future this will be fixed when we have more effective means of storing data.
DXoverDY said:note that your normal apps will not benefit. the gui parts of the OS are not 64bit. you technically can only have command line applications in a 64bit environment. Way too many tricks to get a gui app (like a game for example) to be 64 bit at this time.
za9ra22 said:Surely that's not right. If one takes the analogy of the data being water in a reservoir, if you double the rate of outflow, you halve the time to empty it. Given that software and data files are a finite size, if you throughput at twice the rate, you complete the task faster.
broken_keyboard said:That's not such a good analogy though, because you don't just let it flow through, you do something on the way through. And what you do is the instruction.
Now it is not the case that there is one instruction: "modify the bits like so." If there was then I'm sure a compiler could get a huge benefit from 64-bit. Rather, there are many instructions corresponding to higher level operations, and programs are compiled to these.
I think you are confusing memory bus width (which feeds the cpu cache) and processor instruction width (32 bit vs 64 bit). The memory bus is already fetching 128 bits per cycle, regardless of whether the app running is 32-bit or 64-bit. However, most software is satisfied with 32-bit integers. A 64-bit app can add 2 64-bit numbers with a single instruction (ignoring the register loads to set it up), but a 64-bit app also requires 1 instruction to add 2 32-bit numbers; a 64-bit app can't add 2 sets of 32-bit numbers in 1 instruction, just because it's 64-bit. That's where your interpretation breaks down. In other words, when adding 2 32-bit integers, a 64-bit app can't do it any faster than a 32-bit app, in fact it will probably be a bit slower since the 64-bit app will use 64-bit memory pointers, while the 32-bit app will use 32-bit memory pointers. The 64-bit app will require more memory bandwidth and cache entries to fetch and store these 64-bit memory pointers.za9ra22 said:Yes, but at the same time you're using less clock cycles to do it. The bottlenecks are the same regardless of how much data you push through them, it's just that at some point you'll reach the capacity of the slowest/most restrictive bottleneck and that's what will limit overall performance of the system. Up to that point, a 64-bit system should surely run faster than an otherwise identical 32-bit system.
And in reality, our 32-bit G3s and G4s are NOT otherwise identical. They have typically less cache, slower bus speeds, slower memory, even slower drives.
daveL said:I think you are confusing memory bus width (which feeds the cpu cache) and processor instruction width (32 bit vs 64 bit). The memory bus is already fetching 128 bits per cycle, regardless of whether the app running is 32-bit or 64-bit. However, most software is satisfied with 32-bit integers. A 64-bit app can add 2 64-bit numbers with a single instruction (ignoring the register loads to set it up), but a 64-bit app also requires 1 instruction to add 2 32-bit numbers; a 64-bit app can't add 2 sets of 32-bit numbers in 1 instruction, just because it's 64-bit. That's where your interpretation breaks down. In other words, when adding 2 32-bit integers, a 64-bit app can't do it any faster than a 32-bit app, in fact it will probably be a bit slower since the 64-bit app will use 64-bit memory pointers, while the 32-bit app will use 32-bit memory pointers. The 64-bit app will require more memory bandwidth and cache entries to fetch and store these 64-bit memory pointers.
To make the picture a bit muddier, on a G5 a 32-bit app *can* use the 64-bit integer math instructions, so the app is capable of adding to 64-bit instruction in a single instruction, just like the 64-bit app.
Since the PPC architecture is such that you can mix and match the best attributes of 32-bit and 64-bit computing, Apple has not been compelled to drive directly to a full 64-bit OS X implementation. Rather, they have chosen to implement 64-bit features where they make the most sense. As I posted above, both Panther and Tiger have G5 optimized math libraries available that exploit 64-bit integer math and the hardware squire root instruction.
za9ra22 said:Yes, but at the same time you're using less clock cycles to do it. The bottlenecks are the same regardless of how much data you push through them, it's just that at some point you'll reach the capacity of the slowest/most restrictive bottleneck and that's what will limit overall performance of the system. Up to that point, a 64-bit system should surely run faster than an otherwise identical 32-bit system.