The cell matrix began with a philosophical discussion on how far the hardware/software line could be pushed towards the software extreme. The idea of a completely configurable hardware platform led quickly to the fine grained structure of a cell's D-mode behavior. However, the actual configuration mechanism of a cell (its C-mode behavior) derives from a question of how to make a system which can output its own configuration information. In a purely software domain, this is the question of writing a program which prints its own source code. The solution seemed to hinge on a dual representation of characters as either code or data. By extending this construct into hardware, the configuration mechanism of the cell matrix was formed. |
static char p[20][1024] "#include <stdio.h>", "#include <string.h>", "", "main()", "{", " int i,j;", "", " printf(\"static " for (i=0;i<20;i " if (i>0 " printf( " for (j= " if ((p[ " printf( " }", " }", " printf(\"\\\"}; "", " for (i=0;i<20;i++) "}"}; #include <stdio.h> #include <string.h> main() { int i,j; printf("static c for (i=0;i<20;i+ if (i>0) printf(" for (j=0 if ((p[i printf(" } } printf("\"};\n\n for (i=0;i<20;i++) } |