| crumas2 said: @Procrastinato Technically, your description of the Cell's 8 functional "cores" is correct. They are indeed processor cores. But traditionally, a multi-core chip means a mult-general-purpose-core chip, such as those used in PCs, etc. I think it's misleading for someone to claim the Cell is an "8-core processor" because many will think of it in comparison with dual-core, quad-core, etc. processors, which is really comparing apples to oranges considering the very different architecture of the Cell. Yes, the Cell rocks. But it would be nice if we stayed away from comparisons that are misleading. |
You lost me here, I'm afraid.
The Cell is as much a 8 core CPU as the Intel core 2 quad is a 4 core CPU.
The cache is shared in the quad core -- its not part of the cores themselves. There's nothing misleading about calling the Cell SPUs "cores". Its their interface to the rest of the machine architecture that differs, and that difference is, fundamentally, a semantic one only. They aren't specialized hardware, in the same sense that GPUs are, if that's what you're implying.
If you're arguing that the utilization model is different, then sure, I totally agree. They are worthy of being called cores, however, in the same manner that every core on a multicore shared CPU are. Its the OS that abstracts them away and makes them easy for programmers to use (which is a big deal, when you're talking about the business of writing an app). Any OS using the Cell could do the same, its just that the relatively small size of the localstore would make retriving new instructions and data from main memory, during operation, inefficient. The SPUs are best used for shotgun parallelism, with small (meaning memory footprint, not computational expense) tasks.
Its only the OS that requires you load an entire code module at once to run a job on one, however. That's not a hardware requirement at all. You could stream in code and data automatically, if you authored the OS differently. It'd be silly, and inefficient, however. Multi-core, shared task architectures are better for general purpose computing because they don't much care about efficient cache usage. Its only apps that want to solve problems efficiently in parallel that really benefit from the Cell's design. Like games, and lots of scientific apps. In other words, high-performance computing apps.
General purpose processors will never be like the Cell. Why would they? It'd be a waste of hardware (meaning cost/performance). High performance processors will, eventually, all be descendants of the Cell concept, because likewise, using general purpose processors would be a waste (meaning cost/performance) for those apps.
I have faith in the fact that money drives hardware. And the Cell design is all about saving money, per unit performance, for high-performance computing. It achieves that goal very well. Games are often high-performance computing apps. Hence... once the concepts get ingrained in the games development community, that'll be the big thing, until the next big thing comes. Console manufactures don't like to waste money on multiple cores that spend most of their time and hardware waiting. That's potentially billions of dollars speaking in the Cell's favor, down the road.







