That's fine, as far as it goes, but then it brings up the next question--what sort of registers? Should they hold only PMCs? Should there be multiple types, like most modern CPUs do? (The separate intger and float register sets, for those of you that don't hit the metal) I'm currently thinking a set of integer, float, string, and PMC registers, but... should they be independent? Linked? Should the int & float registers be able to hold both normal and big types? (Or should they be split?)
And, of course, there's always the question of whether this is the right tack to take anyway. Some of the reasons registers are best for hardware don't really apply to software based CPUs (no pipeline, no processing multiple instructions at once, no real performance hit going off-chip), and the reasons for a stack-based software architectures aren't that compelling either. (Simplicity for one--simple is nice, fast is nicer)
Ah, well, something to chew on for perl6-internals, I think.