Back in 1992/1993, we developed a technique that allows arbitrary MIMD programs to be converted into pure SIMD code. At the time, we viewed it primarily as a novel way to obtain some additional functionality from a SIMD supercomputer -- literally allowing us to program our 16,384 processing element MasPar MP-1 using a shared memory MIMD model while achieving a significant fraction of peak native (distributed memory SIMD) performance. Now, we realize it is actually a fundamentally different model of computation. Von Neuman Architecture places code and data in the same memory system; Harvard Architecture places code and data in separate but similar memory systems; what one might now call "Kentucky Architecture" places data in memory and factors out code, implementing control entirely by selection. The point is that a fully programmable processor can be made very small using this model: small enough to be used anywhere, even to add fully-programmable intelligence to micrometer-scale devices fabricated using nanotechnology.
Kentucky Architecture is really nothing more than fairly conventional SIMD (Single Instruction Multiple Data) hardware combined with compiler technology that efficiently maps MIMD (Multiple Instruction Multiple Data) program states into code that can be efficiently executed by a SIMD machine, right? Thus, we expect some criticism along the lines that Kentucky Architecture is just SIMD... but it isn't. The core concept of Kentucky Architecture is selection; SIMD-style hardware is just one way in which selection can be implemented. In fact, the nanocontroller design we favor, KITE (Kentucky If-Then-Else), isn't a traditional SIMD because the control unit isn't able to function as a uniprocessor and there is VLIW (Very Long Instruction Word) style multi-way branch support. There are many other ways to build parallel hardware using selection, and the Kentucky Architecture model is even effective for analysis of conventional MIMD programs and execution.
We have prepared a one-page white paper ("Thinking Small at the University of Kentucky," PS or PDF) overviewing what we are trying to accomplish; we hope to create a center to coordinate the relevant research on computer engineering systems and micro- and nano-fabrication technologies.
Slides from a nice overview presentation also are available: Big Ideas About Control Of Tiny Devices. This talk was originally given in the University of Kentucky Electrical and Computer Engineering Seminar on September 14, 2007 by Professor Hank Dietz.
On nanocontrollers in particular:
On basic compiler technology for what we now call Kentucky Architecture:
Related work by others: