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
But does it run PPC OSX? ;)
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?
And yes, Cell runs Linux.
I just assumed Linux ran on everything, including iPods
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
there will be a mod for the ps3 so i can play all my "back-ups"?
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.
And yes, Cell runs Linux.
Yeah, and so does whatever the PS2 contains, but information about getting linux on your PS2 is pretty sparse. I don't expect the PS3 linux info to be much better.
P.S. WTF is up with having to wait 30 minutes between comments now. >:(
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
Now imagine a beowolf cluster of these things!
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
Windows?
"Showtime Synergy!"
Sony better watch out for Nintendo's "Misfit" processor. It's songs are better.
I reckon a Cell Laptop version would rock the mobile world... for starters it would take MS 3-4 years to catch up and develop a usable OS for it.. or they'd do what they normally do.. steal/buy someone else's..
"Consider how lucky you are that life has been good to you so far. Alternatively, if life hasn't been good to you so far
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.....
Descriptions of programming for the SPEs frequently mention something called "DMA chaining".
...
What the heck does that mean?
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
At least Cyberdyne Systems doesn't seem to be involved this time...
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
I've just sent out new patches to the kernel and ppc64 mailing lists. See http://patchwork.ozlabs.org/linuxppc64/ for an easily accessible archive.
Arnd
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!
The hard-drive version will come with Linux preinstalled.
But will the PlayStation 3 console have GCC so that I can port homebrew programs to it without having to install a modchip? If not, the PS3 OS is no more "GNU/Linux" from the user's perspective than the Xbox OS is "Windows 2000".
So it's gonna be a while 'till we get a production compiler. Automatic parallelization is a very hard problem, btw.
The Raven
To me, SPU always made me think "Scalar Processing unit"
The description of the SPUs makes me think of DSPs, or digital signal processors. If I stripped the Cell of buzzwords, would each SPU become a "Signal Processing Unit"?
RTFM SPU C/C++ Language Extensions
From Sony: http://cell.scei.co.jp/e_download.html
an in-order ppc core with 8 memory-starved simd units.
i find it hard to believe they spent billions bolting on a set of vector processors to a non-out of order ppc cpu.
maybe they spent most of the money on marketing and writing the software/apis.
Science : Proprietary , Knowledge : Open Source
Fuck those Apple retards who are constantly having gay sex
... no sex at all.
Yeah! Bow before us Linux gods who are constantly having
Sad but true.
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.
I run Linux on my toaster. ... I said that as a joke, but to be sure it hadn't been done, I googled it. I was wrong.
I thought that someone building a Linux running toaster must have no life, but to be sure, I followed your link. I was right.
Karma: Positive (probably because of superiour intellect)
To get revenge on its inevitible hd-dvd loss against blu-ray. HaHaHa, they are evil geniuses!
Seems to me like the obvious names before Marketing got ahold of it.
Why would anyone engrave "Elbereth"?
Carlos the Jackal did you in the can.
It's even simpler than that. With positive gravity in front and negative gravity behind, you get zero gravity - and therefore zero weight - in the middle. And since zero weight is the completely the same thing as zero mass in every respect, you can accelerate to lightspeed and beyond without needing infinite energy :-)
Not just out to lunch, but wandering around lost looking for something to eat.
Why would anyone engrave "Elbereth"?
Whoa, they even put a Cell processor into _every_ PS3!
:P)
And here i was getting afraid i would receive my pre-ordered PS3 without a CPU. Phew!
(Or is that the 399$ version?
-JaL
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.
I kind of think they still have to worry about 4) lazy programmers...
I hope the compiler support for vector intrinsics is better than the Dylan Cuthbert VU0 macro mode extensions to gcc--while cool, the compiler was constantly putting in redundant load/stores all over the place.
I would bet good money that at least one launch PS3 title will not use the SPEs at all, just PowerPC straight to RSX...
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.
That site has been torn apart numerous times for it's nonsense. Please don't even link to it in a technical discussion if you want to maintain any kind of credibility.
Browsing around on his site will also give you lots of "info" on aliens and other garbage.
In Linux they setup another virtual file system with files that represent SPE resources.
Basicly to one file you pipe instructions into it, then in another file you pipe data into it. Then the spes proccess it and output the information on another file.
It follows the Unix philosophy of 'everything is a file'.
This is a interview of Arnd Bergmann. He is head of Cell development and part of the team that is paid by IBM to develope Cell support into the Linux kernel and the GCC compiler.
In short order Linux support for the Cell proccessor and the special virtual file system will be in the vanilla kernel and improvements in GCC are being worked into the 4.x release.
http://www-128.ibm.com/developerworks/power/libra
He goes into some detail with different approaches they tried and why they decided on a file system interface as the best bet. Also mentions a bit about Linux cell 'workstations' and such.
The actual SpuFS for interacting with the 'synergistic' proccessing units is described here:
http://www-128.ibm.com/developerworks/power/libra
There are a few files...
Also there is some other ways to do it. IBM is developing software libraries that programmers can use to help them produce code that will automaticly use the spus when appropriate and vectorizing and parrellizing code when possible will be done by cell-specific GCC versions.
As a game maker they have a choice. They could use Linux if they wanted to, I guess, but they could use propriatory software libraries, or use custom assembly code. Whatever is most appropriate. There will be instructions in C/C++ code and then probably in wrappers like python or whatever besides that.
Most programs will have to be modified to get the most out of it.
And if you don't understand the advantages to having a file system based way to interact directly to proccessors then you need to get your head out of Microsoft's ass and learn to use a real operating system. (just kidding, but in reality no MS kiddies will ever be able to touch this technology unless they learn to use Linux or BSD)
IBM has already some motherboards. There was one see at the Linuxtag, this summer in Germany.
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.
=)))) you rock, maaaan =)
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"
of course it's informative! hes stating that theres less information in there, in other words giving us information, oh fuck it, slasdot and its dumb ass trolls who believe any shit thrown at them.
Maybe it's time for Functional Programming languages to shine! synergistic processing units like the CELL is a big chance for functional programming.
Functional programming languages have the following characteristic: the order of execution is irrelevant, because functions are free of side effects. Therefore, a CELL processor with 8 SPUs could actually execute 8 functions simultaneously, thus increasing execution speed of a functional program 800%. Of course that is theoritical, because there are other factors that may be a performance hit (for example, synchronization between the SPUs), but I think it's worth the effort.
Synergy - The whole is greater than the sum of the parts. (eg 2+2 > 4).
:(
Hmm integer unit bugs already.
The two links provided give an in-depth introduction of the Cell architecture. The IBM link also adds superb material for developers about the Cell Compiler while the Sony link adds stuff on how to approach programming for the Cell. They also have citations to the technical papers presented at ISSCC.
A definite must read for those interested in computer architecture and the Cell processor in general.
...with the 8 SPU's is they are essentially 8 altivec units attached to one, slow, general purpose Power based core.
You could only achieve close to that 800% speed increase if all of the code for all of those functions was able to be vectorized.
The reason cell is (theoretically) good for games is because things like physics and collision detection are highly vectorizable.
Also throw into the mix the fact that each SPU has hardly any cache and any sort of general computation looks out of the question.
Cell is a very interesting architecture for a very narrow set of computational problems, nothing more.
I am NaN
You forgot to use the word "leverage" as a verb (oh, and you misspelled a word too - curse the Wikipedia-induced desire to correct everything!)
That's it, the Playstation 3 will definitely win the next console war by leveraging 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.
There - a very nice piece of mindless marketing-speak any marketing droid would be proud of!
Dan East
Better known as 318230.
Synergistic Processing Units? Give me a break!
SPU == Super Processing Units.
Now that's what I'm talking about! How could something with a name like that not run like a bat out of hell? If you had a choice, wouldn't you rather be super than synergistic? I know I would! Something that is super doesn't even need synergy - it can go it alone.
Dan East
Better known as 318230.