Jonas Maebe wrote:
Hi,
In the 90s, a professor and a PhD student at our department developed a
simulator for pipelined and microprogrammed architectures (based on the
Hennessy and Patterson DLX architecture), in Delphi. We've used it since
then every year in the lab sessions for our computer architecuture
classes. In 2010, I ported the program to FPC and Lazarus and we use it
compiled for Linux/Qt in a VM nowadays. I did not have any Lazarus
experience when I started that port (and I'm still far from an expert),
but the process still went fairly smooth.
I recently asked for and got permission to publish the source code under
the GPLv3, so here it is: https://github.com/jmaebe/ESCAPE
Jonas, if you're watching I wonder whether I could run one thought past
you (and possibly your colleagues- with apologies in advance if the
obvious answer is buried in the source, which I've not gone deeply into
yet).
For a demo computer built using this sort of thing, it's obviously
trivial to arrange it such that the simulator can load microcode from
persistent storage, and can do something comparable for a boot loader.
What would be the comparable facility for the pipelined variant? Loading
lookup tables to decode opcodes to VLIW, and then clocking those words
through the pipeline?
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
_______________________________________________
fpc-other maillist - fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other