dont@tekig1.UUCP (Don Taylor) (11/02/84)
X I am looking at the possibility of building a writable microcode machine. One of the languages, of many, that the machine would have features to support might be forth. The question arises as to keeping some of the top of the stack in registers, to increase speed. This will either complicate the daylights out of the microcode, or mean adding nontrivial register addressing hardware to the machine that perhaps no other language would be able to use. (I was considering keeping 8 or maybe 16 words inside the processor). Has anyone got any ideas that would make this easier to do? In addition, would anyone be able to supply me with some benchmark forth stack push and pop histories? By this I mean a statement of what a particular program was meant to do, a listing, and a long stream of 1's (say, for pushes) and 0's (say for pops). If anyone could modify a running system, to log stack usage, it would be very informative and helpful. If, for example, there exist a large number of <push_operand><binary_operator> sequences, or <push_operand><unary_operand> it would show that one or two registers would aid performance. On the other hand, if an overwhelming percentage of the history is a large number of pushes followed by a stream of operators, the fooling around with register overflow is going to be more than it is worth. I am banking on the first behaviour, but I would rather see some data first. Thanks in advance Don Taylor tektronix!tekig1!dont