Hacker News new | ask | show | jobs
by juliangoldsmith 4465 days ago
I disagree. High-speed emulation of the processor would be possible using dynamic recompilation, a la QEmu. Someone would just have to write the code to do it.
2 comments

I disagree. Dynamic recompilation wouldn't help with the fact that x86 just doesn't have an equivalent of SPUs. They can be emulated, but they will be nowhere near as fast as the real thing. You can reliably emulate the PPU but that's about it. I've programmed for the PS3 and the architecture is so different to x86 that any emulation would have to somehow make up for the hardware that doesn't exist in x86. Early games for the PS3 didn't even use the SPUs, or barely used them, running mostly on the PPU, and those games should run fairly decently fairly soon. But latest games like The Last Of Us, where the SPUs have been pushed to the limit? I wouldn't count on that being emulated anytime soon.
It's not "just" a software problem.

The SPU's are a fundamentally different architecture to an x86 been something akin to a graphics card, heavily optimised for a very particular kind of floating point calculations (somewhat similar to SSE but much more task focused).

A more likely approach is to use something like CUDA/OpenCL but again while closer in architecture the SPU's are incredibly optimised for one thing.

I think the best chance for emulating the SPUs would be with an Intel processor equipped with Iris Pro and the shared L4 cache. The latency and memory sharing issues involved with using a dedicated GPU would impose a huge bottleneck and the AMD APUs are just so weak in IPC terms.