ee9, the GNU Ada emulator of the KDF9 Computer

Back in May I wrote this about the ee9 KDF9 emulator:

As far as cool things go, this one is pretty much near the top. Sure, I have no idea what I’d ever do with a KDF9 emulator, but the fact that someone has gone to the trouble of actually making one and have done so using Ada 2005, is just amazing…

That statement still stands, and no less now that Bill Findlay have updated this marvelous piece of software to version 1.5w. For those of you that didn’t read my short news item from May 2011, here’s a blurb about what ee9 is:

ee9, a KDF9 emulator has been developed with the ultimate objective of being able to run KDF9 object programs under the control of an original operating system. It is also intended as lasting and accessible documentation of the KDF9 architecture. The touchstone of its success has been to run the Whetstone Benchmark on its original platform: the Whetstone Algol programming system for the KDF9. According to the emulator’s virtual CPU time, the run took 421 seconds; Brian Wichmann measured 417 seconds on an actual KDF9 in 1972. The real CPU time used by the emulator on my MacBook Pro was just over 1.6 seconds, so ee9 is about 250 times faster than the original KDF9 hardware. Running the Whetstone Benchmark natively on the MacBook Pro takes less than 400 microseconds! This ratio of over 4000 (for an emulated KDF9 running an interpretive language) to 1 (for native Mac compiled code) reflects a slowdown by a factor of about 64 for Whetstone interpretation by the KDF9 and by a further factor of about 64 for KDF9 emulation on the Intel Mac. Since the Whetstone interpreter was very skilfully programmed in Usercode, this speaks well for the efficiency of ee9, which was written in a wide-spectrum language, and with pedagogical clarity as a more important objective than performance. It is also testament to the quality of GNAT, the magnificent GNU Ada compiler.

I’m not nearly skilled enough in art of Ada programming to understand the kind of effort it takes to produce something like ee9, but I’m guessing it’s no small feat, so colour me impressed!

You can read Bill Findlay’s full release announcment here, and here’s a convenience link to the KDF9 Wikipedia article.

Leave a Reply