Log in

View Full Version : Cell processors and the potential use in now aday PC's


Ajax_Undone
21st October 2008, 20:15
Wondering if anyone knows if there is any development on the Cell processor or even if IBM is going to make this available on PC or not...

This is what wiki (http://en.wikipedia.org/wiki/Cell_Processor) has... I know that from the tests run that it is a superior processor architecture and am just wondering if we will see it in a PC anytime soon...

LoRd_MuldeR
22nd October 2008, 03:49
From all that I know, the "Cell Architecture" is nothing but a 64-Bit PowerPC CPU attached with eight Co-Processors.
So it's quite different from the PC architecture. Since it's based on the PowerPC architecture, you can't run x86 code on it.

First of all that means you can't run Windows on Cell. Maybe you can run Mac OS X or some Linux compiled for PowerPC.
Second, existing applications would (maybe) run on Cell's PowerPC CPU, but they would not use the eight Co-Processors at all!

So unless your application is specifically optimized for Cell and it's many Co-Processors, it won't benefit from Cell.
Just throwing your application on Cell and hope for the magic speed-up due to it's "superior processor architecture" won't work.
I assume that code, which wasn't developed and optimized specifically for Cell, would run pretty slow on Cell.
Unless you explicitly utilize the Co-Processors, all that remains is a single-core PowerPC processor. Not that great!

I think it's very similar to using the GPU as a Co-Processor: It has a lot of potential, but is very hard to actually make use of it...

squid_80
22nd October 2008, 06:36
Just throwing your application on Cell and hope for the magic speed-up due to it's "superior processor architecture" won't work.
I assume that code, which wasn't developed and optimized specifically for Cell, would run pretty slow on Cell.
Unless you explicitly utilize the Co-Processors, all that remains is a single-core PowerPC processor. Not that great!Just about anything could be considered to have "superior processor architecture" compared to x86 (yes including PowerPC). Unfortunately we're well and truly stuck with it.
I've always wanted to try out writing for an Itanium, just for something different; maybe there's a cheap one on ebay...

burfadel
22nd October 2008, 12:08
Vista has an Itanium version, their file sizes are generally twice that for the IA64 version when compared to x86. x64 is in most cases slightly larger than x86.

How come the file sizes are so much bigger, less efficient coding?

squid_80
22nd October 2008, 14:04
I'm not positive but I think it uses fixed size opcodes which are much larger than x86 but with each opcode containing 3 instructions. Possibly uses absolute addressing too whereas x64 can get away with 32-bit relative addressing 90% of the time.

LoRd_MuldeR
22nd October 2008, 20:18
As far as I know, the big difference between Itanium and x86 is that most of the optimizations that a x86 processor has to do "on the fly" while executing the program (like "out of order execution" and "branch predictor") will be done by the Compiler for the Itanium processor. I think this is done by using "Very Long Instruction Words", which may explain the big executable files. But from all that I know Itanium suffers from a number of problems. A lot of complexity is moved from the CPU to the compiler, so the performance even more depends on the compiler's optimization capabilities...

Ajax_Undone
23rd October 2008, 00:29
Thanx for that incite to the Cell Processors Potential... I was Wondering about that for some time cause I figured that if PS3 System could handle it why not X.nix and Windows...

I am wondering why the frequency of the processors has not gone past 3.8GH on the consumer level. I know that Duel and Quad and potentially Octo Processors are coming out that would Stomp a larger frequency, but do to the fact that we now have x64 bit OSes. Would it not make sense to speed up the current Binary Frequency for x64 bit CPU's???

What bars them from breaching the 4GH level???

LoRd_MuldeR
23rd October 2008, 00:40
Developing processors just for high clock frequency is not the way to go today! The Pentium 4 was the best example for this :rolleyes:
At some point it becomes extremely costly to further increase the clock speed. Also the "performance gain per additional MHz" will drop significantly.
Higher clock speed doesn't help at all, if the "cycles per instruction" rise at the same time!

So the development is going a way from higher and higher clock frequencies to more and more cores and/or more and more Co-Processors.
Cell is one example of this development. GPGPU is another one. And multi-core CPU's, of course...

communist
23rd October 2008, 07:35
What bars them from breaching the 4GH level???
IBM has a PowerPC chip that runs at 4.7 GHz (http://www-03.ibm.com/press/us/en/pressrelease/21580.wss) ;)

Shinigami-Sama
23rd October 2008, 09:06
What bars them from breaching the 4GH level???

I see someone hasnt taken their A+

4ghz is the limit on X86 architecture, heat and electrical loss become huge problems passed that

ash925
23rd October 2008, 13:33
4ghz is the limit on X86 architecture, heat and electrical loss become huge problems passed that

Speed may be a limit but it isn't for the architecture but processors that are built with a given lithography technology(currently smallest is 45 nm).
As they get the size smaller the faster processors can be clocked.

LoRd_MuldeR
23rd October 2008, 13:45
Speed may be a limit but it isn't for the architecture but processors that are built with a given lithography technology(currently smallest is 45 nm).
As they get the size smaller the faster processors can be clocked.

You can not make it smaller and smaller. There are some phiscaly limitations and we are already pretty close to them now.
At some point the structures become too small, so the electrical isolation doesn't work anymore.
And the closer you get to that physical limitation point, the more expensive any further "shrinking" will become...

Just get rid of the idea that they can make it smaller and faster until forever. The development is going to multi-cores for a reason!

Ranguvar
23rd October 2008, 16:06
True...

We're now focusing on multi-core with each core a full-fledged CPU, since more MHz is clearly not going to cut it... but I think soon we're going to need some serious changes in the CPU industry. Current physics tells us conventional transistors can only get so small...

It seems like there's an alternative proposed every day, but then they vanish, whether due to lack of funding or problems with the proposal, who knows...

Hopefully, if we do hit a sort of barrier waiting for 'the next big thing', there'll be a re-focusing on more efficient software. It's inexcusable how bloated and inefficient software has become. Appalling to me that I can use Linux with Compiz Fusion (standalone), a complete custom-made desktop environment, and it idles using 1/4th the RAM Vista does idling. And I'm not just picking on MS, there's tons (though generally less, thanks to KISS and the Unix philosophy) of bloated programs for Linux as well. Programmers in general have gotten too reliant on the fact that most people have high-powered machines, and can take the load. Firefox, Azureus/Vuze, and OpenOffice are all great apps, but are either bloated or suffering from memory leaks. x264 is a golden, shining example of what an app can be... VERY lean, and VERY mean. Plus, fantastic multi-threading.

I understand very well that it's hard to make a lean app, but it's got to be a higher priority IMO, even at the cost of slower development. We've seen it can be done (uTorrent, Openbox/PekWM, x264, Media Player Classic HC, XMMS). Let's do it more often :D

KISS: Keep It Simple, Stupid
Some Unix software philosophy: Small is beautiful, Make each program do one thing well, etc.

Soulhunter
23rd October 2008, 18:51
/r/ for 8x8x8 3D photonic processor :devil:

Shinigami-Sama
23rd October 2008, 21:27
Speed may be a limit but it isn't for the architecture but processors that are built with a given lithography technology(currently smallest is 45 nm).
As they get the size smaller the faster processors can be clocked.

no
its a physical limit on the architecture
smaller just means the heat becomes less of a problem but electrical isolation becomes a problems
this is why we should've gone digital alpha from the get go :\

Ajax_Undone
24th October 2008, 03:49
I see someone hasnt taken their A+

4ghz is the limit on X86 architecture, heat and electrical loss become huge problems passed that

I Know this as I stated previously :rolleyes:

Would it not make sense to speed up the current Binary Frequency for x64 bit CPU's???

burfadel
24th October 2008, 04:41
Software efficiency is a point that does need some work, that of course includes both programmes and games. Both of these games in the following example are good, I'm not knocking them!
Far Cry 2 is a great example of good software efficiency. It has extremely good graphics, an extremely large map area, and doesn't require loading when you go in to other areas of the map. This alone is impressive, but also consider the game actually runs things in 'real time'. Trees and grass grow, fire will continue to burn something when you're not there, along with many other ongoing changes. It is based on the same game engine as Crysis, but is updated significantly and can run on lower graphics cards than before. Utilising the Forceware 180.42 (or above) drivers on an Nvidia card will allow use of some Directx 10.1 features like the ATI cards can use (even though no Nvidia card is Directx 10.1 compliant, only Directx 10 compliant).

Compare this game to Grand Theft Auto: San Andreas. If you set the resolution to 1680x1050, and have the antialising and anistropy settings set to the same as when playing Car Cry 2, where Far Cry 2 was playing perfectly GTA could be slow and jerky in parts! - The graphics don't hold a candle to that of Far Cry 2.

Even the game 'Mafia', which came out about the same time as GTA on the PC (maybe even fractionally before) is superior in terms of graphics and gameplay to that of the then version of GTA. I'm not knocking GTA, just pointing out the differences coding efficiency can make!

There are a few new concepts for processor design, such as using carbon nanotubes etc that will hopefully one day in the non-too distant future be able to be used in processors. These could lead to a leap in processing performance whilst significantly reducing heat and power use. The technology has the potential to be around for quite a while, since better design and new technologies and discoveries are an on going process. The carbon nanotube technology can also be layered, with joins between the layers for parallelism.

The greatest threat to computer advancement is a hardware monopoly (for the same components), doesn't matter whether its Nvidia, ATI, Intel, AMD etc etc, or in a broader sense a monopoly of a brand of say, Nvidia gtx 280 card such as a Gigabyte, Asus, Palit, Sapphire, HIS, etc etc. This is why Mac's are very bad - sorry Mac lovers, but its true! If Mac's became too popular, you'd have the collapse of many companies, collapse of competition, then collapse of innovation through necessity to compete. Then like what I saw on the Mac site the other week, instead of just Mac buyers paying an extra $500 :O for a 1gb stick of ddr2-800, everyone will have to!

Cpu's may go to more advanced parallelism in the future, such as the 800 shader units (parallel) that are on the Radeon 4800 series cards. On a CPU, these 'shader units', can be used for little things, things like using disks, dvd's, ethernet etc which currently use a some (albeit small) amount of cpu power. The real CPU cores then can be better utilised by programmes which can back better use of the priority time that could otherwise be lost to the background processes (of which there are many more besides just the DVD/hdd/lan).

Shinigami-Sama
24th October 2008, 06:15
I Know this as I stated previously :rolleyes:

x64 is still based on x86 and doesn't magicly raise the limit :rolleyes:

LoRd_MuldeR
24th October 2008, 14:48
x64 is still based on x86 and doesn't magicly raise the limit :rolleyes:

I even think the opposite is the case:
Since x64 is an extension to x86 and fully backward-compatible, it makes the processor even more complex than a "pure" x86 processor was.
So if the x86 -> x64 move had an effect on clock-speed at all, then it makes it more difficult to further raise the clock-speeds!

However a x64 processor (running in 64-Bit mode) should have some performance profit compared to a x86 processor running at the same clock speed.
That's because x64 has some additional registers that didn't exist in x86 and the "old" registers become wider in 64-Bit mode...