I think the key idea we should be following here is to minimize the complexity of the hardware-software combination for the specific shading operation.
And indeed MISC have been successfull in reducing this complexity for general purpose compting, at least among some "extremists" following the path opened by Forth programming language. I was going through their papers again trying to figure out what could be of interest for this list. Indeed they ended up with very simple integer-only processors, many efficient attempts to implement them in FPGA, very simple compiler heuristics, and very decent performance. Taking advantage of their work brings to me two questions : 1. Is a MISC stack processor an option for us ? That is to say, are the stack-paradigm drawbacks greater than it advantages ? 2. Is a FPU-based stack processor feasible ? In the works I've been looking through, FPU had always been removed for the sake of simplicity, but it doesn't look like this is an option for us. To give a more precise arguments, I would like to point to this MISC vs. RISC vs. CISC discussion and attached proposal : http://ultratechnology.com/mpu21.htm For those who want an idea of why challenging regular designs based on C, tons of registers and caches, I'd like to point to this essay : http://ultratechnology.com/lowfat.htm A whole bunch of processors where designed based on these ideas, including opencore Yoda. See : http://ultratechnology.com/f21.html http://ultratechnology.com/chips.htm This was for the shader block. Building on that I can suggest an idea for an alternative project. I think the FOSS community could take advantage of an overall simplification of the software/hardware combination. Simpler hardware/compilers/softwares means more people having access to them, and less hassle for everybody. What I suggest is to propose to the community an OpenGL enhanced low-fat computer as a graphics board. Designing such a computer-on-a-chip could be possible if we follow the design principles of Forth chips (mpu21 or F21). It would be doing like IBM putting SPU aside the PPC in the Cell µP, instead that we put them aside the GPU. It has an analog I/O coprocessor so that we can do audio. It has an network router coprocessor so that it can be used standalone as a fully-functionnal low-power embedded device, or for grid processing. Stack+MISC processing seems to be what could make this possible, but on the software side one could object that Forth is not their taste. I don't know how well modern functionnal languages could perform on such an architecture, but in the meantime, there are straightforward options to consider like Aha, Joy or Factor. Tree-rewriting concepts borrowed from a language like Aardappel could even be used for "programming by examples" and mask stack manipulations if necessary. Keep going, Robin _______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
