I'm quoting out of context as they were discussing the design of the Inferno VM but Phil Winterbottom & Rob Pike mention in http://www.vitanuova.com/inferno/papers/hotchips.html :

"One might argue that a stack-based processor design would mitigate the difficulties, but our experience with the implementation of a stack machine in the AT&T Crisp microprocessor [5] leads us to believe that stack architectures are inherently slower than register-based machines. Their design lengthens the critical path by replacing simple registers with a complex stack cache mechanism."

5. Ditzel, D. R. and McLellan, R., ``Register Allocation for Free: The C Machine Stack Cache'', Proc. of Symp. on Architectural Support for Programming Languages and Operating Systems, March, 1982, pp. 48-56.

I found the paper at http://portal.acm.org/citation.cfm?id=960120.801825
but you have to have a paid account so I have no idea of their conclusions beyond Rob & Phil's comment It is a widely cited paper though, so it must be a good read. (and I did find loads of other great stuff while trying to find it)

The Crisp sounds like something interesting, anyone know much about it?

I found this again at acm
Design tradeoffs to support the C programming language in the CRISP microprocessor
http://portal.acm.org/citation.cfm?id=36198&coll=portal&dl=ACM

and this at ieee
CRISP: a pipelined 32-bit microprocessor with 13-kbit of cache memory
http://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel5/4/22616/01052813.pdf

seems that information doesn't want to be free today

I've got some time to delve into Fascicle One again and indeed, MMIX
doesn't have any stack at all. When you need stack, you implement it
yourself. Anyone knows of other CPU's using this method for stack
(i.e. no in-built support for stack in memory)? There is stack based
on registers, though.

Reply via email to