> Brendan, where DO you get this stuff from? I was under the impression that numeric computation was, in general, faster for multiple instructions on a stack oriented machine. I read a large document about FPGA CPU design off of Xilinx's website that discussed at least a part of the process for selecting an architecture Xilinx, incidentally, has a great section of technical resources, provided that you can find them. The series on designing PSMs quite good, if you ask me. http://www.xilinx.com/support/techxclusives/techX-home.htm The document http://www.xilinx.com/support/techxclusives/PSM2-techX26.htm is part of a series on embedded CPU design, and contains this statement: >The stack architecture is probably the most efficient in terms of silicon resources, >as it links directly to memory that is forming the stack and requires no data >selection logic other than the stack pointer. The instruction encoding is also very >efficient because the location of both operands and the result are implied as >being the top of the stack. >However, even more instructions (stack PUSH and stack POP) are expended >to ensure that the correct data is located at the top of the stack. Correct >sequencing of the ALU operations will result in excellent code density and >execution speed, but this "reverse polish" style does not come naturally to most >of us and greatly impacts the desire to utilize a PSM that provides an easy >methodology for implementing complex state machines. At the end of the discussion on which architecture to use, the conclusions were: - The stack architecture is not the best choice, as the methodology is too cumbersome. - The accumulator structure seems reasonable, but expending too many instructions to move data is a concern given limited program memory space. - The register architecture appears to be the best for PSM applications, but it could be expensive. From this, I concluded that a stack orientation was the best in terms of execution speed, code density, and silicon resources, but was complex to use, when programming in assembly, and was therefore not used much. It is entirely possible that I misinterpreted the conclusion statements there, and am entirely off-base. I have found few other comparisons between the various architectures available, but I would be happy to read any that you know of, if you will provide me the links. --Brendan -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics