The Rise of Tiny ThingsPosted: October 18, 2013
When I first started playing around with LuaJIT, one of the earliest thoughts I had was “I think this runtime specifies a new base machine”. I truly believe that we’re now at a point in the CPU performance curve that the core “CPU” can be totally done in software. Cases in point:
Tessel – A new tiny device in development which is meant to run node.js code, on something the size of a microcontroller. The basic specs:
- 180mhz ARM Cortex-M3 LPC1830
- 32mb SDRAM
- 32mb Flash
- TI CC3000 WiFi radio
Then, there’s this interesting bit about [pdf] Lua becoming available in the NetBSD kernel. That’s not quite the same thing as the Tessel, but again, this tiny little bit of runtime is like putting a small machine in place. Now, various device drivers and other stuff might actually be implemented using Lua, and in a kernel space no less!
I mean come on, seriously! Yes, things have reached the level of rediculocity such that a lowly scripting language can be used to emulate an entire CPU! How cools is that. And, yet again, representative of the rise of tiny things.
I am glad to see this happening. If a guy can create an x86 emulator, then he can design his own more specific CPU emulator. The next guy can write the FPGA interface, and suddenly, the strangle hold on processor evolution is broken!!
Or at the very least the world of programming is just becoming curiouser and curioser.