Endless Paradigm

Full Version: CPU Architecural Changes in the Future?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Wee've been running x86 CPUs for a long long time now (and moved to x86-64, thanks to AMD, more recently, which is pretty much completely backward compatible with the x86).  The primary strength is the fact that Intel's CPU has always been backward compatible.
However, using CPUs based on architecture built many years ago has its issues too - for one, the x86 architecture is pretty messy compared to many other CPU architectures (since it's been extended in different sorts of ways).


I've noticed a few interesting trends however, which may cause us to shift towards ditching this x86 architecture altogether.


Effect of GPUs/GPGPUs
I'd say there's two primary components here.

Firstly, the rise of pixel shaders, followed by PCIe taking over AGP made writing custom applications to run on the GPU possible.  Now with nVidia and AMD/ATi pushing official platforms on which applications can be built to run on the GPU.
It's been nothing new that the GPU has always offered far more computing power than the CPU.
Secondly, an issue with GPUs is that they have been massively parallel in processing, whilst CPUs have typically been serial.  But with multi-core processing, and both Intel and AMD pushing for CPUs that process more at a time, rather than process things faster, perhaps coding for the GPU isn't so bad...

(on a side note, Intel have obviously been planning to make CPUs with many cores on a single die; have also heard something about AMD planning to introduce the idea of heterogeneous (unequal) CPU cores on some of their future CPUs)


Rise of Open Source Software
This is probably the second main thing that may make new CPU architectures viable on a mass scale.  The primary thing here is Linux VS Windows.  Unlikely that Linux will take over Windows any time soon, however, Linux has gained, relatively, quite a bit of popularity recently.
So how does Linux help a architecture change?  The fact that it can be obtained in source code format, means it can be compiled for many different CPUs.  For Windows, if it's compiled for x86, it will only run on an x86 (or x86 compatible) CPU.
Sure, MS could compile Windows for different CPUs, however, without much open source software following suit, you're probably going to end up with a whole heap of different software products coded for various platforms.  With the open source model, you can compile the same program for different architectures (mainly the one you're running).



I don't think this will happen too soon.  For one, an architectural change will make many current programs not work on new CPUs.  But it'll be interesting to see how things play out, especially in the GPGPU field.
I'd have thought AMD could bridge the use of CPU and GPU processing powers - when the graphics card isn't at a percentage of use, so it causes a reasonable speed up in general processing.

Sorry if I sound dumb, but I want to fill a void here - what architects do GPUs work with? Or does it simply universally process code? I'm not too sure how it's done ^^'

On a side note: what does GPGPU Stand for??
http://en.wikipedia.org/wiki/GPGPU

I'm not sure, but I think each company is free to use their own architecture.  It just has to be able to interface with the appropriate things however (ie DirectX, PCIe connector etc).
Reference URL's