I don't know anything about Apple's plans. I do know that they are using Power processors in their machines, and these are designed and built by IBM. If IBM creates something their business is to sell it. Lots of it.
Who asked about Apple's plans ?
I talk about future PPC 9xx processors from IBM. The ISSCC program excerpt indicates that in one or other way those processors will have something from the CELL technology on them. Right?
Yes. If Apple can abstract the nastiness of vastly differing hardware behind the Core Audio/Video APIs, then they are in a wonderful position to leverage something like cell.
But for some things, 1+1 wil still equal 1. There will always be a need to have one CPU running as fast as it can.
I wonder if we are going to see the return of something akin to DSPs? It would be trivial to conditionally route APIs to a dedicated processor if one was present while leaving the main CPU to browse the web.... Apple has shipped such machines before (the old Quadra 840av comes to mind). Also, you can argue that this is essentially what Apple is doing with Quartz Extreme.
Apple is in a wonderful place to take advantage of new technology like this because they own the OS, APIs, and the hardware.
In the future, what could differentiate a Pro machine from a Consumer machine might solely be the presence of lack of a Cell coprocessor.
Maybe he makes reference to the ISSCC, taking place next week in San Francisco. Here is the program. i don't see however why this would be relevant to the Macintosh platform.
The same reason it was relevant last year when IBM released the Power5 PPC blade servers... These were 1mb l2 cache... dual onchip memory controllers... and yes... 2.6ghz PPC processors. This led a lot of people to believe apple would be releasing 2.6 procs instead of 2.5s.
Last year was a huge deal for IBM... they made a lot of new announcements there. And that website helped prove my point a few times on these forums.
I wonder if we are going to see the return of something akin to DSPs? It would be trivial to conditionally route APIs to a dedicated processor if one was present while leaving the main CPU to browse the web.... Apple has shipped such machines before (the old Quadra 840av comes to mind). Also, you can argue that this is essentially what Apple is doing with Quartz Extreme.
And Core Image, and Core Video, and for that matter with their OpenGL layer.
The advantage of their decision to discourage application programmers from mucking around with any kind of low-level stuff is precisely that they can implement the sort of "intelligent compilation" that functional programmers have been working on, in which the programmer tells the machine what they want done and the compiler worries about how. Of course, it's not going to be that neat or that easy all the time, but it only has to be close enough in the common case.
... There was even talk a couple of years ago about an Apple machine with vector units in it...
Ah yes RACER! wasn't that some kind of graphics and multimedia accelerator outfit that Apple bought the IP from and hired some of the developers. This was associated with a "racer" chip on the motherboard that would process triangles in massive quantities or some such.
Could we finally be getting this capability with a Cell chip somewhere on the mother board?
And how about Sony's president? One of his take away quotes was how Apple makes "great software". These presumed Cell based workstations are going to need some software environment to do development on, just like Microsoft needed workstations to from Apple for developers to use to develop next generation games, Sony might need Powermacs (with a Cell based PCI-X board) to program games for the PS3.
I wouldn't think it would bother IBM for Apple to provide the workstation for developers to program for the Cell architecture. It seems like a win-win for their processor division.
A CELL Processor is a multi-core chip consisting of a 64b Power architecture processor, multiple streaming processors, a flexible IO interface, and a memory interface controller.This SoC is implemented in 90nm SOI technology. The chip is designed with a high degree of modularity and reuse to maximize the custom circuit content and achieve a high-frequency clock-rate.
SoC = System on Chip.
A system has a processor (or processors) as one component, along with memory controller, I/O, etc.
You are thinking about this all wrong. Stop thinking of the processor as the center of the Universe.
You are thinking about this all wrong. Stop thinking of the processor as the center of the Universe.
Exactly.
And welcome to IBM system design, circa, well, as far back as you want to go.
The IBM Way™ has always been to have the CPU do delegation and dabble in some light arithmetic, and spread the work around to any number of support chips. In the case of the Channel architecture, even the buses had processing power. (My boss remembers a guy who programmed a superfast sort algorithm in a channel that operated on data as it went by.) This is why they were shipping workstations and even servers powered by the humble (ha!) 604e, long after Apple had been shipping G3s. It used to be that the sheer number of chips, and the sheer cost of connecting them all with enough bandwidth, confined this approach to the mid- to high-end (in a scheme that considers all personal computers to be low end).
Now, thanks to Moore's law, you can have one of those architectures on a chip or two, connected cheaply via your choice of HyperTransport, RapidIO, etc. But Cell is an IBM technology, and IBM is still IBM, and so they're still going to prefer their old model of CPU-as-delegator, with the work done by multiple specialized and autonomous processors. This is what FastPath is, too, and it's why IBM resisted AltiVec for so long—they would have made it a support chip rather than building it into the core. So, based on induction over IBM's design tendencies: look for a capable CPU playing traffic cop for any number of specialized, independent cores on die, and taking on any work that it can't delegate. Keep in mind that at this point, the GPU is a specialized, independent core that's too big to put on die with everything else—for now.
Not to take anything away from the hard work by the Cell team, but this design is along the lines of the sort of thing IBM has done for decades. It's just that Moore's law has allowed them to consolidate onto a SoC, which pulls the approach out of $20k workstations and into consoles.
Guys, guys, guys... You are thinking about this all wrong. Stop thinking of the processor as the center of the Universe.
Actually, if we are going to use the cosmology analogy, I sort of think of the system software as the gravity that holds the planets in orbit.
The Cell chip is a system on a chip in that it integrates the CPU (or CPUs) with the embedded on board memory via an on-board memory controller. Whatever variant that the next Xbox well use also has these features.
The next variant of the 970 will surely see some of these features as well, it's all sort of coming together now with IBM'S multi billion investment in fabrication facilities which they very much want to be busy.
We will know a lot more about it, and we should be able to make some inferences about the next Apple CPU, from the information from IBM's upcoming presentation about the Cell processor.
It is possible that IBM, Sony, or even IBM will come out with a Cell based workstation for development work, but is it equally possible that the G5 Powermac will initially be that development workstation.
I don't mean to imply that the next Xbox will use the Cell chip from IBM, I am saying that ALL of IBM's future chips will eventually have some of the design philosophies that will be put forth in the Cell chip.
In a cryptic press release issued on Monday, IBM announced Microsoft's intention to use an IBM chip in the next-generation Xbox, which is expected to debut in early 2005.
"Microsoft has licensed leading-edge semiconductor processor technology from IBM for use in future Xbox products and services to be announced at a later date," the statement said.
The release studiously avoids naming the chip architecture, referring only to "IBM's family of state-of-the-art processors."
However, IBM spokesman Scott Brooks said IBM's "family of processors" are all PowerPCs. He declined to name the architecture specifically, saying IBM had promised Microsoft it would not do so....
Whatever the details, he said the chip will likely perform much like the IBM PowerPC 970, better known as the G5 used in Apple's Power Macs, when it ships in late 2004 or early 2005. "I think performance will be akin to a G5 today," he said.
Doherty said IBM chips will now power all the major game consoles -- the next-generation PlayStation will be based on IBM's The Cell, and Nintendo currently uses the PowerPC in the GameCube.
So as Scott Brooks, the IBM "spokesman" has said, "All of IBM's processors are PowerPC's" this tells me that some of the Cell architecture features, such as multiple cores, integrated memory controllers, and possibly even on die memory will make it into future PowerPC designs.
When the wraps are taken off of the Cell family of processors in the coming week, I think we will find a PowerPC core very much like the 970 core.
So as Scott Brooks, the IBM "spokesman" has said, "All of IBM's processors are PowerPC's" this tells me that some of the Cell architecture features, such as multiple cores, integrated memory controllers, and possibly even on die memory will make it into future PowerPC designs.
When the wraps are taken off of the Cell family of processors in the coming week, I think we will find a PowerPC core very much like the 970 core.
And I'm telling you that you are thinking about it backwards. A system-on-chip does not bring its features to one of its components, components bring their features to a system.
So you are saying that the next generations of the IBM 9xx chips will not have an on board memory controller or multiple cores?
Nope, I'm not saying anything of the sort. If they did, however, that information alone is not sufficient to say they share anything (besides bullet points in the feature list) with Cell.
OK Programmer, I understand now that your lips are sealed and can't elaborate as much as you might like to about the Cell, but after ISSCC I'm hoping you will be able to give us a rundown on just what all this may (or may not) mean for Apple's future plans.
IBM is about to launch what may prove to be a paradigm shift in programmable devices with the Cell architecture and I can't help but believe that this will have implications for the CPU's that IBM produces for Apple as well.
OK Programmer, I understand now that your lips are sealed and can't elaborate as much as you might like to about the Cell, but after ISSCC I'm hoping you will be able to give us a rundown on just what all this may (or may not) mean for Apple's future plans.
I haven't said anything about Cell that hasn't already been published -- its just a matter of knowing where to look and understanding what is written. And knowing how to ignore the hyperbole. Hopefully enough details are available after ISSCC to have a useful discussion about what this thing is, what it means, who might use it, and when/where we might see it.
It all seems pretty straight forward to me. The days of big CPU speed increases are over. They may get 30% higher but the days of 5 fold increases are over. Therefore, in order to get anything more out of a computer box they have to make the computer do more things at once and better than they are doing now. So that would seem that the only way to go is more parallel. If Apple wants to stay in the game their going to have to go with the flow.
As to smaller die sizes, speed increases also won't be dramatic given power/heat considerations. However, the smaller die sizes will allow them to put more processors and other functional units on the same die.
It all seems pretty straight forward to me. The days of big CPU speed increases are over. They may get 30% higher but the days of 5 fold increases are over. Therefore, in order to get anything more out of a computer box they have to make the computer do more things at once and better than they are doing now. So that would seem that the only way to go is more parallel. If Apple wants to stay in the game their going to have to go with the flow.
If anything, circumstances forced them into the vanguard. Two brains are better than one! Now that they've been there for a few years, they're probably more ready for this change than most companies are.
Quote:
As to smaller die sizes, speed increases also won't be dramatic given power/heat considerations. However, the smaller die sizes will allow them to put more processors and other functional units on the same die.
Right. Barring some unforeseen breakthrough, the age of the automatic scaling advantage from a die shrink has ended. All that's left is the ability to get more transistors on die.
But as soon as you go this route, you can start thinking: Do I just want several of the same core? Maybe you do. But if you have a stable operating system, and stable frameworks (which OS X will have as of Tiger—and by stable I mean the APIs will be finalized and forward compatible) then you can start wondering what sort of specialized processing you can take advantage of. Apple has already done this with the GPU in Quartz, and of course SGI did it a long time ago with (the system library that became) OpenGL. You can sort of imagine hardware-accelerating various parts of the OS.
Some of the more far-out claims of performance might actually be plausible if you put the same big caveat on them that you'd put on GPU FLOPS numbers: Namely, that you get mind-boggling performance on a narrow set of solutions, and anything from dismal performance to a hardware fault on anything else. GPU floating-point performance is not comparable to CPU floating point performance, because CPUs are generalist and GPUs are not.
So, with the caveat that a given Cell processing unit might be capable of astonishing performance within a relatively narrow specialty, and given that system vendors could pick from a menu of processing units (including one or more PowerPC cores) to suit their particular needs, you can get truly amazing performance without breaking the laws of physics, simply by more carefully matching the hardware to the software. Even the simple expedient of moving TCP/IP processing to an independent execution unit can have a tremendous positive effect on a Power CPU's performance (to pick one example).
The other advantage of having narrowly purposed processing units is that you can pipeline them deeply and make them go very, very fast. If they don't have to handle many conditionals (i.e., if they mainly plow unconditionally through large amounts of data, like filters and streams) then they can reach near-maximal efficiency doing so.
But this arrangement only works if your system requirements are known and fixed, if the bottlenecks and performance bugbears have been identified, and if processing units are available to efficiently accelerate the bits you need accelerated. In a relatively simple system like a console, these are generally fairly well known. It would be interesting to know to what degree Apple has done that work with a behemoth like OS X...
There is a very good possibility that I'm way off here. Just up late, sipping a Grant's Perfect Porter and speculatin' away.
Comments
Originally posted by Programmer
I don't know anything about Apple's plans. I do know that they are using Power processors in their machines, and these are designed and built by IBM. If IBM creates something their business is to sell it. Lots of it.
Who asked about Apple's plans
I talk about future PPC 9xx processors from IBM. The ISSCC program excerpt indicates that in one or other way those processors will have something from the CELL technology on them. Right?
Originally posted by Programmer
At some point 1+1 is going to equal 2.
Yes. If Apple can abstract the nastiness of vastly differing hardware behind the Core Audio/Video APIs, then they are in a wonderful position to leverage something like cell.
But for some things, 1+1 wil still equal 1. There will always be a need to have one CPU running as fast as it can.
I wonder if we are going to see the return of something akin to DSPs? It would be trivial to conditionally route APIs to a dedicated processor if one was present while leaving the main CPU to browse the web.... Apple has shipped such machines before (the old Quadra 840av comes to mind). Also, you can argue that this is essentially what Apple is doing with Quartz Extreme.
Apple is in a wonderful place to take advantage of new technology like this because they own the OS, APIs, and the hardware.
In the future, what could differentiate a Pro machine from a Consumer machine might solely be the presence of lack of a Cell coprocessor.
Originally posted by PB
Maybe he makes reference to the ISSCC, taking place next week in San Francisco. Here is the program. i don't see however why this would be relevant to the Macintosh platform.
The same reason it was relevant last year when IBM released the Power5 PPC blade servers... These were 1mb l2 cache... dual onchip memory controllers... and yes... 2.6ghz PPC processors. This led a lot of people to believe apple would be releasing 2.6 procs instead of 2.5s.
Last year was a huge deal for IBM... they made a lot of new announcements there. And that website helped prove my point a few times on these forums.
Originally posted by PB
The ISSCC program excerpt indicates that in one or other way those processors will have something from the CELL technology on them. Right?
Reverse that.
Originally posted by Yevgeny
I wonder if we are going to see the return of something akin to DSPs? It would be trivial to conditionally route APIs to a dedicated processor if one was present while leaving the main CPU to browse the web.... Apple has shipped such machines before (the old Quadra 840av comes to mind). Also, you can argue that this is essentially what Apple is doing with Quartz Extreme.
And Core Image, and Core Video, and for that matter with their OpenGL layer.
The advantage of their decision to discourage application programmers from mucking around with any kind of low-level stuff is precisely that they can implement the sort of "intelligent compilation" that functional programmers have been working on, in which the programmer tells the machine what they want done and the compiler worries about how. Of course, it's not going to be that neat or that easy all the time, but it only has to be close enough in the common case.
Originally posted by Programmer
... There was even talk a couple of years ago about an Apple machine with vector units in it...
Ah yes RACER! wasn't that some kind of graphics and multimedia accelerator outfit that Apple bought the IP from and hired some of the developers. This was associated with a "racer" chip on the motherboard that would process triangles in massive quantities or some such.
Could we finally be getting this capability with a Cell chip somewhere on the mother board?
And how about Sony's president? One of his take away quotes was how Apple makes "great software". These presumed Cell based workstations are going to need some software environment to do development on, just like Microsoft needed workstations to from Apple for developers to use to develop next generation games, Sony might need Powermacs (with a Cell based PCI-X board) to program games for the PS3.
I wouldn't think it would bother IBM for Apple to provide the workstation for developers to program for the Cell architecture. It seems like a win-win for their processor division.
From above (in the ISSCC program):
A CELL Processor is a multi-core chip consisting of a 64b Power architecture processor, multiple streaming processors, a flexible IO interface, and a memory interface controller.This SoC is implemented in 90nm SOI technology. The chip is designed with a high degree of modularity and reuse to maximize the custom circuit content and achieve a high-frequency clock-rate.
SoC = System on Chip.
A system has a processor (or processors) as one component, along with memory controller, I/O, etc.
You are thinking about this all wrong. Stop thinking of the processor as the center of the Universe.
Originally posted by Programmer
You are thinking about this all wrong. Stop thinking of the processor as the center of the Universe.
Exactly.
And welcome to IBM system design, circa, well, as far back as you want to go.
The IBM Way™ has always been to have the CPU do delegation and dabble in some light arithmetic, and spread the work around to any number of support chips. In the case of the Channel architecture, even the buses had processing power. (My boss remembers a guy who programmed a superfast sort algorithm in a channel that operated on data as it went by.) This is why they were shipping workstations and even servers powered by the humble (ha!) 604e, long after Apple had been shipping G3s. It used to be that the sheer number of chips, and the sheer cost of connecting them all with enough bandwidth, confined this approach to the mid- to high-end (in a scheme that considers all personal computers to be low end).
Now, thanks to Moore's law, you can have one of those architectures on a chip or two, connected cheaply via your choice of HyperTransport, RapidIO, etc. But Cell is an IBM technology, and IBM is still IBM, and so they're still going to prefer their old model of CPU-as-delegator, with the work done by multiple specialized and autonomous processors. This is what FastPath is, too, and it's why IBM resisted AltiVec for so long—they would have made it a support chip rather than building it into the core. So, based on induction over IBM's design tendencies: look for a capable CPU playing traffic cop for any number of specialized, independent cores on die, and taking on any work that it can't delegate. Keep in mind that at this point, the GPU is a specialized, independent core that's too big to put on die with everything else—for now.
Not to take anything away from the hard work by the Cell team, but this design is along the lines of the sort of thing IBM has done for decades. It's just that Moore's law has allowed them to consolidate onto a SoC, which pulls the approach out of $20k workstations and into consoles.
Originally posted by Programmer
Guys, guys, guys... You are thinking about this all wrong. Stop thinking of the processor as the center of the Universe.
Actually, if we are going to use the cosmology analogy, I sort of think of the system software as the gravity that holds the planets in orbit.
The Cell chip is a system on a chip in that it integrates the CPU (or CPUs) with the embedded on board memory via an on-board memory controller. Whatever variant that the next Xbox well use also has these features.
The next variant of the 970 will surely see some of these features as well, it's all sort of coming together now with IBM'S multi billion investment in fabrication facilities which they very much want to be busy.
We will know a lot more about it, and we should be able to make some inferences about the next Apple CPU, from the information from IBM's upcoming presentation about the Cell processor.
It is possible that IBM, Sony, or even IBM will come out with a Cell based workstation for development work, but is it equally possible that the G5 Powermac will initially be that development workstation.
We live in interesting times.
Originally posted by Aphelion
Whatever variant that the next Xbox well use also has these features.
No, it won't.
Originally posted by Programmer
No, it won't.
I don't mean to imply that the next Xbox will use the Cell chip from IBM, I am saying that ALL of IBM's future chips will eventually have some of the design philosophies that will be put forth in the Cell chip.
From Wired News "Xbox to switch to PowerPC":
In a cryptic press release issued on Monday, IBM announced Microsoft's intention to use an IBM chip in the next-generation Xbox, which is expected to debut in early 2005.
"Microsoft has licensed leading-edge semiconductor processor technology from IBM for use in future Xbox products and services to be announced at a later date," the statement said.
The release studiously avoids naming the chip architecture, referring only to "IBM's family of state-of-the-art processors."
However, IBM spokesman Scott Brooks said IBM's "family of processors" are all PowerPCs. He declined to name the architecture specifically, saying IBM had promised Microsoft it would not do so....
Whatever the details, he said the chip will likely perform much like the IBM PowerPC 970, better known as the G5 used in Apple's Power Macs, when it ships in late 2004 or early 2005. "I think performance will be akin to a G5 today," he said.
Doherty said IBM chips will now power all the major game consoles -- the next-generation PlayStation will be based on IBM's The Cell, and Nintendo currently uses the PowerPC in the GameCube.
So as Scott Brooks, the IBM "spokesman" has said, "All of IBM's processors are PowerPC's" this tells me that some of the Cell architecture features, such as multiple cores, integrated memory controllers, and possibly even on die memory will make it into future PowerPC designs.
When the wraps are taken off of the Cell family of processors in the coming week, I think we will find a PowerPC core very much like the 970 core.
Originally posted by Aphelion
So as Scott Brooks, the IBM "spokesman" has said, "All of IBM's processors are PowerPC's" this tells me that some of the Cell architecture features, such as multiple cores, integrated memory controllers, and possibly even on die memory will make it into future PowerPC designs.
When the wraps are taken off of the Cell family of processors in the coming week, I think we will find a PowerPC core very much like the 970 core.
And I'm telling you that you are thinking about it backwards. A system-on-chip does not bring its features to one of its components, components bring their features to a system.
Originally posted by Programmer
And I'm telling you that you are thinking about it backwards...
So you are saying that the next generations of the IBM 9xx chips will not have an on board memory controller or multiple cores?
Originally posted by Aphelion
So you are saying that the next generations of the IBM 9xx chips will not have an on board memory controller or multiple cores?
Nope, I'm not saying anything of the sort. If they did, however, that information alone is not sufficient to say they share anything (besides bullet points in the feature list) with Cell.
I guess just am not grasping what you are trying to say Programmer. Could you please explain with more than dismissive one liners?
Originally posted by Aphelion
Is the 64 bit PowerPC core just a bullet point then???
I guess just am not grasping what you are trying to say Programmer. Could you please explain with more than dismissive one liners?
ISSCC should be enlightening.
Originally posted by Programmer
ISSCC should be enlightening.
OK Programmer, I understand now that your lips are sealed and can't elaborate as much as you might like to about the Cell, but after ISSCC I'm hoping you will be able to give us a rundown on just what all this may (or may not) mean for Apple's future plans.
IBM is about to launch what may prove to be a paradigm shift in programmable devices with the Cell architecture and I can't help but believe that this will have implications for the CPU's that IBM produces for Apple as well.
As I said, we live in interesting times.
Originally posted by Aphelion
OK Programmer, I understand now that your lips are sealed and can't elaborate as much as you might like to about the Cell, but after ISSCC I'm hoping you will be able to give us a rundown on just what all this may (or may not) mean for Apple's future plans.
I haven't said anything about Cell that hasn't already been published -- its just a matter of knowing where to look and understanding what is written. And knowing how to ignore the hyperbole. Hopefully enough details are available after ISSCC to have a useful discussion about what this thing is, what it means, who might use it, and when/where we might see it.
As to smaller die sizes, speed increases also won't be dramatic given power/heat considerations. However, the smaller die sizes will allow them to put more processors and other functional units on the same die.
Originally posted by Bigc
It all seems pretty straight forward to me. The days of big CPU speed increases are over. They may get 30% higher but the days of 5 fold increases are over. Therefore, in order to get anything more out of a computer box they have to make the computer do more things at once and better than they are doing now. So that would seem that the only way to go is more parallel. If Apple wants to stay in the game their going to have to go with the flow.
If anything, circumstances forced them into the vanguard. Two brains are better than one!
As to smaller die sizes, speed increases also won't be dramatic given power/heat considerations. However, the smaller die sizes will allow them to put more processors and other functional units on the same die.
Right. Barring some unforeseen breakthrough, the age of the automatic scaling advantage from a die shrink has ended. All that's left is the ability to get more transistors on die.
But as soon as you go this route, you can start thinking: Do I just want several of the same core? Maybe you do. But if you have a stable operating system, and stable frameworks (which OS X will have as of Tiger—and by stable I mean the APIs will be finalized and forward compatible) then you can start wondering what sort of specialized processing you can take advantage of. Apple has already done this with the GPU in Quartz, and of course SGI did it a long time ago with (the system library that became) OpenGL. You can sort of imagine hardware-accelerating various parts of the OS.
Some of the more far-out claims of performance might actually be plausible if you put the same big caveat on them that you'd put on GPU FLOPS numbers: Namely, that you get mind-boggling performance on a narrow set of solutions, and anything from dismal performance to a hardware fault on anything else. GPU floating-point performance is not comparable to CPU floating point performance, because CPUs are generalist and GPUs are not.
So, with the caveat that a given Cell processing unit might be capable of astonishing performance within a relatively narrow specialty, and given that system vendors could pick from a menu of processing units (including one or more PowerPC cores) to suit their particular needs, you can get truly amazing performance without breaking the laws of physics, simply by more carefully matching the hardware to the software. Even the simple expedient of moving TCP/IP processing to an independent execution unit can have a tremendous positive effect on a Power CPU's performance (to pick one example).
The other advantage of having narrowly purposed processing units is that you can pipeline them deeply and make them go very, very fast. If they don't have to handle many conditionals (i.e., if they mainly plow unconditionally through large amounts of data, like filters and streams) then they can reach near-maximal efficiency doing so.
But this arrangement only works if your system requirements are known and fixed, if the bottlenecks and performance bugbears have been identified, and if processing units are available to efficiently accelerate the bits you need accelerated. In a relatively simple system like a console, these are generally fairly well known. It would be interesting to know to what degree Apple has done that work with a behemoth like OS X...
There is a very good possibility that I'm way off here. Just up late, sipping a Grant's Perfect Porter and speculatin' away.