If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

The Ideal (Hypothetical) Gaming Processor

03-09-2012, 07:43 PM

Hi everyone. I've been wondering what the "best" types of gaming CPUs would be, and I would like to know what it takes to make an idealized gaming-oriented processor.

Suppose I had a fabless semiconductor company, and I was contracted to design the CPU for a new game console. The GPU was already determined to be something relatively powerful, like a die-shrunk Radeon HD 6870. The goal is to make the chip as small and cheap as possible, but will never bottleneck the graphics processor.

What sort of difference does a processor's ISA make? Suppose I had licenses for MIPS, ARM, SPARC, and other risc-based architectures. Is the ISA really that important, or just the micro-architectural "plumbing" underneath?

What types of instructions do modern video games make the most use of? Do games find integer performance most important, floating point performance, or both? If floating-point calculations can be offloaded to the GPU, can the CPU's floating-point units be excised to make the chip smaller and cheaper, or would that harm system performance? If FP power is still important, would adding complex 256- or even 512-bit units be beneficial to total system performance, or just a waste of space?

How important is cache size? Intel's SNB i5, i7, and SNB-E i7 processors have 1.5, 2.0, and 2.5 MiB of L3 cache per core, but looking at benchmarks from Anandtech and other places, there doesn't seem to be too much difference. At least, not enough difference to justify the added space and expense. How much cache per core is "enough"?

As for the core count itself, would it be best to make a quad-core chip and call it a day? I know most game engines today simply do not scale past four cores, and simultaneous multithreading is pretty much useless for games. But, since consoles are expected to last around 5 years, would making a 6- or 8-core CPU prove beneficial in the future, so long as the chip stayed within the client's budget?

I know this is just a lot of speculation, but I'm just curious what makes games tick.

Hi everyone. I've been wondering what the "best" types of gaming CPUs would be, and I would like to know what it takes to make an idealized gaming-oriented processor.

Suppose I had a fabless semiconductor company, and I was contracted to design the CPU for a new game console. The GPU was already determined to be something relatively powerful, like a die-shrunk Radeon HD 6870. The goal is to make the chip as small and cheap as possible, but will never bottleneck the graphics processor.

What sort of difference does a processor's ISA make? Suppose I had licenses for MIPS, ARM, SPARC, and other risc-based architectures. Is the ISA really that important, or just the micro-architectural "plumbing" underneath?

What types of instructions do modern video games make the most use of? Do games find integer performance most important, floating point performance, or both? If floating-point calculations can be offloaded to the GPU, can the CPU's floating-point units be excised to make the chip smaller and cheaper, or would that harm system performance? If FP power is still important, would adding complex 256- or even 512-bit units be beneficial to total system performance, or just a waste of space?

How important is cache size? Intel's SNB i5, i7, and SNB-E i7 processors have 1.5, 2.0, and 2.5 MiB of L3 cache per core, but looking at benchmarks from Anandtech and other places, there doesn't seem to be too much difference. At least, not enough difference to justify the added space and expense. How much cache per core is "enough"?

As for the core count itself, would it be best to make a quad-core chip and call it a day? I know most game engines today simply do not scale past four cores, and simultaneous multithreading is pretty much useless for games. But, since consoles are expected to last around 5 years, would making a 6- or 8-core CPU prove beneficial in the future, so long as the chip stayed within the client's budget?

I know this is just a lot of speculation, but I'm just curious what makes games tick.

what kind of game and what technique do you prefer for the game?

if you use raytracing over openCL and bulledphysik over openCL you are fine with many tiny cores.

Comment

The idea is to get the best possible performance out of existing, non-halo hardware. Hardware rasterization is still the best way to get very good graphics @ 60 frames per second. Whether using Direct3D, OpenGL, or an API much closer to the silicon, rasterization is still the way to go.

if you use raytracing over openCL and bulledphysik over openCL you are fine with many tiny cores.

While I've been very impressed with GPU-accelerated ray tracing and path tracing so far, these rendering algorithms are still much to slow to be useful in a gaming system without large sacrifices in image quality or making a prohibitively expensive system. I'm rather skeptical of regular CPU-based tracing ever being viable for real-time rendering; if it has dozens or hundreds of cores, it would have to be humongous.

Um... what? The CPU doesn't need exotic memory or memory controllers. SandyBridge-E has a quad-channel (256-bit) memory controller, and it offers no tangible benefit to gaming compared to a dual-channel controller. CAS-7 DDR3 memory @ 1600 MHz is more than adequate. GDDR5 and XDR2 are optimized for GPU usage, and no telling how expensive the latter is.

in other words: the amd hd7970 is a good gaming cpu if you use raytracing and openCL.

Um... what? the Radeon HD is a Graphics Processing Unit, not a Central Processing Unit. GPUs are incapable of commanding the entire system. They're designed for high-speed rasterizing and math-heavy computing, not general-purpose processing.

anyway why people still buy normal CPUs? only because the games are using obsolete technique and they are bad designed.

Um... what? Modern games don't need super-expensive CPUs anymore. Nearly all modern games are GPU-bound when played at 1920x1080 and above. A Core i5-2500K costs $200-$225, and its the most expensive CPU you'd ever need for gaming for the next several years.

Q, what on earth do you mean, when you claim that games are "using obsolete technique" and "are badly designed"? Do you have some divine insight as to how a video game should be programmed that other developers don't? Because developers code their games to work most efficiently on the hardware their expected to run.

Q, I think you missed the entire point of this exercise. The graphics processor (GPU) is already assumed to be of modern architecture and fairly high performance, and everything you've mentioned has to to with GPU features. What I'm concerned with is what the central processor (CPU) is left doing while the GPU is busy pushing polygons into pixels, and focus the CPU design around just those functions. Again, the goal is to make the CPU chip as small and cheap as possible without ever bottlenecking the GPU -- the two need to work in synergy.

Comment

The idea is to get the best possible performance out of existing, non-halo hardware. Hardware rasterization is still the best way to get very good graphics @ 60 frames per second. Whether using Direct3D, OpenGL, or an API much closer to the silicon, rasterization is still the way to go.

While I've been very impressed with GPU-accelerated ray tracing and path tracing so far, these rendering algorithms are still much to slow to be useful in a gaming system without large sacrifices in image quality or making a prohibitively expensive system. I'm rather skeptical of regular CPU-based tracing ever being viable for real-time rendering; if it has dozens or hundreds of cores, it would have to be humongous.

Um... what? The CPU doesn't need exotic memory or memory controllers. SandyBridge-E has a quad-channel (256-bit) memory controller, and it offers no tangible benefit to gaming compared to a dual-channel controller. CAS-7 DDR3 memory @ 1600 MHz is more than adequate. GDDR5 and XDR2 are optimized for GPU usage, and no telling how expensive the latter is.

Um... what? the Radeon HD is a Graphics Processing Unit, not a Central Processing Unit. GPUs are incapable of commanding the entire system. They're designed for high-speed rasterizing and math-heavy computing, not general-purpose processing.

Um... what? Modern games don't need super-expensive CPUs anymore. Nearly all modern games are GPU-bound when played at 1920x1080 and above. A Core i5-2500K costs $200-$225, and its the most expensive CPU you'd ever need for gaming for the next several years.

Q, what on earth do you mean, when you claim that games are "using obsolete technique" and "are badly designed"? Do you have some divine insight as to how a video game should be programmed that other developers don't? Because developers code their games to work most efficiently on the hardware their expected to run.

Q, I think you missed the entire point of this exercise. The graphics processor (GPU) is already assumed to be of modern architecture and fairly high performance, and everything you've mentioned has to to with GPU features. What I'm concerned with is what the central processor (CPU) is left doing while the GPU is busy pushing polygons into pixels, and focus the CPU design around just those functions. Again, the goal is to make the CPU chip as small and cheap as possible without ever bottlenecking the GPU -- the two need to work in synergy.

hey you just don't get my point.

example for obsolete technique:
ArmA2 for example why do you need such a fast cpu for this game? only because of: (singlecore)directX9 and (singlecore)skripting

example for badly designed:
OK next one ARMA3 why ARMA 3 need a fast CPU ? because they use nvidia physX this means if you buy a AMD card you need a strong CPU to calculate the physik

OpenGL is the same its "Sinlecore" for the "CPU"

DirectX11 is the first to make more multicore but its not really multicore its more like quatcore support

raytracing over OpenCL is multicore this means unlimited cores!

i just show you the truth about BAD sotfware design in shitty games!

ok now you want a system vor bad designed shitty software

ok buy the fastest intel cpu because all shitty games are only compiled with intel compiler means its only tuned for intel and buy the fastest nvidia gpu because the games are only tuned for shitty nvidia card with the Fake PhysX NAZI technique to hurt amd.

and hey you are wrong about "Hardware rasterization" the overheat in rasterization is OVERKILL raytracing need less calculation power in complex high detailed "Games"

Comment

yes, they usable for that ofc. there is for example the aurana ray tracing / brigade patch tracing engine by jbikker. that can run on the most new gpu's around 20 fps in real time. its probably the fastest ray tracer technology at the moment. but its still very fugly in some situations, the gpu under it still not a ray tracer - just a shoddy rasterizer. if you move the camera, you can see. if nvidia would create a new gpu from scratch with native ray tracing pipeline, those scene's from jbikker site would easilly run above 400 fps.

Comment

yes, they usable for that ofc. there is for example the aurana ray tracing / brigade patch tracing engine by jbikker. that can run on the most new gpu's around 20 fps in real time. its probably the fastest ray tracer technology at the moment. but its still very fugly in some situations, the gpu under it still not a ray tracer - just a shoddy rasterizer. if you move the camera, you can see. if nvidia would create a new gpu from scratch with native ray tracing pipeline, those scene's from jbikker site would easilly run above 400 fps.

this is not the question... the question is: is the gpu faster than the cpu? and the answer is: yes!

this means its hopeless to get ray tracing over the CPU.

also the GPU is cheaper per rendered RAY a 500€ gpu is much more powerfull than a 500€ cpu.

also you are wrong at the FPS because ray tracing engines never make FPS!