This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 10 Vote(s) - 3.7 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Why are you making a PS3 emulator?
#40
(04-25-2014, 01:18 AM)derpf Wrote: It looks like all you're doing is caching the decoded instructions and storing them as function objects or something. At least, that's the only thing I could make out of it. I doubt this would bring any benefit over the amount of memory it uses. Tongue

A JIT, instead, would take a basic block or an entire procedure and recompile it to the target ISA, and then cache that code, so it can simply run that. (And indeed that is a great goal to have -- which rpcs3 will do in the future. Big Grin)

That's an oversimplified example and indeed it lacks at least some arguments to avoid decoding the opcode so it can get the register indexes directly when interpreting an instruction. And you can go further by making super blocks instead of basic blocks. It will be faster than a plain interpreter while it takes more memory. You have also the same principle with JIT where the backend may be an interpreter (for designing and debugging JIT) then new backends are added to produce a block of native instructions to run directly.

Xenia have both backends : an independent architecture similar to what I described above and x64 architecture. The first is mostly to help to design JIT and debug it (there are several passes which tries to optimize the "produced code"). But I was told by Vanik that interpreter backend is faster than what Asmjit produced. For this reason he simply ditched Asmjit and made his own jit + xbyak (x64).


Messages In This Thread
Why are you making a PS3 emulator? - by mushroom - 04-03-2014, 06:30 PM
RE: Why are you making a PS3 emulator? - by derpf - 04-11-2014, 04:34 AM
RE: Why are you making a PS3 emulator? - by derpf - 04-16-2014, 01:47 AM
RE: Why are you making a PS3 emulator? - by derpf - 04-16-2014, 07:19 AM
RE: Why are you making a PS3 emulator? - by Hykem - 04-16-2014, 10:04 PM
RE: Why are you making a PS3 emulator? - by derpf - 04-20-2014, 08:25 AM
RE: Why are you making a PS3 emulator? - by derpf - 04-22-2014, 04:28 AM
RE: Why are you making a PS3 emulator? - by derpf - 04-23-2014, 01:51 AM
RE: Why are you making a PS3 emulator? - by hlide - 04-23-2014, 04:17 PM
RE: Why are you making a PS3 emulator? - by derpf - 04-23-2014, 12:11 PM
RE: Why are you making a PS3 emulator? - by d875j - 04-24-2014, 07:41 AM
RE: Why are you making a PS3 emulator? - by derpf - 04-24-2014, 08:40 AM
RE: Why are you making a PS3 emulator? - by hlide - 04-24-2014, 08:42 PM
RE: Why are you making a PS3 emulator? - by derpf - 04-25-2014, 01:18 AM
RE: Why are you making a PS3 emulator? - by hlide - 04-25-2014, 07:09 PM
RE: Why are you making a PS3 emulator? - by derpf - 04-30-2014, 12:25 AM
RE: Why are you making a PS3 emulator? - by Hykem - 05-01-2014, 03:46 PM
RE: Why are you making a PS3 emulator? - by Hykem - 05-02-2014, 04:33 PM
RE: Why are you making a PS3 emulator? - by derpf - 05-03-2014, 11:35 PM
RE: Why are you making a PS3 emulator? - by Hykem - 05-04-2014, 04:32 PM
RE: Why are you making a PS3 emulator? - by hlide - 05-05-2014, 11:10 PM

Forum Jump:


Users browsing this thread: 2 Guest(s)