If you think about it, a 500MHz processor running an emulator of a system that's 93MHz is pretty amazing. I dunno if you were around when the early NES emulators came out, but I had a 133MHz Pentium and it was amazing to me when an NES emulator ran at full speed or faster on it. Emulator theory has advanced greatly since then... but getting decent speed on a processor with only 5x as many clocks as the intended processor is pretty crazy, considering you'd need 1 cycle or more to translate the opcode, one or more to run the operation, cycles wasted to change the processor's mapping of registers to look like the host system, etc. Then again, if I remember correctly, the N64 emulators do a thing called dynamic recompilation (where they basically change the N64 code to x86 on the fly)... I don't actually understand why that's any better than just interpreting it as you go except for in loops where it'd already be interpreted for you the second time around... static recompilation definitely has its benefits though. Maybe we'll see that with a PS2 emu in the future... since computer DVD-ROMs are faster, it can mask the compilation process as "load time" at the start of the game
PS3 specs revealed
Moderator: Moderators
-
SgtBowhack
- Posts: 831
- Joined: Wed Dec 08, 2004 5:16 am
- Location: Chicago, USA
The problem with that logic is that while yes, you're right in saying today's x86 processors are "RISC86" as AMD put it, the RISC part of it is pretty much hidden from the user/programmer. All the user gets is a CISC interface and hopes that the RISC is actually doing something beneficial behind the scenes. You're probably right when you say it helps, but I'm not sure how much it helps.
If you think about it, a 500MHz processor running an emulator of a system that's 93MHz is pretty amazing. I dunno if you were around when the early NES emulators came out, but I had a 133MHz Pentium and it was amazing to me when an NES emulator ran at full speed or faster on it. Emulator theory has advanced greatly since then... but getting decent speed on a processor with only 5x as many clocks as the intended processor is pretty crazy, considering you'd need 1 cycle or more to translate the opcode, one or more to run the operation, cycles wasted to change the processor's mapping of registers to look like the host system, etc. Then again, if I remember correctly, the N64 emulators do a thing called dynamic recompilation (where they basically change the N64 code to x86 on the fly)... I don't actually understand why that's any better than just interpreting it as you go except for in loops where it'd already be interpreted for you the second time around... static recompilation definitely has its benefits though. Maybe we'll see that with a PS2 emu in the future... since computer DVD-ROMs are faster, it can mask the compilation process as "load time" at the start of the game
If you think about it, a 500MHz processor running an emulator of a system that's 93MHz is pretty amazing. I dunno if you were around when the early NES emulators came out, but I had a 133MHz Pentium and it was amazing to me when an NES emulator ran at full speed or faster on it. Emulator theory has advanced greatly since then... but getting decent speed on a processor with only 5x as many clocks as the intended processor is pretty crazy, considering you'd need 1 cycle or more to translate the opcode, one or more to run the operation, cycles wasted to change the processor's mapping of registers to look like the host system, etc. Then again, if I remember correctly, the N64 emulators do a thing called dynamic recompilation (where they basically change the N64 code to x86 on the fly)... I don't actually understand why that's any better than just interpreting it as you go except for in loops where it'd already be interpreted for you the second time around... static recompilation definitely has its benefits though. Maybe we'll see that with a PS2 emu in the future... since computer DVD-ROMs are faster, it can mask the compilation process as "load time" at the start of the game