Re:“Last Mile” Barriers to Removing Legacy BIOS [pdf]
by comex on Sunday November 19, 2017 @06:32AM
(#15733445)
I don’t see how a stack-based architecture avoids the need to think about register sizes. You just get equivalent questions, like - what sizes of integers do you have primitive ops for? do you have separate pop/swap/drop/etc. for every possible size, and if not, what’s the standard size of a stack item?
[ Parent
| on HN ]
Re:“Last Mile” Barriers to Removing Legacy BIOS [pdf]
by wolfgke on Sunday November 19, 2017 @07:33AM
(#15733618)
> I don’t see how a stack-based architecture avoids the need to think about register sizes. You just get equivalent questions, like - what sizes of integers do you have primitive ops for? do you have separate pop/swap/drop/etc. for every possible size, and if not, what’s the standard size of a stack item?
This is correct. But these are still less decisions, e.g.
- no number of registers,
- no reinterpretation of parts of registers,
- SIMD fits the stack-based model rather badly,
- stack-based VM instruction sets are typically of the kind "take two values from top of stack, do something with it and push back" (very inspired by Forth - but I don't know much Forth), see for example for the Java bytecode instructions (https://en.wikipedia.org/wiki/Java_bytecode_instruction_list...) or CIL instructions (https://en.wikipedia.org/wiki/List_of_CIL_instructions and http://download.microsoft.com/download/7/3/3/733ad403-90b2-4...), so no worry about 2-operand vs 3-operand instructions.