IBM-Sony-Toshiba Reveal New Cell Processor Details
BBCWatcher writes "The three main partners in the Cell Processor initiative announced technical details of the new architecture. IBM's documents are particularly revealing. There's much more information on how developers, including open source developers, can access the SPUs (Synergistic Processor Units). As reported earlier, Sony will put the Cell into every Playstation 3 game machine, due early next year. And yes, Cell runs Linux."
oh, here are my glasses...
Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something. -Heinlein
Synergistic Processor Units
OK, who let the marketroids in the lab?
Anandtech has a great article going over the Cell as well.
Probably isn't quite as in-depth, though.
Synergistic Processor Units?
That's it, the Playstation 3 will definately win the next console war due to exploiting its Synergistic Processor units and developing core competencies to sustain a long-term competitive advantage in the new paradigm. Now that word is out on the blogosphere, Microsoft should just give up.
Bingo, BTW.
So when can i buy a 'pc' based on these things...
Or even a development board..
---- Booth was a patriot ----
who is the actual manufacture?
Yes http://www.pcstats.com/articleview.cfm?articleid=1 727&page=2
Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something. -Heinlein
Don't forget to chain enough PS3's together to enable the "Sarah Connor" easter egg.
- Just my $0.02, take with a grain of salt, your mileage may vary.
IBM = evil soul-stealing registration-required site
Sony = http://cell.scei.co.jp/ in EN and JP
Meyer: Excuse me, but "proactive" and "paradigm"? Aren't these just buzzwords that dumb people use to sound important? [backpedaling] Not that I'm accusing you of anything like that. [pause] I'm fired, aren't I? Myers: Oh, yes.
it's parts of the goku, vegeta, freeza, king cold, piccolo, tienshinhan processors put together into one super processor
in other news, rumors spread about Intel's new gohan processor
if i'm not immortal, what's the point of living?
...te?
And yes, Cell runs Linux.
... I said that as a joke, but to be sure it hadn't been done, I googled it. I was wrong.
First thing I thought of when I read it was "Duh."
I run Linux on my toaster.
They finally have a TLA with "synergy" in it... doesn't that Godwin the technology, or something?
Incidentally, are they fresh spu? Most civilized people can't stomach spu fresh.
sic transit gloria mundi
I heard a rumor awhile back that the PS3 will be running a stripped down version of Linux, just like the XBox/XBox 360 run a stripped down version of Win 2k. It does seem to make sence since the Cell processor runs Linux and NVIDIA(the PS3 will use a NVIDIA graphics card) has been known for great Linux and OpenGL support(I also heard all PS3 games will use OpenGL).
Sony offered Linux on the PS2 partly as PR stunt, partly as a way to offer a cheaper dev system than their $100K dedicated HW. But they distributed it with only a proprietary "BIOS"/bootloader, which meant developers couldn't distribute bootable discs even if they blew off the license which said they weren't allowed to, not without Sony's approval. And they distributed their proprietary boot disc only bundled with their $200 ethernet/HD. Plus it only worked with a select few "sync on green" monitors. So the whole thing was mostly a really tiny niche hobby, rather than a new Linux architecture. Let's hope Linux on PS3 has a chance to play with the big dogs.
--
make install -not war
"Showtime Synergy!"
Sony better watch out for Nintendo's "Misfit" processor. It's songs are better.
So it will be utilizing synergy. That's good. I like my solutions to be customer-focused, and above all synergized. :)
You are not the customer.
http://cell.scei.co.jp/e_download.html
There's much more information on how developers, including open source developers...
HOW DARE YOU! You can't include open source developers as a sub category of developers! When you say developers, you better mean closed source developers! We don't let that open source scum use our compilers and such, so we refuse to let the word "developers" mean "all developers". Don't you go insinuating that it should include OTHER TYPES OF DEVELOPERS when we say DEVELOPERS!
And while we are at it, Perl Developers aren't developers either. Lump them in the cryptographers, we don't want them.
When your "technical specs" are filled with marketing buzzwords, you KNOW you are in trouble.
These look like multi core CPUs with modified Altivec instructions to handle some extra elements.
My impression is that this is an optimized chip for situations where you have a known compiler (no branch prediction) plus known hardware and workload (games + gpu).
So they are likely to get swank game performance, but not sure this is a revolution as much as a nice optimization for a specific tasks.
SPU? Sounds like something I do every few saturday nights, after ingesting too many alco-beverages.....
Not to be a buzz kill, but it looks like we'll have to wait for a lot of development and middle ware maturity before we see the real potential in cell processors.
Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something. -Heinlein
Earlier in the design, the SPU's were called Streaming Processing Units (you know like SSE, Streming SIMD Extensions). However, they didn't want to give the impression that the SPU's were designed only for "streaming data" kind of tasks, so they decided to change its name.
;)
:)
I guess "SPU" had already stuck with the developer team, so they just switched the word to "some meaningless word with S" so they could keep the acronym. And as far as meaningless words with S go, "Synergistic" fits the bill quite nicely.
After the fact, of course, they can let the marketroids make up explanations on how the name is actually about the "synergy" between the main processor and the SPUs, blah blah blah...
The filesystem is the package manager
How do you program those SPUs, besides hand-coded assembly ? For media / game apps, it's probably acceptable to handcode vector instructions for the performance-critical parts, but for everything else you're going to use - at best - the 2 generic execution contexts and the SPUs will sleep idle.
The Raven
If PS3 runs Linux & Firefox & Thunderbird & Emacs & Open Office; and has access to a network and a hard drive, I will buy one and probably use it as my primary computer both at work and at home.
(from a former Apple / NeXT / Amiga fan who doesn't mind spending "too much" on interesting architectures)
How do you program those SPUs, besides hand-coded assembly ?
With the Cell compiler, of course!
Yeah, and so does whatever the PS2 contains, but information about getting linux on your PS2 is pretty sparse.
Ummm... how about just buying a kit straight from Sony?
Sony has already said they will have something similar for the PS3.
-Charles
Learning HOW to think is more important than learning WHAT to think.
Modern DMA engines frequently allow you to store DMA descriptors in a section of memory usually in the form of a list. You then provide the starting address of the list to the DMA engine, maybe twiddle some bits and of the DMA engine goes and processes the list element by element. The command s in the list can get really fancy depending on the DMA engine. You should read the documentation the article talks about and find out about it, it seems to be a good example of a fancy DMA engine.
Oh and that list is sometimes called chain.
Je me souviens.
Yes it does, cell's PPE is basically a PowerPc 970 (aka G5).
(no soul-stealing link-click reading-text required)
First the SPUs have the ability to initiate DMA. That means they can do stuff like calculate memory-mapped addresses and request more data, or select different destinations for a calculation. Or even load in a different program to do specialized execution. All independent of the main processor. BIG improvement.
2nd is the integer instructions. They really have everything... shifts, rotates, all SIMD. One of the big problems with PS2 VUs was that you had to resort to real sorcery to do simple things like shifts. But these seem to be real actual general-purpose CPUs. There's nothing that really strikes me as "OMG, I can't believe they didn't include X! Idiots!" Branch prediction, maybe.
no...
...without the G5 AltiVec enhancements or any instruction reordering, or any of the things that make a G5 cool.
Why would anyone engrave "Elbereth"?
http://www.misinformer.com/archive/2001/01/15/
an excerpt
mis: I've noticed there are a few thrillingly exotic looking integrated modules on this machine that I've never seen on any console before. What is this first one on the left here labeled "internet?"
Sony: Whaa? Are you a stupid man? It isa internet in the port!
mis: So you mean, you can plug a phone line into it, and play multi-player games online, like with the Dreamcast?
Sony: Dreamcast? Ha ha, funny stupid yankee! You dishonor me with your mention of this Dreamcast. The Praystation 3 does not connect to internet, Praystation 3 CONTAIN the internet. You prugga in the computer to the port, the internet isa all there. We copy it inside machine for fast access.
mis: Wait, so you're saying that you copied every single file on the internet into this box? That doesn't even make any sense! The internet is a constantly changing network of millions of individual machines. How does the PS3 update its so called "internet" if it has no connections to the real network?
Sony: Thasa right. No connections. Praystation 3 get internet from outerspace.
mis: And its power?
Sony: It run on love.
Linux developers (who had evidentally already had access to the documentation, but couldn't disclose their work until it was officially made public) sent out a new version of the patches to give programs access to the SPUs. It's looking pretty likely that, as soon as you can actually get Cell processors, there will be support in the toolchain and kernel for using them effectively (provided you actually have a task that benefits from massive vectorization with very little control logic, of course). This should be great for the photorealistic rusty steel Enlightenment theme.
After having read the anandtech article mentioned previously in this thread, a quote:
Unfortunately, seeing a future for Cell far outside of Playstation 3 and Sony/Toshiba CE devices is difficult at best.
Perhaps for the people at Anandtech but it's times like these that I feel badly for all those rendering houses and farms that built their systems off SGI's or clusters of expensive opterons/xeons/itaniums. The Cell is basically a very advanced DSP that performs extremely well at rendering and SIMD algorithms (floating point calcuations). A farm of PS3's could easily do what much more expensive grids do.
Such a system could also be used for doing parallel calculations in various scientific applications.
I just downloadded all of the Cell pdf's to take a look at them. I posted the following analysis to news:comp.arch:
...
Naturally, I started reading the SPU asm manual, and that makes it
immediately obvious that this is a cpu directly targeted at MPEG style
video processing:
absdb Absolute difference of bytes
avgb Average bytes: dest = (a+b+1) >> 1 (MPEG interpolation)
ct Carry Generate: Target = carry out of (A+B)
addx Add word extended: Target = A+B+(Target & 1)
Notice the last one! It uses the least significant bit of each part of
the target register as input to an AddWithCarry operation, which means
that you need three read ports.
This pair of opcodes seems to me to be meant as building blocks for
extended/arbitrary precision calculations.
It has a full set of branch instructions that as a side-effect either
enable or disable interrupts, i.e. critical sections are supposed to be
handled this way.
It seems to handle sub-register size operations with a set of opcodes,
where one of a group of GenerateMask operations is used to generate an
input mask for a general shuffle operation.
There's a bunch of generalized three-input FMAC opcodes, all working on
SIMD data, like fnms (T = Acc - (a * b).
It has fsqest and frest to generate approximate reciprocal square root
and reciprocal lookup values. However, these operations does not seem to
deliver results in a standard format, instead each resulting element
consists of two parts, a base and a step, so that a following fi
(Floating Interpolate) can improve upon the table lookup results.
I'm guessing you'd then want one NR iteration to get somewhere close to
IEEE single precision.
The shufb (Shuffle bytes) opcode seems like a small extension to the
Altivec Permute, in that in addition to using 5 bits to select one of 32
possible input bytes, and can also specify three different immediate
values (0, 0x80 and 0xFF), which would be needed to make it work with
the GenerateMask operations mentioned above.
All in all a pretty general set of opcodes for SIMD data processing, it
is particularly obvious in the way each of the possible operations has
forms to work on either a set of input data (reg or immediate), or on
it's complement. This saves a lot of bubble-introducing mask setup
operations, but is normally not considered to be required on a regular cpu.
Terje
"almost all programming can be viewed as an exercise in caching"