Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Re: 64 bit processors....rather than Alti-Vec

Originally posted by eyelikeart
glad to see I'm not the only one who knows about this... :p

The problem is that many Mac users think like PC users, just slightly differently. PC users see 2Ghz! and take that for face value not realizing that the 20some stage pipeline of the P4 is narrow and inefficient and the 64 or 128MB of PC100 RAM slows them up. The Mac users see Alti-Vec! and take that for face value not realizing that speed does matter and the lack of DDR RAM and system bus speed keeps Macs slower than they could be. Both sides are TRAINED by Intel and Apple to think in these ways. We need to think past Alti-Vec, looking at the whole picture, and be better than those PC users.



-------------------------------------------Your Sovergn King-------------
 
ppc processors

[.instead it was the 3rd generation of apple processors...pre-powerPC, powerPC, G3....
if you'll look, the article goes back to 1994 info.... [/B][/QUOTE]


ppc 601, ppc 604, G3, G4 . . .
 
Originally posted by KingArthur
I understand everyone's conern about the lack of an AltiVec 128-bit subprocessor, but you have to realise, if the G5 is a true 64-bit processor, then we are talking twice the data in one cycle for everything BUT vector processing (which would be halved).

Um, that's not how it works. It is true that a 64-bit processor can handle 64-bit word, which is obviously twice as long as a 32-bit word. However, each integer unit can still only process one word at a time. The only difference is that the words are larger, so you can have extra precision, which most people don't need (in fact, the main advantage of a 64-bit processor is that 64-bit addressing allows you to have much more memory than a 32-bit chip, which IIRC is limited to 4 GB). It does not mean that the words are processed any faster. Let me repeat that again: there is no inherent reason why a 64-bit chip should be much faster than a 32-bit chip (you can't just merge two 32-bit words into one 64-bit word and pretend that's like processing them separately...that's like saying that you can solve the two expressions (1 + 4) and (2 + 7) by solving the single expression (12 + 47)...it doesn't work that way!). The 64-bit chip is just able to access a lot more memory.

Altivec, in contrast, is a 128-bit wide vector unit. The key difference with Altivec is that it doesn't process a single 128-bit wide word. Instead, it processes either four 32-bit words, eight 16-bit words, or sixteen 8-bit words. This is why Apple can claim it is "up to 16 times faster" for some instructions. Specifically, if you're doing the same instruction to a bunch of 8-bit words (and it must be the same instruction - that's why it's called "Single Instruction, Multiple Data"), then it will take you at least 16 cycles on the 32-bit integer unit (note that we'll only be using 8-bits of each 32-bit word - the rest will essentially just be unused space). In contrast, Altivec could take the sixteen 8-bit words and process all of them in one cycle: hence it can be up to 16 times faster. Note that with a 64-bit processor, it would still take 16 cycles - not any faster than the 32-bit processor (the only difference is that we'd have 56 bits of unused space for each word that was processed rather than 24 bits of unused space).

Perhaps a concrete example would help. Say that you have eight numbers: 500, 501, 502, 503, 504, 505, 506, and 507. Say that you decided to use a 16-bit word to store each of these numbers. Now assume that the operation you wanted to perform was to add 1 to each of these numbers. With a 32-bit chip, this would be eight separate operations: first you'd compute 1 + 500, then 1 + 501, then 1 + 502, and so on until 1 + 507. The 64-bit chip would do the same thing - the fact that you can handle 64-bit words (which are unnecessary for this problem) doesn't help you at all (what are you going to do, try to merge the first two operations by computing 1 + 500501 or something?). But Altivec does help you, because in a single operation it can just take the vector [500 501 502 503 504 505 506 507] and add one to each element, spitting out [501 502 503 504 505 506 507]. That's exactly the output that you wanted, and it only took a single operation!

Now, where the 64-bit chip would help you is if you were working with really, really, really big numbers. Say you had the number 2^42 and you wanted to add 1 to it. You wouldn't necessarily be able to represent 2^42 with a single 32-bit word, so the 32-bit integer unit obviously would not be able to carry out that operation in a single cycle. But the 64-bit processor would have no problems with such a large number, because it can handle 64-bit words (also note that Altivec probably would have problems, since I believe the largest word it takes is 32-bits...it's just that it takes up to four of them at a time). However, most personal computer users have no need for such large numbers, so a 64-bit processor really doesn't help them very much (and at any rate, all of the floating point units already handle 64-bit "double precision" floats).

As for all of the people who think the G5 is just around the corner, I wouldn't hold your breath. I don't have any inside information, but a little common sense seems in order. Remember, most of the G5 rumors came from a single source, quoted repeatedly on both The Register and Mac OS Rumors. But that source clearly lacks credibility, since among other things he/she claimed that the G5 would definitely debut at MWSF (which it did not, unless I really missed something in the Keynote). Furthermore, do you really think it's likely that the G5 would be released *before* the Apollo G4?? I think there's a good chance we will see the G5 before the year is it, but I would be really surprised if it happened anytime in the next few months. Hopefully we will see the Apollo G4 very soon however. It's clear that they need to bolster the G4 Pros vis a vis the G4 iMac - the only question is will the Apollo be as fast as rumored (up to 1.4 Ghz). If it is that fast, I certainly wouldn't advise people to wait around for the G5, which probably wouldn't be released until at least the Fall, and at any rate will have unknown capabilities (remember, the only performance data we have on it came from the now-discredited Register source).
 
That was one of the best explainations I have read regarding how 32 bit, 64bit and altevic workd.

THANKS!!!


- to bad you do not have a name. :)
 
"now. Mac OS 10.1 can support up to 32 procecssors simultaniously."

Mac OS X 10.1 can only handle 2 processors..

future version might be able to handle more but 10.1 can only work with two.
 
3d macs

I don't care what comes out or what mhz systembus or or processing bits it has! I just want something that renders 3d faster than a PC user using AMD's. You know its ***** being a mac user who use 3d applications on a professional basis! with the launch of Maya and os X i thought finally mac is in the 3d game! Don't get me wrong OSX rocks for 3df in theory but its the sagging hardware that is running the OS in terms of 3d performance. Anyway is'nt jobs CEO of Pixar. So when in the hell are we gonna c pixar renderman on the Mac platform rather than just PC and SGI!
 
One more mistake

Well, as I noted, some people mix elegantly vector graphics and vector computing.
They are very different things (althrough vector graphics can ask for vector computing, but so can do Photoshop or Quictime), which are not directly related.
 
Originally posted by rastalin94
Is Altivec just Apple's versoin of SIMD as in SSE for Intel and 3-D Now from AMD?

In the sense that both have the goal of performing a single instruction on multiple pieces of data, yes, but keep in mind that there's unanimous agreement that Altivec is far superior to any Intel or AMD implimentation. In MMX, SSE, 3DNOW, etc. you don't actually have a separate dedicated vector processing unit, so it's not nearly as fast as Altivec. I assume that this is simply because there isn't enough room on the die for extra stuff like the vector unit (the Pentiums and Athlons already have too many transistors as it is), although perhaps it could be related to the instruction set architecture somehow (but I can't really see why that would be true). I've also heard that Altivec is substantially nicer to program for than MMX etc.

To Buggy: glad the explanation was useful.

Mike
 
Originally posted by rastalin94
Is Altivec just Apple's versoin of SIMD as in SSE for Intel and 3-D Now from AMD?

In the sense that both have the goal of performing a single instruction on multiple pieces of data, yes, but keep in mind that there's unanimous agreement that Altivec is far superior to any Intel or AMD implimentation. In MMX, SSE, 3DNOW, etc. you don't actually have a separate dedicated vector processing unit, so it's not nearly as fast as Altivec. I assume that this is simply because there isn't enough room on the die for extra stuff like the vector unit (the Pentiums and Athlons already have too many transistors as it is), although perhaps it could be related to the instruction set architecture somehow (but I can't really see why that would be true). I've also heard that Altivec is substantially nicer to program for than MMX etc.

To Buggy: glad the explanation was useful.

Mike
 
Mike

Thanks for clearing up the usefulness of 64-bit processors and their disadvantages. I have had to make MANY of my own interpretations about how processing occurs since few on this board actually know what they are talking about. I do have a question, though: OS X can automatically utilize the vector processing on certin operations that it recognizes right? So wouldn't it be logical that Apple would build in an emulator in OSX so that 64-bit processing may be utilized more? I do realize that a many applications would have to be rewritten to utilize 64-bit processing fully, but is there not something that could be done to the OS also?


To the Person who said that OS X can only handle 2 processors:
I have read reports that it is not OS X that is limiting the number of processors in the system (I am almost certin that it can handle up to 32 simultanious processors). It is the archetecture of Motorola's G4e's that only allows duel processors. This is what I have gathered form various soruces.


Just for anyone who may like to learn somewhat how processors work...check out arstechnica.com .

Although I do not always completely know if the info that I provide is accurate depictions about how processors and hardware in general work, I do grasp new concepts easily. Sorry if I confuse anyone, but unless I make my own assumptions after gathering info, there would be HUGE gaps in some of my responses (which for the most part are fairly on target).

Also, I too do not believe we will see the G5 until MW July or later. It would not be a logical move for Apple to release it this early unless of course Apple was developing Apollo for the iMacs, which I think would be a big mistake on their part.
 
Yes OSX can.....

OSX can support up to 32 processors, the only problem is only most programs are only written to take advantage of 2 or less processors. Hopefully Apple can get the pre-emptive multitasking on OSX up so that anything could run on the full 32 processor palette.
 
There is perhaps a solution:

I may be way off here, but the IBM article mentions the 750FX having sub-unit split-out capability in both the processor architecture and the on-chip cache. It goes on to discribe how software could adress those "floating" subunits as separate, independantly oscilated units for the purposes of on-chip parallelling similar to altivec. It appears to me from these statements that rather than just a vector processor that splits down with a 32 bit stream from the bus THE WHOLE CHIP could be split down to accomodate parallel processes at differing clock speeds with different, pre-allocated cache space. There was also mention of a sub-processor running at up to 256 bit wide. This is much more than simply a 64 bit wide G3. The chip is on-the-fly configurable by software.

Please, Take your own analysis and let's see if we can't find all the implications here. We musn't ignore the fine details if we are to understand what has been done.
 
That is another thought that I had

I had wondered if the processor may have an engine built-on that would automatically partition blocks of information so that it could use almost the full bandwidth of the pipeline. With a 128 or 256-bit subprocessing engine, the efficiency of the processor would be unparalleled in the market.

I thought that I knew what I was talking about with the 32 processor support. And just because no programs are spacifically written to divide work among more than two processors, the OS would still assign programs to a given processor. A quad-processor design would basically give one processor to the OS, two almost completely unused processors for your Photoshop rendering, and still leave one open so that you could run a couple other every-day programs on the final processor, all without SIGNIFIGANT slowdowns to your Photoshop or other programs. Although it is not quite that simple and there would be minor slow-ups to the system and other programs, it would be MUCH better than just two processors. And think of the possibilities if Photoshop and various other applications had future versions that supported more than two processors at once. That just gave me an idea::D What if the reason that Photoshop and some other graphics programs have not been ported to OS X because they knew something about the G5 that we don't and they are just taking the extra time to write in a Coco version that supports 64-bit processing (with whatever other enhancements might be on the chip)? That could be a logical conclusion about what the hold-up is (although not REALLY likely). I still will bet that the G5 will be released in MW July or later.

Well, I have to get back to reality now, so I bid you all a goodevening.


-------------------Your Sovergn King, Arthur-----------------------------
 
Re: Mike

Originally posted by KingArthur
I do have a question, though: OS X can automatically utilize the vector processing on certin operations that it recognizes right? So wouldn't it be logical that Apple would build in an emulator in OSX so that 64-bit processing may be utilized more? I do realize that a many applications would have to be rewritten to utilize 64-bit processing fully, but is there not something that could be done to the OS also?

First question: I'm not sure what you mean by "recognizing certain operations." OS X does "automatically" use Altivec in the sense that many components of the OS are Altivec accelerated. For example, I'm sure that Quicktime has some Altivec optimizations, and I believe Open GL does as well. Thus, any 3rd party application that calls Quicktime or Open GL will automatically get at least a little bit of a benefit from Altivec. Likewise, the window manager also uses Altivec. So most apps, not just the Finder, should have more responsive windows on a G4 than a G3 (since most should be calling the window manager). So in that sense, OS X automatically utilitizes Altivec. But it is not able to take 3rd party code that could benefit from vectorization and automatically vectorize it so that it can take advantage of Altivec - that would probably be nearly impossible.

Second question: I don't know if this would be possible (I would assume not), but the real question is what would be the point? The only thing that you need 64-bit words for is working with really large numbers. Most people don't have any need to do that. You could store all of the numbers in 64-bit words instead of 32-bit words, but it wouldn't be any faster (in fact, it might be slower in the sense that you'd probably need more transistors to implement all this 64-bit processing). Are you as a human being able to do math faster by adding 000100 + 000050 instead of 100 + 50? I doubt it, and guess what, it's not much different for a computer. I think there's a "bit myth" running around that's sort of like the "megahertz myth" - more bits is not necessarily faster (or even any better), just as more megahertz is not necessarily faster.

Third question: Well, I guess that's pretty much answered above. The bottom line is, most apps don't often use 64-bit integers, so what is the point of rewriting them? Certainly some could use 64-bit addressing (to access more than 4 GB of RAM)...I don't know how much, if any, of a rewrite that involves. Incidentally, I think the current G4 and such already allow for 36-bit addressing or something like that (yes, that is 36, not 32), but I have no idea how that works.

Just FYI, I'm not like some CS expert or anything - I'm an Economics PhD student. There are millions of people more qualified to answer these questions than I am. But I guess most of them don't visit these boards. ;-)

Mike
 
Re: That is another thought that I had

Originally posted by KingArthur
That just gave me an idea: What if the reason that Photoshop and some other graphics programs have not been ported to OS X because they knew something about the G5 that we don't and they are just taking the extra time to write in a Coco version that supports 64-bit processing (with whatever other enhancements might be on the chip)?

Sorry to dissapoint but Photoshop has been ported, announced in Jobs last keynote speech.
 
Re: Re: Mike

Just FYI, I'm not like some CS expert or anything - I'm an Economics PhD student. There are millions of people more qualified to answer these questions than I am. But I guess most of them don't visit these boards. ;-)

Mike [/B][/QUOTE]
I acknowledge it is possible to be a polymath, but
these boards are too full (I dont mean you, particularily) of speculation people should base their purchasing planning on what they know they need. I wouldnt buy any brand new Apple product, wait six months, you will get something faster and cheaper, let someone else ride the bleeding edge. There are some good reliable consignment shops and sellers of refurbs,
So why feel compelled to answer the question, if you "believe" rather than "know". What will return Argentina to stability? Should other countries consider pegging their currencies to the dollar?
You are probubly right about the chips though, I think your best point is that few people actually need that kind of processing power.
 
I meant that we may see a Coco Version, not Carbonized like this one. That MAY have been a hold-up (although not likely). They might have been too busy with writing in Coco Apps.

Thanks, Mike, for your input. You seem intelligent and at least fairly reliable.
 
Thanks, Mike

Let's all thank Mike for clearing the air on what Alitivec does.

The power of Altivec is its ability to perform a single operation on several pieces of data at the same time. It's very powerful for processing a "stream" of data where the same operation is being performed on each element that comes through the pipe. Having wider Altivec registers would likely improve performance for a number of applications.

Let me chime in by saying that the "Megahertz myth" is a mild fallacy compared to the riduculous marketing hype of "32 bit, 64 bit, 128 bit, etc.". Thank the game console marketers for misleading the public in a massive way with regards to the "bitness" of their machines.

For those uninformed, 99% of the time, the "bitness" of a computer or console is a completely fabricated indicator of performance. Many console manufacturers are even referring to different things when they refer to their "128-bit" architecture.
 
I repeat: read the whole article.

There is mention of dynamic splitting of data paths. It is not directly stated but referred to in several places for a variety of reasons. I would like better analysis of these references than I can generate on limited knowledge. Please read it over again and lets get into the meat of the details.
 
The 256-bit wide idea given in the article is that the L1-Cache can recieve 256-bit wide data chunks. It does not mean that it can process 256-bits at a time. It does tell that the processor can handle 2 sets of data at different clock speeds, but that would help if you have one slower process, it would not hold up processes that can go faster. That could also be implemented into power-saving features in laptops; cutting off one of those paths to save power or keeping processes running as slow as possible. It would be a more primative type of AltiVec, but you never know if it may have special features like AltiVec. Now the part about 16 bats just allows more customizable and expandable systems. That is my interpretation of this. I do know that there will be a performance increase thanks to the refined copper-transistor technology.
 
What is it...

...about Intel's Itanium that gives it such high performance? I know it's 64 bit, but as the posts above say, there's no reason why that should make a large performance increase.
 
A possible way...

...of getting more performance out of a 64 bit chip, would be to have the whole chip work like Altivec and accept 2 32 bit words at a time. It would require programs to be written to take advantage of it, but it would basically be like a mini-Altivec for non vector operations. If the program didn't have the type of operations that use SIMD then it would give any improvement.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.