Wow, this is fascinating stuff. Just a side question (and please understand I am not a low-level hardware expert, so pardon me if this is a stupid question): does this arch support any sort of speculative execution, and if so do you have any sort of concerns and/or protections in place against the sort of vulnerabilities that seem to come inherent with that?
Right now, PyXL runs fully in-order with no speculative execution.
This is intentional for a couple of reasons:
First, determinism is really important for real-time and embedded systems — avoiding speculative behavior makes timing predictable and eliminates a whole class of side-channel vulnerabilities.
Second, PyXL is still at an early stage — the focus right now is on building a clean, efficient architecture that makes sense structurally, without adding complex optimizations like speculation just for the sake of performance.
In the future, if there's a clear real-world need, limited forms of prediction could be considered — but always very carefully to avoid breaking predictability or simplicity.
You're bringing back memories. I ran WindowMaker on my Sun desktop (Solaris 2.6, I think?), back in the late 90's. I spent days customizing that system, compiling everything from source.
Quake2 with a K6-2 and Voodoo2 was a kickass combo. At some point iD software released the 3DNow! patch for Quake2 which yielded yet another 10 FPS....good times.
Where Quake2 really shined was in multiplayer, especially mods like q2ctf.
Quake2 was released at just the right moment to take advantage of both 3D acceleration and broadband Internet access. Playing a game of q2ctf, in 3D-accelerated 800x600 mode, with 60 ms ping was just fucking amazing.
reply