Cell Microprocessor's

Discussion of all forms of processors, from AMD to Intel to VIA.

Moderators: Flying Fox, morphine

Cell Microprocessor's

Postposted on Fri Dec 10, 2010 4:44 pm

Has this been asked before?

We are having a debate here about the Cell Processor, and why it's not used in desktop computers these days. Afterall, it's a fast little thing (In the PS3 at least), and is technically very advanced. I read a wiki article on it's creation moments ago, but found it a little confusing. On paper, it's looks pretty potent, while on the other hand, a linked article shows Windows XP running on a PS3. Taking 30 minutes to get to the desktop...

...So, 2 questions I could not really clear up after reading the article:
- Just why are we not using these today in our home PC's?
- Why's it so slow running Windows?

TR Gerbil feedback will help settle this argument! FWIW, I have been trying to stick to "Windows can't run on Cell Processors. The CPU instruction set is not compatible" train of thought, but I am loosing that battle!
#337 Gamer | Elite Gaming | Join the Fray
Mega Beast - AMD FX-9590 | Gigabyte 990FXA-UD5 | 16GB DDR3 | Tri-Fire R9 290X | Sandisk X300S 512GB
Mini Beast - Intel C2E QX9770 [4.2 Ghz] | Gigabyte X48T-DQ6 | 8GB DDR3 | GTX 750 Ti | Seagate 2TB HDD
geekl33tgamer
Gerbil Elite
Silver subscriber
 
 
Posts: 713
Joined: Tue Aug 25, 2009 7:25 pm
Location: United Kingdom

Re: Cell Microprocessor's

Postposted on Fri Dec 10, 2010 4:54 pm

I'm thinking it's because when you're building a PC it's just so much cheaper not to have to deal with the tiny size. Just a guess.
cphite
Gerbil Elite
 
Posts: 567
Joined: Thu Apr 29, 2010 9:28 am

Re: Cell Microprocessor's

Postposted on Fri Dec 10, 2010 5:12 pm

Hmm, maybe. They are small, but are they that expensive to buy? An entire PS3 sells for about £230 - Clearly thats not all on the cost of the CPU...
#337 Gamer | Elite Gaming | Join the Fray
Mega Beast - AMD FX-9590 | Gigabyte 990FXA-UD5 | 16GB DDR3 | Tri-Fire R9 290X | Sandisk X300S 512GB
Mini Beast - Intel C2E QX9770 [4.2 Ghz] | Gigabyte X48T-DQ6 | 8GB DDR3 | GTX 750 Ti | Seagate 2TB HDD
geekl33tgamer
Gerbil Elite
Silver subscriber
 
 
Posts: 713
Joined: Tue Aug 25, 2009 7:25 pm
Location: United Kingdom

Re: Cell Microprocessor's

Postposted on Fri Dec 10, 2010 6:47 pm

rcs2k4 wrote:- Just why are we not using these today in our home PC's?

Why aren't we running our PCs on GPUs? GPUs are much more powerful than CPUs in terms of FLOPS, so why not just use those to do everything.

The ISA (instruction set architecture) has something to do with it. There's a reason that when Apple made the transition to Intel chips old software didn't work anymore. The PowerPC architecture is different than x86, so executables for PowerPC won't work for x86.

I don't know enough about the Cell architecture to really be any more specific.
"TORTURIS EXUVIAS EUNT"
Phenom X6 1090T @ 3.2 GHz
Sapphire Radeon 6950
TurtlePerson2
Graphmaster Gerbil
 
Posts: 1097
Joined: Sat May 26, 2007 9:08 am
Location: Plano, Texas

Re: Cell Microprocessor's

Postposted on Fri Dec 10, 2010 7:43 pm

A few years ago I downloaded and briefly skimmed through IBM's official Cell programming guide (about 1000 PDF pages!), so let me see what I can remember:

* Cell is a highly parallel CPU. Much x86 software runs on 1-2 cores even today. To take advantage of Cell, a program would have to be highly optimized for Cell and parts of it recoded. This is complicated by the fact that Cell has 8(!) CPU cores: 1 "PPE" and 7 "SPEs", which (believe it or not) actually use 2 completely different instruction sets (ISAs). Thus recoding an x86 program to run on Cell would be quite a nightmare.

* Cell is an in-order design. x86 CPUs are out-of-order, meaning they can re-prioritize and re-arrange code during execution to optimize the CPU's performance; Cell cannot do this.

* The 7 SPEs on the Cell are highly specialized CPU "cores" which are specifically designed to handle certain kinds of arithmatic (mostly floating point). These types of operations are commonly found in multimedia workloads like gaming, but many x86 programs rely heavily on integer arithmatic, which doesn't work well on the SPEs.

* x86 CPUs do many other optimizations on-the-fly while executing code. For example, x86 CPUs commonly prefetch data that they might need from memory into the cache. They also try to predict which route a branch might take. The Cell's SPEs do neither of these thing, so it's up to the programmer to do these things manually. That's right ... the Cell actually requires a programmer to tell the CPU ahead of time what data it will need and to manually fetch that data, as well as to tell the CPU what direction a branch is likely to take.

As you can see, optimizing code for the Cell is a nightmare. It's a very special-purpose CPU that excels at multimedia tasks like running games, but runs many other kinds of programs badly. x86 CPUs commonly do a lot of their own optimizations while running code, but the Cell (in order to save on transistors and therefore CPU cost) requires programmers to "hold the CPU's hand" and optimize practically every single bit of code. So code that hasn't been heavily tweaked and optimized (as is the case for much x86 code) tends to run very poorly.

So while the Cell might excel at running certain kinds of highly optimized code (eg games) it's very bad at running almost every other kind of program, and therefore can't replace a general purpose x86 CPU.
Unanimous Hamster
Gerbil In Training
 
Posts: 1
Joined: Tue Jul 18, 2006 6:03 pm

Re: Cell Microprocessor's

Postposted on Sat Dec 11, 2010 1:23 am

Even Cell proponents in 2007 agreed with Unanimous Hamster:
Dr. Dobb's article wrote:The bad news is that it's difficult to program: Software that exploits the Cell's potential requires a development effort significantly greater than traditional platforms. If you expect to port your application efficiently to the Cell via recompilation or threads, think again.
(The article's real link isn't working currently)
wibeasley
Gerbil Elite
Gold subscriber
 
 
Posts: 952
Joined: Sat Mar 29, 2008 3:19 pm
Location: Norman OK

Re: Cell Microprocessor's

Postposted on Sat Dec 11, 2010 1:20 pm

Unanimous Hamster what a great first post, and welcome to TR.

I didn't realise the Cell Processor had to be handheld like that. This would be why the insane user who posted a video of XP running on the PS3 showed it taking just over 30 minutes to boot up then. Laughable when you consider even the weediest Atom CPU will do it in about a minute.

So, I understand why it's not easy converting even the most multi-threaded program from x86 to Cell, but for games at least, this programming expertise must already exist - We have the PS3. So why no push to have graphics cards use Cell Processors? Are Nvidia's and ATI's GPU's even faster, making the Cell redundant or a bottleneck? If thats the case, another question...

We have programs that use CUDA and Stream (Used the latter), mostly to convert/encode video - They run rings round a CPU, and do the work in 1/10 of the time my Athlon would take. Would it not be to hard to use GPU's to replace CPU's for everything, or are we back to the same problems as Cell again?
#337 Gamer | Elite Gaming | Join the Fray
Mega Beast - AMD FX-9590 | Gigabyte 990FXA-UD5 | 16GB DDR3 | Tri-Fire R9 290X | Sandisk X300S 512GB
Mini Beast - Intel C2E QX9770 [4.2 Ghz] | Gigabyte X48T-DQ6 | 8GB DDR3 | GTX 750 Ti | Seagate 2TB HDD
geekl33tgamer
Gerbil Elite
Silver subscriber
 
 
Posts: 713
Joined: Tue Aug 25, 2009 7:25 pm
Location: United Kingdom

Re: Cell Microprocessor's

Postposted on Sat Dec 11, 2010 1:36 pm

Unless you're writing code in assembly, "hand-holding" the CPU is the compiler's job, not the programmer's.

The reason XP (or any other x86 code) runs slowly on the Cell is because the Cell ISA needs to be translated to the x86 ISA before it can be executed. Typically, this translation has a high overhead and you will also lose most/all compiler optimizations as well. Also keep in mind that booting just about any OS is largely an I/O bound operation, not CPU bound, so that 30 minute boot time may have nothing to do with the CPU it's running on and instead is probably due to the disk being used.
GA-EP45-DS3R · E8500@3.8 · Scythe Ninja+ · 8GB G.Skill DDR2-800 · MSI TwinFrozr HD7850 · Corsair VX450 · Antec Solo
180GB i520 SSD · WD1002FAEX · Plextor PX-755SA · HP ZR24w · Intel EXPI9301CT · X-Fi XtremeGamer · Win7/Mint
nerdrage
Graphmaster Gerbil
 
Posts: 1281
Joined: Thu Mar 06, 2003 2:49 pm
Location: Raleigh/Durham, NC

Re: Cell Microprocessor's

Postposted on Sat Dec 11, 2010 7:18 pm

The Cell has a single general-purpose core plus the eight SPEs. That core is an in-order PowerPC core clocked at 3.2GHz, and since Linux runs (or used to) on the PS3, we have benchmarks showing that it, by itself, blows as a CPU. Without the SPEs, it's about as fast as a 1.6GHz single-core Power Mac G5.

The SPEs are marvelously fast at running certain types of code which can be used by game designers. Physics code, AI code, stuff like that. Scientific calculations are the same thing, which is why you see supercomputers and Folding teams based on the PS3 and Cell. Basically, the lesson here is that it's possible for a processor to be really fast at some tasks and really slow at others.

Cell's strong points are not terribly useful for an operating system or for general PC tasks like web browsing or word processing. And it's not x86, so if you saw Windows XP running on a PS3, it was running in emulation, which is godawfully slow even on fast hardware.
FuturePastNow
Gerbil Elite
 
Posts: 601
Joined: Mon Nov 24, 2008 11:28 am

Re: Cell Microprocessor's

Postposted on Mon Dec 13, 2010 3:30 pm

rcs2k4 wrote:Has this been asked before?

We are having a debate here about the Cell Processor, and why it's not used in desktop computers these days. Afterall, it's a fast little thing (In the PS3 at least), and is technically very advanced. I read a wiki article on it's creation moments ago, but found it a little confusing. On paper, it's looks pretty potent, while on the other hand, a linked article shows Windows XP running on a PS3. Taking 30 minutes to get to the desktop...

...So, 2 questions I could not really clear up after reading the article:
- Just why are we not using these today in our home PC's?
- Why's it so slow running Windows?

TR Gerbil feedback will help settle this argument! FWIW, I have been trying to stick to "Windows can't run on Cell Processors. The CPU instruction set is not compatible" train of thought, but I am loosing that battle!


People at Sony and IBM are not interested in commoditizing them. Also, Intel and Microsoft both have a vested interest in preventing alternative architectures from coming to market, so they exert great pressure on companies to sell only x86 based products. There was a big push to bring ARM based systems to market and so far, not a single one has been brought to market. There are plenty of people, myself included, who wanted them, but because it represents a threat to Wintel, the powers that be made certain that we cannot get our hands on them, at least not in any form that is equivalent to what is available for Wintel.

As for running Windows, Windows is compiled for x86 systems, so running it on anything else requires emulating the x86 ISA. Since the Cell processor does have a hardware decoder for the x86 ISA, the x86 ISA must be decoded in software and that is slow.
Disclaimer: I over-analyze everything, so try not to be offended if I over-analyze something you wrote.
Shining Arcanine
Gerbil Jedi
 
Posts: 1717
Joined: Wed Jun 11, 2003 11:30 am

Re: Cell Microprocessor's

Postposted on Mon Dec 13, 2010 3:40 pm

rcs2k4 wrote:So, I understand why it's not easy converting even the most multi-threaded program from x86 to Cell, but for games at least, this programming expertise must already exist - We have the PS3. So why no push to have graphics cards use Cell Processors? Are Nvidia's and ATI's GPU's even faster, making the Cell redundant or a bottleneck? If thats the case, another question...

The PS3 was originally envisioned to utilize just Cell to do everything including the graphics. It now has a Nvidia 7800 derivative working together with Cell so that should tell you something.

Unfortunately, the 7800 derivative is also a little gimped so Cell's stream processors have to supplement the GPU. It's really a royal PITA to work with that compared to programming for the 360.

The SPE's are only somewhat more programmable than what you'd get from modern video card GPUs. You can generalize them as overachieving DSPs even. They're useful for stuff like crunching numbers and streaming media use but for branching gamecode, I don't believe they have any advantage (perhaps you could say they're even handicapped). Not that it matters since it's the PPE core that would be handling that (incidentally, the 360 has what's basically a triple core PPE skipping the SPE's).


We have programs that use CUDA and Stream (Used the latter), mostly to convert/encode video - They run rings round a CPU, and do the work in 1/10 of the time my Athlon would take. Would it not be to hard to use GPU's to replace CPU's for everything, or are we back to the same problems as Cell again?

Which ones have you tried? Are they free to use? It's been a while since I've tested h.264 CUDA encoding so I'd like to see if they've managed to work around the shortcomings.
ChronoReverse
Gerbil Elite
 
Posts: 737
Joined: Wed Dec 12, 2007 4:20 pm

Re: Cell Microprocessor's

Postposted on Mon Dec 13, 2010 3:50 pm

rcs2k4 wrote:...So, 2 questions I could not really clear up after reading the article:
- Just why are we not using these today in our home PC's?
- Why's it so slow running Windows?

TR Gerbil feedback will help settle this argument! FWIW, I have been trying to stick to "Windows can't run on Cell Processors. The CPU instruction set is not compatible" train of thought, but I am loosing that battle!


It was slow running Windows because it was running Linux and then BOCHS or some other unoptimized machine emulator to get Windows booting. The lack of RAM couldn't have been helping, either.

You saw the same thing with VirtualPC when it was running on PowerPC Macs trying to load up Windows 95.

The closest you got to Windows on a Cell was when Windows NT 4.0 was ported to the PowerPC platform (I think IBM's PReP platform).

Toshiba had some Cells put to use in premium TVs and even as an accelerator for one of their laptops, see: http://www.pcworld.com/businesscenter/a ... _chip.html

I am unsure if any real add-in cards were made. I'm not counting HPC blades, here, but something like a Cell card akin to the old PhysX standalone cards.
Scrotos
Graphmaster Gerbil
 
Posts: 1036
Joined: Tue Oct 02, 2007 12:57 pm
Location: Denver, CO.

Re: Cell Microprocessor's

Postposted on Tue Dec 14, 2010 8:50 am

rcs2k4 wrote:So, I understand why it's not easy converting even the most multi-threaded program from x86 to Cell, but for games at least, this programming expertise must already exist - We have the PS3. So why no push to have graphics cards use Cell Processors? Are Nvidia's and ATI's GPU's even faster, making the Cell redundant or a bottleneck?

Technology moves on. Cell is more than 5 years old now so even fairly mediocre modern CPU+GPU combinations are superior by more than a factor of two.

If thats the case, another question...

We have programs that use CUDA and Stream (Used the latter), mostly to convert/encode video - They run rings round a CPU, and do the work in 1/10 of the time my Athlon would take. Would it not be to hard to use GPU's to replace CPU's for everything, or are we back to the same problems as Cell again?

It's not just hard, it's outright impossible. Read up on Amdahl's law. GPUs have a substantial advantage over CPUs only in tasks that can be split into many parallel sub-tasks of roughly equal difficulty, but most tasks people are interested in are not like that: they might have a few tasks that can be offloaded to multiple cores, but much of the work is in a single thread that cannot be split up. Sometimes you can fix this by changing the programming, but usually it's just the nature of the task. That said, the GPU can be of use in quite a few places -- this is why both Intel and AMD are focused on merging the CPU and GPU.
Althernai
Gerbil
 
Posts: 84
Joined: Thu Nov 19, 2009 8:02 pm

Re: Cell Microprocessor's

Postposted on Tue Dec 14, 2010 10:41 am

SA wrote:People at Sony and IBM are not interested in commoditizing them.


I'm sure they'd love to, it's just that there isn't a market for them on the desktop.

SA wrote:Also, Intel and Microsoft both have a vested interest in preventing alternative architectures from coming to market, so they exert great pressure on companies to sell only x86 based products.


Why would Intel even bother? The only places where other architectures have a chance is the embedded/mobile space where x86 has virtually no presence and no current viable products. x86 is either the only option or it's no option at all. There's simply no room for "great pressure."

As to Microsoft, are you living under a rock? Haven't you seen the Windows Phone 7advertisements everywhere? Do you think it runs on x86? No, ARM. Microsoft even made windows NT available on several architectures back in the day, no one cared. XBOX360 x86? No, PPC.

SA wrote: There was a big push to bring ARM based systems to market and so far, not a single one has been brought to market


1994 called, it wants it's computer back.

http://en.wikipedia.org/wiki/Risc_PC

Oh, you meant, this past decade. Well, no. There's no money in making a machine for hobbyists. Just ask Jean-Louis Gassée.

SA wrote:There are plenty of people, myself included, who wanted them, but because it represents a threat to Wintel, the powers that be made certain that we cannot get our hands on them, at least not in any form that is equivalent to what is available for Wintel.


OHMIGAWD ITSACONSPIRACY!!!!1111 :roll:

The reason they don't exist is precisely because they're not a threat. You and your five "friends" aren't a market worth bothering with, and thus no one in his right mind is going to waste untold millions chasing after the delusional fanatic market segment.

As to blaming "Wintel" for the lack of ARM equivalents to x86, really?

They're responsible for how hundreds of thousands of programmers haven't spent over decade churning out ARM software like they have x86?
They're responsible for the laws of physics in which a low-power, efficiency-based processor can't have the performance of a processor that has 3 orders of magnitude more power available to fuel computation?
They're responsible for the laws of economics which suggest a mature industry with ridiculous capital requirements is ill-suited for anything more than a duopoly?
They're responsible for the inherent problem of interoperability and the network effect?

No wonder you hateandfear "Wintel." You think they're some sort of dark malevolent god!

Also: Wintel? SRSLY? I'm having flashbacks to reading slashdot back in high school. In the late nineties. I thought it was delusional and silly back then.

Reversing Marx, perhaps things must happen twice. The first time as farce, the second time as tragedy. :wink:
Glorious
Darth Gerbil
Gold subscriber
 
 
Posts: 7884
Joined: Tue Aug 27, 2002 6:35 pm

Re: Cell Microprocessor's

Postposted on Thu Dec 23, 2010 1:26 am

SA wrote:
People at Sony and IBM are not interested in commoditizing them.

Glorious wrote:
I'm sure they'd love to, it's just that there isn't a market for them on the desktop.


Sony, IBM, and Toshiba have tried like crazy to utilize the Cell processor in a number of way outside of the PS3. IBM incorporated the Cell processor into several different "accelerator" add-on cards that could be used for HPC applications, similar to Nvidia's current lineup of Tesla cards. Toshiba has developed a derivative of the Cell (I believe called the "Spurs Engine") with just four Cell SPE's and tried putting them into media processing add-on cards for Toshiba laptops and into their high end Regaza LCD TVs. However, IBM has discontinued their lineup of Cell based HPC products, instead opting to push Nvidia Tesla, and I don't believe anything came of Toshiba's Spurs Engine configured laptops (why the hell you'd want to add a cut down Cell to a laptop is beyond me), so Toshiba's Spurs Engine enabled Regaza TVs are the only place you'll be seeing a Cell derivative outside of a PS3.

SA wrote:
Also, Intel and Microsoft both have a vested interest in preventing alternative architectures from coming to market, so they exert great pressure on companies to sell only x86 based products.


Glorious wrote:
Why would Intel even bother? The only places where other architectures have a chance is the embedded/mobile space where x86 has virtually no presence and no current viable products. x86 is either the only option or it's no option at all. There's simply no room for "great pressure."


Intel has never worried about Cell encroaching into its traditional markets (laptop, desktop, server), though I'm sure that they would have loved to get one or two design wins in the current generation of gaming consoles (for the right price, of course). I can't imagine that Intel had to lift a finger to get companies to ignore the Cell - the Cell's difficult programing model, lack of development tools and existing software, and incompatibility with every other processor architecture took care of that itself. Now, Nvidia's recent success with CUDA and its Tesla GPGPU's could be a different story....

As for Microsoft, they commissioned IBM to design the XBox 360's "Xenon" CPU, which has three POWER (or is it POWER PC?) based cores that are identical to the Cell's PPE. That certainly qualifies as an "alternative architecture". It's always puzzled me as to why Microsoft would go with a non-x86 architecture for the XBox 360, all the while taking the traditional PC gaming market for granted or flat out relegating PC gaming to second class status. Perhaps Microsoft wanted as much control over the design and IP of the XBox 360 CPU as possible? I think that Microsoft neglects PC gaming at their own peril.

Also, the word on the street is that MS might make Windows 8 available for ARM as well as x86. I guess the Wintel honey moon is about to end:
http://fudzilla.com/notebooks/item/2131 ... run-on-arm

SA wrote:
There are plenty of people, myself included, who wanted them, but because it represents a threat to Wintel, the powers that be made certain that we cannot get our hands on them, at least not in any form that is equivalent to what is available for Wintel.


Glorious wrote:
OHMIGAWD ITSACONSPIRACY!!!!1111 :roll:


Ha ha ha - I think Glorious's response says it all.

The market forces that have incentivized Intel, and to a much lesser extent AMD, to invest who knows how many tens of billions of dollars into x86 CPU development and cutting edge semi-conductor fabrication technology over the last few decades have settled this matter, not scheming corporate fat cats sitting in a back room smoking cigars and plotting to deprive consumers of Cell based personal computers. Intel's leaders are no saints (just ask AMD or their former BFF's at Dell), but it is not their fault that software devs would rather invest their time and money in developing products for the existing x86 ecosystem which is second to none in market value, rather than on a new architecture with a dubious future.
jabro
Gerbil
 
Posts: 22
Joined: Fri Feb 27, 2009 12:40 am


Return to Processors

Who is online

Users browsing this forum: Google Adsense [Bot] and 2 guests